JP5803418B2 - 通信装置、通信方法、および通信プログラム - Google Patents

通信装置、通信方法、および通信プログラム Download PDF

Info

Publication number
JP5803418B2
JP5803418B2 JP2011179255A JP2011179255A JP5803418B2 JP 5803418 B2 JP5803418 B2 JP 5803418B2 JP 2011179255 A JP2011179255 A JP 2011179255A JP 2011179255 A JP2011179255 A JP 2011179255A JP 5803418 B2 JP5803418 B2 JP 5803418B2
Authority
JP
Japan
Prior art keywords
transmission
communication device
communication
data
transmitted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011179255A
Other languages
English (en)
Other versions
JP2013042434A (ja
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 JP2011179255A priority Critical patent/JP5803418B2/ja
Priority to US13/523,959 priority patent/US20130044745A1/en
Publication of JP2013042434A publication Critical patent/JP2013042434A/ja
Application granted granted Critical
Publication of JP5803418B2 publication Critical patent/JP5803418B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/226Delivery according to priorities

Landscapes

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

Description

本発明は、通信する通信装置、通信方法、および通信プログラムに関する。
クラスタなどの分散並列計算機を使った処理の分野では、処理過程において、通信相手がランダムな大量のメッセージ通信が発生する。このとき、一部のノードにメッセージ通信が一時的に集中する場合がある。これにより、ネットワークでデータの衝突が起き、結果としてネットワークの輻輳が発生する。
従来では、メッセージの宛先に送信権の要求通知を送信して、トークンと呼ばれる送信権を宛先から受信した場合にのみ、メッセージを送信するようにして、メッセージの衝突を回避する技術がある(例えば、下記特許文献1参照)。また、関連する技術として、送信権が得られなかった場合に要求通知を再送信する技術がある(例えば、下記特許文献2参照)。
また、関連する技術として、通信相手ごとにメッセージをまとめて送信して、ネットワークのスループットを向上させる技術がある(例えば、下記特許文献3参照)。また、関連する技術として、送信権に、送信を許可するデータサイズを含めておくことにより、ネットワークのスループットを向上させる技術がある(例えば、下記特許文献4参照)。また、関連する技術として、親局が子局に割り振る送信時間帯を調整する技術がある。
特開2001−320385号公報 特開平11−341107号公報 特公平7−93636号公報 特開2002−261786号公報 特開2000−244527号公報
しかしながら、上述した従来技術は、送信元と宛先との1対1の関係に基づいて送信権を与えるか否かを判断しており、複数の送信元と宛先との多対1の関係が考慮されていない。そのため、未送信のメッセージの量が多いために優先して送信をおこなわせるべき送信元よりも先に、未送信のメッセージの量がまだ少ない他の送信元に送信権を与えてしまうことがある。この場合、送信元において、未送信のメッセージが格納されたバッファにメモリ不足が生じてしまう。また、送信権の受信の待ち時間の長い送信元よりも先に、待ち時間の短い送信元に送信権を与えてしまうことがある。この場合、送信元において、メッセージの送信期限を守れず、処理の遅延や処理エラーを生じてしまう。
本発明は、1つの側面では、ネットワークの状況により送信権を効率的に与えることができる通信装置、通信方法、および通信プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、複数の送信元のうちいずれかの送信元から、いずれかの送信元から自通信装置への送信を許可する送信権について、自通信装置を宛先にする送信対象データのデータ量を特定する情報を含む要求通知を受信し、受信された要求通知に基づいて、いずれかの送信元に送信権を付与するか否かを判定し、送信権を付与すると判定されたいずれかの送信元に送信権を送信する通信装置、通信方法、および通信プログラムが提案される。
また、本発明の一側面によれば、複数の宛先のうちいずれかの宛先への送信対象データのデータ量に基づいて、いずれかの宛先に、自通信装置からいずれかの宛先への送信を許可する送信権を要求するか否かを判定し、送信権を要求すると判定された場合、いずれかの宛先への送信対象データのデータ量を特定する情報を含む要求通知を、いずれかの宛先に通知し、要求通知が通知された結果、いずれかの宛先から送信権を受信し、送信権が受信された場合、いずれかの宛先への送信対象データをいずれかの宛先に送信する通信装置、通信方法、および通信プログラムが提案される。
本発明の一側面によれば、ネットワークの状況により送信権を効率的に与えることができるという効果を奏する。
図1は、通信装置による通信の内容を示す説明図(その1)である。 図2は、通信装置による通信の内容を示す説明図(その2)である。 図3は、実施の形態にかかる通信装置Nのハードウェア構成例を示すブロック図である。 図4は、図3に示したRAM303に記憶されている送信長履歴の内容を示す説明図である。 図5は、図3に示したRAM303に記憶されている送信依頼履歴の内容を示す説明図である。 図6は、図3に示したRAM303に記憶されている要求トークンレイテンシ履歴の内容を示す説明図である。 図7は、図3に示したRAM303に記憶されている送信スループット履歴の内容を示す説明図である。 図8は、図3に示したRAM303に記憶されている受信スループット履歴の内容を示す説明図である。 図9は、図3に示したRAM303に記憶されている許可トークン発行数情報の内容を示す説明図である。 図10は、図3に示したRAM303に記憶されている許可トークン発行履歴の内容を示す説明図である。 図11は、図3に示したRAM303に記憶されている通信相手リストの内容を示す説明図である。 図12は、図3に示したRAM303に記憶されている要求トークンリストの内容を示す説明図である。 図13は、図3に示したRAM303に記憶されている許可トークンリストの内容を示す説明図である。 図14は、メッセージMの受信側としての通信装置Nの機能的構成を示すブロック図である。 図15は、メッセージMの送信側としての通信装置Nの機能的構成を示すブロック図である。 図16は、初期化処理の詳細を示すフローチャートである。 図17は、アプリケーション利用登録処理の詳細を示すフローチャートである。 図18は、要求トークンの送信の内容を示す説明図である。 図19は、バッファ管理処理の詳細を示すフローチャートである。 図20は、要求トークン送信処理の詳細を示すフローチャートである。 図21は、許可トークンの送信の内容を示す説明図である。 図22は、他の宛先へのバッファリング量を含む要求トークンに基づく許可トークンの送信の内容を示す説明図である。 図23は、許可トークン送信処理の詳細を示すフローチャートである。 図24は、メッセージ送信処理の詳細を示すフローチャートである。 図25は、メッセージ受信処理の詳細を示すフローチャートである。
以下に添付図面を参照して、この発明にかかる通信装置、通信方法、および通信プログラムの実施の形態を詳細に説明する。この発明にかかる通信装置は、宛先ごとに、送信するデータをバッファリングしている。
ここで、ネットワーク上のデータ量を制御し輻輳を抑制するために、送信側の通信装置は、バッファリング中のデータの宛先となる受信側の通信装置に、バッファリングされているデータ量を特定する情報を含む送信権の要求を通知する。送信権の要求を通知した後、送信側の通信装置は、受信側の通信装置から送信権を得るまでは、バッファリング中のデータを送信しない。
一方、受信側の通信装置では、自装置宛にデータを送信する送信側の通信装置群から、各通信装置でバッファリングされているデータ量を特定する情報を含む送信権の要求を受信する。そして、受信側の通信装置は、バッファが最も逼迫している送信装置に送信権を与える。
このように、この発明にかかる通信装置、通信方法、および通信プログラムによれば、送信権を与えることにより、ネットワーク上に送信されるデータ量を制御して、衝突を回避し、ネットワークの輻輳を抑制することができる。
また、受信側の通信装置において、複数の送信側の通信装置のそれぞれでバッファリングされているデータ量を参照して、送信権を与える送信側の通信装置を決定する。そのため、1対1の通信装置間のスループットのみではなく、ネットワーク全体のスループットを向上させるように、送信権を与えることができる。また、この発明にかかる通信装置、通信方法、および通信プログラムによれば、宛先ごとに送信するデータをバッファリングして、スループットを向上させることができる。
(通信装置による通信の内容)
図1および図2は、通信装置による通信の内容を示す説明図である。ここで、図1および図2に示す通信システムは、複数の通信装置N(図1および図2では、例えば、3台の通信装置N1〜N3)がネットワークを介して接続され、メッセージMの送受信をおこなうシステムである。また、通信システムは、ネットワークにおいて中継をおこなう機器であるスイッチングハブSHを含む。
各通信装置Nは、宛先となる通信装置Nごとに送信するメッセージM(データ)をバッファリングするバッファBを有する。なお、メッセージMは、各通信装置Nが実行するアプリケーションによって生成される。
例えば、通信装置N1は、通信装置N2宛のメッセージMをバッファリングするバッファB1t2と、通信装置N3宛のメッセージMをバッファリングするバッファB1t3と、を有している。
また、通信装置N2は、通信装置N1宛のメッセージMをバッファリングするバッファB2t1と、通信装置N3宛のメッセージMをバッファリングするバッファB2t3と、を有している。
そして、通信装置N3は、通信装置N1宛のメッセージMをバッファリングするバッファB3t1と、通信装置N2宛のメッセージMをバッファリングするバッファB3t2と、を有している。
ここで、通信装置N1,N3がそれぞれ通信装置N2にメッセージMを送信する場合を例に挙げて、通信装置Nによる通信の内容について説明する。
図1において、(1)通信装置N1は、通信装置N2宛のメッセージMが生成されるごとに、生成されたメッセージMをバッファB1t2に格納していく。また、同様に、通信装置N3でも、通信装置N2宛のメッセージMがバッファB3t2に格納されている。
(2)通信装置N1は、バッファB1t2に格納されたメッセージMを、通信装置N2に送信するために、通信装置N2に、通信装置N2への送信を許可する送信権について要求通知(以下、「要求トークン」という)を送信する。そして、通信装置N1は、通信装置N2からの通信装置N2への送信を許可する送信権(以下、「許可トークン」という)の受信を待つ。ここで、要求トークンには、メッセージMの送信元となる通信装置N1の識別子と、バッファB1t2に格納されているメッセージ量と、を含ませておく。バッファB1t2に格納されているメッセージ量は、バッファB1t2の逼迫具合の指標となる情報である。
(3)同様に、通信装置N3は、バッファB3t2に格納されたメッセージMを、通信装置N2に送信するために、通信装置N2に要求トークンを送信する。そして、通信装置N3は、通信装置N2からの許可トークンの受信を待つ。ここで、要求トークンには、メッセージMの送信元となる通信装置N3の識別子と、バッファB3t2に格納されているメッセージ量と、を含ませておく。バッファB3t2に格納されているメッセージ量は、バッファB3t2の逼迫具合の指標となる情報である。
(4)通信装置N1,N3からそれぞれ要求トークンを受信した通信装置N2は、要求トークンに含まれるそれぞれの通信装置N1,N3でのバッファBのメッセージ量を参照して、送信権を付与する送信元の通信装置N1,N3を選択する。ここでは、通信装置N2は、バッファBへ格納されているメッセージ量が多い通信装置N3にバッファBがあふれる前にメッセージMを送信させるべきであると判定して、通信装置N3に送信権を付与する。
(5)ここで、通信装置N2は、ネットワークのスループットを参照して、ネットワークを輻輳させない範囲で、選択した通信装置N3に送信させるメッセージMの許容データ量を決定する。そして、通信装置N2は、選択した通信装置N3に、許容データ量を含む許可トークンを送信する。
そのため、図2に示すように、通信装置N1には、まだ許可トークンが受信されない。一方、通信装置N3には、許容データ量を含む許可トークンが受信される。
図2において、(1)許可トークンを受信した通信装置N3は、バッファB3t2に格納されているメッセージMのうち、許可トークンに含まれる許容データ量のメッセージMをまとめて通信装置N2に送信する。
(2)一方、通信装置N1は、まだ許可トークンを受信していないため、バッファB1t2に格納されているメッセージMを送信しない。
(3)これにより、ネットワークに流れるメッセージ量を制御して、メッセージMの衝突を回避することができる。そのため、メッセージMの衝突に起因する輻輳を抑制することができる。そして、輻輳を抑制することができるため、輻輳に起因する通信時間の増加を回避することができ、ネットワーク全体の通信フェーズを短縮することができる。
また、バッファリングにより、ネットワークのスループットを向上させることができる。そして、受信側の通信装置Nが、送信側の通信装置N群のバッファBに格納されているメッセージ量に基づいて、バッファBが逼迫しないように、送信権を与えてメッセージMを送信させる。そのため、ネットワークを効率よく使用でき、ネットワーク全体のスループットを向上させることができる。
(通信装置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によってそれぞれ接続されている。
ここで、CPU301は、通信装置Nの全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。
また、RAM303は、宛先ごとのバッファBの領域として使用される。RAM303は、送信長履歴と、送信依頼履歴と、要求トークンレイテンシ履歴と、を記憶している。また、RAM303は、送信スループット履歴と、受信スループット履歴と、許可トークン発行数情報と、許可トークン発行履歴と、を記憶している。また、RAM303は、通信相手リストと、要求トークンリストと、許可トークンリストと、を記憶している。
インターフェース(以下、「I/F」と略する。)304は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク320に接続され、このネットワーク320を介して他の装置に接続される。そして、I/F304は、ネットワーク320と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F304には、例えばモデムやLANアダプタなどを採用することができる。
ディスプレイ305は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ305は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。キーボード306は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。
アプリケーションI/F307は、アプリケーションからのデータの入出力を制御する。例えば、アプリケーションI/F307は、アプリケーションが生成したデータをRAM303のバッファBに格納したり、I/F304に外部装置から入力されたデータをアプリケーションに引き渡したりする。
(送信長履歴の内容)
次に、図4を用いて、図3に示したRAM303に記憶されている送信長履歴の内容について、説明する。
図4は、図3に示したRAM303に記憶されている送信長履歴の内容を示す説明図である。送信長履歴400は、時刻項目のそれぞれに対応付けてノード項目と、送信長項目と、を有し、メッセージMを送信するごとにレコードを構成する。
時刻項目には、メッセージMを送信した時刻(秒)が記憶されている。ノード項目には、メッセージMの宛先になる通信装置Nの識別子が記憶されている。送信長項目には、送信したメッセージMのデータ量(Byte)が記憶されている。
(送信依頼履歴の内容)
次に、図5を用いて、図3に示したRAM303に記憶されている送信依頼履歴の内容について、説明する。
図5は、図3に示したRAM303に記憶されている送信依頼履歴の内容を示す説明図である。送信依頼履歴500は、時刻項目のそれぞれに対応付けてノード項目と、スループット項目と、を有し、アプリケーションからメッセージMの送信が依頼されるごとにレコードを構成する。
時刻項目には、メッセージMの送信が依頼された時刻(秒)が記憶されている。ノード項目には、送信が依頼されたメッセージMの宛先になる通信装置Nの識別子が記憶されている。スループット項目には、単位時間に送信依頼されたメッセージMのデータ量(Byte/秒)が記憶されている。
(要求トークンレイテンシ履歴の内容)
次に、図6を用いて、図3に示したRAM303に記憶されている要求トークンレイテンシ履歴の内容について、説明する。
図6は、図3に示したRAM303に記憶されている要求トークンレイテンシ履歴の内容を示す説明図である。要求トークンレイテンシ履歴600は、時刻項目のそれぞれに対応付けてノード項目と、レイテンシ項目と、を有する。要求トークンレイテンシ履歴600は、要求トークンを送信するごとにレコードを構成し、許可トークンを受信するごとにレコードを更新する。
時刻項目には、要求トークンを送信した時刻(秒)が記憶されている。ノード項目には、要求トークンの宛先になる通信装置Nの識別子が記憶されている。レイテンシ項目には、要求トークンを送信してから許可トークンを受信するまでの時間(秒)が記憶されている。
(送信スループット履歴の内容)
次に、図7を用いて、図3に示したRAM303に記憶されている送信スループット履歴の内容について、説明する。
図7は、図3に示したRAM303に記憶されている送信スループット履歴の内容を示す説明図である。送信スループット履歴700は、時刻項目のそれぞれに対応付けてスループット項目を有し、メッセージMを送信するごとにレコードを構成する。
時刻項目には、メッセージMの送信が依頼された時刻(秒)が記憶されている。スループット項目には、単位時間に送信されたメッセージMのデータ量(Byte/秒)が記憶されている。具体的には、送信したデータ量/(今回の送信時刻−前回の送信時刻)で算出できる。
(受信スループット履歴の内容)
次に、図8を用いて、図3に示したRAM303に記憶されている受信スループット履歴の内容について、説明する。
図8は、図3に示したRAM303に記憶されている受信スループット履歴の内容を示す説明図である。受信スループット履歴800は、時刻項目のそれぞれに対応付けてスループット項目を有し、メッセージMを受信するごとにレコードを構成する。
時刻項目には、メッセージMの送信が依頼された時刻(秒)が記憶されている。スループット項目には、単位時間に受信されたメッセージMのデータ量(Byte/秒)が記憶されている。具体的には、受信したデータ量/(今回の受信時刻−前回の受信時刻)で算出できる。
(許可トークン発行数情報の内容)
次に、図9を用いて、図3に示したRAM303に記憶されている許可トークン発行数情報の内容について、説明する。
図9は、図3に示したRAM303に記憶されている許可トークン発行数情報の内容を示す説明図である。許可トークン発行数情報900は、発行可能数項目に対応付けて許可トークン発行数項目を有し、許可トークンを発行するごとにレコードを更新する。
発行可能数項目には、許可トークンを発行可能な数が記憶されている。許可トークン発行数項目には、発行されている許可トークンの数が記憶されている。
(許可トークン発行履歴の内容)
次に、図10を用いて、図3に示したRAM303に記憶されている許可トークン発行履歴の内容について、説明する。
図10は、図3に示したRAM303に記憶されている許可トークン発行履歴の内容を示す説明図である。許可トークン発行履歴1000は、時刻項目のそれぞれに対応付けてノード項目を有し、許可トークンを発行するごとにレコードを構成する。
時刻項目には、許可トークンが発行された時刻(秒)が記憶されている。ノード項目には、許可トークンの宛先になる通信装置Nの識別子が記憶されている。
(通信相手リストの内容)
次に、図11を用いて、図3に示したRAM303に記憶されている通信相手リストの内容について、説明する。
図11は、図3に示したRAM303に記憶されている通信相手リストの内容を示す説明図である。通信相手リスト1100は、ノード項目のそれぞれに対応付けてIPアドレス項目を有し、通信相手のノードごとにレコードを構成する。ノード項目には、通信相手になる通信装置Nの識別子が記憶されている。IPアドレス項目には、ノードを特定するIPアドレスが記憶されている。
(要求トークンリストの内容)
次に、図12を用いて、図3に示したRAM303に記憶されている要求トークンリストの内容について、説明する。
図12は、図3に示したRAM303に記憶されている要求トークンリストの内容を示す説明図である。要求トークンリスト1200は、ノード項目のそれぞれに対応付けて時刻項目と、バッファ項目と、他バッファ項目と、残り時間項目と、を有し、要求トークンを受信するごとにレコードを構成する。
ノード項目には、要求トークンの送信元になる通信装置Nの識別子が記憶されている。時刻項目には、要求トークンを受信した時刻(秒)が記憶されている。バッファ項目には、要求トークンの送信元における要求トークンの宛先へのメッセージMが格納されるバッファBに格納されているデータ量(Byte)が記憶されている。
他バッファ項目には、要求トークンの宛先へのメッセージMが格納されるバッファBとは異なる他のバッファに格納されているデータ量(Byte)が記憶されている。残り時間項目には、要求トークンの送信元におけるメッセージMの送信期限までの残り時間が記憶されている。
(許可トークンリストの内容)
次に、図13を用いて、図3に示したRAM303に記憶されている許可トークンリストの内容について、説明する。
図13は、図3に示したRAM303に記憶されている許可トークンリストの内容を示す説明図である。許可トークンリスト1300は、ノード項目のそれぞれに対応付けて時刻項目と、送信許可長項目と、を有し、許可トークンを受信するごとにレコードを構成する。
ノード項目には、許可トークンの送信元になる通信装置Nの識別子が記憶されている。時刻項目には、許可トークンを受信した時刻(秒)が記憶されている。送信許可長項目には、許可トークンの送信元になるノードから許可された送信するデータの最大データ量(Byte)が記憶されている。
(通信装置Nの機能的構成例)
次に、図14および図15を用いて、通信装置Nの機能的構成例について説明する。ここでは、簡単のため、メッセージMの受信側としての通信装置Nの機能と、メッセージMの送信側としての通信装置Nの機能と、を分けて説明している。ただし、通信装置Nは、メッセージMの受信側としての機能と、メッセージMの送信側としての機能と、を併せて有してよい。
図14は、メッセージMの受信側としての通信装置Nの機能的構成を示すブロック図である。通信装置Nは、受信部1401と、判定部1402と、送信部1403と、決定部1404と、を含む構成である。この制御部となる機能(受信部1401〜決定部1404)は、具体的には、例えば、図3に示したROM302、RAM303などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F304により、その機能を実現する。
受信部1401は、複数の送信元のうちいずれかの送信元から、いずれかの送信元から自通信装置Nへの送信を許可する送信権について、自通信装置Nを宛先にする送信対象データのデータ量を特定する情報を含む要求通知を受信する機能を有する。ここで、要求通知とは、上述した要求トークンである。送信権とは、上述した許可トークンである。送信対象データとは、上述したメッセージMである。データ量を特定する情報とは、自通信装置Nを宛先にするメッセージMが格納されるバッファB(以下、「自通信装置N宛のバッファB」という)に格納されているメッセージ量(以下、「自通信装置N宛のバッファリング量」という)を特定する情報である。
例えば、データ量を特定する情報は、送信元での自通信装置N宛のバッファリング量の即値であり、さらに、送信元での自通信装置N宛のバッファBの容量を含んでもよい。また、送信元での自通信装置N宛のバッファBの容量と、自通信装置N宛のバッファリング量と、の比率であってもよい。なお、受信された要求トークンは、RAM303の要求トークンリスト1200に記憶される。
具体的には、例えば、受信部1401は、送信元の識別子と、送信元での自通信装置N宛のバッファリング量と、を含む要求トークンを受信する。これにより、受信部1401は、送信権を付与する送信元を選択するための指標になる情報を受信できる。
また、受信部1401によって受信された要求通知は、自通信装置Nとは異なる他の通信装置Nを宛先にする送信対象データのデータ量を特定する情報を含んでもよい。具体的には、例えば、要求トークンは、送信元での自通信装置Nとは異なる他の通信装置N宛のメッセージMが格納されるバッファB(以下、「他の通信装置N宛のバッファB」という)に格納されているメッセージ量(以下、「他の通信装置N宛のバッファリング量」という)を含む。これにより、受信部1401は、送信権を付与する送信元を選択するための指標になる情報を受信できる。
また、受信部1401によって受信された要求通知は、いずれかの送信元における自通信装置Nを宛先にする送信対象データの送信期限に関する情報を含んでもよい。具体的には、例えば、要求トークンは、送信元での自通信装置N宛のメッセージMの送信期限までの残り時間を含む。これにより、受信部1401は、送信権を付与する送信元を選択するための指標になる情報を受信できる。
判定部1402は、受信部1401によって受信された要求通知に基づいて、いずれかの送信元に送信権を付与するか否かを判定する機能を有する。なお、判定結果は、RAM303などの記憶領域に記憶される。
具体的には、例えば、判定部1402は、要求通知に含まれる自通信装置Nを宛先にする送信対象データのデータ量を特定する情報と、他の送信元における自通信装置Nを宛先にする送信対象データ量を特定する情報と、を参照する。そして、判定部1402は、参照した情報に基づいて、いずれかの送信元に送信権を付与するか否かを判定する。
より具体的には、例えば、判定部1402は、複数の送信元から受信した要求トークンに含まれる各送信元での自通信装置N宛のバッファリング量に基づいて、各送信元での自通信装置N宛のバッファBの逼迫具合を算出する。そして、判定部1402は、いずれかの送信元が他の送信元よりも逼迫具合が大きい場合には、いずれかの送信元に送信権を付与すると判定する。これにより、自通信装置N宛のバッファBがより逼迫している送信元に送信権を付与して、バッファBがあふれることを防止することができる。
また、具体的には、例えば、判定部1402は、要求通知に含まれる自通信装置Nを宛先にする送信対象データのデータ量を特定する情報と、要求通知に含まれる他の通信装置Nを宛先にする送信対象データのデータ量を特定する情報と、を参照する。そして、判定部1402は、参照した情報に基づいて、いずれかの送信元に送信権を付与するか否かを判定する。
より具体的には、例えば、判定部1402は、要求トークンに含まれる自通信装置N宛のバッファリング量より、他の通信装置宛のバッファリング量の方が多い場合、送信権を付与しない。これにより、判定部1402は、送信元において、自通信装置Nよりも優先してメッセージMを送信するべき他の通信装置Nがある場合は、送信権を付与せず、ネットワーク全体での効率化を図ることができる。
また、具体的には、例えば、判定部1402は、送信権が付与されている送信元の数が閾値以上である場合、いずれかの送信元に送信権を付与しないと判定する。より具体的には、例えば、判定部1402は、許可トークンの発行数が、許可トークンの発行可能数である場合、送信権を付与しないと判定する。これにより、ネットワークのスループットを管理し、輻輳を抑制する。
また、具体的には、例えば、判定部1402は、要求通知に含まれる送信期限に関する情報と、他の送信元における通信装置Nを宛先にする送信対象データの送信期限に関する情報と、に基づいて、いずれかの送信元に送信権を付与するか否かを判定する。
より具体的には、例えば、判定部1402は、要求トークンに含まれる各送信元での自通信装置N宛のメッセージMの送信期限までの残り時間を参照する。そして、判定部1402は、参照した残り時間に基づいて、いずれかの送信元が他の送信元よりも送信期限までの残り時間が短い場合には、いずれかの送信元に送信権を付与すると判定する。これにより、より送信期限に切迫している送信元に送信権を付与して、送信期限までにメッセージMを送信できるようにする。
送信部1403は、判定部1402によって送信権を付与すると判定されたいずれかの送信元に送信権を送信する機能を有する。ここで、送信権とは、上述した許可トークンである。具体的には、例えば、送信部1403は、自通信装置Nの識別子を含む許可トークンを、送信権を付与すると判定した送信元に送信する。これにより、送信部1403は、送信元に許可トークンを送信して、送信元にメッセージMの送信を開始させることができる。
また、送信部1403は、判定部1402によって送信権を付与すると判定されたいずれかの送信元に決定部1404によって決定された許容データ量を含む送信権を送信する機能を有する。許容データ量とは、ネットワークが輻輳しないように、後述する決定部1404によって決定された送信権を付与した送信元が送信するメッセージ量の最大値である。具体的には、例えば、送信部1403は、自通信装置Nを示す識別子と、後述する決定部1404によって決定された許容データ量と、を含む許可トークンを送信する。これにより、ネットワークのスループットを考慮して決定された許容データ量を、通知するため、ネットワークの輻輳を抑制できる。
決定部1404は、受信部1401によって受信された要求通知に基づいて、判定部1402によって送信権を付与すると判定されたいずれかの送信元が送信する送信対象データの許容データ量を決定する機能を有する。
具体的には、例えば、決定部1404は、ネットワークのスループットや、要求トークンに含まれる自通信装置N宛のバッファリング量に基づいて、ネットワークを輻輳させない範囲で、送信元が送信するメッセージ量の最大値を決定する。また、決定された許容データ量は、RAM303などの記憶領域に記憶される。これにより、決定部1404は、ネットワークの輻輳を抑制するための、許容データ量を決定することができる。
図15は、メッセージMの送信側としての通信装置Nの機能的構成を示すブロック図である。通信装置Nは、判定部1501と、通知部1502と、受信部1503と、送信部1504と、計測部1505を含む構成である。この制御部となる機能(判定部1501〜計測部1505)は、具体的には、例えば、図3に示したROM302、RAM303などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F304により、その機能を実現する。
判定部1501は、複数の宛先のうちいずれかの宛先への送信対象データのデータ量に基づいて、いずれかの宛先に、前記通信装置から前記いずれかの宛先への送信を許可する送信権を要求するか否かを判定する機能を有する。ここで、送信権とは、上述した許可トークンである。送信対象データとは、上述したメッセージMである。いずれかの宛先への送信対象データのデータ量とは、宛先となる通信装置N宛のメッセージMが格納されるバッファBに格納されているメッセージ量である。
具体的には、例えば、判定部1501は、いずれかの宛先への送信対象データのデータ量が閾値以上である場合、いずれかの宛先に送信権を要求すると判定する。ここで、閾値とは、後述する目標バッファリング量であり、バッファBがあふれないように、バッファBがあふれる前にメッセージMを送信するための指標となる値である。例えば、閾値は、「バッファBの容量×安全係数(例えば、0.6)」である。また、例えば、閾値は、「バッファBの容量−平均の送信スループット×平均の要求トークンのレイテンシ」である。これにより、判定部1501は、バッファBがあふれる前に、要求トークンを送信するトリガを発生させることができる。
通知部1502は、判定部1501によって送信権を要求すると判定された場合、いずれかの宛先への送信対象データのデータ量を特定する情報を含む要求通知を、いずれかの宛先に通知する機能を有する。ここで、要求通知とは、上述した要求トークンである。具体的には、例えば、通知部1502は、送信権を要求すると判定された宛先へ、要求トークンを送信する。これにより、自通信装置Nに送信権を付与させるためのトリガとなる要求トークンを、メッセージMの宛先に送信することができる。
また、通知部1502は、計測部1505によって計測された経過時間が、いずれかの宛先への送信対象データの送信期限に基づく閾値以上である場合、要求通知をいずれかの宛先に通知する機能を有する。ここで、送信期限とは、アプリケーションが許容できるメッセージMのレイテンシ(送信依頼から送信までの時間)の最大値(以下、「最大許容レイテンシ」)である。送信期限に基づく閾値とは、後述するデッドラインであり、送信期限の前にメッセージMを送信するための指標となる値である。例えば、送信期限に基づく閾値は、「最大許容レイテンシ×安全係数(例えば、0.6)」である。また、例えば、送信期限に基づく閾値は、「最大許容レイテンシ−平均の要求トークンのレイテンシ」である。
具体的には、例えば、通知部1502は、後述する計測部1505によってメッセージMが生成されてからの経過時間を測定し、経過時間が送信期限に基づく閾値以上になったとき、要求トークンを通知する。これにより、判定部1501は、送信期限を経過する前に、自通信装置Nに送信権を付与させるためのトリガとなる要求トークンを、メッセージMの宛先に送信することができる。
また、要求通知は、いずれかの宛先への送信対象データの送信期限に関する情報を含んでもよい。送信期限に関する情報とは、例えば、メッセージMの生成からの経過時間である。また、送信期限に関する情報とは、例えば、送信期限までの残り時間でもよい。これにより、宛先において送信権を付与するか否かを判定するための指標となる情報になる送信期限に関する情報を、宛先に提供することができる。
要求通知は、いずれかの宛先とは異なる他の宛先への送信対象データのデータ量を示す情報を含んでもよい。ここで、他の宛先への送信対象データのデータ量を示す情報とは、例えば、他の宛先へのメッセージMが格納されるバッファBに格納されているメッセージ量である。これにより、宛先において送信権を付与するか否かを判定するための指標となる情報になる他の宛先へのメッセージMが格納されるバッファBに格納されているメッセージ量を、宛先に提供することができる。
受信部1503は、通知部1502によって要求通知が通知された結果、いずれかの宛先から送信権を受信する機能を有する。ここで、送信権とは、上述した許可トークンである。具体的には、例えば、受信部1503は、要求トークンを通知した宛先から、宛先の識別子を含む許可トークンを受信する。また、送信権は送信する送信対象データの許容データ量を含んでもよい。これにより、受信部1503は、送信権を得ることができる。また、これにより、受信部1503は、送信するメッセージ量の最大値を受信することができる。なお、受信された許可トークンは、RAM303の許可トークンリスト1300に記憶される。
送信部1504は、受信部1503によって送信権が受信された場合、いずれかの宛先への送信対象データをいずれかの宛先に送信する機能を有する。具体的には、送信部1504は、許可トークンが受信された場合、バッファに格納されているメッセージMを宛先に送信する。これにより、送信部1504は、許可トークンを受信してからメッセージMを送信するため、ネットワークでのメッセージMの衝突を回避することができる。
また、送信部1504は、いずれかの宛先への送信対象データのうち、許容データ量以下の送信対象データを、いずれかの宛先に送信する機能を有する。具体的には、送信部1504は、許可トークンが受信された場合、バッファに格納されているメッセージMから、許容データ量以下のメッセージMを取り出して宛先に送信する。これにより、送信部1504は、許可トークンを受信してから許容データ量以下のメッセージMを送信するため、ネットワークでのメッセージMの衝突を回避し、輻輳を抑制することができる。
計測部1505は、いずれかの宛先への送信対象データを生成したときからの経過時間を計測する機能を有する。具体的には、計測部1505は、アプリケーションがメッセージMを生成したときに計時を開始して、経過時間を計測する。これにより、計測部1505は、メッセージMの送信期限までの時間を把握できる。
(通信の準備)
次に、図16および図17を用いて、通信装置Nが通信の準備としておこなう処理について説明する。
(初期化処理の詳細)
まず、図16を用いて、通信装置Nが通信をはじめる前におこなう初期化処理の詳細について説明する。
図16は、初期化処理の詳細を示すフローチャートである。まず、CPU301は、アプリケーションI/F307を初期化する(ステップS1601)。アプリケーションI/F307の初期化において、後述するアプリケーション利用登録処理がおこなわれる。次に、CPU301は、バッファBを初期化する(ステップS1602)。また、CPU301は、統計情報(送信長履歴400、送信スループット履歴700、受信スループット履歴800)を初期化する(ステップS1603)。
そして、CPU301は、通信相手リスト1100を作成する(ステップS1604)。次に、CPU301は、要求トークンを初期化して(ステップS1605)、初期化処理を終了する。これにより、通信装置Nは、通信をはじめることができるようになる。
(アプリケーション利用登録処理の詳細)
次に、図17を用いて、通信装置Nが、受信したメッセージMをアプリケーションへ引き渡すためにおこなうアプリケーション利用登録処理の詳細について説明する。
図17は、アプリケーション利用登録処理の詳細を示すフローチャートである。まず、CPU301は、受信関数を登録する(ステップS1701)。次に、CPU301は、受信バッファを登録する(ステップS1702)。
そして、CPU301は、最大許容レイテンシを登録し(ステップS1703)、アプリケーション利用登録処理を終了する。これにより、通信装置Nは、受信したメッセージMをアプリケーションに引き渡すことができるようになる。
(メッセージMを送信する側の通信装置Nの処理)
次に、図18〜図20を用いて、メッセージMを送信する側の通信装置Nの処理について説明する。具体的には、例えば、図1に示した通信装置N1,N3の処理である。
(要求トークンの送信の内容)
まず、図18を用いて、メッセージMを送信する側の通信装置Nによる要求トークンの送信の内容について説明する。
図18は、要求トークンの送信の内容を示す説明図である。通信装置Nは、バッファBがあふれないように、バッファBがあふれる前にメッセージMを送信するための指標となる目標バッファリング量を算出しておく。
ここで、通信装置Nは、送信スループット履歴700から、平均の送信スループットを算出しておく。また、通信装置Nは、要求トークンレイテンシ履歴600から、平均の要求トークンのレイテンシを算出しておく。そして、通信装置Nは、目標バッファリング量として、例えば、「バッファBの容量−平均の送信スループット×平均の要求トークンのレイテンシ」を算出しておく。
ただし、通信装置Nは、送信長履歴400や送信依頼履歴500を参照して、目標バッファリング量をさらに調整してもよい。例えば、通信装置Nは、送信長履歴400を参照して、過去に頻繁に少量のメッセージMを送信している場合には、要求トークンの送信をより頻繁におこなうために、目標バッファリング量を低く調整してもよい。また、通信装置Nは、送信依頼履歴500を参照して、過去にアプリケーションから大量のメッセージMが送信依頼されたことがある場合は、目標バッファリング量を低く調整してもよい。
(1)そして、通信装置Nは、算出した目標バッファリング量より、バッファBのバッファリング量が多くなったとき、要求トークンを送信する。これにより、通信装置Nは、バッファBがあふれる前に、要求トークンを送信するトリガを発生させることができる。
また、通信装置Nは、送信期限の前にメッセージMを送信するための指標となるデッドラインを算出しておく。送信期限とは、アプリケーションが許容できるメッセージMのレイテンシ(送信依頼から送信までの時間)の最大値(以下、「最大許容レイテンシ」)である。通信装置Nは、例えば、デッドラインとして、「最大許容レイテンシ−平均の要求トークンのレイテンシ」を算出しておく。
(2)そして、通信装置Nは、メッセージMが生成されてからの経過時間を測定し、経過時間が算出したデッドラインを超えた場合に、要求トークンを送信する。これにより、通信装置Nは、送信期限を経過する前に、自通信装置Nに送信権を付与させるためのトリガとなる要求トークンを、メッセージMの宛先に送信することができる。
(バッファ管理処理の詳細)
次に、図19を用いて、図18に示した要求トークンを送信する通信装置Nによるバッファ管理処理の詳細について説明する。
図19は、バッファ管理処理の詳細を示すフローチャートである。まず、CPU301は、サイズが小さいか否かを判定する(ステップS1901)。ここで、サイズが小さい場合(ステップS1901:Yes)、CPU301は、データをバッファBにコピーして(ステップS1902)、ステップS1904に移行する。
一方で、サイズが大きい場合(ステップS1901:No)、CPU301は、データをバッファBに連結して(ステップS1903)、ステップS1904に移行する。
次に、CPU301は、バッファリング量を更新して(ステップS1904)、バッファリング量が目標バッファリング量以上か否かを判定する(ステップS1905)。ここで、目標バッファリング量以上である場合(ステップS1905:Yes)、CPU301は、要求トークン送信処理(ステップS1907)に移行する。
一方、目標バッファリング量より小さい場合(ステップS1905:No)、CPU301は、送信依頼からの経過時間がデッドラインを超えているか否かを判定する(ステップS1906)。ここで、デッドラインを超えている場合(ステップS1906:Yes)、CPU301は、要求トークン送信処理(ステップS1907)に移行する。
一方、デッドラインを超えていない場合(ステップS1906:No)、CPU301は、バッファ管理処理を終了する。これにより、バッファBの容量が枯渇する前に要求トークンを送信することができる。
(要求トークン送信処理の詳細)
次に、図20を用いて、図19に示した要求トークン送信処理の詳細について説明する。要求トークンには、送信元を示す識別子と、宛先になる通信装置N宛のバッファリング量と、が含まれる。
図20は、要求トークン送信処理の詳細を示すフローチャートである。まず、CPU301は、要求トークンを生成する(ステップS2001)。次に、CPU301は、生成した要求トークンを送信し(ステップS2002)、要求トークン送信処理を終了する。これにより、通信装置Nは、要求トークンを送信することができる。
ここで、生成される要求トークンには、例えば、送信元の通信装置Nの識別子と、要求トークンの宛先の通信装置N宛のメッセージMが格納されるバッファBへ格納されているメッセージ量と、が含まれている。また、要求トークンには、要求トークンの宛先とは異なる他のバッファBへ格納されているメッセージ量を含んでもよい。また、要求トークンには、要求トークンの宛先の通信装置N宛のメッセージMの送信期限に関する情報(例えば、送信期限までの残り時間)を含んでもよい。
(メッセージMを受信する側の通信装置Nの処理)
次に、図21〜図23を用いて、メッセージMを受信する側の通信装置Nの処理について説明する。
(許可トークンの送信の内容)
まず、図21を用いて、要求トークンを受信した通信装置Nによる許可トークンの送信の内容について説明する。なお、通信装置Nは、受信した要求トークンから、要求トークンリスト1200を生成している。
図21は、許可トークンの送信の内容を示す説明図である。ここで、通信装置は、要求トークンリスト1200の各レコードを参照して、許可トークンの送信対象になりうる通信装置Nを決定する。
(1)例えば、通信装置Nは、自通信装置N宛のバッファBのメッセージ量が多い、通信装置N2を許可トークンの送信対象にする。
(2)また、例えば、通信装置Nは、自通信装置N宛のバッファBとは異なる他のバッファBが逼迫している通信装置N3は、許可トークンの送信対象にしない。
(3)また、例えば、通信装置Nは、残り時間が少ない通信装置N4を許可トークンの送信対象にする。
(4)また、例えば、通信装置Nは、自通信装置N宛のバッファBのメッセージ量が多い、通信装置N5を許可トークンの送信対象にする。
(5)そして、通信装置Nは、送信対象にした複数の通信装置Nの数に応じて、許可トークンの発行可能数を増やす。そして、通信装置Nは、増やした発行可能数以内で、送信対象にした通信装置Nに送信する許可トークンの数を決定する。
なお、ここでは、送信対象になった通信装置Nの数に応じて、許可トークンの発行可能数を動的に増やしているが、発行可能数は固定値であってもよい。発行可能数が固定値である場合は、通信装置Nは、固定値以内で、送信する許可トークンの数を決定する。
(6)さらに、通信装置Nは、決定した送信する許可トークンの数と、ネットワークのスループットに基づいて、ネットワークが輻輳しない範囲で、送信元の通信装置Nが送信する許容データ量を決定する。例えば、送信する許可トークンの数が多い場合は、各通信装置Nが送信する許容データ量を少なくする。具体的には、ネットワークのスループット/送信する許可トークンの数で算出できる。
(7)そして、通信装置Nは、決定した許容データ量を含む許可トークンを送信対象にした通信装置Nに送信する。これにより、ネットワークを輻輳させない範囲で、複数の通信装置Nに、メッセージMを送信させることができる。
(他の宛先へのバッファリング量を含む要求トークンに基づく許可トークンの送信)
また、図22を用いて、他の宛先へのバッファリング量を含む要求トークンを受信した通信装置Nがおこなう許可トークンの送信について説明する。具体的には、図21の(2)に示した処理の内容である。
図22は、他の宛先へのバッファリング量を含む要求トークンに基づく許可トークンの送信の内容を示す説明図である。ここで、図22に示す通信システムは、図1と同様に、複数の通信装置N(図22では、例えば、3台の通信装置N1〜N3)がネットワークを介して接続され、メッセージMの送受信をおこなうシステムである。また、通信システムは、ネットワークにおいて中継をおこなう機器であるスイッチングハブSHを含む。また、各通信装置Nは、図1と同様にそれぞれバッファBを有している。
ここで、通信装置N1が通信装置N2,N3のそれぞれにメッセージMを送信する場合を例に挙げて、通信装置Nによる通信の内容について説明する。
図22において、(1)通信装置N1は、通信装置N2宛のメッセージMがバッファB1t2に格納されているため、通信装置N2に要求トークンを送信する。そして、通信装置N1は、通信装置N2からの許可トークンの受信を待つ。
(2)また、通信装置N1は、通信装置N3宛のメッセージMがバッファB1t3に格納されているため、通信装置N3に要求トークンを送信する。そして、通信装置N1は、通信装置N3からの許可トークンの受信を待つ。ここで、それぞれの要求トークンには、メッセージMの送信元となる通信装置N1の識別子と、バッファB1t2に格納されているメッセージ量と、バッファB1t3に格納されているメッセージ量と、を含ませておく。格納されているメッセージ量は、それぞれのバッファBの逼迫具合の指標となる情報である。
(3)通信装置N1から要求トークンを受信した通信装置N2は、要求トークンに含まれるバッファB1t2へ格納されているメッセージ量と、バッファB1t3に格納されているメッセージ量と、を参照して、通信装置N1に送信権を付与するか否かを判定する。
ここでは、バッファB1t3へ格納されているメッセージ量は、バッファB1t2へ格納されているメッセージ量より多い。そのため、通信装置N2は、通信装置N1には通信装置N2宛のバッファB1t2よりも通信装置N3宛のバッファB1t3に格納されたメッセージMの送信を優先させるべきであると判定する。そして、通信装置N2は通信装置N1に送信権を付与しない。
(4)一方、通信装置N1から要求トークンを受信した通信装置N3は、要求トークンに含まれるバッファB1t2へ格納されているメッセージ量と、バッファB1t3に格納されているメッセージ量と、を参照する。そして、通信装置N3は、参照したメッセージ量に基づいて、通信装置N1に送信権を付与するか否かを判定する。
(5)ここでは、バッファB1t3へ格納されているメッセージ量は、バッファB1t2へ格納されているメッセージ量より多い。そのため、通信装置N3は、通信装置N1に通信装置N2宛のバッファB1t2よりも通信装置N3宛のバッファB1t3に格納されたメッセージMの送信を優先させるべきであると判定する。そして、通信装置N3は、通信装置N1に通信装置N3宛のバッファB1t3があふれる前にメッセージMを送信させるべきであると判定して、通信装置N1に送信権を付与する。
このように、送信元での複数のバッファBの逼迫具合に基づいて、送信権を付与するかを決定するため、1対1の通信装置N間の効率化ではなく、ネットワーク全体での効率化を図ることができる。また、これにより、送信側の通信装置Nでより逼迫しているバッファBに格納されているメッセージMの送信を優先させて、バッファBの容量の枯渇を回避することができる。
(許可トークン送信処理)
次に、図23を用いて、要求トークンを受信した通信装置Nがおこなう許可トークン送信処理について説明する。具体的には、例えば、図1に示した通信装置N2がおこなう処理である。
図23は、許可トークン送信処理の詳細を示すフローチャートである。まず、CPU301は、要求トークンを受信したか否かを判定する(ステップS2301)。ここで、要求トークンを受信していない場合(ステップS2301:No)、CPU301は、ステップS2301に戻り、要求トークンの受信を待つ。
一方、要求トークンを受信した場合(ステップS2301:Yes)、CPU301は、統計情報を更新する(ステップS2302)。次に、受信スループットに余裕がある場合には、CPU301は、許可トークンを送信する要求トークンの個数が、上限値を超えているか否かを判定する(ステップS2303)。ここで、上限値を超えている場合(ステップS2303:Yes)、CPU301は、許可トークンの発行可能数を増加させて(ステップS2304)、ステップS2307に移行する。
一方、上限値を超えていない場合(ステップS2303:No)で、受信スループットに余裕がない場合には、CPU301は、許可トークンを送信する要求トークンの個数が、下限値を下回っているか否かを判定する(ステップS2305)。ここで、下限値を下回っている場合(ステップS2305:Yes)、CPU301は、許可トークンの発行可能数を減少させて(ステップS2306)、ステップS2307に移行する。
ステップS2307では、CPU301は、許容データ量を発行可能数に応じて調整して(ステップS2307)、ステップS2308に移行する。一方、下限値を下回らない場合(ステップS2305:No)、CPU301は、ステップS2308に移行する。
そして、CPU301は、受信スループットが上限値より大きいか否かを判定する(ステップS2308)。ここで、上限値より大きい場合(ステップS2308:Yes)、CPU301は、許容データ量を短くして(ステップS2309)、ステップS2312に移行する。
一方、上限値以下の場合(ステップS2308:No)、CPU301は、受信スループットが下限値より小さいか否かを判定する(ステップS2310)。ここで、下限値より小さい場合(ステップS2310:Yes)、CPU301は、許容データ量を長くして(ステップS2311)、ステップS2312に移行する。
一方、下限値以上の場合(ステップS2310:No)、CPU301は、ステップS2312に移行する。ステップS2312では、CPU301は、許容データ量を含む許可トークンを送信し(ステップS2312)、許可トークン送信処理を終了する。
これにより、通信装置Nは、許可トークンを送信することができる。また、通信装置Nは、要求トークンの数に応じて、許可トークンを送信する数を動的に変更することができる。また、通信装置Nは、送信元が送信する許容データ量を算出することができる。
(メッセージ送信処理の詳細)
次に、図24を用いて、許可トークンを受信した通信装置Nがおこなうメッセージ送信処理の詳細について説明する。具体的には、例えば、図1に示した通信装置N3がおこなう処理である。
図24は、メッセージ送信処理の詳細を示すフローチャートである。まず、CPU301は、許可トークンを受信したか否かを判定する(ステップS2401)。ここで、許可トークンを受信していない場合(ステップS2401:No)、CPU301は、ステップS2401に戻り、許可トークンの受信を待つ。
一方、許可トークンを受信した場合(ステップS2401:Yes)、CPU301は、要求トークン実績情報(送信長履歴400、要求トークンレイテンシ履歴600、許可トークンリスト1300)を更新する(ステップS2402)。次に、CPU301は、送信すべき状況であるか否かを判定する(ステップS2403)。ここで、送信すべき状況ではない場合(ステップS2403:No)、CPU301は、ステップS2405に移行する。
一方、送信すべき状況である場合(ステップS2403:Yes)、CPU301は、メッセージMを送信する(ステップS2404)。ただし、許可トークンに許容データ量が含まれている場合、CPU301は、許容データ量以下のメッセージMを送信する。
次に、CPU301は、通信終了通知を送信し(ステップS2405)、許可トークンを削除して(ステップS2406)、メッセージ送信処理を終了する。これにより、通信装置Nは、許可トークンの受信を待ってから、メッセージMを送信することができる。そのため、ネットワークでのメッセージMの衝突を回避できる。
(メッセージ受信処理の詳細)
次に、図25を用いて、メッセージMを受信した通信装置Nがおこなうメッセージ受信処理の詳細について説明する。具体的には、例えば、図1に示した通信装置N2がおこなう処理である。
図25は、メッセージ受信処理の詳細を示すフローチャートである。まず、CPU301は、メッセージMを受信したか否かを判定する(ステップS2501)。ここで、メッセージMを受信していない場合(ステップS2501:No)、CPU301は、ステップS2501に戻り、メッセージMの受信を待つ。
一方、メッセージMを受信した場合(ステップS2501:Yes)、CPU301は、メッセージMをアプリケーションに引き渡す(ステップS2502)。そして、CPU301は、統計情報を更新して(ステップS2503)、メッセージ受信処理を終了する。これにより、通信装置Nは、アプリケーションにメッセージMを引き渡して処理をさせることができる。
以上説明したように、通信装置、通信方法、および通信プログラムによれば、複数の送信元から受信した要求トークンに含まれる各送信元でのバッファリング量に基づいて、よりバッファBが逼迫している送信元に送信権を与える。また、送信元では、送信権を受信するまで、メッセージMの送信をおこなわない。
これにより、各送信元でのバッファBがあふれないようにすると共に、ネットワークに送信されるメッセージ量を管理して、メッセージMの衝突を回避し、輻輳を抑制できる。そして、輻輳を抑制できるため、輻輳に起因する通信時間の増加を回避することができ、ネットワーク全体の通信フェーズを短縮することができる。
また、要求トークンに、送信元での複数のバッファBのバッファリング量を含めることにより、送信元で最も逼迫しているバッファのメッセージMを優先して送信させるようにして、バッファBがあふれないようにすることができる。また、送信元での複数のバッファBのバッファリング量に基づいて、送信権を付与するかを決定するため、1対1の通信装置N間の効率化ではなく、ネットワーク全体での効率化を図ることができる。
また、通信装置Nは、一度に送信権を与える送信元の数を閾値以下にして、ネットワークに送信されるメッセージ量を管理して、メッセージMの衝突を回避し、輻輳を抑制できる。
また、要求トークンに、送信元でのメッセージMの送信期限に関する情報を含めることにより、送信期限が迫っている送信元に優先して送信権を与えるため、送信元では、メッセージMを送信期限までに送信することができる。
また、通信装置Nは、送信元が送信するメッセージ量の上限を定め、送信元では、定められた上限以下のメッセージMを送信する。これにより、ネットワークに送信されるメッセージ量を管理して、メッセージMの衝突を回避し、輻輳を抑制できる。
送信元では、バッファBのバッファリング量に基づいて、要求トークンを送信するか否かを判定する。これにより、バッファBがあふれる前に、要求トークンを送信して、送信権を受け取ることができる。
また、送信元では、メッセージMの送信期限に基づいて、要求トークンを送信するか否かを判定する。これにより、送信期限より前に、要求トークンを送信して、メッセージMを送信期限までに送信することができる。
ここで、クラスタなどの分散並列計算機を使った処理の分野には、処理過程での演算結果に依存して通信相手が決定され、予め通信相手がどの通信装置になるかを予測することが困難な種類の処理がある。例えば、MapReduceのshuffle、Key−Value Storageシステム、または分散Complex Event Processingなどでの処理である。
このような予め通信相手が予測困難な処理に対しては、アルゴリズムと、通信装置の物理的配置および時間的配置と、を工夫しておくことにより、メッセージ通信を予めスケジューリングして、衝突を回避し輻輳を抑制することができないという問題がある。しかしながら、本実施の形態にかかる通信装置、通信方法、および通信プログラムは、このような予め通信相手が予測困難な処理に対しても適用可能であり、メッセージMの衝突を回避し輻輳を抑制することができる。
また、メッセージMが衝突した場合、輻輳を抑制する技術には、TCP/IP(Transmission Control Protocol/Internet Protocol)のフロー制御やEthernet(登録商標)のパケット衝突回避技術がある。しかし、TCP/IPのフロー制御やEthernet(登録商標)のパケット衝突回避技術では、メッセージMの衝突があってから輻輳を抑制する効果があらわれるまでに、ネットワーク上においてパケットロスが発生するという問題がある。また、Ethernet(登録商標)スイッチでの制御切替のためにオーバヘッドが生じるという問題がある。また、受信データ量の過多により、受信側の通信装置で、キャッシュミスヒットやメモリ不足が生じるという問題がある。しかしながら、本実施の形態にかかる通信装置、通信方法、および通信プログラムは、TCP/IPのフロー制御やEthernet(登録商標)のパケット衝突回避技術のようにパケットロスやキャッシュミスヒットやメモリ不足を生じることなく、メッセージMの衝突を回避し輻輳を抑制することができる。
なお、本実施の形態で説明した通信方法は、予め用意された通信プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本通信プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本通信プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)複数の送信元と通信する通信装置であって、
前記複数の送信元のうちいずれかの送信元から、前記いずれかの送信元から前記通信装置への送信を許可する送信権について、前記通信装置を宛先にする送信対象データのデータ量を特定する情報を含む要求通知を受信する受信手段と、
前記受信手段によって受信された要求通知に基づいて、前記いずれかの送信元に前記送信権を付与するか否かを判定する判定手段と、
前記判定手段によって前記送信権を付与すると判定された前記いずれかの送信元に前記送信権を送信する送信手段と、
を備えることを特徴とする通信装置。
(付記2)前記判定手段は、
前記要求通知に含まれる前記通信装置を宛先にする送信対象データのデータ量を特定する情報と、他の送信元における前記通信装置を宛先にする送信対象データのデータ量を特定する情報と、に基づいて、前記いずれかの送信元に前記送信権を付与するか否かを判定することを特徴とする付記1に記載の通信装置。
(付記3)前記受信手段によって受信された要求通知は、前記通信装置とは異なる他の通信装置を宛先にする送信対象データのデータ量を特定する情報を含み、
前記判定手段は、
前記要求通知に含まれる前記通信装置を宛先にする送信対象データのデータ量を特定する情報と、前記要求通知に含まれる前記他の通信装置を宛先にする送信対象データのデータ量を特定する情報と、に基づいて、前記いずれかの送信元に前記送信権を付与するか否かを判定することを特徴とする付記1または2に記載の通信装置。
(付記4)前記判定手段は、
前記送信権が付与されている送信元の数が閾値以上である場合、前記いずれかの送信元に前記送信権を付与しないと判定することを特徴とする付記1〜3のいずれか一つに記載の通信装置。
(付記5)前記受信手段によって受信された要求通知は、前記いずれかの送信元における前記通信装置を宛先にする送信対象データの送信期限に関する情報を含み、
前記判定手段は、
前記要求通知に含まれる送信期限に関する情報と、他の送信元における前記通信装置を宛先にする送信対象データの送信期限に関する情報と、に基づいて、前記いずれかの送信元に前記送信権を付与するか否かを判定することを特徴とする付記1〜4のいずれか一つに記載の通信装置。
(付記6)前記受信手段によって受信された要求通知に基づいて、前記判定手段によって前記送信権を付与すると判定された前記いずれかの送信元が送信する送信対象データの許容データ量を決定する決定手段を備え、
前記送信手段は、
前記判定手段によって前記送信権を付与すると判定された前記いずれかの送信元に前記決定手段によって決定された許容データ量を含む前記送信権を送信することを特徴とする付記1〜5のいずれか一つに記載の通信装置。
(付記7)複数の宛先と通信する通信装置であって、
前記複数の宛先のうちいずれかの宛先への送信対象データのデータ量に基づいて、前記いずれかの宛先に、前記通信装置から前記いずれかの宛先への送信を許可する送信権を要求するか否かを判定する判定手段と、
前記判定手段によって前記送信権を要求すると判定された場合、前記いずれかの宛先への送信対象データのデータ量を特定する情報を含む前記要求通知を、前記いずれかの宛先に通知する通知手段と、
前記通知手段によって前記要求通知が通知された結果、前記いずれかの宛先から前記送信権を受信する受信手段と、
前記受信手段によって前記送信権が受信された場合、前記いずれかの宛先への送信対象データを前記いずれかの宛先に送信する送信手段と、
を備えることを特徴とする通信装置。
(付記8)前記判定手段は、
前記いずれかの宛先への送信対象データのデータ量が閾値以上である場合、前記いずれかの宛先に送信権を要求すると判定することを特徴とする付記7に記載の通信装置。
(付記9)前記いずれかの宛先への送信対象データを生成したときからの経過時間を計測する計測手段を備え、
前記通知手段は、
前記計測手段によって計測された経過時間が、前記いずれかの宛先への送信対象データの送信期限に基づく閾値以上である場合、前記要求通知を前記いずれかの宛先に通知することを特徴とする付記7または8に記載の通信装置。
(付記10)前記要求通知は、前記いずれかの宛先への送信対象データの送信期限に関する情報を含むことを特徴とする付記7〜9のいずれか一つに記載の通信装置。
(付記11)前記要求通知は、前記いずれかの宛先とは異なる他の宛先への送信対象データのデータ量を示す情報を含むことを特徴とする付記7〜10のいずれか一つに記載の通信装置。
(付記12)前記送信権は送信する送信対象データの許容データ量を含み、
前記送信手段は、
前記いずれかの宛先への送信対象データのうち、前記許容データ量以下の送信対象データを、前記いずれかの宛先に送信することを特徴とする付記7〜11のいずれか一つに記載の通信装置。
(付記13)複数の送信元と通信する通信装置が、
前記複数の送信元のうちいずれかの送信元から、前記いずれかの送信元から前記通信装置への送信を許可する送信権について、前記通信装置を宛先にする送信対象データのデータ量を特定する情報を含む要求通知を受信し、
受信された要求通知に基づいて、前記いずれかの送信元に前記送信権を付与するか否かを判定し、
前記送信権を付与すると判定された前記いずれかの送信元に前記送信権を送信する、
ことを特徴とする通信方法。
(付記14)複数の宛先と通信する通信装置が、
前記複数の宛先のうちいずれかの宛先への送信対象データのデータ量に基づいて、前記いずれかの宛先に、前記通信装置から前記いずれかの宛先への送信を許可する送信権を要求するか否かを判定し、
前記送信権を要求すると判定された場合、前記いずれかの宛先への送信対象データのデータ量を特定する情報を含む前記要求通知を、前記いずれかの宛先に通知し、
前記要求通知が通知された結果、前記いずれかの宛先から前記送信権を受信し、
前記送信権が受信された場合、前記いずれかの宛先への送信対象データを前記いずれかの宛先に送信する、
ことを特徴とする通信方法。
(付記15)複数の送信元と通信する通信装置に、
前記複数の送信元のうちいずれかの送信元から、前記いずれかの送信元から前記通信装置への送信を許可する送信権について、前記通信装置を宛先にする送信対象データのデータ量を特定する情報を含む要求通知を受信し、
受信された要求通知に基づいて、前記いずれかの送信元に前記送信権を付与するか否かを判定し、
前記送信権を付与すると判定された前記いずれかの送信元に前記送信権を送信する、
処理を実行させることを特徴とする通信プログラム。
(付記16)複数の宛先と通信する通信装置に、
前記複数の宛先のうちいずれかの宛先への送信対象データのデータ量に基づいて、前記いずれかの宛先に、前記通信装置から前記いずれかの宛先への送信を許可する送信権を要求するか否かを判定し、
前記送信権を要求すると判定された場合、前記いずれかの宛先への送信対象データのデータ量を特定する情報を含む前記要求通知を、前記いずれかの宛先に通知し、
前記要求通知が通知された結果、前記いずれかの宛先から前記送信権を受信し、
前記送信権が受信された場合、前記いずれかの宛先への送信対象データを前記いずれかの宛先に送信する、
処理を実行させることを特徴とする通信プログラム。
N 通信装置
B バッファ
M メッセージ
1401 受信部
1402 判定部
1403 送信部
1404 決定部
1501 判定部
1502 通知部
1503 受信部
1504 送信部
1505 計測部

Claims (15)

  1. 複数の装置と通信する通信装置であって、
    前記複数の装置に含まれる第1の装置から、前記通信装置を宛先にする送信対象データのデータ量を特定する第1のデータ量情報を含む、前記第1の装置から前記通信装置への送信許可に関する送信権についての、要求通知を受信する受信手段と、
    前記第1のデータ量情報に基づいて、前記第1の装置に前記送信権を付与するか否かを判定する判定手段と、
    前記第1の装置が前記送信権を付与されると判定された場合に、前記第1の装置に前記送信権を示す許可トークンを送信する送信手段と、
    を備えることを特徴とする通信装置。
  2. 前記判定手段は、
    前記要求通知に含まれる前記第1のデータ量情報と、第2の装置における前記通信装置を宛先にする送信対象データのデータ量を特定する第2のデータ量情報と、に基づいて、前記第1の装置に前記送信権を付与するか否かを判定することを特徴とする請求項1に記載の通信装置。
  3. 前記受信手段によって受信された要求通知は、前記通信装置とは異なる他の通信装置を宛先にする送信対象データのデータ量を特定する第3のデータ量情報を含み、
    前記判定手段は、
    前記要求通知に含まれる、前記第1のデータ量情報および前記第3のデータ量情報に基づいて、前記第1の装置に前記送信権を付与するか否かを判定することを特徴とする請求項1または2に記載の通信装置。
  4. 前記受信手段によって受信された要求通知は、前記第1の装置における前記通信装置を宛先にする送信対象データの送信期限に関する第1の送信期限情報を含み、
    前記判定手段は、
    前記第1の送信期限情報と、第2の装置における前記通信装置を宛先にする送信対象データの送信期限に関する第2の送信期限情報と、に基づいて、前記第1の装置に前記送信権を付与するか否かを判定することを特徴とする請求項1〜3のいずれか一つに記載の通信装置。
  5. 前記受信手段によって受信された要求通知に基づいて、前記判定手段によって前記送信権を付与すると判定された前記第1の装置が送信する送信対象データの許容データ量を決定する決定手段を備え、
    前記許可トークンは、前記許容データ量を含むことを特徴とする請求項1〜4のいずれか一つに記載の通信装置。
  6. 複数の装置と通信する通信装置であって、
    前記複数の装置に含まれる第4の装置への送信対象データのデータ量に基づいて、前記第4の装置に、前記通信装置から前記第4の装置への送信許可に関する送信権を要求するか否かを判定する判定手段と、
    前記送信権を要求すると判定された場合、前記第4の装置への送信対象データのデータ量を特定する第4のデータ量情報を含む、前記送信権についての要求通知を、前記第4の装置に通知する通知手段と、
    前記第4の装置から、前記要求通知に対応した許可トークンを受信する受信手段と、
    前記許可トークンの受信に応じて、前記第4の装置への送信対象データを前記第4の装置に送信する送信手段と、
    を備えることを特徴とする通信装置。
  7. 前記判定手段は、
    前記第4の装置への送信対象データのデータ量に基づき、前記第4の装置に送信権を要求すると判定することを特徴とする請求項6に記載の通信装置。
  8. 前記判定手段は、
    前記第4の装置への送信対象データのデータ量が閾値以上である場合、前記第4の装置に送信権を要求すると判定することを特徴とする請求項7に記載の通信装置。
  9. 前記第4の装置への送信対象データを生成したときからの経過時間を計測する計測手段を備え、
    前記通知手段は、前記計測手段による経過時間、および、前記第4の装置への送信対象データの送信期限に基づき、前記要求通知を前記第4の装置に通知することを特徴とする請求項6に記載の通信装置。
  10. 前記計測手段による経過時間が、前記第4の装置への送信対象データの送信期限に基づく閾値以上である場合、前記要求通知を前記第4の装置に通知することを特徴とする請求項9に記載の通信装置。
  11. 前記許可トークンは送信する送信対象データの許容データ量を含み、
    前記送信手段は、
    前記第4の装置への送信対象データのうち、前記許容データ量以下の送信対象データを、前記第4の装置に送信することを特徴とする請求項6〜10のいずれか一つに記載の通信装置。
  12. 複数の装置と通信する通信装置が、
    前記複数の装置に含まれる第1の装置から、前記通信装置を宛先にする送信対象データのデータ量を特定する第1のデータ量情報を含む、前記第1の装置から前記通信装置への送信許可に関する送信権についての、要求通知を受信し、
    前記第1のデータ量情報に基づいて、前記第1の装置に前記送信権を付与するか否かを判定し、
    前記第1の装置が前記送信権を付与されると判定された場合に、前記第1の装置に前記送信権を示す許可トークンを送信する、
    ことを特徴とする通信方法。
  13. 複数の装置と通信する通信装置が、
    前記複数の装置に含まれる第4の装置への送信対象データのデータ量に基づいて、前記第4の装置に、前記通信装置から前記第4の装置への送信許可に関する送信権を要求するか否かを判定し、
    前記送信権を要求すると判定された場合、前記第4の装置への送信対象データのデータ量を特定する第4のデータ量情報を含む、前記送信権についての要求通知を、前記第4の装置に通知し、
    前記第4の装置から、前記要求通知に対応した許可トークンを受信し、
    前記許可トークンの受信に応じて、前記第4の装置への送信対象データを前記第4の装置に送信する、
    ことを特徴とする通信方法。
  14. 複数の装置と通信する通信装置に、
    前記複数の装置に含まれる第1の装置から、前記通信装置を宛先にする送信対象データのデータ量を特定する第1のデータ量情報を含む、前記第1の装置から前記通信装置への送信許可に関する送信権についての、要求通知を受信し、
    前記第1のデータ量情報に基づいて、前記第1の装置に前記送信権を付与するか否かを判定し、
    前記第1の装置が前記送信権を付与されると判定された場合に、前記第1の装置に前記送信権を示す許可トークンを送信する、
    処理を実行させることを特徴とする通信プログラム。
  15. 複数の装置と通信する通信装置に、
    前記複数の装置に含まれる第4の装置への送信対象データのデータ量に基づいて、前記第4の装置に、前記通信装置から前記第4の装置への送信許可に関する送信権を要求するか否かを判定し、
    前記送信権を要求すると判定された場合、前記第4の装置への送信対象データのデータ量を特定する第4のデータ量情報を含む、前記送信権についての要求通知を、前記第4の装置に通知し、
    前記第4の装置から、前記要求通知に対応した許可トークンを受信し、
    前記許可トークンの受信に応じて、前記第4の装置への送信対象データを前記第4の装置に送信する、
    処理を実行させることを特徴とする通信プログラム。
JP2011179255A 2011-08-18 2011-08-18 通信装置、通信方法、および通信プログラム Expired - Fee Related JP5803418B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011179255A JP5803418B2 (ja) 2011-08-18 2011-08-18 通信装置、通信方法、および通信プログラム
US13/523,959 US20130044745A1 (en) 2011-08-18 2012-06-15 Communication apparatus, communication method, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011179255A JP5803418B2 (ja) 2011-08-18 2011-08-18 通信装置、通信方法、および通信プログラム

Publications (2)

Publication Number Publication Date
JP2013042434A JP2013042434A (ja) 2013-02-28
JP5803418B2 true JP5803418B2 (ja) 2015-11-04

Family

ID=47712624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011179255A Expired - Fee Related JP5803418B2 (ja) 2011-08-18 2011-08-18 通信装置、通信方法、および通信プログラム

Country Status (2)

Country Link
US (1) US20130044745A1 (ja)
JP (1) JP5803418B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014191966A1 (en) 2013-05-31 2014-12-04 Stmicroelectronics S.R.L. Communication interface for interfacing a transmission circuit with an interconnection network, and corresponding system and integrated circuit
US10587526B2 (en) * 2016-05-30 2020-03-10 Walmart Apollo, Llc Federated scheme for coordinating throttled network data transfer in a multi-host scenario
US10223541B2 (en) * 2017-01-24 2019-03-05 Salesforce.Com, Inc. Adaptive permission token
CN111355669B (zh) * 2018-12-20 2022-11-25 华为技术有限公司 控制网络拥塞的方法、装置及系统
US11599644B2 (en) 2019-05-17 2023-03-07 Walmart Apollo, Llc Blocking insecure code with locking

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04150342A (ja) * 1990-10-11 1992-05-22 Nec Corp トークンリングにおける連続送信パケット数制御方式
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 (ko) * 2001-12-11 2005-01-03 삼성전자주식회사 이동통신시스템에서 서비스 품질에 따른 데이터 패킷의 스케줄링 방법 및 장치
US20050157745A1 (en) * 2002-05-08 2005-07-21 Hidekazu Fujii Communication management method, control station, communication station, communication management program, and recording medium containing the communication management program
JP2004357095A (ja) * 2003-05-30 2004-12-16 Sony Corp 情報処理システム、情報処理装置および情報処理方法、受信装置および受信方法、並びにプログラム
JP4295051B2 (ja) * 2003-09-12 2009-07-15 パナソニック株式会社 送信装置及び送信方法
KR101507677B1 (ko) * 2007-03-14 2015-03-31 인터디지탈 테크날러지 코포레이션 롱텀 에볼루션 시스템에서의 업링크 고갈 회피 지원 방법 및 장치
EP2028890B1 (en) * 2007-08-12 2019-01-02 LG Electronics Inc. Handover method with link failure recovery, wireless device and base station for implementing such method
US7920489B1 (en) * 2007-09-14 2011-04-05 Net App, Inc. Simultaneous receiving and transmitting of data over a network

Also Published As

Publication number Publication date
US20130044745A1 (en) 2013-02-21
JP2013042434A (ja) 2013-02-28

Similar Documents

Publication Publication Date Title
JP5803418B2 (ja) 通信装置、通信方法、および通信プログラム
EP2540042B1 (en) Communication transport optimized for data center environment
US8631180B2 (en) Requests and data handling in a bus architecture
US20160164792A1 (en) Tracking queuing delay and performing related congestion control in information centric networking
KR20130093813A (ko) 컨텐츠 중심 네트워크에서 컨텐츠의 세그먼트를 프리패칭하는 대상 노드의 통신 방법 및 그 대상 노드
US20120275304A1 (en) Hierarchical profiled scheduling and shaping
WO2019127597A1 (zh) 一种发送报文的方法、设备和系统
WO2020134425A1 (zh) 一种数据处理方法、装置、设备及存储介质
US20140052938A1 (en) Clumsy Flow Control Method and Apparatus for Improving Performance and Energy Efficiency in On-Chip Network
CN112104562A (zh) 拥塞控制方法及装置、通信网络、计算机存储介质
US9509620B2 (en) Deadline-aware network protocol
CN104285415B (zh) 混合数据流处理器
Imputato et al. An analysis of the impact of network device buffers on packet schedulers through experiments and simulations
WO2012116540A1 (zh) 流量管理的方法和管理装置
US20150019731A1 (en) Fair Hierarchical Arbitration Of a Shared Resource With Varying Traffic Intensity
US9705733B2 (en) Systems and methods for throttling polling
KR102153543B1 (ko) 무선 환경에서 usb 통신을 위한 버퍼 관리 방법 및 장치
JP4698645B2 (ja) フロー制御装置およびフロー制御方法
WO2021115482A1 (zh) 一种令牌的调整方法及装置
WO2016188057A1 (zh) 一种单组播流量调度管理的方法及装置
JP5772380B2 (ja) 通信装置、通信方法、および通信プログラム
WO2019095942A1 (zh) 一种数据传输方法及通信设备
JP5715458B2 (ja) 情報処理システム、調停方法
WO2012106902A1 (zh) 一种队列管理方法、装置及系统
CN112154425A (zh) 用于内容分发网络的传送设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150427

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150817

R150 Certificate of patent or registration of utility model

Ref document number: 5803418

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees