[go: up one dir, main page]

JP2006190280A - バスの抽象化 - Google Patents

バスの抽象化 Download PDF

Info

Publication number
JP2006190280A
JP2006190280A JP2005373135A JP2005373135A JP2006190280A JP 2006190280 A JP2006190280 A JP 2006190280A JP 2005373135 A JP2005373135 A JP 2005373135A JP 2005373135 A JP2005373135 A JP 2005373135A JP 2006190280 A JP2006190280 A JP 2006190280A
Authority
JP
Japan
Prior art keywords
bus
computer
component
abstraction
devices
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.)
Pending
Application number
JP2005373135A
Other languages
English (en)
Inventor
Dale A Sather
エー.セザー デール
Terje Kristian Backman
クリスチャン バックマン テルジ
Thomas W Kuehnel
ダブリュー.カーネル トーマス
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 JP2006190280A publication Critical patent/JP2006190280A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】デバイスモデルと上層プロトコルを複数のバス実装に結びつけることができる抽象化システムを介して、バスプロトコルとネットワークの統合を容易にするシステムおよび方法を提供する。
【解決手段】そのような抽象化システムは、優先度に従ってメッセージを転送するためのバス間の共通の言語を提供することができる。例えば、制御メッセージのためのメッセージング移送コンポーネント、高優先度のためのストリーミングコンポーネント、および低優先度のための大容量転送コンポーネントのセマンティックが提供される。また、発見コンポーネントは、バスまたはネットワーク上のデバイスを識別することができ、関連付けコンポーネントはデバイス間に確立された信頼を判定し、デバイスまたはサービスを認証する。
【選択図】図1

Description

