IP Library Granted Patent US 8,655,926
Granted Patent B2
US 8,655,926 · App. 12/486,168 · Granted Feb 18, 2014

Synchronized distributed media assets

Inventors: Pulin J. Thakkar (Redmond, WA); Praful P. Chavda (Redmond, WA)
Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,655,926
App. No.
12/486,168
Granted
Feb 18, 2014
Kind
B2
Abstract

Synchronized distributed media assets is described. In embodiments, a global media catalog of global metadata is maintained for media assets that are accessible by client devices registered to a user. The global metadata corresponds to the media assets that are located remotely from one or more of the client devices. A client device can communicate a request for a media asset that is identified by the global metadata and located at a location remote from the client device.

Claims (62)

1. A method implemented by a server device, the method comprising:

maintaining a global media catalog of global metadata for media assets that are accessible by client devices that are registered to a user, the global metadata corresponding to one or more instances of the media assets that are located remotely from at least one of the client devices;

registering a client device to the user based on a user identifier associated with the global media catalog, the global media catalog being maintained remotely from the client device;

aggregating, in response to said registering, local metadata for local media assets that are stored on the client device with the global metadata in the global media catalog, said aggregating including omitting from the global metadata in the global media catalog all metadata for a particular media asset that is stored on the client device based on digital rights management information indicating that the particular media asset is not to be performed on another device; and

communicating the global metadata from the global media catalog for receipt by the client devices that are registered to the user, the global metadata from the global media catalog indicating media assets that are requestable by the client device and enabling the client device to initiate a request for a media asset that is identified by the global metadata and stored on a different one of the client devices such that when requested via the client device, the media asset is provided from the different one of the client devices to the client device.

2. The method as recited in claim 1 , further comprising:

receiving an indication of a change to the local metadata for the local media assets that are stored on the client device;

initiating an update to the global media catalog based on the change to the local metadata; and

initiating, responsive to the update to the global media catalog, metadata associated with the change to the local metadata to be communicated for receipt by an additional client device associated with the user identifier and remote from the client device.

3. The method as recited in claim 1 , further comprising:

receiving a request from the client device for the media asset that is identified by the global metadata and located remotely from the client device;

initiating an upload of the media asset to a queue that is maintained remotely from the client device; and

communicating the media asset from the queue that is maintained remotely from the client device for receipt by the client device.

4. The method as recited in claim 3 , further comprising initiating a deletion of the media asset from the queue that is maintained remotely from the client device.

5. The method as recited in claim 1 , further comprising:

receiving a request from the client device for the media asset that is identified by the global metadata and located remotely from the client device;

responsive to a determination that the client device is offline, holding the media asset in a queue that is maintained remotely from the client device; and

responsive to a determination that the client device is online, initiating communication of the media asset for receipt by the client device.

6. The method as recited in claim 1 , further comprising:

receiving a request from the client device for the media asset that is identified by the global metadata and located remotely from the client device; and

transcoding the instance of media asset into a media format that is supported by the client device.

7. The method as recited in claim 1 , further comprising:

receiving an indication of one or more user preferences associated with consumption of the media assets on the client device;

locating global metadata that corresponds to the one or more user preferences; and

causing one or more of the media assets associated with the global metadata that corresponds to the one or more user preferences to be available for consumption by the client device.

8. The method as recited in claim 7 , further comprising streaming the one or more media assets associated with the global metadata that corresponds to the one or more user preferences to the client device.

9. The method as recited in claim 7 , further comprising downloading the one or more media assets associated with the global metadata that corresponds to the one or more user preferences to the client device.

10. A server system, comprising:

at least a memory and a processor configured to manage a global media catalog of global metadata for media assets that are accessible by one or more client devices that are registered to a user, the global metadata corresponding to one or more instances of the media assets that are located remotely from at least one of the one or more client devices;

a global media manager configured to:

register a client device to the user based on a user identifier associated with the global media catalog, the global media catalog being maintained remotely from the client device;

