[go: up one dir, main page]

WO2015194072A1 - Relay apparatus, communication apparatus, management apparatus, relay method and relay program - Google Patents

Relay apparatus, communication apparatus, management apparatus, relay method and relay program Download PDF

Info

Publication number
WO2015194072A1
WO2015194072A1 PCT/JP2015/000600 JP2015000600W WO2015194072A1 WO 2015194072 A1 WO2015194072 A1 WO 2015194072A1 JP 2015000600 W JP2015000600 W JP 2015000600W WO 2015194072 A1 WO2015194072 A1 WO 2015194072A1
Authority
WO
WIPO (PCT)
Prior art keywords
connection
information
unit
packet
time slot
Prior art date
Application number
PCT/JP2015/000600
Other languages
French (fr)
Japanese (ja)
Inventor
亮仁 小比賀
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2016528980A priority Critical patent/JPWO2015194072A1/en
Publication of WO2015194072A1 publication Critical patent/WO2015194072A1/en

Links

Images

Definitions

  • the present invention relates to a relay device, a communication device, a management device, a relay method, and a relay program.
  • Patent Document 1 describes an example of a synchronous scheduling system (first page of Patent Document 1, FIG. 1, etc.).
  • FIG. 28 is a block diagram showing the configuration of the synchronous scheduling system described in Patent Document 1.
  • the synchronous scheduling system described in Patent Document 1 includes a parallel computer 1 including a PE (Processor Element) communication network 2 and a PE 3.
  • the PE 3 includes an inactivation function 4, a condition setting function 5, an allocation function 6, an interrupt generation function 7, and an activation function 8.
  • the synchronous scheduling system shown in FIG. 28 operates as follows.
  • the inactivation function 4 deactivates the parallel process that has entered the wait state and prohibits the parallel process from being allocated.
  • Allocation function 6 allocates processes of other jobs that can be executed.
  • the interrupt generation function 7 generates an interrupt signal for the process currently being executed.
  • the activation function 8 activates the parallel process that has been waiting for parallel synchronization, and resumes the allocation of the parallel process.
  • the reason why the overhead of the network protocol processing occurs is that the network protocol is used when communication is performed between computers.
  • a network protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol) is used.
  • the computer realizes communication to an arbitrary computer using a network protocol.
  • a predetermined time is required for calculations such as error correction codes and congestion control. Therefore, when an application of a computer under management of synchronous scheduling communicates with an application of another computer, the communicating application is required to wait for a predetermined time while the network protocol is processed.
  • an application to which a CPU is assigned may be switched from a communicating application to another parallel application while the network protocol is processed. Switching of applications to which CPUs are assigned is a first problem when synchronous communication is performed in the synchronous scheduling system described in Patent Document 1.
  • Infiniband registered trademark
  • Non-Patent Documents 1 and 2 Non-Patent Documents 1 and 2.
  • Infiniband also uses a network protocol for performing routing processing. That is, Infiniband is the same as a TCP / IP network in that there is an overhead due to protocol processing.
  • a second problem in synchronous communication in the synchronous scheduling system described in Patent Document 1 is that a plurality of networks that connect computers so that they can communicate with each other when a computer application performs synchronous communication with another computer application. In the device, data is processed asynchronously.
  • the reason why data is processed asynchronously is that network devices sequentially process network data input to the queue.
  • Network devices such as routers and switches operate as follows. For example, in the case of a router, the router arranges packets in a queue in the router in the order of input. Next, the router sequentially extracts packets from the head of the queue (the packet that arrived at the router earliest).
  • the router checks the network protocol of the extracted packet and checks the packet destination. Next, the router sends the packet to the network to which the destination computer is connected.
  • an object of the present invention is to provide a relay device, a communication device, a management device, a relay method, and a relay program that can contribute to synchronous communication without performing network protocol processing.
  • a relay device is a relay device that forwards packets, and includes at least a number that identifies a time slot that is a section divided by a predetermined time interval, and an output port number in the relay device.
  • a connection information storage unit that stores connection information, a connection information processing unit that determines whether connection information corresponding to a time slot to which the current time belongs in the connection information storage unit, and a connection information processing unit that And a packet transfer unit that transfers a packet to an output port indicated by an output port number in the corresponding connection information when it is determined that corresponding connection information exists in the storage unit.
  • a communication apparatus is a communication apparatus that performs packet communication, and at least a number that identifies a time slot that is a section divided by a predetermined time interval, and an interface identifier corresponding to the number that identifies the time slot
  • a connection management information storage unit that stores connection management information
  • a communication processing unit that determines whether or not the connection management information storage unit includes connection management information corresponding to a time slot to which the current time belongs.
  • a communication apparatus is a communication apparatus that performs packet communication, and at least a number that identifies a time slot that is a section divided by a predetermined time interval, and a memory map address corresponding to the number that identifies the time slot
  • a connection management information storage unit that stores connection management information
  • a communication processing unit that determines whether or not the connection management information storage unit includes connection management information corresponding to a time slot to which the current time belongs.
  • a management device is a management device capable of communicating with a communication device and a relay device that transfers packets between the communication devices, and is a number that identifies a time slot that is a section divided at least by a predetermined time interval
  • a time management information storage unit that stores the time management information including the time management information, and a transmission request of a packet including the connection source information and the connection destination information is received from the communication device, and the connection source information and the connection destination information are unallocated time management information
  • a synchronization schedule setting unit that allocates the received connection source information and connection destination information, and a synchronization schedule transmission unit that transmits the time management information assigned to the synchronization schedule setting unit to the communication device and the relay device. It is characterized by.
  • a relay method is a relay method executed in a relay device, and includes at least a number for identifying a time slot which is a section divided by a predetermined time interval and an output port number in the relay device. If the connection information corresponding to the time slot to which the current time belongs is determined in the stored connection information and it is determined that the corresponding connection information exists, The packet is transferred to the output port indicated by the output port number in the corresponding connection information.
  • a relay program is a relay program executed in a relay device, and at the relay device, a number for identifying a time slot that is a section divided by at least a predetermined time interval, and an output port in the relay device.
  • FIG. 4 is an explanatory diagram showing an example of time slot information stored in a time management unit 120.
  • FIG. 3 is an explanatory diagram illustrating an example of a routing table stored in a network switch 300.
  • FIG. 6 is an explanatory diagram illustrating an example of network connection management information stored in a network connection management unit 360.
  • FIG. 5 is a flowchart showing an operation of setting a synchronization schedule by a synchronization schedule setting unit 130.
  • FIG. 10 is a flowchart showing an operation of converting a synchronization schedule into computer connection management information by a synchronization schedule receiving unit 430.
  • 4 is an explanatory diagram illustrating an example of a routing table stored in a computer 200.
  • FIG. 6 is a flowchart showing a conversion operation of a synchronization schedule into network connection management information by a path conversion unit 320. It is a flowchart which shows operation
  • FIG. 6 is an explanatory diagram illustrating an example of network route information stored in a network route information storage unit 160.
  • FIG. It is explanatory drawing which shows the example of the network structure comprised from a server and a network switch.
  • 6 is a flowchart showing an operation of generating network route information by the network route information generating unit 150. It is a flowchart which shows operation
  • FIG. 1 is a block diagram showing a configuration example of a first embodiment of a synchronous scheduling system 10 according to the present invention.
  • a synchronization scheduling system 10 illustrated in FIG. 1 includes a synchronization management server 100, a computer 200, and a network switch 300.
  • the synchronization management server 100, the computer 200, and the network switch 300 are communicably connected via a network 500 indicated by a straight line in FIG. 1 or a network 600 indicated by a dotted line in FIG.
  • the synchronization management server 100 includes a time synchronization unit 110, a time management unit 120, a synchronization schedule setting unit 130, and a synchronization schedule transmission unit 140. Each component operates generally as follows.
  • the time synchronization unit 110 has a function of synchronizing the time of another device in the synchronization scheduling system 10 with the time of the synchronization management server 100.
  • the time synchronization unit 110 is connected to a network 500 that is a network different from the network 600 used for transmission / reception of a synchronization schedule.
  • the time management unit 120 has a function of managing servers that perform synchronous communication via the network 600 at a certain time.
  • the time management unit 120 stores time slot information.
  • the time slot means the right to perform synchronous communication divided at a predetermined time interval.
  • FIG. 2 is an explanatory diagram showing an example of time slot information stored in the time management unit 120.
  • the time slot information includes a time slot number 111, a connection source IP address 112, and a connection destination IP address 113.
  • the time slot number 111 is identification information for uniquely identifying time slot information.
  • the time slot number 111 corresponds to each divided time when a certain unit time is divided. If the unit time is 1 second and the number of time slots is 4, the time allocated to one time slot is 0.25 seconds.
  • the first time slot corresponds to the divided time from 0: 0: 0 to 0: 0: 0.
  • the communication device to which the first time slot is assigned communicates between 0: 0: 0 to 0: 0: 0.
  • the next time slot corresponds to the divided time from 0: 0: 0-25 to 0: 0: 0.
  • the communication device to which the next time slot is assigned communicates between 0: 0: 0-25 and 0: 0: 0: 0.
  • the assignment of communication to time slots is repeated by the number of time slots.
  • connection source IP address 112 indicates an IP address used by the application 220 that requested time slot assignment.
  • connection destination IP address 113 indicates an IP address used by an application communicating with the application 220 that has requested the time slot assignment.
  • the synchronization schedule setting unit 130 receives a synchronization schedule setting request from the application 220. In addition, when there is an empty time slot stored in the time management unit 120, the synchronization schedule setting unit 130 assigns the received synchronization schedule setting request to the time slot.
  • the synchronization schedule setting request from the application 220 is assigned to a single time slot, but the synchronization schedule setting request may be assigned to a plurality of time slots.
  • the time slot information stored in the time management unit 120 includes time slot information to which the connection source IP address 112 and the connection destination IP address 113 are not yet assigned. It means that it exists (hereinafter also referred to as “there is an empty slot”).
  • the synchronization schedule setting request sent from the application 220 includes the connection source IP address 112 and the connection destination IP address 113.
  • the synchronization schedule transmission unit 140 has a function of broadcasting the time slot information set by the synchronization schedule setting unit 130 to the computer 200 and the network switch 300 via the network 600.
  • the transmitted time slot information corresponds to one entry of time slot information stored in the time management unit 120.
  • the computer 200 includes a time synchronization unit 210, an application 220, a computer connection management unit 410, an interrupt processing unit 420, and a synchronization schedule reception unit 430.
  • Each component operates generally as follows.
  • the time synchronization unit 210 has a function of synchronizing the time of the other device of the synchronous scheduling system 10 with the time of the computer 200.
  • the time synchronization unit 210 is connected to a network 500 that is a network different from the network 600 used for transmission / reception of a synchronization schedule.
  • Application 220 has a function of performing synchronous communication with an application running on another computer.
  • the application 220 runs on the computer 200.
  • the application 220 performs various processes such as packet creation, transmission, and reception according to communication contents.
  • the computer connection management unit 410 has a function of storing information necessary for passing an arrived packet to the application 220 or sending a packet from the application 220 at a time corresponding to a certain time slot.
  • FIG. 3 is an explanatory diagram showing an example of computer connection management information stored in the computer connection management unit 410.
  • the computer connection management information includes a time slot number 411, an interface identifier, an interrupt number 413, and a memory map address 414.
  • An interface 412 shown in FIG. 3 corresponds to an identifier of the interface.
  • the time slot number 411 indicates the same number as the time slot number 111.
  • the interface identifier indicates, for example, the identifier of the network card at which the packet arrives or is transmitted at the time corresponding to the time slot number 411.
  • Interrupt number 413 indicates a number notified to the CPU when a packet arrives at the time corresponding to the time slot number 411.
  • the memory map address 414 indicates a memory buffer area used when a packet arriving at the corresponding time slot number 411 is passed to the user program.
  • a packet arriving at time 1 of time slot number 411 is stored in a memory buffer area corresponding to “0x0001-0x000F” indicated by memory map address 414 without performing protocol processing.
  • the interrupt processing unit 420 has a function of storing the arrived packet in the memory buffer area indicated by the memory map address 414 described in the computer connection management information.
  • the interrupt processing unit 420 stores the arrived packet in a certain memory buffer area and then performs network protocol processing. Next, the interrupt processing unit 420 copies the processed packet to the memory buffer area of the destination application 220.
  • network protocol processing may not be performed.
  • the interrupt processing unit 420 in the present embodiment simply performs processing for storing the transmitted packet in the memory buffer area indicated by the memory map address 414 described in the computer connection management information, and performs network protocol processing. Absent.
  • the synchronization schedule reception unit 430 has a function of converting the synchronization schedule sent from the synchronization schedule transmission unit 140 of the synchronization management server 100 via the network 600 into computer connection management information and storing it in the computer connection management unit 410. .
  • the sent synchronization schedule is time slot information.
  • the computer 200 Upon receiving the time slot information, the computer 200 converts the time slot information in accordance with the operation of the computer 200.
  • the synchronization schedule receiving unit 430 converts the received time slot information into computer connection management information.
  • the network switch 300 includes a time synchronization unit 310, a path conversion unit 320, a synchronization schedule reception unit 330, a timer execution unit 340, a physical socket connection unit 350, and a network connection management unit 360. Including. Each component operates generally as follows.
  • the time synchronization unit 310 has a function of synchronizing the time of the other devices in the synchronization scheduling system 10 with the time of the network switch 300.
  • the time synchronization unit 310 is connected to a network 500 that is a network different from the network 600 used for transmission / reception of a synchronization schedule. That is, the network 500 is used for time synchronization processing by the time synchronization unit 110, the time synchronization unit 210, and the time synchronization unit 310.
  • the synchronization schedule reception unit 330 has a function of converting the synchronization schedule sent from the synchronization schedule transmission unit 140 of the synchronization management server 100 into network connection management information and storing it in the network connection management unit 360.
  • the synchronization schedule receiving unit 330 uses the path conversion unit 320.
  • the path conversion unit 320 has a function of converting the synchronization schedule sent from the synchronization schedule transmission unit 140 of the synchronization management server 100 into network connection management information stored in the network connection management unit 360.
  • the sent synchronization schedule is time slot information.
  • the route conversion unit 320 checks the routing table stored in the network switch 300. At the time of confirmation, the path conversion unit 320 confirms to which network the connection source IP address 112 and the connection destination IP address 113 included in the time slot information belong. In addition, the path conversion unit 320 acquires the port number of the port of the network switch 300 used for input / output to the confirmed network.
  • FIG. 4 is an explanatory diagram showing an example of a routing table stored in the network switch 300.
  • the routing table shown in FIG. 4 includes a destination network, a subnet mask, a next hop, and a port number.
  • the network switch 300 Upon receiving the time slot information (synchronization schedule), the network switch 300 converts the time slot information in accordance with the operation of the network switch 300. The network switch 300 converts the received time slot information into network connection management information.
  • the network switch 300 converts the received time slot information into network connection management information.
  • the time slot number 111 of the received synchronization schedule is 1, the connection source IP address 112 is “192.168.1.2”, and the connection destination IP address 113 is “192.168.2.3”. To do.
  • the route conversion unit 320 confirms from the subnet mask that the IP address indicated by the connection source IP address 112 belongs to “192.168.1.0” of the destination network. Similarly, the path conversion unit 320 confirms that the IP address indicated by the connection destination IP address 113 belongs to “192.168.2.0” of the destination network.
  • the path conversion unit 320 indicates that the port number of the port of the network switch 300 used for input / output to the network whose destination network is “192.168.1.0” is “S0” from the routing table. Confirm. Similarly, the path conversion unit 320 confirms that the port number of the port of the network switch 300 used for input / output to the network whose destination network is “192.168.2.0” is “S1”. .
  • the time slot number 361 is 1, the first port number 362 is “S0”, and the second port number 363 is “S1”.
  • This network connection management information corresponds to the first network connection management information shown in FIG.
  • the path conversion unit 320 displays the time slot information as the time slot information. You may convert into the network connection management information containing the number 361 and one port number. The reason is that, since the packet arrives at the network switch 300 from only one computer at the time corresponding to the time slot number 361, the network switch 300 performs only the process of transmitting the received packet from the port corresponding to the port number. This is because it may be carried out.
  • the network connection management unit 360 has a function of managing a combination of physical ports of the network switch 300 connected for each time slot.
  • FIG. 5 is an explanatory diagram illustrating an example of network connection management information stored in the network connection management unit 360.
  • the network connection management information includes a time slot number 361, a first port number 362, and a second port number 363.
  • the timer execution unit 340 has a function of discarding the staying packets according to the set timer. Also, the timer execution unit 340 uses the physical socket connection unit 350 according to the set timer, and the port indicated by the first port number 362 and the port indicated by the second port number 363 described in the network connection management information And a function of connecting the two.
  • the physical socket connecting unit 350 has a function of connecting the port indicated by the first port number 362 and the port indicated by the second port number 363 described in the network connection management information.
  • the inter-physical socket connection unit 350 also has a normal function of acquiring a destination IP address from a network protocol included in a received packet and determining a physical port number as a transmission destination according to a routing table.
  • the inter-socket connection unit 350 sets the physical port used for transmission to “S0” from the routing table shown in FIG. Decided.
  • the inter-physical socket connection unit 350 has a time corresponding to the time slot number 361, a port indicated by the first port number 362 described in the network connection management information, or the second port number. Transfer to the port indicated by 363.
  • the network switch 300 in this embodiment may include a centralized buffer.
  • a packet that arrives at the network switch 300 is output from an input port (for example, the port indicated by the first port number 362) to the centralized buffer and temporarily stored in the centralized buffer. After being saved, the packet is sent out from the output port (for example, the port indicated by the second port number 363).
  • the buffer provided in the network switch 300 is not limited to the centralized buffer, and may be a buffer provided for each port.
  • the physical socket connection unit 350 operates as follows. That is, the timer execution unit 340 as the connection information processing unit confirms the current time and confirms network connection management information corresponding to the current time.
  • the inter-physical socket connection unit 350 determines the input port number (for example, the first port number 362) in the corresponding network connection management information. And whether the packet to be transferred matches the port number (for example, the first port number 362) input to the network switch 300.
  • the physical socket connection unit 350 transfers the packet to the output port indicated by the output port number (for example, the second port number 363) in the corresponding network connection management information.
  • the buffer provided in the network switch 300 described above for temporarily storing the received packet is preferably provided in the physical socket connecting unit 350, but the buffer is installed at the physical socket connecting unit 350. It is not limited to.
  • a storage unit (buffer) may be provided at a location different from the physical socket connecting unit 350.
  • the packet arriving at the port indicated by the first port number 362 for the time corresponding to the time slot number 361 is transmitted to the port indicated by the second port number 363.
  • a packet that arrives at the port indicated by the second port number 363 is transmitted to the port indicated by the first port number 362.
  • the physical port from which the packet has arrived is known information of the network switch 300.
  • the physical socket connection unit 350 it is confirmed whether the input port number in the network connection management information matches the port number input to the network switch 300 for the packet to be transferred.
  • the operation of transferring the packet to the output port indicated by the output port number in the corresponding network connection management information may be performed by another component (for example, a packet transfer unit (not shown)).
  • Each component included in the synchronization management server 100, the computer 200, and the network switch 300 operates so that an application using the time slot can exclusively use the network path at a predetermined time. Therefore, data is transmitted and received between applications in a plurality of devices connected via a network without adding a protocol necessary for routing to the packet.
  • the synchronization management server 100, the computer 200, and the network switch 300 are realized by a CPU that executes processing according to a program, for example.
  • the synchronization management server 100, the computer 200, and the network switch 300 may be realized by hardware.
  • the synchronization schedule setting unit 130, the synchronization schedule transmission unit 140, the application 220, the interrupt processing unit 420, the synchronization schedule reception unit 430, the path conversion unit 320, the synchronization schedule reception unit 330, the timer execution unit 340, and the physical socket connection unit 350 Is realized, for example, by a CPU that executes processing according to program control.
  • time management unit 120 the computer connection management unit 410, and the network connection management unit 360 are realized by, for example, a RAM (Random Access Memory).
  • RAM Random Access Memory
  • the time synchronization unit 110, the time synchronization unit 210, and the time synchronization unit 310 are realized by a CPU that operates in accordance with software for executing processing based on, for example, NTP (Network Time Protocol) or PTP (Precision Time Protocol). .
  • NTP Network Time Protocol
  • PTP Precision Time Protocol
  • FIG. 6 is a flowchart showing an operation of setting a synchronization schedule by the synchronization schedule setting unit 130.
  • the application 220 notifies the synchronization schedule setting unit 130 of its own IP address (connection source IP address 112) and the communication partner's IP address (connection destination IP address 113) as a synchronization schedule request (step S001). .
  • the synchronization schedule setting unit 130 searches the time management unit 120 to check whether there is an empty slot (step S002). If there is an empty slot (YES in step S003), the synchronization schedule setting unit 130 registers the synchronization schedule request in a time slot that is an empty slot stored in the time management unit 120 (step S004).
  • the registered synchronization schedule list is a list of time slot information stored in the time management unit 120 in which the time slot number 111, the connection source IP address 112, and the connection destination IP address 113 are combined into one set.
  • the synchronization schedule transmission unit 140 broadcasts the registered time slot information to the computer 200 and the network switch 300 (step S005). After broadcasting, the synchronization management server 100 ends the process.
  • the synchronization schedule transmission unit 140 notifies the application 220 of the failure of the synchronization schedule (step S006). After the notification, the synchronization management server 100 ends the process.
  • FIG. 7 is a flowchart showing the conversion operation of the synchronization schedule into the computer connection management information by the synchronization schedule receiving unit 430.
  • the synchronization schedule reception unit 430 searches the routing table for the identifier of the interface used for communication with the IP address indicated by the connection destination IP address 113 included in the time slot information sent from the synchronization schedule transmission unit 140. (Step S011).
  • FIG. 8 is an explanatory diagram showing an example of a routing table stored in the computer 200.
  • the routing table shown in FIG. 8 includes a destination network, a subnet mask, a gateway address, and an interface.
  • the synchronization schedule receiving unit 430 confirms the destination network including the IP address indicated by the connection destination IP address 113 from the routing table. Next, the synchronization schedule receiving unit 430 selects an interface used for transmitting the packet to the destination network.
  • the synchronization schedule receiving unit 430 knows that the destination network including the IP address “192.168.1.1” is “192.168.1.0” from the subnet mask. Further, the synchronization schedule receiving unit 430 recognizes that the interface used for transmission to the confirmed destination network is “Eth0” from the routing table.
  • the synchronization schedule receiving unit 430 searches for the interrupt number 413 used in the selected interface 412 (step S012).
  • the correspondence information between the interface identifier and the interrupt number 413 is, for example, held in advance in an OS (Operating System) 400.
  • the OS 400 can know the correspondence between the interface identifier and the interrupt number 413 by referring to the / proc / interrupt file.
  • the OS 400 secures a buffer area for a user program that handles packets (step S013).
  • the memory map address 414 of the buffer area is notified to the OS 400 when the user program issues a packet reception system call to the OS 400.
  • a user program issues a Read system call and receives a packet.
  • the user program prepares a buffer area and notifies the OS 400 of the prepared buffer area pointer as the second argument of the Read system call.
  • the OS 400 copies the contents of the buffer area of the OS 400 in which the received packet data is stored in the buffer area specified by the user program and returns it to the user program.
  • the user program can receive the transmitted packet data.
  • a memory copy occurs when data is transferred from the OS 400 to the user program.
  • the OS 400 may prepare a new system call and directly reference the buffer area in which received packet data is stored to the user program.
  • the synchronization schedule receiving unit 430 creates computer connection management information from the interface identifier, interrupt number 413, and memory map address 414 obtained in steps S011 to S013 (step S014).
  • the synchronization schedule receiving unit 430 stores the created computer connection management information in the computer connection management unit 410. After storing, the synchronization schedule receiving unit 430 ends the process.
  • FIG. 9 is a flowchart showing the conversion operation of the synchronization schedule into the network connection management information by the path conversion unit 320.
  • the synchronization schedule reception unit 330 searches the routing table for the port number of the port used for communication with the IP address indicated by the connection destination IP address 113 included in the time slot information sent from the synchronization schedule transmission unit 140. (Step S021).
  • the synchronization schedule receiving unit 330 uses the route conversion unit 320.
  • the method for converting the synchronization schedule into the network connection management information using the path conversion unit 320 is as described above.
  • the synchronization schedule receiving unit 330 sends the port number of the port used for communication with the IP address indicated by the connection source IP address 112 included in the time slot information sent from the synchronization schedule transmitting unit 140 to the routing table.
  • the search method is the same as the search method in step S021.
  • the synchronization schedule receiving unit 330 creates network connection management information from the two port numbers obtained in step S021 and step S022 (step S023).
  • the synchronization schedule receiving unit 330 stores the created network connection management information in the network connection management unit 360. After storing, the synchronization schedule receiving unit 330 ends the process.
  • FIG. 11 is a flowchart illustrating the operation of the interrupt processing unit 420 according to the first embodiment.
  • the difference between the processing of this embodiment and the existing processing will be described with reference to the flowchart showing the operation of the existing interrupt processing unit shown in FIG. .
  • an interrupt signal is sent to the CPU (step S101).
  • the interrupt signal is an electrical signal sent from the network card to the CPU.
  • the network card copies packet data that has arrived in its own buffer to the memory buffer area designated by the OS 400.
  • the memory buffer area where the packet data is copied is called a DMA (Direct Memory Access) buffer.
  • the network card transmits an interrupt signal to the CPU.
  • the OS 400 that has received the interrupt signal checks the interrupt number information and selects a program to be executed (step S102). Next, the OS 400 executes an interrupt program (step S103).
  • the OS 400 takes out the packet data from the DMA buffer (step S104), and executes a network protocol process (step S105).
  • the OS 400 copies the packet to the user program buffer (step S106). After copying, the computer 200 ends the process.
  • the user program buffer corresponds to the memory buffer area specified by the second argument of the read Read system call. As the computer 200 operates as described above, the user program receives the received packet data.
  • step S111 to step S113 shown in FIG. 11 the interrupt processing unit 420 operates in the same manner as the existing interrupt processing unit.
  • the interrupt processing unit 420 acquires the current time (step S114). Next, the interrupt processing unit 420 confirms whether there is computer connection management information corresponding to the acquired time in the computer connection management unit 410 (step S115).
  • the interrupt processing unit 420 sets the copy destination memory address to the memory map address 414 described in the computer connection management information (step S120). Next, the interrupt processing unit 420 copies data from the DMA buffer to the buffer area corresponding to the memory map address 414 (step S121). After copying, the interrupt processing unit 420 ends the process.
  • step S116 When the computer connection management information does not exist (NO in step S116), the OS 400 takes out the packet from the DMA buffer in the same manner as the normal interrupt process (step S117). Next, after executing network protocol processing (step S118), the OS 400 copies the packet to the memory buffer area specified by the user program (step S119). After copying, the OS 400 ends the process.
  • FIG. 12 is a flowchart showing the operation of the timer execution unit 340.
  • the timer is set in advance. For example, if the unit time is 1 second, the time slot is 4 times, and 0: 0: 0 is the start time of the unit time, the timer executes time confirmation every 0.25 seconds from 0: 0 minutes 0 seconds. Is set as follows.
  • the timer execution unit 340 confirms the current time. Next, the timer execution unit 340 determines whether the network connection management information corresponding to the confirmed current time exists in the network connection management unit 360 (step S131).
  • the timer execution unit 340 extracts the first port number 362 and the second port number 363 from the confirmed network connection management information. The timer execution unit 340 makes the extracted information unique routing information in the time slot corresponding to the current time.
  • the routing information set in step S132 becomes the routing information of the connection part 350 between physical sockets.
  • the physical socket connecting unit 350 transfers the packet to the output port indicated by the output port number (for example, the second port number 363) in the network connection management information corresponding to the current time (step S132).
  • step S131 to step S132 the operation from step S131 to step S132 is described as follows. That is, the timer execution unit 340 confirms the current time and confirms network connection management information corresponding to the current time.
  • the inter-physical socket connection unit 350 determines the input port number (for example, the first port number 362) in the corresponding network connection management information. And whether the packet to be transferred matches the port number (for example, the first port number 362) input to the network switch 300.
  • the physical socket connection unit 350 transfers the packet to the output port indicated by the output port number (for example, the second port number 363) in the corresponding network connection management information.
  • the physical socket connection unit 350 connects the port indicated by the extracted first port number 362 and the port indicated by the second port number 363.
  • the timer execution unit 340 discards packets accumulated in the network queue that do not correspond to the routing information set in step S132 (step S133).
  • the timer execution unit 340 operates as follows.
  • the inter-physical socket connection unit 350 includes the input port number (for example, the first port number 362) in the network connection management information corresponding to the current time, and the port for which the packet to be transferred is input to the network switch 300. It is confirmed whether the number (for example, the first port number 362) matches. If they match, the physical socket connection unit 350 transfers the packet to the output port indicated by the output port number (for example, the second port number 363) in the corresponding network connection management information.
  • the timer execution unit 340 receives a packet that is not matched by the confirmation of the physical socket connection unit 350, that is, other than the input port number (for example, the first port number 362) in the network connection management information corresponding to the current time.
  • the packet received from the port indicated by the port number is deleted from the stored buffer (network queue).
  • the packet discarding period by the timer execution unit 340 is arbitrary. After discarding the packet, the timer execution unit 340 ends the process.
  • step S133 is not an essential operation. If time synchronization and time slot information are shared among all devices of the synchronization management server 100, the computer 200, and the network switch 300 constituting the synchronization scheduling system 10 of the present embodiment, it corresponds to a predetermined time slot. This is because during the time, the network switch 300 does not receive a packet from an input port that does not correspond to the only routing information in the time slot.
  • the network switch 300 starts transferring a packet corresponding to the routing information set in step S132.
  • the packets processed by the network switch within the time corresponding to the predetermined time slot are limited to only the packets processed by the application to which the predetermined time slot is assigned.
  • Data is processed synchronously by a plurality of network devices that can be connected.
  • FIG. 13 is a block diagram showing a configuration example of the second embodiment of the synchronous scheduling system 10 according to the present invention.
  • the present embodiment is different from the first embodiment in that the synchronization management server 100 includes a network route information generation unit 150 and a network route information storage unit 160.
  • the network route information generation unit 150 and the network route information storage unit 160 are included, the operation of the synchronization schedule setting unit 130 is different from that of the first embodiment.
  • the network route information generation unit 150 and the network route information storage unit 160 operate as outlined below.
  • the network route information generation unit 150 generates route information 163 of a packet route used when a certain server communicates with another server.
  • the route information 163 is information indicating a combination of network switches through which a packet passes.
  • the application 220 sends a synchronization schedule request to the synchronization schedule setting unit 130 with its own IP address (connection source IP address 112) and the other party's IP address (connection destination IP address 113). ).
  • the network route information generation unit 150 determines a combination of the network switches 300 through which the packet passes. decide.
  • the network route information storage unit 160 stores the network route information determined by the network route information generation unit 150.
  • FIG. 14 is an explanatory diagram illustrating an example of the network route information stored in the network route information storage unit 160.
  • the network route information describes a combination of a connection source server 161 in which the connection source IP address 112 is described, a connection destination server 162 in which the connection destination IP address 113 is described, and the network switch 300.
  • Route information 163 is a combination of the network switches 300 used when packets are transmitted and received between the connection source server 161 and the connection destination server 162.
  • connection source server 161, the connection destination server 162, and the route information 163 in the network route information is an IP address.
  • the names of the respective devices are assigned for the sake of simplicity of explanation.
  • FIG. 15 is an explanatory diagram illustrating an example of a network configuration including a server and a network switch.
  • a method for determining the route information 163 will be described with reference to FIG.
  • the server 101 is connected to the router A (hereinafter, the network switch 300 is referred to as router A).
  • the server 102 is connected to the router C
  • the server 103 is connected to the router B
  • the server 104 is connected to the router D.
  • the routers are connected in a grid pattern.
  • route information 163 of a route used when the server 101 communicates with the server 104 is created as follows.
  • the network path information generation unit 150 confirms the routing table of the server 101 and identifies the router to which the server 101 is next connected for communication. As shown in FIG. 15, the next router for communication connection is router A.
  • the network route information generation unit 150 confirms the routing table of the router A and identifies the router to which the router A is next connected for communication. As shown in FIG. 15, the next router for communication connection is router B.
  • the route information 163 is obtained by repeating the operation of specifying the connection destination until the next connection destination becomes the server 104. As illustrated in FIG. 14, route information 163 of a route used when the server 101 communicates with the server 104 is a combination of router A, router B, and router D.
  • the network route information generation unit 150 is realized by a CPU that executes processing according to program control, for example.
  • the network path information storage unit 160 is realized by a RAM, for example.
  • FIG. 16 is a flowchart showing an operation of generating network route information by the network route information generating unit 150.
  • the network route information generation unit 150 confirms the routing table of the connection source server 161 and acquires the IP address of the router to which the connection source server 161 is connected (step S201).
  • the network route information generation unit 150 checks the routing table of the router that holds the acquired IP address of the router. Next, the network route information generation unit 150 acquires the IP address of the router to which the router confirmed in step S202 is connected (step S203).
  • the network route information generation unit 150 repeats the process of step S203.
  • the network route information generation unit 150 sets the acquired combination of router IP addresses as route information 163.
  • the network route information generation unit 150 creates network route information (step S205). After creating the network route information, the network route information generation unit 150 ends the process.
  • the IP address of the router to which the connection source server 161 is connected is “192.168.1.1” described in the gateway address. It corresponds to.
  • the IP address corresponding to the next hop becomes the IP address of the router to which the router A communicates next.
  • the IP address belonging to the network corresponding to “192.168.2.0” is the IP address of the connection destination
  • the IP address of the next router for communication connection is “192.168.2.1”. become.
  • route information included in the routing tables shown in FIGS. 4 and 8 does not correspond to the network configuration shown in FIG. Through the above processing, the route information 163 is specified.
  • FIG. 17 is a flowchart showing the operation of the synchronization management server 100 in the second embodiment.
  • the network path information generation unit 150 first inputs the information of the connection destination IP address 113 and the information of the connection source IP address 112, and generates network path information (step S211).
  • the generation method is as shown in the flowchart of FIG.
  • the synchronization schedule transmission unit 140 sends time slot information to each router of the network path, the server holding the IP address indicated by the connection destination IP address 113, and the server holding the IP address indicated by the connection source IP address 112. Multicast (step S212).
  • the synchronization schedule transmission unit 140 checks whether replies have arrived from all multicast destinations within the set timeout period (step S213).
  • the timeout time is set in advance.
  • the timeout time for example. Assume that the unit time is 1 second, there are four time slots, and the start time of the unit time is 0: 0: 0. When the current time is 0:00, 0, 50 and the fourth time slot is set, the timeout time for confirming the reply to the multicast can be set to 0.25 seconds.
  • the start time of the fourth time slot is 0: 0: 0. Therefore, if no synchronization schedule is set by the start time, synchronous communication is not started. Therefore, in order to start synchronous communication at the start time, a timeout setting method in which the timeout time is assigned to a time slot is given as an example.
  • step S214 If all are received within the timeout period (YES in step S214), the synchronization management server 100 ends the process as it is. If not all can be received within the timeout period (NO in step S214), the synchronization schedule transmission unit 140 notifies the application that the synchronization schedule has failed (step S215). After the notification, the synchronization management server 100 ends the process.
  • a route used for communication within a time corresponding to a predetermined time slot is specified in advance, a synchronization schedule is transmitted to the router, the connection destination computer, and the connection source computer in the specified route, and a time-out occurs If there is no reply to the synchronization schedule transmission within the time, it is configured that the synchronization scheduling is regarded as a failure, so that errors in setting the synchronization schedule can be reduced.
  • the synchronization schedule since the synchronization schedule is broadcast, it cannot be determined whether or not the synchronization schedule is correctly set in the computer or the router. However, when using the synchronization scheduling system 10 of this embodiment, the user can You can determine whether the schedule is set correctly.
  • FIG. 18 is a block diagram showing a configuration example of the third embodiment of the synchronous scheduling system 10 according to the present invention.
  • the present embodiment is different from the first embodiment in that the synchronization management server 100 includes a synchronization error notification unit 170, the computer 200 includes a transfer flag storage unit 440, and a synchronization error detection unit. 450 is different. Since the transfer flag storage unit 440 and the synchronization error detection unit 450 are included, the operation of the interrupt processing unit 420 is different from that of the first embodiment.
  • the transfer flag storage unit 440, the synchronization error detection unit 450, and the synchronization error notification unit 170 generally operate as follows.
  • the synchronization error detection unit 450 has a function of detecting a communication error during synchronous communication.
  • the synchronization error detection unit 450 uses a transfer flag 442 described later when detecting a communication error.
  • the synchronization error detection unit 450 When a synchronization communication error is detected using the transfer flag 442, the synchronization error detection unit 450 notifies the synchronization error notification unit 170 that a synchronization communication error has occurred.
  • the transfer flag storage unit 440 is a storage area for storing a flag used at the time of transfer.
  • FIG. 19 is an explanatory diagram illustrating an example of transfer flag information stored in the transfer flag storage unit 440.
  • the transfer flag information includes a time slot number 441 and a transfer flag 442.
  • the transfer flag 442 includes a start flag 443 and an end flag 444.
  • the start flag 443 of the transfer flag 442 is stored in the transfer flag storage unit 440.
  • the end flag 444 of the transfer flag 442 is stored in the transfer flag storage unit 440.
  • FIG. 20 is an explanatory diagram showing a data structure of a packet transferred by synchronous communication in the third embodiment.
  • a time slot number 441 and a transfer flag 442 to header information in addition to user data (payload).
  • the transfer flag 442 added to the header information includes a start flag 443, an in-transfer flag, and an end flag 444.
  • the start flag 443 is set to “10”
  • the transferring flag is “00”
  • the end flag 444 is set to “11”.
  • the position of the time slot number 441 and the transfer flag 442 in a packet Is uniquely identified.
  • the length of the entire packet is fixed to 1500 bytes
  • the length of the storage location of the time slot number is 16 bits
  • the length of the storage location of the transfer flag is fixed to 2 bits.
  • the fixed-length packet may not be used as in the example shown in FIG.
  • the synchronization error notification unit 170 has a function of notifying the user that the synchronous communication has failed.
  • the failure of the synchronous communication is sent from the synchronization error detection unit 450.
  • the synchronization error notification unit 170 and the synchronization error detection unit 450 are realized by a CPU that executes processing according to program control, for example.
  • the transfer flag storage unit 440 is realized by a RAM, for example.
  • FIG. 21 is a flowchart illustrating the operation of the interrupt processing unit 420 according to the third embodiment.
  • FIG. 21 shows the operation of the interrupt processing unit 420 when recording a synchronous communication start flag.
  • the difference from the first embodiment is the operation of the interrupt processing unit 420 when there is a corresponding time slot in the time management unit 120 in step S306. If there is a time slot (YES in step S306), either synchronous communication is started or communication is in progress.
  • a start flag 443 is set in the packet.
  • the interrupt processing unit 420 reads the set start flag 443 (step S310).
  • step S311 If the start flag 443 is present in the packet (YES in step S311), synchronous communication is started.
  • the synchronous error detection unit 450 executes synchronous communication error detection processing (step S312).
  • the transfer flag information stored in the transfer flag storage unit 440 immediately before the transfer flag information corresponding to the current time includes a start flag. 443 and the end flag 444 should be set.
  • the end flag 444 is not set with reference to the previous transfer flag information, this corresponds to a state in which the previous synchronous communication has not yet ended and the next synchronous communication has started. That is, the previous synchronous communication has failed.
  • the synchronization error detection unit 450 notifies the synchronization error notification unit 170 of the failure of the synchronization communication.
  • the end flag 444 When the end flag 444 is set with reference to the previous transfer flag information, this corresponds to the state where the synchronous communication is completed within the time corresponding to the time slot in which there is synchronization.
  • the synchronization error detection unit 450 When the synchronous communication is completed, the synchronization error detection unit 450 notifies the synchronization error notification unit 170 of nothing.
  • the synchronization error detection unit 450 records the time slot number 441 and the start flag 443 corresponding to the started synchronous communication in the transfer flag storage unit 440 after the notification is executed (step S313).
  • step S3111 If the start flag 443 does not exist (NO in step S311), this corresponds to a state in which a packet is being transferred, so the synchronization error detection unit 450 does not execute processing.
  • the processing in the steps after step S314 is the same as the processing in the steps after step S120 in the flowchart shown in FIG.
  • FIG. 22 is a flowchart showing the operation of the interrupt processing unit 420 in the third embodiment.
  • FIG. 22 shows the operation of the interrupt processing unit 420 when recording a synchronous communication end flag.
  • the difference from the first embodiment is the operation of the interrupt processing unit 420 when there is a corresponding time slot in the time management unit 120 in step S326. If there is a time slot (YES in step S326), either synchronous communication is started or communication is in progress.
  • an end flag 444 is added to the packet.
  • the interrupt processing unit 420 checks whether or not the end flag 444 is set in the packet (step S330).
  • step S331 When the end flag 444 exists (YES in step S331), the synchronization error detecting unit 450 records the end flag 444 in the transfer flag information of the time slot number 441 corresponding to the current time (step S332). When the end flag 444 does not exist (NO in step S331), it is considered that synchronous communication is being executed, and the interrupt processing unit 420 executes the processes after step S333.
  • FIG. 23 is a flowchart showing the operation of synchronization error detection by the synchronization error detection unit 450.
  • the synchronization error detection unit 450 checks the transfer flag storage unit 440, and acquires transfer flag information corresponding to the previous time slot number of the time slot number 441 corresponding to the current time (step S341).
  • step S343 If the end flag 444 exists (YES in step S343), the synchronous communication has ended within the time corresponding to the time slot, so the synchronization error detection unit 450 ends the synchronization error detection operation as it is.
  • the synchronization error detection unit 450 If the end flag 444 does not exist (NO in step S343), the synchronization error detection unit 450 notifies the synchronization management server 100 of synchronization failure because the synchronous communication has not ended within the time corresponding to the time slot (step S343). S344). After notifying the synchronization failure, the synchronization error detection unit 450 ends the synchronization error detection operation.
  • a start flag and an end flag are used in synchronous communication, and the synchronization corresponding to the next time slot is set before the end flag is set in the transfer flag information corresponding to the time slot number corresponding to synchronous communication.
  • the communication start flag arrives, the synchronous communication corresponding to the previous time slot is considered not to be completed within the time. Therefore, when using the synchronous scheduling system 10 of this embodiment, the user can detect the error of synchronous communication.
  • the computer 200 can also perform normal communication processing for performing network protocol processing.
  • the computer connection management information stored in the computer connection management unit 410 may be composed of a time slot number 411 and an interface identifier.
  • FIG. 24 is a block diagram showing an outline of a relay device according to the present invention.
  • the relay device 30 according to the present invention is a relay device for transferring a packet, and at least a number (for example, a time slot number 361) for identifying a time slot that is a section divided by a predetermined time interval, and the relay device 30
  • the connection information storage unit 31 (for example, the network connection management unit 360) that stores connection information configured with the output port number (for example, the second port number 363) and the connection information storage unit 31 have the current time.
  • connection information processing unit 32 (for example, timer execution unit 340) that determines whether or not connection information corresponding to the time slot exists, and the connection information processing unit 32 has connection information corresponding to the connection information storage unit 31. If it is determined, the packet transfer unit 33 transfers the packet to the output port indicated by the output port number in the corresponding connection information. Having.
  • the relay device can contribute to synchronous communication that does not perform network protocol processing.
  • the connection information further includes an input port number (for example, the first port number 362) in the relay device 30, and the packet transfer unit 33 determines that the corresponding connection information exists.
  • the input port number in the corresponding connection information confirms whether the packet to be transferred matches the port number input to the relay device 30, and if it matches, the packet is assigned to the output port in the corresponding connection information. You may transfer to the output port which a number shows.
  • the relay device 30 receives the number identifying the time slot, the connection source information corresponding to the number identifying the time slot, and the connection destination information from the management device capable of communicating with the relay device 30, and the connection source information Based on the connection destination information, the port number of the input port and the port number of the output port in the relay device 30 may be obtained.
  • FIG. 25 is a block diagram showing an outline of a communication apparatus according to the present invention.
  • a communication device 40 according to the present invention is a communication device that performs packet communication, and includes a number (for example, a time slot number 411) that identifies a time slot that is a section divided at least by a predetermined time interval, and a time slot.
  • connection management information storage unit 41 (for example, the computer connection management unit 410) that stores connection management information including the identifier of the interface (for example, the interface 412) corresponding to the identification number, and the connection management information storage unit 41
  • the communication processing unit 42 (for example, an interrupt processing unit 420) that determines whether or not connection management information corresponding to the time slot to which the time belongs exists, and the communication processing unit 42 determines that the corresponding connection management information exists.
  • the packet is sent to the interface indicated by the interface identifier included in the relevant connection management information. Sending to.
  • the communication device can contribute to synchronous communication that does not perform network protocol processing.
  • FIG. 26 is a block diagram showing another outline of the communication apparatus according to the present invention.
  • a communication device 50 according to the present invention is a communication device that performs packet communication, and includes a number (for example, a time slot number 411) for identifying a time slot that is a section divided at least by a predetermined time interval, and a time slot.
  • connection management information storage unit 51 (for example, a computer connection management unit 410) that stores connection management information including a memory map address (for example, a memory map address 414) corresponding to an identification number, and a connection management information storage unit 51
  • a communication processing unit 52 (for example, an interrupt processing unit 420) that determines whether or not there is connection management information corresponding to the time slot to which the current time belongs, and the communication processing unit 52 has the corresponding connection management information. If it is determined, the data is received in the buffer area indicated by the memory map address included in the corresponding connection management information. To copy the packet.
  • the communication device can contribute to synchronous communication that does not perform network protocol processing.
  • the communication device 50 further includes a synchronization error detection unit (for example, a synchronization error detection unit 450), and the communication processing unit 52 has a start flag (for example, a start flag 443) in the packet when the packet is received. If the start flag is included, it is possible to cause the synchronization error detection unit to execute the synchronization error detection process.
  • a synchronization error detection unit for example, a synchronization error detection unit 450
  • the communication processing unit 52 has a start flag (for example, a start flag 443) in the packet when the packet is received. If the start flag is included, it is possible to cause the synchronization error detection unit to execute the synchronization error detection process.
  • FIG. 27 is a block diagram showing an outline of the management apparatus according to the present invention.
  • the management device 60 according to the present invention is a management device capable of communicating with a communication device and a relay device that transfers packets between the communication devices, and identifies a time slot that is a section divided at least by a predetermined time interval.
  • a time management information storage unit 61 (for example, time management unit 120) that stores time management information including a number (for example, time slot number 111), and connection source information (for example, connection source IP address 112) from the communication device.
  • Synchronization that accepts a transmission request of a packet including connection destination information (for example, connection destination IP address 113) and assigns the received connection source information and connection destination information to time management information to which connection source information and connection destination information are not assigned.
  • Schedule setting unit 62 for example, synchronization schedule setting unit 130
  • time management assigned to the synchronization schedule setting unit 62 Broadcast a synchronization schedule transmission unit 63 to be transmitted to the communication apparatus and the relay apparatus (e.g., synchronization schedule transmission unit 140) and a.
  • the management apparatus can contribute to synchronous communication that does not perform network protocol processing.
  • the management device 60 also includes a route information storage unit (for example, a network route information storage unit 160) that stores packet communication route information, and the synchronization schedule transmission unit 63 performs time management when transmitting time management information.
  • the time management information may be transmitted to the device included in the communication path information corresponding to the information.
  • the present invention is suitably applied to communication between telephone exchange servers that require real-time communication and use of a stock price distribution network.
  • the present invention is also suitably applied to real-time communication applications used for remote surgery.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A relay apparatus for transferring packets comprises: a connection information storage unit (31) that stores connection information constituted by the numbers for identifying time slots that are sections as divided at least at predetermined time intervals and by the numbers of output ports in the relay apparatus (30); a connection information processing unit (32) that determines whether the connection information corresponding to a time slot to which the current time belongs exists in the connection information storage unit (31); and a packet transfer unit (33) that, if the connection information processing unit (32) determines that the corresponding connection information exists in the connection information storage unit (31), transfers a packet to the output port indicated by the output port number in the corresponding connection information.

