This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2013-190803, filed on Sep. 13, 2013, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to an information processing device, a communication method, and a computer-readable storage medium storing a communication program.
In recent years, highly integrated servers including a large number of nodes mounted in a rack thereof have been utilized as a server for cloud computing or for a data center. Herein, a node means an information processing device including a central processing unit (CPU), a memory, a storage, a crossbar switch, and the like.
For example, several tens to hundreds of nodes are mounted in the rack. The nodes are connected to each other through a cable or a backplane.
In
As illustrated in
On the other hand, as illustrated in
Accordingly, a technique has been developed for performing data transfer between modules in the housing in a wireless manner without using the cable connection or the backplane connection (for example, refer to Japanese Laid-open Patent Publication No. 2005-6329). There is also related art in which a tray part connecting a server device and a console part of the server device communicates with the console part in a wireless manner (for example, refer to Japanese Laid-open Patent Publication No. 2006-185419).
Wireless communication is not suitable for communication at a distance because radio waves are easily attenuated. When a large number of information processing devices are connected through the wireless communication, the communication is performed via a plurality of information processing devices. Accordingly, although a next transmission destination relayed to a final destination should be determined as a routing destination in the wireless communication, it is difficult to determine a proper routing destination for each of the information processing devices with respect to a large number of destinations.
According to an aspect of an embodiment, a information processing device includes an identifier storage unit that stores a device identifier, the device identifier identifying the information processing device and a position at which the information processing device is mounted in a housing, in association with an address of the information processing device; an identifier retrieval unit that retrieves the device identifier corresponding to a destination address of data from the identifier storage unit; a determination unit that determines a routing destination of the data based on the device identifier retrieved by the identifier retrieval unit and the device identifier of the information processing device; and a control unit that performs control to transmit the data to the routing destination determined by the determination unit.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
Preferred embodiments of the present invention will be explained with reference to accompanying drawings. A technique disclosed herein is not limited to the embodiments described below.
First, the following describes a configuration of an information processing system according to a first embodiment.
The NW switch 2 is a switch for connecting with an external network such as the Internet. The AP 3 is an access point of a wireless local area network (WLAN) using a frequency of 2.4 GHz band and 5 GHz band.
As illustrated in
A communication mode illustrated in
The node 10 is an information processing device including a CPU 11, a memory 12, a storage 13, and an XB 14. The node 10 also includes an upper antenna for 60 G wireless 15a, a lower antenna for 60 G wireless 15b, a left antenna for 60 G wireless 15c, a right antenna for 60 G wireless 15d, and an antenna for WLAN 15e. The nodes 10 are housed in a housing. The upper antenna for 60 G wireless 15a, the lower antenna for 60 G wireless 15b, the left antenna for 60 G wireless 15c, the right antenna for 60 G wireless 15d, and the antenna for WLAN 15e are connected to the XB 14.
The CPU 11 is a central processing unit that reads and executes a computer program from the memory 12. The memory 12 is a random access memory (RAM) that stores therein the computer program or results in the midway obtained in the execution of the computer program. The storage 13 is a nonvolatile memory that stores therein data, for example, a NAND flash memory. The storage 13 also stores therein the computer program installed in the node 10.
The XB 14 is a crossbar switch for communicating with an other node 10. The XB 14 is one LSI. The upper antenna for 60 G wireless 15a is an antenna for 60 G wireless that uses a frequency of 60 GHz band, installed facing upward, and used for communicating with the node 10 adjacent above in the rack 1. Similarly, the lower antenna for 60 G wireless 15b is the antenna for 60 G wireless, installed facing downward, and used for communicating with the node 10 adjacent below in the rack 1.
The left antenna for 60 G wireless 15c is the antenna for 60 G wireless, installed facing leftward, and used for communicating with the node 10 adjacent on the left in the rack 1. The right antenna for 60 G wireless 15d is the antenna for 60 G wireless, installed facing rightward, and used for communicating with the node 10 adjacent on the right in the rack 1.
Communication speed of the 60 G wireless can be about several Gbps, which is higher than that of the WLAN. However, radio waves hardly reach in the 60 G wireless and the housing blocks the radio waves, so that it is difficult to communicate with the adjacent upper, lower, left, and right nodes 10 using one 60 G wireless module. Accordingly, the node 10 includes four 60 G wireless modules that communicate with the adjacent upper, lower, left, and right nodes 10, respectively. The antenna for WLAN 15e is a WLAN antenna.
The node 10 communicates with other nodes 10 having a distance therefrom equal to or smaller than a predetermined threshold using the 60 G wireless, and communicates with other nodes 10 having a distance therefrom larger than the predetermined threshold using the WLAN. For example, in
In this way, the node 10 communicates with the other nodes 10 having the distance therefrom smaller than the predetermined threshold using the 60 G wireless, and communicates with the other nodes 10 having the distance therefrom equal to or larger than the predetermined threshold using the WLAN. Accordingly, the node 10 can perform wireless communication at high speed with a large number of nodes 10 without causing congestion at the AP 3.
Next, the following describes a configuration of the XB 14.
The host I/F 141 is an interface with the CPU 11 of its own node. The host I/F 141 passes a packet received from the CPU 11 to the routing unit 143, and passes a packet received from the routing unit 143 to the CPU 11 of the own node. The host I/F 141 also passes a destination of the packet received from the CPU 11 of the own node to the NAT 142a.
The NAT 142a is a retrieval table for retrieving an identifier that identifies each node 10. The NAT 142a receives the destination of the packet from the host I/F 141 or the packet analysis unit 144, retrieves the identifier of the destination node 10, and passes the retrieved identifier of the destination node 10 to the destination determination unit 142. The NAT 142a retrieves the identifier of the own node from information about the own node based on information of the NI register 148, and passes the retrieved identifier of the own node to the destination determination unit 142.
The destination determination unit 142 determines a routing destination of the packet based on the identifier of the destination of the packet retrieved with the NAT 142a and the identifier of the own node, and passes information about the routing destination as routing information to the routing unit 143. The identifier of the node 10 retrieved with the NAT 142a and details about processing by the destination determination unit 142 will be described later.
The routing unit 143 receives the packet from the host I/F 141, and passes the packet to any of the I/Fs 145 based on the routing information received from the destination determination unit 142 and information of the NI register 148. The routing unit 143 also receives a packet from any of the packet analysis units 144, and passes the packet to the host I/F 141 or any of the I/Fs 145 based on the routing information received from the destination determination unit 142 and the information of the NI register 148.
The packet analysis unit 144 receives the packet from the I/F 145 and extracts a destination. The packet analysis unit 144 passes the extracted destination to the NAT 142a and passes the packet to the routing unit 143. If the packet analysis unit 144 determines that the destination is the own node based on the information of the NI register 148, the packet analysis unit 144 may not pass the extracted destination to the NAT 142a.
The I/F 145 converts a signal received from the 60 G wireless module or the WLAN unit 147 into a packet, and passes the packet to the corresponding packet analysis unit 144. The I/F 145 receives the packet routed by the routing unit 143, and instructs the corresponding 60 G wireless module or the corresponding WLAN module to transmit the packet.
The upper unit for 60 G wireless 146a, the lower unit for 60 G wireless 146b, the left unit for 60 G wireless 146c, and the right unit for 60 G wireless 146d are 60 G wireless modules that perform wireless communication using a frequency of 60 GHz band.
The upper unit for 60 G wireless 146a performs wireless communication with the node 10 adjacent above in the rack 1 using the upper antenna for 60 G wireless 15a illustrated in
The WLAN unit 147 has a function of the STA 4, and communicates with the WLAN unit 147 in an other node 10 via the AP 3 using the WLAN. The NI register 148 is a register that stores therein information about the own node such as an Internet Protocol (IP) address and a media access control (MAC) address.
Although the XB 14 illustrated in
As illustrated in
Next, the following describes the identifier of the node 10 retrieved with the NAT 142a and details about the processing by the destination determination unit 142 with reference to
As illustrated in
The NID is 12 bits, and represented by three hexadecimal digits connected by “_”. The NID is an identifier for identifying each node 10 and represents the position of the node 10 in the rack 1. Upper 4 bits among 12 bits represent an X-coordinate of a slot in the rack 1, and lower 8 bits represent a Y-coordinate of the slot in the rack 1. Herein, the slot means a space in the rack 1 in which the node 10 is housed.
As illustrated in
In this way, the NID represents the position of the node 10 in the rack 1, so that the destination determination unit 142 can find in which direction in its own node the destination node 10 is arranged in the rack 1 based on the NID of the destination of the packet, and can determine the routing destination of the packet.
That is, if the sum of a difference between the X-coordinates of the destination and the own node and a difference between the Y-coordinates of the destination and the own node is larger than a predetermined threshold, the destination determination unit 142 determines the WLAN unit 147 as the routing destination. On the other hand, if the sum of the difference between the X-coordinates of the destination and the own node and the difference between the Y-coordinates of the destination and the own node is not larger than the predetermined threshold, the destination determination unit 142 determines any of the 60 G wireless modules as the routing destination based on the comparison result between the X-coordinates of the destination and the own node. That is, if the X-coordinate of the destination is larger than the X-coordinate of the own node, the destination determination unit 142 determines the right unit for 60 G wireless 146d as the routing destination. If the X-coordinate of the destination is smaller than the X-coordinate of the own node, the destination determination unit 142 determines the left unit for 60 G wireless 146c as the routing destination.
If the X-coordinate of the destination is equal to the X-coordinate of the own node, the destination determination unit 142 compares the Y-coordinate of the destination with the Y-coordinate of the own node. If the Y-coordinate of the destination is larger than the Y-coordinate of the own node, the destination determination unit 142 determines the upper unit for 60 G wireless 146a as the routing destination. If the Y-coordinate of the destination is not larger than the Y-coordinate of the own node, the destination determination unit 142 determines the lower unit for 60 G wireless 146b as the routing destination.
In this way, the destination determination unit 142 can automatically determine a proper routing destination by determining the routing destination based on the NID of the destination of the packet and the NID of the own node.
Next, the following describes the procedure of reception processing by the node 10 according to the first embodiment.
On the other hand, if the destination of the packet is not the own node, the node 10 performs NAT retrieval, that is, table retrieval based on the destination MAC address and the own node using the NAT 142a (Step S3), and retrieves the NIDs of the destination and the own node. The node 10 then compares the NIDs of the destination and the own node with each other (Step S4) to determine whether the sum of the difference between the X-coordinates and the difference between the Y-coordinates is larger than a predetermined threshold Dth (Step S5). If the sum of the difference between the X-coordinates and the difference between the Y-coordinates is larger than the predetermined threshold Dth, the node 10 transmits the packet using the WLAN module (Step S13).
On the other hand, if the sum of the difference between the X-coordinates and the difference between the Y-coordinates is not larger than the predetermined threshold Dth, the node 10 determines whether the X-coordinate of the destination X1 is larger than the X-coordinate of the own node X2 (Step S6). If the X-coordinate of the destination X1 is larger than the X-coordinate of the own node X2, the node 10 transmits the packet using the right unit for 60 G wireless 146d (Step S12).
On the other hand, if the X-coordinate of the destination X1 is not larger than the X-coordinate of the own node X2, the node 10 determines whether the X-coordinate of the destination X1 is smaller than the X-coordinate of the own node X2 (Step S7). If the X-coordinate of the destination X1 is smaller than the X-coordinate of the own node X2, the node 10 transmits the packet using the left unit for 60 G wireless 146c (Step S11).
On the other hand, if the X-coordinate of the destination X1 is not smaller than the X-coordinate of the own node X2, which is a case in which X1 is equal to X2, the node 10 determines whether the Y-coordinate of the destination Y1 is larger than the Y-coordinate of the own node Y2 (Step S8). If the Y-coordinate of the destination Y1 is larger than the Y-coordinate of the own node Y2, the node 10 transmits the packet using the upper unit for 60 G wireless 146a (Step S10). On the other hand, if the Y-coordinate of the destination Y1 is not larger than the Y-coordinate of the own node Y2, the node 10 transmits the packet using the lower unit for 60 G wireless 146b (Step S9).
Next, the following describes the procedure of transmission processing by the node 10 according to the first embodiment.
The node 10 then compares the NIDs of the destination and the own node with each other (Step S22) to determine whether the sum of the difference between the X-coordinates and the difference between the Y-coordinates is larger than the predetermined threshold Dth (Step S23). If the sum of the difference between the X-coordinates and the difference between the Y-coordinates is larger than the predetermined threshold Dth, the node 10 transmits the packet using the WLAN module (Step S33).
On the other hand, the sum of the difference between the X-coordinates and the difference between the Y-coordinates is not larger than the predetermined threshold Dth, the node 10 determines whether the X-coordinate of the destination X1 is larger than the X-coordinate of the own node X2 (Step S24). If the X-coordinate of the destination X1 is larger than the X-coordinate of the own node X2, the node 10 transmits the packet using the right unit for 60 G wireless 146d (Step S30), and the process proceeds to Step S31.
On the other hand, if the X-coordinate of the destination X1 is not larger than the X-coordinate of the own node X2, the node 10 determines whether the X-coordinate of the destination X1 is smaller than the X-coordinate of the own node X2 (Step S25). If the X-coordinate of the destination X1 is smaller than the X-coordinate of the own node X2, the node 10 transmits the packet using the left unit for 60 G wireless 146c (Step S29), and the process proceeds to Step S31.
On the other hand, if the X-coordinate of the destination X1 is not smaller than the X-coordinate of the own node X2, which is a case in which X1 is equal to X2, the node 10 determines whether the Y-coordinate of the destination Y1 is larger than the Y-coordinate of the own node Y2 (Step S26). If the Y-coordinate of the destination Y1 is larger than the Y-coordinate of the own node Y2, the node 10 transmits the packet using the upper unit for 60 G wireless 146a (Step S28), and the process proceeds to Step S31. On the other hand, if the Y-coordinate of the destination Y1 is not larger than the Y-coordinate of the own node Y2, the node 10 transmits the packet using the lower unit for 60 G wireless 146b (Step S27).
The node 10 determines whether ACK is received (Step S31). The node 10 ends the process if the ACK is received, and retransmits the packet using the WLAN module if the ACK is not received (Step S32). Herein, the ACK means a reception report transmitted to the transmission source when the destination node 10 receives the packet.
As described above, in the first embodiment, the NAT 142a stores therein the MAC address and the NID representing the position of the node 10 in the rack 1 in association with each other for each node 10, and retrieves the NIDs of the destination and the own node based on the destination of the packet and the MAC address of the own node. The destination determination unit 142 then determines the routing destination of the packet based on the NIDs of the destination and the own node, and the routing unit 143 routes the packet to the routing destination determined by the destination determination unit 142. Accordingly, the node 10 can perform routing without using a routing table for associating the destination of the packet with the routing destination.
In
For example, when the destination of the packet is the node1, that is, the own node, the routing destination is the CPU 11 of the host, that is, the own node. When the destination of the packet is the node2, the routing destination is the right unit for 60 G wireless 146d because the node2 is arranged on the right of the node1.
When the routing table is used, the destination of the packet needs to be associated with the routing destination for each node 10, so that the setting of the routing destination is complicated when the number of nodes increases. In addition, the packet does not reach the destination when an erroneous routing destination is set.
On the other hand, when the NAT 142a is used as in the first embodiment, the association between the MAC address and the NID is common among the nodes, and it is not necessary to set different pieces of information for each node 10 as in the routing table, so that the setting is prevented from being complicated. Accordingly, a packet loss due to a setting error can be prevented by using the NAT 142a.
In the first embodiment, described is the case in which the node 10 retrieves the NID of the own node using the NAT 142a. Alternatively, the node 10 may store the NID of the own node in the NI register 148.
In the first embodiment, described is the case in which each node 10 has the STA function of the WLAN. Alternatively, the node 10 having the STA function can be limited. The following describes a case of limiting the node 10 having the STA function.
First, grouping of the nodes 10 will be described.
In each group, only one node 10 has the STA function of the WLAN. For example, in the group1, only the node11 has the STA function. Each node 10 uses the 60 G wireless to communicate with an other node 10 in the group, and uses the WLAN to communicate with a node 10 outside the group.
For example, the node1 uses the 60 G wireless to transmit the packet to the node3 in the group. On the other hand, to transmit the packet to the node15 outside the group, the node1 transmits the packet to the node15 using the WLAN via the node11 having the STA function. The node1 transmits the packet to the node using the 60 G wireless.
In this way, by grouping the nodes 10 and limiting the node 10 having the STA function of the WLAN to be only one in the group, the information processing system can reduce the number of nodes connected to the AP 3 and prevent congestion at the AP 3.
Next, the following describes a configuration of an XB according to a second embodiment.
As illustrated in
The NAT 142b receives the destination of the packet from the host I/F 141 or the packet analysis unit 144, retrieves the identifier of the destination node 10, and passes the retrieved identifier of the destination node 10 to the destination determination unit 142d and the corresponding GID-WSTA 142c. The NAT 142b retrieves the identifier of the own node from the information about the own node based on the information of the NI register 148, and passes the retrieved identifier of the own node to the destination determination unit 142d and the corresponding GID-WSTA 142c.
The GID-WSTA 142c is a retrieval table that receives the NID from the associated NAT 142b and retrieves a group ID (GID) and presence or absence of STA function based on the NID. The GID-WSTA 142c passes the retrieved GID and the presence or absence of STA function to the destination determination unit 142d. Details about the GID-WSTA 142c will be described later.
The destination determination unit 142d determines the routing destination of the packet based on the NID of the destination of the packet and the NID of the own node retrieved with the NAT 142b and the GID and the presence or absence of STA function retrieved with the GID-WSTA 142c. The destination determination unit 142d then passes the information about the routing destination as the routing information to the routing unit 143.
Although the XB 14b illustrated in
As illustrated in
Next, the following describes the details about the GID-WSTA 142c.
For example, as illustrated in
In this way, the GID-WSTA 142c stores therein the NID, the GID, and the WSTA in association with each other and retrieves the GID and the WSTA based on the NID, so that the node 10 can find the group to which the destination node 10 of the packet belongs. The node 10 can also find the WSTA and the group to which the own node belongs.
Next, the following describes the procedure of reception processing by the node 10 according to the second embodiment.
On the other hand, if the destination of the packet is not the own node, the node 10 performs NAT retrieval, that is, table retrieval based on the destination MAC address and the own node using the NAT 142b (Step S43), and retrieves the NIDs of the destination and the own node. The node 10 then performs GID-WSTA retrieval, that is, retrieves the GID and the WSTA based on the NID using the GID-WSTA 142c (Step S44), and retrieves the GID and the WSTA of the destination and the own node.
The node 10 determines whether the retrieved GID is equal to its own GID (Step S45). If the retrieved GID is equal to the own GID, the node 10 compares the NIDs of the destination and the own node with each other (Step S46). The node 10 then determines whether the X-coordinate of the destination X1 is larger than the X-coordinate of the own node X2 (Step S47). If the X-coordinate of the destination X1 is larger than the X-coordinate of the own node X2, the node 10 transmits the packet using the right unit for 60 G wireless 146d (Step S53).
On the other hand, if the X-coordinate of the destination X1 is not larger than the X-coordinate of the own node X2, the node 10 determines whether the X-coordinate of the destination X1 is smaller than the X-coordinate of the own node X2 (Step S48). If the X-coordinate of the destination X1 is smaller than the X-coordinate of the own node X2, the node 10 transmits the packet using the left unit for 60 G wireless 146c (Step S52).
On the other hand, if the X-coordinate of the destination X1 is not smaller than the X-coordinate of the own node X2, which is a case in which X1 is equal to X2, the node 10 determines whether the Y-coordinate of the destination Y1 is larger than the Y-coordinate of the own node Y2 (Step S49). If the Y-coordinate of the destination Y1 is larger than the Y-coordinate of the own node Y2, the node 10 transmits the packet using the upper unit for 60 G wireless 146a (Step S51). On the other hand, if the Y-coordinate of the destination Y1 is not larger than the Y-coordinate of the own node Y2, the node 10 transmits the packet using the lower unit for 60 G wireless 146b (Step S50).
If the retrieved GID is not equal to the own GID (No at Step S45), which is a case in which the packet is transmitted to an other group, the node 10 determines whether the WSTA of the own node is 1 (Step S54). If the WSTA of the own node is not 1, the node 10 routes the packet to the 60 G wireless module used in a case of transmitting the packet to the node 10 of which the WSTA is 1 in the group. That is, the node 10 compares the NID having the STA function in its own group with the NID of the own node (Step S55), and the process proceeds to Step S47. On the other hand, if the WSTA of the own node is 1, the node 10 transmits the packet using the WLAN module (Step S56).
Next, the following describes the procedure of transmission processing by the node 10 according to the second embodiment.
The node 10 determines whether the retrieved GID is equal to its own GID (Step S63). If the retrieved GID is equal to the own GID, the node 10 compares the NIDs of the destination and the own node with each other (Step S64). The node 10 then determines whether the X-coordinate of the destination X1 is larger than the X-coordinate of the own node X2 (Step S65). If the X-coordinate of the destination X1 is larger than the X-coordinate of the own node X2, the node 10 transmits the packet using the right unit for 60 G wireless 146d (Step S71), and the process proceeds to Step S72.
On the other hand, if the X-coordinate of the destination X1 is not larger than the X-coordinate of the own node X2, the node 10 determines whether the X-coordinate of the destination X1 is smaller than the X-coordinate of the own node X2 (Step S66). If the X-coordinate of the destination X1 is smaller than the X-coordinate of the own node X2, the node 10 transmits the packet using the left unit for 60 G wireless 146c (Step S70), and the process proceeds to Step S72.
On the other hand, if the X-coordinate of the destination X1 is not smaller than the X-coordinate of the own node X2, which is a case in which X1 is equal to X2, the node 10 determines whether the Y-coordinate of the destination Y1 is larger than the Y-coordinate of the own node Y2 (Step S67). If the Y-coordinate of the destination Y1 is larger than the Y-coordinate of the own node Y2, the node 10 transmits the packet using the upper unit for 60 G wireless 146a (Step S69), and the process proceeds to Step S72. On the other hand, if the Y-coordinate of the destination Y1 is not larger than the Y-coordinate of the own node Y2, the node 10 transmits the packet using the lower unit for 60 G wireless 146b (Step S68).
The node 10 then determines whether ACK is received (Step S72). The node 10 ends the process if the ACK is received, and retransmits the packet using the WLAN module if the ACK is not received (Step S73).
If the retrieved GID is not equal to the own GID (No at Step S63), which is a case in which the packet is transmitted to the other group, the node 10 determines whether the WSTA of the own node is 1 (Step S74). If the WSTA of the own node is not 1, the node 10 routes the packet to the 60 G wireless module used in a case of transmitting the packet to the node 10 of which the WSTA is 1 in the group. That is, the node 10 compares the NID having the STA function in its own group with the NID of the own node (Step S75), and the process proceeds to Step S65. On the other hand, if the WSTA of the own node is 1, the node 10 transmits the packet using the WLAN module (Step S76).
In this way, to transmit the packet to the outside of the group, the node 10 transmits the packet to the node 10 having the STA function in the group, and the node 10 having the STA function transmits the packet using the WLAN. Accordingly, the information processing system can reduce the congestion at the AP 3.
As described above, in the second embodiment, the nodes 10 close to each other are grouped, and the node 10 transmits the packet using the 60 G wireless within the same group and transmits the packet using the WLAN to an other group. Accordingly, the node 10 can properly use the 60 G wireless and the WLAN using the GID, and the information processing system can connect a large number of nodes 10 with each other at high speed in a wireless manner. Herein, twelve nodes 10 close to each other are grouped. Alternatively, the information processing system can group an arbitrary number of nodes 10.
In the first and the second embodiments, described is the case in which the 60 G wireless module communicates only with the nodes 10 adjacent above, below, on the left and right. Alternatively, the 60 G wireless module can communicate with the node 10 across some nodes 10. In a third embodiment, described is a case in which the 60 G wireless module communicates with the node 10 across some nodes 10.
As illustrated in
As illustrated in
In this way, to transmit the packet to the neighbor node 10 or the node 10 within the group, the node 10 according to the third embodiment transmits the packet to the relay node of which the Y-coordinate is the same as that of the own node and the X-coordinate thereof is the same as that of the destination node 10 using left or right 60 G wireless modules. The relay node then transmits the received packet to the destination node 10 using upper or lower 60 G wireless modules. Accordingly, when the node 10 according to the third embodiment transmits the packet using the 60 G wireless, the number of relay nodes 10 can be reduced and the packet can be transmitted at higher speed.
The node 10 that does not need to relay the packet such as the node 10 interposed between the transmission source node and the relay node discards the received packet. Accordingly, only the relay node can transmit the packet from the transmission source to the destination.
Next, the following describes the procedure of reception processing by the node 10 according to the third embodiment.
As illustrated in
On the other hand, if the destination of the packet is not the own node, the node 10 performs NAT retrieval, that is, table retrieval based on the destination MAC address and the own node using the NAT 142a (Step S83), and retrieves the NIDs of the destination and the own node. The node 10 then compares the NIDs of the destination and the own node with each other (Step S84) to determine whether the sum of the difference between the X-coordinates and the difference between the Y-coordinates is larger than the predetermined threshold Dth (Step S85). If the sum of the difference between the X-coordinates and the difference between the Y-coordinates is larger than the predetermined threshold Dth, the node 10 transmits the packet using the WLAN module (Step S93).
On the other hand, if the sum of the difference between the X-coordinates and the difference between the Y-coordinates is not larger than the predetermined threshold Dth, the node 10 determines whether the X-coordinate of the destination X1 is equal to the X-coordinate of the own node X2 (Step S86). If the X-coordinate of the destination X1 is not equal to the X-coordinate of the own node X2, which is a case in which the own node is not the relay node, the node 10 discards the packet (Step S92).
On the other hand, if the X-coordinate of the destination X1 is equal to the X-coordinate of the own node X2, the node 10 determines whether the Y-coordinate of the own node Y2 is equal to the Y-coordinate of the transmission source Y3 (Step S87). If the Y-coordinate of the own node Y2 is not equal to the Y-coordinate of the transmission source Y3, which is a case in which the own node is not the relay node, the node 10 discards the packet (Step S91).
On the other hand, if the Y-coordinate of the own node Y2 is equal to the Y-coordinate of the transmission source Y3, which is a case in which the own node is the relay node, the node 10 determines whether the Y-coordinate of the destination Y1 is larger than the Y-coordinate of the own node Y2 (Step S88). If the Y-coordinate of the destination Y1 is larger than the Y-coordinate of the own node Y2, the node 10 transmits the packet using the upper unit for 60 G wireless 146a (Step S89). On the other hand, if the Y-coordinate of the destination Y1 is not larger than the Y-coordinate of the own node Y2, the node 10 transmits the packet using the lower unit for 60 G wireless 146b (Step S90).
As illustrated in
On the other hand, if the destination of the packet is not the own node, the node 10 performs NAT retrieval, that is, table retrieval based on the destination MAC address and the own node using the NAT 142b (Step S103), and retrieves the NIDs of the destination and the own node. The node 10 then performs GID-WSTA retrieval, that is, retrieves the GID and the WSTA based on the NID using the GID-WSTA 142c (Step S104), and retrieves the GID and the WSTA of the destination and the own node.
The node 10 determines whether the retrieved GID is equal to its own GID (Step S105). If the retrieved GID is equal to the own GID, the node 10 compares the NIDs of the destination and the own node with each other (Step S106). The node 10 then determines whether the X-coordinate of the destination X1 is equal to the X-coordinate of the own node X2 (Step S107). If the X-coordinate of the destination X1 is not equal to the X-coordinate of the own node X2, which is a case in which the own node is not the relay node, the node 10 discards the packet (Step S113).
On the other hand, if the X-coordinate of the destination X1 is equal to the X-coordinate of the own node X2, the node 10 determines whether the Y-coordinate of the own node Y2 is equal to the Y-coordinate of the transmission source Y3 (Step S108). If the Y-coordinate of the own node Y2 is not equal to the Y-coordinate of the transmission source Y3, which is a case in which the own node is not the relay node, the node 10 discards the packet (Step S112).
On the other hand, if the Y-coordinate of the own node Y2 is equal to the Y-coordinate of the transmission source Y3, which is a case in which the own node is the relay node, the node 10 determines whether the Y-coordinate of the destination Y1 is larger than the Y-coordinate of the own node Y2 (Step S109). If the Y-coordinate of the destination Y1 is larger than the Y-coordinate of the own node Y2, the node 10 transmits the packet using the upper unit for 60 G wireless 146a (Step S110). On the other hand, if the Y-coordinate of the destination Y1 is not larger than the Y-coordinate of the own node Y2, the node 10 transmits the packet using the lower unit for 60 G wireless 146b (Step S111).
If the retrieved GID is not equal to the own GID (No at Step S105), which is a case in which the packet is transmitted to the other group, the node 10 determines whether the WSTA of the own node is 1 (Step S114). If the WSTA of the own node is not 1, the node 10 routes the packet to the 60 G wireless module used in a case of transmitting the packet to the node 10 of which the WSTA is 1 in the group. That is, the node 10 compares the NID having the STA function in its own group with the NID of the own node (Step S115), and the process proceeds to Step S107. On the other hand, if the WSTA of the own node is 1, the node 10 transmits the packet using the WLAN module (Step S116).
In this way, when receiving the packet, the node 10 discards the received packet in a case in which the own node is not the destination nor the relay node. Accordingly, only the relay node can relay the packet, which can prevent a plurality of same packets from being transmitted to the destination.
As described above, in the third embodiment, in a case of transmitting the packet using the 60 G wireless, the node 10 transmits the packet to the relay node of which the Y-coordinate is the same as that of the own node and the X-coordinate thereof is the same as that of the destination node 10 using left or right 60 G wireless modules. The relay node then transmits the received packet to the destination node 10 using upper or lower 60 G wireless modules. Accordingly, when the node 10 transmits the packet using the 60 G wireless, the number of relay nodes 10 can be reduced and the packet can be transmitted at higher speed.
In the third embodiment, described is the case in which the transmission source node transmits the packet to the node 10 in the horizontal direction and the relay node transmits the packet to the destination in the vertical direction. Alternatively, the transmission source node may transmit the packet to the node 10 in the vertical direction and the relay node may transmit the packet to the destination in the horizontal direction.
In the first to the third embodiments, described is the case in which the XB is implemented in hardware. Alternatively, by implementing a routing function of the XB with software, a communication program having the same function can be obtained. The following describes a hardware configuration of the XB that executes the communication program.
The host I/F 141 is an interface with the CPU 11 of its own node. The host I/F 141 passes the packet received from the CPU 11 to the MPU 151, and passes the packet received from the MPU 151 to the CPU 11 of the own node. The I/F 145 converts a signal received from the 60 G wireless module or the WLAN module into a packet, and passes the packet to the MPU 151. The I/F 145 also converts the packet received from the MPU 151 into a signal and passes the signal to the 60 G wireless module or the WLAN module connected thereto.
The MPU 151 is a processing unit that reads and executes the communication program from the flash memory 152. The flash memory 152 is a nonvolatile memory that stores therein the communication program. The flash memory 152 also stores therein information stored in the NAT 142b and the GID-WSTA 142c, and information stored in the NI register 148. The RAM 153 is a memory that stores therein a table or a result in the midway obtained in the execution of the computer program. The information stored in the NAT 142b and the GID-WSTA 142c is read out from the flash memory 152 to be written to the RAM 153 when the communication program is executed.
In the first to third embodiments, described is a case of using the WLAN and the 60 G wireless that uses the frequency of 60 GHz band. However, the present invention is not limited to the 60 G wireless and the WLAN, and may also be applied to a case of appropriately combining two types of wireless module or wired communication of which the communication speed and range where radio waves reach are different.
According to an embodiment, a proper routing destination can be automatically determined with respect to a large number of destinations.
All examples and conditional language recited herein are intended for pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2013-190803 | Sep 2013 | JP | national |