[go: up one dir, main page]

JP5454266B2 - Node, communication program, and communication method - Google Patents

Node, communication program, and communication method Download PDF

Info

Publication number
JP5454266B2
JP5454266B2 JP2010062821A JP2010062821A JP5454266B2 JP 5454266 B2 JP5454266 B2 JP 5454266B2 JP 2010062821 A JP2010062821 A JP 2010062821A JP 2010062821 A JP2010062821 A JP 2010062821A JP 5454266 B2 JP5454266 B2 JP 5454266B2
Authority
JP
Japan
Prior art keywords
node
data
time
communication
real
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2010062821A
Other languages
Japanese (ja)
Other versions
JP2011199496A (en
Inventor
和樹 兵頭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010062821A priority Critical patent/JP5454266B2/en
Priority to US13/045,965 priority patent/US8797976B2/en
Publication of JP2011199496A publication Critical patent/JP2011199496A/en
Application granted granted Critical
Publication of JP5454266B2 publication Critical patent/JP5454266B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Landscapes

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

Description

本発明は、第1および第2の通信が混在するネットワーク内のノード間の通信を制御するノード、通信プログラムおよび通信方法に関する。   The present invention relates to a node, a communication program, and a communication method for controlling communication between nodes in a network in which first and second communications are mixed.

近年、自動車、工業用ロボット、ヒューマノイドロボットなどの機械制御装置において、機能ごとのモジュール化が行われている。また、ネットワーク機能を有するセンサの登場により、機械制御装置に搭載される端末装置(モジュール)がネットワークを構成することが一般的になっている。   In recent years, modularization for each function has been performed in machine control devices such as automobiles, industrial robots, and humanoid robots. In addition, with the advent of sensors having a network function, it has become common for terminal devices (modules) mounted on machine control devices to form a network.

このようなネットワークを含む機械制御装置においては、一般に、実時間通信と非実時間通信とが混在する。実時間通信とは、ある時間間隔でデータの送受信が完了することを保証する通信である。実時間通信としては、機械制御装置のフィードバック制御のために、比較的データ量の少ないデータ(数十〜百バイト程度)を極低遅延で周期的(数ミリ秒)に送受信する通信がある。   In a machine control apparatus including such a network, generally, real-time communication and non-real-time communication are mixed. Real-time communication is communication that guarantees that data transmission / reception is completed at certain time intervals. As real-time communication, there is communication in which data with a relatively small amount of data (several tens to hundreds of bytes) is transmitted and received periodically (several milliseconds) with extremely low delay for feedback control of the machine control device.

また、実時間通信としては、USB2.0やIEEE1394などにおいて、音声や動画像などを遅滞なく転送するために、極短周期(数十〜百マイクロ秒)に一回必ず転送機会を得て、数キロバイトのデータを転送するアイソクロナス転送がある。なお、USBは「Universal Serial Bus」の略語である。IEEEは「Institute of Electrical and Electronic Engineers」の略語である。   As real-time communication, in USB 2.0, IEEE 1394, etc., in order to transfer audio and moving images without delay, a transfer opportunity is always obtained once in an extremely short period (several tens to hundreds of microseconds). There is isochronous transfer that transfers several kilobytes of data. USB is an abbreviation for “Universal Serial Bus”. IEEE is an abbreviation for “Institut of Electrical and Electronic Engineers”.

実時間通信に対して、非実時間通信とは、実時間性が要求されない通信である。非実時間通信としては、たとえば、アプリケーションの修正プログラムの配信やファイル転送などの比較的遅延には耐えられるが高いスループットが要求される通信がある。   In contrast to real-time communication, non-real-time communication is communication that does not require real-time performance. Non-real-time communication includes, for example, communication that can withstand relatively delay such as distribution of application modification programs and file transfer but requires high throughput.

一方、上述したようなネットワークを含む機械制御装置では、システム構成の柔軟性、拡張性および構築容易性などの観点から、スイッチのような集約分配装置を経路に含む汎用ネットワーク(たとえば、イーサネット(登録商標))の利用が望まれている。   On the other hand, in the machine control device including the network as described above, a general-purpose network (for example, Ethernet (registration) that includes an aggregation / distribution device such as a switch in the route from the viewpoint of flexibility of system configuration, expandability, and ease of construction. Trademark)) is desired.

しかし、スイッチでは、同一の出力端へ転送される複数の入力が出力端のスループットを超えると、スイッチ内の通信キューが成長してしまう。このため、経路途中にスイッチを含むネットワークでは、通信キューの成長により、通信遅延の増大、さらには、パケット喪失を招く恐れがあり、実時間通信を適切に実行することが難しい。   However, in the switch, when a plurality of inputs transferred to the same output terminal exceed the throughput of the output terminal, the communication queue in the switch grows. For this reason, in a network including a switch in the middle of a route, growth of a communication queue may cause an increase in communication delay and a packet loss, and it is difficult to appropriately execute real-time communication.

従来においては、実時間通信の周期性を利用して、実時間通信と非実時間通信との実施期間を時間的に区別する技術がある。具体的には、端末装置間を中継する中継装置は、アイソデータパケットを中継する際に、複数のアイソデータパケットが競合する場合、複数のアイソデータパケットをまとめて連続して出力することで、非アイソデータパケットの出力が抑制される期間を短縮する。   Conventionally, there has been a technique for temporally distinguishing between execution periods of real-time communication and non-real-time communication using the periodicity of real-time communication. Specifically, the relay device that relays between the terminal devices, when relaying the isodata packet, if a plurality of isodata packets compete, by outputting a plurality of isodata packets collectively, The period during which the output of non-iso data packets is suppressed is shortened.

また、音声や動画像などのメディアデータを確実に伝送するための技術がある。具体的には、データ転送方法は、ネットワーク内の情報送信装置間でデータの転送を実行するために必要となる資源(たとえば、ネットワーク帯域)を事前に予約し、予約した資源を利用してパケットのルーティング処理を行う。   There is also a technique for reliably transmitting media data such as voice and moving images. Specifically, in the data transfer method, a resource (for example, network bandwidth) necessary for executing data transfer between information transmission apparatuses in a network is reserved in advance, and a packet is transmitted using the reserved resource. Perform routing processing.

特開2006−279852号公報JP 2006-279852 A 特開2001−268105号公報JP 2001-268105 A

しかしながら、上述した従来技術では、複数のスイッチを介して端末装置間を接続するネットワークにおいて、実時間通信と非実時間通信が混在する環境下では、スイッチ間をつなぐ経路上の非実時間通信の流量を制御することが難しい。このため、スイッチ間をつなぐ経路上での通信衝突を排除できず、実時間通信の実時間性を保証することが困難であるという問題がある。   However, in the above-described prior art, in a network in which terminal devices are connected via a plurality of switches, in an environment where real-time communication and non-real-time communication are mixed, non-real-time communication on a path connecting the switches is performed. It is difficult to control the flow rate. For this reason, there is a problem in that it is difficult to eliminate a communication collision on a path connecting between switches, and it is difficult to guarantee real-time performance of real-time communication.

一方で、複数のスイッチを介して端末装置間を接続するシステム構成を採用しない場合、システムに接続可能な端末装置の最大数が制限され、システム構成の柔軟性や拡張性が低下するという問題がある。   On the other hand, if a system configuration that connects terminal devices via a plurality of switches is not adopted, the maximum number of terminal devices that can be connected to the system is limited, and the flexibility and expandability of the system configuration is reduced. is there.

なお、上述した従来技術において、実時間通信と非実時間通信の実施期間を時間的に区別して、実時間通信が行われている期間は、非実時間通信を止めて実時間通信との衝突を避けることも考えられる。しかしながら、実時間通信中に全非実時間通信を止めてしまうとネットワーク全体のスループットが低下するという問題が想定される。   In the above-described prior art, the execution period of real-time communication and non-real-time communication is distinguished in terms of time, and during the period when real-time communication is performed, non-real-time communication is stopped and collision with real-time communication occurs. It is also possible to avoid this. However, if all non-real-time communication is stopped during real-time communication, there is a problem that the throughput of the entire network is reduced.

本発明は、上述した従来技術による問題点を解消するため、第1および第2の通信が混在する局所網において、第1および第2の通信の衝突を回避することができるノード、通信プログラムおよび通信方法を提供することを目的とする。   In order to solve the above-described problems caused by the prior art, the present invention provides a node, a communication program, and a communication program capable of avoiding a collision between the first and second communications in a local network in which the first and second communications are mixed. An object is to provide a communication method.

上述した課題を解決し、目的を達成するため、開示のノードは、第1のノード及び第2のノードを備える第1のノード群と、第3のノード及び第4のノードを備える第2のノード群との間で、ネットワークを介して第1の通信および第2の通信を実行する該第1のノードであって、前記第2のノードと前記第4のノードとの間で行われる第2の通信に係るデータを前記第2のノードから受信し、前記第1のノードと前記第3のノードとの間に、前記ネットワークを介する通信経路を設定し、前記ネットワークの伝送能力に基づいて、前記受信したデータから送信対象として順次決定されるデータを送信するために周期的に実行される送信処理の開始時点から現時点までに順次決定された前記送信対象のデータの送信にかかる所要時間を算出し、前記現時点から前記所要時間が経過した時点が、前記第2のノードと前記第4のノードとの間で周期的に実行される第1の通信の開始時点と一致するか否かを判定し、判定された判定結果に基づいて、前記受信したデータから前記送信対象のデータを決定することを要件とする。   In order to solve the above-described problem and achieve the object, a disclosed node includes a first node group including a first node and a second node, and a second node including a third node and a fourth node. A first node that executes first communication and second communication with a node group via a network, the first node being performed between the second node and the fourth node; Data relating to communication 2 is received from the second node, a communication path through the network is set between the first node and the third node, and based on the transmission capability of the network The time required for transmission of the transmission target data sequentially determined from the start point of the transmission process periodically executed to transmit the data sequentially determined as the transmission target from the received data. Calculate Determining whether or not the time when the required time has elapsed from the current time coincides with the start time of the first communication periodically executed between the second node and the fourth node; It is a requirement to determine the data to be transmitted from the received data based on the determined determination result.

本ノード、通信プログラムおよび通信方法によれば、第1および第2の通信が混在する局所網において、第1および第2の通信の衝突を回避することができるという効果を奏する。   According to this node, the communication program, and the communication method, there is an effect that it is possible to avoid a collision between the first and second communications in a local network in which the first and second communications are mixed.

本通信手法の一実施例を示す説明図である。It is explanatory drawing which shows one Example of this communication method. 送信対象となるデータの決定例の概要を示す説明図である。It is explanatory drawing which shows the outline | summary of the example of determination of the data used as transmission object. ネットワークシステムのシステム構成図(その1)である。1 is a system configuration diagram (part 1) of a network system. FIG. ノードのハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of the hardware constitutions of a node. アドレステーブルの記憶内容の一例を示す説明図である。It is explanatory drawing which shows an example of the memory content of an address table. グループ識別テーブルの記憶内容の一例を示す説明図である。It is explanatory drawing which shows an example of the memory content of a group identification table. 中継ノードの機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of a relay node. 非実時間データのデータ構造の一例を示す説明図である。It is explanatory drawing which shows an example of the data structure of non-real time data. 宛先/転送先対応テーブルの具体例を示す説明図(その1)である。It is explanatory drawing (the 1) which shows the specific example of a destination / transfer destination correspondence table. キュー対応テーブルの記憶内容の一例を示す説明図である。It is explanatory drawing which shows an example of the memory content of a queue corresponding | compatible table. 割当流量/送信済データ量対応テーブルの記憶内容の一例を示す説明図である。It is explanatory drawing which shows an example of the memory content of an allocation flow volume / transmitted data amount corresponding | compatible table. 実時間通信の周期開始時点との一致判定例を示す説明図である。It is explanatory drawing which shows an example of a coincidence determination with the period start time of real-time communication. 実時間通信割当流量テーブルの記憶内容の一例を示す説明図(その1)である。It is explanatory drawing (the 1) which shows an example of the memory content of a real-time communication allocation flow rate table. 送信可能宛先リストの記憶内容の一例を示す説明図(その1)である。It is explanatory drawing (the 1) which shows an example of the memory content of a transmission possible destination list | wrist. グループノードの機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of a group node. 宛先/転送先対応テーブルの具体例を示す説明図(その2)である。It is explanatory drawing (the 2) which shows the specific example of a destination / transfer destination correspondence table. 実時間通信割当流量テーブルの記憶内容の一例を示す説明図(その2)である。It is explanatory drawing (the 2) which shows an example of the memory content of a real-time communication allocation flow rate table. 送信可能宛先リストの記憶内容の一例を示す説明図(その2)である。It is explanatory drawing (the 2) which shows an example of the memory content of a transmission possible destination list | wrist. 中継ノードの通信処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the communication processing procedure of a relay node. ステップS1913の周期開始時点修正処理の具体的処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the specific process sequence of the period start time correction process of step S1913. ステップS1914の転送制御処理の具体的処理手順の一例を示すフローチャート(その1)である。It is a flowchart (the 1) which shows an example of the specific process sequence of the transfer control process of step S1914. ステップS1914の転送制御処理の具体的処理手順の一例を示すフローチャート(その2)である。It is a flowchart (the 2) which shows an example of the specific process sequence of the transfer control process of step S1914. グループノードの通信処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the communication processing procedure of a group node. ステップS2308の送信制御処理の具体的処理手順の一例を示すフローチャート(その1)である。It is a flowchart (the 1) which shows an example of the specific process sequence of the transmission control process of step S2308. ステップS2208の送信制御処理の具体的処理手順の一例を示すフローチャート(その2)である。It is a flowchart (the 2) which shows an example of the specific process sequence of the transmission control process of step S2208. 実時間通信の流量割当要求処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the flow rate allocation request | requirement processing procedure of real-time communication. 実時間通信の流量割当応答処理手順の一例を示すフローチャート(その1)である。It is a flowchart (the 1) which shows an example of the flow rate allocation response process procedure of real-time communication. 実時間通信の流量割当応答処理手順の一例を示すフローチャート(その2)である。It is a flowchart (the 2) which shows an example of the flow rate allocation response process procedure of real-time communication. ネットワークシステムのシステム構成図(その2)である。It is a system configuration | structure figure (the 2) of a network system.

以下に添付図面を参照して、この発明にかかるノード、通信プログラムおよび通信方法の好適な実施の形態を詳細に説明する。   Exemplary embodiments of a node, a communication program, and a communication method according to the present invention will be explained below in detail with reference to the accompanying drawings.

(本通信手法の一実施例)
まず、実施の形態にかかる本通信手法の一実施例について説明する。本通信手法では、第1および第2の通信が混在する局所網において、第1の通信と第2の通信とが衝突しないようにノード間の通信を制御する。
(One example of this communication method)
First, an example of the communication method according to the embodiment will be described. In this communication method, communication between nodes is controlled so that the first communication and the second communication do not collide in a local network in which the first and second communications are mixed.

ここで、第1の通信は、局所網に含まれるノード群のいずれかのノード間で周期的に実行される通信である。たとえば、第1の通信は、機械制御装置のフィードバック制御のための実時間通信や、音声や動画像などを遅滞なく転送するためのアイソクロナス転送などである。本明細書においては、ある時間間隔でデータの送受信が完了することを保証するという観点からアイソクロナス転送についても実時間通信として扱う。   Here, the first communication is communication periodically executed between any one of the nodes included in the local network. For example, the first communication is real-time communication for feedback control of the machine control device, isochronous transfer for transferring voice, moving images, or the like without delay. In this specification, isochronous transfer is also treated as real-time communication from the viewpoint of ensuring that data transmission / reception is completed at certain time intervals.

また、第2の通信は、局所網に含まれるノード群のいずれかのノード間で不定期に実行される通信である。たとえば、第2の通信は、アプリケーションの修正プログラムの配信やファイル転送などの比較的遅延には耐えられるが高いスループットが要求される非実時間通信である。   The second communication is a communication that is irregularly executed between any nodes in the node group included in the local network. For example, the second communication is a non-real-time communication that can withstand a relatively long delay such as distribution of a modification program of an application or file transfer but requires high throughput.

図1は、本通信手法の一実施例を示す説明図である。図1において、局所網100は、ノード群N1〜N6とスイッチSW1,SW2とを含む構成である。   FIG. 1 is an explanatory diagram showing an embodiment of this communication method. In FIG. 1, a local network 100 is configured to include node groups N1 to N6 and switches SW1 and SW2.

(1)個々のスイッチSW1,SW2に直接接続されているノード群がグループ化される。ここでは、スイッチSW1に直接接続されているノード群N1〜N3によってグループAが形成され、スイッチSW2に直接接続されているノード群N4〜N6によってグループBが形成されている。   (1) Node groups directly connected to the individual switches SW1 and SW2 are grouped. Here, a group A is formed by the node groups N1 to N3 directly connected to the switch SW1, and a group B is formed by the node groups N4 to N6 directly connected to the switch SW2.

(2)グループA,Bごとに、異なるグループA,Bに属するノード間の第2の通信を中継するための中継ノードが設置される。ここでは、グループAの中継ノードとしてノードN1が設置され、グループBの中継ノードとしてノードN4が設置されている。以下、中継ノードN1,N4のうちグループAの中継ノードN1に着目して本通信手法の一実施例について説明する。   (2) A relay node for relaying second communication between nodes belonging to different groups A and B is installed for each of groups A and B. Here, node N1 is installed as a relay node of group A, and node N4 is installed as a relay node of group B. Hereinafter, an embodiment of the present communication method will be described by focusing on the relay node N1 of the group A among the relay nodes N1 and N4.

(3)中継ノードN1は、仮想ネットワーク技術を用いて、中継ノードN1,N4間をつなぐ仮想的なリンク(以下、「仮想リンクVL」という)を設定する。仮想リンクVLは、異なるグループA,Bに属するノード間(たとえば、ノードN2,N5間)の第2の通信を中継するために使用される。   (3) The relay node N1 sets a virtual link (hereinafter referred to as “virtual link VL”) that connects between the relay nodes N1 and N4 using a virtual network technology. The virtual link VL is used to relay second communication between nodes belonging to different groups A and B (for example, between the nodes N2 and N5).

具体的には、たとえば、中継ノードN1は、グループAのノードN2から、グループBのノードN5に対する第2の通信に関するデータを受信し、仮想リンクVLを介して中継ノードN4に送信する。中継ノードN1から中継ノードN4に送信されたデータは、中継ノードN4からノードN5に送信される。   Specifically, for example, the relay node N1 receives data related to the second communication with respect to the node N5 of the group B from the node N2 of the group A, and transmits the data to the relay node N4 via the virtual link VL. The data transmitted from the relay node N1 to the relay node N4 is transmitted from the relay node N4 to the node N5.

ここで、中継ノードN1は、受信された第2の通信に関するデータ群を、下記(6)において送信対象として順次決定して中継ノードN1のバッファに格納する。その結果、中継ノードN1は、送信タスクを起動すると、バッファ内のデータを格納順に局所網100に送出する。   Here, the relay node N1 sequentially determines the received data group related to the second communication as a transmission target in the following (6), and stores it in the buffer of the relay node N1. As a result, when the relay node N1 starts the transmission task, it sends the data in the buffer to the local network 100 in the order of storage.

(4)中継ノードN1は、局所網100の伝送能力に基づいて、周期的に実行される送信タスクの開始時点から現時点までに送信対象として順次決定したデータ列の送信にかかる所要時間tを算出する。すなわち、中継ノードN1は、現時点でバッファに格納されているデータ列を、局所網100に送出するのにかかる時間を推定する。   (4) Based on the transmission capability of the local network 100, the relay node N1 calculates the time t required to transmit the data sequence sequentially determined as the transmission target from the start time of the periodically executed transmission task to the present time. To do. That is, the relay node N1 estimates the time taken to send the data string currently stored in the buffer to the local network 100.

(5)中継ノードN1は、現時点から所要時間tが経過した時点が、複数のノード群N1〜N6のいずれかのノード間(たとえば、ノードN2,N5間)で周期的に実行される第1の通信の開始時点と一致するか否かを判定する。ここで、全ノードN1〜N6は、一定の時間間隔で同期を取っている。   (5) The relay node N1 is periodically executed when the required time t has elapsed from the present time between any of the plurality of node groups N1 to N6 (for example, between the nodes N2 and N5). It is determined whether or not it coincides with the start time of communication. Here, all the nodes N1 to N6 are synchronized at regular time intervals.

(6)中継ノードN1は、判定された判定結果に基づいて、受信された第2の通信に関するデータ群の中から送信対象となるデータを決定する。なお、送信対象となるデータの決定例については、図2を用いて後述する。   (6) The relay node N1 determines data to be transmitted from the received data group related to the second communication based on the determined determination result. An example of determining data to be transmitted will be described later with reference to FIG.

(7)中継ノードN1は、送信対象として順次決定されたデータを、仮想リンクVLを介して中継ノードN4に送信する。具体的には、中継ノードN1は、送信タスクを起動して、バッファ内のデータ列を格納順に読み出して局所網100に送出する。   (7) The relay node N1 transmits data sequentially determined as transmission targets to the relay node N4 via the virtual link VL. Specifically, the relay node N1 activates the transmission task, reads the data strings in the buffer in the order of storage, and sends them to the local network 100.

図2は、送信対象となるデータの決定例の概要を示す説明図である。ここでは、中継ノードN1における送信対象となるデータの決定例について説明する。図2中、データD1〜D12は、中継ノードN1において受信された第2の通信に関するデータ群である。また、ノードN1〜N6のいずれかのノード間で実行される第1の通信の通信元として、グループB内のノードN5を例に挙げて説明する。   FIG. 2 is an explanatory diagram showing an outline of an example of determining data to be transmitted. Here, an example of determining data to be transmitted in the relay node N1 will be described. In FIG. 2, data D1 to D12 are a data group related to the second communication received at the relay node N1. Further, the node N5 in the group B will be described as an example of the communication source of the first communication executed between any of the nodes N1 to N6.

図2において、データ列210は、ノードN5のバッファに格納されているデータ列Da〜Djを表している。これらデータ列Da〜Djは、ノードN5の送信タスクが起動すると、格納順(データDa→データDb→…)にバッファから読み出されて局所網100に送出される。その結果、第1の通信に関するデータDa,Dc,De,Dg,Diが一定間隔で局所網100に送出されることになる。   In FIG. 2, a data string 210 represents data strings Da to Dj stored in the buffer of the node N5. These data strings Da to Dj are read from the buffer in the order of storage (data Da → data Db →...) And sent to the local network 100 when the transmission task of the node N5 is activated. As a result, data Da, Dc, De, Dg, Di related to the first communication is transmitted to the local network 100 at regular intervals.

本通信手法では、上記(6)において、第1の通信の開始時点と一致する場合、データ群D1〜D12の中から第1の通信の経路と衝突しない経路のデータ(たとえば、データD1)を送信対象に決定する(データ列220)。一方、上記(6)において、第1の通信の開始時点と一致しない場合、データ群の中から任意のデータ(たとえば、データD2)を送信対象に決定する(データ列220)。   In this communication method, in the above (6), when it coincides with the start time of the first communication, the data (for example, data D1) of the route that does not collide with the route of the first communication is selected from the data groups D1 to D12. The transmission target is determined (data string 220). On the other hand, in the above (6), when the start time of the first communication is not coincident, arbitrary data (for example, data D2) is determined as a transmission target from the data group (data string 220).

このように、本通信手法では、第1の通信の経路と衝突しない経路のデータを送信対象として順次決定することにより、第1および第2の通信の衝突を回避する。この際、第1の通信と衝突しないようにデータ列120を事前に整形してバッファに格納しておくことで、第1の通信の開始時点に合わせて、送信タイミングを制御する必要がない。   As described above, in this communication method, the data of the path that does not collide with the path of the first communication is sequentially determined as the transmission target, thereby avoiding the collision of the first and second communications. At this time, it is not necessary to control the transmission timing in accordance with the start time of the first communication by shaping the data sequence 120 in advance so as not to collide with the first communication and storing it in the buffer.

