JP2011118867A - 遠隔プラグイン装置、ロボットプラグイン実行エンジン装置及びロボットプラグイン実行システム - Google Patents

遠隔プラグイン装置、ロボットプラグイン実行エンジン装置及びロボットプラグイン実行システム Download PDF

Info

Publication number
JP2011118867A
JP2011118867A JP2010164186A JP2010164186A JP2011118867A JP 2011118867 A JP2011118867 A JP 2011118867A JP 2010164186 A JP2010164186 A JP 2010164186A JP 2010164186 A JP2010164186 A JP 2010164186A JP 2011118867 A JP2011118867 A JP 2011118867A
Authority
JP
Japan
Prior art keywords
plug
function
remote
symbol
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010164186A
Other languages
English (en)
Other versions
JP5264837B2 (ja
Inventor
Seung Ik Lee
スン−イク イ
Rockwon Kim
ロックウォン キム
Jun Yong Sung
ジュンヨン スン
Sunghoon Kim
スン ホン キム
Joong Bae Kim
ジュン ペ キム
Kyeoung Ho Lee
キョン ホ イ
Beom-Su Seo
ボム−ス セオ
Hyun Kyu Cho
ヒョン キョ チョ
Joong-Ki Park
ジュン−ギ パク
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.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
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 Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of JP2011118867A publication Critical patent/JP2011118867A/ja
Application granted granted Critical
Publication of JP5264837B2 publication Critical patent/JP5264837B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】ロボットの各プラグイン(モジュール)を遠隔地で実行することで、ロボット応用を動的に構成し、多数のコンピューティングリソースを活用する。
【解決手段】ロボット100にはロボットプラグインを実行するためのロボットプラグイン実行エンジン装置110が搭載され、遠隔地コンピュータ200には多数の遠隔プラグイン装置210が搭載される。ロボットプラグインはローカル又は遠隔プラグインになることができ、遠隔プラグインを遠隔地のロボットにローディングして実行するが、遠隔プラグインはロボットプラグイン実行エンジン装置が搭載されたコンピューティングノードとは異なるコンピューティングノードで実行されるプラグインであり、多数の遠隔地コンピュータで実行される各プラグインはロボットプラグイン実行エンジン装置に登録した後、それに相応する各種サービスの提供を受けることができる。
【選択図】図1

Description

本発明はロボットプラグイン技法に関し、更に詳しくは、ロボットの各プラグイン(モジュール)を遠隔地で実行することで、ロボット応用を動的に構成し、多数のコンピューティングリソースを活用するのに適した遠隔プラグイン装置、ロボットプラグイン実行エンジン装置及びロボットプラグイン実行システムに関する。
従来のロボットソフトウェアは各機能を担当するモジュールが静的に結合されて1つの実行プログラムで実体化され、それがロボットに搭載されて実行する構造を有するのが一般的であった。
しかしながら、このような方式はロボットプラットフォームの変更、ロボットモジュールの機能向上及び変更による既存モジュールの交換時には、ロボットプログラム全体を再コンパイルしなければならないという負担があり、各モジュールの開発時に独立的な開発が難しく、ロボットの内部や外部に存在する多数のコンピューティングノードを利用できないため、非効率的であるという短所がある。
このような点を解決するための従来技術の1つとして、ロボットソフトウェアをコンポーネントで構成する方式であって、各モジュールをコンポーネント化してロボットや外部コンピューティングノードで実行する方式が挙げられる。
即ち、コンポーネント技術は遠隔地でロボット応用を構成するモジュール(コンポーネント)を実行することが可能であった。この方式では遠隔地にもロボットモジュールをローディングし、実行できるコンポーネント実行エンジンが設けられ、この遠隔エンジンがコンポーネントをローディングして実行する方式である。
従って、従来のコンポーネント技術はコンポーネント単独では実行できず、その実体化の方式も動的ライブラリ(.dll又は.so)の形であった。即ち、この方式はそれぞれのコンピューティングノードにコンポーネント実行エンジンが搭載されなければならない方式である。
また、従来のコンポーネント技術は遠隔地で実行が可能であるものの、コンポーネントエンジンがコンポーネントを活用するために関連情報をプロファイルに正確に記述しなければならなかった。このプロファイル情報には他のコンポーネントとの連結性、コンポーネントインターフェースなど自らの属性を記述した情報が含まれる。従って、開発者はコンポーネント自体の開発と共にプロファイル情報を共に記述しなければならなかった。
従来の他の技術はプラグイン方式を用いたロボットソフトウェアのモジュール化方式である。
このような従来のロボットプラグイン技術はプラグインエンジンが存在するローカル上でのみモジュールをプラグインすることができた。従って、ネットワーク上に存在する各種コンピューティングリソースを効率的に活用するためにロボットプラグイン実行エンジンと他のコンピューティングノードで実行可能なモジュールを支援する必要がある。
米国特許公開第2008-0133052号
しかしながら、ロボットソフトウェアをコンポーネントで構成する従来方式は、各コンポーネントが動作するコンピューティングノードに別途のコンポーネント実行エンジンが搭載されなければならないため、コンポーネント単独では実行が不可能である。また、コンポーネント同士の連結やコンポーネントが有するインターフェースを記述するプロファイル情報を共に提供しなければならないため、コンポーネントの開発が容易ではなく、そのため、大部分専用の開発道具を用いなければならないという短所がある。
一方、従来のプラグイン方式は、プラグイン実行エンジンが存在するコンピューティングノード上でのみプラグインが存在しなければならないため、ネットワーク上でプラグインの機能を活用できないという問題がある。
そこで、本発明は上記事情に鑑みてなされたものであって、その目的は、ロボットの各プラグイン(モジュール)を遠隔地で実行することで、ロボット応用を動的に構成し、多数のコンピューティングリソースを活用するのに適した遠隔プラグイン装置、ロボットプラグイン実行エンジン装置及びロボットプラグイン実行システムを提供することにある。
前記目的を達成するために本発明の一観点によれば、各遠隔プラグインの内部に入っている各遠隔オブジェクトを管理するオブジェクト管理者と、前記各遠隔オブジェクトが登録したシンボルをロボットプラグイン実行エンジン装置に登録して管理するシンボルサービス管理者と、前記各遠隔オブジェクトが登録した関数を前記ロボットプラグイン実行エンジン装置に登録して管理する関数サービス管理者と、前記各遠隔オブジェクトが登録した通知関数を前記ロボットプラグイン実行エンジン装置に登録して管理する通知サービス管理者と、前記各遠隔オブジェクトが登録したタイマを前記ロボットプラグイン実行エンジン装置に登録して管理するタイマサービス管理者と、ネットワークを介して前記各管理者と前記ロボットプラグイン実行エンジン装置との通信を担当する連結管理者とを含む遠隔プラグイン装置を提供する。
ここで、本発明の遠隔プラグイン装置内のオブジェクト管理者はロボットプラグイン実行エンジン装置に登録しようとする遠隔オブジェクトが生成される時、生成された遠隔オブジェクトを内部オブジェクトテーブルに格納した後、連結管理者に伝達し、シンボルサービス管理者は特定遠隔オブジェクトが外部に露出させようとするシンボルを登録する時、該当シンボルに対する名前と該当シンボルに対する参照を結合してシンボルテーブルエントリを構成した後、連結管理者に伝達し、関数サービス管理者は特定遠隔オブジェクトが外部に露出させようとする関数を登録する時、関数に対する名前と関数に対する参照を結合して関数テーブルエントリを構成した後、連結管理者に伝達し、通知サービス管理者は特定遠隔オブジェクトが登録しようとする通知サービスのために対象シンボルの名前とコールバックされる関数に対する参照が伝達される時、対象シンボルに対する名前とコールバック関数に対する参照を結合して通知テーブルエントリを構成した後、連結管理者に伝達し、タイマサービス管理者は特定遠隔オブジェクトが登録しようとするタイマサービスのためにコールバックする関数に対する参照と呼び出される周期が伝達される時、タイマ名と関数に対する参照を結合してタイマテーブルエントリを構成した後、連結管理者に伝達する。
本発明の他の観点によれば、各ローカルプラグインの内部に入っているオブジェクトを管理し、オブジェクトの登録要請がある時、それに相応するオブジェクトプロキシを生成及び登録するオブジェクト管理者と、前記各ローカルプラグインで登録したシンボルを管理し、各シンボルの参照及び変更を担当するシンボルサービス管理者と、前記各ローカルプラグインで登録した関数を管理し、各関数に対する呼び出し及び結果値の返還を担当する関数サービス管理者と、特定イベントが発生する時、該当ローカルプラグインで登録した関数を呼び出す通知サービス管理者と、特定周期別に前記各ローカルプラグインで登録した関数を呼び出すタイマサービス管理者と、ネットワークを介して前記各管理者と遠隔プラグイン装置との通信を担当する連結管理者とを含むロボットプラグイン実行エンジン装置を提供する。
ここで、本発明のロボットプラグイン実行エンジン装置内のオブジェクト管理者は、遠隔プラグイン装置から登録の要請を受けたオブジェクト名と同じ名前を有するオブジェクトプロキシ客体を生成してプロキシとして登録し、シンボルサービス管理者は遠隔プラグイン装置からシンボルの登録要請を受けた該当シンボル名と相応するプロキシオブジェクトの参照を結合してシンボルサービスエントリを構成した後、シンボルサービステーブルに登録し、関数サービス管理者は遠隔プラグイン装置から関数の登録要請を受けた関数名と呼び出される関数名を結合して関数サービスエントリを構成した後、関数サービステーブルに登録し、通知サービス管理者は遠隔プラグイン装置から通知の登録要請を受けた該当シンボル名と呼び出される関数名を結合して通知サービスエントリを構成した後、通知サービステーブルに登録し、タイマサービス管理者は遠隔プラグイン装置からタイマの登録要請を受けたタイマ名と自身が関数を結合してタイマサービスエントリを構成した後、タイマサービステーブルに登録する。
本発明の更に他の観点によれば、各遠隔プラグインの内部に入っている各遠隔オブジェクトを管理し、連結管理者を利用したネットワーク通信を通じて前記各遠隔オブジェクトが登録したシンボル、関数、通知関数、タイマをロボットプラグイン実行エンジンに登録して管理する遠隔プラグインと、各ローカルプラグインの内部に入っているオブジェクトを管理し、連結管理者を利用したネットワーク通信を通じて前記各ローカルプラグインで登録したシンボル、各関数、前記各関数に対する呼び出し及び結果値の返還、前記各関数の呼び出しをサービスする前記ロボットプラグイン実行エンジンを含むロボットプラグイン実行システムを提供する。
本発明はロボット応用プログラムがネットワーク上で散在する各種コンピューティングノードに搭載された遠隔プラグインを動的にプラグイン実行エンジンに連結されるようにすることで、以下のような効果が得られる。
第1に、ネットワークコンピューティング能力の最大化を図ることができる。即ち、ロボットソフトウェアをなす各機能をモジュール別に分け、各機能モジュールをネットワーク上で分散されたコンピューティングノードに割り当てて実行することで、各コンピューティングノードが有しているコンピューティング能力を十分に活用できるだけでなく、ロボット自体の計算要求を減少させることで、ロボットがより効率よくコンピューティングリソースを使用できる。
第2に、ソフトウェアモジュールの独立実行が可能となる。即ち、ロボットソフトウェアを構成する各モジュールをロボット遠隔プラグインで作成し、各遠隔プラグインが独立して実行可能なファイル形式で具体化される。これにより、遠隔地でプラグインを独立して実行するため、別途の実行エンジンを遠隔地で実行しなくても済むという長所がある。これは遠隔地コンピューティングリソース(メモリ、計算能力)に対する要求量を減少させて遠隔地コンピューティングリソースの効率的な使用にも貢献し、使用の便宜性も増大される。
第3に、モジュール開発の単純化が期待される。既存のコンポーネント方式のモジュール支援ではコンポーネントがコンポーネント実行エンジンに搭載されるように各種プロファイル情報を共に記述したが、本発明はこのようなプロファイル情報を不要とするため、開発者はロボット遠隔プラグインモジュールの開発にのみ集中すればよい。従って、開発過程が単純化され、開発の効率性と誤りの可能性を低減できる。
第4に、チーム開発の容易性が増大する。従来のプラグイン方式はローカルでのみプラグインが支援される方式であったため、各プラグインの開発者は同じコンピューティングリソースへ地理的にアクセス可能な場所に集まって開発及びテストを進めなければならなかった。しかしながら、本発明は遠隔地でもソフトウェアモジュールを実行し、このソフトウェアモジュールがロボットに搭載されたプラグイン実行エンジンに接続して相互作用する方式であるため、各モジュールの開発を担当する多数のチームが個別で開発を進めることが可能である。
本発明によってロボットと遠隔地コンピュータがネットワークを介して連結される構造を示すシステム系統図である。 本発明によるロボットプラグイン実行エンジン装置のブロック構成図である。 本発明による遠隔プラグイン装置のブロック構成図である。 本発明による遠隔オブジェクトとオブジェクトプロキシの構造図である。 ロボット遠隔プラグイン装置が内部にあるオブジェクトをロボットで実行中のロボットプラグイン実行エンジン装置に登録する過程を説明する構成図である。 遠隔オブジェクトが外部に露出させようとするシンボルを登録する過程を説明する構成図である。 遠隔オブジェクトが外部に露出させようとする関数を登録する過程を説明する構成図である。 遠隔オブジェクトが通知サービスを登録する過程を説明する構成図である。 遠隔オブジェクトがタイマサービスを登録する過程を説明する構成図である。 各種遠隔プラグイン装置が、各種遠隔プラグイン装置自身が持っている遠隔オブジェクトに対する登録及び初期化が完了した状態における一連の動作を示す図である。 各種遠隔プラグイン装置が、各種遠隔プラグイン装置自身が持っている遠隔オブジェクトに対する登録及び初期化が完了した状態における一連の動作を示す図である。 各種遠隔プラグイン装置が、各種遠隔プラグイン装置自身が持っている遠隔オブジェクトに対する登録及び初期化が完了した状態における一連の動作を示す図である。
以下、添付する図面を参照して本発明の好適な実施形態について詳細に説明する。
なお、下記の本発明を説明するにおいて公知となった機能又は構成などに関する具体的な説明が本発明の要旨を不要に曖昧にするおそれがあると判断される場合にはその詳細な説明を省略する。そして、後述する用語は、本発明における機能を考慮して定義されたものであって、これはユーザ、運用者などの意図又は慣例などによって変わり得るのはもちろんである。従って、その定義は本明細書の全般に渡って記述される技術思想に基づいてなされるべきである。
図1は、本発明によってロボットと遠隔地コンピュータがネットワークを介して連結される構造を示すシステム系統図であって、ロボット100にはロボットプラグインを実行するためのロボットプラグイン実行エンジン装置110が搭載され、遠隔地コンピュータ200には多数の遠隔プラグイン装置210が搭載される。
ここで、ロボットプラグインはローカル又は遠隔プラグインになることができ、本発明では遠隔プラグインを遠隔地のロボットにローディングして実行するが、遠隔プラグインはロボットプラグイン実行エンジン装置が搭載されたコンピューティングノードとは異なるコンピューティングノードで実行されるプラグインである。即ち、多数の遠隔地コンピュータで実行される各プラグインはロボットプラグイン実行エンジン装置に登録した後、それに相応する各種サービスの提供を受けることができる。
遠隔地コンピュータ200の遠隔プラグイン装置210ではオブジェクト、シンボルサービス、関数サービス、通知サービス、タイマサービスなどと関連したプラグインをロボットプラグイン実行エンジン装置110に搭載し、ロボット100のロボットプラグイン実行エンジン装置110では搭載されたプラグインに相応する各種サービスを遠隔プラグイン装置210に提供する。
図2は、本発明によるロボットプラグイン実行エンジン装置のブロック構成図であって、オブジェクト管理者111、シンボルサービス管理者112、関数サービス管理者113、通知サービス管理者114、タイマサービス管理者115及び連結管理者116などを含む。
オブジェクト管理者111は、それぞれの遠隔プラグインの内部に入っているオブジェクトを管理するモジュールを意味するものであって、遠隔プラグイン装置210からオブジェクトの登録要請がある時、これに相応して生成されるオブジェクトプロキシ客体を登録するなどの機能を行う。
次に、シンボルサービス管理者112は各遠隔プラグインで登録したシンボルを管理し、これらのシンボルに対する参照及び変更を担当するサービスモジュールを意味するものであって、遠隔プラグイン装置210からシンボルの登録要請がある時、シンボルの名前とプロキシオブジェクトの参照を結合してシンボルサービスエントリを作った後、これをシンボルサービステーブルに登録するなどの機能を行う。
また、関数サービス管理者113は、各遠隔プラグインで登録した関数を管理し、これらの関数に対する呼び出し及び結果値の返還を担当するサービスモジュールを意味するものであって、遠隔プラグイン装置210から関数の登録要請がある時、伝達を受けた関数名と呼び出される関数名を結合して関数サービスエントリを作った後、これを関数サービステーブルに登録するなどの機能を行う。
そして、通知サービス管理者114は特定イベントが発生した時、遠隔プラグインで登録した関数を呼び出すサービスモジュールを意味するものであって、遠隔プラグイン装置210から通知の登録要請がある時、伝達を受けたシンボル名と呼び出される関数名を結合して通知サービスエントリを作った後、これを通知サービステーブルに登録するなどの機能を行う。
次に、タイマサービス管理者115は特定周期別にローカルプラグインで登録した関数を呼び出す機能を提供するサービスモジュールを意味するものであって、遠隔プラグイン装置210から通知の登録要請がある時、タイマ名とコールバックされる関数を結合して作られるタイマサービスエントリをタイマサービステーブルに登録するなどの機能を行う。
最後に、連結管理者116は遠隔プラグイン装置210との通信を担当するモジュールを意味するものであって、遠隔プラグイン装置210からネットワークを介してオブジェクト、シンボルサービス、関数サービス、通知サービス、タイマサービスなどに対する登録要請が受信される時、それと関連したオブジェクトプロキシ客体を生成、或いはオブジェクトに相応するプロキシを探してオブジェクト管理者111、シンボルサービス管理者112、関数サービス管理者113、通知サービス管理者114、タイマサービス管理者115などに客体への登録を要請するなどの機能を行う。
図3は、本発明によるロボット遠隔プラグイン装置のブロック構成図であって、オブジェクト管理者211、シンボルサービス管理者212、関数サービス管理者213、通知サービス管理者214、タイマサービス管理者215及び連結管理者216などを含むが、各遠隔プラグインは多数のオブジェクト(オブジェクト1、オブジェクト2、...オブジェクトN)を定義できる。
図3を参照すれば、オブジェクト管理者211は、各遠隔プラグイン装置210の内部に入っている遠隔オブジェクトを管理するモジュールを意味するものであって、遠隔プラグイン装置210の内部にある遠隔オブジェクトをロボットで実行中のロボットプラグイン実行エンジン装置110に登録しようとする時、遠隔プラグイン装置210でオブジェクトが生成されれば、生成された遠隔オブジェクトを自身の内部テーブルに保管した後、連結管理者216を通じてロボットプラグイン実行エンジン装置110側にオブジェクトの登録を要請するなどの機能を行う。
これに応答して、ロボットプラグイン実行エンジン装置110内の連結管理者116では登録の要請を受けたオブジェクト名Aと同じ名前を有するオブジェクトプロキシ客体Aを生成し、このように生成されたオブジェクトプロキシ客体Aはロボットプラグイン実行エンジン装置110にプロキシとして登録される。
また、シンボルサービス管理者212は、各遠隔オブジェクトが登録したシンボルをロボットプラグイン実行エンジン装置110に登録して管理する役割を果たすモジュールを意味する。即ち、遠隔オブジェクトが外部に露出させようとするシンボルを登録しようとする時、遠隔オブジェクトが登録しようとするシンボル(A.symbol_1)とオブジェクト客体を渡せば、シンボルテーブルに該当シンボルに対する名前(A.symbol_1)とシンボルに対する参照(A.symbol_1)を結合してシンボルテーブルエントリを構成した後、連結管理者216を通じてロボットプラグイン実行エンジン装置110側にシンボルに対する登録を要請するなどの機能を行う。これは各シンボルや関数など遠隔オブジェクトが露出させる全てのエンティティ(entity)がロボットプラグイン実行エンジン装置110に登録されなければ他のプラグインで活用できないためである。
これに応答して、ロボットプラグイン実行エンジン装置110内の連結管理者116ではシンボルの登録要請を送ったオブジェクトに相応するプロキシを探し(オブジェクトプロキシA)、この客体にシンボルの登録を要請し、このようなプロキシオブジェクトは要請を受けたシンボル名とプロキシオブジェクト自身の参照をシンボルサービス管理者112に伝達する。その結果、シンボルサービス管理者112は、シンボルの名前とプロキシオブジェクトの参照を結合してシンボルサービスエントリを作った後、これをシンボルサービステーブルに登録する。
次に、関数サービス管理者213は、各遠隔オブジェクトが登録した関数をロボットプラグイン実行エンジン装置110に登録して管理する役割を果たすモジュールを意味するものであって、遠隔オブジェクトが外部に露出させようとする関数を実行エンジン装置110に登録しようとする時、遠隔オブジェクトが登録しようとする関数(A.f1)を渡せば、関数テーブルに関数に対する名前(「A.f1」)と関数に対する参照(A.f1)を結合して関数テーブルエントリを構成した後、連結管理者216を通じてロボットプラグイン実行エンジン装置110側に関数に対する登録を要請するなどの機能を行う。
これに応答して、ロボットプラグイン実行エンジン110内の連結管理者116では関数の登録要請を送ったオブジェクトに相応するプロキシを探し(オブジェクトプロキシA)、この客体に関数登録を要請し、このようなプロキシオブジェクトは要請を受けた関数名とこの関数が呼び出される時に、代わりに呼び出される関数(on_any_function)を関数サービス管理者113に登録要請し、その結果、関数サービス管理者113では伝達を受けた関数名(A.f1)と呼び出される関数名(A.on_any_function)を結合して関数サービスエントリを作った後、これを関数サービステーブルに登録する。
そして、通知サービス管理者214は、各遠隔オブジェクトが登録した通知関数をロボットプラグイン実行エンジン装置110に登録して管理する役割を果たすモジュールを意味する。ロボットプラグイン実行エンジン装置110に登録された特定シンボルが変更される場合、これを通知するためのサービスを提供するが、例えば、シンボルの値が変更される場合、通知サービスに登録された関数を呼び出すサービスである。
まず、遠隔オブジェクトが登録しようとする通知サービスのために対象シンボルの名前とコールバックされる関数に対する参照を通知サービス管理者214に伝達すれば、通知サービス管理者214は通知テーブルにシンボルに対する名前(「B.symbol_1」)とコールバック関数に対する参照(A.on_B.symbol_1_changed)を結合して通知テーブルエントリを構成した後、連結管理者216を通じてロボットプラグイン実行エンジン装置110側に通知登録を要請するなどの機能を行う。
これに応答して、ロボットプラグイン実行エンジン装置110の連結管理者116では通知の登録要請を送ったオブジェクトに相応するプロキシを探し(オブジェクトプロキシA)、この客体に通知登録を要請し、プロキシオブジェクトは要請を受けたシンボル名とこのシンボルが変更された時、通知を受けるコールバック関数(on_any_symbol_changed)を関数サービス管理者113に登録要請する。ここで、on_any_symbol_changed関数は該当オブジェクトが登録する全ての通知サービスのために設けられる共通コールバック関数を意味する。即ち、対象シンボルの名前が変更されてもロボットプラグイン実行エンジンに登録されるコールバック関数は同一である。その理由は、この関数を通じて相応する遠隔オブジェクトに要請を伝達する機能のみを行い、実際のコールバック関数の呼び出しは遠隔プラグイン装置で行われるためである。ロボットプラグイン実行エンジン装置110の通知サービス管理者114は、伝達を受けたシンボル名(B.symbol_1)と呼び出される関数名(A.on_any_symbol_changed)を結合して通知サービスエントリを作った後、これを通知サービステーブルに登録する。
また、タイマサービス管理者215は、各遠隔オブジェクトが登録したタイマをロボットプラグイン実行エンジン装置110に登録して管理する役割を果たすモジュールを意味するものであって、タイマサービスは一定の周期毎にロボットプラグイン実行エンジン装置110が遠隔オブジェクトの特定関数を呼び出すサービスである。
まず、遠隔オブジェクトが登録しようとするタイマサービスのためにコールバックされる関数に対する参照(A.on_timeout_1)と呼び出される周期(1秒)をタイマサービス管理者215に伝達すれば、タイマサービス管理者215はタイマ名(「A.on_timeout_1」)と関数に対する参照(A.on_timeout_1)と結合してタイマテーブルエントリを構成した後、連結管理者216を通じてロボットプラグイン実行エンジン装置110側にタイマサービスの登録を要請するなどの機能を行う。
これに応答して、ロボットプラグイン実行エンジン装置110の連結管理者116ではこの要請を送ったオブジェクトに相応するプロキシを探し(オブジェクトプロキシA)、この客体にタイマサービスの登録を要請し、プロキシオブジェクトは伝達を受けたタイマ名(A.timeout_1)と自身の関数であるon_any_timeoutを結合してタイマサービスエントリを作った後、これをタイマサービス管理者115に登録要請し、タイマサービス管理者115はタイマサービスエントリをタイマサービステーブルに登録する。ここで、on_any_timeout関数はオブジェクトが登録する全てのタイマサービスのために設けられる共通コールバック関数である。即ち、対象タイマの名前が変更されてもロボットプラグイン実行エンジン装置110に登録されるコールバック関数は同一である。その理由は、この関数を通じて相応する遠隔オブジェクトにタイムアウトを伝達する機能のみ行い、実際のコールバック関数の呼び出しは遠隔プラグイン装置210で行われるためである。
そして、連結管理者216はネットワークを介して遠隔プラグイン装置210とロボットプラグイン実行エンジン装置110との通信を担当するモジュールである。
図4は、本発明による遠隔オブジェクトとオブジェクトプロキシの構造を示すものであって、遠隔オブジェクト410は遠隔地コンピュータ200に搭載された遠隔プラグイン装置210内で定義されて実体化され、オブジェクトプロキシ420はロボット100に搭載されたロボットプラグイン実行エンジン装置110で実体化されるが、ここで、遠隔オブジェクト410は、登録インターフェース412、共通インターフェース414、個別インターフェース/個別データ定義部416からなる3つの部分の論理領域で構成され、オブジェクトプロキシ420は登録インターフェース422及び共通インターフェース424からなる2つの部分の論理領域で構成される。
まず、遠隔プラグイン装置210で登録された各オブジェクトはロボットプラグイン実行エンジン装置110でそれに相応するプロキシを生成するようになる。即ち、遠隔オブジェクト410とオブジェクトプロキシ420は一対で生成されて消滅する。
遠隔プラグイン装置210は、登録インターフェース412に定義されたオブジェクトに対する生成、削除を担当する関数をプラグインに伝達するが、プラグインがこの関数を呼び出すことで、特定オブジェクトに対する客体を生成又は削除するようになる。
そして、共通インターフェース414は、オブジェクトとプラグイン間で予め約束されたインターフェースであって、オブジェクトを初期化するためのInit()、そして、オブジェクトを活性化するためのOn()、オブジェクトを非活性化するためのOff()で構成される。
また、個別インターフェース/個別データ定義部416は、個別オブジェクトで定義する部分であって、実際のオブジェクトで行う主要関数及びシンボルはこの部分で定義され、この部分はオブジェクトを開発する開発者が任意に定義できる。
一方、オブジェクトプロキシ420の場合には共通インターフェース424がオブジェクトを初期化するためのInit()、そして、オブジェクトを活性化するためのOn()、オブジェクトを非活性化するためのOff()以外に多数のインターフェースを追加で含むが、On_any_timeoutインターフェースはロボットプラグイン実行エンジン装置110でタイマイベントが発生した場合、これを処理するためのインターフェースであり、このインターフェースを介してロボットプラグイン実行エンジン装置110で発生したタイマイベントを受け取り、これを遠隔地にある相応する遠隔オブジェクトに伝達する。On_any_symbol_changedインターフェースは、シンボルの値が変更された時に通知を受けるためのインターフェースであって、この関数がロボットプラグイン実行エンジン装置110によって呼び出されると、これを再び遠隔地にある遠隔オブジェクトに伝達する役割を果たす。Get_symbol関数はオブジェクトのシンボル値を得るための関数であって、呼び出されれば、これを遠隔地にある遠隔オブジェクトに伝達する役割を果たす。Set_symbol関数はオブジェクトのシンボル値を変更するための関数であって、呼び出されれば、これを遠隔地にある遠隔オブジェクトに伝達する役割を果たす。Call_function関数はオブジェクトの関数を呼び出すためのインターフェースであって、ロボットプラグイン実行エンジン装置110でこの関数を呼び出せば、これを遠隔地の遠隔オブジェクトに伝達する役割を果たす。
図5は、ロボット遠隔プラグイン装置が内部にあるオブジェクトをロボットで実行中のロボットプラグイン実行エンジン装置に登録する過程を説明する構成図である。
図5を参照すれば、遠隔プラグイン装置210でオブジェクトAが生成されれば、オブジェクト管理者211に登録を要請する(段階502)。これに応答して、オブジェクト管理者211は該当オブジェクトAを自身の内部テーブルに保管した後、連結管理者216を通じてロボットプラグイン実行エンジン装置110にオブジェクトの登録を要請し(段階504)、連結管理者216ではオブジェクトの登録要請をロボットプラグイン実行エンジン装置110側に伝達する(段階506)。
次に、ロボットプラグイン実行エンジン装置110側では連結管理者116がオブジェクトの登録要請を受けるが、連結管理者116はオブジェクトの登録要請を受けたオブジェクト名Aと同じ名前を有するオブジェクトプロキシ客体Aを生成し(段階508)、このように生成されたオブジェクトプロキシ客体Aはオブジェクト管理者111に伝達されてロボットプラグイン実行エンジン装置110にプロキシとして登録される(段階510)。
図6は、遠隔オブジェクトが外部に露出させようとするシンボルを登録する過程を説明する構成図である。
図6を参照すれば、遠隔オブジェクトが登録しようとするシンボル(A.symbol_1)とオブジェクト客体をシンボルサービス管理者212に渡せば(段階602)、シンボルサービス管理者212ではシンボルテーブル221に該当シンボルに対する名前(A.symbol_1)と該当シンボルに対する参照(A.symbol_1)を結合してシンボルテーブルエントリを構成する(段階604)。その後、シンボルサービス管理者212は、連結管理者216を通じてロボットプラグイン実行エンジン装置110にシンボルに対する登録を要請し(段階606)、連結管理者216ではシンボルの登録要請をロボットプラグイン実行エンジン装置110側に伝達する(段階608)。ここで、各シンボルや関数など遠隔オブジェクトが露出させる全てのエンティティはロボットプラグイン実行エンジン装置110に登録されなければ、他のプラグインで活用できない。
次に、シンボルの登録要請を受けたロボットプラグイン実行エンジン装置110内の連結管理者116は、シンボルの登録要請を送ったオブジェクトに相応するプロキシを探し(オブジェクトプロキシA)、この客体にシンボルの登録を要請する(段階610)。その後、プロキシオブジェクトは要請を受けたシンボル名とプロキシオブジェクト自身の参照をシンボルサービス管理者112に伝達する(段階612)。
これに応答して、シンボルサービス管理者112は、該当シンボルの名前とプロキシオブジェクトの参照を結合してシンボルサービスエントリを作った後、シンボルサービステーブル121に登録する(段階614)。
図7は、遠隔オブジェクトが外部に露出させようとする関数を登録する過程を説明する構成図である。
図7を参照すれば、遠隔オブジェクトが登録しようとする関数(A.f1)を関数サービス管理者213に渡せば(段階702)、関数サービス管理者213は関数テーブル222に該当関数に対する名前(「A.f1」)と該当関数に対する参照(A.f1)を結合して関数テーブルエントリを構成する(段階704)。その後、関数サービス管理者213は、連結管理者216を通じてロボットプラグイン実行エンジン装置110に関数に対する登録を要請し(段階706)、連結管理者216では関数の登録要請をロボットプラグイン実行エンジン装置110側に伝達する。
次に、ロボットプラグイン実行エンジン装置110側では連結管理者116が関数の登録要請を受けるが、連結管理者116はオブジェクトに相応するプロキシを探し(オブジェクトプロキシA)、この客体に関数の登録を要請する(段階708)。
その後、プロキシオブジェクトが要請を受けた関数名とこの関数が呼び出される時に、代わりに呼び出される関数(on_any_function)を関数サービス管理者113に登録要請すれば(段階710)、関数サービス管理者113は伝達を受けた関数名(A.f1)と呼び出される関数名(A.on_any_function)を結合して関数サービスエントリを作った後、関数サービステーブル122に登録する(段階712)。
図8は、遠隔オブジェクトが通知サービスを登録する過程を説明する構成図である。
図8を参照すると、通知サービスはロボットプラグイン実行エンジン装置110に登録された特定シンボルが変更される場合、これの通知を受けるサービスであって、該当シンボルの値が変更される場合、通知サービスに登録された関数を呼び出すサービスである。
まず、遠隔オブジェクトが登録しようとする通知サービスのために対象シンボルの名前とコールバックされる関数に対する参照を通知サービス管理者214に伝達すれば(段階802)、通知サービス管理者214は通知テーブル223に該当シンボルに対する名前(「B.symbol_1」)とコールバック関数に対する参照(A.on_B.symbol_1_changed)を結合して通知テーブルエントリを構成する(段階804)。その後、通知サービス管理者214は、連結管理者216を通じてロボットプラグイン実行エンジン装置110に通知に対する登録を要請し(段階806)、連結管理者216では通知の登録要請をロボットプラグイン実行エンジン装置110側に伝達する。
次に、ロボットプラグイン実行エンジン装置110側では連結管理者116が通知の登録要請を受けるが、連結管理者116は通知の登録要請を送ったオブジェクトに相応するプロキシを探し(オブジェクトプロキシA)、この客体に通知登録を要請する(段階808)。
その後、プロキシオブジェクトは要請を受けたシンボル名とこのシンボルが変更された時、通知を受けるコールバック関数(on_any_symbol_changed)を通知サービス管理者114に登録要請する(段階810)。前述したように、on_any_symbol_changed関数は該当オブジェクトが登録する全ての通知サービスのために設けられる共通コールバック関数である。
これに応答して、通知サービス管理者114は、伝達を受けたシンボル名(B.symbol_1)と呼び出される関数名(A.on_any_symbol_changed)を結合して通知サービスエントリを作った後、これを通知サービステーブルに123登録する(段階812)。
図9は、遠隔オブジェクトがタイマサービスを登録する過程を説明する構成図である。
図9を参照すれば、タイマサービスは一定の周期毎にロボットプラグイン実行エンジン装置110が遠隔オブジェクトの特定関数を呼び出すサービスである。
まず、遠隔オブジェクトが登録しようとするタイマサービスのためにコールバックされる関数に対する参照(A.on_timeout_1)と呼び出される周期(1秒)をタイマサービス管理者215に伝達すれば(段階902)、タイマサービス管理者215はタイマテーブル224にタイマ名(「A.on_timeout_1」)と関数に対する参照(A.on_timeout_1)を結合してタイマテーブルエントリを構成する(段階904)。その後、タイマサービス管理者215は、連結管理者216を通じてロボットプラグイン実行エンジン装置110にタイマに対する登録を要請し(段階906)、連結管理者216ではタイマの登録要請をロボットプラグイン実行エンジン装置110側に伝達する。
次に、ロボットプラグイン実行エンジン装置110側では連結管理者116がタイマの登録要請を受けるが、連結管理者116はタイマの登録要請を送ったオブジェクトに相応するプロキシを探し(オブジェクトプロキシA)、この客体にタイマサービスの登録を要請する(段階908)。
その後、プロキシオブジェクトは伝達を受けたタイマ名(A.timeout_1)と自身の関数であるon_any_timeoutを結合してタイマサービスエントリを作った後、タイマサービス管理者115に登録を要請する(段階910)。前述したように、on_any_timeout関数は該当オブジェクトが登録する全てのタイマサービスのために設けられる共通コールバック関数である。
これに応答して、タイマサービス管理者114はタイマサービスエントリをタイマサービステーブル124に登録する(段階912)。
図10Aから図10Cは、各種遠隔プラグイン装置が自身が持っている遠隔オブジェクトに対する登録及び初期化が完了した状態における一連の動作を示す図である。
図10Aから図10Cを参照すると、本例示では2つの遠隔オブジェクト(例えば、障害物検知オブジェクト、障害物回避オブジェクト)が用いられるが、各オブジェクトは互いに異なる遠隔プラグイン装置1200、1300に定義されている。また、各遠隔プラグイン装置1200、1300は互いに異なるコンピューティングノードで行われる。従って、本例示ではロボットと他の2つのコンピューティングノードを合せて計3個のコンピューティングノードが活用される。
本例示の全体的な流れは障害物検知オブジェクトのfind_obstacle関数が一定の周期でロボットプラグイン実行エンジン装置1100によって呼び出される。このとき、find_obstacle関数は障害物とロボットとの距離を測定して障害物が存在すると判断されれば、自身のobstacle_foundシンボルにこれを設定する。この設定が変更されれば、このシンボルの値が変更された時、通知を受けると登録した障害物回避オブジェクトのon_obstacle_found関数が呼び出され、障害物回避のためにavoid_obstacle関数を呼び出すようになる。このようなシナリオ上で各段階別の流れを説明すれば、以下の通りである。
(1)タイマサービス管理者1102によってdetector.time_out1タイマが1秒毎にタイムアウトされる。このとき、このタイマと連結されたdetector.on_any_timeoutコールバック関数が1秒毎に呼び出されて障害物検知オブジェクトプロキシ1120に伝達される。
(2)、(3)detector.on_any_timeout関数の呼び出しを受けた障害物検知オブジェクトプロキシ1120は、これを連結管理者1108、1206を通じて障害物検知オブジェクトに伝送する。
(4)遠隔プラグイン装置1200の連結管理者1206は、タイマサービス管理者1202にdetector.time_out1がタイムアウトされたことを知らせる。
(5)タイマサービス管理者1202は、detector.time_out1タイマに該当するコールバック関数(detector.find_obstacle)を呼び出す。
(6)障害物検知オブジェクトは、find_obstacle関数で障害物との距離を計算した後、障害物があると判断されれば、detector.obstacleシンボルの値を変更するようにシンボルサービス管理者1204に要請する。
(7)、(8)シンボルサービス管理者1204は該当シンボルの値を変更するために、ロボットプラグイン実行エンジン装置1100側に該当シンボルの値を変更するよう要請するが、このような要請は連結管理者1206を通じてロボットプラグイン実行エンジン装置1100側に伝達される。
(9)シンボル値の変更を要請されたロボットプラグイン実行エンジン装置1100側の連結管理者1108は、シンボルサービス管理者1104に該当値を変更するよう要請する。
(10)シンボルサービス管理者1104は該当変数の値を変更した後、該当シンボルに通知サービスが登録されているか通知サービス管理者1106にサービスを要請する。
(11)通知サービス管理者1106は、detector.obstacle_foundというシンボル名に該当する通知コールバックが登録されているか調べる。ここでは、avoider.on_any_symbol_changedというコールバック関数が登録されているため、該当関数を呼び出す。このとき、該当シンボル名(detector.obstacle_found)をパラメータとして伝達する。
(12)、(13)障害物回避オブジェクトプロキシ122は、連結管理者1110を通じて呼び出しを受けたon_any_symbol_changed関数で自身と相応する遠隔オブジェクトである障害物回避オブジェクトに連結管理者1110を通じてこの事実を通報する。
(14)遠隔プラグイン装置1300側の連結管理者1304はシンボル値の通知サービスの要請を受け、該当シンボル名(detector.obstacle_found)を通知サービス管理者1302に伝達する。
(15)通知サービス管理者1302は該当シンボル名(detector.obstacle_found)をもってこのシンボルに登録されたコールバック関数であるavoider.avoid_obstacle関数を呼び出す。この関数の呼び出しを受けたavoider障害物回避オブジェクトはavoid_obstacle関数を呼び出して障害物を回避する。
(16)1秒毎に(2)〜(15)過程を繰り返し行うことで、ロボットプラグイン実行エンジン装置1100は障害物が現れる度に障害物回避プロセスを起動させる。
以上の説明では、本発明の好適な実施形態を提示して説明したが、本発明は必ずしもこれに限定されるものではなく、本発明の属する技術分野において通常の知識を有する者であれば、本発明の技術的思想から逸脱しない範囲内で様々な置換、変形及び変更が可能であることが容易に分かる。
100 ロボット
110 ロボットプラグイン実行エンジン装置
111、211 オブジェクト管理者
112、211 シンボルサービス管理者
113、213 関数サービス管理者
114、214 通知サービス管理者
115、215 タイマサービス管理者
116、216 連結管理者

Claims (17)

  1. 各遠隔プラグインの内部に入っている各遠隔オブジェクトを管理するオブジェクト管理者と、
    前記各遠隔オブジェクトが登録したシンボルをロボットプラグイン実行エンジン装置に登録して管理するシンボルサービス管理者と、
    前記各遠隔オブジェクトが登録した関数を前記ロボットプラグイン実行エンジン装置に登録して管理する関数サービス管理者と、
    前記各遠隔オブジェクトが登録した通知関数を前記ロボットプラグイン実行エンジン装置に登録して管理する通知サービス管理者と、
    前記各遠隔オブジェクトが登録したタイマを前記ロボットプラグイン実行エンジン装置に登録して管理するタイマサービス管理者と、
    ネットワークを介して前記各管理者と前記ロボットプラグイン実行エンジン装置との通信を担当する連結管理者と
    を含む遠隔プラグイン装置。
  2. 前記オブジェクト管理者は、
    前記ロボットプラグイン実行エンジン装置に登録しようとする遠隔オブジェクトが生成される時、前記生成された遠隔オブジェクトを内部オブジェクトテーブルに格納した後、前記連結管理者に伝達することを特徴とする請求項1に記載の遠隔プラグイン装置。
  3. 前記シンボルサービス管理者は、
    特定遠隔オブジェクトが外部に露出させようとするシンボルを登録する時、該当シンボルに対する名前と前記該当シンボルに対する参照を結合してシンボルテーブルエントリを構成した後、前記連結管理者に伝達することを特徴とする請求項1に記載の遠隔プラグイン装置。
  4. 前記関数サービス管理者は、
    特定遠隔オブジェクトが外部に露出させようとする関数を登録する時、該当関数に対する名前と前記該当関数に対する参照を結合して関数テーブルエントリを構成した後、前記連結管理者に伝達することを特徴とする請求項1に記載の遠隔プラグイン装置。
  5. 前記通知サービス管理者は、
    特定遠隔オブジェクトが登録しようとする通知サービスのために対象シンボルの名前とコールバックされる関数に対する参照が伝達される時、前記対象シンボルに対する名前とコールバック関数に対する参照を結合して通知テーブルエントリを構成した後、前記連結管理者に伝達することを特徴とする請求項1に記載の遠隔プラグイン装置。
  6. 前記タイマサービス管理者は、
    特定遠隔オブジェクトが登録しようとするタイマサービスのためにコールバックする関数に対する参照と呼び出される周期が伝達される時、前記タイマ名と関数に対する参照を結合してタイマテーブルエントリを構成した後、前記連結管理者に伝達することを特徴とする請求項1に記載の遠隔プラグイン装置。
  7. 前記各遠隔オブジェクトは、
    各オブジェクトに対する生成、削除を定義する登録インターフェースと、
    各オブジェクトとプラグイン間で予め約束されたインターフェースを提供する共通インターフェースと、
    実際にオブジェクトで行う主要関数及びシンボルを定義する個別インターフェース/個別データ定義部と
    を含むことを特徴とする請求項1〜6の何れか1項に記載の遠隔プラグイン装置。
  8. 前記共通インターフェースは、
    オブジェクトを初期化するためのInit()、オブジェクトを活性化するためのOn()、オブジェクトを非活性化するためのOff()で構成されることを特徴とする請求項7に記載の遠隔プラグイン装置。
  9. 各ローカルプラグインの内部に入っているオブジェクトを管理し、オブジェクトの登録要請がある時、それに相応するオブジェクトプロキシを生成及び登録するオブジェクト管理者と、
    前記各ローカルプラグインで登録したシンボルを管理し、各シンボルの参照及び変更を担当するシンボルサービス管理者と、
    前記各ローカルプラグインで登録した関数を管理し、各関数に対する呼び出し及び結果値の返還を担当する関数サービス管理者と、
    特定イベントが発生する時、該当ローカルプラグインで登録した関数を呼び出す通知サービス管理者と、
    特定周期別に前記各ローカルプラグインで登録した関数を呼び出すタイマサービス管理者と、
    ネットワークを介して前記各管理者と遠隔プラグイン装置との通信を担当する連結管理者と
    を含むロボットプラグイン実行エンジン装置。
  10. 前記オブジェクト管理者は、
    前記遠隔プラグイン装置から登録の要請を受けた該当オブジェクト名と同じ名前を有するオブジェクトプロキシ客体を生成してプロキシとして登録することを特徴とする請求項9に記載のロボットプラグイン実行エンジン装置。
  11. 前記シンボルサービス管理者は、
    前記遠隔プラグイン装置からシンボルの登録要請を受けた該当シンボル名と相応するプロキシオブジェクトの参照を結合してシンボルサービスエントリを構成した後、シンボルサービステーブルに登録することを特徴とする請求項9に記載のロボットプラグイン実行エンジン装置。
  12. 前記関数サービス管理者は、
    前記遠隔プラグイン装置から関数の登録要請を受けた該当関数名と呼び出される関数名を結合して関数サービスエントリを構成した後、関数サービステーブルに登録することを特徴とする請求項9に記載のロボットプラグイン実行エンジン装置。
  13. 前記通知サービス管理者は、
    前記遠隔プラグイン装置から通知の登録要請を受けた該当シンボル名と呼び出される関数名を結合して通知サービスエントリを構成した後、通知サービステーブルに登録することを特徴とする請求項9に記載のロボットプラグイン実行エンジン装置。
  14. 前記タイマサービス管理者は、
    前記遠隔プラグイン装置からタイマの登録要請を受けた該当タイマ名と自身の関数を結合してタイマサービスエントリを構成した後、タイマサービステーブルに登録することを特徴とする請求項9に記載のロボットプラグイン実行エンジン装置。
  15. 前記オブジェクトプロキシは、
    各オブジェクトに対する生成、削除を定義する登録インターフェースと、
    各オブジェクトとプラグイン間で予め約束されたインターフェースを提供する共通インターフェースと
    を含むことを特徴とする請求項9〜14の何れか1項に記載のロボットプラグイン実行エンジン装置。
  16. 前記共通インターフェース部は、
    オブジェクトを初期化するためのInit()、オブジェクトを活性化するためのOn()、オブジェクトを非活性化するためのOff()、前記ロボットプラグイン実行エンジン装置でタイマイベントが発生した場合、これを処理するためのOn_any_timeoutインターフェース、シンボルの値が変更された時、通知を受けるためのOn_any_symbol_changedインターフェース、オブジェクトのシンボル値を得るためのインターフェースを提供するGet_symbol関数、オブジェクトのシンボル値を変更するためのインターフェースを提供するSet_symbol関数、オブジェクトの関数を呼び出すためのインターフェースを提供するCall_function関数で構成されることを特徴とする請求項15に記載のロボットプラグイン実行エンジン装置。
  17. 各遠隔プラグインの内部に入っている各遠隔オブジェクトを管理し、連結管理者を利用したネットワーク通信を通じて前記各遠隔オブジェクトが登録したシンボル、関数、通知関数、タイマをロボットプラグイン実行エンジンに登録して管理する遠隔プラグインと、
    各ローカルプラグインの内部に入っているオブジェクトを管理し、連結管理者を利用したネットワーク通信を通じて前記各ローカルプラグインで登録したシンボル、各関数、前記各関数に対する呼び出し及び結果値の返還、前記各関数の呼び出しをサービスする前記ロボットプラグイン実行エンジンと
    を備えるロボットプラグイン実行システム。
JP2010164186A 2009-12-03 2010-07-21 遠隔プラグイン装置、ロボットプラグイン実行エンジン装置及びロボットプラグイン実行システム Expired - Fee Related JP5264837B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2009-0119220 2009-12-03
KR1020090119220A KR101242662B1 (ko) 2009-12-03 2009-12-03 원격 플러그인 장치, 로봇 플러그인 실행 엔진 장치 및 로봇 플러그인 실행 시스템

Publications (2)

Publication Number Publication Date
JP2011118867A true JP2011118867A (ja) 2011-06-16
JP5264837B2 JP5264837B2 (ja) 2013-08-14

Family

ID=44284072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010164186A Expired - Fee Related JP5264837B2 (ja) 2009-12-03 2010-07-21 遠隔プラグイン装置、ロボットプラグイン実行エンジン装置及びロボットプラグイン実行システム

Country Status (2)

Country Link
JP (1) JP5264837B2 (ja)
KR (1) KR101242662B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013191016A1 (en) * 2012-06-19 2013-12-27 Square Enix Holdings Co., Ltd. Processing system, information processing apparatus, control method, program and storage medium
JP2014041480A (ja) * 2012-08-22 2014-03-06 Oki Electric Ind Co Ltd データ処理装置及びプログラム
CN110297675A (zh) * 2019-04-23 2019-10-01 五八有限公司 模块间相互调用的方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102509453B1 (ko) * 2020-11-20 2023-03-13 주식회사 카카오모빌리티 로봇장치의 원격 제어 시스템 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225685A (ja) * 1994-02-09 1995-08-22 Hitachi Ltd 分散オブジェクト指向システム構築方法
JPH11306151A (ja) * 1998-04-27 1999-11-05 Fujitsu Ltd 分散オブジェクト処理装置及びプログラム記憶媒体
JP2000286871A (ja) * 1999-03-30 2000-10-13 Yokogawa Electric Corp 分散オブジェクトシステムにおける通信方法及び分散オブジェクトシステムにおける通信装置
JP2002245016A (ja) * 2000-11-01 2002-08-30 Sony Computer Entertainment America Inc 通信ネットワークを介して実行可能なマルチユーザ・アプリケーション用アプリケーション開発インターフェース
JP2003114805A (ja) * 2001-10-09 2003-04-18 Hitachi Ltd 情報処理装置および方法
JP2005228183A (ja) * 2004-02-16 2005-08-25 Hitachi Ltd プログラム実行方法、および、プログラム実行のための計算機システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100869587B1 (ko) * 2007-02-02 2008-11-21 주식회사 유진로봇 로봇 미들웨어 프레임워크 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225685A (ja) * 1994-02-09 1995-08-22 Hitachi Ltd 分散オブジェクト指向システム構築方法
JPH11306151A (ja) * 1998-04-27 1999-11-05 Fujitsu Ltd 分散オブジェクト処理装置及びプログラム記憶媒体
JP2000286871A (ja) * 1999-03-30 2000-10-13 Yokogawa Electric Corp 分散オブジェクトシステムにおける通信方法及び分散オブジェクトシステムにおける通信装置
JP2002245016A (ja) * 2000-11-01 2002-08-30 Sony Computer Entertainment America Inc 通信ネットワークを介して実行可能なマルチユーザ・アプリケーション用アプリケーション開発インターフェース
JP2003114805A (ja) * 2001-10-09 2003-04-18 Hitachi Ltd 情報処理装置および方法
JP2005228183A (ja) * 2004-02-16 2005-08-25 Hitachi Ltd プログラム実行方法、および、プログラム実行のための計算機システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013191016A1 (en) * 2012-06-19 2013-12-27 Square Enix Holdings Co., Ltd. Processing system, information processing apparatus, control method, program and storage medium
JP2014000372A (ja) * 2012-06-19 2014-01-09 Square Enix Holdings Co Ltd 処理システム、情報処理装置、制御方法、プログラム、及び記録媒体
US10016676B2 (en) 2012-06-19 2018-07-10 Square Enix Holdings Co., Ltd. Processing system, information processing apparatus, control method, program and storage medium
JP2014041480A (ja) * 2012-08-22 2014-03-06 Oki Electric Ind Co Ltd データ処理装置及びプログラム
CN110297675A (zh) * 2019-04-23 2019-10-01 五八有限公司 模块间相互调用的方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP5264837B2 (ja) 2013-08-14
KR20110062480A (ko) 2011-06-10
KR101242662B1 (ko) 2013-03-12

Similar Documents

Publication Publication Date Title
CN111178782B (zh) 一种流程工业数据化运营平台的微服务架构
US9430294B2 (en) Elastic management framework
JP2017530470A (ja) 動作環境の配置方法及び装置並びにシステム
Da Silva et al. Internet of things out of the box: using TOSCA for automating the deployment of IoT environments
Inzinger et al. Generic event‐based monitoring and adaptation methodology for heterogeneous distributed systems
CN104579792A (zh) 多适配方式实现多种类型虚拟资源集中管理架构及方法
EP2815346A1 (en) Coordination of processes in cloud computing environments
US20100235493A1 (en) Extendable distributed network management system and method
Dobaj et al. A microservice architecture for the industrial Internet-of-Things
Amaral et al. Cooperative middleware platform as a service for internet of things applications
JP5264837B2 (ja) 遠隔プラグイン装置、ロボットプラグイン実行エンジン装置及びロボットプラグイン実行システム
CN102375894B (zh) 一种管理不同类型文件系统的方法
CN105893055A (zh) 流程引擎平台化触发方法
US20220182851A1 (en) Communication Method and Apparatus for Plurality of Administrative Domains
CN113419818B (zh) 基础组件部署方法、装置、服务器及存储介质
Iuhasz et al. Architecture of a scalable platform for monitoring multiple big data frameworks
Chen et al. MORE: A model-driven operation service for cloud-based IT systems
Tusa et al. How CLEVER-based clouds conceive horizontal and vertical federations
Wolf et al. Supporting component-based failover units in middleware for distributed real-time and embedded systems
Adams et al. Scalable management—Technologies for management of large-scale, distributed systems
Li et al. Decentralized execution of event-driven scientific workflows
Bainomugisha et al. Crane Cloud: A resilient multi-cloud service abstraction layer for resource-constrained settings
Nyström et al. High‐level distribution for the rapid production of robust telecoms software: comparing C++ and Erlang
Abu-Jassar Mathematical tools for SDN formalisation and verification
Castain et al. The Open Run-Time Environment (OpenRTE): A transparent multicluster environment for high-performance computing

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120924

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130430

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees