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

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

Info

Publication number
JP4210042B2
JP4210042B2 JP2001121588A JP2001121588A JP4210042B2 JP 4210042 B2 JP4210042 B2 JP 4210042B2 JP 2001121588 A JP2001121588 A JP 2001121588A JP 2001121588 A JP2001121588 A JP 2001121588A JP 4210042 B2 JP4210042 B2 JP 4210042B2
Authority
JP
Japan
Prior art keywords
control
ownership
node
executable node
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.)
Expired - Lifetime
Application number
JP2001121588A
Other languages
English (en)
Other versions
JP2002026944A5 (ja
JP2002026944A (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.)
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

Images

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

Description

【0001】
【発明の属する技術分野】
本発明は、全般的には電子装置間の通信手段としてシリアル・バスを使用することに関し、特に、IEEE1394シリアル・バス規格に従って動作するシリアル・バスなどのシリアル・バスを介した、制御実行可能ノード間の装置の共用および所有権調停に関する。
【0002】
【従来の技術】
当技術分野では、複数のコンピュータが通信バスを介して様々な装置にアクセスすることのできるコンピュータ・システムを構成することが知られている。たとえば、シリアル・バスを使用し、このシリアル・バスを介してプリンタに結合されたコンピュータ間でプリンタを共用することができる。ある種の装置、たとえば、テレビジョン受像機やラジオ受信機などの、情報を伝送するのみの装置の特性として、様々なコンピュータがこれらの装置を同時に共用することができる。コンピュータ・ハード装置のような他の装置は、共用することができず、任意の所与の瞬間に単一のコンピュータによって所有される(このコンピュータの指示および制御に従う)。上述のシナリオを実施することのできるシリアル・バス技術は、「FIREWIRE」と呼ばれることもある、いわゆるIEEE1394シリアル・バスである。
【0003】
上述のシナリオは、ユーザ間において装置を共用できるようにすることによって顕著な利益をもたらすが、制御面の重大な問題も引き起こす。特に、任意の所与の瞬間にある装置をどのコンピュータが所有するか、ある装置の所有権ステータスが変更されたことを他のコンピュータにどのように通知すべきか、コンピュータがある装置の所有権の譲渡を要求できるようにするにはどうすべきかなどを決定するスキームを考案しなければならない。簡単に言えば、装置の共用を調停する技法を開発しなければならない。
【0004】
このような調停を行うための1つの技法として、「The HAVI Specification:Specification of the Home Audio/Video Interoperability(HAVi) Architecture」バージョン1.0ベータ(1998年11月19日)(以下では「HAVI仕様」と呼ぶ)に記載されたいわゆる家庭オーディオ/ビデオ・インターオペラビリティ(HAVI)アーキテクチャがある。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】
また、本発明に係る媒体においては、(10)データ構造が、
第1および第2の制御実行可能ノードのうちの一方のIDを含むターゲット・ノードIDフィールドと、
第1および第2の制御実行可能ノードのうちの他方のIDを含むソース・ノードIDフィールドとをさらに含む、上記(6)記載のコンピュータ可読媒体であることを特徴とする。
【0018】
また、本発明に係る媒体においては、(11)第1の制御実行可能ノードの第1のバス・ドライバと第2の制御実行可能ノードの第2のバス・ドライバとの間の通信で使用されるデータ構造が記憶されており、第1の制御実行可能ノード、第2の制御実行可能ノード、および装置が通信バスに結合されているコンピュータ可読媒体であって、データ構造が、
装置のアクセス・ステータスを表わす少なくとも1つのアクセス権通知インディケータを含み、
第1および第2の制御実行可能ノードの所有者ノードが、第1および第2の制御実行可能ノードのうちの他方に少なくとも1つのアクセス権譲通知インディケータを与えるコンピュータ可読媒体であることを特徴とする。
【0019】
また、本発明に係る媒体においては、(12)データ構造が、
第1および第2の制御実行可能ノードのうちの他方のIDを含むターゲット・ノードIDフィールドと、
所有者ノードのIDを含むソース・ノードIDフィールドとをさらに含む、上記(1)記載のコンピュータ可読媒体であることを特徴とする。
【0020】
また、本発明に係る媒体においては、(13)第1の制御実行可能ノードの第1のバス・ドライバと第2の制御実行可能ノードの第2のバス・ドライバとの間の通信で使用されるデータ構造が記憶されており、第1のバス・ドライバが、第1の制御実行可能ノード上に存在する第1の装置ドライバと通信し、第2のバス・ドライバが、第2の制御実行可能ノード上に存在する第2の装置ドライバと通信し、第1の制御実行可能ノード、第2の制御実行可能ノード、および装置が通信バスに結合されているコンピュータ可読媒体であって、該データ構造が、
第1および第2の装置ドライバのうちの対応する装置ドライバに直接供給すべき情報を該データ構造が含むことを、第1および第2のバス・ドライバのうちの一方に知らせる少なくとも1つの直接通信インディケータを含むコンピュータ可読媒体であることを特徴とする。
【0021】
また、本発明に係る媒体においては、(14)データ構造が、
第1および第2の制御実行可能ノードのうちの一方のIDを含むターゲット・ノードIDフィールドと、
第1および第2の制御実行可能ノードのうちの他方のIDを含むソース・ノードIDフィールドとをさらに含む、上記(13)記載のコンピュータ可読媒体であることを特徴とする。
【0022】
また、本発明に係る媒体においては、(15)装置ドライバからローカル制御実行可能ノード内のバス・ドライバへの通信で使用されるデータ構造が記憶されているコンピュータ可読媒体であって、該データ構造が、
装置とローカル制御実行可能ノードを含む複数の制御実行可能ノードとが通信バスに結合されている、該複数の制御実行可能ノードに関する装置の所有権ステータスを表わす少なくとも1つの所有権インディケータと、
複数の制御実行可能ノードに関する装置のアクセス・ステータスを表わす少なくとも1つのアクセス・インディケータとを含むコンピュータ可読媒体であることを特徴とする。
【0023】
また、本発明に係る媒体においては、(16)データ構造が、
データ構造が問合せデータ構造であるか、または通知データ構造であるかを表わすデータ構造ステータス・インディケータをさらに含む、上記(15)記載のコンピュータ可読媒体であることを特徴とする。
【0024】
また、本発明に係る媒体においては、(17)少なくとも1つの所有権インディケータが、複数の制御実行可能ノードのうちの、ローカル制御実行可能ノードによる所有権またはリモート制御実行可能ノードによる所有権のいずれかを表わす、上記(15)記載のコンピュータ可読媒体であることを特徴とする。
【0025】
また、本発明に係る媒体においては、(18)リモート制御実行可能ノードのIDを含むリモート所有者IDフィールドをさらに含む、上記(17)記載のコンピュータ可読媒体であることを特徴とする。
【0026】
また、本発明に係る媒体においては、(19)少なくとも1つのアクセス・インディケータが、複数の制御実行可能ノード間の共用アクセス、または複数の制御実行可能ノードのうちの1つに対する排他的なアクセスを表わす、上記(15)記載のコンピュータ可読媒体であることを特徴とする。
【0027】
また、本発明に係る媒体においては、(20)少なくとも1つのアクセス・インディケータが、複数の制御実行可能ノード間の共用読取りアクセス、共用書込みアクセス、またはその両方を表わす、上記(15)記載のコンピュータ可読媒体であることを特徴とする。
【0028】
また、本発明に係る媒体においては、(21)ローカル制御実行可能ノードの通知ステータスを表わす少なくとも1つの通知インディケータをさらに含む、上記(15)記載のコンピュータ可読媒体であることを特徴とする。
【0029】
また、本発明に係る媒体においては、(22)少なくとも1つの通知インディケータが、通信バス・イベントが起こった際の通知、または装置の所有権ステータスが変更された際の通知を表わす、上記(15)記載のコンピュータ可読媒体であることを特徴とする。
【0030】
また、本発明に係る方法においては、(23)通信バスを介して互いに通信する複数の制御実行可能ノードおよび少なくとも1つの装置を備えるシステムにおいて、少なくとも1つの装置のうちのある装置の使用権を調停する方法であって、
複数の制御実行可能ノードの第1の制御実行可能ノードによって、複数の制御実行可能ノードの第2の制御実行可能ノードによる該装置の所有権を判定する段階、および
第1の制御実行可能ノードによる該装置の所有権を要求する第1のメッセージを第1の制御実行可能ノードによって第2の制御実行可能ノードに送信する段階を含む方法であることを特徴とする。
【0031】
また、本発明に係る方法においては、(24)通信バスが1394準拠シリアル・バスであり、第2の制御実行可能ノードによる所有権を判定する段階が、第1の制御実行可能ノードによる第2の制御実行可能ノードを確認する(enumerate)段階をさらに含む、上記(23)記載の方法であることを特徴とする。
【0032】
また、本発明に係る方法においては、(25)第2の制御実行可能ノードによる所有権を判定する段階が、第2の制御実行可能ノードによる非排他的所有権を判定する段階をさらに含み、第1のメッセージが第1の制御実行可能ノードによる非排他的所有権を要求するメッセージである、上記(23)記載の方法であることを特徴とする。
【0033】
また、本発明に係る方法においては、(26)第1の制御実行可能ノードによって、第2の制御実行可能ノードに、装置の所有権ステータスに対する変更の通知を受けるための登録を行う段階をさらに含む、上記(23)記載の方法であることを特徴とする。
【0034】
また、本発明に係る方法においては、(27)第1のメッセージが、第1の制御実行可能ノードによる装置の排他的所有権を要求するメッセージである、上記(23)記載の方法であることを特徴とする。
【0035】
また、本発明に係る方法においては、(28)第1の制御実行可能ノードによって、第1のメッセージ内の排他的所有権の要求を拒否する第2のメッセージを第2の制御実行可能ノードから受信する段階をさらに含む、上記(27)記載の方法であることを特徴とする。
【0036】
また、本発明に係る方法においては、(29)第1の制御実行可能ノードによって、第1のメッセージ内の排他的所有権の要求を許諾する第2のメッセージを第2の制御実行可能ノードから受信する段階をさらに含む、上記(27)記載の方法であることを特徴とする。
【0037】
また、本発明に係る方法においては、(30)通信バスを介して互いに通信する複数の制御実行可能ノードおよび少なくとも1つの装置を備えるシステムにおいて、少なくとも1つの装置のうちのある装置の使用権を調停する方法であって、
複数の制御実行可能ノードの第2の制御実行可能ノードによる該装置の所有権が終了したことを、複数の制御実行可能ノードの第1の制御実行可能ノードによって判定する段階、および
第2の制御実行可能ノードによる所有権が終了したことに応答して、第1の制御実行可能ノードによる該装置の所有権を、第1の制御実行可能ノードによって確立する段階を含む方法であることを特徴とする。
【0038】
また、本発明に係る方法においては、(31)第2の制御実行可能ノードによる装置の所有権が終了したことを判定する段階が、
第2の制御実行可能ノードがもはや通信バスに結合されていないことを判定する段階をさらに含む、上記(30)記載の方法であることを特徴とする。
【0039】
また、本発明に係る方法においては、(32)第2の制御実行可能ノードによる装置の所有権が終了したことを判定する段階が、
第2の制御実行可能ノードによる装置の所有権が終了したことを示す第1のメッセージを第2の制御実行可能ノードから受信する段階をさらに含む、上記(30)記載の方法であることを特徴とする。
【0040】
また、本発明に係る方法においては、(33)第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、ROM140、またはRAM150上に記憶させることができる。特に、RAM150は、当技術分野で知られているように様々な装置ドライバ(たとえば、完全なIEEE1394ドライバ・スタックを含む)をオペレーティング・システム195の一部として適時記憶する。さらに、本明細書で開示されるデータ構造はRAM150を用いて記憶され処理される。ただし、本明細書で開示される他の記憶装置を同様に使用することもできる。
【0044】
ユーザは、キーボード101およびポインティング・デバイス102のような入力装置または選択装置によってコンピュータ100にコマンドおよび情報を入力することができる。ポインティング・デバイス102は、マウス、タッチ・パッド、タッチ・スクリーン、音声制御および作動装置、またはその他の同様な装置を備えることができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲーム・パッド、サテライト・ディッシュ、スキャナなどを含めることができる。これらおよびその他の入力装置は、システム・バスに結合されたシリアル・ポート・インタフェース106を通して処理ユニット110に接続されることが多いが、パラレル・ポート、ゲーム・ポート、または汎用シリアル・バス(USB)などの他のインタフェースによって接続させることができる。システム・バス130にはビデオ・アダプタ108のようなインタフェースを介してモニタ107またはその他の種類の表示装置も接続される。パーソナル・コンピュータは通常、モニタだけでなく、スピーカやプリンタなど他の周辺出力装置(図示せず)も含む。
【0045】
IEEE1394インタフェース140の形の追加のシリアル・ポートを設けることもできる。IEEE1394インタフェース140は、IEEE1394準拠シリアル・バス145をシステム・バス130または同様の通信バスに結合させる。IEEE1394準拠シリアル・バス145は、当技術分野で知られているように、装置150およびその他のコンピュータ151が、高速シリアル・チャネルを使用してコンピュータ100と通信すると共に互いに通信することを可能にする。IEEE1394シリアル・バス規格は、引用によって本明細書にその開示が組み入れられている、国際的に採用されているISO/IEC13213(ANSI/IEEE1212)CSRアーキテクチャ仕様およびIEEE1394−1995シリアル・バス仕様に主として基づく規格である。IEEE1394規格アーキテクチャを有する典型的なシリアル・バスは、各々がシリアル・バスの単一のノードをシリアル・バスの他のノードに接続する、ケーブルのようなポイント・ツー・ポイント・リンクを介して相互接続された複数のノードにより構成されている。ノード自体は、独立にリセットし識別することのできるアドレス可能なエンティティである。各ノードは、コンピュータ・システム内に存在するソフトウェアからアクセスできるいわゆる構成ROM(読取り専用メモリ)または構成メモリおよび標準化された1組の制御レジスタを形成する。所与のノードの構成メモリは、該ノードの機能の記述を部分的に形成する。シリアル・バス上に存在する各ノードごとの構成メモリは他のすべてのノードからアクセスされる。構成プロセス中に、他のノードは各ノードの構成メモリにアクセスし(このプロセスは、「確認(enumerate)」と呼ばれることが多い)、適切なシステム構成を判定する。したがって、所与のノードの構成メモリの1つの機能は、所与のノードの機能に関して他のノードに指示し、それによって、他のノードがどの装置ドライバをロードすべきかを判定できるようにすることである。当技術分野で知られているように、各装置は、他の機能の中でも特に、その装置を構成し、かつその装置がシステム全域で動作できるようにする機能を持つ関連するドライバを有している。ドライバは通常、実行されたときに、対応する装置が動作するよう適切に構成されるように、該装置と通信を行うコンピュータのメモリにロードすることができるソフトウェア命令である。ドライバは、装置を、機能できるように初期設定することができ、装置の、コンピュータ内のより高いプロトコル・レベルとの通信を可能にすることもできる。
【0046】
コンピュータ100は、リモート・コンピュータ109のような1つまたは複数のリモート・コンピュータとの論理接続を使用してネットワーク化環境で動作することができる。リモート・コンピュータ109は通常、コンピュータ100に関して上述した要素のうちの少なくともいくつかを含む。ただし、図1にはメモリ記憶装置111しか示されていない。図1に示されている論理接続は、ローカル・エリア・ネットワーク(LAN)112およびワイド・エリア・ネットワーク(WAN)113を含む。このようなネットワーク化環境は、事務所、企業全域のコンピュータ・ネットワーク、イントラネット、およびインタネットにおいて一般的に使用されている。
【0047】
コンピュータ100は、LANネットワーク化環境で使用されるときには、ネットワーク・インタフェースまたはアダプタ114を通してローカル・ネットワーク112に接続される。コンピュータ100およびリモート・コンピュータ109は共に、WANネットワーク化環境で使用されるときには、インタネットのようなワイド・エリア・ネットワーク113を介して通信を確立するモデム115またはその他の手段を含むことができる。モデム115は、内蔵モデムでも、または外付けモデムでもよく、シリアル・ポート・インタフェース106を介してシステム・バス130に接続される。ネットワーク化環境では、コンピュータ100に関して示されたプログラム・モジュールまたはその一部をリモート・メモリ記憶装置に記憶させることができる。
【0048】
図のネットワーク接続が例示的なものであり、コンピュータ間の通信リンクを確立する他の手段を使用できることが理解されると思われる。TCP/IP、「ETHERNET」、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、スキャナ204、デジタル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はデジタルVCRノード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、スキャナ204、およびデジタル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は、IEEE1394プロトコルと、対応する装置が従う何らかのプロトコルとの間のプロトコル・ギャップを埋める。装置ドライバ412と通信する上位アプリケーションは示されていない。しかし、このような上位アプリケーションは、当技術分野で周知であり、たとえば、制御実行可能ノード401〜402のユーザと制御中の装置403との間のインタフェースを実現する手段としてしばしば機能することが多い。
【0061】
図4においては、この図に示された様々な要素の間で渡される、本発明による様々なデータ構造(太い矢印)も示されている。これらのデータ構造は少なくとも、上記で図3に関して説明した方法を実施することを可能にする。図のように、装置オブジェクト410を介して装置ドライバ412からバス・ドライバ408にアクセス・データ構造が渡される。逆に、装置オブジェクト410を介してバス・ドライバ408から装置ドライバ412に通知データ構造が渡される。また、異なる制御実行可能ノード上に存在するバス・ドライバ408間の通信のためにトランザクション・パケットが提供される。したがって、アクセス・データ構造および通知データ構造ならびにトランザクション・パケットは、本発明にしたがって使用されたときに、装置ドライバ412が装置の調停に参加できるようにするピア・ツー・ピア通信経路を使用可能にする。さらに、後述のように、このようなデータ構造は、図4に太い点線で示すように、装置ドライバ間の直接アクセス通信も容易にする。以下の説明は、図4に示されるデータ構造の特定の実施態様と、そのようなデータ構造の、様々な状況での対応する使用法とを示すものである。しかし、本発明がこの点では制限されず、他の実施態様が可能であることを理解されたい。
【0062】
本発明によるアクセス・データ構造の特定の実施態様を以下の表1に示す。表のように、アクセス・データ構造はいわゆるWindowsマネージメント・インストルメンテーション(WMI)方式に従って実現される。WMI方式により、「WINDOWS」ブランドのオペレーティング・システムで使用される標準化されたインタフェース/データ・パッシング技法が提供される。
【表1】
Figure 0004210042
【0063】
Versionフィールドは、装置アプリケーション・プログラミング・インタフェースのバージョン、すなわち、調停方式のバージョンを示す。フラグ・フィールドは、所望の所有権ステータスまたは現在の所有権ステータスを示すように定義される。特に、DEVICE1394_DESIREDフィールドは所望の(将来の)アクセス許可を指定するフィールドである。このフィールドは以下のフラグのうちの1つと組み合わせなければならない。DEVICE1394_OWNERSHIP_LOCAL_NODEフィールドは、ローカル・ノードが装置の一次所有者であり、他のノードが、所有権およびアクセス許可を変更する場合にローカル・ノードと通信しなければならないことを示す。DEVICE1394_OWNERSHIP_REMOTE_NODEフィールドは、リモート・ノードが装置の一次所有者であり、他のノードが、所有権およびアクセス許可を変更する場合にリモート・ノードと通信しなければならないことを示す。DEVICE1394_ACCESS_SHARED_READ/WRITEフィールドは、装置グローバル・アクセスが現在共用されていることを示す。OWNERSHIP_LOCAL_NODEが設定された場合、一次/オリジナル所有者はローカル・ノードである。DEVICE1394_ACCESS_EXCLUSIVEフィールドは、装置が現在、排他的に所有されていることを指定するフィールドである。xx_LOCAL_NODEが設定された場合、ローカル・ノードは排他的アクセスが可能である。そうでない場合、ローカル・ノードは装置に対する所有権もアクセス権も有さない。
【0064】
フラグ・フィールドは、装置に関する共用および所有権の変更に基づく現在の通知または所望の通知を示すように定義される。特に、DEVICE1394_NOTIFY_ON_BUS_EVENTフラグは、バス・イベント、たとえば、バス・リセットが行われたときにバス・ドライバがそのことを装置ドライバに通知することを示す。DEVICE1394_NOTIFY_ON_ACCESS_CHANGEフラグは、現在の装置所有者が変わるか、不在になるか、もしくは所有権を放棄したときか、または資源の所有権が変更された場合か、もしくは共用許可が変更された場合にバス・ドライバがそのことを装置ドライバに通知することを示す。このようなイベントの、他のドライバへの内部通知は、PnP非同期通知によって行われる。REMOTE_OWNER_EUIは、xx_REMOTE_NODEフラグが設定された場合に所有者の固有のIDを指定するフィールドである。DirectAccessAddressは、リモート所有者上のFIFO(先入れ先出し)バッファのアドレス・オフセットを指定するフィールドであり、プロトコル・ドライバによって直接通信のために使用される。
【0065】
本発明による通知データ構造の特定の実施態様を以下の表2に示す。図のように、通知データ構造もWMI方式に従って実現される。
【表2】
Figure 0004210042
【0066】
アクセス・データ構造の場合と同様に、Versionフィールドは、通知構造のバージョンを示す。BusGenerationフィールドは、通知が送信されたときのバス生成を示す。バス・リセット通知の場合、このフィールドはリセット後の新しい生成番号を反映する。Typeフィールドは、通知の種類、たとえば、送信中の通知がローカル・イベントの結果であるか、またはリモート・イベントの結果であるかを示す。他の種類の通知が可能であることを理解されたい。通知データ構造に定義されるOwnershipAccessFlagsは、上記のアクセス・データ構造に定義されたOwnershipAccessFlagsと同じ定義を有する。
【0067】
トランザクション・パケットの特定の実施態様を以下の表3に示す。トランザクション・パケットは、(i)複数の制御実行可能ノードの間で装置所有者を識別し、(ii)リモート所有ノードに、通知を受けるための登録を行い、(iii)所有者が所有権を放棄したときに所有権の変更を一斉同報通信し、(iv)第1の制御実行可能ノード上のある装置ドライバから第2の制御実行可能ノード上の別の装置ドライバに非要求型メッセージを送信するために使用される。
【表3】
Figure 0004210042
【0068】
この場合も、Versionフィールドはトランザクション・パケットのバージョンを示す。PacketTypeフィールドは送信中のパケットの種類を示す。パケット・タイプは登録要求、登録応答、アクセス権譲渡要求、アクセス権譲渡応答、アクセス権通知、および直接通信に関して定義される。これらは、本発明の制御方式を実施するために制御実行可能ノード同士が互いに交換し合うパケットである。これらの各パケット・タイプについては以下に論じる。当業者には、他のパケット・タイプが可能であることが認識されると思われる。トランザクション・パケットに定義されるFlagsは、上記のアクセス・データ構造および通知データ構造に定義されたOwnershipAccessFlagsと同じ定義を有する。SourceEUIフィールドは、トランザクション・パケットの送信元である制御実行可能ノードの固有のIDを指定するフィールドである。逆に、TargetEUIフィールドは、送信先の制御実行可能ノードの固有のIDを指定するフィールドである。TargetEUIフィールドは、特定の装置には結合されないプロトコル特有のパケットの場合はNULLに設定することができる。
【0069】
トランザクション・パケット内では、各パケット・タイプに対応するように構造が定義される。登録要求の場合、DesiredAccessフィールドおよびNotificationフィールドを含むRegisterNotificationRequest構造が定義される。DesiredAccessフィールドは、要求側エンティティが必要とする所与の装置へのアクセスの種類を示すために定義されるOwnershipAccessFlagsと同じフラグを含む。Notificationフィールドは、通知構造に関して上述したTypeフィールド(表2)と同様の目的を果たす。登録要求を補足するものとして、StatusフィールドおよびAssignedPriorityフィールドを含むRegisterNotificationResponse構造によって登録応答が定義される。Statusフィールドは、応答側エンティティの動作のステータスを反映し、好ましくは、NTSTATUSタイプのフィールドであり、「WINDOWS」ブランドのオペレーティング・システムで使用される既存のステータス値におけるあらゆる値をとることができる。AssignedPriorityフィールドは、所有権の変更に関する通知を受けるためのライン上に他の制御実行可能ノードがいくつ存在するかを示す。所与の制御実行可能ノード用の装置ドライバに優先順位1が割り当てられている場合、その制御実行可能ノードは、現在の所有権が終了した場合に装置の所有権を得るうえで最高の優先順位を有する。
【0070】
上述のAssignedPriorityフィールド、DesiredAccessフィールド、およびNotificationフィールドを含むAccessTransferRequest構造によってアクセス権譲渡要求が定義される。名前からわかるように、あるエンティティがある装置の現在の所有者からその装置のアクセス権を得る必要があるときに、アクセス権譲渡要求がそのエンティティによって使用される。この場合、AssignedPriorityフィールド、DesiredAccessフィールド、およびNotificationフィールドは上述と同じ目的を果たす。上述のStatusフィールドおよびGrantedAccessフィールドを含むAccessTransferResponse構造はアクセス権譲渡応答を定義するフィールドである。GrantedAccessフィールドは、OwnershipAccessFlagsと同じフラグを含み、所有者によって要求側エンティティに対して授与されるアクセスの種類を定義するフィールドである。
【0071】
所与のノードの、所与の装置への現在のアクセス権について他のノードに知らせるために該所与のノードによって使用されるアクセス権通知は、AccessNotificationMessage構造によって定義され、CurrentAccessフィールドを含む。CurrentAccessフィールドは、OwnershipAccessFlagsと同じフラグを含み、ある装置に対する送信側ノードの現在のアクセス・ステータスを指定するために使用される。
【0072】
最後に、ノード間の直接通信は、LengthフィールドおよびProtocolDataフィールドを含むProtocolMessage構造を使用することによって可能になる。ProtocolDataフィールドは、2つのノードの上位ドライバ間の直接通信(図4に太い点線で示されている)のペイロードであり、上位ドライバによって解析され理解されるあらゆるデータを含むことができる。下位層は、ProtocolMessageパケットにより、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を確認(enumerate)すると、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|DEVICE_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*250msの間待たなければならない。これにより、より高い優先順位を有するノードがまず所有権の獲得を試みる。この期間内に一斉同報通信・パケットが送信されない場合、装置ドライバは、上記で指定されたようにアクセスを試みることができる。この場合も、あるアクセス・レベルが確立されていると仮定すると、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が所有権譲渡を開始する。
このシナリオでは、PC2は、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 アダプタ、115 モデム、120 システム・メモリ、130 システム・バス、140 読取り専用メモリ(ROM)、145 IEEE1394準拠シリアル・バス、150 ランダム・アクセス・メモリ(RAM)、151 コンピュータ、160 基本入出力システム(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 相互接続部、224 相互接続部、225 相互接続部、226 相互接続部、301 段階、302 段階、303 段階、304 段階、305 段階、306段階、400 コンピュータ・システム、401 制御実行可能ノード、402 制御実行可能ノード、403 装置、404a ハードウェア層、404bハードウェア層、406a オープン・ホスト・コントローラ・インタフェース(OHCI)ドライバ、406b オープン・ホスト・コントローラ・インタフェース(OHCI)ドライバ、408a バス・ドライバ、408b バス・ドライバ、410a 装置オブジェクト、410b 装置オブジェクト、412a 装置ドライバ、412b 装置ドライバ。

Claims (10)

  1. 通信バスを介して互いに通信する複数の制御実行可能ノードおよび少なくとも1つの装置を備えるシステムにおいて、少なくとも1つの装置の所有権を調停する方法であって、
    第1の制御実行可能ノードが、第2の制御実行可能ノードが前記装置の所有権を有するか否かを判定するステップと、
    前記第1の制御実行可能ノードが、前記第2の制御実行可能ノードが前記装置の所有権を有すると判定した場合、前記第1の制御実行可能ノードが前記第2の制御実行可能ノードに通知を受けるための登録を行うステップと、
    前記第2の制御実行可能ノードが、通知を受けるための登録を行った前記第1の制御実行可能ノードに対し、前記所有権の割り当て優先順位を通知するステップと、
    前記第1の制御実行可能ノードが前記第2の制御実行可能ノードに前記所有権を要求するステップと、
    前記第1の制御実行可能ノードの前記優先順位が最上位である場合、前記第1の制御実行可能ノードが前記所有権の確立を試みるステップと、
    を含むことを特徴とする方法。
  2. 前記通信バスは1394準拠シリアル・バスであり、前記第2の制御実行可能ノードが前記装置の所有権を有するか否かを判定するステップは、前記第1の制御実行可能ノードが前記第2の制御実行可能ノードを確認するステップをさらに含むことを特徴とする請求項1記載の方法。
  3. 前記第2の制御実行可能ノードが前記装置の所有権を有するか否かを判定するステップは、前記第2の制御実行可能ノードによる非排他的所有権を判定するステップをさらに含み、前記所有権を要求するステップは、前記第1の制御実行可能ノードが非排他的所有権を要求するステップであることを特徴とする請求項1記載の方法
  4. 前記第1の制御実行可能ノードが前記所有権の確立を試みるステップの前に、前記第2の制御実行可能ノードが、前記第1の制御実行可能ノードからの排他的所有権の要求の拒否を前記第1の制御実行可能ノードに通知するステップをさらに含み、
    前記第1の制御実行可能ノードが前記所有権の確立を試みるステップは実行しないことを特徴とする請求項3記載の方法
  5. 前記第1の制御実行可能ノードが前記所有権の確立を試みるステップの前に、前記第2の制御実行可能ノードが、前記第1の制御実行可能ノードからの排他的所有権の要求の許諾を前記第1の制御実行可能ノードに通知するステップをさらに含むことを特徴とする請求項3記載の方法
  6. 前記第2の制御実行可能ノードが、前記第2の制御実行可能ノードの有する前記装置の所有権ステータスの変更を通知するステップをさらに含むことを特徴とする請求項1記載の方法。
  7. 通信バスを介して互いに通信する複数の制御実行可能ノードおよび少なくとも1つの装置を備えるシステムにおいて、少なくとも1つの装置のうちのある装置の使用権を調停する方法であって、
    第1の制御実行可能ノードが、第2の制御実行可能ノードが前記装置の所有権を有するか否かを判定するステップと、
    前記第1の制御実行可能ノードが、前記第2の制御実行可能ノードが前記装置の所有権を有すると判定した場合、前記第1の制御実行可能ノードが前記第2の制御実行可能ノードに通知を受けるための登録を行うステップと、
    前記第2の制御実行可能ノードが、通知を受けるための登録を行った前記第1の制御実行可能ノードに対し、前記所有権の割り当て優先順位を通知するステップと、
    前記第1の制御実行可能ノードが、前記第2の制御実行可能ノードによる前記装置の所有権が終了したことを判定するステップと、
    前記第2の制御実行可能ノードの前記装置の所有権が終了したことに応答して、第1の制御実行可能ノードが前記装置の所有権の確立を試みるステップと
    を含むことを特徴とする方法。
  8. 前記第2の制御実行可能ノードによる前記装置の所有権が終了したことを判定するステップが、
    前記第2の制御実行可能ノードがもはや通信バスに結合されていないことを判定するステップをさらに含むことを特徴とする請求項7記載の方法。
  9. 前記第2の制御実行可能ノードによる前記装置の所有権が終了したことを判定するステップが、
    前記第2の制御実行可能ノードによる前記装置の所有権が終了したことを示す通知を、前記第1の制御実行可能ノードが前記第2の制御実行可能ノードから受信するステップをさらに含むことを特徴とする請求項8記載の方法。
  10. 前記第1の制御実行可能ノードによる前記装置の所有権の確立を試みるステップは、前記第1の制御実行可能ノードに割り当てられた前記優先順位が最上位である場合、前記第1の制御実行可能ノードが前記装置の所有権の確立を試みるステップであることを特徴とする請求項8記載の方法。
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 JP2002026944A (ja) 2002-01-25
JP2002026944A5 JP2002026944A5 (ja) 2008-02-21
JP4210042B2 true 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)

Families Citing this family (31)

* 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
EP1351108B1 (en) * 2000-11-24 2015-06-24 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for programming
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
EP1557074A4 (en) 2002-10-22 2010-01-13 Sullivan Jason ROBUST ADJUSTABLE COMPUTER PROCESSING SYSTEM
AU2003285949A1 (en) 2002-10-22 2004-05-13 Isys Technologies Non-peripherals processing control module having improved heat dissipating properties
CN102043446A (zh) 2002-10-22 2011-05-04 贾森·A·沙利文 用于提供动态模块处理单元的系统及方法
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 株式会社エヌ・ティ・ティ・ドコモ ペリフェラル切替装置及びペリフェラル切替制御装置
US7990724B2 (en) 2006-12-19 2011-08-02 Juhasz Paul R Mobile motherboard
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
JP2013137717A (ja) * 2011-12-28 2013-07-11 Toshiba Corp 不揮発性記憶装置、アクセス制御プログラムおよび記憶制御方法
CN104092594B (zh) * 2014-07-22 2017-06-06 中国第一汽车股份有限公司 Can报文仲裁影响因素检测系统及其方法
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
US6519657B1 (en) * 1999-08-09 2003-02-11 Sony Electronics, Inc. Method and device for identifying an active 1394A node attached to a 1394B network
US6529984B1 (en) * 2000-03-29 2003-03-04 Compaq Information Technologies Group, L.P. Dual phase arbitration on a bus

Also Published As

Publication number Publication date
US6704819B1 (en) 2004-03-09
JP2002026944A (ja) 2002-01-25

Similar Documents

Publication Publication Date Title
JP4210042B2 (ja) 装置共用および調停のための方法および装置
TWI351610B (en) Simple and dynamic configuration of network device
US6112263A (en) Method for multiple independent processes controlling access to I/O devices in a computer system
JP4422359B2 (ja) ユニバーサルシリアルバス(usb)をピアツーピアネットワークとして用いる方法
US6078948A (en) Platform-independent collaboration backbone and framework for forming virtual communities having virtual rooms with collaborative sessions
US7117280B2 (en) Network based intra-system communications architecture
US6810452B1 (en) Method and system for quarantine during bus topology configuration
JPH10512405A (ja) 通信パケットを使用して階層シリアル・バス・アセンブリを介してデータ、状態、コマンドを交換するm&a
US6145018A (en) Method for hindering some types of nodes from becoming a bus arbitration controller
US6327637B1 (en) Interface tap for 1394-enabled serial bus device
KR100642559B1 (ko) 제어 서버 및 이에 대한 원격 제어 시스템
US8621063B2 (en) Method and apparatus for transmitting Byebye message when operation of controlled device in UPnP network is abnormally terminated
WO2010062064A4 (en) Method and apparatus for controlling access to resources in remote user interface service
KR100746900B1 (ko) 전자장치, 및 전자장치의 물리층 회로의 상태를 제어하는방법
US20040057448A1 (en) Information processing system, information processing apparatus, and information processing method
US6298406B1 (en) Method of and apparatus for detecting direction of reception of bus packets and controlling direction of transmission of bus packets within an IEEE 1394 serial bus node
JPH01270161A (ja) 共通バス制御方法
US20060129700A1 (en) Bridging a local bus with a data network
US6286067B1 (en) Method and system for the simplification of leaf-limited bridges
WO2006093180A1 (ja) 制御装置及び制御方法、ネットワークシステム及び制御装置用プログラム並びに情報記録媒体
EP1241834B1 (en) Communication control apparatus and method
US6584539B1 (en) Method and system for message broadcast flow control on a bus bridge interconnect
JPH10341247A (ja) データ送信装置、データ受信装置、データ伝送システム及びデータ伝送方法
US6502158B1 (en) Method and system for address spaces
US20040151189A1 (en) Communications device, communications method, and transmitting method

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