JP4360062B2 - コンピュータと埋め込み装置をネットワークに接続する装置インターフェース - Google Patents
コンピュータと埋め込み装置をネットワークに接続する装置インターフェース Download PDFInfo
- Publication number
- JP4360062B2 JP4360062B2 JP2001573239A JP2001573239A JP4360062B2 JP 4360062 B2 JP4360062 B2 JP 4360062B2 JP 2001573239 A JP2001573239 A JP 2001573239A JP 2001573239 A JP2001573239 A JP 2001573239A JP 4360062 B2 JP4360062 B2 JP 4360062B2
- Authority
- JP
- Japan
- Prior art keywords
- computer
- interface
- remote computer
- interface definition
- host computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Information Transfer Between Computers (AREA)
Description
(技術分野)
この発明は、コンピュータ・ソフトウエアに関し、特に、コンピュータ・ネットワークを介して埋め込み装置へのアクセスを行う新規なシステムと方法に関する。
【0002】
(技術背景)
近年、日常生活にかかわるコンピュータ・テクノロジは大いに増大している。今日の世界では、コンピュータ・テクノロジは、人の1日の多くの局面に係わっている。今日消費者により使用されている多くの装置は、内部に小コンピュータを有している。これらの小コンピュータは、大きさと精巧度が変化して来ている。これらの小コンピュータは、1つのマイクロ・コントローラから十分に便利な完全コンピュータ・システムにわたる全てのものを包含している。例えば、これらの小コンピュータは、マイクロ・コンピュータのようなワンチップ・コンピュータ、コントローラのようなワンボード式のコンピュータ、IBM−PC互換性のあるような一般的なデスクトップ・コンピュータ、などであってもよい。
【0003】
(コンピュータにより満足される特定の必要性に依存してかなり大型のコンピュータとなり得る)小コンピュータは、ほとんど常にそのコンピュータの中心部に1個以上のプロセッサを有している。これらのプロセッサは、通常、互いに異なる外部入出力に接続されて特定の装置を管理するように機能する。例えば、ソーダ・ポップ(味付ソーダ水入びん)の自動販売機のプロセッサは、このソーダ・ポップの選択に使用されるボタン、ソーダ・ポップをユーザに落とすことができるスイッチ、及びこの自動販売機は特定種類のソーダ・ポップをもはや有していないということを示すライトに接続してもよい。
【0004】
コンピュータ・テクノロジは、日常生活の多くの面に係わっている。多くの装置などは1つ以上の小コンピュータを有している。例えば、冷蔵庫、電話機、タイプライタ、自動車、自動販売機、及び多くの異なる種類の産業装置は、全てその内部に小コンピュータまたはプロセッサを有している。コンピュータ・ソフトウエアは、これらのコンピュータのプロセッサを作動して、このプロセッサに対して特定の仕事を実行するために何をすべきかを告げる。例えば、自動販売機のプロセッサで動作するコンピュータ・ソフトウエアは、ユーザにより間違いない硬貨が入れられた時にソーダ・ポップをユーザに落とすことができる。
【0005】
装置、工具などの一部であるこれらの種類の小コンピュータは、しばしば埋め込み装置と呼ばれている。「この埋め込み装置」なる用語は、より大きなシステムの一部であるコンピュータ・ハードウエアとソフトウエアのことを通常は言う。埋め込み装置は、通常、キーボード、マウス、及びモニタまたはそのいずれかのような一般的な入出力装置を有してはいない。通常、各埋め込み装置の中心部には1つ以上のプロセッサがある。
【0006】
一般的に、種々の装置などで今日使用されている埋め込み装置は多くの記憶能力を有してはいない。結果として、この埋め込み装置に記憶できるデータ量は有限である。単に有限な記憶装置の場合、埋め込み装置は、もし更に多くの利用可能な記憶装置を有していたとした場合に有することができるほど多くの特徴及び能力は有しないであろう。
【0007】
一部の埋め込み装置は、この埋め込み装置とより大きなコンピュータ・システムとの間で何らかの通信を可能にするためにコンピュータ・ネットワークに接続されている。しかし、埋め込み装置は、他のコンピュータ・システムと有効的かつ効率的に通信をするための機能をしばしば備えてはいないので、通信能力は通常有限である。更に、埋め込み装置と通信する手段は、しばしば速度の遅い種類の通信路であるので、有限のデータ量のみがその埋め込み装置に送られ及びこの埋め込み装置から受信する。
【0008】
埋め込み装置の不自然なメモリ資源のため及び一般的に制限される通信手段のために、コンピュータ・ネットワークと埋め込み装置との有限な対話が利用できるだけである。埋め込み装置の互いに異なる部分との通信が困難なるために、その対話の使用はしばしば制限される。
【0009】
(発明の要約)
ここに広く開示した実施例に従って、ホスト・コンピュータと、装置のアクセスに使用される遠隔コンピュータとを有するネットワーク接続のコンピュータ・システムで使用されるシステムが開示される。このシステムは、ホスト・コンピュータの通信ポートへ及びこの通信ポートからデータを転送する通信モジュールを有している。このシステムは、ホスト・コンピュータに電子通信によって接続された記憶装置からのインタフェース定義にアクセスするデータ・インタフェース・モジュールも有している。インタフェース定義へのアクセスは、インタフェース定義識別子の使用により達成される。装置アクセス・コントローラは、通信モジュールを介して遠隔コンピュータと通信するためにこのシステムで利用もされる。この装置アクセス・コントローラは、遠隔コンピュータにロードされたコンピュータ・プログラム・コードからインタフェース定義識別子を得る。更に、装置アクセス・コントローラは、インタフェース定義を得るためにデータ・インタフェース・モジュールを介して記憶装置にアクセスし、インタフェース定義を得るためにインタフェース定義識別子を使用する。ここに開示の実施例では、遠隔コンピュータにロードされたコンピュータ・プログラム・コードから得られた複数のインタフェース定義識別子が存在してもよい。
【0010】
ここに開示の実施例に従って実施される方法は、ホスト・コンピュータと遠隔コンピュータとの間に電子的通信を確立するステップと、インタフェース定義識別子を受信するステップと、記憶装置からのインタフェース定義をインタフェース定義識別子の使用によりアクセスするステップとを有してもよい。方法は、遠隔コンピュータとの通信のためにホスト・コンピュータにインタフェースを提供するステップと、インタフェースを介して遠隔コンピュータとの通信を容易にするステップとを更に有する。
【0011】
この実施例の他の特徴は、添付図面に関連する次の記載及び上記の請求項から更に十分に明らかとなろう。これらの図面は典型的な実施例のみを示すので、本発明の範囲を制限するものと考えられるべきではないと理解されるべきであり、実施例は、更に特定し及び詳細に添付図面を使用して記載する。
【0012】
ここに一般的に記載し図面に示した実施例の要素は、多種類の異なる構成で配列し設計することができるということは容易に理解されよう。従って、図1から10までに示したシステム及び方法の実施例の次の更に詳細な記載は、請求になる本発明の範囲を制限しようとするものではなく、単に本発明の実施例を示すものである。
【0013】
本発明の実施例は、図面に関して最も良く理解されよう。図面では類似の部品は、図面にわたり類似の数字により示される。
本実施例は、図面の参照により最もよく理解されよう。図面で類似の部品は、図面に亘り類似の数字により示される。
ここに広く開示した実施例に従って、ホスト・コンピュータと、装置のアクセスに使用される遠隔コンピュータとを有するネットワーク接続のコンピュータ・システムで使用されるシステムが開示される。このシステムは、ホスト・コンピュータの通信ポートへ及びこの通信ポートからデータを転送する通信モジュールを有している。このシステムは、ホスト・コンピュータに電子通信によって接続された記憶装置からのンタフェース定義にアクセスするデータ・インタフェース・モジュールも有している。インタフェース定義へのアクセスは、インタフェース定義識別子の使用により達成される。装置アクセス・コントローラは、通信モジュールを介して遠隔コンピュータと通信するためにこのシステムで利用もされる。この装置アクセス・コントローラは、遠隔コンピュータにロードされたコンピュータ・プログラム・コードからインタフェース定義識別子を得る。更に、装置アクセス・コントローラは、インタフェース定義を得るためにデータ・インタフェース・モジュールを介して記憶装置にアクセスし、インタフェース定義を得るためにインタフェース定義識別子を使用する。ここに開示の実施例では、遠隔コンピュータにロードされたコンピュータ・プログラム・コードから得られた複数のインタフェース定義識別子が存在してもよい。
【0014】
インタフェース定義は、コンピュータ・プログラム・コードに関する情報を有してもよい。遠隔コンピュータのコンピュータ・プログラム・コードまたはアプリケーション・コード、またはその組み合わせは、装置に関連したサービスを提供するものであってもよい。遠隔コンピュータは、特定のサービスを記載し、または、この特定のサービスに関連するサービス・リストを有してもよい。このサービス・リストは、機能、変数、データの種類、イベント及びファイルのリストを有する種々の種類の情報を有してもよい。
【0015】
システムは、遠隔コンピュータ及びこの遠隔コンピュータで利用できるサービス(例えば、機能、変数、データの種類、イベント及びファイル)またはそのいずれかにアクセスするクライアント・コンピュータからの要求を受信する装置アクセス・サーバを有してもよい。
ここに開示の実施例に従って実施される方法は、ホスト・コンピュータと遠隔コンピュータとの間に電子的通信を確立するステップと、インタフェース定義識別子を受信するステップと、記憶装置からのインタフェース定義をインタフェース定義識別子の使用によりアクセスするステップとを有してもよい。方法は、遠隔コンピュータとの通信のためにホスト・コンピュータにインタフェースを提供するステップと、インタフェースを介して遠隔コンピュータとの通信を容易にするステップとを更に有する。
【0016】
方法は、遠隔コンピュータへのアクセスを行う要求をクライアント・コンピュータから受信するステップを更に有してもよい。インタフェースは、クライアント・コンピュータに提供されてもよい。この方法は、クライアント・コンピュータからインタフェースに基づく要求を受信することを含んでもよい。インタフェースに基づく要求は、インタフェースの使用によりクライアント・コンピュータで作成されたものである。インタフェースに基づく要求に関するメッセージをホスト・コンピュータから遠隔コンピュータへ送られてもよい。遠隔コンピュータは、この遠隔コンピュータに送られたメッセージに応答してホスト・コンピュータへ装置データを送信してもよい。
【0017】
もちろん、この方法は、コンピュータの読み取り可能な媒体に記憶された実行可能命令で実行してもよいということは当業者に理解されよう。
図1は、本実施例で一般的に利用される主なハードウエア要素を示すブロック線図である。本実施例では、システムと方法は、ネットワーク接続のコンピュータ・システム10で使用される。このネットワーク接続のコンピュータ・システム10で、ホスト・コンピュータ12は、埋め込み装置14に接続されている。一般的に、埋め込み装置14は、入力装置18と出力装置20に接続されたコンピュータ16を有している。本実施例で、コンピュータ16は、埋め込みコンピュータ16である。特に本実施例では、コンピュータ16は、マイクロ・コントローラ(図示せず)である。しかし、当業者には、マイクロ・コントローラにより普通実行される機能及び処理は、更に大きいプロセッサが、より大きなコントローラの一部または一般的なコンピュータ・システムの一部であるか否かに関係なくその大きなプロセッサにより実行できるということが理解されよう。
【0018】
埋め込みコンピュータ16は、ホスト・コンピュータ12から離れている。それは、埋め込みコンピュータ16とホスト・コンピュータ12は、各々、単独で機能することができるコンピュータであるからである。「遠隔」なる用語は、埋め込みコンピュータ16がホスト・コンピュータ12とは異なる場所にあるということを必ずしも意味しないが、多くの実施例では、ホスト・コンピュータ12は、埋め込みコンピュータ16とは異なる場所にある。「埋め込みコンピュータ16」と「遠隔コンピュータ16」なる用語は、本明細書では相互に交換して使用されることがある。遠隔コンピュータ16により記憶、および実施またはそのいずれかでなされると述べたそれら要素は、ある状況の場合にはホスト・コンピュータ12により記憶および実施またはそのいずれによりなすこともできる。
【0019】
本システム及び方法は、多数種類のコンピュータ・ネットワーク10に対し広範な用途を有している。一般的に、コンピュータ・システム10は、埋め込み装置14の監視及び制御またはそのいずれかのため1つ以上のクライアント・コンピュータを有している。遠隔コンピュータ16は、この遠隔コンピュータ16と電子通信可能な入力装置18及び出力装置20またはそのいずれかに対し、換言すれば、電気信号の形で入力及び出力またはそのいずれかでできる装置18、20に作動接続される。時には、入出力装置18、20と遠隔コンピュータ16は、両者同一の物理構造内に収容される。
【0020】
ホスト・コンピュータ12と遠隔コンピュータ16は、両者とも広く定義されたデジタル・コンピュータである。本明細書で使用されるコンピュータは、データの受信及び処理の可能なデジタル・プロセッサを有する任意の装置である。コンピュータは、マイクロ・コンピュータ、ハンドヘルド・コンピュータ、パーソナル・コンピュータ、サーバ、メインフレーム、スーパー・コンピュータ、及びその任意の種類または関連装置を含む広範な範囲のデジタル・コンピュータを包含する。
【0021】
入出力装置18、20は、電気信号の受信及び発生またはそのいずれかの可能な任意の要素、機構、装置などを含む。装置なる用語の範囲内にある装置の例としては、自動販売機、電話機、ドア錠、温度センサ、モータ、スイッチ及びライトを含む。
【0022】
現代設計では、ホスト・コンピュータ12は、一般的には、リナックス、マイクロソフト・ウインドウズ95/98/2000またはマイクロソフト・ウインドウズNTのオペレーティング・システムを動作させるIBM互換のパーソナル・コンピュータである。遠隔コンピュータ16は、一般的には、埋め込みプロセッサ(図示せず)を有していて、前述のように、しばしばマイクロ・コントローラを含む。入出力装置18、20は、プロセッサがインタフェース接続及び相互連絡をすることができる電子インタフェースを備えた任意の装置であってもよい。
【0023】
ここでの実施例で使用してもよい1つの可能な品目は、自動販売機(図示せず)である。多くの自動販売機は、この自動販売機の異なる部分を制御する1つ以上のマイクロ・コントローラを有している。これらのマイクロ・コントローラは、遠隔コンピュータ16の範囲内に入るものである。入出力装置18、20は、自動販売機から品目を選択するボタン、これらの品目をユーザに落とすことができるスイッチ、どの品目が無くなったかを示すライト、任意の硬貨を開放する硬貨開放部などを有している。当技術で知られているように、この自動販売機の実施例は、同一構造内に統合された入出力装置18、20及び遠隔コンピュータ16を有している。従って、本システム及び方法は、このような環境で実施してもよい。当業者は、遠隔コンピュータ16がその取り付けた入出力装置18、20とは別の構造内にあってもよいということも理解できる。現代装置の多くは、埋め込みマイクロ・コントローラを備えて来ており、例えば、多くのセルラ電話機、ページャなどは、埋め込みマイクロ・コントローラを有して来ている。
【0024】
ホスト・コンピュータ12は、RS232、RS485、モデム、電力線、有線接続、無線接続などを含む多種類の接続を介して遠隔コンピュータ16に接続されることがある。同様に、遠隔コンピュータ16は、多種類の方法で種々の入出力装置18、20に接続されることがある。前述のように、一般的に、遠隔コンピュータ16は、マイクロ・コントローラ(図示せず)を有している。マイクロ・コントローラは、外部装置と通信する入出力ポートをしばしば有している。特定のマイクロ・コントローラの仕様は、しばしば、このマイクロ・コントローラに装置が如何に接続されるかを述べている。当業者は、種々の装置が埋め込みコンピュータ、標準デスクトップ・コンピュータ、メインフレームなどであるか否かに関係なく、コンピュータに如何に接続できるかを理解している。
【0025】
前述のように、クライアント・コンピュータ22は、コンピュータ・システム10内に含めてもよい。このような構成により、ユーザは、長距離にわたっても、ホスト・コンピュータ12を介し遠隔コンピュータ14でサービスにアクセスすることができる。ホスト・コンピュータ12とクライアント・コンピュータ22は、LAN、WANなどのようなコンピュータ・ネットワーク24に共に全て接続してもよい。更に、クライアント・コンピュータ22は、ダイアルアップ接続、イントラネット、またはインターネットを介してホスト・コンピュータ12に遠隔の場所から接続してもよい。
【0026】
図2は、本実施例の主なハードウエアとソフトウエアの要素のブロック線図を示す。図示のように、図2のハードウエア要素は、図1のそれらと相関関係を有している。当業者は、種々のハードウエア要素を相互接続する多種類の方法が存在し、1つのハードウエア要素から他のハードウエア要素に機能性を移動することにより、1つ以上のハードウエア要素を除去してもよい種々の構成が存在するということを理解するであろう。
【0027】
本実施例により、ユーザは、ホスト・コンピュータ12を介して埋め込みコンピュータ16により提供されるサービスを監視、及び制御またはそのいずれかとすることができる。埋め込みコンピュータ16のサービスは、コンピュータ・ネットワーク10を介して効率的な方法でアクセスすることができるようにこの実施例により開示される。
【0028】
本実施例では、入力装置18及び出力装置20またはそのいずれかからのデータは、入出力ポート26を介して読み込まれ、及び書き出されるかまたはそのいずれかによる。埋め込みアプリケーション・プログラム28は、これらの入出力ポート26と直接やり取りする実行可能命令を有している。通常、埋め込みアプリケーション28は、再三再四ずっと繰り返される主ループを有している。もちろん、埋め込みアプリケーションの開発者は、連続的にずっと繰り返される主ループは有しないアプリケーションを書き込んでもよい。ここでの原理は、主ループを持たないこれらのアプリケーションに適用して本実施例で実現されるのとほぼ同一の恩恵をあたえることができる。
【0029】
埋め込み、すなわち、遠隔のコンピュータ16、その特性及び能力についての基本情報は、本実施例の実施に有用である。この基本情報は、能力表30で遠隔コンピュータ16に記憶してもよい。能力表30は、ファイルとして記憶してもよく、またはアプリケーション28とコンパイルされた状態データとして記憶してもよく、または遠隔コンピュータ16の外部の記憶装置(図示せず)に記憶してもよい。当業者は、遠隔コンピュータ16とその接続された入力装置18及び出力装置20またはそのいずれかの基本能力を記憶する種々の方法が存在するということを理解しよう。表1は、どの種類の情報が能力表30に記憶してよいかを示す擬似コードを含んでいる。
【0030】
【表1】
【0031】
表1に示したように、能力表は、遠隔コンピュータがどんなインタフェース定義(1A)をサポートするかの表示を有してもよい。インタフェース定義(1A)のフィールドとその使用は、更に十分に以下記載する。能力表は、線(1B)で示したバイト配列形式を示してもよい。このバイト配列形式(1B)は、遠隔すなわち埋め込みコンピュータ16が大きな終端物であるか、または小さな終端物であるかを示すものであってもよい。この能力表は、その特定の遠隔すなわち埋め込みコンピュータ16のために線(1C)で示した装置識別がどんなものであるかを示すものであってもよい。線(1D)で示した装置アドレスは、もしあるとすれば、能力表30に記憶してもよい。
【0032】
互換性のためには、線(1E)で示した、使用されるソフトウエア用のバージョン番号は記憶してもよい。同様に、線(1F)で示した通信プロトコル・バージョン番号も記憶してもよい。通信についての詳細も記憶してよい。例えば、表1に示したように、線(1G)で示した最大通信パケット・サイズは記憶してもよい。
【0033】
線(1H)で示した非揮発性記憶フラグは、遠隔コンピュータ16によりアクセス可能な非揮発性記憶装置が存在するか否かを示すものであってもよい。線(1I)で示した非揮発性記憶装置の大きさ及びその開始アドレスのような非揮発性記憶装置についての適切な情報も記憶してよい。線(1J)で示した静的ファイル・システム・フラグは、静的ファイル・システムが存在するか否かを示すものであってもよい。同様に、線(1K)で示した動的ファイル・システム・フラグは、動的ファイル・システムが存在するか否かを示すものであってもよい。
【0034】
ホスト・コンピュータ12のソフトウエアが能力表30を要求し、埋め込みコンピュータ16の特性及び能力を確認することができるという点で能力表30は有用である。しかし、更に十分に以下説明するように、ここに開示したシステム及び方法に関連するインタフェース・サポートのフィールド(1A)は、全能力表30をホスト・コンピュータ12に転送したり、この能力表の等価情報をホスト・コンピュータ12に転送したりする必要をなくしてもよい。
【0035】
クライアント・コンピュータ22及びホスト・コンピュータ12またはそのいずれかで動作するソフトウエアを介して、ユーザは、遠隔の埋め込みコンピュータ16により提供される特定のサービスにアクセスしたいことがあろう。このサービスは、異なる機能、変数、イベント及びファイルまたはそのいずれかを有する。例えば、ユーザは、特定の機能の実行、特定の変数へのアクセス、特定のイベントについてのチェックまたは特定のファイルへのアクセスを望むことがあろう。現在の設計では、ユーザがアクセスを必要とする可能性のあるサービスは、識別されてリストアップされる。サービスの識別は、特定のサービスについての情報をも含む。特定のサービスのこの識別は、種々の方法で達成してもよい。例えば、現在の設計では、サービスの表32は、遠隔コンピュータ16に記憶してもよい。サービス表32は、ファイルとして記憶してもよいし、または、アプリケーションとコンパイルされた静的データとして記憶してもよいし、または、遠隔コンピュータ16の外部の記憶装置(図示せず)に記憶してもよい。当業者は、埋め込みコンピュータ16で動作するアプリケーション・コード28により提供される特定のサービスについての基本情報を記憶する種々の方法が存在するということを理解するであろう。表2は、どんな種類の情報がサービス表32に記憶してよいかを示す擬似コードを含んでいる。
【0036】
【表2】
【0037】
表2に示したように、サービス表32は、サービスの名称または識別、サービスの種類(例えば、それが機能、変数、イベントまたはファイルなどであるか否か)、もしあれば入力パラメータの種類、リターンの種類、及びサービスのアドレスのような情報を含んでもよい。線(2A)で示した機能「FunctionA」についての情報は示してあり、すなわち、それが機能であり、それが入力パラメータとしてワードを取り、それが何もリターンしない(無)、そのアドレスが&FunctionAで示されるということが示してある。線(2B)は、他の機能FunctionBについての情報を示す。変数についての適切な情報は、線(2C)〜(2D)に示してある。イベントについての情報は、線(2E)〜(2F)に示してある。イベントは、任意の種類のデータであってもよい。例えば、イベントは、変数、特定のレジスタ、割り込みなどとすることができる。イベントは、非同期的に生じる品目について特に有用であろう。非同期的な種類のイベントの例には、アラームの発信、または外部LEDの変化を含む。特定のファイルについての情報は、線(2G)と(2H)に示してある。
【0038】
遠隔コンピュータ16に特定サービスについての情報を記憶することによって、ホスト・コンピュータ12のソフトウエアは、遠隔コンピュータ16でどんなサービスが利用できるかを容易に確認することができる。通常、アプリケーション・コード28は、サービスを定義している。サービス表32は、特定のサービスについての情報を提供するように機能し、この情報は、ホスト・コンピュータ12のユーザに、またはこのホスト・コンピュータ12に接続されたクライアント・コンピュータ22のユーザに有用となる。
【0039】
現在の設計では、埋め込みインタフェース・モジュール34は、遠隔コンピュータ16におけるサービスとホスト・コンピュータ12で動作するソフトウエアとの間でアクセスを行う。ここに開示の実施例では、インタフェース・モジュール34は、遠隔コンピュータ16の所望サービスにアクセスするためにサービス表32の情報を使用する。更に、現在好適な実施例では、インタフェース・モジュール34は再入会員コードである。
【0040】
インタフェース・モジュール34は、埋め込み通信ポート36を介して通信を行う。現在の設計では、通信モジュール38は、通信ポート36を使用して通信を行う。しかし、当業者は、インタフェース・モジュール34が遠隔コンピュータ16における通信ポート36と直接インタフェース接続するに必要なコードを有してもよい。通信モジュール38または通信コード38は、通信ポート36へアクセスしてデータが適当な大きさでフォーマットされたデータ片で通信ポート36に与えられ、かつ、通信ポート36から受信したデータが正しくポート36から読み取られるということを保障する。
【0041】
ホスト・コンピュータ12は、遠隔コンピュータ16の通信ポート36と電子通信をする通信ポート40を有している。前述のように、遠隔及び埋め込みまたはそのいずれかのコンピュータ・ポート36とインタフェース接続可能なコンピュータで利用可能な多種類のこのようなポートが存在する。通信モジュール42は、遠隔コンピュータ16の通信モジュール38により提供される特徴に似たものを提供する。通信モジュール42は、通信ポートに対し書き込まれたり、この通信ポートから読み出されたりするデータのフォーマットを正しく作成する。
【0042】
ホスト・コンピュータ12は、埋め込みコンピュータ16で提供されたサービスに対するアクセスを行う。本実施例では、能力表30の一部、すなわちインタフェース・サポート情報は、埋め込みコンピュータ16から検索されて、この埋め込みコンピュータ16からそのサービスのリストがサービス表32にほぼ対応するホスト・コンピュータ12で作成される。ホスト・コンピュータ12のサービスのリストは、図2においてはサービス情報44と云われる。サービス情報44は、遠隔コンピュータ16においてどんなサービスが利用できるか、及び、もしあるとすればどんなデータの種類が個々のサービスで使用されるかを示す。これにより、ホスト・コンピュータ12を介して遠隔または埋め込みコンピュータ16へのアクセスが容易になる。
【0043】
現在の設計では、サービス情報44を作成させる処理がホスト・コンピュータ12で最初に開始される。装置アクセス・コントローラ46は、現在の設計でこの開始方向を与える。
【0044】
前述のように、実施例では、ホスト・コンピュータ12と電子通信するクライアント・コンピュータ22に対し、埋め込みコンピュータ16のサービスへのアクセスを提供してもよい。クライアント・コンピュータ22によるアクセスを容易にするため、ホスト・コンピュータ12はサーバを有してもよい。ウェブ・サーバ48は、ホスト・コンピュータ12において開始されてもよい。ウェブ・サーバ48は、遠隔コンピュータ16でのサービスに対しウェブ・インタフェースを提供してもよい。例えば、遠隔コンピュータ16のデータ及びサービスまたはそのいずれかは、HTMLページを介してグラフで表示されてもよい。従って、装置アクセス・コントローラ46は、遠隔コンピュータ16で利用可能なサービスからウェブ・ページ(図示せず)を作成してもよく、ウェブ・サーバ48は、これらのウェブ・ページについのHTTP要求に対しサービスしてもよい。
【0045】
装置アクセス・サーバ50は、遠隔コンピュータ16のサービスに対するクライアントの要求にサービスするために、ホスト・コンピュータ12に含めてもよい。現在の設計では、装置アクセス・サーバ50は、サービス情報44にアクセスし、この情報をクライアント・コンピュータ22のクライアントに利用可能とする。
【0046】
クライアント・コンピュータ22は、クライアント・アプリケーション52と装置アクセス・クライアント54を有してもよい。装置アクセス・クライアント54は、遠隔コンピュータ16のサービスにアクセスするために装置アクセス・サーバ50と通信する。クライアント・アプリケーション52は、サービスに関する情報を得るために装置アクセス・クライアント54を使用してもよい。クライアント・アプリケーション52は、ホスト・コンピュータ12に配置されたウェブ・サーバ48からのデータにアクセスすることもできる。例えば、クライアント・アプリケーション52は、ウェブ・サーバ48に接続可能なウェブ・ブラウザであってもよい。
【0047】
図3で、有効な方法で遠隔コンピュータ16でどんなサービスが利用可能かを有効に通信するために1組のインタフェース定義を作成してもよい。図3には、使用のために利用可能な全ての埋め込み装置のグループ56を示す埋め込み装置空間56が示してある。この埋め込み装置空間56は、別々のグループ58に分割してもよい。例えば、装置種類Aのグループ58aを形成し、装置種類Bのグループ58b及び装置種類Cのグループ58cを形成してもよい。グループ58は、各グループのメンバーが少なくとも1つ以上の類似の特性を有する論理グループ(複数)に特定の装置をいっしょに分類してもよい。例えば、装置種類Aのグループ58aは、自動販売機装置用のものであってもよい。他の例示的なグループには、セルラ電話機、冷蔵庫、温度制御装置、コピー機などが含まれる。
【0048】
各グループ58内には、異なる種類の遠隔コンピュータ16用の特定のインタフェース定義60が存在してもよい。各インタフェース定義60は、特定の組の機能、変数、イベント、ファイル、挙動、状態、及びその特定のインタフェース定義60を満足するものとしてそれ自体を提供する任意の遠隔コンピュータ16によりサポートされる他の情報を定義する。従って、埋め込みエンジニアが遠隔コンピュータ16を含む埋め込み装置を設計している時にもし埋め込みエンジニアが本実施例の恩恵を利用することを望む場合、この埋め込みエンジニアは、しかるべく埋め込み装置をサポートし、設計し、実施するために適切なインタフェース定義60を選択してもよい。更に、受け入れ可能なインタフェース定義60が万一存在しないならば、埋め込みエンジニアは、新しいインタフェース定義60を定義して、それをその使用及び知識またはそのいずれかから恩恵を受ける可能性のある人に公開し、そのシステムの設計及び実施を行ってもよい。
【0049】
種々のインタフェース定義60が図3において、A1、A2、A3、などで表されている。当業者は、遠隔コンピュータ16または埋め込み装置の特性を定義する種々の方法が存在するということを理解するであろう。表3は、どんな種類の情報を定義して、インタフェース定義60に含ませてもよいかを示す擬似コードを含んでいる。
【0050】
【表3】
【0051】
表3に示したように、インタフェース定義は、サービスの名称または識別、サービスの種類(例えば、それが機能、変数、イベント、ファイルなどであるか否か)、もしあるとすれば入力パラメータの種類、リターンの種類、及びサービスのアドレスのような情報を含んでもよい。線(3A)で示した機能「FunctionA」についての情報は示してあり、すなわち、それが機能であり、それが入力パラメータとしてワードを取り、それが何もリターンしない(無)、そのアドレスが&FunctionAで示されるということが示してある。線(3B)は、他の機能、すなわちFunctionBについての情報を示す。変数についての適切な情報は、線(3C)〜(3D)に示してある。
【0052】
イベントについての情報は、線(3E)〜(3F)に示してある。イベントは、任意の種類のデータであってもよい。例えば、イベントは、変数、特定のレジスタ、割り込みなどとすることができる。イベントは、非同期的に発生する品目について特に有用であろう。非同期的な種類のイベントの例には、アラームの発信、または外部LEDの変化がある。
【0053】
特定のファイルについての情報は、線(3G)と(3H)に示してある。状態情報(3I)は含めてもよい。状態情報(3I)は、遠隔コンピュータ16がどんな種々の状態にあり得るかを定義する情報、遠隔コンピュータ16の任意の状態機構を定義する情報などを含んでもよい。挙動情報(3J)は、特定の組の入力、出力及び状態またはそのいずれかが与えられると、遠隔コンピュータ16がどのように反応し挙動を示すかを示すものであってもよい。もちろん、当業者が適切に理解しているように、情報を定義する他のもの(3K)を更に含めてもよい。
【0054】
図4は、特定の埋め込み装置と、この埋め込み装置がサポートするインタフェースまたはこの特定の埋め込み装置が従うインタフェース定義との間には1対多の対応が存在することができるということを示す表である。図4の装置Alphaは、図3のA1インタフェース定義60をサポートする。装置Betaは、1つ以上のインタフェース定義60をサポートする、すなわち、それはC3とC6をサポートする。図4は、他の特定の埋め込み装置が1つ以上のインタフェース定義60をサポートすることができるということを示す。
【0055】
図5は、実施例の遠隔コンピュータ16を示し、更にサービス表32と能力表30に含めてもよい品目を示す。表2に関して記載したように、サービス表32は、遠隔コンピュータ16の機能32a、変数32b、イベント32c及びファイル32dまたはそのいずれかについての情報を含んでもよい。能力表30は、遠隔コンピュータ16用のインタフェース識別30aを含むデータを有するものであってもよい。図4に示したように、遠隔コンピュータ16は、1つ以上のインタフェース定義識別子を含んでもよい。これらのインタフェース定義識別子は、特定のインタフェース定義を識別する方法として使用することができるデータの番号、列または任意の他のデータであってもよい。本実施例の使用により、ホスト・コンピュータ12は、遠隔コンピュータ16自体から全ての定義情報を得ることを要せずに、そのインタフェース識別子30aを得るだけで特定の遠隔コンピュータ16について多くを確認することができる。このことは、有用であろう。その理由は、ある環境では遠隔コンピュータ16が他のコンピュータに対し多量の情報を送るために必要な通信能力を有しないからである。能力表30は、必要に応じて他の構成情報30bを有してもよい。
【0056】
図6は、一実施例のホスト・コンピュータ12を示し、更に、ホスト・コンピュータ12で使用してもよいソフトウエアの要素または機能性を示す。ホスト・コンピュータ12は、内部インタフェース・データベース62を有してもよい。この内部インタフェース・データベース62は、インタフェース定義識別子64により示される幾つかのインタフェース定義60を含んでいてもよい。従って、装置アクセス・コントローラ46は、遠隔コンピュータ16からインタフェース定義識別子64を得ると、遠隔コンピュータ16によりサポートされた特定のインタフェース定義60にアクセスするとともにこれを検索するために、データベース・インタフェース66を介して内部インタフェース・データベース62にアクセスしてもよい。従って、ホスト・コンピュータ12は、遠隔コンピュータ16から遠隔コンピュータ16を定義する情報の全てを受信せずに遠隔コンピュータ16を定義する情報を得てもよい。
【0057】
内部インタフェース・データベース62の他に、外部インタフェース・データベース68があってもよい。この外部インタフェース・データベース68は、データベース・インタフェース66が、内部インタフェース・データベース62で特定のインタフェース定義60を発見することができない時にアクセスされるものであってもよい。外部インタフェース・データベース68は、ホスト・コンピュータ12が接続されるコンピュータ・ネットワークに配置してもよい。更に、外部インタフェース・データベース68は、インターネット、ダイアルアップ接続を経由してイントラネットなどを介してアクセス可能なものであってもよい。装置アクセス・コントローラ46は、外部インタフェース・データベース68からの更新により内部インタフェース・データベース62を周期的に更新してもよい。
【0058】
ここに開示の実施例は、特定の装置についての種々のインタフェース定義60を使用することによりセキュリティ処置を実行してもよい。例えば、然るべき権威を保持する自主独立体によってのみアクセスされるものとすべきである遠隔コンピュータ16に利用可能な幾つかのサービスが存在してもよい。この更に特定した例は、自動販売機である。自動販売機は、例えば、特定の品目についての価格を変化し、支払いを行わずに特定の品目を落下させ、または、特定の品目が購入できないようにこの特定の品目をロックする能力のような委任を受けた自主独立体によりアクセスされるだけにすべき特定の機能を有してもよい。1つのインタフェース定義60は、これらの管理機能へのアクセスを提供するものであってもよい。しかし、自動販売機を利用する他の人達は、一般的には、これらの管理機能へはアクセスを行わない。従って、自動販売機は、管理者インタフェース及び非管理者インタフェースを包含する幾つかのインタフェースをサポートするものであってもよい。ここに開示の実施例では、自動販売機の遠隔コンピュータ16は、これらのインタフェースの両方にとってのインタフェース定義識別子64を含むものであってもよい。ここに開示の実施例では、それは、然るべき許可に基づいて任意のクライアント・アプリケーション52に対し然るべきインタフェースを提供するためのホスト・コンピュータ12の仕事であってもよい。
【0059】
然るべき許可に基づいて任意のクライアント・アプリケーション52に対し然るべきインタフェースを提供するために、データ・アクセス・コントローラ46は、セキュリティ・インタフェース・モジュール72を介してセキュリティ・データベース70にアクセスすることができる。セキュリティ・データベース70は、然るべきクライアント・アプリケーション52を確認するための、または、どんな特定のインタフェースが特定のクライアント・アプリケーション52に対して提供されるべきかをセキュリティ・データベース70における索引(図示せず)でルックアップするための情報を含んでもよい。ユーザの名称及びパスワードは、然るべき許可を確認するためにセキュリティ・データベース70に記憶してもよい。更に、あり得るクライアント・アプリケーション52の索引(図示せず)は、そのクライアント・アプリケーション52に提供されるべきインタフェースのリスト(図示せず)と共に記憶してもよい。もちろん、外部セキュリティ・データベース74は、当業者に理解されるように、使用されアクセスされるものであってもよい。例えば、装置アクセス・コントローラ46は、セキュリティのために、コンピュータ・ネットワーク(例えば、インターネット、イントラネット、LANなど)を介して外部セキュリティ・データベース74にアクセスしてもよい。図10は、クライアント・アプリケーション52に対して然るべきインタフェースを提供する場合に従うことができるステップを示す。
【0060】
図7は、インタフェース・データベース62において特定のインタフェース定義60を識別するために、遠隔コンピュータ16の能力表30におけるインタフェース定義識別子64が如何に使用できるかを示す。インタフェース・データベース62とインタフェース定義60は、ここに述べた情報の種類並びに当業者に有用の可能性ある任意の更なる情報を含んでもよい。例えば、インタフェース定義60は、機能、変数、イベント、ファイル、挙動、状態、及びインタフェース定義60に包含させるために適当であると当業者が見る遠隔コンピュータ16及び埋め込みシステムまたはそのいずれかについての任意の他の情報のような表3に関して述べた情報を含んでもよい。
【0061】
インタフェース定義60から作成されたサービス情報44は、オブジェクトの実施であってもよく、それにより、このサービス情報44はカプセル化される。この実施例のユーザは、ホスト・コンピュータ12でソフトウエア・オブジェクトを使用することによって遠隔コンピュータ16のサービス情報44をカプセル化してもよい。そのソフトウエア・オブジェクト(図示せず)は、遠隔コンピュータ・システム14の少なくとも一部のオブジェクト表示を提供するものであってもよく、この遠隔コンピュータ・システム14は、遠隔コンピュータ16とこれに接続した装置18、20との両者を含むものである。オブジェクトの一部は、遠隔コンピュータ16により提供されるサービスにアクセスするために主に使用してもよい。ホスト・コンピュータ12でオブジェクトを実施することによって、開発者は、オブジェクト指向の解析及び設計の恩恵を提供する。遠隔コンピュータ16で価値あるメモリ資源を使用せずにそのオブジェクト指向の解析及び設計の多くの恩恵を提供される。現在の設計では、遠隔コンピュータでの記憶に必要な品目のみが遠隔コンピュータ16に記憶される。もちろん、当業者には、遠隔コンピュータ16がかなりの記憶量に本当にアクセスするとしたら、更に多くの品目を遠隔コンピュータ16に記憶することができるということを理解するであろう。
【0062】
オブジェクトとは、データ構造の記載である。本明細書で使用されるオブジェクトは、データ及び機能またはそのいずれかをカプセル化する抽象的なデータ形式である。従って、当業者は、特定のプログラミング言語のオブジェクト指向の特徴を使用せずにオブジェクトに等価なデータ構造を実施することができよう。特に、本明細書で使用されるオブジェクトは、ソフトウエア開発者がC++またはSmalltalkのようなオブジェクト指向言語を使用するということを要求はしない。本発明の範囲内のオブジェクトは、任意のプログラミング言語で実施することができる。例えば、オブジェクトは、C、C++、パスカル、フォートラン、アセンブラ言語などで実施することができる。現代設計では、Cプログラミング言語が使用されている。
【0063】
図8は、本システムと方法を実施する場合に従うことができるステップを示す流れ図である。一般的に、開示された実施例を使用してこの実施例から恩恵を受けたいと思う開発者は、ホスト・コンピュータ12とインタフェース接続する可能性ある遠隔コンピュータ16を備えた埋め込み装置を設計する。遠隔コンピュータ16は、入出力用の外部装置18、20と通信を行う。開発者は、一般的に、装置入力18を受信し、処理し、出力20を発生する埋め込みアプリケーション28の設計もする。ここに開示のシステムと方法から恩恵を受ける1つの方法は、図8に示してある。遠隔コンピュータの埋め込みアプリケーション28を実際に設計すると共に、この設計を実施する前に、開発者は、自分の立場に適した利用可能な1つ以上のインタフェース定義60を識別することができる76。例えば、人が電話用の埋め込み装置を設計するとしたら、人は、電話機のカテゴリ、通信装置のカテゴリ、セルラ電話機のカテゴリ、または、インタフェース定義の任意の他の適当なカテゴリから適当なインタフェース定義60を識別しよう。
【0064】
インタフェース定義60を76で識別した後に、開発者は、インタフェース定義60の仕様を満足させるために埋め込みアプリケーションを78で設計して実行される。開発者は、インタフェース定義60で定義された任意の機能、変数、イベント、ファイル、状態、挙動などが、その新しく設計されたアプリケーションに見られるということを保障すべきである。開発者は、装置によりサポートされたインタフェースが、ホスト・コンピュータ12に対し全記載を送る必要なしに識別子64により容易に識別できるように、遠隔コンピュータ16に配置されるべきコード内にインタフェース定義識別子64を80で配置する。
【0065】
装置が設計され、試験された後に、装置は、82で製造または使用へと進められてもよい。他のコンピュータは、監視、制御、他の用途のために遠隔コンピュータ16に接続してもよい。次にホスト・コンピュータ12は、遠隔コンピュータ16から任意のインタフェース定義識別子64を要求して得てもよい。インタフェース定義識別子64がホスト・コンピュータ12に送られた後に、ホスト・コンピュータ12は、88において、インタフェース・データベース62、68で特定のインタフェース定義60をルックアップしてもよい。インタフェース・データベース62、68から一度得られると、ホスト・コンピュータ12は、インタフェース定義により規定される仕様に従って埋め込み装置のサービスに90においてアクセスすることができる。
【0066】
図2と図5に示したように、別々の埋め込みインタフェース・モジュール34は書かれてもよい。この埋め込みインタフェース・モジュール34は、ホスト・コンピュータ12のソフトウエアから受信できる種々の要求に答えるように書かれてもよい。別のインタフェース・モジュール34を作成することにより、埋め込みアプリケーション28は、遠隔コンピュータ16のサービスに焦点を維持してもよい。現在の設計では、埋め込みアプリケーション28は、その主動作ループ内において埋め込みインタフェース・モジュール34に対し機能呼び出しを行って、ホスト・コンピュータ12からの要求に答える時間を提供するよう一般的には変形される。埋め込みインタフェース・モジュール34は、何らかの処理を行って、主動作ループに戻る。インタフェース・モジュール34は、主動作ループが任意の必要なイベント及び処理またはそのいずれかをし損なわないように短い充分な時間内に主動作ループに制御を戻すものとする。
【0067】
他の好適な実施例では、埋め込みインタフェース・モジュール34は、周期的に呼び出される割り込みサービス・ルーチンにより呼び出すことができる。
図9は、ホスト・コンピュータ12におけるソフトウエア要素を実施する場合に従うことができるステップを示す流れ図である。もちろん、異なるステップは、本実施例を達成するために実施することができる。図9のステップは、本システム及び方法の原理を示し、本明細書に示した原理の広さについて制限することを意味しない。ホスト・コンピュータ12のソフトウエアの動作を始動するために、ユーザは、装置アクセス・コントローラ46を92において始動してもよい。現在の設計では、装置アクセス・コントローラ46は、遠隔コンピュータ46と通信するための通信モジュール42を有している。
【0068】
現在の設計では、装置アクセス・コントローラ46は、埋め込みインタフェース・モジュール34を公知の状態に94においてリセットする。これには、任意の状態変数、データなどのリセットを含む。本実施例では、埋め込みインタフェース・モジュール34は、肯定応答を装置アクセス・コントローラ46に送り返すことによってリセットしたことを通知する。
【0069】
装置アクセス・コントローラ46は、遠隔コンピュータ16からインタフェース定義識別子64を96において要求もする。インタフェース定義識別子64を介して、ホスト・コンピュータ12で動作するソフトウエアは、遠隔コンピュータ16がどんな能力を有しているかについて気づくであろう。次に、ホスト・コンピュータ12は、インタフェース定義識別子の使用により任意の識別されたインタフェース定義を98において検索しまたはルックアップする。インタフェース定義を得ることによって、ホスト・コンピュータ12のソフトウエアは、遠隔コンピュータ16の特定のサービスに関するサービス情報44を作成し維持することができる。次に、ホスト・コンピュータ12は、この情報をホスト・コンピュータ12のユーザまたはこの情報を要求するクライアント・ソフトウエアに提供してもよい。
【0070】
上述のように、本実施例は、オブジェクト指向技術を使用して実施してもよい。もしユーザがオブジェクト指向技術を使用したい場合、装置インタフェース・オブジェクトを100において作成してもよい。この装置オブジェクトは、インタフェース定義から検索される情報の全てあるいは一部をカプセル化してもよい。
【0071】
クライアント22からの要求にサービスする場合に、ホスト・コンピュータ12で使用されるべき任意のサーバは、始動する必要がある。例えば、ウェブ・サーバ48は、クライアント・コンピュータ22におけるウェブ・ブラウザからの要求にサービスするために102において始動することができる。更に、または代替的に、装置アクセス・サーバ50は、遠隔コンピュータ16についての情報にアクセスを行い、また遠隔コンピュータ16へのアクセスを行う場合に104において始動することができる。図2に示したように、クライアント・アプリケーション52及び装置アクセス・クライアント54またはそのいずれかは、クライアント・コンピュータ22で始動してもよい。ソフトウエアがホスト・コンピュータ12で一度作動すると、このソフトウエアは、受信する要求にサービスするように106において動作する。このソフトウエアは、その動作を108において停止するまで一般的にその要求に106においてサービスし続ける。
【0072】
クライアント・アプリケーション52は、遠隔コンピュータ16におけるサービスにまだ気づいていない場合、まず通常利用可能なサービスのリストを要求する。ウェブ・サーバ48、装置アクセス・サーバ50または類似のサーバのいずれかであるサーバは、要求を受信してサービス情報を検索する。本実施例の特定の実施がオブジェクト指向のアプローチを使用するか否かに依存して、サーバは、サービス情報44から直接またはこの情報を返すように設計され実施された機能から、または装置オブジェクトからサービス情報を検索することができる。
【0073】
次に、サーバは、このサービス情報をクライアント52に送る。クライアントは如何なるサービスが遠隔コンピュータ16で利用できるかを一度知ると、そのサービスに関する特定のデータ及び動作またはそのいずれかを要求してもよい。クライアントは、特定の変数値を要求してもよい。クライアント・ソフトウエア52を介してユーザは、遠隔コンピュータ16におけるイベントまたはデータの状態を知るために、この遠隔コンピュータ16に特定の変数値を要求してもよい。例えば、遠隔コンピュータ16は、温度センサと電子通信状態にあってもよく、変数に温度センサのデータを記憶してもよい。ユーザは、遠隔コンピュータ16でどんな温度が検出されるかを知るようにするためにその変数値がどんなものであるかを知りたいことがあろう。
【0074】
サーバは、特定値の要求を受けて、適当な装置オブジェクトまたは機能的に等価なソフトウエアに変数を要求してもよい。その要求の受信時に、アクセス・コントローラは、埋め込みインタフェース・モジュール34にその特定値を要求するメッセージを送る。ホスト・コンピュータと遠隔コンピュータとの間のハードウエア及びソフトウエアの通信路は、図2に関して示され記載されたものであってもよい。
【0075】
処理についての次の呼び出し時に、埋め込みインタフェース・モジュール34は、メッセージを受信して、その変数にアクセスし、その変数に含まれる値を読み取る。その変数値を検索した後、埋め込みインタフェース・モジュール34は、その値を、通信路を介して装置オブジェクトに送る。装置オブジェクトは、この値を一度受信すると、その値をサーバに送り返す。次に、サーバは、クライアントからの要求に答えて、その変数値をクライアント・ソフトウエアに送る。
【0076】
図6に関して述べたように、本実施例は、然るべきアクセスを遠隔コンピュータ16に提供するセキュリティ方法を実施してもよい。図10は、然るべきインタフェースをクライアント・アプリケーションに提供するためにセキュリティ・コードを使用して従うことができるステップを示す流れ図である。本実施例では、クライアント・アプリケーション52は、装置アクセスの要求をホスト・コンピュータ12に110において送ってもよい。装置アクセス・サーバ50は、その要求を112において受信して、所有してもよい任意のセキュリティ・コードについてクライアント・アプリケーション52に質問してもよい。次に、クライアント・アプリケーション52は、所有してもよい任意のセキュリティ・コードを114において送ることができる。
【0077】
クライアント・アプリケーション52がどんなセキュリティ・コードも送らない場合、装置アクセス・サーバ50は、デフォルト・インタフェースまたは任意のセキュリティ・コードを要求しないインタフェースを116において提供してもよい。セキュリティ・コードが送られると、装置アクセス・サーバ50は、セキュリティ・データベース70でそのコードをルックアップし、そのコードに基づいてどんなインタフェースが提供されるべきかを見い出し、次に、データベース70により示されるインタフェースをクライアント・アプリケーション52に118において提供してもよい。次に、ホスト・コンピュータ12は、任意のクライアント・アプリケーション52により受信された要求にサービスする状態に120において入ってもよい。
【0078】
emWare、Inc.からの市販のソフトウエアは、本実施例の実施において使用される。emWare、Inc.は、そのウェブ・サイトを介してwww.emWare.com.で接触することができる。当業者は、emWareからの市販のソフトウエア品目が如何に本実施例と使用できるかを理解しよう。次は、本実施例で使用されているemWareのテクノロジの一般的基本的記載である。
【0079】
emWareのビジネスは、電話機、家庭装置、オフィス装置、ATM、セキュリティ・システム、VCR、自動車などを含む、今日の世界で使用されている多くの電子装置を管理するマイクロ・コントローラに集中している。マイクロ・コントローラは、何百万のインテリジェント電子装置内に埋め込まれている。
【0080】
emWareは、分散型ネットワークに基づく装置制御を提供するテクノロジ及びソフトウエアを開発している。emWare’s Embedded Micro Internetworking Technology(EMIT)のソフトウエアは、埋め込みマイクロ・コントローラからソフトウエアの大部分を移動して、それをネットワークを介して更に有能なコンピュータに分配するように設計されている。EMITは、現存のインターネット・テクノロジに対し影響力を行使するように開発されてもいる。
【0081】
EMITソフトウエアの使用には、次を含む種々の要素が係わる。すなわち、顧客の埋め込みアプリケーション28、(埋め込みインタフェース・モジュール34に相関関係を有する)emMicroソフトウエア、emGatewayソフトウエア、(通信モジュール38と42に相関関係を有する)emNetソフトウエア、及び顧客の監視/制御アプリケーション52。一般的に、emWareの潜在的な顧客は、彼らの監視及び制御能力を高めるためにemWareのEMITソフトウエアを彼らが配置を計画している埋め込み環境を既に有している。一般的に、これらの埋め込み環境は、埋め込み装置14、ホスト・コンピュータ12及びクライアント・コンピュータ22を包含する。
【0082】
emMicroは、本実施例において遠隔コンピュータ16からのサービス情報をホスト・コンピュータ12に中継するために遠隔コンピュータ16で使用される。サービス情報とは、遠隔コンピュータ16で動作する埋め込みアプリケーション28の機能、変数、イベント及びファイルについての情報である。
ホスト・コンピュータ12とemMicroを動作する遠隔コンピュータ16との通信は、通常、RS232、RS484、RFまたはIRのような軽量のネットワークを介して達成される。emNet要素は、emMicroとホスト・コンピュータ12のソフトウエアとの間の通信を扱う役目を有している。
【0083】
上記の記載から、本実施例は、埋め込み装置に対するアクセスとこの埋め込み装置と電子通信を行うコンピュータから埋め込み装置で利用可能なサービスとを提供するということが理解されよう。
ここに開示した実施例は、その主旨または本質的な特徴から逸脱せずに他の特定形態で実施してもよい。ここに記載の実施例は、全ての点で単に例示的で限定的ではないと考慮されるべきである。従って、本発明の範囲は、上記の記載よりもむしろ上記の請求項により示される。請求項の意味及び均等範囲に入る全ての変更は、本発明の範囲内に入るべきものである。
【図面の簡単な説明】
【図1】 本実施例に含まれる主なハードウエア要素のブロック線図。
【図2】 実施例に含まれる主なハードウエア及びソフトウエアの要素のブロック線図。
【図3】 一群の全ての埋め込み装置及びこの群内の特定の装置を含むように形成してもよいその群内の特定の小グループを示す図。
【図4】 特定の埋め込み装置とこの埋め込み装置がサポートするインタフェースとの間の一対多対応が存在することができるということを示す表。
【図5】 一実施例の遠隔コンピュータおよびサービス表と能力表に含めることのできる品目を示す。
【図6】 一実施例のホスト・コンピュータ、このホスト・コンピュータで使用することができるソフトウエアの要素または機能性を示す。
【図7】 一実施例の能力表のインタフェース定義識別子及びインタフェース・データベースにおける特定のインタフェース定義に対するそれらの相関関係を示す。
【図8】 本実施例の実施の場合に従うことのできるステップを示す流れ図。
【図9】 ホスト・コンピュータでソフトウエアの要素を実施する場合に従うことのできるステップを示す流れ図。
【図10】 然るべきインタフェースをクライアント・アプリケーションに提供するためにセキュリティ・コードを使用する場合に従うことができるステップを示す流れ図。
Claims (25)
- ホスト・コンピュータと、埋め込み装置に具備され、当該埋め込み装置のアクセスに使用される遠隔コンピュータとを有するネットワーク接続のコンピュータ・システムで使用され、かつ前記ホスト・コンピュータで実行されるシステムにおいて、
前記ホスト・コンピュータの通信ポートへ及びこの通信ポートからデータを転送する通信モジュールと、
前記ホスト・コンピュータに電子通信によって接続された記憶装置からインタフェース定義をインタフェース定義識別子の使用によりアクセスするデータ・インタフェース・モジュールと、
前記通信モジュールを介して前記遠隔コンピュータと通信し、前記遠隔コンピュータにロードされたコンピュータ・プログラム・コードから前記インタフェース定義識別子を得るように動作し、前記データ・インタフェース・モジュールを介して前記記憶装置にアクセスするように動作し、前記インタフェース定義にアクセスするために前記インタフェース定義識別子を使用する装置アクセス・コントローラとを備え、
複数のインタフェース定義識別子が前記遠隔コンピュータにロードされた前記コンピュータ・プログラム・コードから得られ、
前記装置アクセス・コントローラは、前記複数のインタフェース定義識別子に基づいて複数のインタフェース定義を得、前記遠隔コンピュータへのアクセスを提供するためのクライアント・コンピュータから受信したセキュリティ認証データに基づいて使用すべきインタフェース定義を選択し、選択したインタフェース定義をクライアント・コンピュータに送信する
システム。 - 前記インタフェース定義は、前記コンピュータ・プログラム・コードに関する情報を有する、請求項1記載のシステム。
- 前記遠隔コンピュータは、アプリケーション・コードを有し、このアプリケーション・コードは、前記埋め込み装置に関連したサービスを提供する、請求項1記載のシステム。
- 前記遠隔コンピュータは、サービス・リストを有し、このサービス・リストは、特定のサービスの情報を有する、請求項3記載のシステム。
- 前記システムは、さらにサービス・目録を有し、このサービス・目録は、サービスの部分集合である、請求項4記載のシステム。
- 前記サービス・リストの情報は、機能、変数、データの種類、イベント及びファイルからなる群から選択される、請求項4記載のシステム。
- 装置アクセス・サーバを更に有し、この装置アクセス・サーバは、前記クライアント・コンピュータからの要求を受信するように動作する、請求項1記載のシステム。
- ホスト・コンピュータと、埋め込み装置に具備され、当該埋め込み装置と電子的通信する遠隔コンピュータとを有するコンピュータ・システムにおいて、
前記遠隔コンピュータに記憶され、前記埋め込み装置に関連したサービスを提供する前記遠隔コンピュータの埋め込みコードと、
前記遠隔コンピュータに設けられ、前記ホスト・コンピュータの通信ポートへデータを転送する通信モジュール、及び前記ホスト・コンピュータに設けられ、ホスト・コンピュータの通信ポートからデータを転送する通信モジュールと、
前記ホスト・コンピュータに設けられ、前記ホスト・コンピュータに電子通信によって接続された記憶装置からのインタフェース定義をインタフェース定義識別子の使用によりアクセスするデータ・インタフェース・モジュールと、
前記ホスト・コンピュータに設けられ、前記通信モジュールを介して前記遠隔コンピュータと通信し、前記埋め込みコードから前記インタフェース定義識別子を得るように動作し、前記データ・インタフェース・モジュールを介して前記記憶装置にアクセスするよう動作し、前記埋め込みコードに関する情報を含む前記インタフェース定義にアクセスするために前記インタフェース定義識別子を使用する装置アクセス・コントローラと、
前記ホスト・コンピュータに記憶され、かつ前記インタフェース定義から作成された前記遠隔コンピュータのサービスのカプセル部とを備え、
複数のインタフェース定義識別子が前記埋め込みコードから得られ、
前記装置アクセス・コントローラは、前記複数のインタフェース定義識別子に基づいて複数のインタフェース定義を得、前記遠隔コンピュータへのアクセスを提供するためのクライアント・コンピュータから受信したセキュリティ認証データに基づいて使用すべきインタフェース定義を選択し、選択したインタフェース定義をクライアント・コンピュータに送信する
コンピュータ・システム。 - 前記遠隔コンピュータは、サービス・リストを有し、このサービス・リストは、前記埋め込み装置に関する情報を有する、請求項8記載のコンピュータ・システム。
- 前記サービス・リストの情報は、機能、変数、データの種類、イベント及びファイルからなる群から選択される、請求項9記載のコンピュータ・システム。
- 装置アクセス・サーバを更に有し、この装置アクセス・サーバは、前記クライアント・コンピュータからの要求を受信するように動作する、請求項9記載のコンピュータ・システム。
- 埋め込み装置が遠隔コンピュータを具備し、遠隔コンピュータが埋め込み装置とインタフェース接続され、この遠隔コンピュータとホスト・コンピュータとの間に通信を可能にする命令を含むコンピュータが読み取り可能な媒体であって、前記命令は、
前記ホスト・コンピュータと前記遠隔コンピュータとの間に電子的な通信を確立するステップと、
前記遠隔コンピュータのコンピュータ・プログラム・コードからインタフェース定義識別子を受信するステップと、
前記ホスト・コンピュータに電子通信によって接続された記憶装置からのインタフェース定義を前記インタフェース定義識別子の使用によりアクセスするステップと、
前記遠隔コンピュータとの通信のために前記ホスト・コンピュータに前記インタフェース定義に基づくインタフェースを提供するステップと、
前記インタフェースを介して前記埋め込み装置に関する前記遠隔コンピュータとの通信を実行するステップと、
を行うための実行可能命令を備え、
複数のインタフェース定義識別子が前記遠隔コンピュータにロードされた前記コンピュータ・プログラム・コードから得られ、
前記命令は、前記複数のインタフェース定義識別子に基づいて複数のインタフェース定義を得、前記遠隔コンピュータへのアクセスを提供するためのクライアント・コンピュータから受信したセキュリティ認証データに基づいて使用すべきインタフェース定義を選択し、選択したインタフェース定義をクライアント・コンピュータに送信するステップを行うための実行可能命令を更に備える
コンピュータが読み取り可能な媒体。 - 前記インタフェース定義は、前記コンピュータ・プログラム・コードに関する情報を有する、請求項12記載のコンピュータが読み取り可能な媒体。
- 前記命令は、前記遠隔コンピュータへのアクセスを行う要求を前記クライアント・コンピュータから受信するステップを行うための実行可能命令を更に有する、請求項13記載のコンピュータが読み取り可能な媒体。
- 前記命令は、前記インタフェースを前記クライアント・コンピュータに供給するステップを行うための実行可能命令を更に有する、請求項14記載のコンピュータが読み取り可能な媒体。
- 前記命令は、前記クライアント・コンピュータからインタフェースに基づく要求を受信するステップを行うための実行可能命令を更に有し、前記インタフェースに基づく要求は、前記インタフェースの使用により前記クライアント・コンピュータで作成される、請求項15記載のコンピュータが読み取り可能な媒体。
- 前記命令は、メッセージを前記ホスト・コンピュータから前記遠隔コンピュータへ送るステップを行うための実行可能命令をさらに有し、前記メッセージは、前記インタフェースに基づく要求に関する、請求項16記載のコンピュータが読み取り可能な媒体。
- 前記命令は、前記遠隔コンピュータに送られたメッセージに応答して前記遠隔コンピュータから前記埋め込み装置のデータを受信するステップを行うための実行可能命令を更に有する、請求項17記載のコンピュータが読み取り可能な媒体。
- 埋め込み装置が遠隔コンピュータを具備し、遠隔コンピュータが埋め込み装置とインタフェース接続され、この遠隔コンピュータとホスト・コンピュータとの間で通信を可能に方法において、
前記ホスト・コンピュータが、前記ホスト・コンピュータと前記遠隔コンピュータとの間に電子的な通信を確立するステップと、
前記ホスト・コンピュータが、前記遠隔コンピュータのコンピュータ・プログラム・コードからインタフェース定義識別子を受信するステップと、
前記ホスト・コンピュータが、前記ホスト・コンピュータに電子通信によって接続された記憶装置からのインタフェース定義を前記インタフェース定義識別子の使用によりアクセスするステップと、
前記記憶装置が、前記遠隔コンピュータとの通信のために前記ホスト・コンピュータに前記インタフェース定義に基づくインタフェースを提供するステップと、
前記ホスト・コンピュータが、前記インタフェースを介して前記埋め込み装置に関する前記遠隔コンピュータとの通信を実行するステップとを備え、
複数のインタフェース定義識別子が前記遠隔コンピュータにロードされた前記コンピュータ・プログラム・コードから得られ、
前記ホスト・コンピュータが、前記複数のインタフェース定義識別子に基づいて複数のインタフェース定義を得、前記遠隔コンピュータへのアクセスを提供するためのクライアント・コンピュータから受信したセキュリティ認証データに基づいて使用すべきインタフェース定義を選択し、選択したインタフェース定義をクライアント・コンピュータに送信するステップを更に有する
方法。 - 前記インタフェース定義は、前記コンピュータ・プログラム・コードに関する情報を有する、請求項19記載の方法。
- 前記ホスト・コンピュータが、前記遠隔コンピュータへのアクセスを行う要求をクライアント・コンピュータから受信するステップを更に有する、請求項20記載の方法。
- 前記ホスト・コンピュータが、前記インタフェースを前記クライアント・コンピュータに提供するステップを更に有する、請求項21記載の方法。
- 前記ホスト・コンピュータが、前記クライアント・コンピュータからインタフェースに基づく要求を受信するステップを更に有し、前記インタフェースに基づく要求は、前記インタフェースの使用により前記クライアント・コンピュータで作成された、請求項22記載の方法。
- 前記ホスト・コンピュータが、メッセージを前記ホスト・コンピュータから前記遠隔コンピュータへ送るステップを更に有し、前記メッセージは、前記インタフェースに基づく要求に関係する、請求項23記載の方法。
- 前記ホスト・コンピュータが、前記遠隔コンピュータに送られたメッセージに応答して前記遠隔コンピュータから前記埋め込み装置のデータを受信するステップを更に有する、請求項24記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/539,696 US6363417B1 (en) | 2000-03-31 | 2000-03-31 | Device interfaces for networking a computer and an embedded device |
| PCT/US2001/010043 WO2001075627A1 (en) | 2000-03-31 | 2001-03-30 | Device interfaces networking a computer and an embedded device |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2004500668A JP2004500668A (ja) | 2004-01-08 |
| JP2004500668A5 JP2004500668A5 (ja) | 2008-07-17 |
| JP4360062B2 true JP4360062B2 (ja) | 2009-11-11 |
Family
ID=24152274
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001573239A Expired - Lifetime JP4360062B2 (ja) | 2000-03-31 | 2001-03-30 | コンピュータと埋め込み装置をネットワークに接続する装置インターフェース |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US6363417B1 (ja) |
| EP (1) | EP1277123B1 (ja) |
| JP (1) | JP4360062B2 (ja) |
| AT (1) | ATE443889T1 (ja) |
| AU (1) | AU2001249583A1 (ja) |
| DE (1) | DE60139990D1 (ja) |
| ES (1) | ES2333698T3 (ja) |
| WO (1) | WO2001075627A1 (ja) |
Families Citing this family (121)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7865568B1 (en) * | 2000-05-16 | 2011-01-04 | Verizon Corporate Services Group Inc. | Systems and methods for controlling appliances via a network |
| US8090811B2 (en) * | 2000-06-06 | 2012-01-03 | Panasonic Electric Works Co., Ltd. | Service provider for embedded devices using a message store |
| US7530076B2 (en) * | 2001-03-23 | 2009-05-05 | S2 Technologies, Inc. | Dynamic interception of calls by a target device |
| US7111302B2 (en) * | 2001-03-23 | 2006-09-19 | S2 Technologies, Inc. | System and method for formatting data for transmission between an embedded computer and a host computer having different machine characteristics |
| US6877051B2 (en) * | 2001-06-12 | 2005-04-05 | Intel Corporation | Consistency checking mechanism for configuration parameters in embedded systems |
| EP1271418A1 (en) * | 2001-06-27 | 2003-01-02 | Nokia Corporation | Method for accessing a user operable device of controlled access |
| US6658091B1 (en) | 2002-02-01 | 2003-12-02 | @Security Broadband Corp. | LIfestyle multimedia security system |
| US20030225873A1 (en) * | 2002-05-30 | 2003-12-04 | Wade Michael A. | Optimization of network performance through uni-directional encapsulation |
| EP1540747B1 (en) * | 2002-09-19 | 2012-01-25 | Cree, Inc. | Phosphor-coated light emitting diodes including tapered sidewalls, and fabrication methods therefor |
| US8356067B2 (en) | 2002-10-24 | 2013-01-15 | Intel Corporation | Servicing device aggregates |
| WO2005038650A1 (en) * | 2003-10-14 | 2005-04-28 | Live Media Pty Ltd | A computep, system and methods therefor |
| US11489812B2 (en) | 2004-03-16 | 2022-11-01 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
| US10142392B2 (en) * | 2007-01-24 | 2018-11-27 | Icontrol Networks, Inc. | Methods and systems for improved system performance |
| US9191228B2 (en) * | 2005-03-16 | 2015-11-17 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
| US20170118037A1 (en) | 2008-08-11 | 2017-04-27 | Icontrol Networks, Inc. | Integrated cloud system for premises automation |
| US9141276B2 (en) | 2005-03-16 | 2015-09-22 | Icontrol Networks, Inc. | Integrated interface for mobile device |
| US11343380B2 (en) | 2004-03-16 | 2022-05-24 | Icontrol Networks, Inc. | Premises system automation |
| US10313303B2 (en) | 2007-06-12 | 2019-06-04 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
| US10444964B2 (en) | 2007-06-12 | 2019-10-15 | Icontrol Networks, Inc. | Control system user interface |
| US11582065B2 (en) | 2007-06-12 | 2023-02-14 | Icontrol Networks, Inc. | Systems and methods for device communication |
| US10382452B1 (en) | 2007-06-12 | 2019-08-13 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US11244545B2 (en) | 2004-03-16 | 2022-02-08 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
| US11916870B2 (en) | 2004-03-16 | 2024-02-27 | Icontrol Networks, Inc. | Gateway registry methods and systems |
| US10339791B2 (en) | 2007-06-12 | 2019-07-02 | Icontrol Networks, Inc. | Security network integrated with premise security system |
| US8612591B2 (en) * | 2005-03-16 | 2013-12-17 | Icontrol Networks, Inc. | Security system with networked touchscreen |
| US11677577B2 (en) | 2004-03-16 | 2023-06-13 | Icontrol Networks, Inc. | Premises system management using status signal |
| US11190578B2 (en) | 2008-08-11 | 2021-11-30 | Icontrol Networks, Inc. | Integrated cloud system with lightweight gateway for premises automation |
| US20090077623A1 (en) | 2005-03-16 | 2009-03-19 | Marc Baum | Security Network Integrating Security System and Network Devices |
| US8473619B2 (en) * | 2005-03-16 | 2013-06-25 | Icontrol Networks, Inc. | Security network integrated with premise security system |
| US10062273B2 (en) | 2010-09-28 | 2018-08-28 | Icontrol Networks, Inc. | Integrated security system with parallel processing architecture |
| US11159484B2 (en) | 2004-03-16 | 2021-10-26 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
| US10522026B2 (en) | 2008-08-11 | 2019-12-31 | Icontrol Networks, Inc. | Automation system user interface with three-dimensional display |
| US11316958B2 (en) | 2008-08-11 | 2022-04-26 | Icontrol Networks, Inc. | Virtual device systems and methods |
| US9172553B2 (en) * | 2005-03-16 | 2015-10-27 | Icontrol Networks, Inc. | Security system with networked touchscreen and gateway |
| US10721087B2 (en) * | 2005-03-16 | 2020-07-21 | Icontrol Networks, Inc. | Method for networked touchscreen with integrated interfaces |
| US10200504B2 (en) | 2007-06-12 | 2019-02-05 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
| US9609003B1 (en) | 2007-06-12 | 2017-03-28 | Icontrol Networks, Inc. | Generating risk profile using data of home monitoring and security system |
| US7711796B2 (en) | 2006-06-12 | 2010-05-04 | Icontrol Networks, Inc. | Gateway registry methods and systems |
| US10156959B2 (en) | 2005-03-16 | 2018-12-18 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
| US7911341B2 (en) * | 2007-01-24 | 2011-03-22 | Icontrol Networks Inc. | Method for defining and implementing alarm/notification by exception |
| US10237237B2 (en) | 2007-06-12 | 2019-03-19 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US8635350B2 (en) | 2006-06-12 | 2014-01-21 | Icontrol Networks, Inc. | IP device discovery systems and methods |
| US8996665B2 (en) * | 2005-03-16 | 2015-03-31 | Icontrol Networks, Inc. | Takeover processes in security network integrated with premise security system |
| US11113950B2 (en) | 2005-03-16 | 2021-09-07 | Icontrol Networks, Inc. | Gateway integrated with premises security system |
| US9531593B2 (en) | 2007-06-12 | 2016-12-27 | Icontrol Networks, Inc. | Takeover processes in security network integrated with premise security system |
| US10348575B2 (en) | 2013-06-27 | 2019-07-09 | Icontrol Networks, Inc. | Control system user interface |
| US10375253B2 (en) | 2008-08-25 | 2019-08-06 | Icontrol Networks, Inc. | Security system with networked touchscreen and gateway |
| US11368429B2 (en) | 2004-03-16 | 2022-06-21 | Icontrol Networks, Inc. | Premises management configuration and control |
| US8988221B2 (en) * | 2005-03-16 | 2015-03-24 | Icontrol Networks, Inc. | Integrated security system with parallel processing architecture |
| US12063220B2 (en) | 2004-03-16 | 2024-08-13 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US9729342B2 (en) | 2010-12-20 | 2017-08-08 | Icontrol Networks, Inc. | Defining and implementing sensor triggered response rules |
| US11811845B2 (en) | 2004-03-16 | 2023-11-07 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
| US8963713B2 (en) | 2005-03-16 | 2015-02-24 | Icontrol Networks, Inc. | Integrated security network with security alarm signaling system |
| US11201755B2 (en) | 2004-03-16 | 2021-12-14 | Icontrol Networks, Inc. | Premises system management using status signal |
| WO2005091218A2 (en) | 2004-03-16 | 2005-09-29 | Icontrol Networks, Inc | Premises management system |
| US11277465B2 (en) | 2004-03-16 | 2022-03-15 | Icontrol Networks, Inc. | Generating risk profile using data of home monitoring and security system |
| US7725826B2 (en) * | 2004-03-26 | 2010-05-25 | Harman International Industries, Incorporated | Audio-related system node instantiation |
| US8713132B2 (en) | 2005-03-16 | 2014-04-29 | Icontrol Networks, Inc. | Device for data routing in networks |
| US20120324566A1 (en) | 2005-03-16 | 2012-12-20 | Marc Baum | Takeover Processes In Security Network Integrated With Premise Security System |
| US11496568B2 (en) | 2005-03-16 | 2022-11-08 | Icontrol Networks, Inc. | Security system with networked touchscreen |
| US9306809B2 (en) | 2007-06-12 | 2016-04-05 | Icontrol Networks, Inc. | Security system with networked touchscreen |
| US8825871B2 (en) * | 2005-03-16 | 2014-09-02 | Icontrol Networks, Inc. | Controlling data routing among networks |
| US8819178B2 (en) | 2005-03-16 | 2014-08-26 | Icontrol Networks, Inc. | Controlling data routing in integrated security systems |
| US10999254B2 (en) | 2005-03-16 | 2021-05-04 | Icontrol Networks, Inc. | System for data routing in networks |
| US11615697B2 (en) | 2005-03-16 | 2023-03-28 | Icontrol Networks, Inc. | Premise management systems and methods |
| US9059863B2 (en) * | 2005-03-16 | 2015-06-16 | Icontrol Networks, Inc. | Method for data routing in networks |
| US11700142B2 (en) | 2005-03-16 | 2023-07-11 | Icontrol Networks, Inc. | Security network integrating security system and network devices |
| US20170180198A1 (en) | 2008-08-11 | 2017-06-22 | Marc Baum | Forming a security network including integrated security system components |
| US9450776B2 (en) * | 2005-03-16 | 2016-09-20 | Icontrol Networks, Inc. | Forming a security network including integrated security system components |
| US20110128378A1 (en) | 2005-03-16 | 2011-06-02 | Reza Raji | Modular Electronic Display Platform |
| US10303783B2 (en) * | 2006-02-16 | 2019-05-28 | Callplex, Inc. | Distributed virtual storage of portable media files |
| US8996586B2 (en) * | 2006-02-16 | 2015-03-31 | Callplex, Inc. | Virtual storage of portable media files |
| US10079839B1 (en) | 2007-06-12 | 2018-09-18 | Icontrol Networks, Inc. | Activation of gateway device |
| US12063221B2 (en) | 2006-06-12 | 2024-08-13 | Icontrol Networks, Inc. | Activation of gateway device |
| US11706279B2 (en) | 2007-01-24 | 2023-07-18 | Icontrol Networks, Inc. | Methods and systems for data communication |
| US7633385B2 (en) | 2007-02-28 | 2009-12-15 | Ucontrol, Inc. | Method and system for communicating with and controlling an alarm system from a remote server |
| US8451986B2 (en) | 2007-04-23 | 2013-05-28 | Icontrol Networks, Inc. | Method and system for automatically providing alternate network access for telecommunications |
| US10523689B2 (en) | 2007-06-12 | 2019-12-31 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
| US11316753B2 (en) | 2007-06-12 | 2022-04-26 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US11237714B2 (en) | 2007-06-12 | 2022-02-01 | Control Networks, Inc. | Control system user interface |
| US11212192B2 (en) | 2007-06-12 | 2021-12-28 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US10498830B2 (en) | 2007-06-12 | 2019-12-03 | Icontrol Networks, Inc. | Wi-Fi-to-serial encapsulation in systems |
| US10423309B2 (en) | 2007-06-12 | 2019-09-24 | Icontrol Networks, Inc. | Device integration framework |
| US12283172B2 (en) | 2007-06-12 | 2025-04-22 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US11089122B2 (en) | 2007-06-12 | 2021-08-10 | Icontrol Networks, Inc. | Controlling data routing among networks |
| US11601810B2 (en) | 2007-06-12 | 2023-03-07 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US10616075B2 (en) | 2007-06-12 | 2020-04-07 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US11218878B2 (en) | 2007-06-12 | 2022-01-04 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US10051078B2 (en) | 2007-06-12 | 2018-08-14 | Icontrol Networks, Inc. | WiFi-to-serial encapsulation in systems |
| US10389736B2 (en) | 2007-06-12 | 2019-08-20 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US11423756B2 (en) | 2007-06-12 | 2022-08-23 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US11646907B2 (en) | 2007-06-12 | 2023-05-09 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US10666523B2 (en) | 2007-06-12 | 2020-05-26 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
| US12184443B2 (en) | 2007-06-12 | 2024-12-31 | Icontrol Networks, Inc. | Controlling data routing among networks |
| US12003387B2 (en) | 2012-06-27 | 2024-06-04 | Comcast Cable Communications, Llc | Control system user interface |
| US11831462B2 (en) | 2007-08-24 | 2023-11-28 | Icontrol Networks, Inc. | Controlling data routing in premises management systems |
| US11916928B2 (en) | 2008-01-24 | 2024-02-27 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
| US20170185278A1 (en) | 2008-08-11 | 2017-06-29 | Icontrol Networks, Inc. | Automation system user interface |
| US11758026B2 (en) | 2008-08-11 | 2023-09-12 | Icontrol Networks, Inc. | Virtual device systems and methods |
| US11258625B2 (en) | 2008-08-11 | 2022-02-22 | Icontrol Networks, Inc. | Mobile premises automation platform |
| US11792036B2 (en) | 2008-08-11 | 2023-10-17 | Icontrol Networks, Inc. | Mobile premises automation platform |
| US11729255B2 (en) | 2008-08-11 | 2023-08-15 | Icontrol Networks, Inc. | Integrated cloud system with lightweight gateway for premises automation |
| US9628440B2 (en) | 2008-11-12 | 2017-04-18 | Icontrol Networks, Inc. | Takeover processes in security network integrated with premise security system |
| US8638211B2 (en) | 2009-04-30 | 2014-01-28 | Icontrol Networks, Inc. | Configurable controller and interface for home SMA, phone and multimedia |
| WO2011137458A1 (en) | 2010-04-30 | 2011-11-03 | Icontrol Networks, Inc. | Power and data solution for remote low-power devices |
| EP2569712B1 (en) | 2010-05-10 | 2021-10-13 | Icontrol Networks, Inc. | Control system user interface |
| US8836467B1 (en) | 2010-09-28 | 2014-09-16 | Icontrol Networks, Inc. | Method, system and apparatus for automated reporting of account and sensor zone information to a central station |
| US11750414B2 (en) | 2010-12-16 | 2023-09-05 | Icontrol Networks, Inc. | Bidirectional security sensor communication for a premises security system |
| US9147337B2 (en) | 2010-12-17 | 2015-09-29 | Icontrol Networks, Inc. | Method and system for logging security event data |
| JP5987063B2 (ja) | 2012-10-29 | 2016-09-06 | 学校法人 埼玉医科大学 | 分化多能性幹細胞の製造方法 |
| US9928975B1 (en) | 2013-03-14 | 2018-03-27 | Icontrol Networks, Inc. | Three-way switch |
| US9287727B1 (en) | 2013-03-15 | 2016-03-15 | Icontrol Networks, Inc. | Temporal voltage adaptive lithium battery charger |
| US9867143B1 (en) | 2013-03-15 | 2018-01-09 | Icontrol Networks, Inc. | Adaptive Power Modulation |
| CN104216797B (zh) * | 2013-06-04 | 2017-08-08 | 国基电子(上海)有限公司 | 嵌入式系统设定值设定系统、方法及电子装置 |
| WO2015021469A2 (en) | 2013-08-09 | 2015-02-12 | Icontrol Networks Canada Ulc | System, method and apparatus for remote monitoring |
| US11146637B2 (en) | 2014-03-03 | 2021-10-12 | Icontrol Networks, Inc. | Media content management |
| US11405463B2 (en) | 2014-03-03 | 2022-08-02 | Icontrol Networks, Inc. | Media content management |
| CN105162819A (zh) * | 2015-06-19 | 2015-12-16 | 北京世纪东方国铁科技股份有限公司 | 一种嵌入式设备的远程管理方法、系统 |
| US11711268B2 (en) | 2019-04-30 | 2023-07-25 | Intel Corporation | Methods and apparatus to execute a workload in an edge environment |
| US11096012B2 (en) * | 2019-05-29 | 2021-08-17 | Texas Instruments Incorporated | Integrated Wi-Fi location |
| US11374776B2 (en) | 2019-09-28 | 2022-06-28 | Intel Corporation | Adaptive dataflow transformation in edge computing environments |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4812963A (en) * | 1987-03-31 | 1989-03-14 | Food Automation-Service Techniques, Inc. | Plural cooking computer communication system |
| DE69327448T2 (de) * | 1992-12-21 | 2004-03-04 | Sun Microsystems, Inc., Mountain View | Verfahren und Vorrichtung für Teilaufgaben in verteiltem Verarbeitungssystem |
| US5544320A (en) * | 1993-01-08 | 1996-08-06 | Konrad; Allan M. | Remote information service access system based on a client-server-service model |
| DE69525710T2 (de) | 1994-11-14 | 2002-08-14 | Sun Microsystems, Inc. | Verfahren und System zur Steuerung von Funktionen einer Zielanwendung mit Hilfe steuerbarer Objekte |
| US5793965A (en) * | 1995-03-22 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for determining the type of an object in a distributed object system |
| US5848273A (en) | 1995-10-27 | 1998-12-08 | Unisys Corp. | Method for generating OLE automation and IDL interfaces from metadata information |
| US5881230A (en) | 1996-06-24 | 1999-03-09 | Microsoft Corporation | Method and system for remote automation of object oriented applications |
| US5768510A (en) * | 1996-07-01 | 1998-06-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server application enabler system |
| US5848246A (en) | 1996-07-01 | 1998-12-08 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system |
| US5802530A (en) | 1996-07-01 | 1998-09-01 | Sun Microsystems, Inc. | Web document based graphical user interface |
| US5870719A (en) | 1996-07-03 | 1999-02-09 | Sun Microsystems, Inc. | Platform-independent, usage-independent, and access-independent distributed quote configuraton system |
| US5889942A (en) * | 1996-12-18 | 1999-03-30 | Orenshteyn; Alexander S. | Secured system for accessing application services from a remote station |
| JPH10254689A (ja) * | 1997-03-14 | 1998-09-25 | Hitachi Ltd | クライアント・サーバシステムのアプリケーション構成設計支援方式 |
| US5960421A (en) * | 1997-08-20 | 1999-09-28 | Bea Systems, Inc. | Service interface repository internationalization |
| US5884317A (en) * | 1997-08-20 | 1999-03-16 | Bea Systems, Inc. | Service interface repository |
-
2000
- 2000-03-31 US US09/539,696 patent/US6363417B1/en not_active Expired - Lifetime
-
2001
- 2001-03-30 AU AU2001249583A patent/AU2001249583A1/en not_active Abandoned
- 2001-03-30 DE DE60139990T patent/DE60139990D1/de not_active Expired - Lifetime
- 2001-03-30 ES ES01922823T patent/ES2333698T3/es not_active Expired - Lifetime
- 2001-03-30 AT AT01922823T patent/ATE443889T1/de not_active IP Right Cessation
- 2001-03-30 WO PCT/US2001/010043 patent/WO2001075627A1/en not_active Ceased
- 2001-03-30 EP EP01922823A patent/EP1277123B1/en not_active Expired - Lifetime
- 2001-03-30 JP JP2001573239A patent/JP4360062B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| DE60139990D1 (de) | 2009-11-05 |
| EP1277123B1 (en) | 2009-09-23 |
| ES2333698T3 (es) | 2010-02-26 |
| JP2004500668A (ja) | 2004-01-08 |
| AU2001249583A1 (en) | 2001-10-15 |
| US6363417B1 (en) | 2002-03-26 |
| EP1277123A4 (en) | 2006-05-31 |
| ATE443889T1 (de) | 2009-10-15 |
| EP1277123A1 (en) | 2003-01-22 |
| WO2001075627A1 (en) | 2001-10-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4360062B2 (ja) | コンピュータと埋め込み装置をネットワークに接続する装置インターフェース | |
| US6587736B2 (en) | Distributed objects for a computer system | |
| US6112246A (en) | System and method for accessing information from a remote device and providing the information to a client workstation | |
| US6601086B1 (en) | Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices | |
| US8407349B2 (en) | Discovering and identifying manageable information technology resources | |
| US6314460B1 (en) | Method and apparatus for analyzing a storage network based on incomplete information from multiple respective controllers | |
| US20020004856A1 (en) | System and method of generating and using proxy beans | |
| JP2003076560A (ja) | Asp.nethttpランタイム | |
| Chockler et al. | Implementing a caching service for distributed CORBA objects | |
| CN1154514A (zh) | 在网络内传送嵌入式应用的系统 | |
| US7100167B2 (en) | Method and apparatus for creating templates | |
| JP3307329B2 (ja) | ネットワーク構成管理対象アクセスシステム及び方法 | |
| US20050210034A1 (en) | Service provider for embedded devices using a message store | |
| Rykowski et al. | Comparison of architectures for service management in IoT and sensor networks by means of OSGi and REST services | |
| Fysarakis et al. | Node. dpws: Efficient web services for the internet of things | |
| US6292824B1 (en) | Framework and method for facilitating client-server programming and interactions | |
| US20040249853A1 (en) | Late bound subscription based event dispatching system and method | |
| EP1665044A1 (en) | Method and system for remote card access, computer program product therefor | |
| KR20080106188A (ko) | 객체지향 애플리케이션의 탐색 방법, 통신 방법 및 컴퓨터 판독가능 매체 | |
| JPH11127175A (ja) | 端末識別番号の取得方法 | |
| Harris | A simple mechanism for sharing variables across the internet | |
| WO2003044683A1 (en) | Processing and distributing data according to specified rules | |
| Rao | using CORBA with java |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20051026 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051114 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080318 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080519 |
|
| A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20080519 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080924 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081121 |
|
| 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: 20090721 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090803 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4360062 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120821 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130821 Year of fee payment: 4 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |