(57)【特許請求の範囲】
【請求項１】
複数の通信装置を接続する網を備えるネットワークシステムであって、
前記網の外部からパケットを受信する前記通信装置は、他の通信装置と時刻同期の取れた順序情報を前記パケットに付与し、
前記パケットを前記網の外部に送出する前記通信装置は、前記網内の各通信経路の伝送遅延の差に基づいて各通信経路の遅延時間を決定し、前記パケットが送出された通信経路に応じて決定した前記遅延時間だけ待ち、前記パケットに付与された前記順序情報に基づき前記パケットを整列して送出を行い、
前記網の外部からパケットを受信した前記通信装置は、
前記順序情報として、前記パケットを受信した時刻に基づく時刻情報と、付加情報を含み、
前記順序情報に含まれる前記付加情報は、同一時刻に受信する複数の前記パケットの前後関係を識別するためのシーケンス番号である、
ことを特徴とするネットワークシステム。
【請求項２】
請求項１記載のネットワークシステムであって、
前記網の外部から前記パケットを受信した前記通信装置は、前記パケットに既存順序情報が付与されていれば無効化して転送する、
ことを特徴とするネットワークシステム。
【請求項３】
請求項１記載のネットワークシステムであって、
前記パケットを前記網の外部に送出する前記通信装置は、前記通信装置で付与した前記順序情報を無効化して送出する、
ことを特徴とするネットワークシステム。
【請求項４】
請求項１記載のネットワークシステムであって、
前記網の外部からパケットを受信した前記通信装置は、
前記パケットに対して、当該パケットの宛先に応じて、所定の時間だけ遅延してから前記網に送出する、
ことを特徴とするネットワークシステム。
【請求項５】
複数の通信装置を接続する網を備えるネットワークシステムであって、
前記網の外部からパケットを受信する前記通信装置は、他の通信装置と時刻同期の取れた順序情報を前記パケットに付与し、
前記パケットを前記網の外部に送出する前記通信装置は、前記網内の各通信経路の伝送遅延の差に基づいて各通信経路の遅延時間を決定し、前記パケットが送出された通信経路に応じて決定した前記遅延時間だけ待ち、前記パケットに付与された前記順序情報に基づき前記パケットを整列して送出を行い、
前記網の外部からパケットを受信した前記通信装置は、
前記順序情報として、前記パケットを受信した時刻に基づく時刻情報と、付加情報を含み、
前記順序情報に含まれる前記付加情報は、同一時刻に受信する複数の前記パケットの前後関係を識別するためのクロックカウント値である、
ことを特徴とするネットワークシステム。
【請求項６】
網内で相互に接続される通信装置であって、
前記網の外部からパケットを受信し、他の通信装置と時刻同期の取れた順序情報を前記パケットに付与する入力処理部と、
前記網内の各通信経路の伝送遅延の差に基づいて各通信経路の遅延時間を決定し、前記パケットが送出された通信経路に応じて決定した前記遅延時間だけ待ち、他の前記通信装置が前記パケットに付与した前記順序情報に基づき、前記パケットを整列して前記網の外部に送出する出力処理部を備え、
前記網の外部からパケットを受信する前記入力処理部は、
前記順序情報として、前記パケットを受信した時刻に基づく時刻情報と、同一時刻に受信する複数の前記パケットの前後関係を識別するための付加情報を用いる、
ことを特徴とする通信装置。
【請求項７】
請求項６記載の通信装置であって、
前記網の外部からパケットを受信した前記入力処理部は、
当該パケットに既存順序情報が付与されていれば無効化して前記網内へ転送する、
ことを特徴とする通信装置。
【請求項８】
請求項６記載の通信装置であって、
前記網の外部からパケットを受信する入力処理部は、
前記パケットに対して、当該パケットの宛先に応じて、所定の時間だけ遅延してから前記網内に転送する、
ことを特徴とする通信装置。
【請求項９】
請求項６記載の通信装置であって、
前記網の外部からパケットを受信する前記入力処理部は、
前記付加情報として、同一時刻に受信する複数の前記パケットの前後関係を識別するためのハードウェアクロックカウント値を用いる、
ことを特徴とする通信装置。
【請求項１０】
請求項６記載の通信装置であって、
前記出力処理部は、
他の前記通信装置の前記入力処理部が前記パケットに付与した前記順序情報を無効化してから前記パケットを送出する、
ことを特徴とする通信装置。
【請求項１１】
請求項７記載の通信装置であって、
前記出力処理部は、
前記網の外部からパケットを受信した前記入力処理部が無効化した当該パケットの前記既存順序情報を有効化してから、前記網の外部に前記パケットを送出する、
ことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットの網への入出順序を保証するネットワークシステム及び通信装置に関するものである。
【背景技術】
【０００２】
現在の通信事業者が提供する通信サービスでは、地理的に離れた複数ユーザが同じ宛先へ送出するパケットの通信事業者の網に入る順番と宛先で網から出ていく順番は、ユーザと宛先間またはユーザ間の物理的な距離などの違いにより発生する伝送遅延が異なるので必ずしも等しくない。
【０００３】
そのため、処理結果が処理を実行する順序により決まるトランザクション、例えば、インターネット・オークション、チケット購入、株・通貨の売買などのネットワークを介した電子商取引等の場合、利害関係のあるユーザ間で伝送遅延による僅かな時間差でも有利／不利の関係が生まれてしまい、提供するサービスに対する公平性が維持できない。処理要求がネットワークを介して転送され処理される場合、ネットワークへ送出された処理要求は処理を実行するサーバまでの物理的距離などに応じた伝送遅延を伴い当該サーバへ転送され受付処理される。つまり、処理要求の受付処理が行われる順序は、処理要求の送出順序だけでなく、通信に伴う伝送遅延時間にも依存してしまう。
【０００４】
この改善策として、ユーザからの処理要求にタイムスタンプを付与して、トランザクションを処理するサーバで順序を並べ替える方法がある。特許文献１は、ユーザの利用する端末間で時刻同期をして、端末が送出するユーザの処理要求にタイムスタンプを付与する機能を持ち、トランザクションを処理するサーバは要求の受信順ではなく、処理要求に付与されたタイムスタンプに基づいて要求の順序を並び替え、処理要求の送出順に処理を行うことを実現している。
【０００５】
具体的には、特許文献１には、次の内容が開示されている。クライアントマシンは、タイムサーバから定期的に絶対時刻を受信し、受信した絶対時刻を用いてクライアントマシンのタイマの時刻補正を行う。各クライアントマシンは、サーバマシンに対して各種サービスの提供を受けるためのサービスデータ要求とタイマの時刻データ(絶対時刻）とをインタネット経由で送出する。サーバマシンの制御部は、記憶装置に順次記憶するサービスデータ要求を、サービスデータ要求に付与されている時刻データ(絶対時刻）に基づいて、絶対時刻が早い順にソートするよう制御する。また、サーバマシンは、各クライアントマシンからのサービスデータ要求が、制御部に到着してからの時間を計時するためのタイマを備える。各クライアントマシンとサーバマシンとの間の伝送時間のうち最大の伝送時間を最大遅延時間とし、サーバマシンは、サーバマシンの備えるタイマを用いて、サービスデータ要求を最大遅延時間分は記憶装置に保持してからサービス要求データの処理を実行する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２５９３８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１では、タイムスタンプを扱う機能は、クライアントマシンで動作するサービス要求プログラム、およびサーバマシンで動作するサービス処理プログラムで実現されている。これは当該機能を、サーバが提供するサービスの一部として、およびクライアントマシンのサービスを利用する機能の一部として、個々のサービス毎に作成し組み込む必要がある。つまり、当該機能を予め具備するサービスだけに利用が限定されてしまう。そのため、当該機能を利用したいサービス提供者またはユーザは、サービス毎に当該機能を具備する専用サービスを構築する必要がある。また、特許文献１では、タイムスタンプを扱う機能は、クライアントマシン、すなわち、ユーザがアクセスできる場所（ｅ．ｇ．ユーザの操作する端末）で動作しているので、悪意あるユーザにより、ユーザ間の公平性を担保するために利用するタイムスタンプ情報が詐称される危険がある。
【０００８】
本発明の目的は、悪意あるユーザによる詐称を防止し、地理的に離れた複数ユーザに等時性が保証されたサービスを提供することが可能なネットワークシステム、及び通信装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明においては、上記の目的を達成するため、複数の通信装置を接続する網を備えるネットワークシステムであって、網の外部からパケットを受信した通信装置は、他の通信装置と時刻同期の取れた順序情報をパケットに付与し、当該パケットを網の外部に送出する通信装置は、パケットに付与された順序情報に基づきパケットを整列してから送出を行うネットワークシステムを提供する。
【００１０】
また、本発明においては、上記目的を達成するため、網内で他の通信装置と接続される通信装置であって、網の外部からパケットを受信し、他の通信装置と時刻同期の取れた順序情報を当該パケットに付与する入力処理部と、他の通信装置がパケットに付与した順序情報に基づき、パケットを整列して網の外部に送出する出力処理部を備える通信装置を提供する。
【発明の効果】
【００１１】
本発明によれば、悪意あるユーザによる詐称を防止し、通信事業者の管理下にある網に接続する全ユーザに等時性を保証したサービスを提供可能なネットワークシステムを構築できる。また、サービス提供者またはユーザは、所望のサービスを変更することなく、詐称を防止し、且つ地理的に離れた複数のユーザに要求の送出順でサービス提供を行い、ユーザ間の時間的公平性を担保できる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施例に係る、機器の管理責任範囲と機能配置位置の関係を説明するためのブロック図である。
【図２】第１の実施例に係る、通信装置の内部構造例を示す図である。
【図３】第１の実施例に係る、入力処理部におけるパケット転送の処理フローの一例を示す図である。
【図４】第１の実施例に係る、出力処理部におけるパケット転送の処理フローの一例を示す図である。
【図５】第１の実施例に係る、順序情報付与の処理フローの一例を示す図である。
【図６】第１の実施例に係る、順序情報無効化の処理フローの一例を示す図である。
【図７】第１の実施例に係る、パケット整列および順序情報無効化の処理フローの一例を示す図である。
【図８】第１の実施例に係る、網が等時性を提供する適用例のタイミングチャート図である。
【図９】第１の実施例に係る、通信装置で扱う各種遅延時間を算出するために扱う通信装置間の伝送遅延の測定区間例を示す図である。
【図１０】第１の実施例に係る、通信装置で扱うパケットを構成する各フィールドのレイアウト例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を図面に従い説明する。
【実施例１】
【００１４】
図１は実施例１における機器の管理責任範囲と、機能配置位置の関係を説明するための図である。同図において、１が加入者の管理責任範囲、２が通信事業者の管理責任範囲、３がＰＯＩ（Point of Interface）を示している。このＰＯＩ３が、加入者の管理責任範囲１と通信事業者の管理責任範囲２に分割される網における管理責任分界境界を示す。本明細書において、この通信事業者の管理責任範囲２内の網を、事業者ネットワークと呼ぶ場合がある。
【００１５】
同図に示すように、本実施例のネットワークシステムは、加入者端末１００、加入者端末から利用するサービスを提供する宛先サーバ２００、通信事業者が通信サービスを提供するために利用する通信装置１０から構成される。本実施例の構成は、ホームゲートウェイなどの加入者宅内に設置される通信事業者が管理する通信装置、またはＭＰＬＳ−ＴＰ（Multi Protocol Label Switching − Transport Profile）装置など通信事業者の局舎内に設置される通信事業者が管理する通信装置に適用される。
【００１６】
上述した特許文献１では、当該特許技術が適用されるのが加入者の管理するクライアントマシンおよびサービス提供者の管理するサーバマシンであり、ネットワーク機能を提供する通信事業者は関与しない。一方、本実施例の通信装置の構成が適用されるのは通信事業者の管理する通信装置である。加入者およびサービス提供者は、通信事業者の提供する事業者ネットワーク内の等時性を保証する通信サービスを利用するだけで、自身の通信装置などになんら機能を追加・実行する必要がない点に特徴がある。
【００１７】
図１において、加入者端末１００は、通信事業者の通信装置１０を介し、通信事業者の提供する通信サービスを利用して宛先サーバ２００と通信することにより、加入者は宛先サーバ２００が提供するサービスを利用する。なお、通信事業者の管理責任範囲、即ち事業者ネットワーク内の全ての通信装置１０は、それらを管理する通信事業者の管理者端末２１０により、制御信号２２０等を用いて制御される。
【００１８】
加入者端末１００が接続される通信事業者の通信装置１０は、事業者ネットワーク内で加入者から受付けるパケットに付与するためのユニークな識別子として時刻を使用する。そのため、通信装置１０はＧＰＳ(Global Positioning System）などの時刻取得機能、またはＩＥＥＥ１５８８ｖ２やＮＴＰ(Network Time Protocol）などの時刻同期機能を利用して網内の通信装置と時刻同期を実現する機能を具備する。
【００１９】
加入者端末１００が接続される通信事業者の通信装置１０は、加入者から受信するパケットに対して網の受付け順を示す順序情報付与機能２０を具備する。順序情報には、通信装置１０が保持し、他の通信装置１０と時刻同期している時計から取得した時刻情報を含む。
【００２０】
また、高速なネットワーク・インターフェースを持つ通信装置１０では、通信装置１０が保有する時計が示す同一時刻内に複数のパケットを加入者から受付けることが想定される。このようなパケットに対して受付け順序で整列するとき参考情報として参照できるように、順序情報を時刻情報と付加情報でも構成できる。このような付加情報はシーケンス番号 (ｉ．ｅ．０、１、２、．．．）、同一時刻内の該当ポートでの累積受信バイト数 (ｅ．ｇ．０、６４、１２８、．．．）、ＨＷ(Hardware）のクロックカウント値、装置毎に設定される任意の整数値などが適用できる。
【００２１】
ここで、シーケンス番号は、同一装置内の順序を識別するための最も単純な仕組みである。また、累積受信バイト数は、ネットワーク・インターフェースにワイヤレートでパケットが入力された場合に、時計の最小刻み間の相対的な位置を示せる。例えば、入力処理部を構成するＨＷタイマのクロックカウント値は、時計の最小刻みより細かいＨＷクロック値を用いるので、累積受信バイト数を適用した場合より細かい粒度の相対位置を示すことが出来る。任意の整数値は、各通信装置に事前に優先順位を割り当てる効果がある。この場合、任意の整数値とシーケンス番号を組み合わせることにより、任意の整数値で通信装置間での順序を決め、シーケンス番号で各通信装置内の順序を決めることが可能になる。
【００２２】
特に同一構成の通信装置１０で網が構成されている場合、各通信装置１０が同一周波数で動作していると仮定できるので、複数送信元から送信された複数の同一時刻を示す順序情報を持つパケットを整列する際に、付加情報としてＨＷクロック値を用いることにより、実装が容易で高い精度を実現できる。
【００２３】
後に図２を用いて詳述するように、加入者端末１００が接続される通信事業者の加入者側の通信装置１０は、事前に指定された任意の時間だけ、加入者から受信するパケットを網内に送出することを遅延する機能を具備する。当該遅延機能により、本来、宛先サーバ２００が接続される通信事業者のサービス提供者側の通信装置１０での遅延時間を、加入者側の通信装置内で消費することになる。ここで、多数の加入者端末と通信する宛先サーバに接続するサービス提供者側の通信装置１０は、網の伝送遅延から求められる適切な待ち時間の間に、加入者端末から受信することが想定される全パケットを、一時的に待機させるバッファが必要になる。しかし、加入者側の通信装置の当該遅延機能により、このサービス提供者側の通信装置での適切な待ち時間が短縮できるので、当該通信装置が持つべきバッファ量を削減することが可能になる。
【００２４】
また、加入者端末１００が接続される通信事業者の通信装置１０は、加入者から受信するパケットに既に順序情報（事業者ネットワークで付与される順序情報と区別するため「既存順序情報」と呼ぶ）が付与されていた場合、当該既存順序情報を無効化する機能を具備する。この網の入側の通信装置１０の無効化機能は、既存順序情報が持つ無効フラグ・フィールドにビットをセット、既存順序情報とは無関係に追加的に網独自の順序情報の付与、既存順序情報が過去の時刻情報を保有していれば順序詐称の可能性があるのでパケット自体の廃棄、既存順序情報を詐称防止のため無条件に現在値で更新、または、既存順序情報の値に関係なく詐称防止のため無条件にパケットを廃棄などの実現方法が考えられる。更に、既存順序情報が未来の時刻を示していれば、網の出側で指定時刻までの送出保留機能への指示と判断して入側ではそのまま透過することも可能である。なお、後で説明するように、事業者ネットワーク内独自の順序情報は、時刻情報と付加情報を備えている。
【００２５】
一方、宛先サーバ２００が接続される通信事業者の通信装置１０は、同一の宛先へ送出するパケットを事前に設定された任意の時間だけ送出を遅延させ、網の入側の通信装置１０の順序情報付与機能２０でパケットに付与された順序情報でパケットを整列してから、宛先へ送出するパケット整列送出機能３０を具備する。このとき、順序情報内の時刻情報は網がパケットを受付けた時刻を示すので、通信装置１０は、当該時刻が最も古いパケットから順に送出する。順序情報によるパケット整列送出機能３０は、パケットの受付け順序に従い、受付けたタイミングで該当パケットを宛先へ送出する。
【００２６】
このように宛先サーバ２００が接続される通信事業者の通信装置１０は、順序情報によるパケット整列送出機能３０で、順序情報の前後関係を判断する機能を具備する。順序情報の前後関係は、順序情報内の時刻情報の前後関係により決定する。また、順序情報の前後関係は、同一時刻内に複数パケットを受け付けることを考慮して、時刻情報と付加情報により前後関係を判断できる。この付加情報は、パケット内の優先順位を示すフィールドの値、前記のシーケンス番号など、またはその両方である。
【００２７】
例えば、パケット内の優先順位を示すフィールドを参照することにより、網の受付け順序だけでなく、加入者または通信事業者の付与する優先順位に従い整列順序を制御することが可能になる。なお、パケット内の優先順位を示すフィールドは、ＭＰＬＳのＴＣ(Traffic Class）フィールド、ＶＬＡＮ（Virtual LAN）タグのＣｏＳ(Class of Service）フィールド、ＩＰ（Internet Protocol）パケット内のＴｏＳ（Type of Service）フィールドなどである。
【００２８】
宛先サーバ２００が接続される通信事業者の通信装置１０は、パケットに付与された順序情報により整列しようとするが、複数のパケットが全く同じ順序情報を保持している場合に、それらの中から先に送出するパケットを選択する機能を具備する。順序情報が完全に一致した場合の順序決定方法は、パケットの整列を行う通信装置１０の受信パケットを保持する受信キューなどのバッファ内の並び順に従う方法や、ランダムな選択方法がある。このランダムな選択方法として、乱数を受信キュー内のエントリを指すインデックスとして利用して選択することなどが挙げられる。
【００２９】
上述の通り、宛先サーバ２００が接続される通信事業者の通信装置１０は、網の外部に送出するパケットを、順序情報内の時刻情報が示す時刻までパケットの送出を遅延するパケット整列送出機能３０を具備する。当該機能により網から指定時間に情報を宛先へ配信することが可能になる。
【００３０】
宛先サーバ２００が接続される通信事業者の通信装置１０は、網から宛先サーバ２００へ送出するパケットに対して、網で付与した順序情報を無効化して、網の入側で通信装置１０により無効化された順序情報があれば有効化して、網が受付けたパケットの状態を復元する機能を具備する。
【００３１】
図２は、図１に記した実施例における事業者ネットワーク内のノードである通信装置１０の内部構造の一例を示す。同図に示す通信装置１０は、装置全体を管理するノード管理部２０００、複数のネットワーク・インターフェース６１０−１〜６１０−ｎ、およびネットワーク・インターフェース６１０−１〜６１０−ｎを相互接続するためのスイッチ部２１００で構成される。なお、図１に示した管理者端末２１０が図示されているが、先に説明したように、通信装置１０外に位置することは言うまでもない。
【００３２】
各ネットワーク・インターフェース６１０−１〜６１０−ｎは、パケット送受信部を構成するパケット送受信ポート６０１−１〜６０１−ｎ、各パケット送受信ポートに対応するスイッチ部２１００へのインターフェース６０２−１〜６０２−ｎ、パケット送受信部を介して受信したパケットを処理する入力処理部１０１０、パケット送受信部を介してパケットの送信処理を行う出力処理部１０２０、および前記入力処理部および出力処理部を制御するネットワーク・インターフェース（Network Interface：ＮＩＦ）管理部１０００で構成される。このうち、入力処理部１０１０と出力処理部１０２０は、処理部を構成する少なくとも一個の中央処理部(Central Processing Unit：ＣＰＵ）のプログラム処理として実現できる。勿論、専用のハードウェア構成としても良い。
【００３３】
一方、ノード管理部２０００は通信装置の管理者に対して管理用インターフェースを提供して当該装置への各種設定／操作を可能にするものである。ノード管理部２０００は、同様に処理部と記憶装置を保持しており、通信装置の初期化に必要な初期設定の情報を保持、設定できる。ノード管理部２０００は当該装置の初期化時に、記憶装置に格納されている初期設定情報またはノード管理部２０００が持つデフォルト値で通信装置１０内の各機能の初期化を行う。管理者端末２１０を用いて、管理者によりノード管理部２０００に対して行われた設定や操作は、装置に装備されているネットワーク・インターフェース６１０―１〜６１０−ｎうち適切なＮＩＦ管理部１０００に適宜反映される。ノード管理部２０００、ＮＩＦ管理部１０００内部の時刻管理部Ｆ３００については、後で詳述する。
【００３４】
上述した通信装置１０の各ネットワーク・インターフェース６１０―１〜６１０−ｎ内部の入力処理部１０１０は、さらにその機能ブロックとして、遅延挿入部Ｆ１００、順序情報付与部Ｆ１１０、順序情報無効化部Ｆ１２０、および、順序情報生成部Ｆ１３０を具備する。上述の通り、これら太実線で示した各機能は、入力処理部１０１０を構成するＣＰＵ等の処理部がプログラム処理によって実現できることは言うまでもない。
【００３５】
これらの機能は、図１に記した加入者から受信するパケットに対して、網の受付け順を示す順序情報付与機能２０を構成する。遅延挿入部Ｆ１００は、事前に指定された任意の時間だけ加入者から受信するパケットを網内に送出することを遅延する機能である。順序情報付与部Ｆ１１０は、網内で加入者から受付けるパケットに受付け順序を示すユニークな識別子として、時刻を使用した順序情報を付与する機能である。この付与の方法は先に説明した通りである。順序情報無効化部Ｆ１２０は、加入者から受信するパケットに既に順序情報（既存順序情報）が付与されていた場合、その既存順序情報を無効化する機能である。この無効化の方法も先に述べたとおりです。順序情報生成部Ｆ１３０は、加入者から受付けるパケットに受付け順序を示すユニークな識別子として時刻を使用した時刻情報などの順序情報を生成する機能である。また、順序生成部Ｆ１３０は、同一時刻に複数パケットを受付けた場合にも、後でそれらの順序を判断するための上述した、パケット内の優先順位を示すフィールドの値、シーケンス番号など、またはその両方である付加情報を加えて順序情報を生成する機能を備える。
【００３６】
通信装置１０のネットワーク・インターフェース６１０―１〜６１０−ｎ内部の出力処理部１０２０は、パケット整列部Ｆ２００、および順序情報無効化部Ｆ２１０を具備する。上述の通り、これら太実線で示した各機能は、出力処理部１０２０を構成するＣＰＵ等の処理部におけるプログラム処理によって実現できることは言うまでもない。これらの機能は、図1に記した順序情報によるパケット整列送出機能３０を構成する。
【００３７】
パケット整列部Ｆ２００は、同一の宛先へ送出するパケットを事前に設定された任意の時間だけ送出を遅延させ、パケットに付与された順序情報でパケットを整列してから、宛先へ送出する。順序情報内の時刻情報は、網がパケットを受付けた時刻を示すので、当該時刻が最も古いパケットから順に送出する。さらに当該機能はパケットの受付け順序に従い、受付けたタイミングで該当パケットを宛先へ送出する。順序情報無効化部Ｆ２１０は、パケットが事業者ネットワークの入側の通信装置で付与した順序情報を無効化し、更に入側で通信装置により無効化された順序情報があれば有効化して、網が受付けたパケットの状態を復元する機能である。
【００３８】
このように、本実施例の通信装置は、ネットワーク・インターフェース６１０―１〜６１０−ｎ内部に、入力処理部１０１０と出力処理部１０２０を備えているが、当該通信装置が加入者端末１００に接続されるか、宛先サーバ２００に接続されるかによって、その一方の処理部を機能させるように制御することができる。言い換えるなら、ＣＰＵで入力処理、あるいは出力処理のプログラムを選択的に実行させる、或いは一方の専用ハードウェアを機能させることにより対応可能である。
【００３９】
さて、上述したように、本実施例のネットワークシステムにおいて、通信装置１０を構成するＮＩＦ管理部１０００、およびノード管理部２０００はそれぞれ時刻管理部Ｆ３００を具備する。本実施例における時刻管理部Ｆ３００は、等時性を保証する通信装置間、すなわち通信事業者の管理責任範囲の通信装置間で同期した時刻を管理する機構を実現する。以下、本実施例における等時性保証について説明する。
【００４０】
まず、ノード管理部２０００が、同期した時刻を取得する。この同期した時刻を取得するため既存の手法、例えば、接続されたＧＰＳデバイスから時刻を取得、ＩＥＥＥ１５８８で隣接する通信装置間で時刻を同期、または図示を省略したＮＴＰサーバや、管理者端末２１０から同期した時刻を取得する。
【００４１】
その後、ノード管理部２０００の時刻管理部Ｆ３００が、各ネットワーク・インターフェース６１０−１〜６１０−ｎのＮＩＦ管理部１０００内の時刻管理部Ｆ３００に、取得した当該を配信し、ＮＩＦ管理部１０００内の時刻管理部Ｆ３００が当該時刻を管理する。そして、各ネットワーク・インターフェース６１０―１〜６１０−ｎ内の入力処理部１０１０、および出力処理部１０２０が時刻情報を利用する場合、当該ネットワーク・インターフェース内のＮＩＦ管理部１０００の時刻管理部Ｆ３００の時刻を参照することにより、通信事業者の管理責任範囲２内の等時性が保証される。
【００４２】
図３は、図２に記した通信装置１０内の入力処理部１０１０を構成するＣＰＵ等のプログラム処理による、パケット転送の処理フローの具体例を示している（Ｓ１００）。
【００４３】
まず、入力処理部１０１０においてパケットＩＦ６０１−１〜６０１−ｎからパケットを受信する（Ｓ１１０）。入力処理部１０１０は、記憶部に予め記憶されているテーブル情報や受信パケットのＩＰ送信元アドレス等を参照することにより、受信したパケットの入力ポートが加入者側なのか通信時事業者網なのか判断する（Ｓ１２０）。受信パケットの入力ポートが加入者側の場合、ＩＰ受信元アドレス等を参照し、受信パケットの送出先ポートが加入者側なのか通信事業者網側なのか判断する（Ｓ１３０）。
【００４４】
受信パケットの入力ポートが加入者側で、送出先ポートが通信事業者網側の場合、当該パケットに順序情報が既に付与されているか判断する（Ｓ１４０）。既に順序情報が付与されている場合、順序情報無効化部Ｆ１２０は、順序情報無効化処理を実施する（Ｓ１５０）。その後、順序情報付与部Ｆ１１０は、順序情報生成部Ｆ１３０が生成した、網独自の順序情報を当該パケットに付与する（Ｓ１６０）。さらに、事前に該当する宛先に対して遅延時間が指定されている場合、遅延挿入部Ｆ１００は、バッファ等の記憶部からの読み出しタイミングを調整することにより、当該パケットの転送処理を指定時間だけ遅延する(Ｓ１７０）。なお、このパケット内の順序情報や遅延時間については、後で図面を用いて説明する。
【００４５】
本実施例のネットワークシステムにおいては、後述するようにパケットの出力処理を行う通信装置内で、複数の通信路から送られてきたパケットをバッファなどに一時保存した後に整列処理を行う。しかし、出力処理を行う宛先に対する通信路の数が多数ある場合や、出力処理を行う宛先に対する通信路間の伝送遅延の差が大きい場合には、前記整列処理のために多量のパケットを一時保存するためのバッファを具備する必要がある。そこで、入力処理を行う通信装置で一定時間パケットの転送処理を遅延させる（Ｓ１７０）こと、つまり当該通信装置内にもバッファを具備させパケットを一時保存して転送処理を遅延させることにより、出力側通信装置で用意する必要のあるバッファ量を削減することが可能になる。
【００４６】
これは多対１のような通信が1箇所に集まるような形態の網を構成するとき特に有効である。入力処理部からスイッチ部へパケットを転送するため宛先応じたＳＷ  ＩＦへ当該パケットを送出する（Ｓ１８０）。当該転送処理を終了する（Ｓ１９０）。
【００４７】
図４は、図２に記した通信装置内部の出力処理部１０２０を構成するＣＰＵ等のプログラム処理によるパケット転送の処理フロー（Ｓ２００）の一例を示している。出力処理部１０２０においてＳＷ  ＩＦ６０２−１〜６０２−ｎからパケットを受信する（Ｓ２１０）。出力処理部１０２０を構成するＣＰＵ等は、受信したパケットの入力ポートが加入者側なのか通信時事業者網なのかをＩＰアドレス等を参照することにより判断する（Ｓ２２０）。受信パケットの入力ポートが通信事業者網側の場合、受信パケットの送出先ポートが加入者側なのか通信事業者網側なのか判断する（Ｓ２３０）。受信パケットの入力ポートが通信事業者網側で、送出先ポートが加入者側の場合、パケット整列部Ｆ２００でパケット整列遅延、および順序情報無効化部Ｆ２１０で順序情報無効化処理を行う（Ｓ２４０）。パケットに通信装置での受付時刻を示す順序情報が付与された場合、出力処理部１０２０で当該パケットを処理する時刻は整列処理後なので条件式（１）を満たす。
【００４８】
ｔ＋Ｄｍａｘ≦ｔｎ……………………………………………………（１）
ここで、ｔはパケットの受付時刻、Ｄｍａｘは当該パケットの宛先と送信元を結ぶ複数の通信路の伝送遅延の最大値、ｔｎは現在時刻。
【００４９】
一方、パケットに通信装置での受付時刻ではなく、受付時刻より未来を示す時刻を付与することができる。この場合、前記条件式（１０）を満たさず現在時刻との差分Δｔを次式（２）で求めることができる。
【００５０】
Δｔ＝（ｔ＋Ｄｍａｘ）−ｔｎ………………………………………（２）
この場合、当該時刻（ｔ＋Ｄｍａｘ）までのΔｔ時間だけパケットの転送処理を遅延する（Ｓ２５０）。この機能により、通信装置が指定した時間に加入者へパケットを送信することが可能になり、複数の加入者に対して同一情報を同一時刻に配信するような公平な通信を実現可能になる。出力処理部１０２０から網へパケットを転送するため宛先応じたパケットＩＦへ当該パケットを送出する（Ｓ２６０）。当該転送処理を終了する（Ｓ２７０）。
【００５１】
図５は、通信装置１０の入力処理部１０１０の順序情報付与部Ｆ１１０における、順序情報付与の処理フロー（Ｓ１６０）の一例を示す。上述のとおり、時刻管理部Ｆ３００から、通信装置１０が保有する時計から現在の時刻情報を取得して、順序情報生成部Ｆ１３０が順序情報を生成する（Ｓ１６１）。このとき同一時刻に複数パケットの受付を許容するため、先に説明した付加情報と合わせて順序情報を構成できる。そして、作成した順序情報を順序情報付与部Ｆ１１０が、後で説明するように独自に決めたパケット位置に挿入して当該順序情報を有効化する（Ｓ１６２）。順序情報付与の処理を終了する（Ｓ１６３）。
【００５２】
図６は、通信装置１０の入力処理部１０１０における順序情報無効化部における順序情報無効化の処理フロー（Ｓ１５０）の一例を示す。パケットに既に付与されている順序情報に対して、無効化手法を適用して無効化する（Ｓ１５１）。順序情報無効化の処理を終了する（Ｓ１５２）。
【００５３】
図７は、通信装置１０の出力処理部１０２０におけるパケット整列および順序情報無効化の処理フロー（Ｓ２４０）の一例を示す。まず、事前に設定された時間内に受信した全パケットを、網の入側の通信装置でパケットに付与された順序情報に従い、網の受付け順に整列する（Ｓ２４１）。そして、網独自に付与した順序情報を無効化し、更に図３の処理フローのＳ１５０で無効化した既存順序情報があれば有効化しパケットを復元する（Ｓ２４２）。そして、パケット整列および順序情報無効化の処理を終了する（Ｓ２４３）。
【００５４】
図８は、本実施例を適用したネットワークシステムがユーザに等時性を提供する一例のタイミングチャートを示す。図８では、ユーザ＃１（Ｎ１）、ユーザ＃２（Ｎ２）、およびユーザ＃３（Ｎ３）が、通信装置Ａ（Ｅ１）、通信装置Ｂ（Ｅ２）、通信装置Ｃ（Ｅ３）、および通信装置Ｚ（Ｅ４）で構成されるネットワークシステムを介して、宛先サーバ（Ｎ４）の提供するサービスの利用例として、各ユーザが送出したパケットがネットワークシステムを介してどのようなタイミングで宛先サーバ（Ｎ４）に到達するかを示している。
【００５５】
ここでは、ユーザ＃１（Ｎ１）とユーザ＃２（Ｎ２）が同時刻（Ｔ１およびＴ２）に宛先サーバ（Ｎ４）に向けてパケットを送出する。つづいて、ユーザ＃３（Ｎ３）が時刻Ｔ３に宛先サーバ（Ｎ４）に向けてパケットを送出する。このとき、Ｔ１およびＴ２とＴ３の時刻には時間差（Ｄ１）がある。ユーザ＃１（Ｎ１）、ユーザ＃２（Ｎ２）、およびユーザ＃３（Ｎ３）の送出したパケットは通信装置Ａ（Ｅ１）、通信装置Ｂ（Ｅ２）、通信装置Ｃ（Ｅ３）にそれぞれ時刻Ｔ４、Ｔ５、Ｔ６に到着する。各装置はパケットの宛先である宛先サーバ（Ｎ４）に隣接する通信装置Ｚ（Ｅ４）に受信したパケットを転送する。通信装置Ｚ（Ｅ４）では、ユーザ＃１（Ｎ１）、ユーザ＃２（Ｎ２）、およびユーザ＃３（Ｎ３）の送出したパケットをそれぞれ時刻Ｔ９、Ｔ７、Ｔ８に受信する。通信装置Ｚ（Ｅ４）は、宛先サーバ（Ｎ４）宛のパケットを網の受付け時刻から送信元毎に事前に設定された網の遅延時間経過後に宛先へ送出する。
【００５６】
通信装置Ｚ（Ｅ４）は各パケットの受信後、ユーザ＃１（Ｎ１）が送出したパケットはＤ４時間後の時刻Ｔ１０、ユーザ＃２（Ｎ２）が送出したパケットはＤ５時間後の時刻Ｔ１０、そしてユーザ＃３（Ｎ３）が送出したパケットはＤ６時間後の時刻Ｔ１１に宛先サーバ（Ｎ４）へそれぞれ送出する。このように、本実施例のネットワークシステムでは、各ユーザがパケットを送出した時刻に差（Ｄ１）があったとしても、ネットワークシステムを構成する各通信装置にパケットが到着した時刻差（Ｄ２）を基に宛先サーバ（Ｎ４）へ送出するパケットの時刻差（Ｄ３）を再現する。
【００５７】
図９は、本実施例の通信装置で扱う上述した各種遅延時間を算出するために扱う通信装置間の伝送遅延の測定区間を示す。サーバ２０３が提供するサービスを加入者がクライアント端末１０１および１０２で利用する場合、通信事業者はこの区間で通信ができるように通信装置１１−１３間、および通信装置１２−１３間に通信路を設定する。この際、通信事業者は管理端末を介して通信装置が提供する網の運用管理のための試験機能を利用して、対象となる通信経路の伝送遅延の測定を行う。図９では、通信装置１１−１３間の伝送遅延がｄ１、通信装置１２−１３間の伝送遅延がｄ２である例を示す。ここで、通信装置１３に設定する各通信装置１１と通信装置１２から送出されるパケットに対する所定の遅延時間の算出方法を説明する。
【００５８】
ｄ２＞ｄ１の場合、通信装置１１から送出されるパケットに対する通信装置１３で挿入される遅延時間Ｄ１は下式（３）で算出する。
Ｄ１＝ｄ２−ｄ１………………………………………………………（３）
通信装置１２から送出されるパケットに対する通信装置１３で挿入される遅延時間Ｄ２は式（４）で算出する。
Ｄ２＝０  ∵ｄ２＞ｄ１………………………………………………（４）
また、このとき対象とする通信路の遅延時間で最も大きいものを最大遅延時間Ｄｍａｘとする。したがって、この例では通信装置１３では通信装置１１が送出したパケット遅延時間Ｄ１後に宛先へ転送する。また、通信装置１２が送出したパケット遅延時間Ｄ２後、つまりパケット受信直後に宛先へ転送する。ただし、通信装置が宛先へパケットを転送するのは、転送するパケットの順序情報内の時刻情報ｔｉが次の条件式（５）を満たす場合である。
【００５９】
ｔｉ＋Ｄｉ≧ｔｎ＋Ｄｍａｘ………………………………………（５）
このとき、Ｄｉは該当する送信元ｉに対して挿入される所定の遅延時間、ｔｎは現在時刻である。
【００６０】
この条件式（５）を満たさない場合、つまり、パケットに付与された時刻情報が未来の時刻を指定している場合、該当するパケットは条件式（５）が満たされるまで、当該通信装置内のバッファに格納され、宛先への転送が遅延される。通信装置が転送するパケットに対して順序情報内に未来の時刻情報を付与することにより、通信装置は伝送遅延にとらわれず指定した時刻にパケットを宛先へ配信することが可能になる。これは、サービスを提供するサーバから同時に当該サービスの利用者に対して情報を公平に配信することを可能にする。
【００６１】
図１０は、本実施例の通信装置１０で扱うパケットを構成する各フィールドのレイアウトを、イーサネット（登録商標）フレームを例として用いて示す。同図において、Ｌ１０は標準的なイーサネットフレームを、Ｌ２０は本実施例に係る順序情報等を挿入したパケットを、Ｌ２２はその順序情報を示している。
【００６２】
まず、イーサネットフレームＬ１０は、宛先アドレス（ＤＡ）Ｌ１１、送信元アドレス（ＳＡ）Ｌ１２、タイプ値（Ｔ）Ｌ１３、ペイロード(Payload）Ｌ１４から構成される。加入者からイーサネットフレームＬ１０を受付けると、通信装置１０は、受付けたパケットの送信元アドレスＬ１２とタイプ値Ｌ１３の間に新しいタイプ値（Ｔｎ）Ｌ２１と順序情報（Ｏ）Ｌ２２を挿入したパケットＬ２０を構成して、通信事業者の管理責任範囲の網内を転送する。
【００６３】
加入者から受付けたパケットに既に順序情報が付与されていた場合、新しいタイプ値Ｌ２１と当該順序情報Ｌ２２との間に新しい順序情報を挿入する。つまり、順序情報を保持するパケットは、保持する順序情報の数に係わらず、順序情報の保有を示す新しいタイプ値（Ｔｎ）Ｌ２１のフィールドは常に１つである。新しいタイプ値Ｌ２１は、タイプ値を管理するＩＡＮＡ（Internet Assigned Number Authority）に申請したユニークな値を使用する。
【００６４】
順序情報（Ｏ）Ｌ２２は、無効化フラグ（Ｄ）Ｌ２２１、最終順序情報フラグ（Ｓ）Ｌ２２２、時刻情報（Ｔｉｍｅ）Ｌ２２３、および付加情報（Ａｄｄ）Ｌ２２４で構成される。無効化フラグ（Ｄ）Ｌ２２１は、当該順序情報が網内で参照されるべきか、参照されるべきでないかを示す。このフラグ（Ｄ）がセットされると通信装置は送信順序を決定する際に当該順序情報を参照しない。最終順序情報フラグＬ２２２は、通信装置が参照する最後の順序情報に当該フラグが設定される。パケット内に順序情報Ｌ２２を付与するとき、最初に付与された順序情報に当該フラグが設定される。既に順序情報が付与されたパケットに、新たに順序情報Ｌ２２を挿入する場合、挿入する順序情報の最終順序情報フラグＬ２２２は設定しない。時刻情報Ｌ２２３は、上述したように、通信装置１０がパケットを受付けた時刻、または当該パケットの配信時刻を示す未来の時刻を示す。付加情報Ｌ２２４は、同一時刻に受付けたパケットの順序を識別するため通信装置で付与される情報、例えば上述したＣＰＵ等のＨＷタイマのＨＷクロックカウント値などが利用される。
【００６５】
通信装置１０は、加入者からパケットＬ１０を受付けると、順序情報を付与したパケットＬ２０を構成して宛先に向けて転送する。当該パケットが通信事業者の管理責任範囲の網内を転送され通信事業者の網から出る際に、通信装置１０はパケットを受付けたときに付与した順序情報を取り除き、受付けたときのパケットＬ１０を復元し送出する。このように、本実施例のシステムにおいては、網の出側で加入者からのパケットＬ１０を復元するので、等時性を提供する網を利用しても、加入者はこれまで利用してきたサービスを何も変更することなく利用し続けることが可能である。
【００６６】
また、加入者から既存順序情報が付与されたパケットＬ２０を受付けると、当該既存順序情報の無効化フラグを設定して、新たに順序情報を挿入する。当該パケットが網内を転送され通信事業者の網から出る際に、通信装置１０はパケットを受付けたときに付与した順序情報を取り除き、受付けたときに既に付与されていた既存順序情報に対して設定した無効化フラグを解除してパケットＬ２０を復元し送出する。したがって、加入者が網内で使用する順序情報と同じフォーマットの順序情報を用いて通信を行っても、通信事業者の管理責任範囲の網の提供する等時性保証機能には影響なく当該パケットを透過的に転送することが可能である。
【００６７】
更に、加入者またはサーバで順序情報を利用した処理を行う場合、通信事業者が該当する通信装置を設定することにより、本来網出口で取り除かれる順序情報をそのまま転送することが可能である。これにより、詐称の可能性のある加入者が付与した既存順序情報ではなく、詐称することが不可能な通信事業者により付与された順序情報を網の外側でも参照可能になるので、サービスを提供するサーバなどで信頼性の高い順序情報を用いた付加的なサービスを提供することを可能にする。
【００６８】
なお、加入者から受付けるパケットが上述した実施例のようにイーサフレームで無く、ＭＰＬＳ(Multi-Protocol Label Switching）フレームの場合、通信装置が付与する順序情報Ｌ２２はＭＰＬＳラベルとＭＰＬＳにより運ばれるペイロードの間に挿入される。これにより、通信装置１０では、加入者から受付けるパケットがＭＰＬＳフレームの場合でも、順序情報はイーサネット（登録商標）の場合と同様に処理される。
【００６９】
更に、本発明は上述した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００７０】
更に、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により専用ハードウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記憶装置、または、ＩＣカード、ＳＤカード、ＤＶＤ(Digital Versatile Disc）等の記録媒体におくことができるし、必要に応じてネットワーク等を介してダウンロード、インストロールすることも可能であることは言うまでもない。
【符号の説明】
【００７１】
１：加入者の管理責任範囲
２：通信事業者の管理責任範囲
３：ＰＯＩ（Ｐｏｉｎｔ  Ｏｆ  Ｉｎｔｅｒｆａｃｅ）
１０：通信事業者の管理する通信装置
２０：順序情報付与機能
３０：順序情報に基づく整列送出機能
１００：加入者の利用するクライアント端末
２００：サービスを提供するサーバ
２１０：通信事業者の管理責任範囲を管理する管理者端末
６００−１〜６００−ｎ：パケット送受信ポート
６０２−１〜６０２−ｎ：ネットワーク・インターフェースを相互接続するスイッチ部へのインターフェース
６１０−１〜６１０−ｎ：ネットワーク・インターフェース
１０００：ネットワーク・インターフェースの管理部
１０１０：入力処理部
１０２０：出力処理部
２０００：通信装置全体を管理するノード管理部 
２１００：ネットワーク・インターフェースを相互接続するスイッチ部
Ｓ１００：入力処理例の処理フロー
Ｓ１１０：パケットの受信処理
Ｓ１２０：パケットの入力ポート判断処理
Ｓ１３０：パケットの出力ポート判断処理
Ｓ１４０：パケットの既存順序情報有無の判断処理
Ｓ１５０：既存順序情報の無効化処理
Ｓ１５１：既存順序情報内の無効化フラグをセット
Ｓ１５２：既存順序情報の無効化処理の終了
Ｓ１６０：順序情報の付与処理
Ｓ１６１：現在時刻から順序情報の生成処理
Ｓ１６２：パケットに順序情報の挿入処理
Ｓ１６３：順序情報の付与処理の終了
Ｓ１７０：指定された所定時間だけ送出の遅延処理
Ｓ１８０：パケットの送出処理
Ｓ１９０：入力処理の終了
Ｓ２００：出力処理例の処理フロー
Ｓ２１０：パケットの受信処理
Ｓ２２０：パケットの入力ポート判断処理
Ｓ２３０：パケットの出力ポート判断処理
Ｓ２４０：パケット整列および順序情報無効化処理
Ｓ２４１：順序情報でパケットの整列処理
Ｓ２４２：整列のために参照した順序情報の無効化処理
Ｓ２４３：パケット整列および無効化処理の終了
Ｓ２５０：指定された所定時間だけ送出の遅延処理
Ｓ２６０：パケットの送出処理
Ｓ２７０：出力処理の終了
Ｎ１：ユーザ＃１
Ｎ２：ユーザ＃２
Ｎ３：ユーザ＃３
Ｎ４：宛先サーバ
Ｅ１、Ｅ２、Ｅ３、Ｅ４：通信装置Ａ、Ｂ、Ｃ、Ｚ
Ｔ１：ユーザ＃１のパケット送出時刻
Ｔ２：ユーザ＃２のパケット送出時刻
Ｔ３：ユーザ＃３のパケット送出時刻
Ｔ４：通信装置Ａのパケット受信時刻
Ｔ５：通信装置Ｂのパケット受信時刻
Ｔ６：通信装置Ｃのパケット受信時刻
Ｔ７：通信装置Ｚが通信装置Ｂからのパケット受信時刻
Ｔ８：通信装置Ｚが通信装置Ｃからのパケット受信時刻
Ｔ９：通信装置Ｚが通信装置Ａからのパケット受信時刻
Ｔ１０：通信装置Ｚが宛先サーバへ通信装置Ａおよび通信装置Ｂからのパケットの送出時刻
Ｔ１１：通信装置Ｚが宛先サーバへ通信装置Ｃからのパケットの送出時刻
Ｔ１２：宛先サーバがユーザ＃１およびユーザ＃２からのパケットの受信時刻
Ｔ１３：宛先サーバがユーザ＃３からのパケットの受信時刻
Ｄ１：ユーザ＃１およびユーザ＃２のパケット送出時刻とユーザ＃３のパケット送出時刻の時間差
Ｄ２：通信装置Ａおよび通信装置Ｂのパケット受信時刻と通信装置Ｃのパケット受信時刻の時間差
Ｄ３：通信装置Ｚで通信装置Ａおよび通信装置Ｂからのパケットと通信装置Ｃからのパケットの送出時刻の時間差
Ｄ４：通信装置Ｚにおいて通信装置Ａからのパケットに対する挿入する遅延時間
Ｄ５：通信装置Ｚにおいて通信装置Ｂからのパケットに対する挿入する遅延時間
Ｄ６：通信装置Ｚにおいて通信装置Ｃからのパケットに対する挿入する遅延時間
【図１】
0005635928.tif 000002
【図２】
0005635928.tif 000003
【図３】
0005635928.tif 000004
【図４】
0005635928.tif 000005
【図５】
0005635928.tif 000006
【図６】
0005635928.tif 000007
【図７】
0005635928.tif 000008
【図８】
0005635928.tif 000009
【図９】
0005635928.tif 000010
【図１０】
0005635928.tif 000011