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

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

Info

Publication number
JP2017143392A
JP2017143392A JP2016023088A JP2016023088A JP2017143392A JP 2017143392 A JP2017143392 A JP 2017143392A JP 2016023088 A JP2016023088 A JP 2016023088A JP 2016023088 A JP2016023088 A JP 2016023088A JP 2017143392 A JP2017143392 A JP 2017143392A
Authority
JP
Japan
Prior art keywords
communication device
data
throughput
side communication
load
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
Application number
JP2016023088A
Other languages
English (en)
Inventor
亮一 武藤
Ryoichi Muto
亮一 武藤
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 JP2016023088A priority Critical patent/JP2017143392A/ja
Priority to US15/360,282 priority patent/US20170230268A1/en
Priority to EP16201381.7A priority patent/EP3206343A1/en
Publication of JP2017143392A publication Critical patent/JP2017143392A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)

Abstract

【課題】通信装置の負荷を考慮してスループットを向上可能な通信制御プログラム、方法及び装置を提供する。
【解決手段】測定データ生成部18は性能特性測定用データを生成し、負荷発生部22はCPU(Central Processing Unit)負荷を発生する。最適化送信処理部13は送信データの最適化処理を行い、最適化受信処理部16は最適化データを復元する。受信スループット測定部17は処理速度を測定し、性能測定部21は送受信データのスループットを測定し、回線速度測定部20は回線速度を測定する。記憶部23はCPU負荷と回線速度と最適化性能を示す情報との関係を示す性能特性テーブルを記憶する。テーブル処理部14は各種テーブルの更新を行う。判定部15はCPU負荷を示す負荷情報と回線速度測定部20が測定した回線速度と記憶部23に記憶された性能特性テーブルとに基づいて送信データを最適化するかを判定する。
【選択図】図2

Description

