IP Library Granted Patent US 9,753,848
Granted Patent B2
US 9,753,848 · App. 14/079,162 · Granted Sep 5, 2017

Apparatus for managing a plurality of root nodes for file systems

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,753,848
App. No.
14/079,162
Granted
Sep 5, 2017
Kind
B2
Abstract

Apparatus for managing a plurality of root nodes may include a file server coupled to a storage device, wherein a first root node is operable to identify a previous version of an object of a file system and to relate to a plurality of data blocks forming a portion of the object, a second root node is operable to identify a current version of the object and to relate to a data block of the plurality of data blocks and a new data block of the object, and the storage device is operable to store the plurality of data blocks and the new data block. Apparatus for managing a plurality of root nodes alternatively may include a file system board operable to manage a plurality of root nodes, a first root node being operable to identify the a previous version of a file system and to relate to a plurality of data blocks of the file system, and a second root node being operable to identify the a current version of the file system and to relate to a data block of the plurality of data blocks and a new data block of the file system.

Claims (63)

1. An apparatus comprising:

a storage device; and

a file server being coupled to the storage device and operable to manage a file system including a plurality of file system objects and, for each file system object of the file system, a plurality of root nodes, wherein, for a respective file system object of the file system, a first root node is operable to identify a previous version of the respective file system object of the file system and to relate to a first direct node that points to a first data block of a first plurality of data blocks stored on the storage device and forming a portion of the respective file system object, and a second root node is operable to identify a current version of the respective file system object and to relate to the first direct node that points to the first data block of the first plurality of data blocks and a second direct node that points to a new data block of the respective file system object, the new data block being stored on the storage device.

2. The apparatus according to the claim 1 wherein:

the new data block of the respective file system object is written to an area of the storage device as a modified copy of another data block of the first plurality of data blocks after creating the another data block of the first plurality of data blocks.

3. The apparatus according to the claim 1 wherein:

the first data block of the first plurality of data blocks is created, prior to creating the new data block as a modified copy of another data block of the first plurality of data blocks.

4. The apparatus according to the claim 1 wherein:

the second root node is operable to relate to plural data blocks of the first plurality of data blocks and the new data block of the respective file system object.

5. The apparatus according to the claim 1 wherein:

the first root node has a pointer for relating to the first plurality of data blocks, and

the second root node has a pointer for relating to the first data block of the first plurality of data blocks and the new data block of the respective file system object.

6. The apparatus according to the claim 1 wherein:

the first root node relates to a first plurality of pointers for pointing to the first plurality of data blocks via an indirect node or a direct node, and

the second root node relates to a second plurality of pointers for pointing to the first data block of the first plurality of data blocks and the new data block of the respective file system object via an indirect node or a direct node.

7. The apparatus according to the claim 1 wherein:

the first root node relates to the first plurality of data blocks via a node or without the node, and

the second root node relates to the first data block of the first plurality of data blocks and the new data block of the respective file system object via a node or without the node.

8. The apparatus according to the claim 1 wherein:

the first root node relates to the first plurality of data blocks via an indirect node or a direct node or without the indirect node or the direct node, and

the second root node relates to the first data block of the first plurality of data blocks and the new data block of the respective file system object via an indirect node or a direct node or without the indirect node or the direct node.

9. The apparatus according to the claim 1 wherein:

the first root node has a previous checkpoint, and the second root node has a current checkpoint which is different from the previous checkpoint.

10. The apparatus according to the claim 1 wherein:

the file server is operable to manage setting a checkpoint to the first root node, and to manage setting another checkpoint to the second root node.

11. The apparatus according to the claim 1 wherein:

the file server is operable to manage taking a checkpoint for the first root node, and to manage taking another checkpoint for the second root node.

12. The apparatus according to the claim 1 wherein:

the file server is operable to manage taking a checkpoint for the first root node, and to manage taking another checkpoint for the second root node, and

the new data block of the respective file system object is created after taking the current checkpoint.

13. The apparatus according to the claim 1 wherein:

the file server is operable to manage taking a checkpoint for the first root node, and to manage taking another checkpoint for the second root node, and

the first data block of the first plurality of data blocks is created prior to taking the current checkpoint.

14. A file server to be coupled to a storage device and being operable to manage a file system including a plurality of file system objects, the file server comprising:

a file system board being operable to manage, for each file system object of the file system, a plurality of root nodes, wherein, for a respective file system object of the file system, a first root node is operable to identify a previous version of the respective file system object and to relate to a first direct node that points to a first data block of a first plurality of data blocks stored on the storage device and forming a portion of the respective file system object, and a second root node is operable to identify a current version of the respective file system object and to relate to the first direct node that points to the first data block of the first plurality of data blocks and a second direct node that points to a new data block of the respective file system object, the new data block being stored on the storage device.

15. The file server according to the claim 14 wherein:

the new data block of the respective file system object is written to an area of a storage device as a modified copy of another data block of the first plurality of data blocks after creating the another data block of the first plurality of data blocks.

16. The file server according to the claim 14 wherein:

the first data block of the first plurality of data blocks is created, prior to creating the new data block as a modified copy of another data block of the first plurality of data blocks.

17. The file server according to the claim 14 wherein:

the second root node is operable to relate to plural data blocks of the first plurality of data blocks and the new data block of the respective file system object.

18. The file server according to the claim 14 wherein:

the first root node has a pointer for relating to the first plurality of data blocks, and the second root node has a pointer for relating to the first data block of the first plurality of data blocks and the new data block.

19. The file server according to the claim 14 wherein:

the first root node relates to a first plurality of pointers for pointing to the first plurality of data blocks via an indirect node or a direct node or without the indirect node or the direct node, and

the second root node relates to a second plurality of pointers for pointing to the first data block of the first plurality of data blocks and the new data block via an indirect node or a direct node or without the indirect node or the direct node.

20. The file server according to the claim 14 wherein:

the first root node relates to the first plurality of data blocks via a node or without the node, and

the second root node relates to the first data block of the first plurality of data blocks and the new data block via a node or without the node.

21. The file server according to the claim 14 wherein:

the first root node relates to the first plurality of data blocks via an indirect node or a direct node or without the indirect node or the direct node, and

the second root node relates to the first data block of the first plurality of data blocks and the new data block via an indirect node or a direct node or without the indirect node or the direct node.

22. The file server according to the claim 14 wherein:

the first root node has a previous checkpoint, and the second root node has a current checkpoint which is different from the previous checkpoint.

23. The file server according to the claim 14 wherein: the file system board is operable to manage setting a checkpoint to the first root node, and to manage setting another checkpoint to the second root node.

24. The file server according to the claim 14 wherein:

the file system board is operable to manage taking a checkpoint for the first root node, and to manage taking another checkpoint for the second root node.

25. The file server according to the claim 14 wherein:

the file system board is operable to manage taking a checkpoint for the first root node, and to manage taking another checkpoint for the second root node, and

the new data block of the respective file system object is created after taking the current checkpoint.

26. The file server according to the claim 14 wherein:

the file system board is operable to manage taking a checkpoint for the first root node, and to manage taking another checkpoint for the second root node, and

the first data block of the first plurality of data blocks is created prior to taking the current checkpoint.

Assignments (4)
MERGER Recorded Jan 28, 2020
From: HITACHI VANTARA CORPORATION
To: HITACHI VANTARA LLC
Reel/Frame 051719/0202 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2019
From: HITACHI DATA SYSTEMS ENGINEERING UK LIMITED
To: HITACHI VANTARA CORPORATION
Reel/Frame 048825/0506 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2014
From: BARRALL, GEOFFREY S.; BENHAM, SIMON; WILLIS, TREVOR; ASTON, CHRISTOPHER J.
To: BLUEARC UK LIMITED
Reel/Frame 032052/0266 →
CHANGE OF NAME Recorded Jan 27, 2014
From: BLUEARC UK LIMITED
To: HITACHI DATA SYSTEMS ENGINEERING UK LIMITED
Reel/Frame 032052/0332 →