UTILIZING VERSION VECTORS ACROSS SERVER AND CLIENT CHANGES TO DETERMINE DEVICE USAGE BY TYPE, APP, AND TIME OF DAY
First Claim
1. A computer-implemented method of optimizing system performance, the method comprising:
- generating a version vector, the version vector including a plurality of attributes associated with a computing device;
analyzing the attributes from the version vector to determine a usage pattern of a user of the computing device; and
adjusting a configuration of the computing device based on the usage pattern.
4 Assignments
0 Petitions
Accused Products
Abstract
Technology is disclosed for utilizing version vector data of computing devices to optimize performance of the computing devices and/or other computer systems that provide various services to the computing devices (“the technology”). One embodiment includes analyzing version vectors of the computing devices to determining a user'"'"'s usage pattern, such as the type of computing device used, the computer applications used on the computing device, and the time of day of usage. This information about usage pattern and other information that can be determined using the version vectors can enable system optimizations on both individual user level and a group of users level. For example, on the individual user level, knowing user'"'"'s usage pattern may enable automatic file synchronization between multiple devices without user intervention. On the group level, a service provider may allocate resources (servers, bandwidth, etc.) to accommodate the group'"'"'s usage pattern.
-
Citations
20 Claims
-
1. A computer-implemented method of optimizing system performance, the method comprising:
-
generating a version vector, the version vector including a plurality of attributes associated with a computing device; analyzing the attributes from the version vector to determine a usage pattern of a user of the computing device; and adjusting a configuration of the computing device based on the usage pattern. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus comprising:
-
a version vector module for generating a plurality of version vectors corresponding to a plurality of attributes of the apparatus, the attributes including a computing device on which a user accessed particular application, a time of the day the user accessed the computing device or the application, and a location of the computing device at which the user accessed the computing device or the application; a storage system for storing a plurality of data files related to the version vectors; a processor for running an operating system and the version vector module, and analyzing the attributes from the version vectors to determine a usage pattern of a user of the computing device; and an adjusting module for adjusting a configuration of the computing device based on the usage pattern. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A computer-implemented method for synchronizing data between a plurality of computing devices, the method comprising:
-
generating a first version vector, the first version vector corresponding to updates to a file occurred on a first computing device of the computing devices; generating a second version vector, the second version vector corresponding to updates to the file occurred on a second computing device of the computing devices; when the updates corresponding to the first computing device and the updates corresponding to the second computing device occurred concurrently, selecting, by the user, which of the updates are applied to the file in order to synchronize the file on the first and second computing devices; analyzing the first version vector and the second version vector to determine a usage pattern of the user'"'"'s selection of the updates, based on a synchronization attribute, the synchronization attribute including one or more of a computing device on which the update applied to file is selected by the user, a time of the day the update is selected, a location of the computing device when the update is selected; and automatically select an update to the file when synchronization is needed in the future, according to the usage pattern and without the user'"'"'s intervention.
-
Specification