This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2010-180034 filed on Aug. 11, 2010, the entire contents of which are incorporated herein by reference.
The technique relates to communication control of a wired network.
An amount of traffic flowing through information communication networks has substantially increased recently, and power consumption has also increased in the networks accordingly. In particular, power consumption of routers is pronounced.
Techniques for transmitting data in a time-division manner (such as time division multiplexing (TDM)) are available. In TDM, one frame is segmented into a plurality of time slots (hereinafter simply referred to as a slot), and different data are transferred on a per slot basis. When data are transferred in TDM, communication apparatuses perform precise time synchronization. High-precision time counting function satisfying IEEE 1588 standards is used, leading to a cost increase.
Related art techniques are described in Japanese Unexamined Patent Application Publication Nos. 3-46432 and 2006-277306.
According to an aspect of the invention, a relay apparatus including: a plurality of communication interfaces; and a processor configured to detect a collision, at which a second communication interface receives a second control packet group from a second communication apparatus while a first communication interface receives one of a first data packet group and a first control packet group from a first communication apparatus, the second control packet group being used to reserve a transmission of a second data packet group during a constant period later than a present frame by one frame out of a frame string representing an operation period of the second communication apparatus, and a communication interface of the second control packet group matching a communication interface of one of the first data packet group and the first control packet group; and transmit a collision occurrence notification to the second communication apparatus in response to a detection of the collision, the collision occurrence notification including adjustment time longer than time from a reception start of a leading packet of the second control packet group to a reception end of a trailing packet of one of the first data packet group and the first control packet group.
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.
The technique in one aspect is directed to communications that allow a plurality of communication apparatuses, which are not synchronized, to communicate with each other over a wired network in a time-division manner.
Referring to
As illustrated in
The packet receiver unit 11 receives a packet from the external network via the communication unit 19, and outputs the received packet to the packet sorter unit 12. The packet sorter unit 12 stores the packet received by the packet receiver unit 11 onto a corresponding queue 121 using data stored on the destination node table storage unit 13 and the queue management table storage unit 14. If no corresponding queue 121 is present, the packet sorter unit 12 generates a new queue 121, and then registers a queue ID on the queue management table storage unit 14. If the new queue 121 has been generated, the packet sorter unit 12 instructs the scheduler unit 15 to reserve communication of the packet stored on the packet sorter unit 12 (also referred to as a data packet). In response to the instruction from the packet sorter unit 12, the scheduler unit 15 queries the management server 5 about a communication path of the data packet. The scheduler unit 15 also transmits a control packet group for transmission reservation of the data packet to a destination edge node via the communication unit 19 in accordance with the data stored on the schedule DB 16. The reply signal receiver unit 18 receives a reply to the control packet group via the communication unit 19, and outputs the reply to the transmission timing calculator unit 17. In response to the reply to the control packet group, the transmission timing calculator unit 17 calculates a transmission timing of the control packet group, and then stores the transmission timing on the schedule DB 16. If the transmission reservation of the data packet is complete, the scheduler unit 15 transmits the data packet group to the destination edge node via the communication unit 19 in accordance with the data stored on the schedule DB 16.
The destination node table storage unit 13 pre-stores a destination node table of
The queue management table storage unit 14 stores a queue management table of
Data of
The switch unit 31, connected to a plurality of IFs, registers data in the relay table storage unit 32 in response to the reception of the control packet group, and switches IFs in accordance with data stored on the relay table storage unit 32. The collision detector unit 33 monitors the packets flowing through the IFs to detect a collision. A collision occurs, for example, when an input IF receives a data packet group or a control packet group, another control packet group having the same output IF as the output IF of the data packet group or the control packet group is received by another input IF. If the collision detector unit 33 detects a collision, the collision occurrence notifier unit 34 calculates adjustment time, and then transmits a collision occurrence notification including the adjustment time to a transmission source edge node.
The relay table storage unit 32 stores a relay table of
The process flow of the transmission reservation of the data packet is described below with reference to
The edge node 1A transmits the control packet group at the determined transmission timing. The edge node 1A sets the slot ID and the communication path information set in the added record at a control packet within the control packet group.
Upon receiving the control packet group, the relay node 3A checks that no collision occurs at which the control packet group happens to have the same output IF as the output IF of the data packet group or another control packet group. It is assumed here that no collision takes place. The relay node 3A sets in the relay table the identification information of the input IF, and the identification information of the output IF identified by the slot ID and the communication path information included in the control packet, and then outputs the control packet group to the output IF. Similarly, upon receiving the control packet group, the relay node 3B checks that no collision occurs at which the control packet group happens to have the same output IF as the output IF of the data packet group or another control packet group. It is assumed here that no collision occurs. The relay node 3B sets in the relay table the identification information of the input IF, and the identification information of the output IF identified by the slot ID and the communication path information included in the control packet, and then outputs the control packet group to the output IF.
Upon receiving the leading packet of the control packet group, the edge node 1C transmits to the edge node 1A an acknowledgement signal (hereinafter referred to as acknowledgement notification) as a reply to the control packet group. The relay nodes 3A and 3B are switched until the trailing packet of the control packet group has been received such that the packets flow between the edge node 1A and the edge node 1C. The edge node 1A may thus receive the acknowledgement notification from the edge node 1C within the time of the control slot.
If no collision occurs in the relay nodes 3A and 3B, the acknowledgement notification returns to the edge node 1A from the edge node 1C as a reply to the control packet group. The fact that the acknowledgement notification has been received indicates the completion of the transmission reservation of the data packet. The data packet group can be transmitted at the transmission timing one frame later. Since the slot ID and the identification information of the input-output IFs are registered in the relay table of each of the relay nodes 3A and 3B, the data packet is appropriately transmitted from the edge node 1A to the edge node 1C.
Referring to
The edge node 1A transmits the control packet group to the edge node 1C in the process described above. The relay node 3A receives the control packet group from the edge node 1A while relaying the data packet group from the edge node 1B. The relay node 3A then detects the occurrence of the collision, and discards the received control packet group. On the other hand, the relay node 3A continues to transfer the data packet group from the edge node 1B in a bufferless fashion. The relay node 3A calculates the adjustment time δt from the reception start of the leading packet of the control packet group to the reception end of the trailing packet of the control packet group, and transmits a collision signal including the adjustment time (hereinafter also referred to as a collision occurrence notification) to the edge node 1A.
The edge node 1A receives from the relay node 3A the collision occurrence notification including the adjustment time δt within the time of the control slot. The edge node 1A calculates a new transmission timing into which the transmission timing of the control packet group is shifted later by the adjustment time δt, sets the new transmission timing in the corresponding record within the schedule DB 16, and adds the adjustment time δt to the accumulated adjustment time in the record. The edge node 1A determines whether the accumulated adjustment time is shorter than the frame length. If the accumulated adjustment time is shorter than the frame length, the edge node 1A retransmits the control packet group to the edge node 1C at the new transmission timing.
By adjusting the transmission timing, the relay node 3A receives the control packet group from the edge node 1A after the reception of the data packet group from the edge node 1B. The control packet group does not collide with the data packet group from the edge node 1B. The relay node 3A receives the control packet group, checks that no collision occurs, sets in the relay table the identification information of the input IF, and the identification information of the output IF identified by the slot ID and the communication path information included in the control packet, and then outputs the control packet group to the output IF. If no collision occurs in the relay node 3B thereafter, the edge node 1A receives the acknowledgement notification from the edge node 1C and completes the transmission reservation of the data packet as described above.
By shifting the transmission timing by the adjustment time δt, the collision described is prevented. There is a possibility that a new collision occurs in another relay node in the communication path. If a new collision occurs in another relay node, the transmission timing is further adjusted using the adjustment time included in the collision occurrence notification transmitted from the other relay node. The control packet group is simply retransmitted at the adjusted transmission timing. If the accumulated adjustment time becomes equal to or longer than the frame length, there is no slot that permits communication to be performed without collision in view of communication status of the other edge nodes. In such a case, the process ends. If slots become available depending on the communication status, the transmission source edge node defaults the accumulated adjustment time to zero after a constant period of time has elapsed, and the transmission reservation of the data packet may be performed again.
Upon receiving the collision occurrence notification including the adjustment time δt1 from the relay node A within the time of the control slot, the transmission source edge node calculates a new transmission timing using the adjustment time δt1. Since the transmission timing is time 0, δt1 becomes a new transmission timing. The transmission source edge node retransmits the control packet group to the destination edge node at time δt1 (operation (3)).
Upon receiving the control packet group from the transmission source edge node, the relay node A checks that no collision has occurred, and transfers the control packet group to the relay node B (operation (4)). Upon receiving the control packet group from the relay node A, the relay node B checks that no collision has occurred, and transfers the control packet group to the destination edge node (operation (5)).
Upon receiving the leading packet of the control packet group, the destination edge node transmits the acknowledgement notification to the transmission source edge node (operation (6)). Label “Resp(OK)” means the acknowledgement notification. In response to the acknowledgement notification from the destination edge node, the relay node B transfers the acknowledgement notification to the relay node A (operation (7)). Upon receiving the acknowledgement notification from the relay node B, the relay node A transfers the acknowledgement notification to the transmission source edge node (operation (8)). Within the time of the control slot, the transmission source edge node receives the acknowledgement notification from the destination edge node and the transmission reservation of the data packet is complete.
The process of the network system of
If it is determined that the queue 121 serving as the storage destination is not present (no loop from S3), the packet sorter unit 12 generates the queue 121 serving as the storage destination and stores the packet in the queue 121 (S7). The packet sorter unit 12 registers in the queue management table of the queue management table storage unit 14 a new record including a queue ID identifying the generated queue 121 and an identifier of the destination edge node (S9). The packet sorter unit 12 instructs the scheduler unit 15 to perform the transmission reservation of the packet stored on the generated queue 121. In this case, the packet sorter unit 12 outputs to the scheduler unit 15 the queue ID of the generated queue 121 and the identifier of the destination edge node.
The scheduler unit 15 receives the queue ID and the identification information of the destination edge node together with the instruction to perform the transmission reservation from the packet sorter unit 12. The scheduler unit 15 then adds a new record (hereinafter referred to as a reservation target record) to the schedule DB 16, and sets the queue ID and the identification information of the destination edge node in the reservation target record. The scheduler unit 15 transmits to the management server 5 a query about the communication path to the destination edge node via the control line (S11). The query includes the identification information of the transmission source edge node (i.e., the identification information of own edge node), and the identification information of the destination edge node. The scheduler unit 15 receives the communication path information from the management server 5 as a reply to the query about the communication path (S13). The scheduler unit 15 sets the received communication path information in the reservation target record on the schedule DB 16. The scheduler unit 15 also sets the identification information of the IF, which is to receive the packet, in the reservation target record on the schedule DB 16. The communication path information identifies which IF to output the packet to. The scheduler unit 15, the transmission timing calculator unit 17, and the reply signal receiver unit 18 perform a transmission reservation process using the reservation target record on the schedule DB 16 (S15). Processing thus ends. The transmission reservation process is described below with reference to
The scheduler unit 15 determines the transmission timing and the transmission time in accordance with the data stored on the schedule DB 16, and then allocates a new slot ID (S21 of
The reply signal receiver unit 18 receives one of the acknowledgement notification and the collision occurrence notification as a reply to the control packet group (S25), and outputs the received notification to the transmission timing calculator unit 17. If no collision occurs in any of the relay nodes in the communication path, the reply signal receiver unit 18 receives the acknowledgement notification from the destination edge node as a reply to the control packet group. If a collision occurs in one of the relay nodes in the communication path, the reply signal receiver unit 18 receives the collision occurrence notification from the relay node suffering from the collision as a reply to the control packet group. Upon receiving the acknowledgement notification from the reply signal receiver unit 18 (yes loop from S27), the transmission timing calculator unit 17 sets “reservation completed” in the column of the accumulated adjustment time in the reservation target record on the schedule DB 16. The scheduler unit 15 then transmits the data packet group to the destination edge node at the transmission timing one frame later (S29). Processing completes the process then returns to the preceding process.
Upon receiving the collision occurrence notification from the reply signal receiver unit 18 (no loop from S27), the transmission timing calculator unit 17 acquires the adjustment time δt from the collision occurrence notification (S31). The transmission timing calculator unit 17 adds the acquired adjustment time δt to the value of the accumulated adjustment time at the reservation target record on the schedule DB 16 (S33), and determines whether the accumulated adjustment time is shorter than the frame length (S35). If the accumulated adjustment time is equal to or longer than the frame length (no loop from S35), processing completes the process, and then returns to the preceding process. The value of the accumulated adjustment time equal to or longer than the frame length means that there is no slot that permits communication to be performed without collision in view of communication status of the other edge nodes.
If the accumulated adjustment time is shorter than the frame length (yes loop from S35), the transmission timing calculator unit 17 calculates a new timing into which the transmission timing set in the reservation target record on the schedule DB 16 is shifted later by the adjustment time δt, and sets the new transmission timing on the reservation target record (S37). Processing then returns to S23. In S23, the scheduler unit 15 retransmits the control packet group at the new transmission timing.
A process of the edge router 1 performed when the control packet group is received from the transmission source edge node is described with reference to
When the trailing packet of the data packet group has been received (yes loop from S59), the switch unit 31 completes outputting to the output IF after outputting the trailing packet to the identified output IF (S61). Processing thus ends.
The transmission source edge node uses the control packet group to determine whether a collision is to occur, and transmits the data packet group at a timing free from collision. Since no collision occurs between the data packet groups at the relay node, the data packet group is relayed in a bufferless fashion.
If no collision is detected (no loop from S73), the switch unit 31 tentatively registers in the relay table the slot ID, the identification information of the input IF, and the identification information of the output IF identified by the communication path information (S79). Since there is a possibility that a collision occurs in another relay node in the communication path, the tentative registration is performed. The switch unit 31 outputs the received control packet group to the output IF (S81).
The switch unit 31 receives one of the acknowledgement notification and the collision occurrence notification as a reply to the control packet group (S83). If no collision occurs in any of the relay nodes in the communication path, the switch unit 31 receives the acknowledgement notification from the destination edge node as a reply to the control packet group. If a collision occurs in a relay node in the communication path, the switch unit 31 receives the collision occurrence notification from the relay node suffering from the collision as a reply to the control packet group. If the notification received in S83 is a collision occurrence notification (yes loop from S85), the switch unit 31 deletes the data tentatively registered in the relay table in S79 (S87). Processing proceeds to S89.
If the notification received in S83 is an acknowledgement notification (no loop from S85), processing proceeds to S89. In such a case, the data tentatively registered in S79 is considered as final, and used to relay an incoming data packet group.
The switch unit 31 transmits one of the acknowledgement notification and the collision occurrence notification received in S83 to the transmission source edge node (S89). Process thus ends.
Through the above-described process, the transmission source edge node is notified of the collision occurrence notification including the adjustment time if a collision occurs. The transmission source edge node may appropriately adjust the transmission timing. Since the slot ID and the identification information of the input and output IFs are registered in the relay table, the data packet group coming in thereafter is relayed in a bufferless fashion.
An option field included the IP header of the IP packet may be used for the collision occurrence notification and the acknowledgement notification.
The “unit of time” field represents a unit of time of the adjustment time (0: s, 1: ms, and 2: μs). The “adjustment time” field represents a time value falling within a range of 0-232.
For the acknowledgement notification, data is set in option fields of
In the network configuration described above, the relay nodes are connected to two edge nodes. The edge node may be connected to three or more edge nodes.
A collision may now occur in the relay node 3A as illustrated in
The relay node 3A calculates time T2 of the later received control packet group (the control packet group from the edge node 1B in
The second embodiment is described below with reference to
Upon receiving the control packet group from the relay node A, the relay node B checks that no collision has occurred, and transmits the control packet group to the destination edge node (operation (14)). Upon receiving the leading packet of the control packet group, the destination edge node transmits the acknowledgement notification to the transmission source edge node (operation (15)). Label “Resp(OK)” represents the acknowledgement notification. Upon receiving the acknowledgement notification from the destination edge node, the relay node B transmits the acknowledgement notification to the relay node A (operation (16)).
Upon receiving the collision occurrence notification including the adjustment time δt1 from the relay node A within the time of the control slot, the transmission source edge node calculates a new transmission timing using the adjustment time δt1. Since the transmission timing is time 0, δt1 becomes a new transmission timing. The transmission source edge node retransmits the control packet group to the destination edge node at time δt1 (operation (17)). Upon receiving the control packet group from the transmission source edge node and the acknowledgement notification from the relay node B, the relay node A transmits the acknowledgement notification to the transmission source edge node (operation (18)). The transmission source edge node receives the acknowledgement notification from the destination edge node within the time of the control slot, and the transmission reservation of the data packet is thus complete.
The relay router 3 of the embodiment includes switch unit 31, relay table storage unit 32, collision detector unit 33, collision occurrence notifier unit 34, buffer unit 35, and control unit 36. The switch unit 31, the relay table storage unit 32, the collision detector unit 33, and the collision occurrence notifier unit 34 are basically identical to the counterparts thereof in the first embodiment. In the embodiment, the switch unit 31 makes a copy of the received control packet group and then temporarily stores the copy on the buffer unit 35. Upon detecting a collision, the collision detector unit 33 notifies the control unit 36 of the occurrence of the collision. Upon receiving a collision occurrence notification from the collision detector unit 33, the control unit 36 outputs the control packet group temporarily stored on the buffer unit 35 to the output IF via the switch unit 31 after the reception end of the trailing packet of the data packet group.
Referring to
The switch unit 31 receives one of the acknowledgement notification and the collision occurrence notification as a reply to the control packet group output in S97 (S99). If no collision occurs in any of the relay nodes in the communication path, the switch unit 31 receives the acknowledgement notification from the destination edge node as a reply to the control packet group. If a collision occurs in a relay node in the communication path, the switch unit 31 receives the collision occurrence notification from the relay node suffering from the collision as a reply to the control packet group. If the notification received in S99 is a collision occurrence notification (yes loop from S101), the switch unit 31 deletes the data tentatively registered in the relay table in S95 (S103). Processing then proceeds to S105.
If the notification received in S99 is an acknowledgement notification (no loop from S101), processing proceeds to S105. In such a case, the data tentatively registered in S95 is considered as final, and used to relay an incoming data packet group.
The switch unit 31 transmits one of the acknowledgement notification and the collision occurrence notification received in S99 to the transmission source edge node (S105).
The process (operations S95-S105) performed when no collision is detected is identical to the process (operations S79-S89) in the first embodiment. Processing proceeds to a process of
If a collision is detected (yes loop from S93), processing proceeds to a process of
Processing proceeds to the process of
After the reception end of the trailing packet of the colliding data packet group is received, the control unit 36 outputs the control packet group stored on the buffer unit 35 to the output IF via the switch unit 31 (S111). If the control packet groups collide with each other, the control unit 36 outputs the control packet group stored in the buffer unit 35 (i.e., the later received control packet group) to the output IF via the switch unit 31 after the reception end of the trailing packet of the earlier received control packet group. The control unit 36 sets the internal state thereof to “wait for reply” (S113).
Since the collision occurrence notification is transmitted to the transmission source edge node in S109, the control packet group retransmitted from the transmission source edge node at a new transmission timing is to be received thereafter. Since the control packet group is output to the output IF in S111, one of the acknowledgement notification and the collision occurrence notification is received as a reply to the control packet group.
The control unit 36 determines whether a control packet group retransmitted from the transmission source edge node has been received (S115). If the control unit 36 determines that a control packet group retransmitted from the transmission source edge node has been received (yes loop from S115), processing proceeds to the process of
Upon determining that the control packet group retransmitted from the transmission source edge node has not been received (no loop from S115), the control unit 36 determines whether a reply to the control packet group output in S111 (i.e., one of the acknowledgement notification and the collision occurrence notification) has been received (S117). If the control unit 36 determines that the reply to the control packet group has not been received (no loop from S117), processing returns to S115.
Upon determining that the reply to the control packet group has been received (yes loop from S117), the control unit 36 determines whether the collision occurrence notification has been received as a reply to the control packet group (S119). If it is determined that the collision occurrence notification has been received as a reply to the control packet group (yes loop from S119), the control unit 36 sets the internal state to be an “unacceptable reply” (S121). Processing then returns to S115. If it is determined that the collision occurrence notification has not been received as a reply to the control packet group (no loop from S119), the control unit 36 sets the internal state to be an “acceptable reply” (S123). Processing then returns to S115. The control unit 36 then stores in the buffer unit 35 one of the acknowledgement notification and the collision occurrence notification received.
Processing proceeds to the process of
If the internal state is in “wait for reply” (yes loop from S125), the control unit 36 rechecks the internal state after the elapse of the constant period (S127). If the reply to the control packet group has been received within the constant period, operations in S117-S123, although not illustrated in
The control unit 36 rechecks the internal state after the elapse of the constant period. Upon determining that the internal state remains in the “wait for reply” (yes loop from S129), the control unit 36 determines that the internal state is faulty because no reply has been returned within the constant period. The control unit 36 transmits a fault occurrence notification to the transmission source edge node (S131). Processing thus ends.
In S133, the control unit 36 determines whether the internal state is in the “acceptable reply” (S133). Upon determining that the internal state is in the “acceptable reply” (yes loop from S133), the control unit 36 registers in the relay table the slot ID, the identification information of the input IF, and the identification information of the output IF identified by the communication path information (S135). The internal state is determined as being in the “acceptable reply” if the acknowledgement notification is received as a reply to the control packet group output in S111. The control unit 36 then transmits the acknowledgement notification stored in the buffer unit 35 to the transmission source edge node (S137). Processing then ends.
If the control unit 36 determines that the internal state is not in the “acceptable reply” (no loop from S133), i.e., that the internal state is in the “unacceptable reply,” processing proceeds to S139. The internal state is determined as being in the “unacceptable reply” if the collision occurrence notification is received as a reply to the control packet group output in S111. The control unit 36 then transmits the collision occurrence notification stored on the buffer unit 35 to the transmission source edge node (S139). Processing thus ends.
The above-described process allows the system to check in advance whether a collision is to occur in another relay node in the communication path.
The third embodiment is described below with reference to
Upon receiving the control packet group, the relay node A identifies an overlapping period of the use enable period set in the control packet and an idling period of the output IF identified by the communication path information. A period from T1 to Tmax is set as the overlapping period. The relay node A sets the overlapping period in the control packet, and outputs the control packet group to the relay node B (operation (22)).
Upon receiving the control packet group, the relay node B identifies an overlapping period of the use enable period set in the control packet and an idling period of the output IF identified by the communication path information. A period from T2 to Tmax is identified as the overlapping period. The relay node B sets the overlapping period in the control packet, and outputs the control packet group to the destination edge node (operation (23)).
Upon receiving the control packet group from the relay node B, the destination edge node transmits a reply packet with the remaining period (T2 to Tmax) set therewithin to the transmission source edge node (operation (24)). Label “Resp” of
Upon receiving the reply packet, the transmission source edge node determines the transmission timing from the period set in the reply packet and transmits the data packet group at the transmission timing. This process is described in detail below. The frame start timings of the nodes are not synchronized with each other, and the overlapping period is identified taking into consideration a time difference between the nodes.
The relay router 3 of the embodiment includes switch unit 31, relay table storage unit 32, collision detector unit 33, time difference calculator unit 37, shift time storage unit 38, and period data processor unit 39. The switch unit 31 and the collision detector unit 33 basically remain unchanged from the counterparts thereof in the first embodiment. In the embodiment, the switch unit 31 outputs the received control packet group to the period data processor unit 39, and outputs the reception start notification of the leading packet of the control packet group to the time difference calculator unit 37. If a collision is detected, the collision detector unit 33 notifies the period data processor unit 39 of the occurrence of the collision. Upon receiving the reception start notification from the switch unit 31, the time difference calculator unit 37 calculates a period from the frame start time of the own node to the reception start of the leading packet of the control packet group (hereinafter referred to as a shift time), and stores the shift time on the shift time storage unit 38. In response to the reception of the control packet group from the switch unit 31, the period data processor unit 39 identifies an overlapping time of the use enable period set in the control packet and the idling time in accordance with data stored on the relay table storage unit 32 and the shift time storage unit 38. The period data processor unit 39 sets the overlapping period in the control packet, and outputs the control packet group to the output IF via the switch unit 31.
The relay table storage unit 32 of the embodiment stores the relay table of
The shift time storage unit 38 stores data of
A process of the edge router 1 performed in response to the reception of the packet from the external network is described below. The process flow of the main routine remains unchanged from the process of
The scheduler unit 15 determines a transmission scheduled time of the control packet group, and then allocates a new slot ID (S141 of
The scheduler unit 15 transmits the control packet group to the destination edge node at the determined transmission scheduled time, with the control packet group including the control packet, and the control packet including the use enable period data, the slot ID, and the communication path information (S145).
The reply signal receiver unit 18 receives a reply packet including data representing a transmission enable period within which the relay node in the communication path can transmit the data packet group in a collision-free fashion (S147), and outputs the reply packet to the transmission timing calculator unit 17.
Upon receiving the reply packet from the reply signal receiver unit 18, the transmission timing calculator unit 17 determines a transmission period for transmitting the data packet group (i.e., the transmission timing and the transmission time) from the transmission enable period included in the reply packet (S149). The transmission timing calculator unit 17 sets the transmission timing and the transmission time in the reservation target record on the schedule DB 16, and sets “reservation completed” in the accumulated adjustment time column.
The scheduler unit 15 transmits the data packet group to the destination edge node in the transmission period one frame later (S151). The slot ID included in the reservation target record on the schedule DB 16 is set in the leading packet of the data packet group. Processing then returns to the main routine.
The use enable period data and the transmission enable period data may be set in the option fields of the IP header. Data of
A process of the relay router 3 relaying the control packet group is described below with reference to
In response to the reception of the reception start time and the control packet from the switch unit 31, the time difference calculator unit 37 calculates the shift time from the frame start of the own relay node to the reception start of the leading packet of the control packet group, and stores the shift time on the shift time storage unit 38 (S163). It is noted that the time difference calculator unit 37 stores on the shift time storage unit 38 the shift time with an address of the transmission source edge node and an address of the destination edge node set in the IP header of the control packet mapped to the shift time.
Upon receiving the control packet from the switch unit 31, the period data processor unit 39 identifies the output IF from the communication path information included in the control packet and identifies the idling time of the identified output IF from the data stored on the relay table storage unit 32 (S165). More specifically, the period data processor unit 39 retrieves from the relay table storage unit 32 a record including the identification information of the identified output IF, and identifies, as the idling time, time other than the reservation period set in the retrieved record. The period data processor unit 39 shifts the use enable period by the shift time with respect to the idling period of the output IF, and then identifies an overlapping period of the idling time of the output IF and the shifted use enable time (S167). The process content in step S167 is diagrammatically illustrated in
As illustrated in
If the idling time of the output IF does not overlap the use enable period (no loop from S169), the period data processor unit 39 transmits the collision occurrence notification to the transmission source edge node (S171). In the embodiment, the transmission of the collision occurrence notification notifies the transmission source edge node that no transmission enable period is available. Processing thus ends.
If the idling time of the output IF overlaps the use enable period (yes loop from S169), processing proceeds to a process of
Referring to
The period data processor unit 39 registers the slot ID, the identification information of the input IF, and the identification information of the output IF on the relay table storage unit 32, and registers as the reservation period the overlapping period on the relay table storage unit 32 (S175). At this point of time, the overlapping period is registered as the reservation time because it is unknown which part of the overlapping period is actually used to transmit the data packet group.
The switch unit 31 then receives one of the reply packet including data representing the transmission enable period and the collision occurrence notification (S177), and outputs the received data to the period data processor unit 39. If the control packet group reaches the destination edge node, the switch unit 31 receives the reply packet from the destination edge node. If it is determined that no overlapping period is present in the relay node in the communication path, the switch unit 31 receives the collision occurrence notification from the relay node.
Upon receiving the collision occurrence notification from the switch unit 31 (yes loop from S179), the period data processor unit 39 deletes the data registered in the relay table in S175 (S181). The period data processor unit 39 then transmits the collision occurrence notification to the transmission source edge node (S183). Processing returns to the process of
Upon receiving the reply packet from the switch unit 31 (no loop from S179), the period data processor unit 39 searches the shift time storage unit 38 for the transmission IP address and the reception IP address included in the IP header of the reply packet, and updates the transmission enable period in accordance with the shift time corresponding to the transmission source edge node and the destination edge node (S185). Operation S185 is specifically described with reference to
With reference to
The period data processor unit 39 sets the data representing the updated transmission enable period in the reply packet, and transmits the reply packet to the transmission source edge node (S187). As illustrated in
The above-described process appropriately identifies the overlapping period of the use enable period and the idling time of the relay node.
The use enable period is shifted by the shift time with respect to the idling period of the relay node in S167. Alternatively, the idling period of the relay node may be shifted by the shift time with respect to the use enable period. In this case, however, a period resulting from shifting the identified overlapping period by the shift time in a direction opposite to the direction of the idling period may be registered as the reservation period in S175. As illustrated in
With reference to
If the trailing packet of the data packet group has been received (yes loop from S199), the switch unit 31 ends the outputting to the output IF after outputting the trailing packet to the identified output IF (S201). The switch unit 31 stores the reception end time of the trailing packet of the data packet group on the storage unit.
The switch unit 31 identifies a period used to transmit the data packet group in accordance with the reception start time of the leading packet of the data packet group to the trailing packet of the data packet group stored on the storage unit (S203). The switch unit 31 identifies on the relay table storage unit 32 the record including the slot ID extracted in S193. The switch unit 31 identifies the overlapping period between the reservation time of the identified record and the period used to transmit the data packet group, and updates the reservation time with the identified overlapping period (S205). The operation in S205 is diagrammatically illustrated in
Through the above operation in S167, a period from time ta to time tb may be identified as the overlapping period, and may be registered as the reservation time. Since the relay node does not know which part of the overlapping period is used until the data packet group has been received, the overlapping period is registered as the reservation time. The period actually used to transmit the data packet group is assumed here to be a period from time ta to time tc. In S205, a period from ta to time tc is identified as the overlapping period, and the reservation time is the period from ta to time tc. A period from time tc to time tb is regarded as an idling period, and is thus used to transmit another data packet group.
The embodiments of the technique have been described. The technique is not limited to the embodiments. For example, the function block diagrams of the edge router 1, the relay router 3, and the management server 5 do not necessarily correspond an actual program module configuration. The structure of each of the storage units has also been described for exemplary purposes only. In the process flow, operations may be changed in order as long as the process results remain the same. Operations may be performed in parallel.
The management server 5 described above may be a computer. As illustrated in
As illustrated in
The embodiments may be summarized as below.
The relay apparatus of the first embodiment includes (A) a collision detector unit (the collision detector unit 1501 of
If the collision occurs in the relay apparatus, relaying the data packet group in a bufferless fashion at the transmission timing intended by the second communication is difficult. The second communication apparatus is thus notified of the above-described adjustment time to shift the transmission timing of the second control packet group. If the second control packet group does not collide at any of the relay apparatuses in the communication path, data communication is performed without the need for establishing synchronization between the communication apparatuses.
The second control packet group may include a control packet including an identifier and communication path information. The control packet is to be set in the leading packet of the second data packet group. The relay apparatus may further include a switch unit. If no collision is detected during the reception of the second control packet group, the switch unit outputs the second control packet group to a transmission destination interface identified by the communication path information included in the control packet in the second control packet group, and registers, in a relay table, reservation information, the reservation information including the identifier included in the control packet, and identification information of the second transmission source interface and the transmission destination interface. With the reservation information registered in this way, the second data packet group to be transmitted later may be relayed appropriately.
If the collision occurrence notification is received from another relay apparatus in a communication path identified by the communication path information as a reply to the second control packet group, the switch unit may delete the registered reservation information from the relay table and transmit the collision occurrence notification to the second communication apparatus. Upon receiving an acknowledgement notification from a transmission destination communication apparatus identified by the communication path information as a reply to the second control packet group, the switch unit may use the registered reservation information to relay the second data packet group and transmit the acknowledgement notification to the second communication apparatus. Even if no collision is detected in own relay apparatus, a collision may still be detected in another relay apparatus. In such a case, the reservation information registered on own relay apparatus is deleted. If no collision is detected in another relay apparatus, the data packet group is relayed using the registered reservation information.
The leading packet of the second data packet group may include the same identifier as the identifier included in the control packet used to reserve the transmission of the second data packet group. If the second transmission source interface receives the leading packet of the second data packet group, the switch unit identifies the transmission destination interface corresponding to the identification information of the second transmission source interface and the identifier included in the leading packet of the second data packet group, and outputs the second data packet group to the identified transmission destination interface until the reception end of a trailing packet of the second data packet group. With this arrangement, the data packet group is relayed without the need for a routing process. Since the data packet groups are free from collision with each other, no buffer is needed. Power saving may be achieved in the relay apparatus.
The relay apparatus may further include a control unit. The control unit outputs, in response to the detection of a collision, the second control packet group to a transmission destination interface identified by the communication path information included in the control packet of the second control packet group after the reception end of the trailing packet of one of the first data packet group and the first control packet group. With this arrangement, whether a collision is to occur in another relay apparatus is checked in advance.
Upon receiving an acknowledgement notification from a transmission destination communication apparatus identified by the communication path information and the second control packet group retransmitted from the second communication apparatus in response to the collision occurrence notification transmitted by the collision occurrence notifier unit, the control unit registers, in a relay table, reservation information, the reservation information including the identifier, included in the control packet, and identification information of the second transmission source interface and the transmission destination interface, and transmits the acknowledgement notification to the second communication apparatus. Upon receiving a collision occurrence notification from another relay apparatus in a communication path identified by the communication path information and the second control packet group retransmitted by the second communication apparatus, the control unit transmits the collision occurrence notification to the second communication apparatus. Whether a collision is to occur in another relay apparatus is checked in advance. To this end, the reservation time may be registered in response to the acknowledgement notification from the transmission destination communication apparatus and the second control packet group retransmitted from the second communication apparatus if the second control packet group is output to the transmission destination interface.
The communication apparatus of the second embodiment includes (A) a scheduler unit (the scheduler unit 1601 of
This arrangement allows the first control packet group to be retransmitted with the currently occurring collision bypassed. If yet another collision occurs, the first control packet group may be retransmitted with that collision bypassed. The transmission of the data packet group in a constant period one frame later is reserved. Time division communications are thus performed even if no synchronization is established among the communication apparatuses.
The first control packet group may include a control packet including an identifier identifying the constant period within the frame. Upon receiving an acknowledgement notification from the transmission destination communication apparatus of the first data packet group as a reply to the first control packet group, the scheduler unit sets at a leading packet of the first data packet group the same identifier as the identifier included in the control packet within the first control packet group transmitted last and transmits the first data packet group at a transmission timing later than by one frame a transmission timing of the first control packet group transmitted last. The data packet group is thus transmitted to the transmission destination communication apparatus at a timing free from a collision with another data packet group.
The communication apparatus of the third embodiment includes (A) a scheduler unit and (B) a transmission period determiner unit. The scheduler unit generates data representing a use enable period for a transmission of a data packet group with a transmission scheduled time of a control packet group serving as reference time, and transmits the control packet group including a control packet to a transmission destination communication apparatus of the data packet group at the transmission scheduled time, the control packet including the data representing the use enable period and an identifier allocated to the transmission of the data packet group. Upon receiving a reply packet including data representing as a transmission enable time an overlapping period of an idling period of a relay apparatus in a communication path routing to the transmission destination communication apparatus of the data packet group and the use enable period, the transmission determiner unit determines a transmission period for the data packet group in accordance with the transmission enable period. The scheduler unit sets at a leading packet of the data packet group the identifier allocated to the transmission of the data packet group and transmits the data packet group during the determined transmission period. With this arrangement, the transmission period of the data packet group is determined from the transmission enable period. The data packet group may thus be transmitted in a manner free from collision with another data packet group. Time-division communication is thus performed even if no synchronization is established among the communication apparatuses.
The relay apparatus of the fourth embodiment includes (A) a time difference calculator unit and (B) a period data processor unit. Upon receiving from a communication apparatus a control packet group including a control packet, the control packet including data representing a use enable period for transmission of a data packet group, an identifier allocated to the transmission of the data packet group, and communication path information, the time difference calculator unit calculates a shift time from a frame start time of a frame at a reception start time of a leading packet of the control packet group within a frame string representing an operation period of own relay apparatus to a reception start of the leading packet of the control packet group. The period data processor unit shifts, by the shift time, one of an idling period of a transmission destination interface identified by the communication path information included in the control packet and the use enable period with respect to the other of the idling period and the use enable period, identifies a first overlapping period between the idling period of the transmission destination interface and the use enable period, sets data representing the first overlapping period at the control packet, and outputs the control packet to the transmission destination interface. One of the use enable period of the control packet and the idling period of the transmission source interface is shifted with respect to the other of the use enable period and the idling period. The overlapping period is thus appropriately identified.
The control packet may further include an identifier allocated to the transmission of the data packet group. If the first overlapping period is a period identified with respect to the use enable period, the period data processor unit registers, in a relay table, reservation information, the reservation information including data representing a reservation period into which the first overlapping period is shifted by the shift time in a direction opposite to the direction of the idling time of the transmission destination interface, the identifier included in the control packet, and identification information of a transmission source interface and the transmission destination interface. If the first overlapping period is a period identified with respect to the idling time of the transmission source interface, the period data processor unit registers, in the relay table, reservation information, the reservation information including, as data representing the reservation period, data representing the first overlapping period, the identifier included in the control packet, and the identification information of the transmission source interface and the transmission destination interface. Which part of the overlapping period to use to transmit the data packet group is not known at the moment the control packet is received. The reservation information including as the reservation period the overlapping period is thus registered.
A leading packet of the data packet group may include the identifier allocated to the transmission of the data packet group. The relay apparatus of the fourth embodiment may further include a switch unit. In response to the reception of the leading packet of the data packet group, the switch unit identifies the transmission destination interface corresponding to the identification information of the transmission source interface and the identifier included in the leading packet of the data packet group in the relay table, outputs the data packet group to the identified transmission destination interface until a reception end of a trailing packet of the data packet group, identifies a second overlapping period of a reservation period corresponding to the identification information of the transmission source interface and the identifier included in the leading packet of the data packet group in the relay table, and a period from a reception start of the leading packet of the data packet group to a reception end of the trailing packet of the data packet group, and updates the reservation period in the relay table with the identified second overlapping period. With this arrangement, a portion of the reservation period unused for the transmission of the data packet group may be excluded from the reservation period, and may be allocated to transmit another data packet group.
A communication control method of a fifth embodiment of the technique includes (A) a step (S1001 of
A communication control method of a sixth embodiment of the technique includes (A) a step (S1101 of
A communication control method of a seventh embodiment of the technique includes (A) a step of generating data representing a use enable period for a transmission of a data packet group with a transmission scheduled time of a control packet group serving as reference time, and transmitting the control packet group including a control packet to a transmission destination communication apparatus of the data packet group at the transmission scheduled time, the control packet including the data representing the use enable period and an identifier allocated to the transmission of the data packet group, (B) a step of determining a transmission period for the data packet group in accordance with a transmission enable period if a reply packet is received, the reply packet including data representing as the transmission enable time an overlapping period of an idling period of a relay apparatus in a communication path routing to the transmission destination communication apparatus of the data packet group and the use enable period, and (C) a step of setting at a leading packet of the data packet group the identifier allocated to the transmission of the data packet group and transmitting the data packet group during the determined transmission period.
A communication control method of an eighth embodiment of the technique includes (A) a step of calculating a shift time from a frame start time of a frame at a reception start time of a leading packet of a control packet group within a frame string representing an operation period of own relay apparatus to a reception start of the leading packet of the control packet group, if the control packet group is received from a communication apparatus, the control packet group including a control packet, the control packet including data representing a use enable period for transmission of a data packet group, an identifier allocated to the transmission of the data packet group, and communication path information, (B) a step of shifting, by the shift time, one of an idling period of a transmission destination interface identified by the communication path information included in the control packet and the use enable period with respect to the other of the idling period and the use enable period, and identifying a first overlapping period between the idling period of the transmission destination interface and the use enable period subsequent to the shifting, and (C) a step of setting data representing the first overlapping period at the control packet, and outputting to the transmission destination interface the control packet with the first overlapping period set.
A program for causing a computer to perform the process of the information integration method is produced. The program may be stored on one of computer-readable storage media including a flexible disk, a CD-ROM, an optical disk, a semiconductor memory, and a hard disk, or may be stored in a storage device. Interim process results may be temporarily stored in a storage device such as a RAM.
In the above embodiments, the edge routers or the relay routers include, for example, a plurality of communication interfaces, a processor, a memory, a logic circuit, and so on. The communication interfaces are a device for communicating to other apparatus. Examples of the network interface include Ethernet interface and a wireless LAN interface. The processor is a device for processing data. Examples of the processor include a central processing unit (CPU) and a digital signal processor (DSP). The memory is a device for storing data. Examples of the memory include a read only memory (ROM) and a random access memory (RAM). The logic circuit is an electronic circuit which performs a logical operation. Examples of the logic circuit include a large scale integration (LSI) circuit, a field-programming gate array (FPGA), Application Specific Integrated Circuit (ASIC). In the above embodiments, the hardware realizes the respective functions of the edge routers or the relay routers. For example, the switch unit of
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation 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 embodiment(s) of the present invention(s) has(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 |
---|---|---|---|
2010-180034 | Aug 2010 | JP | national |