説明

ネットワークシステム、及び通信装置

【課題】 ユーザによりタイムスタンプ詐称を防止し、地理的に離れた全ユーザにパケットの受付順で網から送出する事を保証する。
【解決手段】 ユーザからのアクセスが困難な通信事業者の管理責任範囲2内の網上の各通信装置10で、ユニークなタイムスタンプの付与機能を実現する。管理責任範囲2外のユーザのタイムスタンプの詐称を防ぐため、加入者100が付与したタイムスタンプ付きパケットを受信した場合、管理責任範囲2内の網に位置する各通信装置10が当該タイムスタンプを無効化し、管理責任範囲2外にパケットを転送するときに、加入者からのパケットのタイムスタンプを含め復元する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケットの網への入出順序を保証するネットワークシステム及び通信装置に関するものである。
【背景技術】
【0002】
現在の通信事業者が提供する通信サービスでは、地理的に離れた複数ユーザが同じ宛先へ送出するパケットの通信事業者の網に入る順番と宛先で網から出ていく順番は、ユーザと宛先間またはユーザ間の物理的な距離などの違いにより発生する伝送遅延が異なるので必ずしも等しくない。
【0003】
そのため、処理結果が処理を実行する順序により決まるトランザクション、例えば、インターネット・オークション、チケット購入、株・通貨の売買などのネットワークを介した電子商取引等の場合、利害関係のあるユーザ間で伝送遅延による僅かな時間差でも有利/不利の関係が生まれてしまい、提供するサービスに対する公平性が維持できない。処理要求がネットワークを介して転送され処理される場合、ネットワークへ送出された処理要求は処理を実行するサーバまでの物理的距離などに応じた伝送遅延を伴い当該サーバへ転送され受付処理される。つまり、処理要求の受付処理が行われる順序は、処理要求の送出順序だけでなく、通信に伴う伝送遅延時間にも依存してしまう。
【0004】
この改善策として、ユーザからの処理要求にタイムスタンプを付与して、トランザクションを処理するサーバで順序を並べ替える方法がある。特許文献1は、ユーザの利用する端末間で時刻同期をして、端末が送出するユーザの処理要求にタイムスタンプを付与する機能を持ち、トランザクションを処理するサーバは要求の受信順ではなく、処理要求に付与されたタイムスタンプに基づいて要求の順序を並び替え、処理要求の送出順に処理を行うことを実現している。
【0005】
具体的には、特許文献1には、次の内容が開示されている。クライアントマシンは、タイムサーバから定期的に絶対時刻を受信し、受信した絶対時刻を用いてクライアントマシンのタイマの時刻補正を行う。各クライアントマシンは、サーバマシンに対して各種サービスの提供を受けるためのサービスデータ要求とタイマの時刻データ(絶対時刻)とをインタネット経由で送出する。サーバマシンの制御部は、記憶装置に順次記憶するサービスデータ要求を、サービスデータ要求に付与されている時刻データ(絶対時刻)に基づいて、絶対時刻が早い順にソートするよう制御する。また、サーバマシンは、各クライアントマシンからのサービスデータ要求が、制御部に到着してからの時間を計時するためのタイマを備える。各クライアントマシンとサーバマシンとの間の伝送時間のうち最大の伝送時間を最大遅延時間とし、サーバマシンは、サーバマシンの備えるタイマを用いて、サービスデータ要求を最大遅延時間分は記憶装置に保持してからサービス要求データの処理を実行する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−259386号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1では、タイムスタンプを扱う機能は、クライアントマシンで動作するサービス要求プログラム、およびサーバマシンで動作するサービス処理プログラムで実現されている。これは当該機能を、サーバが提供するサービスの一部として、およびクライアントマシンのサービスを利用する機能の一部として、個々のサービス毎に作成し組み込む必要がある。つまり、当該機能を予め具備するサービスだけに利用が限定されてしまう。そのため、当該機能を利用したいサービス提供者またはユーザは、サービス毎に当該機能を具備する専用サービスを構築する必要がある。また、特許文献1では、タイムスタンプを扱う機能は、クライアントマシン、すなわち、ユーザがアクセスできる場所(e.g.ユーザの操作する端末)で動作しているので、悪意あるユーザにより、ユーザ間の公平性を担保するために利用するタイムスタンプ情報が詐称される危険がある。
【0008】
本発明の目的は、悪意あるユーザによる詐称を防止し、地理的に離れた複数ユーザに等時性が保証されたサービスを提供することが可能なネットワークシステム、及び通信装置を提供することにある。
【課題を解決するための手段】
【0009】
本発明においては、上記の目的を達成するため、複数の通信装置を接続する網を備えるネットワークシステムであって、網の外部からパケットを受信した通信装置は、他の通信装置と時刻同期の取れた順序情報をパケットに付与し、当該パケットを網の外部に送出する通信装置は、パケットに付与された順序情報に基づきパケットを整列してから送出を行うネットワークシステムを提供する。
【0010】
また、本発明においては、上記目的を達成するため、網内で他の通信装置と接続される通信装置であって、網の外部からパケットを受信し、他の通信装置と時刻同期の取れた順序情報を当該パケットに付与する入力処理部と、他の通信装置がパケットに付与した順序情報に基づき、パケットを整列して網の外部に送出する出力処理部を備える通信装置を提供する。
【発明の効果】
【0011】
本発明によれば、悪意あるユーザによる詐称を防止し、通信事業者の管理下にある網に接続する全ユーザに等時性を保証したサービスを提供可能なネットワークシステムを構築できる。また、サービス提供者またはユーザは、所望のサービスを変更することなく、詐称を防止し、且つ地理的に離れた複数のユーザに要求の送出順でサービス提供を行い、ユーザ間の時間的公平性を担保できる。
【図面の簡単な説明】
【0012】
【図1】第1の実施例に係る、機器の管理責任範囲と機能配置位置の関係を説明するためのブロック図である。
【図2】第1の実施例に係る、通信装置の内部構造例を示す図である。
【図3】第1の実施例に係る、入力処理部におけるパケット転送の処理フローの一例を示す図である。
【図4】第1の実施例に係る、出力処理部におけるパケット転送の処理フローの一例を示す図である。
【図5】第1の実施例に係る、順序情報付与の処理フローの一例を示す図である。
【図6】第1の実施例に係る、順序情報無効化の処理フローの一例を示す図である。
【図7】第1の実施例に係る、パケット整列および順序情報無効化の処理フローの一例を示す図である。
【図8】第1の実施例に係る、網が等時性を提供する適用例のタイミングチャート図である。
【図9】第1の実施例に係る、通信装置で扱う各種遅延時間を算出するために扱う通信装置間の伝送遅延の測定区間例を示す図である。
【図10】第1の実施例に係る、通信装置で扱うパケットを構成する各フィールドのレイアウト例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態を図面に従い説明する。
【実施例1】
【0014】
図1は実施例1における機器の管理責任範囲と、機能配置位置の関係を説明するための図である。同図において、1が加入者の管理責任範囲、2が通信事業者の管理責任範囲、3がPOI(Point of Interface)を示している。このPOI3が、加入者の管理責任範囲1と通信事業者の管理責任範囲2に分割される網における管理責任分界境界を示す。本明細書において、この通信事業者の管理責任範囲2内の網を、事業者ネットワークと呼ぶ場合がある。
【0015】
同図に示すように、本実施例のネットワークシステムは、加入者端末100、加入者端末から利用するサービスを提供する宛先サーバ200、通信事業者が通信サービスを提供するために利用する通信装置10から構成される。本実施例の構成は、ホームゲートウェイなどの加入者宅内に設置される通信事業者が管理する通信装置、またはMPLS−TP(Multi Protocol Label Switching − Transport Profile)装置など通信事業者の局舎内に設置される通信事業者が管理する通信装置に適用される。
【0016】
上述した特許文献1では、当該特許技術が適用されるのが加入者の管理するクライアントマシンおよびサービス提供者の管理するサーバマシンであり、ネットワーク機能を提供する通信事業者は関与しない。一方、本実施例の通信装置の構成が適用されるのは通信事業者の管理する通信装置である。加入者およびサービス提供者は、通信事業者の提供する事業者ネットワーク内の等時性を保証する通信サービスを利用するだけで、自身の通信装置などになんら機能を追加・実行する必要がない点に特徴がある。
【0017】
図1において、加入者端末100は、通信事業者の通信装置10を介し、通信事業者の提供する通信サービスを利用して宛先サーバ200と通信することにより、加入者は宛先サーバ200が提供するサービスを利用する。なお、通信事業者の管理責任範囲、即ち事業者ネットワーク内の全ての通信装置10は、それらを管理する通信事業者の管理者端末210により、制御信号220等を用いて制御される。
【0018】
加入者端末100が接続される通信事業者の通信装置10は、事業者ネットワーク内で加入者から受付けるパケットに付与するためのユニークな識別子として時刻を使用する。そのため、通信装置10はGPS(Global Positioning System)などの時刻取得機能、またはIEEE1588v2やNTP(Network Time Protocol)などの時刻同期機能を利用して網内の通信装置と時刻同期を実現する機能を具備する。
【0019】
加入者端末100が接続される通信事業者の通信装置10は、加入者から受信するパケットに対して網の受付け順を示す順序情報付与機能20を具備する。順序情報には、通信装置10が保持し、他の通信装置10と時刻同期している時計から取得した時刻情報を含む。
【0020】
また、高速なネットワーク・インターフェースを持つ通信装置10では、通信装置10が保有する時計が示す同一時刻内に複数のパケットを加入者から受付けることが想定される。このようなパケットに対して受付け順序で整列するとき参考情報として参照できるように、順序情報を時刻情報と付加情報でも構成できる。このような付加情報はシーケンス番号 (i.e.0、1、2、...)、同一時刻内の該当ポートでの累積受信バイト数 (e.g.0、64、128、...)、HW(Hardware)のクロックカウント値、装置毎に設定される任意の整数値などが適用できる。
【0021】
ここで、シーケンス番号は、同一装置内の順序を識別するための最も単純な仕組みである。また、累積受信バイト数は、ネットワーク・インターフェースにワイヤレートでパケットが入力された場合に、時計の最小刻み間の相対的な位置を示せる。例えば、入力処理部を構成するHWタイマのクロックカウント値は、時計の最小刻みより細かいHWクロック値を用いるので、累積受信バイト数を適用した場合より細かい粒度の相対位置を示すことが出来る。任意の整数値は、各通信装置に事前に優先順位を割り当てる効果がある。この場合、任意の整数値とシーケンス番号を組み合わせることにより、任意の整数値で通信装置間での順序を決め、シーケンス番号で各通信装置内の順序を決めることが可能になる。
【0022】
特に同一構成の通信装置10で網が構成されている場合、各通信装置10が同一周波数で動作していると仮定できるので、複数送信元から送信された複数の同一時刻を示す順序情報を持つパケットを整列する際に、付加情報としてHWクロック値を用いることにより、実装が容易で高い精度を実現できる。
【0023】
後に図2を用いて詳述するように、加入者端末100が接続される通信事業者の加入者側の通信装置10は、事前に指定された任意の時間だけ、加入者から受信するパケットを網内に送出することを遅延する機能を具備する。当該遅延機能により、本来、宛先サーバ200が接続される通信事業者のサービス提供者側の通信装置10での遅延時間を、加入者側の通信装置内で消費することになる。ここで、多数の加入者端末と通信する宛先サーバに接続するサービス提供者側の通信装置10は、網の伝送遅延から求められる適切な待ち時間の間に、加入者端末から受信することが想定される全パケットを、一時的に待機させるバッファが必要になる。しかし、加入者側の通信装置の当該遅延機能により、このサービス提供者側の通信装置での適切な待ち時間が短縮できるので、当該通信装置が持つべきバッファ量を削減することが可能になる。
【0024】
また、加入者端末100が接続される通信事業者の通信装置10は、加入者から受信するパケットに既に順序情報(事業者ネットワークで付与される順序情報と区別するため「既存順序情報」と呼ぶ)が付与されていた場合、当該既存順序情報を無効化する機能を具備する。この網の入側の通信装置10の無効化機能は、既存順序情報が持つ無効フラグ・フィールドにビットをセット、既存順序情報とは無関係に追加的に網独自の順序情報の付与、既存順序情報が過去の時刻情報を保有していれば順序詐称の可能性があるのでパケット自体の廃棄、既存順序情報を詐称防止のため無条件に現在値で更新、または、既存順序情報の値に関係なく詐称防止のため無条件にパケットを廃棄などの実現方法が考えられる。更に、既存順序情報が未来の時刻を示していれば、網の出側で指定時刻までの送出保留機能への指示と判断して入側ではそのまま透過することも可能である。なお、後で説明するように、事業者ネットワーク内独自の順序情報は、時刻情報と付加情報を備えている。
【0025】
一方、宛先サーバ200が接続される通信事業者の通信装置10は、同一の宛先へ送出するパケットを事前に設定された任意の時間だけ送出を遅延させ、網の入側の通信装置10の順序情報付与機能20でパケットに付与された順序情報でパケットを整列してから、宛先へ送出するパケット整列送出機能30を具備する。このとき、順序情報内の時刻情報は網がパケットを受付けた時刻を示すので、通信装置10は、当該時刻が最も古いパケットから順に送出する。順序情報によるパケット整列送出機能30は、パケットの受付け順序に従い、受付けたタイミングで該当パケットを宛先へ送出する。
【0026】
このように宛先サーバ200が接続される通信事業者の通信装置10は、順序情報によるパケット整列送出機能30で、順序情報の前後関係を判断する機能を具備する。順序情報の前後関係は、順序情報内の時刻情報の前後関係により決定する。また、順序情報の前後関係は、同一時刻内に複数パケットを受け付けることを考慮して、時刻情報と付加情報により前後関係を判断できる。この付加情報は、パケット内の優先順位を示すフィールドの値、前記のシーケンス番号など、またはその両方である。
【0027】
例えば、パケット内の優先順位を示すフィールドを参照することにより、網の受付け順序だけでなく、加入者または通信事業者の付与する優先順位に従い整列順序を制御することが可能になる。なお、パケット内の優先順位を示すフィールドは、MPLSのTC(Traffic Class)フィールド、VLAN(Virtual LAN)タグのCoS(Class of Service)フィールド、IP(Internet Protocol)パケット内のToS(Type of Service)フィールドなどである。
【0028】
宛先サーバ200が接続される通信事業者の通信装置10は、パケットに付与された順序情報により整列しようとするが、複数のパケットが全く同じ順序情報を保持している場合に、それらの中から先に送出するパケットを選択する機能を具備する。順序情報が完全に一致した場合の順序決定方法は、パケットの整列を行う通信装置10の受信パケットを保持する受信キューなどのバッファ内の並び順に従う方法や、ランダムな選択方法がある。このランダムな選択方法として、乱数を受信キュー内のエントリを指すインデックスとして利用して選択することなどが挙げられる。
【0029】
上述の通り、宛先サーバ200が接続される通信事業者の通信装置10は、網の外部に送出するパケットを、順序情報内の時刻情報が示す時刻までパケットの送出を遅延するパケット整列送出機能30を具備する。当該機能により網から指定時間に情報を宛先へ配信することが可能になる。
【0030】
宛先サーバ200が接続される通信事業者の通信装置10は、網から宛先サーバ200へ送出するパケットに対して、網で付与した順序情報を無効化して、網の入側で通信装置10により無効化された順序情報があれば有効化して、網が受付けたパケットの状態を復元する機能を具備する。
【0031】
図2は、図1に記した実施例における事業者ネットワーク内のノードである通信装置10の内部構造の一例を示す。同図に示す通信装置10は、装置全体を管理するノード管理部2000、複数のネットワーク・インターフェース610−1〜610−n、およびネットワーク・インターフェース610−1〜610−nを相互接続するためのスイッチ部2100で構成される。なお、図1に示した管理者端末210が図示されているが、先に説明したように、通信装置10外に位置することは言うまでもない。
【0032】
各ネットワーク・インターフェース610−1〜610−nは、パケット送受信部を構成するパケット送受信ポート601−1〜601−n、各パケット送受信ポートに対応するスイッチ部2100へのインターフェース602−1〜602−n、パケット送受信部を介して受信したパケットを処理する入力処理部1010、パケット送受信部を介してパケットの送信処理を行う出力処理部1020、および前記入力処理部および出力処理部を制御するネットワーク・インターフェース(Network Interface:NIF)管理部1000で構成される。このうち、入力処理部1010と出力処理部1020は、処理部を構成する少なくとも一個の中央処理部(Central Processing Unit:CPU)のプログラム処理として実現できる。勿論、専用のハードウェア構成としても良い。
【0033】
一方、ノード管理部2000は通信装置の管理者に対して管理用インターフェースを提供して当該装置への各種設定/操作を可能にするものである。ノード管理部2000は、同様に処理部と記憶装置を保持しており、通信装置の初期化に必要な初期設定の情報を保持、設定できる。ノード管理部2000は当該装置の初期化時に、記憶装置に格納されている初期設定情報またはノード管理部2000が持つデフォルト値で通信装置10内の各機能の初期化を行う。管理者端末210を用いて、管理者によりノード管理部2000に対して行われた設定や操作は、装置に装備されているネットワーク・インターフェース610―1〜610−nうち適切なNIF管理部1000に適宜反映される。ノード管理部2000、NIF管理部1000内部の時刻管理部F300については、後で詳述する。
【0034】
上述した通信装置10の各ネットワーク・インターフェース610―1〜610−n内部の入力処理部1010は、さらにその機能ブロックとして、遅延挿入部F100、順序情報付与部F110、順序情報無効化部F120、および、順序情報生成部F130を具備する。上述の通り、これら太実線で示した各機能は、入力処理部1010を構成するCPU等の処理部がプログラム処理によって実現できることは言うまでもない。
【0035】
これらの機能は、図1に記した加入者から受信するパケットに対して、網の受付け順を示す順序情報付与機能20を構成する。遅延挿入部F100は、事前に指定された任意の時間だけ加入者から受信するパケットを網内に送出することを遅延する機能である。順序情報付与部F110は、網内で加入者から受付けるパケットに受付け順序を示すユニークな識別子として、時刻を使用した順序情報を付与する機能である。この付与の方法は先に説明した通りである。順序情報無効化部F120は、加入者から受信するパケットに既に順序情報(既存順序情報)が付与されていた場合、その既存順序情報を無効化する機能である。この無効化の方法も先に述べたとおりです。順序情報生成部F130は、加入者から受付けるパケットに受付け順序を示すユニークな識別子として時刻を使用した時刻情報などの順序情報を生成する機能である。また、順序生成部F130は、同一時刻に複数パケットを受付けた場合にも、後でそれらの順序を判断するための上述した、パケット内の優先順位を示すフィールドの値、シーケンス番号など、またはその両方である付加情報を加えて順序情報を生成する機能を備える。
【0036】
通信装置10のネットワーク・インターフェース610―1〜610−n内部の出力処理部1020は、パケット整列部F200、および順序情報無効化部F210を具備する。上述の通り、これら太実線で示した各機能は、出力処理部1020を構成するCPU等の処理部におけるプログラム処理によって実現できることは言うまでもない。これらの機能は、図1に記した順序情報によるパケット整列送出機能30を構成する。
【0037】
パケット整列部F200は、同一の宛先へ送出するパケットを事前に設定された任意の時間だけ送出を遅延させ、パケットに付与された順序情報でパケットを整列してから、宛先へ送出する。順序情報内の時刻情報は、網がパケットを受付けた時刻を示すので、当該時刻が最も古いパケットから順に送出する。さらに当該機能はパケットの受付け順序に従い、受付けたタイミングで該当パケットを宛先へ送出する。順序情報無効化部F210は、パケットが事業者ネットワークの入側の通信装置で付与した順序情報を無効化し、更に入側で通信装置により無効化された順序情報があれば有効化して、網が受付けたパケットの状態を復元する機能である。
【0038】
このように、本実施例の通信装置は、ネットワーク・インターフェース610―1〜610−n内部に、入力処理部1010と出力処理部1020を備えているが、当該通信装置が加入者端末100に接続されるか、宛先サーバ200に接続されるかによって、その一方の処理部を機能させるように制御することができる。言い換えるなら、CPUで入力処理、あるいは出力処理のプログラムを選択的に実行させる、或いは一方の専用ハードウェアを機能させることにより対応可能である。
【0039】
さて、上述したように、本実施例のネットワークシステムにおいて、通信装置10を構成するNIF管理部1000、およびノード管理部2000はそれぞれ時刻管理部F300を具備する。本実施例における時刻管理部F300は、等時性を保証する通信装置間、すなわち通信事業者の管理責任範囲の通信装置間で同期した時刻を管理する機構を実現する。以下、本実施例における等時性保証について説明する。
【0040】
まず、ノード管理部2000が、同期した時刻を取得する。この同期した時刻を取得するため既存の手法、例えば、接続されたGPSデバイスから時刻を取得、IEEE1588で隣接する通信装置間で時刻を同期、または図示を省略したNTPサーバや、管理者端末210から同期した時刻を取得する。
【0041】
その後、ノード管理部2000の時刻管理部F300が、各ネットワーク・インターフェース610−1〜610−nのNIF管理部1000内の時刻管理部F300に、取得した当該を配信し、NIF管理部1000内の時刻管理部F300が当該時刻を管理する。そして、各ネットワーク・インターフェース610―1〜610−n内の入力処理部1010、および出力処理部1020が時刻情報を利用する場合、当該ネットワーク・インターフェース内のNIF管理部1000の時刻管理部F300の時刻を参照することにより、通信事業者の管理責任範囲2内の等時性が保証される。
【0042】
図3は、図2に記した通信装置10内の入力処理部1010を構成するCPU等のプログラム処理による、パケット転送の処理フローの具体例を示している(S100)。
【0043】
まず、入力処理部1010においてパケットIF601−1〜601−nからパケットを受信する(S110)。入力処理部1010は、記憶部に予め記憶されているテーブル情報や受信パケットのIP送信元アドレス等を参照することにより、受信したパケットの入力ポートが加入者側なのか通信時事業者網なのか判断する(S120)。受信パケットの入力ポートが加入者側の場合、IP受信元アドレス等を参照し、受信パケットの送出先ポートが加入者側なのか通信事業者網側なのか判断する(S130)。
【0044】
受信パケットの入力ポートが加入者側で、送出先ポートが通信事業者網側の場合、当該パケットに順序情報が既に付与されているか判断する(S140)。既に順序情報が付与されている場合、順序情報無効化部F120は、順序情報無効化処理を実施する(S150)。その後、順序情報付与部F110は、順序情報生成部F130が生成した、網独自の順序情報を当該パケットに付与する(S160)。さらに、事前に該当する宛先に対して遅延時間が指定されている場合、遅延挿入部F100は、バッファ等の記憶部からの読み出しタイミングを調整することにより、当該パケットの転送処理を指定時間だけ遅延する(S170)。なお、このパケット内の順序情報や遅延時間については、後で図面を用いて説明する。
【0045】
本実施例のネットワークシステムにおいては、後述するようにパケットの出力処理を行う通信装置内で、複数の通信路から送られてきたパケットをバッファなどに一時保存した後に整列処理を行う。しかし、出力処理を行う宛先に対する通信路の数が多数ある場合や、出力処理を行う宛先に対する通信路間の伝送遅延の差が大きい場合には、前記整列処理のために多量のパケットを一時保存するためのバッファを具備する必要がある。そこで、入力処理を行う通信装置で一定時間パケットの転送処理を遅延させる(S170)こと、つまり当該通信装置内にもバッファを具備させパケットを一時保存して転送処理を遅延させることにより、出力側通信装置で用意する必要のあるバッファ量を削減することが可能になる。
【0046】
これは多対1のような通信が1箇所に集まるような形態の網を構成するとき特に有効である。入力処理部からスイッチ部へパケットを転送するため宛先応じたSW IFへ当該パケットを送出する(S180)。当該転送処理を終了する(S190)。
【0047】
図4は、図2に記した通信装置内部の出力処理部1020を構成するCPU等のプログラム処理によるパケット転送の処理フロー(S200)の一例を示している。出力処理部1020においてSW IF602−1〜602−nからパケットを受信する(S210)。出力処理部1020を構成するCPU等は、受信したパケットの入力ポートが加入者側なのか通信時事業者網なのかをIPアドレス等を参照することにより判断する(S220)。受信パケットの入力ポートが通信事業者網側の場合、受信パケットの送出先ポートが加入者側なのか通信事業者網側なのか判断する(S230)。受信パケットの入力ポートが通信事業者網側で、送出先ポートが加入者側の場合、パケット整列部F200でパケット整列遅延、および順序情報無効化部F210で順序情報無効化処理を行う(S240)。パケットに通信装置での受付時刻を示す順序情報が付与された場合、出力処理部1020で当該パケットを処理する時刻は整列処理後なので条件式(1)を満たす。
【0048】
t+Dmax≦tn……………………………………………………(1)
ここで、tはパケットの受付時刻、Dmaxは当該パケットの宛先と送信元を結ぶ複数の通信路の伝送遅延の最大値、tnは現在時刻。
【0049】
一方、パケットに通信装置での受付時刻ではなく、受付時刻より未来を示す時刻を付与することができる。この場合、前記条件式(10)を満たさず現在時刻との差分Δtを次式(2)で求めることができる。
【0050】
Δt=(t+Dmax)−tn………………………………………(2)
この場合、当該時刻(t+Dmax)までのΔt時間だけパケットの転送処理を遅延する(S250)。この機能により、通信装置が指定した時間に加入者へパケットを送信することが可能になり、複数の加入者に対して同一情報を同一時刻に配信するような公平な通信を実現可能になる。出力処理部1020から網へパケットを転送するため宛先応じたパケットIFへ当該パケットを送出する(S260)。当該転送処理を終了する(S270)。
【0051】
図5は、通信装置10の入力処理部1010の順序情報付与部F110における、順序情報付与の処理フロー(S160)の一例を示す。上述のとおり、時刻管理部F300から、通信装置10が保有する時計から現在の時刻情報を取得して、順序情報生成部F130が順序情報を生成する(S161)。このとき同一時刻に複数パケットの受付を許容するため、先に説明した付加情報と合わせて順序情報を構成できる。そして、作成した順序情報を順序情報付与部F110が、後で説明するように独自に決めたパケット位置に挿入して当該順序情報を有効化する(S162)。順序情報付与の処理を終了する(S163)。
【0052】
図6は、通信装置10の入力処理部1010における順序情報無効化部における順序情報無効化の処理フロー(S150)の一例を示す。パケットに既に付与されている順序情報に対して、無効化手法を適用して無効化する(S151)。順序情報無効化の処理を終了する(S152)。
【0053】
図7は、通信装置10の出力処理部1020におけるパケット整列および順序情報無効化の処理フロー(S240)の一例を示す。まず、事前に設定された時間内に受信した全パケットを、網の入側の通信装置でパケットに付与された順序情報に従い、網の受付け順に整列する(S241)。そして、網独自に付与した順序情報を無効化し、更に図3の処理フローのS150で無効化した既存順序情報があれば有効化しパケットを復元する(S242)。そして、パケット整列および順序情報無効化の処理を終了する(S243)。
【0054】
図8は、本実施例を適用したネットワークシステムがユーザに等時性を提供する一例のタイミングチャートを示す。図8では、ユーザ#1(N1)、ユーザ#2(N2)、およびユーザ#3(N3)が、通信装置A(E1)、通信装置B(E2)、通信装置C(E3)、および通信装置Z(E4)で構成されるネットワークシステムを介して、宛先サーバ(N4)の提供するサービスの利用例として、各ユーザが送出したパケットがネットワークシステムを介してどのようなタイミングで宛先サーバ(N4)に到達するかを示している。
【0055】
ここでは、ユーザ#1(N1)とユーザ#2(N2)が同時刻(T1およびT2)に宛先サーバ(N4)に向けてパケットを送出する。つづいて、ユーザ#3(N3)が時刻T3に宛先サーバ(N4)に向けてパケットを送出する。このとき、T1およびT2とT3の時刻には時間差(D1)がある。ユーザ#1(N1)、ユーザ#2(N2)、およびユーザ#3(N3)の送出したパケットは通信装置A(E1)、通信装置B(E2)、通信装置C(E3)にそれぞれ時刻T4、T5、T6に到着する。各装置はパケットの宛先である宛先サーバ(N4)に隣接する通信装置Z(E4)に受信したパケットを転送する。通信装置Z(E4)では、ユーザ#1(N1)、ユーザ#2(N2)、およびユーザ#3(N3)の送出したパケットをそれぞれ時刻T9、T7、T8に受信する。通信装置Z(E4)は、宛先サーバ(N4)宛のパケットを網の受付け時刻から送信元毎に事前に設定された網の遅延時間経過後に宛先へ送出する。
【0056】
通信装置Z(E4)は各パケットの受信後、ユーザ#1(N1)が送出したパケットはD4時間後の時刻T10、ユーザ#2(N2)が送出したパケットはD5時間後の時刻T10、そしてユーザ#3(N3)が送出したパケットはD6時間後の時刻T11に宛先サーバ(N4)へそれぞれ送出する。このように、本実施例のネットワークシステムでは、各ユーザがパケットを送出した時刻に差(D1)があったとしても、ネットワークシステムを構成する各通信装置にパケットが到着した時刻差(D2)を基に宛先サーバ(N4)へ送出するパケットの時刻差(D3)を再現する。
【0057】
図9は、本実施例の通信装置で扱う上述した各種遅延時間を算出するために扱う通信装置間の伝送遅延の測定区間を示す。サーバ203が提供するサービスを加入者がクライアント端末101および102で利用する場合、通信事業者はこの区間で通信ができるように通信装置11−13間、および通信装置12−13間に通信路を設定する。この際、通信事業者は管理端末を介して通信装置が提供する網の運用管理のための試験機能を利用して、対象となる通信経路の伝送遅延の測定を行う。図9では、通信装置11−13間の伝送遅延がd1、通信装置12−13間の伝送遅延がd2である例を示す。ここで、通信装置13に設定する各通信装置11と通信装置12から送出されるパケットに対する所定の遅延時間の算出方法を説明する。
【0058】
d2>d1の場合、通信装置11から送出されるパケットに対する通信装置13で挿入される遅延時間D1は下式(3)で算出する。
D1=d2−d1………………………………………………………(3)
通信装置12から送出されるパケットに対する通信装置13で挿入される遅延時間D2は式(4)で算出する。
D2=0 ∵d2>d1………………………………………………(4)
また、このとき対象とする通信路の遅延時間で最も大きいものを最大遅延時間Dmaxとする。したがって、この例では通信装置13では通信装置11が送出したパケット遅延時間D1後に宛先へ転送する。また、通信装置12が送出したパケット遅延時間D2後、つまりパケット受信直後に宛先へ転送する。ただし、通信装置が宛先へパケットを転送するのは、転送するパケットの順序情報内の時刻情報tiが次の条件式(5)を満たす場合である。
【0059】
ti+Di≧tn+Dmax………………………………………(5)
このとき、Diは該当する送信元iに対して挿入される所定の遅延時間、tnは現在時刻である。
【0060】
この条件式(5)を満たさない場合、つまり、パケットに付与された時刻情報が未来の時刻を指定している場合、該当するパケットは条件式(5)が満たされるまで、当該通信装置内のバッファに格納され、宛先への転送が遅延される。通信装置が転送するパケットに対して順序情報内に未来の時刻情報を付与することにより、通信装置は伝送遅延にとらわれず指定した時刻にパケットを宛先へ配信することが可能になる。これは、サービスを提供するサーバから同時に当該サービスの利用者に対して情報を公平に配信することを可能にする。
【0061】
図10は、本実施例の通信装置10で扱うパケットを構成する各フィールドのレイアウトを、イーサネット(登録商標)フレームを例として用いて示す。同図において、L10は標準的なイーサネットフレームを、L20は本実施例に係る順序情報等を挿入したパケットを、L22はその順序情報を示している。
【0062】
まず、イーサネットフレームL10は、宛先アドレス(DA)L11、送信元アドレス(SA)L12、タイプ値(T)L13、ペイロード(Payload)L14から構成される。加入者からイーサネットフレームL10を受付けると、通信装置10は、受付けたパケットの送信元アドレスL12とタイプ値L13の間に新しいタイプ値(Tn)L21と順序情報(O)L22を挿入したパケットL20を構成して、通信事業者の管理責任範囲の網内を転送する。
【0063】
加入者から受付けたパケットに既に順序情報が付与されていた場合、新しいタイプ値L21と当該順序情報L22との間に新しい順序情報を挿入する。つまり、順序情報を保持するパケットは、保持する順序情報の数に係わらず、順序情報の保有を示す新しいタイプ値(Tn)L21のフィールドは常に1つである。新しいタイプ値L21は、タイプ値を管理するIANA(Internet Assigned Number Authority)に申請したユニークな値を使用する。
【0064】
順序情報(O)L22は、無効化フラグ(D)L221、最終順序情報フラグ(S)L222、時刻情報(Time)L223、および付加情報(Add)L224で構成される。無効化フラグ(D)L221は、当該順序情報が網内で参照されるべきか、参照されるべきでないかを示す。このフラグ(D)がセットされると通信装置は送信順序を決定する際に当該順序情報を参照しない。最終順序情報フラグL222は、通信装置が参照する最後の順序情報に当該フラグが設定される。パケット内に順序情報L22を付与するとき、最初に付与された順序情報に当該フラグが設定される。既に順序情報が付与されたパケットに、新たに順序情報L22を挿入する場合、挿入する順序情報の最終順序情報フラグL222は設定しない。時刻情報L223は、上述したように、通信装置10がパケットを受付けた時刻、または当該パケットの配信時刻を示す未来の時刻を示す。付加情報L224は、同一時刻に受付けたパケットの順序を識別するため通信装置で付与される情報、例えば上述したCPU等のHWタイマのHWクロックカウント値などが利用される。
【0065】
通信装置10は、加入者からパケットL10を受付けると、順序情報を付与したパケットL20を構成して宛先に向けて転送する。当該パケットが通信事業者の管理責任範囲の網内を転送され通信事業者の網から出る際に、通信装置10はパケットを受付けたときに付与した順序情報を取り除き、受付けたときのパケットL10を復元し送出する。このように、本実施例のシステムにおいては、網の出側で加入者からのパケットL10を復元するので、等時性を提供する網を利用しても、加入者はこれまで利用してきたサービスを何も変更することなく利用し続けることが可能である。
【0066】
また、加入者から既存順序情報が付与されたパケットL20を受付けると、当該既存順序情報の無効化フラグを設定して、新たに順序情報を挿入する。当該パケットが網内を転送され通信事業者の網から出る際に、通信装置10はパケットを受付けたときに付与した順序情報を取り除き、受付けたときに既に付与されていた既存順序情報に対して設定した無効化フラグを解除してパケットL20を復元し送出する。したがって、加入者が網内で使用する順序情報と同じフォーマットの順序情報を用いて通信を行っても、通信事業者の管理責任範囲の網の提供する等時性保証機能には影響なく当該パケットを透過的に転送することが可能である。
【0067】
更に、加入者またはサーバで順序情報を利用した処理を行う場合、通信事業者が該当する通信装置を設定することにより、本来網出口で取り除かれる順序情報をそのまま転送することが可能である。これにより、詐称の可能性のある加入者が付与した既存順序情報ではなく、詐称することが不可能な通信事業者により付与された順序情報を網の外側でも参照可能になるので、サービスを提供するサーバなどで信頼性の高い順序情報を用いた付加的なサービスを提供することを可能にする。
【0068】
なお、加入者から受付けるパケットが上述した実施例のようにイーサフレームで無く、MPLS(Multi-Protocol Label Switching)フレームの場合、通信装置が付与する順序情報L22はMPLSラベルとMPLSにより運ばれるペイロードの間に挿入される。これにより、通信装置10では、加入者から受付けるパケットがMPLSフレームの場合でも、順序情報はイーサネット(登録商標)の場合と同様に処理される。
【0069】
更に、本発明は上述した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0070】
更に、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により専用ハードウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記憶装置、または、ICカード、SDカード、DVD(Digital Versatile Disc)等の記録媒体におくことができるし、必要に応じてネットワーク等を介してダウンロード、インストロールすることも可能であることは言うまでもない。
【符号の説明】
【0071】
1:加入者の管理責任範囲
2:通信事業者の管理責任範囲
3:POI(Point Of Interface)
10:通信事業者の管理する通信装置
20:順序情報付与機能
30:順序情報に基づく整列送出機能
100:加入者の利用するクライアント端末
200:サービスを提供するサーバ
210:通信事業者の管理責任範囲を管理する管理者端末
600−1〜600−n:パケット送受信ポート
602−1〜602−n:ネットワーク・インターフェースを相互接続するスイッチ部へのインターフェース
610−1〜610−n:ネットワーク・インターフェース
1000:ネットワーク・インターフェースの管理部
1010:入力処理部
1020:出力処理部
2000:通信装置全体を管理するノード管理部
2100:ネットワーク・インターフェースを相互接続するスイッチ部
S100:入力処理例の処理フロー
S110:パケットの受信処理
S120:パケットの入力ポート判断処理
S130:パケットの出力ポート判断処理
S140:パケットの既存順序情報有無の判断処理
S150:既存順序情報の無効化処理
S151:既存順序情報内の無効化フラグをセット
S152:既存順序情報の無効化処理の終了
S160:順序情報の付与処理
S161:現在時刻から順序情報の生成処理
S162:パケットに順序情報の挿入処理
S163:順序情報の付与処理の終了
S170:指定された所定時間だけ送出の遅延処理
S180:パケットの送出処理
S190:入力処理の終了
S200:出力処理例の処理フロー
S210:パケットの受信処理
S220:パケットの入力ポート判断処理
S230:パケットの出力ポート判断処理
S240:パケット整列および順序情報無効化処理
S241:順序情報でパケットの整列処理
S242:整列のために参照した順序情報の無効化処理
S243:パケット整列および無効化処理の終了
S250:指定された所定時間だけ送出の遅延処理
S260:パケットの送出処理
S270:出力処理の終了
N1:ユーザ#1
N2:ユーザ#2
N3:ユーザ#3
N4:宛先サーバ
E1、E2、E3、E4:通信装置A、B、C、Z
T1:ユーザ#1のパケット送出時刻
T2:ユーザ#2のパケット送出時刻
T3:ユーザ#3のパケット送出時刻
T4:通信装置Aのパケット受信時刻
T5:通信装置Bのパケット受信時刻
T6:通信装置Cのパケット受信時刻
T7:通信装置Zが通信装置Bからのパケット受信時刻
T8:通信装置Zが通信装置Cからのパケット受信時刻
T9:通信装置Zが通信装置Aからのパケット受信時刻
T10:通信装置Zが宛先サーバへ通信装置Aおよび通信装置Bからのパケットの送出時刻
T11:通信装置Zが宛先サーバへ通信装置Cからのパケットの送出時刻
T12:宛先サーバがユーザ#1およびユーザ#2からのパケットの受信時刻
T13:宛先サーバがユーザ#3からのパケットの受信時刻
D1:ユーザ#1およびユーザ#2のパケット送出時刻とユーザ#3のパケット送出時刻の時間差
D2:通信装置Aおよび通信装置Bのパケット受信時刻と通信装置Cのパケット受信時刻の時間差
D3:通信装置Zで通信装置Aおよび通信装置Bからのパケットと通信装置Cからのパケットの送出時刻の時間差
D4:通信装置Zにおいて通信装置Aからのパケットに対する挿入する遅延時間
D5:通信装置Zにおいて通信装置Bからのパケットに対する挿入する遅延時間
D6:通信装置Zにおいて通信装置Cからのパケットに対する挿入する遅延時間

【特許請求の範囲】
【請求項1】
複数の通信装置を接続する網を備えるネットワークシステムであって、
前記網の外部からパケットを受信する前記通信装置は、他の通信装置と時刻同期の取れた順序情報を前記パケットに付与し、
前記パケットを前記網の外部に送出する前記通信装置は、前記パケットに付与された前記順序情報に基づき前記パケットを整列して送出を行う、
ことを特徴とするネットワークシステム。
【請求項2】
請求項1記載のネットワークシステムであって、
前記網の外部から前記パケットを受信した前記通信装置は、前記パケットに既存順序情報が付与されていれば無効化して転送する、
ことを特徴とするネットワークシステム。
【請求項3】
請求項1記載のネットワークシステムであって、
前記パケットを前記網の外部に送出する前記通信装置は、前記通信装置で付与した前記順序情報を無効化して送出する、
ことを特徴とするネットワークシステム。
【請求項4】
請求項1記載のネットワークシステムであって、
前記網の外部からパケットを受信した前記通信装置は、
前記パケットに対して、当該パケットの宛先に応じて、所定の時間だけ遅延してから前記網に送出する、
ことを特徴とするネットワークシステム。
【請求項5】
請求項1記載のネットワークシステムであって、
前記網の外部からパケットを受信した前記通信装置は、
前記順序情報として、前記パケットを受信した時刻に基づく時刻情報と、付加情報を含む、
ことを特徴とするネットワークシステム。
【請求項6】
請求項5記載のネットワークシステムであって、
前記順序情報に含まれる前記付加情報は、同一時刻に受信する複数の前記パケットの前後関係を識別するためのシーケンス番号である、
ことを特徴とするネットワークシステム。
【請求項7】
請求項5記載のネットワークシステムであって、
前記順序情報に含まれる前記付加情報は、同一時刻に受信する複数の前記パケットの前後関係を識別するためのクロックカウント値である、
ことを特徴とするネットワークシステム。
【請求項8】
網内で相互に接続される通信装置であって、
前記網の外部からパケットを受信し、他の通信装置と時刻同期の取れた順序情報を前記パケットに付与する入力処理部と、
他の前記通信装置が前記パケットに付与した前記順序情報に基づき、前記パケットを整列して前記網の外部に送出する出力処理部を備える、
ことを特徴とする通信装置。
【請求項9】
請求項8記載の通信装置であって、
前記網の外部からパケットを受信した前記入力処理部は、
当該パケットに既存順序情報が付与されていれば無効化して前記網内へ転送する、
ことを特徴とする通信装置。
【請求項10】
請求項8記載の通信装置であって、
前記網の外部からパケットを受信する入力処理部は、
前記パケットに対して、当該パケットの宛先に応じて、所定の時間だけ遅延してから前記網内に転送する、
ことを特徴とする通信装置。
【請求項11】
請求項8記載の通信装置であって、
前記網の外部からパケットを受信する前記入力処理部は、
前記順序情報として、前記パケットを受信した時刻に基づく時刻情報を用いる、
ことを特徴とする通信装置。
【請求項12】
請求項11記載の通信装置であって、
前記網の外部からパケットを受信する前記入力処理部は、
前記順序情報として、前記時刻情報に加え、同一時刻に受信する複数の前記パケットの前後関係を識別するための付加情報を用いる、
ことを特徴とする通信装置。
【請求項13】
請求項12記載の通信装置であって、
前記網の外部からパケットを受信する前記入力処理部は、
前記付加情報として、同一時刻に受信する複数の前記パケットの前後関係を識別するためのハードウェアクロックカウント値を用いる、
ことを特徴とする通信装置。
【請求項14】
請求項8記載の通信装置であって、
前記出力処理部は、
他の前記通信装置の前記入力処理部が前記パケットに付与した前記順序情報を無効化してから前記パケットを送出する、
ことを特徴とする通信装置。
【請求項15】
請求項9記載の通信装置であって、
前記出力処理部は、
前記網の外部からパケットを受信した前記入力処理部が無効化した当該パケットの前記既存順序情報を有効化してから、前記網の外部に前記パケットを送出する、
ことを特徴とする通信装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate