図1を参照して、本発明の実施形態に係る情報処理システムとしての機器システムについて説明する。図1には、本実施形態に係る機器システムの一例が示されている。
本実施形態に係る機器システムは、一例として、複数の機器(例えば機器10,12)と、サーバ14と、端末装置16と、を含む。図1に示す例では、機器10,12、サーバ14及び端末装置16は、ネットワーク等の通信経路Nを介して互いに通信する機能を有する。もちろん、機器10,12、サーバ14及び端末装置16は、通信経路Nを利用せずに、それぞれ異なる通信経路を介して他の装置と通信してもよい。図1に示す例では、2つの機器(機器10,12)が機器システムに含まれているが、3つ以上の機器が機器システムに含まれていてもよい。また、複数のサーバ14や複数の端末装置16が、機器システムに含まれていてもよい。
機器10,12は機能を有する装置である。予め定められた動作や機能を予め定められた条件下で実行する機器全般が、本実施形態に係る機器の範疇に含まれてもよい。例えば、情報機器、映像機器、音響機器、その他の機器も、本実施形態に係る機器の範疇に含まれてもよい。より具体的には、人型ロボット、人以外の動物型ロボット、それら以外のロボット、画像形成機能を有する画像形成装置、テレビ等の表示装置、記録装置、再生装置、ビデオカメラ等の撮像装置、パーソナルコンピュータ(PC)、スマートフォン、携帯電話、冷蔵庫、炊飯器、電子レンジ、洗濯機、空調機、照明機器、時計、監視カメラ、自動車、自動二輪車、航空機(例えば無人航空機(いわゆるドローン)、ゲーム機器等も、本実施形態に係る機器の範疇に含まれてもよい。
機器10は、例えば、機器10に対するユーザの接触を検知し、その検知結果に応じた情報を提供する機能や、その検知結果や処理実行指示等に従って処理を実行する機能等を有する。機器10は、自装置が有する機能のみを実行してもよいし、他の装置やユーザ等を利用して処理を実行してもよいし、他の装置やユーザ等と連携して処理を実行してもよい。なお、機器10に対するユーザの接触は、接触された機器10自身が検知せずに、他の装置(例えばサーバ14や端末装置16等)が検知してもよい。例えば、機器10の周囲に設置されたカメラによって機器10に対するユーザの接触が撮影され、その撮影画像が他の装置に送信され、当該他の機器において当該撮影画像を解析することで、当該撮影画像からユーザの接触が検知されてもよい。その撮影画像が機器10に送信され、機器10が当該撮影画像を解析することで、機器10に対するユーザの接触を検知してもよい。また、機器10は、機器10においてユーザが接触した部分(接触部分)を検知し、その検知結果に応じた情報を提供してもよいし、その検知結果に応じた処理を実行してもよい。例えば、機器10に複数のセンサが設けられ、機器10の各部に対するユーザの接触が検知されてもよい。別の例として、機器10に対するユーザの接触がカメラによって撮影され、その撮影画像を解析することで、ユーザが接触した部分が検知されてもよい。機器12に対するユーザの接触も、機器10と同様に検知される。
サーバ14は、各機器が有する機能を管理する装置である。例えば、サーバ14は、各機器が有する機能、複数の機器を利用して実行可能な連携機能、等を管理する。サーバは、ユーザ毎に、ユーザによって利用可能な機能を管理してもよい。ユーザによって利用可能な機能は、例えば、ユーザに無償で提供された機能、ユーザに有償で提供されてユーザによって購入された機能、等である。サーバ14は、ユーザ毎に、ユーザが利用可能な機能を示す利用可能機能情報(例えば機能購入履歴情報)を管理してもよい。もちろん、無料で利用可能な機能、追加アップデート機能、管理者によって特別に管理されている機能等もあるため、サーバ14は、一概に購入の有無によって機能を管理しなくてもよい。機能の購入処理は、例えば、サーバ14によって行われる。もちろん、別の装置(例えば機器10,12)によって購入処理が行われてもよい。
端末装置16は、例えば、パーソナルコンピュータ(PC)、タブレットPC、スマートフォン、携帯電話、等の装置である。
本実施形態では、ユーザが機器に接触した場合、その接触に応じた処理が実行される。例えば、ユーザが接触した機器が有する機能が実行されてもよいし、その接触部分を利用する機能(例えば、その接触部分に割り当てられている機能)が実行されてもよいし、機器が有する機能や接触部分に割り当てられている機能を示す情報が、端末装置16等に表示されてもよい。また、ユーザが複数の機器に接触した場合、当該複数の機器を利用する連携機能が実行されてもよいし、ユーザが接触した複数の部分を利用する連携機能(例えば、各部分に割り当てられている機能を利用する連携機能)が実行されてもよいし、その連携機能を示す情報が端末装置16等に表示されてもよい。ユーザが同一機器において複数の部分に接触した場合、当該複数の部分を利用する連携機能が実行されてもよいし、その連携機能を示す情報が表示されてもよい。
以下、機器システムに含まれる各機器について詳しく説明する。
図2には、機器10の一例としてロボットの外観が示されている。図2に示す例では、機器10はロボットとして示されているが、機器10は、人型以外の動物型ロボットであってもよいし、その他の機器であってもよい。以下では、機器10をロボット10と称する場合がある。
図2に示す例では、ロボット10は、胴体部18と、胴体部18上に設けられた頭部20と、胴体部18の下部に設けられた脚部22と、胴体部18の両側部にそれぞれ設けられた腕部24と、各腕部24の先端に設けられた手部26と、を含む。
ロボット10は、例えば、視覚センサ、聴覚センサ、触覚センサ、味覚センサ及び嗅覚センサの中の少なくとも1つのセンサを有し、人の五感に相当する視覚、聴覚、触覚、味覚及び嗅覚の中の少なくとも1つの感覚に関する能力を有していてもよい。ロボット10は、例えば、触覚に関して、表在感覚(触覚、痛覚、温度覚等)、深部覚(圧覚、位置覚、振動覚等)、皮質性感覚(二点識別覚、立体識別能力等)を分別して理解する能力を有していてもよい。また、ロボットは、平衡感覚を有していてもよい。例えば、頭部20にカメラ28等のセンサが設けられており、視覚は、カメラ28等によって得られた画像を用いた画像認識によって実現される。また、ロボット10にマイク等の集音装置が設けられており、聴覚は、マイクによって得られた音を用いて音声認識によって実現される。
ロボット10は、人の脳波を検知する機能(例えば、人に脳波検知デバイスが設けられており、脳波検知デバイスから発信される脳波情報を受信して脳波を解析する機能)を有していてもよい。
脚部22は移動手段の一例に相当し、例えば、モータ等の駆動源からの駆動力によって駆動するようになっている。ロボット10は、脚部22によって移動できる。脚部22は、人の足のような形状を有していてもよいし、ローラやタイヤ等であってもよいし、別の形状を有していてもよい。脚部22は移動手段の一例に過ぎず、ロボット10は、脚部22以外の移動手段として、例えば、飛行するための構成(例えばプロペラ、羽、飛行用のエンジン等)を備えていてもよいし、水中を移動するための構成(例えば水中移動用のエンジン等)を備えていてもよい。つまり、ロボット10は、移動手段として、陸上を移動するための手段、飛行するための手段、及び、水中を移動するための手段の中の少なくとも1つの手段を備えていればよい。もちろん、ロボット10は、移動手段を備えていなくてもよい。
ロボット10は、腕部24や手部26によって、物体を掴んだり操作したりする能力を有していてもよい。ロボット10は、物体を掴んだり抱えたりしながら移動する能力を有していてもよい。
ロボット10は、音声を発生する機能を有していてもよい。ロボット10は、通信機能を有し、他の装置との間でデータを送受信してもよい。例えば、ロボット10は、インターネット等に接続して情報を受信したり、情報を送信したりしてもよいし、インターネット等を利用して検索を行ってもよい。ロボット10は、音の発生や通信メッセージの送信等によって、人や他の装置や他のロボットとコミュニケーションを取る能力を有していてもよい。
ロボット10は、例えば、人工知能(AI)による機械学習によって、人に近い判断を行う能力を有していてもよい。また、ニューラルネットワーク型のディープラーニングが利用されてもよいし、部分的に学習分野を強化する強化学習等が利用されてもよいし、その他、遺伝的アルゴリズム、クラスタ分析、自己組織化マップ、アンサンブル学習、等が利用されてもよい。もちろん、これら以外の人工知能に関する技術が利用されてもよい。
ロボット10は、通信機能によって他の機器と通信し、他の機器の動作を制御してもよいし、リモコン等を利用して他の機器を操作してもよいし、リモコン等を利用せずに他の機器を直接操作してもよい。直接操作として、ロボット10は、他の機器に設けられている操作部(例えばボタンやパネル等)を操作してもよい。通信によって他の機器の動作を制御できない場合、ロボット10は、リモコン等を利用して他の機器を操作してもよいし、他の機器を直接操作してもよい。ロボット10は、視覚センサによって得られた画像を解析することで、他の機器の操作部やリモコン等を識別して、他の機器やリモコンを操作してもよい。
また、ロボット10は、UI部30(ユーザインターフェース部)を有していてもよい。UI部30は、表示部と操作部を含む。表示部は、例えば液晶ディスプレイ等の表示装置である。操作部は、例えばタッチパネルやキーボード等の入力装置である。UI部30は、表示部と操作部を兼ねたユーザインターフェース(例えば、タッチ式のディスプレイや、ディスプレイ上に電子的にキーボード等を表示する装置等を含む)であってもよい。UI部30の表示部には、各種の画像やメッセージ等が表示される。また、ロボット10は、投影装置を備えて、各種の画像やメッセージ等を他の物体に投影してもよい。例えば、テーブルや壁等に画像等が投影されて表示される。
以下、図3を参照して、ロボット10の構成について詳しく説明する。図3は、ロボット10の構成を示すブロック図である。
通信部32は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を有する。通信部32は、無線通信機能を有する通信インターフェースであってもよいし、有線通信機能を有する通信インターフェースであってもよい。通信部32は、例えば、1又は複数の種類の通信方式に対応しており、通信相手に適した通信方式(つまり、通信相手が対応している通信方式)に従って通信相手と通信してもよい。通信方式は、例えば、赤外線通信、可視光通信、Wi−Fi(登録商標)通信、近距離無線通信(例えばBluetooth(ブルートゥース)(登録商標)、RFID(Radio Frequency Identifier)等)、等である。通信部32は、例えば、通信相手に応じて通信方式を切り替えてもよいし、周囲の環境(例えばロボット10と通信相手との間の距離や、ロボット10と通信相手との間の障害物の有無等)に応じて通信方式を切り替えてもよい。また、通信の周波数帯として、例えば、800MHz〜920MHz(LPWA(Low Power Wide Area)等)といった短波長帯、2.4GHz、5GHz(MulTEfire)といった長波長、等が利用されてもよい。通信部32は、例えば、通信相手に応じて周波数帯を切り替えてもよいし、周囲の環境に応じて通信方式を切り替えてもよい。
記憶部34はハードディスクやメモリ(例えばSSD等)等の記憶装置である。記憶部34には、例えば各種のデータや各種のプログラム等が記憶されている。また、他の機器のアドレスを示す情報(アドレス情報)、サーバ14のアドレスを示す情報(アドレス情報)、端末装置16のアドレスを示す情報(アドレス情報)等が記憶部34に記憶されていてもよい。上記の情報は、それぞれ別々の記憶装置に記憶されてもよいし、同じ記憶装置に記憶されてもよい。
状況収集部36は、各種センサによって、ロボット10に対する接触や周囲の状況に関する情報を収集する機能を備えている。センサとして、上述した、視覚センサ、聴覚センサ、触覚センサ、味覚センサ、嗅覚センサ、等が用いられる。
状況収集部36は、例えば、触覚センサによって、ロボット10に対するユーザの接触を検知する。触覚センサとして、感圧式センサや静電容量色センサ等が用いられる。例えば、ロボット10の各部分(例えば、胴体部18、頭部20、脚部22、腕部24、手部26等)に接触センサが設けられ、状況収集部36は、各部分に設けられた接触センサによって、ロボット10においてユーザが接触した部分を検知する。また、状況収集部36は、ロボット10が有する視覚センサ(例えばカメラ)によって、ロボット10においてユーザが接触した部分を検知してもよい。別の例として、周囲に設置されたカメラがロボット10を撮影し、その撮影画像がサーバ14やロボット10等の装置によって解析されることで、ユーザが接触した部分が特定されてもよい。
また、状況収集部36は、聴覚センサによって、ロボット10の周囲の音(例えば人の会話や物音等)のデータ(音声データ)を収集してもよいし、視覚センサによって、ロボット10の周囲の画像(例えば動画像や静止画像)のデータを収集してもよい。これら以外のセンサによって、ロボット10の周囲の状況に関する情報が収集されてもよい。
なお、ロボット10以外の装置やセンサ等によって、ロボット10へのユーザの接触が検知されてもよいし、ロボット10の周囲の状況を示す音声データや画像データが収集されてもよい。
上記のロボット10は機器の一例に過ぎず、ロボット以外の機器においても当該機器の各部分に接触センサが設けられ、当該機器の各部分に設けられた接触センサによって、ユーザが接触した部分が検知される。その検知は、例えば、当該機器に設けられた状況収集部36によって行われる。つまり、ロボット以外の機器としての画像形成装置やPC等においても、ユーザが接触した部分が検知される。また、上記のように、撮影画像を解析することで、ユーザが接触した部分が検知されてもよい。
移動部38は、陸上を移動するための手段、飛行するための手段、及び、水中を移動するための手段の中の少なくとも1つの手段によって、ロボット10を移動させる機能を有する。図1に示す例では、移動部38は、脚部22によって構成される。もちろん、ロボット10は移動部38を備えていなくてもよい。
作業部40は、ロボット10以外の機器を操作したり、物体を持ち上げたり、物体を移動させたりする機能を有する。図1に示す例では、作業部40は、腕部24及び手部26によって構成される。もちろん、ロボット10は作業部40を有していなくてもよい。
UI部42は、図1に示されているUI部30に相当する。
制御部44は、ロボット10の各部の動作を制御する機能を有する。制御部44は、例えば、知能部としての人工知能(AI)を有しており、ロボット10の各部の機能は、その人工知能によって制御されてもよい。
以下、図4を参照して、サーバ14の構成について詳しく説明する。図4は、サーバ14の構成を示すブロック図である。
通信部46は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を有する。通信部46は、無線通信機能を有する通信インターフェースであってもよいし、有線通信機能を有する通信インターフェースであってもよい。
記憶部48はハードディスクやメモリ(例えばSSD等)等の記憶装置である。記憶部48には、例えば、機器機能管理情報50、連携機能管理情報52、各種のデータ、各種のプログラム、各機器のアドレスを示す情報、サーバ14のアドレスを示す情報、端末装置16のアドレスを示す情報、等が記憶されている。もちろん、それらは別々の記憶装置に記憶されてもよいし、1つの記憶装置に記憶されてもよい。記憶部48に記憶されている機器機能管理情報50や連携機能管理情報52が、定期的に又は指定されたタイミングで機器10,12や端末装置16に提供され、これにより、機器10,12や端末装置16に記憶されている情報が更新されてもよい。以下、機器機能管理情報50と連携機能管理情報52について説明する。
機器機能管理情報50は、各機器が有する機能を管理するための情報であり、例えば、ユーザが接触した機器を識別するためのデバイス識別情報(機器識別情報)と、当該機器が有する機能を示す機能情報と、の対応付けを示す情報である。デバイス識別情報は、例えば、機器ID、機器名称、機器の種類を示す情報、機器の型番号、機器を管理するための情報(例えば資産管理番号等)、機器が設置されている位置を示す情報(機器の位置情報)、機器に紐付く機器画像、機器のアドレス情報、等である。機器画像は、例えば機器を表す外観画像である。外観画像は、機器の外側(例えば機器の筐体)を表す画像であってもよいし、筐体を開けて内部が外から見える状態(例えば内部構造)を表す画像であってもよいし、梱包用のシート等によって機器が覆われている状態を表す画像であってもよい。機器画像は、機器を撮影することで生成された画像(機器の外側を表す画像や内部を表す画像等)であってもよいし、機器を模した画像(例えばアイコン等)であってもよい。機能情報は、例えば、機能IDや機能名称等である。機器機能管理情報50を参照することで、各機器が有する機能が特定(識別)される。
機器機能管理情報50によって管理されている機器は、例えば機器システムに含まれる機器(例えば機器10,12)である。もちろん、機器システムに含まれない機器が機器機能管理情報50によって管理されてもよい。例えば、サーバ14は、機器システムに含まれていない新たな機器に関する情報(デバイス識別情報と機能情報とを含む情報)を取得し、機器機能管理情報50に新たに登録してもよい。機器に関する情報は、例えば、インターネット等を利用することで取得されてもよいし、管理者等によって入力されてもよい。また、サーバ14は、任意のタイミング、定期的、又は、管理者等によって指定されたタイミング等で、機器機能管理情報50を更新してもよい。これにより、更新前には機器が有していなかったが更新後には機器が有することになった機能を示す機能情報が、機器機能管理情報50に登録される場合がある。同様に、更新前には機器が有していたが更新後には機器が有していない機能を示す機能情報が、機器機能管理情報50から削除され、又は、使用不可な情報として登録される場合がある。更新用の情報は、例えば、インターネット等を利用することで取得されてもよいし、管理者等によって入力されてもよい。
連携機能管理情報52は、複数の機能を連携させることによって実行される連携機能を管理するための情報である。複数の機能を連携させることによって、1又は複数の連携機能が実行される。連携機能は、例えば、1つの機器が有する複数の機能を連携させることによって実行されてもよいし、複数の機器が有する複数の機能を連携させることによって実行されてもよい。
連携機能は、ハードウェアとしての機器を利用せずに実行される機能であってもよい。例えば、連携機能は、複数のソフトウェアを連携させることによって実行される機能であってもよい。もちろん、連携機能は、ハードウェアとしての機器が有する機能と、ソフトウェアによって実現される機能と、を連携させることによって実行される機能であってもよい。
連携機能管理情報52は、例えば、連携機能に利用される各機能を示す機能情報の組み合わせと、当該連携機能を示す連携機能情報と、の対応付けを示す情報である。連携機能情報は、例えば、連携機能IDや連携機能名称等である。単独の機能が更新された場合、その更新に伴って連携機能管理情報52も更新される。これにより、更新前には互いに連携不可能であった複数の機能による連携機能が更新後には利用可能になる場合がある。それとは逆に、更新前には利用可能な連携機能が更新後には利用不可能になる場合がある。更新後に利用可能になった連携機能を示す連携機能情報が、連携機能管理情報52に登録され、更新後に利用不可能になった連携機能を示す連携機能情報が、連携機能管理情報52から削除され、又は、使用不可な情報として登録される。
複数の機器を連携させる場合、連携機能管理情報52は、ユーザが接触した複数の機器が有する複数の機能を利用する連携機能を管理するための情報であり、連携機能に利用される各機器を識別するためのデバイス識別情報の組み合わせと、連携機能情報と、の対応付けを示す情報である。上記のように、機器機能管理情報50が更新された場合、その更新に伴って、連携機能管理情報52も更新される。これにより、更新前には互いに連携不可能であった複数の機器による連携機能が更新後には利用可能になる場合がある。それとは逆に、更新前には利用可能な連携機能が更新後には利用不可能になる場合がある。
連携機能は、互いに異なる複数の機能を連携させることによって実行される機能であってもよいし、同一の機能を連携させることによって実行される機能であってもよい。連携機能は、連携前には利用できなかった機能であってもよい。連携前には利用できなかった機能は、連携対象の機器が有する機能のうち、同じ機能を利用することによって利用できる機能であってもよいし、互いに異なる機能を組み合わせることによって利用できる機能であってもよい。例えば、プリント機能を有する機器(プリンタ)とスキャン機能を有する機器(スキャナ)を連携させることにより、連携機能としてのコピー機能が実現される。すなわち、プリント機能とスキャン機能を連携させることにより、コピー機能が実現される。この場合、連携機能としてのコピー機能と、プリント機能及びスキャン機能の組み合わせと、が対応付けられている。連携機能管理情報52においては、例えば、連携機能としてのコピー機能を示す連携機能情報と、プリント機能を有する機器を識別するためのデバイス識別情報及びスキャン機能を有する機器を識別するためのデバイス識別情報の組み合わせと、が対応付けられる。
連携機能の概念の範疇には、複数の機能や複数の機器を連携させることで新たな機能の実行が可能となる合体機能が含まれてもよい。例えば、複数のディスプレイを組み合わせることで、合体機能としての拡張表示機能が実現されてもよい。別の例として、テレビとレコーダを組み合わせることで、合体機能としての録画機能が実現されてもよい。その録画機能は、テレビに表示されている画像を録画する機能であってもよい。また、複数のカメラを組み合わせることで、合体機能としての撮影領域拡張機能が実現されてもよい。その拡張機能は、例えば各カメラの撮影領域を繋ぎ合せて撮影する機能である。また、電話と翻訳機や翻訳ソフトを組み合わせることで、合体機能としての翻訳通話機能(電話を介した会話が翻訳される機能)が実現されてもよい。このように、連携機能の概念の範疇には、互いに同一の種類の機器や機能を連携させることで実行可能となる機能や、互いに異なる種類の機器や機能を連携させることで実行可能となる機能が含まれる。
なお、記憶部48には、利用可能機能管理情報が記憶されていてもよい。利用可能機能管理情報は、各ユーザが利用可能な機能を管理するための情報であり、例えば、ユーザを識別するためのユーザ識別情報と、当該ユーザが利用可能な機能を示す機能情報(連携機能情報を含んでいてもよい)と、の対応付けを示す情報である。ユーザが利用可能な機能は、上述したように、例えば、ユーザに無償で提供された機能や、ユーザが購入した機能、等であり、単体の機能であってもよいし、連携機能であってもよい。ユーザ識別情報は、例えば、ユーザIDや氏名等のユーザアカウント情報である。利用可能機能管理情報を参照することにより、各ユーザが利用可能な機能が特定(識別)される。利用可能機能管理情報は、例えば、ユーザに機能が提供される度に(例えば、ユーザに無償又は有償で機能が提供される度に)更新される。
制御部54は、サーバ14の各部の動作を制御する。また、制御部54は、特定部56と実行制御部58を含む。
特定部56は、ユーザが接触した機器を識別するためのデバイス識別情報や、ユーザが接触した機器の部分を識別するための部分識別情報を受け、記憶部48に記憶されている機器機能管理情報50において当該デバイス識別情報に対応付けられている機能や、当該部分識別情報に対応付けられている機能を特定する機能を有する。これにより、機器が有する機能や、機器の部分に割り当てられている機能が特定される。例えば、ユーザが接触した機器からサーバ14にデバイス識別情報や部分識別情報が送信され、特定部56は、それらの情報を用いて機能を特定する。特定部56によって特定された機能に関する情報は、例えばサーバ14から、ユーザが接触した機器や端末装置16に送信され、その機器や端末装置16に表示されてもよいし、その機能が実行されてもよい。
また、ユーザが複数の機器に接触した場合、特定部56は、各機器を識別するためのデバイス識別情報や、ユーザが接触した部分を識別するための部分識別情報を受け、記憶部48に記憶されている連携機能管理情報52において各デバイス識別情報の組み合わせに対応付けられている連携機能や、各部分識別情報の組み合わせに対応付けられている連携機能を特定する。これにより、連携対象の各機器が有する機能を連携させることによって実行される連携機能が特定(識別)される。例えば、ユーザが接触した機器からサーバ14にデバイス識別情報や部分識別情報が送信され、特定部56は、機器から送られてきた情報を用いて連携機能を特定する。特定部56によって特定された機能に関する情報は、例えばサーバ14から機器や端末装置16に送信され、その機器や端末装置16に表示されてもよいし、その連携機能が実行されてもよい。
例えば、ユーザが1つの機器に接触した場合、特定部56は、当該機器を識別するためのデバイス識別情報を受け、機器機能管理情報50において当該デバイス識別情報に対応付けられている機能を特定してもよい。これにより、ユーザが1つの機器に接触した場合、当該機器が有する機能が特定(識別)される。ユーザが複数の機器に接触した場合、特定部56は、当該複数の機器に含まれる各機器を識別するためのデバイス識別情報を受け、連携機能管理情報52において各デバイス識別情報の組み合わせに対応付けられている連携機能を特定してもよい。これにより、ユーザが複数の機器に接触した場合、当該複数の機器が有する機能を利用する連携機能が特定(識別)される。
なお、ユーザが利用可能な機能が管理されている場合、特定部56は、ユーザを識別するためのユーザ識別情報を受け、記憶部48に記憶されている利用可能機能管理情報において当該ユーザ識別情報に対応付けられている各機能を特定してもよい。例えば、端末装置16からサーバ14にユーザ識別情報が送信され、特定部56によって、当該ユーザ識別情報に対応付けられている各機能が特定される。ユーザが利用可能な各機能に関する情報(例えば各機能の名称を示す情報)は、例えばサーバ14から端末装置16に送信されて端末装置16に表示されてもよい。これにより、ユーザ識別情報によって特定されるユーザが利用可能な各機能に関する情報が、端末装置16に表示される。例えば、特定部56は、デバイス識別情報とユーザ識別情報を受け、機器機能管理情報50において当該デバイス識別情報に対応付けられている機能を特定し、また、利用可能機能管理情報において当該ユーザ識別情報に対応付けられている機能を特定する。これにより、当該デバイス識別情報によって特定される機器が有する機能であって、当該ユーザ識別情報によって特定されるユーザが利用可能な機能が特定される。
実行制御部58は、特定部56によって特定された機能を、ユーザが接触した機器に実行させる機能を有する。ユーザが複数の機器に接触して連携機能が特定された場合、実行制御部58は、当該複数の機器に連携機能を実行させる。
制御部54は、機能の購入処理を実行し、その購入の履歴を管理してもよい。例えば、有料の機能がユーザによって購入された場合、制御部54は、当該ユーザに対して課金処理を適用してもよい。
以下、図5を参照して、端末装置16の構成について詳しく説明する。図5は、端末装置16の構成を示すブロック図である。
通信部60は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を有する。通信部60は、無線通信機能を有する通信インターフェースであってもよいし、有線通信機能を有する通信インターフェースであってもよい。通信部60は、例えば、1又は複数の種類の通信方式に対応しており、通信相手に適した通信方式(つまり、通信相手が対応している通信方式)に従って通信相手と通信してもよい。通信方式は、例えば、赤外線通信、可視光通信、Wi−Fi通信、近接無線通信等である。通信部60は、例えば、通信相手に応じて通信方式や周波数帯域を切り替えたり、周囲の環境に応じて通信方式や周波数帯域を切り替えたりしてもよい。
記憶部62はハードディスクやメモリ(例えばSSD等)等の記憶装置であり、各種のプログラム、各種のデータ、サーバ14のアドレスを示す情報、各機器のアドレスを示す情報(例えば機器10,12のアドレス情報)、識別された機器に関する情報、識別された連携対象の機器に関する情報、識別された機器が有する機能に関する情報、連携機能に関する情報、等を記憶する。
UI部64はユーザインターフェース部であり、表示部と操作部を含む。表示部は、例えば液晶ディスプレイ等の表示装置である。操作部は、例えば、タッチパネル、キーボード、マウス、等の入力装置である。もちろん、表示部と操作部を兼ねたユーザインターフェース(例えばタッチ式のディスプレイや、ディスプレイ上に電子的にキーボード等を表示するものを含む)であってもよい。
制御部66は、端末装置16の各部の動作を制御する。制御部66は、例えば、機器10,12やサーバ14等から端末装置16に送信されてきた情報をUI部64に表示させる。
上述した機器機能管理情報50は、端末装置16の記憶部62に記憶されていてもよい。この場合、機器機能管理情報50は、サーバ14の記憶部48に記憶されていなくてもよい。同様に、上述した連携機能管理情報52は、端末装置16の記憶部62に記憶されていてもよい。この場合、連携機能管理情報52は、サーバ14の記憶部48に記憶されていなくてもよい。端末装置16の制御部66は、上述した特定部56と実行制御部58を有し、機器が有する機能や連携機能を特定してもよいし、機器による機能の実行を制御してもよい。この場合、サーバ14は特定部56と実行制御部58を有していなくてもよい。
利用可能機能管理情報が作成されている場合、その利用可能機能管理情報は、端末装置16の記憶部62に記憶されていてもよい。この場合、利用可能機能管理情報は、サーバ14の記憶部48に記憶されていなくてもよい。端末装置16の制御部66は、ユーザによる機能の購入の履歴を管理してもよい。この場合、サーバ14の制御部54は、その管理機能を有していなくてもよい。端末装置16の制御部66は、ユーザ識別情報に基づいて、ユーザによって利用可能な機能を特定してもよい。
機器10,12等の機器に、機器機能管理情報50や連携機能管理情報52が記憶されていてもよいし、機器10,12等の機器が特定部56や実行制御部58を有していてもよい。つまり、サーバ14の特定部56による処理や実行制御部58による処理は、サーバ14において行われてもよいし、端末装置16において行われてもよいし、機器10,12等の機器において行われてもよい。
以下、本実施形態に係る機器システムについて更に詳しく説明する。
図6を参照して、機器機能管理情報50について詳しく説明する。図6には、機器機能管理情報50の一例としての単独機能管理テーブルが示されている。この単独機能管理テーブルは、機器が有する機能を単独機能として管理するための情報である。この単独機能管理テーブルにおいては、一例として、機器に紐付く機器IDと、その機器の名称を示す情報と、その機器が有する機能(単独機能)を示す情報と、が互いに対応付けられている。機器IDと機器名はデバイス識別情報の一例に相当する。例えば、機器IDが「A」の機器はロボット10であり、持ち上げ機能(物体を持ち上げる機能)、移動機能、操作機能、メンテナンス機能、等の機能を有する。
例えば、ユーザが機器に接触した場合、当該機器によってその接触が検知され、当該機器に紐付くデバイス識別情報(例えば機器ID)が、当該機器からサーバ14に送信される。特定部56は、単独機能管理テーブルにおいて、そのデバイス識別情報に対応付けられている機能を特定する。これにより、ユーザが接触した機器が有する機能が特定される。特定された機能を示す情報がサーバ14から端末装置16に送信されて、端末装置16のUI部64に表示されてもよいし、その情報がサーバ14から、ユーザが接触した機器に送信されて、その機器に表示されてもよい。機能を示す情報が表示された端末装置16や機器において、ユーザが機能の実行指示を与えた場合、ユーザが接触した機器が、その機能を実行する。また、特定された機能が実行制御部58の制御の下、実行されてもよい。
図7には、別の単独機能管理テーブルが示されている。この単独機能管理テーブルは、機器が有する機能を単独機能として管理するための情報である。この単独機能管理テーブルにおいては、一例として、機器に紐付く機器IDと、その機器の名称を示す情報と、その機器の部分を示す情報(例えば名称)と、その部分のIDと、その部分に割り当てられている機能(例えば、その部分を利用して実行可能な機能)を示す情報と、が互いに対応付けられている。部分IDは部分識別情報の一例に相当する。例えば、機器IDが「A」の機器はロボット10(ロボット(A1))であり、腕部に割り当てられている機能(腕部を利用して実行可能な機能)は、持ち上げ機能である。
例えば、ユーザが機器に接触した場合、当該機器によって、ユーザが接触した部分が検知され、当該機器に紐付くデバイス識別情報(例えば機器ID)と、ユーザが接触した部分に紐付く部分識別情報(例えば部分ID)が、当該機器からサーバ14に送信される。特定部56は、単独機能管理テーブルにおいて、そのデバイス識別情報とその部分識別情報とに対応付けられている機能を特定する。これにより、ユーザが接触した部分を利用して実行可能な機能が特定される。特定された機能を示す情報がサーバ14から端末装置16に送信されて、端末装置16のUI部64に表示されてもよいし、その情報がサーバ14から、ユーザが接触した機器に送信されて、その機器に表示されてもよい。機能を示す情報が表示された端末装置16や機器において、ユーザが機能の実行指示を与えた場合、ユーザが接触した機器が、その機能を実行する。また、特定された機能が実行制御部58の制御の下、実行されてもよい。
以下、図8を参照して、連携機能管理情報52について詳しく説明する。図8には、連携機能管理情報52の一例としての連携機能管理テーブルが示されている。この連携機能管理テーブルは、複数の機器を利用して実行可能な機能を連携機能として管理するための情報である。この連携機能管理テーブルにおいては、一例として、機器IDの組み合わせと、連携対象の複数の機器の名称を示す情報と、当該複数の機器を利用して実行可能な連携機能を示す情報と、が互いに対応付けられている。例えば、機器IDが「B」の機器はPC(パーソナルコンピュータ)であり、機器IDが「C」の機器は複合機である。PC(B)と複合機Cを連携させることで、連携機能として、例えば「スキャン転送機能」や「プリント機能」が実現される。「スキャン転送機能」は、複合機Cによるスキャンによって生成された画像データをPC(B)に転送する機能である。「プリント機能」は、PC(B)に保存されているデータ(例えば画像データや文書データ)を複合機Cに送信して複合機Cにて印刷する機能である。
例えば、ユーザが複数の機器に接触した場合、個々の機器によって各接触が検知され、個々の機器に紐付くデバイス識別情報(例えば機器ID)が、各機器からサーバ14に送信される。特定部56は、連携機能管理テーブルにおいて、複数のデバイス識別情報の組み合わせに対応付けられている連携機能を特定する。これにより、ユーザが接触した複数の機器を利用して実行可能な連携機能が特定される。特定された連携機能を示す情報がサーバ14から端末装置16に送信されて、端末装置16のUI部64に表示されてもよいし、その情報がサーバ14から、ユーザが接触した各機器に送信されて、各機器に表示されてもよい。連携機能を示す情報が表示された端末装置16や機器において、ユーザが連携機能の実行指示を与えた場合、ユーザが接触した複数の機器が、その連携機能を実行する。また、その特定された連携機能が、実行制御部58の制御の下、実行されてもよい。複数の連携機能が特定された場合、当該複数の連携機能の中の予め定められた連携機能が実行されてもよいし、実行対象の連携機能をユーザに問い合わせてもよい。
例えば、ユーザが、PC(B)と複合機Cに接触した場合、それぞれの機器においてその接触が検知され、PC(B)の機器IDと複合機Cの機器IDが、それぞれの機器からサーバ14に送信される。サーバ14においては、特定部56が、連携機能管理テーブルにおいて、PC(B)と複合機Cとの組み合わせに対応付けられている連携機能(「スキャン転送機能」、「プリント機能」等)を特定する。その連携機能を示す情報が、サーバ14から端末装置16やPC(B)や複合機Cに送信されて表示される。この場合、端末装置16等においてユーザが連携機能を選択して実行指示を与えた場合、PC(B)と複合機Cは、ユーザによって選択された連携機能を実行する。例えば、ユーザによって連携機能「スキャン転送機能」が選択された場合、PC(B)と複合機Cは、連携機能「スキャン転送機能」を実行する。
図9には、別の連携機能管理テーブルが示されている。この連携機能管理テーブルは、複数の機器を利用して実行可能な機能を連携機能として管理するための情報である。この連携機能管理テーブルにおいては、一例として、機器IDの組み合わせと、連携対象の複数の機器の部分の組み合わせを示す情報(名称や部分ID)と、当該複数の部分を利用して実行可能な連携機能を示す情報と、が互いに対応付けられている。例えば、ロボット(A1)の手部とロボット(A2)の手部とを連携させることで、連携機能として、「握手機能」(ロボット同士が握手する機能)が実現される。また、PC(B)の表示部と複合機Cの本体部とを連携させることで、連携機能として、例えば、「プリント機能」が実現される。「プリント機能」は、PC(B)に保存されているデータを複合機Cに送信して複合機Cにて印刷する機能である。
例えば、ユーザが複数の機器に接触した場合、個々の機器によって、ユーザによって接触された部分が検知され、個々の機器に紐付くデバイス識別情報(例えば機器ID)と、ユーザが接触した部分に紐付く部分識別情報(例えば部分ID)が、各機器からサーバ14に送信される。特定部56は、連携機能管理テーブルにおいて、複数のデバイス識別情報と複数の部分識別情報とに対応付けられている連携機能を特定する。これにより、ユーザが接触した複数の部分を利用して実行可能な連携機能が特定される。特定された連携機能を示す情報がサーバ14から端末装置16に送信されて、端末装置16のUI部64に表示されてもよいし、その情報がサーバ14から、ユーザが接触した各機器に送信されて、各機器に表示されてもよい。連携機能を示す情報が表示された端末装置16や機器において、ユーザが連携機能の実行指示を与えた場合、ユーザが接触した複数の機器が、その連携機能を実行する。また、その特定された連携機能が、実行制御部58の制御の下、実行されてもよい。複数の連携機能が特定された場合、当該複数の連携機能の中の予め定められた連携機能が実行されてもよいし、実行対象の連携機能をユーザに問い合わせてもよい。
例えば、ユーザが、PC(B)の表示部Baと複合機Cの本体部Caに接触した場合、それぞれの機器にてその接触が検知され、PC(B)の機器ID、表示部Baの部分ID、複合機Cの機器ID、及び、本体部Caの部分IDが、それぞれの機器からサーバ14に送信される。サーバ14においては、特定部56が、連携機能管理テーブルにおいて、PC(B)の表示部Baと複合機Cの本体部Caとの組み合わせに対応付けられている連携機能「プリント機能」を特定する。その連携機能「プリント機能」を示す情報が、サーバ14から端末装置16やPC(B)や複合機Cに送信されて表示されてもよい。この場合、端末装置16等においてユーザによって連携機能「プリント機能」の実行指示が与えられた場合、PC(B)と複合機Cは連携機能「プリント機能」を実行する。また、連携機能「プリント機能」が特定された場合、実行制御部58の制御の下、PC(B)と複合機Cは連携機能「プリント機能」を実行してもよい。
以下、連携機能を実行するときの処理について説明する。まず、ユーザが複数の機器(例えばPC(B)と複合機C)に接触することで、サーバ14の特定部56によって、当該複数の機器が識別され、更に、当該複数の機器を利用して実行可能な連携機能が特定される。次に、サーバ14は、ユーザが接触した複数の機器に実行指示を示す情報を送信する。実行指示情報には、特定部56によって特定された連携機能を示す情報と、ユーザが接触した各機器に関する情報(例えば、各機器のデバイス識別情報、アドレス情報等を含む)が含まれる。実行指示情報を受けたPC(B)と複合機Cは、実行指示情報に従って機能を実行する。例えば、PC(B)は、実行指示情報に含まれる複合機Cのデバイス識別情報やアドレス情報を利用することで、複合機Cに接続要求を示す情報を送信し、複合機Cは、実行指示情報に含まれるPC(B)のデバイス識別情報やアドレス情報を利用することで、PC(B)に接続要求を示す情報を送信する。これにより、PC(B)と複合機Cとの間で通信が確立される。そして、PC(B)と複合機Cは、その通信が確立した状態で、互いに情報を送受信しながら、実行指示に従って連携機能を実行する。
以下、具体例を挙げて本実施形態に係る機器システムの動作について説明する。
(具体例1)
図10及び図11には、具体例1が示されている。例えば、機器として、ロボットA1,A2が用いられるものとする。具体例1では、ユーザによって接触された機器が検知され、更に、その機器においてユーザによって接触された部分も検知されるものとする。
図10に示すように、ユーザがロボットA1の手部(左手)26aに接触し、ロボットA2の手部(右手)26bに接触したものとする。この場合、それぞれの機器においてユーザによる接触が検知され、その検知結果を示す情報がサーバ14に送信される。具体的には、ロボットA1を示す機器IDとロボットA1の手部26aを示す部分IDが、ロボットA1からサーバ14に送信され、ロボットA2を示す機器IDとロボットA2の手部26bを示す部分IDが、ロボットA2からサーバ14に送信される。
サーバ14においては、特定部56が、例えば図9に示されている連携機能管理テーブルにおいて、ロボットA1,A2の手部の組み合わせに対応付けられている連携機能「握手機能」を特定する。
サーバ14の実行制御部58は、連携機能「握手機能」の実行指示を示す情報をロボットA1,A2に送信する。その実行指示情報には、連携機能「握手機能」を示す情報、ロボットA1,A2のそれぞれのデバイス識別情報、及び、ロボットA1,A2のそれぞれのアドレス情報が含まれる。なお、各機器(例えばロボットA1,A2)のアドレス情報は、サーバ14に予め管理されていてもよいし、ユーザによって接触された各機器が、自身に割り当てられているアドレス情報をサーバ14に送信してもよい。
実行指示情報を受けたロボットA1,A2は、連携機能「握手機能」を実行する。このとき、ロボットA1,A2は、実行指示情報に含まれる相手装置のアドレス情報やデバイス識別情報を利用することで、相手装置を検出して相手装置との間で通信を確立する。そして、ロボットA1,A2は、互いに情報を送受信しながら連携機能を実行する。ロボットA1の手部(左手)26aとロボットA2の手部(右手)26bがユーザによって接触されているため、連携機能「握手機能」の具体的な実行内容は、ロボットA1は左手で握手し、ロボットA2は右手で握手するという内容である。実行指示情報には、その具体的な実行内容を示す情報も含まれる。ロボットA1,A2は、その具体的な実行内容を実行する。これにより、図11に示すように、ロボットA1,A2は、左手(ロボットA1)と右手(ロボットA2)を使って握手する。
具体例1において、特定部56によって特定された連携機能「握手機能」を示す情報が、サーバ14から端末装置16に送信され、端末装置16のUI部42に表示されてもよい。このとき、連携機能を示す情報と共に、ユーザが接触した各機器(ロボットA1,A2)に関する情報(ロボットA1,A2のそれぞれのアドレス情報とデバイス識別情報)が、サーバ14から端末装置16に送信される。なお、連携機能を示す情報の送信先の端末装置16は、サーバ14に予め登録されていてもよいし、ユーザが機器に接触したときに、そのユーザの指示に従って、そのユーザが所持する端末装置16を識別するための情報がその端末装置16からサーバ14に送信されてもよい。
ユーザが端末装置16を用いて連携機能の実行を指示した場合、端末装置16は、ロボットA1,A2のアドレス情報を用いて、ロボットA1,A2に連携機能の実行指示情報を送信する。その実行指示情報には、実行対象の連携機能を示す情報、ロボットA1,A2のそれぞれのアドレス情報、及び、ロボットA1,A2のそれぞれのデバイス識別情報が含まれる。ロボットA1,A2は、上述したように、相手装置との間で通信を確立させ、互いに情報を送受信しながら連携機能「握手機能」を実行する。このように、ユーザの実行指示に従って連携機能が実行されてもよい。
(具体例2)
図12及び図13には、具体例2が示されている。例えば、機器として、ロボットA1,A2が用いられるものとする。具体例2では、ユーザによって接触された機器が検知され、更に、その機器においてユーザによって接触された部分も検知されるものとする。
図12に示すように、ユーザがロボットA1の腕部24aに接触し、ロボットA2の腕部24bに接触したものとする。この場合、それぞれの機器においてユーザによる接触が検知され、その検知結果を示す情報がサーバ14に送信される。具体的には、ロボットA1を示す機器IDとロボットA1の腕部24aを示す部分IDが、ロボットA1からサーバ14に送信され、ロボットA2を示す機器IDとロボットA2の腕部24bを示す部分IDが、ロボットA2からサーバ14に送信される。
サーバ14においては、特定部56が、例えば図9に示されている連携機能管理テーブルにおいて、ロボットA1,A2の腕部の組み合わせに対応付けられている連携機能「持ち上げ機能」を特定する。
サーバ14の実行制御部58は、連携機能「持ち上げ機能」の実行指示を示す情報をロボットA1,A2に送信する。その実行指示情報には、連携機能「持ち上げ機能」を示す情報、ロボットA1,A2のそれぞれのデバイス識別情報、及び、ロボットA1,A2のそれぞれのアドレス情報が含まれる。
実行指示情報を受けたロボットA1,A2は、連携機能「持ち上げ機能」を実行する。このとき、ロボットA1,A2は、実行指示情報に含まれる相手装置のアドレス情報やデバイス識別情報を利用することで、相手装置を検出して相手装置との間で通信を確立する。そして、ロボットA1,A2は、互いに情報を送受信しながら連携機能を実行する。ユーザが対象物68に接触すると、ロボットA1,A2は視覚センサ等を利用してその接触を検知し、対象物68を持ち上げ対象として認識する。そして、図13に示すように、ロボットA1,A2は、共同して対象物68を持ち上げる。
具体例2において、特定部56によって特定された連携機能「持ち上げ機能」を示す情報が、サーバ14から端末装置16に送信され、端末装置16のUI部42に表示されてもよい。このとき、連携機能を示す情報と共に、ユーザが接触した各機器(ロボットA1,A2)に関する情報(ロボットA1,A2のそれぞれのアドレス情報とデバイス識別情報)が、サーバ14から端末装置16に送信される。
ユーザが端末装置16を用いて連携機能の実行を指示した場合、端末装置16は、ロボットA1,A2のアドレス情報を用いて、ロボットA1,A2に、連携機能の実行指示情報を送信する。その実行指示情報には、実行対象の連携機能を示す情報、ロボットA1,A2のそれぞれのアドレス情報、及び、ロボットA1,A2のそれぞれのデバイス識別情報が含まれる。ロボットA1,A2は、上述したように、相手装置との間で通信を確立させ、互いに情報を送受信しながら連携機能「握手機能」を実行する。ユーザが対象物68に接触した場合、ロボットA1,A2は、その対象物68を持ち上げる。
(具体例3)
図14及び図15には、具体例3が示されている。例えば、機器として、複合機CとプロジェクタDが用いられるものとする。具体例3では、ユーザが機器に接触したことは検知されるが、その機器においてユーザによって接触された部分までは検知されないものとする。
図14に示すように、ユーザが複合機CとプロジェクタDに接触したものとする。この場合、それぞれの機器においてユーザによる接触が検知され、その検知結果を示す情報がサーバ14に送信される。具体的には、複合機Cを示す機器IDが複合機Cからサーバ14に送信され、プロジェクタDを示す機器IDがプロジェクタDからサーバ14に送信される。
サーバ14においては、特定部56が、例えば図8に示されている連携機能管理テーブルにおいて、複合機CとプロジェクタDとの組み合わせに対応付けられている連携機能(「スキャン転送機能」、「プリント機能」等)を特定する。
特定部56によって特定された連携機能を示す情報は、サーバ14から端末装置16に送信され、端末装置16のUI部42に表示される。このとき、連携機能を示す情報と共に、ユーザが接触した機器(複合機CとプロジェクタD)に関する情報(複合機CとプロジェクタDのそれぞれのアドレス情報とデバイス識別情報)が、サーバ14から端末装置16に送信される。
例えば図15に示すように、端末装置16のUI部42に画面70が表示される。その画面70には、特定部56によって特定された連携機能を示す情報、つまり、複合機CとプロジェクタDとを利用して実行可能な連携機能を示す情報が表示される。一例として、複合機CとプロジェクタDとを利用して実行可能な連携機能は、「スキャン転送機能」と「プリント機能」であるとする。この場合、「スキャン転送機能」を示す情報(文字列「スキャンした画像を投影する」)と、「プリント機能」を示す情報(文字列「投影している画像を印刷する」)が画面70に表示される。
画面70において、「スキャン転送機能」と「プリント機能」の中からユーザが連携機能を選択して実行指示を与えた場合、端末装置16は、複合機CとプロジェクタDのそれぞれのアドレス情報を用いて、複合機CとプロジェクタDに、ユーザによって選択された連携機能の実行指示情報を送信する。その実行指示情報には、ユーザによって選択された実行対象の連携機能を示す情報、複合機CとプロジェクタDのそれぞれのアドレス情報、及び、複合機CとプロジェクタDのそれぞれのデバイス識別情報が含まれる。複合機CとプロジェクタDは、上述したように、相手装置との間で通信を確立させ、互いに情報を送受信しながら、ユーザによって選択された連携機能を実行する。
(具体例4)
図16及び図17には、具体例4が示されている。例えば、機器として、複合機CとプロジェクタDが用いられるものとする。具体例4では、ユーザによって接触された機器が検知され、更に、その機器においてユーザによって接触された部分も検知されるものとする。
図16に示すように、ユーザが複合機Cの本体部Caに接触し、プロジェクタDの本体部Daに接触したものとする。この場合、それぞれの機器においてユーザによる接触が検知され、その検知結果を示す情報がサーバ14に送信される。具体的には、複合機Cを示す機器IDと複合機Cの本体部Caを示す部分IDが、複合機Cからサーバ14に送信され、プロジェクタDを示す機器IDとプロジェクタDの本体部Daを示す部分IDが、プロジェクタDからサーバ14に送信される。
サーバ14においては、特定部56が、例えば図9に示されている連携機能管理テーブルにおいて、複合機Cの本体部CaとプロジェクタDの本体部Daとの組み合わせに対応付けられている連携機能「プリント機能」を特定する。
サーバ14の実行制御部58は、連携機能「プリント機能」の実行指示を示す情報を複合機CとプロジェクタDに送信する。その実行指示情報には、連携機能「プリント機能」を示す情報、複合機C及びプロジェクタDのそれぞれのデバイス識別情報、及び、複合機C及びプロジェクタDのそれぞれのアドレス情報が含まれる。
実行指示情報を受けた複合機CとプロジェクタDは、連携機能「プリント機能」を実行する。このとき、複合機CとプロジェクタDは、実行指示情報に含まれる相手装置のアドレス情報やデバイス識別情報を利用することで、相手装置を検知して相手装置との間で通信を確立する。そして、複合機CとプロジェクタDは、互いに情報を送受信しながら連携機能を実行する。
具体例4において、特定部56によって特定された連携機能「プリント機能」を示す情報が、サーバ14から端末装置16に送信され、端末装置16のUI部42に表示されてもよい。このとき、連携機能を示す情報と共に、ユーザが接触した各機器(複合機CとプロジェクタD)に関する情報(複合機CとプロジェクタDのそれぞれのアドレス情報とデバイス識別情報)が、サーバ14から端末装置16に送信される。
例えば図17に示すように、端末装置16のUI部42に画面70が表示される。その画面70には、特定部56によって特定された連携機能を示す情報、つまり、複合機Cの本体部CaとプロジェクタDの本体部Daとを利用して実行可能な連携機能を示す情報が表示される。一例として、その連携機能は「プリント機能」であるとする。この場合、「プリント機能」を示す情報(文字列「投影している画像を印刷する」)が画面70に表示される。
画面70において、ユーザが「プリント機能」の実行指示を与えた場合、端末装置16は、複合機CとプロジェクタDのそれぞれのアドレス情報を用いて、複合機CとプロジェクタDに連携機能の実行指示情報を送信する。その実行指示情報には、実行対象の連携機能を示す情報、複合機CとプロジェクタDのそれぞれのアドレス情報、及び、複合機CとプロジェクタDのそれぞれのデバイス識別情報が含まれる。複合機CとプロジェクタDは、上述したように、相手装置との間で通信を確立させ、互いに情報を送受信しながら連携機能「プリント機能」を実行する。
上記の具体例1から具体例4では、ユーザは2つの機器に接触しているが、3つ以上の機器に接触してもよい。この場合も、3つ以上の機器を利用して実行可能な連携機能が特定され、その連携機能が実行されたり、その連携機能を示す情報が表示されたりする。また、ユーザが同一機器の中の複数の部分に接触した場合、それら複数の部分を利用して実行可能な連携機能が特定される。このように、連携機能は、複数の機器を利用して実行可能な機能であってもよいし、同一機器に含まれる複数の部分を利用して実行可能な機能であってもよい。また、本実施形態によれば、ユーザが機器に接触する度に、その接触が検知され、その接触に応じた連携機能が特定される。例えば、次々と別々の機器や別々の部分にユーザが接触した場合、次々と連携機能が変更され、例えば、その変更が反映された情報が端末装置16に表示される。
以上のように本実施形態によれば、ユーザが複数の機器に接触した場合、当該複数の機器を利用する連携機能が実行される。また、機器においてユーザが接触した部分が検知された場合、その部分を利用する連携機能が実行される。これにより、ユーザに連携機能が提供される。もちろん、連携機能を示す情報が端末装置16や機器に表示され、ユーザが連携機能の実行指示を与えた場合、連携機能が実行されてもよい。この場合も、機器を利用して実行可能な連携機能を示す情報がユーザに提供される。
なお、ユーザが接触した機器を利用して実行可能な連携機能が連携機能管理テーブルに登録されていない場合、サーバ14の特定部56は、ユーザが接触した機器を利用して実行可能な連携機能が登録されていないと判断する。この場合、サーバ14の制御部54は、ユーザが接触した機器によって連携機能を実行することができない旨を示すメッセージを作成し、そのメッセージを、ユーザが所持する端末装置16や、ユーザが接触した機器に送信する。そのメッセージは、端末装置16やユーザが接触した機器に表示される。この場合においても、機器の稼働状況、機器が設置されている環境(周辺環境)、機器が有する機能の変化(更新等)、等によって、連携機能の実行が可能になる場合がある。例えば、ユーザが複合機とドライヤに接触した場合において、その接触時には、複合機とドライヤとを利用して実行可能な連携機能が連携機能管理テーブルに登録されていない場合であっても、その後、複合機とドライヤとを利用して実行可能な連携機能が連携機能管理テーブルに登録されることがある。例えば、複合機が設置されている環境において結露が発生している場合、ドライヤによって結露を除去又は防止することができるので、そのような連携機能が連携機能管理テーブルに登録されることがある。この場合、複合機とドライヤとを利用して実行可能な連携機能の利用が可能になるため、ユーザが複合機とドライヤに接触した場合、その連携機能が実行されてもよいし、その連携機能を示す情報が端末装置16や複合機等に表示されてもよい。
サーバ14の制御部54は、各機器の稼働状況、各機器が設置されている環境(周辺環境)、各機器が有する機能の更新状況、等を監視し、その監視結果に基づいて、連携機能の利用可能又は不可能を判断してもよい。複合機とドライヤとの組み合わせを例に挙げて説明すると、制御部54は、複合機の周辺環境が特定の条件を満たしている場合に(例えば、複合機の周辺環境にて結露が発生している場合に)、連携機能の利用が可能であると判断して、複合機とドライヤとを用いた連携機能を特定する。機器の稼働状況についても同様であり、制御部54は、ユーザが接触した機器の稼働状況が特定の条件を満たしている場合、その機器を利用する連携機能の利用が可能になったと判断する。また、機器が有する機能が更新されて、更新後の機能によって連携機能の利用が可能になった場合も同様である。
(変形例1)
以下、変形例1について説明する。変形例1では、複数の機器に対する接触の順番に応じて、連携機能に関する情報の表示が切り替えられる。別の例として、その順番に応じて、実行対象の連携機能が変更されてもよい。以下、図18から図20を参照して、変形例1に係る処理について説明する。
図18には、連携機能管理情報52の別の例としての連携機能管理テーブルが示されている。この連携機能管理テーブルにおいては、一例として、機器IDの組み合わせと、連携対象の複数の機器や複数の部分の組み合わせを示す情報(名称、機器ID、部分ID)と、接触順番を示す情報(図18中では矢印によって順番が表されている)と、連携機能を示す情報と、が互いに対応付けられている。接触順番は、機器や部分に対するユーザの接触の順番である。
例えば、PC(B)と複合機Cとを利用することで実行可能な連携機能として、連携機能「プリント機能」と連携機能「スキャン転送機能」が、連携機能管理テーブルに登録されている。PC(B)、複合機Cの順番で各機器がユーザによって接触された場合、連携機能「プリント機能」が第1優先順位の連携機能に該当し、連携機能「スキャン転送機能」が第2優先順位の連携機能に該当する。一方、複合機C、PC(B)の順番で各機器がユーザによって接触された場合、連携機能「スキャン転送機能」が第1優先順位の連携機能に該当し、連携機能「プリント機能」が第2優先順位の連携機能に該当する。
例えば、ユーザがPC(B)、複合機Cの順番で各機器に接触した場合、サーバ14の特定部56は、図18に示されている連携機能管理テーブルにおいて、その接触順番に対応付けられている連携機能「プリント機能」を第1優先順位の連携機能として特定し、連携機能「スキャン転送機能」を第2優先順位の連携機能として特定する。
特定部56によって連携機能が特定された場合、特定部56によって特定された各連携機能を示す情報と、各連携機能の優先順位を示す情報と、ユーザが接触した各機器(PC(B)と複合機C)に関する情報(PC(B)と複合機(C)のそれぞれのアドレス情報とデバイス識別情報)が、サーバ14から端末装置16に送信される。
端末装置16のUI部64には、連携機能に関する情報が表示される。図19には、その表示例が示されている。例えば、端末装置16のUI部64に画面70が表示され、その画面70に、連携機能に関する情報が表示される。このとき、上記の優先順位に従って各連携機能に関する情報が表示される。上記の例では、連携機能「プリント機能」が第1優先順位の連携機能に該当し、連携機能「スキャン転送機能」が第2優先順位の連携機能に該当する。そのため、連携機能「プリント機能」に関する情報が、連携機能「スキャン転送機能」に関する情報よりも優先的に(例えば上位に)表示される。例えば、連携機能「プリント機能」に関する情報として、文字列「PC(B)にあるデータを印刷する。」が表示され、連携機能「スキャン転送機能」に関する情報として、文字列「複合機BでスキャンしたデータをPC(A)に転送する。」が表示される。
実行対象の連携機能がユーザによって指定されて実行指示が与えられた場合、指定された連携機能が実行される。例えば、「YES」ボタンがユーザによって押された場合、その「YES」ボタンに対応する連携機能が実行される。
別の例として、ユーザが複合機C、PC(B)の順番で各機器に接触した場合、特定部56は、連携機能管理テーブルにおいて、その接触順番に対応付けられている連携機能「スキャン転送機能」を第1優先順位の連携機能として特定し、連携機能「プリント機能」を第2優先順位の連携機能として特定する。この場合も、特定された連携機能に関する情報が端末装置16のUI部64に表示される。図20には、その表示例が示されている。連携機能「スキャン転送機能」が第1優先順位の連携機能に該当し、連携機能「プリント機能」が第2優先順位の連携機能に該当する。そのため、連携機能「スキャン転送機能」に関する情報が、連携機能「プリント機能」に関する情報よりも優先的に(例えば上位に)表示される。
上記の例では、各連携機能に関する情報が優先順位に従って端末装置16に表示されているが、第1優先順位の連携機能が実行されてもよい。この場合、特定部56によって第1優先順位の連携機能が特定されると、実行制御部58の制御の下、ユーザが接触した複数の機器によって当該連携機能が実行される。もちろん、その実行前に実行の有無をユーザに問い合わせてもよい。
なお、連携機能の特定処理と優先順位の特定処理は、機器10,12や端末装置16によって行われてもよい。
変形例1によれば、機器に対する接触の順番に応じて、連携機能に関する情報の表示順位が変更されたり、実行対象の連携機能が変更されたりする。機器に対する接触順番は、各機器で利用される機能の順番や、連携する機器間を移動する移動順番を兼ねており、機器を接触する操作は、機能の順番やデータの移動順番を指定する操作を兼ねているともいえる。それ故、接触順番に応じた連携機能を変えることで、ユーザが利用するであろうと予測される連携機能に関する情報が優先的に表示されたり、その連携機能が実行されたりする。
上記の例では、複数の機器に対する接触の順番に応じて連携機能が変更されるが、複数の部分に対する接触の順番に応じて連携機能が変更されてもよい。図18に示す例では、ユーザがロボットA1の胴体部に接触し、次に、ロボットA2の胴体部に接触した場合、ロボットA1がロボットA2をメンテナンスするという連携機能が特定される。一方、ユーザがロボットA2の胴体部を接触し、次に、ロボットA1の胴体部に接触した場合、ロボットA2がロボットA1をメンテナンスするという連携機能が特定される。また、メンテナンス関連の動作として、ユーザがロボットに接触し、次に、メンテナンス対象の機器に接触した場合、ロボットは、その機器のメンテナンスを実行してもよい。
(変形例2)
実行対象の連携機能や表示対象の連携機能は、ユーザ毎に変更されてもよい。例えば、ユーザ毎の連携機能管理テーブルが予め作成されてサーバ14に記憶されている。各連携機能管理テーブルには、その連携機能管理テーブルを利用するユーザを識別するための情報(ユーザ識別情報)が紐付けられている。例えば、ユーザ毎に異なる連携機能管理テーブルを用いることで、ユーザ毎に連携機能を変えることが可能となる。なお、複数のユーザが同一の連携機能管理テーブルを利用してもよい。ユーザ識別情報は、例えば、ユーザの氏名、ユーザID、生体情報(例えば、顔画像、指紋情報、網膜情報、虹彩情報、音声情報等)等である。
例えば、ユーザが機器10に接触した場合、その機器や他のカメラによって当該ユーザが撮影され、その撮影画像を解析することで、当該機器に接触したユーザが識別される。例えば、顔認証処理によってユーザが識別される。ユーザ識別処理は、サーバ14によって行われてもよいし、ユーザが接触した機器10によって行われてもよいし、別の装置によって行われてもよい。もちろん、顔認証以外の処理として、他の生体認証処理(例えば指紋認証、網膜認証、虹彩認証、音声認証等)によってユーザが識別されてもよいし、ユーザに割り当てられたIDカード(例えば社員証等)からユーザ識別情報を読み取ることでユーザが識別されてもよい。
上記のように機器に接触したユーザが識別された場合、サーバ14の特定部56は、識別されたユーザに紐付く連携機能管理テーブルを参照することで、そのユーザが接触した機器を利用する連携機能を特定する。以降の処理は、上記の実施形態に係る処理と同じである。
以上のようにユーザ毎に連携機能を変えることで、個々のユーザに適した連携機能を提供することが可能となる。例えば、ユーザ毎に連携機能の利用権限が定められている場合、その利用権限毎に連携機能管理テーブルを定めることで、利用権限に応じた連携機能の提供が可能となる。例えば、同じ接触操作を行った場合であっても、ユーザによっては異なる連携機能が表示されたり実行されたりする。
また、複数のユーザが同一の機器や同一の部分に接触した場合、個々のユーザが識別されて、ユーザ毎に連携機能が順番に実行されてもよい。例えば、接触の順番によって、連携機能の実行の順番が決定される。具体例を挙げて説明すると、ユーザαがロボットA1に接触し、次に、ユーザβがロボットA1に接触し、次に、ユーザαがロボットA2に接触したものとする。この場合、個々のユーザが識別されることで、特定部56は、ユーザαによってロボットA1,A2が接触されたと認識し、それとは別に、ユーザβによってロボットA1が接触されたと認識する。この場合、特定部56は、連携機能管理テーブルを参照することで、ユーザαによって接触されたロボットA1,A2によって実行可能な連携機能を特定する。ロボットA1,A2は、その連携機能を実行する。この連携機能の実行は、ユーザαのための実行である。その連携機能の実行中に、ユーザβがロボットA2に接触した場合、特定部56は、ユーザβによって接触されたロボットA1,A2によって実行可能な連携機能を特定する。ロボットA1,A2は、ユーザα用の連携機能の実行が終了した後に、ユーザβ用の連携機能を実行する。このように、複数のユーザが同一機器や同一部分に接触した場合、先に接触したユーザ用の連携機能の実行が終了した後に、次のユーザ用の連携機能が実行される。なお、サーバ14から各機器に実行指示情報が送信されず、各ユーザの端末装置16に、各ユーザ用の連携機能に関する情報が表示されてもよい。この場合、機器に対して実行指示を与えた順に連携機能が実行される。
(変形例3)
実行対象の連携機能や表示対象の連携機能は、機器に接触したユーザの位置に応じて変更されてもよい。例えば、ユーザの位置毎の連携機能管理テーブルが予め作成されてサーバ14に記憶されている。例えば、ユーザが端末装置16を所持している場合、GPS(Global Positioning System)を利用することで、その端末装置16の位置がユーザの位置として特定される。サーバ14は、機器に接触したユーザが所持する端末装置16から、その端末装置16の位置情報を取得し、その位置情報に紐付く連携機能管理テーブルを参照することで連携機能を特定する。こうすることで、ユーザの位置に応じて連携機能が変更される。例えば、同じ接触操作が機器に対して行われた場合であっても、オフィス内と屋外とでは、ユーザが要望するであろうと予測される連携機能が異なることがある。ユーザの位置毎に連携機能を変えることで、このようなユーザの要望に応じた連携機能を提供することが可能となる。
(変形例4)
サーバ14の特定部56は、予め定められた制限時間内にユーザが接触した機器を利用する連携機能を特定してもよい。制限時間の開始時点は、例えば、ユーザが最初の機器に接触した時点であってもよいし、ユーザが指定した時点であってもよい。その開始時点から制限時間内に複数の機器や複数の部分がユーザによって接触された場合、特定部56は、連携機能管理テーブルを参照することで、その制限時間内に接触された複数の機器や複数の部分を利用して実行可能な連携機能を特定する。一方、制限時間内に1つの機器や1つの部分がユーザによって接触された場合、単独機能管理テーブルを参照することで、当該機器が有する単独機能や、当該部分に割り当てられている単独機能を特定する。以降の処理は、上記の実施形態に係る処理と同じである。例えば、ユーザがロボットA1のみに触れた場合、そのロボットA1によって単独機能が実行される。この場合、例えば、ロボットA1からユーザに挨拶が返ってくる。変形例4によれば、実行対象や表示対象の連携機能と単独機能とを切り替えることができる。
(変形例5)
予め定められたエリア内に存在する複数の機器や複数の部分がユーザによって接触された場合、特定部56は、当該複数の機器や当該複数の部分を利用して実行可能な連携機能を特定してもよい。エリアは、例えば、オフィス、店舗、エントランス、会議室、広場、運動場、図書館、等である。例えば、同一エリア内に存在する複数の機器や複数の部分がユーザによって接触された場合、当該複数の機器や当該複数の部分を利用して実行可能な連携機能が実行されたり表示されたりする。これにより、同一エリア内に存在する機器を利用した連携機能の実行が可能となる。また、互いに異なるエリア内に存在する複数の機器や複数の部分がユーザによって接触された場合、当該複数の機器や当該複数の部分を利用して実行可能な連携機能が実行されたり表示されたりしてもよい。これにより、複数のエリアにまたがって連携機能を実行することが可能となる。
変形例4,5が組み合わされてもよい。例えば、特定のエリア内に存在する複数の機器や複数の部分が制限時間内にユーザによって接触された場合、当該複数の機器や当該複数の部分を利用して実行可能な連携機能が特定される。制限時間内に1つの機器や1つの部分がユーザによって接触された場合、当該機器が有する機能や当該部分に割り当てられている機能が単独機能として特定される。
(変形例6)
各機器には、ユーザの接触をキャンセル(無効に)するための接触部位(例えばキャンセルボタン)が設けられていてもよい。例えば、ユーザがある機器に接触した後に、その機器に設けられているキャンセルボタンを押した場合、当該機器に対する接触をキャンセルする旨を示す情報が、当該機器からサーバ14に送信される。サーバ14の特定部56は、そのキャンセル情報を受けると、当該機器がユーザによって接触されていないものとして、当該機器を連携対象の機器から除外する。例えば、ユーザが機器に接触した時点から予め定められた時間内にキャンセルボタンが押された場合に、キャンセルが有効(接触が無効)となり、その時間外にキャンセルボタンが押された場合、キャンセルが無効(接触が有効)となってもよい。
また、ユーザが機器に接触している時間の長さによって、キャンセルの有無が判断されてもよい。例えば、ユーザが機器に接触した後、再度、当該機器に接触し、その再度の接触において、予め定められた時間以上にわたって当該機器に接触している場合、キャンセルが有効であると判断される。つまり、ユーザが機器に接触した後、再度の接触において、いわゆる長押しが検知された場合、キャンセルが有効であると判断される。また、機器の同一部分にユーザが再度接触した場合に、当該部分に対する接触がキャンセルされてもよい。
(変形例7)
機器や部分への接触の態様に応じて、実行対象や表示対象の連携機能が変更されてもよい。例えば、機器の各部に圧力センサが設けられ、各部分に対するユーザの接触の圧力が検知されてもよい。例えば、連携機能管理テーブルには、機器毎や部分毎に、圧力毎の連携機能が登録されており、サーバ14の特定部56は、その連携機能管理テーブルにおいて、接触された機器や部分における圧力センサの検知結果に対応する連携機能を特定する。例えば、同一部分に対する接触であっても、その接触の圧力の大小(例えば、強く握る、弱く握る等)によって連携機能が変更されてもよい。変形例7によれば、ユーザが同一機器や同一部分に接触した場合であっても、その接触の態様によって連携機能を変えることが可能となる。その他の接触の態様として、例えば、撫でる、擦る、弾く、叩く、等が挙げられ、各態様に応じて連携機能が変更されてもよい。
なお、接触が検知された場合において、その接触の圧力が予め定められた閾値以上の場合、その接触が有効であると判断され、その接触の圧力が閾値未満の場合、その接触は無効であると判断されてもよい。サーバ14の特定部56は、有効な接触が検知された機器や部分を利用して実行可能な連携機能を特定する。
また、同一部分に対する接触回数に応じて、実行される連携機能が変更されてもよい。例えば、連携機能管理テーブルには、機器毎や部分毎に、予め定められた時間内の接触回数毎の連携機能が登録されており、特定部56は、その連携機能管理テーブルにおいて、接触回数に対応する連携機能を特定する。例えば、ユーザがある部分に最初に接触した時点が開始点として定められ、センサは、その開始点から上記の予め定められた時間が経過するまでの間にユーザが当該部分に接触した回数を検知する。特定部56は、連携機能管理テーブルにおいて、その部分に対応付けられた連携機能であって、その接触回数に対応付けられた連携機能を特定する。こうすることで、ユーザが同一部分に接触した場合であっても、その接触の回数に応じて連携機能を変えることが可能となる。
(変形例8)
機器が設置されている位置に応じて、実行対象や表示対象の連携機能が変更されてもよい。サーバ14の特定部56は、GPS機能を利用することで各機器の位置情報を取得する。例えば、機器毎にホームポジション(例えば、機器が処理を行っていないときに配置や収容される場所)が定められている場合、ユーザが接触した機器とホームポジションとの位置関係に応じて、連携機能が変更される。例えば、ホームポジションを基準として予め定められた範囲内に機器が存在する場合(例えば、ホームポジションから予め定められた距離の範囲内に機器が存在する場合)において、ユーザが当該機器に接触した場合、特定部56は、当該機器を利用して実行可能な連携機能を特定する。この場合、特定された連携機能が実行されたり表示されたりする。一方、上記の範囲内に機器が存在しない場合において、ユーザが当該機器に接触した場合、当該機器を利用して実行可能な連携機能は実行されたり表示されたりされず、当該機器はホームポジションに戻る。当該機器が自走式の機器であれば、自身で移動してホームポジションに戻る。当該機器が自走式の機器ではない場合、当該機器は、ユーザに対して、当該機器をホームポジションに戻すようにメッセージ等を発してもよい。
(変形例9)
機器が設置されている場所の環境に応じて、実行対象や表示対象の連携機能が変更されてもよい。例えば、機器自体や機器の周囲に、温度センサ、湿度センサ、風力センサ、等の各種の環境センサが設置されており、これらのセンサによって、温度、湿度、風力、等の環境情報が収集される。また、連携機能管理テーブルにおいて、機器毎や部分毎に、環境毎(例えば、温度毎、湿度毎、風力毎等)の連携機能が登録されており、サーバ14の特定部56は、その連携機能管理テーブルにおいて、接触された機器や部分の周囲の環境に対応する連携機能を特定する。例えば、ユーザが同一機器の同一部分に接触した場合であっても、その接触時の湿度が閾値以上の場合、第1連携機能が特定され、その接触時の湿度が閾値未満の場合、第1連携機能とは異なる第2連携機能が特定される。例えば、湿度が高い場合、その高い湿度に対処するための連携機能が特定され、湿度が低い場合、その低い湿度に対処するための連携機能や、湿度を考慮しない連携機能が特定されてもよい。変形例9によれば、ユーザが同一機器や同一部分に接触した場合であっても、その接触時の環境によって連携機能を変えることが可能となる。
(変形例10)
機器の状態に応じて、実行対象や表示対象の連携機能が変更されてもよい。機器の状態は、例えば、処理を実行している状態、スタンバイ(正常に処理を実行できる状態であって、実際には処理を実行していない状態)、故障(処理を実行できない状態)、等である。例えば、連携機能管理テーブルにおいて、機器毎や部分毎に、状態毎(例えば、処理中、スタンバイ、故障中)の連携機能が登録されている。ユーザが機器に接触した場合、当該機器は、その接触時における自装置の状態を示す情報をサーバ14に送信する。これにより、サーバ14の特定部56は、ユーザが接触した機器の状態を識別する。例えば、当該機器が故障中の場合、特定部56は、連携機能管理テーブルにおいて、故障に対応する連携機能を特定する。以下、具体例を挙げて説明する。
例えば、ロボットA1が故障中であり、ロボットA2がスタンバイ中であるものとする。ユーザがロボットA1に接触すると、ロボットA1は、自装置のデバイス識別情報とアドレス情報と共に、自装置が故障中であることを示すステータス情報をサーバ14に送信する。このステータス情報を受けたサーバ14の特定部56は、そのステータス情報に基づいて、ロボットA1が故障中であると認識する。また、ユーザがロボットA2に接触すると、ロボットA2は、自装置のデバイス識別情報とアドレス情報と共に、自装置がスタンバイ中であることを示すステータス情報をサーバ14に送信する。このステータス情報を受けたサーバ14の特定部56は、そのステータス情報に基づいて、ロボットA2がスタンバイ中であると認識する。この場合、特定部56は、ロボットA1,A2によって実行可能な連携機能であって、ロボットA1,A2の状態に応じた連携機能を特定する。上記の場合、特定部56は、スタンバイ中のロボットA2が故障中のロボットA1をメンテナンスするという連携機能を特定する。その連携機能「メンテナンス機能」の実行指示を示す情報には、連携機能「メンテナンス機能」を示す情報、ロボットA1,A2のそれぞれのデバイス識別情報、及び、ロボットA1,A2のそれぞれのアドレス情報が含まれており、その実行指示情報は、サーバ14からロボットA1,A2に送信される。実行指示情報を受けたロボットA2は、ロボットA1まで移動し、ロボットA1に対するメンテナンスを実行する。例えば、ロボットA2は、故障原因を解析し、その故障原因に応じた処理(修理等)を行う。
別の具体例として、複合機Cに紙詰まり(ジャム)が発生しており、ロボットA1がスタンバイ中であるものとする。ユーザが複合機Cに接触すると、複合機Cは、自装置のデバイス識別情報とアドレス情報と共に、自装置に紙詰まりが発生していることを示すステータス情報をサーバ14に送信する。このステータス情報を受けたサーバ14の特定部56は、そのステータス情報に基づいて、複合機Cに紙詰まりが発生していることを認識する。また、ユーザがロボットA1に接触すると、ロボットA1は、自装置のデバイス識別情報とアドレス情報と共に、自装置がスタンバイ中であることを示すステータス情報をサーバ14に送信する。このステータス情報を受けたサーバ14の特定部56は、そのステータス情報に基づいて、ロボットA1がスタンバイ中であると認識する。この場合、特定部56は、複合機CとロボットA1とによって実行可能な連携機能であって、複合機CとロボットA1の状態に応じた連携機能を特定する。上記の場合、特定部56は、スタンバイ中のロボットA1が複合機Cの紙詰まりを解消するという連携機能を特定する。その連携機能「紙詰まり解消機能」の実行指示を示す情報には、連携機能「紙詰まり解消機能」を示す情報、複合機CとロボットA1のそれぞれのデバイス識別情報、及び、複合機CとロボットA1のそれぞれのアドレス情報が含まれており、その実行指示情報は、サーバ14から複合機CとロボットA1に送信される。実行指示情報を受けたロボットA1は、複合機Cまで移動し、複合機Cの紙詰まりを解消する。
なお、上述した変形例1から変形例10の中の少なくとも2つの変形例を組み合わせてもよい。
上記の機器10,12、サーバ14及び端末装置16のそれぞれは、一例としてハードウェアとソフトウェアとの協働により実現される。具体的には、機器10,12、サーバ14及び端末装置16のそれぞれは、図示しないCPU等の1又は複数のプロセッサを備えている。当該1又は複数のプロセッサが、図示しない記憶装置に記憶されたプログラムを読み出して実行することにより、機器10,12、サーバ14及び端末装置16の各部の機能が実現される。上記プログラムは、CDやDVD等の記録媒体を経由して、又は、ネットワーク等の通信経路を経由して、記憶装置に記憶される。別の例として、機器10,12、サーバ14及び端末装置16のそれぞれの各部は、例えばプロセッサや電子回路やASIC(Application Specific Integrated Circuit)等のハードウェア資源により実現されてもよい。その実現においてメモリ等のデバイスが利用されてもよい。更に別の例として、機器10,12、サーバ14及び端末装置16のそれぞれの各部は、DSP(Digital Signal Processor)やFPGA(Field Programmable Gate Array)等によって実現されてもよい。