JP5772380B2 - COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM - Google Patents

COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM Download PDF

Info

Publication number
JP5772380B2
JP5772380B2 JP2011176423A JP2011176423A JP5772380B2 JP 5772380 B2 JP5772380 B2 JP 5772380B2 JP 2011176423 A JP2011176423 A JP 2011176423A JP 2011176423 A JP2011176423 A JP 2011176423A JP 5772380 B2 JP5772380 B2 JP 5772380B2
Authority
JP
Japan
Prior art keywords
acquisition
communication device
acquired
message
data
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.)
Active
Application number
JP2011176423A
Other languages
Japanese (ja)
Other versions
JP2013042247A (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 JP2011176423A priority Critical patent/JP5772380B2/en
Priority to US13/495,034 priority patent/US20130039172A1/en
Publication of JP2013042247A publication Critical patent/JP2013042247A/en
Application granted granted Critical
Publication of JP5772380B2 publication Critical patent/JP5772380B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes

Description

本発明は、通信をおこなう通信装置、通信方法、および通信プログラムに関する。   The present invention relates to a communication device, a communication method, and a communication program that perform communication.

クラスタなどの分散並列計算機を使った処理の分野では、処理過程において、通信相手がランダムな大量のメッセージ通信が発生する。このとき、一部の通信装置にメッセージ通信が一時的に集中する場合がある。これにより、ネットワークでデータの衝突が起き、結果としてネットワークの輻輳が発生する。   In the field of processing using a distributed parallel computer such as a cluster, a large amount of message communication with a random communication partner occurs in the processing process. At this time, message communication may temporarily concentrate on some communication devices. As a result, data collision occurs in the network, resulting in network congestion.

従来では、トークンと呼ばれる送信権をネットワーク上で周回させ、周回するトークンを受信した通信装置のみがメッセージを送信するようにして、ネットワーク上の通信量を制御しメッセージの衝突を回避する技術がある(例えば、下記特許文献1参照)。   Conventionally, there is a technique for circulating a transmission right called a token on a network, and transmitting a message only by a communication device that has received the circulating token to control a communication amount on the network and avoid a collision of messages. (For example, refer to Patent Document 1 below).

また、ネットワーク上の通信装置の数に応じて、周回させるトークンの数を変更する技術がある(例えば、下記特許文献2参照)。また、メッセージ通信が集中した通信装置での処理が安定するまで、メッセージの送信を中断する技術がある(例えば、下記特許文献3参照)。   There is also a technique for changing the number of tokens to be circulated according to the number of communication devices on the network (see, for example, Patent Document 2 below). In addition, there is a technique for interrupting message transmission until processing in a communication apparatus in which message communication is concentrated is stabilized (for example, see Patent Document 3 below).

特開平04−070235号公報Japanese Patent Laid-Open No. 04-070235 特開2000−332803号公報JP 2000-332803 A 特許第4343119号公報Japanese Patent No. 4343119

しかしながら、上述した従来技術は、複数の通信装置のそれぞれでの未送信のメッセージの量は考慮されていない。そのため、未送信のメッセージの量が多いために優先して送信をおこなわせるべき通信装置よりも先に、未送信のメッセージの量がまだ少ない他の通信装置に送信権を与えてしまうことがある。この場合、通信装置において、未送信のメッセージが格納されたバッファにメモリ不足が生じるといった問題があった。また、送信権の受信の待ち時間が長い通信装置よりも先に、待ち時間が短い通信装置に送信権を与えてしまうことがある。この場合、通信装置において、メッセージの送信期限を守れず、処理の遅延や処理エラーを生じてしまう。   However, the above-described conventional technology does not consider the amount of unsent messages in each of the plurality of communication devices. For this reason, since there is a large amount of unsent messages, a transmission right may be given to other communication devices that still have a small amount of unsent messages before communication devices that should be preferentially transmitted. . In this case, there has been a problem in the communication apparatus that a memory shortage occurs in a buffer storing unsent messages. In addition, a transmission right may be given to a communication apparatus with a short waiting time before a communication apparatus with a long waiting time for receiving a transmission right. In this case, in the communication device, the message transmission deadline cannot be observed, and processing delay or processing error occurs.

本発明は、1つの側面では、ネットワーク内の複数の通信装置の状況に応じてそれぞれの通信装置から効率よくデータを取得することができる通信装置、通信方法、および通信プログラムを提供することを目的とする。   An object of the present invention is, in one aspect, to provide a communication device, a communication method, and a communication program that can efficiently acquire data from each communication device according to the situation of a plurality of communication devices in a network. And

上述した課題を解決し、目的を達成するため、本発明の一側面によれば、複数の装置と通信する通信装置であって、複数の装置に含まれる第1の装置での自通信装置を取得元にする被取得データのデータ量を特定する第1の情報、および自通信装置とは異なる他の通信装置を取得元にする被取得データのデータ量を特定する第2の情報を、第1の装置から受信し、第1の情報、および第2の情報に基づいて、第1の装置を取得対象にするか否かを判定し、判定結果に応じて、自通信装置を取得元にする被取得データを第1の装置から取得する通信装置、通信方法、および通信プログラムが提案される。 In order to solve the above-described problems and achieve the object, according to one aspect of the present invention, there is provided a communication device that communicates with a plurality of devices , the communication device being a first device included in the plurality of devices. first information for specifying the data amount of the acquired data to an acquisition source, and the second information specifying a data amount of the acquired data to retrieve other different communication apparatus from the own communication device, the Based on the first information and the second information , it is determined whether or not the first device is an acquisition target, and depending on the determination result, the own communication device is used as the acquisition source. A communication device, a communication method, and a communication program for acquiring data to be acquired from a first device are proposed.

また、本発明の一側面によれば、取得元に取得させる被取得データのデータ量が閾値以上であることを検出し、被取得データのデータ量が閾値以上であることが検出された場合、被取得データのデータ量を特定する情報を、取得元に通知する通信装置、通信方法、および通信プログラムが提案される。   Further, according to one aspect of the present invention, when it is detected that the data amount of the acquired data to be acquired by the acquisition source is greater than or equal to the threshold value, and it is detected that the data amount of the acquired data is equal to or greater than the threshold value, A communication device, a communication method, and a communication program for notifying an acquisition source of information specifying the amount of data to be acquired are proposed.

本発明の一側面によれば、ネットワーク内の複数の通信装置の状況に応じてそれぞれの通信装置から効率よくデータを取得することができるという効果を奏する。   Advantageous Effects of Invention According to one aspect of the present invention, there is an effect that data can be efficiently acquired from each communication device according to the situation of a plurality of communication devices in the network.

図1は、通信装置による通信の内容を示す説明図(その1)である。FIG. 1 is an explanatory diagram (part 1) illustrating the contents of communication by a communication device. 図2は、通信装置による通信の内容を示す説明図(その2)である。FIG. 2 is an explanatory diagram (part 2) illustrating the contents of communication by the communication device. 図3は、実施の形態にかかる通信装置Nのハードウェア構成例を示すブロック図である。FIG. 3 is a block diagram of a hardware configuration example of the communication apparatus N according to the embodiment. 図4は、図3に示したRAM303に記憶されている被取得長履歴の内容を示す説明図である。FIG. 4 is an explanatory diagram showing the contents of the acquired length history stored in the RAM 303 shown in FIG. 図5は、図3に示したRAM303に記憶されている生成履歴の内容を示す説明図である。FIG. 5 is an explanatory diagram showing the contents of the generation history stored in the RAM 303 shown in FIG. 図6は、図3に示したRAM303に記憶されている要求トークンレイテンシ履歴の内容を示す説明図である。FIG. 6 is an explanatory diagram showing the contents of the request token latency history stored in the RAM 303 shown in FIG. 図7は、図3に示したRAM303に記憶されている被取得スループット履歴の内容を示す説明図である。FIG. 7 is an explanatory diagram showing the contents of the acquired throughput history stored in the RAM 303 shown in FIG. 図8は、図3に示したRAM303に記憶されている取得長履歴の内容を示す説明図である。FIG. 8 is an explanatory diagram showing the contents of the acquired length history stored in the RAM 303 shown in FIG. 図9は、図3に示したRAM303に記憶されている取得スループット履歴の内容を示す説明図である。FIG. 9 is an explanatory diagram showing the contents of the acquired throughput history stored in the RAM 303 shown in FIG. 図10は、図3に示したRAM303に記憶されている要求トークンリストの内容を示す説明図である。FIG. 10 is an explanatory diagram showing the contents of the request token list stored in the RAM 303 shown in FIG. 図11は、図3に示したRAM303に記憶されている通信相手リストの内容を示す説明図である。FIG. 11 is an explanatory diagram showing the contents of the communication partner list stored in the RAM 303 shown in FIG. 図12は、図3に示したRAM303に記憶されている取得条件の内容を示す説明図である。FIG. 12 is an explanatory diagram showing the contents of the acquisition conditions stored in the RAM 303 shown in FIG. 図13は、図3に示したRAM303に記憶されている取得依頼リストの内容を示す説明図である。FIG. 13 is an explanatory diagram showing the contents of the acquisition request list stored in the RAM 303 shown in FIG. 図14は、メッセージMの取得側としての通信装置Nの機能的構成を示すブロック図である。FIG. 14 is a block diagram illustrating a functional configuration of the communication apparatus N as a message M acquisition side. 図15は、メッセージMの被取得側としての通信装置Nの機能的構成を示すブロック図である。FIG. 15 is a block diagram illustrating a functional configuration of the communication device N as a message acquisition target side. 図16は、初期化処理の詳細を示すフローチャートである。FIG. 16 is a flowchart showing details of the initialization process. 図17は、アプリケーション利用登録処理の詳細を示すフローチャートである。FIG. 17 is a flowchart showing details of the application use registration process. 図18は、要求トークンの送信の内容を示す説明図である。FIG. 18 is an explanatory diagram showing the contents of the request token transmission. 図19は、バッファ管理処理の詳細を示すフローチャートである。FIG. 19 is a flowchart showing details of the buffer management process. 図20は、要求トークン送信処理の詳細を示すフローチャートである。FIG. 20 is a flowchart showing details of the request token transmission process. 図21は、要求トークンを受信した取得側の通信装置NによるメッセージMの取得の内容を示す説明図である。FIG. 21 is an explanatory diagram showing details of acquisition of the message M by the acquisition-side communication device N that has received the request token. 図22は、他の取得側へのバッファリング量を含む要求トークンに基づくメッセージMの取得の内容を示す説明図である。FIG. 22 is an explanatory diagram showing the contents of acquisition of the message M based on the request token including the buffering amount to the other acquisition side. 図23は、取得依頼登録処理の詳細を示すフローチャートである。FIG. 23 is a flowchart showing details of the acquisition request registration process. 図24は、取得処理の詳細を示すフローチャートである。FIG. 24 is a flowchart showing details of the acquisition process. 図25は、取得条件1200の変更の内容を示す説明図である。FIG. 25 is an explanatory diagram showing the details of the change in the acquisition condition 1200.

以下に添付図面を参照して、この発明にかかる通信装置、通信方法、および通信プログラムの実施の形態を詳細に説明する。この発明にかかる通信装置は、RDMA(Remote Direct Memory Access)転送により、他の通信装置の記憶装置からデータを直接取得する機能を有する。また、通信装置は、複数の取得側の通信装置ごとに、それぞれの取得側の通信装置に取得させる被取得データをバッファリングしている。   Exemplary embodiments of a communication device, a communication method, and a communication program according to the present invention will be explained below in detail with reference to the accompanying drawings. The communication apparatus according to the present invention has a function of directly acquiring data from a storage device of another communication apparatus by RDMA (Remote Direct Memory Access) transfer. Further, the communication device buffers data to be acquired to be acquired by each acquisition-side communication device for each of the plurality of acquisition-side communication devices.

ここで、ネットワークを流れるデータ量を制御し輻輳を抑制するために、まず、被取得側の通信装置は、バッファリングされているデータ量を特定する情報を、取得側の通信装置に通知する。次に、取得側の通信装置では、複数の被取得側の通信装置のそれぞれでバッファリングされているデータ量を特定する情報を受信することにより、複数の被取得側の通信装置でバッファリングされているデータ量を把握する。   Here, in order to control the amount of data flowing through the network and suppress congestion, the acquisition-side communication device first notifies the acquisition-side communication device of information specifying the buffered data amount. Next, the acquisition-side communication device receives the information specifying the amount of data buffered in each of the plurality of acquisition-side communication devices, and is buffered in the plurality of acquisition-side communication devices. Know the amount of data you have.

そして、取得側の通信装置は、バッファがより逼迫している被取得側の装置を優先して取得対象にして、ネットワークの輻輳を発生させないデータ量の範囲で、被取得データを取得していく。これにより、バッファの枯渇を回避しつつ、ネットワークを流れるデータ量を制御して、衝突を回避し、ネットワークの輻輳を抑制できる。また、1対1の通信装置間のスループットのみではなく、ネットワーク全体のスループットを向上させることができる。また、取得側の通信装置ごとに被取得データをバッファリングしているため、スループットを向上させることができる。   Then, the acquisition-side communication device preferentially acquires the acquisition-side device whose buffer is more tight, and acquires the acquired data within a range of data amount that does not cause network congestion. . Thereby, while avoiding buffer depletion, the amount of data flowing through the network can be controlled to avoid collisions and suppress network congestion. Further, not only the throughput between the one-to-one communication apparatuses but also the throughput of the entire network can be improved. Moreover, since the data to be acquired is buffered for each communication device on the acquisition side, the throughput can be improved.

(通信装置による通信の内容)
図1および図2は、通信装置による通信の内容を示す説明図である。ここで、図1および図2に示す通信システムは、複数の通信装置N(図1および図2では、例えば、3台の通信装置N1〜N3)がネットワークを介して接続され、メッセージMの通信をおこなうシステムである。また、通信システムは、ネットワークにおいて中継をおこなう機器であるスイッチングハブSHを含む。
(Contents of communication by communication device)
1 and 2 are explanatory diagrams showing the contents of communication by the communication device. Here, in the communication system shown in FIG. 1 and FIG. 2, a plurality of communication devices N (in FIG. 1 and FIG. 2, for example, three communication devices N1 to N3) are connected via a network to communicate a message M. It is a system that performs. The communication system includes a switching hub SH that is a device that performs relay in the network.

各通信装置Nは、他の通信装置NのメッセージMを直接取得することができる装置である。また、各通信装置Nは、取得側の通信装置Nごとに、それぞれの通信装置Nに取得させるメッセージM(被取得データ)をバッファリングするバッファBを有する。なお、メッセージMは、各通信装置Nが実行するアプリケーションによって生成される。   Each communication device N is a device that can directly acquire the message M of another communication device N. Each communication device N has a buffer B for buffering a message M (data to be acquired) to be acquired by each communication device N for each communication device N on the acquisition side. The message M is generated by an application executed by each communication device N.

例えば、通信装置N1は、通信装置N2に取得させるメッセージMをバッファリングするバッファB1t2と、通信装置N3に取得させるメッセージMをバッファリングするバッファB1t3と、を有している。   For example, the communication device N1 includes a buffer B1t2 that buffers a message M that is acquired by the communication device N2, and a buffer B1t3 that buffers a message M that is acquired by the communication device N3.

また、通信装置N2は、通信装置N1に取得させるメッセージMをバッファリングするバッファB2t1と、通信装置N3に取得させるメッセージMをバッファリングするバッファB2t3と、を有している。   Further, the communication device N2 has a buffer B2t1 for buffering the message M to be acquired by the communication device N1, and a buffer B2t3 for buffering the message M to be acquired by the communication device N3.

そして、通信装置N3は、通信装置N1に取得させるメッセージMをバッファリングするバッファB3t1と、通信装置N2に取得させるメッセージMをバッファリングするバッファB3t2と、を有している。   The communication device N3 includes a buffer B3t1 for buffering the message M to be acquired by the communication device N1, and a buffer B3t2 for buffering the message M to be acquired by the communication device N2.

以下では、通信装置N1,N3のそれぞれが、自通信装置NでバッファリングしているメッセージMを、通信装置N2に取得するように要求する場合を例に挙げて、通信装置Nによる通信の内容について説明する。   Hereinafter, the contents of communication by the communication device N will be described by taking as an example the case where each of the communication devices N1 and N3 requests the communication device N2 to acquire the message M buffered by the own communication device N. Will be described.

図1において、(1)通信装置N1は、通信装置N2に取得させるメッセージMが生成されるごとに、生成されたメッセージMをバッファB1t2に格納していく。また、同様に、通信装置N3でも、通信装置N2に取得させるメッセージMがバッファB3t2に格納されている。   In FIG. 1, (1) every time a message M to be acquired by the communication device N2 is generated, the communication device N1 stores the generated message M in the buffer B1t2. Similarly, in the communication device N3, the message M that is acquired by the communication device N2 is stored in the buffer B3t2.

(2)通信装置N1は、バッファB1t2に格納されたメッセージMを通信装置N2に取得させるために、メッセージMを取得するように要求する要求通知(以下、「要求トークン」という)を、通信装置N2に送信する。そして、通信装置N1は、通信装置N2によってメッセージMが取得されるのを待つ。ここで、要求トークンには、メッセージMの被取得側となる通信装置N1の識別子と、バッファB1t2に格納されているメッセージMのデータ量と、が含まれる。バッファB1t2に格納されているメッセージMのデータ量は、バッファB1t2の逼迫具合の指標となる情報である。   (2) The communication device N1 sends a request notification (hereinafter referred to as “request token”) requesting to acquire the message M to cause the communication device N2 to acquire the message M stored in the buffer B1t2. Send to N2. Then, the communication device N1 waits for the message M to be acquired by the communication device N2. Here, the request token includes the identifier of the communication device N1 that is the acquisition target of the message M and the data amount of the message M stored in the buffer B1t2. The data amount of the message M stored in the buffer B1t2 is information that serves as an index of the tightness of the buffer B1t2.

(3)同様に、通信装置N3は、バッファB3t2に格納されたメッセージMを、通信装置N2に取得させるために、要求トークンを通信装置N2に送信する。そして、通信装置N3は、通信装置N2によってメッセージMが取得されるのを待つ。ここで、要求トークンには、メッセージMの被取得側となる通信装置N3の識別子と、バッファB3t2に格納されているメッセージMのデータ量と、が含まれる。バッファB3t2に格納されているメッセージMのデータ量は、バッファB3t2の逼迫具合の指標となる情報である。   (3) Similarly, the communication device N3 transmits a request token to the communication device N2 in order to cause the communication device N2 to acquire the message M stored in the buffer B3t2. Then, the communication device N3 waits for the message M to be acquired by the communication device N2. Here, the request token includes the identifier of the communication device N3 that is the acquisition target of the message M and the data amount of the message M stored in the buffer B3t2. The data amount of the message M stored in the buffer B3t2 is information that serves as an index of the tightness of the buffer B3t2.

(4)通信装置N1,N3からそれぞれ要求トークンを受信した通信装置N2は、要求トークンに含まれるそれぞれの通信装置N1,N3でのバッファBに格納されているメッセージMのデータ量を参照して、取得対象にする通信装置N1,N3を選択する。ここでは、通信装置N2は、バッファBへ格納されているメッセージMのデータ量が多い通信装置N3を優先して取得対象にして、通信装置N3でバッファBがあふれる前にメッセージMを取得するべきであると判定する。   (4) The communication device N2 that has received the request token from each of the communication devices N1 and N3 refers to the data amount of the message M stored in the buffer B in each of the communication devices N1 and N3 included in the request token. The communication devices N1 and N3 to be acquired are selected. Here, the communication device N2 should acquire the message M before the buffer B overflows in the communication device N3 with priority given to the communication device N3 having a large amount of data of the message M stored in the buffer B. It is determined that

図2において、(1)通信装置N2は、ネットワークのスループットを参照して、ネットワークを輻輳させない範囲で、取得対象にした通信装置N3から取得するメッセージMの取得データ量を決定する。そして、通信装置N2は、取得対象にした通信装置N3から、取得データ量のメッセージMを取得する。一方、通信装置N2は、通信装置N1のメッセージMは、まだ取得しない。   In FIG. 2, (1) the communication device N2 refers to the throughput of the network and determines the acquisition data amount of the message M acquired from the communication device N3 that is the acquisition target within a range in which the network is not congested. And the communication apparatus N2 acquires the message M of acquisition data amount from the communication apparatus N3 made into acquisition object. On the other hand, the communication device N2 has not yet acquired the message M of the communication device N1.

(2)これにより、ネットワークに流れるメッセージMのデータ量を制御して、メッセージMの衝突を回避することができる。そのため、メッセージMの衝突に起因する輻輳を抑制することができる。そして、輻輳を抑制することができるため、輻輳に起因する通信時間の増加を回避することができ、ネットワーク全体の通信フェーズを短縮することができる。   (2) Thereby, the data amount of the message M flowing through the network can be controlled, and the collision of the message M can be avoided. Therefore, congestion due to the collision of the message M can be suppressed. Since congestion can be suppressed, an increase in communication time due to congestion can be avoided, and the communication phase of the entire network can be shortened.

また、各通信装置NでメッセージMをバッファリングすることにより、ネットワークのスループットを向上させることができる。そして、取得側の通信装置Nが、複数の被取得側の通信装置NのそれぞれのバッファBに格納されているメッセージMのデータ量を把握し、バッファBが逼迫しないようにメッセージMを取得していく。そのため、ネットワークを効率よく使用でき、ネットワーク全体のスループットを向上させることができる。   Further, by buffering the message M in each communication device N, the network throughput can be improved. Then, the acquisition-side communication device N grasps the data amount of the message M stored in each buffer B of the plurality of acquisition-side communication devices N, and acquires the message M so that the buffer B does not become tight. To go. Therefore, the network can be used efficiently and the throughput of the entire network can be improved.

(通信装置Nのハードウェア構成例)
図3は、実施の形態にかかる通信装置Nのハードウェア構成例を示すブロック図である。図3において、通信装置Nは、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、I/F(Interface)304と、ディスプレイ305と、キーボード306と、アプリケーションI/F307と、を備えている。また、各構成部はバス310によってそれぞれ接続されている。
(Example of hardware configuration of communication device N)
FIG. 3 is a block diagram of a hardware configuration example of the communication apparatus N according to the embodiment. In FIG. 3, a communication device N includes a CPU (Central Processing Unit) 301, a ROM (Read-Only Memory) 302, a RAM (Random Access Memory) 303, an I / F (Interface) 304, a display 305, A keyboard 306 and an application I / F 307 are provided. Each component is connected by a bus 310.

ここで、CPU301は、通信装置Nの全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。   Here, the CPU 301 governs overall control of the communication apparatus N. The ROM 302 stores a program such as a boot program. The RAM 303 is used as a work area for the CPU 301.

また、RAM303は、取得側の通信装置NごとのバッファBの領域として使用される。RAM303は、被取得長履歴と、生成履歴と、要求トークンレイテンシ履歴と、被取得スループット履歴と、を記憶している。また、RAM303は、取得長履歴と、取得スループット履歴と、要求トークンリストと、を記憶している。また、RAM303は、通信相手リストと、取得条件と、取得依頼リストと、を記憶している。   The RAM 303 is used as a buffer B area for each communication apparatus N on the acquisition side. The RAM 303 stores an acquisition length history, a generation history, a request token latency history, and an acquisition throughput history. The RAM 303 stores an acquisition length history, an acquisition throughput history, and a request token list. The RAM 303 stores a communication partner list, an acquisition condition, and an acquisition request list.

インターフェース(以下、「I/F」と略する。)304は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク320に接続され、このネットワーク320を介して他の装置に接続される。   An interface (hereinafter, abbreviated as “I / F”) 304 is connected to a network 320 such as a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet through a communication line, and the other via the network 320. Connected to other devices.

そして、I/F304は、ネットワーク320と内部のインターフェースを司り、RDMA転送により、他の装置とのデータの送受信をおこなう。また、I/F304は、RDMA転送により、他の装置の記憶領域に対して、直接、データの書き込みまたは読み出しを実行する。I/F304には、例えばモデムやネットワークアダプタなどを採用することができる。より具体的には、ネットワーク320が「Infini Band」である場合は、I/F304には、ホストチャネルアダプタ(HCA:Host Channel Adapter)が採用される。   The I / F 304 manages an internal interface with the network 320, and transmits / receives data to / from other apparatuses by RDMA transfer. The I / F 304 directly writes or reads data to / from a storage area of another device by RDMA transfer. For example, a modem or a network adapter can be adopted as the I / F 304. More specifically, when the network 320 is “Infini Band”, a host channel adapter (HCA) is adopted as the I / F 304.

「Infini Band」では、HCAに、データ転送を処理するキューペア(QP:Queue Pair)が保持される。ここで、QPとは、送信ワークキューと受信ワークキューで構成されたアドレス指定が可能なエンティティであり、被取得側の通信装置Nごとに存在する。そして、「Infini Band」の通信は、ポート間ではなく、QP間で行われる。具体的には、取得側の通信装置Nは、ワークキューに一連の命令をキューイングすることで、HCAに命令を実行させて、データ転送をおこなう。   In “Infini Band”, a queue pair (QP: Queue Pair) for processing data transfer is held in the HCA. Here, the QP is an addressable entity configured by a transmission work queue and a reception work queue, and exists for each communication device N on the acquisition side. The “Infini Band” communication is performed not between ports but between QPs. Specifically, the communication device N on the acquisition side causes the HCA to execute the instructions by queuing a series of instructions in the work queue, and performs data transfer.

ディスプレイ305は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ305は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。キーボード306は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。   A display 305 displays data such as a document, an image, and function information as well as a cursor, an icon, or a tool box. As the display 305, for example, a CRT, a TFT liquid crystal display, a plasma display, or the like can be adopted. The keyboard 306 includes keys for inputting characters, numbers, various instructions, and the like, and inputs data. Moreover, a touch panel type input pad or a numeric keypad may be used.

アプリケーションI/F307は、アプリケーションからのデータの入出力を制御する。例えば、アプリケーションI/F307は、アプリケーションが生成したデータをRAM303のバッファBに格納したり、I/F304によって外部装置から取得されたデータをアプリケーションに引き渡したりする。   The application I / F 307 controls input / output of data from the application. For example, the application I / F 307 stores data generated by the application in the buffer B of the RAM 303, and passes data acquired from the external device by the I / F 304 to the application.

(被取得長履歴の内容)
次に、図4を用いて、図3に示したRAM303に記憶されている被取得長履歴の内容について説明する。被取得長履歴は、自通信装置Nから他の通信装置Nが取得していったメッセージMのデータ量についての履歴である。
(Content of acquired length history)
Next, the contents of the acquired length history stored in the RAM 303 shown in FIG. 3 will be described with reference to FIG. The acquired length history is a history about the data amount of the message M acquired by the other communication device N from the own communication device N.

図4は、図3に示したRAM303に記憶されている被取得長履歴の内容を示す説明図である。被取得長履歴400は、時刻項目のそれぞれに対応付けてノード項目と、被取得長項目と、を有し、メッセージMが取得されるごとにレコードを構成する。   FIG. 4 is an explanatory diagram showing the contents of the acquired length history stored in the RAM 303 shown in FIG. The acquired length history 400 includes a node item and an acquired length item in association with each time item, and constitutes a record each time the message M is acquired.

時刻項目には、メッセージMが取得された時刻(秒)が記憶されている。ノード項目には、メッセージMの取得側の通信装置Nの識別子が記憶されている。被取得長項目には、取得されたメッセージMのデータ量(Byte)が記憶されている。   The time item stores the time (seconds) at which the message M was acquired. The node item stores an identifier of the communication device N on the message M acquisition side. The acquired length item stores the data amount (Bytes) of the acquired message M.

(生成履歴の内容)
次に、図5を用いて、図3に示したRAM303に記憶されている生成履歴の内容について説明する。生成履歴は、自通信装置NにおいてアプリケーションによりメッセージMが生成される速度(バッファBへメッセージMが格納される速度)についての履歴である。そして、生成履歴は、バッファBがあふれる前に取得側の通信装置NにメッセージMを取得させるためには、いつ要求トークンを送信すべきかを決定する際に、被取得側の通信装置Nにより参照される。
(Content of generation history)
Next, the contents of the generation history stored in the RAM 303 shown in FIG. 3 will be described with reference to FIG. The generation history is a history about the speed at which the message M is generated by the application in the communication apparatus N (the speed at which the message M is stored in the buffer B). Then, the generation history is referred to by the communication device N on the acquisition side when deciding when the request token should be transmitted in order to cause the communication device N on the acquisition side to acquire the message M before the buffer B overflows. Is done.

図5は、図3に示したRAM303に記憶されている生成履歴の内容を示す説明図である。生成履歴500は、時刻項目のそれぞれに対応付けてノード項目と、スループット項目と、を有し、アプリケーションでメッセージMが生成されるごとにレコードを構成する。   FIG. 5 is an explanatory diagram showing the contents of the generation history stored in the RAM 303 shown in FIG. The generation history 500 includes a node item and a throughput item in association with each time item, and configures a record each time a message M is generated by an application.

時刻項目には、メッセージMが生成された時刻(秒)が記憶されている。ノード項目には、生成されたメッセージMの取得側の通信装置Nの識別子が記憶されている。スループット項目には、単位時間に生成されたメッセージMのデータ量(Byte/秒)が記憶されている。   The time item stores the time (seconds) when the message M was generated. The node item stores the identifier of the communication device N on the acquisition side of the generated message M. In the throughput item, the data amount (Bytes / second) of the message M generated per unit time is stored.

(要求トークンレイテンシ履歴の内容)
次に、図6を用いて、図3に示したRAM303に記憶されている要求トークンレイテンシ履歴の内容について説明する。要求トークンレイテンシ履歴は、要求トークンを送信してからメッセージMが取得されるまでの時間についての履歴である。そして、要求トークンレイテンシ履歴は、バッファBがあふれる前に取得側の通信装置NにメッセージMを取得させるためには、いつ要求トークンを送信すべきかを決定する際に、被取得側の通信装置Nにより参照される。
(Contents of request token latency history)
Next, the contents of the request token latency history stored in the RAM 303 shown in FIG. 3 will be described with reference to FIG. The request token latency history is a history of the time from when the request token is transmitted until the message M is acquired. The request token latency history is obtained when the acquisition-side communication device N determines when the request token should be transmitted in order to cause the acquisition-side communication device N to acquire the message M before the buffer B overflows. Referenced by.

図6は、図3に示したRAM303に記憶されている要求トークンレイテンシ履歴の内容を示す説明図である。要求トークンレイテンシ履歴600は、時刻項目のそれぞれに対応付けてノード項目と、レイテンシ項目と、を有する。要求トークンレイテンシ履歴600は、要求トークンを送信するごとにレコードを構成し、メッセージMが取得されるごとにレコードを更新する。   FIG. 6 is an explanatory diagram showing the contents of the request token latency history stored in the RAM 303 shown in FIG. The request token latency history 600 has a node item and a latency item in association with each time item. The request token latency history 600 forms a record every time a request token is transmitted, and updates the record every time the message M is acquired.

時刻項目には、要求トークンを送信した時刻(秒)が記憶されている。ノード項目には、要求トークンの宛先になる取得側の通信装置Nの識別子が記憶されている。レイテンシ項目には、要求トークンを送信してからメッセージMが取得されるまでの時間(秒)が記憶されている。   In the time item, the time (seconds) at which the request token is transmitted is stored. The node item stores the identifier of the communication device N on the acquisition side that is the destination of the request token. In the latency item, a time (seconds) from when the request token is transmitted until the message M is acquired is stored.

(被取得スループット履歴の内容)
次に、図7を用いて、図3に示したRAM303に記憶されている被取得スループット履歴の内容について説明する。被取得スループット履歴は、単位時間に取得されたメッセージMのデータ量についての履歴であり、被取得長履歴400に基づいて作成される。そして、被取得スループット履歴は、バッファBがあふれる前に取得側の通信装置NにメッセージMを取得させるためには、いつ要求トークンを送信すべきかを決定する際に、被取得側の通信装置Nにより参照される。
(Content of acquired throughput history)
Next, the contents of the acquired throughput history stored in the RAM 303 shown in FIG. 3 will be described with reference to FIG. The acquired throughput history is a history of the data amount of the message M acquired in unit time, and is created based on the acquired length history 400. The acquired throughput history is obtained when the acquisition-side communication device N determines when the request token should be transmitted in order to cause the acquisition-side communication device N to acquire the message M before the buffer B overflows. Referenced by.

図7は、図3に示したRAM303に記憶されている被取得スループット履歴の内容を示す説明図である。被取得スループット履歴700は、時刻項目のそれぞれに対応付けてスループット項目を有し、メッセージMが取得されるごとにレコードを構成する。   FIG. 7 is an explanatory diagram showing the contents of the acquired throughput history stored in the RAM 303 shown in FIG. The acquired throughput history 700 has a throughput item associated with each time item, and constitutes a record each time the message M is acquired.

時刻項目には、メッセージMが取得された時刻(秒)が記憶されている。スループット項目には、単位時間に取得されたメッセージMのデータ量(Byte/秒)が記憶されている。具体的には、今回取得されたデータ量/(今回の被取得時刻−前回の被取得時刻)で算出できる。   The time item stores the time (seconds) at which the message M was acquired. The throughput item stores the data amount (Bytes / second) of the message M acquired per unit time. Specifically, it can be calculated by the amount of data acquired this time / (current acquisition time-previous acquisition time).

(取得長履歴の内容)
次に、図8を用いて、図3に示したRAM303に記憶されている取得長履歴の内容について説明する。取得長履歴は、自通信装置Nが他の通信装置Nから取得したメッセージMのデータ量についての履歴である。
(Contents of acquisition length history)
Next, the contents of the acquisition length history stored in the RAM 303 shown in FIG. 3 will be described with reference to FIG. The acquisition length history is a history about the data amount of the message M acquired from the other communication device N by the own communication device N.

図8は、図3に示したRAM303に記憶されている取得長履歴の内容を示す説明図である。取得長履歴800は、時刻項目のそれぞれに対応付けてノード項目と、取得長項目と、を有し、メッセージMを取得するごとにレコードを構成する。   FIG. 8 is an explanatory diagram showing the contents of the acquired length history stored in the RAM 303 shown in FIG. The acquisition length history 800 has a node item and an acquisition length item associated with each time item, and constitutes a record each time the message M is acquired.

時刻項目には、メッセージMを取得した時刻(秒)が記憶されている。ノード項目には、メッセージMの被取得側の通信装置Nの識別子が記憶されている。取得長項目には、取得したメッセージMのデータ量(Byte)が記憶されている。   In the time item, the time (seconds) at which the message M is acquired is stored. In the node item, an identifier of the communication device N on the acquisition side of the message M is stored. The data length (bytes) of the acquired message M is stored in the acquisition length item.

(取得スループット履歴の内容)
次に、図9を用いて、図3に示したRAM303に記憶されている取得スループット履歴の内容について説明する。取得スループット履歴は、単位時間に取得したメッセージMのデータ量についての履歴であり、取得長履歴800に基づいて作成される。そして、取得スループット履歴は、被取得側の通信装置NのバッファBがあふれないように、どの被取得側の通信装置Nを優先して取得対象に決定すべきかを判定する際に、取得側の通信装置Nにより参照される。
(Contents of acquisition throughput history)
Next, contents of the acquired throughput history stored in the RAM 303 shown in FIG. 3 will be described with reference to FIG. The acquisition throughput history is a history regarding the data amount of the message M acquired per unit time, and is created based on the acquisition length history 800. The acquisition throughput history is determined when the acquisition-side communication device N is to be determined as an acquisition target with priority so that the buffer B of the acquisition-side communication device N does not overflow. Referenced by the communication device N.

図9は、図3に示したRAM303に記憶されている取得スループット履歴の内容を示す説明図である。取得スループット履歴900は、時刻項目のそれぞれに対応付けてスループット項目を有し、メッセージMを取得するごとにレコードを構成する。   FIG. 9 is an explanatory diagram showing the contents of the acquired throughput history stored in the RAM 303 shown in FIG. The acquired throughput history 900 has a throughput item associated with each time item, and constitutes a record each time the message M is acquired.

時刻項目には、メッセージMを取得した時刻(秒)が記憶されている。スループット項目には、単位時間に取得したメッセージMのデータ量(Byte/秒)が記憶されている。具体的には、取得したデータ量/(今回の取得時刻−前回の取得時刻)で算出できる。   In the time item, the time (seconds) at which the message M is acquired is stored. In the throughput item, the data amount (Bytes / second) of the message M acquired per unit time is stored. Specifically, it can be calculated by acquired data amount / (current acquisition time−previous acquisition time).

(要求トークンリストの内容)
次に、図10を用いて、図3に示したRAM303に記憶されている要求トークンリストの内容について説明する。
(Request token list contents)
Next, the contents of the request token list stored in the RAM 303 shown in FIG. 3 will be described with reference to FIG.

図10は、図3に示したRAM303に記憶されている要求トークンリストの内容を示す説明図である。要求トークンリスト1000は、ノード項目のそれぞれに対応付けて時刻項目と、バッファ項目と、他バッファ項目と、残り時間項目と、を有し、要求トークンを受信するごとにレコードを構成する。   FIG. 10 is an explanatory diagram showing the contents of the request token list stored in the RAM 303 shown in FIG. The request token list 1000 has a time item, a buffer item, another buffer item, and a remaining time item in association with each node item, and constitutes a record each time a request token is received.

ノード項目には、要求トークンの送信元になる通信装置Nの識別子が記憶されている。時刻項目には、要求トークンを受信した時刻(秒)が記憶されている。バッファ項目には、要求トークンの送信元での要求トークンの宛先を取得元にするメッセージMが格納されるバッファBに格納されているデータ量(Byte)が記憶されている。   The node item stores the identifier of the communication device N that is the transmission source of the request token. The time item stores the time (seconds) at which the request token is received. The buffer item stores the amount of data (bytes) stored in the buffer B in which the message M whose destination is the request token destination at the request token transmission source is stored.

他バッファ項目には、要求トークンの宛先を取得側にするメッセージMが格納されるバッファBとは異なる他のバッファBに格納されているデータ量(Byte)が記憶されている。残り時間項目には、要求トークンの送信元におけるメッセージMの取得期限までの残り時間が記憶されている。   The other buffer item stores a data amount (Byte) stored in another buffer B different from the buffer B in which the message M having the destination of the request token as the acquisition side is stored. The remaining time item stores the remaining time until the acquisition deadline of the message M at the request token transmission source.

(通信相手リストの内容)
次に、図11を用いて、図3に示したRAM303に記憶されている通信相手リストの内容について説明する。通信相手リストは、取得側の通信装置NがメッセージMを取得する際に、または被取得側の通信装置Nが要求トークンを送信する際に、参照される。
(Contents of communication partner list)
Next, the contents of the communication partner list stored in the RAM 303 shown in FIG. 3 will be described with reference to FIG. The communication partner list is referred to when the acquisition-side communication apparatus N acquires the message M or when the acquisition-side communication apparatus N transmits a request token.

図11は、図3に示したRAM303に記憶されている通信相手リストの内容を示す説明図である。通信相手リスト1100は、ノード項目のそれぞれに対応付けてキューペア項目を有し、通信相手になる通信装置Nごとにレコードを構成する。   FIG. 11 is an explanatory diagram showing the contents of the communication partner list stored in the RAM 303 shown in FIG. The communication partner list 1100 has a queue pair item associated with each node item, and constitutes a record for each communication device N that becomes a communication partner.

ノード項目には、通信相手になる通信装置Nの識別子が記憶されている。キューペア項目には、通信装置Nに対応するキューペアを特定する識別子が記憶されている。   The node item stores an identifier of the communication device N that is a communication partner. In the queue pair item, an identifier for specifying a queue pair corresponding to the communication device N is stored.

(取得条件の内容)
次に、図12を用いて、図3に示したRAM303に記憶されている取得条件の内容について説明する。取得条件は、ネットワークを輻輳させない範囲で、同時に取得可能な通信装置Nの数と、それぞれの通信装置Nから取得するメッセージMのデータ量の上限値と、についてのテーブルである。
(Contents of acquisition conditions)
Next, the contents of the acquisition conditions stored in the RAM 303 shown in FIG. 3 will be described with reference to FIG. The acquisition condition is a table of the number of communication devices N that can be acquired simultaneously and the upper limit value of the data amount of the message M acquired from each communication device N within a range in which the network is not congested.

図12は、図3に示したRAM303に記憶されている取得条件の内容を示す説明図である。取得条件1200は、現在取得数項目と、最大取得数項目と、許可長項目と、を有し、通信装置Nの初期化処理の時にレコードを構成し、通信装置Nが通信を開始または終了するごとにレコードを更新する。   FIG. 12 is an explanatory diagram showing the contents of the acquisition conditions stored in the RAM 303 shown in FIG. The acquisition condition 1200 includes a current acquisition number item, a maximum acquisition number item, and a permission length item, and configures a record when the communication device N is initialized, and the communication device N starts or ends communication. Update the record every time.

現在取得数項目には、現在取得中の取得対象の通信装置Nの数が記憶されている。最大取得数項目には、同時に取得する通信装置Nの数の最大値が記憶されている。許可長項目には、通信装置Nから取得するメッセージMのデータ量の上限値が記憶されている。   In the current acquisition number item, the number of communication devices N to be acquired currently being acquired is stored. In the maximum acquisition number item, the maximum value of the number of communication devices N acquired simultaneously is stored. In the permission length item, an upper limit value of the data amount of the message M acquired from the communication device N is stored.

なお、ここでは、複数の被取得側の通信装置Nのそれぞれから取得するメッセージMのデータ量を同じ値にしている。しかし、被取得側の通信装置Nごとに、取得するメッセージMのデータ量を変えてもよい。この場合、取得条件1200は、複数の被取得側の通信装置Nごとに、許可長項目を有してもよい。   Here, the data amount of the message M acquired from each of the plurality of acquisition-side communication devices N is set to the same value. However, the data amount of the message M to be acquired may be changed for each communication device N on the acquisition side. In this case, the acquisition condition 1200 may include a permission length item for each of the plurality of acquisition-side communication devices N.

(取得依頼リストの内容)
次に、図13を用いて、図3に示したRAM303に記憶されている取得依頼リストの内容について説明する。
(Contents of the acquisition request list)
Next, the contents of the acquisition request list stored in the RAM 303 shown in FIG. 3 will be described with reference to FIG.

図13は、図3に示したRAM303に記憶されている取得依頼リストの内容を示す説明図である。取得依頼リスト1300は、ノード項目のそれぞれに対応付けて、要求トークン項目を有し、要求トークンに基づく取得依頼が登録されるごとにレコードを構成する。   FIG. 13 is an explanatory diagram showing the contents of the acquisition request list stored in the RAM 303 shown in FIG. The acquisition request list 1300 has a request token item associated with each node item, and constitutes a record each time an acquisition request based on the request token is registered.

ノード項目には、取得対象にした被取得側になる通信装置Nの識別子が記憶されている。要求トークン項目には、取得対象にした被取得側の通信装置Nから受信した要求トークンの識別子が記憶されている。要求トークンの識別子は、例えば、要求トークンリスト1000のレコードへのポインタである。   The node item stores the identifier of the communication device N that is the acquisition target and is the acquisition target. The request token item stores the identifier of the request token received from the acquisition-side communication device N that is the acquisition target. The identifier of the request token is, for example, a pointer to a record in the request token list 1000.

(通信装置Nの機能的構成例)
次に、図14および図15を用いて、通信装置Nの機能的構成例について説明する。ここでは、簡単のため、メッセージMの被取得側としての通信装置Nの機能と、メッセージMの取得側としての通信装置Nの機能と、を分けて説明している。ただし、通信装置Nは、メッセージMの被取得側としての機能と、メッセージMの取得側としての機能と、を併せて有してよい。
(Functional configuration example of the communication device N)
Next, a functional configuration example of the communication apparatus N will be described with reference to FIGS. 14 and 15. Here, for the sake of simplicity, the function of the communication device N as the acquisition side of the message M and the function of the communication device N as the acquisition side of the message M are described separately. However, the communication device N may have both a function as the acquisition target of the message M and a function as the acquisition side of the message M.

図14は、メッセージMの取得側としての通信装置Nの機能的構成を示すブロック図である。通信装置Nは、受信部1401と、判定部1402と、取得部1403と、決定部1404と、を含む構成である。この制御部となる機能(受信部1401〜決定部1404)は、具体的には、例えば、図3に示したROM302、RAM303などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F304により、その機能を実現する。   FIG. 14 is a block diagram illustrating a functional configuration of the communication apparatus N as a message M acquisition side. The communication device N is configured to include a reception unit 1401, a determination unit 1402, an acquisition unit 1403, and a determination unit 1404. Specifically, the functions (reception unit 1401 to determination unit 1404) serving as the control unit are, for example, by causing the CPU 301 to execute a program stored in a storage device such as the ROM 302 and the RAM 303 illustrated in FIG. The function is realized by the I / F 304.

受信部1401は、複数の取得先のうちいずれかの取得先での自通信装置Nを取得元にする被取得データのデータ量を特定する情報を、いずれかの取得先から受信する機能を有する。ここで、取得先とは、上述した被取得側の通信装置Nである。被取得データとは、被取得側の通信装置Nが有し、取得側になる自通信装置Nが取得するデータであり、上述したメッセージMである。   The receiving unit 1401 has a function of receiving, from one of the acquisition sources, information specifying the data amount of the acquired data that is acquired from the communication device N at one of the plurality of acquisition sources. . Here, the acquisition destination is the communication device N on the acquisition side described above. The data to be acquired is data acquired by the communication apparatus N on the acquisition side and acquired by the communication apparatus N on the acquisition side, and is the message M described above.

データ量とは、自通信装置Nが取得するメッセージMが格納されるバッファB(以下、「自通信装置N宛のバッファB」という)に格納されているメッセージMのデータ量(以下、「自通信装置N宛のバッファリング量」という)である。データ量を特定する情報とは、例えば、自通信装置N宛のバッファリング量の即値であり、さらに、自通信装置N宛のバッファBの容量を含んでもよい。また、自通信装置N宛のバッファBの容量と、自通信装置N宛のバッファリング量と、の比率であってもよい。   The amount of data refers to the amount of data of the message M (hereinafter referred to as “self” The buffering amount addressed to the communication device N). The information specifying the data amount is, for example, an immediate value of the buffering amount addressed to the own communication device N, and may further include the capacity of the buffer B addressed to the own communication device N. Further, it may be a ratio between the capacity of the buffer B addressed to the own communication device N and the buffering amount addressed to the own communication device N.

具体的には、例えば、受信部1401は、被取得側の通信装置Nの識別子と、被取得側の通信装置Nでの自通信装置N宛のバッファリング量と、を含む要求トークンを受信する。これにより、受信部1401は、取得対象にする被取得側の通信装置Nを決定する指標になる情報を受信できる。なお、受信された要求トークンは、RAM303の要求トークンリスト1200に記憶される。   Specifically, for example, the receiving unit 1401 receives a request token including the identifier of the communication device N on the acquisition side and the buffering amount addressed to the own communication device N in the communication device N on the acquisition side. . Accordingly, the receiving unit 1401 can receive information that serves as an index for determining the acquisition-side communication device N to be acquired. The received request token is stored in the request token list 1200 of the RAM 303.

また、受信部1401は、いずれかの取得先とは異なる他の取得先での自通信装置Nを取得元にする被取得データのデータ量を特定する情報を、他の取得先から受信する機能を有する。具体的には、例えば、受信部1401は、複数の被取得側の通信装置Nのそれぞれから、各通信装置Nの識別子と、各通信装置Nでの自通信装置N宛のバッファリング量と、を含む要求トークンを受信する。これにより、受信部1401は、取得対象にする被取得側の通信装置Nを決定する指標になる情報を受信できる。   In addition, the reception unit 1401 has a function of receiving, from another acquisition destination, information that specifies the data amount of the acquired data that is acquired from the communication apparatus N at another acquisition destination that is different from any one of the acquisition destinations. Have Specifically, for example, the reception unit 1401 receives the identifier of each communication device N from each of the plurality of acquisition-side communication devices N, the buffering amount addressed to the own communication device N in each communication device N, and A request token containing is received. Accordingly, the receiving unit 1401 can receive information that serves as an index for determining the acquisition-side communication device N to be acquired.

また、受信部1401は、いずれかの取得先での自通信装置Nとは異なる他の通信装置Nを取得元にする被取得データのデータ量を特定する情報を、いずれかの取得先から受信する機能を有する。具体的には、例えば、受信部1401は、自通信装置Nとは異なる他の通信装置Nが取得するメッセージMが格納されるバッファB(以下、「他の通信装置N宛のバッファB」という)に格納されているメッセージMのデータ量(以下、「他の通信装置N宛のバッファリング量」という)を含む要求トークンを受信する。これにより、受信部1401は、取得対象にする被取得側の通信装置Nを決定する指標になる情報を受信できる。   In addition, the reception unit 1401 receives information specifying the data amount of the acquired data from another communication device N that is different from the own communication device N at any acquisition source from any acquisition source. It has the function to do. Specifically, for example, the receiving unit 1401 stores a message M acquired by another communication device N different from the own communication device N (hereinafter referred to as “buffer B addressed to another communication device N”). The request token including the data amount of the message M stored in () (hereinafter referred to as “buffering amount addressed to another communication device N”) is received. Accordingly, the receiving unit 1401 can receive information that serves as an index for determining the acquisition-side communication device N to be acquired.

また、受信部1401は、いずれかの取得先での自通信装置Nを取得元にする被取得データの取得期限に関する情報を、いずれかの取得先から受信する機能を有する。具体的には、例えば、受信部1401は、被取得側の通信装置Nでの自通信装置Nが取得するメッセージMの取得期限までの残り時間を含む要求トークンを受信する。これにより、受信部1401は、取得対象にする被取得側の通信装置Nを決定する指標になる情報を受信できる。   In addition, the reception unit 1401 has a function of receiving, from any acquisition destination, information related to the acquisition time limit of the data to be acquired using the own communication device N at any acquisition destination as the acquisition source. Specifically, for example, the reception unit 1401 receives a request token including the remaining time until the acquisition deadline of the message M acquired by the communication device N on the acquisition-side communication device N. Accordingly, the receiving unit 1401 can receive information that serves as an index for determining the acquisition-side communication device N to be acquired.

また、受信部1401は、いずれかの取得先とは異なる他の取得先での自通信装置Nを取得元にする被取得データの取得期限に関する情報を、他の取得先から受信する機能を有する。具体的には、例えば、受信部1401は、複数の被取得側の通信装置Nのそれぞれから、自通信装置Nが取得するメッセージMの取得期限までの残り時間を含む要求トークンを受信する。これにより、受信部1401は、取得対象にする被取得側の通信装置Nを決定する指標になる情報を受信できる。   In addition, the reception unit 1401 has a function of receiving, from another acquisition destination, information related to the acquisition deadline of the acquired data using the own communication device N at another acquisition destination different from any one of the acquisition destinations. . Specifically, for example, the reception unit 1401 receives a request token including the remaining time until the acquisition deadline of the message M acquired by the communication apparatus N from each of the plurality of communication apparatuses N on the acquisition side. Accordingly, the receiving unit 1401 can receive information that serves as an index for determining the acquisition-side communication device N to be acquired.

判定部1402は、受信部1401によって受信された情報に基づいて、いずれかの取得先を取得対象にするか否かを判定する機能を有する。なお、取得対象にすると判定された場合、取得対象にした取得先(被取得側の通信装置N)に対応するレコードが、取得依頼リスト1300に記憶される。   The determination unit 1402 has a function of determining whether or not any acquisition destination is to be acquired based on the information received by the reception unit 1401. If it is determined to be an acquisition target, a record corresponding to the acquisition destination (acquisition side communication device N) that is the acquisition target is stored in the acquisition request list 1300.

具体的には、例えば、判定部1402は、いずれかの取得先での自通信装置Nを取得元にする被取得データのデータ量を特定する情報と、他の取得先での自通信装置Nを取得元にする被取得データのデータ量を特定する情報と、を参照する。そして、判定部1402は、参照した情報に基づいて、いずれかの取得先を取得対象にするか否かを判定する。   Specifically, for example, the determination unit 1402 determines the amount of data to be acquired using the own communication device N at any acquisition destination as the acquisition source, and the own communication device N at another acquisition destination. And information for specifying the data amount of the data to be acquired from the acquisition source. Then, the determination unit 1402 determines whether or not any acquisition destination is to be acquired based on the referenced information.

より具体的には、例えば、判定部1402は、複数の被取得側の通信装置Nから受信した要求トークンに含まれる各通信装置Nでの自通信装置N宛のバッファリング量に基づいて、各通信装置Nでの自通信装置N宛のバッファBの逼迫具合を算出する。そして、判定部1402は、他の通信装置Nよりも自通信装置N宛のバッファBの逼迫具合が大きい通信装置Nを、優先して取得対象にすると判定する。これにより、自通信装置N宛のバッファBがより逼迫している被取得側の通信装置Nから優先してメッセージMを取得し、バッファBがあふれることを防止することができる。   More specifically, for example, the determination unit 1402 determines each communication device N based on the buffering amount destined for the communication device N included in the request tokens received from the plurality of acquisition-side communication devices N. The degree of tightness of the buffer B addressed to the own communication device N in the communication device N is calculated. Then, the determination unit 1402 determines that the communication device N whose buffer B addressed to the self-communication device N is larger than the other communication devices N is to be acquired preferentially. As a result, it is possible to preferentially acquire the message M from the communication device N on the acquisition side where the buffer B addressed to the own communication device N is more tight, and to prevent the buffer B from overflowing.

また、具体的には、例えば、判定部1402は、いずれかの取得先での自通信装置Nを取得元にする被取得データのデータ量を特定する情報と、いずれかの取得先での他の通信装置Nを取得元にする被取得データのデータ量を特定する情報と、を参照する。そして、判定部1402は、参照した情報に基づいて、いずれかの取得先を取得対象にするか否かを判定する。   Specifically, for example, the determination unit 1402 includes information specifying the amount of data to be acquired using the communication device N as an acquisition source at any acquisition destination, and other information at any acquisition destination. And the information specifying the data amount of the acquired data from the communication device N as the acquisition source. Then, the determination unit 1402 determines whether or not any acquisition destination is to be acquired based on the referenced information.

より具体的には、例えば、判定部1402は、要求トークンに含まれる自通信装置N宛のバッファリング量より、他の通信装置N宛のバッファリング量の方が多い場合、被取得側の通信装置Nを取得対象にしない。これにより、判定部1402は、被取得側の通信装置Nから、自通信装置Nよりも優先してメッセージMを取得するべき他の通信装置Nがある場合は、メッセージMを取得しないようにして、ネットワーク全体での効率化を図ることができる。   More specifically, for example, when the buffering amount destined for the other communication device N is larger than the buffering amount destined for the own communication device N included in the request token, the determination unit 1402 performs communication on the acquisition side. The device N is not targeted for acquisition. Accordingly, the determination unit 1402 does not acquire the message M when there is another communication device N that should acquire the message M in preference to the own communication device N from the communication device N on the acquisition side. The efficiency of the entire network can be improved.

また、具体的には、例えば、判定部1402は、いずれかの取得先での自通信装置Nを取得元にする被取得データの取得期限に関する情報に基づいて、いずれかの取得先を取得対象にするか否かを判定する。より具体的には、例えば、判定部1402は、要求トークンに含まれる被取得側の通信装置Nでの自通信装置N宛のメッセージMの取得期限までの残り時間を参照する。そして、判定部1402は、参照した残り時間が閾値以下である場合に、被取得側の通信装置Nを取得対象にする。これにより、自通信装置N宛のバッファリング量が少なくても、取得期限に切迫している場合には、被取得側の通信装置Nを取得対象にすることができる。   Specifically, for example, the determination unit 1402 obtains one of the acquisition destinations based on the information regarding the acquisition time limit of the acquired data using the own communication device N as the acquisition source. It is determined whether or not. More specifically, for example, the determination unit 1402 refers to the remaining time until the acquisition deadline of the message M addressed to the own communication device N in the acquired communication device N included in the request token. Then, when the remaining time referred to is less than or equal to the threshold, the determination unit 1402 sets the acquisition-side communication device N as an acquisition target. Thereby, even if the buffering amount addressed to the own communication device N is small, when the acquisition deadline is imminent, the acquisition-side communication device N can be the acquisition target.

また、具体的には、例えば、判定部1402は、いずれかの取得先での自通信装置Nを取得元にする被取得データの取得期限に関する情報と、他の取得先での自通信装置Nを取得元にする被取得データの取得期限に関する情報を参照する。そして、判定部1402は、参照した情報に基づいて、いずれかの取得先を取得対象にするか否かを判定する。   Specifically, for example, the determination unit 1402 includes information related to the acquisition time limit of the acquired data using the own communication device N at any acquisition destination as an acquisition source, and the own communication device N at another acquisition destination. Reference is made to the information related to the acquisition deadline of the data to be acquired from the acquisition source. Then, the determination unit 1402 determines whether or not any acquisition destination is to be acquired based on the referenced information.

より具体的には、例えば、判定部1402は、複数の被取得側の通信装置Nから受信した要求トークンに含まれる各通信装置Nでの自通信装置Nが取得するメッセージMの取得期限までの残り時間を参照する。そして、判定部1402は、参照した残り時間に基づいて、他の通信装置Nよりも取得期限までの残り時間が短い通信装置Nを、取得対象にすると判定する。これにより、より取得期限に切迫している通信装置Nから優先して取得対象にすることができる。なお、判定結果は、RAM303などの記憶領域に記憶される。   More specifically, for example, the determination unit 1402 determines until the acquisition deadline of the message M acquired by the communication device N in each communication device N included in the request token received from the plurality of communication devices N on the acquisition side. Refer to the remaining time. Based on the referenced remaining time, the determination unit 1402 determines that the communication device N whose remaining time until the acquisition deadline is shorter than the other communication devices N is to be acquired. As a result, the communication device N that is more imminent on the acquisition deadline can be given priority for acquisition. Note that the determination result is stored in a storage area such as the RAM 303.

また、具体的には、例えば、判定部1402は、取得中の取得対象の数が閾値以上である場合、いずれかの取得先を取得対象にしないと判定する。より具体的には、例えば、判定部1402は、取得対象にした被取得側の通信装置Nのうち、取得が終了していない通信装置Nの数が閾値以上である場合、あらたな被取得側の通信装置Nを取得対象にしないと判定する。これにより、ネットワークを流れるデータ量を制御し、ネットワークの輻輳を抑制する。   Specifically, for example, when the number of acquisition targets being acquired is equal to or greater than a threshold value, the determination unit 1402 determines that any acquisition destination is not an acquisition target. More specifically, for example, when the number of communication devices N that have not been acquired among the acquisition-side communication devices N that are acquisition targets is equal to or greater than a threshold value, the determination unit 1402 The communication device N is determined not to be acquired. This controls the amount of data flowing through the network and suppresses network congestion.

取得部1403は、判定部1402によって取得対象にすると判定されたいずれかの取得先から、通信装置Nを取得元にする被取得データを取得する機能を有する。具体的には、例えば、取得部1403は、取得対象にした被取得側の通信装置Nから、メッセージMを取得する。より具体的には、例えば、取得部1403は、通信相手リスト1100を参照して、取得対象にした被取得側の通信装置Nに対応するキューペアを特定し、特定したキューペアにメッセージMの取得の命令をキューイングし、HCAにメッセージMを取得させる。これにより、ネットワークにおいて、メッセージMの通信ができる。   The acquisition unit 1403 has a function of acquiring data to be acquired using the communication device N as an acquisition source from any acquisition destination determined to be an acquisition target by the determination unit 1402. Specifically, for example, the acquisition unit 1403 acquires the message M from the acquisition-side communication device N that is the acquisition target. More specifically, for example, the acquisition unit 1403 refers to the communication partner list 1100, identifies the queue pair corresponding to the communication device N on the acquisition side that is the acquisition target, and acquires the message M to the specified queue pair. Queuing instructions and causing the HCA to get message M. Thereby, communication of the message M can be performed in the network.

また、取得部1403は、判定部1402によって取得対象にすると判定されたいずれかの取得先から、決定部1404によって決定されたデータ量で、自通信装置Nを取得元にする被取得データを取得する機能を有する。具体的には、例えば、取得部1403は、取得対象にした被取得側の通信装置Nから、決定部1404によって決定されたデータ量で、メッセージMを取得する。これにより、ネットワークにおいて、メッセージMの通信ができる。   In addition, the acquisition unit 1403 acquires data to be acquired from the own communication device N as an acquisition source with any data amount determined by the determination unit 1404 from any acquisition destination determined to be an acquisition target by the determination unit 1402. It has the function to do. Specifically, for example, the acquisition unit 1403 acquires the message M from the communication device N on the acquisition side that is the acquisition target with the data amount determined by the determination unit 1404. Thereby, communication of the message M can be performed in the network.

決定部1404は、受信部1401によって受信された情報に基づいて、判定部1402によって取得対象にすると判定されたいずれかの取得先から取得するデータ量を決定する機能を有する。ここで、いずれかの取得先から取得するデータ量とは、上述した取得データ量である。   The determination unit 1404 has a function of determining the amount of data to be acquired from any acquisition destination that is determined to be an acquisition target by the determination unit 1402 based on the information received by the reception unit 1401. Here, the data amount acquired from any one of the acquisition destinations is the acquisition data amount described above.

具体的には、例えば、決定部1404は、ネットワークのスループットや、要求トークンに含まれる自通信装置N宛のバッファリング量に基づいて、ネットワークを輻輳させない範囲で、被取得側の通信装置Nから取得するメッセージMのデータ量を決定する。また、決定されたメッセージMのデータ量は、RAM303などの記憶領域に記憶される。これにより、決定部1404は、ネットワークの輻輳を抑制しつつ、取得可能なデータ量を決定することができる。   Specifically, for example, the determination unit 1404 determines from the communication device N on the acquisition side within a range in which the network is not congested based on the throughput of the network and the buffering amount addressed to the own communication device N included in the request token. The data amount of the message M to be acquired is determined. Further, the determined data amount of the message M is stored in a storage area such as the RAM 303. Accordingly, the determination unit 1404 can determine the amount of data that can be acquired while suppressing network congestion.

図15は、メッセージMの被取得側としての通信装置Nの機能的構成を示すブロック図である。通信装置Nは、検出部1501と、通知部1502と、を含む構成である。この制御部となる機能(検出部1501と通知部1502)は、具体的には、例えば、図3に示したROM302、RAM303などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F304により、その機能を実現する。   FIG. 15 is a block diagram illustrating a functional configuration of the communication device N as a message acquisition target side. The communication device N is configured to include a detection unit 1501 and a notification unit 1502. Specifically, the functions (detection unit 1501 and notification unit 1502) serving as the control unit are, for example, by causing the CPU 301 to execute a program stored in a storage device such as the ROM 302 and the RAM 303 illustrated in FIG. The function is realized by the I / F 304.

検出部1501は、取得元に取得させる被取得データのデータ量が閾値以上であることを検出する機能を有する。ここで、取得元とは、上述した取得側の通信装置Nである。被取得データとは、取得側の通信装置Nに取得させるメッセージMである。被取得データのデータ量とは、取得側の通信装置Nに取得させるメッセージMが格納されるバッファBのメッセージMのデータ量である。   The detection unit 1501 has a function of detecting that the amount of data to be acquired that is acquired by the acquisition source is greater than or equal to a threshold value. Here, the acquisition source is the above-described acquisition-side communication device N. The data to be acquired is a message M that is acquired by the communication device N on the acquisition side. The data amount of the data to be acquired is the data amount of the message M in the buffer B in which the message M that is acquired by the communication device N on the acquisition side is stored.

具体的には、例えば、検出部1501は、バッファBのバッファリング量が閾値以上であることを検出する。ここで、閾値とは、後述する目標バッファリング量であり、バッファBがあふれないように、バッファBがあふれる前に要求トークンを送信するための指標となる値である。例えば、閾値は、「バッファBの容量×安全係数(例えば、0.6)」である。また、例えば、閾値は、「バッファBの容量−平均の被取得スループット×平均の要求トークンのレイテンシ」である。これにより、検出部1501は、バッファBがあふれる前に、要求トークンを送信するトリガを発生させることができる。   Specifically, for example, the detection unit 1501 detects that the buffering amount of the buffer B is greater than or equal to a threshold value. Here, the threshold is a target buffering amount to be described later, and is a value serving as an index for transmitting a request token before the buffer B overflows so that the buffer B does not overflow. For example, the threshold value is “capacity of buffer B × safety factor (for example, 0.6)”. Further, for example, the threshold value is “the capacity of the buffer B−average acquired throughput × average request token latency”. Thereby, the detection unit 1501 can generate a trigger for transmitting a request token before the buffer B overflows.

また、検出部1501は、被取得データを生成したときからの経過時間が規定時間以上であることを検出する機能を有する。具体的には、検出部1501は、アプリケーションがメッセージMを生成したときに計時を開始して経過時間を計測し、経過時間が規定時間以上になったことを検出する。ここで、規定時間とは、後述するデッドラインであり、取得期限の前に要求トークンを送信するための指標となる値である。取得期限とは、アプリケーションが許容できるメッセージMのレイテンシ(メッセージMが生成されてから取得されるまでの時間)の最大値(以下、「最大許容レイテンシ」)である。   In addition, the detection unit 1501 has a function of detecting that the elapsed time from when the data to be acquired is generated is equal to or longer than a specified time. Specifically, the detection unit 1501 starts measuring time when the application generates the message M, measures the elapsed time, and detects that the elapsed time is equal to or longer than the specified time. Here, the specified time is a deadline to be described later, and is a value serving as an index for transmitting a request token before the acquisition deadline. The acquisition deadline is a maximum value (hereinafter, “maximum allowable latency”) of the latency of the message M that can be accepted by the application (the time from when the message M is generated until it is acquired).

例えば、規定時間は、「最大許容レイテンシ×安全係数(例えば、0.6)」である。また、例えば、規定時間は、「最大許容レイテンシ−平均の要求トークンのレイテンシ」である。これにより、検出部1501は、メッセージMの取得期限になる前に、要求トークンを送信するトリガを発生させることができる。   For example, the specified time is “maximum allowable latency × safety factor (for example, 0.6)”. For example, the specified time is “maximum allowable latency—average request token latency”. Thus, the detection unit 1501 can generate a trigger for transmitting a request token before the acquisition period of the message M is reached.

また、検出部1501は、取得元とは異なる他の取得元に取得させる被取得データのデータ量を検出する機能を有する。具体的には、例えば、検出部1501は、複数の取得側の通信装置Nのそれぞれに取得させるバッファBのバッファリング量を検出する。   In addition, the detection unit 1501 has a function of detecting the amount of data to be acquired that is acquired by another acquisition source different from the acquisition source. Specifically, for example, the detection unit 1501 detects the buffering amount of the buffer B that is acquired by each of the plurality of acquisition-side communication apparatuses N.

通知部1502は、検出部1501によって被取得データのデータ量が閾値以上であることが検出された場合、被取得データのデータ量を特定する情報を、取得元に通知する機能を有する。具体的には、例えば、通知部1502は、バッファリング量が目標バッファリング量以上になった場合に、メッセージMの取得側の通信装置Nに、バッファリング量を特定する情報を含む要求トークンを通知する。これにより、自通信装置NからメッセージMを取得側の通信装置Nに取得させるトリガとなる要求トークンを、メッセージMの取得側の通信装置Nに送信することができる。   The notification unit 1502 has a function of notifying the acquisition source of information specifying the data amount of the acquired data when the detection unit 1501 detects that the data amount of the acquired data is equal to or greater than the threshold value. Specifically, for example, when the buffering amount becomes equal to or larger than the target buffering amount, the notification unit 1502 sends a request token including information specifying the buffering amount to the communication device N on the message M acquisition side. Notice. As a result, a request token serving as a trigger for causing the communication device N on the acquisition side to acquire the message M from the own communication device N can be transmitted to the communication device N on the acquisition side of the message M.

また、通知部1502は、検出部1501によって経過時間が規定時間以上であることが検出された場合、被取得データのデータ量を特定する情報を、取得元に通知する機能を有する。具体的には、例えば、通知部1502は、経過時間がデッドライン以上になったとき、メッセージMの取得側の通信装置Nに、バッファリング量を特定する情報を含む要求トークンを通知する。これにより、自通信装置NからメッセージMを取得側の通信装置Nに取得させるトリガとなる要求トークンを、メッセージMの取得側の通信装置Nに送信することができる。   In addition, the notification unit 1502 has a function of notifying the acquisition source of information specifying the amount of data to be acquired when the detection unit 1501 detects that the elapsed time is equal to or longer than the specified time. Specifically, for example, when the elapsed time becomes equal to or longer than the deadline, the notification unit 1502 notifies the communication device N on the message M acquisition side of a request token including information specifying the buffering amount. As a result, a request token serving as a trigger for causing the communication device N on the acquisition side to acquire the message M from the own communication device N can be transmitted to the communication device N on the acquisition side of the message M.

また、通知部1502は、被取得データのデータ量を特定する情報とともに、被取得データの取得期限に関する情報を、取得元に通知する機能を有する。取得期限に関する情報とは、例えば、メッセージMの生成からの経過時間である。また、取得期限に関する情報とは、例えば、取得期限までの残り時間でもよい。具体的には、通知部1502は、取得期限に関する情報を含む要求トークンを、取得側の通信装置Nに通知する。これにより、取得側の通信装置Nにおいて取得対象を決定するための指標となる情報になる取得期限に関する情報を、取得側の通信装置Nに提供することができる。   In addition, the notification unit 1502 has a function of notifying the acquisition source of information regarding the acquisition time limit of the acquired data together with information specifying the data amount of the acquired data. The information regarding the acquisition deadline is, for example, the elapsed time since the message M was generated. Further, the information related to the acquisition deadline may be, for example, the remaining time until the acquisition deadline. Specifically, the notification unit 1502 notifies the acquisition side communication device N of a request token including information related to the acquisition time limit. As a result, it is possible to provide the acquisition-side communication device N with information related to the acquisition deadline that becomes information that serves as an index for determining the acquisition target in the acquisition-side communication device N.

また、通知部1502は、被取得データのデータ量を特定する情報とともに、他の取得元に取得させる被取得データのデータ量を特定する情報を、取得元に通知する機能を有する。ここで、他の取得元に取得させる被取得データのデータ量を特定する情報とは、例えば、要求トークンの送信先とは異なる他の取得側の通信装置Nに取得させるメッセージMが格納されるバッファBのバッファリング量である。これにより、取得側の通信装置Nにおいて取得対象を決定するための指標となる情報になる要求トークンの送信先とは異なる他の取得側の通信装置Nが取得するメッセージMが格納されるバッファBのバッファリング量を、取得側の通信装置Nに提供することができる。   In addition, the notification unit 1502 has a function of notifying the acquisition source of information specifying the data amount of the acquired data to be acquired by another acquisition source together with information specifying the data amount of the acquisition target data. Here, the information specifying the amount of data to be acquired to be acquired by another acquisition source is, for example, a message M to be acquired by another acquisition-side communication device N different from the request token transmission destination. This is the buffering amount of the buffer B. Thereby, the buffer B in which the message M acquired by the other communication device N on the acquisition side different from the transmission destination of the request token that becomes information serving as an index for determining the acquisition target in the communication device N on the acquisition side is stored. Can be provided to the communication device N on the acquisition side.

(通信の準備)
次に、図16および図17を用いて、通信装置Nが通信の準備としておこなう処理について説明する。
(Preparation for communication)
Next, processing performed by the communication apparatus N as preparation for communication will be described with reference to FIGS. 16 and 17.

(初期化処理の詳細)
まず、図16を用いて、通信装置Nが通信をはじめる前におこなう初期化処理の詳細について説明する。
(Details of initialization processing)
First, the details of the initialization process performed before the communication apparatus N starts communication will be described with reference to FIG.

図16は、初期化処理の詳細を示すフローチャートである。まず、CPU301は、アプリケーションI/F307を初期化する(ステップS1601)。アプリケーションI/F307の初期化において、後述するアプリケーション利用登録処理がおこなわれる。次に、CPU301は、バッファBを初期化する(ステップS1602)。また、CPU301は、統計情報(被取得長履歴400、被取得スループット履歴700、取得長履歴800、取得スループット履歴900)を初期化する(ステップS1603)。   FIG. 16 is a flowchart showing details of the initialization process. First, the CPU 301 initializes the application I / F 307 (step S1601). In initialization of the application I / F 307, application use registration processing described later is performed. Next, the CPU 301 initializes the buffer B (step S1602). Further, the CPU 301 initializes statistical information (acquired length history 400, acquired throughput history 700, acquired length history 800, acquired throughput history 900) (step S1603).

そして、CPU301は、通信相手リスト1100を作成する(ステップS1604)。次に、CPU301は、要求トークンリスト1000と、取得条件1200と、を初期化して(ステップS1605)、初期化処理を終了する。これにより、通信装置Nは、通信をはじめることができるようになる。   Then, the CPU 301 creates a communication partner list 1100 (step S1604). Next, the CPU 301 initializes the request token list 1000 and the acquisition condition 1200 (step S1605), and ends the initialization process. As a result, the communication device N can start communication.

(アプリケーション利用登録処理の詳細)
次に、図17を用いて、通信装置Nが、取得したメッセージMをアプリケーションへ引き渡すためにおこなうアプリケーション利用登録処理の詳細について説明する。
(Details of application usage registration processing)
Next, with reference to FIG. 17, details of application use registration processing performed by the communication apparatus N to deliver the acquired message M to the application will be described.

図17は、アプリケーション利用登録処理の詳細を示すフローチャートである。まず、CPU301は、受信関数を登録する(ステップS1701)。次に、CPU301は、受信バッファを登録する(ステップS1702)。   FIG. 17 is a flowchart showing details of the application use registration process. First, the CPU 301 registers a reception function (step S1701). Next, the CPU 301 registers a reception buffer (step S1702).

そして、CPU301は、最大許容レイテンシを登録し(ステップS1703)、アプリケーション利用登録処理を終了する。これにより、通信装置Nは、取得したメッセージMをアプリケーションに引き渡すことができるようになる。   Then, the CPU 301 registers the maximum allowable latency (step S1703) and ends the application use registration process. As a result, the communication apparatus N can deliver the acquired message M to the application.

(被取得側の通信装置Nの処理)
次に、図18〜図20を用いて、被取得側の通信装置Nの処理について説明する。具体的には、例えば、図1に示した通信装置N1,N3の処理である。
(Processing of communication device N on acquisition side)
Next, processing of the communication apparatus N on the acquisition side will be described using FIGS. Specifically, for example, the processing is performed by the communication devices N1 and N3 illustrated in FIG.

(要求トークンの送信の内容)
まず、図18を用いて、被取得側の通信装置Nによる要求トークンの送信の内容について説明する。
(Content of request token transmission)
First, the contents of the transmission of the request token by the communication device N on the acquisition side will be described using FIG.

図18は、要求トークンの送信の内容を示す説明図である。通信装置Nは、バッファBがあふれないように、バッファBがあふれる前に要求トークンを送信するための指標となる目標バッファリング量を算出しておく。   FIG. 18 is an explanatory diagram showing the contents of the request token transmission. The communication apparatus N calculates a target buffering amount serving as an index for transmitting a request token before the buffer B overflows so that the buffer B does not overflow.

ここで、通信装置Nは、被取得スループット履歴700から、平均の被取得スループットを算出しておく。また、通信装置Nは、要求トークンレイテンシ履歴600から、平均の要求トークンのレイテンシを算出しておく。そして、通信装置Nは、目標バッファリング量として、例えば、「バッファBの容量−平均の被取得スループット×平均の要求トークンのレイテンシ」を算出しておく。   Here, the communication apparatus N calculates an average acquired throughput from the acquired throughput history 700. Further, the communication apparatus N calculates the average request token latency from the request token latency history 600. Then, the communication apparatus N calculates, for example, “the capacity of the buffer B−the average acquired throughput × the average request token latency” as the target buffering amount.

ただし、通信装置Nは、被取得長履歴400や生成履歴500を参照して、目標バッファリング量をさらに調整してもよい。例えば、通信装置Nは、被取得長履歴400を参照して、過去に頻繁に少量のメッセージMが取得されている場合には、要求トークンの送信をより頻繁におこなうために、目標バッファリング量を低く調整してもよい。また、通信装置Nは、生成履歴500を参照して、過去にアプリケーションが大量のメッセージMを生成したことがある場合は、目標バッファリング量を低く調整してもよい。   However, the communication apparatus N may further adjust the target buffering amount with reference to the acquired length history 400 and the generation history 500. For example, when the communication device N refers to the acquired length history 400 and a small amount of the message M has been frequently acquired in the past, the communication apparatus N performs the target buffering amount in order to transmit the request token more frequently. May be adjusted low. Further, the communication device N may refer to the generation history 500 and adjust the target buffering amount to be low when the application has generated a large number of messages M in the past.

(1)そして、通信装置Nは、算出した目標バッファリング量より、バッファBのバッファリング量が多くなったとき、要求トークンを送信する。これにより、通信装置Nは、バッファBがあふれる前に、要求トークンを送信するトリガを発生させ、メッセージMの取得側に要求トークンを送信することができる。   (1) Then, the communication apparatus N transmits a request token when the buffering amount of the buffer B becomes larger than the calculated target buffering amount. Accordingly, the communication device N can generate a trigger for transmitting a request token before the buffer B overflows, and transmit the request token to the message M acquisition side.

また、通信装置Nは、取得期限の前にメッセージMを取得させるための指標となるデッドラインを算出しておく。取得期限とは、アプリケーションが許容できるメッセージMのレイテンシ(メッセージMを生成してから取得されるまでの時間)の最大値(以下、「最大許容レイテンシ」)である。通信装置Nは、例えば、デッドラインとして、「最大許容レイテンシ−平均の要求トークンのレイテンシ」を算出しておく。   Further, the communication device N calculates a deadline as an index for acquiring the message M before the acquisition deadline. The acquisition deadline is a maximum value (hereinafter, “maximum allowable latency”) of the latency of the message M that can be accepted by the application (the time from when the message M is generated until it is acquired). For example, the communication device N calculates “maximum allowable latency—average request token latency” as a deadline.

(2)そして、通信装置Nは、メッセージMが生成されてからの経過時間を測定し、経過時間が算出したデッドラインを超えた場合に、要求トークンを送信する。これにより、通信装置Nは、取得期限を経過する前に、要求トークンを送信するトリガを発生させ、メッセージMの取得側に要求トークンを送信することができる。   (2) Then, the communication device N measures the elapsed time since the message M was generated, and transmits a request token when the elapsed time exceeds the calculated deadline. Accordingly, the communication device N can generate a trigger for transmitting a request token before the acquisition time limit elapses, and transmit the request token to the acquisition side of the message M.

(バッファ管理処理の詳細)
次に、図19を用いて、図18に示した要求トークンを送信する被取得側の通信装置Nによるバッファ管理処理の詳細について説明する。
(Details of buffer management processing)
Next, details of buffer management processing by the communication apparatus N on the acquisition side that transmits the request token shown in FIG. 18 will be described with reference to FIG.

図19は、バッファ管理処理の詳細を示すフローチャートである。まず、CPU301は、アプリケーションに生成されたメッセージMのサイズが小さいか否かを判定する(ステップS1901)。ここで、サイズが小さい場合(ステップS1901:Yes)、CPU301は、メッセージMをバッファBにコピーして(ステップS1902)、ステップS1904に移行する。一方で、サイズが大きい場合(ステップS1901:No)、CPU301は、メッセージMをバッファBに連結して(ステップS1903)、ステップS1904に移行する。   FIG. 19 is a flowchart showing details of the buffer management process. First, the CPU 301 determines whether or not the size of the message M generated in the application is small (step S1901). If the size is small (step S1901: YES), the CPU 301 copies the message M to the buffer B (step S1902), and proceeds to step S1904. On the other hand, when the size is large (step S1901: No), the CPU 301 connects the message M to the buffer B (step S1903), and proceeds to step S1904.

次に、CPU301は、バッファBのバッファリング量を更新して(ステップS1904)、バッファリング量が目標バッファリング量以上か否かを判定する(ステップS1905)。ここで、目標バッファリング量以上である場合(ステップS1905:Yes)、CPU301は、要求トークン送信処理(ステップS1907)に移行する。   Next, the CPU 301 updates the buffering amount of the buffer B (step S1904), and determines whether or not the buffering amount is equal to or larger than the target buffering amount (step S1905). If the amount is equal to or greater than the target buffering amount (step S1905: YES), the CPU 301 proceeds to a request token transmission process (step S1907).

一方、目標バッファリング量より小さい場合(ステップS1905:No)、CPU301は、メッセージMの生成からの経過時間がデッドラインを超えているか否かを判定する(ステップS1906)。ここで、デッドラインを超えている場合(ステップS1906:Yes)、CPU301は、要求トークン送信処理(ステップS1907)に移行する。   On the other hand, when it is smaller than the target buffering amount (step S1905: No), the CPU 301 determines whether or not the elapsed time from the generation of the message M exceeds the deadline (step S1906). If the deadline is exceeded (step S1906: YES), the CPU 301 proceeds to a request token transmission process (step S1907).

一方、デッドラインを超えていない場合(ステップS1906:No)、CPU301は、バッファ管理処理を終了する。これにより、バッファBの容量が枯渇する前に要求トークンの送信のトリガを発生させることができる。また、メッセージMの取得期限を過ぎる前に、要求トークンの送信のトリガを発生させることができる。   On the other hand, if the deadline is not exceeded (step S1906: NO), the CPU 301 ends the buffer management process. Thus, a request token transmission trigger can be generated before the capacity of the buffer B is depleted. In addition, a request token transmission trigger can be generated before the message M acquisition period expires.

(要求トークン送信処理の詳細)
次に、図20を用いて、図19に示した要求トークン送信処理の詳細について説明する。
(Details of request token transmission processing)
Next, the details of the request token transmission process shown in FIG. 19 will be described with reference to FIG.

図20は、要求トークン送信処理の詳細を示すフローチャートである。まず、CPU301は、要求トークンを生成する(ステップS2001)。次に、CPU301は、生成した要求トークンを送信し(ステップS2002)、要求トークン送信処理を終了する。これにより、通信装置Nは、要求トークンを送信することができる。   FIG. 20 is a flowchart showing details of the request token transmission process. First, the CPU 301 generates a request token (step S2001). Next, the CPU 301 transmits the generated request token (step S2002), and ends the request token transmission process. Thereby, the communication apparatus N can transmit a request token.

ここで、生成される要求トークンには、例えば、被取得側の通信装置Nの識別子と、要求トークンの宛先を取得側にするメッセージMが格納されるバッファBへ格納されているメッセージMのデータ量と、が含まれている。また、要求トークンには、要求トークンの宛先を取得側にするメッセージMが格納されるバッファBとは異なる他のバッファBへ格納されているメッセージMのデータ量を含んでもよい。また、要求トークンには、要求トークンの宛先を取得側にする通信装置Nに取得させるメッセージMの取得期限に関する情報(例えば、取得期限までの残り時間)を含んでもよい。   Here, the generated request token includes, for example, the identifier of the communication device N on the acquisition side and the data of the message M stored in the buffer B in which the message M whose destination is the request token is stored. Amount, and included. Further, the request token may include the data amount of the message M stored in another buffer B different from the buffer B storing the message M whose destination is the request token. Further, the request token may include information related to the acquisition deadline of the message M to be acquired by the communication apparatus N that uses the destination of the request token as the acquisition side (for example, the remaining time until the acquisition deadline).

(メッセージMを取得する側の通信装置Nの処理)
次に、図21〜図23を用いて、メッセージMを取得する側の通信装置Nの処理について説明する。
(Processing of the communication device N on the side that acquires the message M)
Next, processing of the communication device N on the side that acquires the message M will be described with reference to FIGS.

(メッセージMの取得の内容)
まず、図21を用いて、要求トークンを受信した取得側の通信装置NによるメッセージMの取得の内容について説明する。なお、取得側の通信装置Nは、受信した要求トークンから、要求トークンリスト1000を生成している。
(Contents of message M acquisition)
First, the contents of acquisition of the message M by the acquisition-side communication apparatus N that has received the request token will be described with reference to FIG. The acquisition-side communication device N generates a request token list 1000 from the received request token.

図21は、要求トークンを受信した取得側の通信装置NによるメッセージMの取得の内容を示す説明図である。ここで、取得側の通信装置Nは、要求トークンリスト1000の各レコードを参照して、メッセージMの取得対象にする被取得側の通信装置Nを決定する。ただし、取得側の通信装置Nは、取得条件1200を参照して、最大取得数を超えない範囲で、メッセージMの取得対象にする被取得側の通信装置Nを決定する。   FIG. 21 is an explanatory diagram showing details of acquisition of the message M by the acquisition-side communication device N that has received the request token. Here, the communication device N on the acquisition side refers to each record in the request token list 1000 and determines the communication device N on the acquisition side to be acquired from the message M. However, the communication device N on the acquisition side refers to the acquisition condition 1200 and determines the communication device N on the acquisition side to be acquired from the message M within a range not exceeding the maximum number of acquisitions.

(1)例えば、通信装置Nは、自通信装置Nが取得するメッセージMを格納するバッファBのメッセージMのデータ量が多い通信装置N2からメッセージMを取得するために、取得依頼リスト1300にレコードを追加する。   (1) For example, the communication device N records in the acquisition request list 1300 in order to acquire the message M from the communication device N2 having a large data amount of the message M in the buffer B that stores the message M acquired by the communication device N. Add

(2)また、通信装置Nは、自通信装置Nが取得するメッセージMを格納するバッファBとは異なる他のバッファBが逼迫している通信装置N3からは、まだメッセージMを取得しない。   (2) Further, the communication device N does not yet acquire the message M from the communication device N3 in which another buffer B different from the buffer B that stores the message M acquired by the communication device N is tight.

(3)また、通信装置Nは、自通信装置Nが取得するメッセージMを格納するバッファBのメッセージMのデータ量は少ないが、取得期限までの残り時間が少ない通信装置N4からメッセージMを取得するために、取得依頼リスト1300にレコードを追加する。   (3) In addition, the communication device N acquires the message M from the communication device N4 in which the data amount of the message M in the buffer B that stores the message M acquired by the communication device N is small, but the remaining time until the acquisition time limit is small. In order to do so, a record is added to the acquisition request list 1300.

(4)また、通信装置Nは、自通信装置Nが取得するメッセージMを格納するバッファBのメッセージMのデータ量が多い通信装置N5からメッセージMを取得するために、取得依頼リスト1300にレコードを追加する。   (4) Further, the communication apparatus N records in the acquisition request list 1300 in order to acquire the message M from the communication apparatus N5 having a large amount of data of the message M in the buffer B that stores the message M acquired by the own communication apparatus N. Add

(5)そして、通信装置Nは、取得依頼リスト1300のレコードに基づいて、取得対象にした通信装置Nから、メッセージMを取得する。ただし、通信装置Nは、同時に取得する取得対象の数(現在取得数)を、取得条件1200の最大取得数以内にする。例えば、取得依頼リスト1300のレコードの登録順で被取得側の通信装置Nを取得対象にしていき、最大取得数を超えない数の被取得側の通信装置Nから同時にメッセージMを取得していく。   (5) Then, the communication device N acquires the message M from the communication device N targeted for acquisition based on the record of the acquisition request list 1300. However, the communication device N sets the number of acquisition targets (current acquisition number) to be acquired at the same time within the maximum acquisition number of the acquisition condition 1200. For example, the acquisition-side communication device N is targeted for acquisition in the registration order of the records in the acquisition request list 1300, and the messages M are simultaneously acquired from the acquisition-side communication devices N that do not exceed the maximum acquisition number. .

また、例えば、取得依頼リスト1300のレコードに対応する要求トークンに含まれるバッファリング量が多い順で被取得側の通信装置Nを取得対象にしていき、最大取得数を超えない数の被取得側の通信装置Nから同時にメッセージMを取得してもよい。これにより、ネットワークを輻輳させない範囲で、複数の通信装置Nから同時にメッセージMを取得することができる。   Further, for example, the acquisition side communication device N is targeted for acquisition in the order of the buffering amount included in the request token corresponding to the record of the acquisition request list 1300, and the number of acquisition target sides does not exceed the maximum acquisition number. The message M may be acquired simultaneously from the communication device N. Thereby, the message M can be simultaneously acquired from the plurality of communication apparatuses N within a range that does not congest the network.

(他の取得側へのバッファリング量を含む要求トークンに基づくメッセージMの取得)
また、図22を用いて、他の取得側へのバッファリング量を含む要求トークンを受信した通信装置NがおこなうメッセージMの取得について説明する。具体的には、図21の(2)に示した処理の内容である。
(Acquisition of message M based on request token including buffering amount to other acquisition side)
Further, the acquisition of the message M performed by the communication apparatus N that has received the request token including the buffering amount to the other acquisition side will be described with reference to FIG. Specifically, it is the content of the process shown in (2) of FIG.

図22は、他の取得側へのバッファリング量を含む要求トークンに基づくメッセージMの取得の内容を示す説明図である。ここで、図22に示す通信システムは、図1と同様の通信システムである。以下では、通信装置N1が、自通信装置NでバッファリングしているメッセージMを、通信装置N2,N3のそれぞれに取得するように要求する場合を例に挙げて、通信装置Nによる通信の内容について説明する。   FIG. 22 is an explanatory diagram showing the contents of acquisition of the message M based on the request token including the buffering amount to the other acquisition side. Here, the communication system shown in FIG. 22 is the same communication system as FIG. Hereinafter, as an example, the communication device N1 requests the communication devices N2 and N3 to acquire the message M buffered by the own communication device N. Will be described.

図22において、(1)通信装置N1は、通信装置N2に取得させるメッセージMがバッファB1t2に格納されているため、通信装置N2に要求トークンを送信する。   In FIG. 22, (1) the communication device N1 transmits a request token to the communication device N2 because the message M to be acquired by the communication device N2 is stored in the buffer B1t2.

(2)また、通信装置N1は、通信装置N3に取得させるメッセージMがバッファB1t3に格納されているため、通信装置N3に要求トークンを送信する。   (2) Further, since the message M to be acquired by the communication device N3 is stored in the buffer B1t3, the communication device N1 transmits a request token to the communication device N3.

ここで、それぞれの要求トークンには、メッセージMの被取得側となる通信装置N1の識別子と、バッファB1t2に格納されているメッセージMのデータ量と、バッファB1t3に格納されているメッセージMのデータ量と、が含まれる。   Here, in each request token, the identifier of the communication device N1 that is the acquisition target of the message M, the data amount of the message M stored in the buffer B1t2, and the data of the message M stored in the buffer B1t3 Amount.

(3)要求トークンを受信した通信装置N2は、要求トークンに含まれるバッファB1t2へ格納されているメッセージMのデータ量と、バッファB1t3に格納されているメッセージMのデータ量と、を参照して、通信装置N1からメッセージMを取得するか否かを判定する。   (3) The communication device N2 that has received the request token refers to the data amount of the message M stored in the buffer B1t2 included in the request token and the data amount of the message M stored in the buffer B1t3. Then, it is determined whether or not the message M is acquired from the communication device N1.

ここでは、バッファB1t3へ格納されているメッセージMのデータ量は、バッファB1t2へ格納されているメッセージMのデータ量より多い。そのため、通信装置N2は、通信装置N1は通信装置N2よりも先に、通信装置N3からメッセージMを取得されるべきであると判定する。そして、通信装置N2は、まだ通信装置N1からメッセージMを取得しない。   Here, the data amount of the message M stored in the buffer B1t3 is larger than the data amount of the message M stored in the buffer B1t2. Therefore, the communication device N2 determines that the communication device N1 should acquire the message M from the communication device N3 before the communication device N2. And the communication apparatus N2 has not acquired the message M from the communication apparatus N1 yet.

(4)一方、要求トークンを受信した通信装置N3は、要求トークンに含まれるバッファB1t2へ格納されているメッセージMのデータ量と、バッファB1t3に格納されているメッセージMのデータ量と、を参照して、通信装置N1からメッセージMを取得するか否かを判定する。   (4) On the other hand, the communication device N3 that has received the request token refers to the data amount of the message M stored in the buffer B1t2 included in the request token and the data amount of the message M stored in the buffer B1t3. Then, it is determined whether or not the message M is acquired from the communication device N1.

ここでは、バッファB1t3へ格納されているメッセージMのデータ量は、バッファB1t2へ格納されているメッセージMのデータ量より多い。そのため、通信装置N3は、通信装置N2よりも先に、通信対象にするべきであると判定して、通信装置N1からメッセージMを取得する。   Here, the data amount of the message M stored in the buffer B1t3 is larger than the data amount of the message M stored in the buffer B1t2. Therefore, the communication device N3 determines that it should be a communication target prior to the communication device N2, and acquires the message M from the communication device N1.

このように、被取得側での複数のバッファBの逼迫具合に基づいて、取得対象にするか否かを決定するため、1対1の通信装置N間の効率化ではなく、ネットワーク全体での効率化を図ることができる。また、これにより、取得側の通信装置Nでより逼迫しているバッファBに格納されているメッセージMが優先して取得されるようにすることで、バッファBの容量の枯渇を回避することができる。   In this way, in order to determine whether or not to be an acquisition target based on the tightness of the plurality of buffers B on the acquisition side, it is not efficient between the one-to-one communication devices N, but the entire network. Efficiency can be improved. In addition, this makes it possible to avoid the depletion of the capacity of the buffer B by preferentially acquiring the message M stored in the buffer B, which is more tight in the communication device N on the acquisition side. it can.

(取得依頼登録処理)
次に、図23を用いて、要求トークンを受信した通信装置Nがおこなう取得依頼登録処理について説明する。具体的には、例えば、図1に示した通信装置N2がおこなう処理である。
(Acquisition request registration process)
Next, the acquisition request registration process performed by the communication apparatus N that has received the request token will be described with reference to FIG. Specifically, for example, the processing is performed by the communication device N2 illustrated in FIG.

図23は、取得依頼登録処理の詳細を示すフローチャートである。まず、CPU301は、要求トークンを受信したか否かを判定する(ステップS2301)。ここで、要求トークンを受信していない場合(ステップS2301:No)、CPU301は、ステップS2301に戻り、要求トークンの受信を待つ。   FIG. 23 is a flowchart showing details of the acquisition request registration process. First, the CPU 301 determines whether or not a request token has been received (step S2301). If the request token has not been received (step S2301: NO), the CPU 301 returns to step S2301 and waits for reception of the request token.

一方、要求トークンを受信した場合(ステップS2301:Yes)、CPU301は、統計情報を更新する(ステップS2302)。次に、CPU301は、受信した要求トークンを参照して、取得すべき状況か否かを判定する(ステップS2303)。ステップS2303の判定は、例えば、図21の(1)〜(4)のそれぞれの処理に対応する。   On the other hand, when the request token is received (step S2301: Yes), the CPU 301 updates the statistical information (step S2302). Next, the CPU 301 refers to the received request token and determines whether or not the situation is to be acquired (step S2303). The determination in step S2303 corresponds to, for example, the processes (1) to (4) in FIG.

ここで、取得すべき状況でない場合(ステップS2303:No)、CPU301は、取得依頼登録処理を終了する。一方、取得すべき状況である場合(ステップS2303:Yes)、CPU301は、要求トークンを参照して、取得依頼リスト1300にレコードを追加し(ステップS2304)、取得依頼登録処理を終了する。   Here, when it is not the situation which should be acquired (step S2303: No), CPU301 complete | finishes an acquisition request registration process. On the other hand, if the situation is to be acquired (step S2303: Yes), the CPU 301 refers to the request token, adds a record to the acquisition request list 1300 (step S2304), and ends the acquisition request registration process.

(取得処理)
次に、図24を用いて、取得依頼リスト1300に基づいて通信装置Nがおこなう取得処理について説明する。具体的には、例えば、取得側の通信装置Nは、図23のステップS2304において取得依頼リスト1300にレコードが追加された場合、または、一定時間ごとに、取得処理を実行して被取得側の通信装置NからメッセージMを取得する。
(Acquisition process)
Next, an acquisition process performed by the communication apparatus N based on the acquisition request list 1300 will be described with reference to FIG. Specifically, for example, the acquisition-side communication device N executes the acquisition process when a record is added to the acquisition request list 1300 in step S2304 in FIG. A message M is acquired from the communication device N.

図24は、取得処理の詳細を示すフローチャートである。まず、CPU301は、現在取得数が最大取得数より少ないか否かを判定する(ステップS2401)。ここで、現在取得数が最大取得数以上である場合(ステップS2401:No)、CPU301は、ステップS2405に移行する。   FIG. 24 is a flowchart showing details of the acquisition process. First, the CPU 301 determines whether or not the current acquisition number is smaller than the maximum acquisition number (step S2401). If the current acquisition number is equal to or greater than the maximum acquisition number (step S2401: No), the CPU 301 proceeds to step S2405.

一方、現在取得数が最大取得数より少ない場合(ステップS2401:Yes)、CPU301は、取得依頼リスト1300にレコードがあるか否かを判定する(ステップS2402)。ここで、レコードがない場合(ステップS2402:No)、CPU301は、ステップS2405に移行する。   On the other hand, when the current acquisition number is smaller than the maximum acquisition number (step S2401: Yes), the CPU 301 determines whether or not there is a record in the acquisition request list 1300 (step S2402). Here, when there is no record (step S2402: No), CPU301 transfers to step S2405.

一方、取得依頼リスト1300にレコードがある場合(ステップS2402:Yes)、CPU301は、取得依頼リスト1300のいずれかのレコードを取得する(ステップS2403)。次に、CPU301は、取得したレコードに基づいて、メッセージMの取得を開始する(ステップS2404)。そして、CPU301は、ステップS2401に戻る。   On the other hand, when there is a record in the acquisition request list 1300 (step S2402: Yes), the CPU 301 acquires any record in the acquisition request list 1300 (step S2403). Next, the CPU 301 starts acquiring the message M based on the acquired record (step S2404). Then, the CPU 301 returns to step S2401.

ステップS2405では、CPU301は、取得条件1200を変更し(ステップS2405)、取得処理を終了する。これにより、通信装置Nは、最大取得数以内で、同時に複数の被取得側の通信装置NからメッセージMを取得することができる。   In step S2405, the CPU 301 changes the acquisition condition 1200 (step S2405) and ends the acquisition process. Thereby, the communication apparatus N can acquire the message M from several acquisition side communication apparatuses N simultaneously within the maximum acquisition number.

なお、取得側の通信装置Nは、メッセージMの取得が終了した場合、被取得側の通信装置Nに終了通知を送信する。また、取得側の通信装置Nは、メッセージMの取得が終了した場合、取得対象にした被取得側の通信装置Nに対応する取得依頼リスト1300のレコードを削除する。また、取得側の通信装置Nは、被取得側の通信装置NのバッファBのすべてのメッセージMの取得が終了した場合、取得対象にした被取得側の通信装置Nに対応する要求トークンリスト1000のレコードを削除する。また、取得側の通信装置Nは、メッセージMの取得が終了した場合、統計情報を更新する。   When the acquisition of the message M is completed, the acquisition-side communication device N transmits an end notification to the acquisition-side communication device N. Further, when the acquisition of the message M is completed, the acquisition-side communication device N deletes the record of the acquisition request list 1300 corresponding to the acquisition-target communication device N that is the acquisition target. Further, when acquisition of all messages M in the buffer B of the acquisition-side communication device N is completed, the acquisition-side communication device N completes the request token list 1000 corresponding to the acquisition-side communication device N that is the acquisition target. Delete the record. Further, when the acquisition of the message M is completed, the acquisition-side communication device N updates the statistical information.

(取得条件1200の変更の内容)
次に、図25を用いて、ステップS2405における取得条件1200の変更の内容について説明する。具体的には、例えば、通信装置Nは、ネットワークの使用状況に応じて、取得条件1200を動的に変更していく。なお、取得条件1200は固定であってもよい。
(Contents of change in acquisition condition 1200)
Next, contents of changing the acquisition condition 1200 in step S2405 will be described with reference to FIG. Specifically, for example, the communication apparatus N dynamically changes the acquisition condition 1200 in accordance with the usage status of the network. Note that the acquisition condition 1200 may be fixed.

図25は、取得条件1200の変更の内容を示す説明図である。通信装置Nは、図25に示した表のように、許可長が使い切られているか否かと、取得スループットが上限値に達したか否かと、の条件に基づいて、取得条件1200を変更する。   FIG. 25 is an explanatory diagram showing the details of the change in the acquisition condition 1200. As shown in the table of FIG. 25, the communication apparatus N changes the acquisition condition 1200 based on whether the permitted length is used up and whether the acquisition throughput has reached the upper limit.

ここで、上限値とは、取得スループットの限界値(ネットワークにおける輻輳の発生の閾値となる取得スループット)に安全係数0.8を乗じた値であり、ネットワークの輻輳を回避するための指標となる値である。   Here, the upper limit value is a value obtained by multiplying a limit value of acquisition throughput (acquisition throughput that is a threshold for occurrence of congestion in the network) by a safety factor 0.8, and serves as an index for avoiding network congestion. Value.

例えば、通信装置Nは、取得スループットが上限値に達していない場合であって、かつ、許可長を使い切っていない場合、同時に取得する被取得側の通信装置Nの数を増やしてもネットワークは輻輳しないとして、最大取得数を増加させる。   For example, if the communication device N does not reach the upper limit of the acquisition throughput and the permitted length has not been used up, the network is congested even if the number of communication devices N on the acquisition side to be acquired at the same time is increased. If not, increase the maximum number of acquisitions.

また、例えば、通信装置Nは、取得スループットが上限値に達していない場合であって、かつ、許可長を使い切った場合、被取得側の通信装置Nから1度に取得するデータ量を増やしてもネットワークは輻輳しないとして、許可長を増加させる。   Further, for example, when the acquisition throughput does not reach the upper limit value and the permitted length is used up, the communication apparatus N increases the amount of data acquired at one time from the communication apparatus N on the acquisition side. Even if the network is not congested, the permission length is increased.

また、例えば、通信装置Nは、取得スループットが上限値に達した場合であって、かつ、許可長を使い切っていない場合、同時に取得する被取得側の通信装置Nの数を減らして、ネットワークの輻輳を抑制する。   Further, for example, when the acquisition throughput reaches the upper limit value and the permitted length is not used up, the communication apparatus N reduces the number of acquired communication apparatuses N to be acquired at the same time, Reduce congestion.

また、例えば、通信装置Nは、取得スループットが上限値に達した場合であって、かつ、許可長を使い切った場合、被取得側の通信装置Nから1度に取得するデータ量を減らして、ネットワークの輻輳を抑制する。   Further, for example, the communication device N reduces the amount of data acquired at one time from the communication device N on the acquisition side when the acquisition throughput reaches the upper limit and the permitted length is used up, Reduce network congestion.

このように、通信装置Nは、ネットワークの使用状況に応じて、取得条件1200を動的に変更していく。また、取得条件1200は、被取得側の通信装置Nごとに、取得長項目を有してもよい。そして、取得側の通信装置Nは、取得条件1200の取得長項目を参照して、被取得側の通信装置Nごとに異なるデータ量でメッセージMを取得するようにしてもよい。   In this way, the communication device N dynamically changes the acquisition condition 1200 according to the network usage status. The acquisition condition 1200 may have an acquisition length item for each communication device N on the acquisition side. Then, the communication device N on the acquisition side may acquire the message M with a different data amount for each communication device N on the acquisition side with reference to the acquisition length item of the acquisition condition 1200.

また、取得側の通信装置Nは、被取得側の通信装置Nから受信した要求トークンに含まれる情報に基づいて、取得条件1200のレコードを更新してもよい。例えば、取得側の通信装置Nは、通信の開始時には、複数の被取得側の通信装置Nのそれぞれについて、許可長を同一に設定した取得条件1200のレコードを構成しておく。   Further, the acquisition-side communication device N may update the record of the acquisition condition 1200 based on information included in the request token received from the acquisition-side communication device N. For example, at the start of communication, the acquisition-side communication device N configures a record of the acquisition condition 1200 in which the permission length is set to be the same for each of the plurality of acquisition-side communication devices N.

そして、例えば、取得側の通信装置Nは、要求トークンの受信回数が多く、それぞれの要求トークンに含まれるバッファリング量が多い被取得側の通信装置Nについては、対応する取得条件1200の許可長項目のデータ量を増加させる。また、例えば、取得側の通信装置Nは、要求トークンの受信回数が少なく、それぞれの要求トークンに含まれるバッファリング量が少ない被取得側の通信装置Nについては、対応する取得条件1200の許可長項目のデータ量を減少させる。   For example, the acquisition-side communication device N receives the request token many times, and the acquisition-side communication device N has a large buffering amount included in each request token. Increase the data volume of the item. Also, for example, the acquisition-side communication device N has a small number of receptions of request tokens, and for the acquisition-side communication device N with a small buffering amount included in each request token, the permissible length of the corresponding acquisition condition 1200 Reduce the data volume of the item.

以上説明したように、取得側になる通信装置Nは、複数の被取得側の通信装置Nから受信した要求トークンに含まれる各被取得側の通信装置Nでのバッファリング量に基づいて、よりバッファBが逼迫している被取得側の通信装置NからメッセージMを取得する。   As described above, the communication device N that becomes the acquisition side is more based on the buffering amount in each acquisition-side communication device N included in the request tokens received from the plurality of acquisition-side communication devices N. The message M is acquired from the communication device N on the acquisition side where the buffer B is tight.

これにより、各被取得側の通信装置NでのバッファBがあふれないようにするとともに、ネットワークを流れるメッセージMのデータ量を管理して、メッセージMの衝突を回避し、輻輳を抑制できる。そして、輻輳を抑制できるため、輻輳に起因する通信時間の増加を回避することができ、ネットワーク全体の通信フェーズを短縮することができる。   Thus, the buffer B in each acquisition-side communication device N is prevented from overflowing, the data amount of the message M flowing through the network is managed, collision of the message M can be avoided, and congestion can be suppressed. Since congestion can be suppressed, an increase in communication time due to congestion can be avoided, and the communication phase of the entire network can be shortened.

また、要求トークンに、被取得側の通信装置Nでの複数のバッファBのバッファリング量を含める。これにより、被取得側の通信装置Nで最も逼迫しているバッファBのメッセージMを優先して、取得側の通信装置Nに取得させるようにして、バッファBがあふれないようにすることができる。また、取得側の通信装置Nは、被取得側の通信装置Nでの複数のバッファBのバッファリング量に基づいて、メッセージMを取得するか否かを決定するため、1対1の通信装置N間の効率化ではなく、ネットワーク全体での効率化を図ることができる。   Further, the request token includes the buffering amounts of the plurality of buffers B in the communication device N on the acquisition side. As a result, the message M in the buffer B that is most tight in the communication device N on the acquisition side can be preferentially acquired by the communication device N on the acquisition side, and the buffer B can be prevented from overflowing. . Further, the communication device N on the acquisition side determines whether or not to acquire the message M based on the buffering amounts of the plurality of buffers B in the communication device N on the acquisition side. It is possible to improve the efficiency of the entire network, not the efficiency between N.

また、通信装置Nは、一度に取得する被取得側の通信装置Nの数を閾値以下にして、ネットワークを流れるメッセージMのデータ量を管理して、メッセージMの衝突を回避し、輻輳を抑制できる。   In addition, the communication device N manages the data amount of the message M flowing through the network by setting the number of acquisition-side communication devices N to be acquired at a threshold value or less to avoid collision of the message M and suppress congestion. it can.

また、要求トークンに、被取得側の通信装置NでのメッセージMの取得期限に関する情報を含める。これにより、取得側の通信装置Nは、取得期限が迫っている被取得側の通信装置Nから優先してメッセージMを取得していくため、メッセージMを取得期限までに取得することができる。   Further, the request token includes information related to the acquisition time limit of the message M in the communication device N on the acquisition side. Accordingly, the acquisition-side communication device N acquires the message M preferentially from the acquisition-side communication device N whose acquisition deadline is approaching, and thus can acquire the message M by the acquisition deadline.

また、取得側の通信装置Nは、被取得側の通信装置Nから取得するメッセージMのデータ量の上限を定めて、メッセージMを取得する。これにより、ネットワークを流れるメッセージMのデータ量を管理して、メッセージMの衝突を回避し、輻輳を抑制できる。   Further, the acquisition-side communication device N determines the upper limit of the data amount of the message M acquired from the acquisition-side communication device N, and acquires the message M. Thereby, the data amount of the message M flowing through the network can be managed, the collision of the message M can be avoided, and congestion can be suppressed.

被取得側の通信装置Nでは、バッファBのバッファリング量に基づいて、要求トークンを送信するか否かを判定する。これにより、バッファBがあふれる前に、要求トークンを送信して、メッセージMを取得側の通信装置Nに取得させることができる。   The acquisition-side communication device N determines whether or not to send a request token based on the buffering amount of the buffer B. Thereby, before the buffer B overflows, a request token can be transmitted and the message M can be acquired by the acquisition side communication apparatus N.

また、被取得側の通信装置Nでは、メッセージMの取得期限に基づいて、要求トークンを送信するか否かを判定する。これにより、取得期限より前に、要求トークンを送信して、メッセージMを取得期限までに取得側の通信装置Nに取得させることができる。   Further, the communication device N on the acquisition side determines whether or not to transmit a request token based on the acquisition time limit of the message M. Accordingly, the request token can be transmitted before the acquisition deadline, and the message M can be acquired by the acquisition-side communication device N by the acquisition deadline.

ここで、クラスタなどの分散並列計算機を使った処理の分野には、処理過程での演算結果に依存して通信相手が決定され、予め通信相手がどの通信装置になるかを予測することが困難な種類の処理がある。例えば、MapReduceのshuffle、Key−Value Storageシステム、または分散Complex Event Processingなどでの処理である。   Here, in the field of processing using a distributed parallel computer such as a cluster, it is difficult to predict which communication device will be the communication partner in advance, because the communication partner is determined depending on the calculation result in the processing process. There are various types of processing. For example, processing in MapReduce shuffle, Key-Value Storage system, or distributed Complex Event Processing.

このような予め通信相手が予測困難な処理に対しては、アルゴリズムと、通信装置の物理的配置および時間的配置と、を工夫しておくことにより、メッセージM通信を予めスケジューリングして、衝突を回避し輻輳を抑制することができないという問題がある。しかしながら、本実施の形態にかかる通信装置、通信方法、および通信プログラムは、このような予め通信相手が予測困難な処理に対しても適用可能であり、メッセージMの衝突を回避し輻輳を抑制することができる。   For such a process that is difficult for the communication partner to predict in advance, the message M communication is scheduled in advance by devising the algorithm and the physical arrangement and the temporal arrangement of the communication device. There is a problem that it cannot be avoided and congestion can be suppressed. However, the communication device, the communication method, and the communication program according to the present embodiment can be applied to such a process that is difficult for the communication partner to predict in advance, and avoids collision of the message M and suppresses congestion. be able to.

また、メッセージMが衝突した場合、輻輳を抑制する技術には、TCP/IP(Transmission Control Protocol/Internet Protocol)のフロー制御やEthernet(登録商標)のパケット衝突回避技術がある。しかし、TCP/IPのフロー制御やEthernet(登録商標)のパケット衝突回避技術では、メッセージMの衝突があってから輻輳を抑制する効果があらわれるまでに、ネットワーク上においてパケットロスが発生するという問題がある。また、Ethernet(登録商標)スイッチでの制御切替のためにオーバヘッドが生じるという問題がある。また、受信データ量の過多により、受信側の通信装置で、キャッシュミスヒットやメモリ不足が生じるという問題がある。しかしながら、本実施の形態にかかる通信装置、通信方法、および通信プログラムは、TCP/IPのフロー制御やEthernet(登録商標)のパケット衝突回避技術のようにパケットロスやキャッシュミスヒットやメモリ不足を生じることなく、メッセージMの衝突を回避し輻輳を抑制することができる。   In addition, when the message M collides, techniques for suppressing congestion include TCP / IP (Transmission Control Protocol / Internet Protocol) flow control and Ethernet (registered trademark) packet collision avoidance techniques. However, the TCP / IP flow control and the Ethernet (registered trademark) packet collision avoidance technique have a problem that packet loss occurs on the network from the collision of the message M until the effect of suppressing congestion appears. is there. In addition, there is a problem that overhead occurs due to control switching by the Ethernet (registered trademark) switch. Further, there is a problem that a cache miss hit or a memory shortage occurs in the communication device on the receiving side due to an excessive amount of received data. However, the communication apparatus, the communication method, and the communication program according to the present embodiment cause packet loss, cache miss hit, and memory shortage like TCP / IP flow control and Ethernet (registered trademark) packet collision avoidance technology. Therefore, the collision of the message M can be avoided and congestion can be suppressed.

なお、本実施の形態で説明した通信方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本通信プログラムは、ハードディスク、フレキシブルディスク、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)複数の取得先と通信する通信装置であって、
前記複数の取得先のうちいずれかの取得先での前記通信装置を取得元にする被取得データのデータ量を特定する情報を、前記いずれかの取得先から受信する受信手段と、
前記受信手段によって受信された情報に基づいて、前記いずれかの取得先を取得対象にするか否かを判定する判定手段と、
前記判定手段によって取得対象にすると判定された前記いずれかの取得先から、前記通信装置を取得元にする被取得データを取得する取得手段と、
を備えることを特徴とする通信装置。
(Appendix 1) A communication device that communicates with a plurality of acquisition destinations,
Receiving means for receiving, from one of the acquisition sources, information for specifying a data amount of data to be acquired from the communication device at one of the plurality of acquisition destinations;
A determination unit that determines whether or not to set one of the acquisition sources as an acquisition target based on the information received by the reception unit;
An acquisition means for acquiring data to be acquired from the communication device as an acquisition source from any of the acquisition destinations determined to be acquisition targets by the determination means;
A communication apparatus comprising:

(付記2)前記受信手段は、
前記いずれかの取得先とは異なる他の取得先での前記通信装置を取得元にする被取得データのデータ量を特定する情報を、前記他の取得先から受信し、
前記判定手段は、
前記いずれかの取得先での前記通信装置を取得元にする被取得データのデータ量を特定する情報と、前記他の取得先での前記通信装置を取得元にする被取得データのデータ量を特定する情報と、に基づいて、前記いずれかの取得先を取得対象にするか否かを判定することを特徴とする付記1に記載の通信装置。
(Appendix 2) The receiving means
Receiving from the other acquisition source information identifying the amount of data to be acquired from the communication device at another acquisition destination different from any of the acquisition destinations;
The determination means includes
Information specifying the amount of data to be acquired from the communication device at any of the acquisition sources and the amount of data to be acquired from the communication device at the other acquisition source The communication apparatus according to appendix 1, wherein it is determined whether or not one of the acquisition destinations is to be acquired based on information to be specified.

(付記3)前記受信手段は、
前記いずれかの取得先での前記通信装置とは異なる他の通信装置を取得元にする被取得データのデータ量を特定する情報を、前記いずれかの取得先から受信し、
前記判定手段は、
前記いずれかの取得先での前記通信装置を取得元にする被取得データのデータ量を特定する情報と、前記いずれかの取得先での前記他の通信装置を取得元にする被取得データのデータ量を特定する情報と、に基づいて、前記いずれかの取得先を取得対象にするか否かを判定することを特徴とする付記1に記載の通信装置。
(Appendix 3) The receiving means
Information specifying the data amount of the data to be acquired from another communication device different from the communication device at any one of the acquisition destinations is received from any one of the acquisition sources,
The determination means includes
Information specifying the amount of data to be acquired from the communication device at any one of the acquisition sources, and data to be acquired from the other communication device at any of the acquisition sources The communication apparatus according to appendix 1, wherein it is determined whether or not one of the acquisition sources is to be acquired based on information specifying a data amount.

