摘要:
A method for caching information needed by application programs from a secondary storage in which the cache memory is organized in multiple levels, each level having multiple entries, the entries of each level receiving information of a predetermined category, each entry being accessible independently. Links are defined between entries of one level of the cache memory and entries at another level of the cache memory, the links corresponding to information relationships specified by a user of information stored in the secondary storage. The use and reuse of the cache entries is based on the links. In response to a request to a file system from an application for needed information, the needed information is fetched into the cache, and in connection with fetching the needed information, other information is prefetched from the system of files which is not immediately needed. Quotas are established on information which may be fetched from a secondary storage into the cache, the quotas being applicable to file contents within a file and to the number of files within a directory. The fetching of information from secondary storage into the cache is regulated based on the quotas. Upon a request from an application program to open a file, an entry is created in a cache corresponding to the file, the entry including file header information. The file header information is retained in the cache so long as the file remains open, whether or not any file contents of the file remain in cache. The entries of three level of the cache respectively receive directory information, file header information, and file contents information.
摘要:
A distributed network contains a plurality of interconnected nodes 10, each node including a processor 16 and data storage apparatus 26. A plurality of key-index data identifiers are distributed among the nodes, with each node including a tree data structure in non-volatile storage defining locations of the key-index data identifiers. The tree data structure includes a ROOT data structure 31 for the top level of the tree, comprising two lists, "NEW ROOT" and "OLD ROOT", each comprised of an ordered array of boundaries assigned to the nodes. The tree data structure is balanced by determining when a first node contains an excess of key-index data identifiers, and moving the excess of key-index data identifiers to a second node. The first node/second node boundary value in "NEW ROOT" of the ROOT data structure is updated to record the movement of the data file identifiers, so that in the event of a malfunction of one of the nodes, a record exists in both of the nodes of both an updated and non-updated ROOT data structure to enable data recovery.
摘要:
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.
摘要:
The present invention relates to a manager for a computer memory comprising: a block allocation routine, the memory divided into blocks of memory locations, each block having an allocation table and a data region divided into data areas, each allocation table having entries corresponding to region data areas, the block allocation routine for selecting a block in which to store data; a data area allocation routine for selecting a data area within the data region for the selected block in which to store data, for selecting an allocation table entry to correspond to the selected data area, and for setting the selected allocation table entry to correspond to the selected data area and to an allocated state; and a storage routine for storing data in the selected data area.
摘要:
A mass data storage unit includes a plurality of first data storage modules for containing tape cassettes that form a mass information storage library, a data directory archive comprising a data storage medium for maintaining a directory of the information contained on each data storage module tape cassette, and data record/playback modules for receiving any selected tape cassette from any data storage module in the mass storage library, thus providing global access to the media. A plurality of interface computers are coupled to a plurality of host computers for receiving data and for generating request signals to access information stored on said tape cassette. A file directory is coupled to the interface computers and the data directory archive for receiving the request signals, locating in the data directory archive the address of the tape cassette containing the stored information and generating a data address location output signal for the tape cassette containing the stored information. A control computer is coupled to the file directory and the mass storage library for receiving the data address location output signal from the file directory and in response thereto generating a signal for causing the selected tape cassette in the data storage module containing the requested information to be loaded into a selected data record/playback unit. An input/output data channel couples the interface computer generating the access request signal to the selected data record/playback module for selectively reading the stored information from and writing data to the selected tape cassette.
摘要:
A computer-implemented method for the name-oriented accessing of files having at least zero records, any access path to files and records through an external store coupling the computer being defined by a pair of related directories. A first directory of record entries is sorted on a two-part token. The token consists of a unique sequence number assigned to the record and the sequence number of any parent record entry. Each record entry includes the token, file or record name, and external store address or pointer. A traverse through the tokens constitutes a leaf-searchable B-tree. Rapid access to target records is by way of a name- sorted, inverted directory of names and tokens as a subset and which is reconstitutable from the first directory in the event of unavailability.
摘要:
This invention measures the degree of clustering of an index for a relational data base table, estimates the number of physical page accesses required to access the table using a partial index scan using the index, and selects the index providing the fastest access path to the table. The degree of clustering is measured as follows: DC = Number of clustered rows (NCR) / Total rows (NR) A multiplier greater than 1 can be applied to the degree of clustering to reflect the benefit of having consecutively accessed rows on adjacent or nearby data pages. The degree of clustering so calculated is used to estimate the number of random and sequential page accesses required for a partial index scan. These numbers of accesses are then multiplied by the unit time required for each, and added to the total CPU processing time required to arrive at the estimated total time for the scan. The total time is calculated for each index which could be used as an access path for the query or other operation being optimized, and the index with the shortest overall time is selected as the access path.
摘要:
A prefix index tree structure for locating data records stored through keys related to information stored in data records. Each node includes a prefix field for a prefix string of length p of the longest string of key characters shared by all subtrees of the node and a data record field for a reference to a data record whose key is completed by the prefix string. A node may include one or more branch fields when the prefix string is a prefix of keys stored in at least one subtree of the node, with a branch field for each distinct p+1 st key character in the keys, wherein each p+1 st key character is a branch character. Each branch field includes a branch character and a branch pointer field for a reference to a node containing at least one key whose p+1 st character is the branch character. Each node further includes a field for storing the number of key characters in the prefix string and a field for storing the number of branch fields in the node. Also disclosed are methods for constructing and searching a prefix index tree of the present invention, and for inserting nodes into the tree and deleting nodes from the tree.
摘要:
A directory structure for WORM optical media which supports a multi-level tree structure containing several paths is disclosed. When a user defines the first path on the WORM volume, a first file directory group (140) is created for that path. A path directory entry pointing to this file directory group is written to the path directory group (130). Files having this path name are initially written into the first data file area (150) next to this file directory group. The first data file area grows as data is written into it. When a second path is defined, the first data file area is closed and a second file directory group (160) is created on the WORM volume next to the first data file area, thereby wasting little if any space. The path directory group is updated with a new path directory entry that points to this new file directory group. Files having this second path name are written into a growing second data area. If the user now wants a file having the first path name to be written to the disk, a file directory entry is placed in the first file directory group, but the file itself is written into the growing second data file area. In this manner, files are associated with directory entries by a common path name, not necessarily physical location on the disk, although files tend to be relatively close to their associated directory entry.
摘要:
The present invention is a system and method which follows a directory tree of a random access disk 20 to obtain file location information and the contents for multiple files. For each file found an entry is created on a file description ring 90 and the file location information is stored in the entry. An insert pointer indicates the next available entry on the ring 90. The system then stores the different type location information (for example file headers, directories and directory headers are different types) for each of the files in corresponding segmented ring buffers 172, 176 and 192 dedicated to storing information of only a single type. The file content is also stored in a dedicated segmented file content ring buffer 132. Each time a ring is updated with information for a file, a corresponding operation pointer (96, 100 and 102) for the ring 90 is advanced. When a ring segment is full, the system transfers the segment to a corresponding location on a destination disk 24 and updates a file allocation list ring 162. The writing of file contents from ring 132 advances a write operation pointer 98. When all files have been written the file allocation list ring 162 is written out to the disk 24. The buffering of the different types of information until a ring segent is full reduces the number of write operations and, not only enhances source read out speed since the read operation does not have to wait for the write operation to occur before the next read operation can start because the data read is stored in the segmented buffer rings, but also enhances 'write speed by writing segments and increases drive life expectancy by reducing mechanical motion.