System and method for incremental and reversible data migration and feature deployment
First Claim
1. A method of migrating data items, each of said data items being associated with an identifier, said method comprising the acts of:
- storing an adjustable throttle value;
for a first of said data items, computing a first index value based on an identifier associated with said first data item;
determining that the relationship between said first index value and said throttle value meets predetermined criteria; and
copying said first data item to a data store.
2 Assignments
0 Petitions
Accused Products
Abstract
A data migration throttle that supports the incremental and reversible migration of web site customization data from a client-side data store to a server-side data store. Initially, each user of the web site stores customization data, such as the user'"'"'s zip code, in a cookies file together with a globally unique identifier (GUID) which identifies the user. In order to migrate data to a server side store, the throttle is set to a value. Each time a user contacts the web server a hash of the user'"'"'s GUID is compared with the throttle value, and the user'"'"'s data is migrated to the server if the hash value is less than the throttle value. The throttle may be lowered, thereby causing some users to revert to client-side storage of customization data.
35 Citations
32 Claims
-
1. A method of migrating data items, each of said data items being associated with an identifier, said method comprising the acts of:
-
storing an adjustable throttle value;
for a first of said data items, computing a first index value based on an identifier associated with said first data item;
determining that the relationship between said first index value and said throttle value meets predetermined criteria; and
copying said first data item to a data store. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of converting a web site from client-based storage of information to central storage of information comprising the acts of:
-
selecting a group of users of the web site based on an identifier associated with each user;
copying data from each of the selected user'"'"'s client computing devices to a central storage location; and
providing a web page to each of the selected group of users based on the copied data stored in said central storage location. - View Dependent Claims (9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30)
-
-
15. A method of deploying a new software feature to a plurality of users, said method comprising the acts of:
-
setting a throttle value to a first proportion;
selecting a first group of said plurality of users, the number of users in said first group being in about said first proportion to the number of said plurality of users;
providing said feature to said first group;
increasing said throttle value from said first proportion to a second proportion;
selecting a second group of said plurality of users, the number of users in said second group being in about said second proportion to the number of said plurality of users, wherein all users in said first group are included in said second group; and
providing said feature to said second group.
-
-
26. A system for providing a web site comprising:
-
a first computing device which provides a web page to a plurality of second computing devices, each of said second computing devices being communicatively connected to said first computing device, said first computing device providing a customized version of said web page to each of said second computing devices based on customization information associated with each of said second computing devices, each of said second computing devices storing its respective customization information;
a data store which stores corresponding customization information for at least some of said second computing devices;
a throttle module which selects certain ones of said second computing devices for storage of their respective customization information in said data store; and
a migration module which copies the customization information from the selected ones of said second computing devices to said data store.
-
-
31. A system for migrating web site data comprising:
-
means for storing an operator-adjustable value;
means for selecting a group of users of said web site based on an identifier associated with each of said users and further based on said operator-adjustable value;
means for transferring data from the selected users'"'"' computing devices to a data store;
means for adjusting said operator-adjustable value downward;
means for de-selecting at least some of the selected users in response to the downward adjustment of said user-adjustable value; and
means for rendering a web page based at least in part on data stored on the de-selected users'"'"' computing devices. - View Dependent Claims (32)
-
Specification