JP2008522251A - 分散型ネットワークにおいてプロバイダのオンライン状態を管理するためのシステム及び方法 - Google Patents

分散型ネットワークにおいてプロバイダのオンライン状態を管理するためのシステム及び方法 Download PDF

Info

Publication number
JP2008522251A
JP2008522251A JP2007525092A JP2007525092A JP2008522251A JP 2008522251 A JP2008522251 A JP 2008522251A JP 2007525092 A JP2007525092 A JP 2007525092A JP 2007525092 A JP2007525092 A JP 2007525092A JP 2008522251 A JP2008522251 A JP 2008522251A
Authority
JP
Japan
Prior art keywords
provider
binding
requester
stay online
network
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
JP2007525092A
Other languages
English (en)
Other versions
JP4697227B2 (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.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works Ltd
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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Publication of JP2008522251A publication Critical patent/JP2008522251A/ja
Application granted granted Critical
Publication of JP4697227B2 publication Critical patent/JP4697227B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)

Abstract

システムは、分散ネットワークの中でプロバイダとリクエスタとの間の通信を管理する。リクエスタはコンピュータデバイス上に実装され、ステイオンラインバインディングを提供する。ステイオンラインバインディングは、リクエスタにより所望されるバインディングを特定する。プロバイダはコンピュータデバイス上に実装され、バインディングを提供する。プロバイダは、ステイオンラインバインディングをリクエスタから受信し、自身が上記のステイオンラインバインディングについて認識したので、バインディングの提供を継続する。
【選択図】図1

Description

