(57)【要約】【課題】本発明は知能型サービスロボット環境においてサービスをロボットにロードするロボットサービスロード方法を提供する。【解決手段】本発明に係るロボットサービスロード方法は、１つ以上のディスクリプタからロボットが実現できるサービスに対するサービスコードを生成するステップ、および生成されたサービスコードに基づいて１つ以上のサービスオブジェクトを生成し、生成された１つ以上のサービスオブジェクトをロボットにロードするステップを含む。【選択図】図２
2011129099.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のディスクリプタからロボットが実現できるサービスに対するサービスコードを生成するステップ；および
生成された前記サービスコードに基づいて１つ以上のサービスオブジェクトを生成し、生成された前記１つ以上のサービスオブジェクトを前記ロボットにロードするステップを含むロボットサービスロード方法。
【請求項２】
前記サービスコードを生成するステップは、
複数のサービスの各々に対するディスクリプタが含まれたバンドルディスクリプタの入力を受けるステップ；
前記バンドルディスクリプタから前記ロボットが実現できるサービスに対するディスクリプタを抽出するステップ；および
抽出されたディスクリプタから前記サービスコードを生成するステップを含む、請求項１に記載のロボットサービスロード方法。
【請求項３】
前記１つ以上のサービスオブジェクトを前記ロボットにロードするステップは、
入力されたプロパティーを前記サービスコードに追加し、プロパティーが追加されたサービスコードをコンパイルしてダイナミックリンクライブラリを生成するステップ；および
前記ダイナミックリンクライブラリに基づいて１つ以上のサーバントを生成し、前記サービスコードに基づいて生成された前記１つ以上のサービスオブジェクトを前記１つ以上のサーバントの各々にバインディングしてロードするステップを含む、請求項１に記載のロボットサービスロード方法。
【請求項４】
前記１つ以上のサービスオブジェクトを前記ロボットにロードするステップは、前記プロパティーが追加されたサービスコードを初期化するステップをさらに含む、請求項３に記載のロボットサービスロード方法。
【請求項５】
前記１つ以上のサーバントは、前記ダイナミックリンクライブラリの生成個数に基づいて生成される、請求項３に記載のロボットサービスロード方法。
【請求項６】
前記１つ以上のサーバントは、前記サービスコードの生成個数に基づいて生成される、請求項３に記載のロボットサービスロード方法。
【請求項７】
前記ロボットに前記１つ以上のサービスオブジェクトをロードした後、ユーザから入力されたサービス要請命令に基づき、ロードされた前記１つ以上のサービスオブジェクトを利用してユーザにサービスを実現するステップをさらに含む、請求項１に記載のロボットサービスロード方法。
【請求項８】
前記サービスを実現するステップは、
前記サービス要請命令に応じ、ロードされた前記１つ以上のサービスオブジェクトのうちから該当するサービスオブジェクトを抽出するステップ；および
抽出されたサービスオブジェクトに基づいて制御信号を生成し、前記制御信号に応じて前記ロボットの動作を制御して前記サービスを実現するステップを含む、請求項７に記載のロボットサービスロード方法。
【請求項９】
前記１つ以上のディスクリプタはＸＭＬ基盤のコードで記述される、請求項１に記載のロボットサービスロード方法。
【請求項１０】
前記サービスコードはＣ＋＋基盤のコードで生成される、請求項１に記載のロボットサービスロード方法。
【請求項１１】
入力された１つ以上のディスクリプタからロボットが実現できるサービスに対するサービスコードを生成し、生成された前記サービスコードに基づいて１つ以上のサービスオブジェクトを生成して出力するサービスマネージャ；および
前記１つ以上のサービスオブジェクトをロードし、ユーザから入力されたサービス要請命令に応じ、ロードされた前記１つ以上のサービスオブジェクトのうちから該当するサービスオブジェクトを抽出して出力するサービスエージェントを含むロボットサービスロード装置。
【請求項１２】
前記サービスマネージャは、
前記１つ以上のディスクリプタから前記サービスコードを生成するサービスコード生成部；および
前記サービスコードをコンパイルしてダイナミックリンクライブラリを生成するコンパイル部を含み、
前記サービスマネージャは、前記サービスコードおよび前記ダイナミックリンクライブラリに基づいて前記１つ以上のサービスオブジェクトを生成する、請求項１１に記載のロボットサービスロード装置。
【請求項１３】
前記コンパイル部は、外部から入力されたプロパティーを前記サービスコードに追加した後、プロパティーが追加されたサービスコードをコンパイルして前記ダイナミックリンクライブラリを生成する、請求項１２に記載のロボットサービスロード装置。
【請求項１４】
前記サービスエージェントは、前記ダイナミックリンクライブラリの生成個数に基づいて１つ以上のサーバントを生成し、
前記サービスマネージャから出力された前記１つ以上のサービスオブジェクトを前記１つ以上のサーバントの各々にバインディングしてロードする、請求項１２に記載のロボットサービスロード装置。
【請求項１５】
前記サービスエージェントは前記サービスコードの生成個数に基づいて１つ以上のサーバントを生成し、
前記サービスマネージャから出力された前記１つ以上のサービスオブジェクトを前記１つ以上のサーバントの各々にバインディングしてロードする、請求項１２に記載のロボットサービスロード装置。
【請求項１６】
前記サービスマネージャは、ＸＭＬ基盤のコードで記述された前記ディスクリプタからＣ＋＋基盤のコードで記述された前記サービスコードを生成する、請求項１１に記載のロボットサービスロード装置。
【請求項１７】
前記サービスエージェントから出力された前記サービスオブジェクトに基づいて制御信号を生成する動作制御部をさらに含み、
前記動作制御部は、前記制御信号に基づいて前記ロボットの複数のハードウェアの各々の動作を制御し、ユーザに前記サービス要請命令に該当するサービスを実現する、請求項１１に記載のロボットサービスロード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は知能型サービスロボット（Ｕｂｉｑｕｉｔｏｕｓ  Ｒｏｂｏｔｉｃ  Ｃｏｍｐａｎｉｏｎ：ＵＲＣ）技術に関し、より詳しくは、知能型サービスロボット環境において、複数の知能型ロボットにサービスを動的にロードできるロボットサービスロード方法およびそのための装置に関する。
【背景技術】
【０００２】
最近、サービスロボットの技術発展に伴い、ユーザがロボットから特定のサービスを受けるようになった。また、ＵＲＣ（Ｕｂｉｑｕｉｔｏｕｓ  Ｒｏｂｏｔｉｃ  Ｃｏｍｐａｎｉｏｎ：ＵＲＣ）という概念の導入により、ロボットだけでなく、家庭で用いられる家電、保安装置などのような環境装置からサービスの提供を受けることができた。
従来には、ロボットまたは環境装置が実行できるサービスをプログラミング言語を利用して作成し、作成されたサービスをロボットまたは環境装置に格納する方式によってサービスロボットを実現した。
【０００３】
しかし、サービスというものは非常に可変的であるため、新しいサービスが生成されたりまたは既に格納されたサービスが除去されるなどの可変性は、開発者がサービスをプログラミングして実現するのに問題を生じさせる。
特に、従来には、開発者がＣ＋＋などを利用してサービスをプログラミングしており、Ｃ＋＋の特性上、新しいサービスを搭載するためには、プログラミングコードにサービス情報を作成し入れ、コンパイルおよびリンク過程を経ることが必要となる。
【０００４】
これは、開発者に煩わしく、サービスを開発するのに多くの時間がかかる。また、ロボットや環境装置にコンパイル機能が備えられていない場合には、その後のプログラミングされたサービスを除去する作業実行などに問題が発生した。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、サービス開発者の便宜を増大し、サービスの動的ロードが可能なロボットサービスロード方法を提供することにある。
【０００６】
本発明が解決しようとする他の課題は、ロボットサービスをロードするためのサービスロード装置を提供することにある。
【課題を解決するための手段】
【０００７】
前記課題を解決するための本発明の一実施形態によるロボットサービスロード方法は、１つ以上のディスクリプタからロボットが実現できるサービスに対するサービスコードを生成するステップ、および生成されたサービスコードに基づいて１つ以上のサービスオブジェクトを生成し、生成された１つ以上のサービスオブジェクトをロボットにロードするステップを含む。
【０００８】
前記他の課題を解決するための本発明の他の実施形態によるロボットサービスロード装置は、入力された１つ以上のディスクリプタからロボットが実現できるサービスに対するサービスコードを生成し、生成されたサービスコードに基づいて１つ以上のサービスオブジェクトを生成して出力するサービスマネージャ、および１つ以上のサービスオブジェクトをロードし、ユーザから入力されたサービス要請命令に応じ、ロードされた１つ以上のサービスオブジェクトのうちから該当するサービスオブジェクトを抽出して出力するサービスエージェントを含む。
【発明の効果】
【０００９】
本発明のロボットサービスロード方法およびサービスロード装置によれば、開発者がＸＭＬ基盤のディスクリプタを記述してロボットまたは環境装置に格納させた後、これを利用してロボットまたは環境装置が実現できるサービスを生成することにより、開発者にサービス開発に対する便宜性を提供できる効果がある。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る知能型サービスロボット環境を実現できるＵＲＣシステムの構成図である。
【図２】図１に示された複数のＵＲＣ装置のうちの１つのＵＲＣ装置の構成図である。
【図３】本発明に係るＵＲＣシステムを用いたサービス実現動作に対するフローチャートである。
【図４】ＵＲＣ装置においてサービスオブジェクトを生成する動作に対するフローチャートである。
【図５】開発者から入力されるディスクリプタの一実施形態を示す図である。
【図６】ディスクリプタから生成されるサービスコードの一実施形態を示す図である。
【発明を実施するための形態】
【００１１】
本発明と本発明の動作上の利点および本発明の実施形態によって達成される目的を十分に理解するためには、本発明の実施形態を例示する添付図面および添付図面に記載された内容を参照しなければならない。
本発明においては、説明の便宜のために、家庭や事務室に配置された様々な知能型サービスロボットまたは環境装置を利用してユーザーが所望するサービスを実現できるＵＲＣ（Ｕｂｉｑｕｉｔｏｕｓ  Ｒｏｂｏｔｉｃ  Ｃｏｍｐａｎｉｏｎ：ＵＲＣ）システムを例に挙げて説明する。
【００１２】
以下、添付図面を参照して本発明の好ましい実施形態を説明することによって本発明を詳しく説明する。各図面に提示された同一の参照符号は同一の部材を示す。
図１は本発明に係る知能型サービスロボット環境を実現できるＵＲＣシステムの構成図である。
【００１３】
図１を参照すれば、ＵＲＣシステムは、複数のＵＲＣ装置（１０１，１０２，１０３）、通信網３００、およびＵＲＣサーバ２００を含むことができる。
【００１４】
複数のＵＲＣ装置（１０１，１０２，１０３）の各々は、知能型サービスを実現できるロボット装置であることができ、または家電装置や保安装置などのような環境装置であることができる。
【００１５】
複数のＵＲＣ装置（１０１，１０２，１０３）の各々は、通信網３００を介してＵＲＣサーバ２００に接続されるか、または通信網３００を介して各々が互いに接続されることができる。
【００１６】
このようなＵＲＣ装置（１０１，１０２，１０３）の各々は、ユーザ（または、サービス利用者）から入力されたサービス要請命令（ＲＱ）に応じてその動作が制御され、ユーザにサービスを提供することができる。
【００１７】
例えば、ユーザは、ＵＲＣサーバ２００にサービス要請命令（ＲＱ）を入力することができ、ＵＲＣサーバ２００は、ユーザから入力されたサービス要請命令（ＲＱ）を、通信網３００を介して、複数のＵＲＣ装置（１０１，１０２，１０３）のうち、該当する１つまたはそれ以上のＵＲＣ装置（１０１，１０２，１０３）に転送することができる。
【００１８】
また、ＵＲＣサーバ２００からサービス要請命令（ＲＱ）を受信したＵＲＣ装置（１０１，１０２，１０３）は、格納された１つ以上のサービスオブジェクトのうち、サービス要請命令（ＲＱ）に該当する１つ以上のサービスオブジェクトを利用してユーザにサービスを提供することができる。
【００１９】
ここで、ＵＲＣ装置（１０１，１０２，１０３）に格納されたサービスオブジェクトは、開発者（または、管理者）によってプログラミングされて格納されることができる。
【００２０】
この時、ユーザから入力されたサービス要請命令（ＲＱ）に応じてサービスを提供するために、少なくとも２つのＵＲＣ装置（１０１，１０２，１０３）を用いる場合、２つまたはそれ以上のＵＲＣ装置（１０１，１０２，１０３）は通信網３００を介して連動することができる。
【００２１】
また、２つ以上のＵＲＣ装置（１０１，１０２，１０３）は、受信したサービス要請命令（ＲＱ）に該当するサービスオブジェクトを利用してサービスを実現するが、各々から実現されるサービスが互いに同期して実現されるように制御することができる。
【００２２】
ここで、通信網３００は有／無線通信網であってもよく、本発明においては、家庭や事務室などのような室内空間で用いられる近距離無線通信網を例に挙げて説明する。
【００２３】
ＵＲＣサーバ２００は、複数のＵＲＣ装置（１０１，１０２，１０３）から各々の装置が実現できるサービスに対する情報を受信し、これをユーザに提供することができる。
【００２４】
また、ＵＲＣサーバ２００は、ユーザから入力されたサービス要請命令（ＲＱ）を分析し、分析結果に応じて、通信網３００を介して接続された複数のＵＲＣ装置（１０１，１０２，１０３）のうちから、入力されたサービス要請命令（ＲＱ）を実行できる最適なＵＲＣ装置（１０１，１０２，１０３）を抽出することができる。
【００２５】
また、ＵＲＣサーバ２００は、抽出したＵＲＣ装置（１０１，１０２，１０３）にユーザのサービス要請命令（ＲＱ）を転送することができる。
また、ＵＲＣサーバ２００は、その後に開発者によって変更できる複数のＵＲＣ装置（１０１，１０２，１０３）の各々のサービスに対する情報を周期的に更新することができる。
【００２６】
図２は図１に示された複数のＵＲＣ装置のうちの１つのＵＲＣ装置の構成を示す図である。以下では、複数のＵＲＣ装置（１０１，１０２，１０３）のうちの１つのＵＲＣ装置（以下、第１ＵＲＣ装置）１０１の構成を例に挙げて説明するが、残りのＵＲＣ装置（１０２，１０３）の構成も第１ＵＲＣ装置１０１と同様であることができる。
【００２７】
図１および図２を参照すれば、第１ＵＲＣ装置１０１は、開発者から、サービスに対するディスクリプタ（ＤＣ）から１つ以上のサービスオブジェクト（ＳＯ）を生成し、これを格納することができる。
【００２８】
このために、第１ＵＲＣ装置１０１は、サービスマネージャ１１０、サービスエージェント１２０、動作制御部１３０、および複数のハードウェア（１４１，１４３，１４５）を含むことができる。
【００２９】
サービスマネージャ１１０は、開発者から入力されたディスクリプタ（ＤＣ）からサービスコード（ＳＣ）およびダイナミックリンクライブラリ（ＤＬＬ）を生成することができ、これらを利用してサービスオブジェクト（ＳＯ）を生成することができる。
【００３０】
このようなサービスマネージャ１１０は、本発明の様々な実施形態により、開発者からサービスコード（ＳＣ）とダイナミックリンクライブラリ（ＤＬＬ）の入力を受け、サービスオブジェクト（ＳＯ）を生成することもできる。
【００３１】
サービスマネージャ１１０は、サービスコード生成部１１１およびコンパイル部１１３を含むことができる。
【００３２】
サービスコード生成部１１１は、開発者からディスクリプタ（ＤＣ）、例えば図５に示すようにＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ；ＸＭＬ）に基づいて作成されたサービスディスクリプタ（ＤＣ）の入力を受けることができる。
【００３３】
ここで、図５を参照すれば、ディスクリプタ（ＤＣ）には第１ＵＲＣ装置１０１において実行できるサービスに対する情報を記述することができ、サービスタイプ（または、インターフェース）とこれによって実現されたクラス名称およびプロパティー（属性値）を含むことができる。
【００３４】
また、１つのディスクリプタ（ＤＣ）には複数のサービス情報が記述されることができ、複数のサービス別に各々のディスクリプタ（ＤＣ）が記述されることもできる。
【００３５】
サービスコード生成部１１１は、入力されたディスクリプタ（ＤＣ）に基づいてサービスコード（ＳＣ）、例えば、図６に示すようにＣ＋＋を基盤に作成されたサービスコード（ＳＣ）を生成して出力することができる。
【００３６】
コンパイル部１１３は、サービスコード生成部１１１から出力されたサービスコード（ＳＣ）をコンパイルしてダイナミックリンクライブラリ（ＤＬＬ）を生成することができる。
【００３７】
ここで、コンパイル部１１３は、開発者からサービスコード（ＳＣ）に対する属性値、すなわちサービスコードプロパティーの入力を受けることができ、これをサービスコード（ＳＣ）に追加した後にコンパイル動作を実行することができる。
【００３８】
サービスマネージャ１１０は、サービスコード生成部１１１から生成されたサービスコード（ＳＣ）とコンパイル部１１３から生成されたダイナミックリンクライブラリ（ＤＬＬ）に基づいて、１つ以上のサービスオブジェクト（ＳＯ）を生成することができる。
生成されたサービスオブジェクト（ＳＯ）はサービスエージェント１２０に出力されることができる。
【００３９】
サービスエージェント１２０は、サービスマネージャ１１０から出力されたサービスオブジェクト（ＳＯ）を格納することができる。
サービスエージェント１２０は、ユーザから入力されたサービス要請命令（ＲＱ）に基づき、格納されたサービスオブジェクト（ＳＯ）のうちから該当するサービスオブジェクト（ＳＯ）を抽出し出力することができる。
【００４０】
サービスエージェント１２０は、複数のサーバント、例えば第１サーバント１２１〜第Ｍサーバント１２５を含むことができる。
【００４１】
ここで、サービスエージェント１２０の第１サーバント１２１〜第Ｍサーバント１２５は、サービスマネージャ１１０から生成されたダイナミックリンクライブラリ（ＤＬＬ）に基づいて生成される。
【００４２】
また、第１サーバント１２１〜第Ｍサーバント１２５の各々は、サービスマネージャ１１０から出力されたサービスオブジェクト（ＳＯ）をバインディングして格納することができる。
【００４３】
これにより、サービスエージェント１２０は、ユーザから入力されたサービス要請命令（ＲＱ）に基づき、第１サーバント１２１〜第Ｍサーバント１２５の各々にバインディングされたサービスオブジェクト（ＳＯ）のうちから１つを抽出することができる。
【００４４】
サービスエージェント１２０は、抽出されたサービスオブジェクト（ＳＯ）を動作制御部１３０に出力することができる。
動作制御部１３０は、サービスエージェント１２０から出力されたサービスオブジェクト（ＳＯ）に基づき、第１ＵＲＣ装置１０１を構成する複数のハードウェア、例えば第１ハードウェア１４１〜第ｍハードウェア１４５の動作を制御することができ、これにより、ユーザーが所望するサービスを実現することができる。
例えば、動作制御部１３０は、サービスオブジェクト（ＳＯ）から第１ＵＲＣ装置１０１の動作を制御できる制御信号（ＣＮＴ）を生成することができる。
【００４５】
動作制御部１３０は、生成された制御信号（ＣＮＴ）を第１ハードウェア１４１〜第ｍハードウェア１４５のうち、該当するハードウェアに出力することによって第１ＵＲＣ装置１０１の動作を制御することができる。
例えば、ユーザが家庭または事務室内の物を移動させるためのサービスの提供を受けるためにサービス要請命令（ＲＱ）を入力することができる。
【００４６】
ＵＲＣサーバ２００からサービス要請命令（ＲＱ）を受信した第１ＵＲＣ装置１０１のサービスエージェント１２０は、第１サーバント１２１〜第Ｍサーバント１２５の各々に格納されたサービスオブジェクト（ＳＯ）のうちからサービス要請命令（ＲＱ）に該当するサービスオブジェクト（ＳＯ）を抽出して出力することができる。
【００４７】
動作制御部１３０は、サービスエージェント１２０から出力されたサービスオブジェクト（ＳＯ）に基づいて制御信号（ＣＮＴ）を生成して出力することができる。
【００４８】
この時、制御信号（ＣＮＴ）は、第１ＵＲＣ装置１０１の複数のハードウェアのうちの物の移動サービスを実行できるハードウェア、例えば第１ＵＲＣ装置１０１を物が位置した地点まで移動して物を獲得し、これを定められた位置まで移動させる動作を実行できるハードウェアの動作を制御することができる。
したがって、第１ＵＲＣ装置１０１は、制御信号（ＣＮＴ）によって動作制御されるハードウェアを介してユーザーが所望するサービスを提供することができる。
【００４９】
図３は本発明に係るＵＲＣシステムを用いたサービス実現動作に対するフローチャートである。本実施形態においては、説明の便宜のために、図２に示された第１ＵＲＣ装置１０１がユーザから入力されたサービス要請命令（ＲＱ）に応答してサービスを実現することを例に挙げて説明する。しかし、第１ＵＲＣ装置１０１を除いた残りのＵＲＣ装置（１０２，１０３）においても、実質的に同一の方法を利用してサービスを実現することができる。
【００５０】
図１〜図３を参照すれば、開発者は、第１ＵＲＣ装置１０１が実行できるサービスに対する情報、すなわちディスクリプタ（ＤＣ）を記述し、これを第１ＵＲＣ装置１０１に入力することができる。
例えば、開発者は、先に図５を参照して説明したように、ＸＭＬに基づいて作成されたサービスディスクリプタ（ＤＣ）を第１ＵＲＣ装置１０１に入力することができる。
【００５１】
第１ＵＲＣ装置１０１は、入力されたディスクリプタ（ＤＣ）に基づいて１つ以上のサービスオブジェクト（ＳＯ）を生成することができる（Ｓ１０）。
例えば、第１ＵＲＣ装置１０１のサービスマネージャ１１０は、入力されたディスクリプタ（ＤＣ）に基づいてサービスコード（ＳＣ）とダイナミックリンクライブラリ（ＤＬＬ）を生成することができる。第１ＵＲＣ装置１０１は、これらを利用してサービスオブジェクト（ＳＯ）を生成することができる。生成されたサービスオブジェクト（ＳＯ）は、サービスエージェント１２０のサーバント（１２１，１２３，１２５）に格納されることができる。
【００５２】
このようなサービスオブジェクト（ＳＯ）の生成動作は図４を参照して詳細に説明する。
一方、第１ＵＲＣ装置１０１を介してサービスの提供を受けようとするユーザは、ＵＲＣサーバ２００から提供される第１ＵＲＣ装置１０１のサービスのうちの所望するサービスを要請するサービス要請命令（ＲＱ）を入力することができる（Ｓ２０）。
【００５３】
ＵＲＣサーバ２００は、ユーザから入力されたサービス要請命令（ＲＱ）を第１ＵＲＣ装置１０１に転送し、第１ＵＲＣ装置１０１は、サービス要請命令（ＲＱ）に応じ、格納されたサービスオブジェクト（ＳＯ）のうちから該当するサービスオブジェクト（ＳＯ）を抽出することができる（Ｓ３０）。
【００５４】
例えば、第１ＵＲＣ装置１０１のサービスエージェント１２０は、サービス要請命令（ＲＱ）に基づき、複数のサーバント（１２１，１２３，１２５）の各々にバインディングされたサービスオブジェクト（ＳＯ）のうちからサービス要請命令（ＲＱ）に該当するサービスオブジェクト（ＳＯ）を抽出することができる。
【００５５】
次に、抽出されたサービスオブジェクト（ＳＯ）は動作制御部１３０に提供され、動作制御部１３０はサービスオブジェクト（ＳＯ）に該当する制御信号（ＣＮＴ）を生成して複数のハードウェア（１４１，１４３，１４５）の各々に出力することができる。
【００５６】
第１ＵＲＣ装置１０１を構成する複数のハードウェア（１４１，１４３，１４５）の各々は、動作制御部１３０から出力された制御信号（ＣＮＴ）に応じてユーザーが所望するサービスを実行することができる（Ｓ４０）。
【００５７】
図４はＵＲＣ装置においてサービスオブジェクトを生成する動作に対するフローチャートである。本実施形態においても、図２に示された第１ＵＲＣ装置１０１においてサービスオブジェクト（ＳＯ）を生成することを例に挙げて説明することにする。
【００５８】
図１、図２、および図４を参照すれば、開発者は、自身が開発しようとするサービスをＸＭＬに基づいて記述した１つ以上のディスクリプタ（ＤＣ）を第１ＵＲＣ装置１０１に入力することができる。
【００５９】
第１ＵＲＣ装置１０１は、入力された１つ以上のディスクリプタ（ＤＣ）を所定の格納空間に格納することができる。
ここで、開発者は、第１ＵＲＣ装置１０１において実行できるサービスをディスクリプタ（ＤＣ）として記述することもでき、第１ＵＲＣ装置１０１を含む複数のＵＲＣ装置（１０１，１０２，１０３）の各々において実行できるサービスをバンドルディスクリプタとして記述することもできる。
【００６０】
開発者が複数のＵＲＣ装置（１０１，１０２，１０３）の各々において実行できるサービスをバンドルディスクリプタとして記述した場合、第１ＵＲＣ装置１０１はこれを格納するが、自身が実行できるサービスに対するディスクリプタ（ＤＣ）だけを抽出してサービスコード（ＳＣ）を生成することができる（Ｓ１１０）。ここで、バンドルディスクリプタには複数のサービスに対する情報が含まれ得る。
【００６１】
例えば、第１ＵＲＣ装置１０１は、格納されたバンドルディスクリプタを検索し、バンドルディスクリプタのうち、第１ＵＲＣ装置１０１にロード（または、搭載）できるディスクリプタ（ＤＣ）を判断して抽出する動作を実行することができる（Ｓ１２０）。
【００６２】
また、第１ＵＲＣ装置１０１のサービスマネージャ１１０は、抽出されたディスクリプタ（ＤＣ）からサービスコード（ＳＣ）を生成することができる（Ｓ１３０）。
【００６３】
次に、開発者は、先に抽出されたディスクリプタ（ＤＣ）を参照して生成したサービスコード（ＳＣ）のプロパティー（属性値）を入力させることができ（Ｓ１４０）、サービスマネージャ１１０は、プロパティーが入力されたサービスコード（ＳＣ）をコンパイルしてダイナミックリンクライブラリ（ＤＬＬ）を生成することができる。
【００６４】
一方、サービスマネージャ１１０は、プロパティーが入力されたサービスコード（ＳＣ）を初期化することができ（Ｓ１５０）、初期化したサービスコード（ＳＣ）からサービスオブジェクト（ＳＯ）を生成することができる。
また、生成されたサービスオブジェクト（ＳＯ）は、サービスエージェント１２０が生成したサーバントにバインディングされることができる。
【００６５】
ここで、サービスエージェント１２０は、サービスマネージャ１１０が生成したダイナミックリンクライブラリ（ＤＬＬ）に基づいてサーバント（１２１，１２３，１２５）を生成することができるが、ダイナミックリンクライブラリ（ＤＬＬ）の生成個数（または、サービスコード（ＳＣ）の生成個数）に対応するように生成することができる。
【００６６】
サービスエージェント１２０は、サービスオブジェクト（ＳＯ）をバインディングして格納し、バインディングされたサービスオブジェクト（ＳＯ）の情報、すなわち第１ＵＲＣ装置１０１が実行できるサービスに対する情報をＵＲＣサーバ２００に転送することができる。
【００６７】
ＵＲＣサーバ２００は、転送された第１ＵＲＣ装置１０１のサービス情報をユーザに提供することができ、ユーザの選択に応じたサービス要請命令（ＲＱ）の入力を受けることができる（Ｓ１６０）。
【００６８】
すなわち、ユーザは、ＵＲＣサーバ２００が提供する第１ＵＲＣ装置１０１が実行できるサービスに対する情報から自身が受けようとするサービスを選択した後、これを要請するサービス要請命令（ＲＱ）をＵＲＣサーバ２００に入力することができる。
【００６９】
ＵＲＣサーバ２００はユーザが入力したサービス要請命令（ＲＱ）を第１ＵＲＣ装置１０１に転送することができ、第１ＵＲＣ装置１０１は転送されたサービス要請命令（ＲＱ）に応じ、格納されたサービスオブジェクト（ＳＯ）を利用してユーザーが所望するサービスを実現することができる。
【００７０】
一方、既に使われたサービスを除去しようとする場合には、単に第１ＵＲＣ装置１０１に格納されているディスクリプタ（ＤＣ）を除去する動作を実行して簡単に実行することができる。
【００７１】
本発明の内容を図面に示された一実施形態を参考に説明したが、これは例示的なものに過ぎず、本技術分野の通常の知識を有した者であれば、様々な変形および均等な他の実施形態が可能であるということを理解しなければならない。したがって、本発明の真の技術的保護範囲は添付した特許請求の範囲の技術的思想によって定められるべきである。
【符号の説明】
【００７２】
１００  ・・・ＵＲＣ装置
１１０  ・・・サービスマネージャ
１１１  ・・・サービスコード生成部
１１３  ・・・コンパイル部
１２０  ・・・サービスエージェント
１３０  ・・・動作制御部
２００  ・・・ＵＲＣサーバ
３００  ・・・通信網
【図１】
2011129099.tif 000003
【図２】
2011129099.tif 000004
【図３】
2011129099.tif 000005
【図４】
2011129099.tif 000006
【図５】
2011129099.tif 000007
【図６】
2011129099.tif 000008