(付記4)前記受信手段は、
前記いずれかの取得先での前記通信装置を取得元にする被取得データの取得期限に関する情報を、前記いずれかの取得先から受信し、
前記判定手段は、
前記いずれかの取得先での前記通信装置を取得元にする被取得データの取得期限に関する情報に基づいて、前記いずれかの取得先を取得対象にするか否かを判定することを特徴とする付記1に記載の通信装置。
(Appendix 4) The receiving means
Received from one of the acquisition sources information related to the acquisition deadline of the data to be acquired from the communication device at one of the acquisition sources,
The determination means includes
It is determined whether or not to set one of the acquisition destinations as an acquisition target based on information on an acquisition time limit of the acquisition target data from the communication device at one of the acquisition destinations. The communication apparatus according to attachment 1.

(付記5)前記受信手段は、
前記いずれかの取得先とは異なる他の取得先での前記通信装置を取得元にする被取得データの取得期限に関する情報を、前記他の取得先から受信し、
前記判定手段は、
前記いずれかの取得先での前記通信装置を取得元にする被取得データの取得期限に関する情報と、前記他の取得先での前記通信装置を取得元にする被取得データの取得期限に関する情報と、に基づいて、前記いずれかの取得先を取得対象にするか否かを判定することを特徴とする付記4に記載の通信装置。
(Appendix 5) The receiving means
Received from the other acquisition source information related to the acquisition deadline of the data to be acquired from the communication device at another acquisition destination different from any of the acquisition destinations,
The determination means includes
Information relating to the acquisition deadline of data to be acquired from the communication device at any of the acquisition sources, and information relating to the acquisition deadline of data to be acquired from the communication device at the other acquisition destination The communication apparatus according to appendix 4, wherein it is determined whether or not one of the acquisition destinations is an acquisition target on the basis of.

