トップ :: H 電気 :: H04 電気通信技術




【発明の名称】 通信システム内のポートのアクティブ状態からスタンバイ状態への遷移
【発明者】 【氏名】ジンソン リウ

【氏名】キアンガオ シュー

【氏名】ハイフェング チョウ

【氏名】ウェン チュー

【要約】 【課題】通信システム内のポートをアクティブ状態からスタンバイ状態に遷移させるための技術を提供する。

【構成】通信システム内のポートをアクティブ状態からスタンバイ状態に遷移させる方法は、ポートをスタンバイ状態に遷移させるための信号を送出するステップと、ポートをスタンバイ状態に遷移させるための信号が送出されると、サスペンド状態に入ることなくポートをアクティブ状態からスタンバイ状態に遷移させるステップとを含む。ポートは物理層のインターフェース・ポートであってよく、通信システムはIEEE1394準拠の通信システムであってよい。
【特許請求の範囲】
【請求項1】
通信システム内のポートをアクティブ状態からスタンバイ状態に遷移させる方法であって、
前記ポートを前記スタンバイ状態に遷移させるための信号を送出するステップと、
前記ポートを前記スタンバイ状態に遷移させるための前記信号が送出されると、サスペンド状態に入ることなく前記ポートを前記アクティブ状態から前記スタンバイ状態に遷移させるステップと
を含む方法。
【請求項2】
前記ポートを前記スタンバイ状態に遷移させるための前記信号が送出されるとき、インジケータをアクティブ化するステップと、
前記インジケータがアクティブであるとき、前記サスペンド状態に入らないことを保証するステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
第2のインジケータがアクティブであるとき、第1のインジケータを非アクティブ化されると前記スタンバイ状態に入るステップをさらに含む、請求項1に記載の方法。
【請求項4】
第2のインジケータの状態にかかわらず、第1のインジケータがアクティブ化されるとすぐに前記スタンバイ状態に入るステップをさらに含む、請求項1に記載の方法。
【請求項5】
前記通信システムはIEEE1394準拠の通信システムであり、第1の変数「rx_ok」がFALSEであるときに、第2の変数「do_standby」もFALSEであるときを除き、前記サスペンド状態に入らないことを保証するステップをさらに含む、請求項1に記載の方法。
【請求項6】
前記保証ステップは、ポート接続状態マシンで前記アクティブ状態を前記サスペンド状態に遷移させることを管理する論理式を変更するステップを含む、請求項5に記載の方法。
【請求項7】
前記保証ステップは、ポート接続状態マシンで条件「!rx_ok」を条件「(!do_standby||!rx_ok)」と交換することによって、ポート接続状態マシンで前記アクティブ状態を前記サスペンド状態に遷移させることを管理する論理式を変更するステップを含み、ここで、「!」は論理補数を表し、「||」は論理OR機能を表す、請求項5に記載の方法。
【請求項8】
前記変更ステップは、前記ポート接続状態マシンで前記アクティブ状態から前記サスペンド状態への前記ポートの前記遷移を管理する前記論理式での条件として、変数「rx_ok」の評価を削除することを含む、請求項6に記載の方法。
【請求項9】
少なくとも第1のポートと、
メモリと
前記メモリおよび前記少なくとも第1のポートに結合した少なくとも1つのプロセッサとを備える、通信システムで用いるための装置であって、
前記少なくとも1つのプロセッサは、前記少なくとも第1のポートが少なくとも第2のポートをアクティブ状態からスタンバイ状態に遷移させるための信号を送出するように構成され、前記少なくとも第2のポートを前記アクティブ状態から前記スタンバイ状態に遷移させるための前記信号が送出されると、サスペンド状態に入ることなく前記少なくとも第1のポートを前記アクティブ状態から前記スタンバイ状態に遷移させるように構成される、装置。
【請求項10】
データを少なくとも1つの他のポートに送出すること、およびデータを前記少なくとも1つの他のポートから受信することのうちの少なくとも1つのために構成された少なくとも1つのポートと、
前記ポートに結合した少なくとも1つのコントローラであって、サスペンド状態に入ることなく前記少なくとも1つのポートを前記スタンバイ状態に遷移させるように動作するコントローラと
を備えるデータ通信システム。
【発明の詳細な説明】【技術分野】
【0001】
本発明は概してデータ通信に関し、具体的にはシリアル通信バスを使用した2つ以上の装置間のデータ通信に関する。
【背景技術】
【0002】
現在、共通バスまたは代替の通信リンクを介して、互いに接続された2つ以上の電子装置間の通信を容易にするために使用される種々の既知のプロトコルが存在する。これらのプロトコルのうち、最もよく知られ、最も広く使用されるプロトコルの中には、USB(ユニバーサル・シリアル・バス)、SATA(シリアル・アドバンスト・テクノロジ・アタッチメント)、HDMI(高品位マルチメディア・インターフェース)、ファイバ・チャネル、およびIEEE1394がある。
【0003】
IEEE1394は、FireWire(Apple Computer,Inc.の登録商標)およびi.LINK(ソニー株式会社の登録商標)という商品名で、様々な家庭用電子機器、コンピュータ電子機器、および産業用電子機器用に広く採用されるようになった。IEEE1394は、高データ転送速度での非同期データおよび等時性データの両方に対応し、ピア・ツー・ピア構成およびマスタ・スレーブ構成の両方に対応し、デイジ・チェーン構成およびハブ・アンド・スポーク構成の両方に対応し、ならびにそのQoS(Quality of Service:サービス品質)が保証され、待ち時間が小さく、処理オーバヘッドが小さいという理由で、データ記憶、音声および映像、ネットワーキング、およびバス給電の周辺機器などの用途で使用するのに特に適切である。
【0004】
ネットワークは、とりわけ物理層(PHY)およびリンク層を含む複数の層で考えられてよい。PHYは、ネットワーク・ハードウェア、物理的ケーブル接続および/または無線接続を意味する。PHYは最も基礎的なネットワーク層であり、リンク層のコード化された出力を送出する手段だけを提供する。PHYは、ユーザ装置内のデジタル・データ表現と通信チャネルにより送出される対応する信号との間の変換に関与し、信号仕様およびネットワーク規則が詳述されている層である。リンク層はPHYから次の上位の層である。リンク層はネットワーク内の隣接ノード間でデータを転送し、概してアプリケーションとインターフェースするためにPHY中の搬送データをフォーマットおよび/または操作する。
【0005】
IEEE1394規格は最初に、「IEEE Standard for a High Performance Serial Bus」と題するIEEE1394(1995年)で米国電気電子学会(IEEE)により規定され、「IEEE Standard for a High Performance Serial Bus (Amendment 1)」と題するIEEE1394a(2000年)と、「IEEE Standard for a High Performance Serial Bus (Amendment 2)」と題するIEEE1394b(2002年)とで2回修正された。これらの規格のすべてが、本明細書で参照することにより組み込まれている。
【0006】
IEEE1394aは、電源管理用のサスペンド状態(IEEE1394a(2000年)3.9.5.2で定義)と、対応するレジューム状態とを導入した。IEEE1394bは、ベータ・モードで動作する装置用のスタンバイ状態(IEEE1394b(2002年)3.10.7.3.1で定義)と、対応するリストア状態とを追加した。サスペンド状態およびスタンバイ状態の両方は、通常のシリアル・バス・アービトレーションに対して作動可能ではないが、他の方法で物理的ケーブルの切断、あるいはレジューム信号またはリストア信号のいずれかを検出することができ、したがって、物理的接続を継続して監視を行いながら、電力消費を低減することができる。
【0007】
主として、バス・リセットはポートがスタンバイ状態に出入りする結果として生成されないので、IEEE1394bでのスタンバイ状態は、ディスエーブル状態またはサスペンド状態よりある種の利点を有する。これは、バス・リセットするとバス全体がバス初期化手順を実行することになるという点で有益である。PHYの点から見て、バスの初期化は概して、ループなしのベータだけのバスに関して約200マイクロ秒(μs)かかる。バス上に1つのループ(または複数のループ)がある場合、またはバスがハイブリッド・バス(すなわち、少なくとも1つのボーダ・ノードを含む動作バス)である場合、バス初期化手順はかなり長い時間かかる可能性がある。トランザクション・レベルから、バス・リセットはバス上のトラフィックを切断し、PHYでの保留要求を消去する可能性がある。疑いなく、頻繁なバス・リセットは、バス性能、したがって全体的なシステム性能を著しく低下させ、そのため望ましくない。
【0008】
残念ながら、現在のIEEE1394b仕様書の場合、PHYポートは必ずしも意図したようにスタンバイ状態に遷移するとは限らない。代わりにPHYポートはサスペンド状態に遷移することになり、そのピア・ポートがスタンバイ状態に遷移する。これによって、その2つのポートを単一のリストア作用により活性化させることができず、それによって、スタンバイ状態にある接続がアクティブ状態に戻り、したがって望ましくない。さらに、PHYポートがそのサスペンド状態に入る、またはそのサスペンド状態からレジュームされるときに、バス・リセットが行われることになるが、これは望ましくない。
【非特許文献1】「IEEE Standard for a High Performance Serial Bus」と題するIEEE1394(1995年)
【非特許文献2】「IEEE Standard for a High Performance Serial Bus (Amendment 1)」と題するIEEE1394a(2000年)
【非特許文献3】「IEEE Standard for a High Performance Serial Bus (Amendment 2)」と題するIEEE1394b(2002年)
【非特許文献4】「1394b Clarifications and Errata」と題するIEEE1394 Trade Associationの技術告示TB2002001の4.25節
【発明の開示】
【発明が解決しようとする課題】
【0009】
したがって、スタンバイ状態ではなくサスペンド状態への望ましくない遷移を防止するように、IEEE1394bプロトコルまたは他の通信プロトコルのスタンバイ状態への遷移を強化したいという要求が存在する。
【課題を解決するための手段】
【0010】
前述の要求および他の目的により、本発明はその例示的実施形態で、サスペンド状態または他の意図しない状態に入ることなく通信システム内のポートをアクティブ状態からスタンバイ状態に遷移させるための技術を提供する。このようにして本発明の実施形態は、アクティブ状態から低電力消費状態に遷移させるとき、バス・リセットを生成しないようにする。本発明の例示的実施形態では、ポートはPHYポートであってよく、通信システムはIEEE1394準拠の通信システムであってよい。
【0011】
本発明の1つの態様により、通信システム内のポートをアクティブ状態からスタンバイ状態に遷移させる方法は、ポートをスタンバイ状態に遷移させるための信号を送出するステップと、ポートをスタンバイ状態に遷移させるための信号が送出されると、サスペンド状態に入ることなくそのポートをアクティブ状態からスタンバイ状態に遷移させるステップとを含む。ポートは物理層のインターフェース・ポートであってよく、通信システムはIEEE1394準拠の通信システムであってよい。
【0012】
本発明の他の態様により、通信システムで用いるための装置は、少なくとも第1のポートと、メモリと、メモリおよび第1のポートに結合した少なくとも1つのプロセッサとを含む。プロセッサは、第1のポートが少なくとも第2のポートをアクティブ状態からスタンバイ状態に遷移させるための信号を送出するように構成され、第2のポートをアクティブ状態からスタンバイ状態に遷移させるための信号が送出されると、サスペンド状態に入ることなく第1のポートをアクティブ状態からスタンバイ状態に遷移させるように構成される。
【0013】
本発明の他の態様によるデータ通信システムは、データを少なくとも1つの他のポートに送出し、および/またはデータを他のポートから受信するように構成された少なくとも1つのポートを含む。データ通信システムは、ポートに結合した少なくとも1つのコントローラをさらに含み、そのコントローラは、サスペンド状態に入ることなくポートをスタンバイ状態に遷移させるように動作する。
【0014】
本発明のこれらのおよび他の特徴および利点は、添付図面と関連して読み取られるその例示的実施形態の下記の詳細な説明から明らかとなる。
【発明を実施するための最良の形態】
【0015】
本発明は、共通の通信バス上に互いに結合された通信システム・ポートおよびピア・ポートをアクティブ状態からスタンバイ状態に遷移させるための例示の方法および装置の文脈において本明細書で説明される。本発明の例示的実施形態は、サスペンド状態に入ることなくポートおよびそのピア・ポートをアクティブ状態からスタンバイ状態に遷移させることを容易にし、それによって使用されるバス速度および/または動作モードにかかわらず、バス・リセットを生成しないようにする。
【0016】
本発明は物理層のインターフェース・ポートと共に本明細書で説明されているが、本発明の技術は、本明細書での教示を考慮して当業者に明らかになるように、それに変更があってもまたは変更がなくても、スタンバイ状態または代替の電力節約状態をサポートする他のポートに対して、同様に適用されてもよいことは理解されよう。本発明はIEEE1394準拠規格と共に本明細書で説明されているが、本発明の技術は、本明細書での教示を考慮して当業者に明らかになるように、それに変更があってもまたは変更がなくても、スタンバイ状態または代替の電力節約状態を組み込む他の通信規格および/または非標準プロトコルに同様に適用されてもよいことは理解されよう。ある種の用語がIEEE1394b規格と共に使用されることができるが、同一のおよび/または代替の機能言語は、本発明の技術が適用可能である他の通信プロトコルに同様に適用されてもよい。同様に、本明細書で使用される変数、機能、定数、信号、状態などのある種の名前は、IEEE1394b規格により規定されたものである。具体的な名前、内部構造、および実装手段は、本発明の機能を著しく変えることなく変えられてもよいことは当業者には明らかであろう。
【0017】
概して、本明細書内で定義された変数は、他の方法で規定されていない場合、ブール変数として作用するように仮定される。変数がTRUEであるとき、変数の条件は満足されている。同様に、変数がFALSEであるとき、変数の1つまたは複数の条件は満足されていない。本明細書で使用される記号「!」はそれに対応する変数の論理補数を表し、記号「&&」および「||」は論理AND演算子および論理OR演算子をそれぞれ表す。
【0018】
図1は、本発明の技術が実現される例示の2つの装置のデータ通信システム100を示す構成図である。通信システムは、例えばビデオ編集システム、マルチメディア放送システム、ネットワーキング・システムなどとして実現されてよい。通信システム100は、通信リンク106によって相互接続された第1の装置102と、第2の装置104とを備える。説明を簡単にするために2つの装置だけを示すが、本発明は相互接続装置の特定の個数に限定されるものでないことは理解されよう。通信リンク106は、例えば携帯電話、無線周波数(RF)、赤外線(IR)、マイクロ波、衛星などの無線通信リンクを含んでよく、例えば電話、ケーブル、光ファイバなどの専用通信回線を含んでもよい。通信リンク106は、データを第1の装置102と第2の装置104との間で転送することができる複数のチャネルを収容することができる。チャネルは、1秒あたりいくつのサンプルをその特定の媒体上で送信できるかを決定する、それに関連するある種のデータ速度を有することができる。複数の低速度チャネルは、当業者によって理解されるように、例えばマルチプレクサを使用することによって単一のより高速度のチャネルに統合することができる。同様に、複数の低速度チャネルは、例えばデマルチプレクサを使用することによって、1つのより高速度のチャネルから抽出することができる。
【0019】
第1の装置102および第2の装置104は例えば、いくつかの家庭用電子機器(デジタル・カメラ、デジタル・カムコーダ、携帯情報端末(PDA)、動画像符号化専門家会合レイヤ3音声(MP3)装置、携帯電話などを含むがそれに限定されない)のうち任意の装置と、コンピュータ周辺機器(パーソナル・コンピュータ、プリンタ、フレーム・グラバ、外部ハード・ドライブ、スキャナ、ネットワーキング・ハブなどを含むがそれに限定されない)とを備えてよい。第1の装置102内には、第1の装置102内の回路からデータを受信し、そのデータを第1の装置102内のPHYポート110に転送するリンク・レイヤ108がある。PHYポート110は、通信リンク106により送出するためにデータを適切な通信プロトコルにコード化する。第2の装置104内のピアPHYポート112は、第1の装置102の中のPHYポート110により送出されるデータを受信する。次いでピアPHYポート112は受信データをデコードし、この種のデコードされたデータを第2の装置104内のリンク・レイヤ114に供給し、リンク・レイヤ114はデコードされたデータにより第2の装置104を制御する。
【0020】
本明細書で示される例示的実施形態の場合、装置102および104はIEEE1394b通信プロトコルを使用して互いに通信することが仮定されているが、本発明は、この通信プロトコルあるいは任意の標準または非標準通信プロトコルに限定されない。第1の装置102から第2の装置104へのデータ転送が参照されてよいが、データは同様に、第2の装置104から第1の装置102に転送されることができ、したがって2つの装置間のデータ転送は双方向である。
【0021】
本明細書で説明される本発明の例示的実施形態はシリアル通信プロトコルすなわちIEEE1394b規格のスタンバイ機能を強化することに関するので、主に本発明に関係するのは、第1の装置102および第2の装置104内のPHYポート110およびPHYポート112それぞれがアクティブ状態(この状態ではポートが使用可能とされ、すべてのシリアル・バス信号の状態を検出可能であり、通常のバス処理(例えばリセット、ツリー識別、自己識別、および通常のアービトレーション段階)に関与する)からスタンバイ状態に直接遷移することである。スタンバイとは、所与の1つまたは複数のポートに関する低電力消費動作モードを説明するのに使用できる用語である。IEEE1394b規格により、スタンバイはベータ・モード動作だけの機能である。ノードがアクティブ・ポートを1つだけ有する場合、このポート上の接続をスタンバイ状態にすることができる。接続がスタンバイ状態にある間、ノードは通常のバス処理に関与せず、同一バス上の他のノードは、スタンバイ状態にされたノードの状態のいかなる変更も認識しない。接続のサスペンド動作モードと対照的に、バス・リセットは、前述のように、ノードがスタンバイに入るまたはノードをスタンバイからリストアすることの一部としては行われない。
【0022】
第2の装置104内のPHYポート112は、第1の装置102内のPHYポート110に対するピアPHYと見なされてもよい。本明細書では、用語「甥(nephew)」を用いることで、1つのポートがスタンバイ状態にあり、残りのポート(があればその)すべてがディスエーブル、切断またはサスペンドされた状態にあるリーフ・ノードを定義できるものとする。ルート・ノード、2つ以上のアクティブ・ポートを有するノード、または既にスタンバイ状態にある他のポートを有するノードは甥になることはできない。甥ノードに接続されたアクティブ・ノードは、「叔父(uncle)」ノードと呼ぶことができるものとする。ノードがそのノード識別番号(ID)およびポート・アドレスを含むスタンバイ・コマンド・パケットを検出するとき、ノードは甥になる。甥ノードは通常のバス処理に関与しないが、甥ノードがメンバであるアクティブ・バスは概して、それが甥になる(例えば、バス・リセットが行われない)ときにノードの状態の変更を認識しない。甥ノードがスタンバイ状態にあるポートを有する間にバス・リセットが行われる場合、ピア叔父ノードは、甥ノードに代わって自己IDパケット(例えば、自己識別段階の間またはPHYピング・パケットに応答して、ケーブルPHYによって送出されるPHYパケット)を代行する。
【0023】
図2は、従来のIEEE1394b通信プロトコルにより実現されたポート接続マネジャ状態マシンの少なくとも一部分を示す状態遷移図200である。矢印は状態間での遷移を表す。各矢印の上方のテキストは、その遷移が行われるのに必要および十分な条件を示す。縦線および添付ラベルは状態およびその状態に入るときに呼び出される機能を表す。IEEE1394b仕様書に含まれるポート接続マネジャ状態マシンは、切断(P0)、レジューム(P1)、アクティブ(P2)、サスペンド・イニシエータ(P3)、サスペンド・ターゲット(P4)、サスペンド(P5)、ディスエーブル(P6)、スタンバイ・イニシエータ(P7)、スタンバイ・ターゲット(P8)、スタンバイ(P9)、リストア(P10)、無試験(P11)、およびループ・ディスエーブル(P12)を含めて13通りの状態を定義する。しかし構成図200は、好ましくは本発明の例示的実施形態が対象とする遷移、すなわちアクティブ、スタンバイ・イニシエータ、スタンバイ・ターゲット、スタンバイ、サスペンド・イニシエータ、サスペンド・ターゲット、およびサスペンド状態(例えば、P2:P7、P2:P8、P2:P3、P2:P4)のうちの1つまたは複数の間のそれらの遷移だけを示している。
【0024】
ポートは、とりわけ変数「rx_ok」、「do_standby」および「signaled」、またはその機能的に同等のものがすべてTRUEである場合におよび場合にのみ、図2に示すように標準IEEE1394bプロトコルにより、アクティブ状態(P2)からスタンバイ・イニシエータ状態(P7)に遷移(例えば、P2:P7遷移)することになる。同様にポートは、とりわけ変数「rx_ok」がFALSEである、または変数「suspend_request」および「signaled」が共にTRUEである場合におよび場合にのみ、図2に示すように標準IEEE1394bプロトコルにより、アクティブ状態(P2)からサスペンド・イニシエータ状態(P3)に遷移(例えば、P2:P3遷移)することになる。
【0025】
下記の付録1は、PHYポート110により使用することができるCプログラム言語の例示のソース・コードを示す。この例示的実施例は、コメントが除外されたまたは交換された場合でのIEEE1394b規格からの「start_tx_packet()」機能である。スタンバイ状態に入るプロセスを開始するために、PHYポートはこの機能を呼び出し、この機能は次いで、「STANDBY(スタンバイ)」信号(ここでは、「STANDBY」とラベルの付けられたコード行)を送信し、所定の期間を待ち(待ち時間)、その後「signaled」変数(ここでは、「SIGNALED」とラベルの付けられたコード行)をTRUEに設定する。この待ち時間の長さは、接続速度および他の設定によって変わる。この長さは、バスがハイブリッド・バス(これはこのバスがレガシ・ノード(IEEE1394および/またはIEEE1394a)およびIEEE1394bノードの両方を含むことを意味する)である場合、最長(例えば、約320ナノ秒(ns))となる。付録(Appendix)1では、例示のコードの各行が、ハイブリッド・バスの場合に特定行が負担するナノ秒単位の待ち時間の部分を示すラベルが付けられたこの待ち時間を実現する。これらの待ち時間(例えば、80ns、20ns、40ns、20ns、および160ns)は総計320nsであり、これはハイブリッド・バスに関する概算のタイムアウト期間である。
【0026】
「STANDBY」信号が受信されると、図2に示す状態図によりそのピア・ポート112は、アクティブ状態(P2)からスタンバイ・ターゲット状態(P8)に遷移し、したがって「standby_target_actions()」機能を実行し、次いでその機能は「activate_connect_detect(RECEIVE_OK_HANSHAKE)」機能を呼び出す。後者の機能は、「bport_sync_ok」(これは機能「receive_ok_monitor()」で示されたように、ベータ・ポートに対する「rx_ok」と同等である)をPHYポートに関してFALSEに設定する。これが前述のタイムアウト期間内で行われる場合、「rx_ok」は、「signaled」がTRUEである前にFALSEとなる。したがって、「rx_ok」がもはやTRUEにならなくなった後になるまで「signaled」はTRUEにならないので、PHYポート110はアクティブ状態(P2)からスタンバイ・イニシエータ状態(P7)に遷移するのではなく、「rx_ok」がFALSEであるのでサスペンド・イニシエータ状態(P3)に遷移する。
【0027】
図3は、従来のIEEE1394b通信プロトコルにより、PHYノードをアクティブ状態からスタンバイ状態に遷移することに関係する模擬信号を示す例示のタイミング図300である。図から明らかなように、PHYポート110(図1参照)は、従来のIEEE1394bプロトコルの下では所期のスタンバイ・イニシエータ状態(P7)に遷移するのではなく、サスペンド・イニシエータ状態(P3)に遷移する。時点t0で、変数「rx_ok」はTRUEであり、変数「signaled」はFALSEであり、変数「do_standby」はFALSEであり、変数「force_disconnect」はFALSEであり、「port_state」はP2であり、P2はポートがアクティブ状態であることを示す。時点t1で、「do_standby」はTRUEであり、TRUEはポートがスタンバイ・イニシエータ状態(P7)に遷移するという要求を示す。待ち時間(例えば、320ns)後、「signaled」はFALSEのままであるので、「do_standby」はFALSEになり、「rx_ok」はFALSEになり、「port_state」はP3であり、P3はポートが意図したスタンバイ・イニシエータ状態ではなく、サスペンド・イニシエータ状態に遷移したことを示す。時点t3で、「signaled」はTRUEになるが、この時点でポートは、サスペンド・イニシエータ状態に既に遷移している。したがって、これらの状況の下ではポートは意図したスタンバイ・イニシエータ状態に遷移しないことになる。その代わりに、ポートはサスペンド・イニシエータ状態に遷移し、結局はサスペンド状態に遷移し、それによってサスペンド状態に出入りするとき、バス・リセットを不必要に生成することになる。
【0028】
本発明の1つの態様は、スタンバイ状態が要求されるとき、PHYポート110をサスペンド・イニシエータ状態に遷移させないようにし、それによって有利なことには、従来のIEEE1394bプロトコルでの固有の欠点を修正する。この問題を修正するために、本発明の他の態様によりアクティブ状態(P2)からサスペンド・イニシエータ状態(P3)への遷移は、「do_standby」がTRUEのとき「rx_ok」のロス(loss)を無視するように変更される。言い換えれば、「rx_ok」がFALSEであることは、「do_standby」もFALSEでない限り、遷移を引き起こすべきではない。一実施形態では、P2:P3遷移はIEEE1394b仕様書での遷移から変更される。すなわち、
【数1】


本発明の他の態様は、「rx_ok」がTRUEであることをもはや必要としないように、アクティブ状態(P2)からスタンバイ・イニシエータ状態(P7)への遷移を変える。この変更によって、「signaled」がアサートされるとすぐに、および「rx_ok」がアサートされる前に、ポートがP2からP7に遷移することを可能にする。一実施形態では、P2:P3遷移はIEEE1394b仕様書での遷移から変更される。すなわち、
【数2】


本発明の一実施形態は、上述の態様のいずれか一方を他方の態様とは無関係に実施してもよい。しかし、好ましい実施形態はこれらの態様の両方を含む。
【0029】
図4を参照すると、上述の態様を両方共に組み込んだ本発明の一実施形態により、IEEE1394bポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図400が示されている。図2で示された状態遷移図200のように例示の状態遷移図400は、アクティブ状態(P2)とサスペンド・イニシエータ(P3)、サスペンド・ターゲット(P4)、サスペンド(P5)、スタンバイ・イニシエータ(P7)、スタンバイ・ターゲット(P8)、およびスタンバイ(P9)状態のうちの1つまたは複数との間の遷移を示す。図から明らかなように、ある種の状態遷移が、図2で示された状態遷移図200と比較して変更されている。
【0030】
図5は、本発明の一実施形態により、PHYノードをアクティブ状態からスタンバイ状態に遷移させることに関係する模擬信号を示す例示のタイミング図500である。図から明らかなように、タイミング図500は、どのようにPHYポート110(図1参照)がサスペンド・イニシエータ状態ではなく、所期のスタンバイ・イニシエータ状態に遷移するかをシミュレートする。時点t0で、変数「rx_ok」はTRUEであり、変数「signaled」はFALSEであり、変数「do_standby」はFALSEであり、変数「force_disconnect」はFALSEであり、「port_state」はP2であり、P2はポートがアクティブ状態であることを示す。時点t1で、「do_standby」はTRUEであり、TRUEはポートがスタンバイ・イニシエータ状態(P7)に遷移するという要求を示す。時点t2で「rx_ok」はFALSEになる。しかし、本発明の一態様の実装形態により、これはもはやサスペンド・イニシエータ状態への遷移を引き起こさない。時点t3で、「signaled」はTRUEになり、「port_state」はP7になり、P7はポートがスタンバイ・イニシエータ状態内に遷移したことを示す。この遷移は、本発明の1つの態様の実装形態により「rx_ok」がFALSEであるにもかかわらず、「signaled」がTRUEになるとすぐに行われる。したがって本発明のこの実施形態は、元のIEEE1394bプロトコルでの固有の問題を修正する。
【0031】
本発明は、上述の開始遷移および終了遷移に限定されないことに留意されたい。例えば、「1394b Clarifications and Errata」と題するIEEE1394 Trade AssociationのTechnical Bulletin TB2002001の4.25節(以下、「Erratum(正誤表)4.25」と呼ぶ)により既に変えられた状態マシンに関して、1つまたは複数の本発明の態様を実施することが望ましいであろう。Erratum 4.25は、装置がアクティブ状態(P2)からサスペンド・イニシエータ状態(P3)内にでなくディスエーブル状態(P6)内に遷移することを保証するために、「rx_ok」の否定を無視するようにP2:P3遷移を変更することを示唆している。
【0032】
図6は、Erratum 4.25によりP2:P3遷移が変更されたIEEE1394bポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図600を示す。図2で示された状態遷移図200のように、例示の状態遷移図600は、アクティブ状態(P2)とサスペンド・イニシエータ(P3)、サスペンド・ターゲット(P4)、サスペンド(P5)、スタンバイ・イニシエータ(P7)、スタンバイ・ターゲット(P8)、およびスタンバイ(P9)状態のうちの1つまたは複数との間での遷移を示す。具体的には図から明らかなように、P2:P3遷移は本発明の1つの態様により以下から変更された。
【数3】