本発明は、一般にはネットワークおよびバスシステムに関し、より詳細には、バスおよび/またはネットワークを統合するための、プロトコルバス間および/またはネットワーク間のバス抽象化のプログラミングモデルに関する。
コンピュータ技術(マイクロプロセッサの速度、メモリ容量、データ転送の帯域幅、ソフトウェア機能など)の大きな進歩は、一般に、各種の産業におけるコンピュータ利用の増加の一因となっている。通例は、しばしばサーバアレイとして構成される、強力さを増し続けるサーバシステムが提供され、例えばワールドワイドウェブなどの外部ソースから発される要求に対応する。そのようなネットワーク環境では、周辺機器およびデバイスとコンピュータとのインタフェースをとるために複数のバス標準が用いられる場合がある。例えば、様々なデータ速度要件を有するUSBデバイスには、1.5mbps、12mbps、480mbpsの3つの伝送速度をサポートする、独自のプロトコルを有するUSB(ユニバーサルシリアルバス)を用いることができる。また、ホストコンピュータ内の通信ソフトウェアとハードウェアが、通信ネットワークとUSBとの間の接続を仲介することができる。多くの従来のプロトコルと同様に、USBプロトコルは、複数の層からなる階層化プロトコルである。そのような層の1つは、USBの電気的な仕様を定義する物理層である。もう1つの層は、USBで許容されるトランザクションのタイプ(すなわちUSBトランザクションのフォーマット)を定義するデータリンク層である。
別のバスプロトコルIEEE1394は、現在我々がUSBを介して接続するデバイスの多くが(そのデバイスがIEEE1394をサポートすれば)IEEE1394を介しても接続することができる点で、現在のパーソナルコンピュータで利用できるUSB標準に類似している。また、IEEE1394の等時性(isochronous)トランザクションのサポートは、各トランザクションで固定された量のデータを送信するデバイスを接続するのに理想的であり、その場合トランザクションは、等しい間隔を空けられる。IEEE1394プロトコルモデルには、リンク層と多く対話する物理層などの複数の層があり、リンク層は、ソフトウェアドライバ要求を、配線を通じて送信される有効なIEEE1394パケットとして設定する役割を担う。また、バス管理層は、適正な動作を物理層に大きくに依存し、バス管理層は、バスアービトレーションパケットを組み合わせて、バス上に複数のユーザがあるかどうか検出し、複数ユーザを防止すること、バス速度の調整、および、コントローラ等時性の転送時間の役割を担う。
また、PCIエクスプレスやUWB(Ultra Wide Band)などの新しいネットワーキング技術を用いて、コンピュータ筐体の内部および外部に周辺機器を接続することが増えている。したがって、新しい接続技術のデータレートが増し続ける一方であることから、内部バスと外部バスの明確な区別が希薄になる可能性がある。容量の集約および確保を行うプロトコルや、無線環境における断続的な接続や変化するトポロジなどの新しい特性が、伝統的に発展の速度が遅く、既存のAPIに依拠するアプリケーションであるミドルウェア層に新たな問題を課す。
さらに、バッテリを電源とする携帯型のデバイスを接続するには、BluetoothやUWBなどの無線ネットワーク技術が通常用いられる。そのため、電力管理が、バス管理層によってサポートされなければならない重要な機能となっている。同様にデータは、リモートデバイスが起動(wake up)するまでバッファされなければならない。
同時に、従来のバスプロトコルとインターネットプロトコル(IP)との間には不調和が存在する。例えば、一般に、そのようなバスプロトコルとそれに関連するプログラミングモデルは、通例はバスに固有のものであり、インターネットアクセスのようなサービスは提供しない。さらに、IPは通例、等時性の転送、クロック同期、発見等のバスのシグナリング機能を利用する権限を与えられない。
したがって、従来のシステムおよびデバイスに伴う上述のような例示的な不備を克服する必要がある。
以下に、本発明の1つまたは複数の態様の基本的理解を提供するために簡略化した本発明の要約を述べる。この要約は、本発明の広範囲にわたる概要ではない。本発明の主要または不可欠な要素を明らかにするものでも、本発明の範囲を詳述するものでもない。この要約の唯一の目的は、その後に述べるより詳細な説明の前置きとして、簡略化した形で本発明の概念の一部を述べるものである。
本発明は、デバイスモデル(デバイスと通信するデバイス固有のアプリケーション)および/またはサービスと上層のプロトコルを複数のバス実装に結びつけることができる抽象化システムを介してバスプロトコルとネットワークの統合を促進するシステムおよび方法を提供する。本発明の抽象化は、既存のバスプロトコルのセマンティックを表すことができる。そのような抽象化の一部として、発見コンポーネント、メッセージング移送コンポーネント、および関連付けコンポーネントのセマンティックを含むプログラミングモデルが実装されることができる。
発見コンポーネントは、バスおよび/またはネットワークに接続されたデバイスが、そのようなデバイスを発見するためのシグナリング機構を備えることを可能にすることができる。メッセージング移送コンポーネントは、各種のデバイスの概ね良好な制御を維持するために通常は迅速に転送されることが必要とされる中程度の優先度の制御メッセージなど、メッセージを転送する能力を提供することができる。同様に、関連付けコンポーネントは、バスの各種デバイス間に確立された信頼と関係を判断することができる。関連付けコンポーネントはさらに、チャレンジ/レスポンスプロトコル方式や公開鍵インフラストラクチャなどの事前に設定された信用証明を用いることにより、デバイスおよび/またはサービスを認証することができる。さらに、メッセージング移送コンポーネントは、暗号化を行って通信のプライバシーを保証することができ、関連付けコンポーネントに動作的に接続されることができる。
本発明の関連する一態様では、アプリケーションプログラムインタフェース(API)と、通信が要求されるデバイスを指定するためにアドレス指定方式も用いられることができる。その場合、バス抽象化システムは、インタフェースとして機能することができる。したがって、そのようなアドレス指定コンポーネントは、各種のアプリケーションがバスまたはネットワーク上のデバイスを参照する標準の方式を提供することができる。さらに、ストリーミングコンポーネント、大容量転送コンポーネント、およびクロック同期コンポーネントのセマンティックが提供されることができる。ストリーミングコンポーネントは、通常、待ち時間の要件および時間が重要な情報の送達を、確実に満たすことができる。同様に、大容量転送コンポーネントは、メッセージング移送コンポーネントとストリーミングコンポーネントの動作に影響を与えることなく、優先度の低い項目およびメッセージの転送を容易にすることができる。クロック同期コンポーネントは、例えば、各バスが当然に実装する個々のクロック同期を用いることにより、バス上にわたって高精度のクロックの配信を容易にすることができる。デバイスは、同期することができるか、あるいはそのバスに関して共有された何らかの時間基準を得ることができる。
本発明は、あるバス技術を知らないアプリケーションとそのバスとの対話を容易にすることができる。そのため、アプリケーションは、通常はそのバス技術の詳細を知ることなく、バスを用い、そのバスと対話することができる。関連する態様では、そのような抽象化は、ネットワークをバスとして扱うようにネットワーク上に配置されることができ、そのため、ネットワーク上のデバイスと対話するアプリケーションは、同じ抽象化を通信に用いることができる。例えば、抽象化システムは、各種のネットワークを通じて通信するデバイス間、アプリケーションとバス間、コンピュータのプロセス間などの共通の言語の役割を果たすことができる。
本発明のさらなる態様では、USBやIEEE1394などのプロトコルを基盤とするバス技術で、各バス技術に関連付けられた適合コンポーネントを介して抽象化システムを実装することができる。このような適合コンポーネントは、バスまたはネットワークが本発明の抽象化システムを実装できるようにすることができ、適合コンポーネントは特定のバス技術に対して異なる形で動作できるにも関わらず、アプリケーション側から見ると、バス抽象化システムは同一に見えることができる。このような構成は、複数のバス技術にまたがってデバイス固有のアプリケーションとデバイスドライバを再使用することを促進する。それにより、複数のそのようなバス技術にまたがって、1つのデバイスモデルにより知的な投資を利用することを可能にする。
本発明のさらなる態様では、そのようなデバイスは現在各自のバスに結びつけられているため、既存のバスのワイヤプロトコルへの変更は通常は必要とされず、例えば、本発明は、既存のデバイスモデルの実装のためのプログラミングモデルの役割を果たす。したがって、1つのAPI(アプリケーションプログラムインタフェース)が提供されて、バスタイプあるいはプロトコルに関係なく、複数の異種のバスを通じてメッセージを送信し、あるデバイスクラスをサポートすることができる。
さらに、本発明の別の態様により、バスドライバが、抽象化を公開することができる。階層化に関して、そのようなドライバは、特定のマシンに関連するバスハードウェアを理解するドライバの下に置かれることができる。そのようなモデルは、容易に使用することができるネットワークの抽象化と、ネットワークプロトコルがアプリケーションへの変更を必要とせずに発展することができる安定したプログラミングモデルを提供することができる。さらに、内部のプロセス通信に関連して、本発明は、クライアントとサービスが場所に関係なく、豊富な移送機能を利用できるようにすることができる。結果として、データレートの変化あるいはトポロジの変化をもたらす可能性がある変動するチャネル特性など、無線媒体の他の特性が、各種の接続間のリソースのバランスをとることによって補償されることができることを理解されたい。
本発明のさらなる態様では、バス抽象化がドライバモデルに適用されると、プロトコルバスおよびロード/ストアバス(例えばCPI)の統合を可能にする。したがって、ロード/ストアバス、プロトコルバス、IP(インターネットプロトコル)で接続されたデバイス間でデバイスクラスのサポートが共有されることができる。
前述の目的およびそれに関連する目的を達成するために、本発明は、以下に十分に説明する特徴を備えている。以下の説明と添付図面は、本発明の特定の例示的な態様を詳しく解説する。しかしながら、それらの態様は、本発明の原理が用いられることができる各種の方式の数例を示すに過ぎない。本発明の他の態様、利点、および新規の特徴は、図面と併せて以下の本発明の詳細な説明を検討することから明らかになろう。
次いで、図面を参照しながら本発明を説明するが、すべての図面を通じて同じ要素は同じ参照符号を使用して示す。以下の説明では、説明の目的として、本発明の完全な理解を提供するために多数の具体的な詳細を述べる。しかし、本発明は、それらの具体的な詳細事項がなくとも実施できることは明らかであろう。他の事例では、本発明の説明を助けるために、周知の構造およびデバイスはブロック図の形態によって示す。
本願で使用される用語「コンポーネント」、「ハンドラ」、「モデル」、「システム」などは、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、実行中のソフトウェアを問わず、コンピュータに関連したエンティティを指すものとする。例えば、コンポーネントは、これらに限定しないが、プロセッサで実行されているプロセス、プロセッサ、オブジェクト、実行ファイル、実行中のスレッド、プログラム、および/またはコンピュータであり得る。例示として、サーバで実行されるアプリケーションとサーバの両方がコンポーネントとなることができる。プロセスおよび/または実行のスレッドには1つまたは複数のコンポーネントが存在することができ、コンポーネントは、1台のコンピュータに局在しても、および/または2台以上のコンピュータに分散していてもよい。また、そうしたコンポーネントは、各種のデータ構造が記憶された各種のコンピュータ読取り可能媒体から実行されることができる。コンポーネントは、1つまたは複数のデータパケットを有する信号に従って等、ローカルおよび/またはリモートのプロセスを介して通信することができる(例えば、ローカルシステム、分散システムで1つのコンポーネントのデータが別のコンポーネントと対話する、および/または例えばインターネットなどのネットワークを通じて信号を介して他のシステムと対話する)。
本発明は、デバイス固有のアプリケーションと上層のプロトコルを複数のバス実装に結びつけることができる抽象化システムを介して、バスプロトコルとネットワークの統合を容易にするシステムおよび方法を提供する。初めに図1を参照すると、抽象化システム110が図示されている。この抽象化システム110は、単一のアプリケーションプログラムインタフェース(API)として機能して、バスタイプあるいはプロトコルに関係なく、複数の異なるバス115、117、119(1〜n。nは整数)、またはネットワーク120、122、124(1〜N。Nは整数)を通じてメッセージを送信し、あるデバイスクラスをサポートすることができる。例えば、このような抽象化システム110は、バス技術115〜119を知らないアプリケーション126、128、130(1〜m。mは整数)が、通例はバスあるいはネットワーク技術の詳細を知ることなく、バスおよび/またはネットワークを用いてバスおよび/またはネットワークと対話する方式を指定することができる。
図示するように、バス115〜119は、USB、IEEE1394等、プロトコルを用いるバス技術を使用することができ、例えばバスシステム115はUSBバスとすることができる。通例、このようなUSB115は、例えば外部の周辺機器をホストコンピュータ(図示せず)に接続する外部バスアーキテクチャとすることができる。USBバス115は、ホストシステムとUSB対応周辺機器との間のシリアルデータ転送をサポートする、通信対応周辺機器のためのプロトコルとして機能することができる。また、USBシステムは、ホストサイドとデバイスサイドからなることができる。両サイドは、USBケーブルがその一部をなす物理バスを介して接続される。通例、そのようなホストの基本的な役割は、データ転送のための制御インタフェースを供給することであり、一方、デバイスサイドは、ユーザに各種機能を提供することができる。ホストサイド自体は、USBアダプタまたはUSBホストコントローラのハードウェア層と、上層のシステムソフトウェア層とからなることができる。ホストコントローラは、例えば、ホストとUSBデバイス間のデータストリームの転送を担うことができる。ホストコントローラは、例えば設定(configuration)が行われる時などに、ホストソフトウェアから提供されるパラメータに基づいてサービスを提供することができる。
例えば、USBのためのシステムソフトウェアは、2つの層からなることができる。上の層は、USBデバイスドライバからなることができる。そのようなドライバは、そのドライバが制御するデバイスとの接続を確立し、USBのシステムソフトウェア機能を使用してデバイスを設定し、デバイスと通信することができる。同様に、下の層は、USBデバイスドライバとホストコンピュータと間の通信の管理、適時のデバイスドライバのロードとアンロード、USBのプロトコルフレームとパケットフォーマットの変換等の各種のタスクを行うUSBシステムソフトウェアからなることができる。
同様に、図1に示すネットワーク120〜124は、システムエリアネットワークあるいは他のタイプのネットワークとすることができ、パーソナルコンピュータ、サーバ、他のタイプのコンピュータ等であるいくつかのホスト(図示せず)を含むことができる。そのようなホストは一般に、1つまたは複数のアプリケーションレベル(またはユーザレベル)のプログラムを実行することができ、またI/O要求(I/O読み出しまたは書き込み)を開始することができる。また、ネットワークはさらに、1つまたは複数のI/Oユニットを含むことができ、そのようなI/Oユニットは、そのユニットに接続された1つまたは複数のI/Oコントローラを含むことができ、各I/Oは、記憶装置(ハードディスクドライブ、テープドライブ)や他の入出力装置など数種のI/O装置のいずれでもよい。ホストとI/Oユニット、およびそれらに接続されたI/Oコントローラとデバイスは、クラスタなどのグループに編成することができる。各クラスタは、1つまたは複数のホストと、通例は1つまたは複数のI/Oユニット(各I/Oユニットは1つまたは複数のI/Oコントローラを含む)とを含む。ホストとI/Oユニットは、1つまたは複数のクラスタのノードのセットを接続する(例えばホストとI/Oユニットの集合を接続する)ルータ、スイッチ、通信リンク(配線、コネクタ、ケーブルなど)の集まりを介して相互に接続されることができる。そのため、抽象化システム110は、各種のネットワークを通じて通信するデバイス間、アプリケーションとバス間、コンピュータのプロセス間などの共通の言語の役割を果たすことができる。
図2に、適合コンポーネント210、212、214を介して、本発明の一態様により抽象化システム220と対話する複数のバス1〜n(nは整数)を示す。本発明は主としてバスの動作の文脈において説明をするが、本発明の抽象化システムは、ネットワークをバスとして扱うようにネットワーク上に配置されることができ、そのため、ネットワーク上のデバイスが同じ抽象化システム220を通信に用いることができることは理解されよう。
そのような適合コンポーネント210〜214は、複数のバスが本発明の抽象化システム220を実施できるようにすることができ、適合コンポーネント210〜214が特定のバス技術について異なる形で動作できるにも関わらず、アプリケーション側から見るとバス抽象化システム220は同一に見えることができる。このような構成は、複数のバス技術にまたがってデバイスモデルを再使用することを促進することができ、その結果、メッセージバス、USBバス、IEEE1394バスなど複数のバス技術にまたがって1つのデバイスモデルで知的な投資を活用することが可能になる。
メッセージバス230、240、250はそれぞれ、アプリケーション間のメッセージの移送に特化することができる。例えば、各メッセージバスは、合意されたメッセージスキーマのセット、共通のコマンドメッセージのセット、および受信者にバスメッセージを送信するための共有インフラストラクチャを含むことができる。そのような合意されたメッセージスキーマは、抽象化システム220を介して抽象化されて、各種のアプリケーションおよびバスを介して通信するデバイス間、コンピュータのプロセス間などに共通の言語を提供することができる。通例は、本発明の抽象化システムを用いると、メッセージを送信するアプリケーションは、もはや特定のデバイスにメッセージを送達するために用いられるバス技術を知っている必要がなくなる。代わりに、アプリケーションは、単に、抽象化システム220によって提供されるフォーマットを介して所望のメッセージバスにメッセージを渡し、メッセージバスが、共有インフラストラクチャまたはネットワークを通じてバスメッセージを聴いているすべての他のアプリケーションにそのメッセージを移送する。
メッセージバス環境においては、一般に、メッセージを送信するアプリケーションは、そのメッセージを受信しなければならないすべてのアプリケーションへの個々の接続は持たない。同様に、メッセージを受信するアプリケーションは、そのメッセージをメッセージバスから取り込む。そのような環境においては、内部の最適化、ルーティング、バッファリング、および基礎となる移送機構が、メッセージがどのように受信側のアプリケーションまで移動するかに影響する可能性がある。関係するアプリケーションの一部として追加的なロジックを組み込むことができる。例えば、送信側のアプリケーションは、送信メッセージに連続番号を挿入することができ、受信側はその番号を使用して受信メッセージを並べ替えることができる。通例、バスを通じてメッセージを送信するアプリケーションは、そのバスが予定するメッセージタイプにメッセージが準拠するように、そのメッセージを作成すべきである。
同様に、メッセージを受信するアプリケーションは、メッセージタイプを理解できなければならない。本発明の抽象化システム220は、バスタイプまたはプロトコルに関係なく、複数の異種のバスを通じてメッセージを送信し、あるデバイスクラスをサポートするための1つのAPI(アプリケーションプログラムインタフェース)を提供する。これは、アプリケーション側から抽象化システム220が同一に見えることができるプログラミングモデル、およびプロトコルは、アプリケーションに変更を加えることを必要とすることなく発展することができる、ということを意味する。
さらに、バス230、240、250はいずれもIEEE1394ドライババスとすることができる。これは、デバイスがアクティブな状態でのデバイスの追加および/または除去を可能な高性能のシリアルバスである。このようなバスは、非同期のデータ転送と等時性のデータ転送の両方をサポートする。例えば、従来のメモリマップドのロードとストアを行うアプリケーションには非同期の転送が適する可能性があり、そのような転送は、確実な送達と信頼性を提供することができる。
また、等時性のデータ転送は、所定のレートでの通例保証されたデータ移送を提供することができる。これは、タイムクリティカルなデータの中断のない移送と、適時の送達が高コストのバッファリングの必要性を減らすマルチメディアアプリケーションにおいて、重要である場合がある。さらに、IEEE1394バスは、物理層、リンク層、トランザクション層を含む3つのプロトコル層を含むことができる。物理層は、IEEE1394コネクタに接続することができ、デバイス間の電気的な接続および機械的な接続を提供する。同様に、リンク層は、非同期および等時性のパケット送達のためのデータパケット送達サービスを提供することができる。
IEEE1394バスの場合も、トランザクション層は、非同期のプロトコル書き込み、読み取り、およびロックのコマンドをサポートすることができ、書き込みコマンドは、発信者から受信者にデータを送信し、読み取りコマンドは、発信者にデータを返し、ロックコマンドは、受信者による処理を含む、送信者と受信者間のデータの往復ルーティングを行わせることにより、書き込みコマンドと読み取りコマンドの機能を組み合わせる。本発明によれば、現在そのようなデバイスは個々のバスに結び付けられているため、通例は、既存のバスのワイヤプロトコルへの変更は必要とされない。例えば、本発明は、既存のデバイスモデルの実装のためのプログラミングモデルとして機能する。したがって、バス抽象化システム220は、バスタイプあるいはプロトコルに関係なく、複数の異なるバス230、240、250を通じてメッセージを送信し、あるデバイスクラスをサポートする単一のアプリケーションプログラムインタフェースとして機能することができる。
主としてUSBおよびIEEE1394バスとの関連で本発明を説明したが、PCIエクスプレス、UWB、ブルートゥースなどの他のプロトコルに基づくバス技術を、本発明とともに組み込めることは理解されたい。簡潔に説明すると、PCIエクスプレスは、各種のコンピューティングプラットフォームおよび通信プラットフォームのために定義された、高性能の汎用I/O相互接続である。PCIエクスプレスアーキテクチャは、トランザクション層、データリンク層、物理層の3つの別個の論理層を含む。PCIエクスプレスは、パケットを使用してコンポーネント間で情報を通信する。パケットは、トランザクション層とデータリンク層で形成されて、送信側コンポーネントから受信側コンポーネントに情報を搬送する。メモリトランザクション(読み出しおよび/または書き込み)には、要求元のID(発信元識別子)、トランザクションタイプ(メモリの読み出しまたはメモリへの書き込み)、およびメモリアドレスを含むパケットが形成される。要求元ID(発信元識別子)は、メモリトランザクションの起点となるデバイスを識別する。パケットは、この他のフィールドを含むが、説明を簡潔にするためにその解説は省略する。同様に、一般に、ブルートゥースは、デバイス間の無線通信を可能にする、デバイス間の短距離(約10メートル)の周波数ホッピング方式の無線リンクのプロトコルを表すために用いられる語である。ブルートゥースは、ガウシアン周波数偏移変調を用いてデータを2.4GHz前後の周波数に変調し、2地点間または1対多地点間の通信が可能である。本発明は、そのようなバス技術を知らないアプリケーションとそのバスとの対話を容易にすることができ、アプリケーションは、通例はそのバス技術の詳細を知ることなく、バスを用いてそのバスと対話することができる。
図3に、発見コンポーネント、メッセージング移送コンポーネント、および関連付けコンポーネントのセマンティックを含むことができる、抽象化システムに関連付けられた各種のサブコンポーネントを示す。発見コンポーネント320は、バスおよび/またはネットワーク350に接続されたデバイスが、デバイスが相互を発見するためのシグナリング機能を備えることを可能とすることができる。例えば分散システムにおいては、しばしば、アプリケーション360はプロトコルへの参加者の識別を知ることが必要となる。例えば新しいクライアントが、ある問題に対応するサーバの集合を判定する必要がある;新しいサーバが、保留中の要求を有するクライアントがあるかどうかを判定する必要がある;複製されたサーバが、保留中の要求を有するクライアントがあるかどうかを判定する必要があるなどの場合がある。言い換えると、発見コンポーネント320は、バスおよび/またはネットワーク350への参加者(participants)を識別することができる。例えば、発見コンポーネントが、ある問題に対応できるサーバのセットを判定することを必要とする、あるいは、新しいサーバが、保留中の要求を有するクライアントがあるかどうかを判定する必要がある場合がある。そのため、発見プロトコルは、「誰がいるか(who is out there)」の形をとることができ、他の参加者が「私だ(I am)」を公開(publish)し、他の参加者が各自の状態を説明する。
同様に、メッセージング移送コンポーネント330は、メッセージの転送、例えば制御メッセージを転送する能力を提供することができる。そのような制御メッセージは、通例はデバイスを正しく制御するために直ちに送達される必要がある、優先度が中程度のメッセージの形をとることができる。
また、図3に示すように、関連付けコンポーネント340は、バスおよび/またはネットワーク350の各種のデバイス間の信頼および/または関係の確立を決定することができる。ネットワーク上では、セキュリティ要件が双方向の信頼の確立を必要とし、物理バス自体が十分に安全でない時に、関連付けコンポーネント340を介してデバイス間に双方向の信頼を確立することができる。例えば、プリンタ装置の場合、ユーザは、印刷ジョブがどこに現れるかを把握し、プリンタへの不正アクセスが拒絶されることを保証される必要がある。そのような信頼の確立が、関連付けコンポーネント340によって供給される。USBなど一部のバスについては、各種のデバイス間の物理接続またはリンクが必要とされる関連付けを証明するので、そのような関連付けコンポーネントに要求されることが軽減され得る。例えば、プリンタが物理的にコンピュータに接続されているという事実が、USB環境でプリンタとコンピュータの間に関連付けが必要とされることの肯定の宣言となる。とは言え、これは、無線ネットワーク環境およびIPネットワーク環境では当てはまらない場合がある。関連付けコンポーネントはさらに、チャレンジ/レスポンスプロトコル方式や公開鍵インフラストラクチャなどの、事前に確立された信用証明を用いることにより、デバイスおよび/またはサービスを認証することができる。さらに、メッセージング移送コンポーネントは、暗号化を行って通信のプライバシーを保証することができ、関連付けコンポーネントに動作可能なように接続されることができる。
次いで図4を参照すると、抽象化システムに関連付けられたいくつかの追加的なサブコンポーネントが図示される。詳細には、本発明は、ストリーミングコンポーネント410、大容量転送コンポーネント420、およびクロック同期430のためのセマンティックを提供することができる。ストリーミングコンポーネント410は、通例、待ち時間の要件と、時間が重要な(time seisitive)情報の送達を確実に満たすことができる。通例、時間が重要でエラーが許容されるデータのストリーミングや、会話をリアルタイムで搬送するインターネット電話アプリケーションなど一定したデータ転送レートを必要とするリアルタイムアプリケーションにおいては、等時性(isochronous)の転送を用いることができる。
さらに、等時性のデータは一般に、保証された帯域幅量と保証された最大伝送時間を必要とする。例えば、バスを通じてオーディオとビデオを転送することができるIEEE1394バスでは、バスが他の転送動作に関与しないように、そしてデータが損失なしに転送されることができるように、その転送のために必要とされる帯域幅を確保することができる。一般に、等時性の転送では、正確または完全なデータ転送よりも、タイムリーなデータ送達の方がはるかに重んじられる。
同様に、大容量転送コンポーネント420は、メッセージング移送コンポーネントとストリーミングコンポーネントの動作に影響を与えずに、低優先度の項目およびメッセージの転送を容易にすることができる。通例、大容量転送は、プリンタやスキャナなど、大量のデータを送受信し、保証された送達を必要とするが、しかし、特定の帯域幅や待ち時間の要件は持たないデバイスに用いられる。すべてのデータが最終的に送達されるのであれば、非常に低速の転送、あるいは著しく遅れた転送でさえそのようなタイプのデバイスでは一般に許容される。
また、クロック同期コンポーネント430は、例えば各バスが当然に実装する個々のクロック同期を用いることにより、バスを通じた高精度のクロックの配信を容易にすることができる。そのため、デバイスは同期することができ、あるいはそのバスに関して共有された時間基準を持つことができる。通例、各種のバスは、転送されるメッセージングのタイプに基づいて異なる方式でバス同期を適用する。デバイスとコンピュータ間で十分に同期された非常に高品質のクロックがある可能性がある。例えば、バスに速いトレードオフがあり、それが規則的な間隔で行われる場合は、その間隔をクロック同期に用いることができる。本発明は、例えばIEEE1394バスの高いクロック同期機能など、既存の同期機能を活用することができる。
図5に、本発明の一態様による特定の階層化構成を示す。図示するように、ハードウェア層510が階層化構成の基盤をなすことができ、バスドライバ層520がその上に配置される。バスドライバ520は、バスタイプに固有なものであってよく、バス抽象化層530の下に置かれることができる。アプリケーション層540は、バス抽象化層530の上に置くことができる。そのため、本発明のバス抽象化は、ドライバモデルに適用されると、プロトコルバスおよびロード/ストリームバス(CPIなど)の統合を可能にする。したがって、ロード/ストアバス、プロトコルバス、およびインターネットプロトコル(IP)間でデバイスクラスのサポートが共有され得る。このように、1つのAPI(アプリケーションプログラムインタフェース)が提供されて、バスタイプあるいはプロトコルに関係なく、複数の異種のバスを通じてメッセージを送信し、あるデバイスクラスをサポートすることができる。
図6に、本発明の一態様によるバス抽象化の手順600を示す。手順は610で開始し、バス抽象化が、アプリケーションが通信すべきデバイスを発見する能力を公開する。例えば、デバイスまたはその一部分のアドレスを指定する一部として文字列を用いることができる。次いで620で、デバイスまたはその一部との間で通信する必要があるコマンドのセットの重要度(criticality)について判定を行うことができる(例えばアプリケーションが明示的に大容量転送、ストリーミングなどを要求することができる)。630で、上記で詳細に説明した、メッセージ転送、ストリーミング、大容量転送などの適正なメッセージング移送コンポーネントが選択されて、デバイスまたはその一部にメッセージを転送することができる。次いで、その選択に基づいて、640で、選択されたバスのクロック同期機能を利用して所望のアドレスにメッセージを正しく送達することができる。このような構成は、複数のバス技術にまたがってデバイスモデルを再使用することを促進し、その結果、複数のバス技術にまたがって1つのデバイスモデルによって知的な投資を活用することが可能になる。したがって、アプリケーション側からは、バス抽象化は、バス技術またはネットワークに関係なく同一に見える。
ここでは各種のイベントおよび/または動作を表すブロックの連続として例示的方法を図示し、説明しているが、本発明は、そのブロックの図の順序に限定されない。例えば、一部の動作またはイベントは、本発明により、図の順序と異なる順序で行われても、および/または他の動作またはイベントと同時に行われてもよい。また、本発明による手順を実施するために図のブロック、イベント、または動作のすべてが必要とは限らない。さらに、本発明による例示的方法および他の方法は、ここで図示し説明する方法と関連して実装することができ、また、図示あるいは記載されない他のシステムおよび装置と関連して実装してもよいことは理解されよう。
次いで図7を参照して、本発明の各種態様を実施することができる適切なコンピューティング環境の簡単で概略的な説明をする。上記ではコンピュータで実行されるコンピュータプログラムのコンピュータ実行可能命令の一般的な文脈で本発明を説明したが、当業者は、本発明は、他のプログラムモジュールと組み合わせて実施することもできることを認識されよう。一般に、プログラムモジュールには、特定のタスクを行うか、および/または特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造等が含まれる。さらに、当業者は理解されるように、本発明の方法は、単一プロセッサまたはマルチプロセッサのコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、パーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、マイクロプロセッサを利用した、あるいはプログラム可能な家電製品などを含む他のコンピュータシステム構成とともに実施することができる。先に説明したように、ここで具体的に述べる本発明の態様は、通信ネットワークを通じてつながれた遠隔の処理装置によってタスクが行われる分散コンピューティング環境において実施することもできる。ただし、本発明のすべてではなくとも一部の態様は、独立型コンピュータで実施することができる。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモート両方のメモリ記憶装置に置くことができる。例示的な環境は、コンピュータ720を含み、コンピュータ720は、処理装置721、システムメモリ722、およびシステムメモリを含む各種のシステム構成要素を処理装置721に結合するシステムバス723を含む。処理装置721は、各種の市販プロセッサでよい。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャも処理装置721として使用されることができる。
システムバスは、各種の市販バスアーキテクチャを使用した、USB、IEEE1394、周辺機器バス、ローカルバスを含む数種のバス構造のいずれでもよい。システムメモリは、ROM(読み取り専用メモリ)724とRAM(ランダムアクセスメモリ)725を含むことができる。起動時などにコンピュータ720内の要素間の情報転送を助ける基本ルーチンを含む基本入出力システム(BIOS)は、ROM724に記憶される。
コンピュータ720はさらに、ハードディスクドライブ727、例えば取り外し可能ディスク729の読み取りまたは書き込みを行う磁気ディスクドライブ728、CD−ROMディスク731や他の光学媒体の読み取りまたは書き込みを行う光ディスクドライブ730を含む。ハードディスクドライブ727、磁気ディスクドライブ728、光ディスクドライブ730は、それぞれハードディスクドライブインタフェース732、磁気ディスクドライブインタフェース733、光ドライブインタフェース734でシステムバス723に接続される。これらのドライブとそれに関連付けられたコンピュータ読取り可能媒体は、データ、データ構造、コンピュータ実行可能命令等の不揮発性のメモリーをコンピュータ720に提供する。上記のコンピュータ読取り可能媒体の説明では、ハードディスク、取り外し可能磁気ディスク、およびCDを挙げたが、当業者には、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジなど、コンピュータ可読の他のタイプの媒体も例示的な動作環境において使用することができる。さらに、そのような媒体は、本発明の方法を行うコンピュータ実行可能命令を保持することができることが理解されよう。
ドライブおよびRAM725には複数のプログラムモジュールが記憶されることができ、これには、オペレーティングシステム735、1つまたは複数のアプリケーションプログラム736、他のプログラムモジュール737、およびプログラムデータ738が含まれる。図のコンピュータのオペレーティングシステム735は、実質的にどの市販オペレーティングシステムでもよい。
ユーザは、キーボード740、およびマウス742などのポインティングデバイスを通じて、コンピュータ720にコマンドと情報を入力することができる。他の入力装置(図示せず)としては、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナ等が挙げられる。上記および他の入力装置は、多くの場合、システムバスに結合されたシリアルポートインタフェース746を通じて処理装置721に接続されるが、パラレルポート、ゲームポート、USB等の他のインタフェースで接続してもよい。モニタ747あるいは他のタイプの表示装置も、ビデオアダプタ748などのインタフェースを介してシステムバス723に接続される。モニタに加えて、コンピュータは通例、スピーカやプリンタなどの他の周辺出力装置(図示せず)を含む。
コンピュータ720は、リモートコンピュータ747などの1つまたは複数のリモートコンピュータとの論理接続を使用するネットワーク環境において動作することができる。リモートコンピュータ749は、ワークステーション、サーバコンピュータ、ルータ、ピアデバイス、あるいは他の一般的なネットワークノードであり、図7にはメモリ記憶装置750のみを示すが、通例はコンピュータ720に関連して上述した要素の多くまたはすべてを含む。図7に示す論理接続は、LAN(ローカルエリアネットワーク)751とWAN(ワイドエリアネットワーク)752を含むことができる。このようなネットワーク環境は、オフィス、企業内のコンピュータネットワーク、イントラネット、インターネットに一般的に見られる。
LANネットワーク環境で用いられる場合、コンピュータ720は、ネットワークインタフェースあるいはアダプタ753を通じてローカルネットワーク751に接続され得る。WANネットワーク環境で利用される場合、コンピュータ720は一般に、モデム754を含むことができるか、および/またはLAN上の通信サーバに接続されるか、および/または、インターネットなどのWAN752を通じて通信を確立するための他の手段を有する。モデム754は、内蔵型であっても外付け型であってもよく、シリアルポートインタフェース746を介してシステムバス723に接続されることができる。ネットワーク環境では、コンピュータ720との関連で図示するプログラムモジュールあるいはその一部は、遠隔のメモリ記憶装置に記憶されることができる。図のネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段を用いてよいことは理解されよう。
コンピュータプログラミングの分野の当業者の慣行に従って、特に指摘しない限りは、行為、およびコンピュータ720などのコンピュータによって行われる動作の記号的表現を参照して本発明を説明した。そうした行為および動作は、場合によってはコンピュータに実行されるものと言及される。この動作および記号的に表現される動作には、処理装置721による、結果として電気信号表現を変換または変形させるデータビットを表す電気信号の操作と、メモリシステム(システムメモリ722、ハードドライブ727、フロッピー(登録商標)ディスク728、CD−ROM731を含む)内のメモリ位置におけるデータビットの保持が含まれ、それによりコンピュータシステムの動作と、その他の信号の処理を再設定するか、その他の形で変更することが理解されよう。そのようなデータビットが保持されるメモリ位置は、そのデータビットに対応する特定の電気的特性、磁気的特定、または光学的特性を有する物理的な位置である。
特定の例示的態様とともに本発明を図示し、説明したが、本明細書と添付図面を読み、理解すると、当業者には同等の変更形態と変形形態が着想されることが理解される。特に上述のコンポーネント(アセンブリ、デバイス、回路、システム等)によって行われる各種機能に関して、そのようなコンポーネントを説明するために使用した用語(「手段」を含む)は、特に断らない限りは、ここで具体的に説明される本発明の例示的態様の機能を行うここに開示される構造と構造的に同等でなくとも、記載されるそのコンポーネントの指定された機能を行うどのコンポーネントにも対応するものとする(すなわち機能的に同等)。この点で、本発明は、システムだけでなく、本発明の各種方法の動作および/またはイベントを行うコンピュータ実行可能命令を有するコンピュータ読取り可能媒体も含むことも認識されよう。さらに、用語「〜を含む」、「〜を含んでいること」「〜を有する」「〜を有していること」とその異形が詳細な説明または特許請求の範囲で用いられる限りでは、それらの語は、用語「〜を備える」と同様に包含的な意味とする。
本発明の一態様による、アプリケーションを複数のバス実装とネットワーキング技術に結びつけることができる抽象化システムの概略ブロック図である。 本発明の一態様により適合コンポーネントを介して抽象化システムと対話する複数のバスの図である。 発見コンポーネント、メッセージング移送コンポーネント、および関連付けコンポーネントのセマンティックを含むことができる抽象化システムに関連付けられた各種のサブコンポーネントの図である。 本発明の関連態様による抽象化システムに関連付けられた追加的なサブコンポーネントの図である。 本発明の一態様による特定の階層化構成を表す図である。 本発明の一態様によるバス抽象化の手順を説明する図である。 本発明の各種態様を実施することができる適切なコンピューティング環境を簡潔に概略的に説明する図である。
符号の説明
110、220、310 抽象化システム
115、117、119、230、240、250 バス
126、128、130、360 アプリケーション