(ネットワークシステム300のシステム構成)
つぎに、実施の形態にかかるネットワークシステム300のシステム構成について説明する。図3は、ネットワークシステムのシステム構成図(その1)である。ネットワークシステム300において、ノードN1〜N12とスイッチSW1〜SW5とが、LAN(Local Area Network)などのネットワーク310を介して通信可能に接続されている。
(System configuration of network system 300)
Next, a system configuration of the network system 300 according to the embodiment will be described. FIG. 3 is a system configuration diagram (part 1) of the network system. In the network system 300, nodes N1 to N12 and switches SW1 to SW5 are communicably connected via a network 310 such as a LAN (Local Area Network).

ここで、ノードN1〜N12は、通信機能(実時間通信、非実時間通信)を有する通信装置であり、たとえば、自動車やロボットなどに搭載されるECU(Electric Control Unit)、センサ、アクチュエータなどである。   Here, the nodes N1 to N12 are communication devices having a communication function (real-time communication, non-real-time communication). For example, the nodes N1 to N12 are ECUs (Electric Control Units), sensors, and actuators mounted on automobiles and robots. is there.

スイッチSW1〜SW5は、ノード間のデータを中継する機能を有する中継装置である。スイッチSW1〜SW5は、データを受信すると、たとえば、宛先として指定されている物理アドレスにしたがって、該データをノードN1〜N12のいずれかのノードに転送する。   The switches SW1 to SW5 are relay devices that have a function of relaying data between nodes. When the switches SW1 to SW5 receive the data, for example, the switches SW1 to SW5 transfer the data to any one of the nodes N1 to N12 according to the physical address specified as the destination.

ネットワークシステム300では、個々のスイッチSW1〜SW4に直接接続されているノード群によりグループG1〜G4が形成されている。具体的には、スイッチSW1に直接接続されているノード群N1〜N3によりグループG1が形成され、スイッチSW2に直接接続されているノード群N4〜N6によりグループG2が形成されている。また、スイッチSW3に直接接続されているノード群N7〜N9によりグループG3が形成され、スイッチSW4に直接接続されているノード群N10〜N12によりグループG4が形成されている。   In the network system 300, groups G1 to G4 are formed by node groups that are directly connected to the individual switches SW1 to SW4. Specifically, a group G1 is formed by the node groups N1 to N3 directly connected to the switch SW1, and a group G2 is formed by the node groups N4 to N6 directly connected to the switch SW2. A group G3 is formed by the node groups N7 to N9 directly connected to the switch SW3, and a group G4 is formed by the node groups N10 to N12 directly connected to the switch SW4.

さらに、ネットワークシステム300では、グループG1〜G4ごとに、グループ間の非実時間通信を中継する中継ノードN1,N4,N7およびN10が設けられている。また、ネットワークシステム300では、各中継ノード間をつなぐ仮想リンクVLがそれぞれ設定されている。   Furthermore, in the network system 300, relay nodes N1, N4, N7, and N10 that relay non-real-time communication between groups are provided for each of the groups G1 to G4. In the network system 300, virtual links VL that connect the relay nodes are set.

なお、以下の説明において「仮想リンクVLx−y」は、グループGxの中継ノードからグループGyの中継ノードへの仮想リンクを表している。ただし、「仮想リンクVLx−y」と「仮想リンクVLy−x」は同じ仮想リンクを表している。   In the following description, “virtual link VLx-y” represents a virtual link from the relay node of group Gx to the relay node of group Gy. However, “virtual link VLx-y” and “virtual link VLy-x” represent the same virtual link.

具体的には、グループG1の中継ノードN1とグループG2〜G4の中継ノードN4,N7,N10との間に仮想リンクVL1−2,VL1−3,VL1−4が設定されている。グループG2の中継ノードN4とグループG3,G4の中継ノードN7,N10との間に仮想リンクVL2−3,VL2−4が設定されている。グループG3の中継ノードN7とグループG4の中継ノードN10との間に仮想リンクVL3−4が設定されている。   Specifically, virtual links VL1-2, VL1-3, and VL1-4 are set between the relay node N1 of the group G1 and the relay nodes N4, N7, and N10 of the groups G2 to G4. Virtual links VL2-3 and VL2-4 are set between the relay node N4 of the group G2 and the relay nodes N7 and N10 of the groups G3 and G4. A virtual link VL3-4 is set between the relay node N7 of the group G3 and the relay node N10 of the group G4.

(ノードN1〜N12のハードウェア構成)
つぎに、図3に示したノードN1〜N12のハードウェア構成について説明する。図4は、ノードのハードウェア構成の一例を示すブロック図である。図4において、ノードN1〜N12は、CPU(Central Processing Unit)401と、ROM(Read‐Only Memory)402と、RAM(Random Access Memory)403と、I/F(Interface)404と、を備えている。また、各構成部はバス400によってそれぞれ接続されている。
(Hardware configuration of nodes N1 to N12)
Next, the hardware configuration of the nodes N1 to N12 illustrated in FIG. 3 will be described. FIG. 4 is a block diagram illustrating an example of a hardware configuration of a node. 4, nodes N1 to N12 include a CPU (Central Processing Unit) 401, a ROM (Read-Only Memory) 402, a RAM (Random Access Memory) 403, and an I / F (Interface) 404. Yes. Each component is connected by a bus 400.

ここで、CPU401は、各ノードN1〜N12の全体の制御を司る。ROM402は、ブートプログラムなどのプログラムを記憶している。RAM403は、CPU401のワークエリアとして使用される。I/F404は、通信回線を通じてLANなどのネットワーク310に接続され、このネットワーク310を介して他の装置に接続される。そして、I/F404は、ネットワーク310と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。   Here, the CPU 401 governs overall control of each of the nodes N1 to N12. The ROM 402 stores programs such as a boot program. The RAM 403 is used as a work area for the CPU 401. The I / F 404 is connected to a network 310 such as a LAN through a communication line, and is connected to other devices via the network 310. The I / F 404 controls an internal interface with the network 310 and controls input / output of data from an external device.

また、ノードN1〜N12は、上記構成部のほか、磁気ディスクドライブ、磁気ディスク、光ディスクドライブおよび光ディスクなどを備えていてもよい。ここで、磁気ディスクドライブは、CPU401の制御にしたがって磁気ディスクに対するデータのリード/ライトを制御する。   The nodes N1 to N12 may include a magnetic disk drive, a magnetic disk, an optical disk drive, an optical disk, and the like in addition to the above components. Here, the magnetic disk drive controls the reading / writing of the data with respect to a magnetic disk according to control of CPU401.

磁気ディスクは、磁気ディスクドライブの制御で書き込まれたデータを記憶する。光ディスクドライブは、CPU401の制御にしたがって光ディスクに対するデータのリード/ライトを制御する。光ディスクは、光ディスクドライブの制御で書き込まれたデータを記憶したり、光ディスクに記憶されたデータをコンピュータに読み取らせたりする。   The magnetic disk stores data written under the control of the magnetic disk drive. The optical disc drive controls reading / writing of data with respect to the optical disc according to the control of the CPU 401. The optical disk stores data written under the control of the optical disk drive, and allows the computer to read data stored on the optical disk.

(各種テーブルの記憶内容)
つぎに、ノードN1〜N12が用いる各種テーブル500,600の記憶内容について説明する。各種テーブル500,600は、図4に示したROM402、RAM403などの記憶装置に記憶されている。以下の説明では、特に指定する場合を除いて「ノードN1〜N12」を単に「ノードN」と表記する。
(Contents stored in various tables)
Next, the contents stored in the various tables 500 and 600 used by the nodes N1 to N12 will be described. The various tables 500 and 600 are stored in a storage device such as the ROM 402 and the RAM 403 shown in FIG. In the following description, “nodes N1 to N12” are simply expressed as “node N” unless otherwise specified.

<アドレステーブルの記憶内容>
図5は、アドレステーブルの記憶内容の一例を示す説明図である。図5において、アドレステーブル500は、ノードN1〜N12ごとに、ノード名、システムアドレス、グループアドレス、物理アドレスおよび中継ノード情報を有する。
<Storage contents of address table>
FIG. 5 is an explanatory diagram showing an example of the contents stored in the address table. In FIG. 5, the address table 500 has a node name, a system address, a group address, a physical address, and relay node information for each of the nodes N1 to N12.

ノード名とは、本明細書において説明上使用するノードN1〜N12の名称である。システムアドレスとは、ネットワークシステム300全体で一意に決まる各ノードN1〜N12のアドレスである。物理アドレスとは、ネットワーク310に接続されるI/F404固有のアドレスである。物理アドレスは、たとえば、イーサネット(登録商標)のMAC(Media Access Control address)アドレスである。   The node name is a name of the nodes N1 to N12 used for explanation in this specification. The system address is an address of each node N1 to N12 that is uniquely determined in the entire network system 300. The physical address is an address unique to the I / F 404 connected to the network 310. The physical address is, for example, an Ethernet (registered trademark) MAC (Media Access Control address) address.

グループアドレスとは、ネットワークシステム300内の各グループG1〜G4で一意に決まる各ノードN1〜N12のアドレスである。ここでは、グループアドレスのドット「.」で区切られた4組の数字のうち1〜3組目の数字(たとえば、172.xxx.1.1)はグループG1〜G4を識別するグループ識別IDである。また、4組目の数字(たとえば、1)はグループ内のノードNを識別するノード識別IDである。   The group address is an address of each node N1 to N12 uniquely determined by each group G1 to G4 in the network system 300. Here, the first to third sets of numbers (for example, 172.xxx.1.1) among the four sets of numbers separated by the dot “.” Of the group address are group identification IDs for identifying the groups G1 to G4. is there. The fourth set of numbers (for example, 1) is a node identification ID for identifying the node N in the group.

中継ノード情報とは、中継ノードとして機能するノードNを識別する情報である。ここでは、中継ノードとして機能するノードNの中継ノード情報に「Yes」、グループノードとして機能するノードNの中継ノード情報に「No」が設定されている。なお、中継ノードは、予め設定された情報または選出アルゴリズムにより、各グループG1〜G4から必ず一つ(以上)決定される。   The relay node information is information for identifying the node N that functions as a relay node. Here, “Yes” is set in the relay node information of the node N functioning as the relay node, and “No” is set in the relay node information of the node N functioning as the group node. Note that one (or more) relay node is always determined from each of the groups G1 to G4 based on preset information or a selection algorithm.

<グループ識別テーブルの記憶内容>
図6は、グループ識別テーブルの記憶内容の一例を示す説明図である。図6において、グループ識別テーブル600は、グループG1〜G4ごとに、グループ名とグループ識別IDとを対応付けて記憶している。
<Storage contents of group identification table>
FIG. 6 is an explanatory diagram of an example of the contents stored in the group identification table. In FIG. 6, the group identification table 600 stores a group name and a group identification ID in association with each other for each of the groups G1 to G4.

グループ名とは、本明細書において説明上使用するグループG1〜G4の名称である。グループ識別IDとは、各グループG1〜G4を識別する識別子である。グループ識別IDは、たとえば、IP(Internet Protocol)アドレスのネットワーク部である。ここでは、グループアドレスの上位部(たとえば、172.xxx.1)がグループ識別IDに相当する。   The group name is a name of the groups G1 to G4 used for explanation in this specification. The group identification ID is an identifier for identifying each group G1 to G4. The group identification ID is, for example, a network part of an IP (Internet Protocol) address. Here, the upper part of the group address (for example, 172.xxx.1) corresponds to the group identification ID.

なお、以下の説明において、ネットワーク310内のノードN1〜N12のうち、非実時間通信を中継するノードNを「中継ノードJN」と表記し、中継ノードJNを除く残余のノードNを「グループノードGN」と表記する。ここで、中継ノードJNの機能的構成について説明する。   In the following description, among the nodes N1 to N12 in the network 310, the node N that relays non-real-time communication is denoted as “relay node JN”, and the remaining nodes N excluding the relay node JN are denoted as “group nodes”. It is written as “GN”. Here, the functional configuration of the relay node JN will be described.

(中継ノードJNの機能的構成)
図7は、中継ノードの機能的構成を示すブロック図である。図7において、中継ノードJNは、受信部701と、設定部702と、関連付け部703と、送信部704と、検出部705と、割当部706と、第1の算出部707と、判定部708と、決定部709と、第2の算出部710と、抽出部711と、判断部712と、を含む構成である。
(Functional configuration of relay node JN)
FIG. 7 is a block diagram illustrating a functional configuration of the relay node. In FIG. 7, the relay node JN includes a receiving unit 701, a setting unit 702, an associating unit 703, a transmitting unit 704, a detecting unit 705, an assigning unit 706, a first calculating unit 707, and a determining unit 708. And a determination unit 709, a second calculation unit 710, an extraction unit 711, and a determination unit 712.

各機能部(受信部701〜判断部712)は、具体的には、たとえば、図4に示したROM402、RAM403などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F404により、その機能を実現する。なお、各機能部(受信部701〜判断部712)の処理結果は、特に指定する場合を除いて、RAM403などの記憶装置に記憶される。   Specifically, each function unit (reception unit 701 to determination unit 712), for example, causes the CPU 401 to execute a program stored in a storage device such as the ROM 402 and the RAM 403 illustrated in FIG. The function is realized by F404. Note that the processing results of each functional unit (reception unit 701 to determination unit 712) are stored in a storage device such as the RAM 403 unless otherwise specified.

以下の説明において、中継ノードJNの各機能部(受信部701〜判断部712)の具体例を説明する場合、ネットワークシステム300内のノードN1を中継ノードJNとして想定する。また、ネットワークシステム300において混在するノードN間の第1および第2の通信として、ノードN間の実時間通信および非実時間通信を例に挙げて説明する。   In the following description, when a specific example of each functional unit (reception unit 701 to determination unit 712) of the relay node JN is described, the node N1 in the network system 300 is assumed as the relay node JN. Further, real-time communication and non-real-time communication between nodes N will be described as examples of first and second communication between nodes N that are mixed in the network system 300.

まず、受信部701は、各種データを受信する。各種データは、たとえば、非実時間通信に関するデータ(以下、「非実時間データ」という)、同期パケット、実時間通信の流量割当要求および流量割当応答などである。なお、同期パケット、流量割当要求および流量割当応答についての詳細な説明は後述する。   First, the receiving unit 701 receives various data. The various data includes, for example, data related to non-real time communication (hereinafter referred to as “non-real time data”), a synchronization packet, a flow rate allocation request and a flow rate allocation response for real time communication, and the like. A detailed description of the synchronization packet, the flow rate allocation request, and the flow rate allocation response will be described later.

具体的には、たとえば、受信部701が、複数のノードN群のうち一のノードN群に含まれるグループノードGNから他のノードN群に含まれるグループノードGNに対する非実時間データを受信する。ここで、ノードN群とは、たとえば、図3に示した個々のスイッチSW1〜SW4に直接接続されたノードNの集合である。また、一のノードN群とは、自ノードNを含むノードN群である。ここで、非実時間データのデータ構造について説明する。   Specifically, for example, the receiving unit 701 receives non-real time data for a group node GN included in another node N group from a group node GN included in one node N group among the plurality of node N groups. . Here, the node N group is, for example, a set of nodes N directly connected to the individual switches SW1 to SW4 illustrated in FIG. One node N group is a node N group including its own node N. Here, the data structure of non-real time data will be described.

図8は、非実時間データのデータ構造の一例を示す説明図である。図8において、非実時間800は、ヘッダ領域とデータ領域を有する。ヘッダ領域には、物理宛先アドレス、論理宛先アドレスおよびデータ量が設定される。データ領域には、各ノードNのアプリケーションがやり取りするデータが書き込まれる。   FIG. 8 is an explanatory diagram showing an example of the data structure of non-real time data. In FIG. 8, the non-real time 800 has a header area and a data area. In the header area, a physical destination address, a logical destination address, and a data amount are set. Data exchanged by the application of each node N is written in the data area.

物理宛先アドレスとは、非実時間データの直接の送信先を示す物理アドレスである。論理宛先アドレスとは、非実時間データの最終的な宛先を示す論理アドレスである。論理宛先アドレスは、たとえば、各グループG1〜G4内でのみ通用するグループアドレスである。なお、物理宛先アドレスおよび論理宛先アドレスには、非実時間データの送信元を示す物理アドレスおよび論理アドレスが含まれている。データ量とは、非実時間データのデータ量である。   The physical destination address is a physical address indicating a direct transmission destination of non-real time data. The logical destination address is a logical address indicating the final destination of non-real time data. The logical destination address is, for example, a group address that is valid only in each of the groups G1 to G4. Note that the physical destination address and the logical destination address include a physical address and a logical address indicating the transmission source of the non-real time data. The data amount is a data amount of non-real time data.

図7の説明に戻り、設定部702は、他のノードN群から選ばれた他ノードNとの間に経路を設定する。ここで、他ノードNとは、他のノードN群から選ばれた他の中継ノードJNである。経路とは、ネットワーク310上に構築される仮想的なネットワークの仮想リンクVLである。   Returning to the description of FIG. 7, the setting unit 702 sets a route with another node N selected from another node N group. Here, the other node N is another relay node JN selected from another node N group. A route is a virtual link VL of a virtual network constructed on the network 310.

具体的には、たとえば、まず、設定部702が、図5に示したアドレステーブル500の中継ノード情報を参照して、他の中継ノードN4,N7,N10を特定する。そして、設定部702が、自ノードNと他の中継ノードN4,N7,N10とをつなぐ仮想リンクVL1−2〜VL1−4(図3参照)を設定する。   Specifically, for example, the setting unit 702 first identifies other relay nodes N4, N7, and N10 with reference to the relay node information in the address table 500 shown in FIG. Then, the setting unit 702 sets virtual links VL1-2 to VL1-4 (see FIG. 3) that connect the node N and the other relay nodes N4, N7, and N10.

仮想リンクVL(経路)は、異なるグループGに属するノードN間の非実時間データをまとめて転送するために使用される。仮想リンクVLは、オーバーレイネットワーク等の既存の仮想ネットワーク技術を利用して設定される。ただし、仮想リンクVLの具体的な設定手法については、既存技術のためここでは説明を省略する。また、自ノードNと他の中継ノードJNとの間に設定された仮想リンクVLは、たとえば、図9に示す宛先/転送先対応テーブル900を用いて管理される。   The virtual link VL (path) is used to collectively transfer non-real time data between nodes N belonging to different groups G. The virtual link VL is set using an existing virtual network technology such as an overlay network. However, the specific setting method of the virtual link VL is omitted here because it is an existing technology. Further, the virtual link VL set between the own node N and another relay node JN is managed using, for example, the destination / transfer destination correspondence table 900 shown in FIG.

図9は、宛先/転送先対応テーブルの具体例を示す説明図(その1)である。図9において、宛先/転送先対応テーブル900には、宛先アドレスと転送先とが対応付けて記憶されている。ここで、宛先アドレスとは、非実時間データの最終的な宛先として指定される論理宛先アドレスである。ここでは、宛先アドレスとして、ノードNのグループアドレスが設定されている。   FIG. 9 is an explanatory diagram (part 1) of a specific example of the destination / transfer destination correspondence table. In FIG. 9, the destination / transfer destination correspondence table 900 stores a destination address and a transfer destination in association with each other. Here, the destination address is a logical destination address designated as the final destination of non-real time data. Here, the group address of the node N is set as the destination address.

転送先とは、非実時間データの転送先である。ここでは、転送先として、自グループG内のグループノードGNの物理アドレス、または、他グループGの中継ノードJNとの間の仮想リンクVL(の識別子)が設定されている。なお、宛先/転送先対応テーブル900は、たとえば、以下の手順で作成されて、RAM403などの記憶装置に記憶される。   A transfer destination is a transfer destination of non-real-time data. Here, the physical address of the group node GN in the own group G or the virtual link VL (identifier thereof) with the relay node JN of the other group G is set as the transfer destination. The destination / transfer destination correspondence table 900 is created, for example, according to the following procedure and stored in a storage device such as the RAM 403.

まず、設定部702が、アドレステーブル500を参照して、各ノードN1〜N12のうちグループノードGNのグループアドレスを宛先/転送先対応テーブル900の宛先アドレスに設定する。次に、設定部702が、図6に示したグループ識別テーブル600を参照して、各グループノードGNの宛先アドレスからグループGを特定する。   First, the setting unit 702 refers to the address table 500 and sets the group address of the group node GN among the nodes N1 to N12 as the destination address of the destination / transfer destination correspondence table 900. Next, the setting unit 702 refers to the group identification table 600 illustrated in FIG. 6 and identifies the group G from the destination address of each group node GN.

ここで、特定されたグループGが自グループGの場合、設定部702が、アドレステーブル500を参照して、宛先アドレスに対応する物理アドレスを転送先に設定する。一方、特定されたグループGが他グループGの場合、設定部702が、アドレステーブル500を参照して、そのグループGの中継ノードJNを特定する。そして、設定部702が、特定された中継ノードNとの間の仮想リンクVLを転送先に設定する。   Here, when the specified group G is the self group G, the setting unit 702 refers to the address table 500 and sets a physical address corresponding to the destination address as the transfer destination. On the other hand, when the identified group G is another group G, the setting unit 702 refers to the address table 500 and identifies the relay node JN of the group G. Then, the setting unit 702 sets the virtual link VL with the identified relay node N as a transfer destination.

図7の説明に戻り、関連付け部703は、自グループGのグループノードGNから受信された非実時間データと、設定された仮想リンクVLとを関連付ける。具体的には、たとえば、関連付け部703が、図10に示すキュー対応テーブル1000を参照して、受信された非実時間データを対応するデータキューに入れる。ここで、キュー対応テーブル1000の記憶内容について説明する。   Returning to the description of FIG. 7, the associating unit 703 associates the non-real time data received from the group node GN of the own group G with the set virtual link VL. Specifically, for example, the associating unit 703 refers to the queue correspondence table 1000 shown in FIG. 10 and puts the received non-real time data into the corresponding data queue. Here, the contents stored in the queue correspondence table 1000 will be described.

図10は、キュー対応テーブルの記憶内容の一例を示す説明図である。図10において、キュー対応テーブル1000には、転送先とキューIDとが対応付けて記憶されている。ここで、転送先とは、非実時間データの転送先である。キューIDとは、非実時間データを保持するデータキューを識別する識別子である。   FIG. 10 is an explanatory diagram of an example of the contents stored in the queue correspondence table. In FIG. 10, the queue correspondence table 1000 stores the transfer destination and the queue ID in association with each other. Here, the transfer destination is a transfer destination of non-real time data. The queue ID is an identifier for identifying a data queue that holds non-real time data.

たとえば、受信された非実時間データの宛先アドレス(論理宛先アドレス)が「172.xxx.3.3」の場合、転送先は「VL1−3」となる(宛先/転送先対応テーブル900参照)。したがって、受信された非実時間データは、データキューQ4に入る(キュー対応テーブル1000参照)。   For example, when the destination address (logical destination address) of the received non-real-time data is “172.xxx.3.3”, the transfer destination is “VL1-3” (see the destination / transfer destination correspondence table 900). . Therefore, the received non-real time data enters the data queue Q4 (see the queue correspondence table 1000).

図7の説明に戻り、また、受信部701は、仮想リンクVLを介して、非実時間データを他の中継ノードJNから受信する。具体的には、たとえば、受信部701が、仮想リンクVL1−1を介して、グループG2の中継ノードN4から非実時間データを受信する。   Returning to the description of FIG. 7, the receiving unit 701 receives non-real-time data from another relay node JN via the virtual link VL. Specifically, for example, the reception unit 701 receives non-real time data from the relay node N4 of the group G2 via the virtual link VL1-1.

また、関連付け部703は、他の中継ノードJNから受信された非実時間データと、仮想リンクVLとを関連付ける。具体的には、たとえば、関連付け部703が、キュー対応テーブル1000を参照して、受信された非実時間データを対応するデータキューに入れる。   The associating unit 703 associates the non-real time data received from the other relay node JN with the virtual link VL. Specifically, for example, the associating unit 703 refers to the queue correspondence table 1000 and puts the received non-real time data into the corresponding data queue.

たとえば、非実時間データの宛先アドレス(論理宛先アドレス)が「172.xxx.1.2」の場合、転送先は「0000000002」となる(宛先/転送先対応テーブル900参照)。したがって、非実時間データは、データキューQ1に入る(キュー対応テーブル1000参照)。   For example, when the destination address (logical destination address) of the non-real-time data is “172.xxx.1.2”, the transfer destination is “0000000002” (see the destination / transfer destination correspondence table 900). Therefore, the non-real time data enters the data queue Q1 (see the queue correspondence table 1000).

送信部704は、受信されたデータ群の中から送信対象として順次決定される非実時間データを、仮想リンクVLを介して、他の中継ノードJNに送信する。また、送信部704は、受信されたデータ群の中から送信対象として順次決定される非実時間データを、自グループGのグループノードGNに送信する。   The transmission unit 704 transmits non-real time data sequentially determined as a transmission target from the received data group to the other relay node JN via the virtual link VL. The transmission unit 704 transmits non-real time data sequentially determined as a transmission target from the received data group to the group node GN of the own group G.

ここで、データ群は、たとえば、データキューQ1〜Q5に保持されている非実時間データの集合である。また、送信対象となる非実時間データは、後述する決定部709によって順次決定されてバッファに格納されている非実時間データである。バッファは、たとえば、NIC(Network Interface Card)の送信バッファである。   Here, the data group is, for example, a set of non-real time data held in the data queues Q1 to Q5. The non-real time data to be transmitted is non-real time data that is sequentially determined by a determination unit 709 described later and stored in the buffer. The buffer is, for example, a transmission buffer of NIC (Network Interface Card).

送信部704の非実時間データの送信処理は、一定の時間間隔(たとえば、5[ms(ミリ秒)])で周期的に実行される。具体的には、一定の時間間隔で送信タスクが起動され、バッファに格納されている非実時間データが格納順に読み出されてネットワーク310に送出される。   The transmission process of the non-real time data of the transmission unit 704 is periodically executed at a constant time interval (for example, 5 [ms (milliseconds)]). Specifically, a transmission task is activated at regular time intervals, and non-real time data stored in the buffer is read in the storage order and sent to the network 310.

すなわち、送信部704は、「自グループGのグループノードGN」から非実時間データを受信し、「他の中継ノードJN」に転送する。また、送信部704は、「他の中継ノードJN」から非実時間データを受信し、「自グループGのグループノードGN」に転送する。そこで、以下の説明では、非実時間データの送信処理を「非実時間データの転送処理」と表記する。   That is, the transmission unit 704 receives the non-real time data from the “group node GN of its own group G” and transfers it to the “other relay node JN”. Further, the transmission unit 704 receives the non-real time data from the “other relay node JN” and transfers it to the “group node GN of the own group G”. Therefore, in the following description, the non-real time data transmission process is referred to as “non-real time data transfer process”.

検出部705は、ネットワーク310内のノードN1〜N12間で時刻同期を取るための周期開始時点を検出する。具体的には、たとえば、検出部705が、自ノードNが起動してからの経過時間を計時し、予め設定された同期間隔が経過した時刻を周期開始時点として検出する。以下、時刻同期を取るための周期を「周期C1」と表記する。   The detection unit 705 detects a cycle start point for time synchronization between the nodes N1 to N12 in the network 310. Specifically, for example, the detection unit 705 measures the elapsed time since the node N is activated, and detects the time at which a preset synchronization interval has elapsed as the cycle start time. Hereinafter, the cycle for achieving time synchronization is referred to as “cycle C1”.

送信部704は、周期C1の周期開始時点が検出された結果、同期パケットを他の中継ノードJNに送信する。具体的には、たとえば、送信部704が、時刻同期を取るための識別子が付与された同期パケットを他の中継ノードN4,N7,N10に送信する。これにより、ネットワークシステム300内の中継ノードJN間で同期を取ることができる。   The transmission unit 704 transmits the synchronization packet to the other relay node JN as a result of detecting the period start time of the period C1. Specifically, for example, the transmission unit 704 transmits a synchronization packet provided with an identifier for time synchronization to the other relay nodes N4, N7, and N10. As a result, synchronization can be established between the relay nodes JN in the network system 300.

また、送信部704は、同期パケットを自グループGのグループノードGNに送信する。これにより、グループG内の全ノードNで同期を取ることができる。なお、検出部705は、周期C1の周期開始時点の検出前に、他の中継ノードJNから同期パケットを受信した場合、同期パケットの受信時刻を周期C1の周期開始時点として検出する。   In addition, the transmission unit 704 transmits the synchronization packet to the group node GN of the own group G. As a result, all the nodes N in the group G can be synchronized. In addition, the detection part 705 detects the reception time of a synchronous packet as a period start time of the period C1, when a synchronization packet is received from another relay node JN before the detection of the period start time of the period C1.

なお、非実時間データの転送処理は、周期C1の周期開始時点を基点として周期的に実行される。ただし、非実時間データの転送処理が実行される時間間隔は、周期C1の同期間隔以下である。以下、非実時間データの転送処理の周期を「周期C2」と表記する。   The non-real time data transfer process is periodically executed with the period start point of the period C1 as a base point. However, the time interval at which the non-real time data transfer process is executed is equal to or shorter than the synchronization interval of the cycle C1. Hereinafter, the cycle of the non-real time data transfer process is referred to as “cycle C2”.

割当部706は、ネットワーク310の伝送能力に基づいて、仮想リンクVLに非実時間通信の流量を割り当てる。ここで、ネットワーク310の伝送能力とは、たとえば、ネットワークシステム300の物理リンクのキャパシティ(単位時間当たりの通信速度)である。流量とは、単位時間当たりに送信可能なデータ量である。   The allocation unit 706 allocates a non-real-time communication flow rate to the virtual link VL based on the transmission capability of the network 310. Here, the transmission capability of the network 310 is, for example, the capacity of the physical link of the network system 300 (communication speed per unit time). The flow rate is the amount of data that can be transmitted per unit time.

具体的には、たとえば、割当部706が、物理リンクのキャパシティを仮想リンクVL数で除算して、各仮想リンクVLに割り当てる流量を算出してもよい。一例として、ネットワークシステム300の物理リンクのキャパシティを12[Mbps]とする。この場合、各仮想リンクVL1−1〜VL1−3に割り当てる流量は4(=12/3)[Mbps]となる。   Specifically, for example, the allocation unit 706 may calculate the flow rate allocated to each virtual link VL by dividing the capacity of the physical link by the number of virtual links VL. As an example, the capacity of the physical link of the network system 300 is 12 [Mbps]. In this case, the flow rate assigned to each of the virtual links VL1-1 to VL1-3 is 4 (= 12/3) [Mbps].

これにより、物理リンクのキャパシティを仮想リンクVL1−1〜VL1−3に均等に割り当てることができる。ただし、ノードN間の実時間通信のために流量が割り当てられている場合、割当可能な総流量は、物理リンクのキャパシティから実時間通信の割当流量を引いた値となる。   Thereby, the capacity of the physical link can be equally allocated to the virtual links VL1-1 to VL1-3. However, when a flow rate is assigned for real-time communication between the nodes N, the total assignable flow rate is a value obtained by subtracting the real-time communication assigned flow rate from the physical link capacity.

なお、流量割当結果は、たとえば、図11に示す割当流量/送信済データ量対応テーブル1100に記憶される。また、仮想リンクVLの割当流量は、送信部704により、他の中継ノードJNに送信される。また、受信部701により、他の中継ノードJNから仮想リンクVLの割当流量を受信した場合、割当流量/送信済データ量対応テーブル1100に記憶されて、記憶内容が更新される。   The flow rate allocation result is stored in, for example, the allocated flow rate / transmitted data amount correspondence table 1100 shown in FIG. Further, the allocated flow rate of the virtual link VL is transmitted by the transmission unit 704 to another relay node JN. When the receiving unit 701 receives the allocated flow rate of the virtual link VL from another relay node JN, it is stored in the allocated flow rate / transmitted data amount correspondence table 1100 and the stored content is updated.

また、割当部706は、ネットワーク310の伝送能力に基づいて、自グループGのグループノードGNに非実時間通信の流量を割り当てる。具体的には、たとえば、割当部706が、物理リンクのキャパシティを、グループG1のグループノードGN数で除算して、各グループノードGNに割り当てる流量を算出してもよい。なお、流量割当結果は、たとえば、図11に示す割当流量/送信済データ量対応テーブル1100に記憶される。   Also, the assigning unit 706 assigns a non-real-time communication flow rate to the group node GN of the own group G based on the transmission capability of the network 310. Specifically, for example, the allocation unit 706 may calculate the flow rate allocated to each group node GN by dividing the capacity of the physical link by the number of group nodes GN of the group G1. The flow rate allocation result is stored in, for example, the allocated flow rate / transmitted data amount correspondence table 1100 shown in FIG.

図11は、割当流量/送信済データ量対応テーブルの記憶内容の一例を示す説明図である。図11において、割当流量/送信済データ量対応テーブル1100は、転送先ごとの割当流量および送信済データ量を有している。   FIG. 11 is an explanatory diagram of an example of the stored contents of the allocation flow rate / transmitted data amount correspondence table. In FIG. 11, the allocation flow rate / transmitted data amount correspondence table 1100 has an allocation flow rate and a transmission data amount for each transfer destination.

ここで、転送先とは、非実時間データの転送先である。割当流量とは、単位時間当たり(ここでは、周期C2)に送信可能な非実時間データの流量[byte/周期C2]である。送信済データ量とは、転送先に送信されたデータのデータ量[byte]である。ここでは、後述する決定部709によって送信対象として順次決定された非実時間データのデータ量が累積して設定される。   Here, the transfer destination is a transfer destination of non-real time data. The allocated flow rate is a flow rate [byte / cycle C2] of non-real-time data that can be transmitted per unit time (here, cycle C2). The transmitted data amount is the data amount [bytes] of data transmitted to the transfer destination. Here, the data amount of the non-real time data sequentially determined as a transmission target by the determination unit 709 described later is accumulated and set.

なお、上記割当部706は、自ノードNと他の中継ノードJN(または、グループノードGN)との間の通信状況に応じて、各仮想リンクVL(または、各グループノードGN)に流量を割り当てることにしてもよい。これにより、動的に変化する通信状況に応じて、割当流量を制御することができる。ただし、通信状況に応じて割当流量を制御する手法は既存技術のため詳細な説明を省略する。   The allocation unit 706 allocates a flow rate to each virtual link VL (or each group node GN) according to the communication status between the own node N and another relay node JN (or group node GN). You may decide. Thereby, the allocated flow rate can be controlled in accordance with the dynamically changing communication status. However, since the technique for controlling the allocated flow rate according to the communication status is an existing technology, detailed description thereof is omitted.

第1の算出部707は、ネットワーク310の伝送能力に基づいて、非実時間データの転送処理の周期開始時点から現時点までに送信対象として順次決定されたデータ列の送信にかかる所要時間tを算出する。ここで、データ列とは、バッファ内に格納されている非実時間データの集合である。また、所要時間tとは、たとえば、データ列のネットワーク310への送出にかかる時間である。   Based on the transmission capability of the network 310, the first calculation unit 707 calculates a time t required for transmission of the data sequence sequentially determined as a transmission target from the start of the non-real time data transfer processing period to the present time. To do. Here, the data string is a set of non-real time data stored in the buffer. The required time t is, for example, the time required for sending the data string to the network 310.

具体的には、たとえば、第1の算出部707が、下記式(1)を用いて所要時間tを算出することができる。ただし、tは、データ列の送信にかかる所要時間[s(秒)]である。Rは、ネットワーク310の単位時間当たりの通信速度[bps(ビット毎秒)]である。dは、データ列のデータ量[b(ビット)]である。   Specifically, for example, the first calculation unit 707 can calculate the required time t using the following formula (1). Here, t is the required time [s (seconds)] required to transmit the data string. R is a communication speed [bps (bits per second)] per unit time of the network 310. d is the data amount [b (bit)] of the data string.

t=d/R ・・・(1)     t = d / R (1)

ここで、ネットワーク310の通信速度Rを1[G(ギガ)bps]、データ列のデータ量dを100[K(キロ)b]とする。この場合、データ列の送信にかかる所要時間tは『t=100[Kb]/1[Gbps]=100[μs(マイクロ秒)]』である。   Here, it is assumed that the communication speed R of the network 310 is 1 [G (giga) bps] and the data amount d of the data string is 100 [K (kilo) b]. In this case, the time t required to transmit the data string is “t = 100 [Kb] / 1 [Gbps] = 100 [μs (microseconds)]”.

判定部708は、現時点から、算出された所要時間tが経過した時点が、複数のノード群のいずれかのノードN間で周期的に実行される実時間通信の周期開始時点と一致するか否かを判定する。ここで、ノードN間の実時間通信は、転送処理よりも短い時間間隔(たとえば、125[μs])で、周期C1(または周期C2)の周期開始時点を基点として周期的に実行される。以下、実時間通信の周期を「周期C3」と表記する。   The determination unit 708 determines whether or not the time when the calculated required time t has elapsed from the current time coincides with the period start time of the real-time communication that is periodically executed between any of the nodes N of the plurality of node groups. Determine whether. Here, real-time communication between the nodes N is periodically executed with a time interval (for example, 125 [μs]) shorter than the transfer process, with the period start point of the period C1 (or period C2) as a base point. Hereinafter, the cycle of real-time communication is expressed as “cycle C3”.

具体的には、たとえば、判定部708が、周期C1(または周期C2)の周期開始時点から現時点までの経過時間T1に所要時間tを足し合わせた経過時間T2が、「0」または「周期C3の定数倍」か否かを判定する。   Specifically, for example, the elapsed time T2 obtained by adding the required time t to the elapsed time T1 from the cycle start time of the cycle C1 (or cycle C2) to the current time is “0” or “cycle C3. It is determined whether or not it is “a constant multiple of”.

なお、「T2=0」は、「T1=0」かつ「t=0」、すなわち、現時点が周期C2の周期開始時点でかつ送信対象となるデータが未決定の場合である。すなわち、判定部708は、現時点から仮に所要時間tが経過した時点が、実時間通信の周期開始時点と一致するか否かを判定する。   Note that “T2 = 0” is “T1 = 0” and “t = 0”, that is, the current time is the start time of the cycle of the cycle C2, and the data to be transmitted is undecided. That is, the determination unit 708 determines whether or not the time when the required time t has elapsed from the current time coincides with the cycle start time of the real-time communication.

ここで、経過時間T2が「0」または「周期C3の定数倍」の場合、判定部708が、実時間通信の周期開始時点と一致すると判定する。一方、経過時間T2が「0」または「周期T3の定数倍」ではない場合、判定部708が、実時間通信の周期開始時点と一致しないと判定する。   Here, when the elapsed time T2 is “0” or “a constant multiple of the period C3”, the determination unit 708 determines that it coincides with the period start point of the real-time communication. On the other hand, when the elapsed time T2 is not “0” or “a constant multiple of the period T3”, the determination unit 708 determines that it does not coincide with the period start point of the real-time communication.

図12は、実時間通信の周期開始時点との一致判定例を示す説明図である。図12において、時間軸ST1上の各点は、ノードN間で周期的に実行される実時間通信の周期開始時点を表している。また、時間軸ST2,ST3上の点a1,b1は周期C2の周期開始時点、点a2,b2は現時点(経過時間T1)、点a3,b3は現時点から所要時間tが経過した時点(経過時間T2)を表している。   FIG. 12 is an explanatory diagram illustrating an example of coincidence determination with a real-time communication cycle start time. In FIG. 12, each point on the time axis ST <b> 1 represents a period start point of real-time communication that is periodically executed between the nodes N. Points a1 and b1 on the time axes ST2 and ST3 are the cycle start time of the cycle C2, points a2 and b2 are the current time (elapsed time T1), and points a3 and b3 are the time when the required time t has elapsed from the current time (elapsed time). T2).

図12中(1)において、現時点a2から所要時間tが経過した時点a3が実時間通信の周期開始時点と一致している。この場合、判定部708は、現時点から所要時間tが経過した時点が、実時間通信の周期開始時点と一致すると判定する。   In FIG. 12 (1), a time point a3 when the required time t has elapsed from the current time point a2 coincides with a real-time communication cycle start time point. In this case, the determination unit 708 determines that the time when the required time t has elapsed from the current time coincides with the cycle start time of the real-time communication.

図12中(2)において、現時点b2から所要時間tが経過した時点b3が実時間通信の周期開始時点と一致していない。この場合、判定部708は、現時点から所要時間tが経過した時点が、実時間通信の周期開始時点と一致していないと判定する。   In FIG. 12, (2), the time point b3 when the required time t has elapsed from the current time b2 does not coincide with the real-time communication cycle start time. In this case, the determination unit 708 determines that the time when the required time t has elapsed from the present time does not coincide with the period start time of the real-time communication.

図7の説明に戻り、決定部709は、判定された判定結果に基づいて、受信されたデータ群の中から送信対象となる非実時間データを決定する。ここで、データ群とは、グループノードGNまたは他の中継ノードJNから受信された非実時間データの集合である。   Returning to the description of FIG. 7, the determination unit 709 determines non-real-time data to be transmitted from the received data group based on the determined determination result. Here, the data group is a set of non-real time data received from the group node GN or another relay node JN.

以下、(i)実時間通信の周期開始時点と一致すると判定された場合と、(ii)実時間通信の周期開始時点と一致しないと判定された場合と、の各々について、決定部709の具体的な処理内容の一例を説明する。   Hereinafter, the determination unit 709 will be described in detail for each of (i) a case where it is determined that it matches the cycle start time of the real time communication and (ii) a case where it is determined that it does not match the cycle start time of the real time communication. An example of typical processing contents will be described.

まず、(i)の場合、決定部709は、他の中継ノードJNとの間に設定された仮想リンクVLのうち、ノードN間の実時間通信の経路と衝突する経路を特定する。ここで、実時間通信の経路と衝突する経路とは、実時間通信の通信先となるノードNが属するグループGの中継ノードJNとの間に設定された仮想リンクVLである。なお、実時間通信の通信元および通信先となるノードNは、たとえば、図13に示す実時間通信割当流量テーブル1300から特定することができる。   First, in the case of (i), the determination unit 709 specifies a path that collides with a path of real-time communication between the nodes N among the virtual links VL set between the other relay nodes JN. Here, the path that collides with the real-time communication path is the virtual link VL set up with the relay node JN of the group G to which the node N that is the communication destination of the real-time communication belongs. Note that the node N that is the communication source and communication destination of real-time communication can be specified from the real-time communication allocation flow rate table 1300 shown in FIG. 13, for example.

図13は、実時間通信割当流量テーブルの記憶内容の一例を示す説明図(その1)である。図13において、実時間通信割当流量テーブル1300は、割当ID、割当流量、送信元アドレスおよび宛先アドレスの項目を有し、各項目に情報を設定することで、実時間通信情報1300−1〜1300−4をレコードとして記憶している。   FIG. 13 is an explanatory diagram (part 1) illustrating an example of the storage contents of the real-time communication allocation flow rate table. In FIG. 13, the real-time communication allocation flow rate table 1300 includes items of allocation ID, allocation flow rate, transmission source address, and destination address, and by setting information in each item, real-time communication information 1300-1 to 1300. -4 is stored as a record.

ここで、割当IDとは、ノードN間の実時間通信に割り当てられた割当流量を識別する識別子である。割当流量とは、ノードN間の実時間通信に割り当てられた流量[byte]である。送信元アドレスとは、実時間通信の通信元となるノードNのアドレスである。ここでは、送信元アドレスとして、実時間通信の通信元となるノードNのシステムアドレスおよびグループアドレスが表記されている。   Here, the allocation ID is an identifier for identifying the allocated flow rate allocated to the real-time communication between the nodes N. The assigned flow rate is a flow rate [bytes] assigned to real-time communication between the nodes N. The transmission source address is an address of the node N that is a communication source of real-time communication. Here, the system address and group address of the node N that is the communication source of the real-time communication are described as the transmission source address.

宛先アドレスとは、実時間通信の通信先となるノードNのアドレスである。ここでは、宛先アドレスとして、実時間通信の通信先となるノードNのシステムアドレスおよびグループアドレスが表記されている。なお、実時間通信割当流量テーブル1300を作成するための具体的な処理内容については後述する。   The destination address is an address of the node N that is a communication destination of real-time communication. Here, the system address and group address of the node N that is the communication destination of real-time communication are described as the destination address. The specific processing content for creating the real-time communication allocation flow rate table 1300 will be described later.

具体的には、たとえば、決定部709が、実時間通信割当流量テーブル1300を参照して、実時間通信の通信先となるノードNのグループアドレスを特定する。ここでは、ノードN2,N5,N8,N9のグループアドレス「172.xxx.1.2」、「172.xxx.2.2」、「172.xxx.3.2」および「172.xxx.3.3」が特定される。   Specifically, for example, the determination unit 709 refers to the real-time communication allocation flow rate table 1300 and identifies the group address of the node N that is the communication destination of real-time communication. Here, the group addresses “172.xxx.1.2”, “172.xxx.2.2”, “172.xxx.3.2”, and “172.xxx.3” of the nodes N2, N5, N8, and N9. .3 "is specified.

次に、決定部709が、宛先/転送先対応テーブル900を参照して、特定されたグループアドレスから転送先を特定する。ここでは、転送先「0000000002(物理アドレス)」、「VL1−2」および「VL1−3」が特定される。ここで特定される転送先(経路)は、ノードN間の実時間通信と衝突する転送先(経路)である。   Next, the determination unit 709 refers to the destination / transfer destination correspondence table 900 and specifies a transfer destination from the specified group address. Here, the transfer destinations “0000000002 (physical address)”, “VL1-2”, and “VL1-3” are specified. The transfer destination (route) specified here is a transfer destination (route) that collides with real-time communication between the nodes N.

すなわち、転送先「0000000002(物理アドレス)」、「VL1−2」および「VL1−3」は、ノードN間の実時間通信との衝突を回避するために、非実時間データの送信を抑制すべき転送先である。そこで、たとえば、図14に示す送信可能宛先リスト1400を用いて、転送先ごとの非実時間データの送信可否を管理する。   That is, the transfer destinations “0000000002 (physical address)”, “VL1-2”, and “VL1-3” suppress transmission of non-real-time data in order to avoid collision with real-time communication between nodes N. Should be the forwarding destination. Therefore, for example, by using the transmittable destination list 1400 shown in FIG. 14, whether or not non-real time data can be transmitted for each transfer destination is managed.

図14は、送信可能宛先リストの記憶内容の一例を示す説明図(その1)である。図14において、送信可能宛先リスト1400は、転送先ごとに、非実時間データを、送信可能か否かを示す情報(送信可否)を有している。   FIG. 14 is an explanatory diagram (part 1) of an example of the contents stored in the transmittable destination list. In FIG. 14, the transmission destination list 1400 has information (transmission availability) indicating whether or not non-real time data can be transmitted for each transfer destination.

ここでは、送信可否が「可」の場合、転送先に非実時間データを送信可能であることを示している。一方、送信可否が「否」の場合、転送先に非実時間データを送信不能であることを示している。なお、送信可否は、初期状態では「可」である。   Here, when the transmission permission / inhibition is “permitted”, it indicates that the non-real time data can be transmitted to the transfer destination. On the other hand, if the transmission availability is “No”, it indicates that the non-real time data cannot be transmitted to the transfer destination. Note that the transmission permission / inhibition is “possible” in the initial state.

具体的には、たとえば、決定部709が、ノードN間の実時間通信と衝突する転送先の送信可否を「可」から「否」に変更する。ここでは、特定された転送先「0000000002(物理アドレス)」、「VL1−2」および「VL1−3」の送信可否が「可」から「否」に変更されている。   Specifically, for example, the determination unit 709 changes the transmission permission / non-permission of the transfer destination that collides with the real-time communication between the nodes N from “permitted” to “not permitted”. Here, whether or not the specified transfer destinations “0000000002 (physical address)”, “VL1-2”, and “VL1-3” can be transmitted is changed from “permitted” to “not permitted”.

このあと、第2の算出部710は、ノードN間の実時間通信に割り当てられている割当流量を累積して総割当流量を算出する。具体的には、たとえば、第2の算出部710が、実時間通信割当流量テーブル1300を参照して、割当R1〜R4の割当流量を累積した総割当流量を算出する。ここでは、総割当流量は5800[byte]となる。   Thereafter, the second calculation unit 710 calculates the total assigned flow rate by accumulating the assigned flow rate assigned to the real-time communication between the nodes N. Specifically, for example, the second calculation unit 710 refers to the real-time communication allocated flow rate table 1300 to calculate the total allocated flow rate obtained by accumulating the allocated flow rates of the allocations R1 to R4. Here, the total allocated flow rate is 5800 [bytes].

