WO2004077781A1 - 通信制御プログラムおよび通信制御方法 - Google Patents

通信制御プログラムおよび通信制御方法 Download PDF

Info

Publication number
WO2004077781A1
WO2004077781A1 PCT/JP2003/002277 JP0302277W WO2004077781A1 WO 2004077781 A1 WO2004077781 A1 WO 2004077781A1 JP 0302277 W JP0302277 W JP 0302277W WO 2004077781 A1 WO2004077781 A1 WO 2004077781A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
connection
physical
computer
request
Prior art date
Application number
PCT/JP2003/002277
Other languages
English (en)
French (fr)
Inventor
Koichi Hirai
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to JP2004568758A priority Critical patent/JP4040628B2/ja
Priority to PCT/JP2003/002277 priority patent/WO2004077781A1/ja
Priority to EP03707157A priority patent/EP1599004A4/en
Publication of WO2004077781A1 publication Critical patent/WO2004077781A1/ja
Priority to US11/087,273 priority patent/US7768905B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Definitions

  • the present invention relates to a communication control program and a communication control method for controlling communication between computers, and more particularly to a communication control program and a communication control method for performing communication using a multiplexed transmission path.
  • LAN adapter For example, provide two LAN adapters in the system. One LAN adapter is used as the active host, and the other LAN adapter is used as the standby host. When a failure occurs in the active host, the LAN adapter of the active host is disabled, and the LAN adapter of the standby host is enabled (for example, see Patent Document 1). Thus, when a failure occurs in the LAN adapter, communication can be restored via another LAN adapter.
  • Patent Document 1
  • connection switching method it took a long time for a process such as an application to recognize the disconnection after a failure actually occurred in the transmission path. That is, a transmission line failure is not detected until packet transmission retries fail multiple times. Therefore, communication between processes on different computers stops while retrying packet transmission. As a result, the processing capacity of the entire network is reduced.
  • the paths are often multiplexed only in the middle of the paths.
  • the LAN adapter communication adapter
  • the reliability may not be sufficient if only part of the transmission path is duplicated.
  • a route is selected by a device such as a router, the flexibility of using multiple routes at the same time is lost. Disclosure of the invention
  • the present invention has been made in view of such a point, and an object of the present invention is to provide a communication management program that prevents inter-process communication on different computers from being interrupted by a failure on one transmission path.
  • a communication control program for realizing the functions as shown in FIG. 1 is provided.
  • a communication control program according to the present invention is for communicating with another device via a plurality of communication devices connected to a plurality of transmission paths, respectively.
  • the computer 1 executes the following processing according to the communication control program.
  • the computer 1 selects at least one of the communication devices lc and 1d in response to a connection request from an arbitrary process, and establishes a physical connection via the selected communication device.
  • the computer 1 defines a logical connection that combines one or more established physical connections into one.
  • the computer 1 when a failure occurs in the physical connection included in the logical connection, the computer 1 reestablishes a physical connection via a communication device different from the physical connection in which the failure occurred, and includes the physical connection in the logical connection. Then, when receiving the communication request conforming to the logical connection from the process 1a, the computer 1 performs communication according to the communication request via the physical connection included in the logical connection at that time.
  • one or more physical connections are established, and a logical connection that unifies the physical connections into one is defined. If a physical connection fails, reconnection is performed via another communication device. The establishment of the physical connection included in the logical connection is maintained. When a communication request conforming to the logical connection is issued from the process 1a, communication is performed via the physical connection included in the logical connection.
  • a communication control method for communicating with another device via a plurality of communication devices connected to a plurality of transmission paths includes a method for receiving a connection request from an arbitrary process. Accordingly, at least one of the communication devices is selected, a physical connection via the selected communication device is established, and a logical connection that integrates the established one or more physical connections into one is defined. When a failure occurs in the physical connection included in the logical connection, a physical connection via the communication device different from the failed physical connection is reestablished, and the physical connection is included in the logical connection. When a communication request conforming to the logical connection is received from the server, the communication request is responded via the physical connection included in the logical connection. Communicating with the communication control method, characterized in that there is provided.
  • one or more physical connections are established in response to a connection request from a process, and a logical connection that unifies those physical connections into one is defined. If a failure occurs in the physical connection, reconnection is performed via another communication device. The establishment of the physical connection included in the logical connection is maintained. Be held. When a communication request conforming to the logical connection is issued from the process, communication is performed via the physical connection included in the logical connection.
  • FIG. 1 is a conceptual diagram of the invention applied to the embodiment.
  • FIG. 2 is a diagram illustrating an example of a system configuration according to the present embodiment.
  • FIG. 3 is a diagram illustrating an example of a hardware configuration of a computer.
  • Figure 4 is a functional block diagram of a computer.
  • FIG. 5 is a conceptual diagram of a connection mode according to the present embodiment.
  • FIG. 6 is a diagram illustrating an example of a data structure of the communication management information table.
  • FIG. 7 is a diagram illustrating an example of a data structure of the route management information table.
  • FIG. 8 is a diagram illustrating an example of a data structure of a physical management information table.
  • FIG. 9 is a diagram illustrating an example of the state management tree.
  • FIG. 10 is a diagram illustrating an example of the communication management tree.
  • FIG. 11 is a sequence diagram showing a connection establishment procedure.
  • FIG. 12 is a diagram showing the first half of the state transition of the information table.
  • FIG. 13 is a diagram illustrating the latter half of the state transition of the information table.
  • FIG. 14 is a flowchart showing a processing procedure on the server side when a connection is established.
  • FIG. 15 is a flowchart showing a processing procedure on the client side when a connection is established.
  • FIG. 16 is a sequence diagram showing a procedure when a client computer detects a connection error. .
  • FIG. 17 is a diagram showing the first half of the state transition of the information table.
  • FIG. 18 is a diagram illustrating the latter half of the state transition of the information table.
  • FIG. 19 is a sequence diagram illustrating a procedure when a server computer detects a connection error.
  • FIG. 20 is a diagram showing the first half of the state transition of the information table.
  • FIG. 21 is a diagram illustrating the latter half of the state transition of the information table.
  • FIG. 22 is a flowchart showing a processing procedure when a connection error occurs in the server computer.
  • FIG. 23 is a flowchart showing a processing procedure when a connection error occurs in the client computer.
  • FIG. 24 is a flowchart showing a procedure for selecting a connection path.
  • FIG. 25 is a diagram illustrating an example of a communication management information table on the server side when communication is performed through a plurality of routes.
  • FIG. 26 is a diagram illustrating an example of a communication management information table on the client side when communication is performed through a plurality of routes.
  • FIG. 27 is a diagram illustrating an example of a physical management information table on the server side when communication is performed through a plurality of routes.
  • FIG. 28 is a diagram illustrating an example of a physical management information table on the client side when performing communication through a plurality of routes.
  • FIG. 29 is a diagram illustrating an example of transfer when division is unnecessary.
  • FIG. 30 is a diagram illustrating a first example in the case where the split transfer is performed.
  • FIG. 31 is a diagram illustrating a second example in the case where the split transfer is performed.
  • FIG. 32 is a diagram illustrating a third example in the case where the split transfer is performed.
  • FIG. 33 is a sequence diagram showing a process of the division transfer.
  • FIG. 1 is a conceptual diagram of the invention applied to the embodiment.
  • the present invention is applied to a transmission system having a plurality of transmission paths 3 and 4 between a plurality of computers 1 and 2.
  • Computer 1 has a plurality of communication devices lc and Id.
  • the communication request from the process 1a in the computer 1 is received by the communication control unit 1b.
  • This communication control unit 1 b The communication devices lc and Id are controlled to communicate with the computer 2.
  • the computer 2 has a plurality of communication devices 2c and 2d.
  • the communication request from the process 2a in the computer 2 is received by the communication control unit 2b.
  • the communication control unit 2b controls the communication devices 2c and 2d to communicate with the computer 1.
  • the communication control units lb and 2b of each of the computers 1 and 2 manage the physical connections established on the multiple transmission paths 3 and 4 collectively, and can be used virtually as a single transmission system (logical connection). Like that. Then, a data communication environment via a virtual transmission path (logical connection) is provided to the processes 1a and 2a to be executed by the user.
  • the communication control unit lb selects at least one of the communication devices lc and Id in response to a connection request from an arbitrary process, and establishes a physical connection via the selected communication device. I do.
  • the communication control unit lb defines a logical connection that combines one or more established physical connections into one.
  • the communication control unit lb reestablishes the physical connection via a communication device different from the physical connection in which the failure occurred, and includes the physical connection in the logical connection.
  • the communication control unit lb performs communication according to the communication request via the physical connection included in the logical connection at that time.
  • connection relationship in the present invention includes a connection identifier (for example, an IP address) between the different computers 1 and 2, a device name on the computer 1 to be used, route information for specifying an intermediate route, and communication. It can be managed using communication identifiers (eg, TCP port numbers) between applications and communication serial numbers for identifying physical connections.
  • connection identifier for example, an IP address
  • communication identifiers eg, TCP port numbers
  • a logical connection can be identified by a pair of a connection identifier and a communication identifier of both computers 1 and 2.
  • Physical communication is recognized in addition to the communication serial number.
  • logical communication is a set of multiple physical communication Things.
  • the physical communication need only be recognized by the communication control units lb and 2b, and the processes la and 2a need not be recognized.
  • the logical connection form is a physical connection in which a plurality of transmission lines 3 and 4 can be used arbitrarily.
  • An external logical connection means a connection form recognized by processes 1a and 2a located outside the communication management function.
  • the physical connection form is an arbitrary communication device and a physical connection using a transmission line connected to the communication device.
  • An internal physical connection means that its existence is hidden from processes 1a and 2a located outside the communication management function.
  • the processes 1a and 2a requesting communication on such a system start communication by designating the other party's connection identifier and the communication identifier of itself and the other party.
  • the communication control units lb and 2b automatically select an appropriate communication device or transmission path in consideration of the operation state of the communication device and establish a physical connection. Therefore, it is possible to automatically improve the reliability and performance without changing the usage method from the user, and to replace or add equipment without interrupting the usage from the user. It can be carried out.
  • the available device or route is automatically determined, and communication is resumed using the same communication sequence number for a reconnection request.
  • the processes la and 2a recognize that they are communicating with each other by the logical connection, they can communicate continuously without being aware of the occurrence of a failure on the transmission path. Therefore, the reliability of a communication service for a process generated by a user application or the like is improved.
  • the communication speed between processes la and 2a can be improved by performing communication on multiple paths at the same time.
  • communication between processes 1a and 2a will not be interrupted and reliability will be improved if a physical connection is established via another transmission line.
  • reconnection may be performed each time one physical connection is disconnected, or reconnection may be performed when all connected physical connections are disconnected.
  • FIG. 2 is a diagram illustrating an example of a system configuration according to the present embodiment.
  • a plurality of computers 100, 200, and 300 are connected via two switch devices 410 and 420.
  • two transmission paths that is, a transmission path via the switch device 410 and a transmission path via the switch device 420 are provided between the computers.
  • FIG. 3 is a diagram illustrating an example of a hardware configuration of a computer.
  • the entire computer 100 is controlled by a CPU (Central Processing Unit) 101.
  • the CPU 101 has a RAM (Random Access Memory) 102 via a bus 108, a hard disk drive (HDD) 103, a graphics processing unit 104, and an input interface. 105 and the communication devices 106 and 107 are connected.
  • RAM Random Access Memory
  • RAM 102 temporarily stores at least a part of an OS (Operating System) program or an application program to be executed by CPU 101. Further, the RAM 102 stores various data required for processing by the CPU 101.
  • the HDD 103 stores OS and application programs.
  • a monitor 11 is connected to the graphic processing device 104.
  • the graphics processing device 104 displays an image on the screen of the monitor 11 in accordance with a command from the CPU 101.
  • a keypad 12 and a mouse 13 are connected to the input interface 105.
  • the input interface 105 transmits a signal transmitted from the keyboard 12 or the mouse 13 to the CPU 101 via the bus 108.
  • the communication device 106 is connected to the switch device 410.
  • the communication device 106 transmits and receives data to and from another computer via the switch device 410.
  • the communication device 107 is connected to the switch device 420.
  • the communication device 107 transmits and receives data to and from another computer via the switch device 420.
  • FIG. 4 is a functional block diagram of a computer.
  • the computer 100 has a communication management information table 1 1 1, a route management information table 1 1 2, a physical management information table 1 1 3, a user process 1 2 1, a logical communication management unit 1 2 2, and a connection.
  • An identification information management unit 123, a used device selection unit 124, and a physical communication management unit 125 are provided.
  • the communication management information table 111 manages information on logical communication paths (logical connections) provided to the user process 121.
  • the path management information table 112 manages transmission paths (communication devices and transmission paths) to the communication partner.
  • the physical management information table 113 manages the connection status of a connection (physical connection) constructed on a physical transmission path.
  • the user process 122 is a process that executes processing based on an application program or the like.
  • the user process 1221 functions as a server or functions as a client.
  • the user process 1 212 that functions as a client outputs a communication start request in response to an operation input or the like instructing a process involving communication with the server.
  • This communication start request includes the other party connection identifier / self communication identifier Z the other party communication identifier.
  • the logical communication management unit 122 Upon receiving the communication start request output from the user process 122, the logical communication management unit 122 creates the communication management information table 111. The logical communication management unit 122 recognizes the state of the logical connection in a tree structure (communication management tree) based on the communication management information table 111. When the logical communication management unit 122 creates the communication management information table 111, the communication management tree is updated. Thereafter, the content of the communication start request is sent to the connection identification information management unit 123.
  • a tree structure communication management tree
  • connection identification information management unit 123 recognizes the state of the physical connection in a tree structure (state management tree) based on the route management information table 112, and determines which device is a valid identifier. It is determined whether the device is used. The connection identification information management unit 123 passes the determination result to the used device selection unit 124.
  • the use device selection unit 124 determines which device route to use based on the load situation while using a round robin method or the like. When selecting the route to be used, the use device selection unit 124 requests the physical communication management unit 125 connected to the selected route to establish communication.
  • the physical communication management unit 125 creates the route management information table 112 in response to the communication start request from the use device selection unit 124 and tries to establish a connection. If the connection cannot be established, the physical communication management unit 125 returns the processing to the use device selection unit 124 and causes the use device to be selected again. Then, the physical communication management unit 125 attempts a reconnection using the re-selected utilization device.
  • the communication management information table 211 In the same way as the convenience store 200, the communication management information table 211, the route management information table 212, the physical management information table 21-3, the user process 221, A logical communication management unit 222, a connection identification information management unit 222, a used device selection unit 222, and a physical communication management unit 222 are provided.
  • the function of each component is the same as the component of the same name in the computer 100.
  • FIG. 5 is a conceptual diagram of a connection mode according to the present embodiment.
  • the computer 100 selects the communication devices 106 and 107 to be used for communication using the connection identification information 131.
  • the computer 200 selects the communication devices 206 and 207 to be used for communication using the connection identification information 231.
  • connection identifier of the computer 100 is “1”, and the connection identifier of the computer 200 is “2”. Also, the identifier of the communication device 106 of the computer 100 is “A”, and the identifier of the communication device 107 is “B”. Further, the identifier of the communication device 206 of the computer 200 is “C”, and the identifier of the communication device 207 is “D”.
  • the communication device 106 and the communication device 206 are connected by a transmission line 31, and the identifier of this transmission line is “X”. Further, the communication device 107 and the communication device 207 are connected via a transmission line 32, and the identifier of this transmission line is “Y”. Such a connection relationship is recognized by both computers 100 and 200 and registered in various information tables.
  • FIG. 6 is a diagram illustrating an example of a data structure of the communication management information table.
  • the communication management information table 111 is generated for each logical connection, and a communication identifier is assigned to each generated communication management information table.
  • the communication management information table 111 has columns for own process status, logical communication management identifier, own connection identifier, counterpart connection identifier, physical communication, own communication identifier, counterpart communication identifier, reconnection availability, and establishment. Has been. Information arranged in the horizontal direction in each column is associated with each other.
  • an identifier indicating whether the user process performing communication on the own computer is a server or a client is set.
  • identification information for uniquely identifying a logical connection recognized from a process is set.
  • the identification information of the self computer on the network for example, IP address
  • the identification information of the remote computer on the network is set in the remote connection identifier column.
  • the identification information of the transmission path when used for communication is set.
  • identification information for identifying a user process performing communication is set. Identification information for identifying the user process of the communication partner is set in the column of the communication partner identifier.
  • FIG. 7 is a diagram illustrating an example of a data structure of the route management information table.
  • the route management information table 112 includes columns for a route identifier, a partner connection identifier, a device used, a route, the number of lines used, and availability. Information arranged in the horizontal direction in each column is associated with each other.
  • Communication path identification information (a set of communication apparatus identification information and transmission path identification information) is set in the path identifier column.
  • the connection identifier for example, IP address
  • the identification information of the communication device is set in the column of the use device.
  • the route column the identification information of the transmission route is set. You.
  • the number of lines (physical connections) communicating on the communication path is set.
  • the availability column sets whether or not a physical route is available. In the example of FIG. 7, the availability is “ ⁇ ” if available, and the availability is “X” if unavailable.
  • FIG. 8 is a diagram illustrating an example of a data structure of a physical management information table.
  • the physical management information table 113 has columns for a physical communication management identifier, a logical communication management identifier, a communication serial number, path information, and a communication state.
  • the information arranged in the horizontal direction in each column is associated with each other.
  • identification information for uniquely identifying a physical connection is set.
  • identification information for uniquely identifying the logical connection to which the physical connection belongs is set.
  • the serial number of the physical communication belonging to the same logical connection is set in the communication serial number (1).
  • identification information of a transmission route used for communication is set.
  • Information indicating “communication status:” is set in the communication status column. In the example of FIG. 8, the communication state is “ ⁇ ” if communication is possible, and the communication state is “X” if communication is not possible.
  • the state management library and the communication management library are configured based on the data having such a structure.
  • FIG. 9 is a diagram illustrating an example of the state management tree.
  • the connection identifier “1” own connection identifier
  • the connection identifier “2” the other-party connection identifier
  • the identifiers “A” and “B” of the used devices are set as the lower-level structure of the partner connection identifier.
  • Identifiers “X” and “Y” of the paths (transmission paths 31 and 32) connected to the use device are set as the lower-level structure of the use device.
  • FIG. 10 is a diagram illustrating an example of the communication management tree.
  • the connection identifier “1” own connection identifier
  • the connection identifier “2” the other party connection identifier
  • Logical communication management identifiers “C 1” and “C 2”, which are identification information of a logical connection, are set as lower structures of the other party connection identifier.
  • Communication sequence numbers “P11”, “P12”, and “P2”, which are identification information of physical communication, are set as the lower-level structure of the logical connection.
  • the communication management information table 111 is made by the logical communication manager 122. Created. By creating the communication management information table 111 corresponding to the communication start request, the communication management tree recognized by the logical communication management unit 122 is updated. Thereafter, a communication start request is sent to the connection identification information management unit 123 to establish a connection.
  • connection identification information management unit 123 refers to the route management information table 112 and recognizes the state management information. Then, the connection identification information management unit 123 determines whether there is a transmission path to the computer corresponding to the partner connection identifier, and which communication apparatus is used for communication via the transmission path. . The connection identification information management unit 123 sends the determination result to the use device selection unit 124.
  • the use device selection unit 124 determines the load status (for example, the number of lines used) of the communication devices that can communicate with the computer indicated by the other party connection identifier, and performs communication using a round robin method or the like. Determine the device. Information on the communication device to be used is sent to the physical communication management unit 125.
  • the physical communication management unit 125 creates a management information table and tries to establish a connection. That is, the physical communication management unit 125 sends a connection request to the computer 200, and establishes a connection when receiving a reply indicating that connection is possible. If unsuccessful, control is returned to the device selection unit 124. Then, another communication device is selected by the use device selection unit 124 and the physical communication management unit 125 is notified. The physical communication management unit 125 attempts reconnection using the notified communication information, and if successful, updates the route management information table 212 and the physical management information table 213. Then, the establishment of the physical connection is notified to the logical communication management unit 122, and the communication management information table 111 is updated.
  • the physical communication management unit 222 receives the connection request from the physical communication management unit 125 and transmits the connection request to the logical communication management unit 222.
  • Communication management unit 2 2 2, connection identification information management unit 2 2 3, and use device selection unit 2 2 4 cooperate to use the same communication device as when the connection start request is output from user process 2 2 1 And updates the communication management information table 2 11, route management information table 2 1 2, and physical management information table 2 13.
  • the physical communication management unit 225 returns a response indicating that the connection is possible.
  • the establishment declaration is sent from the computer 100, the physical connection is established. Then, the establishment of the physical connection is notified to the logical communication management unit 222, and the communication management information table 211 is updated.
  • the physical communication management unit 125 can also establish a physical connection via a plurality of transmission paths for one logical connection. In this case, the physical communication management unit 125 sets the communication serial number in order from 1 for each physical connection. For reconnection in the event of an error, a reconnection request is issued via another transmission path using the same communication sequence number. When reconnection of the physical connection is established, communication can be performed using the same communication sequence number as before the failure occurred.
  • connection requests for the own communication identifier at both ends must be accepted until the logical connection is disconnected.
  • the process can accept connection requests from clients. If the process is functioning as a client, activate the server function (at least the function to accept connection requests) in advance.
  • a request is issued directly from the logical communication manager 122 to the physical communication manager 125.
  • Data is passed from the physical communication manager 125 to the physical communication manager 222 of the computer 200.
  • the physical communication management unit 225 transfers the received data to the logical communication management unit 222. Then, the logical communication management unit 222 sends the data to the user process 222.
  • an error occurs after the start of communication, an error is detected in both or one of the physical communication management unit 125 and the physical communication management unit 225.
  • the communication device uses the InfiniBand architecture, it detects a failure on the transmission path and Section (physical communication management section 125, 225).
  • the physical communication management unit 125 when the physical communication management unit 125 detects a failure, the physical communication management unit 125 requests the use device selection unit 124 to reselect a communication device to be used. Then, the physical communication management unit 125 reconnects the communication via the communication device selected by the use device selection unit 124. At this time, the same communication sequence number is used for the failed physical connection and the reconnected physical connection.
  • the physical communication management unit 225 that has received the connection request at the time of reconnection passes the connection request to the logical communication management unit 222.
  • the logical communication management unit 222 determines whether the received connection request is a reconnection request based on whether the same connection identifier Z communication identifier Z communication serial number exists in the communication management information table 211. . The judgment result is transmitted to the connection identification information management unit 223. If it is a reconnection request, the connection identification information management unit 223 discards the connection identification information of the existing physical connection from the physical management information table 213 and accepts the reconnection request.
  • a failure may be detected on both computers 100 and 200.
  • the reconnection request takes precedence over the one that received the request first.
  • the request from either the client or the server has priority. For example, if priority is given to the server-side reconnection request, the server-side computer discards the reconnection request sent from the client-side computer.
  • connections are made using multiple communication serial numbers.
  • a plurality of physical communications are bundled under the logical connection, the load is distributed by taking over the division rules of the logical communication managers 122, 222, and communications are performed in parallel.
  • FIG. 11 is a sequence diagram showing a connection establishment procedure.
  • the processing on the server side is shown on the left, and the processing on the client side is shown on the right.
  • the user process 1221 in the computer 100 is a server and the user process 222 in the computer 200 is a client is described as an example. Will be described.
  • the computer 200 selects a connection partner (step S11).
  • the communication start request includes the other party's connection identifier, its own communication identifier, and the other party's communication identifier in order to identify the communication partner.
  • the server-side computer 100 waits for a connection request (step S12).
  • a connection request is issued from the computer 200 to the computer 100 (step S13). Thereafter, the computer 200 enters a state of waiting for a reply (step S14).
  • the computer 100 Upon receiving the connection request, the computer 100 returns the connection request (step S15). Thereafter, the computer 100 is in a state of waiting for the establishment declaration (step S16).
  • the computer 200 receiving the reply to the connection request issues an establishment declaration (step S17). Thereafter, the computer 200 enters a connection established state (step S18). The computer 100 that has received the establishment declaration is also in a connection established state (step S19).
  • a connection is established in such a procedure.
  • the following describes the transition status of the contents of the communication management information table and the physical management information table when establishing a connection.
  • FIGS. 12 and 13 information on the server side is shown in the upper part and information on the client side is shown in the lower part of the communication management information table. Similarly, regarding the physical management information table, the information on the server side is shown in the upper row, The information on the client side is shown at the bottom.
  • FIG. 12 is a diagram showing the first half of the state transition of the information table.
  • the first state (ST1) is a state before the start of connection establishment.
  • the communication management information table 111 on the server side includes the own server's process “server”, logical communication management identifier “C 1”, self connection identifier “1”, and partner connection identification.
  • Child “1”, physical communication “11”, own communication identifier “10”, partner communication identifier “1-J, reconnection availability” "-”, establishment “X” are set.
  • "one” indicates that the information is not registered.
  • An established “X” indicates that the connection has not been established.
  • the communication management information table 211 on the client side includes the status “client” of the own process, the logical communication management identifier “C2”, the own connection identifier “2”, the partner connection identifier “1”, and the physical communication “—1”. ”, Own communication identifier“ 99 ”, partner communication identifier
  • the communication management information table 211 on the client side registers the partner identifier and the partner communication identifier indicated by the communication start request. At this time, no information is registered in the physical management information tables 113 and 213.
  • the second state (ST2) is a state after selection of a connection partner on the client side (step S11).
  • a connection partner is selected from the computer 200 on the client side
  • physical communication “ ⁇ 2” is set in the communication management information table 211 on the client side.
  • a physical communication management identifier “ ⁇ 2”, a logical communication management identifier “C2”, a communication sequence number “1”, route information “CX”, and a communication state “X” are set in the physical management information table 213 on the client side.
  • the third state (ST3) is a state after the connection request is returned from the server (step S15).
  • the other party's connection identifier “2”, the other party's communication identifier “99”, and the possibility of reconnection “Y” are set in the communication management information table 111 on the server side.
  • the physical management information table 113 on the server side includes the physical communication management identifier “P 1”, the logical communication management identifier “C 1”, the communication sequence number “1”, the route information “AXJ, the communication status“ X "is set.
  • FIG. 13 is a diagram illustrating the latter half of the state transition of the information table.
  • the fourth state (ST 4) shows the state after the client issues the establishment declaration (step S 17).
  • the establishment “ ⁇ ” is set in the communication management information table 211 on the client side.
  • Established “ ⁇ ” is a flag indicating that the connection is established.
  • the communication state of the physical management information table 2 13 on the client side is changed to “ ⁇ ” (indicating that communication is possible).
  • the fifth state (ST5) indicates the state after the connection has been established (step S19).
  • the computer 100 on the server side sets the establishment “ ⁇ ” in the communication management information table 111.
  • the communication status of the physical management information table 113 on the server side is changed to “ ⁇ ”.
  • the physical connection is established, and information on the logical connection and the physical connection is registered in the communication management information table and the physical management information table of both the server and the client.
  • FIG. 14 is a flowchart showing a processing procedure on the server side when a connection is established. Hereinafter, the processing illustrated in FIG. 14 will be described along the step numbers.
  • Step S21 The computer 100 on the server side determines whether a connection request has been received. If a connection request has been received, the process proceeds to step S22. If a connection request has not been received, the process of step S21 is repeated, and a connection request is received.
  • Step S222 The computer 100 determines whether or not the received connection request is a connection request from a connectable partner. If it is a connection request from a connectable partner, the process proceeds to step S23. If it is a connection request from an unreachable partner, the process proceeds to step S29.
  • Step S2 3 The computer 100 provides the reconnection means with the connection partner. Information indicating whether or not the information is stored is stored. Whether or not the reconnection means is provided is determined, for example, based on information included in the connection request. In this case, the client computer 200 sends a connection request with information indicating whether the client computer 200 provides reconnection means.
  • Step S224 The computer 100 sends a reply to the client computer 200 that the connection is possible.
  • Step S25 The computer 100 determines whether or not a predetermined time has elapsed after the reply in step S224. If the certain time has elapsed, the process proceeds to step S29. If not, the process proceeds to Step S26.
  • Step S226 The computer 100 determines whether a reply has been received from the client computer 200. If a reply is received, the process proceeds to step S27. If no reply is received, the process proceeds to step S25, and the elapse of time is determined.
  • Step S27 The computer 100 determines whether or not the received reply is a declaration of establishment. If so, the process proceeds to Step S28. If it is not an establishment declaration (for example, notification of connection refusal), the process proceeds to step S30.
  • an establishment declaration for example, notification of connection refusal
  • Step S28 The computer 100 completes the establishment and ends the process.
  • Step S229 If the connection request is sent from the unreachable partner, or if there is no reply from the client computer 200 for a certain period of time after the connection is returned, A connection refusal is returned to computer 200.
  • Step S300 After returning the connection refusal or when receiving a reply other than the establishment declaration in step S27, the computer 100 determines that the establishment has failed, and ends the processing.
  • FIG. 15 is a flowchart showing a processing procedure on the client side when a connection is established. Hereinafter, the processing illustrated in FIG. 14 will be described along the step numbers.
  • Step S41 Client computer 200 selects a connection partner.
  • Step S42 Computer 200 transmits a connection request to computer 1 ⁇ 0 of the connection partner.
  • Step S43 The convenience store 200 determines whether or not a fixed time has elapsed after transmitting the connection request. If the predetermined time has elapsed, the process proceeds to step S51. If not, the process proceeds to Step S44.
  • Step S444 Computer 200 determines whether a reply has been received from computer 100 on the server side. If a reply has been received, the process proceeds to step S45. If no reply is received, the process proceeds to step S43.
  • Step S45 The computer 200 determines whether or not the received reply is a connectable reply. If the reply indicates that connection is possible, the process proceeds to step S46. If the connection is not possible, the process proceeds to step S52.
  • Step S46 The computer 200 determines whether connection can be established. If the connection can be established, the process proceeds to step S47. If the connection cannot be established, the process proceeds to step S51.
  • Step S47 The computer 200 determines whether or not the other computer 100 has reconnection means. If the partner computer 100 has reconnection means, the process proceeds to step S48. If not, the process proceeds to step S49.
  • Step S48 The computer 200 sets up a server with its own communication identifier.
  • Step S500 The computer 200 completes the establishment and ends the process.
  • Step S510 The computer 200 returns a connection refusal to the computer 100 if there is no reply for a certain period of time after the transmission of the connection request or if it is determined that the connection cannot be established in step S46. .
  • Step S52 After returning the connection refusal or receiving the connection not possible reply in step S45, the computer 200 determines that the establishment has failed, and ends the process. Next, processing when a connection error is detected on the client side will be described in detail.
  • FIG. 16 is a sequence diagram showing a procedure when a client computer detects a connection error.
  • the processing on the server side is shown on the left, and the processing on the client side is shown on the right.
  • the user process 1221 in the computer 100 is a server and the user process 222 in the computer 200 is a client as an example, it is assumed that the reestablishment of the connection has been completed normally. The flow will be described.
  • the client computer 200 detects a physical connection abnormality and selects a reconnection route (step S61). As a result, the computer 100 is selected as the reconnection partner. At this time, the server computer 100 waits for a reconnection request (step S62).
  • the computer 200 issues a reconnection request to the computer 100 (step S63). After that, the computer 200 enters a state of waiting for a reply (step S64).
  • the computer 100 Upon receiving the reconnection request, the computer 100 replies to the reconnection request (step S65). Thereafter, the computer 100 is in a state of waiting for the establishment declaration (step S66).
  • the computer 200 that has received the reply of the reconnection request issues an establishment declaration (step S67). Thereafter, the computer 200 enters a connection established state (step S68). The computer 100 that has received the establishment declaration is also in a connection established state (step S69).
  • FIGS. 17 and 18 describe the transition of the contents of the communication management information table and the physical management information table when the client detects an error and issues a reconnection request, with reference to FIGS. 17 and 18. .
  • the communication management information table the information on the server side is shown in the upper part, and the information on the client side is shown in the lower part.
  • the physical management information table information on the server side is shown in the upper part, and information on the client side is shown in the lower part.
  • FIG. 17 is a diagram illustrating the first half of the state transition of the information table.
  • the first state (ST11) is a state after failure detection on the client side.
  • the communication management information table 111 on the server side includes the position of the own process “server”, the logical communication management identifier “C 1”, the own connection identifier “1”, the partner connection identifier “2”, Physical communication “P 1”, own communication identifier “10”, partner communication identifier “99”, reconnection availability “Y”, establishment “ ⁇ ” are set.
  • the position of the own process “client”, the logical communication management identifier “C2”, the own connection identifier “2”, the partner connection identifier “1”, and the physical communication “11” Its own communication identifier “99”, the other party communication identifier “10”, reconnection availability “Y”, and establishment “X”.
  • the communication management information table 211 on the client side registers the partner identifier and the partner communication identifier indicated by the communication start request.
  • the physical management information table 113 on the server side stores the physical communication management identifier “ ⁇ 1”, the logical communication management identifier “C1”, the communication sequence number “1”, the route information “AX”, and the communication state “ ⁇ ”. Is set. No information is registered in the physical management information table 213 on the client side.
  • the second state (ST12) is a state after the reconnection route on the client side is selected (step S61) and the reconnection request is issued (step S63).
  • the physical communication “P4” is set in the communication management information table 211 on the client side.
  • the physical communication management identifier “P4”, the logical communication management identifier “C2”, the communication sequence number “1”, the route information “DX”, and the communication state “X” are set. You.
  • the third state (ST13) is a state after the server returns a reconnection request (step S65).
  • the server-side computer 100 knows that a failure has occurred due to the reconnection request, and changes the establishment of the communication management information table 111 to “X”. At this time, the communication state of the physical management information table 113 on the server side is changed to “X”.
  • FIG. 18 is a diagram illustrating the latter half of the state transition of the information table.
  • the client issues a declaration of establishment (step S6). 7) Shows the state after.
  • the establishment declaration is issued from the computer 200 on the client side
  • the establishment of the communication management information table 211 on the client side is changed to “ ⁇ ”.
  • the communication state of the client-side physical management information table 2 13 is changed to “ ⁇ ”.
  • the fifth state (ST15) shows the state after the connection is established (step S69).
  • the server computer 100 receives the establishment declaration, the establishment of the communication management information table 111 is changed to “ ⁇ ”.
  • the communication state of the server-side physical management information table 113 is changed to “ ⁇ ”.
  • FIG. 19 is a sequence diagram illustrating a procedure when a server computer detects a connection error.
  • the processing on the server side is shown on the left, and the processing on the client side is shown on the right.
  • the user process 122 in the computer 100 is a server and the user process 222 in the computer 200 is a client, the re-establishment of the connection is completed normally. The following describes the flow when this is done.
  • the computer 100 on the server side detects a physical connection abnormality and selects a reconnection route (step S71). As a result, the combination 200 is selected as the reconnection partner. At this time, the client computer 200 waits for a reconnection request (step S72).
  • the computer 100 issues a reconnection request to the computer 200 (step S73). Thereafter, the computer 100 is in a state of waiting for a reply (step S74).
  • the computer 200 Upon receiving the reconnection request, the computer 200 replies to the reconnection request (step S75). Thereafter, the computer 200 enters a state of waiting for the establishment declaration (step S76).
  • the computer 100 that has received the reconnection request reply issues an establishment declaration. (Step S77). Thereafter, the computer 100 enters a connection established state (step S78). Also, the computer 200 that has received the establishment declaration enters the connection established state (step S79).
  • connection is re-established in such a procedure.
  • the transition of the contents of the communication management information table and the physical management information table when an error is detected and a reconnection request is issued on the server side will be described below with reference to FIGS.
  • the communication management information container the information on the server side is shown in the upper part, and the information on the client side is shown in the lower part.
  • the physical management information table information on the server side is shown in the upper row, and information on the client side is shown in the lower row.
  • FIG. 20 is a diagram showing the first half of the state transition of the information table.
  • the first state (ST21) is a state after failure detection on the server side.
  • the communication management information table 111 on the server side includes the position of the own process “server”, the logical communication management identifier “C1”, the own connection identifier “1”, the other party connection identifier “2”, Physical communication “—one”, own communication identifier “10”, partner communication identifier “99”, reconnection possibility “Y”, establishment “X” are set.
  • the position of the own process “client”, the logical communication management identifier “C2”, the own connection identifier “2”, the partner connection identifier “1”, and the physical communication “P 2” Its own communication identifier “99”, the other party communication identifier “10”, and reconnection availability “Yj”, establishment “ ⁇ ” are set.
  • the physical management information table 213 on the client side the physical communication management identifier “P2”, the logical communication management identifier “C2”, the communication sequence number “1”, the route information “CX”, and the communication state “ ⁇ ” are set. ing. No information is registered in the physical management information table 113 on the server side.
  • the second state (ST22) is a state after a reconnection path on the server side is selected (step S71) and a reconnection request is issued (step S73).
  • a connection request is issued from the computer 100 on the server side
  • physical communication “P 3” is set in the communication management information table 111 on the server side.
  • the physical management information table 113 on the server side stores the physical communication management identifier “P 3”, the logical communication management identifier “C 1”, the communication serial number “1”, the route information “: BY”, Communication status "X" is set.
  • the third state (ST 23) is a state after a reconnection request reply from the client side (step S 75). Klein and the computer 200 at the side know that a failure has occurred due to the reconnection request, and change the establishment of the communication management information table 211 to "X”. At this time, the communication state of the client-side physical management information table 2 13 is changed to “X”.
  • FIG. 21 is a diagram illustrating the latter half of the state transition of the information table.
  • the fourth state (ST 24) shows the state after the server issues the establishment declaration (step S 77).
  • the establishment declaration is issued from the computer 100 on the server side
  • the establishment of the communication management information table 111 on the server side is changed to “ ⁇ ”.
  • the communication status of the physical management information table 113 on the server side is changed to “ ⁇ ”.
  • the fifth state (ST25) indicates the state after the connection is established (step S79).
  • the client computer 200 receives the establishment declaration, the establishment of the communication management information table 211 is changed to “ ⁇ ”. At this time, the communication status in the client-side physical management information table 2 13 is changed to “ ⁇ ”.
  • FIG. 22 is a flowchart showing a processing procedure when a connection error occurs in the server computer. Hereinafter, the processing illustrated in FIG. 22 will be described along the step numbers.
  • Step S81 The server computer 100 that has detected a physical connection failure determines whether it can reconnect to the client computer 200. If so, the process proceeds to Step S82. If reconnection is not possible, the process proceeds to step S89.
  • Step S82 The computer 100 selects a reconnection route.
  • Step S83 The computer 100 transmits a reconnection request by using the same communication identifier as that used in the disconnected physical connection.
  • Step S84 Computer 100 is the computer (client computer) It is determined whether or not a reconnection request has been received since 2000). If a reconnection request has been received, the process proceeds to step S85. If a reconnection request has not been received, the process proceeds to step S86.
  • Step S85 The computer 100 rejects the reconnection request sent from the client computer 200.
  • Step S863 The computer 100 determines whether a reply to the reconnection request has been received. If a reply to the reconnection request has been received, the process proceeds to step S87. If no reply has been received, the process proceeds to step S84.
  • Step S87 The computer 100 determines whether or not the content of the reply to the reconnection request is a reconnection rejection notification. If so, the process proceeds to step S89. If not, the process proceeds to Step S88.
  • Step S88 The computer 100 re-establishes a connection (physical connection) using the communication path selected in step S82, and ends the process.
  • Step S89 The computer 100 determines that the connection has been disconnected, and ends the processing.
  • FIG. 23 is a flowchart showing a processing procedure when a connection error occurs in the client computer. Hereinafter, the processing illustrated in FIG. 23 will be described along the step numbers.
  • Step S91 The computer 200 on the client side that has detected the failure of the physical connection determines whether it can reconnect to the computer 100 on the server side. If so, the process proceeds to Step S92. If reconnection is not possible, the process proceeds to step S99.
  • Step S92 The computer 200 selects a reconnection route.
  • Step S93 The computer 200 transmits a reconnection request using the same communication identifier as that used in the disconnected physical connection.
  • Step S94 The computer 200 determines whether a reconnection request has been received from the partner (computer 100 on the server side). If a reconnection request has been received, the process proceeds to step S95. If the reconnection request has not been received, the process proceeds to step S96. [Step S95] The computer 200 acknowledges the reconnection request sent from the server computer 100. Thereafter, the process proceeds to step S98.
  • Step S966 The computer 100 determines whether a reply to the reconnection request has been received. If a reply to the reconnection request has been received, the process proceeds to step S97. If no reply has been received, the process proceeds to step S94.
  • Step S97 The computer 100 determines whether or not the content of the reply to the reconnection request is a reconnection rejection notification. If so, the process proceeds to Step S94. If not, the process proceeds to Step S98.
  • Step S98 The computer 100 re-establishes a connection (physical connection) using the communication path selected in step S92, and ends the process.
  • Step S99 The computer 100 determines that the connection has been disconnected, and ends the processing.
  • the route management information table When selecting a connection route, the route management information table is referred to and a connection route with a small number of used lines is selected. For example, in the case of the route management information table 112 having contents as shown in FIG. 7, the route with the route identifier “AX” is selected.
  • FIG. 24 is a flowchart showing a procedure for selecting a connection path. In the following description, it is assumed that the computer 100 selects a connection path. Hereinafter, the processing illustrated in FIG. 24 will be described along the step numbers.
  • Step S1001 The computer 100 selects a route having the smallest number of available lines among the available routes. At this time, a plurality of routes may be selected.
  • Step S1002 The computer 100 determines whether or not there is one selected route. If there is one, the process proceeds to step S104. If a plurality is selected, the process proceeds to step S103.
  • Step S103 The computer 100 selects a route having a small route identifier (comes first as a character array). For example, if the path identifier is indicated by an alphabet, A will be the smallest value and Z will be the largest value.
  • Step S104 The computer 100 determines one of the selected routes as a connection route.
  • the above explanation is an example in which one physical connection is established between computers, but a plurality of physical connections may be established in one logical connection.
  • a plurality of physical communication management identifiers are registered in the column of physical communication in the communication management information table.
  • FIG. 25 is a diagram illustrating an example of a communication management information table on the server side when communication is performed through a plurality of routes.
  • the communication management information table 111 shown in FIG. 25 two physical connections of physical communication management identifiers “P 1” and “P 2” are established for the logical connection of logical communication management identifier “C 1”. are doing.
  • FIG. 26 is a diagram illustrating an example of a communication management information table on the client side when communication is performed through a plurality of routes.
  • the communication management information table 211 shown in FIG. 26 two physical connections with physical communication management identifiers “P 3” and “P 4” are established for the logical connection with logical communication management identifier “C 2”. ing.
  • FIG. 27 is a diagram illustrating an example of a physical management information table on the server side when communication is performed through a plurality of routes.
  • the physical management information table 113 shown in FIG. 27 two pieces of physical management information on the physical connection with the common logical communication management identifier “C 1” are registered. Each connection has a different connection path.
  • FIG. 28 is a diagram illustrating an example of a physical management information table on the client side when performing communication through a plurality of routes.
  • the physical management information table 2 13 shown in FIG. 28 two pieces of physical management information regarding the physical connection with the common logical communication management identifier “C 2” are registered. Each connection has a different connection path.
  • a negotiation bucket is transmitted at the time of transfer in order to perform division.
  • the negotiation packet is sent from the sender on the physical connection with the smallest communication serial number, and a reply is required.
  • a reply is required only if data transfer over multiple paths is required.
  • a request packet is transmitted from the transmitting side to the receiving side.
  • the request packet contains information on the transfer size and the division size.
  • the transfer size is the total size of the transfer data. Division
  • Division The size is the maximum amount of data that can be transmitted over one physical connection.
  • the receiving side that has received the request packet returns a reply packet to the transmitting side.
  • the reply packet includes the reception size.
  • the receiving size is the data size that can be received by the receiving side.
  • FIG. 29 is a diagram illustrating a transfer example when division is unnecessary.
  • the number of physical connections is 2
  • the transfer size is 1KB
  • the split size is 1MB
  • the receive size is 1KB.
  • the division size is larger than the transfer size
  • data transmission is performed after transmitting a request packet from the transmission side to the reception side.
  • the transfer size is smaller than the split size, even if two physical connections are established, no split transfer is performed overnight, and one physical connection (the transmission side “P 1” and the reception side “ P 3 ”).
  • FIG. 30 is a diagram illustrating a first example in the case where the split transfer is performed.
  • the number of physical connections is 2, the transfer size is 8MB, the split size is 1MB, and the receive size is 8MB.
  • the transfer size is larger than the split size, split transfer using two physical connections is performed.
  • a request packet is transmitted from the transmitting side, a reply packet is returned from the receiving side.
  • the transmitting side recognizes that the data of the transfer size can be received by the receiving side based on the reception size included in the reply packet, and starts data division transfer.
  • the transfer of 1 MB from the sender “P 1” to the receiver “P 3” and the transfer of 1 MB from the sender “P 2” to the receiver “P 4” are performed alternately. Then, 8 MB of data is transferred by eight transfers.
  • FIG. 31 is a diagram illustrating a second example in the case where the split transfer is performed.
  • the number of physical connections is 2, the transfer size is 7 MB, the split size is 2 MB, and the receive size is 7 MB.
  • 2MB transfer from the sender "P1" to the receiver "P3" and 2MB transfer from the sender "P2" to the receiver "P4" are performed alternately. . Then, after the transfer of 2 MB is performed three times, in the fourth transfer, the remaining 1 MB of data is transferred.
  • FIG. 32 is a diagram illustrating a third example in the case where the split transfer is performed.
  • the number of physical connections is 2, the transfer size is 8MB, the split size is 2MB, and the receive size is 5MB.
  • the transfer size is larger than the reception size, only the data of the reception size is transferred.
  • a 2 MB transfer from the sender “P 1” to the receiver “P 3” and a 2 MB transfer from the sender “P 2” to the receiver “P 4” alternately occur.
  • the remaining 1 MB of data is transferred. That is, a total of 5 MB data transfer is performed.
  • FIG. 33 is a sequence diagram showing the process of the division transfer. Hereinafter, the processing illustrated in FIG. 33 will be described along the step numbers. In the following description, it is assumed that data is transferred from the computer 100 to the computer 200.
  • Step S111 The receiving-side computer 200 is waiting for reception of the request packet.
  • Step S112 In response to a request from a user process or the like, the transmitting computer 100 transmits a request packet to the receiving computer 200.
  • Step S113 The computer 200 that has received the request bucket compares information on the transfer size and the division size included in the request packet. Then, the computer 200 determines whether or not the transfer size is larger than the division size. If the transfer size is larger, the process proceeds to step S114. If not, the process proceeds to Step S118.
  • Step S117 The computer 100 waits for reception of a reply packet from the computer 200.
  • Step S118 The computer 200 transmits a reply bucket including the information of the reception size to the computer 100.
  • Step S119 The computer 100 that has received the reply bucket sets the transfer size equal to the reception size.
  • Step S120 The computer 100 sets PN as the number of physical connections, PS as a division size, TS as a transfer size (equal to the reception size), and obtains values of LOOP and AN.
  • LOOP is the quotient of TS ⁇ (PSXPN). The remainder at this time is LS.
  • AN is the quotient of LS + PS. The remainder at this time is referred to as AS.
  • Step S121 The computer 200 obtains values of LOOP and AN using PN as the number of physical connections, PS as a division size, and TS as a reception size.
  • LO ⁇ P is the quotient of TS ⁇ (PSXPN). The remainder at this time is LS.
  • AN is the quotient of LS ⁇ PS. The remainder at this time is referred to as AS.
  • Step S122 The computer 100 executes the data transfer of the division size by the number of times indicated by the LOOP via each established physical connection.
  • Step S123 The computer 200 receives the data of the division size by the number of times indicated by the LOOP via each established physical connection.
  • Step S124 The computer 100 executes data transfer for the division size via the physical connection whose communication serial number is AN or less.
  • Step S125 The computer 200 receives data of the division size via the physical connection whose communication serial number is AN or less.
  • Step S126 The computer 100 executes data transfer for the AS via the physical connection whose communication serial number is AN or less.
  • the computer 200 receives the data for the AS via the physical connection whose communication serial number is AN or less.
  • a program is provided that describes the processing of the functions that the computer should have.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • Computer-readable recording media include magnetic recording devices, optical disks, magneto-optical recording media, and semiconductor memory. Magnetic recording devices include hard disk drives (HDD), flexible disks (FD), and magnetic tapes.
  • Optical discs include DVD (Digital Versatile Disc), DVD-EAM (Eandom Access Memory), CD-R ⁇ M (Compact Disc Read Only Memory), CD-R (Recordable) and ZRW (Rewritable).
  • Magneto-optical recording media include MO (Magneto-Optical disc).
  • portable recording media such as DVD, CD-ROM, on which the program is recorded are sold.
  • the program can be stored in the storage device of the server computer, and the program can be transferred from the server computer to another computer via a network.
  • the computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. It should be noted that the computer can read the program directly from the portable recording medium and execute processing according to the program. Further, the computer can execute the processing according to the received program each time the program is transferred from the server computer.
  • one or more physical connections are defined as one logical connection, and if a failure occurs in the physical connection, reconnection is performed via another communication device, and logical connection is performed. Physical communication included in logical connection according to communication requirements Added communication via connection. Therefore, the process that issues a communication request recognizes that one logical connection is continuously connected. As a result, retry processing in the event of a communication failure becomes unnecessary, communication continuity is maintained, and highly reliable inter-computer communication is realized.