本発明は、一般にコンピュータ及びコンピュータ関連技術に関する。より詳細には、本発明は、分散型ネットワークにおいてプロバイダのオンライン状態を管理するためのシステム及び方法に関する。
コンピュータ及び通信技術は、急速に進歩し続けている。実際に、コンピュータ及び通信技術は、人の日常の多くの局面に関わっている。例えば、消費者により今日用いられている多くのデバイスは、その中に小型コンピュータを有している。これらの小型コンピュータは、サイズ及び高度化の程度がさまざまである。これらの小型コンピュータは、1個のマイクロコントローラから、全機能搭載の完全なコンピュータシステムまでの全てを含む。例えば、これらの小型コンピュータは、マイクロコントローラなどのワンチップコンピュータ、コントローラなどのワンボードタイプのコンピュータ、IBM−PC互換機のような典型的なデスクトップコンピュータであってもよい。
コンピュータは通常、その中心部に1つ以上のプロセッサを有する。プロセッサ(複数も)は通常、異なる外部入力及び出力に相互接続され、特定のコンピュータ又はデバイスを管理する働きをする。例えば、サーモスタットの中のプロセッサは、温度設定を選択するために用いられるボタン、温度を変えるために加熱炉又はエアコン、及び現在の温度を読み取りディスプレーに表示するために温度センサに接続されてもよい。
多くの電気製品、デバイス等が、1つ以上の小型コンピュータを含んでいる。例えば、サーモスタット、加熱炉、空調システム、冷蔵庫、電話、タイプライタ、自動車、自動販売機、及び多くの異なるタイプの産業機械が、現在一般的に小型コンピュータ、又はプロセッサをそれらの中に有している。コンピュータソフトウエアがこれらのコンピュータのプロセッサを実行し、特定のタスクをどのように実行するのかをプロセッサに指示する。例えば、サーモスタット上で実行されるコンピュータソフトウエアは、特定の温度に到達した時にエアコンを停止させてもよいし、又は必要ならヒータを作動させてもよい。
デバイス、電気製品、ツール等の一部であるこれらのタイプの小型コンピュータは、しばしば埋め込みシステムと呼ばれる。「埋め込みシステム」という用語は、通常、より大きなシステムの一部であるコンピュータハードウエア及びソフトウエアを示す。埋め込みシステムは、例えばキーボード、マウス、及び/又はモニタのような、典型的な入力及び出力デバイスを有していなくてもよい。通常、埋め込みシステムの中心部には1つ以上のプロセッサがある。
照明システムは、埋め込みシステムを組み入れてもよい。埋め込みシステムは、照明システムの監視及びこの作用を制御するために用いてもよい。例えば、埋め込みシステムは、照明システム内のライトの明るさを落とすための制御を提供しても良い。あるいは、埋め込みシステムは、ライトの明るさを増すための制御を提供しても良い。埋め込みシステムは、照明システム内の個別のライト間の特定の照明パターンを起動するための制御を提供しても良い。埋め込みシステムは、照明システム内の個別のスイッチに連結されてもよい。これらの埋め込みシステムは、これらのスイッチに指示して、個別のライト又は照明システム全体の電源を入れ又は切ってもよい。同様に、埋め込みシステムは、照明システム内の個別のライトに連結されてもよい。個別のライトの明るさ又は電源の状態は、埋め込みシステムにより制御されてもよい。
セキュリティシステムも同様に、埋め込みシステムを組み入れてもよい。埋め込みシステムは、セキュリティシステムを構成する個別のセキュリティセンサを制御するために用いてもよい。例えば、埋め込みシステムは、各セキュリティセンサを自動的に電源投入するための制御を提供しても良い。埋め込みシステムは、個別のセキュリティセンサのそれぞれに接続されてもよい。例えば、埋め込みシステムは、モーションセンサに接続されてもよい。埋め込みシステムは、個別のモーションセンサを自動的に電源投入し、モーションが検出された場合にモーションセンサを起動させるために制御を提供しても良い。モーションセンサを作動させることには、モーションセンサ内のLEDの電源を投入するための命令を提供すること、モーションセンサの出力ポートから警報を出力すること等を含んでもよい。埋め込みシステムはまた、ドアを監視するセンサに連結されてもよい。埋め込みシステムは、ドアが開閉するときにドアを監視するセンサを起動させるための命令を提供しても良い。同様に、埋め込みシステムは、窓を監視するセンサに連結されてもよい。埋め込みシステムは、窓が開閉した場合に窓を監視するセンサを起動させるための命令を提供しても良い。
一部の埋め込みシステムは、また、携帯電話などの無線製品を制御するために用いてもよい。埋め込みシステムは、携帯電話のLEDディスプレーの電源を投入するための命令を提供しても良い。埋め込みシステムはまた、携帯電話内のオーディオスピーカを起動させて、この携帯電話に関する音声通知を提供しても良い。
家庭電気製品もまた、埋め込みシステムを組み入れてもよい。家庭電気製品は、通常伝統的なキッチンで用いられる、例えば、コンロ、冷蔵庫、電子レンジ等の電気製品を含んでもよい。家庭電気製品はまた、健康及びユーザの快適な暮らしに関連する電気製品を含んでもよい。例えば、マッサージリクライニングチェアは、埋め込みシステムを組み入れてもよい。埋め込みシステムは、ユーザの好みによってチェアの背もたれを自動的に傾ける命令を提供しても良い。埋め込みシステムはまた、ユーザの好みに応じてリクライニングチェア内で振動を起こす、チェア内の振動部品を始動させるための命令を提供しても良い。
家庭内で通常見られる更なる製品が、埋め込みシステムを組み入れてもよい。例えば、埋め込みシステムをトイレの中に用いて貯水タンクを補充するために用いる水のレベルを制御しても良い。埋め込みシステムは、ジェット式浴槽内の空気の流出量を制御するために用いてもよい。
以上述べたように、埋め込みシステムは、多くの異なるシステム、リソース、製品等の監視又は制御に用いてもよい。インターネット及びワールドワイドウェブの成長とともに、埋め込みシステムを遠隔監視及び/又は制御することができるように、これらはますますインターネットに接続されてきている。他の埋め込みシステムは、ローカルエリアネットワーク、ワイドエリアネットワークなどを含むコンピュータネットワークに接続されてもよい。
一部の埋め込みシステムは、コンピュータネットワークを用いて、他のコンピュータデバイスにデータ及び/又はサービスを提供しても良い。もうひとつの方法としては、コンピュータネットワークを用いて他のコンピュータデバイスにデータ及び/又はサービスを提供する、典型的なコンピュータ又はコンピュータデバイスがあってもよい。時々、プロバイダにとって、自身が提供するサービスがリクエスタによって要求されているのかどうかを知ることが好都合である。この情報が無いと、ネットワーク上の追加のトラフィックを引き起こす可能性がある。これらの状況は、他と同様に、ネットワークを通しての通信に非効率を招くかもしれない。分散ネットワーク内のプロバイダのオンライン状態を管理するためのシステム及び方法が提供されれば、便益が実現される可能性がある。
この中で開示される実施形態は、一般に分散ネットワークの中でプロバイダとリクエスタとの間の通信を管理するためのシステムに関する。一実施形態によれば、リクエスタはコンピュータデバイス上に実装される。リクエスタは、ステイオンラインバインディング(stay online binding)を提供する。ステイオンラインバインディングは、リクエスタにより所望される少なくとも1つのバインディングを特定する。リクエスタはステイオンラインバインディングを提供する。同様に一実施形態に従って、プロバイダがコンピュータデバイス上に実装される。プロバイダは少なくとも1つのバインディングを提供する。プロバイダは、ステイオンラインバインディングをリクエスタから受信し、自身が上記のステイオンラインバインディングについて認識したので、バインディング(複数も)の提供を続ける。
一部の実施形態では、システムは介在するアクセスノードネットワークを含んでいる。システム内のリクエスタとプロバイダとの間の通信は、介在アクセスノードネットワークを介して送られる。
他の実施形態の中では、プロバイダコンピュータデバイスは、メモリと電子通信するプロセッサを含んでいる。方法を実行する命令がメモリの中に格納される。。プロバイダコンピュータデバイスは、プロバイダに関係する任意のステイオンラインバインディングのために、介在アクセスノードネットワークからの通信を監視する。プロバイダコンピュータデバイスはまた、プロバイダに関係するステイオンラインバインディングが何も介在アクセスノードネットワーク上で伝達されていないと判断した場合には、バインディングを提供することを止める。
代替的な実施形態の中では、プロバイダコンピュータデバイスは、プロバイダに関係する任意のステイオンラインバインディングについて問い合わせる。プロバイダは同様に、再度バインディングを提供する。他の実施形態では、プロバイダコンピュータデバイスは、プロバイダに関係する任意のステイオンラインバインディングについて、コネクションレスプロトコルを用いて問い合わせる。
更に他の実施形態の中では、リクエスタコンピュータデバイスは、メモリと電子通信するプロセッサを含んでいる。方法を実行する命令がメモリの中に格納される。リクエスタコンピュータデバイスは、リクエスタに関係する少なくとも1つのバインディングが存在するかどうかを判断する。リクエスタコンピュータデバイスはまた、バインディングを用いてプロバイダからデータ又はサービスを受け取ってもよい。
分散ネットワークの中で、プロバイダとリクエスタとの間の通信を管理する方法が同様に開示される。この方法は、ステイオンラインバインディングをリクエスタからプロバイダに提供する。この方法は、プロバイダが上記のステイオンラインバインディングについて認識したので、少なくとも1つのバインディングをプロバイダにより提供する。本方法は、このプロバイダに関係する任意のステイオンラインバインディングが存在するかどうかを判断する。一部の実施形態では、リクエスタとプロバイダとの間の通信は、介在アクセスノードネットワークを介して送られる。本方法は、このプロバイダに関係する任意のステイオンラインバインディングのために、介在アクセスノードネットワークからの通信を監視する。本方法はまた、このプロバイダに関係するステイオンラインバインディングの存在を監視するために、コネクションレスプロトコルを用いてもよい。
代替的な実施形態中では、この方法は、上記プロバイダに関係するステイオンラインバインディングが介在アクセスノードネットワーク上で伝達されていないと判断した場合には、リクエスタへの(複数も場合もある)バインディングの提供を止める。一部の実施形態では、この方法は、上記プロバイダに関係するステイオンラインバインディングが介在アクセスノードネットワーク上で伝達されていないと判断した場合には、ネットワークとの接続を断つことによってリクエスタへの(複数も場合もある)バインディングの提供を止める。この開示された方法は、リクエスタへの(複数も場合もある)バインディングの提供を止めた後、このプロバイダに関係するステイオンラインバインディングについて問い合わせする前に、既定の時間間隔の間待ってもよい。このプロバイダに関係する少なくとも1つのステイオンラインバインディングが存在する場合、本方法に従って、プロバイダは(複数も場合もある)バインディングの提供をさらに継続する。本方法はまた、(複数も場合もある)バインディングを、このプロバイダからデータ又はサービスを受けるために用いる。
分散ネットワークの中でプロバイダの通信を管理する方法を実施するために構成されているコンピュータデバイスも、同様に開示される。このコンピュータデバイスは、メモリと電子通信するプロセッサを含んでいる。この方法を実行する命令がメモリの中に格納されている。本方法は、少なくとも1つのバインディングを提供する。本方法はまた、リクエスタからステイオンラインバインディングを受信する。本方法は、プロバイダがステイオンラインバインディングを認識したことから、バインディング(複数も)の提供を続ける。
クライアントとデバイスが頻繁に接続及び切断する分散ネットワークの中では、いつ接続を確立するかについての、及びどれだけ長い間接続を開設しておくべきかに関する問題が有る可能性がある。一部のシステムの中では、クライアントは積極的に接続を要求しても良く、その結果、自身がそれを開放するまではこの接続を「所有」しても良い。このタイプのシステムは、直接接続に対してはよく機能するかもしれないが、分散環境の中では困難である。分散環境の中では、クライアントが「所有」する実際の接続はこのデバイスに対してではなく、介在ノードに対しての可能性がある。この場合の問題には、どのようにデバイスと介在ノードとの間の接続を確立し、且つこれをいつ閉じるかが含まれるかもしれない。
これらの問題に対する解決策は、「接続カウント」を維持し、この「接続カウント」がゼロのときに接続を開放するということかもしれない。これは、分散されているという、このシステムの性格がこのカウントを誰が維持するのかということを決定するのを困難にする可能性があることから、困難をもたらすかもしれない。このカウントの如何なるエラーも、しばしば、永続的な接続及び分散ネットワークへの更なる負荷に帰着する。
上述のように、関連する課題は、デバイス側での接続を誰が確立するかを判断することである。上述の「クライアントからの直接接続」状況の中では、デバイスは決して接続を開かない。分散環境の中では、デバイスが接続を開くべきかどうかを判断することは難しい可能性がある。
一旦クライアントとデバイスが接続されると、デバイスが提供する複数のサービスに関連する更なる問題が発生する。例えば、接続されたクライアントは、提供され得る全てのサービスは要求しない可能性があるが、どのサービスに興味があるのかを特定する直接的な方法を欠いている。接続が存在すべきかどうかを知ることに関連する問題は、同様に、どのサービスが提供されるべきかという問題に関連している。
デバイスに接続を開始させるということには、メリットがある可能性がある。1つのメリットは、クライアントが接続を適切に閉じることなく切断した場合には、システムが正しく「クリーンアップ」するということが含まれるであろう。更なるメリットは、この解決策が、どの接続が存在すべきかということについての中央集権的な知識がなくとも、分散環境の中で機能する可能性があるということであろう。
本発明の典型的な実施形態は、添付の図面と関連してなされる以下の説明及び添付の請求項からより完全に明白になるであろう。これらの図面は例としての実施形態のみを描いており、従って、本発明の範囲を限定するものとは見なされないということを首肯しつつ、本発明の典型的な実施形態が、添付の図面を使用することを通して付加的な特異性及び詳細を伴って説明される。
本発明の多様な実施形態が、以下に図面を参照して説明され、ここで、同様の参照番号は、同じ又は機能的に同様の要素を示す。この図の中で一般的に記述され且つ例示されるような、本発明の実施形態は、多様な異なる構成で変更及び設計することができる。従って、これらの図の中で表されているような、本発明のいくつかの例示的な実施形態についてのより詳細な説明は、主張されるように、本発明の範囲を限定する意図ではなく、単に本発明の実施形態の見本である。
「典型的な」という用語は、この中では、もっぱら「実施例、事例、又は例証の役目をする」ことを意味するために用いられる。この中で、「典型的な」ものとして説明される如何なる実施形態も、必ずしも他の実施形態よりも好ましい、又は有利だと解釈されるわけではない。実施形態の多様な態様が図面の中で提供されるが、これらの図面は特に示さない限りは必ずしも縮尺どおりに描かれているわけではない。
この中で開示される実施形態の多くの特徴は、コンピュータソフトウエア、電子的なハードウエア、又は両者の組み合わせとして実施されてもよい。ハードウエアとソフトウエアのこの互換性を明確に説明するために、さまざまなコンポーネントが機能性の観点から一般的に記述されるで。このような機能性がハードウエアとソフトウエアのどちらで実施されるかは、特定のアプリケーション及びシステム全体に課せられた設計上の制約によって決まる。当業者ならば、各アプリケーションに対して、説明された機能性を多様な方法で実施するであろうが、このような実施の決定は、本発明の範囲からの離脱を起こすものと解釈されるべきではない。
説明される機能性がコンピュータソフトウエアとして実装される場合、このようなソフトウエアは、メモリデバイスの内部にあるか及び/又はシステムバス若しくはネットワーク上で電子的な信号として送信される、任意のコンピュータ命令若しくはコンピュータで実行可能なコードの任意のタイプを含んでもよい。この中で説明されるコンポーネントに関連する機能性を実行するソフトウエアは、単一の命令、又は多くの命令を含んでもよく、また、いくつかの異なるコードセグメントにわたって、異なるプログラムの間に、及びいくつかのメモリデバイスにわたって、分散されてもよい。
図1は、ネットワーク100内の2つの介在アクセスノードを例示しているネットワークブロック図である。プロバイダ102は、ネットワーク100と電気的に通信している。図1のネットワーク実施形態100は、ネットワーク100と電気的に通信している2つのリクエスタ104を含んでいる。介在アクセスノード106が、同様にネットワーク100上に存在している。ネットワーク100上には、より多くのノードがあっても良い。
介在アクセスノード106は、ネットワーク100に機能及びサービスを提供するネットワークノードである。介在アクセスノード106は、さまざまな仕方で用いられても良い。例えば、介在アクセスノード106は、ネットワーク100上に存在してネットワーク100上のコンピュータ、アプリケーション、及び/又はオブジェクトにサービスを提供しても良い。介在アクセスノード106はまた、プロトコルコンバータを提供するために用いられても良い。介在アクセスノード106は組み込まれてもよく、又は介在アクセスノード106は大規模なトラフィックを扱うほどに十分に大きくても良い。
介在アクセスノード106が含んでもよい1つの機能は、オブジェクトの洗練化に関連する。オブジェクトの洗練化とは、介在アクセスノード106がオブジェクトの代わりに自らを配置し、同じインターフェースについての様々な実施例を提供するという状況のことである。これは、とりわけ、インターフェースの実施における問題を、このインターフェースの実際の末端提供者を変更することなく解決することを可能にさせる。
介在アクセスノード106の更なる特徴は、オブジェクトの拡大化の機能である。オブジェクトの拡大化のために、介在アクセスノード106は、オブジェクトに対して上記の末端提供者がサポートしない新たなインターフェースを追加する。
現在の設計においては、介在アクセスノード106はクライアントとデバイスとの間を区別しておらず、従って、追加される如何なるサービスも任意の(認証された)接続エンティティすなわちノードに利用可能である。
図1に示すようなネットワーク100は、ウエブサービスの多くの機能を受け継いでいる。ウェブサービスは、普通HTTP及びSOAPのウェブプロトコルを用いてアクセスされる。このアーキテクチャはネットワーキングのピアツーピアパラダイムに基づいている。
互いに通信し合う複数の介在アクセスノード106は、介在アクセスノードネットワーク110を形成する。リクエスタ104及び/又はプロバイダ102にとって、介在アクセスノードネットワーク110の1つ以上の介在アクセスノード106は、単一の介在アクセスノード106として見える。介在アクセスノードネットワーク110の中に含まれる規模すなわち数は、プロバイダ102及び/又はリクエスタ104にとっては透過的である。
プロバイダ102は、サービス108の提供元である、ネットワーク100上の1ノードである。リクエスタ104は、サービス108の利用者である、ネットワーク100上の1ノードである。リクエスタ104は、直接、サービス108を発見してこれを制御又はこれと相互交流しても良い、ノード上に実装されたソフトウエアエンティティである。
サービス108は、コンピュータデバイスによって提供されてもよい、任意の種類のサービスであってもよい。サービス108の可能な例としては、或る場所からの温度データの提供、監視データの提供、気象情報の提供、オーディオストリームの提供、ビデオストリームの提供等が含まれる。多くの、異なる種類のサービス及び/又はデータを、プロバイダ102からコンピュータネットワーク100を通して提供しても良い。
サービス108は、1つ以上のバインディング112を介してアクセスされる。バインディング112は、オブジェクト識別子114及びインターフェース識別子116を含んでいる。通常、オブジェクト識別子114及びインターフェース識別子116はペアになっている。プロバイダ102は、複数のバインディング112を提供することができる。複数のプロバイダ102が同じサービス108、バインディング112、オブジェクト識別子114、又はインターフェース識別子116を提供しているということも可能である。
プロバイダ102は、埋め込みプロバイダであってもよい。埋め込みプロバイダは、埋め込みデバイス上に実装されているプロバイダ102である。埋め込みデバイスは、コンピュータデバイスの1種であるが、典型的なデスクトップコンピュータに用いられる全ての同じコンポーネントは含まない。例えば、一部の埋め込みデバイスは、モニタを含まず、他はキーボード又はマウスを含まず、また一部の埋め込みデバイスはモニタもキーボード/マウスも含まない。多くの埋め込みデバイスは、マイクロコントローラベースのデバイスであり、すなわち、この埋め込みデバイスのための中央プロセッサはマイクロコントローラである。
リクエスタ及びプロバイダの役割は、介在アクセスノード106に接続されたデバイス及びソフトウエアノードが担ってもよい。加えて、介在アクセスノード106は、リクエスタ及び/又はプロバイダであっても良い。例えば、介在アクセスノード106は、介在アクセスノード106間の通信を開設するときは、リクエスタ/プロバイダであってもよい。介在アクセスノード106は、これ106が他の介在アクセスノード106に接続する際にプロバイダについての情報を要求するときにリクエスタとして働く。介在アクセスノード106は、他のプロバイダについての情報を他の介在アクセスノード106に提供しているときに、プロバイダとして働く。
ここで用いられるような、「ネットワーク」という用語は、内部で一連のノードが通信経路により相互接続されている、システムを示す。ノードは、他のノードと通信する物理的なコンピュータデバイスである。ノードの特定の動作は、これが実行するアプリケーション又はソフトウエアにより決定される。ネットワークのノード上で実行されるアプリケーションは、プロトコル、すなわちネットワークを通してどのようにデータを送信するかに対する形式化された規則を実施するソフトウエアモジュールを介して、互いに通信する。いくつかのプロトコルは、データ送信のタイミング、シーケンス、及びエラーチェックを取り扱う。他は、更にどのようにデータがフォーマットされるか、及びノードが交換するコマンド及び応答を取り扱う。共に動作する1式のプロトコルは、プロトコルスタックと呼ばれ、それぞれのプロトコルは他のレイヤの最上位に構築された、スタック内の1レイヤとして振舞う。プロトコルスタックのこの最上位レイヤは、アプリケーションによって用いられ、中間レイヤはノード間でデータの転送グループ(パケット及びフレーム)を取り扱い、及び最下位レイヤはデータを転送するネットワーキングハードウエアを直接取り扱う。
物理的ネットワークは、ある種の物理的媒体(例えば、電気配線、光ファイバ、空気等)によって接続されるノードから成る。この物理的接続は、時々、リンクと呼ばれる。2つのノードに限定された物理的ネットワークは、ポイント・ツー・ポイントと呼んでもよく、一方、3つ以上のノードをサポートする物理的ネットワークはマルチアクセスと呼んでもよい。マルチアクセスネットワーク上の各ノードは、ネットワーク上の他のノードと自身を区別するために用いられる物理的アドレスを有している。
論理的ネットワークが、ノードの固有のグループを特定するために、物理的ネットワークの上に付加されてもよい。論理的ネットワーク内の各ノードは、プロトコルによりこのノードの物理的アドレスへとマッピングされる論理アドレスを有している。サブネットワーク、又はサブネットは、サブネット番号により識別される、物理的に又は論理的に独立したネットワークの一部である。
殆どの物理的ネットワークの問題に対しては、すでに多くの良く定義された実施例が有るため、殆どのプロトコルは論理的ネットワークを取り扱っており、新たな物理層を定義する必要はない。論理的ネットワークはまた、物理的ネットワークから隔離されるという利点を有し、従って、より広い有用性がある。例えば、TCP/IPは、論理的ネットワーク(IP)の最上位で定義される。IPは、多くの物理的ネットワーク(イーサネット(登録商標)、シリアル、ワイヤレス等)上で作動することができる。これはTCP/IPを、これが一部の特定の物理的ネットワークに関してのみ定義されるのに比べて、より包括的な解決策にしている。
任意の数の介在アクセスノード106を、コンピュータネットワーク100の中で用いてもよい。図2は、示されているように、多数の介在アクセスノード206を含むネットワーク200を例示している。3つのリクエスタ204、205が介在アクセスノード206と電気的に通信している。図2に示すネットワーク実施形態200の中では、3つのリクエスタ204、205が全て、プロバイダ202、205、206eから提供されているサービス208、228、248を要求する。サービス208、228、248からのデータは、介在アクセスノードネットワーク210を通して送信される。
図2の介在アクセスノードネットワーク210は、図1の介在アクセスノードネットワーク110と同様に動作する。典型的な動作の中では、リクエスタ104、204、205、及びプロバイダ102、202、205、206eは、図1の介在アクセスノードネットワーク110と図2の介在アクセスノードネットワーク210間を区別しないであろう。図2はまた、例示されたリクエスタ/プロバイダ205により示すように、1つのノードがリクエスタ及びプロバイダの両方として働いてもよいということを、例示している。このリクエスタ/プロバイダ205は、サービス228及びバインディング232を提供する。図2はまた、サービス/バインディングが、介在アクセスノード206eによって提供されるということを例示している。
上に示すように、ネットワーク上で利用可能な多くのサービス及び多くのバインディングがあっても良い。これらのサービスを、常に提供するというよりはむしろ、「シグナリングして」バインディングを提供することができるようにすることは、有益であろう。加えて、プロバイダ102と介在アクセスノードネットワーク110との間で用いられる接続が一時的な場合、確立されている接続はもはや必要ないのかどうか、又は確立されていない接続がいつ必要とされるのかをプロバイダ102に信号を伝える方法を提供することは、有益である可能性がある。ここで開示されるシステム及び方法を通して、この接続の中の2つのループを考慮に入れれば、要求が効率的なやり方でネットワークを通して伝播することを可能とし、また同様に多くの数の無関心なプロバイダ(接続されていなくてもよいプロバイダ又は現在バインディング112を提供していなくてもよいプロバイダを意味している)を可能とする。
介在アクセスノード106、206は、ループを含む任意の方法で接続されてもよい。図1及び2の中には、リクエスタ104、204、205及びプロバイダ102、202、205、206eが例示されている。リクエスタ及びプロバイダは、個別のノードでもよいし、介在アクセスノードの中に共存していても良い。介在アクセスノードネットワーク110により用いられる方法は、リクエスタ104、204、205がプロバイダ102、202、205、206eによるバインディング112の追加及び削除を感知することを可能にする。これらはまた、コンピュータネットワーク100上でのバインディング112の利用可能性についての問い合わせを可能にする。介在アクセスノードネットワークについての更なる詳細は、以下の同時係属の特許出願、すなわち、米国特許出願番号第11/302,306号、題名「分散ルーティング環境におけるフェールオーバを取り扱うためのシステム及び方法」、2005年12月13日出願、発明者ブライアント・イーサム(Bryant Eastham)及びトム・ミリガン(Tom Milligan)と、米国特許出願番号第11/292,944号、題名「分散ルーティング環境における効率的な電子通信のためのシステム及び方法」2005年12月2日出願、発明者ブライアント・イーサム及びトム・ミリガンの中に記述されている。本発明の譲受人に譲渡されているこれらの同時係属の米国特許出願は、ここに参照することにより全体として本出願に組み込まれる。
バインディング112に関するノードによる問い合わせは、TCP/IPのような接続指向のプロトコルを用いるか、又はUDP/IPのようなコネクションレスプロトコルを通してなされてもよい。コネクションレスプロトコルの使用による利点には、要求される接続がより少ないために介在アクセスノード106、206へのオーバーヘッドがより低くなることが含まれる。
図3は、リクエスタ304及びプロバイダ302を伴う介在アクセスノードネットワーク310の実施形態のブロック図である。上で論じたように、リクエスタ304は、プロバイダ及びリクエスタの両方として動作しても良い。本実施形態の中では、リクエスタ304はバインディング320を提供することにより、またプロバイダ302のサービス108を介在アクセスノードネットワーク310を通して利用することにより、プロバイダ及びリクエスタとして動く。
リクエスタ304により提供されるバインディングは、ステイオンライン(stay online)バインディング320である。ステイオンラインバインディング320は、プロバイダ102が提供しているサービス108を望んでいるネットワーク310にリクエスタ304が接続されているということを、要求されるサービス108を提供する全てのプロバイダ102に通知する目的を果たしてもよい。この場合、ステイオンラインバインディング320のオブジェクトID314bは、サービス108により提供されるオブジェクト114の少なくとも1つと同じである。
ステイオンラインバインディング320は、これが典型的にはオブジェクトID314b及びインターフェースID322aを含んでいることから、正規のバインディング112と類似している。ステイオンラインバインディング320は、介在アクセスノードネットワーク110を通して送信される任意の他のバインディング112の中に含まれてもよいものと同じ又は類似した情報を含んでもよいことから、任意の他のバインディング112のように扱ってもよい。
プロバイダ302もまた、上述のように、プロバイダ及びリクエスタの両方として行動しても良い。本実施形態の中では、プロバイダ302は、バインディング312を提供することにより、またリクエスタ304から介在アクセスノードネットワーク310を通して送信される可能性のあるステイオンラインバインディング320を待つことによって、プロバイダ及びリクエスタの両方としての役割を果たす。
プロバイダ302から提供されるバインディング312は、オブジェクトID314a及びインターフェースID316aを含んでもよい。ステイオンラインバインディング320とは異なり、本実施形態のバインディング312は所望のサービス108と相互交流するために用いられるインターフェースを識別しても良い。
図4は、ネットワーク内のプロバイダ402とリクエスタ404間の通信を確立するための方法を例示しているタイミング図400である。時間軸401が示されている。リクエスタ404は、ネットワーク100上で、サービス108の検索をしていてもよい。ネットワーク100に接続した後のどこかの時点(時間t1)で、リクエスタ404はステイオンラインバインディング320を提供410しても良い。ステイオンラインバインディング320は、リクエスタ404が互換性のあるバインディング312の任意のプロバイダに対して、接続の確立と、このプロバイダのバインディング112の提供と、オンラインのままでいることとを依頼する方法である。互換性のあるバインディング312とは、ステイオンラインバインディング320のオブジェクトID314bが、プロバイダ402を介してサービス108により提供されるバインディング312のオブジェクト314aと等しいバインディング312のことである。本実施形態の中では、ネットワーク100に接続した後のどこかの時点(時間t2)で、プロバイダ402はバインディング312を提供420しても良い。代替的な実施形態の中では、プロバイダ402は、リクエスタ404がこれのステイオンラインバインディング320を提供する410前にバインディング312を提供420しても良い。
プロバイダ402は、ネットワーク100の中にバインディング312を追加する。バインディング312を送った420後のある時点、時間t3で、リクエスタ404はステイオンラインバインディング320を削除430しても良い。この削除430は、プロバイダ402に伝わってもよい。プロバイダ402が削除430を感知した後の時間t4において、プロバイダ402はバインディング312を削除440しても良い。
図5は、介在アクセスノード506の一実施形態のブロック図である。介在アクセスノード506は、ステイオンラインバインディング320を例えば、プロバイダ102に転送すべきかどうかを判断することを、介在アクセスノード506に可能とさせるために必要な情報を含んでもよい。同様に、介在アクセスノード506はまた、バインディング112を例えば、リクエスタ104に転送すべきかどうかを判断することを、介在アクセスノード506に可能とさせるために必要な情報を含んでもよい。
介在アクセスノード506は、自身が認識しているネットワーク110上の全てのバインディング112を含んでもよい、バインディング526のデータベースを含んでもよい。これらバインディング526は、バインディング512とステイオンラインバインディング520を含み、それぞれのバインディングは同様にオブジェクトID114とインターフェースID116とを含んでいる。ネットワーク内の各ノードは、このバインディング112に対するプロバイダ102の総数は知らないかもしれないとはいえ、特定のバインディング112、320が存在するかどうかを知っていてもよい。特定のバインディング112を提供する複数のプロバイダ102が存在する場合には、あるノードの観点からすれば、全てのプロバイダ102がネットワーク100との接続を切るか又はこれらのバインディング112を削除するまでは、バインディング112は消滅することはないであろう。バインディングのデータベース526は、プロバイダ102により、TCP/IPのような接続指向のプロトコル又はUDP/IPのようなコネクションレスプロトコルの双方を介して問い合わせ(クエリ)しても良い。このクエリは、存在している任意のバインディング112、320に対してであってもよい。このデータベースを同様に、プロバイダ102によって監視して、内容の変更が割り出されるようにしても良い。
図6は、1つ以上の介在アクセスノードと、同じバインディング812を提供しているプロバイダ2つの802a、802bを含む、介在アクセスノードネットワーク810のブロック図800である。バインディング112は、これらのオブジェクトID114が同じで、且つこれらのインターフェース116が同じであれば、同じとみなされる。プロバイダ802が接続及び切断するとき、ネットワーク810は、どのプロバイダ802を使用するかを判断しても良い。プロバイダA802aは、第1のバインディング812aを含んでもよい。プロバイダB802bは第1のバインディング812bを含んでもよい。このようにして、両プロバイダ802が同じバインディング、すなわち第1のバインディング812を提供しても良い。ネットワーク810及びプロバイダ802a、802bは、交渉して、どのプロバイダ802がバインディング112を提供してよいか、及び、必要ならどれを、後でバインディング112を提供するために留保しておくかを決定しても良い。この状況は、一般的には、2つ以上のプロバイダ102が殆ど同じ時間に介在アクセスノードネットワーク810に接続し、自身たちのバインディング112を既に公示した後になるまで、それぞれのプロバイダ102が他のプロバイダ102に気づかないかもしれないようにするときに、発生する。本実施形態の中では、この論理をステイオンラインバインディング320に適用することにより、最後のプロバイダ802が接続を切断するか又はバインディング812を削除するまでは、ステイオンラインバインディング320がネットワークの中に存在するということを確実にしても良い。
さて、図7を参照すると、特定のバインディング112がリクエスタ904により要求される場合、リクエスタ904はこれのステイオンラインバインディング920a、920bを、第1のステイオンラインバインディングA920aと第2のステイオンラインバインディングB920bとを介在アクセスノードネットワーク110に加えることによって、提供しても良い。第1のステイオンラインバインディングA920aは、このバインディング920aを受信するものには誰でも、オブジェクトID914aを伴うバインディング112が求められているということを通知しても良い。本実施形態のステイオンラインバインディングA920aは、オブジェクトIDA914aとインターフェースIDステイオンライン922とを含んでもよい。このステイオンライン識別子は、プロバイダ102にマッチングオブジェクトID114を用いて、プロバイダ102がこれのバインディング112を提供し、オンラインを維持するべきだということを通知しても良い。第2のステイオンラインバインディングB920bは、このバインディングを受信するものには誰でも、オブジェクトID914bを伴うバインディング112が求められているということを通知しても良い。
図8は、2つのバインディング1012a、1012bを提供するプロバイダ1002のブロック図である。プロバイダ1002が介在アクセスノードネットワーク110に接続するとき、ステイオンラインバインディングA920a及びステイオンラインバインディングB920bの存在を判断しても良い。代替的な実施形態の中では、プロバイダ1002は接続することなしにネットワーク110に問い合わせて、適用可能なステイオンラインバインディング520の存在を判断し、適用可能なステイオンラインバインディング520が検出された場合のみ接続を確立する。
ステイオンラインバインディング920を感知し、接続を確立した後で、プロバイダ1002は、自身のバインディング1012a、1012bを、第1のバインディングA1012a及び第2のバインディングB1012bを加えることにより、追加しても良い。第1のバインディングA1012aを追加することにより、これを受信するものには誰でも、第1のバインディングA1012aが利用可能だということが通知される。第2のバインディングB1012bを追加することにより、これを受信するものが誰であれ、第2のバインディングB1012bが利用可能だということが通知される。この情報を用いて、リクエスタ104は、プロバイダ1002からのバインディング1012a、1012bを用いることができる。
図9は、介在アクセスノードネットワーク110に接続しても良い、プロバイダ102及び2つのリクエスタ104a、104bのブロック図である。リクエスタA104aはステイオンラインバインディングA1120aを提供しても良い。リクエスタB104bは、ステイオンラインバインディングB1120bを提供しても良い。プロバイダ102は、ステイオンラインバインディングA1120a及び/又はステイオンラインバインディングB1120bを受信しても良い。プロバイダ102がステイオンラインバインディング1120a、1120bのどちらかを受信し続ける場合は、プロバイダ102は、自身の利用可能なバインディング1112、すなわちバインディングA1112a及びバインディングB1112bを提供しても良い。プロバイダ102が自身の利用可能なバインディング1112を追加した後、リクエスタ104a、104bはこれらの所望のバインディング1112a、1112bをそれぞれ用いてもよい。プロバイダ102は次に、バインディング1112をリクエスタ104a、104bに提供し続けてもよい。具体的には、プロバイダ102は、バインディングA1112aをリクエスタA104aに、またバインディングB1112bをリクエスタB104bに提供しても良い。
リクエスタ104の1つのみがステイオンラインバインディング1120を削除した場合は、プロバイダ102は介在アクセスノードネットワーク110に接続し続けてもよく、また自身の可能なバインディング1112を提供し続けてもよい。例えば、もし仮にリクエスタA104aが自身のステイオンラインバインディングA1120aを削除するとしたら、プロバイダ102はこの後バインディングA1112aをリクエスタA104aに提供するのをやめてもよい。しかしながら、リクエスタB104bは依然として自身のステイオンラインバインディングB1120bを加えているので、プロバイダ102は自身の利用可能なバインディング1112を提供し続けてもよく、またバインディングB1112bをリクエスタB104bに提供し続けてもよい。もし仮に、リクエスタA104a及びリクエスタB104bの両方がステイオンラインバインディング1120a、1120bを停止して除去し、介在アクセスノードネットワーク110に接続されたどのリクエスタ104も、例えばこのプロバイダ102に関係している、ステイオンラインバインディング1120を提供していなかったとしたら、プロバイダ102は当面ネットワーク110から切断されても良い。これは、切断されたデバイスを整理することにかかわる難問を除去する可能性があり、この理由は、この判断を行わせる能力が、プロバイダに自身のサービスが必要とされていない時に、ネットワークから接続を切ることができるようにする可能性があるからである。
図10は、介在アクセスノードネットワーク110と通信しているプロバイダ102の、方法1200の一実施形態のフローチャートである。プロバイダ102は、介在アクセスノードネットワーク110に接続1202する。プロバイダ102が介在アクセスノードネットワーク110に接続1202された後、プロバイダ102は、プロバイダ102が提供1210する任意のバインディング112を表す、任意のステイオンラインバインディング320が介在アクセスノードネットワーク110上に存在するかどうかを判断1206する。プロバイダ102が、プロバイダ102により提供された少なくとも1つのバインディング112を特定するステイオンラインバインディング320が存在するということを判断1206した場合は、プロバイダ102は自身のバインディング112をネットワーク110に提供1210する。プロバイダ102が、プロバイダ102により提供された1210少なくとも1つのバインディング112を特定する如何なるステイオンラインバインディング320も存在しないということを判断1206した場合は、プロバイダ102は介在アクセスノードネットワーク110から切断1214する。代わりの実施形態の中では、判断1206は、コネクションレスプロトコルを用い、ネットワーク1202への接続に先行する。
プロバイダ102が自身のバインディング112を提供1210した後、プロバイダ102はステイオンラインバインディング320が依然として存在するかどうかを判断する1206前に一定の間待ってもよい1212。加えて、プロバイダ102は、ネットワーク100から切断1214した後、ネットワーク100に再接続1202し、利用可能なステイオンラインバインディング320が存在するかどうかを判断1206する前に、一定の間待ってもよい1216。これらの時間間隔は、同じ時間間隔でもよいし、長さが異なってもよい。
図11は、ネットワーク100の中でプロバイダ102と通信を確立する、リクエスタ104の方法1300についての一実施形態のフローチャートである。リクエスタ104は、ネットワーク100に接続1302する。リクエスタ104は、どのバインディング112が必要なのかを判断1304する。例えば、リクエスタ104は、サービス108からのデータが必要だということを判断1304する。リクエスタ104は、次に、このデータを取得するためにどのバインディング112が必要なのかを判断1304する。
リクエスタ104は、新たなステイオンラインバインディング320をパッケージング1306する。新たなステイオンラインバインディング320のパッケージング1306は、ステイオンライン識別子であるインターフェースID322を伴う適切なオブジェクトID114をパッケージング1306することを含んでいる。新たなステイオンラインバインディング320のパッケージング1306はまた、以下で論じられるように、以前にパッケージングされたか又はもはや要求されないステイオンラインバインディング320をパッケージング1306しないことも含んでもよい。
リクエスタ104は、ステイオンラインバインディング320を提供1308する。ステイオンラインバインディング320の提供1308は、ネットワーク100を通してステイオンラインバインディング320を送信することを含んでもよい。リクエスタ104は、プロバイダ102からバインディング112を受信1312する。リクエスタ104は、少なくとも1つのステイオンラインバインディング320を削除するかどうかを判断1314する。リクエスタ104が少なくとも1つのステイオンラインバインディング320を削除すべきでないと判断1314した場合は、リクエスタ104は、再度どのバインディング112が必要なのかを判断する前に、ある時間間隔の間待ってもよい1322。リクエスタ104が少なくとも1つのステイオンラインバインディング320を削除すべきと判断1314した場合は、リクエスタ104はこのステイオンラインバインディング320を削除1316する。本実施形態の中では、リクエスタ104は、もはや必要のないステイオンラインバインディング320のみを削除1316する。例えば、リクエスタ104が所望のサービス108を受けた後、リクエスタ104はもはやバインディング112を必要としなくてもよく、従って、このサービス108に対するステイオンラインバインディング320を削除1316する。
リクエスタ104は、任意の残っているバインディング112が必要かどうかを判断1318してもよい。リクエスタ104が、必要とする残りのバインディング112があると判断1318した場合は、リクエスタ104は再度どのバインディング112が必要なのかを判断1304する。リクエスタ104が必要とする残りのバインディング112は無いと判断1304した場合は、リクエスタ104はある時間間隔の間待ち1320、再度どのバインディング112が必要なのかを判断1304する。
図12は、コンピュータデバイス又は埋め込みデバイスの一実施形態の中で用いられてもよい、ハードウエアコンポーネントのブロック図である。コンピュータデバイス及び/又は埋め込みデバイスは、プロバイダ、リクエスタ、及び/又は介在アクセスノードとして用いられてもよい。CPU1410すなわちプロセッサは、バス1412を介してCPU1410と連結されている、このデバイスの中の他のコンポーネントも含め、デバイス1402の動作を制御するために用意されてもよい。CPU1410は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、又は技術的に知られている他のデバイスとして実現されてもよい。CPU1410は、論理及び演算処理をメモリ1414の中に格納されたプログラムコードに基づいて実行する。特定の実施形態の中では、メモリ1414は、CPU1410に付属している内蔵メモリであってもよい。例えば、マイクロコントローラはしばしば一定の規模の内蔵メモリを含んでいる。
コンピュータデバイス又は埋め込みデバイス1402はまた、ネットワークインターフェース1416を含んでもよい。ネットワークインターフェース1416は、デバイス1402とネットワーク100に接続された他のデバイスとの間の通信を容易にする。ネットワーク100は、ポケットベルネットワーク、携帯電話ネットワーク、グローバル通信ネットワーク、インターネット、コンピュータネットワーク、電話ネットワーク等であってもよい。ネットワークインターフェース1416は、適用可能なネットワーク100のための、標準プロトコルに従って動作する。
デバイス1402はまた、メモリ1414を含んでいる。メモリ1414は、一時的なデータを格納するランダムアクセスメモリ(RAM)を含んでもよい。その代わりに、又はこれに加えて、メモリ1414は、固定コード及び構成データなどの、より恒久的なデータを格納する読み取り専用メモリ(ROM)を含んでもよい。メモリ1414はまた、ハードディスクドライブのような磁気記憶装置として具現されてもよい。メモリ1414は、電子的な情報を格納することができる如何なるタイプの電子デバイスであってもよい。
デバイス1402はまた、他のデバイスとの通信を容易にする通信ポート1418を含んでもよい。デバイス1402は同様に、例えば、キーボード、マウス、ジョイスティック、タッチスクリーン、モニタ、スピーカ、プリンタなどの、入力/出力デバイス1420を含んでもよい。
本発明のシステム及び方法は、さまざまな状況の中で用いられる。図13は、本発明のシステム及び方法を実施しても良い、システムの一実施形態を例示している。図13は、照明コントローラシステム1508を含む、照明システム1200の一実施形態を例示しているブロック図である。図13の照明システム1500は、家庭の中のさまざまな部屋の中に組み込んでもよい。例示されたように、照明システム1500は、部屋A1502、部屋B1504、及び部屋C1506を含んでいる。3つの部屋が図13の中に示されているが、照明システム1500は家、居住施設、又は他の環境の中の如何なる数の部屋に及び多様な部屋の中に組み込まれてもよい。
照明コントローラシステム1508は、照明システム1500内の追加の埋め込みシステム及びコンポーネントを監視し、制御してもよい。一実施形態の中では、部屋A1502及び部屋B1504はそれぞれスイッチコンポーネント1514、1518を含んでいる。スイッチコンポーネント1514、1518は、同様に、二次的な埋め込みシステム1516、1520を含んでもよい。二次的な埋め込みシステム1516、1520は、照明コントローラシステム1508から命令を受信しても良い。二次的な埋め込みシステム1516、1520は、この後、これらの命令を実行する。これらの命令には、多様な照明コンポーネント1510、1512、1522、1524を電源オン又は電源オフすることを含んでもよい。これらの命令には、また、多様な照明コンポーネント1510、1512、1522、1524の明るさを落としたり増したりすることを含んでいる。この命令には更に、多様な照明コンポーネント1510、1512、1522、1524の明るさをさまざまなパターンで変化させることを含んでもよい。二次的な埋め込みシステム1516、1520は、照明コントローラシステム1508が、部屋A1502及び部屋B1504の中に配置された各照明コンポーネント1510、1512、1522、1524を監視及び制御することを容易にする。
照明コントローラシステム1508はまた、描かれた部屋C1506の中で、二次的な埋め込みシステム1528を含む照明コンポーネント1526に直接命令を提供してもよい。照明コントローラシステム1508は、二次的な埋め込みシステム1528に命令して、独立した照明コンポーネント1526を電源オン又は電源オフしても良い。同様に、照明コントローラシステム1508から受信される命令は、この独立した照明コンポーネント1526の明るさを落すか、又は明るさを増すことを含んでもよい。
照明コントローラシステム1508はまた、照明システム1500の中の独立した照明コンポーネント1530、1532を監視したり、これらに直接命令を提供しても良い。これらの命令は、前に述べたような同様の命令を含んでもよい。
図13の実施形態の中では、照明コンポーネント1510、1512、1522、1524、1526、1530、1532は、プロバイダとして扱われてもよい。これらのコンポーネントは、照明コンポーネントがオン若しくはオフか、又は現在若しくは過去にこの照明コンポーネントを通過したワット量などの、これら照明コンポーネントの状態に関するデータを提供しても良い。同様に、二次的な埋め込みシステム1516、1520、1528は、プロバイダ及びリクエスタの両方として働いてもよい。例えば、二次的な埋め込みシステム1516、1520、1528は、照明コンポーネント1510、1512、1522、1524、1526、1530、1532からのデータ又はサービスを要求しても良い。二次的な埋め込みシステム1516、1520、1528は同様に、照明コンポーネント1510、1512、1522、1524、1526、1530、1532から受信したデータを、リクエスタとして行動する照明コントローラシステム1508に提供しても良い。
図14は、本発明のシステム及び方法を実施しても良いシステムの、追加的な一実施形態である。図14は、セキュリティシステム1600を例示しているブロック図である。例示された実施形態の、セキュリティシステム1600は、部屋A1602、部屋B1604、及び部屋C1606の中で実装されている。これらの部屋は、家又は他の囲まれた環境の領域の中にあってもよい。セキュリティシステム1600はまた、部屋A、B、C、1602、1604、1606がそれぞれ領域又は境界を表すオープンな環境の中に実装されてもよい。
セキュリティシステム1600は、セキュリティコントローラシステム1608を含んでいる。セキュリティコントローラシステム1608は、システム1600の中のさまざまなコンポーネントからの情報を監視及び受信する。例えば、モーションセンサ1614、1618が二次的な埋め込みシステム1616、1620を含んでもよい。モーションセンサ1614、1618は、動きに関して近接空間を監視し、且つ、二次的な埋め込みシステム1616、1620を介して動きが検出された時にセキュリティコントローラシステム1608に警報を出してもよい。セキュリティコントローラシステム1608はまた、システム1600内の多様なコンポーネントに対して命令を提供しても良い。例えば、セキュリティコントローラシステム1608は、二次的な埋め込みシステム1616、1620に命令を提供して、窓センサ1610、1622及びドアセンサ1612、1624を電源オン又は電源オフしても良い。一実施形態では、二次的な埋め込みシステム1616、1620は、窓センサ1610、1622が窓の動きを検出した時にセキュリティコントローラシステム1608に通知する。同様に、二次的な埋め込みシステム1616、1620は、ドアセンサ1612、1624がドアの動きを検出した時に、セキュリティコントローラシステム1608に通知する。二次的な埋め込みシステム1616、1620は、モーションセンサ1614、1618に指示して、モーションセンサ1614、1618の中に位置するLED(図示せず)を起動する。
セキュリティコントローラシステム1608はまた、システム1600内の独立したコンポーネント1626を監視し且つこれに直接命令を提供してもよい。例えば、セキュリティコントローラシステム1608は、モーションセンサ1630又は窓センサ1632を監視し、電源オン又は電源オフするための命令をこれらに提供しても良い。セキュリティコントローラシステム1608は同様に、モーションセンサ1630及び窓センサ1632に命令して、センサ1630、1632の中で、LED(図示せず)を点灯させるか、又は音声警報通知を起動させてもよい。
システム1600を構成しているそれぞれの個別コンポーネントはまた、二次的な埋め込みシステムを含んでもよい。例えば、図14は二次的な埋め込みシステム1628を含んでいるドアセンサ1626を例示している。セキュリティコントローラシステム1608は、前に説明したのと同様な方法で、二次的な埋め込みシステム1628に対し監視と命令の提供を行ってもよい。
図14の実施形態の中では、センサ1610、1612、1622、1624、1626、1630、1632は、プロバイダとして取り扱われてもよい。これらのセンサ1610、1612、1622、1624、1626、1630、1632は、これらの状態に関するデータを提供してもよい。例えば、窓センサ1610、1622、1632は、これらが開いているか閉じているかに関するデータを提供しても良い。同様に、二次的な埋め込みシステム1616、1620、1628は、プロバイダ及びリクエスタの両方として作動してもよい。例えば、二次的な埋め込みシステム1616、1620、1628は、センサ1610、1612、1622、1624、1626、1630、1632からのデータ又はサービスを要求しても良い。二次的な埋め込みシステム1616、1620、1628はまた、センサ1610、1612、1622、1624、1626、1630、1632から受信したデータを、リクエスタとして作動するセキュリティコントローラシステム1608に提供しても良い。
図15は、ホームシステム1700の一実施形態を例示しているブロック図である。ホームシステム1700は、例えば、照明システム1500、セキュリティシステム1600等の、多様なシステムの監視を容易にするホームコントローラ1708を含んでいる。ホームシステム1700は、ユーザがさまざまなコンポーネント及びシステムを1つ以上の埋め込みシステムを通して制御することを可能にする。一実施形態の中では、ホームコントローラシステム1708は、先に図13及び14に関連して説明したのと同様な方法で、監視及び情報を提供する。描かれた実施形態の中では、ホームコントローラ1708は、暖房コンポーネント1724に二次的な埋め込みシステム1720を介して命令を提供する。暖房コンポーネント1724は、居住している場所やオフィスで通常見られる加熱炉又は他の暖房デバイスを含んでもよい。ホームコントローラ1708は暖房コンポーネント1724を電源オン又は電源オフするための命令を、二次的な埋め込みシステム1720を介して提供しても良い。
同様に、ホームコントローラ1708は、冷房コンポーネント1730のような、ホームシステム1700内のコンポーネントを監視し、これに直接命令を提供しても良い。冷房コンポーネント1730は、居住場所又はオフィスで通常見られるエアコン又は他の冷房デバイスを含んでもよい。中央ホームコントローラ1708は、冷房コンポーネント1730に命令して、中央埋め込みシステム1708により収集された温度測定値に基づいて電源オン又は電源オフしても良い。ホームシステム1700は、図13及び14に関連して前に説明されたのと同様なやり方で機能する。
図15の実施形態の中では、窓センサ1710、ドアセンサ1712、暖房コンポーネント1724、冷房コンポーネント1730、及び照明コンポーネント1722、1726、1732は、プロバイダとして扱ってもよい。これらのエレメント1710、1712、1722、1724、1726、1730、1732は、これらの状態に関するデータを提供しても良い。例えば、暖房及び冷房コンポーネント1724、1730は、これらのそれぞれの部屋1704、1706の中の現在の温度に関するデータを提供しても良い。暖房及び冷房コンポーネント1724、1730は、これがオンなのかオフなのか、これの最近の電力使用量、任意のシステムエラー等のコンポーネント状態に関するデータを提供しても良い。同様に、二次的な埋め込みシステム1716、1720、1728は、プロバイダ及びリクエスタの両方として働いてもよい。例えば、二次的な埋め込みシステム1716、1720、1728は、これらのエレメント1710、1712、1722、1724、1726、1730、1732からのデータ又はサービスを要求しても良い。
二次的な埋め込みシステム1716、1720、1728はまた、エレメント1710、1712、1722、1724、1726、1730、1732から受信したデータを、リクエスタとして動くホームコントローラシステム1708に提供しても良い。
多くのタイプの埋め込みデバイスが存在し、ネットワークを創出する多くの理由が存在する。デバイスネットワーキングアプリケーションのいくつかの実施例が説明されるであろう。当業者には、論じられるこれらの実施例は網羅的ではないということが理解されるであろう。
デバイスネットワーキングアプリケーションの1つの例は、遠隔監視である。多くの有用なデバイスネットワークの中には、遠隔監視、すなわちあるノードから他のノードへの一方通行の情報転送が含まれる。これらのアプリケーションの中では、プロバイダは典型的には、特定の情報をリクエスタに応えて報告する小さなサーバとして動作する。プロバイダはまた、これらの状態情報を加入者に公開するように設定されることも可能である。リクエスタは、定期的な報告を頼むか、おそらくは、更新がどのような頻度で送信されるべきかを制限する何らかの手段を伴って、状態が変わったらいつでも更新することを頼んでもよい。プロバイダは、或るイベント又は例外的な状況が起こった時にリクエスタに通知するように設定することができる。
デバイスネットワーキングアプリケーションの他の例は、リクエスタがプロバイダにコマンドを送信して特定の動作を起動することができる、遠隔制御である。殆どの場合、遠隔制御はある種のフイードバックを含む。
更なるデバイスネットワーキングアプリケーションの例は、分散制御システムである。個別のプロバイダに関連する機能及びデータは、ネットワークを通して結合及び調整されて、付加的な価値を提供する分散システムを生み出す。ときどき、これらの分散制御システムは多かれ少なかれ自動的に確立され得る。多くの場合、より精巧なデバイスがピア・ツー・ピアネットワークに加入して、構成、監視、又は診断の任務を実行する。このようなシステムは、ピア同士として又はマスタ−スレーブ構成を通して通信するオブジェクトにより作り出されてもよく、この中では、システム内の各オブジェクトは、全ての制御ロジックを含んでいる単一の中央ノードと通信する。
ネットワーキングアプリケーションの各カテゴリに伴って、リクエスタがプロバイダに接続する多様な方法が存在する。比較的関与するプロバイダ数が少ない場合、リクエスタは、よりインタラクティブなやり方で、又はあまりインタラクティブでないやり方で、ウエブブラウザ、ページャ、又はWAPイネーブル式の携帯電話を用いて、プロバイダと通信しても良い。しかしながら、プロバイダの数が増えてくるにつれ、これらの方法は機能しなくなる可能性があり、リクエスタは、表計算ソフト又はデータベースアプリケーションのような、より一般的なデータ管理手法を採用するかもしれない。
長い間に、さまざまな且つ異なる技術を伴うネットワークが導入されて来るにつれ、それぞれが独自のプロトコルを用い且つ他と通信できない多くのネットワークが、同じ家又は施設の中に存在するという状況が起こってくる。この場合、さまざまなネットワーク及びプロトコルをブリッジして単一の、より大きなネットワークを作り出すことができる。こうすることにより、単一のアプリケーションが各プロバイダにアクセスすることが可能となり、全てのプロバイダとの相互交流を単純化することができる。
情報及び信号は、任意の多様な異なる技術及び技法を用いて表してもよい。例えば、上の記述全体を通して参照される、データ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光粒子、又は任意のこれらの組み合わせにより表されてもよい。
この中で開示された実施形態に関係して説明された、さまざまな例示的な論理ブロック、モジュール、回路、及びアルゴリズムステップは、電子的なハードウエア、コンピュータソフトウエア、又は両者の組み合わせとして実施しても良い。ハードウエア及びソフトウエアのこの互換性を明確に例示するために、さまざまな例示的なコンポーネント、ブロック、モジュール、回路、及びステップが、上記では概してこれらの機能性の観点から説明された。このような機能性をハードウエアとソフトウエアのどちらで実施するかは、この特定のアプリケーションと、システム全体に課せられた設計上の制約に依存する。当業者ならば、各アプリケーションに対して、説明された機能性を多様な方法で実施するかも知れないが、このような実施の決定は、本発明の範囲からの離脱を起こすものと解釈されるべきではない。
ここで開示された実施形態に関連して説明されたさまざまな例示的な論理ブロック、モジュール、及び回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)信号若しくは他のプログラマブルな論理デバイス、離散ゲート若しくはトランジスタロジック、離散ハードウエアコンポーネント、又は、ここで説明された機能を実行するために設計された任意のこれらの組み合わせと共に実施若しくは実行されてもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、別の方法では、このプロセッサは任意の従来型のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械であってもよい。プロセッサはまた、例えば、DSP及びマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと連動する1つ以上のマイクロプロセッサ、又は任意の他のこのような構成として実施されてもよい。
この中で開示された実施形態に関連して説明された方法又はアルゴリズムのステップは、ハードウエア、プロセッサにより実行されるソフトウエアモジュール、又はこれら2つの組み合わせで直接具体化されてもよい。ソフトウエアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、又は技術的に知られた任意の他の記憶媒体の中に常駐しても良い。典型的な記憶媒体は、プロセッサに接続され、プロセッサがこの記憶媒体からの情報の読み取り及びこれへの情報の書き込みができるようにする。代替として、記憶媒体はプロセッサと一体化していてもよい。プロセッサ及び記憶媒体は、ASICの中に在ってもよい。ASICは、ユーザ端末の中に在ってもよい。別の方法では、プロセッサ及び記憶媒体は個別コンポーネントとしてユーザ端末の中に在ってもよい。
この中で開示された方法は、この説明された方法を実現するための1つ以上のステップ又は動作を含んでいる。これらの方法ステップ及び/又は動作は、本発明の範囲から離れることなく、互いに入れ替えてもよい。言い換えれば、実施形態の適正な運用のためにステップ及び/又は動作の特定の順番が要求されない限り、順番及び/又は特定のステップ及び/又は動作の使用は、本発明の範囲から離れることなく修正しても良い。
本発明の特定の実施形態及びアプリケーションが例示されたが、本発明はこの中で開示された正確な構成及びコンポーネントに限定されないということが理解されるべきである。当業者には明白となるであろう多様な修正、変更、及び変形物は、この中で開示された本発明の方法及びシステムの配置、運用、及び詳細に対し、本発明の精神及び範囲から離れることなく成されてもよい。
本発明は、埋め込みシステムに適用可能である。
本発明の範例的実施例が、以下の説明とそれに付された請求項を添付図面に絡め参酌することで、より十全に明らかとなろう。それらの図面は、範例的実施例のみを図化しており、従って、発明の範囲の限定と捉えるべきではないとの理解の下、本発明の範例的実施例を更に特定し詳述する説明を、次に、添付図面を用いて行うが、その図面中:
コンピュータネットワーク内の2つの介在アクセスノードを例示しているネットワークブロック図である。 コンピュータネットワーク内のいくつかの介在アクセスノードを例示しているネットワークブロック図である。 リクエスタ及びプロバイダを伴う介在アクセスノードネットワークの一実施形態のブロック図である。 ネットワーク内のプロバイダとリクエスタとの間で通信を確立するための方法を例示しているタイミング図である。 介在アクセスノードの一実施形態のブロック図である。 1つ以上の介在アクセスノード及び2つのプロバイダを含む、介在アクセスノードネットワークのブロック図である。 2つの要求信号及び2つのステイオンラインバインディングを送出するリクエスタのブロック図である。 2つのバインディング及び2つのステイオンライン要求信号を送出するプロバイダのブロック図である。 介在アクセスノードネットワークに接続されてもよい、1つのプロバイダ及び2つのリクエスタのブロック図である。 ネットワークと通信するプロバイダの方法についての一実施形態のフローチャートである。 ネットワーク内のプロバイダと通信を確立するリクエスタの方法についての一実施形態のフローチャートである。 埋め込みプロバイダとして又は組み込みリクエスタのいずれかとして用いられてもよい埋め込みデバイスの、一実施形態の中で用いられてもよいハードウエアコンポーネントのブロック図である。 本発明のシステム及び方法を実施しても良いシステムの、一実施形態を例示している。 本発明のシステム及び方法を実施しても良いシステムの、さらなる一実施形態である。 ホームシステムの一実施形態を例示しているブロック図である。

