JP5029379B2 - ノード管理装置、ノード、ノード管理方法およびコンピュータプログラム - Google Patents

ノード管理装置、ノード、ノード管理方法およびコンピュータプログラム Download PDF

Info

Publication number
JP5029379B2
JP5029379B2 JP2008009109A JP2008009109A JP5029379B2 JP 5029379 B2 JP5029379 B2 JP 5029379B2 JP 2008009109 A JP2008009109 A JP 2008009109A JP 2008009109 A JP2008009109 A JP 2008009109A JP 5029379 B2 JP5029379 B2 JP 5029379B2
Authority
JP
Japan
Prior art keywords
node
information
data field
bits
hub
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.)
Active
Application number
JP2008009109A
Other languages
English (en)
Other versions
JP2009171401A (ja
Inventor
浩幸 橋本
憲一郎 富田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2008009109A priority Critical patent/JP5029379B2/ja
Publication of JP2009171401A publication Critical patent/JP2009171401A/ja
Application granted granted Critical
Publication of JP5029379B2 publication Critical patent/JP5029379B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、ルートハブに階層的に接続されるノードを管理する技術と、そのノードについての技術とに関する。
パソコンに周辺機器を接続するためのインタフェースの1つとして、USB(ユニバーサル・シリアル・バス)の規格がある。USBによれば、ホストコントローラに対して、ハブを設けることによってツリー状に、すなわち階層的に最大127台までの機器を増設することができる。
ハブおよび機器は「ノード」と呼ばれる。ホストコントローラは、内部に管理情報を備えることにより、ノードがどのようなトポロジ(接続形態)で接続されているかを管理している。具体的な一例としては、特許文献1に示すように、ノードの接続時に割り当てられたアドレスに加えて、階層の深さを示す段数を把握することにより上記管理を行っている。ホストコントローラは、ノードに対してアドレスを通知するとともに、必要に応じて段数を通知する。
特開2002−7307号公報
ホストコントローラのルートハブには2以上のポートが設けられている。近年、周辺機器によっては、この2以上のポートのうちの予め定めた特定のポートに接続した場合に特別な動作を実行する仕様とすることがある。上記段数およびアドレスを管理しているだけでは、周辺機器がルートハブのどのポートにつながっているかを容易に認識することができないことから、上記仕様を満たす構成とするには、多大の設計変更を行う必要があり、構成が複雑化する問題があった。設計変更としては、ノードに専用のエンドポイントを設ける等の回路的な変更、あるいは、内部管理情報を見直し、内部管理情報を新たに通知するなどのソフトウェア的な変更が考えられるが、いずれにしろ構成が複雑化した。
本発明は、上記した従来の課題の少なくとも一部を解決するためになされた発明であり、所定のハブの所定のポートに接続されたデバイスのみが特別な動作をする仕様を簡単な構成でもって実現することを目的とする。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
[適用例1]
所定のインタフェースのルートハブを備え、前記ルートハブに階層的に接続されるノードを管理するノード管理装置であって、
管理情報を記憶するためのメモリと、
前記管理情報の備えるnビット(nは整数)の第1のデータフィールドのうち、下位kビット(kはnより小さな整数)に、前記ノードについての前記接続の階層の深さを示す情報を格納する第1の情報格納手段と、
前記第1のデータフィールドのうち、前記下位kビットを除く部分の少なくとも一部に、前記ノードの上の階層に位置する所定のハブにおける当該ノードにつながるポートを示す情報を格納する第2の情報格納手段と
を備えるノード管理装置。
適用例1のノード管理装置によれば、ノードについての接続の階層の深さを示す情報を記憶するための第1のデータフィールドに、本来格納すべき前記階層の深さを示す情報と共に、前記ノードの上の階層に位置する所定のハブにおける当該ノードにつながるポートを示す情報を記憶させることができる。このために、所定のインタフェースの規格に準拠した形で、ノードの接続元である所定のハブにおける当該ノードにつながるポートを示す情報を管理することができる。
したがって、適用例1のノード管理装置によれば、ノードが当該ノードよりも上の階層に位置する所定のハブのどのポートにつながっているかを容易に認識することができることから、前記所定のハブに備えられた所定のポートに接続されたノードのみが特別な動作をする仕様を簡単な構成でもって実現することが可能となる。
[適用例2]
適用例1に記載のノード管理装置であって、前記所定のハブは、前記ルートハブである、ノード管理装置。この構成によれば、ルートハブに備えられた所定のポートに接続されたノードのみが特別な動作をする仕様を簡単な構成でもって実現することができる。
[適用例3]
適用例1または2に記載のノード管理装置であって、前記管理情報の備える第2のデータフィールドに、前記ノードについての割り当てられたアドレスを格納する第3の情報格納手段を備えるノード管理装置。この構成によれば、管理情報の1つとして、各ノードに割り当てられたアドレスも得ることができる。
[適用例4]
適用例1ないし3のいずれかに記載のノード管理装置であって、前記第1のデータフィールドに格納された情報を一括して前記ノードに通知する通知手段を備えるノード管理装置。この構成によれば、USBに準拠して第1のデータフィールドに格納された情報をノードに通知することができる。
[適用例5]
所定のインタフェースのルートハブに階層的に接続されるノードを管理するノード管理装置から通知された情報を受けるノードであって、
前記情報を構成する、前記ノードについての前記接続の階層の深さを示す情報を記憶するためのnビット(nは整数)の第1のデータフィールドのうち、下位kビット(kはnより小さな整数)を除く部分の少なくとも一部から、前記ノードの上の階層に位置する所定のハブにおける当該ノードにつながるポートを示す情報を抽出する情報抽出手段と、
前記情報抽出手段により抽出された情報に基づいて、前記ノードにおける動作を制限する動作制限手段と
を備えるノード。
適用例5のノードによれば、当該ノードよりも上の階層に位置する所定のハブに備えられた所定のポートに接続されたノードについての動作の制限を容易に行うことができる。
[適用例6]
メモリに管理情報を格納して、所定のインタフェースのルートハブに階層的に接続されるノードを管理するノード管理方法であって、
前記管理情報の備えるnビット(nは整数)の第1のデータフィールドのうち、下位kビット(kはnより小さな整数)に、前記ノードについての前記接続の階層の深さを示す情報を格納する第1の工程と、
前記第1のデータフィールドのうち、前記下位kビットを除く部分の少なくとも一部に、前記ノードの上の階層に位置する所定のハブにおける当該ノードにつながるポートを示す情報を格納する第2の工程と
を備えるノード管理方法。
[適用例7]
所定のインタフェースのルートハブと、メモリとを備えるコンピュータにおいて、前記ルートハブに階層的に接続されるノードを管理するためのコンピュータプログラムにおいて、
前記管理情報の備えるnビット(nは整数)の第1のデータフィールドのうち、下位kビット(kはnより小さな整数)に、前記ノードについての前記接続の階層の深さを示す情報を格納する第1の機能と、
前記第1のデータフィールドのうち、前記下位kビットを除く部分の少なくとも一部に、前記ノードの上の階層に位置する所定のハブにおける当該ノードにつながるポートを示す情報を格納する第2の機能と
を前記コンピュータに実現させるコンピュータプログラム。
適用例6のノード管理方法および適用例7のコンピュータプログラムによれば、適用例1のノード管理装置と同様に、ノードが当該ノードよりも上の階層に位置する所定のハブのどのポートにつながっているかを容易に認識することができることから、前記所定のハブに備えられた所定のポートに接続されたノードのみが特別な動作をする仕様を簡単な構成でもって実現することが可能となる。
[適用例8]
適用例7に記載のコンピュータプログラムであって、前記第1のデータフィールドに格納された情報を一括して前記ノードに通知する第3の機能をさらにコンピュータに実現させるコンピュータプログラム。
[適用例9]
所定のインタフェースのルートハブに階層的に接続されるノードを管理するノード管理装置から通知された情報を受けるノードにおいて実行するためのコンピュータプログラムであって、
前記情報を構成する、前記ノードについての前記接続の階層の深さを示す情報を記憶するためのnビット(nは整数)の第1のデータフィールドのうち、下位kビット(kはnより小さな整数)を除く部分の少なくとも一部から、前記ノードの上の階層に位置する所定のハブにおける当該ノードにつながるポートを示す情報を抽出する機能と、
前記抽出された情報に基づいて、前記ノードにおける動作を制限する機能と
を前記ノードに実現させるコンピュータプログラム。
適用例9のノード用のコンピュータプログラムによれば、適用例5のノードと同様に、当該ノードよりも上の階層に位置する所定のハブに備えられた所定のポートに接続されたノードについての動作の制限を容易に行うことができる。
本発明は、上記以外の種々の適用例又は形態で実現可能であり、例えば、適用例であるノード管理装置およびノードを含むシステムの形態、適用例であるノード管理装置を備える各種の装置(例えばプロジェクタ)としての形態等で実現することが可能である。
以下、本発明に係るノード管理装置、ノード、ノード管理方法およびコンピュータプログラムについて、図面を参照しつつ、実施例に基づいて説明する。
1.ハードウェアの構成:
図1は、本発明の一実施例としてのプロジェクタシステムの概略構成を示す説明図である。図示するように、プロジェクタシステム1は、プロジェクタ10と、このプロジェクタ10に接続される5台の周辺機器、すなわち、第1の周辺機器(以下、「機器A」と呼ぶ)21、第2の周辺機器(以下、「機器B」と呼ぶ)22、第3の周辺機器(以下、「機器C」と呼ぶ)23、第4の周辺機器(以下、「機器D」と呼ぶ)24および第5の周辺機器(以下、「機器E」と呼ぶ)25とを備える。プロジェクタ10と機器A21〜機器E25との間は、USBインタフェースを利用して接続されている。詳細には、ハブ(集線装置)30を設けることによってプロジェクタ10に対してツリー状に、すなわち階層的に機器A21〜機器E25が接続されている。
プロジェクタ10は、画像や映像を大型スクリーンなどに投影することにより表示を行う装置である。プロジェクタ10は、本発明に係るノード管理装置に相当する。機器A21〜機器E25は、キーボード、マウス、モニタ、記憶デバイス、通信デバイスである。なお、機器A21〜機器E25はこれら以外のデバイス、すなわちUSBを搭載したデバイスとすることもできる。機器A21〜機器E25は、本発明に係るノードに相当する。
図2は、プロジェクタシステムの電気的な構成を示すブロック図である。プロジェクタ10は、内部にCPU11、メモリ12、ホストコントローラ14、ルートハブ16等を備える。CPU11は中央演算処理装置である。メモリ12は、各種データや各種プログラム等を記憶し、CPU11の作業領域となる。ホストコントローラ14はUSBインタフェースユニットである。ルートハブ16は、最初のUSBハブの接続部であり、ホストコントローラ14に一体化されている。本実施例では、ルートハブ16は3つのポート16a,16b,16cを備える。CPU11とメモリ12とホストコントローラ14との間はバス17により相互に接続されている。
また、プロジェクタ10の背面には2つのUSBコネクタ18a,18bが設けられており、プロジェクタ10の側面には1つのUSBコネクタ18cが設けられている。ルートハブ16の第1のポート16aはUSBコネクタ18aに、ルートハブ16の第2のポート16bはUSBコネクタ18bに、ルートハブ16の第3のポート16cはUSBコネクタ18cにそれぞれ結線されている。なお、第1のポート16aはポート番号が1であり、第2のポート16bはポート番号が2であり、第3のポート16cはポート番号が3であるものとする。
プロジェクタ10の背面に設けられた一のUSBコネクタ18aには、ハブ30が接続されている。詳細には、USBコネクタ18aとハブ30のアップポート(入力側のUSBコネクタ)32との間がUSBケーブル41により接続されている。
ハブ30は、4つのダウンポート(出力側のUSBコネクタ)34a,34b,34c,34dを備えている。第1のダウンポート34aにはUSBケーブル42を介して機器A21が接続され、第2のダウンポート34bにはUSBケーブル43を介して機器B22が接続され、第3のダウンポート34cにはUSBケーブル44を介して機器C23が接続されている。第4のダウンポート34dは空きの状態である。
一方、プロジェクタ10の背面に設けられた他のUSBコネクタ18bには、USBケーブル45を介して機器D24が接続されている。また、プロジェクタ10の側面に設けられたUSBコネクタ18cには、USBケーブル46を介して機器E25が接続されている。
上述してきた接続の結果、階層の深さを示す段数が0である第0段目にルートハブが備えられ、段数が1である第1段目にハブ30と機器D24と機器E25とが備えられ、段数が2である第2段目に機器A21と機器B22と機器C23とが備えられるトポロジが構築されたことになる。上記構築したトポロジは、あくまでも一例であり、実現すべきシステムの内容に併せて適宜に設計される。なお、ハブ30および機器A21〜機器E25は、以下、必要に応じて「ノード」と呼ぶ。また、プロジェクタ10は、必要に応じて「ホスト」あるいは「コンピュータ」と呼ぶ。
2.内部管理情報の構成:
プロジェクタ10の備えられるメモリ12には、上記トポロジを示す内部管理情報MNが記憶されている(図2参照)。
図3は、内部管理情報MNを概念的に示す説明図である。内部管理情報MNは、テーブル形式のデータであり、ノード毎にデータの集合の一単位(以下、「レコード」と呼ぶ)を備える。各レコードR1〜R6は、該当するノードについての接続の階層の深さを示す段数を記憶するための[段数]データフィールドDF1と、該当するノードのアドレスを記憶するための[アドレス]データフィールドDF2等を備える。
[段数]データフィールドDF1は、8ビットのサイズであり、下位の4ビットに上記段数が格納され、上位の4ビットに、ルートハブ16における当該ノードにつながる(ここでいう「つながる」は直接に接続される場合と、ハブを介して間接的に接続される場合とを含む、以下同じ)ポートを示すポート番号が格納されている。なお、この段数が格納される部位と前記ポート番号が格納される部位との区分けは、上記に限る必要はなく、上記段数とポート番号がそれぞれ格納可能なサイズであればどのような区分けとしてもよい。USBでは、ハブの従属接続は5段までと制限されていることから、段数は2進数表記で3ビットあれば済む。このために、下位の3ビットに段数が格納され、上位の5ビットにポート番号が格納される構成を一例とすることができる。また、必ずしも8ビットの全体を使用する必要はなく、下位の3ビットに段数が格納され、上から第2番目から第5番目までの4ビットにポート番号が格納される構成としてもよい。なお、段数が格納される部位は、右詰めとされている必要がある。[段数]データフィールドDF1を含めた内部管理情報MNのデータ構造は、USBの規格にもともと準拠したものであり、本実施例では、その規格により規定された[段数]データフィールドDF1を利用するようにしているためである。
上記[段数]データフィールドDF1は、換言すれば、n(nは整数)=8、k(kはnより小さな整数)=4として、nビットの[段数]データフィールドDF1のうち、下位kビットに上記段数が格納され、下位kビットを除く部分の少なくとも一部に、上記ポート番号が格納されていることになる。そして、nとkは、上記段数とポート番号がそれぞれ格納可能なサイズであればどのような値とすることもできる。
[アドレス]データフィールドDF2は、7ビットのサイズであり、ノードのアドレスが格納されている。なお、アドレスは、ノードの接続時に割り当てられた、システム内でユニークなものである。
以上のように構成された内部管理情報MNは、プロジェクタ10に新たなノードが接続される毎に、その接続後のトポロジを表す内容に更新される。この内部管理情報MNの更新を含めた新たなノード接続時の処理について、次に詳述する。
3.ホストドライバによる処理:
図4は、ノード接続時に実行されるエニュメレーションの処理を示すフローチャートである。このエニュメレーションの処理は、メモリ12に予め記憶されたホストドライバHD(図2参照)に従ってCPU11により実行される処理である。作業者によって、新たなデバイス(機器)がハブのポートに接続されると、ハブはデバイスの接続を検出して、ホストコントローラ14からの通信待ち状態になる。CPU11は、処理が開始されると、そのデバイスが接続されたポートを開くようにハブに指示することでデバイスに潜入する(ステップS10)。
次いで、CPU11は、デバイスディスクリプタをデバイスに対して要求して、デバイスディスクリプタを取得する(ステップS20)。続いて、デバイスに対して、プロジェクタシステム1内でユニークなアドレスを割り当てる(ステップS30)とともに、そのアドレスデバイスディスクリプタ(クラスコードやVID/PIDなどの)の情報を頼りに、関連するクラスドライバやその他のクライアントドライバなどをロードする(ステップS40)。その後、ステップS30で割り当てたアドレス等に基づいて内部管理情報MNを更新する処理を行い(ステップS50)、このエニュメレーションの処理を一旦終了する。これにより、新たなデバイスは使用可能となる。
図5は、ステップS50で実行される内部管理情報の更新処理の詳細を示すフローチャートである。この更新処理に処理が移行すると、CPU11は、まず、ルートハブ16において上記新たに接続されたノードにつながるポートのポート番号と、段数を求める処理を行う(ステップS52)。上記エニュメレーションの処理は、ハブを含めた新たなノードが接続される毎に繰り返し行われることから、プロジェクタ(ホスト)10は、新たなノードが既に接続されたどのノードのどのポートに接続されたかを理解している。この接続の形態は、USBに準拠する形で、内部管理情報MNに含まれるパラメータにより記憶されている。ステップS52では、このパラメータに基づいて、前記ポート番号と段数とを求めている。
次いで、CPU11は、内部管理情報MNに1レコードを付加する(ステップS53)。続いて、CPU11は、その1レコードに備えられる[段数]データフィールドDF1のうちの上位の4ビットにステップS52で求められたポート番号を書き込む(格納する)とともに(ステップS56)、[段数]データフィールドDF1の下位の4ビットにステップS52で求められた段数を書き込む(格納する)(ステップS58)。
ステップS58の実行後、CPU11は、ステップS59に処理を進めて、ステップS53で付加した1レコードに備えられる[アドレス]データフィールドDF2にステップS30で割り当てたアドレスを書き込む(格納する)。その後、「リターン」に抜けて、この内部管理情報の更新処理を一旦終了する。
上記ステップS58の処理は、本発明のノード管理装置が備える「第1の情報格納手段」に相当する。ステップS56の処理は、本発明のノード管理装置が備える「第2の情報格納手段」に相当する。なお、ステップS56とステップS58の実行順序は、この順に限る必要はなく反転させた順に実行する構成としてもよい。また、ステップS59の処理についても、ステップS54以降であれば、いずれのタイミングで実行してもよい。
なお、エニュメレーションは上述したノード接続時ばかりではなく、ノードを取り外した場合にも実行される。このノード取り外し時におけるエニュメレーションでは、そのノードについての情報やそのノードの下流に位置するノードについての情報を削除するように内部管理情報の更新を行なっている。
図3に例示した各[段数]データフィールドDF2の値は、図2に示したトポロジに対応したものとなっている。すなわち、ハブ30は、ルートハブ16におけるポート番号が1のポートにつながれた第1段目のノードであることから、ハブ30に対応したレコードR1が備える[段数]データフィールドDF2の値は、2進数表記で“00010001“となり、16進数表記で”11“となる。機器Aは、ルートハブ16におけるポート番号が1のポートにつながれた第2段目のノードであることから、機器Aに対応したレコードR2が備える[段数]データフィールドDF2の値は、2進数表記で“00010010“となり、16進数表記で”12“となる。同様に、機器B、Cも、ハブ30に対応したレコードR3,R4が備える[段数]データフィールドDF2の値は、2進数表記で“00010010“となり、16進数表記で”12“となる。
機器Dは、ルートハブ16におけるポート番号が2のポートにつながれた第1段目のノードであることから、機器D24に対応したレコードR5が備える[段数]データフィールドDF2の値は、2進数表記で“00100001“となり、16進数表記で”21“となる。機器E25は、ルートハブ16におけるポート番号が3のポートにつながれた第1段目のノードであることから、機器E25に対応したレコードR6が備える[段数]データフィールドDF2の値は、2進数表記で“00110001“となり、16進数表記で”31“となる。
内部管理情報MNの少なくとも一部を構成する上記[段数]データフィールドDF2の値は、USBに準拠した形で適当な時期に、ホスト10から該当するノードに対して通知される。この通知はパケット単位で送信される。
図6は、ホスト10からノードに対して通知されるパケットの一例を示す説明図である。第1のパケットPK1は、送信先のノード内のエンドポイントを特定するためのもので、[アドレス]データフィールドDF11と[エンドポイント]データフィールドDF12等を備える。[アドレス]データフィールドDF11は、内部管理情報MNの[アドレス]データフィールドDF2の値が格納されている。[エンドポイント]データフィールドDF12は、エンドポイントの番号が格納されている。
第2のパケットPK2は、[段数]データフィールドDF13等を備える。段数]データフィールドDF13には、内部管理情報MNの[段数]データフィールドDF1の値が格納されている。第1および第2のパケットPK2を含めた複数のパケットは、[SYNC]データフィールドDF10の値で1つにくくられる。このケットの集合の形で、プロジェクタ10のホストコントローラ14は、内部管理情報MNの[段数]データフィールドDF2の値を送信する。
4.デバイスドライバによる処理:
前述したノードとしてのハブ30および機器A21〜A25は、CPUとメモリ等を有するマイクロコンピュータを備える。メモリには、このノードの動作を制御するプログラム(以下、「デバイスドライバ」と呼ぶ)が予め記憶されており、CPUはそのデバイスドライバに従って制御処理を実行する。
図7は、デバイスドライバに従う制御処理を示すフローチャートである。図示するように、処理が開始されると、ノードのCPUは、ホストコントローラ14から送られてくる前述したパケットの集合を受信する(ステップS100)。ホストコントローラ14は、パケットをブロードキャストで発行し、ノードは、自身宛のものであることを第1のパケットPK1が備える[アドレス]データフィールドDF11の値で判定して、選択的に受信を行う。
次いで、ノードのCPUは、ステップS100で受信したパケットが備える[段数]データフィールドDF1の値が、16進数表記で“30”以上で、かつ16進数表記で“3F”以下であるか否かを判定する(ステップS110)。この条件を満たすのは、ノードが、ルートハブ16のポート番号が3のポートにつながれたものである場合、すなわち、プロジェクタ10の側面に設けられたUSBコネクタ18cに直接、もしくはハブを介して間接的に接続されたものである。換言すれば、ステップS110では、ノードが、ルートハブ16のポート番号が3のポートにつながれたものであるか否かを判定している。ここで、[段数]データフィールドDF1の値が“30”以上で、かつ“3F”以下であると判定された場合には、ステップS120に処理を進めて、ノードの行うべき所定の処理を実行する。その処理の実行を終えると、「リターン」に抜けてこのルーチンを終了する。
一方、ステップS110で、[段数]データフィールドDF1の値が“30”を下回るか、または“3F”を上回るかした場合には、「NG」であるものとして、上記所定の処理の実行を行うことなく(ステップS130)、「リターン」に抜けてこのルーチンを終了する。
5.実施例効果:
以上説明したように、本実施例のプロジェクタシステム1によれば、USBに準拠した、段数を記憶するための[段数]データフィールドDF1に、本来格納すべき段数と共に、ルートハブ16におけるノードにつながるポートを示すポート番号を記憶させることができる。このために、USBに準拠した形で、ノードの接続元であるルートハブにおける当該ノードにつながるポートのポート番号を内部管理情報MNにより管理することができる。
したがって、プロジェクタシステム1によれば、ノードが、USBに準拠した形で、すなわち、専用のエンドポイントを設ける等の回路的な変更を行うことなく、ルートハブ16におけるどのポートにつながっているかを容易に認識することができる。特に、本実施例では、ルートハブ16の第3のポート(ポート番号=3)16cに結線されたプロジェクタ10側面のUSBコネクタ18cに接続された機器E25を認識することができることから、この機器E25のみに動作を実行させるような仕様を簡単な構成でもって実現することが可能となる。
6.実施例の変形例:
前記実施例では、ノードがルートハブ16のどのポートにつながっているかを、[段数]データフィールドDF1により管理する構成としていたが、これに換えて、ノードが所定のハブ、すなわち当該ノードの上の階層に位置する所定のハブのどのポートにつながっているかを管理する構成としてもよい。すなわち、前記実施例で説明したトポロジ(図2参照)においては、機器A、機器Bまたは機器Cがハブ30の34a,34b,34c,34dのいずれにつながっているかを管理する構成としてもよい。
詳細には、第1実施例で説明した[段数]データフィールドDF1のうち、下位の4ビットに上記段数が格納され、上位の4ビットに、ハブ30における当該ノードにつながるポートを示すポート番号が格納される構成とする。すなわち、[段数]データフィールドは、n(nは整数)ビットのサイズとして、[段数]データフィールドのうち、下位kビット(kはnより小さな整数)に上記段数が格納され、下位kビットを除く部分の少なくとも一部に、ノードの上の階層に位置するハブ30における当該ノードにつながるポート番号が格納される構成とする。
この変形例によれば、ルートハブ以外の所定のハブに直接、もしくはハブを介して間接的に接続されたノードをUSBに準拠した形で容易に認識することができる。したがって、ルートハブ以外の所定のハブに備えられた所定のポートにノードが接続された場合に、そのノードのみが特殊な動作をするような構成を簡単に実現することが可能となる。
7.他の実施形態:
(1)上記実施例および変形例では、ルートハブもしくは所定のハブの特定のポートにノードが接続された場合に、そのノードのみが所定の動作を実行し、そのノードが他のポートに接続された場合には動作を実行しないように構成したが、必ずしも、実行と非実行の択一的な選択とする必要はなく、その特定のポートに接続された場合には第1の動作を実行し、他のポートに接続された場合には第2の動作を実行する構成としてもよい。第1の動作と第2の動作との関係は、全く相違する動作であってもよいし、一部機能を制限したものとしてもよい。機能の制限は、第1の動作、第2の動作のいずれに施す構成としてもよい。
(2)上記実施例および変形例では、ホストとノードとの間のインタフェースをUSBとしたが、これに換えて、HDMI(High-Definition Multimedia Interface)等に応用することができる。要は、階層構造のトポロジを構築することのできるインタフェースであればどのようなものにも応用することができる。例えば、10BASE-T、100BASE-TXなどのスター型のインタフェースに換えることもできる。
(3)上記実施例および変形例では、ルートハブを備えるホストをプロジェクタとして構成したが、プロジェクタに換えて、プリンタ、パーソナルコンピュータ、表示装置、ビデオ装置等の種々の装置として構成してもよい。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
本発明の一実施例としてのプロジェクタシステムの概略構成を示す説明図である。 プロジェクタシステムの電気的な構成を示すブロック図である。 内部管理情報MNを概念的に示す説明図である。 ノード接続時に実行されるエニュメレーションの処理を示すフローチャートである。 内部管理情報の更新処理の詳細を示すフローチャートである。 ホストからノードに対して通知されるパケットの一例を示す説明図である。 デバイスドライバに従う制御処理を示すフローチャートである。
符号の説明
1…プロジェクタシステム
10…プロジェクタ
11…CPU
12…メモリ
14…ホストコントローラ
16…ルートハブ
16a…第1のポート
16b…第2のポート
16c…第3のポート
16c…第3のポート
17…バス
21…機器A
22…機器B
23…機器C
24…機器D
25…機器E
30…ハブ
32…アップポート
34a…第1のダウンポート
34b…第2のダウンポート
34c…第3のダウンポート
34d…第4のダウンポート
DF1…[段数]データフィールド
DF2…[アドレス]データフィールド
HD…ホストドライバ
MN…内部管理情報

