(57)【要約】【解決手段】  ストリーミングデータネットワークにおいて第１の装置から第２の装置へ制御データを同期的に送信し、アドレス指定されていないデータをストリーミングデータネットワーク経由で転送する方法が開示されている。第１の装置は、ストリーミングデータネットワーク上で送信されるデータパケットに、第２の装置を識別する識別子を挿入する。前記第１の装置では、前記第２の装置からの第１の確認応答が受信される。少なくとも第２の確認応答が前記第１の装置で受信されるまで、前記データパケットには、前記制御データの少なくとも一部が挿入される。この工程は、すべての制御データが前記第２の装置に送信されるまで、前記制御データの追加部分を加えて繰り返される。次いで、少なくとも第３の確認応答が前記第１の装置で受信されるまで、前記識別子が前記データパケットから除去される。【選択図】      図６
2009512021.tif 000002
【特許請求の範囲】
【請求項１】
ストリーミングデータネットワーク経由でデータを送信する方法であって、
制御装置からのスロット指定を要求する工程と、
前記制御装置からスロット割り当てを受信する工程と、
前記ストリーミングデータネットワークの外部にある送信元（ソース）からデータを受信する工程と、
前記割り当てられたスロットで前記データを送信し、且つ前記割り当てられたスロット内で新しいデータが利用可能である旨の指標を送信する工程であって、前記データはいかなる送信先装置のアドレスも含まないものである、前記送信する工程と
を有する方法。
【請求項２】
請求項１記載の方法において、前記要求工程は、データ型指定をさらに有するものである。
【請求項３】
請求項２記載の方法において、前記データ型指定は、
ＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅの略称）データ、
ＲＳ−２３２データ、および
汎用入出力（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ：ＧＰＩＯ）データ
のうち１若しくはそれ以上を有するものである。
【請求項４】
ストリーミングデータネットワークからデータを受信する方法であって、
１若しくはそれ以上のデータスロットの各々について、新しいデータが利用可能である旨の指標を受信する工程と、
新しいデータが利用可能な少なくとも１つの前記データスロットからデータを受信する工程と、
新しいデータが利用可能な各前記データスロットについて、前記データを処理すべきかを決定する工程と
を有する方法。
【請求項５】
請求項４記載の方法において、この方法は、さらに、
制御装置から各スロット用のデータ型指定を受信する工程を有し、
前記データを処理すべきかを決定する工程は、少なくとも前記データスロット用の前記データ型指定に基づくものである。
【請求項６】
請求項４記載の方法において、前記データを処理すべきかを決定する工程は、少なくとも前記データスロットに基づくものである。
【請求項７】
請求項４記載の方法において、この方法は、前記データを処理すべきである場合、さらに、
前記データスロット内に第１のデータを含む第１のデータパケットを受信する工程と、
前記データスロット内に第２のデータを含む第２のデータパケットを受信する工程と、
前記第１のデータが前記第２のデータと一致した場合、前記第１のデータを検証する工程と、
一致しなかった場合は、
前記データスロット内に第３のデータを含む第３のデータパケットを受信し、
前記第１のデータが前記第３のデータと一致した場合、前記第１のデータを検証し、
前記第２のデータが前記第３のデータと一致した場合、前記第２のデータを検証する工程と
を有するものである。
【請求項８】
請求項４記載の方法において、この方法は、さらに、
前記ストリーミングデータネットワークの外部にある送信先へ、処理されたデータを送信する工程を有するものである。
【請求項９】
ストリーミングデータネットワーク経由でデータを転送するシステムであって、
制御装置と、
１若しくはそれ以上の送信元装置と、
１若しくはそれ以上の送信先装置と
を有し、
各前記送信元装置は、
前記制御装置からのスロット割り当てを要求および受信するスロット指定リクエスタと、
前記ストリーミングデータネットワークの外部にある送信元からデータを受信する第１の受信インターフェースと、
新しいデータが利用可能である旨の指標と前記データとを前記割り当てられたスロット内で送信する送信インターフェースであって、前記データはいかなる送信先装置のアドレスも含まないものである、前記送信インターフェースと
を有し、
各前記送信先装置は、
１若しくはそれ以上のデータスロットの各々について、前記新しいデータが利用可能である旨の指標を受信し、且つ、新しいデータが利用可能な少なくとも１つのデータスロットからデータを受信する第２の受信インターフェースと、
新しいデータが利用可能な各データスロットについて、前記データを処理すべきかを決定するデータプロセッサと
を有するものである
システム。
【請求項１０】
請求項９記載のシステムにおいて、前記制御装置は、割り当てられた各スロットについてデータ型指定を送信する第２の送信インターフェースを有するものである。
【請求項１１】
請求項１０記載のシステムにおいて、前記データ型指定は、
ＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅの略称）データ、
ＲＳ−２３２データ、および
汎用入出力（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ：ＧＰＩＯ）データ
のうち１若しくはそれ以上を有するものである。
【請求項１２】
請求項９記載のシステムにおいて、前記第２の受信インターフェースは、割り当てられた各スロットに関するデータ型指定を前記制御装置からさらに受信するものであり、前記データプロセッサは、新しいデータが利用可能な各データスロットからのデータを処理すべきかを、少なくとも前記データスロット用の前記データ型指定に基づいて決定するものである。
【請求項１３】
請求項９記載のシステムにおいて、前記データプロセッサは、新しいデータが利用可能な各データスロットからのデータを処理すべきかを、少なくとも前記データスロットに基づいて決定するものである。
【請求項１４】
請求項９記載のシステムにおいて、各前記送信先装置は、
前記ストリーミングデータネットワークの外部にある送信先へ、処理されたデータを送信する外部装置インターフェースをさらに有するものである。
【請求項１５】
請求項９記載のシステムにおいて、各前記送信先装置は、
比較モジュールをさらに有し、
データスロット用のデータを処理すべきであると前記データプロセッサが決定した場合、前記第２の受信インターフェースは、前記データスロット内に第１のデータを含む第１のデータパケットをさらに受信し、且つ前記データスロット内に第２のデータを含む第２のデータパケットをさらに受信するものであり、
前記比較モジュールは、前記第１のデータが前記第２のデータと一致した場合、前記第１のデータを検証するものである。
【請求項１６】
請求項１５記載のシステムにおいて、前記第１のデータが前記第２のデータと一致しなかった場合、前記第２の受信インターフェースは、前記データスロット内に第３のデータを含む第３のデータパケットをさらに受信するものであり、前記比較モジュールは、前記第１のデータが前記第３のデータと一致した場合、前記第１のデータを検証し、また前記第２のデータが前記第３のデータと一致した場合、前記第２のデータを検証するものである。
【請求項１７】
請求項９記載のシステムにおいて、各前記第２の受信インターフェースは、
比較モジュールを有し、
データスロット用のデータを処理すべきであると前記データプロセッサが決定した場合、前記第２の受信インターフェースは、前記データスロット内に第１のデータを含む第１のデータパケットをさらに受信し、且つ前記データスロット内に第２のデータを含む第２のデータパケットをさらに受信するものであり、
前記比較モジュールは、前記第１のデータが前記第２のデータと一致した場合、前記第１のデータを検証するものである。
【請求項１８】
請求項１７記載のシステムにおいて、前記第１のデータが前記第２のデータと一致しなかった場合、前記第２の受信インターフェースは、前記データスロット内に第３のデータを含む第３のデータパケットを受信するものであり、前記比較モジュールは、前記第１のデータが前記第３のデータと一致した場合、前記第１のデータを検証し、また前記第２のデータが前記第３のデータと一致した場合、前記第２のデータを検証するものである。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２００５年１０月１８日付けで出願されたＢａｄｅｒらの係属中米国特許出願第１１／２５２，５７７号「データを配信するためのパケットベースのシステムおよび方法（Ｐａｃｋｅｔ−Ｂａｓｅｄ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｄｉｓｔｒｉｂｕｔｉｎｇ  Ｄａｔａ）」の優先権を主張する継続出願であり、また２００５年１０月６日付けで出願済された係属中米国仮出願第６０／７２４，３０７号「Ａ−Ｎｅｔ  Ｇ２設計仕様（Ａ−Ｎｅｔ  Ｇ２  Ｄｅｓｉｇｎ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）」および２００５年１０月６日付けで出願された係属中米国仮出願第６０／７２４，２０１号「モジュール間の通信仕様（Ｉｎｔｅｒ  Ｍｏｄｕｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）」の優先権を主張するものであり、これらの出願はそれぞれの参照によりその全体が本明細書に組み込まれるものである。
【背景技術】
【０００２】
種々の音声およびビデオシステム製造業者は、ネットワーク内の種々の位置でデジタル音声を挿入および抽出できる音声および／またはビデオ装置のマルチチャネルネットワーキングシステムの提供を試行してきている。通常、このようなシステムは、標準Ｅｔｈｅｒｎｅｔ（登録商標）（イーサネット（登録商標））交換パケットネットワークにおいて、データとしてルーティングされるデジタル音声を有する。このようなアプローチは容易に利用できる構成要素を活用したものだが、リアルタイムストリーミングメディアについては、いくつかの理由で十分な性能を発揮できない。
【０００３】
例えば、大半の交換パケットシステムは、全装置が中央の「サーバー」に接続されたスター型トポロジーを要する。このため各装置は、前記サーバーへのケーブル接続を別個に必要とする。複数の装置が互いに近接配置されていても前記サーバーから遠く離れている場合、ケーブルコストその他を考慮すると、上記の構成は最適と言いがたい。
【０００４】
また一部のケースでは、ネットワーキングシステム内の各位置において音声データを利用できることが好ましい。このため、入力装置からのデータフローが双方向であるシステムが開発されてきた。一部のケースでは、複数の装置が中央に位置した「ハブ」に接続されるスター型トポロジーを使用することが望ましい。従来の装置で音声データの双方向転送をサポートできるようにするには当該データのルーティングを非常に高位のアプリケーションレイヤーで扱わなければならないため、リアルタイム処理を行う状況にとっては望ましくない遅延あるいは待ち時間が付加的に生じてしまう。例えば、職業音楽家または高度に熟練した音楽家が音声処理における非常にわずかな遅延（わずか１ｍｓ程度）に気づくことはままあり、これが性能に問題をきたすおそれもある。より下位のレイヤーで双方向のデータ引き渡しをサポートする従来のシステムは、標準イーサネット（登録商標）スイッチに直面すると、単一方向に戻ってしまう。
【０００５】
双方向システムの別の利点は、装置が別の装置から見て「アップストリーム」にあるか「ダウンストリーム」にあるかを利用者が認識しなくともよい点にある。この場合、すべての装置はシステム内で等しく見なされる。
【０００６】
さらに、従来のイーサネット（登録商標）パケットは、１つのポートから別のポートへと連続した形態でしかルーティングできない。このようなパケットには、データパケットを更新するための送信中、付加的なポートから新しいデータを追加することができない。このように、既存のデジタルネットワーキングシステムは、イーサネット（登録商標）スイッチに直面して単一方向になるか、アプリケーションレイヤーでチャネルデータがマージされたのちネットワーキングシステムに再挿入されて著しい待ち時間が付加されるかのいずれかになる。
【０００７】
既存のデジタルシステムは、非常に狭い範囲のサンプルレートクロックをサポートするか、あるいはシステム同期専用のハードウェアクロック信号を必要とする。アナログ音声データが導入されても、デジタルへの変換がネットワーククロックと同期していれば、このソリューション（解決策）で十分である。ただし、デジタル音声データがシステムに導入されると、そのデータは、独立したネットワーククロックに対し非同期になってしまう。そのため、そのデータをサンプルレート変換し、ネットワーククロックに合致させなければならない。これは、（ｉ）サンプルレート変換により信号に遅延が生じてしまう、（ｉｉ）サンプルレートコンバータを加えることでシステムに追加コストが生じてしまう、（ｉｉｉ）サンプルレートコンバータは、元のサンプル間に存在する新しいサンプルポイントを数学的に推定し望ましいタイミングに合うよう生音声データを変換しなければならない、という点で望ましくない。このため、特に専門的な音声用途の場合、サンプルレート変換により、入力された音声データに望ましくないカラーレーション（音色変化）が起こるおそれがある。
【０００８】
従来の専門音声システムには、異なる複数のサンプルレートでの動作が必要な場合がある。例えば、多くのシステムは４８ＫＨｚ、９６ＫＨｚ、および／または１９２ＫＨｚで動作する。しかし、音声ＣＤは４４．１ＫＨｚでマスタリングされる。そのため、４８ＫＨｚだけで動作可能なシステムでは、音声ＣＤからデジタルコンテンツを取得する際サンプルレートコンバータを使用しなければならない。さらに、撮影後のビデオ編集を実施するシステムでは（生フィルムをビデオに転送し、音声コンテンツを編集し、フィルムに転送して戻す）、元のコンテンツレートと最大＋／−４％も異なる「ＳＭＰＴＥプルアップ」サンプルレートまたは「ＳＭＰＴＥプルダウン」サンプルレートを使用しなければならない（この差分は、フィルム（２４フレーム／秒）およびビデオ（２９．９７フレーム／秒）のビデオフレームレートの違いに対応するために必要）。
【０００９】
また一部のシステムでは、送信されるパケットのレートに基づいて音声サンプルクロックが生成される。このアプローチを使った場合にタイミング誤差が生じると、このような誤差が、ネットワーク内で直列接続された装置で蓄積されるおそれがあり、結果として、ジッターおよびワンダー（低周波数のジッター）がパケットレートに生じてしまう。ジッターおよびワンダーは音声サンプルレートにも起こり、デジタルネットワークシステムがサンプル「ロック」を失って音声データ損失につながるおそれがある。
【００１０】
業務用音声システムでは、一定範囲を緩慢に動く連続的可変デジタルクロックにシステムをスレーブさせることが必要な場合もある。記録された時間コードを含むテープデッキにシステムがスレーブする場合が、通常これに相当する。テープ再生は機械的な変動に左右されるため、サンプルレートは変動する可能性がある。
【００１１】
一般的なネットワーキングシステムは、電力で作動するスピーカーシステムをアリーナやスタジアム（競技場）の垂木から吊り下げる状況で使用される。このような状況では、ＤＳＰアルゴリズム（例えばクロスオーバー周波数、電気出力、種々のスピーカーコーン間の時間的整合性を決定するためのもの）を、パフォーマンス前にスピーカーにアップロードすることが必要になる場合もある。さらに、ＤＳＰパラメータのリアルタイム制御も必要になることがある。同時に、温度、インピーダンス、電気出力などの遠隔測定（テレメトリー）データをこれらの遠隔装置から動作中にダウンロードすることが望ましい場合も多い。この非音声データは、ネットワーキングシステム内の装置の１つ、それ以上、またはすべてにアドレス指定可能でなければならない。理想的には、この非音声データは、単にコマンドおよびステータス報告要件のための追加配線コストを避けるため、音声データと同じワイヤー上にあるべきである。
【００１２】
制御用にＭＩＤＩ規格を使用する一部の既存音声装置では、非常に短かく制限した（５０フィート以下）電気接続と、ポイントツーポイント接続（２地点間接続）とを使用する。現時点で複数の装置に同じＭＩＤＩストリームを受信させるには、専用ＭＩＤＩスプリッタまたはデイジーチェーン接続した装置（最高２〜３装置までデータ完全性を損なわずにデイジーチェーン接続できる）が必要になる。
【００１３】
このため、いかなるトポロジーで構成された装置でも音声および／またはビデオのデータ転送をサポートするネットワーキングシステムが必要とされている。
【００１４】
双方向または並列に音声および／またはビデオのデータを送信するネットワーキングシステムも必要とされている。
【００１５】
複数の入力データを合わせるハブを使って音声および／またはビデオのデータを送信するネットワーキングシステムも必要とされている。
【００１６】
装置の接続がデータフローに依存しない態様で接続するネットワーキングシステムも必要とされている。
【００１７】
異なるデータストリームで着信した異なるパケットからのデータをマージし、マージ済みデータを最小限の待ち時間で新しいストリームとして出力するネットワーキングシステムも必要とされている。
【００１８】
サンプルレートコンバータを使うことなく、新しいデジタルメディアをネットワークに挿入する方法およびシステムも必要とされている。
【００１９】
各装置についてネットワークパケットレートからマスタークロック信号を導出するネットワーキングシステムも必要とされている。
【００２０】
広範囲のサンプルレートに対応した音声ネットワーキングシステムも必要とされている。
【００２１】
複数のネットワーク装置が直列接続されている場合にジッターを最小限に抑えるネットワーキングシステムも必要とされている。
【００２２】
可変サンプルレートを提供するマスタークロックを正確に追跡するネットワーキングシステムも必要とされている。
【００２３】
非音声／非ビデオデータの送信を可能にする音声および／またはビデオネットワーキングシステムも必要とされている。
【００２４】
さらに、性能制御データをルーティングできるネットワーキングシステムも必要とされている。
【００２５】
さらに、最長５００フィートまで制御データをルーティングできる音声ネットワークに単一のＭＩＤＩ装置を挿入できるようにするネットワーキングシステムも必要とされている。
【００２６】
さらに、ネットワーク上のいかなる装置からもＭＩＤＩデータを読み取れるようにするネットワーキングシステムも必要とされている。
【発明の開示】
【課題を解決するための手段】
【００２７】
本明細書で説明する特定の方法論、システム、または材料は場合により異なる可能性があるため、これらの方法、システム、および材料の説明を読む前に、これらに本開示が限定されるものではないことを理解すべきである。また言うまでもなく、本説明で使用する用語は、特定のバージョンまたは実施形態のみを説明することを目的としており、範囲を限定するよう意図したものではない。
【００２８】
また、本明細書および添付の請求項において単数形扱いしている名称は、別段の断りがない限り、複数形も含む。したがって、例えば「信号」と言及した場合は、当業者に知られている１若しくはそれ以上の信号およびそれと同等のものなどを指す。別段の定義がない限り、本明細書で使用するすべての科学技術用語は、当業者に一般に理解されているものと同じ意味を有する。本明細書で説明した方法、材料、および装置は、それらと同様または同等のものであれば、すべて本発明の実施形態の実施または試験に使用できるが、ここでは好適な方法、材料、および装置について説明していく。この明細書で言及するすべての出版物は、参照により本明細書に組み込むものとする。本明細書のいかなる内容も、本明細書で説明する実施形態が、先行発明に基づく前記出版物などの開示に先行する資格がないことを認めると解釈されるべきではない。
【００２９】
一実施形態では、ストリーミングデータネットワーク経由でデータを送信する方法に、制御装置からのスロット指定を要求する工程と、前記制御装置からスロット割り当てを受信する工程と、前記ストリーミングデータネットワークの外部にある送信元（ソース）からデータを受信する工程と、前記割り当てられたスロットで前記データを送信し、また前記割り当てられたスロット内で新しいデータが利用可能である旨の指標を送信する工程とを含めることができる。前記データは、いかなる送信先装置のアドレスも含まない場合がある。
【００３０】
一実施形態では、ストリーミングデータネットワークからデータを受信する方法に、１若しくはそれ以上のデータスロットの各々について、新しいデータが利用可能である旨の指標を受信する工程と、新しいデータが利用可能な少なくとも１つのデータスロットからデータを受信する工程と、新しいデータが利用可能な各データスロットについて、前記データを処理すべきか決定する工程とを含めることができる。
【００３１】
一実施形態では、ストリーミングデータネットワーク経由でデータを転送するシステムに、制御装置と、１若しくはそれ以上の送信元装置と、１若しくはそれ以上の送信先装置とを含めることができる。各送信元装置は、前記制御装置からのスロット割り当てを要求および受信するスロット指定リクエスタと、前記ストリーミングデータネットワークの外部にある送信元からデータを受信する第１の受信インターフェースと、新しいデータが利用可能である旨の指標と前記データとを前記割り当てられたスロット内で送信する送信インターフェースとを含んでよい。前記データは、いかなる送信先装置のアドレスも含まない場合がある。各送信先装置は、１若しくはそれ以上のデータスロットの各々について、前記新しいデータが利用可能である旨の指標を受信し、新しいデータが利用可能な少なくとも１つのデータスロットからデータを受信する第２の受信インターフェースと、新しいデータが利用可能な各データスロットについて、前記データを処理すべきか決定するデータプロセッサとを含んでよい。
【発明を実施するための最良の形態】
【００３２】
「チャネル」は、物理的な接続を指す場合がある。例えば、１６チャネル音声入力装置は１６の物理チャネルを有する。
【００３３】
各チャネルは「スロット」にマップできる。各スロットは、パケット内のある位置に対応する。すなわち、スロットは物理的要素ではない。
【００３４】
「シリアル配線」は、複数の非マージャ装置が直列接続された場合に形成できる。シリアル配線は、車輪のスポーク状に複数のマージャに接続でき、さらに／または２つのマージャ間でも接続できる。２つのマージャは、非マージャを間に介さず直接相互接続することもできる。
【００３５】
「非マージャ装置」または「非マージャ」とは、一実施形態に係るネットワーキングシステム内で使用される、２つのポートを有した装置を指す。この非マージャ装置は、データを受信または送信するための入出力物理接続を付加的に有することができる。一部のケースでは、ネットワーキングシステムにおける非マージャ装置の１つのポートは、シリアル配線の終端部などにおいて、別の装置に接続されない場合もある。非マージャ装置については、以下、より詳細に説明する。
【００３６】
「マージャ装置」または「マージャ」とは、一実施形態に係るネットワーキングシステム内で使用される、３若しくはそれ以上のポートを有した装置をいう。このマージャ装置は、データを受信または送信するための入出力物理接続を付加的に有することができる。マージャ装置については、以下、より詳細に説明する。
【００３７】
「ネットワーキングシステム」には、合計で２若しくはそれ以上のノードを有するマージャおよび非マージャの任意の組み合わせを含めることができる。
【００３８】
「着信データストリーム」とは、非マージャ装置またはマージャ装置の入力ポートで受信されるデータを指す。
【００３９】
「発信データストリーム」とは、非マージャ装置またはマージャ装置の発信ポートで送信されるデータを指す。
【００４０】
入力インターフェースから受信されるデータまたは出力インターフェースへ送信中のデータに関して使用する用語「変換」には、アナログデジタル変換、デジタルアナログ変換、特定長のデータセグメントへのデータのスライシング、および／またはより長いデータセグメントへのデータの連結（これらに限定されるものではないが）を含めることができる。
【００４１】
本明細書では、ネットワーキングシステムおよび例示的な構成要素、バスプロトコル、システム設定などを開示する。一実施形態では、このネットワーキングシステムを使って音声データおよび／またはビデオデータ（これに限定されるものではないが）を送信することができる。音声データは、アナログ形式および／またはデジタル形式で受信できる。ネットワーキングシステムでは、例えば最高６４チャネルの２４ビット音声データと、任意選択で最高１６チャネルの８ビットシリアルデータを送信できる。代替実施形態では、最高１２８チャネルの２４ビット音声データが転送可能である。代替チャネル幅および代替チャネル数も、本開示の範囲内で使用できる。
【００４２】
一実施形態では、前記ネットワーキングシステムに複数のノードを含めることができる。各ノードは、入力インターフェースからデータを受信し、出力インターフェースへデータを送信する。受信データは、前記入力インターフェースから受信された形式から変換され、そのデータの割り当て先である特定のチャネル用に定義された幅を有するデータスライスへと再構築される。このデータは、前記チャネルに対応し適切なデータ幅を有したパケットに含めてスロットに挿入することができる。
【００４３】
一実施形態において、ノードは、受信インターフェースにおいて着信パケットを受信し、送信インターフェースにおいて当該ノードに割り当てられたチャネルに関する情報を発信パケットに挿入することができる。一部のケースにおいて、前記発信パケットは、前記着信パケットと、前記ノードの入力インターフェース（ある場合）で受信されたデータに関する情報との組み合わせとなる。他のケースでは、前記ノードは、前記発信パケットの生成時、前記着信パケットの制御情報および／またはデータを上書きする。以下では、このようなケースについて詳細に説明する。
【００４４】
一実施形態では、特定の読み取り動作および書き込み動作の結果、すべての音声チャネルが、ネットワーキングシステムの全ノードで読み取り可能となる。一実施形態では、ＣＡＴ−５ケーブルなど単一のケーブルで、全チャネル用のデータをノード間で転送できる。代替ケーブルも、本開示の範囲内で使用できる。
【００４５】
非マージャ
一実施形態において、ネットワーキングシステム内のノードは、図１に示した装置などの非マージャ装置である。非マージャは２つのポート１０５、１１０を有し、これらによりネットワーキングシステムに接続されている。非マージャは、そのポートのどちらか一方または双方用に発信パケットを生成するため、１０５などの第１のポートから受信した着信パケットに対し、入力インターフェース１１５からの受信データでの置換、および／またはその追加を行うことができる。一実施形態では、非マージャが複数の着信パケットを単一の発信パケットへと組み合わせることはない。非マージャは、着信パケットから受信したデータを、出力インターフェース１２０経由で送信できる。一実施形態において、前記出力インターフェース１２０を通過するデータは、１若しくはそれ以上のスロットから選択したものであってよい。一実施形態では、送信用データ元とする前記１若しくはそれ以上のスロットは、利用者が選択できる。
【００４６】
非マージャは２つのポート指定子を有することができる。このポート指定子は、前記非マージャの物理ポート１０５、１１０に関するものであってよい。これらのポート１０５、１１０は、本明細書において「ポートＡ」および「ポートＢ」とも呼ばれる。ただし、このような指定は限定を意図したものではない。一実施形態では、前記非マージャのポートの１つに取り付けられたケーブルで、その非マージャに電力を遠隔供給できる。
【００４７】
一実施形態では、非マージャは、１つのポートから受信した着信データを格納し、双方のポートへの発信データ書き込みを行うことができる。一実施形態では、制御マスター（Ｃｏｎｔｒｏｌ  Ｍａｓｔｅｒ）（以下、図３を参照して説明する）から受信される１若しくはそれ以上のコマンドを使って、および／または利用者により、どの物理ポートからのデータを格納するか変更することができる。格納するデータの送信元であるポートは「メインポート」（Ｍａｉｎ  ｐｏｒｔ）、他方のポートは「補助ポート」（Ａｕｘ  ｐｏｒｔ）と呼ぶことができる。ただし、ポートＡ、ポートＢのどちらをメインポートに指定してもよい。このような指定は、例えば前記非マージャの内部設定および／または当該ネットワーキングシステムにおける前記非マージャの位置に基づいて行うことができる。一実施形態では、ポートＡおよびポートＢの一方だけに発信データを制限することができる。そのような一実施形態は、単一方向チャネルが必要な場合に使用できる。
【００４８】
各非マージャは、例えばデジタル同期データ（システムクロックなど）、アナログ音声データ、デジタル音声データ、ビデオデータ、シリアルデータ、および／または制御データを受信および送信できる。一実施形態では、ローカルデータの挿入用に、１若しくはそれ以上のスロットを前記非マージャに割り当てることができる。一実施形態では、１つのスロットを２つ以上のノードに割り当てることはできない。前記非マージャは、割り当てられたスロットに対応するデータスロットソースフラグ（Ｄａｔａ  Ｓｌｏｔ  Ｓｏｕｒｃｅ  Ｆｌａｇ）を、そのスロットでのデータ送信時に設定できる。
【００４９】
一実施形態において、前記入力インターフェース１１５からデータが受信される場合は、それに対応するスロットソースフラグ（Ｓｌｏｔ  Ｓｏｕｒｃｅ  Ｆｌａｇ）がデータパケット内に設定される。このようなローカルに受信されるデータは、各非マージャポートを通じて送信されるデータパケットに挿入できる。
【００５０】
一実施形態では、前記非マージャの第１のポートからデータが受信される場合、特定の条件が満たされない限り、データは第２のポートでのみ送信される。例えば、前記非マージャの前記第１のポートがループバックモードであれば、このポートから受信されるデータは、同じポートで送信可能となる（当該非マージャからデータが挿入されなかった全スロットについては、スロットソースフラグが設定されない）。この非マージャは、例えば第２の装置が前記第２のポートに取り付けられていると当該非マージャが認識しない場合に、ループバックモードとなりうる。
【００５１】
一実施形態では、ポートから受信されるデータがそれに対応したスロットソースフラグセットを有する場合、他ポートの発信データ用に対応したスロットソースフラグも同様に設定される。前記非マージャがループバックモードの場合は、送信前に前記スロットソースフラグがクリアされる。
【００５２】
一実施形態において、非マージャの第１のポートで受信されるデータは、このデータがローカルに置換される場合、更新された制御ブロックＣＲＣが挿入される場合（この非マージャが前記制御ブロックにデータを挿入する場合など）、および／またはこの非マージャの受信ポートがループバックモードになっている場合を除き、前記第２のポート経由で送信される。前記非マージャがクロックマスター（Ｃｌｏｃｋ  Ｍａｓｔｅｒ、以下説明する）である場合、またはデータパケットがクロックマスターの方向から受信される場合、前記非マージャは、クロックマスターソースフラグ（Ｃｌｏｃｋ  Ｍａｓｔｅｒ  Ｓｏｕｒｃｅ  Ｆｌａｇ）を設定できる。代替実施形態では、それに対応した実施態様に従い、非マージャが受信データパケットに代替修正または追加修正を行うことができる。
【００５３】
マージャ
代替実施形態では、ネットワーキングシステム内のノードは、図２に示した装置などのマージャ装置である。マージャは、ポート２０５、２１０、２１５など３若しくはそれ以上のポートを有し、これらによりネットワーキングシステムに接続されている。マージャは、発信データパケットを生成するため、着信パケットに対し、入力インターフェース２２０からの受信データでの置換、および／またはその追加を行うことができる。同様に、マージャは、非マージャ装置と同様に、出力インターフェース２２５経由でデータを出力できる。一実施形態において、マージャは、さらに、複数の着信データパケットからのデータを、各出力ポートにつき１つの発信データパケットへと組み合わせることができる。各着信データパケットは、このマージャ上の対応するポートで受信できる。
【００５４】
マージャは、各ポートにつき１つのポート指定子を有することができる。このポート指定子は、当該マージャの物理ポートに関するものである。それらの物理ポートは、本明細書において「ポートＡ」、「ポートＢ」、「ポートＣ」等とも呼ばれる。ただし、このような指定は限定を意図したものではない。一実施形態において、前記マージャのポートの１つに取り付けられたケーブルは、前記マージャに遠隔的に電力を供給できる。
【００５５】
一実施形態では、マージャは、複数の着信データストリームを受信できる。そのようなデータストリームは同期される。ただし、前記データストリームは同期されても、可変の時間オフセットおよびジッターを有することがある。
【００５６】
一実施形態において、ソースフラグ（Ｓｏｕｒｃｅ  Ｆｌａｇ）は、着信データの送信元（ソース）を示すため使用される。例えばネットワーキングシステム内では、制御マスターソースフラグ（Ｃｏｎｔｒｏｌ  Ｍａｓｔｅｒ  Ｓｏｕｒｃｅ  Ｆｌａｇ）、スレーブソースフラグ（Ｓｌａｖｅ  Ｓｏｕｒｃｅ  Ｆｌａｇ）、クロックマスターソースフラグ、データスロットソースフラグ、シリアルデータスロットソースフラグ（Ｓｅｒｉａｌ  Ｄａｔａ  Ｓｌｏｔ  Ｓｏｕｒｃｅ  Ｆｌａｇ）、およびトークバックスロットソースフラグ（Ｔａｌｋｂａｃｋ  Ｓｌｏｔ  Ｓｏｕｒｃｅ  Ｆｌａｇ）の６タイプのソースフラグを使用できる。前記制御マスターソースフラグおよび前記スレーブソースフラグは、以下制御バス（Ｃｏｎｔｒｏｌ  Ｂｕｓ）を参照して説明する態様で使用できる。前記クロックマスターソースフラグは、着信データが前記クロックマスターから送信されてきたことを示すため使用される。前記クロックマスターソースフラグが設定されたパケットは、ノードからのアウトバウンドデータストリームのタイミングを制御するため使用される。前記データスロットソースフラグと、前記シリアルデータスロットソースフラグと、前記トークバックスロットソースフラグとは、特定のスロット、シリアルスロット、またはトークバックスロットで、それぞれどの時点でデータがアクティブであるかを示すため使用される。一実施形態では、各データスロットにつきデータスロットソースフラグを１つ、また各シリアルデータスロットにつきシリアルデータスロットソースフラグを１つ使うことができる。一実施形態では、各トークバックスロットにつき１つトークバックスロットソースフラグを使用することができる。
【００５７】
マージャは、前記ソースフラグを使うことにより、そのマージャに接続されているシリアル配線上のノードが、各フラグに対応するデータを挿入したかどうか決定できる。例えば、マージャは、複数の着信データストリームで、スロット５の非ゼロデータを伴うデータパケットを同時に受信することができる。一実施形態では、前記マージャは、データスロットソースフラグ５が設定されているパケットからのデータを、出力パケット生成時に使うことができる。設定された任意のソースフラグに関連付けられたデータは、前記発信データストリームの対応する部分に挿入できる。一実施形態では、前記スレーブソースフラグを除き、マージャへの２つ以上の着信データストリームに特定のソースフラグが設定されることはない。
【００５８】
前記マージャは、特定のパケットデータ位置についてソースフラグを受信しなかった場合、すべての発信データストリーム内のデータ位置にゼロを埋める。インバウンドデータストリーム同士は時間的に整合していないため、各着信パケットは、発信パケット用のパケット構築前にバッファされる。前記クロックマスターソースフラグが設定された着信パケットは、発信データストリームすべてのタイミングを制御することができる。
【００５９】
マージャ用のポート入力では着信データストリームを受信でき、マージャ用のポート出力では発信データストリームを送信できる。各データストリームを使用すると、パケット形式でデータを送信することができる。一実施形態において、マージャは、非マージャと同じクロック入出力および／または（アナログ若しくはデジタル）音声入出力を有することができる。一実施形態において、マージャはクロックマスターであってよい。特定のマージャがクロックマスターである場合、そのクロックマスターソースフラグはすべての発信パケットに設定できるが、着信パケットには一切設定できない。一実施形態において、マージャは、アナログまたはデジタルの音声入出力ポートを有したチャネルソースでありうる。マージャがチャネルソースである場合は、適切なソースフラグがすべての発信データストリームに設定される。何らかのソースフラグがマージャポートの着信データストリームで検出されると、そのソースフラグに対応したデータが当該マージャの全ポートの発信パケットに挿入される（例えば、前記データが着信したポートも含む）。ただし、前記ソースフラグは、前記データを受信したポートを除く全ポートからの発信パケットに設定できる。これにより、シリアル配線において元の挿入ノードから前記マージャ方向に向かってダウンストリームにある全ポートで、挿入されたデータが読み取られたことを示せる。
【００６０】
制御マスターソースフラグが着信データストリームで受信され、他のいかなるポートからもスレーブソースフラグが受信されない場合、または制御マスターソースフラグもスレーブソースフラグも同じ着信データストリームから受信される場合は、制御マスターソースフラグを含むデータパケットからの制御ブロックが、すべてのデータストリームに転送される。ただし、制御マスターソースフラグおよびスレーブソースフラグが異なる着信データストリームから受信される場合、前記スレーブソースフラグを含んだ前記着信データストリーム用の制御ブロックは、前記制御マスターソースフラグが設定された着信データストリームを着信したポートだけに転送され、前記制御マスターソースフラグを含んだ着信データストリーム用の制御ブロックは、他のすべての発信データストリームに転送される。
【００６１】
一実施形態では、前記着信データストリームの１つに、前記クロックマスターソースを含めることができる。各発信データストリームは、このデータストリームのインバウンドクロックマスターソース（Ｉｎｂｏｕｎｄ  Ｃｌｏｃｋ  Ｍａｓｔｅｒ  Ｓｏｕｒｃｅ）パケットのパケットレートによりクロック制御される。前記クロックマスターソースフラグは、そのクロックマスターソースフラグが受信された着信データストリームに対応するポートを除く全ポートからの発信データストリームに挿入される。
【００６２】
一実施形態では、マージャが特定のポートで特定のソースフラグを受信すると、このマージャは、前記ソースフラグが設定されている限り、その特定のデータの送信元として前記ポートを識別する。特定のソースフラグが２若しくはそれ以上のポートの着信データストリームに同時に存在する場合、前記マージャは、前記データの転送用に着信データストリームの１つを無作為に選択することができる。代替実施形態では、前記マージャは、各ポートに優先度を割り当てることができる。このような実施形態において、前記マージャは、最高の優先度を有したポートからデータを転送することにより、ソースフラグが設定されたポートに対する選択を行うことができる。
【００６３】
トークバックソースフラグは、割り当て可能なスロットとして機能できる。例えば、スレーブは、前記制御マスターからのトークバックスロット（Ｔａｌｋｂａｃｋ  Ｓｌｏｔ）を使用するよう要求できる。許可された場合、スレーブは、例えば一時的なスロット１トークバックソースになることができ、前記トークバックソースフラグをスロット１に適宜設定できる。
【００６４】
非マージャは、１つのポートから他のポートへとデータストリームを受信および／または送信する際、ソースフラグを設定、クリア、および／またはブロックすることができる。一般に、非マージャは、任意の内部決定について実際のソースフラグ値を使用することはできない。一実施形態では、（ｉ）データスロット用のデータスロットソースフラグが着信データパケットに設定されていない場合、（ｉｉ）前記着信データパケットがループバックモードのポートで受信される場合（すなわち、非マージャがシリアル配線の最後の装置である場合）、および（ｉｉｉ）前記非マージャが前記データスロットにデータを挿入しない場合、非マージャは、前記データパケット内の前記データスロットデータをクリアすることができる。これにより、データを挿入していたノードの電源が切れた場合、停滞したデータがネットワーク中に残るのを防ぐことができる。
【００６５】
列挙
一実施形態では、ネットワーキングシステムの１若しくはそれ以上のノードが、当該ノードの装置識別子を決定するため、ポートの割り当ておよび列挙を必要とする場合がある。一実施形態では、各ノードは、初期に自らをスレーブ装置と見なす。例えば１つのノード内の制御レジスタは、その特定の装置が制御マスターであることを示す目的で、制御プロセッサにより書き込まれる。前記制御プロセッサは、例えばアプリケーションからのメッセージに基づき、さらに／または入力ピン、格納された値、および／または組み込まれている値を読み取ることにより、前記制御マスターを決定することができる。制御マスターになる装置は、パケット生成能力を有する必要がある。
【００６６】
図３は、一実施形態に係る制御マスターの例示的な初期状態を示した図である。図３に示したように、この制御マスターのどちらのポートも、ＣＡＴ−５ケーブル、ＣＡＴ−４ケーブル、またはＣＡＴ−３ケーブルのピン１および２など事前設定された出力ピンで発信データを送信し、ＣＡＴ−５ケーブル、ＣＡＴ−４ケーブル、またはＣＡＴ−３ケーブルのピン３および６など事前設定された入力ピンで着信データを受信するよう設定できる。この制御マスターは、そのデータネットワーキングポート用に有効にされた送信機および受信機の双方を有するよう初期化が可能である。一実施形態において、前記送信機はアイドルデータパケットを送信できる。
【００６７】
図４は、一実施形態に係るスレーブ装置の例示的な初期状態を示した図である。図４に示すように、各スレーブ装置は、ポートＡおよびポートＢ（Ｐｏｒｔ  Ａ  ａｎｄ  Ｐｏｒｔ  Ｂ）の初期割り当てを任意に行うことができる。一実施形態において、ポートＡは、この装置に電力を供給できるポートに割り当てられる。前記初期ポート割り当ては、前記列挙工程中に変更可能である。各ポートの前記受信機は、例えばＣＡＴ−５ケーブル、ＣＡＴ−４ケーブル、またはＣＡＴ−３ケーブルのピン１および２で有効にされる。各ポートの前記送信機は、無効にされる。前記送信機は、例えばＣＡＴ−５ケーブル、ＣＡＴ−４ケーブル、またはＣＡＴ−３ケーブルのピン３および６に割り当てられる。ポートＡは、図４に示したように、ループバックモードで設定できる。
【００６８】
一実施形態では、スレーブ装置のポート割り当てを更新できる。例えば、スレーブ装置は、リンク検出情報により識別可能な着信アイドルデータパケットを検出する前記第１のポートに基づいて、当該スレーブ装置のポートを設定することができる。リンク検出情報とは、データパケットが別の装置により送信された（直接的でも間接的でもよい）ことを示す、前記データパケットに含まれる任意の情報である。前記スレーブ装置用の前記リンク検出情報を受信する前記第１のポートは、ポートＡとして割り当てられるか、再割り当てされる。すると、新たに割り当てられたポートＢ（すなわち、ポートＡとして割り当てられていないポート）は、受信ポートおよび送信ポートに割り当てられたピンをスワップする。例えば、上記の実施形態において、前記送信機は前記ケーブルのピン１および２に割り当てられ、前記受信機はピン３および６に割り当てることができる。ポートＢの送信機は有効にされ、強制リンク（Ｆｏｒｃｅ  Ｌｉｎｋ）モードでアイドルパケットを送信できるようになる。同様に、ポートＡの送信機も、前記スレーブ装置と、そのスレーブ装置のポートＡに接続された装置との間の通信を可能にするよう有効にされる。ループバックは、ポートＡでは有効にされるが、ポートＢでは有効にされない。次いで、当該装置は、前記制御マスターから論理装置識別子を要求する。
【００６９】
前記制御プロセッサは、リンク検出情報が設定されているかどうか決定するため、前記ポートＢステータスを監視することができる。前記リンク検出情報は、別のスレーブ装置がポートＢに接続されている場合のみ設定される。このリンク検出情報が設定されると、前記スレーブ装置はポートＡでの前記ループバック動作を解除し、着信するポートＡデータをポートＢの前記送信機に渡す。同様に、ポートＢから受信されるデータはポートＡの前記送信機へ転送される。
【００７０】
図５Ａ〜５Ｄは、一実施形態に係る３つの装置用の例示的なポート割り当て・列挙工程を示した図である。有効な各送信機には、それを出る方向の矢印が図示されている。ループバックモードの各ポートには、そのポートの受信機および送信機をつなぐ破線が図示されている。実際に割り当てが行われるまで、各ポートはＰ（電源オン）およびＵ（電源オフ）としてラベル付けされる。
【００７１】
図５Ａに示したように、装置１（Ｄｅｖｉｃｅ  １）５０５は制御マスターとなるよう設定でき、装置２（Ｄｅｖｉｃｅ  ２）５１０および装置３（Ｄｅｖｉｃｅ  ３）５１５はスレーブ装置となるよう設定できる。さらに、装置２  ５１０は、その電源オンのポートが装置１  ５０５でなく装置３  ５１５に接続されるよう配線される。図５Ａは、装置１  ５０５が自らを制御マスターであると認識する前の当該システムを示した図である。すべての装置は、受信機が有効なスレーブとして（前記リンク検出情報を探している）、また電源オンのポートの受信機が内部ループバックモードの状態で初期化される。
【００７２】
図５Ｂに示したように、装置１  ５０５は、例えばアプリケーション、利用者スイッチ、および／またはジャンパにより、当該装置１  ５０５が前記制御マスターに指定されていることを検出することができる。この装置は、前記送信機についてはピン１および２など既知のワイヤー対（ペア）に双方のポートが接続されるよう設定し、前記受信機についてはピン３および６など既知のワイヤー対に双方のポートが接続されるよう設定することができる。次に、装置１  ５０５は双方のポートで前記内部ループバックを無効にし、強制リンクモードで双方向にパケット送信を開始できる。図５Ｂに示すように、この制御マスターは、スレーブ装置が順次オンラインになり列挙を要求し始めるのを待機する。この制御マスターでは、ポートをポートＡおよびポートＢとしてラベル付けする必要はない。これは、制御マスターにとってこのような指定が無意味なためである。
【００７３】
図５Ｃに示すように、前記制御マスターが一度パケットを送信すると、装置２  ５１０は、その電源オフポート（図５ＢのポートＵ）でリンク検出情報を認識できるようになる。このデータは前記制御マスター５０５から来るため、装置２  ５１０は前記電源オフポートをポートＡ、また前記電源オンポートをポートＢとして再割り当てでき、さらに当該装置２  ５１０の受信機および送信機についてピン割り当てをスワップしポートＢの送信機を有効にしてアイドルデータパケットを強制リンクモードで送信することにより、ポートＢを設定できる。さらに、装置２  ５１０は、ポートＡの送信機を有効にし当該ポートをループバックモードに設定することにより、ポートＡを設定することができる。この時点でポートAはループバックモードになったため、前記制御マスター５０５と装置２  ５１０との間の通信ループは完全なものとなった。これにより、装置２  ５１０は前記制御バスを使って前記制御マスター５０５と通信することができる。
【００７４】
図５Ｃに示したように、装置２  ５１０は、この制御バスを使い前記制御マスターと通信して、列挙を要求し、当該装置２  ５１０の論理装置識別子を受信することができる。さらに装置２  ５１０は、自らの能力を報告する、またはスロット割り当てを受信するなど、アプリケーション固有のアクティビティ用に前記制御バスを使うことができる。装置２  ５１０は、その論理装置識別子を受信し次第、リンク検出情報を見出すためポートＢの受信線を監視を開始することができる。装置２  ５１０に関する図５Ｃでの上記説明と同じ動作で装置３  ５１５からリンク検出情報が受信されると、装置２は、ポートＡの着信データがポートＢから送信され、ポートＢの着信データがポートＡから送信されるよう、ポートＡの前記内部ループバックを解除し、ポートＡおよびＢを内部接続できる。これは、「パススルー」モードと呼ばれる。図５Ｄは、この工程の完了後、装置２  ５１０および装置３  ５１５がいかに設定されるか示した図である。次に、装置３  ５１５は、装置２  ５１０に関する上記説明と同様な態様で論理装置識別子を要求し、ポートＡをループバックモードにするなどの動作を行う。
【００７５】
この時点で、どちらのスレーブ装置も（以下、制御バスプロトコルの項で説明するように）アプリケーション固有のメッセージング用に前記制御バスを使うことができる。装置３  ５１５のポートＢに接続される追加スレーブは、同じ手順に従い前記制御マスターとの通信を確立することができる。これにより、任意数のスレーブ装置を順次列挙することが可能になる。当業者であれば、本明細書で開示する説明に基づいて、上記に関する代替列挙工程および／または追加列挙工程が容易に理解されるであろう。
【００７６】
一実施形態において、前記ネットワーキングシステムの動作中、装置３  ５１５のポートＢに接続される追加スレーブ装置（図示せず）は、認識され、論理装置識別子を受信し、ポートＡをループバックモードにするなど可能である。上記のとおり、装置３  ５１５は、すでにアイドルパケットを送信しており、そのポートＢでリンク検出情報を探している。同様に、前記追加スレーブ装置は、各々のポートでリンク検出情報を探している可能性がある。前記追加スレーブ装置は、装置３  ５１５が送信しているアイドルデータパケットを検出すると自らのポートを適宜設定し、次いでそれらのポートにより装置３がループバックモードからパススルーモードになる。前記追加スレーブ装置は、列挙を行った後、当該シリアル配線の終端部になる。
【００７７】
一実施形態では、シリアル配線がすでに確立された状態でリンクが切断されても、前記制御マスター５０５に接続された装置間の通信を続行することができる。一実施形態では、リンクが切断されると、次の２つのシナリオのうちどちらかが起こる。第１のシナリオは、装置３  ５１５がクロックマスターでない場合に起こる。図５Ｅに示したように、装置２  ５１０および装置３  ５１５の各制御プロセッサは、それぞれのポートを定期的に監視して、前記リンク検出情報がまだ有効であることを確認する。（装置２  ５１０と装置３  ５１５との間の）リンクが切断されると、装置２は、ポートＢの前記リンク検出情報が失われたことを認識する。一実施形態では、装置２  ５１０は、図５Ｅに示した状態に戻るよう、自らのポートを再設定することができる。
【００７８】
同様に、装置３  ５１５は、装置２  ５１０に接続されていたポートで前記リンク検出情報が失われたことを決定する。これにより、装置３  ５１５は、当該装置３  ５１５がもはや前記制御マスター５０５に接続されていないことを決定する。一実施形態でこのシナリオが起こると、図５Ｅに示したように、装置３  ５１５は自らの状態をリセットできる。
【００７９】
前記制御マスター５０５は前記ネットワーキングシステム内の全装置を定期的にチェックしているため、装置３  ５１５がもはや接続されていないことを検出し、この装置を当該ネットワーキングシステムから外すことができる。この情報は、任意のアプリケーションに渡すこともできる。代替実施形態では、装置２  ５１０は、そのポートＢのリンク検出情報がもはや有効ではないことを前記制御マスター５０５に報告できる。この報告を受け、前記制御マスター５０５は、装置３  ５１５と、前記ネットワーキングシステムから見て前記装置３  ５１５から「ダウンストリーム」に接続されていた全装置とを除去することができる。
【００８０】
一実施形態において、装置３  ５１５が前記クロックマスターで、前記制御マスター５０５から分離されると、前記ネットワーキングシステムの全パケットが失われてしまうおそれがある。その結果、前記制御マスター５０５はただちにクロックマスターの役割を引き受けることになる。一実施形態では、制御システム（Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ）が当該システム内のデータパケットからデータの回復を試行する場合もある。代替実施形態では、前記クロックマスターが失われると、前記ネットワーキングシステムがリセットおよび再初期化を行う場合もある。
【００８１】
一実施形態において、マージャである装置は、初期、自らの送信機を無効にして、すべてのポートでリンク検出情報の検出を試行することができる。リンク検出情報が検出された最初のポートは、上記のとおり、ポートＡに割り当てられ、送信線および受信線がスワップされる。他の全ポートは、補助ポートとして割り当てられる。
【００８２】
次に、制御マスターが前記マージャを列挙する。前記マージャは、一度列挙されると、前記補助ポートのいずれかにリンク検出情報が存在するかどうかを決定する。補助ポートのいずれかでリンク検出情報が検出されると、当該マージャは、自らの論理装置識別子および前記補助ポートの割り当てを使って新しい装置を制御マスターに通知することができる。すると、上記のように、前記制御マスターは、その位置にあるスレーブに、前記ネットワーキングシステムに参加できることを通知できる。前記マージャのポートＡがループバック設定されている場合は、当該マージャの全補助ポートをパススルー設定できる。
【００８３】
これにより、前記マージャは、全ポートについてリンク検出情報を監視できるようになる。１若しくはそれ以上のポートでリンク検出情報が失われた場合は、例えば次の３つの状態のうち１つが起こる。ポートＡのリンク検出情報が失われると、前記マージャは、前記制御マスターとの接続が切断されるため、リセットを行う。補助ポートの全部ではないが少なくとも１つでリンク検出情報が失われた場合、前記制御マスターは、前記リンク検出情報が失われたポートについて通知を受ける。いずれかの補助ポートでリンク検出情報が不在の場合、前記マージャは、ポートＡ経由で前記制御マスターに通知を行い、ポートＡをループバック設定にすることができる。
【００８４】
代替実施形態において、シリアル配線列挙に含まれるスレーブ装置は、送信機を無効にした状態で、当該スレーブ装置の各ポートの監視を開始することができる。リンク検出情報を検出した最初のポートは、前記メインポートとして割り当てられ、送信機が有効にされた状態でループバック設定される。他のポートは前記補助ポートとして割り当てられ、出力ピン設定がスワップされ、その送信機が有効にされる。そして前記スレーブ装置は、前記制御マスターを介して列挙される。一度列挙された当該スレーブ装置は、その補助ポートでリンク検出情報を監視することができる。リンク検出情報が補助ポートで検出されると、このスレーブ装置は、自らの論理装置識別子（列挙中に割り当てられる）およびマージャポート割り当てに基づいて、新しい装置について前記制御マスターに通知を行うことができる。すると前記制御マスターは、保留中の装置の当該ネットワーキングシステムへの参加を可能にするよう、前記スレーブに指示する。前記スレーブはそのメインポートのループバック設定を解除し、メイン受信ポートから補助送信ポートへ、また補助受信ポートからメイン送信ポートへデータが通過できるようにする。これにより、ポートアクティビティを監視するため、どちらのポートもリンク検出情報について監視可能になる。前記補助ポートでリンク検出情報が検出されなくなると、前記メインポートはループバック設定にされ、前記スレーブ装置は前記制御マスターに通知を行う。次に、このスレーブ装置は、前記リンク検出情報の再検出を試みる。前記リンク検出情報が前記メインポートで検出されなくなると、前記スレーブ装置はリセットを行う。
【００８５】
一実施形態において、スレーブ装置であるマージャは、送信機が無効にされた状態で自らのポートの監視を開始できる。リンク検出情報が観測された最初のポートは、前記メインポートとして割り当てられ、送信機が有効にされた状態でループバック設定される。他の各ポートは補助ポートとして割り当てられ、出力ピン設定がスワップされ、その送信機が有効にされる。そして前記マージャは、前記制御マスターを介して列挙される。一度列挙された前記マージャ装置は、その各補助ポートをリンク検出情報について監視することができる。補助ポートのいずれかでリンク検出情報が検出されると、前記マージャは、自らの論理装置識別子（列挙工程中に提供される）およびマージャポート割り当てを使って保留中の装置があることを制御マスターに通知することができる。すると前記制御マスターは、保留中の装置の前記ネットワーキングシステムへの参加を可能にするよう、前記マージャに指示する。そのマージャのメインポートがループバック設定になっている場合は、その設定が解除される。これにより、データは前記メイン受信ポートからすべての前記補助送信ポートへ、またすべての前記補助受信ポートから前記メイン送信ポートへ流れることができるようになる。これにより、ポートアクティビティを監視するため、すべてのポートが、リンク検出情報について監視可能になる。１つの補助ポートでリンク検出情報が検出されなくなっても他の補助ポートでリンク検出情報が検出されている場合、前記マージャは、前記制御マスターに通知を行うことができる。すべての補助ポートでリンク検出情報が検出されなくなった場合、前記メインポートはループバック設定にされ、前記マージャは前記制御マスターに通知を行う。上記どちらの場合でも、前記マージャは、前記補助ポートからのリンク検出情報の検出を試行し続けることができる。前記リンク検出情報が前記メインポートで検出されなくなると、このマージャはリセットを行う。
【００８６】
データバスプロトコル
図６は、一実施形態に係るソースフラグの例示的なデータフローを示した図である。図６に示すように、当該ネットワーキングシステムには、クロックマスター６０５および制御マスター６１０を含めることができる。前記クロックマスター６０５は、このネットワーキングシステム内のノード間でデータパケットを同期する手段として使用することができる。これは、例えば、前記クロックマスター６０５と、デジタルＩ／Ｏを使用する任意の非マージャ装置と、これらクロックマスターおよび非マージャ装置の間のパス上にある較正対象の任意のマージャ装置とにおいて遅延測定値を得ることにより達成できる。この情報は、前記非マージャ装置でバックグラウンド工程により収集される。初期の計算セットを完了した時点で、前記非マージャ装置は、当該非マージャ装置のローカルクロックジェネレータを調整し整合をとることができる。前記マージャ装置は、統計的平均工程を使って継続的に自らの時間的整合性をとる。前記制御マスター６１０は、前記制御バスに対し以下説明する動作を実施することができる。一実施形態では、前記制御マスター６０５および前記クロックマスター６１０は、同じ装置であってよい。
【００８７】
前記ネットワーキングシステムには、非マージャ装置（６１５、６２０、および６２５）やマージャ装置（６３０、６３５）など他のノードも存在してよい。図６に示すように、非マージャ６１５はスロット２７に割り当てられた音声データを受信でき、非マージャ６２５はスロット１４に割り当てられた音声データを受信できる。入力ソースから離れる方向へ流れるデータパケットは、そのデータが送信されるスロットに対応した前記データスロットソースフラグを設定する。また、前記制御マスターソースフラグおよび／または前記クロックマスターソースフラグも、前記制御マスター６１０および前記クロックマスター６０５から離れる方向へ流れるデータパケットにそれぞれ設定される。一実施形態において、前記制御マスターソースフラグは、後述する前記制御バスプロトコルに従い設定される。
【００８８】
再び図６を参照すると、非マージャ６１５は、（データスロットソースフラグ（ＤＳＳＦ）２７セットで）チャネル２７のデータを受信し、そのデータをデータパケットにてポートＡから非マージャ６２０へスロット２７で送信できる。非マージャ６２０は、このスロット２７データをポートＢで受信し、ポートＡでＤＳＳＦ  ２７セットとともに再送信することができる。マージャ６３０は、非マージャ６２０に接続されたポートで前記スロット２７データを受信し、そのデータをＤＳＳＦ  ２７セットとともに他のポート（非マージャ６２５およびマージャ６３５に接続されたポート）に再送信する。このデータは、非マージャ６０５および６１０に到達するまで、引き続き前記ネットワーキングシステム経由で伝搬される。前記ノード６０５および６１０の各非受信ポートは別のノードに接続されていないため、前記データがこれら非マージャ６０５および６１０に到達した時点で、前記データをまだ受信していないノードに対する当該データの転送は行われなくなる。すなわち、非マージャ６０５および６１０のポートＡは、それぞれループバックノードになっている。このため、前記スロット２７のデータは、前記非マージャ６０５および６１０のポートＡからＤＳＳＦ  ２７がクリアされた状態で再送信される。ＤＳＳＦ  ２７がクリアされているため、当該データを受信するノードは、このデータがすでに受信済みで陳腐化していることを認識する。チャネル１４データ、制御マスターデータ、およびクロックマスターデータについても、それぞれ同様な動作が実行される。
【００８９】
制御バスプロトコル
図７Ａは、一実施形態に係る装置内の例示的な制御バス構成要素を示した図である。制御ブロック（Ｃｏｎｔｒｏｌ  Ｂｌｏｃｋ）７０５は、制御情報の送信専用データパケットの一部でありうる。ネットワーキングシステムの各装置は、物理インターフェース７１０を介してパケットを受信し、前記制御ブロック７０５から１若しくはそれ以上の受信バッファ７１５内にデータを読み取ることができる。同様に、装置は、送信バッファ７２０に情報を格納して前記制御ブロック７０５にデータを送信し、前記送信バッファから前記制御ブロックにデータを書き込み、物理インターフェース７２５にパケットを送信することができる。一実施形態において、前記送信物理インターフェース７２５は装置の全ポートに接続されており、前記受信物理インターフェース７１０は前記装置の単一ポートに接続されている。処理装置（図示せず）は、前記受信バッファ７１５から情報を読み取り、前記送信バッファ７２０に情報を書き込むことができる。
【００９０】
一実施形態では、前記制御ブロック７０５がデータパケットごとに変化することはない。そのため、前記処理装置用に各制御ブロック７０５を利用可能にする必要はない。ただし、前記処理装置が読み取るデータは１パケットだけにすべきで、２つの別個のパケットのデータセグメントを組み合わせたものにしてはならない。したがって、前記受信物理インターフェース７１０から前記受信バッファ７１５への着信制御データの転送は、前記処理装置からの要求に応じてのみ起こる。これにより、前記処理装置は、１つのデータパケットに固有の制御ブロック７０５情報だけを読み取ることができる。前記処理装置は、この情報を読み取ると、このデータに基づく決定を行い、その結果（該当する場合）を前記送信バッファ７２０に書き込む。次いでこの処理装置は、前記送信バッファ７２０内のデータを次の発信データパケットの前記制御ブロック７０５に書き込む。
【００９１】
当該制御バスに２つの装置だけが接続されている場合、１つの装置から別の装置へデータを転送するこのスキームは簡潔でわかりやすい。しかし、複数の装置がこの制御バスに接続されていると、前記物理インターフェース７１０および７２５に比べて前記処理装置が低速化し、競合状態が起こるおそれがある。その原因は、前記処理装置が（１）前記受信バッファ７１５内の情報が更新されるよう要求し、（２）更新された前記受信バッファの内容を読み取り、（３）読み取ったデータを処理して適切な応答を決定し、（４）その結果を前記送信バッファ７２０に書き込み、（５）書き込んだ内容を次のデータパケットの前記制御ブロック７０５に挿入するよう前記送信バッファに指示しなければならない点にある。競合状態は、上記工程の実行中、別の装置が前記制御ブロック７０５内の情報を上書きした場合に起こるおそれがある。
【００９２】
この場合にアクセスフラグのセットを使うと、前記処理装置は、競合（コンテンション）のリスクを負うことなく、これらのバッファを使用できるようになる。図７Ｂに示すように、前記処理装置７３０は、前記制御ブロックから情報を読み取る準備が整うと、パケット要求（Ｒｅｑｕｅｓｔ  Ｐａｃｋｅｔ）フラグ７３５を設定する。このパケット要求フラグ７３５が設定されると、受信される最新の有効な制御ブロックが前記受信バッファ７１５へ転送可能になる。この制御ブロック転送の出所は、ただ１つのパケットでなければならない。次いで前記パケット要求フラグがクリアされ、これにより前記受信バッファ７１５が読み取り可能になったことが前記処理装置７３０に通知される。一度前記受信バッファ７１５に格納されたデータは、前記処理装置が前記パケット要求フラグの設定による再更新を要求するまで上書きできなくなる。
【００９３】
なお、着信制御ブロックにはＣＲＣ計算を実施（実行）できる。不良ＣＲＣを有した制御ブロックを前記受信バッファ７１５に格納することは許されない。
【００９４】
前記処理装置７３０は、データパケットの情報を前記制御ブロック７０５に書き込む必要がある場合、前記情報を前記送信バッファ７２０へコピーし、パケット送信（Ｔｒａｎｓｍｉｔ  Ｐａｃｋｅｔ）フラグ７４０を設定する。このパケット送信フラグが設定されると、前記制御ブロック７０５でＣＲＣ計算が実施される。次に、前記物理インターフェースレイヤーの双方のポートで、データが前記送信バッファ７２０から次の発信データパケットの前記制御ブロック７０５に挿入される。前記パケット送信フラグ７４０はクリアされ、これにより前記送信バッファ７２０内のデータが格納され送信中であることが前記処理装置７３０に通知される。
【００９５】
前記処理装置７３０は、データが前記制御ブロックに格納されている間、前記送信バッファ７２０にデータを書き込むことができない。一実施形態において、これは前記送信バッファ７２０のダブルバッファリングにより達成される。代替実施形態では、制御ビットにより、前記処理装置７３０が前記物理インターフェースレイヤーへの前記送信バッファ７２０挿入を無効にできる。これにより、前記物理インターフェースレイヤーと前記処理装置７３０との間で転送される制御ブロックデータを単一のデータパケットに限定することができる。一実施形態では、１つのパケットが前記送信バッファ７２０の部分的更新を受信し次のパケットが残りを受信するよう、制御ブロックデータが更新不能にされる。
【００９６】
前記制御ブロックは、（１）マスター制御レジスタ（Ｍａｓｔｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｇｉｓｔｅｒ）およびＩＤ、（２）スレーブ制御レジスタ（Ｓｌａｖｅ  Ｃｏｎｔｒｏｌ  Ｒｅｇｉｓｔｅｒ）およびＩＤ、および（３）マスター／スレーブデータ（Ｍａｓｔｅｒ／Ｓｌａｖｅ  Ｄａｔａ）の３つの部分に分割することができる。一実施形態では、前記処理装置７３０は、前記制御ブロックのレジスタ部の１つだけに書き込みを行い、他の部分は読み取りを行う。前記処理装置が書き込みを行うレジスタは、この装置がマスター（Ｍａｓｔｅｒ）であるかスレーブ（Ｓｌａｖｅ）であるかに依存する場合がある。前記マスター／スレーブデータ部には、データセッションに応じて読み取りまたは書き込みが行える。この制御ブロックについては、以下さらに説明する。
【００９７】
（１）前記物理インターフェースおよび前記各バッファの間のインターフェースと（２）前記各バッファおよび前記処理装置の間のインターフェースとは性質上非同期であり、多数の異なる装置が前記制御ブロックに書き込みを行う可能性があるため、ネットワーキングシステム内の装置間にはデータの競合が起こりうる。制御バス論理は、当該ネットワークにおいて、データ競合を防ぐ制御データ用通信プロトコルとして使用することができる。
【００９８】
前記制御バスは、データパケットストリームに内在する「仮想」データバスであってよい。前記ネットワーキングシステムでは、セマフォのスキームおよび相互に排他的なロックアウトに基づいて誰もが随時物理的に読み取りまたは書き込み可能なグローバルデータプールとして、前記制御ブロックを使用することができる。これにより、安全で制限された前記データプールへのアクセス法がもたらされる。
【００９９】
前記制御バススキームでは、１つの装置が制御マスターとして作用しなければならない場合がある。この制御マスターは、前記制御バスをスレーブ装置に割り当てる。一実施形態では、一度に１つのスレーブだけが前記バスを制御できる。各スレーブは前記バスへのアクセスを要求できるが、アクセスを許可できるのは前記制御マスターだけである。どの時点でも、ただ１つの制御マスターおよびただ１つのスレーブだけが制御ブロックデータを転送することができる。このため、前記制御バスはポイントツーポイントパスとして作用する。ポイントツーポイントパスの確立は、前記制御ブロック内の種々のフラグおよびＩＤに依存する。これらのフラグおよびＩＤはどちらの装置でも読み取れるが、一部の情報は前記制御マスターだけが書き込め、他の一部の情報は前記スレーブだけが書き込める。
【０１００】
制御マスターとスレーブとの間のアプリケーションデータの通信は、すべて「セッション」と呼ばれる。セッションには、特定のプロトコルを使った一連のフラグ設定／チェック／クリア工程を含めることができる。このプロトコルは、データが適切に受信され、かつ上書きされないことを確実にするものである。前記スレーブも前記制御マスターもデータを送信する必要がない場合、前記制御バスはアイドル状態とみなされ、前記制御ブロックにアイドルフラグが設定される。
【０１０１】
基本的なセッションフローには、セッションの開始、マスターとスレーブとの間のデータ転送、およびそのセッション終了を含めることができる。各工程で従うべき厳密なプロトコルは、前記制御マスターおよび前記スレーブに応じて異なる。どちらの装置の場合も、前記バスが利用可能であれば装置がそのバスを要求する。するとそのバスは、前記制御マスターへのデータ送信を希望している特定のスレーブ装置、または前記制御マスターがデータ送信先として希望している特定のスレーブ装置用に許可される。前記バスが許可されると、前記マスター／スレーブのデータ転送が行われる。データは、そのフローを制御するマスター確認応答およびスレーブ確認応答を伴うパケットで転送できる。このデータ転送が終了すると、当該セッションは終了される（すなわち、前記バスの許可が解除され、そのバスはこれから開始する別のセッションのため利用可能になる）。
【０１０２】
一実施形態において、前記マスター／スレーブデータ転送は、制御マスターからスレーブへのものであっても、スレーブから制御マスターへのものであってもよいが、スレーブからスレーブへのものであってはならない。２つのスレーブ間の通信は、スレーブから制御マスターへの第１のセッションと、制御マスターからスレーブへの第２のセッションとで実施することにより、データ競合を確実に排除できる。
【０１０３】
一実施形態では、前記制御バスはマスター／スレーブデータの直接的な全二重（同時双方向）転送をサポートしない場合がある。さらに、前記制御レジスタフラグおよび装置ＩＤの例外を除き、データ通信は、セッション中、具体的には制御マスターからスレーブ、またはスレーブから制御マスターへのセッション中、単一方向でありうる。多くのアプリケーションでは、受信装置が送信機からの着信データを解析し終えるまで送信機に返信を行わない「コールアンドレスポンス（ｃａｌｌ  ａｎｄ  ｒｅｓｐｏｎｓｅ）」態様でデータを転送するため、全二重通信は必ずしも必要ではない。このようなアプリケーションの場合、前記処理装置が前記情報を処理している間に前記制御バスが利用できないと、その間他のセッションを実施することができないため望ましくない。したがって、前記処理装置の情報処理中に他のセッションが前記制御バスを利用できるようにし、前記制御バスが複数のセッションを有するようにすると、アプリケーション固有の処理遅延を制御バスのスループット（処理能力）から独立させることができる。また、大量の情報のアップロードやダウンロードといった工程は、単一方向の制御バスセッションを有することで前記システムの合理化が可能になる。送信を行う装置は、そのアプリケーション出力キューにデータがある状態で、アプリケーションパケットにデータを投入できる。その際、受信機から受け取る必要のある唯一の応答は、最後のマスター／スレーブデータパケットが受信され前記アプリケーションに配信されたという確認応答である。
【０１０４】
データパケットの制御ブロック全体については、他のいかなるパケットＣＲＣからも独立した１６ビットＣＲＣでチェックサムを計算することができる。このＣＲＣにより、装置は、送信中に破損した制御データを無視できるようになる。
【０１０５】
前記マスター制御レジスタには、制御フラグのセットと、マスター装置ＩＤ（Ｍａｓｔｅｒ  Ｄｅｖｉｃｅ  ＩＤ）フィールドとを含めることができる（これに限定されるものではないが）。これらのフラグおよび装置ＩＤは前記制御マスターだけが書き込むことができ、前記ネットワークの全スレーブへブロードキャストされ、前記フィールドは前記全スレーブにより読み取られる。一実施形態では、前記フラグは、１バイト内に１ビットのエントリを有することができる。次の表は、一実施形態に係る前記マスター制御レジスタ用の例示的な制御フラグを詳しく示したものである。
【０１０６】
【表１】
2009512021.tif 000003
【０１０７】
前記マスター装置ＩＤには、例えば２バイトを含めることができ、これにより前記制御バスについて許可を受けたスレーブ装置を前記制御マスターが識別できるようになる。したがって、前記マスター装置ＩＤはセッションごとに変化しうる。
【０１０８】
前記スレーブ制御レジスタには、制御フラグのセットと、スレーブ装置ＩＤ（Ｓｌａｖｅ  Ｄｅｖｉｃｅ  ＩＤ）フィールドとを含めることができる（これに限定されるものではないが）。これらのフラグおよび装置ＩＤは、前記スレーブ装置だけが書き込むことができ、前記制御マスターにより読み取られる。一実施形態では、前記フラグは、１バイト内に１ビットのエントリを有することができる。次の表は、一実施形態に係る前記スレーブ制御レジスタ用の例示的な制御フラグを詳しく示したものである。
【０１０９】
【表２】
2009512021.tif 000004
【０１１０】
前記スレーブ装置ＩＤには、例えば２バイトを含めることができ、これによりスレーブ制御レジスタ部を書き込み中のスレーブ装置が識別可能になる。前記制御マスターから見ると、前記スレーブ装置ＩＤはセッションごとに異なる可能性がある。
【０１１１】
前記マスター／スレーブデータ部には、前記制御バス論理にとり大部分トランスペアレントな（認識されない）データを含めることができる。このデータは、前記物理インターフェースレイヤーから受信され、アプリケーションとの間で送受信されて、前記物理インターフェースレイヤーに渡される。
【０１１２】
装置ＩＤは、セッション中に前記制御マスターと通信する特定のスレーブを識別するため使用できる。前記制御マスターおよびスレーブが確実に整合し合うよう、（１）前記スレーブ装置ＩＤ（前記制御バスに書き込み中のスレーブを識別する）および（２）前記マスター装置ＩＤ（前記制御マスターがセッション用に前記制御バスへのアクセスを許可したスレーブを識別する）の２つの装置ＩＤ（Ｄｅｖｉｃｅ  ＩＤ）レジスタを使用できる。用語「装置ＩＤ」は、別段の断りがない限り、前記マスター装置ＩＤにも前記スレーブ装置ＩＤにも適用できる。
【０１１３】
前記制御マスターは、セッションを開始する際、または要求元のスレーブに前記バスを許可する際、前記マスター装置ＩＤを書き込むことができる。前記スレーブは、セッションを開始する際、または前記制御マスターからの要求に応答する際、前記スレーブ装置ＩＤを書き込むことができる。特定のスレーブがアクティブである場合、そのスレーブは常に同じＩＤを前記スレーブ装置ＩＤフィールドに書き込める。
【０１１４】
一実施形態において、各前記装置ＩＤフィールドには、例えば２バイトを含めることができる。装置ＩＤ  ０ｘＦＦＦＦは、まだ列挙されていない装置用に予約されている。（上述した）列挙工程は、装置が確実に順次初期化されるようにするためのものである。前記システムに追加された新しい装置は、０ｘＦＦＦＦの装置ＩＤにより、前記バス上における自らの存在を前記制御マスターに知らせることができる。この装置ＩＤにより、当該装置に列挙が必要なことが前記制御マスターに通知される。これにより、前記制御マスターは一意の装置ＩＤを前記装置に割り当てる。その時点で、この装置はその能力を前記制御マスター上のアプリケーションタスクにアップロードできるようになる。これにより、当該制御マスターは、前記システムにおける一意の装置の数と、割り当て済みのＩＤの数とを追跡することができる。
【０１１５】
前記制御マスターからブロードキャストが行われると、その制御マスターは前記マスター制御レジスタにブロードキャスト（Ｂｒｏａｄｃａｓｔ）フラグを設定することができる。このブロードキャストフラグが設定されると、各スレーブは前記マスター装置ＩＤを無視できる。一実施形態では、前記制御マスターは、確実にすべての装置が前記ブロードキャストフラグを受信するよう公称時間だけ待機する。前記制御マスターは、データをブロードキャストする場合、新しいデータをロードし、新規データブロードキャスト（Ｂｒｏａｄｃａｓｔ  Ｎｅｗ  Ｄａｔａ）フラグをトグルする。送信すべきデータを有さない前記制御マスターは、前記制御バスをリリースする。
【０１１６】
一実施形態では、前記制御マスターまたはグループ化されたスレーブにより扱われるアプリケーションコードのレイヤーを使って、複数スレーブへのブロードキャストがサポートされる。これを受け、特定用途のサブグループ論理を効率的に配備することができる。この取り扱いコードの配備位置を決定する際考慮すべき点としては、前記システム内の装置数、サブグループ内の装置数、およびサブグループ数などがある。
【０１１７】
アプリケーション論理は、前記制御マスターでサポートされる場合、前記サブグループの各装置ごとにアプリケーションメッセージを反復できる。これは、それぞれ少数の装置を伴った多数のサブグループが存在している場合に最も効率的である。
【０１１８】
前記制御マスターの前記アプリケーション論理は、スレーブでサポートされる場合、前記サブグループのデータを全装置にブロードキャストできる。この場合、前記スレーブは次に前記アプリケーションデータ内のサブフィールドに基づいて動作すべきかどうかを決定できる。これは、全部ではないが大半の装置がサブグループに含まれているシステムの場合に最も効率的である。
【０１１９】
システム内の全装置がシリアル配線である場合、これらの装置間の通信は単純である。システムにマージャが含まれる場合、そのマージャは、着信データストリームを各種ポートの適切な発信データストリームにルーティングしなければならなくなる可能性がある。これらのルーティング命令は、データパケット内のソースフラグにより搬送される。例えば、前記制御ブロックに含まれる各種部分のルーティングに固有の２つのソースフラグには、マスター制御レジスタソース（Ｍａｓｔｅｒ  Ｃｏｎｔｒｏｌ  Ｒｅｇｉｓｔｅｒ  Ｓｏｕｒｃｅ：ＭＣＲＳ）フラグおよびスレーブ制御レジスタソース（Ｓｌａｖｅ  Ｃｏｎｔｒｏｌ  Ｒｅｇｉｓｔｅｒ  Ｓｏｕｒｃｅ：ＳＣＲＳ）フラグを含めることができる。前記制御マスターは、当該制御マスター送信元を示すため、電源投入時に前記ＭＣＲＳフラグを設定できる。このＭＣＲＳフラグは、通常の動作中はクリア不可能である。セッション用に前記制御バスを前記制御マスターと共有するスレーブは、前記ＳＣＲＳフラグを設定することができる。当該スレーブが前記バスを要求する際、または当該スレーブが前記制御マスターからのバス要求に確認応答する際、このスレーブは前記ＳＣＲＳフラグを設定できる。このフラグは、セッションが完了したことを当該スレーブが決定した時点でクリア可能になる。前記ＭＣＲＳフラグおよび前記ＳＣＲＳフラグを使うと、前記物理インターフェースにおいてパケットの発信制御ブロック部にデータが挿入されているかどうかを決定することができる。前記バスがアイドル状態の場合、多くのスレーブは、前記ＳＣＲＳフラグをアサートして前記制御バスの使用を要求できる。前記バスを許可されていないスレーブは、それぞれ前記ＳＣＲＳフラグのコピーをディアサートする必要がある。
【０１２０】
各装置内の制御ビットは、前記装置がデータを送信するのか、またはデータを通過させるのかを指示するため使用できる。前記マスター／スレーブデータを利用する際は、セッションが確立および確保される。これを受け、セッション中に前記バスが取得される際、ただし前記セッションのパートナー装置に新しいデータが利用可能になったことを通知する前に、前記制御ビットが設定される。同様に、このビットは、セッション終了前に、またはその一環としてクリアされる。
【０１２１】
スレーブは、前記ＳＣＲＳフラグに必ずゼロを書き込むとは限らない。ゼロであれば、前記ＳＣＲＳフラグは、常にインバウンドデータパス上で上書きされるため、前記スレーブ経由で前記制御マスターに接続された装置からは認識されない。一実施形態では、ＭＣＲＳフラグおよびＳＣＲＳフラグを設定するため以下の手順が使用される。
【０１２２】
前記ＭＣＲＳフラグおよび前記ＳＣＲＳフラグのローカルコピーは各装置に保存される。これらのフラグにより、装置は特定の制御ブロック部を前記物理インターフェースレイヤーに書き込むことができる。これらのフラグは、前記ＭＣＲＳフラグおよび前記ＳＣＲＳフラグが前記装置における各フラグのローカルコピーと、それに対応したフラグの着信状態との論理ＯＲをとった結果であるという条件下でパケットの前記ソースフラグブロック（Ｓｏｕｒｃｅ  Ｆｌａｇ  Ｂｌｏｃｋ）に転送されることもある。
【０１２３】
前記制御マスターまたは前記スレーブがデータを転送する必要がない場合は、前記バスをアイドル状態にするためバス利用可能（Ｂｕｓ  Ａｖａｉｌａｂｌｅ）フラグが設定される。この場合、前記装置ＩＤは使用されない。前記マスター制御レジスタおよび前記スレーブ制御レジスタの他の全フラグには、ゼロを含めることができる。
【０１２４】
前記制御バスが利用可能な場合は、すべての装置がＩＤＬＥ状態になる。この状態において、前記制御マスターは、この制御マスターからのデータが特定のスレーブ装置に送信されるべきかどうか、またはスレーブが前記バスを要求しているかかどうかを決定できる。どちらかの条件が満たされた場合、前記制御マスターは、前記制御バス経由でデータを送信または受信することができる。一実施形態において、前記制御マスターは、各スレーブが機能しており、かつ前記制御バスに対しリスニングしていることを確認するため、諸スレーブのヘルスチェック（Ｈｅａｌｔｈ  Ｃｈｅｃｋ）を定期的に実施できる。
【０１２５】
同様に、各スレーブは、前記制御マスターがそのスレーブとの通信を要求しているかどうか、またはそのスレーブからのデータが前記制御マスターへ送信されるべきかどうかを決定できる。どちらかの条件が満たされた場合、前記スレーブは、前記制御バス経由でデータを送信または受信することができる。
【０１２６】
一実施形態において、前記制御マスターには、その制御マスターの前記制御バス上での動作を定義する状態機械を含めることができる。次の表は、種々の例示的な状態を説明したものである。
【０１２７】
【表３】
2009512021.tif 000005
【０１２８】
同様に、一実施形態では、各スレーブに、そのスレーブの前記制御バス上での動作を定義する状態機械を含めることができる。次の表は、種々の例示的な状態を説明したものである。
【０１２９】
【表４】
2009512021.tif 000006
【０１３０】
当業者であれば、上記に関する追加状態または代替状態は、本明細書に含まれた開示に基づいて容易に実施および理解されるであろう。
【０１３１】
図８は、一実施形態に係るマスターからスレーブへのデータ転送の例示的なイベントのシーケンスを示した図である。図８に示すように、前記制御マスターは、前記ＢＡＶＬフラグが設定され他の全フラグがクリアされた状態で、ＩＤＬＥ状態になっている。前記制御マスターは、当該制御マスターの処理装置がスレーブにデータを送信する必要があることを決定する（８０５）。この制御マスターは、ＢＡＶＬフラグをクリアして諸スレーブが前記制御バスを要求しないようにし、そのバスを要求するためＭＲＥＱフラグを設定し、前記マスター装置ＩＤの位置に望ましいスレーブの論理装置ＩＤをロードする。この情報を含んだパケットが送信されると（８１０）、前記制御マスターは前記ＷＡＩＴ  ＦＯＲ  ＢＵＳ状態になる。
【０１３２】
前記望ましいスレーブはＩＤＬＥ状態で前記パケットを受信し、ＢＡＶＬが設定されていることを認識し、前記マスター装置ＩＤ値を自らの論理装置ＩＤと比較する（８１５）。このスレーブで論理装置ＩＤの一致が認められると、前記ＳＡＣＫフラグ、前記ＳＳＡフラグ、および前記ＳＣＲＳフラグがそれぞれ設定され（８２０）、前記制御マスターに戻される。次いで当該スレーブは、前記ＷＡＩＴ  ＦＯＲ  ＤＡＴＡ状態になる。
【０１３３】
前記制御マスターはＳＡＣＫが設定されたことを認識し、応答内にバス許可を設定する（８２５）。前記制御マスターは、次に前記ＰＲＯＣＥＳＳ  ＴＲＡＮＳＭＩＴ  ＤＡＴＡ状態になる。この状態で、当該制御マスターは、前記マスター／スレーブデータ部にデータを書き込み、マスター／スレーブデータ挿入制御（Ｍａｓｔｅｒ／Ｓｌａｖｅ  Ｄａｔａ  Ｉｎｓｅｒｔｉｏｎ  Ｃｏｎｔｒｏｌ）ビットをアサートし、ＳＥＮＤ  ＤＡＴＡ状態になる前にＭＡＣＫをトグルする（８３０）。
【０１３４】
前記スレーブは、前記ＭＡＣＫがトグルされ新しいデータの存在が示されていることを決定し、ＰＲＯＣＥＳＳ  ＲＥＣＥＩＶＥ  ＤＡＴＡ状態に入る（８３５）。この状態で、当該スレーブは、前記マスター／スレーブデータ部からのデータを当該スレーブの処理装置に転送することができる（８４０）。このスレーブは次いで自らのＳＡＣＫフラグをトグルし、ＷＡＩＴ  ＦＯＲ  ＤＡＴＡ状態に戻る。
【０１３５】
前記制御マスターは、前記ＳＡＣＫフラグがトグルされたことを認識すると、前記ＰＲＯＣＥＳＳ  ＴＲＡＮＳＭＩＴ  ＤＡＴＡ状態に戻り、送信する追加データがあるかどうか決定し（８４５）、ある場合は上記の工程を繰り返す。転送すべきデータが残っていない場合、当該制御マスターは、マスター／スレーブデータ挿入制御ビットをクリアし、ＢＧＲＮＴをクリアし、ＭＡＣＫをトグルして、ＭＲＥＱをクリアする。次に前記パケットが前記スレーブに送信され、前記制御マスターは前記ＷＡＩＴ  ＦＯＲ  ＲＥＬＥＡＳＥ状態になる（８５０）。
【０１３６】
前記スレーブは、ＢＧＲＮＴおよびＭＲＥＱがクリアされたことを決定し（８５５）、前記制御マスターがデータ送信を完了したことを認識する。次にこのスレーブは、ＩＤＬＥ状態に戻る前に、前記ＳＳＡフラグ、前記ＳＣＲＳフラグ、前記ＳＡＣＫフラグ、および前記ＳＲＥＱフラグをクリアする（８６０）。
【０１３７】
前記制御マスターは、前記ＳＳＡビットがクリアされたことを決定し、前記ＩＤＬＥ状態に戻る（８６５）。このＩＤＬＥ状態への移行の一環として、前記制御マスターは、前記ＭＡＣＫフラグをクリアし、前記ＢＡＶＬフラグを設定する（８７０）。
【０１３８】
図９は、一実施形態に係るスレーブからマスターへのデータ転送の例示的なイベントのシーケンスを示した図である。図９に示すように、前記スレーブは、前記バスが利用できる状態で、前記ＩＤＬＥ状態にある。当該スレーブは、当該スレーブの処理装置が前記制御マスターにデータを送信する必要のあることを決定する（９０５）。前記スレーブは、前記ＳＲＥＱフラグおよび前記ＳＣＲＳフラグを設定し、前記ＳＡＣＫフラグをクリアし、当該スレーブ装置ＩＤの位置を論理装置ＩＤに設定する。この情報を含んだパケットが送信されると（９１０）、前記スレーブはＷＡＩＴ  ＦＯＲ  ＢＵＳ状態になる。
【０１３９】
前記制御マスターはＩＤＬＥ状態で前記パケットを受信し、ＳＲＥＱが設定されていることを認識し、前記スレーブ装置ＩＤを検証する（９１５）。次にこの制御マスターは、前記マスター装置ＩＤを前記スレーブの装置ＩＤに設定し、前記ＢＡＶＬフラグおよび前記ＭＡＣＫフラグをクリアし、発信されるデータパケットにＢＧＲＮＴを設定する（９２０）。次いで当該制御マスターは、前記ＷＡＩＴ  ＦＯＲ  ＤＡＴＡ状態になる。
【０１４０】
前記スレーブは、ＢＧＲＮＴが設定されたこと、および前記マスター装置ＩＤが当該スレーブの論理装置ＩＤに合致することを決定する（９２５）。このスレーブは、次に前記ＰＲＯＣＥＳＳ  ＴＲＡＮＳＭＩＴ  ＤＡＴＡ状態になる。この状態で、当該スレーブは、前記マスター／スレーブデータ部にデータを書き込み、前記マスター／スレーブデータ挿入制御ビットをアサートし、ＳＥＮＤ  ＤＡＴＡ状態になる前にＳＡＣＫをトグルする（９３０）。
【０１４１】
前記制御マスターは、前記ＳＡＣＫがトグルされ新しいデータの存在が示されていることを決定し、ＰＲＯＣＥＳＳ  ＲＥＣＥＩＶＥ  ＤＡＴＡ状態に入る（９３５）。この状態で、当該制御マスターは、前記マスター／スレーブデータ部からのデータを当該スレーブの処理装置に転送することができる（９４０）。この制御マスターは次いで自らのＭＡＣＫフラグをトグルし、ＷＡＩＴ  ＦＯＲ  ＤＡＴＡ状態に戻る。
【０１４２】
前記スレーブは、前記ＭＡＣＫフラグがトグルされたことを認識すると、前記ＰＲＯＣＥＳＳ  ＴＲＡＮＳＭＩＴ  ＤＡＴＡ状態に戻り、送信する追加データがあるかどうか決定し（９４５）、ある場合は上記の工程を繰り返す。転送すべきデータが残っていない場合、当該スレーブは、マスター／スレーブデータ挿入制御ビットをクリアし、ＳＲＥＱをクリアし、ＳＡＣＫをトグルする。次に前記パケットが前記制御マスター送信され、前記スレーブは前記ＷＡＩＴ  ＦＯＲ  ＲＥＬＥＡＳＥ状態になる（９５０）。
【０１４３】
前記制御マスターは、ＳＲＥＱがクリアされたことを決定し（９５５）、前記スレーブがデータ送信を完了したことを認識する。そして、この制御マスターは、前記ＢＧＲＮＴフラグをクリアし、前記ＭＡＣＫフラグをトグルする（９６０）。
【０１４４】
前記スレーブは、前記ＢＧＲＮＴがクリアされたことを決定し、前記ＩＤＬＥ状態に戻る（９６５）。このＩＤＬＥ状態への移行の一環として、前記スレーブは、前記ＳＳＡフラグおよび前記ＳＣＲＳフラグをクリアする（９７０）。
【０１４５】
前記制御マスターは、前記ＳＳＡビットがクリアされたことを決定し、前記ＩＤＬＥ状態に戻る（９７５）。このＩＤＬＥ状態への移行の一環として、前記マスター制御レジスタ内のフラグは、ＢＡＶＬフラグ以外すべてクリアされる。
【０１４６】
一実施形態では、前記制御ブロック部がアプリケーションレイヤーにトランスペアレントな（認識されない）エラー取り扱いアプローチを提供する。制御ブロックデータには、メモリプリセットダンプ、ファームウェアダウンロード、音量調節（ボリュームコントロール）コマンドなどを含めることができる。そのようなデータは、元のままの状態で送信先に届く必要がある。エラー検出および回復のスキームは、制御ブロックデータに内在する場合がある。一実施形態において、制御ブロックデータは、正常に受信されるまで継続的に再送信される。
【０１４７】
前記制御バスでの制御データ送信中には、複数タイプのエラーが起こりうる。例示的なエラータイプには、無効なＣＲＣ計算、バス競合、装置ＩＤ不一致などがある。
【０１４８】
前記制御ブロックには、前記制御ブロックデータ（すなわち、マスター制御レジスタおよびＩＤ、スレーブ制御レジスタおよびＩＤ、およびマスター／スレーブデータ部）専用の１６ビットＣＲＣを含めることができる。前記システム上のノイズまたは間欠的ショートによりフリップ（反転）したビットは、通常、ＣＲＣエラーにつながる。処理装置が制御ブロックデータを修正する場合には、ＣＲＣが計算される。制御ブロックを読み取る場合、処理装置は、有効な制御ブロックＣＲＣとともに完全な制御ブロックを必要とする場合がある。
【０１４９】
一実施形態では、ＣＲＣは、装置に着信する各制御ブロックごとに検証される。各ＣＲＣはチェックされ、有効であればそのデータがバッファされる。前記処理装置が前記パケット要求フラグにより制御ブロックパケットを要求すると、データは、前記バッファから前記受信バッファへ転送される。
【０１５０】
代替実施形態では、ＣＲＣは、前記処理装置により要求された場合のみ検証される。このため、前記処理装置が次の制御ブロックパケットを要求すると、着信する制御ブロックは、前記受信バッファへ転送される。ＣＲＣは、データの転送に伴い、またはデータが前記受信バッファで完全に受信された後で計算でき、受信されたＣＲＣと比較できる。ＣＲＣ同士が一致すると、前記パケット要求フラグがクリアされ、前記処理装置が前記受信バッファからデータを読み出す。それ以外の場合、前記パケット要求フラグはクリアされない。制御ブロックは、有効なＣＲＣが検出されるまで処理され続ける。
【０１５１】
別の代替実施形態では、前記処理装置がそれ自体でＣＲＣを検証する。この処理装置は、前記制御ブロックデータを前記受信バッファからＣＲＣ検証論理へ転送する。ＣＲＣ同士が一致すると、そのデータは処理される。それ以外の場合、前記処理装置は前記データを破棄し、前記パケット要求フラグを設定して再びパケットを要求しなければならない。
【０１５２】
第２のエラータイプは、バス競合である。バス競合は、例えば複数のスレーブが実質的に同時に前記制御バスを要求した場合に起こる。制御マスターがスレーブにデータを送信する旨を要求する一方、そのスレーブ（または別のスレーブが）前記制御マスターにデータを送信する旨を要求するという場合もある。前記制御バスに投入される制御ブロックデータは性質的に非同期であるため、制御ブロックは、複数の装置により書き込まれた情報を含む可能性があり、その各装置はそれぞれ他の装置が同様にデータ書き込みを行っていると認識していない可能性がある。ほぼいかなる場合でも、前記受信装置はバス競合エラーを検出し、これを扱うことができる。すべての通信は前記制御マスターを通過するため、前記制御マスターは、特定装置に対する前記制御バスの許可を管理する。このため、当該制御マスターは、発生するセッションのパラメータと、それに関与するスレーブとを決定することができる。
【０１５３】
複数装置からのバス競合に伴うエラーは、装置ＩＤ不一致（Ｄｅｖｉｃｅ  ＩＤ  Ｍｉｓｍａｔｃｈ）エラーにつながる。受信されたスレーブ装置ＩＤが前記マスター装置ＩＤに一致しないことを前記制御マスターが検出すると、受信された制御ブロック情報は無視され、前記制御マスターは現在の制御ブロックパケットを出力し続ける。スレーブは、受信されたマスター装置ＩＤが当該スレーブの論理装置ＩＤに一致しないことを検出すると、前記制御マスターが別のスレーブとセッション中であることを決定する。これにより、このスレーブは前記制御ブロックへのデータ書き込みを停止し、前記制御バスが再び利用可能になるまでＩＤＬＥ状態になる。前記制御バスが再び利用可能になったら、その時点で前記制御バスの要求を再び試行することができる。
【０１５４】
一実施形態において、前記制御バスは、前記制御マスターおよびスレーブが双方向データ転送を行える場合、全二重モードで動作する。そのような一実施形態では、前記マスター制御ソースレジスタフラグは、前記制御マスターがいつ新しいデータを前記スレーブに送信したか示し、前記スレーブ制御ソースレジスタフラグは、前記スレーブがいつ新しいデータを前記制御マスターに送信したか示す。このような一実施形態の実施に必要な制御構造の修正については、当業者であれば、本明細書に含まれる開示から明確に理解されるであろう。
【０１５５】
一実施形態では、前記制御バスに、複数のデータバッファを含めることができる。このような一実施形態において、送信装置（前記制御マスターかその通信先であるスレーブ）は、初期、１若しくはそれ以上のデータバッファに書き込みを行う。受信装置は、前記バッファの１つに含まれるデータを処理する際、そのデータの受信について確認応答を行う。すると、前記送信装置は、確認応答が行われたバッファに新しいデータを書き込む。これにより、データ転送は迅速化できる。
【０１５６】
一実施形態では、複数の制御バスを導入できる。そのような一実施形態において、前記制御マスターは、各スレーブを特定の制御バスに割り当てることにより、複数のスレーブ装置と直接通信することができる。
【０１５７】
制御バスアーキテクチャを実施（実装）する付加的および／または代替的な方法については、当業者であれば、本明細書に開示された実施形態の説明および示唆に基づいて明確に理解されるであろう。
【０１５８】
クロックマスター
一実施形態では、１つのノードを前記クロックマスターとして指定することができる。このクロックマスターは、ネットワーキングシステムに含まれる諸ノードの同期に関与する。一実施形態では、前記クロックマスターは、クロックマスターパケット長（Ｃｌｏｃｋ  Ｍａｓｔｅｒ  Ｐａｃｋｅｔ  Ｌｅｎｇｔｈ：ＣＭＰＬ）を書き込むことができ、このＣＭＰＬは前記クロックマスターが各発信データパケット内に生成するパケットの長さに関する基準時間を示す。一実施形態では、このＣＭＰＬは小数部分を伴ったバイナリコード（２進コード）正数である。例えば、前記ＣＭＰＬは、０〜２０４７．９３７５の数を表す、４ビットの小数部付き１１ビット整数であってよい。他の装置は、この小数クロック指標を使用して、自らのクロックを前記クロックマスターに同期させることができる。
【０１５９】
図１０Ａは、一実施形態に係る例示的なクロックマスターステータス転送を示した図である。図１０Ａに示したように、前記クロックマスターは、当該ネットワーキングシステムの電源投入時に決定される（１００２）。例えば前記制御マスターは、初期、前記クロックマスターとして割り当てられてよい。前記制御マスターは、前記クロックマスターステータスを第２の装置に転送する旨の要求を前記第２の装置から受信すると（１００４）、「すべての音声を消音（ミュート）」（ｍｕｔｅ  ａｌｌ  ａｕｄｉｏ）メッセージを前記ネットワーキングシステムの各ノードにブロードキャストし（１００６）、前記第２の装置に承認メッセージを送信することができる（１００８）。さらに、前記制御マスターは、全パケットの再送信をブロックし、前記ＣＭＰＬの送信を停止できる（１０１０）。一度すべての送信が停止されると（１０１２）、この新しいクロックマスターは、自らの前記ＣＭＰＬを含むデータパケットを送信する（１０１４）。前記制御マスターは、前記新しいクロックマスターから第１のデータパケットを受信すると（１０１６）、そのパケットと自らのメインポートとで整合性をとり（１０１８）、再送信を可能にする（１０２０）。次に、前記制御マスターは前記ネットワーキングシステムの各ノードに「すべての音声を消音解除（ミュート解除）」メッセージをブロードキャストする（１０２２）。
【０１６０】
前記「すべての音声を消音」メッセージおよび前記「すべての音声を消音解除」メッセージを使うと、前記ネットワーキングシステムから意図せず音声データが出力されるのを防ぐことができる。このように、これらのメッセージは、出力時のデータ破損および／または前記ノード装置の出力損傷を防ぐ。
【０１６１】
前記クロックマスターがクロックマスターであることをやめる必要があると前記制御マスターが決定した場合は、同様な一連の動作が実施可能である。図１０Ｂに示すように、前記制御マスターは、クロック制御権を前記クロックマスターから当該制御マスターに譲渡する旨の要求を、アプリケーションまたはユーザインターフェースから受信する場合がある（１０３０）。当該制御マスターは、前記ネットワーキングシステム内の各ノードに「すべての音声を消音」メッセージをブロードキャストし（１０３２）、クロックマスターステータスの送信を終了させるコマンドを前記クロックマスターに送信する（１０３４）。すると、前記クロックマスターはメッセージの再送信をブロックし、前記ＣＭＰＬの送信を停止する（１０３６）。一度すべての送信が停止されると（１０３８）、新しいクロックマスター（前記制御マスター）は、前記ＣＭＰＬを含んだデータパケットを送信する（１０４０）。旧クロックマスターは、前記制御マスターから第１のデータパケットを受信すると（１０４２）、そのパケットと自らのメインポートとで整合性をとり（１０４４）、再送信を可能にする（１０４６）。次に、前記制御マスターは前記ネットワーキングシステムの各ノードに「すべての音声を消音解除」メッセージをブロードキャストする（１０４８）。前記クロックマスターを前記制御マスターに移す理由（状況）としては、前記クロックマスター装置が当該ネットワーキングシステムから取り外されることを利用者が前記制御マスターに通知した場合などがある。
【０１６２】
図１０Ｃに示すように、前記クロックマスターが機能しなくなった場合（１０５０）、前記制御マスターは前記クロックマスターの障害を検出し（１０５２）、「すべての音声を消音」メッセージをブロードキャストして（１０５４）、前記ＣＭＰＬを含むパケットの受信停止を待機する（１０５６）。次に、前記制御マスターは、自らのＣＭＰＬを使ってパケット送信を開始し（１０５８）、当該ネットワーキングシステムの各ノードに「すべての音声を消音解除」メッセージをブロードキャストする（１０６０）。
【０１６３】
図１０Ｄに示したように、前記制御マスターを使うと、１つのスレーブ装置から第２のスレーブ装置へ制御権を移すこともできる。まず、新しいクロックマスターになるための要求を、１つの装置が前記制御マスターに送信する（１０７０）。前記制御マスターは、前記ネットワーキングシステム内の各ノードに「すべての音声を消音」メッセージをブロードキャストし（１０７２）、前記要求の送信元である新しいクロックマスターに承認メッセージを送信し（１０７４）、クロックマスターステータス送信を終了させるメッセージを旧クロックマスターに送信する（１０７６）。前記旧クロックマスターは、再送信をブロックし、自らのＣＭＰＬ送信を停止する（１０７８）。前記新しいクロックマスターは、急クロックマスターからの送信が停止されたのち、新しいＣＭＰＬを含んだパケットの送信を開始する（１０８０）。前記制御マスターおよび前記旧クロックマスターは、それぞれ前記新しいクロックマスターからの第１のパケットを待機し（１０８２）、そのパケットに各々のメインポートを整合させる（１０８４）。次に、前記旧クロックマスターが再送信を可能にし（１０８６）、前記制御マスターが当該ネットワーキングシステムの各ノードに「すべての音声を消音解除」メッセージをブロードキャストする（１０８８）。
【０１６４】
シリアルバスプロトコル
一実施形態では、動的に割り当てられる複数のスロットを含んだシリアルバスを導入（実装）することができ、これにより非同期シリアル通信の単一方向チャネル導管を提供できる。各スロットは、例えばＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅの略称）、ＲＳ−２３２、および汎用入出力（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ：ＧＰＩＯ）のうち１若しくはそれ以上のデータに使用される。
【０１６５】
前記シリアルバスは、物理ハードウェア接続とデータパケット内のスロットとの間のデータ用インターフェースを提供することができる。このインターフェースには、例えば送信部および受信部を含めることができる。前記送信部は、例えばＭＩＤＩ−Ｉｎポート、ＲＳ−２３２ポート、またはＧＰＩＯ入力でのサンプルデータを介してデータを受信できる。受信されたデータは、次に前記データパケット内のスロットにラッチされる。そのデータが格納されるに伴い、（このデータがラッチされたシリアルスロットに対応する）新規データフラグ（Ｎｅｗ  Ｄａｔａ  Ｆｌａｇ）がトグルされる。この新規データフラグにより、受信装置は、いつ新しいデータが前記パケット内に現れるかを決定できるようになる。一実施形態において、データの確認は、例えば３つの連続パケットのうち２つについて受信データをマッチングすることにより行える。代替実施形態では、ＣＲＣチェックサムを実行できる。
【０１６６】
前記受信部では、新しいデータがないか前記シリアルスロットデータを監視できる。前記データが有効な場合、いずれかの新規データフラグがトグルされている場合、受信パケットプロセッサがそのデータをロードできる。次いで有効なデータは、例えばＧＰＩＯ出力ポートまたはＵＡＲＴ出力レジスタに渡されたのち、ＲＳ−２３２またはＭＩＤＩ出力ポートで送信される。一実施形態では、前記データは、送信前にデバウンスされ、さらに／または冗長性についてチェックされる。
【０１６７】
前記データパケットの特定スロットには、ＭＩＤＩ−Ｉｎ、ＲＳ−２３２受信（ＲＳ−２３２  Ｒｅｃｅｉｖｅ）、ＧＰＩＯ入力（ＧＰＩＯ  Ｉｎｐｕｔ）など種々の入力ポートを割り当てることができる。一度特定のポートがスロットに割り当てられると、データがＭＩＤＩ入力またはＧＰＩＯ入力からのものであれば、当該ネットワーキングシステム内のいずれのノードもそのデータにアクセスできるようになる。前記データがＲＳ−２３２受信ポートからのものである場合、ＲＳ−２３２はポイントツーポイントプロトコルであるため、前記データは、特定の送信先ノードからしかアクセスできない。
【０１６８】
一実施形態において、前記制御マスターは、有効な入力ポート全タイプのテーブルを維持できる。このテーブルには、例えばパケット内の特定データスロットに特定ポートタイプのデータが投入可能かどうかを定義する１６ビットエントリを含めることができる。このテーブルは、データの挿入または監視に利用可能なスロットを各ノードが識別できるよう、当該ネットワーキングシステムの全ノードにブロードキャストできる。一実施形態では、前記ネットワーキングシステム内のノード数は、シリアルデータスロット数を超える場合もある。
【０１６９】
一実施形態では、前記データパケット内の１若しくはそれ以上のスロットに、仮想データケーブルを関連付けることができる。シリアルデータ送信用のノードには、仮想データケーブルを一時的に割り当てることができる。一実施形態では、仮想データケーブルに、複数ノード間で直接通信を行うための複数のシリアルデータスロットを含めることができる。データパケットにおける仮想データケーブルのスロットへの関連付けは、当該ネットワーキングシステム内の諸ノードにより維持される。そして、この情報は、物理ポートをパケットスロットにルーティングするため使用される。
【０１７０】
各ノードは、使用中のスロットおよび各スロットに挿入されたデータのタイプに関する比較的最新のマップとともに提供されるため、各ノードのユーザインターフェースは、ボックスを割り当てようとしている利用者、または特定の仮想データケーブルを監視しようとしている利用者に情報を表示することができる。一実施形態では、前記ノードにより、利用者は、データパケットへのデータ送信用に非アクティブなシリアルデータスロットだけを選択できる。
【０１７１】
ノードが仮想データケーブル要求をローカルに検証すると、その要求は、当該ノードから前記制御マスターへ送信される。シリアルデータスロットにデータを挿入するよう前記ノードが要求すると、前記制御マスターは、以前割り当てられていた仮想データケーブルに前記ノードがデータを挿入しようとしていないことを確認する。さらに、当該制御マスターは、前記データパケット内に利用可能な空きデータスロットがあることを確認する。これらの条件が満たされると、この制御マスターは、仮想データケーブルからデータスロットへの割り当てを行い、要求を発した前記装置に前記仮想データケーブルを許可する。さらに、前記制御マスターは、前記装置が挿入用に使用すべき物理スロットを前記装置に通知することができる。次に、前記制御マスターは前記スロットマップを更新し、当該ネットワーキングシステムの各ノードに更新済み前記マップをブロードキャストする。同様に、ノードがスロットを使用する必要がなくなった場合、前記制御マスターは、前記スロットの割り当てを解除し、前記スロットマップを更新し、更新された前記マップを前記ネットワーキングシステムの各ノードにブロードキャストする。
【０１７２】
前記ノードが特定の仮想データケーブルのリスニングを必要とする場合、前記制御マスターは、要求の送信元であるノードへ要求に対し確認応答する。ただし、仮想データケーブルに対しリスニングするノードはそれ以上のシステム資源を必要としないため、前記スロットマップのブロードキャストは不要である。
【０１７３】
前記制御マスターが仮想データケーブルをノードに許可すると、そのノードは、前記仮想データケーブルをデータ送信に使用できるようになる。前記仮想データケーブルの割り当ては、ローカルに格納できる。一実施形態において、その割り当ては、前記ノードの不揮発性メモリに格納される。前記割り当てを不揮発性メモリに格納することにより、前記ノードは、システムに電源が投入されるたび、同じ仮想データケーブルを要求することができる。この場合、前記要求は（上記のとおり）前記ノードが列挙された後で可能になる。
【０１７４】
ＲＳ−２３２は双方向ポイントツーポイントプロトコルであるため、当該ネットワーキングシステムは、各ＲＳ−２３２仮想データケーブルにつき２つのデータスロットを予約する必要がある。また、前記制御マスターは、同じＲＳ−２３２仮想データケーブルに必ず２つだけ装置が割り当てられるようにしなければならない。前記制御マスターは、前記ＲＳ−２３２ポートについて受信側および送信側の割り当ても行う。換言すると、前記制御マスターは、ＲＳ−２３２仮想データケーブルで接続された複数ノードが同じデータスロットにデータを挿入しないようにしなければならない。
【０１７５】
自動プラグ検出
従来のシステムにおいて、ステレオヘッドフォン増幅器回路は、Ｔｉｐ−Ｒｉｎｇ−Ｓｌｅｅｖｅ（略称ＴＲＳ）プラグを伴うステレオヘッドフォン用に設計されている。効果的に大電流駆動を提供するステレオヘッドフォンジャック（差し込み口）にＴｉｐ−Ｓｌｅｅｖｅ（略称ＴＳ）プラグでモノケーブルを挿入すると、例えば右チャネル出力が直接アースに短絡されてしまう。この場合、（１）右チャネルの出力回路がアースに大電流を駆動するため電力が浪費され、前記出力回路が損傷する、および（２）右チャネルの音声情報が出力から失われる、という２つの望ましくない効果が生じる。このため、従来のシステムにおいて、ＴＳプラグは左チャネルからのみ情報を受信する。従来のシステムでは、モノモードおよびステレオモードのどちらかを手動で選択できる。しかし、システムへの前記プラグ挿入時に行うこのような操作は、リスナーの手間を増やすことになる。
【０１７６】
一実施形態では、ハードウェアおよびソフトウェアを自動的に使用し、プラグが音声システムに挿入されたことと、挿入されたプラグのタイプとが検出されるようにできる。このプラグ情報を使うと、システムは、モノ出力を供給すべきかステレオ出力を供給すべきか自動的に決定できる。これにより、出力ゲイン回路が保護でき、またステレオ信号がモノ聴音装置にルーティングされる場合は自然な音声に聞こえる混合音が提供できる。
【０１７７】
図１１は、一実施形態に係る自動プラグ検出工程の例示的なフローチャートを示した図である。図１１に示すように、当該ユニットではＴＲＳジャックのチップコネクタからプラグ検出信号を監視し（１１０５）、プラグが前記ＴＲＳジャックに挿入された場合、それを自動的に検出することができる。通常は、このコネクタを抜くと、例えばロー状態になる。この信号の状態は、プラグを差し込むと、プルアップに接続されたスイッチがトリガーされて変化する。プロセッサはこの信号の変化を検出し、プラグが挿入されたことを認識できる。プラグ着脱時の異形信号を除去するため、前記プラグ検出信号をデバウンスする場合もある。一実施形態では、プラグが挿入されその信号が測定されるまで音声を再生することはできない。
【０１７８】
新しいプラグが完全に差し込まれると、そのプラグがモノかステレオか決定される（１１１０）。一実施形態では、非常にローパスなフィルターで減衰された直流信号が、前記ジャックの前記リングコネクタへ送信される。例えば、この信号は約６Ｈｚにまでフィルターされ、また振幅は約３５０ｍＶ程度になる。このような信号では、挿入されたプラグのヘッドフォンに突発的な可聴音が伝わるのを防ぐことが可能である。本開示の範囲内で他の信号を使ってもよい。
【０１７９】
次に、前記信号が検出されたかどうかを決定するため、前記リングコネクタが監視される（１１１５）。信号が検出されなかった場合は、前記リングコネクタが、（接地された）スリーブコネクタに短絡したと決定され、モノプラグが挿入されたものと決定される（１１２０）。それ以外の場合は、前記リングコネクタが前記スリーブコネクタを介してアースに短絡しないことから、ステレオプラグが挿入されたものと決定される（１１３０）。
【０１８０】
一実施形態では、前記リングコネクタがコンパレータに接続される。このコンパレータへの他の入力は約３０ｍＶといった低基準電圧に接続でき、このコンパレータの出力がステレオプラグ検出信号となる。これにより、前記リングコネクタと前記スリーブコネクタとの間の抵抗が閾値を超えた場合（アースに短絡しない場合）、前記コンパレータによりステレオプラグが差し込まれたことが示される。
【０１８１】
次に、前記ステレオプラグ検出信号に基づいて、前記出力信号のデジタル処理が行われる。モノプラグが検出されると、前記出力信号は実質的に前記左チャネルなどだけで音声情報を伝達する（１１２５）。これが、左右入力チャネル間でバランスの取られたモノ信号となる。これにより、前記出力回路も高駆動レベルから保護される。これと対称的に、ステレオプラグが検出されると、そのステレオ入力信号は前記出力回路へ渡される（１１３５）。
【０１８２】
当該自動プラグ検出のアルゴリズムは、電源投入時、またプラグ挿入が検出された時点で随時実行できる。さらに、当該ユニットのステレオ設定はデジタルドメインで維持され、プラグ検出論理は後で実行されるため、当該構成要素に現在プログラムされているパン設定は、モノプラグの場合オーバーライドされる。この自動プラグアルゴリズムは「パン後」に実行されるため、利用者のパン設定に変更を加える必要はない。したがって前記論理は、正面パネルに表示される場合でも、事前設定されたメモリ内にある場合でも、利用者のパン設定に何ら影響を及ぼさない。内部パン設定は維持され、上記のアルゴリズムを使った音声信号の自動再ルーティングは利用者にはトランスペアレントなものになる（認識されない）。
【０１８３】
ＬＥＤパルス幅変調
発光ダイオードパルス幅変調（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ  Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ：ＬＥＤ  ＰＷＭ）は、装置内のＬＥＤ駆動に使われる電流を限定するため使用される。一実施形態において、このＬＥＤ  ＰＷＭは、一度に複数行のＬＥＤを駆動するマトリックス上で使用される。本明細書における用語「点灯」および「消灯」は、利用者から見たＬＥＤの点灯状態を指す。用語「オン」および「オフ」は、ＬＥＤへの電流駆動状態を指す。ＬＥＤが消灯している場合は常にオフである。しかしＬＥＤが点灯している場合、そのＬＥＤへの電流はオンとオフの間のパルス状態になっている。
【０１８４】
処理装置は、特定のＬＥＤが点灯していると決定した場合、前記ＬＥＤに対応したビットを設定する。特定のシステムではＭ×ＮのＬＥＤアレイが使われる。したがって、これらのビットはＭＮビットの文字列（「ＬＥＤ」ビット）と見なされる。これらのＬＥＤビットは１〜ＭＮで採番される。ＬＥＤビットは、例えば所与の行内でＬＥＤビット１〜ＬＥＤビットＭ、ＬＥＤビットＭ＋１〜ＬＥＤビット２Ｍのように順次処理される
一実施形態において、点灯していると考えられる各ＬＥＤは、一定の（比較的短い）時間しかオンになっていないが、これは、利用者にとって、例えば５ｍＡで駆動されるＬＥＤも、５０ｍＡ、１０％デューティサイクルで駆動されるＬＥＤも同程度の輝度に見えるためである。このため、一実施形態では点灯している各ＬＥＤが短時間だけオンになっており、点灯中と指定されたＬＥＤでも、実際には大半の時間オフになっている可能性がある。ただし、点灯しているように見えるよう比較的大電流で駆動されている可能性がある。
【０１８５】
点灯している各ＬＥＤは、特定の時間だけオンにされる。ＬＥＤがオフにされる場合は、次のＬＥＤビットが処理される前に、１つのＬＥＤから別のＬＥＤに電流が漏れて一部のＬＥＤが不適切に暗く点灯するのを防ぐための最低限の時間（「ＬＥＤデッドタイム」と呼ばれる）が必要になる。ＬＥＤをオンおよびオフにする時間長の決定には、ＬＥＤタイマーが使われる。
【０１８６】
一実施形態では、各ＬＥＤがマスターサイクルタイマー失効前に処理されると、そのマスターサイクルタイマーが失効するまで、ＬＥＤ  ＰＷＭ工程が停止される。これにより、前記ＬＥＤ  ＰＷＭ工程に使われる電流は低減される。
【０１８７】
一実施形態では、格納された値へのアクセスにより、一度に行われる行スキャン数が決定できる。代替実施形態では、スキャンされる各行が、例えばメモリに格納されたビットで表される。特定のスキャン行に対応するメモリ位置の例示的な値は、次の表のとおりである。一実施形態では、前記メモリ位置への値書き込みにより、行スキャン動作を開始できる。特定のパス内でスキャンされる例示的な行シーケンスも、この表の各値について示している。
【０１８８】
【表５】
2009512021.tif 000007
【０１８９】
次の疑似コードは、例示的なＬＥＤ  ＰＷＭスキームの動作を表したものである（以下において、ＭＩＮ［ｘ，ｙ］はｘ<ｙの場合ｘに等しい。それ以外の場合はｙである）。
【０１９０】
【数１】
2009512021.tif 000008
【０１９１】
図１２は、一実施形態に係る例示的なＬＥＤ  ＰＷＭスキームにより生成されたタイミングチャートを示した図である。図１２に示したように、このＬＥＤアレイは、（ｐａｄｏ＿ｌｅｄｃ［０：７］と識別される）８列および（ｐａｄｏ＿ｌｅｄｒ［０：１４］と識別される）１５行を有する。一実施形態では、これらの行および列の有効状態がどちらもハイの場合、それに対応した行および列のＬＥＤが必要に応じて駆動される。例えば図１２に示すように、有効な第１のＬＥＤグループとして記載されているのは、３列１２〜１４行である。
【０１９２】
当業者であれば、本明細書に開示した説明に基づいて、一度に複数の行をスキャンするＬＥＤ  ＰＷＭスキームを実施する代替方法が実施可能で、また明確に理解されるであろう。
【０１９３】
以上に開示した特徴および機能等の変形形態またその代替形態は、他の多くの異なるシステムまたはアプリケーションに望ましい態様で組み込めることが理解されるであろう。また当業者であれば、現時点で予測または予期できない種々の代替形態、変更（修正）形態、変形形態、または改良形態が今後作成可能であり、これらの形態が添付の特許請求の範囲に包含されるよう意図されていることも理解されるであろう。
【図面の簡単な説明】
【０１９４】
本明細書で説明する実施形態の態様、特徴、有益性、および優位性は、以下の説明、添付の請求項、および添付の図面を参照することにより明確に理解される。
【図１】図１は、一実施形態に係る例示的な非マージャ装置を示した図である。
【図２】図２は、一実施形態に係る例示的なマージャ装置を示した図である。
【図３】図３は、一実施形態に係る制御マスター（Ｃｏｎｔｒｏｌ  Ｍａｓｔｅｒ）の例示的な初期状態を示した図である。
【図４】図４は、一実施形態に係るスレーブ装置の例示的な初期状態を示した図である。
【図５Ａ】図５Ａ〜５Ｄは、一実施形態に従い装置を初期化および列挙する工程中の例示的なネットワーク状態図を示した図である。
【図５Ｂ】図５Ａ〜５Ｄは、一実施形態に従い装置を初期化および列挙する工程中の例示的なネットワーク状態図を示した図である。
【図５Ｃ】図５Ａ〜５Ｄは、一実施形態に従い装置を初期化および列挙する工程中の例示的なネットワーク状態図を示した図である。
【図５Ｄ】図５Ａ〜５Ｄは、一実施形態に従い装置を初期化および列挙する工程中の例示的なネットワーク状態図を示した図である。
【図５Ｅ】図５Ｅは、一実施形態に係る例示的なネットワーク状態図を示した図である。
【図６】図６は、一実施形態に係るソースフラグ（Ｓｏｕｒｃｅ  Ｆｌａｇ）の例示的なデータフローを示した図である。
【図７Ａ】図７Ａは、一実施形態に係る装置内の例示的な制御バス構成要素を示した図である。
【図７Ｂ】図７Ｂは、一実施形態に係る装置内の別の例示的な制御バス構成要素を示した図である。
【図８】図８は、一実施形態に係るマスターからスレーブへのデータ転送の例示的なイベントのシーケンスを示した図である。
【図９】図９は、一実施形態に係るスレーブからマスターへのデータ転送の例示的なイベントのシーケンスを示した図である。
【図１０Ａ】図１０Ａは、一実施形態に係る前記制御マスターからの例示的なクロックマスター（Ｃｌｏｃｋ  Ｍａｓｔｅｒ）ステータス転送を示した図である。
【図１０Ｂ】図１０Ｂは、一実施形態に係る前記制御マスターへの例示的なクロックマスターステータス転送を示した図である。
【図１０Ｃ】図１０Ｃは、一実施形態に係る例示的な障害後クロックマスターステータス回復を示した図である。
【図１０Ｄ】図１０Ｄは、一実施形態に係る例示的なクロックマスターステータス転送を示した図である。
【図１１】図１１は、一実施形態に係る自動プラグ検出工程の例示的なフローチャートを示した図である。
【図１２】図１２は、一実施形態に係る例示的なＬＥＤ  ＰＷＭスキームにより生成されたタイミングチャートを示した図である。
【図１】
2009512021.tif 000009
【図２】
2009512021.tif 000010
【図３】
2009512021.tif 000011
【図４】
2009512021.tif 000012
【図５Ａ】
2009512021.tif 000013
【図５Ｂ】
2009512021.tif 000014
【図５Ｃ】
2009512021.tif 000015
【図５Ｄ】
2009512021.tif 000016
【図５Ｅ】
2009512021.tif 000017
【図６】
2009512021.tif 000018
【図７Ａ】
2009512021.tif 000019
【図７Ｂ】
2009512021.tif 000020
【図８】
2009512021.tif 000021
【図９】
2009512021.tif 000022
【図１０Ａ】
2009512021.tif 000023
【図１０Ｂ】
2009512021.tif 000024
【図１０Ｃ】
2009512021.tif 000025
【図１０Ｄ】
2009512021.tif 000026
【図１１】
2009512021.tif 000027
【図１２】
2009512021.tif 000028
【国際調査報告】
2009512021.tif 000029