(57)【要約】【課題】  対人用のパーソナル、パートナロボットへの機能追加等を安全かつ容易に行うためのネットワークロボットの機能提供システムを提供する。【解決手段】  ネットワークロボット１において、内部情報取得手段１１により取得された内部情報１５は、情報送信手段１２により暗号化されて外部サーバ２に送信される。外部サーバ２においては、この暗号化されて送信された内部情報１５が、情報受信手段２２により受信されて復号化される。この内部情報１５は、情報評価手段２３により評価されてネットワークロボット１に必要な追加機能が特定される。そして、プログラム抽出手段２４によりこの追加機能を実現するための追加プログラム２６が管理用データベース２１から抽出される。この追加プログラム２６は、プログラム送信手段２５により暗号化されてネットワークロボット１に送信される。【選択図】  図１
2005319526.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して外部情報サーバに繋がったネットワークロボットに対して、その機能を追加提供するネットワークロボットの機能提供システムにおいて、
固有の構成及び機能の情報を含む内部情報を取得する内部情報取得手段と、前記内部情報を暗号化して前記外部情報サーバに送信する情報送信手段と、これに応じて前記外部情報サーバから暗号化されて送信された追加プログラムを受信して復号化するプログラム受信手段と、前記追加プログラムを取得してプログラムを更新するプログラム取得手段とを備えたネットワークロボットと、
前記ネットワークロボットを動作させるためのプログラムを集中管理して格納するための管理用データベースと、前記ネットワークロボットから暗号化されて送信された前記内部情報を受信して復号化する情報受信手段と、前記内部情報を評価して前記ネットワークロボットに必要な追加機能を特定する情報評価手段と、前記管理用データベースから前記追加機能を実現するための前記追加プログラムを抽出するプログラム抽出手段と、抽出された前記追加プログラムを暗号化して前記ネットワークロボットに送信するプログラム送信手段とを備えた外部情報サーバと、
を備えたことを特徴とするネットワークロボットの機能提供システム。
【請求項２】
前記ネットワークロボットは、その動作環境を含む外部情報を取得する外部情報取得手段を備え、
前記情報送信手段が、前記内部情報に併せて前記外部情報を暗号化して前記外部情報サーバに送信し、
前記情報評価手段が、前記外部情報を参照しつつ前記内部情報を評価して、前記ネットワークロボットが所定の動作を実行するために必要な前記追加機能を特定すること、
を特徴とする請求項１記載のネットワークロボットの機能提供システム。
【請求項３】
前記ネットワークロボットが、予め登録されたユーザの個人情報を格納する認証用データベースと、ユーザからの入力情報に基づき、前記認証用データベースを参照して登録したユーザであることを認証する認証手段と、前記認証手段により認証されたユーザの個人情報を前記外部情報サーバに送信するユーザ情報送信手段とを備える一方、
前記外部情報サーバが、各ユーザ毎に対話を容易にするための機能を実現する対話用プログラムを格納する対話用データベースと、前記ネットワークロボット側から送信された個人情報に基づいて対応する対話用プログラムを抽出する対話用プログラム抽出手段と、抽出された前記対話用プログラムを前記ネットワークロボットに送信する対話用プログラム送信手段とを備え、
前記ネットワークロボットは、前記対話用プログラムを実行して前記ユーザとの対話を行うように構成されたことを特徴とする請求項１記載のネットワークロボットの機能提供システム。
【請求項４】
ネットワークを介して外部管理サーバに繋がった複数のネットワークロボットを連携させて、ユーザの要求に応じたサービスを提供するための機能を補完するネットワークロボットの機能提供システムにおいて、
固有の構成及び機能の情報を含む内部情報を取得する内部情報取得手段と、動作環境を含む外部情報を取得する外部情報取得手段と、前記外部情報を参照しつつ前記内部情報を評価して、前記ユーザが入力した要求情報に従った動作を単独で実現可能か否かを判定する判定手段と、前記要求情報に従った動作が単独で実現不能と判定された場合に、前記要求情報を連携して実現可能な他のネットワークロボットの情報を前記外部管理サーバに要求する連携情報要求手段と、それに応じて前記外部管理サーバから送信された連携情報に基づき、他のネットワークロボットと通信して連携動作する連携動作手段とを備えたネットワークロボットと、
前記ネットワークに繋がった複数のネットワークロボットの前記内部情報を含む性能情報及び現在の位置情報を集中管理する管理手段と、前記ネットワークロボットからの要求に基づいて各ネットワークロボットの前記性能情報を抽出して連携方法を特定し、前記連携方法を含む前記連携情報を前記ネットワークロボットとその連携相手となる他のネットワークロボットに送信する連携情報送信手段とを備えた外部管理サーバと、
を備えたことを特徴とするネットワークロボットの機能提供システム。
【請求項５】
ネットワークを介して前記ネットワークロボットに繋がる外部情報サーバを備え、
前記ネットワークロボットは、前記内部情報を暗号化して前記外部情報サーバに送信する情報送信手段と、これに応じて前記外部情報サーバから暗号化されて送信された追加プログラムを受信して復号化するプログラム受信手段と、前記追加プログラムを取得してプログラムを更新するプログラム取得手段とを備え、
前記外部情報サーバは、前記ネットワークロボットを動作させるためのプログラムを集中管理して格納するための管理用データベースと、前記ネットワークロボットから暗号化されて送信された前記内部情報を受信して復号化する情報受信手段と、前記内部情報を評価して前記ネットワークロボットに必要な追加機能を特定する情報評価手段と、前記管理用データベースから前記追加機能を実現するための前記追加プログラムを抽出するプログラム抽出手段と、抽出された前記追加プログラムを暗号化して前記ネットワークロボットに送信するプログラム送信手段とを備えたこと、
を特徴とする請求項４記載のネットワークロボットの機能提供システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して外部管理サーバに繋がったロボット（以下「ネットワークロボット」という）の機能を追加又は補完するネットワークロボットの機能提供システムに関する。
【背景技術】
【０００２】
近年、パーソナルユースへの適用などの人間と対するロボットの開発が盛んになってきており、各家庭やオフィス、公共の施設、病院などのさまざまな場所への適用が進められている。これまでの産業用のロボットは、限定された空間内で、限定された機能を提供すればよかったが、このようなパーソナル、パートナロボットは、さまざまな場所で、さまざまな作業を行うことが要求されてきており、メンテナンスやアプリケーションの入れ替え等を容易に行えることが必要とされる。このため、ロボットをネットワークに繋げるようにすることが考えられている（例えば特許文献１参照）。
【０００３】
ところで、このようなネットワークロボットは、そのほとんどが特定のユーザとの間の１対１の通信で動作するものあった。また、ネットワークロボットを制御するためのプログラムについては、事前にそのネットワークロボットがどのような構成及び機能を有するネットワークロボットであるかが分かっていて、それに合わせたプログラムをダウンロードする方式がとられていた。
【特許文献１】特開２００３−２９８７５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、今後、ネットワークにはさまざまなネットワークロボットが接続され、それぞれに対して必要なＯＳ(Operating System)のプログラムやアプリケーションプログラムのアップデートプログラムや、追加のサービスのための新たなサービスプログラムの提供がなされてくる。
【０００５】
このような場合には、そのプログラムがそのネットワークロボットに適用できるものであるか、提供されるプログラムは適切であるかを、提供する側と提供を受ける側が個別に確認することが求められる。
【０００６】
また、ネットワークロボットの機能を遠隔の外部管理サーバを使って追加するためには、そのネットワークロボットがどのようなロボットであるか、そのネットワークロボットの内部の機能は現在どのような状態であるか、そのネットワークロボットが現在どのような環境下にあるかなどを知る必要がある。一方、これらの情報が外部に知られることは情報保全の面から問題があり、例えばダウンロードする機能がネットワーク上で改竄されたりすることがあると、人に危害を加える機能を追加されたりすることが可能となる。また、ネットワークロボットがネットワークと繋がることは、悪意のある者が外部から簡単にネットワークロボットのことを知り、乗っ取り等を考える可能性がある。
【０００７】
本発明はこのような点に鑑みてなされたものであり、対人用のパーソナル、パートナロボットへの機能追加等を安全かつ容易に行うためのネットワークロボットの機能提供システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では上記問題を解決するために、図１に示すようなネットワークロボットの機能提供システム（以下、単に「機能提供システム」ともいう）が提供される。本発明に係る機能提供システムは、ネットワーク１０を介して外部サーバ２に繋がったネットワークロボット１に対して、その機能を追加提供するためのものである。
【０００９】
ネットワークロボット１は以下の機能を有する。すなわち、内部情報取得手段１１は、固有の構成及び機能の情報を含む内部情報１５を取得する。情報送信手段１２は、内部情報１５を暗号化して外部サーバ２に送信する。プログラム受信手段１３は、これに応じて外部サーバ２から暗号化されて送信された追加プログラム２６を受信して復号化する。プログラム取得手段１４は、追加プログラム２６を取得してプログラムを更新する。
【００１０】
また、外部サーバ２は以下の機能を有する。すなわち、管理用データベース２１は、ネットワークロボット１を動作させるためのプログラムを集中管理して格納する。情報受信手段２２は、ネットワークロボットから暗号化されて送信された内部情報１５を受信して復号化する。情報評価手段２３は、内部情報１５を評価してネットワークロボット１に必要な追加機能を特定する。プログラム抽出手段２４は、管理用データベース２１から追加機能を実現するための追加プログラム２６を抽出する。プログラム送信手段２５は、抽出された追加プログラム２６を暗号化してネットワークロボット１に送信する。
【００１１】
このような機能提供システムによれば、ネットワークロボット１において、内部情報取得手段１１により取得された内部情報１５は、情報送信手段１２により暗号化されて外部サーバ２に送信される。
【００１２】
外部サーバ２においては、この暗号化されて送信された内部情報１５が、情報受信手段２２により受信されて復号化される。この内部情報１５は、情報評価手段２３により評価されてネットワークロボット１に必要な追加機能が特定される。そして、プログラム抽出手段２４によりこの追加機能を実現するための追加プログラム２６が管理用データベース２１から抽出される。この追加プログラム２６は、プログラム送信手段２５により暗号化されてネットワークロボット１に送信される。
【００１３】
ネットワークロボット１においては、このとき送信された追加プログラム２６がプログラム受信手段１３により受信されて復号化され、プログラム取得手段１４によりプログラムが更新される。
【００１４】
また、上記課題を解決するために、ネットワークを介して外部管理サーバに繋がった複数のネットワークロボットを連携させて、ユーザの要求に応じたサービスを提供するための機能を補完するネットワークロボットの機能提供システムにおいて、固有の構成及び機能の情報を含む内部情報を取得する内部情報取得手段と、動作環境を含む外部情報を取得する外部情報取得手段と、前記外部情報を参照しつつ前記内部情報を評価して、前記ユーザが入力した要求情報に従った動作を単独で実現可能か否かを判定する判定手段と、前記要求情報に従った動作が単独で実現不能と判定された場合に、前記要求情報を連携して実現可能な他のネットワークロボットの情報を前記外部管理サーバに要求する連携情報要求手段と、それに応じて前記外部管理サーバから送信された連携情報に基づき、他のネットワークロボットと通信して連携動作する連携動作手段とを備えたネットワークロボットと、前記ネットワークに繋がった複数のネットワークロボットの前記内部情報を含む性能情報及び現在の位置情報を集中管理する管理手段と、前記ネットワークロボットからの要求に基づいて各ネットワークロボットの前記性能情報を抽出して連携方法を特定し、前記連携方法を含む前記連携情報を前記ネットワークロボットとその連携相手となる他のネットワークロボットに送信する連携情報送信手段とを備えた外部管理サーバと、を備えたことを特徴とするネットワークロボットの機能提供システムが提供される。
【００１５】
このような機能提供システムによれば、ネットワークロボットにおいて、内部情報取得手段により内部情報が取得され、外部情報取得手段により外部情報が取得される。そして、判定手段により、外部情報が参照されつつ内部情報が評価され、ユーザが入力した要求情報に従った動作を単独で実現可能か否かが判定される。このとき、単独で実現不能と判定された場合には、連携情報要求手段により、要求情報を連携することにより実現可能な他のネットワークロボットの情報が外部管理サーバに要求される。
【００１６】
外部管理サーバにおいては、このネットワークロボットからの要求に基づいて、連携情報送信手段により、各ネットワークロボットの性能情報が抽出されて連携方法が特定される。そして、連携情報送信手段により、この連携方法を含む連携情報がネットワークロボットとその連携相手となる他のネットワークロボットに送信される。
【００１７】
ネットワークロボットにおいては、このとき送信された連携情報に基づき、他のネットワークロボットと通信して連携動作する。
【発明の効果】
【００１８】
以上説明したように本発明では、ネットワークロボットから固有の構成及び機能の情報を含む内部情報を自動的に外部情報サーバに送信し、外部情報サーバ側から自動的に必要な追加プログラムを取得できるようにした。また、ネットワークロボットと外部情報サーバとの情報のやり取りに際して暗号化処理を行うようにした。これにより、ネットワークロボットに適応した機能の追加を安全かつ容易に行うことが可能となる。
【００１９】
また、本発明では、ネットワークロボットにおいてユーザの要求情報に従った動作を単独で実行するのが不適当な場合に、外部管理サーバから性能情報に基づいた他のネットワークロボットとの連携情報を取得できるようにした。これにより、ネットワークロボットの機能を補完して、ユーザの要求情報に従った動作を容易に行うことが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。図１は、本発明の実施の形態に適用される発明の概念図である。
【００２１】
ネットワークロボット１は、内部情報取得手段１１、情報送信手段１２、プログラム受信手段１３、及びプログラム取得手段１４を備えている。
内部情報取得手段１１は、ネットワークロボット１の固有の構成及び機能の情報を含む内部情報１５を取得する。
【００２２】
ここでいう「固有の構成の情報」には、例えばネットワークロボット１の脚の有無、脚部の自由度や長さ（大きさ）、使用されているアクチュエータの特性、腕の有無と自由度、可搬重量などのロボットの構成情報が含まれうる。また、「固有の機能の情報」には、ネットワークロボット１に組み込まれているＯＳのプログラムやアプリケーションプログラム等により実現される機能情報、各プログラムのバージョン情報等が含まれうる。この内部情報１５は、ネットワークロボット１の所定のデータベースに予め蓄積されていてもよいし、ネットワークロボット１の起動時にアクチュエータ等の制御部にアクセスして取得するようにしてもよい。
【００２３】
情報送信手段１２は、内部情報１５を暗号化して外部サーバ２に送信する。
プログラム受信手段１３は、外部サーバ２から暗号化されて送信された後述する追加プログラム２６を受信して復号化する。以上の暗号化処理には、例えばＰＫＩ(Public Key Infrastructure)やＰＧＰ(Pretty Good Privacy)といった公開鍵を用いた暗号化技術など、種々のものが採用されうる。
【００２４】
プログラム取得手段１４は、追加プログラム２６を取得してプログラムを更新する。すなわち、この追加プログラム２６をダウンロードして、ネットワークロボット１に既存のＯＳのプログラムやアプリケーションプログラム等をバージョンアップさせたり、必要な機能を実現するための新たなプログラムを取得する。
【００２５】
また、外部サーバ２は、管理用データベース２１、情報受信手段２２、情報評価手段２３、プログラム抽出手段２４、及びプログラム送信手段２５を備えている。
管理用データベース２１は、ネットワークロボット１を動作させるためのプログラムを集中管理して格納している。この管理用データベース２１には、逐次バージョンアップされた最新のプログラムや、ネットワークロボット１に新たに追加可能な新たな機能を実現可能なプログラム等が適宜格納されている。
【００２６】
情報受信手段２２は、ネットワークロボット１から暗号化されて送信された内部情報１５を受信して復号化する。
情報評価手段２３は、内部情報１５を評価してネットワークロボット１に必要な追加機能を特定する。この評価においては、例えば内部情報１５に含まれるプログラムのバージョン情報が古くなっている場合には、対応する最新バージョンのプログラムの機能が特定されうる。また、ネットワークロボット１の内部情報１５を向上させることができる機能が別にある場合には、その機能が特定されうる。
【００２７】
プログラム抽出手段２４は、管理用データベース２１から追加機能を実現するための追加プログラム２６を抽出する。すなわち、上述した最新バージョンのプログラムのプログラムや、内部情報１５に含まれる構成情報に基づいて新たな機能が実現可能なプログラムが抽出されうる。
【００２８】
プログラム送信手段２５は、このとき抽出された追加プログラム２６を暗号化してネットワークロボット１に送信する。
ネットワークロボット１では、このとき送信された追加プログラム２６がプログラム取得手段１４により取得されてプログラムを更新させる。
【００２９】
以上のように、ネットワークロボット１から固有の構成及び機能の情報を含む内部情報１５を自動的に外部サーバ２に送信し、これに応答して外部サーバ２側から送信された追加プログラム２６を自動的に取得できるようにした。これにより、ネットワークロボット１においては、その内部情報１５に応じて、例えば既存のプログラムを自動的にバージョンアップしたり、新たな機能を実現するための別のプログラムを取得して、その用途や機能を個別に効率よく向上させることができる。
【００３０】
また、管理用データベース２１によりネットワークロボット１を動作させるためのプログラムを集中管理し、送信されてくるネットワークロボット１の内部情報１５に応じた追加プログラム２６を、外部サーバ２側で一括して選択できるようにした。これにより、外部サーバ２側でネットワークロボット１がどのような構成及び機能を有するかを事前に把握していなくても、その都度、そのネットワークロボット１に適した追加プログラム２６を選択することができる。その結果、複数のネットワークロボット１の機能を追加する場合にも、各ネットワークロボット１が有する内部情報１５に個別に対応して、その機能を実現するためのプログラムを効率よく提供することができる。
【００３１】
また、ネットワークロボット１と外部サーバ２との情報やプログラムの送受信に際して暗号化処理を行うようにしたため、ネットワークロボット１の内部情報１５が外部に漏れることを防止することができる。その結果、ネットワークロボット１がダウンロードする機能がネットワーク上で改竄されたり、ネットワークロボット１が乗っ取られたりすることを防止することができる。
【００３２】
また、上述のようなネットワークロボットにおいて、内部情報のみならず外部情報をも考慮して適切な追加プログラムを提供するようにしてもよい。ここでいう「外部情報」とは、ネットワークロボットの動作環境を含む情報を意味し、ネットワークロボットの視覚や聴覚等の感覚を形成するセンサ出力によって得られる周囲の環境情報を含みうる。例えばネットワークロボットが写し出した画像情報、センサが感知した障害物情報やその位置、形状及び寸法などの情報等、種々の情報が含まれうる。
【００３３】
すなわち、外部情報取得手段がネットワークロボットの動作環境を含む外部情報を取得し、情報送信手段が、内部情報に併せて外部情報を暗号化して外部情報サーバに送信し、情報評価手段が、外部情報を参照しつつ内部情報を評価して、ネットワークロボットが所定の動作を実行するために必要な追加機能を特定するようにしてもよい。
【００３４】
このような構成により、ネットワークロボットの外部情報に基づいて具体的にどのような機能が必要とされるかが判断でき、ネットワークロボットが現在おかれている状況に合せた機能を追加させることができる。特に、ユーザの要求に基づいたサービスを提供するような場合には、そのサービスを実現する際の現在の外部情報に基づいて必要な機能を実現するためのプログラムを適宜追加することにより、効率よくサービスを提供することができる。
【００３５】
さらに、このようにユーザの要求に基づいたサービスを提供する場合には、ユーザインタフェースを考慮した構成を採用するのもよい。
すなわち、ネットワークロボットにおいて認証用データベースを設定し、予め登録されたユーザの個人情報を格納しておくようにする。そして、認証手段が、ユーザからの入力情報に基づき、認証用データベースを参照して登録したユーザであることを認証し、ユーザ情報送信手段が、このとき認証されたユーザの個人情報を外部情報サーバに送信する。
【００３６】
ここでいう「ユーザの個人情報」は、登録されたユーザを識別して特定するための識別ＩＤ等の識別情報としてもよい。
外部情報サーバにおいては、各ユーザ毎に対話を容易にするための機能を実現する対話用プログラムを格納する対話用データベースが設定される。この対話用プログラムは、例えばネットワークロボットが、各ユーザが聞き取り易い音声、方言、話し速度、あるいは各ユーザを楽しませる話題や表現で対話を実現することができる音声認識プログラムとして構成することができる。そして、対話用プログラム抽出手段が、ネットワークロボット側から送信された個人情報に基づいて対応する対話用プログラムを抽出し、対話用プログラム送信手段が、このとき抽出された対話用プログラムをネットワークロボットに送信する。
【００３７】
ネットワークロボットは、この対話用プログラムを実行してユーザとの対話を行うことができる。
以下、本発明の実施の形態を具体的に説明する。
【００３８】
図２は、本発明の実施の形態のシステム構成例を示す図である。図２に示すように、本実施の形態の機能提供システムにおいては、複数の異なるタイプのネットワークロボット１ａ，１ｂ，１ｃ（これらを総称して「ネットワークロボット１」とも表現する）と、外部情報サーバ２ａ，外部管理サーバ２ｂ（これらを総称して「外部サーバ２」とも表現する）とが、ネットワーク１０を介して繋がっている。
【００３９】
ネットワークロボット１ａは、二脚式のロボットであり、２本のマニピュレータ（腕）を有する。また、遠隔制御及び自律歩行が可能であり、初期設定においては平地のみ歩行することができるようになっている。また、このネットワークロボット１ａの基本プログラムにはバージョン２．０のものが使用されている。
【００４０】
ネットワークロボット１ｂは、車輪式のロボットであり、１本のマニピュレータを有する。また、自律走行が可能であり、平地以外も走行することができる。また、このネットワークロボット１ｂの基本プログラムにはバージョン１．０のものが使用されている。
【００４１】
ネットワークロボット１ｃは、車輪式のクローラ型のロボットである。また、遠隔制御が可能であり、初期設定においては２．５ｃｍの段差を走破することができるようになっている。また、このネットワークロボット１ｃの基本プログラムにはバージョン１．０のものが使用されている。なお、ネットワークロボット１ａ，１ｂ，１ｃにはそれぞれ異なる種類のＯＳ用のプログラムが搭載されている。
【００４２】
外部情報サーバ２ａは、上記ネットワークロボット１ａ，１ｂ，１ｃのそれぞれに対し、その機能を追加するための追加プログラムを提供するものであるが、その詳細については後述する。
【００４３】
外部管理サーバ２ｂは、上記ネットワークロボット１ａ，１ｂ，１ｃのそれぞれに対し、連携動作を実行させるための連携情報を提供するものであるが、その詳細については後述する。
【００４４】
図３は、機能提供システムのハードウェア構成例を示す図である。ネットワークロボット１は、ＣＰＵ(Central Processing Unit)１０１によって全体が制御されている。ＣＰＵ１０１には、バス等の所定の信号線を介してＲＡＭ(Random Access Memory)，ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）などの記憶装置１０２、暗号化／復号化装置１０３、認証装置１０４、入力インタフェース１０５、及び無線通信装置１０６等が接続されている。
【００４５】
記憶装置１０２のＲＡＭには、ＣＰＵ１０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納され、また、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤには、ＯＳやアプリケーションプログラムが格納され、また、後述するネットワークロボット１の内部情報や外部情報の少なくとも一部を格納するデータベースが構築される。
【００４６】
暗号化／復号化装置１０３は、内部情報や外部情報を送信する際にこれらをＰＫＩ等の暗号化技術を用いてこれらを暗号化して送出し、外部サーバ２から受信されたプログラム等を復号化して取り込む。
【００４７】
認証装置１０４は、ユーザの入力情報に基づき、ユーザの識別情報が格納された内部の認証用データベースを参照して登録したユーザであることを認証する。この認証装置１０４は、ユーザの入力情報として、ユーザの識別情報が記録されたＩＤカードのようなものを読み取るものでもよいし、ユーザの指紋等を読み取るものでもよい。
【００４８】
入力インタフェース１０５には、車輪やアーム関節などネットワークロボット１の内部構成を駆動するアクチュエータである各モータ１０７を駆動させるための制御基板１０８や、各種センサ１０９の出力信号を取り込むセンサ用基板１１０がＵＳＢ(Universal Serial Bus)を介して接続されている。このため、ＣＰＵ１０１は、このＵＳＢ経由で制御基板１０８に所定の指令信号を出力して各モータ１０７を制御したり、センサ用基板１１０から各センサ１０９の出力情報を取得することが可能である。
【００４９】
無線通信装置１０６は、アンテナを備えており、ネットワーク１０に接続されている。この無線通信装置１０６は、ネットワーク１０を介して外部サーバ２や他のネットワークロボット１との間でデータの送受信を行う。
【００５０】
一方、外部サーバ２は、ＣＰＵ２０１によって全体が制御されている。ＣＰＵ２０１には、バス等の所定の信号線を介してＲＡＭ，ハードディスクドライブ（ＨＤＤ）などの記憶装置２０２、表示装置２０３、通信インタフェース２０４等が接続されている。
【００５１】
記憶装置２０２のＲＡＭには、ＣＰＵ２０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納され、また、ＣＰＵ２０１による処理に必要な各種データが格納される。ＨＤＤには、ＯＳやアプリケーションプログラムが格納され、また、ネットワークロボット１に追加可能な追加プログラムとして、逐次バージョンアップされた最新のプログラムや、新たに追加可能な新たな機能を実現可能なプログラム等が適宜格納されるデータベースが構築される。また、このＨＤＤには、ネットワークロボット１と同じ暗号化技術を用いて暗号化された上記内部情報や外部情報を復号化したり、追加プログラムを暗号化するための暗号化／復号化プログラムが格納されている。
【００５２】
表示装置２０３は、ネットワークロボット１との通信の状態を適宜表示したり、外部サーバ２の管理者の入力に従った内部情報を表示させたりする。
通信インタフェース２０４は、ネットワーク１０に接続されている。この通信インタフェース２０４は、ネットワーク１０を介してネットワークロボット１との間でデータの送受信を行う。
【００５３】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。このようなハードウェア構成の機能提供システムにおいてネットワークロボット１の機能追加等を行うために、ネットワークロボット１及び外部サーバ２のそれぞれには、以下のような機能が設けられる。
【００５４】
図４は、機能提供システムの機能を示すブロック図である。
まず、ネットワークロボット１は、ロボットＯＳ３０１、ロボット制御部３０２、ロボット構成情報取得部３０３、個人認証部３０４、ロボット情報取得部３０５及び機器認証部３０６を備えている。
【００５５】
ロボットＯＳ３０１は、ネットワークロボット１に設定された種類のＯＳのプログラムからなる。
ロボット制御部３０２は、このＯＳ上で動作してネットワークロボット１の各機能を実現させるための固有の基本プログラムやその他のアプリケーションプログラムからなる。
【００５６】
ロボット構成情報取得部３０３は、ネットワークロボット１の構成情報として、例えばＣＰＵ１０１の性能，ＢＩＯＳ（Basic Input/Output System）,ストレージデバイス構成、アクチュエータの特性、腕の有無，数，自由度、首、センサの種類、配置、車輪型／多足歩行型などの体型、可搬重量などの構成情報を取得する。このロボット構成情報取得部３０３は、この構成情報を、例えばネットワークロボット１の起動時にＵＳＢを介したプラグアンドプレイで上記モータ１０７やセンサ１０９から検知して取得してもよいし、事前に構成情報としてデータベースを構築していてもよい。
【００５７】
個人認証部３０４は、例えばユーザＩＤが記録された媒体の認証機能やユーザの指紋認証機能などを有し、ネットワークロボット１によりサービスの提供を受けようとするユーザの個人情報を取得する。また、この個人認証部３０４は、ユーザによる入力やユーザとの対話によりユーザが求めるサービスの内容を表す要求情報を取得する。
【００５８】
ロボット情報取得部３０５は、ロボット構成情報取得部３０３から取得した構成情報や、ロボットＯＳ３０１及びロボット制御部３０２から検出したプログラムの種類やバージョン情報などの内部情報を取得する。また、その一方で、各センサ１０９にて取得した周囲の障害物情報やその位置、形状及び寸法等の情報、画像情報などのネットワークロボット１の周囲の環境情報を含む外部情報や、個人認証部３０４で取得したユーザの要求情報を取得する。このロボット情報取得部３０５は、これらの内部情報、外部情報及び要求情報を、外部サーバ２に送信可能な所定のフォーマットで一括してまとめる。このフォーマットの具体例については後述する。
【００５９】
機器認証部３０６は、ロボット情報取得部３０５でまとめられた情報や、個人認証部３０４で取得された個人情報を、ＰＫＩ等の暗号化技術を用いて署名，暗号化して送出する一方、外部サーバ２から受信された追加プログラム等をダウンロードし、署名の適正を確認したうえで復号化して取り込む。ロボットＯＳ３０１やロボット制御部３０２は、このとき取り込まれた追加プログラムによりバージョンアップや新たな機能の追加を行う。
【００６０】
一方、外部サーバ２は、データベース４０１、認証部４０２、ロボット評価部４０３及び送信情報生成部４０４を備えている。
データベース４０１は、複数種類のネットワークロボット１のそれぞれに対応して追加可能な追加プログラムを格納し、また、随時新しいプログラムに更新している。この追加プログラムは、複数種類のＯＳのプログラムやアプリケーションプログラムのバージョンアップ用のプログラムや、各ネットワークロボット１に新たな機能を追加するためのプログラム等からなる。
【００６１】
認証部４０２は、ネットワークロボット１から暗号化して送信された情報の署名の適正を確認することでネットワークロボット１に間違いがないかを確認する。そして、適正が確認された情報を復号化して内部に取り込む。また、内部で抽出された追加プログラムを上記と同じ暗号化技術を用いて署名，暗号化し、該当するネットワークロボット１に送信する。
【００６２】
ロボット評価部４０３は、認証部４０２で取り込まれたネットワークロボット１の外部情報を参照しつつ内部情報を評価して、該当するネットワークロボット１が所定の動作を実行するために必要な追加機能を特定する。このロボット評価部４０３は、その評価機能として、ロボット外部環境評価部４０５、ロボット構成評価部４０６、ロボット作業機能評価部４０７及び環境レポート評価部４０８を有する。すなわち、ロボット外部環境評価部４０５にて上記外部情報が認識され、ネットワークロボット１が現在おかれている状況が評価される。また、ロボット構成評価部４０６にて上記内部情報が認識され、ネットワークロボット１の現在の機能が評価される。そして、ロボット作業機能評価部４０７にて、これらの評価をもとにユーザの要求情報を実現するために必要な機能が評価される。さらに、環境レポート評価部４０８では、ＴＣＧ(Trusted Computing Group)方式により、ハードウェア、ＢＩＯＳ、ＯＳ等を勘案してアプリケーションが実行されるための必要な基準に基づいたレポートの評価を行って、高い信頼性と安全性を持ったプログラムの提供ができるようにしている。
【００６３】
送信情報生成部４０４は、上述のようにネットワークロボット１側から対話相手となるユーザの個人情報が送信されてきた場合には、その個人情報に基づいて当該ユーザとの対話を容易にするための機能を実現する対話用プログラムをデータベース４０１から取得する。例えば、各ユーザが聞き取り易い音声、方言、話し速度、あるいは各ユーザを楽しませる話題や表現で対話を実現するための対話用プログラムが選択されたりする。
【００６４】
また、この送信情報生成部４０４は、上述のようにネットワークロボット１に追加プログラムを送信する場合には、上記ロボット評価部４０３で評価された機能を実現するための追加プログラムをデータベース４０１から取得する。この追加プログラムは、認証部４０２にて暗号化処理がなされた後、該当するネットワークロボット１に送信される。
【００６５】
さらに、この送信情報生成部４０４は、あるネットワークロボット１から他のネットワークロボット１との連携動作を要求されている場合には、評価された各ネットワークロボット１の機能に基づいて適切な連携方法を選択し、これに必要な連携情報をデータベース４０１から取得する。
【００６６】
以上に述べた対話用プログラム，追加プログラム及び連携情報は、認証部４０２にて暗号化処理がなされた後、該当するネットワークロボット１に送信される。
図５は、ネットワークロボットで情報がまとめられる際に参照されるフォーマット化されたデータの具体例を示す図である。なお、この図ではネットワークロボットの構成情報について示している。
【００６７】
図５に示すように、ネットワークロボットの構成情報は、例えば腕のタイプと移動手段のタイプとの関係でそのレベルが区分けされている。すなわち、腕のタイプについては、アームが１本のもの、２本のもの、アームが無いものが分類され、さらに各アームのタイプについてグリッパ式のもの、３指で対象物を把持する３指ハンドのものが分類される。また、移動手段については、車輪式のもの、２足歩行のもの、歩行無しのものが分類され、さらに車輪式のものについては、２輪、３輪、４輪に分類されている。そして、これらの各組み合わせについて所定のフォーマットでレベル分けがされている。例えば、ネットワークロボット１が、２本のアーム、３本の指ハンド、３輪の車輪を有するタイプである場合には、「レベル２−２−２」が構成情報として指定され、その情報が外部サーバ２に送信される。
【００６８】
なお、その他の内部情報、外部情報及び要求情報についても、同様の方式でフォーマット化されて区分けされるが、その説明については省略する。
次に、ネットワークロボット１及び外部サーバ２が実行する機能追加処理を含む動作例を、フローチャートを参照して説明する。
【００６９】
図６は、ネットワークロボット１が起動時に実行する起動時処理の例を示すフローチャートである。以下、図６に示す処理をステップ番号に沿って説明する。
［ステップＳ１１］ネットワークロボット１は、電源の投入等により起動する。このとき、ロボット構成情報取得部３０３が、ＵＳＢを介したプラグアンドプレイまたはデータベースからの読込みにより、ネットワークロボット１の構成情報を取得する。
【００７０】
［ステップＳ１２］ネットワークロボット１は、ロボット情報取得部３０５により、ロボットＯＳ３０１、ロボット制御部３０２及びロボット構成情報取得部３０３から、ネットワークロボット１の現在の内部情報を取得する。
【００７１】
［ステップＳ１３］ネットワークロボット１は、ロボット情報取得部３０５により、取得した内部情報を所定のフォーマットにまとめる。
［ステップＳ１４］ネットワークロボット１は、機器認証部３０６により、内部情報に暗号化処理を行い、外部情報サーバ２ａに送信する。外部情報サーバ２ａ側では、これに応じてプログラム提供処理が行われるが、これについては後述する。
【００７２】
［ステップＳ１５］ネットワークロボット１は、外部情報サーバ２ａから情報が送信されるのを待ち、その情報を受信すると、処理がステップＳ１６に進められる。
［ステップＳ１６］ネットワークロボット１は、外部情報サーバ２ａから送信された情報に必要に応じて復号化処理を行って、その情報を取得する。
【００７３】
［ステップＳ１７］ネットワークロボット１は、外部情報サーバ２ａから受信した情報の中に追加プログラムがあるか否かを判断する。追加プログラムが無い場合には一連の処理が終了され、追加プログラムがある場合には、処理がステップＳ１８に進められる。
【００７４】
［ステップＳ１８］ネットワークロボット１は、追加プログラムを用いてプログラムの追加または更新処理を行う。
次に、このネットワークロボット１による電源投入時処理に対応した外部情報サーバ２ａ側のプログラム提供処理の例について説明する。
【００７５】
図７は、外部情報サーバ２ａが実行する追加プログラム送信処理の例を示すフローチャートである。以下、図７に示す処理をステップ番号に沿って説明する。
［ステップＳ２１］外部情報サーバ２ａは、ネットワークロボット１から上記内部情報が送られてくるのを待つ。そして、その内部情報を受信すると、処理がステップＳ２２に進められる。
【００７６】
［ステップＳ２２］外部情報サーバ２ａは、受信した内部情報を復号化して取得する。
［ステップＳ２３］外部情報サーバ２ａは、取得した内部情報に基づいてネットワークロボット１の評価を行い、データベース４０１を参照してバージョンアップや別途追加を推奨する追加プログラムの抽出を試みる。
【００７７】
［ステップＳ２４］外部情報サーバ２ａは、追加プログラムがあったか否かを判断する。追加プログラムがある場合には処理がステップＳ２５に進められ、追加プログラムが無い場合には処理がステップＳ２６に進められる。
【００７８】
［ステップＳ２５］外部情報サーバ２ａは、追加プログラムに暗号化処理をして、これをネットワークロボット１に送信する。
［ステップＳ２６］外部情報サーバ２ａは、追加プログラムが無い旨を表す情報をネットワークロボット１に送信する。
【００７９】
次に、ネットワークロボット１が、起動後にユーザの要求に基づいたサービスを単独で実行する単独動作処理の例について説明する。
図８は、このネットワークロボット１の単独動作処理を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。なお、この例では、ネットワークロボット１とユーザとが音声により対話をしてサービスが開始される。
【００８０】
［ステップＳ３１］ネットワークロボット１は、ユーザからの接続指令入力があったか否かを判断する。この接続指令入力は、例えばネットワークロボット１に設けられたサービス開始ボタン等をオンすることにより行われる。接続指令入力があると、処理がステップＳ３２に進められる。
【００８１】
［ステップＳ３２］ネットワークロボット１は、ユーザインタフェースを向上させるために、ユーザとの対話が容易になる個人認証・カスタマイズ処理を実行する。この処理の詳細については後述する。
【００８２】
［ステップＳ３３］ネットワークロボット１は、ユーザとの対話によりユーザが求めるサービスに係る要求情報を取得する。
［ステップＳ３４］ネットワークロボット１は、ロボット情報取得部３０５により、各センサ１０９等の出力信号等からネットワークロボット１の現在の外部情報を取得する。なお、ネットワークロボット１の内部情報については、上述した起動時処理において取得している。
【００８３】
［ステップＳ３５］ネットワークロボット１は、現在の機能に基づいて要求情報に従った動作を実行する。
［ステップＳ３６］ネットワークロボット１は、動作の過程で内部情報や外部情報を新たに取得した場合には、ロボット情報取得部３０５によりこれを更新する。
【００８４】
［ステップＳ３７］ネットワークロボット１は、動作の過程で必要に応じてその機能の追加・更新処理を行う。この処理の詳細については後述する。
［ステップＳ３８］ネットワークロボット１は、ユーザの要求情報に従った動作が完了したか否かを判断する。動作が完了していない場合には、処理がステップＳ３５に戻り、ステップＳ３５〜ステップＳ３７までの処理を繰り返す。動作が完了している場合には、処理がステップＳ３９に進められる。
【００８５】
［ステップＳ３９］ネットワークロボット１は、所定の動作終了処理を実行して一連の処理を終了する。この動作終了処理としては、例えばネットワークロボット１が所定の待機位置に戻ったり、姿勢を待機状態に戻したり、ＲＡＭ内に設定されたフラグや演算値のクリアなどがある。
【００８６】
次に、上述したネットワークロボット１による個人認証・カスタマイズ処理の例について説明する。
図９は、この個人認証・カスタマイズ処理を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
【００８７】
［ステップＳ４１］ネットワークロボット１は、ユーザの入力情報を取得する。この入力情報は、例えばユーザが提示したＩＤカードの識別認証やユーザの指紋認証などにより行われる。
【００８８】
［ステップＳ４２］ネットワークロボット１は、認証用データベースを参照してユーザが予め登録されたユーザか否かを判断する。ユーザが登録されており認証可能である場合には、処理がステップＳ４３に進められ、認証不能である場合には、処理がステップＳ４６に進められる。
【００８９】
［ステップＳ４３］ネットワークロボット１は、認証したユーザの対話形式を記録した個人データを、データベースから検索する。
［ステップＳ４４］ネットワークロボット１は、データベースに個人データがあるか否かを判断する。個人データがある場合には処理がステップＳ４５に進められ、個人データが無い場合には、処理がステップＳ４７に進められる。
【００９０】
［ステップＳ４５］ネットワークロボット１は、検出した個人情報に基づいた対話形式で音声認識等の設定を行い、ユーザに合った対話ができるようにする。
［ステップＳ４６］ネットワークロボット１は、ステップＳ４２にて認証不能と判断された場合には、ユーザにサービス提供の拒否を通知する。なお、ユーザが新たにユーザ登録を行えば、サービスの提供が可能になる。
【００９１】
［ステップＳ４７］ネットワークロボット１は、ステップＳ４２にて個人データが無いと判断された場合には、外部情報サーバ２ａに個人データを要求する。すなわち、この例では、ユーザの個人データは、登録時に外部情報サーバ２ａのデータベース４０１に一括して保存される。そして、ユーザがいずれかのネットワークロボット１を利用したときに、そのネットワークロボット１のデータベースにも個人データが保存される。外部情報サーバ２ａは、該当する個人データがある場合には、これをネットワークロボット１に転送する。
【００９２】
［ステップＳ４８］ネットワークロボット１は、外部情報サーバ２ａから個人データを取得できたか否かを判断する。個人データが取得できた場合には、処理がステップＳ４５に進められ、個人データが無い場合には、処理がステップＳ４９に進められる。
【００９３】
［ステップＳ４９］ネットワークロボット１は、予め用意されたデフォルトデータに基づいた対話形式で音声認識等の設定を行う。
次に、上述したネットワークロボット１による機能追加・更新処理（ステップＳ３７）の例について説明する。
【００９４】
図１０は、この機能追加・更新処理を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
［ステップＳ５１］ネットワークロボット１は、各センサ１０９等により、動作を継続する上での障害情報があるか否かを監視する。例えば、現在のアプリケーションプログラムではこれから通過しようとする経路に段差がある場合には、これを検知する。このような障害情報がある場合には、処理がステップＳ５２に進められる。
【００９５】
［ステップＳ５２］ネットワークロボット１は、その障害情報に現在のアプリケーションプログラムで対応できるか否かを判断する。対応できない場合には処理がステップＳ５３に進められ、対応できる場合には処理がステップＳ６１に進められる。
【００９６】
［ステップＳ５３］ネットワークロボット１は、ネットワークロボット１の内部情報及び外部情報を所定のフォーマットにまとめる。
［ステップＳ５４］ネットワークロボット１は、内部情報及び外部情報を暗号化処理を行って外部情報サーバ２ａに送信する。これに対し、外部情報サーバ２ａ側ではプログラム提供処理が実行される。
【００９７】
［ステップＳ５５］ネットワークロボット１は、外部情報サーバ２ａから情報が送信されるのを待ち、その情報を受信すると、処理がステップＳ５６に進められる。
［ステップＳ５６］ネットワークロボット１は、外部情報サーバ２ａから送信された情報に必要に応じて復号化処理を行って、その情報を取得する。
【００９８】
［ステップＳ５７］ネットワークロボット１は、外部情報サーバ２ａから受信した情報の中に追加プログラムがあるか否かを判断する。追加プログラムがある場合には処理がステップＳ５８に進められ、追加プログラムが無い場合には処理がステップＳ６０に進められる。
【００９９】
［ステップＳ５８］ネットワークロボット１は、追加プログラムを用いてプログラムの追加または更新処理を行う。
［ステップＳ５９］ネットワークロボット１は、取得した追加プログラムの機能を用いて動作を再開する。
【０１００】
［ステップＳ６０］ネットワークロボット１は、ステップＳ５７で追加プログラムが無いと判断された場合には、例えば別の経路を移動するなど、別の解決方法で動作を再開する。
【０１０１】
［ステップＳ６１］ネットワークロボット１は、ステップＳ５２において、現在のアプリケーションプログラムで対応できると判断された場合には、現プログラムで動作を継続する。
【０１０２】
なお、ステップＳ５４に対して外部情報サーバ２ａにより実行されるプログラム提供処理は、外部情報を加味した評価が実行される点を除いては、図７で示したプログラム提供処理と同様である。すなわち、外部情報サーバ２ａのロボット評価部４０３では、ネットワークロボット１の現在の外部情報に基づき内部情報を評価する。そして、その外部情報に基づく条件下において、現在の内部情報に基づくアプリケーションプログラムをバージョンアップしたり、別の新たなプログラムを追加することにより障害情報に対応できる場合には、データベースからその追加プログラムを抽出してネットワークロボット１に送信する。追加プログラムが無い場合には、その旨を通知する。
【０１０３】
次に、ネットワークロボット１が、起動後に他のネットワークロボット１と連携動作する連携動作処理の例について説明する。
図１１は、このネットワークロボット１の連携動作処理を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。なお、ステップＳ７１〜Ｓ７４の処理は、それぞれ図８に示したステップＳ３１〜Ｓ３４の処理と同様である。また、ステップＳ７７〜Ｓ８０の処理は、それぞれ図８に示すステップＳ３５〜Ｓ３８の処理と同様である。さらに、ステップＳ８３の処理は、図８に示すステップＳ３９の処理と同様である。以下、図１１に示す処理のうち、図８とは異なる処理を説明する。
【０１０４】
すなわち、ステップＳ７５では、ユーザの要求情報に従って作業計画を立案する。そして、その作業計画に基づき単独で作業が可能であるか否かを判断する。単独作業が可能である場合には処理がステップＳ７７に進められ、単独作業が不能である場合には処理がステップＳ８４に進められる。ステップＳ７５では、可能であることを前提に、他のネットワークロボット１との連携処理が行われる。ステップＳ８１では、例えば連携動作が不能であった場合など、ユーザの要求情報に従った動作が未完了である場合に、別の解決方法で作業の継続が可能であるか否かが判断される。別の解決方法で作業の継続が可能である場合には、処理がステップＳ７７に戻り、その別の解決方法に沿って動作が継続される。
【０１０５】
一方、作業の継続が不能である場合には、処理がステップＳ８２に進められる。ステップＳ８２では、ネットワークロボット１はユーザに対し、作業不能である旨を通知する。
図１２は、このネットワークロボット１の連携処理（ステップＳ８４）を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
【０１０６】
［ステップＳ９１］ネットワークロボット１は、外部管理サーバ２ｂに対し、自己が機能を有していないが必要な機能を持つ他のネットワークロボット１が作業場所にいるか否かを問い合わせる。外部管理サーバ２ｂでは、各ネットワークロボット１の内部情報、外部情報及び現在の位置を常に管理しており、データベースにその情報を更新している。または、ネットワークロボット１との通信によりこれを取得する。このため、外部管理サーバ２ｂは、該当するネットワークロボット１がいる場合には、その情報を送信する。このとき、適当な他のネットワークロボット１が作業場所にいる場合には、処理がステップＳ９２に進められ、他のネットワークロボット１が作業場所にいない場合には、処理がステップＳ９７に進められる。
【０１０７】
［ステップＳ９２］ネットワークロボット１は、外部管理サーバ２ｂ経由で該当する他のネットワークロボット１に連携作業を要求する。
［ステップＳ９３］ネットワークロボット１は、外部管理サーバ２ｂから送信された情報により、該当する他のネットワークロボット１が作業可能であるか否かを判断する。作業が可能である場合には処理がステップＳ９４に進められ、作業が不能である場合には処理がステップＳ９７に進められる。
【０１０８】
［ステップＳ９４］ネットワークロボット１は、連携作業可能な他のネットワークロボット１との相互の通信方法（コマンド，データ）を確認する。例えば、アームと脚を搭載したロボットがいれば、その連携相手のネットワークロボット１に自分がいけない段差等の場所から荷物を取ってもらい、連携して台車に所定の荷物を入れてもらうための、通信情報、コマンド連携情報等を外部管理サーバ２ｂから受ける。なお、この通信情報、コマンド連携情報等は、連携相手となる他のネットワークロボット１にも送信される。
【０１０９】
［ステップＳ９５］ネットワークロボット１は、作業を開始するために目的の場所まで移動する。
［ステップＳ９６］ネットワークロボット１は、連携対象となる他のネットワークロボット１と通信して作業指令を行い、連携作業を実行する。
【０１１０】
［ステップＳ９７］ネットワークロボット１は、外部管理サーバ２ｂに対し、作業場所とは別の場所にさらに別のネットワークロボット１がいるかを問い合わせる。他のネットワークロボット１が別の場所にいる場合には、処理がステップＳ９８に進められ、他のネットワークロボット１が別の場所にいない場合には、処理がステップＳ１００に進められる。
【０１１１】
［ステップＳ９８］ネットワークロボット１は、外部管理サーバ２ｂ経由で該当する他のネットワークロボット１に連携作業を要求する。
［ステップＳ９９］ネットワークロボット１は、外部管理サーバ２ｂに対し、別の場所にいるネットワークロボット１が作業場所まで移動可能か否かを問い合わせる。移動可能である場合には、処理が上述したステップＳ９４に進められ、例えば該当するネットワークロボット１が現在他の作業を行っているなどの理由で移動できない場合には、処理がステップＳ１００に進められる。
【０１１２】
［ステップＳ１００］ネットワークロボット１は、連携による作業の実行ができないため、作業実行不可である旨を通知する。
なお、上述したネットワークロボット１及び外部サーバ２の各処理機能は、コンピュータによって実現することができる。その場合、各機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ(Digital Versatile Disc)、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＣＤ−Ｒ(Recordable)／ＲＷ(ReWritable)などがある。光磁気記録媒体には、ＭＯ(Magneto-Optical disk)などがある。
【０１１３】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１４】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１１５】
以上に説明したように、本実施の形態の機能提供システムにおいては、外部サーバ２にてネットワークロボット１の機能情報、連携情報を集中管理して更新し、所定の暗号化技術を用いてこれらの提供を行っている。このため、ネットワークロボット１の内部情報および外部情報や周囲環境等を知ることができ、これにより、そのネットワークロボット１に合った機能を適宜追加することができる。また、１つのサービスについて、事前にネットワークロボット１のバリエーションを知ることもでき、ネットワークロボット１毎の追加プログラムや連携情報を作成することが容易となる。さらに、その連携情報を利用することで、複数のネットワークロボット１で協調して行うサービスを提供し易くなる。
【０１１６】
（付記１）  ネットワークを介して外部情報サーバに繋がったネットワークロボットに対して、その機能を追加提供するネットワークロボットの機能提供システムにおいて、
固有の構成及び機能の情報を含む内部情報を取得する内部情報取得手段と、前記内部情報を暗号化して前記外部情報サーバに送信する情報送信手段と、これに応じて前記外部情報サーバから暗号化されて送信された追加プログラムを受信して復号化するプログラム受信手段と、前記追加プログラムを取得してプログラムを更新するプログラム取得手段とを備えたネットワークロボットと、
前記ネットワークロボットを動作させるためのプログラムを集中管理して格納するための管理用データベースと、前記ネットワークロボットから暗号化されて送信された前記内部情報を受信して復号化する情報受信手段と、前記内部情報を評価して前記ネットワークロボットに必要な追加機能を特定する情報評価手段と、前記管理用データベースから前記追加機能を実現するための前記追加プログラムを抽出するプログラム抽出手段と、抽出された前記追加プログラムを暗号化して前記ネットワークロボットに送信するプログラム送信手段とを備えた外部情報サーバと、
を備えたことを特徴とするネットワークロボットの機能提供システム。
【０１１７】
（付記２）  前記ネットワークロボットは、その動作環境を含む外部情報を取得する外部情報取得手段を備え、
前記情報送信手段が、前記内部情報に併せて前記外部情報を暗号化して前記外部情報サーバに送信し、
前記情報評価手段が、前記外部情報を参照しつつ前記内部情報を評価して、前記ネットワークロボットが所定の動作を実行するために必要な前記追加機能を特定すること、
を特徴とする付記１記載のネットワークロボットの機能提供システム。
【０１１８】
（付記３）  前記ネットワークロボットが、予め登録されたユーザの個人情報を格納する認証用データベースと、ユーザからの入力情報に基づき、前記認証用データベースを参照して登録したユーザであることを認証する認証手段と、前記認証手段により認証されたユーザの個人情報を前記外部情報サーバに送信するユーザ情報送信手段とを備える一方、
前記外部情報サーバが、各ユーザ毎に対話を容易にするための機能を実現する対話用プログラムを格納する対話用データベースと、前記ネットワークロボット側から送信された個人情報に基づいて対応する対話用プログラムを抽出する対話用プログラム抽出手段と、抽出された前記対話用プログラムを前記ネットワークロボットに送信する対話用プログラム送信手段とを備え、
前記ネットワークロボットは、前記対話用プログラムを実行して前記ユーザとの対話を行うように構成されたことを特徴とする付記１記載のネットワークロボットの機能提供システム。
【０１１９】
（付記４）  ネットワークを介して外部管理サーバに繋がった複数のネットワークロボットを連携させて、ユーザの要求に応じたサービスを提供するための機能を補完するネットワークロボットの機能提供システムにおいて、
固有の構成及び機能の情報を含む内部情報を取得する内部情報取得手段と、動作環境を含む外部情報を取得する外部情報取得手段と、前記外部情報を参照しつつ前記内部情報を評価して、前記ユーザが入力した要求情報に従った動作を単独で実現可能か否かを判定する判定手段と、前記要求情報に従った動作が単独で実現不能と判定された場合に、前記要求情報を連携して実現可能な他のネットワークロボットの情報を前記外部管理サーバに要求する連携情報要求手段と、それに応じて前記外部管理サーバから送信された連携情報に基づき、他のネットワークロボットと通信して連携動作する連携動作手段とを備えたネットワークロボットと、
前記ネットワークに繋がった複数のネットワークロボットの前記内部情報を含む性能情報及び現在の位置情報を集中管理する管理手段と、前記ネットワークロボットからの要求に基づいて各ネットワークロボットの前記性能情報を抽出して連携方法を特定し、前記連携方法を含む前記連携情報を前記ネットワークロボットとその連携相手となる他のネットワークロボットに送信する連携情報送信手段とを備えた外部管理サーバと、
を備えたことを特徴とするネットワークロボットの機能提供システム。
【０１２０】
（付記５）  ネットワークを介して前記ネットワークロボットに繋がる外部情報サーバを備え、
前記ネットワークロボットは、前記内部情報を暗号化して前記外部情報サーバに送信する情報送信手段と、これに応じて前記外部情報サーバから暗号化されて送信された追加プログラムを受信して復号化するプログラム受信手段と、前記追加プログラムを取得してプログラムを更新するプログラム取得手段とを備え、
前記外部情報サーバは、前記ネットワークロボットを動作させるためのプログラムを集中管理して格納するための管理用データベースと、前記ネットワークロボットから暗号化されて送信された前記内部情報を受信して復号化する情報受信手段と、前記内部情報を評価して前記ネットワークロボットに必要な追加機能を特定する情報評価手段と、前記管理用データベースから前記追加機能を実現するための前記追加プログラムを抽出するプログラム抽出手段と、抽出された前記追加プログラムを暗号化して前記ネットワークロボットに送信するプログラム送信手段とを備えたこと、
を特徴とする付記４記載のネットワークロボットの機能提供システム。
【０１２１】
（付記６）  ネットワークを介して外部情報サーバに繋がり、自己の機能を適宜追加するネットワークロボットにおいて、
固有の構成及び機能の情報を含む内部情報を取得する内部情報取得手段と、
前記内部情報を暗号化して前記外部情報サーバに送信する情報送信手段と、
これに応じて前記外部情報サーバから暗号化されて送信された追加プログラムを受信して復号化するプログラム受信手段と、
前記追加プログラムを取得してプログラムを更新するプログラム取得手段と、
を備えたことを特徴とするネットワークロボット。
【０１２２】
（付記７）  さらに、前記ネットワークロボットの動作環境を含む外部情報を取得する外部情報取得手段を備え、
前記情報送信手段が、前記内部情報に併せて前記外部情報を暗号化して前記外部情報サーバに送信すること、
を特徴とする付記６記載のネットワークロボット。
【０１２３】
（付記８）  さらに、予め登録されたユーザの個人情報を格納する認証用データベースと、
ユーザからの入力情報に基づき、前記認証用データベースを参照して登録したユーザであることを認証する認証手段と、
前記認証手段により認証されたユーザの個人情報を前記外部情報サーバに送信するユーザ情報送信手段とを備え、
これに応じて前記外部情報サーバから送信された対話用プログラムを実行して前記ユーザとの対話を行うように構成されたこと、
を特徴とする付記６記載のネットワークロボット。
【０１２４】
（付記９）  ネットワークを介して外部管理サーバに繋がり、前記ネットワークに繋がった他のネットワークロボットと連携してユーザの要求に応じたサービスを提供するネットワークロボットにおいて、
固有の構成及び機能の情報を含む内部情報を取得する内部情報取得手段と、
動作環境を含む外部情報を取得する外部情報取得手段と、
前記外部情報を参照しつつ前記内部情報を評価して、前記ユーザが入力した要求情報に従った動作を単独で実現可能か否かを判定する判定手段と、
前記要求情報に従った動作が単独で実現不能と判定された場合に、前記要求情報を連携して実現可能な他のネットワークロボットの情報を前記外部管理サーバに要求する連携情報要求手段と、
それに応じて前記外部管理サーバから送信された連携情報に基づき、他のネットワークロボットと通信して連携動作する連携動作手段と、
を備えたことを特徴とするネットワークロボット。
【０１２５】
（付記１０）  さらに、前記内部情報を暗号化して、前記ネットワークを介して自己に繋がる外部情報サーバに送信する情報送信手段と、
これに応じて前記外部情報サーバから暗号化されて送信された追加プログラムを受信して復号化するプログラム受信手段と、
前記追加プログラムを取得してプログラムを更新するプログラム取得手段と、
を備えたことを特徴とする付記９記載のネットワークロボット。
【０１２６】
（付記１１）  ネットワークを介してネットワークロボットに繋がり、前記ネットワークロボットの機能を追加するための外部サーバにおいて、
前記ネットワークロボットを動作させるためのプログラムを集中管理して格納するための管理用データベースと、
前記ネットワークロボットから暗号化されて送信された、前記ネットワークロボットの固有の構成及び機能の情報を含む内部情報を受信して復号化する情報受信手段と、
前記内部情報を評価して前記ネットワークロボットに必要な追加機能を特定する情報評価手段と、
前記管理用データベースから前記追加機能を実現するための追加プログラムを抽出するプログラム抽出手段と、
抽出された前記追加プログラムを暗号化して前記ネットワークロボットに送信するプログラム送信手段と、
を備えたことを特徴とする外部サーバ。
【０１２７】
（付記１２）  前記情報受信手段が、前記ネットワークロボットからから暗号化されて送信された、前記ネットワークロボットの動作環境を含む外部情報を受信して復号化し、
前記情報評価手段が、前記外部情報を参照しつつ前記内部情報を評価して、前記ネットワークロボットが所定の動作を実行するために必要な前記追加機能を特定すること、
を特徴とする付記１１記載の外部サーバ。
【０１２８】
（付記１３）  各ユーザ毎に対話を容易にするための機能を実現する対話用プログラムを格納する対話用データベースと、
前記ネットワークロボット側から送信された個人情報に基づいて対応する対話用プログラムを抽出する対話用プログラム抽出手段と、
抽出された前記対話用プログラムを前記ネットワークロボットに送信する対話用プログラム送信手段と、
を備えたことを特徴とする付記１１記載の外部サーバ。
【０１２９】
（付記１４）  ネットワークを介してネットワークロボットに繋がり、前記ネットワークロボットを、前記ネットワークに繋がった他のネットワークロボットと連携してユーザの要求に応じたサービスを提供させるための外部サーバにおいて、
前記ネットワークに繋がった複数のネットワークロボットの内部情報を含む性能情報及び現在の位置情報を集中管理する管理手段と、
前記ネットワークロボットからの要求に基づいて各ネットワークロボットの前記性能情報を抽出して連携方法を特定し、前記連携方法を含む前記連携情報を前記ネットワークロボットとその連携相手となる他のネットワークロボットに送信する連携情報送信手段と、
を備えたことを特徴とする外部サーバ。
【０１３０】
（付記１５）  前記ネットワークロボットを動作させるためのプログラムを集中管理して格納するための管理用データベースと、
前記ネットワークロボットから暗号化されて送信された、前記ネットワークロボットの固有の構成及び機能の情報を含む内部情報を受信して復号化する情報受信手段と、
前記内部情報を評価して前記ネットワークロボットに必要な追加機能を特定する情報評価手段と、
前記管理用データベースから前記追加機能を実現するための前記追加プログラムを抽出するプログラム抽出手段と、
抽出された前記追加プログラムを暗号化して前記ネットワークロボットに送信するプログラム送信手段と、
を備えたことを特徴とする付記１４記載の外部サーバ。
【０１３１】
（付記１６）  ネットワークを介して外部情報サーバに繋がったネットワークロボットに搭載されて、そのネットワークロボットの機能を追加するための機能追加用プログラムにおいて、
コンピュータを、
前記ネットワークロボットの固有の構成及び機能の情報を含む内部情報を取得する内部情報取得手段、
前記内部情報を暗号化して前記外部情報サーバに送信する情報送信手段、
これに応じて前記外部情報サーバから暗号化されて送信された追加プログラムを受信して復号化するプログラム受信手段、
前記追加プログラムを取得してプログラムを更新するプログラム取得手段、
として機能させることを特徴とする機能追加用プログラム。
【０１３２】
（付記１７）  さらに、前記コンピュータを、前記ネットワークロボットの動作環境を含む外部情報を取得する外部情報取得手段として機能させることができ、
前記情報送信手段が、前記内部情報に併せて前記外部情報を暗号化して前記外部情報サーバに送信すること、
を特徴とする付記１６記載の機能追加用プログラム。
【０１３３】
（付記１８）  さらに、前記コンピュータを、
予め登録されたユーザの個人情報を格納する認証用データベース、
ユーザからの入力情報に基づき、前記認証用データベースを参照して登録したユーザであることを認証する認証手段、
前記認証手段により認証されたユーザの個人情報を前記外部情報サーバに送信するユーザ情報送信手段、
これに応じて前記外部情報サーバから送信された対話用プログラムを実行して前記ユーザとの対話を行う対話手段、
として機能させることを特徴とする付記１６記載の機能追加用プログラム。
【０１３４】
（付記１９）  ネットワークを介して外部管理サーバに繋がったネットワークロボットに搭載されて、前記ネットワークロボットを、前記ネットワークに繋がった他のネットワークロボットと連携してユーザの要求に応じたサービスを提供させるための機能追加用プログラムにおいて、
コンピュータを、
前記ネットワークロボットの固有の構成及び機能の情報を含む内部情報を取得する内部情報取得手段、
前記ネットワークロボットの動作環境を含む外部情報を取得する外部情報取得手段、
前記外部情報を参照しつつ前記内部情報を評価して、前記ユーザが入力した要求情報に従った動作を単独で実現可能か否かを判定する判定手段、
前記要求情報に従った動作が単独で実現不能と判定された場合に、前記要求情報を連携して実現可能な他のネットワークロボットの情報を前記外部管理サーバに要求する連携情報要求手段、
それに応じて前記外部管理サーバから送信された連携情報に基づき、他のネットワークロボットと通信して連携動作する連携動作手段、
として機能させることを特徴とする機能追加用プログラム。
【０１３５】
（付記２０）  さらに、前記コンピュータを、
前記内部情報を暗号化して、前記ネットワークを介して自己に繋がる外部情報サーバに送信する情報送信手段、
これに応じて前記外部情報サーバから暗号化されて送信された追加プログラムを受信して復号化するプログラム受信手段、
前記追加プログラムを取得してプログラムを更新するプログラム取得手段、
として機能させることを特徴とする付記１９記載の機能追加用プログラム。
【０１３６】
（付記２１）  ネットワークを介してネットワークロボットに繋がった外部サーバに搭載されて、そのネットワークロボットの機能を追加するための機能追加用プログラムにおいて、
コンピュータを、
前記ネットワークロボットを動作させるためのプログラムを集中管理して格納するための管理用データベース、
前記ネットワークロボットから暗号化されて送信された、前記ネットワークロボットの固有の構成及び機能の情報を含む内部情報を受信して復号化する情報受信手段、
前記内部情報を評価して前記ネットワークロボットに必要な追加機能を特定する情報評価手段、
前記管理用データベースから前記追加機能を実現するための前記追加プログラムを抽出するプログラム抽出手段、
抽出された前記追加プログラムを暗号化して前記ネットワークロボットに送信するプログラム送信手段、
として機能させることを特徴とする機能追加用プログラム。
【０１３７】
（付記２２）  前記情報受信手段が、前記ネットワークロボットからから暗号化されて送信された、前記ネットワークロボットの動作環境を含む外部情報を受信して復号化し、
前記情報評価手段が、前記外部情報を参照しつつ前記内部情報を評価して、前記ネットワークロボットが所定の動作を実行するために必要な前記追加機能を特定すること、
を特徴とする付記２１記載の機能追加用プログラム。
【０１３８】
（付記２３）  さらに、前記コンピュータを、
各ユーザ毎に対話を容易にするための機能を実現する対話用プログラムを格納する対話用データベース、
前記ネットワークロボット側から送信された個人情報に基づいて対応する対話用プログラムを抽出する対話用プログラム抽出手段、
抽出された前記対話用プログラムを前記ネットワークロボットに送信する対話用プログラム送信手段、
として機能させることを特徴とする付記２１記載の機能追加用プログラム。
【０１３９】
（付記２４）  ネットワークを介してネットワークロボットに繋がった外部サーバに搭載されて、前記ネットワークロボットを、前記ネットワークに繋がった他のネットワークロボットと連携してユーザの要求に応じたサービスを提供させるための機能追加用プログラムにおいて、
コンピュータを、
前記ネットワークに繋がった複数のネットワークロボットの前記内部情報を含む性能情報及び現在の位置情報を集中管理する管理手段、
前記ネットワークロボットからの要求に基づいて各ネットワークロボットの前記性能情報を抽出して連携方法を特定し、前記連携方法を含む前記連携情報を前記ネットワークロボットとその連携相手となる他のネットワークロボットに送信する連携情報送信手段、
として機能させることを特徴とする機能追加用プログラム。
【０１４０】
（付記２５）  さらに、前記コンピュータを、
前記ネットワークロボットを動作させるためのプログラムを集中管理して格納するための管理用データベース、
前記ネットワークロボットから暗号化されて送信された、前記ネットワークロボットの固有の構成及び機能の情報を含む内部情報を受信して復号化する情報受信手段、
前記内部情報を評価して前記ネットワークロボットに必要な追加機能を特定する情報評価手段、
前記管理用データベースから前記追加機能を実現するための前記追加プログラムを抽出するプログラム抽出手段、
抽出された前記追加プログラムを暗号化して前記ネットワークロボットに送信するプログラム送信手段、
として機能させることを特徴とする付記２４記載の機能追加用プログラム。
【０１４１】
（付記２６）  ネットワークを介して外部情報サーバに繋がったネットワークロボットに搭載されて、そのネットワークロボットの機能を追加するための機能追加用プログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータを、
前記ネットワークロボットの固有の構成及び機能の情報を含む内部情報を取得する内部情報取得手段、
前記内部情報を暗号化して前記外部情報サーバに送信する情報送信手段、
これに応じて前記外部情報サーバから暗号化されて送信された追加プログラムを受信して復号化するプログラム受信手段、
前記追加プログラムを取得してプログラムを更新するプログラム取得手段、
として機能させることを特徴とする機能追加用プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１４２】
（付記２７）  前記コンピュータを、
前記ネットワークロボットの固有の構成及び機能の情報を含む内部情報を取得する内部情報取得手段、
前記ネットワークロボットの動作環境を含む外部情報を取得する外部情報取得手段、
前記外部情報を参照しつつ前記内部情報を評価して、前記ユーザが入力した要求情報に従った動作を単独で実現可能か否かを判定する判定手段、
前記要求情報に従った動作が単独で実現不能と判定された場合に、前記要求情報を連携して実現可能な他のネットワークロボットの情報を前記外部管理サーバに要求する連携情報要求手段、
それに応じて前記外部管理サーバから送信された連携情報に基づき、他のネットワークロボットと通信して連携動作する連携動作手段、
として機能させることを特徴とする付記２６記載の機能追加用プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１４３】
（付記２８）  さらに、プログラムが、前記コンピュータを、前記ネットワークロボットの動作環境を含む外部情報を取得する外部情報取得手段として機能させることができ、
前記情報送信手段が、前記内部情報に併せて前記外部情報を暗号化して前記外部情報サーバに送信すること、
を特徴とする付記２６記載の機能追加用プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１４４】
（付記２９）  ネットワークを介してネットワークロボットに繋がった外部サーバに搭載されて、そのネットワークロボットの機能を追加するための機能追加用プログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータを、
前記ネットワークロボットを動作させるためのプログラムを集中管理して格納するための管理用データベース、
前記ネットワークロボットから暗号化されて送信された、前記ネットワークロボットの固有の構成及び機能の情報を含む内部情報を受信して復号化する情報受信手段、
前記内部情報を評価して前記ネットワークロボットに必要な追加機能を特定する情報評価手段、
前記管理用データベースから前記追加機能を実現するための前記追加プログラムを抽出するプログラム抽出手段、
抽出された前記追加プログラムを暗号化して前記ネットワークロボットに送信するプログラム送信手段、
として機能させることを特徴とする機能追加用プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１４５】
（付記３０）  前記情報受信手段が、前記ネットワークロボットからから暗号化されて送信された、前記ネットワークロボットの動作環境を含む外部情報を受信して復号化し、
前記情報評価手段が、前記外部情報を参照しつつ前記内部情報を評価して、前記ネットワークロボットが所定の動作を実行するために必要な前記追加機能を特定すること、
を特徴とする付記２９記載の機能追加用プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１４６】
（付記３１）  ネットワークを介して外部管理サーバに繋がったネットワークロボットに搭載されて、前記ネットワークロボットを、前記ネットワークに繋がった他のネットワークロボットと連携してユーザの要求に応じたサービスを提供させるための機能追加用プログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータを、
前記ネットワークロボットの固有の構成及び機能の情報を含む内部情報を取得する内部情報取得手段、
前記ネットワークロボットの動作環境を含む外部情報を取得する外部情報取得手段、
前記外部情報を参照しつつ前記内部情報を評価して、前記ユーザが入力した要求情報に従った動作を単独で実現可能か否かを判定する判定手段、
前記要求情報に従った動作が単独で実現不能と判定された場合に、前記要求情報を連携して実現可能な他のネットワークロボットの情報を前記外部管理サーバに要求する連携情報要求手段、
それに応じて前記外部管理サーバから送信された連携情報に基づき、他のネットワークロボットと通信して連携動作する連携動作手段、
として機能させることを特徴とする機能追加用プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１４７】
（付記３２）  ネットワークを介して外部情報サーバに繋がったネットワークロボットに対して、その機能を追加提供するネットワークロボットの機能提供方法において、
前記ネットワークロボットが、固有の構成及び機能の情報を含む内部情報を取得し、前記内部情報を暗号化して前記外部情報サーバに送信し、
前記外部情報サーバが、管理用データベースに前記ネットワークロボットを動作させるためのプログラムを集中管理して格納し、前記ネットワークロボットから暗号化されて送信された前記内部情報を受信して復号化し、前記内部情報を評価して前記ネットワークロボットに必要な追加機能を特定し、前記管理用データベースから前記追加機能を実現するための前記追加プログラムを抽出し、抽出された前記追加プログラムを暗号化して前記ネットワークロボットに送信し、
前記ネットワークロボットが、前記外部情報サーバから暗号化されて送信された追加プログラムを受信して復号化し、前記追加プログラムを取得してプログラムを更新することを特徴とするネットワークロボットの機能提供方法。
【０１４８】
（付記３３）  前記ネットワークロボットは、その動作環境を含む外部情報を取得し、前記内部情報に併せて前記外部情報を暗号化して前記外部情報サーバに送信し、
前記外部情報サーバが、前記外部情報を参照しつつ前記内部情報を評価して、前記ネットワークロボットが所定の動作を実行するために必要な前記追加機能を特定すること、
を特徴とする付記３２記載のネットワークロボットの機能提供方法。
【０１４９】
（付記３４）  ネットワークを介して外部管理サーバに繋がった複数のネットワークロボットを連携させて、ユーザの要求に応じたサービスを提供するための機能を補完するネットワークロボットの機能提供方法において、
前記ネットワークロボットが、固有の構成及び機能の情報を含む内部情報を取得し、動作環境を含む外部情報を取得し、前記外部情報を参照しつつ前記内部情報を評価して、前記ユーザが入力した要求情報に従った動作を単独で実現可能か否かを判定し、前記要求情報に従った動作が単独で実現不能と判定された場合に、前記要求情報を連携して実現可能な他のネットワークロボットの情報を前記外部管理サーバに要求し、
前記外部管理サーバが、前記ネットワークに繋がった複数のネットワークロボットの前記内部情報を含む性能情報及び現在の位置情報を集中管理し、前記ネットワークロボットからの要求に基づいて各ネットワークロボットの前記性能情報を抽出して連携方法を特定し、前記連携方法を含む前記連携情報を前記ネットワークロボットとその連携相手となる他のネットワークロボットに送信し、
前記ネットワークロボットが、前記外部管理サーバから送信された連携情報に基づき、他のネットワークロボットと通信して連携動作することを特徴とするネットワークロボットの機能提供方法。
【図面の簡単な説明】
【０１５０】
【図１】本発明の実施の形態に適用される発明の概念図である。
【図２】本発明の実施の形態のシステム構成例を示す図である。
【図３】機能提供システムのハードウェア構成例を示す図である。
【図４】機能提供システムの機能を示すブロック図である。
【図５】ネットワークロボットで情報がまとめられる際に参照されるフォーマット化されたデータの具体例を示す図である。
【図６】ネットワークロボット１が起動時に実行する起動時処理の例を示すフローチャートである。
【図７】外部情報サーバが実行する追加プログラム送信処理の例を示すフローチャートである。
【図８】ネットワークロボットの単独動作処理を示すフローチャートである。
【図９】個人認証・カスタマイズ処理を示すフローチャートである。
【図１０】機能追加・更新処理を示すフローチャートである。
【図１１】ネットワークロボットの連携動作処理を示すフローチャートである。
【図１２】ネットワークロボットの連携処理を示すフローチャートである。
【符号の説明】
【０１５１】
１（１ａ，１ｂ，１ｃ）  ネットワークロボット
２  外部サーバ
２ａ  外部情報サーバ
２ｂ  外部管理サーバ
１０  ネットワーク
１１  内部情報取得手段
１２  情報送信手段
１３  プログラム受信手段
１４  プログラム取得手段
１５  内部情報
２１  管理用データベース
２２  情報受信手段
２３  情報評価手段
２４  プログラム抽出手段
２５  プログラム送信手段
２６  追加プログラム
【図１】
2005319526.tif 000003
【図２】
2005319526.tif 000004
【図３】
2005319526.tif 000005
【図４】
2005319526.tif 000006
【図５】
2005319526.tif 000007
【図６】
2005319526.tif 000008
【図７】
2005319526.tif 000009
【図８】
2005319526.tif 000010
【図９】
2005319526.tif 000011
【図１０】
2005319526.tif 000012
【図１１】
2005319526.tif 000013
【図１２】
2005319526.tif 000014