本発明は、通信制御プログラム、通信制御方法および通信装置に関する。
ネットワーク(例えば、Wide Area Network(WAN)等)の通信高速化を図る各種の技術が用いられている。例えば、WAN環境における通信の高速化を図るWAN高速化技術が用いられている。
WAN高速化技術は、送信されるデータに対して重複除去や圧縮等の最適化を行う技術である。送信されるデータが最適化されることで、通信回線のトラフィックの増大が抑制され、データ通信を行う際のスループットが向上する。
関連する技術として、送信元と送信先の通信装置で輻輳制御機能の切り替えを行う際に、パラメータの引継ぎを行う技術が提案されている(例えば、特許文献1を参照)。また、Central Processing Unit(CPU)の使用率およびバッファの使用率に基づいて負荷状態を判定する技術が提案されている(例えば、特許文献2を参照)。
また、優先度の低いマスターデバイスにのみ帯域制限の指示がされることで、マスターデバイス側で優先度の判定を行わないようにする技術が提案されている(例えば、特許文献3を参照)。
また、サービスにインパクトを与えることなく、複数レイヤに跨って、その時々に応じてネットワークの最適化を行う技術が提案されている(例えば、特許文献4を参照)。また、ネットワーク内の幾つかのプロトコルレイヤの機能を真にレイヤ間で統合する技術が提案されている(例えば、特許文献5を参照)。
また、プロトコルおよびアプリケーションサービスの優先度に応じて、コネクション指向の通信であるか否かに関わりなく、それぞれが用いる帯域を確保する技術が提案されている(例えば、特許文献6を参照)。
米国特許出願公開第2012−0213069号明細書 特開2011−166636号公報 特開2010−218351号公報 特開2012−119999号公報 特表2005−518717号公報 特開2002−044136号公報
送信されるデータに最適化を行う処理を通信装置が実行するアプリケーションプログラムにより実現する場合、最適化処理による負荷が通信装置に生じる。通信装置の負荷は動的に変化するため、該通信装置の負荷が高くなる場合がある。
通信装置の負荷が高くなると、送信されるデータに対する最適化の処理に割り当てられる通信装置のハードウェアリソースが少なくなり、最適化の処理時間が長くなる。このため、却って、スループットが低下するという知見を発明者は得た。
1つの側面として、本発明は、通信装置の負荷を考慮してスループットを向上させることを目的とする。
1つの態様では、通信装置は、送信先にデータを送信する際に、該送信先との間の回線速度と該送信先の負荷情報と該回線速度および該負荷情報に応じた前記データに対する最適化性能とに基づいて、前記送信先に送信されるデータを最適化するか否かを判定する判定部、を含む。
1つの側面によれば、通信装置の負荷を考慮してスループットを向上させることができる。
実施形態のシステムの一例を示す図である。 通信装置の一例を示す機能ブロック図である。 送信側および受信側の通信装置の一例を示す機能ブロック図である。 回線速度とスループットとの関係の一例を示すグラフ(その1)である。 回線速度とスループットとの関係の一例を示すグラフ(その2)である。 性能特性テーブルの一例を示す図である。 記憶部に記憶される受信側通信装置のCPU負荷の一例を示す図である。 送信されるデータの一例を示す図である。 実施形態の処理の一例を示すフローチャート(その1)である。 実施形態の処理の一例を示すフローチャート(その2)である。 実施形態の性能特性テーブル生成処理の一例を示すシーケンスチャートである。 応用例1を示す図である。 応用例1の負荷テーブルの一例を示す図である。 応用例1の処理の流れの一例を示すフローチャート(その1)である。 応用例1の処理の流れの一例を示すフローチャート(その2)である。 応用例1の負荷テーブル生成処理の一例を示すシーケンスチャートである。 応用例2を示す図である 応用例2の性能特性テーブルの一例を示す図である。 応用例2の負荷テーブルの一例を示す図である。 応用例2の処理の流れの一例を示すフローチャートである。 応用例2の性能特性テーブル生成処理の一例を示すシーケンスチャートである。 応用例2の負荷テーブル生成処理の一例を示すシーケンスチャートである。 通信装置のハードウェア構成の一例を示す図である。
<実施形態のシステムの一例>
以下、図面を参照して、実施形態について説明する。図1は、実施形態のシステム1の一例を示す。システム1において、送信側通信装置2Sと受信側通信装置2RとはWAN3を介して通信可能に接続される。
以下、送信側通信装置2Sおよび受信側通信装置2Rを総称して通信装置2と称することがある。実施形態では、通信装置2同士が、WAN3を介して、通信を行うケースを想定する。データを送信する通信装置2が送信側通信装置2Sであり、データを受信する通信装置2が受信側通信装置2Rである。
送信側通信装置2Sは複数であってもよく、受信側通信装置2Rも複数であってもよい。また、通信を行うためのネットワークはWANには限定されない。例えば、該ネットワークは、Local Area Network(LAN)等であってもよい。
通信装置2は、アプリケーションプログラム(以下、単にアプリケーションと称する)を実行する。アプリケーション(図1では、アプリと表記)は、通信装置2とは異なる端末が実行してもよい。この場合、アプリケーションを実行する端末と通信装置2とが接続される。
通信装置2は、例えば、WAN高速化装置(WAN Optimization Controller(WOC))であってもよい。WAN高速化装置は、ネットワークの両端に設置され、Transmission Control Protocol(TCP)を高速プロトコルに置き換えることで、トランスポートレイヤの通信を高速化する。
通信装置2は、該通信装置2から送信されるデータに対して最適化を行う機能を含む。送信されるデータが最適化されることで、WAN3の通信回線を流れるトラフィックが抑制され、該通信回線の品質が低くても、スループット(通信性能)が向上する場合がある。
一方、送信されるデータに対して最適化処理が行われることで、却ってスループットが低下する場合もある。通信装置2は、ソフトウェア処理により、データの最適化を行う。例えば、通信装置2のCPU負荷が高い場合、データを最適化する時間が長くなる。この場合、データに対して最適化処理が行われると、却ってスループットは低下する。
実施形態では、送信側通信装置2Sは、データの送信先(受信側通信装置2R)のCPU負荷と通信回線の回線速度とに応じた最適化性能に基づいて、送信されるデータを最適化するか否かを制御する。
実施形態における通信装置2の負荷は、CPUの負荷だけではなく、例えば、主記憶装置や補助記憶装置の負荷の場合もある。主記憶装置や補助記憶装置の負荷が高い場合も、送信されるデータに対する最適化処理の時間が長くなり、スループットは低下する。
<通信装置の一例>
次に、通信装置2の一例について説明する。図2は、通信装置2の一例を示す。図2の例に示す通信装置2は、送信側通信装置2Sと受信側通信装置2Rとの両方の機能を含む。通信装置2は、送信側通信装置2Sにも、受信側通信装置2Rにもなり得るためである。
データを送信する通信装置2は送信側通信装置2Sであり、データを受信する通信装置2は受信側通信装置2Rである。送信側通信装置2Sを基準とした場合、送信先装置は受信側通信装置2Rである。
通信装置2は、アプリケーション機能部11と制御部12と最適化送信処理部13とテーブル処理部14と判定部15と最適化受信処理部16と受信スループット測定部17と測定データ生成部18と送信レート制御部19とを含む。また、通信装置2は、回線速度測定部20と性能測定部21と負荷発生部22と記憶部23と通信部24とを含む。
アプリケーション機能部11は、上述したアプリケーションとして機能する。該アプリケーションは、例えば、TCPアプリケーションであってもよい。上述したように、通信装置2とは異なる端末がアプリケーションを実行する場合、通信装置2にはアプリケーション機能部11は含まれない。
制御部12は、通信装置2の各種の制御を行う。最適化送信処理部13は、送信されるデータに対して最適化処理を行う。最適化送信処理部13は、例えば、重複除去や圧縮等の最適化を、送信されるデータに対して行ってもよい。
重複除去は、1回目の通信により得られたデータをキャッシュ等に記憶し、該データの2回目以降の通信からは、インデックスのみを通知する最適化である。通信装置2は、通知されたインデックスに基づいて、データをキャッシュ等から取得する。これにより、送信されるデータの情報量が少なくなる。
また、圧縮はデータの情報量を適宜の手法を用いて少なくする最適化である。この場合、受信側通信装置2Rは、圧縮されたデータを復元する。
テーブル処理部14は、記憶部23に記憶された各種テーブルの更新等の処理を行う。記憶部23には、受信側通信装置2RのCPU負荷と、回線速度と、最適化性能を示す情報との関係を示す性能特性テーブルが記憶される。
回線速度は、送信側通信装置2Sと受信側通信装置2Rとの間の通信回線の回線速度である。回線速度は、送信側通信装置2Sと受信側通信装置2Rとの間の使用可能な帯域である。
回線速度は、送信側通信装置2Sから受信側通信装置2Rに向けた通信の回線速度と、受信側通信装置2Rから送信側通信装置2Sに向けた通信の回線の回線速度とがある。性能特性テーブルの回線速度は、送信側通信装置2Sから受信側通信装置2Rに向けた通信の回線速度である。
最適化性能を示す情報は、データを最適化した場合のスループットと最適化しない場合のスループットとを示す情報である。
以下、データを最適化した場合のスループットをオンスループットと称し、データを最適化しない場合のスループットをオフスループットと称することがある。オンスループットは、第1スループットの一例であり、オフスループットは第2スループットの一例である。
判定部15は、受信側通信装置2RのCPU負荷を示す負荷情報と、回線速度測定部20が測定した回線速度と、記憶部23に記憶された性能特性テーブルとに基づいて、送信するデータを最適化するかを判定する。性能特性テーブルは、第1テーブルの一例である。
最適化受信処理部16は、通信部24が最適化されたデータを受信した場合、該最適化されたデータを復元する処理を行う。例えば、最適化受信処理部16は、重複除去や圧縮等がされたデータを復元する処理を行う。
受信スループット測定部17は、最適化受信処理部16が行う受信処理(復元処理を含む)の速度を測定する。測定された速度は、最適化された通信部24が受信し、最適化受信処理部16が受信処理した速度であるため、該速度は、オンスループットを示す。
測定データ生成部18は、測定用のデータを生成する。実施形態では、該測定用のデータをダミーパケットと称する。生成されたダミーパケットは、送信側通信装置2Sから受信側通信装置2Rに送信される。実施形態におけるダミーパケットは、性能特性テーブルを生成するためのデータであり、第1測定データの一例である。
送信レート制御部19は、通信装置から送信されるダミーパケットの送信レートを変化させる制御を行う。回線速度測定部20は、通信装置2に接続される通信回線の回線速度を測定する。
性能測定部21は、送信側通信装置2Sから受信側通信装置2Rに送信されるデータの通信性能(スループット)を測定する。受信側通信装置2Rの性能測定部21は、最適化受信処理部16により受信処理されたデータのスループットを測定する。
負荷発生部22は、通信装置2のCPUに負荷を発生させる。例えば、負荷発生部22は、通信装置2に任意のプログラムを実行させることで、該通信装置2に負荷を発生させてもよい。
負荷発生部22は任意のCPU負荷を通信装置2に発生させる。実施形態では、CPU負荷はパーセンテージで表される。例えば、CPU負荷が「100%」の場合、通信装置2のCPUの負荷は最大になる。
記憶部23は、各種のテーブルを記憶する。記憶部23に記憶されたテーブルは、テーブル処理部14により更新される。通信部24は、他の通信装置2と通信を行う。
図3は、図2の例で示した通信装置2を、送信側通信装置2Sと受信側通信装置2Rとに分けた場合の一例を示す。図3の例において、送信側通信装置2Sおよび受信側通信装置2Rの各部のうち、共通の機能については、送信側に「S」が付され、受信側に「R」が付されて表記する。
図3の例に示されるように、送信側通信装置2Sは、最適化送信処理部13とテーブル処理部14と判定部15と測定データ生成部18と送信レート制御部19と記憶部23とを含む。
受信側通信装置2Rは、回線速度測定部20と性能測定部21と負荷発生部22とを含む。アプリケーション機能部11と制御部12と最適化受信処理部16と通信部24とは、送信側通信装置2Sおよび受信側通信装置2Rの両者に含まれる。
<最適化を行うか否かの判定の一例>
図4は、回線速度と受信側通信装置2Rの性能測定部21が測定するスループットとの関係の一例を示すグラフである。実線は、データを最適化した場合の回線速度とスループットとの関係を示し、一点鎖線は、データを最適化しない場合の回線速度とスループットとの関係を示す。
図4の例に示されるように、回線速度が高速になるに応じて、データを最適化した場合のスループットは高くなり、該スループットの値(最大値)は一定になる。ただし、CPU負荷が低い場合におけるスループットの最大値は、該CPUが高い場合におけるスループットの最大値よりも高くなる。
受信側通信装置2RのCPU負荷は動的に変化する。例えば、アプリケーション機能部11Rの実行状況等により、受信側通信装置2RのCPU負荷は動的に変化する。
受信側通信装置2RのCPU負荷が低い場合、最適化されたデータを復元するための処理に、多くのCPUリソースを割り当てることができる。この場合、受信側通信装置2Rの最適化受信処理部16Rにおける復元処理の処理速度が高速になり、性能測定部21が測定するスループットは高くなる。
一方、受信側通信装置2RのCPU負荷が高い場合、最適化されたデータを復元するための処理に割り当てられるCPUリソースは少なくなる。この場合、受信側通信装置2Rの最適化受信処理部16Rにおける復元処理の処理速度が低速になり、性能測定部21が測定するスループットは低くなる。
データの最適化が行われない場合、回線速度が高速になるに応じて、スループットは高くなる。そして、データの最適化が行われない場合のスループット(オフスループット)が、データの最適化が行われた場合のスループット(オンスループット)よりも高くなる逆転現象が生じる。
この逆転現象が生じるポイントをクロスポイントと称する。図4の例に示されるように、クロスポイントは、受信側通信装置2RのCPU負荷が高い場合と低い場合とでは異なる。
図5は、受信側通信装置2RのCPU負荷が高い場合のグラフの一例を示す。クロスポイントに回線速度が達するまではデータの最適化が行われた方が、スループットは高い。また、回線速度がクロスポイントに達した後は、データの最適化が行われない方がスループットは高い。
従って、回線速度がクロスポイントに達するまではデータの最適化が行われ、回線速度がクロスポイントに達した後は、データの最適化が行われることが好ましい。ただし、上述したように、受信側通信装置2RのCPU負荷は動的に変化するため、クロスポイントも動的に変化する。
受信側通信装置2RのCPU負荷が考慮されることなく、最適化処理を行うか否かの判定が行われると、CPU負荷の変化によりクロスポイントも変化することから、送信されるデータに最適化が行われるかを適切に判定することが難しくなる。その結果、スループットが低下することがある。
そこで、送信側通信装置2Sの判定部15は、受信側通信装置2RのCPU負荷を示す負荷情報および回線速度測定部20が測定した回線速度を示す回線速度情報を受信側通信装置2Rから取得する。
送信側通信装置2Sの判定部15は、取得された負荷情報と回線速度情報とに応じた最適化性能(オンスループットおよびオフスループットを示す情報)を記憶部23に記憶された性能特性テーブルから取得する。そして、判定部15は、取得された最適化性能に基づいて、最適化を行うか否かを判定する。
<性能特性テーブルの一例>
次に、図6を参照して、性能特性テーブルの一例について説明する。性能特性テーブルは、記憶部23に記憶される。図6の例に示されるように、性能特性テーブルは、回線速度と受信側CPU負荷とオフスループットとオンスループットとの項目を含む。
図6の例において、オフスループットは「OFFスループット」と表記され、オンスループットは「ONスループット」と表記される。
実施形態では、測定データ生成部18が生成したダミーパケットを送信側通信装置2Sの通信部24Sが、受信側通信装置2Rに送信する。この際、送信レート制御部19は、ダミーパケットの送信レートを変化させる。
また、制御部12Sは、受信側通信装置2RのCPU負荷を変化させる通知を該受信側通信装置2Rに対して行う。この通知に基づいて、受信側通信装置2Rの負荷発生部22は、該受信側通信装置2Rに与える負荷を変化させる。
従って、送信側通信装置2Sは、送信レートおよび受信側通信装置2RのCPU負荷を変化させながら、ダミーパケットを受信側通信装置2Rに送信する。この際、送信側通信装置2Sは、最適化送信処理部13により最適化されたダミーパケットと最適化がされていないダミーパケットとの2種類のパケットを送信する。
受信側通信装置2Rにおいて、最適化されたダミーパケットは、最適化受信処理部16Rにより復元される。性能測定部21は、復元処理の速度に基づいて、オフスループットを測定する。
一方、ダミーパケットが最適化されていない場合、性能測定部21は、通信部24Rがダミーパケットを受信する速度に基づいて、スループットを測定する。これにより、上記の2種類のスループットが測定される。
例えば、図6の例において、送信レート制御部19は、ダミーパケットが5Mpsで送信されるように制御する。これにより、回線速度が5Mbpsに模擬される。この条件下で、送信側通信装置2Sは、受信側通信装置2RのCPU負荷を変化させる。
例えば、図6の例では、送信側通信装置2Sは、受信側通信装置2RのCPU負荷を、5%、20%、40%、60%、80%および100%に変化させる。そして、各条件下で、性能測定部21は、オンスループットおよびオフスループットを測定する。
測定されたオンスループットおよびオフスループットを示す最適化性能の情報は、受信側通信装置2Rから送信側通信装置2Sに送信される。送信側通信装置2Sのテーブル処理部14は、記憶部23に記憶された性能特性テーブルに、受信した最適化性能の情報を格納する。
図6の例の場合、送信レート制御部19は、ダミーパケットが10Mbps、50Mbps、100Mbpsで送信されるように制御する。この場合、100Mbpsは、送信レートの最大値であり、回線速度の最大値でもある。
そして、上述した処理が繰り返されることで、図6の例に示す性能特性テーブルの各項目に値が格納される。性能特性テーブルのうち、オフスループットおよびオンスループットの情報が最適化性能を示す。
図6の例において、回線速度が50Mbps、受信側CPU負荷が80%の時点が、上述したクロスポイントとなる。図6の性能特性テーブルの例において、クロスポイントに網掛けが施されている。
つまり、クロスポイントに達するまではオフスループットよりもオンスループットが高いが、クロスポイントからはオンスループットよりもオフスループットが高い。従って、クロスポイントにおいて、上述した逆転現象が生じる。
判定部15は、送信側通信装置2Sと受信側通信装置2Rとの間の通信回線の回線速度と受信側通信装置2RのCPU負荷とに応じた最適化性能に基づいて、最適化を行うかを判定する。
上記の回線速度は、WAN3の回線速度であり、受信側通信装置2Rの回線速度測定部20が測定する回線速度である。従って、該回線速度は、送信側通信装置2Sから受信側通信装置2Rに向けた通信の回線速度である。送信側通信装置2Sは、受信側通信装置2Rから、回線速度の情報およびCPU負荷を示す負荷情報を取得する。
例えば、取得された回線速度の情報が50Mbpsであり、且つ取得された負荷情報が60%の場合、回線速度とCPU負荷とに応じた最適化性能は、オフスループットよりもオンスループットが高いことを示す。
この場合、受信側通信装置2Rに送信されるデータを最適化した方がスループットは高いため、判定部15は該データを最適化すると判定する。このため、最適化送信処理部13は、データを送信されるデータを最適化する。
例えば、取得された回線速度の情報が50Mbpsであり、且つ取得された負荷情報が80%の場合、回線速度とCPU負荷とに応じた最適化性能は、オンスループットよりもオフスループットが高いことを示す。
この場合、判定部15は、受信側通信装置2Rに送信されるデータを最適化しない方がスループットは高いため、該データを最適化しないと判定する。このため、送信されるデータは、最適化送信処理部13による最適化処理を受けることなく、通信部24Sから受信側通信装置2Rに送信される。
性能特性テーブルにおける回線速度の値は、図6の例に示される値には限定されない。また、性能特性テーブルにおける受信側CPU負荷の値も、図6の例には限定されない。性能測定テーブルにおける回線速度および受信側CPU負荷の粒度は、図6の例より細かくてもよいし、粗くてもよい。
<通知される負荷情報の一例>
実施形態では、受信側通信装置2Rの制御部12Rは、該受信側通信装置2RのCPU負荷を示す負荷情報を定期的に送信側通信装置2Sに送信する制御を行う。送信側通信装置2Sが受信側通信装置2Rから負荷情報を受信した場合、テーブル処理部14は、受信した負荷情報を記憶部23に記憶する。
図7は、記憶部23に記憶される受信側通信装置2RのCPU負荷の一例を示す。テーブル処理部14は、受信側通信装置2Rから負荷情報を受信するごとに、記憶部23に記憶されるCPU負荷の情報を更新する。
<送信されるデータの一例>
図8は、送信されるデータの一例を示す。このデータは、パケットであり、ダミーパケットにも適用される。図8の例のデータ(パケット)は、データ部分とデータ最適化ヘッダとTCPとInternet Protocol(IP)との情報を含む。
データ最適化ヘッダには、データ識別フラグが含まれており、該データ識別フラグにより、データが最適化されているか否か、および最適化されている場合には、最適化の種類を特定する情報が含まれる。
受信側通信装置2Rの最適化受信処理部16Rは、データ識別フラグに基づいて、データが最適化されているか否か、および最適化の種類を認識する。そして、データが最適化されている場合、最適化受信処理部16Rは、最適化の種類に応じた復元処理を行う。
データが最適化されているか否かを特定する手法、および最適化の種類を特定する手法は、上述した例には限定されない。
<実施形態の処理の流れの一例を示すフローチャート>
次に、図9および図10に示されるフローチャートの一例を参照して、実施形態の全体の処理の流れについて説明する。図9は、送信側通信装置2Sが行う全体の処理の流れの一例を示す。
送信側通信装置2Sは、受信側通信装置2Rから回線速度情報を取得する(ステップS1)。該回線速度情報は、送信側通信装置2Sから受信側通信装置2Rに向けた通信の回線速度を示す情報であり、受信側通信装置2Rの回線速度測定部20が測定した回線速度の情報である。
送信側通信装置2Sは、性能特性テーブルを生成する処理を行う(ステップS2)。上述したように、送信側通信装置2Sは、ダミーパケットの送信レートを変化させ、且つ受信側通信装置2RのCPU負荷を変化させる。
性能特性テーブル生成処理において、送信レートが変化される。送信レート制御部19は、ステップS1で取得された回線速度情報が示す回線速度を最大値として、ダミーパケットの送信レートを変化させる。
送信側通信装置2Sは、受信側通信装置2Rから、性能測定部21により測定されたオンスループットおよびオフスループット(最適化性能)の情報を取得する。送信側通信装置2Sのテーブル処理部14は、取得された最適化性能の情報が示すオンスループットおよびスループットの値を、記憶部23に記憶された性能特性テーブルに格納する。
ステップS1およびステップS2の処理は、アプリケーション機能部11Sによる通信が開始される前に行われる処理である。ステップS2の処理の後、アプリケーション機能部11Sによる通信が開始される(ステップS3)。
送信側通信装置2Sのアプリケーション機能部11Sは、受信側通信装置2Rのアプリケーション機能部11Rと通信を行う。ステップS1およびステップS2の処理は、送信側通信装置2Sの起動時に行われてもよい。
アプリケーション機能部11Sから、アプリケーション機能部11Rに送信されるデータが読み込まれる(ステップS4)。例えば、該データは、ブロック単位のデータであってもよい。
制御部12Sは、通信部24Sが受信側通信装置2Rから負荷情報を受信したかを判定する(ステップS5)。上述したように、受信側通信装置2Rは、送信側通信装置2Sに定期的に負荷情報を通知する。
負荷情報を受信したと判定された場合(ステップS5でYES)、制御部12Sは、受信した負荷情報を記憶部23に記憶する。これにより、記憶部23に記憶された負荷情報は更新される。負荷情報を受信したと判定されない場合(ステップS5でNO)、制御部12Sは、負荷情報を更新しない。
判定部15は、記憶部23に記憶された負荷情報を取得する。この負荷情報は、受信側通信装置2Rの直近のCPU負荷を示す情報である。
制御部12Sは、受信側通信装置2Rの回線速度測定部20に回線速度を測定させ、測定された回線速度を示す回線速度情報を取得する制御を行う(ステップS8)。これにより、判定部15は、受信側通信装置2RのCPU負荷を取得する。
判定部15は、取得された回線速度およびCPU負荷の情報に対応する最適化性能を、記憶部23に記憶された性能特性テーブルから検索する。最適化性能は、オンスループットおよびオフスループットを示す情報である。
判定部15は、上記検索の結果得られた最適化性能に基づいて、オンスループットとオフスループットとのうち何れが高いかを判定する(ステップS10)。
オンスループットよりオフスループットが高い場合(ステップS10でYES)、通信部24Sは、最適化送信処理部13により最適化されたデータを送信する(ステップS11)。オンスループットがオフスループット以下の場合(ステップS10でNO)、通信部24Sは、最適化することなくデータを送信する(ステップS12)。
制御部12Sは、アプリケーション機能部11Sによるデータ通信が終了したかを判定する(ステップS13)。データ通信が終了していないと判定された場合(ステップS13でNO)、処理はステップS4に戻る。データ通信が終了したと判定された場合(ステップS13でYES)、処理は終了する。
図10は、受信側通信装置2Rが行う全体の処理の流れの一例を示す。上述したステップS1において、送信側通信装置2Sは、受信側通信装置2Rから回線速度情報を取得する。
このため、回線速度測定部20は、送信側通信装置2Sから受信側通信装置2Rに向けた通信の回線速度を測定する(ステップS21)。例えば、回線速度測定部20は、バースト送信されたダミーパケットの受信レートを回線速度として測定してもよい。
受信側通信装置2Rは、測定された回線速度を示す回線速度情報を送信側通信装置2Sに送信する(ステップS22)。
受信側通信装置2Rは、性能特性テーブルを生成するための処理を行う(ステップS23)。上述したように、受信側通信装置2Rは、送信側通信装置2Sの制御に基づいて、回線速度を測定し、測定された回線速度を示す回線速度情報およびCPU負荷を示す負荷情報を送信側通信装置2Sに送信する。
送信側通信装置2Sのアプリケーション機能部11Sと受信側通信装置2Rのアプリケーション機能部11Rとの間で通信が開始される(ステップS24)。通信部24Rが、送信側通信装置2Sからデータ(パケット)を受信すると、最適化受信処理部16Rは、受信したパケットのヘッダを抽出する。
例えば、パケットに含まれるデータ最適化ヘッダに最適化処理がされていることを示す場合、最適化受信処理部16Rは、復元処理を行う(ステップS25)。例えば、データ最適化ヘッダが、圧縮済みであることを示す場合、最適化受信処理部16Rは、圧縮されたデータを解凍することで、復元処理を行う。
パケットに含まれるデータ最適化ヘッダに最適化処理がされていることを示さない場合、該パケットに対する復元処理は行われない。
上述したように、受信側通信装置2Rは、該受信側通信装置2RのCPU負荷を示す負荷情報を定期的に送信側通信装置2Sに送信する(ステップS26)。これにより、送信側通信装置2Sの記憶部23には、受信側通信装置2Rの直近のCPU負荷を示す負荷情報が記憶される。
制御部12Rは、アプリケーション機能部11Sとアプリケーション機能部11Rとによる通信が終了したかを判定する(ステップS27)。通信が終了していない場合(ステップS27でNO)、処理はステップS25に戻る。通信が終了した場合(ステップS27でYES)、処理は終了する。
従って、判定部15は、記憶部23に記憶された最適化性能のうち、回線速度と受信側通信装置2RのCPU負荷とに応じた最適化性能に応じて、送信されるデータを最適化するか否かを判定する。
これにより、送信先装置である受信側通信装置2RのCPU負荷が動的に変化したとしても、判定部15は、該CPU負荷を考慮して、送信されるデータを最適化するか否かを判定するため、最適化するか否かの判定を適正に行うことができる。
<性能特性テーブル生成処理の流れの一例を示すシーケンスチャート>
図11は、性能特性テーブル生成処理の一例を示すシーケンスチャートである。図11に示される性能特性テーブル生成処理は、上述したステップS2(送信側)およびステップS23(受信側)の両者の処理を含む。
「送信側」は、送信側通信装置2Sを示し、「受信側」は、受信側通信装置2Rを示す。送信レート制御部19は、ダミーパケットの送信レートを変化させる制御を行う。このため、送信レート制御部19は、ステップSC1〜ステップSC17のループ処理を繰り返す。
例えば、上述したように、送信レート制御部19は、ダミーパケットの送信レートを、5Mbps、10Mbps、50Mbpsおよび100Mbpsに変化させながら、ステップSC1〜SC17の処理を繰り返してもよい。
制御部12Sは、受信側通信装置2RのCPU負荷を変化させる制御を行う。このため、制御部12Sは、ステップSC2〜SC16のループ処理を繰り返す。例えば、上述したように、制御部12Sは、受信側通信装置2Rに発生させるCPU負荷を5%、20%、40%、60%、80%および100%に変化させる。
制御部12Sは、受信側通信装置2Rの負荷発生部22に発生させるCPU負荷の値を通知する(ステップSC3)。受信側通信装置2Rが該通知を受信すると、負荷発生部22は、通知された負荷を受信側通信装置2RのCPUに発生させる(ステップSC4)。
最適化送信処理部13は、測定データ生成部18が生成したダミーパケットを最適化し、通信部24Sは、該最適化されたダミーパケットを送信する(ステップSC5)。通信部24Rは、最適化されたダミーパケットを受信する(ステップSC6)。
該最適化されたダミーパケットは、最適化受信処理部16Rにより復元処理がされる。性能測定部21は、最適化受信処理部16Rによる復元処理の速度に基づいて、オンスループットを測定する(ステップSC7)。
受信側通信装置2Rは、送信側通信装置2Sに対して、測定されたオンスループットの情報を送信側通信装置2Sに通知する(ステップSC8)。送信側通信装置2Sは、オンスループットの情報を取得する(ステップSC9)。
制御部12Sは、測定データ生成部18が生成したダミーパケットを最適化することなく受信側通信装置2Rに送信する制御を行う。これにより、最適化されていないダミーパケットが受信側通信装置2Rに送信される(ステップSC10)。
受信側通信装置2Rの通信部24Rは、最適化されていないダミーパケットを受信する(ステップSC11)。性能測定部21は、通信部24Rが受信したダミーパケットの速度に基づいて、オフスループットを測定する(ステップSC12)。
受信側通信装置2Rは、送信側通信装置2Sに対して、測定されたオフスループットの情報を送信側通信装置2Sに通知する(ステップSC13)。送信側通信装置2Sは、オフスループットの情報を取得する(ステップSC14)。
これにより、送信レート制御部19により制御された送信レートおよび負荷発生部22に発生させた受信側通信装置2RのCPU負荷に応じた最適化性能(オンスループットおよびオフスループット)が得られる。
テーブル処理部14は、記憶部23に記憶された性能特性テーブルのうち、送信レートおよび受信側通信装置2RのCPU負荷に対応するオンスループットおよびオフスループットの項目に値を格納する(ステップSC15)。
送信側通信装置2Sは、送信レートを変化させながら、且つ受信側通信装置2RのCPU負荷を変化させながら、ステップSC3〜SC15の処理を行う。これにより、性能特性テーブルの各項目に値が格納される。
以上が、性能特性テーブル生成処理の一例である。上述したように、性能特性テーブル生成処理は、例えば、送信側通信装置2Sおよび受信側通信装置2Rの起動時に行われてもよい。
ここで、アプリケーション機能部11Sによる通信が開始されるまでに、性能特性テーブルの各項目に値が格納されていることが好ましい。このため、上述した例では、アプリケーション機能部11Sによる通信が開始される前に、性能特性テーブル生成処理が行われる。
ただし、アプリケーション機能部11Sによる通信が開始された後に、性能特性テーブルの各項目の値が格納されてもよい。
アプリケーション機能部11Sとアプリケーション機能部11Rとの間で行われる通信(送信側通信装置2Sと受信側通信装置2Rとの間で行われる通信)の送信レート、および受信側通信装置2RのCPU負荷は変化する。
性能測定部21は、アプリケーション機能部11Sとアプリケーション機能部11Rとの間で行われる通信のスループットを測定する。受信側通信装置2Rは、スループットおよび該スループットを測定した条件を、逐次、送信側通信装置2Sに通知する。
テーブル処理部14は、通知された情報を、記憶部23に記憶された性能特性テーブルに格納する。これにより、アプリケーション機能部11Sによる通信を行いながら、性能特性テーブルを生成することができる。
<応用例1>
次に、応用例1について説明する。図12は、応用例1を示す図である。上述した実施形態では、受信側通信装置2Rは、該受信側通信装置2RのCPU負荷を示す負荷情報を定期的に送信側通信装置2Sに通知する。
判定部15は、受信側通信装置2RのCPU負荷および送信レートに基づいて、送信されるデータを最適化するか否かを判定する。ここで、受信側通信装置2RのCPU負荷は刻々と変化するため、直近に通知された受信側通信装置2RのCPU負荷は、判定部15が判定を行う時点での受信側通信装置2RのCPU負荷と乖離している可能性がある。
この場合、判定部15は、送信されるデータを最適化するか否かを適正に判定することが難しい。判定部15が判定を行う際に、送信側通信装置2Sが受信側通信装置2Rから負荷情報を取得することが考えられるが、負荷情報を取得するまでにある程度の時間がかかる。
このため、送信側通信装置2Sは、受信側通信装置2RのリアルタイムなCPU負荷を示す負荷情報を取得することが難しい。その結果、判定部15は、送信されるデータを最適化するか否かを適正に判定することが難しい。
応用例1では、送信側通信装置2Sは、予め、各種の条件下で測定された受信側通信装置2RのCPU負荷を示す負荷テーブルを生成する。負荷テーブルは、第2テーブルの一例である。
判定部15は、負荷テーブルに基づいて、受信側通信装置2RのCPU負荷を予測し、送信されるデータを最適化するか否かを判定する。
従って、送信側通信装置2Sの判定部15は、受信側通信装置2Rから負荷情報を取得することなく、送信されるデータを最適化するか否かを判定する。これにより、判定部15は、送信されるデータを最適化するか否かをより適正に判定することができる。
図12の例において、送信側通信装置2Sの制御部12Sは、送信レートおよびCPU負荷を示す情報を受信側通信装置2Rに通知する制御を行う。この通知には、それぞれ異なる複数の送信レート、およびそれぞれ異なる複数のCPU負荷の情報が含まれる。
例えば、上記通知には、5Mbps、10Mbps、50Mbpsおよび100Mbpsを示す送信レートの情報が含まれる。また、上記通知には、受信側通信装置2Rに発生させるCPU負荷が5%、20%、40%、60%、80%および100%を示す情報が含まれる。
受信側通信装置2Rの最適化送信処理部13Rは、測定データ生成部18Rが生成したダミーパケットを最適化する。応用例1におけるダミーパケット(最適化されたダミーパケット)は負荷テーブルを生成するためのデータであり、第2測定データの一例である。
送信レート制御部19は、上記通知に基づいて、最適化されたダミーパケットの送信レートを変化させる。また、負荷発生部22は、上記通知に基づいて、受信側通信装置2RのCPU負荷を変化させる。
従って、受信側通信装置2Rから送信側通信装置2Sに対して、送信レートが変化されながら、且つ受信側通信装置2RのCPU負荷が変化されながら、最適化されたダミーパケットが送信される。
送信側通信装置2Sの通信部24Sは、最適化されたパケットを受信する。最適化受信処理部16Lは、復元処理を行う。受信スループット測定部17は、スループット(オンスループット)の測定を行う。テーブル処理部14は、測定結果に基づく値を、記憶部23に記憶された負荷テーブルに格納する。
図13は、負荷テーブルの一例を示す。負荷テーブルは、回線速度とオンスループットとCPU負荷とが対応付けられたテーブルである。
テーブル処理部14は、受信側通信装置2Rに通知した送信レートおよびCPU負荷と対応付けて、受信スループット測定部17が測定したオンスループットを負荷テーブルに格納する。
送信側通信装置2Sの通信部24Sが受信側通信装置2Rから最適化されたデータを受信した際、回線速度測定部20Sは、送信側通信装置2Sと受信側通信装置2Rとの間の通信回線の回線速度を測定する。回線速度測定部20Sが測定する回線速度は、受信側通信装置2Rから送信側通信装置2Sに向けた通信の回線速度である。
また、受信スループット測定部17は、最適化されたデータのオンスループットを測定する。制御部12Sは、測定された回線速度および測定されたオンスループットに基づいて、記憶部23に記憶された負荷テーブルを検索し、対応するCPU負荷を取得する。
これにより、送信側通信装置2Sは、CPU負荷の予測を行う。従って、送信側通信装置2Sは、受信側通信装置2RからCPU負荷を示す負荷情報を取得しなくとも、該受信側通信装置2RのCPU負荷を予測できる。
<応用例1の処理の流れを示すフローチャートの一例>
図14は、応用例1における送信側通信装置2Sの処理の流れの一例を示すフローチャートであり、図15は、応用例1における受信側通信装置2Rの処理の流れの一例を示すフローチャートである。
図14のフローチャートにおいて、図9のフローチャートで説明した処理と同様の処理の説明は省略する。図15のフローチャートにおいて、図10のフローチャートで説明した処理と同様の処理の説明は省略する。
図14のフローチャートに示されるように、送信側通信装置2Sは、送信側の負荷テーブル生成処理を行う(ステップS2−1)。これにより、記憶部23に記憶された負荷テーブルの各項目に値が格納される。
アプリケーション機能部11による通信が開始されると、送信側通信装置2Sと受信側通信装置2Rとの間で通信が行われる。送信側通信装置2Sの通信部24Sが最適化されたデータを受信した際、回線側測定部20Sは、回線速度(受信側通信装置2Rから送信側通信装置2Sに向けた通信の回線速度)を測定する(ステップS5−1)。
受信スループット測定部17は、オンスループット測定を行う(ステップS5−2)。制御部12Sは、測定された回線速度および測定されたオンスループットに対応する受信側通信装置2RのCPU負荷を、記憶部23に記憶された負荷テーブルから取得する。これにより、受信側通信装置2RのCPU負荷が予測される(ステップS5−3)。
図15のフローチャートに示されるように、受信側通信装置2Rの処理には、受信側の負荷テーブル生成処理(ステップS23−1)が追加されている。なお、応用例1における性能特性テーブル生成処理は、上述した実施形態と同様の処理であるため、説明を省略する。
<応用例1の負荷テーブル生成処理の一例を示すシーケンスチャート>
次に、図16の例を参照して、負荷テーブル生成処理の一例を示すシーケンスチャートについて説明する。送信側通信装置2Sは、ステップSC21〜ステップSC32の処理を繰り返す送信レート制御を行う。
制御部12Sは、ダミーパケットを送信する送信レートを示す送信レート情報を受信側通信装置2Rに通知する制御を行う(ステップSC22)。受信側通信装置2Rの通信部24Rは、この通知を受信する。
送信レート制御部19は、ダミーパケットを送信する送信レートを、通知された送信レート情報に基づいて設定する(ステップSC23)。送信レートの設定がされた後、ステップSC24〜ステップSC31の受信側CPU負荷制御の処理が繰り返し行われる。
制御部12Sは、受信側通信装置2Rに発生させるCPU負荷を通知する(ステップSC25)。負荷発生部22は、通知されたCPU負荷に基づいて、受信側通信装置2RにCPU負荷を発生させる(ステップSC26)。
最適化送信処理部13Rは、測定データ生成部18Rが生成したダミーパケットを最適化する。通信部24Rは、送信レート制御部19により設定された送信レートで最適化されたダミーパケットを送信側通信装置2Sに送信する(ステップSC27)。
送信側通信装置2Sの通信部24Sは、最適化されたダミーパケットを受信する(ステップSC28)。そして、最適化受信処理部16Lは、最適化されたダミーパケットに対して復元処理を行い、受信スループット測定部17は、オンスループット測定を行う(ステップSC29)。
テーブル処理部14は、受信側通信装置2Rに通知した送信レートおよびCPU負荷に対応付けて、測定されたオンスループットを負荷テーブルに格納する(ステップSC30)。制御部12Sは、受信側通信装置2Rに発生させるCPU負荷を変化させながら、ステップSC24〜ステップSC31の処理を繰り返す。
また、制御部12Sは、受信側通信装置2Rから送信されるダミーデータの送信レートを変化さながら、ステップSC21〜ステップSC32の処理を繰り返す。以上により、負荷テーブル生成処理が終了する。
従って、応用例1では、受信側通信装置2Rから該受信側通信装置2RのCPU負荷を示す負荷情報を取得することなく、送信側通信装置2Sは、受信側通信装置2RのCPU負荷を予測する。
そして、判定部15は、予測された受信側通信装置2RのCPU負荷に基づいて、送信されるデータを最適化するか否かを判定する。このため、受信側通信装置2RのCPU負荷をリアルタイムに予測することができ、送信されるデータを最適化するか否かを適正に判定することができる。
<応用例2>
上述した実施形態および応用例1は、受信側通信装置2RのCPU負荷を考慮して、判定部15は、送信されるデータを最適化するか否かを判定する。受信側通信装置2RのCPUの性能が送信側通信装置2SのCPUの性能よりも低く、且つ両者の性能差が大きい場合、送信側通信装置2SのCPU負荷がスループットに与える影響は少ない。
一方、受信側通信装置2RのCPUと送信側通信装置2SのCPUとの間の性能差が小さい場合、送信側通信装置2SのCPU負荷がスループットに影響を与えることが想定される。
応用例2では、判定部15は、受信側通信装置2RのCPU負荷だけでなく、送信側通信装置2SのCPU負荷も考慮して、送信されるデータを最適化するか否かを判定する。図17は、応用例2を示す図である。図17の例において、受信側通信装置2Rと送信側通信装置2Sとの両者に負荷発生部22が含まれる。
図18は、応用例2における性能特性テーブルの一例を示す。図18の例の性能特性テーブルには、回線速度と送信側通信装置2SのCPU負荷と受信側通信装置2RのCPU負荷とに応じた最適化性能が格納される。最適化性能の値は、オンスループットおよびオフスループットの値である。
実施形態の性能特性テーブルに対して、応用例2の性能特性テーブルには、送信側CPU負荷(送信側通信装置2SのCPU負荷)の項目が追加されている。
図19は、応用例2における負荷テーブルの一例を示す。応用例2の負荷テーブルは、回線速度と送信側CPU負荷とオンスループットと受信側CPU負荷との項目を含む。応用例2の負荷テーブルには、応用例1の負荷テーブルに、送信側CPU負荷の項目が追加されている。
従って、応用例2では、判定部15は、受信側通信装置2RのCPU負荷と送信側通信装置2SのCPU負荷とを考慮した判定を行うため、送信されるデータを最適化するか否かをより適正に判定することができる。
<応用例2の処理の流れを示すフローチャートの一例>
図20は、応用例2における送信側通信装置2Sの処理の流れの一例を示すフローチャートである。応用例2における送信側通信装置2Sの処理には、応用例1における送信側通信装置2Sの処理に、ステップS5−4が追加されている。その他の処理は、応用例1の処理と同様であるため、説明を省略する。
制御部12Sは、送信側通信装置2SのCPU負荷を認識する(ステップS5−4)。これにより、回線速度と受信側通信装置2RのCPU負荷と送信側通信装置2SのCPU負荷とに応じた最適化性能が検索され、該最適化性能が示すオンスループットオフスループットとに基づいて、送信されるデータが最適化されるか否かが判定される。
応用例2における受信側通信装置2Rの処理は、応用例1における受信側通信装置2Rの処理と類似している。ただし、受信側の性能特性テーブル生成処理(ステップS23)および受信側負荷テーブル生成処理(ステップS23−1)は、応用例1と応用例とで異なる。
<応用例2の性能特性テーブル生成処理の一例を示すシーケンスチャート>
図21は、応用例2の性能特性テーブル生成処理のシーケンスチャートの一例を示す。応用例2における性能特性テーブルの生成処理は、上述した実施形態の性能特性テーブル生成処理に、送信側CPU負荷制御のループ処理(ステップSC1−1〜ステップSC16−1)が追加されている。
応用例2では、送信側CPU負荷制御のループ処理において、制御部12Sは、送信側通信装置2SのCPUに負荷を発生させる(ステップSC1−2)。送信側CPU負荷制御のループ処理が行われるごとに、制御部12Sは、送信側通信装置2Sに発生させるCPU負荷を変化させる。
<応用例2の負荷テーブル生成処理の一例を示すシーケンスチャート>
図22は、応用例2の負荷テーブル生成処理の一例を示す。応用例1の負荷テーブル生成処理に、送信側CPU負荷制御のループ処理(ステップSC22−1〜ステップSC31−1)が追加されている。
応用例2では、送信側CPU負荷制御のループ処理において、負荷発生部22Sは、送信側通信装置2SのCPUに負荷を発生させる(ステップSC22−2)。送信側CPU負荷制御のループ処理が行われるごとに、制御部12Sは、送信側通信装置2Sに発生させるCPU負荷を変化させる。
<通信装置のハードウェア構成の一例>
次に、図23の例を参照して、通信装置2のハードウェア構成の一例を説明する。図23の例に示すように、バス100に対して、プロセッサ111とRAM112とROM113と補助記憶装置114と媒体接続部115と通信インタフェース116とが接続されている。
プロセッサ111は任意の処理回路である。プロセッサ111はRAM112に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態の処理を行うプログラムを適用してもよい。ROM113はRAM112に展開されるプログラムを記憶する不揮発性の記憶装置である。
補助記憶装置114は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等を補助記憶装置114に適用してもよい。媒体接続部115は、可搬型記録媒体119と接続可能に設けられている。
可搬型記録媒体119としては、可搬型のメモリや光学式ディスク(例えば、Compact Disc(CD)やDigital Versatile Disc(DVD)等)を適用してもよい。この可搬型記録媒体119に実施形態の処理を行う通信制御プログラムが記録されていてもよい。
通信装置2のうち、記憶部23は、RAM112や補助記憶装置114等により実現されてもよい。通信部24は、通信インタフェース116により実現されてもよい。通信装置2のうち、記憶部23および通信部24以外の各部は、与えられた通信制御プログラムをプロセッサ111が実行することにより実現されてもよい。
RAM112、ROM113、補助記憶装置114および可搬型記録媒体119は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
<その他>
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 システム
2 通信装置
3 WAN
11 アプリケーション機能部
12 制御部
13 最適化送信処理部
14 テーブル処理部
15 判定部
16 最適化受信処理部
17 受信スループット測定部
18 測定データ生成部
19 送信レート制御部
20 回線速度計測部
21 性能測定部
22 負荷発生部
23 記憶部
24 通信部
111 プロセッサ
112 RAM
113 ROM

