US 6,560,650 B1Grant
Computer system for controlling a data transfer
Issue Date:2003-05-06
•1 Claims
•19 Drawing Sheets
Abstract
When a failure is occurred in the Internet or a connection between a computer system and an Internet provider, a reconnection is performed automatically, and data are resent. Hence, a restoring operation can be made easily. Further, even when long data are re-transferred, a reliability can be ensured. When a receiving computer and the Internet provider are disconnected and reconnected, a sending computer receives an old IP address and a new IP address of the receiving computer, and compares the received old IP address and an old IP address stored in a connection information storage. When the IP addresses are matched, the data are re-transferred to the receiving computer by using the received new IP address.
Metadata
Assignee
- Mitsubishi Denki Kabushiki Kaisha
Inventor
- Isao Imai
Application Information
Application Number:US 09/349,486
Filing Date:1999-07-09
Priority Date:1999-02-25
Art Unit:7
Classifications
IPC:
G06F 1300
Field of Search:
709200709201709203709217709218709219709223709224709227709228709229
Patent Drawings (19 sheets)
Description
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] This invention relates to a system for controlling a data transfer between computers connected each other through a public telephone line by dialing up. Particularly, this invention relates to a system for controlling the data transfer, which can manage a failure occurred during a transmission processing.
[0004] 2. Description of the Related Art
[0005] Basically, there are two methods for connecting the computer to the Internet, i.e., a method for connecting the computer through the public telephone line by dialing up and a method for connecting the computer through a leased line.
[0006] In the method for connecting the computer by dialing up, the computer is not always connected to a network, e.g., the Internet, etc. When it is necessary, the computer is connected to the network through the public telephone line. Therefore, when a transmission data amount and a number of transmissions are small, this method is cheaper than the method using the leased line. Recently, this method is more adopted in a remote monitoring and controlling system of a small factory, etc.
[0007] A method related to this invention is disclosed in “A Direct Function Program between Internet users according to an IP Address Switching and its System,” in Japanese Unexamined Published Patent Application Hei 10-149325.
[0008] FIG. 18 illustrates a configuration of a transmission system between computers connected each other by dialing up according to the related art.
[0009] In FIG. 18, a server function program 1801 is provided in the Internet. The server function program 1801 manages IP (Internet protocol) addresses and current conditions of end-users centrally, who have logged in the Internet. In a side of the end-users of the Internet, client function programs 1802aand 1802bare provided. The client function program of the end-user sends its own IP address and current condition to the server function program 1801, and receives an IP address of another end-user, with which the end-user wants to communicate, from the server function program 1801.
[0010] According to this method, the client function programs 1802aand 1802bof the end-users, who have logged in the Internet, send their own IP addresses and current conditions to the server function program 1801 respectively. The client function programs 1802aand 1802breceive current IP addresses of other end-users from the server function program 1801 to connect to the other end-users directly, and send the current IP addresses to dialogue transmission systems 1804aand 1804b. Accordingly, the end-users can be connected each other directly, and a transmission processing can be realized.
[0011] A method related to this invention is also disclosed in “A Calling Method of a Transmission Apparatus Connected by Dialing Up and its Monitoring and Controlling System,” in Japanese Unexamined Published Patent Application Hei 10-155040.
[0012] FIG. 19 illustrates a configuration of a transmission system between computers connected each other by dialing up according to the related art.
[0013] In FIG. 19, each of transmission apparatuses 1902 and 1903 including connectors, computers, and telephones are connected to a telephone line 1904. The transmission apparatuses 1902 and 1903 are connected to Internet providers 1905 and 1906 via the telephone line 1904 respectively, and the Internet providers 1905 and 1906 are connected each other via Internet 1907.
[0014] According to this method, the transmission apparatus 1902 calls the transmission apparatus 1903 via the telephone line 1904, and sends a request for connecting to the transmission apparatus 1903. Then, both of the transmission apparatuses 1902 and 1903 disconnect the telephone line 1904 once. Then, the transmission apparatuses 1902 and 1903 call neighboring Internet providers 1905 and 1906, and connect to the Internet 1907 respectively. The transmission apparatuses 1902 and 1903 send their own IP addresses to e-mail addresses each other by e-mails. When both of the transmission apparatuses 1902 and 1903 confirm the IP addresses each other, both of the transmission apparatuses 1902 and 1903 can process the transmission by using the IP addresses in the Internet 1907.
SUMMARY OF THE INVENTION
[0015] According to the related art, the processing is performed as stated in the transmission system between the computers connected each other by dialing up. However, since a recovery processing from a failure is not considered, when a failure is occurred in the network during a transmission processing, the processing between the computers must be suspended, and restarted from a beginning of the processing.
[0016] Further, when a transmission apparatus and an Internet provider are disconnected due to a failure between the computers connected by dialing up, a user has to perform a troublesome operation for reconnecting.
[0017] Further, when the transmission is processed by using the Internet, possibilities of a loss of a packet and a transmission failure tend to increase in proportion to an increase of a data size of transmission data. Since a size of data transmitted between the computers is not considered according to the related art, when a transmission of data in a long size is processed, a reliability of the transmission can not be guaranteed.
[0018] Accordingly, it is an object of this invention to solve the above-stated problems in the related art. Even if a failure is occurred in the network, the processing can be continued by using a provided data retransmission function.
[0019] It is another object of this invention to reconnect to the Internet automatically in case that the connection to the Internet provider is disconnected by providing a provider information manager for managing connection information to the Internet provider.
[0020] It is also another object of this invention to ensure a reliability in a transmission processing of a long packet in the Internet by providing a packet-division transferor.
[0021] According to one aspect of this invention, a computer system for controlling a data transfer includes a first computer system for connecting to the Internet by dialing up an Internet provider, and a second computer system connected to the Internet.
[0022] The first computer system includes a provider connector, a first connection information memory, and a first data transferor. The provider connector receives an address of the first computer system from the Internet provider at a time of dialing up the Internet provider, the first connection information memory stores the received address of the first computer system, and the first data transferor sends the received address of the first computer system to the second computer system. Then, the provider connector receives a new address of the first computer system from the Internet provider at a time of redialing up the Internet provider, and the first data transferor sends the original address of the first computer system stored in the first connection information memory and the received new address of the first computer system to the second computer system.
[0023] The second computer system includes a second connection information memory and a second data transferor. The second data transferor receives the original address of the first computer system from the first computer system, and the second connection information memory stores the received original address of the first computer system. Then, the second data transferor receives the original address of the first computer system and the new address of the first computer system, and transfers data using the received new address of the first computer system as an address of the first computer system in case that the address of the first computer system stored in the second connection information memory and the received original address of the first computer system are matched.
[0024] According to another aspect of this invention, the computer system for controlling the data transfer connected to the Internet provider includes a provider information memory for storing a provider management information necessary for connecting to the Internet provider, and a provider connection performer for selecting an Internet provider for reconnecting to the Internet based on the provider management information stored in the provider information memory, and requesting the selected Internet provider to connect in case of being disconnected from the Internet provider.
[0025] According to another aspect of this invention, the computer system for controlling the data transfer connected to the Internet provider for sending requested data to the Internet includes a data transferor, a requested data memory, and a provider connection performer. The data transferor doesn't send the requested data in case of being disconnected from the Internet provider, and the requested data memory stores the requested data, which have not been sent. The provider connection performer requests connecting to one of the Internet provider and another Internet provider in case of being disconnected from the Internet provider, and the data transferor reads out the requested data stored in the requested data memory after being connected to the Internet provider, and sends the read-out requested data to the connected Internet provider.
[0026] According to another aspect of this invention, the computer system for controlling the data transfer includes a sending computer system for sending requested data using the Internet in accordance with a protocol of a connectionless type, and a receiving computer system for receiving the requested data using the Internet in accordance with the protocol of the connectionless type. The sending computer system includes a sending data transferor, and the receiving computer system comprises a receiving data transferor. The sending data transferor sends the requested data to the receiving computer system using the Internet in accordance with the protocol of the connectionless type, and the receiving data transferor receives the requested data from the sending computer system using the Internet in accordance with the protocol of the connectionless type, and sends an arrival confirmation message to the sending computer system after receiving the requested data. Then, the sending data transferor judges if the arrival confirmation message is received from the receiving computer system after an arrival confirmation time is passed after sending the requested data, and retransmits the requested data using the Internet in accordance with the protocol of the connectionless type in case that the arrival confirmation message is not received.
[0027] Further features and applications of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.
[0028] Other objects features, and advantages of the invention will be apparent from the following description when taken in conjunction with the accompany drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0029] FIG. 1 shows a whole configuration chart combining each of embodiments of the system for controlling the data transfer;
[0030] FIG. 2 illustrates a main configuration of the system in embodiment 1;
[0031] FIG. 3 shows an address information table managed by the date transfer processor;
[0032] FIG. 4 shows a flow chart of a processing operation of the sending computer in the system for controlling the data transfer in embodiment 1;
[0033] FIG. 5 shows a flow chart of a processing operation of the receiving computer in the system for controlling the data transfer in embodiment 1;
[0034] FIG. 6 illustrates a main configuration of the system in embodiment 2;
[0035] FIG. 7 shows a provider management information table managed by the provider connector;
[0036] FIG. 8 shows a flow chart of a processing operation in the system for controlling the data transfer in embodiment 2;
[0037] FIG. 9 shows a flow chart of a processing operation in the system for controlling the data transfer in embodiment 3;
[0038] FIG. 10 shows a flow chart of a processing operation in the system for controlling the data transfer in embodiment 4;
[0039] FIG. 11 illustrates an internal configuration of requested data sent and received between the computers;
[0040] FIG. 12 shows a flow chart of a processing operation in the system for controlling the data transfer in embodiment 5;
[0041] FIG. 13 illustrates a main configuration of the system in embodiment 6;
[0042] FIG. 14 shows a flow chart of a processing operation in the system for controlling the data transfer in embodiment 6;
[0043] FIG. 15 illustrates a main configuration of the system in embodiment 7;
[0044] FIG. 16 shows a flow chart of a processing operation in the system for controlling the data transfer in embodiment 7;
[0045] FIG. 17 shows a priority level table in embodiment 8;
[0046] FIG. 18 illustrates a configuration of the transmission system between the computers connected each other by dialing up according to the related art; and
[0047] FIG. 19 illustrates a configuration of the transmission system between the computers connected each other by dialing up according to the related art.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0048] Embodiments of this invention are explained with reference to the drawings.
Embodiment 1
[0049] In embodiment 1, when computers 100aand 100bare disconnected due to a failure in a dialing-up connection, the computers 100aand 100bcan be reconnected by negotiating each other based on address information provided before being disconnected.
[0050] Embodiment 1 is explained with reference to FIGS. 1-5.
[0051] FIG. 1 shows a whole configuration chart combining each of embodiments of the system for controlling the data transfer. FIG. 2 illustrates a main configuration of the system in embodiment 1. Embodiment 1 includes the configuration of FIG. 1. However, elements, which are not necessary for explanation of embodiment 1, are omitted in FIG. 2 to simplify the drawing for better understanding of characteristics. FIG. 3 shows an address information table managed by a data transfer processor 300. FIG. 4 shows a flow chart of a processing operation of a sending computer in the system for controlling the data transfer according to embodiment 1. FIG. 5 shows a flow chart of a processing operation of a receiving computer in the system for controlling the data transfer according to embodiment 1.
[0052] In FIG. 2, the system for controlling the data transfer is packaged in the computers 100aand 100b. In FIG. 2, connector 101aconnects the computer 100aand Internet provider 102aby using a telephone line, and connector 101bconnects the computer 100band Internet provider 102bby using the telephone line. Internet provider 102aconnects the computer 100ato the Internet, and Internet provider 102bconnects the computer 100bto the Internet. Application 103aissues the request for the data transfer in the computer 100a, and application 103bissues the request for the data transfer in the computer 100b. Information transmission processors 104aand 104binput and output data transferred between the computers 100aand 100bconnected through the Internet providers. Mail transmitters 105aand 105bsend and receive a mail between the computers 100aand 100b, and provider information storage 106astores information on the Internet providers, to which the computer 100acan be connected. (The storage is a so-called database, hereinafter.) Provider information storage 106bstores information on the Internet providers, to which the computer 100bcan be connected. Connection information storage 107amanages address information provided for the computers 100aand 100b, and connection information storage 107bmanages address information provided for the computers 100aand 100b. Mail information storage 108astores mail information from the computer 100b, and mail information storage 108bstores mail information from the computer 100a. Provider connector 200asupports processing for connecting the computer 100ato the Internet provider 102a, and provider connector 200bsupports processing for connecting the computer 100bto the Internet provider 102b. Provider connection performer 201aactually connects the computer 100ato the Internet provider 102a, and provider connection performer 201bactually connects the computer 100bto the Internet provider 102b. Data transfer processors 300aand 300bsupport processing for the data transfer from the applications. Data sender-receivers 301aand 301bsend and receive data between the computers 100aand 100b, and connection performers 302aand 302bperform processing for connecting for a transmission between the computers 100aand 100b. Failure detectors 303aand 303bdetect a cause of a failure occurred during the processing for the data transfer between the computers 100aand 100b. Mail transfer processor 400asupports sending of the mail to the computer 100band receiving of the mail by the computer 100b, and mail transfer processor 400bsupports sending of the mail to the computer 100aand receiving of the mail by the computer 100a. Mail sender 401agenerates and sends the mail to the computer 100b, and mail sender 401bgenerates and sends the mail to the computer 100a. Receiving mail checker 402aconfirms an arrival of the mail from the computer 100b, and receiving mail checker 402bconfirms an arrival of the mail from the computer 100a. Receiving mail obtainer 403areceives the mail from the mail information storage through the mail transmitter 105a, and receiving mail obtainer 403breceives the mail from the mail information storage through the mail transmitter 105b. Internet 109, telephone line 110, and transmission lines 111 and 112 are also illustrated in FIG. 2.
[0053] In FIG. 3, an address information table 3000 is illustrated. In this table, an IP address 3001 and a port number 3002 are shown.
[0054] Operations are explained.
[0055] The computer 100ais connected to the Internet provider 102aby a dialing-up connection, and the computer 100bis connected to the Internet provider 102bby a dialing-up connection. The dialing-up connection is a method for connecting the computer to the network, e.g., Internet by using the public telephone line, only when it is necessary. The computer is not always connected to the network in this method.
[0056] When the computer 100ais connected by dialing up, IP address for transmitting between the computers 100aand 100bis provided by the Internet provider. When the computer 100bis connected by dialing up, IP address for transmitting between the computers 100aand 100bis provided by the Internet provider.
[0057] In this invention, the data transfer processor 300ais provided between the application 103aand the data transmission processor 104afor processing the data transfer between the computers 100aand 100b, which are connected by dialing up. The data transfer processor 300bis provided between the application 103band the data transmission processor 104bfor processing the data transfer between the computers 100aand 100b, which are connected by dialing up. When there is a request for connecting for a transmission from the application 103ain the computer 100ato the application 103bin the computer 100b, a connection is established between the computers 100aand 100bthrough the connection performer 302ain the data transfer processor 300aand the connection performer 302bin the data transfer processor 300b. Then, the data sender-receiver 301ain the data transfer processor 300aand the data sender-receiver 301bin the data transfer processor 300bperform the data transfer between the computers 100aand 100bby a request for the data transfer from the application 103a. Hereinafter, the computer 100ais called as a sending computer, and the computer 100bis called as a receiving computer.
[0058] In the sending computer 100a, the request for the data transfer from the application 103ais sent to the data sender-receiver 301ain the data transfer processor 300a. In the data sender-receiver 301a, the address information table 3000 of the sending computer 100aand the receiving computer 100bis stored in the connection information storage 107a, and the data transfer from the sending computer 100ato the receiving computer 100bis processed.
[0059] An internal operation in the sending computer 100afor restoring the connection in case that a failure is occurred in the network is explained with reference to FIG. 4.
[0060] When the failure is occurred in the network during the data transfer from the sending computer 100ato the receiving computer 100b, the failure detector 303ain the data transfer processor 300achecks a response from the Internet provider 102aand the receiving computer 100bto specify a location of the failure. The responses obtained in the checking are in three combinations, i.e., (1) a response from the receiving computer 100b, but no response from the Internet provider 102a, (2) no response from the receiving computer 100b, and a response from the Internet provider 102a, and (3) no response from the receiving computer 100band the Internet provider 102a. In case of (1) and (3), the processing goes to step S4002, and in case of (2), the processing goes to step S4004 (step S4001).
[0061] Then, the connection performer 302ain the data transfer processor 300acalls the provider connection performer 201ain the provider connector 200a, and reconnects to the Internet provider 102a. The provider connection performer 201astores a telephone number of an access point, registered user name, and password for the disconnected Internet provider in the provider information storage 106a, in advance. The provider connection performer 201areconnects to the Internet provider based on the information in the provider information storage 106a, and obtains a new IP address from the Internet provider (step S4002).
[0062] The connection performer 302asends the stored address information of the sending computer 100a, the new IP address obtained in step S4002, and the user name to the receiving computer 100bthrough the mail transferor 401ain the mail transfer processor 400a(step S4003). In case of (1), the processing goes to step S4006, and in case of (3), the processing goes to step S4004.
[0063] When there is no response from the receiving computer 100b, the connection performer 302achecks a receipt of a new mail through a receiving mail checker 402ain the mail transfer processor 400a. Then, the connection performer 302acalls the receiving mail obtainer 403a, and obtains the new mail from the mail information storage 108athrough the mail transmitter 105a(step S4004).
[0064] In the connection performer 302a, the address information of the receiving computer before disconnecting is extracted from the obtained new mail, and compared with the address information of the receiving computer stored in the connection information storage 107a. If they are matched, the processing goes to the next step. If they are not matched, the processing goes back to step S4004 (step S4005).
[0065] The connection performer 302areconnects to the receiving computer based on the new address of the receiving computer obtained in step S4005 (step S4006).
[0066] An internal operation in the receiving computer 100bfor restoring the connection in case that a failure is occurred in the network is explained with reference to FIG. 5.
[0067] When the failure is occurred in the network during the data transfer from the sending computer 100ato the receiving computer 100b, the data sender-receiver 301bchecks a response from the Internet provider 102band the sending computer 100ato specify a location of the failure in the network. The response obtained in the checking are in three combinations, i.e., (1) a response from the sending computer 100a, but no response from the Internet provider 102b, (2) no response from the sending computer 100a, and a response from the Internet provider 102b, and (3) no response from the sending computer 100aand the Internet provider 102b. In case of (1) and (3), the processing goes to step S5002, and in case of (2), the processing goes to step S5004 (step S5001).
[0068] Then, the connection performer 302bin the data transfer processor 300bcalls the provider connection performer 201bin the provider connector 200b, and reconnects to the Internet provider 102b. The provider connection performer 201bstores necessary data for connecting to the Internet provider, i.e., the telephone number of the access point, registered user name, and password for the disconnected Internet provider 102bin the provider information storage 106b, in advance. The provider connection performer 201breconnects to the Internet provider, and obtains a new IP address from the Internet provider (step S5002).
[0069] The connection performer 302bsends the stored address information of the receiving computer 100b, the new IP address obtained in step S5002, and the user name to the sending computer 100athrough the mail transferor 401bin the mail transfer processor 400b(step S5003). In case of (1), the processing goes to step S5006, and in case of (3), the processing goes to step S5004.
[0070] When there is no response from the sending computer 100a, the connection performer 302bchecks a receipt of a new mail from the receiving computer through a receiving mail checker 402bin the mail transfer processor 400b. Then, the connection performer 302bcalls a receiving mail obtainer 403b, and obtains the new mail from the mail information storage 108bthrough the mail transmitter (step S5004).
[0071] In the connection performer 302b, the address information of the sending computer before disconnecting is extracted from the obtained new mail, and compared with the address information of the sending computer stored in the connection information storage. If these addresses are matched, the processing goes to the next step. If the addresses are not matched, the processing goes back to step S5004 (step S5005).
[0072] The connection performer 302baccepts a request for reconnecting from the sending computer (step S5006).
[0073] When there is the request for reconnecting, the connection performer 302bcompares the address of the computer requesting to connect and the new address of the sending computer obtained in step S5004. If the addresses are matched, the reconnection is completed. If the addresses are not matched, the processing goes back to step S5006 (step S5007).
[0074] As stated, in embodiment 1, even if a failure is occurred in the dial-up connection and the computers 100aand 100bare disconnected, the data transfer processor automatically restores the connection between the Internet provider and the computer, to which the data are transferred. Hence, the processing can be continued without influencing the application.
Embodiment 2
[0075] Embodiment 2 is explained with reference to FIGS. 6-8.
[0076] FIG. 6 illustrates a main configuration of embodiment 2. The embodiment 2 includes the configuration of FIG. 1. However, in FIG. 6, the elements which are not necessary for the explanation of embodiment 2 are omitted to simplify FIG. 6 for better understanding of the characteristics. FIG. 7 illustrates the provider management information table 7000 managed by the provider connectors 200aand 200b. FIG. 8 shows a flow chart of the processing by the system for controlling the data transfer in embodiment 2.
[0077] In FIG. 6, provider information managers 202aand 202bmanage connecting Internet provider information.
[0078] FIG. 7 illustrates the provider management information table 7000. A telephone number 7001 of an access point of the Internet provider, domain name system (DNS) server name 7002, user name 7003 registered to the Internet provider, and password 7004 are shown.
[0079] An internal operation of the sending computer 100ain embodiment 2 are explained with reference to FIG. 8.
[0080] When the request for the data transfer is sent from the application 103ato the data sender-receiver 301aof the data transfer processor 300ain the computer 100a, the request is sent to the transmission line 111athrough the information transmission processor 104a, and delivered to the computer 100bvia the Internet providers 102aand 102b.
[0081] If a failure is occurred between the computer 100aand the Internet providers 102ain the network, the provider connection performer 201ain the provider connector 200ais called through the connection performer 302ain the data transfer processor 300a. Then, a reconnection is requested to the Internet provider based on the provider information stored before disconnecting (steps S8001-S8003).
[0082] If the reconnection processing is failed, the provider information manager 202arefers to the provider information management table in the provider information storage 106a, and selects and decides a reconnecting Internet provider (step S8002).
[0083] The provider information manager 202aperforms the reconnection processing based on the provider information obtained in step S8002. If the reconnection processing is failed, the processing goes back to step S8002 (step S8003).
[0084] As stated, in embodiment 2, the provider connector automatically performs the processing for connecting to the Internet provider. Therefore, even if the connection to the disconnected Internet provider is failed, the processing can be continued by connecting to a substitute provider.
Embodiment 3
[0085] Embodiment 3 is explained with reference to FIG. 9.
[0086] FIG. 9 shows a flow chart of the processing operation of the system for controlling the data transfer in embodiment 3. An internal operation of the sending computer 100ain embodiment 3 is explained with reference to FIG. 9.
[0087] In embodiment 3, even if the computer 100aand the Internet provider 102aare disconnected, the request from the application 103ais accepted. When the connection is restored, the data can be sent to the receiving computer 100bconsecutively.
[0088] When the request for the data transfer is sent from the application 103ato the data sender-receiver 301ain the data transfer processor 300ain the computer 100a, if the computer 100aand the Internet provider 102aare disconnected, requested data (data requested to be transferred) are stored in a requested data queue in the connection information storage 107atemporarily (step S9001).
[0089] Then, the provider connection performer 201ain the provider connector 200ais called through the connection performer 302a, and a completion of reconnecting to the Internet provider 102 is waited (step S9002).
[0090] When the computer 100aand the Internet provider 102aare reconnected, and the data transfer processing between the computers 100aand 100bbecomes possible in step S9002, the data sender-receiver 301aextracts the requested data from the requested data queue in the connection information storage 107a(step S9003), and performs the processing for the data transfer to the receiving computer (step S9004).
[0091] If there remains the requested data in the queue, the processing goes back to step S9003. The processing is completed when no requested data are left in the queue (step S9005).
[0092] As stated, in embodiment 3, even if the sending computer and the Internet provider are disconnected, the request can be issued to the receiving computer without influencing the application.
Embodiment 4
[0093] Embodiment 4 is explained with reference to FIG. 10.
[0094] FIG. 10 shows a flow chart of the system for controlling the data transfer in embodiment 4.
[0095] An internal operation of the sending computer 100ain embodiment 4 is explained with an emphasis on the function of the data transfer processor 300awith reference to FIG. 10.
[0096] According to embodiment 4, even if the computer 100aand the Internet provider 102aare disconnected while the requested data are transferred between the computers 100aand 100b, the requested data can be resent from the sending computer 100a. Particularly, this invention is effective in a protocol for performing a connectionless type transmission, e.g., UDP (User Datagram Protocol), etc.
[0097] When the request for the data transfer from the application 103ais sent to the data sender-receiver 301ain the data transfer processor 300ain the sending computer 100a, the data are sent to the transmission line 111athrough the data transmission processor 104a, and delivered to the computer 100bthrough the Internet providers 102aand 102b(step S1011).
[0098] The data sender-receiver 301awaits for the arrival confirmation message from the receiving computer 100bfor a determined time (step S1012).
[0099] When the arrival confirmation message is received from the receiving computer 100b, the processing is completed. If the arrival confirmation message is not received, the processing goes back to step S1011 (step S1013).
[0100] The data transfer processor 300bin the receiving computer 100breceives the requested data from the sending computer 100aby the data sender-receiver 301b(step S1021), and returns the arrival confirmation message to the sending computer 100a(step S1022).
[0101] As stated, in embodiment 4, even if a failure is occurred in the network during the transfer of the requested data between the computers 100aand 100b, the data can be resent by using the arrival confirmation message from the receiving computer.
Embodiment 5
[0102] Embodiment 5 is explained with reference to FIGS. 11 and 12.
[0103] FIG. 11 illustrates an internal configuration of the requested data sent and received between the computers 100aand 100b. FIG. 12 shows a flow chart of the processing operation of the system for controlling the data transfer according to embodiment 5.
[0104] In FIG. 11, requested data 1100, header 1101 for storing identification data of the requested data, and data unit 1102 for storing the data sent and received between the computers 100aand 100b.
[0105] When overlapping requested data are transferred between the computers 100aand 100b, the receiving computer can judge if the data should be received according to embodiment 5.
[0106] When the data transfer processor 300areceives the request for the transfer of the requested data from the application 103a, the data transfer processor 300aattaches the header 1101 to the requested data, stores a unique number in the header for identifying the requested data, and transfers the data to the receiving computer 100b.
[0107] An internal operation of the receiving computer 100baccording to embodiment 5 is explained with reference to FIG. 12.
[0108] When the data transfer processor 300bin the receiving computer 100breceivers the requested data with the header, the data transfer processor 300bstores the requested data in the connection information storage 107b, and returns the request for the arrival confirmation to the sending computer 100a.
[0109] If the receiving computer 100breceives the requested data by using the data sender-receiver 301bin the data transfer processor 300b(step S1201), the receiving computer 100bcompares an identification number of the received requested data and an identification number of the requested data stored in the connection information storage (step S1202).
[0110] If these identification numbers are matched, the received requested data are deleted. If the identification numbers are not matched, the requested data are deleted. Then, the received new requested data are stored in the connection information storage (steps S1203 and S1204), and returns the arrival confirmation message to the sending computer (step S1205).
[0111] As stated, even if a failure is occurred in the network while returning the arrival confirmation message for the data transfer between the computers 100aand 100b, the receiving computer can judge if redundant requested data resent from the sending computer should be received by using the identification number attached to the requested data, and delete the received data, if necessary.
Embodiment 6
[0112] Embodiment 6 is explained with reference to FIGS. 13 and 14.
[0113] FIG. 13 illustrates a main configuration of embodiment 6. The embodiment 6 includes the configuration of FIG. 1. However, in FIG. 13, the elements which are not necessary for the explanation of embodiment 6 are omitted to simplify FIG. 13 for better understanding of the characteristics. FIG. 14 shows a flow chart of the processing operation by the system for controlling the data transfer in embodiment 6.
[0114] In FIG. 13, packet divider—couplers 304aand 304bdivide the requested data into packets, and couple the divided packets to restore the original requested data.
[0115] An internal operation of the receiving computer 100bin embodiment 6 is explained with reference to FIG. 14.
[0116] In embodiment 6, when the data in a long size, e.g., memory information, application program, etc. are transferred between the computers 100aand 100b, the data are divided into small packets, and transferred. Hence, troubles such as a failure in the network and a loss of a packet can be prevented.
[0117] The data transfer processor 300apredetermines a size of the data, which can be transferred at once. When a size of the data requested by the application 103ato be transferred exceeds the predetermined size of the data, the packet divider—coupler 304ain the data transfer processor 300adivides the data into the packets in the predetermined size (step S1411).
[0118] The header 1101 is attached to each of the packets. A unique identification number, total packet number, and current packet number are stored in the header (step S1412).
[0119] The data sender—receiver 301ain the sending computer 100asends the packets divided in step S1411 to the receiving computer 100bin an order of the packet numbers (step S1413), and receives the arrival confirmation message at the end (step S1414).
[0120] When the data sender—receiver 301bin the receiving computer 100breceives the packet transferred from the sending computer 100a(step S1421), the packet divider—coupler 304badds the received packet to the packets, which are already received (step S1422).
[0121] Then, the total packet number and the current packet number are compared by checking the header of the received packet. If it is confirmed that all the packets have been received, the processing goes to the next step, and if it is not confirmed, the processing goes back to step S1421 (step S1423).
[0122] When all the packets are received from the sending computer 100a, the arrival confirmation message is sent back to the sending computer (step S1424).
[0123] In the data transfer in the Internet, when a size of the transferring data increases, a possibility of a packet loss increases due to a capacity of the Internet provider, traffic condition of the network, and bandwidth.
[0124] As stated, in embodiment 6, when the data are transferred between the computers 100aand 100b, even if the data are in a big size, troubles such as a failure in the network and the loss of the packet are prevented by dividing the data to small packets.
Embodiment 7
[0125] Embodiment 7 is explained with reference to FIGS. 15 and 16.
[0126] FIG. 15 illustrates a main configuration of embodiment 7. The embodiment 7 includes the configuration of FIG. 1. However, in FIG. 15, the elements which are not necessary for the explanation of embodiment 7 are omitted to simplify FIG. 15 for better understanding of the characteristics. FIG. 16 shows a flow chart of the processing by the system for controlling the data transfer in embodiment 7.
[0127] In FIG. 15, a response setter 305asets a number of the transfer for issuing the arrival confirmation message transferred for the data transfer from the sending computer.
[0128] An internal operation of the receiving computer 100bin embodiment 7 is explained with reference to FIG. 15.
[0129] The application 103ain the sending computer 100arequests the data transfer processor 300ato connect for performing the data transfer. The data transfer processor 300a, which has received the request for connecting, extracts past transmission history information from the connection information storage 107a. The transmission history information includes the packet size of the data which could be sent and received continuously and a number of transmission and receipt. The response setter 305ain the data transfer processor 300asets a number Na of the transfer for issuing the arrival confirmation message to the sending computer (step S1611). (For example, when one arrival confirmation message is returned for three transmissions of the packet, Na=3.)
[0130] Then, the request for connecting is issued to the receiving computer together with the above set number Na (step S1612).
[0131] When the data transfer processor 300ain the sending computer 100areceives a connection completion message from the receiving computer 100b, the data transfer processor 300aregisters a number Nb of the transfer for issuing the arrival confirmation message to the receiving computer, which is received together with the connection completion message, in the data sender—receiver 301a(step S1613).
[0132] The receiving computer 100bbecomes a connection receiving condition for receiving a request for connecting from the sending computer 100a. The data transfer processor 300bextracts the past transmission history information from the connection information storage 107b, and the response setter 305bsets the number Nb of the transfer for issuing the arrival confirmation message to the receiving computer as in the sending computer 100a(step S1621).
[0133] Then, the number Na of the transfer for issuing the arrival confirmation message to the sending computer is received together with the request for connecting from the sending computer, and registered in the data transfer processor 300b(step S1622).
[0134] Finally, when the connection is completed, the number Nb of the transfer for issuing the arrival confirmation message to the receiving computer, which was set in step S1621, is sent back to the sending computer (step S1623).
[0135] In the computer system for controlling the data transfer, the receiving data transferor omits sending of the arrival confirmation message in N−1 time receiving of the packet among N (N is an integer, which is 1 or more) time receiving of the packet. The sending data transferor omits judging receipt of the arrival confirmation message in N−1 time sending of the requested data among N time sending of the packet, and re-sending the request time for N time as the re-sending packet in case that the arrival confirmation message is not received.
[0136] In the computer system for controlling the data transfer, the sending computer system includes a transmission history information memory for storing transmission history information, a response setter for determining the number N based on the transmission history information stored in the transmission history information memory, and a number N sender for sending the determined number N to the receiving computer system. The receiving computer system includes a number N receiver for receiving the number N from the sending computer system, and a number N memory for storing the received number N.
[0137] As stated, in embodiment 7, for the transmission of the requested data, the number of the transfer for issuing the arrival confirmation message is controlled based on the past transmission history information. Therefore, the transmission time necessary for transmitting the arrival confirmation message can be reduced. Hence, a total transmission processing ability can be improved.
Embodiment 8
[0138] In embodiment 7, the number of the transfer for issuing the arrival confirmation message sent back from the receiving computer 100bwas set based on the past history information. However, in embodiment 8, a priority shown in FIG. 17 is specified to set a number of the transfer for issuing the arrival confirmation message.
[0139] In step S1611 in embodiment 7, the application 103ain the sending computer 100asets a priority of the arrival confirmation message for issuing the request for connecting to the receiving computer 100b. The priority is sent to the receiving computer 100b.
[0140] When the receiving computer 100bbecomes a connection request receiving condition from the sending computer 100ain step S1621 in embodiment 7 the receiving computer 100balso sets a priority of the arrival confirmation message. When there is a request for connecting from the sending computer 100a, a response setter 305bof the data transfer processor 300bin the receiving computer 100bregisters the number of the transfer for issuing the arrival confirmation message obtained from the priority received from the sending computer 100abased on an arrival confirmation setting table 1700. For example, when the priority is set as one, the receiving computer 100breturns the arrival confirmation message in every time when there is the data transfer from the sending computer 100a.
[0141] Finally, the priority of the arrival confirmation message to the receiving computer 100bis sent together with a connection completion notice to the sending computer 100a. When the data transfer processor 300ain the sending computer 100areceives the priority of the arrival confirmation message, the data transfer processor 300aregisters the number of the transfer for issuing the arrival confirmation message to the receiving computer 100bas in the receiving computer 100b.
[0142] As stated, in embodiment 8., when the computers 100aand 100bare connected, a number of the arrival confirmation message transferred for the data transfer can be specified by setting the priority based on the importance of the transferred data, ability of the Internet provider, and the traffic condition of the network.
[0143] According to this invention, even if the computers are disconnected due to the failure in the dial-up connection, the data transfer processor automatically restores the connection to the Internet provider and the computer, to which the data are transferred. Hence, the processing can be continued without influencing the application.
[0144] According to this invention, the provider connector automatically performs the operation for connecting to the Internet provider. Therefore, even if the connection to the disconnected the provider, which was connected to before disconnecting is failed, the processing can be continued by connecting to the substitute provider.
[0145] According to this invention, even if the computer and the Internet provider are disconnected, the request from the application can be received. When the connection is restored, the data can be sent to the receiving computer consecutively.
[0146] According to this invention, even if the failure is occurred in the network during the transfer of the requested data between the computers, the data can be resent by using the arrival confirmation message from the receiving computer.
[0147] According to this invention, even if the failure is occurred in the network while the arrival confirmation message for the data transfer between the computers is returned, the receiving computer can judge if the redundant requested data resent from the sending computer should be received, and delete the receiving data if necessary.
[0148] When the data are transferred between the computers, even if the data are in a big size, the failure in the network and the loss of the packet can be prevented by dividing the data into the small packets.
[0149] The number of the transfer for issuing the arrival confirmation message transferred for the transmission of the requested data is controlled based on the past transmission history information. Therefore, the transmission for sending the arrival confirmation message can be reduced. Hence, the total ability of the transmission processing can be improved.
[0150] Having thus described several particular embodiments of the invention, various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description is by way of example only and is limited only as defined in the following claims and the equivalents thereto.
Claims
What is claimed is:
1. A computer system for controlling a data transfer comprising:
a first computer system for connecting to the Internet by dialing up an Internet provider; and
a second computer system connected to the Internet,
wherein the first computer system comprises a provider connector, a first connection information memory, and a first data transferor,
wherein the provider connector receives an address of the first computer system from the Internet provider at a time of dialing up the Internet provider,
wherein the first connection information memory stores the received address of the first computer system,
wherein the first data transferor sends the received address of the first computer system to the second computer system,
wherein the provider connector receives a new address of the first computer system from the Internet provider at a time of redialing up the Internet provider,
wherein the first data transferor sends an original address of the first computer system stored in the first connection information memory and the received new address of the first computer system to the second computer system,
wherein the second computer system comprises a second connection information memory and a second data transferor;
wherein the second data transferor receives the original address of the first computer system from the first computer system,
wherein the second connection information memory stores the received original address of the first computer system,
wherein the second data transferor receives the original address of the first computer system and the new address of the first computer system, and transfers data using the received new address of the first computer system as an address of the first computer system in case that the address of the first computer system stored in the second connection information memory and the received original address of the first computer system are matched.