IP Library Granted Patent US 8,990,228
Granted Patent B2
US 8,990,228 · App. 13/947,847 · Granted Mar 24, 2015

Systems and methods for arbitrary data transformations

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,990,228
App. No.
13/947,847
Granted
Mar 24, 2015
Kind
B2
Abstract

Methods for organizing data. The methods may comprise the step of receiving a write request comprising a data unit. The methods may also comprise the steps of organizing the data unit into a sub-file and incorporating the sub-file into a data file according to a log-structured organization system. In addition, the methods may include the step of writing the data file to a data storage according to a second organization system.

Claims (47)

1. A computer system comprising: at least one processor;

non-transitory memory operatively associated with the at least one processor; and a data storage device in communication with the at least one processor, wherein the data storage device comprises stored thereon a plurality of data files logically and physically organized according to a first file system, and wherein the at least one processor is programmed to:

execute an application;

execute a data transformation module, wherein the data transformation module is further programmed to:

receive a first read request originating from the application and specifying a first sub-file, wherein the first sub-file is selected from a plurality of sub-files logically and physically organized within a first data file of the plurality of data files according to a log-structured file system;

in response to the first read request, derive an indication of the first data file;

direct a second read request to the data storage device, wherein the second read request indicates the first data file;

receive the first data file from the data storage device in response to the second read request;

extract the first sub-file from the first data file utilizing the log-structured file system;

return the first sub-file in response to the first read request;

receive a first write request originating from the application, wherein the first write request indicates a logical grouping of at least one data unit;

organize the logical grouping of at least one data unit into a second sub-file;

perform a transformation on the second sub-file that changes the size of the second sub-file;

after performing the transformation on the second sub-file, organize the second sub-file into a second data file of the first file system according to the log-structured file system; and

transmit a second write request to the data storage device for storage of the second data file on the data storage device according to the first file system.

2. The system of claim 1 , wherein the at least one processor is further programmed to execute an operating system.

3. The system of claim 2 , wherein the first file system is a native file system of the operating system.

4. The system of claim 2 , wherein the data transformation module is logically positioned between the operating system and the data storage device.

5. The system of claim 4 , wherein the first read request is received by the data transformation module from the operating system.

6. The system of claim 2 , wherein the data transformation module is logically positioned between the application and the operating system.

7. The system of claim 6 , wherein the second read request is directed to the data storage via the operating system.

8. The system of claim 1 , wherein the transformation comprises at least one operation selected from the group consisting of: encryption, compression, and translation from a first human language to a second human language, transformation from a first data format to a second data format, and translation from one encoding to a different encoding.

9. The system of claim 1 , wherein first file system defines a plurality of directories distinct from the plurality of data files, wherein the plurality of directories are for logically organizing the plurality of data files.

10. The system of claim 9 , wherein the log-structured file system defines a second plurality of directories distinct from the plurality of sub-files, wherein the second plurality of directories are for logically organizing the plurality of sub-files within the first data file.

11. The system of claim 9 , wherein the first file system defines a physical position of each of the plurality of data files on the storage device, and wherein the log-structured file system defines a physical position of each of the plurality of sub-files within the first data file.

12. A method for organizing data in a system comprising: at least one processor; non-transitory memory operatively associated with the at least one processor; and a data storage device in communication with the at least one processor, wherein the data storage device comprises stored thereon a plurality of data files logically and physically organized according to a first file system, wherein the at least one processor is programmed to execute an application and a data transformation module, the method comprising:

the data transformation module receiving a first read request originating from the application and identifying a first sub-file selected from a plurality of sub-files logically and physically organized with a first data file of the plurality of data files according to a log-structured file system;

the data transformation module, in response to the first read request, identifying the first data file;

the data transformation module directing a second read request to the data storage device, wherein the second read request indicates the first data file;

the data transformation module receiving the first data file from the data storage device in response to the second read request;

the data transformation module extracting the first sub-file from the first data file utilizing the log-structured file system; and

the data transformation module returning the first sub-file in response to the first read request;

the data transformation module receiving a first write request originating from the application, wherein the first write request indicates a logical grouping of at least one data unit;

the data transformation module performing an operation on the logical grouping of at least one data unit, wherein the operation changes the size of the at least one data unit;

the data transformation module organizing the logical grouping of the at least one data unit into a second sub-file;

the data transformation module organizing the second sub-file into a second data file of the first file system according to a log-structured file system, wherein the log structured file system manages a logical and a physical organization of the second sub-file within the second data file; and

the data transformation module transmitting a second write request to the data storage device, the second write request requesting storage of the second data file on the data storage device according to the first file system.

13. The method of claim 12 , wherein the operation is an operation selected from the group consisting of: compression, encryption, translation from a first language to a second language, transformation from a first data format to a second data format, and translation from one encoding to a different encoding.

14. The method of claim 12 , further comprising maintaining a previous version of the at least one data unit.

15. The method of claim 12 , wherein the first file system is at least one of File Allocation Table 16 (FAT16), File Allocation Table 32 (FAT32), NTFS, High Performance File System (HPFS), UNIX file system (UFS), XFS, journaled file system (JFS), Universal Data Format File System (UDFS), CD-ROM File System (CDFS), Enhanced File System (EFS), SGI XFS, Clustered XFS (CXFS), HFS, VxFS, Raw File System (RawFS), and Local File System (DCE/LFS).

16. The method of claim 12 , wherein the at least one data unit includes at least one of an encryption header, a thumbnail image, a checksum, and information indexing the data unit.

17. The method of claim 12 , wherein the at least one processor is further programmed to execute an operating system.

18. The method of claim 17 , wherein the first file system is a native file system of the operating system.

19. The method of claim 17 , wherein the data transformation module is logically positioned between the operating system and the data storage device.

20. The method of claim 19 , wherein the first read request is received by the data transformation module from the operating system.

21. The method of claim 17 , wherein the data transformation module is logically positioned between the application and the operating system.

22. The method of claim 21 , wherein the second read request is directed to the data storage via the operating system.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2018
From: MASON, W. ANTHONY
To: OPEN INVENTION NETWORK LLC
Reel/Frame 047874/0766 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2017
From: OSR OPEN SYSTEM RESOURCES, INC.
To: MASON, W. ANTHONY
Reel/Frame 042975/0522 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2014
From: MASON, W. ANTHONY; VISCAROLA, PETER G.; CARIDDI, MARK J.; NOONE, SCOTT J.
To: OSR OPEN SYSTEMS RESOURCES, INC.
Reel/Frame 034045/0863 →