Claims (20)

  1. バスプロトコルまたはネットワークの統合を容易にするシステムであって、
    デバイスモデルおよび上層プロトコルを複数のバス実装またはネットワークに結びつける抽象化システムであって、前記抽象化システムは、
    デバイスがお互いを発見するためのシグナリング機構を備える発見コンポーネントと、
    前記デバイスを制御するための制御メッセージを移送するメッセージング移送コンポーネントと、を含むこと、
    を備えることを特徴とするシステム。
  2. 前記抽象化システムは、前記デバイス間に確立された信頼の判定を容易にすることと、事前に設定された信用証明を用いることによって前記デバイスまたはサービスを認証すること、の少なくとも1つを行う関連付けコンポーネント、をさらに含むことを特徴とする請求項1に記載のシステム。
  3. 前記抽象化システムは、前記デバイス間での時間が重要な情報の送達を容易にするストリーミングコンポーネントをさらに含むことを特徴とする請求項1に記載のシステム。
  4. 前記抽象化システムは、低優先度の項目の送達を容易にする大容量転送コンポーネントをさらに含むことを特徴とする請求項1に記載のシステム。
  5. 前記抽象化システムは、あるバスを知らないアプリケーションが前記バスを使用することを可能にすることを特徴とする請求項1に記載のシステム。
  6. 前記バス抽象化システムは、複数の異種のバスにわたって1つのアプリケーションプログラムインタフェースを供給することを特徴とする請求項1に記載のシステム。
  7. 前記バス抽象化システムは、プロトコルバスおよびインターネットプロトコル間のデバイスクラスのサポートの共有を容易にすることを特徴とする請求項1に記載のシステム。
  8. 前記抽象化システムと対話する、バスの一部である適合コンポーネントをさらに含むことを特徴とする請求項1に記載のシステム。
  9. 前記バス抽象化システムは、複数のバス技術にまたがってデバイスモデルを再使用することを特徴とする請求項1に記載のシステム。
  10. バスプロトコルを統合する方法であって、
    抽象化システムを介して、デバイスモデルおよび上層プロトコルを複数のバス実装またはネットワークに結びつけるステップと、
    メッセージが宛先として転送されるデバイスを見つけるステップと、
    を備えることを特徴とする方法。
  11. ストリーミングコンポーネントを用いて時間が重要な情報を転送するステップをさらに備えることを特徴とする請求項10に記載の方法。
  12. 大容量転送コンポーネントを用いて前記メッセージを転送するステップをさらに備えることを特徴とする請求項10に記載の方法。
  13. 非同期式または等時式の少なくとも1つの方法で、前記メッセージを転送するステップをさらに備えることを特徴とする請求項10に記載の方法。
  14. 請求項10に記載の方法を実行するコンピュータ実行可能命令が記憶されたことを特徴とするコンピュータ読取り可能媒体。
  15. データ構造が記憶されたコンピュータ読取り可能媒体であって、前記データ構造は、
    デバイスモデルと上層プロトコルを、異なるバス技術を有する複数のバスに結び付けて、前記異なるバス技術の詳細を知らないアプリケーションが前記複数のバスを使用することを可能にするコンピュータ実行可能コンポーネントを備え、前記コンピュータ実行可能コンポーネントは、前記アプリケーションとデバイスが前記複数のバス上で相互を発見するためのシグナリング機構を提供するコンピュータ実行可能コンポーネントをさらに含むことを特徴とするコンピュータ読取り可能媒体。
  16. 前記コンピュータ実行可能コンポーネントは、前記デバイス間に確立された信頼の判定を容易にする追加的なコンピュータ実行可能コンポーネントを含むことを特徴とする請求項15に記載のコンピュータ読取り可能媒体。
  17. 前記コンピュータ実行可能コンポーネントは、前記デバイス間での時間が重要な情報の送達を容易にする別のコンピュータ実行可能コンポーネントを含むことを特徴とする請求項15に記載のコンピュータ読取り可能媒体。
  18. 前記コンピュータ実行可能コンポーネントは、プロトコルバスおよびインターネットプロトコル間のデバイスクラスのサポートの共有を容易にすることを特徴とする請求項15に記載のコンピュータ読取り可能媒体。
  19. 前記コンピュータ実行可能コンポーネントは、複数のバス技術にまたがってデバイスモデルを再使用することを特徴とする請求項15に記載のコンピュータ読取り可能媒体。
  20. 前記コンピュータ実行可能コンポーネントは、アプリケーションが前記複数のバス上のデバイスを参照する標準の方式を提供するアドレス指定方式を備えることを特徴とする請求項15に記載のコンピュータ読取り可能媒体。
JP2005373135A 2004-12-30 2005-12-26 バスの抽象化 Pending JP2006190280A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/026,190 US20060168269A1 (en) 2004-12-30 2004-12-30 Bus abstraction

Publications (1)

Publication Number Publication Date
JP2006190280A true JP2006190280A (ja) 2006-07-20

Family

ID=35825424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005373135A Pending JP2006190280A (ja) 2004-12-30 2005-12-26 バスの抽象化

Country Status (16)

Country Link
US (1) US20060168269A1 (ja)
EP (1) EP1684173A1 (ja)
JP (1) JP2006190280A (ja)
KR (1) KR20060079108A (ja)
CN (1) CN1798148A (ja)
AU (1) AU2005246944A1 (ja)
BR (1) BRPI0505537A (ja)
CA (1) CA2531605A1 (ja)
CO (1) CO5770119A1 (ja)
IL (1) IL172696A0 (ja)
NO (1) NO20056105L (ja)
NZ (1) NZ544320A (ja)
RU (1) RU2005141590A (ja)
SG (1) SG123734A1 (ja)
TW (1) TW200635291A (ja)
ZA (1) ZA200510328B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015531512A (ja) * 2012-09-07 2015-11-02 オラクル・インターナショナル・コーポレイション 分散型データグリッドクラスタにおけるスケーラブルなメッセージバスをサポートするシステムおよび方法
JP2020170541A (ja) * 2016-01-22 2020-10-15 株式会社ソニー・インタラクティブエンタテインメント 下位互換性のためのレガシーバス動作のシミュレーション

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027752B2 (en) 2005-06-09 2011-09-27 Whirlpool Corporation Network for changing resource consumption in an appliance
US20070288331A1 (en) * 2006-06-08 2007-12-13 Whirlpool Corporation Product demonstration system and method
US9164867B2 (en) * 2005-06-09 2015-10-20 Whirlpool Corporation Network for communicating information related to a consumable to an appliance
US8676656B2 (en) * 2005-06-09 2014-03-18 Whirlpool Corporation Method for product demonstration
US8816828B2 (en) 2005-06-09 2014-08-26 Whirlpool Corporation Recipe wand and recipe book for use with a networked appliance
US8571942B2 (en) 2005-06-09 2013-10-29 Whirlpool Corporation Method of product demonstration
US9009811B2 (en) * 2005-06-09 2015-04-14 Whirlpool Corporation Network system with electronic credentials and authentication for appliances
EP2228969B1 (en) 2005-06-09 2017-04-19 Whirlpool Corporation Software architecture system and method for communication with, and management of, at least one component within a household appliance
US10333731B2 (en) 2005-06-09 2019-06-25 Whirlpool Corporation Methods and apparatus for communicatively coupling internal components within appliances, and appliances with external components and accessories
US7831321B2 (en) * 2005-06-09 2010-11-09 Whirlpool Corporation Appliance and accessory for controlling a cycle of operation
US8250163B2 (en) 2005-06-09 2012-08-21 Whirlpool Corporation Smart coupling device
US8856036B2 (en) * 2005-06-09 2014-10-07 Whirlpool Corporation Method of providing product demonstrations
US8615332B2 (en) 2005-06-09 2013-12-24 Whirlpool Corporation Smart current attenuator for energy conservation in appliances
US9122788B2 (en) * 2005-06-09 2015-09-01 Whirlpool Corporation Appliance network for a networked appliance with a network binder accessory
US20080137670A1 (en) * 2005-06-09 2008-06-12 Whirlpool Corporation Network System with Message Binding for Appliances
US8155120B2 (en) * 2005-06-09 2012-04-10 Whirlpool Corporation Software architecture system and method for discovering components within an appliance using fuctionality identifiers
US8682733B2 (en) * 2006-06-08 2014-03-25 Whirlpool Corporation System for product demonstration
US20100299517A1 (en) * 2009-05-22 2010-11-25 Nuvon, Inc. Network System with a Plurality of Networked Devices with Various Connection Protocols
KR101383053B1 (ko) * 2012-11-01 2014-04-08 한국과학기술정보연구원 개방형 api를 이용하여 네트워크 추상화 정보를 생성하여 전송하기 위한 장치 및 방법
US10656607B2 (en) * 2014-04-29 2020-05-19 Cox Communications, Inc Systems and methods for intelligent automation control services
US9703742B2 (en) * 2014-09-26 2017-07-11 Intel Corporation Unified device interface for a multi-bus system
WO2017184168A1 (en) * 2016-04-22 2017-10-26 Hewlett Packard Enterprise Development Lp Configuration of a memory controller for copy-on-write with a resource controller
ES2847550T3 (es) 2018-02-28 2021-08-03 Kistler Holding Ag Sistema de comunicación para la transmisión de datos entre fuentes de datos y evaluadores de datos
US12350832B2 (en) 2022-08-10 2025-07-08 Intrinsic Innovation Llc Transferable real-time clock for robotics control

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000057587A1 (en) * 1999-03-19 2000-09-28 Filanet Corporation Tunneling between a bus and a network
JP2002164898A (ja) * 2000-11-24 2002-06-07 Matsushita Electric Ind Co Ltd データ送受信装置及びデータ送受信方法
JP2003186819A (ja) * 2001-12-17 2003-07-04 Ricoh Co Ltd セキュリティ機能付きusb機器を備えたコンピュータシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764890A (en) * 1994-12-13 1998-06-09 Microsoft Corporation Method and system for adding a secure network server to an existing computer network
US5838910A (en) * 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server at an internet site
US6892230B1 (en) * 1999-06-11 2005-05-10 Microsoft Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
US7343427B2 (en) * 2000-12-13 2008-03-11 Sony Corporation Method and an apparatus for the integration of IP devices into a HAVi network
US20020078161A1 (en) * 2000-12-19 2002-06-20 Philips Electronics North America Corporation UPnP enabling device for heterogeneous networks of slave devices
EP1396962A1 (en) * 2002-08-05 2004-03-10 Sony International (Europe) GmbH Bus service interface
US8346884B2 (en) * 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7690004B1 (en) * 2003-12-04 2010-03-30 The Math Works, Inc. Method of providing consistent interface to image acquisition devices
US7694312B2 (en) * 2004-09-10 2010-04-06 Pleora Technologies Inc. Methods and apparatus for enabling bus connectivity over a data network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000057587A1 (en) * 1999-03-19 2000-09-28 Filanet Corporation Tunneling between a bus and a network
JP2002164898A (ja) * 2000-11-24 2002-06-07 Matsushita Electric Ind Co Ltd データ送受信装置及びデータ送受信方法
JP2003186819A (ja) * 2001-12-17 2003-07-04 Ricoh Co Ltd セキュリティ機能付きusb機器を備えたコンピュータシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015531512A (ja) * 2012-09-07 2015-11-02 オラクル・インターナショナル・コーポレイション 分散型データグリッドクラスタにおけるスケーラブルなメッセージバスをサポートするシステムおよび方法
JP2020170541A (ja) * 2016-01-22 2020-10-15 株式会社ソニー・インタラクティブエンタテインメント 下位互換性のためのレガシーバス動作のシミュレーション

Also Published As

Publication number Publication date
NZ544320A (en) 2007-09-28
IL172696A0 (en) 2006-04-10
TW200635291A (en) 2006-10-01
BRPI0505537A (pt) 2006-09-12
KR20060079108A (ko) 2006-07-05
SG123734A1 (en) 2006-07-26
US20060168269A1 (en) 2006-07-27
RU2005141590A (ru) 2007-07-20
EP1684173A1 (en) 2006-07-26
ZA200510328B (en) 2008-08-27
CN1798148A (zh) 2006-07-05
NO20056105L (no) 2006-07-03
CA2531605A1 (en) 2006-06-30
AU2005246944A1 (en) 2006-07-20
CO5770119A1 (es) 2007-06-29

Similar Documents

Publication Publication Date Title
JP2006190280A (ja) バスの抽象化
US8806030B2 (en) Multichannel connections in file system sessions
US7733885B2 (en) Extending access to a device in a limited connectivity network to devices residing outside the limited connectivity network
CN106790420B (zh) 一种多会话通道建立方法和系统
JP2009500891A (ja) 電力削減モードにおいて動作する遠隔接続移動体デバイスのためのローカルエリアネットワークプロキシ
CN100530161C (zh) 提供端口的动态专用的处理器间通信网络
CN102007473A (zh) 网络元件的处理节点之间的diameter总线通信
CN114584974A (zh) 一种物联网设备配网方法、装置、设备及介质
CN118714010A (zh) 设备组网方法、系统、智能终端及计算机可读存储介质
CN101288063B (zh) 无线设备发现和配置
WO2025161794A1 (zh) 一种车机互联跨网络通信的方法、组件、系统及存储介质
WO2024067757A1 (zh) 基于总线的跨端通信的设备管理方法、系统、装置及介质
WO2022042545A1 (zh) Tsn工业应用服务器、客户端、系统、服务方法及储存介质
CN118827742B (zh) 组网方法、装置、系统、介质、产品及设备
HK1093372A (en) Bus abstraction system and method for unifying device discovery and message transport in multiple bus implementations and networks
CN119966989B (zh) 一种基于云计算的智能网关mqtt通信方法
MXPA05013937A (en) Bus abstraction
KR100715144B1 (ko) Pda 단말 간의 네트워크 시스템 구성 방법
Simões Nano Devices, Big-Time Connectivity
WO2024061034A1 (zh) 通信方法和通信装置
CN119544205A (zh) 一种量子密钥的管理方法、电子设备及存储介质
CN119696872A (zh) 一种局域网ac固定访问方法及存储介质
Al-Madani et al. A novel mobility-aware data transfer service (MADTS) based on DDS standards
Li A Proxy for Distributed Hash Table based Machine-to-Machine Networks
Andersson Network Address Translator Traversal for the Peer-to-Peer Session Initiation Protocol on Mobile Phones

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110525

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111104