そして、抽出部711は、受信されたデータ群の中から、転送先の送信可否が「可」の非実時間データを抽出する。具体的には、たとえば、抽出部711が、送信可能宛先リスト1400を参照して、送信可否が「可」の転送先を特定する。ここでは、転送先「0000000003(物理アドレス)」および「VL1−4」が特定される。   Then, the extracting unit 711 extracts non-real-time data whose transfer destination transmission permission is “permitted” from the received data group. Specifically, for example, the extraction unit 711 refers to the transmittable destination list 1400 and identifies a transfer destination whose transmission is possible. Here, the transfer destinations “0000000003 (physical address)” and “VL1-4” are specified.

次に、抽出部711が、キュー対応テーブル1000を参照して、特定された転送先のデータキューを特定する。ここでは、転送先「0000000003(物理アドレス)」のデータキューQ2および転送先「VL1−4」のデータキューQ5が特定される。そして、抽出部711が、特定されたデータキュー(ここでは、データキューQ2,Q5)から非実時間データを抽出する。   Next, the extraction unit 711 refers to the queue correspondence table 1000 and identifies the identified data queue of the transfer destination. Here, the data queue Q2 of the transfer destination “0000000003 (physical address)” and the data queue Q5 of the transfer destination “VL1-4” are specified. Then, the extraction unit 711 extracts non-real time data from the specified data queue (here, the data queues Q2 and Q5).

決定部709は、抽出された非実時間データを送信対象となる非実時間データに決定する。ここで、実時間通信の総割当流量よりデータ量が大きい非実時間データを送信対象とすると、次の周期C3の実時間通信と衝突する可能性がある。そこで、決定部709は、抽出された非実時間データのうち、データ量が、算出された総割当流量以下の非実時間データを送信対象となる非実時間データに決定する。   The determination unit 709 determines the extracted non-real time data as non-real time data to be transmitted. Here, if non-real time data having a data amount larger than the total allocated flow rate of real time communication is set as a transmission target, there is a possibility of collision with real time communication in the next cycle C3. Therefore, the determination unit 709 determines non-real time data whose data amount is equal to or less than the calculated total allocated flow rate among the extracted non-real time data as non-real time data to be transmitted.

ただし、単位時間当たりに送信可能な割当流量(図11参照)を超える非実時間データを送信するとデータ喪失の可能性がある。このため、決定部709は、割当流量を超える転送先に対する非実時間データは送信対象に決定しない。   However, there is a possibility of data loss if non-real time data exceeding the allocated flow rate that can be transmitted per unit time (see FIG. 11) is transmitted. For this reason, the determination unit 709 does not determine non-real time data for a transfer destination exceeding the allocated flow rate as a transmission target.

また、送信対象となる非実時間データが存在しない場合、決定部709は、自ノードNに直接接続されたスイッチSW1において破棄される無効データを送信対象に決定する。無効データとしては、たとえば、ポーズ0[s]のイーサネットフレームを用いることができる。   When non-real time data to be transmitted does not exist, the determination unit 709 determines invalid data to be discarded in the switch SW1 directly connected to the own node N as a transmission target. As invalid data, for example, an Ethernet frame with a pause 0 [s] can be used.

この際、決定部709は、実時間通信の総割当流量分の無効データを送信対象に決定することにしてもよい。なお、送信対象となる非実時間データが存在しない場合とは、抽出対象となる非実時間データが存在しない、または、抽出された非実時間データのうち、データ量が総割当流量以下の非実時間データが存在しない場合である。   At this time, the determination unit 709 may determine invalid data corresponding to the total allocated flow rate of real-time communication as a transmission target. Note that the non-real time data to be transmitted does not exist means that there is no non-real time data to be extracted or the non-real time data that has been extracted is a non-real time data that is less than or equal to the total allocated flow rate. This is the case when there is no real-time data.

また、決定部709は、総割当流量以下の非実時間データが複数存在する場合、複数の非実時間データの中から、データ量が最大の非実時間データを送信対象となる非実時間データに決定してもよい。これにより、非実時間データを効率的に送信することができる。   In addition, when there are a plurality of non-real time data equal to or less than the total allocated flow rate, the determining unit 709 transmits non-real time data having the maximum data amount from among the plurality of non-real time data. You may decide to. Thereby, non-real time data can be transmitted efficiently.

次に、(ii)の場合、第2の算出部710は、現時点から所要時間tが経過した時点から、実時間通信の周期開始時点となるまでの残余の時間を算出する。具体的には、たとえば、まず、第2の算出部710が、周期C1(または周期C2)の周期開始時点から、現時点直後の実時間通信の周期開始時点までの経過時間T3を算出する。   Next, in the case of (ii), the second calculation unit 710 calculates the remaining time from the time when the required time t has elapsed from the current time until the start of the real-time communication cycle. Specifically, for example, first, the second calculation unit 710 calculates an elapsed time T3 from the cycle start point of the cycle C1 (or cycle C2) to the cycle start point of real-time communication immediately after the current time point.

そして、第2の算出部710が、算出された経過時間T3から経過時間T2を引くことで、実時間通信の周期開始時点となるまでの残余の時間を算出することができる。なお、経過時間T2は、周期C1(または周期C2)の周期開始時点から現時点までの経過時間T1に所要時間tを足し合わせた経過時間である。   Then, the second calculation unit 710 can calculate the remaining time until the real time communication cycle start time is reached by subtracting the elapsed time T2 from the calculated elapsed time T3. The elapsed time T2 is an elapsed time obtained by adding the required time t to the elapsed time T1 from the cycle start time of the cycle C1 (or cycle C2) to the present time.

また、第2の算出部710は、ネットワーク310の伝送能力に基づいて、残余の時間に送信可能なデータ量を算出する。具体的には、たとえば、第2の算出部710が、下記式(2)を用いて、残余の時間に送信可能なデータ量を算出することができる。ただし、Xは残余の時間に送信可能なデータ量[b]、(T3−T2)は残余の時間[s]、Rはネットワーク310の単位時間当たりの通信速度[bps]である。   The second calculation unit 710 calculates the amount of data that can be transmitted in the remaining time based on the transmission capability of the network 310. Specifically, for example, the second calculation unit 710 can calculate the amount of data that can be transmitted in the remaining time by using the following equation (2). Here, X is the amount of data [b] that can be transmitted in the remaining time, (T3-T2) is the remaining time [s], and R is the communication speed [bps] per unit time of the network 310.

X=(T3−T2)×R ・・・(2)     X = (T3-T2) × R (2)

ここで、残余の時間(T3−T2)を20[μs]とし、ネットワーク310の通信速度Rを1[Gbps]とする。この場合、残余の時間(T3−T2)に送信可能なデータ量Xは、『X=20[μs]×1[Gbps]=20[M(メガ)b]』である。   Here, the remaining time (T3-T2) is set to 20 [μs], and the communication speed R of the network 310 is set to 1 [Gbps]. In this case, the data amount X that can be transmitted in the remaining time (T3−T2) is “X = 20 [μs] × 1 [Gbps] = 20 [M (mega) b]”.

そして、抽出部711は、非実時間データ群の中から、残余の時間に送信可能なデータ量以下の非実時間データを抽出する。具体的には、たとえば、抽出部711が、データキューQ1〜Q5の中から、残余の時間に送信可能なデータ量以下の任意の非実時間データを抽出する。   Then, the extraction unit 711 extracts non-real time data that is less than or equal to the amount of data that can be transmitted in the remaining time from the non-real time data group. Specifically, for example, the extraction unit 711 extracts any non-real time data that is less than or equal to the amount of data that can be transmitted in the remaining time from the data queues Q1 to Q5.

決定部709は、抽出された非実時間データを送信対象となるデータに決定する。この際、決定部709は、抽出された非実時間データが複数存在する場合、複数のデータの中から、データ量が最大の非実時間データを送信対象となる非実時間データに決定してもよい。   The determination unit 709 determines the extracted non-real time data as data to be transmitted. At this time, when there are a plurality of extracted non-real time data, the determination unit 709 determines the non-real time data having the maximum data amount as non-real time data to be transmitted from the plurality of data. Also good.

なお、送信対象となる非実時間データが存在しない場合、決定部709は、自ノードNに直接接続されたスイッチSW1において破棄される無効データを送信対象に決定する。この際、決定部709は、残余の時間に送信可能なデータ量分の無効データを送信対象に決定することにしてもよい。   When there is no non-real time data to be transmitted, the determination unit 709 determines invalid data to be discarded in the switch SW1 directly connected to the own node N as a transmission target. At this time, the determination unit 709 may determine invalid data corresponding to the amount of data that can be transmitted in the remaining time as a transmission target.

また、送信対象として決定された非実時間データは、バッファに格納される。そして、バッファに格納された非実時間データは、送信部704の送信タスクが起動すると、格納順にネットワーク310に送出されることになる。   Further, the non-real time data determined as the transmission target is stored in the buffer. Then, the non-real time data stored in the buffer is sent to the network 310 in the storage order when the transmission task of the transmission unit 704 is activated.

このように、実時間通信と衝突する非実時間データの送信を抑制することにより、実時間通信と非実時間通信との衝突を避けることができる。なお、ネットワークシステム300内で実行される実時間通信が複数存在する場合、各実時間通信の開始時点を考慮して、送信対象となる非実時間データを決定することになる。   In this way, by suppressing transmission of non-real time data that collides with real-time communication, collision between real-time communication and non-real-time communication can be avoided. When there are a plurality of real-time communications executed in the network system 300, the non-real-time data to be transmitted is determined in consideration of the start time of each real-time communication.

決定された決定結果は、図11に示した割当流量/送信済データ量対応テーブル1100に反映される。具体的には、割当流量/送信済データ量対応テーブル1100のうち、送信対象として決定された非実時間データの転送先の送信済データ量が更新される。より具体的には、送信対象として決定された非実時間データのデータ量が、現在の送信済データ量に加算される。   The determined determination result is reflected in the allocation flow rate / transmitted data amount correspondence table 1100 shown in FIG. Specifically, in the allocation flow rate / transmitted data amount correspondence table 1100, the transmitted data amount of the transfer destination of the non-real time data determined as the transmission target is updated. More specifically, the data amount of the non-real time data determined as the transmission target is added to the current transmitted data amount.

また、受信部701は、グループノードGNまたは他の中継ノードJNから実時間通信の流量割当要求を受信する。流量割当要求には、実時間通信の要求流量、通信元アドレスおよび通信先アドレスが含まれている。ここで、要求流量とは、ノードN間の実時間通信のために要求されている流量である。   The receiving unit 701 receives a real-time communication flow rate allocation request from the group node GN or another relay node JN. The flow rate allocation request includes a request flow rate for real-time communication, a communication source address, and a communication destination address. Here, the required flow rate is a flow rate required for real-time communication between the nodes N.

通信元アドレスとは、実時間通信に関するデータ(以下、「実時間データ」という)の送信元アドレスであり、たとえば、送信元のノードNのシステムアドレスである。通信先アドレスとは、実時間データの宛先アドレスであり、たとえば、宛先のノードNのシステムアドレスである。なお、以下の説明では、流量割当要求の送信元(グループノードGNまたは他の中継ノードJN)を「フォワード元」という。   The communication source address is a transmission source address of data related to real time communication (hereinafter referred to as “real time data”), and is, for example, a system address of the node N of the transmission source. The communication destination address is a destination address of real-time data, for example, a system address of the destination node N. In the following description, the source of the flow rate allocation request (group node GN or other relay node JN) is referred to as “forward source”.

判断部712は、実時間通信の流量割当要求を受信した結果、要求流量を割り当て可能か否かを判断する。具体的には、たとえば、まず、判断部712が、実時間通信割当流量テーブル1300を参照して、宛先アドレスが流量割当要求に含まれる宛先アドレスと一致する割当流量の合計(以下、「ノード割当流量合計s」という)を算出する。   The determination unit 712 determines whether the requested flow rate can be allocated as a result of receiving the flow rate allocation request for real-time communication. Specifically, for example, first, the determination unit 712 refers to the real-time communication allocation flow rate table 1300, and sums the allocation flow rate (hereinafter referred to as “node allocation”) whose destination address matches the destination address included in the flow rate allocation request. The total flow rate s ”is calculated.

このあと、判断部712が、ノード割当流量合計sに流量割当要求に含まれる要求流量を加算して仮ノード割当流量合計s’を算出する。そして、判断部712が、仮ノード割当流量合計s’が実時間通信の周期C3の間に送信可能な最大データ量FMAX以下となるか否かを判断する。 Thereafter, the determination unit 712 calculates the provisional node allocation flow total s ′ by adding the requested flow included in the flow allocation request to the node allocation flow total s. Then, the determination unit 712 determines whether or not the temporary node allocation flow total s ′ is equal to or less than the maximum data amount F MAX that can be transmitted during the real-time communication cycle C3.

ここで、仮ノード割当流量合計s’が最大データ量FMAXより大きい場合、送信部704が、割当不可を示す流量割当応答をフォワード元に送信する。すなわち、実時間通信の通信先となるノードNに送信されるデータ量が、周期C3の間に送信可能な最大データ量FMAXを超えてしまうことを回避して、ネットワーク310上でのデータの喪失を防ぐ。 Here, when the temporary node allocation flow total s ′ is larger than the maximum data amount F MAX , the transmission unit 704 transmits a flow allocation response indicating that allocation is impossible to the forward source. That is, the amount of data transmitted to the node N that is the communication destination of real-time communication is prevented from exceeding the maximum data amount F MAX that can be transmitted during the period C3, and the data on the network 310 is avoided. Prevent loss.

一方、仮ノード割当流量合計s’が最大データ量FMAX以下の場合、判断部712が、アドレステーブル500を参照して、流量割当要求に含まれる宛先のシステムアドレスに対応するグループアドレスを特定する。そして、判断部712が、グループ識別テーブル600を参照して、特定されたグループアドレスに対応するグループGを特定する。 On the other hand, when the temporary node allocation flow rate total s ′ is equal to or less than the maximum data amount F MAX , the determination unit 712 refers to the address table 500 and specifies a group address corresponding to the destination system address included in the flow rate allocation request. . Then, the determination unit 712 refers to the group identification table 600 and identifies the group G corresponding to the identified group address.

このあと、判断部712が、特定されたグループGが自グループGか否かを判断する。ここで、自グループGの場合、判断部712が、実時間通信割当流量テーブル1300を参照して、送信元が他グループGかつ宛先が自グループGの実時間通信の割当流量の合計(以下、「割当流量合計S」という)を算出する。   Thereafter, the determination unit 712 determines whether or not the identified group G is the own group G. Here, in the case of the own group G, the determining unit 712 refers to the real-time communication allocation flow rate table 1300 and refers to the total of the real-time communication allocation flow rates of the other group G and the destination is the own group G (hereinafter, “Assigned flow rate total S”) is calculated.

このあと、判断部712が、割当流量合計Sに要求流量を加算して仮割当流量合計S’を算出する。そして、判断部712が、仮割当流量合計S’が実時間通信の周期C3の間に送信可能な最大データ量FMAX以下となるか否かを判断する。 Thereafter, the determination unit 712 adds the required flow rate to the total allocated flow rate S to calculate the temporary allocated flow total S ′. Then, the determination unit 712 determines whether or not the total temporarily allocated flow rate S ′ is equal to or less than the maximum data amount F MAX that can be transmitted during the real-time communication cycle C3.

ここで、仮割当流量合計S’が最大データ量FMAXより大きい場合、送信部704が、割当不可を示す流量割当応答をフォワード元に送信する。すなわち、自グループGに送信されるデータ量が、周期C3の間に送信可能な最大データ量FMAXを超えてしまうことを回避して、ネットワーク310上でのデータの喪失を防ぐ。 Here, when the temporary allocation flow rate total S ′ is larger than the maximum data amount F MAX , the transmission unit 704 transmits a flow rate allocation response indicating that allocation is impossible to the forward source. That is, the loss of data on the network 310 is prevented by avoiding that the amount of data transmitted to the own group G exceeds the maximum data amount F MAX that can be transmitted during the period C3.

一方、仮割当流量合計S’が最大データ量FMAX以下の場合、判断部712が、実時間通信に要求流量を割り当てると判断する。そして、判断部712が、流量割当要求に含まれる要求流量、送信元アドレスおよび宛先アドレスを実時間通信割当流量テーブル1300に設定して、新たな実時間通信情報をレコードとして登録する。なお、送信元および宛先のノードNのグループアドレスは、送信元および宛先のシステムアドレスを用いてアドレステーブル500から特定される。最後に、送信部704が、割当可を示す流量割当応答をフォワード元に送信する。 On the other hand, when the temporary allocation flow rate total S ′ is equal to or less than the maximum data amount F MAX , the determination unit 712 determines to allocate the required flow rate for real-time communication. Then, the determination unit 712 sets the requested flow rate, the transmission source address, and the destination address included in the flow rate allocation request in the real time communication allocation flow rate table 1300, and registers new real time communication information as a record. Note that the group addresses of the source and destination node N are specified from the address table 500 using the source and destination system addresses. Finally, the transmission unit 704 transmits a flow rate allocation response indicating that allocation is possible to the forward source.

一方、特定されたグループGが他グループGの場合、判断部712が、実時間通信割当流量テーブル1300を参照して、送信元が自グループGかつ宛先が他グループGの実時間通信の割当流量合計Sを算出する。なお、特定されたグループGとは、流量割当要求に含まれる宛先のシステムアドレスに対応するグループアドレスから特定されたグループGである。   On the other hand, when the specified group G is another group G, the determination unit 712 refers to the real-time communication allocation flow rate table 1300, and allocates the real-time communication allocation flow rate of the source group G and the destination of the other group G. The total S is calculated. The specified group G is the group G specified from the group address corresponding to the destination system address included in the flow rate allocation request.

このあと、判断部712が、割当流量合計Sに要求流量を加算して仮割当流量合計S’を算出する。そして、判断部712が、仮割当流量合計S’が実時間通信の周期C3の間に送信可能な最大データ量FMAX以下となるか否かを判断する。 Thereafter, the determination unit 712 adds the required flow rate to the total allocated flow rate S to calculate the temporary allocated flow total S ′. Then, the determination unit 712 determines whether or not the total temporarily allocated flow rate S ′ is equal to or less than the maximum data amount F MAX that can be transmitted during the real-time communication cycle C3.

ここで、仮割当流量合計S’が最大データ量FMAXより大きい場合、送信部704が、割当不可を示す流量割当応答をフォワード元に送信する。すなわち、自グループGから他グループGに送信されるデータ量が、周期C3の間に送信可能な最大データ量FMAXを超えてしまうことを回避して、ネットワーク310上でのデータの喪失を防ぐ。 Here, when the temporary allocation flow rate total S ′ is larger than the maximum data amount F MAX , the transmission unit 704 transmits a flow rate allocation response indicating that allocation is impossible to the forward source. That is, the amount of data transmitted from the own group G to the other group G is prevented from exceeding the maximum data amount F MAX that can be transmitted during the period C3, and data loss on the network 310 is prevented. .

一方、仮割当流量合計S’が最大データ量FMAX以下の場合、送信部704が、アドレステーブル500を参照して、特定されたグループGの中継ノードJNに流量割当要求を送信する。このあと、受信部701が、割当不可を示す流量割当応答を中継ノードJNから受信した場合、送信部704が、割当不可を示す流量割当応答をフォワード元に送信する。 On the other hand, when the temporary allocation flow total S ′ is equal to or less than the maximum data amount F MAX , the transmission unit 704 transmits a flow allocation request to the identified relay node JN of the group G with reference to the address table 500. Thereafter, when the receiving unit 701 receives a flow rate allocation response indicating that allocation is not possible from the relay node JN, the transmission unit 704 transmits a flow rate allocation response indicating that allocation is not possible to the forward source.

一方、受信部701が、割当可を示す流量割当応答を中継ノードJNから受信した場合、判断部712が、実時間通信に要求流量を割り当てると判断する。そして、判断部712が、流量割当要求に含まれる要求流量、送信元アドレスおよび宛先アドレスを実時間通信割当流量テーブル1300に設定して、新たな実時間通信情報をレコードとして登録する。   On the other hand, when the reception unit 701 receives a flow rate allocation response indicating that allocation is possible from the relay node JN, the determination unit 712 determines that the requested flow rate is allocated to real-time communication. Then, the determination unit 712 sets the requested flow rate, the transmission source address, and the destination address included in the flow rate allocation request in the real time communication allocation flow rate table 1300, and registers new real time communication information as a record.

これにより、実時間通信の流量割当要求に対してネットワーク310の伝送能力を超えた流量割当を回避し、スイッチSW1〜SW4等の通信途中でデータが破棄されることを防いで、実時間通信の通信品質を確保することができる。   This avoids flow allocation exceeding the transmission capacity of the network 310 in response to a flow allocation request for real-time communication, prevents data from being discarded during communication of the switches SW1 to SW4, etc. Communication quality can be ensured.

(グループノードGNの機能的構成)
つぎに、グループノードGNの機能的構成について説明する。図15は、グループノードの機能的構成を示すブロック図である。図15において、グループノードGNは、受信部1501と、検出部1502と、送信部1503と、割当部1504と、第1の算出部1505と、判定部1506と、決定部1507と、抽出部1508と、第2の算出部1509と、を含む構成である。
(Functional configuration of group node GN)
Next, a functional configuration of the group node GN will be described. FIG. 15 is a block diagram showing a functional configuration of the group node. In FIG. 15, the group node GN includes a receiving unit 1501, a detecting unit 1502, a transmitting unit 1503, an assigning unit 1504, a first calculating unit 1505, a determining unit 1506, a determining unit 1507, and an extracting unit 1508. And a second calculation unit 1509.

各機能部(受信部1501〜第2の算出部1509)は、具体的には、たとえば、図4に示したROM402、RAM403、磁気ディスク、光ディスクなどの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F404により、その機能を実現する。なお、以下の説明において、グループノードGNの各機能部(受信部1501〜第2の算出部1509)の具体例を説明する場合、ネットワークシステム300内のノードN2をグループノードGNとして想定する。   Specifically, each function unit (reception unit 1501 to second calculation unit 1509) executes the program stored in the storage device such as the ROM 402, the RAM 403, the magnetic disk, and the optical disk illustrated in FIG. Or the function is realized by the I / F 404. In the following description, when a specific example of each functional unit (receiving unit 1501 to second calculating unit 1509) of the group node GN is described, the node N2 in the network system 300 is assumed as the group node GN.

受信部1501は、各種データを受信する。各種データは、たとえば、同期パケット、非実時間通信の流量割当結果、実時間通信の流量割当結果、実時間通信の流量割当応答、実時間データおよび非実時間データなどである。   The receiving unit 1501 receives various data. The various data are, for example, a synchronization packet, a flow allocation result of non-real time communication, a flow allocation result of real time communication, a flow allocation response of real time communication, real time data, and non-real time data.

検出部1502は、ネットワーク310内のノードN1〜N12間で時刻同期を取るための周期開始時点を検出する。具体的には、検出部1502が、中継ノードJNから同期パケットを受信した結果、同期パケットの受信時刻を周期C1の周期開始時点として検出する。   The detection unit 1502 detects a cycle start point for time synchronization between the nodes N1 to N12 in the network 310. Specifically, as a result of receiving the synchronization packet from relay node JN, detection unit 1502 detects the reception time of the synchronization packet as the period start time of period C1.

送信部1503は、実時間データを送信する。具体的には、たとえば、送信部1503が、データ群の中から送信対象として順次決定される実時間データを、他のグループノードGNに送信する。ここで、データ群は、たとえば、データキューに保持されている実時間データおよび非実時間データの集合である。また、送信対象となる実時間データは、後述する決定部1507によって順次決定されてバッファに格納されている。   The transmission unit 1503 transmits real-time data. Specifically, for example, the transmission unit 1503 transmits real-time data sequentially determined as a transmission target from the data group to other group nodes GN. Here, the data group is, for example, a set of real-time data and non-real-time data held in the data queue. Further, real-time data to be transmitted is sequentially determined by a determination unit 1507 described later and stored in a buffer.

また、送信部1503は、非実時間データを送信する。具体的には、たとえば、送信部1503が、データ群の中から送信対象として順次決定される非実時間データを、中継ノードJNに送信する。ここで、送信対象となる非実時間データは、後述する決定部1507によって順次決定されてバッファに格納されている。   The transmission unit 1503 transmits non-real time data. Specifically, for example, the transmission unit 1503 transmits non-real time data sequentially determined as a transmission target from the data group to the relay node JN. Here, the non-real-time data to be transmitted is sequentially determined by a determination unit 1507 described later and stored in the buffer.