Description

中継装置、通信装置、管理装置、中継方法および中継プログラムRelay device, communication device, management device, relay method, and relay program
 本発明は、中継装置、通信装置、管理装置、中継方法および中継プログラムに関する。 The present invention relates to a relay device, a communication device, a management device, a relay method, and a relay program.
 特許文献1には、同期スケジューリングシステムの一例が記載されている(特許文献1の第1頁、図1等)。図28は、特許文献1に記載されている同期スケジューリングシステムの構成を示すブロック図である。 Patent Document 1 describes an example of a synchronous scheduling system (first page of Patent Document 1, FIG. 1, etc.). FIG. 28 is a block diagram showing the configuration of the synchronous scheduling system described in Patent Document 1.
 図28に示すように、特許文献1に記載の同期スケジューリングシステムは、並列計算機1にPE(Processor Element)通信網2と、PE3とを備えている。PE3は、不活性化機能4と、条件設定機能5と、割り付け機能6と、割り込み生成機能7と、活性化機能8とで構成されている。 As shown in FIG. 28, the synchronous scheduling system described in Patent Document 1 includes a parallel computer 1 including a PE (Processor Element) communication network 2 and a PE 3. The PE 3 includes an inactivation function 4, a condition setting function 5, an allocation function 6, an interrupt generation function 7, and an activation function 8.
 図28に示す同期スケジューリングシステムは、以下のように動作する。実行中の並列プロセスが並列同期待ち状態になると、不活性化機能4は、待ち状態になった並列プロセスを不活性化して、並列プロセスの割り付けを禁止する。 The synchronous scheduling system shown in FIG. 28 operates as follows. When the parallel process being executed enters the parallel synchronization wait state, the inactivation function 4 deactivates the parallel process that has entered the wait state and prohibits the parallel process from being allocated.
 割り付け機能6は、実行可能な他のジョブのプロセスを割り付ける。プロセスが割り付けられた他のジョブの実行中に条件設定機能5により設定された条件が満たされると、割り込み生成機能7は、現在実行中の処理に対する割り込み信号を生成する。 Allocation function 6 allocates processes of other jobs that can be executed. When the condition set by the condition setting function 5 is satisfied during execution of another job to which a process is assigned, the interrupt generation function 7 generates an interrupt signal for the process currently being executed.
 割り込み信号が生成されると、活性化機能8は、並列同期待ち状態であった並列プロセスを活性化して、並列プロセスの割り付けを再開する。 When the interrupt signal is generated, the activation function 8 activates the parallel process that has been waiting for parallel synchronization, and resumes the allocation of the parallel process.
