IP Library Granted Patent US 9,575,842
Granted Patent B2
US 9,575,842 · App. 13/034,324 · Granted Feb 21, 2017

Multiplex backup using next relative addressing

Inventor: Ai Huang (Beijing, CN)
Assignee: CA, Inc.
G06F11/1448G06F11/1469
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,575,842
App. No.
13/034,324
Granted
Feb 21, 2017
Kind
B2
Abstract

According to one embodiment of the present disclosure, a method for multiplex backup using next relative addresses may be provided. The method may include receiving a first chunk and a second chunk that are each associated with a first file. A next relative address may be appended to the first chunk. The next relative address may indicate a position in a storage device. The first chunk with the next relative address may be written to the storage device at a first address. The method may further include writing the second chunk to the storage device at the position indicated by the next relative address of the first chunk.

Claims (62)

1. A method of comprising:

receiving a first chunk associated with a first file and a second chunk associated with the first file;

appending a next relative address for the second chunk to the first chunk, the next relative address indicating a position in a storage device;

setting a next relative address for the third chunk;

appending the next relative address for the third chunk to the second chunk;

writing the first chunk with the next relative address to the storage device at a first address;

writing the second chunk to the storage device at the position indicated by the next relative address of the first chunk;

placing the second chunk in a chunk queue;

determining that the second chunk is in a top position of the chunk queue and that the chunk queue does not include the third chunk associated with the file; and

in response to determining that the second chunk is in the top position of the chunk queue, placing an empty chunk associated with the third chunk in the chunk queue.

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

3. The method of claim 1 , further comprising:

placing the first chunk and the second chunk in a chunk queue; and

calculating the next relative address for the first chunk based on a position of the second chunk in the chunk queue.

4. The method of claim 1 , further comprising:

decreasing a predetermined chunk size for chunks of the file if an empty chunk associated with the file is placed on a chunk queue.

5. The method of claim 1 , further comprising:

increasing a predetermined chunk size for chunks of the file if a chunk queue includes at least a predetermined number of chunks associated with the file.

6. The method of claim 1 , further comprising:

merging at least two chunks associated with the file into one chunk if the at least two chunks are adjacent in a chunk queue and the chunk queue includes an additional chunk associated with the file.

7. The method of claim 1 , further comprising:

identifying an empty chunk associated with the file in a chunk queue; and

replacing the empty chunk with a data chunk of the file.

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

receive a first chunk associated with a first file and a second chunk associated with the first file;

append a next relative address to the first chunk, the next relative address indicating a position in a storage device;

set a next relative address for the third chunk;

append the next relative address for the third chunk to the second chunk;

write the first chunk with the next relative address to the storage device at a first address;

write the second chunk to the storage device at the position indicated by the next relative address of the first chunk;

place the second chunk in a chunk queue;

determine that the second chunk is in a top position of the chunk queue and the chunk queue does not include the third chunk associated with the file; and

in response to determining that the second chunk is in the top position of the chunk queue, place an empty chunk associated with the third chunk in the chunk queue.

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

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

place the first chunk and the second chunk in a chunk queue; and

calculate the next relative address for the first chunk based on a position of the second chunk in the chunk queue.

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

decrease a predetermined chunk size for chunks of the file if an empty chunk associated with the file is placed on a chunk queue.

12. The media of claim 8 , further configured to:

increase a predetermined chunk size for chunks of the file if a chunk queue includes at least a predetermined number of chunks associated with the file.

13. An apparatus comprising:

a memory; and

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

receive a first chunk associated with a first file and a second chunk associated with the first file;

append a next relative address to the first chunk, the next relative address indicating a position in a storage device;

set a next relative address for the third chunk;

append the next relative address for the third chunk to the second chunk;

write the first chunk with the next relative address to the storage device at a first address:

write the second chunk to the storage device at the position indicated by the next relative address of the first chunk;

the one or more processors further configured to:

place the second chunk in a chunk queue stored in the memory;

determine that the second chunk is in a top position of the chunk queue and that the chunk queue does not include the third chunk associated with the file; and

in response to determining that the second chunk is in the top position of the chunk queue, placing an empty chunk associated with the third chunk in the chunk queue.

14. The apparatus of claim 13 , the next relative address further indicating a position in the storage device that is relative to the first address.

15. The apparatus of claim 13 , the one or more processors further configured to:

place the first chunk and the second chunk in a chunk queue stored in the memory; and

calculate the next relative address for the first chunk based on a position of the second chunk in the chunk queue.

16. The apparatus of claim 13 , the one or more processors further configured to:

decrease a predetermined chunk size for chunks of the file if an empty chunk associated with the file is placed on a chunk queue.

17. The apparatus of claim 13 , the one or more processors further configured to:

increase a predetermined chunk size for chunks of the file if a chunk queue includes at least a predetermined number of chunks associated with the file.

Assignments (2)
MERGER Recorded Nov 4, 2016
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 040226/0079 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2011
From: HUANG, AI
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 025860/0932 →
Continuity (1)
Related Publication 20120221527A1 · Aug 30, 2012