IP Library Granted Patent US 8,655,840
Granted Patent B2
US 8,655,840 · App. 12/327,507 · Granted Feb 18, 2014

Method, apparatus and computer program product for sub-file level 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 8,655,840
App. No.
12/327,507
Granted
Feb 18, 2014
Kind
B2
Abstract

An apparatus for providing sub-file level synchronization may include a processor configured to receive an indication of a change to a portion of a file, generate a file identifier in response to the receipt of the indication, the file identifier including a sub-file identification indicative of the portion of the file, and enable synchronization of the portion of the file based on the sub-file identification. A corresponding method and computer program product are also provided.

Claims (50)

1. A method comprising:

receiving an indication of a change to a portion of a file;

generating, at a device capable of storing files, a file identifier in response to the receipt of the indication, the file identifier including an identification of the file as a respective type of file format and a sub-file identification indicative of the portion of the file, wherein generating the file identifier comprises generating the sub-file identification that is based on a format-specific description of structural features of the respective type of file format and that corresponds to the portion of the file having the change; and

enabling synchronization of the portion of the file based on the sub-file identification.

2. The method of claim 1 , wherein enabling synchronization comprises providing the file identifier and providing the portion of the file to a device with which synchronization is to be conducted.

3. The method of claim 1 , further comprising mapping the file identifier to a received file identifier for a content item corresponding to the file, the received file identifier being received from a device with which the synchronization is performed.

4. The method of claim 3 , wherein mapping the file identifier to the received file identifier comprises updating the mapping to include the sub-file identifier as a portion of each of the file identifier and the received file identifier.

5. The method of claim 1 , further comprising determining different portions of the file and generating sub-file identifications for respective ones of the different portions prior to receiving the indication.

6. The method of claim 1 , wherein generating the sub-file identifications further comprises communicating the sub-file identifications to the device with which the synchronization is to be conducted prior to receiving the indication.

7. The method of claim 1 , wherein generating the sub-file identification comprises generating a level based sub-file identification that identifies all structural features of the file that are on a same level.

8. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising:

program code instructions for receiving an indication of a change to a portion of a file;

program code instructions for generating a file identifier in response to the receipt of the indication, the file identifier including an identification of the file as respective type of file format and a sub-file identification indicative of the portion of the file, wherein the program code instructions for generating the file identifier comprise program code instructions for generating the sub-file identification that is based on a format-specific description of structural features of the respective type of file format at and that corresponds to the portion of the file having the change; and

program code instructions for enabling synchronization of the portion of the file based on the sub-file identification.

9. The computer program product of claim 8 , wherein program code instructions for enabling synchronization include instructions for providing the file identifier and providing the portion of the file to a device with which synchronization is to be conducted.

10. The computer program product of claim 8 , wherein program code instructions for generating the file identifier include instructions for generating the sub-file identification based on structural features corresponding to the portion of the file having the change.

11. The computer program product of claim 8 , further comprising program code instructions for mapping the file identifier to a received file identifier for a content item corresponding to the file, the received file identifier being received from a device with which the synchronization is performed.

12. The computer program product of claim 11 , wherein program code instructions for mapping the file identifier to the received file identifier include instructions for updating the mapping to include the sub-file identifier as a portion of each of the file identifier and the received file identifier.

13. The computer program product of claim 8 , further comprising program code instructions for determining different portions of the file and generating sub file identifications for respective ones of the different portions prior to receiving the indication.

14. The computer program product of claim 8 , wherein program code instructions for generating the sub-file identifications include instructions for communicating the sub-file identifications to the device with which the synchronization is to be conducted prior to receiving the indication.

15. The computer program product of claim 8 , wherein the program code instructions for generating the sub-file identification comprises program code instructions for generating a level based sub-file identification that identifies all structural features of the file that are on a same level.

16. An apparatus comprising a processor and a memory storing computer program code, wherein the memory and stored computer program code are configured, with the processor, to cause the apparatus to:

receive an indication of a change to a portion of a file;

generate a file identifier in response to the receipt of the indication, the file identifier including an identification of the file as a respective type of file format and a sub-file identification indicative of the portion of the file, wherein generation of the file identifier comprises generation of the sub-file identification that is based on a format-specific description of structural features of the respective type of file format and that corresponds to the portion of the file having the change; and

enable synchronization of the portion of the file based on the sub-file identification.

17. The apparatus of claim 16 , wherein the processor is configured to enable synchronization by providing the file identifier and providing the portion of the file to a device with which synchronization is to be conducted.

18. The apparatus of claim 16 , wherein the processor is configured to generate the file identifier by generating the sub-file identification based on structural features corresponding to the portion of the file having the change.

19. The apparatus of claim 16 , wherein the processor is further configured to map the file identifier to a received file identifier for a content item corresponding to the file, the received file identifier being received from a device with which the synchronization is performed.

20. The apparatus of claim 19 , wherein the processor is configured to map the file identifier to the received file identifier by updating the mapping to include the sub-file identifier as a portion of each of the file identifier and the received file identifier.

21. The apparatus of claim 16 , wherein the processor is further configured to determine different portions of the file and generate sub file identifications for respective ones of the different portions prior to receiving the indication.

22. The apparatus of claim 16 , wherein the processor is configured to generate the sub-file identifications and further communicate the sub-file identifications to the device with which the synchronization is to be conducted prior to receiving the indication.

23. The apparatus of claim 16 , wherein the memory and the stored computer program code are further configured, with the processor, to cause the apparatus to generate the sub-file identification by generating a level based sub-file identification that identifies all structural features of the file that are on a same level.

24. A method comprising:

receiving a file identifier including an identification of the file of a respective type of file format and a sub-file identification indicative of a portion of a file changed at another device, the file changed at the other device corresponding to a locally stored file, wherein receiving the file identifier comprises receiving the sub-file identification that is based on a format-specific description of structural features of the respective type of file format and that corresponds to the portion of the file having the change;

receiving the portion of the file changed at the other device; and

enabling synchronization, at a device capable of storing files, of the locally stored file based on the received portion of the file changed.

25. The method of claim 24 , further comprising mapping a local file identifier of the local version of the file to the received file identifier.

26. The method of claim 24 , wherein receiving the sub-file identification comprises receiving a level based sub-file identification that identifies all structural features of the file that are on a same level.

27. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising:

program code instructions for receiving a file identifier including an identification of the file of a respective type of file format and a sub-file identification indicative of a portion of a file changed at another device, the file changed at the other device corresponding to a locally stored file, wherein the program code instructions for receiving the file identifier comprise program code instructions for receiving the sub-file identification that is based on a format-specific description of structural features of the respective type of file format and that corresponds to the portion of the file having the change;

program code instructions for receiving the portion of the file changed at the other device; and

program code instructions for enabling synchronization of the locally stored file based on the received portion of the file changed.

28. The computer program product of claim 27 , further comprising program code instructions for mapping a local file identifier of the local version of the file to the received file identifier.

29. The computer program product of claim 27 , wherein the program code instructions for receiving the sub-file identification comprises program code instructions for receiving a level based sub-file identification that identifies all structural features of the file that are on a same level.

30. An apparatus comprising a processor and a memory storing computer program code, wherein the memory and stored computer program code are configured, with the processor, to cause the apparatus to:

receive a file identifier including an identification of the file of a respective type of file format and a sub-file identification indicative of a portion of a file changed at another device, the file changed at the other device corresponding to a locally stored file, wherein receipt of the file identifier comprises receipt of the sub-file identification that is based on a format-specific description of structural features of the respective type of file format and that corresponds to the portion of the file having the change;

receive the portion of the file changed at the other device; and

enable synchronization of the locally stored file based on the received portion of the file changed.

31. The apparatus of claim 30 , wherein the processor is further configured to map a local file identifier of the local version of the file to the received file identifier.

32. The apparatus of claim 30 , wherein the memory and the stored computer program code are further configured, with the processor, to cause the apparatus to receive the sub-file identification by receiving a level based sub-file identification that identifies all structural features of the file that are on a same level.

Assignments (12)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035496/0619 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2008
From: SIMELIUS, KIM KRISTIAN
To: NOKIA CORPORATION
Reel/Frame 021926/0740 →