1. Field of the Invention
This invention relates to a data transfer method for data communication performed between information processing terminal devices, when PCs (Personal Computers) or other information processing terminal devices are connected via a wire network or a wireless network. This invention also relates to a program to realize the data transfer method, to an information processing terminal device in which the data transfer method is used, and to an information system in which the data transfer method is employed.
2. Description of the Related Art
At present there exist a wide variety of information processing terminal devices, such as PCs (Personal Computers), PDAs (Personal Digital Assistants), portable telephones, and servers. By interconnecting these information processing terminal devices, either using wires or wirelessly, data is communicated between connected information processing terminal devices. For example, the central computer installed in a main office and the sub-computers installed in a plurality of branch offices may be connected by communication circuits, and in order to ensure that data is the same in the central computer and in the sub-computers, the time after the end of daily operations is used in automated transfer of the data in the central computer to the plurality of sub-computers.
When performing such data transfer, if there is a fault in the information processing terminal device on the receiving side (hereafter abbreviated to “receiving terminal”; in the above example, a sub-computer), or in the communication circuit connecting the two devices, then automated transfer cannot be performed, and so the information processing terminal device on the transmitting side (hereafter abbreviated to “transmitting terminal”; in the above example, the central computer), upon detecting a fault, abandons the transfer of data to the sub-computer, and initiates processing for data transfer to the next sub-computer. The transmitting terminal then schedules processing for retransmission of data, at a modified time, in order to again transmit data to the sub-computer to which data transfer was not performed. In this way, a backlog of data transmission processing is avoided.
Faults detected by a transmitting terminal are limited to system faults in the receiving terminal or in the communication circuits up to the receiving terminal, such as for example loss of the power supply of the receiving terminal; disconnection of the communication circuit between the transmitting terminal and the receiving terminal (including an unplugged cable); the occurrence of a hardware fault in the receiving terminal; failure of the receiving terminal OS (Operating System) to start; denial of login at the receiving terminal (account authentication error); and insufficient hard disk capacity at the receiving terminal (or, non-existence of the write destination).
In the prior art, fault detection is performed taking, as a basis for judgment, the continuation over a fixed length of time (a timeout time) of a state in which a response is not obtained from the receiving terminal; a number of methods have been proposed for setting the timeout time (for example, Japanese Patent Laid-open No. 2003-50762, Japanese Patent Laid-open No. 2000-71570, and Japanese Patent Laid-open No. 2003-333271).
However, the inventors of this application has confirmed that in some cases data transfer processing may be backlogged at a step of processing for a certain receiving terminal, despite the fact that no faults have occurred in either the receiving terminal, the transmitting terminal or in the communication circuit between the transmitting terminal and the receiving terminal. Such cases may be, for example, when a NIS (Network Information Service) server is constructed in which account information and similar for users using receiving terminals belonging to domains are stored in the domains belonging to the receiving terminals, and the NIS server is down, or when a file server is constructed in a domain and the file server goes down while the receiving terminal is writing data transferred from the transmitting terminal.
In the former case, if for example ftp (File Transfer Protocol) is used for the data transfer, during login authentication to the receiving terminal the receiving terminal repeats access until a NIS server fault can be detected. Thus there is a backlog of data transfer processing. In the latter case, the receiving terminal repeats access until a file server fault can be detected, and there is a backlog of data transfer processing.
In these cases, there is no anomaly in the communication circuit connecting the transmitting terminal and the receiving terminal, and responses from the receiving terminal can be confirmed, so that a fault is not detected by the transmitting terminal. Hence the transmitting terminal enters a semi-permanent wait state, and can neither switch the destination for transfer to a new receiving terminal and initiate data transfer processing, nor perform data resend processing. Consequently a situation occurs in which data transfer processing does not end even after the estimated time of the end of the operation passes, possibly even having an effect on the operations of the following day, and so is undesirable.
Hence one object of this invention is to provide a data transfer method, as well as a related data transfer program, data transfer processing terminal, and information system such that, even though conventionally the transmitting terminal detects no fault as described above, a situation in which overall operation time lags due to a backlog of data transfer processing is detected as a fault, and in this case data transfer processing can be switched to another receiving terminal.
The above objects are attained by the provision, as a first aspect of the invention, of a data transfer method for a first information processing terminal device to transfer data to a second information processing terminal device connected via a signal line to the first information processing terminal device, characterized in that the first information processing terminal device calculates the maximum required time according to the amount of data for transfer and transfer performance information relating to the connection between the first information processing terminal device and the second information processing terminal device; the first information processing terminal device, upon initiating processing to transfer the data, continuously confirms that the data transfer processing is in a state of execution from the time of initiation of the transfer processing for the data until the maximum required time has elapsed; and, when the maximum required time has elapsed, if the first information processing terminal device confirms that the data transfer processing initiated at the time of initiation is continuing, the first information processing terminal device forcibly ends the data transfer processing.
In a preferred embodiment of the above first aspect of the invention, the first information processing terminal device, upon confirming that the data transfer processing ends normally before the maximum required time has elapsed, updates the transfer performance information based on the amount of data transferred and on the time required for transfer of the data.
In a preferred embodiment of the above first aspect of the invention, the data transfer processing is executed as a background process, and the first information processing terminal device, when forcibly ending processing, issues a command to forcibly end the background process.
Further, the above objects are attained by the provision, as a second aspect of the invention, of a program characterized by causing a computer, which performs processing to transfer data to an information processing terminal device connected via a signal line, to calculate a maximum required time according to the amount of data for transfer and transfer performance information relating to the connection between the computer and the information processing terminal device; upon initiation by the computer of processing to transfer the data, to continuously confirm that the data transfer processing is in a state of execution from the time of initiation of the transfer processing for the data until the maximum required time has elapsed; and, when the maximum required time has elapsed, if it is confirmed that the data transfer processing initiated at the time of initiation is continuing, to forcibly end the data transfer processing.
Further, the above objects are attained by the provision, as a third aspect of the invention, of an information processing terminal device, which performs processing to transfer data to another information processing terminal device connected via a signal line, having a storage portion which stores a control program and transfer performance information relating to the connection between the information processing terminal device and the other information processing terminal device, and a control portion, which reads the control program from the storage portion and executes the data transfer processing; and which is characterized in that the control portion, through execution of the control program, realizes a calculation portion which calculates a maximum required time according to the amount of data for transfer and the transfer performance information; a monitoring portion which, upon initiation of data transfer processing by the control portion, continuously confirms that the data transfer processing is in an execution state from the time of initiation of the data transfer processing until the maximum required time has elapsed; and a cancellation portion which, when the maximum required time has elapsed, in cases where the data transfer processing initiated at the initiation time is confirmed to be continuing, forcibly ends the data transfer processing.
Further, the above objects are attained by the provision, as a fourth aspect of the invention, of an information system comprising a transmitting terminal which transmits stored data and a plurality of receiving terminals connected to the transmitting terminal via signal lines and which receive the data; the transmitting terminal of which has a storage portion which stores the data, a control program, and transfer performance information relating to the connections between the transmitting terminal and each of the receiving terminals, and a control portion which reads and executes the control program; and which is characterized in that the control portion, through execution of the control program, realizes a calculation portion which calculates a maximum required time according to the amount of data for transfer and the transfer performance information relating to the connection between the transmitting terminal and one receiving terminal specified among the plurality of receiving terminals; a monitoring portion which, upon initiation of processing to transfer the data to the one receiving terminal, continuously confirms that the data transfer processing is in an execution state from the time of initiation of the data transfer processing until the maximum required time has elapsed; and a cancellation portion which, when the maximum required time has elapsed, in cases where the data transfer processing initiated at the initiation time is confirmed to be continuing, forcibly ends the processing for data transfer to the one receiving terminal, and specifies to the calculation portion a new receiving terminal different from the one receiving terminal.
By means of this invention, a fault occurring in other than the receiving terminal or the communication circuit connecting the transmitting terminal to the receiving terminal can be detected by the transmitting terminal, and switching of data transmission to another receiving terminal, or data resend processing, can be performed. As a result, the transmitting terminal can be prevented from entering a semi-permanent wait state, and a situation in which data transfer processing does not end even when the predicted task end time has passed can be avoided.
Below, aspects of the invention are explained referring to the drawings. However, the technical scope of the invention is not limited to these aspects, but extends to the inventions described in the scope of claims and to inventions equivalent thereto.
At the location 100 accommodating the receiving terminal 101a, a LAN (Local Area Network) 105 is constructed, and is connected to a network 3 via a router 104. The LAN 105 is connected to a NIS server 102 which manages account information (for example, usernames and passwords) for users using the receiving terminals 101a and 101b and host information (host names and IP addresses) for the receiving terminals 101a, 101b, as well as to a file server 103 providing its own storage area to each of the receiving terminals as storage areas for receiving terminals comprised by the location 100.
Similarly at the location 200, a LAN 205 is constructed, and is connected to a network 3 via a router 204. The LAN 205 is likewise connected to a NIS server 202 and file server 203. A plurality of receiving terminals may exist at each of the locations, regardless of the number shown in
A characteristic of the aspect of the invention is that the transmitting terminal 1 calculates the maximum value of the time to be required for transfer, according to the amount of data for transfer and the transfer performance, related to the connection between the transmitting terminal and the receiving terminal which is the transfer destination. After processing for data transfer to the receiving terminal is initiated, if the data transfer processing is not completed even after this calculated prescribed time has elapsed, the data transfer processing is forcibly ended. Thus at location 1 in
The control portion 11 comprises a CPU (Central Processing Unit), not shown, which executes a program stored in RAM 12 and controls the various portions comprised by the information processing terminal device. The RAM 12 is storage means for temporarily storing a program and computation results in the processing of the information processing terminal device. The storage portion 13 is nonvolatile storage means such as a hard disk, optical disc, magnetic disc, flash memory or similar, and stores various data and an OS (Operating System) and other programs which are read into RAM 12.
The peripheral equipment I/F 15 is an interface to facilitate connection of peripheral equipment to the information processing terminal device, and is a parallel port, USB (Universal Serial Bus) port, PCI card slot, or similar. Peripheral equipment may be a printer, TV tuner, SCSI (Small Computer System Interface) equipment, audio equipment, drive device, memory card reader/writer, network interface card, wireless LAN card, modem card, keyboard or mouse, display device, or a variety of other devices. The mode of connection of the peripheral equipment and the information processing terminal device may be by wire or wirelessly.
The output portion 17 is output means which outputs information and provides a user with information, and is display means for displaying information to a user such as a CRT (Cathode Ray Tube), liquid crystal display, or similar. The input portion 16 is input means for input of requests by users, such as a keyboard or mouse.
The calculation portion 113, upon initiation of data transfer processing by the transmitting terminal 1, references the transfer data 132 of the storage portion 13, acquires the quantity of the data for transfer 132, references the transfer performance information 131, and obtains the “transfer performance” (see
“Transfer performance” is a value indicating the transfer capability relating to the connection between the transmitting terminal 1 and the receiving terminals, and is set in advance according to the bandwidth of the communication circuit used. The value indicating the transfer performance can be set taking into account, in addition to the bandwidth of the communication circuit, the performance of the network equipment used as communication circuit relays and the calculation performance ability of the transmitting terminal and receiving terminal. The transfer performance is updated as necessary through processing by the update portion 115 described below. Hence even if a theoretical value is set as the initial value, the value is modified so as to become smaller according to the conditions of actual transfers.
In
The “completion flag” is flag information indicating whether data transfer processing has been completed; this entry stores “done” for a receiving terminal for which the processing is completed, and stores “not yet” for a receiving terminal for which processing is not yet completed. In
Returning to
The monitoring portion 112 has time measurement means (not shown) to measure time, and when the maximum required time for data transfer processing is calculated by the calculation portion 113, starts the transfer execution portion 114 and periodically confirms the state of execution of the data transfer processing, from the initiation of transfer processing until the maximum required time has elapsed. If the data transfer processing continues even after the maximum required time has elapsed, the monitoring portion 112 starts the cancellation portion 111. If the data transfer processing ends before the maximum required time has elapsed, and it is confirmed that all of the transfer data 132 has been transferred normally to the receiving terminal, the monitoring portion 112 starts the update portion 115.
The transfer execution portion 114 uses a prescribed protocol to transmit the transfer data 132 to the receiving terminal. For example, the transfer execution portion 114 executes a command comprised by the OS (for example, an ftp command) to realize communication based on a prescribed protocol, to effect automated transfer.
The cancellation portion 111 is started by the monitoring portion 112 when the data transfer processing continues even after the maximum required time has elapsed, and forcibly ends the continuing data transfer processing. For example, the cancellation portion 111 executes a command comprised by the OS (for example, a “kill” command) to forcibly end a process generated by the above-mentioned ftp command, thus forcibly ending the process.
The update portion 115 is started when it is confirmed that all of the transfer data 132 has been transferred normally to the receiving terminal before the maximum required time has elapsed. The monitoring portion 112 can judge, by referencing the return value (end status information) of the ftp command in the above example, whether transfer to the receiving terminal has been completed normally. While there are differences depending on the OS, when for example all the data has been transferred normally the ftp command return value may be 0 (zero), whereas when an anomaly has occurred a return value may be returned according to the type of anomaly.
The update portion 115, upon being started, calculates a new transfer performance by dividing the total amount of transferred data 132 by the time actually required for transfer, and updates the transfer performance information (
In this aspect, a file for name resolution (for example, file /etc/hosts), used to convert the host name used in
Next, the calculation portion 113 calculates the maximum required time which is the time required for processing to transfer data to the receiving terminal selected in step S1 (S2). The calculation portion 113 references the transfer performance information 131 to obtain the transfer performance corresponding to the host determined in step S1, and references the storage portion 13 to obtain the amount of data for transfer 132. The calculation portion 113 then divides the amount of data by the transfer performance to calculate the maximum required time.
Next, the transfer execution portion 113 initiates data transfer processing (S3). When the maximum required time is calculated by the calculation portion 113 in step S2, the monitoring portion 112 explained using
In step S3, the transfer execution portion 114 references the file for name resolution stored in the storage portion 13, and obtains the IP address of the receiving terminal selected in step S1. The transfer execution portion 114 then executes, for example, an ftp command comprised by the OS, to initiate the transfer of transfer data 132 in the storage portion 13.
When the data transfer processing of step S3 is initiated, the monitoring portion 112 periodically confirms the data transfer processing initiated in step S3, that is, continuously monitors the data transfer, until the maximum required time calculated in step S2 has elapsed (S4). The intervals of confirmation by the monitoring portion 112 may be one second, or may be the maximum required time divided into n equal parts, and no constraints are imposed thereupon. If the transfer processing is for example performed by means of the above-described ftp command, then confirmation as to whether the data transfer processing is in a state of execution can be performed by the monitoring portion 112 by executing a process existence confirmation command (for example, a “ps” command), and judging whether the corresponding process exists.
When the monitoring portion 112 confirms that the data transfer processing is continuing (“Yes” in S4), the monitoring portion 112 then judges whether the maximum required time has elapsed from the initiation of data transfer processing in step S3 (S5). If data transfer processing is continuing even though the maximum required time has elapsed (“Yes” in S5), the cancellation portion 111 is started, and the cancellation portion 111 forcibly ends the continuing data transfer processing (S6). As explained in
When step S6 is completed, the cancellation portion 111 checks whether there is a “not yet” entry in the “completion flag” portion of the transfer performance information in
In step S4, if the monitoring portion 112 confirms that the data transfer processing has ended (“No” in S4), the monitoring portion 112 checks whether the data transfer processing has ended normally (S8). As explained above in
If processing has ended normally (“Yes” in S8), the update portion 115 calculates the new transfer performance by dividing the amount of the transferred data 132 by the time actually required for transfer, and updates the transfer performance information (
In step S5, if the maximum required time has not elapsed (“No” in S5), processing returns to step S4 and the continuation of data transfer processing is confirmed periodically. If in step S7 data transfer processing has been completed for all receiving terminals (“No” in S7), the operation of the transmitting terminal 1 ends.
By means of the aspect explained above, a transmitting terminal can detect a fault occurring in other than the receiving terminal or in the communication circuit connecting the transmitting terminal to the receiving terminal, and can switch data transfer to another receiving terminal or can perform data resend processing. By this means, the transmitting terminal can be prevented from entering a semi-permanent wait state, and a situation in which data transfer processing does not end even when the predicted task end time has passed can be avoided.
For example, when using an ftp command to perform data transfer processing, by causing the ftp command to be executed as a background process, the transmitting terminal can execute control to halt the process even when operation is not completed after the maximum required time has elapsed. And, the wait time can be calculated as the maximum required time according to the amount of transfer data and the transfer performance, and by executing control to monitor the process the transmitting terminal can be prevented from entering a semi-permanent wait state. Further, by setting a transfer performance for each receiving terminal, detailed settings can be set individually. And by measuring the actual data transfer performance and reflecting the measured results in the transfer performance setting, the calculated maximum required time can be optimized, to prevent the occurrence of reduction of the task time as a result of temporarily setting a long maximum required time and to prevent the occurrence of failure for data processing to end normally as a result of a temporarily setting a short maximum required time.
The NIS server and file server provided in each of the locations in
Number | Date | Country | Kind |
---|---|---|---|
2005-28135 | Feb 2005 | JP | national |