IP Library Granted Patent US 8,886,914
Granted Patent B2
US 8,886,914 · App. 13/034,209 · Granted Nov 11, 2014

Multiplex restore using next relative addressing

Inventor: Ai Huang (Beijing, CN)
Assignee: CA, Inc.
G06F3/0673G06F3/064G06F11/1469G06F3/061G06F11/1435
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,886,914
App. No.
13/034,209
Granted
Nov 11, 2014
Kind
B2
Abstract

According to one embodiment of the present disclosure, a method for multiplex restore using next relative address may be provided. The method may include identifying an address of a first data chunk of a file stored on a storage device. The first data chunk may be read by accessing the storage device at the address of the first data chunk. A next relative address appended to the first data chunk may be identified. The next relative address may indicate a position of a next chunk. The next chunk may comprise a next data chunk of the file or an empty chunk associated with the file. The method may further include reading the next chunk by accessing the storage device at the position indicated by the next relative address.

Claims (71)

1. A method, comprising:

determining whether a delay has occurred in receiving a file being stored on a storage device;

in response to determining that a delay has occurred, writing an empty chunk to the storage device;

identifying an address of a first data chunk of the file stored on the storage device;

reading the first data chunk by accessing the storage device at the address of the first data chunk;

identifying a next relative address appended to the first data chunk, the next relative address indicating a position of a next chunk, the next chunk comprising the empty chunk and information indicative of a position of a further chunk associated with the file; and

reading the next chunk by accessing the storage device at the position indicated by the next relative address.

2. The method of claim 1 , the next relative address indicating a position of the storage device that is relative to the address of the first data chunk.

3. The method of claim 1 , further comprising:

receiving a request indicating one or more files to read from the storage device; and

generating an initial address list comprising an address for each file of the one or more files, each address indicating a position of the storage device where a first data chunk of the respective file is stored.

4. The method of claim 1 , further comprising:

receiving one or more requests, each request indicating corresponding one or more files to read from the storage device; and

generating a chunk position list comprising an address of a data chunk of the corresponding one or more files of each request.

5. The method of claim 1 , the identifying an address of a first data chunk of the file further comprising:

identifying the minimum address of a chunk position list, the chunk position list comprising a plurality of addresses, each address indicating the position of a data chunk of a distinct file of a plurality of files.

6. The method of claim 1 , further comprising:

calculating an address of the next chunk based on the address of the first data chunk and the next relative address; and

inserting the address of the next chunk into a chunk position list that comprises a plurality of chunk addresses, each chunk address indicating a position of a chunk associated with a distinct file of a plurality of files.

7. The method of claim 1 , further comprising:

reading a last chunk of a first file index, the first file index associated with the file;

accessing an index table to identify an address of a first chunk of a second file index, the second file index associated with the file; and

reading the first chunk of the second file index.

8. One or more tangible non-transitory computer-readable media having computer-executable code, when executed by a computer operable to:

determine whether a delay has occurred in receiving a file being stored on a storage device;

in response to determining that a delay has occurred, writing an empty chunk to the storage device;

identify an address of a first data chunk of the file stored on the storage device;

read the first data chunk by accessing the storage device at the address of the first data chunk;

identify a next relative address appended to the first data chunk, the next relative address indicating a position of a next chunk, the next chunk comprising the empty chunk and information indicative of a position of a further chunk associated with the file; and

read the next chunk by accessing the storage device at the position indicated by the next relative address.

9. The media of claim 8 , the next relative address indicating a position of the storage device that is relative to the address of the first data chunk.

10. The media of claim 8 , further operable to:

receive a request indicating one or more files to read from the storage device; and

generate an initial address list comprising an address for each file of the one or more files, each address indicating a position of the storage device where a first data chunk of the respective file is stored.

11. The media of claim 8 , further operable to:

receive one or more requests, each request indicating corresponding one or more files to read from the storage device; and

generate a chunk position list comprising an address of a data chunk of the corresponding one or more files of each request.

12. The media of claim 8 , the identifying an address of a first data chunk of the file further comprising:

identifying the minimum address of a chunk position list, the chunk position list comprising a plurality of addresses, each address indicating the position of a data chunk of a distinct file of a plurality of files.

13. The media of claim 8 , further operable to:

calculate an address of the next chunk based on the address of the first data chunk and the next relative address; and

insert the address of the next chunk into a chunk position list that comprises a plurality of chunk addresses, each chunk address indicating a position of a chunk associated with a distinct file of a plurality of files.

14. The media of claim 8 , further operable to:

read a last chunk of a first file index, the first file index associated with the file;

access an index table to identify an address of a first chunk of a second file index, the second file index associated with the file; and

read the first chunk of the second file index.

15. An apparatus, comprising:

a memory; and

one or more processors coupled to the memory and configured to:

determine whether a delay has occurred in receiving a file being stored on a storage device;

in response to determining that a delay has occurred, writing an empty chunk to the storage device;

identify an address of a first data chunk of the file stored on the storage device;

read the first data chunk by accessing the storage device at the address of the first data chunk;

identify a next relative address appended to the first data chunk, the next relative address indicating a position of a next chunk, the next chunk comprising the empty chunk and information indicative of a position of a further chunk associated with the file; and

read the next chunk by accessing the storage device at the position indicated by the next relative address.

16. The apparatus of claim 15 , the next relative address indicating a position of the storage device that is relative to the address of the first data chunk.

17. The apparatus of claim 15 , the one or more processors further operable to:

receive a request indicating one or more files to read from the storage device; and

generate an initial address list comprising an address for each file of the one or more files, each address indicating a position of the storage device where a first data chunk of the respective file is stored.

18. The apparatus of claim 15 , the one or more processors further operable to:

receive one or more requests, each request indicating corresponding one or more files to read from the storage device; and

generate a chunk position list comprising an address of a data chunk of the corresponding one or more files of each request.

19. The apparatus of claim 15 , the identifying an address of a first data chunk of the file further comprising:

identifying the minimum address of a chunk position list, the chunk position list comprising a plurality of addresses, each address indicating the position of a data chunk of a distinct file of a plurality of files.

20. The apparatus of claim 15 , the one or more processors further operable to:

calculate an address of the next chunk based on the address of the first data chunk and the next relative address; and

insert the address of the next chunk into a chunk position list that comprises a plurality of chunk addresses, each chunk address indicating a position of a chunk associated with a distinct file of a plurality of files.

21. The apparatus of claim 15 , the one or more processors further operable to:

read a last chunk of a first file index, the first file index associated with the file;

access an index table to identify an address of a first chunk of a second file index, the second file index associated with the file; and

read the first chunk of the second file index.

Assignments (2)
MERGER Recorded Jul 11, 2014
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 033296/0968 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2011
From: HUANG, AI
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 025859/0372 →
Continuity (1)
Related Publication 20120221802A1 · Aug 30, 2012