【0033】
図7は、Erratum 4.25によりおよび本発明の少なくとも1つの態様により、P2:P3遷移が変更されたIEEE1394bポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図700を示す。図2で示された状態遷移図200のように、例示の状態遷移図700は、アクティブ状態(P2)とサスペンド・イニシエータ(P3)、サスペンド・ターゲット(P4)、サスペンド(P5)、スタンバイ・イニシエータ(P7)、スタンバイ・ターゲット(P8)、およびスタンバイ(P9)状態のうちの1つまたは複数との間での遷移を示す。具体的には図から明らかなように、P2:P3遷移は本発明の1つの態様により以下から変更された。
【数4】


【0034】
図8は、Erratum 4.25によりおよび本発明の少なくとも1つの態様によりP2:P3遷移が変更され、本発明の他の態様によりP2:P7遷移が変更されたIEEE1394bポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図800を示す。図2で示された状態遷移図200のように、例示の状態遷移図800は、アクティブ状態(P2)とサスペンド・イニシエータ(P3)、サスペンド・ターゲット(P4)、サスペンド(P5)、スタンバイ・イニシエータ(P7)、スタンバイ・ターゲット(P8)、およびスタンバイ(P9)状態のうちの1つまたは複数との間での遷移を示す。具体的には図から明らかなように、P2:P3遷移は本発明の1つの態様により以下から変更され、
【数5】


P2:P7遷移は以下から変更された。
【数6】


【0035】
単なる一例として言うと、実施例としてErratum 4.25は、ポート接続マネジャ状態マシンの関連部分を図2に示す状態遷移図200で示されたものから図6に示す状態遷移図600で示されたものに変えることによって標準的なIEEE1394bポート上に実現されてもよく、次いでポート接続マネジャ状態マシンの関連部分を図6に示す状態遷移図600で示されたものから図8に示す状態遷移図800で示されたものに変えることによって本発明の1つまたは複数の態様を実現してもよい。他の例として、ポート接続マネジャ状態マシンの関連部分を図6に示す状態遷移図600で示されたものから図7に示す状態遷移図700で示されたものに変えることによって、Erratum 4.25により既に変更されたIEEE1394bポート上に本発明の1つの態様を実現し、次いでポート接続マネジャ状態マシンの関連部分を図7に示す状態遷移図700で示されたものから図8に示す状態遷移図800で示されたものに変えることによって本発明の他の態様を実現することができる。また、ポート接続マネジャ状態マシンの関連部分を図2に示す状態遷移図200で示されたものから図6に示す状態遷移図600で示されたものに変えることによって、標準的なIEEE1394bポート上にErratum 4.25および本発明の1つの態様(または複数の態様)の両方を実現し、次いでポート接続マネジャ状態マシンの関連部分を図6に示す状態遷移図600で示されたものから図8に示す状態遷移図800で示されたものに変えることによって、本発明の他の態様を実現することができる。
【0036】
標準的なIEEE1394bポートに関する好ましい実施形態は、Erratum 4.25および本発明の例示的実施形態の両方に記載の有益な変更を実現するように、そのポート接続マネジャ状態マシンを図2に示す状態遷移図200で示したものから図8に示す状態遷移図800で示したものに変えることになろう。
【0037】
図1を再び参照すると、本発明の実施形態の方法が、装置102および104のうちの1つまたは複数で実施されてよい。例えば装置102は、プロセッサ、プロセッサに結合したメモリ(例えば、バスまたは代替の接続手段を介して)、ならびにプロセッサとインターフェースする働きをする入力/出力(I/O)回路を含んでよい。プロセッサは、本発明の方法の少なくとも一部分を実行するように構成されてよい。
【0038】
本明細書で使用される用語「プロセッサ」は、例えば中央処理装置(CPU)および/または他の処理回路(例えば、ネットワーク・プロセッサ、デジタル・シグナル・プロセッサ(DSP)、マイクロプロセッサなど)を含む装置などのいかなる処理装置も含むものであることは理解されよう。さらに、用語「プロセッサ」は2つ以上の処理装置を指していてもよく、処理装置に関連する種々の部品は他の処理装置により共用されてもよいことは理解されよう。本明細書で使用される用語「メモリ」は、例えばランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、固定記憶媒体(例えば、ハード・ドライブ)、取り外し可能記憶媒体(例えば、ディスケット)、フラッシュ・メモリなど、メモリ、ならびにプロセッサまたはCPUに関連する他のコンピュータ可読媒体を含むものである。さらに、本明細書で使用される用語「I/O回路」は、例えばプロセッサにデータを入力するための1つまたは複数の入力装置(例えば、キーボード、マウスなど)、および/またはプロセッサに関連する結果を表すための1つまたは複数の出力装置(例えば、プリンタ、モニタなど)を含むものである。
【0039】
したがって、本明細書で説明したように本発明の方法を実行するための命令またはコードを含めてアプリケーション・プログラムまたはそのソフトウェア・コンポーネントは、関連の記憶媒体(例えば、ROM、固定または取り外し可能記憶装置)のうちの1つまたは複数に格納されてよく、使用される準備ができたときに全体的にまたは部分的に(例えば、RAMの中に)ロードされ、プロセッサによって実行されてもよい。いずれの場合でも、図1に示す構成要素の少なくとも一部分が、様々な形のハードウェア、ソフトウェアまたはその組み合わせ(例えば、関連メモリを有する1つまたは複数のDSP、特定用途向け集積回路、機能回路、関連メモリを有する1つまたは複数の動作可能にプログラムされた汎用デジタル・コンピュータなど)で実現されてもよいことは理解されよう。本明細書で提供された本発明の教示を考慮すると、当業者は本発明の構成要素の他の実装形態を企図することができる。
【0040】
本発明の技術の少なくとも一部分が集積回路で実装されてよい。集積回路の成形に際して、複数の同一のチップが典型的には半導体ウェハの表面上に繰り返しパターンで製作される。各チップは本明細書で説明された装置を含み、他の構造または回路を含んでもよい。個々のチップは、ウェハから切り取られまたはダイシングされ、次いで集積回路としてパッケージングされる。当業者は、集積回路を生成するためにウェハをダイシングする方法およびチップをパッケージングする方法を知っているであろう。そのように製造された集積回路は本発明の一部と見なされる。
【0041】
本発明の例示的実施形態が、添付図面を参照して本明細書で説明されたが、本発明はそれらの正確な実施形態に限定されず、様々な他の変更および修正が、添付の特許請求の範囲から逸脱することなく当業者によりその中でなされてよいことは理解されよう。
【0042】
[付録]





