まず、本願発明の理解を容易にするため、IPv4と、IPv6とについて、図13を参照しながら説明する。図13は、IPv4に従った通信処理と、IPv6に従った通信処理とを概念的に表す図である。図13(A)は、IPv4に従った通信処理を概念的に表す。図13(B)は、IPv6に従った通信処理を概念的に表す。
中継装置は、送信元装置から宛先装置までの通信経路において、受信したデータを自装置とは異なる情報処理装置に転送する転送処理を実行する。IPv4に従えば、各中継装置に関しては、一度に処理可能なパケットのサイズに最大値(すなわち、最大パケットサイズ)が設定されている。各中継装置は、該最大パケットサイズよりも大きいサイズを有するパケットを受信した場合に、受信した該パケットを、該最大パケットサイズ以下のサイズを有する複数のパケットに分割し、分割によって得られたパケットに関する該転送処理を実行する。
説明の便宜上、図13に示す例の場合に、中継装置に関する最大パケットサイズが、たとえば、1500バイト(byte)であるとする。また、X(ただし、Xは自然数を表す)バイトのサイズを有するパケットを、「Xバイトパケット」と表す。
図13(A)を参照すると、送信元装置は、送信する対象である2000バイトパケット1001を、宛先装置に向けて送信する(図13(A)のパケット1002)。
通信経路における中継装置は、パケット1002を受信する。該中継装置は、2000バイトパケット1002を受信した場合に、IPv4に関する仕様に従い、パケット1001を、1500バイトパケット1004と、500バイトパケット1003とに分割し、これら2つのパケットに関する転送処理を実行する。
これに対して、IPv6においては、中継装置がパケットを分割する機能が廃止されている。IPv6においては、送信元装置が、パケットを、中継装置が最大パケットサイズ以下のサイズを有するパケットに分割し、分割によって得られた該パケットを通信ネットワークに送信するよう決められている。
図13(B)を参照すると、たとえば、送信元装置が、2000バイトパケット1101を宛先装置に向けて送信したとする。この場合に、送信元装置からパケットを受信した中継装置は、パケットのサイズが最大パケットサイズ(この例の場合に、1500バイト)よりも大きいことを表す情報を該送信元装置に送信する。送信元装置は、該情報を受信し、受信した情報に従い、該パケットを1500バイトパケット1103と、500バイトパケット1102とに分割し、これら2つのパケットを宛先装置に送信する。中継装置は、パケット1102と、パケット1103とを受信し、受信したパケット1102、及び、パケット1103を宛先装置に転送する転送処理を実行する(図13(B)におけるパケット1104、及び、パケット1105)。したがって、IPv6においては、あらかじめ、送信元装置が、宛先装置までの通信経路に関する最大パケットサイズを取得する取得処理が実行されることもある。
次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
<第1の実施形態>
図1を参照しながら、本発明の第1の実施形態に係る処理決定装置101が有する構成について詳細に説明する。図1は、本発明の第1の実施形態に係る処理決定装置101が有する構成を示すブロック図である。
第1の実施形態に係る処理決定装置101は、入力部102と、第1処理時間計算部103と、第2処理時間計算部104と、処理決定部105とを有する。処理決定装置101は、さらに、ネットワーク情報記憶部106を有していてもよい。
ネットワーク情報記憶部106には、ネットワーク情報(図3に例示)を格納することができる。図3を参照しながら、ネットワーク情報記憶部106に格納されているネットワーク情報について説明する。図3は、ネットワーク情報記憶部106に格納されているネットワーク情報の一例を概念的に表す図である。
ネットワーク情報においては、宛先装置を表す宛先識別子と、送信元装置及び宛先装置間の通信経路にて実行された通信処理におけるパケットサイズと、該通信経路における中継装置の台数とが関連付けされている。ネットワーク情報においては、該送信元装置を表す送信元識別子と、該通信経路にてパケットが失われるパケットロスが生じる程度を表すパケットロス率と、該通信経路にて実行された通信処理におけるパケットサイズの最小値(以降、「最小パケットサイズ」と表す)とが関連付けされていてもよい。また、ネットワーク情報において、パケットサイズは、最大パケットサイズであってもよい。中継装置の台数は、たとえば、該通信経路におけるホップ数であってもよい。
図3に例示されたネットワーク情報記憶部106に格納されたネットワーク情報においては、送信元識別子「AAAA」と、宛先識別子「BBBB」と、パケットサイズ「1500」と、最小パケットサイズ「100」と、パケットロス率「0.1」と、中継装置の台数「4」とが関連付けされている。これは、送信元装置AAAAから宛先装置BBBBまでの通信経路に関して、パケットサイズが1500バイトであり、最小パケットサイズが100バイトであり、該通信経路における中継装置の台数が4台であり、該通信経路に関するパケットロス率が0.1パーセントであることを表す。ネットワーク情報は、通信ネットワークを介して実行された通信の履歴を表す情報であってもよいし、該通信ネットワークに関して作成された情報であってもよい。
ネットワーク情報は、図3に例示された項目を、必ずしも、すべて含んでいる必要はない。たとえば、送信元装置における通信処理に関するネットワーク情報を自装置内に格納する場合に、送信元識別子は、自装置を表す識別子である。この場合に、ネットワーク情報は、送信元識別子を含んでいる必要はない。また、ネットワーク情報は、図3に例示された項目以外の項目(たとえば、図9)に関する値を含んでいてもよい。ネットワーク情報は、図3に示された例に限定されない。
処理決定装置101は、以下に説明する第1処理手順乃至第3処理手順に例示されているような、複数の処理手順の中から、図2を参照しながら後述する処理に従い所要時間が短い処理手順を選択する。
○(第1処理手順)所定のパケットサイズ(たとえば、IPv6等のプロトコルに示された最小パケットサイズ)にて対象データをパケットに分割し、該パケットを送信する通信処理を実行する処理手順、
○(第2処理手順)送信元装置と、宛先装置との間の通信経路において通信可能なパケットサイズを中継装置から取得する取得処理を実行し、取得した該パケットサイズに従い該対象データをパケットに分割し、該パケットを送信する通信処理を実行する処理手順。説明の便宜上、特許文献1乃至特許文献3等を参照しながら説明したような処理に従い、中継装置から取得したパケットサイズを「第1最大パケットサイズ」と表す、
○(第3処理手順)該通信経路において通信可能な最大パケットサイズを記憶装置(たとえば、ネットワーク情報)に基づき特定し、特定した該最大パケットサイズに従い該対象データをパケットに分割し、該パケットを送信する処理手順。
以降の説明においては、説明の便宜上、送信元装置から宛先装置に送信する対象である対象データは、該対象データが分割されたデータを含む1つ以上のパケットに基づき作成することが可能であるとする。また、対象データサイズは、各パケットのサイズの合計値であるとする。また、ネットワーク情報は、送信元装置に格納されており、さらに、送信元識別子を含んでいないとする。
次に、図2を参照しながら、本発明の第1の実施形態に係る処理決定装置101における処理について詳細に説明する。図2は、第1の実施形態に係る処理決定装置101における処理の流れを示すフローチャートである。
入力部102は、たとえば、外部装置等から、送信元装置が宛先装置に送信する対象である対象データのデータサイズ(以降、「対象データサイズ」と表す)、及び、該宛先装置を表す宛先識別子等に関する情報を入力する。入力部102は、入力した情報のうち、該対象データサイズと、該宛先識別子とを、第1処理時間計算部103、及び、第2処理時間計算部104に対して出力する。
第1処理時間計算部103は、入力部102が出力した該対象データサイズと、該宛先識別子とを入力する。
第1処理時間計算部103は、ネットワーク情報(図3に例示)に基づき、該宛先識別子に関連付けされた台数(すなわち、通信経路における中継装置の台数)を特定する。すなわち、第1処理時間計算部103は、ネットワーク情報(図3に例示)に基づき、送信元装置から宛先装置までの該通信経路における中継装置の台数を特定する。第1処理時間計算部103は、特定した該台数と、2つの情報処理装置間をデータが往復する往復処理に要する往復時間とに基づき、該通信経路に関する第1最大パケットサイズを取得する取得処理に要する取得時間を算出する(ステップS101)。たとえば、第1処理時間計算部103は、特定した該台数分の往復時間を、該取得時間として算出する。
次に、第1処理時間計算部103は、ネットワーク情報(図3に例示)に基づき、該宛先識別子に関連付けされたパケットサイズ、及び、該宛先識別子に関連付けされたパケットロス率を特定する。第1処理時間計算部103は、特定した該パケットサイズの最大値(説明の便宜上、「第2最大パケットサイズ」と表す)を算出する。第1処理時間計算部103は、算出した該第2最大パケットサイズと、特定した該パケットロス率とに対して、式1を参照しながら後述するような処理手順に従い、対象データを送信元装置から宛先装置まで送信する通信処理に要する通信時間を算出する(ステップS102)。
第1処理時間計算部103は、算出した該取得時間と、算出した該通信時間との合計値を、該取得処理、及び、該通信処理が完了するまでに要する所要時間として算出する(ステップS103)。すなわち、第1処理時間計算部103は、上述した第2処理手順に従った処理に要する所要時間を算出する。
ただし、第2最大パケットサイズと、第1最大パケットサイズとは、必ずしも、一致しているとは限らない。第1最大パケットサイズは、たとえば、非特許文献1等に記載された装置によって算出される値であってもよい。第2最大パケットサイズは、該第1最大パケットサイズの推定値であってよい。該取得処理は、必ずしも、特許文献1乃至特許文献3に示された処理でなくともよく、たとえば、外部の記憶装置に格納されている最大パケットサイズを読み取る処理であってもよい。すなわち、該取得処理は、上述した例に限定されない。
また、第3処理手順に関する取得時間を算出する場合に(たとえば、ネットワーク情報(図3に例示)が該宛先識別子を含んでいる場合に)、第1処理時間計算部103は、たとえば、該取得時間に所定の取得時間を設定する。第1処理時間計算部103がネットワーク情報記憶部106に格納されているネットワーク情報を読み取る処理時間に要する時間が、通信時間に比べて無視できる程度に短ければ、所定の取得時間は、たとえば、0である。すなわち、この場合に、第1処理時間計算部103は、該取得時間に0を設定する。
また、ネットワーク情報(図3に例示)が該宛先識別子を含んでいる場合であっても、通信経路が変更されている可能性がある場合(たとえば、該通信経路を介して通信処理が実行されたタイミングから所定の判定時間が経過した場合)には、中継装置等から第1最大パケットサイズを取得する処理を実行する必要がある。または、ネットワーク情報(図3に例示)が該宛先識別子を含んでいない場合には、中継装置等から第1最大パケットサイズを取得する処理を実行する必要がある。すなわち、これらの場合に、送信元装置は、第2処理手順に従い処理を実行する。したがって、第1処理時間計算部103は、ステップS101に示された処理と同様な処理を実行することによって、該取得時間を算出する。
次に、第1処理時間計算部103は、該送信元装置と該宛先装置との間にて、該第2最大パケットサイズを有するパケットに従い対象データを通信する場合に、該通信経路に関するスループットを算出する。たとえば、通信ネットワークにおいてTCP(Transmission Control Protocol)に従った通信処理が実行される場合に、第1処理時間計算部103は、たとえば、式1に例示されているような計算モデルを用いて、該第2最大パケットサイズを有するパケットに従い対象データを通信する該通信経路に関するスループットを算出する。
ただし、Packet Sizeは、パケットの大きさ(量、サイズ)を表す。RTT(round−trip time)は、該通信経路における複数の情報処理装置の間を、通信によって往復する処理に要する通信時間を表す。RTO(retransmission timeout)は、TCPに関するタイムアウト時間を表す。pは、該通信経路に関するパケットロス率を表す。RTOは、たとえば、RTTの4倍の値であってもよい。
式1は、TCP Friendlyの計算式と呼ばれ、RFC(Request for Comments)5348にて提唱されている。第1処理時間計算部103は、対象データを該第2最大パケットサイズに従い通信する通信処理に要する通信時間を、該スループットと、該対象データサイズとに基づき算出する(ステップS103)。すなわち、第1処理時間計算部103は、該第2最大パケットサイズに従う通信処理に要する通信時間を算出する。
第1処理時間計算部103は、算出した該取得時間と、算出した該通信時間とを合計し、合計した結果を所要時間として算出する(ステップS103)。
第2処理時間計算部104は、入力部102が出力した該対象データサイズと、該宛先識別子とを入力する。第2処理時間計算部104は、該通信経路に関する最小パケットサイズを取得する処理に要する取得時間を算出する。最小パケットサイズは、IPv6に関する仕様等にて保障されたパケットサイズであってもよい。最小パケットサイズがIPv6に関する仕様にて保障された最小パケットサイズである場合に、第2処理時間計算部104は、該取得時間として、たとえば、0を算出する。
第2処理時間計算部104は、入力した該対象データサイズと、該宛先識別子とに基づき、ステップS102を参照しながら説明した処理と同様な処理を、最小パケットサイズに関して実行することによって、該最小パケットサイズに関する通信時間を算出する。第2処理時間計算部104は、ステップS103を参照しながら説明した処理と同様な処理を実行することによって、該最小パケットサイズに関する所要時間を算出する(ステップS104)。ただし、上述したように、最小パケットサイズがIPv6に関する仕様にて保障された最小パケットサイズである場合に、第2処理時間計算部104は、該取得時間として、たとえば、0を算出する。ステップS104において、第2処理時間計算部104は、最小パケットサイズの場合に実行される処理に要する所要時間を算出する。したがって、第2処理時間計算部104は、第1処理手順に従い処理が実行される処理に要する所要時間を算出する。
次に、処理決定部105は、第2処理手順に従った処理に要する所要時間と、第1処理手順に従った処理に要する処理に要する所要時間とを比較し、該所要時間が短い処理を選択する(ステップS105)。すなわち、処理決定部105は、第1処理時間計算部103が算出した所要時間と、第2処理時間計算部104が算出した所要時間のうち、短い所要時間を選択することによって、複数の処理手順の中から、該所要時間が短い処理手順を選択する。
送信元装置は、処理決定装置101によって決定された処理手順に従い、該対象データを通信する該通信処理を実行してもよい。送信元装置は、さらに、該通信処理において取得された量(たとえば、第1最大パケットサイズ等)に基づき、ネットワーク情報を更新してもよい。
次に、図5に示された例を参照しながら、第1の実施形態に係る処理決定装置101における処理について説明する。図5は、情報処理システム151が有する構成の一例を示すブロック図である。
情報処理システム151は、送信元装置を表すデータ送信端末152と、宛先装置を表すサーバ端末154と、該送信元装置及び該宛先装置を通信接続している、IPv6に従い通信制御される通信ネットワーク153とを有する。データ送信端末152は、本発明の第1の実施形態に係る処理決定装置101を含んでいる。
説明の便宜上、図5に示された例において、通信ネットワーク153は、TCPに従い制御されているとする。データ送信端末152は、1メガバイト(MB)の対象データをサーバ端末に向けて送信するとする。また、ネットワーク情報(図3に例示)は、サーバ端末154を表す宛先識別子を含んでいないとする。
データ送信端末152において、処理決定装置101は、ネットワーク情報(図3に例示)がサーバ端末154を表す宛先識別子を含んでいるか否かを判定する。この場合に、上記の仮定によって、ネットワーク情報(図3に例示)は、サーバ端末154を表す宛先識別子を含んでいない。この場合に、処理決定装置101は、たとえば、サーバ端末154とは異なる端末、または、サーバ端末154が通信接続する通信ネットワークセグメントとは異なる通信ネットワークに関して測定された通信に関する履歴に基づき、処理時間を算出する。
処理決定装置101は、たとえば、ネットワーク情報(図3に例示)に含まれているパケットサイズの平均値を、該通信経路に関する第2最大パケットサイズとして算出し、さらに、該ネットワーク情報に含まれているパケットロス率の平均値を、該通信経路に関するパケットロス率として算出する。平均値は、たとえば、最頻値、または、中央値等の統計量であってもよい。処理決定装置101は、算出した該第2最大パケットサイズと、算出した該パケットロス率とに対して、式1に示された処理に従い、該通信経路に関するスループットを算出する。
説明の便宜上、処理決定装置101は、該通信経路に関して、中継装置の台数が5であり、パケットロス率が0.2パーセントであり、最大パケットサイズが3000バイトであると算出したと仮定する。また、RTTは、100ミリ秒であると仮定する。
処理決定装置101は、式1に従い、データ送信端末152と、サーバ端末154との間の通信経路に関するスループット(この場合に、毎秒約6.5メガビット、約6.5Mbps)を算出する。言い換えると、処理決定装置101は、式1に従い、該通信経路に関するスループットの予測値を算出する。処理決定装置101は、対象データサイズを、該スループットにて割り算することによって、該通信時間を算出する。たとえば、処理決定装置101は、該通信経路に関する該通信時間として、約1.2秒を算出する。
たとえば、非特許文献1に開示されているような処理(Path MTU Discoveryと呼ばれる、以降、「PMTU方式」と表す)に従い、送信元装置と、宛先装置との間にて通信可能な第1最大パケットサイズを取得することができる。該第1最大パケットサイズを取得する処理は、たとえば、送信元装置と、宛先装置との通信経路における中継装置ごとに処理が行われる。この場合に、第1処理時間計算部103は、図2を参照しながら説明した処理と同様な処理を実行する。第1処理時間計算部103は、たとえば、各中継装置から最大パケットサイズを取得する取得処理に要する取得時間として、送信元装置と宛先装置との間を通信によって往復する処理に要する通信時間(RTT)に設定し、通信経路における中継装置の台数分の該通信時間を算出する。たとえば、第1処理時間計算部103は、該中継装置の台数と、該通信時間とを掛け算することによって、該取得時間を算出する。中継装置の台数が5台であり、該通信時間が0.1秒である場合に、第1処理時間計算部103は、0.5秒を該取得時間として算出する。
第2最大パケットサイズは、必ずしも、通信処理にて取得される最大パケットサイズと一致しているとは限らない。したがって、第1処理時間計算部103は、たとえば、最大パケットサイズで送信できない場合の確率を求め、該確率に基づき取得時間の期待値を算出してもよい。
その後、第1処理時間計算部103は、ステップS104(図2)に示された処理に従い算出した該取得時間(たとえば、1.2秒)と、該通信時間(たとえば、0.5秒)とを合計することによって、最大パケットサイズの場合に実行される処理に要する所要時間(たとえば、1.7(=1.2+0.5)秒)を算出する。
第2処理時間計算部104は、第1処理時間計算部103が実行する処理と同様な処理を、最小パケットサイズに関して実行することによって、最小パケットサイズの場合に実行される処理に要する所要時間を算出する。第2処理時間計算部104は、たとえば、IPv6に関する仕様(たとえば、RFC 2460)に規定されている1280バイトを、最小パケットサイズとして設定する。この場合に、第2処理時間計算部104は、最小パケットサイズを取得する取得処理に要する取得時間に、0を設定する。しかし、最小パケットサイズは、IPv6に関する仕様(たとえば、RFC 2460)によって規定されているので、該仕様に応じて変更される。上述した例の場合に、第2処理時間計算部104は、たとえば、通信時間として、約2.8秒を算出する。
処理決定部105は、第1処理時間計算部103が最大パケットサイズに関して算出した所要時間(たとえば、1.7秒)と、第2処理時間計算部104が最小パケットサイズに関して算出した所要時間(たとえば、2.8秒)との大小を比較する。この例の場合に、処理決定部105は、最大パケットサイズに関して算出した1.7秒が、最大パケットサイズに関して算出した2.8秒よりも短いので、複数の処理手順のうち、最大パケットサイズに従い送信する処理手順(すなわち、第2処理手順)を選択する。
データ送信端末152は、処理決定装置101が選択した処理手順(この場合に、最大パケットサイズに関して実行する処理手順)に従い第1最大パケットサイズを取得する取得処理(たとえば、PMTU方式に従った処理)を実行し、該第1最大パケットサイズに従い対象データをサーバ端末154に向けて送信する。
尚、データ送信端末152は、必ずしも、第1最大パケットサイズを取得する取得処理(たとえば、PMTU方式に従った処理)を実行しなくてもよい。この場合に実行される処理の一例について説明する。データ送信端末152は、最大パケットサイズ(たとえば、3000バイト)に従い対象データをサーバ端末154に向けて送信する。図13を参照しながら上述したように、該最大パケットサイズが、中継装置が処理可能なパケットサイズよりも大きい場合に、中継装置は、データ送信端末152に、処理可能なパケットサイズよりも大きいことを表す情報を送信する。データ送信端末152は、中継装置から該情報を受信した場合に、受信した該情報に基づき第1パケットパケットサイズを特定してもよい。
上述した例においては、第2処理手順に関する該所要時間が第1処理手順に関する該所要時間よりも短いので、処理決定装置101は、第2処理手順を選択した。しかし、第2処理手順に関する該所要時間と、第1処理手順に関する該所要時間とは、図4に例示されているように、対象データサイズに応じて変化する。図4は、第2処理手順に関する所要時間の一例と、第1処理手順に関する所要時間の一例とを表す図である。図4の横軸は、所要時間を表し、右側であるほど該所要時間が長いことを表す。図4の縦軸は、対象データサイズを表し、上側であるほど該サイズが大きいことを表す。
図4に例示されているように、該所要時間が短い処理手順は、対象データサイズに応じて異なっている。したがって、処理決定装置101は、対象データサイズに応じて、該所要時間が短い処理手順を選択する。
たとえば、対象データサイズが200キロバイト(KB)である場合に、第1処理手順に関する該所要時間が約0.58秒であるのに対し、第2処理手順に関する該所要時間は約0.74秒である。したがって、対象データサイズが200キロバイトである場合に、処理決定装置101は、該所要時間が短い第1処理手順を選択する。
これに対して、対象データサイズが400キロバイト(KB)である場合に、第1処理手順に関する該所要時間が約1200ミリ秒であるのに対し、第2処理手順に関する該所要時間は約900ミリ秒である。したがって、処理決定装置101は、対象データサイズが400キロバイトである場合に、該所要時間が短い第2処理手順を選択する。
尚、第2処理手順にて対象データを処理する場合に、0ミリ秒から650ミリ秒までの期間は、第1最大パケットサイズを取得する取得処理に要する取得時間を表す。たとえば、該取得処理は、上述したPMTU方式に従い実行される処理を表す。
データ送信端末152は、処理決定装置101が選択した処理手順に従い、対象データをサーバ端末154に送信する。たとえば、処理決定装置101が選択した処理手順が第2処理手順である場合に、データ送信端末152は、PMTU方式に従い、サーバ端末154に関する第1最大パケットサイズを求め、求めた第1最大パケットサイズに従い、該対象データをサーバ端末154に送信する。この場合に、データ送信端末152は、たとえば、自端末を表す送信元識別子と、サーバ端末154を表す宛先識別子と、求めた第1最大パケットサイズとが関連付けされたネットワーク情報(図3に例示)を作成し、作成したネットワーク情報をネットワーク情報記憶部106に格納する。すなわち、データ送信端末152は、ネットワーク情報を更新する。データ送信端末152は、さらに、第1最大パケットサイズを実際に求める処理に要した時間を含むネットワーク情報を作成してもよい。
また、処理決定部105は、ネットワーク情報(図3に例示)に基づき、ある端末に関する最大パケットサイズ等の情報を求める場合に、該ある端末が通信接続する通信ネットワークセグメントに通信接続されている端末に関するネットワーク情報を用いてもよい。たとえば、処理決定部105は、複数の端末が1つの通信ネットワークセグメントに通信接続するか否かを、各該端末を表す識別子(図9を参照しながら後述する)や、AS(Autonomous System)番号等の情報に関する類似性(または、一致性)に基づき判定する。
上述した実施形態において、送信元装置が対象データを宛先装置に送信する処理にあたり、処理決定装置101は、あるパケットサイズ(たとえば、最大パケットサイズ)を特定し、さらに、該あるパケットサイズに従い対象データを送信する処理に要する通信時間を算出する。しかし、処理決定装置101は、あるパケットサイズと、該あるパケットサイズに関して算出した通信時間とを記憶装置(不図示)に格納してもよい。この場合に、処理決定装置101は、該対象データと異なる第2対象データに関する通信処理に際して、該第2対象データのサイズ、及び、該第2対象データを送信する場合のパケットサイズが、該記憶装置にされているデータのうち、一致している(または、類似している)データに関して算出された通信時間を読み取ってもよい。この場合に、処理決定装置101は、読み取った該通信時間を該第2対象データに関する通信時間として設定してもよい。この処理によれば、式1に従い通信時間を算出する処理が必要ないので、通信時間を算出する処理が短い。
また、通信ネットワークにおいて、IPレイヤよりも上位レイヤにて、パケットサイズを設定することが可能なプロトコルに従い通信処理が実行される場合に、処理決定装置101が決定した処理手順に従い対象データを送信する送信元装置は、該対象データに関するパケットサイズを上位レイヤにて指定してもよい。たとえば、送信元装置は、TCPレイヤにおけるMSS(Maximum Segment Size)を用いて、パケットサイズを設定することができる。
次に、本発明の第1の実施形態に係る処理決定装置101に関する効果について説明する。
第1の実施形態に係る処理決定装置101によれば、複数の情報処理装置間における通信処理に関して、効率的な通信を実現することができる。この理由は、送信元装置と宛先装置との間にて通信するデータを表す対象データサイズに応じて、所要時間が短い処理を処理決定装置101が選択するからである。この理由について詳細に説明する。
送信元装置が宛先装置に向けて対象データを送信する場合に、送信元装置と、宛先装置との間の通信経路には、該対象データを中継している1つ以上の中継装置が存在している。中継装置は、通信ネットワークを介して対象データを送信する場合に、該対象データをパケットと呼ばれる単位のデータに分割し、分割によって得られた各パケットを転送する処理を実行する。送信元装置から宛先装置に対象データを送信する処理に要する通信時間が該パケットのサイズに応じて変化するので、該時間が短時間である場合のパケットサイズを取得する取得処理が実行されることもある。
しかし、該取得処理には処理時間を要するので、該取得処理が実行された場合であっても、必ずしも、適切なパケットサイズを取得する処理に要する該取得時間と、該パケットサイズを有するパケットにて対象データを通信する処理に要する通信時間との合計値である所要時間が短いとは限らない。本実施形態に係る処理決定装置101は、複数のパケットサイズのうち、該所要時間が短い場合のパケットサイズを選択する。すなわち、処理決定装置101は、該所要時間が短い場合のパケットサイズを選択することによって、パケットサイズが相互に異なる複数の処理の中から所要時間が短い処理を選択する。この結果、本実施形態に係る処理決定装置101によれば、複数の情報処理装置間における通信処理に関して、取得処理を含めた所要時間に関して効率的な通信を実現することができる。
また、第1の実施形態に係る処理決定装置101によれば、対象データを通信する通信処理を、所要時間が短い処理手順にて実現することができる。この理由は、適切なパケットサイズを決定する取得時間と、決定されたパケットサイズに従い該対象データを通信する通信処理に関する通信時間とから構成される所要時間に基づき、処理決定装置101が、複数の処理手順のうち、所要時間の短い処理手順を決定するからである。すなわち、処理決定装置101は、ある処理手順に従い通信が実行される場合の通信時間だけではなく、該ある処理手順を特定する処理に要する取得時間を含めた所要時間に基づき、複数の処理手順のうち、処理時間が短い処理手順を決定する。この結果、第1の実施形態に係る処理決定装置101によれば、通信処理において、リアルタイム性を担保することができる。
また、第1処理時間計算部103が、ネットワーク情報に基づき、第2最大パケットサイズを特定することによって、より効率的な通信を実現することができる。この理由は、2つの情報処理装置間における通信経路にて送信可能なパケットサイズが短時間に変更される可能性は低いので、該通信経路にて実行された通信処理の履歴に含まれているパケットサイズを参照することによって、通信処理実行時における通信経路に関する第1最大パケットサイズを特定することができる可能性があるからである。
本実施形態に係る処理決定装置101によれば、効率的な通信を実現する処理を短期間に特定することができる。この理由は、所要時間が短い場合のパケットサイズが、最小パケットサイズであるか、または、最大パケットサイズである可能性が高いからである。すなわち、処理決定装置101は、最大パケットサイズに従い実行される処理手順(すなわち、第2処理手順)、または、最小パケットサイズに従い実行される処理手順(すなわち、第1処理手順)のいずれかを選択することによって、全体の所要時間が短い処理手順を選択する。
本実施形態に係る送信元装置(情報処理装置、通信装置)によれば、送信元装置と、宛先装置と間の通信処理を短期間に実行することができる。この理由は、所要時間が短い処理として処理決定装置101が選択した処理に従い、通信装置が通信処理を実行するからである。
本実施形態に係る送信元装置(情報処理装置、通信装置)によれば、効率的な通信処理を短期間に実現することができる。この理由は、パケットサイズを取得する処理ごとにネットワーク情報を更新することによって、通信処理が実行されたタイミングから経過してしまう時間を減らすことができるからである。この場合に、ネットワーク情報が通信処理を実行する場合の最大パケットサイズを含んでいる可能性が高いので、処理決定装置101は、正確に、第2処理手順に関する所要時間を算出することができる。
<第2の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第2の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図6を参照しながら、本発明の第2の実施形態に係る処理決定システム201が有する構成について詳細に説明する。図6は、本発明の第2の実施形態に係る処理決定システム201が有する構成を示すブロック図である。
第2の実施形態に係る処理決定システム201は、処理決定装置202と、ネットワーク情報提供装置203とを有する。処理決定装置202は、入力部102と、第1処理時間計算部103と、第2処理時間計算部104と、処理決定部105と、ネットワーク情報通信部204と、ネットワーク情報記憶部207とを有する。ネットワーク情報提供装置203は、ネットワーク情報取得部205と、ネットワーク情報記憶部206とを有する。
ネットワーク情報記憶部206、及び、ネットワーク情報記憶部207には、図3を参照しながら説明したネットワーク情報と同様な情報が格納される。
ネットワーク情報提供装置203において、ネットワーク情報取得部205は、ネットワーク情報記憶部206に格納されているネットワーク情報(図3に例示)から、たとえば、処理決定装置202に要求された特定の情報を読み取り、読み取った該特定の情報を処理決定装置202に送信(提供)する。該特定の情報は、たとえば、最大パケットサイズ等の転送可能なパケットサイズや、送信元装置と宛先装置との通信経路における中継装置の台数(たとえば、ホップ数)である。
次に、図7を参照しながら、本発明の第2の実施形態に係る処理決定システム201における処理について詳細に説明する。図7は、第2の実施形態に係る処理決定システム201における処理の流れを示すフローチャートである。
入力部102は、たとえば、外部装置等から、対象データサイズ、及び、該対象データサイズに関する宛先装置を表す宛先識別子等に関する情報を入力し、入力した情報をネットワーク情報通信部204に対して出力する。
ネットワーク情報通信部204は、入力部102が出力した情報を入力する。ネットワーク情報通信部204は、該宛先装置に関するネットワーク情報がネットワーク情報記憶部207に格納されていない場合に、該宛先装置に関するネットワーク情報をネットワーク情報提供装置203に要求する要求情報を送信する(ステップS201)。たとえば、ネットワーク情報通信部204は、入力した該宛先識別子を含む要求情報をネットワーク情報提供装置203に送信する。
ネットワーク情報提供装置203は、該要求情報を受信した場合に、ネットワーク情報記憶部206から、該要求情報に含まれている該宛先識別子が表す宛先装置に関するネットワーク情報を読み取り、読み取った該ネットワーク情報を処理決定装置202に送信する。
処理決定装置202において、ネットワーク情報通信部204は、該要求情報に応じてネットワーク情報提供装置203が送信したネットワーク情報を受信する(ステップS202)。ネットワーク情報は、たとえば、該宛先装置までの通信経路にて送信可能なパケットサイズを含んでいる。
第1処理時間計算部103は、ネットワーク情報通信部204が受信したネットワーク情報、及び、ネットワーク情報記憶部207に格納されているネットワーク情報に基づき、図2を参照しながら説明したような処理と同様な処理を実行する(ステップS101乃至ステップS103)。
以降においては、ネットワーク情報記憶部206に格納されているネットワーク情報、及び、ネットワーク情報記憶部207に格納されているネットワーク情報が、ともに、宛先装置に関するネットワーク情報を含んでいない場合に、第1処理時間計算部103において実行される処理の一例について具体的に説明する。
第1処理時間計算部103は、該宛先装置が通信接続する通信ネットワークセグメントに通信接続する情報処理装置に関するネットワーク情報に基づき、該宛先装置に関するネットワーク情報を作成してもよい。たとえば、第1処理時間計算部103は、該情報処理装置に関するネットワーク情報に含まれているパケットサイズの平均値を算出し、算出した該平均値を該宛先装置に関する第2最大パケットサイズに設定する。取得時間に関する情報がネットワーク情報に含まれている場合に、第1処理時間計算部103は、たとえば、該情報処理装置に関して最大パケットサイズを取得する取得処理に要する取得時間の平均値を算出し、算出した該平均値を該宛先装置に関する取得時間に設定してもよい。
第1処理時間計算部103は、ネットワーク情報記憶部207に格納されているすべての情報処理装置に関するネットワーク情報、または、ネットワーク情報記憶部206に格納されているすべての情報処理装置に関するネットワーク情報のうち、少なくとも、一方のネットワーク情報に基づき、該宛先装置に関するネットワーク情報を作成してもよい。たとえば、第1処理時間計算部103は、該すべての情報処理装置に関するネットワーク情報に含まれているパケットサイズの平均値を算出し、算出した該平均値を該宛先装置に関する第2最大パケットサイズに設定する。取得時間に関する情報がネットワーク情報に含まれている場合に、第1処理時間計算部103は、該すべての情報処理装置に関して最大パケットサイズを取得する取得処理に要する取得時間の平均値を算出し、算出した該平均値を該宛先装置に関する取得時間に設定してもよい。
第2処理時間計算部104は、ネットワーク情報通信部204によって取得されたネットワーク情報、及び、ネットワーク情報記憶部206に格納されているネットワーク情報に基づき、図2を参照しながら説明したような処理と同様な処理を実行する(ステップS104)。その後、処理決定部105は、図2を参照しながら説明したような処理と同様な処理を実行する(ステップS105)。
送信元装置は、処理決定装置202が決定した処理手順に従い、対象データを該宛先装置に向けて送信する通信処理を実行してもよい。
ネットワーク情報通信部204は、送信元装置が実行した該通信処理において取得した最大パケットサイズを入力した場合に、該宛先装置に関して、該最大パケットサイズを、パケットサイズとして含むネットワーク情報を作成し、該ネットワーク情報をネットワーク情報記憶部206に格納する。ネットワーク情報通信部204は、さらに、作成したネットワーク情報をネットワーク情報提供装置203に送信する。
ネットワーク情報提供装置203において、ネットワーク情報取得部205は、ネットワーク情報通信部204が送信した該ネットワーク情報を受信し、受信した該ネットワーク情報をネットワーク情報記憶部206に格納する。すなわち、送信元装置が該通信処理を実行する前に、ネットワーク情報記憶部206に、該宛先装置に関するネットワーク情報が格納されていた場合には、ネットワーク情報取得部205は、該通信処理において取得された情報に基づき、該ネットワーク情報記憶部206に格納されているネットワーク情報を更新する。送信元装置が該通信処理を実行する前に、ネットワーク情報記憶部206に、該宛先装置に関するネットワーク情報が格納されていなかった場合には、ネットワーク情報取得部205は、該通信処理において取得された情報に基づき、該ネットワーク情報記憶部206に格納されているネットワーク情報を作成する。
次に、本発明の第2の実施形態に係る情報処理システム156における処理について、図8に示された具体的な例を参照しながら説明する。図8は、情報処理システム156が有する構成の一例を表すブロック図である。
情報処理システム156は、データ送信端末152と、データ送信端末155と、サーバ端末154と、IPv6に従った通信ネットワーク153とを有する。データ送信端末152は、処理決定装置202を有する。データ送信端末155は、処理決定装置212を有する。通信ネットワーク153は、データ送信端末152と、データ送信端末155と、サーバ端末154との間を通信接続しており、上述したようなネットワーク情報提供装置203を通信接続可能に含んでいる。処理決定装置212は、図6、及び、図7を参照しながら説明したような処理決定装置202と同様な機能を有する。
説明の便宜上、ネットワーク情報提供装置203におけるネットワーク情報記憶部206には、サーバ端末154が通信接続する通信ネットワークに通信接続する情報処理装置に関するネットワーク情報が格納されていないとする。また、データ送信端末152がサーバ端末154に向けてデータ(以降、「第1データ」と表す)を送信し、その後、データ送信端末155がサーバ端末154に向けてデータ(以降、「第2データ」と表す)を送信したとする。
データ送信端末152が第1データをサーバ端末154に向けて送信する通信処理は、第1の実施形態にて説明した例と同様な処理である。このため、該通信処理に関する説明を省略する。
データ送信端末152は、第1データをサーバ端末154に向けて送信した後に、該第1データに関する該通信処理において取得した第1最大パケットサイズ等の通信情報を、ネットワーク情報提供装置203に送信する。第1最大パケットサイズは、たとえば、第1の実施形態に示された例において、3000バイトである。また、通信情報は、たとえば、データ送信端末152に関するIPアドレス、サーバ端末154に関するIPアドレス、サーバ端末154が通信接続する通信ネットワークセグメント、データ送信端末155からサーバ端末154までの通信経路における中継装置の台数(たとえば、ホップ数)等の情報を含んでいる。
ネットワーク情報提供装置203は、データ送信端末152が送信した通信情報を受信し、受信した通信情報に基づき、ネットワーク情報記憶部206に格納されているネットワーク情報(図9に例示)を更新する。図9は、ネットワーク情報の一例を概念的に表す図である。図9に例示されたネットワーク情報は、図3に例示されたネットワーク情報と同様の構成を有する。図9に示された例において、送信元識別子、及び、通信ネットワークセグメントは、16進数にて記述されている。
たとえば、通信情報が、送信元識別子「2001:1234:bacd:1234:0:0:0:1」、通信ネットワークセグメント「2001:1234:bacd:1234:0:0:0:0/64」、最大パケットサイズ「3000」、及び、ホップ数「5」を含んでいるとする。尚、「2001:1234:bacd:1234:0:0:0:0/64」において、「2001:1234:bacd:1234:0:0:0:0」は、IPv6に従い記載されたIPアドレスを表し、「/64」は、プレフィックス長を表している。すなわち、これは、IPアドレス「2001:1234:bacd:1234:0:0:0:0」のうち、「0:0:0:0」に示された64ビットが通信ネットワークセグメント内部のアドレスを表す数値であり、「2001:1234:bacd:1234」に示されたアドレスが通信ネットワークセグメントを相互に識別するネットワークセグメント情報であることを表す。
ネットワーク情報提供装置203は、データ送信端末152が送信した該通信情報を受信した場合に、該通信情報に含まれている各情報と、該通信情報を作成した日時(図9に示された例においては、「2016/10/10 11:11:11」)とが関連付けされた情報を作成し、作成した情報に基づきネットワーク情報を更新する)(図9に示すネットワーク情報の最終行)。
次に、データ送信端末155は、第2データをサーバ端末154に送信する前に、ネットワーク情報提供装置203に、サーバ端末154に関するネットワーク情報を要求する要求情報を送信する。この場合に、データ送信端末155は、たとえば、サーバ端末154を表すURL(Uniform Resource Locator)、IPアドレス等の識別子をネットワーク情報提供装置203に送信することによって、サーバ端末154に関するネットワーク情報を要求する要求情報を送信する。
ネットワーク情報提供装置203において、ネットワーク情報取得部205は、データ送信端末155が送信した要求情報を受信した場合に、受信した該要求情報に含まれているIPアドレス等の識別子を読み取り、読み取った該識別子が表す情報処理装置(この例の場合に、サーバ端末154)に関するネットワーク情報がネットワーク情報記憶部206に格納されているか否かを判定する。ネットワーク情報取得部205は、たとえば、該情報処理装置が、ネットワーク情報記憶部206に格納されているネットワーク情報に含まれている通信ネットワークセグメントに通信接続可能であるか否か(すなわち、該要求情報に含まれている該識別子に符合しているネットワークセグメント情報があるか否か)を判定する。
ネットワーク情報記憶部206に該情報処理装置に関するネットワーク情報が格納されている場合に、ネットワーク情報取得部205は、該情報処理装置に関するネットワーク情報を読み取り、読み取った該ネットワーク情報をデータ送信端末155に送信する。ネットワーク情報記憶部206に該情報処理装置に関するネットワーク情報が格納されていない場合に、ネットワーク情報取得部205は、ネットワーク情報記憶部206に格納されているネットワーク情報に基づき、要求情報に含まれている該識別子に関するネットワーク情報を作成してもよい。この場合に、ネットワーク情報取得部205は、たとえば、ネットワーク情報記憶部206に格納されている各ネットワーク情報に関して、パケットサイズ(または、ホップ数等)の平均値(または、最頻値、中央値等)を算出する。ネットワーク情報取得部205は、算出した値を含むネットワーク情報を、該識別子に関するネットワーク情報として作成し、作成した該ネットワーク情報をデータ送信端末155に送信する。
図9に例示されたネットワーク情報は、該要求情報に含まれている該識別子が表す情報処理装置に通信接続可能な通信ネットワークセグメントを含んでいる。この場合に、ネットワーク情報提供装置203は、ネットワーク情報記憶部206の中から、該識別子に関するネットワーク情報(最大パケットサイズ、ホップ数、日時等を含む)を特定し、特定した該ネットワーク情報をデータ送信端末155に送信する。
次に、データ送信端末155において、処理決定装置212は、ネットワーク情報提供装置203が送信した該ネットワーク情報を受信し、その後、最大パケットサイズを取得する取得処理に要する取得時間を算出する。図9に示された例の場合に、データ送信端末155が、たとえば、ネットワーク情報提供装置203から最大パケットサイズを取得することができるので、処理決定装置212は、所定の取得時間を、最大パケットサイズを取得する取得処理に要する取得時間として設定する。この場合に、所定の取得時間は、たとえば、0であるとしてもよいし、RTTであってもよい。
また、処理決定装置212は、受信したネットワーク情報に含まれている日時から所定の経過時間を経過している場合に、ネットワーク情報が変更されている可能性が高いと判定してもよい。所定の経過時間は、たとえば、6時間、12時間、24時間等である。ネットワーク情報が変更されている可能性が高い(たとえば、該日時から24時間を経過している)場合に、処理決定装置212は、第1の実施形態に示されている処理と同様な処理を実行することによって、第1最大パケットサイズを取得する取得処理に要する取得時間を算出する。
その後、処理決定装置212は、式1に示された処理と同様な処理を実行することによって、第2データを第2最大パケットサイズに従い送信する通信処理に要する通信時間を算出し、算出した該通信時間と、該取得時間との合計値である所要時間を算出する。また、処理決定装置202は、IPv6に関する仕様にて保障された最小パケットサイズに従い、該第2データを送信する処理に要する所要時間を算出する。次に、処理決定装置202は、該第2データを最大パケットサイズに従い送信する処理(すなわち、第2処理手順)に要する所要時間と、該第2データを最小パケットサイズに従い送信する処理(すなわち、第1処理手順)に要する所要時間とのうち、所要時間が短い処理手順を選択する。
データ送信端末155は、処理決定装置202が選択した処理に従い、該第2データをサーバ端末154に向けて送信する。
次に、本発明の第2の実施形態に係る処理決定システム201に関する効果について説明する。
第2の実施形態に係る処理決定システム201によれば、対象データを通信する通信処理を、処理時間が短い処理手順にて実現することができる。この理由は、第2の実施形態に係る処理決定システム201が有する構成は、第1の実施形態に係る処理決定装置101が有する構成を含んでいるからである。
第2の実施形態に係る処理決定システム201によれば、送信元装置が宛先装置に対象データを短期間に送信することができる。この理由は、複数の送信元装置が、最大パケットサイズ等が格納されているネットワーク情報を、相互に取得することができるからである。言い換えると、最大パケットサイズ等が格納されているネットワーク情報を、複数の送信元装置が相互に取得することによって、該複数の送信元装置は、該ネットワーク情報を共有することができる。たとえば、ある宛先装置にデータを送信したことがない送信元装置は、該ある宛先装置が通信接続可能な通信ネットワークにデータを送信したことがある送信元装置が有するネットワーク情報に基づき、最大パケットサイズを取得することができる。この場合に、ネットワーク情報を共有する送信元装置が、同じ通信ネットワークセグメントに含まれていれば、最大パケットサイズを、さらに正確に取得することができる。この結果、処理決定装置202が、所要時間を、さらに正確に算出するので、送信元装置は、より短期間に対象データを送信する処理を完了することができる。
本実施形態に係る処理決定システム201によれば、送信元装置と、宛先装置とが通信したことがない場合であっても、効率的な通信を実現することができる。この理由は、宛先装置が通信接続する通信ネットワークセグメントに通信接続する情報処理装置、及び、該送信元装置の間における通信経路と、該宛先装置、及び、該送信元装置の間における通信経路とが、一致している可能性が高いからである。言い換えると、処理決定システム201は、該情報処理装置に関するパケットサイズに基づき、該宛先装置に関するパケットサイズを正確に特定することができる可能性が高い。したがって、処理決定システム201が該パケットサイズに基づき求める所要時間が正確になるので、処理決定システム201によれば、効率的な通信を実現することができる。
本実施形態に係る処理決定システム201によれば、送信元装置と、宛先装置とが通信したことがない場合であっても、効率的な通信を実現することができる。この理由は、ネットワーク情報が宛先装置に関するパケットサイズを含んでいない場合であっても、複数の情報処理装置に関するパケットサイズの平均値(または、中央値、頻出値)が、宛先装置に関する該パケットサイズである可能性が高いからである。
本実施形態に係る処理決定システム201によれば、送信元装置と宛先装置との間の通信を、さらに短期間に実行することができる。この理由は、通信が実行されたタイミングから経過した経過時間に応じて、ネットワーク情報に含まれているパケットサイズが正しいか否かを判定し、判定した結果に基づき、取得時間を算出するからである。この理由をより詳細に説明する。該経過時間が短い場合には通信経路が変更されている可能性は低いので、通信処理において、適切なパケットサイズを取得する取得処理は余分な処理である可能性が高い。また、該経過時間が長い場合には通信経路が変更されている可能性は高いので、通信処理において、適切なパケットサイズを取得する取得処理を実行することによって、通信時間が短い通信を実現することができる可能性が高い。したがって、第1処理時間計算部103が該取得処理の有無を判定することによって、短期間な通信処理を実現する処理を、より正確に算出することができる。
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図10を参照しながら、本発明の第3の実施形態に係る処理決定装置301が有する構成について詳細に説明する。図10は、本発明の第3の実施形態に係る処理決定装置301が有する構成を示すブロック図である。
処理決定装置301は、取得時間算出部302と、通信時間算出部303と、処理選択部304とを有する。
処理決定装置301は、送信元装置と、宛先装置とが対象データを通信する前に、図11に示した処理に従い、複数の処理手順(たとえば、第1処理手順、第2処理手順)の中から、該対象データに関する処理手順を決定する。
次に、図11を参照しながら、本発明の第3の実施形態に係る処理決定装置301における処理について詳細に説明する。図11は、第3の実施形態に係る処理決定装置301における処理の流れを示すフローチャートである。
まず、取得時間算出部302は、各処理手順に関して、通信経路において通信可能なパケットサイズを取得する取得処理に要する取得時間を算出する(ステップS301)。取得時間は、たとえば、送信元装置と、宛先装置との間の通信経路における中継装置の台数と、データが2つの装置間を往復する往復処理に要する往復時間とに基づき、該台数分の該往復処理に要する時間である。取得時間算出部302は、ネットワーク情報(図3に例示)に基づき、送信元装置と、宛先装置との間の通信経路における中継装置の台数を特定し、所定の往復時間と、該台数とを掛け算することによって、該取得時間を算出する。たとえば、第1処理手順においては、パケットサイズを取得する処理が実行されないので、第1処理手順の場合に、取得時間算出部302は、取得時間として0を算出してもよい。
次に、通信時間算出部303は、各処理手順に関して、送信元装置が対象データを送信したタイミングから宛先装置が該対象データを受信するタイミングまでの通信処理に要する通信時間を算出する(ステップS302)。通信時間算出部303は、たとえば、ネットワーク情報(図3に例示)に基づき、該通信経路にてパケットロスが生じる程度を表すパケットロス率を特定し、さらに、送信元装置及び宛先装置の間にて実行された通信に関するパケットサイズの最大値を算出する。次に、通信時間算出部303は、特定した該程度と、算出した該最大値とに対して、式1に示された処理を実行することによって、該通信経路に関するスループットを算出する。次に、通信時間算出部303は、算出した該スループットと、該対象データサイズとに基づき、第2処理手順における該通信処理に関する該通信時間を算出する。同様に、通信時間算出部303は、該所定のパケットサイズ(たとえば、IPv6に関する仕様にて保障された最小パケットサイズ)と、該パケットロス率とに対して、式1に示された処理を実行することによって、第1処理手順における該通信処理に関する該通信時間を算出する。
処理選択部304は、各処理手順に関して、取得時間算出部302が算出した該取得時間と、通信時間算出部303が算出した該通信時間とが合計された所要時間を算出する(ステップS303)。処理選択部304は、複数の処理手順のうち、該所要時間が短い処理手順を選択する(ステップS304)。
その後、送信元装置は、処理決定装置301が選択した処理手順に従い、処理を実行してもよい。
取得時間算出部302は、第1処理時間計算部103(図1、図6)、または、第2処理時間計算部104(図1、図6)等が有する機能と同様な機能によって実現することができる。通信時間算出部303は、第1処理時間計算部103(図1、図6)、または、第2処理時間計算部104(図1、図6)等が有する機能と同様な機能によって実現することができる。処理選択部304は、処理決定部105(図1、図6)等が有する機能と同様な機能によって実現することができる。すなわち、処理決定装置301は、処理決定装置101(図1)、処理決定システム201(図6)等が有する機能と同様な機能によって実現することができる。
次に、本発明の第3の実施形態に係る処理決定装置301に関する効果について説明する。
第3の実施形態に係る処理決定装置301によれば、複数の情報処理装置間における通信処理に関して、効率的な通信を実現することができる。この理由は、送信元装置と宛先装置との間にて通信するデータを表す対象データサイズに応じて、所要時間が短い処理を処理決定装置301が選択するからである。この理由について詳細に説明する。
送信元装置が宛先装置に向けて対象データを送信する場合に、送信元装置と、宛先装置との間の通信経路には、該対象データを中継している1つ以上の中継装置が存在している。中継装置は、通信ネットワークを介して対象データを送信する場合に、該対象データをパケットと呼ばれる単位のデータに分割し、分割によって得られた各パケットを転送する処理を実行する。送信元装置から宛先装置に対象データを送信する処理に要する通信時間が該パケットのサイズに応じて変化するので、該時間が短時間である場合の適切なサイズを取得する取得処理が通信ネットワークにて実行されることもある。
しかし、該取得処理には処理時間を要するので、該取得処理が実行された場合であっても、必ずしも、適切なサイズを取得する処理に要する該取得時間と、該サイズを有するパケットにて対象データを通信する処理に要する通信時間との合計値である所要時間が最適化されているとは限らない。本実施形態に係る処理決定装置301は、複数のパケットサイズのうち、該所要時間が短い場合のパケットサイズを選択する。すなわち、処理決定装置301は、該所要時間が短い場合のパケットサイズを選択することによって、パケットサイズが相互に異なる複数の処理の中から所要時間が短い処理を選択する。この結果、本実施形態に係る処理決定装置301によれば、複数の情報処理装置間における通信処理に関して、取得処理を含めた所要時間に関して効率的な通信を実現することができる。
(ハードウェア構成例)
上述した本発明の各実施形態に係る処理決定装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係る処理決定装置は、物理的または機能的に少なくとも2つの計算処理装置を用いて実現されてもよい。また、係る処理決定装置は、専用の装置として実現されてもよい。
図12は、本発明の各実施形態に係る処理決定装置を実現可能な計算処理装置のハードウェア構成例を概略的に示すブロック図である。計算処理装置20は、中央処理演算装置(Central_Processing_Unit、以降「CPU」と表す)21、メモリ22、ディスク23、不揮発性記録媒体24、及び、通信インターフェース(以降、「通信IF」と表す)27を有する。計算処理装置20は、入力装置25、出力装置26に接続可能であってもよい。計算処理装置20は、通信IF27を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
不揮発性記録媒体24は、コンピュータが読み取り可能な、たとえば、コンパクトディスク(Compact_Disc)、デジタルバーサタイルディスク(Digital_Versatile_Disc)である。また、不揮発性記録媒体24は、ユニバーサルシリアルバスメモリ(USBメモリ)、ソリッドステートドライブ(Solid_State_Drive)等であってもよい。不揮発性記録媒体24は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体24は、上述した媒体に限定されない。また、不揮発性記録媒体24の代わりに、通信IF27、及び、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
すなわち、CPU21は、ディスク23に格納されているソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行する際にメモリ22にコピーし、演算処理を実行する。CPU21は、プログラム実行に必要なデータをメモリ22から読み取る。外部への出力が必要な場合に、CPU21は、出力装置26に出力結果を出力する。外部からプログラムを入力する場合に、CPU21は、入力装置25からプログラムを読み取る。CPU21は、上述した図1、図6、または、図10に示す各部が表す機能(処理)に対応するところのメモリ22にある処理決定プログラム(図2、図7、または、図11)を解釈し実行する。CPU21は、上述した本発明の各実施形態において説明した処理を順次実行する。
すなわち、このような場合に、本発明は、係る処理決定プログラムによっても成し得ると捉えることができる。さらに、係る処理決定プログラムが記録されたコンピュータが読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。