(付記6)前記受信手段によって受信された情報に基づいて、前記判定手段によって取得対象にすると判定された前記いずれかの取得先から取得するデータ量を決定する決定手段を備え、
前記取得手段は、
前記判定手段によって取得対象にすると判定された前記いずれかの取得先から、前記決定手段によって決定されたデータ量で、前記通信装置を取得元にする被取得データを取得することを特徴とする付記1〜5のいずれか一つに記載の通信装置。
(Additional remark 6) It is provided with the determination means which determines the data amount acquired from the said any acquisition source determined to be made into the acquisition object by the said determination means based on the information received by the said reception means,
The acquisition means includes
The acquired data having the communication device as an acquisition source is acquired from the one of the acquisition sources determined to be the acquisition target by the determination unit with the data amount determined by the determination unit. The communication device according to any one of 1 to 5.

(付記7)前記判定手段は、
取得中の取得対象の数が閾値以上である場合、前記いずれかの取得先を取得対象にしないと判定することを特徴とする付記1〜6のいずれか一つに記載の通信装置。
(Appendix 7) The determination means includes
The communication apparatus according to any one of appendices 1 to 6, wherein when the number of acquisition targets being acquired is equal to or greater than a threshold value, it is determined that one of the acquisition destinations is not an acquisition target.

(付記8)取得元に取得させる被取得データのデータ量が閾値以上であることを検出する検出手段と、
前記検出手段によって前記被取得データのデータ量が閾値以上であることが検出された場合、前記被取得データのデータ量を特定する情報を、前記取得元に通知する通知手段と、
を備えることを特徴とする通信装置。
(Supplementary Note 8) Detection means for detecting that the amount of data to be acquired to be acquired by the acquisition source is greater than or equal to a threshold value;
A notification means for notifying the acquisition source of information specifying the data amount of the acquired data when the detection means detects that the data amount of the acquired data is equal to or greater than a threshold;
A communication apparatus comprising:

(付記9)前記検出手段は、
前記被取得データを生成したときからの経過時間が規定時間以上であることを検出し、
前記通知手段は、
前記検出手段によって前記経過時間が規定時間以上であることが検出された場合、前記被取得データのデータ量を特定する情報を、前記取得元に通知することを特徴とする付記8に記載の通信装置。
(Supplementary note 9) The detection means includes:
Detecting that the elapsed time from the generation of the data to be acquired is a specified time or more,
The notification means includes
The communication according to claim 8, wherein when the elapsed time is detected by the detection unit to be equal to or longer than a predetermined time, the acquisition source is notified of information specifying a data amount of the acquired data. apparatus.

