JP2002026944A - 装置共用および調停のための方法および装置 - Google Patents

装置共用および調停のための方法および装置

Info

Publication number
JP2002026944A
JP2002026944A JP2001121588A JP2001121588A JP2002026944A JP 2002026944 A JP2002026944 A JP 2002026944A JP 2001121588 A JP2001121588 A JP 2001121588A JP 2001121588 A JP2001121588 A JP 2001121588A JP 2002026944 A JP2002026944 A JP 2002026944A
Authority
JP
Japan
Prior art keywords
node
control
data structure
ownership
control executable
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.)
Granted
Application number
JP2001121588A
Other languages
English (en)
Other versions
JP2002026944A5 (ja
JP4210042B2 (ja
Inventor
Kurisansakopaurosu Georgios
クリサンサコパウロス ゲオルジオス
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2002026944A publication Critical patent/JP2002026944A/ja
Publication of JP2002026944A5 publication Critical patent/JP2002026944A5/ja
Application granted granted Critical
Publication of JP4210042B2 publication Critical patent/JP4210042B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2814Exchanging control software or macros for controlling appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40084Bus arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40123Interconnection of computers and peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2805Home Audio Video Interoperability [HAVI] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 装置の共用および調停のための方法および装
置を提供する。 【解決手段】 制御実行可能ノードが互いに結合され、
通信バスを介し、装置に結合されたシステムにおいて、
該制御実行可能ノードが、所与の装置の所有者ノードの
IDを判定し、この装置の所有権の変更に関する通知を受
けるため所有者ノードを登録する。該制御実行可能ノー
ドは所有者ノードに所有権を要求でき、所有者ノードに
よる所有権の終了を検出できる。該要求が許諾されるか
該終了が検出されたら、制御実行可能ノードは既に割り
当てられている優先順位に従い、装置の所有権の確立を
試みる。この動作を支持するデータ構造により、制御実
行可能ノード内の装置ドライバとバス・ドライバとの通
信が可能となり、様々な制御実行可能ノードのバス・ド
ライバ間の通信が可能となる。制御される装置の修正も
参加もせずに装置調停する技術が提供された。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、全般的には電子装
置間の通信手段としてシリアル・バスを使用することに
関し、特に、IEEE1394シリアル・バス規格に従って動作
するシリアル・バスなどのシリアル・バスを介した、制
御実行可能ノード間の装置の共用および所有権調停に関
する。
【0002】
【従来の技術】当技術分野では、複数のコンピュータが
通信バスを介して様々な装置にアクセスすることのでき
るコンピュータ・システムを構成することが知られてい
る。たとえば、シリアル・バスを使用し、このシリアル
・バスを介してプリンタに結合されたコンピュータ間で
プリンタを共用することができる。ある種の装置、たと
えば、テレビジョン受像機やラジオ受信機などの、情報
を伝送するのみの装置の特性として、様々なコンピュー
タがこれらの装置を同時に共用することができる。コン
ピュータ・ハード装置のような他の装置は、共用するこ
とができず、任意の所与の瞬間に単一のコンピュータに
よって所有される(このコンピュータの指示および制御
に従う)。上述のシナリオを実施することのできるシリ
アル・バス技術は、「FIREWIRE」と呼ばれることもあ
る、いわゆるIEEE1394シリアル・バスである。
【0003】上述のシナリオは、ユーザ間において装置
を共用できるようにすることによって顕著な利益をもた
らすが、制御面の重大な問題も引き起こす。特に、任意
の所与の瞬間にある装置をどのコンピュータが所有する
か、ある装置の所有権ステータスが変更されたことを他
のコンピュータにどのように通知すべきか、コンピュー
タがある装置の所有権の譲渡を要求できるようにするに
はどうすべきかなどを決定するスキームを考案しなけれ
ばならない。簡単に言えば、装置の共用を調停する技法
を開発しなければならない。
【0004】このような調停を行うための1つの技法と
して、「The HAVI Specification:Specification of t
he Home Audio/Video Interoperability(HAVi) Arch
itecture」バージョン1.0ベータ(1998年11月19日)
(以下では「HAVI仕様」と呼ぶ)に記載されたいわゆる
家庭オーディオ/ビデオ・インターオペラビリティ(HA
VI)アーキテクチャがある。HAVI仕様は、家庭のネット
ワーク(すなわち、家庭または住居内で使用される通信
インフラストラクチャ)が分散コンピューティング・プ
ラットフォームとみなされるシステムについて説明した
ものであり、HAVIアーキテクチャの一次目標は、家庭の
ネットワークに結合された様々な装置を相互運用できる
ようにすることである。HAVIシステムは、IEEE1394シリ
アル・バスを組み込んでおり、このバスに基づいて動作
する。このようなシステムの必要な構成要素には、制御
される装置をコントローラが組織的に使用できるように
する資源管理、すなわち、装置の所有権の調停がある。
HAVIでは、これをサポートするために、制御される装置
自体が所有権調停プロセスに参加するように制御される
装置自体をHAVIシステムに適合するように修正する必要
がある。
【0005】HAVI手法は実現可能であるように思われる
が、各装置を修正するための制御を行う必要がなく、か
つ制御される装置が調停プロセスに参加する必要がない
調停技法を開発すると有利である。このような技法は好
ましくは、IEEE1394シリアル・バスを使用して実施可能
であるべきである。
【0006】
【発明が解決しようとする課題】本発明は、装置を共用
する、および調停するための方法および装置を提供する
ことを課題とする。
【0007】
【課題を解決するための手段】本発明は、複数の制御実
行可能ノードに通信バスを介して結合された装置を組織
的に共用することのできる技法を提供する。特に、本発
明は、1394準拠装置と制御実行可能ノードとを互いに結
合する手段として1394準拠シリアル・バスを使用するこ
とを目的とする。制御実行可能ノードは、所与の装置の
所有者ノードのIDを判定し、所有者ノードに、該装置の
所有権ステータスの変更に関する通知を受けるための登
録を行うことができる。その後、制御実行可能ノード
は、所有者ノードに所有権を要求することができ、この
要求は、許諾されることも、もしくは拒否されることも
ある。または、制御実行可能ノードは、所有者ノードに
よる所有権が終了したことを検出することができる。こ
のような要求が許諾された場合、またはこのような終了
が検出された場合、制御実行可能ノードは、すでに割り
当てられている優先順位に従って装置の所有権の確立を
試みる。制御実行可能ノード内の装置ドライバとバス・
ドライバとの間の通信を可能にし、異なる制御実行可能
ノードのバス・ドライバ間の通信を可能にする、このよ
うな動作をサポートする好ましいデータ構造が開示され
ている。さらに、異なる制御実行可能ノード上の装置ド
ライバ間の透過的な通信を可能にするためにこのデータ
構造を使用することができる。このように、本発明は、
制御される装置の修正も参加も必要としない装置調停技
法を提供する。
【0008】本発明に係る媒体においては、(1)第1
の制御実行可能ノードの第1のバス・ドライバと第2の制
御実行可能ノードの第2のバス・ドライバとの間の通信
で使用されるデータ構造が記憶されており、第1の制御
実行可能ノード、第2の制御実行可能ノード、および装
置が通信バスに結合されているコンピュータ可読媒体で
あって、該データ構造が、第1および第2の制御実行可能
ノードのうちの一方の通知ステータスを表わす少なくと
も1つの通知登録インディケータを含み、装置の所有権
ステータスの変更が、少なくとも1つの通知登録インデ
ィケータに基づいて第1および第2の制御実行可能ノード
のうちの一方に示されるコンピュータ可読媒体であるこ
とを特徴とする。
【0009】また、本発明に係る媒体においては、
(2)データ構造が、データ構造が問合せデータ構造で
あるか、または通知データ構造であるかを表わすデータ
構造ステータス・インディケータをさらに含む、上記
(1)記載のコンピュータ可読媒体であることを特徴とす
る。
【0010】また、本発明に係る媒体においては、
(3)データ構造が問合わせデータ構造であるときに少
なくとも1つの通知登録インディケータが所望のアクセ
スおよび所望の通知を表わす、上記(2)記載のコンピュ
ータ可読媒体であることを特徴とする。
【0011】また、本発明に係る媒体においては、
(4)データ構造が通知データ構造であるときに少なく
とも1つの通知登録インディケータが通知登録ステータ
スおよび割り当てられた優先順位を表わす、上記(2)記
載のコンピュータ可読媒体であることを特徴とする。
【0012】また、本発明に係る媒体においては、
(5)データ構造が、第1および第2の制御実行可能ノー
ドのうちの一方のIDを含むターゲット・ノードIDフィー
ルドと、第1および第2の制御実行可能ノードのうちの他
方のIDを含むソース・ノードIDフィールドとをさらに含
む、上記(1)記載のコンピュータ可読媒体であることを
特徴とする。
【0013】また、本発明に係る媒体においては、
(6)第1の制御実行可能ノードの第1のバス・ドライバ
と第2の制御実行可能ノードの第2のバス・ドライバとの
間の通信で使用されるデータ構造が記憶されており、第
1の制御実行可能ノード、第2の制御実行可能ノード、お
よび装置が通信バスに結合されているコンピュータ可読
媒体であって、該データ構造が、第1および第2の制御実
行可能ノードのうちの一方の譲渡ステータスを表わす少
なくとも1つのアクセス権譲渡インディケータを含み、
装置の所有権が、少なくとも1つのアクセス権譲渡イン
ディケータに基づいて第1および第2の制御実行可能ノー
ドのうちの一方に譲渡されるコンピュータ可読媒体であ
ることを特徴とする。
【0014】また、本発明に係る媒体においては、
(7)データ構造が、データ構造が問合せデータ構造で
あるか、または通知データ構造であるかを表わすデータ
構造ステータス・インディケータをさらに含む、上記
(6)記載のコンピュータ可読媒体であることを特徴とす
る。
【0015】また、本発明に係る媒体においては、
(8)データ構造が問合せデータ構造であるときに少な
くとも1つのアクセス権譲渡インディケータが、所望の
アクセス、所望の通知、および割り当てられた優先順位
を表わす、上記(7)記載のコンピュータ可読媒体である
ことを特徴とする。
【0016】また、本発明に係る媒体においては、
(9)データ構造が通知データ構造であるときに少なく
とも1つのアクセス権譲渡インディケータが、アクセス
権譲渡ステータスを表わす、上記(7)記載のコンピュー
タ可読媒体であることを特徴とする。
【0017】また、本発明に係る媒体においては、(1
0)データ構造が、第1および第2の制御実行可能ノード
のうちの一方のIDを含むターゲット・ノードIDフィール
ドと、第1および第2の制御実行可能ノードのうちの他方
のIDを含むソース・ノードIDフィールドとをさらに含
む、上記(6)記載のコンピュータ可読媒体であることを
特徴とする。
【0018】また、本発明に係る媒体においては、(1
1)第1の制御実行可能ノードの第1のバス・ドライバと
第2の制御実行可能ノードの第2のバス・ドライバとの間
の通信で使用されるデータ構造が記憶されており、第1
の制御実行可能ノード、第2の制御実行可能ノード、お
よび装置が通信バスに結合されているコンピュータ可読
媒体であって、データ構造が、装置のアクセス・ステー
タスを表わす少なくとも1つのアクセス権通知インディ
ケータを含み、第1および第2の制御実行可能ノードの所
有者ノードが、第1および第2の制御実行可能ノードのう
ちの他方に少なくとも1つのアクセス権譲通知インディ
ケータを与えるコンピュータ可読媒体であることを特徴
とする。
【0019】また、本発明に係る媒体においては、(1
2)データ構造が、第1および第2の制御実行可能ノード
のうちの他方のIDを含むターゲット・ノードIDフィール
ドと、所有者ノードのIDを含むソース・ノードIDフィー
ルドとをさらに含む、上記(1)記載のコンピュータ可読
媒体であることを特徴とする。
【0020】また、本発明に係る媒体においては、(1
3)第1の制御実行可能ノードの第1のバス・ドライバと
第2の制御実行可能ノードの第2のバス・ドライバとの間
の通信で使用されるデータ構造が記憶されており、第1
のバス・ドライバが、第1の制御実行可能ノード上に存
在する第1の装置ドライバと通信し、第2のバス・ドライ
バが、第2の制御実行可能ノード上に存在する第2の装置
ドライバと通信し、第1の制御実行可能ノード、第2の制
御実行可能ノード、および装置が通信バスに結合されて
いるコンピュータ可読媒体であって、該データ構造が、
第1および第2の装置ドライバのうちの対応する装置ドラ
イバに直接供給すべき情報を該データ構造が含むこと
を、第1および第2のバス・ドライバのうちの一方に知ら
せる少なくとも1つの直接通信インディケータを含むコ
ンピュータ可読媒体であることを特徴とする。
【0021】また、本発明に係る媒体においては、(1
4)データ構造が、第1および第2の制御実行可能ノード
のうちの一方のIDを含むターゲット・ノードIDフィール
ドと、第1および第2の制御実行可能ノードのうちの他方
のIDを含むソース・ノードIDフィールドとをさらに含
む、上記(13)記載のコンピュータ可読媒体であることを
特徴とする。
【0022】また、本発明に係る媒体においては、(1
5)装置ドライバからローカル制御実行可能ノード内の
バス・ドライバへの通信で使用されるデータ構造が記憶
されているコンピュータ可読媒体であって、該データ構
造が、装置とローカル制御実行可能ノードを含む複数の
制御実行可能ノードとが通信バスに結合されている、該
複数の制御実行可能ノードに関する装置の所有権ステー
タスを表わす少なくとも1つの所有権インディケータ
と、複数の制御実行可能ノードに関する装置のアクセス
・ステータスを表わす少なくとも1つのアクセス・イン
ディケータとを含むコンピュータ可読媒体であることを
特徴とする。
【0023】また、本発明に係る媒体においては、(1
6)データ構造が、データ構造が問合せデータ構造であ
るか、または通知データ構造であるかを表わすデータ構
造ステータス・インディケータをさらに含む、上記(15)
記載のコンピュータ可読媒体であることを特徴とする。
【0024】また、本発明に係る媒体においては、(1
7)少なくとも1つの所有権インディケータが、複数の
制御実行可能ノードのうちの、ローカル制御実行可能ノ
ードによる所有権またはリモート制御実行可能ノードに
よる所有権のいずれかを表わす、上記(15)記載のコンピ
ュータ可読媒体であることを特徴とする。
【0025】また、本発明に係る媒体においては、(1
8)リモート制御実行可能ノードのIDを含むリモート所
有者IDフィールドをさらに含む、上記(17)記載のコンピ
ュータ可読媒体であることを特徴とする。
【0026】また、本発明に係る媒体においては、(1
9)少なくとも1つのアクセス・インディケータが、複
数の制御実行可能ノード間の共用アクセス、または複数
の制御実行可能ノードのうちの1つに対する排他的なア
クセスを表わす、上記(15)記載のコンピュータ可読媒体
であることを特徴とする。
【0027】また、本発明に係る媒体においては、(2
0)少なくとも1つのアクセス・インディケータが、複
数の制御実行可能ノード間の共用読取りアクセス、共用
書込みアクセス、またはその両方を表わす、上記(15)記
載のコンピュータ可読媒体であることを特徴とする。
【0028】また、本発明に係る媒体においては、(2
1)ローカル制御実行可能ノードの通知ステータスを表
わす少なくとも1つの通知インディケータをさらに含
む、上記(15)記載のコンピュータ可読媒体であることを
特徴とする。
【0029】また、本発明に係る媒体においては、(2
2)少なくとも1つの通知インディケータが、通信バス
・イベントが起こった際の通知、または装置の所有権ス
テータスが変更された際の通知を表わす、上記(15)記載
のコンピュータ可読媒体であることを特徴とする。
【0030】また、本発明に係る方法においては、(2
3)通信バスを介して互いに通信する複数の制御実行可
能ノードおよび少なくとも1つの装置を備えるシステム
において、少なくとも1つの装置のうちのある装置の使
用権を調停する方法であって、複数の制御実行可能ノー
ドの第1の制御実行可能ノードによって、複数の制御実
行可能ノードの第2の制御実行可能ノードによる該装置
の所有権を判定する段階、および第1の制御実行可能ノ
ードによる該装置の所有権を要求する第1のメッセージ
を第1の制御実行可能ノードによって第2の制御実行可能
ノードに送信する段階を含む方法であることを特徴とす
る。
【0031】また、本発明に係る方法においては、(2
4)通信バスが1394準拠シリアル・バスであり、第2の
制御実行可能ノードによる所有権を判定する段階が、第
1の制御実行可能ノードによる第2の制御実行可能ノード
を確認する(enumerate)段階をさらに含む、上記(23)
記載の方法であることを特徴とする。
【0032】また、本発明に係る方法においては、(2
5)第2の制御実行可能ノードによる所有権を判定する
段階が、第2の制御実行可能ノードによる非排他的所有
権を判定する段階をさらに含み、第1のメッセージが第1
の制御実行可能ノードによる非排他的所有権を要求する
メッセージである、上記(23)記載の方法であることを特
徴とする。
【0033】また、本発明に係る方法においては、(2
6)第1の制御実行可能ノードによって、第2の制御実行
可能ノードに、装置の所有権ステータスに対する変更の
通知を受けるための登録を行う段階をさらに含む、上記
(23)記載の方法であることを特徴とする。
【0034】また、本発明に係る方法においては、(2
7)第1のメッセージが、第1の制御実行可能ノードによ
る装置の排他的所有権を要求するメッセージである、上
記(23)記載の方法であることを特徴とする。
【0035】また、本発明に係る方法においては、(2
8)第1の制御実行可能ノードによって、第1のメッセー
ジ内の排他的所有権の要求を拒否する第2のメッセージ
を第2の制御実行可能ノードから受信する段階をさらに
含む、上記(27)記載の方法であることを特徴とする。
【0036】また、本発明に係る方法においては、(2
9)第1の制御実行可能ノードによって、第1のメッセー
ジ内の排他的所有権の要求を許諾する第2のメッセージ
を第2の制御実行可能ノードから受信する段階をさらに
含む、上記(27)記載の方法であることを特徴とする。
【0037】また、本発明に係る方法においては、(3
0)通信バスを介して互いに通信する複数の制御実行可
能ノードおよび少なくとも1つの装置を備えるシステム
において、少なくとも1つの装置のうちのある装置の使
用権を調停する方法であって、複数の制御実行可能ノー
ドの第2の制御実行可能ノードによる該装置の所有権が
終了したことを、複数の制御実行可能ノードの第1の制
御実行可能ノードによって判定する段階、および第2の
制御実行可能ノードによる所有権が終了したことに応答
して、第1の制御実行可能ノードによる該装置の所有権
を、第1の制御実行可能ノードによって確立する段階を
含む方法であることを特徴とする。
【0038】また、本発明に係る方法においては、(3
1)第2の制御実行可能ノードによる装置の所有権が終
了したことを判定する段階が、第2の制御実行可能ノー
ドがもはや通信バスに結合されていないことを判定する
段階をさらに含む、上記(30)記載の方法であることを特
徴とする。
【0039】また、本発明に係る方法においては、(3
2)第2の制御実行可能ノードによる装置の所有権が終
了したことを判定する段階が、第2の制御実行可能ノー
ドによる装置の所有権が終了したことを示す第1のメッ
セージを第2の制御実行可能ノードから受信する段階を
さらに含む、上記(30)記載の方法であることを特徴とす
る。
【0040】また、本発明に係る方法においては、(3
3)第1の制御実行可能ノードによる所有権を確立する
段階が、割り当てられた優先順位に従って第1の制御実
行可能ノードによる所有権を確立する段階をさらに含
む、上記(30)記載の方法であることを特徴とする。
【0041】
【発明の実施の形態】本発明は、図1から4を参照してよ
り詳しく説明することができる。図1は、本発明の様々
な局面を実施するために使用できる従来型の汎用デジタ
ル・コンピューティング環境の概略ブロック図である。
コンピュータ100は、処理ユニット110と、システム・メ
モリ120と、システム・メモリを含め様々なシステム構
成要素を処理ユニット110に結合するシステム・バス130
とを含む。システム・バス130は、メモリ・バスまたは
メモリ・コントローラと、周辺バスと、様々なバス・ア
ーキテクチャのうちの任意のバス・アーキテクチャを使
用するローカル・バスとを含む、数種のバス構造のうち
の任意のバス構造でよい。システム・メモリ120は読取
り専用メモリ(ROM)140およびランダム・アクセス・メ
モリ(RAM)150を含む。
【0042】立上げ時などにコンピュータ100内の要素
間の情報転送を助ける基本ルーチンを含む基本入出力シ
ステム(BIOS)160は、ROM140に記憶される。コンピュ
ータ100はまた、ハード・ディスク(図示せず)に対し
て読み書きを行うハード・ディスク・ドライブ170と、
取外し可能な磁気ディスク190に対して読み書きを行う
磁気ディスク・ドライブ180と、CD ROMもしくはその他
の光学媒体などの取外し可能な光ディスク192に対して
読み書きを行う光ディスク・ドライブ191とを含む。ハ
ード・ディスク・ドライブ170、磁気ディスク・ドライ
ブ180、および光ディスク・ドライブ191はそれぞれ、ハ
ード・ディスク・ドライブ・インタフェース192、磁気
ディスク・ドライブ・インタフェース193、および光デ
ィスク・ドライブ・インタフェース194によってシステ
ム・バス130に接続されている。ドライブおよびそれに
関連するコンピュータ可読媒体は、コンピュータ可読命
令、データ構造、プログラム・モジュール、およびコン
ピュータ100用のその他のデータの非揮発性記憶領域を
形成する。当業者には、磁気カセット、フラッシュ・メ
モリ・カード、デジタル・ビデオ・ディスク、ベルヌー
イ(Bernoulli)カートリッジ、ランダム・アクセス・メ
モリ(RAM)、読取り専用メモリ(ROM)などの、コンピ
ュータによってアクセスできるデータを記憶できる他の
種類のコンピュータ可読媒体も例示的な動作環境におい
て使用できることが理解されると思われる。
【0043】オペレーティング・システム195、1つまた
は複数のアプリケーション・プログラム196、その他の
プログラム・モジュール197、およびプログラム・デー
タ198を含め、いくつかのプログラム・モジュールをハ
ード・ディスク、磁気ディスク190、光ディスク192、RO
M140、またはRAM150上に記憶させることができる。特
に、RAM150は、当技術分野で知られているように様々な
装置ドライバ(たとえば、完全なIEEE1394ドライバ・ス
タックを含む)をオペレーティング・システム195の一
部として適時記憶する。さらに、本明細書で開示される
データ構造はRAM150を用いて記憶され処理される。ただ
し、本明細書で開示される他の記憶装置を同様に使用す
ることもできる。
【0044】ユーザは、キーボード101およびポインテ
ィング・デバイス102のような入力装置または選択装置
によってコンピュータ100にコマンドおよび情報を入力
することができる。ポインティング・デバイス102は、
マウス、タッチ・パッド、タッチ・スクリーン、音声制
御および作動装置、またはその他の同様な装置を備える
ことができる。他の入力装置(図示せず)には、マイク
ロフォン、ジョイスティック、ゲーム・パッド、サテラ
イト・ディッシュ、スキャナなどを含めることができ
る。これらおよびその他の入力装置は、システム・バス
に結合されたシリアル・ポート・インタフェース106を
通して処理ユニット110に接続されることが多いが、パ
ラレル・ポート、ゲーム・ポート、または汎用シリアル
・バス(USB)などの他のインタフェースによって接続
させることができる。システム・バス130にはビデオ・
アダプタ108のようなインタフェースを介してモニタ107
またはその他の種類の表示装置も接続される。パーソナ
ル・コンピュータは通常、モニタだけでなく、スピーカ
やプリンタなど他の周辺出力装置(図示せず)も含む。
【0045】IEEE1394インタフェース140の形の追加の
シリアル・ポートを設けることもできる。IEEE1394イン
タフェース140は、IEEE1394準拠シリアル・バス145をシ
ステム・バス130または同様の通信バスに結合させる。I
EEE1394準拠シリアル・バス145は、当技術分野で知られ
ているように、装置150およびその他のコンピュータ151
が、高速シリアル・チャネルを使用してコンピュータ10
0と通信すると共に互いに通信することを可能にする。I
EEE1394シリアル・バス規格は、引用によって本明細書
にその開示が組み入れられている、国際的に採用されて
いるISO/IEC13213(ANSI/IEEE1212)CSRアーキテクチ
ャ仕様およびIEEE1394−1995シリアル・バス仕様に主と
して基づく規格である。IEEE1394規格アーキテクチャを
有する典型的なシリアル・バスは、各々がシリアル・バ
スの単一のノードをシリアル・バスの他のノードに接続
する、ケーブルのようなポイント・ツー・ポイント・リ
ンクを介して相互接続された複数のノードにより構成さ
れている。ノード自体は、独立にリセットし識別するこ
とのできるアドレス可能なエンティティである。各ノー
ドは、コンピュータ・システム内に存在するソフトウェ
アからアクセスできるいわゆる構成ROM(読取り専用メ
モリ)または構成メモリおよび標準化された1組の制御
レジスタを形成する。所与のノードの構成メモリは、該
ノードの機能の記述を部分的に形成する。シリアル・バ
ス上に存在する各ノードごとの構成メモリは他のすべて
のノードからアクセスされる。構成プロセス中に、他の
ノードは各ノードの構成メモリにアクセスし(このプロ
セスは、「確認(enumerate)」と呼ばれることが多
い)、適切なシステム構成を判定する。したがって、所
与のノードの構成メモリの1つの機能は、所与のノード
の機能に関して他のノードに指示し、それによって、他
のノードがどの装置ドライバをロードすべきかを判定で
きるようにすることである。当技術分野で知られている
ように、各装置は、他の機能の中でも特に、その装置を
構成し、かつその装置がシステム全域で動作できるよう
にする機能を持つ関連するドライバを有している。ドラ
イバは通常、実行されたときに、対応する装置が動作す
るよう適切に構成されるように、該装置と通信を行うコ
ンピュータのメモリにロードすることができるソフトウ
ェア命令である。ドライバは、装置を、機能できるよう
に初期設定することができ、装置の、コンピュータ内の
より高いプロトコル・レベルとの通信を可能にすること
もできる。
【0046】コンピュータ100は、リモート・コンピュ
ータ109のような1つまたは複数のリモート・コンピュー
タとの論理接続を使用してネットワーク化環境で動作す
ることができる。リモート・コンピュータ109は通常、
コンピュータ100に関して上述した要素のうちの少なく
ともいくつかを含む。ただし、図1にはメモリ記憶装置1
11しか示されていない。図1に示されている論理接続
は、ローカル・エリア・ネットワーク(LAN)112および
ワイド・エリア・ネットワーク(WAN)113を含む。この
ようなネットワーク化環境は、事務所、企業全域のコン
ピュータ・ネットワーク、イントラネット、およびイン
タネットにおいて一般的に使用されている。
【0047】コンピュータ100は、LANネットワーク化環
境で使用されるときには、ネットワーク・インタフェー
スまたはアダプタ114を通してローカル・ネットワーク1
12に接続される。コンピュータ100およびリモート・コ
ンピュータ109は共に、WANネットワーク化環境で使用さ
れるときには、インタネットのようなワイド・エリア・
ネットワーク113を介して通信を確立するモデム115また
はその他の手段を含むことができる。モデム115は、内
蔵モデムでも、または外付けモデムでもよく、シリアル
・ポート・インタフェース106を介してシステム・バス1
30に接続される。ネットワーク化環境では、コンピュー
タ100に関して示されたプログラム・モジュールまたは
その一部をリモート・メモリ記憶装置に記憶させること
ができる。
【0048】図のネットワーク接続が例示的なものであ
り、コンピュータ間の通信リンクを確立する他の手段を
使用できることが理解されると思われる。TCP/IP、「E
THERNET(登録商標)」、FTP、HTTPなど様々な周知のプ
ロトコルのうちのどれかが存在することが仮定されてお
り、システムは、ユーザがwebベースのサーバからwebペ
ージを検索できるようにするためにクライアント・サー
バ構成で動作することができる。
【0049】後述の本発明の手順は、図1に示されてい
るコンピュータ100の環境内で動作することができる。
本発明は一般に、IEEE1394規格に従って動作するコンピ
ュータに適用できるが、本発明はISO/IEC13213(ANSI
/IEEE1212)CSRアーキテクチャ仕様に記載された制御
およびステータス・レジスタ(CSR)構成ROMアーキテク
チャを実現するあらゆるコンピュータ・システムにも適
用することができる。より一般的には、本発明は、ピア
・ツー・ピア通信を行うあらゆる通信バスに適用するこ
とができる。本発明を有効に適用させることのできる、
シリアル・バスを介して通信する装置200の例示的なシ
ステムを、図2に示す。
【0050】システム200は、シリアル・バスを介して
結合されたいくつかのエンティティを備え、該エンティ
ティは第1のコンピュータ201(図1のコンピュータ100な
ど)、プリンタ202、デジタル・カメラ203、スキャナ20
4、デジタルVCR205、および(やはり図1のコンピュータ
100のような)第2のコンピュータ206を含む。図のよう
に、エンティティ201〜206は複数の相互接続部222〜226
を介して互いに結合されている。相互接続部222〜226は
それぞれ、好ましくはIEEE1394規格に従って構成され、
第1の信号を導く第1の差分信号対、第2の信号を導く第2
の差分信号対、および一対の電力線を含む。特定の方法
で相互接続された特定のエンティティが図2に示されて
いるが、当業者には、広く様々な電気/電子装置を、同
様に広く様々な相互接続部を使用してこのように互いに
結合できることが認識されると思われる。全体的に、相
互接続部222〜226はシリアル・バスのケーブルを構成
し、複数のノード211〜216はシリアル・バスの機能を実
現する。コンピュータ・システム200の各エンティティ
はシリアル・バスのノードに結合されている。一般に、
ノードが結合されているエンティティはそのノード用の
「ローカル・ホスト」として機能する。たとえば、第1
のコンピュータ201は第1のコンピュータ・ノード211用
のローカル・ホストであり、プリンタ202はプリンタ・
ノード212用のローカル・ホストであり、デジタル・カ
メラ203はデジタル・カメラ・ノード213用のローカル・
ホストであり、スキャナ204はスキャナ・ノード214用の
ローカル・ホストであり、デジタルVCR205はデジタルVC
Rノード215用のローカル・ホストであり、第2のコンピ
ュータ206は第2のコンピュータ・ノード216用のローカ
ル・ホストである。あらゆるノードがローカル・ホスト
を有する必要があるわけではなく、ローカル・ホストに
常に電力を供給する必要があるわけではない。
【0051】ノード222〜226はそれぞれ、同一の構成を
有することができる。ただし、いくつかのノードはその
特定の機能のために簡略化することができる。したがっ
て、ノードは特定のローカル・ホストのニーズを満たす
ように修正することができる。たとえば、各ノードは1
つまたは複数のポートを有し、その数は、そのノードの
ニーズに依存する。図のように、第1のコンピュータ・
ノード211は3つのポートを有し、それに対してデジタル
VCRノード215は1つのポートしか有さない。
【0052】本発明では、2種類のエンティティ、すな
わち、制御実行可能ノードおよび装置を通信バスに結合
することができる。制御実行可能ノードとは、エンティ
ティおよびそれに対応するノードであり、対応するノー
ドは他のエンティティを所有することができる。これに
対して、装置はそのような所有権を得ることができず、
装置自体が制御実行可能ノードによって所有される。制
御実行可能ノードは、装置の所有権を調停する際に互い
に通信するが、装置とは通信しないという点で特に区別
される。たとえば、図2に示されている第1および第2の
コンピュータ201、206ならびにそれらに対応するノード
211、216は通常、制御実行可能ノードを構成し、それに
対してプリンタ202、デジタル・カメラ203、スキャナ20
4、およびデジタルVCR205は装置を構成する。しかし、
当業者には、図2に示されているほぼあらゆるエンティ
ティおよびそれらの等価物に、後述のように、制御実行
可能ノードとして動作するのに十分な機能を与えること
ができることが認識されると思われる。制御実行可能ノ
ードが本発明の調停方式を実施するので、装置には所有
権および調停の処理を無視させることができる。
【0053】次に図3を参照すると、本発明による方法
が示されている。制御実行可能ノードは、通信バスを介
して通信しながら、本発明の装置調停手法を概略的に表
わす図3に示された方法を実行する。この一般的なプロ
セスにおける特定の実施態様については以下に図4と関
連させて説明する。段階301で、第1の制御実行可能ノー
ドは、第2の制御実行可能ノードが現在、所与の装置の
所有者であると判定する。このような所有権は排他的な
ものでも、または非排他的なものでもよい。非排他的な
所有権の場合、第1の制御実行可能ノードは、1人または
複数の所有者と装置のアクセス権を共用することができ
る。所有権を共用できる場合、一次所有者が指定され、
他の所有者(または後述の潜在的な所有者)には、連続
する所有権が確立されるように優先順位が割り当てられ
る。説明を簡単にするために、第2の制御実行可能ノー
ドが単独の所有者であると仮定する。
【0054】第1の制御実行可能ノードは、第2の制御実
行可能ノードがこの装置の所有権を有すると判定する
と、段階302で、所有者ノード、すなわち、第2の制御実
行可能ノードに、通知を受けるための登録を行う。所有
者ノードに通知を受けるための登録を行うことによっ
て、第1の制御実行可能ノードは、この装置の所有権ス
テータスのあらゆる変化を所有者ノードから通知され
る。したがって、所有権を他のノードに譲渡すると、第
1の制御実行可能ノードは所有権の変更の通知を受信す
る。あるいは、第1の制御実行可能ノードに割り当てら
れた優先順位が変更されると、その旨が通知される。
【0055】通知を受けるための登録を行う段階の後
で、図3に示すように少なくとも2つの可能な経路に従う
ことができる。第1の経路に沿って、第1の制御実行可能
ノードは段階303で所有者ノードに所有権を要求するこ
とができる。たとえば、当該の装置が、一例として所有
者ノードによって現在使用されている周辺ハード・ドラ
イブである場合、第1の制御実行可能ノードは、該周辺
ハード・ドライブの所有権を、第1の制御実行可能ノー
ド自体へ譲渡するように求める要求を所有者ノードに直
接送信することができる。段階304で、所有者ノードに
よって所有者要求が許諾された場合、第1の制御実行可
能ノードはその後段階306で、所有権の確立を試みる。
本発明の一態様において、所与のノードは、最高の優先
順位が割り当てられている場合にのみ現在の所有者ノー
ドからの所有権の譲渡を許可され、そうでない場合に
は、より高い優先順位を有するノードが最初に所有権の
確立を試みることができる。
【0056】第2の経路に沿って、第1の制御実行可能ノ
ードは段階305で、所有者ノードの所有権が終了したと
判定することができる。このような終了によって、所有
者ノードを通信バスから物理的に取り外すことができ
る。あるいは、所有者ノードは、ただちに所有権を放棄
することができる、すなわち、所有者ノード自体がもは
や所有者ではないことをバス上の他の制御実行可能ノー
ドに通知することができる。所有権の終了がどのように
行われるかとは無関係に、第1の制御実行可能ノード
は、前述のように事前の優先順位割当てに従う段階306
で、再び装置の所有権の確立を試みる。
【0057】上述の方法の特定の実施態様について図4
に関してさらに論じる。特に、図4は、通信バス414を介
して装置403に結合された少なくとも2つの制御実行可能
ノード401〜402を備えたコンピュータ・システム400を
示している。好ましくは、通信バス414はIEEE1394準拠
シリアル・バスを備える。しかし、本発明を実施する際
には、ピア・ツー・ピア通信をサポートできるあらゆる
通信バスを使用できることを理解されたい。
【0058】制御実行可能ノード401〜402はそれぞれ、
図のように同様のプロトコル・スタックを備える。特
に、各制御実行可能ノード401〜402は、プロトコル・ス
タックの最下位にIEEE1394準拠ハードウェア層404を備
える。ハードウェア層404の特定の実施態様は、当技術
分野で周知であり、通常、実現される特定の装置、すな
わち、コンピュータ、デジタル・カメラ、プリンタなど
に依存する。
【0059】バス・ドライバ408は、ハードウェア層404
を介して物理バス414と上位プロトコル層との間の通信
を管理する。好ましい態様では、1394準拠バス・ドライ
バ408は、IEEE1394リンク層プロトコルのオープン・ホ
スト・コントローラ・インタフェース(OHCI)ドライバ
406実施態様を備える。OHCIは、参照として本明細書に
組み入れられるオープン・ホスト・コントローラ・イン
タフェース仕様に記載されている。
【0060】装置オブジェクト410も好ましくは、デー
タ構造の形で提供される。物理装置403を表わす装置オ
ブジェクト410を使用することは当技術分野において周
知である。特に、装置オブジェクト406は、装置403がバ
ス・ドライバ408によって確認(enumerate)され(すなわ
ち、装置403の機能を確認するために装置403の構成メモ
リがアクセスされ)た後でバス・ドライバ408によって
作成される。いわゆるプラグ・アンド・プレイ(PnP)
サブシステムは、対応するノード401〜402のユーザと装
置403との間の通信を容易にする上位装置ドライバ412
を、装置オブジェクト410に基づいてロードする。した
がって、装置オブジェクトは、単一のオペレーティング
・システム内で確認(enumerate)された装置を追跡する
ためにPnPサブシステムによって使用される。プロトコ
ル・スタックの最上位において、装置ドライバ412は通
常、それらがロードされる制御実行可能ノードに代わっ
て動作できるよう個別の装置と通信を行い、制御するソ
フトウェア命令である。さらに、装置ドライバ412は、I
EEE1394プロトコルと、対応する装置が従う何らかのプ
ロトコルとの間のプロトコル・ギャップを埋める。装置
ドライバ412と通信する上位アプリケーションは示され
ていない。しかし、このような上位アプリケーション
は、当技術分野で周知であり、たとえば、制御実行可能
ノード401〜402のユーザと制御中の装置403との間のイ
ンタフェースを実現する手段としてしばしば機能するこ
とが多い。
【0061】図4においては、この図に示された様々な
要素の間で渡される、本発明による様々なデータ構造
(太い矢印)も示されている。これらのデータ構造は少
なくとも、上記で図3に関して説明した方法を実施する
ことを可能にする。図のように、装置オブジェクト410
を介して装置ドライバ412からバス・ドライバ408にアク
セス・データ構造が渡される。逆に、装置オブジェクト
410を介してバス・ドライバ408から装置ドライバ412に
通知データ構造が渡される。また、異なる制御実行可能
ノード上に存在するバス・ドライバ408間の通信のため
にトランザクション・パケットが提供される。したがっ
て、アクセス・データ構造および通知データ構造ならび
にトランザクション・パケットは、本発明にしたがって
使用されたときに、装置ドライバ412が装置の調停に参
加できるようにするピア・ツー・ピア通信経路を使用可
能にする。さらに、後述のように、このようなデータ構
造は、図4に太い点線で示すように、装置ドライバ間の
直接アクセス通信も容易にする。以下の説明は、図4に
示されるデータ構造の特定の実施態様と、そのようなデ
ータ構造の、様々な状況での対応する使用法とを示すも
のである。しかし、本発明がこの点では制限されず、他
の実施態様が可能であることを理解されたい。
【0062】本発明によるアクセス・データ構造の特定
の実施態様を以下の表1に示す。表のように、アクセス
・データ構造はいわゆるWindows(登録商標)マネージ
メント・インストルメンテーション(WMI)方式に従っ
て実現される。WMI方式により、「WINDOWS」ブランドの
オペレーティング・システムで使用される標準化された
インタフェース/データ・パッシング技法が提供され
る。
【表1】
【0063】Versionフィールドは、装置アプリケーシ
ョン・プログラミング・インタフェースのバージョン、
すなわち、調停方式のバージョンを示す。フラグ・フィ
ールドは、所望の所有権ステータスまたは現在の所有権
ステータスを示すように定義される。特に、DEVICE1394
_DESIREDフィールドは所望の(将来の)アクセス許可
を指定するフィールドである。このフィールドは以下の
フラグのうちの1つと組み合わせなければならない。DEV
ICE1394_OWNERSHIP_LOCAL_NODEフィールドは、ロー
カル・ノードが装置の一次所有者であり、他のノード
が、所有権およびアクセス許可を変更する場合にローカ
ル・ノードと通信しなければならないことを示す。DEVI
CE1394_OWNERSHIP_REMOTE_NODEフィールドは、リモ
ート・ノードが装置の一次所有者であり、他のノード
が、所有権およびアクセス許可を変更する場合にリモー
ト・ノードと通信しなければならないことを示す。DEVI
CE1394_ACCESS_SHARED_READ/WRITEフィールドは、
装置グローバル・アクセスが現在共用されていることを
示す。OWNERSHIP_LOCAL_NODEが設定された場合、一次
/オリジナル所有者はローカル・ノードである。DEVICE
1394_ACCESS_EXCLUSIVEフィールドは、装置が現在、
排他的に所有されていることを指定するフィールドであ
る。xx_LOCAL_NODEが設定された場合、ローカル・ノ
ードは排他的アクセスが可能である。そうでない場合、
ローカル・ノードは装置に対する所有権もアクセス権も
有さない。
【0064】フラグ・フィールドは、装置に関する共用
および所有権の変更に基づく現在の通知または所望の通
知を示すように定義される。特に、DEVICE1394_NOTIFY
_ON_BUS_EVENTフラグは、バス・イベント、たとえ
ば、バス・リセットが行われたときにバス・ドライバが
そのことを装置ドライバに通知することを示す。DEVICE
1394_NOTIFY_ON_ACCESS_CHANGEフラグは、現在の装
置所有者が変わるか、不在になるか、もしくは所有権を
放棄したときか、または資源の所有権が変更された場合
か、もしくは共用許可が変更された場合にバス・ドライ
バがそのことを装置ドライバに通知することを示す。こ
のようなイベントの、他のドライバへの内部通知は、Pn
P非同期通知によって行われる。REMOTE_OWNER_EUI
は、xx_REMOTE_NODEフラグが設定された場合に所有者
の固有のIDを指定するフィールドである。DirectAccess
Addressは、リモート所有者上のFIFO(先入れ先出し)
バッファのアドレス・オフセットを指定するフィールド
であり、プロトコル・ドライバによって直接通信のため
に使用される。
【0065】本発明による通知データ構造の特定の実施
態様を以下の表2に示す。図のように、通知データ構造
もWMI方式に従って実現される。
【表2】
【0066】アクセス・データ構造の場合と同様に、Ve
rsionフィールドは、通知構造のバージョンを示す。Bus
Generationフィールドは、通知が送信されたときのバス
生成を示す。バス・リセット通知の場合、このフィール
ドはリセット後の新しい生成番号を反映する。Typeフィ
ールドは、通知の種類、たとえば、送信中の通知がロー
カル・イベントの結果であるか、またはリモート・イベ
ントの結果であるかを示す。他の種類の通知が可能であ
ることを理解されたい。通知データ構造に定義されるOw
nershipAccessFlagsは、上記のアクセス・データ構造に
定義されたOwnershipAccessFlagsと同じ定義を有する。
【0067】トランザクション・パケットの特定の実施
態様を以下の表3に示す。トランザクション・パケット
は、(i)複数の制御実行可能ノードの間で装置所有者
を識別し、(ii)リモート所有ノードに、通知を受ける
ための登録を行い、(iii)所有者が所有権を放棄した
ときに所有権の変更を一斉同報通信し、(iv)第1の制
御実行可能ノード上のある装置ドライバから第2の制御
実行可能ノード上の別の装置ドライバに非要求型メッセ
ージを送信するために使用される。
【表3】
【0068】この場合も、Versionフィールドはトラン
ザクション・パケットのバージョンを示す。PacketType
フィールドは送信中のパケットの種類を示す。パケット
・タイプは登録要求、登録応答、アクセス権譲渡要求、
アクセス権譲渡応答、アクセス権通知、および直接通信
に関して定義される。これらは、本発明の制御方式を実
施するために制御実行可能ノード同士が互いに交換し合
うパケットである。これらの各パケット・タイプについ
ては以下に論じる。当業者には、他のパケット・タイプ
が可能であることが認識されると思われる。トランザク
ション・パケットに定義されるFlagsは、上記のアクセ
ス・データ構造および通知データ構造に定義されたOwne
rshipAccessFlagsと同じ定義を有する。SourceEUIフィ
ールドは、トランザクション・パケットの送信元である
制御実行可能ノードの固有のIDを指定するフィールドで
ある。逆に、TargetEUIフィールドは、送信先の制御実
行可能ノードの固有のIDを指定するフィールドである。
TargetEUIフィールドは、特定の装置には結合されない
プロトコル特有のパケットの場合はNULLに設定すること
ができる。
【0069】トランザクション・パケット内では、各パ
ケット・タイプに対応するように構造が定義される。登
録要求の場合、DesiredAccessフィールドおよびNotific
ationフィールドを含むRegisterNotificationRequest構
造が定義される。DesiredAccessフィールドは、要求側
エンティティが必要とする所与の装置へのアクセスの種
類を示すために定義されるOwnershipAccessFlagsと同じ
フラグを含む。Notificationフィールドは、通知構造に
関して上述したTypeフィールド(表2)と同様の目的を
果たす。登録要求を補足するものとして、Statusフィー
ルドおよびAssignedPriorityフィールドを含むRegister
NotificationResponse構造によって登録応答が定義され
る。Statusフィールドは、応答側エンティティの動作の
ステータスを反映し、好ましくは、NTSTATUSタイプのフ
ィールドであり、「WINDOWS」ブランドのオペレーティ
ング・システムで使用される既存のステータス値におけ
るあらゆる値をとることができる。AssignedPriorityフ
ィールドは、所有権の変更に関する通知を受けるための
ライン上に他の制御実行可能ノードがいくつ存在するか
を示す。所与の制御実行可能ノード用の装置ドライバに
優先順位1が割り当てられている場合、その制御実行可
能ノードは、現在の所有権が終了した場合に装置の所有
権を得るうえで最高の優先順位を有する。
【0070】上述のAssignedPriorityフィールド、Desi
redAccessフィールド、およびNotificationフィールド
を含むAccessTransferRequest構造によってアクセス権
譲渡要求が定義される。名前からわかるように、あるエ
ンティティがある装置の現在の所有者からその装置のア
クセス権を得る必要があるときに、アクセス権譲渡要求
がそのエンティティによって使用される。この場合、As
signedPriorityフィールド、DesiredAccessフィール
ド、およびNotificationフィールドは上述と同じ目的を
果たす。上述のStatusフィールドおよびGrantedAccess
フィールドを含むAccessTransferResponse構造はアクセ
ス権譲渡応答を定義するフィールドである。GrantedAcc
essフィールドは、OwnershipAccessFlagsと同じフラグ
を含み、所有者によって要求側エンティティに対して授
与されるアクセスの種類を定義するフィールドである。
【0071】所与のノードの、所与の装置への現在のア
クセス権について他のノードに知らせるために該所与の
ノードによって使用されるアクセス権通知は、AccessNo
tificationMessage構造によって定義され、CurrentAcce
ssフィールドを含む。CurrentAccessフィールドは、Own
ershipAccessFlagsと同じフラグを含み、ある装置に対
する送信側ノードの現在のアクセス・ステータスを指定
するために使用される。
【0072】最後に、ノード間の直接通信は、Lengthフ
ィールドおよびProtocolDataフィールドを含むProtocol
Message構造を使用することによって可能になる。Proto
colDataフィールドは、2つのノードの上位ドライバ間の
直接通信(図4に太い点線で示されている)のペイロー
ドであり、上位ドライバによって解析され理解されるあ
らゆるデータを含むことができる。下位層は、Protocol
Messageパケットにより、ProtocolDataを修正せずに直
接上位ドライバに渡すべきであることを知る。Lengthフ
ィールドは、ProtocolDataの予期される長さについて下
位層に知らせる。
【0073】トランザクション・パケットは好ましく
は、(すべての制御実行可能ノードで共通な)メモリ・
マップされたアドレスを使用して、制御実行可能ノード
間で交換されることに留意されたい。したがって、各制
御実行可能ノードでは、その構成メモリにより、他のノ
ードから要求パケットを受信するための少なくとも1つ
の位置、および他のノードから(制御実行可能ノード自
体の要求に対する)応答パケットを受信するための少な
くとも1つの位置がアクセス可能である。
【0074】上述のデータ構造およびトランザクション
・パケットを使用して、所有権の調停を含む様々なシナ
リオを検討することができる。再び図4を参照するとわ
かるように、以下のシナリオでは、第1の制御実行可能
ノード401(PCI)が、バス上の装置403(装置A)に接続
されており、かつ装置Aの現在の所有者であると仮定さ
れている。このシナリオでは、第2の制御実行可能ノー
ド402(PC2)に関する様々な状況が扱われる。以下に列
挙するシナリオでは、バス上のすべての制御実行可能ノ
ードが上述のプロトコル・スタックおよびプロトコル・
ドライバを使用すると仮定されている。適切であるかぎ
り、古いシステム(すなわち、本発明の技法をサポート
しないシステム)と相互運用される例が各シナリオの下
に列挙されている。
【0075】A.PC2が追加される;PC1は現在、装置Aを
所有している バスにPC2を結合すると、既知の技法によってバス・リ
セットが行われる。バス・リセットによって、PC1およ
び装置AがPC2を確認(enumerate)し、PC2がPC1および
装置Aを確認(enumerate)する。PC2が装置Aを確認(en
umerate)すると、PC2で装置オブジェクトおよび装置ド
ライバが作成される。PC2上の装置ドライバは、プロト
コル特有の手段(すなわち、装置Aに特有のプロトコ
ル)を使用して、装置Aの所有権の獲得を試みる。この
プロセスによって、PC2は、PC1が装置Aの排他的な所有
者であるか、非排他的な所有者であるかを判定する。装
置を使用するうえで排他的な所有権が必要とされない場
合、PC2上の装置ドライバが正常に始動し、通知フラグ
でNOTIFY_ON_ACCESS_CHANGEが表明され所有権/アク
セス・フラグでACCESS_SHARED_READ/WRITE|DEVICE
_OWNERSHIP_REMOTE_MODEが表明されたアクセス・デ
ータ構造を送信する。装置を使用するうえで排他的なア
クセスが必要である場合、装置ドライバは、プロトコル
・スタックが正常に始動したことを上位層に示すが、内
部では、対応する装置オブジェクトをSTOPPED(停止
中)と示し、オペレーティング・システムより送信され
たすべての入出力要求にSTATUS_ACCESS_DENIED(ステ
ータス・アクセス拒否)を返す。装置ドライバは次い
で、通知フラグでNOTIFY_ON_ACCESS_CHANGEが表明さ
れ、所有権/アクセス・フラグでACCESS_EXCLUSIVE|D
EVICE_OWNERSHIP_REMOTE_NODEが表明されたアクセス
・データ構造をバス・ドライバに送信する。PC2上の装
置ドライバはその後、適切に構成されたトランザクショ
ン・パケットを使用してPC1に、通知を受けるための登
録を行う。
【0076】しかし、プロトコル特有の手段で、PC1が
装置Aの所有者であることをPC2上の装置ドライバに確認
させることができない場合、PC2上のバス・ドライバ
は、バス上のすべての制御実行可能ノードに登録要求ト
ランザクション・パケットを一斉同報通信する。PC1
は、登録要求を受信した後、登録応答トランザクション
・パケットで応答し、それによって、PC2上のバス・ド
ライバは、PC1がリモート所有者であることを装置ドラ
イバに知らせる通知データ構造を発行する。また、PC2
上のバス・ドライバは、すべての制御実行可能ノードに
アクセス通知トランザクション・パケットを一斉同報通
信し、それによって、装置Aの所有権の現在のステータ
スをそれらのノードに知らせる。
【0077】PC1が古いシステムである場合、PC1に、通
知を受けるための登録を行う試みは失敗する。しかし、
PC2上のバス・ドライバは、それが装置ドライバに送信
する通知データ構造によってこのことを装置ドライバか
ら隠す。
【0078】B.PC1、PC2、および装置Aは動作中であ
る;PC1が物理的に取り外される PC1をバスから物理的に結合解除すると、バス・リセッ
トが行われ、PC2がPC1を再確認(reenumerate)し、PC1
が無いことを検出する。これに応答して、PC2上のバス
・ドライバはそのローカル装置オブジェクトを検査し、
PC1が、装置オブジェクトによって表わされている装
置、および通知を受けるための登録がまだなされていな
い装置の所有者であるかどうかを判定する。通知を受け
るための登録がなされている(すなわち、NOTIFY_ON_
ACCESS_CHANGEフラグが表明されている)装置オブジェ
クトの場合、PC2上のバス・ドライバは、適切なフラグ
が設定された装置ドライバ、およびWMI非同期通知を有
する装置ドライバに通知データ構造を送信し、他の装置
ドライバに警告する。
【0079】PC2(おそらく、すでに登録されている、
所有権を得ることのできるノード)上に存在する対応し
ている装置ドライバは、装置Aの所有者がもはや存在し
ないことを知ると、装置Aの所有権の確立を試みる。PC2
上の装置ドライバは、通知を受けるための登録を行った
ときに優先順位1が割り当てられた(すなわち、次に装
置の所有権を得ることができるライン上に存在する)場
合、バス・リセットの後でプロトコルによって許可され
た直後にアクセスを試みなければならない。PC2上の装
置ドライバは、装置Aの所有権の確立を試みた後、この
ように確立されたアクセスの種類を反映するように適切
なフラグが設定されたアクセス・データ構造をPC2のバ
ス・ドライバに発行する。しかし、PC2上の装置ドライ
バに最高の優先順位が割り当てられていない場合、該装
置ドライバは、再接続によるタイムアウトの間隔の持続
時間が装置プロトコルによって指定されている場合には
その持続時間の間待つ。あるいは、好ましい態様におい
て、装置ドライバは、それに割り当てられた優先順位番
号(漸次低くなる優先順位を示す漸次大きくなる優先順
位番号)に所定の間隔を乗じた値に等しい時間の間待た
なければならない。たとえば、優先順位3および所定の
間隔250msが割り当てられた装置ドライバの場合、3*25
0msの間待たなければならない。これにより、より高い
優先順位を有するノードがまず所有権の獲得を試みる。
この期間内に一斉同報通信・パケットが送信されない場
合、装置ドライバは、上記で指定されたようにアクセス
を試みることができる。この場合も、あるアクセス・レ
ベルが確立されていると仮定すると、PC2上の装置ドラ
イバは、このように確立されたアクセスの種類を反映す
るように適切なフラグが設定されたアクセス・データ構
造をPC2のバス・ドライバに発行する。
【0080】PC2上のバス・ドライバは、装置ドライバ
によって送信されたアクセス・データ構造に応答して、
適切な通知タイプを反映する通知データ構造を該装置ド
ライバに送り返す。また、バス・ドライバは、PC2上の
装置ドライバに現在許可されている現在のアクセスを反
映するアクセス通知トランザクション・パケットを通信
バス上の他のバス・ドライバに発行する。アクセス通知
トランザクション・パケットによって、他の制御実行可
能ノードが、新しい所有者(PC2)に、通知を受けるた
めの再登録を行うことを可能にする。
【0081】PC1が古いシステムである場合、動作が上
記のA節で述べたのと同様に動作が進行することに留意
されたい。
【0082】C.PC1、PC2、および装置Aは動作中であ
る;PC1が所有権を放棄する このシナリオは、装置Aの現在の所有者ノード(PC1)が
ユーザの介入またはその他の方法によって所有権を放棄
する状況に対処するシナリオである。この例では、PC1
のユーザが、たとえばPnPアプレットまたは同様の機構
を使用して装置Aを使用不能にする必要があるというこ
とを、装置Aに対応しているPC1の装置ドライバに示した
ものと仮定する。このような表示に応答して、装置ドラ
イバは、装置Aのプロトコルに対して特有の手段を使用
して装置Aを解放する。さらに、装置ドライバは、所有
権/アクセス・フラグが表明されておらず、それによっ
て所有権がないことを示すアクセス・データ構造をPC1
のバス・ドライバに送信させる。バス・ドライバは、そ
の装置ドライバによる所有権がないことを反映する通知
データ構造によって該装置ドライバに応答する。さら
に、バス・ドライバは、PC1がもはや所有権を保持して
いないことを示すアクセス通知トランザクション・パケ
ットを通信バス上の他のすべての制御実行可能ノードに
送信する。
【0083】PC1のバス・ドライバから送信されたアク
セス通知トランザクション・パケットに応答して、PC2
上のバス・ドライバは、装置Aの所有権ステータスが変
更されたことをPC2上の適切な装置ドライバに示す通知
データ構造を送信する。これに応答して、特に割り当て
られる優先順位に関して上記のB節で述べたものと本質
的に同じ方法でPC2上の装置ドライバは装置Aの所有権の
確立を試みる。
【0084】古いシステムの場合、古いPCは所有権の放
棄を通信することができない。PC1を物理的に取り外し
た場合にのみ、他の制御実行可能ノードが所有権の獲得
を試みる。
【0085】D.PC1、PC2、および装置Aは動作中であ
る;PC2が所有権譲渡を開始する。このシナリオでは、P
C2は、PC1からPC2自体への、装置Aの所有権の譲渡を積
極的に試みる。この目的のために、PC2のユーザは、装
置Aの譲渡を要求したいという信号を、装置Aに対応する
PC2の装置ドライバに送る。一態様では、これは、PnP手
順に従って装置を「取り外させる」既知のPnP方法を使
用して行われる。これに応答して、装置ドライバは、ロ
ーカル所有権が必要であることが所有権/アクセス・フ
ラグによって示された(すなわち、DESIRED_ACCESSフ
ラグおよびOWNERSHIP_LOCALフラグがアサートされた)
アクセス・データ構造をバス・ドライバに送信させる。
このアクセス・データ構造に応答して、バス・ドライバ
は、アクセス権譲渡要求トランザクション・パケットを
現在の所有者に発行する。
【0086】PC1(所有者ノード)上のバス・ドライバ
は、PC2のバス・ドライバからアクセス権譲渡要求トラ
ンザクション・パケットを受信すると、PC1上の装置ド
ライバに通知データ構造を発行し、それによって該装置
ドライバにこの要求を通知する。次に装置ドライバは、
上位アプリケーションにその要求を通知する。一態様で
は、装置ドライバは、上位アプリケーションの応答を追
跡するタイマも開始する。たとえば、リモート制御実行
可能ノードが装置Aの所有権を要求していることを示す
(と共に、任意選択で、リモート制御実行可能ノードの
IDを示す)ダイアログ・ボックスを表示させることによ
って、上位アプリケーションはPC1のユーザとの通信を
容易にする。
【0087】ユーザが存在する場合、そのユーザは、所
有権譲渡を許可することを決定することができる。この
場合、本質的にはこの点で所有権が放棄され、プロセス
は、上記のC節で述べたように進行する。所有権譲渡が
許可されたが、要求側ノードの割り当てられた優先順位
が1以外である場合、PC1上のバス・ドライバが、アクセ
スを拒否するアクセス権譲渡応答トランザクション・パ
ケットを送信しなければならないことに留意されたい。
次いでPC1は、上述のように所有権を放棄しなければな
らず、したがって、優先順位の高い方のノードが装置A
にアクセスできるようになる。優先順位の高い方のノー
ドが応答しない場合、最初の要求側ノード(PC2)がア
クセスを試みることができる。あるいは、ユーザが所有
権譲渡を拒否することを決定した場合、PC1上のバス・
ドライバは、アクセスを拒否するアクセス権譲渡応答ト
ランザクション・パケットを送信しなければならない。
ユーザが存在しないか、またはその他の理由で応答しな
い場合、タイマの満了により譲渡要求の拒否をトリガす
ることができる。あるいは、所有権を放棄するアクセス
・データ構造をタイマの満了時に発行することができ
る。
【0088】所有者ノードが古いシステムである場合、
譲渡要求は、要求側ノード上の要求側バス・ドライバに
よって内部で拒否されることに留意されたい。
【0089】本発明は、特にIEEE1394準拠システムに関
する所有権放棄のための新規の方法を提供する。本発明
は、分散機構を使用するので、既存の装置を変更する必
要がない。さらに、ユーザの介入はほとんどあるいはま
ったく必要とされず、装置ドライバは、装置の所有権の
変−+更を自動的に検出し、それに応じて、登録されて
いる潜在的な所有者に通知する。以上の説明は、本発明
の原理の適用を例示したに過ぎない。当業者であれば、
本発明の趣旨および範囲から逸脱せずに、他の構成およ
び方法を実施することができる。特許請求の範囲は、ミ
ーンズプラスファンクションした様式であると解釈すべ
きではない。
【0090】
【発明の効果】本発明により、装置を共用する、および
調停するための方法および装置が提供され、制御される
装置の修正も参加も必要としない装置調停のための技術
が提供された。
【図面の簡単な説明】
【図1】 本発明の様々な局面を実施するために使用で
きる従来型の汎用デジタル・コンピューティング環境の
概略ブロック図である。
【図2】 各装置と、シリアル・バスを介して互いに結
合された対応するノードとから成るシステムの概略ブロ
ック図である。
【図3】 本発明に係る方法を示すフローチャートであ
る。
【図4】 本発明に係る通信バスを介して装置に結合さ
れた制御実行可能ノードを詳しく示すブロック図であ
る。
【符号の説明】
100 コンピュータ、101 キーボード、102
ポインティング・デバイス、106 シリアル・ポート
・インタフェース、107 モニタ、108ビデオ・ア
ダプタ、109 リモート・コンピュータ、110 処
理ユニット、111 メモリ記憶装置、112 ローカ
ル・エリア・ネットワーク(LAN)、113 ワイド・
エリア・ネットワーク(WAN)、114 アダプタ、1
15モデム、120 システム・メモリ、130 シス
テム・バス、140 読取り専用メモリ(ROM)、14
5 IEEE1394準拠シリアル・バス、150 ランダム・
アクセス・メモリ(RAM)、151 コンピュータ、1
60 基本入出力システム(BIOS)、170 ハード・
ディスク・ドライブ、180 磁気ディスク・ドライ
ブ、190 磁気ディスク、191 光ディスク・ドラ
イブ、192 光ディスク、193 磁気ディスク・ド
ライブ・インタフェース、194 光ディスク・ドライ
ブ・インタフェース、195 オペレーティング・シス
テム、196 アプリケーション・プログラム、197
プログラム・モジュール、198プログラム・デー
タ、200 システム、201 コンピュータ、202
プリンタ、203 デジタル・カメラ、204 スキ
ャナ、205 デジタルVCR、206 コンピュータ、
211 ノード、212 プリンタ・ノード、213デ
ジタル・カメラ・ノード、214 スキャナ・ノード、
215 デジタルVCRノード、216 コンピュータ・
ノード、222 相互接続部、223 相互接続部、2
24 相互接続部、225 相互接続部、226 相互
接続部、301 段階、302 段階、303 段階、
304 段階、305 段階、306段階、400 コ
ンピュータ・システム、401 制御実行可能ノード、
402 制御実行可能ノード、403 装置、404a
ハードウェア層、404bハードウェア層、406a
オープン・ホスト・コントローラ・インタフェース
(OHCI)ドライバ、406b オープン・ホスト・コン
トローラ・インタフェース(OHCI)ドライバ、408a
バス・ドライバ、408b バス・ドライバ、410
a 装置オブジェクト、410b 装置オブジェクト、
412a 装置ドライバ、412b 装置ドライバ。
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B014 EB03 FA05 FB03 FB04 GD05 GD22 GD23 GD32 GD33 GD35 GE05 HA01 HB06 HC03 5B021 AA01 BB01 BB04 CC05 EE01 5B089 GA21 GB02 HA18 JA35 JB15 KA04 KE02 KE03 5K032 BA01 CC11 5K033 BA01 CB14

Claims (33)

    【特許請求の範囲】
  1. 【請求項1】 第1の制御実行可能ノードの第1のバス・
    ドライバと第2の制御実行可能ノードの第2のバス・ドラ
    イバとの間の通信で使用されるデータ構造が記憶されて
    おり、第1の制御実行可能ノード、第2の制御実行可能ノ
    ード、および装置が通信バスに結合されているコンピュ
    ータ可読媒体であって、該データ構造が、 第1および第2の制御実行可能ノードのうちの一方の通知
    ステータスを表わす少なくとも1つの通知登録インディ
    ケータを含み、 装置の所有権ステータスの変更が、少なくとも1つの通
    知登録インディケータに基づいて第1および第2の制御実
    行可能ノードのうちの一方に示されるコンピュータ可読
    媒体。
  2. 【請求項2】 データ構造が、 データ構造が問合せデータ構造であるか、または通知デ
    ータ構造であるかを表わすデータ構造ステータス・イン
    ディケータをさらに含む、請求項1記載のコンピュータ
    可読媒体。
  3. 【請求項3】 データ構造が問合わせデータ構造である
    ときに少なくとも1つの通知登録インディケータが所望
    のアクセスおよび所望の通知を表わす、請求項2記載の
    コンピュータ可読媒体。
  4. 【請求項4】 データ構造が通知データ構造であるとき
    に少なくとも1つの通知登録インディケータが通知登録
    ステータスおよび割り当てられた優先順位を表わす、請
    求項2記載のコンピュータ可読媒体。
  5. 【請求項5】 データ構造が、 第1および第2の制御実行可能ノードのうちの一方のIDを
    含むターゲット・ノードIDフィールドと、 第1および第2の制御実行可能ノードのうちの他方のIDを
    含むソース・ノードIDフィールドとをさらに含む、請求
    項1記載のコンピュータ可読媒体。
  6. 【請求項6】 第1の制御実行可能ノードの第1のバス・
    ドライバと第2の制御実行可能ノードの第2のバス・ドラ
    イバとの間の通信で使用されるデータ構造が記憶されて
    おり、第1の制御実行可能ノード、第2の制御実行可能ノ
    ード、および装置が通信バスに結合されているコンピュ
    ータ可読媒体であって、該データ構造が、 第1および第2の制御実行可能ノードのうちの一方の譲渡
    ステータスを表わす少なくとも1つのアクセス権譲渡イ
    ンディケータを含み、 装置の所有権が、少なくとも1つのアクセス権譲渡イン
    ディケータに基づいて第1および第2の制御実行可能ノー
    ドのうちの一方に譲渡されるコンピュータ可読媒体。
  7. 【請求項7】 データ構造が、 データ構造が問合せデータ構造であるか、または通知デ
    ータ構造であるかを表わすデータ構造ステータス・イン
    ディケータをさらに含む、請求項6記載のコンピュータ
    可読媒体。
  8. 【請求項8】 データ構造が問合せデータ構造であると
    きに少なくとも1つのアクセス権譲渡インディケータ
    が、所望のアクセス、所望の通知、および割り当てられ
    た優先順位を表わす、請求項7記載のコンピュータ可読
    媒体。
  9. 【請求項9】 データ構造が通知データ構造であるとき
    に少なくとも1つのアクセス権譲渡インディケータが、
    アクセス権譲渡ステータスを表わす、請求項7記載のコ
    ンピュータ可読媒体。
  10. 【請求項10】 データ構造が、 第1および第2の制御実行可能ノードのうちの一方のIDを
    含むターゲット・ノードIDフィールドと、 第1および第2の制御実行可能ノードのうちの他方のIDを
    含むソース・ノードIDフィールドとをさらに含む、請求
    項6記載のコンピュータ可読媒体。
  11. 【請求項11】 第1の制御実行可能ノードの第1のバス・
    ドライバと第2の制御実行可能ノードの第2のバス・ドラ
    イバとの間の通信で使用されるデータ構造が記憶されて
    おり、第1の制御実行可能ノード、第2の制御実行可能ノ
    ード、および装置が通信バスに結合されているコンピュ
    ータ可読媒体であって、データ構造が、 装置のアクセス・ステータスを表わす少なくとも1つの
    アクセス権通知インディケータを含み、 第1および第2の制御実行可能ノードの所有者ノードが、
    第1および第2の制御実行可能ノードのうちの他方に少な
    くとも1つのアクセス権譲通知インディケータを与える
    コンピュータ可読媒体。
  12. 【請求項12】 データ構造が、 第1および第2の制御実行可能ノードのうちの他方のIDを
    含むターゲット・ノードIDフィールドと、 所有者ノードのIDを含むソース・ノードIDフィールドと
    をさらに含む、請求項1記載のコンピュータ可読媒体。
  13. 【請求項13】 第1の制御実行可能ノードの第1のバス・
    ドライバと第2の制御実行可能ノードの第2のバス・ドラ
    イバとの間の通信で使用されるデータ構造が記憶されて
    おり、第1のバス・ドライバが、第1の制御実行可能ノー
    ド上に存在する第1の装置ドライバと通信し、第2のバス
    ・ドライバが、第2の制御実行可能ノード上に存在する
    第2の装置ドライバと通信し、第1の制御実行可能ノー
    ド、第2の制御実行可能ノード、および装置が通信バス
    に結合されているコンピュータ可読媒体であって、該デ
    ータ構造が、 第1および第2の装置ドライバのうちの対応する装置ドラ
    イバに直接供給すべき情報を該データ構造が含むこと
    を、第1および第2のバス・ドライバのうちの一方に知ら
    せる少なくとも1つの直接通信インディケータを含むコ
    ンピュータ可読媒体。
  14. 【請求項14】 データ構造が、 第1および第2の制御実行可能ノードのうちの一方のIDを
    含むターゲット・ノードIDフィールドと、 第1および第2の制御実行可能ノードのうちの他方のIDを
    含むソース・ノードIDフィールドとをさらに含む、請求
    項13記載のコンピュータ可読媒体。
  15. 【請求項15】 装置ドライバからローカル制御実行可能
    ノード内のバス・ドライバへの通信で使用されるデータ
    構造が記憶されているコンピュータ可読媒体であって、
    該データ構造が、 装置とローカル制御実行可能ノードを含む複数の制御実
    行可能ノードとが通信バスに結合されている、該複数の
    制御実行可能ノードに関する装置の所有権ステータスを
    表わす少なくとも1つの所有権インディケータと、 複数の制御実行可能ノードに関する装置のアクセス・ス
    テータスを表わす少なくとも1つのアクセス・インディ
    ケータとを含むコンピュータ可読媒体。
  16. 【請求項16】 データ構造が、 データ構造が問合せデータ構造であるか、または通知デ
    ータ構造であるかを表わすデータ構造ステータス・イン
    ディケータをさらに含む、請求項15記載のコンピュータ
    可読媒体。
  17. 【請求項17】 少なくとも1つの所有権インディケータ
    が、複数の制御実行可能ノードのうちの、ローカル制御
    実行可能ノードによる所有権またはリモート制御実行可
    能ノードによる所有権のいずれかを表わす、請求項15記
    載のコンピュータ可読媒体。
  18. 【請求項18】 リモート制御実行可能ノードのIDを含む
    リモート所有者IDフィールドをさらに含む、請求項17記
    載のコンピュータ可読媒体。
  19. 【請求項19】 少なくとも1つのアクセス・インディケ
    ータが、複数の制御実行可能ノード間の共用アクセス、
    または複数の制御実行可能ノードのうちの1つに対する
    排他的なアクセスを表わす、請求項15記載のコンピュー
    タ可読媒体。
  20. 【請求項20】 少なくとも1つのアクセス・インディケ
    ータが、複数の制御実行可能ノード間の共用読取りアク
    セス、共用書込みアクセス、またはその両方を表わす、
    請求項15記載のコンピュータ可読媒体。
  21. 【請求項21】 ローカル制御実行可能ノードの通知ステ
    ータスを表わす少なくとも1つの通知インディケータを
    さらに含む、請求項15記載のコンピュータ可読媒体。
  22. 【請求項22】 少なくとも1つの通知インディケータ
    が、通信バス・イベントが起こった際の通知、または装
    置の所有権ステータスが変更された際の通知を表わす、
    請求項15記載のコンピュータ可読媒体。
  23. 【請求項23】 通信バスを介して互いに通信する複数の
    制御実行可能ノードおよび少なくとも1つの装置を備え
    るシステムにおいて、少なくとも1つの装置のうちのあ
    る装置の使用権を調停する方法であって、 複数の制御実行可能ノードの第1の制御実行可能ノード
    によって、複数の制御実行可能ノードの第2の制御実行
    可能ノードによる該装置の所有権を判定する段階、およ
    び第1の制御実行可能ノードによる該装置の所有権を要
    求する第1のメッセージを第1の制御実行可能ノードによ
    って第2の制御実行可能ノードに送信する段階を含む方
    法。
  24. 【請求項24】 通信バスが1394準拠シリアル・バスであ
    り、第2の制御実行可能ノードによる所有権を判定する
    段階が、第1の制御実行可能ノードによる第2の制御実行
    可能ノードを確認する(enumerate)段階をさらに含
    む、請求項23記載の方法。
  25. 【請求項25】 第2の制御実行可能ノードによる所有権
    を判定する段階が、第2の制御実行可能ノードによる非
    排他的所有権を判定する段階をさらに含み、第1のメッ
    セージが第1の制御実行可能ノードによる非排他的所有
    権を要求するメッセージである、請求項23記載の方法。
  26. 【請求項26】 第1の制御実行可能ノードによって、第2
    の制御実行可能ノードに、装置の所有権ステータスに対
    する変更の通知を受けるための登録を行う段階をさらに
    含む、請求項23記載の方法。
  27. 【請求項27】 第1のメッセージが、第1の制御実行可能
    ノードによる装置の排他的所有権を要求するメッセージ
    である、請求項23記載の方法。
  28. 【請求項28】 第1の制御実行可能ノードによって、第1
    のメッセージ内の排他的所有権の要求を拒否する第2の
    メッセージを第2の制御実行可能ノードから受信する段
    階をさらに含む、請求項27記載の方法。
  29. 【請求項29】 第1の制御実行可能ノードによって、第1
    のメッセージ内の排他的所有権の要求を許諾する第2の
    メッセージを第2の制御実行可能ノードから受信する段
    階をさらに含む、請求項27記載の方法。
  30. 【請求項30】 通信バスを介して互いに通信する複数の
    制御実行可能ノードおよび少なくとも1つの装置を備え
    るシステムにおいて、少なくとも1つの装置のうちのあ
    る装置の使用権を調停する方法であって、 複数の制御実行可能ノードの第2の制御実行可能ノード
    による該装置の所有権が終了したことを、複数の制御実
    行可能ノードの第1の制御実行可能ノードによって判定
    する段階、および第2の制御実行可能ノードによる所有
    権が終了したことに応答して、第1の制御実行可能ノー
    ドによる該装置の所有権を、第1の制御実行可能ノード
    によって確立する段階を含む方法。
  31. 【請求項31】 第2の制御実行可能ノードによる装置の
    所有権が終了したことを判定する段階が、 第2の制御実行可能ノードがもはや通信バスに結合され
    ていないことを判定する段階をさらに含む、請求項30記
    載の方法。
  32. 【請求項32】 第2の制御実行可能ノードによる装置の
    所有権が終了したことを判定する段階が、 第2の制御実行可能ノードによる装置の所有権が終了し
    たことを示す第1のメッセージを第2の制御実行可能ノー
    ドから受信する段階をさらに含む、請求項30記載の方
    法。
  33. 【請求項33】 第1の制御実行可能ノードによる所有権
    を確立する段階が、割り当てられた優先順位に従って第
    1の制御実行可能ノードによる所有権を確立する段階を
    さらに含む、請求項30記載の方法。
JP2001121588A 2000-04-19 2001-04-19 装置共用および調停のための方法および装置 Expired - Lifetime JP4210042B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/553,453 US6704819B1 (en) 2000-04-19 2000-04-19 Method and apparatus for device sharing and arbitration
US09/553,453 2000-04-19

Publications (3)

Publication Number Publication Date
JP2002026944A true JP2002026944A (ja) 2002-01-25
JP2002026944A5 JP2002026944A5 (ja) 2008-02-21
JP4210042B2 JP4210042B2 (ja) 2009-01-14

Family

ID=24209456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001121588A Expired - Lifetime JP4210042B2 (ja) 2000-04-19 2001-04-19 装置共用および調停のための方法および装置

Country Status (2)

Country Link
US (1) US6704819B1 (ja)
JP (1) JP4210042B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013137717A (ja) * 2011-12-28 2013-07-11 Toshiba Corp 不揮発性記憶装置、アクセス制御プログラムおよび記憶制御方法
CN104092594A (zh) * 2014-07-22 2014-10-08 中国第一汽车股份有限公司 Can报文仲裁影响因素检测系统及其方法
US8976513B2 (en) 2002-10-22 2015-03-10 Jason A. Sullivan Systems and methods for providing a robust computer processing unit
US9606577B2 (en) 2002-10-22 2017-03-28 Atd Ventures Llc Systems and methods for providing a dynamically modular processing unit
US9961788B2 (en) 2002-10-22 2018-05-01 Atd Ventures, Llc Non-peripherals processing control module having improved heat dissipating properties
USRE48365E1 (en) 2006-12-19 2020-12-22 Mobile Motherboard Inc. Mobile motherboard

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013339B2 (en) * 1998-07-06 2006-03-14 Sony Corporation Method to control a network device in a network comprising several devices
JP2002033750A (ja) * 2000-07-18 2002-01-31 Sony Corp 情報処理装置及び方法、媒体
JP3480923B2 (ja) * 2000-07-26 2003-12-22 株式会社東芝 ネットワーク上の機器制御方法およびこの制御方法を用いる映像機器
DE10048732A1 (de) * 2000-09-29 2002-04-18 Philips Corp Intellectual Pty Multiprozessor-Anordnung
US7275236B1 (en) * 2000-11-24 2007-09-25 Mitsubishi Denki Kabushiki Kaisha Method for programming a multiple device control system using object sharing
US7356820B2 (en) * 2001-07-02 2008-04-08 International Business Machines Corporation Method of launching low-priority tasks
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
US7069365B2 (en) * 2002-04-01 2006-06-27 Sun Microsystems, Inc. System and method for controlling multiple devices via general purpose input/output (GPIO) hardware
US7133955B2 (en) * 2002-09-11 2006-11-07 Stargen, Inc. System and method for selecting fabric master
US20050172046A1 (en) * 2004-01-30 2005-08-04 Goodwin Kevin M. Switching I/O states for volume without completely tearing down stack
US8266241B1 (en) 2004-06-22 2012-09-11 Apple Inc. Image sharing
US8676923B2 (en) * 2005-03-08 2014-03-18 International Business Machines Corporation Use of discovery scanning and method of IP only communication to identify owners and administrators of network attached devices
JP2007188184A (ja) * 2006-01-11 2007-07-26 Fujitsu Ltd アクセス制御プログラム、アクセス制御方法およびアクセス制御装置
US7809993B2 (en) * 2006-01-17 2010-10-05 International Business Machines Corporation Apparatus, system, and method for receiving digital instructions at devices sharing an identity
US8185680B2 (en) * 2006-02-06 2012-05-22 Standard Microsystems Corporation Method for changing ownership of a bus between master/slave devices
JP4233585B2 (ja) * 2006-07-25 2009-03-04 株式会社エヌ・ティ・ティ・ドコモ ペリフェラル切替装置及びペリフェラル切替制御装置
KR101320850B1 (ko) * 2006-12-21 2013-10-21 삼성전자주식회사 제어소유권을 등록하여 외부기기를 제어하는 영상디스플레이 장치 및 그 제어방법
US7996497B2 (en) 2008-06-30 2011-08-09 International Business Machines Corporation Method of handling duplicate or invalid node controller IDs in a distributed service processor environment
US8913285B1 (en) 2009-06-07 2014-12-16 Apple Inc. Automated method of decomposing scanned documents
US8549437B2 (en) * 2009-08-27 2013-10-01 Apple Inc. Downloading and synchronizing media metadata
US8631284B2 (en) 2010-04-30 2014-01-14 Western Digital Technologies, Inc. Method for providing asynchronous event notification in systems
US8762682B1 (en) 2010-07-02 2014-06-24 Western Digital Technologies, Inc. Data storage apparatus providing host full duplex operations using half duplex storage devices
JP6486233B2 (ja) * 2015-07-30 2019-03-20 キヤノン株式会社 周辺装置、その方法、及びプログラム
US10095746B2 (en) 2015-12-03 2018-10-09 At&T Intellectual Property I, L.P. Contextual ownership
EP3388901B1 (de) * 2017-04-10 2023-08-23 Siemens Aktiengesellschaft Sicherheitsgerichtetes automatisierungssystem

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317693A (en) * 1991-04-04 1994-05-31 Digital Equipment Corporation Computer peripheral device network with peripheral address resetting capabilities
US6018785A (en) * 1993-12-30 2000-01-25 Cypress Semiconductor Corp. Interrupt-generating hardware semaphore
US5805905A (en) * 1995-09-06 1998-09-08 Opti Inc. Method and apparatus for arbitrating requests at two or more levels of priority using a single request line
US5802057A (en) * 1995-12-01 1998-09-01 Apple Computer, Inc. Fly-by serial bus arbitration
JP3601205B2 (ja) * 1996-08-26 2004-12-15 ソニー株式会社 電子機器及びその動作モード制御方法
US5938752C1 (en) * 1997-05-20 2002-02-05 Microsoft Corp System and method for encapsulating legacy data transport protocols for ieee 1394 serial bus
US6141702A (en) * 1997-07-30 2000-10-31 Sony Corporation Of Japan Model and command set for an AV/C-based disc media player recorder
US6038625A (en) * 1998-01-06 2000-03-14 Sony Corporation Of Japan Method and system for providing a device identification mechanism within a consumer audio/video network
JPH11205363A (ja) * 1998-01-20 1999-07-30 Nec Corp Ieee1394機器制御装置
KR100592526B1 (ko) * 1998-01-23 2006-06-23 소니 가부시끼 가이샤 네트워크 구성방법, 정보처리방법 및 정보처리장치, 그리고 컴퓨터 판독가능 매체
US6105094A (en) * 1998-01-26 2000-08-15 Adaptec, Inc. Method and apparatus for allocating exclusive shared resource requests in a computer system
JP3171241B2 (ja) * 1998-03-06 2001-05-28 日本電気株式会社 通信方法
US6115770A (en) * 1998-03-25 2000-09-05 Lsi Logic Corporation System and method for coordinating competing register accesses by multiple buses
US6233611B1 (en) * 1998-05-08 2001-05-15 Sony Corporation Media manager for controlling autonomous media devices within a network environment and managing the flow and format of data between the devices
US6182112B1 (en) * 1998-06-12 2001-01-30 Unisys Corporation Method of and apparatus for bandwidth control of transfers via a bi-directional interface
JP2000032030A (ja) * 1998-07-14 2000-01-28 Sony Corp バスネットワークの同期通信設定方法およびそれを利用するバスネットワーク、並びに情報提供媒体
US6366964B1 (en) * 1998-10-22 2002-04-02 Sony Corporation Method of and apparatus for dynamically enumerating objects representing devices within an IEEE 1394 serial bus networking
US6389560B1 (en) * 1999-01-19 2002-05-14 Sun Microsystems, Inc. Universal serial bus interpreter
US6378000B1 (en) * 1999-04-29 2002-04-23 Mitsubish Electric Research Laboratories, Inc Address mapping in home entertainment network
AU6762200A (en) * 1999-08-09 2001-03-05 Sony Electronics Inc. Method and device related to bus access
US6529984B1 (en) * 2000-03-29 2003-03-04 Compaq Information Technologies Group, L.P. Dual phase arbitration on a bus

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8976513B2 (en) 2002-10-22 2015-03-10 Jason A. Sullivan Systems and methods for providing a robust computer processing unit
US9606577B2 (en) 2002-10-22 2017-03-28 Atd Ventures Llc Systems and methods for providing a dynamically modular processing unit
US9961788B2 (en) 2002-10-22 2018-05-01 Atd Ventures, Llc Non-peripherals processing control module having improved heat dissipating properties
US10285293B2 (en) 2002-10-22 2019-05-07 Atd Ventures, Llc Systems and methods for providing a robust computer processing unit
US10849245B2 (en) 2002-10-22 2020-11-24 Atd Ventures, Llc Systems and methods for providing a robust computer processing unit
US11751350B2 (en) 2002-10-22 2023-09-05 Atd Ventures, Llc Systems and methods for providing a robust computer processing unit
USRE48365E1 (en) 2006-12-19 2020-12-22 Mobile Motherboard Inc. Mobile motherboard
JP2013137717A (ja) * 2011-12-28 2013-07-11 Toshiba Corp 不揮発性記憶装置、アクセス制御プログラムおよび記憶制御方法
CN104092594A (zh) * 2014-07-22 2014-10-08 中国第一汽车股份有限公司 Can报文仲裁影响因素检测系统及其方法
CN104092594B (zh) * 2014-07-22 2017-06-06 中国第一汽车股份有限公司 Can报文仲裁影响因素检测系统及其方法

Also Published As

Publication number Publication date
JP4210042B2 (ja) 2009-01-14
US6704819B1 (en) 2004-03-09

Similar Documents

Publication Publication Date Title
JP4210042B2 (ja) 装置共用および調停のための方法および装置
US6112263A (en) Method for multiple independent processes controlling access to I/O devices in a computer system
TWI351610B (en) Simple and dynamic configuration of network device
US7093044B2 (en) Method and apparatus for providing quality-of-service delivery facilities over a bus
US7117280B2 (en) Network based intra-system communications architecture
US6810452B1 (en) Method and system for quarantine during bus topology configuration
US20040199680A1 (en) Centralized technique for assigning I/O controllers to hosts in a cluster
US6374316B1 (en) Method and system for circumscribing a topology to form ring structures
WO2000036517A2 (en) Interface tap for 1394-enabled serial bus device
KR20040041665A (ko) 제어 서버 및 이에 대한 원격 제어 시스템
KR100746900B1 (ko) 전자장치, 및 전자장치의 물리층 회로의 상태를 제어하는방법
US6647446B1 (en) Method and system for using a new bus identifier resulting from a bus topology change
JP2000184000A (ja) ステ―トマシン駆動型トランスポ―トプロトコルインタ―フェ―ス
US6272114B1 (en) Data processing apparatus/method and electronic apparatus with such apparatus/method
JP2007521584A (ja) ポート群を動的に専用化するプロセッサ間通信ネットワーク
JP2001282701A (ja) 情報処理装置及び情報処理方法
US6286067B1 (en) Method and system for the simplification of leaf-limited bridges
US6751697B1 (en) Method and system for a multi-phase net refresh on a bus bridge interconnect
US6584539B1 (en) Method and system for message broadcast flow control on a bus bridge interconnect
US7908387B2 (en) Lookup service system in JINI-based home network supporting IEEE1394 and TCP/IP
US6502158B1 (en) Method and system for address spaces
US7734758B1 (en) USB encapsulation for network transmission
Bigioi et al. PTP/IP-a new transport specification for wireless photography
US6633943B1 (en) Method and system for the simplification of leaf-limited bridges
WO2000057263A1 (en) A method and system for a multi-phase net refresh on a bus bridge interconnect

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050412

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071127

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071127

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071228

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071228

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080328

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080630

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080703

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080725

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080828

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: 20080926

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: 20081024

R150 Certificate of patent or registration of utility model

Ref document number: 4210042

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: 20111031

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term