1461179035-ddbdf387-80a1-4878-a852-106c86e3aee1

1. A distributed network storage system including;
a plurality of file storage nodes that are distributed on and communicate peer-to-peer over the network;
a storage coordinator that manages file storage on the plurality of file storage nodes, the storage coordinator designating selected groups of nodes within the plurality of file storage nodes and directing the nodes in a given group to communicate peer-to-peer to replicate associated group files;
a lexical recovery sub-system for directing the file storage nodes to maintain versions of selected files as part of the group files;
the storage coordinator creating different types of storage lockers for files associated with different access policies and providing to the lexical recovery sub-system policies relating to the maintaining of versions of files in the different types of storage lockers;

the lexical recovery sub-system directing the file storage nodes to maintain versions of the files in accordance with the policies provided through the storage coordinator;
the file storage nodes indexing the versions of the files and replicating the index as part of the group files; and
the storage coordinator further directing searches across the group files using the indexes.
2. The distributed network storage system of claim 1 wherein the lexical recovery sub-system further directs the file storage nodes to maintain versions of the files in the storage lockers in accordance with user-specified policy attributes associated with the respective storage lockers.
3. The distributed network storage system of claim 1 wherein the storage co-ordinator manages distributed searches of the files stored in the system by designating a selected node from each group to search through the indexes associated with the respective group files, the storage coordinator accumulating the search results from the selected nodes and providing the results to a requesting node.
4. The distributed network storage system of claim 3 wherein the selected storage nodes search according to a file name or file content and provide listings of current and previous versions of files that meet the search criteria.
5. The distributed network storage system of claim 4 wherein a user at the requesting node selectively restores a previous version of a file in place of a current version of the file by selecting the previous version from the search results.
6. The distributed network storage system of claim 4 wherein a user at the requesting node recovers a file from the replicated group files by selecting the file from the search results.
7. The distributed network storage system of claim 1 wherein the lexical recovery sub-system monitors modifications to files in selected storage lockers and for the respective files that have been modified creates versions of the files for the storage nodes to maintain in the associated storage lockers.
8. The distributed network storage system of claim 7 wherein the lexical recovery sub-system monitors changes to directories of the selected storage lockers and determines which files have been modified, the sub-system creating in the respective directories versions of the files that have been modified.
9. The distributed network storage system of claim 1 wherein the lexical recovery sub-system further includes an administrative console that administers policies set by a system administrator, the administrative console providing to the storage coordinator policies relating to access to the various types of files.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for customizing a data tree hierarchy, the method comprising:
providing, to a plurality of communication devices that are each associated with one or more respective users, access to a data tree hierarchy, the data tree hierarchy adapted to include a plurality of data items, each of the plurality of data items positionable at one of a plurality of hierarchal levels;
receiving input from one or more of the plurality of communication devices to change a position of one or more of the plurality of data items in the data tree hierarchy; and
changing the position of the one or more of the plurality of data items in the data tree hierarchy in response to receiving the input from the one or more of the plurality of communication devices.
2. The method of claim 1, wherein the plurality of hierarchal levels comprises at least a first, parent level and a second, child level; and
wherein receiving the input from, the one or more of the plurality of communication devices to change the position of the one or more of the plurality of data items in the data tree hierarchy comprises receiving the input to move the position of the one or more of the plurality of data items from one of the first level or the second level to the other of the first level or the second level.
3. The method of claim 1, wherein the one or more of the plurality of data items is at a first position within a particular hierarchal level; and
wherein receiving the input from, the one or more of the plurality of communication devices to change the position of the one or more of the plurality of data items in the data tree hierarchy comprises receiving the input to move the one or more of the plurality of data items from the first position to a second position within the particular hierarchal level.
4. The method, of claim 1, wherein the plurality of hierarchal levels comprises at least a first, parent level and a second, child level;
wherein the first level includes one of the plurality of data items, the data item positioned in the first level being a summary data item;
wherein the second level includes a sub-set of the plurality of data items nested under the summary data item; and
wherein the summary data item summarizes at least a portion of the data contained in the sub-set of data items.
5. The method, of claim 4, wherein the summary data item comprises one or more summary fields;
wherein the sub-set of data items in the second level comprises one or more corresponding fields that correspond to the one or more summary fields; and
wherein the one or more summary fields summarize data in the one or more corresponding fields.
6. The method of claim 5, wherein the one or more corresponding fields in the sub-set of data items are adapted to include a value, the method further comprising:
performing a summarizing operation on the values in the one or more corresponding fields in the sub-set of data items to compute one or more summary values for the one or more summary fields.
7. The method of claim 6, further comprising:
receiving input to change one of the values in the one or more corresponding fields in the sub-set of data items; and
updating the one or more summary values in response to receiving the input to change one of the values in the one or more corresponding fields in the sub-set of data items.
8. The method of claim 6, wherein the values in the one or more corresponding fields in the sub-set of data items and the one or more summary values are number values.
9. The method of claim 5, wherein the one or more corresponding fields in the sub-set of data items and the one or more summary fields occupy a same column in the data tree hierarchy.
10. The method of claim 1, further comprising:
setting a permission level for at least one of the respective users, the permission level determining whether the at least one of the respective users is permitted to change at least one of a position or a content of at least a portion of the plurality of data items.
11. The method of claim 10, wherein the permission level for the at least one of the respective users is set such that the at least one of the respective users is permitted to change a position of one or more data items added to the data tree hierarchy by the at least one of the respective users, and such that the at least one of the respective users is prohibited from changing a position of one or more data items added by users other than the at least one of the respective users.
12. The method of claim 1, further comprising:
setting a permission level for one of the plurality of hierarchal levels, the permission level determining an ability for at least one of the respective users to change a content of the one of the plurality of hierarchal levels.
13. The method of claim 1, wherein the method is implemented by a data tree hierarchy manager operable on a server adapted to communicate with the plurality of communication devices; and
wherein the input is receivable from an administrator of the data tree hierarchy manager associated with the server.
14. The method of claim 1, wherein the data tree hierarchy includes a textual discussion of one or more topics by the one or more respective users; and
wherein each of the plurality of data items is from one of the one or more respective users and comprises text associated with the textual discussion.
15. The method of claim 1, wherein each of the plurality of data items occupies a row in the data tree hierarchy.
16. The method of claim 1, wherein the plurality of hierarchal levels comprises at least a first, parent level and a second, child level;
receiving input from the plurality of communication devices to add a plurality of data items to the second level;
determining whether the plurality of data items added to the second level meets or exceeds a predetermined overflow threshold; and
creating an overflow group in the data tree hierarchy and moving at least a portion of the plurality of data items added to the second level to the overflow group in response to determining that the plurality of data items added to the second level meets or exceeds the predetermined overflow threshold.
17. The method of claim 1, further comprising:
displaying a data tree window including the data tree hierarchy on a graphical user interface;
displaying a data tree hierarchy summary window on the graphical user interface, the data tree hierarchy summary window including a summary data tree hierarchy comprising one or more summary data items summarizing the plurality of data items in the data tree hierarchy; and
updating the summary data tree hierarchy in response to a change to the data tree hierarchy.
18. The method of claim 1, wherein the plurality of hierarchal levels are hierarchically nested.
19. The method of claim 1, wherein each of the plurality of data items comprises at least one of a parent field or a child field, the parent field indicating one or more parent data items associated with the data item, the child field indicating one of more child data items associated with the data item.
20. The method of claim 1, wherein the data tree hierarchy comprises one or more fields, each of the one or more fields comprising data to maintain data integrity such that a non-privileged user is permitted to add a field to the data tree.
21. The method of claim 20, wherein updating a child field of a parent data item reorders existing data items and new subitems and missing existing items in the update request are ignored.
22. The method of claim 1, wherein at least a portion of the data items in the data tree hierarchy have multiple tree index fields.
23. The method of claim 22, wherein the multiple tree index comprises a first tree and a second tree, and wherein the first tree and the second tree share a common tree portion.
24. A data, tree hierarchy manager comprising:
a display and interface module to provide, to a plurality of communication devices, access to a data tree hierarchy, the data tree hierarchy adapted to include a plurality of data items, each of the plurality of data items positionable at one of a plurality of hierarchal levels;
a data tree modification module to receive input from the plurality of communication devices to change a position of one or more of the plurality of data items in the data tree hierarchy, the data tree modification module changing the position of the one or more of the plurality of data items in the data tree hierarchy after receiving the input from the plurality of communication devices.
25. The data tree hierarchy manager claim 24, further comprising:
a summary module to summarize data contained in at least a portion of the plurality of data items to form summary data, the display and interface module displaying the summary data in one or more summary data items in the data tree hierarchy.
26. The data tree hierarchy manager claim 24, further comprising:
a permissions manager to set a permission level for at least one of (1) an administrator of the data tree hierarchy manager or (2) a user associated with at least one of the plurality of communication devices, the permission level determining an authority to change at least one of a position or a content of one or more of the plurality of data items.
27. The data tree hierarchy manager claim 24, further comprising:
a search module to receive search criteria from at least one of the plurality of communication devices and identify data in the plurality of data items matching the search criteria, the display and interface module graphically indicating the identified data on a graphical user interface.