IP Library Granted Patent US 8,538,997
Granted Patent B2
US 8,538,997 · App. 11/112,062 · Granted Sep 17, 2013

Methods and systems for managing data

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,538,997
App. No.
11/112,062
Granted
Sep 17, 2013
Kind
B2
Abstract

Systems and methods for managing data, such as metadata or indexes for index databases. In one exemplary method, different processing priorities are assigned to different indexing tasks based upon the origin of the task. In another exemplary method, indexing tasks are processed in a first mode when a data processing system is in a first power state and indexing tasks are processed in a second mode when the data processing system is in a second power state.

Claims (41)

1. A method, comprising:

receiving, using one or more processing units, a plurality of requests associated with one or more files stored on a storage device, wherein each file is stored at a storage location, wherein each request has a corresponding priority, and wherein each request corresponds to an indexing operation or a metadata operation;

determining, using the one or more processing units, that the storage device is in a low power mode;

determining, using the one or more processing units, a first subset of requests, wherein the priority of each request in the first subset has a high priority;

determining, using the one or more processing units, a second subset of requests, wherein the priority of each request in the second subset has a low priority;

queuing, using the one or more processing units, the first subset of requests in a high priority queue;

queuing, using the one or more processing units, the second subset of requests in a low priority queue;

generating, using the one or more processing units, a sequence of requests in the high priority queue, wherein the sequence is based upon the storage locations of the files associated with the first subset of requests; and

processing, using the one or more processing units, requests in the high priority queue according to the sequence.

2. The method of claim 1 , wherein a high priority request corresponds to a request generated by a creation of a file or a modification to a file, and wherein a low priority request corresponds to a request generated by a background operation or a system scan.

3. The method of claim 1 , wherein generating a sequence includes determining file ownership, and wherein requests associated with files from a same owner are processed together in the sequence.

4. The method of claim 1 , wherein the low power mode corresponds to battery power.

5. The method of claim 1 , wherein requests in the low priority queue are processed after requests in the high priority queue are processed, and wherein the requests in the low priority queue are processed for a predetermined period of time.

6. A system, comprising:

one or more processors;

a non-transitory computer-readable storage medium containing instructions configured to cause the one or more processors to perform operations, including:

receiving a plurality of requests associated with one or more files stored on a storage device, wherein each file is stored at a storage location, wherein each request has a corresponding priority, and wherein each request corresponds to an indexing operation or a metadata operation;

determining that the storage device is in a low power mode;

determining a first subset of requests, wherein the priority of each request in the first subset has a high priority;

determining a second subset of requests, wherein the priority of each request in the second subset has a low priority;

queuing the first subset of requests in a high priority queue;

queuing the second subset of requests in a low priority queue;

generating a sequence of requests in the high priority queue, wherein the sequence is based upon the storage locations of the files associated with the first subset of requests; and

processing requests in the high priority queue according to the sequence.

7. The system of claim 6 , wherein a high priority request corresponds to a request generated by a creation of a file or a modification to a file, and wherein a low priority request corresponds to a request generated by a background operation or a system scan.

8. The system of claim 6 , wherein generating a sequence includes determining file ownership, and wherein requests associated with files from a same owner are processed together in the sequence.

9. The system of claim 6 , wherein the low power mode corresponds to battery power.

10. The system of claim 6 , wherein requests in the low priority queue are processed after requests in the high priority queue are processed, and wherein the requests in the low priority queue are processed for a predetermined period of time.

11. A computer-program product, embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to:

receive a plurality of requests associated with one or more files stored on a storage device, wherein each file is stored at a storage location, wherein each request has a corresponding priority, and wherein each request corresponds to an indexing operation or a metadata operation;

determine that the storage device is in a low power mode;

determine a first subset of requests, wherein the priority of each request in the first subset has a high priority;

determine a second subset of requests, wherein the priority of each request in the second subset has a low priority;

queue the first subset of requests in a high priority queue;

queue the second subset of requests in a low priority queue;

generate a sequence of requests in the high priority queue, wherein the sequence is based upon the storage locations of the files associated with the first subset of requests; and

process requests in the high priority queue according to the sequence.

12. The computer-program product of claim 11 , wherein a high priority request corresponds to a request generated by a creation of a file or a modification to a file, and wherein a low priority request corresponds to a request generated by a background operation or a system scan.

13. The computer-program product of claim 11 , wherein generating a sequence includes determining file ownership, and wherein requests associated with files from a same owner are processed together in the sequence.

14. The computer-program product of claim 11 , wherein the low power mode corresponds to battery power.

15. The computer-program product of claim 11 , wherein requests in the low priority queue are processed after requests in the high priority queue are processed, and wherein the requests in the low priority queue are processed for a predetermined period of time.

Assignments (3)
CHANGE OF NAME Recorded Apr 30, 2007
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 019242/0547 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2005
From: ARROUYE, YAN; GIAMPAOLO, DOMINIC; CAROL, ANDREW
To: APPLE COMPUTER, INC.
Reel/Frame 016635/0930 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2005
From: ARROUYE, YAN; GIAMPAOLO, DOMINIC; CAROL, ANDREW
To: APPLE COMPUTER, INC.
Reel/Frame 016884/0772 →