Technique for providing information on time to read a file
Granted 12 May 2020 · 6 office actions
Assignee: International Business Machines
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Tohru Hasegawa, Hiroshi Itagaki, Shinsuke Mitsuma, Terue Watanabe +1 · Examiner: Baboucarr Faal · AU 2131 · TC 2100
Life of the application
26 dated eventsAbstract
An information providing system and method, including a computer, for providing time taken to read a file, which includes an acquisition unit. The acquisition unit obtains information on a recording position of a file when the file is recorded in a storage device. A recording unit writes information on the obtained recording position to an index referred to access the file. A calculation unit calculates time taken to read the file using the information on the recording position written to the index in response to a request to obtain the time taken to read the file, and providing the calculated time to a requester that requests the time.
Description
8 parts›BACKGROUND
The present invention relates to a system and a method for providing information on the time taken to read a file, as well as a program for executing the method.
Examples of a storage device for storing data include a solid state drive (SSD), a hard disk drive (HDD), and a magnetic tape medium (hereinafter simply referred to as tape). The storage device stores data as a file. The file is managed with a file system using information (metadata) on the file as an index.
If a tape is used as a storage device, for example, a linear tape file system (LTFS) is used as the file system. When a file is recorded on a tape in the LTFS format, it takes several minutes to scan the tape from one end to the other end because tape is a long recording medium extending in one direction, and thus read time varies significantly depending on the recording position of the file on the tape.
Internet Explorer® provided by Microsoft® obtains the time taken to transfer a file by measuring a file transfer rate after starting the transfer and dividing the size of the file by the transfer rate and provides information on the time by means of display or the like.
In the case of tape, the time for a reading head to move to a file recording position on the tape (seek time) is needed before file transfer is started, during which the time taken for the transfer cannot be updated. Furthermore, with the LTFS, if data is added to the tape, fragments of the data are separately recorded on a plurality of positions of the tape. Thus, the LTFS reads the data while seeking all the fragments. This makes it difficult to predict the time from the start of reading the file to the end thus making it impossible to provide correct read time.
To predict the time taken to read a file on a tape, a method for calculating the time taken to read data recorded on a tape in a tape library has been proposed (for example, see PCT International Publication No. WO2010/035617).
›SUMMARY
When a file is recording on a tape in the LTFS format, an index, which is information on the file, is also recorded on the tape. The index includes file name, data size, record time, etc. The recording position of the file on the tape is indicated by a position in a longitudinal direction of the tape (hereinafter referred to as LPOS) and a position in a lateral direction perpendicular to the longitudinal direction (hereinafter referred to as Wrap). A tape drive reads and writes data on the basis of Wrap and LPOS, but the LTFS does not detect at which Wrap and LPOS the file is recorded. Thus, to calculate the time taken to read a file in a tape, the method disclosed in PCT International Publication No. WO2010/035617, needs to mount the tape and obtain positional information on the file recorded in the tape and, for data recorded at intervals due to addition, the method cannot disadvantageously provide correct read time, as described above.
In one embodiment according to the invention, an information providing system, including a computer, provides time taken to read a file. The information providing system includes an acquisition unit which obtains information on a recording position of a file when the file is recorded in a storage device. A recording unit writes information on the obtained recording position to an index referred to access the file. A calculation unit calculates time taken to read the file using the information on the recording position written to the index in response to a request to obtain the time taken to read the file, and providing the calculated time to a requestor that requests the time.
In another embodiment according to the invention, a method executed by an information providing system for providing time taken to read a file, includes: obtaining information on a recording position of a file when the file is recorded in a storage device; writing information on the obtained recording position to an index referred to access the file; and calculating time taken to read the file using the information on the recording position written to the index in response to a request to obtain the time taken to read the file; and providing the calculated time to a requestor that requests the time taken to read the file.
In another embodiment according to the invention, a computer program product provides time taken to read a file. The computer program product comprising a computer readable storage medium having program instructions embodied therewith, and the program instructions executable by a computer to cause the computer to perform a method, comprising: obtaining information on a recording position of a file when the file is recorded in a storage device; writing information on the obtained recording position to an index referred to access the file; calculating time taken to read the file using the information on the recording position written to the index in response to a request to obtain the time taken to read the file; and providing the calculated time to a requestor that requests the time taken to read the file.
›BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
FIG. 1 is a diagram illustrating an example of the layout of files recorded on a tape.
FIG. 2 is a diagram showing a configuration example of an information providing system.
FIG. 3 is a diagram illustrating an example of the software configuration of the information providing system.
FIG. 4 is a functional block diagram of the information providing system.
FIG. 5 is a diagram showing an example of an index to which information on an obtained recording position.
FIG. 6 is a diagram illustrating recording positions of a file recorded on a tape.
FIG. 7 is a diagram illustrating recording positions of a file recorded on a tape.
FIG. 8 is a flowchart for a process performed by the information providing system.
›DETAILED DESCRIPTION · 1 of 5
When a file is recording on a tape in the LTFS format, an index, which is information on the file, is also recorded on the tape. The index includes file name, data size, record time, etc. The tape library connects to a server unit. The server unit that has received a read request or a write request reads or writes the file from or to the tape library. At that time, the tape is mounted so that an application implemented in the server unit can use the file on the tape with the LTFS. When the tape is mounted, the server unit reads an index for use with the LTFS from the tape and stores the index in a cache of the server unit.
Referring to FIG. 1 , with the LTFS format, if a tape 1 to which a file 2 is added has a file 3 recorded on it, a fragment of data in the file 2 is recorded following a file 3 , as shown in FIG. 1 . Thus, the file 2 is placed at intervals on the tape 1 . Information on the fragment of the data is recorded in a predetermined area called “extent” provided in the index. The extent stores, as information on the fragment of the data, the offset of the fragment in the file, the block number on the tape, the byte count, etc. The block number is a sequential number on the tape but does not indicate the recording position of the file on the tape.
The recording position of the file on the tape is indicated by a position in a longitudinal direction of the tape (hereinafter referred to as LPOS) and a position in a lateral direction perpendicular to the longitudinal direction (hereinafter referred to as Wrap). A tape drive reads and writes data on the basis of Wrap and LPOS, but the LTFS does not detect at which Wrap and LPOS the file is recorded.
Thus, to calculate the time taken to read a file in a tape, the method disclosed in PCT International Publication No. WO2010/035617 needs to mount the tape and obtain positional information on the file recorded in the tape and, for data recorded at intervals due to addition, the method cannot disadvantageously provide correct read time, as described above.
In view of the above problems, the embodiments of the present invention provide an information providing system for providing time taken to read a file. The system includes acquisition means, embodied as an acquisition unit, for obtaining information on a recording position of a file when the file is recorded in a storage device. A recording means, embodied as a recording unit, for writing information on the obtained recording position to an index referred to access the file. A calculation means, embodied as a calculation unit, for calculating time taken to read the file using the information on the recording position written to the index in response to a request to obtain the time taken to read the file and providing the calculated time to a requestor that requests the time.
The embodiments of the present invention allow provision of correct time taken to read a file recorded on a storage device without the need for accessing the storage device as the need arises.
Although the present invention will be described based on specific embodiments shown in the drawings, the present invention is not limited thereto. FIG. 2 is a diagram showing a configuration example of an information providing system 10 . The information providing system 10 calculates the time taken to read a file in response to a read-time acquisition request and provides the calculated read time. This time can be presented to a user on a display or the like.
The information providing system 10 includes a storage device for recording files and an information processing unit that calculates the time taken to read a file from the storage device and provides the calculated time. In FIG. 2 , the storage device includes a tape 11 and a tape drive 12 that reads and writes a file from/to the tape 11 , and the information processing unit is a server unit 13 connected to the tape drive 12 . This configuration is given for mere illustration and is not intended to limit the present invention.
Thus, the storage device may be an SSD or an HDD, and the information processing unit may be a PC, a tablet terminal, a workstation, and the like. The numbers of storage devices and information processing unit may not be one, respectively, but may be two or more. Although the storage device shown in FIG. 2 includes only the tape 11 and the tape drive 12 in which the tape 11 is to be inserted, a tape library which manages and operates a plurality of tapes and in which a plurality of tape drives are installed may be used.
In FIG. 2 , the tape drive 12 and the server unit 13 are connected together with a cable or the like; alternatively, they may be connected over a network, such as a local area network (LAN), a wide area network (WAN), or the Internet. The network may be either a wired network or a wireless network.
An example of the tape 11 is a tape cartridge in which magnetic tape is wound around a reel. The tape drive 12 includes an insertion opening through which the cartridge is to be inserted. The tape 11 can be set by inserting the cartridge into the insertion opening. The tape drive 12 reads and writes a file from/to the tape 11 set in the tape drive 12 in response to an instruction from the server unit 13 .
The tape drive 12 may include, for example, an input/output I/F that receives an instruction to write and read a file to/from the tape 11 via a file system from an application implemented in the server unit 13 ; a memory that accumulates files to be written and read files; a head that actually writes and reads files to/from the tape 11 ; a driving unit that rotates the reel at a regular rotational speed; and a controller that controls the entire tape drive 12 .
The server unit 13 may include either one computer or a plurality of computers connected together so that the individual computers execute parallel processing as nodes. The server unit 13 includes a CPU 14 that controls the entire server unit 13 , a ROM 15 , a RAM 16 , a HDD 17 , and an input/output I/F 18 . They are connected together with a bus 19 for transferring information.
›DETAILED DESCRIPTION · 2 of 5
The ROM 15 stores a boot program for starting the server unit 13 and firmware for controlling the tape drive 12 connected to the server unit 13 , etc. The RAM 16 provides a working area for the CPU 14 and is used as a cache for the HDD 17 for high-speed processing. The HDD 17 stores an OS and a program for calculating the file read time and providing the calculated read time. The HDD 17 can further store various application programs running on the OS, data necessary for the application programs, etc.
The input/output I/F 18 connects to the tape drive 12 and receives instructions to write and read a file to/from the tape 11 from an application via the file system and outputs the instructions to the tape drive 12 . The input/output I/F 18 also transfers a target file to the tape drive 12 . The file is read and obtained using the tape drive 12 .
The tape 11 stores an index, which is metadata stored in a format that a files system, such as an LTFS, for managing files can use. When the tape 11 is inserted, or mounted, into the tape drive 12 , the file system of the server unit 13 reads the index stored in the tape 11 via the input/output I/F 18 and stores the index in a cache. This allows the file system to respond to an inquiry for the file on the tape 11 , etc. from an application.
The server unit 13 can further include as hardware an external storage I/F, a network I/F, an input device, a display device, an audio input device, an audio output device, and so on. The external storage I/F is an interface for connecting to an external HDD or the like. The network I/F is an interface for connecting to a network. The input device is a device for inputting data and so on, such as a keyboard and a mouse. The display device is device for displaying the state and result of processing, such as a display.
The server unit 13 may be connected to a network so as to be connected to the computer of a user or an administrator who manages the information providing system 10 via the network.
FIG. 3 is a diagram illustrating an example of the software configuration of the information providing system 10 . The server unit 13 can implement, in addition to the OS, such as a Linux® OS, a Windows® OS, or a Mac® OS, an application 20 running on the OS for requesting to obtain file read time. The application 20 may be any application that requests to obtain the time. The application 20 may be implemented in the computer of the user or the administrator, described above.
The tape 11 includes one or more files written in a format that an LTFS 21 manages and indices 22 that the LTFS 21 manages. The server unit 13 implements, in addition to the application 20 and the LTFS 21 , a device driver 24 that allows access to the indices 22 that the LTFS 21 read in a cache 23 and the files on the tape 11 . Thus, specifically, an instruction to write or read a file to/from the tape 11 is output from the application 20 to the tape drive 12 via the LTFS 21 and the device driver 24 . In FIG. 3 , the indices 22 are read and stored in the cache 23 .
An example in which a Linux® OS is used will be described. A request to obtain file read time can be made using ioctl (input/output control) system call from the application 20 . The ioctl system call can be called by a user process from a user's or administrator's computer and can also be used to change device settings and to read the settings. For a Windows® OS, the same request as with the ioctl system call can be made using a function DeviceIoControl( ).
In the ioctl system call, an ioctl command constant (LTFS_FILE_READ_TIME) can be defined to obtain file read time. For the LTFS 21 , a read time calculation function (ltfs_file_read_time( )), which is called using the defined ioctl command constant, is prepared.
The application 20 calls the function in the LTFS 21 with the ioctl system call using file name, file path, ioctl command constant, and the offset and data size of the file as parameters for the ioctl system call. With the function, read time is calculated from the offset and data size of the target data in the file, which are set in the received parameters, and the result is set into a structure and is returned to the application 20 .
The application 20 can perform the ioctl system call as needed at file reading to obtain remaining, changing read time, and can display the time on a display device or the like.
FIG. 4 is a functional block diagram for performing the process. The information providing system 10 includes, its functional units, an acquisition unit 30 , a recording unit 31 , and a calculation unit 32 . When a file is recorded in a storage device, such as the tape 11 , the acquisition unit 30 obtains information on the recording position of the file. Writing of the file to the tape 11 is performed by the tape drive 12 in response to an instruction from the application 20 via the file system. The acquisition unit 30 obtains the actual position of the file written on the tape 11 by the tape drive 12 , specifically, Wrap and LPOS at the start of writing and Wrap and LPOS at the end of writing, from the tape drive 12 .
For example, Wrap and LPOS can be obtained from sense data or mode page data indicating the operating state of the tape drive 12 obtained using a small computer system interface (SCSI) command. Alternatively, Wrap and LPOS can be obtained using a method of implementing a command to specify write data and obtain Wrap and LPOS in the tape drive 12 . The sense data and the mode page data include, in addition to information on a file recording start position and a file-recording end position, the positional information on the head, from which the Wrap and LPOS of the head can be obtained.
The recording unit 31 writes the information on the recording position of the file obtained by the acquisition unit 30 to an index to be referred to access the file. The LTFS 21 creates extent in the index when recording the data. FIG. 5 is a diagram 100 showing an example of the index. In FIG. 5 , the part expressed in boldface is the created extent 104 , of which the italic part is the information on the recording position of the file.
›DETAILED DESCRIPTION · 3 of 5
The information written to extent includes the offset of the file (fileoffset), the block number at which recording of the file is started (startblock), and the byte count (bytecount), and in addition, a file-recording start position (startwrap, startlpos) and a file-recording end position (endwrap, endlpos).
Referring again to FIG. 4 , in response to a request to obtain file read time issued from the application 20 , the calculation unit 32 can calculate file read time from the information on the file-recording start position and the recording end position written to the index using calculation expressions described later. The calculation unit 32 can calculate the time until data reading is started and the time from the start of data reading to the end.
The calculation unit 32 can return the calculated times to the application 20 as calculation results so that the application 20 can display the times on a display device. The application 20 can only display the times but also output the times with voice. The times can be displayed on the display of another device connected to the network, for example, the display of a computer that the user or an administrator uses or can be output with voice from an audio output device of the external device, such as a speaker.
Referring to FIG. 6 , addition of data to the tape 11 will be described. The tape drive 12 loaded with the tape 11 receives an instruction from the application 20 via the file system and adds data to a designated recording position on the tape 11 . The added data is recorded on another block of the tape 11 separate from the previously recorded data, and another extent indicating the position is added to the index. Wrap and LPOS of the newly recorded data are recorded on the extent.
In the example shown in FIG. 6 , a diagram 150 is depicted wherein LP 3 and LP 4 are a recording start position and a recording end position in the data storage area in the longitudinal direction of the tape 11 , respectively. In the first Wrap, data is recorded from LP 3 to LP 4 ; in the second Wrap, data is reversely recorded from LP 4 to LP 3 ; and in the third Wrap, data is recorded from LP 3 to LP 4 . Although data is not recorded from Wrap at the end of the tape 11 in sequence, it is recorded from the top for simplicity.
In FIG. 6 , the first data is recorded from position S 1 to position E 1 on the tape 11 , and after another data is recorded, additional data is recorded from position S 2 to position E 2 . Specifically, the first data is recorded in W S1 from position S 1 to LP 3 , in the next Wrap, from LP 3 to LP 4 , and in the further next Wrap, from LP 4 to LP 3 , and in W E1 , from LP 3 to position E 1 . After another data is recorded, additional data is recorded in W S2 from position S 2 to LP 4 , and in W E2 , from LP 4 to position E 2 .
When the first data and additional data are recorded, the acquisition unit 30 obtains information on positions S 1 and S 2 , and after the first data and additional data are recorded, also obtains information on the recording end positions E 1 and E 2 . Specifically, the acquisition unit 30 obtains Wrap=W S1 and LPOS=L S1 as the information on position S 1 , and obtains Wrap=W S2 and LPOS=L S2 as the information on position S 2 . The acquisition unit 30 further obtains Wrap=W E1 and LPOS=L E1 as the information on position E 1 and obtains Wrap=W E2 and LPOS=L E2 as the information on position E 2 .
The recording unit 31 writes the information on the recording positions obtained by the acquisition unit 30 to extent created in the index. The recording unit 31 writes W S1 and L S1 of the position S 1 and W E1 and L E1 of position E 1 to extent in the index of the first data, and writes W S2 and L S2 of position S 2 and W E2 and L E2 of position E 2 to extent of the index of the additional data.
The calculation unit 32 calculates the time to the start of data reading (fileStartReadTime) and the time from the start of data reading to the end (fileLeftReadTime) using Wrap and LPOS recorded on the extent. The fileStartReadTime on the first data recorded in position S 1 to position E 1 can be calculated using the following Eq. 1, and the fileLeftReadTime can be calculated using the following Eq. 2.
In Eq. 1 and Eq. 2, LP 3 and LP 4 are LPOS of LP 3 and LP 4 , respectively; SR(LPOS/s) is the reading speed; SL(LPOS/s) is the speed of the head moving to a predetermined position on the tape 11 during seeking; and T WC (W n →W m ) is the function of the time taken to move from Wrap n to Wrap m. At any Wrap W, l(W) is a function which is LP 3 when LPOS at an end in the data recording direction is LP 3 , and which is LP 4 when the LPOS is LP 4 ; f(W En , W Sn ) is a function which is 1 when the difference between Wrap=W En at the recording end position and Wrap=W Sn at the recording start position is greater than 1, and otherwise, which is 0; and g(W En , W Sn ) is a function which is 0 when W En and W Sn are the same, and otherwise, which is 1. When the tape 11 is loaded, the head is at LP 3 . Thus, not the function l(W) but LP 3 is used in Eq. 1.
Eq. 1 is an expression in which the time taken for the head to move from the initial position Wrap=0 to Wrap of the recording start position and the time taken to move from LP 3 to any LPOS are added. Eq. 2 is an expression in which the time taken to transit Wrap if Wrap transits, the time taken to read data from end to end if Wrap transits and data is recorded from end to end in the same Wrap, the time taken to read data from the recording start position to the end and from the end to the recording end position if Wrap transits and data is not recorded from end to end in the same Wrap, and the time taken to read data from the recording start position to the recording end position if Wrap does not transit are added together.
Eq. 2 can be applied not only to the first data but also to additional data, allowing calculation of the time from the start of reading the additional data to the end. The time from the start of reading the file to the end includes, in addition to the time taken to read the first data and the additional data, the time taken for the head to move from the first-data recording end position to the additional-data recording start position. The time to the end of reading the file including this time (fileLeftReadTime) can be obtained using Eq. 3. In Eq. 3, N is the number of the last extent.
›DETAILED DESCRIPTION · 4 of 5
The time taken to read all additional data from the first data can be calculated using Eq. 3. If the tape 11 has already been mounted, the position of the head for use in writing and reading data is sometimes in an intermediate point on the tape 11 . In this case, if an instruction to obtain file read time is received from the application 20 , the head has to be moved from the intermediate point of the data to the file-reading start position.
The head in this case is located on a point (W cur , L cur ) on a table on which data corresponding to extent k is recorded, as shown in FIG. 7 in diagram 155 . The data corresponding to extent k may be either the first data or additional data. If the head is at an intermediate point of data, the time taken to return from the point to S 1 can be obtained using Eq. 4.
fileStartReadTime = T WC ( W cur → W S 1 ) + L cur - L S 1 S L [ Eq . 4 ]
The time taken to read the file can be obtained by adding fileLeftReadTime in Eq. 2 and Eq. 3 to the time taken to return to S 1 .
If sequential read time is required, and the time is calculated for provision, the time taken from an intermediate point to the end of reading has to be calculated and provided. The time taken to read extent data from an intermediate point to the recording end position can be calculated using Eq. 5 using the recording end position Wrap=W Ek and LPOS=L Ek .
The time taken to read remaining data corresponding to extent k+1 to extent N can be calculated using Eq. 6.
The time taken to read remaining data from the intermediate point to the end can be obtained by adding the time given by Eq. 5 and the time given by Eq. 6. The calculation unit 32 can perform sequential computation using Eq. 5 and Eq. 6 and sequentially provide changing remaining read time to the requestor that requests the time.
Although the time taken to read remaining data is obtained in this way, the present invention is not limited thereto; the time taken to read remaining data may be obtained by obtaining the time taken to read the entire data using Eq. 2 and the time taken to read to an intermediate point and obtaining the difference therebetween.
Referring to FIG. 8 , a flowchart for a process performed by the information providing system 10 will be described. The process is started from step 800 . At step 805 , the information providing system 10 receives a request to obtain file read time, in which file name, the offset of the file, and the length of data are specified, from the application 20 , which is a requestor that issues the request. Specifically, the information providing system 10 receives an inquiry using ioctl system call with the above parameters.
At step 810 , extent to be referred to in the index is determined on the basis of the file name, file offset, and data length specified in the request. The index includes extent to which the offset of the file is written, in addition to the attribute information, such as the file name and data length. This allows reference extent to be determined on the basis of the attribute information and so on.
At step 815 , information on the recording start position and the recording end position of the data is obtained from the determined extent. Specifically, Wrap and LPOS at the start of reading and Wrap and LPOS at the end of reading are obtained. At step 820 , it is determined whether the tape 11 has been mounted. When the tape 11 is mounted, the process goes to step 825 , at which the current position of the head is acquired from the information obtained from the tape drive 12 , and goes to step 830 . When the tape 11 is not mounted, the process goes directly to step 830 . The current position of the head can be obtained as information on Wrap and LPOS from sense data or the like obtained in response to the SCSI command.
At step 830 , fileStartReadTime and fileLeftReadTime are calculated from information on a predetermined initial position or the current position of the head and information on the file-recording start position and the recording end position of the file using the above equations. At step 835 , the calculation unit 32 returns the calculated fileStartReadTime and fileLeftReadTime to the requester application 20 . The application 20 displays the information on a display device, such as a display, and at step 840 , the information providing system 10 terminates the process.
Although the foregoing embodiment has been described as applied to a case where the time taken to read a file from the single application 20 is requested, one file can be read from a plurality of applications. In this case, the applications can inquire about read time as the need arises and return estimated read time at the time of inquiry.
Once a tape that can be accessed from a plurality of nodes is mounted, the index thereof is stored on a shared disk shared by the plurality of nodes. Thus, when the same file is to be read from the individual applications of the nodes, information on extent in the index stored in the shared disk can be read, and file read time can be calculated.
When a tape library in which a plurality of tapes and a plurality of drives are installed is used, if a target tape is not mounted, the time for the tape to be moved to a tape drive and set therein is needed. Thus, for the tape that is not mounted, the moving time in the library can be added to fileStartReadTime.
The moving time in the library can be set to extended attributes of the file. In this case, the set time can be obtained with reference to the extended attributes and can be added to fileStartReadTime. This time may be set in advance, may be regularly calculated for setting, or may be set in response to a request.
Not only the moving time in the library but also the time to read a file that is not mounted may be calculated in advance and may be set in the extended attributes of the file. This allows correct time taken to read the file to be provided faster.
If a Unix® OS is used, the values set in the extended attributes of the file can be read in response to “attr-g” command, which is a system command. If a Windows® OS is used, the values set in the extended attributes of the file can be read using an application programming interface (API). If Windows® OS is used, software called IBM LTFS Tools (provided by IBM) that provides the function of reading extended attributes can be used.
›DETAILED DESCRIPTION · 5 of 5
The cache 23 can be used as storage means for storing an index read from the tape 11 . The calculation unit 32 can calculate the time taken to read the file using the index. A determination unit may be provided to determine whether the tape 11 is mounted or not. Another determination unit may be provided so that, if it is determined that the tape 11 is mounted, it can be determined whether the head is on the tape 11 on which a file is recorded.
Thus, file read time can be provided without the need for accessing tape as need arises by recording the physical recording start position and recording end position of the file on the tape on the extent of the index, and if a request for file read time is given, by reading the information on the positions from the extent and calculating the read time and returning it. Even for a file in which additional data is recorded at intervals, correct read time can be provided.
Thereby, in the embodiments of the present disclosure described above, a system and method is provided for providing correct time taken to read a file recorded on a storage device without the need for accessing the storage device as the need arises. The system is an information providing system for providing time taken to read a file. The system includes acquisition means, embodied as an acquisition unit, for obtaining information on a recording position of a file when the file is recorded in a storage device; recording means, embodied as a recording unit, for writing information on the obtained recording position to an index referred to access the file; and calculation means, embodied as a calculating unit, for calculating time taken to read the file using the information on the recording position written to the index in response to a request to obtain the time taken to read the file and providing the calculated time to a requestor that requests the time.
Although a system, a method, and a program for providing information according to embodiments of the present invention have been described in detail with reference to the drawings, it is to be understood that modifications can be made within the scope that those skilled in the art can consider, for example, other embodiments, addition, changes, and deletion, and that any forms are included in the scope of the present invention provided that they offer the operational advantages of the present invention. Accordingly, a recording medium for recording the above program and a server unit that provides the program via a network or the like can also be provided.
Claims as granted
20 claimsLog in to read the claims of this application.
Log in to unlockClassifications
2 codes- G06F12/00
- G06F3/06
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock