(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続する対向装置にデータを送信するデータ転送装置において、
データ通信におけるデータの主な送信方向を示すデータ方向性を定義したデータ指向性情報を記憶するデータ指向性情報記憶部と、
データを受信すると、前記データ指向性情報記憶部から前記データ指向性情報を読み出し、該データ指向性情報から前記データ方向性を特定し、該特定した前記データ方向性における自装置の位置付けを判別する位置付け判別部と、
前記データ方向性に基づく送信方向の前記データ通信に使用する、所定の帯域の通信パスを、前記対向装置との間に確立する通信パス確立部と、
前記データ方向性に基づく送信方向の前記データ通信に前記通信パスを使用して、前記対向装置と前記データ通信を行うデータ通信部と、
前記データ方向性における自装置の位置付けがデータ送信側である場合、前記対向装置に送信するデータを一時的に記憶する送信バッファの使用状況を監視し、前記送信バッファの使用状況に応じて、前記通信パスの帯域を変更する帯域制御部と、
を備えるデータ転送装置。
【請求項２】
前記データ指向性情報には、データ通信に使用するプロトコル毎に前記データ方向性が定義されている、
ことを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
前記データ方向性は、前記データ通信におけるデータの転送量で決まる、
ことを特徴とする請求項１に記載のデータ転送装置。
【請求項４】
ネットワークを介して接続する対向装置にデータを送信するデータ転送方法において、
データを受信すると、データ通信におけるデータの主な送信方向を示すデータ方向性を定義したデータ指向性情報を記憶するデータ指向性情報記憶部から前記データ指向性情報を読み出し、該データ指向性情報から前記データ方向性を特定し、該特定した前記データ方向性における自装置の位置付けを判別し、
前記データ方向性に基づく送信方向の前記データ通信に使用する、所定の帯域の通信パスを、前記対向装置との間に確立し、
前記データ方向性に基づく送信方向の前記データ通信に前記通信パスを使用して、前記対向装置と前記データ通信をし、
前記データ方向性における自装置の位置付けがデータ送信側である場合、前記対向装置に送信するデータを一時的に記憶する送信バッファの使用状況を監視し、前記送信バッファの使用状況に応じて、前記通信パスの帯域を変更するデータ転送方法。
【請求項５】
ネットワークを介して接続する対向装置にデータを送信するデータ転送をデータ転送装置に実行させるプログラムにおいて、
データを受信すると、データ通信におけるデータの主な送信方向を示すデータ方向性を定義したデータ指向性情報を記憶するデータ指向性情報記憶部から前記データ指向性情報を読み出し、該データ指向性情報から前記データ方向性を特定し、該特定した前記データ方向性における自装置の位置付けを判別する処理と、
前記データ方向性に基づく送信方向の前記データ通信に使用する、所定の帯域の通信パスを、前記対向装置との間に確立する処理と、
前記データ方向性に基づく送信方向の前記データ通信に前記通信パスを使用して、前記対向装置と前記データ通信をする処理と、
前記データ方向性における自装置の位置付けがデータ送信側である場合、前記対向装置に送信するデータを一時的に記憶する送信バッファの使用状況を監視し、前記送信バッファの使用状況に応じて、前記通信パスの帯域を変更する処理と、
を前記データ転送装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置、データ転送方法およびデータ転送のためのプログラムに関する。
【背景技術】
【０００２】
従来、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）技術を利用した次世代電話通信網であるＮＧＮ（Ｎｅｘｔ  Ｇｅｎｅｒａｔｉｏｎ  Ｎｅｔｗｏｒｋ；次世代ネットワーク）が知られている。
【０００３】
ＮＧＮへの接続インタフェースには、例えば、ＵＮＩ（Ｕｓｅｒ  Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ）、ＳＮＩ（ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｅｒ  Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ）およびＮＮＩ（Ｎｅｔｗｏｒｋ  Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ）などが提供されている。
【０００４】
これらの接続インタフェースには、インターネットと異なり、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）やＳＤＰ（Ｓｅｓｓｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）が標準プロトコルとして採用されている。
【０００５】
例えば、ＳＩＰはＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）  ＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔｓ）  ３２６１で規定され、セッションの確立、更新および削除等を行う際に利用する通話制御のためのプロトコルである。また、ＳＤＰは、ＩＥＴＦ  ＲＦＣ  ３２６１に規定され、ストリーミングメディアなど、セッションの告知やセッションの招待などを必要とするマルチメディアのセッションを開始するために必要な情報を記述するプロトコルである。
【０００６】
ＮＧＮには、ＳＩＰ／ＳＤＰを利用した特有のデータ優先制御機能がある。この機能は、ＳＩＰ／ＳＤＰを用いて、ルータ、サーバおよびクライアントが連携することにより実現される。
【０００７】
上記技術に関連して、ＳＩＰ機能を有するＩＭＳ／ＭＭＤ非対応端末を、ＩＭＳ／ＭＭＤネットワークに接続することができる代理接続方法、アダプタ及びプログラムについて知られている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−２１９４３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、ＮＧＮの基本概念は電話網であることから、電話系サービスをベースとした優先制御しか利用できないという課題がある。
例えば、電話は双方向通信であるため、双方向のパスを張らなければならない。しかし、その通信路を用いてＷｅｂ上のコンテンツにアクセスする場合、どのような（方向／帯域）パスを張れば良いのかが明確に決められていない。さらにＷｅｂ上のコンテンツは音声通話とは異なり、アクセスするコンテンツ（静的、動画、スクリプトなど）に依存して通信帯域が異なる。ＮＧＮでは、上述したように、音声以外のアクセスにおいて、最適な帯域制御を実行する上で課題がある。
【００１０】
本データ転送装置は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、高品質なデータ通信を行うデータ転送装置、データ転送方法およびデータ転送のためのプログラムを提供することである。
【課題を解決するための手段】
【００１１】
本データ転送装置の１つの観点によれば、本データ転送装置は、ネットワークを介して接続する対向装置にデータを送信するデータ転送装置である。そして、本データ転送装置は、以下の構成要素を備える。
【００１２】
データ指向性情報記憶部は、データ通信におけるデータの主な送信方向を示すデータ方向性を定義したデータ指向性情報を記憶する記憶部である。
位置付け判別部は、データを受信すると、前記データ指向性情報記憶部から前記データ指向性情報を読み出し、該データ指向性情報から前記データ方向性を特定し、該特定した前記データ方向性における自装置の位置付けを判別する。
通信パス確立部は、前記データ方向性に基づく送信方向の前記データ通信に使用する、所定の帯域の通信パスを、前記対向装置との間に確立する。
【００１３】
データ通信部は、前記データ方向性に基づく送信方向の前記データ通信に前記通信パスを使用して、前記対向装置と前記データ通信を行う
帯域制御部は、前記データ方向性における自装置の位置付けがデータ送信側である場合、前記対向装置に送信するデータを一時的に記憶する送信バッファの使用状況を監視し、前記送信バッファの使用状況に応じて、前記通信パスの帯域を変更する。
【発明の効果】
【００１４】
本データ転送装置によると、高品質なデータ通信を行うデータ転送装置、データ転送方法およびデータ転送のためのプログラムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施例に係るデータ転送装置を使用した通信システムの概要を示す図である。
【図２】第２の実施例に係るデータ転送装置を使用した通信システムの概要を示す図である。
【図３】第２の実施例に係るデータ転送装置の構成例を示す図である。
【図４】第２の実施例に係るデータ指向性管理テーブルの例を示す図である。
【図５】第２の実施例に係る利用帯域情報の例を示す図である。
【図６】第２の実施例に係るデータ転送装置の処理を示すフローチャートである。
【図７】第２の実施例に係るデータ転送装置の処理を示すフローチャートである。
【図８】第２の実施例に係る対向装置の処理を示すフローチャートである。
【図９】第２の実施例に係る対向装置の処理を示すフローチャートである。
【図１０】第２の実施例に係るデータ転送装置の帯域変更処理を示すフローチャートである。
【図１１】第２の実施例に係るデータ転送装置の帯域変更処理を示すフローチャートである。
【図１２】第２の実施例に係る対向装置の帯域変更処理を示すフローチャートである。
【図１３】第２の実施例に係るデータ転送装置の帯域変更処理を示すフローチャートである。
【図１４】本実施例に係るデータ転送装置の具体的な構成例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本実施形態の一例について、図１〜図１４に基づいて説明する。なお、以下に説明する実施形態はあくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図ではない。すなわち、本実施形態は、その趣旨を逸脱しない範囲で、各実施例の一部または全部を組み合わせるなど種々変形して実施することができる。
【実施例１】
【００１７】
図１は、本実施例に係るデータ転送装置１１０および１２０を使用した通信システム１００の概要を示す図である。
図１に示す通信システム１００は、データ転送装置１１０および１２０と、ネットワーク１３０と、を備える。
【００１８】
データ転送装置１１０と、データ転送装置１１０の対向装置であるデータ転送装置１２０と、は、ネットワーク１３０を介して互いに通信可能に接続している。また、データ転送装置１１０は、装置Ａと互いに通信可能に接続している。同様に、データ転送装置１２０は、装置Ｂと互いに通信可能に接続している。
【００１９】
そして、データ転送装置１１０は、装置Ａから受信するデータをネットワーク１３０を介してデータ転送装置１２０に転送する。データ転送装置１２０は、データ転送装置１１０から受信するデータを装置Ｂに転送する。また、データ転送装置１２０は、装置Ｂから受信するデータをネットワーク１３０を介してデータ転送装置１１０に転送する。データ転送装置１１０は、データ転送装置１２０から受信するデータを装置Ａに転送する。以上のようにして、装置Ａと装置Ｂとの間でデータ通信を行うことができる。
【００２０】
ここで、データ転送装置１１０は、データ指向性情報記憶部１１１と、位置付け判別部１１２と、通信パス確立部１１３と、データ通信部１１４と、帯域制御部１１５と、送信バッファ１１６と、を備える。
【００２１】
データ指向性情報記憶部１１１は、データ通信におけるデータの主な送信方向を示すデータ方向性を定義したデータ指向性情報を記憶する記憶装置である。主な送信方向は、例えば、送信するデータ量を基準に決めることができる。この場合、データ量が多い、またはデータ量が多いと予想できる送信方向を、そのデータ通信におけるデータ方向性と定義することができる。データ方向性は、例えば、データ通信に使用するプロトコル毎に定義することができる。
【００２２】
位置付け判別部１１２は、データを受信すると、データ指向性情報記憶部１１１からデータ指向性情報を読み出す。そして、位置付け判別部１１２は、読み出したデータ指向性情報からデータ方向性を特定し、特定したデータ方向性における自装置の位置付けを判別する。「位置付けを判別する」とは、データ方向性において、自装置が、「データ送信側」なのか、「データ受信側」なのか、を判別するということである。
【００２３】
通信パス確立部１１３は、データ方向性に基づく送信方向のデータ通信に使用する、所定の帯域の通信パス１３１を、データ転送装置１２０との間に確立する。通信パス確立部１１３は、データ転送装置１２０とのネゴシエーションにより、通信パス１３１の帯域を決定してもよい。
【００２４】
データ通信部１１４は、データ方向性に基づく送信方向のデータ通信に通信パス１３１を使用して、データ転送装置１２０とデータ通信を行う。
帯域制御部１１５は、データ方向性における自装置の位置付けが「データ送信側」である場合、データ転送装置１２０に送信するデータを一時的に記憶する送信バッファ１１６の使用状況を監視する。そして、帯域制御部１１５は、送信バッファ１１６の使用状況に応じて、通信パス１３１の帯域を変更する。例えば、帯域制御部１１５は、送信バッファ１１６の使用状況に応じて、通信パスの帯域を増加し、または、減少させる。
【００２５】
送信バッファ１１６は、装置Ａから受信したデータを一時的に記憶する記憶装置である。
データ転送装置１２０は、データ転送装置１１０の対向装置である。したがって、図１に示すデータ転送装置１１０の構成と同様の構成により実現することができる。
【００２６】
ネットワーク１３０は、所定の帯域を持つ通信パス１３１を提供する通信網である。ネットワーク１３０は、データ転送装置１１０またはデータ転送装置１２０からの要求に応じて、通信パス１３１の帯域を変更することができる。ネットワーク１３０は、通信パスの確立に、例えば、ＳＩＰ／ＳＤＰを利用することができる。
【００２７】
装置Ａは、データ転送装置１１０と直接続する装置であってもよいし、データ転送装置１１０と通信可能に接続するネットワークに含まれる任意の装置であってもよい。同様に、装置Ｂは、データ転送装置１２０と直接続する装置であってもよいし、データ転送装置１２０と通信可能に接続するネットワークに含まれる任意の装置であってもよい。
【００２８】
以上の構成において、通信パス確立部１１３は、ネットワーク１３０を使用して、データ転送装置１１０−データ転送装置１２０間に所定の帯域の通信パス１３１を確立する。そして、帯域制御部１１５は、データ方向性における自装置の位置付けが「データ送信側」である場合、送信バッファ１１６の使用状況を監視し、送信バッファ１１６の使用状況に応じて、通信パス１３１の帯域を変更する。
【００２９】
その結果、データ転送装置１１０は、データ転送装置１１０−データ転送装置１２０間のデータ通信で所定の帯域を保証することができる。すなわち、データ転送装置１１０−データ転送装置１２０間のデータ通信の通信品質を保証することができる。
【００３０】
また、データ転送装置１１０は、データ通信量に応じて、通信パス１３１の帯域を動的に変更して、適切な帯域の通信パス１３１を確保することができる。
以上のように、データ転送装置１１０は、ネットワーク１３０を介して、対向装置であるデータ転送装置１２０と高品質なデータ通信を行うことができる。結果として、データ転送装置１１０は、装置Ａ−装置Ｂ間で高品質なデータ通信を行うことができる。
【００３１】
なお、以上に説明した位置付け判別部１１２、通信パス確立部１１３、データ通信部１１４および帯域制御部１１５は、データ転送装置１１０に備わるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に所定のプログラムを実行させることによって実現できる。その所定のプログラムは、データ転送装置１１０に備わる読取り可能かつ非一時的な（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）な記憶媒体に記憶し、データ転送装置１１０が記憶媒体から読み出すようにしてもよい。
【００３２】
データ指向性情報記憶部１１１や送信バッファ１１６には、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリを使用することができる。
【実施例２】
【００３３】
図２は、本実施例に係るデータ転送装置２１１および２２１を使用した通信システム２００の概要を示す図である。
図２に示す通信システム２００は、ネットワーク２１０および２２０と、ＮＧＮ２３０と、を備える。ネットワーク２１０とネットワーク２２０とは、ＮＧＮ２３０を介して互いに通信可能に接続している。
【００３４】
ネットワーク２１０は、企業Ａが所有する、例えばＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などで構築されたネットワークである。ネットワーク２１０は、データ転送装置２１１を備える。
【００３５】
データ転送装置２１１は、ネットワーク２１０内部の装置からのデータを、ＮＧＮ２３０を介して、通信相手の装置を含むネットワーク２２０に備わるデータ転送装置２２１に転送する。また、データ転送装置２１１は、通信相手の装置を含むネットワーク２２０に備わるデータ転送装置２２１からのデータを受信すると、ネットワーク２１０内部の装置に転送する。
【００３６】
ネットワーク２２０は、ＩＤＣ（Ｉｎｔｅｒｎｅｔ  Ｄａｔａ  Ｃｅｎｔｅｒ）のネットワークである。ネットワーク２２０は、データ転送装置２２１を備える。
データ転送装置２２１は、ネットワーク２２０内部の装置からのデータを、ＮＧＮ２３０を介して、通信相手の装置を含むネットワーク２１０に備わるデータ転送装置２１１に転送する。また、データ転送装置２２１は、通信相手の装置を含むネットワーク２１０に備わるデータ転送装置２１１からのデータを受信すると、ネットワーク２２０内部の装置に転送する。
【００３７】
ＮＧＮ２３０は、ＳＩＰ／ＳＤＰを利用して電話サービスや映像通信サービスなどを提供するＩＰネットワークである。ＮＧＮ２３０は、例えば、ＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  ｓｅｃｔｏｒ）の勧告にしたがうことができる。
【００３８】
ＮＧＮ２３０は、ＣＳＣＦ（Ｃａｌｌ  Ｓｅｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｆｕｎｃｔｉｏｎ）２３１と、ＲＡＣＦ（Ｒｅｓｏｕｒｃｅ  ａｎｄ  Ａｄｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｆｕｎｃｔｉｏｎ）２３２と、エッジルータ２３３および２３４と、を備える。
【００３９】
ＣＳＣＦ２３１は、ＳＩＰによるセッション制御を行うセッション制御サーバである。ＲＡＣＦ２３２は、ＣＳＣＦ２３１からの指示にしたがって、エッジルータ２３３および２３４を制御することにより、所望の帯域の通信パス２３５を提供する制御装置である。エッジルータ２３３および２３４は、ＲＡＣＦ２３２からの指示にしたがって、ＮＧＮ２３０に所望の帯域の通信パス２３５を提供する。
【００４０】
端末２１１−サーバ２２２間でのデータ通信を考える。例えば、データ転送装置２１１は、ネットワーク２２０内の端末２１２からリクエストを受信すると、リクエストにより要求されたデータ通信についてのデータ方向性を判別する。そして、データ転送装置２１１は、データ方向性における自装置、すなわちデータ転送装置２１１の位置付けを判別する。
【００４１】
ここで、データ方向性とは、データ通信において、データ転送量が多いデータ送信方向を示す情報である。本実施例に係るデータ方向性は、ＨＴＴＰリクエストを送信するなどしてデータ通信を開始する「発信元」と、発信元の通信相手である「発信先」と、を用いて表わす。
【００４２】
本実施例では、発信元から発信先にデータを送信するときの通信パスの帯域が、発信先から発信元にデータを送信するときの通信パスの帯域より大きい帯域を必要とする可能性が高いと予想できるときのデータ方向性を、「発信元→発信先」とする。
【００４３】
発信先から発信元にデータを送信するときの通信パスの帯域が、発信元から発信先にデータを送信するときの帯域より大きい帯域を必要とする可能性が高いと予想できるときのデータ方向性を、「発信元←発信先」とする。
【００４４】
発信元から発信先にデータを送信するときと、発信先から発信元にデータを送信するときと、の両方向の通信パスにおいて大きい帯域を必要とする可能性が高いと予想できるときのデータ方向性を、「発信元⇔発信先」とする。
【００４５】
データ方向性は、プロトコルによって事前に予測できる。そこで、本実施例では、プロトコル毎に、データ方向性を定義したデータ指向性情報を使用する。データ指向性情報については、図５に具体例を示す。
【００４６】
また、データ方向性における「位置付け」とは、データ方向性が示すデータ送信方向において、自装置が「データ送信側」なのか、「データ受信側」なのか、を示す情報である。
【００４７】
例えば、データ方向性が「発信元→発信先」の場合を考える。
データ転送装置２１１は、発信元である端末２１２から直接データを受信するので、「発信元」側と考えられる。データ方向性が「発信元→発信先」の場合、「発信元」は「発信先」にデータを送信する側なので、データ方向性における位置付けは、「データ送信側」となる。
【００４８】
データ転送装置２２１は、発信先であるサーバ２２２から直接データを受信するので、「発信先」側と考えられる。データ方向性が「発信元→発信先」の場合、「発信先」は「発信元」からデータを受信する側なので、データ方向性における位置付けは、「データ受信側」となる。
【００４９】
また、データ方向性が「発信元←発信先」の場合を考える。データ転送装置２１１は、発信元である端末２１２から直接データを受信するので、「発信元」側と考えられる。データ方向性が「発信元←発信先」の場合、「発信元」は「発信先」からデータを受信する側なので、データ方向性における位置付けは、「データ受信側」となる。
【００５０】
データ転送装置２２１は、発信先であるサーバ２２２から直接データを受信するので、「発信先」側と考えられる。データ方向性が「発信元←発信先」の場合、「発信先」は「発信元」にデータを送信する側なので、データ方向性における位置付けは、「データ送信側」となる。
【００５１】
なお、データ方向性が「発信元⇔発信先」の場合、データ方向性における位置づけは「データ送信側」にも「データ受信側」にもなり得る。この場合のデータ方向性における位置付けを「双方向」とする。
【００５２】
データ転送装置２１１は、ＳＩＰ／ＳＩＰにしたがって、データ転送装置２２１とセッション制御通信を行い、データ転送装置２１１−データ転送装置２２１間に所望の帯域の通信パスを確保する。このとき、データ転送装置２１１とデータ転送装置２２１は、ＵＮＩ（Ｕｓｅｒ  Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ）、ＮＧＮ２３０内のＣＳＣＦ２３１を介して、ＳＩＰメッセージの授受を行う。
【００５３】
ＣＳＣＦ２３１は、データ転送装置２１１からＳＩＰメッセージを受信すると、ＳＩＰメッセージをデータ転送装置２２１に転送する。また、ＣＳＣＦ２３１は、受信したＳＩＰメッセージに設定された帯域情報などを読み出す。そして、ＣＳＣＦ２３１は、ＳＩＰメッセージに設定された帯域情報に基づいて、データ転送装置２１１−データ転送装置２２１間のデータ通信に使用する通信パスに所定の帯域を割当てるようにＲＡＣＦ２３２に指示を出す。
【００５４】
ＲＡＣＦ２３２は、ＣＳＣＦ２３１から帯域割当て指示を受けると、エッジルータ２３３および２３４に帯域割当て指示を出す。ＲＡＣＦ２３２は、ＣＳＣＦ２３１からの指示に応じて、優先制御などを含むＳｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）制御なども行う。
【００５５】
エッジルータ２３３および２３４は、ＲＡＣＦ２３２からの帯域割当て指示にしたがって、エッジルータ２３３−２３４間の通信パスの帯域確保や優先制御などを実際に行う。
エッジルータ２３３−２３４間に通信パス２３５が確立すると、データ転送装置２１１は、通信パス２３５を使用して、端末２１１から受信したデータをデータ転送装置２２１に転送する。また、データ転送装置２１１は、通信パス２３５を使用して、データ転送装置２２１からデータを受信する。そして、データ転送装置２１１は、受信したデータを端末２１１に転送する。
【００５６】
また、データ方向性における位置付けが「データ送信側」である場合、データ転送装置２１１は、データ転送装置２１１にアロケートされた送信バッファの使用状況を監視する。そして、データ転送装置２１１は、送信バッファの使用状況に応じて、通信パスの帯域を変更する。
【００５７】
同様に、エッジルータ２３３−２３４間に通信パス２３５が確立すると、データ転送装置２２１は、通信パス２３５を使用して、サーバ２２２から受信したデータをデータ転送装置２１１に転送する。また、データ転送装置２２１は、通信パス２３５を使用して、データ転送装置２１１からデータを受信する。そして、データ転送装置２２１は、受信したデータをサーバ２２２に転送する。
【００５８】
また、データ方向性における位置付けが「データ送信側」である場合、データ転送装置２２１は、データ転送装置２２１にアロケートされた送信バッファの使用状況を監視する。そして、データ転送装置２２１は、送信バッファの使用状況に応じて、通信パスの帯域を変更する。
【００５９】
なお、本実施例で説明したＮＧＮ２３０は、少なくともデータ送信時に使用する通信パスを確保し、通信パスの帯域を動的に変更できるネットワークの一例であって、図２に示したＮＧＮ２３０に限定する趣旨ではない。
【００６０】
また、図２に示したネットワーク２１０や２２０は、単なる一例であって、ネットワーク２１０を、企業Ａが所有するネットワークに限定する趣旨ではない。同様に、ネットワーク２２０を、ＩＤＣのネットワークに限定する趣旨ではない。
【００６１】
図３は、本実施例に係るデータ転送装置２１１の構成例を示す図である。
データ転送装置２１１は、データ転送制御部３１０と、送信バッファ制御部３２０と、送信バッファ３３０と、受信バッファ３４０と、ＳＩＰ／ＳＤＰ送信部３５０と、データ指向性管理テーブル記憶部３６０と、利用帯域情報記憶部３７０と、を備える。
【００６２】
データ転送制御部３１０は、ＮＧＮ２３０を介して接続する対向装置であるデータ転送装置２２１とセッション制御通信を行って、所望の帯域の通信パス２３５を確立する。そして、データ転送制御部３１０は、確立した通信パス２３５を使用して、データ転送装置２２１とデータの授受を行う。
【００６３】
データ転送制御部３１０は、指向性判断部３１１と、ＳＩＰ／ＳＤＰ制御部３１２と、を備える。
指向性判断部３１１は、データを受信すると、データ指向性管理テーブル記憶部３６０に記憶されているデータ指向性管理テーブル４００から、データ通信に使用されているプロトコルに応じたデータ方向性を取得する。そして、指向性判断部３１１は、データ方向性における位置付けを判別する。
【００６４】
データ方向性が「データ送信側」であると判断すると、指向性判断部３１１は、送信バッファ３３０を、後述のデータ転送装置２１１に備わるメモリ１４０２にアロケートする。また、データ方向性が「データ受信側」であると判断すると、指向性判断部３１１は、受信バッファ３４０をメモリ１４０２にアロケートする。
【００６５】
また、指向性判断部３１１は、データ指向性管理テーブル記憶部３６０に記憶されているデータ指向性管理テーブル４００から、データ方向性とともに、データ優先度を取得する。そして、指向性判断部３１１は、取得したデータ優先度をＳＩＰ／ＳＤＰ制御部３１２に通知する。データ指向性管理テーブル４００に固定帯域が設定されている場合、指向性判断部３１１は、固定帯域もＳＩＰ／ＳＤＰ制御部３１２に通知する。
【００６６】
ＳＩＰ／ＳＤＰ制御部３１２は、利用帯域情報記憶部３７０に記憶された利用帯域情報５００から、利用可能な１または２以上の帯域を含む帯域リストを取得する。ただし、指向性判断部３１１から固定帯域が通知された場合、ＳＩＰ／ＳＤＰ制御部３１２は、通知された固定帯域を帯域情報として使用する。そして、ＳＩＰ／ＳＤＰ制御部３１２は、ＳＤＰにしたがって、帯域情報とデータ優先度に基づく転送品質クラスとを含むリクエストを作成する。そして、ＳＩＰ／ＳＤＰ制御部３１２は、作成したリクエストをＳＩＰ／ＳＤＰ送信部３５０に出力する。
【００６７】
送信バッファ制御部３２０は、送信バッファ３３０の使用状況を監視する。そして、送信バッファ３３０の負荷が一定以上になると、送信バッファ制御部３２０は、データ転送制御部３１０に対して、使用中の通信パス２３５の帯域を増加させるように指示する。また、送信バッファ３３０の負荷が一定以下になると、送信バッファ制御部３２０は、データ転送制御部３１０に対して、使用中の通信パス２３５の帯域を減少させるように指示する。
【００６８】
送信バッファ３３０は、対向装置に対して送信するデータを一時的に記憶する。送信バッファ３３０へのアクセス制御には、キュー制御が使用されている。以下、このキュー制御に使用するキューを「送信バッファ・キュー」という。送信バッファ３３０の使用状況は、送信バッファ・キューの長さによって知ることができる。
【００６９】
受信バッファ３４０は、ＮＧＮ２３０を介して、対向装置であるデータ転送装置２２１から受信するデータを一時的に記憶する。ＳＩＰ／ＳＤＰ送信部３５０は、ＳＩＰ／ＳＤＰ制御部３１２で作成されたリクエストまたはレスポンスをＮＧＮ２３０を介して、対向装置であるデータ転送装置２２１に送信する。
【００７０】
なお、図３には、データ転送装置２１１の構成例を示したが、データ転送装置２２１もデータ転送装置２１１と同じ構成で実現することができる。以下の説明では、データ転送装置２２１に備わるデータ転送制御部３１０、送信バッファ制御部３２０などを、データ転送制御部３１０’、送信バッファ制御部３２０’などと「’」を付して記載する。
【００７１】
図４は、本実施例に係るデータ指向性管理テーブル４００の例を示す図である。
図４に示すデータ指向性管理テーブル４００は、プロトコル種別と、データ方向性と、データ優先度と、固定帯域と、を含む。
【００７２】
プロトコル種別は、発信元−発信先間、本実施例では端末２１２−サーバ２２２間のデータ通信に使用されるプロトコルである。例えば、データのヘッダ等を参照することにより、プロトコル種別を判別することができる。
【００７３】
データ方向性は、前述したように、データ通信において、データ転送量が多いデータ送信方向を示す情報である。
データ優先度は、本実施例で利用するＳＩＰ／ＳＤＰのセッション制御通信で、ＮＧＮ２３０が提供するＳｏＳに含まれる転送品質クラスを指定するために使用する情報である。本実施例では、データ方向性と一致するデータ転送方向のデータを優先する。
【００７４】
例えば、端末２１１からサーバ２２２にＨＴＴＰリクエストが送信された場合、ＨＴＴＰのデータ方向性は「発信元←発信先」なので、発信先であるサーバ２２２からのデータを優先する。
【００７５】
固定帯域は、データ通信時に固定の帯域の通信パスを使用したい場合に設定される帯域情報である。
データ指向性管理テーブル４００は、データ転送装置２１１とデータ転送装置２２１とに同一のものが備わる。本実施例では、データ転送装置２１１に備わるデータ指向性管理テーブルを「データ指向性管理テーブル４００」と記載し、データ転送装置２２１に備わるデータ指向性管理テーブルを「データ指向性管理テーブル４００’」と記載する。
【００７６】
図５は、本実施例に係る利用帯域情報５００の例を示す図である。図５に示す利用帯域情報５００は、６４Ｋｂｐｓ、１Ｍｂｐｓ、５Ｍｂｐｓおよび１０Ｍｂｐｓの帯域が含まれる帯域リストである。
【００７７】
以下の説明では、データ転送装置２１１に備わる利用帯域情報記憶部３７０に記憶されている利用帯域情報を「利用帯域情報５００」と記載し、データ転送装置２２１に備わる利用帯域情報記憶部３７０’に記憶されている利用帯域情報を「利用帯域情報５００’」と記載する。
【００７８】
図６および図７は、本実施例に係るデータ転送装置２１１の処理を示すフローチャートである。
データ転送装置２１１は、端末２１１から、ＨＴＴＰリクエストなどのリクエストを受信すると、以下の処理を開始する（ステップＳ６００）。
【００７９】
ステップＳ６０１において、データ転送制御部３１０は、データ転送装置２１１に備わるデータ指向性管理テーブル記憶部３６０に記憶されているデータ指向性管理テーブル４００を参照する。そして、データ転送制御部３１０は、データ通信に使用するプロトコルを検索する。なお、データ通信に使用するプロトコルは、例えば、端末２１１から受信したリクエストのヘッダ等から判別することができる。
【００８０】
データ通信に使用するプロトコルがデータ指向性管理テーブル４００に設定されている場合（ステップＳ６０２  ＹＥＳ）、データ転送制御部３１０は、処理をステップＳ６０３に移行する。この場合、データ転送制御部３１０は、データ指向性管理テーブル４００から、データ通信に使用するプロトコルのデータ優先度を取得する（ステップＳ６０３）。
【００８１】
ステップＳ６０４において、データ転送制御部３１０は、データ指向性管理テーブル４００から、データ通信に使用するプロトコルのデータ方向性を取得する。そして、データ転送制御部３１０は、データ指向性における位置付けを判別する（ステップＳ６０５）。
【００８２】
データ指向性における位置付けが「データ送信側」または「双方向」の場合（ステップＳ６０５  ＹＥＳ）、データ転送制御部３１０は、処理をステップＳ６０６に移行する。この場合、データ転送制御部３１０は、データ指向性管理テーブル４００から、データ通信に使用するプロトコルの固定帯域を参照する（ステップＳ６０６）。
【００８３】
データ指向性管理テーブル４００に固定帯域が設定されている場合、データ転送制御部３１０は、帯域決定が可能と判断し（ステップＳ６０７  ＹＥＳ）、処理をステップＳ６０８に移行する。この場合、データ転送制御部３１０は、データ指向性管理テーブル４００から、データ通信に使用するプロトコルの固定帯域を取得する（ステップＳ６０８）。さらに、データ転送制御部３１０は、データ転送装置２１１に備わるメモリ１４０２に送信バッファ３３０をアロケートする（ステップＳ６０９）。
【００８４】
一方、データ通信に使用するプロトコルがデータ指向性管理テーブル４００に登録されていない場合（ステップＳ６０２  ＮＯ）、データ転送制御部３１０は、処理をステップＳ６１０に移行する。この場合、データ転送制御部３１０は、データ通信に使用するプロトコルのデータ優先度を、「双方向のデータ」に決定する（ステップＳ６１０）。さらに、データ転送制御部３１０は、データ通信に使用するプロトコルのデータ方向性を「発信元⇔発信先」に決定する（ステップＳ６１１）。そして、データ転送制御部３１０は、処理をステップＳ６１２に移行する。
【００８５】
また、データ指向性における位置付けが「データ受信側」の場合も（ステップＳ６０５  ＮＯ）、データ転送制御部３１０は、ステップＳ６１２に移行する。データ指向性管理テーブル４００に固定帯域が設定されていないため帯域決定が不可能と判断した場合も（ステップＳ６０７  ＮＯ）、データ転送制御部３１０は、ステップＳ６１２に移行する。
【００８６】
ステップＳ６１２において、データ転送制御部３１０は、データ転送制御部３１０に備わる利用帯域情報記憶部３７０に記憶された利用帯域情報５００を参照する。そして、ステップＳ６１３において、データ転送制御部３１０は、利用帯域情報５００から、帯域リストを取得する。
【００８７】
以上の処理が終了すると、データ転送制御部３１０は、処理をステップＳ６１４に移行する。そして、データ転送制御部３１０は、ＳＤＰにしたがってリクエストを作成する（ステップＳ６１４）。
【００８８】
このとき、データ転送制御部３１０は、リクエストに、ステップＳ６０８で取得した固定帯域またはステップＳ６１３で取得した帯域リストを設定する。
また、データ転送制御部３１０は、リクエストに、ステップＳ６０３で取得したデータ優先度またはＳ６１０で決定したデータ優先度に応じて、ＮＧＮ２３０が提供する転送品質クラスを設定する。
【００８９】
データ優先度が「双方向のデータ」の場合、データ転送制御部３１０は、転送品質クラスを最優先クラスに設定する。ステップＳ６０８で取得した固定帯域またはステップＳ６１３で取得した帯域リストの帯域が６４Ｋｂｐｓ以下の場合、最優先クラスは以下のように設定することができる。
【００９０】
ｍｅｄｉａ−ｔｙｐｅ＝ａｕｄｉｏ  ａ＝ｓｅｎｄｒｅｃｖ
また、ステップＳ６０８で取得した固定帯域またはステップＳ６１３で取得した帯域リストの帯域が６４Ｋｂｐｓより大きい場合、最優先クラスは以下のように設定することができる。
【００９１】
ｍｅｄｉａ−ｔｙｐｅ＝ｖｉｄｅｏ  ａ＝ｓｅｎｄｒｅｃｖ
データ優先度が「発信元からのデータ」または「発信先からのデータ」の場合、データ転送制御部３１０は、転送品質クラスを高優先クラスに設定する。
【００９２】
データ優先度が「発信元からのデータ」の場合、ステップＳ６０８で取得した固定帯域またはステップＳ６１３で取得した帯域リストの帯域が６４Ｋｂｐｓ以下のとき、高優先クラスは以下のように設定することができる。
【００９３】
ｍｅｄｉａ−ｔｙｐｅ＝ａｕｄｉｏ  ａ＝ｓｅｎｄｏｎｌｙ
また、データ優先度が「発信元からのデータ」の場合、ステップＳ６０８で取得した固定帯域またはステップＳ６１３で取得した帯域リストの帯域が６４Ｋｂｐｓより大きい場合、高優先クラスは以下のように設定することができる。
【００９４】
ｍｅｄｉａ−ｔｙｐｅ＝ｖｉｄｅｏ  ａ＝ｓｅｎｄｏｎｌｙ
また、データ優先度が「発信先からのデータ」の場合、ステップＳ６０８で取得した固定帯域またはステップＳ６１３で取得した帯域リストの帯域が６４Ｋｂｐｓ以下のとき、高優先クラスは以下のように設定することができる。
【００９５】
ｍｅｄｉａ−ｔｙｐｅ＝ａｕｄｉｏ  ａ＝ｒｅｃｖｏｎｌｙ
また、データ優先度が「発信先からのデータ」の場合、ステップＳ６０８で取得した固定帯域またはステップＳ６１３で取得した帯域リストの帯域が６４Ｋｂｐｓより大きい場合、高優先クラスは以下のように設定することができる。
【００９６】
ｍｅｄｉａ−ｔｙｐｅ＝ｖｉｄｅｏ  ａ＝ｒｅｃｖｏｎｌｙ
ステップＳ６１５において、ＳＩＰ／ＳＤＰ送信部３５０は、ステップＳ６１４で作成したリクエストをＮＧＮ２３０に送信する。
【００９７】
ＮＧＮ２３０では、データ転送装置２１１からリクエストを受信すると、ＣＳＣＦ２３１は、受信したリクエストに設定された宛先、本実施例ではデータ転送装置２２１に、リクエストを送信する。
【００９８】
図６に示したリクエストに対するレスポンス、すなわち、図８で後述するレスポンスを受信すると、データ転送装置２１１のデータ転送制御部３１０は、以下の処理を開始する（ステップＳ７００）。
【００９９】
ステップＳ７０１において、データ転送装置２１１は、図６に示したステップＳ６０５で判別した、データ指向性における位置付けを確認する。データ方向性における位置付けが「データ受信側」の場合（ステップＳ７０２  ＹＥＳ）、データ転送制御部３１０は、処理をステップＳ７０３に移行する。この場合、データ転送制御部３１０は、受信したレスポンスに帯域が設定されているか否かを確認する（ステップＳ７０３）。
【０１００】
受信したレスポンスに帯域が設定されている場合（ステップＳ７０４  ＹＥＳ）、レスポンスに設定されている帯域が利用可能な帯域か判別する（ステップＳ７０５）。例えば、レスポンスに設定されている帯域が、データ転送装置２１１に備わる利用帯域情報記憶部３７０に記憶された利用帯域情報５００に設定されている場合、データ転送制御部３１０は、レスポンスに設定されている帯域が、利用可能な帯域と判別することができる。
【０１０１】
レスポンスに設定されている帯域が利用可能な帯域である場合（ステップＳ７０５  ＹＥＳ）、データ転送制御部３１０は、処理をステップＳ７０６に移行する。この場合、データ転送制御部３１０は、データ転送装置２１１に備わるメモリ１４０２に受信バッファ３４０をアロケートする（ステップＳ７０６）。
【０１０２】
受信したレスポンスに帯域が設定されていない場合（Ｓ７０４  ＮＯ、Ｓ７０８  ＮＯ）や、受信したレスポンスに設定されている帯域が利用可能でない場合（ステップＳ７０５  ＮＯ、Ｓ７０９  ＮＯ）、データ転送制御部３１０は、処理をステップＳ７１４に移行する。この場合、データ転送制御部３１０は、データ通信を切断する（ステップＳ７１４）。
【０１０３】
一方、ステップＳ７０２において、データ方向性における位置付けが「データ送信側」または「双方向」の場合（ステップＳ７０２  ＮＯ）、データ転送制御部３１０は、処理をステップＳ７０７に移行する。この場合、データ転送制御部３１０は、受信したレスポンスに帯域が設定されているか否かを確認する（ステップＳ７０７）。
【０１０４】
受信したレスポンスに帯域が設定されている場合（ステップＳ７０８  ＹＥＳ）、レスポンスに設定されている帯域が利用可能な帯域か判別する（ステップＳ７０９）。レスポンスに設定されている帯域が利用可能な帯域である場合（ステップＳ７０９  ＹＥＳ）、データ転送制御部３１０は、処理をステップＳ７１０に移行する。この場合、データ転送制御部３１０は、レスポンスに設定されている帯域を、レスポンスから取得する（ステップＳ７１０）。さらに、データ転送制御部３１０は、データ転送制御部３１０に備わるメモリ１４０２に送信バッファ３３０をアロケートする（ステップＳ７１１）。ただし、既に送信バッファ３３０がアロケートされている場合には、ステップＳ７１１の処理は行われない。
【０１０５】
以上の処理が終了すると、データ転送制御部３１０は、処理をステップＳ７１２に移行する。そして、データ転送制御部３１０は、ＳＤＰにしたがってリクエストを作成する（ステップＳ７１２）。このとき、データ転送制御部３１０は、リクエストに、ステップＳ７１０で取得した帯域を設定する。レスポンスに帯域リストが設定されていた場合、データ転送制御部３１０は、ステップＳ７０９の処理で利用可能な帯域と判断した帯域のうちから任意の１つを選択してリクエストに設定する。
【０１０６】
リクエストの作成が完了すると、ＳＩＰ／ＳＤＰ送信部３５０は、リクエストをＮＧＮ２３０に送信する（ステップＳ７１３）。
ＮＧＮ２３０では、データ転送装置２１１からリクエストを受信すると、ＣＳＣＦ２３１が、受信したリクエストに設定された宛先、本実施例ではデータ転送装置２２１に、リクエストを送信する。
【０１０７】
図８および図９は、本実施例に係るデータ転送装置２２１の処理を示すフローチャートである。
図６に示したリクエストを受信すると、データ転送装置２２１は、以下の処理を開始する（ステップＳ８００）。
【０１０８】
ステップＳ８０１において、データ転送制御部３１０’は、受信したリクエストに帯域が設定されているか否かを判別する。固定帯域または帯域リストが、受信したリクエストに設定されている場合（ステップＳ８０１  ＹＥＳ）、データ転送制御部３１０’は、処理をステップＳ８０９に移行する。
【０１０９】
また、ステップＳ８０１において、受信したリクエストに帯域が設定されていない場合（ステップＳ８０１  ＮＯ）、データ転送制御部３１０’は、処理をステップＳ８０２に移行する。この場合、データ転送制御部３１０’は、データ転送装置２２１に備わるデータ指向性管理テーブル記憶部３６０’に記憶されたデータ指向性管理テーブル４００’を参照する。そして、データ転送制御部３１０’は、データ通信に使用するプロトコルを検索する（ステップＳ８０２）。
【０１１０】
データ通信に使用するプロトコルがデータ指向性管理テーブル４００に設定されている場合（ステップＳ８０３  ＹＥＳ）、データ転送制御部３１０’は、処理をステップＳ８０４に移行する。この場合、データ転送制御部３１０’は、データ指向性管理テーブル４００から、データ通信に使用するプロトコルの固定帯域を参照する（ステップＳ８０４）。
【０１１１】
データ指向性管理テーブル４００に固定帯域が設定されている場合、データ転送制御部３１０’は、帯域決定が可能と判断し（ステップＳ８０５  ＹＥＳ）、処理をステップＳ８０６に移行する。この場合、データ転送制御部３１０’は、データ指向性管理テーブル４００から、データ通信に使用するプロトコルの固定帯域を取得する（ステップＳ８０６）。そして、データ転送制御部３１０’は、処理をステップＳ８０９に移行する。
【０１１２】
一方、データ通信に使用するプロトコルがデータ指向性管理テーブル４００に設定されていない場合（ステップＳ８０３  ＮＯ）、データ転送制御部３１０’は、処理をステップＳ８０７に移行する。また、データ指向性管理テーブル４００に固定帯域が設定されていないので帯域決定が不可能と判断した場合も（ステップＳ８０５  ＮＯ）、データ転送制御部３１０’は、処理をステップＳ８０７に移行する。
【０１１３】
ステップＳ８０７において、データ転送制御部３１０’は、データ転送装置２２１に備わる利用帯域情報記憶部３７０’に記憶された利用帯域情報５００’を参照する。そして、ステップＳ８０８において、データ転送制御部３１０’は、利用帯域情報５００から、帯域リストを取得する。そして、データ転送制御部３１０’は、処理をステップＳ８０９に移行する。
【０１１４】
データ指向性における位置付けが「データ受信側」の場合（ステップＳ８０９  ＮＯ）、データ転送制御部３１０’は、処理をステップＳ８１１に移行する。また、データ指向性における位置付けが「データ送信側」または「双方向」の場合（ステップＳ８０９  ＹＥＳ）、データ転送制御部３１０’は、処理をステップＳ８１０に移行する。この場合、データ転送制御部３１０’は、データ転送装置２２１に備わるメモリ１４０２に送信バッファ３３０’をアロケートする（ステップＳ８１０）。なお、既に送信バッファ３３０がアロケートされている場合には、ステップＳ８１０の処理は行われない。
【０１１５】
ステップＳ８１１において、データ転送制御部３１０’は、ＳＤＰにしたがってレスポンスを作成する。このとき、データ転送制御部３１０’は、リクエストに設定されていた帯域、ステップＳ８０６で取得した固定帯域、または、ステップＳ８０８で取得した帯域リストを、レスポンスに設定する。レスポンスの作成が完了すると、ＳＩＰ／ＳＤＰ送信部３５０’は、レスポンスをＮＧＮ２３０に送信する（ステップＳ８１２）。
【０１１６】
ＮＧＮ２３０では、データ転送装置２２１からレスポンスを受信すると、ＣＳＣＦ２３１が、受信したレスポンスに設定された宛先、本実施例ではデータ転送装置２１１に、レスポンスを送信する。
【０１１７】
図７に示したリクエストを受信すると、データ転送装置２２１は、以下の処理を開始する（ステップＳ９００）。
ステップＳ９０１において、データ転送制御部３１０’は、受信したリクエストに帯域が設定されているか否かを判別する。受信したリクエストに帯域が設定されている場合（ステップＳ９０１  ＹＥＳ）、データ転送制御部３１０’は、受信したリクエストに設定されている帯域が利用可能な帯域か否かを判別する（ステップＳ９０２）。例えば、リクエストに設定されている帯域が、データ転送装置２２１に備わる利用帯域情報記憶部３７０’に記憶された利用帯域情報５００’に設定されている場合、データ転送制御部３１０’は、リクエストに設定されている帯域が、利用可能な帯域と判別することができる。
【０１１８】
受信したリクエストに設定されている帯域が利用可能な帯域である場合（ステップＳ９０２  ＹＥＳ）、データ転送制御部３１０’は、データ方向性における位置付けが、「データ送信側」または「双方向」であるか否かを判別する（ステップＳ９０４）。
【０１１９】
データ方向性における位置付けが「データ送信側」または「双方向」である場合（ステップＳ９０４  ＹＥＳ）、データ転送制御部３１０’は、データ転送装置２２１に備わるメモリ１４０２に送信バッファ３３０’をアロケートする（ステップＳ９０５）。また、データ方向性が「データ受信側」の場合（ステップＳ９０４  ＮＯ）、データ転送制御部３１０’は、データ転送装置２２１に備わるメモリ１４０２に受信バッファ３４０’をアロケートする（ステップＳ９０６）。
【０１２０】
以上に説明した図６〜図９までの処理を含むセッション制御通信が完了すると、ＣＳＣＦ２３１は、データ転送装置２１１−データ転送装置２２１間に、指定の転送品質クラスの、ステップＳ７１３で指定された帯域を持つ通信パスが確立する。以後、データ転送装置２１１とデータ転送装置２２１は、通信パス２３５を使用してデータの授受を行う。したがって、端末２１２とサーバ２２２とは、データ転送装置２１１−データ転送装置２２１間に確立した通信パス２３５を介して、ＨＴＴＰやＦＴＰなどを利用したデータ通信を行うことが可能となる。
【０１２１】
図１０〜図１３は、本実施例に係る帯域変更処理を示すフローチャートである。
図１０は、送信バッファの使用状況を監視する処理を示すフローチャートである。この送信バッファの使用状況を監視する処理は、データ転送装置２１１またはデータ転送装置２２１のうち、データ方向性における位置付けが「データ送信側」となる装置で行われる。なお、データ方向性における位置付けが「双方向」の場合であって、あらかじめ決められた固定帯域を使用しない場合には、データ転送装置２１１またはデータ転送装置２２１のうち都合のよい方が行えばよい。
【０１２２】
図１０〜図１３では、データ転送装置２１１の、データ方向性における位置付けが「データ送信側」である場合を例に説明する。
端末２１２から受信するコンテンツ情報などのデータは、データ転送装置２１１に備わる送信バッファ３３０に格納されてから、対向装置であるデータ転送装置２２１に送信される。データ転送装置２１１の送信バッファ制御部３２０は、端末２１２からデータを受信すると、送信バッファ・キューを参照する（Ｓ１０００）。
【０１２３】
送信バッファ・キューの長さが閾値Ｔｈ−ａ以上の場合（ステップＳ１００１  ＹＥＳ）、送信バッファ制御部３２０は、図示しないが、送信バッファ・キューの長さが閾値Ｔｈ−ａ以上となっている時間を計測するタイマＡを設定する。ただし、既にタイマＡが設定されている場合、送信バッファ制御部３２０は、タイマＡを設定しない。そして、送信バッファ制御部３２０は、処理をステップＳ１００２に移行する。
【０１２４】
ステップＳ１００２において、送信バッファ制御部３２０は、タイマＡから、送信バッファ・キューの長さが閾値Ｔｈ−ａ以上となっている時間Ｔａを取得する。そして、時間Ｔａが閾値Ｘより大きい場合（ステップＳ１００２  ＹＥＳ）、送信バッファ制御部３２０は、データ転送制御部３１０に対して、帯域増加処理を指示する（ステップＳ１００３）。
【０１２５】
帯域増加処理が完了すると、送信バッファ制御部３２０は、処理をステップＳ１０００に移行する。また、時間Ｔａが閾値Ｘ以下の場合（ステップＳ１００２  ＮＯ）、送信バッファ制御部３２０は、処理をステップＳ１０００に移行する。
【０１２６】
一方、送信バッファ・キューの長さが閾値Ｔｈ−ａ未満の場合（ステップＳ１００１  ＮＯ）、送信バッファ制御部３２０は、タイマＡをクリアする（ステップＳ１００４）。
送信バッファ・キューの長さが閾値Ｔｈ−ｂ未満の場合（ステップＳ１００５  ＹＥＳ）、送信バッファ制御部３２０は、図示しないが、送信バッファ・キューの長さが閾値Ｔｈ−ｂ未満となっている時間を計測するタイマＢを設定する。ただし、既にタイマＢが設定されている場合、送信バッファ制御部３２０は、タイマＢを設定しない。そして、送信バッファ制御部３２０は、処理をステップＳ１００６に移行する。
【０１２７】
ステップＳ１００６において、送信バッファ制御部３２０は、タイマＢから、送信バッファ・キューの長さが閾値Ｔｈ−ｂ未満となっている時間を取得する。
ステップＳ１００５において、送信バッファ制御部３２０は、タイマＢから、送信バッファ・キューの長さが閾値Ｔｈ−ｂ以上となっている時間Ｔｂを取得する。そして、時間Ｔｂが閾値Ｙより大きい場合（ステップＳ１００６  ＹＥＳ）、送信バッファ制御部３２０は、データ転送制御部３１０に対して、帯域減少処理を指示する（ステップＳ１００７）。
【０１２８】
帯域減少処理が完了すると、送信バッファ制御部３２０は、処理をステップＳ１０００に移行する。また、時間Ｔｂが閾値Ｙ以下の場合（ステップＳ１００６  ＮＯ）、送信バッファ制御部３２０は、処理をステップＳ１０００に移行する。
【０１２９】
一方、送信バッファ・キューの長さが閾値Ｔｈ−ｂ以上の場合（ステップＳ１００５  ＮＯ）、送信バッファ制御部３２０は、タイマＢをクリアする（ステップＳ１００８）。そして、送信バッファ制御部３２０は、処理をステップＳ１０００に移行する。
【０１３０】
図１１〜図１３は、本実施例に係る帯域変更処理を示すフローチャートである。図１１から順に説明する。
データ転送装置２１１の送信バッファ制御部３２０から帯域変更の指示、例えば、図１０に示した帯域増加の指示（ステップＳ１００３）や帯域減少の指示（ステップＳ１００７）を受信すると、データ転送制御部３１０は、以下の処理を開始する（ステップＳ１１００）。
【０１３１】
ステップＳ１１０１において、データ転送制御部３１０は、データ転送装置２１１に備わる利用帯域情報記憶部３７０に記憶されている利用帯域情報５００を参照する。
受信した帯域変更の指示が帯域増加の指示である場合（ステップＳ１１０２  ＹＥＳ）、データ転送制御部３１０は、帯域増加が可能か否かを判別する（ステップＳ１１０３）。例えば、現在使用している通信パスの帯域より大きい帯域が、利用帯域情報５００に設定されている場合、データ転送制御部３１０は、帯域増加が可能と判断することができる。帯域増加が可能と判断した場合（ステップＳ１１０３  ＹＥＳ）、データ転送制御部３１０は、処理をステップＳ１１０５に移行する。
【０１３２】
一方、受信した帯域変更の指示が帯域減少の指示である場合（ステップＳ１１０２  ＮＯ）、データ転送制御部３１０は、帯域減少が可能か否かを判別する（ステップＳ１１０４）。例えば、現在使用している通信パスの帯域より小さい帯域が、利用帯域情報５００に設定されている場合、データ転送制御部３１０は、帯域減少が可能と判断することができる。帯域減少が可能と判断した場合（ステップＳ１１０４  ＹＥＳ）、データ転送制御部３１０は、処理をステップＳ１１０５に移行する。
【０１３３】
ステップＳ１１０５において、データ転送制御部３１０は、帯域リストを作成する。例えば、送信バッファ制御部３２０から帯域増加の指示を受信した場合、データ転送制御部３１０は、現在使用している通信パスの帯域より大きい帯域を、データ転送装置２１１に備わる利用帯域情報５００から取得して帯域リストを作成する。また、送信バッファ制御部３２０から帯域減少の指示を受信した場合、データ転送制御部３１０は、現在使用している通信パスの帯域より小さい帯域を、データ転送装置２１１に備わる利用帯域情報５００から取得して帯域リストを作成する。
【０１３４】
ステップＳ１１０６において、データ転送制御部３１０は、ＳＤＰにしたがってリクエストを作成する。このとき、データ転送制御部３１０は、リクエストに、ステップＳ１１０５で作成した帯域リストを設定する。リクエストの作成が完了すると、データ転送制御部３１０は、リクエストをＮＧＮ２３０に送信する（ステップＳ１１０７）。
【０１３５】
ＮＧＮ２３０では、データ転送装置２１１からリクエストを受信すると、ＣＳＣＦ２３１は、受信したリクエストに設定された宛先、本実施例ではデータ転送装置２２１に、リクエストを送信する。
【０１３６】
帯域増加が不可能と判断した場合（ステップＳ１１０３  ＮＯ）、データ転送制御部３１０は、処理を終了する（ステップＳ１１０８）。同様に、帯域減少が不可能と判断した場合（ステップＳ１１０４  ＮＯ）、データ転送制御部３１０は、処理を終了する（ステップＳ１１０９）。
【０１３７】
図１１に示したリクエストを受信すると、データ転送装置２２１は、以下の処理を開始する（ステップＳ１２００）。
ステップＳ１２０１において、データ転送制御部３１０’は、受信したリクエストに帯域が設定されている否かを判別する。受信したリクエストに帯域が設定されている場合（ステップＳ１２０１  ＹＥＳ）、データ転送制御部３１０’は、リクエストに設定されている帯域が利用可能な帯域であるか否かを判別する。
【０１３８】
例えば、リクエストに設定されている帯域が、データ転送装置２２１の利用帯域情報記憶部３７０’に記憶された利用帯域情報５００’に設定されていれば、データ転送制御部３１０’は、リクエストに設定されている帯域が利用可能な帯域であると判断することができる。
【０１３９】
リクエストに設定されていた帯域が利用可能な帯域である場合（ステップＳ１２０２  ＹＥＳ）、データ転送制御部３１０’は、リクエストに設定されていた帯域を、新たな帯域として選択する（ステップＳ１２０３）。リクエストに帯域リストが設定されていた場合、データ転送制御部３１０’は、ステップＳ１２０２の処理で利用可能な帯域と判断した帯域のうちから任意の１つを選択すればよい。
【０１４０】
一方、受信したリクエストに帯域が設定されていない場合（ステップＳ１２０１  ＮＯ）、データ転送制御部３１０’は、現在使用している帯域を選択する（ステップＳ１２０４）。同様に、リクエストに設定されていた帯域が利用可能な帯域でない場合（ステップＳ１２０２  ＮＯ）、データ転送制御部３１０’は、現在使用している帯域を選択する（ステップＳ１２０４）。
【０１４１】
ステップＳ１２０５において、データ転送制御部３１０’は、ＳＤＰにしたがってレスポンスを作成する。このとき、データ転送制御部３１０’は、レスポンスに、ステップＳ１２０３またはステップＳ１２０４で選択した帯域を設定する。レスポンスの作成が完了すると、データ転送制御部３１０’は、レスポンスをＮＧＮ２３０に送信する（ステップＳ１２０６）。
【０１４２】
ＮＧＮ２３０では、データ転送装置２２１からレスポンスを受信すると、ＣＳＣＦ２３１は、受信したリレスポンスに設定された宛先、本実施例ではデータ転送装置２１１に、レスポンスを送信する。
【０１４３】
図１３に示したレスポンスを受信すると、データ転送装置２１１は、以下の処理を開始する（ステップＳ１３００）。
ステップＳ１３０１において、データ転送制御部３１０は、受信したレスポンスに、帯域が設定されているか否かを判別する。受信したレスポンスに帯域が設定されている場合（ステップＳ１３０１  ＹＥＳ）、データ転送制御部３１０は、レスポンスに設定された帯域が利用可能な帯域か否かを判別する（ステップＳ１３０２）。
【０１４４】
レスポンスに設定された帯域が利用可能な帯域の場合（ステップＳ１３０２  ＹＥＳ）、データ転送制御部３１０は、帯域変更処理を完了する（ステップＳ１３０３）。
以上に説明した図１１〜図１３までのセッション制御通信が完了すると、データ転送装置２１１−データ転送装置２２１間に、新たな帯域が割当てられた通信パス２３５が確立する。以後、データ転送装置２１１とデータ転送装置２２１は、新たに設定された帯域の通信パス２３５を使用してデータの授受を行う。
【０１４５】
受信したレスポンスに帯域が設定されていない場合（ステップＳ１３０１  ＮＯ）や、レスポンスに設定された帯域が利用可能な帯域でない場合（ステップＳ１３０２  ＮＯ）、データ転送制御部３１０は、処理を終了する（ステップＳ１３０４）。
【０１４６】
図１４は、本実施例に係るデータ転送装置２１１の具体的な構成例を示す図である。なお、データ転送装置２１１とデータ転送装置２２１は、同じ構成の装置を用いることができるので、データ転送装置２２１の構成例は省略する。
【０１４７】
図１４に示すデータ転送装置２１１は、ＣＰＵ１４０１と、メモリ１４０２と、入力装置１４０３と、出力装置１４０４と、外部記録装置１４０５と、媒体駆動装置１４０６と、ネットワーク接続装置１４０８と、を備える。そして、これらの装置がバスに接続されて相互にデータの受け渡しが行える構成となっている。
【０１４８】
ＣＰＵ１４０１は、周辺機器や各種ソフトウェアを実行する他に本実施例に係るデータ転送処理を実現するプログラムを実行する演算装置である。
メモリ１４０２は、プログラムを実行するために使用される揮発性の記憶装置である。メモリ１４０２には、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを使用することができる。
【０１４９】
入力装置１４０３は、外部からのデータ入力手段である。入力装置１４０３には、例えば、キーボードやマウスなどを使用することができる。
出力装置１４０４は、データ等を表示装置等に出力する装置である。なお、出力装置１４０４には、表示装置を含むこともできる。
【０１５０】
外部記録装置１４０５は、データ転送装置２１１が動作するために必要なプログラムやデータの他に本実施例に係るデータ転送処理を実現するプログラムを記録する不揮発性の記憶装置である。外部記憶装置１４０５には、例えば、磁気ディスク記憶装置などを使用することができる。
【０１５１】
媒体駆動装置１４０６は、メモリ１４０２や外部記録装置１４０５のデータを可搬記録媒体１４０７、例えば、フロッピイディスクやＭＯディスク、ＣＤ−ＲやＤＶＤ−Ｒなどに出力し、または可搬記録媒体１４０７からプログラムやデータ等を読み出す装置である。
【０１５２】
ネットワーク接続装置１４０８は、ネットワーク１４０９に接続する装置である。
なお、メモリ１４０２、外部記録装置１４０５および可搬記録媒体１４０７などの情報処理装置に読取り可能な記録媒体は、非一時的（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）な媒体である。
【０１５３】
以上に説明したように、本実施例に係るデータ転送装置２１１は、端末２１２からＨＴＴＰリクエストなどのリクエストを受信すると、そのデータ通信のデータ方向性を、データ指向性管理テーブル４００に基づいて判別する。
【０１５４】
そして、データ転送装置２１１は、ＮＧＮ２３０が提供するＳｏＳを利用して、データ転送装置２１１−データ転送装置１２０間に、データ方向性と一致するデータ転送方向に、所定の帯域の通信パス２３５を確立する。
【０１５５】
その結果、データ転送装置２１１は、ＮＧＮ２３０を利用した、音声通信以外の様々なデータ通信においても、所定の帯域の通信パス２３５を確保することができる。そのため、データ転送装置２１１は、ＮＧＮ２３０を利用した、音声通信以外の様々なデータ通信においても、高品質なデータ通信を提供することができる。
【０１５６】
また、データ転送装置２１１は、データ方向性における自装置の位置付けが「データ送信側」である場合、データ転送装置２１１に備わる送信バッファ３３０の使用状況を監視する。そして、データ転送装置２１１は、送信バッファ３３０の使用状況に応じて、ＮＧＮ２３０が提供するＳｏＳを利用して、通信パス２３５の帯域を動的に増減する。
【０１５７】
その結果、データ転送装置２１１は、ＮＧＮ２３０を利用した、音声通信以外の様々なデータ通信においても、通信パス２３５の帯域制御を行うことができる。例えば、データ転送装置２１１は、データの通信量に応じた適切な帯域に、通信パス２３５の帯域を調整することができる。これにより、データ転送装置２１１は、データ通信量に応じて、適切な帯域の通信パス２３５を確保することができる。データ転送装置２１１は、ＮＧＮ２３０を用いたデータ通信を効率良く行うことができる。
【０１５８】
また、データ転送装置２１１は、データの通信量に応じて通信パス２３５の帯域を調整するので、データ転送装置２１１にデータが滞留してしまうことがないため、余分なバッファを確保する必要がない。そのため、データ転送装置２１１は、データ転送装置２１１に備わるメモリ等の資源を有効に使用することができる。
以上のように、本実施例に係るデータ転送装置２１１は、高品質なデータ通信を行うことができる。
【０１５９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
ネットワークを介して接続する対向装置にデータを送信するデータ転送装置において、
データ通信におけるデータの主な送信方向を示すデータ方向性を定義したデータ指向性情報を記憶するデータ指向性情報記憶部と、
データを受信すると、前記データ指向性情報記憶部から前記データ指向性情報を読み出し、該データ指向性情報から前記データ方向性を特定し、該特定した前記データ方向性における自装置の位置付けを判別する位置付け判別部と、
前記データ方向性に基づく送信方向の前記データ通信に使用する、所定の帯域の通信パスを、前記対向装置との間に確立する通信パス確立部と、
前記データ方向性に基づく送信方向の前記データ通信に前記通信パスを使用して、前記対向装置と前記データ通信を行うデータ通信部と、
前記データ方向性における自装置の位置付けがデータ送信側である場合、前記対向装置に送信するデータを一時的に記憶する送信バッファの使用状況を監視し、前記送信バッファの使用状況に応じて、前記通信パスの帯域を変更する帯域制御部と、
を備えるデータ転送装置。
（付記２）
前記データ指向性情報には、データ通信に使用するプロトコル毎に前記データ方向性が定義されている、
ことを特徴とする付記１に記載のデータ転送装置。
（付記３）
前記データ方向性は、前記データ通信におけるデータの転送量で決まる、
ことを特徴とする付記１に記載のデータ転送装置。
（付記４）
前記データ方向性は、前記データ通信にけるデータの転送量がより大きくなる送信方向で定義される、
ことを特徴とする付記１に記載のデータ転送装置。
（付記５）
前記通信パス確立部は、前記自装置の使用可能帯域と前記対向装置の使用可能帯域とに基づいて前記所定の帯域を決定する、
ことを特徴とする付記１に記載のデータ転送装置。
（付記６）
前記帯域制御部は、前記送信バッファを管理する待ち行列の長さが第１の長さ以上の状態が続く時間が第１の閾値より大きくなると、前記所定の帯域を増加させる、
ことを特徴とする付記１に記載のデータ転送装置。
（付記７）
前記帯域制御部は、前記送信バッファを管理する待ち行列の長さが第２の長さ未満の状態が続く時間が第２の閾値より大きくなると、前記所定の帯域を減少させる、
ことを特徴とする付記１に記載のデータ転送装置。
（付記８）
前記ネットワークは、帯域要求を受けると、該要求に応じた帯域の通信パスを提供するＮＧＮ（Ｎｅｘｔ  Ｇｅｎｅｒａｔｉｏｎ  Ｎｅｔｗｏｒｋ）である、
ことを特徴とする付記１に記載のデータ転送装置。
（付記９）
前記通信パス確立部は、前記ＮＧＮに対して、前記データ方向性と一致する転送品質クラスを指定する、
ことを特徴とする付記８に記載のデータ転送装置。
（付記１０）
ネットワークを介して接続する対向装置にデータを送信するデータ転送方法において、
データを受信すると、データ通信におけるデータの主な送信方向を示すデータ方向性を定義したデータ指向性情報を記憶するデータ指向性情報記憶部から前記データ指向性情報を読み出し、該データ指向性情報から前記データ方向性を特定し、該特定した前記データ方向性における自装置の位置付けを判別し、
前記データ方向性に基づく送信方向の前記データ通信に使用する、所定の帯域の通信パスを、前記対向装置との間に確立し、
前記データ方向性に基づく送信方向の前記データ通信に前記通信パスを使用して、前記対向装置と前記データ通信をし、
前記データ方向性における自装置の位置付けがデータ送信側である場合、前記対向装置に送信するデータを一時的に記憶する送信バッファの使用状況を監視し、前記送信バッファの使用状況に応じて、前記通信パスの帯域を変更するデータ転送方法。
（付記１１）
ネットワークを介して接続する対向装置にデータを送信するデータ転送をデータ転送装置に実行させるプログラムにおいて、
データを受信すると、データ通信におけるデータの主な送信方向を示すデータ方向性を定義したデータ指向性情報を記憶するデータ指向性情報記憶部から前記データ指向性情報を読み出し、該データ指向性情報から前記データ方向性を特定し、該特定した前記データ方向性における自装置の位置付けを判別する処理と、
前記データ方向性に基づく送信方向の前記データ通信に使用する、所定の帯域の通信パスを、前記対向装置との間に確立する処理と、
前記データ方向性に基づく送信方向の前記データ通信に前記通信パスを使用して、前記対向装置と前記データ通信をする処理と、
前記データ方向性における自装置の位置付けがデータ送信側である場合、前記対向装置に送信するデータを一時的に記憶する送信バッファの使用状況を監視し、前記送信バッファの使用状況に応じて、前記通信パスの帯域を変更する処理と、
を前記データ転送装置に実行させるプログラム。
【符号の説明】
【０１６０】
１００      通信システム
１１０      データ転送装置
１１１      データ指向性情報記憶部
１１２      位置付け判別部
１１３      通信パス確立部
１１４      データ通信部
１１５      帯域制御部
１１６      送信バッファ
１２０      対向装置（データ転送装置）
１３０      ネットワーク
１３１      通信パス
【図１】
0005516159.tif 000002
【図４】
0005516159.tif 000003
【図５】
0005516159.tif 000004
【図６】
0005516159.tif 000005
【図７】
0005516159.tif 000006
【図８】
0005516159.tif 000007
【図９】
0005516159.tif 000008
【図１０】
0005516159.tif 000009
【図１１】
0005516159.tif 000010
【図１２】
0005516159.tif 000011
【図１３】
0005516159.tif 000012
【図１４】
0005516159.tif 000013
【図２】
0005516159.tif 000014
【図３】
0005516159.tif 000015