Process of transferring file, process of gaining access to data and process of writing data
First Claim
1. A process of transferring requested data from a file, held in a first physical order in a first sequential access type auxiliary memory contained in a first computing system and formed of block data arranged in a logical order, to a second sequential access type auxiliary memory, the process comprising the steps of:
- detecting physical positions of a group of the block data that includes the requested data;
determining a read order of the group of block data on the basis of the physical positions to obtain a read time that is less than a read time using the logical order;
reading the group of block data sequentially from the first sequential access type auxiliary memory in the read order;
selecting a group of data blocks of a size to hold the group of block data, from among data blocks in the second sequential access type auxiliary memory;
determining a write order of the group of data blocks on the basis of physical positional relations of the group of data blocks; and
writing the group of block data in the read order to the group of data blocks in the write order.
1 Assignment
0 Petitions
Accused Products
Abstract
To transfer a file comprising block data at high speed between sequential access type auxiliary memories, a file transmission program inquires of an operating system about the physical storage positions of the block data, determines a reading order to reduce the read access time on the basis of the results of inquiry, and issues read requests sequentially to the operating system according to the reading order. The file transmission program requests the operating system to transmit the read block data. The block data together with respective logical identification data, for example, logical block numbers, are transmitted to a receiving end which may be another computing system. The operating system at the receiving end is requested to secure the number of physical data blocks required to store the block data. The write order of the block data to the physical data blocks is then determined to reduce the access time and the block data are respectively stored in the secured physical data blocks according to the write order. Sequentially, a pair of the logical identifiers of each block data actually written to the data area and physical identification data of the data blocks are stored in the data area.
35 Citations
26 Claims
-
1. A process of transferring requested data from a file, held in a first physical order in a first sequential access type auxiliary memory contained in a first computing system and formed of block data arranged in a logical order, to a second sequential access type auxiliary memory, the process comprising the steps of:
-
detecting physical positions of a group of the block data that includes the requested data; determining a read order of the group of block data on the basis of the physical positions to obtain a read time that is less than a read time using the logical order; reading the group of block data sequentially from the first sequential access type auxiliary memory in the read order; selecting a group of data blocks of a size to hold the group of block data, from among data blocks in the second sequential access type auxiliary memory; determining a write order of the group of data blocks on the basis of physical positional relations of the group of data blocks; and writing the group of block data in the read order to the group of data blocks in the write order. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 21)
-
-
11. A process of transferring a file formed of a group of block data, comprising:
-
detecting physical positional relationships of a first group of physical data areas holding the group of block data arranged in a logical order in a first sequential access auxiliary memory by a first file transfer program running in a first computing system; determining a read order of the group of block data on the basis of the physical positional relationships by the first file transfer program in such a manner as to reduce read time; sequentially in the read order, issuing from the first file transfer program a plurality of read requests, each designating one block data out of the group of block data and logical identification data so that the group of block data may be read out of the first sequential access auxiliary memory in the read order; under control of a first operating system being run in the first computing system, sequentially executing the read requests in the read order to control reading the block data from the first auxiliary memory; transferring the group of block data together with the logical identification data sequentially from the first computing system to a second computing system in the read order; writing the block data sequentially to a second group of physical data areas in a second sequential access auxiliary memory in the second computing system; and storing the logical identification data together with the block data to the second sequential access auxiliary memory. - View Dependent Claims (12, 13, 14)
-
-
15. A process of writing data as a group of block data, which constitute a file and are arranged in a logical order, to a sequential access type auxiliary memory contained in a computing system in a different order from the logical order, comprising the steps of:
-
from an application program running in the computing system, requesting an operating system running in the computing system to control reading and writing of data from and to the auxiliary memory to select a plurality of physical data areas necessary for storing the group of block data in the auxiliary memory; selecting the group of physical data areas by the operating system; notifying the application program of the group of physical data areas from the operating system; temporarily allocating a group of temporary logical identification data for relatively identifying a group of data blocks to be held in the group of physical data areas; determining a write order of the group of physical data areas on the basis of physical positional relationships of the group of physical data areas by the application program in such a manner as to reduce time required to write the block data to the group of physical data areas; sequentially issuing from the application program a plurality of write requests designating the physical data areas in the write order, each including the temporary logical identification data and one block data; writing the block data designated by the write requests under the control of the operating system to the group of physical data areas to which the temporary logical identification data designated by the write requests has been allocated; and allocating logical identification data according to the logical order of the group of block data to each of the group of physical data areas by the operating system in place of the temporary logical identification data.
-
-
16. A process of parallel accessing block data, which belong to different files held in a sequential access type auxiliary memory in a computing system, from a plurality of application programs running in the computing system, the process comprising the steps of:
-
issuing from each of the plurality of application programs data access requests in parallel, each including logical identification data of the block data to be accessed in the auxiliary memory; holding in a queue at least one unexecuted data access request that has been issued from each application program; detecting physical data blocks in the auxiliary memory logically corresponding to the queued data access requests; determining an access order to the physical data blocks on the basis of positions of the physical data blocks and of read heads relative to the physical data blocks in such a manner as to reduce access time from a time that would be required to access in order the logical identification data; executing the queued data access requests according to the access order so as to access the physical data blocks; and repeating the above detecting, determining and executing steps. - View Dependent Claims (17, 18)
-
-
19. A process of transferring requested data from a file, held in a first physical order in a first sequential access type auxiliary memory contained in a first computing system and formed of block data arranged in a logical order, to a second sequential access type auxiliary memory, the process comprising the steps of:
-
detecting physical positions of a group of the block data that includes the requested data; determining a read order of the group of block data on the basis of the physical positions to obtain a read time that is less than a read time using the logical order; reading the group of block data sequentially from the first sequential access type auxiliary memory in the read order; selecting a group of data blocks of a size to hold the group of block data, from among data blocks in the second sequential access type auxiliary memory; and writing the group of block data in the read order to the group of data blocks. - View Dependent Claims (20, 22, 23, 24, 25)
-
-
26. A process of writing data as a group of block data which constitute a file to a sequential access type auxiliary memory contained in a computing system, comprising the steps performed by the computing system of:
-
receiving in the computing system information of an amount of block data in the group of block data to be received; thereafter selecting a plurality of physical data areas necessary for storing the group of block data in the auxiliary memory on the basis of the amount; temporarily allocating a group of temporary logical identification data for relatively identifying a group of data blocks to be held in the group of physical data areas; determining a write order of the group of physical data areas on the basis of physical positional relationships of the group of physical data areas in such a manner as to reduce time required to write the block data to the group of physical data areas; sequentially issuing from the application program a plurality of write requests designating the physical data areas in the write order, each including the temporary logical identification data and one block data; receiving some of the block data one of before and after said selecting, allocating, determining and issuing step; writing the some of the block data designated by the write requests under the control of the operating system to the group of physical data areas to which the temporary logical identification data designated by the write requests has been allocated; receiving a remainder of the block data one of before and after said selecting, allocating, determining and issuing step; writing a remainder of the block data designated by the write requests under the control of the operating system to the group of physical data areas to which the temporary logical identification data designated by the write requests has been allocated; and allocating logical identification data according to the logical order of the group of block data to each of the group of physical data areas by the operating system in place of the temporary logical identification data.
-
Specification