(付記10)前記通知手段は、
前記被取得データのデータ量を特定する情報とともに、前記被取得データの取得期限に関する情報を、前記取得元に通知することを特徴とする付記8または9に記載の通信装置。
(Supplementary Note 10) The notification means includes:
The communication apparatus according to appendix 8 or 9, wherein the acquisition source is notified of information related to an acquisition time limit of the acquired data together with information specifying a data amount of the acquired data.

(付記11)前記検出手段は、前記取得元とは異なる他の取得元に取得させる被取得データのデータ量を検出し、
前記通知手段は、
前記被取得データのデータ量を特定する情報とともに、前記他の取得元に取得させる被取得データのデータ量を特定する情報を、前記取得元に通知することを特徴とする付記8〜10のいずれか一つに記載の通信装置。
(Additional remark 11) The said detection means detects the data amount of the to-be-acquired data acquired by the other acquisition source different from the said acquisition source,
The notification means includes
Any one of appendices 8 to 10, wherein the acquisition source is notified of information specifying the data amount of the acquired data to be acquired by the other acquisition source together with information specifying the data amount of the acquisition target data The communication apparatus as described in any one.

(付記12)複数の取得先と通信する通信装置が、
前記複数の取得先のうちいずれかの取得先での前記通信装置を取得元にする被取得データのデータ量を特定する情報を、前記いずれかの取得先から受信し、
受信された情報に基づいて、前記いずれかの取得先を取得対象にするか否かを判定し、
取得対象にすると判定された前記いずれかの取得先から、前記通信装置を取得元にする被取得データを取得する、
処理を実行することを特徴とする通信方法。
(Additional remark 12) The communication apparatus which communicates with several acquisition destinations,
Information specifying the data amount of data to be acquired from the communication device at any one of the plurality of acquisition destinations is received from any one of the acquisition destinations,
Based on the received information, determine whether or not to make any of the acquisition destinations,
Acquiring acquired data from the communication device as an acquisition source from any of the acquisition destinations determined to be acquisition targets,
A communication method characterized by executing processing.