Claims (20)

  1. 分散ネットワークにおいてプロバイダとリクエスタとの間の通信を管理するためのシステムであって、
    コンピュータデバイス上に実装されたリクエスタであって、前記リクエスタは、ステイオンラインバインディング(stay online binding)を提供し、更に、前記ステイオンラインバインディングは、前記リクエスタにより所望される少なくとも1つのバインディングを特定する、リクエスタと、
    コンピュータデバイス上に実装されたプロバイダであって、前記プロバイダは少なくとも1つのバインディングを提供し、前記プロバイダは前記ステイオンラインバインディングを前記リクエスタから受信し、前記プロバイダは前記ステイオンラインバインディングについて認識したので、少なくとも1つのバインディングの提供を続ける、プロバイダと、を具備するシステム。
  2. 介在アクセスノードネットワークを更に備える、請求項1に記載のシステム。
  3. 前記リクエスタと前記プロバイダとの間の通信は、前記介在アクセスノードネットワークを介して送られる、請求項2に記載のシステム。
  4. 前記プロバイダコンピュータデバイスは、プロセッサと、前記プロセッサと電子通信するメモリと、前記メモリ内に格納された命令とを含み、前記命令は方法を実行するために実行可能であり、前記方法は、
    前記プロバイダに関係する任意のステイオンラインバインディングのために、介在アクセスノードネットワークからの通信を監視することを含む、請求項1に記載のシステム。
  5. 前記プロバイダの前記メモリの中に格納された前記命令により実行される前記方法は、
    前記プロバイダに関係するステイオンラインバインディングが前記介在アクセスノードネットワーク上で伝達されていないと前記方法が判断した場合には、前記バインディングの提供を止めることを更に含む、請求項4に記載のシステム。
  6. 前記プロバイダの前記メモリの中に格納された前記命令により実行される前記方法は、
    前記プロバイダに関係する任意のステイオンラインバインディングについて問い合わせすることと、
    再度バインディングを提供することを更に含む、請求項5に記載のシステム。
  7. 前記プロバイダに関係する任意のステイオンラインバインディングについて問い合わせする前記ステップは、コネクションレスプロトコルを用いることを含む、請求項6に記載のシステム。
  8. 前記リクエスタコンピュータデバイスは、プロセッサと、前記プロセッサと電子通信するメモリと、前記メモリ内に格納された命令とを含み、前記命令は方法を実行するために実行可能であり、前記方法は、
    前記リクエスタに関係する少なくとも1つのバインディングが存在するかどうかを判断することを含む、請求項1に記載のシステム。
  9. 前記リクエスタの前記メモリの中に格納された前記命令により実行される前記方法は、
    前記バインディングを用いて前記プロバイダからデータ又はサービスを受け取ることを更に含む、請求項8に記載のシステム。
  10. 分散ネットワークにおいてプロバイダとリクエスタとの間の通信を管理する方法であって、
    ステイオンラインバインディングを前記リクエスタから前記プロバイダに提供することと、
    前記プロバイダが前記ステイオンラインバインディングについて認識したので、少なくとも1つのバインディングを前記プロバイダによって提供することと、
    を含む方法。
  11. 前記プロバイダに関係する任意のステイオンラインバインディングが存在するかどうかを判断することを更に含む、請求項10に記載の方法。
  12. 前記リクエスタと前記プロバイダとの間の通信が、介在アクセスノードネットワークを介して送られる、請求項10に記載の方法。
  13. 前記プロバイダに関係する任意のステイオンラインバインディングのために、介在アクセスノードネットワークからの通信を監視することを更に含む、請求項10に記載の方法。
  14. 前記通信を監視するステップは、コネクションレスプロトコルを用いる、請求項13に記載の方法。
  15. 前記プロバイダに関係するステイオンラインバインディングが前記介在アクセスノードネットワーク上で伝達されていないと前記方法が判断した場合に、前記リクエスタへの前記バインディングの提供を止めることを更に含む、請求項13に記載の方法。
  16. 前記プロバイダに関係するステイオンラインバインディングが前記介在アクセスノードネットワーク上で伝達されていないと前記方法が判断した場合に、前記リクエスタへの前記バインディングの提供を止めることは、前記ネットワークへの接続を切断することを更に含む、請求項15に記載の方法。
  17. 前記リクエスタへの前記バインディングの提供を止めた後、既定の時間の間待ことと、
    前記プロバイダに関係するステイオンラインバインディングについて問い合わせすることとを更に含む、請求項14に記載の方法。
  18. 前記プロバイダに関係する少なくとも1つのステイオンラインバインディングが存在する場合、前記プロバイダは前記バインディングの提供を継続することを更に含む、請求項17に記載の方法。
  19. 前記バインディングを、前記プロバイダからデータ又はサービスを受けるために用いることを更に含む、請求項9に記載の方法。
  20. 分散ネットワークにおいてプロバイダの通信を管理する方法を実施するように構成されているコンピュータデバイスであって、
    プロセッサと、
    前記プロセッサと電子通信するメモリと、
    前記メモリ内に格納された命令とを具備し、前記命令は方法を実行するために実行可能であり、前記方法は、
    少なくとも1つのバインディングを提供することと、
    ステイオンラインバインディングを前記リクエスタから受信することと、
    前記プロバイダが前記ステイオンラインバインディングを認識したことから、前記少なくとも1つのバインディングの提供を続けることとを含む、コンピュータデバイス。
JP2007525092A 2005-12-29 2006-02-20 分散型ネットワークにおいてプロバイダのオンライン状態を管理するためのシステム及び方法 Expired - Fee Related JP4697227B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/324,025 2005-12-29
US11/324,025 US8073929B2 (en) 2005-12-29 2005-12-29 Systems and methods for managing a provider's online status in a distributed network
PCT/JP2006/303506 WO2007074542A1 (en) 2005-12-29 2006-02-20 Systems and methods for managing a provider's online status in a distributed network

Publications (2)

Publication Number Publication Date
JP2008522251A true JP2008522251A (ja) 2008-06-26
JP4697227B2 JP4697227B2 (ja) 2011-06-08

Family

ID=36889053

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007525092A Expired - Fee Related JP4697227B2 (ja) 2005-12-29 2006-02-20 分散型ネットワークにおいてプロバイダのオンライン状態を管理するためのシステム及び方法

Country Status (7)

Country Link
US (2) US8073929B2 (ja)
EP (1) EP1984816B1 (ja)
JP (1) JP4697227B2 (ja)
KR (1) KR101058970B1 (ja)
CN (2) CN103327067B (ja)
RU (1) RU2412466C2 (ja)
WO (1) WO2007074542A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019533250A (ja) * 2016-10-11 2019-11-14 シエン ヴァン ファムPHAM, Thien, Van 装置をペアリングしてアプリケーション要求を用いてタスクを完了するための方法、システム、及び媒体

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3973986B2 (ja) * 2002-07-12 2007-09-12 株式会社エヌ・ティ・ティ・ドコモ ノード探索方法、ノード、通信システム及びノード探索プログラム
US8073929B2 (en) 2005-12-29 2011-12-06 Panasonic Electric Works Co., Ltd. Systems and methods for managing a provider's online status in a distributed network
US9294509B2 (en) * 2013-11-14 2016-03-22 Broadcom Corporation Hierarchical management of devices
US9576039B2 (en) 2014-02-19 2017-02-21 Snowflake Computing Inc. Resource provisioning systems and methods
CN104135388B (zh) * 2014-08-15 2017-06-06 曙光信息产业(北京)有限公司 一种分布式系统中数据节点的安全管理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1145187A (ja) * 1996-10-11 1999-02-16 Sun Microsyst Inc 分散ガーベッジコレクションのためのリソースの管理方法、装置、コンピュータプログラム生産物、コンピュータシステム並びにプラットフォーム間に分散したリソースの割当及び割当解除方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222856B1 (en) * 1996-07-02 2001-04-24 Murali R. Krishnan Adaptive bandwidth throttling for individual virtual services supported on a network server
US6498795B1 (en) * 1998-11-18 2002-12-24 Nec Usa Inc. Method and apparatus for active information discovery and retrieval
US6460076B1 (en) * 1998-12-21 2002-10-01 Qwest Communications International, Inc. Pay per record system and method
US20040243483A1 (en) * 1999-07-30 2004-12-02 Web2Cad Ag Mechanical engineering web portal
IL149414A0 (en) * 1999-11-02 2002-11-10 Clarity Inc E Verbal classification system for the efficient sending and receiving of information
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US7496637B2 (en) * 2000-05-31 2009-02-24 Oracle International Corp. Web service syndication system
US6928051B2 (en) * 2000-12-18 2005-08-09 Intel Corporation Application based bandwidth limiting proxies
CA2331046A1 (en) * 2001-01-15 2002-07-15 Netpcs Networks Inc. Method and system for internet connection and communication management
WO2003005235A1 (en) * 2001-07-04 2003-01-16 Cogisum Intermedia Ag Category based, extensible and interactive system for document retrieval
US7194543B2 (en) * 2001-11-12 2007-03-20 Mci, Llc System and method for creating and managing survivable, service hosting networks
US7853643B1 (en) * 2001-11-21 2010-12-14 Blue Titan Software, Inc. Web services-based computing resource lifecycle management
US6954798B2 (en) * 2002-08-28 2005-10-11 Matsushita Electric Works, Ltd. Content-based routing of data from a provider to a requestor
US7275104B1 (en) * 2003-04-29 2007-09-25 Blue Titan Software, Inc. Web-services-based data logging system including multiple data logging service types
US7831693B2 (en) * 2003-08-18 2010-11-09 Oracle America, Inc. Structured methodology and design patterns for web services
WO2005029377A1 (en) * 2003-09-24 2005-03-31 International Business Machines Corporation Web service contract selection
US7328282B2 (en) * 2003-10-23 2008-02-05 International Business Machines Corporation Aspect oriented web service invocation
US7464142B2 (en) * 2003-12-12 2008-12-09 International Business Machines Corporation Port type agnostic proxy support for web services intermediates
US20060010236A1 (en) * 2004-06-10 2006-01-12 International Business Machines Corporation Usage-based methodology for providing web services
GB2419790B (en) * 2004-10-29 2009-04-08 Hewlett Packard Development Co Asynchronous messaging in web services
US7808904B2 (en) * 2004-11-18 2010-10-05 Fortinet, Inc. Method and apparatus for managing subscriber profiles
US20060200381A1 (en) * 2005-03-04 2006-09-07 Epson America Inc. Epson digital marketing system
US8270293B2 (en) * 2005-12-02 2012-09-18 Panasonic Corporation Systems and methods for efficient electronic communication in a distributed routing environment
US8073929B2 (en) 2005-12-29 2011-12-06 Panasonic Electric Works Co., Ltd. Systems and methods for managing a provider's online status in a distributed network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1145187A (ja) * 1996-10-11 1999-02-16 Sun Microsyst Inc 分散ガーベッジコレクションのためのリソースの管理方法、装置、コンピュータプログラム生産物、コンピュータシステム並びにプラットフォーム間に分散したリソースの割当及び割当解除方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019533250A (ja) * 2016-10-11 2019-11-14 シエン ヴァン ファムPHAM, Thien, Van 装置をペアリングしてアプリケーション要求を用いてタスクを完了するための方法、システム、及び媒体

