Tape system storage and retrieval process
AssigneeDascom Software Development Services Limited
InventorsThomas Charles McGovern, Geraint Waters, William Shaughnessy
Life of this patent
Estimating the term…
Abstract
A tape storage and retrieval system is provided to facilitate the archival of machine data to tape and optionally to disk storage in a manner which enables the retrieval of the data in a batch or on-line processing environment. A hierarchy of storage levels is adopted for data objects within the system. The manner of the storage of the data object within the tape system is determined by the storage level which is changed over time to reflect the need for access to the data object. For example, those tapes storing data object allocated the highest level of storage may be stored in parallel on disks, may only be written so as to occupy only part of the tape volume, or stored on the tape system drive.
Claims25
A process for the storage and retrieval of data on a tape system including a tape drive with on-line tape storage and off-line retrieval, the process being carried out by a database controller, a data processor and a tape system controller, the process comprising the steps of:
- setting up a database structure including a single volume type dataset for a plurality of data objects containing one or more variable length logical records;
- creating a hierarchy of storage levels based on perceived levels of activity for data objects written to the database to provide separate specific storage levels;
- allocating a tape to a specific storage level;
- allocating an appropriate proportion of the storage capacity of that tape for storage of objects at that specific storage level;
- and
- setting up an index file for the database comprising a single index control record with tape system initialisation data for each object;
- on receiving an object storage request for the system carrying out the steps of:
- allocating a storage level to the object;
- assigning the object to an appropriate tape for that storage level;
- creating a new record header within the tape for that object, the header including a primary key, a storage date and at least storage level information;
- writing the object to the tape in sequence after the record header;
- entering the record header and associated tape position information on the index file;
- over time re-assessing the storage level assigned to the object;
- allocating a new storage level to the object as a result of a re-assessment;
- altering the record header for the object within the tape and the index file to reflect the new storage level;
- and
- having the tape system controller handle the object in the appropriate manner within the tape system for that storage level;
- and
- on receiving a data retrieval request carrying out the steps of:
- addressing the index files with the primary key and the storage date and accessing the relevant tape and tape position information;
- and
- transmitting read instructions to the tape system.
A process for the storage and retrieval of data on a tape system including a tape drive with on-line tape storage and off-line retrieval, the process being carried out by a database controller, a data processor and a tape system controller, the process comprising the steps of:
- setting up a database structure including a single volume type dataset for a plurality of data objects containing one or more variable length logical records;
- creating a hierarchy of storage levels based on perceived levels of activity for data objects written to the database to provide separate specific storage levels;
- allocating a tape to a specific storage level;
- allocating an appropriate proportion of the storage capacity of that tape for storage of objects at that specific storage level;
- and
- setting up an index file for the database comprising a single index control record with tape system initialisation data for each object;
- on receiving an object storage request for the system carrying out the steps of:
- allocating a storage level to the object;
- assigning the object to an appropriate tape for that storage level;
- creating a new record header within the tape for that object, the header including a primary key, a storage date and at least storage level information;
- writing the object to the tape in sequence after the record header;
- entering the record header and associated tape position information on the index file;
- over time re-assessing the storage level assigned to the object;
- allocating a new storage level to the object as a result of a re-assessment;
- altering the record header for the object within the tape and the index file to reflect the new storage level;
- having the tape system controller handle the object in the appropriate manner within the tape system for that storage level;
- on receiving a data retrieval request carrying out the steps of:
- addressing the index files with the primary key and the storage date and accessing the relevant tape and tape position information;
- and
- transmitting read instructions to the tape system;
- and in which at regular time intervals, the following steps are performed of:
- scanning all the tapes storing objects allocated a specific storage level;
- allocating a different storage level to all objects stored greater than a predetermined length of time at the specific storage level;
- and
- performing the required operations on each of the objects allocated the different storage levels as appropriate to that storage levels.
A process for the storage and retrieval of data on a tape system including a tape drive with on-line tape storage and off-line retrieval, the process being carried out by a database controller, a data processor and a tape system controller, the process comprising the steps of:
- setting up a database structure including a single volume type dataset for a plurality of data objects containing one or more variable length logical records;
- creating a hierarchy of storage levels based on perceived levels of activity for data objects written to the database to provide separate specific storage levels;
- allocating a tape to a specific storage level;
- allocating an appropriate proportion of the storage capacity of that tape for storage of objects at that specific storage level;
- and
- setting up an index file for the database comprising a single index control record with tape system initialisation data for each object;
- on receiving an object storage request for the system carrying out the steps of:
- allocating a storage level to the object;
- assigning the object to an appropriate tape for that storage level;
- creating a new record header within the tape for that object, the header including a primary key, a storage date and at least storage level information;
- writing the object to the tape in sequence after the record header;
- entering the record header and associated tape position information on the index file;
- over time re-assessing the storage level assigned to the object;
- allocating a new storage level to the object as a result of a re-assessment;
- and
- in which when an object is allocated the highest level of storage the steps are performed of:
- simultaneously writing the object to disk and tape to form a parallel level of storage;
- writing disk storage information to the record header and thus on the index file to provide primary access on the disk for the object on receiving a data retrieval request;
- and
- storing the tapes off-line;
- on allocating a new lower storage level to the object as a result of re-assessment, the steps are performed of:
- deleting the data from the disk;
- and
- having the tape system controller handle the object and its tape in the appropriate manner within the tape system for that new storage level;
- on receiving a data retrieval request carrying out the steps of:
- addressing the index files with the primary key and the storage date and accessing the relevant disk or tape and disk or tape position information;
- and
- transmitting read instructions to the appropriate system.
A process for the storage and retrieval of data on a tape system including a tape drive with on-line tape storage and off-line retrieval, the process being carried out by a database controller, a data processor and a tape system controller and in which the tape system derives as a host tape system a plurality of clients for each through a client host interface the process comprising the steps of:
- setting up a database structure including a single volume type dataset for a plurality of data objects containing one or more variable length logical records;
- creating a hierarchy of storage levels based on perceived levels of activity for data objects written to the database to provide separate specific storage levels;
- allocating a tape to a specific storage level;
- allocating an appropriate proportion of the storage capacity of that tape for storage of objects at that specific storage level;
- and
- setting up an index file for the database comprising a single index control record with tape system initialisation data for each object;
- on receiving an object storage request for the system from a client carrying out the steps of:
- allocating a storage level to the object;
- assigning the object to an appropriate tape for that storage level;
- creating a new record header within the tape for that object, the header including
- a primary key, a storage date and at least storage level information;
- writing the object to the tape in sequence after the record header;
- entering the record header and associated tape position information on the index file;
- over time re-assessing the storage level assigned to the object;
- allocating a new storage level to the object as a result of a re-assessment;
- altering the record header for the object within the tape and the index file to reflect the new storage level;
- and
- having the tape system controller handle the object in the appropriate manner within the tape system for that storage level;
- and
- on a data retrieval request being generated by a client:
- transmitting the request from a client input device to a client interface to determine the validity of the request and the request is accepted or rejected;
- storing a valid request as a client request queue on a client task scheduler;
- transmitting the request to the client/host interface to determine the validity of the request in accordance with host acceptance rules and the request is accepted or rejected;
- transmitting a valid request to a host task scheduler where a valid request is accepted for processing or rejected;
- entering an accepted request into a database queue within the database controller;
- addressing the index file with the primary key and the storage date and the relevant index entry record is accessed to determine the tape and position on the tape where the data object is stored;
- transmitting read instructions to the tape system controller;
- sending the data object to the host task transmitter;
- transmitting the requested data object to the client host interface;
- and
- transmitting the requested data object to the client host interface;
- and
- the request is removed from the client request queue.
Dependencies are inferred from the claim text.