Claims (9)

  1. 所定のインタフェースのルートハブを備え、前記ルートハブに階層的に接続されるノードを管理するノード管理装置であって、
    管理情報を記憶するためのメモリと、
    前記管理情報の備えるnビット(nは整数)の第1のデータフィールドのうち、下位kビット(kはnより小さな整数)に、前記ノードについての前記接続の階層の深さを示す情報を格納する第1の情報格納手段と、
    前記第1のデータフィールドのうち、前記下位kビットを除く部分の少なくとも一部に、前記ノードの上の階層に位置する所定のハブにおける当該ノードにつながるポートを示す情報を格納する第2の情報格納手段と
    を備えるノード管理装置。
  2. 請求項1に記載のノード管理装置であって、
    前記所定のハブは、前記ルートハブである、ノード管理装置。
  3. 請求項1または2に記載のノード管理装置であって、
    前記管理情報の備える第2のデータフィールドに、前記ノードについての割り当てられたアドレスを格納する第3の情報格納手段
    を備えるノード管理装置。
  4. 請求項1ないし3のいずれかに記載のノード管理装置であって、
    前記第1のデータフィールドに格納された情報を一括して前記ノードに通知する通知手段を備えるノード管理装置。
  5. 所定のインタフェースのルートハブに階層的に接続されるノードを管理するノード管理装置から通知された情報を受けるノードであって、
    前記情報を構成する、前記ノードについての前記接続の階層の深さを示す情報を記憶するためのnビット(nは整数)の第1のデータフィールドのうち、下位kビット(kはnより小さな整数)を除く部分の少なくとも一部から、前記ノードの上の階層に位置する所定のハブにおける当該ノードにつながるポートを示す情報を抽出する情報抽出手段と、
    前記情報抽出手段により抽出された情報に基づいて、前記ノードにおける動作を制限する動作制限手段と
    を備えるノード。
  6. メモリに管理情報を格納して、所定のインタフェースのルートハブに階層的に接続されるノードを管理するノード管理方法であって、
    前記管理情報の備えるnビット(nは整数)の第1のデータフィールドのうち、下位kビット(kはnより小さな整数)に、前記ノードについての前記接続の階層の深さを示す情報を格納する第1の工程と、
    前記第1のデータフィールドのうち、前記下位kビットを除く部分の少なくとも一部に、前記ノードの上の階層に位置する所定のハブにおける当該ノードにつながるポートを示す情報を格納する第2の工程と
    を備えるノード管理方法。
  7. 所定のインタフェースのルートハブと、メモリとを備えるコンピュータにおいて、前記ルートハブに階層的に接続されるノードを管理するためのコンピュータプログラムにおいて、
    前記メモリに記憶されている管理情報の備えるnビット(nは整数)の第1のデータフィールドのうち、下位kビット(kはnより小さな整数)に、前記ノードについての前記接続の階層の深さを示す情報を格納する第1の機能と、
    前記第1のデータフィールドのうち、前記下位kビットを除く部分の少なくとも一部に、前記ノードの上の階層に位置する所定のハブにおける当該ノードにつながるポートを示す情報を格納する第2の機能と
    を前記コンピュータに実現させるコンピュータプログラム。
  8. 請求項7に記載のコンピュータプログラムであって、
    前記第1のデータフィールドに格納された情報を一括して前記ノードに通知する第3の機能
    をさらにコンピュータに実現させるコンピュータプログラム。
  9. 所定のインタフェースのルートハブに階層的に接続されるノードを管理するノード管理装置から通知された情報を受けるノードにおいて実行するためのコンピュータプログラムであって、
    前記情報を構成する、前記ノードについての前記接続の階層の深さを示す情報を記憶するためのnビット(nは整数)の第1のデータフィールドのうち、下位kビット(kはnより小さな整数)を除く部分の少なくとも一部から、前記ノードの上の階層に位置する所定のハブにおける当該ノードにつながるポートを示す情報を抽出する機能と、
    前記抽出された情報に基づいて、前記ノードにおける動作を制限する機能と
    を前記ノードに実現させるコンピュータプログラム。
JP2008009109A 2008-01-18 2008-01-18 ノード管理装置、ノード、ノード管理方法およびコンピュータプログラム Active JP5029379B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008009109A JP5029379B2 (ja) 2008-01-18 2008-01-18 ノード管理装置、ノード、ノード管理方法およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008009109A JP5029379B2 (ja) 2008-01-18 2008-01-18 ノード管理装置、ノード、ノード管理方法およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2009171401A JP2009171401A (ja) 2009-07-30
JP5029379B2 true JP5029379B2 (ja) 2012-09-19

Family

ID=40972054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008009109A Active JP5029379B2 (ja) 2008-01-18 2008-01-18 ノード管理装置、ノード、ノード管理方法およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP5029379B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5986814B2 (ja) * 2012-06-13 2016-09-06 ローム株式会社 ネットワークコントローラ、ホストコントローラ、ネットワークシステム、それらを用いた機器および車両、論理アドレスの割り当て方法
JP6136127B2 (ja) * 2012-06-25 2017-05-31 株式会社リコー コントローラ、電子機器及びusbデバイスの制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007307A (ja) * 2000-06-23 2002-01-11 Fuji Photo Film Co Ltd 機器制御装置及び方法
JP2002064511A (ja) * 2000-08-21 2002-02-28 Canon Inc データ通信システム、電子機器及びそれらの制御方法
JP4377603B2 (ja) * 2003-03-26 2009-12-02 Okiセミコンダクタ株式会社 バス通信システムおよびその通信制御方法

