JPH11317751A - 識別情報提供方法及び識別情報提供装置 - Google Patents
識別情報提供方法及び識別情報提供装置Info
- Publication number
- JPH11317751A JPH11317751A JP11001470A JP147099A JPH11317751A JP H11317751 A JPH11317751 A JP H11317751A JP 11001470 A JP11001470 A JP 11001470A JP 147099 A JP147099 A JP 147099A JP H11317751 A JPH11317751 A JP H11317751A
- Authority
- JP
- Japan
- Prior art keywords
- unique identifier
- network
- general
- list
- identifier list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000015654 memory Effects 0.000 claims description 21
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 197
- 238000012546 transfer Methods 0.000 description 57
- 230000006870 function Effects 0.000 description 48
- 239000008186 active pharmaceutical agent Substances 0.000 description 38
- 238000012545 processing Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 26
- 230000008859 change Effects 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 13
- 206010012812 Diffuse cutaneous mastocytosis Diseases 0.000 description 11
- 101100364854 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) vtr-7 gene Proteins 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 9
- 230000006978 adaptation Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000001541 differential confocal microscopy Methods 0.000 description 2
- JEIPFZHSYJVQDO-UHFFFAOYSA-N ferric oxide Chemical compound O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 210000001992 atrioventricular node Anatomy 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000007634 remodeling Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2805—Home Audio Video Interoperability [HAVI] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
- Information Transfer Systems (AREA)
Abstract
(57)【要約】
【課題】 バスリセットの発生によってネットワークに
接続された各機器の物理的識別子が変更されてもそれぞ
れの機器を恒常的に識別できる識別情報を提供する。 【解決手段】 各機器に汎用の固有識別子を付し、物理
的識別子をインデックスとした汎用の固有識別子のリス
トを生成し、所望の機器の汎用の固有識別子に対応する
汎用の固有識別子リスト内のインデックスにより物理的
識別子を求める。
接続された各機器の物理的識別子が変更されてもそれぞ
れの機器を恒常的に識別できる識別情報を提供する。 【解決手段】 各機器に汎用の固有識別子を付し、物理
的識別子をインデックスとした汎用の固有識別子のリス
トを生成し、所望の機器の汎用の固有識別子に対応する
汎用の固有識別子リスト内のインデックスにより物理的
識別子を求める。
Description
【0001】
【発明の属する技術分野】本発明は、識別情報提供方法
及び識別情報提供装置に関し、特にネットワークに接続
され、バスリセットの発生によって物理的識別子が変更
される機器に関する情報を提供するための識別情報提供
方法及び識別情報提供装置に関する。
及び識別情報提供装置に関し、特にネットワークに接続
され、バスリセットの発生によって物理的識別子が変更
される機器に関する情報を提供するための識別情報提供
方法及び識別情報提供装置に関する。
【0002】
【従来の技術】家庭用のオーディオビジュアルシステム
(以下、AVシステムという。)は、例えばラジオ放送
受信機、コンパクトディスク再生装置、1組のスピー
カ、テレビジョン受像機、ビデオカセットレコーダ等の
様々な機器から構成されている。これらの機器は、所定
のコネクタを介して結線されている。従来のAVシステ
ムは、例えばラジオ放送受信機又はチューナ及びデコー
ダの機能を有する機器(以下、単にチューナという。)
を中心に接続されている。チューナの操作面には、複数
の制御ボタンが配設されている。あるいは、同様の機能
を有する複数の制御ボタンが設けられた専用のリモート
コントローラが用いられることもある。ユーザは、この
チューナあるいはリモートコントローラに設けられたボ
タン類を用いてAVシステムを操作する。
(以下、AVシステムという。)は、例えばラジオ放送
受信機、コンパクトディスク再生装置、1組のスピー
カ、テレビジョン受像機、ビデオカセットレコーダ等の
様々な機器から構成されている。これらの機器は、所定
のコネクタを介して結線されている。従来のAVシステ
ムは、例えばラジオ放送受信機又はチューナ及びデコー
ダの機能を有する機器(以下、単にチューナという。)
を中心に接続されている。チューナの操作面には、複数
の制御ボタンが配設されている。あるいは、同様の機能
を有する複数の制御ボタンが設けられた専用のリモート
コントローラが用いられることもある。ユーザは、この
チューナあるいはリモートコントローラに設けられたボ
タン類を用いてAVシステムを操作する。
【0003】電子機器が複雑になり、性能が高くなるに
つれて、最新の機器に対する需要も高まる。新たな機器
が発売されると、多くのユーザは、新たな機器を買い足
して現在保有しているAVシステムに追加する。このと
き、新たに購入された最新の機器は、従来のカセットテ
ープデッキやコンパクトディスク再生装置等と同様に、
例えばチューナの背面に設けられている外部入力端子、
あるいはチューナに接続された他の機器の入力端子に接
続される。ユーザは、新たな機器の操作面に設けられた
ボタン類又は新たな機器専用のリモートコントローラを
用いてこの新たな機器を操作する。
つれて、最新の機器に対する需要も高まる。新たな機器
が発売されると、多くのユーザは、新たな機器を買い足
して現在保有しているAVシステムに追加する。このと
き、新たに購入された最新の機器は、従来のカセットテ
ープデッキやコンパクトディスク再生装置等と同様に、
例えばチューナの背面に設けられている外部入力端子、
あるいはチューナに接続された他の機器の入力端子に接
続される。ユーザは、新たな機器の操作面に設けられた
ボタン類又は新たな機器専用のリモートコントローラを
用いてこの新たな機器を操作する。
【0004】ユーザが従来より保有していた家庭用のA
Vシステムに、複雑で高性能な新型の機器を追加する
と、様々な問題が生じることがある。例えば、機器が増
加すると、AVシステム内の機器間で互換性が保てなく
なることがある。特に、最新の機器と旧型の機器との間
に互換性がない場合が多い。例えば、より高度なリモー
トコントロールを実現するために、特別な入出力装置等
のハードウェアが最新の機器に組み込まれている場合が
ある。このハードウェアは、従来のシステムとともには
使用できない。
Vシステムに、複雑で高性能な新型の機器を追加する
と、様々な問題が生じることがある。例えば、機器が増
加すると、AVシステム内の機器間で互換性が保てなく
なることがある。特に、最新の機器と旧型の機器との間
に互換性がない場合が多い。例えば、より高度なリモー
トコントロールを実現するために、特別な入出力装置等
のハードウェアが最新の機器に組み込まれている場合が
ある。このハードウェアは、従来のシステムとともには
使用できない。
【0005】さらに、AVシステム内のある機器が他の
機器の機能をサポートできないといった問題が生じる可
能性もある。例えば、テレビジョンがサラウンドサウン
ド放送やステレオ放送等の比較的新しい音声フォーマッ
トに対応していたとしても、チューナがそのような音声
フォーマットに対応していなければ、ユーザはその音声
フォーマットによる音声を享受することができない。
機器の機能をサポートできないといった問題が生じる可
能性もある。例えば、テレビジョンがサラウンドサウン
ド放送やステレオ放送等の比較的新しい音声フォーマッ
トに対応していたとしても、チューナがそのような音声
フォーマットに対応していなければ、ユーザはその音声
フォーマットによる音声を享受することができない。
【0006】さらに、AVシステムに異なる機器が追加
されるたびにコントローラの数が増えてしまうといった
問題もある。AVシステムに導入される新たな機器は、
ユーザがその機器を操作するための専用のリモートコン
トローラを備えている場合が多い。
されるたびにコントローラの数が増えてしまうといった
問題もある。AVシステムに導入される新たな機器は、
ユーザがその機器を操作するための専用のリモートコン
トローラを備えている場合が多い。
【0007】上述のような様々な問題から、相互接続さ
れる電子機器を一体的に制御する通信アーキテクチャの
実現が待望されている。すなわち、複数の民生用機器間
で機能的に相互制御が可能な最新の通信の手法の提供、
及びそのような機能の拡張が望まれている。この通信ア
ーキテクチャの実現により複数の民生用電子機器、すな
わち民生用電子機器ネットワークにおいて、各機器が他
の機器を制御することができるようになる。
れる電子機器を一体的に制御する通信アーキテクチャの
実現が待望されている。すなわち、複数の民生用機器間
で機能的に相互制御が可能な最新の通信の手法の提供、
及びそのような機能の拡張が望まれている。この通信ア
ーキテクチャの実現により複数の民生用電子機器、すな
わち民生用電子機器ネットワークにおいて、各機器が他
の機器を制御することができるようになる。
【0008】ネットワークに接続された機器間で有効な
通信を行い、すなわち相互制御を行い、あるいは情報を
交換するためには、それらの機器及び関連するソフトウ
ェアオブジェクトがネットワークに接続されている機器
に関するステータス情報を入手できる必要がある。した
がって、上位のアプリケーションに負担を強いることな
く、ネットワークに接続されている機器に関するステー
タス情報を効率的に各機器に提供する装置及び方法が望
まれれている。
通信を行い、すなわち相互制御を行い、あるいは情報を
交換するためには、それらの機器及び関連するソフトウ
ェアオブジェクトがネットワークに接続されている機器
に関するステータス情報を入手できる必要がある。した
がって、上位のアプリケーションに負担を強いることな
く、ネットワークに接続されている機器に関するステー
タス情報を効率的に各機器に提供する装置及び方法が望
まれれている。
【0009】
【発明が解決しようとする課題】IEEE1394規格
に基づくIEEE1394シリアル通信バスは、バスに
接続された各機器に6ビットの物理的識別子(phy-ID)
を割り当てる。IEEE1394シリアル通信バスは、
この物理的識別子によりバスに接続された各機器を個別
に認識し、それらの機器を制御する。
に基づくIEEE1394シリアル通信バスは、バスに
接続された各機器に6ビットの物理的識別子(phy-ID)
を割り当てる。IEEE1394シリアル通信バスは、
この物理的識別子によりバスに接続された各機器を個別
に認識し、それらの機器を制御する。
【0010】IEEE1394シリアル通信バス内に新
たな機器が接続されるか、あるいは既存の機器がバスか
ら取り除かれると、バスの初期化、すなわちバスリセッ
トが発生する。このバスリセットにより、IEEE13
94規格に基づく周知のバス回復通信機能が実行され、
IEEE1394シリアル通信バスに現在接続されてい
る全ての機器にそれぞれ物理的識別子が再度割り当てら
れる。このように、IEEE1394シリアル通信バス
に接続される機器の物理的識別子は、恒常的なものでは
なく、状況に応じて変更されるものである。
たな機器が接続されるか、あるいは既存の機器がバスか
ら取り除かれると、バスの初期化、すなわちバスリセッ
トが発生する。このバスリセットにより、IEEE13
94規格に基づく周知のバス回復通信機能が実行され、
IEEE1394シリアル通信バスに現在接続されてい
る全ての機器にそれぞれ物理的識別子が再度割り当てら
れる。このように、IEEE1394シリアル通信バス
に接続される機器の物理的識別子は、恒常的なものでは
なく、状況に応じて変更されるものである。
【0011】しかしながら、IEEE1394シリアル
通信バスに適用されるアプリケーションにとっては、各
機器の識別子は、恒常的、すなわち変更されない方が望
ましい。例えばスピードマップやトポロジマップなどの
多くのデータ構造及び通信チャンネルは、物理的識別子
を用いて実現及び管理されており、このため上述のよう
に物理的識別子が変更されると、各機器の物理的識別子
を用いて各機器と通信を行い、及び/又はスピードマッ
プやトポロジマップを必要とするアプリケーションに問
題が生じる。そこで、例えばIEEE1394シリアル
通信バス等のネットワークに接続された民生用の機器に
おいて、上位のアプリケーションが接続中の各機器を恒
常的な識別子により識別することのできるメカニズム及
び方法の実現が望まれている。
通信バスに適用されるアプリケーションにとっては、各
機器の識別子は、恒常的、すなわち変更されない方が望
ましい。例えばスピードマップやトポロジマップなどの
多くのデータ構造及び通信チャンネルは、物理的識別子
を用いて実現及び管理されており、このため上述のよう
に物理的識別子が変更されると、各機器の物理的識別子
を用いて各機器と通信を行い、及び/又はスピードマッ
プやトポロジマップを必要とするアプリケーションに問
題が生じる。そこで、例えばIEEE1394シリアル
通信バス等のネットワークに接続された民生用の機器に
おいて、上位のアプリケーションが接続中の各機器を恒
常的な識別子により識別することのできるメカニズム及
び方法の実現が望まれている。
【0012】そこで、本発明は、バスリセットの発生に
よってネットワークに接続された各機器の物理的識別子
が変更されても、それぞれの機器を恒常的に識別できる
識別情報を提供する識別情報提供方法及び識別情報提供
装置を提供することを目的とする。
よってネットワークに接続された各機器の物理的識別子
が変更されても、それぞれの機器を恒常的に識別できる
識別情報を提供する識別情報提供方法及び識別情報提供
装置を提供することを目的とする。
【0013】
【課題を解決するための手段】本発明では、ネットワー
クに接続された各機器に、それぞれ固有且つ不変の識別
子である汎用の固有識別子(GUID)を付する。汎用
の固有識別子は、バスリセットの発生によっても変更さ
れない。一方、各機器に付された物理的識別子は、バス
リセットの発生の都度、変更されるものである。本発明
では、この物理的識別子をインデックスとした汎用の固
有識別子のリストを生成し、バスリセットの発生の都
度、この汎用の固有識別子のリストを更新する。
クに接続された各機器に、それぞれ固有且つ不変の識別
子である汎用の固有識別子(GUID)を付する。汎用
の固有識別子は、バスリセットの発生によっても変更さ
れない。一方、各機器に付された物理的識別子は、バス
リセットの発生の都度、変更されるものである。本発明
では、この物理的識別子をインデックスとした汎用の固
有識別子のリストを生成し、バスリセットの発生の都
度、この汎用の固有識別子のリストを更新する。
【0014】すなわち、本発明に係る識別情報提供方法
は、ネットワーク内のローカルバスによってそれぞれの
機器に割り当てられた物理的識別子の値が示す順序に基
づいて、各機器を恒常的に特定する汎用の固有識別子の
リストである汎用の固有識別子リストを生成するステッ
プと、汎用の固有識別子リストをソフトウェアプログラ
ムに送信するステップと、ソフトウェアプログラムによ
り、送信された汎用の固有識別子リストと以前の汎用の
固有識別子リストとを比較し、ネットワークに新たに追
加された機器及びネットワークから削除された機器を判
定するステップと、ソフトウェアプログラムに対してス
テータス情報に関するコールバックルーチンを確立中の
機器に上記汎用の固有識別子リストを送信するステップ
とを有する。
は、ネットワーク内のローカルバスによってそれぞれの
機器に割り当てられた物理的識別子の値が示す順序に基
づいて、各機器を恒常的に特定する汎用の固有識別子の
リストである汎用の固有識別子リストを生成するステッ
プと、汎用の固有識別子リストをソフトウェアプログラ
ムに送信するステップと、ソフトウェアプログラムによ
り、送信された汎用の固有識別子リストと以前の汎用の
固有識別子リストとを比較し、ネットワークに新たに追
加された機器及びネットワークから削除された機器を判
定するステップと、ソフトウェアプログラムに対してス
テータス情報に関するコールバックルーチンを確立中の
機器に上記汎用の固有識別子リストを送信するステップ
とを有する。
【0015】汎用の固有識別子は、製造業者を示すコー
ドと、チップシリーズを示すコードとを含む恒常的な複
数ビットデータとして表され、ネットワークは、ホーム
オーディオビジュアルイニシアティブネットワークであ
り、ローカルバスはIEEE1394規格に準拠するも
のであることが望ましい。
ドと、チップシリーズを示すコードとを含む恒常的な複
数ビットデータとして表され、ネットワークは、ホーム
オーディオビジュアルイニシアティブネットワークであ
り、ローカルバスはIEEE1394規格に準拠するも
のであることが望ましい。
【0016】また、ソフトウェアプログラムによる比較
の後に、現在の汎用の固有識別子リストを、上記以前の
汎用の固有識別子リストから受信した汎用の固有識別子
リストに置換するステップを有することが望ましい。
の後に、現在の汎用の固有識別子リストを、上記以前の
汎用の固有識別子リストから受信した汎用の固有識別子
リストに置換するステップを有することが望ましい。
【0017】さらに、本発明に係る識別情報提供方法
は、バスリセットの発生により、ローカルバスに接続さ
れた機器の物理的識別子を割り当て直すステップを有す
る。このステップは、ローカルバスからローカルバスに
接続中の機器の数を示すデータを受信するステップと、
ローカルバスに接続された各機器に対して0から1ずつ
増加する番号に対応する物理的識別子を付与するととも
に、各機器に対してそれぞれの汎用の固有識別子を問い
合わせるステップと、各機器から返された各汎用の固有
識別子を該各機器の物理的識別子に対応するフィールド
にそれぞれ記録することにより汎用の固有識別子リスト
を生成するステップと、汎用の固有識別子リストをコン
ピュータメモリに格納するステップとを有する。
は、バスリセットの発生により、ローカルバスに接続さ
れた機器の物理的識別子を割り当て直すステップを有す
る。このステップは、ローカルバスからローカルバスに
接続中の機器の数を示すデータを受信するステップと、
ローカルバスに接続された各機器に対して0から1ずつ
増加する番号に対応する物理的識別子を付与するととも
に、各機器に対してそれぞれの汎用の固有識別子を問い
合わせるステップと、各機器から返された各汎用の固有
識別子を該各機器の物理的識別子に対応するフィールド
にそれぞれ記録することにより汎用の固有識別子リスト
を生成するステップと、汎用の固有識別子リストをコン
ピュータメモリに格納するステップとを有する。
【0018】さらに、本発明は、上述の各ステップを実
行するために必要なプログラムが格納されたメモリと、
プロセッサと、内部バスとを備える電子機器を提供す
る。
行するために必要なプログラムが格納されたメモリと、
プロセッサと、内部バスとを備える電子機器を提供す
る。
【0019】また、本発明に係る識別情報提供装置は、
ネットワークに接続された機器のステータス情報を提供
する識別情報提供装置であって、ネットワーク内のロー
カルバスによってそれぞれの機器に割り当てられた物理
的識別子の値が示す順序に基づいて、各機器を恒常的に
特定する汎用の固有識別子のリストである汎用の固有識
別子リストを生成する生成手段と、汎用の固有識別子リ
ストをソフトウェアプログラムに送信する第1の送信手
段と、ソフトウェアプログラムにより、送信された汎用
の固有識別子リストと以前の汎用の固有識別子リストと
を比較し、ネットワークに新たに追加された機器及びネ
ットワークから削除された機器を判定する比較手段と、
ソフトウェアプログラムに対してステータス情報に関す
るコールバックルーチンを確立中の機器に上記汎用の固
有識別子リストを送信する第2の送信手段とを備える。
ネットワークに接続された機器のステータス情報を提供
する識別情報提供装置であって、ネットワーク内のロー
カルバスによってそれぞれの機器に割り当てられた物理
的識別子の値が示す順序に基づいて、各機器を恒常的に
特定する汎用の固有識別子のリストである汎用の固有識
別子リストを生成する生成手段と、汎用の固有識別子リ
ストをソフトウェアプログラムに送信する第1の送信手
段と、ソフトウェアプログラムにより、送信された汎用
の固有識別子リストと以前の汎用の固有識別子リストと
を比較し、ネットワークに新たに追加された機器及びネ
ットワークから削除された機器を判定する比較手段と、
ソフトウェアプログラムに対してステータス情報に関す
るコールバックルーチンを確立中の機器に上記汎用の固
有識別子リストを送信する第2の送信手段とを備える。
【0020】このような構成により、本発明に係る識別
情報提供装置及び識別情報提供方法によれば、ネットワ
ークに接続された各機器の物理的識別子が、バスリセッ
トの発生により変更されても、汎用の固有識別子リスト
を用いて継続的に各機器を認識し、通信を行うことがで
きる。
情報提供装置及び識別情報提供方法によれば、ネットワ
ークに接続された各機器の物理的識別子が、バスリセッ
トの発生により変更されても、汎用の固有識別子リスト
を用いて継続的に各機器を認識し、通信を行うことがで
きる。
【0021】
【発明の実施の形態】以下、汎用の固有識別子(グロー
バルユニークID:global unique ID;以下、GUID
という。)のリストを用いることにより、オーディビジ
ュアル(以下、AVという。)ネットワークに接続され
た機器を恒常的に識別する手法及び仕組みを説明する。
以下の記述では、本発明を明瞭にするために、様々な細
部を特定して説明を行うが、本発明が以下に説明する詳
細な実施の形態の細部によって限定されるものではない
ことは、当業者にとって明らかである。また、説明を簡
潔にするために、周知の手法、手順、コンポーネント及
び回路については、必要以上に詳細に説明することを避
ける。
バルユニークID:global unique ID;以下、GUID
という。)のリストを用いることにより、オーディビジ
ュアル(以下、AVという。)ネットワークに接続され
た機器を恒常的に識別する手法及び仕組みを説明する。
以下の記述では、本発明を明瞭にするために、様々な細
部を特定して説明を行うが、本発明が以下に説明する詳
細な実施の形態の細部によって限定されるものではない
ことは、当業者にとって明らかである。また、説明を簡
潔にするために、周知の手法、手順、コンポーネント及
び回路については、必要以上に詳細に説明することを避
ける。
【0022】また、以下の説明の一部において、コンピ
ュータのメモリ内のビットデータの処理に関する手順、
ステップ、論理ブロック、制御、その他のシンボルを用
いる。これらの用語及びシンボルには、データ処理技術
に関わる当業者間で互いに効率的に技術を理解し合うた
めに用いられる用語を用いる。
ュータのメモリ内のビットデータの処理に関する手順、
ステップ、論理ブロック、制御、その他のシンボルを用
いる。これらの用語及びシンボルには、データ処理技術
に関わる当業者間で互いに効率的に技術を理解し合うた
めに用いられる用語を用いる。
【0023】また、以下で説明する手順、コンピュータ
により実行される複数のステップ、論理ブロック、処理
等は、通常、所望の結果を得るための一連のステップ又
は命令のシーケンスとして実現される。このようなステ
ップを実現するためには、物理量を物理的に処理する必
要がある。これらの物理量は、通常、電気的又は磁気的
な信号の形式で存在し、コンピュータシステムにおいて
は、この信号を記録し、転送し、加算し、比較し、ある
いはその他の様々な処理を行うことができる。説明の便
宜上、状況に応じてこれらの信号をビット、値、要素、
シンボル、文字、用語、数等と呼ぶ。
により実行される複数のステップ、論理ブロック、処理
等は、通常、所望の結果を得るための一連のステップ又
は命令のシーケンスとして実現される。このようなステ
ップを実現するためには、物理量を物理的に処理する必
要がある。これらの物理量は、通常、電気的又は磁気的
な信号の形式で存在し、コンピュータシステムにおいて
は、この信号を記録し、転送し、加算し、比較し、ある
いはその他の様々な処理を行うことができる。説明の便
宜上、状況に応じてこれらの信号をビット、値、要素、
シンボル、文字、用語、数等と呼ぶ。
【0024】以下の説明においては、上述したような用
語は、実際には適切な物理量に関連付けられたものであ
り、すなわち物理量に付された単なるラベルである。以
下の説明から明らかであるが、「処理(processin
g)」、「コンピューティング(computing)」、「翻訳
(translation)」、「計算(calculating)」、「判定
(determining)」、「表示(displaying)」、「認識
(recognizing)」等の用語は、コンピュータシステム
又は同様な電子計算機の動作及び処理、すなわちレジス
タやメモリに物理量として格納されたデータを制御ある
いは変更して、システム内の同様なレジスタやメモリ、
あるいはその他の情報記録媒体に格納したり、又は表示
装置に出力するといった処理を指す。
語は、実際には適切な物理量に関連付けられたものであ
り、すなわち物理量に付された単なるラベルである。以
下の説明から明らかであるが、「処理(processin
g)」、「コンピューティング(computing)」、「翻訳
(translation)」、「計算(calculating)」、「判定
(determining)」、「表示(displaying)」、「認識
(recognizing)」等の用語は、コンピュータシステム
又は同様な電子計算機の動作及び処理、すなわちレジス
タやメモリに物理量として格納されたデータを制御ある
いは変更して、システム内の同様なレジスタやメモリ、
あるいはその他の情報記録媒体に格納したり、又は表示
装置に出力するといった処理を指す。
【0025】以下に説明する実施の形態は、本発明を家
庭用オーディオビジュアルイニシアティブ(home audio
/video initiative:以下、HAVIという。)アーキ
テクチャに適用したものである。そこで、本発明の実施
の形態の基本的な構造を明らかにするために、HAVI
アーキテクチャについて説明する。
庭用オーディオビジュアルイニシアティブ(home audio
/video initiative:以下、HAVIという。)アーキ
テクチャに適用したものである。そこで、本発明の実施
の形態の基本的な構造を明らかにするために、HAVI
アーキテクチャについて説明する。
【0026】HAVIアーキテクチャは、家庭用ネット
ワーク(ホームネットワーク)に接続される民生用の電
子機器を相互に制御するためのアーキテクチャである。
このような相互制御を実現するために、様々な製造業者
が製造する民生用の電子機器間の互換性を保つための設
計モデルが定義されている。HAVIアーキテクチャの
1つの特徴は、汎用デバイスコントローラ、すなわち機
器を制御するソフトウェアモジュールの基本セットの組
み合わせにより、新たな装置や機器が導入される毎にベ
ース制御プロトコルを拡張する手法を提供することであ
る。
ワーク(ホームネットワーク)に接続される民生用の電
子機器を相互に制御するためのアーキテクチャである。
このような相互制御を実現するために、様々な製造業者
が製造する民生用の電子機器間の互換性を保つための設
計モデルが定義されている。HAVIアーキテクチャの
1つの特徴は、汎用デバイスコントローラ、すなわち機
器を制御するソフトウェアモジュールの基本セットの組
み合わせにより、新たな装置や機器が導入される毎にベ
ース制御プロトコルを拡張する手法を提供することであ
る。
【0027】HAVIアーキテクチャは、例えばインテ
リジェント受信機/レシーバ(IRD)、デジタルビデ
オテープレコーダ(DVTR)、ビデオテープレコーダ
(VTR)、パーソナルコンピュータ(PC)、デジタ
ルビデオディスクプレーヤ(DVD)等の様々な機器を
サポートし、共通のメッセージングシステムを介して各
機器間で通信が行われる。
リジェント受信機/レシーバ(IRD)、デジタルビデ
オテープレコーダ(DVTR)、ビデオテープレコーダ
(VTR)、パーソナルコンピュータ(PC)、デジタ
ルビデオディスクプレーヤ(DVD)等の様々な機器を
サポートし、共通のメッセージングシステムを介して各
機器間で通信が行われる。
【0028】図1は、HAVIネットワーク1内の各機
器の物理的な接続状態を示すものである。この図1に示
すように、HAVIネットワーク1は、それぞれのポー
トを介して接続されたセットトップボックス2、ビデオ
カメラ3、第1のテレビジョン受像機4、第2のテレビ
ジョン受像機5、受信機6、ビデオテープレコーダ(以
下、VTRという。)7、コンパクトディスク(以下、
CDという。)プレーヤ8により構成され、各機器は、
IEEE1394シリアル通信バス9及び各機器の入出
力ポートを介して相互に接続されている。
器の物理的な接続状態を示すものである。この図1に示
すように、HAVIネットワーク1は、それぞれのポー
トを介して接続されたセットトップボックス2、ビデオ
カメラ3、第1のテレビジョン受像機4、第2のテレビ
ジョン受像機5、受信機6、ビデオテープレコーダ(以
下、VTRという。)7、コンパクトディスク(以下、
CDという。)プレーヤ8により構成され、各機器は、
IEEE1394シリアル通信バス9及び各機器の入出
力ポートを介して相互に接続されている。
【0029】この実施の形態では、ローカルバスプラッ
トフォームとしてIEEE1394シリアル通信バス9
を用いて各機器に共通のメッセージングシステムを実現
している。IEEE1394シリアル通信バス9は、コ
マンドやステータス情報だけでなく、デジタルオーディ
オデータやデジタルビデオデータの伝送路としても使用
される。
トフォームとしてIEEE1394シリアル通信バス9
を用いて各機器に共通のメッセージングシステムを実現
している。IEEE1394シリアル通信バス9は、コ
マンドやステータス情報だけでなく、デジタルオーディ
オデータやデジタルビデオデータの伝送路としても使用
される。
【0030】図2は、図1に示すHAVIネットワーク
1の論理的な接続状態を示す図である。この図2に示す
ように、セットトップボックス2、ビデオカメラ3、第
1のテレビジョン受像機4、第2のテレビジョン受像機
5、受信機6、VTR7、CDプレーヤ8は、共通のI
EEE1394シリアル通信バス9に論理的に接続され
ているとみなすことができる。このように、HAVIネ
ットワーク1内の機器は、それぞれ1対1(peer-to-pe
er)で通信処理を行うことができる。すなわち、HAV
Iネットワーク1内の任意の機器は、他の全ての機器と
データの送受信を行うことができる。
1の論理的な接続状態を示す図である。この図2に示す
ように、セットトップボックス2、ビデオカメラ3、第
1のテレビジョン受像機4、第2のテレビジョン受像機
5、受信機6、VTR7、CDプレーヤ8は、共通のI
EEE1394シリアル通信バス9に論理的に接続され
ているとみなすことができる。このように、HAVIネ
ットワーク1内の機器は、それぞれ1対1(peer-to-pe
er)で通信処理を行うことができる。すなわち、HAV
Iネットワーク1内の任意の機器は、他の全ての機器と
データの送受信を行うことができる。
【0031】例えば図3に示すように、セットトップボ
ックス2は、HAVIネットワーク1内の他の全ての機
器と通信パケットの送受信を行うことができる。この例
では、例えばIRD機能を有するセットトップボックス
2は、HAVIネットワーク1内の他の全ての機器から
データを受信し、あるいはそれらの機器に対してデータ
を送信することができる。
ックス2は、HAVIネットワーク1内の他の全ての機
器と通信パケットの送受信を行うことができる。この例
では、例えばIRD機能を有するセットトップボックス
2は、HAVIネットワーク1内の他の全ての機器から
データを受信し、あるいはそれらの機器に対してデータ
を送信することができる。
【0032】HAVIネットワークアーキテクチャにお
ける相互制御モデルは、ネットワークに接続された全て
の機器をサポートし、デフォルトの制御モデルを備え、
新たな機器又は新たな機能を有する機器が市販されるよ
うになった場合に、デフォルトの制御モデルを拡張する
ことができ、さらに、例えばグラフィックユーザインタ
ーフェイス等の共通の操作インターフェイスを備える。
ける相互制御モデルは、ネットワークに接続された全て
の機器をサポートし、デフォルトの制御モデルを備え、
新たな機器又は新たな機能を有する機器が市販されるよ
うになった場合に、デフォルトの制御モデルを拡張する
ことができ、さらに、例えばグラフィックユーザインタ
ーフェイス等の共通の操作インターフェイスを備える。
【0033】このため、HAVIネットワークアーキテ
クチャは、HAVIネットワーク1内のノードを3つの
種類に分類する。例えば、VTR7等の既に市販されて
いる機器は、基本的AV(basic audio visual:以下、
BAVという。)ノードと呼ばれる。また、ビデオカメ
ラ3やデジタルVTR等の比較的単純な機器は、中間的
AV(intermediate audio visual:以下、IAVとい
う。)ノードと呼ばれる。さらに、例えばIRD又はス
マートテレビジョンの機能を有するセットトップボック
ス2等のより多くのリソースを必要とするの機器は、フ
ルAV(full audio visual:以下、FAVという。)
ノードと呼ばれる。このFAVノードは、通常、ホスト
コントロールモジュールを有するハードウェアと、ロー
カルアプリケーションプログラムとを備えている。
クチャは、HAVIネットワーク1内のノードを3つの
種類に分類する。例えば、VTR7等の既に市販されて
いる機器は、基本的AV(basic audio visual:以下、
BAVという。)ノードと呼ばれる。また、ビデオカメ
ラ3やデジタルVTR等の比較的単純な機器は、中間的
AV(intermediate audio visual:以下、IAVとい
う。)ノードと呼ばれる。さらに、例えばIRD又はス
マートテレビジョンの機能を有するセットトップボック
ス2等のより多くのリソースを必要とするの機器は、フ
ルAV(full audio visual:以下、FAVという。)
ノードと呼ばれる。このFAVノードは、通常、ホスト
コントロールモジュールを有するハードウェアと、ロー
カルアプリケーションプログラムとを備えている。
【0034】IAVノードとFAVノードは、汎用メッ
セージ送受システムを用いて、HAVIネットワーク1
を介してメッセージを送受信することにより通信を行
う。この汎用メッセージ送受システムについては、後に
詳細に説明する。
セージ送受システムを用いて、HAVIネットワーク1
を介してメッセージを送受信することにより通信を行
う。この汎用メッセージ送受システムについては、後に
詳細に説明する。
【0035】HAVIネットワーク1に新たな機器が接
続されると、新たな機器は、HAVIネットワーク1内
で認識されるとともにグローバルネームデータベースと
呼ばれるレジストリに追加される。このレジストリに
は、新たに接続された機器の特性に関する情報と、例え
ば通信ポイント等のその機器のハンドラへのリファレン
スが記録される。他の機器又はサービスは、このレジス
トリに問い合わせを行って、新たな機器のロケーション
を確認し、さらにハンドラを用いてその機器と通信を行
うことができる。
続されると、新たな機器は、HAVIネットワーク1内
で認識されるとともにグローバルネームデータベースと
呼ばれるレジストリに追加される。このレジストリに
は、新たに接続された機器の特性に関する情報と、例え
ば通信ポイント等のその機器のハンドラへのリファレン
スが記録される。他の機器又はサービスは、このレジス
トリに問い合わせを行って、新たな機器のロケーション
を確認し、さらにハンドラを用いてその機器と通信を行
うことができる。
【0036】ある機器がHAVIネットワーク1に追加
されると、HAVIネットワーク1のシステムアーキテ
クチャは、その機器に対して問い合わせを行い、その機
器の特性と機能を確認する。そして、その機器の特性が
確認されると、システムアーキテクチャは、2つの手法
を用いてその機器を制御する。
されると、HAVIネットワーク1のシステムアーキテ
クチャは、その機器に対して問い合わせを行い、その機
器の特性と機能を確認する。そして、その機器の特性が
確認されると、システムアーキテクチャは、2つの手法
を用いてその機器を制御する。
【0037】第1の手法、すなわちレベル1相互制御レ
ベルは、IEEE1394AV/C−CTSに基づく所
定のメッセージセットを使用する。全てのIAVノード
及びFAVノードは、このメッセージセットを用いて他
の機器にアクセスし、他の機器を制御することができ
る。一方、BAVノードは、このアーキテクチャが定義
される以前に開発されたものであるため、旧式のプロト
コルを用いて制御される。このレベル1相互制御は、デ
フォルトの制御レベルである。この場合、FAVノード
は、制御ノードとして機能し、IAVノードの内部表現
(local representation)を生成する。この内部表現
は、デバイス制御モジュール(device control modul
e)と呼ばれ、所定の機器に制御メッセージを送信する
APIを有する。
ベルは、IEEE1394AV/C−CTSに基づく所
定のメッセージセットを使用する。全てのIAVノード
及びFAVノードは、このメッセージセットを用いて他
の機器にアクセスし、他の機器を制御することができ
る。一方、BAVノードは、このアーキテクチャが定義
される以前に開発されたものであるため、旧式のプロト
コルを用いて制御される。このレベル1相互制御は、デ
フォルトの制御レベルである。この場合、FAVノード
は、制御ノードとして機能し、IAVノードの内部表現
(local representation)を生成する。この内部表現
は、デバイス制御モジュール(device control modul
e)と呼ばれ、所定の機器に制御メッセージを送信する
APIを有する。
【0038】HAVIアーキテクチャにおけるレベル2
相互制御は、より進歩したものであり、新たな機器及び
新たな機能の特性をサポートするものである。このレベ
ル2相互制御を行うために、ある特定の機器がROM内
にオーバーライドDCMを備える。このオーバーライド
DCMは、IAVノードからFAVノードにアップロー
ドされ、その特定の機器のデフォルトのDCMは、オー
バーライドDCMに置換される。オーバライドDCM
は、特定の機器のための、レベル1相互制御に用いるコ
マンド(メッセージ)セットを備えるだけでなく、その
機器の新たな機能を制御するために製造業者が独自に設
定した特別なコマンドのセットを有している。このモデ
ルにより、その機器は、特定の機能を備えていることを
他の機器に通知する。オーバライドDCMのフォーマッ
トは、技術的に中立なものであり、すなわち、いかなる
製造業者も自らが製造するFAVノードにオーバーライ
ドDCMを設けることができる。
相互制御は、より進歩したものであり、新たな機器及び
新たな機能の特性をサポートするものである。このレベ
ル2相互制御を行うために、ある特定の機器がROM内
にオーバーライドDCMを備える。このオーバーライド
DCMは、IAVノードからFAVノードにアップロー
ドされ、その特定の機器のデフォルトのDCMは、オー
バーライドDCMに置換される。オーバライドDCM
は、特定の機器のための、レベル1相互制御に用いるコ
マンド(メッセージ)セットを備えるだけでなく、その
機器の新たな機能を制御するために製造業者が独自に設
定した特別なコマンドのセットを有している。このモデ
ルにより、その機器は、特定の機能を備えていることを
他の機器に通知する。オーバライドDCMのフォーマッ
トは、技術的に中立なものであり、すなわち、いかなる
製造業者も自らが製造するFAVノードにオーバーライ
ドDCMを設けることができる。
【0039】ある機器に他の機器の機能を知らせ、その
機器に対してどのコマンドセットを用いればよいかを判
定させるために、標準機器記述構造(standard device
description structure)が用いられる。この標準機器
記述構造は、自己記述データ(self describing data:
以下SDDという。)構造と呼ばれる。このSDD構造
は、拡張可能なデータ構造である。このSDD構造は、
例えばテレビジョンやVTR等といった単に機器の種類
を記述するための少数のバイトにより構成してもよい。
あるいは、SDD構造をさらに複雑に構成し、オーバラ
イドDCM及びその機器のグラフィカルレプリゼンテー
ションをSDD構造に定義させるようにしてもよい。こ
のようにSDD構造にグラフィカルレプリゼンテーショ
ンを定義させることにより、FAVノードはホームネッ
トワークに接続された機器をユーザに対して視覚的に表
示することができる。
機器に対してどのコマンドセットを用いればよいかを判
定させるために、標準機器記述構造(standard device
description structure)が用いられる。この標準機器
記述構造は、自己記述データ(self describing data:
以下SDDという。)構造と呼ばれる。このSDD構造
は、拡張可能なデータ構造である。このSDD構造は、
例えばテレビジョンやVTR等といった単に機器の種類
を記述するための少数のバイトにより構成してもよい。
あるいは、SDD構造をさらに複雑に構成し、オーバラ
イドDCM及びその機器のグラフィカルレプリゼンテー
ションをSDD構造に定義させるようにしてもよい。こ
のようにSDD構造にグラフィカルレプリゼンテーショ
ンを定義させることにより、FAVノードはホームネッ
トワークに接続された機器をユーザに対して視覚的に表
示することができる。
【0040】上述のグラフィカルレプリゼンテーション
を普遍性を有するものとすることにより、SDD構造に
より提供される画像データは、いかなる製造業者の製品
にも用いることのできるユーザインターフェイスとし
て、ネットワークに接続されたテレビジョンやモニタ装
置等に表示される。これにより、製造業者の異なる製品
間の互換性が高められるとともに、各製造業者は、表示
装置の互換性を保ちながらそれぞれ特徴のある表示装置
を提案できる。
を普遍性を有するものとすることにより、SDD構造に
より提供される画像データは、いかなる製造業者の製品
にも用いることのできるユーザインターフェイスとし
て、ネットワークに接続されたテレビジョンやモニタ装
置等に表示される。これにより、製造業者の異なる製品
間の互換性が高められるとともに、各製造業者は、表示
装置の互換性を保ちながらそれぞれ特徴のある表示装置
を提案できる。
【0041】さらに、SDD構造により、例えばFAV
ノード等の制御機器は、機器の種類や製造業者に制限さ
れることなく、ホームネットワーク内の全ての機器を制
御することができる包括的なユーザインターフェイスを
ユーザに提供することができる。SDD構造の詳細につ
いては、本願出願人による別出願、1997年7月30
日に出願された出願番号60/054,327号「機器
内の自己記述情報を有する装置及びその記述方法("A M
ethod and Apparatus for Including Self-Describing
Information within Devices)に詳細に記述されてい
る。この内容は、参照により本願に組み込まれるものと
する。
ノード等の制御機器は、機器の種類や製造業者に制限さ
れることなく、ホームネットワーク内の全ての機器を制
御することができる包括的なユーザインターフェイスを
ユーザに提供することができる。SDD構造の詳細につ
いては、本願出願人による別出願、1997年7月30
日に出願された出願番号60/054,327号「機器
内の自己記述情報を有する装置及びその記述方法("A M
ethod and Apparatus for Including Self-Describing
Information within Devices)に詳細に記述されてい
る。この内容は、参照により本願に組み込まれるものと
する。
【0042】HAVIアーキテクチャが開発される前に
開発された機器、又はHAVIアーキテクチャを採用し
ない機器を本明細書では旧型の機器と呼ぶ。HAVIア
ーキテクチャは、旧型のDCMに旧型の機器のための変
換プロトコルを提供することにより、旧型の機器をサポ
ートする。旧型のDCMは、適切な情報を得ることによ
り、既存の1ウェイ又は2ウェイの制御プロトコルをサ
ポートするとともに、HAVIアーキテクチャに対応す
る特別なデバイス制御インターフェイスを備えることと
なる。これにより、旧型のDCMは、旧型の機器とHA
VIアーキテクチャに対応した機器との間のブリッジと
して機能する。これにより、HAVIアーキテクチャ
は、例えば家庭用電力管理システムやセキュリティシス
テム等に用いられるプロトコル等のあらゆるプロトコル
に対して相互制御を行うことができる。
開発された機器、又はHAVIアーキテクチャを採用し
ない機器を本明細書では旧型の機器と呼ぶ。HAVIア
ーキテクチャは、旧型のDCMに旧型の機器のための変
換プロトコルを提供することにより、旧型の機器をサポ
ートする。旧型のDCMは、適切な情報を得ることによ
り、既存の1ウェイ又は2ウェイの制御プロトコルをサ
ポートするとともに、HAVIアーキテクチャに対応す
る特別なデバイス制御インターフェイスを備えることと
なる。これにより、旧型のDCMは、旧型の機器とHA
VIアーキテクチャに対応した機器との間のブリッジと
して機能する。これにより、HAVIアーキテクチャ
は、例えば家庭用電力管理システムやセキュリティシス
テム等に用いられるプロトコル等のあらゆるプロトコル
に対して相互制御を行うことができる。
【0043】全ての家庭用電子機器にその機器がFAV
ノードとして機能するための適切なハードウェアを組み
込むことができ、さらにこれにより、その機器を後述す
るHAVIソフトウェアのプラットフォームとすること
ができる。例えば図1〜図3に示すHAVIネットワー
ク1内のセットトップボックス2は、HAVIアーキテ
クチャのソフトウェアコンポーネント(HAVIソフト
ウェア)のための操作プラットフォームを提供する特別
なハードウェアコンポーネントを備えている。なお、H
AVIソフトウェアをサポートするためのハードウェア
は、例えばデジタル放送に対応したテレビジョン受像機
4等、他のいかなる機器に設けてもよい。
ノードとして機能するための適切なハードウェアを組み
込むことができ、さらにこれにより、その機器を後述す
るHAVIソフトウェアのプラットフォームとすること
ができる。例えば図1〜図3に示すHAVIネットワー
ク1内のセットトップボックス2は、HAVIアーキテ
クチャのソフトウェアコンポーネント(HAVIソフト
ウェア)のための操作プラットフォームを提供する特別
なハードウェアコンポーネントを備えている。なお、H
AVIソフトウェアをサポートするためのハードウェア
は、例えばデジタル放送に対応したテレビジョン受像機
4等、他のいかなる機器に設けてもよい。
【0044】本発明を適用した識別情報提供装置の動作
は、後述するように、コンピュータシステムにより実行
される一連の処理により実現される。本発明を実施する
にあたり、様々なコンピュータシステムを用いることが
できるが、以下では、セットトップボックス2に組み込
まれた汎用コンピュータを用いて本発明を説明する。
は、後述するように、コンピュータシステムにより実行
される一連の処理により実現される。本発明を実施する
にあたり、様々なコンピュータシステムを用いることが
できるが、以下では、セットトップボックス2に組み込
まれた汎用コンピュータを用いて本発明を説明する。
【0045】FAVノードとして機能するセットトップ
ボックス2は、図4に示すように、デコーダ機能を有す
るビデオ/オーディオ受信機10とMPEGユニット1
1を備える。さらに、セットトップボックス2は、情報
の伝達に用いられるバス12を備え、バス12には、情
報及び命令を処理する1又は複数のプロセッサ13と、
プロセッサ13の情報及び命令等を記憶する揮発性のメ
モリであるRAM14と、プロセッサ13が用いる固定
の情報及び命令が書き込まれた不揮発性のメモリである
ROM15と、情報や命令を記録するための磁気ディス
クや光ディスク等の記録媒体を有するマスストレージユ
ニット16と、バス12と例えばIEEE1394シリ
アル通信バスであるローカルバスとの間のインターフェ
イスとしての機能を司るバスインターフェイス17が接
続されている。
ボックス2は、図4に示すように、デコーダ機能を有す
るビデオ/オーディオ受信機10とMPEGユニット1
1を備える。さらに、セットトップボックス2は、情報
の伝達に用いられるバス12を備え、バス12には、情
報及び命令を処理する1又は複数のプロセッサ13と、
プロセッサ13の情報及び命令等を記憶する揮発性のメ
モリであるRAM14と、プロセッサ13が用いる固定
の情報及び命令が書き込まれた不揮発性のメモリである
ROM15と、情報や命令を記録するための磁気ディス
クや光ディスク等の記録媒体を有するマスストレージユ
ニット16と、バス12と例えばIEEE1394シリ
アル通信バスであるローカルバスとの間のインターフェ
イスとしての機能を司るバスインターフェイス17が接
続されている。
【0046】セットトップボックス2は、例えばウィン
ドウズ、DOS、マッキントッシュOS等、様々なオペ
レーションシステムの環境下で動作させることができる
が、この実施の形態においては、セットトップボックス
2のオペレーションシステムとしてアペリオス(Aperio
s)を用いている。
ドウズ、DOS、マッキントッシュOS等、様々なオペ
レーションシステムの環境下で動作させることができる
が、この実施の形態においては、セットトップボックス
2のオペレーションシステムとしてアペリオス(Aperio
s)を用いている。
【0047】以下の実施例においては、HAVIアーキ
テクチャのソフトウェアは、3つのアプリケーションプ
ログラムインターフェイス(以下、APIという。)す
なわち、AVOS/APIと、相互制御APIと、アプ
リケーションAPIから構成されているとみなすことが
できる。AVOS/APIは、下位のAPIであり、ス
レッド、通信、記憶等の共通のオペレーションシステム
の機能を司るものである。相互制御APIは、共通のデ
バイス制御モデルであり、基本的なレプリゼンテーショ
ンモデルを提供し、さらに各製造業者に固有のコマンド
によりその制御モデルを拡張する機能を有している。ア
プリケーションAPIは、上位のAPIであり、例えば
インタラクティブテレビジョンアプリケーション等を含
み、さらに例えばマルチメディアアンドハイパーメディ
アエキスパートグループ(MHEG)インタラクティブ
アプリケーションエンジンを備えるDAVIC/API
セットを用いることもできる。
テクチャのソフトウェアは、3つのアプリケーションプ
ログラムインターフェイス(以下、APIという。)す
なわち、AVOS/APIと、相互制御APIと、アプ
リケーションAPIから構成されているとみなすことが
できる。AVOS/APIは、下位のAPIであり、ス
レッド、通信、記憶等の共通のオペレーションシステム
の機能を司るものである。相互制御APIは、共通のデ
バイス制御モデルであり、基本的なレプリゼンテーショ
ンモデルを提供し、さらに各製造業者に固有のコマンド
によりその制御モデルを拡張する機能を有している。ア
プリケーションAPIは、上位のAPIであり、例えば
インタラクティブテレビジョンアプリケーション等を含
み、さらに例えばマルチメディアアンドハイパーメディ
アエキスパートグループ(MHEG)インタラクティブ
アプリケーションエンジンを備えるDAVIC/API
セットを用いることもできる。
【0048】図5にHAVIアーキテクチャを用いたH
AVIソフトウェアアーキテクチャ20の構造を概念的
に示す。HAVIソフトウェアアーキテクチャ20は、
HAVIネットワークに共通の機能を提供するいくつか
のコンポーネントから構成されている。
AVIソフトウェアアーキテクチャ20の構造を概念的
に示す。HAVIソフトウェアアーキテクチャ20は、
HAVIネットワークに共通の機能を提供するいくつか
のコンポーネントから構成されている。
【0049】通信媒体マネージャ29は、基礎となるト
ランスポートネットワークから抽出されたものである。
IEEE1394シリアル通信バスを用いる場合、通信
媒体マネージャ29は、後述するスピードマップ52及
びトポロジマップ53を管理する。
ランスポートネットワークから抽出されたものである。
IEEE1394シリアル通信バスを用いる場合、通信
媒体マネージャ29は、後述するスピードマップ52及
びトポロジマップ53を管理する。
【0050】デバイスマネージャ30は、レベル1相互
制御に利用される汎用のデバイス制御モジュール27を
特定及び生成する機能を有している。さらにデバイスマ
ネージャ30は、他のサイトからアップロードされたオ
ーバーライドデバイスモジュールのホストとなる。
制御に利用される汎用のデバイス制御モジュール27を
特定及び生成する機能を有している。さらにデバイスマ
ネージャ30は、他のサイトからアップロードされたオ
ーバーライドデバイスモジュールのホストとなる。
【0051】アプリケーションプログラム層26は、ア
プリケーションとデバイスモジュールがユーザに情報を
表示するための汎用グラフィックAPIを提供する。
プリケーションとデバイスモジュールがユーザに情報を
表示するための汎用グラフィックAPIを提供する。
【0052】ストリームマネージャ31は、ホームネッ
トワークにおいて最も効率的なAVストリームの経路を
選択する。このストリームマネージャ31は、ホームネ
ットワークに接続された各機器がやりとりするAVスト
リームのフォーマットをそれぞれの機器に適合するフォ
ーマットに変換するデータフォーマットマネージャを備
えている。この処理の詳細については、図10及び図1
1を用いて後に詳細に説明する。
トワークにおいて最も効率的なAVストリームの経路を
選択する。このストリームマネージャ31は、ホームネ
ットワークに接続された各機器がやりとりするAVスト
リームのフォーマットをそれぞれの機器に適合するフォ
ーマットに変換するデータフォーマットマネージャを備
えている。この処理の詳細については、図10及び図1
1を用いて後に詳細に説明する。
【0053】メッセージングマネージャ22は、ホーム
ネットワークに接続された各機器に他の機器のロケーシ
ョンを特定させ、他の機器と相互制御を行わせるための
包括的なメッセージングメカニズムをサポートする。
ネットワークに接続された各機器に他の機器のロケーシ
ョンを特定させ、他の機器と相互制御を行わせるための
包括的なメッセージングメカニズムをサポートする。
【0054】通信媒体マネージャ29は、HAVIソフ
トウェアアーキテクチャ20における、媒体に基づくエ
ンティティである。通信媒体マネージャ29は、HAV
Iネットワーク内の他のHAVIコンポーネント又はア
プリケーションプログラムにアブストラクトサービスを
提供する。さらに、通信媒体マネージャ29は、HAV
Iネットワーク内の様々な機器間の実際のデータ通信に
必要な、通信媒体に応じた転送メカニズムを提供する。
さらにまた通信媒体マネージャ29は、ローカルバスリ
セットに応答して、後述するGUIDリストを更新す
る。各物理的通信媒体は、上述のような目的を果たすた
めに、それぞれに通信媒体マネージャ29を備えてい
る。IEEE1394シリアル通信バスに用いる通信媒
体マネージャの詳細については、後に詳細に説明する。
トウェアアーキテクチャ20における、媒体に基づくエ
ンティティである。通信媒体マネージャ29は、HAV
Iネットワーク内の他のHAVIコンポーネント又はア
プリケーションプログラムにアブストラクトサービスを
提供する。さらに、通信媒体マネージャ29は、HAV
Iネットワーク内の様々な機器間の実際のデータ通信に
必要な、通信媒体に応じた転送メカニズムを提供する。
さらにまた通信媒体マネージャ29は、ローカルバスリ
セットに応答して、後述するGUIDリストを更新す
る。各物理的通信媒体は、上述のような目的を果たすた
めに、それぞれに通信媒体マネージャ29を備えてい
る。IEEE1394シリアル通信バスに用いる通信媒
体マネージャの詳細については、後に詳細に説明する。
【0055】イベントマネージャ23、サービスレジス
トリ24、ストリームマネージャ31、初期化マネージ
ャ21については後述する。
トリ24、ストリームマネージャ31、初期化マネージ
ャ21については後述する。
【0056】図6に示すダイアグラム33aは、ローカ
ルバス9のローカルバスHAL層34を含むHAVIソ
フトウェアアーキテクチャ20のデータフローダイアグ
ラムである。このダイアグラム33aにおいて、最上位
の層は、アプリケーションプログラム層26である。ア
プリケーションプログラム層26は、AV/Cコマンド
を有する機能制御モジュール層36に接続されている。
また、アプリケーションプログラム層26は、FAVの
内部に設けられており、デバイス制御モジュール27、
サービスレジストリ24及びストリームマネージャ39
にも接続されている。
ルバス9のローカルバスHAL層34を含むHAVIソ
フトウェアアーキテクチャ20のデータフローダイアグ
ラムである。このダイアグラム33aにおいて、最上位
の層は、アプリケーションプログラム層26である。ア
プリケーションプログラム層26は、AV/Cコマンド
を有する機能制御モジュール層36に接続されている。
また、アプリケーションプログラム層26は、FAVの
内部に設けられており、デバイス制御モジュール27、
サービスレジストリ24及びストリームマネージャ39
にも接続されている。
【0057】デバイス制御モジュール27は、イベント
マネージャ23に接続されたデバイスマネージャ30に
より制御される。イベントマネージャ23は、通信媒体
マネージャ29に接続されている。ストリームマネージ
ャ39は、通信媒体マネージャ29とアプリケーション
プログラム層26との間に挿入されており、このストリ
ームマネージャ39により、アプリケーションプログラ
ム層26と通信媒体マネージャ29は、互いにデータを
送受することができる。通信媒体マネージャ29は、メ
ッセージングマネージャ22にも接続されている。
マネージャ23に接続されたデバイスマネージャ30に
より制御される。イベントマネージャ23は、通信媒体
マネージャ29に接続されている。ストリームマネージ
ャ39は、通信媒体マネージャ29とアプリケーション
プログラム層26との間に挿入されており、このストリ
ームマネージャ39により、アプリケーションプログラ
ム層26と通信媒体マネージャ29は、互いにデータを
送受することができる。通信媒体マネージャ29は、メ
ッセージングマネージャ22にも接続されている。
【0058】通信媒体マネージャ29は、リンクドライ
バユニット35を介してローカルバスインターフェイス
であるIEEE1394インターフェイス38へのイン
ターフェイスを提供する。リンクドライバユニット35
は、ローカルバスリセットが発生したときにGUIDリ
ストを更新する機能を司る。
バユニット35を介してローカルバスインターフェイス
であるIEEE1394インターフェイス38へのイン
ターフェイスを提供する。リンクドライバユニット35
は、ローカルバスリセットが発生したときにGUIDリ
ストを更新する機能を司る。
【0059】以上のように、ローカルバスHAL層34
は、上位のアプリケーションを示し、リンクドライバユ
ニット35は、下位のアプリケーションを示している。
このダイアグラム33aについては、図8を用いて、後
にさらに詳細に説明する。
は、上位のアプリケーションを示し、リンクドライバユ
ニット35は、下位のアプリケーションを示している。
このダイアグラム33aについては、図8を用いて、後
にさらに詳細に説明する。
【0060】図7に示すダイアグラム40aは、通信媒
体マネージャ29への通信に利用できる通信チャンネル
を示すものである。アプリケーションプログラム層26
は、通信媒体マネージャ29にアクセスしてバス生成情
報、GUIDリスト、スピードマップ、トポロジマップ
等を受け取る。これらの機能を実行するために用いるA
PIは、それぞれ、getGUIDList(),getBusGeneratio
n(),getSpeedMap(),getTopologyMap()である。
体マネージャ29への通信に利用できる通信チャンネル
を示すものである。アプリケーションプログラム層26
は、通信媒体マネージャ29にアクセスしてバス生成情
報、GUIDリスト、スピードマップ、トポロジマップ
等を受け取る。これらの機能を実行するために用いるA
PIは、それぞれ、getGUIDList(),getBusGeneratio
n(),getSpeedMap(),getTopologyMap()である。
【0061】iLink転送適応モジュール(iLink Tr
anspotation Adaptation module;iLinkTAM)2
2bは、通信媒体マネージャ29に接続し、非同期要求
及び非同期応答を行う。デジタルインターフェイスコン
トローラ39a(iLink 接続適応モジュール;iLin
kCAM)は、通信媒体マネージャ29に接続し、非同
期要求、非同期応答、チャンネル割当、チャンネル解
除、帯域幅割当、帯域幅解除等を行う。ストリームマネ
ージャ39は、GUID情報を利用して、デジタルイン
ターフェイスコントローラ39aを介して1対1(poin
t to point)の通信を確立する。デジタルインターフェ
イスコントローラ39aが通信に用いるAPIは、allo
cateChannel();deallocateChannel();allocateBandwidt
h();deallocateBandwidth()である。デバイス制御モジ
ュール27は、アイソクロノスデータを用いて通信媒体
マネージャ29と通信を行う。このときに使用されるA
PIは、isoOpen();isoClose();isoDetach();isoContro
l()である。
anspotation Adaptation module;iLinkTAM)2
2bは、通信媒体マネージャ29に接続し、非同期要求
及び非同期応答を行う。デジタルインターフェイスコン
トローラ39a(iLink 接続適応モジュール;iLin
kCAM)は、通信媒体マネージャ29に接続し、非同
期要求、非同期応答、チャンネル割当、チャンネル解
除、帯域幅割当、帯域幅解除等を行う。ストリームマネ
ージャ39は、GUID情報を利用して、デジタルイン
ターフェイスコントローラ39aを介して1対1(poin
t to point)の通信を確立する。デジタルインターフェ
イスコントローラ39aが通信に用いるAPIは、allo
cateChannel();deallocateChannel();allocateBandwidt
h();deallocateBandwidth()である。デバイス制御モジ
ュール27は、アイソクロノスデータを用いて通信媒体
マネージャ29と通信を行う。このときに使用されるA
PIは、isoOpen();isoClose();isoDetach();isoContro
l()である。
【0062】図8に示すダイアグラム40bは、通信媒
体マネージャ29が他のオブジェクトに対して行う通信
の通信チャンネルを図式化したものである。通信媒体マ
ネージャ29は、イベントマネージャ23にバスリセッ
トの指示を行う。通信媒体マネージャ29は、現在ロー
カルバス9に接続されている機器に関するステータス情
報を管理し、すなわち、GUIDリストが作成された後
にどの機器が追加され、また、どの機器が取り除かれた
かといった情報を管理する。通信媒体マネージャ29
は、iLinkTAM22bに対して、GUID情報や
バスリセット情報を送信し、また、非同期受信やアイソ
クロノス受信を行う。通信媒体マネージャ29は、同様
の情報をアイソクロノスデータ送受信モジュールとして
機能するデバイス制御モジュール27にも供給する。現
在ローカルバス9に接続中の機器に関する情報は、デジ
タルインターフェイスコントローラ39aにも供給され
る。
体マネージャ29が他のオブジェクトに対して行う通信
の通信チャンネルを図式化したものである。通信媒体マ
ネージャ29は、イベントマネージャ23にバスリセッ
トの指示を行う。通信媒体マネージャ29は、現在ロー
カルバス9に接続されている機器に関するステータス情
報を管理し、すなわち、GUIDリストが作成された後
にどの機器が追加され、また、どの機器が取り除かれた
かといった情報を管理する。通信媒体マネージャ29
は、iLinkTAM22bに対して、GUID情報や
バスリセット情報を送信し、また、非同期受信やアイソ
クロノス受信を行う。通信媒体マネージャ29は、同様
の情報をアイソクロノスデータ送受信モジュールとして
機能するデバイス制御モジュール27にも供給する。現
在ローカルバス9に接続中の機器に関する情報は、デジ
タルインターフェイスコントローラ39aにも供給され
る。
【0063】図9は、通信媒体マネージャ29とローカ
ルバス9とを接続するIEEE1394インターフェイ
ス41と、IEEE1394シリアル通信バスを管理す
るシリアルバス管理ユニット42を示す図である。通信
媒体マネージャ29は、後述するスピードマップ及びト
ポロジマップを有し、シリアルバス管理ユニット42
は、バスマネージャ43、アイソクロノスリソースマネ
ージャ44、ノードコントローラ45を備えている。バ
スマネージャ43は、マネージメントコントロール/ス
テータスレジスタ(control/status registers:以下C
RSという。)を有している。アイソクロノスリソース
マネージャ44は、バスのマスタIDに関する情報と、
アイソクロノスCRSを介した通信に利用できるチャン
ネル及び帯域幅に関する情報を有している。ノードコン
トローラ45は、コンフィギュレーションROMと、ノ
ードを制御するスタンダードCRSを有している。
ルバス9とを接続するIEEE1394インターフェイ
ス41と、IEEE1394シリアル通信バスを管理す
るシリアルバス管理ユニット42を示す図である。通信
媒体マネージャ29は、後述するスピードマップ及びト
ポロジマップを有し、シリアルバス管理ユニット42
は、バスマネージャ43、アイソクロノスリソースマネ
ージャ44、ノードコントローラ45を備えている。バ
スマネージャ43は、マネージメントコントロール/ス
テータスレジスタ(control/status registers:以下C
RSという。)を有している。アイソクロノスリソース
マネージャ44は、バスのマスタIDに関する情報と、
アイソクロノスCRSを介した通信に利用できるチャン
ネル及び帯域幅に関する情報を有している。ノードコン
トローラ45は、コンフィギュレーションROMと、ノ
ードを制御するスタンダードCRSを有している。
【0064】シリアルバス管理ユニット42は、IEE
E1394HALインターフェイス38と通信を行う。
トランザクション層46は、読出トランザクション、書
込トランザクション、ロックトランザクション、及びト
ラックペンディグトランザクションを実行し、また、通
信回線の混雑や通信時間の時間切れにより通信が完了し
なかった場合、ビジー/タイムアウトレジスタを用いて
再実行プロトコル(リトライプロトコル)による通信の
再実行を行う。データは、リンク層47とインターフェ
イスユニット(IEEE1394チップセット)48に
より送信される。
E1394HALインターフェイス38と通信を行う。
トランザクション層46は、読出トランザクション、書
込トランザクション、ロックトランザクション、及びト
ラックペンディグトランザクションを実行し、また、通
信回線の混雑や通信時間の時間切れにより通信が完了し
なかった場合、ビジー/タイムアウトレジスタを用いて
再実行プロトコル(リトライプロトコル)による通信の
再実行を行う。データは、リンク層47とインターフェ
イスユニット(IEEE1394チップセット)48に
より送信される。
【0065】図5に示すデバイス制御モジュール27と
デバイスマネージャ30及びHAVIソフトウェアアー
キテクチャ20の他の実施の形態については、アール・
リー(R.Lea)及びエー・ルドク(A.Ludtke)により発
明され、本願と同時に出願された「レベル2デバイス制
御モジュールを用いた家庭用AVネットワーク(A Home
Audio/Video Network with Two Level Device Contro
l)」(代理人整理番号No.SONY-50L2278)に記述されて
いる。
デバイスマネージャ30及びHAVIソフトウェアアー
キテクチャ20の他の実施の形態については、アール・
リー(R.Lea)及びエー・ルドク(A.Ludtke)により発
明され、本願と同時に出願された「レベル2デバイス制
御モジュールを用いた家庭用AVネットワーク(A Home
Audio/Video Network with Two Level Device Contro
l)」(代理人整理番号No.SONY-50L2278)に記述されて
いる。
【0066】この実施の形態においてはIEEE139
4シリアル通信バスに用いられる通信媒体マネージャ2
9は、2つのレベルのAPIを提供する。一方は、他の
HAVI機器と相互作用してトポロジマップやスピード
マップを提供し、またHAVIに関するイベントを生成
する上位APIである。他方は、非同期又はアイソクロ
ノスデータ通信のための基礎的な転送メカニズムを提供
する下位のAPIである。通常、上位のAPIは、同一
のノード上に存在する全てのHAVIエンティティ又は
アプリケーションで利用可能である。一方、下位のAP
Iは、IEEE1394シリアル通信バスであるローカ
ルバス9に主要なインターフェイスを提供し、これによ
り通信媒体マネージャ29の最上位層に特定のプロトコ
ルが構築される。上位のAPIにアクセスするために
は、例えばメッセージングマネージャ22等のHAVI
メッセージシステムが用いられる。一方、下位のAPI
へのアクセスは、通信媒体マネージャ29に対してダイ
レクトコールを行うことにより行われる。
4シリアル通信バスに用いられる通信媒体マネージャ2
9は、2つのレベルのAPIを提供する。一方は、他の
HAVI機器と相互作用してトポロジマップやスピード
マップを提供し、またHAVIに関するイベントを生成
する上位APIである。他方は、非同期又はアイソクロ
ノスデータ通信のための基礎的な転送メカニズムを提供
する下位のAPIである。通常、上位のAPIは、同一
のノード上に存在する全てのHAVIエンティティ又は
アプリケーションで利用可能である。一方、下位のAP
Iは、IEEE1394シリアル通信バスであるローカ
ルバス9に主要なインターフェイスを提供し、これによ
り通信媒体マネージャ29の最上位層に特定のプロトコ
ルが構築される。上位のAPIにアクセスするために
は、例えばメッセージングマネージャ22等のHAVI
メッセージシステムが用いられる。一方、下位のAPI
へのアクセスは、通信媒体マネージャ29に対してダイ
レクトコールを行うことにより行われる。
【0067】HAVIメッセージシステムを介してハイ
レベルAPIにアクセスするためのメッセージには、マ
ルチバイトセレクタ及び機能に基づくパラメータからな
るデータフォーマットが使用される。マルチバイトセレ
クタは、通信媒体マネージャ29のどの機能を利用する
かを決定し、パラメータは、その機能の実行に必要な全
てのパラメータを指定する。下位のAPIは、パラメー
タだけのメッセージで呼び出すことができる。
レベルAPIにアクセスするためのメッセージには、マ
ルチバイトセレクタ及び機能に基づくパラメータからな
るデータフォーマットが使用される。マルチバイトセレ
クタは、通信媒体マネージャ29のどの機能を利用する
かを決定し、パラメータは、その機能の実行に必要な全
てのパラメータを指定する。下位のAPIは、パラメー
タだけのメッセージで呼び出すことができる。
【0068】IEEE1394シリアル通信バスである
ローカルバス9は、動的に環境設定可能な(dynamicall
y configurable)ネットワークである。バスリセットが
発生すると、各デバイスの物理的識別子(phy_id:以下
物理IDという。)が変更される可能性がある。HAV
Iネットワーク1内において、HAVIコンポーネント
又はHAVIアプリケーションが任意のデバイスと通信
を行う場合、バスリセットが発生してその任意のデバイ
スの物理IDが変更されても、通信が継続することが望
まれる。
ローカルバス9は、動的に環境設定可能な(dynamicall
y configurable)ネットワークである。バスリセットが
発生すると、各デバイスの物理的識別子(phy_id:以下
物理IDという。)が変更される可能性がある。HAV
Iネットワーク1内において、HAVIコンポーネント
又はHAVIアプリケーションが任意のデバイスと通信
を行う場合、バスリセットが発生してその任意のデバイ
スの物理IDが変更されても、通信が継続することが望
まれる。
【0069】本発明では、バスリセットが何回発生して
も、各デバイスを一義的に識別するために、各デバイス
に恒常的な単一の識別子(グローバルユニークID:Gl
obalUnique ID:以下、GUIDという。)を付す。この
GUIDは、通信媒体マネージャ29及びHAVIエン
ティティで利用される。GUIDは、複数のビット、本
実施の形態においては64ビットで表される数である。
この実施例では、上位24ビットをノード−製造業者識
別子とし、下位40ビットをチップシリーズIDとす
る。
も、各デバイスを一義的に識別するために、各デバイス
に恒常的な単一の識別子(グローバルユニークID:Gl
obalUnique ID:以下、GUIDという。)を付す。この
GUIDは、通信媒体マネージャ29及びHAVIエン
ティティで利用される。GUIDは、複数のビット、本
実施の形態においては64ビットで表される数である。
この実施例では、上位24ビットをノード−製造業者識
別子とし、下位40ビットをチップシリーズIDとす
る。
【0070】各デバイスの物理IDは、バスリセットの
発生などにより常に変化する可能性があるが、GUID
は、HAVIアーキテクチャ内において不変の識別子と
して機能する。本発明の実施の形態においては、通信媒
体マネージャ29は、GUID情報を生成し、そのクラ
イアントに後述するGUIDリストを提供する。
発生などにより常に変化する可能性があるが、GUID
は、HAVIアーキテクチャ内において不変の識別子と
して機能する。本発明の実施の形態においては、通信媒
体マネージャ29は、GUID情報を生成し、そのクラ
イアントに後述するGUIDリストを提供する。
【0071】通信媒体マネージャ29は、基礎となるデ
バイス間の相互接続メカニズムを抽出し、バスアーキテ
クチャの処理能力を記述するためのAPIの共通のセッ
トを提供する。この実施の形態においては通信媒体マネ
ージャ29は、IEEE1394バスモデルに基づいて
設計されているが、通信媒体マネージャ29は、相互接
続管理に用いる汎用のサービスを提供するものであれ
ば、いかなるものであってもよい。
バイス間の相互接続メカニズムを抽出し、バスアーキテ
クチャの処理能力を記述するためのAPIの共通のセッ
トを提供する。この実施の形態においては通信媒体マネ
ージャ29は、IEEE1394バスモデルに基づいて
設計されているが、通信媒体マネージャ29は、相互接
続管理に用いる汎用のサービスを提供するものであれ
ば、いかなるものであってもよい。
【0072】通信媒体マネージャ29は、APIに4つ
の基本的な概念を提供する。第1の概念は、チャンネル
である。チャンネルは、バスがサポートすることのでき
る論理的なデータのコネクションである。これにより、
例えばIEEE1394を利用したネットワークにおい
ては、ハードウェアに複数のチャンネルがマッピングさ
れる。単一のデータ接続しか行わないシステムにおいて
は、単一のチャンネルが使用される。第2の概念は、ブ
リッジである。ブリッジは、2つの異なるバスを接続
し、そのバス間のデータの送受信を実現する機能を司
る。第3の概念は、ノードである。ノードは、いわばチ
ャンネルの物理的終端であり、各ノードは、HAVIア
ーキテクチャ内の各ユニット又はサブユニットに対応す
るものである。第4の概念は、帯域幅である。帯域幅
は、同時に送信されるデータのデータ量の基準となる。
それぞれのチャンネルがどのようなデータの転送に用い
られるか等に制限されることなく、所定のデータ転送レ
ートをサポートするために必要な帯域幅が各チャンネル
に割り当てられる。
の基本的な概念を提供する。第1の概念は、チャンネル
である。チャンネルは、バスがサポートすることのでき
る論理的なデータのコネクションである。これにより、
例えばIEEE1394を利用したネットワークにおい
ては、ハードウェアに複数のチャンネルがマッピングさ
れる。単一のデータ接続しか行わないシステムにおいて
は、単一のチャンネルが使用される。第2の概念は、ブ
リッジである。ブリッジは、2つの異なるバスを接続
し、そのバス間のデータの送受信を実現する機能を司
る。第3の概念は、ノードである。ノードは、いわばチ
ャンネルの物理的終端であり、各ノードは、HAVIア
ーキテクチャ内の各ユニット又はサブユニットに対応す
るものである。第4の概念は、帯域幅である。帯域幅
は、同時に送信されるデータのデータ量の基準となる。
それぞれのチャンネルがどのようなデータの転送に用い
られるか等に制限されることなく、所定のデータ転送レ
ートをサポートするために必要な帯域幅が各チャンネル
に割り当てられる。
【0073】上述のような概念をサポートしていないバ
スプロトコルにおいては、通信媒体マネージャ29によ
るAPIの呼出機能が制限されることとなる。例えば、
あるバス技術が複数データの同時転送に対応していない
場合、バスは、実際にはチャンネルの概念を有していな
いにも拘わらず単一のチャンネルを使用していると応答
することがある。通信媒体マネージャ29は、チャンネ
ルモデルにトランザクションをマッピングする。
スプロトコルにおいては、通信媒体マネージャ29によ
るAPIの呼出機能が制限されることとなる。例えば、
あるバス技術が複数データの同時転送に対応していない
場合、バスは、実際にはチャンネルの概念を有していな
いにも拘わらず単一のチャンネルを使用していると応答
することがある。通信媒体マネージャ29は、チャンネ
ルモデルにトランザクションをマッピングする。
【0074】例えばIEEE1394、コントロールA
1、TCP/IP等の各物理的インターフェイスに対し
て、それぞれ1つの通信媒体マネージャ29がFAVノ
ード上に設けられる。このように、複数種類の通信媒体
マネージャ29があり、同一のネットワーク内に複数の
通信媒体マネージャ29が存在する場合があるため、各
通信媒体マネージャ29は、通信媒体マネージャ29の
エントリに付され、各通信媒体の各通信媒体の種類に関
する属性を示すmodule_type属性をサービスレジストリ
24のデータベース内に登録している。この属性は、以
下のように定義されている。 module_type = busManager module_data = {1394, Control A1, TCP/IP, etc} なお、これらのバスタイプ(1394, control A1, TCP/IP
等)に数値による識別子が付されることもある。
1、TCP/IP等の各物理的インターフェイスに対し
て、それぞれ1つの通信媒体マネージャ29がFAVノ
ード上に設けられる。このように、複数種類の通信媒体
マネージャ29があり、同一のネットワーク内に複数の
通信媒体マネージャ29が存在する場合があるため、各
通信媒体マネージャ29は、通信媒体マネージャ29の
エントリに付され、各通信媒体の各通信媒体の種類に関
する属性を示すmodule_type属性をサービスレジストリ
24のデータベース内に登録している。この属性は、以
下のように定義されている。 module_type = busManager module_data = {1394, Control A1, TCP/IP, etc} なお、これらのバスタイプ(1394, control A1, TCP/IP
等)に数値による識別子が付されることもある。
【0075】各通信媒体マネージャ29は、バス管理の
ための標準的なAPI及びプロトコル特有のAPIのセ
ットを有している。使用されるバス技術が標準的なモデ
ルの機能以上の機能を有している場合、通信媒体マネー
ジャ29の機能は、基礎的な機能と最新の機能の2に分
類できる。例えば、IEEE1394用の通信媒体マネ
ージャ29は、例えばアイソクロノスリソースマネージ
ャ等のIEEE1394に特有のバス属性を有するオブ
ジェクトにアクセスすることができる。IEEE139
4を認識することができ、上述のようなIEEE139
4特有の機能を利用する必要があるクライアントは、I
EEE1394用の通信媒体マネージャ29を介して所
望のオブジェクトにアクセスする。
ための標準的なAPI及びプロトコル特有のAPIのセ
ットを有している。使用されるバス技術が標準的なモデ
ルの機能以上の機能を有している場合、通信媒体マネー
ジャ29の機能は、基礎的な機能と最新の機能の2に分
類できる。例えば、IEEE1394用の通信媒体マネ
ージャ29は、例えばアイソクロノスリソースマネージ
ャ等のIEEE1394に特有のバス属性を有するオブ
ジェクトにアクセスすることができる。IEEE139
4を認識することができ、上述のようなIEEE139
4特有の機能を利用する必要があるクライアントは、I
EEE1394用の通信媒体マネージャ29を介して所
望のオブジェクトにアクセスする。
【0076】IEEE1394シリアル通信バスがHA
VIアーキテクチャに提供する高度な機能の例として、
「ホットプラギング(hot plugging)」、すなわちネッ
トワークにデバイスを追加したり電源を投入する動作
や、「アンプラギング(unplugging)」、すなわちネッ
トワークに接続しているデバイスを取り外したり電源を
切断する動作等のような接続機器の動的な変化をサポー
トできる機能がある。このような機能をユーザレベルで
完全にサポートするためには、上位のソフトウェアクラ
イアントが上述したような環境の変化を認識する必要が
あり、本発明においては、このような情報を上位のソフ
トウェアクライアントに提供することができる。
VIアーキテクチャに提供する高度な機能の例として、
「ホットプラギング(hot plugging)」、すなわちネッ
トワークにデバイスを追加したり電源を投入する動作
や、「アンプラギング(unplugging)」、すなわちネッ
トワークに接続しているデバイスを取り外したり電源を
切断する動作等のような接続機器の動的な変化をサポー
トできる機能がある。このような機能をユーザレベルで
完全にサポートするためには、上位のソフトウェアクラ
イアントが上述したような環境の変化を認識する必要が
あり、本発明においては、このような情報を上位のソフ
トウェアクライアントに提供することができる。
【0077】通信媒体マネージャ29とイベントマネー
ジャ23は、後に図20〜図22を用いて説明するデバ
イスステータステーブルを用いて、動的に環境の変化を
検出し、他のオブジェクトにその変化を知らせる。上述
のようなトポロジの変化、すなわち物理的な接続状態の
変化によりバスリセットが発生するため、通信媒体マネ
ージャ29は、ネットワークにどの機器が接続され、あ
るいはネットワークからどの機器が削除されたかといっ
た情報を伴うネットワークの変化に関する情報を受信
し、イベントマネージャ23にこの情報を伝える。イベ
ントマネージャ23は、HAVIネットワーク内に存在
し、バスリセット発生以前に適切なコールバックハンド
ラを確立している全てのエンティティ又はアプリケーシ
ョンに、上述の変化に関連するイベントを配信する。
ジャ23は、後に図20〜図22を用いて説明するデバ
イスステータステーブルを用いて、動的に環境の変化を
検出し、他のオブジェクトにその変化を知らせる。上述
のようなトポロジの変化、すなわち物理的な接続状態の
変化によりバスリセットが発生するため、通信媒体マネ
ージャ29は、ネットワークにどの機器が接続され、あ
るいはネットワークからどの機器が削除されたかといっ
た情報を伴うネットワークの変化に関する情報を受信
し、イベントマネージャ23にこの情報を伝える。イベ
ントマネージャ23は、HAVIネットワーク内に存在
し、バスリセット発生以前に適切なコールバックハンド
ラを確立している全てのエンティティ又はアプリケーシ
ョンに、上述の変化に関連するイベントを配信する。
【0078】ネットワーク内で使用可能な機器の更新を
サポートするために通信媒体マネージャ29が生成する
基本的なイベントは、新たに追加された機器を示すNEW_
DEVICEと、削除された機器を示すGONE_DEVICEの2つで
ある。効率を高めるために、通信媒体マネージャ29
は、このイベントとともにデバイスステータステーブル
を生成する。ネットワークに機器が追加され、あるいは
ネットワークから機器が削除された場合は常にバスリセ
ットが発生し、通信媒体マネージャ29は、イベントマ
ネージャ23の要求に応じて、追加あるいは削除された
機器のデバイスステータステーブルをイベントマネージ
ャ23に渡す。NEW_DEVICE又はGONE_DEVICEは、バスリ
セットが発生したことも意味するので、このNEW_DEVICE
又はGONE_DEVICEに基づいて、イベントマネージャ23
にバスリセットを示すBAS_RESETイベントを生成させる
こともできる。なお、上述したようなイベントはどれも
ローカルイベントであり、すなわち、イベントマネージ
ャ23は、通常、これらのイベントを他のノードに送信
又は通知することはない。
サポートするために通信媒体マネージャ29が生成する
基本的なイベントは、新たに追加された機器を示すNEW_
DEVICEと、削除された機器を示すGONE_DEVICEの2つで
ある。効率を高めるために、通信媒体マネージャ29
は、このイベントとともにデバイスステータステーブル
を生成する。ネットワークに機器が追加され、あるいは
ネットワークから機器が削除された場合は常にバスリセ
ットが発生し、通信媒体マネージャ29は、イベントマ
ネージャ23の要求に応じて、追加あるいは削除された
機器のデバイスステータステーブルをイベントマネージ
ャ23に渡す。NEW_DEVICE又はGONE_DEVICEは、バスリ
セットが発生したことも意味するので、このNEW_DEVICE
又はGONE_DEVICEに基づいて、イベントマネージャ23
にバスリセットを示すBAS_RESETイベントを生成させる
こともできる。なお、上述したようなイベントはどれも
ローカルイベントであり、すなわち、イベントマネージ
ャ23は、通常、これらのイベントを他のノードに送信
又は通知することはない。
【0079】通信媒体マネージャ29は、さらにトポロ
ジマップ、スピードマップ、及び他の環境に関する記述
をクライアントに提供する。例えば図13に示すトポロ
ジマップ53は、各機器の接続状態を示すものである。
本発明においては、どのように機器が接続されており、
どのような機能が利用可能であるかをユーザに知らせる
ユーザインターフェイスを用いることができる。
ジマップ、スピードマップ、及び他の環境に関する記述
をクライアントに提供する。例えば図13に示すトポロ
ジマップ53は、各機器の接続状態を示すものである。
本発明においては、どのように機器が接続されており、
どのような機能が利用可能であるかをユーザに知らせる
ユーザインターフェイスを用いることができる。
【0080】図14及び図15に示すスピードマップ5
2は、ネットワークに接続された任意の2つの機器間で
行われるデータ転送に用いることのできるデータ転送速
度の最大値に関する情報を提供するものである。すなわ
ち、スピードマップ52は、HAVIネットワークの各
セクションの相互通信能力及び性能に関する情報を提供
するものである。このスピードマップ52により、ユー
ザは、現在の接続状態を分析することができ、分析に基
づいて接続環境を適切に再構築することにより、ネット
ワークの通信能力を向上させることができる。
2は、ネットワークに接続された任意の2つの機器間で
行われるデータ転送に用いることのできるデータ転送速
度の最大値に関する情報を提供するものである。すなわ
ち、スピードマップ52は、HAVIネットワークの各
セクションの相互通信能力及び性能に関する情報を提供
するものである。このスピードマップ52により、ユー
ザは、現在の接続状態を分析することができ、分析に基
づいて接続環境を適切に再構築することにより、ネット
ワークの通信能力を向上させることができる。
【0081】例えば図13に示すトポロジマップ53の
ような属性が自動的に生成されない場合、ユーザからダ
イアログ形式で情報を得るようにしてもよい。すなわ
ち、例えばトポロジマップ53を自動的に生成しないプ
ロトコルにおいて、通信媒体マネージャ29がトポロジ
マップ53を要求された場合、この要求をダイアログの
トリガとすることができる。通信媒体マネージャ29
は、ユーザとの対話により各機器がどのように接続され
ているかを確認し、要求された情報を返す。
ような属性が自動的に生成されない場合、ユーザからダ
イアログ形式で情報を得るようにしてもよい。すなわ
ち、例えばトポロジマップ53を自動的に生成しないプ
ロトコルにおいて、通信媒体マネージャ29がトポロジ
マップ53を要求された場合、この要求をダイアログの
トリガとすることができる。通信媒体マネージャ29
は、ユーザとの対話により各機器がどのように接続され
ているかを確認し、要求された情報を返す。
【0082】トポロジマップ53及びスピードマップ5
2において、例えばデータ配列等の構成は、ネットワー
ク内の機器の物理IDに基づいており、これらの値は機
器の追加や削除により随時変更されるものであるため、
トポロジマップ53及びスピードマップ52は、常に一
定ではない。このようなトポロジマップ53及びスピー
ドマップ52の改訂の回数(バージョン)を正しく認識
するために、本発明では、バス生成番号を使用する。す
なわち、新たなバス生成番号によりバス環境の変化が示
される。また、バス生成番号により、現在実行中の処理
が古いバス環境に関する情報に基づく処理であるか否か
をチェックすることができる。機器間でトランザクショ
ンを実行する場合、トランザクションに関わる機器がネ
ットワークに存在する必要があるため、その1又は複数
の機器がネットワークから削除されたために、実行中の
処理が完了できないといった状況も発生することがあ
る。このような状況が発生した場合、新たなバス生成番
号が生成され、この新たなバス生成番号に基づいて関連
する処理がチェックされ、古いバス生成番号に基づくト
ランザクションが中止され、消去される。
2において、例えばデータ配列等の構成は、ネットワー
ク内の機器の物理IDに基づいており、これらの値は機
器の追加や削除により随時変更されるものであるため、
トポロジマップ53及びスピードマップ52は、常に一
定ではない。このようなトポロジマップ53及びスピー
ドマップ52の改訂の回数(バージョン)を正しく認識
するために、本発明では、バス生成番号を使用する。す
なわち、新たなバス生成番号によりバス環境の変化が示
される。また、バス生成番号により、現在実行中の処理
が古いバス環境に関する情報に基づく処理であるか否か
をチェックすることができる。機器間でトランザクショ
ンを実行する場合、トランザクションに関わる機器がネ
ットワークに存在する必要があるため、その1又は複数
の機器がネットワークから削除されたために、実行中の
処理が完了できないといった状況も発生することがあ
る。このような状況が発生した場合、新たなバス生成番
号が生成され、この新たなバス生成番号に基づいて関連
する処理がチェックされ、古いバス生成番号に基づくト
ランザクションが中止され、消去される。
【0083】バス生成番号、トポロジマップ53、スピ
ードマップ52は、次回のバスリセットが発生するまで
変更されない。効率を高めるために、通信媒体マネージ
ャ29は、オプションとして内部のキャッシュメモリに
バス生成番号、トポロジマップ53、スピードマップ5
2を記憶し、バスリセットが発生した時のみ、それらを
更新する。
ードマップ52は、次回のバスリセットが発生するまで
変更されない。効率を高めるために、通信媒体マネージ
ャ29は、オプションとして内部のキャッシュメモリに
バス生成番号、トポロジマップ53、スピードマップ5
2を記憶し、バスリセットが発生した時のみ、それらを
更新する。
【0084】IEEE1394シリアル通信バス9の他
の特徴は、アイソクロノスチャンネルを介してタイミン
グを制御しながらデータ転送が行える点である。アイソ
クロノスモードでデータを送信するためには、チャンネ
ル番号と適切な帯域幅がバスから割り当てられる必要が
ある。通信媒体マネージャ29は、クライアントに対し
てチャンネル及び帯域幅の割当及びその解除を行う。通
信媒体マネージャ29は、バスリセットが発生する度
に、チャンネル及び帯域幅といったリソースを修正す
る。これにより、これらリソースが利用できなくなった
ために処理中のアイソクロノスデータトランザクション
が中断されるといった問題を防止する。
の特徴は、アイソクロノスチャンネルを介してタイミン
グを制御しながらデータ転送が行える点である。アイソ
クロノスモードでデータを送信するためには、チャンネ
ル番号と適切な帯域幅がバスから割り当てられる必要が
ある。通信媒体マネージャ29は、クライアントに対し
てチャンネル及び帯域幅の割当及びその解除を行う。通
信媒体マネージャ29は、バスリセットが発生する度
に、チャンネル及び帯域幅といったリソースを修正す
る。これにより、これらリソースが利用できなくなった
ために処理中のアイソクロノスデータトランザクション
が中断されるといった問題を防止する。
【0085】通信媒体マネージャ29は、実際のデータ
転送を行うための転送メカニズムを提供する。これは、
下位のサービスの一部である。IEEE1394シリア
ル通信バス9におけるトランザクションには、非同期ト
ランザクションとアイソクロノストランザクションの2
種類のトランザクションがある。通常の非同期データ転
送には、クワドレット/ブロック書込処理、クワドレッ
ト/ブロック読出処理、及びロック処理が含まれる。通
常のアイソクロノスデータ転送には、通常、チャンネル
/帯域幅割当処理、アイソクロノスデータポートオープ
ン処理、データバッファ割付処理、データ転送アクティ
ベイト処理が含まれる。これらの処理により、IEEE
1394シリアル通信バス9を用いたHAVIシステム
基礎的なトランスポートメカニズムが提供される。
転送を行うための転送メカニズムを提供する。これは、
下位のサービスの一部である。IEEE1394シリア
ル通信バス9におけるトランザクションには、非同期ト
ランザクションとアイソクロノストランザクションの2
種類のトランザクションがある。通常の非同期データ転
送には、クワドレット/ブロック書込処理、クワドレッ
ト/ブロック読出処理、及びロック処理が含まれる。通
常のアイソクロノスデータ転送には、通常、チャンネル
/帯域幅割当処理、アイソクロノスデータポートオープ
ン処理、データバッファ割付処理、データ転送アクティ
ベイト処理が含まれる。これらの処理により、IEEE
1394シリアル通信バス9を用いたHAVIシステム
基礎的なトランスポートメカニズムが提供される。
【0086】IEEE1394通信バス9に用いられる
通信媒体マネージャ29が用いるAPIは、以下のとお
りである。 1.CMM::enrollComeNGo() Status:enrollComeNGo(ObjectID oid,(void*)(*)callb
ack_handler) このコマンドにより、イベントマネージャ23は、バス
リセットが発生した場合に追加及び削除された機器のリ
ストを入手する。イベントマネージャ23は、このよう
な要求を通信媒体マネージャ29に送り、このサービス
を入手する。パラメータoidは、呼出側のオブジェクト
識別子(object identifier)であり、callback_handler
は、呼出側に供給されるコールバック機能である。この
場合、呼出側であるイベントマネージャ23は、バスリ
セットが発生した際に、自らのオブジェクト識別子とコ
ールバックハンドラを通信媒体マネージャ29に送信
し、通信媒体マネージャ29は、デバイスステータステ
ーブル、すなわち、ネットワークに新たに追加され、あ
るいは削除された機器のリストともにコールバック機能
を呼び出す。
通信媒体マネージャ29が用いるAPIは、以下のとお
りである。 1.CMM::enrollComeNGo() Status:enrollComeNGo(ObjectID oid,(void*)(*)callb
ack_handler) このコマンドにより、イベントマネージャ23は、バス
リセットが発生した場合に追加及び削除された機器のリ
ストを入手する。イベントマネージャ23は、このよう
な要求を通信媒体マネージャ29に送り、このサービス
を入手する。パラメータoidは、呼出側のオブジェクト
識別子(object identifier)であり、callback_handler
は、呼出側に供給されるコールバック機能である。この
場合、呼出側であるイベントマネージャ23は、バスリ
セットが発生した際に、自らのオブジェクト識別子とコ
ールバックハンドラを通信媒体マネージャ29に送信
し、通信媒体マネージャ29は、デバイスステータステ
ーブル、すなわち、ネットワークに新たに追加され、あ
るいは削除された機器のリストともにコールバック機能
を呼び出す。
【0087】2.CMM::gerGUIDList() Status:CMM 250::getGuIDList(GUID *guid) このコマンドにより、ネットワーク内の全てのアクティ
ブな機器のGUIDが入手される。パラメータguidは、
GUIDリストのポインタである。
ブな機器のGUIDが入手される。パラメータguidは、
GUIDリストのポインタである。
【0088】 3.CMM::getBusGeneration(unit32 *bus_en_number) このコマンドにより、ネットワークから現在のバス生成
番号が入手される。パラメータbus_en_numberは、現在
のバス生成番号である。
番号が入手される。パラメータbus_en_numberは、現在
のバス生成番号である。
【0089】4.CMM::getSpeedMap() Status: CMM::getspeedMap(unit32 bus_en_number u_ch
ar*spd_map) このコマンドにより、特定されたバス生成番号を用いて
スピードマップ52が入手される。パラメータbus_en_n
umberは、現在のバス生成番号であり、spd_mapは、スピ
ードマップ52のポインタである。
ar*spd_map) このコマンドにより、特定されたバス生成番号を用いて
スピードマップ52が入手される。パラメータbus_en_n
umberは、現在のバス生成番号であり、spd_mapは、スピ
ードマップ52のポインタである。
【0090】5.CMM::getTopologyMap() Status:CMM::getTopologyMap(unit32 bus_en_number, u
nit32 *top_map) このコマンドにより、特定されたバス生成番号を用いて
トポロジマップ53が入手される。パラメータbus_en_n
umberは、現在のバス生成番号であり、top_mapは、整数
の列であり、それぞれの整数は、IEEE1394ノー
ドからのselLIDパケットを示すものである。
nit32 *top_map) このコマンドにより、特定されたバス生成番号を用いて
トポロジマップ53が入手される。パラメータbus_en_n
umberは、現在のバス生成番号であり、top_mapは、整数
の列であり、それぞれの整数は、IEEE1394ノー
ドからのselLIDパケットを示すものである。
【0091】6.CMM::allocatechannel() Status:CMM::allocateChannel(unit32 chan_no) このコマンドにより、chan_noによって特定されるチャ
ンネルが割り当てられる。chan_noが全ての番号(Ox FF
FFffff)である場合、利用可能などのチャンネルを割り
当てて、返してもよい。パラメータchan_noは、割り当
てられるチャンネル番号を示す。
ンネルが割り当てられる。chan_noが全ての番号(Ox FF
FFffff)である場合、利用可能などのチャンネルを割り
当てて、返してもよい。パラメータchan_noは、割り当
てられるチャンネル番号を示す。
【0092】7.CMM::deallocatechannel() Status:CMM::deallocateChannel(unit32 chan_no) このコマンドにより、chan_noにより特定されるチャン
ネルが解除される。パラメータchan_noは、解除される
チャンネル番号を示す。
ネルが解除される。パラメータchan_noは、解除される
チャンネル番号を示す。
【0093】8.CMM::allocateBandwidth() Status:CMM::allocateBandwidth(unit32 bandwidth) このコマンドにより、bandwidthにより特定される帯域
幅が割り当てられる。パラメータbandwidthは、割り当
てられる帯域幅を示す。
幅が割り当てられる。パラメータbandwidthは、割り当
てられる帯域幅を示す。
【0094】9.CMM::deallocateBandwidth() Status:CMM::allocateBandwidth(unit32 bandwidth) このコマンドにより、bandwidthにより特定される帯域
幅の割当が解除される。パラメータbandwidthは、解除
される帯域幅を示す。
幅の割当が解除される。パラメータbandwidthは、解除
される帯域幅を示す。
【0095】10.CMM:asyncWrite() Status:CMM::asyncWrite(GUID guid,u_int64 remote_of
fset,u_char*data,unit32 data_size,unit32pk_format) このコマンドにより、guidにより特定されるリモートの
機器に非同期書込要求が送信される。パラメータguid
は、ターゲットとなる機器のGUIDを示し、remote_o
ffsetは、ターゲットの機器のメモリのオフセットを示
し、detaは、送信するするデータのポインタを示し、da
ta_sizeは、リモートの機器に書き込まれるデータのサ
イズをバイトで示すものであり、pk_formatは、使用さ
れるフォーマットがクワドレット単位のデータ転送であ
るか、ブロック単位のデータ転送であるかを示してい
る。
fset,u_char*data,unit32 data_size,unit32pk_format) このコマンドにより、guidにより特定されるリモートの
機器に非同期書込要求が送信される。パラメータguid
は、ターゲットとなる機器のGUIDを示し、remote_o
ffsetは、ターゲットの機器のメモリのオフセットを示
し、detaは、送信するするデータのポインタを示し、da
ta_sizeは、リモートの機器に書き込まれるデータのサ
イズをバイトで示すものであり、pk_formatは、使用さ
れるフォーマットがクワドレット単位のデータ転送であ
るか、ブロック単位のデータ転送であるかを示してい
る。
【0096】11.CMM:asyncRead() Status:CMM::asyncRead(GUID guid,u_int64 remote_off
set,u_char*data,unit32data_size,unit32pk_format) このコマンドにより、リモートの機器に非同期読出要求
が送信され、読み出されたデータが返される。パラメー
タguidは、ターゲットとなる機器のIDを示し、remote
_offsetは、ターゲットの機器のメモリのオフセットを
示し、detaは、受信するデータのポインタを示し、data
_sizeは、リモートの機器から読み出すデータのサイズ
をバイトで示すものであり、pk_formatは、使用される
フォーマットがクワドレット単位のデータ転送である
か、ブロック単位のデータ転送であるかを示している。
set,u_char*data,unit32data_size,unit32pk_format) このコマンドにより、リモートの機器に非同期読出要求
が送信され、読み出されたデータが返される。パラメー
タguidは、ターゲットとなる機器のIDを示し、remote
_offsetは、ターゲットの機器のメモリのオフセットを
示し、detaは、受信するデータのポインタを示し、data
_sizeは、リモートの機器から読み出すデータのサイズ
をバイトで示すものであり、pk_formatは、使用される
フォーマットがクワドレット単位のデータ転送である
か、ブロック単位のデータ転送であるかを示している。
【0097】12.CMM::asyncLock() Status:CMM::asynclock(GUID guid,u_int64 remote_off
set,u_char*old_data u_char*new_data,unit32 data_si
ze unit32 exLcode) このコマンドにより、リモートの機器における特定のア
ドレスにおいてロック処理が行われる。パラメータold_
dataは、比較処理及びスワップ処理に用いられる。パラ
メータguidは、ターゲットの機器のデバイスIDであ
り、remote_offsetは、ターゲットとなる機器のメモリ
のオフセットを示し、old_dataは、古いデータのポイン
タであり、new_dataは、新たなデータのポインタであ
り、data_sizeは、送信されるデータのサイズをバイト
で示すものであり、ext_codeは、ロック処理に用いられ
る拡張コードである。
set,u_char*old_data u_char*new_data,unit32 data_si
ze unit32 exLcode) このコマンドにより、リモートの機器における特定のア
ドレスにおいてロック処理が行われる。パラメータold_
dataは、比較処理及びスワップ処理に用いられる。パラ
メータguidは、ターゲットの機器のデバイスIDであ
り、remote_offsetは、ターゲットとなる機器のメモリ
のオフセットを示し、old_dataは、古いデータのポイン
タであり、new_dataは、新たなデータのポインタであ
り、data_sizeは、送信されるデータのサイズをバイト
で示すものであり、ext_codeは、ロック処理に用いられ
る拡張コードである。
【0098】13.CMM::isoOpen() Status:CMMisoOpen(unit32 direction,unit32 bus_spee
d,unit32 bandwidth,unit32*port-no) このコマンドは、送信又は受信のためにアイソクロノス
ポートを開くコマンドである。実際に開かれたポートを
示す値は、port_noに返される。パラメータdirection
は、処理が送信であるか受信であるかを示し、bus_spee
dは、要求されたバス速度を示し、bandwidthは、使用で
きる最大の帯域幅を示し、portLnoは、開設に成功した
ポートの番号を示す。
d,unit32 bandwidth,unit32*port-no) このコマンドは、送信又は受信のためにアイソクロノス
ポートを開くコマンドである。実際に開かれたポートを
示す値は、port_noに返される。パラメータdirection
は、処理が送信であるか受信であるかを示し、bus_spee
dは、要求されたバス速度を示し、bandwidthは、使用で
きる最大の帯域幅を示し、portLnoは、開設に成功した
ポートの番号を示す。
【0099】14.CMM::isoClose() Status:CMM::isoClose(unit32 port-no) このコマンドは、特定のポートを閉じるためのコマンド
である。パラメータport_noは、閉じるべきポートの番
号を示すものである。
である。パラメータport_noは、閉じるべきポートの番
号を示すものである。
【0100】15.CMM::isoAttach() Status:CMM::isoAttach(unit32 portLno, u_char*buffe
r) このコマンドにより、ユーザバッファが特定のポートに
接続される。パラメータportLnoは、使用されるポート
番号を示し、bufferはデータバッファを示す。
r) このコマンドにより、ユーザバッファが特定のポートに
接続される。パラメータportLnoは、使用されるポート
番号を示し、bufferはデータバッファを示す。
【0101】16.CMM::isoDetach() Status: CMM::isoDetach(unit32 port_no, u_char*buff
er) このコマンドにより、ユーザバッファが特定のポートか
ら切り離される。パラメータport_noは、切り離される
ポート番号を示し、bufferはデータバッファを示す。
er) このコマンドにより、ユーザバッファが特定のポートか
ら切り離される。パラメータport_noは、切り離される
ポート番号を示し、bufferはデータバッファを示す。
【0102】17.CMM::isoControl() Status:CMM::isoControl(unit32 chan, unit32 trigge
r) このコマンドは、実際のデータ転送を制御するものであ
る。このコマンドは、直ちに、あるいはいくつかの非同
期ビットに続いて実行される。パラメータchanは、転送
に使用されるチャンネルを示し、triggerは、実際の転
送を開始するトリガである。
r) このコマンドは、実際のデータ転送を制御するものであ
る。このコマンドは、直ちに、あるいはいくつかの非同
期ビットに続いて実行される。パラメータchanは、転送
に使用されるチャンネルを示し、triggerは、実際の転
送を開始するトリガである。
【0103】上述したノード、チャンネル、ブリッジ、
帯域幅の4つの概念に加えて、以下に示す概念もバスモ
デルの記述に利用される。トポロジマップは、ノードと
ネットワークの物理的な接続状態を写実するある種の表
である。IEEE1394規格においては、このトポロ
ジマップは、自動的に生成される。他のプロトコルにお
いては、トポロジマップの生成にユーザの操作やダイア
ログへの応答などを必要とする場合もある。ネットワー
ク全体のトポロジは、各バスのトポロジを総合したもの
である。バス生成番号は、現在実行中の処理が古くなっ
ていないか、すなわち最新のネットワーク環境に適合す
るものであるか否かを判断するために用いられる。トラ
ンザクションを実行するためには、トランザクションが
実行される複数の機器間にアクセスが確立していること
が必要であるが、この複数の機器のうちのいくつかの機
器がネットワークから取り除かれる場合もある。このよ
うな状況になると、バスに参加する全てのモジュール
は、バス環境の変化に対応するよう動作する。
帯域幅の4つの概念に加えて、以下に示す概念もバスモ
デルの記述に利用される。トポロジマップは、ノードと
ネットワークの物理的な接続状態を写実するある種の表
である。IEEE1394規格においては、このトポロ
ジマップは、自動的に生成される。他のプロトコルにお
いては、トポロジマップの生成にユーザの操作やダイア
ログへの応答などを必要とする場合もある。ネットワー
ク全体のトポロジは、各バスのトポロジを総合したもの
である。バス生成番号は、現在実行中の処理が古くなっ
ていないか、すなわち最新のネットワーク環境に適合す
るものであるか否かを判断するために用いられる。トラ
ンザクションを実行するためには、トランザクションが
実行される複数の機器間にアクセスが確立していること
が必要であるが、この複数の機器のうちのいくつかの機
器がネットワークから取り除かれる場合もある。このよ
うな状況になると、バスに参加する全てのモジュール
は、バス環境の変化に対応するよう動作する。
【0104】バス生成番号を生成するためには、バス環
境が変更されたことをバスシステムが検知する必要があ
る。IEEE1394等のプロトコルでは、ホットプラ
ギングがサポートされており、バスシステムは、バス環
境の変更をリアルタイムで検知することができる。他の
プロトコルも、ホットプラギングに対応していれば、バ
ス生成番号を自動的に生成することができる。プロトコ
ルがホットプラギングに対応していない場合、バス生成
番号は、常にデフォルト値1を示し、この値はホストシ
ステムが初期化されてからバス環境が変更されていない
ことを示す。本発明を適用したバスにおいては、いつで
も最大限のノード、すなわち機器を接続し、個別にアド
レスを指定することができる。通信媒体マネージャ29
は、現在いくつの機器がバスに接続されており、アドレ
ス(ノード番号)指定が可能であるかを知ることができ
る。
境が変更されたことをバスシステムが検知する必要があ
る。IEEE1394等のプロトコルでは、ホットプラ
ギングがサポートされており、バスシステムは、バス環
境の変更をリアルタイムで検知することができる。他の
プロトコルも、ホットプラギングに対応していれば、バ
ス生成番号を自動的に生成することができる。プロトコ
ルがホットプラギングに対応していない場合、バス生成
番号は、常にデフォルト値1を示し、この値はホストシ
ステムが初期化されてからバス環境が変更されていない
ことを示す。本発明を適用したバスにおいては、いつで
も最大限のノード、すなわち機器を接続し、個別にアド
レスを指定することができる。通信媒体マネージャ29
は、現在いくつの機器がバスに接続されており、アドレ
ス(ノード番号)指定が可能であるかを知ることができ
る。
【0105】後に詳細に説明するが、通信媒体マネージ
ャ29は、ホットプラギングに対応したバスにバスリセ
ット又はバスの変更に関する情報を通知する。バスリセ
ットが発生すると、通信媒体マネージャ29は、現在ネ
ットワークに接続中の全ての機器に新たなトランスペア
レントIDを付与し、どの機器がネットワークが削除さ
れたかを判定し、デバイスマネージャ30を呼び出して
新たなデバイス制御モジュール27を生成させ、バスの
変更すなわちbus_changeイベントをイベントマネージャ
23に送信し、イベントマネージャ23は、接続中の全
てのクライアント、すなわち各機器にバスリセットの発
生を知らせる。本発明においては、バスリセットの発生
に関する情報とともに、ネットワークから削除された機
器及びネットワークに追加された機器に関する情報をク
ライアントに知らせる。通信媒体マネージャ29は、イ
ベントマネージャ23とともにバス環境の変化を動的に
検出し、各機器に知らせる。通常、このようなバス環境
の変化は、クライアント単独では知ることができない情
報であるため、この点においてIEEE1394は、他
のプロトコルに比べて優れているといえる。
ャ29は、ホットプラギングに対応したバスにバスリセ
ット又はバスの変更に関する情報を通知する。バスリセ
ットが発生すると、通信媒体マネージャ29は、現在ネ
ットワークに接続中の全ての機器に新たなトランスペア
レントIDを付与し、どの機器がネットワークが削除さ
れたかを判定し、デバイスマネージャ30を呼び出して
新たなデバイス制御モジュール27を生成させ、バスの
変更すなわちbus_changeイベントをイベントマネージャ
23に送信し、イベントマネージャ23は、接続中の全
てのクライアント、すなわち各機器にバスリセットの発
生を知らせる。本発明においては、バスリセットの発生
に関する情報とともに、ネットワークから削除された機
器及びネットワークに追加された機器に関する情報をク
ライアントに知らせる。通信媒体マネージャ29は、イ
ベントマネージャ23とともにバス環境の変化を動的に
検出し、各機器に知らせる。通常、このようなバス環境
の変化は、クライアント単独では知ることができない情
報であるため、この点においてIEEE1394は、他
のプロトコルに比べて優れているといえる。
【0106】通信媒体マネージャ29は、クライアント
にトポロジマップ53を提供する。そのため、クライア
ントがそれぞれバス環境に関する情報を調べる必要がな
い。トポロジマップ53は、トポロジマップをサポート
するプロトコルによって自動的に生成され、あるいは、
トポロジマップの自動生成をサポートしていないプロト
コルを用いる場合は、ユーザによる入力操作の補助によ
り生成される。トポロジマップは、大きく変化すること
があるため、通信媒体マネージャ29は、サービスレジ
ストリ24と同様のイテレータ機能を備えている。この
機能により各クライアントは、ネット内を前進あるいは
後退するだけの単純なAPIを用いて、ネットワークの
接続状態に応じた最適の経路により各ノードと通信を行
うことができる。クライアントは、容易に、各機器がど
の機器と接続されているかといった情報を得ることがで
きる。トポロジに関し、ネットワークに接続されている
機器に関する情報のみを必要とし、その接続のパターン
に関する情報を必要としないクライアントに対しては、
GUIDリストが供給される。さらに、他のAPIを用
いて、与えられたモジュールIDすなわち、物理的デバ
イスIDを示すデバイス制御モジュールの識別子がトポ
ロジ内で用いられているかどうかが判定される。
にトポロジマップ53を提供する。そのため、クライア
ントがそれぞれバス環境に関する情報を調べる必要がな
い。トポロジマップ53は、トポロジマップをサポート
するプロトコルによって自動的に生成され、あるいは、
トポロジマップの自動生成をサポートしていないプロト
コルを用いる場合は、ユーザによる入力操作の補助によ
り生成される。トポロジマップは、大きく変化すること
があるため、通信媒体マネージャ29は、サービスレジ
ストリ24と同様のイテレータ機能を備えている。この
機能により各クライアントは、ネット内を前進あるいは
後退するだけの単純なAPIを用いて、ネットワークの
接続状態に応じた最適の経路により各ノードと通信を行
うことができる。クライアントは、容易に、各機器がど
の機器と接続されているかといった情報を得ることがで
きる。トポロジに関し、ネットワークに接続されている
機器に関する情報のみを必要とし、その接続のパターン
に関する情報を必要としないクライアントに対しては、
GUIDリストが供給される。さらに、他のAPIを用
いて、与えられたモジュールIDすなわち、物理的デバ
イスIDを示すデバイス制御モジュールの識別子がトポ
ロジ内で用いられているかどうかが判定される。
【0107】通信媒体マネージャ29は、論理的な接続
情報をクライアントに提供する。これは、データフロー
のソースとシンク(sink)を特定する接続モデルであ
る。APIにより、例えば、「与えられたデバイス制御
モジュールのIDをxとし、全ての受信側のデバイス制
御モジュールを呼出側に知らせる」といった要求を行う
ことができる。他の要求モデルとしては、例えばMPE
GやSD等の特定のデータフォーマットを有する現在ア
クティブなストリームに問い合わせを行うようなモデル
を構築することもできる。
情報をクライアントに提供する。これは、データフロー
のソースとシンク(sink)を特定する接続モデルであ
る。APIにより、例えば、「与えられたデバイス制御
モジュールのIDをxとし、全ての受信側のデバイス制
御モジュールを呼出側に知らせる」といった要求を行う
ことができる。他の要求モデルとしては、例えばMPE
GやSD等の特定のデータフォーマットを有する現在ア
クティブなストリームに問い合わせを行うようなモデル
を構築することもできる。
【0108】図6に示すイベントマネージャ23は、1
つの機器が同時に複数の機器と通信を行うモデル(one-
to-many model)に対応している。また、イベントマネ
ージャ23は、基礎的なメッセージングマネージャ22
の上位に設けられている。オブジェクトは、イベントの
要求を登録し、登録されたイベントは、オブジェクトの
コールバックエントリに転送される。例えば、デバイス
ステータスインフォメーションを希望するオブジェクト
は、イベントマネージャ23からこの情報を得るために
特別なコールバックハンドラを登録する。オブジェクト
は、コールバックエントリにイベントフィルタを追加す
ることができ、これにより、不要となったイベントをフ
ィルタリングにより削除することができる。例えば、表
示装置から全てのイベントを入手し、登録したオブジェ
クトは、現在使用していない表示装置に関するイベント
をフィルタリングすることができる。
つの機器が同時に複数の機器と通信を行うモデル(one-
to-many model)に対応している。また、イベントマネ
ージャ23は、基礎的なメッセージングマネージャ22
の上位に設けられている。オブジェクトは、イベントの
要求を登録し、登録されたイベントは、オブジェクトの
コールバックエントリに転送される。例えば、デバイス
ステータスインフォメーションを希望するオブジェクト
は、イベントマネージャ23からこの情報を得るために
特別なコールバックハンドラを登録する。オブジェクト
は、コールバックエントリにイベントフィルタを追加す
ることができ、これにより、不要となったイベントをフ
ィルタリングにより削除することができる。例えば、表
示装置から全てのイベントを入手し、登録したオブジェ
クトは、現在使用していない表示装置に関するイベント
をフィルタリングすることができる。
【0109】イベントの発生は、メッセージングマネー
ジャ22によりネットワークに通報され、そのイベント
を希望することを登録した全てのオブジェクトにイベン
トが転送される。このような処理を行うためには、オブ
ジェクトは、そのオブジェクトが属するローカルネット
ワークのイベントマネージャ23にイベントの希望を登
録する必要がある。メッセージングマネージャ22は、
現在既知である全てのイベントマネージャ23にイベン
トを転送し、これにより各ローカルネットワークのオブ
ジェクトは、イベントの発生を通知される。イベントマ
ネージャ23にフィルタを設けてもよく、オブジェクト
がこのフィルタを用いて到着したイベントをフィルタリ
ングすることができる。すなわち、これにより、オブジ
ェクトがイベントを希望する場合の柔軟性が高まり、さ
らに使用するイベントを限定することができる。例え
ば、フィルタは、イベントYが発生した後にのみイベン
トXが必要になる場合等の特別な状況で利用することが
できる。イベントマネージャ23は、フィルタを管理
し、アプリケーションとデバイス制御モジュールに有効
なフィルタリングチェインを提供するAPIを生成す
る。
ジャ22によりネットワークに通報され、そのイベント
を希望することを登録した全てのオブジェクトにイベン
トが転送される。このような処理を行うためには、オブ
ジェクトは、そのオブジェクトが属するローカルネット
ワークのイベントマネージャ23にイベントの希望を登
録する必要がある。メッセージングマネージャ22は、
現在既知である全てのイベントマネージャ23にイベン
トを転送し、これにより各ローカルネットワークのオブ
ジェクトは、イベントの発生を通知される。イベントマ
ネージャ23にフィルタを設けてもよく、オブジェクト
がこのフィルタを用いて到着したイベントをフィルタリ
ングすることができる。すなわち、これにより、オブジ
ェクトがイベントを希望する場合の柔軟性が高まり、さ
らに使用するイベントを限定することができる。例え
ば、フィルタは、イベントYが発生した後にのみイベン
トXが必要になる場合等の特別な状況で利用することが
できる。イベントマネージャ23は、フィルタを管理
し、アプリケーションとデバイス制御モジュールに有効
なフィルタリングチェインを提供するAPIを生成す
る。
【0110】図6に示すストリームマネージャ39は、
端末間の(end-to-end)アイソクロノス(ストリーミン
グ)接続を実現するAPIを提供する。この接続は一対
一(point-to-point)であってもよく、複数のソースと
複数のシンクとの間の閉じられていない接続であっても
よい。ストリームマネージャ39の機能は、接続を確立
し、ネットワークリソースの割当を行い、包括的な接続
情報(global connection information)を維持管理
し、プラグの種類のチェック、接合、ブリッジ等の上位
のストリーム処理をサポートすること等である。
端末間の(end-to-end)アイソクロノス(ストリーミン
グ)接続を実現するAPIを提供する。この接続は一対
一(point-to-point)であってもよく、複数のソースと
複数のシンクとの間の閉じられていない接続であっても
よい。ストリームマネージャ39の機能は、接続を確立
し、ネットワークリソースの割当を行い、包括的な接続
情報(global connection information)を維持管理
し、プラグの種類のチェック、接合、ブリッジ等の上位
のストリーム処理をサポートすること等である。
【0111】ストリームマネージャ39は、各FAVノ
ードに設けられている。このインターフェイスは、IE
EE1212ユニットダイレクトリモデルとIEC6
1883−FDISプラグモデルに準拠している。な
お、HAVIでは、ユニットをデバイス(機器)と呼
び、サブユニットを機能コンポーネント(functional c
omponents)と呼んでいる。ここでは、一対一の接続及
び放送型の接続(broadcastconnection)がサポートさ
れている。IEEE1394において、放送型の接続と
は、接続が要求された段階では、ソースもシンクも特定
されていないような接続をいう。ストリームは、転送の
境界線を越えることはなく、ブリッジ装置がストリーム
を他の装置に供給する。ストリームは、機器ではなく機
能コンポーネントにおいて生成され、機能コンポーネン
トで使用される。IEEE1394ネットワークにおい
ては、ストリームマネージャ39は、プラグコントロー
ルレジスタの割付とバス帯域幅の要求を行う。ストリー
ムの種類と、転送の種類及び送信フォーマットのネーミ
ングについては、標準的なネーミング手法が用いられ
る。ストリームの種類及び転送の種類のネーミングの手
法はHAVIで定められており、送信フォーマットは、
IEC1883コモンアイソクロノスパケットで用いら
れるFMT/FDF値である。
ードに設けられている。このインターフェイスは、IE
EE1212ユニットダイレクトリモデルとIEC6
1883−FDISプラグモデルに準拠している。な
お、HAVIでは、ユニットをデバイス(機器)と呼
び、サブユニットを機能コンポーネント(functional c
omponents)と呼んでいる。ここでは、一対一の接続及
び放送型の接続(broadcastconnection)がサポートさ
れている。IEEE1394において、放送型の接続と
は、接続が要求された段階では、ソースもシンクも特定
されていないような接続をいう。ストリームは、転送の
境界線を越えることはなく、ブリッジ装置がストリーム
を他の装置に供給する。ストリームは、機器ではなく機
能コンポーネントにおいて生成され、機能コンポーネン
トで使用される。IEEE1394ネットワークにおい
ては、ストリームマネージャ39は、プラグコントロー
ルレジスタの割付とバス帯域幅の要求を行う。ストリー
ムの種類と、転送の種類及び送信フォーマットのネーミ
ングについては、標準的なネーミング手法が用いられ
る。ストリームの種類及び転送の種類のネーミングの手
法はHAVIで定められており、送信フォーマットは、
IEC1883コモンアイソクロノスパケットで用いら
れるFMT/FDF値である。
【0112】ストリームの種類は、媒体を識別するもの
であり、これは、例えばCDオーディオ、あるいはNT
SC等のように、デジタルデータのデータフォーマッ
ト、あるいはアナログデータの信号フォーマットを示
す。転送の種類は、転送システムを識別するものであ
り、例えばIEEE1394に準拠した接続におけるI
EC1883、あるいは、機器内部の接続を示す「内部
(internal)」等である。送信フォーマットは、転送シ
ステムを介してストリームを送信するために用いられる
送信プロトコルを識別するものである。IEC1883
では、送信フォーマットは、コモンアイソクロノスパケ
ット(CIP)ヘッダのFMT/FDFフィールドに対
応する。
であり、これは、例えばCDオーディオ、あるいはNT
SC等のように、デジタルデータのデータフォーマッ
ト、あるいはアナログデータの信号フォーマットを示
す。転送の種類は、転送システムを識別するものであ
り、例えばIEEE1394に準拠した接続におけるI
EC1883、あるいは、機器内部の接続を示す「内部
(internal)」等である。送信フォーマットは、転送シ
ステムを介してストリームを送信するために用いられる
送信プロトコルを識別するものである。IEC1883
では、送信フォーマットは、コモンアイソクロノスパケ
ット(CIP)ヘッダのFMT/FDFフィールドに対
応する。
【0113】ストリームマネージャ39で処理されるス
トリームは、IEC1883のアイソクロノスデータフ
ローモデルに準拠しているが、以下に示す3つの相違点
を有している。まず第1の相違点は、ストリームはソー
スの数を限定しないという点である。すなわち、転送が
多くの処理により供給される例えばUDPイベントスト
リーム等のような接続形式をサポートするものである場
合、ストリームのソースは複数存在し得る。第2の相違
点は、IEEE1394データフローは、機器の出力端
子から他の機器の入力端子に送信されるが、ストリーム
は、通常、機能コンポーネントの出力端子から、ある機
器の出力端子を経て、さらにある機器の入力端子を介し
て機能コンポーネントの入力端子に供給されるという点
である。第3の相違点は、ストリームがある特定の種類
に分類されるという点である。すなわち、各ストリーム
は、データを特定するある1つのストリームの種類(st
ream type)に属している。
トリームは、IEC1883のアイソクロノスデータフ
ローモデルに準拠しているが、以下に示す3つの相違点
を有している。まず第1の相違点は、ストリームはソー
スの数を限定しないという点である。すなわち、転送が
多くの処理により供給される例えばUDPイベントスト
リーム等のような接続形式をサポートするものである場
合、ストリームのソースは複数存在し得る。第2の相違
点は、IEEE1394データフローは、機器の出力端
子から他の機器の入力端子に送信されるが、ストリーム
は、通常、機能コンポーネントの出力端子から、ある機
器の出力端子を経て、さらにある機器の入力端子を介し
て機能コンポーネントの入力端子に供給されるという点
である。第3の相違点は、ストリームがある特定の種類
に分類されるという点である。すなわち、各ストリーム
は、データを特定するある1つのストリームの種類(st
ream type)に属している。
【0114】ストリームの特性を要約する。まず、第1
に、1つのストリームは、包括的な単一のストリーム識
別子(globally unique stream identifier)を有して
いる。第2に、1つストリームは、単一のチャンネルを
介して配信される。第3に、1ちストリームは、機能コ
ンポーネントの出力プラグと入力プラグとの間で送受す
ることができる。これは、「チャンネルに接続する」と
も言われる。第4に、1つのチャンネルを0又は1若し
くは複数の出力プラグ、及び1又は1若しくは複数の入
力プラグに接続することができる。第5に、1つの入力
プラグは、1又は0のストリームに接続することができ
る。第6に、出力プラグは複数のストリームに接続する
ことができる。例えば、1つの機能コンポーネントの出
力プラグを複数の機器の出力プラグに接続することがで
きる。第7に、出力プラグがなくてもストリームを生成
することは可能でありが、出力プラグを接続するまでス
トリームの送信は行われない。第8に、接続できるプラ
グの最大数は、転送の種類に基づいて決定される。
に、1つのストリームは、包括的な単一のストリーム識
別子(globally unique stream identifier)を有して
いる。第2に、1つストリームは、単一のチャンネルを
介して配信される。第3に、1ちストリームは、機能コ
ンポーネントの出力プラグと入力プラグとの間で送受す
ることができる。これは、「チャンネルに接続する」と
も言われる。第4に、1つのチャンネルを0又は1若し
くは複数の出力プラグ、及び1又は1若しくは複数の入
力プラグに接続することができる。第5に、1つの入力
プラグは、1又は0のストリームに接続することができ
る。第6に、出力プラグは複数のストリームに接続する
ことができる。例えば、1つの機能コンポーネントの出
力プラグを複数の機器の出力プラグに接続することがで
きる。第7に、出力プラグがなくてもストリームを生成
することは可能でありが、出力プラグを接続するまでス
トリームの送信は行われない。第8に、接続できるプラ
グの最大数は、転送の種類に基づいて決定される。
【0115】ストリームは、1組のプラグとみなすこと
もできる。以下に説明する規則は、ある機器内の接続に
適用されるものである。機能コンポーネントの入力プラ
グは、機能コンポーネントの出力プラグ又は機器の入力
プラグのうちの1つのみに接続できる。機能コンポーネ
ントの出力プラグは、機能コンポーネントの入力プラグ
及び/又は機器の出力プラグの複数に接続することがで
きる。機器の出力プラグは、機能コンポーネントの出力
プラグの1つのみに接続できる。機器の入力プラグは、
複数の機能コンポーネントの入力プラグに接続できる。
もできる。以下に説明する規則は、ある機器内の接続に
適用されるものである。機能コンポーネントの入力プラ
グは、機能コンポーネントの出力プラグ又は機器の入力
プラグのうちの1つのみに接続できる。機能コンポーネ
ントの出力プラグは、機能コンポーネントの入力プラグ
及び/又は機器の出力プラグの複数に接続することがで
きる。機器の出力プラグは、機能コンポーネントの出力
プラグの1つのみに接続できる。機器の入力プラグは、
複数の機能コンポーネントの入力プラグに接続できる。
【0116】プラグの組に対してプラグを追加あるいは
削除する手続は3つある。第1の手続は、一対一の手続
(point-to-point procedure)、すなわちConnect(接
続)及びDisconnect(切断)である。第2の手続は、通
報外(broadcast-out)の手続、すなわち、StartBroadc
ast(通報の開始)及びStopBroadcast(通報の終了)で
ある。第3の手続は、通報内(broadcast-in)の手続、
すなわち、Tap(タップ)及びUntap(アンタップ)であ
る。Connectにより、2つのプラグが接続される。例え
ば、ある出力プラグがあるチャンネルに接続され、ある
出力プラグがそのチャンネルに接続される。StartBroad
castは、通報外接続(broadcast-outconnection)、例
えば、ある出力プラグとチャンネルとの接続を行い、そ
の出力プラグがストリームのメンバでない場合、その出
力プラグをストリームに加える。Tapは、通報内接続(b
roadcast-in connection)、例えばチャンネルとある入
力プラグとの接続を行い、その入力プラグがストリーム
のメンバでない場合、その入力プラグをストリームに加
える。Disconnect,StopBroadcast,Untapは、それぞれCo
nnect,StartBroadcast,Tapにより行われた接続の切断に
用いられる。また、Disconnect,StopBroadcast,Untap
は、切り離されたプラグがストーム内の他の接続に使用
されていない場合、そのプラグをストリームのメンバか
ら外す。
削除する手続は3つある。第1の手続は、一対一の手続
(point-to-point procedure)、すなわちConnect(接
続)及びDisconnect(切断)である。第2の手続は、通
報外(broadcast-out)の手続、すなわち、StartBroadc
ast(通報の開始)及びStopBroadcast(通報の終了)で
ある。第3の手続は、通報内(broadcast-in)の手続、
すなわち、Tap(タップ)及びUntap(アンタップ)であ
る。Connectにより、2つのプラグが接続される。例え
ば、ある出力プラグがあるチャンネルに接続され、ある
出力プラグがそのチャンネルに接続される。StartBroad
castは、通報外接続(broadcast-outconnection)、例
えば、ある出力プラグとチャンネルとの接続を行い、そ
の出力プラグがストリームのメンバでない場合、その出
力プラグをストリームに加える。Tapは、通報内接続(b
roadcast-in connection)、例えばチャンネルとある入
力プラグとの接続を行い、その入力プラグがストリーム
のメンバでない場合、その入力プラグをストリームに加
える。Disconnect,StopBroadcast,Untapは、それぞれCo
nnect,StartBroadcast,Tapにより行われた接続の切断に
用いられる。また、Disconnect,StopBroadcast,Untap
は、切り離されたプラグがストーム内の他の接続に使用
されていない場合、そのプラグをストリームのメンバか
ら外す。
【0117】ストリームにより、IEC1883に記述
されている接続のオーバーレイを行うことができる。例
えば、一対一型及び通報型のいずれであるかに関わら
ず、1つのプラグは、ストリームが使用するチャンネル
に対し複数の接続を有することができる。IEC188
3の接続に続いて、ストリームマネージャ39は、プラ
グの一対一接続カウンタ及び通報フラグを調べて、その
プラグをストリームから除外するタイミングを決定しす
る。通報フラグは、そのプラグが通報接続に参加してい
るか否かを示すフラグである。一対一接続カウンタの値
が0であり、通報フラグが偽を示す値である場合、プラ
グはストリームから除外される。ストリームに使用され
る基礎的なネットワークリソースは、ストリームに最初
のプラグが参加した時点で割り当てられ、ストリームか
ら最後のプラグが除外されると、ネットワークリソース
は解放される。あるチャンネルに複数の出力プラグが接
続されている場合、データフローを転送する手法は転送
の種類に基づいて決定され、ストリームマネージャ39
は、全ての入力プラグが同様の方式でデータを受信する
ことを保証するものではない。
されている接続のオーバーレイを行うことができる。例
えば、一対一型及び通報型のいずれであるかに関わら
ず、1つのプラグは、ストリームが使用するチャンネル
に対し複数の接続を有することができる。IEC188
3の接続に続いて、ストリームマネージャ39は、プラ
グの一対一接続カウンタ及び通報フラグを調べて、その
プラグをストリームから除外するタイミングを決定しす
る。通報フラグは、そのプラグが通報接続に参加してい
るか否かを示すフラグである。一対一接続カウンタの値
が0であり、通報フラグが偽を示す値である場合、プラ
グはストリームから除外される。ストリームに使用され
る基礎的なネットワークリソースは、ストリームに最初
のプラグが参加した時点で割り当てられ、ストリームか
ら最後のプラグが除外されると、ネットワークリソース
は解放される。あるチャンネルに複数の出力プラグが接
続されている場合、データフローを転送する手法は転送
の種類に基づいて決定され、ストリームマネージャ39
は、全ての入力プラグが同様の方式でデータを受信する
ことを保証するものではない。
【0118】ストリームマネージャ39は、ホームネッ
トワーク内の全てのストリーム接続のマップを維持管理
する。このマップには、各機器における内部接続及び転
送システム内の外部接続が含まれる。ストリームマネー
ジャ39は、バスリセットによる初期化に応じて包括的
接続マップ(Global Connection Map)を構築し、さら
に、HAVIに対応しないアプリケーションにより新た
な接続が追加あるいは削除された場合、包括的接続マッ
プを再構築する。
トワーク内の全てのストリーム接続のマップを維持管理
する。このマップには、各機器における内部接続及び転
送システム内の外部接続が含まれる。ストリームマネー
ジャ39は、バスリセットによる初期化に応じて包括的
接続マップ(Global Connection Map)を構築し、さら
に、HAVIに対応しないアプリケーションにより新た
な接続が追加あるいは削除された場合、包括的接続マッ
プを再構築する。
【0119】AVネットワークは、ユーザが機器間をど
のように接続するかに基づき、様々なトポロジ構成をと
ることができる。例えば、IEEE1394シリアル通
信バスは、ループ以外のあらゆるトポロジを許容してい
る。図5に示すストリームマネージャ39は、通信媒体
マネージャ29と共同して、ソースから転送先までのデ
ータのルーチングを補助するサービスを提供する。この
ような処理は、複数のノード間で行うこともできる。ソ
ースと転送先がデータの種類による障壁により隔離され
ている場合、すなわちソースと転送先でそれぞれ扱われ
るデータの種類が違う場合、データフォーマットマネー
ジャとサービスレジストリ24の協力により自動的に、
あるいは要求によりデータトランザクションサービスが
処理される。ある種のルーチングは、基礎となるバスア
ーキテクチャの能力に基づいて、自動的に実行される。
例えば、IEEE1394シリアル通信バスのトポロジ
は、詳細に定義することができ、これによりIEEE1
394シリアル通信バスに接続された機器間の直接的な
ルーチングを実行することができる。一方、他の接続機
構においては、ルーチングにユーザの協力が必要となる
こともある。この場合、例えば、ユーザが標準的な接続
を行うようユーザをアシストしたり、あるいは各機器が
どのように接続されているかを制御ソフトウェアに知ら
せるための操作をユーザに行わせる必要がある。
のように接続するかに基づき、様々なトポロジ構成をと
ることができる。例えば、IEEE1394シリアル通
信バスは、ループ以外のあらゆるトポロジを許容してい
る。図5に示すストリームマネージャ39は、通信媒体
マネージャ29と共同して、ソースから転送先までのデ
ータのルーチングを補助するサービスを提供する。この
ような処理は、複数のノード間で行うこともできる。ソ
ースと転送先がデータの種類による障壁により隔離され
ている場合、すなわちソースと転送先でそれぞれ扱われ
るデータの種類が違う場合、データフォーマットマネー
ジャとサービスレジストリ24の協力により自動的に、
あるいは要求によりデータトランザクションサービスが
処理される。ある種のルーチングは、基礎となるバスア
ーキテクチャの能力に基づいて、自動的に実行される。
例えば、IEEE1394シリアル通信バスのトポロジ
は、詳細に定義することができ、これによりIEEE1
394シリアル通信バスに接続された機器間の直接的な
ルーチングを実行することができる。一方、他の接続機
構においては、ルーチングにユーザの協力が必要となる
こともある。この場合、例えば、ユーザが標準的な接続
を行うようユーザをアシストしたり、あるいは各機器が
どのように接続されているかを制御ソフトウェアに知ら
せるための操作をユーザに行わせる必要がある。
【0120】IEEE1394テクノロジにおいて最も
重要な属性の1つにアイソクロノスデータフローがあ
る。このアイソクロノスデータフローの実現のために、
ストリームマネージャ39が提供する追加の機能には、
バッファの割当及び管理等がある。バッファの管理に
は、クライアントに対して、いつデータが利用でき、処
理できるかといった情報を知らせるための一貫した通知
メカニズムも含まれる。アイソクロノスデータがクライ
アントに供給されている間、様々なバッファメモリにデ
ータがバッファリングされる。各メモリバッファがデー
タで満たされると、クライアントは、その時点以降にデ
ータ取得処理をハンドリングするために必要な情報を要
求する。
重要な属性の1つにアイソクロノスデータフローがあ
る。このアイソクロノスデータフローの実現のために、
ストリームマネージャ39が提供する追加の機能には、
バッファの割当及び管理等がある。バッファの管理に
は、クライアントに対して、いつデータが利用でき、処
理できるかといった情報を知らせるための一貫した通知
メカニズムも含まれる。アイソクロノスデータがクライ
アントに供給されている間、様々なバッファメモリにデ
ータがバッファリングされる。各メモリバッファがデー
タで満たされると、クライアントは、その時点以降にデ
ータ取得処理をハンドリングするために必要な情報を要
求する。
【0121】捕捉されたデータが最適化されるようにメ
モリを分割する適切な機能をクライアントに設けること
により、バッファの管理をさらに容易に行うことができ
る。例えば、クライアントは、メモリ内の比較的大きな
スペースをビデオデータのバッファリングに割り当てる
ことができる。また、このメモリスペースを走査線毎
に、あるいはフレーム毎に分割してもよく、これにより
クライアントは、通知毎に1本の走査線に完全に対応す
るデータ、あるいは1枚のフレームに完全に対応するデ
ータを受け取ることができる。音声のウェーブデータ、
あるいはMIDIデータ等は、それぞれ異なる最適なセ
グメントサイズを有している。このようなサービスを行
うには、ルートやデータフォーマットマネージャ及び様
々なサービスモジュール間を閉じるクローズ処理が必要
である。
モリを分割する適切な機能をクライアントに設けること
により、バッファの管理をさらに容易に行うことができ
る。例えば、クライアントは、メモリ内の比較的大きな
スペースをビデオデータのバッファリングに割り当てる
ことができる。また、このメモリスペースを走査線毎
に、あるいはフレーム毎に分割してもよく、これにより
クライアントは、通知毎に1本の走査線に完全に対応す
るデータ、あるいは1枚のフレームに完全に対応するデ
ータを受け取ることができる。音声のウェーブデータ、
あるいはMIDIデータ等は、それぞれ異なる最適なセ
グメントサイズを有している。このようなサービスを行
うには、ルートやデータフォーマットマネージャ及び様
々なサービスモジュール間を閉じるクローズ処理が必要
である。
【0122】図10及び図11は、データフローのセッ
トアップの手順を示すフローチャートである。クライア
ントが2つの機器の接続を望む場合、クライアントは、
ステップS1において、接続する機器内のデバイス制御
モジュール間に外部接続を確立する。クライアントは、
他方の機器のデバイス制御モジュールのモジュールID
をパラメータとして渡す。呼び出されたデバイス制御モ
ジュールは、ステップS2において、接続の確立に利用
するためにストリームマネージャ39を呼び出す。この
デバイス制御モジュールは、転送元(ソース)と転送先
(デスティネーション)の両方のデバイス制御モジュー
ルIDをパラメータとして渡す。ステップS3におい
て、ストリームマネージャ39は、転送元と転送先のI
Dを分析し、それらが異なるノードに存在することを知
る。このステップは、DFMを呼び出す前に他のエンテ
ィティにより実行するようにしてもよい。ステップS4
において、ストリームマネージャ39は、通信媒体マネ
ージャ29に対して、ネットワークのトポロジマップ5
3における転送元ノードに関する情報を問い合わせる。
ステップS5において、ストリームマネージャ39は、
トポロジマップ53を分析し、転送先ノードを検索す
る。
トアップの手順を示すフローチャートである。クライア
ントが2つの機器の接続を望む場合、クライアントは、
ステップS1において、接続する機器内のデバイス制御
モジュール間に外部接続を確立する。クライアントは、
他方の機器のデバイス制御モジュールのモジュールID
をパラメータとして渡す。呼び出されたデバイス制御モ
ジュールは、ステップS2において、接続の確立に利用
するためにストリームマネージャ39を呼び出す。この
デバイス制御モジュールは、転送元(ソース)と転送先
(デスティネーション)の両方のデバイス制御モジュー
ルIDをパラメータとして渡す。ステップS3におい
て、ストリームマネージャ39は、転送元と転送先のI
Dを分析し、それらが異なるノードに存在することを知
る。このステップは、DFMを呼び出す前に他のエンテ
ィティにより実行するようにしてもよい。ステップS4
において、ストリームマネージャ39は、通信媒体マネ
ージャ29に対して、ネットワークのトポロジマップ5
3における転送元ノードに関する情報を問い合わせる。
ステップS5において、ストリームマネージャ39は、
トポロジマップ53を分析し、転送先ノードを検索す
る。
【0123】ステップS6において、転送先ノードがト
ポロジマップ内に発見された場合、転送プロトコルを変
換する必要はなく、処理は、ステップS8に進む。ここ
で、転送先ノードがトポロジマップ内にない場合、処理
は、図10に示すステップS7を経由して図11に示す
ステップS13に進み、ストリームマネージャ39はサ
ービスレジストリ24に転送先IDを有するモジュール
を問い合わせ、その転送プロトコルの属性を示すtransm
ission_protocol属性を確認する。あるいは、ここでス
トリームマネージャ39は、そのモジュール又はノード
のバスマネージャIDを得るようにしてもよい。ステッ
プS14において、ストリームマネージャ39は、転送
プロトコルサービスモジュールを検出し、プロトコル変
換処理を行う。さらに、複数の転送プロトコルをブリッ
ジする必要がある場合には、処理はステップS15から
ステップS13に戻り、上述の手順が繰り返される。一
方、必要なプロトコル変換処理が終了すると、処理はス
テップS15から、図10に示すステップS8に進む。
ポロジマップ内に発見された場合、転送プロトコルを変
換する必要はなく、処理は、ステップS8に進む。ここ
で、転送先ノードがトポロジマップ内にない場合、処理
は、図10に示すステップS7を経由して図11に示す
ステップS13に進み、ストリームマネージャ39はサ
ービスレジストリ24に転送先IDを有するモジュール
を問い合わせ、その転送プロトコルの属性を示すtransm
ission_protocol属性を確認する。あるいは、ここでス
トリームマネージャ39は、そのモジュール又はノード
のバスマネージャIDを得るようにしてもよい。ステッ
プS14において、ストリームマネージャ39は、転送
プロトコルサービスモジュールを検出し、プロトコル変
換処理を行う。さらに、複数の転送プロトコルをブリッ
ジする必要がある場合には、処理はステップS15から
ステップS13に戻り、上述の手順が繰り返される。一
方、必要なプロトコル変換処理が終了すると、処理はス
テップS15から、図10に示すステップS8に進む。
【0124】ステップS8において、ストリームマネー
ジャ39は、最適な転送経路を求めるために接続パスを
分析する。最適な転送経路を確定できない場合、ストリ
ームマネージャ39は、最良と推測される転送経路を選
出する。最適な転送経路は、転送元から転送先に至る、
ネットワーク内及びネットワークの境界を越えたあらゆ
る経路のパターンの中から選ばれる。IEEE1394
シリアル通信バス等のダイナミックバスにおいては、全
ての必要な接続が行われる。ステップS9において、ス
トリームマネージャ39は、転送元及び転送先の入力デ
ータのフォーマットを分析する。そして、ステップS1
0において、ストリームマネージャ39は、転送元の入
力データのフォーマットと転送先の入力データのフォー
マットが異なるものであるか、すなわち変換が必要であ
るか否かを判断する。ここでフォーマットの変換の必要
がないと判断された場合、手順はステップS12に進み
データフローのルーチング処理が完了する。
ジャ39は、最適な転送経路を求めるために接続パスを
分析する。最適な転送経路を確定できない場合、ストリ
ームマネージャ39は、最良と推測される転送経路を選
出する。最適な転送経路は、転送元から転送先に至る、
ネットワーク内及びネットワークの境界を越えたあらゆ
る経路のパターンの中から選ばれる。IEEE1394
シリアル通信バス等のダイナミックバスにおいては、全
ての必要な接続が行われる。ステップS9において、ス
トリームマネージャ39は、転送元及び転送先の入力デ
ータのフォーマットを分析する。そして、ステップS1
0において、ストリームマネージャ39は、転送元の入
力データのフォーマットと転送先の入力データのフォー
マットが異なるものであるか、すなわち変換が必要であ
るか否かを判断する。ここでフォーマットの変換の必要
がないと判断された場合、手順はステップS12に進み
データフローのルーチング処理が完了する。
【0125】ステップS10において、フォーマットの
変換が必要であると判断された場合、ストリームマネー
ジャ39は、転送元のデータと転送先のデータに基づい
て適切なフォーマットコンバータをサービスレジストリ
24から入手し、必要なフォーマット変換処理を行う。
なお、データの変換においては、複数のコンバータを連
続して用いて所望のフォーマットのデータを得るように
してもよい。この変換処理が終了すると手順はステップ
S12に進み、データフローのルーチング処理が完了す
る。
変換が必要であると判断された場合、ストリームマネー
ジャ39は、転送元のデータと転送先のデータに基づい
て適切なフォーマットコンバータをサービスレジストリ
24から入手し、必要なフォーマット変換処理を行う。
なお、データの変換においては、複数のコンバータを連
続して用いて所望のフォーマットのデータを得るように
してもよい。この変換処理が終了すると手順はステップ
S12に進み、データフローのルーチング処理が完了す
る。
【0126】図6に示すサービスレジストリ24は、ネ
ットワーク内の機器の位置を特定する機能と、HAVI
ネットワーク内で利用可能なサービスを提供する機能を
有している。全ての機器及び全てのサービスは、オブジ
ェクトとして示されるので、サービスレジストリ24に
より全てのオブジェクトはネットワーク内で自分自身の
存在を示すことができる。サービスレジストリ24は、
通常、FAV内に設けられており、ローカルサービスオ
ブジェクトと、リモートサービスオブジェクトと、ロー
カル機器と、リモート機器に関する情報を有している。
サービスレジストリ24は、APIを提供し、このAP
Iによりオブジェクトは、自らの固有の識別子と、オブ
ジェクト名と、1組の属性を登録できる。この属性は、
接続点に関する情報を含み、各オブジェクトの特性を定
義するものである。あるオブジェクトが特定のサービス
オブジェクト又はデバイスオブジェクトと通信を行う必
要が生じた場合、オブジェクトはサービスレジストリ2
4に必要なデバイス制御モジュールを要求する。
ットワーク内の機器の位置を特定する機能と、HAVI
ネットワーク内で利用可能なサービスを提供する機能を
有している。全ての機器及び全てのサービスは、オブジ
ェクトとして示されるので、サービスレジストリ24に
より全てのオブジェクトはネットワーク内で自分自身の
存在を示すことができる。サービスレジストリ24は、
通常、FAV内に設けられており、ローカルサービスオ
ブジェクトと、リモートサービスオブジェクトと、ロー
カル機器と、リモート機器に関する情報を有している。
サービスレジストリ24は、APIを提供し、このAP
Iによりオブジェクトは、自らの固有の識別子と、オブ
ジェクト名と、1組の属性を登録できる。この属性は、
接続点に関する情報を含み、各オブジェクトの特性を定
義するものである。あるオブジェクトが特定のサービス
オブジェクト又はデバイスオブジェクトと通信を行う必
要が生じた場合、オブジェクトはサービスレジストリ2
4に必要なデバイス制御モジュールを要求する。
【0127】オブジェクトの属性は、常に一定である場
合もあり、随時変化する場合もあり、さらに必要に応じ
て変更される場合もある。属性の照会は、必要な属性の
組を特定することにより実行され、これにより要求され
た属性を有するオブジェクトのリストが返される。この
とき、照会の結果得られた識別子は、有効なものである
とは限らない。識別子が無効となる2つの場合が想定で
きる。第1に、以前にサービスレジストリ24に登録さ
れた機器が、既にネットワークから削除されている場合
がある。実際にネットワークから機器が削除された後、
その登録がサービスレジストリ24から消去されるまで
の間に照会が行われてしまうと、照会の結果得られた識
別子が無効になる。第2に、照会により返された識別子
の組が一定期間あるオブジェクト内に格納される場合が
ある。返された識別子を使用するときには、既に対応す
るサービスがレジストリから削除されている場合、識別
子は無効なものとなっていしまう。
合もあり、随時変化する場合もあり、さらに必要に応じ
て変更される場合もある。属性の照会は、必要な属性の
組を特定することにより実行され、これにより要求され
た属性を有するオブジェクトのリストが返される。この
とき、照会の結果得られた識別子は、有効なものである
とは限らない。識別子が無効となる2つの場合が想定で
きる。第1に、以前にサービスレジストリ24に登録さ
れた機器が、既にネットワークから削除されている場合
がある。実際にネットワークから機器が削除された後、
その登録がサービスレジストリ24から消去されるまで
の間に照会が行われてしまうと、照会の結果得られた識
別子が無効になる。第2に、照会により返された識別子
の組が一定期間あるオブジェクト内に格納される場合が
ある。返された識別子を使用するときには、既に対応す
るサービスがレジストリから削除されている場合、識別
子は無効なものとなっていしまう。
【0128】サービスレジストリ24は、サービスの配
信を司る。サービスレジストリ24内に登録された全て
のオブジェクトは、HAVIネットワーク内の他のサー
ビスレジストリ24に登録された全てのオブジェクトに
アクセスすることができる。各サービスレジストリ24
は、他のサービスレジストリ24と連携し、必要に応じ
てエントリを複製し、あるいは利用可能な状態にする。
しかしながら、ネットワークの性能とリソースの制限が
あるため、ネットワークのシステムによっては、あるサ
ービスレジストリ24に登録されたアイテムが他のレジ
ストリに示されないこともある。すなわち、ローカルの
サービスレジストリ24に照会を行った場合、全体の情
報の内、ローカルレジストリに関する情報のみが返され
ることもある。なお、ローカルレジストリに照会を行う
際、システム全体に関する照会が確実に行われるような
指定を行うこともできる。
信を司る。サービスレジストリ24内に登録された全て
のオブジェクトは、HAVIネットワーク内の他のサー
ビスレジストリ24に登録された全てのオブジェクトに
アクセスすることができる。各サービスレジストリ24
は、他のサービスレジストリ24と連携し、必要に応じ
てエントリを複製し、あるいは利用可能な状態にする。
しかしながら、ネットワークの性能とリソースの制限が
あるため、ネットワークのシステムによっては、あるサ
ービスレジストリ24に登録されたアイテムが他のレジ
ストリに示されないこともある。すなわち、ローカルの
サービスレジストリ24に照会を行った場合、全体の情
報の内、ローカルレジストリに関する情報のみが返され
ることもある。なお、ローカルレジストリに照会を行う
際、システム全体に関する照会が確実に行われるような
指定を行うこともできる。
【0129】サービスレジストリ24に対する照会によ
りメッセージ通信の相手先として使用可能なオブジェク
トの識別子が返される。これらの識別子は、デバイス制
御モジュール27を示すこともあり、サービスを示すこ
ともあり、その他メッセージングシステムを介してアク
セス可能な様々なエンティティを示している場合もあ
る。照会のフォーマットは、システム全体のレジストリ
を詳細に記述する高度なものであってもよく、ローカル
レジストリのみに関する比較的単純なものであってもよ
い。
りメッセージ通信の相手先として使用可能なオブジェク
トの識別子が返される。これらの識別子は、デバイス制
御モジュール27を示すこともあり、サービスを示すこ
ともあり、その他メッセージングシステムを介してアク
セス可能な様々なエンティティを示している場合もあ
る。照会のフォーマットは、システム全体のレジストリ
を詳細に記述する高度なものであってもよく、ローカル
レジストリのみに関する比較的単純なものであってもよ
い。
【0130】図5に示すメッセージングマネージャ22
は、4種類の異なるメッセージの配信をサポートする高
度なメッセージングサービスを提供する。
は、4種類の異なるメッセージの配信をサポートする高
度なメッセージングサービスを提供する。
【0131】第1のメッセージはコマンドであり、コマ
ンドはシステム内のオブジェクト間で送受され、オブジ
ェクトの機能を制御するものである。この種のメッセー
ジの転送先が機器である場合、メッセージは、実際に機
器を制御するメッセージを含み、デバイス制御モジュー
ル27から送信される。
ンドはシステム内のオブジェクト間で送受され、オブジ
ェクトの機能を制御するものである。この種のメッセー
ジの転送先が機器である場合、メッセージは、実際に機
器を制御するメッセージを含み、デバイス制御モジュー
ル27から送信される。
【0132】第2のメッセージはイベントである。イベ
ントは、非同期通信において様々な目的で送受されるも
のであり、機器及びサービスモジュールがこの種のメッ
セージを使用する。メッセージングマネージャ22は、
イベントを配信するために使用されるが、イベントの制
御は、イベントマネージャ23によって行われ、イベン
トマネージャ23は、放送型の通信機能を用いて、イベ
ントを要求元に送信する。
ントは、非同期通信において様々な目的で送受されるも
のであり、機器及びサービスモジュールがこの種のメッ
セージを使用する。メッセージングマネージャ22は、
イベントを配信するために使用されるが、イベントの制
御は、イベントマネージャ23によって行われ、イベン
トマネージャ23は、放送型の通信機能を用いて、イベ
ントを要求元に送信する。
【0133】第3のメッセージはエラーである。エラー
は、エラーが発生したコマンドの送信元に送られ通知さ
れるという点を除けば、基本的にイベントと同様の性質
を有するものである。
は、エラーが発生したコマンドの送信元に送られ通知さ
れるという点を除けば、基本的にイベントと同様の性質
を有するものである。
【0134】第4のメッセージはステータスである。こ
のメッセージは、照会に対する応答として用いられる。
のメッセージは、照会に対する応答として用いられる。
【0135】メッセージングマネージャ22は、非同期
データ通信及びアイソクロナスデータ通信のいずれのモ
ードにも対応する。メッセージングマネージャ22は、
少なくとも、メッセージのレベルに応じて、相互動作を
実現できる機能を有している。メッセージのレベルに
は、例えば識別子のフォーマット、メッセージ識別子の
フォーマット、メッセージのフォーマット等が含まれ
る。
データ通信及びアイソクロナスデータ通信のいずれのモ
ードにも対応する。メッセージングマネージャ22は、
少なくとも、メッセージのレベルに応じて、相互動作を
実現できる機能を有している。メッセージのレベルに
は、例えば識別子のフォーマット、メッセージ識別子の
フォーマット、メッセージのフォーマット等が含まれ
る。
【0136】以下、メッセージングマネージャ22の具
体例について説明する。ローカル識別子は、56ビット
のデータであり、特定のホストに対して固有のものであ
ることが保証されているものである。ネットワーク識別
子は、128ビットのデータであり、64ビットのノー
ド識別子と、8ビットのノードタイプと、56ビットの
ローカル識別子からなる。リモートメッセージの一般的
なフォーマットは、4×8のフィールドとそれに続くパ
ラメータブロックにより構成される。これは、メッセー
ジペイロードとも呼ばれる。ローカルメッセージをサポ
ートする手法は、適用例によって様々であるが、ここで
必要なことは、ローカル識別子がメッセージペイロード
の配信に確実に利用できるものであるということであ
る。リモートメッセージングにおいては、メッセージペ
イロードは、ネットワークメッセージに編入される。ネ
ットワークメッセージのフォーマットは、ヘッダとメッ
セージペイロードからなる。ネットワークメッセージの
ヘッダは、96ビットのデータであり、6ビットの予備
フィールドと、2ビットのパケットタイプと、56ビッ
トのローカル識別子と、32ビットのメッセージ識別子
からなる。実際の転送メカニズムに基づいて、このリモ
ートメッセージパケットは、例えばIP、あるいはIE
EE1394等の転送メカニズムにそれぞれ特有の転送
メッセージの形式に変換される。
体例について説明する。ローカル識別子は、56ビット
のデータであり、特定のホストに対して固有のものであ
ることが保証されているものである。ネットワーク識別
子は、128ビットのデータであり、64ビットのノー
ド識別子と、8ビットのノードタイプと、56ビットの
ローカル識別子からなる。リモートメッセージの一般的
なフォーマットは、4×8のフィールドとそれに続くパ
ラメータブロックにより構成される。これは、メッセー
ジペイロードとも呼ばれる。ローカルメッセージをサポ
ートする手法は、適用例によって様々であるが、ここで
必要なことは、ローカル識別子がメッセージペイロード
の配信に確実に利用できるものであるということであ
る。リモートメッセージングにおいては、メッセージペ
イロードは、ネットワークメッセージに編入される。ネ
ットワークメッセージのフォーマットは、ヘッダとメッ
セージペイロードからなる。ネットワークメッセージの
ヘッダは、96ビットのデータであり、6ビットの予備
フィールドと、2ビットのパケットタイプと、56ビッ
トのローカル識別子と、32ビットのメッセージ識別子
からなる。実際の転送メカニズムに基づいて、このリモ
ートメッセージパケットは、例えばIP、あるいはIE
EE1394等の転送メカニズムにそれぞれ特有の転送
メッセージの形式に変換される。
【0137】図5に示す初期化マネージャ21は、IA
Vノード、又はFAVノードを初期状態に戻すために用
いられる。例えばノードがIAVノードである場合、初
期化マネージャ21は、メッセージングマネージャ22
と、イベントマネージャ23と、サービスレジストリ2
4とを初期化する。ノードがFAVノードである場合、
初期化マネージャ21は、さらに、デバイスマネージャ
30と以前にロードした全てのサービスを初期化する初
期化ルーチンを呼び出す。
Vノード、又はFAVノードを初期状態に戻すために用
いられる。例えばノードがIAVノードである場合、初
期化マネージャ21は、メッセージングマネージャ22
と、イベントマネージャ23と、サービスレジストリ2
4とを初期化する。ノードがFAVノードである場合、
初期化マネージャ21は、さらに、デバイスマネージャ
30と以前にロードした全てのサービスを初期化する初
期化ルーチンを呼び出す。
【0138】図6に示すアプリケーションプログラム層
26は、メッセージングマネージャ22を代理し、これ
によりアプリケーションはAVアーキテクチャ内のサー
ビスや機器にアクセスできる。アプリケーションプログ
ラム層26は、AVネットワークのコンポーネントであ
る必要はなく、任意のアプリケーションを動作させるた
めにAVネットワークと連携して機能するものであって
もよい。アプリケーションオブジェクトを提供するメカ
ニズムは、アプリケーションのネットワークにおける位
置及びアプリケーションの使用環境に基づいて決定され
る。アプリケーションは、HAVIネットワークのイン
テリジェント機器(FAV)内に存在する、または参照
される外部サービスからダウンロードするようにしても
よい。
26は、メッセージングマネージャ22を代理し、これ
によりアプリケーションはAVアーキテクチャ内のサー
ビスや機器にアクセスできる。アプリケーションプログ
ラム層26は、AVネットワークのコンポーネントであ
る必要はなく、任意のアプリケーションを動作させるた
めにAVネットワークと連携して機能するものであって
もよい。アプリケーションオブジェクトを提供するメカ
ニズムは、アプリケーションのネットワークにおける位
置及びアプリケーションの使用環境に基づいて決定され
る。アプリケーションは、HAVIネットワークのイン
テリジェント機器(FAV)内に存在する、または参照
される外部サービスからダウンロードするようにしても
よい。
【0139】アプリケーションは、3つの種類に分類さ
れる。第1のアプリケーションは、FAVノード上で自
律的に動作するローカルアプリケーションである。この
種のアプリケーションは、オペレーションシステムを備
え、FAVノードとしての特性を有している。このアプ
リケーションは、AVアーキテクチャの外部に形成さ
れ、アプリケーションインターフェイスを用いてAVア
ーキテクチャのサービスにアクセスする。このアクセス
の手法はシステムに基づいて決定されるが、アプリケー
ションにライブラリリンクを設けることが通常の手法で
ある。
れる。第1のアプリケーションは、FAVノード上で自
律的に動作するローカルアプリケーションである。この
種のアプリケーションは、オペレーションシステムを備
え、FAVノードとしての特性を有している。このアプ
リケーションは、AVアーキテクチャの外部に形成さ
れ、アプリケーションインターフェイスを用いてAVア
ーキテクチャのサービスにアクセスする。このアクセス
の手法はシステムに基づいて決定されるが、アプリケー
ションにライブラリリンクを設けることが通常の手法で
ある。
【0140】第2のアプリケーションは、FAVノード
上で動作し、言語実行時の相互運用性(interoperabili
ty language run-time)を有するローカルアプリケーシ
ョンである。この場合、AVアーキテクチャは、レベル
2の相互運用性をサポートするために、ニュートラルな
実行時アーキテクチャを利用する。このランタイムによ
れば、そのランタイム上でホストとなるようプログラミ
ングされた任意のアプリケーションをサポートすること
もできる。このようなアプリケーションは、AVアーキ
テクチャにより管理され、ランタイム提供された呼出メ
カニズムによりAVサービスにアクセスできる。
上で動作し、言語実行時の相互運用性(interoperabili
ty language run-time)を有するローカルアプリケーシ
ョンである。この場合、AVアーキテクチャは、レベル
2の相互運用性をサポートするために、ニュートラルな
実行時アーキテクチャを利用する。このランタイムによ
れば、そのランタイム上でホストとなるようプログラミ
ングされた任意のアプリケーションをサポートすること
もできる。このようなアプリケーションは、AVアーキ
テクチャにより管理され、ランタイム提供された呼出メ
カニズムによりAVサービスにアクセスできる。
【0141】第3のアプリケーションは、リモートアプ
リケーションである。リモートアプリケーションは、例
えば家庭用パーソナルコンピュータ等のホームネットワ
ーク内の機器上で実行される。このようなアプリケーシ
ョンはAVアーキテクチャへのアクセスを必要とし、シ
ステムの基礎的なメッセージパッシングモデルを利用し
てAVアーキテクチャにアクセスする。すなわち、その
リモートアプリケーションのホストノード上にメッセー
ジングを行うための環境が部分的に実現されている必要
がある。
リケーションである。リモートアプリケーションは、例
えば家庭用パーソナルコンピュータ等のホームネットワ
ーク内の機器上で実行される。このようなアプリケーシ
ョンはAVアーキテクチャへのアクセスを必要とし、シ
ステムの基礎的なメッセージパッシングモデルを利用し
てAVアーキテクチャにアクセスする。すなわち、その
リモートアプリケーションのホストノード上にメッセー
ジングを行うための環境が部分的に実現されている必要
がある。
【0142】図5に示すグラフィックマネージャ25
は、機器に設けられたユーザインターフェイスを管理す
るハイレベルAPIを提供する。グラフィックマネージ
ャ25の基本的な機能は、有効なグラフィックAPIを
提供するユーザインターフェイスをサポートすることで
ある。ローレベルAPIは、通常、グラフィック表示装
置に近接して設けられており、ハイレベルAPIはロー
レベルAPIを利用してユーザインターフェイスを提供
及びサポートする。
は、機器に設けられたユーザインターフェイスを管理す
るハイレベルAPIを提供する。グラフィックマネージ
ャ25の基本的な機能は、有効なグラフィックAPIを
提供するユーザインターフェイスをサポートすることで
ある。ローレベルAPIは、通常、グラフィック表示装
置に近接して設けられており、ハイレベルAPIはロー
レベルAPIを利用してユーザインターフェイスを提供
及びサポートする。
【0143】図12は、HAVI通信アーキテクチャの
一部のダイアグラム33bを示す図であり、この図12
には、アプリケーションプログラム層26と、特定の電
子機器、例えばVTR7を制御するデバイス制御モジュ
ール27と、リンクドライバ37と、IEEE1394
シリアル通信バス9に接続されたVTR7と、スピード
マップ52及びトポロジマップ53が示されている。H
AVIアーキテクチャ全体における通信媒体マネージャ
29とリンクドライバ37の位置については、図4に示
すとおりである。
一部のダイアグラム33bを示す図であり、この図12
には、アプリケーションプログラム層26と、特定の電
子機器、例えばVTR7を制御するデバイス制御モジュ
ール27と、リンクドライバ37と、IEEE1394
シリアル通信バス9に接続されたVTR7と、スピード
マップ52及びトポロジマップ53が示されている。H
AVIアーキテクチャ全体における通信媒体マネージャ
29とリンクドライバ37の位置については、図4に示
すとおりである。
【0144】上述のとおり、本発明によれば、例えばア
プリケーションプログラム層26等の上位のソフトウェ
アプログラムは、永続的な識別子を用いて機器を認識す
ることができる。すなわち、各機器には、複数ビットで
示される永続的なGUIDが付される。このGUID
に、製造業者を識別するデータやチップの型番を示すデ
ータ等を含ませることもできる。GUIDは、例えば6
4ビットのデータとして実現される。図12は、アプリ
ケーションプログラム層26がVTR7にコマンドを送
信し、所望の動作、この場合VTR7内の媒体からデー
タを再生させる再生動作を実行させる場合の、通信パス
の具体例を示す図である。
プリケーションプログラム層26等の上位のソフトウェ
アプログラムは、永続的な識別子を用いて機器を認識す
ることができる。すなわち、各機器には、複数ビットで
示される永続的なGUIDが付される。このGUID
に、製造業者を識別するデータやチップの型番を示すデ
ータ等を含ませることもできる。GUIDは、例えば6
4ビットのデータとして実現される。図12は、アプリ
ケーションプログラム層26がVTR7にコマンドを送
信し、所望の動作、この場合VTR7内の媒体からデー
タを再生させる再生動作を実行させる場合の、通信パス
の具体例を示す図である。
【0145】アプリケーションプログラム層26から送
信される初期コマンドには、デバイス制御モジュール2
7における抽象的なオブジェクト名、例えば「VTR」
と、実行されるべき処理、例えば「再生」といった情報
が含まれる。
信される初期コマンドには、デバイス制御モジュール2
7における抽象的なオブジェクト名、例えば「VTR」
と、実行されるべき処理、例えば「再生」といった情報
が含まれる。
【0146】デバイス制御モジュール27は、オブジェ
クト名、この例では「VTR」をVTR7に対応するG
UIDに変換し、処理「再生」とGUIDを含むコマン
ドを通信媒体マネージャ29に送信する。通信媒体マネ
ージャ29は、GUIDリスト51を有している。GU
IDリスト51は、各機器の物理IDとGUIDとを関
連づけるリストである。すなわち、GUIDリスト51
により物理IDを対応するGUIDに変換し、あるいは
GUIDを対応する物理IDに変換することができる。
リンクドライバ37は、バスリセットイベントが発生す
る毎にこのGUIDリスト51を更新する。
クト名、この例では「VTR」をVTR7に対応するG
UIDに変換し、処理「再生」とGUIDを含むコマン
ドを通信媒体マネージャ29に送信する。通信媒体マネ
ージャ29は、GUIDリスト51を有している。GU
IDリスト51は、各機器の物理IDとGUIDとを関
連づけるリストである。すなわち、GUIDリスト51
により物理IDを対応するGUIDに変換し、あるいは
GUIDを対応する物理IDに変換することができる。
リンクドライバ37は、バスリセットイベントが発生す
る毎にこのGUIDリスト51を更新する。
【0147】通信媒体マネージャ29は、GUIDリス
ト51を用いて、デバイス制御モジュール27から受け
取ったGUIDを対応するVTR7の物理IDに変換す
る。通信媒体マネージャ29は、動作コマンド「再生」
とVTR7に対応する物理IDを含むメッセージをリン
クドライバ37に送信する。リンクドライバ37は、バ
ス9を介して、物理IDを用いてVTR7を特定すると
ともに、VTR7に再生処理を行わせるコマンドを送信
する。図12に示すスピードマップ52及びトポロジマ
ップ53は、本発明の他の実施の形態において用いられ
るものであり、後に詳細に説明する。
ト51を用いて、デバイス制御モジュール27から受け
取ったGUIDを対応するVTR7の物理IDに変換す
る。通信媒体マネージャ29は、動作コマンド「再生」
とVTR7に対応する物理IDを含むメッセージをリン
クドライバ37に送信する。リンクドライバ37は、バ
ス9を介して、物理IDを用いてVTR7を特定すると
ともに、VTR7に再生処理を行わせるコマンドを送信
する。図12に示すスピードマップ52及びトポロジマ
ップ53は、本発明の他の実施の形態において用いられ
るものであり、後に詳細に説明する。
【0148】図13乃至図15に、スピードマップ52
とトポロジマップ53のデータ構造の構成例を示す。ス
ピードマップ52とトポロジマップ53のエントリは、
各機器の物理IDに基づいて組織され、すなわち例えば
並べ換えられ、あるいはインデックスが付される。スピ
ードマップ52及びトポロジマップ53を生成は、IE
EE1394規格に基づいて行われる。
とトポロジマップ53のデータ構造の構成例を示す。ス
ピードマップ52とトポロジマップ53のエントリは、
各機器の物理IDに基づいて組織され、すなわち例えば
並べ換えられ、あるいはインデックスが付される。スピ
ードマップ52及びトポロジマップ53を生成は、IE
EE1394規格に基づいて行われる。
【0149】図13は、トポロジマップ53のデータ構
造の具体例を示す。トポロジマップ53は、エントリ5
4a〜54nを有し、各エントリは、ローカルバス9に
接続されたn個の機器のそれぞれに対応している。各エ
ントリの第1のフィールドは、ローカルバス層となるI
EEE1394HALインターフェイス38により各機
器に割り当てられた物理IDを格納する。図13に示す
ように、エントリ54a〜エントリ54nは、それぞれ
の物理ID、すなわち物理ID0〜物理IDnにしたが
って配列されている。この物理IDフィールド55に続
いて、各機器の物理ポートに関する情報を格納するポー
トフィールド56,57,58が設けられている。ポー
ト情報は、各ポートと他のポートとの物理的な接続状態
を示すものである。このポート情報を用いてローカルバ
ス9内のn個の機器がHAVIネットワークにおいて互
いにどのように接続されているかを確認することができ
る。図13に示すデータ構造のフォーマットは当分野に
おいて標準的なものが用いられており、このデータ構造
は各バスリセットの発生の度に再構築される。
造の具体例を示す。トポロジマップ53は、エントリ5
4a〜54nを有し、各エントリは、ローカルバス9に
接続されたn個の機器のそれぞれに対応している。各エ
ントリの第1のフィールドは、ローカルバス層となるI
EEE1394HALインターフェイス38により各機
器に割り当てられた物理IDを格納する。図13に示す
ように、エントリ54a〜エントリ54nは、それぞれ
の物理ID、すなわち物理ID0〜物理IDnにしたが
って配列されている。この物理IDフィールド55に続
いて、各機器の物理ポートに関する情報を格納するポー
トフィールド56,57,58が設けられている。ポー
ト情報は、各ポートと他のポートとの物理的な接続状態
を示すものである。このポート情報を用いてローカルバ
ス9内のn個の機器がHAVIネットワークにおいて互
いにどのように接続されているかを確認することができ
る。図13に示すデータ構造のフォーマットは当分野に
おいて標準的なものが用いられており、このデータ構造
は各バスリセットの発生の度に再構築される。
【0150】図14は、一次スピードマップのデータ構
造52aの構成例を示す図である。データ構造52a
は、それぞれがローカルバス9に接続されたn個の機器
を示すエントリ60a〜60nから構成されている。各
エントリ60a〜60nの第1のフィールドは、ローカ
ルバス層であるIEEE1394インターフェイス38
により各機器に割り当てられた物理IDを格納する。図
14に示すように、エントリ60a〜エントリ60n
は、それぞれの物理的識別子、すなわち物理ID0〜物
理IDnの順番で配列されている。第2のフィールド6
2は、各機器が利用可能な通信プロトコルに関する適切
な情報、例えば通信速度等を格納する。図14に示すデ
ータ構造のフォーマットは当分野において標準的なもの
が用いられており、このデータ構造は各バスリセットの
発生の度に再構築される。
造52aの構成例を示す図である。データ構造52a
は、それぞれがローカルバス9に接続されたn個の機器
を示すエントリ60a〜60nから構成されている。各
エントリ60a〜60nの第1のフィールドは、ローカ
ルバス層であるIEEE1394インターフェイス38
により各機器に割り当てられた物理IDを格納する。図
14に示すように、エントリ60a〜エントリ60n
は、それぞれの物理的識別子、すなわち物理ID0〜物
理IDnの順番で配列されている。第2のフィールド6
2は、各機器が利用可能な通信プロトコルに関する適切
な情報、例えば通信速度等を格納する。図14に示すデ
ータ構造のフォーマットは当分野において標準的なもの
が用いられており、このデータ構造は各バスリセットの
発生の度に再構築される。
【0151】図15は、2次スピードマップのデータ構
造52bの構成例を示す図である。データ構造52b
は、行のインデックス63と列のインデックス64と複
数のマトリックスエントリ65から構成される。行のイ
ンデックス63と列のインデックス64は、それぞれ各
機器に対応して物理IDが格納されており、マトリック
スエントリ65には、その属する行のインデックス63
及び列のインデックス64に格納された物理IDにより
特定される2つの機器間の通信速度を格納する。図15
に示すデータ構造のフォーマットは当分野において標準
的なものが用いられており、このデータ構造は各バスリ
セットの発生の度に再構築される。
造52bの構成例を示す図である。データ構造52b
は、行のインデックス63と列のインデックス64と複
数のマトリックスエントリ65から構成される。行のイ
ンデックス63と列のインデックス64は、それぞれ各
機器に対応して物理IDが格納されており、マトリック
スエントリ65には、その属する行のインデックス63
及び列のインデックス64に格納された物理IDにより
特定される2つの機器間の通信速度を格納する。図15
に示すデータ構造のフォーマットは当分野において標準
的なものが用いられており、このデータ構造は各バスリ
セットの発生の度に再構築される。
【0152】図16に5つの機器がローカルバスに接続
されたHAVIネットワーク70aを示す。機器71の
物理IDは0であり、GUIDはYである。機器72の
物理IDは1であり、GUIDはZである。機器73の
物理IDは2でありGUIDはIである。機器74の物
理的IDは3であり、GUIDはJである。機器75の
物理IDは4であり、GUIDはXである。各機器の物
理IDはバスリセットの発生により再び割り当てられ、
すなわち変更されることがある。一方、それぞれのGU
IDは各機器に固有且つ不変のものである。
されたHAVIネットワーク70aを示す。機器71の
物理IDは0であり、GUIDはYである。機器72の
物理IDは1であり、GUIDはZである。機器73の
物理IDは2でありGUIDはIである。機器74の物
理的IDは3であり、GUIDはJである。機器75の
物理IDは4であり、GUIDはXである。各機器の物
理IDはバスリセットの発生により再び割り当てられ、
すなわち変更されることがある。一方、それぞれのGU
IDは各機器に固有且つ不変のものである。
【0153】図17は、ローカルバスに6つの機器が接
続されたHAVIネットワーク70bを示す。HAVI
ネットワーク70bは、図16に示すHAVIネットワ
ーク70aから機器73を削除し、さらに機器76,7
7を追加したものである。このHAVIネットワーク7
0bにおいて、機器76の物理IDは1であり、GUI
Dは(U)である。機器77の物理IDは5であり、G
UIDはNである。図16に示すHAVIネットワーク
70aと共通の機器72,71,74,75の物理ID
は、ローカルバスリセットの発生により変更されてい
る。すなわち、HAVIネットワーク70bにおいて
は、機器71の物理IDは0、機器72の物理IDは
3、機器74の物理IDは4、機器75の物理IDは2
である。一方、各機器のGUIDは、バスリセットによ
っても変更されておらず、すなわち、それぞれの機器に
固有且つ不変のものである。
続されたHAVIネットワーク70bを示す。HAVI
ネットワーク70bは、図16に示すHAVIネットワ
ーク70aから機器73を削除し、さらに機器76,7
7を追加したものである。このHAVIネットワーク7
0bにおいて、機器76の物理IDは1であり、GUI
Dは(U)である。機器77の物理IDは5であり、G
UIDはNである。図16に示すHAVIネットワーク
70aと共通の機器72,71,74,75の物理ID
は、ローカルバスリセットの発生により変更されてい
る。すなわち、HAVIネットワーク70bにおいて
は、機器71の物理IDは0、機器72の物理IDは
3、機器74の物理IDは4、機器75の物理IDは2
である。一方、各機器のGUIDは、バスリセットによ
っても変更されておらず、すなわち、それぞれの機器に
固有且つ不変のものである。
【0154】このHAVIネットワーク70aの構成に
基づいて生成されたGUIDリスト51aを図18に示
す。GUIDリスト51aは、HAVIネットワーク7
0aに接続された機器71〜75に対応する5つのエン
トリを有している。図18に示すように、GUIDリス
ト51aにおいて、各GUIDは、それぞれが対応する
物理ID0〜4の順序に基づいて、Y、Z、I、J、X
の順に配列されている。この実施の形態においては、G
UIDリスト51aは、リンクドライバ37によりコン
パイルされ、コンピュータにより読出可能なメモリに格
納される。
基づいて生成されたGUIDリスト51aを図18に示
す。GUIDリスト51aは、HAVIネットワーク7
0aに接続された機器71〜75に対応する5つのエン
トリを有している。図18に示すように、GUIDリス
ト51aにおいて、各GUIDは、それぞれが対応する
物理ID0〜4の順序に基づいて、Y、Z、I、J、X
の順に配列されている。この実施の形態においては、G
UIDリスト51aは、リンクドライバ37によりコン
パイルされ、コンピュータにより読出可能なメモリに格
納される。
【0155】図19は、HAVIネットワーク70bの
構成に基づいて生成されたGUIDリスト51bを示す
図である。GUIDリスト51bは、HAVIネットワ
ーク70bに接続された機器71,72,74,75,
76,77に対応する6つのエントリを有している。図
19に示すように、GUIDリスト51bにおいて、各
GUIDは、それぞれが対応する物理ID0〜5の順序
に基づいて、Y、U、X、Z、J、Nの順に配列されて
いる。この実施の形態においては、GUIDリスト51
bは、リンクドライバ37によりコンパイルされ、コン
ピュータにより読出可能なメモリに格納される。
構成に基づいて生成されたGUIDリスト51bを示す
図である。GUIDリスト51bは、HAVIネットワ
ーク70bに接続された機器71,72,74,75,
76,77に対応する6つのエントリを有している。図
19に示すように、GUIDリスト51bにおいて、各
GUIDは、それぞれが対応する物理ID0〜5の順序
に基づいて、Y、U、X、Z、J、Nの順に配列されて
いる。この実施の形態においては、GUIDリスト51
bは、リンクドライバ37によりコンパイルされ、コン
ピュータにより読出可能なメモリに格納される。
【0156】図20は、ローカルバスリセットが発生す
るたびに通信媒体マネージャ29によって更新されるG
UIDステータステーブル80を示す。GUIDステー
タステーブル80は、GUIDフィールド81a〜81
gとそれに対応するステータスフィールド82a〜82
gを有している。このステータスフィールド82a〜8
2gは、コンパイル以降、すなわち、ローカルバスリセ
ット発生の後にどの機器が削除され、あるいは追加さ
れ、またはどの機器が継続的に接続中であるかを示すデ
ータを格納する。この図20に示すGUIDステータス
テーブル80は、図16に示すHAVIネットワーク7
0aの接続環境を図17に示すHAVIネットワーク7
0bに変更し、これにより発生したバスリセットに基づ
いて通信媒体マネージャ29が生成したものである。こ
のGUIDステータステーブル80に示すように、GU
ID:Y、X、Z、Jに対応する機器は、「継続」すな
わち、前回にGUIDリスト51がコンパイルされてか
ら継続的にネットワークに接続された状態である。ま
た、GUID:U、Nに対応する機器は、前回のコンパ
イル以降にネットワークに追加されたものである。一
方、GUID:Iに対応する機器は、コンパイル以降に
ネットワークから削除されたものである。この実施の形
態においては、GUIDステータステーブル80は、通
信媒体マネージャ29によりコンパイルされ、コンピュ
ータにより読出可能なメモリに格納される。
るたびに通信媒体マネージャ29によって更新されるG
UIDステータステーブル80を示す。GUIDステー
タステーブル80は、GUIDフィールド81a〜81
gとそれに対応するステータスフィールド82a〜82
gを有している。このステータスフィールド82a〜8
2gは、コンパイル以降、すなわち、ローカルバスリセ
ット発生の後にどの機器が削除され、あるいは追加さ
れ、またはどの機器が継続的に接続中であるかを示すデ
ータを格納する。この図20に示すGUIDステータス
テーブル80は、図16に示すHAVIネットワーク7
0aの接続環境を図17に示すHAVIネットワーク7
0bに変更し、これにより発生したバスリセットに基づ
いて通信媒体マネージャ29が生成したものである。こ
のGUIDステータステーブル80に示すように、GU
ID:Y、X、Z、Jに対応する機器は、「継続」すな
わち、前回にGUIDリスト51がコンパイルされてか
ら継続的にネットワークに接続された状態である。ま
た、GUID:U、Nに対応する機器は、前回のコンパ
イル以降にネットワークに追加されたものである。一
方、GUID:Iに対応する機器は、コンパイル以降に
ネットワークから削除されたものである。この実施の形
態においては、GUIDステータステーブル80は、通
信媒体マネージャ29によりコンパイルされ、コンピュ
ータにより読出可能なメモリに格納される。
【0157】図21は、通信媒体マネージャ29が生成
したサブセットステータステーブル83を示し、このサ
ブセットステータステーブル83は、GUIDリスト5
1がコンパイルされた後にローカルバス9に追加された
機器に対応するGUIDのみを示すものである。図22
に示すサブセットステータステーブル86は、同様に通
信媒体マネージャ29により生成されたものであり、G
UIDリスト51がコンパイルされた後にローカルバス
9から削除された機器に対応するGUIDのみを示すも
のである。この実施の形態では、サブセットステータス
テーブル83、86は、通信媒体マネージャ29によっ
てコンパイルされ、コンピュータにより読出可能なメモ
リに格納される。GUIDステータステーブル80、サ
ブセットステータステーブル83、86は、この情報を
受信するためのコールバックハンドラを通信媒体マネー
ジャ29内に確立しているHAVIアーキテクチャ内の
オブジェクトに送信される。
したサブセットステータステーブル83を示し、このサ
ブセットステータステーブル83は、GUIDリスト5
1がコンパイルされた後にローカルバス9に追加された
機器に対応するGUIDのみを示すものである。図22
に示すサブセットステータステーブル86は、同様に通
信媒体マネージャ29により生成されたものであり、G
UIDリスト51がコンパイルされた後にローカルバス
9から削除された機器に対応するGUIDのみを示すも
のである。この実施の形態では、サブセットステータス
テーブル83、86は、通信媒体マネージャ29によっ
てコンパイルされ、コンピュータにより読出可能なメモ
リに格納される。GUIDステータステーブル80、サ
ブセットステータステーブル83、86は、この情報を
受信するためのコールバックハンドラを通信媒体マネー
ジャ29内に確立しているHAVIアーキテクチャ内の
オブジェクトに送信される。
【0158】図23は、ローカルバスリセットに応じ
て、現在のGUIDリスト51をコンパイルするために
リンクドライバ37が実行する処理の手順を示すフロー
チャートである。ローカルバスリセットが発生すると、
各機器の物理IDは、ローカルバスにより再度割り当て
られる。ステップS20において、ローカルバスリセッ
トが発生すると、このローカルバスリセットはリンクド
ライバ37に報告され、手順はステップS21に移行す
る。ステップS21において、リンクドライバ37は、
現在のGUIDリストを消去するとともにその時点でロ
ーカルバス9に接続されている機器の数(N)をカウン
トする。このステップS21は、周知の様々な手法によ
り実現できる。さらに、ステップS22において、カウ
ンタ値(I)がリセットされる。ステップS23におい
て、リンクドライバ37は、現在ローカルバス9に接続
され、カウンタ値(I)に対応する物理IDを有する機
器にその機器のGUIDに関する問い合わせを行う。こ
の時点では、リンクドライバ37は、実際にどの機器が
上述の物理IDを有する機器であるかを認識していな
い。
て、現在のGUIDリスト51をコンパイルするために
リンクドライバ37が実行する処理の手順を示すフロー
チャートである。ローカルバスリセットが発生すると、
各機器の物理IDは、ローカルバスにより再度割り当て
られる。ステップS20において、ローカルバスリセッ
トが発生すると、このローカルバスリセットはリンクド
ライバ37に報告され、手順はステップS21に移行す
る。ステップS21において、リンクドライバ37は、
現在のGUIDリストを消去するとともにその時点でロ
ーカルバス9に接続されている機器の数(N)をカウン
トする。このステップS21は、周知の様々な手法によ
り実現できる。さらに、ステップS22において、カウ
ンタ値(I)がリセットされる。ステップS23におい
て、リンクドライバ37は、現在ローカルバス9に接続
され、カウンタ値(I)に対応する物理IDを有する機
器にその機器のGUIDに関する問い合わせを行う。こ
の時点では、リンクドライバ37は、実際にどの機器が
上述の物理IDを有する機器であるかを認識していな
い。
【0159】ステップS24においてリンクドライバ3
7は、上述の物理IDを有する機器のGUIDを受け取
り、このGUID値を現在のGUIDリスト51のエン
トリに書き込む。このエントリの位置は、カウンタ値
(I)に対応するものである。さらにリンクドライバ3
7は、ステップS25において、カウンタ値に1を加え
る。ステップS26においてカウンタ値(I)がローカ
ルバスに接続中の機器の総数(N)に一致するか否かが
判定される。ここで判定の結果が否、すなわちカウンタ
値が機器の総数に満たない場合、手順はステップS23
に戻り、上述の処理が繰り返される。一方、ステップS
26において、カウンタ値(I)が機器の総数に一致し
たと判定された場合、すなわち、全ての機器のGUID
値がGUIDリスト51に書き込まれた場合、手順は、
ステップS27に移行する。リンクドライバ37は、ス
テップS27において、上述のようにして作成したGU
IDリスト51を通信媒体マネージャ29に送信する。
なお、この実施例において、ローカルバス9は、各機器
に対して0〜(N−1)の物理IDを割り当てているも
のとする。この図23に示す処理が行われた後、図18
及び図19に示すようなGUIDリスト51がコンパイ
ルされる。
7は、上述の物理IDを有する機器のGUIDを受け取
り、このGUID値を現在のGUIDリスト51のエン
トリに書き込む。このエントリの位置は、カウンタ値
(I)に対応するものである。さらにリンクドライバ3
7は、ステップS25において、カウンタ値に1を加え
る。ステップS26においてカウンタ値(I)がローカ
ルバスに接続中の機器の総数(N)に一致するか否かが
判定される。ここで判定の結果が否、すなわちカウンタ
値が機器の総数に満たない場合、手順はステップS23
に戻り、上述の処理が繰り返される。一方、ステップS
26において、カウンタ値(I)が機器の総数に一致し
たと判定された場合、すなわち、全ての機器のGUID
値がGUIDリスト51に書き込まれた場合、手順は、
ステップS27に移行する。リンクドライバ37は、ス
テップS27において、上述のようにして作成したGU
IDリスト51を通信媒体マネージャ29に送信する。
なお、この実施例において、ローカルバス9は、各機器
に対して0〜(N−1)の物理IDを割り当てているも
のとする。この図23に示す処理が行われた後、図18
及び図19に示すようなGUIDリスト51がコンパイ
ルされる。
【0160】図24は、ローカルバスリセットに応じ
て、リンクドライバ37と通信媒体マネージャ29によ
り実行される、GUIDステータステーブル80及びサ
ブセットステータステーブル83,86のコンパイル処
理を説明するフローチャートである。図24に示すステ
ップS30においてバスリセットが発生すると、ステッ
プS31においてリンクドライバ37が新たなGUID
リスト51を作成する。ここまでの処理は、図23を用
いて説明したものである。ステップS32において、通
信媒体マネージャ29は、新たなGUIDリスト51を
受信し、受信したGUIDリスト51を現在のGUID
リストとして管理する。通信媒体マネージャ29は、そ
れまで保持していたGUIDリスト51を、直前のGU
IDリスト(previous GUID list)と命名し、そのまま
保持し続ける。
て、リンクドライバ37と通信媒体マネージャ29によ
り実行される、GUIDステータステーブル80及びサ
ブセットステータステーブル83,86のコンパイル処
理を説明するフローチャートである。図24に示すステ
ップS30においてバスリセットが発生すると、ステッ
プS31においてリンクドライバ37が新たなGUID
リスト51を作成する。ここまでの処理は、図23を用
いて説明したものである。ステップS32において、通
信媒体マネージャ29は、新たなGUIDリスト51を
受信し、受信したGUIDリスト51を現在のGUID
リストとして管理する。通信媒体マネージャ29は、そ
れまで保持していたGUIDリスト51を、直前のGU
IDリスト(previous GUID list)と命名し、そのまま
保持し続ける。
【0161】通信媒体マネージャ29は、ステップS3
3において、現在のGUIDリストと直前のGUIDリ
ストとを比較し、現在のGUIDリストに登録されてお
り、且つ直前のGUIDリストに登録されていないGU
ID値、追加されたGUID値に基づいて、図21に示
すサブセットステータステーブル83を生成する。ここ
で、以前からイベントマネージャ23に対して、サブセ
ットステータステーブル83を要求するコールバックハ
ンドラを確立しているHAVIアーキテクチャ内の各オ
ブジェクトに対して、サブセットステータステーブル8
3に関する情報を含むメッセージが送信される。
3において、現在のGUIDリストと直前のGUIDリ
ストとを比較し、現在のGUIDリストに登録されてお
り、且つ直前のGUIDリストに登録されていないGU
ID値、追加されたGUID値に基づいて、図21に示
すサブセットステータステーブル83を生成する。ここ
で、以前からイベントマネージャ23に対して、サブセ
ットステータステーブル83を要求するコールバックハ
ンドラを確立しているHAVIアーキテクチャ内の各オ
ブジェクトに対して、サブセットステータステーブル8
3に関する情報を含むメッセージが送信される。
【0162】ステップS34において、通信媒体マネー
ジャ29は、直前のGUIDリストと現在のGUIDリ
ストとを比較し、直前のGUIDリストには存在する
が、現在のGUIDリストには存在しない、すなわち削
除されたGUID値に基づいて。図22に示すサブセッ
トステータステーブル86を生成する。ここで、以前か
らイベントマネージャ23に対して、サブセットステー
タステーブル86を要求するコールバックハンドラを確
立しているHAVIアーキテクチャ内の各オブジェクト
に対して、サブセットステータステーブル86に関する
情報を含むメッセージが送信される。
ジャ29は、直前のGUIDリストと現在のGUIDリ
ストとを比較し、直前のGUIDリストには存在する
が、現在のGUIDリストには存在しない、すなわち削
除されたGUID値に基づいて。図22に示すサブセッ
トステータステーブル86を生成する。ここで、以前か
らイベントマネージャ23に対して、サブセットステー
タステーブル86を要求するコールバックハンドラを確
立しているHAVIアーキテクチャ内の各オブジェクト
に対して、サブセットステータステーブル86に関する
情報を含むメッセージが送信される。
【0163】また、オプションとして、上述の追加され
たGUID値と削除されたGUID値及び継続中のGU
ID値をすべて網羅するテーブル、すなわち、図20に
示すGUIDステータステーブル80を生成及び送信す
るようにしてもよい。
たGUID値と削除されたGUID値及び継続中のGU
ID値をすべて網羅するテーブル、すなわち、図20に
示すGUIDステータステーブル80を生成及び送信す
るようにしてもよい。
【0164】通信媒体マネージャ29は、ステップS3
5において、直前のGUIDリストを消去する。通信媒
体マネージャ29及びリンクドライバ37がこの図24
に示す一連の処理を行うことにより、上位のアプリケー
ションプログラムにステータスインフォメーションが供
給されるため、アプリケーションプログラムは、どの機
器がバスに接続中であるかを常時監視する必要がなくな
る。
5において、直前のGUIDリストを消去する。通信媒
体マネージャ29及びリンクドライバ37がこの図24
に示す一連の処理を行うことにより、上位のアプリケー
ションプログラムにステータスインフォメーションが供
給されるため、アプリケーションプログラムは、どの機
器がバスに接続中であるかを常時監視する必要がなくな
る。
【0165】図25は、通信媒体マネージャ29に渡さ
れたGUIDリスト51を用いてGUIDを物理IDに
変換する処理を説明するフローチャートである。アプリ
ケーションプログラムは、ステップS40において、機
器(x)を制御するコマンドを送信し、このコマンドは
機器(x)のデバイス制御モジュールによって受信され
る。このデバイス制御モジュールは、ステップS41に
おいて、機器(x)のGUIDを含むコマンドを通信媒
体マネージャ29に送信する。ステップS42におい
て、通信媒体マネージャ29は、GUIDリスト51に
おける機器(x)のGUIDに対応するインデックス、
例えばエントリの番号を検索する。この値は、上述のと
おり、機器(x)の物理IDに一致する。通信媒体マネ
ージャ29は、ステップS43において、機器(x)の
物理ID及び動作コマンドを含むコマンドをリンクドラ
イバ37に送信する。リンクドライバ37は、受信した
物理IDを用いて、機器(x)にコマンドを送信する。
この図25に示す一連の手順により、上位のアプリケー
ションは、常に一定の値であることが保証されない各機
器の物理IDを使用することなく、一定不変のGUID
を用いて所望の処理を実行することができる。
れたGUIDリスト51を用いてGUIDを物理IDに
変換する処理を説明するフローチャートである。アプリ
ケーションプログラムは、ステップS40において、機
器(x)を制御するコマンドを送信し、このコマンドは
機器(x)のデバイス制御モジュールによって受信され
る。このデバイス制御モジュールは、ステップS41に
おいて、機器(x)のGUIDを含むコマンドを通信媒
体マネージャ29に送信する。ステップS42におい
て、通信媒体マネージャ29は、GUIDリスト51に
おける機器(x)のGUIDに対応するインデックス、
例えばエントリの番号を検索する。この値は、上述のと
おり、機器(x)の物理IDに一致する。通信媒体マネ
ージャ29は、ステップS43において、機器(x)の
物理ID及び動作コマンドを含むコマンドをリンクドラ
イバ37に送信する。リンクドライバ37は、受信した
物理IDを用いて、機器(x)にコマンドを送信する。
この図25に示す一連の手順により、上位のアプリケー
ションは、常に一定の値であることが保証されない各機
器の物理IDを使用することなく、一定不変のGUID
を用いて所望の処理を実行することができる。
【0166】図26は、GUIDが与えられた2つの機
器間のスピードマップ情報にアクセスするための手順を
示すフローチャートである。アプリケーション層は、ス
テップS50において、機器(x)と機器(y)間でサ
ポートされている通信速度を判定するための要求コマン
ドを通信媒体マネージャ29に送信する。この要求コマ
ンドには、機器(x)と機器(y)のGUID値が含ま
れている。通信媒体マネージャ29は、ステップS51
において、送信されたGUID値及びGUIDリスト5
1に基づいて、機器(x)及び機器(y)の物理IDを
判定する。通信媒体マネージャ29は、ステップS52
において、この物理IDを用いて、例えば図15に示す
ような2次のスピードマップ52bにアクセスし、機器
(x)と機器(y)との間の通信速度を判定する。通信
媒体マネージャは、ステップS53において、要求を行
ったアプリケーション層に対して、上述の手順により検
出した通信速度に関する情報を送信する。
器間のスピードマップ情報にアクセスするための手順を
示すフローチャートである。アプリケーション層は、ス
テップS50において、機器(x)と機器(y)間でサ
ポートされている通信速度を判定するための要求コマン
ドを通信媒体マネージャ29に送信する。この要求コマ
ンドには、機器(x)と機器(y)のGUID値が含ま
れている。通信媒体マネージャ29は、ステップS51
において、送信されたGUID値及びGUIDリスト5
1に基づいて、機器(x)及び機器(y)の物理IDを
判定する。通信媒体マネージャ29は、ステップS52
において、この物理IDを用いて、例えば図15に示す
ような2次のスピードマップ52bにアクセスし、機器
(x)と機器(y)との間の通信速度を判定する。通信
媒体マネージャは、ステップS53において、要求を行
ったアプリケーション層に対して、上述の手順により検
出した通信速度に関する情報を送信する。
【0167】図27は、GUIDが与えられた機器に関
するトポロジマップにアクセスするための手順を示すフ
ローチャートである。アプリケーション層は、ステップ
S60において、機器(y)のトポロジマップに関する
情報を要求する要求コマンドを通信媒体マネージャ29
に送信する。通信媒体マネージャ29は、ステップS6
1において、この要求コマンドを受信するとともに、こ
のコマンドに含まれるGUID値及びGUIDリスト5
1を用いて、機器(y)の物理IDを判定する。通信媒
体マネージャ29は、ステップS62において、物理I
Dにより特定される機器、すなわち機器(y)に関す
る、例えば図13に示すようなトポロジマップにアクセ
スする。これにより、通信媒体マネージャ29は、機器
(y)に関する適切なトポロジ情報を入手する。通信媒
体マネージャ29は、ステップS63におてい、上述の
手順により入手した機器(y)に関するトポロジ情報を
アプリケーション層に送信する。
するトポロジマップにアクセスするための手順を示すフ
ローチャートである。アプリケーション層は、ステップ
S60において、機器(y)のトポロジマップに関する
情報を要求する要求コマンドを通信媒体マネージャ29
に送信する。通信媒体マネージャ29は、ステップS6
1において、この要求コマンドを受信するとともに、こ
のコマンドに含まれるGUID値及びGUIDリスト5
1を用いて、機器(y)の物理IDを判定する。通信媒
体マネージャ29は、ステップS62において、物理I
Dにより特定される機器、すなわち機器(y)に関す
る、例えば図13に示すようなトポロジマップにアクセ
スする。これにより、通信媒体マネージャ29は、機器
(y)に関する適切なトポロジ情報を入手する。通信媒
体マネージャ29は、ステップS63におてい、上述の
手順により入手した機器(y)に関するトポロジ情報を
アプリケーション層に送信する。
【0168】図28は、GUIDが与えられた2つの機
器間のスピードマップ情報にアクセスするための手順を
示すフローチャートである。なお、図26に示す手順で
は、通信媒体マネージャが通信速度に関する情報にアク
セスするが、この図28に示す手順においては、通信媒
体マネージャではなくアプリケーションプログラムが通
信速度を判定する。
器間のスピードマップ情報にアクセスするための手順を
示すフローチャートである。なお、図26に示す手順で
は、通信媒体マネージャが通信速度に関する情報にアク
セスするが、この図28に示す手順においては、通信媒
体マネージャではなくアプリケーションプログラムが通
信速度を判定する。
【0169】まず、アプリケーションは、ステップS7
0において、機器(x)と機器(y)との間の通信速度
に関する要求コマンドを通信媒体マネージャ29に送信
する。通信媒体マネージャ29は、ステップS71にい
て、この要求コマンドを受信すると、現在のGUIDリ
スト51と、スピードマップ52のコピー又はスピード
マップ52のロケーションを示すポインタを要求元のア
プリケーションに送信する。アプリケーションは、ステ
ップS72において、通信媒体マネージャ29から受信
したGUIDリスト51のインデックスを用いて、機器
(x)と機器(y)のGUIDを物理IDに変換する。
アプリケーションは、この物理IDを用いてスピードマ
ップ52を検索し、これにより適切な通信速度情報を入
手する。
0において、機器(x)と機器(y)との間の通信速度
に関する要求コマンドを通信媒体マネージャ29に送信
する。通信媒体マネージャ29は、ステップS71にい
て、この要求コマンドを受信すると、現在のGUIDリ
スト51と、スピードマップ52のコピー又はスピード
マップ52のロケーションを示すポインタを要求元のア
プリケーションに送信する。アプリケーションは、ステ
ップS72において、通信媒体マネージャ29から受信
したGUIDリスト51のインデックスを用いて、機器
(x)と機器(y)のGUIDを物理IDに変換する。
アプリケーションは、この物理IDを用いてスピードマ
ップ52を検索し、これにより適切な通信速度情報を入
手する。
【0170】図29は、GUIDが与えられた機器に関
するトポロジマップにアクセスするための手順を示すフ
ローチャートである。なお、図27に示す手順では、通
信媒体マネージャがトポロジ情報にアクセスするが、こ
の図29に示す手順においては、通信媒体マネージャで
はなくアプリケーションプログラムがトポロジ情報にア
クセスする。
するトポロジマップにアクセスするための手順を示すフ
ローチャートである。なお、図27に示す手順では、通
信媒体マネージャがトポロジ情報にアクセスするが、こ
の図29に示す手順においては、通信媒体マネージャで
はなくアプリケーションプログラムがトポロジ情報にア
クセスする。
【0171】アプリケーションは、ステップS80にお
いて、機器(y)のトポロジ情報を要求する要求コマン
ドを通信媒体マネージャ29に送信する。通信媒体マネ
ージャ29は、ステップS81において、GUIDリス
ト51とトポロジマップ53のコピー又はポインタを要
求もとのアプリケーションに送信する。アプリケーショ
ンは、ステップS82において、GUIDリストをGU
IDリスト51のインデックスを利用して機器(y)の
GUIDを物理IDに変換する。さらに、アプリケーシ
ョンは、この物理IDを用いてトポロジマップ53にア
クセスし、必要な情報、すなわち機器(y)のトポロジ
情報を入手する。
いて、機器(y)のトポロジ情報を要求する要求コマン
ドを通信媒体マネージャ29に送信する。通信媒体マネ
ージャ29は、ステップS81において、GUIDリス
ト51とトポロジマップ53のコピー又はポインタを要
求もとのアプリケーションに送信する。アプリケーショ
ンは、ステップS82において、GUIDリストをGU
IDリスト51のインデックスを利用して機器(y)の
GUIDを物理IDに変換する。さらに、アプリケーシ
ョンは、この物理IDを用いてトポロジマップ53にア
クセスし、必要な情報、すなわち機器(y)のトポロジ
情報を入手する。
【0172】上述のように、本発明によれば、上位のア
プリケーション層は、GUIDリスト51を活用するこ
とにより、一定不変の識別子、すなわちGUIDに基づ
いて各機器を認識し、管理し、制御することができる。
バスリセットの発生による物理IDの再割当は、ローカ
ルバスレベルで処理され、アプリケーションは、この物
理IDの再割当に関与せず、またいかなる処理負担も発
生しない。特に、上述の実施の形態で説明したように、
GUIDリスト51において、物理IDの値順にGUI
Dを配列すれば、GUIDリスト51のデータサイズを
小さくすることができるとともに、効率のよい検索メカ
ニズムを構築することができる。
プリケーション層は、GUIDリスト51を活用するこ
とにより、一定不変の識別子、すなわちGUIDに基づ
いて各機器を認識し、管理し、制御することができる。
バスリセットの発生による物理IDの再割当は、ローカ
ルバスレベルで処理され、アプリケーションは、この物
理IDの再割当に関与せず、またいかなる処理負担も発
生しない。特に、上述の実施の形態で説明したように、
GUIDリスト51において、物理IDの値順にGUI
Dを配列すれば、GUIDリスト51のデータサイズを
小さくすることができるとともに、効率のよい検索メカ
ニズムを構築することができる。
【0173】以上、AVネットワークに接続された民生
用電子機器において、GUIDリストを用いて効率的且
つ恒常的に各機器を識別することのできる識別情報提供
装置及び識別情報提供方法を説明してきた。本発明を特
定の実施の形態を用いて説明したが、上述の説明は、本
発明の解釈を限定するものではない。本発明の技術的範
囲は、特許請求の範囲に示すとおりである。
用電子機器において、GUIDリストを用いて効率的且
つ恒常的に各機器を識別することのできる識別情報提供
装置及び識別情報提供方法を説明してきた。本発明を特
定の実施の形態を用いて説明したが、上述の説明は、本
発明の解釈を限定するものではない。本発明の技術的範
囲は、特許請求の範囲に示すとおりである。
【0174】
【発明の効果】以上のように、本発明では、ネットワー
クに接続された各機器に、それぞれ固有且つ不変の識別
子である汎用の固有識別子(GUID)を付し、この物
理的識別子をインデックスとした汎用の固有識別子のリ
ストを生成し、バスリセットの発生の都度、この汎用の
固有識別子のリストを更新する。さらに、この汎用の固
有識別子リストを用いて各機器の汎用の固有識別子から
現在の物理的識別子を求めこれを利用して情報を提供す
る。
クに接続された各機器に、それぞれ固有且つ不変の識別
子である汎用の固有識別子(GUID)を付し、この物
理的識別子をインデックスとした汎用の固有識別子のリ
ストを生成し、バスリセットの発生の都度、この汎用の
固有識別子のリストを更新する。さらに、この汎用の固
有識別子リストを用いて各機器の汎用の固有識別子から
現在の物理的識別子を求めこれを利用して情報を提供す
る。
【0175】本発明によれば、汎用の固有識別子と物理
的識別子を対応させた汎用の固有識別子リストを用いる
ことにより、バスリセットの発生によりネットワークに
接続された機器の物理的識別子が変更されても、各機器
に関する所望の情報を得ることができる。すなわち、汎
用の固有識別子リストは、各機器の物理的識別子をイン
デックスとしており、汎用の固有識別子から物理的識別
子を検索することができ、すなわち、スピードマップや
トポロジマップにアクセスし、通信速度に関する情報や
トポロジ情報を入手するための識別情報を提供すること
ができる。
的識別子を対応させた汎用の固有識別子リストを用いる
ことにより、バスリセットの発生によりネットワークに
接続された機器の物理的識別子が変更されても、各機器
に関する所望の情報を得ることができる。すなわち、汎
用の固有識別子リストは、各機器の物理的識別子をイン
デックスとしており、汎用の固有識別子から物理的識別
子を検索することができ、すなわち、スピードマップや
トポロジマップにアクセスし、通信速度に関する情報や
トポロジ情報を入手するための識別情報を提供すること
ができる。
【図1】HAVIネットワークの物理的なポート間の接
続状態を示す図である。
続状態を示す図である。
【図2】図1に示すHAVIネットワークのローカルバ
スに対する論理的な接続状態を示す図である。
スに対する論理的な接続状態を示す図である。
【図3】図1に示すHAVIネットワークにおいて、1
つの機器と他の全ての機器との論理的な接続状態を説明
する図である。
つの機器と他の全ての機器との論理的な接続状態を説明
する図である。
【図4】IRDの内部構成を示すブロック図である。
【図5】HAVIネットワーク上のAVノードが利用可
能なサービスを示す図である。
能なサービスを示す図である。
【図6】HAVIソフトウェアアーキテクチャ内の通信
経路を示す図である。
経路を示す図である。
【図7】様々なソフトウェアオブジェクトから通信媒体
マネージャへのデータのフローを示す図である。
マネージャへのデータのフローを示す図である。
【図8】通信媒体マネージャから様々なソフトウェアオ
ブジェクトへのデータのフローを示す図である。
ブジェクトへのデータのフローを示す図である。
【図9】通信媒体マネージャとIEEE1394ローカ
ルバスインターフェイスのブロック図である。
ルバスインターフェイスのブロック図である。
【図10】機器間のメッセージ通信を行う手順を説明す
るフローチャートである。
るフローチャートである。
【図11】図10のフローチャートの一部である。
【図12】アプリケーション、デバイス制御モジュー
ル、通信媒体マネージャ、リンクドライバ間の通信経路
を示す図である。
ル、通信媒体マネージャ、リンクドライバ間の通信経路
を示す図である。
【図13】物理的識別子をインデックスとするトポロジ
マップを示す図である。
マップを示す図である。
【図14】1次のスピードマップを示す図である。
【図15】2次のスピードマップを示す図である。
【図16】第1のネットワーク構成例を示す図である。
【図17】第2のネットワーク構成例を示す図である。
【図18】第1のネットワーク構成例に対応するGUI
Dリストを示す図である。
Dリストを示す図である。
【図19】第2のネットワーク構成例に対応するGUI
Dリストを示す図である。
Dリストを示す図である。
【図20】第1のネットワーク構成例から第2のネット
ワーク構成例に変化した場合に生成されるGUIDステ
ータステーブルを示す図である。
ワーク構成例に変化した場合に生成されるGUIDステ
ータステーブルを示す図である。
【図21】追加された機器を示すサブセットステータス
テーブルを示す図である。
テーブルを示す図である。
【図22】削除された機器を示すサブセットステータス
テーブルを示す図である。
テーブルを示す図である。
【図23】ローカルバスリセットの発生に応じてGUI
Dリストを生成する手順を示すフローチャートである。
Dリストを生成する手順を示すフローチャートである。
【図24】ローカルバスリセットの発生に応じてGUI
Dステータステーブルを生成する手順を示すフローチャ
ートである。
Dステータステーブルを生成する手順を示すフローチャ
ートである。
【図25】GUIDリストを用いて機器にメッセージを
送信する手順を示すフローチャートである。
送信する手順を示すフローチャートである。
【図26】GUIDリストのインデックス値を用いてス
ピードマップにアクセスし、所望の機器間の通信速度を
検索する手順を説明するフローチャートである。
ピードマップにアクセスし、所望の機器間の通信速度を
検索する手順を説明するフローチャートである。
【図27】GUIDリストのインデックス値を用いてト
ポロジマップにアクセスし、所望のトポロジ情報を入手
する手順を説明するフローチャートである。
ポロジマップにアクセスし、所望のトポロジ情報を入手
する手順を説明するフローチャートである。
【図28】アプリケーション自身がスピードマップを参
照して所望の機器間の通信速度を検索する手順を説明す
るフローチャートである。
照して所望の機器間の通信速度を検索する手順を説明す
るフローチャートである。
【図29】アプリケーション自身がトポロジマップを参
照して所望のトポロジ情報を入手する手順を説明するフ
ローチャートである。
照して所望のトポロジ情報を入手する手順を説明するフ
ローチャートである。
Claims (20)
- 【請求項1】 ネットワークに接続された機器のステー
タス情報を提供する識別情報提供方法であって、 上記ネットワーク内のローカルバスによってそれぞれの
機器に割り当てられた物理的識別子の値が示す順序に基
づいて、各機器を恒常的に特定する汎用の固有識別子の
リストである汎用の固有識別子リストを生成するステッ
プと、 上記汎用の固有識別子リストをソフトウェアプログラム
に送信するステップと、 上記ソフトウェアプログラムにより、上記送信された汎
用の固有識別子リストと以前の汎用の固有識別子リスト
とを比較し、ネットワークに新たに追加された機器及び
ネットワークから削除された機器を判定するステップ
と、 上記ソフトウェアプログラムに対してステータス情報に
関するコールバックルーチンを確立中の機器に上記汎用
の固有識別子リストを送信するステップとを有し、 バスリセットが発生するたびに上記各ステップを繰り返
すことを特徴とする識別情報提供方法。 - 【請求項2】 上記汎用の固有識別子は、製造業者を示
すコードと、チップシリーズを示すコードとを含む恒常
的な複数ビットデータとして表されることを特徴とする
請求項1記載の識別情報提供方法。 - 【請求項3】 上記ネットワークは、ホームオーディオ
ビジュアルイニシアティブネットワークであり、上記ロ
ーカルバスはIEEE1394規格に準拠することを特
徴とする請求項1記載の識別情報提供方法。 - 【請求項4】 上記ソフトウェアプログラムによる比較
の後に、現在の汎用の固有識別子リストを、上記以前の
汎用の固有識別子リストから上記受信した汎用の固有識
別子リストに置換するステップを有することを特徴とす
る請求項1記載の識別情報提供方法。 - 【請求項5】 バスリセットの発生により、上記ローカ
ルバスに接続された機器の物理的識別子を割り当て直す
ステップを有することを特徴とする請求項1記載の識別
情報提供方法。 - 【請求項6】 上記ローカルバスから該ローカルバスに
接続中の機器の数を示すデータを受信するステップと、 上記ローカルバスに接続された各機器に対して0から1
ずつ増加する番号に対応する物理的識別子を付与すると
ともに、上記各機器に対してそれぞれの汎用の固有識別
子を問い合わせるステップと、 上記各機器から返された各汎用の固有識別子を該各機器
の物理的識別子に対応するフィールドにそれぞれ記録す
ることにより汎用の固有識別子リストを生成するステッ
プと、 上記汎用の固有識別子リストをコンピュータメモリに格
納するステップとを有することを特徴とする請求項5記
載の識別情報提供方法。 - 【請求項7】 ネットワークに接続された機器のステー
タス情報を提供する識別情報提供方法であって、 第1のソフトウェアプログラムを用いて、上記ネットワ
ーク内のローカルバスによってそれぞれの機器に割り当
てられた物理的識別子の値が示す順序に基づいて、各機
器を恒常的に特定する汎用の固有識別子のリストである
汎用の固有識別子リストを生成するステップと、 上記汎用の固有識別子リストを上記第1のソフトウェア
プログラムから第2のソフトウェアプログラムに送信す
るステップと、 上記第2のソフトウェアプログラムにより、上記送信さ
れた汎用の固有識別子リストと以前の汎用の固有識別子
リストとを比較し、ネットワークに新たに追加された機
器及びネットワークから削除された機器を判定するステ
ップと、 上記第2のソフトウェアプログラムに対してステータス
情報に関するコールバックルーチンを確立中の機器に上
記汎用の固有識別子リストを送信するステップとを有
し、 バスリセットが発生するたびに上記各ステップを繰り返
すことを特徴とする識別情報提供方法。 - 【請求項8】 上記汎用の固有識別子は、製造業者を示
すコードと、チップシリーズを示すコードとを含む恒常
的な複数ビットデータとして表されることを特徴とする
請求項7記載の識別情報提供方法。 - 【請求項9】 上記ネットワークは、ホームオーディオ
ビジュアルイニシアティブネットワークであり、上記ロ
ーカルバスはIEEE1394規格に準拠することを特
徴とする請求項7記載の識別情報提供方法。 - 【請求項10】 上記第2のソフトウェアプログラムに
よる比較の後に、現在の汎用の固有識別子リストを、上
記以前の汎用の固有識別子リストから上記受信した汎用
の固有識別子リストに置換するステップを有することを
特徴とする請求項7記載の識別情報提供方法。 - 【請求項11】 バスリセットの発生により、上記ロー
カルバスに接続された機器の物理的識別子を割り当て直
すステップを有することを特徴とする請求項7記載の識
別情報提供方法。 - 【請求項12】 上記ローカルバスから該ローカルバス
に接続中の機器の数を示すデータを受信するステップ
と、 上記ローカルバスに接続された各機器に対して0から1
ずつ増加する番号に対応する物理的識別子を付与すると
ともに、上記各機器に対してそれぞれの汎用の固有識別
子を問い合わせるステップと、 上記各機器から返された各汎用の固有識別子を該各機器
の物理的識別子に対応するフィールドにそれぞれ記録す
ることにより汎用の固有識別子リストを生成するステッ
プと、 上記汎用の固有識別子リストをコンピュータメモリに格
納するステップとを有することを特徴とする請求項11
記載の識別情報提供方法。 - 【請求項13】 ネットワークに接続され、 プロセッサと、 内部バスと、 バスリセットが発生するたびに、上記ネットワーク内の
ローカルバスによってそれぞれの機器に割り当てられた
物理的識別子の値が示す順序に基づいて、各機器を恒常
的に特定する汎用の固有識別子のリストである汎用の固
有識別子リストを生成し、上記汎用の固有識別子リスト
をソフトウェアプログラムに送信し、上記ソフトウェア
プログラムにより、上記送信された汎用の固有識別子リ
ストと以前の汎用の固有識別子リストとを比較し、ネッ
トワークに新たに追加された機器及びネットワークから
削除された機器を判定し、上記ソフトウェアプログラム
に対してステータス情報に関するコールバックルーチン
を確立中の機器に上記汎用の固有識別子リストを送信す
るプログラムが格納されたメモリとを備える電子機器。 - 【請求項14】 上記汎用の固有識別子は、製造業者を
示すコードと、チップシリーズを示すコードとを含む恒
常的な複数ビットデータとして表されることを特徴とす
る請求項13記載の電子機器。 - 【請求項15】 上記ネットワークは、ホームオーディ
オビジュアルイニシアティブネットワークであり、上記
ローカルバスはIEEE1394規格に準拠することを
特徴とする請求項13記載の電子機器。 - 【請求項16】 上記ソフトウェアプログラムによる比
較の後に、現在の汎用の固有識別子リストを、上記以前
の汎用の固有識別子リストから上記受信した汎用の固有
識別子リストに置換することを特徴とする請求項13記
載の電子機器。 - 【請求項17】 バスリセットの発生により、上記ロー
カルバスに接続された機器の物理的識別子を割り当て直
すことを特徴とする請求項1記載の電子機器。 - 【請求項18】 上記メモリに格納されたプログラムに
より、上記ローカルバスから該ローカルバスに接続中の
機器の数を示すデータを受信し、上記ローカルバスに接
続された各機器に対して0から1ずつ増加する番号に対
応する物理的識別子を付与するとともに、上記各機器に
対してそれぞれの汎用の固有識別子を問い合わせ、上記
各機器から返された各汎用の固有識別子を該各機器の物
理的識別子に対応するフィールドにそれぞれ記録するこ
とにより汎用の固有識別子リストを生成し、上記汎用の
固有識別子リストをコンピュータメモリに格納すること
を特徴とする請求項17記載の電子機器。 - 【請求項19】 ネットワークに接続された機器のステ
ータス情報を提供する識別情報提供装置であって、 上記ネットワーク内のローカルバスによってそれぞれの
機器に割り当てられた物理的識別子の値が示す順序に基
づいて、各機器を恒常的に特定する汎用の固有識別子の
リストである汎用の固有識別子リストを生成する生成手
段と、 上記汎用の固有識別子リストをソフトウェアプログラム
に送信する第1の送信手段と、 上記ソフトウェアプログラムにより、上記送信された汎
用の固有識別子リストと以前の汎用の固有識別子リスト
とを比較し、ネットワークに新たに追加された機器及び
ネットワークから削除された機器を判定する比較手段
と、 上記ソフトウェアプログラムに対してステータス情報に
関するコールバックルーチンを確立中の機器に上記汎用
の固有識別子リストを送信する第2の送信手段とを備え
る識別情報提供装置。 - 【請求項20】 上記ローカルバスから該ローカルバス
に接続中の機器の数を示すデータを受信する受信手段
と、 上記ローカルバスに接続された各機器に対して0から1
ずつ増加する番号に対応する物理的識別子を付与すると
ともに、上記各機器に対してそれぞれの汎用の固有識別
子を問い合わせる物理的識別子付与手段と、 上記汎用の固有識別子リストにおいて、上記各機器から
返された各汎用の固有識別子を上記各機器の物理的識別
子に対応するフィールドにそれぞれ記録する記録手段
と、 上記汎用の固有識別子リストをコンピュータメモリに格
納する格納手段とを有することを特徴とする請求項19
記載の識別情報提供装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/003,118 US6160796A (en) | 1998-01-06 | 1998-01-06 | Method and system for updating device identification and status information after a local bus reset within a home audio/video network |
| US09/003118 | 1998-01-06 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11317751A true JPH11317751A (ja) | 1999-11-16 |
Family
ID=21704260
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11001470A Withdrawn JPH11317751A (ja) | 1998-01-06 | 1999-01-06 | 識別情報提供方法及び識別情報提供装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6160796A (ja) |
| EP (1) | EP0929170A3 (ja) |
| JP (1) | JPH11317751A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001229114A (ja) * | 1999-12-08 | 2001-08-24 | Sony Corp | 情報処理装置および方法、並びにプログラム格納媒体 |
| WO2002017624A1 (en) * | 2000-08-18 | 2002-02-28 | Matsushita Electric Industrial Co., Ltd. | Control device, controlled device with passing-through function, controlled device, control method, medium and program |
| KR100835444B1 (ko) | 2000-09-08 | 2008-06-04 | 소니 가부시끼 가이샤 | 정보 처리 장치 및 방법, 정보 처리 시스템, 및 프로그램기억 매체 |
| US7639919B2 (en) | 2001-10-11 | 2009-12-29 | Sony Corporation | Signal processing system, signal outputting device, signal inputting device, and communication control method |
Families Citing this family (177)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6219697B1 (en) * | 1997-05-02 | 2001-04-17 | 3Com Corporation | Method and apparatus for operating the internet protocol over a high-speed serial bus |
| KR19990044988A (ko) * | 1997-11-25 | 1999-06-25 | 이데이 노부유끼 | 접속 상황 송신 장치, 접속 상황 표시 데이터 작성 장치 및 접속 상황 표시 방법 |
| US6418493B1 (en) * | 1997-12-29 | 2002-07-09 | Intel Corporation | Method and apparatus for robust addressing on a dynamically configurable bus |
| US6829225B2 (en) * | 1998-02-20 | 2004-12-07 | Apple Computer, Inc. | Method for computing speed map for IEEE-1394 network |
| US7257132B1 (en) | 1998-02-26 | 2007-08-14 | Hitachi, Ltd. | Receiver set, information apparatus and receiving system |
| FR2778046B1 (fr) * | 1998-04-23 | 2000-05-19 | Thomson Multimedia Sa | Procede de gestion d'objets dans un reseau de communication et dispositif de mise en oeuvre |
| KR100385967B1 (ko) * | 1998-05-23 | 2003-07-16 | 삼성전자주식회사 | 네트웍상에서의서버기기접속방법 |
| FR2779301B1 (fr) * | 1998-05-26 | 2000-07-21 | Thomson Multimedia Sa | Procede d'identification d'appareils dans un reseau de communication et appareil de mise en oeuvre |
| JP2000013423A (ja) * | 1998-06-26 | 2000-01-14 | Sony Corp | 情報処理装置および方法、並びに提供媒体 |
| KR100553867B1 (ko) * | 1998-07-04 | 2006-05-25 | 삼성전자주식회사 | Ieee 1394 버스로 연결된 네트워크에서의 버스 리셋 처리방법 |
| WO2000003519A1 (fr) * | 1998-07-09 | 2000-01-20 | Sony Corporation | Procede de commande de communication, systeme de communication et dispositif electronique |
| CN1867068A (zh) | 1998-07-14 | 2006-11-22 | 联合视频制品公司 | 交互式电视节目导视系统及其方法 |
| JP3325839B2 (ja) * | 1998-10-15 | 2002-09-17 | パイオニア株式会社 | 情報送信装置及び方法、情報受信装置及び方法並びに情報送受信装置及び方法 |
| KR100275707B1 (ko) * | 1998-11-26 | 2000-12-15 | 윤종용 | 홈네트웍 시스템 및 그 노드 아이디 할당방법 |
| US6859799B1 (en) | 1998-11-30 | 2005-02-22 | Gemstar Development Corporation | Search engine for video and graphics |
| JP4366741B2 (ja) * | 1998-12-22 | 2009-11-18 | ソニー株式会社 | ディジタル放送の受信装置及びディジタル信号処理機器の認識方法 |
| JP2000196624A (ja) * | 1998-12-28 | 2000-07-14 | Pioneer Electronic Corp | 伝送管理装置、情報処理装置及び情報伝送システム |
| US6542474B1 (en) * | 1999-02-26 | 2003-04-01 | Sony Corporation | System and method for incrementally updating remote element lists in an electronic network |
| JP3436174B2 (ja) * | 1999-03-09 | 2003-08-11 | 日本電気株式会社 | 通信方法 |
| US6810452B1 (en) | 1999-03-19 | 2004-10-26 | Sony Corporation | Method and system for quarantine during bus topology configuration |
| US6584539B1 (en) * | 1999-03-19 | 2003-06-24 | Sony Corporation | Method and system for message broadcast flow control on a bus bridge interconnect |
| US6466549B1 (en) * | 1999-04-12 | 2002-10-15 | Intel Corporation | Broadcast discovery in a network having one or more 1394 buses |
| US7213061B1 (en) | 1999-04-29 | 2007-05-01 | Amx Llc | Internet control system and method |
| US6925513B1 (en) * | 1999-05-04 | 2005-08-02 | Apple Computer, Inc. | USB device notification |
| US6581102B1 (en) * | 1999-05-27 | 2003-06-17 | International Business Machines Corporation | System and method for integrating arbitrary isochronous processing algorithms in general media processing systems |
| JP2000349793A (ja) * | 1999-06-04 | 2000-12-15 | Toshiba Corp | ネットワーク装置及びネットワーク方法 |
| US6657646B2 (en) | 1999-06-08 | 2003-12-02 | Amx Corporation | System and method for multimedia display |
| US6865596B1 (en) * | 1999-06-09 | 2005-03-08 | Amx Corporation | Method and system for operating virtual devices by master controllers in a control system |
| US6430629B1 (en) * | 1999-06-10 | 2002-08-06 | Sony Corporation | Methods and apparatus for monitoring a 1394 home network |
| JP4505692B2 (ja) * | 1999-06-18 | 2010-07-21 | ソニー株式会社 | データ通信装置および方法、並びに記録媒体 |
| US6775244B1 (en) * | 1999-06-21 | 2004-08-10 | Intel Corporation | Gathering of device discovery information |
| KR100618967B1 (ko) * | 1999-07-01 | 2006-08-31 | 삼성전자주식회사 | 디지털 인터페이스 연결 관리 방법 |
| US6628607B1 (en) | 1999-07-09 | 2003-09-30 | Apple Computer, Inc. | Method and apparatus for loop breaking on a serial bus |
| US6801507B1 (en) * | 1999-07-27 | 2004-10-05 | Samsung Electronics Co., Ltd. | Device discovery and configuration in a home network |
| US7032024B1 (en) * | 1999-07-29 | 2006-04-18 | Samsung Electronics Co., Ltd. | Connection management method for devices connected digital interface and command structure therefor |
| JP2003506793A (ja) * | 1999-08-09 | 2003-02-18 | クロス マッチ テクノロジーズ, インコーポレイテッド | インターフェイスケーブルを介して位置アドレスおよびラインスキャンデータを有するパケットを送信するシステムおよび方法 |
| EP1134937B1 (en) * | 1999-08-31 | 2006-06-14 | Canon Kabushiki Kaisha | Information signal processing apparatus, corresponding system, method and computer readable storage medium |
| US7130315B1 (en) | 1999-09-10 | 2006-10-31 | Sony Corporation | Method of and apparatus for utilizing extended AV/C command and response frames including transaction label and common result/error code |
| US6910090B1 (en) | 1999-09-21 | 2005-06-21 | Sony Corporation | Maintaining communications in a bus bridge interconnect |
| US6633943B1 (en) * | 1999-09-21 | 2003-10-14 | Sony Corporation | Method and system for the simplification of leaf-limited bridges |
| US6691096B1 (en) | 1999-10-28 | 2004-02-10 | Apple Computer, Inc. | General purpose data container method and apparatus for implementing AV/C descriptors |
| US6671768B1 (en) | 1999-11-01 | 2003-12-30 | Apple Computer, Inc. | System and method for providing dynamic configuration ROM using double image buffers for use with serial bus devices |
| US8762446B1 (en) | 1999-11-02 | 2014-06-24 | Apple Inc. | Bridged distributed device control over multiple transports method and apparatus |
| US6813663B1 (en) | 1999-11-02 | 2004-11-02 | Apple Computer, Inc. | Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images |
| US6587904B1 (en) * | 1999-11-05 | 2003-07-01 | Apple Computer, Inc. | Method and apparatus for preventing loops in a full-duplex bus |
| US6636914B1 (en) | 1999-11-05 | 2003-10-21 | Apple Computer, Inc. | Method and apparatus for arbitration and fairness on a full-duplex bus using dual phases |
| US6457086B1 (en) * | 1999-11-16 | 2002-09-24 | Apple Computers, Inc. | Method and apparatus for accelerating detection of serial bus device speed signals |
| US6728821B1 (en) | 1999-11-29 | 2004-04-27 | Sony Corporation | Method and system for adjusting isochronous bandwidths on a bus |
| US6718424B1 (en) * | 1999-12-10 | 2004-04-06 | Intel Corporation | Bridge circuit for use in a computing platform |
| FR2802740B1 (fr) * | 1999-12-15 | 2002-08-09 | Canon Kk | Procede et dispositif de communication entre deux noeuds d'interconnexion connectes a deux bus de communication |
| JP3598923B2 (ja) * | 1999-12-20 | 2004-12-08 | セイコーエプソン株式会社 | データ転送制御装置、情報記憶媒体及び電子機器 |
| US6639918B1 (en) | 2000-01-18 | 2003-10-28 | Apple Computer, Inc. | Method and apparatus for border node behavior on a full-duplex bus |
| US7266617B1 (en) | 2000-01-18 | 2007-09-04 | Apple Inc. | Method and apparatus for border node behavior on a full-duplex bus |
| US20010047431A1 (en) * | 2000-02-09 | 2001-11-29 | Eytchison Edward B. | HAVi-VHN bridge solution |
| US7421507B2 (en) | 2000-02-16 | 2008-09-02 | Apple Inc. | Transmission of AV/C transactions over multiple transports method and apparatus |
| US7050453B1 (en) | 2000-02-17 | 2006-05-23 | Apple Computer, Inc. | Method and apparatus for ensuring compatibility on a high performance serial bus |
| US6831928B1 (en) | 2000-02-17 | 2004-12-14 | Apple Computer, Inc. | Method and apparatus for ensuring compatibility on a high performance serial bus |
| US7111079B2 (en) | 2000-02-23 | 2006-09-19 | Koninklijke Philips Electronics, N.V. | Architecture of a bridge between a non-IP network and the web |
| AU2001238414A1 (en) * | 2000-02-25 | 2001-09-03 | John Buchbinder | Personal server technology |
| KR100339359B1 (ko) * | 2000-04-07 | 2002-06-03 | 구자홍 | 홈 네트워크 시스템의 리셋 처리 방법 |
| JP2001292146A (ja) * | 2000-04-07 | 2001-10-19 | Sony Corp | 電子機器およびディジタルシリアルデータのインタフェース装置のバス初期化フェーズにおける処理方法 |
| US6618785B1 (en) | 2000-04-21 | 2003-09-09 | Apple Computer, Inc. | Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus |
| US6718497B1 (en) | 2000-04-21 | 2004-04-06 | Apple Computer, Inc. | Method and apparatus for generating jitter test patterns on a high performance serial bus |
| DE10023703A1 (de) * | 2000-05-16 | 2001-11-22 | Bosch Gmbh Robert | Verfahren zum Hinzufügen eines Geräts in einem Fahrzeugkommunikationsnetz |
| US6931593B1 (en) * | 2000-05-22 | 2005-08-16 | Gateway Inc. | Automatic channel generation for home network systems |
| US8090811B2 (en) * | 2000-06-06 | 2012-01-03 | Panasonic Electric Works Co., Ltd. | Service provider for embedded devices using a message store |
| US6601086B1 (en) * | 2000-06-06 | 2003-07-29 | Emware, Inc. | Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices |
| US6647448B1 (en) | 2000-06-29 | 2003-11-11 | Sony Corporation | Method and apparatus for managing resource schedules in a peer to peer distributed networking environment |
| US6901444B1 (en) | 2000-06-30 | 2005-05-31 | Sony Corporation | Method of and apparatus for communicating data structures between devices in a networking environment |
| US6757773B1 (en) | 2000-06-30 | 2004-06-29 | Sony Corporation | System and method for determining support capability of a device coupled to a bus system |
| JP2002033750A (ja) * | 2000-07-18 | 2002-01-31 | Sony Corp | 情報処理装置及び方法、媒体 |
| ES2272541T3 (es) * | 2000-08-23 | 2007-05-01 | Koninklijke Philips Electronics N.V. | Sistema y dispositivo de comunicaciones. |
| WO2002027472A1 (en) * | 2000-09-27 | 2002-04-04 | Thomson Licensing S.A. | Architecture for optimizing audio and video output states for multimedia devices |
| US7103906B1 (en) | 2000-09-29 | 2006-09-05 | International Business Machines Corporation | User controlled multi-device media-on-demand system |
| ES2312475T3 (es) | 2000-10-11 | 2009-03-01 | United Video Properties, Inc. | Sistemas y metodos para proporcionar el almacenamiento de datos en servidores de un sistema de entrega de medios bajo demanda. |
| US6907012B1 (en) * | 2000-10-24 | 2005-06-14 | At & T Corp. | Method and system for providing communication control functionality at a remotely located site using a distributed feature architecture |
| JP4484353B2 (ja) * | 2000-10-31 | 2010-06-16 | キヤノン株式会社 | 通信制御装置及びその制御方法及び通信システム |
| US7027411B1 (en) * | 2000-10-31 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Method and system for identifying and processing changes to a network topology |
| JP4683587B2 (ja) * | 2000-10-31 | 2011-05-18 | キヤノン株式会社 | 通信制御装置及び方法 |
| US6874012B1 (en) * | 2000-11-01 | 2005-03-29 | Sun Microsystems, Inc. | System and method for a display device using a priority messaging protocol |
| JP2002164898A (ja) * | 2000-11-24 | 2002-06-07 | Matsushita Electric Ind Co Ltd | データ送受信装置及びデータ送受信方法 |
| JP2002183424A (ja) * | 2000-12-13 | 2002-06-28 | Matsushita Electric Ind Co Ltd | 機器情報送受信方法および機器情報送受信システム |
| DE10062545A1 (de) * | 2000-12-15 | 2002-06-20 | Bosch Gmbh Robert | Verfahren zur Überprüfung eines Netzwerkes und Netzwerk hierzu |
| JP4059423B2 (ja) * | 2001-01-12 | 2008-03-12 | パイオニア株式会社 | データ伝送システム、コネクション回復方法及び情報伝送装置 |
| JP2002232977A (ja) * | 2001-02-02 | 2002-08-16 | Hitachi Ltd | 制御装置、被制御装置、制御方法および制御システム |
| KR100750735B1 (ko) | 2001-02-03 | 2007-08-22 | 삼성전자주식회사 | 홈네트워크내의 기기 제어장치 및 방법 및 이를 적용한홈네트워크 시스템 |
| JP2002261763A (ja) * | 2001-02-27 | 2002-09-13 | Brother Ind Ltd | ネットワークシステム、ネットワーク機器、ネットワーク制御機器、及び、機器番号設定部材 |
| JP4291467B2 (ja) * | 2001-03-01 | 2009-07-08 | 株式会社ソニー・コンピュータエンタテインメント | エンタテインメント装置、メニュー表示方法および情報記録媒体 |
| DE60140857D1 (de) | 2001-03-15 | 2010-02-04 | Sony Deutschland Gmbh | Steuerung von Heimnetzwerkgeräten |
| EP2597867A1 (en) * | 2001-03-22 | 2013-05-29 | United Video Properties, Inc. | Personal video recorder systems and methods |
| US20020161865A1 (en) * | 2001-04-25 | 2002-10-31 | Gateway, Inc. | Automated network configuration of connected device |
| DE60107545T2 (de) * | 2001-05-22 | 2006-03-02 | Sony International (Europe) Gmbh | Verfahren zur Auswertung von Information über mehrere Knoten eines Netzwerks |
| US20020194596A1 (en) * | 2001-06-18 | 2002-12-19 | Srivastava Gopal K. | Control of multiple AV-devices by a single master controller using infrared transmitted commands and bus transmitted commands |
| DE10129708A1 (de) * | 2001-06-22 | 2003-01-23 | Thomson Brandt Gmbh | Anordnung von Icons von Netzwerkkomponenten auf einem Bildschirm |
| US7574723B2 (en) * | 2001-07-19 | 2009-08-11 | Macrovision Corporation | Home media network |
| US7676824B2 (en) * | 2001-08-01 | 2010-03-09 | Canon Europa Nv | Method for the processing of remote control signals within a home audiovisual network, corresponding signal, devices and computer program |
| US7257661B2 (en) * | 2001-09-21 | 2007-08-14 | Nxp B.V. | Scalable home control platform and architecture |
| US7003604B2 (en) * | 2001-10-04 | 2006-02-21 | Sony Corporation | Method of and apparatus for cancelling a pending AV/C notify command |
| US20030069960A1 (en) * | 2001-10-04 | 2003-04-10 | Symons Julie A. | Method for describing and comparing data center physical and logical topologies and device configurations |
| US6944704B2 (en) * | 2001-10-04 | 2005-09-13 | Sony Corporation | Method and apparatus for utilizing extended AV/C command frames including status inquiry, notify inquiry and control inquiry command types |
| US6996658B2 (en) | 2001-10-17 | 2006-02-07 | Stargen Technologies, Inc. | Multi-port system and method for routing a data element within an interconnection fabric |
| US20030126220A1 (en) * | 2001-12-27 | 2003-07-03 | James Wanless | Quick reply codes for communication of information between electronic devices |
| KR100406857B1 (ko) * | 2002-01-09 | 2003-11-21 | 엘지전자 주식회사 | 홈네트워크에서의 구성 매니저 결정방법 |
| JP3844218B2 (ja) * | 2002-04-03 | 2006-11-08 | ソニー株式会社 | 信号処理システム、信号入力装置及び通信制御方法 |
| US7181511B1 (en) * | 2002-04-15 | 2007-02-20 | Yazaki North America, Inc. | System and method for using software objects to manage devices connected to a network in a vehicle |
| US8156525B2 (en) * | 2002-05-20 | 2012-04-10 | Sony Corporation | Information-processing system, information-processing device, and information-processing method |
| US7305680B2 (en) * | 2002-08-13 | 2007-12-04 | Sharp Laboratories Of America, Inc. | Listening module for asynchronous messages sent between electronic devices of a distributed network |
| JP2004096146A (ja) * | 2002-08-29 | 2004-03-25 | Sony Corp | 通信装置、通信制御方法、およびプログラム、並びに記録媒体 |
| US7133955B2 (en) * | 2002-09-11 | 2006-11-07 | Stargen, Inc. | System and method for selecting fabric master |
| US7224366B2 (en) | 2002-10-17 | 2007-05-29 | Amx, Llc | Method and system for control system software |
| US8356067B2 (en) * | 2002-10-24 | 2013-01-15 | Intel Corporation | Servicing device aggregates |
| US8931010B2 (en) * | 2002-11-04 | 2015-01-06 | Rovi Solutions Corporation | Methods and apparatus for client aggregation of media in a networked media system |
| US7457302B1 (en) | 2002-12-31 | 2008-11-25 | Apple Inc. | Enhancement to loop healing for malconfigured bus prevention |
| US7417973B1 (en) | 2002-12-31 | 2008-08-26 | Apple Inc. | Method, apparatus and computer program product for ensuring node participation in a network bus |
| US20040139251A1 (en) * | 2003-01-14 | 2004-07-15 | Cheng-Chi Liao | Building-block system framework for information appliance |
| US7493646B2 (en) | 2003-01-30 | 2009-02-17 | United Video Properties, Inc. | Interactive television systems with digital video recording and adjustable reminders |
| US7574691B2 (en) * | 2003-03-17 | 2009-08-11 | Macrovision Corporation | Methods and apparatus for rendering user interfaces and display information on remote client devices |
| US7213228B2 (en) * | 2003-03-17 | 2007-05-01 | Macrovision Corporation | Methods and apparatus for implementing a remote application over a network |
| US7457831B2 (en) * | 2003-03-31 | 2008-11-25 | Microsoft Corporation | Peripheral device driver maintenance scheme for networked peripheral device clients |
| FR2854016A1 (fr) * | 2003-04-17 | 2004-10-22 | Thomson Licensing Sa | Methode de transmission des messages de reinitialisation de bus ieee 1394 et appareil implementant la methode |
| US7353284B2 (en) | 2003-06-13 | 2008-04-01 | Apple Inc. | Synchronized transmission of audio and video data from a computer to a client via an interface |
| US7668099B2 (en) * | 2003-06-13 | 2010-02-23 | Apple Inc. | Synthesis of vertical blanking signal |
| US8275910B1 (en) | 2003-07-02 | 2012-09-25 | Apple Inc. | Source packet bridge |
| RU2319309C2 (ru) * | 2003-08-07 | 2008-03-10 | Самсунг Электроникс Ко., Лтд. | Аудио/видеоустройство, устройство и способ для управления аудио/видеоустройством |
| KR100587539B1 (ko) | 2003-08-09 | 2006-06-08 | 삼성전자주식회사 | 영상기기와 주변기기간의 지능화 연결 설정 방법 및 시스템 |
| US20080126936A1 (en) * | 2003-08-21 | 2008-05-29 | Gary Williams | Electronic/software multimedia library control system and methods of use thereof |
| DE10340156A1 (de) * | 2003-09-01 | 2005-03-24 | Deutsche Thomson-Brandt Gmbh | Verfahren und Vorrichtung zum Ermitteln elektronischer Informationen über Übertragungsgeschwindigkeiten in einem Netzwerk |
| US7788567B1 (en) | 2003-11-18 | 2010-08-31 | Apple Inc. | Symbol encoding for tolerance to single byte errors |
| US7995606B1 (en) | 2003-12-03 | 2011-08-09 | Apple Inc. | Fly-by and ack-accelerated arbitration for broadcast packets |
| US7308517B1 (en) | 2003-12-29 | 2007-12-11 | Apple Inc. | Gap count analysis for a high speed serialized bus |
| US7237135B1 (en) | 2003-12-29 | 2007-06-26 | Apple Inc. | Cyclemaster synchronization in a distributed bridge |
| EP1577764B1 (en) * | 2004-03-18 | 2006-08-02 | Alcatel | Method for identifying a control element |
| US7596227B2 (en) * | 2004-06-08 | 2009-09-29 | Dartdevices Interop Corporation | System method and model for maintaining device integrity and security among intermittently connected interoperating devices |
| DE102004031945A1 (de) * | 2004-06-30 | 2006-03-09 | Deutsche Thomson-Brandt Gmbh | Verfahren zur Bereitstellung einer Tabelle stationsspezifischer Informationen in einem Netzwerk verteilter Stationen sowie Netzwerkstation für die Durchführung des Verfahrens |
| US7631042B2 (en) * | 2004-06-30 | 2009-12-08 | International Business Machines Corporation | Method to update status on multiple voice and text systems from a single device |
| US8086575B2 (en) | 2004-09-23 | 2011-12-27 | Rovi Solutions Corporation | Methods and apparatus for integrating disparate media formats in a networked media system |
| US7768388B2 (en) | 2005-01-05 | 2010-08-03 | Rovi Solutions Corporation | Methods and apparatus for providing notifications in a media system |
| US8155120B2 (en) * | 2005-06-09 | 2012-04-10 | Whirlpool Corporation | Software architecture system and method for discovering components within an appliance using fuctionality identifiers |
| EP2228969B1 (en) * | 2005-06-09 | 2017-04-19 | Whirlpool Corporation | Software architecture system and method for communication with, and management of, at least one component within a household appliance |
| US7873683B2 (en) | 2005-07-01 | 2011-01-18 | Qnx Software Systems Gmbh & Co. Kg | File system having transaction record coalescing |
| US8959125B2 (en) | 2005-07-01 | 2015-02-17 | 226008 Ontario Inc. | File system having inverted hierarchical structure |
| US7970803B2 (en) | 2005-07-01 | 2011-06-28 | Qnx Software Systems Gmbh & Co. Kg | Optimized startup verification of file system integrity |
| WO2007030421A2 (en) | 2005-09-07 | 2007-03-15 | Amx Llc | Method and computer program for device configuration |
| US20070150817A1 (en) * | 2005-12-23 | 2007-06-28 | Ducheneaut Nicolas B | User interface and method for composing services in a ubiquitous computing environment through direction and selection operators |
| US9467322B2 (en) * | 2005-12-27 | 2016-10-11 | Rovi Solutions Corporation | Methods and apparatus for integrating media across a wide area network |
| US8607287B2 (en) | 2005-12-29 | 2013-12-10 | United Video Properties, Inc. | Interactive media guidance system having multiple devices |
| US9681105B2 (en) | 2005-12-29 | 2017-06-13 | Rovi Guides, Inc. | Interactive media guidance system having multiple devices |
| US20070214277A1 (en) * | 2006-03-07 | 2007-09-13 | Ahmed Ali U | Peer-to-peer network communications using SATA/SAS technology |
| US7929551B2 (en) * | 2006-06-01 | 2011-04-19 | Rovi Solutions Corporation | Methods and apparatus for transferring media across a network using a network interface device |
| US8566503B2 (en) | 2006-08-25 | 2013-10-22 | Qnx Software Systems Limited | Multimedia filesystem having unified representation of content on diverse multimedia devices |
| US7908276B2 (en) | 2006-08-25 | 2011-03-15 | Qnx Software Systems Gmbh & Co. Kg | Filesystem having a filename cache |
| US8417731B2 (en) | 2006-12-28 | 2013-04-09 | Sap Ag | Article utilizing a generic update module with recursive calls identify, reformat the update parameters into the identified database table structure |
| US7730056B2 (en) * | 2006-12-28 | 2010-06-01 | Sap Ag | Software and method for utilizing a common database layout |
| US8606799B2 (en) | 2006-12-28 | 2013-12-10 | Sap Ag | Software and method for utilizing a generic database query |
| US8103363B2 (en) * | 2007-01-31 | 2012-01-24 | Hewlett-Packard Development Company, L.P. | Device control system |
| US20080225828A1 (en) * | 2007-03-15 | 2008-09-18 | Microsoft Corporation | Enabling routing of data on a network |
| US20080225869A1 (en) * | 2007-03-15 | 2008-09-18 | Microsoft Corporation | Enabling sharing of devices on a network |
| US8107469B2 (en) | 2007-03-15 | 2012-01-31 | Microsoft Corporation | Enabling routing of data on a network based on a portion of data accessed from a non-network enabled device |
| US8094037B2 (en) * | 2007-03-30 | 2012-01-10 | Sony Corporation | Method and apparatus for identifying an electronic appliance |
| US20090019492A1 (en) | 2007-07-11 | 2009-01-15 | United Video Properties, Inc. | Systems and methods for mirroring and transcoding media content |
| US8209443B2 (en) * | 2008-01-31 | 2012-06-26 | Hewlett-Packard Development Company, L.P. | System and method for identifying lost/stale hardware in a computing system |
| US8601526B2 (en) | 2008-06-13 | 2013-12-03 | United Video Properties, Inc. | Systems and methods for displaying media content and media guidance information |
| US10063934B2 (en) | 2008-11-25 | 2018-08-28 | Rovi Technologies Corporation | Reducing unicast session duration with restart TV |
| US9014546B2 (en) | 2009-09-23 | 2015-04-21 | Rovi Guides, Inc. | Systems and methods for automatically detecting users within detection regions of media devices |
| US8782237B2 (en) | 2010-01-28 | 2014-07-15 | Intel Corporation | Audio/video streaming in a topology of devices |
| US8484661B2 (en) * | 2010-03-19 | 2013-07-09 | At&T Mobility Ii Llc | Agnostic execution cluster for an agnostic execution environment |
| US8826312B2 (en) * | 2010-04-26 | 2014-09-02 | Cox Communications, Inc. | Broadcast remote control |
| US9107140B2 (en) | 2010-08-13 | 2015-08-11 | At&T Mobility Ii Llc | Carrier-driven bearer path selection |
| US8805418B2 (en) | 2011-12-23 | 2014-08-12 | United Video Properties, Inc. | Methods and systems for performing actions based on location-based rules |
| US9674563B2 (en) | 2013-11-04 | 2017-06-06 | Rovi Guides, Inc. | Systems and methods for recommending content |
| US20150261861A1 (en) * | 2014-03-12 | 2015-09-17 | Futurewei Technologies, Inc. | Framework for Composing Real-Time Media Using a Declarative Mark-Up Language |
| US10257223B2 (en) * | 2015-12-21 | 2019-04-09 | Nagravision S.A. | Secured home network |
| US11196837B2 (en) | 2019-03-29 | 2021-12-07 | Intel Corporation | Technologies for multi-tier prefetching in a context-aware edge gateway |
| US11711268B2 (en) | 2019-04-30 | 2023-07-25 | Intel Corporation | Methods and apparatus to execute a workload in an edge environment |
| US11507545B2 (en) * | 2020-07-30 | 2022-11-22 | EMC IP Holding Company LLC | System and method for mirroring a file system journal |
| US11669501B2 (en) | 2020-10-29 | 2023-06-06 | EMC IP Holding Company LLC | Address mirroring of a file system journal |
| CN113587393B (zh) * | 2021-08-05 | 2022-11-29 | 青岛海信日立空调系统有限公司 | 中央空调控制系统 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2725257B2 (ja) * | 1987-09-16 | 1998-03-11 | ソニー株式会社 | ディジタル記録装置 |
| JP3243803B2 (ja) * | 1991-08-28 | 2002-01-07 | ソニー株式会社 | Av機器 |
| GB2268816B (en) * | 1992-07-14 | 1996-01-17 | Sony Broadcast & Communication | Controlling equipment |
| US5724517A (en) * | 1994-09-27 | 1998-03-03 | International Business Machines Corporation | Method for generating a topology map for a serial bus |
| US5815678A (en) * | 1995-07-14 | 1998-09-29 | Adaptec, Inc. | Method and apparatus for implementing an application programming interface for a communications bus |
| US5764930A (en) * | 1996-04-01 | 1998-06-09 | Apple Computer, Inc. | Method and apparatus for providing reset transparency on a reconfigurable bus |
| WO1997049057A2 (en) * | 1996-06-21 | 1997-12-24 | Sony Electronics, Inc. | Device user interface with topology map |
-
1998
- 1998-01-06 US US09/003,118 patent/US6160796A/en not_active Expired - Fee Related
-
1999
- 1999-01-06 EP EP99300080A patent/EP0929170A3/en not_active Withdrawn
- 1999-01-06 JP JP11001470A patent/JPH11317751A/ja not_active Withdrawn
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001229114A (ja) * | 1999-12-08 | 2001-08-24 | Sony Corp | 情報処理装置および方法、並びにプログラム格納媒体 |
| WO2002017624A1 (en) * | 2000-08-18 | 2002-02-28 | Matsushita Electric Industrial Co., Ltd. | Control device, controlled device with passing-through function, controlled device, control method, medium and program |
| KR100835444B1 (ko) | 2000-09-08 | 2008-06-04 | 소니 가부시끼 가이샤 | 정보 처리 장치 및 방법, 정보 처리 시스템, 및 프로그램기억 매체 |
| US7639919B2 (en) | 2001-10-11 | 2009-12-29 | Sony Corporation | Signal processing system, signal outputting device, signal inputting device, and communication control method |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0929170A3 (en) | 2003-11-12 |
| EP0929170A2 (en) | 1999-07-14 |
| US6160796A (en) | 2000-12-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH11317751A (ja) | 識別情報提供方法及び識別情報提供装置 | |
| JPH11275117A (ja) | 情報アクセス方法及び情報アクセス装置 | |
| US6694349B1 (en) | Method and system for message dispatching in a home audio/video network | |
| US6496860B2 (en) | Media manager for controlling autonomous media devices within a network environment and managing the flow and format of data between the devices | |
| US6349352B1 (en) | Home audio/video network with both generic and parameterized device control | |
| EP1046259B1 (en) | Method and system related to an audio/video network | |
| US6032202A (en) | Home audio/video network with two level device control | |
| US6052750A (en) | Home audio/video network for generating default control parameters for devices coupled to the network, and replacing updated control parameters therewith | |
| US6085236A (en) | Home audio video network with device control modules for incorporating legacy devices | |
| JP2002525732A (ja) | 通信方法及び通信システム | |
| JP2002526857A (ja) | プロパティルートを介したソフトウェアオブジェクトの制御用のコール識別シナリオ | |
| US7284259B1 (en) | Transmitting method, transmitting system and transmission control device | |
| HK1020127A (en) | Methods, systems and apparatus for providing device status information within a communication network | |
| HK1020128A (en) | Methods, systems and apparatus for providing device identification within a network |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060307 |