IP Library Granted Patent US 9,367,883
Granted Patent B2
US 9,367,883 · App. 13/767,574 · Granted Jun 14, 2016

Shared playlist synchronization

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 9,367,883
App. No.
13/767,574
Granted
Jun 14, 2016
Kind
B2
Abstract

Various embodiments relating to synchronizing changes to a shared list of items between different devices are provided. In one embodiment, a first set of change operations for a first version of a shared list may be received from a first device. The first set of change operations may be performed on the first version of the shared list to produce a second version of the shared list. A second set of change operations for the first version of the shared list may be received from a second device. The second set of change operations may be performed on the second version of the shared list to produce a third version of the shared list that maintains changes that are made by the first set of change operations but that are not made by the second set of change operations.

Claims (37)

1. A method of synchronizing changes to a shared list of items stored at a synchronization service computing machine, the method comprising:

receiving a first set of change operations for a first version of the shared list from a first device;

performing the first set of change operations on the first version of the shared list to produce a second version of the shared list;

receiving a second set of change operations for the first version of the shared list from a second device, the first set of change operations including one or more change operations that are not included in the second set of change operations and the second set of change operations including one or more change operations that are not included in the first set of change operations; and

performing the second set of change operations on the second version of the shared list to produce a third version of the shared list that maintains changes that are made by the first set of change operations.

2. The method of claim 1 , further comprising:

ignoring change operations of the second set of change operations for items that have been deleted from the second version of the shared list.

3. The method of claim 1 , further comprising:

sending the third version of the shared list to the first device and the second device to synchronize the shared list.

4. The method of claim 1 , wherein the first set of change operations or the second set of change operations include one or more of a delete item operation, an add item operation, and a re-order item operation, and the method further comprises:

for each set of change operations, performing delete item operations prior to performing add item operations and re-order item operations, and performing add item operations prior to performing re-order item operations.

5. The method of claim 4 , wherein performing the add item operation includes adding an item to an end of the shared list.

6. The method of claim 4 , wherein performing the re-order item operation on an item of the shared list includes placing the item after a designated item or placing the item before a designated item in the shared list.

7. The method of claim 1 , wherein each change operation of a set of change operations is performed individually.

8. The method of claim 1 , wherein the first set of change operations is performed locally at the first device when the first device is connected to the synchronization service computing machine, the second set of change operations is performed locally at the second device when the second device is not connected to the synchronization service computing machine, and the second set of change operations is received in response to the second device connecting to the synchronization service computing machine, and wherein the first set of change operations and the second set of change operations are performed in an order in which they are received at the synchronization service computing machine.

9. The method of claim 1 , wherein the shared list is a shared playlist and the items are music tracks or music videos.

10. A method of synchronizing a local version of a shared list of items stored at a first device with an online version of the shared list of items stored at a synchronization service computing machine, the method comprising:

performing a first set of change operations on a first version of the shared list to produce a second version of the shared list while the first device is not connected to the synchronization service computing machine;

sending the first set of change operations for the first version of the shared list to the synchronization service computing machine in response to connecting to the synchronization service computing machine; and

receiving a third version of the shared list from the synchronization service computing machine, the third version of the shared list including at least some change operations of the first set of change operations performed by the synchronization service computing machine and at least some change operations of a second set of change operations for the first version of the shared list from a second device performed by the synchronization service computing machine, wherein the at least some change operations of the first set of change operations differ from the at least some change operations of the second set of change operations.

11. The method of claim 10 , wherein the first set of change operations and the second set of change operations are performed in an order in which they are received at the synchronization service computing machine.

12. The method of claim 10 , wherein the third version of the shared list maintains changes that are made by the first set of change operations.

13. The method of claim 10 , wherein the first set of change operations or the second set of change operations include one or more of a delete item operation, an add item operation, and a re-order item operation.

14. The method of claim 10 , wherein the shared list is a shared playlist and the items are music tracks or music videos.

15. A method of synchronizing changes to a shared list of items stored at a synchronization service computing machine, the method comprising:

receiving a first set of change operations for a first version of the shared list from a first device, the first set of change operations being made while the first device is connected to the synchronization service computing machine;

performing the first set of change operations on the first version of the shared list to produce a second version of the shared list;

receiving a second set of change operations for the first version of the shared list from a second device, the second set of change operations being made while the second device is not connected to the synchronization service computing machine, the first set of change operations including one or more change operations that are not included in the second set of change operations and the second set of change operations including one or more change operations that are not included in the first set of change operations; and

performing the second set of change operations on the second version of the shared list to produce a third version of the shared list that maintains changes that are made by the first set of change operations.

16. The method of claim 15 , further comprising:

ignoring change operations of the second set of change operations for items that have been deleted from the second version of the shared list.

17. The method of claim 15 , further comprising:

sending the third version of the shared list to the first device and the second device to synchronize the shared list.

18. The method of claim 15 , wherein the first set of change operations or the second set of change operations include one or more of a delete item operation, an add item operation, and a re-order item operation, and the method further comprises:

for each set of change operations, performing delete item operations prior to performing add item operations and re-order item operations, and performing add item operations prior to performing re-order item operations.

19. The method of claim 18 , wherein performing the add item operation includes adding an item to an end of the shared list, and performing the re-order item operation on an item of the shared list includes placing the item after a designated item or placing the item before a designated item in the shared list.

20. The method of claim 15 , wherein the shared list is a shared playlist and the items are music tracks or music videos.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2013
From: SOKOLOV, BORIS; JOUINI, KARIM; VELEZ, GUILLAUME; NEF, MARIE-AURELIE; CIZERON, EDDY
To: MICROSOFT CORPORATION
Reel/Frame 029820/0796 →