特開平9-128351号公報JP-A-9-128351
 特許文献1に記載の同期スケジューリングシステムにおいて、計算機のアプリケーションが、他の計算機のアプリケーションと通信し、ネットワークプロトコル処理のオーバヘッドが発生した場合、問題が生じる。 In the synchronous scheduling system described in Patent Document 1, a problem arises when a computer application communicates with another computer application and network protocol processing overhead occurs.
 ネットワークプロトコル処理のオーバヘッドが発生する理由は、計算機間で通信が行われる際に、ネットワークプロトコルが使用されるためである。通常、計算機間で通信が行われる場合、TCP/IP(Transmission Control Protocol/Internet Protocol)などのネットワークプロトコルが用いられる。計算機は、ネットワークプロトコルを用いて任意の計算機への通信を実現する。 The reason why the overhead of the network protocol processing occurs is that the network protocol is used when communication is performed between computers. Usually, when communication is performed between computers, a network protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol) is used. The computer realizes communication to an arbitrary computer using a network protocol.
 計算機間で通信するアプリケーションが、特許文献1に記載されている手法による同期スケジューリングの管理下にある場合を考える。アプリケーションが管理下にある場合、アプリケーション間での通信が求められる際に、計算機は、送信データにネットワークプロトコルを付与してネットワークに送信する。また、計算機は、ネットワークプロトコルが付与された受信データをネットワークから受信する。 Consider a case where an application that communicates between computers is under the management of synchronous scheduling by the method described in Patent Document 1. When an application is under management, when communication between applications is required, the computer assigns a network protocol to the transmission data and transmits it to the network. Further, the computer receives received data to which a network protocol is assigned from the network.
 ネットワークプロトコルを付与する際、誤り訂正符号や輻輳制御などの計算に所定の時間が求められる。よって、同期スケジューリングの管理下にある計算機のアプリケーションが他の計算機のアプリケーションと通信する場合、ネットワークプロトコルが処理される間、通信するアプリケーションは、所定時間待機することが求められる。 When assigning a network protocol, a predetermined time is required for calculations such as error correction codes and congestion control. Therefore, when an application of a computer under management of synchronous scheduling communicates with an application of another computer, the communicating application is required to wait for a predetermined time while the network protocol is processed.
 特許文献1に記載の同期スケジューリング方式では、所定時間待機するアプリケーションが存在する場合、他の並列アプリケーションにCPU(Central Processing Unit)が割り当てられる。 In the synchronous scheduling method described in Patent Document 1, when there is an application waiting for a predetermined time, a CPU (Central Processing Unit) is assigned to another parallel application.
 すなわち、特許文献1に記載の手法を用いると、ネットワークプロトコルが処理される間に、CPUが割り当てられるアプリケーションが、通信するアプリケーションから他の並列アプリケーションに切り替わる恐れがある。CPUが割り当てられるアプリケーションの切り替わりが、特許文献1に記載の同期スケジューリングシステムにおいて同期通信する際の第1の問題点である。 That is, when the technique described in Patent Document 1 is used, an application to which a CPU is assigned may be switched from a communicating application to another parallel application while the network protocol is processed. Switching of applications to which CPUs are assigned is a first problem when synchronous communication is performed in the synchronous scheduling system described in Patent Document 1.
 TCP/IPネットワークよりもオーバヘッドの少ないネットワークとして、Infiniband(登録商標)と呼ばれるネットワークが存在する(非特許文献1~2)。しかし、Infinibandにおいてもルーティング処理の実施のためにネットワークプロトコルが用いられる。すなわち、プロトコル処理によるオーバヘッドが存在するという点において、Infinibandは、TCP/IPネットワークと同じである。 As a network with less overhead than a TCP / IP network, there is a network called Infiniband (registered trademark) (Non-Patent Documents 1 and 2). However, in Infiniband also uses a network protocol for performing routing processing. That is, Infiniband is the same as a TCP / IP network in that there is an overhead due to protocol processing.
 特許文献1に記載の同期スケジューリングシステムにおいて同期通信する際の第2の問題点は、計算機のアプリケーションが、他の計算機のアプリケーションと同期通信する際に、計算機間を通信可能に接続する複数のネットワーク機器において、データが非同期に処理されるという点である。 A second problem in synchronous communication in the synchronous scheduling system described in Patent Document 1 is that a plurality of networks that connect computers so that they can communicate with each other when a computer application performs synchronous communication with another computer application. In the device, data is processed asynchronously.
 データが非同期に処理される理由は、ネットワーク機器が、待ち行列に入力されたネットワークデータを順に処理するためである。 The reason why data is processed asynchronously is that network devices sequentially process network data input to the queue.
 ルータやスイッチといったネットワーク機器は、以下のように動作する。例えばルータの場合、ルータは、ルータ内の待ち行列にパケットを入力順に並べる。次いで、ルータは、待ち行列の先頭(ルータに最も早く到着したパケット)から順にパケットを取り出す。 Network devices such as routers and switches operate as follows. For example, in the case of a router, the router arranges packets in a queue in the router in the order of input. Next, the router sequentially extracts packets from the head of the queue (the packet that arrived at the router earliest).
 ルータは、取り出したパケットのネットワークプロトコルを確認して、パケットの宛先を調べる。次いで、ルータは、宛先の計算機が接続されているネットワークへパケットを送出する。 The router checks the network protocol of the extracted packet and checks the packet destination. Next, the router sends the packet to the network to which the destination computer is connected.
 よって、アプリケーションが同期通信を開始しても、開始前にネットワーク機器に蓄積されたパケットがすべて処理されない限り、同期通信は開始されない。 Therefore, even if an application starts synchronous communication, synchronous communication is not started unless all the packets stored in the network device before processing are processed.
 そこで、本発明は、ネットワークプロトコル処理を行わない同期通信に寄与できる中継装置、通信装置、管理装置、中継方法および中継プログラムを提供することを目的とする。 Therefore, an object of the present invention is to provide a relay device, a communication device, a management device, a relay method, and a relay program that can contribute to synchronous communication without performing network protocol processing.
 本発明による中継装置は、パケットを転送する中継装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、中継装置における出力ポートの番号とで構成された接続情報を記憶する接続情報記憶部と、接続情報記憶部に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断する接続情報処理部と、接続情報処理部が、接続情報記憶部に該当する接続情報が存在すると判断した場合に、該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送するパケット転送部とを有することを特徴とする。 A relay device according to the present invention is a relay device that forwards packets, and includes at least a number that identifies a time slot that is a section divided by a predetermined time interval, and an output port number in the relay device. A connection information storage unit that stores connection information, a connection information processing unit that determines whether connection information corresponding to a time slot to which the current time belongs in the connection information storage unit, and a connection information processing unit that And a packet transfer unit that transfers a packet to an output port indicated by an output port number in the corresponding connection information when it is determined that corresponding connection information exists in the storage unit.
 本発明による通信装置は、パケット通信を行う通信装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、時刻スロットを識別する番号に対応するインタフェースの識別子とを含む接続管理情報を記憶する接続管理情報記憶部と、接続管理情報記憶部に、現在時刻が属する時刻スロットに該当する接続管理情報が存在するか否かを判断する通信処理部とを備え、通信処理部が該当する接続管理情報が存在すると判断した場合に、該当する接続管理情報に含まれるインタフェースの識別子が示すインタフェースにパケットを送出することを特徴とする。 A communication apparatus according to the present invention is a communication apparatus that performs packet communication, and at least a number that identifies a time slot that is a section divided by a predetermined time interval, and an interface identifier corresponding to the number that identifies the time slot A connection management information storage unit that stores connection management information, and a communication processing unit that determines whether or not the connection management information storage unit includes connection management information corresponding to a time slot to which the current time belongs. When the communication processing unit determines that the corresponding connection management information exists, the packet is transmitted to the interface indicated by the interface identifier included in the corresponding connection management information.
 本発明による通信装置は、パケット通信を行う通信装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、時刻スロットを識別する番号に対応するメモリマップアドレスとを含む接続管理情報を記憶する接続管理情報記憶部と、接続管理情報記憶部に、現在時刻が属する時刻スロットに該当する接続管理情報が存在するか否かを判断する通信処理部とを備え、通信処理部が該当する接続管理情報が存在すると判断した場合に、該当する接続管理情報に含まれるメモリマップアドレスが示すバッファ領域に、受信したパケットをコピーすることを特徴とする。 A communication apparatus according to the present invention is a communication apparatus that performs packet communication, and at least a number that identifies a time slot that is a section divided by a predetermined time interval, and a memory map address corresponding to the number that identifies the time slot A connection management information storage unit that stores connection management information, and a communication processing unit that determines whether or not the connection management information storage unit includes connection management information corresponding to a time slot to which the current time belongs. When the communication processing unit determines that the corresponding connection management information exists, the received packet is copied to the buffer area indicated by the memory map address included in the corresponding connection management information.
 本発明による管理装置は、通信装置と、通信装置間のパケットを転送する中継装置と通信可能な管理装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号を含む時間管理情報を記憶する時間管理情報記憶部と、通信装置から、接続元情報と接続先情報とを含むパケットの送信要求を受け付け、接続元情報および接続先情報が未割当の時間管理情報に、受け付けた接続元情報および接続先情報を割り当てる同期スケジュール設定部と、同期スケジュール設定部に割当済みにされた時間管理情報を、通信装置及び中継装置に送信する同期スケジュール送信部とを備えることを特徴とする。 A management device according to the present invention is a management device capable of communicating with a communication device and a relay device that transfers packets between the communication devices, and is a number that identifies a time slot that is a section divided at least by a predetermined time interval A time management information storage unit that stores the time management information including the time management information, and a transmission request of a packet including the connection source information and the connection destination information is received from the communication device, and the connection source information and the connection destination information are unallocated time management information A synchronization schedule setting unit that allocates the received connection source information and connection destination information, and a synchronization schedule transmission unit that transmits the time management information assigned to the synchronization schedule setting unit to the communication device and the relay device. It is characterized by.
 本発明による中継方法は、中継装置において実行される中継方法であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、中継装置における出力ポートの番号とで構成された接続情報を記憶し、記憶している接続情報の中に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断し、該当する接続情報が存在すると判断した場合に、該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送することを特徴とする。 A relay method according to the present invention is a relay method executed in a relay device, and includes at least a number for identifying a time slot which is a section divided by a predetermined time interval and an output port number in the relay device. If the connection information corresponding to the time slot to which the current time belongs is determined in the stored connection information and it is determined that the corresponding connection information exists, The packet is transferred to the output port indicated by the output port number in the corresponding connection information.
 本発明による中継プログラムは、中継装置において実行される中継プログラムであって、中継装置に、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、中継装置における出力ポートの番号とで構成された接続情報を記憶する記憶処理、記憶処理で記憶された接続情報の中に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断する接続情報処理、および接続情報処理で該当する接続情報が存在すると判断された場合に、該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送する転送処理を実行させることを特徴とする。 A relay program according to the present invention is a relay program executed in a relay device, and at the relay device, a number for identifying a time slot that is a section divided by at least a predetermined time interval, and an output port in the relay device. A storage process for storing connection information composed of a number, a connection information process for determining whether connection information corresponding to a time slot to which the current time belongs is present in the connection information stored in the storage process, and When it is determined by connection information processing that corresponding connection information exists, a transfer process for transferring a packet is executed on the output port indicated by the output port number in the corresponding connection information.
 本発明によれば、ネットワークプロトコル処理を行わない同期通信に寄与できる。 According to the present invention, it is possible to contribute to synchronous communication that does not perform network protocol processing.
本発明による同期スケジューリングシステム10の第1の実施形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of 1st Embodiment of the synchronous scheduling system 10 by this invention. 時間管理部120に記憶されている時刻スロット情報の例を示す説明図である。4 is an explanatory diagram showing an example of time slot information stored in a time management unit 120. FIG. コンピュータ接続管理部410に記憶されているコンピュータ接続管理情報の例を示す説明図である。It is explanatory drawing which shows the example of the computer connection management information memorize | stored in the computer connection management part 410. FIG. ネットワークスイッチ300に記憶されているルーティングテーブルの例を示す説明図である。3 is an explanatory diagram illustrating an example of a routing table stored in a network switch 300. FIG. ネットワーク接続管理部360に記憶されているネットワーク接続管理情報の例を示す説明図である。6 is an explanatory diagram illustrating an example of network connection management information stored in a network connection management unit 360. FIG. 同期スケジュール設定部130による同期スケジュールの設定の動作を示すフローチャートである。5 is a flowchart showing an operation of setting a synchronization schedule by a synchronization schedule setting unit 130. 同期スケジュール受信部430による同期スケジュールのコンピュータ接続管理情報への変換動作を示すフローチャートである。10 is a flowchart showing an operation of converting a synchronization schedule into computer connection management information by a synchronization schedule receiving unit 430. コンピュータ200に記憶されているルーティングテーブルの例を示す説明図である。4 is an explanatory diagram illustrating an example of a routing table stored in a computer 200. FIG. 経路変換部320による同期スケジュールのネットワーク接続管理情報への変換動作を示すフローチャートである。6 is a flowchart showing a conversion operation of a synchronization schedule into network connection management information by a path conversion unit 320. 既存の割り込み処理部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the existing interruption process part. 第1の実施形態における割り込み処理部420の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the interruption process part 420 in 1st Embodiment. タイマー実行部340の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the timer execution part 340. 本発明による同期スケジューリングシステム10の第2の実施形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of 2nd Embodiment of the synchronous scheduling system 10 by this invention. ネットワーク経路情報記憶部160に記憶されているネットワーク経路情報の例を示す説明図である。6 is an explanatory diagram illustrating an example of network route information stored in a network route information storage unit 160. FIG. サーバとネットワークスイッチから構成されるネットワーク構成の例を示す説明図である。It is explanatory drawing which shows the example of the network structure comprised from a server and a network switch. ネットワーク経路情報生成部150によるネットワーク経路情報生成の動作を示すフローチャートである。6 is a flowchart showing an operation of generating network route information by the network route information generating unit 150. 第2の実施形態における同期管理サーバ100の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the synchronous management server 100 in 2nd Embodiment. 本発明による同期スケジューリングシステム10の第3の実施形態の構成例を示すブロック図である。It is a block diagram which shows the structural example of 3rd Embodiment of the synchronous scheduling system 10 by this invention. 転送フラグ記憶部440に記憶されている転送フラグ情報の例を示す説明図である。It is explanatory drawing which shows the example of the transfer flag information memorize | stored in the transfer flag memory | storage part 440. 第3の実施形態における同期通信で転送されるパケットのデータ構造を示す説明図である。It is explanatory drawing which shows the data structure of the packet transferred by the synchronous communication in 3rd Embodiment. 第3の実施形態における割り込み処理部420の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the interruption process part 420 in 3rd Embodiment. 第3の実施形態における割り込み処理部420の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the interruption process part 420 in 3rd Embodiment. 同期エラー検出部450による同期エラー検出の動作を示すフローチャートである。5 is a flowchart showing an operation of synchronization error detection by a synchronization error detection unit 450. 本発明による中継装置の概要を示すブロック図である。It is a block diagram which shows the outline | summary of the relay apparatus by this invention. 本発明による通信装置の概要を示すブロック図である。It is a block diagram which shows the outline | summary of the communication apparatus by this invention. 本発明による通信装置の他の概要を示すブロック図である。It is a block diagram which shows the other outline | summary of the communication apparatus by this invention. 本発明による管理装置の概要を示すブロック図である。It is a block diagram which shows the outline | summary of the management apparatus by this invention. 特許文献1に記載されている同期スケジューリングシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the synchronous scheduling system described in patent document 1. FIG.
実施形態1.
[構成の説明]
 以下、本発明の第1の実施形態を、図面を参照して説明する。図1は、本発明による同期スケジューリングシステム10の第1の実施形態の構成例を示すブロック図である。図1に示す同期スケジューリングシステム10は、同期管理サーバ100と、コンピュータ200と、ネットワークスイッチ300とを含む。