(付記13)コンピュータが、
取得元に取得させる被取得データのデータ量が閾値以上であることを検出し、
前記被取得データのデータ量が閾値以上であることが検出された場合、前記被取得データのデータ量を特定する情報を、前記取得元に通知する、
処理を実行することを特徴とする通信方法。
(Supplementary note 13)
Detect that the amount of data to be acquired to be acquired by the acquisition source is greater than or equal to the threshold,
When it is detected that the data amount of the acquisition target data is equal to or greater than a threshold value, the information specifying the data amount of the acquisition target data is notified to the acquisition source.
A communication method characterized by executing processing.

(付記14)複数の取得先と通信する通信装置に、
前記複数の取得先のうちいずれかの取得先での前記通信装置を取得元にする被取得データのデータ量を特定する情報を、前記いずれかの取得先から受信し、
受信された情報に基づいて、前記いずれかの取得先を取得対象にするか否かを判定し、
取得対象にすると判定された前記いずれかの取得先から、前記通信装置を取得元にする被取得データを取得する、
処理を実行させることを特徴とする通信プログラム。
(Supplementary Note 14) In a communication device that communicates with a plurality of acquisition destinations,
Information specifying the data amount of data to be acquired from the communication device at any one of the plurality of acquisition destinations is received from any one of the acquisition destinations,
Based on the received information, determine whether or not to make any of the acquisition destinations,
Acquiring acquired data from the communication device as an acquisition source from any of the acquisition destinations determined to be acquisition targets,
A communication program for executing a process.

(付記15)コンピュータに、
取得元に取得させる被取得データのデータ量が閾値以上であることを検出し、
前記被取得データのデータ量が閾値以上であることが検出された場合、前記被取得データのデータ量を特定する情報を、前記取得元に通知する、
処理を実行させることを特徴とする通信プログラム。
(Supplementary note 15)
Detect that the amount of data to be acquired to be acquired by the acquisition source is greater than or equal to the threshold,
When it is detected that the data amount of the acquisition target data is equal to or greater than a threshold value, the information specifying the data amount of the acquisition target data is notified to the acquisition source.
A communication program for executing a process.

N 通信装置
B バッファ
M メッセージ
1401 受信部
1402 判定部
1403 取得部
1404 決定部
1501 検出部
1502 通知部
N communication device B buffer M message 1401 reception unit 1402 determination unit 1403 acquisition unit 1404 determination unit 1501 detection unit 1502 notification unit

Claims (7)

複数の装置と通信する通信装置であって、
前記複数の装置に含まれる第1の装置での前記通信装置を取得元にする被取得データのデータ量を特定する第1の情報、および前記通信装置とは異なる他の通信装置を取得元にする被取得データのデータ量を特定する第2の情報を、前記第1の装置から受信する受信手段と、
前記第1の情報、および前記第2の情報に基づいて、前記第1の装置を取得対象にするか否かを判定する判定手段と、
前記判定手段の判定結果に応じて、前記通信装置を取得元にする被取得データを前記第1の装置から取得する取得手段と、
を備えることを特徴とする通信装置。
A communication device that communicates with a plurality of devices ,
First information for specifying a data amount of data to be acquired from the communication device in the first device included in the plurality of devices , and another communication device different from the communication device as an acquisition source Receiving means for receiving, from the first device , second information specifying the amount of data to be acquired ;
Determination means for determining whether or not the first device is an acquisition target based on the first information and the second information ;
According to a determination result of the determination unit , an acquisition unit that acquires data to be acquired from the first device from the communication device;
A communication apparatus comprising:
前記受信手段は、
前記第1の装置とは異なる他の装置での前記通信装置を取得元にする被取得データのデータ量を特定する第3の情報を、前記他の装置から受信し、
前記判定手段は、
前記第1の情報、前記第2の情報、および前記第3の報に基づいて、前記第1の装置を取得対象にするか否かを判定することを特徴とする請求項1に記載の通信装置。
The receiving means includes
Receiving, from the other device , third information specifying the amount of data to be acquired from the communication device in another device different from the first device ;
The determination means includes
The first information, the second information, and on the basis of the third information, according to claim 1, wherein the determining whether to retrieve the object the first device Communication device.
前記受信手段は、
前記第1の装置での前記通信装置を取得元にする被取得データの取得期限に関する第4の情報を、前記第1の装置から受信し、
前記判定手段は、
前記第1の情報および前記第2の情報、または前記第4の情報のうち、少なくともいずれかに基づいて、前記第1の装置を取得対象にするか否かを判定することを特徴とする請求項1に記載の通信装置。
The receiving means includes
The fourth information on the acquisition date of the acquired data to the communication device at the first device to retrieve, to receive from the first device,
The determination means includes
It is determined whether to make the first device an acquisition target based on at least one of the first information, the second information, and the fourth information. Item 4. The communication device according to Item 1.
前記受信手段は、
前記第1の装置とは異なる他の装置での前記通信装置を取得元にする被取得データの取得期限に関する第5の情報を、前記他の装置から受信し、
前記判定手段は、
前記第1の情報および前記第2の情報、前記第4の情報、または前記第5の情報のうち、少なくともいずれかに基づいて、前記第1の装置を取得対象にするか否かを判定することを特徴とする請求項に記載の通信装置。
The receiving means includes
Receiving, from the other device , fifth information relating to an acquisition time limit of data to be acquired from the communication device in another device different from the first device ;
The determination means includes
Based on at least one of the first information, the second information, the fourth information , and the fifth information , it is determined whether or not the first device is to be acquired. The communication apparatus according to claim 3 .
前記受信手段によって受信された情報に基づいて、前記判定手段によって取得対象にすると判定された前記第1の装置から取得するデータ量を決定する決定手段を備え、
前記取得手段は、
前記判定手段によって取得対象にすると判定された前記第1の装置から、前記決定手段によって決定されたデータ量で、前記通信装置を取得元にする被取得データを取得することを特徴とする請求項1〜のいずれか一つに記載の通信装置。
Based on the information received by the receiving means, comprising a determining means for determining the amount of data to be acquired from the first device determined to be acquired by the determining means;
The acquisition means includes
The data to be acquired from the communication device as an acquisition source is acquired from the first device determined to be the acquisition target by the determination unit with the data amount determined by the determination unit. The communication device according to any one of 1 to 4 .
複数の装置と通信する通信装置が、
前記複数の装置に含まれる第1の装置での前記通信装置を取得元にする被取得データのデータ量を特定する第1の情報、および前記通信装置とは異なる他の通信装置を取得元にする被取得データのデータ量を特定する第2の情報を、前記第1の装置から受信し、
前記第1の情報、および前記第2の情報に基づいて、前記第1の装置を取得対象にするか否かを判定し、
判定結果に応じて、前記通信装置を取得元にする被取得データを前記第1の装置から取得する、
処理を実行することを特徴とする通信方法。
A communication device that communicates with a plurality of devices .
First information for specifying a data amount of data to be acquired from the communication device in the first device included in the plurality of devices , and another communication device different from the communication device as an acquisition source Receiving second information specifying the amount of data to be acquired from the first device ;
Based on the first information and the second information , it is determined whether or not the first device is an acquisition target,
According to a determination result, obtain data to be obtained from the communication device as an acquisition source from the first device .
A communication method characterized by executing processing.
複数の装置と通信する通信装置に、
前記複数の装置に含まれる第1の装置での前記通信装置を取得元にする被取得データのデータ量を特定する第1の情報、および前記通信装置とは異なる他の通信装置を取得元にする被取得データのデータ量を特定する第2の情報を、前記第1の装置から受信し、
前記第1の情報、および前記第2の情報に基づいて、前記第1の装置を取得対象にするか否かを判定し、
判定結果に応じて、前記通信装置を取得元にする被取得データを前記第1の装置から取得する、
処理を実行させることを特徴とする通信プログラム。
For communication devices that communicate with multiple devices ,
First information for specifying a data amount of data to be acquired from the communication device in the first device included in the plurality of devices , and another communication device different from the communication device as an acquisition source Receiving second information specifying the amount of data to be acquired from the first device ;
Based on the first information and the second information , it is determined whether or not the first device is an acquisition target,
According to a determination result, obtain data to be obtained from the communication device as an acquisition source from the first device .
A communication program for executing a process.
JP2011176423A 2011-08-11 2011-08-11 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM Active JP5772380B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011176423A JP5772380B2 (en) 2011-08-11 2011-08-11 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
US13/495,034 US20130039172A1 (en) 2011-08-11 2012-06-13 Communication apparatus, communication method, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011176423A JP5772380B2 (en) 2011-08-11 2011-08-11 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM

Publications (2)

Publication Number Publication Date
JP2013042247A JP2013042247A (en) 2013-02-28
JP5772380B2 true JP5772380B2 (en) 2015-09-02

Family

ID=47677480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011176423A Active JP5772380B2 (en) 2011-08-11 2011-08-11 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM

Country Status (2)

Country Link
US (1) US20130039172A1 (en)
JP (1) JP5772380B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495325B2 (en) 2013-12-30 2016-11-15 International Business Machines Corporation Remote direct memory access (RDMA) high performance producer-consumer message processing

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5918055A (en) * 1997-02-06 1999-06-29 The Regents Of The University Of California Apparatus and method for managing digital resources by passing digital resource tokens between queues
KR100464447B1 (en) * 2001-12-11 2005-01-03 삼성전자주식회사 Method and apparatus for scheduling data packets according to quality of service in mobile telecommunication system
CN1185829C (en) * 2001-12-19 2005-01-19 华为技术有限公司 Method of controlling Ethernet data flow quantity on synchronous numerical system transmission net
US7359321B1 (en) * 2002-01-17 2008-04-15 Juniper Networks, Inc. Systems and methods for selectively performing explicit congestion notification
JP4295051B2 (en) * 2003-09-12 2009-07-15 パナソニック株式会社 Transmitting apparatus and transmitting method
JP2005275846A (en) * 2004-03-25 2005-10-06 Hitachi Information Systems Ltd Data file automatic collection system, data file automatic collection method and program therefor
JP4343119B2 (en) * 2005-01-19 2009-10-14 富士通株式会社 RELAY CONTROL PROGRAM, ITS RECORDING MEDIUM, RELAY CONTROL METHOD, AND RELAY CONTROL DEVICE
JP4698477B2 (en) * 2006-05-11 2011-06-08 株式会社リコー Print management device, log information collection device, print management system, print management method, print management program, and storage medium
JP4894563B2 (en) * 2007-03-07 2012-03-14 日本電気株式会社 Communication device
BRPI0808234A2 (en) * 2007-03-14 2014-07-22 Interdigital Tech Corp TITLE METHOD AND APPARATUS TO AVOID LOSS OF UPLINK SUPPORT IN A LONG TERM EVOLUTION SYSTEM.
US20100157800A1 (en) * 2008-12-19 2010-06-24 Inventec Corporation Method for processing network traffic loading balance
US8339957B2 (en) * 2009-06-26 2012-12-25 Google Inc. Aggregate transport control
US8607279B2 (en) * 2010-03-23 2013-12-10 Qualcomm Incorporated Induced sleep intervals for devices receiving bursty non-real time broadcast flows
CN102202345A (en) * 2010-06-03 2011-09-28 美商威睿电通公司 Mobile communication device and register state returning method of machine type communication data
CN102457537B (en) * 2010-10-19 2015-11-25 阿里巴巴集团控股有限公司 A kind of communication means of transmission control protocol and server

Also Published As

Publication number Publication date
JP2013042247A (en) 2013-02-28
US20130039172A1 (en) 2013-02-14

Similar Documents

Publication Publication Date Title
US10063488B2 (en) Tracking queuing delay and performing related congestion control in information centric networking
US7418494B2 (en) Method and system for background replication of data objects
US9319493B2 (en) Communication method and information processing system
CN112104562B (en) Congestion control method and device, communication network and computer storage medium
KR20130093813A (en) A communication method of node prefetching segments of contents in a content centric network and the node
US11218413B2 (en) Congestion control management method derived from packets at a network adapter
JP5803418B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
US10536385B2 (en) Output rates for virtual output queses
US10063481B1 (en) Network endpoint congestion management
JP5951888B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
US9705733B2 (en) Systems and methods for throttling polling
US10146584B2 (en) Weight adjusted dynamic task propagation
CN112148644A (en) Method, apparatus and computer program product for processing input/output requests
JP2011203810A (en) Server, computer system, and virtual computer management method
JP2010108300A (en) Information processing system, and method of allocating i/o to path in information processing system
JP5772380B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
JP7127743B2 (en) Communication device, communication method and program
EP3835961B1 (en) Transfer device for content delivery network
JP6280237B2 (en) Computer system and data processing method
Rezaei et al. Resqueue: A smarter datacenter flow scheduler
JP2011238099A (en) Transaction processing device, transaction processing method, and transaction processing program
JP2014112779A (en) Data transmission controller, data transmission control method, and computer program
US10243861B1 (en) Reducing jitter and compensating for memory latency during traffic shaping
US9213735B1 (en) Flow control in very large query result sets using a release message to confirm that a client computer is ready to receive the data associated with a data collection operation
Jiang et al. Tars: Timeliness-aware adaptive replica selection for key-value stores

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150330

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150615

R150 Certificate of patent or registration of utility model

Ref document number: 5772380

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150