WO2004088931A1 - データ通信負荷分散制御プログラム、およびデータ負荷分散制御方法 - Google Patents

データ通信負荷分散制御プログラム、およびデータ負荷分散制御方法 Download PDF

Info

Publication number
WO2004088931A1
WO2004088931A1 PCT/JP2003/004148 JP0304148W WO2004088931A1 WO 2004088931 A1 WO2004088931 A1 WO 2004088931A1 JP 0304148 W JP0304148 W JP 0304148W WO 2004088931 A1 WO2004088931 A1 WO 2004088931A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
data
computer
algorithm
distribution
Prior art date
Application number
PCT/JP2003/004148
Other languages
English (en)
French (fr)
Inventor
Masahiro Chiba
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 CNB038263017A priority Critical patent/CN100474833C/zh
Priority to JP2004570184A priority patent/JP3792707B2/ja
Priority to AU2003221109A priority patent/AU2003221109A1/en
Priority to DE2003194206 priority patent/DE10394206T5/de
Priority to PCT/JP2003/004148 priority patent/WO2004088931A1/ja
Publication of WO2004088931A1 publication Critical patent/WO2004088931A1/ja
Priority to US11/231,467 priority patent/US8068498B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the present invention relates to a data communication load distribution control program and a data load distribution control method for performing data communication via a multiplexed transmission path, and more particularly to a data communication load distribution control program using trunking and a data load distribution control. About the method. Background art
  • Trunking is one of the methods for increasing the bandwidth of communication between a plurality of devices.
  • devices are connected by multiple transmission lines.
  • Each device logically treats a network interface card (NIC) connected to each of a plurality of transmission paths as one LAN port. As a result, the transmission band between the devices can be improved.
  • NIC network interface card
  • FIG. 21 is a diagram illustrating a configuration example of a conventional trunking system.
  • the conventional trunking system includes a computer 910, a switching hub 920, and other computers 930, 940, 950, and 960.
  • the computer 910 has an application 911, a trunking mechanism 912, and NICs 913 to 916.
  • the application 911 is a processing function that communicates with the other computer 930, 940, 950, 960 and performs various data processing.
  • the trunking mechanism unit 912 performs communication with the switching hub 920 by regarding the plurality of NICs 913 to 916 as one LAN port. Note that the trunking mechanism section 912 has a MAC (Media Access Control) address for a plurality of NICs 913 to 916 and an IP (Internet Protocol) address shared by each NIC 913 to 916. Has the set configuration information 912a.
  • MAC Media Access Control
  • Each of the NI C913 to 916 is connected to the switcher hub 920 by a separate transmission line, and performs data communication with the switching hub 920.
  • the switching hub 920 four of the eight LAN ports are connected to the NICs 913 to 916 of the convenience store 910. The other four LAN ports are connected to the other computers 930, 940, 950, 960.
  • the switching hub 9220 has a trunking corresponding section 9221.
  • the trunking support unit 921 has configuration information 921a in which information such as an IP address of a connection partner to each LAN port is stored.
  • trunking is performed between the computer 910 and the switching hub 920. That is, the computer 910 generates one logical NIC using the multiplexed NICs 913 to 916. The computer 910 transmits and receives data overnight through the logical NIC.
  • the switching hub 920 sends the data sent from the computer 910 to the other computer 930, 940, 950, 960. In addition, the switching hub 920 receives the data sent from the other party's computer 930, 940, 9550, 9600, 1 and the ranking corresponding section 9 21 Distribute the data to one of the LAN ports connected to the 910 and send the data to the computer 910 via its LAN port.
  • the load distribution control of a plurality of LAN ports can be performed without using the switching hub 920 having the trunking corresponding section 9221.
  • a host computer having a plurality of LAN (Local Area Network) adapters notifies a communication partner of the physical address of an arbitrary LAN adapter.
  • the communication partner specifies the notified physical address and transmits the data to the host computer.
  • data transmitted from a plurality of communication partners can be received by distributing the load to a plurality of LAN adapters (for example, see Patent Document 1).
  • Patent Document 1
  • connection cannot be established unless both the computer and the switching hub have a trunking function, and the application conditions are limited. I was wearing it.
  • it is necessary to set the number of NICs and ports to be used between the switching hub and the computer in accordance with the distribution algorithm, and to define a dedicated MAC address for executing trunking. The settings were complicated and the user made mistakes.
  • the NIC to be used is determined by means such as exchanging information on the IP address and the MAC address between the computers.
  • the exchange of address information alone limits the distribution algorithm. For example, when there is only one communication partner device, there is a problem that only a specific NIC is used and cannot be distributed. 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 computer which can perform flexible trunking with a switching hub having no trunking function. .
  • a data communication load distribution control program as shown in FIG. 1 is provided.
  • a data communication load distribution control program according to the present invention comprises a data communication load distribution control unit for distributing a communication load on a transmission line in a computer capable of implementing a plurality of communication interfaces 1a, lb, lc, 1d. It implements the function of 1 e.
  • the computer 1 executes the following processing based on the data communication load distribution control program.
  • the computer 1 transmits the physical addresses of the plurality of communication interfaces 1a, lb, 1c, and Id, and the data transmitted from the communication partner computer 3 to the computer 1 through the plurality of communication interfaces 1a, lb, 1c, and Id.
  • a distribution algorithm notification bucket 4 including the distribution algorithm when distributing to 1d is generated (step S 1).
  • the computer 1 is connected to a communication phase connected via a network.
  • the distributed algorithm notification packet 4 is transmitted to the hand computer (step S2).
  • the physical addresses of the plurality of communication interfaces 1a, 1b, 1c, and 1d mounted on the computer 1 are notified to the other computer 3, and the load balancing algorithm can be designated.
  • a load distribution data transmission program is a load distribution data transmission program for distributing a communication load of a transmission path to a communication partner computer 1 capable of mounting a plurality of communication interfaces la, 1, lc, and 1d. This implements the function of the transmission unit 3b. Based on this load distribution data transmission program, the combination 3 executes the following processing.
  • the computer 3 transmits the physical addresses of the plurality of communication interfaces 1 a, 1 b, 1 c, and Id, and data to be transmitted to the computer 1 to a plurality of communication interfaces la, lb, 1 c, 1
  • the physical addresses of the plurality of communication interfaces 1a, lb, 1c, and 1d and the distributed algorithm are stored in the data table 3c.
  • the computer 3 determines the communication interface to be the destination of the transmission data 5 to be transmitted to the communication partner computer according to the distributed algorithm. Further, the computer 3 specifies the physical address of the communication interface determined as the destination as the destination, and transmits the transmission data 5.
  • the transmission data 5 transmitted from the computer 3 to the communication partner computer is transmitted via the plurality of communication interfaces 1 a, lb, lc, and 1 d using the distributed algorithm specified in the distributed algorithm notification packet 4.
  • the load is distributed to the transmission line and transmitted.
  • a physical address of the plurality of communication interfaces is provided.
  • a distributed algorithm notification packet including a distributed algorithm for distributing data transmitted by the communication partner computer to the computer to the plurality of communication interfaces. And transmitting the distributed algorithm notification packet to the communication partner computer connected via a network to execute the processing.
  • FIG. 1 is a conceptual diagram of the invention applied to the embodiment.
  • FIG. 2 is a diagram showing a configuration example of a system to which the present invention is applied.
  • FIG. 3 is a diagram showing the internal configuration of the trunking mechanism.
  • FIG. 4 is a diagram illustrating a hardware configuration example of a server computer.
  • FIG. 5 is a flowchart showing a data communication processing procedure.
  • FIG. 6 is a conceptual diagram illustrating a distributed algorithm notification process.
  • FIG. 7 is a diagram showing a frame configuration for a distribution algorithm notification bucket.
  • FIG. 8 is a diagram showing an example of the contents of the data portion of the distribution algorithm notification bucket.
  • FIG. 9 is a diagram showing an example of a data structure of a distributed algorithm table on the server computer side.
  • FIG. 10 is a diagram showing an example of registration of the distribution algorithm table according to the distribution algorithm notification packet.
  • FIG. 11 is a diagram illustrating a load distribution processing state of data transmitted from the server computer.
  • FIG. 12 is a diagram showing a load distribution processing state of data transmitted from a client computer.
  • FIG. 13 is a diagram illustrating an example of a system configuration according to the second embodiment.
  • FIG. 14 is a diagram illustrating an example of a data structure of a distributed algorithm table according to the second embodiment.
  • FIG. 15 is a flowchart showing a processing procedure at the time of starting the system according to the second embodiment.
  • FIG. 16 is a diagram showing a data transmission procedure when a plurality of server computers are used.
  • FIG. 17 is a diagram showing a data transmission situation when a plurality of server computers are used.
  • FIG. 18 is a diagram for explaining the principle when one NIC is added.
  • FIG. 19 is a flowchart showing the procedure for updating the distributed algorithm table when adding the NIC.
  • FIG. 20 is an explanatory diagram of the principle when one NIC is deleted.
  • FIG. 21 is a diagram illustrating a configuration example of a conventional trunking system. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a conceptual diagram of the invention applied to the embodiment.
  • the present invention is applied to data communication between the convenience 1 and the computer 3.
  • the computer 1 has a plurality of communication interfaces 1a, 1b, 1c, 1d.
  • the physical addresses of the communication interfaces l a, l b, l c, and 1 d are “a”, “b”, “c”, and “d”, respectively.
  • the communication interfaces l a, l b, l c, and 1 d are respectively connected to the switcher hub 2 by individual transmission lines.
  • the computer 1 executes the data communication load distribution control program, thereby constructing the function of the data communication load distribution control unit 1e.
  • the data communication load distribution controller le has a function of distributing the communication load of the transmission path.
  • the data communication load distribution control unit 1 e performs the following processing.
  • the data communication load distribution control unit 1e transmits the physical addresses of the plurality of communication interfaces 1a, lb, 1c, and Id, and the data transmitted by the communication partner computer 3 to the computer 1 through the plurality of communication interfaces 1. a, lb, lc, Id A distribution algorithm notification bucket 4 including a distribution algorithm to be used is generated (step S1). Then, the overnight communication load distribution control unit 1e transmits the distribution algorithm notification packet 4 to the communication partner computer 3 connected via the network (step S2).
  • the physical addresses of the plurality of communication interfaces 1a, 1b, lc, 1d mounted on the computer 1 are notified to the other computer 3, and the load balancing algorithm can be designated.
  • the computer 3 has a communication interface 3 a, and the communication interface 3 a is connected to the switching hub 2.
  • the computer 3 executes the distributed load data transmission program to realize the function of the load distribution data transmission unit 3b for distributing the communication load of the transmission path to the computer 1.
  • the load balancing data transmitting unit 3b executes the following processing.
  • the load distribution data transmission unit 3b transmits the physical addresses of the plurality of communication interfaces 1a, lb, 1c, and 1d and the data transmitted to the computer 1 to the plurality of communication interfaces la and lb. , lc, 1d, the distribution algorithm notification packet 4 including the distribution algorithm is received, the physical address of the plurality of communication interfaces 1a, 1b, lc, 1d and the distribution algorithm are distributed in a table. 3 Store in c. In the example of Fig. 1, the physical addresses "a, b, c, d" and the distributed algorithm "round robin" are registered.
  • the load distribution data transmission unit 3b determines a communication interface to be the destination of the transmission data 5 transmitted to the communication partner computer according to the distribution algorithm. Further, the computer 3 specifies the physical address of the determined communication interface as the destination, and transmits the transmission data 5. For example, transmission data 5 is divided into four, and the first data 5a is transmitted with the physical address "a" specified as the destination. Thereby, the data 5a is transferred to the communication interface 1a in the switching hub 2. The second data 5b is transmitted with the physical address “b” specified as the destination. As a result, the data 5b is transferred to the communication interface 1b in the switching hub 2. The third data 5 c is transmitted with the physical address “c” specified as the destination. This gives data 5 c is transferred to the communication interface 1c in the switching hub 2. The fourth data 5 d is transmitted with the physical address “d” specified as the destination. Thereby, the data 5 d is transferred to the communication interface 1 d in the switching hub 2.
  • the transmission data 5 transmitted from the computer 3 to the communication partner computer is transmitted by the distribution algorithm specified in the distribution algorithm notification bucket 4 via the transmission paths via the plurality of communication interfaces 1 a, lb, lc, and 1 d.
  • the load is distributed to and sent.
  • the computer 1 notifies the computer 3 of the distributed algorithm notification packet 4 by notifying the physical addresses of the plurality of communication interfaces 1a, lb, lc, and Id and the distributed algorithm.
  • the transmission data 5 is transmitted to the physical address of the communication interface determined according to the mechanism. Therefore, even if the switching hap 2 does not have a trunking function, trunking using a plurality of transmission paths can be performed. As a result, a highly flexible network system can be constructed.
  • a communication interface used for communication can be divided for each computer of the communication partner by notifying the individual distributed algorithm to each computer.
  • the communication interface of the transmission destination in the computer 3 it is also possible to determine the communication interface of the transmission destination by referring to the network layer in the OSI hierarchical model and higher-level protocols.
  • the communication interface of the transmission partner can be determined according to the type of application used for communication.
  • a signal unit is particularly called a frame.
  • FIG. 2 is a diagram showing a configuration example of a system to which the present invention is applied.
  • a plurality of client computers 300, 300a, 300b, and 300c are connected to the server computer 100 via the switching hub 200.
  • a WWW (World Wide Web) server 110 In the server computer 100, a WWW (World Wide Web) server 110, a trunking mechanism unit 120, and NICs 131 to 134 are provided.
  • a WWW World Wide Web
  • the WWW server 110 provides various contents in response to requests from the Web browsers 310, 310a, 310b, 310c in the client computers 300, 300a, 300b, 300c.
  • the node name of the server computer 100 is rhostAj.
  • the node name of the client computer 300 is rhostBJ
  • the node name of the client computer 300a is rhostCJ
  • the node name of the client computer 300b is rhostDj
  • the node name of the client computer 300c is "hostE". is there.
  • the trunking mechanism unit 120 is provided between the WWW server 110 and the NICs 131 to 134. 1.
  • the ranking mechanism unit 120 secures a logically high communication band by bundling a plurality of NICs 131 to 134. Then, the trunking mechanism unit 120 generates a packet including data to be transmitted from the WWW server 110 to the client computers 300, 300a, 300b, and 300c, and generates one of the plurality of NICs 131 to 134. Choose one and send.
  • the trunking mechanism section 120 has a distributed algorithm table 121.
  • the distribution algorithm table 121 defines an algorithm for load distribution at the time of data transmission. Then, the trunking mechanism unit 120 refers to the distributed algorithm table 121 and selects an NIC to be used for packet transmission so that the load of communication via each of the NICs 131 to 134 is equalized. That is, load distribution is performed. The load distribution is performed by, for example, a round robin method. Further, when the server computer 100 is activated, the trunking mechanism unit 120 transmits a distribution algorithm notification packet to each of the client computers 300, 300a, 300b, and 300c.
  • the distributed algorithm notification packet specifies the algorithm for selecting the physical address (MAC address) to be specified as the destination when the client computer 300, 300a, 300b, 300c sends a packet to the server computer 100. Information.
  • the distribution algorithm to be notified is defined in the distribution algorithm table 121.
  • the distributed algorithm notification packet also includes the MAC address of each of the NICs 131 to 134 of the server computer 100.
  • NIC 131-: L 34 is connected to switcher hub 200 by a LAN cable or the like.
  • the NICs 131 to 134 transmit and receive frames to and from the switching hub 200.
  • individual MAC addresses are set in each of the NICs 131 to 134.
  • the MAC address of NIC 13 1 is raj
  • the MAC address of NIC 132 is “b”
  • the MAC address of NIC 133 is “c”
  • the MAC address of NIC 134 is “ d ”.
  • the switching hub 200 has a plurality of LAN ports 211 to 214 and 221 to 224, and receives a frame input from the LAN port.> A LAN to which a NIC corresponding to the MAC address of the destination of the frame is connected. Forward to port.
  • the LAN ports 211 to 214 are connected to the NICs 131 to 134 at the server computer via LAN cables, respectively.
  • the LAN ports 221 to 224 are connected to client computers 300, 300a, 300b, and 300c, respectively, via LAN cables.
  • the plurality of client computers 300, 300a, 300b, 300c have web browsers 310, 310a, 310b, 310c, respectively.
  • the web browsers 310, 310a, 310b, 310c output a content acquisition request provided by the WWW server 110 in response to an operation input from a user.
  • a trunking mechanism 320 and an NIC 331 are provided in the client computer 300.
  • the trunking mechanism 320 is located between the web browser 310 and the NIC 331. Is provided.
  • the trunking mechanism 320 transmits a frame including a content acquisition request output from the web browser 310 via the NIC 331.
  • the trunking mechanism section 320 has a distributed algorithm table 321.
  • the distribution algorithm table 321 defines an algorithm for distributing the load of data transmitted to the server computer 100 to a plurality of NICs 131-134.
  • the distribution algorithm table 3221 is set based on the distribution algorithm notification bucket distributed by broadcasting from the trunking mechanism section 120 of the server computer 100.
  • the trunking mechanism section 320 determines a destination MAC address of a frame to be transmitted to the server computer 100 based on the distributed algorithm table 321. For example, the MAC address is determined by the round robin method so that frame transmission is performed equally to each of a plurality of NICs 131 to 134.
  • the NIC 331 is connected to the LAN port 211 of the switcher hub 200 via a LAN cable, and transmits and receives frames to and from the switching haptic 200.
  • the MAC address of NIC331 is "x".
  • FIG. 3 is a diagram showing the internal configuration of the trunking mechanism.
  • the trunking mechanism 120 of the server computer 100 includes a distribution algorithm table 121, a distribution algorithm notification unit 122, a transmission data load distribution processing unit 123, and a reception data transfer unit 124. Have.
  • the distribution algorithm table 122 defines a load distribution algorithm to be applied to the overnight communication with the client computer 300.
  • the distributed algorithm notifying unit 122 refers to the distributed algorithm table 122 to the client computer 300, and transmits the data transmitted from the client computer 300 to the server computer 100. Notify the distribution algorithm for.
  • the distribution algorithm is notified by a distribution algorithm notification packet 20.
  • the transmission data overnight load distribution processing unit 1 23 refers to the distribution algorithm table 1 2 1, and executes a distribution algorithm according to the client computer 3 0 0 0 of the transmission destination. decide.
  • the transmission data load distribution processing unit 123 distributes the transmission data 111 to the plurality of NICs 131 to 134 according to the determined distribution algorithm and transmits the data.
  • the reception data transfer section 124 transfers the data received from the client computer 300 to the WWW server 110.
  • the reception data transfer unit 124 when the reception data is divided and transferred by distributed processing and is input from a plurality of NICs 131 to 134, concatenates the divided data. Pass it to the WWW server 110.
  • the trunking mechanism section 320 of the client computer 300 includes a distributed algorithm table 321, a distributed algorithm acquisition section 322, a transmission data load distribution processing section 323, and a reception data transfer section 32. Has four.
  • the distributed algorithm template 3 2 1 defines a load distribution algorithm applied to data communication between the server computer 100 and the server.
  • the distributed algorithm acquisition unit 3222 receives the distributed algorithm notification packet 20 sent from the server computer 100, and updates the contents of the distributed algorithm table 3221.
  • the transmission data load distribution processing unit 3 2 3 Upon receiving the transmission data 311, the transmission data load distribution processing unit 3 2 3 refers to the distributed algorithm table 3 2 1, and executes a distribution algorithm according to the server computer 100 to be transmitted. To determine. Then, the transmission data load distribution processing unit 3 23 3 sends the destination MAC addresses of the plurality of data constituting the transmission data 311 to the plurality of NICs 13 1 to 13 4 in accordance with the determined distribution algorithm. Distribute and send.
  • the receiving data transfer unit 3 2 4 transfers the data received from the server computer 100 to the web browser 310. Note that the receiving data transfer unit 3 2 4 concatenates the divided data when the received data is transferred in a divided manner by distributed processing and transferred via multiple NICs 13 1 to 13 4. And pass it to the web browser 310.
  • FIGS. 2 and 3 only the configuration of the client computer 300 is shown in detail, but the other client computers 300 a, 300 b, and 300 c are not shown. Has the same configuration.
  • a content acquisition request from the Web browsers 310, 310a, 310b, 310c of a plurality of client computers 300, 300a, 300b, 300c is transmitted to the server via the switching hub 200. Sent to Computer Evening 100. Then, the requested content is distributed by the WWW server 110 in the server computer 100.
  • the server computer 100 and the switching hub 200 are connected by a plurality of LAN cables, it is possible to obtain a bandwidth four times as large as that of a case where they are connected by one transmission path. For example, if one transmission path has a bandwidth of 100 Mbps, communication between the server computer 100 and the switching hub 200 at a speed of 400 Mbps becomes possible. As a result, it is possible to withstand the high load accompanying simultaneous access to the server computer 100 from a plurality of client computers 300, 300a, 300b, 300c.
  • the data transmitted from the server computer 100 to the client computers 300, 300a, 300b, 300c is distributed to the NICs 131 to 134 in a well-balanced manner by the trunking mechanism unit 120, so that the amount of communication on one line Is not biased. Also, since the destination of the data transmitted from the client computer 300 to the server computer 100 is distributed to the NICs 131 to 134 in a well-balanced manner by the trunking mechanism 320, the communication volume may be unevenly distributed to one line. Absent.
  • FIG. 4 is a diagram illustrating an example of a hardware configuration of a server computer.
  • the entire server computer 100 is controlled by a CPU (Central Processing Unit) 101.
  • the CPU 101 has a random access memory (RAM) 102, a hard disk drive (HDD) 103, a graphics processing unit 104, an input interface 105, and a plurality of NICs 131 via a bus 107. To 134 are connected.
  • RAM random access memory
  • HDD hard disk drive
  • 104 graphics processing unit
  • input interface 105 input interface
  • NICs 131 via a bus 107.
  • To 134 are connected.
  • the RAM 102 temporarily stores at least a part of an OS (Operating System) program and an application program to be executed by the CPU 101.
  • the RAM 102 stores various data required for processing by the CPU 101. It is.
  • the HDD 103 stores an OS and application programs.
  • the 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 an instruction from the CPU 101.
  • a keyboard 12 and a mouse 13 are connected to the input interface 105.
  • the input interface 105 transmits signals transmitted from the keyboard 12 and the mouse 13 to the CPU 101 via the bus 107.
  • the NICs 131 to 134 are connected to the switching hub 200, respectively.
  • FIG. 4 shows the hardware configuration of the server computer 100
  • the client computers 300, 300a, 300b, and 300c can be realized with the same hardware configuration.
  • the client computers 300, 300a, 300b, and 300c need only have one NIC.
  • an example of communication between the server computer 100 and the client computer 300 will be described as a process for performing the communication.
  • FIG. 5 is a flowchart showing a data communication processing procedure.
  • the processing of the server computer 100 is shown on the left side, and the processing of the client computer 300 is shown on the right side.
  • the processing illustrated in FIG. 5 will be described along with step numbers.
  • Step S11 The client computer 300 waits for the reception of the distributed algorithm notification bucket 20.
  • Step S12 The server computer 100 transmits a distribution algorithm notification packet 20 in a broadcast frame at the time of system startup or the like.
  • Step S13 The server computer 100 then waits for a response from the client computer 300.
  • Step S14 The client computer 300 determines whether or not a distributed algorithm notification bucket has been received. If a distributed algorithm notification bucket has been received, the process proceeds to step S15. If the distributed algorithm notification packet has not been received, the process proceeds to step S11, and waits for the reception of the distributed algorithm notification packet 20. [Step SI 5] The client computer 300 extracts information on the distribution algorithm from the distribution algorithm notification packet 20 sent from the server computer 100, and takes it into the distribution algorithm table 32 1.
  • Step S16 The client computer 300 transmits a response to the distributed computer notification packet to the server computer 100.
  • Step S17 The server computer 100 determines whether a response has been received within a predetermined time. If a response is received within the fixed time, the process proceeds to step S18. If no response has been received within a certain period of time, the process proceeds to step S12, and the distributed algorithm notification packet 20 is transmitted again.
  • Step S18 The server computer 100 confirms the response content, and adds information including the MAC address of the communication partner to the distributed algorithm table 122.
  • Step S 19 The server computer 100 starts communication with the client computer 300.
  • Step S200 The client computer 300 starts communication with the server computer 100.
  • Step S21 The server computer 100 transmits data according to a distributed algorithm.
  • Step S 222 The client computer 300 transmits data according to the distributed algorithm.
  • the distribution algorithm notification bucket 1 is transmitted from the server computer 100 to the client computer 300, and the distribution algorithm is notified.
  • the client computer 300 recognizes the configuration of the NIC in the server computer 100, it is possible to perform data transmission in which the load is distributed to those NICs.
  • FIG. 6 is a conceptual diagram illustrating a distributed algorithm notification process.
  • a distributed algorithm notification bucket 2 0 Prior to communication with the client computers 300, 300a, 300b, and 300c, a distributed algorithm notification bucket 2 0 is generated, placed on an Ethernet (registered trademark) frame via an arbitrary NIC, and transmitted by broadcast.
  • the distribution algorithm notification packet Unit 20 is passed to each client computer 300, 300a, 300b, 300c. For example, if it is desired to perform reception distribution using the round robin method, the distribution algorithm notification bucket 20 is transmitted so that the data destined for itself transmits the NICs 131 to 134 using the round robin method.
  • a response packet is transmitted to the server computer 100 from the client computers 300, 300a, 300b, 300c that have received the distributed algorithm notification packet 20.
  • FIG. 7 is a diagram showing a frame configuration for a distributed algorithm notification packet.
  • the frame 30 includes a partner MAC address 31, a local MAC address 32, a protocol identifier 33, a command part 34, and a data part 35.
  • the destination MAC address 31 is a setting area of a MAC address indicating a frame transmission destination.
  • a value rFF-FF-FF-FF-FF'J indicating the broadcast transfer is set.
  • the own MAC address 32 is set to the MAC address of the NIC 100 itself.
  • the server computer 100 sets its own MAC address 32 to the MAC address of the selected NIC for selecting an arbitrary NIC and transmitting the distributed algorithm notification bucket 20.
  • an identifier indicating a distributed algorithm notification bucket is set.
  • the client computer 300, 300a, 300b, 300c recognizes that the received packet is the distributed algorithm notification bucket 20 by checking the protocol identifier.
  • the type of the information packet is set. Types include publicity, follow-up, delete, and response.
  • the packet type “publicity” indicates that it is a publicity (broadcast) of distributed algorithm data.
  • a distributed algorithm notification packet 20 in which “public information” is set in the command section 24 is transmitted.
  • the frame in which “Public information” is set in the command section 34 is transmitted from the server computer 100 to the client computers 300, 300a, 300b, and 300c.
  • the packet type “addition” indicates that this is an instruction to add distributed algorithm data.
  • the frame in which “Add” is set in the command section 34 is transmitted from the server computer 100 to the client computers 300, 300a, 300b, and 300c.
  • the packet type “delete” indicates that this is an instruction to delete the distributed algorithm data.
  • the frame set to “delete” in the command part 34 is transmitted from the server computer 100 to the client computers 300, 300a, 300b, and 300c.
  • the packet type “Response” indicates that it is a response to a publicity, addition, or deletion instruction.
  • the frame in which “response” is set in the command section 34 is transmitted from the client computer 300, 300a, 300b, 300c to the super computer 100.
  • the content of the distributed algorithm day is set.
  • the node name of the server computer 100 the node name of the client computer 300, 300a, 300b, 300c, the application name, the distribution algorithm, the MA of the NIC 131-134 of the server computer 100 Information such as the C address is set in the data section 35.
  • the server computer 100 has a class configuration composed of a plurality of computers, the node name of the computer on which the NIC is installed is added as additional information to the MAC addresses of the NICs 131 to 134. Is done.
  • the content of the data section 35 has a list structure for each of the client computers 300, 300a, 300b, and 300c, and each client computer 300, 300a, 300b, and 300c has only information corresponding to itself. And set it in the distributed algorithm table.
  • each NIC 13 1 to 13 4 has a unique network address called a MAC address. Therefore, each of the client computers 300, 300a, 300b, and 300c is connected to the four NICs 131-1 to 34 that were notified from the server computer 100.
  • the address information is notified to the client computer 300, 300a, 300b, 300c using an Internet protocol such as ARP (Address Resolution Protocol).
  • ARP Address Resolution Protocol
  • Only one MAC address can be notified.
  • ARP cannot report distributed algorithm information.
  • only one NIC can be used at a time when data is transmitted from each of the client computers 300, 300a, 300b, and 300c to the server computer 100.
  • NIC can be used at a time when data is transmitted from each of the client computers 300, 300a, 300b, and 300c to the server computer 100.
  • Only one of the four received data is used and no trunking is performed. In the first embodiment, even in such a case, load distribution by trunking is possible.
  • FIG. 8 is a diagram showing an example of the contents of the data portion of the distributed algorithm notification bucket.
  • FIG. 8 shows an example of the data section 35 in a case where the file transfer by the file transfer protocol (ftp) is load-balanced by round robin.
  • ftp file transfer protocol
  • the own node name, the partner node name, the application name, the algorithm used, and the MAC address of the used NIC are set for each partner node name.
  • the own node name is “hostA”.
  • the partner node names are "hostB”, “hostC”, “hostD”, and “hostE”.
  • the application name is “ftp”.
  • the algorithm used is "round robin”.
  • the MAC addresses “a”, “b”, “c j,” “d” of the NICs 13 1 to 13 4 are set.
  • a distributed algorithm table is constructed for both of the 00 and 00c, and load distribution is performed according to the distributed algorithm table.
  • FIG. 9 is a diagram showing an example of a data structure of a distributed algorithm table on the server computer side.
  • the distributed algorithm table 121 includes columns of the own node name, the other node name, the application name, the algorithm, the own NIC :, the other NIC, and the flag.
  • the information arranged in the horizontal direction in each column is associated with each other to form a record.
  • the own node name is the node name of the server computer 100 (for example, IP address).
  • the partner node name is the node name (for example, IP address) of the client computer 300, 300a, 300b, 300c of the partner of communication.
  • the application name is the name of the application to be distributed (telnet'ftp, etc.).
  • the algorithm is a distributed algorithm (for example, round robin-. Fixed N) used to send and receive data for the application specified by the application name.
  • the own NIC is the MAC address of the NIC 131 to L34 of the server computer 100. If there are multiple own NICs, they are shown in a list separated by commas.
  • the other party's NIC is the MAC address of the other party's client computer 300, 300a, 300b, 300c (if there is more than one, it is stored in a list format).
  • the flag indicates that the table information of the record is valid or invalid. If the flag is enabled, it indicates that the exchange of the distributed algorithm has been completed and communication is possible. If the flag is invalid, it indicates that the exchange of the distributed algorithm is incomplete and communication is not possible.
  • FIG. 9 shows the distributed algorithm table 122 on the server computer 100 side
  • the distributed algorithm table 321 on the client computer 300 side has the same data structure. Since the client computer 300 has only one NIC 331, one MAC address is set for its own NIC, and the NICs 13 1 to 1 3 4 in the server computer 100 are set for the partner NIC. MAC address is set.
  • FIG. 10 is a diagram showing an example of registration of the distribution algorithm table according to the distribution algorithm notification bucket.
  • a distribution algorithm notification bucket 20 a for public information is transmitted from the server computer 100 to the client computer 300.
  • the own node name is rhostAJ
  • the partner node name is rhostBj
  • the application name is rftpj
  • the algorithm is “round robin”
  • the own NIC is “a, b, c, d”.
  • the client computer 300 Upon receiving the distributed algorithm notification packet 20a, the client computer 300 exchanges its own node name and the remote node name in the distributed algorithm notification bucket 20a. 2 Register in 1. Next, the client computer 300 sets the MAC address “x” of its NIC 331 in its own NIC of the registered record, and sets the flag to “valid”. Then, the client computer 300 sends to the server computer 100 a distributed algorithm notification packet 20b of a response including the MAC address "of its own NIC 31.
  • the server computer 100 When the server computer 100 receives the distributed algorithm notification packet 20 b of the response, the server computer 100 stores a record obtained by adding the partner NIC “X” and the flag “valid” to the contents of the distributed algorithm notification packet 20 a. Register in 1 2 1
  • FIG. 11 is a diagram illustrating a load distribution processing state of data transmitted from the server computer.
  • load distribution is performed according to the round robin distribution algorithm.
  • data is allocated to a plurality of NICs 131 to 134 in a predetermined order. For example, NIC 131, NIC 132, NIC 133, NI C 134. After the NIC 134, data is allocated to the NIC 131.
  • the transmission data 111 sent to the client computer 300 from the WWW server 110 is passed to the trunking mechanism unit 120.
  • the transmission data 111 is transmitted after being divided into six data.
  • the divided data is referred to as “D 1”, “D 2”, “D 3 J,” “D 4”, “D 5”, and “D 6”.
  • the transmission data 111 is distributed by the trunking mechanism unit 120 to a plurality of NICs 131 to 134 in a round robin manner.
  • the data of “D 1” is transmitted to the client computer 300 via the NIC 131.
  • the data of “D 2” is transmitted to the client computer 300 via the NIC 132.
  • the data of “D3” is transmitted to the client computer—evening 300 via the NIC 133.
  • the data of “D4” is transmitted to the client computer 300 via the NIC 134.
  • the data of “D5” is transmitted to the client computer 300 via the NIC 131.
  • the data of “D 6” is transmitted to the client computer 300 via the NIC 136.
  • the transmission data 111 from the server computer 100 destined for the client computer 300 is distributed to the switching hap 200 while distributing the load on the transmission path, and then transmitted to the client computer 300.
  • FIG. 12 is a diagram illustrating a state of load distribution processing performed overnight from a client computer.
  • load distribution is performed according to the round robin distribution algorithm.
  • the transmission data 311 addressed to the WWW server 110 from the client computer 300 is passed to the trunking mechanism section 320.
  • the transmission data 31 1 is transmitted after being divided into four pieces of data.
  • the divided data are referred to as “D11”, “D12”, “D13”, and “D14”.
  • the transmission data 311 is distributed to a plurality of NICs 13 1 to 13 4 in a round-robin manner by the trunking mechanism 3 20.
  • the MAC address of the target NIC is set to the destination MAC address of the frame that transmits the data.
  • the switching hub 200 refers to the destination MAC address to determine the LAN port to be transmitted, so that each data is transmitted to the allocated NIC.
  • the data of “D11” is transmitted to the NIC 131 of the server computer 100.
  • the data of “D 1 2” is transmitted to NIC 1 32 of server computer 100.
  • the data of “D 13” is transmitted to NIC 133 of server computer 100.
  • the data of D 14 j is transmitted to NIC 134 of server computer 100.
  • the transmission data 311 from the client computer 300 to the server computer 100 is distributed to a plurality of transmission paths via the switcher hub 200 to distribute the load to the server computer 100. Passed to 0.
  • the switching hub 200 does not have a trunking mechanism, the load is distributed to a plurality of transmission paths between the server computer 100 and the switching hub 200.
  • the overnight communication is allowed. Therefore, when building a system using trunking, any switching haptic that does not support trunking can be used, and the range of options can be expanded.
  • each of the client computers 300, 300a, 300b, and 300c has distributed algorithm information, even if only one-to-one communication is performed between two devices, the Transmission / reception dispersion by ranking can be realized, and bandwidth improvement equivalent to that when using a trunking compatible switch can be realized.
  • the load distribution is managed in the client computers 300, 300a, 300b, and 300c, a distribution algorithm according to the application can be specified.
  • the switching hub 200 performs the trunking process as in the conventional case, the switching hub functions in the data link layer of the OSI hierarchical model, so that the application cannot be determined, and the application is not performed. Corresponding trunking was not possible.
  • the client computer 300 can specify the distributed algorithm according to the application, A highly flexible trunking mechanism can be provided.
  • the second embodiment is an example in which the present invention is applied to a system in a case where a plurality of server computers operate in cooperation to form a cluster.
  • FIG. 13 is a diagram illustrating an example of a system configuration according to the second embodiment.
  • two server computers 100a and 100b are connected to each other by an inter-system communication path 40.
  • the inter-system communication path 40 is a communication interface that enables higher-speed communication than a LAN. Note that components other than the server computers 100a and 100b are the same as those in the first embodiment, and therefore are denoted by the same reference numerals as in the first embodiment shown in FIG.
  • the server computer 100a has a WWW server 110a, a trunking mechanism 120a, and NICs 131a and 132a.
  • the trunking mechanism 120a has a distributed algorithm table 121a.
  • the server combination 100b has a trunking mechanism 120b and NICs 131b and 132b.
  • the trunking mechanism section 120b has a distributed algorithm table 121b.
  • each server computer 100a, 100b has two NICs 131a, 132a, 131b, 132b, respectively.
  • NICs 131a, 132a, 131b, 132b are required. It cannot be attached.
  • the trunking mechanisms 120a and 120b between the server computer 100a and the server computer 100b transmit control information registered in the distributed algorithm tables 121a and 121b for trunking through the inter-system communication path 40. Sharing.
  • the trunking mechanism sections 120a and 120b use NICs 131a, 132a, 131b, and 132b, respectively, for the client computers 300, 300a, 300b, and 300c. It has a distributed algorithm table in which trunking control information is registered so as to perform transmission and reception.
  • FIG. 14 shows an example of the data structure of the distributed algorithm table according to the second embodiment.
  • FIG. The data structure of the distributed algorithm table 121a is the same as the distributed algorithm table 121 of the first embodiment shown in FIG. 9 except for the own NIC.
  • the own NIC includes one of the NI C 131a, 132a, 131, and 132b installed on both server computers 100a and 100b, which is used for data transfer of the corresponding application.
  • MAC address is set.
  • the mounting computer name is set in parentheses.
  • the mounted computer name is the name (identification name) of the server computer that implements each NIC.
  • the WWW server 110a wants to distribute data in a round-robin manner with four client computers 300, 300a, 300b, and 300c, the server must be configured at system startup. The following processing is performed between the computers 100a and 100b.
  • FIG. 15 is a flowchart showing a processing procedure at the time of starting the system according to the second embodiment. Hereinafter, the processing illustrated in FIG. 15 will be described along the step numbers.
  • the trunking mechanism unit 120a of the server computer 100a generates a distributed algorithm table 121a as in the first embodiment.
  • the trunking mechanism 120a distributes the distributed algorithm notification packet 20 by broadcast to the distributed algorithm template 121a itself, and the own NIC of the distributed algorithm notification bucket 20 has a server computer 1
  • the MAC addresses of NICs 131a, 132a, 131b, and 132b between 00a and the server computer 100b are included.
  • the node name of the server computer on which the NICs 131a, 132a, 131b, and 132b are mounted is given to the MAC address.
  • Step S32 The trunking mechanism unit 120a determines whether or not the server computer 100a forms a cluster in cooperation with another server computer. If it is composed of a plurality of server consoles, the process proceeds to step S33. If it is configured with one server computer 100a, the process proceeds to Step S36.
  • Step S33 The trunking mechanism unit 120a uses a dedicated inter-system communication path. Then, the content of the distributed algorithm table 121a is transmitted to the server computer 100b using the source 40.
  • Step S34 The trunking mechanism unit 120b of the server computer 100b generates its own distributed algorithm table 121b based on the contents of the distributed algorithm table 121a received from the server computer 100a. I do.
  • Step S35 The trunking mechanism unit 120b transmits a response to the server computer 100a.
  • Step S36 The server computer 100a starts communication with the client computers 300, 300a, 300b, and 300c.
  • Step S37 the server computer 100b starts communication with the client computers 300, 300a, 300b, and 300c.
  • trunking can be performed by a class system using a plurality of server computers 100a and 100b.
  • the following data transfer is performed by load distribution by trunking.
  • FIG. 16 is a diagram showing a data transmission procedure when a plurality of server computers are used. Hereinafter, the processing illustrated in FIG. 16 will be described along the step numbers.
  • Step S41 The trunking mechanism 120b of the server computer 100b keeps waiting for an event from the server computer 100a.
  • Step S42 The trunking mechanism unit 120a of the server computer 100a keeps waiting for an event from the WWW server 110a.
  • Step S43 When any event occurs, the trunking mechanism unit 120a determines whether the occurred event is a data transmission request from the WWW server 110a. If so, the process proceeds to Step S45. If the event is not an overnight transmission request, the process proceeds to step S44.
  • Step S44 The trunking mechanism unit 120a executes a process other than overnight transmission according to the event that has occurred. Thereafter, the process proceeds to step S42, and waits for an event again.
  • the trunking mechanism section 120a executes a distributed algorithm table.
  • File 121a to determine the NIC to use for transmission Specifically, the trunking mechanism unit 120a refers to the distribution algorithm table 121a, and determines a distribution algorithm from a transmission destination, an application name, and the like. Then, according to the determined distribution algorithm, a NIC to be used for transmission is determined.
  • the trunking mechanism unit 120a extracts the device name of the server computer on which the NIC used for transmission is mounted, from the distributed algorithm table 121a.
  • Step S47 The trunking mechanism unit 120a determines whether the NIC used is the NIC implemented in the server computer 100a itself. If the NIC is mounted on the server computer 100a, the process proceeds to step S49. NI implemented on other server computers. If so, the process proceeds to Step S48.
  • Step S48 The trunking mechanism section 120a transfers the data from the WWW server 110a to the other server computer 100b using the inter-system communication path 40. Thereafter, the processing on the server computer 100a side ends, and the processing shifts to step S50 of the trunking mechanism unit 120b on the server computer 100b side.
  • Step S49 The trunking mechanism section 120a transmits the data to the client computer via the NIC determined in step S45.
  • Step S50 The trunking mechanism unit 120b of the server computer 100b searches its own distributed algorithm table 121b and uses N for transmission.
  • Step S51 The trunking mechanism unit 120b transmits the data to the client computer via the NIC determined in step S50.
  • FIG. 17 is a diagram illustrating a data transmission situation when a plurality of server computers are used.
  • the web application 110a of the server computer 100a sends the data 111a to the trunking mechanism 120a, the trunking mechanism 1
  • 20a divides the transmission data 111a into a plurality of data and distributes the data to a plurality of NICs 131a, 132a, 131b, and 132b.
  • 1a is divided into four data, and that each data is “D21J,” “D22”, “D23”, and “D24”.
  • the transmission data 111 is sorted by the trunking mechanism unit 120 into a plurality of NICs 131a, 132a, 131b, and 132b in a round robin manner.
  • the data “D 11” is transmitted to the client convenience 300 via the NIC 131a.
  • the data of “D22” is transmitted to the client computer 300 via the NIC 132a.
  • the data of “D23” is sent to the trunking mechanism section 120 b of the server computer 100 b via the inter-system communication path 40, and then distributed by the trunking mechanism section 120 b to the client computer via the NIC 131 b. Sent to 300.
  • the data of “D 24” is sent to the trunking unit 120 b of the server computer 100 b via the inter-system communication path 40, and is then distributed to the trunking unit 120 b and passed through the NIC 132 b. Is transmitted to the client computer 300.
  • the transmission data 111a destined for the client computers 300, 300a, 300b, 300c from the server computers 100a, 100b is distributed to the switching hub 200 after dispersing the load, and thereafter, Handed over to the client combination 300, 300a, 300b, 300c.
  • the client computers 300, 300a, 300b, and 300c when performing distributed processing of data transmitted from the client computers 300, 300a, 300b, and 300c to the server computer 100a, the client computers 300, 300a, 300b, and 300c perform communication before the communication.
  • the distribution method is determined based on the distribution algorithm notification bucket transmitted from the server computer 100a.
  • data sent from the client computers 300, 300a, 300b, 300c to the server computer 100a is distributed and transmitted to the respective NICs 131a, 132a, 131b, 132b.
  • the data transmitted to the NICs 131b and 132b is passed to the WWW server 110a via the inter-system communication path 40 by the trunking mechanism 120b.
  • trunking process can be performed using the server computer.
  • trunking can be realized by increasing the number of used NICs, without depending on the hardware specifications (upper limit of NIC implementation) of the server computer 100a to be used.
  • FIG. 18 is a diagram for explaining the principle when one NIC is added.
  • the server computer 100c has a WWW server 110c, a trunking mechanism 120c, NICs 131c, 132c, 133c, 134c, 135, and a NIC addition Z detachment control unit 140. I have.
  • the trunking mechanism section 210c has a distributed algorithm table 121c.
  • the NIC 135 is a newly added one.
  • the administrator of the server computer 100c connects the attached spare NIC 135 to the switching hub 200 with a LAN cable.
  • switching trunk 200 is not set for trunking, it can be used for communication immediately after connection without resetting switching hap 200. In other words, if a switcher hub that supports trunking is used, it is necessary to temporarily stop the communication of the already connected NIC to change the setting.
  • the server computer 100c needs to add the newly added NIC 135 to the trunking target.
  • the NIC addition Z separation controller 140 of the server computer 100c automatically recognizes the addition of the NIC 135 and registers information according to the addition of the NIC 135 in the distributed algorithm table 121c.
  • the distributed algorithm table 121c can be updated according to an instruction from an application or an operator without waiting for additional automatic recognition of the NIC 135.
  • the NIC addition / disconnection control unit 140 notifies the trunking mechanism unit 120 of the content using the inter-program communication.
  • the trunking mechanism unit 120c adds the target NIC to the distribution targets in the distribution algorithm table 121c.
  • the trunking mechanism The unit 120c notifies the client computer 300, 300a, 300b, 300c of the update content by a distributed algorithm notification packet. Thereafter, the trunking mechanism unit 120c performs load distribution of data transmission including the NIC 135 at the time of data transmission.
  • the addition of the NIC 135 is notified to the client computers 300, 300a, 300b, and 300c by the distribution algorithm notification bucket, and the distribution within the client computers 300, 300a, 300b, and 300c is performed according to the notification.
  • the algorithm table is updated. Therefore, even for data transmitted from the client computer 300c, 300a, 300b, 300c to the server computer 100c, the load distribution of data transmission including the NIC 135 is distributed according to the updated distribution algorithm table. Done.
  • FIG. 19 is a flowchart showing the procedure for updating the distributed algorithm table when adding a NIC. Hereinafter, the processing illustrated in FIG. 19 will be described along the step numbers.
  • Step S61 The trunking mechanism section 320 of the client computer 300 waits for reception of the distributed algorithm notification bucket.
  • Step S62 The NIC addition Z disconnection control unit 140 of the server computer 100c waits for an event to occur.
  • Step S63 NIC addition
  • the separation control unit 140 determines the contents of the I / O interrupt. If so, the process proceeds to Step S65. If it is an I / O interrupt other than the addition of NIC, the process proceeds to step S64.
  • Step S64 The NIC addition disconnection control unit 140 executes a process corresponding to the I / interrupt, and thereafter ends the process.
  • the NIC addition Z separation control unit 140 extracts information on the added NIC 135 from the IZO table.
  • the IZO table is a data table that defines information according to I / O interrupts managed by the OS. It is. Then, the NIC addition Z separation control unit 140 instructs the trunking mechanism unit 120c to add the NIC.
  • Step S666 The trunking mechanism unit 120c generates a distribution algorithm notification bucket with the added packet type, and transmits the packet to the client computer 300. As a result, the information of the added NIC 135 is notified to the client computer 300.
  • Step S67 The trunking mechanism section 120c enters a response reception waiting state.
  • Step S688 The trunking mechanism section 320 of the client computer 300 determines whether or not a distributed algorithm notification bucket has been received. If so, the process proceeds to Step S69. If not, the process proceeds to step S61, and waits for reception of a packet.
  • Step S69 The trunking mechanism section 320 determines whether the distributed algorithm notification packet is an instruction to add a newly implemented NIC. This can be determined by whether the bucket type is “added” or not. In the case of an additional instruction of NIC, the process proceeds to step S71. In the case of an instruction other than the NIC addition instruction (for example, deletion of NIC)., The process proceeds to Step S70.
  • Step S70 The trunking mechanism section 320 executes a process (a process other than the NIC addition) specified by the distributed algorithm notification packet. Thereafter, the processing proceeds to step S61.
  • the trunking mechanism section 320 adds the new NIC specified in the distribution algorithm notification packet to its own distribution algorithm table 321.
  • Step S72 The trunking mechanism section 320 transmits a response packet to the server computer 100C.
  • Step S73 The trunking mechanism section 120c of the server computer 100c determines whether a response has been received within a predetermined time. If there is a response, the process proceeds to step S74. If there is no response, the process proceeds to step S66. ⁇ [Step S74] After confirming the response, the trunking mechanism unit 120c adds information of the newly added NIC to the distributed algorithm table 122c.
  • the trunking mechanism section 120c of the server computer 100c and the trunking mechanism section 320 of the client computer 300 include the newly added NIC in the communication path. Start data communication.
  • a new NIC can be added. This operation is performed in parallel with the communication of applications such as the WWW server 110c, so that other NICs 131c, 132c, 13 There is no effect on the communication data on 3c and 134c. Moreover, there is no need to reset the settings and restart the switching hub. Therefore, it is possible to dynamically expand the data transfer bandwidth while maintaining communication.
  • FIG. 20 is a diagram for explaining the principle when one NIC is deleted.
  • the NIC disconnection control unit 140 is notified of the NIC disconnection by an I / O interrupt.
  • the operation input from the application software such as Sano computer 100 c,
  • the NIC addition / separation control unit 140 that has received the notification of the NIC separation updates the internal system configuration information, and notifies the content to the trunking mechanism unit 120c using the inter-program communication.
  • the trunking mechanism section 120c that has received the notification removes the information of the corresponding NIC135 from the distributed algorithm table 122c so as to exclude the information from the trunking target. Thereafter, transmission dispersion is performed from the server computer 100c side without using the NIC135.
  • NIC 135 is removed from the trunking mechanism section 120 C to the client convenience server 300, 300 a, 300 b, and 300 c.
  • Send the updated distribution algorithm notification packet (packet type is deleted).
  • the trunking mechanism of each of the client computers 300, 300a, 300b, and 300c reads the NIC from the internal distributed algorithm table. Delete 135 information.
  • NICs 131c, 132c, 133c, 134c other than the NIC 135 are used as data transmitted from the client computers 300, 300a, 300b, 300c to the server computer 100c.
  • NICs 131c, 132c, 133c, 134c other than the NIC 135 are used.
  • the connection cable is disconnected from the corresponding LAN port of the switching hub 200, and the deletion of the NIC 135 is completed.
  • This operation is performed in parallel with the communication of the application, and does not affect the communication data on other NICs that have been exchanged. Also, since there is no need to reset and restart the settings of the switch hub 200 side, the data transfer bandwidth can be dynamically reduced while the communication is continued. is there.
  • the addition and removal of the NIC can be performed without stopping the operation of the server computer 100c, so that the bandwidth adjustment between the server computer 100c and the switching haptic 200 is facilitated.
  • NIC can be added to increase the bandwidth while continuing operation.
  • a server program describing the processing contents of the functions that the server computer should have, and a client program describing the processing contents of the functions that the client computer should have are provided. You. By executing the server program on a computer, the processing functions of the server computer according to the above embodiment are realized. Further, by executing the client program on a computer, the processing functions of the client computer according to the above-described embodiment are realized.
  • Computer-readable recording media include magnetic recording devices, optical disks, magneto-optical recording media, and semiconductor memories.
  • Magnetic recording devices include hard disk drives (HDDs), flexible disks (FDs), and magnetic tapes.
  • Optical discs include DV D (Digital Versatile Disc).
  • DVD-R AM Random Access Memory
  • CD-ROM Compact Disc Read Only Memory
  • CD-R Recordable
  • RW Re Writable
  • Magneto-optical recording media include M ⁇ (Magneto-Optical disc).
  • the client program can be stored in the storage device of the server computer, and the client program can be transferred from the server computer to the client computer via the network.
  • the server computer that executes the server program stores, for example, the server program recorded on a portable recording medium in its own storage device. Then, the server computer reads the server program from its own storage device and executes processing according to the server program. The server computer can also read the server program directly from the portable recording medium and execute processing according to the server program.
  • the client computer that executes the client program stores, for example, the client program recorded on the portable recording medium or the client program transferred from the server computer in its own storage device. Then, the client computer reads the client program from its own storage device and executes processing according to the client program. Note that the client computer can also read the client program directly from the portable recording medium and execute processing according to the client program. Further, each time the client program is transferred from the server computer, the client computer can sequentially execute processing according to the received client program.
  • the physical address of a plurality of communication interfaces and the distribution algorithm are notified to the communication partner computer by the distribution algorithm notification packet, and the communication interface determined in accordance with the distribution algorithm at the partner computer.
  • This enables trunking using multiple transmission paths, even if the device that relays the packet does not have a trunking function.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Description

明 細 書 デー夕通信負荷分散制御プログラム、 およびデー夕負荷分散制御方法 技術分野
本発明は多重化した伝送路を介してデータ通信を行う際のデータ通信負荷分散 制御プログラム、 およびデータ負荷分散制御方法に関し、 特にトランキングを用 いたデータ通信負荷分散制御プログラム、 およびデータ負荷分散制御方法に関す る。 背景技術
複数の装置間の通信の高帯域化を図る方法の 1つにトランキングがある。 トラ ンキングは、 装置間を複数の伝送路で接続する。 そして、 各装置では、 複数の伝 送路それぞれに接続されたネットヮ一クイン夕フェースカード (N I C) を論理 的に 1つの LANポ一卜として取り扱う。 これにより、 装置間の伝送帯域を向上 させることができる。
図 21は、 従来のトランキングシステムの構成例を示す図である。 従来のトラ ンキングシステムは、 コンピュータ 910、 スイッチングハブ 920、 および相 手側コンピュータ 930, 940, 950, 960で構成される。
コンピュータ 910は、 アプリケーション 911、 トランキング機構部 912、 N I C 913〜916を有している。 アプリケーション 911は、 相手側コンビ ュ一タ 930, 940, 950, 960と通信を行い、 様々なデータ処理を行う 処理機能である。 トランキング機構部 912は、 複数の N I C913〜916を 1つの LANポートとみなしてスイッチングハブ 920との間の通信を行う。 な お、 トランキング機構部 9 1 2は、 複数の N I C 9 1 3〜9 1 6の MAC (Media Access Control)ァドレスや各 N I C 9 1 3〜9 1 6で共有する I P (Internet Protocol)アドレス等が設定された構成情報 912 aを有している。
N I C913~916は、 それぞれ個別の伝送路でスィッチンダハブ 920に 接続されており、 スイッチングハブ 920との間でデ一夕通信を行う。 スイッチングハブ 9 2 0は、 8つの L ANポートのうちの 4つが、 コンビュ一 夕 9 1 0の N I C 9 1 3〜9 1 6に接続されている。 他の 4つの L ANポ一トは、 相手側コンピュータ 9 3 0, 9 4 0 , 9 5 0 , 9 6 0に接続されている。
また、 スイッチングハブ 9 2 0は、 トランキング対応部 9 2 1を有している。 トランキング対応部 9 2 1は、 各 L ANポートへの接続相手の I Pアドレス等の 情報が格納された構成情報 9 2 1 aを有している。
このような構成のシステムにおいて、 コンピュータ 9 1 0とスイッチングハブ 9 2 0との間でトランキングが行われる。 すなわち、 コンピュータ 9 1 0は、 多 重化した N I C 9 1 3〜9 1 6を使用して 1つの論理的な N I Cを生成する。 そ してコンピュータ 9 1 0は、 論理的な N I Cを通してデ一夕の送受信を行う。 スイッチングハブ 9 2 0は、 コンピュータ 9 1 0から送られたデータを、 相手 側コンピュータ 9 3 0 , 9 4 0 , 9 5 0 , 9 6 0へ送る。 また、 スイッチングハ ブ 9 2 0は、 相手側コンピュ一夕 9 3 0 , 9 4 0 , 9 5 0 , 9 6 0から送られた デ一夕を、 1、ランキング対応部 9 2 1が、 コンピュータ 9 1 0に接続された L A Nポ一卜の 1つに振り分け、 その L ANポートを介してコンピュータ 9 1 0にデ —夕を送信する。
これにより、 コンピュータ 9 1 0とスイッチングハブ 9 2 0との間のデータ通 信帯域が拡大される。
なお、 トランキング対応部 9 2 1を有するスイッチングハブ 9 2 0を介さずに、 複数の L ANポートの負荷分散制御を行うこともできる。 たとえば、 複数の L A N (Local Area Network)アダプタを有するホストコンピュー夕が、 通信相手に対 して任意の L ANアダプタの物理アドレスを通知する。 通信相手は、 通知された 物理ァドレスを指定してデータをホス卜コンピュータに送信する。 これにより、 複数の通信相手から送られるデ一夕を、 複数の L ANアダプタに負荷分散して受 信することができる (例えば、 特許文献 1参照) 。
特許文献 1
特開平 7 _ 2 4 5 6 1 9号公報 (第 1図)
しかし、 従来の方式では、 基本的にコンピュータとスイッチングハブとが共に 卜ランキング機能を持っていないと接続できず、 適用条件が限定されたものとな つていた。 しかも、 スイッチングハブとコンピュータの間で、 使用する N I C数、 ポート数や、 分散アルゴリズムを一致させて設定する必要があり、 トランキング を実行するための専用 MA Cアドレスも定義しなければならないので、 設定が煩 雑でュ一ザがミスを引き起こしゃすいものとなっていた。
更に、 使用する N I C数を増減させたい場合には、 上記設定情報を変更するた めに、 一旦通信を中断しなければスイッチングハブ側の設定ができない。 そのた め、 設定変更が、 システムの稼働率を低下させる要因となっていた。
また、 トランキング機能を持たないスイッチング八ブのみを使用してトランキ ング機能を実現する場合、 コンピュータ間で I Pアドレスや MA Cアドレスの情 報を交換する等の手段により、 使用する N I Cを決定することができるが、 アド レス情報のみの交換では分散アルゴリズムが限定される。 例えば、 通信相手装置 が 1台の場合には、 特定の N I Cしか使用されず分散できないといった問題があ つた。 発明の開示
本発明はこのような点に鑑みてなされたものであり、 トランキング機能を持た ないスイッチングハブとの間で柔軟性の高いトランキングを行うことができるコ ンピュー夕を提供することを目的とする。
本発明では上記課題を解決するために、 図 1に示すようなデータ通信負荷分散 制御プログラムが提供される。 本発明に係るデータ通信負荷分散制御プログラム は、 複数の通信イン夕フェース 1 a, l b, l c , 1 dを実装可能なコンピュー 夕における伝送路の通信負荷を分散させるためのデータ通信負荷分散制御部 1 e の機能を実現するものである。 このデ一タ通信負荷分散制御プログラムに基づい て、 コンピュータ 1が以下の処理を実行する。
コンピュータ 1は、 複数の通信インタフェース 1 a, l b , 1 c , I dの物理 ァドレス、 および通信相手のコンピュータ 3がコンピュータ 1宛に送信するデー 夕を複数の通信インタフェース 1 a, l b , 1 c , 1 dに分散させる場合の分散 アルゴリズムを含む分散アルゴリズム通知バケツト 4を生成する (ステップ S 1 ) 。 そして、 コンピュータ 1は、 ネットワークを介して接続されている通信相 手コンピュータに対し、 分散アルゴリズム通知パケット 4を送信する (ステップ S 2 ) 。
これにより、 コンピュータ 1に実装されている複数の通信イン夕フェース 1 a, l b , l c, 1 dの物理アドレスを他のコンピュータ 3に通知し、 負荷分散アル ゴリズムを指定することができる。
また、 上記課題を解決するために、 図 1に示すような負荷分散データ送信プロ グラムが提供される。 本発明に係る負荷分散データ送信プログラムは、 複数の通 信イン夕フェース l a, 1 , l c , 1 dを実装可能な通信相手のコンピュータ 1までの伝送路の通信負荷を分散させるための負荷分散データ送信部 3 bの機能 を実現するものである。 この負荷分散デ一夕送信プログラムに基づいて、 コンビ ユー夕 3は以下の処理を実行する。
コンピュータ 3は、 複数の通信イン夕フェース 1 a , 1 b , 1 c , I dの物理 ァドレス、 およびコンピュータ 1宛に送信するデータを複数の通信イン夕フエ一 ス l a, l b , 1 c , 1 dに分散させる場合の分散アルゴリズムを含む分散アル ゴリズム通知パケット 4を受信すると、 複数の通信インタフェース 1 a, l b , 1 c , 1 dの物理アドレスと分散アルゴリズムとをデータテーブル 3 cに格納す る。 次に-, コンピュータ 3は、 通信相手コンピュー夕に対して送信する送信デー 夕 5の宛先とすべき通信ィン夕フェースを分散アルゴリズムに従つて決定する。 さらに、 コンピュータ 3は、 宛先に決定された通信インタフェースの物理ァドレ スを宛先として指定し、 送信データ 5を送信する。
これにより、 コンピュー夕 3から通信相手コンピュー夕に対して送信する送信 データ 5は、 分散アルゴリズム通知パケット 4で指定された分散アルゴリズムで 複数の通信インタフェース 1 a , l b , l c, 1 dそれぞれを介した伝送路へ負 荷を分散して送信される。
また、 上記課題を解決するために、 複数の通信インタフェースを実装可能なコ ンピュ一夕における伝送路の通信負荷を分散させるためのデータ通信負荷分散制 御方法において、 前記複数の通信インタフェースの物理アドレス、 および通信相 手コンピュータが前記コンピュータ宛に送信するデータを前記複数の通信インタ フェースに分散させる場合の分散アルゴリズムを含む分散アルゴリズム通知パケ ットを生成し、 ネットワークを介して接続されている前記通信相手コンピュータ に対し、 前記分散アルゴリズム通知パケットを送信する、 処理を実行させること を特徴とするデータ通信負荷分散制御方法が提供される。
このようなデ一夕通信負荷分散制御方法によれば、 コンピュータに実装されて いる複数の通信イン夕フェースの物理アドレスを他のコンピュータに通知し、 負 荷分散アルゴリズムを指定することができる。
本発明の上記および他の目的、 特徴および利点は本発明の例として好ましい実 施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。 図面の簡単な説明
図 1は、 実施の形態に適用される発明の概念図である。
図 2は、 本発明を適用したシステムの構成例を示す図である。
図 3は、 トランキング機構部の内部構成を示す図である。
図 4は、 サーバコンピュータのハ一ドウエア構成例を示す図である。
図 5は、 データ通信処理手順を示すフローチャートである。
図 6は、 分散アルゴリズム通知処理を示す概念図である。
図 7は、. 分散アルゴリズム通知バケツトのためのフレーム構成を示す図である。 図 8は、 分散アルゴリズム通知バケツトのデータ部の内容例を示す図である。 図 9は、 サーバコンピュータ側の分散アルゴリズムテ一ブルのデ一夕構造例を 示す図である。
図 1 0は、 分散アルゴリズム通知パケットに応じた分散アルゴリズムテーブル の登録例を示す図である。
図 1 1は、 サ一バコンピュー夕から送信するデータの負荷分散処理状況を示す 図である。
図 1 2は、 クライアントコンピュータから送信するデータの負荷分散処理状況 を示す図である。
図 1 3は、 第 2の実施の形態のシステム構成例を示す図である。
図 1 4は、 第 2の実施の形態に係る分散アルゴリズムテーブルのデ一夕構造例 を示す図である。 図 15は、 第 2の実施の形態におけるシステム起動時の処理手順を示すフロー チヤ一卜である。
図 16は、 複数のサーバコンピュータを用いたときのデ一夕送信手順を示す図 である。
図 17は、 複数のサーバコンピュータを用いた場合のデータ送信状況を示す図 である。
図 18は、 N I Cを 1枚増設する場合の原理説明図である。
図 19は、 N I C追加時の分散アルゴリズムテーブル更新手順を示すフローチ ヤー卜である。
図 20は、 N I Cを 1枚削除する場合の原理説明図である。
図 21は、 従来のトランキングシステムの構成例を示す図である。 発明を実施するための最良の形態
以下、 本発明の実施の形態を図面を参照して説明する。
まず、 実施の形態に適用される発明の概要について説明し、 その後、 実施の形 態の具体的な内容を説明する。
図 1は, 実施の形態に適用される発明の概念図である。 本発明は、 コンビユー 夕 1とコンピュータ 3の間のデータ通信に適用される。 コンピュータ 1は、 複数 の通信インタフェース 1 a, l b, l c, 1 dを有している。 各通信イン夕フエ —ス l a, l b, l c, 1 dの物理アドレスは、 それぞれ 「a」 、 「b」 、 「c」 、 「d」 である。 通信インタフェース l a, l b, l c, 1 dは、 それぞ れ個別の伝送路でスィッチンダハブ 2に接続されている。
更にコンピュータ 1は、 データ通信負荷分散制御プログラムを実行することで、 データ通信負荷分散制御部 1 eの機能が構築される。 データ通信負荷分散制御部 l eは、 伝送路の通信負荷を分散させる機能を有している。 具体的には、 データ 通信負荷分散制御部 1 eは、 以下の処理を実効する。
データ通信負荷分散制御部 1 eは、 複数の通信イン夕フェース 1 a, l b, 1 c, I dの物理アドレス、 および通信相手のコンピュータ 3がコンピュータ 1宛 に送信するデータを複数の通信インタフェース 1 a, l b, l c, I dに分散さ せる場合の分散アルゴリズムを含む分散アルゴリズム通知バケツト 4を生成する (ステップ S 1 ) 。 そして、 デ一夕通信負荷分散制御部 1 eは、 ネットワークを 介して接続されている通信相手のコンピュータ 3に対し、 分散アルゴリズム通知 パケット 4を送信する (ステップ S 2 ) 。
これにより、 コンピュータ 1に実装されている複数の通信インタフェース 1 a, 1 b , l c , 1 dの物理アドレスを他のコンピュータ 3に通知し、 負荷分散アル ゴリズムを指定することができる。
一方、 コンピュータ 3は、 通信イン夕フエ一ス 3 aを有しており、 この通信ィ ン夕フェース 3 aがスイッチングハブ 2に接続されている。 また、 コンピュータ 3は、 分散負荷デ一夕送信プログラムを実行することで、 コンピュータ 1までの 伝送路の通信負荷を分散させるための負荷分散デ一夕送信部 3 bの機能を実現す る。 具体的には、 負荷分散データ送信部 3 bは、 以下の処理を実行する。
負荷分散デ一夕送信部 3 bは、 複数の通信インタフェース 1 a, l b , 1 c , 1 dの物理ァドレス、 およびコンピュータ 1宛に送信するデ一タを複数の通信ィ ン夕フェース l a , l b , l c , 1 dに分散させる場合の分散アルゴリズムを含 む分散アルゴリズム通知パケット 4を受信すると、 複数の通信インタフェース 1 a , 1 b , l c , 1 dの物理ァドレスと分散アルゴリズムとをデ一夕テーブル 3 cに格納する。 図 1の例では、 物理ァドレス 「a , b , c, d」 、 分散アルゴリ ズム 「ラウンドロビン」 が登録されている。
次に、 負荷分散データ送信部 3 bは、 通信相手コンピュータに対して送信する 送信データ 5の宛先とすべき通信インタフェースを分散アルゴリズムに従って決 定する。 さらに、 コンピュータ 3は、 決定された通信インタフェースの物理アド レスを宛先として指定し、 送信データ 5を送信する。 たとえば、 送信データ 5が 4つに分割され、 最初のデータ 5 aは、 宛先として物理アドレス 「a」 が指定さ れて送信される。 これにより、 データ 5 aは、 スイッチングハブ 2において通信 インタフェース 1 aに転送される。 2つ目のデ一夕 5 bは、 宛先として物理アド レス 「b」 が指定されて送信される。 これにより、 データ 5 bは、 スイッチング ハブ 2において通信インタフェース 1 bに転送される。 3つ目のデータ 5 cは、 宛先として物理アドレス 「c」 が指定されて送信される。 これにより、 データ 5 cは、 スイッチングハブ 2において通信イン夕フェース 1 cに転送される。 4つ 目のデータ 5 dは、 宛先として物理アドレス 「d」 が指定されて送信される。 こ れにより、 データ 5 dは、 スイッチングハブ 2において通信インタフェース 1 d に転送される。
これにより、 コンピュータ 3から通信相手コンピュータに対して送信する送信 データ 5は、 分散アルゴリズム通知バケツト 4で指定された分散アルゴリズムで 複数の通信インタフェース 1 a , l b , l c , 1 dそれぞれを介した伝送路へ負 荷を分散して送信される。
このように、 コンピュータ 1側からコンピュータ 3へ、 分散アルゴリズム通知 パケット 4により、 複数の通信インタフェース 1 a , l b , l c , I dの物理ァ ドレスと分散アルゴリズムとを通知し、 コンピュータ 3において、 分散アルゴリ ズムに従って決定された通信インタフェースの物理ァドレス宛に送信データ 5を 送信するようにした。 そのため、 スイッチングハプ 2にトランキング機能が無く ても、 複数の伝送路を用いたトランキングが可能となる。 その結果、 柔軟性の高 ぃネットワークシステムを構築することができる。
しかも、 スイッチング八ブ 2にトランキング機構が不要であるため、 安価なス イツチングハブ 2を使用できる。 また、 分散アルゴリズムをコンピュータ 1側か ら通知するため、 アルゴリズムの変更や、 通信ィン夕フェースの増減への対応が 谷易であ ·©。
また、 コンピュータ 1の通信相手となるコンピュータ 3が複数存在した場合、 それぞれに個別の分散アルゴリズムを通知することで、 通信相手のコンピュー夕 毎に、 通信に使用する通信インタフェースを分けることが出来る。
さらに、 コンピュータ 3において送信相手の通信ィン夕フエ一スを決定するた め、 O S I階層モデルにおけるネットワーク層やさらに上位のプロトコルを参照 して送信相手の通信インタフェースを決定することも可能である。 たとえば、 通 信に使用されるアプリケ一ションの種別に応じて、 送信相手の通信イン夕フエ一 スを決定することもできる。
以下、 図 1に示した構成をサーバクライアントシステムに適用した場合の実施 の形態について具体的に説明する。 [第 1の実施の形態]
まず、 本発明の第 1の実施の形態について説明する。 なお、 以下の説明におい て、 デ一夕リンク層でのデ一夕送信を説明するときには、 信号の単位を特にフレ ームと呼ぶこととする。
図 2は、 本発明を適用したシステムの構成例を示す図である。 サ一バコンピュ —夕 100には、 スイッチングハブ 200を介して複数のクライアントコンピュ —夕 300, 300 a, 300b, 300 cが接続されている。
サーバコンピュータ 100内には、 WWW(World Wide Web)サーバ 110、 トランキング機構部 120、 および N I C 131〜 134が設けられている。
WWWサーバ 1 10は、 クライアントコンピュータ 300, 300 a, 300 b, 300 c内の We bブラウザ 310, 310 a, 310 b, 310 cからの 要求に応答して、 様々なコンテンツを提供する。 なお、 サーバコンピュータ 10 0のノード名は rhostAj である。 また、 クライアントコンピュータ 3ひ 0のノ —ド名は rhostBJ 、 クライアントコンピュータ 3 0 0 aのノード名は rhostCJ 、 クライアントコンピュータ 300 bのノード名は rhostDj 、 クラ イアントコンピュータ 300 cのノード名は 「hostE」 である。
トランキング機構部 120は、 WWWサーバ 110と N I C 131〜134と の間に設けられている。 1、ランキング機構部 120は、 複数の N I C 131〜 1 34束ねて、 論理的な高通信帯域を確保している。 そして、 トランキング機構部 120は、 WWWサ一バ 110からクライアントコンピュータ 300, 300 a, 300 b, 300 c宛に送信するデ一夕を含むパケットを生成し、 複数の N I C 131〜134の何れか 1つを選択して送信する。
なお、 トランキング機構部 120は、 分散アルゴリズムテーブル 121を有し ている。 分散アルゴリズムテ一ブル 121には、 データ送信の際の負荷分散のァ ルゴリズムが定義されている。 そして、 トランキング機構部 120は、 分散アル ゴリズムテ一ブル 121を参照し、 N I C 131〜134それぞれを介した通信 の負荷が均等になるように、 パケットの送信に使用する N I Cを選択する。 すな わち、 負荷分散が行われる。 負荷分散は、 たとえば、 ラウンドロビン方式によつ て行われる。 また、 トランキング機構部 120は、 サーバコンピュータ 100の起動時に、 各クライアントコンピュータ 300, 300 a, 300 b, 300 cに対して分 散アルゴリズム通知パケットを送信する。 分散アルゴリズム通知パケットは、 ク ライアントコンピュータ 300, 300 a, 300 b, 300 cがサ一バコンピ ユー夕 100宛にパケットを送信する際に宛先として指定すべき物理アドレス (MACアドレス) の選択アルゴリズムを指定する情報である。 どのような分散 アルゴリズムを通知するのかは、 分散アルゴリズムテーブル 121に定義されて いる。 なお、 分散アルゴリズム通知パケットには、 サーバコンピュータ 100の 各 N I C 131〜134の MACァドレスも含まれる。
N I C 131〜: L 34は、 L ANケ一ブル等によりスィッチンダハブ 200に 接続されている。 NI C 131〜134は、 スイッチングハブ 200との間での フレームの送受信を行う。 また、 各 N I C 131〜 134には、 個別の MACァ ドレスが設定されている。 図 2の例では、 N I C 1 3 1の M A Cアドレスは raj であり、 N I C 132の MACアドレスは 「b」 であり、 N I C 133の MACアドレスは 「c」 であり、. N I C 134の MACアドレスは 「d」 である。 スイッチングハブ 200は、 複数の LANポート 211〜 214, 221〜 2 24を有しており、 LANポートから入力されたフレームを. > そのフレームの宛 先の MACアドレスに対応する N I Cが接続された LANポートへ転送する。 L ANポート 211〜 214は、 それぞれ LANケーブルを介してサ一バコンピュ —夕 100の N I C 131〜134に接続されている。 また、 LANポート 22 1〜224は、 それぞれ LANケーブルを介してクライアントコンピュータ 30 0, 300 a, 300 b, 300 cに接続されている。
複数のクライアントコンピュータ 300, 300 a, 300 b, 300 cは、 それぞれ We bブラウザ 310, 310 a, 310 b, 310 cを有している。 We bブラウザ 310, 310 a, 310b, 310 cは、 ユーザからの操作入 力に応答して、 WWWサーバ 110が提供するコンテンツの取得要求を出力する。 また、 クライアントコンピュータ 300内には、 トランキング機構部 320と N I C 331とが設けられている。
トランキング機構部 320は、 We bブラウザ 310と N I C 331との間に 設けられている。 トランキング機構部 3 2 0は、 W e bブラウザ 3 1 0から出力 されたコンテンツの取得要求を含むフレームを N I C 3 3 1経由で送信する。 なお、 トランキング機構部 3 2 0は、 分散アルゴリズムテーブル 3 2 1を有し ている。 分散アルゴリズムテーブル 3 2 1は、 サ一バコンピュー夕 1 0 0に対し て送信するデータを複数の N I C 1 3 1〜 1 3 4に負荷分散させるためのァルゴ リズムが定義されている。 分散アルゴリズムテーブル 3 2 1は、 サーバコンピュ 一夕 1 0 0のトランキング機構部 1 2 0からブロードキャストで配信された分散 アルゴリズム通知バケツ卜に基づいて設定される。
トランキング機構部 3 2 0は、 データを送信する際、 分散アルゴリズムテープ ル 3 2 1に基づいて、 サーバコンピュータ 1 0 0に対して送信するフレームの宛 先 MA Cアドレスを決定する。 たとえば、 ラウンドロビン方式によって、 複数の N I C 1 3 1〜1 3 4それぞれに均等にフレーム送信が行われるように M A Cァ ドレスが決定される。
N I C 3 3 1は、 L ANケーブルを介してスィッチンダハブ 2 0 0の L ANポ —ト 2 2 1に接続されており、 スイッチングハプ 2 0 0との間でフレームの送受 信を行う。 N I C 3 3 1の MA Cアドレスは、 「x」 である。
次に、 サ一パコンピュータ 1 0 0の卜ランキング機構部 1 2 0とクライアント コンピュータ 3 0 0の卜ランキング機構部 3 2 0との内部構成について説明する。 図 3は、 トランキング機構部の内部構成を示す図である。 サーバコンピュータ 1 0 0の卜ランキング機構部 1 2 0は、 分散アルゴリズムテーブル 1 2 1、 分散 アルゴリズム通知部 1 2 2、 送信データ負荷分散処理部 1 2 3、 および受信デー 夕受け渡し部 1 2 4を有している。
分散アルゴリズムテーブル 1 2 1には、 クライアントコンピュータ 3 0 0との 間のデ一夕通信に適用する負荷分散アルゴリズムが定義されている。
分散アルゴリズム通知部 1 2 2は、 分散アルゴリズムテ一ブル 1 2 1を参照し、 クライアントコンピュータ 3 0 0に対して、 クライアントコンピュータ 3 0 0か らサ一バコンピュー夕 1 0 0へ送信するデ一夕に関する分散アルゴリズムを通知 する。 分散アルゴリズムは、 分散アルゴリズム通知パケット 2 0により通知され る。 送信デ一夕負荷分散処理部 1 2 3は、 送信デ一夕 1 1 1を受け取ると、 分散ァ ルゴリズムテーブル 1 2 1を参照し、 送信相手となるクライアントコンピュータ 3 0 0に応じた分散アルゴリズムを決定する。 そして、 送信データ負荷分散処理 部 1 2 3は、 決定した分散アルゴリズムに従って、 送信デ一夕 1 1 1を複数の N I C 1 3 1〜1 3 4に振り分けて送信する。
受信データ受け渡し部 1 2 4は、 クライアントコンピュータ 3 0 0から受け取 つたデータを WWWサーバ 1 1 0に渡す。 なお、 受信デ一夕受け渡し部 1 2 4は、 受信デ一夕が分散処理により分割転送され、 複数の N I C 1 3 1〜1 3 4から入 力された場合、 分割されたデータを連結して WWWサーバ 1 1 0に渡す。
クライアントコンピュータ 3 0 0のトランキング機構部 3 2 0は、 分散アルゴ リズムテ一ブル 3 2 1、 分散アルゴリズム取得部 3 2 2、 送信データ負荷分散処 理部 3 2 3、 および受信データ受け渡し部 3 2 4を有している。
分散アルゴリズムテ一プル 3 2 1には、 サ一バコンピュー夕 1 0 0との間のデ —夕通信に適用する負荷分散アルゴリズムが定義されている。
分散アルゴリズム取得部 3 2 2は、 サ一バコンピュー夕 1 0 0から送られてく る分散アルゴリズム通知パケット 2 0を受け取り、 分散アルゴリズムテーブル 3 2 1の内容を更新する。
送信データ負荷分散処理部 3 2 3は、 送信デ一夕 3 1 1を受け取ると、 分散ァ ルゴリズムテ一ブル 3 2 1を参照し、 送信相手となるサ一バコンピュー夕 1 0 0 に応じた分散アルゴリズムを決定する。 そして、 送信データ負荷分散処理部 3 2 3は、 決定した分散アルゴリズムに従つて、 送信デ一夕 3 1 1を構成する複数の データの宛先 M A Cアドレスを複数の N I C 1 3 1〜1 3 4に振り分けて送信す る。
受信デ一夕受け渡し部 3 2 4は、 サ一バコンピュー夕 1 0 0から受け取ったデ —夕を W e bブラウザ 3 1 0に渡す。 なお、 受信デ一夕受け渡し部 3 2 4は、 受 信データが分散処理により分割転送され、 複数の N I C 1 3 1〜1 3 4経由で転 送された場合、 分割されたデ一夕を連結して W e bブラウザ 3 1 0に渡す。
なお、 図 2、 図 3では、 クライアントコンピュータ 3 0 0の構成のみが詳細に 示されているが、 他のクライアントコンピュータ 3 0 0 a, 3 0 0 b , 3 0 0 c も同様の構成である。
このような構成のシステムにより、 複数のクライアントコンビュ一夕 300, 300 a, 300 b, 300 cの We bブラウザ 310, 310 a, 310 b, 310 cからのコンテンツ取得要求がスイッチングハブ 200経由でサーバコン ピュー夕 100に送られる。 すると、 サ一バコンピュ一夕 100内の WWWサ一 ノ 110により、 要求されたコンテンツが配信される。
このとき、 サーバコンピュータ 100とスイッチングハブ 200との間が複数 の L A Nケーブルで接続されているため、 1つの伝送路で接続した場合の 4倍の 帯域幅を得ることができる。 たとえば、 1つの伝送路が 100 Mbpsの帯域幅を 有していれば、 サーバコンピュータ 100とスイッチングハブ 200との間で 4 00Mbpsの速度での通信が可能となる。 これにより、 複数のクライアントコン ピュー夕 300, 300 a, 300 b, 300 cからサーバコンピュータ 100 への同時アクセスに伴う高負荷に耐えることができる。
しかも、 サーバコンピュータ 100からクライアントコンピュータ 300, 3 00 a, 300 b, 300 cへ送信するデータは、 トランキング機構部 120に より各 N I C 131〜134にバランスよく振り分けられるため、 1つの回線に 通信量が偏ることがない。 また, クライアントコンピュータ 300からサーバコ ンピュー夕 100へ送信するデ一夕の宛先は、 トランキング機構部 320によつ て N I C 131〜134にバランスよく振り分けられるため、 1つの回線に通信 量が偏ることがない。
図 4は、 サーバコンピュータのハードウェア構成例を示す図である。 サーバコ ンピュー夕 100は、 CP U (Central Processing Unit) 101によつて装置全体 が制御されている。 C PU 1 0 1には、 バス 1 07を介して R AM(Random Access Memory) 102、 ハードディスクドライブ (HDD:Hard Disk Drive) 103、 グラフィック処理装置 104、 入力イン夕フェース 105、 および複数 の N I C 131〜134が接続されている。
RAM102には、 CPU10 1に実行させる O S (Operating System)のプ ログラムやアプリケ一ションプログラムの少なくとも一部が一時的に格納される。 また、 RAM 102には、 C PU 101による処理に必要な各種データが格納さ れる。 HDD 103には、 OSやアプリケーションプログラムが格納される。 グラフィック処理装置 104には、 モニタ 1 1が接続されている。 グラフイツ ク処理装置 104は、 CPU 101からの命令に従って、 画像をモニタ 11の画 面に表示させる。 入力インタフェース 105には、 キーボード 12とマウス 13 とが接続されている。 入力インタフェース 105は、 キーボード 12やマウス 1 3から送られてくる信号を、 バス 107を介して CPU 101に送信する。 N I C 131〜134は、 それぞれスイッチングハブ 200に接続されている。 以上のようなハードウェア構成によって、 第 1の実施の形態の処理機能を実現 することができる。 なお、 図 4には、 サーバコンピュータ 100のハードウェア 構成を示したが、 クライアン卜コンピュータ 300, 300 a, 300 b, 30 0 cも同様のハードウエア構成で実現できる。 ただし、 クライアントコンピュー 夕 300, 300 a, 300 b, 300 cには、 N I Cは 1つあればよい。 次に、 ザ一バコンピュー夕 100とクライアントコンピュータ 300との間の 通信を例により、 デ一夕通信を行うための処理について説明する。
図 5は、 データ通信処理手順を示すフローチャートである。 図 5には、 左側に サーバコンピュータ 100の処理が示されており、 右側にクライアントコンピュ 一夕 300の処理が示されている。 以下、 図 5に示す処理をステツプ番号に沿つ て説明する。
[ステップ S 1 1] クライアントコンピュータ 300は、 分散アルゴリズム通 知バケツト 20の受信を待つ。
[ステップ S 12] サーバコンピュータ 100は、 システムの起動時等に、 分 散アルゴリズム通知パケット 20を、 ブロードキャストフレームで送信する。
[ステップ S 13] サ一バコンピュー夕 100は、 その後、 クライアントコン ピュ一夕 300からの応答を待つ。
[ステップ S 14] クライアントコンピュータ 300は、 分散アルゴリズム通 知バケツトを受信したか否かを判断する。 分散アルゴリズム通知バケツトを受信 した場合、 処理がステップ S 15に進められる。 分散アルゴリズム通知パケット を受信していない場合、 処理がステップ S 11に進められ、 引き続き分散アルゴ リズム通知パケット 20の受信を待つ。 [ステップ S I 5 ] クライアントコンピュータ 3 0 0は、 サーバコンピュータ 1 0 0から送られた分散アルゴリズム通知パケット 2 0から分散アルゴリズムに 関する情報を抽出し、 分散アルゴリズムテーブル 3 2 1に取り込む。
[ステップ S 1 6 ] クライアントコンピュータ 3 0 0は、 サ一バコンピュ一夕 1 0 0に対して、 分散アルゴリズム通知パケットに関する応答を送信する。
[ステップ S 1 7 ] サーバコンピュータ 1 0 0は、 一定時間内に応答を受信し たか否かを判断する。 一定時間内に応答を受信した場合、 処理がステップ S 1 8 に進められる。 一定時間内に応答を受信しなかった場合、 処理がステップ S 1 2 に進められ、 再度、 分散アルゴリズム通知パケット 2 0が送信される。
[ステップ S 1 8 ] サーバコンピュータ 1 0 0は、 応答内容を確認し、 通信相 手の MA Cアドレスを含む情報を分散アルゴリズムテーブル 1 2 1に追加する。
[ステップ S 1 9 ] サーバコンピュータ 1 0 0は、 クライアントコンピュータ 3 0 0との通信を開始する。
[ステップ S 2 0 ] クライアントコンピュータ 3 0 0は、 サーバコンピュータ 1 0 0との通信を開始する。
[ステップ S 2 1 ] サーバコンピュータ 1 0 0は、 分散アルゴリズムに従って データを送信する。
[ステップ S 2 2 ] クライアントコンピュータ 3 0 0は、 分散アルゴリズムに 従ったデータを送信する。
このようにして、 サーバコンピュータ 1 0 0からクライアントコンピュータ 3 0 0へ分散アルゴリズム通知バケツ 1、が送信され、 分散アルゴリズムが通知され る。 その結果、 クライアントコンピュータ 3 0 0側でもサーバコンビュ一夕 1 0 0の N I Cの構成を認識に、 それらの N I Cに負荷分散させたデータ送信が可能 となる。
図 6は、 分散アルゴリズム通知処理を示す概念図である。 トランキング機構部 1 2 0内の分散アルゴリズム通知部 1 2 2は、 クライアントコンピュータ 3 0 0, 3 0 0 a , 3 0 0 b , 3 0 0 cとの通信に先立ち、 分散アルゴリズム通知バケツ ト 2 0を生成し、 任意の N I Cを介してイーサネット (登録商標) のフレームに 載せて、 プロ一ドキャストで送信する。 これにより、 分散アルゴリズム通知パケ ット 20が各クライアントコンピュータ 300, 300 a, 300 b, 300 c に渡される。 例えば、 ラウンドロビン方式による受信分散を行いたい場合、 自分 宛のデ一夕は N I C 131〜134を、 ラウンドロビン方式を使って送信するよ うに、 分散アルゴリズム通知バケツ卜 20を送信する。
また、 分散アルゴリズム通知パケット 20を受け取ったクライアントコンピュ —夕 300, 300 a, 300 b, 300 cからは、 応答パケットがサ一バコン ピュー夕 100に送信される。
ここで、 分散アルゴリズムの通知および応答等を行う際のフレーム構成につい て説明する。
図 7は、 分散アルゴリズム通知パケットのためのフレーム構成を示す図である。 フレーム 30は、 相手 MACアドレス 31、 自 MACアドレス 32、 プロトコル 識別子 33、 コマンド部 34、 およびデータ部 35で構成される。
相手 MACアドレス 31は、 フレームの送信先を示す MACァドレスの設定領 域である。 分散アルゴリズム通知バケツト 20の場合、 プロ一ドキャス卜転送を 示す値 rFF-FF-FF-FF-FF-FF'J が設定される。 クライアントコンピュータ 30 0, 300 a, 300 b, 300 cの N I Cの MA Cアドレスが既知となった後 に、 分散アルゴリズムの追加等を行う場合、 相手 MACアドレス 31には、 送信 相手の N I Cの MACァドレスが設定される。 複数の分散アルゴリズム通知パケ ッ卜 20を送信することもできる。
自 MACアドレス 32には、 ザ一バコンピュー夕 100自身の N I Cの MAC ァドレスが設定される。 サーバコンピュータ 100は、 任意の N I Cを選択して 分散アルゴリズム通知バケツト 20を送信するための、 その選択された N I Cの MACアドレスが、 自 MACアドレス 32に設定される。
プロトコル識別子 33には、 分散アルゴリズム通知バケツトであることを表す 識別子が設定される。 クライアントコンピュ一夕 300, 300 a, 300 b, 300 c側では、 プロトコル識別子を確認することで、 受信したパケットが分散 アルゴリズム通知バケツト 20であることを認識する。
コマンド部 34には、 情報パケットの種別が設定される。 種別には、 広報、 追 カロ、 削除、 および応答がある。 パケット種別 「広報」 は、 分散アルゴリズムデータの広報 (ブロードキャス ト) であることを示している。 システム運用開始時は、 コマンド部 24に 「広 報」 を設定した分散アルゴリズム通知パケット 20が送信される。 コマンド部 3 4に 「広報」 と設定されたフレームは、 サ一バコンピュー夕 100からクライァ ントコンピュータ 300, 300 a, 300 b, 300 cに送信される。
パケット種別 「追加」 は、 分散アルゴリズムデータの追加指示であることを示 している。 コマンド部 34に 「追加」 と設定されたフレームは、 サ一バコンピュ —夕 100からクライアントコンピュータ 300, 300 a, 300 b, 300 cに送信される。
パケット種別 「削除」 は、 分散アルゴリズムデータの削除指示であることを示 している。 コマンド部 34に 「削除」 と設定されたフレームは、 サ一バコンピュ —夕 100からクライアントコンピュータ 300, 300 a, 300 b, 300 cに送信される。
パケット種別 「応答」 は、 広報、 追加、 削除指示に対する応答であることを示 している。 コマンド部 34に 「応答」 と設定されたフレームは、 クライアントコ ンピュ一夕 300, 300 a, 300 b, 300 cからサ一パコンピュータ 10 0に送信される。
データ部 35には、 分散ァルゴリズムデー夕の内容が設定される。 具体的には、 サ一バコンピュー夕 100のノ一ド名、 クライアントコンピュータ 300, 30 0 a, 300 b, 300 cのノード名、 アプリケーション名、 分散アルゴリズム、 サーバコンピュータ 100の NI C 131〜134の MA Cアドレス等の情報が データ部 35に設定される。 なお、 サ一バコンピュータ 100が複数のコンビュ 一夕で構成されるクラス夕構成の場合、 N I C 131〜134の MACアドレス への付帯情報として、 その N I Cが実装されているコンピュータのノード名が追 加される。
なお、 データ部 35の内容は、 クライアントコンピュータ 300, 300 a, 300 b, 300 c毎のリスト構造になっており、 各クライアントコンピュータ 300, 300 a, 300 b, 300 cは自分に対応する情報のみを抽出して、 分散アルゴリズムテ一ブルに設定する。 イーサネット (登録商標) の場合、 それぞれの N I C 1 3 1〜 1 3 4は MA C アドレスと呼ばれる一意のネットワークアドレスを持っている。 そのため、 各ク ライアントコンピュータ 3 0 0, 3 0 0 a , 3 0 0 b , 3 0 0 cは、 サ一バコン ピュー夕 1 0 0から通知された 4枚の N I C 1 3 1〜1 3 4の MA Cアドレス宛 にイーサネットフレ一ムをラウンドロビン方式で送信することで、 スイッチング ハブ 2 0 0がトランキング機能を持っていなくても、 スイッチングハブ 2 0 0に よるトランキング機能と同等の分散処理が可能となる。
ここで、 もし A R P (Address Resolution Protocol)等のィン夕一ネットプロト コルを使用してクライアントコンピュータ 3 0 0, 3 0 0 a , 3 0 0 b , 3 0 0 cヘアドレス情報を通知した場合、 通知できる MA Cアドレスは 1つのみである。 また、 A R Pでは、 分散アルゴリズム情報は通知できない。 そのため、 クライア ントコンピュ一夕 3 0 0, 3 0 0 a , 3 0 0 b, 3 0 0 cそれぞれからサーバコ ンピュー夕 1 0 0へ送信するデ一夕において使用可能な N I Cは 1枚のみとなつ てしまう。 例えば、 1台のクライアントコンピュータ 3 0 0から大量のデータが サーバコンピュータ 1 0 0に送信される場合、 受信データは 4枚中、 特定の 1枚 しか使用されずトランキングは実行されない。 第 1の実施の形態では、 このよう な場合であっても、 トランキングによる負荷分散が可能である。
図 8は、 分散アルゴリズム通知バケツ卜のデ一夕部の内容例を示す図である。 図 8は、 f t p (File Transfer Protocol)によるフアイル転送を、 ラウンドロビン によって負荷分散する場合のデータ部 3 5の例である。
データ部 3 5には、 自ノード名、 相手ノード名、 アプリケーション名、 使用ァ ルゴリズムおよび使用 N I Cの MA Cアドレスが、 相手ノード名毎に設定されて いる。 自ノード名は 「hostA」 である。 相手ノード名は、 「hostB」 、 「hostC」 、 「hostD」 、 「hostE」 である。 アプリケーション名は 「ftp」 であ る。 使用アルゴリズムは 「ラウンドロビン」 である。 MA Cアドレスの項目には、 N I C 1 3 1〜 1 3 4それぞれの MA Cアドレス 「a」 、 「b」 、 「c j 、 「d」 が設定される。
このような分散アルゴリズム通知バケツ卜 2 0等により分散アルゴリズムがク ライアントコンピュータ 3 0 0, 3 0 0 a , 3 0 0 b , 3 0 0 cに通知されると、 通知された内容が分散アルゴリズムテーブルに追加される。 その結果、 サーバコ ンピュー夕 100とクライアントコンピュータ 300, 300 a, 300 b, 3
00 cとの双方に分散アルゴリズムテーブルが構築され、 分散アルゴリズムテー ブルに従つた負荷分散が行われる。
図 9は、 サーバコンピュータ側の分散アルゴリズムテ一ブルのデ一夕構造例を 示す図である。 分散アルゴリズムテーブル 121には、 自ノード名、 相手ノード 名、 アプリケーション名、 アルゴリズム、 自 N I C:、 相手 N I C、 およびフラグ の欄が設けられている。 各欄の横方向に並べられた情報同士が互いに関連づけら れ、 レコードを構成している。
自ノード名は、 サ一バコンピュー夕 100のノード名 (たとえば I Pァドレ ス) である。
相手ノード名は、 通信する相手のクライアントコンピュータ 300, 300 a, 300 b, 300 cのノード名 (たとえば、 I Pアドレス) である。
アプリケ一ション名は、 分散対象となるァプリケ一シヨンの名称 (telnet'ftp 等である。
アルゴリズムは、 アプリケーション名で指定したアプリケ一ションのデ一夕送 受信を行う際に使用する分散アルゴリズム (たとえば、 ラウンドロビン-. 固定 N
1 C、 TCPコネクション数均等分散等) である。
自 N I Cは、 サーバコンピュータ 100の N I C 131〜: L 34の MACアド レスである。 自 N I Cが複数存在する場合は、 カンマで区切って、 リスト形式で 表される。
相手 N I Cは、 相手側であるクライアントコンピュータ 300, 300 a, 3 00 b, 300 cの N I Cの MACアドレス (複数ある場合はリスト形式で格納) である。
フラグは、 レコードのテ一ブル情報の有効 Z無効を示している。 フラグが有効 の場合、 分散アルゴリズムの交換が完了し、 通信可状態であることを示す。 フラ グが無効の場合、 分散アルゴリズムの交換が未完了であり、 通信不可状態である ことを示す。
このようなテ一ブル構造により、 相手ノード毎の分散アルゴリズム、 あるいは 使用する N I Cの指定が可能となる。 また、 アプリケーション毎の分散アルゴリ ズム、 あるいは使用する N I Cの指定が可能となる。
なお、 図 9には、 サーバコンピュータ 1 0 0側の分散アルゴリズムテーブル 1 2 1を示したが、 クライアントコンピュータ 3 0 0側の分散アルゴリズムテ一ブ ル 3 2 1も同様のデータ構造である。 クライアントコンピュータ 3 0 0は N I C 3 3 1が 1つだけであるため、 自 N I Cには 1つの MA Cアドレスが設定され、 相手 N I Cにはサーバコンピュータ 1 0 0内の N I C 1 3 1〜1 3 4の MA Cァ ドレスが設定される。
図 1 0は、 分散アルゴリズム通知バケツトに応じた分散アルゴリズムテーブル の登録例を示す図である。 図 1 0に示すように、 まず、 サーバコンピュータ 1 0 0からクライアントコンピュータ 3 0 0へ、 広報の分散アルゴリズム通知バケツ ト 2 0 aが送信される。 図 1 0の例では、 自ノ一ド名 rhostAJ 、 相手ノード名 rhostBj 、 アプリケーション名 rftpj 、 アルゴリズム 「ラウンドロビン」 、 自 N I C 「a,b,c,d」 である。
この分散アルゴリズム通知パケット 2 0 aを受け取ったクライアントコンビュ 一夕 3 0 0は、 分散アルゴリズム通知バケツト 2 0 aの自ノード名と相手ノード 名を入れ替え., 自 N I Cを相手 N I Cとして、 分散アルゴリズムテーブル 3 2 1 に登録する。 次に、 クライアントコンピュータ 3 0 0は、 登録したレコ一ドの自 N I Cに自分の N I C 3 3 1の MA Cアドレス 「x」 を設定し、 フラグを 「有 効」 にする。 そして、 クライアントコンビュ一夕 3 0 0は、 自分の N I C 3 3 1 の MA Cアドレス 「 を含む応答の分散アルゴリズム通知パケット 2 0 bをサ —バコンピュータ 1 0 0に送信する。
サーバコンピュータ 1 0 0では、 応答の分散アルゴリズム通知パケッ卜 2 0 b を受け取ると、 分散アルゴリズム通知パケット 2 0 aの内容に、 相手 N I C 「X」 、 フラグ 「有効」 を追加したレコードを分散アルゴリズムテーブル 1 2 1 に登録する。
このようにして構築された分散アルゴリズムテ一ブルに基づいて、 サ一バコン ピュー夕 1 0 0とクライアントコンピュータ 3 0 0との間で負荷を分散させたデ 一夕通信が行われる。 図 11は、 サーバコンピュータから送信するデータの負荷分散処理状況を示す 図である。 この例では、 ラウンドロビンの分散アルゴリズムに従って負荷分散が 行われている。 ラウンドロビン方式の場合、 複数の N I C 131〜134に対し て、 所定の順番でデータが割り振られる。 たとえば、 N I C 131、 N I C 13 2、 N I C 133、 NI C 134の順番である。 N I C 134の次は、 N I C 1 31にデータが割り振られる。
WWWサーバ 110からクライアントコンピュータ 300宛の送信デ一夕 11 1がトランキング機構部 120に渡される。 ここで、 送信データ 111は、 6つ のデータに分割して送信されるものとする。 ここで、 分割されたデータを 「D 1」 、 「D2」 、 「D3J 、 「D4」 、 「D5」 、 「D6」 とする。
送信データ 111は、 トランキング機構部 120によって、 ラウンドロビン方 式で複数の N I C 131〜134に振り分けられる。 その結果、 「D 1」 のデー 夕は、 N I C 1 31を介してクライアントコンピュータ 300に送信される。 「D 2」 のデ一夕は、 N I C 132を介してクライアントコンピュータ 300に 送信される。 「D3」 のデ一夕は、 N I C 133を介してクライアントコンビュ —夕 300に送信される。 「D4」 のデ一夕は、 N I C 134を介してクライア ントコンピュー夕 300に送信される。 「D5」 のデータは、 N I C 131を介 してクライアントコンピュータ 300に送信される。 「D 6」 のデ一夕は、 N I C 136を介してクライアントコンピュータ 300に送信される。
このようにして、 サーバコンピュータ 100からクライアントコンピュータ 3 00宛の送信データ 111が伝送路の負荷を分散させてスイッチングハプ 200 に渡され、 その後、 クライアントコンピュータ 300に渡される。
図 12は、 クライアントコンピュータから送信するデ一夕の負荷分散処理状況 を示す図である。 この例では、 ラウンドロビンの分散アルゴリズムに従って負荷 分散が行われている。
クライアントコンピュータ 300から WWWサーバ 110宛の送信デ一夕 31 1がトランキング機構部 320に渡される。 ここで、 送信デ一夕 31 1は、 4つ のデータに分割して送信されるものとする。 ここで、 分割されたデ一夕を 「D 1 1」 、 「D 12」 、 「D 13」 、 「D 14」 とする。 送信デ一夕 3 1 1は、 トランキング機構部 3 2 0によって、 ラウンドロビン方 式で複数の N I C 1 3 1〜1 3 4に振り分けられる。 振り分けられた各データは、 そのデータを送信するフレームの宛先 MA Cアドレスに、 振り分け対象の N I C の MA Cアドレスが設定される。 スイッチングハブ 2 0 0は、 宛先 MA Cァドレ スを参照して送出する L ANポ一卜を決定するため、 各データは、 振り分けられ た N I Cに対して送信される。 図 1 2の例では 「D 1 1」 のデータは、 サーバコ ンピュ一夕 1 0 0の N I C 1 3 1に送信される。 「D 1 2」 のデ一夕は、 サーバ コンピュータ 1 0 0の N I C 1 3 2に送信される。 「D 1 3」 のデータは、 サー バコンピュー夕 1 0 0の N I C 1 3 3に送信される。 「D 1 4 j のデ一夕は、 サ —バコンピュー夕 1 0 0の N I C 1 3 4に送信される。
このようにして、 クライアントコンピュータ 3 0 0からサ一バコンピュー夕 1 0 0宛の送信データ 3 1 1がスィッチンダハブ 2 0 0を介し、 複数の伝送路に負 荷を分散させてサーバコンピュータ 1 0 0に渡される。
以上のようにして、 スイッチングハブ 2 0 0がトランキング機構を有していな くても、 サ一バコンピュー夕 1 0 0とスイッチングハブ 2 0 0との間の複数の伝 送路に負荷を分散させたデ一夕通信が可能となる。 そのため、 卜ランキングによ るシステムを構築する際, トランキングに対応していない任意のスイッチングハ プを使用することができ、 選択肢の幅が広がる。
また、 それぞれのクライアントコンピュータ 3 0 0 , 3 0 0 a , 3 0 0 b , 3 0 0 cが分散アルゴリズム情報を持っため、 1対 1の 2台の装置間のみの通信で あっても、 トランキングによる送受信分散が実現でき、 トランキング対応スイツ チ使用時と全く同等の帯域向上を実現できる。
しかも、 クライアントコンピュータ 3 0 0 , 3 0 0 a , 3 0 0 b , 3 0 0 cに おいて負荷分散を管理するため、 アプリケーションに応じた分散アルゴリズムを 指定できる。 すなわち、 従来のようにスイッチングハブ 2 0 0でトランキング処 理を行わせた場合は、 スイッチングハブが O S I階層モデルのデータリンク層で 機能するためアプリケ一ションの判別はできず、 ァプリケーシヨンに応じたトラ ンキングができなかった。 第 1の実施の形態では、 クライアントコンピュータ 3 0 0によりアプリケーションに応じた分散アルゴリズの指定が可能であるため、 柔軟性の高い卜ランキング機構を提供することができる。
[第 2の実施の形態]
次に、 本発明の第 2の実施の形態について説明する。 第 2の実施の形態は、 複 数のサ一バコンピュー夕が協働して動作することでクラスタを構成している場合 に、 そのシステムに本発明を適用した例である。
図 13は、 第 2の実施の形態のシステム構成例を示す図である。 第 2の実施の 形態では、 2台のサ一バコンピュ一夕 100 a, 100 bがシステム間通信パス 40で相互に接続されている。 システム間通信パス 40は、 LANに比べて高速 の通信が可能な通信インタフェースである。 なお、 サーバコンピュータ 100 a, 100 b以外の構成要素は、 第 1の実施の形態と同様であるため図 2に示した第 1の実施の形態と同じ符号を付し、 説明を省略する。
サ一バコンピュータ 100 aは、 WWWサーバ 110 a、 トランキング機構部 120 a, N I C 131 a, 132 aを有している。 トランキング機構部 120 aは、 分散アルゴリズムテーブル 121 aを有している。 同様に、 サーバコンビ ユー夕 100 bは、 卜ランキング機構部 120 b、 N I C 131 b, 132 bを 有している。 卜ランキング機構部 120 bは、 分散アルゴリズムテーブル 121 bを有している。
このように各サーバコンピュータ 100 a, 100 bは、 それぞれ 2枚の N I C 131 a, 132 a, 131 b、 132 bを持っているが、 ハードウェアの仕 様制限により、 それより多い枚数の N I Cは装着できないものとする。
サーバコンピュータ 100 aとサーバコンピュータ 100 bとのトランキング 機構部 120 a, 120 bは、 システム間通信パス 40を通して、 トランキング のための分散アルゴリズテーブル 121 a, 121 bに登録されている制御情報 を共有している。
ここで、 トランキング機構部 120 a, 120 bは、 クライアントコンビュ一 夕 300, 300 a, 300 b, 300 cに対して、 それぞれ N I C 131 a , 132 a, 131 b, 132 bを使用してデータ送受信を行うようにトランキン グの制御情報が登録された分散アルゴリズムテーブルを有している。
図 14は、 第 2の実施の形態に係る分散アルゴリズムテーブルのデータ構造例 を示す図である。 分散アルゴリズムテーブル 121 aのデータ構造は、 自 N I C を除き、 図 9に示した第 1の実施の形態の分散アルゴリズムテーブル 121と同 じである。
自 N I Cには、 複数のサ一バコンピュ一夕 100 a, 100 b双方に実装され ている NI C 131 a, 132 a, 131 , 132 bのうち、 対応するアプリ ケーシヨンのデータ転送に使用する N I Cの MACアドレスが設定されている。 また、 自 NI Cでは、 かっこ内に実装計算機名が設定されている。 実装計算機名 は、 各 N I Cを実装しているサ一バコンピュ一夕の名称 (識別名) である。
このような環境で、 WWWサ一バ 110 aが、 クライアントコンピュータ 30 0, 300 a, 300 b, 300 cの 4台とラウンドロビン方式によるデ一夕送 受信分散を行いたい場合、 システム起動時にサーバコンピュータ 100 a, 10 0 b間で以下の処理が行われる。
図 15は、 第 2の実施の形態におけるシステム起動時の処理手順を示すフロー チヤ一卜である。 以下、 図 15に示す処理をステップ番号に沿って説明する。
[ステップ S 31] サーバコンピュータ 100 aの卜ランキング機構部 120 aは、 第 1の実施の形態と同様に分散アルゴリズムテーブル 121 aを生成する。 なお, 分散アルゴリズムテ一プル 121 a自には、 トランキング機構部 120 a は分散アルゴリズム通知パケット 20をブロードキャストで配信するが、 このと きの分散アルゴリズム通知バケツト 20の自 N I Cには、 サーバコンピュータ 1 00 aとサーバコンピュータ 100 bとの N I C 131 a, 132 a, 131 b, 132 bの MACアドレスが含まれる。 さらに、 その MACアドレスには、 N I C 131 a, 132 a, 131 b, 132 bが実装されているサ一バコンピュー 夕のノード名が付与される。
[ステップ S 32] トランキング機構部 120 aは、 サ一バコンピュー夕 10 0 aが他のサーバコンピュータと協働してクラスタを構成しているか否かを判断 する。 複数台のサーバコンビュ一夕で構成される場合、 処理がステップ S 33に すすめられる。 1台のサーバコンピュータ 100 aで構成している場合、 処理が ステップ S 36に進められる。
[ステップ S 33] トランキング機構部 120 aは、 専用のシステム間通信パ ス 40を使用し、 分散アルゴリズムテ一ブル 121 aの内容をサーバコンピュー 夕 100 bへ送信する。
[ステップ S 34] サ一バコンピュー夕 100 bのトランキング機構部 120 bは、 サーバコンピュータ 100 aから受信した分散アルゴリズムテ一ブル 12 1 aの内容に基づいて、 自身の分散アルゴリズムテーブル 121 bを生成する。
[ステップ S 35] トランキング機構部 120 bは、 サ一バコンピュ一夕 10 0 aに対して、 応答を送信する。
[ステップ S 36] サ一バコンピュ一夕 100 aは、 クライアントコンビュ一 夕 300, 300 a, 300 b, 300 cとの間の通信を開始する。
[ステップ S 37] 同様に、 サーバコンピュータ 100 bは、 クライアントコ ンピュー夕 300, 300 a, 300 b, 300 cとの間の通信を開始する。 このように、 システム起動時に分散アルゴリズムテーブルの共通化が行われる ことで、 複数のサーバコンピュータ 100 a, 100 bを用いたクラス夕システ ムによる卜ランキングが可能となる。 トランキングによる負荷分散により以下の ようなデータ転送が行われる。
図 16は、 複数のサ一バコンピュー夕を用いたときのデータ送信手順を示す図 である。 以下、. 図 16に示す処理をステップ番号に沿って説明する。
[ステップ S 41] サ一バコンピュ一夕 100 bのトランキング機構部 120 bは、 サーバコンピュータ 100 aからのイベント待ち状態を維持している。
[ステップ S 42] サ一バコンピュー夕 100 aのトランキング機構部 120 aは、 WWWサーバ 110 aからのイベント待ち状態を維持している。
[ステップ S 43] 何らかのイベントが発生すると、 トランキング機構部 12 0 aは、 発生したイベントが WWWサーバ 110 aからのデータ送信依頼か否か を判断する。 データ送信依頼であれば、 処理がステップ S 45に進められる。 デ 一夕送信依頼以外のイベントであれば、 処理がステップ S 44に進められる。
[ステップ S44] トランキング機構部 120 aは、 発生したイベントに応じ たデ一夕送信以外の処理を実行する。 その後、 処理がステップ S 42に進められ 再度イベント待ちとなる。
[ステップ S 45] トランキング機構部 120 aは、 分散アルゴリズムテ一ブ ル 121 aを検索し、 送信に使用する N I Cを決定する。 具体的には、 トランキ ング機構部 120 aは、 分散アルゴリズムテ一ブル 121 aを参照し、 送信相手、 アプリケーション名等から分散アルゴリズムを決定する。 そして、 決定された分 散アルゴリズムに従って、 送信に使用する N I Cを決定する。
[ステップ S46] トランキング機構部 120 aは、 分散アルゴリズムテープ ル 121 aから送信に使用する N I Cが実装されているサーバコンピュータの装 置名を取り出す。
[ステップ S 47] トランキング機構部 120 aは、 使用する N I Cが、 サ一 バコンピュー夕 100 a自身に実装された N I Cか否かを判断する。 サ一バコン ピュー夕 100 aに実装された N I Cであれば、 処理がステップ S 49に進めら れる。 他のサ一バコンピュー夕に実装された N I。であれば、 処理がステップ S 48に進められる。
[ステツプ S 48] トランキング機構部 120 aは、 システム間通信パス 40 を使用し、 WWWサーバ 110 aからのデ一夕を他のサーバコンピュータ 100 bへ転送する。 その後、 サーバコンピュータ 100 a側の処理が終了し、 サーバ コンピュータ 100 b側のトランキング機構部 120 bのステップ S 50に処理 が移行する。
[ステツプ S 49 ] トランキング機構部 120 aは、 ステップ S 45で決定さ れた N I Cを介して、 デ一夕をクライアントコンピュータに送信する。
[ステップ S 50] サーバコンピュータ 100 bのトランキング機構部 120 bは、 自身の分散アルゴリズムテーブル 121 b内を検索し、 送信に使用する N
1 Cを決定する。
[ステップ S 51] トランキング機構部 120 bは、 ステップ S 50で決定し た N I Cを介して、 デ一夕をクライアントコンピュータへ送信する。
図 17は、 複数のサ一バコンピュー夕を用いた場合のデータ送信状況を示す図 である。 サーバコンピュータ 100 aの We bアプリケーション 110 aが送信 デ一夕 111 aをトランキング機構部 120 aに渡すと、 トランキング機構部 1
20 aが送信データ 111 aを複数のデータに分割し、 複数の N I C 131 a, 132 a, 131 b, 132 bに振り分ける。 図 17の例では、 送信デ一夕 11 1 aが 4つのデータに分割されるものとし、 それぞれのデータを 「D 21J 、 「D 22」 、 「D 23」 、 「D 24」 とする。
送信データ 111は、 トランキング機構部 120によって、 ラウンドロビン方 式で複数の N I C 131 a, 132 a, 131 b, 132 bに振り分けられる。 その結果、 「D 11」 のデ一夕は、 N I C 131 aを介してクライアントコンビ ュ一夕 300に送信される。 「D22」 のデータは、 N I C 132 aを介してク ライアントコンピュータ 300に送信される。 「D23」 のデータは、 システム 間通信パス 40を介してサーバコンピュータ 100 bのトランキング機構部 12 0 bに送られた後、 トランキング機構部 120 bで振り分けられ N I C 131 b を介してクライアントコンピュータ 300に送信される。 「D 24」 のデータは、 システム間通信パス 40を介してサ一バコンピュー夕 100 bのトランキング機 構部 120 bに送られた後、 卜ランキング機構部 120 bで振り分けられ N I C 132 bを介してクライアントコンピュータ 300に送信される。
この後のデ一夕転送については、 再び N I C 131 aから順番に使用される。 このようにして、 サーバコンピュータ 100 a, 100 bからクライアントコ ンピュー夕 300, 300 a, 300 b, 300 c宛の送信デ一タ 111 aが負 荷分散をさせてスイッチングハブ 200に渡され、 その後、 クライアントコンビ ユー夕 300, 300 a, 300 b, 300 cに渡される。
一方、 クライアン卜コンピュータ 300, 300 a, 300 b, 300 cから サーバコンピュータ 100 aへ送信するデータの分散処理を行う場合、 クライア ントコンピュータ 300, 300 a, 300 b, 300 cは、 通信に先立ってサ —バコンピュー夕 100 aから送信された分散アルゴリズム通知バケツ卜に基づ いて分散方式を判断する。 これによりクライアントコンピュータ 300, 300 a, 300 b, 300 cからサ一バコンピュ一夕 100 aに送られるデータが、 各 N I C 131 a, 132 a, 131 b, 132 bに分散して送信される。 この とき N I C 131 b, 132 bに対して送信されたデータは、 トランキング機構 部 120 bによって、 システム間通信パス 40を経由して WWWサーバ 110 a に渡される。
このように、 分散アルゴリズムテーブルの内容を統一しておくことで、 複数の サーバコンピュ一夕を用いてトランキング処理を行うことができる。 その結果、 使用するサーバコンピュータ 100 aのハード仕様 (N I C実装の上限値) に依 存せずに、 使用 N I C枚数を増やしてトランキングを実現することができる。
[第 3の実施の形態]
次に、 第 3の実施の形態について説明する。 第 3の実施の形態は、 システムの 運用を停止させずに N I Cの追加削除を可能にしたものである。
図 18は、 N I Cを 1枚増設する場合の原理説明図である。 サ一バコンピュ一 夕 100 cは、 WWWサーバ 1 10 c、 トランキング機構部 120 c、 N I C 1 31 c, 132 c, 133 c, 134 c、 135および N I C追加 Z切り離し制 御部 140を有している。 卜ランキング機構部 210 cは、 分散アルゴリズムテ —ブル 121 cが設けられている。 なお、 N I C 1 35は、 新たに追加実装され たものである。
サーバコンピュータ 100 cの管理者は、 装着された予備の N I C 1 35を、 LANケーブルでスイッチングハブ 200に接続する。 ここで、 スィツチング八 プ 200には卜ランキングの設定はされていないため、 スイッチングハプ 200 をリセットすることなく、 接続後は直ちに通信に使用することが可能である。 言 い換えると 卜ランキング対応のスィッチンダハブが使用されていた場合には、 設定変更のために、 すでに接続されている N I Cの通信を一旦停止させる必要が ある。
一方、 サーバコンピュータ 100 cは、 新たに追加した N I C 1 35をトラン キング対象に追加する必要がある。 ここで、 サーバコンピュータ 100 cの N I C追加 Z切り離し制御部 140は、 N I C 135の追加を自動認識し、 N I C 1 35の追加に応じた情報を分散アルゴリズムテーブル 12 1 cに登録する。 なお、 N I C 1 35の追加の自動認識を待たずに、 アプリケーションやオペレー夕から の指示に応じて、 分散アルゴリズムテーブル 121 cを更新することもできる。 具体的には、 N I C追加/切り離し制御部 140は、 N I C 1 35を追加する 場合、 その内容をプログラム間通信を利用して、 トランキング機構部 120じへ 通知する。 通知を受けたトランキング機構部 120 cは、 対象の N I Cを分散ァ ルゴリズムテーブル 12 1 c内の分散対象に加える。 この際、 トランキング機構 部 120 cは、 更新内容を分散アルゴリズム通知パケットによって、 各クライア ントコンピュ一夕 300, 300 a, 300 b, 300 cに通知する。 以後、 卜 ランキング機構部 120 cは、 デ一夕送信時に N I C 135を含めてデータ送信 の負荷分散を行う。
また、 クライアントコンピュータ 300, 300 a, 300 b, 300 cには、 分散アルゴリズム通知バケツ卜によって N I C 135の追加が通知され、 通知内 容に従ってクライアントコンピュータ 300, 300 a, 300 b, 300 c内 の分散アルゴリズムテーブルが更新される。 したがって、 クライアントコンビュ 一夕 300, 300 a, 300 b, 300 cからサ一バコンピュ一夕 100 cに 送信するデータに関しても、 更新された分散アルゴリズムテーブルに従って、 N I C 135を含めてデータ送信の負荷分散が行われる。
以下に、 サ一パコンピュータ 100 cとクライアントコンピュータ 300との 間の処理を例に採り、 N I C追加時の分散アルゴリズムテーブル更新手順につい て説明する。
図 19は、 N I C追加時の分散アルゴリズムテーブル更新手順を示すフローチ ャ一トである。 以下、 図 19に示す処理をステップ番号に沿って説明する。
[ステップ S 61] クライアントコンピュータ 300のトランキング機構部 3 20は、 分散アルゴリズム通知バケツ卜の受信を待つ。
[ステップ S 62] サーバコンピュータ 100 cの N I C追加 Z切り離し制御 部 140は、 イベントの発生を待つ。
ここで、 N I C 135が追加されると、 I /〇割り込みが発生する。
[ステップ S 63] N I C追加 切り離し制御部 140は、 I/O割り込みの 内容を判断する。 N I C追加であれば処理がステップ S 65に進められる。 N I C追加以外 I/O割り込みであれば、 処理がステップ S 64に進められる。
[ステップ S 64] N I C追加 切り離し制御部 140は、 I/ 割り込みに 応じた処理を実行し、 その後、 処理を終了する。
[ステップ S 65] N I C追加 Z切り離し制御部 140は、 追加された N I C 135の情報を I ZOテーブルから取り出す。 なお、 IZOテーブルは、 OSに よって管理されている I/O割り込みに応じた情報が定義されたデータテーブル である。 そして、 N I C追加 Z切り離し制御部 1 4 0は、 N I Cの追加を卜ラン キング機構部 1 2 0 cに指示する。
[ステップ S 6 6 ] トランキング機構部 1 2 0 cは、 パケットの種別を追加と した分散アルゴリズム通知バケツトを生成し、 クライアントコンピュータ 3 0 0 に対して送信する。 これにより、 クライアントコンピュータ 3 0 0に対して、 追 加された N I C 1 3 5の情報が通知される。
[ステップ S 6 7 ] トランキング機構部 1 2 0 cは、 応答の受信待ち状態とな る。
[ステップ S 6 8 ] クライアントコンピュータ 3 0 0のトランキング機構部 3 2 0は、 分散アルゴリズム通知バケツトの受信の有無を判断する。 受信した場合、 処理がステップ S 6 9に進められる。 受信していない場合、 処理がステップ S 6 1に進められ、 引き続きパケットの受信を待つ。
[ステップ S 6 9 ] 卜ランキング機構部 3 2 0は、. 分散アルゴリズム通知パケ ッ卜が、 新規に実装された N I Cの追加指示か否かを判断する。 これは、 バケツ 卜の種別が 「追加」 か否かで判断できる。 N I Cの追加指示の場合、 処理がステ ップ S 7 1に進められる。 N I Cの追加指示以外の指示 (たとえば、 N I Cの削 除) の場合., 処理がステップ S 7 0に進められる。
[ステップ S 7 0 ] トランキング機構部 3 2 0は、 分散アルゴリズム通知パケ ッ卜で指示された処理 (N I C追加以外の処理) を実行する。 その後、 処理がス テツプ S 6 1に進められる。
[ステップ S 7 1 ] トランキング機構部 3 2 0は、 分散アルゴリズム通知パケ ッ卜で指示された新規の N I Cを自身の分散アルゴリズムテーブル 3 2 1に追加 する。
[ステップ S 7 2 ] トランキング機構部 3 2 0は、 サーバコンピュータ 1 0 0 Cに対して応答のパケットを送信する。
[ステップ S 7 3 ] サ一バコンピュー夕 1 0 0 cのトランキング機構部 1 2 0 cは、 一定時間内に応答があつたか否かを判断する。 応答があった場合、 処理が ステップ S 7 4に進められる。 応答がない場合、 処理がステップ S 6 6に進めら れる。 · [ステップ S 74] トランキング機構部 1 2 0 cは、 応答を確認後、 分散アル ゴリズムテ一ブル 1 2 1 cに、 新規に追加された N I Cの情報を追加する。
[ステップ S 7 5] サ一バコンピュー夕 1 0 0 cのトランキング機構部 1 2 0 cとクライアントコンピュータ 30 0のトランキング機構部 32 0とは、 新規に 追加された N I Cを通信経路に含めたデータ通信を開始する。
以上のようにして、 新規の N I Cを追加することができる。 この動作は、 WW Wサーバ 1 1 0 c等のアプリケーションの通信とは独立して並列に実行されるた め、 それまでやりとりされている他の N I C 1 3 1 c, 1 3 2 c, 1 3 3 c, 1 34 c上の通信デ一夕には影響がない。 しかも、 スイッチングハブ側も一旦設定 をリセットして再起動する必要もない。 そのため、 通信を継続させたままの状態 で、 データ転送帯域を動的に拡張することが可能となる。
N I Cを追加する場合と同様に、 運用中に N I Cを取り外すことも可能である。 図 2 0は、 N I Cを 1枚削除する場合の原理説明図である。 サ一バコンピュー 夕 1 0 0 cから N I C 1 3 5を取り外すと、 N I C追加 Z切り離し制御部 140 に対して、 I /O割り込みにより N I Cの切り離しが通知される。 なお、 サーノ コンピュータ 1 0 0 c等のアプリケーションゃォペレ一夕からの操作入力により、
N I C切り離しの指示を N I C追加 Z切り離し制御部 140に通知することもで さる。
N I C切り離しの通知を受け取つた N I C追加/切り離し制御部 140は、 内 部のシステム構成情報を更新し、 その内容をプログラム間通信を利用して、 トラ ンキング機構部 1 2 0 cへ通知する。 通知を受けたトランキング機構部 1 2 0 c は、 該当の N I C 1 3 5の情報を分散アルゴリズムテーブル 1 2 1 cから削除す ることでトランキング対象から外す。 その後、 サーバコンピュータ 1 0 0 c側か らは N I C 1 3 5を使用しないで送信分散が行われる。
また、 受信に関しては、 トランキング機構部 1 2 0 Cからクライアントコンビ ュ一夕 3 0 0, 3 0 0 a, 3 00 b, 3 0 0 cへ、 N I C 1 3 5を対象からはず すように更新した分散アルゴリズム通知パケット (パケットの種別が削除) を送 信する。 これにより、 各クライアントコンピュータ 30 0, 3 0 0 a, 3 0 0 b, 3 0 0 cの卜ランキング機構部が、 内部の分散アルゴリズムテーブルから N I C 135の情報を削除する。 以後、 クライアントコンピュータ 300, 300 a, 300 b, 300 cからサーバコンピュータ 100 cに送信されるデータは、 N I C 135以外の N I C 131 c, 132 c, 133 c, 134 cが使用される。 その後、 スイッチングハブ 200の該当 LANポートから接続ケーブルを外し て、 N I C 135の削除が完了する。
この動作は、 アプリケーションの通信とは独立して並列に実行されるため、 そ れまでやりとりされている他の N I C上の通信データには影響がない。 また、 ス イツチンダハブ 200側も一旦設定をリセットして再起動する等の必要がないた め、 通信を継続させたままの状態で、 デ一タ転送帯域を動的に縮小することが可 能である。
このように、 サ一バコンピュー夕 100 cの運用を停止させずに N I Cの追加 実装や取り外しが可能となるため、 サーバコンピュータ 100 cとスイッチング ハプ 200との間の帯域幅の調整が容易となる。 すなわち、 データ通信量が過大 となり帯域幅が不足してきた場合、 N I Cを追加して、 運用を継続したまま帯域 幅の拡大が可能となる。
なお、 上記の各実施の形態を実現するために、 サーバコンピュータが有すべき 機能の処理内容を記述したサーバプログラム.. およびクライアントコンピュータ が有すべき機能の処理内容を記述したクライアントプログラムが提供される。 サ ーバプログラムをコンピュータで実行することにより、 上記実施の形態に係るサ —バコンピュー夕の処理機能が実現される。 また、 クライアントプログラムをコ ンピュー夕で実行することにより、 上記実施の形態に係るクライァントコンピュ 一夕の処理機能が実現される。
処理内容を記述したサーバプログラムやクライアントプログラムは、 コンビュ —夕で読み取り可能な記録媒体に記録しておくことができる。 コンピュータで読 み取り可能な記録媒体としては、 磁気記録装置、 光ディスク、 光磁気記録媒体、 半導体メモリなどがある。 磁気記録装置には、 ハードディスク装置 (HDD) 、 フレキシブルディスク (FD) 、 磁気テープなどがある。 光ディスクには、 DV D (Digital Versatile Disc). DVD-R AM (Random Access Memory), CD- ROM (Compact Disc Read Only Memory)、 CD-R (Recordable) / RW (Re Writable)などがある。 光磁気記録媒体には、 M〇 (Magneto -Optical disc)な どがある。
サーバプログラムやクライアントプログラムを流通させる場合には、 たとえば、 各プログラムが記録された D VD、 C D— R OMなどの可搬型記録媒体が販売さ れる。 また、 クライアントプログラムをサーバコンピュータの記憶装置に格納し ておき、 ネットワークを介して、 サ一バコンピュ一夕からクライアントコンピュ —夕にクライアントプログラムを転送することもできる。
サーバプログラムを実行するサーバコンピュータは、 たとえば、 可搬型記録媒 体に記録されたサーバプログラムを、 自己の記憶装置に格納する。 そして、 サー バコンピュー夕は、 自己の記憶装置からサーバプログラムを読み取り、 サ一バプ ログラムに従った処理を実行する。 なお、 サーバコンピュータは、 可搬型記録媒 体から直接サーバプログラムを読み取り、 そのサーバプログラムに従つた処理を 実行することもできる。
クライアントプログラムを実行するクライアントコンピュータは、 たとえば、 可搬型記録媒体に記録されたクライアントプログラムもしくはサーバコンピュー 夕から転送されたクライアントプログラムを、 自己の記憶装置に格納する。 そし て、 クライアントコンピュータは-. 自己の記憶装置からクライアントプログラム を読み取り、 クライアントプログラムに従つた処理を実行する。 なお、 クライア ン卜コンピュータは、 可搬型記録媒体から直接クライアントプログラムを読み取 り、 そのクライアントプログラムに従つた処理を実行することもできる。 また、 クライアントコンピュータは、 サーバコンピュータからクライアントプログラム が転送される毎に、 逐次、 受け取ったクライアントプログラムに従った処理を実 行することもできる。
以上説明したように本発明では、 分散アルゴリズム通知パケットにより複数の 通信ィンタフエースの物理アドレスと分散アルゴリズムとを通信相手コンピュー 夕に通知し、 相手のコンピュータにおいて、 分散アルゴリズムに従って決定され た通信ィン夕フェースの物理ァドレス宛に送信デ一夕を送信するようにした。 こ れにより、 パケットを中継する装置に卜ランキング機能が無くても、 複数の伝送 路を用いたトランキングが可能となる。 上記については単に本発明の原理を示すものである。 さらに、 多数の変形、 変 更が当業者にとって可能であり、 本発明は上記に示し、 説明した正確な構成およ び応用例に限定されるものではなく、 対応するすべての変形例および均等物は、 添付の請求項およびその均等物による本発明の範囲とみなされる。

Claims

請 求 の 範 囲
1 . 複数の通信インタフェースを実装可能なコンピュータにおける伝送路の通 信負荷を分散させるためのデータ通信負荷分散制御プログラムにおいて、 前記コンピュータに、
前記複数の通信インタフェースの物理アドレス、 および通信相手コンピュータ が前記コンピュータ宛に送信するデータを前記複数の通信インタフェースに分散 させる場合の分散アルゴリズムを含む分散アルゴリズム通知パケットを生成し、 ネットワークを介して接続されている前記通信相手コンピュータに対し、 前記 分散アルゴリズム通知バケツトを送信する、
処理を実行させることを特徴とするデータ通信負荷分散制御プログラム。
2 . 前記分散アルゴリズム通知パケットは、 システム起動時にブロードキャス トで送信することを特徴とする請求の範囲第 1項記載のデータ通信負荷分散制御 プログラム。
3 . データ通信のアプリケ一ション毎に前記分散アルゴリズムを指定した前記 分散アルゴリズム通知バケツ卜を生成することを特徴とする請求の範囲第 1項記 載のデータ通信負荷分散制御プログラム。
4 . 前記通信相手コンピュータ毎に前記分散アルゴリズムを指定した前記分散 アルゴリズム通知バケツトを生成することを特徴とする請求の範囲第 1項記載の データ通信負荷分散制御プログラム。
5 . デ一夕通信のアプリケーション毎に、 通信に使用可能な前記通信インタフ エースを指定した前記分散アルゴリズム通知バケツトを生成することを特徴とす る請求の範囲第 1項記載のデータ通信負荷分散制御プログラム。
6 . 前記通信相手コンピュータ毎に通信に使用可能な前記通信インタフェース を指定した前記分散アルゴリズム通知パケッ卜を生成することを特徴とする請求 の範囲第 1項記載のデータ通信負荷分散制御プログラム。
7 . 前記通信相手コンピュータへの送信データを、 前記複数の通信イン夕フエ —スに対して分散させて送信することを特徴とする請求の範囲第 1項記載のデー 夕通信負荷分散制御プログラム。
8 . 前記コンピュータに対して、 前記コンピュータと協働して処理を実行する 協働コンピュータが接続されている場合、 前記協働コンピュータに実装されてい る協働通信インタフェースの物理アドレスを含めた前記分散アルゴリズム通知パ ケットを生成することを特徴とする請求の範囲第 1項記載のデータ通信負荷分散 制御プログラム。
9 . 前記通信相手コンピュータへの送信デ一夕を、 前記通信インタフェースと 前記協働通信インタフェースとに分散させて送信することを特徴とする請求の範 囲第 8項記載のデータ通信負荷分散制御プログラム。
1 0 . 前記コンピュータに対して新たな通信イン夕フェースが追加されると、 追加された前記通信インタフェースの物理アドレスを含み、 前記通信インタフエ ースを分散処理の使用対象に含めることを通知する前記分散アルゴリズム通知パ ケットを生成し、
生成した前記分散アルゴリズム通知バケツトを前記通信相手コンピュータに送 信することを特徴とする請求の範囲第 1項記載のデ一夕通信負荷分散制御プログ ラム。
1 1 . 前記コンピュータから通信インタフェースが取り外されると、 取り外さ れた前記通信ィン夕フェースを分散処理の使用対象から除外することを通知する 前記分散アルゴリズム通知バケツ卜を生成し、
生成した前記分散アルゴリズム通知バケツトを前記通信相手コンピュータに送 信することを特徴とする請求の範囲第 1項記載のデータ通信負荷分散制御プログ ラム。
1 2 . 複数の通信インタフェースを実装可能な通信相手コンピュータまでの伝 送路の通信負荷を分散させるための負荷分散デ一夕送信プログラムにおいて、 コンピュータに、
前記複数の通信インタフェースの物理アドレス、 および前記通信相手コンピュ 一夕宛に送信するデータを前記複数の通信インタフェースに分散させる場合の分 散アルゴリズムを含む分散アルゴリズム通知バケツトを受信すると、 前記複数の 通信ィン夕フェースの物理ァドレスと前記分散アルゴリズムとをデータテーブル に格納し、 前記通信相手コンピュータに対して送信する送信データの宛先とすべき前記通 信インタフェースを前記分散アルゴリズムに従って決定し、
宛先に決定された前記通信インタフェースの前記物理アドレスを宛先として指 定し、 前記送信データを送信する、
処理を実行させることを特徴とする負荷分散デ一夕送信プログラム。
1 3 . 複数の通信インタフェースを実装可能なコンピュータにおける伝送路の 通信負荷を分散させるためのデータ通信負荷分散制御方法において、
前記複数の通信インタフェースの物理アドレス、 および通信相手コンピュータ が前記コンピュータ宛に送信するデータを前記複数の通信インタフェースに分散 させる場合の分散アルゴリズムを含む分散アルゴリズム通知バケツ卜を生成し、 ネットワークを介して接続されている前記通信相手コンピュータに対し、 前記 分散アルゴリズム通知パケッ卜を送信する、
処理を実行させることを特徴とするデー夕通信負荷分散制御方法。
1 4. 複数の通信インタフエ一スを実装可能な通信相手コンピュータまでの伝 送路の通信負荷を分散させるためのデ一夕通信負荷分散方法において、
前記複数の通信インタフェースの物理ァドレス、 および前記通信相手コンビュ —夕宛に送信するデータを前記複数の通信ィン夕フェースに分散させる場合の分 散アルゴリズムを含む分散アルゴリズム通知バケツトを受信すると、 前記複数の 通信ィンタフェースの物理ァドレスと前記分散アルゴリズムとをデータテーブル に格納し、
前記通信相手コンピュータに対して送信する送信デ一夕の宛先とすべき前記通 信ィン夕フェースを前記分散アルゴリズムに従って決定し、
宛先に決定された前記通信インタフェースの前記物理アドレスを宛先として指 定し、 前記送信デー夕を前記通信相手コンピュータに対して送信する、
処理を実行させることを特徴とするデータ通信負荷分散方法。
1 5 . 実装された複数の通信インタフェース経由の通信負荷を分散させるデー 夕通信負荷分散制御装置において、
前記複数の通信インタフェースの物理アドレス、 および通信相手コンピュータ から送られるデータを前記複数の通信イン夕フエ一スに分散させる場合の分散ァ ルゴリズムを含む分散アルゴリズム通知バケツトを生成するバケツト生成手段と、 ネットワークを介して接続されている前記通信相手コンピュータに対し、 前記 バケツト生成手段で生成された前記分散アルゴリズム通知バケツトを送信するパ ケット送信手段と、
を有することを特徴とするデータ通信負荷分散制御装置。
1 6 . 複数の通信イン夕フェースを実装可能な通信相手コンピュータまでの伝 送路の通信負荷を分散させる負荷分散データ送信装置において、
前記複数の通信イン夕フェースの物理アドレス、 および前記通信相手コンピュ —夕宛に送信するデ一夕を前記複数の通信イン夕フエ一スに分散させる場合の分 散アルゴリズムを含む分散アルゴリズム通知バケツトを受信すると、 前記複数の 通信インタフェースの物理アドレスと前記分散アルゴリズムとをデータテーブル に格納する格納手段と、
前記通信相手コンピュータに対して送信する送信デ一夕の宛先とすべき前記通 信インタフェースを、 前記分散アルゴリズムに従って決定する決定手段と、 宛先に決定された前記通信インタフェースの前記物理ァドレスを宛先として指 定し、 前記送信データを送信する送信手段と、
を有することを特徴とする負荷分散デー夕送信装置。
1 7 . 複数の通信インタフェースを実装可能なコンピュータにおける伝送路の 通信負荷を分散させるためのデータ通信負荷分散制御プログラムを記録したコン ピュー夕読み取り可能な記録媒体において、
前記コンピュータに、
前記複数の通信インタフェースの物理アドレス、 および通信相手コンピュータ が前記コンピュータ宛に送信するデータを前記複数の通信インタフェースに分散 させる場合の分散アルゴリズムを含む分散アルゴリズム通知パケットを生成し、 ネットワークを介して接続されている前記通信相手コンピュータに対し、 前記 分散アルゴリズム通知バケツトを送信する、
処理を実行させることを特徴とするデータ通信負荷分散制御プログラムを記録 したコンピュータ読み取り可能な記録媒体。
1 8 . 複数の通信インタフェースを実装可能な通信相手コンピュータまでの伝 送路の通信負荷を分散させるための負荷分散データ送信プログラムを記録したコ ンピュー夕読み取り可能な記録媒体において、
前記コンビュ一夕に、
前記複数の通信インタフェースの物理アドレス、 および前記通信相手コンビュ 一夕宛に送信するデ一夕を前記複数の通信インタフェースに分散させる場合の分 散アルゴリズムを含む分散アルゴリズム通知バケツトを受信すると、 前記複数の 通信ィン夕フェースの物理ァドレスと前記分散アルゴリズムとをデータテーブル に格納し、
前記通信相手コンピュータに対して送信する送信データの宛先とすべき前記通 信インタフェースを前記分散アルゴリズムに従つて決定し、
宛先に決定された前記通信イン夕フェースの前記物理アドレスを宛先として指 定し、 前記送信データを送信する、
処理を実行させることを特徴とする負荷分散デ一夕送信プログラムを記録した コンピュー夕読み取り可能な記録媒体。
PCT/JP2003/004148 2003-03-31 2003-03-31 データ通信負荷分散制御プログラム、およびデータ負荷分散制御方法 WO2004088931A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CNB038263017A CN100474833C (zh) 2003-03-31 2003-03-31 数据通信负荷分散控制、负荷分散数据发送方法及装置
JP2004570184A JP3792707B2 (ja) 2003-03-31 2003-03-31 データ通信負荷分散制御プログラム、およびデータ負荷分散制御方法
AU2003221109A AU2003221109A1 (en) 2003-03-31 2003-03-31 Data communication load distribution control program and data load distribution control method
DE2003194206 DE10394206T5 (de) 2003-03-31 2003-03-31 Datenkommunikations-Lastverteilungs-Steuerprogramm und Datenlastverteilungs-Steuerverfahren
PCT/JP2003/004148 WO2004088931A1 (ja) 2003-03-31 2003-03-31 データ通信負荷分散制御プログラム、およびデータ負荷分散制御方法
US11/231,467 US8068498B2 (en) 2003-03-31 2005-09-21 Computer readable record medium on which data communication load distribution control program is recorded and data load distribution control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/004148 WO2004088931A1 (ja) 2003-03-31 2003-03-31 データ通信負荷分散制御プログラム、およびデータ負荷分散制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/231,467 Continuation US8068498B2 (en) 2003-03-31 2005-09-21 Computer readable record medium on which data communication load distribution control program is recorded and data load distribution control method

Publications (1)

Publication Number Publication Date
WO2004088931A1 true WO2004088931A1 (ja) 2004-10-14

Family

ID=33105370

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/004148 WO2004088931A1 (ja) 2003-03-31 2003-03-31 データ通信負荷分散制御プログラム、およびデータ負荷分散制御方法

Country Status (6)

Country Link
US (1) US8068498B2 (ja)
JP (1) JP3792707B2 (ja)
CN (1) CN100474833C (ja)
AU (1) AU2003221109A1 (ja)
DE (1) DE10394206T5 (ja)
WO (1) WO2004088931A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007094520A1 (ja) * 2006-02-16 2007-08-23 Nec Corporation ノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラム
JP2007243467A (ja) * 2006-03-07 2007-09-20 Fujitsu Ltd ブレード型システムおよびコネクション管理方法
JPWO2007029297A1 (ja) * 2005-09-02 2009-03-26 富士通株式会社 ネットワークインタフェース制御プログラムおよびネットワークインタフェース制御装置
JP2018521393A (ja) * 2015-05-26 2018-08-02 アイデバイシーズ エルエルシー サーバフェイルオーバー及びロードバランシングのためのシステム及び方法
US11973823B1 (en) * 2023-01-11 2024-04-30 Dell Products L.P. Offloading namespace redirection to backup clients in a scale out cluster

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070237084A1 (en) * 2006-03-29 2007-10-11 Rothman Michael A Data communication using multiple input/output devices
US7649892B2 (en) * 2006-08-30 2010-01-19 Hewlett-Packard Development Company, L.P. Method and system of network communication receive load balancing
US7813286B2 (en) * 2006-08-30 2010-10-12 Hewlett-Packard Development Company, L.P. Method and system of distributing multicast group join request in computer systems operating with teamed communication ports
WO2012050071A1 (ja) 2010-10-14 2012-04-19 日本電気株式会社 通信システム、制御装置、処理規則の設定方法およびプログラム
US8694618B2 (en) * 2011-04-13 2014-04-08 Microsoft Corporation Maximizing data transfer through multiple network devices
US8627412B2 (en) 2011-04-14 2014-01-07 Microsoft Corporation Transparent database connection reconnect
CN103297354B (zh) * 2012-03-02 2017-05-03 日电(中国)有限公司 服务器互连系统、服务器和数据转发方法
US11050746B2 (en) 2019-01-29 2021-06-29 Cisco Technology, Inc. Media access control (MAC) address anonymization based on allocations by network controller elements

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07245619A (ja) * 1994-03-03 1995-09-19 Hitachi Ltd Lanシステムの制御方法
JPH1174927A (ja) * 1997-07-08 1999-03-16 Hewlett Packard Co <Hp> リンクレベルサーバ/スイッチトランキング方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617417A (en) * 1994-09-07 1997-04-01 Stratacom, Inc. Asynchronous transfer mode communication in inverse multiplexing over multiple communication links
US5608733A (en) * 1994-11-29 1997-03-04 Valle; Richard ATM inverse multiplexing
US6016319A (en) * 1995-10-31 2000-01-18 Lucent Technologies, Inc. Communications system for transmission of datagram packets over connection-oriented networks
US6016310A (en) * 1997-06-30 2000-01-18 Sun Microsystems, Inc. Trunking support in a high performance network device
US6046979A (en) * 1998-05-04 2000-04-04 Cabletron Systems, Inc. Method and apparatus for controlling the flow of variable-length packets through a multiport switch
US6078960A (en) * 1998-07-03 2000-06-20 Acceleration Software International Corporation Client-side load-balancing in client server network
US6952401B1 (en) * 1999-03-17 2005-10-04 Broadcom Corporation Method for load balancing in a network switch
US6490632B1 (en) 1999-03-18 2002-12-03 3Com Corporation High performance load balancing and fail over support of internet protocol exchange traffic over multiple network interface cards
US6560630B1 (en) * 1999-03-18 2003-05-06 3Com Corporation Receive load balancing and fail over with multiple network interface cards
US6553028B1 (en) * 1999-04-30 2003-04-22 Cisco Technology, Inc. Method and apparatus for multicast switching using a centralized switching engine
US6874147B1 (en) * 1999-11-18 2005-03-29 Intel Corporation Apparatus and method for networking driver protocol enhancement
JP2001292153A (ja) 2000-04-05 2001-10-19 Hitachi Cable Ltd スイッチングハブ
US20030028644A1 (en) 2001-08-02 2003-02-06 Patrick Maguire System and method for load sharing within a core network
US7290059B2 (en) * 2001-08-13 2007-10-30 Intel Corporation Apparatus and method for scalable server load balancing
JP3898498B2 (ja) * 2001-12-06 2007-03-28 富士通株式会社 サーバ負荷分散システム
US20040151111A1 (en) * 2003-01-31 2004-08-05 Yarroll La Monte Resource pooling in an Internet Protocol-based communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07245619A (ja) * 1994-03-03 1995-09-19 Hitachi Ltd Lanシステムの制御方法
JPH1174927A (ja) * 1997-07-08 1999-03-16 Hewlett Packard Co <Hp> リンクレベルサーバ/スイッチトランキング方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2007029297A1 (ja) * 2005-09-02 2009-03-26 富士通株式会社 ネットワークインタフェース制御プログラムおよびネットワークインタフェース制御装置
WO2007094520A1 (ja) * 2006-02-16 2007-08-23 Nec Corporation ノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラム
JPWO2007094520A1 (ja) * 2006-02-16 2009-07-09 日本電気株式会社 ノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラム
US8094584B2 (en) 2006-02-16 2012-01-10 Nec Corporation Node, network system, frame transfer method, and frame transfer program
CN101385284B (zh) * 2006-02-16 2014-07-02 日本电气株式会社 节点、网络系统、帧传送方法和帧传送程序
JP2007243467A (ja) * 2006-03-07 2007-09-20 Fujitsu Ltd ブレード型システムおよびコネクション管理方法
JP4579850B2 (ja) * 2006-03-07 2010-11-10 富士通株式会社 ブレード型システムおよびコネクション管理方法
JP2018521393A (ja) * 2015-05-26 2018-08-02 アイデバイシーズ エルエルシー サーバフェイルオーバー及びロードバランシングのためのシステム及び方法
US11973823B1 (en) * 2023-01-11 2024-04-30 Dell Products L.P. Offloading namespace redirection to backup clients in a scale out cluster

Also Published As

Publication number Publication date
US20060013224A1 (en) 2006-01-19
CN100474833C (zh) 2009-04-01
JPWO2004088931A1 (ja) 2006-07-06
DE10394206T5 (de) 2006-03-30
US8068498B2 (en) 2011-11-29
AU2003221109A1 (en) 2004-10-25
JP3792707B2 (ja) 2006-07-05
CN1765084A (zh) 2006-04-26

Similar Documents

Publication Publication Date Title
US8068498B2 (en) Computer readable record medium on which data communication load distribution control program is recorded and data load distribution control method
JP4236303B2 (ja) リンクレベルサーバ/スイッチトランキング方法
CN100544342C (zh) 存储系统
US7996560B2 (en) Managing virtual ports in an information processing system
US7437477B2 (en) SCSI-based storage area network having a SCSI router that routes traffic between SCSI and IP networks
US7751409B1 (en) Logical service domains for enabling network mobility
US8560627B2 (en) Virtual switch for use in fibre channel applications
US8578053B2 (en) NAS load balancing system
US20030154236A1 (en) Database Switch enabling a database area network
JP2018523932A (ja) 負荷バランシングコンピュータデバイス、システム、および方法
US7254620B2 (en) Storage system
US20110007666A1 (en) Digital multimedia network with parameter join mechanism
JP2003318949A (ja) Vpnシステムおよびルータ
JP2004192305A (ja) iSCSIストレージ管理方法及び管理システム
JP2011507426A (ja) 複数のアダプタにわたり複数の仮想ipアドレスを同時にサポートしているホストにおけるフェイルオーバのための方法、システム、およびプログラム
JP2006510976A5 (ja)
WO2019144965A1 (zh) 一种镜像拉取的方法及其系统
JP5034495B2 (ja) ストレージシステムとプログラム並びに方法
CN110830574B (zh) 一种基于docker容器实现内网负载均衡的方法
US20070233886A1 (en) Method and system for a one bit TCP offload
CN100414936C (zh) 平衡网络文件系统服务器多网卡间负载的方法
JP2004048125A (ja) 接続制御装置、方法及びプログラム
JP4309321B2 (ja) ネットワークシステムの運用管理方法及びストレージ装置
JP3609948B2 (ja) マルチプロトコルネットワーク管理方法、マルチプロトコルネットワーク管理プロキシサーバシステム、マルチプロトコルアドレス管理サーバシステム、および、マルチプロトコルネットワーク管理システム
JPH10135982A (ja) サーバコンピュータにおけるipアドレス多重化方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

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: 2004570184

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11231467

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020057018339

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 20038263017

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1020057018339

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 11231467

Country of ref document: US

RET De translation (de og part 6b)

Ref document number: 10394206

Country of ref document: DE

Date of ref document: 20060330

Kind code of ref document: P

122 Ep: pct application non-entry in european phase
REG Reference to national code

Ref country code: DE

Ref legal event code: 8607