(57)【要約】      （修正有）【課題】コンピュータネットワークを通して埋め込みデバイスにアクセスとサービスを提供するための新規システム及び方法を提供する。【解決手段】サービス提供装置２０は、コンピュータネットワーク２２上で通信するための通信ハードウェアを有するコンピュータを含む。コンピュータネットワーク通信モジュールは、コンピュータネットワーク２２を介してメッセージ記憶／送信装置と通信するようにも構成され、該メッセージ記憶／送信装置はコンピュータネットワーク２２を通して１台または複数台の埋め込みデバイス２４と通信できる。また、コンピュータネットワーク２２から取得されるサービス情報のデータベースが、サービス提供装置２０に追加される。サービス情報のこのデータベースは、メッセージ記憶／送信装置を通して埋め込みデバイス２４が使用できる。【選択図】図１
2006323808.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワーク上で通信するための通信ハードウェアを含むコンピュータであって、記憶装置も含むコンピュータと、
前記コンピュータネットワークを介してコンピュータと通信するためのコンピュータネットワーク通信モジュールであって、前記コンピュータネットワークを介してメッセージ記憶／送信装置と通信するように構成され、前記メッセージ記憶／送信装置が前記コンピュータネットワークを介して１台または複数台の埋め込みデバイスと通信できるコンピュータネットワーク通信モジュールと、
前記コンピュータネットワークから取得されるサービス情報のデータベースであって、前記メッセージ記憶／送信装置を通して前記埋め込みデバイスが使用できるデータベースと、
前記サービス情報データベースの中の前記サービス情報にアクセスするためのデータベースインタフェースモジュールと、
を備える埋め込みデバイスのためのサービス提供装置。
【請求項２】
前記メッセージ記憶／送信装置がメールサーバを備える請求項１に記載の提供装置。
【請求項３】
前記メッセージ記憶／送信装置がメッセージ待ち行列を備える請求項１に記載の提供装置。
【請求項４】
前記コンピュータネットワークを検索し、また前記コンピュータネットワークから更新されたサービス情報にアクセスして取得するための情報収集マネージャをさらに備える請求項１に記載の提供装置。
【請求項５】
前記コンピュータネットワークから取得される前記更新されたサービス情報が、埋め込みデバイス上のコンピュータプログラムコードに関連する請求項４に記載の提供装置。
【請求項６】
前記コンピュータネットワークから取得される前記更新されたサービス情報が、埋め込みデバイスのロケーションに関連する請求項４に記載の提供装置。
【請求項７】
前記メッセージ記憶／送信装置との通信を処理する埋め込みデバイス通信モジュールをさらに備える請求項１に記載の提供装置。
【請求項８】
前記埋め込みデバイス通信モジュールが、埋め込みデバイス識別子を含む前記メッセージ記憶／送信装置から少なくとも１つの通信を処理する請求項７に記載の提供装置。
【請求項９】
スケジュールデータをさらに備え、そのスケジュールデータが埋め込みデバイス識別を含み、前記スケジュールデータが前記埋め込みデバイスの監視を制御するために使用されている請求項１に記載の提供装置。
【請求項１０】
前記提供装置が前記メッセージ記憶／送信装置からデバイス記述を取得し、そのデバイス記述は前記埋め込みデバイスから前記メッセージ記憶／送信装置に過去に送信されたものである請求項１に記載の提供装置。
【請求項１１】
前記デバイス記述が、関数、変数、データ型、イベント及びファイルから構成されるグループから選択される請求項１０に記載の提供装置。
【請求項１２】
前記提供装置が埋め込みデバイスを、前記埋め込みデバイスから前記メッセージ記憶／送信装置に過去に送信されたインタフェースデータを前記メッセージ記憶／送信装置から周期的に取得することにより監視し、前記提供装置が前記記憶装置に前記インタフェースデータを記憶する請求項１に記載の提供装置。
【請求項１３】
前記提供装置は受信された前記インタフェースデータから作成される監視データを記憶し、前記提供装置は前記コンピュータネットワークを通して前記監視データを要求者にさらに提供する請求項１２に記載の提供装置。
【請求項１４】
前記提供装置が埋め込みデバイスを、前記埋め込みデバイスの動作に影響を及ぼすために前記埋め込みデバイスにロードされるコンピュータプログラムコードに制御データを周期的に送信することによって制御し、前記周期的な送信が前記スケジュールデータに基づくものであり、前記制御データが前記提供装置から前記メッセージ記憶／送信装置に送信され、次に前記メッセージ記憶／送信装置から前記埋め込みデバイスに送信される請求項９に記載の提供装置。
【請求項１５】
前記提供装置が、前記コンピュータネットワークを介して更新されたコンピュータプログラムコードを取得することによって、また使用可能な更新を前記埋め込みデバイスに通知することによって、さらに前記メッセージ記憶／送信装置を通して前記更新されたコンピュータプログラムコードを前記埋め込みデバイスに送信することによって、埋め込みデバイス上のコンピュータプログラムコードを更新する請求項１に記載の提供装置。
【請求項１６】
コンピュータネットワーク上で通信するための通信ハードウェアであって、前記コンピュータネットワークを介してメッセージ記憶／送信装置と通信するように構成され、前記メッセージ記憶／送信装置が前記コンピュータネットワークを通して１台または複数台の埋め込みデバイスと通信できる通信ハードウェアと、
メモリと、
埋め込みデバイス情報を含む埋め込みデバイス情報データベースであって、通信ネットワークが使用できる埋め込みデバイス情報データベースと、
前記コンピュータネットワークから取得されるサービス情報を含むサービス情報データベースであって、前記メッセージ記憶／送信構成勝訴を通して前記埋め込みデバイスが使用可能であるサービス情報データベースと、
プロセッサであって、
前記埋め込みデバイスから過去に受信された情報を有する前記メッセージ記憶／送信装置からメッセージを受信するステップと、
前記情報を前記メッセージ記憶／送信装置に送信した前記埋め込みデバイスを特定するステップと、
前記埋め込みデバイス情報データベースにアクセスするステップと、
後に前記メッセージ記憶／送信装置によって前記埋め込みデバイスに送信される情報を前記メッセージ記憶／送信装置に送信するステップと、
トランザクションを説明するデバイス情報を記憶するステップと、
から構成される方法を実現するための命令を実行するプロセッサと、
を備える埋め込みデバイスサービス提供装置。
【請求項１７】
前記サービス情報データベースが前記コンピュータネットワークを介して取得される更新済みサービス情報をさらに含む請求項１６に記載の提供装置。
【請求項１８】
前記埋め込みデバイス情報データベースが、
特定の更新されたサービス情報に特定の埋め込みデバイス情報をリンクするリンクデータと、
複数の埋め込みデバイス識別子と、
複数の機能表と、
をさらに備える請求項１６に記載の提供装置。
【請求項１９】
スケジュールデータをさらに備え、そのスケジュールデータが埋め込みデバイス識別及び経路選択データを含み、そのスケジュールデータが複数の埋め込みデバイスの監視を制御するために使用される請求項１８に記載の提供装置。
【請求項２０】
前記埋め込みデバイス情報データベースが、前記メッセージ機構及び送信装置から受信されたインタフェースデータをさらに備え、前記インタフェースデータは前記埋め込みデバイスから前記メッセージ記憶／送信装置に過去に送信されたものである請求項１９に記載の提供装置。
【請求項２１】
前記メッセージ記憶／送信装置に送信され、その後前記埋め込みデバイスに送信される制御データをさらに備え、その制御データが前記埋め込みデバイスの動作に影響を及ぼすことができる請求項２０に記載の提供装置。
【請求項２２】
前記埋め込みデバイス情報データベースが、前記コンピュータネットワークを介して取得され、埋め込みデバイス上のプログラムコードを更新するために使用できる更新されたコンピュータプログラムコードの複数のファイルをさらに備える請求項２１に記載の提供装置。
【請求項２３】
複数の埋め込みデバイスにサービスを提供するための方法であって、
埋め込みデバイスのためのサービス提供装置と通信ネットワークの間に電子通信を提供することと、
前記通信ネットワークを介して、埋め込みデバイスによって前記メッセージ記憶／送信装置に過去に送信された情報を含む通信を前記メッセージ記憶／送信装置から受信することと、
前記情報を前記メッセージ記憶／送信装置に送信した前記埋め込みデバイスを特定することと、
埋め込みデバイス情報データベースにアクセスすることと、
前記メッセージ記憶／送信装置によって前記埋め込みデバイスに後に送信される情報を含む通信を前記メッセージ記憶／送信装置に前記通信ネットワークを介して送信することと、
トランザクションを説明するデバイス情報を記憶することと、
を含む方法。
【請求項２４】
埋め込みデバイスのための１つまたは複数のサービス提供装置であって、埋め込みデバイスのための各サービス提供装置が、
コンピュータネットワーク上で通信するための通信ハードウェアを含むコンピュータであって、記憶装置も含むコンピュータと、
データベースと、
前記コンピュータネットワークを介してコンピュータと通信するためのコンピュータネットワーク通信モジュールであって、前記コンピュータネットワークを介してメッセージ記憶／送信装置と通信するように構成され、前記メッセージ記憶／送信装置が前記コンピュータネットワークを介して１台または複数台の埋め込みデバイスと通信できるコンピュータネットワーク通信モジュールと、
前記データベースの中の情報にアクセスするためのデータベースインタフェースモジュールと、
埋め込みデバイスのための前記複数のサービス提供装置と電子的に通信する中心的な提供装置であって、埋め込みデバイスと埋め込みデバイスのためのサービス提供装置の間に通信を提供するために、また埋め込みデバイスに関連して前記コンピュータネットワークから更新された情報を収集することを調整するために、更に埋め込みデバイスに前記更新された情報を広めることを調整するために動作する中心的な提供装置と、
を備える埋め込みデバイスにサービスを提供するためのシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータソフトウェアに関し、さらに具体的にはコンピュータネットワークを通して埋め込みデバイスにアクセスとサービスを提供するための新規システム及び方法に関する。
【背景技術】
【０００２】
近年、日常生活に関わるコンピュータ技術の量は大きく伸びてきた。今日の世界では、コンピュータ技術は個人の一日の多くの面に関与している。消費者によって今日使用されている多くのデバイスはそのデバイスの内部に小型コンピュータを搭載している。これらの小型コンピュータはさまざまなサイズと精密度で提供されている。これらの小型コンピュータは、マイクロコントローラから完全に機能的な完全コンピュータシステムまであらゆるものを含んでいる。例えば、これらの小型コンピュータは、マイクロコントローラなどのワンチップコントローラ、コントローラなどのワンボード型コンピュータ、ＩＢＭ−ＰＣ互換機などの典型的なデスクトップコンピュータなどであってよい。
【０００３】
（コンピュータによって満たされている特定のニーズに依存してやや大型のコンピュータである場合がある）小型コンピュータは、ほぼ常にコンピュータの心臓部に１台または複数台のプロセッサを有している。プロセッサ（複数の場合がある）は、通常、さまざまな外部入力と出力、及び特定のデバイスを管理するための機能に相互接続されている。炭酸飲料のための自動販売機内のプロセッサは、炭酸飲料を選択するために使用されるボタンに、炭酸飲料がユーザに落下することを可能にするスイッチに、及び機械がある特定の品種の炭酸飲料をもはや有していないことを示すためのライトに接続されている場合がある。
【０００４】
コンピュータ技術は今日の世界の多くの面に関与している。多くの機器、デバイス等は１台または複数台の小型コンピュータを搭載している。例えば、冷蔵庫、電話機、タイプライタ、自動車、自動販売機及び多くの異なる種類の工業用装置はすべて小型コンピュータ、またはプロセッサをその内部に有している。コンピュータソフトウェアはこれらのコンピュータのプロセッサを走らせ、プロセッサに特定のタスクを実行するために何を行うべきなのかを教える。例えば、自動販売機の中のプロセッサで実行中のコンピュータソフトウェアは、正しい小銭がユーザによって投入されると炭酸飲料をユーザに落下させる。
【０００５】
デバイス、機器、ツール等の一部であるこれらのタイプの小型コンピュータは、多くの場合、埋め込みシステムと呼ばれる。用語「埋め込みシステム」は通常、より大きなシステムの一部であるコンピュータハードウェアとソフトウェアを指す。埋め込みシステムは、通常、キーボード、マウス、及び／またはモニタなどの典型的な入出力装置を有していない。一般的には、各埋め込みシステムの心臓部には１台または複数台のプロセッサがある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
通常、多様な機器、デバイス等とともに今日使用されている埋め込みシステムに多くの記憶能力はない。その結果、埋め込みシステムで記憶できるデータの量は限られている。記憶領域が限られるため、埋め込みシステムは、さらに多くの使用可能な記憶領域を有していれば持つことができるであろうほど多くの機能及び能力を有さない可能性がある。メモリは、多くの場合、電子デバイスを監視し、制御し、それ以外の場合使用するこれらの埋め込みシステム内で節約される。
【０００７】
ほぼすべてのデスクトップコンピュータシステムはプロセッサレベル（ハードウェア）で、ファームウェアレベル（ハードウェアの中に埋め込まれているソフトウェア）で、及びオペレーティングシステムレベルでのメモリ管理機能を含んでいる。しかしながら、多くの埋め込みデバイスでは、これらの種類のメモリ管理機能は使用できない。例えば、埋め込み環境の多くは、実質的なオペレーティングシステムまたはメモリ管理機能が存在しない８ビットまたは１６ビットのマイクロコントローラを含んでいる。これらのタイプの環境では、通常、プログラムコードが作成され、デバイスが出荷される前に製造メーカによって埋め込みデバイス上にロードされ、出荷後にはもしたとえ考慮されるにしてもソフトウェア更新はまれにしか行われない。
【０００８】
多くの埋め込みデバイスは広範囲なメモリ管理機能を有していないため、多くの場合ソフウェアを容易に更新したり、モジュールを更新したり、構成要素を更新したり、及び／または新しいソフトウェア、新しい構成要素、新しいモジュール、新しい機能、新しい拡張部等を追加することは困難である。いくつかの埋め込みシステムは、埋め込みシステムとより大型のコンピュータシステムの間に何らかの通信を可能とするためにコンピュータネットワークに接続されている。しかしながら、埋め込みシステムは多くの場合、他のコンピュータシステムと効果的且つ効率的に通信する機能性を備えていないため、通信機能は、通常限られている。加えて、埋め込みシステムと通信するための手段は多くの場合、より低速型の通信経路であり、その結果限られた量のデータだけしか埋め込みシステムとやり取りされない。
【０００９】
埋め込みシステム上の制約されたメモリリソースのため、及び通常限られた通信手段のため、多くの場合、埋め込みシステムとのコンピュータネットワークからの限られた対話だけが使用可能である。この対話は、多くの場合、埋め込みシステムのさまざまな部分と通信する上での困難のため、限られた効果しかない。
【００１０】
述べられたように、いったんそれが現場に出て使用されてしまうと埋め込みシステムのソフトウェアを容易に更新することは多くの場合困難である。その結果、より新しい埋め込みシステムはより新しいソフトウェアを搭載しているのに対し、より旧い埋め込みシステムは通常より旧いバージョンのソフトウェアを搭載している。コンピュータネットワーク上のコンピュータシステムが複数の埋め込みシステムまたは埋め込みデバイスと通信することを必要とすると、それは埋め込みシステムにインストールされ得るそれぞれの特定のバージョンのソフトウェアと通信するようにプログラミングされる必要があるであろう。埋め込みシステムの多くの異なるバージョンのソフトウェアと通信するためにコンピュータネットワーク上のコンピュータをプログラミングし、保守することは、その主な焦点が埋め込みシステムに単にサービスを提供することではない多くの企業及び／または製造メーカにとっては負担となり、困難となるであろう。
【００１１】
コンピュータ技法及び埋め込みシステムの使用は拡大を続け、更なる領域で使用し続けられるため、これらの埋め込みシステムと通信、対話できるというニーズが増加する。さらに、埋め込みシステム及び／または埋め込みデバイスを制御し、監視し、更新し、それ以外の場合サービスを提供する領域において高まるニーズがあるであろう。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、請求項１に記載の埋め込みデバイスのためのサービス提供装置は、コンピュータネットワーク上で通信するための通信ハードウェアを含むコンピュータであって、記憶装置も含むコンピュータと、前記コンピュータネットワークを介してコンピュータと通信するためのコンピュータネットワーク通信モジュールであって、前記コンピュータネットワークを介してメッセージ記憶／送信装置と通信するように構成され、前記メッセージ記憶／送信装置が前記コンピュータネットワークを介して１台または複数台の埋め込みデバイスと通信できるコンピュータネットワーク通信モジュールと、前記コンピュータネットワークから取得されるサービス情報のデータベースであって、前記メッセージ記憶／送信装置を通して前記埋め込みデバイスが使用できるデータベースと、前記サービス情報データベースの中の前記サービス情報にアクセスするためのデータベースインタフェースモジュールと、を備えることを要旨とする。
【００１３】
請求項２に記載の埋め込みデバイスのためのサービス提供装置は、請求項１に記載の埋め込みデバイスのためのサービス提供装置において、前記メッセージ記憶／送信装置がメールサーバを備えることを要旨とする。
【００１４】
請求項３に記載の埋め込みデバイスのためのサービス提供装置は、請求項１に記載の埋め込みデバイスのためのサービス提供装置において、前記メッセージ記憶／送信装置がメッセージ待ち行列を備えることを要旨とする。
【００１５】
請求項４に記載の埋め込みデバイスのためのサービス提供装置は、請求項１に記載の埋め込みデバイスのためのサービス提供装置において、前記コンピュータネットワークを検索し、また前記コンピュータネットワークから更新されたサービス情報にアクセスして取得するための情報収集マネージャをさらに備えることを要旨とする。
【００１６】
請求項５に記載の埋め込みデバイスのためのサービス提供装置は、請求項４に記載の埋め込みデバイスのためのサービス提供装置において、前記コンピュータネットワークから取得される前記更新されたサービス情報が、埋め込みデバイス上のコンピュータプログラムコードに関連することを要旨とする。
【００１７】
請求項６に記載の埋め込みデバイスのためのサービス提供装置は、請求項４に記載の埋め込みデバイスのためのサービス提供装置において、前記コンピュータネットワークから取得される前記更新されたサービス情報が、埋め込みデバイスのロケーションに関連することを要旨とする。
【００１８】
請求項７に記載の埋め込みデバイスのためのサービス提供装置は、請求項１に記載の埋め込みデバイスのためのサービス提供装置において、前記メッセージ記憶／送信装置との通信を処理する埋め込みデバイス通信モジュールをさらに備えることを要旨とする。
【００１９】
請求項８に記載の埋め込みデバイスのためのサービス提供装置は、請求項７に記載の埋め込みデバイスのためのサービス提供装置において、前記埋め込みデバイス通信モジュールが、埋め込みデバイス識別子を含む前記メッセージ記憶／送信装置から少なくとも１つの通信を処理することを要旨とする。
【００２０】
請求項９に記載の埋め込みデバイスのためのサービス提供装置は、請求項１に記載の埋め込みデバイスのためのサービス提供装置において、スケジュールデータをさらに備え、そのスケジュールデータが埋め込みデバイス識別を含み、前記スケジュールデータが前記埋め込みデバイスの監視を制御するために使用されていることを要旨とする。
【００２１】
請求項１０に記載の埋め込みデバイスのためのサービス提供装置は、請求項１に記載の埋め込みデバイスのためのサービス提供装置において、前記提供装置が前記メッセージ記憶／送信装置からデバイス記述を取得し、そのデバイス記述は前記埋め込みデバイスから前記メッセージ記憶／送信装置に過去に送信されたものであることを要旨とする。
【００２２】
請求項１１に記載の埋め込みデバイスのためのサービス提供装置は、請求項１０に記載の埋め込みデバイスのためのサービス提供装置において、前記デバイス記述が、関数、変数、データ型、イベント及びファイルから構成されるグループから選択されることを要旨とする。
【００２３】
請求項１２に記載の埋め込みデバイスのためのサービス提供装置は、請求項１に記載の埋め込みデバイスのためのサービス提供装置において、前記提供装置が埋め込みデバイスを、前記埋め込みデバイスから前記メッセージ記憶／送信装置に過去に送信されたインタフェースデータを前記メッセージ記憶／送信装置から周期的に取得することにより監視し、前記提供装置が前記記憶装置に前記インタフェースデータを記憶することを要旨とする。
【００２４】
請求項１３に記載の埋め込みデバイスのためのサービス提供装置は、請求項１２に記載の埋め込みデバイスのためのサービス提供装置において、前記提供装置は受信された前記インタフェースデータから作成される監視データを記憶し、前記提供装置は前記コンピュータネットワークを通して前記監視データを要求者にさらに提供することを要旨とする。
【００２５】
請求項１４に記載の埋め込みデバイスのためのサービス提供装置は、請求項９に記載の埋め込みデバイスのためのサービス提供装置において、前記提供装置が埋め込みデバイスを、前記埋め込みデバイスの動作に影響を及ぼすために前記埋め込みデバイスにロードされるコンピュータプログラムコードに制御データを周期的に送信することによって制御し、前記周期的な送信が前記スケジュールデータに基づくものであり、前記制御データが前記提供装置から前記メッセージ記憶／送信装置に送信され、次に前記メッセージ記憶／送信装置から前記埋め込みデバイスに送信されることを要旨とする。
【００２６】
請求項１５に記載の埋め込みデバイスのためのサービス提供装置は、請求項１に記載の埋め込みデバイスのためのサービス提供装置において、前記提供装置が、前記コンピュータネットワークを介して更新されたコンピュータプログラムコードを取得することによって、また使用可能な更新を前記埋め込みデバイスに通知することによって、さらに前記メッセージ記憶／送信装置を通して前記更新されたコンピュータプログラムコードを前記埋め込みデバイスに送信することによって、埋め込みデバイス上のコンピュータプログラムコードを更新することを要旨とする。
【００２７】
また、上記目的を達成するため、請求項１６に記載の埋め込みデバイスのためのサービス提供装置は、コンピュータネットワーク上で通信するための通信ハードウェアであって、前記コンピュータネットワークを介してメッセージ記憶／送信装置と通信するように構成され、前記メッセージ記憶／送信装置が前記コンピュータネットワークを通して１台または複数台の埋め込みデバイスと通信できる通信ハードウェアと、メモリと、埋め込みデバイス情報を含む埋め込みデバイス情報データベースであって、通信ネットワークが使用できる埋め込みデバイス情報データベースと、前記コンピュータネットワークから取得されるサービス情報を含むサービス情報データベースであって、前記メッセージ記憶／送信構成勝訴を通して前記埋め込みデバイスが使用可能であるサービス情報データベースと、プロセッサであって、前記埋め込みデバイスから過去に受信された情報を有する前記メッセージ記憶／送信装置からメッセージを受信するステップと、前記情報を前記メッセージ記憶／送信装置に送信した前記埋め込みデバイスを特定するステップと、前記埋め込みデバイス情報データベースにアクセスするステップと、後に前記メッセージ記憶／送信装置によって前記埋め込みデバイスに送信される情報を前記メッセージ記憶／送信装置に送信するステップと、トランザクションを説明するデバイス情報を記憶するステップと、から構成される方法を実現するための命令を実行するプロセッサと、を備えることを要旨とする。
【００２８】
請求項１７に記載の埋め込みデバイスのためのサービス提供装置は、請求項１６に記載の埋め込みデバイスのためのサービス提供装置において、前記サービス情報データベースが前記コンピュータネットワークを介して取得される更新済みサービス情報をさらに含むことを要旨とする。
【００２９】
請求項１８に記載の埋め込みデバイスのためのサービス提供装置は、請求項１６に記載の埋め込みデバイスのためのサービス提供装置において、前記埋め込みデバイス情報データベースが、特定の更新されたサービス情報に特定の埋め込みデバイス情報をリンクするリンクデータと、複数の埋め込みデバイス識別子と、複数の機能表と、をさらに備えることを要旨とする。
【００３０】
請求項１９に記載の埋め込みデバイスのためのサービス提供装置は、請求項１８に記載の埋め込みデバイスのためのサービス提供装置において、スケジュールデータをさらに備え、そのスケジュールデータが埋め込みデバイス識別及び経路選択データを含み、そのスケジュールデータが複数の埋め込みデバイスの監視を制御するために使用されることを要旨とする。
【００３１】
請求項２０に記載の埋め込みデバイスのためのサービス提供装置は、請求項１９に記載の埋め込みデバイスのためのサービス提供装置において、前記埋め込みデバイス情報データベースが、前記メッセージ機構及び送信装置から受信されたインタフェースデータをさらに備え、前記インタフェースデータは前記埋め込みデバイスから前記メッセージ記憶／送信装置に過去に送信されたものであることを要旨とする。
【００３２】
請求項２１に記載の埋め込みデバイスのためのサービス提供装置は、請求項２０に記載の埋め込みデバイスのためのサービス提供装置において、前記メッセージ記憶／送信装置に送信され、その後前記埋め込みデバイスに送信される制御データをさらに備え、その制御データが前記埋め込みデバイスの動作に影響を及ぼすことができることを要旨とする。
【００３３】
請求項２２に記載の埋め込みデバイスのためのサービス提供装置は、請求項２１に記載の埋め込みデバイスのためのサービス提供装置において、前記埋め込みデバイス情報データベースが、前記コンピュータネットワークを介して取得され、埋め込みデバイス上のプログラムコードを更新するために使用できる更新されたコンピュータプログラムコードの複数のファイルをさらに備えることを要旨とする。
【００３４】
また、上記目的を達成するため、請求項２３に記載の複数の埋め込みデバイスにサービスを提供するための方法は、埋め込みデバイスのためのサービス提供装置と通信ネットワークの間に電子通信を提供することと、前記通信ネットワークを介して、埋め込みデバイスによって前記メッセージ記憶／送信装置に過去に送信された情報を含む通信を前記メッセージ記憶／送信装置から受信することと、前記情報を前記メッセージ記憶／送信装置に送信した前記埋め込みデバイスを特定することと、埋め込みデバイス情報データベースにアクセスすることと、前記メッセージ記憶／送信装置によって前記埋め込みデバイスに後に送信される情報を含む通信を前記メッセージ記憶／送信装置に前記通信ネットワークを介して送信することと、トランザクションを説明するデバイス情報を記憶することと、を含むことを要旨とする。
【００３５】
また、上記目的を達成するため、請求項２４に記載の埋め込みデバイスにサービスを提供するためのシステムは、埋め込みデバイスのための１つまたは複数のサービス提供装置であって、埋め込みデバイスのための各サービス提供装置が、コンピュータネットワーク上で通信するための通信ハードウェアを含むコンピュータであって、記憶装置も含むコンピュータと、データベースと、前記コンピュータネットワークを介してコンピュータと通信するためのコンピュータネットワーク通信モジュールであって、前記コンピュータネットワークを介してメッセージ記憶／送信装置と通信するように構成され、前記メッセージ記憶／送信装置が前記コンピュータネットワークを介して１台または複数台の埋め込みデバイスと通信できるコンピュータネットワーク通信モジュールと、前記データベースの中の情報にアクセスするためのデータベースインタフェースモジュールと、埋め込みデバイスのための前記複数のサービス提供装置と電子的に通信する中心的な提供装置であって、埋め込みデバイスと埋め込みデバイスのためのサービス提供装置の間に通信を提供するために、また埋め込みデバイスに関連して前記コンピュータネットワークから更新された情報を収集することを調整するために、更に埋め込みデバイスに前記更新された情報を広めることを調整するために動作する中心的な提供装置と、を備えることを要旨とする。
【発明の効果】
【００３６】
本発明によれば、埋め込みシステムと通信、対話できると共に、埋め込みシステムを制御し、監視し、更新できる環境をできる。
【発明を実施するための最良の形態】
【００３７】
本発明の例示的な実施形態は、添付図面とともに解釈される以下の説明及び添付請求項からさらに完全に明らかになるであろう。これらの図面が例示的な実施形態だけを描いており、したがって本発明の範囲を制限すると見なされるべきではないと理解すると、本発明の例示的な実施形態は添付図面の使用を通して追加の特異性及び詳細をもって説明されるであろう。
【００３８】
ここに幅広く説明されている実施形態に従って、埋め込みデバイスのためのサービス提供装置は埋め込みデバイスを制御し、監視し、及び／または更新するために開示される。サービス提供装置は、コンピュータネットワーク上で通信するための通信ハードウェアを有するコンピュータを含む。コンピュータは、少なくとも１台の記憶装置と少なくとも１台のプロセッサも含む。サービス提供装置は、コンピュータネットワークを介してコンピュータと通信するためのコンピュータネットワーク通信モジュールをさらに含む。また、コンピュータネットワーク通信モジュールは、コンピュータネットワークを介してメッセージ記憶／送信装置と通信するように構成される。代わりに、このメッセージ記憶／送信装置はコンピュータネットワークを通して１台または複数台の埋め込みデバイスと通信できる。また、サービス情報のデータベースは、サービス提供装置にも追加される。このサービス情報のデータベースは、メッセージ記憶／送信装置を通して埋め込みデバイスに使用可能である。また、サービス提供装置は、埋め込みデバイス情報データベース内の情報にアクセスするためのデータベースインタフェースモジュールも有する。
【００３９】
追加の実施形態は、サービス提供装置がコンピュータネットワークを検索するため、及び埋め込みデバイスに関連するコンピュータネットワークから更新された情報にアクセスし、取得するための情報収集マネージャを含むようにも構成されてよい。追加の実施形態は、該提供装置にメッセージ記憶／送信装置との通信を処理する埋め込みデバイス通信モジュールを含ませてよい。
【００４０】
さらに、提供装置が埋め込みデバイス上にロードされるコンピュータプログラムコードに制御データを周期的に送信することによって埋め込みデバイスを制御する追加の実施形態が構築されてよい。この制御データは埋め込みデバイスの動作におそらく影響を及ぼすであろう。通常、制御データのこの周期的な送信は、提供装置で発見されるスケジュールデータに基づいている。いくつかの実施形態では、制御データのこの伝送は、提供装置からメッセージ記憶／送信装置にデータを送信し、次に、代わりにメッセージ記憶／送信装置から埋め込みデバイスにデータを送信することによって達成される。
【００４１】
ここに説明される実施形態を使用する／実施するための方法は、埋め込みデバイスのためのサービス提供装置と通信ネットワークの間で電子通信を最初に提供することにより達成され得る。いったんこの通信が確立されると、通信はメッセージ記憶／送信装置から受信される。一般的にはメッセージ記憶／送信装置からのこの通信は、埋め込みデバイスからメッセージ記憶／送信装置に過去に送信された情報を含む。次に、提供装置はメッセージ記憶／送信装置に情報を送信した埋め込みデバイスを特定することに着手する。いったん埋め込みデバイスが特定されると、埋め込みデバイス情報データベースは提供装置によりアクセスされ、通信が提供装置からメッセージ記憶／送信装置に送信される。この送信されたメッセージは、メッセージ記憶／送信装置によって埋め込みデバイスに後に送信され得る（制御データ、更新済みコンピュータコード糖の）情報を含む。最後に、このトランザクションに関する情報は、次に将来の参照のために記憶装置データベース内の提供装置によって記憶され得る。
【００４２】
システムは、システムが埋め込みデバイスのための複数のサービス提供装置を備える埋め込みデバイスにサービスを提供するためにも開示される。一般的には、サービス提供装置の該少なくとも１つは、コンピュータネットワークを介してコンピュータと通信するためのコンピュータネットワーク通信モジュールを有する。また、このコンピュータネットワーク通信モジュールは、コンピュータネットワークを介してメッセージ記憶／送信装置と通信するように構成される。同様に、メッセージ記憶／送信装置はコンピュータネットワークを通して１台または複数台の埋め込みデバイスと通信できる。システムは埋め込みデバイスのための複数のサービス提供装置との電子通信での中心的な提供装置も含む。中心的な提供装置は埋め込みデバイスと埋め込みデバイスのためのサービス提供装置の間で通信を調整するため、及び更新された情報を埋め込みデバイスに広めるのを調整するために動作する。
【００４３】
実施形態の装置は、概してここの図に説明され図解されているように、多岐に渡る異なる構成で配列、設計できるであろうことが容易に理解される。このようにして、図１から図１６に表されているような、システム及び方法の実施形態の以下のさらに詳細な説明は主張されるように本発明の範囲を制限することを目的とするのではなく、本発明の実施形態を表しているにすぎない。
【００４４】
本発明は、類似するパーツが全体を通して同様の数字で示される図面を参照することによって最もよく理解される。
【００４５】
埋め込みデバイスのためのサービス提供装置２０は、コンピュータネットワーク２２上で通信するための通信ハードウェアを有するコンピュータを含むとして開示されている。コンピュータは少なくとも１台の記憶装置と少なくとも１台のプロセッサも含む。サービス提供装置２０は、埋め込みデバイス情報のデータベース、及び／またはコンピュータネットワーク２２から取得されるサービス情報のデータベースをさらに含む。埋め込みデバイス通信モジュールは、多くの埋め込みデバイス２４と通信するためにサービス提供装置２０によって使用される。サービス提供装置２０は、コンピュータネットワーク２２を介してコンピュータと通信するためのコンピュータネットワーク通信モジュールをさらに含む。さらに、サービス提供装置２０はデータベース（複数の場合がある）で情報にアクセスするためのデータベースインタフェースモジュールを有する。
【００４６】
サービス提供装置２０は、コンピュータネットワーク２２を検索するための、及び埋め込みデバイス２４に関連してコンピュータネットワーク２２から更新された情報にアクセスし、取得するための情報収集マネージャも含んでよい。提供装置２０は、埋め込みデバイス情報データベースの特定の情報を特定の更新された情報にリンクしてよい。埋め込みデバイス情報データベースに記憶されてよい項目の中に、複数の機能表があってよい。
【００４７】
埋め込みデバイス２４と通信する際に、埋め込みデバイス通信モジュールは埋め込みデバイス識別子を含む少なくとも一つのメッセージを埋め込みデバイス２４から受信してよい。１台または複数台の埋め込みデバイス２４との通信は、スケジュールデータを使用することにより予定されてよい。スケジュールデータは、埋め込みデバイス識別及び送信データを含んでよい。スケジュールデータは、埋め込みデバイス２４の監視を制御するために使用されてよい。
【００４８】
１台または複数台の埋め込みデバイス２４の制御は、埋め込みデバイス２４の動作に影響を及ぼすために埋め込みデバイス２４上でロードされるコンピュータプログラムコードに制御データを周期的に送信することによりサービス提供装置２０によって提供されてよい。該周期的な送信は、スケジュールデータに基づいてよい。加えて、提供装置２０は、コンピュータネットワーク２２を介して更新されたコンピュータプログラムコードを取得することによって、及び使用可能な更新を埋め込みデバイス２４に通知することによって、及び埋め込みデバイス２４に更新されたコンピュータプログラムコードをさらに送信することによって、埋め込みデバイス２４上のコンピュータプログラムコードを更新させてよい。
【００４９】
提供装置２０は、埋め込みデバイス２４上にロードされたコンピュータプログラムコードからインタフェースデータを周期的に取得することによって、埋め込みデバイス通信モジュールを介して埋め込みデバイス２４を監視してよい。提供装置２０は、記憶装置にインタフェースデータを記憶してよい。さらに、提供装置２０は受信されたインタフェースデータから作成される監視データを情報集約してよい。この監視データは、コンピュータネットワーク２２を通して要求者に提供されてよい。
【００５０】
提供装置２０は、埋め込みデバイス２４にロードされたコンピュータプログラムコードからデバイス記述を取得するために埋め込みデバイス通信モジュールを介して埋め込みデバイス２４と通信してよい。該デバイス記述は、関数、変数、データタイプ、イベント及びファイルのリストを備えてよい。
【００５１】
ここの実施形態に従って実践される方法は、埋め込みデバイスのためのサービス提供装置２０と電気通信ネットワーク２２の間で電子通信を提供するステップと、埋め込みデバイス２４からメッセージを受信するステップと、受信されたメッセージの使用を通して埋め込みデバイス２４を特定するステップと、埋め込みデバイス情報データベースにアクセスするステップと、埋め込みデバイス２４に送信メッセージを送信するステップと、トランザクションを記述するデバイス情報を記憶するステップと、を含み得る。
【００５２】
その方法は、埋め込みデバイス２４に関連するコンピュータネットワーク２２から更新された情報を収集するステップと、埋め込みデバイス情報データベース内の特定の情報を特定の更新された情報にリンクするステップとも含んでよい。さらに、方法は、埋め込みデバイス識別子を取得するために埋め込みデバイス２４からメッセージを解析するステップを含んでよい。
【００５３】
埋め込みデバイス２４のための複数のサービス提供装置２０を備える、埋め込みデバイス２４にサービスを提供するためのシステムも開示される。システムは、埋め込みデバイス２４のための複数のサービス提供装置２０と電子的に通信する中心的提供装置も含む。中心的な提供装置は埋め込みデバイス２４と、埋め込みデバイス２４のためのサービス提供装置２０の間の通信を調整するために動作する。中心的な提供装置は、埋め込みデバイス２４に関連してコンピュータネットワーク２２から更新された情報を収集することを調整してもよく、埋め込みデバイス２４に更新された情報を広めることを調整してもよい。
【００５４】
言うまでもなく、該方法がコンピュータ読み取り可能媒体に記憶されている実行可能な命令で具現化されてよいことが当業者によって理解されるであろう。
【００５５】
図１は、通常、埋め込みデバイス２４のためのサービス提供装置２０の使用で活用される主要な構成要素、及びここに開示される実施形態を描くブロック図である。本実施形態では、サービス提供装置２０は１台または複数台の埋め込みデバイス２４（または埋め込みシステム２４）と電子的に通信し、１台または複数台の埋め込みデバイスネットワーク２６とも電子的に通信している。これらの電子的な通信は直接ダイヤルアップ接続、ＬＡＮ、ＷＡＮ、及びイントラネット、インターネット、または電子通信の他の手段を通した接続であってよい。図示されるように、コンピュータネットワーク２２は、サービス提供装置２０と多くの他の構成要素の間で電子通信を提供してもよい。ここでの実施形態では、コンピュータネットワーク２２はインターネットを含む。
【００５６】
デバイス製造メーカ２８はコンピュータネットワーク２２と通信してよい。例えばデバイスＡの製造メーカ２８ａとデバイスＢの製造メーカ２８ｂは、描かれているようにコンピュータネットワーク２２と電子的に通信してよい。デバイス製造メーカ２８は埋め込みデバイス２４、埋め込みデバイス２４で使用されるプロセッサ、埋め込みデバイス２４及び／またはプロセッサ等によって使用されるソフトウェアの開発業者の製造メーカであってよい。典型的なデバイス製造メーカ２８であるであろう企業のいくつかの例はモトローラ（Ｍｏｔｏｒｏｌａ）、インテル（Ｉｎｔｅｌ）、ＡＭＤ、ノキア（Ｎｏｋｉａ）、ヒューレットパッカード（Ｈｅｗｌｅｔｔ Ｐａｃｋａｒｄ）、マイクロチップ（Ｍｉｃｒｏｃｈｉｐ）、シーメンス（Ｓｉｅｍｅｎｓ）等である。これらの例は単に例示的であることを意図するにすぎず、デバイス製造メーカ２８と見なされてよいことの幅広い範囲を制限することを意図していない。
【００５７】
デバイス製造メーカ２８は、多くの場合、ハードウェアであるか、ソフトウェアであるか、デバイスのあらゆる問題であるか等に関わりなく、デバイス更新を認識している。サービス提供装置２０は埋め込みデバイス２４を更新し、監視し、制御する、あるいはそれ以外の場合サービスを提供するために使用されるデバイス製造メーカ２８から情報を取得してよい。
【００５８】
情報提供者３０は、コンピュータネットワーク２２と電子的に通信し得る。情報提供者３０は埋め込みデバイス２４によって、及び／または埋め込みデバイスサービス提供装置２０によってある意味で有効であってよい情報のあらゆる提供者である。例えば、天気情報はインターネットのワールドワイドウェブ部分のウェブサイトによって提供され得る。天気情報のこの提供装置は情報提供者３０の範囲内にあるであろう。さらに、現在の日付と時刻も情報提供者３０によって提供されてよい。別の情報提供者は消費財識別情報を提供してよいし、別の情報提供者３０はマップ情報を提供してよい。
【００５９】
データコレクタ３２はコンピュータネットワーク２２と電子的に通信し得る。データコレクタ３２は、埋め込みデバイス２４からデータを収集することに従事している任意のエンティティである。データコレクタ３２は、それが埋め込みデバイス２４からデータを要求するという点で要求者と呼ばれてもよい。ここの実施形態では、サービス提供装置２０は埋め込みデバイス２４と通信することによって、及び何らかの点で、このデータまたは関連する情報をデータコレクタ３２に提供することによって埋め込みデバイス２４からのデータの収集を容易にする。データコレクタ３２の一例はさまざまな消費者による使用量を測定するメータから使用量データを収集し、総計するニーズのある公益事業会社であるであろう。これらのメータを実現する、あるいはこれらのメータと電子的に通信する埋め込みデバイス２４は使用量データを読み取り、それをサービス提供装置２０に提供し得る。次にサービス提供装置２０は、取得された使用量データをデータコレクタ３２に提供し得る。他の多くのデータ収集ニーズがデータコレクタ３２によって満たされてもよい。例えば、どの消費者品目が購入されたのか、それらの現在のステータス、及び／またはどこに消費者品目があるのかに関するデータを収集することが、データコレクタ３２によって収集されてよい有効な情報である場合がある。
【００６０】
埋め込みデバイス２４及び／または埋め込みネットワーク２６を制御する、及び／または監視するサービス３４はコンピュータネットワーク２２と電子的に通信し得る。制御／監視サービス３４は、埋め込みデバイス２４のための制御を提供する、及び／または埋め込みデバイス２４の監視を提供する任意のサービスであろう。いくつかの状況では、データコレクタ３２は監視を提供するサービスに類似している。しかしながら、制御及び／または監視サービス３４は、データコレクタ３２よりさらに積極的な役割を提供する。いくつかの実施形態では、監視サービス３４は、デバイス２４が通常のパラメータの範囲内で動作しているかどうかを確かめるために周期的に１台または複数台の埋め込みデバイス２４を監視する。特定の実施形態では、制御サービス３４は、１台または複数台の埋め込みデバイス２４に制御データを送信することによって１台または複数台の埋め込みデバイス２４を提供する。例えば、埋め込みデバイス２４の特定の組が、適切な動作（例えば、スプリンクラコントローラ）のための天気情報を必要とする場合があり、制御サービス３４が天気情報とロケーションに基づいて制御データを提供し得る。例えば、制御サービス３４は、特定の埋め込みデバイススプリンクラコントローラに、コントローラに給水しないように命令するコマンドを送信し得る。
【００６１】
図２は、デバイス製造メーカ２８から入手できるデータのブロック図である。デバイス製造メーカ２８は、埋め込みソフトウェア更新３６を認識し、そのコピーを有してよい。例えば、埋め込みデバイス２４のマイクロコントローラで実行中のソフトウェアのさらに新しいバージョンがデバイス製造メーカ２８から入手できる。デバイス製造メーカ２８はこの更新されたソフトウェア３６を入手可能にしてよい。
【００６２】
デバイス製造メーカ２８は、自らが製造するデバイス２４の多様な機能についても認識し得る。この点では、デバイス製造メーカ２８はそのデバイス２４のための機能説明３８を入手可能にしてよい。埋め込みデバイス２４、その特性及び機能についての基本的な情報は、どうにかしてそれと対話することを希望する人にとって有効である。このような基本的な情報は機能記述３８または機能表３８にデバイス製造メーカ２８によって記憶されてよい。機能表３８はファイルとして記憶されてよい。当業者は、埋め込みデバイス２４及びその接続された入力装置及び／または出力装置の基本的な機能を記憶するための多様な方法があることを理解するであろう。表１は、どの種類の情報が機能説明３８または表３８に記憶されてよいのかを描く擬似コードを含む。
【表１】
2006323808.tif 000003
【００６３】
表１に描かれているように、機能表３８は、埋め込みデバイス２４がどのインタフェース定義（１Ａ）をサポートするのかの表示を含んでよい。インタフェース定義（１Ａ）フィールド及びその使用はここにさらに完全に説明される。機能表３８は、行（１Ｂ）で示されるバイト順序タイプも示してよい。このバイト順序付けタイプ（１Ｂ）は、埋め込みデバイスが大きなエンディアンであるのか、または小さいエンディアンであるのかを示してよい。表３８は、行（１Ｃ）に示されるどのデバイス識別が特定の埋め込みデバイス２４用であるのかも示してよい。行（１Ｄ）に示されるデバイスアドレスは、もしあれば機能表３８にも記憶されてよい。
【００６４】
互換性の目的のため、使用されているソフトウェアのための行（１Ｅ）に示されるバージョン番号も記憶されてよい。同様に行（１Ｆ）に示される通信プロトコルバージョン番号も記憶されてよい。通信についての詳細も記憶されてよい。例えば、表１に示されるように、行（１Ｇ）に示される最大通信パケットサイズが記憶されてよい。
【００６５】
行（１Ｈ）に示される不揮発性記憶装置フラグは、埋め込みデバイス２４によってアクセス可能な不揮発性記憶装置があるかどうかを示し得る。行（１Ｉ）に示される不揮発性記憶装置サイズ及びその開始アドレスなどの不揮発性記憶装置についての関連情報も記憶されてよい。行（１Ｊ）に示される静的ファイルシステムフラグは、静的ファイルシステムがあるかどうかを示してよい。同様に行（１Ｋ）に示される動的ファイルシステムフラグは、動的ファイルシステムがあるかどうかを示し得る。
【００６６】
機能表３８は、開発者またはエンジニアが機能表３８を取得し、埋め込みデバイス２４の特性及び機能を確かめることができるという点で有効である。
【００６７】
デバイス製造メーカ２８は、他のデバイス情報４０を有してもよい。例えば、特定の埋め込みデバイス２４が一定の期間後に故障することが知られていたならば、デバイス製造メーカ２８はこの情報を有している場合がある。さらに、製造メーカ２８が経時的に摩耗し、間違ったデータを生じさせることが知られている埋め込みデバイス２４の特定のパーツを認識している場合がある。デバイス製造メーカ２８は、おそらく埋め込みデバイス２４リコールも認識しているであろう。当業者により理解されるように、デバイス製造メーカ２８は埋め込みデバイス２４に関連してよい多くの他の項目４２または事柄を認識し得る。デバイス製造メーカ２８はこの他の情報４２も使用可能にしてよい。
【００６８】
図３は、情報提供者３０から使用可能であってよいデータまたは情報のブロック図である。情報提供者３０は、任意のタイプのデータまたは情報を提供するエンティティである。通常、データまたは情報は電子通信の形で提供される。図３は、情報提供者３０によって提供されてよいデータの例を描いている。天気情報４４が提供され得る。日付と時刻情報４６が提供され得る。どの消費財が特定のバーコードで特定されるのかなどのバーコード情報４８も提供され得る。特定の品目、事柄または場所についてのステータス情報５０も提供され得る。言うまでもなく、当業者は、多くの他の種類の情報５２も提供され得ることを認識するであろう。
【００６９】
図４は、データコレクタ３２または要求者によって収集され得るデータまたは情報のブロック図である。データコレクタ３２は、情報またはデータを収集する、及び／または蓄積するエンティティである。通常、データまたは情報は電子的な形式でデータコレクタ３２に送信される。図４に示される項目は、公益事業会社等にとっての監視項目に関係するデータコレクタ３２によって収集され得るデータの例を示している。データのメータ読み取り５４部分は、ある特定の区域内のどのくらいの数のメータ及びどのメータが読み取られたのかを示し得る。料金請求書作成発行データ５６は、特定のカスタマに対する過去の請求書、及びそれらが支払われているかどうかを示し得る。レート情報５８は多様なレートを含み、各レートがいつどのカスタマに請求されなければならないのかを示し得る。使用量データ６０は、消費者のグループだけではなく個々の消費者によっての使用量の上がり下がりを示すために過去の使用量情報を記憶し得る。性能情報６２は、多様な埋め込みデバイス２４とそれらの関連構成要素、及びそれらがどのようにフィールドで機能するのか、どのくらい長くそれらが通常持続するのか、どの種の問題がフィールドで発生しているのか等についての情報であってよい。ステータス及び／または保守データ６４も記憶されてよい。このデータ６４は特定の埋め込みデバイス２４及び／または埋め込みデバイスのより大きなグループの現在のステータスを含んでよい。それは、将来予定される保守活動だけではなく保守履歴も含んでよい。言うまでもなく、当業者はデータコレクタ３２によって他のデータまたは情報も収集されてよいことを理解するであろう。図４はデータコレクタ３２によって収集、記憶されてよい情報のタイプを例証しているにすぎず、本実施形態の幅広い範囲及び有用性を制限することを意図していない。
【００７０】
図５は、制御／監視サービス３４によって使用され得るモジュール及びデータまたは情報のブロック図である。制御及び／または監視される必要のある埋め込みデバイス２４を含む情報データベース６６が使用され得る。このデータベース６６内の情報は、デバイス識別、経路設定情報、ロケーション、デバイス機能等を含んでよい。さらに、このデータベース６６は、どのような制御がデバイスごとに達成されなければならないのか、及び送信されなければならない特定の制御コマンドも含んでよい。当業者は、埋め込みデバイス２４に関する、あるいは関連するデータがこのデータベース６６に記憶され得ることを認識するであろう。言うまでもなく、このデータベース６６は、実際には、多くのデータベースまたは多くのファイルであってよい。
【００７１】
通知データベース６８は、オーナ情報及び技術連絡先を含み得る。例えば、監視及び／または制御されているデバイス２４ごとに、特定のイベントが発生すると連絡する技術連絡先人物だけではなく、おそらくサービスに対して支払いを行う一覧表示されているオーナもあってよい。例えば、埋め込みデバイス２４が機能を停止すると、制御／監視サービス３４は、ページャ、ｅ−メール、電話等を介して技術連絡先人物に直ちに連絡するように指示され得る。
【００７２】
管理モジュール７０は、どの処置が発生しなければならないのかを示すデータを読み込む、または読み込まされる、あるいは任意の出力データを書き出すまたは書き出させることによって制御及び／または監視の動作を管理し得る。通信モジュール７２は通信機能を処理し得る。別々の監視機能７４がアクセスされ、埋め込みデバイス２４を監視するために使用される。例えば、監視機能７４のライブラリが、多様な埋め込みデバイス２４を監視する際にアクセスして実行するように、コンパイルされてよい。典型的には、エンジニアがある特定のタイプの埋め込みデバイス２４を監視するためにソフトウェアを開発したとき、監視するためのこれらの機能は同じタイプのまたは類似したタイプの埋め込みでバイアス２４を監視する上で再利用されてよい。同様に、制御機能７６は使用可能であってよく、類似したタイプのデバイス２４とともに再利用されてもよい。
【００７３】
図６は、通常、埋め込みデバイス２４または埋め込みシステムで活用される主要なハードウェア構成要素、及びここの実施形態を描くブロック図である。埋め込みデバイス２４は、通常、入力装置８０及び／または出力装置８２と電子的に通信しているプロセッサ７８または埋込式コンピュータ７８を含む。埋込式コンピュータ７８は、埋込式コンピュータ７８と電子的に通信できる入力８０装置及び／または出力装置８２に、あるいは言い換えると電気信号の形で入力及び／または出力できるデバイスに動作できるように接続される。ときどき入力装置と出力装置（複数の場合がある）８０、８２及び埋込式コンピュータ７８またはプロセッサ７８は同じ物理的な構造内にともに収容される。送信及び／または受信される入力及び／または出力データはここにインタフェースデータと呼ばれてよい。
【００７４】
図７は、通常、埋め込みデバイスネットワーク２６で活用される主要なハードウェア構成要素、及びここの実施形態を描くブロック図である。埋め込みデバイスネットワーク２６は、通常、１台または複数台の埋め込みデバイス２４とともにネットワーク化されるホストコンピュータ８４またはゲートウェイコンピュータ８４を含む。ホストコンピュータ８４は、埋め込みデバイス２４と他のコンピュータ（例えば、コンピュータネットワーク２２上の他のコンピュータ）の間でゲートウェイとしての機能を果たす。本実施形態では、ここのシステム及び方法は、ホストコンピュータ８４が１台または複数台の埋め込みデバイス２４に接続されるネットワーク化されたコンピュータシステムにアクセスするために使用される。通常、埋め込みデバイス２４は入力装置と出力装置８０、８２に接続される埋め込みコンピュータ７８を含む。特に、本実施形態では、埋込式コンピュータ７８は通常マイクロコントローラ（図示せず）である。しかしながら、通常マイクロコントローラによって実行される機能及び処理が、それらがより大型のコントローラの一部であるのか、あるいは典型的なコンピュータシステムの一部であるのかに関係なく、より大きなプロセッサによって実行できるであろうことが当業者によって理解されるであろう。
【００７５】
埋込式コンピュータ７８は、通常、埋込式コンピュータ７８とホストコンピュータ８４がそれぞれ単独で機能できるという点で、ホストコンピュータ８４から遠い。多くの実施形態では、ホストコンピュータ８４は埋め込みコンピュータ７８と別のロケーションにあるが、用語「遠い」は必ずしも、埋込式コンピュータ７８がホストコンピュータ８４と異なるロケーションにあることを意味していない。リモートコンピュータ７８によって記憶される、及び／または実現されるとして説明されているそれらの要素は、いくつかの状況ではホストコンピュータ８４で記憶及び／または実現できるであろう。
【００７６】
本システム及び方法は、多くの種類のコンピュータネットワークに対して幅広い応用例を有する。一般的には、埋め込みデバイスサービス提供装置２０の実施形態は、埋め込みデバイス２４の監視及び／または制御を提供する。埋め込みコンピュータ７８は、リモートコントローラ７８と電子的に通信できる入力装置及び／または出力装置８０、８２に、あるいは言い換えると電気信号の形で入力及び／または出力できるデバイスに動作できるように接続される。サービス提供装置２０は入力及び／または出力データを送信し、及び／または受信し、それにより埋め込みデバイス２４と対話するために埋め込みデバイス２４との通信を確立する。
【００７７】
ゲートウェイコンピュータ８４またはホストコンピュータ８４は幅広く定義されるデジタルコンピュータである。埋め込みデバイス２４または埋め込みシステム２４はデジタルコンピュータを含むが、キーボード、マウス及び／またはモニタなどの典型的な入力装置及び／または出力装置を有さない。ここに使用されるようなコンピュータはデータを受信、処理できるデジタルプロセッサを含む任意のデバイスである。コンピュータはマイクロコントローラ、ハンドヘルドコンピュータ、パーソナルコンピュータ、サーバ、メインフレーム、スーパーコンピュータ及び任意の変型あるいはその関連デバイスを含む。
【００７８】
入力装置及び出力装置８０、８２は電気信号を受信する、及び／または発生することができる任意の構成要素、要素、機構、機器等を含む。用語デバイスの範囲内にあるデバイスの例は、自動販売機、電話、ドアロック、温度センサ、モータ、スイッチ、ライト等を含む。
【００７９】
現在の設計では、ゲートウェイコンピュータ８４は、通常、Ｌｉｎｕｘ、Ｍｉｃｒｏｓｏｆｔ Ｗｉｎｄｏｗｓ(登録商標) ９５／９８／２０００またはＭｉｃｒｏｓｏｆｔ Ｗｉｎｄｏｗｓ(登録商標) ＮＴオペレーティングシステムを実行するＩＢＭ互換パーソナルコンピュータである。
【００８０】
ここで実施形態とともに使用されてよい１つの考えられる項目は自動販売機（図示せず）である。多くの自動販売機は、自動販売機のさまざまな部分を制御するための１台または複数台のマイクロコントローラを含む。これらのマイクロコントローラは埋込式コンピュータの範囲に入る。入力装置と出力装置は自動販売機から品目を選択するためのボタン、ユーザにそれらの品目を落下できるようにするためのスイッチ、どの品目が尽きているのかを示すためのライト、小銭を放出するための小銭リリース等を含む。当該技術分野で既知であるように、この自動販売機の実施形態は、入力装置と出力装置８０、８２及び同じ構造内で統合されるリモートコンピュータ（複数の場合がある）を含む。当業者は、埋込式コンピュータ７８がその取り付けられた入力装置と出力装置（複数の場合がある）８０、８２とは別個の構造であってよいことも認識するであろう。現代のデバイスの多くは、埋め込みマイクロコントローラを装備しており、例えば携帯電話、ページャ等は埋め込みマイクロコントローラを装備している。
【００８１】
ホストコンピュータ８４またはゲートウェイコンピュータ８４は、ＲＳ２３２、ＲＳ４８５、モデム、電力線、有線接続、無線接続等を含む多岐の接続を通して埋め込みデバイス２４に接続されてよい。同様に、埋込式コンピュータ７８は、多岐に渡る方法で入力装置と出力装置８０、８２に接続されてよい。述べられたように、通常、リモートコンピュータ７８はマイクロコントローラ（図示せず）を備える。マイクロコントローラは、多くの場合、外部デバイスと通信するための入力ポート／出力ポートを有する。特定のマイクロコントローラの仕様は、多くの場合デバイスがマイクロコントローラにどのように接続されるのかを決定する。当業者は、それらが埋込式コンピュータであるのか、標準的なデスクトップコンピュータであるのか、メインフレームであるのか等に関係なく、異なるデバイスがどのようにコンピュータに接続されるのかを理解する。
【００８２】
図８は、埋め込みデバイスネットワーク２６の実施形態の主要なハードウェア構成要素及びソフトウェア構成要素のブロック図を描く。図示されるように、図８のハードウェア要素は図７のハードウェア要素と相関する。当業者は、多様なハードウェア構成要素を相互接続するための多岐に渡る方法があること、及びハードウェア要素の１つまたは複数が、あるハードウェア要素から別のハードウェア要素へ機能性を移動することにより排除されてよい多様な構成があることを理解するであろう。
【００８３】
本実施形態により、ユーザはサービス提供装置２０を通して埋め込みデバイス２４によって提供されるサービスを監視する、及び／または制御することができる。埋め込みデバイス２４のサービスは、それらがコンピュータネットワーク２２上で、効率的にアクセスされ得るように実施形態によって露呈されてよい。
【００８４】
本実施形態では、入力装置及び／または出力装置８０、８２からのデータは入力ポート／出力ポート８６を通して読み込まれる、及び／または書き出される。埋め込みアプリケーションプログラム８８は、これらの入力ポート及び／または出力ポート８６と直接接続する実行可能命令を含む。通常、埋め込みアプリケーション８８は何度も反復されるメインループを有する。言うまでもなく、埋め込みアプリケーション開発者は、継続的に反復されるメインループを有さないアプリケーションを書き込んでよい。ここで原則は、メインループを有さないそれらのアプリケーションに適用され、本実施形態に実現されるのと実質的に同じ利点を提供することができるであろう。
【００８５】
埋め込みデバイスサービス提供装置２０で実行するソフトウェアを通して、ユーザは埋め込みデバイス２４によって提供される特定のサービスにアクセスすることを希望してよい。サービスはさまざまな関数、変数、イベント及び／またはファイルを含む。例えば、ユーザは特定の関数を実行し、特定の変数にアクセスし、指定されたイベントをチェックする、あるいは特定のファイルにアクセスすることを希望してよい。現在の設計では、アクセスを必要としてよいサービスは特定され、一覧表示されている。サービスの識別は特定のサービスについての情報も含む。特定のサービスの識別は多岐にわたる方法で達成され得る。例えば、現在の設計では、サービステーブル９０は埋込式コンピュータ７８に記憶され得る。サービステーブル９０はファイルとして記憶されてよいし、あるいはそれはアプリケーション８８でコンパイルされる静的データとして記憶されてよいし、あるいはそれはリモートコンピュータ７８に外部の記憶装置（図示せず）で記憶されてよい。当業者は、埋込式コンピュータ７８で実行するアプリケーションコードによって提供される特定のサービスについての基本的な情報を記憶する多岐に渡る方法があることを理解するであろう。表２は、どの種の情報がサービステーブル９０に記憶されてよいのかを示す擬似コードを含む。
【表２】
2006323808.tif 000004
【００８６】
表２に描かれているようにサービステーブル９０は、サービスの名称または識別、サービスの種類（例えば、それが関数であるのか、変数であるのか、イベントであるのか、ファイルであるのか等）、もしあれば入力パラメータ型、もしあれば戻り型、及びサービスのアドレスを含んでよい。行（２Ａ）に示される関数ＦｕｎｃｔｉｏｎＡについての情報は、それが関数であること、それが入力パラメータとしてワードを取ること、それが何も返さないこと（ボイド）、及びそのアドレスが＆ＦｕｎｃｔｉｏｎＡで示されることを示して描かれている。行（２Ｂ）は、別の関数ＦｕｎｃｔｉｏｎＢについての情報を示している。変数について関連する情報は行（２Ｃ）から（２Ｄ）に示されている。イベントについての情報は行（２Ｅ）から（２Ｆ）で示されている。イベントは任意の型のデータであってよい。例えば、イベントは変数、特定のレジスタ、割り込み等である場合があるであろう。イベントは非同期で発生する項目に特に有効であってよい。イベントの非同期型の例は、警報が突然鳴り出す、または外部ＬＥＤが変化することを含む。特定のファイルについての情報は行（２Ｇ）と（２Ｈ）に描かれている。
【００８７】
リモートコンピュータ７８または埋め込みデバイス２４に特定のサービスについての情報を記憶することによって、埋め込みデバイスサービス提供装置２０でのソフトウェアは埋め込みデバイス２４でどのサービスが使用可能であるのかを容易に確かめることができる。通常、アプリケーションコード８８がサービスを定義する。サービステーブル９０は特定のサービスについての情報を提供するために機能し、該情報はホストコンピュータ８４のユーザに有効であるのか、サービス提供装置２０に有効であるのか、あるいはコンピュータネットワーク２２全体で要求者に有効であるであろう。機能テーブル９８は、埋込式コンピュータ７８でも提供され得る。
【００８８】
現在の設計では、埋め込みインタフェースモジュール９２は、埋込式コンピュータ７８でのサービスとホストコンピュータ８４で実行中のソフトウェアの間の、及び／または埋め込みデバイスサービス提供装置２０で実行中のソフトウェアへのアクセスを提供する。ここの実施形態では、インタフェースモジュール９２は、リモートコンピュータ７８で所望されるサービスにアクセスするためにサービステーブル９０の中の情報を使用する。さらに、現在好ましい実施形態では、インタフェースモジュール９２は再入可能コードである。
【００８９】
インタフェースモジュール９２は通信ポート９４を通して通信する。現在に設計では、接続モジュール９６は通信ポート９４を使用して通信を提供する。しかしながら、当業者は、インタフェースモジュール９２がリモートコンピュータ７８で通信ポート９４と直接的に接続するために必要なコードを含んでよいことを認識するであろう。通信モジュール９６またはコードは通信ポートにアクセスでき、データは適切なサイズにされてフォーマットされた断片として通信ポート９４に与えられ、通信ポート９４から受信されるデータはポート９４から正しく読み取られることを保証する。
【００９０】
ホストコンピュータ８４は、埋め込みデバイス２４の通信ポート９４と電子的に通信する通信ポート１００を含む。前述されたように、リモートコンピュータポート及び／または埋込式コンピュータポートと接続できるコンピュータとともに使用できる種々のこのようなポートがある。通信モジュール１０２は、埋込式コンピュータ７８の通信モジュール９６によって提供される機能に類似した機能を提供する。通信モジュール１０２は、通信ポート１００に書き込まれ、通信ポート１００から読み取られるデータを正しくフォーマットする。
【００９１】
ホストコンピュータ８４は、埋込式コンピュータ７８及び埋め込みデバイス２４で提供されるサービスにアクセスできる。本実施形態では、機能テーブル９８の一部、つまりインタフェースによりサポートされる情報は埋め込みデバイス２４から取り出され、それに基づきホストコンピュータ８４でおよび／またはサービステーブル９０に実質的に一致するサービス提供装置２０でサービスのリストが作成される。ホストコンピュータ８４でのサービスのリストはサービス情報１０４として図８に参照される。サービス情報１０４は、どのサービスが埋め込みデバイス２４で使用可能であるのか、及びある場合にはどのデータ型が個々のサービスとともに使用されるのかを示す。これは、埋め込みデバイス２４に対するホストコンピュータ８４を介したアクセスを容易にする。
【００９２】
現在の設計では、プロセスは、サービス情報１０４を作成させるホストコンピュータ８４で及び／またはサービス提供装置２０によって初期に開始される。デバイスアクセスコントローラ１０６はこの初期の命令を現在の設計で提供する。
【００９３】
前述されたように、実施形態は、コンピュータネットワーク２２と電子的に通信するコンピュータに、及びサービス提供装置２０に、埋め込みデバイス２４のサービスへのアクセスを提供してよい。コンピュータによるアクセスを容易にするために、ホストコンピュータ８４及び／またはサービス提供装置２０はサーバを含んでよい。ウェブサーバ１０８はホスとコンピュータ８４で、及び／またはサービス提供装置２０で始動され得る。ウェブサーバ１０８は、埋め込みデバイス２４でのサービスにウェブインタフェースを提供し得る。例えば、埋め込みデバイス２４のデータ及び／またはサービスはＨＴＭＬページを通して図で表されてよい。このようにして、デバイスアクセスコントローラ１０６は、埋め込みデバイス２４で使用可能なサービスからウェブページ（図示せず）を作成してよく、ウェブサーバ１０８はこれらのウェブページに対するＨＴＴＰ要求を満たしてよい。
【００９４】
デバイスアクセスサーバ１１０は、埋め込みデバイス２４のためのクライアント要求を満たすために、ホスとコンピュータ８４に、及び／またはサービス提供装置２０に含まれてよい。現在の設計では、デバイスアクセスサーバ１１０はサービス情報１０４にアクセスし、この情報を（例えば、データコントローラ３２が、及び／または制御／監視サービス３４など）コンピュータネットワーク２２全体でクライアントコンピュータのクライアントが使用できるようにする。
【００９５】
図９は、埋め込みデバイスのためのサービス提供装置２０の実施形態で活用され得るソフトウェア構成要素とデータ構成要素を描いている。サービス提供装置２０は、埋め込みデバイス情報のデータベース１１２を含む。このデータベース１１２は、コンピュータネットワーク２２と電子的に通信するコンピュータが使用できるようにされているし、あるいはコンピュータネットワーク２２と電子的に通信するコンピュータによってアクセスできるようにされている。ここで使用されるようなデータベースは、データを記憶するために使用される任意の１つまたは複数のデータ構造を意味する。データベースは１つまたは複数のファイルであってよく、それは市販されているデータベースパッケージ等であってよい。埋め込み情報データベース１１２は、当業者が埋め込みデバイス２４にサービスを提供するために必要とする特定の情報を含んでよい。図９に描かれている埋め込みデバイス情報データベース１１２の実施形態は、どの種のデータが埋め込みデバイス情報データベース１１２に記憶されてよいのかを描いている。埋め込みデバイス２４と通信する、または接続する方法を定義するデバイスインタフェース定義１１４が含まれてよい。表３はどの種類の情報が定義され、インタフェース定義１１４に含まれてよいのかを示す擬似コードを含んでいる。
【表３】
2006323808.tif 000005
【００９６】
表３に描かれているように、インタフェース定義はサービスの名称または識別、サービスの種類（例えば、それが関数であるのか、変数であるのか、イベントであるのか、ファイルであるのか等）、もしあれば入力パラメータ型、もしあれば戻り型、及びサービスのアドレスを含んでよい。行（３Ａ）に示される関数ＦｕｎｃｔｉｏｎＡについての情報は、それが関数であること、それが入力パラメータとしてワードを取ること、それが何も返さないこと（ボイド）、及びそのアドレスが＆ＦｕｎｃｔｉｏｎＡで示されることを示して描かれている。行（３Ｂ）は、別の関数ＦｕｎｃｔｉｏｎＢについての情報を示している。変数についての関連情報は行（３Ｃ）から（３Ｄ）に示されている。
【００９７】
イベントについての情報は行（３Ｅ）から（３Ｆ）に示されている。イベントは任意の種類のデータであってよい。例えば、イベントは変数、特定のレジスタ、割り込み等である場合があるであろう。イベントは非同期で発生する項目に特で有効であってよい。イベントの非同期型の例は、警報が突然鳴り出す、または外部ＬＥＤが変化することを含む。
【００９８】
特定のファイルについての情報は行（３Ｇ）と（３Ｈ）に描かれている。状態情報（３Ｉ）も含まれてよい。状態情報（３Ｉ）は埋め込みデバイス２４がどのように多様な状態にあってよいのかを定義し、情報は埋込式コンピュータ７８等のあらゆる状態機械を定義する。動作情報（３Ｊ）は、入力、出力及び／または状態の特定の集合を考慮して、埋込式コンピュータ７８がどのように反応し、動作するのかを示してよい。言うまでもなく、当業者が適当と思うように他の（３Ｋ）定義情報も含まれてよい。
【００９９】
デバイスタイプ１１２ａデータ構造はどの埋め込みデバイス２４にアクセスできるのか、及びこれらのデバイス２４の論理的なグルーピングについての情報を含み得る。デバイス機能１１２ｂデータ構造は、前述された機能表と同様に、それぞれの特定の埋め込みデバイス２４がどのような機能を有するのかについての情報を含み得る。デバイス登録済み１１２ｃ情報は、どの埋め込みデバイス２４がサービス提供装置２０と連絡しているのか、どのデバイスのサービスが支払われたのか等に関する情報を含み得る。デバイスロケーション１１２ｄは、埋め込みデバイス２４がどこに位置するのかを地理的な用語、または（例えば電話番号、ＩＰアドレス、経路選択情報等などの）電子的な用語のどちらかで示してよい。
【０１００】
埋め込みデバイス情報データベース１１２の情報は、埋め込みデバイス２４へアクセスすることなく作成されてよいし、あるいはそれは埋め込みデバイス２４から取得される情報から作成されてよい。
【０１０１】
ここの実施形態は機密保護手段も実現してよい。例えば、適切な権限を保持するエンティティによってのみアクセスされなければならない埋め込みデバイス及び／または埋め込みデバイス２４の特定のサービスがあってよい。このさらに具体的な例は自動販売機である。自動販売機は特定のエンティティによってのみアクセスされる必要があってよい、あるいはそれは例えば特定の品目の価格を変更する、支払いなしで特定の項目を落下させる、あるいは特定の品目を、それらが購入できないように隔離するなどの許可されたエンティティだけによってアクセスされなければならない特定の機能を有している場合がある。適切な認証及びアクセスを埋め込みデバイス２４に提供するために、サービス提供装置２０は、適切なクライアントアクセスを確証するためのセキュリティコード１１２ｅまたは情報を含んでよい。ユーザ名及びパスワードは適切な認証を確証するためにセキュリティコード１１２ｅに記憶されてよい。
【０１０２】
１１２ｆ情報を更新するためのデバイスは、なんらかの種類の更新を必要とする埋め込みデバイス２４のリスティングであってよい。転送データ１１２ｇは、埋め込みデバイス２４からの、または埋め込みデバイス２４に関するデータがどこに転送されなければならないのかを含んでよい。
【０１０３】
別のデータベース１１６は、エンティティ、情報等に関する情報をコンピュータネットワーク２２に記憶するためにサービス提供装置２０によって使用されてよく、このデータベース１１６及び／またはこのデータベース１１６内の情報は埋め込みデバイス２４が使用できるようにされてよい。このサービス情報データベース１１６は、製造メーカデータ１１６ｂだけではなく製造メーカロケーション１１６ａを含み得る。さらに、それは情報提供者のロケーション１１６ｃ及び該情報提供者３０によって提供される情報データ１１６ｄを記憶し得る。データコレクタロケーション１１６ｅは、どのデータがデータコレクタ３２によって要求されるのかとともに記憶され得る。制御／監視サービスロケーション１１６ｇ及びその要求１１６ｈが記憶され得る。制御／監視要求データ１１６ｈは、どのデバイスが制御／監視されなければならないのか、及びどの程度頻繁にそれらが制御／監視されなければならないのかを示すスケジュールデータ１１６ｉを含み得る。スケジュールデータ１１６ｉは、埋め込みデバイス識別及び経路選択データを含み得る。
【０１０４】
さらに、収集された他のデータ１１６ｊは、サービス情報データベース１１６に記憶され得る。この実施形態では、記憶されているロケーションはＩＰアドレスの形式であるが、特定のエンティティに連絡する方法を示すであろう他の種類のデータが記憶されてよいことが当業者によって理解されるであろう。
【０１０５】
情報収集マネージャモジュール１１８は、サービス情報データベース１１６に記憶される、及びサービス情報データベース１１６から読み取られるデータを管理してよい。同様に、埋め込みデバイスマネージャ１２０は、埋め込みデバイス情報データベース１１２に記憶され、読み取られるデータを管理してよい。管理者モジュール１２２は、サービス提供装置の動作及び管理モジュール１１８、１２０とサービス提供装置２０とともに含まれる他のモジュールの間の通信を調整してよい。
【０１０６】
図８に関して説明されたように、ウェブサーバ１２４及びデバイスアクセスサーバ１２６は、埋め込みサービス２４に、あるいは埋め込みデバイス２４のためのサービスを提供することを容易にするためにサービス提供装置２０に含まれ得る。コンピュータネットワーク通信モジュール１２８は、コンピュータネットワーク２２を介して達成された通信を処理してよい。埋め込みデバイス通信モジュール１３０は、埋め込みデバイス２４との通信を処理してよい。埋め込みデバイス通信モジュール１３０は、ハードウェア構成要素とソフトウェア構成要素の両方を含みえる。例えば、埋め込みデバイス２４がサービス提供装置２０に対して直接的にダイヤルインできる場合、埋め込みデバイス通信モジュール１３０は着信呼及びデータ通信を処理するための通信ソフトウェアだけではなくモデムバンク（図示せず）も含み得る。しかしながら、埋め込みデバイス通信モジュール１３０は、他の資源によって共用されている他の通信ハードウェアを使用してよい。このケースでは、埋め込みデバイス通信モジュール１３０は通常それが受信しなければならない通信を処理するためのソフトウェアを含むであろう。当業者は、サービス提供装置２０の実施形態で活用されてよい、多くの通信パッケージ及び代替策、つまりハードウェアとソフトウェア両方ともを認識する。
【０１０７】
図１０は、埋め込みデバイス２４にサービスを提供するためのシステム１３２を描くブロック図である。図示されるように、システム１３２は、電話交換局１３４によって調整される複数の埋め込みデバイスサービス提供装置２０を含み得る。電話交換極１３４は、コンピュータネットワーク２２を介して製造メーカ２８、情報提供者３０、データコレクタ３２及び制御／監視サービス３４との通信を調整してもよい。埋め込みデバイス２４の個々のサービス提供装置２０は、フィールドで使用されている埋め込みデバイス２４に適切に役立つために多様なロケーションに位置し得る。特定の埋め込みデバイス２４に応じて、いくつかのサービス提供装置２０は埋め込みデバイス２４にさらに近接する必要がある場合がある。他のサービス提供装置２０は近接ロケーションにある必要はないが、その埋め込みデバイス２４に物理的に近いのか、あるいは遠く離れているのかに関係なく電子接続だけを必要とする場合がある。
【０１０８】
図１１は、複数の埋め込みデバイス２４にサービスを提供するための実施形態の方法のステップを描く流れ図である。電子通信は、埋め込みデバイスのためのサービス提供装置２０と埋め込みデバイス２４の間に提供される（１３６）。次にメッセージが、埋め込みデバイス２４から受信される（１３８）。埋め込みデバイス２４は受信されるメッセージを使用して特定される（１４０）。この識別は特定の埋め込みデバイス２４の、あるいは埋め込みデバイス２４の種類のどちらかである。サービス提供装置２０は、埋め込みデバイス情報データベースにアクセスされる（１４２）。ここの実施形態では、サービス提供装置２０は、埋め込みデバイス情報データベース１１２にアクセスした後に埋め込みデバイス２４を特定できる。したがって、当業者は、多くのここのステップが実質的に類似した結果を達成するために多様な順序で実行されてよいことを理解するであろう。サービス提供装置２０は、埋め込みデバイス２４に送信メッセージを送信し（１４４）、トランザクションを記述するデバイス情報を記憶してよい（１４６）。トランザクションについての（送信または受信されたメッセージ（複数の場合がある）についての）情報が料金請求書作成発行目的で使用されてよい。
【０１０９】
また、他のステップも本実施形態を実施する際に実行されてよい。例えば、（サービス情報データベース１１６に格納される）コンピュータネットワークから新規に取得された情報は埋め込みデバイス情報データベース１１２内の特定の情報にリンクされてよい。したがって、サービス提供装置２０は特定のデバイス２４またはデバイスの種類に対処するときに更新された情報に気付くであろう。埋め込みデバイス２４から受信されるメッセージは、番号、テキスト文字列等であってよい埋め込みデバイス識別子を取得するために解析されてよい。ここで実践される方法は、埋め込みデバイスを監視または制御するために制御／監視要求のスケジュールデータも使用してよい。
【０１１０】
図１２は、複数の埋め込みデバイス２４にサービスを提供するための実施形態の方法のステップを描く流れ図である。要求者（ユーザ、企業または他のエンティティ）は、サービス提供装置２０の実施形態に１台または複数台の埋め込みデバイス２４を監視する、及び／または制御するように依頼する（１４８）。要求者は埋め込みデバイス２４のロケーション（電子アドレスであるのか、物理的なロケーションであるのかに関係なく）または識別をサービス提供装置２０に提供する（１５０）。サービス提供装置２０は、埋め込みデバイス２４によって必要とされ得るあらゆるデータ更新またはソフトウェア更新を取得する（１５２）。これは、製造メーカ２８のウェブサイトにアクセスすることによって行われてよい。
【０１１１】
サービス提供装置２０は、次に埋め込みデバイス２４を制御／監視するために反復ループを入力する。提供装置２０は監視または制御するための次のデバイス２４を獲得する（１５４）。これが監視／制御するデバイスの特定のリストを通る第１の反復であるかどうかに応じて、このステップは特定のリストの中の次のデバイスを獲得するか、または第１のデバイスを獲得するかのどちらかであってよい。次にサービス提供装置２０は、デバイスにメッセージを送信し（１５６）、通信を確立する。提供装置２０はデバイスからインタフェースデータであり得るデータを要求し１５８、取得されたデータを記憶する。制御が要求された場合、サービス提供装置２０はデバイス２４に制御データを送信する（１６２）。この制御データは制御を容易にするためにデバイス２４に対する命令または指示を含んでよい。要求者がレポートまたはステータスを要求した場合、サービス提供装置２０は要求者にレポートまたはステータスを送信する（１６４）。それからサービス提供装置２０は次のデバイスを獲得し、追加デバイスごとにステップを周期的に繰り返す。
【０１１２】
埋め込みマイクロインターネットワーキング技術（Ｅｍｂｅｄｄｅｄ Ｍｉｃｒｏ Ｉｎｔｅｒｎｅｔｗｏｒｋｉｎｇ Ｔｅｃｈｎｏｌｏｇｙ（ＥＭＩＴ）ソフトウェアは、埋め込みマイクロコントローラからソフトウェアの大半を移動し、それをネットワーク上のより能力の高いコンピュータに分散することを目的としている。ＥＭＩＴは既存のインターネット技術を活用するためにも開発された。
【０１１３】
ＥＭＩＴソフトウェアの使用は、カスタマの埋め込みアプリケーション、（埋め込みインタフェースモジュールに相関する）ｅｍＭｉｃｒｏソフトウェア、及びカスタマの監視／制御アプリケーションを含む多様な構成要素を必要とする。これらの埋め込み環境は、埋め込みシステム、ホストコンピュータ及びクライアントコンピュータを含む。
【０１１４】
図１３をここで参照すると、追加の実施形態の主要な構成要素のブロック図が描かれている。図１３で分かるように、この図は前述された図１に類似している。したがって、図１及び他の図の前記説明の多くが図１３に図示される実施形態に等しく適用することを理解する。しかしながら、簡潔にするためにこの前記説明の多くは繰り返さない。
【０１１５】
図１３に示される実施形態は前述されたサービス提供装置２０に類似してよい、及び／または同一であってよい埋め込みデバイスサービス提供装置２２０を含む。しかしながら、図１３に図示される実施形態では、サービス提供装置２２０は、サービス提供装置２２０が該１つまたは複数の埋め込みデバイス２４と直接的に電子的に通信していないという点で、前述されたサービス提供装置２０とは異なる。むしろ、さらに詳しく後述されるように、サービス提供装置２２０はコンピュータネットワーク２２及びメッセージ記憶／送信装置（「ＭＳＴＣ」）２０２を通して埋め込みデバイス２４と通信する。
【０１１６】
ＭＳＴＣ２０２は、コンピュータネットワーク２２と通信するデバイスまたは構成要素である。したがって、技術で既知である多様なタイプのハードウェアとソフトウェアがＭＳＴＣ２０２の一部として使用される、または含まれてよい。いくつかの実施形態では、ＭＳＴＣ２０２はコンピュータネットワーク２２上でｅメールメッセージを送信する及び／または受信することによってコンピュータネットワーク２２と通信するメールサーバ２０４を備える。他の実施形態では、ＭＳＴＣ２０２はネットワーク２２上でメッセージを送信する／受信するメッセージ待ち行列２０６を備えてよい。言うまでもなく、当業者は、他の種類のデバイスも使用してよいことを認識するであろう。
【０１１７】
また、ＭＳＴＣ２０２は、通信ネットワーク２２を介してサービス提供装置２２０と通信する。いくつかの実施形態では、この通信はサービス提供装置２２０に追加され得るコンピュータネットワーク通信モジュール２２８を介して発生する。一般的には、コンピュータネットワーク通信モジュール２２８は、コンピュータネットワーク２２を介して達成される通信を処理するために特に設計される／プログラミングされる構成要素であり、前述されたコンピュータネットワーク通信モジュール１２８に類似する、及び／または同一であってよい。一般的に、コンピュータネットワーク通信モジュール２２８は、通信を容易にする及び／または通信がネットワーク２２を介して発生できるようにする多様なソフトウェア及び／またはハードウェア構成要素を含む。
【０１１８】
埋め込みデバイス通信モジュール２３０は、サービス提供装置２２０に追加されてもよく、ＭＳＴＣ２０２との通信を処理するために使用されてよい。さらに特定すると、埋め込みデバイス通信モジュール２３０はＭＳＴＣ２０２から受信された通信の情報を処理する／解釈するために、及び／または適切な／必要な応答を決定するために使用されてよい。
【０１１９】
ここで図１４を参照すると、ブロック図は埋め込みデバイス２４にサービスを提供するためのシステム２３２を描く。図１４に図示されるシステムは、図１０に関連して前記に概略されたシステム１３２に類似している。しかしながら、システム２３２は前述されたシステムと、それがコンピュータネットワーク２２’とＭＳＴＣ２０２を介して埋め込みデバイス２４’と間接的に通信するように設計される１台または複数台のサービス提供装置２２０を含んでいる点で異なる。図１４に図示されるように、サービス提供装置２２０は、それが前述されたように他の埋め込みデバイス２４と直接的に通信できるように構成されてもよい。
【０１２０】
図１４では、コンピュータネットワーク２２’はコンピュータネットワーク２２から別個のはっきりと区別できる要素として示されている。しかしながら、このような表現は図面を明確にするために為されるにすぎず、制限的であると解釈されるべきではない。コンピュータネットワーク２２’がコンピュータネットワーク２２と同じである他の実施形態もなされてよい。
【０１２１】
図１４に示されるシステム２３２は、電話交換局１３４がネットワーク２２’を介してＭＳＴＣ２０２と通信するように構成されている。言うまでもなく、電話交換局１３４が、代わりに電話交換局１３４によって送信される情報を、ネットワーク２２’を介してＭＳＴＣ２０２に送信する／転送するサービス提供装置２２０とだけ通信する他の実施形態もなされてよい。
【０１２２】
ここで図１５を参照すると、サービス提供装置２２０が埋め込みデバイス２４にサービスを提供するために使用され得る方法が描かれている。特に、図１５は、複数の埋め込みデバイス２４にサービスを提供するための実施形態の方法３００のステップを描く流れ図である。第１に、埋め込みデバイスのためのサービス提供装置２２０と通信ネットワーク２２の間に電子通信が提供される（３０２）。次に、ＭＳＴＣ２０２から送信されたメッセージがサービス提供装置２２０によって受信される（３０４）。一般的には、ＭＳＴＣ２０２によって送信されるこのメッセージは、埋め込みデバイス２４からＭＳＴＣ２０２に過去に送信された情報を含む。いくつかの実施形態では、このステップは、埋め込みデバイス２４にコンピュータネットワーク２２を介してＭＳＴＣ２０２に初期のｅメールを送信させることによって達成される。この初期のｅメールおよび／またはこの初期のｅメールから引き出される情報は、次にネットワーク２２を通してサービス提供装置２２に送信／転送される。言うまでもなく、提供装置２２０にＭＳＴＣ２０２に埋め込みデバイス２４によって過去に送信された情報を受信させる他の方法も使用されてよい。
【０１２３】
方法３００の次のステップは、ＭＳＴＣ２０２に情報を送信した特定の埋め込みデバイス２４を特定すること（３０６）を含む。この特定は特定の埋め込みデバイス２４または埋め込みデバイス２４の種類のどちらかであってよい。いくつかの実施形態では、詳細に前述されたように、情報はＭＳＴＣ２０２から送信されるメッセージにデバイス識別子を含ませることによって達成される。追加の実施形態では、この識別は、ＭＳＴＣ２０２から送信されるメッセージにデバイス記述を含ませることも必要としてよい。前述されたように、この種のデバイス記述は、埋め込みデバイス２４によって収集または記憶される関数、変数、データ型、イベント、ファイル、及び／または他の情報に関連する情報を含んでよい。
【０１２４】
埋め込みデバイス２４がＭＳＴＣ２０２にインタフェースデータを送信し、そのインタフェースデータがＭＳＴＣ２０２によってサービス提供装置２２０に送信されるようなさらに追加の実施形態が構築されてよい。前述されたように、このインタフェースデータは記憶装置で提供装置２２０によって記憶されてよい、及び／またはコンピュータネットワーク２２を介して要求者または他の第三者に送信されてよい監視データに変換されてよい。
【０１２５】
いったん埋め込みデバイス２４が特定されると、方法３００の次のステップは、提供装置２２０に埋め込みデバイス情報データベースにアクセスさせる（３０８）ことを含む。サービス提供装置２２０は、特定された埋め込みデバイス２４にＭＳＴＣ２０２によって送信され得る情報を含む送信メッセージをＭＳＴＣ２０２に送信する（３１０）。再び、いくつかの実施形態では、このステップは、提供装置２２０にネットワーク２２を介してＭＳＴＣ２０２に情報を含むｅメールメッセージを送信させることによって達成される。ＭＳＴＣ２０２は、このｅメールメッセージを埋め込みデバイス２４に送信してよい、及び／またはＭＳＴＣ２０２はｅメールからの情報のすべてまたは一部を抽出し、埋め込みデバイス２４に新しい通信を送信してよい。
【０１２６】
ＭＳＴＣ２０２に送信されるメッセージが、ＭＳＴＣ２０２によって埋め込みデバイス２４に送信されるように設計される制御データを含むいくつかの実施形態もなされてよい。さらに詳細に前述されたように、この制御データは、それが、埋め込みデバイスの動作及び／または特性に影響を及ぼすために埋め込みデバイスにロードされるコンピュータコードと対話するように設計されてよい。追加の実施形態では、サービス提供装置２２０にロードされるスケジュールデータ１１６ｉは、この周期的な制御データがＭＳＴＣ２０２にいつ送信されるのかを決定してよい。（デバイス製造メーカから取得された）コンピュータプログラムコードの更新、更新されたサービス情報、（天気情報等などの）情報提供者３０から取得される情報、監視データ、及び／または他の種類の情報／データを含む他のタイプの情報も、それが埋め込みデバイス２４に送信できるようにＭＳＴＣ２０２に送信されてよい。
【０１２７】
最後に、方法３００の最後のステップは、トランザクションを説明するデバイス情報を記憶すること（３１２）を含む。（送信または受信されたメッセージ（複数の場合がある）についての）トランザクションについての情報は料金請求書作成発行または他の目的のために使用されてよい。
【０１２８】
本実施形態を実践する上で他のステップが実行されてもよい。例えば、（サービス情報データベース１１６に格納される）コンピュータネットワークからの新規に取得された情報は、埋め込みデバイス情報データベース１１２の中の特定の情報にリンクされてよい。このようにして、サービス提供装置２２０は、特定のデバイス２４またはデバイスの種類を処理する際に更新済みの情報に気付くであろう。埋め込みデバイス２４から受信されるメッセージは、番号、テキスト文字列等であってよい埋め込みデバイス識別子を取得するために解析されてよい。ここに実践される方法は、埋め込みデバイスを監視または制御するために制御／監視要求のスケジュールデータも使用してよい。
【０１２９】
図１６は、複数の埋め込みデバイス２４にサービスを提供するための実施形態の方法４００のステップを描く流れ図である。要求者（ユーザ、企業、または他のエンティティ）は、サービス提供装置２２０の実施形態に１台または複数台の埋め込みデバイス２４を監視する、及び／または制御するように依頼する（４０２）。要求者は、埋め込みデバイス２４のロケーション（電子アドレスであるのか、物理的なロケーションであるのかに関係なく）ロケーション、または識別をサービス提供装置２２０に提供する（４０４）。埋め込みデバイス２４の識別の一例はｅメールアドレスであってよい。サービス提供装置２２０は、埋め込みデバイス２４によって必要とされ得るあらゆるデータ更新またはソフトウェア更新を取得する（４０６）。これは、例えば、製造メーカ２８のウェブサイトにアクセスことによって行われてよい。
【０１３０】
次にサービス提供装置２２０は、埋め込みデバイス２４を制御／監視するために反復ループを入力する。提供装置２２０は、監視または制御するための次のデバイス２４を獲得する（４０８）。これが監視／制御するためのデバイスの特定のリストを通る第１の反復であるかどうかに応じて、このステップは特定のリストの中の次のデバイスを獲得するか、あるいは第１のデバイスを獲得するかのどちらかであってよい。
【０１３１】
サービス提供装置２２０は、代わりに埋め込みデバイス２４と通信するＭＳＴＣ２０２にメッセージを送信する（４１０）。提供装置２２０は、デバイス２４からデータを要求するＭＳＴＣ２０２にメッセージを送信する（４１２）。再び、このメッセージ及び／またはそこに含まれる情報はＭＳＴＣ２０２によって埋め込みデバイス２４に送信される。いくつかの実施形態では、サービス提供装置２２０によって要求される情報は、インタフェースデータ及び／または埋め込みデバイス２４のステータス／状態に関する他のデータであってよい。
【０１３２】
いったん埋め込みデバイス２４がＭＳＴＣ２０２から情報要求を受け取ると、埋め込みデバイス２４はＭＳＴＣ２０２に応答（４１４）を送信する。再びこの応答及び／または該応答に含まれる情報はＭＳＴＣ２０２によってサービス提供装置に送信される。必要とされる場合、または所望される場合、サービス提供装置２２０は埋め込みデバイス２４によって送信されたデータ／情報を記憶する（４１６）。
【０１３３】
埋め込みデバイス２４の制御が要求されると、サービス提供装置２２０はデバイス２４に制御データを送信する（４１８）。この制御データは、制御を容易にするためにデバイス２４のための命令または指示を含んでよい。要求者がレポートまたはステータスを要求した場合、サービス提供装置２２０は要求者にレポートまたはステータスを送信する（４２０）。それからサービス提供装置２２０は次のデバイスを獲得し、各追加デバイスごとにステップを周期的に繰り返す。
【０１３４】
前記に列挙された方法は、ステップが実行されてよい特定の順序を与えたが、当業者は実質的に類似した結果を達成するためにここの多くのステップが多様な順序で実行されてよいことを認識するであろう。
【０１３５】
前記説明から、本実施形態が埋め込みデバイス及び／または埋め込みシステムのためのサービス提供装置を提供することが理解されるであろう。
【０１３６】
ここの実施形態は、それらの精神または本質的な特性から逸脱することなく他の特定の形式で具現化されてよい。説明された実施形態は、制限的ではなく、全ての点で単に例示的として考慮されるべきである。したがって、本発明の範囲は、前記説明によってではなく、添付請求項によって示される。請求項の意味及び同等性の範囲内となるすべての変更はそれらの範囲内で容認されるべきである。
【０１３７】
本発明の特定の実施形態及び応用例は図解、説明されてきたが、本発明がここに開示されている正確な構成及び構成要素に制限されないことが理解されなければならない。当業者にとって明らかとなる多様な変型、変更及び変形は、本発明の要旨及び範囲から逸脱することなく本発明の方法及びシステムの配列、動作及び詳細でなされてよい。
【図面の簡単な説明】
【０１３８】
【図１】埋め込みデバイス及びここに開示されている実施形態のためのサービス提供装置の使用で通常活用される主要な構成要素を描くブロック図である。
【図２】デバイス製造メーカから入手可能であるデータのブロック図である。
【図３】情報提供者から入手可能なデータまたは情報のブロックである。
【図４】データコレクタによって収集され得るデータまたは情報のブロック図である。
【図５】制御／監視サービスによって使用され得るモジュール及びデータまたは情報のブロック図である。
【図６】通常埋め込みデバイスで活用される主要なハードウェア構成要素を描くブロック図である。
【図７】通常埋め込みデバイスネットワークで活用される主要なハードウェア構成要素を描くブロック図である。
【図８】埋め込みデバイスネットワークの実施形態の主要なハードウェア構成要素とソフトウェア構成要素のブロック図である。
【図９】埋め込みデバイスのためのサービス提供装置の実施形態で活用され得るソフトウェア構成要素とデータ構成要素を示す。
【図１０】埋め込みデバイスにサービスを提供するためのシステムを描くブロック図である。
【図１１】複数の埋め込みデバイスにサービスを提供するための実施形態の方法のステップを描く流れ図である。
【図１２】複数の埋め込みデバイスにサービスを提供するための実施形態の方法のステップを描く流れ図である。
【図１３】新しい実施形態のサービス提供装置の使用で通常活用される主要な構成要素、及びそれがどのように使用されてよいのかを描くブロック図である。
【図１４】埋め込みデバイスにサービスを提供するためのシステムの別の実施形態を描くブロック図である。
【図１５】複数の埋め込みデバイスにサービスを提供するための別の実施形態の方法のステップを描く流れ図である。
【図１６】複数の埋め込みデバイスにサービスを提供するための別の実施形態の方法のステップを描く流れ図である。
【符号の説明】
【０１３９】
２０  サービス提供装置
２２  コンピュータネットワーク
２４  埋め込みデバイス
２６  デバイスネットワーク
２８  デバイス製造メーカ
３０  情報提供者
３２  データコレクタ
３４  制御／監視サービス
３６  埋め込みソフトウェア更新
３８  機能表
４０  デバイス情報
４２、５２  その他の情報
４４  天気情報
４６  日付／時刻情報
４８  バーコード情報
５０  ステータス情報
５４  メータ読み取り
５６  料金請求書発行データ
５８  レート情報
６０  使用量データ
６２  性能情報
６４  ステータス／保守データ
６６  情報データベース
６８  通知データベース
７０  管理モジュール
７２  通信モジュール
７４  監視機能
７６  制御機能
７８  埋込式コンピュータ
８０  入力装置
８２  出力装置
８４  ゲートウェイコンピュータ
８６  入力／出力ポート
８８  埋め込みアプリケーションプログラム
９０  サービス表
９２  インタフェースモジュール
９４、１００  通信ポート
９６、１０２  通信モジュール
１０４  サービス情報
１０６  デバイスアクセスコントローラ
１０８  ウェブサーバ
１１０  デバイスアクセスサーバ
１１２  埋め込みデバイス情報データベース
１１４  デバイスインタフェース定義
１１６  サービス情報データベース
１１８  情報収集マネージャモジュール
１２０  埋め込みデバイスマネージャ
１２２  管理者モジュール
１２４  ウェブサーバ
１２６  デバイスアクセスサーバ
１２８  コンピュータネットワーク通信モジュール
１３０  埋め込みデバイス通信モジュール
１３２  システム
１３４  電話交換局
【図１】
2006323808.tif 000006
【図２】
2006323808.tif 000007
【図３】
2006323808.tif 000008
【図４】
2006323808.tif 000009
【図５】
2006323808.tif 000010
【図６】
2006323808.tif 000011
【図７】
2006323808.tif 000012
【図８】
2006323808.tif 000013
【図９】
2006323808.tif 000014
【図１０】
2006323808.tif 000015
【図１１】
2006323808.tif 000016
【図１２】
2006323808.tif 000017
【図１３】
2006323808.tif 000018
【図１４】
2006323808.tif 000019
【図１５】
2006323808.tif 000020
【図１６】
2006323808.tif 000021