This invention generally relates to a technology for user-configurable device storage synchronization management.
Due to the advance of digital media technology and decreasing price of storage, users increasingly host digital media collections on their main personal computers. Examples of digital media in such collections include music, pictures, videos, and the like.
However, not all consumption of digital media occurs on a user's main personal computer. More and more, users are in need of transferring all or some of their collection to portable client devices. Examples of a portable client device include Personal Media Players, Personal Digital Assistants (PDAs), and laptops. This way the consumer may enjoy their media away from their main personal computer.
With the advent of high capacity storage on portable client devices, filling these devices with a meaningful subset of a user's digital media collection can be a laborious task. This is especially true when the user's digital media collection is larger than the storage on the device (e.g. 100 GB digital media collection on main computer and 5 GB storage on client device).
Conventionally, the user is left to manually manage this problem. If the collection of digital media on the source device (e.g., main personal computer) exceeds the storage capacity of the target device (e.g., portable client device), the user manually selects which items to include (and/or exclude) in a transfer to the target.
Furthermore, in conventional approaches, the user must remove items from an otherwise full memory of the target device when the user wishes to replace it with a new item from the collection on the source device.
Described herein is a technology for facilitating a user-configurable model for managing synchronization, transfer, or copying of one or more subsets of a collection of digital data items between source and target computing systems.
The same numbers are used throughout the drawings to reference like elements and features.
The following description sets forth techniques that facilitate a user-configurable model for managing synchronization of subsets of digital data collection between source and target computing systems. The techniques may be implemented in many ways, including (but not limited to) program modules, computing systems, dedicated electronics (such as portable multimedia devices), and as part of computer networks.
An exemplary implementation of these techniques may be referred to as an “exemplary target device storage sync manager” and is described below.
Exemplary User-Configurable Target Device Storage Sync Manager
For example, it may be implemented as a target device storage sync manager program module 112 embodied on one or more processor-readable media (such as a computer storage or memory 114). The program module 112 may operate on the source device 110. For example, it may be implemented as part of multimedia software product, an operating system, or a dedicated multimedia appliance.
The exemplary target device storage sync manager provides a user-configurable model for facilitating automatic transfer of a subset of a user's digital collection to the target device 120 from the source device 110. Some items in the digital collection may be more important to the user than others. Examples of digital items in a collection may include audio, video, text, or image files. It may also include static or automated playlist of files (e.g., audio, video, and images) or any grouping of files or data.
The exemplary target device storage sync manager explicitly, implicitly, and/or heuristically assigns digital items in the collection with a transfer priority to indicate their relative importance or desirability to the user. It does this, at least in part, via an easy-to-use user-interface (UI). An example of such a UI is shown at 116 in
The priority may be applied in one action to any grouping of media or data native to a host system or created by a user using the means provided by the host system.
In at least one embodiment, the digital items that matter most to the user are automatically transferred to the target device 120, the items that matter less may be used to dynamically fill the target device, and the items that user never wants on the device will not be transferred there.
The scenario 100 shows a transfer interface 130 between the source device 110 and target device 120. This physical interface may be wired or wireless. Examples of a wired interface include USB, IEEE 1394, IEEE1284 (“parallel” connection), RS-232 Serial connection, and/or Ethernet, Token Ring, and similar networks. Examples of a wireless interface include Bluetooth; Infra-Red (IR); 802.11a, b, or g; GPRS, CDMA, EVDO, EDGE, and other related wireless telephony data-transmission standards. In some implementations, this interface may provide for data transfer over a short distance (e.g., measured in a few feet) or over a long distance (e.g., measured in miles).
From the highest to lowest user-designated priority, items are automatically transferred from the source device 110 to the target device 120 via the interface 130. This transfer occurs until the collection is exhausted or the storage capacity of the target device is consumed. Assuming that the storage capacity of the target device 120 is less than that which would be consumed by the entire digital library, this action stores the most user-desirable digital items from the collection.
The transfer from the source device 110 to the target 120 (and vice versa) may be called “synchronization” (or simply “sync”). As the collection on the source device changes (e.g., items removed, items added, and/or item priority changes), the subset of the collection which is stored on the target device changes with each synchronization. Indeed, if storage space on the target device 120 is limited, items may be removed from the target device during synchronization and replaced with new items from the collection which have higher priority.
Typically, the synchronization process will remove the lowest priority items in bottom-up fashion until sufficient space is cleared to store higher priority items that have not yet been synced with the device.
Although the priority of the items is user-assignable, some embodiments may include pre-formed automatic settings (and/or heuristics) to anticipate a user's expected priority settings. For example, there may be a pre-formed setting to give a higher priority to all items new in the last week than to older items.
In
In
Herein, “digital items” of a digital collection is any type of independently addressable unit of digital data which is typically stored within a computer memory or storage system. Examples of such a “digital item” include (but are not limited to): music, image, video, text documents, hypertext document, documents of any format, applications, spreadsheets, graphics, playlists, and data. A digital item may include a collection of other items.
This section describes two or more examples of embodiments of the exemplary target device storage sync manager. Of course, these are just examples and other embodiments are within the scope of the appended claims.
One embodiment employs a priority model with two or more easily identifiable and explainable tiers of explicit transfer priority exposed to the user. Using a UI of this embodiment, the user explicitly assigns a digital item to one of the multiple priority tiers.
Exemplary Three Tier Model
For example, there may be three transfer priority tiers. These may be called, for example, “High,”, “Low,” or “None.” Alternatively, they may be called, for example, “Always transfer,”, “Transfer if there is space,” or “Never transfer.”
Upper Tier: With this three tier model, the exemplary target device storage sync manager will attempt to always automatically transfer the digital items assigned to the highest priority tier. If all of these items cannot be transferred to the target device, then user will be notified.
The user may, for example, assign an item to this tier by selecting it (e.g., clicking on it) and expressly selecting the highest priority. Alternatively, an item may be implicitly or heuristically selected based upon defined (or pre-defined) settings. For example, recently used items or items on a media playlist may have the highest priority.
Lower Tier: With this three tier model, the exemplary target device storage sync manager will attempt to automatically transfer items designated low priority to the target device only if there is storage space available on the target device after all of the higher tier items have been transferred.
By default, a user's entire digital library may be designated to be in this low priority tier. Alternatively, the user may expressly select items to be in this tier.
Never Tier: With this three tier model, the exemplary target device storage sync manager will never automatically transfer items designated “never” priority to the target device, even if it is part of another collection with a higher priority.
A user may, for example, assign an item to this tier by selecting it (e.g., clicking on it) and expressly selecting the never priority. Alternatively, an item may be implicitly or heuristically selected based upon defined (or pre-defined) settings. For example, items rated less than a defined level may be designated to be part of the never priority tier.
Not shown, but indicated by similar tabs, is a low priority rules tab 220 that contains lists of rules that define low priority digital items and a no priority rules tab 230 that contains lists of rules the define no priority digital items. Using this UI, the user may choose the tier for each digital item in the collection.
Exemplary Two Tier Model
Instead of three, there may be just two transfer priority tiers. These may be called, for example, “Will Fit,” or “Exclude.”
Will Fit Tier: With this two tier model, the exemplary target device storage sync manager will attempt to always automatically transfer the digital items assigned to this tier and transfer all that “will fit” into the available storage space in the target device.
If all of these items in this tier do not fit, then a conflict resolution strategy will be used. The exemplary target device storage sync manager may implement any desirable conflict resolution strategy. Examples of such strategies include sorts, recently added, recently accessed, frequency of access, ratings, random, etc.
A user may, for example, assign an item to this tier by selecting it (e.g., clicking on it) and expressly selecting the “will fit” priority. Alternatively, an item may be implicitly or heuristically selected based upon defined (or pre-defined) settings. For example, recently used items or items on a media playlist may have this priority.
Alternatively, a user's entire digital library may be designated to be in this priority tier by default.
Exclude Tier: With this two tier model, the exemplary target device storage sync manager will never automatically transfer items designated “exclude” priority to the target device, even if it is part of another collection with a higher priority.
A user may, for example, assign an item to this tier by selecting it (e.g., clicking on it) and expressly selecting the never priority. Alternatively, an item may be implicitly or heuristically selected based upon defined (or pre-defined) settings. For example, items rated less than a defined level may be designated to be part of the “exclude” priority tier.
Methodological Implementation
At 410 of
At 412, if the storage requirement of the digital collection on the source device 110 is less than the storage capacity of the target device, then it automatically transfers the entire digital collection to the target device.
Otherwise, at 414, it implicitly or heuristically assigns a transfer priority digital items in a digital collection on the source device 110. That may be accomplished by rules to define a set of digital items to transfer. For example, tab 210 of the UI 200 of
At 416, the exemplary target device storage sync manager provides a user-interface (such as 200 or 300 of
At 418, based on the explicit, implicit, or heuristic priority assignments and/or based upon conflict resolutions strategies for items having otherwise equal priority, the exemplary target device storage sync manager sorts the items in the collection.
At 420, based upon the target device's storage capacity, it designates the highest priority items that collectively will fit within the device's storage capacity for synchronization. Items which are part of the “none,” “never” or “exclude” tier are automatically excluded from those tagged for synchronization.
At 422 of
At 424, the exemplary target device storage sync manager synchronizes highest priority items that collectively will fit within the device's storage capacity. In doing so, it directs the target device to remove any digital item currently stored on the target device but is not tagged for synchronization. It also transfers to the target device any digital item tagged for synchronization, but not already stored on the target.
Although the one or more above-described implementations have been described in language specific to structural features and/or methodological steps, it is to be understood that other implementations may be practiced without the specific features or steps described. Rather, the specific features and steps are disclosed as preferred forms of one or more implementations.