IP Library Granted Patent US 7,620,961
Granted Patent B2
US 7,620,961 · App. 10/301,558 · Granted Nov 17, 2009

Open-architecture file system

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 7,620,961
App. No.
10/301,558
Granted
Nov 17, 2009
Kind
B2
Abstract

An open-architecture transactional file system is described. In one described implementation, a file system comprises a plurality of interchangeable and/or customizable logic layers configured to manage operations on behalf of an application when the application makes data requests to a data source. Functionality associated with the file system is augmentable by substituting and/or modifying one or more of the plurality of interchangeable and/or customizable logic layers, respectively, enabling the file system to function with many different types of data sources.

Claims (37)

1. One or more computer-readable media comprising a file system that is executable by a computer, the file system comprising: a plurality of interchangeable and/or customizable logic layers configured to manage operations on behalf of an application when making data requests to a data source, wherein functionality associated with the file system is augmentable by substituting and/or modifying one or more of the plurality of interchangeable and/or customizable logic layers, respectively, enabling the file system to function with many different types of data sources,

wherein one of the plurality of interchangeable and/or customizable logic layers comprises a media abstraction layer configured to (i) manage input and output requests received from the application; (ii) perform logical to physical transformations; (iii) detect a power failure event; (iv) maintain data integrity and related meta-information in the event of detecting a power failure event, wherein the data integrity and the related meta-information are maintained for a last physical sector to receive data immediately prior to the power failure event, and (v) maintain a transaction log in a random location.

2. The file system as recited in claim 1 , wherein the media interface layer is further configured to interface directly with the data source.

3. The file system as recited in claim 1 , wherein the media interface layer is further configured to carry out a lowest of lower level communications on behalf of at least one of the plurality of interchangeable logic and/or customizable layers in response to data requests.

4. The file system as recited in claim 1 , wherein the data source is one of the following devices: fixed media, storage cards, network devices, networks, network storage and hard disks.

5. The file system as recited in claim 1 , wherein the data source is a physical and/or virtual object that is configured to read and write data.

6. The file system as recited in claim 1 , wherein the data source includes one of the following: a flash memory, a hard disk, a removable storage medium, a network, and a communication device.

7. The file system as recited in claim 1 , wherein the data requests include reading data from the data source and/or writing data to the data source.

8. The file system as recited in claim 1 , wherein one of the plurality of interchangeable and/or customizable logic layers comprises an entry logic layer comprising a set of Application Protocol Interfaces (APIs) accessible by the application.

9. The file system as recited in claim 1 , wherein the computer is portable electronic device.

10. The file system as recited in claim 1 , wherein one of the plurality of interchangeable and/or customizable logic layers comprises a media inter-face layer configured to interface directly with a flash medium.

11. One or more computer-readable media comprising a file system that is executable by a computer, the file system comprising:

a plurality of interchangeable and/or customizable logic layers configured to manage operations on behalf of an application when making data requests to a data source, the plurality of interchangeable and/or customizable logic layers comprising:

an entry logic layer including a set of Application Protocol Interfaces (APIs) accessible by the application;

a media abstraction layer configured to manage data requests made by the application; perform logical to physical transformations; detect and manage a power failure event; maintain data integrity and related meta-information for the file system in the event of a power failure event; and, maintain a transaction log in a random location, wherein the data integrity and the related meta-information are maintained for a last physical sector to receive data immediately prior to the power failure event; and

a media interface layer, configured to carry out a lowest of the lower level communications on behalf of the entry logic layer and/or media abstraction layer in response to data requests.

12. The file system as recited in claim 11 , wherein functionality associated with the file system is augmentable by substituting and/or modifying one or more of the plurality of interchangeable and/or customizable logic layers, respectively, enabling the file system to function with many different types of data sources.

13. The file system as recited in claim 11 , wherein the media inter-face layer is configured to communicate directly with the data source.

14. The file system as recited in claim 11 , wherein the media inter-face layer is programmably configurable by a user to directly interface with a data source.

15. The file system as recited in claim 11 , wherein the data source is one of the following devices: fixed media, storage cards, network devices, networks, network storage and hard disks.

16. The file system as recited in claim 11 , wherein the data source is a physical and/or virtual object that is configured to read and write data.

17. The file system as recited in claim 11 , wherein the data source includes one of the following: a flash memory, a hard disk, a removable storage medium, a network, and a communication device.

18. The file system as recited in claim 11 , wherein the data requests include reading data from the data source and/or writing data to the data source.

19. A computer, comprising: processor a file system having a plurality of interchangeable and/or customizable logic layers configured to manage operations on behalf of an application operating on the computer when making data requests to a data source, wherein functionality associated with the file system is augmentable by substituting and/or modifying one or more of the plurality of interchangeable and/or customizable logic layers, respectively, enabling the file system to function with many different types of data sources, wherein the data requests include reading data from the data source and writing data to the data source,

wherein one of the plurality of interchangeable and/or customizable logic layers comprises a media abstraction layer configured to (i) manage input and output requests received from the application; (ii) perform logical to physical transformations; (iii) detect a power failure event, (iv) maintain data integrity and related meta-information in the event of detecting a power failure event, wherein the data integrity and the related meta-information are maintained for a last physical sector to receive data immediately prior to the power failure event, and (v) maintain a transaction log in a random location.

20. The computer as recited in claim 19 , wherein the data source is one of the following devices: fixed media, storage cards, network devices, networks, network storage and hard disks.

21. The computer as recited in claim 19 , wherein the data source is a physical and/or virtual object that is configured to read and write data.

22. The computer as recited in claim 19 , wherein one of the plurality of interchangeable and/or customizable logic layers comprises an entry logic layer comprising a set of Application Protocol Interfaces (APIs) accessible by the application.

23. The computer as recited in claim 19 , wherein one of the plurality of interchangeable and/or customizable logic layers comprises: a media interface layer, configured to interface directly with the data source.

24. In a computer having an application that issues data requests to a data source, a method for configuring a file system, the method comprising:

augmenting operational behavior of a file system by substituting and/or modifying one or more of the plurality of interchangeable and/or customizable logic layers comprising the file system, respectively, thereby enabling the file system to function with many different types of data sources;

performing logical to physical transformations;

detecting and managing power failure events in a media abstraction layer, wherein the media abstraction layer comprises one of the one or more of the plurality of interchangeable and/or customizable logic layers and further wherein data integrity and related meta-information are maintained for a last physical sector to receive data immediately prior to each of the power failure events; and

maintaining a transaction log in a random location for maintaining data integrity in the event of detecting a power failure event.

25. The method as recited in claim 24 , wherein the data source is one of the following devices: fixed media, storage cards, network devices, networks, network storage and hard disks.

26. The method as recited in claim 24 , wherein the data source is a physical and/or virtual object that is configured to read and write data.

27. The method as recited in claim 24 , wherein the data requests include reading data from the data source and/or writing data to the data source.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2003
From: AASHEIM, JERED DONALD; YANG, YONGQI; KALKMAN, JOHN
To: MICROSOFT CORPORATION
Reel/Frame 013761/0735 →