Claims (8)

  1. 送信先装置にデータを送信する際に、該送信先装置に対する通信の回線速度と該送信先装置の負荷情報と該回線速度および該負荷情報に応じた前記データに対する最適化性能とに基づいて、前記送信先装置に送信されるデータを最適化するか否かを判定する、
    処理をコンピュータに実行させることを特徴とする通信制御プログラム。
  2. 第1測定データを前記送信先装置に送信する際に、前記送信先装置に対する通信の回線速度および前記送信先装置の負荷をそれぞれ変化させた場合における最適化された前記第1測定データに基づく第1スループットと最適化されない前記第1測定データに基づく第2スループットとを前記最適化性能として、前記回線速度および前記送信先装置の負荷情報と対応付けた第1テーブルを記憶し、
    前記第1テーブルに基づいて、前記送信先装置に送信されるデータを最適化するか否かを判定する、
    処理を前記コンピュータに実行させることを特徴とする請求項1記載の通信制御プログラム。
  3. 前記データを送信する際の前記送信先装置に対する通信の回線速度および前記負荷情報に応じた前記最適化性能を前記第1テーブルから取得し、
    前記第2スループットが前記第1スループットよりも高い場合、前記データを最適化せずに前記送信先装置に送信し、前記第2スループットが前記第1スループット以下の場合、前記データを最適化して前記送信先装置に送信する、
    処理を前記コンピュータに実行させることを特徴とする請求項2記載の通信制御プログラム。
  4. 前記送信先装置から受信するデータのスループットと前記送信先装置からの通信の回線速度とに基づいて、前記送信先装置の負荷を予測する、
    処理を前記コンピュータに実行させることを特徴とする請求項1乃至3のうち何れか1項に記載の通信制御プログラム。
  5. 前記送信先装置の負荷および前記送信先装置からの通信の回線速度をそれぞれ変化させた場合における最適化された第2測定データのスループットを測定し、
    前記第2測定データが測定された際の前記送信先装置の負荷情報と前記送信先装置からの通信の回線速度と測定された前記第2測定データのスループットとを対応付けた第2テーブルを記憶し、
    記憶された前記第2測定データのスループットと前記回線速度とに基づいて、対応する前記送信先装置の負荷情報を前記送信先装置の負荷として予測する、
    処理を前記コンピュータに実行させることを特徴とする請求項4記載の通信制御プログラム。
  6. 前記送信先装置に対する通信の回線速度と前記送信先装置の負荷情報と前記最適化性能と発生させた負荷の情報とに基づいて、前記データを最適化するか否かを判定する、
    処理を前記コンピュータに実行させることを特徴とする請求項1乃至5のうち何れか1項に記載の通信制御プログラム。
  7. 送信先装置にデータを送信する際に、該送信先装置に対する通信の回線速度と該送信先装置の負荷情報と該回線速度および該負荷情報に応じた前記データに対する最適化性能とに基づいて、前記送信先装置に送信されるデータを最適化するか否かを判定する、
    処理をコンピュータが実行することを特徴とする通信制御方法。
  8. 送信先装置にデータを送信する際に、該送信先装置に対する通信の回線速度と該送信先装置の負荷情報と該回線速度および該負荷情報に応じた前記データに対する最適化性能とに基づいて、前記送信先装置に送信されるデータを最適化するか否かを判定する判定部、
    を備えることを特徴とする通信装置。