Abstract

 1つの伝送路上での障害により異なるコンピュータ上のプロセス間通信が中断するのを防止する。コンピュータ(1)の通信制御部(1b)は、任意のプロセスからの接続要求に応じて、通信装置(1c)、(1d)のうち少なくとも1つを選択し、選択した通信装置を介した物理コネクションを確立する。通信制御部(1b)は、確立された1以上の物理コネクションを1つに纏めた論理接続を定義する。また、論理接続に含まれる物理コネクションに障害が発生すると、通信制御部(1b)は、障害が発生した物理コネクションと異なる通信装置を介した物理コネクションを再確立して、論理接続に含める。そして、プロセスからの論理接続に適合する通信要求を受け取ると、通信制御部(1b)は、そのとき論理接続に含まれる物理コネクションを介して、通信要求に応じた通信を行う。

Description

明 細 書 通信制御プログラムおよび通信制御方法 技術分野
本発明はコンピュータ間の通信を制御するための通信制御プログラムおよび通 信制御方法に関し、 特に多重化された伝送路を用いて通信を行うための通信制御 プログラムおよび通信制御方法に関する。 背景技術
L AN (Local Area Network)等でコンピュータを接続する場合、 異なるコンビ ュ一夕間には 1つの伝送経路しか存在しないことがほとんどである。 ただし、 1 つの伝送路で接続していると、 その伝送路に障害が発生したとき、 コンピュータ 間の通信が途絶えてしまう。 そこで、 高い信頼性が必要な場合、 通信機器の二重 化が必要となる。
たとえば、 システムに 2つの L ANアダプタを設ける。 そして、 一方の L AN アダプタを運用系ホストとし、 他方の L ANアダプタを待機系ホストとする。 運 用系ホストに障害が発生した場合、 運用系ホス卜の L ANアダプタを無効状態に し、 待機系ホストの L ANアダプタを有効状態にする (たとえば、 特許文献 1参 照) 。 これにより、 L ANアダプタに障害が発生したときに、 別の L ANァダプ 夕を介して通信を復帰させることができる。
また、 複数の通信アダプタを搭載したシステムで通信アダプタを切り替えたと き、 切り替え先の通信アダプタから A R P (Address Resolution Protocol)要求メ ッセージを同報送信する技術もある (たとえば、 特許文献 2参照) 。 これにより、 切り替え先の通信アダプタは、 障害発生時に他の装置の MA C (Media Access Control)ァドレスを取得し、 通信状態を確立することができる。
特許文献 1
特開平 9一 3 2 6 8 1 0号公報 特開平 1 0— 3 2 0 3 2 7号公報
ところで、 現在の多くのネットワークでは、 パケットの転送に失敗すると、 成 功するまでパケット転送をリトライする。 所定回数のリトライによってもバケツ ト転送が成功しなければ、 アプリケーション等のプロセスがコネクションの切断 を認識し、 別の伝送経路を介してコネクションを接続する。
しかし、 従来のコネクションの切り替え方法では、 実際に伝送経路に障害が発 生してから、 アプリケーション等のプロセスがコネクション切断を認識するまで に時間がかかっていた。 すなわち、 パケット送信のリトライが複数回失敗するま で、 伝送線路の障害が検知されない。 そのため、 パケット送信のリトライを行つ ている間、 異なるコンピュータ上のプロセス間の通信が停止する。 その結果、 ネ ットワーク全体としての処理能力が低下してしまう。
また、 異なるコンピュータ間の複数経路として、 物理的に経路が異なっている 場合、 経路の途中のみを複数経路として多重化されている場合が多い。 たとえば、 上記特許文献 1や特許文献 2では、 L ANアダプタ (通信アダプタ) のみが二重 化されている。 また、 ルータなどの途中の装置を経由した先の伝送経路が複数あ り、 効率の良い経路を選択することもできる。 しかし、 システムの用途によって は、 伝送路の一部のみが二重化では信頼性が不十分な場合がある。 また、 ルータ などの装置による経路選択を行うと、 複数の経路を同時に使うなどの自由度が奪 われてしまう。 発明の開示
本発明はこのような点に鑑みてなされたものであり、 1つの伝送路上での障害 により異なるコンピュータ上のプロセス間通信が中断するのを防止した通信管理 プログラムを提供することを目的とする。
本発明では上記課題を解決するために、 図 1に示すような機能を実現する通信 制御プログラムが提供される。 本発明に係る通信制御プログラムは、 複数の伝送 経路のそれぞれに接続された複数の通信装置を介して他の装置と通信を行うため のものである。 この通信制御プログラムに従ってコンピュータ 1は、 以下の処理 を実行する。 コンピュータ 1は、 任意のプロセスからの接続要求に応じて、 通信装置 l c、 1 dのうち少なくとも 1つを選択し、 選択した通信装置を介した物理コネクショ ンを確立する。 次に、 コンピュータ 1は、 確立された 1以上の物理コネクション を 1つに纏めた論理接続を定義する。 さらに、 コンピュータ 1は、 論理接続に含 まれる物理コネクションに障害が発生すると、 障害が発生した物理コネクション と異なる通信装置を介した物理コネクションを再確立して、 論理接続に含める。 そして、 コンピュータ 1は、 プロセス 1 aからの論理接続に適合する通信要求を 受け取ると、 そのとき論理接続に含まれる物理コネクションを介して、 通信要求 に応じた通信を行う。
これにより、 プロセス 1 aからの接続要求に対して、 1以上の物理コネクショ ンを確立するとともに、 それらの物理コネクシヨンを 1つに纏めた論理接続が定 義される。 物理コネクションに障害が発生すれば、 別の通信装置を介して再接続 が行われる。 論理接続に含まれる物理コネクションの確立が維持される。 そして、 プロセス 1 aから論理接続に適合する通信要求が出されると、 論理接続に含まれ る物理コネクションを介して通信が行われる。
また、 上記課題を解決するために、 複数の伝送経路のそれぞれに接続された複 数の通信装置を介して他の装置と通信を行うための通信制御方法において、 任意 のプロセスからの接続要求に応じて、 前記通信装置のうち少なくとも 1つを選択 し、 選択した前記通信装置を介した物理コネクションを確立し、 確立された 1以 上の前記物理コネクションを 1つに纏めた論理接続を定義し、 前記論理接続に含 まれる前記物理コネクションに障害が発生すると、 障害が発生した前記物理コネ クシヨンと異なる前記通信装置を介した物理コネクションを再確立して、 前記論 理接続に含め、 前記プロセスからの前記論理接続に適合する通信要求を受け取る と、 そのとき前記論理接続に含まれる前記物理コネクションを介して、 前記通信 要求に応じた通信を行う、 ことを特徴とする通信制御方法が提供される。
このような通信制御方法によれば、 プロセスからの接続要求に対して、 1以上 の物理コネクションを確立するとともに、 それらの物理コネクションを 1つに纏 めた論理接続が定義される。 物理コネクションに障害が発生すれば、 別の通信装 置を介して再接続が行われる。 論理接続に含まれる物理コネクションの確立が維 持される。 そして、 プロセスから論理接続に適合する通信要求が出されると、 論 理接続に含まれる物理コネクションを介して、 通信が行われる。
本発明の上記および他の目的、 特徴および利点は本発明の例として好ましい実 施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。 図面の簡単な説明
図 1は、 実施の形態に適用される発明の概念図である。
図 2は、 本実施の形態のシステム構成例を示す図である。
図 3は、 コンピュータのハードウエア構成例を示す図である。
図 4は、 コンピュータの機能ブロック図である。
図 5は、 本実施の形態における接続形態の概念図である。
図 6は、 通信管理情報テーブルのデータ構造例を示す図である。
図 7は、 経路管理情報テーブルのデ一夕構造例を示す図である。
図 8は、 物理管理情報テーブルのデータ構造例を示す図である。
図 9は、 状態管理ツリーの例を示す図である。
図 1 0は、 通信管理ツリーの例を示す図である。
図 1 1は、 コネクション確立手順を示すシーケンス図である。
図 1 2は、 情報テーブルの状態遷移の前半を示す図である。
図 1 3は、 情報テーブルの状態遷移の後半を示す図である。
図 1 4は、 コネクション確立時のサーバ側の処理手順を示すフローチャートで ある。
図 1 5は、 コネクション確立時のクライアント側の処理手順を示すフローチヤ 一卜である。
図 1 6は、 クライアント側のコンピュータによるコネクション異常検出時の手 順を示すシーケンス図である。 .
図 1 7は、 情報テ一ブルの状態遷移の前半を示す図である。
図 1 8は、 情報テーブルの状態遷移の後半を示す図である。
図 1 9は、 サーバ側のコンピュータによるコネクション異常検出時の手順を示 すシーケンス図である。 図 2 0は、 情報テーブルの状態遷移の前半を示す図である。
図 2 1は、 情報テーブルの状態遷移の後半を示す図である。
図 2 2は、 サーバ側のコンピュータでのコネクション異常時の処理手順を示す フローチャートである。
図 2 3は、 クライアント側のコンピュータでのコネクション異常時の処理手順 を示すフローチャートである。
図 2 4は、 接続経路の選択手順を示すフローチャートである。
図 2 5は、 複数の経路で通信を行う場合のサーバ側の通信管理情報テーブルの 例を示す図である。
図 2 6は、 複数の経路で通信を行う場合のクライアント側の通信管理情報テー ブルの例を示す図である。
図 2 7は、 複数の経路で通信を行う場合のサーバ側の物理管理情報テーブルの 例を示す図である。
図 2 8は、 複数の経路で通信を行う場合のクライアント側の物理管理情報テー ブルの例を示す図である。
図 2 9は、 分割が不要な場合の転送例を示す図である。
図 3 0は、 分割転送が行われる場合の第 1の例を示す図である。
図 3 1は、 分割転送が行われる場合の第 2の例を示す図である。
図 3 2は、 分割転送が行われる場合の第 3の例を示す図である。
図 3 3は、 分割転送の処理を示すシーケンス図である。 発明を実施するための最良の形態
以下、 本発明の実施の形態を図面を参照して説明する。
まず、 実施の形態に適用される発明の概要について説明し、 その後、 実施の形 態の具体的な内容を説明する。
図 1は、 実施の形態に適用される発明の概念図である。 本発明では、 複数のコ ンピュー夕 1 , 2間に複数の伝送路 3, 4を持つ伝送システムに適用される。 コ ンピュー夕 1は、 複数の通信装置 l c, I dを有する。 コンピュータ 1内のプロ セス 1 aからの通信要求は、 通信制御部 1 bが受け取る。 この通信制御部 1 bが 通信装置 l c、 I dを制御して、 コンピュータ 2との間の通信を行う。 同様に、 コンピュータ 2は、 複数の通信装置 2 c, 2 dを有する。 コンピュータ 2内のプ ロセス 2 aからの通信要求は、 通信制御部 2 bが受け取る。 この通信制御部 2 b が通信装置 2 c、 2 dを制御してコンピュータ 1との間で通信を行う。
各コンピュータ 1, 2の通信制御部 l b、 2 bは、 複数の伝送路 3 , 4上で確 立される物理コネクションをひとまとめに管理し、 仮想的に 1つの伝送システム (論理接続) として利用できるようにしている。 そして、 仮想的な伝送経路 (論 理接続) を介したデータ通信環境を、 ユーザが実行させるプロセス 1 a , 2 aに 提供する。
具体的には、 通信制御部 l bは、 任意のプロセスからの接続要求に応じて、 通 信装置 l c、 I dのうち少なくとも 1つを選択し、 選択した通信装置を介した物 理コネクションを確立する。 次に、 通信制御部 l bは、 確立された 1以上の物理 コネクションを 1つに纏めた論理接続を定義する。 また、 通信制御部 l bは、 論 理接続に含まれる物理コネクションに障害が発生すると、 障害が発生した物理コ ネクシヨンと異なる通信装置を介した物理コネクションを再確立して、 論理接続 に含める。 そして、 通信制御部 l bは、 プロセスからの論理接続に適合する通信 要求を受け取ると、 そのとき論理接続に含まれる物理コネクションを介して、 通 信要求に応じた通信を行う。
このようにして、 仮想的な伝送路 (論理接続) に含まれる物理的な伝送路 3 , 4の選択を、 システムの動作状況に応じて動的に行うことができるようにする。 その結果、 通信の信頼性を向上させることが可能となる。 たとえば、 利用可能な 複数の伝送路 3, 4を同時に利用すれば、 伝送性能を高めることができる。 ここで、 本発明における接続関係は、 異なるコンピュータ 1 , 2同士の接続識 別子 (例えば I Pアドレス) 、 利用されるコンピュータ 1上の装置名、 途中経路 を特定するための経路情報、 通信を行うアプリケーション同士の通信識別子 (例 えば T C Pポート番号) 、 および物理コネクションを識別するための通信通番を 用いて管理することができる。 たとえば、 論理接続は、 コンピュータ 1 , 2双方 の接続識別子と通信識別子の組で認識できる。 物理的な通信はそれに加え、 通信 通番を含めて認識する。 つまり、 論理的な通信は複数の物理的な通信をまとめた ものである。 ただし、 物理的な通信は、 通信制御部 l b, 2 bにおいて認識され ていればよく、 プロセス l a, 2 aが認識する必要はない。
このように、 本発明に係る通信では、 論理的 (外部的) な通信と物理的 (内部 的) な通信の 2種類の通信接続形態がある。 論理的な接続形態 (論理接続) は、 複数の伝送路 3 , 4を任意に利用可能な物理コネクションである。 論理接続が外 部的とは、 通信管理機能の外に位置するプロセス 1 a , 2 aから認識される接続 形態という意味である。 物理的な接続形態は、 任意の通信装置と、 その通信装置 に接続された伝送路を利用した物理コネクションである。 物理的な接続形態が内 部的とは、 通信管理機能の外に位置するプロセス 1 a, 2 aからは存在が隠され ているという意味である。
このようなシステム上で通信を依頼するプロセス 1 a , 2 aは、 相手接続識別 子と自分と相手の通信識別子を指定することにより、 通信を開始する。 このとき、 通信制御部 l b、 2 bでは、 通信装置の稼働状態等を加味して、 適当な通信装置 や伝送路を自動的に選択し、 物理コネクションを確立する。 従って、 利用者から の利用方法を変更せずに, 自動的に信頼性の向上や性能向上が図ることが可能と なり、 利用者からの利用を中断させること無しに装置の交換や増設なども行うこ とができる。
また、 通信装置や伝送路の故障を検出した場合には、 自動的に利用可能な装置 や経路を判断して、 再接続要求を同一通信通番を使って通信を再開する。 このと き、 プロセス l a, 2 aは、 論理接続によって互いに通信しているものと認識し ているため、 伝送路上の障害の発生を意識せずに、 継続して通信を行うことがで きる。 したがって、 ユーザアプリケーション等によって生成されるプロセスへの 通信サービスの信頼性が向上する。
さらに複数の通信通番を利用することで、 自動的に複数の経路を選択して同時' に接続を行う形態をとることができる。 この場合、 同時に複数経路での通信を行 うことにより、 プロセス l a, 2 a間の通信速度を向上させることができる。 ま た、 1つの伝送路に障害が発生しても、 他の伝送路を介した物理コネクションが 確立されていればプロセス 1 a , 2 a間の通信が途絶えることもなく、 信頼性も 向上する。 また、 複数の物理コネクションが確立された場合、 1つの物理コネクションが とぎれる毎に再接続してもよいし、 接続された全ての物理コネクションがとぎれ たときに、 再接続を行ってもよい。
図 2は、 本実施の形態のシステム構成例を示す図である。 図 2に示すように、 複数のコンピュータ 1 0 0, 2 0 0, 3 0 0が 2つのスィッチ装置 4 1 0 , 4 2 0を介して接続されている。 これにより、 各コンピュータ間は、 スィッチ装置 4 1 0を介した伝送経路と、 スィッチ装置 4 2 0を介した伝送経路との 2つの伝送 経路が設けられている。
図 3は、 コンピュータのハードウェア構成例を示す図である。 コンピュータ 1 0 0は、 C P U(Central Processing Unit) 1 0 1によつて装置全体が制御されて いる。 C P U 1 0 1には、 バス 1 0 8を介して R AM(Random Access Memory) 1 0 2、 ハードディスクドライブ (HD D :Hard Disk Drive) 1 0 3、 グラフィ ック処理装置 1 0 4、 入力インタフェース 1 0 5、 および通信装置 1 0 6、 1 0 7が接続されている。
R AM 1 0 2には、 C P U 1 0 1に実行させる 0 S (Operating System)のプ ログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。 また、 RAM 1 0 2には、 C P U 1 0 1による処理に必要な各種データが格納さ れる。 HD D 1 0 3には、 O Sやアプリケーションプログラムが格納される。 グラフィック処理装置 1 0 4には、 モニタ 1 1が接続されている。 グラフイツ ク処理装置 1 0 4は、 C P U 1 0 1からの命令に従って、 画像をモニタ 1 1の画 面に表示させる。 入力インタフェース 1 0 5には、 キ一ポ一ド 1 2とマウス 1 3 とが接続されている。 入力イン夕フェース 1 0 5は、 キーボード 1 2やマウス 1 3から送られてくる信号を、 バス 1 0 8を介して C P U 1 0 1に送信する。
通信装置 1 0 6は、 スィッチ装置 4 1 0に接続されている。 通信装置 1 0 6は、 スィッチ装置 4 1 0を介して、 他のコンピュータとの間でデ一夕の送受信を行う。 通信装置 1 0 7は、 スィッチ装置 4 2 0に接続されている。 通信装置 1 0 7は、 スィッチ装置 4 2 0を介して、 他のコンピュータとの間でデ一夕の送受信を行う。 以上のようなハードゥエァ構成によって、 本実施の形態の処理機能を実現する ことができる。 なお、 図 3には、 コンピュータ 1 0 0のハードウェア構成例を示 したが、 他のコンピュータ 2 0 0, 3 0 0も同様のハードウェア構成で実現する ことができる。
次に、 上記のようなハードウェア構成のシステムにおいて、 本実施の形態の実 現に必要な機能を、 コンピュータ 1 0 0とコンピュータ 2 0 0との関係に着目し て説明する。
図 4は、 コンピュータの機能ブロック図である。 コンピュータ 1 0 0には、 通 信管理情報テ一ブル 1 1 1、 経路管理情報テーブル 1 1 2、 物理管理情報テープ ル 1 1 3、 ユーザプロセス 1 2 1、 論理通信管理部 1 2 2、 接続識別情報管理部 1 2 3、 利用装置選択部 1 2 4、 および物理通信管理部 1 2 5が設けられている。 通信管理情報テーブル 1 1 1には、 ユーザプロセス 1 2 1に対して提供する論 理的な通信経路 (論理接続) の情報が管理されている。
経路管理情報テーブル 1 1 2には、 通信相手まで 伝送経路 (通信装置や伝送 路) が管理されている。
物理管理情報テーブル 1 1 3には、 物理的な伝送路上に構築されたコネクショ ン (物理コネクション) の接続状況が管理されている。
ユーザプロセス 1 2 1は、 アプリケーションプログラム等に基づいて処理を実 行するプロセスである。 ユーザプロセス 1 2 1は、 他のコンピュータと通信する 場合、 サーバとして機能するものとクライアントとして機能するものとがある。 クライアントとして機能するユーザプロセス 1 2 1は、 サーバとの通信を伴う処 理を指示する操作入力等に応じて、 通信開始要求を出力する。 この通信開始要求 には、 相手接続識別子/自通信識別子 Z相手通信識別子が含まれる。
論理通信管理部 1 2 2は、 ユーザプロセス 1 2 1から出力された通信開始要求 を受け取ると、 通信管理情報テーブル 1 1 1を作成する。 論理通信管理部 1 2 2 は、 通信管理情報テーブル 1 1 1に基づいて、 論理接続の状態を木構造 (通信管 理ツリー) で認識する。 論理通信管理部 1 2 2で通信管理情報テーブル 1 1 1が 作成されると、 通信管理ツリーが更新される。 その後、 通信開始要求の内容は、 接続識別情報管理部 1 2 3に送られる。
接続識別情報管理部 1 2 3は、 経路管理情報テ一ブル 1 1 2に基づいて物理接 続の状態を木構造 (状態管理ツリー) で認識し、 有効な識別子であるか、 どの装 置が利用されるかの判断を行う。 接続識別情報管理部 1 2 3は、 判断結果を、 利 用装置選択部 1 2 4に渡す。
利用装置選択部 1 2 4は、 ラウンドロビン方式などを使いながら、 どの装置ノ 経路を利用するかを負荷状況に応じて判断する。 利用装置選択部 1 2 4は、 利用 する経路を選択すると、 選択した経路に接続された物理通信管理部 1 2 5に対し て通信確立を依頼する。
物理通信管理部 1 2 5は、 利用装置選択部 1 2 4からの通信開始要求に応じて、 経路管理情報テーブル 1 1 2を作成し、 接続確立を試みる。 接続確立に失敗した 場合には、 物理通信管理部 1 2 5は、 処理を利用装置選択部 1 2 4へ戻し、 利用 装置を再選択させる。 そして、 物理通信管理部 1 2 5は、 再選択された利用装置 を用いて、 再接続を試みる。
コンビュ一夕 2 0 0にも、 コンビュ一夕 1 0 0と同様に、 通信管理情報テープ ル 2 1 1、 経路管理情報テーブル 2 1 2、 物理管理情報テーブル 2 1 3、 ユーザ プロセス 2 2 1、 論理通信管理部 2 2 2、 接続識別情報管理部 2 2 3、 利用装置 選択部 2 2 4、 および物理通信管理部 2 2 5が設けられている。 各構成要素の機 能は、 コンピュータ 1 0 0内の同名の構成要素と同じである。
ここで、 通信識別情報と接続識別情報との関係について説明する。
図 5は、 本実施の形態における接続形態の概念図である。 図 5に示すように、 コンピュータ 1 0 0は、 接続識別情報 1 3 1を用いて、 通信に使用する通信装置 1 0 6 , 1 0 7を選択する。 同様に、 コンピュータ 2 0 0は、 接続識別情報 2 3 1を用いて、 通信に使用する通信装置 2 0 6, 2 0 7を選択する。
ここで、 コンピュータ 1 0 0の接続識別子を 「1」 とし、 コンピュータ 2 0 0 の接続識別子を 「2」 とする。 また、 コンピュータ 1 0 0の通信装置 1 0 6の識 別子を 「A」 、 通信装置 1 0 7の識別子を 「B」 とする。 さらに、 コンピュータ 2 0 0の通信装置 2 0 6の識別子を 「C」 、 通信装置 2 0 7の識別子を 「D」 と する。
通信装置 1 0 6と通信装置 2 0 6とが伝送路 3 1で接続されており、 この伝送 路の識別子を 「X」 とする。 また、 通信装置 1 0 7と通信装置 2 0 7とが伝送路 3 2で接続されており、 この伝送路の識別子を 「Y」 とする。 このような接続関係が双方のコンピュータ 1 0 0 , 2 0 0で認識され、 各種情 報テーブルに登録される。
図 6は、 通信管理情報テーブルのデータ構造例を示す図である。 通信管理情報 テーブル 1 1 1は、 論理接続毎に生成され、 生成された各通信管理情報テーブル それぞれに通信識別子が付与される。 通信管理情報テーブル 1 1 1には、 自プロ セスの立場、 論理通信管理識別子、 自接続識別子、 相手接続識別子、 物理通信、 自通信識別子、 相手通信識別子、 再接続可否、 および確立の欄が設けられている。 各欄の横方向に並べられた情報同士が互いに関連づけられている。
自プロセスの立場の欄には、 自コンピュータ上で通信を行うユーザプロセスが、 サーバかクライアントかを示す識別子が設定される。 論理通信管理識別子の欄に は、 プロセスから認識される論理接続を一意に識別するための識別情報が設定さ れる。 自接続識別子には、 ネットワーク上での自コンピュータの識別情報 (たと えば、 I Pアドレス) が設定される。 相手接続識別子の欄には、 ネットワーク上 での相手コンピュータの識別情報が設定される。 物理通信の欄には、 通信に利用 すると伝送路の識別情報が設定される。 自通信識別子の欄には、 通信を行うユー ザプロセスを識別するための識別情報が設定される。 相手通信識別子の欄には、 通信相手のユーザプロセスを識別するための識別情報が設定される。 再接続可否 の欄には、 再接続が可能か否かが設定される。 再接続が可能であれば、 再接続可 否 「Y」 である。 確立の欄は、 物理コネクションが確立してるか否かを示す情報 が設定される。 図 6の例では、 物理コネクションが確立していれば、 確立の欄に 「〇」 が設定される。
図 7は、 経路管理情報テーブルのデータ構造例を示す図である。 経路管理情報 テーブル 1 1 2には、 経路識別子、 相手接続識別子、 利用装置、 経路、 利用回線 数、 利用可否の欄が設けられている。 各欄の横方向に並べられた情報同士が互い に関連づけられている。
経路識別子の欄には、 通信経路の識別情報 (通信装置の識別情報と伝送路の識 別情報との組) が設定される。 相手接続識別子の欄には、 通信相手のコンピュー 夕の接続識別子 (たとえば、 I Pアドレス) が設定される。 利用装置の欄には、 通信装置の識別情報が設定される。 経路の欄には、 伝送路の識別情報が設定され る。 利用回線数の欄には、 その通信経路で通信している回線 (物理コネクショ ン) の数が設定される。 利用可否の欄には、 物理経路を利用可能か否かが設定さ れる。 図 7の例では、 利用可能であれば利用可否 「〇」 であり、 利用不可能であ れば利用可否 「X」 である。
図 8は、 物理管理情報テーブルのデータ構造例を示す図である。 物理管理情報 テーブル 1 1 3には、 物理通信管理識別子、 論理通信管理識別子、 通信通番、 経 路情報、 および通信状態の欄が設けられている。 各欄の横方向に並べられた情報 同士が互いに関連づけられている。
物理通信管理識別子の欄には、 物理コネクションを一意に識別するための識別 情報が設定される。 論理通信管理識別子の欄には、 物理コネクションが属する論 理接続を一意に識別するための識別情報が設定される。 通信通番の攔には、 同じ 論理接続に属する物理通信の中の通し番号が設定される。 経路情報の欄には、 通 信に使用する伝送経路の識別情報が設定される。 通信状態の欄には、 通信状態:を 示す情報が設定される。 図 8の例では、 通信が可能であれば通信状態 「〇」 であ り、 通信不可能であれば通信状態 「X」 である。
このような構造のデータに基づいて状態管理ッリ一や通信管理ッリ一が構成さ れる。
図 9は、 状態管理ツリーの例を示す図である。 状態管理ツリー 4 1では、 コン ピュー夕 1 0 0自身の接続識別子 「1」 (自接続識別子) がルートに設定される。 自接続識別子の下位構造として、 通信相手のコンピュータ 2 0 0の接続識別子 「2」 (相手接続識別子) が設定される。 相手接続識別子の下位構造として、 利 用装置 (通信装置 1 0 6, 1 0 7 ) の識別子 「A」 、 「B」 が設定される。 利用 装置の下位構造として、 その利用装置に接続されている経路 (伝送路 3 1 , 3 2 ) の識別子 「X」 、 「Y」 が設定される。
図 1 0は、 通信管理ツリーの例を示す図である。 通信管理ツリー 4 2では、 コ ンピュー夕 1 0 0自身の接続識別子 「1」 (自接続識別子) がルートに設定され る。 自接続識別子の下位構造として、 通信相手のコンピュータ 2 0 0の接続識別 子 「2」 (相手接続識別子) が設定される。 相手接続識別子の下位構造として、 論理接続の識別情報である論理通信管理識別子 「C 1」 、 「C 2」 が設定される。 論理接続の下位構造として、 物理通信の識別情報である通信通番 「P 1 1」 、 「P 1 2」 、 「P 2」 が設定される。
以上のような構成のシステムによって、 以下の様な処理が行われる。 まず、 ュ 一ザプロセス 1 2 1から通信開始要求 (相手接続識別子、 自通信識別子、 および 相手通信識別子を含む) が出されると、 論理通信管理部 1 2 2によって通信管理 情報テーブル 1 1 1が作成される。 通信開始要求に対応する通信管理情報テープ ル 1 1 1が作成されることで、 論理通信管理部 1 2 2において認識される通信管 理ツリーが更新される。 その後、 接続確立をするために、 通信開始要求が接続識 別情報管理部 1 2 3へ送られる。
接続識別情報管理部 1 2 3は、 経路管理情報テーブル 1 1 2を参照し、 状態管 理ッリ一を認識する。 そして、 接続識別情報管理部 1 2 3は、 相手接続識別子に 対応するコンピュータへの伝送路があるが、 また、 その伝送路を介した通信にど の通信装置が利用されるかの判断を行い。 接続識別情報管理部 1 2 3は、 判断結 果を利用装置選択部 1 2 4へ送る。
利用装置選択部 1 2 4は、 相手接続識別子で示されるコンピュータに対して通 信可能な通信装置の負荷状況 (たとえば、 利用回線数) の判断を行い、 ラウンド ロビン方式などを使いながら利用する通信装置を判断する。 利用する通信装置の 情報は、 物理通信管理部 1 2 5に送られる。
物理通信管理部 1 2 5は、 管理情報テーブルを作成し、 接続確立を試みる。 す なわち、 物理通信管理部 1 2 5は、 接続要求をコンピュータ 2 0 0に送信し、 接 続可能の返信を受け取ると、 接続を確立する。 もし、 失敗した場合には利用装置 選択部 1 2 4へ制御を戻す。 すると、 利用装置選択部 1 2 4で他の通信装置が選 択され物理通信管理部 1 2 5に通知される。 物理通信管理部 1 2 5は、 通知され た通信情報を利用して再接続を試み、 成功した場合は、 経路管理情報テーブル 2 1 2や物理管理情報テーブル 2 1 3を更新する。 そして、 物理コネクションが確 立されたことが論理通信管理部 1 2 2に伝えられ、 通信管理情報テーブル 1 1 1 が更新される。
通信相手のコンピュータ 2 0 0では、 物理通信管理部 2 2 5が物理通信管理部 1 2 5からの接続要求を受け、 論理通信管理部 2 2 2に伝える。 その後、 論理通 信管理部 2 2 2、 接続識別情報管理部 2 2 3、 利用装置選択部 2 2 4が協働し、 ュ一ザプロセス 2 2 1からの接続開始要求出力時と同様に、 使用する通信装置の 選択および、 通信管理情報テーブル 2 1 1、 経路管理情報テーブル 2 1 2、 物理 管理情報テーブル 2 1 3の更新を行う。 接続要求に応じて接続が可能であれば、 物理通信管理部 2 2 5が接続可能の応答を返信し、 コンピュータ 1 0 0から確立 宣言が送られてくると、 物理コネクションを確立する。 そして、 物理コネクショ ンが確立されたことが論理通信管理部 2 2 2に伝えられ、 通信管理情報テーブル 2 1 1が更新される。
その後、 ユーザプロセス 1 2 1と他のコンピュータ 2 0 0上の他のユーザプロ セス 2 2 1との間の通信が開始される。
なお、 物理通信管理部 1 2 5は、 1つの論理接続に対して、 複数の伝送路を介 した物理コネクションを確立することもできる。 この場合、 物理通信管理部 1 2 5は、 各物理コネクションに対して通信通番を 1から順に設定する。 異常時の再 接続には同一の通信通番を用いて、 別の伝送路を介した再接続要求を出す。 物理 コネクションの再接続が確立すると、 障害発生以前と同様の通信通番により通信 が可能となる。
なお、 再接続を可能とするために、 接続確立後に両端点で自通信識別子に対す る接続要求を、 論理接続が切断されるまで受け付けられるようにしておく。 通常、 プロセスがサーバとして機能していれば、 クライアントからの接続要求を受け付 けることができる。 プロセスがクライアントとして機能していた場合、 サーバ機 能 (少なくとも接続要求の受け付け機能) を予め起動しておく。
接続確立後の通常通信時は、 論理通信管理部 1 2 2から物理通信管理部 1 2 5 へ直接要求が出される。 物理通信管理部 1 2 5からコンピュータ 2 0 0の物理通 信管理部 2 2 5にデータが渡される。 物理通信管理部 2 2 5は、 受け取ったデ一 夕を論理通信管理部 2 2 2に渡す。 そして、 論理通信管理部 2 2 2がデータをュ 一ザプロセス 2 2 1に渡す。
通信開始後、 異常が発生すると、 物理通信管理部 1 2 5と物理通信管理部 2 2 5との双方若しくは、 どちらか一方で異常を検出する。 たとえば、 InfiniBand アーキテクチャを用いた通信装置であれば伝送路上の障害を検知し、 上位の制御 部 (物理通信管理部 1 2 5 , 2 2 5 ) に通知することができる。
ここで、 物理通信管理部 1 2 5が障害を検出した場合、 利用装置選択部 1 2 4 に対して、 利用する通信装置の再選択を依頼する。 そして、 物理通信管理部 1 2 5は、 利用装置選択部 1 2 4で選択された通信装置を介した通信の再接続を行う。 この際、 障害が発生した物理コネクションと再接続された物理コネクションとは、 同一の通信通番が使用される。
再接続の際の接続要求を受け取った物理通信管理部 2 2 5は、 接続要求を論理 通信管理部 2 2 2に渡す。 論理通信管理部 2 2 2は、 受け取った接続要求が再接 続要求かどうかを、 同一の接続識別子 Z通信識別子 Z通信通番が通信管理情報テ 一ブル 2 1 1に存在するかどうかで判断する。 判断結果は接続識別情報管理部 2 2 3に伝えられる。 接続識別情報管理部 2 2 3は、 再接続要求であれば、 既存の 物理コネクションの接続識別情報を物理管理情報テーブル 2 1 3から破棄し、 再 接続要求を受付ける。
ここで、 障害が両方のコンピュータ 1 0 0 , 2 0 0で検出される場合がある。 その場合、 再接続要求は要求が先に届いた方を優先する。 ただし、 同時 (再接続 完了前) に出てしまった場合は、 クライアント若しくはサーバ (ユーザプロセス の機能による区別) の何れか一方の要求が優先される。 たとえば、 サーバ側の再 接続要求を優先する場合には、 サーバ側のコンピュータにおいてクライアント側 のコンピュータから送られた再接続要求が破棄される。 なお、 最初の接続時に要 求を出した方 (通常はクライアント側) の要求を優先させるように設定してもよ い。
再接続確立後は確立前に完了していなかった送受信要求を、 新たな物理コネク シヨンを介して自動的に再要求する。 そのため、 ユーザプロセスは、 通信障害の 発生や再確立を意識する必要がなレ ^。
また、 1つの論理接続において複数経路を同時に利用する場合は、 複数の通信 通番によって接続を行う。 この場合、 論理接続配下に複数の物理通信が束ねられ、 論理通信管理部 1 2 2、 2 2 2が持っている分割ルールに乗っ取って負荷分散が 行われ、 並列に通信が行われる。
さらに、 複数経路を同時に使う場合の障害発生時も通常と同様に、 再度、 利用 装置選択部 1 2 4によって選択された通信装置を使って、 同一の通信通番によつ て、 再接続が試みられる。
以下に、 本実施の形態における処理を詳細に説明する。
図 1 1は、 コネクション確立手順を示すシーケンス図である。 図 1 1では、 サ ーバ側の処理を左側に示し、 クライアント側の処理を右側に示している。 ここで、 コンピュータ 1 0 0内のュ一ザプロセス 1 2 1がサーバであり、 コンピュータ 2 0 0内のユーザプロセス 2 2 1がクライアントの場合を例に採り、 コネクション が正常に確立したときの流れを説明する。
まず、 クライアント側のユーザプロセス 2 2 1からの通信開始要求に応答して、 コンピュータ 2 0 0が接続相手を選択する (ステップ S 1 1 ) 。 なお、 通信開始 要求には、 通信相手を特定するために、 相手接続識別子、 自通信識別子および相 手通信識別子が含まれる。 これにより、 接続相手としてコンピュータ 1 0 0が選 択されたものとする。 このとき、 サーバ側のコンピュータ 1 0 0では、 接続要求 を待ち受けている (ステップ S 1 2 ) 。
コンピュータ 2 0 0からコンピュータ 1 0 0に対して、 接続要求が発行される (ステップ S 1 3 ) 。 その後、 コンピュータ 2 0 0は、 返信の待ち受け状態とな る (ステップ S 1 4 ) 。
コンピュータ 1 0 0は、 接続要求を受け取ると、 接続要求を返信する (ステツ プ S 1 5 ) 。 その後、 コンピュータ 1 0 0は、 確立宣言の待ち受け状態となる (ステップ S 1 6 ) 。
接続要求の返信を受け取ったコンピュータ 2 0 0は、 確立宣言を発行する (ス テツプ S 1 7 ) 。 その後、 コンピュータ 2 0 0は、 コネクション確立状態となる (ステップ S 1 8 ) 。 また、 確立宣言を受け取ったコンピュータ 1 0 0も、 コネ クシヨン確立状態となる (ステップ S 1 9 ) 。
このような手順でコネクションが確立される。 以下に、 コネクション確立時の 通信管理情報テ一ブルと物理管理情報テーブルとの内容の遷移状況について、 図
1 2, 図 1 3を参照して説明する。 なお、 図 1 2、 図 1 3では、 通信管理情報テ 一ブルに関し、 サーバ側の情報を上段に示し、 クライアント側の情報を下段に示 している。 同様に、 物理管理情報テーブルに関し、 サーバ側の情報を上段に示し、 クライアント側の情報を下段に示している。
図 12は、 情報テーブルの状態遷移の前半を示す図である。
第 1の状態 (ST1) は、 コネクション確立開始前の状態である。 コネクショ ン確立開始前は、 サーバ側の通信管理情報テ一ブル 1 11には、 自プロセスの立 場 「サーバ」 、 論理通信管理識別子 「C 1」 、 自接続識別子 「1」 、 相手接続識 別子 「一」 、 物理通信 「一一」 、 自通信識別子 「10」 、 相手通信識別子 「一 -J 、 再接続可否 「―」 、 確立 「X」 が設定されている。 ここで 「一」 は、 情報 が登録されていないことを示している。 また、 確立 「X」 は、 コネクションが確 立していないことを示している。
一方、 クライアント側の通信管理情報テーブル 21 1には、 自プロセスの立場 「クライアント」 、 論理通信管理識別子 「C2」 、 自接続識別子 「2」 、 相手接 続識別子 「1」 、 物理通信 「—一」 、 自通信識別子 「99」 、 相手通信識別子
「10」 、 再接続可否 「Y」 、 確立 「X」 が設定されている。 ここで 「一」 は、 情報が登録されていないことを示している。 また、 確立 「X」 は、 コネクション が確立していないことを示している。
このように、 クライアント側の通信管理情報テーブル 211には、 通信開始要 求で示される相手識別子と相手通信識別子とが登録される。 このとき、 物理管理 情報テーブル 113, 213には、 情報は登録されていない。
第 2の状態 (ST2) は、 クライアント側における接続相手選択 (ステップ S 11) 後の状態である。 クライアント側のコンピュータ 200から接続相手を選 択すると、 クライアント側の通信管理情報テーブル 211に、 物理通信 「Ρ2」 が設定される。
このとき、 クライアント側の物理管理情報テーブル 213には、 物理通信管理 識別子 「Ρ2」 、 論理通信管理識別子 「C2」 、 通信通番 「1」 、 経路情報 「C X」 、 通信状態 「X」 が設定される。
第 3の状態 (ST3) は、 サーバからの接続要求返信 (ステップ S 15) 後の 状態である。 サーバ側のコンピュータ 100から接続要求の返信が行われると、 サーバ側の通信管理情報テーブル 111に、 相手接続識別子 「2」 、 相手通信識 別子 「99」 、 再接続可否 「Y」 が設定される。 このとき、 サーバ側の物理管理情報テ一ブル 1 1 3には、 物理通信管理識別子 「P 1」 、 論理通信管理識別子 「C 1」 、 通信通番 「1」 、 経路情報 「AXJ 、 通信状態 「X」 が設定される。
図 1 3は、 情報テーブルの状態遷移の後半を示す図である。
第 4の状態 (S T 4 ) は、 クライアントからの確立宣言発行 (ステップ S 1 7 ) 後の状態を示している。 クライアント側のコンピュータ 2 0 0から確立宣言 が発行されると、 クライアント側の通信管理情報テーブル 2 1 1に、 確立 「〇」 が設定される。 確立 「〇」 は、 コネクションが確立していることを示すフラグで ある。 このとき、 クライアント側の物理管理情報テーブル 2 1 3の通信状態が 「〇」 (通信が可能であることを示す) に変更される。
第 5の状態 (S T 5 ) は、 コネクション確立 (ステップ S 1 9 ) 後の状態を示 している。 サーバ側のコンピュータ 1 0 0では、 確立宣言を受け取ると、 通信管 理情報テーブル 1 1 1に確立 「〇」 を設定する。 このとき、 サーバ側の物理管理 情報テーブル 1 1 3の通信状態が 「〇」 に変更される。
このようにして、 物理コネクションが確立され、 サーバとクライアントとの双 方の通信管理情報テーブルと物理管理情報テーブルとに、 論理接続および物理接 続の情報が登録される。
次に、 コネクション確立時のサーバ側のコンピュータ 1 0 0とクライアント側 のコンピュータ 2 0 0との処理手順を詳細に説明する。
図 1 4は、 コネクション確立時のサ一バ側の処理手順を示すフローチャートで ある。 以下、 図 1 4に示す処理をステップ番号に沿って説明する。
[ステップ S 2 1 ] サーバ側のコンピュータ 1 0 0は、 接続要求が来たか否か を判断する。 接続要求が来た場合には処理がステップ S 2 2に進められる。 接続 要求が来なければ、 ステップ S 2 1の処理を繰り返し、 接続要求が来るのを待つ。
[ステップ S 2 2 ] コンピュータ 1 0 0は、 受け取った接続要求が、 接続可能 な相手からの接続要求か否かを判断する。 接続可能な相手からの接続要求であれ ば、 処理がステップ S 2 3に進められる。 接続不可能な相手からの接続要求であ れば、 処理がステップ S 2 9に進められる。
[ステップ S 2 3 ] コンピュータ 1 0 0は、 接続相手が再接続手段を提供して いるか否かを示す情報を記憶する。 なお、 再接続手段の提供の有無は、 たとえば、 接続要求に含まれる情報に基づいて判断する。 その場合、 クライアント側のコン ピュー夕 2 0 0は、 自身が再接続手段を提供しているか否かを示す情報を付加し て、 接続要求を送信する。
[ステップ S 2 4 ] コンピュータ 1 0 0は、 接続可能であることをクライアン ト側のコンピュータ 2 0 0に返信する。
[ステップ S 2 5 ] コンピュータ 1 0 0は、 ステップ S 2 4における返信後、 一定時間が経過したか否かを判断する。 一定時間が経過した場合には、 処理がス テツプ S 2 9に進められる。 一定時間経過していなければ、 処理がステップ S 2 6に進められる。
[ステップ S 2 6 ] コンピュータ 1 0 0は、 クライアント側のコンピュータ 2 0 0から返信が来たか否かを判断する。 返信が来たら処理がステップ S 2 7に進 められる。 返信が来なければ、 処理がステップ S 2 5に進められ、 時間経過の判 断が行われる。
[ステップ S 2 7 ] コンピュータ 1 0 0は、 受け取った返信が確立宣言か否か を判断する。 確立宣言であれば処理がステップ S 2 8に進められる。 確立宣言で なければ (たとえば、 接続拒否の通知) 、 処理がステップ S 3 0に進められる。
[ステップ S 2 8 ] コンピュータ 1 0 0は、 確立を完了し処理を終了する。
[ステヅプ S 2 9 ] コンピュータ 1 0 0は、 接続要求が接続不可能な相手から 送られた場合、 または接続可能の返信後、 クライアント側のコンピュータ 2 0 0 から一定時間返信が来なかった場合、 コンピュータ 2 0 0に対して接続拒否を返 信する。
[ステップ S 3 0 ] コンピュータ 1 0 0は、 接続拒否を返信後、 またはステツ プ S 2 7で確立宣言以外の返信を受け取ったとき、 確立失敗と判断し、 処理が終 了する。
図 1 5は、 コネクション確立時のクライアント側の処理手順を示すフローチヤ —卜である。 以下、 図 1 4に示す処理をステップ番号に沿って説明する。
[ステップ S 4 1 ] クライアント側のコンピュータ 2 0 0は、 接続相手を選択 する。 [ステップ S 4 2 ] コンピュータ 2 0 0は、 接続相手のコンピュータ 1◦ 0に 対して接続要求を送信する。
[ステップ S 4 3 ] コンビュ一夕 2 0 0は、 接続要求送信後、 一定時間経過し たか否かを判断する。 一定時間経過した場合、 処理がステップ S 5 1に進められ る。 一定時間経過していなければ、 処理がステップ S 4 4に進められる。
[ステップ S 4 4 ] コンピュータ 2 0 0は、 サーバ側のコンピュータ 1 0 0か ら返信が来たか否かを判断する。 返信が来た場合、 処理がステップ S 4 5に進め られる。 返信が来なければ、 処理がステップ S 4 3に進められる。
[ステップ S 4 5 ] コンピュータ 2 0 0は、 受け取った返信が接続可能の返信 か否かを判断する。 接続可能の返信であれば、 処理がステップ S 4 6に進められ る。 接続不可能の返信であれば、 処理がステップ S 5 2に進められる。
[ステップ S 4 6 ] コンピュータ 2 0 0は、 接続の確立が可能か否かを判断す る。 接続の確立が可能であれば処理がステップ S 4 7に進められる。 接続の確立 が不可能であれば、 処理がステップ S 5 1に進められる。
[ステップ S 4 7 ] コンピュータ 2 0 0は、 相手のコンピュータ 1 0 0が再接 続手段を有しているか否かを判断する。 相手のコンピュータ 1 0 0が再接続手段 を有していれば、 処理がステップ S 4 8に進められる。 再接続手段を有していな ければ、 処理がステツプ S 4 9に進められる。
[ステップ S 4 8 ] コンピュー夕 2 0 0は、 自分の通信識別子でサーバを立て る。
[ステップ S 4 9 ] コンピュータ 2 0 0は、 コンピュータ 1 0 0に対して、 確 立宣言を返信する。 '
[ステップ S 5 0 ] コンピュータ 2 0 0は、 確立を完了し、 処理を終了する。
[ステップ S 5 1 ] コンピュータ 2 0 0は、 接続要求送信後の一定時間返信が 無い場合、 またはステップ S 4 6において確立不可と判断した場合、 コンピュー 夕 1 0 0に対して接続拒否を返信する。
[ステップ S 5 2 ] コンピュータ 2 0 0は、 接続拒否を返信後、 またはステツ プ S 4 5において接続不可の返信を受け取った後、 確立失敗と判断し、 処理を終 了する。 次に、 クライアント側でコネクション異常を検出したときの処理について詳細 に説明する。
図 1 6は、 クライアント側のコンピュータによるコネクション異常検出時の手 順を示すシーケンス図である。 図 1 6では、 サーバ側の処理を左側に示し、 クラ イアント側の処理を右側に示している。 ここで、 コンピュータ 1 0 0内のユーザ プロセス 1 2 1がサーバであり、 コンピュータ 2 0 0内のユーザプロセス 2 2 1 がクライアントの場合を例に採り、 コネクションの再確立が正常に終了したとき の流れを説明する。
まず、 クライアント側のコンピュータ 2 0 0が物理コネクションの異常を検出 し、 再接続経路を選択する (ステップ S 6 1 ) 。 これにより、 再接続相手として コンピュータ 1 0 0が選択される。 このとき、 サーバ側のコンピュータ 1 0 0で は、 再接続要求を待ち受けている (ステップ S 6 2 ) 。
コンピュータ 2 0 0からコンピュータ 1 0 0に対して、 再接続要求が発行され る (ステップ S 6 3 ) 。 その後、 コンピュータ 2 0 0は、 返信の待ち受け状態と なる (ステップ S 6 4 ) 。
コンピュータ 1 0 0は、 再接続要求を受け取ると、 再接続要求に対する返信を 行う (ステップ S 6 5 ) 。 その後、 コンピュータ 1 0 0は、 確立宣言の待ち受け 状態となる (ステップ S 6 6 ) 。
再接続要求の返信を受け取ったコンピュータ 2 0 0は、 確立宣言を発行する (ステップ S 6 7 ) 。 その後、 コンピュータ 2 0 0は、 コネクション確立状態と なる (ステップ S 6 8 ) 。 また、 確立宣言を受け取ったコンピュータ 1 0 0も、 コネクション確立状態となる (ステップ S 6 9 ) 。
このような手順でコネクションが再確立される。 以下に、 クライアント側で異 常を検出し再接続要求を出した場合の通信管理情報テーブルと物理管理情報テー ブルとの内容の遷移状況について、 図 1 7, 図 1 8を参照して説明する。 なお、 図 1 7、 図 1 8では、 通信管理情報テーブルに関し、 サーバ側の情報を上段に示 し、 クライアント側の情報を下段に示している。 同様に、 物理管理情報テーブル に関し、 サ一バ側の情報を上段に示し、 クライアント側の情報を下段に示してい る。 図 17は、 情報テーブルの状態遷移の前半を示す図である。
第 1の状態 (ST11) は、 クライアント側における障害検出後の状態である。 コネクション確立開始前は、 サーバ側の通信管理情報テーブル 111には、 自プ 口セスの立場 「サーバ」 、 論理通信管理識別子 「C 1」 、 自接続識別子 「1」 、 相手接続識別子 「2」 、 物理通信 「P 1」 、 自通信識別子 「10」 、 相手通信識 別子 「99」 、 再接続可否 「Y」 、 確立 「〇」 が設定されている。
一方、 クライアント側の通信管理情報テーブル 211には、 自プロセスの立場 「クライアント」 、 論理通信管理識別子 「C2」 、 自接続識別子 「2」 、 相手接 続識別子 「1」 、 物理通信 「一一」 、 自通信識別子 「99」 、 相手通信識別子 「10」 、 再接続可否 「Y」 、 確立 「X」 が設定されている。
このように、 クライアント側の通信管理情報テーブル 211には、 通信開始要 求で示される相手識別子と相手通信識別子とが登録される。 このとき、 サーバ側 の物理管理情報テーブル 113には、 物理通信管理識別子 「Ρ 1」 、 論理通信管 理識別子 「C 1」 、 通信通番 「1」 、 経路情報 「AX」 、 通信状態 「〇」 が設定 されている。 クライアント側の物理管理情報テーブル 213には、 情報は登録さ れていない。
第 2の状態 (ST 12) は、 クライアント側における再接続経路が選択され (ステップ S 61) 、 再接続要求発行 (ステップ S 63) 後の状態である。 クラ イアント側のコンピュータ 200から再接続要求が発行されると、 クライアント 側の通信管理情報テ一ブル 211に、 物理通信 「P4」 が設定される。
このとき、 クライアント側の物理管理情報テーブル 213には、 物理通信管理 識別子 「P4」 、 論理通信管理識別子 「C2」 、 通信通番 「1」 、 経路情報 「D X」 、 通信状態 「X」 が設定される。
第 3の状態 (ST 13) は、 サーバからの再接続要求返信 (ステップ S 65) 後の状態である。 サーバ側のコンピュータ 100では、 再接続要求により障害の 発生を知り、 通信管理情報テーブル 11 1の確立が 「X」 に変更される。 このと き、 サーバ側の物理管理情報テーブル 1 13は、 通信状態が 「X」 に変更される。 図 18は、 情報テ一ブルの状態遷移の後半を示す図である。
第 4の状態 (ST14) は、 クライアントからの確立宣言発行 (ステップ S 6 7 ) 後の状態を示している。 クライアント側のコンピュータ 2 0 0から確立宣言 が発行されると、 クライアント側の通信管理情報テーブル 2 1 1の確立が 「〇」 に変更される。 また、 クライアント側の物理管理情報テーブル 2 1 3の通信状態 が 「〇」 に変更される。
第 5の状態 (S T 1 5 ) は、 コネクション確立 (ステップ S 6 9 ) 後の状態を 示している。 サーバ側のコンピュータ 1 0 0では、 確立宣言を受け取ると、 通信 管理情報テーブル 1 1 1の確立が 「〇」 に変更される。 このとき、 サ一バ側の物 理管理情報テーブル 1 1 3の通信状態が 「〇」 に変更される。
このようにして、 クライアント側からの再接続要求に応じて、 障害が発生した 伝送路と別の伝送路を用いた再接続が自動的に行われる。
次に、 サーバ側で障害を検出し、 再接続要求を出力する場合の手順について詳 細に説明する。
図 1 9は、 サーバ側のコンピュータによるコネクション異常検出時の手順を示 すシーケンス図である。 図 1 9では、 サーバ側の処理を左側に示し、 クライアン ト側の処理を右側に示している。 ここで、 コンピュータ 1 0 0内のュ一ザプロセ ス 1 2 1がサーバであり、 コンピュータ 2 0 0内のユーザプロセス 2 2 1がクラ イアントの場合を例に採り、 コネクションの再確立が正常に終了したときの流れ を説明する。
まず、 サーバ側のコンピュータ 1 0 0が物理コネクションの異常を検出し、 再 接続経路を選択する (ステップ S 7 1 ) 。 これにより、 再接続相手としてコンビ ユー夕 2 0 0が選択される。 このとき、 クライアント側のコンピュータ 2 0 0で は、 再接続要求を待ち受けている (ステップ S 7 2 ) 。
コンピュータ 1 0 0からコンピュータ 2 0 0に対して、 再接続要求が発行され る (ステップ S 7 3 ) 。 その後、 コンピュータ 1 0 0は、 返信の待ち受け状態と なる (ステップ S 7 4 ) 。
コンピュータ 2 0 0は、 再接続要求を受け取ると、 再接続要求に対する返信を 行う (ステップ S 7 5 ) 。 その後、 コンピュータ 2 0 0は、 確立宣言の待ち受け 状態となる (ステップ S 7 6 ) 。
再接続要求の返信を受け取ったコンピュータ 1 0 0は、 確立宣言を発行する (ステップ S 77) 。 その後、 コンピュータ 100は、 コネクション確立状態と なる (ステップ S 78) 。 また、 確立宣言を受け取ったコンピュータ 200も、 コネクション確立状態となる (ステップ S 79) 。
このような手順でコネクションが再確立される。 以下に、 サーバ側で異常を検 出し再接続要求を出した場合の通信管理情報テーブルと物理管理情報テ一ブルと の内容の遷移状況について、 図 20, 図 21を参照して説明する。 なお、 図 20、 図 21では、 通信管理情報テーカレに関し、 サーバ側の情報を上段に示し、 クラ イアント側の情報を下段に示している。 同様に、 物理管理情報テーブルに関し、 サーバ側の情報を上段に示し、 クライアント側の情報を下段に示している。
図 20は、 情報テーブルの状態遷移の前半を示す図である。
第 1の状態 (ST21) は、 サーバ側における障害検出後の状態である。 コネ クシヨン確立開始前は、 サーバ側の通信管理情報テーブル 111には、 自プロセ スの立場 「サーバ」 、 論理通信管理識別子 「C 1」 、 自接続識別子 「1」 、 相手 接続識別子 「2」 、 物理通信 「—一」 、 自通信識別子 「10」 、 相手通信識別子 「99」 、 再接続可否 「Y」 、 確立 「X」 が設定されている。
一方、 クライアント側の通信管理情報テーブル 211には、 自プロセスの立場 「クライアント」 、 論理通信管理識別子 「C2」 、 自接続識別子 「2」 、 相手接 続識別子 「1」 、 物理通信 「P 2」 、 自通信識別子 「99」 、 相手通信識別子 「10」 、 再接続可否 「Yj 、 確立 「〇」 が設定されている。
このとき、 クライアント側の物理管理情報テーブル 213には、 物理通信管理 識別子 「P2」 、 論理通信管理識別子 「C2」 、 通信通番 「1」 、 経路情報 「C X」 、 通信状態 「〇」 が設定されている。 サーバ側の物理管理情報テーブル 11 3には、 情報は登録されていない。
第 2の状態 (ST22) は、 サーバ側における再接続経路が選択され (ステツ プ S 71) 、 再接続要求発行 (ステップ S 73) 後の状態である。 サーバ側のコ ンピュー夕 100から接続要求が発行されると、 サーバ側の通信管理情報テープ ル 111に、 物理通信 「P 3」 が設定される。
このとき、 サーバ側の物理管理情報テーブル 113には、 物理通信管理識別子 「P 3」 、 論理通信管理識別子 「C 1」 、 通信通番 「1」 、 経路情報 「: BY」 、 通信状態 「X」 が設定される。
第 3の状態 (S T 2 3 ) は、 クライアント側からの再接続要求返信 (ステップ S 7 5 ) 後の状態である。 クラインと側のコンピュータ 2 0 0では、 再接続要求 により障害の発生を知り、 通信管理情報テーブル 2 1 1の確立が 「X」 に変更さ れる。 このとき、 クライアント側の物理管理情報テーブル 2 1 3は、 通信状態が 「X」 に変更される。
図 2 1は、 情報テーブルの状態遷移の後半を示す図である。
第 4の状態 (S T 2 4 ) は、 サーバからの確立宣言発行 (ステップ S 7 7 ) 後 の状態を示している。 サーバ側のコンピュータ 1 0 0から確立宣言が発行される と、 サーバ側の通信管理情報テーブル 1 1 1の確立が 「〇」 に変更される。 また、 サーバ側の物理管理情報テーブル 1 1 3の通信状態が 「〇」 に変更される。
第 5の状態 (S T 2 5 ) は、 コネクション確立 (ステップ S 7 9 ) 後の状態を 示している。 クライアント側のコンピュータ 2 0 0では、 確立宣言を受け取ると、 通信管理情報テーブル 2 1 1の確立が 「〇」 に変更される。 このとき、 クライア ント側の物理管理情報テーブル 2 1 3の通信状態が 「〇」 に変更される。
このようにして、 サーバ側からの再接続要求に応じて、 障害が発生した伝送路 と別の伝送路を用いた再接続が自動的に行われる。
次に、 コネクション異常時の各コンピュータ内での処理内容について説明する。 図 2 2は、 サーバ側のコンピュータでのコネクション異常時の処理手順を示す フローチャートである。 以下、 図 2 2に示す処理をステップ番号に沿って説明す る。
[ステップ S 8 1 ] 物理コネクションの障害を検出したサーバ側のコンピュー 夕 1 0 0は、 クライアント側のコン.ピュー夕 2 0 0に対して再接続可能か否かを 判断する。 再接続可能であれば、 処理がステップ S 8 2に進められる。 再接続が 不可能であれば、 処理がステップ S 8 9に進められる。
[ステップ S 8 2 ] コンピュータ 1 0 0は、 再接続経路を選択する。
[ステップ S 8 3 ] コンピュータ 1 0 0は、 切断された物理コネクションにお いて使用していたものと同一通信識別子を用いて、 再接続要求を送信する。
[ステップ S 8 4 ] コンピュータ 1 0 0は、 相手 (クライアント側のコンピュ 一夕 2 0 0 ) から再接続要求が届いたか否かを判断する。 再接続要求が届いた場 合には、 処理がステップ S 8 5に進められる。 再接続要求が届いていない場合に は、 処理がステップ S 8 6に進められる。
[ステップ S 8 5 ] コンピュータ 1 0 0は、 クライアント側のコンピュータ 2 0 0から送られた再接続要求を棄却する。
[ステップ S 8 63 コンピュータ 1 0 0は、 再接続要求に対する返事が来たか 否かを判断する。 再接続要求への返事が来た場合には、 処理がステップ S 8 7に 進められる。 返事が届いていない場合には、 処理がステップ S 8 4に進められる。
[ステップ S 8 7 ] コンピュータ 1 0 0は、 再接続要求に対する返事の内容が、 再接続の棄却の通知か否かを判断する。 棄却の通知であれば、 処理がステップ S 8 9に進められる。 棄却の通知でなければ、 処理がステップ S 8 8に進められる。
[ステップ S 8 8 ] コンピュータ 1 0 0は、 ステップ S 8 2で選択した通信経 路によりコネクション (物理コネクション) を再確立し、 処理を終了する。
[ステップ S 8 9 ] コンピュータ 1 0 0は、 コネクションの切断を確定し、 処 理を終了する。
図 2 3は、 クライアント側のコンピュータでのコネクション異常時の処理手順 を示すフローチャートである。 以下、 図 2 3に示す処理をステップ番号に沿って 説明する。
[ステップ S 9 1 ] 物理コネクションの障害を検出したクライアント側のコン ピュー夕 2 0 0は、 サーバ側のコンピュータ 1 0 0に対して再接続可能か否かを 判断する。 再接続可能であれば、 処理がステップ S 9 2に進められる。 再接続が 不可能であれば、 処理がステップ S 9 9に進められる。
[ステップ S 9 2 ] コンピュータ 2 0 0は、 再接続経路を選択する。
[ステップ S 9 3 ] コンピュータ 2 0 0は、 切断された物理コネクションにお いて使用していたものと同一通信識別子を用いて、 再接続要求を送信する。
[ステップ S 9 4 ] コンピュータ 2 0 0は、 相手 (サーバ側のコンピュータ 1 0 0 ) から再接続要求が届いたか否かを判断する。 再接続要求が届いた場合には、 処理がステップ S 9 5に進められる。 再接続要求が届いていない場合には、 処理 がステップ S 9 6に進められる。 [ステップ S 9 5 ] コンピュータ 2 0 0は、 サーバ側のコンピュータ 1 0 0か ら送られた再接続要求を認める。 その後、 処理がステップ S 9 8に進められる。
[ステップ S 9 6 ] コンピュータ 1 0 0は、 再接続要求に対する返事が来たか 否かを判断する。 再接続要求への返事が来た場合には、 処理がステップ S 9 7に 進められる。 返事が届いていない場合には、 処理がステップ S 9 4に進められる。
[ステップ S 9 7 ] コンピュータ 1 0 0は、 再接続要求に対する返事の内容が、 再接続の棄却の通知か否かを判断する。 棄却の通知であれば、 処理がステップ S 9 4に進められる。 棄却の通知でなければ、 処理がステップ S 9 8に進められる。
[ステップ S 9 8 ] コンピュータ 1 0 0は、 ステップ S 9 2で選択した通信経 路によりコネクション (物理コネクション) を再確立し、 処理を終了する。
[ステップ S 9 9 ] コンピュータ 1 0 0は、 コネクションの切断を確定し、 処 理を終了する。
次に、 接続経路の選択方法について説明する。
接続経路を選択する際には、 経路管理情報テーブルが参照され、 利用回線数の 少ない接続経路が選択される。 たとえば、 図 7に示すような内容の経路管理情報 テーブル 1 1 2の場合、 経路識別子 「AX」 の経路が選択される。
図 2 4は、 接続経路の選択手順を示すフローチャートである。 なお、 以下の説 明では、 コンピュータ 1 0 0において接続経路を選択するのもとして説明する。 以下、 図 2 4に示す処理をステップ番号に沿って説明する。
[ステップ S 1 0 1 ] コンピュータ 1 0 0は、 利用可能な経路のうち、 利用回 線数が最も少ない経路選択する。 この際、 複数の経路が選択される場合もある。
[ステップ S 1 0 2 ] コンピュータ 1 0 0は、 選択された経路が 1つか否かを 判断する。 1つであれば、 処理がステップ S 1 0 4に進められる。 複数選択され た場合には、 処理がステップ S 1 0 3に進められる。
[ステップ S 1 0 3 ] コンピュータ 1 0 0は、 経路識別子が小さい (文字の配 列として先にくる) 経路を選択する。 たとえば、 経路識別子がアルファベットで 示されていれば、 Aが最も小さな値となり、 Zが最も大きな値となる。
[ステップ S 1 0 4 ] コンピュータ 1 0 0は、 選択された 1つの経路を、 接続 経路として決定する。 ところで、 上記の説明は、 コンピュータ間に 1回線の物理コネクションが確立 された場合の例であるが、 1つの論理接続において、 複数の物理接続を確立して もよい。 同時に複数の経路を用いて接続した場合、 通信管理情報テーブルの物理 通信の欄に、 複数の物理通信管理識別子が登録される。
図 2 5は、 複数の経路で通信を行う場合のサーバ側の通信管理情報テーブルの 例を示す図である。 図 2 5に示す通信管理情報テーブル 1 1 1では、 論理通信管 理識別子 「C 1」 の論理接続に対して、 物理通信管理識別子 「P 1」 、 「P 2」 の 2つの物理コネクションが確立している。
図 2 6は、 複数の経路で通信を行う場合のクライアント側の通信管理情報テ一 ブルの例を示す図である。 図 2 6に示す通信管理情報テーブル 2 1 1では、 論理 通信管理識別子 「C 2」 の論理接続に対して、 物理通信管理識別子 「P 3」 、 「P 4」 の 2つの物理コネクションが確立している。
図 2 7は、 複数の経路で通信を行う場合のサーバ側の物理管理情報テーブルの 例を示す図である。 図 2 7に示す物理管理情報テーブル 1 1 3は、 共通の論理通 信管理識別子 「C 1」 の物理コネクションに関する物理管理情報が 2つ登録され ている。 それぞれの接続は、 接続経路が異なっている。
図 2 8は、 複数の経路で通信を行う場合のクライアント側の物理管理情報テー ブルの例を示す図である。 図 2 8に示す物理管理情報テーブル 2 1 3は、 共通の 論理通信管理識別子 「C 2」 の物理コネクションに関する物理管理情報が 2つ登 録されている。 それぞれの接続は、 接続経路が異なっている。
次に、 1つの論理接続に対して複数の物理コネクションを行った場合のデータ 転送方法について説明する。
複数経路での通信におけるデータ転送方法では、 分割を行うために、 転送時に ネゴシエーションバケツトを送信する。 ネゴシェ一ションパケットは、 通信通番 の最も若い物理コネクションで送信側から送られ、 返答が要求される。 返答が要 求されるのは、 複数経路でのデ一夕転送が必要な場合のみである。
以下に、 分割送受信の例を説明する。 以下の説明において、 送信側から受信側 へは、 要求パケットが送信される。 要求パケットには、 転送サイズと分割サイズ との情報が含まれる。 転送サイズは、 転送データの全体のサイズである。 分割サ ィズは、 1つの物理コネクションを介して送信可能なデータの最大量である。 ま た、 要求パケットを受信した受信側からは、 返信パケットが送信側へ返される。 返信パケットには、 受信サイズが含まれる。 受信サイズは、 受信側で受信可能な データサイズである。
図 29は、 分割が不要な場合の転送例を示す図である。 この例では、 物理コネ クシヨン数が 2本、 転送サイズが 1KB、 分割サイズが 1MB、 受信サイズが 1 KBである。 このように、 転送サイズよりも分割サイズの方が大きい場合、 送信 側から受信側へ要求パケットを送信後、 データの送信が行われる。 この際、 転送 サイズ <分割サイズであるため、 2本の物理コネクションが確立されていても、 デ一夕の分割転送は行われず、 一本の物理コネクション (送信側 「P 1」 、 受信 側 「P 3」 ) で転送される。
図 30は、 分割転送が行われる場合の第 1の例を示す図である。 この例では、 物理コネクション数が 2本、 転送サイズが 8MB、 分割サイズが 1MB、 受信サ ィズが 8MBである。 このように、 分割サイズよりも転送サイズの方が大きい場 合、 2本の物理コネクションを利用した分割転送が行われる。 この場合、 送信側 から要求バケツ卜が送信されると、 受信側から返信パケッ卜が返される。
送信側では返信パケットに含まれる受信サイズにより、 転送サイズ分のデータ を受信側で受信可能であることを認識し、 データの分割転送を開始する。 図 30 の例では、 送信側 「P 1」 から受信側 「P3」 への 1MBの転送と、 送信側 「P 2」 から受信側 「P4」 への 1MBの転送とが交互に行われる。 そして、 8回の 転送により、 8 MB分のデータが転送される。
図 31は、 分割転送が行われる場合の第 2の例を示す図である。 この例では、 物理コネクション数が 2本、 転送サイズが 7 MB、 分割サイズが 2MB、 受信サ ィズが 7MBである。 このように、 転送サイズを分割サイズで分割したときに余 りが生じる場合、 最後のデータ転送では、 余りの分のデータのみが転送される。 図 31の例では、 送信側 「P 1」 から受信側 「P 3」 への 2MBの転送と、 送信 側 「P 2」 から受信側 「P4」 への 2 MBの転送とが交互に行われる。 そして、 2 MB分の転送が 3回行われた後、 4回目の転送では、 残りの 1MB分のデータ が転送される。 図 32は、 分割転送が行われる場合の第 3の例を示す図である。 この例では、 物理コネクション数が 2本、 転送サイズが 8MB、 分割サイズが 2MB、 受信サ ィズが 5MBである。 このように、 受信サイズよりも転送サイズが大きい場合、 受信サイズ分のデータのみが転送される。 図 32の例では、 送信側 「P 1」 から 受信側 「P 3」 への 2 MBの転送と、 送信側 「P 2」 から受信側 「P4」 への 2 MBの転送とが交互に行われる。 そして、 2 MB分の転送が 2回行われた後、 3 回目の転送では、 残りの 1MB分のデ一夕が転送される。 すなわち、 全体で 5M Bのデータ転送が行われる。
次に、 分割転送を行うときの送信側のコンピュータと受信側のコンピュータと の処理の流れについて説明する。
図 33は、 分割転送の処理を示すシーケンス図である。 以下、 図 33に示す処 理をステップ番号に沿って説明する。 なお、 以下の説明では、 コンピュータ 10 0からコンピュータ 200へデータ転送が行われるものとする。
[ステップ S 111] 受信側のコンピュータ 200では、 要求パケッ卜の受信 を待っている。
[ステップ S 1 12] 送信側のコンピュータ 100は、 ユーザプロセス等から の要求に応答して、 要求パケットを受信側のコンピュータ 200に送信する。
[ステップ S 113] 要求バケツトを受信したコンピュータ 200は、 要求パ ケットに含まれる転送サイズと分割サイズとの情報を比較する。 そして、 コンビ ュ一タ 200は、 転送サイズが分割サイズよりも大きいか否かを判断する。 転送 サイズの方が大きければ、 所定がステップ S 114に進められる。 そうでなけれ ば、 処理がステップ S 118に進められる。
[ステップ S 114] コンピュータ 200は、 AN=0、 AS-受信サイズに 設定し、 処理をステップ S 127に進める。
[ステップ S 115] 要求パケットを送信したコンピュータ 100においても 受信側のコンピュータ 200と同様に、 転送サイズと分割サイズとの情報を比較 する。 そして、 コンピュータ 100は、 転送サイズが分割サイズよりも大きいか 否かを判断する。 転送サイズの方が大きければ、 所定がステップ S 1 16に進め られる。 そうでなければ、 処理がステップ S 1 17に進められる。 [ステップ S I 16] コンピュータ 100は、 AN=0、 AS=転送サイズに 設定し、 処理をステップ S 126に進める。
[ステップ S 117] コンピュータ 100は、 コンピュータ 200からの返信 パケットの受信を待つ。
[ステップ S 118] コンピュータ 200は、 コンピュータ 100に対して、 受信サイズの情報を含めた返信バケツ卜を送信する。
[ステップ S 119] 返信バケツトを受信したコンピュータ 100は、 転送サ ィズを、 受信サイズと等しくする。
[ステップ S 120] コンピュータ 100は、 PNを物理コネクション数、 P Sを分割サイズ、 TSを転送サイズ (受信サイズと等しい) とし、 LOOPと A Nとの値を求める。 LOOPは、 TS÷ (PSXPN) の商である。 このときの 余りを LSとする。 ANは、 LS + PSの商である。 このときの余りを ASとす る。
[ステップ S 121] コンピュータ 200は、 PNを物理コネクション数、 P Sを分割サイズ、 TSを受信サイズとし、 LOOPと ANとの値を求める。 LO 〇Pは、 TS÷ (PSXPN) の商である。 このときの余りを LSとする。 AN は、 LS÷PSの商である。 このときの余りを ASとする。
[ステップ S 122] コンピュータ 100は、 確立されている各物理コネクシ ョンを介して、 分割サイズ分のデータ転送を LOOPで示される回数分実行する。
[ステップ S 123] コンピュータ 200は、 確立されている各物理コネクシ ヨンを介して、 分割サイズ分のデータを LOOPで示される回数分受信する。
[ステップ S 124] コンピュータ 100は、 通信通番が AN以下の物理コネ クシヨンを介して、 分割サイズ分のデータ転送を実行する。
[ステップ S 125] コンピュータ 200は、 通信通番が AN以下の物理コネ クシヨンを介して、 分割サイズ分のデータを受信する。
[ステップ S 126] コンピュータ 100は、 通信通番が AN以下の物理コネ クシヨンを介して、 AS分のデータ転送を実行する。
[ステップ S 127] コンピュータ 200は、 通信通番が AN以下の物理コネ クシヨンを介して、 AS分のデータを受信する。 以上のようにして、 1つの論理接続に対して複数の物理コネクションを確立し た場合に、 複数の物理コネクションを利用した効率的なデータ転送が可能となる。 なお、 上記の処理機能は、 コンピュータによって実現することができる。 その 塲合、 コンピュータが有すべき機能の処理内容を記述したプログラムが提供され る。 そのプログラムをコンピュータで実行することにより、 上記処理機能がコン ピュー夕上で実現される。 処理内容を記述したプログラムは、 コンピュータで読 み取り可能な記録媒体に記録しておくことができる。 コンピュータで読み取り可 能な記録媒体としては、 磁気記録装置、 光ディスク、 光磁気記録媒体、 半導体メ モリなどがある。 磁気記録装置には、 ハードディスク装置 (H D D) 、 フレキシ ブルディスク (F D ) 、 磁気テ一プなどがある。 光ディスクには、 D V D (Digital Versatile Disc)、 D V D— R AM(Eandom Access Memory)、 C D - R 〇 M (Compact Disc Read Only Memory)、 C D - R (Recordable) Z R W (Rewritable)などがある。 光磁気記録媒体には、 MO (Magneto-Optical disc)な どがある。
プログラムを流通させる場合には、 たとえば、 そのプログラムが記録された D V D、 C D— R OMなどの可搬型記録媒体が販売される。 また、 プログラムをサ —バコンピュー夕の記憶装置に格納しておき、 ネットワークを介して、 サーバコ ンピュ一夕から他のコンビュ一夕にそのプログラムを転送することもできる。 プログラムを実行するコンピュータは、 たとえば、 可搬型記録媒体に記録され たプログラムもしくはサーバコンピュータから転送されたプログラムを、 自己の 記憶装置に格納する。 そして、 コンピュータは、 自己の記憶装置からプログラム を読み取り、 プログラムに従った処理を実行する。 なお、 コンピュータは、 可搬 型記録媒体から直接プログラムを読み取り、 そのプログラムに従った処理を実行 することもできる。 また、 コンピュータは、 サーバコンピュータからプログラム が転送される毎に、 逐次、 受け取ったプログラムに従った処理を実行することも できる。
以上説明したように本発明では、 1以上の物理コネクションを 1つに纏めた論 理接続を定義し、 物理コネクションに障害が発生すれば、 別の通信装置を介して 再接続を行い、 論理接続に適合する通信要求に応じて、 論理接続に含まれる物理 コネクションを介して通信を行うようにした。 そのため、 通信要求を出すプロセ スからは 1つの論理接続が継続して接続されているものと認識される。 その結果、 通信障害発生時のリトライ処理が不要となり、 通信の継続性が保たれ、 信頼性の 高いコンピュータ間通信が実現される。
上記については単に本発明の原理を示すものである。 さらに、 多数の変形、 変 更が当業者にとって可能であり、 本発明は上記に示し、 説明した正確な構成およ び応用例に限定されるものではなく、 対応するすべての変形例および均等物は、 添付の請求項およびその均等物による本発明の範囲とみなされる。

Claims

請 求 の 範 囲
1 . 複数の伝送経路のそれぞれに接続された複数の通信装置を介して他の装置 と通信を行うための通信制御プログラムにおいて、
コンピュータに、
任意のプロセスからの接続要求に応じて、 前記通信装置のうち少なくとも 1つ を選択し、 選択した前記通信装置を介した物理コネクションを確立し、
確立された 1以上の前記物理コネクションを 1つに纏めた論理接続を定義し、 前記論理接続に含まれる前記物理コネクションに障害が発生すると、 障害が発 生した前記物理コネクションと異なる前記通信装置を介した物理コネクションを 再確立して、 前記論理接続に含め、
前記プロセスからの前記論理接続に適合する通信要求を受け取ると、 そのとき 前記論理接続に含まれる前記物理コネクションを介して、 前記通信要求に応じた 通信を行う、
処理を実行させることを特徴とする通信制御プログラム。
2 . 前記論理接続には、 前記他の装置を一意に識別するための相手接続識別子、 前記プロセスを一意に識別する自通信識別子、 および前記他の装置内の通信相手 となる他のプロセスを一意に識別するための相手通信識別子が含められ、 前記プ ロセスからの前記通信要求で指定された通信相手の情報が、 前記論理接続に含ま れる前記相手接続識別子、 前記自通信識別子、 および前記相手通信識別子と一致 したときに、 前記論理接続に適合すると判断する処理を実行させることを特徴と する請求の範囲第 1項記載の通信制御プログラム。
3 . 前記プロセスがクライアントとして機能する場合、 前記物理コネクション の確立のとき、 前記プロセスと同じ前記通信識別子を有するサーバプロセスを起 動し、 前記他の装置からの再接続要求を受け取ったとき、 前記サーバプロセスが 前記物理コネクションの再確立を実行する処理を実行させることを特徴とする請 求の範囲第 2項記載の通信制御プログラム。
4 . 前記物理コネクションの 1つが遮断されたとき、 前記物理コネクションの 再確立を実行させることを特徴とする請求の範囲第 1項記載の通信制御プロダラ ム。
5 . 全ての前記物理コネクションが遮断されたとき、 前記物理コネクションの 再確立を実行させることを特徵とする請求の範囲第 1項記載の通信制御プロダラ ム。
6 . 前記論理接続に適合する通信要求を受け取ると、 そのとき前記論理接続に 含まれる複数の前記物理コネクションに負荷を分散させて、 前記通信要求に応じ た通信を実行させることを特徴とする請求の範囲第 1項記載の通信制御プロダラ ム。
7 . 複数の伝送経路のそれぞれに接続された複数の通信装置を介して他の装置 と通信を行うための通信制御方法において、
任意のプロセスからの接続要求に応じて、 前記通信装置のうち少なくとも 1つ を選択し、 選択した前記通信装置を介した物理コネクションを確立し、
確立された 1以上の前記物理コネクションを 1つに纏めた論理接続を定義し、 前記論理接続に含まれる前記物理コネクションに障害が発生すると、 障害が発 生した前記物理コネクションと異なる前記通信装置を介した物理コネクションを 再確立して、 前記論理接続に含め、
前記プロセスからの前記論理接続に適合する通信要求を受け取ると、 そのとき 前記論理接続に含まれる前記物理コネクションを介して、 前記通信要求に応じた 通信を行う、
ことを特徴とする通信制御方法。
8 . 複数の伝送経路のそれぞれに接続された複数の通信装置を介して他の装置 と通信を行うための通信制御装置において、
任意のプロセスからの接続要求に応じて、 前記通信装置のうち少なくとも 1つ を選択し、 選択した前記通信装置を介した物理コネクションを確立する物理コネ クシヨン手段と、
前記物理コネクション手段で確立された 1以上の前記物理コネクションを 1つ に纏めた論理接続を定義する論理接続定義手段と、
前記論理接続に含まれる前記物理コネクションに障害が発生すると、 障害が発 生した前記物理コネクションと異なる前記通信装置を介した物理コネクションを 再確立して、 前記論理接続に含める通信再接続手段と、
前記プロセスからの前記論理接続に適合する通信要求を受け取ると、 そのとき 前記論理接続に含まれる前記物理コネクションを介して、 前記通信要求に応じた 通信を行う通信手段と、
を有することを特徴とする通信制御装置。
9 . 複数の伝送経路のそれぞれに接続された複数の通信装置を介して他の装置 と通信を行うための通信制御プログラムを記録したコンピュータ読み取り可能な 記録媒体において、
前記コンピュータに、
任意のプロセスからの接続要求に応じて、 前記通信装置のうち少なくとも 1つ を選択し、 選択した前記通信装置を介した物理コネクションを確立し、
確立された 1以上の前記物理コネクションを 1つに纏めた論理接続を定義し、 前記論理接続に含まれる前記物理コネクションに障害が発生すると、 障害が発 生した前記物理コネクションと異なる前記通信装置を介した物理コネクションを 再確立して、 前記論理接続に含め、
前記プロセスからの前記論理接続に適合する通信要求を受け取ると、 そのとき 前記論理接続に含まれる前記物理コネクションを介して、 前記通信要求に応じた 通信を行う、
処理を実行させることを特徴とする通信制御プログラムを記録したコンピュー 夕読み取り可能な記録媒体。
PCT/JP2003/002277 2003-02-27 2003-02-27 通信制御プログラムおよび通信制御方法 WO2004077781A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004568758A JP4040628B2 (ja) 2003-02-27 2003-02-27 通信制御プログラム
PCT/JP2003/002277 WO2004077781A1 (ja) 2003-02-27 2003-02-27 通信制御プログラムおよび通信制御方法
EP03707157A EP1599004A4 (en) 2003-02-27 2003-02-27 COMMUNICATION CONTROL PROGRAM AND COMMUNICATION CONTROL METHOD
US11/087,273 US7768905B2 (en) 2003-02-27 2005-03-23 Program and method for controlling communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/002277 WO2004077781A1 (ja) 2003-02-27 2003-02-27 通信制御プログラムおよび通信制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/087,273 Continuation US7768905B2 (en) 2003-02-27 2005-03-23 Program and method for controlling communication

Publications (1)

Publication Number Publication Date
WO2004077781A1 true WO2004077781A1 (ja) 2004-09-10

Family

ID=32923112

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/002277 WO2004077781A1 (ja) 2003-02-27 2003-02-27 通信制御プログラムおよび通信制御方法

Country Status (4)

Country Link
US (1) US7768905B2 (ja)
EP (1) EP1599004A4 (ja)
JP (1) JP4040628B2 (ja)
WO (1) WO2004077781A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008244849A (ja) * 2007-03-27 2008-10-09 Ntt Docomo Inc 通信接続サーバ及び通信接続方法
JP2010157225A (ja) * 2008-12-31 2010-07-15 Nhn Corp メッセージングネットワークシステムのメッセージ送受信方法
JP2014022835A (ja) * 2012-07-13 2014-02-03 Fujitsu Ltd 電子装置および送信制御方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904563B2 (en) * 2006-03-31 2011-03-08 Microsoft Corporation Establishing and utilizing terminal server dynamic virtual channels
US7911830B2 (en) * 2007-05-17 2011-03-22 Integrated Magnetoelectronics Scalable nonvolatile memory
US8429674B2 (en) * 2010-07-20 2013-04-23 Apple Inc. Maintaining data states upon forced exit
CN103092701B (zh) * 2011-10-31 2017-02-08 联想(北京)有限公司 一种通信方法、装置及电子设备
US9172600B1 (en) * 2013-12-31 2015-10-27 Symantec Corporation Efficient I/O error analysis and proactive I/O failover to alternate paths for InfiniBand channel

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10173773A (ja) * 1996-09-30 1998-06-26 Lucent Technol Inc 故障した通信リンクからチャネルを回復するためのフレキシブルレートインタフェース(fri)リンクの設定
WO2000028715A1 (en) 1998-11-10 2000-05-18 Honeywell Inc. Fault-tolerant networking
JP2002026909A (ja) * 2000-07-11 2002-01-25 Hitachi Ltd 回線多重化方法及び情報中継装置
JP2002232427A (ja) * 2001-02-06 2002-08-16 Fujitsu Ltd 帯域制御装置
CA2459027A1 (en) 2001-06-15 2002-12-15 Tropic Networks Inc. Extension of link aggregation protocols over the network and a switching node therefor

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5182751A (en) * 1990-12-31 1993-01-26 At&T Bell Laboratories Switching system using identical switching nodes
US5862335A (en) * 1993-04-01 1999-01-19 Intel Corp. Method and apparatus for monitoring file transfers and logical connections in a computer network
DE4416719C2 (de) * 1994-05-11 1998-08-20 Siemens Ag Schaltungsanordnung zum störungsfreien Umleiten eines Nachrichtenzellenstromes auf einen Ersatzweg
US6069894A (en) * 1995-06-12 2000-05-30 Telefonaktiebolaget Lm Ericsson Enhancement of network operation and performance
US6246665B1 (en) * 1995-12-27 2001-06-12 Fujitsu Limited Method for attending occurrence of failure in an exchange system that exchanges cells having fixed-length, and interface unit and concentrator equipped in the exchange system using the method
JPH09270793A (ja) * 1996-04-03 1997-10-14 Sony Corp 通信制御方法
JPH09326810A (ja) 1996-06-06 1997-12-16 Nippon Denki Ido Tsushin Kk 障害時のコネクション切り替え方法
US5841780A (en) * 1996-08-29 1998-11-24 Lucent Technologies Inc. ISDN BRI link restoration without loss of calls
JPH10320327A (ja) 1997-03-19 1998-12-04 Fujitsu Ltd 二重化された通信アダプタの切替方法、切替方式、および切替用プログラムを格納した記録媒体
US6314525B1 (en) * 1997-05-13 2001-11-06 3Com Corporation Means for allowing two or more network interface controller cards to appear as one card to an operating system
US6308281B1 (en) * 1998-09-02 2001-10-23 International Business Machines Corporation Virtual client to gateway connection over multiple physical connections
US6473396B1 (en) * 1999-01-04 2002-10-29 Cisco Technology, Inc. Use of logical addresses to implement module redundancy
US6301254B1 (en) * 1999-03-15 2001-10-09 Tellabs Operations, Inc. Virtual path ring protection method and apparatus
US6763479B1 (en) * 2000-06-02 2004-07-13 Sun Microsystems, Inc. High availability networking with alternate pathing failover
EP1182903A1 (en) * 2000-08-21 2002-02-27 Lucent Technologies Inc. Point-to-point protection in point-to-multipoint networks
US7046619B2 (en) * 2000-11-07 2006-05-16 Ciena Corporation Method and system for bi-directional path switched network
GB2371706B (en) * 2001-01-30 2003-04-23 3Com Corp Link aggregation control for network devices
US6956824B2 (en) * 2001-06-14 2005-10-18 Tropic Networks Inc. Extension of link aggregation protocols over the network
WO2003021858A1 (en) * 2001-09-04 2003-03-13 Rumi Sheryar Gonda Method for supporting sdh/sonet aps on ethernet
US20030063723A1 (en) * 2001-09-28 2003-04-03 Derek Booth Interactive system for managing and remotely connecting customer utility loads
US7134040B2 (en) * 2002-04-17 2006-11-07 International Business Machines Corporation Method, system, and program for selecting a path to a device to use when sending data requests to the device
US7145865B1 (en) * 2002-06-26 2006-12-05 Bellsouth Intellectual Property Corp. Method for moving network elements with minimal network outages in an active ATM network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10173773A (ja) * 1996-09-30 1998-06-26 Lucent Technol Inc 故障した通信リンクからチャネルを回復するためのフレキシブルレートインタフェース(fri)リンクの設定
WO2000028715A1 (en) 1998-11-10 2000-05-18 Honeywell Inc. Fault-tolerant networking
JP2002026909A (ja) * 2000-07-11 2002-01-25 Hitachi Ltd 回線多重化方法及び情報中継装置
JP2002232427A (ja) * 2001-02-06 2002-08-16 Fujitsu Ltd 帯域制御装置
CA2459027A1 (en) 2001-06-15 2002-12-15 Tropic Networks Inc. Extension of link aggregation protocols over the network and a switching node therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1599004A4

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008244849A (ja) * 2007-03-27 2008-10-09 Ntt Docomo Inc 通信接続サーバ及び通信接続方法
JP4499757B2 (ja) * 2007-03-27 2010-07-07 株式会社エヌ・ティ・ティ・ドコモ 通信接続サーバ及び通信接続方法
JP2010157225A (ja) * 2008-12-31 2010-07-15 Nhn Corp メッセージングネットワークシステムのメッセージ送受信方法
JP2014022835A (ja) * 2012-07-13 2014-02-03 Fujitsu Ltd 電子装置および送信制御方法

Also Published As

Publication number Publication date
JP4040628B2 (ja) 2008-01-30
EP1599004A4 (en) 2010-04-28
US20050180432A1 (en) 2005-08-18
JPWO2004077781A1 (ja) 2006-06-08
EP1599004A1 (en) 2005-11-23
US7768905B2 (en) 2010-08-03

Similar Documents

Publication Publication Date Title
CN110912780B (zh) 一种高可用集群检测方法、系统及受控终端
US9749415B2 (en) Service management roles of processor nodes in distributed node service management
US6055568A (en) Method and apparatus for dynamically configuring a decentralized network of computers
US5835481A (en) Fault tolerant lane system
US7792148B2 (en) Virtual fibre channel over Ethernet switch
US9678802B2 (en) Service management modes of operation in distributed node service management
KR20050012130A (ko) 클러스터형 컴퓨터 시스템의 클러스터 데이터 포트 서비스
US7768905B2 (en) Program and method for controlling communication
KR100279812B1 (ko) 제1 패킷 라우터에서 제2 패킷 라우터로의 전환을 순조롭게처리하기 위한 장치 및 방법
JP2003099337A (ja) データ共有装置
JP2008228150A (ja) スイッチ装置及びフレーム交換方法とそのプログラム
EP1535182A1 (en) Method and structure for autoconfiguration of overlay networks by automatic selection of a network designated router
US20140095754A1 (en) Back-Off Retry with Priority Routing
JPH1185644A (ja) 冗長構成システムの系切替制御方法
US6535991B1 (en) Method and apparatus for providing reliable communications in an intelligent network
CN104660550A (zh) 一种在多服务器之间进行会话迁移的方法
TW200417261A (en) An apparatus and method for coupling a network data device to a digital network
JP4579850B2 (ja) ブレード型システムおよびコネクション管理方法
JP4595469B2 (ja) 接続態様制御装置及び接続態様制御方法並びに接続態様制御用プログラム
WO2000033189A1 (en) Method and apparatus in a data communication system for establishing a reliable internet protocol session
EP1547321B1 (en) Method for determining a parent portal in a wireless network and corresponding portal device
WO2006057349A1 (ja) 管理システム及びそれに用いられる装置と、そのプログラムと、管理方法
JP3102353B2 (ja) 通信ルート切り戻し制御方式
KR19990053166A (ko) 멀티포인트 통신 시스템 및 멀티캐스트 경로 오류 제어 및경로 재배정 방법
WO2020177471A1 (zh) 报文传输方法、装置及存储介质

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT SE SI SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004568758

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2003707157

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11087273

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2003707157

Country of ref document: EP