Patent ID: 8290906

Claim:
A method of synchronizing resources shared among a plurality of devices, comprising: determining access information about each of the resources, wherein the access information includes information about a set of actions taken on each of the resources; determining activity for each of the resources on at least a subset of the devices based on the access information, wherein activity for a particular one of the resources is based on a sum of weights associated with the set of actions corresponding to the particular one of the resources and wherein each of the weights is adjusted according to a time that a corresponding action occurred, wherein the activity A(R) for the particular one of the resources is estimated according to the following formula: A â¡ ( R ) = âˆ‘ a âˆˆ Act â¡ ( R ) â¢ â¢ F â¡ ( a ) + W â¡ ( a ) Â· 2 - T â¡ ( sync ) - T â¡ ( a ) H â¡ ( a ) where Act(R) is the set of actions taken on resource R over devices in which R is stored, F(a) is an activity weight associated with action a, W(a) is a weight associated with action a, T(a) is a time that action a occurred, T(sync) is a time at which the data synchronization will occur, and H(a) is a half-life associated with action a; estimating future use of the devices; providing an estimate of a desire to have particular resources on particular devices according to the activity and future use; and synchronizing resources according to the estimate of a desire to have particular resources on particular devices.