The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
May. 26, 1998
Filed:
Jun. 06, 1995
Shui Wing Lo, Sunnyvale, CA (US);
David J Austin, San Francisco, CA (US);
Tantek I Celik, Los Altos, CA (US);
Steven J Szymanski, Cupertino, CA (US);
Jed Harris, Berkeley, CA (US);
Apple Computer, Inc., Cupertino, CA (US);
Abstract
A data structure and associated data management methods for highly flexible storage of data for a wide variety of application programs. Data is stored as a plurality of Blops, each of which has a list of Properties associated with it. Each Property contains zero or more elements. Elements can be Values, each of which has a Basic Type and consists of a variable length sequence of bytes. The Basic Type can define the format of the Value, as well as meta-information such as compression and encryption. Elements can also be Compound Types, which nestably refer to another list of Properties. Blops are stored in Containers, which map to the physical medium on which the data is stored. Containers can associate respective Container Handlers which are specific to the Container's physical medium. Related Blops in a Container can be organized into Pools of Blops. Each Container may contain one or more Pools, each Pool having a unique name within the Container. A Pool may contain multiple versions of a Blop. Versions of different Blops may be grouped together in Layers in a Pool and each Layer can contain at most one version of a Blop. Layers are related to each other as an acyclic digraph where each Layer is above one or more Base Layers and has zero or more Layers above it. Each Layer presents a 'view' to a user of the Blops in a pool, and thereby provide a mechanism to manipulate which versions of which Blops are to be used at any given time.