JP4270193B2 - ネットワークコンピュータシステム - Google Patents

ネットワークコンピュータシステム Download PDF

Info

Publication number
JP4270193B2
JP4270193B2 JP2005318687A JP2005318687A JP4270193B2 JP 4270193 B2 JP4270193 B2 JP 4270193B2 JP 2005318687 A JP2005318687 A JP 2005318687A JP 2005318687 A JP2005318687 A JP 2005318687A JP 4270193 B2 JP4270193 B2 JP 4270193B2
Authority
JP
Japan
Prior art keywords
computer
computer system
network
remote computer
service
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 - Fee Related
Application number
JP2005318687A
Other languages
English (en)
Other versions
JP2006120171A (ja
Inventor
ハワード、マイケル
ハーパー、ウィリアム、アール、ジュニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Electric Works Co Ltd
Original Assignee
Panasonic Corp
Matsushita Electric Works Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Works Ltd filed Critical Panasonic Corp
Publication of JP2006120171A publication Critical patent/JP2006120171A/ja
Application granted granted Critical
Publication of JP4270193B2 publication Critical patent/JP4270193B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、コンピュータソフトウェアに係わり、更に詳細にはコンピュータソフトウェアおよびデータをコンピュータネットワークを介して分散するためのネットワークコンピュータシステムに関する。
近年、日常生活に含まれているコンピュータ技術が大幅に増大している。今日の世界でコンピュータ技術は個人の日常の多くの局面に含まれている。消費者によって今日使用されている多くの機器は、その機器の内部に小型コンピュータを有している。これらの小型コンピュータはサイズおよび複雑さの程度が種々異なっている。これらの小型コンピュータは1つのマイクロ・コントローラから全機能完全コンピュータシステムまでの全てを含む。例えば、これらの小型コンピュータは、マイクロ・コントローラの様なワンチップ・コンピュータ、制御装置の様なワンボード型コンピュータ、IBM−PC互換の様な典型的なデスクトップコンピュータである。
小型コンピュータは、(コンピュータが適合する個別の必要に応じて、大型コンピュータの場合も有りうる)、ほとんど常にそのコンピュータの心臓部に1つまたは複数のプロセッサを有する。これら1つまたは複数のプロセッサは通常異なる外部入力および出力に相互接続されており、個々の機器を管理するように機能する。例えば、清涼飲料缶の自動販売機内のプロセッサは缶を選択する為に使用されるボタン、缶を使用者に落下させることの出来るスイッチ、および個々の種類の缶が売り切れであることを表示するための電灯に接続されている。
コンピュータ技術は日常生活の多くの局面に含まれている。多くの器具、装置等は1つまたは複数の小型コンピュータを含む。例えば、冷蔵庫、電話機、タイプライタ、自動車、自動販売機、および多くの異なる型式の工業機器の全ては小型コンピュータ、またはプロセッサをそれらの内部に有する。コンピュータソフトウェアがこれらのコンピュータのプロセッサを駆動し、そのプロセッサに対して或るタスクを遂行するために何をなすべきかを伝える。例えば、自動販売機内のプロセッサ上で動作するコンピュータソフトウェアは、使用者により貨幣が正しく投入された時に使用者に対して清涼飲料缶が落下される。
装置、器具、道具などの一部であるこれらの型式の小型コンピュータは、しばしば組込型システムと呼ばれる。「組込型システム」という用語は通常、より大きなシステムの一部であるコンピュータハードウェアおよびソフトウェアを指す。組込型システムは通常典型的な入力および出力装置、例えばキーボード、マウスおよびモニタまたはそのいずれも持たない。通常、各々の組込型システムの心臓部には1つまたは複数のプロセッサが存在する。
典型的に今日種々の器具、装置等で使用されている組込型システムは、多量の記憶容量を有していない。その結果、組込型システム上に格納できるデータ量は制限される。限られた記憶容量のみでは、組込型システムはそれがより多くの利用可能な記憶容量を有していれば実行できるはずの多くの機能および能力を持つことは出来ない。
組込型システムの中にはコンピュータネットワークに接続されて、その組込型システムとより大きなコンピュータシステムとの間の通信を可能としているものもある。しかしながら、しばしば組込型システムには他のコンピュータシステムと効果的かつ効率的に通信するための機能が具備されていないため、その通信能力は通常限られたものである。
組込型システム上でのメモリ資源に制約があるため、しばしばコンピュータネットワークから組込型システムへは限られた相互作用のみが可能である。この相互作用はしばしばその使用が限定されており、それは組込型システムの異なる部分との通信が困難なためである。
以上に鑑み、本発明の第1の目的は組込型システムのサービスをより大きなコンピュータシステムの間に分散させることである。
組込型システムの機能を増加させることもまた本発明の1つの目的である。
更に、組込型システムに関連するデータの有効記憶容量を増加させることも本発明の1つの目的である。
組込型システムの通信能力を増加させることもまた1つの目的である。
より大きなコンピュータシステムの組込型システムへの相互作用およびインタフェース能力を強化する事も本発明の更なる目的である。
上記の目的と一致し、実現されまた此処に広く説明された本発明に基づく、ホストコンピュータおよびリモートコンピュータとを含み、此処でリモートコンピュータがデバイスと電子通信を行っているネットワーク化されたコンピュータシステム内で使用される方法および装置が本発明の1つの実施例の中で開示されており、これはホストコンピュータ上に実現されかつ格納されている第1メンバーコンポーネントと、ホストコンピュータ上に実現されかつ格納されている第2メンバーコンポーネントとを含む。第2メンバーコンポーネントはリモートコンピュータと電子通信を行い、また第2メンバーコンポーネントはリモートコンピュータ上のデータにアクセスするように機能する。
本発明の1つの実施例に基づき製造された1つの装置は、オブジェクト階層の1部として分散型オブジェクトを含む。このオブジェクト階層は、メンバーデータを含みリモートコンピュータの組に共通な機能を含む基本クラスを含み、此処でこの基本クラスはホストコンピュータ上で実現され格納されている。オブジェクト階層はまた、基本クラスから導出された第1サブクラスを含む。この第1サブクラスはホストコンピュータ上で実現されまた格納されている。この第1サブクラスはリモートコンピュータと電子通信を行う第2メンバーコンポーネントを含む。オブジェクト階層はまたそのオブジェクトの機能を変換する第2サブクラスも含む。
本発明の1つの実施例に基づき実施された方法は下記のステップを含む、すなわちアプリケーションコードをリモートコンピュータに与え、此処でそのアプリケーションコードはデバイスに関連するサービスを提供する。サービスの項目目録をホストコンピュータにエクスポートし、此処で項目目録はサービスの副集合である。サービスの項目目録をカプセル化する。そしてサービスのカプセル化を通してリモートコンピュータでサービスに接続する。この方法はまたサービスリストをリモートコンピュータ上に生成するステップを含む場合もあり、此処でこのリストはある種のサービスに関する情報を含む。
本発明の先に説明した目的および特徴ならびにその他の目的および特徴は、添付図と共になされる下記の説明および添付の特許請求項から更に完全に明らかとなるであろう。これらの図面は本発明の典型的な実施例のみを表しており、従ってその範囲を制限するものと考えられるべきではないことを理解されたい、本発明の更なる仕様および詳細を添付図を用いて説明する。
添付図の中に一般的に説明され図示されている本発明の構成要素は、多くの種類の異なる構成で配置および設計できることは容易に理解されよう。従って図1から図7の中に表されている本発明のシステムおよび方法の実施例の以下の更に詳細な説明は、特許請求されている本発明の範囲を制限することは意図しておらず、本発明の提案されている好適な実施例を単に表しているだけである。
本発明の提案されている好適な実施例は添付図を参照することによりもっとも良く理解されるであろう、此処で全体を通して同様の部品は同様の番号で示されている。
図1は本発明の提案されている好適な実施例の中で典型的に使用される主要ハードウェア構成要素を図示するブロック図である。今回提案されている好適な実施例の中で、本発明はネットワークコンピュータシステム10の中で使用されており、此処でホストコンピュータ12が組込型装置14に接続されている。典型的に組込型装置14は入力および出力装置18,20に接続されたコンピュータ16を含む。今回提案されている好適な実施例内のコンピュータ16は、組込型コンピュータ16である。特に今回提案されている好適な実施例では、コンピュータ16はマイクロ制御装置(図示せず)を含む。しかしながら当業者には理解されるように、マイクロ制御装置で通常実行される機能および処理はより大きなプロセッサ、それらがより大きな制御装置の一部または典型的なコンピュータシステムの一部にかかわらず実行可能である。組込型コンピュータ16はホストコンピュータ12から離れており、組込型コンピュータ16およびホストコンピュータ12は各々それ自身で機能することの出来るコンピュータである。離れていると言う言葉は組込型コンピュータ16がホストコンピュータ12と異なる場所であることを意味する必要はないが、本発明の多くの実施例においてホストコンピュータ12は組込型コンピュータ16と異なる場所にある。此処では組込型コンピュータ16とリモートコンピュータ16とは互換的に使用されている。リモートコンピュータ16に格納およびそこで実行されるようにいずれかで説明されている要素は、場合によってはホストコンピュータ12に格納および実行されるまたはそのいずれも可能である。
本発明は多くの種類のコンピュータネットワーク10に対して広範なアプリケーションを有する。一般的に本発明の今回提案されている好適な実施例が実施されているコンピュータシステム10はまた、組込型装置14を監視および制御またはそのいずれかを実行するための1つまたは複数のクライアントコンピュータを含む。リモートコンピュータ16は、このリモートコンピュータ16と電子的通信をすることのできる入力および出力またはそのいずれかの装置18,20と動作可能なように接続されている、または言葉を代えると電気信号の形式で入力および出力またはそのいずれかを実行することの可能な装置18,20に動作可能なように接続されている。場合によっては入力および出力装置18,20およびリモートコンピュータ16は共に同一の物理構造内に格納されている。
ホストコンピュータ12およびリモートコンピュータ16は共に広く定義されたディジタルコンピュータである。此処で使用されるコンピュータは、データを受信し処理することの可能なディジタルプロセッサを含む任意の装置である。コンピュータは、マイクロ制御装置、携帯型コンピュータ、パーソナルコンピュータ、サーバ、メインフレーム、スーパーコンピュータ、およびそれらの装置に関する全ての変形を含む広い範囲のディジタルコンピュータを含む。
入力および出力装置18,20は電子信号を受信および発生することまたはそのいずれかが出来る任意の構成部品、要素、機構、器具または同様のものを含む。デバイスという用語の範囲内のデバイスの例として、自動販売機、電話機、扉錠、温度センサー、モータ、スイッチおよび電灯を含む。
現設計ではホストコンピュータ12は典型的に、マイクロソフトWindows95(登録商標)または98オペレーティングシステムが走るIBM(登録商標)互換パーソナルコンピュータである。リモートコンピュータ16は典型的に組込型プロセッサ(図示せず)を含み、また先に説明したようにしばしばマイクロ制御装置を含む。装置18,20はプロセッサがそれとインタフェースおよび相互作用が出来る電子式インタフェースを備えた任意の装置で構わない。本発明と共に使用される可能性のある1つの品目は自動販売機(図示せず)である。多くの自動販売機は、その自動販売機の異なる部品を制御するための1つまたは複数のマイクロ制御装置を含む。これらのマイクロ制御装置はリモートコンピュータ16の範囲に入る。入力および出力装置18,20は自動販売機から品物を選択するためのボタン、それらの品物が使用者に落下出来るようにするためのスイッチ、どの品物が売り切れているかを表示するための電灯、任意の小銭を返却するための小銭返却器等を含む。当業分野で知られているように、この自動販売機実施例は同一構造の中に統合された入力および出力装置18,20およびリモートコンピュータ16を含む。従って本発明はその様な環境で実施される場合もある。当業者であれば、リモートコンピュータ16がそれに付属する入力および出力装置18,20とは別の構造である場合も理解されよう。多くの最新式デバイスは組込型マイクロ制御装置を取り込むようになっており、例えば多くのセルラ電話機、ページャー、および類似品は組込型マイクロ制御装置を含んでいる。
ホストコンピュータ12はリモートコンピュータ16に、RS232,RS485、モデム、電力線、有線接続、無線接続等を含む種々の接続を通して接続される。同様に、リモートコンピュータ16は種々の入力および出力装置18,20に種々の方法を通して接続される。先に述べたように、典型的にリモートコンピュータ16はマイクロ制御装置(図示せず)を含む。マイクロ制御装置はしばしば外部装置と通信を行うための入力/出力ポートを有する。個別のマイクロ制御装置のこれらの仕様は、しばしば装置がどの様にしてマイクロ制御装置に接続されるかを表している。当業者であれば、異なる装置がどの様にしてコンピュータ接続されるかを、それらが組込型コンピュータ、標準デスクトップコンピュータ、メインフレーム等に拘わらず理解できるであろう。
先に述べたようにクライアントコンピュータ22がまたコンピュータシステム10に含まれる場合もある。その様な構成は使用者がリモートコンピュータ14のサービスに、たとえ遠距離であってもホストコンピュータ12を通してアクセス出来るようにする。ホストコンピュータ12およびクライアントコンピュータ22は全て、例えばLAN,WAN等のコンピュータネットワーク24上で互いに接続される。加えて、クライアントコンピュータ22は遠隔地からホストコンピュータ12に、ダイアルアップ接続経由、イントラネット経由、またはインターネット経由で接続する。
図2は本発明の今回提案されている好適な実施例の主要ハードウェアおよびソフトウェア構成要素のブロック図を表す。図示されるように、図2のハードウェア構成要素は図1のそれらと相関している。当業者に理解されるように、種々のハードウェア構成要素を相互接続するための種々の方法が存在し、また機能を1つのハードウェア要素から別のものに移動させることにより1つまたは複数のハードウェア要素を削除する種々の構成が存在する。
本発明は使用者がホストコンピュータ12を通して組込型コンピュータ16により提供されるサービスを監視および制御またはいずれかを実行できるようにする。組込型コンピュータ16のサービスは、本発明ではそれらがコンピュータネットワーク10を介してまた効率的な方法でアクセス出来るように露わにされている。
本発明の今回提案されている好適な実施例では、入力および出力装置18,20からのデータは入力/出力ポート26を通して読み込みおよび書き込みまたはいずれかが実行される。組込型アプリケーションプログラム28は、これらの入力および出力またはそのいずれかのポート26と直接インタフェースする実行可能命令を含む。組込型アプリケーション28は主ループを有し、これは何度も繰り返される。もちろん、組込型アプリケーション開発者は連続的に繰り返される主ループを有さない1つのアプリケーションを記述するはずである。本発明の原理は主ループを持たないアプリケーションに適用され、今回提案されている好適な実施例の中で実現されているものとほぼ同じ利益を提供する。
組込型またはリモートコンピュータ16、その特性および性能に関する基本情報は本発明を実施する上で有益である。その様な基本情報はリモートコンピュータ16の性能表30の中に格納される。性能表30はファイルとして格納されたり、または性能表30はアプリケーション28と共にコンパイルされる静的データとして格納されたり、または性能表30はリモートコンピュータ16の外部の格納装置(図示せず)上に格納されることも可能である。当業者に理解されるように、リモートコンピュータ16の基本性能およびそれが接続される入力および出力装置18,20を格納するための種々の方法が存在する。表1は性能表30の中にどの様な型式の情報が格納されるかを図示する疑似コードを含む。
Figure 0004270193
表1に図示されているように、性能表は行(1A)に示されるバイト順序形式の指示を含む。このバイト順序形式(1A)はリモートまたは組込型コンピュータ16がビッグインディアンかまたはリトルインディアンのいずれであるかを示す。この表はまた、行(1B)にどのデバイス識別子がその特定のリモートまたは組込型コンピュータ16に対するものであるかをも示す。必要に応じて装置アドレスが、性能表30内の行(1C)に示される。互換性の目的で使用されているソフトウェアに関するバージョン番号が、行(1D)に示されるように格納される。同様に通信プロトコルバージョン番号が、行(1E)に示されるように格納される。通信に関する個別事項もまた格納される。例えば、表1に示されるように最大通信パケットサイズが、行(1E)に示されるように格納される。行(1G)に示される不揮発格納装置フラグは、不揮発格納装置がリモートコンピュータ16によってアクセス可能か否かを示す。不揮発格納装置に関する情報、例えば不揮発格納装置サイズおよびその開始アドレスも、行(1H)に示されるように格納される。静的ファイルシステムフラグは、行(1I)に示されるように、静的ファイルシステムが存在するか否かを示す。同様に動的ファイルシステムフラグは、行(1J)に示されるように動的ファイルシステムが存在するか否かを示す。性能表30はホストコンピュータ12のソフトウェアが性能表30を要求して組込型コンピュータ16の特性および性能を確認することが出来るので有用である。
使用者はクライアントコンピュータ22およびホストコンピュータ12またはいずれで動作するソフトウェアを通して、リモート組込型コンピュータ16で提供される或るサービスにアクセスしたいと所望するはずである。複数のサービスは異なる機能、変数、イベント、およびファイルまたはいずれかを含む。例えば、使用者は特定機能の実行、或る変数へのアクセス、指定されたイベントのチェック、または特定ファイルへのアクセスを所望する場合がある。現設計では、使用者がアクセスする必要のあるサービスが識別されてリストに上げられている。サービスの識別子もまた或るサービスに関する情報を含む。或るサービスのこの識別子は種々の方法で実現されるであろう。例えば、現設計ではサービス表32がリモートコンピュータ16に格納される。サービス表32はファイルとして格納されるか、またはアプリケーションと一緒にコンパイルされる静的データとして格納されるか、またはリモートコンピュータ16外部の格納装置(図示せず)上に格納される場合もある。当業者に理解されるように、リモートコンピュータ16上で動作するアプリケーションコード28で提供される、或るサービスに関する基本情報を格納するための方法は種々存在する。表2はどの型式の情報がサービス表32内に格納されているかを図示する疑似コードを含む。
Figure 0004270193
表2に図示されるように、サービス表32はサービスの名称または識別子、サービスの型式(例えばそれが、機能、変数、イベント、ファイル等のいずれであるか)、必要に応じて入力パラメータ型式、必要に応じてリターン型式、およびサービスのアドレスの様な情報を含む。行(2A)に示されるように、機能 FunctionA に関する情報は、これが機能であり、入力パラメータとしてワードを必要とし、それは何もリターンせず(void)またそのアドレスが &FunctionA に示されていることを示している。行(2B)は別の機能, FunctionB に関する情報を図示している。変数に関連する情報は行(2C)−(2D)に図示されている。イベントに関する情報は(2E)−(2F)に図示されている。イベントは任意の型式のデータである。例えば、1つのイベントは変数、個別のレジスタ、割り込み等が考えられる。イベントは特に非同期で発生する項目に対して特に有用である。非同期型式のイベントの例は、外部への警報または外部LEDの変化を含む。或るファイルに関する情報は行(2G)および(2H)に図示されている。
或るサービスに関する情報をリモートコンピュータ16に格納することにより、ホストコンピュータ12上のソフトウェアはどの様なサービスがリモートコンピュータ16で利用できるかを容易に確認できる。サービス表32はあるサービスに関する情報を提供するように機能し、此処でその情報はホストコンピュータ12の使用者、またはそこに接続されているクライアントコンピュータ22の使用者に有益なものである。
現設計では、組込型インタフェースモジュール34は、リモートコンピュータ16でのサービスとホストコンピュータ12で動作するソフトウェアとの間のアクセスを提供する。今回提案されている好適な実施例では、インタフェースモジュール34はリモートコンピュータ16上の所望のサービスへアクセスするために、サービス表32内の情報を使用する。更に、今回提案されている好適な実施例では、インタフェースモジュール34は再入可能コードである。
インタフェースモジュール34は組込型通信ポート36を通して通信する。現設計では、通信モジュール38は通信ポート36を使用した通信を提供する。しかしながら当業者に理解されるように、インタフェースモジュール34はリモートコンピュータ16の通信ポート36と直接インタフェースするのに必要なコードを含むことも可能である。通信モジュール38またはコード38は通信ポート36へのアクセスを提供し、データが通信ポート36に対して適切なサイズでフォーマットされたまとまりで与えられ、通信ポート36から受信されたデータがポート36から正しく読みとれるように保証する。
ホストコンピュータ12は、リモートコンピュータ16の通信ポート36と電子的通信を行う通信ポート40を含む。先に説明したように、リモートおよび組込型またはいずれかのコンピュータポート36とインタフェースすることの出来るコンピュータで利用可能なその様なポートは色々存在する。通信モジュール42はリモートコンピュータ16の通信モジュール38で提供されるものと同様な機能を提供する。通信モジュール42は通信ポート40に書き込まれまたそこから読み出されるデータを正しくフォーマット化する。
ホストコンピュータ12は組込型コンピュータ16で提供されるサービスへのアクセスを提供する。本発明の今回提案されている好適な実施例では、サービス表32が組込型コンピュータ16からリトリーブされ、そこからサービスのリストがホストコンピュータ12で生成され、それはサービス表32にほぼ対応するものである。ホストコンピュータ12のサービスのリスト図2ではエキスポートされたサービス情報44として参照されている。エキスポートされたサービス情報44はどのサービスがリモートコンピュータ16で利用可能であるか、また必要であればどのデータ型式が個々のサービスで使用されているかを示す。これはホストコンピュータ12を経由してリモートまたは組込型コンピュータ16へのアクセスを容易にする。
現設計では、処理工程はホストコンピュータ12上で最初開始され、これはエキスポートされたサービス情報44を生成させる。現設計ではデバイスアクセス制御装置46がこの初期指令を与える。
先に述べたように、本発明の今回提案されている好適な実施例は、組込型コンピュータ16のサービスへのアクセスを、ホストコンピュータ12と電子的に通信しているクライアントコンピュータ22に提供する。クライアントコンピュータ22によるアクセスを容易にするために、ホストコンピュータ12はサーバーを含む場合もある。ウェブサーバー48はホストコンピュータ12で開始される。ウェブサーバー48はリモートコンピュータ16に於けるサービスへのウェブインタフェースを提供する。例えば、リモートコンピュータ16のデータおよびサービスまたはいずれかはHTMLページを通してグラフィック的に表現される。従って、デバイスアクセス制御装置46はウェブページ(図示せず)をリモートコンピュータ16で利用可能なサービスから生成し、ウェブサーバー48はこれらのウェブページに対するHTTP要求のサービスを行う。
デバイスアクセスサーバ50もまた、リモートコンピュータ16のサービスに対するクライアント要求のサービスを行うためにホストコンピュータ12に含まれる。現設計ではデバイスアクセスサーバ50はエキスポートされたサービス情報44にアクセスし、この情報がクライアントコンピュータ22のクライアントで利用できるようにする。
クライアントコンピュータ22はクライアントアプリケーション52とデバイスアクセスクライアント54を含む。デバイスアクセスクライアント54はリモートコンピュータ16のサービスにアクセスするためにデバイスアクセスサーバ50と通信を行う。クライアントアプリケーション52はそのサービスに関する情報を得るためにデバイスアクセスクライアント54を使用する。クライアントアプリケーション52はまたホストコンピュータ12に配置されているウェブサーバー48からのデータにもアクセスできる。例えば、クライアントアプリケーション52はウェブサーバー48に接続可能なウェブブラウザである。
図3を参照すると、本発明の今回提案されている好適な実施例がオブジェクトによる実現として示されており、これによりエキスポートされたサービス情報がカプセル化される。本発明の使用者はリモートコンピュータ16のサービスのリストをホストコンピュータ12のソフトウェアオブジェクト56を使用してカプセル化できる。本発明の今回提案されている好適な実施例のオブジェクト56はホストコンピュータ12上に格納され実行される。オブジェクト56はリモートコンピュータシステム14の少なくとも一部のオブジェクト表現を提供し、此処でリモートコンピュータシステム14はリモートコンピュータ16とそれに接続された装置18,20の両方を含む。オブジェクト56の一部は主としてリモートコンピュータ16で提供されるサービスにアクセスするために使用される。オブジェクト56をホストコンピュータ12上で実現することにより、開発者にはオブジェクト指向分析および設計の多くの利益が、これらの利益を提供するためにリモートコンピュータ16上の貴重な資源を使用することなく与えられる。現設計においては、リモートコンピュータ16上に格納されるために必要な項目のみがリモートコンピュータ16に格納される。もちろん、当業者に理解されるように、リモートコンピュータ16がかなりな量のメモリへのアクセスを行う場合には、更に多くの項目がリモートコンピュータ16に格納される。
オブジェクト56はデータ構造の記述である。1つのオブジェクト56は、此処で使用されるようにデータおよび機能またはいずれかをカプセル化した抽象的データ型式である。従って、当業者であれば、オブジェクト56と等価なデータ構造を、ある種のプログラミング言語のオブジェクト指向機能を使用することなく実現することができる。特に、此処で使用されているオブジェクト56はソフトウェア開発者がC++またはSmalltalk の様なオブジェクト指向言語を使用することを要求しない。本発明の範囲に含まれるオブジェクト56は、任意のプログラミング言語で実現できる。例えば、オブジェクト56はC,C++,Pascal, FORTRAN、アセンブリー言語等で実現できる。現設計ではCプログラミング言語が使用されている。
オブジェクト56のメンバーコンポーネント(機能、変数、データ等、オブジェクト56でカプセル化されているもの)がホストコンピュータ12上に格納される。オブジェクト56のメンバーコンポーネントは、メンバー機能またはメンバーデータのいずれかである。今回提案されている好適な実施例ではいくつかのメンバー機能、または方法、およびいくつかのデータメンバー、または属性がホストコンピュータ12上に格納されている。メンバーコンポーネントは、オブジェクト56のクラス定義で定義されるようにホストコンピュータ12上に格納されているが、メンバーコンポーネントはリモートコンピュータ16のサービスにアクセスする。オブジェクト56はリモートコンピュータシステム14の機能、変数、イベント、およびファイルまたはいずれかへのアクセスを提供する。
本発明の利益を提供するために、ホストコンピュータ12上で実施され格納されているオブジェクト56の少なくとも1つのメンバーコンポーネントが、リモートコンピュータ16と電子的通信を行い、リモートコンピュータ16上のデータにアクセスするために使用される。データへのアクセスはリモートコンピュータ16からデータをリトリーブし、リモートコンピュータ16に格納されているデータを変更するか、またはリモートコンピュータ16上のコードを実行させる。
現設計では、オブジェクト56は部分的に、リモートコンピュータ16のデータ、機能およびイベントまたはそのいずれかをミラーするように機能する。オブジェクト56はリモートコンピュータ16のサービスに対応するデータおよび機能またはいずれかを含む。サービス表32およびエキスポートされたサービス情報58はオブジェクト56がリモートコンピュータ16のサービスを、ホストコンピュータ12上で動作するソフトウェアおよびクライアントコンピュータ22上で動作するソフトウェアまたはそのいずれかに関連づけるかまたは露わに提示することを可能とする。この様にして、リモートコンピュータ16のデータおよび機能またはそのいずれかの一部はコンピュータネットワーク10を通して分散される。今回提案されている好適な実施例では、必要なデータのみがリモートコンピュータ16に格納され、またリモートコンピュータ16上に格納される必要がある実行可能コードのみがリモートコンピュータ16上に格納される。リモートコンピュータシステム14を代表するデータおよび機能がリモートコンピュータ16とホストコンピュータ12との間で分散され、リモートコンピュータ16で必要な資源を最小としている。オブジェクト56はオブジェクト指向分析および設計の利益を開発者に提供し、またリモートコンピュータシステム14の中に元から存在しているデータおよび機能へのアクセスを提供する。従って、オブジェクト56で提供されるデータおよび機能はホストコンピュータ12とリモートコンピュータシステム14との間で分散されるが、それら全てはホストコンピュータ12のオブジェクト56を通してアクセス可能である。
本発明の今回提案されている好適な実施例では、オブジェクト56はオブジェクト階層の一部である。オブジェクト階層を図4に関連して説明する。
図3と組み合わせて使用されるシステムは図2に示されるシステム10とほぼ同様である。ホストコンピュータ12のソフトウェアモジュールは、デバイスオブジェクト56とオブジェクトローダ60とを含むように修正変更される。
オブジェクトローダ60はデバイスオブジェクト56を生成する。下記の疑似コードの表およびそれに関連する説明は、デバイスオブジェクト56とデバイスオブジェクトローダ60の更なる詳細を与えるであろう。この表は疑似コードを実現するためのターゲット言語としてCプログラミング言語で書かれた疑似コードを含む。当業者であれば理解されるように、ほとんど全てのプログラミング言語が本発明を実現するために使用できる。
今回提案されている好適な実施例では、デバイスオブジェクトローダ60はデバイスオブジェクト56の記述を行いオブジェクト56のインスタンスを生成する。このインスタンスはそこに含まれるエキスポートされたサービス情報58を含む。疑似コードの中で、デバイスオブジェクト56のインスタンスはリモートコンピュータ16から既にエキスポートされていてホストコンピュータ12で利用可能な全てのサービスに関する表を含む。更に図4に関連して説明されるように、基本オブジェクトのサービスは、特定のオブジェクトがロードおよびインスタンス化またはいずれかにされると、その基本オブジェクトを継承するオブジェクトによってオーバーライドされる。
疑似コードの中で、オブジェクト階層は最初基本オブジェクトによりインスタンス化されるので、基本オブジェクトが初期化される第1オブジェクトである。デバイスオブジェクトローダ60が、特定のデバイスオブジェクトインスタンスに対するデバイスオブジェクト56の全てをローディングするというタスクを完了すると、その他のソフトウェア処理ルーチンで使用される準備が完了する。
表3はデバイスオブジェクト56で使用されるデータ構造を図示する。図示されるように、ハッシュ表がエキスポートされたサービス情報58を格納するための表として使用される。表3の疑似コードはまたエキスポートされたサービスの各々の型式に対する個別のハッシュ表を示し、これは変数、イベント、機能、およびファイルを含む。当業者であれば、どの様にしてハッシュ表、またはハッシングが実現されるかは理解されよう。
Figure 0004270193
表4は1つの変数に対して実施される異なる機能を図示している。もちろん、同一型式の機能がイベント、機能、およびファイルに対して提供される場合もある。表4に図示されているものの原理は、図示されているようにイベント、機能、およびファイルと同様に種々の表に適用可能である。表3に図示されているように、ハッシュ表はまたエキスポートされたサービス情報58を格納するために使用できる。表4は変数表内の各々の変数に対して提供されまた実施される異なった機能を示す疑似コードを含む。動作に際して、サービス表32がホストコンピュータ12にエキスポートされた後、続いてホストコンピュータ12はエキスポートされたサービス情報58をエキスポートする。エキスポートされたサービス情報58は典型的に変数を含む。表4は、現設計ではホストコンピュータ12上で動作するコードを図示し、これは変数値を獲得し、変数値を設定し、変数に関する情報を獲得し、その変数に同意する能力を与える。同一の能力が機能、イベント、およびファイルに関連して用意できる。
Figure 0004270193
オブジェクトが最初に生成される際に、現設計ではデバイスオブジェクト56が最初基本オブジェクトで満たされて開始される。疑似コード図示により、デバイスオブジェクト表内の各々のハッシュはそのオブジェクトのサービスで満たされる。基本オブジェクトが初期化されると、その変数の全てがVarServiceEntry内に配置される。従って、最終デバイスオブジェクト参照は基本オブジェクトVarServiceEntry表を含み、機能ポインタ、VarServiceを通して操作できる。今回提案されている好適な実施例では、表内のエントリーはVarServiceEntry表内の最終フラグがFALSEの時のみオーバーライド出来る。これは基本オブジェクトが、継承オブジェクトでオーバーライドする事の出来ないサービスを実施することを可能とする。サービスがオーバーライド出来る場合は、継承されたオブジェクトは新たな表を作成しそれをVarServiceTableの中に同一名称で挿入することによりオーバーライドできる。VarServiceEntry表内のNextEntryポインタは、オーバーライドされサービスが継承されるオブジェクトで更にアクセスされることを可能とする。利用可能なその他のフラグはProtectedおよびVirtualフラグである。Protectedフラグは、そのオブジェクトの所有者では無く、継承されたオブジェクトのみがこのサービスを使用できる場合にのみ真を示す。Virtualフラグはインタフェースがこのオブジェクトの中に実現されておらず、そのデバイスオブジェクトがインスタンス化されるために継承されたオブジェクトの中で実現されなければならないことを示す。
表5はオブジェクトローダ60用の疑似コードを含む。オブジェクトローダ60はオブジェクトのストリング定義を取得してそのオブジェクトを生成する。各オブジェクトの初期化ルーチンはそのサービスをデバイスオブジェクト表の中に配置する。オブジェクトローダ60がオブジェクトのロードを完了した後、デバイスオブジェクト56が生成され、リモートコンピュータ16とその入力および出力装置18,20を含む、組込型システム14を操作するために使用できる。言葉を変えると、デバイスオブジェクト56が生成された後、それはリモートコンピュータ16のサービスにアクセスするために使用できる。
Figure 0004270193
デバイスアクセスサービス50、ウェブサーバー48、およびリモートコンピュータ16またはそのいずれかのサービスにアクセスを必要としているその他ソフトウェアは、エキスポートされたサービス情報58にアクセスするためにデバイスオブジェクト56にアクセスするはずである。
オブジェクトを使用することで得られる利点は、サブクラスを使用することを通してバグ修正提供および拡張またはいずれかの機能が得られることである。図4は如何にしてオブジェクト階層62を使用してリモートコンピュータ16上にロードされたソフトウェアの能力拡張またはバグ修正提供を行うかを簡単に図示したものである。図4のオブジェクト階層62において、基本オブジェクト64はリモートコンピュータ16の大規模グループに共通なデータおよび機能を含む。デバイスオブジェクト66、基本オブジェクト64からのサブクラスはリモートコンピュータ16のより小さなグループ上に更に焦点を合わされており、更に詳細でリモートコンピュータ16のより狭いセットに焦点を合わされているデータおよび機能またはそのいずれかを含む。図4に示されるように、デバイスオブジェクト66は機能D,EおよびFを含む。機能D,EおよびFは全て実際の機能D,EおよびFの単なる包含者であり、これらは全てリモートコンピュータ16上に実現されている。機能D,EおよびFは典型的に組込型アプリケーション28のコードを通して実現される。機能D,EおよびFとインタフェースするために必要な情報はエキスポートされたサービス情報の一部である。
オブジェクト指向手法の有用性を図示するために、リモートコンピュータ16のコードを最初にリリースしてから一定時間後に、リモートコンピュータ16で機能D,EおよびFが変更されると仮定する。リモートコンピュータ16で機能Dが追加エラーチェックを与えるために変更されたとする。機能Fは先のリリース内で発見されたバグを修正するために変更されたとする。本発明を使用することで、ホストコンピュータ12のソフトウェアは、これらの修正をリモートコンピュータ16ソフトウェアに、リモートコンピュータ16上のコードを変更することなく追加するように実行出来る。
図4に示されるように、サブクラス、デバイス拡張オブジェクト68はデバイスオブジェクト66から導き出される。デバイス拡張オブジェクト68はそれ自身の機能Dを含み、これはデバイスオブジェクト66の機能Dをオーバーライドする。この新たな機能Dはリモートコンピュータ16の機能Dへの全ての新たな変更を実現するためのコードを付加する。この例の中で、例えば新たな機能Dは追加エラーチェックを提供するコードを含むはずである。機能Dはまた、旧機能Dの元コードをも含むか、または単にデバイスオブジェクト機能Dを新たな機能Dコードを実行する前、実行中または実行後にコールするだけである。
デバイス拡張オブジェクト68はまたそれ自身の機能Fを含み、これはデバイスオブジェクト66の機能Fをオーバライドする。新たな機能Fはリモートコンピュータ16の機能Fに全ての新たな変更を実行するためのコードを付加する。この例の中で、例えば、新たな機能Fはリモートコンピュータ16上の先にリリースされたコードの中に発見されるバグを修正したコードを含む。機能Fはまた旧機能Fの元のコードも含むか、またはデバイスオブジェクト66機能Fを新たな機能Fコードの実行前、実行中、または実行後に単にコールする。簡単な例は以下の通りである。リモートコンピュータ16における元の機能Fが、2つの数値を追加してその結果を格納するものであったと仮定する。更に、そのコードがリリースされ出荷された後、ある環境下でその計算が正しくないことが発見されたと仮定する。新たな機能Fはホストコンピュータ12上にコードを追加し、これはリモートコンピュータ16の旧機能Fから正しくない結果が与えられた時に、その計算を調整、補償、および修正変更またはいずれかをすることが出来る。
もちろん、全ての型式の拡張およびバグ修正またはいずれかがホストコンピュータ12上のコードを通して十分に補償されない場合が有ることは理解されよう。先の図はいくつかの拡張およびバグ修正またはいずれかがホストコンピュータ12上のコードを通して十分に補償出来ることを意味し、この例はそれが如何にして実現できるかを示す。
本発明の今回提案されている好適な実施例は典型的に、少なくとも2つのコードを含み、リモートコンピュータ16上にロードされたコードとホストコンピュータ12上にロードされたコードとである。図5はリモートコンピュータ16に必要なコンポーネントを実現する際に行われるステップを示す流れ図である。図6はホストコンピュータ12で必要なコンポーネントを実現する際に行われるステップを示す流れ図である。
典型的に、本発明を使用したいと望む開発者はリモートコンピュータ16とホストコンピュータ12とを含むコンピュータシステム10を有する。リモートコンピュータ16は入力および出力用の外部装置18,20を含む。本発明を使用したいと望む開発者はしばしば組込型アプリケーション28を有し、これは装置入力18を受信して処理し、出力20を生成する。本発明を実施する際に、開発者は最初ホストコンピュータ12へエキスポートされるサービスを識別する(70)。これらのサービスは機能、変数、イベント、ファイル等を含む。
エキスポートされるべきサービスが識別されると(70)、これらのサービス表が生成される(72)。この表32は種々の方法で実現できる。例えば、サービス表32はデータ構造、ファイル等として格納されるであろう。典型的にサービス表32は静的であり、これはこの表がリモートコンピュータ16上にロードされたコードに関して通常固定されていることを意味する。例えば、通常サービス表32はコンパイルされリモートコンピュータ16上にロードするコードとリンクされる。しかしながら、サービス表32は動的な場合もあり、これはコードがリモートコンピュータ16上でコンパイルされ、リンクされロードされた後に発生され生成されることが可能であることを意味する。
現設計では、性能表30も生成される(74)。サービス表32と同様、性能表30は静的または動的であり、種々の方法で格納できるが、これは当業者に理解される通りである。
次にリモートコンピュータ16のコードが、ホストコンピュータ12上で動作しているかまたは動作する予定のソフトウェアとインタフェースし通信するように、書かれるかまたは修正される(76)。図2および図3に示されるように、個別の組込型インタフェースモジュール34が書かれる。この組込型インタフェースモジュール34は、ホストコンピュータ12のソフトウェアから受信される種々の要求に応答するように書かれる。個別のインタフェースモジュール34を生成することにより、組込型アプリケーション28はリモートコンピュータ16のサービスへの集中を維持できる。現設計の中では、組込型アプリケーション28はホストコンピュータ12からの要求に応答するための時間を提供するように、その主演算ループ内の組込型インタフェースモジュール34の中へ機能コールを行うように典型的に修正変更される。組込型インタフェースモジュール34はいくつかの処理を実行し、主演算ループに戻る。インタフェースモジュール34は十分短い時間の間に主演算ループに戻るように制御して、主演算ループが必要なイベントおよび処理またはいずれかを喪失しないようにすべきである。
これに代わる実施例において、組込型インタフェース34は周期的にコールされる割り込みサービスルーチンから呼ばれることも可能である。
図2および図3にも示されるように、通信ポート36との間での通信を処理するために別の通信モジュール38が生成される場合もある。
リモートコンピュータ16のコードに対して必要な変更が行われると、そのコードはコンパイルされ(78)共にリンクされて、リモートコンピュータ16上にロードされる。もちろん、当業者には理解されるように種々のソースファイルが異なる時間にコンパイルされ、リンクされてリモートコンピュータ16上にロードされることも可能である。
図6はホストコンピュータ12に必要なコンポーネントを実現する際のステップを示す流れ図である。もちろん本発明を実施する際に異なるステップも実行可能であろう。図6のステップは本発明の原理を図示するものであって、此処に教える原理の範囲の制限を意味するものではない。本発明の今回提案されている好適な実施例のソフトウェア動作をホストコンピュータ12上で開始するために、使用者はデバイスアクセス制御装置46を開始させる(80)。現設計ではデバイスアクセス制御装置46はリモートコンピュータ16と通信するための通信モジュール42を含む。
現設計では、デバイスアクセス制御装置46は組込型インタフェースモジュール34を既知の状態にリセットする(82)。これは全ての状態変数、データ等のリセットを含む。今回提案されている好適な実施例では、組込型インタフェースモジュール34は肯定確認をデバイスアクセス制御装置46へ送ることにより、リセットを確認する。
アクセス制御装置46はまたリモートコンピュータ16から性能表30を要求する(84)。この性能表30を通してホストコンピュータ12で動作しているソフトウェアはどの様な能力をリモートコンピュータ16が持っているかを知るところとなる。
アクセス制御装置46はまた、リモートコンピュータ16からサービス表32を要求する(86)。サービス表32を得ることで、ホストコンピュータ12のソフトウェアはリモートコンピュータ16の個々のサービスに関するエキスポートされたサービス情報44を生成し維持することが出来る。ホストコンピュータ12は続いてこの情報をホストコンピュータ12の使用者またはその様な情報を要求しているクライアントソフトウェアに提示する。
先に説明したように、本発明はオブジェクト指向技術を使用して実現されるであろう。使用者がオブジェクト指向技術を使用することを所望するのであれば、デバイスオブジェクト56が生成されるであろう(88)。このデバイスオブジェクト56はサービス表32からリトリーブされた全てまたはいくつかの情報をカプセル化しているはずである。
ホストコンピュータ12で使用されクライアントからの要求をサービスしている全てのサーバーが起動される必要がある。例えば、ウェブサーバー48はクライアントコンピュータ22のウェブブラウザからの要求をサービスするために起動される(90)。加えて、またはこれに代わってデバイスアクセスサーバ50がリモートコンピュータ16に関する情報へのアクセスを提供するため、またリモートコンピュータ16へのアクセスを提供するために起動される(92)。図2および図3に示されるように、クライアントアプリケーション52およびデバイスアクセスクライアント54またはそのいずれかがクライアントコンピュータ22上で起動される。一度ソフトウェアがホストコンピュータ12で動作すると、それが受信した要求をサービスするように動作する(94)。
図7はリモートコンピュータ16から変数値を獲得する手順の流れ図を示す。図7は図2および図3に示されるソフトウェアコンポーネントを順に追っている。しかしながら当業者には理解されるであろうが、図7のステップは、此処に含まれる本発明の原理を実現する異なったソフトウェアコンポーネントアーキテクチャを用いて容易に修正変更できる。図7に関連して図示され説明された原理は、リモートコンピュータ16のその他のサービスにアクセスするために使用できる。
クライアントアプリケーション52が既にリモートコンピュータ16でのサービスを認識していない限り、クライアントアプリケーション52は最初に利用可能なサービスのリストを通常要求する(98)。サーバー、ウェブサーバー48、デバイスアクセスサーバ50、または同様のサーバーのいずれかが、要求を受信して(100)デバイスオブジェクト56からエキスポートされたサービス情報をリトリーブする。本発明の個別の実現方法がオブジェクト指向手法を使用していない場合、サーバーはエキスポートされたサービス情報をエキスポートされたサービス情報44、またはその様な情報を戻すように設計され実現された機能のいずれかから直接リトリーブする。
続いてサーバーはサービス情報をクライアント52に送る(102)。一度クライアントがどの様なサービスがリモートコンピュータ16で利用可能かを知ると、このクライアントはそのサービスに関する或るデータおよび動作またはいずれかを要求するはずである。図7に示されるように、そのクライアントは特定の変数値を要求するであろう(104)。使用者はクライアントソフトウェア52を通して、リモートコンピュータ16でのイベントの状態またはデータを知るためにリモートコンピュータ16から特定の変数値を要求する。例えば、リモートコンピュータ16は温度センサと電子的通信を行い、その温度センサデータを1つの変数の中に格納する。使用者はどの様な温度がリモートコンピュータ16で検出されたかを知るためにその変数値を知りたいと望むであるう。
サーバは特定の値に関する要求を受信し(106)、その変数を適切なデバイスオブジェクト56または、機能的に等価なソフトウェアから要求する(108)。オブジェクト56は、この要求を受信するとメッセージをこの値を要求した組込型インタフェースモジュール34に送る(110)。ホストコンピュータとリモートコンピュータとの間のハードウェアおよびソフトウェア通信通路を図2および図3に関連して図示し説明する。
処理に関する次のコールに応じて、組込型インタフェースモジュール34はメッセージを受信し(112)、変数にアクセスし(114)そこに含まれる値を読み取る。変数値をリトリーブした後、組込型インタフェースモジュール34はその値をオブジェクト56にその通信通路を通して送り返す(116)。オブジェクト56がこの値を受け取ると、このオブジェクト56はその値をサーバに返す(118)。続いてサーバはクライアントからの要求に答え(120)、その変数値をクライアントソフトウェアへ送る。
図4に関連して説明したように、オブジェクトの能力を拡張するためにオブジェクト階層が使用されている場合、オブジェクト56はデータをサーバに戻す前にそのデータに対して更なる処理を加える。例えば、サブクラスコンポーネントはリトリーブされた変数の表示を変更したり、その値を修正する場合がある。オブジェクト56上でのリトリーブまたはゲット操作形式の、変数または値リトリーブ機能はその変数の値を変更するコードの実行を含むリトリーブまたはゲット操作のサブクラスの中にオーバーライドされるはずである。最初、このゲット操作はリモートコンピュータからその値をリトリーブするために基本クラスからゲット操作をコールする。その値がリモートコンピュータからリトリーブされた後、続いてゲット操作はその値を変更するための機能または命令を実行する。サブクラスコンポーネントのゲットまたはリトリーブ操作は基本クラス内の1つと同一と見なされるが、ホスト上に格納される追加および拡張はデバイスオブジェクトを強化する。
上述のように、本発明の組込型マイクロインターネット動作技術(EMIT: Embedded Micro Internetworking Technology)ソフトウェアは組込型マイクロ制御装置のほとんどのソフトウェアを移動して、それを更に能力の高いコンピュータにネットワークを介して分散するように設計されている。EMITはまた既存のインターネット技術を強化するようにも開発されている。
EMITソフトウェアの使用は以下を含む種々のコンポーネントを含む。顧客の組込型アプリケーション28、emMicro ソフトウェア(これは組込型インタフェースモジュール34に関連する)、emGateway ソフトウェア、emNet ソフトウェア(これは通信モジュール38および42に関連する)、および顧客の監視/制御アプリケーション52である。
emMicro は本発明の今回提案されている好適な実施例の中でリモートコンピュータ16の上で使用されており、リモートコンピュータ16からのサービス情報をホストコンピュータ12に関連づけている。サービス情報はリモートコンピュータ16上で動作している組込型アプリケーション28の機能、変数、イベントおよびファイルに関する情報である。
emMicro が動作しているホストコンピュータ12とリモートコンピュータ16の間の通信は、通常RS232,RS484,RF,またはIRの様な軽量ネットワーク経由で達成される。
上記の説明から、本発明は組込型システムのサービスをより大きなコンピュータシステムを介して分散することが理解されよう。加えて、本発明は組込型システムの機能を、その機能をコンピュータシステムを介して分散可能とすることで増加させる。本発明はまた組込型システムに関連するデータの有効格納能力を、このデータがホストコンピュータ上に格納出来るようにすることで増加させる。更に、本発明はリモートコンピュータとのインタフェースおよび通信の容易さを増加させるが、それはサービス情報をカプセル化しそれをクライアントアプリケーションに露わに提示しこれによってリモートコンピュータのサービスがより容易にアクセスおよび相互作用出来るようになっている。
本発明は、本発明の精神または本質的特性から逸脱することなく、別の特定の形式の中で実施できるであろう。説明された実施例は全ての点に於いて図示のみであり、制限するものと考えられるべきではない。従って本発明の範囲は、先の説明よりもむしろ添付の特許請求の範囲に指示されている。特許請求の範囲と等価の意味および範囲内の全ての変更は、それらの範囲に包含されるべきである。
本発明の提案されている好適な実施例に含まれる主要ハードウェア構成要素のブロック図である。 本発明の1つの実施例に含まれる主要ハードウェアおよびソフトウェア構成要素のブロック図である。 本発明の提案されている好適な実施例に含まれる主要ハードウェアおよびソフトウェア構成要素のブロック図である。 本発明の提案されている好適な実施例のオブジェクト階層のオブジェクト図である。 本発明の提案されている好適な実施例で実施されるステップを図示する流れ図である。 本発明の提案されている好適な実施例で実施されるステップを図示する流れ図である。 本発明の提案されている好適な実施例で実施されるステップを図示する流れ図である。

Claims (9)

  1. 第1のコンピュータと、記憶容量に制約があるデバイス内に組み込まれた、ネットワークを介して前記第1のコンピュータに接続すると共に前記デバイスと電子的通信を行う第2のコンピュータと、ネットワークを介して前記第1のコンピュータに接続された、第1のコンピュータがネットワークを介して第2のコンピュータから取得したデバイスに関する情報に基づいて、前記第1のコンピュータを介して前記デバイスを監視及び/又は制御する第3のコンピュータとを含むネットワークコンピュータシステムであって、
    前記第1のコンピュータに実装された第1のオブジェクトと、
    前記第1のコンピュータに実装された第2オブジェクトと
    前記第1のコンピュータに実装された第3のオブジェクトを備え、
    前記第1オブジェクトは、メソッドと属性の少なくとも一方のセットを定義する基本クラスのインスタンス化であり、
    前記第2オブジェクトは、基本クラスのサブクラスであるデバイスクラスのインスタンス化であり、基本クラスのメソッドと属性の少なくとも一方のセットを継承し、
    基本クラスのメソッドと属性の少なくとも一方のセットへのアクセスは第1のコンピュータを介して行われ、
    前記デバイスクラスは、デバイス固有のメソッドと属性の少なくとも一方によって基本クラスを拡張し、
    前記第3のオブジェクトは、前記デバイスクラスのサブクラスであるデバイス拡張クラスのインスタンス化であり、デバイスクラスを介して基本クラスのメソッドと属性の少なくとも一方のセットを継承し、
    デバイス拡張クラスは、デバイスクラスのメソッドと属性の少なくとも一方のセットを変更することによりデバイスクラスを改訂し、拡張デバイス固有のメソッドと属性の少なくとも一方を付加し、
    前記第3のオブジェクトは、前記第3のコンピュータから前記デバイスの監視及び/又は制御の要求があった際、前記拡張デバイス固有のメソッドと属性の少なくとも一方に基づいて当該監視及び/又は制御の要求に処理を加えること
    を特徴とするネットワークコンピュータシステム。
  2. 請求項1に記載のネットワークコンピュータシステムであって、
    前記第2のコンピュータは所定のサービスの情報を有するサービスリストを備えることを特徴とするネットワークコンピュータシステム。
  3. 請求項2に記載のネットワークコンピュータシステムであって、
    前記第1のコンピュータは前記所定のサービスのサブセットであるエキスポートされたサービスの一覧を備えることを特徴とするネットワークコンピュータシステム。
  4. 請求項2又は請求項3に記載のネットワークコンピュータシステムであって、
    前記サービスリストは機能の識別子と当該機能と関連づけられたデータタイプに関する情報を有することを特徴とするネットワークコンピュータシステム。
  5. 請求項2乃至請求項4のうち、いずれか1項に記載のネットワークコンピュータシステムであって、
    前記サービスリストは変数の識別子と当該変数のデータタイプに関する情報を有することを特徴とするネットワークコンピュータシステム。
  6. 請求項2乃至請求項5のうち、いずれか1項に記載のネットワークコンピュータシステムであって、
    前記サービスリストはイベントの識別子に関する情報を有することを特徴とするネットワークコンピュータシステム。
  7. 請求項2乃至請求項6のうち、いずれか1項に記載のネットワークコンピュータシステムであって、
    前記サービスリストはファイルの識別子に関する情報を有することを特徴とするネットワークコンピュータシステム。
  8. 請求項1乃至請求項7のうち、いずれか1項に記載のネットワークコンピュータシステムであって、
    前記メソッドと属性の少なくとも一方のセットは複数のデバイスと関連していることを特徴とするネットワークコンピュータシステム。
  9. 請求項1乃至請求項8のうち、いずれか1項に記載のネットワークコンピュータシステムであって、
    前記第2のコンピュータは組込型コンピュータであることを特徴とするネットワークコンピュータシステム。
JP2005318687A 1999-03-26 2005-11-01 ネットワークコンピュータシステム Expired - Fee Related JP4270193B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/276,986 US6370436B1 (en) 1999-03-26 1999-03-26 Distributed objects for a computer system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000608334A Division JP2002540536A (ja) 1999-03-26 2000-03-24 コンピュータシステム用分散型オブジェクト

Publications (2)

Publication Number Publication Date
JP2006120171A JP2006120171A (ja) 2006-05-11
JP4270193B2 true JP4270193B2 (ja) 2009-05-27

Family

ID=23058971

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2000608334A Pending JP2002540536A (ja) 1999-03-26 2000-03-24 コンピュータシステム用分散型オブジェクト
JP2005318690A Expired - Fee Related JP4270194B2 (ja) 1999-03-26 2005-11-01 ネットワークコンピュータシステム及びサービス分散方法
JP2005318687A Expired - Fee Related JP4270193B2 (ja) 1999-03-26 2005-11-01 ネットワークコンピュータシステム

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2000608334A Pending JP2002540536A (ja) 1999-03-26 2000-03-24 コンピュータシステム用分散型オブジェクト
JP2005318690A Expired - Fee Related JP4270194B2 (ja) 1999-03-26 2005-11-01 ネットワークコンピュータシステム及びサービス分散方法

Country Status (6)

Country Link
US (2) US6370436B1 (ja)
EP (1) EP1171844A4 (ja)
JP (3) JP2002540536A (ja)
AU (1) AU769815B2 (ja)
CA (1) CA2369105A1 (ja)
WO (1) WO2000058912A1 (ja)

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430576B1 (en) * 1999-05-10 2002-08-06 Patrick Gates Distributing and synchronizing objects
DE60003457T2 (de) * 1999-12-08 2004-05-06 Sun Microsystems, Inc., Santa Clara Verfahren und system zur konfiguration von komponenten, ausgebbar in einem netzwerk
US6963897B1 (en) * 2000-03-30 2005-11-08 United Devices, Inc. Customer services and advertising based upon device attributes and associated distributed processing system
US8010703B2 (en) 2000-03-30 2011-08-30 Prashtama Wireless Llc Data conversion services and associated distributed processing system
US7117239B1 (en) * 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
FI113709B (fi) 2001-12-10 2004-05-31 Nokia Corp Menetelmä sulautetussa ympäristössä etälaitteen toiminnallisuuden järjestämiseksi
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
ES2204293A1 (es) * 2002-06-27 2004-04-16 Jofemar, S.A. Sistema de control de maquinas automaticas.
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US9172553B2 (en) * 2005-03-16 2015-10-27 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US8996665B2 (en) * 2005-03-16 2015-03-31 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US9609003B1 (en) 2007-06-12 2017-03-28 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
US8473619B2 (en) * 2005-03-16 2013-06-25 Icontrol Networks, Inc. Security network integrated with premise security system
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US20170118037A1 (en) 2008-08-11 2017-04-27 Icontrol Networks, Inc. Integrated cloud system for premises automation
US11159484B2 (en) 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10062273B2 (en) 2010-09-28 2018-08-28 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US9191228B2 (en) 2005-03-16 2015-11-17 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US10375253B2 (en) 2008-08-25 2019-08-06 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US10313303B2 (en) 2007-06-12 2019-06-04 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10382452B1 (en) 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US11190578B2 (en) 2008-08-11 2021-11-30 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US8612591B2 (en) * 2005-03-16 2013-12-17 Icontrol Networks, Inc. Security system with networked touchscreen
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US20160065414A1 (en) 2013-06-27 2016-03-03 Ken Sundermeyer Control system user interface
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10156959B2 (en) * 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US8635350B2 (en) * 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US7911341B2 (en) * 2007-01-24 2011-03-22 Icontrol Networks Inc. Method for defining and implementing alarm/notification by exception
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US10142392B2 (en) * 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US20050216302A1 (en) 2004-03-16 2005-09-29 Icontrol Networks, Inc. Business method for premises management
US8988221B2 (en) 2005-03-16 2015-03-24 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US8249071B2 (en) * 2004-03-26 2012-08-21 Harman International Industries, Incorporated Audio related system communication protocol
EP1617326A1 (en) * 2004-07-14 2006-01-18 Sap Ag Technique for handling hierarchical application data
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US8713132B2 (en) 2005-03-16 2014-04-29 Icontrol Networks, Inc. Device for data routing in networks
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US8825871B2 (en) * 2005-03-16 2014-09-02 Icontrol Networks, Inc. Controlling data routing among networks
US9059863B2 (en) * 2005-03-16 2015-06-16 Icontrol Networks, Inc. Method for data routing in networks
US8819178B2 (en) 2005-03-16 2014-08-26 Icontrol Networks, Inc. Controlling data routing in integrated security systems
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US9450776B2 (en) * 2005-03-16 2016-09-20 Icontrol Networks, Inc. Forming a security network including integrated security system components
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US20070182710A1 (en) * 2005-04-13 2007-08-09 Macdonald Frederic Integrated material handling and displaying unit, system and method of use
US10079839B1 (en) 2007-06-12 2018-09-18 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
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US12003387B2 (en) 2012-06-27 2024-06-04 Comcast Cable Communications, Llc Control system user interface
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
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US10389736B2 (en) 2007-06-12 2019-08-20 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
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US8478861B2 (en) * 2007-07-06 2013-07-02 Axeda Acquisition Corp. Managing distributed devices with limited connectivity
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
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
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
EP2323083A1 (de) * 2009-10-21 2011-05-18 ecs Beratung & Service GmbH Technisches Klassifikationssystem
US9144143B2 (en) 2010-04-30 2015-09-22 Icontrol Networks, Inc. Power and data solution for remote low-power devices
AU2011250886A1 (en) 2010-05-10 2013-01-10 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
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
EP3031206B1 (en) 2013-08-09 2020-01-22 ICN Acquisition, LLC 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

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297284A (en) 1991-04-09 1994-03-22 Microsoft Corporation Method and system for implementing virtual functions and virtual base classes and setting a this pointer for an object-oriented programming language
US5588141A (en) 1993-07-30 1996-12-24 Apple Computer, Inc. System for executing different functions associated with different contexts corresponding to different screen events based upon information stored in unified data structure
US5742848A (en) 1993-11-16 1998-04-21 Microsoft Corp. System for passing messages between source object and target object utilizing generic code in source object to invoke any member function of target object by executing the same instructions
US5742826A (en) * 1994-11-09 1998-04-21 International Business Machines Corporation Object encapsulation protection apparatus
US5708796A (en) * 1994-11-18 1998-01-13 Lucent Technologies Inc. Method of retrieving continuous and non-continuous media data from a file system
DE69628073D1 (de) * 1995-03-22 2003-06-18 Sun Microsystems Inc Vorrichtung und Verfahren zur Verwaltung von Objektsammlungen
US5608727A (en) * 1995-05-02 1997-03-04 Motorola, Inc. Method and system for management of frequency spectrum among multiple applications on a shared medium
US5918051A (en) * 1995-07-19 1999-06-29 Ricoh Company, Ltd. Object-oriented communication system with support for multiple remote machine types
US5732261A (en) 1995-07-19 1998-03-24 Ricoh Company, Ltd. Method of using an object-oriented communication system with support for multiple remote machine types
US5774721A (en) 1995-09-08 1998-06-30 Iq Systems, Inc. Method of communication between processors in a distributed processing system having a host processor and at least one object oriented processor
GB2305270A (en) * 1995-09-15 1997-04-02 Ibm Bridge for a client-server environment
US5784620A (en) 1995-11-15 1998-07-21 Philips Electronics North America Corp. Object-oriented system having shared-persistent class pattern
US5751962A (en) 1995-12-13 1998-05-12 Ncr Corporation Object-based systems management of computer networks
US5805442A (en) 1996-05-30 1998-09-08 Control Technology Corporation Distributed interface architecture for programmable industrial control systems
US5790789A (en) * 1996-08-02 1998-08-04 Suarez; Larry Method and architecture for the creation, control and deployment of services within a distributed computer environment
US6016514A (en) * 1996-10-31 2000-01-18 International Business Machines Corporation Method and apparatus for an improved specialization of a CORBAservices GenericFactory
US5893913A (en) * 1996-11-12 1999-04-13 International Business Machines Corporation Method for synchronizing classes, objects, attributes and object properties across an object-oriented system
FR2762950B1 (fr) * 1997-05-02 2000-08-04 Alsthom Cge Alcatel Procede de transmission d'une notification dans un reseau a applications distribuees comportant plusieurs services de notifications et reseau pour sa mise en oeuvre

Also Published As

Publication number Publication date
CA2369105A1 (en) 2000-10-05
US6370436B1 (en) 2002-04-09
JP2002540536A (ja) 2002-11-26
US6587736B2 (en) 2003-07-01
EP1171844A1 (en) 2002-01-16
WO2000058912A1 (en) 2000-10-05
JP2006120172A (ja) 2006-05-11
JP4270194B2 (ja) 2009-05-27
EP1171844A4 (en) 2004-06-02
AU4175900A (en) 2000-10-16
JP2006120171A (ja) 2006-05-11
AU769815B2 (en) 2004-02-05
US20020069258A1 (en) 2002-06-06

Similar Documents

Publication Publication Date Title
JP4270193B2 (ja) ネットワークコンピュータシステム
US6363417B1 (en) Device interfaces for networking a computer and an embedded device
US5943496A (en) Methods for developing and instantiating object classes using a java virtual machine extension
US6549955B2 (en) System and method for dynamic generation of remote proxies
US7627865B2 (en) Method and apparatus for accessing instrumentation data from within a managed code environment
US7562347B2 (en) Reusable software components
US7174361B1 (en) Scripting task-level user-interfaces
US6105074A (en) Data processing method and device
US6571388B1 (en) Building a custom software environment including pre-loaded classes
Friedrich et al. A survey of configurable, component-based operating systems for embedded applications
US20020165627A1 (en) Event management systems and methods for the distribution of motion control commands
JP5171790B2 (ja) 情報処理装置、通信システムおよびプログラム
KR20040096577A (ko) 실시간 시스템 제어용 컴포넌트 모델
US20020078255A1 (en) Pluggable instantiable distributed objects
WO1999027445A1 (en) Mechanism for automatically establishing connections between executable components of a hypertext-based application
WO2001073550A2 (en) System and method of generating and using proxy beans
MXPA06000085A (es) Puerta de refrigerador y refrigerardor con la misma.
RU2211482C2 (ru) Способы и системы программных оболочек
WO2000077617A2 (en) Method and system for dynamic proxy classes
JP4251669B2 (ja) データ処理方法および装置
US6662241B1 (en) Apparatus and method for controlling a peripheral device
JP2002532776A (ja) Oleプロセス制御準拠データ・サーバを非準拠ユーザ・アプリケーションから構成するシステムと方法
EP1061445A2 (en) Web-based enterprise management with transport neutral client interface
Bouraqadi-Saâdani et al. A reflective infrastructure for coarse-grained strong mobility and its tool-based implementation
GB2372119A (en) Distributed computing system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081106

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4270193

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140306

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees