1460959359-602e0f0a-f5c4-4be6-af8f-8ae6e0fbf207

1. A system for data presentation, comprising:
a processing device;
a sorting component that is operable by the processing device, the sorting component being configured to determine categories relating to one or more data items for display on a display device, wherein the data items are structured within a hierarchical folder structure; and
a cluster component that is operable by the processing device, the cluster component being configured to facilitate grouping the categories according to discretized states, wherein the discretized states are a property which is assigned to each grouped category via the cluster component, to control visible output to the display device, and wherein the discretized states include a packed state that, when assigned, causes grouped data items from multiple different folders in a grouped category to be displayed as one icon that represents the grouped data items in the grouped category to which the packed state is assigned, and an unpacked state that, when assigned, causes each data item in the grouped category to be displayed as one icon that represents the grouped category in a tree display and as individual icons when viewed in a contents display, wherein the grouped data items are displayed as a union with other items from a particular folder of the multiple different folders when viewed in the contents displayed with respect to the particular folder.
2. The system of claim 1, further comprising a user interface for displaying the data items on the display device and a data storage for storing the data items.
3. The system of claim 1, wherein the data items include at least one of a document, a file, a folder, a sub-folder, a presentation file, an image file, an audio file, a result from a query, an archive, or a computer readable code file.
4. The system of claim 2, wherein the user interface includes at least one of a tree display or a tree display and a contents display, wherein the contents display represents items from the tree display.
5. The system of claim 2, wherein the cluster component controls content merging of subordinate and sibling nodes at the user interface.
6. The system of claim 1, wherein the discretized states are persisted on a data storage component.
7. The system of claim 6, wherein the discretized states are associated with properties of a group.
8. The system of claim 7, wherein the properties are associated with metadata relating to an item.
9. The system of claim 1, further comprising a rules component for determining how the data items are to be displayed on the display device.
10. The system of claim 1, further comprising a switch component for selecting between the discretized states.
11. The system of claim 10, further comprising an interface component to enable users to assign states to an item or group.
12. The system of claim 10, wherein the switch component is a flag associated with a collection of data items that indicates whether the collection is packed or unpacked.
13. The system of claim 1, wherein the grouped data items are an overlapping group that includes content from the multiple different folders.
14. The system of claim 13, wherein the overlapping group includes a recycle group or an archive group.
15. The system of claim 13, further comprising an interface configured to present a view of the grouped category that includes at least one group A and at least one group B that shows items in A minus B and a view of subgroup B, which presents data items within an intersection of A and B.
16. The system of claim 1, further comprising an interface to display at least one of a static group or a dynamic group.
17. The system of claim 16, wherein the dynamic group is associated with at least one of an unpacked query or a packed query.
18. The system of claim 1, further comprising a component to predict an initial or default state of a newly created group, wherein the component selects the state automatically, or prompts a user to confirm the automatically selected state.
19. The system of claim 18, wherein the predicting component suggests a packed state for a newly created group when a condition is met, the condition comprising:
a name of a group contains recognizable words;
contents of the group are of low importance; or
a type of the group indicates a compound document rather than a loose collection of items.
20. A system for organizing data at a computerized display, comprising:
one or more processors;
means operable by the one or more processors for determining a state for a subset of data items from multiple folders, wherein data items are organized in a hierarchical directory tree structure;
means operable by the one or more processors for assigning the state as a property to the subset of data items; and
means operable by the one or more processors for displaying each data item in the subset according to the determined state, wherein, when the state is determined to be in a packed state, the displaying means causes the data items in the subset to be displayed as one icon that represents all of the data items in the subset, when viewed from any directory location which contains at least one of the data items in the subset and wherein, when the state is determined to be in an unpacked state the displaying means causes the data items in the subset to be one icon that represents all of the data items in the subset in a tree display and as respective individual icons when viewed in a contents display, the respective individual icons being displayed as a union with other data items of a folder that are determined to be in the unpacked state.
21. The system of claim 20, further comprising means for displaying the subset of data items as an overlapping group.
22. The system of claim 21, further comprising means for controlling the state of the subset of data items.
23. A method for controlling visible output to a display, comprising:
determining a state of a collection of data items from multiple different folders, the state being determined from states comprising a packed state and an unpacked state, wherein the collection of data items are organized in a hierarchical structure;
grouping the data items according to the determined state;
displaying a group of data items as one icon that represents the multiple data items in the group of data items, in the display when the group is viewed from any folder within the hierarchical structure that contains at least one of the data items in the group of data items, when the group of data items is determined to be associated with the packed state;
displaying the group of data items as one icon that represents the multiple data items in the group of data items in a tree view and as individual icons in a contents view that displays the individual icons as a union with other data items from a particular folder of the multiple different folders when viewed in the contents display with respect to the particular folder, when the group of data items is determined to be associated with the unpacked state;
switching the group of data items from being associated with the packed state to the unpacked state or vice versa.
24. The method of claim 23, further comprising associating the state with a property of the group.
25. The method of claim 24, further comprising persisting the property to a storage medium.
26. The method of claim 24, further comprising displaying the group of data items as an overlapping group.

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 of controlling size of a congestion window, comprising:
at a transmitting device:
transmitting a number of data packets over a communication channel from the transmitting device to a receiver;
determining a queuing delay of the transmission, wherein the queuing delay corresponds to the difference of an average round trip time of the data packets and a base round trip time of the data packets;
determining a loss rate of the transmission, wherein the loss rate corresponds to the ratio of a number of data packets lost in the transmission to the number of data packets transmitted;
comparing the queuing delay to a threshold queuing delay;
comparing the loss rate to a threshold loss rate;
in response to a determination that the queuing delay is greater than the threshold queuing delay and the loss rate is less than the threshold loss rate, resetting the size of the congestion window in accordance with a first function of a current size of the congestion window and the queuing delay, wherein at equilibrium the first function generates a value inversely related to an excess queuing delay, which corresponds to the difference between the queuing delay and the threshold queuing delay;
in response to a determination that the queuing delay is less than the threshold queuing delay and the loss rate is greater than the threshold loss rate, resetting the size of the congestion window in accordance with a second function of the current size of the congestion window and the loss rate, wherein at equilibrium the second function generates a value inversely related to an excess loss rate, which corresponds to the difference between the loss rate and the threshold loss rate;
in response to a determination that the queuing delay is greater than the threshold queuing delay and the loss rate is greater than the threshold loss rate, resetting the size of the congestion window in accordance with a third function of the current size of the congestion window, the queuing delay, and the loss rate, wherein at equilibrium the third function generates a value inversely proportional to a weighted sum of the excess queuing delay and excess loss rate.
2. The method of claim 1, wherein the weighted sum is a convex sum.
3. An apparatus for controlling size of a congestion window, the apparatus comprising:
a transceiver to transmit a plurality of packets over a communication channel to a receiver;
one or more processors; and
memory for storing instructions to be executed by the one or more processors, the stored instructions to:
determine a queuing delay of the transmission, wherein the queuing delay corresponds to the difference of an average round trip time of the data packets and a base round trip time of the data packets;
determine a loss rate of the transmission, wherein the loss rate corresponds to the ratio of a number of data packets lost in the transmission to the number of data packets transmitted;
compare the queuing delay to a threshold queuing delay;
compare the loss rate to a threshold loss rate;
in response to a determination that the queuing delay is greater than the threshold queuing delay and the loss rate is less than the threshold loss rate, reset the size of the congestion window in accordance with a first function of a current size of the congestion window and the queuing delay, wherein at equilibrium the first function generates a value inversely related to an excess queuing delay, which corresponds to the difference between the queuing delay and the threshold queuing delay;
in response to a determination that the queuing delay is less than the threshold queuing delay and the loss rate is greater than the threshold loss rate, reset the size of the congestion window in accordance with a second function of the current size of the congestion window and the loss rate, wherein at equilibrium the second function generates a value inversely related to an excess loss rate, which corresponds to the difference between the loss rate and the threshold loss rate;
in response to a determination that the queuing delay is greater than the threshold queuing delay and the loss rate is greater than the threshold loss rate, reset the size of the congestion window in accordance with a third function of the current size of the congestion window, the queuing delay, and the loss rate, wherein at equilibrium the third function generates a value inversely proportional to a weighted sum of the excess queuing delay and excess loss rate.
4. The apparatus of claim 3, wherein the weighted sum is a convex sum.
5. A computer readable storage medium, storing one or more programs for execution by one or more processor of an apparatus that includes a transceiver to transmit packets over a communication channel to a receiver;
wherein the one or more programs are for execution by the one or more processors of the apparatus so as to perform a method comprising:
transmitting a number of data packets over a communication channel from the transmitting device to a receiver;
determining a queuing delay of the transmission, wherein the queuing delay corresponds to the difference of an average round trip time of the data packets and a base round trip time of the data packets;
determining a loss rate of the transmission, wherein the loss rate corresponds to the ratio of a number of data packets lost in the transmission to the number of data packets transmitted;
comparing the queuing delay to a threshold queuing delay;
comparing the loss rate to a threshold loss rate;
in response to a determination that the queuing delay is greater than the threshold queuing delay and the loss rate is less than the threshold loss rate, resetting the size of the congestion window in accordance with a first function of a current size of the congestion window and the queuing delay, wherein at equilibrium the first function generates a value inversely related to an excess queuing delay, which corresponds to the difference between the queuing delay and the threshold queuing delay;
in response to a determination that the queuing delay is less than the threshold queuing delay and the loss rate is greater than the threshold loss rate, resetting the size of the congestion window in accordance with a second function of the current size of the congestion window and the loss rate, wherein at equilibrium the second function generates a value inversely related to an excess loss rate, which corresponds to the difference between the loss rate and the threshold loss rate;
in response to a determination that the queuing delay is greater than the threshold queuing delay and the loss rate is greater than the threshold loss rate, resetting the size of the congestion window in accordance with a third function of the current size of the congestion window, the queuing delay, and the loss rate, wherein at equilibrium the third function generates a value inversely proportional to a weighted sum of the excess queuing delay and excess loss rate.
6. The computer readable storage medium of claim 5, wherein the weighted sum is a convex sum.
7. A method of controlling size of a congestion window, comprising:
at a transmitting device:
transmitting a plurality of data packets over a communication channel from the transmitting device to a receiver;
determining a queuing delay of the transmission, wherein the queuing delay corresponds to the difference of an average round trip time of the data packets and a base round trip time of the data packets;
determining a loss rate of the transmission, wherein the loss rate corresponds to the ratio of a number of data packets lost in the transmission to the number of data packets transmitted;
comparing the queuing delay to a threshold queuing delay;
comparing the loss rate to a threshold loss rate;
determining an excess queuing delay, wherein excess queuing delay corresponds to the difference between the queuing delay and the threshold queuing delay;
determining an excess loss rate, wherein excess loss rate corresponds to the difference between the loss rate and the threshold loss rate;
in response to a determination that the queuing delay is greater than the threshold queuing delay and the loss rate is greater than the threshold loss rate, resetting the size of the congestion window in accordance with a function of the current size of the congestion window, the queuing delay, and the loss rate, wherein at equilibrium the function generates a value inversely proportional to a weighted sum of the excess queuing delay and excess loss rate.
8. The method of claim 7, wherein the weighted sum is a convex sum.
9. An apparatus for controlling size of a congestion window, the apparatus comprising:
a transceiver to transmit a plurality of packets over a communication channel to a receiver;
one or more processors; and
memory for storing instructions to be executed by the one or more processors, the stored instructions to:
transmit a plurality of data packets over a communication channel from the transmitting device to a receiver;
determine a queuing delay of the transmission, wherein the queuing delay corresponds to the difference of an average round trip time of the data packets and a base round trip time of the data packets;
determine a loss rate of the transmission, wherein the loss rate corresponds to the ratio of a number of data packets lost in the transmission to the number of data packets transmitted;
compare the queuing delay to a threshold queuing delay;
compare the loss rate to a threshold loss rate;
determine an excess queuing delay, wherein excess queuing delay corresponds to the difference between the queuing delay and the threshold queuing delay;
determine an excess loss rate, wherein excess loss rate corresponds to the difference between the loss rate and the threshold loss rate;
in response to a determination that the queuing delay is greater than the threshold queuing delay and the loss rate is greater than the threshold loss rate, reset the size of the congestion window in accordance with a function of the current size of the congestion window, the queuing delay, and the loss rate, wherein at equilibrium the function generates a value inversely proportional to a weighted sum of the excess queuing delay and excess loss rate.
10. The apparatus of claim 9, wherein the weighted sum is a convex sum.
11. A computer readable storage medium, storing one or more programs for execution by one or more processor of an apparatus that includes a transceiver to transmit packets over a communication channel to a receiver;
wherein the one or more programs are for execution by the one or more processors of the apparatus so as to perform a method comprising:
transmitting a plurality of data packets over a communication channel from the transmitting device to a receiver;
determining a queuing delay of the transmission, wherein the queuing delay corresponds to the difference of an average round trip time of the data packets and a base round trip time of the data packets;
determining a loss rate of the transmission, wherein the loss rate corresponds to the ratio of a number of data packets lost in the transmission to the number of data packets transmitted;
comparing the queuing delay to a threshold queuing delay;
comparing the loss rate to a threshold loss rate;
determining an excess queuing delay, wherein excess queuing delay corresponds to the difference between the queuing delay and the threshold queuing delay;
determining an excess loss rate, wherein excess loss rate corresponds to the difference between the loss rate and the threshold loss rate;
in response to a determination that the queuing delay is greater than the threshold queuing delay and the loss rate is greater than the threshold loss rate, resetting the size of the congestion window in accordance with a function of the current size of the congestion window, the queuing delay, and the loss rate, wherein at equilibrium the function generates a value inversely proportional to a weighted sum of the excess queuing delay and excess loss rate.
12. The computer readable storage medium of claim 11, wherein the weighted sum is a convex sum.