(57)【特許請求の範囲】
【請求項１】
マルチプロトコルの相互接続のスイッチングファブリック内で複数のドメインにわたり時間を同期化する方法であって、
前記スイッチングファブリックの第１のドメインの第１のスイッチにより前記第１のスイッチの第１のローカル時間を前記第１のドメインの第２のスイッチに提供する段階と、
前記第１のドメイン内の前記第１および第２のスイッチを同期させるべく、前記第２のスイッチにより前記第２のスイッチの第２のローカル時間を前記第１のローカル時間に対して調節する段階であって、前記第１のスイッチから受信したタイムスタンプに少なくとも部分的に基いてオフセット値を算出する段階と、前記オフセット値によって前記第２のローカル時間を調節する段階とを有する、調節する段階と、
前記スイッチングファブリックの第２のドメインの第３のスイッチに対し、前記第１のローカル時間を前記第２のスイッチにより提供する段階と、
前記第１のドメインの前記第１および第２のスイッチと前記第２のドメインの前記第３のスイッチとを同期させるべく、前記第３のスイッチにより前記第３のスイッチの第３のローカル時間を前記第１のローカル時間に対して調節する段階と
を備え、
前記オフセット値は、時間同期化通知の順序付けられたセット（ＴＳＮＯＳ）を用いた前記タイムスタンプのための送信および受信パスの間の複数の時間非対称修正に基いて計算され、
前記複数の時間非対称修正は、
前記第１のスイッチによる前記ＴＳＮＯＳに伴う前記タイムスタンプの送信と、前記第２のスイッチによる前記タイムスタンプの受信との間、および、前記第２のスイッチによる前記タイムスタンプの受信の応答の送信と、前記第２のスイッチによる前記応答の受信との間の時間遅延と、
前記タイムスタンプが得られるときの第１時刻と、前記ＴＳＮＯＳの第１ビットが送信または受信されるときの第２時刻との間の経過時間とを示す方法。
【請求項２】
前記第２のスイッチによる前記調節する段階は、前記第２のスイッチの自励発振器の前記タイムスタンプに少なくとも部分的に基いて前記第２のローカル時間を決定する段階を有する、請求項１に記載の方法。
【請求項３】
前記第２のスイッチの第１のポートから前記第２のスイッチの第２のポートに、前記調節された第２のローカル時間を提供する段階を更に有する、請求項２に記載の方法。
【請求項４】
前記第１のローカル時間を前記第２のスイッチに提供する段階は、前記第１のスイッチの第１のポートから前記第２のスイッチの第２のポートに、前記第１のローカル時間を提供する段階を有する、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記第１のローカル時間を前記第２のスイッチに提供する前記段階は前記第１のスイッチの自励発振器の周波数の値を前記第２のスイッチに提供する段階を有し、前記方法は前記第２のスイッチから前記第３のスイッチに前記周波数の値を提供する段階を更に有する、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記第３のスイッチから前記第２のドメインの第４のスイッチに前記第１のローカル時間を提供する段階と、
前記第４のスイッチの第４のローカル時間を前記第１のローカル時間に調節する段階と
を更に有する、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記調節された第４のローカル時間を前記第３のスイッチに提供する段階と、
前記第３のスイッチの第３のローカル時間を前記調節された第４のローカル時間に調節する段階と
を備える、請求項６に記載の方法。
【請求項８】
前記調節された第４のローカル時間を前記第２のドメインの第５のスイッチに提供する段階と、
前記第５のスイッチの第５のローカル時間を前記調節された第４のローカル時間に調節する段階と
を更に備える、請求項６または７に記載の方法。
【請求項９】
マルチプロトコルの相互接続のスイッチングファブリック内で複数のドメインにわたり時間を同期化するプログラムであって、
コンピュータに、
前記スイッチングファブリックの第１のドメインの第１のスイッチの第１のローカル時間を前記スイッチングファブリックの前記第１のドメインの第２のスイッチに提供することと、
前記第１のドメイン内の前記第１および前記第２のスイッチを同期させるべく、前記第２のスイッチの第２のローカル時間を前記第１のローカル時間に対して調節することであって、前記第１のスイッチから受信したタイムスタンプに少なくとも部分的に基いてオフセット値を算出することと、前記オフセット値によって前記第２のローカル時間を調節することとを有する、調節することと、
前記スイッチングファブリックの第２のドメインの第３のスイッチに対し、前記第２のスイッチの前記第１のローカル時間を提供することと、
前記第１のドメインの前記第１および第２のスイッチと前記第２のドメインの前記第３のスイッチとを同期させるべく、前記第３のスイッチの第３のローカル時間を前記第１のローカル時間に対して調節することと
を行わせ、
前記オフセット値は、時間同期化通知の順序付けられたセット（ＴＳＮＯＳ）を用いた前記タイムスタンプのための送信および受信パスの間の複数の時間非対称修正に基いて計算され、
前記複数の時間非対称修正は、
前記第１のスイッチによる前記ＴＳＮＯＳに伴う前記タイムスタンプの送信と、前記第２のスイッチによる前記タイムスタンプの受信との間、および、前記第２のスイッチによる前記タイムスタンプの受信の応答の送信と、前記第２のスイッチによる前記応答の受信との間の時間遅延と、
前記タイムスタンプが得られるときの第１時刻と、前記ＴＳＮＯＳの第１ビットが送信または受信されるときの第２時刻との間の経過時間とを示すプログラム。
【請求項１０】
前記第２のローカル時間を調節することは、前記第２のスイッチの自励発振器のタイムスタンプに少なくとも部分的に基いて前記第２のローカル時間を決定することを含む、請求項９に記載のプログラム。
【請求項１１】
前記第１のローカル時間を前記第２のスイッチに提供することは、前記第１のスイッチの第１のポートから前記第２のスイッチの第２のポートに前記第１のローカル時間を提供することを含む、請求項９または１０に記載のプログラム。
【請求項１２】
請求項９〜１１のいずれか一項に記載のプログラムを格納するコンピュータ可読媒体。
【請求項１３】
マルチプロトコルの相互接続のスイッチングファブリック内で複数のドメインにわたり時間を同期化するシステムであって、
複数のスイッチを有する前記スイッチングファブリックを有する前記マルチプロトコルの相互接続を含むＩ／Ｏ複合体と、
前記Ｉ／Ｏ複合体と動作可能に結合された１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサと動作可能に結合され、内部に複数のプログラミング命令を記憶したコンピュータ読取可能な非一時的記憶媒体であって、前記複数のプログラミング命令の実行に応答して、前記システムが、
前記スイッチングファブリックの第１のドメインの第１のスイッチの第１のローカル時間を前記スイッチングファブリックの前記第１のドメインの第２のスイッチに提供することと、
前記第１のドメイン内の前記第１および前記第２のスイッチを同期させるべく、前記第２のスイッチの第２のローカル時間を前記第１のローカル時間に対して調節することであって、前記第１のスイッチから受信したタイムスタンプに少なくとも部分的に基いてオフセット値を算出することと、前記オフセット値によって前記第２のローカル時間を調節することとを有する、調節することと、
前記スイッチングファブリックの第２のドメインの第３のスイッチに対し、前記第２のスイッチの前記第１のローカル時間を提供することと、
前記第１のドメインの前記第１および第２のスイッチと前記第２のドメインの前記第３のスイッチとを同期させるべく、前記第３のスイッチの第３のローカル時間を前記第１のローカル時間に対して調節することと
を可能にするコンピュータ読取可能な非一時的記憶媒体と、
前記Ｉ／Ｏ複合体および前記１つまたは複数のプロセッサに動作可能に結合された表示装置と
を備え、
前記オフセット値は、時間同期化通知の順序付けられたセット（ＴＳＮＯＳ）を用いた前記タイムスタンプのための送信および受信パスの間の複数の時間非対称修正に基いて計算され、
前記複数の時間非対称修正は、
前記第１のスイッチによる前記ＴＳＮＯＳに伴う前記タイムスタンプの送信と、前記第２のスイッチによる前記タイムスタンプの受信との間、および、前記第２のスイッチによる前記タイムスタンプの受信の応答の送信と、前記第２のスイッチによる前記応答の受信との間の時間遅延と、
前記タイムスタンプが得られるときの第１時刻と、前記ＴＳＮＯＳの第１ビットが送信または受信されるときの第２時刻との間の経過時間とを示すシステム。
【請求項１４】
前記システムは、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、サーバー、セットトップボックス、デジタル記録装置、ゲームコンソール、スマートフォン、携帯情報端末、携帯電話、デジタルメディアプレーヤ、またはデジタルカメラのうちの選択された１つである、請求項１３に記載のシステム。
【請求項１５】
バスによって前記Ｉ／Ｏ複合体に動作可能に結合され、無線ネットワークの１つまたは複数のコンポーネントとの無線通信リンクを確立する１つまたは複数のアンテナを更に備える、請求項１３または１４に記載のシステム。
【請求項１６】
スイッチと、
自励発振器であるローカルクロックと、
少なくとも１つのポートと、
を備える集積回路デバイスであり、
前記集積回路デバイスは、第１の集積回路デバイスであり、
前記第１の集積回路デバイスの第１のローカル時間に、第１の時間同期化メッセージを第２の集積回路デバイスに、送信し、
前記少なくとも１つのポートのうちの第１ポートにより、第２の時間同期化メッセージを、前記第２の集積回路デバイスから受信し、前記第２の時間同期化メッセージは、タイムスタンプポイントを有する順序付けられたデータセットを含み、
前記第２の時間同期化メッセージの前記タイムスタンプポイントが前記第１の集積回路デバイス内の参照点を通過するときに、タイムスタンプを生成し、前記タイムスタンプは、前記第１の集積回路デバイスの第２のローカル時間であり、
前記第２の集積回路デバイスの第３および第４のローカル時間を含む第３の時間同期化メッセージを受信し、前記第３の時間同期化メッセージは、前記第２の時間同期化メッセージとは異なる時間で受信され、
前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の第１のオフセット値を決定し、該決定することは、前記第１の集積回路デバイス内で生成される前記タイムスタンプおよび前記第１の集積回路デバイスの前記第１のローカル時間、前記第２の集積回路デバイスの前記第３および第４のローカル時間、ならびに前記第１の集積回路デバイスおよび前記第２の集積回路デバイスの間の送信および受信パスの間の時間非対称修正に少なくとも部分的に基づいて、前記第１のオフセット値を算出することを含み、前記時間非対称修正は、前記第１の集積回路デバイスおよび前記第２の集積回路デバイスの間の前記送信および受信パスの間の非対称を修正する、集積回路デバイス。
【請求項１７】
前記タイムスタンプは、少なくとも８ナノ秒の解像度を有する、請求項１６に記載の集積回路デバイス。
【請求項１８】
前記集積回路デバイスは、さらに、周波数オフセット値を決定し、前記周波数オフセット値は、前記第２の集積回路デバイスのクロックと前記第１の集積回路デバイスの前記自励発振器との間の周波数の前記オフセットを表す、請求項１６または１７に記載の集積回路デバイス。
【請求項１９】
前記集積回路デバイスは、さらに、ＰＣＩ  Ｅｘｐｒｅｓｓ、ＵＳＢ，およびＤｉｓｐｌａｙＰｏｒｔプロトコルに従って複数のデバイス間でデータを送信するマルチプロトコル入出力ファブリックの一部である、請求項１６から１８のいずれか一項に記載の集積回路デバイス。
【請求項２０】
前記第１の時間同期化メッセージは、時間ｓｙｎｃ通知の順序付けられたセット（ＴＳＮＯＳ）である、請求項１６から１９のいずれか一項に記載の集積回路デバイス。
【請求項２１】
前記集積回路デバイスは、さらに、決定された時間オフセット値を格納する時間オフセットレジスタを含む、請求項１６から２０のいずれか一項に記載の集積回路デバイス。
【請求項２２】
前記集積回路デバイスは、さらに、決定された周波数オフセット値を格納する周波数オフセットレジスタを含む、請求項１８に記載の集積回路デバイス。
【請求項２３】
前記集積回路デバイスは、さらに、前記少なくとも１つのポートのうちの第２ポートにより、前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の前記第１のオフセット値を、第３の集積回路デバイスに送信する、請求項１６から２２のいずれか一項に記載の集積回路デバイス。
【請求項２４】
前記集積回路デバイスは、さらに、第３の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の第２のオフセット値を決定し、前記第２のオフセット値は、前記第３の集積回路デバイスのローカル時間からの前記第２の集積回路デバイスのローカル時間の第３のオフセット値と、前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の前記第１のオフセット値と、の和であり、前記第３の時間同期化メッセージは、さらに、前記第３のオフセット値を含む、請求項１６から２３のいずれか一項に記載の集積回路デバイス。
【請求項２５】
プロセッサと、
前記プロセッサに操作可能に連結されたメモリと、
前記プロセッサに操作可能に連結された入出力相互接続（Ｉ／Ｏ相互接続）と、
を備えるシステムであり、前記入出力相互接続は、
スイッチと、自励発振器であるローカルクロックと、少なくとも１つのポートと、を含む集積回路デバイスであり、前記集積回路デバイスは、第１の集積回路デバイスであり、
前記第１の集積回路デバイスの第１のローカル時間にて、第２の集積回路デバイスに第１の時間同期化メッセージを送信し、
前記少なくとも１つのポートのうちの第１ポートにより、前記第２の集積回路デバイスからの第２の時間同期化メッセージを受信し、前記第２の時間同期化メッセージは、タイムスタンプポイントを有する順序付けられたデータセットを含み、
前記第２の時間同期化メッセージの前記タイムスタンプポイントが前記第１の集積回路デバイス内の参照点を通過するときに、タイムスタンプを生成し、前記タイムスタンプは、前記第１の集積回路デバイスの第２のローカル時間であり、
前記第２の集積回路デバイスの第３および第４のローカル時間を含む第３の時間同期化メッセージを受信し、前記第３の時間同期化メッセージは、前記第２の時間同期化メッセージとは異なる時間で受信され、
前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間のオフセット値を決定し、該決定することは、前記第１の集積回路デバイス内で生成される前記タイムスタンプおよび前記第１の集積回路デバイスの前記第１のローカル時間、前記第２の集積回路デバイスの前記第３および第４のローカル時間、ならびに前記第１の集積回路デバイスおよび前記第２の集積回路デバイスの間の送信および受信パスの間の時間非対称修正に少なくとも部分的に基づいて、前記オフセット値を算出することを含み、前記時間非対称修正は、前記第１の集積回路デバイスおよび前記第２の集積回路デバイスの間の前記送信および受信パスの間の非対称を修正する、システム。
【請求項２６】
前記タイムスタンプは、少なくとも８ナノ秒の解像度を有する、請求項２５に記載のシステム。
【請求項２７】
前記集積回路デバイスは、さらに、周波数オフセット値を決定し、前記周波数オフセット値は、前記第２の集積回路デバイスのクロックと前記第１の集積回路デバイスの前記自励発振器との間の周波数の前記オフセットを表す、請求項２５または２６に記載のシステム。
【請求項２８】
前記集積回路デバイスは、さらに、ＰＣＩ  Ｅｘｐｒｅｓｓ、ＵＳＢ，およびＤｉｓｐｌａｙＰｏｒｔプロトコルに従って複数のデバイス間でデータを送信するマルチプロトコル入出力ファブリックの一部である、請求項２５から２７のいずれか一項に記載のシステム。
【請求項２９】
前記第１の時間同期化メッセージは、時間ｓｙｎｃ通知の順序付けられたセット（ＴＳＮＯＳ）である、請求項２５から２８のいずれか一項に記載のシステム。
【請求項３０】
前記集積回路デバイスは、さらに、決定された時間オフセット値を格納する時間オフセットレジスタを含む、請求項２５から２９のいずれか一項に記載のシステム。
【請求項３１】
前記集積回路デバイスは、さらに、決定された周波数オフセット値を格納する周波数オフセットレジスタを含む、請求項２７に記載のシステム。
【請求項３２】
前記集積回路デバイスは、さらに、前記少なくとも１つのポートのうちの第２ポートにより、前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の前記オフセット値を、第３の集積回路デバイスに送信する、請求項２５から３１のいずれか一項に記載のシステム。
【請求項３３】
前記集積回路デバイスは、さらに、第３の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の追加のオフセット値を決定し、前記追加のオフセット値は、前記第３の集積回路デバイスのローカル時間からの前記第２の集積回路デバイスのローカル時間のオフセット値と、前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の前記オフセット値と、の和である、請求項２５から３２のいずれか一項に記載のシステム。
【請求項３４】
プロセッサと、
集積回路デバイスと、
を備えるシステムであり、前記プロセッサおよび前記集積回路デバイスは操作可能に接続され、前記システムは周辺デバイスであり、前記集積回路デバイスは、
スイッチと、
自励発振器であるローカルクロックと、
少なくとも２つのポートと、
を含み、前記集積回路デバイスは第１の集積回路デバイスであり、
前記第１の集積回路デバイスの第１のローカル時間にて、第２の集積回路デバイスに第１の時間同期化メッセージを送信し、
前記少なくとも２つのポートのうちの第１ポートにより、前記第２の集積回路デバイスからの第２の時間同期化メッセージを受信し、前記第２の時間同期化メッセージは、第１のタイムスタンプポイントを有する第１の順序付けられたデータセットを含み、
前記第２の時間同期化メッセージの第１のタイムスタンプポイントが前記第１の集積回路デバイス内の参照点を通過するときに、第１のタイムスタンプを生成し、前記第１のタイムスタンプは、前記第１の集積回路デバイスの第２のローカル時間であり、
前記第２の集積回路デバイスの第３および第４のローカル時間を含む第３の時間同期化メッセージを受信し、前記第３の時間同期化メッセージは、前記第２の時間同期化メッセージとは異なる時間で受信され、
前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の第１のオフセット値を決定し、該決定することは、前記第１の集積回路デバイスの前記第１のローカル時間および前記第２のローカル時間ならびに前記第２の集積回路デバイスの前記第３のローカル時間および第４のローカル時間、ならびに前記第１の集積回路デバイスおよび前記第２の集積回路デバイスの間の送信および受信パスの間の時間非対称修正に少なくとも部分的に基づいて、前記第１のオフセット値を算出することを含み、
前記第１の集積回路デバイスは、また、
前記少なくとも２つのポートのうちの第２ポートにより、第３の集積回路デバイスからの第５の時間同期化メッセージを受信し、前記第５の時間同期化メッセージは、第２のタイムスタンプポイントを有する第２の順序付けられたデータセットを含み、
前記第５の時間同期化メッセージの前記第２のタイムスタンプポイントが前記第１の集積回路デバイス内の参照点を通過するときに、第２のタイムスタンプを生成し、前記第２のタイムスタンプは、前記第１の集積回路デバイスの第５のローカル時間であり、
前記第５のローカル時間を含む第６の時間同期化メッセージを前記第３の集積回路デバイスに送信する、システム。
【請求項３５】
前記第１及び第２のタイムスタンプは、少なくとも８ナノ秒の解像度を有する、請求項３４に記載のシステム。
【請求項３６】
前記集積回路デバイスは、さらに、周波数オフセット値を決定し、前記周波数オフセット値は、前記第２の集積回路デバイスのクロックと前記第１の集積回路デバイスの前記自励発振器との間の周波数の前記オフセットを表す、請求項３４または３５に記載のシステム。
【請求項３７】
前記集積回路デバイスは、さらに、ＰＣＩ  Ｅｘｐｒｅｓｓ、ＵＳＢ，およびＤｉｓｐｌａｙＰｏｒｔプロトコルに従って複数のデバイス間でデータを受信および送信する、請求項３４から３６のいずれか一項に記載のシステム。
【請求項３８】
前記第１の時間同期化メッセージおよび前記第２の時間同期化メッセージは、時間ｓｙｎｃ通知の順序付けられたセット（ＴＳＮＯＳ）である、請求項３４から３７のいずれか一項に記載のシステム。
【請求項３９】
前記集積回路デバイスは、さらに、決定された時間オフセット値を格納する時間オフセットレジスタを含む、請求項３４から３８のいずれか一項に記載のシステム。
【請求項４０】
前記集積回路デバイスは、さらに、決定された周波数オフセット値を格納する周波数オフセットレジスタを含む、請求項３６に記載のシステム。
【請求項４１】
前記集積回路デバイスは、さらに、前記第２ポートにより、前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の前記第１のオフセット値を、前記第３の集積回路デバイスに送信する、請求項３４から４０のいずれか一項に記載のシステム。
【請求項４２】
前記集積回路デバイスは、さらに、第４の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の第２のオフセット値を決定し、前記第２のオフセット値は、前記第４の集積回路デバイスのローカル時間からの前記第２の集積回路デバイスのローカル時間の第３のオフセット値と、前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の前記第１のオフセット値と、の和であり、前記第３の時間同期化メッセージは、さらに、前記第３のオフセット値を含む、請求項３４から４１のいずれか一項に記載のシステム。
【請求項４３】
前記システムは、さらに、ディスプレイを備え、前記ディスプレイは、前記プロセッサおよび前記集積回路デバイスに操作可能に接続される、請求項３４から４２のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、概ねコンピュータ装置のマルチプロトコルのＩ／Ｏ相互接続全体におけるマルチプロトコルのトンネリングに関する。
【背景技術】
【０００２】
従来のコンピュータプラットフォームアーキテクチャは様々なホストコントローラを含み、コンピュータプラットフォームとコンピュータプラットフォームに接続された周辺機器との間に異なるタイプのいくつかのＩ／Ｏを実装する。通常、これらのコンピュータプラットフォームは、プロトコルに固有のプラグおよびケーブルを介して周辺機器に接続するプロトコルに固有の接続インターフェースを含む。例えば、コンピュータはＵＳＢに固有の接続インターフェースを介して周辺機器に接続するＵＳＢに固有のコントローラ、ディスプレイに固有の接続インターフェースを介して周辺機器に接続するディスプレイに固有のコントローラ（例えばＤｉｓｐｌａｙＰｏｒｔ）、ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）に固有の接続インターフェースを介して周辺機器に接続するＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）コントローラ等のうちの１つまたは複数を含むことがある。
【図面の簡単な説明】
【０００３】
本開示の実施形態は限定ではなく例示的な実施形態によって説明され、添付の図面に図示され、同様の参照は類似の要素を表す。
【図１】本開示の様々な実施形態による、マルチプロトコルのトンネリングＩ／Ｏ相互接続を含むコンピュータ装置を記載する。
【図２】本開示の様々な実施形態による、マルチプロトコルのトンネリングＩ／Ｏ相互接続を含むコンピュータシステムを記載する。
【図３】本開示の様々な実施形態による、マルチプロトコルのトンネリングＩ／Ｏ相互接続のスイッチングファブリックを記載する。
【図４】本開示の様々な実施形態による、Ｉ／Ｏ複合体のマルチプロトコル相互接続アーキテクチャ用プロトコルスタックを記載する。
【図５】本開示の様々な実施形態による、Ｉ／Ｏ複合体のマルチプロトコル相互接続アーキテクチャ用プロトコルスタックの実装を記載する。
【図６Ａ】本開示の様々な実施形態による、スイッチのドメインの物理トポロジーを記載する。
【図６Ｂ】本開示の様々な実施形態による、図６Ａのドメインを管理するスパニングツリーの実施形態を記載する。
【図７】本開示の様々な実施形態による、ドメイン内のスパニングツリーを記載する。
【図８】本開示の様々な実施形態による、ドメイン内の構成パケットをルーティングするルートストリングのフォーマットを記載する。
【図９】本開示の様々な実施形態による、トポロジーＩＤ構成レジスタのフォーマットを記載する。
【図１０】本開示の様々な実施形態による、多重ドメイン間で確立し得る接続を記載する。
【図１１】本開示の様々な実施形態による、マルチプロトコルのトンネリングＩ／Ｏ複合体および相互接続を記載する。
【図１２】本開示の様々な実施形態による、マルチプロトコルのトンネリングＩ／Ｏ複合体および相互接続を記載する。
【図１３】共に本開示の様々な実施形態による、マルチプロトコルのトンネリングＩ／Ｏ相互接続に接続したマルチプロトコルのトンネリングＩ／Ｏ相互接続を含むデバイス（例えば周辺機器）を記載する。
【図１４】本開示の様々な実施形態による、マルチプロトコルのスイッチングファブリックを介してＤｉｓｐｌａｙＰｏｒｔストリームをマッピングするアーキテクチャを記載する。
【図１５】本開示の様々な実施形態による、ＤｉｓｐｌａｙＰｏｒｔ  ＩＮアダプタによって行われるスキャンラインおよびパケット化の構造を記載する。
【図１６】本開示の様々な実施形態による、ＤｉｓｐｌａｙＰｏｒｔリンクトレーニングのリンク初期化シーケンスを記載する。
【図１７】本開示の様々な実施形態による、マルチプロトコルのスイッチングファブリックを介してＨＤＭＩ（登録商標）ストリームをマッピングするアーキテクチャを記載する。
【図１８】本開示の様々な実施形態による、ビデオアイランドパケットのフォーマットを記載する。
【図１９】本開示の様々な実施形態による、データ／制御アイランドパケットフォーマットを記載する。
【図２０】本開示の様々な実施形態による、様々なＩ／Ｏ複合体のマルチプロトコルのスイッチングファブリックのスイッチの単一ドメイン内の時間同期化階層を記載する。
【図２１】本開示の様々な実施形態による、互いに動作可能に結合された多重ドメインを記載する。
【図２２】時間同期化プロトコルの様々な実施形態が想定するスイッチのモデルを記載する。
【図２３】本開示の様々な実施形態による、タイムスタンプ測定モデルを記載する。
【図２４】本開示の様々な実施形態による時間ｓｙｎｃパケット交換プロトコルを記載し、時間ｓｙｎｃパケット交換プロトコルはマスターとスレーブクロックとの間のタイムオフセットを測定すべく用いることができる。
【図２５】本開示の様々な実施形態による、ドメイン間時間のｓｙｎｃプロトコルを記載する。
【図２６】本開示の様々な実施形態による、時間同期化のためのトポロジーを記載する。
【図２７】本開示の様々な実施形態による、マルチプロトコルのトンネリングＩ／Ｏ相互接続を構成する方法の流れ図である。
【図２８】本開示の様々な実施形態による、マルチプロトコルのトンネリングＩ／Ｏ相互接続を含むコンピュータ装置を運用する方法の流れ図である。
【図２９】本開示の様々な実施形態による、マルチプロトコルの相互接続の時間同期化の方法の流れ図である。
【図３０】本開示の実施形態による、装置にマルチプロトコルのトンネリングの（例えば図２７〜２９の方法の）いくつかまたは全ての態様を実施させるプログラミング命令を有する製造物を記載する。
【発明を実施するための形態】
【０００４】
例示的な実施形態の様々な態様は、当業者が当業他者に作業の要旨を伝達するために共通に使用する用語を用いて説明する。しかし、説明される態様のいくつかのみを用いて別の実施形態を実施してもよいことは当業者には明らかであろう。説明上、具体的な数、材料、および構成は例示的な実施形態の完全な理解を提供するべく記述される。しかし、個別の詳細を用いずに別の実施形態を実施してもよいことは当業者には明らかであろう。他の例において、例示的な実施形態を不明瞭にしないように周知の特徴を省き、または単純化する。
【０００５】
更に、様々な動作は例示的な実施形態を理解するのに最も役立つ態様で順次、個別の複数の動作として記載される。しかし、説明の順序はこれらの動作が必ず順序に依存することを示唆するものとして解釈されるべきではない。具体的には、これらの動作を提示の順序で行う必要はない。更に、本開示の範囲内の方法は説明されるものよりも多いか、または少ない段階を含んでもよい。
【０００６】
語句「いくつかの実施形態において」は繰り返して用いられる。一般に、当該語句は同一の実施形態を指さないが、その場合もある。用語「備える」、「有する」、および「含む」は、文脈が別途指示しない限り、同義である。語句「Ａおよび／またはＢ」は（Ａ）、（Ｂ）、または（ＡおよびＢ）を意味する。語句「Ａ／Ｂ」は語句「Ａおよび／またはＢ」と同様に、（Ａ）、（Ｂ）、または（ＡおよびＢ）を意味する。語句「Ａ、Ｂ、およびＣのうちの少なくとも１つ」は（Ａ）、（Ｂ）、（Ｃ）、（ＡおよびＢ）、（ＡおよびＣ）、（ＢおよびＣ）、または（Ａ、Ｂ、およびＣ）を意味する。語句「（Ａ）Ｂ」は（Ｂ）または（ＡおよびＢ）を意味し、すなわちＡは任意選択である。
【０００７】
図１は、様々な実施形態によるマルチプロトコルのトンネリングＩ／Ｏ相互接続１０８を含むコンピュータ装置１００を記載する。多くの実施形態において、コンピュータ装置１００は１つまたは複数のプロセッサ１０２を含んでもよい。異なる実施形態において、１つまたは複数のプロセッサ１０２は１つのコアまたはマルチコアを含んでもよい。いくつかの実施形態において、装置１００は多重プロセッサシステム（図示せず）であってもよく、この場合、プロセッサの各々は１つのコアまたはマルチコアを有する。
【０００８】
図１に示すように、１つまたは複数のプロセッサ１０２は、１つまたは複数のリンク（例えば相互接続、バス等）を介してシステムメモリ１０４に動作可能に結合してもよい。システムメモリ１０４は、１つまたは複数のプロセッサ１００がプログラムおよびオペレーティングシステムを動作させ、実行するために使用する情報を記憶するとしてもよい。異なる実施形態において、システムメモリ１０４は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）の方式のような、使用可能な任意のタイプの読取可能かつ書込み可能なメモリであってもよい。
【０００９】
先に実装されたコンピュータ装置では、周辺機器をコンピュータシステムに接続するＩ／Ｏリンクはプロトコルに固有のコネクタポートについてプロトコルに固有であり、プロトコルに固有のコネクタポートは、プロトコルに固有のケーブルを用いて、プロトコルに固有のコネクタポート（すなわち、ＵＳＢキーボードデバイスはＵＳＢポートにプラグ接続され、ルーターデバイスはＬＡＮ／イーサネット（登録商標）ポートにプラグ接続される、等である）に互換性のある周辺機器を取り付けることを可能にする。任意の単一コネクタポートは、互換性のあるプラグおよび互換性のあるプロトコルを有する周辺機器に限定される。一度互換性のある周辺機器をコネクタポートにプラグ接続すると、周辺機器とプロトコルに固有のコントローラとの間に通信リンクが確立される。
【００１０】
図１に示す実施形態において記載するコンピュータ装置では、１つまたは複数のプロセッサ１０２はＩ／Ｏ複合体１０６に動作可能に結合されるとしてもよく、Ｉ／Ｏ複合体１０６は、１つまたは複数のＩ／Ｏリンクを制御する１つまたは複数のマルチプロトコルのＩ／Ｏ相互接続１０８を収容し、１つまたは複数のＩ／Ｏリンクは、１つまたは複数のプロセッサ１０２が１つまたは複数のＩ／Ｏ周辺機器１１０と通信することを可能にするとしてもよい。マルチプロトコル機能を提供するために、少なくとも部分的に、Ｉ／Ｏ相互接続１０８は、複数のＩ／Ｏプロトコルを通すマルチプロトコルのスイッチングファブリック１１４を含んでもよい。様々な実施形態において、マルチプロトコルのスイッチングファブリック１１４は複数のクロスバースイッチを備えてもよい。Ｉ／Ｏ周辺機器１１０の例としては、デバイスの中でもとりわけ、表示装置、キーボードデバイス、拡張ポート、デスクトップもしくはモバイルコンピュータシステム、またはルーターが挙げられ得る。
【００１１】
プロトコルに固有でないコネクタポート１１２は、デバイス１１０のコネクタポート１１２（図示せず）を有するＩ／Ｏ相互接続１０８を結合し、単一の物理的コネクタポート１１２を介して複数のデバイスタイプをコンピュータシステム１００に取り付けることを可能にしてもよい。更に、デバイス１１０とＩ／Ｏ複合体１０６との間のＩ／Ｏリンクは、複数のＩ／Ｏプロトコル（例えばＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）、ＵＳＢ、ＤｉｓｐｌａｙＰｏｒｔ、ＨＤＭＩ（登録商標）等）を同時に運んでもよい。様々な実施形態において、コネクタポート１１２はポート間、またはアップストリーム方向とダウンストリーム方向との間の帯域幅を共有することなく、両方向にフル帯域幅のリンクを提供してもよい。様々な実施形態において、Ｉ／Ｏ相互接続１０８とデバイス１１０との間の接続は電気的接続、光学的接続、または両方をサポートしてもよい。
【００１２】
装置１００はスタンドアロンデバイスであってもよく、またはデスクトップコンピューティングデバイス、モバイルコンピューティングデバイス（例えばラップトップコンピューティングデバイス、ハンドヘルドコンピューティングデバイス、タブレット、ネットブック等）、携帯電話、スマートフォン、携帯情報端末、サーバー、ワークステーション、セットトップボックス、デジタル記録装置、ゲームコンソール、デジタルメディアプレーヤ、およびデジタルカメラ等、様々なコンピューティングデバイスおよび／または民生用電子デバイス／器具を含むが、これらに限定されない様々なシステムに組み込まれてもよい。例示のシステム２００のブロック図は図２に示す。システム２００は、１つまたは複数のプロセッサ２０２、システムメモリ２０４、およびＩ／Ｏ複合体２０６を備え、これらの全てはバス１１５によって動作可能に結合するとしてもよい。Ｉ／Ｏ複合体２０６は１つまたは複数のマルチプロトコルのＩ／Ｏ相互接続２０８を含んでもよく、それらの各々はスイッチングファブリック２１４を含み、１つまたは複数のプロセッサ２０２が１つまたは複数のＩ／Ｏ周辺機器２１０と通信することを可能にする１つまたは複数のＩ／Ｏリンクを制御する。様々な実施形態において、システム２００は、より多いかまたはより少ないコンポーネント、ならびに／もしくは異なるアーキテクチャを有してもよい。
【００１３】
システム２００は、通信用インターフェース２１７を含み、通信用インターフェース２１７はバス２１５に動作可能に結合され、システム２００用のインターフェースを提供し、１つまたは複数のネットワークを介して、および／またはその他の任意の好適なデバイスを用いて通信するとしてもよい。通信用インターフェース２１７は、任意の好適なハードウェアおよび／またはファームウェアを含むとしてもよい。一実施形態のための通信用インターフェース２１７は、例えばネットワークアダプタ、無線ネットワークアダプタ、電話モデム、及び／または無線モデムを含むとしてもよい。無線通信については、一実施形態のための通信用インターフェース２１７は、１つまたは複数のアンテナ２２１を有する無線ネットワークインターフェースコントローラ２１９を含み、無線ネットワークの１つまたは複数のコンポーネントとの無線通信リンクを確立および維持するとしてもよい。システム２００は、１つまたは複数の無線ネットワークの規格および／またはプロトコルのうちの任意のものにより、無線ネットワークのうちの１つまたは複数のコンポーネントと無線で通信してもよい。
【００１４】
システム１００は、例えばブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、または他の好適な表示装置等の表示装置２２３を含み、表示装置２２３は情報を表示するためにバス２１５に動作可能に結合されるとしてもよい。様々な実施形態において、表示装置２２３はシステム２００と相互接続された周辺機器であってもよい。これらの実施形態の様々なものにおいて、そのような表示装置はマルチプロトコルポート２１２によってＩ／Ｏ複合体２０６と相互接続してもよい。
【００１５】
本明細書に説明するように、複数のＩ／Ｏプロトコルを運ぶことができるＩ／Ｏ相互接続を提供すべく、本明細書に説明される様々なＩ／Ｏ相互接続のうちの１つまたは複数は、とりわけ、図３に示す複数のクロスバースイッチを備えるマルチプロトコルのスイッチングファブリック３１４を含むとしてもよい。マルチプロトコルのスイッチングファブリック３１４は、本明細書に説明される他のマルチプロトコルのスイッチングファブリックと類似してもよい。一般に、スイッチ３１６ａ、３１６ｂは、任意の入力ポートから任意の出力ポートへとパケットをルーティングする能力を有する複数のポート３２０ａ、３２０ｂ、３２２ａを備えるデバイスである。様々な実施形態において、スイッチ３１６ａ、３１６ｂは任意の数のポート３２０ａ、３２０ｂ、３２２ａを備え、その各々は内部制御ポート３２６ａ、３２６ｂを更に含むとしてもよい。本明細書でより詳細に説明するように、スイッチ３１６ａ、３１６ｂはそれぞれ、マルチプロトコルのスイッチングファブリック３１４全体で時間を配分および同期化するときに使用すべく、時間管理ユニット３３０ａ、３３０ｂを任意選択で含んでもよい。
【００１６】
スイッチ３１６ａは単一の光学的リンクまたは電気的リンクに接続するヌルポート３２０を含む第１のタイプのスイッチを表すとしてもよいが、一方でアダプタポート３２２ａは１つまたは複数のマッピングされたＩ／Ｏプロトコルリンクに接続するとしてもよい。アダプタポート３２２ａは、マッピングされたＩ／Ｏプロトコルのエンティティをマルチプロトコルのスイッチングファブリック３１４に接続するように用いてもよい。本明細書で使用するように、用語「アダプタ」はマッピングされたＩ／Ｏプロトコルパケットを、マルチプロトコルのスイッチングファブリック３１４を介して流れるＩ／Ｏパケットにカプセル化するスイッチポートに構築することができる、プロトコル適合機能を指すものとして使用してもよい。
【００１７】
スイッチ３１６ｂは、単一の光学的または電気的リンクに接続するヌルポート３２０ｂ（ヌルポート３２０ａと同様の）のみを含む第２のタイプのスイッチを表すとしてもよい。
【００１８】
図３に図示するスイッチ３１６ａ、３１６ｂはそれぞれ、４つのアダプタポート３２２ａ、および４つのヌルポート３２０ａ、３２０ｂを含むが、ポート３２０ａ、３２０ｂ、３２２ａの実際の数は示すものよりも少ないか、または多くてもよい。スイッチ３１６ａとスイッチ３１６ｂとの間に接続性を提供するべく、一般に、スイッチ実装は少なくとも１つのヌルポートおよび少なくとも１つのアダプタポート、または少なくとも２つのヌルポートのいずれかを最低限含む。
【００１９】
様々な実施形態において、マルチプロトコルのスイッチングファブリック３１４は、１つまたは複数の第１のタイプのスイッチ３１６ａおよび１つまたは複数の第２のタイプのスイッチ３１６ｂを備えるとしてもよい。
【００２０】
本開示の範囲内において、スイッチングファブリックのアダプタポート間に様々なマルチプロトコルのトンネリングを実装するべく、接続マネージャー（図示せず）を提供するとしてもよい。接続マネージャーは、ソフトウェアまたはファームウェア内で、Ｉ／Ｏ複合体内の論理として、システムＢＩＯＳの一部として、またはコンピュータ装置、またはＩ／Ｏ複合体が含まれるシステム上で走るオペレーティングシステム内で実装するとしてもよい。
【００２１】
Ｉ／Ｏ複合体のマルチプロトコル相互接続アーキテクチャ用の例示的なプロトコルスタックは、図４に示す。電気的および光学的サブレイヤ、論理サブレイヤ、トランスポート層、およびフレーム層はＩ／Ｏ複合体のベースのマルチプロトコル相互接続アーキテクチャを定義し、物理層は、電気的サブレイヤ、光学的サブレイヤ、および論理サブレイヤを備えるとしてもよい。マッピングされたプロトコル層は、マルチプロトコル相互接続アーキテクチャへの個別のＩ／Ｏプロトコルのマッピングを記載し得る。
【００２２】
様々な実施形態で、図３および図４を参照すると、トランスポート層は、マルチプロトコルのスイッチングファブリック３１４のスイッチ３１６ａ、３１６ｂの全てのポート３２０ａ、３２０ｂ、３２２ａによって実装するとしてもよく、物理層は全てのヌルポート３２０ａ、３２０ｂによって実装するとしてもよく、アダプタポート３２２ａは単一のマッピングされたプロトコル層またはフレーム層を実装するとしてもよい。
【００２３】
プロトコル階層化の例示的な実装を図５に示す。示す例において、２つのプロトコルはスイッチ５１６ａ、５１６ｂ、５１６ｃ、５１６ｄを用いて実装する。スイッチ５１６ａ、５１６ｂ、５１６ｃ、５１６ｄの各々は、制御ポート５２６ａ、５２６ｂ、５２６ｃ、５２６ｄ、および時間管理ユニット５３０ａ、５３０ｂ、５３０ｃ、５３０ｄを含む。
【００２４】
示すように、アダプタポート５２２ａ１、５２２ｃは第１のプロトコル層（またはフレーム層）「プロトコル１」を実装し、アダプタポート５２２ａ２、５２２ｄは第２のプロトコル層（またはフレーム層）「プロトコル２」を実装する。全てのポートはトランスポート層を実装するが、一方で物理層は全てのヌルポート５２０ａ、５２０ｂ、５２０ｃ、５２０ｄによって実装する。
【００２５】
従って、スイッチのポート間のリンク（例えばリンク５３２）は、マルチプロトコルのスイッチングファブリックのアダプタポート間のファブリックを横断する複数のパスによって有効に共有することができる。様々な実施形態において、マルチプロトコル相互接続アーキテクチャは接続指向であり、従って、パスは、データ転送を行う前に、エンドツーエンドで構成するとしてもよい。パスはマルチプロトコルのスイッチングファブリックを介して１つまたは複数のリンクを横断するとしてもよく、各ホップ、パスは全てのパケットのヘッダーで運ばれ得るローカルに一意な識別子を割り当てられてもよく、全てのパケットはパスに関連付けられる。様々な実施形態において、パスに属するパケットはマルチプロトコルのスイッチングファブリック内で再度順序付けられない場合がある。バッファ割振り（フロー制御）およびサービスの品質は１パス毎のベースで実装してもよい。従って、パスは、マルチプロトコルのスイッチングファブリック全体でマッピングされたＩ／Ｏプロトコルのための仮想ワイヤセマンティクスを提供するとしてもよい。
【００２６】
様々な実施形態において、スイッチ（ドメイン）の集合の物理トポロジーは任意に相互接続したグラフであってもよい。図６Ａはスイッチ１〜６のドメインの物理トポロジーの例を示す。ドメインは運用のコンセプトというよりはむしろ管理のコンセプトであることに留意されたい。様々な実施形態において、先に説明したように、接続マネージャーはスイッチングファブリックのドメインを構成してもよい。更なる管理のために、マルチプロトコル装置はスパニングツリーを作成してもよい（例えば接続マネージャーによって）。図６Ｂは図６Ａのドメインを管理するために作成された例示的なスパニングツリーを示し、スパニングツリーの上部のスイッチ１はルートスイッチと呼ばれることがある。スパニングツリーは好適な任意の数のレベルを含むとしてもよいことに留意されたい。様々な実施形態において、スパニングツリーのレベルの最大数は７である場合がある。
【００２７】
図７はドメイン内のスパニングツリーの例を示す。ドメイン内のスイッチのそれぞれに対する一意なトポロジーＩＤの例示的な割り当ても示す。例えば、スイッチＪは０、４、１、１、２、１、８のトポロジーＩＤを有する。様々な実施形態において、一意なトポロジーＩＤはドメインのあらゆるスイッチに割り当てるとしてもよく、各トポロジーＩＤはドメインのスパニングツリー内のスイッチ位置を表すとしてもよい。様々な実施形態において、トポロジーＩＤの割り当ては初期化中に接続マネージャーによって行ってもよく、そのときにドメインは到達可能なスイッチを列挙して作成してもよく、トポロジーＩＤは各スイッチについて割り当ててもよい。
【００２８】
図７に示すように、ドメインは７つのレベル（レベル０〜６）を含み、スイッチのそれぞれのトポロジーＩＤは７つのポート番号のシーケンスであり、ルートスイッチから自身に向かうパス上のツリーの各レベルにおけるイグレスポートを表す。Ｘの深度におけるスイッチのトポロジーＩＤ（この例ではＸは０〜６である）は、レベル０〜Ｘ‐１についてはゼロでないポート番号を含むとしてもよい。深度Ｘでのポート番号は０としてもよく、深度Ｘにおけるスイッチの制御ポートを示す。深度Ｘ＋１〜６のポート番号は、「考慮しない」ものとして扱うとしてもよく、０に設定してもよい。従って、以下に示す例において、ルートスイッチにおける制御ポートは０、０、０、０、０、０のトポロジーＩＤを有する。
【００２９】
様々な実施形態において、ダウンストリームを流れる構成パケットのルーティング（スパニングツリーに対して）は、対象スイッチのトポロジーＩＤに基くとしてもよい。構成パケットはトランスポート層パケットのヘッダーでルーティングしてもよい。様々な実施形態において、アップストリームを流れる構成パケットはトポロジーＩＤを用いなくてもよく、簡単に言えば、各スイッチのアップストリームポートを介して転送するとしてもよい。通常、あらゆる構成パケットは自身のペイロードに含まれるルートストリングを運ぶ。ルートストリングの例示的なフォーマットを図８に示す。示すように、ルートストリングは本質的にはスイッチのトポロジーＩＤであり、スイッチに対して構成要求を送信し、またはスイッチから構成応答が出されるとしてもよい。ルートストリングのＭＳＢビット（ＣＭビット）は、構成メッセージがダウンストリームを（接続マネージャーからスイッチに）流れるときに０に設定し、メッセージがアップストリーム方向に流れるときに１に設定するとしてもよい。
【００３０】
様々な実施形態において、各スイッチは接続マネージャーにより、自身のトポロジーＩＤおよびスパニングツリー内のレベルと共に構成するとしてもよい。また、各スイッチは、ハードウェアストラッピングまたは他の類似のメカニズムにより、アップストリームをドメインの接続マネージャーに向けさせるポート番号と共に構成するとしてもよい。様々な実施形態において、トポロジーＩＤ、深度（ツリー内の）、およびポートに向かうアップストリームは、列挙する間に接続マネージャーによって初期化されるあらゆるスイッチのスイッチ構成スペース内の構成レジスタであってもよい。トポロジーＩＤ構成レジスタの例示的なフォーマットを図９に示す。図示する例において、トポロジーＩＤのＭＳＢは有効なフラッグであってもよく、有効なフラッグは接続マネージャーにより、リセット時に０に設定され、トポロジーＩＤが初期化されるときには１に設定されるとしてもよい。トポロジーＩＤの予約したビットは０に設定されるとしてもよい。
【００３１】
ツリーを下に流れる構成パケットは、１つまたは複数の規則に従ってスイッチの制御ポートによりルーティングするとしてもよい。例えば、様々な実施形態で、スイッチの制御ポートには、ツリー内での構成レベルに対応するルートストリングからポートを抽出するように要求するとしてもよい。様々な実施形態において、ポートが０である場合、制御ポートにパケットを消費するように要求するとしてもよい。様々な実施形態において、ポートがゼロでない場合、制御ポートにルートストリングから抽出したポートに一致するスイッチポートを介してパケットを転送するように要求するとしてもよい。様々な実施形態において、スパニングツリーを上に流れる構成パケットは簡単に言えば、ポートに向かう構成アップストリームを介して転送してもよい。
【００３２】
多重ドメインは、様々な実施形態において相互接続されるとしてもよい。図１０は多重ドメイン間で確立され得る例示的接続を示す。示すように、ドメイン１のスイッチ１〜６は、ドメイン２のスイッチＡ〜Ｅと相互接続されるとしてもよい。
【００３３】
様々な実施形態において、ドメイン間リンクは、接続マネージャーが電源をオンにした後にトポロジーの初期検出を行うとき、またはホットプラグイベントを処理することによるかのいずれかで検出するとしてもよい。リンク全体でスイッチのスイッチ構成スペースを読み取ると、エラーパケットが生じて送信され、トポロジーＩＤフィールドが以前に割り当てられたことを示す場合に、リンクはドメイン間リンクとなるように指定するとしてもよい。ドメイン間リンクを検出すると、接続マネージャーはシステムソフトウェアに通知するとしてもよい。通知を配信するために用いるメカニズムは、実装により定義してもよい。
【００３４】
様々な実施形態において、トランスポート層は、ドメイン間リンクによって接続されるドメインの２つの接続マネージャー間のドメイン間構成パケットのルーティングを定義するのみであってもよい。多重ドメイン全体での構成パケットのルーティングは、システムソフトウェアによって制御するとしてもよい。ドメインがデージーチェーン接続されるとき、元のドメインから進む構成パケットは、ターゲットドメインへのパスに沿うあらゆるドメインの接続マネージャーに配信するとしてもよい。中間ドメインの接続マネージャーは、ターゲットドメインに向かうドメイン間リンク全体でパケットを中継する役割を担い得るシステムソフトウェアに、構成パケットを渡すとしてもよい。
【００３５】
ドメイン間要求パケットのルーティングは１つまたは複数の規則に従ってもよい。例えば、様々な実施形態で、元のドメイン上のシステムソフトウェアは、ドメイン間リンクに接続するドメインのイグレスポートを指し示すルートストリングで要求パケットを形成するとしてもよく、パケットはドメイン間リンクを介して転送しなければならず、ＣＭビットは０に設定するとしてもよい。パケットがドメイン内の各ホップにおけるルートストリングに基いてルーティングされ、かつ、ドメイン間リンク全体でイグレスポートを介して転送されるように要求するとしてもよい。受信ドメインのイングレスポートで、制御ポートは、パケットが受信されたイングレスポートを指し示すルートストリングを再マッピングするとしてもよく、ＣＭビットを１に設定してもよい。様々な実施形態において、その後、他のドメイン内構成パケットと同様に、パケットが受信ドメインの接続マネージャーにルーティングされるように要求してもよい。パケットが受信ドメインの接続マネージャーによってシステムソフトウェアに配信されるように要求してもよい。
【００３６】
ドメイン間応答パケットのルーティングは、１つまたは複数の上記の段階に従うとしてもよい。様々な実施形態において、応答パケットを構築するシステムソフトウェアは、対応する要求パケットでのルートストリングを用いてもよく、ＣＭビットは０に設定される。
【００３７】
様々な実施形態において、トランスポート層は、マルチプロトコルのスイッチングファブリックを通したフローに対する階層状の信用ベースのフロー制御スキームを使用して、輻輳による受信バッファの過剰なフローを阻止または最小化するとしてもよい。様々な実施形態において、フロー制御スキームは、受信機が１パス毎の専用バッファから複数のパスが動的に共有する共有バッファプールに及ぶ、様々なバッファ割振り戦略を実装することを可能にしてもよい。様々な実施形態において、フロー制御は１パス毎のベースでオフにするとしてもよい。１つのパスについてフロー制御をオフにするとき、当該パスに、各リンクで少なくとも１つの最大サイズのトランスポート層パケット保持することができる受信バッファを提供するように要求するとしてもよい。
【００３８】
図１１は、様々な実施形態による、例示的なＩ／Ｏ複合体１１０６を示す。Ｉ／Ｏ複合体１１０６は、デバイス１１１０と結合するＩ／Ｏ相互接続１１０８を含む図１のＩ／Ｏ複合体１０６に類似してもよい。デバイス１１１０は、１つまたは複数のＩ／Ｏプロトコル（例えばＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）、ＵＳＢ、ＤｉｓｐｌａｙＰｏｒｔ、ＨＤＭＩ（登録商標）等）を用いて構成してもよい。
【００３９】
様々な実施形態において、Ｉ／Ｏ複合体１１０６は、トンネルしたＩ／ＯプロトコルのＯＳソフトウェアスタックにトランスペアレントな態様で共通のリンクを介して複数のＩ／Ｏプロトコルをトンネルすべく、Ｉ／Ｏ相互接続１１０８を介してデバイス１１１０を１つまたは複数のプロトコルに固有のコントローラ１１０９ａ、１１０９ｂ，...，１１０９ｎに接続するとしてもよい。その後、プロトコルに固有のコントローラ１１０９ａ、１１０９ｂ，...，１１０９ｎは、デバイス１１１０がプロトコルに固有のコントローラ１１０９ａ、１１０９ｂ，...，１１０９ｎに直接接続される場合と同様に、デバイス１１１０を構成するＯＳ内のそれぞれのプロトコルに固有のドライバと通信するとしてもよい。
【００４０】
図１２は、トンネルしたＩ／Ｏプロトコルのオペレーティングシステムソフトウェアスタックにトランスペアレントな態様で、共通のリンクを介して複数のＩ／Ｏプロトコルをトンネルするマルチプロトコル装置（例えば図１の装置１００等）の例示的なハードウェアおよびソフトウェア実装を示す。様々な実施形態において、マルチプロトコル装置は、マルチレベルのホットプラグシグナリングスキームを使用して、ソフトウェアトランスペアレントな態様で、共通の相互接続を介して複数のＩ／Ｏプロトコルのトンネリングをサポートするとしてもよい。
【００４１】
図１２に示す実装のために、Ｉ／Ｏホットプラグ表示は、デバイス１２１０を装置１２００のプロトコルに固有でないコネクタポート１２１２にプラグ接続するとき、Ｉ／Ｏ相互接続１２０８によってＯＳ内のＩ／Ｏドライバに（または埋め込みＩ／Ｏファームウェアに）送信するとしてもよい。次いで、ホットプラグ表示は、ＯＳ／ファームウェア内のＩ／Ｏドライバ１２１３によって処理し、Ｉ／Ｏ相互接続１２０８とデバイス１２１０との間に確立される通信パスをもたらすとしてもよい。様々な実施形態において、通信パスを確立する段階は、ドメイン内のソースアダプタと行先アダプタとの間に１つまたは複数のパスを構成する段階を含むとしてもよい（別により詳細に説明する）。一度パスを確立すると、関連するプロトコル固有のコントローラ１２０９ａ、１２０９ｂ，...，１２０９ｎがＯＳ／ファームウェア内のそれぞれのプロトコルに固有のドライバ１２１１ａ、１２１１ｂ，...，１２１１ｎにプロトコルに固有のホットプラグ表示を送信し得る、マッピングされたＩ／Ｏプロトコルに固有の構成を実行するとしてもよい。その後、プロトコルに固有のドライバ１２１１ａ、１２１１ｂ，...，１２１１ｎは、デバイス１２１０がプロトコルに固有のコントローラ１２０９ａ、１２０９ｂ，...，１２０９ｎに直接接続されるのと同様に、関連するプロトコル固有のコントローラ１２０９ａ、１２０９ｂ，...，１２０９ｎを構成するとしてもよい。この時点で、周辺機器１２１０はシステムソフトウェアに可視となり、アプリケーションによって使用してもよい。
【００４２】
様々な実施形態において、装置１２００は、デバイス１２１０をポート１２１２から切断すると、逆シーケンスのイベントが発生し得るように構成してもよい。具体的には、プロトコルに固有のドライバ１２１１ａ、１２１１ｂ，...，１２１１ｎはプロトコルに固有のアンプラグイベントを処理するとしてもよく、次いでプロトコルに固有の処理後に、Ｉ／Ｏドライバ１２１３はＩ／Ｏアンプラグイベントを処理するとしてもよい。
【００４３】
本明細書に記載する周辺機器（例えばデバイス１１０、２１０、１１１０、または１２１０）は、先に注記したように、様々なタイプのデバイスのうちの任意の１つであってもよい。様々な実施形態において、周辺機器は拡張ポート（または他のマルチプロトコルの周辺機器）であってもよく、拡張ポートに１つまたは複数の他のデバイスが１つまたは複数のＩ／Ｏプロトコルを用いて結合されるとしてもよい。例えば、周辺機器が拡張ポートである実施形態については、デバイスはＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）デバイスおよびＤｉｓｐｌａｙＰｏｒｔデバイスと同時に結合するとしてもよく、ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）デバイスおよびＤｉｓｐｌａｙＰｏｒｔデバイスは拡張ポートデバイスを介してＩ／Ｏ複合体と結合するとしてもよい。別の例において、周辺機器はモバイルまたはデスクトップコンピュータシステムであってもよく、１つまたは複数の他のデバイスは、モバイルまたはデスクトップコンピュータシステムと、そして周辺機器を介してＩ／Ｏ複合体と結合するとしてもよい。様々な実施形態において、複数の周辺機器はデバイスを一緒にデージーチェーン接続して、一緒に結合するとしてもよい。
【００４４】
様々な実施形態において、周辺機器および／または周辺機器に結合した他のデバイスは、本明細書に記載するＩ／Ｏ相互接続１０８、２０８、１１０８、１２０８のうちの１つまたは複数に類似するＩ／Ｏ相互接続も含むとしてもよい。例えば図１３に示すように、マルチプロトコルの相互接続１３０１を含むデバイス１３１０は、マルチプロトコルのスイッチングファブリック１３０３を同様に含み、マルチプロトコルの相互接続１３０８およびスイッチングファブリック１３１４をやはり含むコンピュータ装置１３００と相互接続するとしてもよい。他の１つまたは複数の周辺機器１３０５ａ、１３０５ｂ，...，１３０５ｎは、１つまたは複数の対応するプロトコルに固有でないポート１３１２を介してＩ／Ｏ相互接続１３０１と相互接続してもよい。
【００４５】
本明細書に注記したように、Ｉ／Ｏ複合体およびＩ／Ｏ複合体を含む装置の様々な実施形態は、ソフトウェアトランスペアレントな態様または実質的にトランスペアレントな態様で、マルチプロトコルの相互接続全体で複数のプロトコルをトンネルするとしてもよい。ここでＤｉｓｐｌａｙＰｏｒｔおよびＨＤＭＩ（登録商標）トンネリング技術の具体的な例を図１４〜１９を参照して更に詳細に説明する。
【００４６】
図１４は、本明細書に記載するマルチプロトコルのスイッチングファブリック全体でＤｉｓｐｌａｙＰｏｒｔストリームをマッピングする例示的なアーキテクチャを示す。ＤｉｓｐｌａｙＰｏｒｔのマッピングに用いるアーキテクチャモデルは、ＤｉｓｐｌａｙＰｏｒｔソースとＤｉｓｐｌａｙＰｏｒｔシンクとの間の仮想配線のアーキテクチャモデルである。ＤｉｓｐｌａｙＰｏｒｔマップはＤｉｓｐｌａｙＰｏｒｔケーブルの代替として動作するとしてもよく、従ってソースおよびシンクからのＤｉｓｐｌａｙＰｏｒｔリンク（ならびにソフトウェアスタック）に完全にトランスペアレントであってもよい。ＤｉｓｐｌａｙＰｏｒｔ  ＩＮアダプタはソースデバイスからのＤｉｓｐｌａｙＰｏｒｔリンクを終了させ、パケット内のＤｉｓｐｌａｙＰｏｒｔのメインリンクおよびＡＵＺチャネル送信をカプセル化して、スイッチネットワーク全体で転送するとしてもよい。ネットワークの他端で、ＤｉｓｐｌａｙＰｏｒｔ  ＯＵＴアダプタは、ビデオおよびＡＵＸチャネルデータをデカプセル化し、シンクデバイスに接続するＤｉｓｐｌａｙＰｏｒｔリンクを再作成するとしてもよい。ホットプラグ検出（ＨＰＤ）表示もパケットとして送信するとしてもよい。
【００４７】
様々な実施形態において、ＤｉｓｐｌａｙＰｏｒｔリンクを本明細書に記載するマルチプロトコルのスイッチングファブリックにマッピングする場合、連続的なメインリンクデータストリームは複数のタイプのＩ／Ｏパケットに変換するとしてもよい。図１５は、スキャンラインおよびＤｉｓｐｌａｙＰｏｒｔ  ＩＮアダプタが行うパケット化の例示的な構造を示す。パケット化する間、全てのスタッフィングシンボル（アクティブピクセルデータの送信ユニットＴＵ内で、かつブランク期間中に）はＤｉｓｐｌａｙＰｏｒｔ  ＩＮアダプタにより破棄するとしてもよく、ＤｉｓｐｌａｙＰｏｒｔ  ＯＵＴアダプタにより再作成するとしてもよい。ＤｉｓｐｌａｙＰｏｒｔ  ＯＵＴアダプタでスタッフィングを正確に再構築することを可能にするべく、ＤｉｓｐｌａｙＰｏｒｔ  ＩＮアダプタは各Ｉ／Ｏパケットと共に、示した現在のパケットの直前に破棄されたスタッフィングシンボルの数を指定し得るフィルカウントフィールドを含むとしてもよい。
【００４８】
様々な実施形態において、ＡＵＸチャネル要求はＤｉｓｐｌａｙＰｏｒｔ  ＩＮアダプタによってマルチプロトコルのスイッチングファブリック全体で、Ｉ／Ｏパケットとしてパケット化および送信するとしてもよく、他端でＤｉｓｐｌａｙＰｏｒｔ  ＯＵＴアダプタによって再生するとしてもよい。ＡＵＸチャネル応答は、ＤｉｓｐｌａｙＰｏｒｔ  ＯＵＴアダプタによってマルチプロトコルのスイッチングファブリック全体でＩ／Ｏパケットとしてパケット化および送信するとしてもよく、他端でＤｉｓｐｌａｙＰｏｒｔ  ＩＮアダプタにより再生するとしてもよい。
【００４９】
様々な実施形態において、ＨＰＤ表示は、ＤｉｓｐｌａｙＰｏｒｔ  ＯＵＴアダプタによってマルチプロトコルのスイッチングファブリック全体でＩ／Ｏパケットとしてパケット化および送信するとしてもよく、他端でＤｉｓｐｌａｙＰｏｒｔ  ＩＮアダプタによって再生してもよい。
【００５０】
ＤｉｓｐｌａｙＰｏｒｔリンクトレーニングは、ＡＵＸチャネルを介してグラフィックス処理ユニット（ＧＰＵ、図示せず）によって開始するとしてもよく、ＧＰＵとＤｉｓｐｌａｙＰｏｒｔ  ＩＮアダプタとの間、およびＤｉｓｐｌａｙＰｏｒｔ  ＯＵＴアダプタと表示装置との間のＤｉｓｐｌａｙＰｏｒｔリンクを同一の構成にトレーニングするように実行してもよい。様々な実施形態において、これはＧＰＵパースペクティブからのものを生じさせることがあり、表示装置のホットプラグおよびアンプラグ操作はマルチプロトコルのスイッチングファブリック全体に接続した表示装置について、ＧＰＵにローカルに取り付けた表示装置についてと同様の態様でサポートするとしてもよい。例示的なリンク初期化シーケンスを図１６に示すが、ここでは第１の試行でトレーニングは失敗し、ＤｉｓｐｌａｙＰｏｒｔ  ＯＵＴアダプタは低下したビットレート構成を選択しなければならない。
【００５１】
本明細書に記載するＤｉｓｐｌａｙＰｏｒｔトンネリングアーキテクチャは、本明細書に記載するマルチプロトコルのスイッチングファブリック全体でプレミアムコンテンツのストリームのトランスペアレントなトンネリングをサポートするとしてもよい。マルチプロトコルのスイッチングファブリックは高帯域幅デジタルコンテンツ保護（ＨＤＣＰ）送信機をＨＤＣＰ受信機に直接に接続するＤｉｓｐｌａｙＰｏｒｔ仮想配線として現れることがある。ＨＤＣＰコンテンツ保護メカニズムは、マルチプロトコルのスイッチングファブリックによってトランペアレントに扱ってもよい。
【００５２】
図１７は、本明細書に記載するマルチプロトコルのスイッチングファブリックを介してＨＤＭＩ（登録商標）ストリームをマッピングする例示的なアーキテクチャを示す。ＨＤＭＩ（登録商標）をトンネルするために用いるアーキテクチャモデルは、ＨＤＭＩ（登録商標）ソースとＨＤＭＩ（登録商標）シンクとの間の仮想配線のアーキテクチャモデルであってもよい。ＨＤＭＩ（登録商標）トンネルはＨＤＭＩ（登録商標）ケーブルの代替として動作するとしてもよく、従ってＨＤＭＩ（登録商標）ソースおよびＨＤＭＩ（登録商標）シンク（ならびにソフトウェアスタック）にトランスペアレントであってもよい。図１７に示すように、ＨＤＭＩ（登録商標）ＩＮアダプタはソースデバイスからのＨＤＭＩ（登録商標）リンクを終了させ、Ｉ／Ｏパケット内のＨＤＭＩ（登録商標）ＴＭＤＳリンクおよびＤＤＣチャネル送信をカプセル化して、スイッチファブリックネットワーク全体で転送するとしてもよい。ネットワークの他端で、ＨＤＭＩ（登録商標）ＯＵＴアダプタはＴＭＤＳおよびＤＤＣチャネルデータをデカプセル化して、シンクデバイスに接続するＨＤＭＩ（登録商標）リンクを再作成するとしてもよい。ＨＰＤ表示もＩ／Ｏパケットとして送信するとしてもよい。
【００５３】
様々な実施形態において、ＨＤＭＩ（登録商標）リンクを本明細書に記載するマルチプロトコルのスイッチングファブリックにマッピングする場合、連続的なＴＭＤＳリンクのＡ／Ｖストリームを複数のタイプのＩ／Ｏパケットに変換するとしてもよい。「ビデオアイランドパケット」（ピクセルデータを運ぶ）は、マルチプロトコルのスイッチングファブリック全体で、ＨＤＭＩ（登録商標）ＩＮアダプタからＨＤＭＩ（登録商標）ＯＵＴアダプタにアクティブピクセルデータを転送するために用いるとしてもよいデータ／制御アイランドパケットはデータを転送するために用い、ＨＤＭＩ（登録商標）ＩＮアダプタからＨＤＭＩ（登録商標）ＯＵＴアダプタへの文字を制御するとしてもよい。例示的なビデオアイランドパケットおよびデータ／制御アイランドパケットフォーマットを図１８および図１９にぞれぞれ示す。
【００５４】
様々な実施形態において、ＨＤＭＩ（登録商標）ＩＮアダプタはバス上のプロキシスレーブデバイスとして動作するとしてもよい。ＨＤＭＩ（登録商標）ＩＮアダプタは、ＨＤＭＩ（登録商標）ソースが送信したＤＤＣ送信パラメータを受信し、ＤＤＣ要求パケットを用い、ＤＤＣパスを介してＨＤＭＩ（登録商標）ＯＵＴアダプタに送信するとしてもよい。ＨＤＭＩ（登録商標）ＯＵＴアダプタはバス上のプロキシマスターデバイスとして動作し、ＨＤＭＩ（登録商標）シンクへのＤＤＣ送信を開始するとしてもよい。ＨＤＭＩ（登録商標）シンクがデータまたは確認と共に応答する場合、ＨＤＭＩ（登録商標）ＯＵＴアダプタは、ＤＤＣ応答パケットを用いてＨＤＭＩ（登録商標）ＩＮアダプタに応答を送信するとしてもよい。ＨＤＭＩ（登録商標）ＩＮアダプタがＤＤＣ応答パケットを受信する場合、ＨＤＭＩ（登録商標）ＩＮアダプタはＨＤＭＩ（登録商標）ソースに応答を中継するとしてもよい。
【００５５】
様々な実施形態において、リンク初期化は様々なステージを備えるとしてもよい。マルチプロトコル装置は、（例えばソフトウェアまたはファームウェアベースの接続マネージャーによって）アクティブなＨＤＭＩ（登録商標）ＩＮアダプタおよびＨＤＭＩ（登録商標）ＯＵＴアダプタ、そして任意選択でプラグ／アンプラグイベントを識別するとしてもよい。マルチプロトコル装置はＨＤＭＩ（登録商標）ＩＮアダプタとＨＤＭＩ（登録商標）ＯＵＴアダプタとの間のパスを（例えば接続マネージャーによって）設定し、これを有効にするとしてもよい。ソースは５ｖの信号をアサートするとしてもよく、ＨＤＭＩ（登録商標）ＩＮアダプタはＨＤＭＩ（登録商標）ＯＵＴアダプタに表示を渡すとしてもよく、ＨＤＭＩ（登録商標）ＯＵＴアダプタは表示をシンクに転送するとしてもよい（５ＶＯビットのためにすでに行われていない限り）。シンクはＨＰＤをアサートすることによって応答するとしてもよい。この表示はＨＤＭＩ（登録商標）ＩＮアダプタに転送するとしてもよく、ＨＤＭＩ（登録商標）ＩＮアダプタは表示をソースに転送するとしてもよい。様々な実施形態において、ＨＤＭＩ（登録商標）ＩＮアダプタは、任意選択で記憶リピータとして動作し、ソースに向かってＨＰＤをアサートする前にシンクを読み取るとしてもよい。ＴＭＤＳリンクがＨＤＭＩ（登録商標）ＩＮアダプタでロックされる場合、ＴＭＤＳリンクはＨＤＭＩ（登録商標）ＯＵＴアダプタに（ＨＤＭＩ（登録商標）／ＤＶＩの状態と共に）ｌｉｎｋ＿ｕｐ表示を送信するとしてもよく、ＴＭＤＳ  ＬＰＫパケットおよびＴＭＵクロックｓｙｎｃパケットはこのステージから送信するとしてもよい。ＨＤＭＩ（登録商標）ＯＵＴアダプタはＴＭＤＳクロックを生成し、安定しているときには、ＴＭＤＳトラフィック中に開始するとしてもよい。
【００５６】
プレミアムコンテンツをストリームする場合、ＨＤＭＩ（登録商標）をトンネルするマルチプロトコル装置はＨＤＣＰを用いてコンテンツ保護を使用するとしてもよい。本明細書に記載するＨＤＭＩ（登録商標）マッピングアーキテクチャは、マルチプロトコルのスイッチングファブリック全体でプレミアムコンテンツのストリームのトランスペアレントなマッピングをサポートするとしてもよい。ＨＤＭＩ（登録商標）マップはＨＤＣＰ送信機をＨＤＣＰ受信機に直接的に接続するＨＤＭＩ（登録商標）リンクとして現れることがある。ＨＤＣＰコンテンツ保護メカニズムは、トランスペアレントに扱うとしてもよい。
【００５７】
本明細書に記載するＩ／Ｏ複合体の様々な実施形態は、時間同期化プロトコルを実装するとしてもよい。様々な実施形態において、時間同期化プロトコルはマルチプロトコルのスイッチングファブリックのうちの１つまたは複数のスイッチのクロックを同期化するメカニズムを提供するとしてもよい。
【００５８】
様々な実施形態において、スイッチングファブリック全体で時間を同期化するプロトコルは、スイッチドメイン内のリアルタイムクロックがどのように互いに同期化するかを指定する分散プロトコルであってもよい。クロックは、クロックが全ドメインに対する基準時間を決定する階層（「グランドマスタークロック」）の上部にあるマスターとスレーブの同期化階層に組織化するとしてもよい。同期化はタイミングメッセージを交換することによって実現し、スレーブはタイミング情報を用いてクロックを階層におけるマスター時間に調節するとしてもよい。
【００５９】
様々な実施形態において、時間ｓｙｎｃメッセージ、状態マシン、および他のエンティティは特定のドメインに関連するとしてもよい。プロトコルが１つのドメイン内で確立した時間は他のドメイン内の時間から独立していることがある。多重ドメインが相互接続するとき、ドメイン間のマスター‐スレーブクロック同期化階層は、ドメイン間グランドマスタークロックとして１つのドメインのグランドマスタークロックを選択して確立するとしてもよい。その後、時間ｓｙｎｃプロトコルは、他のドメインのグランドマスタークロックをドメイン間グランドマスタークロックに同期化するとしてもよい。
【００６０】
図２０は、本明細書に記載する様々なＩ／Ｏ複合体のマルチプロトコルのスイッチングファブリックのスイッチの単一ドメイン内における例示的な時間同期化階層を示す。ドメイン内の時間同期化階層は当該ドメインの構成のために確立したスパニングツリーと同一であってもよい。ドメインのルートスイッチは当該ドメイン用のグランドマスタークロックを提供するとしてもよい。あらゆるリンクで、ポートに向かうダウンストリームはマスターポートとして扱うとしてもよく、アップストリームポートは時間同期化プロトコルの観点からスレーブポートとして扱うとしてもよい。従って各スイッチは１つのスレーブポート、または１つもしくは複数のマスターポートを含むとしてもよい。様々な実施形態において、ルートスイッチは、図示するスレーブポートを含まないことがある。
【００６１】
多重ドメインは図２１に示すように、一緒に接続するとしてもよい。多重ドメインを一緒に接続する場合、既定の動作はドメイン全体で時間を同期化しないとしてもよい。時間同期化はドメイン間のマスター‐スレーブ同期化階層を作成し、ドメイン間グランドマスターとして動作する１つのドメインを選択し、ドメイン全体で有効にするとしてもよい。選択したドメインのルートスイッチは、ドメイン間グランドマスタークロックになるとしてもよい。様々な実施形態において、時間同期化プロトコルは、リンクの１つの端部がドメイン間マスター（ＩＤＭ）になり、リンクの他方の端部がドメイン間スレーブ（ＩＤＳ）になるように構成して、ドメイン間リンク全体で有効にするとしてもよい。様々な実施形態において、ドメイン間のマスター‐スレーブ同期化階層はループを含まないとしてもよい。
【００６２】
様々な実施形態において、（例えばソフトウェアによって）構成されないドメイン間リンクは、時間同期化プロトコルに参加しないとしてもよい。図２１に示すように、ドメインＢはドメイン間グランドマスターとして選択され、時間同期化プロトコルはドメイン間リンクＡ⇔Ｂ、Ａ⇔Ｄ、およびＡ⇔Ｃ上で有効になる。また、図示するように、ドメイン間時間の同期化はリンクＢ⇔Ｄ上で有効にならない。
【００６３】
マルチプロトコルのスイッチングファブリックのスイッチのうちの１つまたは複数は、時間同期化プロトコルに対するタイムスタンプを取り込む自励発振器（ローカルクロックエンティティ）を提供するとしてもよい。様々な実施形態において、自励発振器は１２５ＭＨｚ±１００ｐｐｍの周波数で走るとしてもよい。現地時間レジスタは自励発振器エンティティによって増加するとしてもよい。
【００６４】
タイムスタンプは自励発振器を用いて取り込むことができるが、各スイッチはグランドマスター時間に対するローカル時間（現地時間とも呼ぶ）のエラー（時間および周波数の両方における）を知り得る。自励発振器の現地時間とグランドマスター時間との間のタイムオフセットは、６４ビットのグランドマスターからのタイムオフセットレジスタで表すことができる。このレジスタは署名した小数値を保持して２の補数表示を用いるとしてもよく、２１６を乗じたナノ秒で時間を指定するとしてもよい。例えば２．５ｎは、０×０００００００００００２８０００と表してもよい。フィールドの全ビットにおける１つの値は、最も重要なものを除き、グランドマスター時間からのオフセットが大きすぎて表すことができない場合があることを示し得る。様々な実施形態において、ルートスイッチのグランドマスターからのタイムオフセットレジスタ（ドメインのグランドマスター）は、ドメインがドメイン間時間の同期化用にスレーブとして構成される場合を除き、０に設定するとしてもよい。
【００６５】
様々な実施形態において、自励発振器とグランドマスタークロックとの間の周波数オフセットはグランドマスターからの周波数オフセットレジスタで表すとしてもよい。このレジスタは比周波数オフセットを指定して、２の補数表現を用いて表した署名した小数値を保持するとしてもよい。
【００６６】
様々な実施形態において、グランドマスターからのタイムオフセットレジスタおよびグランドマスターからの周波数オフセットレジスタは、あらゆる時間ｓｙｎｃパケット交換の終了の都度に更新するとしてもよい。実装はグランドマスターからのタイムオフセット値を最小化することを試みてもよいが、これは時間ｓｙｎｃプロトコル動作について要求されない。これは自励発振器の周波数を同調し、および／または現地時間レジスタを調節することによって行うことができる。
【００６７】
図２２は、時間同期化プロトコルの様々な実施形態が想定するスイッチの例示的なモデルを示す。図示するように、スイッチのアップストリームポートは指定されたスレーブポートであるが、スイッチの全てのダウンストリームポートはマスターポートとして指定される。ローカルクロックエンティティは本明細書に記載する自励発振器を含むとしてもよく、計算エンジンはスイッチの全ポートに共通であってもよい。スレーブポートは、グランドマスター時間から現地時間のオフセットを計算することを可能にし得る計算エンジンのタイムスタンプ測定を提供するとしてもよい。現地時間値および計算結果はスイッチの全てのアダプタポートに使用可能にされ、任意のアダプタに固有の時間同期化機能の実装を有効にしてもよい。
【００６８】
様々な実施形態において、各マスターポートまたはスレーブポートは、時間同期化メッセージを処理する役割を担い得るプロトコルエンジンを含むとしてもよい。ドメイン内で時間を同期化するために用いるメッセージはポートのプロトコルエンジンで終了するとしてもよく、転送しないとしてもよい。ドメイン間時間の同期化メッセージは、受信マスターポートのプロトコルエンジンによってスレーブポートのプロトコルエンジンに転送するとしてもよい。スレーブポートのプロトコルエンジンは、メッセージをリンクパートナーに送信し、ドメインのグランドマスターにメッセージを転送する役割を担うとしてもよい。
【００６９】
様々な実施形態において、タイムスタンプの生成はポートの物理層によって行うとしてもよい。タイムスタンプ生成は、同期化メッセージのタイムスタンプポイントが物理層内の基準面を通過するときに行うとしてもよい。
【００７０】
図２３は例示的なタイムスタンプ測定モデルを示す。様々な実施形態において、タイムスタンプイベントは、時間ｓｙｎｃ通知の順序付けられたセット（ＴＳＮＯＳ）の送信および受信時に生成するとしてもよく、時間ｓｙｎｃ通知の順序付けられたセットは、ＴＭＵパケットを送信または受信するときに、時間管理ユニット（例えば図４および６のＴＭＵを参照されたい）が正確な時間スタンプをロックするのを補助するために用いるとしてもよい。ｓｙｎｃ文字の最後のビットと順序付けられたセットデータの最初のビットとの間のＴＳＮＯＳの地点は、タイムスタンプポイントと呼ぶことがある。様々な実施形態において、ｓｙｎｃ文字は２ビットを含み得るが、順序付けられたセットデータは６４ビットを含み得る。物理層内で、タイムスタンプポイントが基準面と呼ばれる参照点を通過するときにタイムスタンプを得るとしてもよい。基準面は物理層を通る送信パスと受信パスとで異なることを認めてもよい。様々な実施形態において、同一の送信基準面を用いるとしてもよいが、全ての送信したＴＳＮＯＳについては、全ての受信したＴＳＮＯＳに同一の受信基準面を用いるとしてもよい。様々な実施形態において、タイムスタンプ測定は少なくとも８ナノ秒の分解能を有する。
【００７１】
図２４は例示的な時間ｓｙｎｃパケット交換プロトコルを示し、これはマスタークロックとスレーブクロックとの間のタイムオフセットを測定するために用いてもよい。様々な実施形態において、測定はスイッチのスレーブポートのみで行われる。タイミング図に示すように、時間ｓｙｎｃパケット交換は遅延要求メッセージ、遅延応答メッセージ、およびフォローアップメッセージを用いる。遅延要求メッセージおよび遅延応答メッセージは、ＴＳＮＯＳ（上記）を用いて実装するとしてもよい。フォローアップメッセージはトランスポート層パケットであってもよい。
【００７２】
様々な実施形態において、フォローアップメッセージはマスターによってスレーブに送信するとしてもよく、マスターのグランドマスターからのタイムオフセットおよびグランドマスターからの周波数オフセットレジスタの現在のスナップショットと共に、マスターで取り込まれたタイムスタンプｔ２およびｔ３を含むとしてもよい。グランドマスターのグランドマスターからのタイムオフセットレジスタおよびグランドマスターからの周波数オフセットレジスタは、ドメイン間時間の同期化を有効にする場合を除き、０として符号化するとしてもよい。
【００７３】
様々な実施形態において、遅延要求パケットの送信レートはスイッチポートの構成レジスタによって決定するとしてもよい。遅延応答パケットは関連する遅延要求パケットの受信後、可及的速やかに送信するとしてもよい。フォローアップパケットは関連する遅延応答パケットの送信後、可及的速やかに送信するとしてもよい。
【００７４】
時間ｓｙｎｃメッセージのいずれかを送信または受信する間に発生するエラーでは、全パケット交換サイクルは無効にするとしてもよい。次いで、新しいサイクルは構成レジスタにより決定した間隔に従って開始するとしてもよい。グランドマスター時間からのタイムオフセットの計算は以下でより詳細に説明する。
【００７５】
２つまたはそれ以上のドメインを一緒に接続する場合、リンクの一方の端部をドメイン間スレーブとして、他方の端部をドメイン間マスターとして構成し、ドメイン間リンク全体で時間同期化を有効にするとしてもよい。例示的なドメイン間時間のｓｙｎｃプロトコルを図２５に示す。
【００７６】
図２５に示すように、時間同期化を有効にすると、パケット交換を開始するドメイン間スレーブとのドメイン間リンク全体で同一のパケット交換を行い得る。ドメイン間スレーブポートのグランドマスタークロックとドメイン間マスターポートのグランドマスタークロックとの間の計算された時間および周波数オフセットは、ドメイン間タイムスタンプパケットと呼ばれるトランスポート層パケットを用いて、スレーブドメインにおいて時間同期化階層を上へと進むとしてもよい。ドメイン間タイムスタンプパケットがスレーブドメインのグランドマスター（ルートスイッチ）に到ると、グランドマスターにおけるグランドマスターからのタイムオフセットレジスタおよびグランドマスターからの周波数オフセットレジスタは、計算されたタイムオフセット、およびドメイン間タイムスタンプパケットにそれぞれ含まれる周波数オフセットで更新されるとしてもよい。その後、グランドマスターのグランドマスターからのタイムオフセットレジスタおよびグランドマスターからの周波数オフセットレジスタは、ＦｏｌｌｏｗＵｐパケットにおけるスレーブドメインの時間同期化階層を下へと進むとしてもよい。これにより、スレーブドメイン内の全てのスイッチが時間をドメイン間グランドマスタークロックに同期化することになってもよい。
【００７７】
本明細書に記載される様々な実施形態は、１つまたは複数の管理ドメイン内に一緒に接続されたスイッチのネットワークにおいて、スイッチ上のローカルクロックエンティティとルートスイッチ上のグランドマスタークロックエンティティとの間の時間計算および周波数オフセットを提供するとしてもよい。様々な実施形態において、時間同期化プロトコルは、２つのポート（マスターおよびスレーブ）間のリンク全体で周期的に４つのタイムスタンプを取り込む段階を備えるとしてもよい。様々なデジタルシグナリング処理動作をタイムスタンプに適用し、グランドマスタークロックに対するローカルクロックエンティティの時間および周波数オフセットを計算するとしてもよい。本明細書に記載する複数のタイムスタンプに適用するデジタルシグナリングタイプおよびローパスフィルタリングタイプの技術を用いて、スイッチのより大きなサイズのネットワーク全体でも時間および／または周波数オフセットにおけるより高い確度を得ることができる。
【００７８】
図２６は時間同期化の例示的なトポロジーを示す。図示するように、ドメインｉのルートスイッチは表記Ｒｉを用いて示され、ドメインｉ内のマスターおよびスレーブスイッチはＭｉおよびＳｉとしてそれぞれ示される。示すように、様々な実施形態において、同一のスイッチは、アップストリームポートにおいてはスレーブとして、全てのダウンストリームポートにおいてはマスターとして動作することに留意されたい。スイッチはドメイン間マスターまたはドメイン間スレーブとしても動作するとしてもよい。
【００７９】
以下の表１はドメイン内時間ｓｙｎｃ計算、ドメイン間時間ｓｙｎｃ計算、およびグランドマスター時間計算を説明するときに本明細書で使用する様々な変数の術語の例示的な定義を示す。
【００８０】
様々な実施形態において、タイムスタンプは物理層によって生成するとしてもよく、送信パスと受信パスとの間の非対称について修正されるとしてもよい。スレーブは、以下の計算を行い、非対称を修正することができる。  ｔ１＝送信した遅延要求タイムスタンプ＋ＴｘＴｉｍｅｔｏＷｉｒｅ
ｔ４＝受信した遅延応答タイムスタンプ＋ＲｘＴｉｍｅｔｏＷｉｒｅ
【００８１】
式中、ＴｘＴｉｍｅｔｏＷｉｒｅおよびＲｘＴｉｍｅｔｏＷｉｒｅは、タイムスタンプを得た瞬間と、ワイヤ上でＴＳＮＯＳの第１のビットを受信／送信したときとの間の持続時間を指定する、スレーブのポート構成スペース内の構成レジスタとなり得る。
【００８２】
様々な実施形態において、マスターは以下の計算を行い、非対称を修正することができる。  ｔ２＝受信した遅延要求タイムスタンプ＋ＲｘＴｉｍｅｔｏＷｉｒｅ  ｔ３＝送信した遅延応答タイムスタンプ＋ＴｘＴｉｍｅｔｏＷｉｒｅ
【００８３】
式中、ＴｘＴｉｍｅｔｏＷｉｒｅおよびＲｘＴｉｍｅｔｏＷｉｒｅは、タイムスタンプを得た瞬間と、ワイヤ上でＴＳＮＯＳの第１のビットを受信／送信したときとの間の持続時間を指定する、マスターのポート構成スペース内の構成レジスタになり得る。修正された値ｔ２およびｔ３はフォローアップパケット内のスレーブに送信するとしてもよい。
【００８４】
ドメイン内ｓｙｎｃ計算については、以下の方程式を用いて、ｎ番目の時間ｓｙｎｃパケット交換の終了の都度、マスターのローカルクロックエンティティとスレーブのローカルクロックエンティティとの間の周波数比を計算する。
【数１】
0005867765.tif 000002
【００８５】
表１：例示的な変数の定義
【数２】
0005867765.tif 000003
【００８６】
様々な実施形態において、マスターのローカルクロックエンティティとスレーブのローカルクロックエンティティとの間の周波数オフセットは、次の方程式を用いて計算することができる。
【数３】
0005867765.tif 000004
【００８７】
様々な実施形態において、スレーブのローカルクロックエンティティとグランドマスターのローカルクロックエンティティとの間の周波数比は、次の方程式を用いて計算することができる。
【数４】
0005867765.tif 000005
【００８８】
様々な実施形態において、スレーブのローカルクロックエンティティとグランドマスターのローカルクロックエンティティとの間の周波数オフセットは、次の方程式を用いて計算することができる。
【数５】
0005867765.tif 000006
【００８９】
時間ｓｙｎｃパケット交換の終了の都度に、スレーブとマスターとの間の平均伝播遅延は、次の方程式を用いて計算することができる。
【数６】
0005867765.tif 000007
【００９０】
時間ｓｙｎｃパケット交換の終了の都度に、スレーブとマスターとの間のタイムオフセット（０（Ｓｉ，Ｍｉ）［ｎ］）は、以下の方程式を用いて計算することができる。
【数７】
0005867765.tif 000008
【００９１】
様々な実施形態において、マスターによってフォローアップパケットで送信し得る、グランドマスタークロックからのマスタークロックのタイムオフセットは、以下の方程式を用いて計算することができる。
【数８】
0005867765.tif 000009
【００９２】
様々な実施形態において、スレーブクロックとグランドマスタークロックとの間のタイムオフセットは、以下の方程式を用いて計算することができる。
【数９】
0005867765.tif 000010
【００９３】
様々な計算技術は、時間ｓｙｎｃパケット交換用のドメイン間リンクによって接続したドメイン間マスターとドメイン間スレーブとの間のドメイン間接続にも用いるとしてもよい。
【００９４】
様々な実施形態において、ドメイン間パケット交換の終了の都度に、ドメイン間スレーブは次式を用いてドメイン間タイムスタンプの値を計算することができる。
【数１０】
0005867765.tif 000011
【００９５】
式中、スクリプトｉはスレーブドメインを指し、スクリプトｊはマスタードメインを指し、スクリプトｇはグランドマスタードメインを指す。タイムスタンプｔ４［ｎ］は、ドメイン間時間ｓｙｎｃ交換の終了の都度に得た値を指すことがある。計算された値であるｔｌａｓｔ−ｉｄ（Ｓｉ）［ｎ］は、ドメイン間タイムスタンプパケットにおけるドメイン間スレーブノードによって送信するとしてもよい。
【００９６】
様々な実施形態において、ｎ番目の時間ｓｙｎｃパケット交換の終了の都度に、ドメイン間マスターのローカルクロックエンティティとドメイン間スレーブのローカルクロックエンティティとの間の周波数比は、以下の方程式を用いて計算することができる。
【数１１】
0005867765.tif 000012
【００９７】
様々な実施形態において、ドメイン間マスターのローカルクロックエンティティとドメイン間スレーブのローカルクロックエンティティとの間の周波数オフセットは、以下の方程式を用いて計算することができる。
【数１２】
0005867765.tif 000013
【００９８】
様々な実施形態において、スレーブドメインのルートスイッチとグランドマスタードメインのルートスイッチとの間の周波数比は、以下の方程式を用いて計算することができる。
【数１３】
0005867765.tif 000014
【００９９】
様々な実施形態において、スレーブドメインのルートスイッチとグランドマスタードメインのルートスイッチとの間の周波数オフセットは、以下の方程式を用いて計算することができる。
【数１４】
0005867765.tif 000015
【０１００】
時間ｓｙｎｃパケット交換の終了の都度に、ドメイン間スレーブとドメイン間マスターとの間の平均伝播遅延は、以下の方程式を用いて計算することができる。
【数１５】
0005867765.tif 000016
【０１０１】
時間ｓｙｎｃパケット交換の終了の都度に、ドメイン間スレーブとドメイン間マスターとの間のタイムオフセット（０（Ｓｉ，Ｍｊ）［ｎ］）は、以下の方程式を用いて計算することができる。
【数１６】
0005867765.tif 000017
【０１０２】
様々な実施形態において、ドメイン間マスターによってフォローアップパケットで送信され得る、ドメインのルートスイッチクロック（Ｒｊ）からのドメイン間マスタークロック（Ｍｊ）のタイムオフセットは、以下の方程式を用いて計算することができる。
【数１７】
0005867765.tif 000018
【０１０３】
様々な実施形態において、マスタードメイン（Ｒｊ）のルートスイッチクロックからのドメイン間スレーブのクロック（Ｓｉ）のタイムオフセットは、以下の方程式を用いて計算することができる。
【数１８】
0005867765.tif 000019
【０１０４】
様々な実施形態において、スレーブドメイン（Ｒｊ）のルートスイッチおよびグランドマスタードメイン（Ｒｇ）のルートスイッチのタイムオフセットは、以下の方程式を用いて計算することができる。
【数１９】
0005867765.tif 000020
【０１０５】
式中、様々な実施形態で、マスタードメインｊがグランドマスタードメインｇと同じであるとき、０（Ｒｊ，Ｒｇ）［ｎ］、Ｆ（Ｒｊ，Ｒｇ）［Ｎ］、およびｔｌａｓｔ−ｉｄ（Ｍｊ）［ｎ］の値は、０と想定してもよい。
【０１０６】
時間ｔの任意の瞬間に、ドメインｉ内の任意のスイッチ（Ｓｉ）は、以下の方程式を用いてグランドマスター時間ｔｇを計算することができる。
【数２０】
0005867765.tif 000021
【０１０７】
式中、様々な実施形態で、ドメインｉがいずれの他のドメインに対してもスレーブでない場合、ｔｌａｓｔ−ｉｄ（Ｓｉ）［ｎ］、０（Ｒｉ，Ｒｇ）［ｎ］、およびＦ（Ｒｉ，Ｒｇ）［Ｎ］の値は、０と想定することができる。
【０１０８】
図２７は本開示の様々な実施形態による、マルチプロトコルのトンネリングＩ／Ｏ相互接続を構成する例示的な方法２７００の流れ図である。方法２７００は、ブロック２７０２〜２７１０が例示する１つまたは複数の機能、動作、またはアクションを含むとしてもよい。
【０１０９】
方法２７００の処理は、マルチプロトコルの相互接続のスイッチングファブリックの複数のスイッチを識別し、ブロック２７０２から開始することができる。
【０１１０】
方法２７００は、複数のスイッチのスパニングツリー表現を作成し、ブロック２７０４に進むことができる。
【０１１１】
方法２７００は、スパニングツリーの複数のスイッチのスイッチに一意な識別（ＩＤ）を割り当て、ブロック２７０６に進むことができる。様々な実施形態において、ＩＤはスパニングツリー内のスイッチの相対的位置を表すことができる。
【０１１２】
方法２７００は、スイッチのそれぞれの１つまたは複数のレジスタにおけるスイッチ（スパニングツリー内）のＩＤおよび深度を記憶して、ブロック２７０８に進むことができる。
【０１１３】
方法２７００は、それぞれのＩＤに少なくとも部分的に基いて、構成パケットをスパニングツリーを介してスイッチにルーティングして、ブロック２７１０に進むことができる。
【０１１４】
図２８は、本開示の様々な実施形態による、マルチプロトコルのトンネリングＩ／Ｏ相互接続を含むコンピュータ装置を操作する例示的な方法を示す。方法２８００は、ブロック２８０２〜２８２２が例示する１つまたは複数の機能、動作、またはアクションを含むとしてもよい。
【０１１５】
方法２８００の処理は、周辺機器がマルチプロトコルのトンネリングＩ／Ｏ相互接続を含むコンピュータ装置のプロトコルに固有でないポートにプラグ接続されたかどうかを判断して、ブロック２８０２から開始することができる。プラグ接続は、プロトコルに固有でないポートと直接に結合する周辺機器、および／またはプロトコルに固有でないポートと直接に結合する、他のいくつかの周辺機器に直接に結合するターゲット周辺機器を指すことがある。後者の実施形態において、１つまたは複数の他の周辺機器は、ターゲット周辺機器とプロトコルに固有でないポートとの間に動作可能に配置するとしてもよい。周辺機器がプラグ接続されていない場合、ブロック２８０２の処理を反復するとしてもよい。様々な実施形態において、コンピュータ装置は、周辺機器がいつプラグ接続（例えばホットプラグ接続）されたかを表示する割込み信号を発するとしてもよい。
【０１１６】
方法２８００の処理は、データパケットを受信したかどうかを判断してブロック２８０４に進むことができる。データパケットを受信しない場合、ブロック２８０４の処理を反復するとしてもよい。様々な実施形態において、データパケットを周辺機器またはコンピュータ装置内部から受信するとしてもよい。様々な実施形態において、コンピュータ装置内のデータパケットは、マルチプロトコルのトンネリングＩ／Ｏ相互接続により、コンピュータ装置のプロトコルに固有のコントローラ（「ホストプロトコルに固有なコントローラ」）から受信するとしてもよい。
【０１１７】
方法２８００の処理は、データパケットを周辺機器またはホストプロトコルに固有なコントローラから受信したかどうかを判断して、ブロック２８０６に進むことができる。データパケットを受信しなかった場合、ブロック２８０６の処理を反復するとしてもよい。
【０１１８】
周辺機器からデータパケットを受信した場合、方法２８００の処理は第１のプロトコルのパケットを、Ｉ／Ｏ相互接続のスイッチングファブリックを介してルーティングされる第１のトランスポート層パケット内にカプセル化して、ブロック２８０８に進むことができる。様々な実施形態において、第１のプロトコルと異なる第２のプロトコルのパケットは、スイッチングファブリックを介してルーティングする第２のトランスポート層パケット内にもカプセル化するとしてもよい。
【０１１９】
方法２８００の処理は、Ｉ／Ｏ相互接続のスイッチングファブリックを介して第１および第２のトランスポート層パケットを同時にルーティングして、ブロック２８１０に進むことができる。
【０１２０】
方法２８００の処理は、トランスポート層パケットをデカプセル化して、ブロック２８１２に進むことができる。様々な実施形態において、デカプセル化はスイッチングファブリックのスイッチのアダプタポートで行うとしてもよい。
【０１２１】
方法２８００の処理は、コンピュータ装置の異なるホストプロトコルに固有なコントローラにデカプセル化したパケットをルーティングして、ブロック２８１４に進むことができる。
【０１２２】
データパケットを周辺機器から受信した場合、方法２８００の処理は、第１のプロトコルのパケットを、Ｉ／Ｏ相互接続のスイッチングファブリックを介してルーティングされる第１のトランスポート層パケット内にカプセル化してブロック２８０６からブロック２８１６に進むことができる。様々な実施形態において、第１のプロトコルと異なる第２のプロトコルのパケットも、スイッチングファブリックを介してルーティングする第２のトランスポート層パケットにカプセル化するとしてもよい。
【０１２３】
方法２８００の処理は、Ｉ／Ｏ相互接続のスイッチングファブリックを介して第１および第２のトランスポート層パケットを同時にルーティングして、ブロック２８１８に進むことができる。
【０１２４】
方法２８００の処理は、トランスポート層パケットをデカプセル化してブロック２８２０に進むことができる。様々な実施形態において、デカプセル化は、スイッチングファブリックのスイッチのアダプタポートで行うとしてもよい。
【０１２５】
方法２８００の処理は、コンピュータ装置のプロトコルに固有でないポート経由で周辺機器にデカプセル化したパケットをルーティングして、ブロック２８２２に進むことができる。
【０１２６】
図２９は、本開示の様々な実施形態による、マルチプロトコルの相互接続の時間同期化の例示的方法を示す。方法２９００は、ブロック２９０２〜２９１０が例示する１つまたは複数の機能、動作、またはアクションを含むとしてもよい。
【０１２７】
方法２９００の処理は、スイッチングファブリックの第２のスイッチにマルチプロトコルの相互接続のスイッチングファブリックの第１のスイッチの第１の現地時間を提供して、ブロック２９０２から開始することができる。様々な実施形態において、第１の現地時間は、第１のスイッチのポートから第２のスイッチのポートに提供することができる。様々な実施形態において、スイッチは同一のドメイン内または異なるドメイン内にあってもよい。
【０１２８】
方法２９００の処理は、第２のスイッチの第２の現地時間を決定してブロック２９０４に進むことができる。様々な実施形態において、第２の現地時間は、第２のスイッチの自励発振器のタイムスタンプに少なくとも部分的に基くとしてもよい。
【０１２９】
方法２９００の処理は、第１の現地時間および第２の現地時間に少なくとも部分的に基いてオフセット値を算出し、ブロック２９０６に進むことができる。様々な実施形態において、オフセット値は、第２のスイッチの自励発振器および第１のスイッチから受信した第１の現地時間のタイムスタンプに少なくとも部分的に基くとしてもよい。
【０１３０】
方法２９００の処理は、第２のスイッチの１つまたは複数のポートにオフセット値および第２の現地時間を提供して、ブロック２９０８に進むことができる。
【０１３１】
方法２９００の処理は、第１の現地時間を第２のスイッチからスイッチングファブリックの第３のスイッチに提供して、ブロック２９１０に進むことができる。第３のスイッチは、第１のスイッチおよび／もしくは第２のスイッチと同一のドメイン内、または第１のスイッチおよび第２のスイッチのいずれかとは異なるドメイン内にあってもよい。図示しないが、第３のスイッチの第３の現地時間は第１の現地時間に調節するとしてもよい。第３のスイッチが第２のドメイン内のスレーブスイッチである実施形態については、第３のスイッチは第１の現地時間を第２のドメイン内の第４のスイッチに提供し、第４のスイッチの第４の現地時間を第１の現地時間に調節するとしてもよい。その後、調節した第４の現地時間は、時間同期化のために第３のスイッチまたは第２のドメイン内の別のスイッチに再度提供するとしてもよい。
【０１３２】
様々な実施形態において、製造物を使用し、本明細書に記載する１つまたは複数の方法を実装するとしてもよい。図３０は例示的な製造物３０００を記載する。示すように、製造物３０００は、コンピュータ読取可能な非一時的記憶媒体３００２および記憶媒体３００２を含むとしてもよい。記憶媒体３００２は装置に、本開示の実施形態によるマルチプロトコルのトンネリングのいくつかまたは全ての態様を実施させるプログラミング命令３００４を含むとしてもよい。
【０１３３】
記憶媒体３００２は、フラッシュメモリ、光学ディスク、または磁気ディスクを含むがこれらに限定されない、当技術分野で既知の広範な持続性記憶媒体を表し得る。具体的には、プログラミング命令３００４は、装置が、装置による実行に応答して本明細書に記載する様々な動作を行うことを可能にするとしてもよい。例えば、記憶媒体３００２は、本開示の実施形態により、例えば図２７〜２９の方法のマルチプロトコルのトンネリングのいくつかまたは全ての態様を装置に実施させるプログラミング命令３００４を含むとしてもよい。
【０１３４】
様々な例示的方法、装置、システム、および製造物を本明細書で説明したが、本開示が包含する範囲はこれらに限定されるものではない。むしろ、本開示は字義通りまたは均等論の下で添付の特許請求の範囲内にほぼ含まれる全ての方法、装置、製造物を包含する。例えば、上記はコンポーネントの中でもとりわけ、ハードウェア上で実行されるソフトウェアまたはファームウェアを含む例示的なシステムを開示するが、そのようなシステムは例示的であるのみであり、限定的とはみなされるべきでないことに留意されたい。具体的には、開示されるハードウェアコンポーネント、ソフトウェアコンポーネント、および／またはファームウェアコンポーネントのいずれかまたは全ては、ハードウェアのみで、ソフトウェアのみで、ファームウェアのみで、またはハードウェア、ソフトウェア、および／またはファームウェアのいくつかを組み合わせて実施し得ることを企図する。
本発明の例を下記の各項目として示す。
［項目１］
マルチプロトコルの相互接続の時間同期化のための方法であって、
マルチプロトコルの相互接続のスイッチングファブリックの第１のスイッチの第１のローカル時間を、前記スイッチングファブリックの第２のスイッチに提供する段階と、
前記第２のスイッチの第２のローカル時間を前記第１のローカル時間に調節する段階と
を備える方法。
［項目２］
前記調節する段階は、前記第２のスイッチの自励発振器のタイムスタンプに少なくとも部分的に基いて前記第２のローカル時間を決定する段階を有する、項目１に記載の方法。
［項目３］
前記調節する段階は、前記第１のスイッチから受信した前記タイムスタンプおよび前記第１のローカル時間に少なくとも部分的に基いてオフセット値を算出する段階と、
前記オフセット値によって前記第２のローカル時間を調節する段階と
を更に有する、項目２に記載の方法。
［項目４］
前記第２のスイッチの第１のポートから前記第２のスイッチの第２のポートに、前記調節された第２のローカル時間を提供する段階を更に有する、項目２または３に記載の方法。
［項目５］
前記第１のローカル時間を前記第２のスイッチに提供する段階は、前記第１のスイッチの第１のポートから前記第２のスイッチの第２のポートに、前記第１のローカル時間を提供する段階を有する、項目１〜４のいずれか一項に記載の方法。
［項目６］
前記第２のスイッチから前記スイッチングファブリックの第３のスイッチに、前記第１のローカル時間を提供する段階を更に有する、項目１〜５のいずれか一項に記載の方法。
［項目７］
前記第３のスイッチの第３のローカル時間を前記第１のローカル時間に調節する段階を更に有する、項目６に記載の方法。
［項目８］
前記第１のローカル時間を前記第２のスイッチに提供する前記段階は前記第１のスイッチの自励発振器の周波数の値を前記第２のスイッチに提供する段階を有し、前記方法は前記第２のスイッチから前記第３のスイッチに前記周波数の値を提供する段階を更に有する、項目６または７に記載の方法。
［項目９］
前記第１のスイッチおよび前記第２のスイッチは第１のドメインを有し、
前記方法は前記第２のスイッチから前記スイッチングファブリックの第２のドメインの第３のスイッチに、前記第１のローカル時間を提供する段階を更に有する、項目１〜６のいずれか一項に記載の方法。
［項目１０］
前記第３のスイッチから前記第２のドメインの第４のスイッチに前記第１のローカル時間を提供する段階と、
前記第４のスイッチの第４のローカル時間を前記第１のローカル時間に調節する段階と
を更に有する、項目９に記載の方法。
［項目１１］
前記調節された第４のローカル時間を前記第３のスイッチに提供する段階と、
前記第３のスイッチの第３のローカル時間を前記調節された第４のローカル時間に調節する段階と
を備える、項目１０に記載の方法。
［項目１２］
前記調節された第４のローカル時間を前記第２のドメインの第５のスイッチに提供する段階と、
前記第５のスイッチの第５のローカル時間を前記調節された第４のローカル時間に調節する段階と
を更に備える、項目１０または１１に記載の方法。
［項目１３］
マルチプロトコルの相互接続の時間同期化のためのプログラムであって、
コンピュータに、
マルチプロトコルの相互接続のスイッチングファブリックの第１のスイッチの第１のローカル時間を前記スイッチングファブリックの第２のスイッチに提供する手順と、
前記第２のスイッチの第２のローカル時間を前記第１のローカル時間に調節する手順とを実行させるプログラム。
［項目１４］
前記調節する手順は、前記第２のスイッチの自励発振器のタイムスタンプに少なくとも部分的に基いて前記第２のローカル時間を決定する手順を含む、項目１３に記載のプログラム。
［項目１５］
前記第１のローカル時間を前記第２のスイッチに提供する手順は、前記第１のスイッチの第１のポートから前記第２のスイッチの第２のポートに前記第１のローカル時間を提供する手順を含む、項目１３または１４に記載のプログラム。
［項目１６］
コンピュータに、前記第２のスイッチから前記スイッチングファブリックの第３のスイッチに前記第１のローカル時間を提供する手順を更に実行させる、項目１３〜１５のいずれか一項に記載のプログラム。
［項目１７］
前記第１のスイッチおよび前記第２のスイッチは第１のドメインを有し、
コンピュータに、前記第２のスイッチから前記スイッチングファブリックの第２のドメインの第３のスイッチに前記第１のローカル時間を提供する手順を更に実行させる、項目１３〜１６のいずれか一項に記載のプログラム。
［項目１８］
マルチプロトコルの相互接続の時間同期化ためのシステムであって、
複数のスイッチを有するスイッチングファブリックを有するマルチプロトコルの相互接続を含むＩ／Ｏ複合体と、
前記Ｉ／Ｏ複合体と動作可能に結合された１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサと動作可能に結合され、内部に複数のプログラミング命令を記憶したコンピュータ読取可能な非一時的記憶媒体であって、前記複数のプログラミング命令の実行に応答して、前記システムが
前記スイッチングファブリックの第１のスイッチの第１のローカル時間を前記スイッチングファブリックの第２のスイッチに提供し、
前記第２のスイッチの第２のローカル時間を前記第１のローカル時間に調節することを可能にするコンピュータ読取可能な非一時的記憶媒体と、
前記Ｉ／Ｏ複合体および前記１つまたは複数のプロセッサに動作可能に結合された表示装置と
を備えるシステム。
［項目１９］
前記システムは、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、サーバー、セットトップボックス、デジタル記録装置、ゲームコンソール、スマートフォン、携帯情報端末、携帯電話、デジタルメディアプレーヤ、またはデジタルカメラのうちの選択された１つである、項目１８に記載のシステム。
［項目２０］
バスによって前記Ｉ／Ｏ複合体に動作可能に結合され、無線ネットワークの１つまたは複数のコンポーネントとの無線通信リンクを確立する１つまたは複数のアンテナを更に備える、項目１８または１９に記載のシステム。
［項目２１］
スイッチと、
自励発振器であるローカルクロックと、
少なくとも１つのポートと、
を備える集積回路デバイスであり、
前記集積回路デバイスは、第１の集積回路デバイスであり、
前記第１の集積回路デバイスの第１のローカル時間に、第１の時間同期化メッセージを第２の集積回路デバイスに、送信し、
前記少なくとも１つのポートのうちの第１ポートにより、第２の時間同期化メッセージを、前記第２の集積回路デバイスから受信し、前記第２の時間同期化メッセージは、タイムスタンプポイントを有する順序付けられたデータセットを含み、
前記第２の時間同期化メッセージの前記タイムスタンプポイントが前記第１の集積回路デバイス内の参照点を渡すときに、タイムスタンプを生成し、前記タイムスタンプは、前記第１の集積回路デバイスの第２のローカル時間であり、
前記第２の集積回路デバイスの第３および第４のローカル時間を含む第３の時間同期化メッセージを受信し、前記第３の時間同期化メッセージは、前記第２の時間同期化メッセージとは異なる時間で受信され、
前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の第１のオフセット値を決定し、該決定することは、前記第１の集積回路デバイス内で生成される前記タイムスタンプおよび前記第１の集積回路デバイスの前記第１のローカル時間、前記第２の集積回路デバイスの前記第３および第４のローカル時間、ならびに前記第１の集積回路デバイスおよび前記第２の集積回路デバイスの間の送信および受信パスの間の時間非対称修正に少なくとも部分的に基づいて、前記第１のオフセット値を算出することを含み、前記時間非対称修正は、前記第１の集積回路デバイスおよび前記第２の集積回路デバイスの間の前記送信および受信パスの間の非対称を修正する、集積回路デバイス。
［項目２２］
前記タイムスタンプは、少なくとも８ナノ秒の解像度を有する、項目２１に記載の集積回路デバイス。
［項目２３］
前記集積回路デバイスは、さらに、周波数オフセット値を決定し、前記周波数オフセット値は、前記第２の集積回路デバイスのクロックと前記第１の集積回路デバイスの前記自励発振器との間の周波数の前記オフセットを表す、項目２１または２２に記載の集積回路デバイス。
［項目２４］
前記集積回路デバイスは、さらに、ＰＣＩ  Ｅｘｐｒｅｓｓ、ＵＳＢ，およびＤｉｓｐｌａｙＰｏｒｔプロトコルに従って複数のデバイス間でデータを送信するマルチプロトコル入出力ファブリックの一部である、項目２１から２３のいずれか一項に記載の集積回路デバイス。
［項目２５］
前記第１の時間同期化メッセージは、時間ｓｙｎｃ通知に順序付けられたセット（ＴＳＮＯＳ）である、項目２１から２４のいずれか一項に記載の集積回路デバイス。
［項目２６］
前記集積回路デバイスは、さらに、決定された時間オフセット値を格納する時間オフセットレジスタを含む、項目２１から２５のいずれか一項に記載の集積回路デバイス。
［項目２７］
前記集積回路デバイスは、さらに、決定された周波数オフセット値を格納する周波数オフセットレジスタを含む、項目２３に記載の集積回路デバイス。
［項目２８］
前記集積回路デバイスは、さらに、前記少なくとも１つのポートのうちの第２ポートにより、前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の前記第１のオフセット値を、第３の集積回路デバイスに送信する、項目２１から２７のいずれか一項に記載の集積回路デバイス。
［項目２９］
前記集積回路デバイスは、さらに、第３の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の第２のオフセット値を決定し、前記第２のオフセット値は、前記第３の集積回路デバイスのローカル時間からの前記第２の集積回路デバイスのローカル時間の第３のオフセット値と、前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の前記第１のオフセット値と、の和であり、前記第３の時間同期化メッセージは、さらに、前記第３のオフセット値を含む、項目２１から２８のいずれか一項に記載の集積回路デバイス。
［項目３０］
プロセッサと、
前記プロセッサに操作可能に連結されたメモリと、
前記プロセッサに操作可能に連結された入出力相互接続（Ｉ／Ｏ相互接続）と、
を備えるシステムであり、前記入出力相互接続は、
スイッチと、自励発振器であるローカルクロックと、少なくとも１つのポートと、を含む集積回路デバイスであり、前記集積回路デバイスは、第１の集積回路デバイスであり、
前記第１の集積回路デバイスの第１のローカル時間にて、第２の集積回路デバイスに第１の時間同期化メッセージを送信し、
前記少なくとも１つのポートのうちの第１ポートにより、前記第２の集積回路デバイスからの第２の時間同期化メッセージを受信し、前記第２の時間同期化メッセージは、タイムスタンプポイントを有する順序付けられたデータセットを含み、
前記第２の時間同期化メッセージの前記タイムスタンプポイントが前記第１の集積回路デバイス内の参照点を渡すときに、タイムスタンプを生成し、前記タイムスタンプは、前記第１の集積回路デバイスの第２のローカル時間であり、
前記第２の集積回路デバイスの第３および第４のローカル時間を含む第３の時間同期化メッセージを受信し、前記第３の時間同期化メッセージは、前記第２の時間同期化メッセージとは異なる時間で受信され、
前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間のオフセット値を決定し、該決定することは、前記第１の集積回路デバイス内で生成される前記タイムスタンプおよび前記第１の集積回路デバイスの前記第１のローカル時間、前記第２の集積回路デバイスの前記第３および第４のローカル時間、ならびに前記第１の集積回路デバイスおよび前記第２の集積回路デバイスの間の送信および受信パスの間の時間非対称修正に少なくとも部分的に基づいて、前記オフセット値を算出することを含み、前記時間非対称修正は、前記第１の集積回路デバイスおよび前記第２の集積回路デバイスの間の前記送信および受信パスの間の非対称を修正する、システム。
［項目３１］
前記タイムスタンプは、少なくとも８ナノ秒の解像度を有する、項目３０に記載のシステム。
［項目３２］
前記集積回路デバイスは、さらに、周波数オフセット値を決定し、前記周波数オフセット値は、前記第２の集積回路デバイスのクロックと前記第１の集積回路デバイスの前記自励発振器との間の周波数の前記オフセットを表す、項目３０または３１に記載のシステム。
［項目３３］
前記集積回路デバイスは、さらに、ＰＣＩ  Ｅｘｐｒｅｓｓ、ＵＳＢ，およびＤｉｓｐｌａｙＰｏｒｔプロトコルに従って複数のデバイス間でデータを送信するマルチプロトコル入出力ファブリックの一部である、項目３０から３２のいずれか一項に記載のシステム。
［項目３４］
前記第１の時間同期化メッセージは、時間ｓｙｎｃ通知に順序付けられたセット（ＴＳＮＯＳ）である、項目３０から３３のいずれか一項に記載のシステム。
［項目３５］
前記集積回路デバイスは、さらに、決定された時間オフセット値を格納する時間オフセットレジスタを含む、項目３０から３４のいずれか一項に記載のシステム。
［項目３６］
前記集積回路デバイスは、さらに、決定された周波数オフセット値を格納する周波数オフセットレジスタを含む、項目３２に記載のシステム。
［項目３７］
前記集積回路デバイスは、さらに、前記少なくとも１つのポートのうちの第２ポートにより、前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の前記オフセット値を、第３の集積回路デバイスに送信する、項目３０から３６のいずれか一項に記載のシステム。
［項目３８］
前記集積回路デバイスは、さらに、第３の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の追加のオフセット値を決定し、前記追加のオフセット値は、前記第３の集積回路デバイスのローカル時間からの前記第２の集積回路デバイスのローカル時間のオフセット値と、前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の前記オフセット値と、の和である、項目３０から３７のいずれか一項に記載のシステム。
［項目３９］
プロセッサと、
集積回路デバイスと、
を備えるシステムであり、前記プロセッサおよび前記集積回路デバイスは操作可能に接続され、前記システムは周辺デバイスであり、前記集積回路デバイスは、
スイッチと、
自励発振器であるローカルクロックと、
少なくとも２つのポートと、
を含み、前記集積回路デバイスは第１の集積回路デバイスであり、
前記第１の集積回路デバイスの第１のローカル時間にて、第２の集積回路デバイスに第１の時間同期化メッセージを送信し、
前記少なくとも２つのポートのうちの第１ポートにより、前記第２の集積回路デバイスからの第２の時間同期化メッセージを受信し、前記第２の時間同期化メッセージは、第１のタイムスタンプポイントを有する第１の順序付けられたデータセットを含み、
前記第２の時間同期化メッセージの第１のタイムスタンプポイントが前記第１の集積回路デバイス内の参照点を渡すときに、第１のタイムスタンプを生成し、前記第１のタイムスタンプは、前記第１の集積回路デバイスの第２のローカル時間であり、
前記第２の集積回路デバイスの第３および第４のローカル時間を含む第３の時間同期化メッセージを受信し、前記第３の時間同期化メッセージは、前記第２の時間同期化メッセージとは異なる時間で受信され、
前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の第１のオフセット値を決定し、該決定することは、前記第１の集積回路デバイスの前記第１のローカル時間および前記第２のローカル時間ならびに前記第２の集積回路デバイスの前記第３のローカル時間および第４のローカル時間、ならびに前記第１の集積回路デバイスおよび前記第２の集積回路デバイスの間の送信および受信パスの間の時間非対称修正に少なくとも部分的に基づいて、前記第１のオフセット値を算出することを含み、
前記第１の集積回路デバイスは、また、
前記少なくとも２つのポートのうちの第２ポートにより、第３の集積回路デバイスからの第５の時間同期化メッセージを受信し、前記第５の時間同期化メッセージは、第２のタイムスタンプポイントを有する第２の順序付けられたデータセットを含み、
前記第５の時間同期化メッセージの前記第２のタイムスタンプポイントが前記第１の集積回路デバイス内の参照点を渡すときに、第２のタイムスタンプを生成し、前記第２のタイムスタンプは、前記第１の集積回路デバイスの第５のローカル時間であり、
前記第５のローカル時間を含む第６の時間同期化メッセージを前記第３の集積回路デバイスに送信する、システム。
［項目４０］
前記第１及び第２のタイムスタンプは、少なくとも８ナノ秒の解像度を有する、項目３９に記載のシステム。
［項目４１］
前記集積回路デバイスは、さらに、周波数オフセット値を決定し、前記周波数オフセット値は、前記第２の集積回路デバイスのクロックと前記第１の集積回路デバイスの前記自励発振器との間の周波数の前記オフセットを表す、項目３９または４０に記載のシステム。
［項目４２］
前記集積回路デバイスは、さらに、ＰＣＩ  Ｅｘｐｒｅｓｓ、ＵＳＢ，およびＤｉｓｐｌａｙＰｏｒｔプロトコルに従って複数のデバイス間でデータを受信および送信する、項目３９から４１のいずれか一項に記載のシステム。
［項目４３］
前記第１の時間同期化メッセージおよび前記第２の時間同期化メッセージは、時間ｓｙｎｃ通知に順序付けられたセット（ＴＳＮＯＳ）である、項目３９から４２のいずれか一項に記載のシステム。
［項目４４］
前記集積回路デバイスは、さらに、決定された時間オフセット値を格納する時間オフセットレジスタを含む、項目３９から４３のいずれか一項に記載のシステム。
［項目４５］
前記集積回路デバイスは、さらに、決定された周波数オフセット値を格納する周波数オフセットレジスタを含む、項目４１に記載のシステム。
［項目４６］
前記集積回路デバイスは、さらに、前記第２ポートにより、前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の前記第１のオフセット値を、前記第３の集積回路デバイスに送信する、項目３９から４５のいずれか一項に記載のシステム。
［項目４７］
前記集積回路デバイスは、さらに、第４の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の第２のオフセット値を決定し、前記第２のオフセット値は、前記第４の集積回路デバイスのローカル時間からの前記第２の集積回路デバイスのローカル時間の第３のオフセット値と、前記第２の集積回路デバイスのローカル時間からの前記第１の集積回路デバイスのローカル時間の前記第１のオフセット値と、の和であり、前記第３の時間同期化メッセージは、さらに、前記第３のオフセット値を含む、項目３９から４６のいずれか一項に記載のシステム。
［項目４８］
前記システムは、さらに、ディスプレイを備え、前記ディスプレイは、前記プロセッサおよび前記集積回路デバイスに操作可能に接続される、項目３９から４７のいずれか一項に記載のシステム。
【図１】
0005867765.tif 000022
【図２】
0005867765.tif 000023
【図３】
0005867765.tif 000024
【図４】
0005867765.tif 000025
【図５】
0005867765.tif 000026
【図６Ａ】
0005867765.tif 000027
【図６Ｂ】
0005867765.tif 000028
【図７】
0005867765.tif 000029
【図８】
0005867765.tif 000030
【図９】
0005867765.tif 000031
【図１０】
0005867765.tif 000032
【図１１】
0005867765.tif 000033
【図１２】
0005867765.tif 000034
【図１３】
0005867765.tif 000035
【図１４】
0005867765.tif 000036
【図１５】
0005867765.tif 000037
【図１６】
0005867765.tif 000038
【図１７】
0005867765.tif 000039
【図１８】
0005867765.tif 000040
【図１９】
0005867765.tif 000041
【図２０】
0005867765.tif 000042
【図２１】
0005867765.tif 000043
【図２２】
0005867765.tif 000044
【図２３】
0005867765.tif 000045
【図２４】
0005867765.tif 000046
【図２５】
0005867765.tif 000047
【図２６】
0005867765.tif 000048
【図２７】
0005867765.tif 000049
【図２８】
0005867765.tif 000050
【図２９】
0005867765.tif 000051
【図３０】
0005867765.tif 000052