IP Library Granted Patent US 9,720,777
Granted Patent B2
US 9,720,777 · App. 14/059,424 · Granted Aug 1, 2017

Versioned file system using structured data representations

Inventors: Robert S. Mason, Jr. (Uxbridge, MA); Andres Rodriguez (Boston, MA)
Assignee: Nasuni Corporation
G06F11/1446G06F17/3023G06F17/30088
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,720,777
App. No.
14/059,424
Granted
Aug 1, 2017
Kind
B2
Abstract

A versioned file system comprises a set of structured data representations. At a first time, an interface creates and exports to a cloud data store a first structured data representation corresponding to a first version of the local file system. The first structured data representation is an XML tree having a root element, one or more directory elements associated with the root element, and one or more file elements associated with a given directory element. Upon a change within the file system, the interface creates and exports a second structured data representation corresponding to a second version of the file system. The second structured data representation differs from the first structured data representation up to and including the root element of the second structured data representation. The interface continues to generate and export the structured data representations to the data store.

Claims (15)

1. A non-transitory computer-readable medium having stored thereon instructions adapted to be executed by a processor in a computer associated with a local file system to:

transform a first complete copy of the local file system at a first point-in-time to a first XML-based data structure, the first XML-based data structure corresponding to a first version of the local file system, the local file system having an architecture corresponding to a local operating system running on the computer, wherein the first data structure comprises, for at least one file of the local file system, a tree having a root element that includes all the data from one or more inode or inode-equivalent data structures of the local file system describing the file, and a first object that contains at least a portion of the file, and one or more directory elements associated with the root element;

send the first XML-based data structure to a cloud-based storage;

intercept local file system data traffic including at least one change event to the local file system that occurs at a second point-in-time, the second point-in-time occurring after the first point-in-time, wherein the at least one change event includes a modification of the file; and

upon the at least one change event, transform a second complete copy of the local file system at the second point-in-time to a second XML-based data structure, the second XML-based data structure corresponding to a second version of the local file system;

wherein the second XML-based data structure includes pointers to data structures and data objects in the first XML-based data structure that did not change as a result of the at least one change event and at least one new data structure and at least one new data object corresponding to the at least one change event, such that a new version of the file is represented by a first pointer to said first object and a second object, the second XML-based data structure further comprising a new version of the one or more inode or inode-equivalent data structures that describes a relationship between said first and second objects, the first pointer representing an unchanged portion of the file, the second data structure representing the modification of the file.

2. The non-transitory computer-readable medium as described in claim 1 wherein the cloud-based storage is a write-once data store.

3. The non-transitory computer-readable medium as described in claim 1 wherein the instructions are adapted to be executed by the processor to apply a data transformation to at least one of the first and second XML-based data structures prior to sending to the cloud-based storage, wherein the data transformation is one of: encryption, compression and duplicate elimination.

4. The non-transitory computer-readable medium as described in claim 1 wherein the second structured data representation differs from the first structured data representation up to and including the root element of the second structured data representation.

5. The non-transitory computer-readable medium as described in claim 1 wherein the instructions are adapted to be executed by the processor to:

retrieve from the cloud-based storage the second XML-based data structure; and

transform the second XML-based data structure back to the second version of the local file system.

6. The non-transitory computer-readable medium as described in claim 5 wherein the instructions are adapted to be executed by the processor to restore the local file system to the second point-in-time using the second version of the local file system.

7. The non-transitory computer-readable medium as described in claim 1 wherein the first and second XML-based data structures are operating system independent.

8. The non-transitory computer-readable medium as described in claim 1 wherein the relationship between said first and second objects comprises a data offset.

Assignments (2)
PATENT SECURITY AGREEMENT Recorded Sep 12, 2024
From: NASUNI CORPORATION
To: AB PRIVATE CREDIT INVESTORS LLC, AS COLLATERAL AGENT
Reel/Frame 068947/0138 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2015
From: MASON, ROBERT S.; RODRIGUEZ, ANDRES
To: NASUNI CORPORATION
Reel/Frame 035516/0441 →
Continuity (3)
Continuation 12483030 · Jun 11, 2009
Provisional Application 61146978 · Jan 23, 2009
Related Publication 20140237008A1 · Aug 21, 2014