US5715441A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and system for storing and accessing data in a compound document using object linking
Assignee: Microsoft Technology Licensing LLC
•
Filing: 1995-06-07
•
Granted: 1998-02-03
•
Expires: 2015-06-07
Abstract
Abstract A method and system for interfacing an application program with a compound document storage system. The present invention provides an interface which an application program uses to manipulate compound documents. In a preferred embodiment, this interface is implemented in a multilayered architecture. The first layer provides methods which an application program uses to access a compound document using the functions of the second layer. The second layer maps requests to store data in the compound document to a storage format using the functions of the third layer. The third layer maps requests to write to a file to an arbitrary storage medium.
Inventors
- 👤 Robert G. Atkinson
- 👤 Andrew L. Bliss
- 👤 Philip J. Lafornara
- 👤 Philip Ljubicich
- 👤 Alexander G. Tilles
- 👤 Antony S. Williams
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-07 13:24
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/22; G06F9/24; G06F3/00; G06F3/06; G06F3/0601; G06F3/0668; G06F3/0671; G06F3/0673; G06F3/0674; G06F16/00; G06F16/10; G06F16/90; G06F16/901; G06F16/9017; G06F16/93; G06F3/0602; G06F3/0604; G06F3/0605; G06F3/0628; G06F3/0638; G06F3/0643; Y; Y10; Y10S; Y10S707/00; Y10S707/953; Y10S707/956; Y10S707/99931
Claims Analysis
Total Claims: 32
Claim 1
Independent Claim
145 words
A method in a computer system for storing data in a data storage area, the computer system having an application program that invokes a first application interface layer for accessing the data, the method comprising the steps of: under control of the application interface layer; receiving from the application program a reference to a second intermediate interface, the intermediate interface having a plurality of functions for accessing the data storage area, one of the functions for resizing the data storage area; receiving from the application program a request to access the data storage area; in response to receiving the request, invoking one or more functions of the intermediate interface received from the application program to effect: the accessing and resizing of the data storage area; and wherein the application interface layer can receive references to different implementations of the intermediate interface from different application programs.
Claim 2
Independent Claim
145 words
A method in a computer system for storing data in a data storage area, the computer system having an application program that invokes a first application interface layer for accessing the data, the method comprising the steps of: under control of the application interface layer; receiving from the application program a reference to a second intermediate interface, the intermediate interface having a plurality of functions for accessing the data storage area, one of the functions for resizing the data storage area; receiving from the application program a request to access the data storage area; in response to receiving the request, invoking one or more functions of the intermediate interface received from the application program to effect: the accessing and resizing of the data storage area; and wherein the application interface layer can receive references to different implementations of the intermediate interface from different application programs.
Claim 3
Dependent Claim
28 words
The method of claim 1 wherein the intermediate interface received from the application program includes a function for accessing the data storage area as an array of bytes.
Claim 4
Dependent Claim
35 words
The method of claim 2 wherein the intermediate interface received from the application program includes a function for locking a range of bytes of the array to prevent conflicting access to the range of bytes.
Claim 5
Dependent Claim
46 words
The method of claim 1 wherein the computer system has a file system, wherein the data storage area is a file, and the intermediate interface received from the application program includes functions that invoke the file system to effect the accessing of the data storage area.
Claim 6
Dependent Claim
216 words
An object storage computer system for storing objects into a data storage area of the computer system comprising: a first application interface layer invocable by an application program, application interface layer providing a hierarchical organization for the storage of the objects, each object optionally having a subobject and optionally having object data, the application interface layer having a storage interface for enumerating; the subobjects of an object and for providing a stream interface for object data, the stream interface for accessing the object data; a second intermediate layer invocable by the application interface layer, the intermediate layer for providing a linear organization for the storage of data, the intermediate layer having an access interface for accessing the data of the storage; a third bottom layer invocable by the intermediate layer fear directly accessing the data storage area such that when an application program invokes the application interface layer, the application interface layer invokes the intermediate layer; and the intermediate layer invokes the bottom layer to directly access the data storage area and such that when an application program invokes the application interface layer, the application program specifies an implementation of the intermediate layer that is to be invoked by the application interface layer; and wherein different application programs can specify different implementations of the intermediate layer.
Claim 7
Dependent Claim
216 words
An object storage computer system for storing objects into a data storage area of the computer system comprising: a first application interface layer invocable by an application program, application interface layer providing a hierarchical organization for the storage of the objects, each object optionally having a subobject and optionally having object data, the application interface layer having a storage interface for enumerating; the subobjects of an object and for providing a stream interface for object data, the stream interface for accessing the object data; a second intermediate layer invocable by the application interface layer, the intermediate layer for providing a linear organization for the storage of data, the intermediate layer having an access interface for accessing the data of the storage; a third bottom layer invocable by the intermediate layer fear directly accessing the data storage area such that when an application program invokes the application interface layer, the application interface layer invokes the intermediate layer; and the intermediate layer invokes the bottom layer to directly access the data storage area and such that when an application program invokes the application interface layer, the application program specifies an implementation of the intermediate layer that is to be invoked by the application interface layer; and wherein different application programs can specify different implementations of the intermediate layer.
Claim 8
Dependent Claim
27 words
The system of claim 5 wherein the intermediate layer includes a method for dynamically changing the size of an array representing the linear organization of the storage.
Claim 9
Dependent Claim
29 words
The system of claim 6 wherein the intermediate layer includes a method for locking a range of bytes in the array to prevent conflicting access to the locked range.
Claim 10
Dependent Claim
20 words
The system of claim 5 or 6 wherein the application interface layer includes methods for transactioning modifications to the data.
Claim 11
Dependent Claim
15 words
The system of claim 5 or 6 wherein the bottom layer is a file system.
Claim 12
Dependent Claim
14 words
The system of claim 9 wherein the file system uses a file allocation table.
Claim 13
Dependent Claim
20 words
The system of claim 5 or 6 wherein the application interface layer includes methods for storing data in a stream.
Claim 14
Dependent Claim
21 words
The system of claim 5 or 6 wherein the application interface layer provides methods for storing objects in a hierarchical manner.
Claim 15
Independent Claim
152 words
A method in a computer system for accessing object data in a data storage area, the computer system having an application program, comprising: under control of the application program, invoking a first application interface layer to access to object data, the application program providing to the application interface layer an implementation of a second intermediate layer, the application interface layer providing a predefined organization for the storage of the object data, the intermediate layer for providing a linear organization for the storage of object data; under control of the application interface layer, invoking the intermediate layer to access the linear organization for the storage of object data; under control of the intermediate layer invoking a third bottom layer for directly accessing the data storage area in which object data is stored; and wherein different application program can specify different implementations of the intermediate layer to customize the accessing of the object data.
Claim 16
Independent Claim
152 words
A method in a computer system for accessing object data in a data storage area, the computer system having an application program, comprising: under control of the application program, invoking a first application interface layer to access to object data, the application program providing to the application interface layer an implementation of a second intermediate layer, the application interface layer providing a predefined organization for the storage of the object data, the intermediate layer for providing a linear organization for the storage of object data; under control of the application interface layer, invoking the intermediate layer to access the linear organization for the storage of object data; under control of the intermediate layer invoking a third bottom layer for directly accessing the data storage area in which object data is stored; and wherein different application program can specify different implementations of the intermediate layer to customize the accessing of the object data.
Claim 17
Dependent Claim
21 words
The method of claim 13 wherein the intermediate layer includes a method for dynamically changing the size of the linear organization.
Claim 18
Dependent Claim
30 words
The method of claim 13 wherein the intermediate layer includes a method for locking a range of bytes in the linear organization to prevent conflicting access to the locked range.
Claim 19
Dependent Claim
18 words
The method of claim 13 wherein the application interface layer includes methods for transactioning modifications to the data.
Claim 20
Dependent Claim
13 words
The method of claim 13 wherein the bottom layer is a file system.
Claim 21
Dependent Claim
14 words
The method of claim 17 wherein the file system uses a file allocation table.
Claim 22
Dependent Claim
18 words
The method of claim 13 wherein the application interface layer includes methods for storing data in a stream.
Claim 23
Dependent Claim
19 words
The method of claim 13 wherein the application interface layer provides methods for storing objects in a hierarchical manner.
Claim 24
Dependent Claim
150 words
A computer-readable medium containing instructions for causing a computer system to access object data in a data storage area by: under control of the application program, invoking a first application interface layer to access object data, the application program providing to the application interface layer an implementation of a second intermediate layer, the application interface layer providing a predefined organization for the storage of the object data, the intermediate interface layer for providing a linear organization for the storage of object data and for providing for the resizing of the linear organization; under control of the application interface layer, invoking the intermediate layer to access the linear organization; under control of the intermediate interface layer, invoking a third bottom layer for directly accessing the data storage area in which object data is stored; and wherein different application programs can specify implementations of the intermediate layer to customize the object data.
Claim 25
Dependent Claim
150 words
A computer-readable medium containing instructions for causing a computer system to access object data in a data storage area by: under control of the application program, invoking a first application interface layer to access object data, the application program providing to the application interface layer an implementation of a second intermediate layer, the application interface layer providing a predefined organization for the storage of the object data, the intermediate interface layer for providing a linear organization for the storage of object data and for providing for the resizing of the linear organization; under control of the application interface layer, invoking the intermediate layer to access the linear organization; under control of the intermediate interface layer, invoking a third bottom layer for directly accessing the data storage area in which object data is stored; and wherein different application programs can specify implementations of the intermediate layer to customize the object data.
Claim 26
Dependent Claim
22 words
The computer-readable medium of claim 21 wherein the intermediate layer includes a method for dynamically changing the size of the linear organization.
Claim 27
Dependent Claim
27 words
The computer-readable medium of claim 21 wherein the intermediate layer includes a method for locking a range of bytes to prevent conflicting access to the locked range.
Claim 28
Dependent Claim
19 words
The computer-readable medium of claim 21 wherein the application interface layer includes methods for transactioning modifications to the data.
Claim 29
Dependent Claim
14 words
The computer-readable medium of claim 21 wherein the bottom layer is a file system.
Claim 30
Dependent Claim
15 words
The computer-readable medium of claim 25 wherein the file system uses a file allocation table.
Claim 31
Dependent Claim
19 words
The computer-readable medium of claim 21 wherein the application interface layer includes methods for storing data in a stream.
Claim 32
Dependent Claim
20 words
The computer-readable medium of claim 21 wherein the application interface layer provides methods for storing objects in a hierarchical manner.
References Cited (Backward Citations)
US4536837A
Cited
US4723209A
Cited
US4739477A
Cited
US5093779A
Cited
US4899299A
Cited
US5280609A
Cited
US5146553A
Cited
US5185885A
Cited
US5359708A
Cited
US4933880A
Cited
US4907151A
Cited
US5029125A
Cited
US5339392A
Cited
US5371885A
Cited
US5247520A
Cited
US5226145A
Cited
US5173853A
Cited
US5535319A
Cited
US5437027A
Cited
US5317730A
Cited
US5524202A
Cited
US5269019A
Cited
US5448727A
Cited
US5243518A
Cited
US5349658A
Cited
US5335290A
Cited
US5479656A
Cited
US5423034A
Cited
US5506983A
Cited
US5515536A
Cited
US5634019A
Cited
US5537526A
Cited
US5467472A
Cited
US5613124A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-02-02 | 2001-08-04 | 2002-02-03 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-02-02 | 2005-08-04 | 2006-02-03 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-02-02 | 2009-08-04 | 2010-02-03 | $7700.00 | Window Closed / Lapsed |