IP Library Granted Patent US 8,655,929
Granted Patent B2
US 8,655,929 · App. 13/111,123 · Granted Feb 18, 2014

Modification of data within a file

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,929
App. No.
13/111,123
Granted
Feb 18, 2014
Kind
B2
Abstract

Disclosed herein are methods, systems, and computer program products for managing data within a file system. In embodiments, the method includes determining the location of data within a file to be modified, modifying the data within the file, and adjusting a pointer to point to the data block containing the modified data. The data within a file may be modified by deleting data from the file or inserting new data into the file. New data may be inserted into a file by writing the data into new data blocks and then adjusting the pointers to point to the location of the new data blocks. An example method may also include determining whether data blocks are incomplete blocks and identifying the incomplete blocks by negating the value of the pointers to those blocks.

Claims (52)

1. A computer-implemented method for managing data within a file system, the method comprising:

using at least one processor for:

determining the location of data within a file to be modified;

modifying the data within the file such that a data block containing the data is an incomplete block;

adjusting at least one pointer to point to the location of the data block containing the modified data;

negating a value stored of the at least one pointer that points to the location of the incomplete block to identify the data block as an incomplete block;

determining whether the value of the at least one pointer identifies the data block as an incomplete block based on the value of the at least one point; and

managing one of insertion and deletion of data within the file based on whether the value of the at least one pointer identifies the data block as an incomplete block.

2. The method of claim 1 further comprising determining whether one of another data block and the data block is an incomplete block.

3. The method of claim 2 further comprising, in response to determining that one of another data block and the data block is an incomplete block:

determining an amount of data to write to the incomplete block;

writing the amount of data to be written to the incomplete block to a predetermined location in the incomplete block; and

writing the data to the incomplete block.

4. The method of claim 1 further comprising adjusting at least one additional pointer following the at least one pointer that points to the location of the data block containing the modified data.

5. The method of claim 1 wherein modifying the data within the file further comprises writing new data into at least one new data block to insert the new data into the file.

6. The method of claim 5 further comprising adjusting the location of another pointer to point to the location of the at least one new data block.

7. The method of claim 1 wherein modifying the data within the file further comprises deleting data from the file.

8. A system for managing data within a file system, the system comprising:

using at least one processor configured to:

determine the location of data within a file to be modified;

modify the data within the file such that a data block containing the data is an incomplete block;

adjust at least one pointer to point to the location of the data block containing the modified data;

negate a value stored of the at least one pointer that points to the location of the incomplete block to identify the data block as an incomplete block;

determine whether the value of the at least one pointer identifies the data block as an incomplete block based on the value of the at least one point; and

manage one of insertion and deletion of data within the file based on whether the value of the at least one pointer identifies the data block as an incomplete block.

9. The system of claim 8 further configured to determine whether one of another data block and the data block is an incomplete block.

10. The system of claim 9 further configured to, in response to determining that one of another data block and the data block is an incomplete block:

determine an amount of data to write to the incomplete block;

write the amount of data to be written to the incomplete block to a predetermined location in the incomplete block;

write the data to the incomplete block.

11. The system of claim 8 further configured to adjust at least one additional pointer following the at least one pointer that points to the location of the data block containing the modified data.

12. The system of claim 8 further configured to write new data into at least one new data block to insert the new data into the file.

13. The system of claim 12 further configured to adjust the location of another pointer to point to the location of the at least one new data block.

14. The system of claim 8 further configured to delete data from the file.

15. A computer program product for managing data within a file system, said computer program product comprising:

a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:

computer readable program code configured to:

determine the location of data within a file to be modified;

modify the data within the file such that a data block containing the data is an incomplete block;

adjust at least one pointer to point to the location of the data block containing the modified data;

negate a value stored of the at least one pointer that points to the location of the incomplete block to identify the data block as an incomplete block;

determine whether the value of the at least one pointer identifies the data block as an incomplete block based on the value of the at least one point; and

manage one of insertion and deletion of data within the file based on whether the value of the at least one pointer identifies the data block as an incomplete block.

16. The computer program product of claim 15 further configured to:

determine whether one of another data block and the data block is an incomplete block;

determine an amount of data to write to the incomplete block;

write the amount of data to be written to the incomplete block to a predetermined location in the incomplete block;

write the data to the incomplete block.

17. The computer program product of claim 15 further configured to adjust at least one additional pointer following the at least one pointer that points to the location of the data block containing the modified data.

18. The computer program product of claim 15 further configured to write new data into at least one new data block to insert the new data into the file.

19. The computer program product of claim 18 further configured to adjust the location of another pointer to point to the location of the at least one new data block.

20. The computer program product of claim 15 further configured to delete data from the file.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 034194/0291 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2011
From: ADARI, DIVAKAR; HUNASHEEKATTI, SAVITRI; RAMACHANDRAN, ARUN C.; VELUSAMY, LAKSHMANAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026307/0239 →