aggregate, in response to registering the client device to the user, local metadata for instances of local media assets that are stored in the client device with the global metadata in the global media catalog, said aggregating including filtering the local metadata to exclude, from the global metadata, all local metadata for particular instances of the local media assets stored in the client device according to digital rights management information indicating that the particular instances of the local media assets are not to be consumed by another device; and

initiate, in response to aggregating the local metadata for the instances of local media assets that are stored in the client device with the global metadata in the global media catalog, communication of the global metadata from the global media catalog to the one or more client devices that are registered to the user, the global metadata in the global media catalog indicating media assets that are requestable by the client device and enabling the client device to initiate a request for a media asset that is identified by the global metadata and stored on a different one of the client devices such that when requested via the client device, the media asset is provided from the different one of the client devices to the client device.

11. The server system as recited in claim 10 , further comprising a global media queue configured to receive the media asset that is identified by the global metadata responsive to the request from the client device for the media asset that is identified by the global metadata.

12. The server system as recited in claim 10 , wherein the global media manager is further configured to:

receive a request from the client device for the media asset that is identified by the global metadata and located remotely from the client device;

communicate the request for the media asset to an additional client device that is associated with the user identifier and located remotely from the client device; and

cause the media asset to be available to the client device.

13. The server system as recited in claim 10 , wherein the global media manager is further configured to:

receive a request from the client device for the media asset that is identified by the global metadata and located remotely from the client device; and

determine if the digital rights management information indicates whether the media asset may be consumed by the client device.

14. The server system as recited in claim 10 , wherein the global media manager is further configured to:

receive a request to register an additional client device that is remote from the client device, the request including the user identifier associated with the global media catalog;

aggregate local metadata for instances of local media assets that are stored in the additional client device with the global metadata in the global media catalog; and

initiate communication of the global metadata from the global media catalog to the additional client device.

15. The server system as recited in claim 10 , wherein the global media manager is further configured to:

receive an indication of one or more user preferences based on media asset consumption on the client device;

determine, based on the global metadata, one or more instances of media assets that correspond to the user preferences; and

cause the one or more instances of the media assets that correspond to the user preferences to be available for consumption by the one or more client devices associated with the user identifier.

16. The server system as recited in claim 10 , wherein the global media manager is further configured to:

receive a request from the client device for the media asset that is identified by the global metadata and located remotely from the client device;

responsive to a determination that the client device is offline, hold the media asset in a global media queue that is maintained by the global media manager; and

responsive to a determination that the client device is online, initiate communication of the media asset from the global media queue for receipt by the client device.

17. One or more computer-readable memories having stored thereon computer-executable instructions that, if executed by a computer device, initiate the computer device to perform operations comprising:

detecting one or more user preferences on a first client device associated with a user identifier;

requesting via the first client device that media assets identified in a global media catalog be located that correspond to the one or more user preferences, the global media catalog being associated with the user identifier and maintained by a resource remote from the first client device, the media assets being identified in the global media catalog by metadata aggregated to the global media catalog, the metadata aggregated to the global media catalog excluding all metadata of a particular media asset that is from another client device associated with the user identifier based on digital rights management information indicating that the particular media asset is not to be performed on the first client device; and

receiving one or more instances of the media assets that are identified in the global media catalog, the one or more instances of the media assets being retrieved from a second client device that is associated with the user identifier and in response to the request from the first client device.

18. One or more computer-readable memories as recited in claim 17 , wherein the operations further comprise:

receiving an indication that an additional client device has requested a media asset that is stored on the first client device; and

initiating that the media asset stored on the first client device be uploaded to a remote resource that is remote to the first client device and to the additional client device, the remote resource configured to initiate that the media asset is available to the additional client device.

19. One or more computer-readable memories as recited in claim 17 , wherein the one or more user preferences are based on one or more genres of the media assets that are consumed on the first client device.

20. One or more computer-readable memories as recited in claim 17 , wherein the metadata for the particular media asset indicates that the particular media asset is only to be performed on the other client device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2009
From: THAKKAR, PULIN J.; CHAVDA, PRAFUL P.
To: MICROSOFT CORPORATION
Reel/Frame 023229/0033 →
Continuity (1)
Related Publication 20100325153A1 · Dec 23, 2010