Embodiment 1. FIG.
[Description of configuration]
DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, a first embodiment of the invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of a first embodiment of a synchronous scheduling system 10 according to the present invention. A synchronization scheduling system 10 illustrated in FIG. 1 includes a synchronization management server 100, a computer 200, and a network switch 300.
 同期管理サーバ100、コンピュータ200およびネットワークスイッチ300は、図1において直線で示されるネットワーク500、または図1において点線で示されるネットワーク600を介して通信可能に接続されている。 The synchronization management server 100, the computer 200, and the network switch 300 are communicably connected via a network 500 indicated by a straight line in FIG. 1 or a network 600 indicated by a dotted line in FIG.
 図1に示すように、同期管理サーバ100は、時刻同期部110と、時間管理部120と、同期スケジュール設定部130と、同期スケジュール送信部140とを含む。各構成要素は、それぞれ概略以下のように動作する。 1, the synchronization management server 100 includes a time synchronization unit 110, a time management unit 120, a synchronization schedule setting unit 130, and a synchronization schedule transmission unit 140. Each component operates generally as follows.
 時刻同期部110は、同期管理サーバ100の時刻に、同期スケジューリングシステム10の他の装置の時刻を同期させる機能を有する。時刻同期部110は、同期スケジュールの送受信に用いられるネットワーク600とは別のネットワークである、ネットワーク500に接続されている。 The time synchronization unit 110 has a function of synchronizing the time of another device in the synchronization scheduling system 10 with the time of the synchronization management server 100. The time synchronization unit 110 is connected to a network 500 that is a network different from the network 600 used for transmission / reception of a synchronization schedule.
 時間管理部120は、ある時間にネットワーク600を介して同期通信するサーバを管理する機能を有する。時間管理部120には、時刻スロットの情報が記憶される。本実施形態において、時刻スロットは、所定の時間間隔で区切られている同期通信の実施権利を意味する。 The time management unit 120 has a function of managing servers that perform synchronous communication via the network 600 at a certain time. The time management unit 120 stores time slot information. In this embodiment, the time slot means the right to perform synchronous communication divided at a predetermined time interval.
 図2は、時間管理部120に記憶されている時刻スロット情報の例を示す説明図である。図2に示すように、時刻スロット情報は、時刻スロット番号111と、接続元IPアドレス112と、接続先IPアドレス113とで構成される。 FIG. 2 is an explanatory diagram showing an example of time slot information stored in the time management unit 120. As shown in FIG. 2, the time slot information includes a time slot number 111, a connection source IP address 112, and a connection destination IP address 113.
 時刻スロット番号111は、時刻スロット情報を一意に識別するための識別情報である。時刻スロット番号111は、ある単位時間を分割した場合の各分割時間に対応する。仮に単位時間が1秒であり、時刻スロット数が4である場合、1時刻スロットに割り当てられる時間は0.25秒である。 The time slot number 111 is identification information for uniquely identifying time slot information. The time slot number 111 corresponds to each divided time when a certain unit time is divided. If the unit time is 1 second and the number of time slots is 4, the time allocated to one time slot is 0.25 seconds.
 0時0分0秒が単位時間の開始時刻である場合、最初の時刻スロットは、0時0分0秒から0時0分0秒25までの分割時間に対応する。最初の時刻スロットが割り当てられた通信装置は、0時0分0秒から0時0分0秒25の間に通信する。 When 0: 0: 0 is the start time of the unit time, the first time slot corresponds to the divided time from 0: 0: 0 to 0: 0: 0. The communication device to which the first time slot is assigned communicates between 0: 0: 0 to 0: 0: 0.
 次の時刻スロットは、0時0分0秒25から0時0分0秒50までの分割時間に対応する。次の時刻スロットが割り当てられた通信装置は、0時0分0秒25から0時0分0秒50の間に通信する。通信の時刻スロットへの割り当てが、時刻スロット数だけ繰り返される。 The next time slot corresponds to the divided time from 0: 0: 0-25 to 0: 0: 0. The communication device to which the next time slot is assigned communicates between 0: 0: 0-25 and 0: 0: 0: 0. The assignment of communication to time slots is repeated by the number of time slots.
 接続元IPアドレス112は、時刻スロットの割り当てを要求したアプリケーション220が使用するIPアドレスを示す。接続先IPアドレス113は、時刻スロットの割り当てを要求したアプリケーション220と通信するアプリケーションが使用するIPアドレスを示す。 The connection source IP address 112 indicates an IP address used by the application 220 that requested time slot assignment. The connection destination IP address 113 indicates an IP address used by an application communicating with the application 220 that has requested the time slot assignment.
 同期スケジュール設定部130は、アプリケーション220から同期スケジュール設定要求を受け取る。また、同期スケジュール設定部130は、時間管理部120に記憶されている時刻スロットに空きがある場合、受け取った同期スケジュールの設定要求を時刻スロットに割り当てる。 The synchronization schedule setting unit 130 receives a synchronization schedule setting request from the application 220. In addition, when there is an empty time slot stored in the time management unit 120, the synchronization schedule setting unit 130 assigns the received synchronization schedule setting request to the time slot.
 図2に示す時刻スロット情報では、アプリケーション220からの同期スケジュール設定要求が単一の時刻スロットに割り当てられているが、同期スケジュール設定要求は、複数の時刻スロットに割り当てられてもよい。 In the time slot information shown in FIG. 2, the synchronization schedule setting request from the application 220 is assigned to a single time slot, but the synchronization schedule setting request may be assigned to a plurality of time slots.
 なお、「時刻スロットに空きがある」状態は、時間管理部120に記憶されている時刻スロット情報の中で、まだ接続元IPアドレス112および接続先IPアドレス113が割り当てられていない時刻スロット情報が存在する(以下、「空きスロットがある」ともいう。)状態を意味する。アプリケーション220から送られてくる同期スケジュール設定要求には、接続元IPアドレス112と接続先IPアドレス113が含まれる。 In the state where “the time slot is available”, the time slot information stored in the time management unit 120 includes time slot information to which the connection source IP address 112 and the connection destination IP address 113 are not yet assigned. It means that it exists (hereinafter also referred to as “there is an empty slot”). The synchronization schedule setting request sent from the application 220 includes the connection source IP address 112 and the connection destination IP address 113.
 同期スケジュール送信部140は、同期スケジュール設定部130により設定された時刻スロットの情報を、ネットワーク600を介してコンピュータ200とネットワークスイッチ300にブロードキャストする機能を有する。送信される時刻スロットの情報は、時間管理部120に記憶されている時刻スロット情報の1エントリに対応する。 The synchronization schedule transmission unit 140 has a function of broadcasting the time slot information set by the synchronization schedule setting unit 130 to the computer 200 and the network switch 300 via the network 600. The transmitted time slot information corresponds to one entry of time slot information stored in the time management unit 120.
 図1に示すように、コンピュータ200は、時刻同期部210と、アプリケーション220と、コンピュータ接続管理部410と、割り込み処理部420と、同期スケジュール受信部430とを含む。各構成要素は、それぞれ概略以下のように動作する。 As shown in FIG. 1, the computer 200 includes a time synchronization unit 210, an application 220, a computer connection management unit 410, an interrupt processing unit 420, and a synchronization schedule reception unit 430. Each component operates generally as follows.
 時刻同期部210は、コンピュータ200の時刻に、同期スケジューリングシステム10の他の装置の時刻を同期させる機能を有する。時刻同期部210は、同期スケジュールの送受信に用いられるネットワーク600とは別のネットワークである、ネットワーク500に接続されている。 The time synchronization unit 210 has a function of synchronizing the time of the other device of the synchronous scheduling system 10 with the time of the computer 200. The time synchronization unit 210 is connected to a network 500 that is a network different from the network 600 used for transmission / reception of a synchronization schedule.
 アプリケーション220は、他のコンピュータにおいて稼働するアプリケーションと同期通信する機能を有する。アプリケーション220は、コンピュータ200において稼働する。アプリケーション220は、通信内容に応じて、パケットの作成、送信や受信など、様々な処理を行う。 Application 220 has a function of performing synchronous communication with an application running on another computer. The application 220 runs on the computer 200. The application 220 performs various processes such as packet creation, transmission, and reception according to communication contents.
 コンピュータ接続管理部410は、ある時刻スロットに対応する時間において、到着したパケットをアプリケーション220に渡すために、またはアプリケーション220からパケットを送出するために必要になる情報を格納する機能を有する。図3は、コンピュータ接続管理部410に記憶されているコンピュータ接続管理情報の例を示す説明図である。 The computer connection management unit 410 has a function of storing information necessary for passing an arrived packet to the application 220 or sending a packet from the application 220 at a time corresponding to a certain time slot. FIG. 3 is an explanatory diagram showing an example of computer connection management information stored in the computer connection management unit 410.
 コンピュータ接続管理情報は、時刻スロット番号411と、インタフェースの識別子と、割り込み番号413と、メモリマップアドレス414とで構成される。図3に示すインタフェース412が、インタフェースの識別子に相当する。 The computer connection management information includes a time slot number 411, an interface identifier, an interrupt number 413, and a memory map address 414. An interface 412 shown in FIG. 3 corresponds to an identifier of the interface.
 時刻スロット番号411は、時刻スロット番号111が示す番号と同一の番号を示す。インタフェースの識別子は、例えば、対応する時刻スロット番号411の時間にパケットが到着する、またはパケットが送信されるネットワークカードの識別子を示す。 The time slot number 411 indicates the same number as the time slot number 111. The interface identifier indicates, for example, the identifier of the network card at which the packet arrives or is transmitted at the time corresponding to the time slot number 411.
 割り込み番号413は、対応する時刻スロット番号411の時間にパケットが到着した際にCPUに通知される番号を示す。メモリマップアドレス414は、対応する時刻スロット番号411の時間に到着したパケットが、ユーザプログラムに渡される際に使用されるメモリバッファ領域を示す。 Interrupt number 413 indicates a number notified to the CPU when a packet arrives at the time corresponding to the time slot number 411. The memory map address 414 indicates a memory buffer area used when a packet arriving at the corresponding time slot number 411 is passed to the user program.
 図3を参照すると、時刻スロット番号411が1の時間に到着したパケットは、プロトコルの処理が行われずに、メモリマップアドレス414が示す「0x0001-0x000F」に対応するメモリバッファ領域に格納される。 Referring to FIG. 3, a packet arriving at time 1 of time slot number 411 is stored in a memory buffer area corresponding to “0x0001-0x000F” indicated by memory map address 414 without performing protocol processing.
 割り込み処理部420は、到着したパケットを、コンピュータ接続管理情報に記載されているメモリマップアドレス414が示すメモリバッファ領域に格納する機能を有する。 The interrupt processing unit 420 has a function of storing the arrived packet in the memory buffer area indicated by the memory map address 414 described in the computer connection management information.
 通常の通信処理において、割り込み処理部420は、到着したパケットをあるメモリバッファ領域に格納した後、ネットワークプロトコルの処理を行う。次いで、割り込み処理部420は、宛先のアプリケーション220が持つメモリバッファ領域に処理を施したパケットをコピーする。 In normal communication processing, the interrupt processing unit 420 stores the arrived packet in a certain memory buffer area and then performs network protocol processing. Next, the interrupt processing unit 420 copies the processed packet to the memory buffer area of the destination application 220.
 本実施形態において、ネットワークプロトコル処理は行われない場合もある。その場合、本実施形態における割り込み処理部420は、送られてきたパケットを単にコンピュータ接続管理情報に記載されているメモリマップアドレス414が示すメモリバッファ領域に格納する処理を行い、ネットワークプロトコル処理は行わない。 In this embodiment, network protocol processing may not be performed. In this case, the interrupt processing unit 420 in the present embodiment simply performs processing for storing the transmitted packet in the memory buffer area indicated by the memory map address 414 described in the computer connection management information, and performs network protocol processing. Absent.
 同期スケジュール受信部430は、同期管理サーバ100の同期スケジュール送信部140からネットワーク600を介して送られてきた同期スケジュールを、コンピュータ接続管理情報に変換してコンピュータ接続管理部410に格納する機能を有する。送られる同期スケジュールは、時刻スロット情報である。 The synchronization schedule reception unit 430 has a function of converting the synchronization schedule sent from the synchronization schedule transmission unit 140 of the synchronization management server 100 via the network 600 into computer connection management information and storing it in the computer connection management unit 410. . The sent synchronization schedule is time slot information.
 時刻スロット情報を受け取ったコンピュータ200は、時刻スロット情報をコンピュータ200の動作に合わせて変換する。コンピュータ200が時刻スロット情報を受け取った場合、同期スケジュール受信部430は、受け取った時刻スロット情報をコンピュータ接続管理情報に変換する。 Upon receiving the time slot information, the computer 200 converts the time slot information in accordance with the operation of the computer 200. When the computer 200 receives the time slot information, the synchronization schedule receiving unit 430 converts the received time slot information into computer connection management information.
 図1に示すように、ネットワークスイッチ300は、時刻同期部310と、経路変換部320と、同期スケジュール受信部330と、タイマー実行部340と、物理ソケット間接続部350と、ネットワーク接続管理部360とを含む。各構成要素は、それぞれ概略以下のように動作する。 As illustrated in FIG. 1, the network switch 300 includes a time synchronization unit 310, a path conversion unit 320, a synchronization schedule reception unit 330, a timer execution unit 340, a physical socket connection unit 350, and a network connection management unit 360. Including. Each component operates generally as follows.
 時刻同期部310は、ネットワークスイッチ300の時刻に、同期スケジューリングシステム10の他の装置の時刻を同期させる機能を有する。時刻同期部310は、同期スケジュールの送受信に用いられるネットワーク600とは別のネットワークである、ネットワーク500に接続されている。つまり、ネットワーク500は、時刻同期部110、時刻同期部210および時刻同期部310による時刻同期処理の際に使用される。 The time synchronization unit 310 has a function of synchronizing the time of the other devices in the synchronization scheduling system 10 with the time of the network switch 300. The time synchronization unit 310 is connected to a network 500 that is a network different from the network 600 used for transmission / reception of a synchronization schedule. That is, the network 500 is used for time synchronization processing by the time synchronization unit 110, the time synchronization unit 210, and the time synchronization unit 310.
 同期スケジュール受信部330は、同期管理サーバ100の同期スケジュール送信部140から送られてきた同期スケジュールを、ネットワーク接続管理情報に変換してネットワーク接続管理部360に格納する機能を有する。ネットワーク接続管理情報へ変換する際に、同期スケジュール受信部330は、経路変換部320を用いる。 The synchronization schedule reception unit 330 has a function of converting the synchronization schedule sent from the synchronization schedule transmission unit 140 of the synchronization management server 100 into network connection management information and storing it in the network connection management unit 360. When converting into network connection management information, the synchronization schedule receiving unit 330 uses the path conversion unit 320.
 経路変換部320は、同期管理サーバ100の同期スケジュール送信部140から送られてきた同期スケジュールを、ネットワーク接続管理部360に記憶されるネットワーク接続管理情報に変換する機能を有する。送られる同期スケジュールは、時刻スロット情報である。 The path conversion unit 320 has a function of converting the synchronization schedule sent from the synchronization schedule transmission unit 140 of the synchronization management server 100 into network connection management information stored in the network connection management unit 360. The sent synchronization schedule is time slot information.
 経路変換部320は、ネットワークスイッチ300に記憶されているルーティングテーブルを確認する。確認の際、経路変換部320は、時刻スロット情報に含まれている接続元IPアドレス112、接続先IPアドレス113がどのネットワークに所属するかを確認する。また、経路変換部320は、確認したネットワークへの入出力に使われるネットワークスイッチ300のポートのポート番号を取得する。 The route conversion unit 320 checks the routing table stored in the network switch 300. At the time of confirmation, the path conversion unit 320 confirms to which network the connection source IP address 112 and the connection destination IP address 113 included in the time slot information belong. In addition, the path conversion unit 320 acquires the port number of the port of the network switch 300 used for input / output to the confirmed network.
 図4は、ネットワークスイッチ300に記憶されているルーティングテーブルの例を示す説明図である。図4に示すルーティングテーブルは、宛先ネットワークと、サブネットマスクと、ネクストホップと、ポート番号とで構成される。 FIG. 4 is an explanatory diagram showing an example of a routing table stored in the network switch 300. The routing table shown in FIG. 4 includes a destination network, a subnet mask, a next hop, and a port number.
 時刻スロット情報(同期スケジュール)を受け取ったネットワークスイッチ300は、時刻スロット情報をネットワークスイッチ300の動作に合わせて変換する。ネットワークスイッチ300は、受け取った時刻スロット情報をネットワーク接続管理情報に変換する。以下、経路変換部320による同期スケジュールのネットワーク接続管理情報への変換の例を説明する。 Upon receiving the time slot information (synchronization schedule), the network switch 300 converts the time slot information in accordance with the operation of the network switch 300. The network switch 300 converts the received time slot information into network connection management information. Hereinafter, an example of conversion of the synchronization schedule into network connection management information by the path conversion unit 320 will be described.
 例において、送られてきた同期スケジュールの時刻スロット番号111を1、接続元IPアドレス112を「192.168.1.2」、接続先IPアドレス113を「192.168.2.3」とそれぞれする。 In the example, the time slot number 111 of the received synchronization schedule is 1, the connection source IP address 112 is “192.168.1.2”, and the connection destination IP address 113 is “192.168.2.3”. To do.
 図4に示すように、ルーティングテーブルのサブネットマスクはすべて「255.255.255.0」と設定されている。経路変換部320は、サブネットマスクから、接続元IPアドレス112が示すIPアドレスが宛先ネットワークの「192.168.1.0」に所属することを確認する。同様に、経路変換部320は、接続先IPアドレス113が示すIPアドレスが宛先ネットワークの「192.168.2.0」に所属することを確認する。 As shown in FIG. 4, all the subnet masks in the routing table are set to “255.255.255.0”. The route conversion unit 320 confirms from the subnet mask that the IP address indicated by the connection source IP address 112 belongs to “192.168.1.0” of the destination network. Similarly, the path conversion unit 320 confirms that the IP address indicated by the connection destination IP address 113 belongs to “192.168.2.0” of the destination network.
 次いで、経路変換部320は、ルーティングテーブルから、宛先ネットワークが「192.168.1.0」であるネットワークへの入出力に利用されるネットワークスイッチ300のポートのポート番号が「S0」であることを確認する。同様に、経路変換部320は、宛先ネットワークが「192.168.2.0」であるネットワークへの入出力に利用されるネットワークスイッチ300のポートのポート番号が「S1」であることを確認する。 Next, the path conversion unit 320 indicates that the port number of the port of the network switch 300 used for input / output to the network whose destination network is “192.168.1.0” is “S0” from the routing table. Confirm. Similarly, the path conversion unit 320 confirms that the port number of the port of the network switch 300 used for input / output to the network whose destination network is “192.168.2.0” is “S1”. .
 よって、変換されたネットワーク接続管理情報において、時刻スロット番号361が1、第1ポート番号362が「S0」、第2ポート番号363が「S1」になる。このネットワーク接続管理情報は、図5に示す最初のネットワーク接続管理情報に対応する。 Therefore, in the converted network connection management information, the time slot number 361 is 1, the first port number 362 is “S0”, and the second port number 363 is “S1”. This network connection management information corresponds to the first network connection management information shown in FIG.
 なお、受け取った時刻スロット情報に対応する同期スケジュールにおける通信が、コンピュータから他のコンピュータへの片方向の通信であることが想定されている場合、経路変換部320は、時刻スロット情報を、時刻スロット番号361と1つのポート番号とを含むネットワーク接続管理情報に変換してもよい。その理由は、時刻スロット番号361に対応する時間、ネットワークスイッチ300には1つのコンピュータからのみパケットが到着するため、ネットワークスイッチ300は、受信したパケットをポート番号に対応するポートから送信する処理だけを実施すればよいためである。 When the communication in the synchronization schedule corresponding to the received time slot information is assumed to be one-way communication from the computer to another computer, the path conversion unit 320 displays the time slot information as the time slot information. You may convert into the network connection management information containing the number 361 and one port number. The reason is that, since the packet arrives at the network switch 300 from only one computer at the time corresponding to the time slot number 361, the network switch 300 performs only the process of transmitting the received packet from the port corresponding to the port number. This is because it may be carried out.
 ネットワーク接続管理部360は、時刻スロット毎に接続するネットワークスイッチ300の物理ポートの組み合わせを管理する機能を有する。図5は、ネットワーク接続管理部360に記憶されているネットワーク接続管理情報の例を示す説明図である。ネットワーク接続管理情報は、時刻スロット番号361と、第1ポート番号362と、第2ポート番号363とで構成される。 The network connection management unit 360 has a function of managing a combination of physical ports of the network switch 300 connected for each time slot. FIG. 5 is an explanatory diagram illustrating an example of network connection management information stored in the network connection management unit 360. The network connection management information includes a time slot number 361, a first port number 362, and a second port number 363.
 タイマー実行部340は、設定されたタイマーに従って、滞留しているパケットを破棄する機能を有する。また、タイマー実行部340は、設定されたタイマーに従って、物理ソケット間接続部350を用いて、ネットワーク接続管理情報に記載されている第1ポート番号362が示すポートと第2ポート番号363が示すポートとを接続する機能を有する。 The timer execution unit 340 has a function of discarding the staying packets according to the set timer. Also, the timer execution unit 340 uses the physical socket connection unit 350 according to the set timer, and the port indicated by the first port number 362 and the port indicated by the second port number 363 described in the network connection management information And a function of connecting the two.
 物理ソケット間接続部350は、ネットワーク接続管理情報に記載されている第1ポート番号362が示すポートと第2ポート番号363が示すポートとを接続する機能を有する。 The physical socket connecting unit 350 has a function of connecting the port indicated by the first port number 362 and the port indicated by the second port number 363 described in the network connection management information.
 物理ソケット間接続部350は、受信したパケットに含まれるネットワークプロトコルから宛先IPアドレスを取得して、送信先になる物理ポート番号をルーティングテーブルに従って決定するという通常の機能も有する。 The inter-physical socket connection unit 350 also has a normal function of acquiring a destination IP address from a network protocol included in a received packet and determining a physical port number as a transmission destination according to a routing table.
 例えば、到着したパケットに付随する宛先IPアドレスが「192.168.1.1」であれば、物理ソケット間接続部350は、図4に示すルーティングテーブルから、送信に使用する物理ポートを「S0」に決定する。 For example, if the destination IP address accompanying the arrived packet is “192.168.1.1”, the inter-socket connection unit 350 sets the physical port used for transmission to “S0” from the routing table shown in FIG. Decided.
 本実施形態における物理ソケット間接続部350は、時刻スロット番号361に対応する時間、送られてきたパケットをネットワーク接続管理情報に記載されている第1ポート番号362が示すポート、または第2ポート番号363が示すポートに転送する。 In the present embodiment, the inter-physical socket connection unit 350 has a time corresponding to the time slot number 361, a port indicated by the first port number 362 described in the network connection management information, or the second port number. Transfer to the port indicated by 363.
 なお、本実施形態におけるネットワークスイッチ300は、集中バッファを備えてもよい。ネットワークスイッチ300が集中バッファを備える場合、ネットワークスイッチ300に到着したパケットは、入力ポート(例えば、第1ポート番号362が示すポート)から集中バッファに出力され、集中バッファに一時的に保存される。保存された後、パケットは、出力ポート(例えば、第2ポート番号363が示すポート)から送出される。 Note that the network switch 300 in this embodiment may include a centralized buffer. When the network switch 300 includes a centralized buffer, a packet that arrives at the network switch 300 is output from an input port (for example, the port indicated by the first port number 362) to the centralized buffer and temporarily stored in the centralized buffer. After being saved, the packet is sent out from the output port (for example, the port indicated by the second port number 363).
 また、ネットワークスイッチ300が備えるバッファは、集中バッファに限定されず、ポート毎に設けられるバッファでもよい。 Further, the buffer provided in the network switch 300 is not limited to the centralized buffer, and may be a buffer provided for each port.
 物理ソケット間接続部350は、より具体的には、以下のように動作する。すなわち、接続情報処理部としてのタイマー実行部340は現在時刻を確認し、現在時刻に対応するネットワーク接続管理情報を確認する。 More specifically, the physical socket connection unit 350 operates as follows. That is, the timer execution unit 340 as the connection information processing unit confirms the current time and confirms network connection management information corresponding to the current time.
 タイマー実行部340が現在時刻に対応するネットワーク接続管理情報が存在すると判断した場合に、物理ソケット間接続部350は、該当するネットワーク接続管理情報における入力ポートの番号(例えば、第1ポート番号362)と、転送するパケットがネットワークスイッチ300に入力されたポートの番号(例えば、第1ポート番号362)とが一致するかを確認する。 When the timer execution unit 340 determines that the network connection management information corresponding to the current time exists, the inter-physical socket connection unit 350 determines the input port number (for example, the first port number 362) in the corresponding network connection management information. And whether the packet to be transferred matches the port number (for example, the first port number 362) input to the network switch 300.
 一致する場合、物理ソケット間接続部350は、当該パケットを、該当するネットワーク接続管理情報における出力ポートの番号(例えば、第2ポート番号363)が示す出力ポートに転送する。 If they match, the physical socket connection unit 350 transfers the packet to the output port indicated by the output port number (for example, the second port number 363) in the corresponding network connection management information.
 この場合、前述のネットワークスイッチ300内に設けられ、受信したパケットを一時保存するためのバッファは、物理ソケット間接続部350に設けられることが望ましいが、バッファの設置箇所は物理ソケット間接続部350に限定されない。物理ソケット間接続部350とは異なる場所に記憶部(バッファ)は設けられてもよい。 In this case, the buffer provided in the network switch 300 described above for temporarily storing the received packet is preferably provided in the physical socket connecting unit 350, but the buffer is installed at the physical socket connecting unit 350. It is not limited to. A storage unit (buffer) may be provided at a location different from the physical socket connecting unit 350.
 上記のように動作することで、時刻スロット番号361に対応する時間、第1ポート番号362が示すポートに到着したパケットは、第2ポート番号363が示すポートに送信される。また、第2ポート番号363が示すポートに到着したパケットは、第1ポート番号362が示すポートに送信される。どの物理ポートからパケットが到着したかは、ネットワークスイッチ300の既知の情報である。 By operating as described above, the packet arriving at the port indicated by the first port number 362 for the time corresponding to the time slot number 361 is transmitted to the port indicated by the second port number 363. A packet that arrives at the port indicated by the second port number 363 is transmitted to the port indicated by the first port number 362. The physical port from which the packet has arrived is known information of the network switch 300.
 なお、物理ソケット間接続部350の動作のうち、ネットワーク接続管理情報における入力ポートの番号と、転送するパケットがネットワークスイッチ300に入力されたポートの番号とが一致するかを確認し、一致する場合に当該パケットを、該当するネットワーク接続管理情報における出力ポートの番号が示す出力ポートに転送する動作は、他の構成要素(例えば、パケット転送部(図示せず))により実施されてもよい。 In the operation of the physical socket connection unit 350, it is confirmed whether the input port number in the network connection management information matches the port number input to the network switch 300 for the packet to be transferred. The operation of transferring the packet to the output port indicated by the output port number in the corresponding network connection management information may be performed by another component (for example, a packet transfer unit (not shown)).
 同期管理サーバ100、コンピュータ200およびネットワークスイッチ300に含まれる各構成要素は、所定の時刻になると、時刻スロットを利用するアプリケーションが排他的にネットワーク経路を使用できるようにそれぞれ動作する。よって、ルーティングに必要なプロトコルをパケットに付与することなく、ネットワークで接続されている複数の装置におけるアプリケーション間でデータが送受信される。 Each component included in the synchronization management server 100, the computer 200, and the network switch 300 operates so that an application using the time slot can exclusively use the network path at a predetermined time. Therefore, data is transmitted and received between applications in a plurality of devices connected via a network without adding a protocol necessary for routing to the packet.
 なお、本実施形態における同期スケジューリングシステム10において、同期管理サーバ100、コンピュータ200およびネットワークスイッチ300は、例えば、プログラムに従って処理を実行するCPUによって実現される。また、同期管理サーバ100、コンピュータ200およびネットワークスイッチ300は、ハードウェアによって実現されてもよい。 In the synchronization scheduling system 10 according to the present embodiment, the synchronization management server 100, the computer 200, and the network switch 300 are realized by a CPU that executes processing according to a program, for example. The synchronization management server 100, the computer 200, and the network switch 300 may be realized by hardware.
 また、同期スケジュール設定部130、同期スケジュール送信部140、アプリケーション220、割り込み処理部420、同期スケジュール受信部430、経路変換部320、同期スケジュール受信部330、タイマー実行部340および物理ソケット間接続部350は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。 Also, the synchronization schedule setting unit 130, the synchronization schedule transmission unit 140, the application 220, the interrupt processing unit 420, the synchronization schedule reception unit 430, the path conversion unit 320, the synchronization schedule reception unit 330, the timer execution unit 340, and the physical socket connection unit 350. Is realized, for example, by a CPU that executes processing according to program control.
 また、時間管理部120、コンピュータ接続管理部410およびネットワーク接続管理部360は、例えば、RAM(Random Access Memory)で実現される。 In addition, the time management unit 120, the computer connection management unit 410, and the network connection management unit 360 are realized by, for example, a RAM (Random Access Memory).
 また、時刻同期部110、時刻同期部210および時刻同期部310は、例えば、NTP(Network Time Protocol)やPTP(Precision Time Protocol)に基づく処理を実行するためのソフトウェアに従って動作するCPUによって実現される。 The time synchronization unit 110, the time synchronization unit 210, and the time synchronization unit 310 are realized by a CPU that operates in accordance with software for executing processing based on, for example, NTP (Network Time Protocol) or PTP (Precision Time Protocol). .
