以下では、類似した参照符号が同一でありまたは機能的に類似した要素を示す図面を参照して、本発明の多様な実施形態を説明する。本発明の実施形態は、ここで図面において一般的に説明され例示されるように、広範囲かつ異なる構成で準備および設計され得る。したがって、図面で表現された本発明のいくつかの例示的実施形態に対する以下のさらに詳細な説明は、請求された本発明の範囲を制限するものではなく、本発明の実施形態を示すだけである。
「例示的」という単語は、ここで排他的に用いられ、「一例、場合、または例示として機能する」ことを意味する。ここで、「例示的」に説明されるいずれの実施形態も、他の実施形態に比べて必ずしも好ましくまたは有用なものと解釈されることはない。実施形態の多様な態様が図示されるが、特に指定されない限り、図面が必ずしも実寸大に描かれるわけではない。
ここで開示された実施形態の多数の特徴が、コンピュータソフトウェア、電子ハードウェア、または両方の組合せで具現され得る。ハードウェアとソフトウェアのこのような交換性を明示的に例示するために、多様なコンポーネントがそれらの機能性の観点から一般的に説明される。そのような機能性が、ハードウェアまたはソフトウェアのどちらで具現されるかは、特定のアプリケーションおよび全体のシステムに与えられた設計制約に依存する。当業者であれば、説明された機能性を、それぞれの特定のアプリケーションのために、多様な方式で具現することができるが、そのような具現判定が、本発明の範囲を外れるものと解釈されてはならない。
説明された機能性がコンピュータソフトウェアとして具現される場合、そのようなソフトウェアは、メモリ装置内に配置された、および/またはシステムバスまたはネットワークを介して電子信号として送信されたコンピュータの指示またはコンピュータで実行可能なコードの任意の類型を含んでもよい。ここで説明されるコンポーネントと関連する機能性を具現するソフトウェアは、単一の指示または多数の指示を有してもよく、数個の異なるコードセグメントにわたって、異なるプログラム間に、そして数個のメモリ装置にわたって分散されてもよい。
ここで用いられるように、「コンピュータ装置」という用語は、通常的に算術または論理演算を行うプロセッサを有する電子装置の任意の類型を意味する。コンピュータ装置は、メモリ(例えば、ランダム・アクセス・メモリ(RAM)、フラッシュメモリ、および/またはハードディスク記憶装置)を含んでもよい。コンピュータ装置は、メモリに保存された指示を処理することができる。コンピュータ装置は、選択的に、他の装置と通信するための通信インターフェース(例えば、ネットワークカードまたはモデム)、ユーザ入力を受信するための入力(例えば、キーボード、タッチパッド、またはマウス)、またはユーザに情報を提供するための出力(例えば、オーディオ出力またはディスプレイスクリーン)のような、他のコンポーネントを含んでもよい。追加的に、コンピュータ装置が、デスクトップコンピュータ、サーバー、タブレット型パソコン、ノート型パソコン、携帯情報端末(PDA)、携帯電話、または埋め込み装置のような、装置の異なる類型として実施されてもよいことに注意しなければならない。
図1は、制御/モニタリングシステム100の一実施形態を例示するブロック図である。システム100は、ネットワーク118を介して電子通信するリクエスタ装置102および多数のプロバイダ装置110a−gを含む。プロバイダ装置110は、リクエスタ装置102からのリクエスト130に応答して、状態データ120を提供する。また、システム100は、状態データ120を視聴し、および/またはプロバイダ装置110を制御するのに用いられるコンピュータシステム140を含む。リクエスタ装置102、プロバイダ装置110、およびコンピュータシステム140a−bは、多様な位置(例えば、位置A150a、位置B150b、位置C150c、および位置D150d)に配置されてもよく、ネットワーク118または他の通信チャンネルを介して互いに電子通信を行うことができる。
プロバイダ装置110は、リクエスタ装置102により要請される状態データ120を保存する。状態データ120は、揮発性(例えば、RAM)または不揮発性メモリ(例えば、ハードディスク記憶装置)に保存されてもよい。データ120は、多数の方式で実施され得る。例えば、状態データ120は、プロバイダ装置110の動作状態または条件に関するデータを含んでいてもよい。他の方法で、状態データ120は、プロバイダ装置110によりモニタされるシステムまたは構成要素の状態または条件を含んでもよい。より具体的な一例として、プロバイダ装置110は、超音波心エコー図装置であってもよく、状態データ120は、モニタされる患者の心拍数を識別することができる。したがって、プロバイダ装置110は、状態データ120、すなわち、リクエスタ装置または任意のモニタされるシステムや構成要素の状態に関するデータを保存する任意の装置である。
リクエスタ装置102は、プロバイダ装置110にリクエストを送信可能な任意のコンピュータ装置である。リクエスタ装置102は、一連の別途のコンポーネントまたはコンピュータ装置を含んでもよい。例えば、リクエスタ装置は、リクエスト130を送信するための第1のコンピュータ装置、状態データ120を受信するための第2のコンピュータ装置、および受信された状態データ120を保存するための第3のコンピュータ装置を含んでもよい。
一実施形態において、リクエスタ装置102は、データベース103、状態検索コンポーネント104、および制御コンポーネント105を含んでもよい。データベース103は、プロバイダ装置110から受信された状態データ120を保存して編成するのに用いられ得る。
状態検索コンポーネント104は、状態データ120のためのリクエスト130の送信を制御することができる。状態検索コンポーネント104はさらに、状態データ120をデータベース103に保存する前に、状態データ120の受信および受信された状態データ120の処理を制御することもできる。
選択的な制御コンポーネント105が、プロバイダ装置110を制御するのに用いられ得る。より具体的に、制御コンポーネント105は、制御命令をプロバイダ装置110に送信するのに用いられ得る。
開示された二つのコンピュータシステム140a−bは、状態データ120を視聴するのに、および/またはプロバイダ装置110を制御するのに用いられる任意のコンピュータ装置(例えば、携帯情報端末(PDA)またはラップトップコンピュータ)を備えてもよい。コンピュータシステム140a−bは、リクエスタ装置102または一つ以上のプロバイダ装置110と区別または統合され得る。
コンピュータシステム140a−bは、状態視聴コンポーネント141a−bおよび制御コンポーネント142a−bを含んでもよい。視聴コンポーネント141は、リクエスタ装置102のデータベース103に保存されたデータ120を検索して視聴するのに用いられ得る。制御コンポーネント142は、例えば、制御命令をプロバイダ装置110に直接送信し、または命令をリクエスタ装置102に送信するのに用いられ、リクエスタ装置102は、次に、同一または対応する制御命令を一つ以上のプロバイダ装置110に送信することができる。
図1に示されたシステム100は、特定のビル、工場、施設、国、または世界にわたって配置された多様な場所のような、遠隔位置から状態データ120を収集することを可能にする。さらに、開示されたシステム100は、プロバイダ装置110の遠隔管理を可能にすることができる。一実施形態において、プロバイダ装置110は、埋め込みコンピュータ装置であってよい。埋め込みコンピュータ装置は、装置により処理されるプログラミング命令の多数または全部が読み出し専用メモリに保存されるコンピュータ装置である。
ネットワーク118は、例えば、リクエスタ装置102とプロバイダ装置110との間でデータが送信される通信チャンネルである。ネットワーク118は、多様な方式で実施され得る。例えば、ネットワーク118は、ローカル・エリア・ネットワーク(LAN)、ストレージ・エリア・ネットワーク(SAN)、メトロポリタン・エリア・ネットワーク(MAN)、広域ネットワーク(WAN)、またはその組合せ(例えば、インターネット)を含んでもよく、リクエスタ装置102とプロバイダ装置110が、同一の物理的位置150、同一のネットワーク118セグメント内、さらには、同一のネットワーク118内に存在することを要求しない。イーサネット(登録商標)、TCP/IP、UDP/IP、IEEE802.11、IEEE802.16、ブルートゥース、非同期転送モード(ATM)、光ファイバー分散データインタフェース(FDDI)、トークンリング、ワイヤレスネットワーク(例えば、802.11gまたは無線電話/データネットワーク)、独自的な方式、およびそれに関する組合せを含む、多様かつ異なるネットワーク構成とプロトコルが用いられ得る。勿論、一部の実施形態は、通常「ネットワーク」として見られないこともある、ESCON(enterprise systems connection)、小型コンピュータ用周辺機器インターフェース(SCSI)、ファイバチャンネル等のような、伝統的なポイントツーポイント接続として実施されてもよい。ネットワーク118は、一実施形態において、日本国大阪の松下電工株式会社により生産された埋め込み装置ネットワークを備えてもよい。埋め込み装置ネットワークは、要請者、提供者、およびネットワーク障害が発生したとき、通信チャンネルの速い再ルーティングを許容する仲介ノードの分散ネットワークを具備する。
開示されたシステム100は、図1に示す方式以外の多様な方式で実施され得る。例えば、一実施形態において、プロバイダ装置110の制御に関連したコンポーネント105、142は省略され、それにより、システム100は、(例えば、図3に示される)モニタリングシステムとなる。さらに、開示されたシステム100は、単一の位置に配置されまたは任意数の遠隔位置150b−cに配置された、多数のリクエスタ装置102および任意数のコンピュータシステム140a−bまたはプロバイダ装置110を含んでもよい。
図2は、家庭201内に設けられた制御/モニタリングシステム200の一実施形態を例示する。図示された家庭201は、自動車210aを収容するガレージ206a、寝室206b、入口の通路206c、ユーティリティルーム206d、居間206e、および作業室206fを含む。図2は、家庭201の1階を示す。簡略化のために、2階または他の階は示していない。
図2に示す家庭201は、当然、例示に過ぎない。制御/モニタリングシステム200は、オフィスビル、アパート団地、近郊、都市、地方、または多様な国々のような、多様な環境において用いられ得る。
図2に示すように、リクエスタ装置202は、データベース203、状態検索コンポーネント204、および制御コンポーネント205を含む。これらの項目203、204、205は、図1に示すものと同一の機能を行う。例示された実施形態において、状態データ220のためのリクエスト230が、リクエスタ装置202によりプロバイダ装置210のいずれかに送信される。これに応答して、状態データ220が適切なプロバイダ装置210からリクエスタ装置202に送信される。
図2は、プロバイダ装置210の多数の異なる例示的類型を例示する。特に、図2は、自動車210a、携帯音楽プレーヤー210b、電話システム210c、暖炉210d、火災警報システム210e、自動散水機システム210f、健康モニタ210g、オーディオシステム210h、冷蔵庫210i、オーブン210j、保安システム210k、ファクス210l、照明システム210m、および空調装置210nを例示する。
このプロバイダ装置210のそれぞれは、リクエスタ装置202により検索および保存される状態データ220を保有するコンピュータ装置を含んでもよい。例えば、自動車210aからの状態データ220は、潜在的な維持補修または誤動作に関するデータを含んでもよい。健康モニター210gのための状態データ220は、心拍数および呼吸数を含んでもよい。冷蔵庫210jからの状態データは、例えば、RFID(電波方式認識)技術を用いて、所定の食品がそこにどの程度長い間保存されていたかを示すことができる。照明システム210mのための状態データ220は、どの光が現在ついているかを示すことができる。電話機システム210cのための状態データ220は、いつ音声メッセージが受信され、検索されなかったかを示すことができる。勿論、状態データの前記類型は、例示に過ぎない。
上述したように、ここで開示されたシステム200は、多様な方式で実施され得る。例えば、モニタ/制御システム200は、病院内で多様な類型の医療モニタ装置から状態データを収集するのに利用され得る。開示されたシステム200は、風、温度、および降水量情報のような、天候データを収集するためのフィールド装置を遠隔的にモニタするのに用いられ得る。それは、工場で、工場内の多様な機械の状態をモニタするのに用いられ得る。開示されたシステム200が用いられる他の方式は、ここに開示されたもの以外に多数ある。
図3は、モニタリングシステム300の一実施形態を例示する。システム300は、リクエスタ装置302、プロバイダ装置310、およびネットワーク318を含む。簡略化のために、状態データを視聴するための(図1に示す)コンピュータシステム140が、図3には別に示されていないが、リクエスタ装置302は、そのようなコンピュータシステム140と統合されてもよい。
上述のように、リクエスタ装置302は、状態検索コンポーネント304、インターフェース定義311a、およびデータベース303を含んでもよい。データベース303は、一つ以上のプロバイダ装置310に関連した状態データ320を保存する。状態検索コンポーネント304は、プロバイダ装置310からの状態データを要請し、受信するのに用いられる。状態検索コンポーネント304は、これらの機能を行うのに必要なハードウェアおよび/またはソフトウェアを含んでもよい。例えば、状態検索コンポーネント304は、リクエスト330を送信し、状態データ320を受信するためのネットワーク通信コンポーネント、ソフトウェア、および/またはファームウエアを含んでもよい。
リクエスタ装置302は、インターフェース定義311aを含んでもよい。インターフェース定義311aは、識別子360a、インターフェース名362、および多様な変数名364a−eとデータ類型366a−eを含む。識別子360aは、それらの対応する類型366(インターフェース定義311a)を有する変数364の特定セットを固有に識別するコードまたは名前であり、リクエスタ装置302およびプロバイダ装置310により、変数および類型の完全なセットの代りに用いられ得る。識別子360aは、例えば、固有の一連の2進または16進数字として表現され得る。ライン文字「|」は、この出願の図面においてデータフィールド間の分離を示すのに用いられる。
インターフェース名362は、消費者がプロバイダ装置310を参照できるプロバイダ装置310の名前である。したがって、インターフェース名362は、一連のストリング文字であってもよい。
変数名364は、プロバイダ装置310により保存された変数が参照され得る名前または識別子である。それぞれのデータ類型366は、データ類型に先行する変数名364により参照される変数のデータ類型を定義する。データ類型366は、多数の方式(例えば、整数、ストリング、日付または時間フォーマット、通貨値、アレイ、長い整数、または倍精度数)に具現され、ユーザ定義データ型(例えば、曜日または温度)を含んでもよい。
インターフェース定義311aは、ネットワーク318を介して、携帯用記憶装置(例えば、CD−ROM、フラッシュメモリドライブ、またはプロッピーディスク)からリクエスタ装置302に送信するか、プロバイダ装置310からリクエスタ装置302に送信することができる。上述したように、ネットワーク318は、多様な方式で実施され得、リクエスタ装置302とプロバイダ装置310との間でデータを送信するのに用いられる。次に説明されるように、インターフェース定義311aは、リクエスタ装置302およびプロバイダ装置310により交換されるデータのための標準通信プロトコルおよびフォーマットを定義するのに用いられる。
プロバイダ装置310は、図3に示すように、インターフェース定義311b、リクエスト処理コンポーネント312、および比較コンポーネント313も含んでもよい。プロバイダ装置310のインターフェース定義311bは、リクエスタ装置302により用いられるインターフェース定義311aと同一である。このような標準インターフェース定義311aを用いることが、リクエスタ装置302とプロバイダ装置310との間でのデータ交換を容易にする。リクエスト処理コンポーネント312は、リクエスタ装置302から受信されたリクエスト330を処理する。比較コンポーネント313は、リクエスタ装置302から受信された変数364の直前値368を、プロバイダ装置310により保存されたその変数364の現在値370と比較する。
システム300により行われるモニタリングプロセスは、リクエスタ装置302からのリクエスト330により開始される。リクエスト330は、インターフェース識別子360a、装置識別子360b、日付/時間フィールド372a、リクエストマップ374、および、場合に応じて、一つ以上の直前値368を含んでもよい。識別子360bは、プロバイダ装置310と関連する固有の識別子である。選択的な日付/時間フィールド372aは、直前値368と関連する日付および/または時間(例えば、直前値がプロバイダ装置310により収集された、および/またはプロバイダ装置310に保存されたおおよその時点)を識別する。
直前値368は、プロバイダ装置310から先に検索された状態データ320を含む。直前値368中の一つ以上は、例えば、リクエスタ装置302が当該変数のための直前値368を有していないか、当該変数364のための現在値370を要請していなければ、ヌル値であってもよい。この出願で用いられるように、ヌル値は、所定の文字またはコードであり、または適切なフィールドまたは直前値のためのデータが単純に脱落しているものでもよい(例えば、リクエストデータは、すべてのフィールドのためのデータが提供される前に、指定された終端文字で終了する)。一実施形態において、リクエストまたは状態データ330、320のヌル値は、リクエストまたは状態マップ374、375により示される。例えば、個々のマップ374、375において、ヌル値は、0として示され得る。
リクエストマップ374は、どんな変数が要請されるかを識別し、図4乃至図7に関連させてより詳細に説明される。直前値368は、インターフェース定義311aで記述された変数/データ類型364/366と同一の順序に配列される。このように、リクエスト330は、(例えば、インターフェース定義311aを参照して定義された)所定のフォーマット376aに編成され、それにより、プロバイダ装置310は、リクエスト330を正確に解釈する。
所定のフォーマット376aは、多様な方式で編成され得る。例えば、リクエスト330がプロバイダ装置310にのみ送信されると、識別子360bは、脱落することがあり得る。さらに、リクエスト330フィールドの手順が再配列され、所定の場合には、日付/時間フィールド372a、リクエストマップ374、および直前値368が脱落されることもあり得る。一実施形態では、リクエストマップフィールドおよび/または直前値フィールドにヌル値を含ませることが、すべての変数364のための現在値370が要請されることを示す。
一実施形態では、リクエスト330がプロバイダ装置310により受信されるとき、リクエスト処理コンポーネント312を用いて、識別された変数364のための現在値が判定または識別される。リクエスト処理コンポーネント312は、インターフェース定義311bを用いて、どのデータが特定の直前値368またはリクエストマップ374と関連するかを識別するように、受信されたリクエスト330を解釈する。
一実施形態において、次に、比較コンポーネント313は、受信された直前値368が適切な変数364のための現在値370と異なるか否かを判定する。そのような実施形態において、プロバイダ装置310は、変更された変数、すなわち、現在値370が受信された直前値368と異なる変数364のための現在値370のみを返すように構成され得る。
状態データ320は、インターフェース定義311bに基づいた所定のフォーマット376bで、リクエスタ装置302に返される。例示された所定のフォーマット376bは、インターフェース識別子360a、装置識別子360b、識別子360c、日付/時間フィールド372b、変数マップ375、および多様な現在値370を含む。上述したように、識別子360cは、プロバイダ装置310と関連する固有のコードまたは名前である。日付/時間フィールド372bは、状態データ320に含まれた現在値370と関連する日付および/または時間を示す。変数マップ375は、どの現在値370がリクエスタ装置302に送信されるかを示す。示されたように、一実施形態では、要請された、また直前値368とは異なる現在値のみが状態データ320に含まれる。
状態データ320の受信に続いて、このデータ320は、データベース303に保存され、状態データ320の履歴378にコンパイルされるか、または追加され得る。他の方法で、または状態データのデータベース303への保存と共に、状態データ320は、視聴のために(図1に示す)コンピュータシステム140に伝達することができる。
開示されたシステム300は、多数の異なる方式で実施され得る。例えば、状態およびリクエストデータ320、330は、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)のような、一つ以上の多様なネットワークプロトコルによりフォーマットされ得る。データ320/リクエスト330を送信するのに用いられるプロトコル(TCP/IP等)、またはデータ320/リクエスト330自体は、リクエスト330と状態データ320を結びつける能力を含まなければならず、それにより、リクエスタ装置302およびプロバイダ装置310は、データ320およびリクエスト330を適切な順序で処理することができる。また、データ320、330は、多様な方式で暗号化または符号化され得る。さらに、リクエストおよび状態データ320の多様なフィールドとリクエスト330は、異なる順序に配置され、または脱落され得る。例えば、識別子360cは、脱落され得る。識別子360aは、一実施形態において、状態データ320がリクエスタ装置302またはプロバイダ装置310から他の装置に送信される場合にのみ必要となり得る。インターフェース名362は、インターフェース定義311a−bから脱落され得る。
リクエスト330と対応する状態データ320の例示的実施形態は、以下を含む:(1)他のフィールド無しに、インターフェース識別子360bを有するリクエスト330は、プロバイダ装置310が、識別子360c、日付/時間値372b、すべて1である変数マップ375、およびプロバイダ装置310のためのすべての現在値370を有する状態データ320(例えば、完全なスナップショット)を送信しなければならないことを示し;(2)直前値368無しに、識別子360bおよびリクエストマップ374に選択された1を有するリクエスト330は、プロバイダ装置310が識別子360c、日付/時間値372b、リクエスト330から送信された1と整合する変数マップ375、および変数マップ375により判定される選択された現在値370を有する状態データ320(例えば、部分的なスナップショット)を送信しなければならないことを示し;(3)識別子360bと一部の1および整合する数の直前値368を有するリクエストマップ374を有するリクエスト330は、プロバイダ装置310が、識別子360c、日付/時間値372b、変更された値を有する変数364のためにのみ、1を有する変数マップ375、およびリクエストマップ374により示される要請された変数364のためには、変更された現在値370を有する状態データ320(例えば、部分的な比較スナップショット)を送信しなければならないことを示し;(4)識別子360b、すべてが1であるマップ374、およびすべての直前値368を有するリクエスト330は、プロバイダ装置310が、識別子360c、日付/時間値372b、変更された変数のためにのみ、1を有する変数マップ375、および変更された現在値370を有する状態データ320(例えば、完全な比較スナップショット)を送信しなければならないことを示す。また、一実施形態では、日付/時間フィールド372bが所定のリクエスト330において要求されない。例示的リクエスト1および2は、リクエスト処理コンポーネント312は用いることができるが、比較コンポーネント313は用いることができない。例示的リクエスト3および4は、処理コンポーネント312と比較コンポーネント313のすべてを用いることができる。例示的な前記リクエスト330と状態データ320は、単に例示的実施形態であるだけで、開示されたシステムおよび方法の範囲内に含まれるリクエスト330、状態データ320、またはリクエストおよびプロバイダ装置302、310の類型を制限しない。
図4、図5、および図6は、リクエスト430、530、630の多様な類型の実施形態を例示する図表である一方、図7は、状態データ720の実施形態を例示する図表である。特に図4を参照すると、例示的識別子460bおよび日付/時間値472aが示される。また、例示的リクエストマップ474aも示される。上述されたように、リクエストマップ474aは、現在値が要請される変数を識別する。例示された実施形態において、リクエストマップ474aは、一連のビットである。それぞれのビットは、インターフェース定義311で識別された変数364に対応する。したがって、図4に示すマップ474aと関連するインターフェース定義は、5個の変数364を含むが、これはマップ474aに5個のビット値が存在するからである。リクエストマップ474aでのビットの順序は、インターフェース定義311での変数364の順序に対応する。したがって、第1のビットは、インターフェース定義311の変数A364aに対応し、第2のビットは、インターフェース定義311の変数B364bに対応する方式である。他の方法では、一連のビットとインターフェース定義311の変数364との間の逆順対応関係のような、他の順序化システムが用いられ得る。
例示された実施形態において、「1」のビット値は、識別された変数364のための現在値370が要請されることを示す。「0」の存在は、対応する現在値370が要請されないことを示す。勿論、反対であってもよいが、言い換えれば、「0」は、特定値が要請されることを示すことができ、「1」は、値370が要請されないことを示すこともできる。さらに、マップ474aは、2進数ではなく、16進数または異なる数字の類型に変換され得る。図4に示すリクエストマップ474a「11111」は、適切なすべての変数364のための現在値370が要請されることを示す。さらに、適切なすべての変数364のための直前値468がリクエスト430に提供される。この直前値468は、プロバイダ装置310により受信されるとき、対応する変数のための現在値370と比較され得る。他の実施形態において、リクエストマップ474aは、省略することができ、(ヌル値のような)所定値が、値が要請されていないことを示すものとして用いられ得る。また他の実施形態において、リクエストマップ474aは、現在値770のすべてが要請されることを示しながら省略され得る。
図5を参照すると、同様に識別子560bおよび日付/時間値572aがリクエスト530に含まれている。リクエスト530と関連して、例示されたリクエストマップ「10101」は、変数A、C、およびE;364a、364c、364eのための現在値370a、370c、370eのみが要請されることを示すが、これは第1、第3、および第5の位置のビットのみが1であるからである。第2および第4のビット位置の0は、関連するインターフェース定義311の変数BおよびD;364b、364dのための現在値370b、370dは、要請されないことを示す。
図6は、リクエスト630の他の実施形態を例示する。このリクエスト630は、プロバイダ装置310のための固有の識別子680bを含む。しかし、日付/時間値672aおよび直前値668a−bは、「ヌル値」である。上述のように、ヌル値は、「ヌル」コードとして指定されたコードにより識別され得、または、他の方法では、対応するフィールド空間内に配置されるデータの不在(例えば、適切なデータフィールドのためのデータに到達する前に、リクエスト終決コードが発見されること)によって識別され得る。「ヌル」値は、リクエスタ装置302が(ユーザの要請に応じて)、このデータを提供しないことと判定され、または単純にリクエスタ装置302が適切なフィールドに含まれるデータを有していなかったことを示すことができる。例えば、リクエスト630がプロバイダ装置310に送信された第1のリクエストであれば、リクエスタ装置302は、直前値668を有していないこともある。図6に示すリクエストマップ674aは、インターフェース定義311の変数AおよびB;364a、364bのための現在値が要請されることを示す。
図4、図5、および図6に示す以外に、リクエスト630の異なる多数の他の実施形態が可能である。例えば、一実施形態では、例えば、識別子680bを除くすべてのフィールドがヌルであってもよい。そのような場合、プロバイダ装置310は、リクエストのこの類型をプロバイダ装置310により保存されたすべての変数364の現在値370のためのリクエスト630と解釈するように構成され得る。他の方法で、一つのプロバイダ装置310のみがリクエスタ装置302に連結されると、識別子680bはヌルであってもよい。さらに、開示されたシステムおよび方法の範囲内で変数の異なる多数の類型が可能である。また、変数マップは、異なる多数の方式で実施され得る。
図7は、状態データ720の実施形態を例示する図表である。識別子760cが例示された状態データ720に含まれている。指示されたように、識別子760cは、一つのプロバイダ装置310のみがリクエスタ装置302に連結されると、不要なこともあり得る。日付/時間値772bは、状態データ720に含まれた現在値770と関連する日付および/または時間を示す。
例示された実施形態の変数マップ774bは、図4乃至図6に示すリクエストマップ674aと類似した方式でフォーマットされる。言い換えれば、それぞれのビットがインターフェース定義311の特定の変数364と関連する。ビットの順序もまたインターフェース定義311内の変数364の順序に対応する。したがって、図7に示す変数マップ774bは、変数A、D、およびE;364a、364c、364eのための現在値770a、770c、770eが状態データ720に含まれていることを示す。
多数の異なる場面により適切な状態データ720が発生し得る。例えば、変数A、D、およびE;364a、364c、364eのための現在値770a、770c、770eが要請されたかもしれない。他の一例として、適切な変数364のすべてのための状態データが要請されたが、変数A、C、およびE;364a、364c、364eのみが直前値668と関連して変更されたので、このような類型の状態データ720が発生されたかもしれない。
勿論、状態データ720は、開示されたシステムおよび方法の範囲内で多様な方式で実施され得る。変数364の数は、例えば、変更され得る。変数364のそれぞれのデータ類型も、多数の異なる方式で実施され得る。フィールドおよび変数364の順序も修正され得る。また、変数マップも、状態リクエスト720から提供される現在値770を識別するという目的を実現するために、多様な方式で構成され得る。
図8は、モニタリングシステム800の代替実施形態を例示する。例示されたシステム800は、ネットワーク818を介して電子通信するプロバイダ装置810および二つのリクエスタ装置802a−bを含む。簡略化のために、プロバイダ装置のインターフェース定義311b、リクエスト処理コンポーネント312、および比較コンポーネント313は省略する。同様に、状態検索コンポーネント304およびインターフェース定義311は、これもまた簡略化のために、リクエスタ装置802a−bに示されていない。しかし、図8には、各リクエスタ装置802a−bのためのデータベース803a−bが示されている。上述のように、プロバイダ装置810は、リクエスタ装置802から受信されるリクエスト830a−bに応答してリクエスタ装置802a−bに状態データ820a−bを提供する。
第1リクエスタ装置802aは、第1のデータベース803aに示された状態データ820の時間/日付値により指示されるように、5秒毎に状態データ820を要請した。それに比べて、第2のデータベース803bは、第2のデータベース803bに示された状態データ820の日付/時間値により示されるように、約1時間に1回ずつのみ状態データ820を要請した。
図8は、開示されたシステムおよび方法の効率性を例示して強調する。システム800は、プロバイダ装置810というよりは、リクエスタ装置802からのリクエスト830により駆動される。したがって、(その情報が所望され利用されるか否かに拘わらず)プロバイダ装置810から連続してデータを送信するよりは、リクエストに回答してのみ状態データ820を送信することが、不要なネットワークトラフィックを最小化する。このことは、(1000個の装置のような)相当な数の装置がネットワーク818に連結されると、極めて重要になり得る。状態データ820を極めて短い時間間隔で送信することも、ネットワーク818を過負荷とすることがあり得る。したがって、開示されたシステム800は、不要なネットワークトラフィックを最小化する。現在値が変更されないこともあるので、より少ない現在値770aのみが含まれればよく、状態データ820は、通常、リクエスト830よりも小さい(または小さいことがある)。
また、システム800は、プロバイダ装置810の複雑度を最小化する。プロバイダ装置810は、それが多数の異なるリクエスタ装置802のために、状態データ820を保存することが要求されないので、最小のコンポーネントのみを要求する。かえって、この状態データ820は、リクエスタ装置802に保存される。さらに、プロバイダ装置810は、いつ状態データ820がリクエスタ装置802に送信されなければならないかについての判定が要求されない。受信された第1のリクエストは処理され、状態データ82は、リクエスタ装置802に送信される。プロバイダ装置810は、状態データ820のための多数のリクエスト830のタイミングをハンドリングするための複雑なアルゴリズムや処理能力を必要としない。
勿論、開示されたシステム800は、多数の異なる方式で構成され得る。例えば、(例示された二つの(802a−bよりも多い)多数の異なるリクエスタ装置802が特定のプロバイダ装置810からの状態データ820を要請することができる。さらに、リクエスタ装置802は、図9と関連して後述するように、一つ以上のプロバイダ装置810からの状態データを要請することもある。
図9は、モニタリングシステム900の他の実施形態を例示する。図9のモニタリングシステム900は、2個のプロバイダ装置910a−bと単一のリクエスタ装置902を含む。簡略化のために、プロバイダ装置910のインターフェース定義311、リクエスト処理コンポーネント312、および比較コンポーネント313は省略する。同様に、状態検索コンポーネント304もまた、簡略化のために、リクエスタ装置902に示されていない。しかし、リクエスタ装置902のためのデータベース903および各プロバイダ装置910a−bのためのインターフェース定義911a−bは、例示される。
例示された実施形態では、個別リクエスト930a−bがプロバイダ装置910a−bのそれぞれに送信される。これに応答して、状態データ920a−bがネットワーク918を介してリクエスタ装置902に提供される。
描写されたデータベースは二つの状態履歴978a−bを含む。第1の状態履歴978aは、第1のプロバイダ装置910aに対応し、第2の状態履歴978bは、第2のプロバイダ装置910bに対応する。上述のように、リクエスタ装置902を用いて状態履歴978を追跡することは、プロバイダ装置の簡略化の点で、相当な利点を提供する。開示されたプロバイダ装置910a−bは、状態履歴978を保存することなく、個別リクエスト930を処理さえすればよい。簡略化されたこの構成は、プロバイダ装置910の複雑度のみならず、消費者に対するその費用も大きく減少させることができる。
上述のように、開示されたシステム900は、多数の異なる方式で実施され得る。例えば、リクエスタ装置902は、単に二つのプロバイダ装置910a−bではなく、多数の異なるプロバイダ装置910からのデータを要請することができる。さらに、図8と図9の組み合わせにより提示されるように、モニタリングシステム900は、多数のプロバイダ装置910からの状態データ920を要請するリクエスタ装置902を含むことができ、プロバイダ装置は、多数のリクエスタ装置902にデータを提供することができる。さらに、個別のデータベース903が各プロバイダ装置910からの状態データ920を保存するのに用いられ得る。
図10は、モニタリングシステム1000の他の実施形態を例示する。特に、図10のシステム1000は、リクエスト1030および状態データ1020のための他のフォーマットの一実施形態を用いる。上述のように、リクエスタ装置1002は、状態検索コンポーネント1004、インターフェース定義1011a、およびデータベース1003を含んでもよい。図10に示されたインターフェース定義1011aは、図3に示されたインターフェース定義311aと同一であってもよい。同様に、プロバイダ装置1010も、インターフェース定義1011b、リクエスト処理コンポーネント1012、および比較コンポーネント1013を含んでもよい。このコンポーネント1011b、1012、1013は、リクエスト1030および状態データ1020のために、異なる所定のフォーマット1076a−bが用いられることを除けば、図3と関連して開示された関連コンポーネント311b、312、313と類似した方式で動作する。上述のように、状態データ1020は、リクエスタ装置1002からのリクエスト1030の受信に応答し、リクエスタ装置1002に送信される。
例示された実施形態において、リクエスト1030は、図3に示されたリクエスト330のように、識別子1060bおよび日付/時間フィールド1072aを含む。しかし、リクエストマップ1074は異なる。特に、リクエストマップ1074は、データの不連続なセットである。代わりに、マップ1074は、適切な直前値1068の直前に、データの分散セグメント、フィールドを含む。例えば、(インターフェース定義1011aの変数A;1064aに対応する)リクエストマップ1074aの部分Aは、伴われる変数が直前値A;1068aであることを示す整数(例えば、整数「1」)であってもよい。したがって、リクエストマップ1074の各部は、それに伴われる直前値1068を識別する(リクエストマップ1074の「部分」として指定された)値の識別子を具備する。図10に例示されたように、例示されたリクエスト1030では、変数A、B、およびE;1064a、1064b、1064eのための現在値1070が要請される。この変数1064のそれぞれのための直前値も、リクエスト1030内に含まれる。例示されたリクエストは、上述のように、所定のフォーマット1076aによりフォーマットされる。
状態データ1020も、同様にフォーマットされ、現在値1070と関連する識別子1060cおよび日付/時間フィールド1072bを含む。変数マップ1075は、図10のリクエストマップ1074のように、不連続的なデータを含む。変数マップ1075の部分A;1075aは、伴われる現在値、すなわち、変数A;1064aに対応する現在値A;1070aを識別する。変数マップ1075の部分B;1075bは、伴われる現在値を変数B;1064bのための現在値B;1070bとして識別する。例示された実施形態では、変数AおよびB;1064a−bのための現在値1070a−bのみが返されるが、これは変数E;1064eの現在値1070eと直前値1068eは、同一であったからである。したがって、変数AおよびB;1064a−bは、変更された変数であった。図10に示された状態データ1020は、上述された所定のフォーマット1076bによりフォーマットされる。
図11および図12は、図10の所定のフォーマット1076aを用いるリクエスト1130、1230の実施形態を例示する図表である。これに対して、図13は、図10の所定のフォーマット1076bを用いる状態データ1320の実施形態を例示する図表である。図11を参照すると、例示されたリクエスト1130は、固有の識別子1160bおよび日付/時間フィールド1172aを含む。図11はさらに、不連続的なリクエストマップ1174b、1174c、1174eを例示する。リクエストマップ1174の部分B;1174bと関連する「2」は、後続データがインターフェース定義1011の第2の変数である変数B;1064bのための直前値1168bとなることを示す。リクエストマップ1174の部分C;1174cと関連する「3」は、後続値が変数C;1064cのための直前値1168cとなることを示す方式である。したがって、図11に示された実施形態では、変数B、C、およびE;1064b、1064c、1064eのための現在値1070が要請される。また、この変数1064b、1064c、1064eのそれぞれのための直前値1168b、1168c、1168eが提供される。
勿論、開示されたリクエストマップ1174は、他の方式で実施され得る。例えば、適切なインターフェース定義1011のために対応する変数1064の文字(例えば、A、B、C)のためのASCIIコードが用いられ得るように、伴われる値を識別するために、他の技術が用いられ得る。
図12を参照すると、リクエスト1230の他の実施形態が例示される。この実施形態には、識別子1260bのみが含まれている。日付/時間値1272aは、ヌル値を含む。このリクエストのための残りのフィールドは、(例えば、そのフィールドでのリクエスト終端コードまたはヌル値の結果として)ヌルであるが、図12に例示されていない。一実施形態において、そのようなリクエスト1230は、プロバイダ装置1010により保存されたすべての変数1064のために、現在値1070を提供するためのリクエストとして解釈され得る。
図13を参照すると、図10に示された所定のフォーマット1076bの状態データ1320の実施形態が例示される。また、(省略され得る)識別子1360cおよび日付/時間値1372bが含まれている。例示された実施形態では、変数AおよびC;1064a、1064cのための現在値1370a、1370cが提供される。プロバイダ装置1010により保存されたすべての変数1064のための現在値1370が、リクエスタ装置1002に送信されてはいない(例えば、少なくとも変数Bのための現在値は、送信されなかった)。これは、変数AおよびC;1064a、1064cのみのための現在値1370a、1370cのリクエストの結果であり得る。他の方法で、一実施形態では、これが、より多くの変数1064のためのリクエスト1230の結果であってもよいが、変数AおよびC;1064a、1064cのみがリクエスト1230により提供される直前値1168と異なっていた。
図13に示された状態データ1320は、一例に過ぎないことが理解されなければならない。任意数の変数1064が、プロバイダ装置1010により保存され得る。プロバイダ装置1010により保存されたすべての変数1064がリクエスタ装置1002に送信され得る。上述のように、開示された変数マップ1075の範囲内で、ナンバリングまたはレタリングの多様なシステムまたは方式が、伴われる現在値1070を示すのに用いられ得る。
図14は、リクエスタ装置1002に現在の状態データ1320を提供するための方法1400の一実施形態の流れ図である。リクエスト1230が、リクエスタ装置1002からプロバイダ装置1010に送信される1402。リクエストは、例えば、図3乃至図6および図10乃至図12と関連して説明されたようにフォーマットされ得る。
リクエストは、リクエスタ装置1002に保存された変数1064の直前値1168を含む。直前値は、一実施形態において、リクエスタ装置がプロバイダ装置から先に受信された状態データを全く有していない場合であり得るように、ヌル値であってもよい。他の方法で、直前値は、例えば、数字、日付、温度、金額、心拍数、呼吸数、または測定可能な値の他の任意の類型であってもよい。
プロバイダ装置でのリクエスト受信に応答して、受信された直前値は、プロバイダ装置に保存された変数の現在値1370と比較される1404。その後、変更された変数が識別される1406。変更された変数は、直前値が現在値とは異なる変数を含む。
その後、変更された変数を識別する変数マップが作成される1408。変数マップは、図3および図7と関連して説明されたように、一連のビットのような、多様な方式で実施され得る。そのような実施形態において、それぞれのビットは、プロバイダ装置により保存された変数に対応する。一つのビット値(例えば、「1」)は、対応する値が変更されたことを示し、他のビット値(例えば、「0」)は、値が変更されなかったことを示す。勿論、図10および図13と関連して例示されて説明されたような、変数マップ1375の他の構成も可能である。
その後、変更された変数のための現在値と変数マップは、所定のフォーマット376b、1076bに編成され1410、状態データ1320を形成する。所定のフォーマット1076は、図3および図10に示された所定のフォーマット376b、1076bのような、多様な方式で実施され得る。
その後、状態データは、リクエスタ装置1002に送信される1412。次に、状態データは、データベース1003に保存され、状態履歴1078を形成することができる。
状態データは、リクエスタ装置により一定の間隔で要請され得る。多数のリクエスタ装置が単一のプロバイダ装置からのデータを要請することもでき、単一のリクエスタ装置が多数のプロバイダ装置からの状態データを受信することもできる。したがって、保存および処理能力の大部分はリクエスタ装置に存在し、それにより、プロバイダ装置は、リクエスタ装置に状態データを提供するために、相当な処理能力およびメモリを要求しない。したがって、状態データを提供することに関連したプロバイダ装置の態様は、簡単であり、また、費用が最小限で済む。
図15は、リクエストまたはプロバイダ装置1501において通常用いられる主要ハードウェアコンポーネントを例示するブロック図である。例示されたコンポーネントは、同一の物理構造内にまたは個別のハウジングや構造に配置され得る。
装置1501は、プロセッサ1503およびメモリ1505を含む。プロセッサ1503は、装置1501の動作を制御し、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、または当該技術で公知の他の装置で実施され得る。プロセッサ1503は、通常、メモリ1505内に保存されたプログラム指示に基づいて論理および算術演算を行う。
ここで用いられるように、メモリ1505という用語は、電子情報を保存可能な任意の電子コンポーネントとして広範囲に定義され、読み出し専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク記憶媒体、光学式記憶媒体、RAMのフラッシュメモリ装置、プロセッサ1503に含まれたオンボードメモリ、EPROMメモリ、EEPROMメモリ、レジスタ等で実施され得る。メモリ1505は、通常、プログラム指示および他のデータ類型を保存する。プログラム指示は、プロセッサ1503により実行され、ここで開示された方法の一部または全部を具現することができる。
装置1501は、通常、他の電子装置と通信するための一つ以上の通信インターフェース1507も含む。通信インターフェース1507は、有線通信技術、無線通信技術、またはその両方に基づいてもよい。通信インターフェース1507の異なる類型の例としては、シリアルポート、パラレルポート、ユニバーサル・シリアル・バス(USB)、イーサネット(登録商標)アダプタ、IEEE1394バスインターフェース、小型コンピュータ用周辺機器インターフェース(SCSI)バスインターフェース、赤外線(IR)通信ポート、ブルートゥース無線通信アダプダ等が挙げられる。
装置1501は、通常、一つ以上の入力装置1509および一つ以上の出力装置1511も含む。入力装置1509の他の種類の例としては、キーボード、マウス、マイクロホン、リモートコントロール装置、ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペン等が挙げられる。出力装置1511の他の種類の例としては、スピーカ、プリンタ等が挙げられる。コンピュータシステムに通常的に含まれる出力装置の特定の一類型は、ディスプレイ装置1513である。ここで開示された実施形態に用いられるディスプレイ装置1513は、陰極線管(CRT)、液晶ディスプレー(LCD)、発光ダイオード(LED)、ガスプラズマ、エレクトロルミネッセンス等のような、任意の適当な画像投影技術を用いることができる。メモリ1505に保存されたデータをディスプレイ装置1513に示されるテキスト、グラフィック、および/または動画に(必要に応じて)変換するためのディスプレイ制御機1515も提供され得る。
勿論、図15は、装置1501の可能な一構成のみを例示する。多様な他のアーキテクチャ及びコンポーネントも用いられ得る。
装置1501は、パーソナルコンピュータ、ラップトップコンピュータ、サーバー、タブレット型パソコン、または埋め込み装置のような、多様な方式で実施され得る。ソフトウェアまたは埋め込みプログラミングと共に作動する装置1501は、ここで開示されたシステムおよび方法を行うのに用いられ得る。前記した内容は付加的に、図1に示されたコンピュータシステム140a−bのような、ここで開示された他のコンピュータ装置のコンポーネントまたは選択的なコンポーネントを説明する。
本システムおよび方法は、いくつかの状況で用いられ得る。例えば、モニタリングシステム(例えば、図3および図8乃至図10に示されたモニタリングシステム)は、(図1と関連して説明され例示された)多様な制御システムと関連して用いられ得る。多様な制御システムの一例は、図16乃至図18に示される。モニタリングシステムおよび制御システムは、同一のネットワーク、リクエスタ装置、およびプロバイダ装置を用いてもよい。
図16は、照明制御機システム1608を含む照明システム1600の一実施形態を例示するブロック図である。図16の照明システム1600は、例えば、家庭内の多様な部屋に含まれ得る。例示されたように、システム1600は、部屋A1602、部屋B1604、および部屋C1606を含む。このシステム1600は、家庭、住宅、ビル、または他の環境内の任意数の多様な部屋で具現され得る。
照明制御機システム1608は、システム1600内の追加的な埋め込みシステムおよびコンポーネントをモニタして制御することができる。一実施形態において、部屋A1602および部屋B1604は、それぞれスイッチコンポーネント1614、1618を含む。スイッチコンポーネント1614、1618は、2次埋め込みシステム1616、1620を含んでもよい。2次埋め込みシステム1616、1620は、中央の照明制御機システム1608から指示を受信することができる。次に、2次埋め込みシステム1616、1620は、この指示を実行することができる。指示は、多様な光コンポーネント1610、1612、1622、および1624の電力を高めまたは低くすることを含んでもよい。指示は、多様な光コンポーネント1610、1612、1622、および1624の明るさを低くしまたは高めることも含んでもよい。指示は付加的に、光コンポーネント1610、1612、1622、および1624の明るさを多様なパターンで設定することも含んでもよい。また、2次埋め込みシステム1616、1620は、中央埋め込みシステム1608を通じてそれぞれの光コンポーネント1610、1612、1622、および1624をモニタして制御することを容易にすることができる。
また、照明制御機システム1608は、部屋C1606に2次埋め込みシステム1628を含む光コンポーネント1626に直接に指示を提供することもできる。中央埋め込みシステム1608は、例えば、個別の光コンポーネント1626の電力を高めまたは低くすることを、2次埋め込みシステム1628に指示することができる。同様に、中央埋め込みシステム1608から受信される指示は、個別の光コンポーネント1626の明るさを暗くし、増加させることを含んでもよい。また、照明制御機システム1608は、シーステム1600内の個別光コンポーネント1630、1632をモニタし、これらに指示を直接提供することができる。
図17は、保安システム1700の一実施形態を例示するブロック図である。照明システムと同様に、保安システム1700は、描写された実施形態において、部屋A1702、部屋B1704、および部屋C1706で具現される。この部屋は、家庭または孤立した他の環境内であってもよい。また、システム1700は、部屋A、B、およびC;1702、1704、1706が領土または境界を示す非孤立環境でも具現され得る。
システム1700は、保安制御機システム1708を含む。保安制御機システム1708は、システム1700内の多様なコンポーネントをモニタし、それらから情報を受信する。例えば、部屋AおよびB;1702、1704のモーションセンサ1714、1718は、それぞれ2次埋め込みシステム1716、1720を含んでもよい。モーションセンサ1714、1718は、モーションのための領域をモニタし、2次埋め込みシステム1716、1720を通じてモーションが検出されるとき、保安制御機システム1708に警告することができる。また、保安制御機システム1708は、システム1700内の多様なコンポーネントに指示を提供することもできる。例えば、保安制御機システム1708は、2次埋め込みシステム1716、1720にウィンドーセンサ1710、1722、ドアセンサ1712、1724、またはドアロック1713、1716の電力を増加または減少させるための指示を提供することができる。一実施形態において、2次埋め込みシステム1716、1720は、ウィンドーセンサ1710、1722がウィンドーの動きを検出したとき、保安制御機システム1708に通知する。同様に、2次埋め込みシステム1716、1720は、ドアセンサ1712、1724がドアの動きを検出したとき、保安制御機システム1708に通知する。
また、保安制御機システム1708は、システム1700内の個別のコンポーネントをモニタし、それらに直接指示を提供できる。例えば、保安制御機システム1708は、モーションまたはウィンドーセンサ1730、1732をモニタし、それらの電力を増加または減少させるための指示を提供することができる。
システム1700を備えたそれぞれの個別のコンポーネントは、2次埋め込みシステムも含んでもよい。例えば、図17は、2次埋め込みシステム1728を含むドアセンサ1726を例示する。電子ドアロック1729も示される。保安制御機システム1708は、上述したように、2次埋め込みシステム1728をモニタし、それに指示を提供することができる。
図18は、ホームシステム1800の一実施形態を例示するブロック図である。ホームシステム1800は、照明システム1600、保安システム1700等のような、多様なシステムのモニタを容易にするホーム制御機システム1808を含む。ホームシステム1800により、ユーザは、一つ以上の埋め込み装置を通じて、多様なコンポーネントおよびシステムを制御することができる。一実施形態において、ホーム制御機システム1808は、図16および図17と関連して上述された同一の方式で情報をモニタして提供する。描写された実施形態において、ホーム制御機システム1808は、2次埋め込みシステム1820を通じて、暖房コンポーネント1824に指示を提供する。暖房コンポーネント1824は、居住空間または仕事場で通常見られる暖炉または他の暖房装置を含んでもよい。ホーム制御機システム1808は、2次埋め込みシステム1820を通じて、暖房コンポーネント1824の電力を高めまたは低くするための指示を提供することができる。
同様に、ホーム制御機システム1808は、冷房コンポーネント1830のような、ホームシステム1800内のコンポーネントをモニタし、それらに直接指示を提供することができる。冷房コンポーネント1830は、居住空間または仕事場で通常見られる空調装置または他の冷房装置を含んでもよい。ホーム制御機システム1808は、ホーム制御機システム1808により収集される温度読出値に応じて、冷房コンポーネント1830に電力を高めまたは低くすることを指示することができる。ホームシステム1800は、図16および図17と関連して上述されたものと類似した方式で動作する。
情報および信号は、多様かつ異なる技術および技法のうち、任意のものを用いて表現され得る。例えば、前記説明の全体にわたって参照されるデータ、指示、命令、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界や磁性粒子、光場や光粒子、またはそれらの任意の組合せとして表現され得る。
ここで開示された実施形態と関連して説明された多様な例示的な論理ブロック、モジュール、回路、およびアルゴリズム工程は、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして具現され得る。ハードウェアとソフトウェアのこのような交換性を明示的に例示するために、多様な例示的なコンポーネント、ブロック、モジュール、回路、および工程は、それらの機能性の観点で一般的に詳述された。そのような機能性がハードウェアまたはソフトウェアのどちらで具現されるかは、全般的なシステムに付与される特定のアプリケーションおよび設計制約に依存する。当業者であれば、説明された機能性をそれぞれの特定のアプリケーションのための多様な方式で具現することができるが、そのような具現判定が本発明の範囲を外れるものと解釈されてはならない。
ここで開示された実施形態と関連して説明された多様な例示的な論理ブロック、モジュール、および回路は、ここで説明された機能を行うように設計された汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)信号やプログラム可能な他の論理装置、離散ゲートやトランジスターロジック、離散ハードウェアコンポーネント、またはそれらの任意の組合せとして具現されまたは行われ得る。汎用プロセッサは、マイクロプロセッサであってもよいが、他の方法で、プロセッサは任意の従来のプロセッサ、制御機、マイクロコントローラ、またはステートマシンであってもよい。また、プロセッサは、コンピュータ装置の組合せとして、例えば、DSPとマイクロプロセッサ、複数個のマイクロプロセッサ、DSPコアと協働する一つ以上のマイクロプロセッサ、またはそのような任意の他の構成の組合せとして具現され得る。
ここで開示された実施形態と関連して説明された方法またはアルゴリズムの工程は、ハードウェアとして、プロセッサにより実行されるソフトウェアモジュールとして、またはこれら2つの組み合わせで直接に実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスター、ハードディスク、リムーバブル・ディスク、CD−ROM、または当該技術で公知の任意の記憶媒体に存在することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み出し、記憶媒体に情報を書き込むようにするために、プロセッサに連結される。他の方法で、記憶媒体は、プロセッサに統合されてもよい。プロセッサおよび記憶媒体は、ASICに存在してもよい。ASICは、ユーザ端末に存在してもよい。他の方法で、プロセッサおよび記憶媒体は、ユーザ端末に離散コンポーネントとして存在してもよい。
ここで開示された方法は、説明された方法を実現するための一つ以上の工程または動作を具備する。方法の工程および/または動作は、本発明の範囲を逸脱しない範囲内で、互いに交換され得る。言い換えれば、実施形態の適当な作用のために、工程または動作の特定の順序が要求されなければ、特定の工程および/または動作の順序および/または使用は、本発明の範囲を逸脱しない範囲内で変更され得る。
本発明の特定の実施形態およびアプリケーションが例示され説明されたが、ここで開示された正確な構成およびコンポーネントにより本発明が制限されないということが、理解されなければならない。当業者にとって明白な多様な修正、変更、および変形が、本発明の精神および範囲を外れない範囲内で、ここで開示された本発明の方法およびシステムの配置、作用、および詳細事項において行われ得る。