送信部1503の実時間データおよび非実時間データの送信処理は、周期C1の周期開始時点を基点として周期C2で周期的に実行される。具体的には、周期C2の時間間隔で送信タスクが起動され、バッファに格納されている実時間データまたは非実時間データが格納順に読み出されてネットワーク310に送出される。この際、バッファ内のデータ列が、たとえば、図2に示したデータ列210のように整形されているため、周期C3の時間間隔で実時間データが送信される。   The transmission processing of the real-time data and the non-real-time data by the transmission unit 1503 is periodically executed in the cycle C2 with the cycle start point of the cycle C1 as a base point. Specifically, a transmission task is activated at a time interval of the period C2, and real-time data or non-real-time data stored in the buffer is read in the storage order and sent to the network 310. At this time, since the data string in the buffer is shaped like, for example, the data string 210 shown in FIG. 2, real-time data is transmitted at time intervals of the period C3.

なお、非実時間データの宛先は、たとえば、図16に示す宛先/転送先対応テーブル1600を参照して設定される。図16は、宛先/転送先対応テーブルの具体例を示す説明図(その2)である。図16において、宛先/転送先対応テーブル1600には、宛先アドレスと転送先とが対応付けて記憶されている。   Note that the destination of the non-real time data is set with reference to the destination / transfer destination correspondence table 1600 shown in FIG. 16, for example. FIG. 16 is an explanatory diagram (part 2) of a specific example of the destination / transfer destination correspondence table. In FIG. 16, the destination / transfer destination correspondence table 1600 stores destination addresses and transfer destinations in association with each other.

ここで、宛先アドレスとは、非実時間データの最終的な宛先として指定される論理宛先アドレスである。ここでは、宛先アドレスとして、ノードNのグループアドレスが設定されている。転送先とは、非実時間データの転送先である。ここでは、転送先として、グループノードGNまたは中継ノードJNの物理アドレスが設定されている。   Here, the destination address is a logical destination address designated as the final destination of non-real time data. Here, the group address of the node N is set as the destination address. A transfer destination is a transfer destination of non-real-time data. Here, the physical address of the group node GN or the relay node JN is set as the transfer destination.

たとえば、自グループG1のグループノードN3に非実時間データを送信する場合、物理宛先アドレスとしてグループノードN3の物理アドレスが設定される。一方、他グループG2のグループノードN5に非実時間データを送信する場合、物理宛先アドレスとして中継ノードN1の物理アドレスが設定され、論理宛先アドレスとしてグループノードN5のグループアドレスが設定される。   For example, when non-real time data is transmitted to the group node N3 of the own group G1, the physical address of the group node N3 is set as the physical destination address. On the other hand, when transmitting non-real-time data to the group node N5 of the other group G2, the physical address of the relay node N1 is set as the physical destination address, and the group address of the group node N5 is set as the logical destination address.

図15の説明に戻り、割当部1504は、受信された非実時間通信の流量割当結果を、グループノードGNと中継ノードJNとをつなぐ経路に割り当てる。具体的には、たとえば、割当部1504が、自ノードと中継ノードJNとをつなぐ物理リンクと流量割当結果とを関連付けて保持する。   Returning to the description of FIG. 15, the allocation unit 1504 allocates the received flow allocation result of non-real-time communication to the path connecting the group node GN and the relay node JN. Specifically, for example, the allocation unit 1504 holds the physical link that connects the node and the relay node JN in association with the flow rate allocation result.

また、送信部1503は、実時間通信の流量割当要求を中継ノードJNに送信する。ここで、実時間通信の流量割当要求とは、自ノードNを通信元とする実時間通信に必要となる流量の割当要求である。実時間通信の流量割当要求には、要求流量を表す情報、実時間通信の通信元(自ノード)のシステムアドレス、および実時間通信の通信先(他のグループノードGN)のシステムアドレスが含まれている。   In addition, the transmission unit 1503 transmits a flow rate allocation request for real-time communication to the relay node JN. Here, the flow rate allocation request for real-time communication is a flow rate allocation request required for real-time communication using the node N as a communication source. The real-time communication flow rate allocation request includes information indicating the requested flow rate, the system address of the real-time communication source (local node), and the system address of the real-time communication destination (other group node GN). ing.

なお、実時間通信の流量割当要求が送信された結果、要求流量の割当可を示す情報を含む流量割当応答が受信されると、たとえば、図17に示す実時間通信割当流量テーブル1700に記憶される。また、実時間通信の流量割当結果が受信されると、実時間通信割当流量テーブル1700に記憶される。   When a flow rate allocation response including information indicating that the requested flow rate can be allocated is received as a result of the transmission of the real time communication flow rate allocation request, for example, it is stored in the real time communication allocated flow rate table 1700 shown in FIG. The When the flow allocation result of real time communication is received, it is stored in the real time communication allocated flow table 1700.

図17は、実時間通信割当流量テーブルの記憶内容の一例を示す説明図(その2)である。図17において、実時間通信割当流量テーブル1700は、割当ID、割当流量、送信元アドレスおよび宛先アドレスの項目を有し、各項目に情報を設定することで、実時間通信情報1600−1をレコードとして記憶している。   FIG. 17 is an explanatory diagram (part 2) of an example of the stored contents of the real-time communication allocation flow rate table. In FIG. 17, a real-time communication allocation flow rate table 1700 has items of allocation ID, allocation flow rate, transmission source address, and destination address, and records information on real-time communication information 1600-1 by setting information in each item. Remember as.

実時間通信割当流量テーブル1700では、自ノードNを実時間通信の通信元または通信先とする実時間通信情報が管理される。ここでは、自ノードNであるノードN2を通信先(宛先)とする実時間通信情報1700−1が記憶されている。   The real-time communication allocation flow rate table 1700 manages real-time communication information in which the own node N is a communication source or communication destination of real-time communication. Here, real-time communication information 1700-1 with the node N2, which is its own node N, as the communication destination (destination) is stored.

なお、流量割当応答を受信した結果、割当不可の場合、グループノードGNが自律的に実時間通信の要求流量を減らしてもよいか否かを判断することにしてもよい。実時間通信の要求流量を減らしてもよい場合としては、たとえば、実時間通信の要求流量が実際に必要となる流量より多い場合や、動画データ等の転送時にビットレートを下げても問題がない場合などがある。この場合、送信部1503が、実時間通信の要求流量を前回の要求流量よりも減らした流量割当要求を中継ノードJNに再送することになる。   In addition, when allocation is impossible as a result of receiving the flow rate allocation response, the group node GN may autonomously determine whether or not the real-time communication required flow rate may be reduced. For example, if the requested flow rate for real-time communication can be reduced, there is no problem if the requested flow rate for real-time communication is greater than the actual required flow rate or the bit rate can be reduced when transferring video data, etc. There are cases. In this case, the transmission unit 1503 retransmits to the relay node JN a flow rate allocation request in which the request flow rate for real-time communication is less than the previous request flow rate.

第1の算出部1505は、ネットワーク310の伝送能力に基づいて、実時間データおよび非実時間データの送信処理の周期開始時点から現時点までに送信対象として順次決定されたデータ列の送信にかかる所要時間tを算出する。具体的には、たとえば、第1の算出部1505が、上記式(1)を用いて、データ列の送信にかかる所要時間tを算出することができる。   Based on the transmission capability of the network 310, the first calculation unit 1505 is required for transmission of a data string sequentially determined as a transmission target from the start of the cycle of transmission processing of real-time data and non-real-time data. Time t is calculated. Specifically, for example, the first calculation unit 1505 can calculate the required time t required to transmit the data string using the above equation (1).

判定部1506は、現時点から、算出された所要時間tが経過した時点が、複数のノード群のいずれかのノードN間で周期的に実行される実時間通信の周期開始時点と一致するか否かを判定する。具体的には、たとえば、判定部1506が、周期C2(または周期C1)の周期開始時点から現時点までの経過時間T1に所要時間tを足し合わせた経過時間T2が、「0」または「周期C3の定数倍」か否かを判定する。   The determination unit 1506 determines whether or not the time when the calculated required time t has elapsed from the current time coincides with the period start time of the real-time communication that is periodically executed between any of the nodes N of the plurality of node groups. Determine whether. Specifically, for example, the elapsed time T2 obtained by adding the required time t to the elapsed time T1 from the cycle start point of the cycle C2 (or cycle C1) to the current time is “0” or “cycle C3”. It is determined whether or not it is “a constant multiple of”.

決定部1507は、判定された判定結果に基づいて、データ群の中から送信対象となるデータを決定する。ここで、データ群は、実時間データおよび非実時間データの集合である。具体的には、たとえば、決定部1507が、実時間通信割当流量テーブル1700を参照して、実時間通信の通信元となるノードNのグループアドレスを特定する。ここでは、ノードN6のグループアドレス「172.xxx.2.3」が特定される。   The determination unit 1507 determines data to be transmitted from the data group based on the determined determination result. Here, the data group is a set of real-time data and non-real-time data. Specifically, for example, the determination unit 1507 refers to the real-time communication allocation flow rate table 1700 and specifies the group address of the node N that is the communication source of real-time communication. Here, the group address “172.xxx.2.3” of the node N6 is specified.

次に、決定部1507が、特定されたグループアドレスと自ノードNのグループアドレスとを比較して、実時間通信の通信元が自ノードNか否かを判断する。ここで、通信元が自ノードNの場合、決定部1507が、実時間通信の通信先(宛先)のデータキューの先頭の実時間データを送信対象に決定する。   Next, the determination unit 1507 compares the identified group address with the group address of the own node N, and determines whether or not the communication source of the real-time communication is the own node N. Here, when the communication source is the own node N, the determination unit 1507 determines the real time data at the head of the data queue of the communication destination (destination) of the real time communication as a transmission target.

ここでは、実時間通信の通信元は自ノードNではない。この場合、決定部1507が、実時間通信割当流量テーブル1700を参照して、実時間通信の通信先となるノードNのグループアドレスを特定する。ここでは、ノードN2のグループアドレス「172.xxx.1.2」が特定される。   Here, the communication source of the real-time communication is not the own node N. In this case, the determination unit 1507 refers to the real-time communication allocation flow rate table 1700 and specifies the group address of the node N that is the communication destination of real-time communication. Here, the group address “172.xxx.1.2” of the node N2 is specified.

次に、抽出部1508が、宛先/転送先テーブル対応1500を参照して、特定されたグループアドレスから転送先を特定する。ここで特定される転送先(経路)は、ノードN間の実時間通信と衝突する転送先(経路)である。すなわち、ここで特定される転送先は、ノードN間の実時間通信との衝突を回避するために、非実時間データの送信を抑制すべき転送先である。そこで、たとえば、図18に示す送信可能宛先リスト1800を用いて、転送先ごとの非実時間データの送信可否を管理する。   Next, the extraction unit 1508 refers to the destination / transfer destination table correspondence 1500 and specifies the transfer destination from the specified group address. The transfer destination (route) specified here is a transfer destination (route) that collides with real-time communication between the nodes N. That is, the transfer destination specified here is a transfer destination for which transmission of non-real time data should be suppressed in order to avoid a collision with the real time communication between the nodes N. Therefore, for example, by using a transmittable destination list 1800 shown in FIG. 18, whether or not non-real time data can be transmitted for each transfer destination is managed.

図18は、送信可能宛先リストの記憶内容の一例を示す説明図(その2)である。図18において、送信可能宛先リスト1800は、転送先ごとに、非実時間データを、送信可能か否かを示す情報(送信可否)を有している。   FIG. 18 is an explanatory diagram (part 2) of an example of the contents stored in the transmittable destination list. In FIG. 18, the transmission destination list 1800 has information (transmission availability) indicating whether or not non-real time data can be transmitted for each transfer destination.

具体的には、たとえば、決定部1507が、ノードN間の実時間通信と衝突する転送先の送信可否を「可」から「否」に変更する。ただし、ここでは、ノードN2は自ノードNのため転送先は非特定となる。したがって、送信可能宛先リスト1800の送信可否に変更はない。   Specifically, for example, the determination unit 1507 changes the transmission availability of the transfer destination that collides with the real-time communication between the nodes N from “available” to “not available”. However, since the node N2 is its own node N, the transfer destination is not specified here. Therefore, there is no change in whether transmission is possible in the transmission destination list 1800.

このあと、第2の算出部1509は、周期C1(または周期C2)の周期開始時点から現時点までに送信対象として決定されたデータ列のデータ量(送信済データ量)に基づいて、中継ノードJNとの間をつなぐ経路を使用して送信可能なデータ量を算出する。具体的には、たとえば、第2の算出部1509が、中継ノードJNとの間をつなぐ経路に割り当てられた割当流量から送信済データ量を引いて送信可能なデータ量(以下、「残余の割当流量」という)を算出する。   Thereafter, the second calculation unit 1509 determines the relay node JN based on the data amount (transmitted data amount) of the data string determined as the transmission target from the cycle start time of the cycle C1 (or cycle C2) to the present time. The amount of data that can be transmitted is calculated using a path connecting between and. Specifically, for example, the second calculation unit 1509 subtracts the transmitted data amount from the allocated flow rate allocated to the route connecting to the relay node JN and transmits the data amount (hereinafter, “residual allocation”). Flow rate)).

そして、抽出部1508は、データ群の中から、転送先の送信可否が「可」、かつ、算出された残余の割当流量以下のデータを抽出する。具体的には、たとえば、抽出部1508が、宛先/転送先対応テーブル1600を参照して、送信可否が「可」の転送先を特定する。ここでは、転送先「0000000001(物理アドレス)」および「0000000003(物理アドレス)」が特定される。   Then, the extraction unit 1508 extracts, from the data group, data that indicates whether or not the transmission destination can be transmitted and that is equal to or less than the calculated remaining allocated flow rate. Specifically, for example, the extraction unit 1508 refers to the destination / transfer destination correspondence table 1600 and identifies a transfer destination whose transmission is possible. Here, transfer destinations “0000000001 (physical address)” and “0000000003 (physical address)” are specified.

次に、抽出部1508が、特定された転送先のデータキューに入っている非実時間データを抽出する。決定部1507は、抽出された非実時間データを送信対象となる非実時間データに決定する。この際、決定部1507は、抽出された非実時間データのうち、データ量が、算出された残余の割当流量以下の非実時間データを送信対象となる非実時間データに決定する。   Next, the extraction unit 1508 extracts non-real-time data in the specified transfer destination data queue. The determination unit 1507 determines the extracted non-real time data as non-real time data to be transmitted. At this time, the determination unit 1507 determines, among the extracted non-real time data, non-real time data whose data amount is equal to or less than the calculated remaining allocated flow rate as non-real time data to be transmitted.

また、決定部1507は、残余の割当流量以下の非実時間データが複数存在する場合、複数のデータの中から、データ量が最大の非実時間データを送信対象となる非実時間データに決定してもよい。   In addition, when there are a plurality of non-real time data below the remaining allocated flow rate, the determination unit 1507 determines the non-real time data with the largest data amount as non-real time data to be transmitted from the plurality of data. May be.

なお、送信対象となる非実時間データが存在しない場合、決定部1507は、自ノードNに直接接続されたスイッチSW1において破棄される無効データを送信対象に決定する。この際、決定部1507は、残余の割当流量分の無効データを送信対象に決定することにしてもよい。   If there is no non-real time data to be transmitted, the determination unit 1507 determines invalid data to be discarded in the switch SW1 directly connected to the own node N as a transmission target. At this time, the determination unit 1507 may determine invalid data corresponding to the remaining allocated flow rate as a transmission target.

次に、(ii)の場合、第2の算出部1509は、現時点から所要時間tが経過した時点から、実時間通信の開始時点となるまでの残余の時間を算出する。具体的には、たとえば、まず、第2の算出部1509が、周期C2(または周期C1)の周期開始時点から、現時点直後の実時間通信の開始時点までの経過時間T3を算出する。   Next, in the case of (ii), the second calculation unit 1509 calculates the remaining time from when the required time t has elapsed from the current time until the start time of real-time communication. Specifically, for example, first, the second calculation unit 1509 calculates the elapsed time T3 from the cycle start time of the cycle C2 (or cycle C1) to the start time of real-time communication immediately after the current time.

そして、第2の算出部1509が、算出された経過時間T3から経過時間T2を引くことで、実時間通信の開始時点となるまでの残余の時間を算出することができる。なお、経過時間T2は、周期C2(または周期C1)の周期開始時点から現時点までの経過時間T1に所要時間tを足し合わせた経過時間である。   Then, the second calculation unit 1509 can calculate the remaining time until the start time of the real-time communication is reached by subtracting the elapsed time T2 from the calculated elapsed time T3. The elapsed time T2 is an elapsed time obtained by adding the required time t to the elapsed time T1 from the cycle start point of the cycle C2 (or cycle C1) to the present time.

また、第2の算出部1509は、ネットワーク310の伝送能力に基づいて、残余の時間に送信可能なデータ量を算出する。具体的には、たとえば、第2の算出部1509が、上記式(2)を用いて、残余の時間に送信可能なデータ量を算出することができる。   The second calculation unit 1509 calculates the amount of data that can be transmitted in the remaining time based on the transmission capability of the network 310. Specifically, for example, the second calculation unit 1509 can calculate the amount of data that can be transmitted in the remaining time using the above equation (2).

そして、抽出部1508は、データ群の中から、残余の時間に送信可能なデータ量以下のデータを抽出する。具体的には、たとえば、抽出部1508が、データキューの中から、残余の時間に送信可能なデータ量以下の任意の非実時間データを抽出する。   Then, the extraction unit 1508 extracts, from the data group, data equal to or less than the data amount that can be transmitted in the remaining time. Specifically, for example, the extraction unit 1508 extracts any non-real time data that is less than or equal to the amount of data that can be transmitted in the remaining time from the data queue.

決定部1507は、抽出された非実時間データを送信対象となる非実時間データに決定する。この際、決定部1507は、抽出された非実時間データが複数存在する場合、複数のデータの中から、データ量が最大の非実時間データを送信対象となる非実時間データに決定してもよい。   The determination unit 1507 determines the extracted non-real time data as non-real time data to be transmitted. At this time, when there are a plurality of extracted non-real time data, the determination unit 1507 determines the non-real time data having the maximum data amount as non-real time data to be transmitted from the plurality of data. Also good.

ただし、単位時間当たりに送信可能な割当流量を超える非実時間データを送信するとデータ喪失の可能性がある。このため、決定部1507は、残余の時間に送信可能なデータ量以下であっても、割当流量を超える非実時間データは送信対象に決定しない。また、決定された決定結果は、送信済データ量としてRAM403などの記憶領域に記憶される。   However, there is a possibility of data loss if non-real time data exceeding the allocated flow rate that can be transmitted per unit time is transmitted. For this reason, the determination unit 1507 does not determine non-real time data exceeding the allocated flow rate as a transmission target even if the amount of data is less than or equal to the amount of data that can be transmitted in the remaining time. The determined determination result is stored in a storage area such as the RAM 403 as the transmitted data amount.

なお、送信対象となる非実時間データが存在しない場合、決定部1507は、自ノードNに直接接続されたスイッチSW1において破棄される無効データを送信対象に決定する。この際、決定部1507は、残余の時間に送信可能なデータ量分の無効データを送信対象に決定することにしてもよい。   If there is no non-real time data to be transmitted, the determination unit 1507 determines invalid data to be discarded in the switch SW1 directly connected to the own node N as a transmission target. At this time, the determination unit 1507 may determine invalid data for the amount of data that can be transmitted in the remaining time as a transmission target.

なお、送信対象として決定された実時間データおよび非実時間データは、バッファに格納される。そして、バッファに格納された実時間データおよび非実時間データは、送信タスクが起動すると格納順にネットワーク310に送出されることになる。このように、実時間通信と衝突する非実時間データの送信を抑制することにより、実時間通信と非実時間通信との衝突を避けることができる。   Note that the real-time data and non-real-time data determined as transmission targets are stored in the buffer. The real time data and non-real time data stored in the buffer are sent to the network 310 in the order of storage when the transmission task is activated. In this way, by suppressing transmission of non-real time data that collides with real-time communication, collision between real-time communication and non-real-time communication can be avoided.

(中継ノードJNの通信処理手順)
つぎに、中継ノードJNの通信処理手順について説明する。ただし、中継ノードJN間の仮想リンクVLは予め設定されている場合を想定する。図19は、中継ノードの通信処理手順の一例を示すフローチャートである。図19のフローチャートにおいて、まず、検出部705により、自ノードNが起動してから周期C1の1周期経過したか否かを判断する(ステップS1901)。
(Communication procedure of relay node JN)
Next, a communication processing procedure of the relay node JN will be described. However, it is assumed that the virtual link VL between the relay nodes JN is set in advance. FIG. 19 is a flowchart illustrating an example of a communication processing procedure of the relay node. In the flowchart of FIG. 19, first, the detection unit 705 determines whether one cycle of the cycle C1 has elapsed since the start of the node N (step S1901).

ここで、1周期経過していない場合(ステップS1901:No)、受信部701により、他の中継ノードJNから同期パケットを受信したか否かを判断する(ステップS1902)。そして、同期パケットを未受信の場合(ステップS1902:No)、ステップS1901に戻る。   If one cycle has not elapsed (step S1901: NO), the receiving unit 701 determines whether a synchronization packet has been received from another relay node JN (step S1902). If no synchronization packet has been received (step S1902: NO), the process returns to step S1901.

一方、同期パケットを受信した場合(ステップS1902:Yes)、検出部705により、同期パケットの受信時刻を周期C1の周期開始時点として検出する(ステップS1903)。また、ステップS1901において、1周期経過した場合(ステップS1901:Yes)、現時点を周期C1の周期開始時点として検出する(ステップS1904)。   On the other hand, when the synchronization packet is received (step S1902: Yes), the detection unit 705 detects the reception time of the synchronization packet as the cycle start time of the cycle C1 (step S1903). If one cycle has elapsed in step S1901 (step S1901: Yes), the current time point is detected as the cycle start point of cycle C1 (step S1904).

そして、送信部704により、他の中継ノードJNに同期パケットを送信する(ステップS1905)。次に、検出部705により、現時点が周期C1の周期開始時点か否かを判断する(ステップS1906)。なお、現時点が周期C1の周期開始時点か否かを判断するための具体的な処理内容については後述する。   Then, the transmission unit 704 transmits a synchronization packet to another relay node JN (step S1905). Next, the detection unit 705 determines whether or not the current time is the cycle start time of the cycle C1 (step S1906). Specific processing contents for determining whether or not the current time point is the cycle start time point of the cycle C1 will be described later.

ここで、周期C1の周期開始時点ではない場合(ステップS1906:No)、ステップS1914に移行する。一方、周期C1の周期開始時点の場合(ステップS1906:Yes)、割当部706により、ネットワーク310の伝送能力に基づいて、自グループG内のグループノードGNに非実時間通信の流量を割り当てる(ステップS1907)。そして、割当部706により、グループノードGNの流量割当結果を割当流量/送信済データ量対応テーブル1100に登録する(ステップS1908)。   Here, when it is not the period start time of the period C1 (step S1906: No), the process proceeds to step S1914. On the other hand, in the case of the cycle start time of the cycle C1 (step S1906: Yes), the allocating unit 706 allocates the non-real-time communication flow rate to the group node GN in the own group G based on the transmission capability of the network 310 (step S1906: Yes). S1907). Then, the allocation unit 706 registers the flow rate allocation result of the group node GN in the allocated flow rate / transmitted data amount correspondence table 1100 (step S1908).

また、割当部706により、ネットワーク310の伝送能力に基づいて、他の中継ノードJNとの間の仮想リンクVLに非実時間通信の流量を割り当てる(ステップS1909)。そして、割当部706により、仮想リンクVLの流量割当結果を割当流量/送信済データ量対応テーブル1100に登録する(ステップS1910)。   Also, the allocation unit 706 allocates a non-real-time communication flow rate to the virtual link VL with another relay node JN based on the transmission capability of the network 310 (step S1909). Then, the allocation unit 706 registers the flow rate allocation result of the virtual link VL in the allocation flow rate / transmitted data amount correspondence table 1100 (step S1910).

このあと、送信部704により、グループノードGNに同期パケットおよびグループノードGNの流量割当結果を送信する(ステップS1911)。また、送信部704により、他の中継ノードJNに同期パケットおよび他の中継ノードJNの流量割当結果を送信する(ステップS1912)。   Thereafter, the transmission unit 704 transmits the synchronization packet and the flow rate allocation result of the group node GN to the group node GN (step S1911). In addition, the transmission unit 704 transmits the synchronization packet and the flow rate allocation result of the other relay node JN to the other relay node JN (step S1912).

次に、検出部705により、周期C1の周期開始時点を修正する周期開始時点修正処理を実行する(ステップS1913)。そして、送信部704により、仮想リンクVLを介して、他の中継ノードJNに非実時間データを転送するための転送制御処理を実行する(ステップS1914)。   Next, the detection unit 705 executes a cycle start time correction process for correcting the cycle start time of the cycle C1 (step S1913). Then, the transmission unit 704 executes a transfer control process for transferring the non-real time data to the other relay node JN via the virtual link VL (step S1914).

このあと、検出部705により、ネットワークシステム300の停止指示があったか否かを判断する(ステップS1915)。なお、ネットワークシステム300の停止指示は、たとえば、ネットワーク310を介して、外部のコンピュータ装置から受け付ける。   Thereafter, the detection unit 705 determines whether or not there is an instruction to stop the network system 300 (step S1915). Note that an instruction to stop the network system 300 is received from an external computer device via the network 310, for example.

ここで、停止指示がない場合(ステップS1915:No)、現時点が周期C2の周期開始時点となるまで待って(ステップS1916:No)、周期C2の周期開始時点となった場合(ステップS1916:Yes)、ステップS1906に戻る。一方、停止指示があった場合(ステップS1915:Yes)、本フローチャートによる一連の処理を終了する。   Here, when there is no stop instruction (step S1915: No), the process waits until the current time becomes the cycle start time of the cycle C2 (step S1916: No), and when the cycle start time of the cycle C2 comes (step S1916: Yes). ), The process returns to step S1906. On the other hand, when there is a stop instruction (step S1915: Yes), a series of processes according to this flowchart is ended.

ここで、ステップS1906において、現時点が周期C1の周期開始時点か否かを判断する具体的な処理内容の一例を説明する。ここでは、周期C1の時間間隔と周期C2の時間間隔との比率を「周期C1:周期C2=N:1」とする。また、周期C2のループ回数をnとする(ただし、nの初期値は「n=0」)。この場合、検出部705が、(n+1)をNで除算した値の余りが0の場合、現時点が周期C1の周期開始時点と判断する。   Here, an example of specific processing contents for determining whether or not the current time point is the cycle start time point of the cycle C1 in step S1906 will be described. Here, the ratio between the time interval of the cycle C1 and the time interval of the cycle C2 is “cycle C1: cycle C2 = N: 1”. In addition, the number of loops in the cycle C2 is n (where n is an initial value “n = 0”). In this case, when the remainder of the value obtained by dividing (n + 1) by N is 0, the detection unit 705 determines that the current time is the cycle start time of the cycle C1.

<周期開始時点修正処理>
次に、図19に示したステップS1913の周期開始時点修正処理の具体的な処理手順について説明する。図20は、ステップS1913の周期開始時点修正処理の具体的処理手順の一例を示すフローチャートである。
<Cyclic start time correction process>
Next, a specific processing procedure of the cycle start time correction process in step S1913 shown in FIG. 19 will be described. FIG. 20 is a flowchart illustrating an example of a specific processing procedure of the cycle start time correction processing in step S1913.

図20のフローチャートにおいて、まず、受信部701により、他の中継ノードJNから同期パケットおよび流量割当結果を受信したか否かを判断する(ステップS2001)。ここで、同期パケットおよび流量割当結果を未受信の場合(ステップS2001:No)、ステップS2006に移行する。   In the flowchart of FIG. 20, first, the receiving unit 701 determines whether or not a synchronization packet and a flow rate allocation result have been received from another relay node JN (step S2001). If the synchronization packet and the flow rate allocation result have not been received (step S2001: NO), the process proceeds to step S2006.

一方、同期パケットおよび流量割当結果を受信した場合(ステップS2001:Yes)、割当部706により、仮想リンクVLの流量割当結果を割当流量/送信済データ量対応テーブル1100に登録する(ステップS2002)。そして、検出部705により、同期パケットの受信時刻から、周期C1の周期開始時点にズレがあるか否かを判断する(ステップS2003)。   On the other hand, when the synchronization packet and the flow rate allocation result are received (step S2001: Yes), the allocation unit 706 registers the flow rate allocation result of the virtual link VL in the allocation flow rate / transmitted data amount correspondence table 1100 (step S2002). Then, the detection unit 705 determines whether or not there is a deviation at the cycle start time of the cycle C1 from the reception time of the synchronization packet (step S2003).

ここで、周期開始時点にズレがない場合(ステップS2003:No)、ステップS2005に移行する。一方、周期開始時点にズレがある場合(ステップS2003:Yes)、検出部705により、同期パケットの受信時刻を周期C1の周期開始時点として検出する(ステップS2004)。   If there is no deviation at the cycle start time (step S2003: No), the process proceeds to step S2005. On the other hand, when there is a deviation at the cycle start time (step S2003: Yes), the detection unit 705 detects the reception time of the synchronization packet as the cycle start time of the cycle C1 (step S2004).

このあと、受信部701により、すべての他の中継ノードJNから同期パケットおよび流量割当結果を受信したか否かを判断する(ステップS2005)。ここで、同期パケットおよび流量割当結果を受信した場合(ステップS2005:Yes)、図19に示したステップS1914に移行する。一方、同期パケットおよび流量割当結果を未受信の場合(ステップS2005:No)、割当部706により、ステップS2001における最初の判断処理から、予め設定された一定時間経過したか否かを判断する(ステップS2006)。   Thereafter, the receiving unit 701 determines whether or not the synchronization packet and the flow rate allocation result have been received from all the other relay nodes JN (step S2005). If the synchronization packet and the flow rate allocation result are received (step S2005: YES), the process proceeds to step S1914 shown in FIG. On the other hand, when the synchronization packet and the flow rate allocation result have not been received (step S2005: No), the allocation unit 706 determines whether or not a predetermined time has elapsed from the initial determination process in step S2001 (step S2001). S2006).

ここで、一定時間経過していない場合(ステップS2006:No)、ステップS2001に戻る。一方、一定時間経過した場合(ステップS2006:Yes)、割当部706により、同期パケットおよび流量割当結果を未受信の他の中継ノードJNとの間の仮想リンクVLの割当流量を「0」として割当流量/送信済データ量対応テーブル1100に登録して(ステップS2007)、図19に示したステップS1914に移行する。   Here, when the fixed time has not elapsed (step S2006: No), the process returns to step S2001. On the other hand, when the predetermined time has elapsed (step S2006: Yes), the allocation unit 706 allocates the synchronization packet and the flow rate allocation result to “0” as the allocation flow rate of the virtual link VL with another relay node JN that has not received it. The data is registered in the flow rate / transmitted data amount correspondence table 1100 (step S2007), and the process proceeds to step S1914 shown in FIG.

なお、ステップS2007において、仮想リンクVLの割当流量が規定回数連続して「0」として登録された場合、その仮想リンクVLでつながれた他の中継ノードJNがネットワークシステム300から離脱したと判断することにしてもよい。   In step S2007, if the allocated flow rate of the virtual link VL is registered as “0” continuously for the specified number of times, it is determined that another relay node JN connected by the virtual link VL has left the network system 300. It may be.

<転送制御処理手順>
次に、図19に示したステップS1914の転送制御処理の具体的な処理手順について説明する。図21および図22は、ステップS1914の転送制御処理の具体的処理手順の一例を示すフローチャートである。
<Transfer control procedure>
Next, a specific processing procedure of the transfer control process in step S1914 shown in FIG. 19 will be described. 21 and 22 are flowcharts showing an example of a specific processing procedure of the transfer control processing in step S1914.

図21のフローチャートにおいて、まず、第1の算出部707により、割当流量/送信済データ量対応テーブル1100内の各転送先の送信済データ量を「0」で初期化する(ステップS2101)。また、第1の算出部707により、送信可能宛先リスト1400を初期化する(ステップS2102)。   In the flowchart of FIG. 21, first, the first calculation unit 707 initializes the transmitted data amount of each transfer destination in the allocation flow rate / transmitted data amount correspondence table 1100 with “0” (step S2101). Also, the first calculation unit 707 initializes the transmittable destination list 1400 (step S2102).

このあと、第1の算出部707により、割当流量/送信済データ量対応テーブル1100の各転送先の送信済データ量を累積して、周期C2の周期開始時点から現時点までに送信対象として順次決定されたデータ列のデータ量dを算出する(ステップS2103)。そして、第1の算出部707により、上記式(1)を用いて、データ列の送信にかかる所要時間tを算出する(ステップS2104)。   Thereafter, the first calculation unit 707 accumulates the transmitted data amount of each transfer destination in the allocation flow rate / transmitted data amount correspondence table 1100, and sequentially determines the transmission target from the cycle start time to the present time of the cycle C2. A data amount d of the obtained data string is calculated (step S2103). Then, the first calculation unit 707 calculates the required time t required to transmit the data string using the above equation (1) (step S2104).

次に、判定部708により、現時点から所要時間tが経過した時点が、実時間通信の周期C3の周期開始時点と一致するか否かを判定する(ステップS2105)。ここで、周期C3の周期開始時点と一致する場合(ステップS2105:Yes)、決定部709により、実時間通信割当流量テーブル1300を参照して、実時間通信の通信先となるノードNのグループアドレスを特定する(ステップS2106)。   Next, the determination unit 708 determines whether or not the time when the required time t has elapsed from the current time coincides with the cycle start time of the real-time communication cycle C3 (step S2105). Here, when it coincides with the cycle start point of the cycle C3 (step S2105: Yes), the determination unit 709 refers to the real-time communication allocation flow rate table 1300 and the group address of the node N that is the communication destination of the real-time communication Is identified (step S2106).

このあと、決定部709により、宛先/転送先テーブル対応800を参照して、特定されたグループアドレスから転送先を特定する(ステップS2107)。そして、決定部709により、送信可能宛先リスト1400内の特定された転送先の送信可否を「可」から「否」に変更する(ステップS2108)。   Thereafter, the determination unit 709 refers to the destination / transfer destination table correspondence 800 and specifies the transfer destination from the specified group address (step S2107). Then, the determination unit 709 changes the transmission permission / non-permission of the specified transfer destination in the transmission destination list 1400 from “permitted” to “not permitted” (step S2108).

次に、第2の算出部710により、実時間通信割当流量テーブル1300を参照して、ノードN間の実時間通信に割り当てられている割当流量を累積して実時間通信の総割当流量を算出する(ステップS2109)。そして、決定部709により、算出された総割当流量をMaxSendNに代入して(ステップS2110)、図22のステップS2114に移行する。なお、MaxSendNは変数である。   Next, the second calculation unit 710 refers to the real-time communication allocation flow rate table 1300 to calculate the total allocation flow of real-time communication by accumulating the allocation flow allocated to the real-time communication between the nodes N. (Step S2109). Then, the determining unit 709 substitutes the calculated total allocated flow rate into MaxSendN (step S2110), and the process proceeds to step S2114 in FIG. Note that MaxSendN is a variable.

また、ステップS2105において、周期C3の周期開始時点と不一致の場合(ステップS2105:No)、第2の算出部710により、現時点から所要時間tが経過した時点から、周期C3の周期開始時点となるまでの残余の時間を算出する(ステップS2111)。   In step S2105, if it does not coincide with the cycle start time of cycle C3 (step S2105: No), the second calculation unit 710 sets the cycle start time of cycle C3 from the time when the required time t has elapsed from the present time. The remaining time until is calculated (step S2111).

このあと、第2の算出部710により、上記式(2)を用いて、残余の時間に送信可能なデータ量を算出する(ステップS2112)。そして、決定部709により、算出されたデータ量をMaxSendNに代入して(ステップS2113)、図22のステップS2114に移行する。なお、MaxSendNは変数である。   Thereafter, the second calculation unit 710 calculates the amount of data that can be transmitted in the remaining time using the above equation (2) (step S2112). Then, the determining unit 709 substitutes the calculated data amount into MaxSendN (step S2113), and the process proceeds to step S2114 in FIG. Note that MaxSendN is a variable.

図22のフローチャートにおいて、まず、抽出部711により、送信可能宛先リスト1400を参照して、送信可否が「可」の転送先を特定する(ステップS2114)。次に、抽出部711により、キュー対応テーブル1000を参照して、特定された転送先のデータキューを特定する(ステップS2115)。   In the flowchart of FIG. 22, first, the extraction unit 711 refers to the transmission destination list 1400 to identify a transfer destination whose transmission permission is “permitted” (step S2114). Next, the extraction unit 711 refers to the queue correspondence table 1000 to identify the identified data queue of the transfer destination (step S2115).

このあと、抽出部711により、特定された転送先のデータキューからMaxSendN以下の非実時間データを抽出する(ステップS2116)。そして、決定部709により、抽出された非実時間データを送信対象となる非実時間データに決定する(ステップS2117)。ただし、決定部709は、割当流量を超える転送先に対する非実時間データは送信対象に決定しない。   Thereafter, the extraction unit 711 extracts non-real time data of MaxSendN or less from the specified transfer destination data queue (step S2116). Then, the determining unit 709 determines the extracted non-real time data as non-real time data to be transmitted (step S2117). However, the determination unit 709 does not determine non-real time data for a transfer destination exceeding the allocated flow rate as a transmission target.

また、ステップS2117において、送信対象となる非実時間データが存在しない場合、決定部709は、自ノードNに直接接続されたスイッチSW1において破棄される無効データを送信対象に決定する。この際、決定部709は、MaxSendN分の無効データを送信対象に決定する。   In step S2117, if there is no non-real time data to be transmitted, the determination unit 709 determines invalid data to be discarded in the switch SW1 directly connected to the own node N as a transmission target. At this time, the determination unit 709 determines invalid data for MaxSendN as a transmission target.

次に、決定部709により、送信対象に決定された非実時間データのデータ量を割当流量/送信済データ量対応テーブル1100内の転送先の送信済データ量に累積する(ステップS2118)。そして、決定部709により、割当流量/送信済データ量対応テーブル1100内の各転送先の送信済データ量を累積して総送信済データ量を算出する(ステップS2119)。   Next, the determining unit 709 accumulates the data amount of the non-real-time data determined as the transmission target in the transmitted data amount of the transfer destination in the allocation flow rate / transmitted data amount correspondence table 1100 (step S2118). Then, the determining unit 709 calculates the total transmitted data amount by accumulating the transmitted data amount of each transfer destination in the allocation flow rate / transmitted data amount correspondence table 1100 (step S2119).

このあと、決定部709により、算出された総送信済データ量が周期C2の送信可能量未満か否かを判断する(ステップS2120)。ここで、送信可能量未満の場合(ステップS2120:Yes)、図21に示したステップS2102に戻る。一方、送信可能量以上の場合(ステップS2120:No)、図19に示したステップS1915に移行する。   Thereafter, the determining unit 709 determines whether or not the calculated total transmitted data amount is less than the transmittable amount in the period C2 (step S2120). If it is less than the transmittable amount (step S2120: Yes), the process returns to step S2102 shown in FIG. On the other hand, if the amount exceeds the transmittable amount (step S2120: No), the process proceeds to step S1915 shown in FIG.

これにより、ネットワークシステム300において、実時間通信と非実時間通信との衝突を回避することができる。また、実時間通信と衝突する非実時間データの送出のみを抑制するため、ネットワーク310全体のスループットの低下を抑えることができる。   Thereby, in network system 300, collision between real-time communication and non-real-time communication can be avoided. Further, since only the transmission of non-real time data colliding with real time communication is suppressed, it is possible to suppress a decrease in throughput of the entire network 310.

(グループノードGNの通信処理手順)
つぎに、グループノードGNの通信処理手順について説明する。図23は、グループノードの通信処理手順の一例を示すフローチャートである。図23のフローチャートにおいて、まず、受信部1501により、中継ノードJNから同期パケットを受信したか否かを判断する(ステップS2301)。
(Communication processing procedure of group node GN)
Next, a communication processing procedure of the group node GN will be described. FIG. 23 is a flowchart illustrating an example of a communication processing procedure of the group node. In the flowchart of FIG. 23, first, the receiving unit 1501 determines whether or not a synchronization packet has been received from the relay node JN (step S2301).

ここで、同期パケットを受信するのを待って(ステップS2301:No)、受信した場合(ステップS2301:Yes)、検出部1502により、同期パケットの受信時刻を周期C1の周期開始時点として検出する(ステップS2302)。このあと、検出部1502により、現時点が周期C1の周期開始時点か否かを判断する(ステップS2303)。   Here, it waits for the reception of the synchronization packet (step S2301: No), and when it is received (step S2301: Yes), the detection unit 1502 detects the reception time of the synchronization packet as the period start time of the period C1 ( Step S2302). Thereafter, the detection unit 1502 determines whether or not the current time point is the cycle start point of the cycle C1 (step S2303).

ここで、周期C1の周期開始時点ではない場合(ステップS2303:No)、ステップS2308に移行する。一方、周期C1の周期開始時点の場合(ステップS2303:Yes)、受信部1501により、中継ノードJNから同期パケットおよび流量割当結果を受信したか否かを判断する(ステップS2304)。   Here, when it is not the period start time of the period C1 (step S2303: No), the process proceeds to step S2308. On the other hand, in the case of the cycle start time of cycle C1 (step S2303: Yes), the receiving unit 1501 determines whether a synchronization packet and a flow rate allocation result are received from the relay node JN (step S2304).

ここで、同期パケットおよび流量割当結果を受信するのを待って(ステップS2304:No)、受信した場合(ステップS2304:Yes)、割当部1504により、受信された非実時間通信の流量割当結果を、自ノードNと中継ノードJNとをつなぐ経路に割り当てる(ステップS2305)。   Here, waiting for receiving the synchronization packet and the flow rate allocation result (step S2304: No), if received (step S2304: Yes), the allocation unit 1504 displays the received non-real-time communication flow rate allocation result. The node N and the relay node JN are assigned to the path connecting them (step S2305).

次に、検出部1502により、同期パケットの受信時刻から、周期C1の周期開始時点にズレがあるか否かを判断する(ステップS2306)。ここで、周期開始時点にズレがない場合(ステップS2306:No)、ステップS2308に移行する。一方、周期開始時点にズレがある場合(ステップS2306:Yes)、検出部1502により、同期パケットの受信時刻を周期C1の周期開始時点として検出する(ステップS2307)。   Next, the detection unit 1502 determines whether or not there is a deviation at the cycle start time of the cycle C1 from the reception time of the synchronization packet (step S2306). If there is no deviation at the cycle start time (step S2306: NO), the process proceeds to step S2308. On the other hand, when there is a deviation at the cycle start time (step S2306: Yes), the detection unit 1502 detects the reception time of the synchronization packet as the cycle start time of the cycle C1 (step S2307).

そして、送信部1503により、実時間データまたは/および非実時間データを送信するための送信制御処理を実行する(ステップS2308)。このあと、検出部1502により、ネットワークシステム300の停止指示があったか否かを判断する(ステップS2309)。   Then, the transmission unit 1503 executes transmission control processing for transmitting real-time data and / or non-real-time data (step S2308). Thereafter, the detection unit 1502 determines whether or not there is an instruction to stop the network system 300 (step S2309).

ここで、停止指示がない場合(ステップS2309:No)、現時点が周期C2の周期開始時点となるまで待って(ステップS2310:No)、周期C2の周期開始時点となった場合(ステップS2310:Yes)、ステップS2303に戻る。一方、停止指示があった場合(ステップS2309:Yes)、本フローチャートによる一連の処理を終了する。   Here, when there is no stop instruction (step S2309: No), it waits until the current time becomes the cycle start time of the cycle C2 (step S2310: No), and when the cycle start time of the cycle C2 is reached (step S2310: Yes). ), The process returns to step S2303. On the other hand, when there is a stop instruction (step S2309: Yes), a series of processing according to this flowchart is ended.

<送信制御処理手順>
次に、図23に示したステップS2308の送信制御処理の具体的な処理手順について説明する。図24および図25は、ステップS2308の送信制御処理の具体的処理手順の一例を示すフローチャートである。
<Transmission control processing procedure>
Next, a specific processing procedure of the transmission control process in step S2308 shown in FIG. 23 will be described. 24 and 25 are flowcharts showing an example of a specific processing procedure of the transmission control processing in step S2308.

図24のフローチャートにおいて、まず、第1の算出部1505により、自ノードNと中継ノードJNとをつなぐ経路の送信済データ量を「0」で初期化する(ステップS2401)。また、第1の算出部1505により、送信可能宛先リスト1400を初期化する(ステップS2402)。   In the flowchart of FIG. 24, first, the first calculation unit 1505 initializes the transmitted data amount of the path connecting the own node N and the relay node JN with “0” (step S2401). In addition, the first calculation unit 1505 initializes the transmittable destination list 1400 (step S2402).

このあと、第1の算出部1505により、送信済データ量から、周期C2の周期開始時点から現時点までに送信対象として順次決定されたデータ列のデータ量dを特定する(ステップS2403)。そして、第1の算出部1505により、上記式(1)を用いて、データ列の送信にかかる所要時間tを算出する(ステップS2404)。   Thereafter, the first calculation unit 1505 identifies the data amount d of the data string sequentially determined as the transmission target from the start of the cycle of the cycle C2 to the present time from the transmitted data amount (step S2403). Then, the first calculation unit 1505 calculates the required time t required to transmit the data string using the above equation (1) (step S2404).

次に、判定部1506により、現時点から所要時間tが経過した時点が、実時間通信の周期C3の周期開始時点と一致するか否かを判定する(ステップS2405)。ここで、周期C3の周期開始時点と不一致の場合(ステップS2405:No)、第2の算出部1509により、現時点から所要時間tが経過した時点から、周期C3の周期開始時点となるまでの残余の時間を算出する(ステップS2406)。   Next, the determination unit 1506 determines whether or not the time when the required time t has elapsed from the current time coincides with the cycle start time of the real-time communication cycle C3 (step S2405). Here, when it does not coincide with the cycle start time of the cycle C3 (step S2405: No), the second calculation unit 1509 performs the remaining from the time when the required time t has elapsed from the current time until the cycle start time of the cycle C3. Is calculated (step S2406).

このあと、第2の算出部1509により、上記式(2)を用いて、残余の時間に送信可能なデータ量を算出して(ステップS2407)、ステップS2416に移行する。一方、ステップS2405において、周期C3の周期開始時点と一致する場合(ステップS2405:Yes)、決定部1507により、実時間通信割当流量テーブル1300を参照して、実時間通信の通信元となるノードNのグループアドレスを特定する(ステップS2408)。   Thereafter, the second calculation unit 1509 calculates the amount of data that can be transmitted in the remaining time using the above equation (2) (step S2407), and the process proceeds to step S2416. On the other hand, in step S2405, when it coincides with the cycle start time of cycle C3 (step S2405: Yes), the determination unit 1507 refers to the real-time communication allocation flow rate table 1300 to refer to the node N that is the communication source of real-time communication. Is specified (step S2408).

そして、決定部1507により、特定されたグループアドレスと自ノードNのグループアドレスとを比較して、実時間通信の通信元が自ノードNか否かを判断する(ステップS2409)。ここで、自ノードNの場合(ステップS2409:Yes)、決定部1507により、実時間通信の通信先のデータキューの先頭の実時間データを送信対象に決定する(ステップS2410)。   Then, the determining unit 1507 compares the identified group address with the group address of the own node N to determine whether or not the communication source of the real-time communication is the own node N (step S2409). Here, in the case of the own node N (step S2409: Yes), the determination unit 1507 determines the real time data at the head of the data queue of the communication destination of the real time communication as a transmission target (step S2410).

そして、決定部1507により、送信対象に決定された実時間データのデータ量を送信済データ量に累積して(ステップS2411)、図25に示すステップS2421に移行する。   Then, the determining unit 1507 accumulates the data amount of the real-time data determined as the transmission target in the transmitted data amount (step S2411), and proceeds to step S2421 shown in FIG.