Also Published As

Publication number Publication date
JP2009171401A (ja) 2009-07-30

Similar Documents

Publication Publication Date Title
US20200225718A1 (en) Power distribution unit self-identification
US7308534B2 (en) Apparatus and method for managing a plurality of kinds of storage devices
US9934390B2 (en) Data redaction system
US20130201519A1 (en) Bridging Non-Network Interfaces and Network Interfaces
US10049029B1 (en) Networked multi-interface host debugger
KR102210289B1 (ko) 하드웨어 관리 통신 프로토콜
JP5029379B2 (ja) ノード管理装置、ノード、ノード管理方法およびコンピュータプログラム
CN1929356A (zh) 当发生总线重置时获取标识信息的设备和方法
CN109726546A (zh) 一种权限管理方法及装置
US8656060B2 (en) Method and apparatus for managing resources for displays
CN109324731A (zh) 信息展现方法和装置
WO2017114103A1 (zh) 一种云加密机的处理方法及装置
WO2020113562A1 (zh) 算力的控制方法、装置、设备及存储介质
US20150324988A1 (en) Automated tonal balancing
EP2751687B1 (en) Method and system for managing parallel resource requests in a portable computing device
CN115587348B (zh) Pcie设备访存的可配置安全控制方法、装置及介质
US9792305B1 (en) System for controlling access to stored values
US9588918B2 (en) Storage control devices and method therefor to invoke address thereof
JP5255566B2 (ja) データを処理するシステムおよび方法
CN112910910B (zh) Opcda协议报文处理方法、装置、设备以及存储介质
JP2011008409A (ja) 管理装置及びコンピュータプログラム
TWI728571B (zh) 區塊鏈服務的資源管理方法及系統
JP2007004628A (ja) Usb接続装置
US20240232112A1 (en) Dongle Providing Operational Information
CN103092780B (zh) 电子系统与管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120529

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120611

R150 Certificate of patent or registration of utility model

Ref document number: 5029379

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350