(57)【要約】【課題】  複数のアクセスにより輻輳が生じた場合でも、コストが増加することなく情報取得の失敗や情報取得時間の遅延を回避できる情報転送装置等を提供する。【解決手段】  情報転送装置は、通信回線を介して通信可能な情報配信装置に対して送信される、同じ情報に対する取得要求の数に応じて、当該取得要求により要求される情報を、前記情報配信装置から取得すると共に、自装置が備える記憶手段に格納する代理応答手段と、前記格納が完了すると、前記取得要求により要求される情報を前記記憶手段から取得すると共に、当該取得要求の送信元に返送する返送手段とを備える。【選択図】      図２
2015165632.tif 000002
【特許請求の範囲】
【請求項１】
通信回線を介して通信可能な情報配信装置に対して送信される、同じ情報に対する取得要求の数に応じて、当該取得要求により要求される情報を、前記情報配信装置から取得すると共に、自装置が備える記憶手段に格納する代理応答手段と、
前記格納が完了すると、前記取得要求により要求される情報を前記記憶手段から取得すると共に、当該取得要求の送信元に返送する返送手段と
を備えた情報転送装置。
【請求項２】
前記同じ情報に対する取得要求の数が上限閾値を超えたのに応じて、当該取得要求の宛先を、前記情報配信装置から前記代理応答手段に変換する宛先変換手段を
さらに備えた請求項１記載の情報転送装置。
【請求項３】
前記宛先変換手段は、前記返送手段により返送される前記情報の送信元を表す情報を、前記代理応答手段から前記情報配信装置に変換する
請求項２記載の情報転送装置。
【請求項４】
前記代理応答手段は、前記同じ情報に対する取得要求の数が上限閾値を超えたのに応じて、前記記憶手段に当該情報が格納されるか否かを調べ、格納されない場合に当該情報を前記情報配信装置から取得する
請求項１ないし請求項３のいずれか１項記載の情報転送装置。
【請求項５】
前記代理応答手段は、前記同じ情報に対する取得要求の数が下限閾値を下回ったのに応じて、当該情報を前記記憶手段から削除する
請求項１ないし請求項４のいずれか１項記載の情報転送装置。
【請求項６】
コンピュータによって、
通信回線を介して通信可能な情報配信装置に対して送信される、同じ情報に対する取得要求の数に応じて、当該取得要求により要求される情報を、前記情報配信装置から取得すると共に、自コンピュータが備える記憶手段に格納し、
前記格納が完了すると、前記取得要求により要求される情報を前記記憶手段から取得すると共に、当該取得要求の送信元に返送する
情報転送方法。
【請求項７】
前記同じ情報に対する取得要求の数が上限閾値を超えたのに応じて、当該取得要求の宛先を、前記情報配信装置から、当該情報配信装置から前記情報を取得する代理応答手段に変換する
請求項６記載の情報転送方法。
【請求項８】
前記返送される情報の送信元を表す情報を、前記代理応答手段から前記情報配信装置に変換する
請求項７記載の情報転送方法。
【請求項９】
通信回線を介して通信可能な情報配信装置に対して送信される、前記同じ情報に対する取得要求の数に応じて、当該取得要求により要求される情報を、前記情報配信装置から取得すると共に、コンピュータが備える記憶手段に格納する処理と、
前記格納が完了すると、前記取得要求により要求される情報を前記記憶手段から取得すると共に、当該取得要求の送信元に返送する処理とを、
コンピュータに実行させるプログラム。
【請求項１０】
通信回線を介して通信可能な情報配信装置に対して送信される、同じ情報に対する取得要求の数に応じて、当該取得要求により要求される情報を、前記情報配信装置から取得すると共に、自装置が備える第１の記憶手段に格納する第１の代理応答手段と、
前記格納が完了すると、前記取得要求により要求される情報を前記記憶手段から取得すると共に、当該取得要求の送信元に返送する第１の返送手段と
を備えた第１の情報転送装置と、
前記第１の情報転送装置と通信可能に接続され、前記情報配信装置に対して送信される、前記同じ情報に対する取得要求の数に応じて、当該取得要求により要求される情報を、前記情報配信装置または前記第１の情報転送装置から取得すると共に、自装置が備える第２の記憶手段に格納する第２の代理応答手段と、
前記格納が完了すると、前記取得要求により要求される情報を前記第２の記憶手段から取得すると共に、当該取得要求の送信元に返送する第２の返送手段と
を備えた第２の情報転送装置と
を備えた情報転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報配信装置から端末へ情報を配信する技術に関する。
【背景技術】
【０００２】
複数の端末から、データ配信装置に対して同時にデータの取得要求が送信されるネットワークシステムでは、データ配信装置とそれに隣接して接続されるデータ転送装置と間の回線が輻輳することに起因して、帯域のボトルネックが発生する場合がある。この場合、データの取得要求を送信した端末は、データの取得に長時間を要したり、データの取得自体ができなくなったりする場合がある。
【０００３】
これらを回避する仕組みとして、データ配信装置とそれに隣接するデータ転送装置と間にリンクアグリゲーションを適用することにより帯域多重化を実現する技術や、データ配信装置を増やすと共に負荷分散装置を用いることにより負荷分散を実現する技術がある。あるいは、プロキシサーバを利用したキャッシュ技術を導入することも考えられる。
【０００４】
例えば、特許文献１は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークにおけるスイッチ装置及びダウンストリームデータ分散配信方法に関し、クライアント・サーバ通信におけるボトルネックとなるサーバ近辺のトラフィック負荷を軽減する技術を開示する。
【０００５】
また、特許文献２は、ネットワークトラフィックの増大を低減しつつ、クライアントからの要求頻度が高いコンテンツを、クライアントに高速に提供する技術を開示する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１４７５７８号公報
【特許文献２】特開２００３−４４３４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のように回線の輻輳を回避するためにリンクアグリゲーションを適用するには、データ配信装置に複数のＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）を設ける必要がある。また、データ配信装置をＬＡＣＰ（Ｌｉｎｋ  Ａｇｇｒｅｇａｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）などのプロトコルに対応させる必要もある。
【０００８】
また、データ配信装置を増やすと共に負荷分散装置を利用するためには、複数のデータ配信装置と負荷分散装置の導入コストがかかる。また、あらかじめ複数のデータ配信装置に同じデータを準備しておく必要があるので、そのためのオペレーションコストもかかる。
【０００９】
また、プロキシサーバを利用したキャッシュ技術を導入したとしても、プロキシサーバとそれに隣接するデータ転送装置との間の帯域において送信可能なデータ量はプロキシサーバの導入前と変わらないので、同じように帯域のボトルネックが発生する。さらに、プロキシサーバの導入には、一般に、プロキシサーバのセキュリティ確保のためＤＭＺ（ＤｅＭｉｌｉｔａｒｉｚｅｄ  Ｚｏｎｅ）の確保に必要なファイアーウォールの導入が必要であるので、設備の導入コストやその管理コストがかかる。
【００１０】
このように、上述のような技術では、複数のアクセスにより生じた輻輳に起因するデータ取得の失敗やデータ取得時間の遅延を回避することはできるが、設備導入コストや管理コストがかかってしまうという課題がある。
【００１１】
また、特許文献１および特許文献２には、複数のアクセスにより生じた輻輳に起因するデータ取得の失敗やデータ取得時間の遅延を回避する技術は開示されていない。
【００１２】
本願発明は、上記課題を鑑みてなされたものであり、複数のアクセスにより輻輳が生じた場合でも、コストが増加することなく情報取得の失敗や情報取得時間の遅延を回避できる情報転送装置等を提供することを主要な目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１の情報転送装置は、通信回線を介して通信可能な情報配信装置に対して送信される、同じ情報に対する取得要求の数に応じて、当該取得要求により要求される情報を、前記情報配信装置から取得すると共に、自装置が備える記憶手段に格納する代理応答手段と、前記格納が完了すると、前記取得要求により要求される情報を前記記憶手段から取得すると共に、当該取得要求の送信元に返送する返送手段とを備える。
【００１４】
本発明の第１の情報転送方法は、通信回線を介して通信可能な情報配信装置に対して送信される、同じ情報に対する取得要求の数に応じて、当該取得要求により要求される情報を、前記情報配信装置から取得すると共に、自装置が備える記憶手段に格納し、前記格納が完了すると、前記取得要求により要求される情報を前記記憶手段から取得すると共に、当該取得要求の送信元に返送する。
【００１５】
本発明の第１の情報転送システムは、通信回線を介して通信可能な情報配信装置に対して送信される、同じ情報に対する取得要求の数に応じて、当該取得要求により要求される情報を、前記情報配信装置から取得すると共に、自装置が備える第１の記憶手段に格納する第１の代理応答手段と、前記格納が完了すると、前記取得要求により要求される情報を前記記憶手段から取得すると共に、当該取得要求の送信元に返送する第１の返送手段と
を備えた第１の情報転送装置と、前記第１の情報転送装置と通信可能に接続され、前記情報配信装置に対して送信される、同じ情報に対する取得要求の数に応じて、当該取得要求により要求される情報を、前記情報配信装置または前記第１の情報転送装置から取得すると共に、自装置が備える第２の記憶手段に格納する第２の代理応答手段と、前記格納が完了すると、前記取得要求により要求される情報を前記第２の記憶手段から取得すると共に、当該取得要求の送信元に返送する第２の返送手段とを備えた第２の情報転送装置とを備える。
【００１６】
なお同目的は、上記の各構成を有する情報転送装置または情報転送方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１７】
本願発明によれば、複数のアクセスにより輻輳が生じた場合でも、コストが増加することなく情報取得の失敗や情報取得時間の遅延を回避できるという効果が得られる。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明の第１の実施形態に係るデータ転送システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るデータ転送装置の詳細な構成を示すブロック図である。
【図３】本発明の第１の実施形態に係るデータ転送装置において、同じデータに対するデータ取得要求が輻輳しているか否かを判断する動作について説明するフローチャートである。
【図４】本発明の第１の実施形態に係るデータ転送装置が備えるデータ管理部が保存するキー情報を示す図である。
【図５】本発明の第１の実施形態に係るデータ転送装置が備えるデータ管理部が送信経路を切り替えないと判断した場合の動作を示すフローチャートである。
【図６】本発明の第１の実施形態に係るデータ転送装置が備えるデータ管理部が送信経路を切り替えると判断した場合の動作を示すフローチャートである。
【図７】本発明の第１の実施形態に係るデータ転送装置が備える代理応答部がデータ配信装置からデータを取得する際の通信経路を説明する図である。
【図８】本発明の第１の実施形態に係るデータ転送装置が備える代理応答部が、データ配信装置からデータを取得する動作を説明するフローチャートである。
【図９】本発明の第２の実施形態に係るデータ転送システムの構成を示すブロック図である。
【図１０】本発明の第２の実施形態に係るデータ転送システムの構成を示すブロック図である。
【図１１】本発明の各実施形態に係る情報処理装置のハードウエア構成を例示する図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００２０】
第１の実施形態
図１は、本発明の第１の実施形態に係るデータ転送システム１０００の構成を示すブロック図である。図１に示すように、データ転送システム１０００は、データ転送装置１００、データ配信装置２００および複数の端末３００１乃至３００ｎを備える。端末３００１乃至３００ｎは、それぞれデータ配信装置２００に対して、データの取得要求（以降、「データ取得要求」と称する）を通信回線３０１１乃至３０１ｎを介してデータ転送装置１００に供給する。データ転送装置１００は、上記データ取得要求を、通信回線１０１を介してデータ配信装置２００に供給すると共に、当該データ取得要求により要求されるデータを通信回線３０１１乃至３０１ｎを介して端末３００１乃至３００ｎに返送する。データ転送装置１００は、例えば、ルータやスイッチ等である。
【００２１】
複数の端末３００１乃至３００ｎがデータ配信装置２００に対してデータ取得要求を同時（または略同時）に送信すると、通信回線１０１に輻輳が生じると共に、確保されたデータ帯域における帯域使用量が閾値を超えてしまう虞がある。ここで、同時とは、同じ時刻にデータ取得要求を送信することに限らず、当該データ取得要求の送信に通信回線１０１が使用される時間が重なることも含まれる。
【００２２】
そこで、本実施形態では、データ転送装置１００がストレージ１１０を備えると共に、データ取得要求の送信先を切り替えることにより、通信回線１０１が輻輳することを回避する。
【００２３】
図２は、データ転送装置１００の詳細な構成を示すブロック図である。図２に示すように、データ転送装置１００は、ＡＰＬ（Ａ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｌａｎｇｕａｇｅ）データ解析部１２０、データ管理部１３０、ＡＰＬデータ変換部１４０、データ転送部１５０、ＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）変換部１６０、代理応答部１７０を備える。
【００２４】
各構成要素は概略次のように動作する。
【００２５】
データ転送装置１００は、端末群３００からのデータ取得要求を、ＡＰＬデータ解析部１２０において取得する。ＡＰＬデータ解析部１２０は、取得したデータ取得要求を解析する。データ管理部１３０は、ＡＰＬデータ解析部１２０が解析した結果を保存すると共に、同じデータに対するデータ取得要求が輻輳しているか否かを判断する。ＡＰＬデータ変換部１４０は、データ取得要求に含まれる情報を必要に応じて変更する。
【００２６】
ＮＡＰＴ変換部１６０は、データ取得要求、および当該データ取得要求に対する応答であるデータ取得応答にそれぞれ含まれるＩＰアドレスおよびポート番号の変換を行う。代理応答部１７０は、データ取得要求により要求されるデータをストレージ１１０から取得すると共に、取得したデータをＮＡＰＴ変換部１６０に供給する。データ転送部１５０は、ＮＡＰＴ変換部１６０から取得したデータを、所定のルールに従って、端末群３００のうちのデータ取得要求の送信元である端末に返す。
【００２７】
次に、データ転送装置１００の具体的な動作について説明する。
【００２８】
図３は、データ転送装置１００において、同じデータに対するデータ取得要求が輻輳しているか否かを判断する動作について説明するフローチャートである。図３を参照して、輻輳の有無を判断する動作について説明する。
【００２９】
端末群３００のうちの１または複数の端末は、データ配信装置２００に格納されるデータを取得するリクエストであるデータ取得要求を、データ転送装置１００に宛てて送信する。端末からのデータ取得要求は、まず、データ転送装置１００において受信される。データ転送装置１００において受信されたデータ取得要求は、ＡＰＬデータ解析部１２０において解析される（ステップＳＴ４０１）。具体的には、ＡＰＬデータ解析部１２０は、データ取得要求に使用されるプロトコル、リクエスト種別を取得する。プロトコルには、例えばＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等がある。リクエスト種別には、例えばＨＴＴＰにおけるＧｅｔメソッド等がある。
【００３０】
さらに、ＡＰＬデータ解析部１２０は、取得対象のファイル名（例えば「ｘｘｘ．ｈｔｍｌ」）、データ取得先のＩＰアドレス、データ取得先のポート番号を取得する。
【００３１】
ＡＰＬデータ解析部１２０は、取得した上記５つの情報をキー情報として、データ管理部１３０に渡す。データ管理部１３０は、取得したキー情報を保存する（ステップＳＴ４０２）。図４は、データ管理部１３０が保存するキー情報を示す図である。データ管理部１３０は、重複するキー情報も別情報として保存する。データ管理部１３０は、キー情報を保存した後に一定時間経過すると、当該キー情報を削除してもよい。一定時間は、データ転送装置１００の管理者等によって予め設定される時間であってもよい。
【００３２】
管理者等は、さらに、データ取得要求が輻輳しているか否かの判断に用いられる閾値をデータ管理部１３０に設定しておく。例えば、管理者等は、データ取得要求の発生区間（時間）と、その時間内における同じデータに対するデータ取得要求の発生件数の上限と下限とを当該閾値として設定する。データ管理部１３０は、同じデータに対するデータ取得要求の発生件数が上限の閾値を超えると輻輳状態であると判断し、下限の閾値を下回ると輻輳回復状態である（輻輳状態から輻輳がない状態へ変化）と判断する（ステップＳＴ４０３）。
【００３３】
例えば、複数の端末に適用されるファイルサイズの大きいセキュリティパッチファイルの取得要求の件数が、一定時間当たりに上限の閾値を超えた場合、データ管理部１３０は、輻輳状態であると判断すると共に、データ取得要求の送信経路を切り替える。ここで、データ管理部１３０がデータ取得要求の送信経路を切り替えると、送信先が代理応答部１７０に変更されるので、データ取得応答の送信経路も切り替わる（詳細は後述する）。データ取得応答とは、データ取得要求により要求されるデータを含む、当該データ取得要求に対する応答である。
【００３４】
ここで、データ取得要求の送信経路について説明する。
【００３５】
輻輳が生じていない場合、データ取得要求は、送信経路１０ａを介して送信され、データ取得応答は送信経路１０ｂを介して返送される。一方、輻輳が生じている場合、データ管理部１３０により送信経路が切り替えられることにより、データ取得要求は、送信経路１０ｃを介して送信され、データ取得応答は送信経路１０ｄを介して返送される。
【００３６】
データ管理部１３０は、送信経路を切り替えるか否かの判断の結果を、ＡＰＬデータ解析部１２０に通知する。ここで、ＡＰＬデータ解析部１２０への送信経路の切り替え指示は、ストレージ１１０へのデータの格納が完了したのちに通知される。図３において、「Ｂ」は、ストレージ１１０へのデータの格納処理を示し、「Ｃ」は、送信経路の切り替え処理を示す。データ管理部１３０は、輻輳していない、すなわち送信経路を切り替えないと判断した場合、「Ａ」に示す処理に移る。
【００３７】
図５は、データ管理部１３０が、送信経路を切り替えない（、すなわち同じデータに対するデータ取得要求が輻輳していない）と判断した場合の動作を示すフローチャートである。図５に示す動作は、図３に示す「Ａ」以降の動作である。図５を参照して、輻輳が生じていない場合のデータ転送装置１００の動作について説明する。
【００３８】
ＡＰＬデータ解析部１２０は、同じデータに対するデータ取得要求が輻輳していない、すなわち経路切り替えをしない旨の通知をデータ管理部１３０から受けると、図２に示す経路１０ａを介してデータ転送部１５０にデータ取得要求を送信する（ステップＳＴ４１０）。データ転送部１５０は、自身が保持する転送ルールに従って、データ配信装置２００にデータ取得要求を転送する（ステップＳＴ４１１）。ここで、転送ルールとは、イーサフレーム、ＩＰアドレス、ポート番号、デフォルトゲートウェイの設定等に基づく転送ルールであり、例えば、レイヤー２スイッチ、ルータ、マルチレイヤー対応スイッチなどに搭載されている転送エンジンの動作等を指す。
【００３９】
データ配信装置２００は、データ取得要求を受信すると、自装置に格納される当該データ取得要求により要求されるデータを読み出す（ステップＳＴ４１２）。そして、データ配信装置２００は、読み出したデータを含むデータ取得応答を作成し、データ転送部１５０に返送する（ステップＳＴ４１３）。データ転送部１５０は、上記転送ルールに従って、データ取得応答を端末群３００に返送する（ステップＳＴ４１４）。端末群３００は、当該データ取得応答を受信する（ステップＳＴ４１５）。データ取得応答の返送には、図２に示す経路１０ｂが用いられる。上記動作により、データ転送装置１００は、輻輳が生じていない場合、データ取得要求により要求されるデータを端末に送信する。
【００４０】
図６は、データ管理部１３０が、送信経路を切り替える、すなわち同じデータに対するデータ取得要求が輻輳していると判断した場合の動作を示すフローチャートである。図６に示す動作は、図３に示す「Ｃ」以降の動作である。輻輳が生じている場合、代理応答部１７０がデータ配信装置２００の代理としてデータを取得する。図６を参照して、輻輳が生じている場合のデータ転送装置１００の動作について説明する。
【００４１】
ＡＰＬデータ解析部１２０は、同じデータに対するデータ取得要求が輻輳している、すなわち経路切り替えをする旨の通知をデータ管理部１３０から受けると、ＡＰＬデータ変換部１４０にデータ取得要求を送信する（ステップＳＴ４２０）。ＡＰＬデータ変換部１４０は、データ取得要求に含まれる情報を、プロトコルに応じて必要な場合は変更する（ステップＳＴ４２１）。例えば、データ取得要求におけるＩＰヘッダに含まれる宛先アドレスの他にも宛先アドレスを示す情報がペイロード内に含まれる場合、ＡＰＬデータ変換部１４０は、その宛先アドレスを、ＮＡＰＴ変換部１６０により変更される宛先アドレス（ここでは、代理応答部１７０が有するＩＰアドレス）に変更する。なお、当該ＩＰアドレスは、代理応答部１７０に予め設定されており、ＡＰＬデータ変換部１４０およびデータ転送部１５０もそのＩＰアドレスの情報を共有している。
【００４２】
ＡＰＬデータ変換部１４０は、宛先アドレスを示す情報を変更したデータ取得要求を、ＮＡＰＴ変換部１６０に転送する。ＮＡＰＴ変換部１６０は、データ取得要求を取得すると、後に当該データ取得要求への応答であるデータ取得応答を送信元に返送するために、データ取得要求に含まれる、送信元のＩＰアドレスとポート番号、および宛先のＩＰアドレスとポート番号を、保存しておく（ステップＳＴ４２２）。
【００４３】
続いて、ＡＰＬデータ変換部１４０は、取得したデータ取得要求を代理応答部１７０に転送するために、当該データ取得要求に含まれる宛先ＩＰアドレスと宛先ポート番号を、代理応答部１７０が有するＩＰアドレスおよびポート番号に変換する（ステップＳＴ４２３）。ＮＡＰＴ変換部１６０は、宛先ＩＰアドレスと宛先ポート番号を変更したデータ取得要求を、代理応答部１７０に転送する。
【００４４】
代理応答部１７０は、データ取得要求を取得すると。データ配信装置２００の代理の動作を行う。すなわち、代理応答部１７０は、データ取得要求により要求されるデータをストレージ３１０から取得する（ステップＳＴ４２４）。そして、代理応答部１７０は、取得したデータを含むデータ取得応答を作成する（ステップＳＴ４２５）。ここで、代理応答部１７０は、データ取得要求により要求されるデータを予めデータ配信装置２００から取得すると共に、当該データをストレージ３１０に格納している（当該動作の詳細は後述する）。
【００４５】
代理応答部１７０は、作成したデータ取得応答をＮＡＰＴ変換部１６０に転送する。ここで、上述のように、代理応答部１７０が作成したデータ取得応答は、代理応答部１７０が送信元であるために、当該データ取得応答に含まれる送信元のＩＰアドレスおよびポート番号は、代理応答部１７０のＩＰアドレスおよびポート番号である。しかしながら、端末群３００とデータ配信装置２００とのセッションの一貫性を保つため、データ取得応答の送信元の情報は、データ配信装置２００を示す情報である必要がある。したがって、ＮＡＰＴ変換部１６０は、データ取得応答の送信元のＩＰアドレスおよびポート番号を、データ配信装置２００がデータを返却する際の情報に変更する。すなわち、ＮＡＰＴ変換部１６０は、ステップＳＴ４２２において保存しておいたデータ配信装置２００のＩＰアドレスおよびポート番号を、データ取得応答における送信元のＩＰアドレスおよびポート番号として置き換える（ステップＳＴ４２６）。ＮＡＰＴ変換部１６０は、上記データ取得応答をデータ転送部１５０に転送する。
【００４６】
データ転送部１５０は、取得したデータ取得応答を、上記転送ルールに従って送信元の端末群３００に返送する（ステップＳＴ４２７）。端末群３００は、返送されたデータ取得応答を受信する（ステップＳＴ４２８）。
【００４７】
データ転送装置１００は、以上の動作により、端末群３００からの同じデータに対する取得要求が輻輳している場合に、当該データの取得と端末群３００への返送を行う。
【００４８】
ここで、上述したように、代理応答部１７０は、データ取得要求により要求されるデータを予めデータ配信装置２００から取得すると共にストレージ３１０に格納する動作について説明する。この動作は、図３に示す「Ｂ」のタイミング、すなわち、データ管理部１３０が同じデータに対するデータ取得要求の輻輳を検出したタイミングで呼び出される動作である。
【００４９】
図７は、代理応答部１７０がデータ配信装置２００からデータを取得する際の通信経路を説明する図である。また、図８は、当該通信経路を介して、代理応答部１７０が、データ配信装置２００からデータを取得する動作を説明するフローチャートである。図７および図８を参照して、当該動作について説明する。なお、図７では、図２に示すＡＰＬデータ変換部１４０およびＮＡＰＴ変換部１６０を省略している。
【００５０】
データ管理部１３０は、図３のステップＳＴ４０３に示す輻輳の判断において、輻輳していることを検出したとき（「Ｂ」に示す）、図８に示す動作を開始する。すなわち、データ管理部１３０は、輻輳していることを検出すると（ステップＳＴ４３０）、図７に示す経路１１ａを介して、代理応答部１７０に、データ取得要求により要求されるデータをデータ配信装置２００から取得する要求であるデータ代理取得要求を送信する。データ代理取得要求には、データ取得要求に含まれる、取得すべきデータのキー情報が含まれる。
【００５１】
代理応答部１７０は、データ代理取得要求を受け取ると、図７に示す経路１１ｂを介して、要求されるデータがストレージ３１０に存在するか否かを確認する（ステップＳＴ４３１）。代理応答部１７０は、当該データがストレージ３１０に存在する場合、経路１１ｃを介してその旨をデータ管理部１３０に通知する。
【００５２】
一方、当該データがストレージ３１０に存在しない場合、代理応答部１７０は、データ管理部１３０から取得したキー情報に基づいてデータ取得要求を作成する（ステップＳＴ４３２）。そして、代理応答部１７０は、作成したデータ取得要求をデータ転送部１５０に転送する。
【００５３】
なお、ストレージ３１０へのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）アクセスが増加することによりデータ転送装置１００のパフォーマンスが低下する虞がある。これを防ぐために、データ転送装置１００において、ストレージ３１０へのＩ／Ｏアクセス専用のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）コアの割り付けを行ったり、性能の良いＣＰＵを使用したりすることが望ましい。
【００５４】
データ転送部１５０は、転送ルールにしたがって、上記データ取得要求を経路１１ｄを介してデータ配信装置２００に転送する。データ配信装置２００は、受信したデータ取得要求により要求されるデータを取得する（ステップＳＴ４３４）。そして、データ配信装置２００は、当該データを含むデータ取得応答を作成し、経路２０ｅを介して代理応答部１７０宛てにデータ取得応答を送信する（ステップＳＴ４３５）。
【００５５】
データ転送部１５０は、上記データ取得応答を受信すると共に、転送ルールに従って当該データ取得応答を代理応答部１７０に返送する（ステップＳＴ４３６）。代理応答部１７０は、受信したデータ取得応答に含まれるデータを、ストレージ３１０に格納すると共に、格納結果をデータ管理部１３０に通知する（ステップＳＴ４３７）。
【００５６】
データ管理部１３０は、上記データの格納が完了すると、ＡＰＬデータ解析部１２０に対して経路切り替えを指示する。当該指示に基づいて、データ転送装置１００は、図６における「Ｃ」以降の動作を行う。
【００５７】
なお、データ管理部１３０は、同じデータに対するデータ取得要求の単位時間あたりの発生件数が、上記設定した下限の閾値を下回ったことを検出すると、代理応答部１７０に対して当該データをストレージ３１０から削除することを指示する。代理応答部１７０は、上記指示に基づいて、当該データを削除する。
【００５８】
また、図８のステップＳＴ４３７において、ストレージ３１０の空き領域が不足しデータの格納に失敗した場合には、代理応答部１７０は、データ管理部１３０に設定された下限の閾値に基づいて、ストレージ３１０から削除可能なデータを削除した後にデータを格納してもよい。すなわち、受信した件数が上記下限に最も近いデータ取得要求により要求されるデータを削除した後に、取得したデータをストレージ３１０に格納することを再度試みてもよい。
【００５９】
以上の動作により、データ転送装置１００は、同じデータに対するデータ取得要求が輻輳している場合に、ストレージ３１０にデータを格納すると共に、ストレージ３１０から読み出したデータを端末に返送する。
【００６０】
次に、具体的な例を用いてデータ転送システム１０００の動作について説明する。データ転送システム１０００の各構成は、以下の条件であると仮定する。
【００６１】
図１に示す通信回線１０１、３０１１乃至３０１ｎ（以降、ｎ＝１００とする）は、それぞれ１Ｇｂｐｓ（ｇｉｇａｂｉｔｓ  ｐｅｒ  ｓｅｃｏｎｄ）の帯域を持つ回線であると仮定する。データ転送装置１００は、接続された回線帯域すべてを使用したとしてもデータ転送処理が可能であると仮定する。データ配信装置２００は、データを均一、かつ優先度に関係なく、同一量ずつ端末に向けて配信できる一方、自装置の性能に関するボトルネックに起因して、１００Ｍｂｐｓ（ｍｅｇａｂｉｔｓ  ｐｅｒ  ｓｅｃｏｎｄ）相当のデータ量のみ転送可能である仮定する。
【００６２】
ストレージ３１０に対するアクセスに関して、データ転送の際のデータ転送装置１００のパフォーマンスが低下することはないと仮定する。複数の端末３００１乃至３００ｎが、データ配信装置２００から取得するデータのサイズは５００ＭＢ（ｍｅｇａｂｙｔｅ）と仮定する。データ転送装置１００には、上述した輻輳判断の閾値、すなわち送信経路の切り替えの判断基準となる単位時間あたりの同じデータに対するデータ取得要求の件数は、１０として予め設定されている。
【００６３】
上記構成を有するデータ転送システム１０００において、複数の端末３００１乃至３００ｎから同じデータに対するデータ取得要求が、同時接続数１０として送信された場合、通信回線１０１には、５ＧＢ（＝５００Ｍ×１０）のデータ量の転送が１０回分必要となる。このとき、上述のように代理応答部１７０がデータ転送装置１００の代理でデータを取得して格納するのではなく、すべてのデータをデータ転送装置１００がデータ配信装置２００から取得する場合、以下の時間がかかる。すなわち、すべての端末３００１乃至３００ｎにデータが配信されるまでに約５００秒間（＝５０ＧＢ／１００Ｍｂｐｓ／１００端末）かかる。
【００６４】
一方、本実施形態に係るデータ転送装置１００では、データ管理部１３０が単位時間あたりのデータ取得要求の件数が１０に達したことを検出すると、代理応答部１７０は、データ代理取得要求を送信する。これにより、代理応答部１７０は、要求されるデータをデータ配信装置２００から取得すると共に、ストレージ１１０に格納する。
【００６５】
この構成により、データ取得要求の件数が１０になるまでにデータ取得要求を送信した端末は、データ取得に約５０秒（＝５ＧＢ（＝５００Ｍ×１０）／１００Ｍｂｐｓ／１０端末）かかるものの、それ以降の端末は、以下のようにデータ取得時間が短縮される。すなわち、端末は、通信回線３０１１乃至３０１１ｎを介してデータ転送装置１００からデータを取得可能であるため、約０．５秒間（＝５００ＭＢ／１Ｇｂｐｓ）でデータを取得できる。
【００６６】
以上のように、本第１の実施形態によれば、データ転送装置１００において、データ管理部１３０が同じデータに対する取得要求に輻輳が生じていることを検出すると、代理応答部１７０がデータ配信装置２００から代理で当該データを取得すると共にストレージ３１０に格納しておく。ＡＰＬデータ変換部１４０は、端末から受信した当該データに対する取得要求を代理応答部１７０に転送し、代理応答部１７０は、ストレージ３１０から当該要求されるデータを取得する。
【００６７】
上記構成を採用することにより、本第１の実施形態によれば、データ転送装置１００は、輻輳するデータ取得要求により要求されるデータをデータ配信装置２００から取得する必要はなく、自装置が備えるストレージ３１０から取得すると共に返送できる。よって、本第１の実施形態によれば、同じデータに対するデータ取得要求の輻輳が生じた場合でも、データ取得の失敗やデータ取得時間の遅延を回避できると共に、データ取得時間を短縮できるという効果が得られる。
【００６８】
また、本第１の実施形態によれば、データ転送装置１００がデータ配信装置２００からデータを取得することが減少するので、データ配信装置２００の負荷を低減できるという効果が得られる。また、本第１の実施形態によれば、データ配信装置２００の負荷低減により、輻輳の原因となるデータ以外のデータはデータ配信装置２００から失敗かつ遅滞なく取得できるという効果が得られる。
【００６９】
さらに、本第１の実施形態によれば、データ配信装置とデータ転送装置と間の回線の輻輳を回避するための設備導入は不要であるため、設備導入コスト、設備管理コストまたはオペレーションコストは不要であるという効果が得られる。
【００７０】
また、近年、ルータやスイッチを備えた汎用サーバが開発されている。このような汎用サーバを、本実施形態に係るデータ転送装置に適用することにより、ストレージのための特別なＩ／Ｏインタフェースを搭載する必要なく、ストレージを備えたデータ転送装置を容易に配備できるという効果が得られる。
【００７１】
第２の実施形態
図９は、本発明の第２の実施形態に係るデータ転送システム２０００の構成を示すブロック図である。図９に示すように、データ転送システム２０００は、ネットワーク７００を介して互いに通信可能なデータ転送装置４０１乃至４０３と、データ転送装置４０１と通信回線５１０を介して接続されるデータ配信装置５００とを備えた管理ネットワーク４００を備える。管理ネットワーク４００には、端末６００１乃至６００ｎからデータ取得要求が送信される。
【００７２】
データ転送装置４０１乃至４０３は、それぞれ、上記第１の実施形態において説明した構成と同様の構成を有すると共に、管理者等によって上述の閾値の設定が可能である。管理ネットワーク４００は、例えば大規模な通信キャリアが運用するネットワークに該当する。
【００７３】
管理者等は、データ転送装置４０１乃至４０３に対して、上記第１の実施形態において説明したように、データ取得要求が輻輳しているか否かの判断に用いられる閾値、すなわち、発生区間（時間）と、その時間内における同じデータに対するデータ取得要求の発生件数の上限と下限を設定しておく。
【００７４】
以下、データ転送システム２０００の動作について説明する。
【００７５】
端末６００１乃至６００ｎのうち複数台の端末から、例えばデータ転送装置４０２にデータ取得要求が送信されると、上記第１の実施形態と同様に、データ転送装置４０２は、自装置に設定された閾値に基づいて、同じデータに対するデータ取得要求の輻輳の有無を調べる。輻輳している場合、データ転送装置４０２は、自装置が備えるストレージ４１２に当該データ取得要求により要求されるデータが格納されるか否かを調べる。
【００７６】
ストレージ４１２に上記データが格納されない場合、データ転送装置４０２は、当該データ取得要求を、ネットワーク７００を介してデータ転送装置４０１に転送する。データ転送装置４０１は、上記データ転送装置４０２と同様の動作を行う。このとき、ネットワーク７００は、データ転送装置４０１に対して、上記第１の実施形態における端末と同様の動作を行う。また、ネットワーク７００は、データ転送装置４０２および４０３に対して、上記第１の実施形態におけるデータ配信装置と同様の動作を行う。
【００７７】
なお、ネットワーク７００は存在せず、データ転送装置４０１乃至４０３が直接通信可能に接続されていてもよい。このとき、データ転送装置４０２は、データ転送装置４０１に対して、上記第１の実施形態における端末と同様の動作を行う。
【００７８】
上記構成によれば、端末６００１乃至６００ｎから送信される、同じデータに対するデータ取得要求が輻輳する場合、データ転送装置４０１乃至４０３のいずれかがデータ配信装置５００の代理として動作することにより、上記データは端末６００１乃至６００ｎに返送される。このとき、データ転送装置４０１乃至４０３のいずれがデータ配信装置５００の代理として動作するかは、それぞれの装置に設定される閾値に応じて決定される。すなわち、管理ネットワーク４００におけるネットワーク回線負荷を分散させるようにデータ配信装置５００の代理となる装置が動的かつ自動で決定される。したがって、管理ネットワーク４００の回線コストが自律的に適正化されるとともに、それにかかる管理コストを縮小できる。
【００７９】
以上のように、本第２の実施形態によれば、第１の実施形態において説明したデータ転送装置１００と同様の構成を備えた複数のデータ転送装置４０１乃至４０３を備えた管理ネットワーク４００において、データ転送装置４０１乃至４０３は、管理者により輻輳有無の判断基準となる閾値を予め適切に設定される。データ転送装置４０１乃至４０３は、自装置に設定された閾値に応じて、同じデータに対するデータ取得要求の輻輳有無の判断を行う。この構成により、上記輻輳が有る場合、データ転送装置４０１乃至４０３のいずれかがデータ配信装置５００の代理として自動で決定されると共にデータの取得および返送が行われる。すなわち、本第２の実施形態によれば、データ配信装置５００の代理となるデータ転送装置が自動で決定されるので、管理ネットワーク４００の回線コストが自律的に適正化されるとともに、それにかかる管理コストを縮小できるという効果が得られる。
【００８０】
第３の実施形態
図１０は、本発明の第３の実施形態に係る情報転送装置５００の構成を示すブロック図である。図１０に示すように、情報転送装置５００は、代理応答部５０１と返送部５０２とを備える。
【００８１】
代理応答部５０１は、通信回線を介して通信可能な情報配信装置に対して送信される、同じ情報に対する取得要求の数に応じて、当該取得要求により要求される情報を、前記情報配信装置から取得すると共に、自装置が備える記憶部に格納する。
【００８２】
返送部５０２は、前記格納が完了すると、前記取得要求により要求される情報を前記記憶部から取得すると共に、当該取得要求の送信元に返送する。
【００８３】
情報転送装置５００は、上記第１の実施形態におけるデータ転送装置１００に相当し、代理応答部５０１は、同じくデータ管理部１３０と代理応答部１７０に相当し、返送部５０２は、同じく代理応答部１７０とデータ転送部１５０に相当する。
【００８４】
上記構成を採用することにより、本第３の実施形態によれば、情報転送装置５００が情報配信装置の代理として動作するので、複数のアクセスにより輻輳が生じた場合でも、コストが増加することなく情報取得の失敗や情報取得時間の遅延を回避できるという効果が得られる。
【００８５】
なお、上記各図に示したデータ転送装置１００、５００の各部は、図１１に例示するハードウエア資源において実現される。すなわち、図１１に示す構成は、ＣＰＵ２０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２、外部接続インタフェース２３および記憶媒体２４を備える。ＣＰＵ２０は、ＲＯＭ２２または記憶媒体２４に記憶された各種ソフトウエア・プログラム（コンピュータ・プログラム）を、ＲＡＭ２１に読み出して実行することにより、データ転送装置１００、５００の全体的な動作を司る。すなわち、上記各実施形態において、ＣＰＵ２０は、ＲＯＭ２２または記憶媒体２４を適宜参照しながら、データ転送装置１００、５００が備える各機能（各部）を実行するソフトウエア・プログラムを実行する。
【００８６】
また、上述した各実施形態では、上記各図に示したデータ転送装置１００、５００における各ブロックに示す機能を、図１１に示すＣＰＵ２０が実行する一例として、ソフトウエア・プログラムによって実現する場合について説明した。しかしながら、各図に示した各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。
【００８７】
また、各実施形態を例に説明した本発明は、データ転送装置１００、５００に対して、上記説明した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、ＣＰＵ２０がＲＡＭ２１に読み出して実行することによって達成される。
【００８８】
また、係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ（一時記憶媒体）またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。
【産業上の利用可能性】
【００８９】
本発明は、例えば、複数の端末がデータ配信装置からセキュリティパッチファイル等をダウンロードする際のデータ転送装置等に適用できる。
【符号の説明】
【００９０】
２０  ＣＰＵ
２１  ＲＡＭ
２２  ＲＯＭ
２３  外部接続インタフェース
２４  記憶媒体
１００  データ転送装置
１２０  ＡＰＬデータ解析部
１３０  データ管理部
１４０  ＡＰＬデータ変換部
１５０  データ転送部
１６０  ＮＡＰＴ変換部
１７０  代理応答部
２００  データ配信装置
３００  端末群
３１０  ストレージ
【図１】
2015165632.tif 000003
【図２】
2015165632.tif 000004
【図３】
2015165632.tif 000005
【図４】
2015165632.tif 000006
【図５】
2015165632.tif 000007
【図６】
2015165632.tif 000008
【図７】
2015165632.tif 000009
【図８】
2015165632.tif 000010
【図９】
2015165632.tif 000011
【図１０】
2015165632.tif 000012
【図１１】
2015165632.tif 000013