一方、自ノードNではない場合(ステップS2409:No)、決定部1507により、実時間通信の通信先となるノードNのグループアドレスを特定する(ステップS2412)。このあと、決定部1507により、宛先/転送先対応テーブル1600を参照して、特定されたグループアドレスから転送先を特定する(ステップS2413)。   On the other hand, when it is not the own node N (step S2409: No), the determining unit 1507 identifies the group address of the node N that is the communication destination of the real-time communication (step S2412). Thereafter, the determination unit 1507 refers to the destination / transfer destination correspondence table 1600 to specify the transfer destination from the specified group address (step S2413).

そして、決定部1507により、送信可能宛先リスト1800内の特定された転送先の送信可否を「可」から「否」に変更する(ステップS2414)。次に、第2の算出部1509により、自ノードNと中継ノードJNとをつなぐ経路に割り当てられた割当流量から送信済データ量を引いて残余の割当流量を算出する(ステップS2415)。   Then, the determination unit 1507 changes the transmission permission / non-permission of the specified transfer destination in the transmission destination list 1800 from “available” to “not” (step S2414). Next, the second calculating unit 1509 calculates the remaining allocated flow rate by subtracting the transmitted data amount from the allocated flow rate allocated to the path connecting the node N and the relay node JN (step S2415).

そして、決定部1507により、残余の割当流量または送信可能なデータ量のうち小さい方をMaxSendNに代入して(ステップS2416)、図25のステップS2417に移行する。   Then, the determination unit 1507 substitutes the smaller of the remaining allocated flow rate or the transmittable data amount for MaxSendN (step S2416), and proceeds to step S2417 in FIG.

図25のフローチャートにおいて、まず、抽出部1508により、送信可能宛先リスト1800を参照して、送信可否が「可」の転送先を特定する(ステップS2417)。次に、抽出部1508により、特定された転送先のデータキューからMaxSendN以下の非実時間データを抽出する(ステップS2418)。   In the flowchart of FIG. 25, first, the extraction unit 1508 refers to the transmission destination list 1800 to identify a transfer destination whose transmission permission is “permitted” (step S2417). Next, the extraction unit 1508 extracts non-real time data less than or equal to MaxSendN from the identified transfer destination data queue (step S2418).

そして、決定部1507により、抽出された非実時間データを送信対象となる非実時間データに決定する(ステップS2419)。次に、決定部1507により、送信対象に決定された非実時間データのデータ量を送信済データ量に累積する(ステップS2420)。   Then, the determining unit 1507 determines the extracted non-real time data as non-real time data to be transmitted (step S2419). Next, the determining unit 1507 accumulates the data amount of the non-real time data determined as the transmission target in the transmitted data amount (step S2420).

なお、ステップS2419において、送信対象となる非実時間データが存在しない場合、決定部1507は、自ノードNに直接接続されたスイッチSWにおいて破棄される無効データを送信対象に決定する。この際、決定部1507は、MaxSendN分の無効データを送信対象に決定する。   If there is no non-real time data to be transmitted in step S2419, the determination unit 1507 determines invalid data to be discarded in the switch SW directly connected to the own node N as a transmission target. At this time, the determination unit 1507 determines invalid data for MaxSendN as a transmission target.

このあと、決定部1507により、送信済データ量が割当流量未満か否かを判断する(ステップS2421)。ここで、割当流量未満の場合(ステップS2421:Yes)、図24に示したステップS2402に戻る。一方、割当流量以上の場合(ステップS2421:No)、図23に示したステップS2309に移行する。   Thereafter, the determining unit 1507 determines whether the transmitted data amount is less than the allocated flow rate (step S2421). If the flow rate is less than the allocated flow rate (step S2421: YES), the process returns to step S2402 shown in FIG. On the other hand, when the flow rate is equal to or higher than the allocated flow rate (step S2421: NO), the process proceeds to step S2309 shown in FIG.

これにより、ネットワークシステム300において、実時間通信と非実時間通信との衝突を回避することができる。また、実時間通信と衝突する非実時間データの送出のみを抑制するため、ネットワーク310全体のスループットの低下を抑えることができる。   Thereby, in network system 300, collision between real-time communication and non-real-time communication can be avoided. Further, since only the transmission of non-real time data colliding with real time communication is suppressed, it is possible to suppress a decrease in throughput of the entire network 310.

<実時間通信の流量割当要求処理手順>
つぎに、グループノードGNの実時間通信の流量割当要求処理手順について説明する。図26は、実時間通信の流量割当要求処理手順の一例を示すフローチャートである。図26のフローチャートにおいて、まず、送信部1503により、実時間通信の流量割当要求を中継ノードJNに送信する(ステップS2601)。
<Flow allocation request processing procedure for real-time communication>
Next, a flow rate allocation request processing procedure for real-time communication of the group node GN will be described. FIG. 26 is a flowchart illustrating an example of a flow rate allocation request processing procedure for real-time communication. In the flowchart of FIG. 26, first, the transmission unit 1503 transmits a flow rate allocation request for real-time communication to the relay node JN (step S2601).

このあと、受信部1501により、中継ノードJNから流量割当応答を受信するのを待って(ステップS2602:No)、受信した場合(ステップS2602:Yes)、グループノードGNにより、割当可か否かを判断する(ステップS2603)。   Thereafter, the reception unit 1501 waits for reception of a flow rate allocation response from the relay node JN (step S2602: No), and if received (step S2602: Yes), whether or not allocation is possible by the group node GN. Judgment is made (step S2603).

ここで、割当可の場合(ステップS2603:Yes)、グループノードGNにより、実時間通信割当流量テーブル1700に実時間通信情報を新たなレコードとして登録して(ステップS2604)、本フローチャートによる一連の処理を終了する。   Here, when allocation is possible (step S2603: Yes), the group node GN registers the real-time communication information as a new record in the real-time communication allocation flow rate table 1700 (step S2604), and a series of processes according to this flowchart. Exit.

一方、割当不可の場合(ステップS2603:No)、グループノードGNにより、実時間通信の要求流量を減らしてもよいか否かを判断する(ステップS2605)。ここで、要求流量を減らせない場合(ステップS2605:No)、本フローチャートによる一連の処理を終了する。   On the other hand, when allocation is impossible (step S2603: No), the group node GN determines whether or not the requested flow rate for real-time communication may be reduced (step S2605). Here, when the required flow rate cannot be reduced (step S2605: No), the series of processes according to this flowchart is terminated.

一方、要求流量を減らしてもよい場合(ステップS2605:Yes)、グループノードGNにより、新たな実時間通信の要求流量を算出して(ステップS2606)、ステップS2601に戻る。   On the other hand, when the required flow rate may be reduced (step S2605: Yes), the group node GN calculates a new real-time communication required flow rate (step S2606), and returns to step S2601.

<実時間通信の流量割当応答処理手順>
つぎに、中継ノードJNの実時間通信の流量割当応答処理手順について説明する。図27および図28は、実時間通信の流量割当応答処理手順の一例を示すフローチャートである。図27のフローチャートにおいて、まず、受信部701により、フォワード元から実時間通信の流量割当要求を受信したか否かを判断する(ステップS2701)。
<Flow allocation response processing procedure for real-time communication>
Next, the flow rate allocation response processing procedure of the real-time communication of the relay node JN will be described. 27 and 28 are flowcharts illustrating an example of a flow rate allocation response processing procedure for real-time communication. In the flowchart of FIG. 27, first, the receiving unit 701 determines whether or not a real-time communication flow rate allocation request has been received from the forward source (step S2701).

ここで、実時間通信の流量割当要求を受信するのを待って(ステップS2701:No)、受信した場合(ステップS2701:Yes)、判断部712により、実時間通信割当流量テーブル1300を参照して、ノード割当流量合計sを算出する(ステップS2702)。   Here, it waits for reception of a flow allocation request for real-time communication (step S2701: No), and when received (step S2701: Yes), the determination unit 712 refers to the real-time communication allocation flow table 1300. Then, the node allocation flow total s is calculated (step S2702).

次に、判断部712により、算出されたノード割当流量合計sに流量割当要求に含まれる要求流量を加算して仮ノード割当流量合計s’を算出する(ステップS2703)。そして、判断部712により、仮ノード割当流量合計s’が実時間通信の周期C3の間に送信可能な最大データ量FMAX以下となるか否かを判断する(ステップS2704)。 Next, the determination unit 712 adds the requested flow rate included in the flow rate allocation request to the calculated node allocation flow rate total s to calculate the temporary node allocation flow rate total s ′ (step S2703). Then, the determination unit 712 determines whether or not the total temporary node allocation flow rate s ′ is equal to or less than the maximum data amount F MAX that can be transmitted during the real-time communication cycle C3 (step S2704).

ここで、仮ノード割当流量合計s’が最大データ量FMAXより大きい場合(ステップS2704:No)、送信部704により、割当不可を示す流量割当応答をフォワード元に送信して(ステップS2705)、本フローチャートによる一連の処理を終了する。 Here, if the temporary node allocation flow rate total s ′ is larger than the maximum data amount F MAX (step S2704: No), the transmission unit 704 transmits a flow rate allocation response indicating that allocation is impossible to the forward source (step S2705). A series of processing by this flowchart is complete | finished.

一方、仮ノード割当流量合計s’が最大データ量FMAX以下の場合(ステップS2704:Yes)、判断部712により、アドレステーブル500を参照して、流量割当要求に含まれる宛先のシステムアドレスに対応するグループアドレスを特定する(ステップS2706)。 On the other hand, when the temporary node allocation flow total s ′ is equal to or less than the maximum data amount F MAX (step S2704: Yes), the determination unit 712 refers to the address table 500 and corresponds to the destination system address included in the flow allocation request. The group address to be specified is specified (step S2706).

そして、判断部712により、グループ識別テーブル600を参照して、特定されたグループアドレスに対応するグループGを特定する(ステップS2707)。このあと、判断部712により、特定されたグループGが自グループGか否かを判断する(ステップS2708)。   Then, the determining unit 712 refers to the group identification table 600 and identifies the group G corresponding to the identified group address (step S2707). Thereafter, the determination unit 712 determines whether the identified group G is the own group G (step S2708).

ここで、自グループGの場合(ステップS2708:Yes)、判断部712により、実時間通信割当流量テーブル1300を参照して、送信元が他グループGかつ宛先が自グループGの実時間通信の割当流量合計Sを算出する(ステップS2709)。   Here, in the case of the own group G (step S2708: Yes), the determination unit 712 refers to the real-time communication allocation flow rate table 1300, and allocates real-time communication in which the transmission source is the other group G and the destination is the own group G. The total flow S is calculated (step S2709).

このあと、判断部712により、算出された割当流量合計Sに要求流量を加算して仮割当流量合計S’を算出する(ステップS2710)。そして、判断部712により、仮割当流量合計S’が実時間通信の周期C3の間に送信可能な最大データ量FMAX以下となるか否かを判断する(ステップS2711)。 Thereafter, the determination unit 712 adds the requested flow rate to the calculated allocated flow rate total S to calculate the temporary allocated flow rate total S ′ (step S2710). Then, the determination unit 712 determines whether or not the temporary allocation flow total S ′ is equal to or less than the maximum data amount F MAX that can be transmitted during the real-time communication cycle C3 (step S2711).

ここで、仮割当流量合計S’が最大データ量FMAXより大きい場合(ステップS2711:No)、ステップS2705に移行する。一方、仮割当流量合計S’が最大データ量FMAX以下の場合(ステップS2711:Yes)、判断部712により、実時間通信割当流量テーブル1300に新たな実時間通信情報を登録する(ステップS2712)。 Here, when the temporary allocation flow total S ′ is larger than the maximum data amount F MAX (step S2711: No), the process proceeds to step S2705. On the other hand, when the temporary allocation flow total S ′ is equal to or less than the maximum data amount F MAX (step S2711: Yes), the determination unit 712 registers new real-time communication information in the real-time communication allocation flow rate table 1300 (step S2712). .

そして、送信部704により、割当可を示す流量割当応答をフォワード元に送信する(ステップS2713)。また、送信部704により、フォワード元を除く他の中継ノードJNおよび自グループGのグループノードGNに実時間通信情報を送信する(ステップS2714)。これにより、新たに登録された実時間通信情報を共有する。   Then, the transmission unit 704 transmits a flow rate allocation response indicating that allocation is possible to the forward source (step S2713). Further, the transmission unit 704 transmits real-time communication information to other relay nodes JN excluding the forward source and the group node GN of the own group G (step S2714). Thereby, the newly registered real-time communication information is shared.

また、ステップS2708において、特定されたグループが他グループGの場合(ステップS2708:No)、図28に示すステップS2715に移行する。   In step S2708, when the identified group is another group G (step S2708: No), the process proceeds to step S2715 shown in FIG.

図28に示すフローチャートにおいて、まず、判断部712により、実時間通信割当流量テーブル1300を参照して、送信元が自グループGかつ宛先が他グループGの実時間通信の割当流量合計Sを算出する(ステップS2715)。   In the flowchart shown in FIG. 28, first, the determination unit 712 refers to the real-time communication allocation flow rate table 1300 to calculate the total real-time communication allocation flow rate S of which the transmission source is the own group G and the destination is the other group G. (Step S2715).

このあと、判断部712により、算出された割当流量合計Sに要求流量を加算して仮割当流量合計S’を算出する(ステップS2716)。そして、判断部712により、仮割当流量合計S’が実時間通信の周期C3の間に送信可能な最大データ量FMAX以下となるか否かを判断する(ステップS2717)。 Thereafter, the determination unit 712 adds the requested flow rate to the calculated allocated flow rate total S to calculate the temporary allocated flow rate total S ′ (step S2716). Then, the determination unit 712 determines whether or not the temporary allocation flow total S ′ is equal to or less than the maximum data amount F MAX that can be transmitted during the real-time communication cycle C3 (step S2717).

ここで、仮割当流量合計S’が最大データ量FMAXより大きい場合(ステップS2717:No)、送信部704により、割当不可を示す流量割当応答をフォワード元に送信して(ステップS2718)、本フローチャートによる一連の処理を終了する。 If the temporary allocation flow rate total S ′ is larger than the maximum data amount F MAX (step S2717: No), the transmission unit 704 transmits a flow rate allocation response indicating that allocation is impossible to the forward source (step S2718). A series of processes according to the flowchart ends.

一方、仮割当流量合計S’が最大データ量FMAX以下の場合(ステップS2717:Yes)、送信部704により、特定されたグループGの中継ノードJNに流量割当要求を送信する(ステップS2719)。このあと、受信部701により、他の中継ノードJNから流量割当応答を受信するのを待つ(ステップS2720:No)。 On the other hand, when the temporary allocation flow total S ′ is equal to or less than the maximum data amount F MAX (step S2717: Yes), the transmission unit 704 transmits a flow allocation request to the identified relay node JN of the group G (step S2719). Thereafter, the reception unit 701 waits to receive a flow rate allocation response from another relay node JN (step S2720: No).

そして、流量割当応答を受信した場合(ステップS2720:Yes)、判断部712により、流量割当応答が割当可を示すか否かを判断する(ステップS2721)。ここで、割当不可の場合(ステップS2721:No)、ステップS2718に移行する。   When the flow rate allocation response is received (step S2720: Yes), the determination unit 712 determines whether the flow rate allocation response indicates that allocation is possible (step S2721). Here, when allocation is impossible (step S2721: No), it transfers to step S2718.

一方、割当可の場合(ステップS2721:Yes)、判断部712により、実時間通信割当流量テーブル1300に新たな実時間通信情報を登録する(ステップS2722)。最後に、送信部704により、割当可を示す流量割当応答をフォワード元に送信して(ステップS2723)、本フローチャートによる一連の処理を終了する。   On the other hand, when allocation is possible (step S2721: Yes), the determination unit 712 registers new real-time communication information in the real-time communication allocation flow rate table 1300 (step S2722). Finally, the transmission unit 704 transmits a flow rate allocation response indicating that allocation is possible to the forward source (step S2723), and the series of processes according to this flowchart is terminated.

これにより、実時間通信の流量割当要求に対してネットワーク310の伝送能力を超えた流量割当を回避し、スイッチSW1〜SW4等の通信途中でデータが破棄されることを防いで、実時間通信の通信品質を確保することができる。   This avoids flow allocation exceeding the transmission capacity of the network 310 in response to a flow allocation request for real-time communication, prevents data from being discarded during communication of the switches SW1 to SW4, etc. Communication quality can be ensured.

以上説明したように、本実施の形態によれば、各グループGから選ばれた中継ノードJN間をつなぐ仮想リンクVLを用いて、グループG間の非実時間データを転送することができる。これにより、グループG間の非実時間データを一つにまとめて、実時間通信との衝突を低減させることができる。   As described above, according to the present embodiment, it is possible to transfer non-real-time data between groups G using the virtual link VL that connects between the relay nodes JN selected from each group G. Thereby, the non-real-time data between the groups G can be integrated into one and the collision with the real-time communication can be reduced.

また、本実施の形態によれば、バッファ内に格納されているデータ列のネットワーク310への送出にかかる所要時間tから、次に格納するデータの送信時刻を予測して、実時間通信の開始時点と一致するか否かを判定することができる。   Further, according to the present embodiment, the transmission time of the data to be stored next is predicted from the time t required for sending the data string stored in the buffer to the network 310, and the real-time communication is started. It can be determined whether or not it coincides with the time.

この結果、実時間通信の開始時点と一致する場合、実時間通信と衝突しない経路の非実時間データを送信対象に決定することができる。一方、実時間通信の開始時点と不一致の場合は、実時間通信の開始時点までに送信可能なデータ量以下の非実時間データを送信対象に決定することができる。   As a result, when it coincides with the start time of real-time communication, non-real-time data of a path that does not collide with real-time communication can be determined as a transmission target. On the other hand, if it does not coincide with the start time of real-time communication, non-real-time data that is less than or equal to the amount of data that can be transmitted before the start time of real-time communication can be determined as a transmission target.

これにより、実時間通信と衝突する非実時間データの送出のみ抑制し、ネットワーク310全体のスループットの低下を抑えることができる。また、実時間通信と衝突しないようにデータ列を整形してバッファに格納しておくことで、送信タイミングの制御が不要となる。   Thereby, it is possible to suppress only the transmission of non-real time data colliding with the real time communication, and to suppress a decrease in the throughput of the entire network 310. In addition, since the data string is shaped and stored in the buffer so as not to collide with the real-time communication, transmission timing control becomes unnecessary.

たとえば、カメラで撮影された動画を、タイマ処理(割込処理)により極短い周期C3(たとえば、125[μs])の実時間通信で転送する場合、送信処理のためだけにCPU401のリソースを使い切って他の処理を実行できなくなることが想定される。しかし、本実施の形態によれば、極短い周期C3に合わせて送信タイミングを制御する必要がないため、高性能なCPU401を各ノードNが搭載していなくても、実時間通信との衝突を回避することができる。   For example, when a moving image shot by a camera is transferred by real-time communication with a very short cycle C3 (for example, 125 [μs]) by a timer process (interrupt process), the resources of the CPU 401 are used up only for the transmission process. It is assumed that other processes cannot be executed. However, according to the present embodiment, since it is not necessary to control the transmission timing in accordance with the extremely short cycle C3, even if each node N is not equipped with a high-performance CPU 401, a collision with real-time communication can be achieved. It can be avoided.

また、本実施の形態によれば、送信対象となる適切な非実時間データが存在しない場合であっても、スイッチSWにおいて破棄される無効データを送信対象とすることにより、実時間通信と衝突しないデータ列を整形することができる。   Further, according to the present embodiment, even when there is no appropriate non-real time data to be transmitted, the invalid data discarded in the switch SW is used as the transmission target, thereby colliding with real time communication. You can format data strings that don't.

また、本実施の形態によれば、実時間通信を行うためのプロトコルの種別は問わない。そのため、一般に必要となる実時間通信のためのプロトコル(たとえば、RTP:Real-time Transport Protocol)の設定作業が不要となり、システムを構築する作業者の負荷を低減させることができる。   Further, according to the present embodiment, the type of protocol for performing real-time communication is not limited. Therefore, it is not necessary to set a protocol for real-time communication that is generally required (for example, RTP: Real-time Transport Protocol), and it is possible to reduce the load on the operator who constructs the system.

また、本実施の形態によれば、複数のスイッチSWを用いてネットワークシステム300が構築可能となるため、システム構成の柔軟性や拡張性を向上させることができる。さらに、本実施の形態によれば、ノードN間の実時間通信が複数台のスイッチSWを超えて行われる場合であっても通信品質を確保することができる。また、2種類の通信が混在する多段スイッチ接続の局所網において、2種類の通信の衝突を回避することで、極短周期のアイソクロナス転送を遅滞なく実行することができる。   Further, according to the present embodiment, since the network system 300 can be constructed using a plurality of switches SW, the flexibility and expandability of the system configuration can be improved. Furthermore, according to the present embodiment, communication quality can be ensured even when real-time communication between nodes N is performed over a plurality of switches SW. Further, in a multi-stage switch-connected local network in which two types of communication are mixed, an isochronous transfer with an extremely short period can be executed without delay by avoiding a collision between the two types of communication.

これらのことから、開示のノード、通信プログラムおよび通信方法によれば、高負荷の非実時間通信が行われている環境下であっても、実時間通信の通信品質を確保することができる。この際、ノードN間をつなぐ一本の物理的な通信媒体によって実時間通信と非実時間通信とが衝突しないように制御できるため、個々の通信に合わせて通信媒体を用意する必要がなく、システム構成の複雑度およびコストの増大化を防ぐことができる。   Therefore, according to the disclosed node, communication program, and communication method, it is possible to ensure the communication quality of real-time communication even in an environment where high-load non-real-time communication is performed. At this time, since it is possible to control so that real-time communication and non-real-time communication do not collide by a single physical communication medium connecting the nodes N, it is not necessary to prepare a communication medium for each communication, It is possible to prevent the complexity and cost of the system configuration from increasing.

なお、上述した通信手法では、中継ノードJNと直接接続されていないスイッチSWを隣り合って接続することができないというトポロジ上の制約が存在する。たとえば、コアスイッチやルータスイッチなどのスイッチSW間をつなぐスイッチSWを設置する場合、中継ノードJNと直接接続されていないスイッチSWを隣り合って接続することになる。この場合、中継ノードJNと直接接続されていないスイッチSW間でデータが衝突する可能性がある。   In the communication method described above, there is a topology restriction that the switch SW that is not directly connected to the relay node JN cannot be connected adjacently. For example, when a switch SW that connects switches SW such as a core switch and a router switch is installed, a switch SW that is not directly connected to the relay node JN is connected adjacently. In this case, data may collide between the switches SW that are not directly connected to the relay node JN.

そこで、スイッチSW同士をつなぐスイッチSWに中継ノードJNを設置することにしてもよい。具体的には、中継ノードJNと直接接続されたスイッチSWと、中継ノードJNと直接接続されていないスイッチSWとをつなぐスイッチSWに中継ノードJNを設置する。   Therefore, the relay node JN may be installed in the switch SW that connects the switches SW. Specifically, the relay node JN is installed in the switch SW that connects the switch SW directly connected to the relay node JN and the switch SW not directly connected to the relay node JN.

図29は、ネットワークシステムのシステム構成図(その2)である。ネットワークシステム2900において、個々のスイッチSW1〜SW16と直接接続されたノード群(不図示)により形成された小グループSG1〜SG15が、ネットワーク310を介して通信可能に接続されている。   FIG. 29 is a system configuration diagram (part 2) of the network system. In the network system 2900, small groups SG1 to SG15 formed by nodes (not shown) directly connected to the individual switches SW1 to SW16 are communicably connected via the network 310.

また、小グループSG1〜SG5により大グループBG1が形成され、小グループSG6〜SG10により大グループBG2が形成され、小グループSG11〜SG15により大グループBG3が形成されている。ここで、スイッチSW5,SW10,SW15は、スイッチ同士をつなぐコアスイッチである。そこで、各スイッチSW5,SW10,SW15に中継ノード2910,2920,2930を設置する。   The large group BG1 is formed by the small groups SG1 to SG5, the large group BG2 is formed by the small groups SG6 to SG10, and the large group BG3 is formed by the small groups SG11 to SG15. Here, the switches SW5, SW10, and SW15 are core switches that connect the switches. Therefore, relay nodes 2910, 2920, and 2930 are installed in the switches SW5, SW10, and SW15.

ネットワークシステム2900では、大グループBG1〜BG3を超える非実時間通信は、小グループ間の通信として、一度、大グループの中継ノード(たとえば、中継ノード2910,2920,2930)に非実時間データを送信する。また、大グループ間の通信は、小グループ間の中継ノード同士と同様の通信処理手順を実施することにより、実時間通信と非実時間通信との衝突を回避することができる。このように、直接中継ノードを持たないスイッチ同士が隣接することを防ぐことにより、大規模システムにも対応することができる。   In the network system 2900, non-real time communication exceeding the large groups BG1 to BG3 is performed by transmitting non-real time data to a large group relay node (for example, the relay nodes 2910, 2920, 2930) once as communication between small groups. To do. Moreover, the communication between large groups can avoid the collision with real-time communication and non-real-time communication by implementing the communication processing procedure similar to the relay nodes between small groups. In this way, it is possible to cope with a large-scale system by preventing adjacent switches having no relay node from being adjacent to each other.

なお、本実施の形態で説明した通信方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本通信プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本通信プログラムは、インターネット等のネットワークを介して配布してもよい。   The communication method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. The communication program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. The communication program may be distributed via a network such as the Internet.

上述した実施の形態に関し、さらに以下の付記を開示する。   The following additional notes are disclosed with respect to the embodiment described above.

(付記1)第1のノード及び第2のノードを備える第1のノード群と、第3のノード及び第4のノードを備える第2のノード群との間で、ネットワークを介して第1の通信および第2の通信を実行する該第1のノードであって、
前記第1のノードと前記第3のノードとの間に、前記ネットワークを介する通信経路を設定する設定手段と、
前記第2のノードと前記第4のノードとの間で行われる第2の通信に係るデータであって前記第2のノードから受信した該データから、送信対象のデータを決定する決定手段と、
決定された前記送信対象のデータを、前記通信経路を介して、前記第3のノードに送信する送信手段と、
前記ネットワークの伝送能力に基づいて、前記送信手段によって周期的に実行される送信処理の開始時点から現時点までに、前記送信対象のデータの送信にかかる所要時間を算出する算出手段と、
前記現時点から前記所要時間が経過した時点が、前記第2のノードと前記第4のノードとの間で周期的に実行される第1の通信の開始時点と一致するか否かを判定する判定手段と、
を備え、
前記決定手段は、前記判定手段によって判定された判定結果に基づいて、前記受信したデータから前記送信対象のデータを決定する、
ことを特徴とするノード。
(Supplementary note 1) The first node group including the first node and the second node and the second node group including the third node and the fourth node are connected to each other via the network. The first node performing communication and second communication, comprising:
Setting means for setting a communication path via the network between the first node and the third node;
Determining means for determining data to be transmitted from the data received from the second node, which is data related to the second communication performed between the second node and the fourth node;
Transmitting means for transmitting the determined data to be transmitted to the third node via the communication path;
Based on the transmission capability of the network, calculation means for calculating a time required for transmission of the transmission target data from the start time of transmission processing periodically executed by the transmission means to the present time;
Determining whether or not the time when the required time has elapsed from the current time coincides with the start time of the first communication periodically executed between the second node and the fourth node Means,
With
The determining means determines the data to be transmitted from the received data based on the determination result determined by the determining means.
A node characterized by that.

(付記2)第1の通信の開始時点と一致すると判定された場合、前記受信したデータから、第1の通信の通信先となる前記第4のノードを備える前記第2のノード群の前記第3のノードを宛先としない任意のデータを抽出する抽出手段を備え、
前記決定手段は、前記抽出手段によって抽出されたデータを、前記送信対象のデータに決定することを特徴とする付記1に記載のノード。
(Supplementary Note 2) When it is determined that the time coincides with the start time of the first communication, the second node group including the fourth node serving as a communication destination of the first communication is determined from the received data. An extraction means for extracting arbitrary data not destined for the node of 3;
The node according to claim 1, wherein the determining unit determines the data extracted by the extracting unit as the data to be transmitted.

(付記3)前記決定手段は、前記抽出手段によって抽出されたデータのうち、前記現時点から前記所要時間が経過した時点に前記第2のノードと前記第4のノード間で実行される第1の通信に関するデータのデータ量以下であるデータを、前記送信対象のデータに決定することを特徴とする付記2に記載のノード。 (Additional remark 3) The said determination means is a 1st which is performed between the said 2nd node and the said 4th node when the said required time passes from the said present time among the data extracted by the said extraction means. The node according to appendix 2, wherein data that is equal to or less than a data amount of data related to communication is determined as the data to be transmitted.

(付記4)前記算出手段は、第1の通信の開始時点と一致しないと判定された場合、前記ネットワークの伝送能力に基づいて、前記現時点から前記所要時間が経過した時点から、第1の通信の前記開始時点となるまでの残余の時間に送信可能なデータ量を算出し、
前記抽出手段は、前記受信されたデータの中から前記算出手段によって算出されたデータ量以下のデータを、抽出することを特徴とする付記2または3に記載のノード。
(Supplementary Note 4) When it is determined that the calculation means does not coincide with the start time of the first communication, the first communication is started from the time when the required time has elapsed from the current time based on the transmission capability of the network. The amount of data that can be transmitted in the remaining time until the start time of
The node according to appendix 2 or 3, wherein the extraction unit extracts data equal to or less than the data amount calculated by the calculation unit from the received data.

(付記5)前記決定手段は、前記受信されたデータのうち前記送信対象のデータが存在しない場合、前記ネットワークの中継装置において破棄されるデータを、前記送信対象のデータに決定することを特徴とする付記1〜4のいずれか一つに記載のノード。 (Additional remark 5) The said determination means determines the data discarded in the relay apparatus of the said network to the said transmission target data, when the said transmission target data does not exist among the received data, It is characterized by the above-mentioned. The node according to any one of appendices 1 to 4.

(付記6)前記送信手段は、
前記通信経路を介して前記第3のノードから受信されるデータから順次決定される前記送信対象のデータを、前記第2のノードに送信することを特徴とする付記1〜5のいずれか一つに記載のノード。
(Appendix 6) The transmission means includes:
Any one of appendices 1 to 5, wherein the transmission target data sequentially determined from data received from the third node via the communication path is transmitted to the second node. Node described in.

(付記7)複数のノード群が中継装置を介して接続されたネットワーク内のノードであって、
データ群の中から送信対象として順次決定されるデータを、前記複数のノード群のうち自ノードを含むノード群から選ばれた一のノードに送信する送信手段と、
前記ネットワークの伝送能力に基づいて、前記送信手段によって周期的に実行される送信処理の開始時点から現時点までに前記送信対象として順次決定されたデータ列の送信にかかる所要時間を算出する算出手段と、
前記現時点から前記算出手段によって算出された所要時間が経過した時点が、前記複数のノード群のいずれかのノード間で周期的に実行される通信処理の開始時点と一致するか否かを判定する判定手段と、
前記判定手段によって判定された判定結果に基づいて、前記データ群の中から前記送信対象となるデータを決定する決定手段と、
を備えることを特徴とするノード。
(Appendix 7) Nodes in a network in which a plurality of node groups are connected via a relay device,
Transmission means for transmitting data sequentially determined as a transmission target from among the data group to one node selected from a node group including the own node among the plurality of node groups;
Calculation means for calculating a time required for transmission of the data sequence sequentially determined as the transmission target from the start time of transmission processing periodically executed by the transmission means to the current time based on the transmission capability of the network; ,
It is determined whether or not the time when the required time calculated by the calculation means has elapsed from the current time coincides with the start time of communication processing periodically executed between any one of the plurality of node groups. A determination means;
A determination unit that determines the data to be transmitted from the data group based on the determination result determined by the determination unit;
A node characterized by comprising:

(付記8)第1のノード及び第2のノードを備える第1のノード群と、第3のノード及び第4のノードを備える第2のノード群との間で、ネットワークを介して第1の通信および第2の通信を実行する該第1のノードのコンピュータに実行させる通信プログラムであって、
前記第2のノードと前記第4のノードとの間で行われる第2の通信に係るデータを前記第2のノードから受信する受信工程と、
前記第1のノードと前記第3のノードとの間に、前記ネットワークを介する通信経路を設定する設定工程と、
前記ネットワークの伝送能力に基づいて、前記受信したデータから送信対象として順次決定されるデータを送信するために周期的に実行される送信処理の開始時点から現時点までに順次決定された前記送信対象のデータの送信にかかる所要時間を算出させる算出工程と、
前記現時点から前記所要時間が経過した時点が、前記第2のノードと前記第4のノードとの間で周期的に実行される第1の通信の開始時点と一致するか否かを判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記受信したデータから前記送信対象のデータを決定する決定工程と、
を前記コンピュータに実行させることを特徴とする通信プログラム。
(Supplementary note 8) The first node group including the first node and the second node and the second node group including the third node and the fourth node are connected to each other via the network. A communication program to be executed by the computer of the first node that executes communication and second communication,
A receiving step of receiving data related to second communication performed between the second node and the fourth node from the second node;
A setting step of setting a communication path through the network between the first node and the third node;
Based on the transmission capability of the network, the transmission target sequentially determined from the start point of the transmission process periodically executed to transmit the data sequentially determined as the transmission target from the received data to the present time A calculation step for calculating the time required for data transmission;
Determining whether or not the time when the required time has elapsed from the current time coincides with the start time of the first communication periodically executed between the second node and the fourth node Process,
A determination step of determining the transmission target data from the received data based on the determination result determined by the determination step;
A communication program for causing a computer to execute.

(付記9)第1のノード及び第2のノードを備える第1のノード群と、第3のノード及び第4のノードを備える第2のノード群との間で、ネットワークを介して第1の通信および第2の通信を実行する該第1のノードのコンピュータが、
前記第2のノードと前記第4のノードとの間で行われる第2の通信に係るデータを前記第2のノードから受信する受信工程と、
前記第1のノードと前記第3のノードとの間に、前記ネットワークを介する通信経路を設定する設定工程と、
前記ネットワークの伝送能力に基づいて、前記受信したデータから送信対象として順次決定されるデータを送信するために周期的に実行される送信処理の開始時点から現時点までに順次決定された前記送信対象のデータの送信にかかる所要時間を算出させる算出工程と、
前記現時点から前記所要時間が経過した時点が、前記第2のノードと前記第4のノードとの間で周期的に実行される第1の通信の開始時点と一致するか否かを判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記受信したデータから前記送信対象のデータを決定する決定工程と、
を実行することを特徴とする通信方法。
(Supplementary note 9) The first node group including the first node and the second node and the second node group including the third node and the fourth node are connected to each other via the network. A computer of the first node that performs communication and second communication;
A receiving step of receiving data related to second communication performed between the second node and the fourth node from the second node;
A setting step of setting a communication path through the network between the first node and the third node;
Based on the transmission capability of the network, the transmission target sequentially determined from the start point of the transmission process periodically executed to transmit the data sequentially determined as the transmission target from the received data to the present time A calculation step for calculating the time required for data transmission;
Determining whether or not the time when the required time has elapsed from the current time coincides with the start time of the first communication periodically executed between the second node and the fourth node Process,
A determination step of determining the transmission target data from the received data based on the determination result determined by the determination step;
The communication method characterized by performing.

300,2900 ネットワークシステム
310 ネットワーク
701,1501 受信部
702 設定部
703 関連付け部
704,1503 送信部
705,1502 検出部
706,1504 割当部
707,1505 第1の算出部
708,1506 判定部
709,1507 決定部
710,1509 第2の算出部
711,1508 抽出部
712 判断部
グループノード GN
中継ノード JN
N1〜N12 ノード
SW1〜SW5 スイッチ
300, 2900 Network system 310 Network 701, 1501 Reception unit 702 Setting unit 703 Association unit 704, 1503 Transmission unit 705, 1502 Detection unit 706, 1504 Allocation unit 707, 1505 First calculation unit 708, 1506 Determination unit 709, 1507 Determination Unit 710, 1509 Second calculation unit 711, 1508 Extraction unit 712 Judgment unit Group node GN
Relay node JN
N1-N12 node SW1-SW5 switch

Claims (7)

第1のノード及び第2のノードを備える第1のノード群と、第3のノード及び第4のノードを備える第2のノード群との間で、ネットワークを介して第1の通信および第2の通信を実行する該第1のノードであって、
前記第1のノードと前記第3のノードとの間に、前記ネットワークを介する通信経路を設定する設定手段と、
前記第2のノードと前記第4のノードとの間で行われる第2の通信に係るデータであって前記第2のノードから受信した該データから、送信対象のデータを決定する決定手段と、
決定された前記送信対象のデータを、前記通信経路を介して、前記第3のノードに送信する送信手段と、
前記ネットワークの伝送能力に基づいて、前記送信手段によって周期的に実行される送信処理の開始時点から現時点までに、前記送信対象のデータの送信にかかる所要時間を算出する算出手段と、
前記現時点から前記所要時間が経過した時点が、前記第2のノードと前記第4のノードとの間で周期的に実行される第1の通信の開始時点と一致するか否かを判定する判定手段と、
を備え、
前記決定手段は、前記判定手段によって判定された判定結果に基づいて、前記受信したデータから前記送信対象のデータを決定する、
ことを特徴とするノード。
Between the first node group including the first node and the second node and the second node group including the third node and the fourth node; The first node executing the communication of
Setting means for setting a communication path via the network between the first node and the third node;
Determining means for determining data to be transmitted from the data received from the second node, which is data related to the second communication performed between the second node and the fourth node;
Transmitting means for transmitting the determined data to be transmitted to the third node via the communication path;
Based on the transmission capability of the network, calculation means for calculating a time required for transmission of the transmission target data from the start time of transmission processing periodically executed by the transmission means to the present time;
Determining whether or not the time when the required time has elapsed from the current time coincides with the start time of the first communication periodically executed between the second node and the fourth node Means,
With
The determining means determines the data to be transmitted from the received data based on the determination result determined by the determining means.
A node characterized by that.
第1の通信の開始時点と一致すると判定された場合、前記受信したデータから、第1の通信の通信先となる前記第4のノードを備える前記第2のノード群の前記第3のノードを宛先としない任意のデータを抽出する抽出手段を備え、
前記決定手段は、前記抽出手段によって抽出されたデータを、前記送信対象のデータに決定することを特徴とする請求項1に記載のノード。
When it is determined that it coincides with the start time of the first communication, from the received data, the third node of the second node group including the fourth node serving as a communication destination of the first communication is determined. It has extraction means to extract any data that is not a destination,
The node according to claim 1, wherein the determining unit determines the data extracted by the extracting unit as the data to be transmitted.
前記決定手段は、前記抽出手段によって抽出されたデータのうち、前記現時点から前記所要時間が経過した時点に前記第2のノードと前記第4のノード間で実行される第1の通信に関するデータのデータ量以下であるデータを、前記送信対象のデータに決定することを特徴とする請求項2に記載のノード。   The determining means includes data of the first communication executed between the second node and the fourth node when the required time has elapsed from the current time out of the data extracted by the extracting means. The node according to claim 2, wherein data that is equal to or less than a data amount is determined as the data to be transmitted. 前記算出手段は、第1の通信の開始時点と一致しないと判定された場合、前記ネットワークの伝送能力に基づいて、前記現時点から前記所要時間が経過した時点から、第1の通信の前記開始時点となるまでの残余の時間に送信可能なデータ量を算出し、
前記抽出手段は、前記受信されたデータの中から前記算出手段によって算出されたデータ量以下のデータを、抽出することを特徴とする請求項2または3に記載のノード。
When it is determined that the calculation means does not coincide with the start time of the first communication, the start time of the first communication is determined from the time when the required time has elapsed from the current time based on the transmission capability of the network. Calculate the amount of data that can be sent in the remaining time until
4. The node according to claim 2, wherein the extraction unit extracts data equal to or less than the data amount calculated by the calculation unit from the received data. 5.
前記決定手段は、前記受信されたデータのうち前記送信対象のデータが存在しない場合、前記ネットワークの中継装置において破棄されるデータを、前記送信対象のデータに決定することを特徴とする請求項1〜4のいずれか一つに記載のノード。   The determination unit determines data to be discarded in the relay device of the network as the data to be transmitted when the data to be transmitted does not exist among the received data. The node as described in any one of -4. 第1のノード及び第2のノードを備える第1のノード群と、第3のノード及び第4のノードを備える第2のノード群との間で、ネットワークを介して第1の通信および第2の通信を実行する該第1のノードのコンピュータに実行させる通信プログラムであって、
前記第2のノードと前記第4のノードとの間で行われる第2の通信に係るデータを前記第2のノードから受信する受信工程と、
前記第1のノードと前記第3のノードとの間に、前記ネットワークを介する通信経路を設定する設定工程と、
前記ネットワークの伝送能力に基づいて、前記受信したデータから送信対象として順次決定されるデータを送信するために周期的に実行される送信処理の開始時点から現時点までに順次決定された前記送信対象のデータの送信にかかる所要時間を算出させる算出工程と、
前記現時点から前記所要時間が経過した時点が、前記第2のノードと前記第4のノードとの間で周期的に実行される第1の通信の開始時点と一致するか否かを判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記受信したデータから前記送信対象のデータを決定する決定工程と、
を前記コンピュータに実行させることを特徴とする通信プログラム。
Between the first node group including the first node and the second node and the second node group including the third node and the fourth node; A communication program to be executed by the computer of the first node that executes communication of
A receiving step of receiving data related to second communication performed between the second node and the fourth node from the second node;
A setting step of setting a communication path through the network between the first node and the third node;
Based on the transmission capability of the network, the transmission target sequentially determined from the start point of the transmission process periodically executed to transmit the data sequentially determined as the transmission target from the received data to the present time A calculation step for calculating the time required for data transmission;
Determining whether or not the time when the required time has elapsed from the current time coincides with the start time of the first communication periodically executed between the second node and the fourth node Process,
A determination step of determining the transmission target data from the received data based on the determination result determined by the determination step;
A communication program for causing a computer to execute.
第1のノード及び第2のノードを備える第1のノード群と、第3のノード及び第4のノードを備える第2のノード群との間で、ネットワークを介して第1の通信および第2の通信を実行する該第1のノードのコンピュータが、
前記第2のノードと前記第4のノードとの間で行われる第2の通信に係るデータを前記第2のノードから受信する受信工程と、
前記第1のノードと前記第3のノードとの間に、前記ネットワークを介する通信経路を設定する設定工程と、
前記ネットワークの伝送能力に基づいて、前記受信したデータから送信対象として順次決定されるデータを送信するために周期的に実行される送信処理の開始時点から現時点までに順次決定された前記送信対象のデータの送信にかかる所要時間を算出させる算出工程と、
前記現時点から前記所要時間が経過した時点が、前記第2のノードと前記第4のノードとの間で周期的に実行される第1の通信の開始時点と一致するか否かを判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記受信したデータから前記送信対象のデータを決定する決定工程と、
を実行することを特徴とする通信方法。
Between the first node group including the first node and the second node and the second node group including the third node and the fourth node; A computer of the first node that performs communication of
A receiving step of receiving data related to second communication performed between the second node and the fourth node from the second node;
A setting step of setting a communication path through the network between the first node and the third node;
Based on the transmission capability of the network, the transmission target sequentially determined from the start point of the transmission process periodically executed to transmit the data sequentially determined as the transmission target from the received data to the present time A calculation step for calculating the time required for data transmission;
Determining whether or not the time when the required time has elapsed from the current time coincides with the start time of the first communication periodically executed between the second node and the fourth node Process,
A determination step of determining the transmission target data from the received data based on the determination result determined by the determination step;
The communication method characterized by performing.
JP2010062821A 2010-03-18 2010-03-18 Node, communication program, and communication method Expired - Fee Related JP5454266B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010062821A JP5454266B2 (en) 2010-03-18 2010-03-18 Node, communication program, and communication method
US13/045,965 US8797976B2 (en) 2010-03-18 2011-03-11 Node, computer-readable medium storing communication program, and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010062821A JP5454266B2 (en) 2010-03-18 2010-03-18 Node, communication program, and communication method

Publications (2)

Publication Number Publication Date
JP2011199496A JP2011199496A (en) 2011-10-06
JP5454266B2 true JP5454266B2 (en) 2014-03-26

Family

ID=44647189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010062821A Expired - Fee Related JP5454266B2 (en) 2010-03-18 2010-03-18 Node, communication program, and communication method

Country Status (2)

Country Link
US (1) US8797976B2 (en)
JP (1) JP5454266B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9132551B2 (en) * 2012-11-30 2015-09-15 Abb Technology Ag Teleoperated industrial robots
US9871614B2 (en) * 2014-07-22 2018-01-16 Nippon Telegraph And Telephone Corporation WDM/TDM-PON system and transmission start time correction method thereof
US10298510B1 (en) * 2015-12-16 2019-05-21 Amazon Technologies, Inc. Controlling data transmission rates of multiple devices
EP3629623B1 (en) * 2016-05-13 2021-03-24 Telefonaktiebolaget LM Ericsson (publ) Systems and methods of recommending a data rate in a wireless communications system
US11027420B2 (en) * 2018-03-14 2021-06-08 Fedex Corporate Services, Inc. Modular cargo storage apparatus for use on a base platform of a modular autonomous bot apparatus that transports an item being shipped

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001268105A (en) 2000-03-15 2001-09-28 Hitachi Ltd Data transfer method and data communication system
JP4551804B2 (en) 2005-03-30 2010-09-29 キヤノン株式会社 Transmission system, relay device, and control method
US8565799B2 (en) * 2007-04-04 2013-10-22 Qualcomm Incorporated Methods and apparatus for flow data acquisition in a multi-frequency network
US8310937B2 (en) * 2008-05-28 2012-11-13 Centurylink Intellectual Property Llc Voice packet dynamic echo cancellation system
US8031714B2 (en) * 2008-10-15 2011-10-04 Nokia Siemens Networks Gmbh & Co. Kg Using a cache of outgoing packet identifiers to recover from a protocol error in GTP-u
US8761084B2 (en) * 2009-01-14 2014-06-24 Synapsense Corporation Apparatus and method for establishing data communication in a time-synchronized mesh wireless network during time synchronization failures

Also Published As

Publication number Publication date
US20110228686A1 (en) 2011-09-22
JP2011199496A (en) 2011-10-06
US8797976B2 (en) 2014-08-05

Similar Documents

Publication Publication Date Title
JP5454266B2 (en) Node, communication program, and communication method
KR101720259B1 (en) An apparatus and a method of receiving and storing data packets controlled by a central controller
JP2003244148A (en) Data communication system, apparatus and method for data communication management, and computer program
US9197576B2 (en) Method and apparatus for allocating and prioritizing data transmission
KR101716832B1 (en) An assembly and a method of receiving and storing data while saving bandwidth by controlling updating of fill levels of queues
US20120327949A1 (en) Distributed processing of data frames by multiple adapters using time stamping and a central controller
CN112714023A (en) TSN bandwidth reservation system, bandwidth reservation value calculation method and device
KR20180031569A (en) Distributed processing in a network
JP2008263436A (en) Load distribution device and network apparatus
JP2024507298A (en) Methods, computer programs and apparatus implemented in packet-switched networks for scheduling transmission of Ethernet frames
CN112640386B (en) Method and simulation system for simulating the handling of reservation requests for multicast data streams in a communication network
JP2010193146A (en) Communication apparatus, and communication system
CN115550237A (en) Data processing method and related device
CN114531943B (en) Data transmission methods and automated communication networks
JP5381194B2 (en) Communication program, relay node, and communication method
JP2017108247A (en) Communication system
US20230171201A1 (en) Method for sending data packet and network device
JP4261992B2 (en) Information data transmission / reception device and transmission / reception method
JP2020120352A (en) On-vehicle communication system
JP2013013032A (en) Communication control method and communication control program
EP3198437A1 (en) Static message placement in queues based on an apriori defined placement plan
CN119254694A (en) A method for determining a master router and related devices
JP5959489B2 (en) Layer 2 connection device
JP2024076352A (en) NETWORK DEVICE, TIME SENSITIVE NETWORK SYSTEM, AND AUTOMATIC CONFIGURATION METHOD THEREOF
CN113905011A (en) Method and system for synchronizing Arp table of mimicry equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131223

R150 Certificate of patent or registration of utility model

Ref document number: 5454266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees