IP Library Granted Patent US 9,122,695
Granted Patent B2
US 9,122,695 · App. 14/456,419 · Granted Sep 1, 2015

Extending cluster allocations in an extensible 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 9,122,695
App. No.
14/456,419
Granted
Sep 1, 2015
Kind
B2
Abstract

An extensible file system format for portable storage media is provided. The extensible file system format includes the specification of primary and secondary directory entry types that may be custom defined. The primary and secondary directory entry types can be further classified as critical and benign directory entries. The directory entry types can define whether a cluster chain corresponding to a file can be contiguously allocated.

Claims (34)

1. A method, comprising:

obtaining a request for an extension of a plurality of clusters, the plurality of clusters comprising a cluster chain of two or more clusters stored contiguously, the extension comprising an additional allocation of one or more clusters to the cluster chain;

determining that the extension and the plurality of clusters are not contiguously allocatable;

allocating an entry in a file allocation table for each of the clusters of the plurality of clusters;

setting a flag to indicate that the plurality of clusters are not contiguously allocated;

allocating an entry in the file allocation table for each of the clusters of the extension; and

updating an allocation bitmap to indicate the allocation of the clusters for the plurality of clusters and the extension.

2. The method of claim 1 wherein determining that the extension and the plurality of clusters are not contiguously allocatable comprises locating a last cluster in the cluster chain by identifying a first cluster in the cluster chain and determining the cluster chain size.

3. The method of claim 2 , further comprising referring to the allocation bitmap to determine whether contiguous clusters are available for the extension.

4. The method of claim 1 wherein before obtaining the request for the extension of the plurality of clusters, the flag indicates the plurality of clusters are contiguously allocated.

5. The method of claim 1 wherein the flag indicates the plurality of clusters and the extension are not contiguously allocated.

6. A computer-readable storage medium on which computer-executable instructions are stored which, when executed by a computing device, cause the computing device to perform operations comprising:

obtaining a request for an extension of a plurality of clusters, the plurality of clusters comprising a cluster chain of two or more clusters stored contiguously, the extension comprising an additional allocation of one or more clusters to the cluster chain;

determining that the extension and the plurality of clusters are not contiguously allocatable;

allocating an entry in a file allocation table for each of the clusters of the plurality of clusters;

setting a flag to indicate that the plurality of clusters are not contiguously allocated;

allocating an entry in the file allocation table for each of the clusters of the extension; and

updating an allocation bitmap to indicate the allocation of the clusters for the plurality of clusters and the extension.

7. The computer-readable storage medium of claim 6 wherein to determine that the extension and the plurality of clusters are not contiguously allocatable, the computer-executable instructions further cause the computing device to locate a last cluster in the cluster chain by identifying a first cluster in the cluster chain and determining the cluster chain size.

8. The computer-readable storage medium of claim 7 , wherein the computer-executable instructions further cause the computing device to refer to the allocation bitmap to determine whether contiguous clusters are available for the extension.

9. The computer-readable storage medium of claim 6 , wherein before the computer-executable instructions cause the computing device to obtain the request for the extension of the plurality of clusters, the flag indicates the plurality of clusters are contiguously allocated.

10. The computer-readable storage medium of claim 6 wherein the flag indicates the plurality of clusters and the extension are not contiguously allocated.

11. A computing device, comprising:

one or more computer-readable storage media on which computer-executable instructions are stored which, when executed by the computing device, cause the computing device to perform operations comprising:

obtaining a request for an extension of a plurality of clusters, the plurality of clusters comprising a cluster chain of two or more clusters stored contiguously, the extension comprising an additional allocation of one or more clusters to the cluster chain;

determining that the extension and the plurality of clusters are not contiguously allocatable;

allocating an entry in a file allocation table for each of the clusters of the plurality of clusters;

setting a flag to indicate that the plurality of clusters are not contiguously allocated;

allocating an entry in the file allocation table for each of the clusters of the extension; and

updating an allocation bitmap to indicate the allocation of the clusters for the plurality of clusters and the extension.

12. The computing device of claim 11 wherein to determine that the extension and the plurality of clusters are not contiguously allocatable, the computer-executable instructions further cause the computing device to locate a last cluster in the cluster chain by identifying a first cluster in the cluster chain and determining the cluster chain size.

13. The computing device of claim 12 , wherein the computer-executable instructions further cause the computing device to refer to the allocation bitmap to determine whether contiguous clusters are available for the extension.

14. The computing device of claim 11 , wherein before the computer-executable instructions cause the computing device to obtain the request for the extension of the plurality of clusters, the flag indicates the plurality of clusters are contiguously allocated.

15. The computing device of claim 11 wherein the flag indicates the plurality of clusters and the extension are not contiguously allocated.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: PUDIPEDDI, RAVISANKAR V.; GHOTGE, VISHAL V.; HAVEWALA, SAROSH C.; THIND, RAVINDER S.; ZBIKOWSKI, MARK J.
To: MICROSOFT CORPORATION
Reel/Frame 034729/0816 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: GOEBEL, DAVID A.
To: MICROSOFT CORPORATION
Reel/Frame 034729/0948 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING
Reel/Frame 034730/0094 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →