Ordered list management
AssigneeMicrosoft Corporation
InventorsGeoffrey Ellicott, Brian Guarraci, Aarthi Natarajan, John Vert, Edward Wayt
Life of this patent
Estimating the term…
Abstract
Ordered list management is described. An item's position within an ordered list is represented by a path value. A globally unique identifier (GUID) is appended to the path value to enable simultaneous or near-simultaneous modifications to the ordered list without conflict. Furthermore, an ordered list-specific seed value may be prepended to each item's path value to ensure clustering of ordered list items when two or more ordered lists are merged.
Claims26
A method comprising:
- identifying an item to be placed at a particular position within an ordered list;
- associating a path value with the item such that the path value represents the particular position within the ordered list;
- generating a unique identifier;
- and
- appending the unique identifier to the path value associated with the item.
A method comprising:
- identifying first and second ordered lists to be merged;
- associating path values with each item in each of the ordered lists to be merged such that the path values represent each item's relative position in either the first or second ordered list;
- associating a first seed value with the first ordered list by prepending the first seed value to the beginning of the path values associated with each item in the first ordered list;
- associating a second seed value with the second ordered list by prepending the second seed value to the beginning of the path values associated with each item in the second ordered list;
- merging the first and second ordered lists;
- and
- determining the order of the items in a merged list based on the path values associated with each of the items, such that the items associated with the first ordered list are clustered within the merged list, and the items associated with the second ordered list are clustered within the merged list.
A method comprising:
- maintaining an ordered list of items comprising item A and item B;
- receiving an indication of a first item to be added to the ordered list between existing items A and B;
- receiving a near-simultaneous indication of a second item to be added to the ordered list between existing items A and B;
- adding the first item to the ordered list between existing items A and B by associating with the first item, a first path value that is greater than a path value associated with existing item A and less than a path value associated with existing item B;
- adding the second item to the ordered list between existing items A and B by associating with the second item, a second path value that is greater than a path value associated with existing item A and less than a path value associated with existing item B;
- and
- determining the order of the first and second items between items A and B based on a comparison of the first path value associated with the first item and the second path value associated with the second value.
A system comprising:
- a processor;
- a memory;
- an application stored in memory and executed on the processor, the application configured to manage an ordered list of items by representing item positions within the ordered list based on each item's relative position to other items within the ordered list;
- and
- an insert algorithm configured to generate a path value that represents a relative position of a particular item within the ordered list, such that two items added simultaneously to the same position within the ordered list are assigned different path values.
One or more computer-readable media comprising computer-readable instructions which, when executed, cause a computer system to:
- associate a path value with an item in an ordered list such that the path value represents the item's position in the ordered list relative to positions of other items in the ordered list;
- and
- append a GUID to the end of the path value to prevent associating identical path values with two items within the ordered list.
Dependencies are inferred from the claim text.