【図面の簡単な説明】
【0043】
【図1】本発明の技術が実現される例示の2つの装置の通信システムを示す構成図である。
【図2】従来のIEEE1394b通信プロトコルにより実現されたポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図である。
【図3】従来のIEEE1394b通信規格により、ポートをアクティブ状態からスタンバイ状態に遷移させることに関係する模擬信号を示す例示のタイミング図である。
【図4】本発明の一実施形態により、IEEE1394bポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図である。
【図5】本発明の一実施形態により、IEEE1394bノードをアクティブ状態からスタンバイ状態に遷移させることに関係する模擬信号を示す例示のタイミング図である。
【図6】本発明の他の実施形態により、IEEE1394bポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図である。
【図7】本発明の一実施形態により、IEEE1394bポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図である。
【図8】本発明の他の実施形態により、IEEE1394bポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図である。
【出願人】 【識別番号】500587067
【氏名又は名称】アギア システムズ インコーポレーテッド
【出願日】 平成19年8月30日(2007.8.30)
【代理人】 【識別番号】100064447
【弁理士】
【氏名又は名称】岡部 正夫

【識別番号】100085176
【弁理士】
【氏名又は名称】加藤 伸晃

【識別番号】100094112
【弁理士】
【氏名又は名称】岡部 讓

【識別番号】100096943
【弁理士】
【氏名又は名称】臼井 伸一

【識別番号】100101498
【弁理士】
【氏名又は名称】越智 隆夫

【識別番号】100096688
【弁理士】
【氏名又は名称】本宮 照久

【識別番号】100104352
【弁理士】
【氏名又は名称】朝日 伸光

【識別番号】100128657
【弁理士】
【氏名又は名称】三山 勝巳


【公開番号】 特開2008−61248(P2008−61248A)
【公開日】 平成20年3月13日(2008.3.13)
【出願番号】 特願2007−223350(P2007−223350)