Also Published As

Publication number Publication date
US20120047198A1 (en) 2012-02-23
RU2412466C2 (ru) 2011-02-20
CN103327067B (zh) 2016-04-27
WO2007074542A1 (en) 2007-07-05
CN101128801A (zh) 2008-02-20
CN103327067A (zh) 2013-09-25
US8626873B2 (en) 2014-01-07
RU2008125159A (ru) 2009-12-27
US8073929B2 (en) 2011-12-06
EP1984816A1 (en) 2008-10-29
KR101058970B1 (ko) 2011-08-23
KR20080078014A (ko) 2008-08-26
US20070156875A1 (en) 2007-07-05
JP4697227B2 (ja) 2011-06-08
EP1984816B1 (en) 2015-07-29

Similar Documents

Publication Publication Date Title
US7502321B2 (en) Optimization of subnetwork bandwidth based on desired subscription rates
JP4412405B2 (ja) ネットワーク内通信用転送処理を選択するためのシステムと方法
KR100970530B1 (ko) 컴퓨터 네트워크 상의 선택식 멀티캐스트 프록시를제공하기 위한 시스템 및 방법
JP4697227B2 (ja) 分散型ネットワークにおいてプロバイダのオンライン状態を管理するためのシステム及び方法
US6954798B2 (en) Content-based routing of data from a provider to a requestor
US8270293B2 (en) Systems and methods for efficient electronic communication in a distributed routing environment
JP4466737B2 (ja) 分散ルーティング環境下でフェイルオーバーを取り扱うシステムと方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110214

R150 Certificate of patent or registration of utility model

Ref document number: 4697227

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees