(57)【要約】      （修正有）【課題】単一の「ＰＴＰ処理タスクで最大限度のＶＬＡＮ処理を実行可能なＰＴＰの時刻同期方法を提供する。【解決手段】仮想ＬＡＮのＰＴＰ時刻同期の際、マスターがＰＴＰ処理に関連するパケットを受信し、該パケットの所属する仮想ＬＡＮの透過処理が必要であれば仮想ＬＡＮが所属する受信ポート以外の全ポートに前記パケットを転送する。このパケットが「ａｎｎｏｕｎｃｅメッセージ」であればマスター選出処理のマスター選出の条件に仮想ＬＡＮの情報を加える。このメッセージの情報が自身のマスター情報よりも優位であれば、マスターはメッセージを受信したポートの所属する仮想ＬＡＮの透過処理を有効に設定し、仮想ＬＡＮに所属する全ポートにメッセージのパケットを転送する。その後メッセージを受信したポートの所属する仮想ＬＡＮと全ポートの透過処理が有効となればマスターがスレーブに遷移する。【選択図】図３
2018174445.tif 000002
【特許請求の範囲】
【請求項１】
仮想ＬＡＮにおいてＰＴＰ（ＰｒｅｃｉｓｉｏｎＴｉｍｅ  Ｐｒｏｔｏｃｏｌ）によりスレーブをマスターに時刻同期させる方法であって、
前記マスターにおいて前記ＰＴＰの処理に関連するパケットを受信し、かつ該パケットの所属する仮想ＬＡＮについて透過処理が必要であれば、該仮想ＬＡＮが所属する受信ポート以外の全ポートに前記パケットを転送するパケット転送ステップと、
前記パケットが「ａｎｎｏｕｎｃｅメッセージ」のときに実行されるマスター選出の条件に前記仮想ＬＡＮの情報を加えるマスター選出処理ステップと、
前記「ａｎｎｏｕｎｃｅメッセージ」の情報が自身のマスター情報よりも優位であれば、前記マスターにおいて前記「ａｎｎｏｕｎｃｅ」メッセージを受信したポートの所属する仮想ＬＡＮについて透過処理を有効に設定し、該仮想ＬＡＮに所属する全ポートに前記「ａｎｎｏｕｎｃｅメッセージ」のパケットを転送するメッセージ転送ステップと、
前記メッセージ転送ステップ後に前記「ａｎｎｏｕｎｃｅメッセージ」を受信したポートの所属する仮想ＬＡＮと全ポートとについて透過処理が有効となれば、前記マスターがスレーブに遷移し、前記マスター選出処理で選出された新たなマスターと時刻同期を実行するマスター状態遷移ステップと、
を有することを特徴とする仮想ＬＡＮの時刻同期方法。
【請求項２】
前記パケット転送ステップのパケットが「ａｎｎｏｕｎｃｅメッセージ」でなければ、前記マスターにおいて登録タイマーをチェックするステップと、
前記チェックの結果、タイマー種別が「ａｎｎｏｕｎｃｅメッセージ」／「ｓｙｎｃメッセージ」の送信であれば、マスター前記において透過処理の無効な仮想ＬＡＮに所属する全ポートへ「ａｎｎｏｕｎｃｅメッセージ」／「ｓｙｎｃメッセージ」のパケットを送信するステップと、
前記チェックの結果、タイマー種別が「ａｎｎｏｕｎｃｅメッセージ」の受信であれば、前記マスターにおいて対象のＶＬＡＮの透過処理を無効にするステップと、
をさらに有することを特徴とする請求項１記載の仮想ＬＡＮの時刻同期方法。
【請求項３】
仮想ＬＡＮにおいてＰＴＰ（ＰｒｅｃｉｓｉｏｎＴｉｍｅ  Ｐｒｏｔｏｃｏｌ）によりスレーブをマスターに時刻同期させる方法であって、
前記スレーブにおいて前記ＰＴＰの処理に関連するパケットを受信し、かつ該パケットについて透過処理する必要があれば、前記パケットを受信したポートのＶＬＡＮに所属する受信ポート以外の全ポートに前記パケットを転送するスレーブ側のパケット転送ステップと、
前記パケットが「ａｎｎｏｕｎｃｅメッセージ」のときに実行されるマスター選出の条件に前記仮想ＬＡＮの情報を加えるマスター選出処理ステップと、
前記パケットの送信元が前記マスター側であれば、前記スレーブにおいて「ａｎｎｏｕｎｃｅメッセージ」についての受信タイムアウト用のタイマーを再登録する第１のタイマー再登録ステップと、
前記パケットの送信元が前記マスターでなければ、前記スレーブにおいてマスター選出処理の結果、新たなマスターが選出されているか否かを確認し、新たなマスターが選出されているときは前記受信タイムアウト用のタイマーを再登録する第２のタイマー再登録ステップと、
を有することを特徴とする仮想ＬＡＮの時刻同期方法。
【請求項４】
前記パケットが「ｓｙｎｃメッセージ」であれば、前記スレーブにおいて前記パケットの送信元が前記マスターであるか否かを確信し、送信元が前記マスターの場合は「ｄｅｌａｙ  ｒｅｑｕｅｓｔメッセージ」を返信するステップを、
さらに有することを特徴とする請求項３記載の仮想ＬＡＮの時刻同期方法。
【請求項５】
前記第２のタイマー再登録ステップ後、スレーブにおいて前記受信タイムアウト用のタイマーがタイムアウトか否かを確認するステップと、
前記確認の結果、タイムアウトの場合にタイマー種別が「ａｎｎｏｕｎｃｅメッセージ」の受信であれば、前記スレーブにおいて前記マスターの情報をクリアしてマスター判定状態に遷移するステップと、
を有することを特徴とする請求項３または４に記載の仮想ＬＡＮの時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ：以下、ＶＬＡＮとする。）において、ＩＥＥＥ１５８８規格のＰＴＰ（ＰｒｅｃｉｓｉｏｎＴｉｍｅ  Ｐｒｏｔｏｃｏｌ）の時刻同期方法に関する。
【背景技術】
【０００２】
周知のようにパーソナルコンピュータ（いわゆるパソコン）などの情報処理装置やインターネットの普及により、多くの企業や大学においてイーサネット（登録商標）方式の社内ネットワーク・学内ネットワークが構築され、種々の業務に利用されている。
【０００３】
特に大企業においては、社内ネットワークが大規模なため、ネットワークを部署毎やプロジェクト毎にグループ化が可能なＶＬＡＮの技術が広く利用されている。このＶＬＡＮは、物理的なケーブル配線や情報処理装置の設置場所などに依存せずにＬＡＮ上の情報処理装置を仮想的にグループ化する技術に関し、ＩＥＥＥ８０２．１Ｑにおいて標準化されている。
【０００４】
現在では、ＶＬＡＮ機能を備えたスイッチングハブが数多く市販され、ＶＬＡＮ機能を使えば、スイッチングハブは１台のままでポート毎に論理的にネットワークを分割可能となる。
【０００５】
したがって、ＶＬＡＮ機能によれば、同じスイッチングハブに接続されている情報処理装置を異なるグループに分類し、異なるスイッチングに接続されている情報処理装置を同じグループに分類することができる。このとき情報処理装置群で構成されたネットワークシステムを管理するためには、情報処理装置同士の時刻を同期させておくことが重要になる。
【０００６】
この点につき従来の時刻同期用プロトコル、即ちＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）は、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）環境でも機能するように作られ、ミリ秒ＲＭＳの同期精度のために作られた。このＮＴＰを使用した時刻同期については、例えば特許文献１が公知となっている。
【０００７】
ところが、従来のＮＴＰは、高精度な時刻同期（マイクロ秒ＲＭＳ以下のタイプスタンプ精度）には対応できず、厳密な時刻管理が難しい。このため、より時刻精度の高い時刻同期プロトコルが求められ、非特許文献１のＰＴＰ（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ：高精度時刻プロトコル）が開発された。
【０００８】
ＰＴＰは、ネットワーク全体の時刻を同期させるために使用される標準プロトコルであり、ＰＴＰの仕様はＩＥＥE１５８８として規定されている。ここではＧＭ（Ｇｒａｎｄ  ｍａｓｔｅｒ）が高精度な時刻の配信を実行し、スレーブが配信された時刻を受け取る。
【０００９】
また、ＰＴＰでは、ネットワークインターフェースのＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ：メディアアクセス制御）やＰＨＹ（ＰＨＹｓｉｃａｌ  Ｌａｙｅｒ  Ｃｈｉｐ）に実装されたハードウェアタイムスタンプ機能を使って高精度な時刻同期（マイクロ秒ＲＭＳ以下のタイプスタンプ精度）を実現している。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１３ −１１８５０２
【非特許文献】
【００１１】
【非特許文献１】“Ｅｎｄｒｕｍ  ＩＥＥＥ  １５８８  ＰＴＰ  グランドマスタークロック”，［ｏｎｌｉｎｅ］，平成２９年２月１日検索，インターネット＜ＵＲＬ：http://www.shoshin.co.jp/c/endrum/1588ptp.html＞
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ＩＥＥＥ１５８８の規格による高精度時刻同期の機能（以下、ＰＴＰ機能とする。）を実行するスイッチングハブ（以下、ＰＴＰハブとする。）では、ＶＬＡＮ機能との同時使用が求められているものの、ＰＴＰ機能の仕様においてＶＬＡＮ機能が実装されることが考慮されていない。
【００１３】
図９に基づき詳細を説明する。ここで図９中の１０は、Ｌ２レベルのＰＴＰハブを示している。このＰＴＰハブ１０は、矢印Ｐに示すように、ＶＬＡＮ１〜３毎にＰＴＰタスク１２を生成し、内部のデータをＶＬＡＮ１〜３毎に保存している。
【００１４】
このＰＴＰハブによれば、ＶＬＡＮ処理の対応は可能なものの、これを動作させるためにはＶＬＡＮ毎に使用するＣＰＵ使用量やメモリ（ＲＡＭ）などの資源（リソース）がＶＬＡＮ数の２倍の量が必要となってしまう。このようにＰＴＰ機能のタスク１つあたりで相当のハードウェア資源を使用するため、ＶＬＡＮ毎にＰＴＰタスクを生成する方法は、一つの機能で使用できる資源（リソース）が限定される組み込み系の機器にとっては現実的ではない。
【００１５】
本発明は、このような従来の問題を解決するためになされ、単一のＰＴＰ処理タスクで最大限度のＶＬＡＮ処理を実行可能なＰＴＰの時刻同期方法を提供することを解決課題としている。
【課題を解決するための手段】
【００１６】
（１）本発明は、仮想ＬＡＮにおいてＰＴＰ（ＰｒｅｃｉｓｉｏｎＴｉｍｅ  Ｐｒｏｔｏｃｏｌ）によりスレーブをマスターに時刻同期させる方法に関する。この発明の一態様は、以下のステップＡ〜Ｄを有する。
Ａ：前記マスターにおいて前記ＰＴＰの処理に関連するパケットを受信し、かつ該パケットの所属する仮想ＬＡＮについて透過処理が必要であれば、該仮想ＬＡＮが所属する受信ポート以外の全ポートに前記パケットを転送するパケット転送ステップ
Ｂ：前記パケットが「ａｎｎｏｕｎｃｅメッセージ」のときに実行されるマスター選出の条件に前記仮想ＬＡＮの情報を加えるマスター選出処理ステップ
Ｃ：前記「ａｎｎｏｕｎｃｅメッセージ」の情報が自身のマスター情報よりも優位であれば、前記マスターにおいて前記「ａｎｎｏｕｎｃｅ」メッセージを受信したポートの所属する仮想ＬＡＮについて透過処理を有効に設定し、該仮想ＬＡＮに所属する全ポートに前記「ａｎｎｏｕｎｃｅメッセージ」のパケットを転送するメッセージ転送ステップ
Ｄ：前記メッセージ転送ステップ後に前記「ａｎｎｏｕｎｃｅメッセージ」を受信したポートの所属する仮想ＬＡＮと全ポートとについて透過処理が有効となれば、前記マスターがスレーブに遷移し、前記マスター選出処理で選出された新たなマスターと時刻同期を実行するマスター状態遷移ステップ
（２）本発明の他の態様は、以下のステップ（ａ）〜（ｄ）を有する。
ａ：前記スレーブにおいて前記ＰＴＰの処理に関連するパケットを受信し、かつ該パケットについて透過処理する必要があれば、前記パケットを受信したポートのＶＬＡＮに所属する受信ポート以外の全ポートに前記パケットを転送するスレーブ側のパケット転送ステップ
ｂ：前記パケットが「ａｎｎｏｕｎｃｅメッセージ」のときに実行されるマスター選出の条件に前記仮想ＬＡＮの情報を加えるマスター選出処理ステップ
ｃ：前記パケットの送信元が前記マスター側であれば、前記スレーブにおいて「ａｎｎｏｕｎｃｅメッセージ」についての受信タイムアウト用のタイマーを再登録する第１のタイマー再登録ステップ
ｄ：前記パケットの送信元が前記マスターでなければ、前記スレーブにおいてマスター選出処理の結果、新たなマスターが選出されているか否かを確認し、新たなマスターが選出されているときは前記受信タイムアウト用のタイマーを再登録する第２のタイマー再登録ステップ
【発明の効果】
【００１７】
本発明によれば、単一のＰＴＰ処理タスクで最大限度のＶＬＡＮ処理を実行可能なＰＴＰの時刻同期方法を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る仮想ＬＡＮの時刻同期方法に使用するＰＴＰハブの構成図。
【図２】同  ＰＴＰハブの全体的なＶＬＡＮを示すフロー図。
【図３】図２中のマスター処理の詳細を示すフロー図。
【図４】図２中のスレーブ処理の詳細を示すフロー図。
【図５】実施例１の冗長化接続図。
【図６】実施例２の単一ＶＬＡＮ同士の接続図。
【図７】実施例３の複数ＶＬＡＮ同士の接続図。
【図８】実施例４の複数ＶＬＡＮ接続の中継図。
【図９】従来のＰＴＰハブの構成図。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態に係る仮想ＬＡＮの時刻同期方法を説明する。この仮想ＬＡＮ（ＶＬＡＮ）の時刻同期方法は、複数の図１に示すＰＴＰハブ（Ｌ２レベル／Ｌ３レベル）２０により実行される。このＰＴＰハブ２０は、ＶＬＡＮ機能を備え、イーサネット方式の社内・学内ネットワークの構築などに用いられ、情報処理装置（パーソナルコンピュータなど）が接続される。
【００２０】
このＰＴＰハブ２０によれば、ＬＡＮ上の情報処理装置をＶＬＡＮ機能により仮想的にグループ化することができ、情報処理装置同士の時刻がＰＴＰ機能により同期される。このときＰＴＰハブ２０は、矢印Ｑに示すように、単一のＰＴＰ処理タスク２１にてＶＬＡＮ１〜３を処理することができる。
【００２１】
≪全体処理≫
図２に基づき前記仮想ＬＡＮの時刻同期方法の全体処理（処理ステップ）を説明する。ここではＰＴＰハブ２０は、自動でマスター（時刻同期元）とスレーブ（時刻同期先）とが切り替え可能であり、スレーブとマスターとでは動作が相違する。
【００２２】
すなわち、ＬＡＮ上にＰＴＰハブ２０が複数台接続され、マスター選出（ｂｅｓｔ  ｍａｓｔｅｒ  ｃｌｏｃｋ：ｂｍｃ）処理により一台のＰＴＰハブ２０がマスターに選出される。一方、マスター以外のＰＴＰハブは、スレーブとしてマスターから同期情報（時刻情報）を取得し、該同期情報に基づきマスターと時刻同期する。
【００２３】
したがって、前記仮想ＬＡＮの時刻同期方法によれば、まずＰＴＰ処理タスク２１は、ＰＴＰハブ２０がマスター状態か否かを確認する（Ｓ０１）。つぎにＰＴＰ処理タスク２１は、Ｓ０１の確認の結果、ＰＴＰハブ２０がマスター状態であればマスター状態処理を実行する（Ｓ０２）一方、ＰＴＰハブ２０がマスター状態でなければスレーブ状態か否かを確認する（Ｓ０３）。
【００２４】
また、ＰＴＰ処理タスク２１は、Ｓ０２の確認の結果、ＰＴＰハブ２０がスレーブ状態であればスレーブ状態処理を実行する（Ｓ０４）を実行する一方、ＰＴＰハブ２０がスレーブ状態でなければその他状態処理（例えば時刻同期関係に無い場合の処理など）を実行する（Ｓ０５）。
【００２５】
ただし、前記仮想ＬＡＮの時刻同期方法では、ＰＴＰ処理タスク２１の実行するＳ０２のマスター状態処理（マスター側の処理）と、Ｓ０４のスレーブ状態処理（スレーブ側の処理）とにＶＬＡＮ対応処理が追加されている。
【００２６】
以下では、マスターとなるＰＴＰハブ２０をマスター２０ａと示し、スレーブとなるＰＴＰハブ２０をスレーブ２０ｂと示すこととする。また、Ｓ０２のマスター状態処理とＳ０４のスレーブ状態処理とに大別し、それぞれの処理に追加されたＶＬＡＮ対応処理を中心に説明する。
【００２７】
≪マスター状態処理（Ｓ０２）≫
図３に基づきＳ０２のマスター状態処理（マスター側の処理）を説明する。ここではマスターとなるＰＴＰハブ（以下、マスターと省略する。）２０の基本的なマスター状態処理Ａ１と、タイマー処理Ｂ１とに大別して説明する。
【００２８】
（１）マスター状態処理Ａ１
Ｓ１１〜Ｓ１３：マスター２０ａは、受信したパケット（以下、受信パケットとする。）がＰＴＰの時刻処理に関連するか否か、即ちＩＥＥＥ１５８８に規定するＰＴＰパケットが否かを判断する（Ｓ１１）。
【００２９】
この判断の結果、ＰＴＰパケットでなければマスター状態処理Ａ１は開始されない（Ｓ１２）一方、ＰＴＰパケットであればＳ１３に進みマスター状態処理Ａ１を開始する。
【００３０】
Ｓ１３：マスター２０ａは、受信パケットの所属するＶＬＡＮについて、透過処理（ｔｒａｎｓｐａｒｅｎｔ）をする必要があるか否かを判断する（Ｓ１３）。その結果、必要がなければそのままＳ１５に進む一方、必要があればＶＬＡＮ単位の透過情報Ｄ１に基づき対象のＶＬＡＮが所属する受信ポート以外の全ポートに受信パケットを転送し（Ｓ１４）、Ｓ１５に進む。
【００３１】
Ｓ１５〜Ｓ１７：マスター２０ａは、受信パケットの種別が「ａｎｎｏｕｎｃｅメッセージ」であるか否かを確認し（Ｓ１５）、「Ａｎｎｏｕｎｃｅメッセージ」でなければ従来と同様のＰＴＰ時刻同期を実行する（Ｓ１６）。
【００３２】
すなわち、マスター２０ａは、スレーブ２０ｂとの間において「Ｓｙｎｃメッセージ（同期メッセージ）」，「Ｄｅｌａｙ＿ｒｅｑｕｅｓｔメッセージ（遅延要求メッセージ）」，「Ｄｅｌａｙ＿ｒｅｓｐｏｎｓメッセージ（遅延応答メッセージ）」を交換し、タイマー処理Ｂ１に移行する。
【００３３】
一方、受信パケットの種別が「ａｎｎｏｕｎｃｅメッセージ」であれば、マスター選出処理が実行され（Ｓ１７）、「ｂｍｃ情報」Ｄ３を出力する。このときマスター選出の条件（ｂｍｃアルゴリズム）にＶＬＡＮ情報Ｄ２を加える。例えばポートベースＶＬＡＮであれば、接続ポート番号などのＶＬＡＮグループを識別するための情報を付加することができる。これにより同一のＰＴＰハブからの「ａｎｎｏｕｎｃｅメッセージ」の情報であっても別情報として扱えることが可能となる。
【００３４】
Ｓ１８〜Ｓ２２：新たなマスターが検出されたか否かを確認する（Ｓ１８）。すなわち、「ｂｍｃ情報」Ｄ３の情報を参照して受信パケットに含まれる「ａｎｎｏｕｎｃｅメッセージ」の情報が、自身のマスター情報より優位であるか否かを確認する。
【００３５】
この確認の結果、自身のマスター情報より優位であれば、ＶＬＡＮ情報Ｄ２を参照して「ａｎｎｏｕｎｃｅ情報」を含む受信パケットの受信ポートが所属するＶＬＡＮを判定する（Ｓ１９）。
【００３６】
ここで判定されたＶＬＡＮに所属する全ポートについて透過処理を有効に設定し、該ＶＬＡＮに所属する全ポートに「ａｎｎｏｕｎｃｅメッセージ」を含む受信パケットを転送する（Ｓ２０）。なお、Ｓ１８にて自身のマスター情報より優位な情報が確認できなければ、タイマー処理Ｂ１に進む。
【００３７】
Ｓ２１，Ｓ２２：Ｓ２０の処理後、Ｓ１９で透過処理を有効設定されたポートが１つでも所属するＶＬＡＮの全ポートについて透過処理が有効となったか否かを判定する（Ｓ２１）。
【００３８】
この判定の結果、前記全ポートについて透過処理が有効となった場合には、タイマー情報Ｄ４から「ａｎｎｏｕｎｃｅメッセージ」に関連するタイマー削除して（Ｓ２２）、既存のスレーブ状態処理Ａ２へ移行し（Ｓ２３）、マスター状態処理Ａ１を終了する。
【００３９】
一方、前記全ポートについて透過処理が有効となっていない場合には、対象のＶＬＡＮの「ａｎｎｏｕｎｃｅメッセージ」受信タイムアウト用のタイマーを再登録し（Ｓ２４）、タイマー処理Ｂ１に移行する。
【００４０】
（２）タイマー処理Ｂ１
Ｓ３０〜Ｓ３２：マスター２０ａは、タイマー情報Ｄ４に基づき登録タイマーがタイムアウト状態か否かを確認し（Ｓ３０）、タイムアウト状態であればタイマー処理Ｂ１を終了する。一方、登録タイマーがタイムアウト状態でなければ、タイマー種別が「ａｎｎｏｕｎｃｅメッセージ」の送信か否かを確認する（Ｓ３１）。
【００４１】
この確認の結果、タイマー種別が「ａｎｎｏｕｎｃｅメッセージ」の送信であれば、透過対象ＶＬＡＮ以外のポート、即ち透過処理が無効なＶＬＡＮの所属する全ポート（Ｓ２４の全ポート）に「ａｎｎｏｕｎｃｅメッセージ」のパケットを送信する（Ｓ３２）。なお、タイマー種別が「ａｎｎｏｕｎｃｅメッセージ」の送信でなければＳ３３に進む。
【００４２】
Ｓ３３：マスター２０ａは、タイマー種別が「ｓｙｎｃメッセージ」の送信か否かを確認する。この確認の結果、タイマー種別が「ｓｙｎｃメッセージ」の送信であれば、透過対象ＶＬＡＮ以外のポート、即ち透過処理が無効なＶＬＡＮの所属する全ポート（Ｓ２４の全ポート）に「ｓｙｎｃメッセージ」のパケットを送信する（Ｓ３２）。なお、タイマー種別が「ｓｙｎｃメッセージ」の送信でなければＳ３４に進む。
【００４３】
Ｓ３４，Ｓ３５：マスター２０ａは、タイマー種別が「ａｎｎｏｕｎｃｅメッセージ」の受信か否かを確認する（Ｓ３４）。この確認の結果、タイマー種別が「ａｎｎｏｕｎｃｅメッセージ」の受信であれば、対象のＶＬＡＮの透過処理を無効として（Ｓ３５）、タイマー処理を終了する。一方、タイマー種別が「ａｎｎｏｕｎｃｅメッセージ」の受信でなければ、従来のＰＴＰ処理を実行する（Ｓ１６）。
【００４４】
≪スレーブ状態処理（Ｓ０４）≫
図４に基づきＳ０４のスレーブ状態処理（スレーブ側の処理）を説明する。ここではスレーブとなるＰＴＰハブ（以下、マスターと省略する。）２０の基本的なスレーブ状態処理Ａ２と、タイマー処理Ｂ２とに大別して説明する。
【００４５】
（１）スレーブ状態処理Ａ２
Ｓ４１〜Ｓ４３：スレーブ２０ｂは、受信したパケット（以下、受信パケットとする。）がＰＴＰの時刻処理に関連するか否か、即ちＩＥＥＥ１５８８に規定するＰＴＰパケットが否かを判断する（Ｓ４１）。
【００４６】
この判断の結果、ＰＴＰパケットでなければスレーブ状態処理Ａ２が開始されない（Ｓ４２）一方、ＰＴＰパケットであればＳ４３に進んでスレーブ状態処理Ａ２を開始する。
【００４７】
Ｓ４３：スレーブ２０ｂは、透過処理する必要性を判断し（Ｓ４３）、必要があればＶＬＡＮ情報Ｄ２を参照して透過処理後（Ｓ４４）、受信パケットを受信したポートのＶＬＡＮに所属する受信パケット以外の全ポートに受信パケットを転送し（Ｓ４５）、Ｓ４６に進む。なお、透過処理の必要がなければＳ４５の転送をすることなく、Ｓ４６に進む。
【００４８】
Ｓ４６：スレーブ２０ｂは、受信パケットの種別が「ａｎｎｏｕｎｃｅメッセージ」であるか否かを確認し、「ａｎｎｏｕｎｃｅメッセージ」でなければＳ４７に進む一方、「ａｎｎｏｕｎｃｅメッセージ」であればＳ５１に進む。
【００４９】
Ｓ４７〜Ｓ５０：スレーブ２０ｂは、受信パケットがマスター２０ａを送信元とする「ｓｙｎｃメッセージ」であるか否かを確認する（Ｓ４７）。この確認の結果、マスター２０ａからの「ｓｙｎｃメッセージ」でなければ、従来のＰＴＰ処理を実行する（Ｓ５０）。
【００５０】
一方、マスター２０ａからの「ｓｙｎｃメッセージ」であれば、スレーブ２０ｂはｓｙｎｃ処理を実行する（Ｓ４８）。ここではスレーブ２０ｂは、受信した「ｓｙｎｃメッセージ」の受信時刻ｔ１を記憶し、該「ｓｙｎｃメッセージ」の送信時刻ｔ２を抽出して記憶する。
【００５１】
その後、スレーブ２０ｂは「ｓｙｎｃメッセージ」の送信元（要求元）のマスター２０ａに「Ｄｅｌａｙ＿ｒｅｑｕｅｓｔメッセージ」を送信し（Ｓ４９）、従来のＰＴＰ処理を実行する（Ｓ５０）。
【００５２】
すなわち、スレーブ２０ｂは、「Ｄｅｌａｙ＿ｒｅｑｕｅｓｔメッセージ」の送信時刻ｔ３と、「Ｄｅｌａｙ＿ｒｅｑｕｅｓｔメッセージ」に対する「Ｄｅｌａｙ＿ｒｅｓｐｏｎｓメッセージ」の受信時刻ｔ４とを記憶し、時刻ｔ１〜ｔ４に基づきマスター２０ａとの時刻同期処理を実行する。ここでは時刻ｔ１〜ｔ４のタイムスタンプに基づきメッセージ往復の遅延時間と、マスター・スレーブ間の時刻差（クロックのオフセット）を算出し、スレーブ２０ｂの時刻を補正する。
【００５３】
Ｓ５１：マスター選出処理が実行され、「ｂｍｃ情報」Ｄ３を出力する。このときマスター選出の条件（ｂｍｃアルゴリズム）にＶＬＡＮ情報Ｄ２を加えて、同一のＰＴＰハブからの「ａｎｎｏｕｎｃｅメッセージ」の情報であっても別情報として扱えるようにする。
【００５４】
Ｓ５２：スレーブ２０ｂは、今回の「ａｎｎｏｕｎｃｅメッセージ」、即ち受信パケットがマスター２０ａから送信されているか否かを確認する。ここでは受信パケットの送信元が、Ｓ５１のマスター検出処理前の旧マスター２０ａか否かを確認する。
【００５５】
Ｓ５３：スレーブ２０ｂは、Ｓ５２の確認の結果、受信パケットの送信元がマスター２０ａであれば、スレーブ２０ｂは「ａｎｎｏｕｎｃｅメッセージ」の受信タイムアウト用のタイマーをタイマー情報Ｄ５に再登録し（Ｓ５３）、処理を終了する。
【００５６】
Ｓ５４，Ｓ５５：スレーブ２０ｂは、Ｓ５２の確認の結果、受信パケットの送信元がマスター２０ａでなければ、スレーブ２０ｂはＳ５１のマスター選出処理の結果、新マスター２０aが選出されているか否かを確認する（Ｓ５４）。
【００５７】
この確認の結果、新マスターが選出されていれば、「ａｎｎｏｕｎｃｅメッセージ」受信タイムアウト用のタイマーを再登録し（Ｓ５５）、その後にタイマー処理Ｂ２を行って処理を終了する。なお、新マスターが選出されていなければ、前記タイマー再登録（Ｓ２２）をすることなく、タイマー処理Ｂ２に移行する。
【００５８】
（２）タイマー処理Ｂ２
スレーブ２０ｂは、登録タイマーがタイムアウト状態か否かを確認する（Ｓ６０）。この確認の結果、タイムアウト状態でなければ、スレーブ２０ｂは従来のＰＴＰのタイマー処理を実行する（Ｓ６１）。
【００５９】
一方、タイムアウト状態であれば、スレーブ２０ｂはタイマー種別について「ａｎｎｏｕｎｃｅメッセージ」の受信か否かを確認する（Ｓ６２）。この確認の結果、「ａｎｎｏｕｎｃｅメッセージ」の受信であれば、マスター情報をクリアして「ｂｍｃ情報」Ｄ３に出力し（Ｓ６３）、マスター判定状態へ遷移する（Ｓ６４）。
【００６０】
すなわち、「ａｎｎｏｕｎｃｅメッセージ」の送受信によりマスター／スレーブ階層が確立され、その後の時刻転送プロセスによりＳｙｎｃメッセージ」，「Ｆｏｌｌｏｗ＿ｕｐメッセージ」，「Ｄｅｌａｙ＿ｒｅｑｕｅｓｔメッセージ」，「Ｄｅｌａｙ＿ｒｅｓｐｏｎｓメッセージ」が交換される。なお、Ｓ６２の確認の結果、「ａｎｎｏｕｎｃｅメッセージ」の受信でなければ、Ｓ６１に進んで従来のＰＴＰ処理が実行される。
【００６１】
このように前記仮想ＬＡＮの時刻同期方法によれば、ＰＴＰ処理タスク２１によってマスター状態処理（Ｓ１１〜Ｓ３５）とスレーブ状態処理（Ｓ４１〜Ｓ６４）が実行される。したがって、単一のＰＴＰ処理タスク２１で最大限度のＶＬＡＮ処理を実行可能なＰＴＰの時刻同期方法を提供することが可能となる。
【００６２】
≪作用・動作の説明≫
前記仮想ＬＡＮの時刻同期方法によれば、簡易ＶＬＡＮ対応のＰＴＰを使用することでＶＬＡＮを使った幅広いネットワーク構成が可能となる。以下、代表的な実施例を説明する。
【００６３】
（１）実施例１
図５に基づき実施例１を説明する。この実施例１は、ＰＴＰハブ２０の冗長化接続例を示している（ＰＴＰハブの冗長化接続が可能）。
【００６４】
図５中のＰＴＰハブ１，２はスレーブ（ｓｌａｖｅ）となるＰＴＰハブ２０を示し、同ＰＴＰハブ３はマスター（ｍａｓｔｅｒ）となるＰＴＰハブ２０を示し、ＰＴＰハブ１，２とＰＴＰハブ３とが、ＶＬＡＮ１０，２０により重複接続されている。
【００６５】
これにより回線Ａ，Ｂの一方が維持されれば、他の回線のいずれかに異常が発生しても、ＰＴＰハブ１，２とＰＴＰハブ３との時刻同期が可能となる。
【００６６】
なお、ＰＴＰハブ３から送信される「ａｎｎｏｕｎｃｅメッセージ」は、ＶＬＡＮ１０，２０の両方を流れ続けるので、通常よりＶＬＡＮ１０，２０の切替時間を短縮することができる。
【００６７】
（２）実施例２
図６に基づき実施例２を説明する。この実施例２は、単一ＶＬＡＮ同士の接続例を示している（単一ＶＬＡＮ同士の接続が可能）。
【００６８】
図６中のＰＴＰハブ１，４は、ＶＬＡＮ２０，１０の各グループについてマスターとなるＰＴＰハブ２０を示している。また、図６中のＰＴＰハブ２，３は、ＰＴＰハブ１をマスターとするスレーブのＰＴＰハブ２０を示し、同ＰＴＰハブ５，６は、ＰＴＰハブ４をマスターとするスレーブのＰＴＰハブ２０を示している。
【００６９】
さらにＶＬＡＮ１０グループのＰＴＰハブ４とＶＬＡＮ２０グループのＰＴＰハブ３とが接続され、ＰＴＰハブ１，４については「ＰＴＰハブ１＞ＰＴＰハブ４」の優先度が設定されているものとする。
【００７０】
このときＶＬＡＮグループ２０，１０のマスター、即ちＰＴＰハブ１，４の優先度によっては一方がマスター状態処理（Ｓ０２）を維持し、他方がスレーブ状態処理（Ｓ０４）に移行する（図３のＳ２３）。すなわち、図６のＶＬＡＮ構成によれば、ＰＴＰハブ１，４の優先度が「ＰＴＰハブ１＞ＰＴＰハブ４」と設定されているため、ＰＴＰハブ４がスレーブ状態処理（Ｓ０４）に移行し、ＰＴＰハブ２〜４がＰＴＰハブ１に時刻同期する。
【００７１】
（３）実施例３
図７に基づき実施例３を説明する。この実施例３は、複数ＶＬＡＮ同士の接続例を示している（複数ＶＬＡＮ同士の接続が可能）。
【００７２】
図７中のＰＴＰハブ２は、ＶＬＡＮ１０，２０が重複接続され、ＰＴＰハブ１，３をスレーブとするマスターを示している。また、図７中のＰＴＰハブ４は、ＶＬＡＮ２０，３０が重複接続され、ＰＴＰハブ５，６をスレーブとするマスターを示している。このＰＴＰハブ２，４については「ＰＴＰハブ２＞ＰＴＰハブ４」の優先度が設定されているものとする。
【００７３】
このようなＶＬＡＮ構成において、ＰＴＰハブ１をＰＴＰハブ４に接続すれば、ＰＴＰハブ４は、ＶＬＡＮ２０についてマスター状態処理（Ｓ０２）を停止し、透過処理となるため、ＰＴＰハブ５の時刻同期元がＰＴＰハブ４からＰＴＰハブ２へと切り替わる（Ｓ１３〜Ｓ２３）。一方、ＰＴＰハブ４は、ＶＬＡＮ３０についてマスター状態処理（Ｓ０２）をそのまま維持し（Ｓ１６）、ＰＴＰハブ６がＰＴＰハブ４に時刻同期したままとなる。
【００７４】
なお、ＰＴＰハブ１とＰＴＰハブ４との接続を開放すれば、ＶＬＡＮ２０についてＰＴＰハブ４は、Ｓ５５のタイマー再登録後に元の状態、即ちＶＬＡＮ２０のマスター状態処理（Ｓ０２）に戻ることができる。
【００７５】
（４）実施例４
図８に基づき実施例４を説明する。この実施例４は、遠隔地の複数ＶＬＡＮ接続の中継接続を示している（遠隔地の複数ＶＬＡＮ接続の中継が可能）。図８中のＰＴＰハブ１〜３は拠点Ａに配置されたマスターのＰＴＰハブ２０を示し、同ＰＴＰハブ６〜８は拠点Ｂに配置されたスレーブのＰＴＰハブ２０を示し、ＰＴＰハブ１〜３の優先度についてはＰＴＰハブ１が最も高く設定されている。
【００７６】
また、図８中のＰＴＰハブ４，５は、ＰＴＰハブ１〜３・ＰＴＰハブ６〜８間のＶＬＡＮ１０〜３０の接続をタグＶＬＡＮにて中継するＰＴＰハブ２０を示している。ここではＰＴＰハブ４，５間を１本の光ファイバーケーブルＣで接続し、ＰＴＰハブ１〜３・ＰＴＰハブ６〜８間を時刻同期させている。
【００７７】
このときＰＴＰハブ４，５は、ＰＴＰハブ１〜３中で最も優先度の高いものと時刻同期するため、ＰＴＰハブ１と時刻同期を実行し（Ｓ４１〜Ｓ５３，Ｓ６０，Ｓ６１）、他のＶＬＡＮ２０，３０（ＰＴＰハブ２，３）については透過処理のみとなる（Ｓ４４〜Ｓ５０）。
【符号の説明】
【００７８】
２０…ＰＴＰハブ
２１…ＰＴＰ処理タスク
【図１】
2018174445.tif 000003
【図２】
2018174445.tif 000004
【図３】
2018174445.tif 000005
【図４】
2018174445.tif 000006
【図５】
2018174445.tif 000007
【図６】
2018174445.tif 000008
【図７】
2018174445.tif 000009
【図８】
2018174445.tif 000010
【図９】
2018174445.tif 000011