IP Library Granted Patent US 8,612,381
Granted Patent B2
US 8,612,381 · App. 12/209,375 · Granted Dec 17, 2013

Enhanced synchronization framework providing improved sync granularity

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,612,381
App. No.
12/209,375
Granted
Dec 17, 2013
Kind
B2
Abstract

A sync manager invokes a scheduled sync task that includes filter attributes for filtering a plurality of memory pages into a subset of memory pages. The sync manager selects file pointers that correspond to a plurality of files and traverses through the files using the selected file pointers. While traversing, the sync manager extracts file attributes for each of the files and, in turn, filters the files by comparing the filter attributes with the extracted file attributes. The sync manager then extracts memory page identifiers that correspond to the filtered files and synchronizes a subset of memory pages using the extracted memory page identifiers.

Claims (66)

1. A machine-implemented method comprising:

invoking a scheduled sync task that includes filter attributes to filter a plurality of memory pages corresponding to a plurality of files into a subset of memory pages;

selecting a plurality of file pointers that correspond to the plurality of files;

traversing through a logical file system using the selected plurality of file pointers, wherein the traversing includes analyzing a plurality of vnode data structures corresponding to the plurality of file pointers and obtaining logical file traversal information;

traversing through a physical file system using the logical file traversal information and extracting file attributes for each of the plurality of files;

filtering the plurality of files by comparing the filter attributes against the extracted file attributes;

extracting memory page identifiers corresponding to the filtered plurality of files, wherein the extracted memory page identifiers identify the subset of memory pages to synchronize; and

synchronizing the subset of memory pages using the extracted memory page identifiers.

2. The method of claim 1 wherein the selection of the plurality of file pointers further comprises:

utilizing an application inclusion filter included in the filter attributes to identify an application;

identifying one or more active processes that correspond to the application;

identifying a user area for each of the identified one or more active processes; and

extracting the selected plurality of file pointers from the identified one or more user areas.

3. The method of claim 1 wherein the filter attributes include a first application file type and exclude a second application file type.

4. The method of claim 1 further comprising:

wherein the traversing of the physical file system includes analyzing a plurality of inode data structures included in the physical file system, the plurality of inode data structures corresponding to the plurality of files; and

during the analysis, extracting segment control blocks from the plurality of inode data structures, wherein the segment control blocks include the memory page identifiers.

5. The method of claim 4 wherein traversing the logical file system further comprises:

analyzing a plurality of gnode data structures.

6. The method of claim 1 wherein the filter attributes are selected from the group consisting of an application inclusion filter, an application exclusion filter, a file size filter, and a last update filter.

7. The method of claim 1 wherein the invoking is based upon a specified start time and a frequency occurrence that correspond to the scheduled sync task.

8. A peripheral device comprising:

one or more processors;

a memory accessible by at least one of the processors;

a nonvolatile storage area accessible by at least one of the processors;

a set of instructions stored in the memory and executed by at least one of the processors in order to perform actions of:

invoking a scheduled sync task that includes filter attributes to filter a plurality of memory pages corresponding to a plurality of files into a subset of memory pages;

selecting a plurality of file pointers that correspond to the plurality of files;

traversing through a logical file system using the selected plurality of file pointers, wherein the traversing includes analyzing a plurality of vnode data structures corresponding to the plurality of file pointers and obtaining logical file traversal information;

traversing through a physical file system using the logical file traversal information and extracting file attributes for each of the plurality of files;

filtering the plurality of files by comparing the filter attributes against the extracted file attributes;

extracting memory page identifiers corresponding to the filtered plurality of files, wherein the extracted memory page identifiers identify the subset of memory pages to synchronize; and

synchronizing the subset of memory pages included in the memory with the non volatile storage area using the extracted memory page identifiers.

9. The peripheral device of claim 8 wherein the set of instructions performs actions of:

utilizing an application inclusion filter included in the filter attributes to identify an application;

identifying one or more active processes that correspond to the application;

identifying a user area for each of the identified one or more active processes; and

extracting the selected plurality of file pointers from the identified one or more user areas.

10. The peripheral device of claim 8 wherein the filter attributes include a first application file type and exclude a second application file type.

11. The peripheral device of claim 8 wherein, during the traversing of the physical file system, the set of instructions further performs actions of:

analyzing a plurality of inode data structures included in the physical file system, the plurality of inode data structures corresponding to the plurality of files; and

during the analysis, extracting segment control blocks from the plurality of inode data structures, wherein the segment control blocks include the memory page identifiers.

12. The peripheral device of claim 11 wherein, during the traversing of the logical file system, the set of instructions further performs actions that include steps of:

analyzing a plurality of gnode data structures.

13. The peripheral device of claim 8 wherein the filter attributes are selected from the group consisting of an application inclusion filter, an application exclusion filter, a file size filter, and a last update filter.

14. A computer program product stored in a tangible computer readable memory, comprising functional descriptive material that, when executed by an information handling system, causes the information handling system to perform actions that include:

invoking a scheduled sync task that includes filter attributes to filter a plurality of memory pages corresponding to a plurality of files into a subset of memory pages;

selecting a plurality of file pointers that correspond to the plurality of files;

traversing through a logical file system using the selected plurality of file pointers, wherein the traversing includes analyzing a plurality of vnode data structures corresponding to the plurality of file pointers and obtaining logical file traversal information;

traversing through a physical file system using the logical file traversal information and extracting file attributes for each of the plurality of files;

filtering the plurality of files by comparing the filter attributes against the extracted file attributes;

extracting memory page identifiers corresponding to the filtered plurality of files, wherein the extracted memory page identifiers identify the subset of memory pages to synchronize; and

synchronizing the subset of memory pages using the extracted memory page identifiers.

15. The computer program product of claim 14 wherein the information handling system further performs actions that include:

utilizing an application inclusion filter included in the filter attributes to identify an application;

identifying one or more active processes that correspond to the application;

identifying a user area for each of the identified one or more active processes; and

extracting the selected plurality of file pointers from the identified one or more user areas.

16. The computer program product of claim 15 wherein the filter attributes include a first application file type and exclude a second application file type.

17. The computer program product of claim 15 wherein, during the traversing of the physical file system, the information handling system further performs actions that include:

analyzing a plurality of inode data structures included in the physical file system, the plurality of inode data structures corresponding to the plurality of files; and

during the analysis, extracting segment control blocks from the plurality of inode data structures, wherein the segment control blocks include the memory page identifiers.

18. The computer program product of claim 17 wherein, during the traversing of the logical file system, the information handling system further performs actions that include steps of:

analyzing a plurality of gnode data structures.

19. The computer program product of claim 15 wherein the filter attributes are selected from the group consisting of an application inclusion filter, an application exclusion filter, a file size filter, and a last update filter.

20. The computer program product of claim 15 wherein the invoking is based upon a specified start time and a frequency occurrence that correspond to the scheduled sync task.

Assignments (2)
CONVEYOR IS ASSIGNING UNDIVIDED 50% INTEREST Recorded Jan 29, 2018
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SERVICENOW, INC.; INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 045179/0825 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2008
From: BOMMA, SHASHIDHAR; HART, BRIAN W
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021524/0814 →