(57)【要約】  パケットを転送する中継装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、中継装置３０における出力ポートの番号とで構成された接続情報を記憶する接続情報記憶部３１と、接続情報記憶部３１に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断する接続情報処理部３２と、接続情報処理部３２が、接続情報記憶部３１に該当する接続情報が存在すると判断した場合に、該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送するパケット転送部３３とを有する。
2015194072.tif 000002
【特許請求の範囲】
【請求項１】
パケットを転送する中継装置であって、
少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、前記中継装置における出力ポートの番号とで構成された接続情報を記憶する接続情報記憶部と、
前記接続情報記憶部に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断する接続情報処理部と、
前記接続情報処理部が、前記接続情報記憶部に該当する接続情報が存在すると判断した場合に、前記該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送するパケット転送部とを有する
中継装置。
【請求項２】
前記接続情報は、前記中継装置における入力ポートの番号をさらに含み、
前記パケット転送部は、前記接続情報処理部が該当する接続情報が存在すると判断した場合に、前記該当する接続情報における入力ポートの番号が、前記転送するパケットが前記中継装置に入力されたポートの番号と一致するかを確認し、一致する場合に、前記パケットを、前記該当する接続情報における出力ポートの番号が示す出力ポートに転送する
請求項１記載の中継装置。
【請求項３】
前記中継装置と通信可能な管理装置から前記時刻スロットを識別する番号と、前記時刻スロットを識別する番号に対応する接続元情報と接続先情報を受信し、当該接続元情報と当該接続先情報に基づいて、前記中継装置における入力ポートのポート番号と出力ポートのポート番号を求める
請求項２記載の中継装置。
【請求項４】
パケット通信を行う通信装置であって、
少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、前記時刻スロットを識別する番号に対応するインタフェースの識別子とを含む接続管理情報を記憶する接続管理情報記憶部と、
前記接続管理情報記憶部に、現在時刻が属する時刻スロットに該当する接続管理情報が存在するか否かを判断する通信処理部とを備え、
前記通信処理部が該当する接続管理情報が存在すると判断した場合に、前記該当する接続管理情報に含まれるインタフェースの識別子が示すインタフェースにパケットを送出する
通信装置。
【請求項５】
パケット通信を行う通信装置であって、
少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、前記時刻スロットを識別する番号に対応するメモリマップアドレスとを含む接続管理情報を記憶する接続管理情報記憶部と、
前記接続管理情報記憶部に、現在時刻が属する時刻スロットに該当する接続管理情報が存在するか否かを判断する通信処理部とを備え、
前記通信処理部が該当する接続管理情報が存在すると判断した場合に、前記該当する接続管理情報に含まれるメモリマップアドレスが示すバッファ領域に、受信したパケットをコピーする
通信装置。
【請求項６】
同期エラー検出部をさらに備え、
前記通信処理部は、パケットが受信される際に、前記パケットに開始フラグが含まれているか否か確認し、開始フラグが含まれていた場合、同期エラー検出処理を前記同期エラー検出部に実行させる
請求項５記載の通信装置。
【請求項７】
通信装置と、前記通信装置間のパケットを転送する中継装置と通信可能な管理装置であって、
少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号を含む時間管理情報を記憶する時間管理情報記憶部と、
通信装置から、接続元情報と接続先情報とを含むパケットの送信要求を受け付け、接続元情報および接続先情報が未割当の前記時間管理情報に、受け付けた前記接続元情報および前記接続先情報を割り当てる同期スケジュール設定部と、
前記同期スケジュール設定部に割当済みにされた前記時間管理情報を、前記通信装置及び前記中継装置に送信する同期スケジュール送信部とを備える
管理装置。
【請求項８】
パケットの通信経路情報を記憶する経路情報記憶部を備え、
同期スケジュール送信部は、時間管理情報を送信する際に、前記時間管理情報に対応する前記通信経路情報に含まれる装置に前記時間管理情報を送信する
請求項７記載の管理装置。
【請求項９】
中継装置において実行される中継方法であって、
少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、前記中継装置における出力ポートの番号とで構成された接続情報を記憶し、
記憶している前記接続情報の中に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断し、
該当する接続情報が存在すると判断した場合に、前記該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送する
中継方法。
【請求項１０】
中継装置において実行される中継プログラムであって、
前記中継装置に、
少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、前記中継装置における出力ポートの番号とで構成された接続情報を記憶する記憶処理、
前記記憶処理で記憶された前記接続情報の中に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断する接続情報処理、および
前記接続情報処理で該当する接続情報が存在すると判断された場合に、前記該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送する転送処理
を実行させるための中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、通信装置、管理装置、中継方法および中継プログラムに関する。
【背景技術】
【０００２】
特許文献１には、同期スケジューリングシステムの一例が記載されている（特許文献１の第１頁、図１等）。図２８は、特許文献１に記載されている同期スケジューリングシステムの構成を示すブロック図である。【０００３】
図２８に示すように、特許文献１に記載の同期スケジューリングシステムは、並列計算機１にＰＥ（Ｐｒｏｃｅｓｓｏｒ  Ｅｌｅｍｅｎｔ）通信網２と、ＰＥ３とを備えている。ＰＥ３は、不活性化機能４と、条件設定機能５と、割り付け機能６と、割り込み生成機能７と、活性化機能８とで構成されている。【０００４】
図２８に示す同期スケジューリングシステムは、以下のように動作する。実行中の並列プロセスが並列同期待ち状態になると、不活性化機能４は、待ち状態になった並列プロセスを不活性化して、並列プロセスの割り付けを禁止する。【０００５】
割り付け機能６は、実行可能な他のジョブのプロセスを割り付ける。プロセスが割り付けられた他のジョブの実行中に条件設定機能５により設定された条件が満たされると、割り込み生成機能７は、現在実行中の処理に対する割り込み信号を生成する。【０００６】
割り込み信号が生成されると、活性化機能８は、並列同期待ち状態であった並列プロセスを活性化して、並列プロセスの割り付けを再開する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平９−１２８３５１号公報
【非特許文献】
【０００８】
【非特許文献１】Introduction to InfiniBandTM for End Users:Industry-Standard Value and Performance for High Performance Computing and the Enterprise, Paul Grun, InfiniBand   Trade Association
【非特許文献２】伊藤雅典、「プログラマ目線から見たRDMAのメリットとその応用例について」、株式会社ＮＴＴデータ  技術開発本部、２０１０年１１月１７日  InfiniBand & Manycore Day
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１に記載の同期スケジューリングシステムにおいて、計算機のアプリケーションが、他の計算機のアプリケーションと通信し、ネットワークプロトコル処理のオーバヘッドが発生した場合、問題が生じる。【００１０】
ネットワークプロトコル処理のオーバヘッドが発生する理由は、計算機間で通信が行われる際に、ネットワークプロトコルが使用されるためである。通常、計算機間で通信が行われる場合、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）などのネットワークプロトコルが用いられる。計算機は、ネットワークプロトコルを用いて任意の計算機への通信を実現する。【００１１】
計算機間で通信するアプリケーションが、特許文献１に記載されている手法による同期スケジューリングの管理下にある場合を考える。アプリケーションが管理下にある場合、アプリケーション間での通信が求められる際に、計算機は、送信データにネットワークプロトコルを付与してネットワークに送信する。また、計算機は、ネットワークプロトコルが付与された受信データをネットワークから受信する。【００１２】
ネットワークプロトコルを付与する際、誤り訂正符号や輻輳制御などの計算に所定の時間が求められる。よって、同期スケジューリングの管理下にある計算機のアプリケーションが他の計算機のアプリケーションと通信する場合、ネットワークプロトコルが処理される間、通信するアプリケーションは、所定時間待機することが求められる。【００１３】
特許文献１に記載の同期スケジューリング方式では、所定時間待機するアプリケーションが存在する場合、他の並列アプリケーションにＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が割り当てられる。【００１４】
すなわち、特許文献１に記載の手法を用いると、ネットワークプロトコルが処理される間に、ＣＰＵが割り当てられるアプリケーションが、通信するアプリケーションから他の並列アプリケーションに切り替わる恐れがある。ＣＰＵが割り当てられるアプリケーションの切り替わりが、特許文献１に記載の同期スケジューリングシステムにおいて同期通信する際の第１の問題点である。【００１５】
ＴＣＰ／ＩＰネットワークよりもオーバヘッドの少ないネットワークとして、Ｉｎｆｉｎｉｂａｎｄ（登録商標）と呼ばれるネットワークが存在する（非特許文献１〜２）。しかし、Ｉｎｆｉｎｉｂａｎｄにおいてもルーティング処理の実施のためにネットワークプロトコルが用いられる。すなわち、プロトコル処理によるオーバヘッドが存在するという点において、Ｉｎｆｉｎｉｂａｎｄは、ＴＣＰ／ＩＰネットワークと同じである。【００１６】
特許文献１に記載の同期スケジューリングシステムにおいて同期通信する際の第２の問題点は、計算機のアプリケーションが、他の計算機のアプリケーションと同期通信する際に、計算機間を通信可能に接続する複数のネットワーク機器において、データが非同期に処理されるという点である。【００１７】
データが非同期に処理される理由は、ネットワーク機器が、待ち行列に入力されたネットワークデータを順に処理するためである。【００１８】
ルータやスイッチといったネットワーク機器は、以下のように動作する。例えばルータの場合、ルータは、ルータ内の待ち行列にパケットを入力順に並べる。次いで、ルータは、待ち行列の先頭（ルータに最も早く到着したパケット）から順にパケットを取り出す。【００１９】
ルータは、取り出したパケットのネットワークプロトコルを確認して、パケットの宛先を調べる。次いで、ルータは、宛先の計算機が接続されているネットワークへパケットを送出する。【００２０】
よって、アプリケーションが同期通信を開始しても、開始前にネットワーク機器に蓄積されたパケットがすべて処理されない限り、同期通信は開始されない。【００２１】
そこで、本発明は、ネットワークプロトコル処理を行わない同期通信に寄与できる中継装置、通信装置、管理装置、中継方法および中継プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明による中継装置は、パケットを転送する中継装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、中継装置における出力ポートの番号とで構成された接続情報を記憶する接続情報記憶部と、接続情報記憶部に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断する接続情報処理部と、接続情報処理部が、接続情報記憶部に該当する接続情報が存在すると判断した場合に、該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送するパケット転送部とを有することを特徴とする。【００２３】
本発明による通信装置は、パケット通信を行う通信装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、時刻スロットを識別する番号に対応するインタフェースの識別子とを含む接続管理情報を記憶する接続管理情報記憶部と、接続管理情報記憶部に、現在時刻が属する時刻スロットに該当する接続管理情報が存在するか否かを判断する通信処理部とを備え、通信処理部が該当する接続管理情報が存在すると判断した場合に、該当する接続管理情報に含まれるインタフェースの識別子が示すインタフェースにパケットを送出することを特徴とする。【００２４】
本発明による通信装置は、パケット通信を行う通信装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、時刻スロットを識別する番号に対応するメモリマップアドレスとを含む接続管理情報を記憶する接続管理情報記憶部と、接続管理情報記憶部に、現在時刻が属する時刻スロットに該当する接続管理情報が存在するか否かを判断する通信処理部とを備え、通信処理部が該当する接続管理情報が存在すると判断した場合に、該当する接続管理情報に含まれるメモリマップアドレスが示すバッファ領域に、受信したパケットをコピーすることを特徴とする。【００２５】
本発明による管理装置は、通信装置と、通信装置間のパケットを転送する中継装置と通信可能な管理装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号を含む時間管理情報を記憶する時間管理情報記憶部と、通信装置から、接続元情報と接続先情報とを含むパケットの送信要求を受け付け、接続元情報および接続先情報が未割当の時間管理情報に、受け付けた接続元情報および接続先情報を割り当てる同期スケジュール設定部と、同期スケジュール設定部に割当済みにされた時間管理情報を、通信装置及び中継装置に送信する同期スケジュール送信部とを備えることを特徴とする。【００２６】
本発明による中継方法は、中継装置において実行される中継方法であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、中継装置における出力ポートの番号とで構成された接続情報を記憶し、記憶している接続情報の中に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断し、該当する接続情報が存在すると判断した場合に、該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送することを特徴とする。【００２７】
本発明による中継プログラムは、中継装置において実行される中継プログラムであって、中継装置に、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号と、中継装置における出力ポートの番号とで構成された接続情報を記憶する記憶処理、記憶処理で記憶された接続情報の中に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断する接続情報処理、および接続情報処理で該当する接続情報が存在すると判断された場合に、該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送する転送処理を実行させることを特徴とする。
【発明の効果】
【００２８】
本発明によれば、ネットワークプロトコル処理を行わない同期通信に寄与できる。
【図面の簡単な説明】
【００２９】
【図１】本発明による同期スケジューリングシステム１０の第１の実施形態の構成例を示すブロック図である。
【図２】時間管理部１２０に記憶されている時刻スロット情報の例を示す説明図である。
【図３】コンピュータ接続管理部４１０に記憶されているコンピュータ接続管理情報の例を示す説明図である。
【図４】ネットワークスイッチ３００に記憶されているルーティングテーブルの例を示す説明図である。
【図５】ネットワーク接続管理部３６０に記憶されているネットワーク接続管理情報の例を示す説明図である。
【図６】同期スケジュール設定部１３０による同期スケジュールの設定の動作を示すフローチャートである。
【図７】同期スケジュール受信部４３０による同期スケジュールのコンピュータ接続管理情報への変換動作を示すフローチャートである。
【図８】コンピュータ２００に記憶されているルーティングテーブルの例を示す説明図である。
【図９】経路変換部３２０による同期スケジュールのネットワーク接続管理情報への変換動作を示すフローチャートである。
【図１０】既存の割り込み処理部の動作を示すフローチャートである。
【図１１】第１の実施形態における割り込み処理部４２０の動作を示すフローチャートである。
【図１２】タイマー実行部３４０の動作を示すフローチャートである。
【図１３】本発明による同期スケジューリングシステム１０の第２の実施形態の構成例を示すブロック図である。
【図１４】ネットワーク経路情報記憶部１６０に記憶されているネットワーク経路情報の例を示す説明図である。
【図１５】サーバとネットワークスイッチから構成されるネットワーク構成の例を示す説明図である。
【図１６】ネットワーク経路情報生成部１５０によるネットワーク経路情報生成の動作を示すフローチャートである。
【図１７】第２の実施形態における同期管理サーバ１００の動作を示すフローチャートである。
【図１８】本発明による同期スケジューリングシステム１０の第３の実施形態の構成例を示すブロック図である。
【図１９】転送フラグ記憶部４４０に記憶されている転送フラグ情報の例を示す説明図である。
【図２０】第３の実施形態における同期通信で転送されるパケットのデータ構造を示す説明図である。
【図２１】第３の実施形態における割り込み処理部４２０の動作を示すフローチャートである。
【図２２】第３の実施形態における割り込み処理部４２０の動作を示すフローチャートである。
【図２３】同期エラー検出部４５０による同期エラー検出の動作を示すフローチャートである。
【図２４】本発明による中継装置の概要を示すブロック図である。
【図２５】本発明による通信装置の概要を示すブロック図である。
【図２６】本発明による通信装置の他の概要を示すブロック図である。
【図２７】本発明による管理装置の概要を示すブロック図である。
【図２８】特許文献１に記載されている同期スケジューリングシステムの構成を示すブロック図である。
【発明を実施するための形態】
【００３０】
実施形態１．
［構成の説明］
以下、本発明の第１の実施形態を、図面を参照して説明する。図１は、本発明による同期スケジューリングシステム１０の第１の実施形態の構成例を示すブロック図である。図１に示す同期スケジューリングシステム１０は、同期管理サーバ１００と、コンピュータ２００と、ネットワークスイッチ３００とを含む。
【００３１】
同期管理サーバ１００、コンピュータ２００およびネットワークスイッチ３００は、図１において直線で示されるネットワーク５００、または図１において点線で示されるネットワーク６００を介して通信可能に接続されている。
【００３２】
図１に示すように、同期管理サーバ１００は、時刻同期部１１０と、時間管理部１２０と、同期スケジュール設定部１３０と、同期スケジュール送信部１４０とを含む。各構成要素は、それぞれ概略以下のように動作する。
【００３３】
時刻同期部１１０は、同期管理サーバ１００の時刻に、同期スケジューリングシステム１０の他の装置の時刻を同期させる機能を有する。時刻同期部１１０は、同期スケジュールの送受信に用いられるネットワーク６００とは別のネットワークである、ネットワーク５００に接続されている。
【００３４】
時間管理部１２０は、ある時間にネットワーク６００を介して同期通信するサーバを管理する機能を有する。時間管理部１２０には、時刻スロットの情報が記憶される。本実施形態において、時刻スロットは、所定の時間間隔で区切られている同期通信の実施権利を意味する。
【００３５】
図２は、時間管理部１２０に記憶されている時刻スロット情報の例を示す説明図である。図２に示すように、時刻スロット情報は、時刻スロット番号１１１と、接続元ＩＰアドレス１１２と、接続先ＩＰアドレス１１３とで構成される。
【００３６】
時刻スロット番号１１１は、時刻スロット情報を一意に識別するための識別情報である。時刻スロット番号１１１は、ある単位時間を分割した場合の各分割時間に対応する。仮に単位時間が１秒であり、時刻スロット数が４である場合、１時刻スロットに割り当てられる時間は０．２５秒である。
【００３７】
０時０分０秒が単位時間の開始時刻である場合、最初の時刻スロットは、０時０分０秒から０時０分０秒２５までの分割時間に対応する。最初の時刻スロットが割り当てられた通信装置は、０時０分０秒から０時０分０秒２５の間に通信する。
【００３８】
次の時刻スロットは、０時０分０秒２５から０時０分０秒５０までの分割時間に対応する。次の時刻スロットが割り当てられた通信装置は、０時０分０秒２５から０時０分０秒５０の間に通信する。通信の時刻スロットへの割り当てが、時刻スロット数だけ繰り返される。
【００３９】
接続元ＩＰアドレス１１２は、時刻スロットの割り当てを要求したアプリケーション２２０が使用するＩＰアドレスを示す。接続先ＩＰアドレス１１３は、時刻スロットの割り当てを要求したアプリケーション２２０と通信するアプリケーションが使用するＩＰアドレスを示す。
【００４０】
同期スケジュール設定部１３０は、アプリケーション２２０から同期スケジュール設定要求を受け取る。また、同期スケジュール設定部１３０は、時間管理部１２０に記憶されている時刻スロットに空きがある場合、受け取った同期スケジュールの設定要求を時刻スロットに割り当てる。
【００４１】
図２に示す時刻スロット情報では、アプリケーション２２０からの同期スケジュール設定要求が単一の時刻スロットに割り当てられているが、同期スケジュール設定要求は、複数の時刻スロットに割り当てられてもよい。
【００４２】
なお、「時刻スロットに空きがある」状態は、時間管理部１２０に記憶されている時刻スロット情報の中で、まだ接続元ＩＰアドレス１１２および接続先ＩＰアドレス１１３が割り当てられていない時刻スロット情報が存在する（以下、「空きスロットがある」ともいう。）状態を意味する。アプリケーション２２０から送られてくる同期スケジュール設定要求には、接続元ＩＰアドレス１１２と接続先ＩＰアドレス１１３が含まれる。
【００４３】
同期スケジュール送信部１４０は、同期スケジュール設定部１３０により設定された時刻スロットの情報を、ネットワーク６００を介してコンピュータ２００とネットワークスイッチ３００にブロードキャストする機能を有する。送信される時刻スロットの情報は、時間管理部１２０に記憶されている時刻スロット情報の１エントリに対応する。
【００４４】
図１に示すように、コンピュータ２００は、時刻同期部２１０と、アプリケーション２２０と、コンピュータ接続管理部４１０と、割り込み処理部４２０と、同期スケジュール受信部４３０とを含む。各構成要素は、それぞれ概略以下のように動作する。
【００４５】
時刻同期部２１０は、コンピュータ２００の時刻に、同期スケジューリングシステム１０の他の装置の時刻を同期させる機能を有する。時刻同期部２１０は、同期スケジュールの送受信に用いられるネットワーク６００とは別のネットワークである、ネットワーク５００に接続されている。
【００４６】
アプリケーション２２０は、他のコンピュータにおいて稼働するアプリケーションと同期通信する機能を有する。アプリケーション２２０は、コンピュータ２００において稼働する。アプリケーション２２０は、通信内容に応じて、パケットの作成、送信や受信など、様々な処理を行う。
【００４７】
コンピュータ接続管理部４１０は、ある時刻スロットに対応する時間において、到着したパケットをアプリケーション２２０に渡すために、またはアプリケーション２２０からパケットを送出するために必要になる情報を格納する機能を有する。図３は、コンピュータ接続管理部４１０に記憶されているコンピュータ接続管理情報の例を示す説明図である。
【００４８】
コンピュータ接続管理情報は、時刻スロット番号４１１と、インタフェースの識別子と、割り込み番号４１３と、メモリマップアドレス４１４とで構成される。図３に示すインタフェース４１２が、インタフェースの識別子に相当する。
【００４９】
時刻スロット番号４１１は、時刻スロット番号１１１が示す番号と同一の番号を示す。インタフェースの識別子は、例えば、対応する時刻スロット番号４１１の時間にパケットが到着する、またはパケットが送信されるネットワークカードの識別子を示す。
【００５０】
割り込み番号４１３は、対応する時刻スロット番号４１１の時間にパケットが到着した際にＣＰＵに通知される番号を示す。メモリマップアドレス４１４は、対応する時刻スロット番号４１１の時間に到着したパケットが、ユーザプログラムに渡される際に使用されるメモリバッファ領域を示す。
【００５１】
図３を参照すると、時刻スロット番号４１１が１の時間に到着したパケットは、プロトコルの処理が行われずに、メモリマップアドレス４１４が示す「０ｘ０００１−０ｘ０００Ｆ」に対応するメモリバッファ領域に格納される。
【００５２】
割り込み処理部４２０は、到着したパケットを、コンピュータ接続管理情報に記載されているメモリマップアドレス４１４が示すメモリバッファ領域に格納する機能を有する。
【００５３】
通常の通信処理において、割り込み処理部４２０は、到着したパケットをあるメモリバッファ領域に格納した後、ネットワークプロトコルの処理を行う。次いで、割り込み処理部４２０は、宛先のアプリケーション２２０が持つメモリバッファ領域に処理を施したパケットをコピーする。
【００５４】
本実施形態において、ネットワークプロトコル処理は行われない場合もある。その場合、本実施形態における割り込み処理部４２０は、送られてきたパケットを単にコンピュータ接続管理情報に記載されているメモリマップアドレス４１４が示すメモリバッファ領域に格納する処理を行い、ネットワークプロトコル処理は行わない。
【００５５】
同期スケジュール受信部４３０は、同期管理サーバ１００の同期スケジュール送信部１４０からネットワーク６００を介して送られてきた同期スケジュールを、コンピュータ接続管理情報に変換してコンピュータ接続管理部４１０に格納する機能を有する。送られる同期スケジュールは、時刻スロット情報である。
【００５６】
時刻スロット情報を受け取ったコンピュータ２００は、時刻スロット情報をコンピュータ２００の動作に合わせて変換する。コンピュータ２００が時刻スロット情報を受け取った場合、同期スケジュール受信部４３０は、受け取った時刻スロット情報をコンピュータ接続管理情報に変換する。
【００５７】
図１に示すように、ネットワークスイッチ３００は、時刻同期部３１０と、経路変換部３２０と、同期スケジュール受信部３３０と、タイマー実行部３４０と、物理ソケット間接続部３５０と、ネットワーク接続管理部３６０とを含む。各構成要素は、それぞれ概略以下のように動作する。
【００５８】
時刻同期部３１０は、ネットワークスイッチ３００の時刻に、同期スケジューリングシステム１０の他の装置の時刻を同期させる機能を有する。時刻同期部３１０は、同期スケジュールの送受信に用いられるネットワーク６００とは別のネットワークである、ネットワーク５００に接続されている。つまり、ネットワーク５００は、時刻同期部１１０、時刻同期部２１０および時刻同期部３１０による時刻同期処理の際に使用される。
【００５９】
同期スケジュール受信部３３０は、同期管理サーバ１００の同期スケジュール送信部１４０から送られてきた同期スケジュールを、ネットワーク接続管理情報に変換してネットワーク接続管理部３６０に格納する機能を有する。ネットワーク接続管理情報へ変換する際に、同期スケジュール受信部３３０は、経路変換部３２０を用いる。
【００６０】
経路変換部３２０は、同期管理サーバ１００の同期スケジュール送信部１４０から送られてきた同期スケジュールを、ネットワーク接続管理部３６０に記憶されるネットワーク接続管理情報に変換する機能を有する。送られる同期スケジュールは、時刻スロット情報である。
【００６１】
経路変換部３２０は、ネットワークスイッチ３００に記憶されているルーティングテーブルを確認する。確認の際、経路変換部３２０は、時刻スロット情報に含まれている接続元ＩＰアドレス１１２、接続先ＩＰアドレス１１３がどのネットワークに所属するかを確認する。また、経路変換部３２０は、確認したネットワークへの入出力に使われるネットワークスイッチ３００のポートのポート番号を取得する。
【００６２】
図４は、ネットワークスイッチ３００に記憶されているルーティングテーブルの例を示す説明図である。図４に示すルーティングテーブルは、宛先ネットワークと、サブネットマスクと、ネクストホップと、ポート番号とで構成される。
【００６３】
時刻スロット情報（同期スケジュール）を受け取ったネットワークスイッチ３００は、時刻スロット情報をネットワークスイッチ３００の動作に合わせて変換する。ネットワークスイッチ３００は、受け取った時刻スロット情報をネットワーク接続管理情報に変換する。以下、経路変換部３２０による同期スケジュールのネットワーク接続管理情報への変換の例を説明する。
【００６４】
例において、送られてきた同期スケジュールの時刻スロット番号１１１を１、接続元ＩＰアドレス１１２を「１９２．１６８.１．２」、接続先ＩＰアドレス１１３を「１９２．１６８.２．３」とそれぞれする。
【００６５】
図４に示すように、ルーティングテーブルのサブネットマスクはすべて「２５５．２５５．２５５．０」と設定されている。経路変換部３２０は、サブネットマスクから、接続元ＩＰアドレス１１２が示すＩＰアドレスが宛先ネットワークの「１９２．１６８．１．０」に所属することを確認する。同様に、経路変換部３２０は、接続先ＩＰアドレス１１３が示すＩＰアドレスが宛先ネットワークの「１９２．１６８．２．０」に所属することを確認する。
【００６６】
次いで、経路変換部３２０は、ルーティングテーブルから、宛先ネットワークが「１９２．１６８．１．０」であるネットワークへの入出力に利用されるネットワークスイッチ３００のポートのポート番号が「Ｓ０」であることを確認する。同様に、経路変換部３２０は、宛先ネットワークが「１９２．１６８．２．０」であるネットワークへの入出力に利用されるネットワークスイッチ３００のポートのポート番号が「Ｓ１」であることを確認する。
【００６７】
よって、変換されたネットワーク接続管理情報において、時刻スロット番号３６１が１、第１ポート番号３６２が「Ｓ０」、第２ポート番号３６３が「Ｓ１」になる。このネットワーク接続管理情報は、図５に示す最初のネットワーク接続管理情報に対応する。
【００６８】
なお、受け取った時刻スロット情報に対応する同期スケジュールにおける通信が、コンピュータから他のコンピュータへの片方向の通信であることが想定されている場合、経路変換部３２０は、時刻スロット情報を、時刻スロット番号３６１と１つのポート番号とを含むネットワーク接続管理情報に変換してもよい。その理由は、時刻スロット番号３６１に対応する時間、ネットワークスイッチ３００には１つのコンピュータからのみパケットが到着するため、ネットワークスイッチ３００は、受信したパケットをポート番号に対応するポートから送信する処理だけを実施すればよいためである。
【００６９】
ネットワーク接続管理部３６０は、時刻スロット毎に接続するネットワークスイッチ３００の物理ポートの組み合わせを管理する機能を有する。図５は、ネットワーク接続管理部３６０に記憶されているネットワーク接続管理情報の例を示す説明図である。ネットワーク接続管理情報は、時刻スロット番号３６１と、第１ポート番号３６２と、第２ポート番号３６３とで構成される。
【００７０】
タイマー実行部３４０は、設定されたタイマーに従って、滞留しているパケットを破棄する機能を有する。また、タイマー実行部３４０は、設定されたタイマーに従って、物理ソケット間接続部３５０を用いて、ネットワーク接続管理情報に記載されている第１ポート番号３６２が示すポートと第２ポート番号３６３が示すポートとを接続する機能を有する。
【００７１】
物理ソケット間接続部３５０は、ネットワーク接続管理情報に記載されている第１ポート番号３６２が示すポートと第２ポート番号３６３が示すポートとを接続する機能を有する。
【００７２】
物理ソケット間接続部３５０は、受信したパケットに含まれるネットワークプロトコルから宛先ＩＰアドレスを取得して、送信先になる物理ポート番号をルーティングテーブルに従って決定するという通常の機能も有する。
【００７３】
例えば、到着したパケットに付随する宛先ＩＰアドレスが「１９２．１６８．１．１」であれば、物理ソケット間接続部３５０は、図４に示すルーティングテーブルから、送信に使用する物理ポートを「Ｓ０」に決定する。
【００７４】
本実施形態における物理ソケット間接続部３５０は、時刻スロット番号３６１に対応する時間、送られてきたパケットをネットワーク接続管理情報に記載されている第１ポート番号３６２が示すポート、または第２ポート番号３６３が示すポートに転送する。
【００７５】
なお、本実施形態におけるネットワークスイッチ３００は、集中バッファを備えてもよい。ネットワークスイッチ３００が集中バッファを備える場合、ネットワークスイッチ３００に到着したパケットは、入力ポート（例えば、第１ポート番号３６２が示すポート）から集中バッファに出力され、集中バッファに一時的に保存される。保存された後、パケットは、出力ポート（例えば、第２ポート番号３６３が示すポート）から送出される。
【００７６】
また、ネットワークスイッチ３００が備えるバッファは、集中バッファに限定されず、ポート毎に設けられるバッファでもよい。
【００７７】
物理ソケット間接続部３５０は、より具体的には、以下のように動作する。すなわち、接続情報処理部としてのタイマー実行部３４０は現在時刻を確認し、現在時刻に対応するネットワーク接続管理情報を確認する。
【００７８】
タイマー実行部３４０が現在時刻に対応するネットワーク接続管理情報が存在すると判断した場合に、物理ソケット間接続部３５０は、該当するネットワーク接続管理情報における入力ポートの番号（例えば、第１ポート番号３６２）と、転送するパケットがネットワークスイッチ３００に入力されたポートの番号（例えば、第１ポート番号３６２）とが一致するかを確認する。
【００７９】
一致する場合、物理ソケット間接続部３５０は、当該パケットを、該当するネットワーク接続管理情報における出力ポートの番号（例えば、第２ポート番号３６３）が示す出力ポートに転送する。
【００８０】
この場合、前述のネットワークスイッチ３００内に設けられ、受信したパケットを一時保存するためのバッファは、物理ソケット間接続部３５０に設けられることが望ましいが、バッファの設置箇所は物理ソケット間接続部３５０に限定されない。物理ソケット間接続部３５０とは異なる場所に記憶部（バッファ）は設けられてもよい。
【００８１】
上記のように動作することで、時刻スロット番号３６１に対応する時間、第１ポート番号３６２が示すポートに到着したパケットは、第２ポート番号３６３が示すポートに送信される。また、第２ポート番号３６３が示すポートに到着したパケットは、第１ポート番号３６２が示すポートに送信される。どの物理ポートからパケットが到着したかは、ネットワークスイッチ３００の既知の情報である。
【００８２】
なお、物理ソケット間接続部３５０の動作のうち、ネットワーク接続管理情報における入力ポートの番号と、転送するパケットがネットワークスイッチ３００に入力されたポートの番号とが一致するかを確認し、一致する場合に当該パケットを、該当するネットワーク接続管理情報における出力ポートの番号が示す出力ポートに転送する動作は、他の構成要素（例えば、パケット転送部（図示せず））により実施されてもよい。
【００８３】
同期管理サーバ１００、コンピュータ２００およびネットワークスイッチ３００に含まれる各構成要素は、所定の時刻になると、時刻スロットを利用するアプリケーションが排他的にネットワーク経路を使用できるようにそれぞれ動作する。よって、ルーティングに必要なプロトコルをパケットに付与することなく、ネットワークで接続されている複数の装置におけるアプリケーション間でデータが送受信される。
【００８４】
なお、本実施形態における同期スケジューリングシステム１０において、同期管理サーバ１００、コンピュータ２００およびネットワークスイッチ３００は、例えば、プログラムに従って処理を実行するＣＰＵによって実現される。また、同期管理サーバ１００、コンピュータ２００およびネットワークスイッチ３００は、ハードウェアによって実現されてもよい。
【００８５】
また、同期スケジュール設定部１３０、同期スケジュール送信部１４０、アプリケーション２２０、割り込み処理部４２０、同期スケジュール受信部４３０、経路変換部３２０、同期スケジュール受信部３３０、タイマー実行部３４０および物理ソケット間接続部３５０は、例えば、プログラム制御に従って処理を実行するＣＰＵによって実現される。
【００８６】
また、時間管理部１２０、コンピュータ接続管理部４１０およびネットワーク接続管理部３６０は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で実現される。
【００８７】
また、時刻同期部１１０、時刻同期部２１０および時刻同期部３１０は、例えば、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）やＰＴＰ（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）に基づく処理を実行するためのソフトウェアに従って動作するＣＰＵによって実現される。
【００８８】
［動作の説明］
以下、本実施形態の同期スケジューリングシステム１０の動作を図６〜７、および図９〜１２を参照して説明する。
【００８９】
同期管理サーバ１００の同期スケジュール設定部１３０による同期スケジュールの設定の動作を説明する。図６は、同期スケジュール設定部１３０による同期スケジュールの設定の動作を示すフローチャートである。
【００９０】
アプリケーション２２０が、同期スケジュール設定部１３０に対して、同期スケジュールリクエストとして自分のＩＰアドレス（接続元ＩＰアドレス１１２）と、通信する相手のＩＰアドレス（接続先ＩＰアドレス１１３）を通知する（ステップＳ００１）。
【００９１】
次いで、同期スケジュール設定部１３０は、時間管理部１２０を検索して、空きスロットがあるかどうかを確認する（ステップＳ００２）。空きスロットが存在する場合（ステップＳ００３のＹＥＳ）、同期スケジュール設定部１３０は、同期スケジュールリクエストを、時間管理部１２０に記憶されている、空きスロットである時刻スロットに登録する（ステップＳ００４）。
【００９２】
登録されている同期スケジュールリストは、時刻スロット番号１１１、接続元ＩＰアドレス１１２、接続先ＩＰアドレス１１３が一つの組にされた時間管理部１２０に記憶されている時刻スロット情報のリストである。
【００９３】
次いで、同期スケジュール送信部１４０は、登録された時刻スロット情報をコンピュータ２００とネットワークスイッチ３００に対してブロードキャストする（ステップＳ００５）。ブロードキャストした後、同期管理サーバ１００は処理を終了する。
【００９４】
空きスロットが存在しない場合（ステップＳ００３のＮＯ）、同期スケジュール送信部１４０は、同期スケジュールの失敗をアプリケーション２２０に通知する（ステップＳ００６）。通知した後、同期管理サーバ１００は処理を終了する。
【００９５】
次に、コンピュータ２００に送られてきた同期スケジュールを、同期スケジュール受信部４３０がコンピュータ接続管理情報に変換する動作を説明する。図７は、同期スケジュール受信部４３０による同期スケジュールのコンピュータ接続管理情報への変換動作を示すフローチャートである。
【００９６】
同期スケジュール受信部４３０は、同期スケジュール送信部１４０から送られてきた、時刻スロット情報に含まれる接続先ＩＰアドレス１１３が示すＩＰアドレスとの通信で使用されるインタフェースの識別子を、ルーティングテーブルから検索する（ステップＳ０１１）。
【００９７】
図８は、コンピュータ２００に記憶されているルーティングテーブルの例を示す説明図である。図８に示すルーティングテーブルは、宛先ネットワークと、サブネットマスクと、ゲートウェイアドレスと、インタフェースとで構成される。
【００９８】
同期スケジュール受信部４３０は、ルーティングテーブルから、接続先ＩＰアドレス１１３が示すＩＰアドレスが含まれる宛先ネットワークを確認する。次いで、同期スケジュール受信部４３０は、パケットを宛先ネットワークに送信するために利用されるインタフェースを選択する。
【００９９】
接続先ＩＰアドレス１１３が示すＩＰアドレスが「１９２．１６８．１．１」である場合を考える。同期スケジュール受信部４３０は、「１９２．１６８．１．１」のＩＰアドレスが含まれる宛先ネットワークが、サブネットマスクから「１９２．１６８．１．０」であることが分かる。また、同期スケジュール受信部４３０は、確認した宛先ネットワークへの送信に利用されるインタフェースが、ルーティングテーブルから「Ｅｔｈ０」であることが分かる。
【０１００】
次いで、同期スケジュール受信部４３０は、選択したインタフェース４１２で使用される割り込み番号４１３を検索する（ステップＳ０１２）。インタフェースの識別子と割り込み番号４１３との対応情報は、例えば、予めＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）４００に保持されている。
【０１０１】
例えば、ＯＳ４００がＬｉｎｕｘ（登録商標）である場合、／ｐｒｏｃ／ｉｎｔｅｒｒｕｐｔファイルを参照すれば、ＯＳ４００は、インタフェースの識別子と割り込み番号４１３との対応関係が分かる。
【０１０２】
次いで、ＯＳ４００は、パケットを扱うユーザプログラムのバッファ領域を確保する（ステップＳ０１３）。バッファ領域のメモリマップアドレス４１４は、ユーザプログラムがＯＳ４００に対してパケットの受信システムコールを発行した際に、ＯＳ４００に通知される。
【０１０３】
例えば、ユーザプログラムがＲｅａｄシステムコールを発行してパケットを受信する場合を考える。Ｒｅａｄシステムコールが使用される場合、ユーザプログラムは、バッファ領域を用意して、用意したバッファ領域のポインタをＲｅａｄシステムコールの第二引数としてＯＳ４００に通知する。
【０１０４】
上記の場合、ＯＳ４００は、ユーザプログラムが指定したバッファ領域に、受信したパケットデータが格納されている、ＯＳ４００のバッファ領域の内容をコピーしてユーザプログラムに返す。ＯＳ４００の処理により、ユーザプログラムは、送られてきたパケットデータを受け取ることができる。
【０１０５】
既存のＲｅａｄシステムコールが使用される場合、ＯＳ４００からユーザプログラムにデータが受け渡される際に、メモリコピーが発生する。メモリコピーの発生を回避するために、ＯＳ４００は、新たなシステムコールを用意して、受信したパケットデータが格納されているバッファ領域をユーザプログラムに直接参照させてもよい。
【０１０６】
次いで、同期スケジュール受信部４３０は、ステップＳ０１１〜Ｓ０１３で得られたインタフェースの識別子、割り込み番号４１３、メモリマップアドレス４１４からコンピュータ接続管理情報を作成する（ステップＳ０１４）。同期スケジュール受信部４３０は、作成したコンピュータ接続管理情報をコンピュータ接続管理部４１０に格納する。格納した後、同期スケジュール受信部４３０は、処理を終了する。
【０１０７】
次に、ネットワークスイッチ３００に送られてきた同期スケジュールを、経路変換部３２０がネットワーク接続管理情報に変換する動作を説明する。図９は、経路変換部３２０による同期スケジュールのネットワーク接続管理情報への変換動作を示すフローチャートである。
【０１０８】
同期スケジュール受信部３３０は、同期スケジュール送信部１４０から送られてきた、時刻スロット情報に含まれる接続先ＩＰアドレス１１３が示すＩＰアドレスとの通信で使用されるポートのポート番号を、ルーティングテーブルから検索する（ステップＳ０２１）。
【０１０９】
検索する際、同期スケジュール受信部３３０は、経路変換部３２０を用いる。経路変換部３２０を用いた同期スケジュールのネットワーク接続管理情報への変換方法は、上述の通りである。
【０１１０】
次いで、同期スケジュール受信部３３０は、同期スケジュール送信部１４０から送られてきた、時刻スロット情報に含まれる接続元ＩＰアドレス１１２が示すＩＰアドレスとの通信で使用されるポートのポート番号を、ルーティングテーブルから検索する（ステップＳ０２２）。検索方法は、ステップＳ０２１における検索方法と同様である。
【０１１１】
次いで、同期スケジュール受信部３３０は、ステップＳ０２１およびステップＳ０２２で得られた２つのポート番号から、ネットワーク接続管理情報を作成する（ステップＳ０２３）。同期スケジュール受信部３３０は、作成したネットワーク接続管理情報をネットワーク接続管理部３６０に格納する。格納した後、同期スケジュール受信部３３０は、処理を終了する。
【０１１２】
次に、コンピュータ２００の割り込み処理部４２０の動作を説明する。図１１は、第１の実施形態における割り込み処理部４２０の動作を示すフローチャートである。本実施形態における割り込み処理部４２０の動作を説明する前に、図１０に示す既存の割り込み処理部の動作を示すフローチャートを参照して、本実施形態の処理と既存の処理との違いを説明する。
【０１１３】
パケットがコンピュータ２００に到着すると、割り込み信号がＣＰＵに送られる（ステップＳ１０１）。割り込み信号は、ネットワークカードからＣＰＵに対して送られる電気信号である。
【０１１４】
ネットワークカードは、自身が持つバッファに到着したパケットデータを、ＯＳ４００が指定したメモリバッファ領域にコピーする。パケットデータがコピーされたメモリバッファ領域を、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）バッファと呼ぶ。次いで、ネットワークカードは、ＣＰＵに対して割り込み信号を送信する。
【０１１５】
割り込み信号を受信したＯＳ４００は、割り込み番号情報を確認し、実行するプログラムを選択する（ステップＳ１０２）。次いで、ＯＳ４００は、割り込みプログラムを実行する（ステップＳ１０３）。
【０１１６】
次いで、ＯＳ４００は、ＤＭＡバッファからパケットデータを取り出し（ステップＳ１０４）、ネットワークプロトコルの処理を実行する（ステップＳ１０５）。次いで、ＯＳ４００は、ユーザプログラムのバッファにパケットをコピーする（ステップＳ１０６）。コピーした後、コンピュータ２００は、処理を終了する。
【０１１７】
ユーザプログラムのバッファは、呼び出したＲｅａｄシステムコールの第二引数で指定されているメモリバッファ領域に対応する。以上のようにコンピュータ２００が動作することによって、ユーザプログラムは、受信されたパケットデータを受け取る。
【０１１８】
次に、図１１を参照して、本実施形態における割り込み処理部４２０の動作を説明する。図１１に示すステップＳ１１１からステップＳ１１３までは、割り込み処理部４２０は、既存の割り込み処理部と同じように動作する。ステップＳ１１３の次のステップからの動作が、本実施形態における割り込み処理部４２０の動作になる。
【０１１９】
割り込み処理部４２０は、現在時刻を取得する（ステップＳ１１４）。次いで、割り込み処理部４２０は、コンピュータ接続管理部４１０に、取得した時刻に対応するコンピュータ接続管理情報が存在するかどうか確認する（ステップＳ１１５）。
【０１２０】
コンピュータ接続管理情報が存在する場合（ステップＳ１１６のＹＥＳ）、割り込み処理部４２０は、コピー先メモリアドレスをコンピュータ接続管理情報に記載されているメモリマップアドレス４１４に設定する（ステップＳ１２０）。次いで、割り込み処理部４２０は、ＤＭＡバッファからメモリマップアドレス４１４に対応するバッファ領域にデータをコピーする（ステップＳ１２１）。コピーした後、割り込み処理部４２０は、処理を終了する。
【０１２１】
コンピュータ接続管理情報が存在しない場合（ステップＳ１１６のＮＯ）、ＯＳ４００は、通常の割り込み処理と同様に、ＤＭＡバッファからパケットを取り出す（ステップＳ１１７）。次いで、ネットワークプロトコルの処理を実行した後（ステップＳ１１８）、ＯＳ４００は、ユーザプログラムの指定するメモリバッファ領域にパケットをコピーする（ステップＳ１１９）。コピーした後、ＯＳ４００は、処理を終了する。
【０１２２】
次に、ネットワークスイッチ３００のタイマー実行部３４０の動作を説明する。図１２は、タイマー実行部３４０の動作を示すフローチャートである。
【０１２３】
タイマーは予め設定されているとする。例えば、単位時間を１秒、時刻スロットを４つ、０時０分０秒を単位時間の開始時刻とそれぞれすると、タイマーは０時０分０秒から０．２５秒毎に時刻確認を実行するように設定される。
【０１２４】
タイマー実行部３４０は、現在時刻を確認する。次いで、タイマー実行部３４０は、確認した現在時刻に対応するネットワーク接続管理情報がネットワーク接続管理部３６０内に存在するか否かを判断する（ステップＳ１３１）。
【０１２５】
タイマー実行部３４０は、確認したネットワーク接続管理情報から第１ポート番号３６２と第２ポート番号３６３とを取り出す。タイマー実行部３４０は、取り出した情報を現在時刻に対応する時刻スロット中の唯一のルーティング情報にする。
【０１２６】
ステップＳ１３２で設定されたルーティング情報は、物理ソケット間接続部３５０のルーティング情報になる。物理ソケット間接続部３５０は、現在時刻に対応するネットワーク接続管理情報における出力ポートの番号（例えば、第２ポート番号３６３）が示す出力ポートにパケットを転送する（ステップＳ１３２）。
【０１２７】
ステップＳ１３１からステップＳ１３２の動作は、より具体的には以下のように説明される。すなわち、タイマー実行部３４０は、現在時刻を確認し、現在時刻に対応するネットワーク接続管理情報を確認する。
【０１２８】
タイマー実行部３４０が現在時刻に対応するネットワーク接続管理情報が存在すると判断した場合に、物理ソケット間接続部３５０は、該当するネットワーク接続管理情報における入力ポートの番号（例えば、第１ポート番号３６２）と、転送するパケットがネットワークスイッチ３００に入力されたポートの番号（例えば、第１ポート番号３６２）とが一致するかを確認する。
【０１２９】
一致する場合、物理ソケット間接続部３５０は、当該パケットを、該当するネットワーク接続管理情報における出力ポートの番号（例えば、第２ポート番号３６３）が示す出力ポートに転送する。
【０１３０】
物理ソケット間接続部３５０は、取り出された第１ポート番号３６２が示すポートと第２ポート番号３６３が示すポートとを接続する。
【０１３１】
次いで、タイマー実行部３４０は、ステップＳ１３２で設定されたルーティング情報に該当しない、ネットワークキューに溜まっているパケットを破棄する（ステップＳ１３３）。
【０１３２】
より具体的には、ステップＳ１３３でタイマー実行部３４０は、次のように動作する。前述の通り、物理ソケット間接続部３５０は、現在時刻に該当するネットワーク接続管理情報における入力ポートの番号（例えば、第１ポート番号３６２）と、転送するパケットがネットワークスイッチ３００に入力されたポートの番号（例えば、第１ポート番号３６２）とが一致するかを確認する。一致する場合、物理ソケット間接続部３５０は、当該パケットを、該当するネットワーク接続管理情報における出力ポートの番号（例えば、第２ポート番号３６３）が示す出力ポートに転送する。
【０１３３】
次いで、タイマー実行部３４０は、物理ソケット間接続部３５０の確認により一致しないとされたパケット、つまり、現在時刻に該当するネットワーク接続管理情報における入力ポートの番号（例えば、第１ポート番号３６２）以外のポート番号が示すポートから受信したパケットを、記憶されているバッファ（ネットワークキュー）から削除する。なお、タイマー実行部３４０によるパケットの破棄の周期は、任意である。パケットを破棄した後、タイマー実行部３４０は、処理を終了する。
【０１３４】
以上、好適な具体例としてタイマー実行部３４０の動作を説明したが、本実施形態においてステップＳ１３３の動作は必須の動作ではない。本実施形態の同期スケジューリングシステム１０を構成する同期管理サーバ１００、コンピュータ２００、ネットワークスイッチ３００の全ての装置間で時刻同期及び時刻スロットの情報の共有がされていれば、所定の時刻スロットに対応する時刻の間は、当該時刻スロット中の唯一のルーティング情報に該当しない入力ポートからは、ネットワークスイッチ３００は、パケットを受信しないためである。
【０１３５】
以上の処理により、ネットワークスイッチ３００は、ステップＳ１３２で設定されたルーティング情報に該当するパケットの転送を開始する。
【０１３６】
［効果の説明］
次に、本実施形態の効果を説明する。本実施形態では、ある時刻に通信するアプリケーションが限定されるように構成されているため、プロトコル処理を介することなくアプリケーション間で直接データが送受信される。よって、計算機間で２つ以上のアプリケーションが通信する際に、アプリケーションは、パケットのヘッダを参照せずに通信できるため、ネットワークプロトコル処理によるオーバヘッドが発生しない。
【０１３７】
さらに、本実施形態では、所定の時刻スロットに対応する時間内でネットワークスイッチが処理するパケットが、所定の時刻スロットが割り当てられたアプリケーションが処理するパケットのみに限定されているため、各計算機を通信可能に接続する複数のネットワーク機器でデータが同期的に処理される。
【０１３８】
実施形態２．
［構成の説明］
次に、本発明の第２の実施形態を、図面を参照して説明する。図１３は、本発明による同期スケジューリングシステム１０の第２の実施形態の構成例を示すブロック図である。
【０１３９】
図１３を参照すると、本実施形態は、第１の実施形態と比較して、同期管理サーバ１００がネットワーク経路情報生成部１５０と、ネットワーク経路情報記憶部１６０とを含む点が異なる。また、ネットワーク経路情報生成部１５０とネットワーク経路情報記憶部１６０が含まれるために、同期スケジュール設定部１３０の動作が第１の実施形態とは異なる。
【０１４０】
［動作の説明］
ネットワーク経路情報生成部１５０とネットワーク経路情報記憶部１６０は、それぞれ概略以下のように動作する。ネットワーク経路情報生成部１５０は、あるサーバが他のサーバと通信する際に使用されるパケットの経路の経路情報１６３を生成する。経路情報１６３は、パケットが経由するネットワークスイッチの組み合わせを示す情報である。
【０１４１】
第１の実施形態でも説明したように、アプリケーション２２０は、同期スケジュール設定部１３０に対して、同期スケジュールリクエストとして自分のＩＰアドレス（接続元ＩＰアドレス１１２）と相手のＩＰアドレス（接続先ＩＰアドレス１１３）を通知する。
【０１４２】
ネットワーク経路情報生成部１５０は、通知された情報と、コンピュータ２００に記憶されているルーティングテーブルと、ネットワークスイッチ３００に記憶されているルーティングテーブルとを元に、パケットが経由するネットワークスイッチ３００の組み合わせを決定する。
【０１４３】
ネットワーク経路情報記憶部１６０は、ネットワーク経路情報生成部１５０によって決められたネットワーク経路情報を記憶する。図１４は、ネットワーク経路情報記憶部１６０に記憶されているネットワーク経路情報の例を示す説明図である。
【０１４４】
図１４に示すように、ネットワーク経路情報は、接続元ＩＰアドレス１１２が記載される接続元サーバ１６１と、接続先ＩＰアドレス１１３が記載される接続先サーバ１６２と、ネットワークスイッチ３００の組み合わせが記載される経路情報１６３とで構成される。経路情報１６３は、パケットが接続元サーバ１６１と接続先サーバ１６２との間で送受信される際に使用されるネットワークスイッチ３００の組み合わせである。
【０１４５】
なお、ネットワーク経路情報の接続元サーバ１６１、接続先サーバ１６２、経路情報１６３に割り当てられる情報は、ＩＰアドレスになる。図１４に示す例の場合、説明の簡略化のために各機器の名称が割り当てられている。
【０１４６】
例として、サーバ１０１がサーバ１０４に通信接続する際の経路情報１６３の決定方法を示す。図１５は、サーバとネットワークスイッチから構成されるネットワーク構成の例を示す説明図である。以下、図１５を参照して経路情報１６３の決定方法を説明する。
【０１４７】
図１５を参照すると、サーバ１０１はルータＡ（以下、ネットワークスイッチ３００をルータＡと呼称する。）と接続されている。同様に、サーバ１０２はルータＣと、サーバ１０３はルータＢと、サーバ１０４はルータＤとそれぞれ接続されている。また、ルータ同士はそれぞれ格子状に接続されている。
【０１４８】
ここで、サーバ１０１がサーバ１０４と通信する際に使用される経路の経路情報１６３は、次のように作成される。ネットワーク経路情報生成部１５０は、サーバ１０１のルーティングテーブルを確認し、サーバ１０１が次に通信接続するルータを特定する。図１５に示すように、次に通信接続するルータはルータＡになる。
【０１４９】
次いで、ネットワーク経路情報生成部１５０は、ルータＡのルーティングテーブルを確認し、ルータＡが次に通信接続するルータを特定する。図１５に示すように、次に通信接続するルータはルータＢになる。
【０１５０】
次の接続先がサーバ１０４になるまで接続先を特定する動作が繰り返されることによって、経路情報１６３が得られる。図１４に示すように、サーバ１０１がサーバ１０４と通信する際に使用される経路の経路情報１６３は、ルータＡ、ルータＢ、ルータＤの組み合わせになる。
【０１５１】
ネットワーク経路情報生成部１５０は、例えば、プログラム制御に従って処理を実行するＣＰＵによって実現される。ネットワーク経路情報記憶部１６０は、例えば、ＲＡＭで実現される。
【０１５２】
以下、本実施形態の同期スケジューリングシステム１０の動作を図１６〜１７を参照して説明する。
【０１５３】
同期管理サーバ１００のネットワーク経路情報生成部１５０によるネットワーク経路情報生成の動作を説明する。図１６は、ネットワーク経路情報生成部１５０によるネットワーク経路情報生成の動作を示すフローチャートである。
【０１５４】
ネットワーク経路情報生成部１５０は、接続元サーバ１６１のルーティングテーブルを確認し、接続元サーバ１６１が接続されているルータのＩＰアドレスを取得する（ステップＳ２０１）。
【０１５５】
ルータのＩＰアドレスが存在する場合（ステップＳ２０２のＹＥＳ）、ネットワーク経路情報生成部１５０は、取得したルータのＩＰアドレスを保有するルータのルーティングテーブルを確認する。次いで、ネットワーク経路情報生成部１５０は、ステップＳ２０２で確認したルータが接続されているルータのＩＰアドレスを取得する（ステップＳ２０３）。
【０１５６】
ルータのＩＰアドレスが存在する場合（ステップＳ２０４のＹＥＳ）、ネットワーク経路情報生成部１５０は、ステップＳ２０３の処理を繰り返す。ルータのＩＰアドレスが存在しない場合（ステップＳ２０２のＮＯ、またはステップＳ２０４のＮＯ）、ネットワーク経路情報生成部１５０は、取得したルータのＩＰアドレスの組み合わせを経路情報１６３にする。
【０１５７】
次いで、ネットワーク経路情報生成部１５０は、ネットワーク経路情報を作成する（ステップＳ２０５）。ネットワーク経路情報を作成した後、ネットワーク経路情報生成部１５０は、処理を終了する。
【０１５８】
接続元サーバ１６１が接続されているルータのＩＰアドレスは、例えば、図８に示すコンピュータ２００に記憶されているルーティングテーブルを参照すると、ゲートウェイアドレスに記載されている「１９２．１６８．１．１」に相当する。
【０１５９】
つまり、「１９２．１６８.１．０」に対応するネットワークに所属するＩＰアドレスや、「１９２．１６８.２．０」に対応するネットワークに所属するＩＰアドレスが接続先のＩＰアドレスになる場合、経由されるルータは存在しない。すなわち、経路情報１６３として何も記憶されない。
【０１６０】
「１９２．１６８.１．０」や「１９２．１６８.２．０」に対応するネットワーク以外のネットワークに所属するＩＰアドレスが接続先のＩＰアドレスになる場合、「１９２．１６８.１．１」のＩＰアドレスを保有するルータが、最初の接続先のルータとして記録される。
【０１６１】
図４に示すルータＡに記憶されているルーティングテーブルを参照すると、ネクストホップに該当するＩＰアドレスが、次にルータＡが通信接続するルータのＩＰアドレスになる。
【０１６２】
例えば、「１９２．１６８.２．０」に対応するネットワークに所属するＩＰアドレスを接続先のＩＰアドレスとした場合、次に通信接続するルータのＩＰアドレスは、「１９２．１６８.２．１」になる。
【０１６３】
なお、図４および図８に示すルーティングテーブルに含まれる経路情報は、図１５に示すネットワーク構成に対応していない。以上の処理により、経路情報１６３が特定される。
【０１６４】
図１７は、第２の実施形態における同期管理サーバ１００の動作を示すフローチャートである。ネットワーク経路情報生成部１５０は、最初に接続先ＩＰアドレス１１３の情報と接続元ＩＰアドレス１１２の情報とを入力して、ネットワーク経路情報を生成する（ステップＳ２１１）。生成方法は、図１６に示すフローチャートの通りである。
【０１６５】
次いで、同期スケジュール送信部１４０は、ネットワーク経路の各ルータ、接続先ＩＰアドレス１１３が示すＩＰアドレスを保有するサーバ、接続元ＩＰアドレス１１２が示すＩＰアドレスを保有するサーバに対して、時刻スロット情報をマルチキャストする（ステップＳ２１２）。
【０１６６】
次いで、同期スケジュール送信部１４０は、設定したタイムアウト時間内にすべてのマルチキャスト先から返信が届いているか確認する（ステップＳ２１３）。タイムアウト時間は、予め設定されている。
【０１６７】
タイムアウト時間の設定方法には、例えば次のような方法がある。単位時間が１秒であり、時刻スロットが４つ存在し、単位時間の開始時刻が０時０分０秒であると仮定する。現在時刻が０時０分０秒５０であり、４番目の時刻スロットが設定されている場合、マルチキャストに対する返信の確認のタイムアウト時間を０．２５秒と定めることができる。
【０１６８】
上記の例では、４番目の時刻スロットの開始時刻が０時０分０秒７５であるため、開始時刻までに同期スケジュールが設定されていなければ、同期通信が開始されない。よって、開始時刻に同期通信を開始させるために、タイムアウト時間を時刻スロットへの割り当て時間にするようなタイムアウトの設定方法が一例として挙げられる。
【０１６９】
タイムアウト時間内にすべて受信すれば（ステップＳ２１４のＹＥＳ）、同期管理サーバ１００は、そのまま処理を終了する。タイムアウト時間内にすべて受信できなければ（ステップＳ２１４のＮＯ）、同期スケジュール送信部１４０は、同期スケジュールに失敗したことをアプリケーションに通知する（ステップＳ２１５）。通知した後、同期管理サーバ１００は、処理を終了する。
【０１７０】
［効果の説明］
次に、本実施形態の効果を説明する。本実施形態では、予め所定の時刻スロットに対応する時間内に通信に使用される経路を特定し、特定した経路におけるルータ、接続先コンピュータ、および接続元コンピュータに対して同期スケジュールを送信し、タイムアウト時間内に同期スケジュール送信に対する返信がなければ、同期スケジューリング失敗とみなすように構成されているため、同期スケジュール設定の際のエラーを軽減できる。第１の実施形態では、同期スケジュールをブロードキャストしているため、同期スケジュールが正しくコンピュータやルータに設定されたかどうかを判断できないが、本実施形態の同期スケジューリングシステム１０を使用する場合、ユーザは、同期スケジュールが正しく設定されたかどうかを判断できる。
【０１７１】
実施形態３．
［構成の説明］
次に、本発明の第３の実施形態を、図面を参照して説明する。図１８は、本発明による同期スケジューリングシステム１０の第３の実施形態の構成例を示すブロック図である。
【０１７２】
図１８を参照すると、本実施形態は、第１の実施形態と比較して、同期管理サーバ１００が同期エラー通知部１７０を含む点と、コンピュータ２００が転送フラグ記憶部４４０と、同期エラー検出部４５０とを含む点が異なる。また、転送フラグ記憶部４４０と同期エラー検出部４５０が含まれるために、割り込み処理部４２０の動作が第１の実施形態とは異なる。
【０１７３】
［動作の説明］
転送フラグ記憶部４４０、同期エラー検出部４５０および同期エラー通知部１７０は、それぞれ概略以下のように動作する。同期エラー検出部４５０は、同期通信中の通信エラーを検出する機能を有する。同期エラー検出部４５０は、通信エラーを検出する際に、後述する転送フラグ４４２を用いる。
【０１７４】
転送フラグ４４２を用いて同期通信のエラーを検出すると、同期エラー検出部４５０は、同期エラー通知部１７０に、同期通信のエラーが発生したことを通知する。
【０１７５】
転送フラグ記憶部４４０は、転送時に使用されているフラグが格納される記憶領域である。図１９は、転送フラグ記憶部４４０に記憶されている転送フラグ情報の例を示す説明図である。
【０１７６】
図１９に示すように、転送フラグ情報は、時刻スロット番号４４１と、転送フラグ４４２とで構成されている。また、転送フラグ４４２は、開始フラグ４４３と、終了フラグ４４４とで構成されている。
【０１７７】
所定の時刻スロットに対応する時間において同期通信が開始されると、転送フラグ４４２の開始フラグ４４３が転送フラグ記憶部４４０に格納される。時刻スロットに対応する時間内に同期通信が終了すると、転送フラグ４４２の終了フラグ４４４が転送フラグ記憶部４４０に格納される。
【０１７８】
開始フラグ４４３と終了フラグ４４４の組が転送フラグ記憶部４４０に格納されることによって、対応する時刻スロットの同期通信は成功したとみなされる。終了フラグ４４４が格納されていない場合、同期通信は失敗したとみなされる。
【０１７９】
図２０は、第３の実施形態における同期通信で転送されるパケットのデータ構造を示す説明図である。図２０に示すように、本実施形態の同期スケジューリングシステム１０における同期通信では、ユーザデータ（ペイロード）に加えて、時刻スロット番号４４１と転送フラグ４４２をヘッダ情報に加えることが求められる。ヘッダ情報に加えられる転送フラグ４４２には、開始フラグ４４３と、転送中フラグと、終了フラグ４４４とが含まれる。
【０１８０】
図２０に示す例において、開始フラグ４４３が「１０」、転送中フラグが「００」、終了フラグ４４４が「１１」とそれぞれ設定されている。
【０１８１】
また、パケット全体の長さ、時刻スロット番号の格納場所の長さ、転送フラグの格納場所の長さが全て固定長に設定される場合、あるパケット中の時刻スロット番号４４１、転送フラグ４４２の位置が一意に特定される。図２０に示す例において、パケット全体の長さが１５００バイト、時刻スロット番号の格納場所の長さが１６ビット、転送フラグの格納場所の長さが２ビットにそれぞれ固定されている。
【０１８２】
なお、パケット中の時刻スロット番号４４１と転送フラグ４４２を取り出すことができれば、図２０に示す例のように固定長のパケットが使用されなくてもよい。
【０１８３】
同期エラー通知部１７０は、ユーザに対して同期通信が失敗したことを通知する機能を有する。同期通信が失敗したことは、同期エラー検出部４５０から送られる。
【０１８４】
同期エラー通知部１７０および同期エラー検出部４５０は、例えば、プログラム制御に従って処理を実行するＣＰＵによって実現される。転送フラグ記憶部４４０は、例えば、ＲＡＭで実現される。
【０１８５】
以下、本実施形態の同期スケジューリングシステム１０の動作を図２１〜２３を参照して説明する。
【０１８６】
変更された割り込み処理部４２０による、同期通信の開始フラグ４４３を記録する動作を説明する。図２１は、第３の実施形態における割り込み処理部４２０の動作を示すフローチャートである。図２１は、同期通信の開始フラグを記録する時の割り込み処理部４２０の動作を示す。
【０１８７】
第１の実施形態との相違点は、ステップＳ３０６で時間管理部１２０に、対応する時刻スロットが存在した場合の割り込み処理部４２０の動作である。時刻スロットが存在した場合（ステップＳ３０６のＹＥＳ）、同期通信が開始されるか、または通信中かのどちらかである。
【０１８８】
同期通信が開始され、接続先であるコンピュータ２００が初めてパケットを受け取る際、パケットには開始フラグ４４３が設定されている。割り込み処理部４２０は、設定された開始フラグ４４３を読み取る（ステップＳ３１０）。
【０１８９】
パケットに開始フラグ４４３が存在する場合（ステップＳ３１１のＹＥＳ）、同期通信が開始される。同期通信が開始される時、同期エラー検出部４５０は、同期通信のエラー検出処理を実行する（ステップＳ３１２）。
【０１９０】
つまり、現時刻に対応する時刻スロットの同期通信が開始される場合、転送フラグ記憶部４４０に記憶されている、現時刻に対応する転送フラグ情報の一つ前の転送フラグ情報には、開始フラグ４４３と終了フラグ４４４が設定されているはずである。
【０１９１】
仮に、前回の転送フラグ情報を参照して終了フラグ４４４が設定されていない場合、前回の同期通信がまだ終了しておらず、かつ次の同期通信が開始されている状態に相当する。すなわち、前回の同期通信は失敗している。前回の同期通信が失敗している場合、同期エラー検出部４５０は、同期エラー通知部１７０に同期通信の失敗を通知する。
【０１９２】
前回の転送フラグ情報を参照して終了フラグ４４４が設定されている場合、同期通信がある時刻スロットに対応する時間内で完了している状態に相当する。同期通信が完了している時、同期エラー検出部４５０は、同期エラー通知部１７０に対して何も通知しない。
【０１９３】
同期エラー検出部４５０は、通知の実行の次に、開始された同期通信に対応する時刻スロット番号４４１と開始フラグ４４３を転送フラグ記憶部４４０に記録する（ステップＳ３１３）。
【０１９４】
開始フラグ４４３が存在しない場合（ステップＳ３１１のＮＯ）、パケットの転送中の状態に相当するので、同期エラー検出部４５０は処理を実行しない。ステップＳ３１４以降のステップにおける処理は、図１１に示すフローチャートのステップＳ１２０以降のステップにおける処理と同様である。
【０１９５】
図２２は、第３の実施形態における割り込み処理部４２０の動作を示すフローチャートである。図２２は、同期通信の終了フラグを記録する時の割り込み処理部４２０の動作を示す。
【０１９６】
第１の実施形態との相違点は、ステップＳ３２６で時間管理部１２０に、対応する時刻スロットが存在した場合の割り込み処理部４２０の動作である。時刻スロットが存在した場合（ステップＳ３２６のＹＥＳ）、同期通信が開始されるか、または通信中かのどちらかである。
【０１９７】
同期通信が終了する際、パケットには終了フラグ４４４が付与される。本実施形態において、割り込み処理部４２０は、パケットに終了フラグ４４４が設定されているかどうかを確認する（ステップＳ３３０）。
【０１９８】
終了フラグ４４４が存在する場合（ステップＳ３３１のＹＥＳ）、同期エラー検出部４５０は、現時刻が対応する時刻スロット番号４４１の転送フラグ情報に終了フラグ４４４を記録する（ステップＳ３３２）。終了フラグ４４４が存在しない場合（ステップＳ３３１のＮＯ）、同期通信が実行中であるとみなし、割り込み処理部４２０は、ステップＳ３３３以降の処理を実行する。
【０１９９】
図２３は、同期エラー検出部４５０による同期エラー検出の動作を示すフローチャートである。同期エラー検出部４５０は、転送フラグ記憶部４４０を確認し、現時刻に対応する時刻スロット番号４４１の前回の時刻スロット番号に対応する転送フラグ情報を取得する（ステップＳ３４１）。
【０２００】
次いで、取得した前回の転送フラグ情報に終了フラグ４４４が記録されているかどうかを確認する（ステップＳ３４２）。
【０２０１】
終了フラグ４４４が存在する場合（ステップＳ３４３のＹＥＳ）、同期通信が時刻スロットに対応する時間内に終了しているので、同期エラー検出部４５０は、そのまま同期エラー検出の動作を終了する。
【０２０２】
終了フラグ４４４が存在しない場合（ステップＳ３４３のＮＯ）、同期通信が時刻スロットに対応する時間内に終了していないので、同期エラー検出部４５０は、同期管理サーバ１００に同期失敗を通知する（ステップＳ３４４）。同期失敗を通知した後、同期エラー検出部４５０は、同期エラー検出の動作を終了する。
【０２０３】
［効果の説明］
次に、本実施形態の効果を説明する。本実施形態では、同期通信の際に開始フラグと終了フラグを使用し、同期通信に対応する時刻スロット番号に対応する転送フラグ情報に終了フラグが設定される前に次の時刻スロットに対応する同期通信の開始フラグが到着したら、前回の時刻スロットに対応する同期通信が時間内に終了しなかったとみなすように構成されている。よって、本実施形態の同期スケジューリングシステム１０を使用する場合、ユーザは、同期通信のエラーを検出できる。
【０２０４】
以上、本発明のより好適な実施形態を説明したが、本発明は上記実施形態に限定されない。
【０２０５】
また、コンピュータ２００は、上記の通り、ネットワークプロトコル処理を行う通常の通信処理も実施できる。また、コンピュータ２００が送信処理のみを行う場合、コンピュータ接続管理部４１０に記憶されるコンピュータ接続管理情報は、時刻スロット番号４１１と、インタフェースの識別子とで構成されてもよい。
【０２０６】
次に、本発明の概要を説明する。図２４は、本発明による中継装置の概要を示すブロック図である。本発明による中継装置３０は、パケットを転送する中継装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号（例えば、時刻スロット番号３６１）と、中継装置３０における出力ポートの番号（例えば、第２ポート番号３６３）とで構成された接続情報を記憶する接続情報記憶部３１（例えば、ネットワーク接続管理部３６０）と、接続情報記憶部３１に現在時刻が属する時刻スロットに該当する接続情報が存在するか否かを判断する接続情報処理部３２（例えば、タイマー実行部３４０）と、接続情報処理部３２が、接続情報記憶部３１に該当する接続情報が存在すると判断した場合に、該当する接続情報における出力ポートの番号が示す出力ポートに、パケットを転送するパケット転送部３３とを有する。
【０２０７】
そのような構成により、中継装置は、ネットワークプロトコル処理を行わない同期通信に寄与できる。
【０２０８】
また、接続情報は、中継装置３０における入力ポートの番号（例えば、第１ポート番号３６２）をさらに含み、パケット転送部３３は、接続情報処理部３２が該当する接続情報が存在すると判断した場合に、該当する接続情報における入力ポートの番号が、転送するパケットが中継装置３０に入力されたポートの番号と一致するかを確認し、一致する場合に、パケットを、該当する接続情報における出力ポートの番号が示す出力ポートに転送してもよい。
【０２０９】
また、中継装置３０は、中継装置３０と通信可能な管理装置から時刻スロットを識別する番号と、時刻スロットを識別する番号に対応する接続元情報と接続先情報を受信し、当該接続元情報と当該接続先情報に基づいて、中継装置３０における入力ポートのポート番号と出力ポートのポート番号を求めてもよい。
【０２１０】
図２５は、本発明による通信装置の概要を示すブロック図である。本発明による通信装置４０は、パケット通信を行う通信装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号（例えば、時刻スロット番号４１１）と、時刻スロットを識別する番号に対応するインタフェース（例えば、インタフェース４１２）の識別子とを含む接続管理情報を記憶する接続管理情報記憶部４１（例えば、コンピュータ接続管理部４１０）と、接続管理情報記憶部４１に、現在時刻が属する時刻スロットに該当する接続管理情報が存在するか否かを判断する通信処理部４２（例えば、割り込み処理部４２０）とを備え、通信処理部４２が該当する接続管理情報が存在すると判断した場合に、該当する接続管理情報に含まれるインタフェースの識別子が示すインタフェースにパケットを送出する。
【０２１１】
そのような構成により、通信装置は、ネットワークプロトコル処理を行わない同期通信に寄与できる。
【０２１２】
図２６は、本発明による通信装置の他の概要を示すブロック図である。本発明による通信装置５０は、パケット通信を行う通信装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号（例えば、時刻スロット番号４１１）と、時刻スロットを識別する番号に対応するメモリマップアドレス（例えば、メモリマップアドレス４１４）とを含む接続管理情報を記憶する接続管理情報記憶部５１（例えば、コンピュータ接続管理部４１０）と、接続管理情報記憶部５１に、現在時刻が属する時刻スロットに該当する接続管理情報が存在するか否かを判断する通信処理部５２（例えば、割り込み処理部４２０）とを備え、通信処理部５２が該当する接続管理情報が存在すると判断した場合に、該当する接続管理情報に含まれるメモリマップアドレスが示すバッファ領域に、受信したパケットをコピーする。
【０２１３】
そのような構成により、通信装置は、ネットワークプロトコル処理を行わない同期通信に寄与できる。
【０２１４】
また、通信装置５０は、同期エラー検出部（例えば、同期エラー検出部４５０）をさらに備え、通信処理部５２は、パケットが受信される際に、パケットに開始フラグ（例えば、開始フラグ４４３）が含まれているか否か確認し、開始フラグが含まれていた場合、同期エラー検出処理を同期エラー検出部に実行させてもよい。
【０２１５】
図２７は、本発明による管理装置の概要を示すブロック図である。本発明による管理装置６０は、通信装置と、通信装置間のパケットを転送する中継装置と通信可能な管理装置であって、少なくとも所定の時刻の間隔で区切られた区間である時刻スロットを識別する番号（例えば、時刻スロット番号１１１）を含む時間管理情報を記憶する時間管理情報記憶部６１（例えば、時間管理部１２０）と、通信装置から、接続元情報（例えば、接続元ＩＰアドレス１１２）と接続先情報（例えば、接続先ＩＰアドレス１１３）とを含むパケットの送信要求を受け付け、接続元情報および接続先情報が未割当の時間管理情報に、受け付けた接続元情報および接続先情報を割り当てる同期スケジュール設定部６２（例えば、同期スケジュール設定部１３０）と、同期スケジュール設定部６２に割当済みにされた時間管理情報を、通信装置及び中継装置に送信する同期スケジュール送信部６３（例えば、同期スケジュール送信部１４０）とを備える。
【０２１６】
そのような構成により、管理装置は、ネットワークプロトコル処理を行わない同期通信に寄与できる。
【０２１７】
また、管理装置６０は、パケットの通信経路情報を記憶する経路情報記憶部（例えば、ネットワーク経路情報記憶部１６０）を備え、同期スケジュール送信部６３は、時間管理情報を送信する際に、時間管理情報に対応する通信経路情報に含まれる装置に時間管理情報を送信してもよい。
【０２１８】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０２１９】
この出願は、２０１４年６月１８日に出願された日本特許出願２０１４−１２５６６９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【０２２０】
本発明は、リアルタイム通信が求められる電話交換機サーバ間の通信や、株価配信ネットワークの用途に好適に適用される。また、本発明は、遠隔手術に用いられるリアルタイム通信の用途にも好適に適用される。
【符号の説明】
【０２２１】
Ａ〜Ｄ  ルータ
１  並列計算機
２  ＰＥ通信網
３  ＰＥ
４  不活性化機能
５  条件設定機能
６  割り付け機能
７  割り込み生成機能
８  活性化機能
１０  同期スケジューリングシステム
３０  中継装置
３１  接続情報記憶部
３２  接続情報処理部
３３  パケット転送部
４０、５０  通信装置
４１、５１  接続管理情報記憶部
４２、５２  通信処理部
６０  管理装置
６１  時間管理情報記憶部
６２  同期スケジュール設定部
６３  同期スケジュール送信部
１００  同期管理サーバ
１０１〜１０４  サーバ
１１０  時刻同期部
１１１  時刻スロット番号
１１２  接続元ＩＰアドレス
１１３  接続先ＩＰアドレス
１２０  時間管理部
１３０  同期スケジュール設定部
１４０  同期スケジュール送信部
１５０  ネットワーク経路情報生成部
１６０  ネットワーク経路情報記憶部
１６１  接続元サーバ
１６２  接続先サーバ
１６３  経路情報
１７０  同期エラー通知部
２００  コンピュータ
２１０  時刻同期部
２２０  アプリケーション
３００  ネットワークスイッチ
３１０  時刻同期部
３２０  経路変換部
３３０  同期スケジュール受信部
３４０  タイマー実行部
３５０  物理ソケット間接続部
３６０  ネットワーク接続管理部
３６１  時刻スロット番号
３６２  第１ポート番号
３６３  第２ポート番号
４００  ＯＳ
４１０  コンピュータ接続管理部
４１１  時刻スロット番号
４１２  インタフェース
４１３  割り込み番号
４１４  メモリマップアドレス
４２０  割り込み処理部
４３０  同期スケジュール受信部
４４０  転送フラグ記憶部
４４１  時刻スロット番号
４４２  転送フラグ
４４３  開始フラグ
４４４  終了フラグ
４５０  同期エラー検出部
５００、６００  ネットワーク
【図１】
2015194072.tif 000003
【図２】
2015194072.tif 000004
【図３】
2015194072.tif 000005
【図４】
2015194072.tif 000006
【図５】
2015194072.tif 000007
【図６】
2015194072.tif 000008
【図７】
2015194072.tif 000009
【図８】
2015194072.tif 000010
【図９】
2015194072.tif 000011
【図１０】
2015194072.tif 000012
【図１１】
2015194072.tif 000013
【図１２】
2015194072.tif 000014
【図１３】
2015194072.tif 000015
【図１４】
2015194072.tif 000016
【図１５】
2015194072.tif 000017
【図１６】
2015194072.tif 000018
【図１７】
2015194072.tif 000019
【図１８】
2015194072.tif 000020
【図１９】
2015194072.tif 000021
【図２０】
2015194072.tif 000022
【図２１】
2015194072.tif 000023
【図２２】
2015194072.tif 000024
【図２３】
2015194072.tif 000025
【図２４】
2015194072.tif 000026
【図２５】
2015194072.tif 000027
【図２６】
2015194072.tif 000028
【図２７】
2015194072.tif 000029
【図２８】
2015194072.tif 000030
【国際調査報告】
2015194072.tif 000031
2015194072.tif 000032
2015194072.tif 000033