JP2018101878A - 通信方法、通信装置および通信プログラム - Google Patents
通信方法、通信装置および通信プログラム Download PDFInfo
- Publication number
- JP2018101878A JP2018101878A JP2016246312A JP2016246312A JP2018101878A JP 2018101878 A JP2018101878 A JP 2018101878A JP 2016246312 A JP2016246312 A JP 2016246312A JP 2016246312 A JP2016246312 A JP 2016246312A JP 2018101878 A JP2018101878 A JP 2018101878A
- Authority
- JP
- Japan
- Prior art keywords
- data
- size
- communication
- unit
- frame
- 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】最適なフレームサイズで通信を行う通信方法、通信装置及び通信プログラムを提供する。【解決手段】本通信方法は、第1の装置が、複数のデータサイズで第2の装置にデータを送信し、第2の装置が、第1の装置からの受信に成功したデータのデータサイズの情報を、第1の装置に送信し、第1の装置が、第2の装置から受信したデータサイズの情報に基づき選択したデータサイズで、第2の装置にデータを送信する処理を含む。【選択図】図2
Description
本発明は、装置間の通信技術に関する。
地震や台風等の自然災害に備えてネットワークの耐久性を向上させるため、ネットワークがメッシュ化されるようになっている。それに伴い、ネットワークに配置される機器の数が増え、また多様な機器がネットワークに配置されるようになっている。
図1に、メッシュ化された広域ネットワークの一例を示す。図1において、L(Layer)2スイッチ間における通信は、LAN(Local Area Network)或いはWAN(Wide Area Network)等のネットワークを介して行われる。但し、L2スイッチ間におけるネットワークがどのようなネットワークであるかは、図1のような広域ネットワークの場合には必ずしも明らかではない。そして、このようなネットワーク(以下、不明ネットワークと呼ぶ)内でフレームが転送されると、フレームが破棄されることがある。その原因として、特定のサイズ以上のフレームを破棄する機器が不明ネットワークに存在することが挙げられる。不明ネットワークにおいてフレームが破棄されると、L2スイッチは他のL2スイッチからデータ(例えば、障害からの復旧に使用するデータ)を取得することができず、障害からの復旧が遅れるといった事態が生じうる。
通信に使用するパケットのサイズを決定する技術を開示する文献は存在する。しかし、この技術は、通信品質の安定およびビットエラー率の低減等を目的としており、通信の途中の不明ネットワークにおいてフレームが破棄されるという問題の解決には適していない。
本発明の目的は、1つの側面では、最適なフレームサイズで通信を行うための技術を提供することである。
第1の態様に係る通信方法は、第1の装置が、複数のデータサイズで第2の装置にデータを送信し、第2の装置が、第1の装置からの受信に成功したデータのデータサイズの情報を、第1の装置に送信し、第1の装置が、第2の装置から受信したデータサイズの情報に基づき選択したデータサイズで、第2の装置にデータを送信する処理を含む。
第2の態様に係る通信方法は、複数のデータサイズで他の通信装置にデータを送信し、複数のデータサイズのうち特定のデータサイズでの送信に対する応答を他の通信装置から受信した場合、特定のデータサイズに基づき、他の通信装置にデータを送信する場合のデータサイズを決定する処理を含む。
1つの側面では、最適なフレームサイズで通信を行えるようになる。
[実施の形態1]
本実施の形態においては、図1に示したような広域ネットワークに複数のL2スイッチが配置され、L2スイッチ間での通信が行われる。各L2スイッチは、1又は複数の他のL2スイッチの設定データおよびファームウエア等を有している。例えば障害の発生によりL2スイッチが交換された場合、交換後のL2スイッチは他のL2スイッチから設定データおよびファームウエア等をダウンロードすることで、運用を再開することができる。このようなダウンロードのことを、本実施の形態においては「隣接DL(DownLoad)」と呼ぶ。また、上記の設定データ及びファームウエア等を含むデータのことを「隣接DLデータ」と呼ぶ。
本実施の形態においては、図1に示したような広域ネットワークに複数のL2スイッチが配置され、L2スイッチ間での通信が行われる。各L2スイッチは、1又は複数の他のL2スイッチの設定データおよびファームウエア等を有している。例えば障害の発生によりL2スイッチが交換された場合、交換後のL2スイッチは他のL2スイッチから設定データおよびファームウエア等をダウンロードすることで、運用を再開することができる。このようなダウンロードのことを、本実施の形態においては「隣接DL(DownLoad)」と呼ぶ。また、上記の設定データ及びファームウエア等を含むデータのことを「隣接DLデータ」と呼ぶ。
図2に、本実施の形態のL2スイッチの機能ブロック図を示す。L2スイッチは、通信部101と、DL要求部103と、サイズ調整部105と、DLデータ管理部107と、通信バッファ111と、DLデータ格納部113と、設定パラメータ格納部115とを含む。通信部101、DL要求部103、サイズ調整部105及びDLデータ管理部107は、本実施の形態の処理を実行するためのプログラムがメモリ(具体的には、図15におけるメモリ2601)にロードされてハードウエアのプロセッサ(具体的には、図15におけるCPU(Central Processing Unit)2603)により実行されることにより実現される。通信バッファ111、DLデータ格納部113及び設定パラメータ格納部115は、メモリ(具体的には、図15におけるメモリ2601)又はその他の記憶装置(例えば、図15におけるHDD(Hard Disk Drive)2605)上に設けられる。
通信部101は、DL要求部103及びDLデータ管理部107からの要求に応じてフレームを送信する。また、通信部101は、他のL2スイッチ等からフレームを受信する。なお、通信部101は、送信前のフレーム又は受信したフレームを通信バッファ111に格納する。
DL要求部103は、隣接DLデータの要求フレームを通信部101を介して他のL2スイッチに送信する。また、DL要求部103は、他のL2スイッチから通信部101を介して隣接DLデータの要求フレームを受信した場合、当該他のL2スイッチ用の隣接DLデータを提供することができれば、応答フレームを通信部101を介して当該他のL2スイッチに対して送信する。
サイズ調整部105は、設定パラメータ格納部115に格納されている設定パラメータに従って複数のサイズ調整フレームを生成し、生成した複数のサイズ調整フレームを、設定パラメータに従って、通信部101を介してサイズ調整の要求フレームの送信元に送信する。また、サイズ調整部105は、他のL2スイッチから通信部101を介してサイズ調整フレームを受信した場合、受信したサイズ調整フレームに基づきフレームサイズの情報を含む応答フレームを生成し、生成した応答フレームを通信部101を介して当該他のL2スイッチに送信する。
DLデータ管理部107は、他のL2スイッチから通信部101を介してフレームの形式で受信した隣接DLデータをDLデータ格納部113に格納する。DLデータ管理部107は、隣接DLデータの受信が完了した場合、完了通知フレームを、通信部101を介して隣接DLデータの送信元のL2スイッチに対して送信する。また、DLデータ管理部107は、隣接DLデータを要求する他のL2スイッチに対して、DLデータ格納部113から読み出した隣接DLデータを、サイズ調整部105により決定されたサイズのフレームで送信する。
図3を用いて、本実施の形態の概要を説明する。ここでは、L2スイッチ1sの運用中に障害が発生したためにL2スイッチ1sが交換され、運用を再開するためL2スイッチ1sが隣接DLデータをL2スイッチ2sから取得する状況を考える。以下では、保守対象であるL2スイッチ1sをR装置と呼び、R装置に対して隣接DLデータを提供するL2スイッチ2sをS装置と呼ぶ。
まず、R装置は、隣接DLデータの要求フレームをS装置に対して送信する(図3における(1))。S装置は、R装置用の隣接DLデータをS装置がR装置に対して提供することができる場合、応答フレームをR装置に対して送信する(図3における(2))。
R装置は、応答フレームを送信したS装置に対して、サイズ調整の要求フレームを送信する(図3における(3))。S装置は、設定パラメータに従って、複数のサイズでサイズ調整フレームをR装置に対して送信する(図3における(4))。
サイズによっては、フレームはR装置とS装置との間の不明ネットワークにおいて破棄されることがあるが、R装置は少なくとも1つのサイズ調整フレームをS装置から受信することに成功したものとする。すると、R装置は、受信に成功したサイズ調整フレームのうち最大のサイズ調整フレームのサイズの情報を含む応答フレームを、S装置に対して送信する(図3における(5))。S装置は、応答フレームを受信すると、応答フレームに含まれるサイズの情報に従って、S装置がR装置にフレームを送信する際のフレームサイズを決定する。そして、S装置は、決定したフレームサイズで隣接DLデータをR装置に送信する(図3における(6))。
R装置は、隣接DLデータを漏れなく受信することができた場合、完了通知フレームをS装置に対して送信する(図3における(7))。
なお、隣接DLデータの要求フレーム及びその応答フレーム、サイズ調整の要求フレーム及びその応答フレーム、並びに完了通知フレームは、隣接DLデータのフレームと比較してサイズが十分に小さいため、サイズ調整を行うことなく送信されるものとする。
次に、図4及び図5を用いて、R装置が実行する処理をより詳細に説明する。
まず、R装置のDL要求部103は、R装置の物理ポートのうちリンクアップしたポートの各々から、隣接DLデータの要求フレームを通信部101を介して送信する(図4:ステップS1)。隣接DLデータの要求フレームを受信したL2スイッチの処理については、後で説明する。
R装置のDL要求部103は、隣接DLデータの応答フレームを通信部101を介して受信する(ステップS3)。但し、R装置用の隣接DLデータを有するL2スイッチが無い場合にはR装置のDL要求部103は応答フレームを受信しない。
R装置のDL要求部103は、R装置用の隣接DLデータを提供するS装置を特定する(ステップS5)。例えば、応答フレームを複数のL2スイッチから受信した場合には、複数のL2スイッチのうちいずれかのL2スイッチをS装置とする。DL要求部103は、特定したS装置の情報をサイズ調整部105に対して通知する。
R装置のサイズ調整部105は、サイズ調整の要求フレームを、ステップS5において特定したS装置に対して通信部101を介して送信し(ステップS7)、S装置からのサイズ調整フレームの受信待ちを行う(ステップS9)。
R装置のサイズ調整部105は、サイズ調整フレームを受信したか判定する(ステップS11)。サイズ調整フレームを受信した場合(ステップS11:Yesルート)、処理は端子Aを介して図5のステップS15に移行する。
一方、サイズ調整フレームを受信していない場合(ステップS11:Noルート)、リトライを所定回数行ったか判定する(ステップS13)。リトライを所定回数行っていない場合(ステップS13:Noルート)、リトライするため、処理はステップS7に戻る。リトライを所定回数行った場合(ステップS13:Yesルート)、処理は端子Bを介して図5に移行し終了する。
端子A以降の処理について説明する。R装置のサイズ調整部105は、S装置から受信したサイズ調整フレームのうち最大サイズのサイズ調整フレームを特定する(図5:ステップS15)。なお、サイズ調整フレームのサイズはR装置において測られる。ステップS15において最大サイズのサイズ調整フレームを特定することで、隣接DLデータを受信する際のフレーム数を減らすことができるので、効率的な受信が可能になる。
R装置のサイズ調整部105は、ステップS15において特定した最大サイズのサイズ調整フレームのサイズ情報を含む、サイズ調整の応答フレームを、通信部101を介してS装置に対して送信する(ステップS17)。
その後、R装置のDLデータ管理部107は、S装置が送信した隣接DLデータを、通信部101を介して上記の最大サイズに基づき決定されたフレームサイズで受信し、受信した隣接DLデータをDLデータ格納部113に格納する(ステップS19)。
R装置のDLデータ管理部107は、受信すべき隣接DLデータを漏れなく受信した場合、完了通知フレームをS装置に対して通信部101を介して送信する(ステップS21)。
そして、R装置は再起動を行う(ステップS23)。そして処理は終了する。これにより、R装置は隣接DLデータに含まれるファームウエアに基づき動作を行い、また、隣接DLデータに含まれる設定データが反映されるので、適切に運用を再開できるようになる。
次に、図6乃至図10を用いて、S装置が実行する処理をより詳細に説明する。
まず、S装置のDL要求部103は、隣接DLデータの要求フレームを通信部101を介してR装置から受信する(図6:ステップS31)。
S装置のDL要求部103は、R装置用の隣接DLデータがDLデータ格納部113に有るか判定する(ステップS33)。
R装置用の隣接DLデータがDLデータ格納部113に無い場合(ステップS33:Noルート)、S装置のDL要求部103は、ネットワークにおける他のL2スイッチにR装置用の隣接DLデータが有るか判定する(ステップS35)。
S装置は、図7に示すようなデータをDLデータ格納部113において管理しており、ステップS35においてDL要求部103は図7に示すようなデータを使用して判定を行う。図7の例では、他のL2スイッチのID(IDentifier)と、そのL2スイッチが有する他のL2スイッチ用の隣接DLデータとについてデータが格納される。例えば1行目のエントリは、L2スイッチ10sがL2スイッチ11s用の隣接DLデータとL2スイッチ14s用の隣接DLデータとを有することを表す。本実施の形態においては、各L2スイッチは図7に示すようなデータをDLデータ格納部113において管理する。
ネットワークにおける他のL2スイッチにR装置用の隣接DLデータが有る場合(ステップS35:Yesルート)、処理はステップS37に移行する。一方、ネットワークにおける他のL2スイッチにR装置用の隣接DLデータが無い場合(ステップS35:Noルート)、処理は端子Cを介して図9に移行し終了する。
一方、R装置用の隣接DLデータがDLデータ格納部113に有る場合(ステップS33:Yesルート)、S装置のDL要求部103は、隣接DLデータの要求フレームに対する応答フレームを、R装置に対して通信部101を介して送信する(ステップS37)。
S装置のサイズ調整部105は、サイズ調整の要求フレームを、例えばステップS37の処理を実行してから所定時間内に受信したか判定する(ステップS39)。サイズ調整の要求フレームを受信していない場合(ステップS39:Noルート)、処理は端子Cを介して図9に移行し終了する。
一方、サイズ調整の要求フレームを受信した場合(ステップS39:Yesルート)、S装置のサイズ調整部105は、サイズ調整についての設定パラメータを、設定パラメータ格納部115から読み出す(ステップS41)。処理は端子Dを介して図9のステップS43に移行する。
図8に、設定パラメータ格納部115に格納されるデータの一例を示す。図8の例では、設定パラメータ「StartFrameSize」と、設定パラメータ「EndFrameSize」と、設定パラメータ「FrameUnitSize」と、設定パラメータ「OneShotNumber」と、設定パラメータ「OneShotInterval」とが格納される。各設定パラメータの意味については、後で説明する。
図9の説明に移行し、S装置のサイズ調整部105は、ステップS41において読み出した設定パラメータに従って、サイズが異なる複数(ここでは、設定パラメータ「OneShotNumber」の数)のサイズ調整フレームを通信部101を介してR装置に送信する(図9:ステップS43)。
図10を用いて、サイズ調整フレームの送信について説明する。本実施の形態においては、サイズの降順でサイズ調整フレームが送信される。図10の例では、最初に10000バイトのサイズ調整フレームが送信され、次に9900バイトのサイズ調整フレームが送信され、・・・、というように送信が行われる。設定パラメータ「FrameUnitSize」はフレームサイズの変化量を設定するためのパラメータである。設定パラメータ「StartFrameSize」は最初に送信されるサイズ調整フレームのフレームサイズを設定するためのパラメータである。10000バイトから9600バイトまでの5つのフレームが送信されると、設定パラメータ「OneShotInterval」の時間送信が停止される。設定パラメータは「OneShotNumber」は、送信の停止が終了してから次に送信が停止するまでに送信されるサイズ調整フレームの数である。送信の停止が終了すると、9500バイトから9100バイトまでのサイズ調整フレームが送信される。サイズ調整フレームのサイズが設定パラメータ「EndFrameSize」以下になると、送信は終了する。
図9の説明に戻り、S装置のサイズ調整部105は、設定パラメータ「OneShotInterval」の時間待機する(ステップS45)。
S装置のサイズ調整部105は、サイズ調整フレームの応答フレームを通信部101を介して受信したか判定する(ステップS47)。応答フレームには、R装置により生成されたサイズ情報が含まれる。
サイズ調整フレームの応答フレームを通信部101を介して受信した場合(ステップS47:Yesルート)、処理はステップS51に移行する。一方、サイズ調整フレームの応答フレームを通信部101を介して受信していない場合(ステップS47:Noルート)、サイズ調整部105は、最後に送信したサイズ調整フレームのサイズが設定パラメータ「EndFrameSize」が示すサイズ以下であるか判定する(ステップS49)。
最後に送信したサイズ調整フレームのサイズが設定パラメータ「EndFrameSize」が示すサイズ以下ではない場合(ステップS49:Noルート)、処理はステップS43に戻る。
一方、最後に送信したサイズ調整フレームのサイズが設定パラメータ「EndFrameSize」が示すサイズ以下である場合(ステップS49:Yesルート)、サイズ調整部105は、サイズ調整が完了したか判定する(ステップS51)。ステップS51においては、サイズ調整フレームの応答フレームを受信したか否かに基づき判定が行われる。
サイズ調整が完了していない場合(ステップS51:Noルート)、処理は終了する。一方、サイズ調整が完了した場合(ステップS51:Yesルート)、サイズ調整部105は、サイズ調整が完了したことを通信部101に通知する。これに応じ、通信部101は、R装置用の隣接DLデータがDLデータ格納部113に格納されている(すなわち、R装置用の隣接DLデータが自装置に有る)か判定する(ステップS53)。
R装置用の隣接DLデータがDLデータ格納部113に格納されている場合(ステップS53:Yesルート)、処理はステップS56に移行する。一方、R装置用の隣接DLデータがDLデータ格納部113に格納されていない場合(ステップS53:Noルート)、通信部101は、以下の処理を実行する。具体的には、通信部101は、R装置用の隣接DLデータをネットワーク内の他のL2スイッチから取得する(ステップS55)。そして処理はステップS56に移行する。ステップS55においては、図7に示したデータを用いてR装置用の隣接DLデータを有する他のL2スイッチが特定され、特定されたL2スイッチからR装置用の隣接DLデータが取得される。
S装置のサイズ調整部105は、受信した応答フレームに含まれるサイズ情報に基づき、R装置にフレームを送信する場合のフレームサイズを決定する(ステップS56)。例えば、サイズ情報が示すフレームサイズ以下のサイズであってS装置が送信可能な最大サイズのフレームサイズが採用される。サイズ調整部105は、決定されたフレームサイズをDLデータ管理部107に通知する。
S装置のDLデータ管理部107は、R装置用の隣接DLデータをDLデータ格納部113から読み出し、読み出した隣接DLデータを、通知されたフレームサイズのフレームで通信部101を介して送信する(ステップS57)。
S装置のDLデータ管理部107は、通信部101を介してR装置から完了通知フレームを受信する(ステップS59)。そして処理は終了する。
以上のような処理を実行すれば、実際にR装置が受信することが可能な最大のフレームサイズでS装置が隣接DLデータを送信することができるようになる。すなわち、最適なフレームサイズで効率的に隣接DLデータのダウンロードを行うことができるようになる。
[実施の形態2]
第1の実施の形態においては、ネットワークにおける各L2スイッチが他のL2スイッチ用の隣接DLデータを有しているが、各L2スイッチ用の隣接DLデータを一元的に管理するコントローラ(例えば物理サーバ)をネットワークに配置し、各L2スイッチはコントローラから隣接DLデータを取得してもよい。そこで、以下ではネットワークにコントローラを導入する例について説明する。
第1の実施の形態においては、ネットワークにおける各L2スイッチが他のL2スイッチ用の隣接DLデータを有しているが、各L2スイッチ用の隣接DLデータを一元的に管理するコントローラ(例えば物理サーバ)をネットワークに配置し、各L2スイッチはコントローラから隣接DLデータを取得してもよい。そこで、以下ではネットワークにコントローラを導入する例について説明する。
図11に、第2の実施の形態におけるコントローラ3の機能ブロック図を示す。コントローラ3は、DLデータ格納部301を含む。DLデータ格納部301には、ネットワーク内の各L2スイッチ用の隣接DLデータが格納されている。
図12及び図13を用いて、S装置がコントローラ3から隣接DLデータを取得する場合の動作について説明する。まず、S装置のDL要求部103は、隣接DLデータの要求フレームを通信部101を介してR装置から受信する(図12:ステップS61)。
S装置のDL要求部103は、R装置用の隣接DLデータを有するかについて、ネットワークにおけるコントローラ3に問い合わせを通信部101を介して送信する(ステップS63)。
S装置のDL要求部103は、ステップS63において送信した問い合わせに対する回答に基づき、コントローラ3にR装置用の隣接DLデータが有るか判定する(ステップS65)。
コントローラ3にR装置用の隣接DLデータが無い場合(ステップS65:Noルート)、処理は端子Eを介して図13に移行し終了する。一方、コントローラ3にR装置用の隣接DLデータが有る場合(ステップS65:Yesルート)、S装置のDL要求部103は、隣接DLデータの要求フレームに対する応答フレームを、R装置に対して通信部101を介して送信する(ステップS67)。
S装置のサイズ調整部105は、サイズ調整の要求フレームを、例えばステップS67の処理を実行してから所定時間内に受信したか判定する(ステップS69)。サイズ調整の要求フレームを受信していない場合(ステップS69:Noルート)、処理は端子Eを介して図13に移行し終了する。
一方、サイズ調整の要求フレームを受信した場合(ステップS69:Yesルート)、S装置のサイズ調整部105は、サイズ調整についての設定パラメータを、設定パラメータ格納部115から読み出す(ステップS71)。処理は端子Fを介して図13のステップS73に移行する。
図13の説明に移行し、S装置のサイズ調整部105は、ステップS71において読み出した設定パラメータに従って、サイズが異なる複数(ここでは、設定パラメータ「OneShotNumber」の数)のサイズ調整フレームを通信部101を介してR装置に送信する(図13:ステップS73)。
S装置のサイズ調整部105は、設定パラメータ「OneShotInterval」の時間待機する(ステップS75)。
S装置のサイズ調整部105は、サイズ調整フレームの応答フレームを通信部101を介して受信したか判定する(ステップS77)。応答フレームには、R装置により生成されたサイズ情報が含まれる。
サイズ調整フレームの応答フレームを通信部101を介して受信した場合(ステップS77:Yesルート)、処理はステップS81に移行する。一方、サイズ調整フレームの応答フレームを通信部101を介して受信していない場合(ステップS77:Noルート)、サイズ調整部105は、最後に送信したサイズ調整フレームのサイズが設定パラメータ「EndFrameSize」が示すサイズ以下であるか判定する(ステップS79)。
最後に送信したサイズ調整フレームのサイズが設定パラメータ「EndFrameSize」が示すサイズ以下ではない場合(ステップS79:Noルート)、処理はステップS73に戻る。
一方、最後に送信したサイズ調整フレームのサイズが設定パラメータ「EndFrameSize」が示すサイズ以下である場合(ステップS79:Yesルート)、サイズ調整部105は、サイズ調整が完了したか判定する(ステップS81)。ステップS81においては、サイズ調整フレームの応答フレームを受信したか否かに基づき判定が行われる。
サイズ調整が完了していない場合(ステップS81:Noルート)、処理は終了する。一方、サイズ調整が完了した場合(ステップS81:Yesルート)、サイズ調整部105は、サイズ調整が完了したことを通信部101に通知する。これに応じ、通信部101は、R装置用の隣接DLデータをコントローラ3から取得する(ステップS83)。
S装置のサイズ調整部105は、受信した応答フレームに含まれるサイズ情報に基づき、R装置にフレームを送信する場合のフレームサイズを決定する(ステップS85)。例えば、サイズ情報が示すフレームサイズ以下のサイズであってS装置が送信可能な最大サイズのフレームサイズが採用される。サイズ調整部105は、決定されたフレームサイズをDLデータ管理部107に通知する。
S装置のDLデータ管理部107は、ステップS83においてコントローラ3から取得した隣接DLデータを、通知されたフレームサイズのフレームで通信部101を介して送信する(ステップS87)。
S装置のDLデータ管理部107は、通信部101を介してR装置から完了通知フレームを受信する(ステップS89)。そして処理は終了する。
以上のように、ネットワークにコントローラ3を導入する場合であっても、S装置は隣接DLデータを最適なフレームサイズでR装置に送信することができるようになる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したL2スイッチの機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明したデータ構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上で述べたコントローラ3は、コンピュータ装置であって、図14に示すように、メモリ2501とCPU2503とHDD2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
また、上で述べたL2スイッチ(例えば、R装置およびS装置)は、中継装置であって、例えば図15に示すように、メモリ2601とCPU2603とHDD2605と表示装置2609に接続される表示制御部2607とリムーバブル・ディスク2611用のドライブ装置2613と入力装置2615とネットワークに接続するための通信制御部2617(図15では、2617a乃至2617c)とがバス2619で接続されている構成の場合もある。なお、場合によっては、表示制御部2607、表示装置2609、ドライブ装置2613、入力装置2615は含まれない場合もある。オペレーティング・システム及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、HDD2605に格納されており、CPU2603により実行される際にはHDD2605からメモリ2601に読み出される。必要に応じてCPU2603は、表示制御部2607、通信制御部2617、ドライブ装置2613を制御して、必要な動作を行わせる。なお、通信制御部2617のいずれかを介して入力されたデータは、他の通信制御部2617を介して出力される。CPU2603は、通信制御部2617を制御して、適切に出力先を切り替える。また、処理途中のデータについては、メモリ2601に格納され、必要があればHDD2605に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2611に格納されて頒布され、ドライブ装置2613からHDD2605にインストールされる。インターネットなどのネットワーク及び通信制御部2617を経由して、HDD2605にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2603、メモリ2601などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る通信方法は、(A)第1の装置が、複数のデータサイズで第2の装置にデータを送信し、(B)第2の装置が、第1の装置からの受信に成功したデータのデータサイズの情報を、第1の装置に送信し、(C)第1の装置が、第2の装置から受信したデータサイズの情報に基づき選択したデータサイズで、第2の装置にデータを送信する処理を含む。
データサイズによっては通信経路上でデータが破棄される場合があるが、上で述べたようにすれば、最適なデータサイズで通信を行うことができるようになる。
また、第1の装置および第2の装置がレイヤ2のネットワークスイッチであってもよく、データサイズはフレームサイズであってもよい。
また、複数のデータサイズでデータを送信する処理において、(a1)データサイズの降順でデータを第2の装置に送信してもよい。送信可能な最大のデータサイズを早期に特定できるようになる。
また、複数のデータサイズでデータを送信する処理において、(a2)所定数のデータを送信したのち一定時間送信を停止することを繰り返してもよい。第2の装置からデータサイズの情報が送信されるのを待つ時間をつくることができるようになる。
また、データサイズの情報を第1の装置に送信する処理において、(b1)受信に成功したデータのデータサイズのうち最大のデータサイズを特定し、特定した当該最大のデータサイズの情報を第1の装置に送信してもよい。データサイズを最大にすることで、効率的に通信を行うことができるようになる。
また、第2の装置から受信したデータサイズの情報に基づき選択したデータサイズで第2の装置にデータを送信する処理において、(c1)第1の装置が第2の装置に送信すべきデータを有していない場合、当該データを有する装置から当該データを取得してもよい。各装置がデータを有していなくてもよいので、装置の記憶容量を節約できるようになる。また、管理者によるネットワーク管理が容易になる。
本実施の形態の第2の態様に係る通信装置は、(D)複数のデータサイズで他の通信装置にデータを送信する送信部(例えば通信部101)と、(E)複数のデータサイズのうち特定のデータサイズでの送信に対する応答を他の装置から受信した場合、特定のデータサイズに基づき、他の装置にデータを送信する場合のデータサイズを決定する決定部(例えばサイズ調整部105)とを有する。
本実施の形態の第3の態様に係る通信方法は、(F)複数のデータサイズで他の通信装置にデータを送信し、(G)複数のデータサイズのうち特定のデータサイズでの送信に対する応答を他の通信装置から受信した場合、特定のデータサイズに基づき、他の通信装置にデータを送信する場合のデータサイズを決定する処理を含む。
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1の装置が、複数のデータサイズで第2の装置にデータを送信し、
前記第2の装置が、前記第1の装置からの受信に成功したデータのデータサイズの情報を、前記第1の装置に送信し、
前記第1の装置が、前記第2の装置から受信した前記データサイズの情報に基づき選択したデータサイズで、前記第2の装置にデータを送信する、
処理を実行する通信方法。
第1の装置が、複数のデータサイズで第2の装置にデータを送信し、
前記第2の装置が、前記第1の装置からの受信に成功したデータのデータサイズの情報を、前記第1の装置に送信し、
前記第1の装置が、前記第2の装置から受信した前記データサイズの情報に基づき選択したデータサイズで、前記第2の装置にデータを送信する、
処理を実行する通信方法。
(付記2)
前記第1の装置および前記第2の装置がレイヤ2のネットワークスイッチであり、
前記データサイズはフレームサイズである、
付記1記載の通信方法。
前記第1の装置および前記第2の装置がレイヤ2のネットワークスイッチであり、
前記データサイズはフレームサイズである、
付記1記載の通信方法。
(付記3)
前記複数のデータサイズでデータを送信する処理において、
データサイズの降順でデータを前記第2の装置に送信する、
付記1又は2記載の通信方法。
前記複数のデータサイズでデータを送信する処理において、
データサイズの降順でデータを前記第2の装置に送信する、
付記1又は2記載の通信方法。
(付記4)
前記複数のデータサイズでデータを送信する処理において、
所定数のデータを送信したのち一定時間送信を停止することを繰り返す、
付記1乃至3のいずれか1つ記載の通信方法。
前記複数のデータサイズでデータを送信する処理において、
所定数のデータを送信したのち一定時間送信を停止することを繰り返す、
付記1乃至3のいずれか1つ記載の通信方法。
(付記5)
前記データサイズの情報を前記第1の装置に送信する処理において、
受信に成功したデータのデータサイズのうち最大のデータサイズを特定し、特定した当該最大のデータサイズの情報を前記第1の装置に送信する、
付記1乃至4のいずれか1つ記載の通信方法。
前記データサイズの情報を前記第1の装置に送信する処理において、
受信に成功したデータのデータサイズのうち最大のデータサイズを特定し、特定した当該最大のデータサイズの情報を前記第1の装置に送信する、
付記1乃至4のいずれか1つ記載の通信方法。
(付記6)
前記第2の装置から受信した前記データサイズの情報に基づき選択したデータサイズで前記第2の装置にデータを送信する処理において、
前記第1の装置が前記第2の装置に送信すべきデータを有していない場合、当該データを有する装置から当該データを取得する、
付記1乃至5のいずれか1つ記載の通信方法。
前記第2の装置から受信した前記データサイズの情報に基づき選択したデータサイズで前記第2の装置にデータを送信する処理において、
前記第1の装置が前記第2の装置に送信すべきデータを有していない場合、当該データを有する装置から当該データを取得する、
付記1乃至5のいずれか1つ記載の通信方法。
(付記7)
複数のデータサイズで他の通信装置にデータを送信する送信部と、
前記複数のデータサイズのうち特定のデータサイズでの送信に対する応答を前記他の通信装置から受信した場合、前記特定のデータサイズに基づき、前記他の通信装置にデータを送信する場合のデータサイズを決定する決定部と、
を有する通信装置。
複数のデータサイズで他の通信装置にデータを送信する送信部と、
前記複数のデータサイズのうち特定のデータサイズでの送信に対する応答を前記他の通信装置から受信した場合、前記特定のデータサイズに基づき、前記他の通信装置にデータを送信する場合のデータサイズを決定する決定部と、
を有する通信装置。
(付記8)
コンピュータに、
複数のデータサイズで他の通信装置にデータを送信し、
前記複数のデータサイズのうち特定のデータサイズでの送信に対する応答を前記他の通信装置から受信した場合、前記特定のデータサイズに基づき、前記他の通信装置にデータを送信する場合のデータサイズを決定する、
処理を実行させる通信プログラム。
コンピュータに、
複数のデータサイズで他の通信装置にデータを送信し、
前記複数のデータサイズのうち特定のデータサイズでの送信に対する応答を前記他の通信装置から受信した場合、前記特定のデータサイズに基づき、前記他の通信装置にデータを送信する場合のデータサイズを決定する、
処理を実行させる通信プログラム。
1s,2s L2スイッチ 101 通信部
103 DL要求部 105 サイズ調整部
107 DLデータ管理部 111 通信バッファ
113 DLデータ格納部 115 設定パラメータ格納部
3 コントローラ 301 DLデータ格納部
103 DL要求部 105 サイズ調整部
107 DLデータ管理部 111 通信バッファ
113 DLデータ格納部 115 設定パラメータ格納部
3 コントローラ 301 DLデータ格納部
Claims (8)
- 第1の装置が、複数のデータサイズで第2の装置にデータを送信し、
前記第2の装置が、前記第1の装置からの受信に成功したデータのデータサイズの情報を、前記第1の装置に送信し、
前記第1の装置が、前記第2の装置から受信した前記データサイズの情報に基づき選択したデータサイズで、前記第2の装置にデータを送信する、
処理を実行する通信方法。 - 前記第1の装置および前記第2の装置がレイヤ2のネットワークスイッチであり、
前記データサイズはフレームサイズである、
請求項1記載の通信方法。 - 前記複数のデータサイズでデータを送信する処理において、
データサイズの降順でデータを前記第2の装置に送信する、
請求項1又は2記載の通信方法。 - 前記複数のデータサイズでデータを送信する処理において、
所定数のデータを送信したのち一定時間送信を停止することを繰り返す、
請求項1乃至3のいずれか1つ記載の通信方法。 - 前記データサイズの情報を前記第1の装置に送信する処理において、
受信に成功したデータのデータサイズのうち最大のデータサイズを特定し、特定した当該最大のデータサイズの情報を前記第1の装置に送信する、
請求項1乃至4のいずれか1つ記載の通信方法。 - 前記第2の装置から受信した前記データサイズの情報に基づき選択したデータサイズで前記第2の装置にデータを送信する処理において、
前記第1の装置が前記第2の装置に送信すべきデータを有していない場合、当該データを有する装置から当該データを取得する、
請求項1乃至5のいずれか1つ記載の通信方法。 - 複数のデータサイズで他の通信装置にデータを送信する送信部と、
前記複数のデータサイズのうち特定のデータサイズでの送信に対する応答を前記他の通信装置から受信した場合、前記特定のデータサイズに基づき、前記他の通信装置にデータを送信する場合のデータサイズを決定する決定部と、
を有する通信装置。 - コンピュータに、
複数のデータサイズで他の通信装置にデータを送信し、
前記複数のデータサイズのうち特定のデータサイズでの送信に対する応答を前記他の通信装置から受信した場合、前記特定のデータサイズに基づき、前記他の通信装置にデータを送信する場合のデータサイズを決定する、
処理を実行させる通信プログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016246312A JP2018101878A (ja) | 2016-12-20 | 2016-12-20 | 通信方法、通信装置および通信プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016246312A JP2018101878A (ja) | 2016-12-20 | 2016-12-20 | 通信方法、通信装置および通信プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2018101878A true JP2018101878A (ja) | 2018-06-28 |
Family
ID=62714525
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016246312A Pending JP2018101878A (ja) | 2016-12-20 | 2016-12-20 | 通信方法、通信装置および通信プログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2018101878A (ja) |
-
2016
- 2016-12-20 JP JP2016246312A patent/JP2018101878A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20230370385A1 (en) | Systems and methods for managing streams of packets via intermediary devices | |
| US8898311B2 (en) | Data communication method and information processing device | |
| US9442812B2 (en) | Priming failover of stateful offload adapters | |
| JP3382953B2 (ja) | 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置 | |
| KR100992282B1 (ko) | 통신 접속 수립 방법과 시스템, 데이터 전송 방법과 시스템, 및 컴퓨터 판독 가능한 저장 매체 | |
| JP4606249B2 (ja) | 情報処理方法及びルータ | |
| JP4886685B2 (ja) | ネットワーク・プロトコル処理のオフロードにおいてメモリ管理をサポートする装置および方法 | |
| US20150341425A1 (en) | Managing access to digital content sources | |
| JP5804189B2 (ja) | 情報処理システム,情報処理方法,プログラム | |
| US11190456B2 (en) | Real-time adjustment of packet size limit in virtual networks | |
| US10216593B2 (en) | Distributed processing system for use in application migration | |
| JP4726498B2 (ja) | 情報処理方法及びルータ | |
| WO2017198108A1 (zh) | 一种处理分片报文的方法及装置 | |
| US10944631B1 (en) | Network request and file transfer prioritization based on traffic elasticity | |
| US20240106761A1 (en) | Adaptive scaling of buffers for communication sessions | |
| CN111404842A (zh) | 数据传输方法、装置及计算机存储介质 | |
| JP2008250669A (ja) | ウェブ監視制御システム、ウェブサーバ制御装置およびウェブサーバ制御プログラム | |
| JP5120471B2 (ja) | 情報処理方法及びルータ | |
| JP2018101878A (ja) | 通信方法、通信装置および通信プログラム | |
| WO2018181956A1 (ja) | 仮想ネットワーク機能の制御方法、仮想ネットワーク機能管理装置及び仮想ネットワーク提供システム | |
| WO2017071430A1 (zh) | 处理报文的方法、网卡及系统、更新信息的方法及主机 | |
| WO2024156226A1 (zh) | 报文传输方法、装置及系统 | |
| WO2024109810A1 (zh) | 虚拟桌面性能探测方法、装置、设备及存储介质和程序 | |
| CN112866133B (zh) | 用于获取共用最大分段大小mss的方法及装置 | |
| JP2007272540A (ja) | データ配信方法及びデータ配信システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190910 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200814 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200825 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210316 |