[動作の説明]
 以下、本実施形態の同期スケジューリングシステム10の動作を図6~7、および図9~12を参照して説明する。
[Description of operation]
The operation of the synchronous scheduling system 10 of this embodiment will be described below with reference to FIGS. 6 to 7 and FIGS. 9 to 12.
 同期管理サーバ100の同期スケジュール設定部130による同期スケジュールの設定の動作を説明する。図6は、同期スケジュール設定部130による同期スケジュールの設定の動作を示すフローチャートである。 The operation of the synchronization schedule setting by the synchronization schedule setting unit 130 of the synchronization management server 100 will be described. FIG. 6 is a flowchart showing an operation of setting a synchronization schedule by the synchronization schedule setting unit 130.
 アプリケーション220が、同期スケジュール設定部130に対して、同期スケジュールリクエストとして自分のIPアドレス(接続元IPアドレス112)と、通信する相手のIPアドレス(接続先IPアドレス113)を通知する(ステップS001)。 The application 220 notifies the synchronization schedule setting unit 130 of its own IP address (connection source IP address 112) and the communication partner's IP address (connection destination IP address 113) as a synchronization schedule request (step S001). .
 次いで、同期スケジュール設定部130は、時間管理部120を検索して、空きスロットがあるかどうかを確認する(ステップS002)。空きスロットが存在する場合(ステップS003のYES)、同期スケジュール設定部130は、同期スケジュールリクエストを、時間管理部120に記憶されている、空きスロットである時刻スロットに登録する(ステップS004)。 Next, the synchronization schedule setting unit 130 searches the time management unit 120 to check whether there is an empty slot (step S002). If there is an empty slot (YES in step S003), the synchronization schedule setting unit 130 registers the synchronization schedule request in a time slot that is an empty slot stored in the time management unit 120 (step S004).
 登録されている同期スケジュールリストは、時刻スロット番号111、接続元IPアドレス112、接続先IPアドレス113が一つの組にされた時間管理部120に記憶されている時刻スロット情報のリストである。 The registered synchronization schedule list is a list of time slot information stored in the time management unit 120 in which the time slot number 111, the connection source IP address 112, and the connection destination IP address 113 are combined into one set.
 次いで、同期スケジュール送信部140は、登録された時刻スロット情報をコンピュータ200とネットワークスイッチ300に対してブロードキャストする(ステップS005)。ブロードキャストした後、同期管理サーバ100は処理を終了する。 Next, the synchronization schedule transmission unit 140 broadcasts the registered time slot information to the computer 200 and the network switch 300 (step S005). After broadcasting, the synchronization management server 100 ends the process.
 空きスロットが存在しない場合(ステップS003のNO)、同期スケジュール送信部140は、同期スケジュールの失敗をアプリケーション220に通知する(ステップS006)。通知した後、同期管理サーバ100は処理を終了する。 If there is no empty slot (NO in step S003), the synchronization schedule transmission unit 140 notifies the application 220 of the failure of the synchronization schedule (step S006). After the notification, the synchronization management server 100 ends the process.
 次に、コンピュータ200に送られてきた同期スケジュールを、同期スケジュール受信部430がコンピュータ接続管理情報に変換する動作を説明する。図7は、同期スケジュール受信部430による同期スケジュールのコンピュータ接続管理情報への変換動作を示すフローチャートである。 Next, an operation in which the synchronization schedule receiving unit 430 converts the synchronization schedule sent to the computer 200 into computer connection management information will be described. FIG. 7 is a flowchart showing the conversion operation of the synchronization schedule into the computer connection management information by the synchronization schedule receiving unit 430.
 同期スケジュール受信部430は、同期スケジュール送信部140から送られてきた、時刻スロット情報に含まれる接続先IPアドレス113が示すIPアドレスとの通信で使用されるインタフェースの識別子を、ルーティングテーブルから検索する(ステップS011)。 The synchronization schedule reception unit 430 searches the routing table for the identifier of the interface used for communication with the IP address indicated by the connection destination IP address 113 included in the time slot information sent from the synchronization schedule transmission unit 140. (Step S011).
 図8は、コンピュータ200に記憶されているルーティングテーブルの例を示す説明図である。図8に示すルーティングテーブルは、宛先ネットワークと、サブネットマスクと、ゲートウェイアドレスと、インタフェースとで構成される。 FIG. 8 is an explanatory diagram showing an example of a routing table stored in the computer 200. The routing table shown in FIG. 8 includes a destination network, a subnet mask, a gateway address, and an interface.
 同期スケジュール受信部430は、ルーティングテーブルから、接続先IPアドレス113が示すIPアドレスが含まれる宛先ネットワークを確認する。次いで、同期スケジュール受信部430は、パケットを宛先ネットワークに送信するために利用されるインタフェースを選択する。 The synchronization schedule receiving unit 430 confirms the destination network including the IP address indicated by the connection destination IP address 113 from the routing table. Next, the synchronization schedule receiving unit 430 selects an interface used for transmitting the packet to the destination network.
 接続先IPアドレス113が示すIPアドレスが「192.168.1.1」である場合を考える。同期スケジュール受信部430は、「192.168.1.1」のIPアドレスが含まれる宛先ネットワークが、サブネットマスクから「192.168.1.0」であることが分かる。また、同期スケジュール受信部430は、確認した宛先ネットワークへの送信に利用されるインタフェースが、ルーティングテーブルから「Eth0」であることが分かる。 Consider a case where the IP address indicated by the connection destination IP address 113 is “192.168.1.1”. The synchronization schedule receiving unit 430 knows that the destination network including the IP address “192.168.1.1” is “192.168.1.0” from the subnet mask. Further, the synchronization schedule receiving unit 430 recognizes that the interface used for transmission to the confirmed destination network is “Eth0” from the routing table.
 次いで、同期スケジュール受信部430は、選択したインタフェース412で使用される割り込み番号413を検索する(ステップS012)。インタフェースの識別子と割り込み番号413との対応情報は、例えば、予めOS(Operating System)400に保持されている。 Next, the synchronization schedule receiving unit 430 searches for the interrupt number 413 used in the selected interface 412 (step S012). The correspondence information between the interface identifier and the interrupt number 413 is, for example, held in advance in an OS (Operating System) 400.
 例えば、OS400がLinux(登録商標)である場合、/proc/interruptファイルを参照すれば、OS400は、インタフェースの識別子と割り込み番号413との対応関係が分かる。 For example, when the OS 400 is Linux (registered trademark), the OS 400 can know the correspondence between the interface identifier and the interrupt number 413 by referring to the / proc / interrupt file.
 次いで、OS400は、パケットを扱うユーザプログラムのバッファ領域を確保する(ステップS013)。バッファ領域のメモリマップアドレス414は、ユーザプログラムがOS400に対してパケットの受信システムコールを発行した際に、OS400に通知される。 Next, the OS 400 secures a buffer area for a user program that handles packets (step S013). The memory map address 414 of the buffer area is notified to the OS 400 when the user program issues a packet reception system call to the OS 400.
 例えば、ユーザプログラムがReadシステムコールを発行してパケットを受信する場合を考える。Readシステムコールが使用される場合、ユーザプログラムは、バッファ領域を用意して、用意したバッファ領域のポインタをReadシステムコールの第二引数としてOS400に通知する。 For example, consider a case where a user program issues a Read system call and receives a packet. When the Read system call is used, the user program prepares a buffer area and notifies the OS 400 of the prepared buffer area pointer as the second argument of the Read system call.
 上記の場合、OS400は、ユーザプログラムが指定したバッファ領域に、受信したパケットデータが格納されている、OS400のバッファ領域の内容をコピーしてユーザプログラムに返す。OS400の処理により、ユーザプログラムは、送られてきたパケットデータを受け取ることができる。 In the above case, the OS 400 copies the contents of the buffer area of the OS 400 in which the received packet data is stored in the buffer area specified by the user program and returns it to the user program. Through the processing of the OS 400, the user program can receive the transmitted packet data.
 既存のReadシステムコールが使用される場合、OS400からユーザプログラムにデータが受け渡される際に、メモリコピーが発生する。メモリコピーの発生を回避するために、OS400は、新たなシステムコールを用意して、受信したパケットデータが格納されているバッファ領域をユーザプログラムに直接参照させてもよい。 When an existing Read system call is used, a memory copy occurs when data is transferred from the OS 400 to the user program. In order to avoid the occurrence of memory copy, the OS 400 may prepare a new system call and directly reference the buffer area in which received packet data is stored to the user program.
 次いで、同期スケジュール受信部430は、ステップS011~S013で得られたインタフェースの識別子、割り込み番号413、メモリマップアドレス414からコンピュータ接続管理情報を作成する(ステップS014)。同期スケジュール受信部430は、作成したコンピュータ接続管理情報をコンピュータ接続管理部410に格納する。格納した後、同期スケジュール受信部430は、処理を終了する。 Next, the synchronization schedule receiving unit 430 creates computer connection management information from the interface identifier, interrupt number 413, and memory map address 414 obtained in steps S011 to S013 (step S014). The synchronization schedule receiving unit 430 stores the created computer connection management information in the computer connection management unit 410. After storing, the synchronization schedule receiving unit 430 ends the process.
 次に、ネットワークスイッチ300に送られてきた同期スケジュールを、経路変換部320がネットワーク接続管理情報に変換する動作を説明する。図9は、経路変換部320による同期スケジュールのネットワーク接続管理情報への変換動作を示すフローチャートである。 Next, an operation in which the path conversion unit 320 converts the synchronization schedule sent to the network switch 300 into network connection management information will be described. FIG. 9 is a flowchart showing the conversion operation of the synchronization schedule into the network connection management information by the path conversion unit 320.
 同期スケジュール受信部330は、同期スケジュール送信部140から送られてきた、時刻スロット情報に含まれる接続先IPアドレス113が示すIPアドレスとの通信で使用されるポートのポート番号を、ルーティングテーブルから検索する(ステップS021)。 The synchronization schedule reception unit 330 searches the routing table for the port number of the port used for communication with the IP address indicated by the connection destination IP address 113 included in the time slot information sent from the synchronization schedule transmission unit 140. (Step S021).
 検索する際、同期スケジュール受信部330は、経路変換部320を用いる。経路変換部320を用いた同期スケジュールのネットワーク接続管理情報への変換方法は、上述の通りである。 When performing a search, the synchronization schedule receiving unit 330 uses the route conversion unit 320. The method for converting the synchronization schedule into the network connection management information using the path conversion unit 320 is as described above.
 次いで、同期スケジュール受信部330は、同期スケジュール送信部140から送られてきた、時刻スロット情報に含まれる接続元IPアドレス112が示すIPアドレスとの通信で使用されるポートのポート番号を、ルーティングテーブルから検索する(ステップS022)。検索方法は、ステップS021における検索方法と同様である。 Next, the synchronization schedule receiving unit 330 sends the port number of the port used for communication with the IP address indicated by the connection source IP address 112 included in the time slot information sent from the synchronization schedule transmitting unit 140 to the routing table. (Step S022). The search method is the same as the search method in step S021.
 次いで、同期スケジュール受信部330は、ステップS021およびステップS022で得られた2つのポート番号から、ネットワーク接続管理情報を作成する(ステップS023)。同期スケジュール受信部330は、作成したネットワーク接続管理情報をネットワーク接続管理部360に格納する。格納した後、同期スケジュール受信部330は、処理を終了する。 Next, the synchronization schedule receiving unit 330 creates network connection management information from the two port numbers obtained in step S021 and step S022 (step S023). The synchronization schedule receiving unit 330 stores the created network connection management information in the network connection management unit 360. After storing, the synchronization schedule receiving unit 330 ends the process.
 次に、コンピュータ200の割り込み処理部420の動作を説明する。図11は、第1の実施形態における割り込み処理部420の動作を示すフローチャートである。本実施形態における割り込み処理部420の動作を説明する前に、図10に示す既存の割り込み処理部の動作を示すフローチャートを参照して、本実施形態の処理と既存の処理との違いを説明する。 Next, the operation of the interrupt processing unit 420 of the computer 200 will be described. FIG. 11 is a flowchart illustrating the operation of the interrupt processing unit 420 according to the first embodiment. Before describing the operation of the interrupt processing unit 420 in this embodiment, the difference between the processing of this embodiment and the existing processing will be described with reference to the flowchart showing the operation of the existing interrupt processing unit shown in FIG. .
 パケットがコンピュータ200に到着すると、割り込み信号がCPUに送られる(ステップS101)。割り込み信号は、ネットワークカードからCPUに対して送られる電気信号である。 When the packet arrives at the computer 200, an interrupt signal is sent to the CPU (step S101). The interrupt signal is an electrical signal sent from the network card to the CPU.
 ネットワークカードは、自身が持つバッファに到着したパケットデータを、OS400が指定したメモリバッファ領域にコピーする。パケットデータがコピーされたメモリバッファ領域を、DMA(Direct Memory Access)バッファと呼ぶ。次いで、ネットワークカードは、CPUに対して割り込み信号を送信する。 The network card copies packet data that has arrived in its own buffer to the memory buffer area designated by the OS 400. The memory buffer area where the packet data is copied is called a DMA (Direct Memory Access) buffer. Next, the network card transmits an interrupt signal to the CPU.
 割り込み信号を受信したOS400は、割り込み番号情報を確認し、実行するプログラムを選択する(ステップS102)。次いで、OS400は、割り込みプログラムを実行する(ステップS103)。 The OS 400 that has received the interrupt signal checks the interrupt number information and selects a program to be executed (step S102). Next, the OS 400 executes an interrupt program (step S103).
 次いで、OS400は、DMAバッファからパケットデータを取り出し(ステップS104)、ネットワークプロトコルの処理を実行する(ステップS105)。次いで、OS400は、ユーザプログラムのバッファにパケットをコピーする(ステップS106)。コピーした後、コンピュータ200は、処理を終了する。 Next, the OS 400 takes out the packet data from the DMA buffer (step S104), and executes a network protocol process (step S105). Next, the OS 400 copies the packet to the user program buffer (step S106). After copying, the computer 200 ends the process.
 ユーザプログラムのバッファは、呼び出したReadシステムコールの第二引数で指定されているメモリバッファ領域に対応する。以上のようにコンピュータ200が動作することによって、ユーザプログラムは、受信されたパケットデータを受け取る。 The user program buffer corresponds to the memory buffer area specified by the second argument of the read Read system call. As the computer 200 operates as described above, the user program receives the received packet data.
 次に、図11を参照して、本実施形態における割り込み処理部420の動作を説明する。図11に示すステップS111からステップS113までは、割り込み処理部420は、既存の割り込み処理部と同じように動作する。ステップS113の次のステップからの動作が、本実施形態における割り込み処理部420の動作になる。 Next, the operation of the interrupt processing unit 420 in the present embodiment will be described with reference to FIG. From step S111 to step S113 shown in FIG. 11, the interrupt processing unit 420 operates in the same manner as the existing interrupt processing unit. The operation from the step following step S113 becomes the operation of the interrupt processing unit 420 in the present embodiment.
 割り込み処理部420は、現在時刻を取得する(ステップS114)。次いで、割り込み処理部420は、コンピュータ接続管理部410に、取得した時刻に対応するコンピュータ接続管理情報が存在するかどうか確認する(ステップS115)。 The interrupt processing unit 420 acquires the current time (step S114). Next, the interrupt processing unit 420 confirms whether there is computer connection management information corresponding to the acquired time in the computer connection management unit 410 (step S115).
 コンピュータ接続管理情報が存在する場合(ステップS116のYES)、割り込み処理部420は、コピー先メモリアドレスをコンピュータ接続管理情報に記載されているメモリマップアドレス414に設定する(ステップS120)。次いで、割り込み処理部420は、DMAバッファからメモリマップアドレス414に対応するバッファ領域にデータをコピーする(ステップS121)。コピーした後、割り込み処理部420は、処理を終了する。 If the computer connection management information exists (YES in step S116), the interrupt processing unit 420 sets the copy destination memory address to the memory map address 414 described in the computer connection management information (step S120). Next, the interrupt processing unit 420 copies data from the DMA buffer to the buffer area corresponding to the memory map address 414 (step S121). After copying, the interrupt processing unit 420 ends the process.
 コンピュータ接続管理情報が存在しない場合(ステップS116のNO)、OS400は、通常の割り込み処理と同様に、DMAバッファからパケットを取り出す(ステップS117)。次いで、ネットワークプロトコルの処理を実行した後(ステップS118)、OS400は、ユーザプログラムの指定するメモリバッファ領域にパケットをコピーする(ステップS119)。コピーした後、OS400は、処理を終了する。 When the computer connection management information does not exist (NO in step S116), the OS 400 takes out the packet from the DMA buffer in the same manner as the normal interrupt process (step S117). Next, after executing network protocol processing (step S118), the OS 400 copies the packet to the memory buffer area specified by the user program (step S119). After copying, the OS 400 ends the process.
 次に、ネットワークスイッチ300のタイマー実行部340の動作を説明する。図12は、タイマー実行部340の動作を示すフローチャートである。 Next, the operation of the timer execution unit 340 of the network switch 300 will be described. FIG. 12 is a flowchart showing the operation of the timer execution unit 340.
 タイマーは予め設定されているとする。例えば、単位時間を1秒、時刻スロットを4つ、0時0分0秒を単位時間の開始時刻とそれぞれすると、タイマーは0時0分0秒から0.25秒毎に時刻確認を実行するように設定される。 Suppose the timer is set in advance. For example, if the unit time is 1 second, the time slot is 4 times, and 0: 0: 0 is the start time of the unit time, the timer executes time confirmation every 0.25 seconds from 0: 0 minutes 0 seconds. Is set as follows.
 タイマー実行部340は、現在時刻を確認する。次いで、タイマー実行部340は、確認した現在時刻に対応するネットワーク接続管理情報がネットワーク接続管理部360内に存在するか否かを判断する(ステップS131)。 The timer execution unit 340 confirms the current time. Next, the timer execution unit 340 determines whether the network connection management information corresponding to the confirmed current time exists in the network connection management unit 360 (step S131).
 タイマー実行部340は、確認したネットワーク接続管理情報から第1ポート番号362と第2ポート番号363とを取り出す。タイマー実行部340は、取り出した情報を現在時刻に対応する時刻スロット中の唯一のルーティング情報にする。 The timer execution unit 340 extracts the first port number 362 and the second port number 363 from the confirmed network connection management information. The timer execution unit 340 makes the extracted information unique routing information in the time slot corresponding to the current time.
 ステップS132で設定されたルーティング情報は、物理ソケット間接続部350のルーティング情報になる。物理ソケット間接続部350は、現在時刻に対応するネットワーク接続管理情報における出力ポートの番号(例えば、第2ポート番号363)が示す出力ポートにパケットを転送する(ステップS132)。 The routing information set in step S132 becomes the routing information of the connection part 350 between physical sockets. The physical socket connecting unit 350 transfers the packet to the output port indicated by the output port number (for example, the second port number 363) in the network connection management information corresponding to the current time (step S132).
 ステップS131からステップS132の動作は、より具体的には以下のように説明される。すなわち、タイマー実行部340は、現在時刻を確認し、現在時刻に対応するネットワーク接続管理情報を確認する。 More specifically, the operation from step S131 to step S132 is described as follows. That is, the timer execution unit 340 confirms the current time and confirms network connection management information corresponding to the current time.
 タイマー実行部340が現在時刻に対応するネットワーク接続管理情報が存在すると判断した場合に、物理ソケット間接続部350は、該当するネットワーク接続管理情報における入力ポートの番号(例えば、第1ポート番号362)と、転送するパケットがネットワークスイッチ300に入力されたポートの番号(例えば、第1ポート番号362)とが一致するかを確認する。 When the timer execution unit 340 determines that the network connection management information corresponding to the current time exists, the inter-physical socket connection unit 350 determines the input port number (for example, the first port number 362) in the corresponding network connection management information. And whether the packet to be transferred matches the port number (for example, the first port number 362) input to the network switch 300.
 一致する場合、物理ソケット間接続部350は、当該パケットを、該当するネットワーク接続管理情報における出力ポートの番号(例えば、第2ポート番号363)が示す出力ポートに転送する。 If they match, the physical socket connection unit 350 transfers the packet to the output port indicated by the output port number (for example, the second port number 363) in the corresponding network connection management information.
 物理ソケット間接続部350は、取り出された第1ポート番号362が示すポートと第2ポート番号363が示すポートとを接続する。 The physical socket connection unit 350 connects the port indicated by the extracted first port number 362 and the port indicated by the second port number 363.
 次いで、タイマー実行部340は、ステップS132で設定されたルーティング情報に該当しない、ネットワークキューに溜まっているパケットを破棄する(ステップS133)。 Next, the timer execution unit 340 discards packets accumulated in the network queue that do not correspond to the routing information set in step S132 (step S133).
 より具体的には、ステップS133でタイマー実行部340は、次のように動作する。前述の通り、物理ソケット間接続部350は、現在時刻に該当するネットワーク接続管理情報における入力ポートの番号(例えば、第1ポート番号362)と、転送するパケットがネットワークスイッチ300に入力されたポートの番号(例えば、第1ポート番号362)とが一致するかを確認する。一致する場合、物理ソケット間接続部350は、当該パケットを、該当するネットワーク接続管理情報における出力ポートの番号(例えば、第2ポート番号363)が示す出力ポートに転送する。 More specifically, in step S133, the timer execution unit 340 operates as follows. As described above, the inter-physical socket connection unit 350 includes the input port number (for example, the first port number 362) in the network connection management information corresponding to the current time, and the port for which the packet to be transferred is input to the network switch 300. It is confirmed whether the number (for example, the first port number 362) matches. If they match, the physical socket connection unit 350 transfers the packet to the output port indicated by the output port number (for example, the second port number 363) in the corresponding network connection management information.
 次いで、タイマー実行部340は、物理ソケット間接続部350の確認により一致しないとされたパケット、つまり、現在時刻に該当するネットワーク接続管理情報における入力ポートの番号(例えば、第1ポート番号362)以外のポート番号が示すポートから受信したパケットを、記憶されているバッファ(ネットワークキュー)から削除する。なお、タイマー実行部340によるパケットの破棄の周期は、任意である。パケットを破棄した後、タイマー実行部340は、処理を終了する。 Next, the timer execution unit 340 receives a packet that is not matched by the confirmation of the physical socket connection unit 350, that is, other than the input port number (for example, the first port number 362) in the network connection management information corresponding to the current time. The packet received from the port indicated by the port number is deleted from the stored buffer (network queue). The packet discarding period by the timer execution unit 340 is arbitrary. After discarding the packet, the timer execution unit 340 ends the process.
 以上、好適な具体例としてタイマー実行部340の動作を説明したが、本実施形態においてステップS133の動作は必須の動作ではない。本実施形態の同期スケジューリングシステム10を構成する同期管理サーバ100、コンピュータ200、ネットワークスイッチ300の全ての装置間で時刻同期及び時刻スロットの情報の共有がされていれば、所定の時刻スロットに対応する時刻の間は、当該時刻スロット中の唯一のルーティング情報に該当しない入力ポートからは、ネットワークスイッチ300は、パケットを受信しないためである。 As described above, the operation of the timer execution unit 340 has been described as a preferred specific example. However, in the present embodiment, the operation of step S133 is not an essential operation. If time synchronization and time slot information are shared among all devices of the synchronization management server 100, the computer 200, and the network switch 300 constituting the synchronization scheduling system 10 of the present embodiment, it corresponds to a predetermined time slot. This is because during the time, the network switch 300 does not receive a packet from an input port that does not correspond to the only routing information in the time slot.
 以上の処理により、ネットワークスイッチ300は、ステップS132で設定されたルーティング情報に該当するパケットの転送を開始する。 Through the above processing, the network switch 300 starts transferring a packet corresponding to the routing information set in step S132.
[効果の説明]
 次に、本実施形態の効果を説明する。本実施形態では、ある時刻に通信するアプリケーションが限定されるように構成されているため、プロトコル処理を介することなくアプリケーション間で直接データが送受信される。よって、計算機間で2つ以上のアプリケーションが通信する際に、アプリケーションは、パケットのヘッダを参照せずに通信できるため、ネットワークプロトコル処理によるオーバヘッドが発生しない。
[Description of effects]
Next, the effect of this embodiment will be described. In the present embodiment, since applications that communicate at a certain time are limited, data is directly transmitted and received between applications without using protocol processing. Therefore, when two or more applications communicate with each other between computers, the applications can communicate without referring to the header of the packet, so that overhead due to network protocol processing does not occur.
 さらに、本実施形態では、所定の時刻スロットに対応する時間内でネットワークスイッチが処理するパケットが、所定の時刻スロットが割り当てられたアプリケーションが処理するパケットのみに限定されているため、各計算機を通信可能に接続する複数のネットワーク機器でデータが同期的に処理される。 Furthermore, in this embodiment, the packets processed by the network switch within the time corresponding to the predetermined time slot are limited to only the packets processed by the application to which the predetermined time slot is assigned. Data is processed synchronously by a plurality of network devices that can be connected.
実施形態2.
[構成の説明]
 次に、本発明の第2の実施形態を、図面を参照して説明する。図13は、本発明による同期スケジューリングシステム10の第2の実施形態の構成例を示すブロック図である。
Embodiment 2. FIG.
[Description of configuration]
Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 13 is a block diagram showing a configuration example of the second embodiment of the synchronous scheduling system 10 according to the present invention.
 図13を参照すると、本実施形態は、第1の実施形態と比較して、同期管理サーバ100がネットワーク経路情報生成部150と、ネットワーク経路情報記憶部160とを含む点が異なる。また、ネットワーク経路情報生成部150とネットワーク経路情報記憶部160が含まれるために、同期スケジュール設定部130の動作が第1の実施形態とは異なる。 Referring to FIG. 13, the present embodiment is different from the first embodiment in that the synchronization management server 100 includes a network route information generation unit 150 and a network route information storage unit 160. In addition, since the network route information generation unit 150 and the network route information storage unit 160 are included, the operation of the synchronization schedule setting unit 130 is different from that of the first embodiment.
[動作の説明]
 ネットワーク経路情報生成部150とネットワーク経路情報記憶部160は、それぞれ概略以下のように動作する。ネットワーク経路情報生成部150は、あるサーバが他のサーバと通信する際に使用されるパケットの経路の経路情報163を生成する。経路情報163は、パケットが経由するネットワークスイッチの組み合わせを示す情報である。
[Description of operation]
The network route information generation unit 150 and the network route information storage unit 160 operate as outlined below. The network route information generation unit 150 generates route information 163 of a packet route used when a certain server communicates with another server. The route information 163 is information indicating a combination of network switches through which a packet passes.
 第1の実施形態でも説明したように、アプリケーション220は、同期スケジュール設定部130に対して、同期スケジュールリクエストとして自分のIPアドレス(接続元IPアドレス112)と相手のIPアドレス(接続先IPアドレス113)を通知する。 As described in the first embodiment, the application 220 sends a synchronization schedule request to the synchronization schedule setting unit 130 with its own IP address (connection source IP address 112) and the other party's IP address (connection destination IP address 113). ).
 ネットワーク経路情報生成部150は、通知された情報と、コンピュータ200に記憶されているルーティングテーブルと、ネットワークスイッチ300に記憶されているルーティングテーブルとを元に、パケットが経由するネットワークスイッチ300の組み合わせを決定する。 Based on the notified information, the routing table stored in the computer 200, and the routing table stored in the network switch 300, the network route information generation unit 150 determines a combination of the network switches 300 through which the packet passes. decide.
 ネットワーク経路情報記憶部160は、ネットワーク経路情報生成部150によって決められたネットワーク経路情報を記憶する。図14は、ネットワーク経路情報記憶部160に記憶されているネットワーク経路情報の例を示す説明図である。 The network route information storage unit 160 stores the network route information determined by the network route information generation unit 150. FIG. 14 is an explanatory diagram illustrating an example of the network route information stored in the network route information storage unit 160.
 図14に示すように、ネットワーク経路情報は、接続元IPアドレス112が記載される接続元サーバ161と、接続先IPアドレス113が記載される接続先サーバ162と、ネットワークスイッチ300の組み合わせが記載される経路情報163とで構成される。経路情報163は、パケットが接続元サーバ161と接続先サーバ162との間で送受信される際に使用されるネットワークスイッチ300の組み合わせである。 As shown in FIG. 14, the network route information describes a combination of a connection source server 161 in which the connection source IP address 112 is described, a connection destination server 162 in which the connection destination IP address 113 is described, and the network switch 300. Route information 163. The route information 163 is a combination of the network switches 300 used when packets are transmitted and received between the connection source server 161 and the connection destination server 162.
 なお、ネットワーク経路情報の接続元サーバ161、接続先サーバ162、経路情報163に割り当てられる情報は、IPアドレスになる。図14に示す例の場合、説明の簡略化のために各機器の名称が割り当てられている。 Note that information assigned to the connection source server 161, the connection destination server 162, and the route information 163 in the network route information is an IP address. In the case of the example shown in FIG. 14, the names of the respective devices are assigned for the sake of simplicity of explanation.
 例として、サーバ101がサーバ104に通信接続する際の経路情報163の決定方法を示す。図15は、サーバとネットワークスイッチから構成されるネットワーク構成の例を示す説明図である。以下、図15を参照して経路情報163の決定方法を説明する。 As an example, a method for determining the route information 163 when the server 101 is connected to the server 104 by communication is shown. FIG. 15 is an explanatory diagram illustrating an example of a network configuration including a server and a network switch. Hereinafter, a method for determining the route information 163 will be described with reference to FIG.
 図15を参照すると、サーバ101はルータA(以下、ネットワークスイッチ300をルータAと呼称する。)と接続されている。同様に、サーバ102はルータCと、サーバ103はルータBと、サーバ104はルータDとそれぞれ接続されている。また、ルータ同士はそれぞれ格子状に接続されている。 Referring to FIG. 15, the server 101 is connected to the router A (hereinafter, the network switch 300 is referred to as router A). Similarly, the server 102 is connected to the router C, the server 103 is connected to the router B, and the server 104 is connected to the router D. The routers are connected in a grid pattern.
 ここで、サーバ101がサーバ104と通信する際に使用される経路の経路情報163は、次のように作成される。ネットワーク経路情報生成部150は、サーバ101のルーティングテーブルを確認し、サーバ101が次に通信接続するルータを特定する。図15に示すように、次に通信接続するルータはルータAになる。 Here, route information 163 of a route used when the server 101 communicates with the server 104 is created as follows. The network path information generation unit 150 confirms the routing table of the server 101 and identifies the router to which the server 101 is next connected for communication. As shown in FIG. 15, the next router for communication connection is router A.
 次いで、ネットワーク経路情報生成部150は、ルータAのルーティングテーブルを確認し、ルータAが次に通信接続するルータを特定する。図15に示すように、次に通信接続するルータはルータBになる。 Next, the network route information generation unit 150 confirms the routing table of the router A and identifies the router to which the router A is next connected for communication. As shown in FIG. 15, the next router for communication connection is router B.
 次の接続先がサーバ104になるまで接続先を特定する動作が繰り返されることによって、経路情報163が得られる。図14に示すように、サーバ101がサーバ104と通信する際に使用される経路の経路情報163は、ルータA、ルータB、ルータDの組み合わせになる。 The route information 163 is obtained by repeating the operation of specifying the connection destination until the next connection destination becomes the server 104. As illustrated in FIG. 14, route information 163 of a route used when the server 101 communicates with the server 104 is a combination of router A, router B, and router D.
 ネットワーク経路情報生成部150は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。ネットワーク経路情報記憶部160は、例えば、RAMで実現される。 The network route information generation unit 150 is realized by a CPU that executes processing according to program control, for example. The network path information storage unit 160 is realized by a RAM, for example.
 以下、本実施形態の同期スケジューリングシステム10の動作を図16~17を参照して説明する。 Hereinafter, the operation of the synchronous scheduling system 10 of this embodiment will be described with reference to FIGS.
 同期管理サーバ100のネットワーク経路情報生成部150によるネットワーク経路情報生成の動作を説明する。図16は、ネットワーク経路情報生成部150によるネットワーク経路情報生成の動作を示すフローチャートである。 The operation of network route information generation by the network route information generation unit 150 of the synchronization management server 100 will be described. FIG. 16 is a flowchart showing an operation of generating network route information by the network route information generating unit 150.
 ネットワーク経路情報生成部150は、接続元サーバ161のルーティングテーブルを確認し、接続元サーバ161が接続されているルータのIPアドレスを取得する(ステップS201)。 The network route information generation unit 150 confirms the routing table of the connection source server 161 and acquires the IP address of the router to which the connection source server 161 is connected (step S201).
 ルータのIPアドレスが存在する場合(ステップS202のYES)、ネットワーク経路情報生成部150は、取得したルータのIPアドレスを保有するルータのルーティングテーブルを確認する。次いで、ネットワーク経路情報生成部150は、ステップS202で確認したルータが接続されているルータのIPアドレスを取得する(ステップS203)。 If the IP address of the router exists (YES in step S202), the network route information generation unit 150 checks the routing table of the router that holds the acquired IP address of the router. Next, the network route information generation unit 150 acquires the IP address of the router to which the router confirmed in step S202 is connected (step S203).
 ルータのIPアドレスが存在する場合(ステップS204のYES)、ネットワーク経路情報生成部150は、ステップS203の処理を繰り返す。ルータのIPアドレスが存在しない場合(ステップS202のNO、またはステップS204のNO)、ネットワーク経路情報生成部150は、取得したルータのIPアドレスの組み合わせを経路情報163にする。 When the IP address of the router exists (YES in step S204), the network route information generation unit 150 repeats the process of step S203. When the IP address of the router does not exist (NO in step S202 or NO in step S204), the network route information generation unit 150 sets the acquired combination of router IP addresses as route information 163.
 次いで、ネットワーク経路情報生成部150は、ネットワーク経路情報を作成する(ステップS205)。ネットワーク経路情報を作成した後、ネットワーク経路情報生成部150は、処理を終了する。 Next, the network route information generation unit 150 creates network route information (step S205). After creating the network route information, the network route information generation unit 150 ends the process.
 接続元サーバ161が接続されているルータのIPアドレスは、例えば、図8に示すコンピュータ200に記憶されているルーティングテーブルを参照すると、ゲートウェイアドレスに記載されている「192.168.1.1」に相当する。 For example, referring to the routing table stored in the computer 200 shown in FIG. 8, the IP address of the router to which the connection source server 161 is connected is “192.168.1.1” described in the gateway address. It corresponds to.
 つまり、「192.168.1.0」に対応するネットワークに所属するIPアドレスや、「192.168.2.0」に対応するネットワークに所属するIPアドレスが接続先のIPアドレスになる場合、経由されるルータは存在しない。すなわち、経路情報163として何も記憶されない。 That is, when the IP address belonging to the network corresponding to “192.168.1.0” or the IP address belonging to the network corresponding to “192.168.2.0” becomes the connection destination IP address, There is no routed router. That is, nothing is stored as the route information 163.
 「192.168.1.0」や「192.168.2.0」に対応するネットワーク以外のネットワークに所属するIPアドレスが接続先のIPアドレスになる場合、「192.168.1.1」のIPアドレスを保有するルータが、最初の接続先のルータとして記録される。 When an IP address belonging to a network other than the network corresponding to “192.168.1.0” or “192.168.2.0” is the IP address of the connection destination, “192.168.1.1” The router having the IP address is recorded as the first connection destination router.
 図4に示すルータAに記憶されているルーティングテーブルを参照すると、ネクストホップに該当するIPアドレスが、次にルータAが通信接続するルータのIPアドレスになる。 Referring to the routing table stored in the router A shown in FIG. 4, the IP address corresponding to the next hop becomes the IP address of the router to which the router A communicates next.
 例えば、「192.168.2.0」に対応するネットワークに所属するIPアドレスを接続先のIPアドレスとした場合、次に通信接続するルータのIPアドレスは、「192.168.2.1」になる。 For example, when the IP address belonging to the network corresponding to “192.168.2.0” is the IP address of the connection destination, the IP address of the next router for communication connection is “192.168.2.1”. become.
 なお、図4および図8に示すルーティングテーブルに含まれる経路情報は、図15に示すネットワーク構成に対応していない。以上の処理により、経路情報163が特定される。 Note that the route information included in the routing tables shown in FIGS. 4 and 8 does not correspond to the network configuration shown in FIG. Through the above processing, the route information 163 is specified.
 図17は、第2の実施形態における同期管理サーバ100の動作を示すフローチャートである。ネットワーク経路情報生成部150は、最初に接続先IPアドレス113の情報と接続元IPアドレス112の情報とを入力して、ネットワーク経路情報を生成する(ステップS211)。生成方法は、図16に示すフローチャートの通りである。 FIG. 17 is a flowchart showing the operation of the synchronization management server 100 in the second embodiment. The network path information generation unit 150 first inputs the information of the connection destination IP address 113 and the information of the connection source IP address 112, and generates network path information (step S211). The generation method is as shown in the flowchart of FIG.
 次いで、同期スケジュール送信部140は、ネットワーク経路の各ルータ、接続先IPアドレス113が示すIPアドレスを保有するサーバ、接続元IPアドレス112が示すIPアドレスを保有するサーバに対して、時刻スロット情報をマルチキャストする(ステップS212)。 Next, the synchronization schedule transmission unit 140 sends time slot information to each router of the network path, the server holding the IP address indicated by the connection destination IP address 113, and the server holding the IP address indicated by the connection source IP address 112. Multicast (step S212).
 次いで、同期スケジュール送信部140は、設定したタイムアウト時間内にすべてのマルチキャスト先から返信が届いているか確認する(ステップS213)。タイムアウト時間は、予め設定されている。 Next, the synchronization schedule transmission unit 140 checks whether replies have arrived from all multicast destinations within the set timeout period (step S213). The timeout time is set in advance.
 タイムアウト時間の設定方法には、例えば次のような方法がある。単位時間が1秒であり、時刻スロットが4つ存在し、単位時間の開始時刻が0時0分0秒であると仮定する。現在時刻が0時0分0秒50であり、4番目の時刻スロットが設定されている場合、マルチキャストに対する返信の確認のタイムアウト時間を0.25秒と定めることができる。 There are the following methods for setting the timeout time, for example. Assume that the unit time is 1 second, there are four time slots, and the start time of the unit time is 0: 0: 0. When the current time is 0:00, 0, 50 and the fourth time slot is set, the timeout time for confirming the reply to the multicast can be set to 0.25 seconds.
 上記の例では、4番目の時刻スロットの開始時刻が0時0分0秒75であるため、開始時刻までに同期スケジュールが設定されていなければ、同期通信が開始されない。よって、開始時刻に同期通信を開始させるために、タイムアウト時間を時刻スロットへの割り当て時間にするようなタイムアウトの設定方法が一例として挙げられる。 In the above example, the start time of the fourth time slot is 0: 0: 0. Therefore, if no synchronization schedule is set by the start time, synchronous communication is not started. Therefore, in order to start synchronous communication at the start time, a timeout setting method in which the timeout time is assigned to a time slot is given as an example.
 タイムアウト時間内にすべて受信すれば(ステップS214のYES)、同期管理サーバ100は、そのまま処理を終了する。タイムアウト時間内にすべて受信できなければ(ステップS214のNO)、同期スケジュール送信部140は、同期スケジュールに失敗したことをアプリケーションに通知する(ステップS215)。通知した後、同期管理サーバ100は、処理を終了する。 If all are received within the timeout period (YES in step S214), the synchronization management server 100 ends the process as it is. If not all can be received within the timeout period (NO in step S214), the synchronization schedule transmission unit 140 notifies the application that the synchronization schedule has failed (step S215). After the notification, the synchronization management server 100 ends the process.
[効果の説明]
 次に、本実施形態の効果を説明する。本実施形態では、予め所定の時刻スロットに対応する時間内に通信に使用される経路を特定し、特定した経路におけるルータ、接続先コンピュータ、および接続元コンピュータに対して同期スケジュールを送信し、タイムアウト時間内に同期スケジュール送信に対する返信がなければ、同期スケジューリング失敗とみなすように構成されているため、同期スケジュール設定の際のエラーを軽減できる。第1の実施形態では、同期スケジュールをブロードキャストしているため、同期スケジュールが正しくコンピュータやルータに設定されたかどうかを判断できないが、本実施形態の同期スケジューリングシステム10を使用する場合、ユーザは、同期スケジュールが正しく設定されたかどうかを判断できる。
[Description of effects]
Next, the effect of this embodiment will be described. In this embodiment, a route used for communication within a time corresponding to a predetermined time slot is specified in advance, a synchronization schedule is transmitted to the router, the connection destination computer, and the connection source computer in the specified route, and a time-out occurs If there is no reply to the synchronization schedule transmission within the time, it is configured that the synchronization scheduling is regarded as a failure, so that errors in setting the synchronization schedule can be reduced. In the first embodiment, since the synchronization schedule is broadcast, it cannot be determined whether or not the synchronization schedule is correctly set in the computer or the router. However, when using the synchronization scheduling system 10 of this embodiment, the user can You can determine whether the schedule is set correctly.
実施形態3.
[構成の説明]
 次に、本発明の第3の実施形態を、図面を参照して説明する。図18は、本発明による同期スケジューリングシステム10の第3の実施形態の構成例を示すブロック図である。
Embodiment 3. FIG.
[Description of configuration]
Next, a third embodiment of the present invention will be described with reference to the drawings. FIG. 18 is a block diagram showing a configuration example of the third embodiment of the synchronous scheduling system 10 according to the present invention.
 図18を参照すると、本実施形態は、第1の実施形態と比較して、同期管理サーバ100が同期エラー通知部170を含む点と、コンピュータ200が転送フラグ記憶部440と、同期エラー検出部450とを含む点が異なる。また、転送フラグ記憶部440と同期エラー検出部450が含まれるために、割り込み処理部420の動作が第1の実施形態とは異なる。 Referring to FIG. 18, the present embodiment is different from the first embodiment in that the synchronization management server 100 includes a synchronization error notification unit 170, the computer 200 includes a transfer flag storage unit 440, and a synchronization error detection unit. 450 is different. Since the transfer flag storage unit 440 and the synchronization error detection unit 450 are included, the operation of the interrupt processing unit 420 is different from that of the first embodiment.
[動作の説明]
 転送フラグ記憶部440、同期エラー検出部450および同期エラー通知部170は、それぞれ概略以下のように動作する。同期エラー検出部450は、同期通信中の通信エラーを検出する機能を有する。同期エラー検出部450は、通信エラーを検出する際に、後述する転送フラグ442を用いる。
[Description of operation]
The transfer flag storage unit 440, the synchronization error detection unit 450, and the synchronization error notification unit 170 generally operate as follows. The synchronization error detection unit 450 has a function of detecting a communication error during synchronous communication. The synchronization error detection unit 450 uses a transfer flag 442 described later when detecting a communication error.
 転送フラグ442を用いて同期通信のエラーを検出すると、同期エラー検出部450は、同期エラー通知部170に、同期通信のエラーが発生したことを通知する。 When a synchronization communication error is detected using the transfer flag 442, the synchronization error detection unit 450 notifies the synchronization error notification unit 170 that a synchronization communication error has occurred.
 転送フラグ記憶部440は、転送時に使用されているフラグが格納される記憶領域である。図19は、転送フラグ記憶部440に記憶されている転送フラグ情報の例を示す説明図である。 The transfer flag storage unit 440 is a storage area for storing a flag used at the time of transfer. FIG. 19 is an explanatory diagram illustrating an example of transfer flag information stored in the transfer flag storage unit 440.
 図19に示すように、転送フラグ情報は、時刻スロット番号441と、転送フラグ442とで構成されている。また、転送フラグ442は、開始フラグ443と、終了フラグ444とで構成されている。 As shown in FIG. 19, the transfer flag information includes a time slot number 441 and a transfer flag 442. The transfer flag 442 includes a start flag 443 and an end flag 444.
 所定の時刻スロットに対応する時間において同期通信が開始されると、転送フラグ442の開始フラグ443が転送フラグ記憶部440に格納される。時刻スロットに対応する時間内に同期通信が終了すると、転送フラグ442の終了フラグ444が転送フラグ記憶部440に格納される。 When the synchronous communication is started at the time corresponding to the predetermined time slot, the start flag 443 of the transfer flag 442 is stored in the transfer flag storage unit 440. When the synchronous communication ends within the time corresponding to the time slot, the end flag 444 of the transfer flag 442 is stored in the transfer flag storage unit 440.
 開始フラグ443と終了フラグ444の組が転送フラグ記憶部440に格納されることによって、対応する時刻スロットの同期通信は成功したとみなされる。終了フラグ444が格納されていない場合、同期通信は失敗したとみなされる。 By storing a set of the start flag 443 and the end flag 444 in the transfer flag storage unit 440, it is considered that the synchronous communication of the corresponding time slot has been successful. If the end flag 444 is not stored, the synchronous communication is considered to have failed.
 図20は、第3の実施形態における同期通信で転送されるパケットのデータ構造を示す説明図である。図20に示すように、本実施形態の同期スケジューリングシステム10における同期通信では、ユーザデータ(ペイロード)に加えて、時刻スロット番号441と転送フラグ442をヘッダ情報に加えることが求められる。ヘッダ情報に加えられる転送フラグ442には、開始フラグ443と、転送中フラグと、終了フラグ444とが含まれる。 FIG. 20 is an explanatory diagram showing a data structure of a packet transferred by synchronous communication in the third embodiment. As shown in FIG. 20, in synchronous communication in the synchronous scheduling system 10 of this embodiment, it is required to add a time slot number 441 and a transfer flag 442 to header information in addition to user data (payload). The transfer flag 442 added to the header information includes a start flag 443, an in-transfer flag, and an end flag 444.
 図20に示す例において、開始フラグ443が「10」、転送中フラグが「00」、終了フラグ444が「11」とそれぞれ設定されている。 In the example shown in FIG. 20, the start flag 443 is set to “10”, the transferring flag is “00”, and the end flag 444 is set to “11”.
 また、パケット全体の長さ、時刻スロット番号の格納場所の長さ、転送フラグの格納場所の長さが全て固定長に設定される場合、あるパケット中の時刻スロット番号441、転送フラグ442の位置が一意に特定される。図20に示す例において、パケット全体の長さが1500バイト、時刻スロット番号の格納場所の長さが16ビット、転送フラグの格納場所の長さが2ビットにそれぞれ固定されている。 In addition, when the length of the entire packet, the length of the time slot number storage location, and the length of the transfer flag storage location are all set to a fixed length, the position of the time slot number 441 and the transfer flag 442 in a packet Is uniquely identified. In the example shown in FIG. 20, the length of the entire packet is fixed to 1500 bytes, the length of the storage location of the time slot number is 16 bits, and the length of the storage location of the transfer flag is fixed to 2 bits.
 なお、パケット中の時刻スロット番号441と転送フラグ442を取り出すことができれば、図20に示す例のように固定長のパケットが使用されなくてもよい。 Note that, as long as the time slot number 441 and the transfer flag 442 in the packet can be extracted, the fixed-length packet may not be used as in the example shown in FIG.
 同期エラー通知部170は、ユーザに対して同期通信が失敗したことを通知する機能を有する。同期通信が失敗したことは、同期エラー検出部450から送られる。 The synchronization error notification unit 170 has a function of notifying the user that the synchronous communication has failed. The failure of the synchronous communication is sent from the synchronization error detection unit 450.
 同期エラー通知部170および同期エラー検出部450は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。転送フラグ記憶部440は、例えば、RAMで実現される。 The synchronization error notification unit 170 and the synchronization error detection unit 450 are realized by a CPU that executes processing according to program control, for example. The transfer flag storage unit 440 is realized by a RAM, for example.
 以下、本実施形態の同期スケジューリングシステム10の動作を図21~23を参照して説明する。 Hereinafter, the operation of the synchronous scheduling system 10 of the present embodiment will be described with reference to FIGS.
 変更された割り込み処理部420による、同期通信の開始フラグ443を記録する動作を説明する。図21は、第3の実施形態における割り込み処理部420の動作を示すフローチャートである。図21は、同期通信の開始フラグを記録する時の割り込み処理部420の動作を示す。 The operation of recording the synchronous communication start flag 443 by the changed interrupt processing unit 420 will be described. FIG. 21 is a flowchart illustrating the operation of the interrupt processing unit 420 according to the third embodiment. FIG. 21 shows the operation of the interrupt processing unit 420 when recording a synchronous communication start flag.
 第1の実施形態との相違点は、ステップS306で時間管理部120に、対応する時刻スロットが存在した場合の割り込み処理部420の動作である。時刻スロットが存在した場合(ステップS306のYES)、同期通信が開始されるか、または通信中かのどちらかである。 The difference from the first embodiment is the operation of the interrupt processing unit 420 when there is a corresponding time slot in the time management unit 120 in step S306. If there is a time slot (YES in step S306), either synchronous communication is started or communication is in progress.
 同期通信が開始され、接続先であるコンピュータ200が初めてパケットを受け取る際、パケットには開始フラグ443が設定されている。割り込み処理部420は、設定された開始フラグ443を読み取る(ステップS310)。 When the synchronous communication is started and the connection destination computer 200 receives the packet for the first time, a start flag 443 is set in the packet. The interrupt processing unit 420 reads the set start flag 443 (step S310).
 パケットに開始フラグ443が存在する場合(ステップS311のYES)、同期通信が開始される。同期通信が開始される時、同期エラー検出部450は、同期通信のエラー検出処理を実行する(ステップS312)。 If the start flag 443 is present in the packet (YES in step S311), synchronous communication is started. When synchronous communication is started, the synchronous error detection unit 450 executes synchronous communication error detection processing (step S312).
 つまり、現時刻に対応する時刻スロットの同期通信が開始される場合、転送フラグ記憶部440に記憶されている、現時刻に対応する転送フラグ情報の一つ前の転送フラグ情報には、開始フラグ443と終了フラグ444が設定されているはずである。 That is, when synchronous communication of the time slot corresponding to the current time is started, the transfer flag information stored in the transfer flag storage unit 440 immediately before the transfer flag information corresponding to the current time includes a start flag. 443 and the end flag 444 should be set.
 仮に、前回の転送フラグ情報を参照して終了フラグ444が設定されていない場合、前回の同期通信がまだ終了しておらず、かつ次の同期通信が開始されている状態に相当する。すなわち、前回の同期通信は失敗している。前回の同期通信が失敗している場合、同期エラー検出部450は、同期エラー通知部170に同期通信の失敗を通知する。 If the end flag 444 is not set with reference to the previous transfer flag information, this corresponds to a state in which the previous synchronous communication has not yet ended and the next synchronous communication has started. That is, the previous synchronous communication has failed. When the previous synchronization communication has failed, the synchronization error detection unit 450 notifies the synchronization error notification unit 170 of the failure of the synchronization communication.
 前回の転送フラグ情報を参照して終了フラグ444が設定されている場合、同期通信がある時刻スロットに対応する時間内で完了している状態に相当する。同期通信が完了している時、同期エラー検出部450は、同期エラー通知部170に対して何も通知しない。 When the end flag 444 is set with reference to the previous transfer flag information, this corresponds to the state where the synchronous communication is completed within the time corresponding to the time slot in which there is synchronization. When the synchronous communication is completed, the synchronization error detection unit 450 notifies the synchronization error notification unit 170 of nothing.
 同期エラー検出部450は、通知の実行の次に、開始された同期通信に対応する時刻スロット番号441と開始フラグ443を転送フラグ記憶部440に記録する(ステップS313)。 The synchronization error detection unit 450 records the time slot number 441 and the start flag 443 corresponding to the started synchronous communication in the transfer flag storage unit 440 after the notification is executed (step S313).
 開始フラグ443が存在しない場合(ステップS311のNO)、パケットの転送中の状態に相当するので、同期エラー検出部450は処理を実行しない。ステップS314以降のステップにおける処理は、図11に示すフローチャートのステップS120以降のステップにおける処理と同様である。 If the start flag 443 does not exist (NO in step S311), this corresponds to a state in which a packet is being transferred, so the synchronization error detection unit 450 does not execute processing. The processing in the steps after step S314 is the same as the processing in the steps after step S120 in the flowchart shown in FIG.
 図22は、第3の実施形態における割り込み処理部420の動作を示すフローチャートである。図22は、同期通信の終了フラグを記録する時の割り込み処理部420の動作を示す。 FIG. 22 is a flowchart showing the operation of the interrupt processing unit 420 in the third embodiment. FIG. 22 shows the operation of the interrupt processing unit 420 when recording a synchronous communication end flag.
 第1の実施形態との相違点は、ステップS326で時間管理部120に、対応する時刻スロットが存在した場合の割り込み処理部420の動作である。時刻スロットが存在した場合(ステップS326のYES)、同期通信が開始されるか、または通信中かのどちらかである。 The difference from the first embodiment is the operation of the interrupt processing unit 420 when there is a corresponding time slot in the time management unit 120 in step S326. If there is a time slot (YES in step S326), either synchronous communication is started or communication is in progress.
 同期通信が終了する際、パケットには終了フラグ444が付与される。本実施形態において、割り込み処理部420は、パケットに終了フラグ444が設定されているかどうかを確認する(ステップS330)。 When the synchronous communication ends, an end flag 444 is added to the packet. In the present embodiment, the interrupt processing unit 420 checks whether or not the end flag 444 is set in the packet (step S330).
 終了フラグ444が存在する場合(ステップS331のYES)、同期エラー検出部450は、現時刻が対応する時刻スロット番号441の転送フラグ情報に終了フラグ444を記録する(ステップS332)。終了フラグ444が存在しない場合(ステップS331のNO)、同期通信が実行中であるとみなし、割り込み処理部420は、ステップS333以降の処理を実行する。 When the end flag 444 exists (YES in step S331), the synchronization error detecting unit 450 records the end flag 444 in the transfer flag information of the time slot number 441 corresponding to the current time (step S332). When the end flag 444 does not exist (NO in step S331), it is considered that synchronous communication is being executed, and the interrupt processing unit 420 executes the processes after step S333.
 図23は、同期エラー検出部450による同期エラー検出の動作を示すフローチャートである。同期エラー検出部450は、転送フラグ記憶部440を確認し、現時刻に対応する時刻スロット番号441の前回の時刻スロット番号に対応する転送フラグ情報を取得する(ステップS341)。 FIG. 23 is a flowchart showing the operation of synchronization error detection by the synchronization error detection unit 450. The synchronization error detection unit 450 checks the transfer flag storage unit 440, and acquires transfer flag information corresponding to the previous time slot number of the time slot number 441 corresponding to the current time (step S341).
 次いで、取得した前回の転送フラグ情報に終了フラグ444が記録されているかどうかを確認する(ステップS342)。 Next, it is confirmed whether or not the end flag 444 is recorded in the acquired previous transfer flag information (step S342).
 終了フラグ444が存在する場合(ステップS343のYES)、同期通信が時刻スロットに対応する時間内に終了しているので、同期エラー検出部450は、そのまま同期エラー検出の動作を終了する。 If the end flag 444 exists (YES in step S343), the synchronous communication has ended within the time corresponding to the time slot, so the synchronization error detection unit 450 ends the synchronization error detection operation as it is.
 終了フラグ444が存在しない場合(ステップS343のNO)、同期通信が時刻スロットに対応する時間内に終了していないので、同期エラー検出部450は、同期管理サーバ100に同期失敗を通知する(ステップS344)。同期失敗を通知した後、同期エラー検出部450は、同期エラー検出の動作を終了する。 If the end flag 444 does not exist (NO in step S343), the synchronization error detection unit 450 notifies the synchronization management server 100 of synchronization failure because the synchronous communication has not ended within the time corresponding to the time slot (step S343). S344). After notifying the synchronization failure, the synchronization error detection unit 450 ends the synchronization error detection operation.
[効果の説明]
 次に、本実施形態の効果を説明する。本実施形態では、同期通信の際に開始フラグと終了フラグを使用し、同期通信に対応する時刻スロット番号に対応する転送フラグ情報に終了フラグが設定される前に次の時刻スロットに対応する同期通信の開始フラグが到着したら、前回の時刻スロットに対応する同期通信が時間内に終了しなかったとみなすように構成されている。よって、本実施形態の同期スケジューリングシステム10を使用する場合、ユーザは、同期通信のエラーを検出できる。
[Description of effects]
Next, the effect of this embodiment will be described. In this embodiment, a start flag and an end flag are used in synchronous communication, and the synchronization corresponding to the next time slot is set before the end flag is set in the transfer flag information corresponding to the time slot number corresponding to synchronous communication. When the communication start flag arrives, the synchronous communication corresponding to the previous time slot is considered not to be completed within the time. Therefore, when using the synchronous scheduling system 10 of this embodiment, the user can detect the error of synchronous communication.
 以上、本発明のより好適な実施形態を説明したが、本発明は上記実施形態に限定されない。 As mentioned above, although the more preferable embodiment of this invention was described, this invention is not limited to the said embodiment.
 また、コンピュータ200は、上記の通り、ネットワークプロトコル処理を行う通常の通信処理も実施できる。また、コンピュータ200が送信処理のみを行う場合、コンピュータ接続管理部410に記憶されるコンピュータ接続管理情報は、時刻スロット番号411と、インタフェースの識別子とで構成されてもよい。 Further, as described above, the computer 200 can also perform normal communication processing for performing network protocol processing. When the computer 200 performs only transmission processing, the computer connection management information stored in the computer connection management unit 410 may be composed of a time slot number 411 and an interface identifier.
 次に、本発明の概要を説明する。図24は、本発明による中継装置の概要を示すブロック図である。本発明による中継装置30は、パケットを転送する中継装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号(例えば、時刻スロット番号361)と、中継装置30における出力ポートの番号(例えば、第2ポート番号363)とで構成された接続情報を記憶する接続情報記憶部31(例えば、ネットワーク接続管理部360)と、接続情報記憶部31に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断する接続情報処理部32(例えば、タイマー実行部340)と、接続情報処理部32が、接続情報記憶部31に該当する接続情報が存在すると判断した場合に、該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送するパケット転送部33とを有する。 Next, the outline of the present invention will be described. FIG. 24 is a block diagram showing an outline of a relay device according to the present invention. The relay device 30 according to the present invention is a relay device for transferring a packet, and at least a number (for example, a time slot number 361) for identifying a time slot that is a section divided by a predetermined time interval, and the relay device 30 The connection information storage unit 31 (for example, the network connection management unit 360) that stores connection information configured with the output port number (for example, the second port number 363) and the connection information storage unit 31 have the current time. The connection information processing unit 32 (for example, timer execution unit 340) that determines whether or not connection information corresponding to the time slot exists, and the connection information processing unit 32 has connection information corresponding to the connection information storage unit 31. If it is determined, the packet transfer unit 33 transfers the packet to the output port indicated by the output port number in the corresponding connection information. Having.
 そのような構成により、中継装置は、ネットワークプロトコル処理を行わない同期通信に寄与できる。 With such a configuration, the relay device can contribute to synchronous communication that does not perform network protocol processing.
 また、接続情報は、中継装置30における入力ポートの番号(例えば、第1ポート番号362)をさらに含み、パケット転送部33は、接続情報処理部32が該当する接続情報が存在すると判断した場合に、該当する接続情報における入力ポートの番号が、転送するパケットが中継装置30に入力されたポートの番号と一致するかを確認し、一致する場合に、パケットを、該当する接続情報における出力ポートの番号が示す出力ポートに転送してもよい。 The connection information further includes an input port number (for example, the first port number 362) in the relay device 30, and the packet transfer unit 33 determines that the corresponding connection information exists. The input port number in the corresponding connection information confirms whether the packet to be transferred matches the port number input to the relay device 30, and if it matches, the packet is assigned to the output port in the corresponding connection information. You may transfer to the output port which a number shows.
 また、中継装置30は、中継装置30と通信可能な管理装置から時刻スロットを識別する番号と、時刻スロットを識別する番号に対応する接続元情報と接続先情報を受信し、当該接続元情報と当該接続先情報に基づいて、中継装置30における入力ポートのポート番号と出力ポートのポート番号を求めてもよい。 Further, the relay device 30 receives the number identifying the time slot, the connection source information corresponding to the number identifying the time slot, and the connection destination information from the management device capable of communicating with the relay device 30, and the connection source information Based on the connection destination information, the port number of the input port and the port number of the output port in the relay device 30 may be obtained.
 図25は、本発明による通信装置の概要を示すブロック図である。本発明による通信装置40は、パケット通信を行う通信装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号(例えば、時刻スロット番号411)と、時刻スロットを識別する番号に対応するインタフェース(例えば、インタフェース412)の識別子とを含む接続管理情報を記憶する接続管理情報記憶部41(例えば、コンピュータ接続管理部410)と、接続管理情報記憶部41に、現在時刻が属する時刻スロットに該当する接続管理情報が存在するか否かを判断する通信処理部42(例えば、割り込み処理部420)とを備え、通信処理部42が該当する接続管理情報が存在すると判断した場合に、該当する接続管理情報に含まれるインタフェースの識別子が示すインタフェースにパケットを送出する。 FIG. 25 is a block diagram showing an outline of a communication apparatus according to the present invention. A communication device 40 according to the present invention is a communication device that performs packet communication, and includes a number (for example, a time slot number 411) that identifies a time slot that is a section divided at least by a predetermined time interval, and a time slot. The connection management information storage unit 41 (for example, the computer connection management unit 410) that stores connection management information including the identifier of the interface (for example, the interface 412) corresponding to the identification number, and the connection management information storage unit 41 The communication processing unit 42 (for example, an interrupt processing unit 420) that determines whether or not connection management information corresponding to the time slot to which the time belongs exists, and the communication processing unit 42 determines that the corresponding connection management information exists. The packet is sent to the interface indicated by the interface identifier included in the relevant connection management information. Sending to.
 そのような構成により、通信装置は、ネットワークプロトコル処理を行わない同期通信に寄与できる。 With such a configuration, the communication device can contribute to synchronous communication that does not perform network protocol processing.
 図26は、本発明による通信装置の他の概要を示すブロック図である。本発明による通信装置50は、パケット通信を行う通信装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号(例えば、時刻スロット番号411)と、時刻スロットを識別する番号に対応するメモリマップアドレス(例えば、メモリマップアドレス414)とを含む接続管理情報を記憶する接続管理情報記憶部51(例えば、コンピュータ接続管理部410)と、接続管理情報記憶部51に、現在時刻が属する時刻スロットに該当する接続管理情報が存在するか否かを判断する通信処理部52(例えば、割り込み処理部420)とを備え、通信処理部52が該当する接続管理情報が存在すると判断した場合に、該当する接続管理情報に含まれるメモリマップアドレスが示すバッファ領域に、受信したパケットをコピーする。 FIG. 26 is a block diagram showing another outline of the communication apparatus according to the present invention. A communication device 50 according to the present invention is a communication device that performs packet communication, and includes a number (for example, a time slot number 411) for identifying a time slot that is a section divided at least by a predetermined time interval, and a time slot. A connection management information storage unit 51 (for example, a computer connection management unit 410) that stores connection management information including a memory map address (for example, a memory map address 414) corresponding to an identification number, and a connection management information storage unit 51 A communication processing unit 52 (for example, an interrupt processing unit 420) that determines whether or not there is connection management information corresponding to the time slot to which the current time belongs, and the communication processing unit 52 has the corresponding connection management information. If it is determined, the data is received in the buffer area indicated by the memory map address included in the corresponding connection management information. To copy the packet.
 そのような構成により、通信装置は、ネットワークプロトコル処理を行わない同期通信に寄与できる。 With such a configuration, the communication device can contribute to synchronous communication that does not perform network protocol processing.
 また、通信装置50は、同期エラー検出部(例えば、同期エラー検出部450)をさらに備え、通信処理部52は、パケットが受信される際に、パケットに開始フラグ(例えば、開始フラグ443)が含まれているか否か確認し、開始フラグが含まれていた場合、同期エラー検出処理を同期エラー検出部に実行させてもよい。 The communication device 50 further includes a synchronization error detection unit (for example, a synchronization error detection unit 450), and the communication processing unit 52 has a start flag (for example, a start flag 443) in the packet when the packet is received. If the start flag is included, it is possible to cause the synchronization error detection unit to execute the synchronization error detection process.
 図27は、本発明による管理装置の概要を示すブロック図である。本発明による管理装置60は、通信装置と、通信装置間のパケットを転送する中継装置と通信可能な管理装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号(例えば、時刻スロット番号111)を含む時間管理情報を記憶する時間管理情報記憶部61(例えば、時間管理部120)と、通信装置から、接続元情報(例えば、接続元IPアドレス112)と接続先情報(例えば、接続先IPアドレス113)とを含むパケットの送信要求を受け付け、接続元情報および接続先情報が未割当の時間管理情報に、受け付けた接続元情報および接続先情報を割り当てる同期スケジュール設定部62(例えば、同期スケジュール設定部130)と、同期スケジュール設定部62に割当済みにされた時間管理情報を、通信装置及び中継装置に送信する同期スケジュール送信部63(例えば、同期スケジュール送信部140)とを備える。 FIG. 27 is a block diagram showing an outline of the management apparatus according to the present invention. The management device 60 according to the present invention is a management device capable of communicating with a communication device and a relay device that transfers packets between the communication devices, and identifies a time slot that is a section divided at least by a predetermined time interval. A time management information storage unit 61 (for example, time management unit 120) that stores time management information including a number (for example, time slot number 111), and connection source information (for example, connection source IP address 112) from the communication device. Synchronization that accepts a transmission request of a packet including connection destination information (for example, connection destination IP address 113) and assigns the received connection source information and connection destination information to time management information to which connection source information and connection destination information are not assigned. Schedule setting unit 62 (for example, synchronization schedule setting unit 130) and time management assigned to the synchronization schedule setting unit 62 Broadcast a synchronization schedule transmission unit 63 to be transmitted to the communication apparatus and the relay apparatus (e.g., synchronization schedule transmission unit 140) and a.
 そのような構成により、管理装置は、ネットワークプロトコル処理を行わない同期通信に寄与できる。 With such a configuration, the management apparatus can contribute to synchronous communication that does not perform network protocol processing.
 また、管理装置60は、パケットの通信経路情報を記憶する経路情報記憶部(例えば、ネットワーク経路情報記憶部160)を備え、同期スケジュール送信部63は、時間管理情報を送信する際に、時間管理情報に対応する通信経路情報に含まれる装置に時間管理情報を送信してもよい。 The management device 60 also includes a route information storage unit (for example, a network route information storage unit 160) that stores packet communication route information, and the synchronization schedule transmission unit 63 performs time management when transmitting time management information. The time management information may be transmitted to the device included in the communication path information corresponding to the information.
 以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described with reference to the embodiments and examples, the present invention is not limited to the above embodiments and examples. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
 この出願は、2014年6月18日に出願された日本特許出願2014-125669を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application No. 2014-125669 filed on June 18, 2014, the entire disclosure of which is incorporated herein.
産業上の利用の可能性Industrial applicability
 本発明は、リアルタイム通信が求められる電話交換機サーバ間の通信や、株価配信ネットワークの用途に好適に適用される。また、本発明は、遠隔手術に用いられるリアルタイム通信の用途にも好適に適用される。 The present invention is suitably applied to communication between telephone exchange servers that require real-time communication and use of a stock price distribution network. The present invention is also suitably applied to real-time communication applications used for remote surgery.
A~D ルータ
1 並列計算機
2 PE通信網
3 PE
4 不活性化機能
5 条件設定機能
6 割り付け機能
7 割り込み生成機能
8 活性化機能
10 同期スケジューリングシステム
30 中継装置
31 接続情報記憶部
32 接続情報処理部
33 パケット転送部
40、50 通信装置
41、51 接続管理情報記憶部
42、52 通信処理部
60 管理装置
61 時間管理情報記憶部
62 同期スケジュール設定部
63 同期スケジュール送信部
100 同期管理サーバ
101~104 サーバ
110 時刻同期部
111 時刻スロット番号
112 接続元IPアドレス
113 接続先IPアドレス
120 時間管理部
130 同期スケジュール設定部
140 同期スケジュール送信部
150 ネットワーク経路情報生成部
160 ネットワーク経路情報記憶部
161 接続元サーバ
162 接続先サーバ
163 経路情報
170 同期エラー通知部
200 コンピュータ
210 時刻同期部
220 アプリケーション
300 ネットワークスイッチ
310 時刻同期部
320 経路変換部
330 同期スケジュール受信部
340 タイマー実行部
350 物理ソケット間接続部
360 ネットワーク接続管理部
361 時刻スロット番号
362 第1ポート番号
363 第2ポート番号
400 OS
410 コンピュータ接続管理部
411 時刻スロット番号
412 インタフェース
413 割り込み番号
414 メモリマップアドレス
420 割り込み処理部
430 同期スケジュール受信部
440 転送フラグ記憶部
441 時刻スロット番号
442 転送フラグ
443 開始フラグ
444 終了フラグ
450 同期エラー検出部
500、600 ネットワーク
A to D Router 1 Parallel computer 2 PE communication network 3 PE
4 Inactivation function 5 Condition setting function 6 Allocation function 7 Interrupt generation function 8 Activation function 10 Synchronous scheduling system 30 Relay device 31 Connection information storage unit 32 Connection information processing unit 33 Packet transfer unit 40, 50 Communication device 41, 51 Connection Management information storage unit 42, 52 Communication processing unit 60 Management device 61 Time management information storage unit 62 Synchronization schedule setting unit 63 Synchronization schedule transmission unit 100 Synchronization management server 101 to 104 Server 110 Time synchronization unit 111 Time slot number 112 Connection source IP address 113 Connection destination IP address 120 Time management unit 130 Synchronization schedule setting unit 140 Synchronization schedule transmission unit 150 Network route information generation unit 160 Network route information storage unit 161 Connection source server 162 Connection destination server 163 Route information 170 Synchronization Error notification unit 200 computer 210 time synchronization unit 220 application 300 network switch 310 time synchronization unit 320 path conversion unit 330 synchronization schedule reception unit 340 timer execution unit 350 physical socket connection unit 360 network connection management unit 361 time slot number 362 first port Number 363 Second port number 400 OS
410 Computer connection management unit 411 Time slot number 412 Interface 413 Interrupt number 414 Memory map address 420 Interrupt processing unit 430 Synchronization schedule reception unit 440 Transfer flag storage unit 441 Time slot number 442 Transfer flag 443 Start flag 444 End flag 450 Synchronization error detection unit 500, 600 networks

Claims (10)

  1.  パケットを転送する中継装置であって、
     少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、前記中継装置における出力ポートの番号とで構成された接続情報を記憶する接続情報記憶部と、
     前記接続情報記憶部に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断する接続情報処理部と、
     前記接続情報処理部が、前記接続情報記憶部に該当する接続情報が存在すると判断した場合に、前記該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送するパケット転送部とを有する
     中継装置。
    A relay device for forwarding packets,
    A connection information storage unit for storing connection information composed of a number identifying a time slot that is a section divided at least by a predetermined time interval, and an output port number in the relay device;
    A connection information processing unit for determining whether or not connection information corresponding to a time slot to which a current time belongs exists in the connection information storage unit;
    A packet transfer unit that transfers a packet to an output port indicated by an output port number in the corresponding connection information when the connection information processing unit determines that the connection information corresponding to the connection information storage unit exists; Have relay device.
  2.  前記接続情報は、前記中継装置における入力ポートの番号をさらに含み、
     前記パケット転送部は、前記接続情報処理部が該当する接続情報が存在すると判断した場合に、前記該当する接続情報における入力ポートの番号が、前記転送するパケットが前記中継装置に入力されたポートの番号と一致するかを確認し、一致する場合に、前記パケットを、前記該当する接続情報における出力ポートの番号が示す出力ポートに転送する
     請求項1記載の中継装置。
    The connection information further includes an input port number in the relay device,
    The packet transfer unit, when the connection information processing unit determines that the corresponding connection information exists, the input port number in the corresponding connection information is the port of the port where the packet to be transferred is input to the relay device. The relay apparatus according to claim 1, wherein whether the number matches the number is checked, and if the number matches, the packet is transferred to an output port indicated by the number of the output port in the corresponding connection information.
  3.  前記中継装置と通信可能な管理装置から前記時刻スロットを識別する番号と、前記時刻スロットを識別する番号に対応する接続元情報と接続先情報を受信し、当該接続元情報と当該接続先情報に基づいて、前記中継装置における入力ポートのポート番号と出力ポートのポート番号を求める
     請求項2記載の中継装置。
    The connection source information and the connection destination information corresponding to the number for identifying the time slot and the number for identifying the time slot are received from the management device that can communicate with the relay device, and the connection source information and the connection destination information are received. The relay apparatus according to claim 2, wherein a port number of an input port and a port number of an output port are obtained based on the relay apparatus.
  4.  パケット通信を行う通信装置であって、
     少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、前記時刻スロットを識別する番号に対応するインタフェースの識別子とを含む接続管理情報を記憶する接続管理情報記憶部と、
     前記接続管理情報記憶部に、現在時刻が属する時刻スロットに該当する接続管理情報が存在するか否かを判断する通信処理部とを備え、
     前記通信処理部が該当する接続管理情報が存在すると判断した場合に、前記該当する接続管理情報に含まれるインタフェースの識別子が示すインタフェースにパケットを送出する
     通信装置。
    A communication device that performs packet communication,
    A connection management information storage unit that stores connection management information including a number that identifies a time slot that is a section divided at least by a predetermined time interval, and an identifier of an interface corresponding to the number that identifies the time slot;
    The connection management information storage unit includes a communication processing unit that determines whether or not connection management information corresponding to a time slot to which the current time belongs exists,
    A communication device that, when the communication processing unit determines that corresponding connection management information exists, transmits a packet to an interface indicated by an interface identifier included in the corresponding connection management information.
  5.  パケット通信を行う通信装置であって、
     少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、前記時刻スロットを識別する番号に対応するメモリマップアドレスとを含む接続管理情報を記憶する接続管理情報記憶部と、
     前記接続管理情報記憶部に、現在時刻が属する時刻スロットに該当する接続管理情報が存在するか否かを判断する通信処理部とを備え、
     前記通信処理部が該当する接続管理情報が存在すると判断した場合に、前記該当する接続管理情報に含まれるメモリマップアドレスが示すバッファ領域に、受信したパケットをコピーする
     通信装置。
    A communication device that performs packet communication,
    A connection management information storage unit for storing connection management information including a number for identifying a time slot that is a section divided at least by a predetermined time interval, and a memory map address corresponding to the number for identifying the time slot;
    The connection management information storage unit includes a communication processing unit that determines whether or not connection management information corresponding to a time slot to which the current time belongs exists,
    A communication device that copies a received packet to a buffer area indicated by a memory map address included in the corresponding connection management information when the communication processing unit determines that the corresponding connection management information exists.
  6.  同期エラー検出部をさらに備え、
     前記通信処理部は、パケットが受信される際に、前記パケットに開始フラグが含まれているか否か確認し、開始フラグが含まれていた場合、同期エラー検出処理を前記同期エラー検出部に実行させる
     請求項5記載の通信装置。
    A synchronization error detection unit;
    When the packet is received, the communication processing unit checks whether the packet includes a start flag. If the packet includes a start flag, the communication processing unit executes a synchronization error detection process on the synchronization error detection unit. The communication device according to claim 5.
  7.  通信装置と、前記通信装置間のパケットを転送する中継装置と通信可能な管理装置であって、
     少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号を含む時間管理情報を記憶する時間管理情報記憶部と、
     通信装置から、接続元情報と接続先情報とを含むパケットの送信要求を受け付け、接続元情報および接続先情報が未割当の前記時間管理情報に、受け付けた前記接続元情報および前記接続先情報を割り当てる同期スケジュール設定部と、
     前記同期スケジュール設定部に割当済みにされた前記時間管理情報を、前記通信装置及び前記中継装置に送信する同期スケジュール送信部とを備える
     管理装置。
    A management device capable of communicating with a communication device and a relay device that transfers packets between the communication devices,
    A time management information storage unit for storing time management information including a number for identifying a time slot that is a section divided at least by a predetermined time interval;
    A transmission request for a packet including connection source information and connection destination information is received from a communication device, and the received connection source information and connection destination information are added to the time management information to which connection source information and connection destination information are not allocated. A synchronization schedule setting section to be assigned;
    A management apparatus comprising: a synchronization schedule transmission unit that transmits the time management information assigned to the synchronization schedule setting unit to the communication device and the relay device.
  8.  パケットの通信経路情報を記憶する経路情報記憶部を備え、
     同期スケジュール送信部は、時間管理情報を送信する際に、前記時間管理情報に対応する前記通信経路情報に含まれる装置に前記時間管理情報を送信する
     請求項7記載の管理装置。
    A path information storage unit for storing packet communication path information;
    The management device according to claim 7, wherein the synchronization schedule transmission unit transmits the time management information to a device included in the communication path information corresponding to the time management information when transmitting the time management information.
  9.  中継装置において実行される中継方法であって、
     少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、前記中継装置における出力ポートの番号とで構成された接続情報を記憶し、
     記憶している前記接続情報の中に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断し、
     該当する接続情報が存在すると判断した場合に、前記該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送する
     中継方法。
    A relay method executed in the relay device,
    Storing connection information composed of a number identifying a time slot that is a section divided at least by a predetermined time interval, and an output port number in the relay device;
    Determining whether there is connection information corresponding to the time slot to which the current time belongs in the stored connection information;
    A relay method for transferring a packet to an output port indicated by an output port number in the corresponding connection information when it is determined that the corresponding connection information exists.
  10.  中継装置において実行される中継プログラムであって、
     前記中継装置に、
     少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、前記中継装置における出力ポートの番号とで構成された接続情報を記憶する記憶処理、
     前記記憶処理で記憶された前記接続情報の中に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断する接続情報処理、および
     前記接続情報処理で該当する接続情報が存在すると判断された場合に、前記該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送する転送処理
     を実行させるための中継プログラム。
    A relay program executed in the relay device,
    In the relay device,
    A storage process for storing connection information composed of a number for identifying a time slot that is a section divided by at least a predetermined time interval and an output port number in the relay device;
    A connection information process for determining whether or not connection information corresponding to a time slot to which a current time belongs exists in the connection information stored in the storage process; and A relay program for causing a transfer process to transfer a packet to an output port indicated by an output port number in the corresponding connection information when it is determined.
PCT/JP2015/000600 2014-06-18 2015-02-10 Relay apparatus, communication apparatus, management apparatus, relay method and relay program WO2015194072A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016528980A JPWO2015194072A1 (en) 2014-06-18 2015-02-10 Relay device, communication device, management device, relay method, and relay program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-125669 2014-06-18
JP2014125669 2014-06-18

Publications (1)

Publication Number Publication Date
WO2015194072A1 true WO2015194072A1 (en) 2015-12-23

Family

ID=54935094

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/000600 WO2015194072A1 (en) 2014-06-18 2015-02-10 Relay apparatus, communication apparatus, management apparatus, relay method and relay program

Country Status (2)

Country Link
JP (1) JPWO2015194072A1 (en)
WO (1) WO2015194072A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0495431A (en) * 1990-08-13 1992-03-27 Oki Electric Ind Co Ltd Cell receiver
JP2006180166A (en) * 2004-12-22 2006-07-06 Nippon Telegr & Teleph Corp <Ntt> Data exchange apparatus, data terminal device, network control apparatus and data transfer network
JP2011151786A (en) * 2009-12-22 2011-08-04 Canon Inc Data processing apparatus and method of controlling the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0495431A (en) * 1990-08-13 1992-03-27 Oki Electric Ind Co Ltd Cell receiver
JP2006180166A (en) * 2004-12-22 2006-07-06 Nippon Telegr & Teleph Corp <Ntt> Data exchange apparatus, data terminal device, network control apparatus and data transfer network
JP2011151786A (en) * 2009-12-22 2011-08-04 Canon Inc Data processing apparatus and method of controlling the same

Also Published As

Publication number Publication date
JPWO2015194072A1 (en) 2017-04-20

Similar Documents

Publication Publication Date Title
US6370583B1 (en) Method and apparatus for portraying a cluster of computer systems as having a single internet protocol image
JP6269250B2 (en) Data transfer control device, data transfer control method, and program
JP6445015B2 (en) System and method for providing data services in engineered systems for execution of middleware and applications
US8798054B2 (en) IP network system
US11277350B2 (en) Communication of a large message using multiple network interface controllers
EP1041775A1 (en) Router monitoring in a data transmission system utilizing a network dispatcher for a cluster of hosts
EP2733895A1 (en) Relay server and relay communication system
US7882169B1 (en) Method and apparatus for configuring relay processes used for dynamically configuring hosts in network communications
CN109076022B (en) Network address translation device, setting requesting device, communication system, communication method, and storage medium storing program
WO2015194072A1 (en) Relay apparatus, communication apparatus, management apparatus, relay method and relay program
JP5728368B2 (en) Network system and communication device
JP3345546B2 (en) Data delivery method and information communication device
JP6822297B2 (en) Information processing equipment, information processing system, and control method of information processing system
JP6546566B2 (en) Parallel load distribution system, parallel load distribution method, SDN controller host and program
Cisco IPX Enhanced IGRP Commands
JP2007251805A (en) Communication device and network system
RU2765121C1 (en) Method for organizing streaming, method for providing information about the streaming identifier, use of a dns server, device, computer program and machine-readable medium
JP6835662B2 (en) Node and frame transmission control method
WO2012073521A1 (en) Event distribution system and event distribution method
US9537750B2 (en) Multicast router topology discovery
JP7331554B2 (en) Processing device, processing program and processing method
JP5549149B2 (en) Data sharing system, data sharing method, and data sharing program
JP5796898B2 (en) Data transfer device, transfer method, and program
JP4829940B2 (en) IP multicast communication monitoring method and system
JP4609862B2 (en) Network relay method, network element, and network relay system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15809338

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016528980

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15809338

Country of ref document: EP

Kind code of ref document: A1