JP2016023088A 2016-02-09 2016-02-09 通信制御プログラム、通信制御方法および通信装置 Pending JP2017143392A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016023088A JP2017143392A (ja) 2016-02-09 2016-02-09 通信制御プログラム、通信制御方法および通信装置
US15/360,282 US20170230268A1 (en) 2016-02-09 2016-11-23 Data transmitting device, method of transmitting data, and non-transitory computer-readable storage medium
EP16201381.7A EP3206343A1 (en) 2016-02-09 2016-11-30 Data transmitting device, method of transmitting data, and data transmitting program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016023088A JP2017143392A (ja) 2016-02-09 2016-02-09 通信制御プログラム、通信制御方法および通信装置

Publications (1)

Publication Number Publication Date
JP2017143392A true JP2017143392A (ja) 2017-08-17

Family

ID=57442559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016023088A Pending JP2017143392A (ja) 2016-02-09 2016-02-09 通信制御プログラム、通信制御方法および通信装置

Country Status (3)

Country Link
US (1) US20170230268A1 (ja)
EP (1) EP3206343A1 (ja)
JP (1) JP2017143392A (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002044136A (ja) 2000-07-25 2002-02-08 Hitachi Ltd マルチプロトコルネットワーク用のフロー制御装置
US7734726B2 (en) * 2001-11-27 2010-06-08 International Business Machines Corporation System and method for dynamically allocating processing on a network amongst multiple network servers
US7339897B2 (en) 2002-02-22 2008-03-04 Telefonaktiebolaget Lm Ericsson (Publ) Cross-layer integrated collision free path routing
US8819694B2 (en) * 2007-12-20 2014-08-26 Samsung Electronics Co., Ltd. System and method for embedded load balancing in a multifunction peripheral (MFP)
JP5316131B2 (ja) 2009-03-18 2013-10-16 株式会社リコー データ転送システム及びデータ転送方法
JP2011166636A (ja) 2010-02-15 2011-08-25 Adcore-Tech Co Ltd 通信端末およびその制御方法並びにプログラム
JP5560966B2 (ja) * 2010-07-01 2014-07-30 ソニー株式会社 顕微鏡制御装置、画像管理サーバ、画像処理方法、プログラム及び画像管理システム
JP5574491B2 (ja) 2010-12-01 2014-08-20 日本電信電話株式会社 マルチレイヤ統合伝送装置及び最適化方法
JP5976277B2 (ja) 2011-02-23 2016-08-23 富士通株式会社 伝送制御方法

Also Published As

Publication number Publication date
EP3206343A1 (en) 2017-08-16
US20170230268A1 (en) 2017-08-10

Similar Documents

Publication Publication Date Title
US9854032B2 (en) Context-aware task offloading among multiple devices
US8817809B2 (en) Communication link allocation based on dynamic trend analysis
JP6277853B2 (ja) 制御装置、通信装置、および、通信方法
EP3298752A1 (en) Apparatus and methods for adaptive data compression
WO2012034414A1 (zh) 一种处理p2p业务的方法及系统
JP6886874B2 (ja) エッジ装置、データ処理システム、データ送信方法、及びプログラム
JP2021039802A (ja) データ処理システム、及びデータ処理方法
JP2006513663A (ja) さまざまな輻輳要因を知らせる、パケットネットワークにおける輻輳通知のための方法及び装置
KR102153814B1 (ko) 로드 균형을 위한 확률 기반 적응형 라우팅 알고리즘
JP6606919B2 (ja) フロースイッチ、コントローラ、及び、中継装置
JP5335354B2 (ja) 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム
JP6172296B2 (ja) 通信装置、通信方法、および、通信プログラム
JP2017143392A (ja) 通信制御プログラム、通信制御方法および通信装置
US20110072152A1 (en) Apparatus and method for receiving data
JPWO2017168730A1 (ja) データ送信プログラム、データ送信方法及びデータ送信装置
KR20090083067A (ko) 데이터 전송 방법 및 장치와 작업 수행 방법 및 장치
JP6488527B2 (ja) 受信装置、受信方法、プログラム、及びプロセッサ
FR3091773A1 (fr) Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage
JP5834481B2 (ja) サービス提供システム、通信端末、プログラム及びサービス提供方法
JP6204287B2 (ja) 分散処理方法、処理サーバ、および、プログラム
JP4270397B2 (ja) 通信制御システム
JP2020136906A (ja) 動画セグメントの画質及び経路を判定する判定サーバ及びプログラム
US20240146657A1 (en) Reducing Network Congestion Using a Load Balancer
JP6452573B2 (ja) データ送信装置及びデータ受信装置及びデータ送信方法及びデータ受信方法及びデータ送信プログラム及びデータ受信プログラム
JP6850618B2 (ja) 中継装置および中継方法