(57)【要約】【課題】機器に複数の操作アシスタントが搭載された場合の操作性を向上させる。【解決手段】機器の操作指示がユーザによって与えられた場合、自装置に搭載されている複数の操作アシスタントの中の機器を制御可能な操作アシスタントから機器に操作指示が送られる。【選択図】図１
2019204240.tif 000002
【特許請求の範囲】
【請求項１】
機器の操作指示がユーザによって与えられた場合、自装置に搭載されている複数の操作アシスタントの中の前記機器を制御可能な操作アシスタントから前記機器に操作指示を送る制御手段を有する情報処理装置。
【請求項２】
前記制御手段は、更に、前記機器を制御可能な操作アシスタントの画像の表示を制御する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、更に、前記画像に紐付けて、前記機器の操作結果の通知を制御する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記機器は操作アシスタントを搭載しており、
前記機器を制御可能な操作アシスタントは、前記機器に搭載されている操作アシスタントと対話可能な操作アシスタントである、
ことを特徴とする請求項１から請求項３何れかに記載の情報処理装置。
【請求項５】
前記対話可能な操作アシスタントは、前記機器に搭載されている操作アシスタントとの間でメッセージのやり取りが可能な操作アシスタントである、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記対話可能な操作アシスタントは、前記機器に搭載されている操作アシスタントと同じ種類の操作アシスタントである、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記機器に搭載されている操作アシスタントが、前記自装置に搭載されている複数の操作アシスタントと対話可能な操作アシスタントである場合、前記制御手段は、前記自装置に搭載されている複数の操作アシスタントの中の何れか１つの操作アシスタントを、前記機器を制御可能な操作アシスタントとして用いる、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項８】
前記機器を制御可能な操作アシスタントは、前記機器に接続されている別の機器に搭載されて前記機器を制御可能な操作アシスタントと対話可能な操作アシスタントであり、
前記操作指示は、前記別の機器を介して前記機器に与えられる、
ことを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項９】
前記別の機器は複数の操作アシスタントを搭載しており、
前記機器を制御可能な操作アシスタントは、前記別の機器に搭載されている前記複数の操作アシスタントに含まれて前記機器を制御可能な操作アシスタントと対話可能な操作アシスタントである、
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記制御手段は、自装置に搭載されている前記複数の操作アシスタントの中から前記機器に接続されている別の機器を制御可能な操作アシスタントから操作指示を送る、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
前記操作指示は、前記機器に実行させる機能の指示を含み、
前記機器を制御可能な操作アシスタントは、前記機能の指示を前記機器に与えることが可能な操作アシスタントである、
ことを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項１２】
前記機器は複数の操作アシスタントを搭載しており、
前記機器を制御可能な操作アシスタントは、前記機器に搭載されている前記複数の操作アシスタントに含まれて前記機能を制御可能な操作アシスタントと対話可能な操作アシスタントである、
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記機器を制御可能な操作アシスタントは、前記機器に接続されている別の機器に搭載され前記機能を制御可能な操作アシスタントと、対話可能な操作アシスタントであり、
前記操作指示は、前記別の機器を介して前記機器に与えられる、
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１４】
前記機能の指示を前記機器に与えることができない場合、前記制御手段は、更に、その理由の通知を制御する、
ことを特徴とする請求項１１から請求項１３何れかに記載の情報処理装置。
【請求項１５】
前記機能の指示を前記機器に与えることが可能な操作アシスタントが、前記自装置に搭載されている前記複数の操作アシスタントに含まれていない場合、前記制御手段は、更に、前記機能の指示を前記機器に与えることができない理由の通知を制御する、
ことを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記機器を制御可能な操作アシスタントは、前記自装置にて主操作アシスタントとして動作する操作アシスタントである、
ことを特徴とする請求項１から請求項１５何れかに記載の情報処理装置。
【請求項１７】
前記機器は複数の操作アシスタントを搭載しており、
前記機器を制御可能な操作アシスタントは、前記機器に搭載されている前記複数の操作アシスタントの中で前記機器にて主操作アシスタントとして動作する操作アシスタントとの間で情報のやり取りを行う、
ことを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
前記機器は複数の操作アシスタントを搭載しており、
前記機器を制御可能な操作アシスタントとの間で情報をやり取りすることが可能な操作アシスタントが、前記機器に搭載されている前記複数の操作アシスタントの中で前記機器にて主操作アシスタントとして動作する操作アシスタントから見つからず、前記機器にて副操作アシスタントとして動作する操作アシスタントから見つかる場合、前記制御手段は、前記副操作アシスタントに対して前記操作指示を送り前記機器を制御する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１９】
コンピュータを、
機器の操作指示が別の機器を用いてユーザによって与えられた場合、前記別の機器に搭載されている複数の操作アシスタントの中の前記機器を制御可能な操作アシスタントから前記機器に操作指示を与える制御手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
機器に操作アシスタントが搭載される場合がある。操作アシスタントは、例えば、ユーザからの問い合わせに回答したり、作業を行ったりする。
【０００３】
特許文献１には、許可されたインターネットサイトのみをアクセスして、ユーザが関心を有する情報を収集するインテリジェントアシスタントが記載されている。
【０００４】
特許文献２には、音声合成やアニメーションによるリアクションを行う擬人化されたアシスタントが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００２−５１３１８５号公報
【特許文献２】特開２００２−４１２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、機器に複数の操作アシスタントが搭載される場合がある。
【０００７】
本発明の目的は、機器に複数の操作アシスタントが搭載された場合の操作性を向上させることにある。
【課題を解決するための手段】
【０００８】
請求項１に記載の発明は、機器の操作指示がユーザによって与えられた場合、自装置に搭載されている複数の操作アシスタントの中の前記機器を制御可能な操作アシスタントから前記機器に操作指示を送る制御手段を有する情報処理装置である。
【０００９】
請求項２に記載の発明は、前記制御手段は、更に、前記機器を制御可能な操作アシスタントの画像の表示を制御する、ことを特徴とする請求項１に記載の情報処理装置である。
【００１０】
請求項３に記載の発明は、前記制御手段は、更に、前記画像に紐付けて、前記機器の操作結果の通知を制御する、ことを特徴とする請求項２に記載の情報処理装置である。
【００１１】
請求項４に記載の発明は、前記機器は操作アシスタントを搭載しており、前記機器を制御可能な操作アシスタントは、前記機器に搭載されている操作アシスタントと対話可能な操作アシスタントである、ことを特徴とする請求項１から請求項３何れかに記載の情報処理装置である。
【００１２】
請求項５に記載の発明は、前記対話可能な操作アシスタントは、前記機器に搭載されている操作アシスタントとの間でメッセージのやり取りが可能な操作アシスタントである、ことを特徴とする請求項４に記載の情報処理装置である。
【００１３】
請求項６に記載の発明は、前記対話可能な操作アシスタントは、前記機器に搭載されている操作アシスタントと同じ種類の操作アシスタントである、ことを特徴とする請求項４に記載の情報処理装置である。
【００１４】
請求項７に記載の発明は、前記機器に搭載されている操作アシスタントが、前記自装置に搭載されている複数の操作アシスタントと対話可能な操作アシスタントである場合、前記制御手段は、前記自装置に搭載されている複数の操作アシスタントの中の何れか１つの操作アシスタントを、前記機器を制御可能な操作アシスタントとして用いる、ことを特徴とする請求項４に記載の情報処理装置である。
【００１５】
請求項８に記載の発明は、前記機器を制御可能な操作アシスタントは、前記機器に接続されている別の機器に搭載されて前記機器を制御可能な操作アシスタントと、対話可能な操作アシスタントであり、前記操作指示は、前記別の機器を介して前記機器に与えられる、ことを特徴とする請求項１又は請求項２に記載の情報処理装置である。
【００１６】
請求項９に記載の発明は、前記別の機器は複数の操作アシスタントを搭載しており、前記機器を制御可能な操作アシスタントは、前記別の機器に搭載されている前記複数の操作アシスタントに含まれて前記機器を制御可能な操作アシスタントと、対話可能な操作アシスタントである、ことを特徴とする請求項８に記載の情報処理装置である。
【００１７】
請求項１０に記載の発明は、前記制御手段は、自装置に搭載されている前記複数の操作アシスタントの中から前記機器に接続されている別の機器を制御可能な操作アシスタントから操作指示を送る、ことを特徴とする請求項１に記載の情報処理装置である。
【００１８】
請求項１１に記載の発明は、前記操作指示は、前記機器に実行させる機能の指示を含み、前記機器を制御可能な操作アシスタントは、前記機能の指示を前記機器に与えることが可能な操作アシスタントである、ことを特徴とする請求項１又は請求項２に記載の情報処理装置である。
【００１９】
請求項１２に記載の発明は、前記機器は複数の操作アシスタントを搭載しており、前記機器を制御可能な操作アシスタントは、前記機器に搭載されている前記複数の操作アシスタントに含まれて前記機能を制御可能な操作アシスタントと、対話可能な操作アシスタントである、ことを特徴とする請求項１１に記載の情報処理装置である。
【００２０】
請求項１３に記載の発明は、前記機器を制御可能な操作アシスタントは、前記機器に接続されている別の機器に搭載され前記機能を制御可能な操作アシスタントと、対話可能な操作アシスタントであり、前記操作指示は、前記別の機器を介して前記機器に与えられる、ことを特徴とする請求項１１に記載の情報処理装置である。
【００２１】
請求項１４に記載の発明は、前記機能の指示を前記機器に与えることができない場合、前記制御手段は、更に、その理由の通知を制御する、ことを特徴とする請求項１１から請求項１３何れかに記載の情報処理装置である。
【００２２】
請求項１５に記載の発明は、前記機能の指示を前記機器に与えることが可能な操作アシスタントが、前記自装置に搭載されている前記複数の操作アシスタントに含まれていない場合、前記制御手段は、更に、前記機能の指示を前記機器に与えることができない理由の通知を制御する、ことを特徴とする請求項１４に記載の情報処理装置である。
【００２３】
請求項１６に記載の発明は、前記機器を制御可能な操作アシスタントは、前記自装置にて主操作アシスタントとして動作する操作アシスタントである、ことを特徴とする請求項１から請求項１５何れかに記載の情報処理装置である。
【００２４】
請求項１７に記載の発明は、前記機器は複数の操作アシスタントを搭載しており、前記機器を制御可能な操作アシスタントは、前記機器に搭載されている前記複数の操作アシスタントの中で前記機器にて主操作アシスタントとして動作する操作アシスタントとの間で情報のやり取りを行う、ことを特徴とする請求項１６に記載の情報処理装置である。
【００２５】
請求項１８に記載の発明は、前記機器は複数の操作アシスタントを搭載しており、前記機器を制御可能な操作アシスタントとの間で情報をやり取りすることが可能な操作アシスタントが、前記機器に搭載されている前記複数の操作アシスタントの中で前記機器にて主操作アシスタントとして動作する操作アシスタントから見つからず、前記機器にて副操作アシスタントとして動作する操作アシスタントから見つかる場合、前記制御手段は、前記副操作アシスタントに対して前記操作指示を送り前記機器を制御する、ことを特徴とする請求項１に記載の情報処理装置である。
【００２６】
請求項１９に記載の発明は、コンピュータを、機器の操作指示が別の機器を用いてユーザによって与えられた場合、前記別の機器に搭載されている複数の操作アシスタントの中の前記機器を制御可能な操作アシスタントから前記機器に操作指示を与える制御手段、として機能させるプログラムである。
【発明の効果】
【００２７】
請求項１，１９に記載の発明によれば、機器に複数の操作アシスタントが搭載された場合の操作性を向上させることができる。
【００２８】
請求項２に記載の発明によれば、機器を制御可能な操作アシスタントの画像がユーザに提供される。
【００２９】
請求項３に記載の発明によれば、操作結果がユーザに提供される。
【００３０】
請求項４，５，６，７，８，９，１０に記載の発明によれば、操作アシスタント同士の対話によって、機器を制御することができる。
【００３１】
請求項１１，１２，１３に記載の発明によれば、機能の指示を機器に与えることができる。
【００３２】
請求項１４，１５に記載の発明によれば、機能の指示を機器に与えることができない理由が通知される。
【００３３】
請求項１６，１７に記載の発明によれば、機器にて主操作アシスタントとして動作する操作アシスタントを用いて、機器を制御することができる。
【００３４】
請求項１８に記載の発明によれば、機器にて副操作アシスタントとして動作する操作アシスタントを用いて、機器を制御することができる。
【図面の簡単な説明】
【００３５】
【図１】本発明の第１実施形態に係る情報処理システムの構成を示すブロック図である。
【図２】機器の構成を示すブロック図である。
【図３】中継器を示す斜視図である。
【図４】機能管理テーブルを示す図である。
【図５】実施例１に係る処理を説明するための図である。
【図６】実施例１に係る画面を示す図である。
【図７】実施例２に係る処理を説明するための図である。
【図８】実施例３に係る処理を説明するための図である。
【図９】実施例４に係る処理を説明するための図である。
【図１０】実施例４に係る画面を示す図である。
【図１１】実施例５に係る処理を説明するための図である。
【図１２】操作アシスタントが制御可能な機能と機器を示すテーブルである。
【図１３】実施例５に係る処理を説明するための図である。
【図１４】実施例５に係る処理を説明するための図である。
【図１５】実施例６に係る処理を説明するための図である。
【図１６】実施例７に係る処理を説明するための図である。
【図１７】実施例８に係る処理を説明するための図である。
【図１８】実施例９に係る処理を説明するための図である。
【図１９】実施例９に係る画面を示す図である。
【図２０】実施例１０に係る処理を説明するための図である。
【図２１】実施例１１に係る処理を説明するための図である。
【図２２】実施例１３に係る処理を説明するための図である。
【図２３】実施例１４に係る処理を説明するための図である。
【図２４】実施例１５に係る処理を説明するための図である。
【図２５】第３実施形態に係る処理を説明するための図である。
【図２６】第４実施形態に係る情報処理システムの構成を示すブロック図である。
【図２７】実施例４−１に係る処理を説明するための図である。
【図２８】実施例４−２に係る処理を説明するための図である。
【図２９】実施例４−３に係る処理を説明するための図である。
【図３０】実施例４−５に係る画面を示す図である。
【図３１】実施例４−５に係る処理を説明するための図である。
【発明を実施するための形態】
【００３６】
＜第１実施形態＞
図１を参照して、本発明の第１実施形態に係る情報処理システムについて説明する。図１は、第１実施形態に係る情報処理システムの一例を示す。
【００３７】
第１実施形態に係る情報処理システムは、複数の機器を含む。図１に示す例では、情報処理システムは機器１０Ａ〜１０Ｒを含む。これらは一例に過ぎず、情報処理システムは、図１に示されている機器以外の機器を含んでもよい。また、情報処理システムは、サーバを含んでもよい。以下、各機器を区別する必要がない場合には、各機器を「機器１０」と称することとする。
【００３８】
各機器１０は、他の機器１０と通信する機能を有する。その通信は、無線通信であってもよいし、有線通信であってもよい。例えば、各機器１０は、インターネットや他のネットワーク等の通信経路を介して他の機器１０と通信してもよいし、直接的に他の機器１０と通信してもよいし、ハブとして機能する中継器を介して他の機器１０と通信してもよいし、いわゆるクラウドやサーバを介して他の機器１０と通信してもよい。各機器１０は、いわゆるＩｏＴ（Internet of Things）機器であってもよい。
【００３９】
機器１０は機能を有する装置であり、例えば、画像形成機能（スキャン機能、プリント機能、コピー機能、ファクシミリ機能等）を有する画像形成装置、ＰＣ（パーソナルコンピュータ）、タブレットＰＣ、スマートフォン、携帯電話、ロボット（人型ロボット、人以外の動物型ロボット、それら以外のロボット等）、プロジェクタ、液晶ディスプレイ等の表示装置、記録装置、再生装置、カメラ等の撮像装置、冷蔵庫、炊飯器、電子レンジ、コーヒーメーカー、掃除機、洗濯機、空調機、照明装置、時計、監視カメラ、自動車、二輪車、航空機（例えば無人航空機（いわゆるドローン））、ゲーム機、各種のセンシング機器（例えば温度センサ、湿度センサ、電圧センサ、電流センサ等）等の装置である。機器１０は、ユーザに対して情報を出力する機器（例えば画像形成装置やＰＣ等）であってもよいし、ユーザに対して情報を出力しない機器（例えばセンシング機器）であってもよい。また、後述する連携機能を実行する複数の機器１０の中のすべての機器１０が、ユーザに対して情報を出力する機器であってもよいし、一部の機器１０がユーザに対して情報を出力する機器であり、他の機器１０がユーザに対して情報を出力しない機器であってもよいし、すべての機器１０がユーザに対して情報を出力しない機器であってもよい。機器１０の概念の範疇には機器全般が含まれてもよい。例えば、情報機器、映像機器、音響機器、その他の機器も、機器１０の概念の範疇に含まれてもよい。
【００４０】
機器１０は、単独機能を実行してもよいし、他の機器１０と連携して連携機能を実行してもよい。単独機能は、例えば、１つの機器１０を用いて実行可能な機能である。連携機能は、例えば、複数の機器１０を用いて実行可能な機能である。単独機能及び連携機能では、例えば、機器１０が有するハードウェアやソフトウェアが用いられる。なお、機器１０は、他の機器１０と連携していない場合、独立してユーザからの指示を受け付けて単独機能を実行してもよい。もちろん、ユーザからの指示を受けずに機能を実行する機器１０（例えばセンシング機器）が、情報処理システムに含まれてもよい。
【００４１】
ここで、連携機能について説明する。機器１０の全体、機器１０の特定の部分、ソフトウェアの特定の機能、又は、複数の機能を含む集合機能等が、連携機能に用いられてもよい。例えば、機器１０の部分毎に機能が割り当てられている場合、連携機能は、その部分を用いる機能であってもよい。具体例を挙げて説明すると、複数の画像形成機能を有する複合機の本体部にプリント機能が割り当てられており、複合機の読取部（例えば、原稿カバーや原稿ガラスや自動原稿給紙装置に対応する部分）にスキャン機能が割り当てられており、複合機の後処理装置に後処理機能（例えばステープル止め機能等）が割り当てられているものとする。この場合、複合機の本体部や読取部や後処理装置が、連携機能に用いられてもよい。また、ソフトウェアとして、ＲＰＡ（Robotics Process Automation）等のようにブロック単位でまとまった集合機能が、連携機能に用いられてもよい。また、ソフトウェアが複数の機能を有している場合、連携機能は、当該複数の機能の中の一部の機能を用いる機能であってもよい。集合機能は、複数の機能によって構成されており、当該複数の機能が同時又は順次に実行されることで、当該集合機能による処理が実行される。また、連携機能は、ハードウェアのみを用いる機能であってもよいし、ソフトウェアのみを用いる機能であってもよいし、ハードウェアとソフトウェアの両方を用いる機能であってもよい。
【００４２】
連携機能は、互いに異なる種類の複数の機器１０を連携させることで実行可能な機能であってもよいし、同一の種類の複数の機器１０を連携させることで実行可能な機能であってもよい。連携機能は、連携前には利用できなかった機能であってもよい。例えば、プリント機能を有する機器１０（プリンタ）と、スキャン機能を有する機器１０（スキャナ）とを連携させることで、連携機能としてのコピー機能が実行可能となる。すなわち、プリント機能とスキャン機能とを連携させることで、コピー機能が実行可能となる。
【００４３】
連携機能の概念の範疇には、複数の機器１０を連携させることで新たな機能の実行が可能となる合体機能が含まれてもよい。例えば、複数のディスプレイを組み合わせることで、合体機能としての拡張表示機能が実現されてもよい。別の例として、テレビとレコーダーとを組み合わせることで、合体機能としての録画機能が実現されてもよい。その録画機能は、例えば、テレビに表示されている画像を録画する機能である。また、複数のカメラを組み合わせることで、合体機能としての撮影領域拡張機能が実現されてもよい。この拡張機能は、例えば各カメラの撮影領域を繋ぎ合わせて撮影する機能である。また、電話と翻訳機や翻訳ソフトとを組み合わせることで、合体機能としての翻訳通話機能（電話を介した会話が翻訳される機能）が実現されてもよい。このように、連携機能の概念の範疇には、互いに同一の種類の複数の機器１０やソフトウェアを連携させることで実現可能となる機能や、互いに異なる種類の複数の機器１０やソフトウェアを連携させることで実現可能となる機能が含まれてもよい。
【００４４】
また、複数の機器１０によってコネクテッドホーム（ＩｏＴ技術を用いて、家電等の機器１０同士をネットワークによって接続するシステム）が構築され、そのコネクテッドホームにて連携機能が用いられてもよい。この場合、特定のサーバを介して機器１０同士が接続してもよいし、特定のサーバを介さずに機器１０同士が接続してもよい。
【００４５】
また、複数の機器１０は、ＩＦＴＴＴ（イフト）を用いて連携することで連携機能を実行してもよい。つまり、連携機能の内容が、ある機器１０にてトリガーとなる事象が発生した場合に、他の機器１０がアクション（処理）を実行するというものであってもよい。例えば、機器１０としてのセンサが扉の開きを検知したことがトリガーとなって、別の機器１０としての照明装置を点灯させるというアクションを実行する連携機能が実行されてもよい。また、ある機器１０によるアクションが別のトリガーとなって、更に別の機器１０がアクションを実行する機能も、連携機能の概念の範疇に含まれてもよい。また、複数のＷｅｂサービスを連携させる機能や、ＡＰＩ（Application Programming Interface）を利用して複数のシステムやサービス等を連携させるＡＰＩ連携が、連携機能の概念の範疇に含まれてもよい。
【００４６】
図１に示す例では、機器１０Ａ，１０Ｄ，１０Ｐは、中継器である。機器１０Ｂ，１０Ｑは、ロボットである。機器１０Ｃ，１０Ｒは、カメラである。機器１０Ｅ，１０Ｎは、ＰＣである。機器１０Ｆ，１０Ｇ，１０Ｌ，１０Ｍは、端末装置の一例としてのスマートフォンである。機器１０Ｈ，１０Ｋは、画像形成機能を有する複合機である。
【００４７】
中継器は、例えば、当該中継器に接続されている他の機器１０（例えば、当該他の機器１０が有するハードウェアや、当該他の機器１０にインストールされているソフトウェア）を制御してもよい。また、中継器は、インターネット等を利用することで、各種の情報を取得してもよい。中継器は、サーバとして機能してもよいし、データやユーザ情報の管理等を行ってもよい。中継器は、いわゆるスマートスピーカ（通信機能とスピーカ機能を有する機器）であってもよいし、通信機能を有するがスピーカ機能を有していない機器であってもよい。中継器は、屋内（例えば、部屋の由佳、天井、テーブル等）に設置されてもよいし、屋外に設置されてもよい。また、中継器は、移動可能な機器（例えば自動式の機器）であってもよい。
【００４８】
端末装置は、ＰＣ、タブレットＰＣ、スマートフォン、携帯電話等の機器である。端末装置は、ウェアラブル端末（腕時計型端末、リストバンド型端末、眼鏡型端末、指輪型端末、コンタクトレンズ型端末、体内埋め込み型端末、ヒアラブル端末等）であってもよい。また、端末装置は、表示装置としてフレキシブルディスプレイを有していてもよい。フレキシブルディスプレイとして、例えば、有機エレクトロルミネッセンス型のディスプレイ（フレキシブル有機ＥＬディスプレイ）、電子ペーパー型のディスプレイ、フレキシブル液晶ディスプレイ、等が用いられる。これら以外の表示方式が採用されたフレキシブルディスプレイが用いられてもよい。フレキシブルディスプレイは、表示部分が柔軟に変形可能なディスプレイであり、例えば、曲げたり、折り畳んだり、巻いたり、捩ったり、伸ばしたりすることが可能なディスプレイである。端末装置全体がフレキシブルディスプレイによって構成されていてもよいし、フレキシブルディスプレイとそれ以外の構成とが機能的又は物理的に分かれていてもよい。
【００４９】
例えば、機器１０Ａ〜１０Ｒのそれぞれは、ユーザの指示に従って、又は、ユーザの指示の有無にかかわらず自動的に、独立して単独機能を実行するように構成されている。例えば、中継器としての機器１０Ａ，１０Ｄ，１０Ｐは、ユーザの指示に従って、又は、ユーザの指示の有無にかかわらず自動的に、各種の情報を取得してユーザに提供する。ロボットとしての機器１０Ｂ，１０Ｑは、ユーザの指示に従って、又は、ユーザの指示の有無にかかわらず自動的に、各種の作業を実行する。カメラとしての機器１０Ｃ，１０Ｒは、ユーザの指示に従って、又は、ユーザの指示の有無にかかわらず自動的に、撮影することで画像データ（動画像データや静止画像データ）を生成する。ＰＣとしての機器１０Ｅ，１０Ｎは、ユーザの指示に従って、又は、ユーザの指示の有無にかかわらず自動的に、各種の処理を実行する。スマートフォンとしての機器１０Ｆ，１０Ｇ，１０Ｌ，１０Ｍは、ユーザの指示に従って、又は、ユーザの指示の有無にかかわらず自動的に、各種の処理を実行する。複合機としての機器１０Ｈ，１０Ｋは、ユーザの指示に従って、又は、ユーザの指示の有無にかかわらず自動的に、画像形成処理を実行する。
【００５０】
また、各機器１０は、自身に設定された連携機能を実行してもよい。例えば、連携機能の内容を示す設定情報が、当該連携機能に用いられる各機器１０に格納され、各機器１０は、自身に格納されている設定情報が示す連携機能を他の機器１０と連携して実行する。
【００５１】
各機器１０には、ユーザを補助するための１又は複数の操作アシスタント（パーソナルアシスタント）が搭載されている。操作アシスタントは、例えば、当該操作アシスタントが搭載されている機器１０や他の機器１０を制御するように構成されている。操作アシスタントは、機器１０を構成するハードウェアを制御してもよいし、機器１０にインストールされているソフトウェアを制御してもよい。例えば、操作アシスタントは、ユーザによって与えられた指示を解析し、その指示に従って機器１０を制御することで、ユーザによって指定された機能の実行を制御する。
【００５２】
また、操作アシスタントは、ユーザと対話する機能を有していてもよい。つまり、操作アシスタントは、ユーザの対話相手として機能してもよい。例えば、操作アシスタントは、ユーザの発言を解析し、その解析結果に基づいて回答を作成してユーザに提供する。
【００５３】
音声入力や文字入力等によって、ユーザの指示や発言が操作アシスタントに与えられた場合、操作アシスタントは、例えば、入力された情報に対して形態素解析等の自然言語処理を適用することで、その指示や発言を解析する。
【００５４】
操作アシスタントは、例えば、操作アシスタントプログラムが実行されることで実現される。その操作アシスタントプログラムは、各機器１０にインストールされている。もちろん、操作アシスタントプログラムは、サーバ等の外部装置にインストールされ、操作アシスタントの機能が、サーバから機器１０に提供されてもよい。
【００５５】
操作アシスタントは人工知能（ＡＩ）によって実現されてもよい。例えば、操作アシスタントは、人工知能による学習機能を有し、その学習機能によって、人に近い判断を行う能力を有していてもよい。また、ニューラルネットワーク型のディープラーニングが利用されてもよいし、部分的に学習分野を強化する強化学習等が利用されてもよいし、その他、遺伝的アルゴリズム、クラスタ分析、自己組織化マップ、アンサンブル学習、等が利用されてもよい。もちろん、これら以外の人工知能に関する技術が利用されてもよい。また、操作アシスタントは、自動応答ＡＩとしてのチャットボット（chatbot）（人工知能を活用した自動会話プログラム）として機能してもよい。
【００５６】
操作アシスタントは、当該操作アシスタントにログインしているユーザアカウントに紐付けられたユーザからの指示に従って動作してもよい。
【００５７】
第１実施形態では、ある機器１０（要求元の機器１０）が別の機器１０（要求先の機器１０）に接続要求を示す情報を送信した場合、当該別の機器１０（要求先の機器１０）に搭載されている操作アシスタントが、従操作アシスタントとして設定されて従操作アシスタントとして動作させられる。従操作アシスタントは、当該操作アシスタント以外の別の操作アシスタントからの指示に従って制御される。
【００５８】
例えば、機器１０に単独機能や連携機能が設定される場合や、機器１０を用いて単独機能や連携機能が実行される場合や、ユーザが接続要求を指示した場合や、ある機器１０を介して別の機器１０を利用する場合等に、ある機器１０が別の機器１０に接続要求を示す情報を送信することがある。この場合、要求先の別の機器１０に搭載されている操作アシスタントが、従操作アシスタントとして設定される。もちろん、上記以外の事象が発生した場合に、接続要求を示す情報が、ある機器１０から別の機器１０に送信されてもよい。
【００５９】
以下、図２を参照して、機器１０の構成について詳しく説明する。図２は、機器１０の構成の一例を示す。なお、図２は、各機器１０が共通して有する構成を示しており、各機器１０の特有の構成を示していない。
【００６０】
通信部１２は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を有する。通信部１２は、無線通信機能を有する通信インターフェースであってもよいし、有線通信機能を有する通信インターフェースであってもよい。通信部１２は、例えば、１又は複数の種類の通信方式に対応しており、通信相手に適した通信方式（つまり、通信相手が対応している通信方式）に従って通信相手と通信してもよい。通信方式は、例えば、赤外線通信、可視光通信、Ｗｉ−Ｆｉ（登録商標）通信、近接無線通信（例えばＮＦＣ（Near Field Communication）等）、等である。近接無線通信としては、Ｆｅｌｉｃａ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）、ＲＦＩＤ（Radio Frequency Identifier）等が用いられる。また、通信部１２は、第５世代移動通信システム（５Ｇ）に対応してもよい。もちろん、別の方式の無線通信が近接無線通信として用いられてもよい。通信部１２は、通信相手に応じて通信方式や周波数帯域を切り替えてもよいし、周囲の環境に応じて通信方式や周波数帯域を切り替えてもよい。周波数帯域として、例えば、２．４ＧＨｚや５ＧＨｚ等が用いられてもよい。
【００６１】
ＵＩ部１４はユーザインターフェース部であり、表示部と操作部を含む。表示部は、例えば液晶ディスプレイ等の表示装置である。表示部は、フレキシブルディスプレイであってもよい。操作部は、例えばタッチパネルやキーボード等の入力装置である。ＵＩ部１４は、表示部と操作部とを兼ねたユーザインターフェース（例えば、タッチ式のディスプレイや、ディスプレイ上に電子的にキーボード等を表示する装置等を含む）であってもよい。また、ＵＩ部１４は、マイク等の集音部やスピーカ等の音声発生部を含んでいてもよい。この場合、音声入力によって情報が機器１０に入力されてもよいし、音声によって情報が発せられてもよい。なお、ＵＩ部１４を有していない機器１０が、情報処理システムに含まれてもよい。例えば、情報をユーザに出力しないセンシング機器は、ＵＩ部１４を有していなくてもよい。
【００６２】
記憶部１６は、ハードディスクやメモリ（例えばＳＳＤ等）等の記憶装置である。記憶部１６には、例えば、各種のデータや各種のプログラム等が記憶されている。プログラムとして、例えば、ＯＳ（Operating System）や、１又は複数の操作アシスタントプログラムや、各種のアプリケーションプログラム等が記憶されている。なお、機器１０によっては、ＯＳやアプリケーションプログラムが記憶部１６に記憶されていない場合もある。また、記憶部１６には、他の機器１０のアドレスを示す機器アドレス情報（例えばＩＰアドレスやＭＡＣアドレス等）や、サーバのアドレスを示すサーバアドレス情報（例えばＩＰアドレスやＭＡＣアドレス等）等が記憶されてもよい。
【００６３】
実行部１８は、機能を実行するように構成されている。例えば、機器１０が画像形成装置である場合、実行部１８は、スキャン機能やプリント機能やコピー機能等の画像形成機能を実行する。また、機器１０がロボットである場合、実行部１８は、ロボットが有する機能（例えば、移動機能や持ち上げ機能等）を実行する。機器１０がカメラである場合、実行部１８は、撮影機能を実行する。
【００６４】
制御部２０は、機器１０の各部の動作を制御するように構成されている。例えば、制御部２０は、プログラムの実行、通信部１２による通信の制御、ＵＩ部１４を用いた情報の通知（例えば情報の表示や音声出力等）の制御、ＵＩ部１４を用いて機器１０に入力された情報の受け付け、記憶部１６への情報の書き込み、記憶部１６からの情報の読み出し、実行部１８の制御、等を行う。また、制御部２０は、アシスタント制御部２２を含む。
【００６５】
アシスタント制御部２２は、第１実施形態では、機器１０同士の接続に応じて、操作アシスタントを主操作アシスタント又は従操作アシスタントとして設定することで、操作アシスタントを主操作アシスタント又は従操作アシスタントとして動作させるように構成されている。アシスタント制御部２２は、自身の機器１０に搭載されている操作アシスタントを主操作アシスタント又は従操作アシスタントとして設定してもよいし、他の機器１０に搭載されている操作アシスタントを主操作アシスタント又は従操作アシスタントとして設定してもよい。従操作アシスタントは、上述したように、当該従操作アシスタント以外の別の操作アシスタントからの指示に従って制御される。主操作アシスタントは、当該別の操作アシスタントの一例に相当する。
【００６６】
以下、図３を参照して、中継器の外観について詳しく説明する。図３は、中継器を示す斜視図である。図３は、一例として、中継器としての機器１０Ａを示す。機器１０Ｆ，１０Ｐも、機器１０Ａと同様の構成を有していてもよいし、別の構成を有していてもよい。
【００６７】
機器１０Ａは、いわゆるスマートスピーカであり、通信機能と音声によるアシスト機能とを有する。機器１０Ａは、柱状の本体部２４を含む。本体部２４の側面には、マイク２６、スピーカ２８、表示部３０、及び、発光部３２，３４が設けられている。また、本体部２４の上面には、センサ３６が設けられている。なお、本体部２４の形状は、図３に示されている形状に限定されるものではない。マイク２６とスピーカ２８を備えた中継器であれば、その形状は、どのような形状であってもよい。また、マイク２６、スピーカ２８、表示部３０、発光部３２，３４、及び、センサ３６は、図３に示されている位置以外の位置に配置されてもよい。
【００６８】
マイク２６は、集音装置として機能し、機器１０Ａの周囲の音を集音する。例えば、ユーザの音声がマイク２６によって集音される。
【００６９】
ユーザが操作アシスタントと対話している場合、スピーカ２８から操作アシスタントの発言内容が音声として発せられる。また、音楽やテレビの音声やラジオの音声等が、スピーカ２８から発せられてもよい。
【００７０】
表示部３０は、表示装置である。表示部３０は、操作部を兼ねたユーザインターフェース（例えばタッチパネル等）であってもよい。
【００７１】
発光部３２は、１又は複数の光源（例えば光源３８，４０，４２）を含み、機器１０Ａに搭載されている操作アシスタントの設定内容に応じた発光の仕方に従って発光する。例えば、年齢、性別、職業、性格等が、設定項目として操作アシスタントに設定される。操作アシスタントは、その設定項目に従って、ユーザに対して回答したり、作業を実行したりする。例えば、職業の設定項目として医師が設定されている場合、光源３８，４０が青色に発光し、光源４０が黄色に発光する。別の設定項目が設定された場合、発光部３２は、その設定された内容に応じた発光の仕方に従って発光する。
【００７２】
発光部３４は、１又は複数の光源（例えば光源４４，４６，４８）を含み、機器１０Ａに搭載されている操作アシスタントにログインしているユーザアカウントに応じた発光の仕方に従って発光する。例えば、ユーザＢが、機器１０Ａに搭載されている操作アシスタントにログインしている場合、光源４４，４８が青色に発光し、光源４６が黄色に発光する。別のユーザが操作アシスタントにログインしている場合、発光部３４は、そのユーザに応じた発光の仕方に従って発光する。
【００７３】
なお、発光部３２，３４は区別されずに本体部２４に設けられてもよい。例えば、発光部３２，３４に含まれる全光源を用いて、操作アシスタントの設定内容やユーザアカウントが表現されてもよい。また、各光源の発光パターン（例えば、点滅の仕方、時間の長さ等）によって、操作アシスタントの設定内容やユーザアカウントが表現されてもよい。
【００７４】
センサ３６は、ユーザのジェスチャーを検知する。機器１０Ａは、検知されたジェスチャーに従った処理を実行する。例えば、機器１０Ａは、検知されたジェスチャーに従って、自装置にて処理を実行してもよいし、他の機器１０の動作を制御してもよい。
【００７５】
以下、図４を参照して、連携機能について詳しく説明する。図４は、機能管理テーブルの一例を示す。機能管理テーブルは、各機器１０に設定された連携機能を管理するためのテーブルである。機能管理テーブルのデータは、連携機能が設定された機器１０に記憶されてもよいし、連携機能を設定するために用いられた機器１０に記憶されてもよいし、各機器１０を制御するためのサーバや中継器に記憶されてもよい。例えば、ユーザが、スマートフォンとしての機器１０Ｆを用いて連携機能の設定を指示した場合、機能管理テーブルのデータは、その機器１０Ｆに記憶されてもよい。また、中継器としての機器１０Ａに接続された機器１０に対して連携機能が設定された場合、機能管理テーブルは、その機器１０Ａに記憶されてもよい。
【００７６】
機能管理テーブルにおいては、一例として、連携機能に用いられる複数の機器１０を示す情報と、当該複数の機器１０に設定された連携機能の内容を示す情報と、が互いに紐付けられている。以下、機能管理テーブルに登録されている各連携機能の具体例に付いて説明する。
【００７７】
ＰＣとしての機器１０Ｅと複合機としての機器１０Ｈとの組み合わせを示す情報と、機器１０Ｅ，１０Ｈに設定された連携機能を示す情報と、が互いに紐付けられている。その連携機能は、「スキャン転送機能」と「プリント機能」である。スキャン転送機能は、「スキャン機能を有する複合機（機器１０Ｈ）によってスキャン（画像読取）を実行し、それによって生成された画像データを複合機（機器１０Ｈ）からＰＣ（機器１０Ｅ）に転送する」という機能である。また、プリント機能は、「ＰＣ（機器１０Ｅ）に保存されているデータを、複合機（機器１０Ｈ）に送って複合機によってプリントする」という機能である。ユーザによってスキャン転送機能の実行指示が与えられた場合、機器１０Ｅ，１０Ｈはスキャン転送機能を実行する。同様に、ユーザによってプリント機能の実行指示が与えられた場合、機器１０Ｅ，１０Ｈはプリント機能を実行する。
【００７８】
また、カメラとしての機器１０Ｃとロボットとしての機器１０Ｂとの組み合わせを示す情報と、機器１０Ｂ，１０Ｃに設定された連携機能を示す情報と、が互いに紐付けられている。その連携機能は、「カメラ（機器１０Ｃ）によって不審者が検知された場合、その不審者が検知された場所にロボット（機器１０Ｂ）を向かわせる」という機能である。その連携機能の状態がアクティブ（オン状態）に設定されている場合、機器１０Ｂ，１０Ｃはその連携機能を実行する。
【００７９】
また、複合機とプロジェクタとの組み合わせを示す情報と、複合機とプロジェクタとの組み合わせに設定された連携機能を示す情報と、が互いに紐付けられている。その連携機能は、「投影機能」と「プリント機能」である。投影機能は、「スキャン機能を有する複合機によってスキャンを実行し、それによって生成された画像データをプロジェクタによって投影する」という機能である。プリント機能は、「プロジェクタによって投影されている画像データを複合機に送り、複合機によってその画像データをプリントする」という機能である。ユーザによって投影機能の実行指示が与えられた場合、複合機とプロジェクタは投影機能を実行する。同様に、ユーザによってプリント機能の実行指示が与えられた場合、複合機とプロジェクタはプリント機能を実行する。
【００８０】
また、扉開閉センサと照明装置との組み合わせを示す情報と、扉開閉センサと照明装置との組み合わせに設定された連携機能を示す情報と、が互いに紐付けられている。その連携機能は、「扉開閉センサが扉の開きを検知した場合、照明装置を点灯させる」という機能である。その連携機能の状態がアクティブ（オン状態）に設定されている場合、扉開閉センサと照明装置は、その連携機能を実行する。
【００８１】
図４に示されている連携機能は一例に過ぎず、上記以外の連携機能が各機器１０に設定されてもよい。また、ソフトウェアを用いる連携機能が設定されてもよい。
【００８２】
以下、第１実施形態に係る実施例について詳しく説明する。
【００８３】
（実施例１−１）
図５を参照して、実施例１−１に係る処理について説明する。図５は、機器１０の一例を示す。実施例１−１では、スマートフォンとしての機器１０Ｆが要求元の機器に該当し、中継器としての機器１０Ａが要求先の機器に該当する。つまり、機器１０Ｆが機器１０Ａに対して接続要求を示す情報を送信する。例えば、機器１０Ａが有する単独機能を実行する場合や、機器１０Ｆを用いて機器１０Ａに単独機能を設定する場合や、機器１０Ｆと機器１０Ａとが連携して連携機能を実行する場合や、機器１０Ｆを用いて機器１０Ａに連携機能を設定する場合や、機器１０Ｆを用いて、機器１０Ａを介して他の機器１０に連携機能を設定する場合や、機器１０Ｆを介して機器１０Ａを利用する場合や、ユーザが機器１０Ｆを用いて接続要求の送信指示を与えた場合等に、機器１０Ｆが機器１０Ａに対して接続要求を示す情報を送信する。もちろん、これら以外の事象が発生した場合に、機器１０Ｆが機器１０Ａに接続要求を示す情報を送信してもよい。
【００８４】
機器１０Ｆには、操作アシスタントＡ１が搭載されている。機器１０Ａには、操作アシスタントＡ２が搭載されている。操作アシスタントＡ１，Ａ２は、例えば、互いに同じ種類の操作アシスタントであってもよいし、互いに異なる種類の操作アシスタントであってもよい。例えば、操作アシスタントＡ１，Ａ２は、互いに同じ人工知能（ＡＩ）を有してもよいし、互いに異なる人工知能（ＡＩ）を有してもよい。操作アシスタントＡ１，Ａ２が互いに同じ種類の操作アシスタントであっても（例えば互いに同じ種類のＡＩを有していても）、互いのバージョンが異なる場合や、制御可能な機能や機器が互いに異なる場合や、利用可能なユーザが互いに異なる場合や、ログインしているユーザアカウントが互いに異なる場合には、操作アシスタントＡ１，Ａ２は、互いに異なる操作アシスタントとして扱われてもよい。操作アシスタントＡ１，Ａ２の学習の程度が互いに異なる場合、操作アシスタントＡ１，Ａ２は、互いに異なる操作アシスタントとして扱われてもよい。
【００８５】
図５に示す例では、機器１０Ｆが第１機器の一例に相当し、機器１０Ａが第２機器の一例に相当する。また、操作アシスタントＡ１が第１操作アシスタントの一例に相当し、操作アシスタントＡ２が第２操作アシスタントの一例に相当する。
【００８６】
機器１０Ｆから機器１０Ａに対して接続要求を示す情報が送信された場合、アシスタント制御部２２は、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定することで、当該操作アシスタントＡ１を主操作アシスタントとして動作させる。また、アシスタント制御部２２は、要求先の機器１０Ａに搭載されている操作アシスタントＡ２を従操作アシスタントとして設定することで、当該操作アシスタントＡ２を従操作アシスタントとして動作させる。つまり、アシスタント制御部２２は、操作アシスタントＡ１と操作アシスタントＡ２との間に主従関係を設定する。従操作アシスタントとしての操作アシスタントＡ２は、主操作アシスタントとしての操作アシスタントＡ１からの指示に従って動作する。例えば、ユーザが機器１０Ｆを用いて、機器１０Ａに対する指示を操作アシスタントＡ１に与えた場合、操作アシスタントＡ１は、機器１０Ａに搭載されている操作アシスタントＡ２に対して当該指示を与える。操作アシスタントＡ２は、当該指示に従って動作する。例えば、操作アシスタントＡ２は、操作アシスタントＡ１からの指示に従って、機器１０Ａの動作を制御する。
【００８７】
上記の主従関係は、要求元の機器１０Ｆのアシスタント制御部２２によって設定されてもよいし、要求先の機器１０Ａのアシスタント制御部２２によって設定されてもよいし、サーバ等の外部装置に設けられたアシスタント制御部２２によって設定されてもよい。
【００８８】
例えば、機器１０Ｆが機器１０Ａに接続要求を示す情報を送信した場合、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。また、機器１０Ｆのアシスタント制御部２２は、従操作アシスタントの指示を示す情報（主操作アシスタントとしての操作アシスタントＡ１を識別するための情報を含む）を機器１０Ａに送信することで、機器１０Ａに搭載されている操作アシスタントＡ２を、機器１０Ｆに搭載されている操作アシスタントＡ１からの指示に従って動作する従操作アシスタントとして設定する。
【００８９】
別の例として、機器１０Ｆが機器１０Ａに接続要求を示す情報を送信した場合、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。また、機器１０Ａのアシスタント制御部２２は、機器１０Ｆから接続要求を示す情報（主操作アシスタントとしての操作アシスタントＡ１を識別するための情報を含む）を受信すると、操作アシスタントＡ２を、機器１０Ｆに搭載されている操作アシスタントＡ１からの指示に従って動作する従操作アシスタントとして設定する。
【００９０】
更に別の例として、機器１０Ｆが機器１０Ａに接続要求を示す情報を送信した場合、機器１０Ｆは、機器１０Ｆが要求元の機器であることを示す情報、機器１０Ａが要求先の機器であることを示す情報、及び、機器１０Ｆ，１０Ａのそれぞれのアドレスを示す機器アドレス情報を、サーバ等の外部装置に送信する。外部装置のアシスタント制御部２２は、これらの情報を受信すると、主操作アシスタントを示す情報を機器１０Ｆに送信することで、操作アシスタントＡ１を主操作アシスタントとして設定し、従操作アシスタントを示す情報を機器１０Ａに送信することで、操作アシスタントＡ２を従操作アシスタントとして設定する。
【００９１】
操作アシスタントＡ１と操作アシスタントＡ２との間に主従関係が形成されている間、操作アシスタントＡ１を介さずに、操作アシスタントＡ２に指示が与えられる場合がある。例えば、操作アシスタントＡ１を介さずに、機器１０Ａに対して直接的に指示が与えられたり、機器１０Ｆ以外の機器１０から機器１０Ａに対して指示が与えられたりする場合がある。このような場合、操作アシスタントＡ２は、操作アシスタントＡ１を介さずに操作アシスタントＡ２に与えられた指示に従って動作せずに、操作アシスタントＡ１からの指示に従って動作する。この場合、後述するように主従関係が解消された後、操作アシスタントＡ２は、主従関係が形成されている間に操作アシスタントＡ１を介さずに操作アシスタントＡ２に与えられた指示に従って動作する。もちろん、主従関係が形成されている間であっても、操作アシスタントＡ１から操作アシスタントＡ２に対して指示が与えられていない間は、操作アシスタントＡ２は、操作アシスタントＡ１を介さずに操作アシスタントＡ２に与えられた指示に従って動作してもよい。
【００９２】
なお、機器１０Ｆから機器１０Ａに接続要求を示す情報が送信されたときに、操作アシスタントＡ２が作業を実行している場合、アシスタント制御部２２は、その作業が終了した後に、操作アシスタントＡ２を従操作アシスタントとして設定する。もちろん、接続要求が優先されてもよい。この場合、アシスタント制御部２２は、操作アシスタントＡ２が実行中の作業を一時的に停止させて、操作アシスタントＡ２を従操作アシスタントとして設定する。主従関係が解消された後、操作アシスタントＡ２は、停止させられた作業を実行する。
【００９３】
従操作アシスタントとしての操作アシスタントＡ２が、主操作アシスタントとしての操作アシスタントＡ１からの指示に従った作業を終了された場合、アシスタント制御部２２は、上記の主従関係を解消する。例えば、機器１０Ａが、機器１０Ｆからの指示に従った単独機能の実行を終了させた場合、アシスタント制御部２２は、操作アシスタントＡ１と操作アシスタントＡ２との間の主従関係を解消する。別の例として、機器１０Ｆと機器１０Ａとを用いる連携機能が設定されており、その連携機能の実行が終了した場合、アシスタント制御部２２は、操作アシスタントＡ１と操作アシスタントＡ２との間の主従関係を解消する。その解消は、要求元の機器１０Ｆのアシスタント制御部２２によって行われてもよいし、要求先の機器１０Ａのアシスタント制御部２２によって行われてもよいし、外部装置に設けられたアシスタント制御部２２によって行われてもよい。主従関係が解消された後、操作アシスタントＡ２は、操作アシスタントＡ１からの指示か否かにかかわらず、操作アシスタントＡ２に与えられた指示に従って動作する。
【００９４】
実施例１−１によれば、要求先の機器１０に搭載されている操作アシスタントが、要求元の機器１０に搭載されている操作アシスタントからの指示に従って動作する。このように、操作アシスタント間に主従関係が形成されるので、機器１０同士が接続された場合に、機器１０が適切に制御される。
【００９５】
なお、アシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＡ２にログインしているユーザアカウントに紐付けられたユーザの許可が得られた場合に、操作アシスタントＡ２を従操作アシスタントとして設定してもよい。例えば、操作アシスタントＡ２を従操作アシスタントとして設定することを許可するか否かをユーザに問い合わせるためのメッセージが、接続要求を示す情報を受信した機器１０Ａの表示部に表示される。機器１０Ａのユーザが許可した場合、アシスタント制御部２２は、操作アシスタントＡ２を従操作アシスタントとして設定する。機器１０Ａのユーザが許可しない場合、アシスタント制御部２２は、操作アシスタントＡ２を従操作アシスタントとして設定しない。この場合、操作アシスタントＡ２は、操作アシスタントＡ１からの指示か否かにかかわらず、操作アシスタントＡ２に与えられた指示に従って動作する。このように、要求先の機器１０のユーザが許可した場合に、要求先の操作アシスタントを縦操作アシスタントとして設定することで、当該ユーザの意図しないところで、要求先の操作アシスタントが従操作アシスタントとして設定されることが防止される。
【００９６】
以下、図６を参照して、主従関係が形成されている期間中の画面について説明する。図６は、その画面の一例を示す。画面５０は、要求元の機器１０Ｆに表示される画面である。
【００９７】
機器１０Ｆの制御部２０は、ＵＩ部１４の表示部に画面５０を表示させ、その画面５０上に各種の情報を表示させる。画面５０は、ユーザが操作アシスタントと対話するためのユーザインターフェース（会話型のユーザインターフェース）である。つまり、画面５０は、操作アシスタントとユーザとの間でメッセージをやり取りするためのユーザインターフェースである。画面５０には、ユーザが機器１０Ｆに入力した情報（例えば文字列や画像等）と、操作アシスタントの発言内容を示す情報（例えば文字列や画像等）が表示される。ユーザと操作アシスタントとの間の対話は、いわゆるチャット形式の対話（つまり、ユーザと操作アシスタントが互いに発言しながら対話が進む形式）である。例えば、操作アシスタントと対話するためのプログラム（例えばチャット用プログラム）が機器１０Ｆにインストールされており、そのチャット用プログラムが実行されることで、画面５０が表示される。
【００９８】
操作アシスタント用の表示エリアには、機器１０Ｆに搭載されている操作アシスタントＡ１に紐付けられた画像５２（例えばアイコン等）が表示される。ユーザ用の表示エリアには、ユーザに紐付けられた画像５４（例えばアイコンや写真等）が表示される。また、機器１０Ａに搭載されている操作アシスタントＡ２が従操作アシスタントとして動作させられている場合、操作アシスタント用の表示エリアには、操作アシスタントＡ２に紐付けられた画像５６（例えばアイコン等）が表示される。画像に代えて又は画像と共に、ユーザや操作アシスタントを識別するための文字列が表示されてもよい。
【００９９】
画面５０上にて、ユーザと操作アシスタントＡ１，Ａ２との間で対話が行われる。その対話において、操作アシスタントＡ１の発言内容５８が、画像５２に紐付けられて表示され、操作アシスタントＡ２の発言内容６０が、画像５６に紐付けられて表示され、ユーザの発言内容６２が、画像５４に紐付けられて表示される。操作アシスタントＡ２に対する指示は、操作アシスタントＡ１を介して与えられる。なお、従操作アシスタントとしての操作アシスタントＡ２に紐付けられた画像５６は、画面５０に表示されなくてもよい。
【０１００】
ユーザと操作アシスタントＡ１，Ａ２との間の対話に、他のユーザが参加してもよい。この場合、当該他のユーザに紐付けられた画像が画面５０に表示される。当該他のユーザの発言内容は、当該画像に紐付けられて画面５０に表示される。
【０１０１】
なお、ユーザは、音声やジェスチャーによって、操作アシスタントに対してメッセージを与えてもよい。この場合、画面５０は表示されなくてもよい。音声やジェスチャーが用いられる場合であっても、画面５０が表示され、その音声の内容やジェスチャーの内容が、文字列として画面５０に表示されてもよい。
【０１０２】
例えば、ユーザが、画面５０上にて、操作アシスタントＡ１に対して、機器１０Ｆ，１０Ａを用いる連携機能の実行を指示した場合、操作アシスタントＡ１は、その連携機能の実行を制御する。例えば、操作アシスタントＡ１は、機器１０Ｆを制御し、また、操作アシスタントＡ２に対して連携機能の実行指示を与える。このようにして、連携機能が実行される。
【０１０３】
（実施例１−２）
図７を参照して、実施例１−２に係る処理について説明する。図７は、機器１０の一例を示す。実施例１−２では、実施例１−１と同様に、機器１０Ｆが要求元の機器に該当し、機器１０Ａが要求先の機器に該当する。
【０１０４】
図７の（ａ）に示すように、機器１０Ｆには、操作アシスタントＡ１が搭載されている。機器１０Ａには、操作アシスタントＡ２が搭載されている。機器１０Ｆに搭載されている操作アシスタントＡ１には、アカウントαに紐付けられたユーザがログインしている。機器１０Ａに搭載されている操作アシスタントＡ２には、アカウントβに紐付けられたユーザがログインしている。
【０１０５】
機器１０Ｆが第１機器の一例に相当し、機器１０Ａが第２機器の一例に相当する。また、操作アシスタントＡ１が第１操作アシスタントの一例に相当し、操作アシスタントＡ２が第２操作アシスタントの一例に相当する。また、アカウントαが第１アカウントの一例に相当し、アカウントβが第２アカウントの一例に相当する。
【０１０６】
機器１０Ｆから機器１０Ａに対して接続要求を示す情報が送信された場合、図７の（ｂ）に示すように、アシスタント制御部２２は、アカウントβを操作アシスタントＡ２からログアウトさせ、要求元の操作アシスタントＡ１にログインしているアカウントαを、操作アシスタントＡ２にログインさせる。こうすることで、アシスタント制御部２２は、操作アシスタントＡ２を従操作アシスタントとして設定する。また、アシスタント制御部２２は、アカウントαがログインしている操作アシスタントＡ１を主操作アシスタントとして設定する。このようにして、アシスタント制御部２２は、操作アシスタントＡ１と操作アシスタントＡ２との間に主従関係を設定する。従操作アシスタントとしての操作アシスタントＡ２は、アカウントαがログインしている操作アシスタントＡ１からの指示に従って動作する。例えば、アカウントαに紐付けられたユーザが機器１０Ｆを用いて、機器１０Ａに対する指示を操作アシスタントＡ１に与えた場合、操作アシスタントＡ１は、機器１０Ａに搭載されている操作アシスタントＡ２に対して当該指示を与える。操作アシスタントＡ２は、当該指示に従って動作する。このように、操作アシスタントＡ２は、アカウントαに紐付けられたユーザからの指示に従って動作する。
【０１０７】
実施例１−１と同様に、上記の主従関係は、要求元の機器１０Ｆのアシスタント制御部２２によって設定されてもよいし、要求先の機器１０Ａのアシスタント制御部２２によって設定されてもよいし、サーバ等の外部装置に設けられたアシスタント制御部２２によって設定されてもよい。
【０１０８】
例えば、機器１０Ｆが機器１０Ａに接続要求を示す情報を送信した場合、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。また、機器１０Ｆのアシスタント制御部２２は、アカウント制御情報を機器１０Ａに送信する。アカウント制御情報は、要求先の操作アシスタントＡ２にログイン中のアカウントβを操作アシスタントＡ２からログアウトさせることを指示する情報と、要求元のアカウントαを操作アシスタントＡ２にログインさせることを指示する情報とを含む。機器１０Ｆのアシスタント制御部２２は、そのアカウント制御情報を機器１０Ａに送信することで、操作アシスタントＡ２からアカウントβをログアウトさせ、アカウントαを操作アシスタントＡ２にログインさせる。こうすることで、操作アシスタントＡ２は、アカウントβに紐付けられたユーザ（機器１０Ａ）からの指示に従わず、アカウントαに紐付けられたユーザ（機器１０Ｆ）からの指示に従って動作する。
【０１０９】
別の例として、機器１０Ｆが機器１０Ａに接続要求を示す情報を送信した場合、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。また、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡにログイン中のアカウントαを示す情報を、機器１０Ａに送信する。機器１０Ａのアシスタント制御部２２は、接続要求を示す情報とアカウントαを示す情報を機器１０Ｆから受信すると、操作アシスタントＡ２からアカウントβをログアウトさせ、アカウントαを操作アシスタントＡ２にログインさせる。こうすることで、操作アシスタントＡ２は、アカウントβに紐付けられたユーザ（機器１０Ａ）からの指示に従わず、アカウントαに紐付けられたユーザ（機器１０Ｆ）からの指示に従って動作する。
【０１１０】
更に別の例として、機器１０Ｆが機器１０Ａに接続要求を示す情報を送信した場合、機器１０Ｆは、機器１０Ｆが要求元の機器であることを示す情報、機器１０Ａが要求先の機器であることを示す情報、及び、機器１０Ｆ，１０Ａのそれぞれのアドレスを示す機器アドレス情報を、サーバ等の外部装置に送信する。外部装置のアシスタント制御部２２は、これらの情報を受信すると、主操作アシスタントを示す情報を機器１０Ｆに送信することで、操作アシスタントＡ１を主操作アシスタントとして設定する。また、外部装置のアシスタント制御部２２は、機器１０Ｆからアカウントαを示す情報を取得し、その情報を含むアカウント制御情報を機器１０Ａに送信することで、操作アシスタントＡ２からアカウントβをログアウトさせ、アカウントαを操作アシスタントＡ２にログインさせる。
【０１１１】
実施例１−１と同様に、操作アシスタントＡ１と操作アシスタントＡ２との間に主従関係が形成されている間、操作アシスタントＡ１を介さずに、操作アシスタントＡ２に指示が与えられる場合がある。この場合、操作アシスタントＡ２は、操作アシスタントＡ１を介さずに操作アシスタントＡ２に与えられた指示（アカウントα以外のアカウントからの指示）に従って動作せずに、操作アシスタントＡ１（アカウントα）からの指示に従って動作する。この場合、主従関係が解消された後、操作アシスタントＡ２は、主従関係が形成されている間に操作アシスタントＡ１を介さずに操作アシスタントＡ２に与えられた指示に従って動作する。もちろん、主従関係が形成されている間であっても、操作アシスタントＡ１から操作アシスタントＡ２に対して指示が与えられていない間は、操作アシスタントＡ２は、操作アシスタントＡ１を介さずに操作アシスタントＡ２に与えられた指示に従って動作してもよい。
【０１１２】
アカウントαが操作アシスタントＡ２からログアウトした場合、アシスタント制御部２２は、上記の主従関係を解消する。例えば、機器１０Ａが、機器１０Ｆからの指示に従った単独機能の実行を終了させ、アカウントαが操作アシスタントＡ２からログアウトした場合、アシスタント制御部２２は、操作アシスタントＡ１と操作アシスタントＡ２との間の主従関係を解消する。別の例として、機器１０Ｆと機器１０Ａとを用いる連携機能が設定されており、その連携機能の実行が終了して、アカウントαが操作アシスタントＡ２からログアウトした場合、アシスタント制御部２２は、操作アシスタントＡ１と操作アシスタントＡ２との間の主従関係を解消する。詳しく説明すると、図７の（ｃ）に示すように、アシスタント制御部２２は、操作アシスタントＡ２からアカウントαをログアウトさせ、元のアカウントβを操作アシスタントＡ２にログインさせる。こうすることで、操作アシスタントＡ２は、アカウントαに紐付けられたユーザからの指示（操作アシスタントＡ１からの指示）に従って動作せずに、アカウントβに紐付けられたユーザからの指示に従って動作する。また、ユーザの指示に従ってアカウントαが操作アシスタントＡ２からログアウトした場合に、アシスタント制御部２２は、アカウントβを操作アシスタントＡ２にログインさせることで、主従関係を解消してもよい。なお、実施例１−１と同様に、機器１０Ｆ、機器１０Ａ又は外部装置に設けられているアシスタント制御部２２による制御によって、上記の主従関係が解消される。
【０１１３】
実施例１−２によれば、要求先の機器１０に搭載されている操作アシスタントに対するアカウントのログイン及びログアウトを制御することで、要求先の機器１０に搭載されている操作アシスタントが、要求元の機器１０に搭載されている操作アシスタントからの指示に従って動作する。このように、操作アシスタント間に主従関係が形成されるので、機器１０同士が接続された場合に、機器１０が適切に制御される。
【０１１４】
なお、主操作アシスタントとしての操作アシスタントＡ１から従操作アシスタントとしての操作アシスタントＡ２に与えられた指示を示す情報は、機器１０Ａに記憶されない。例えば、アカウントαが操作アシスタントＡ２からログアウトするときに、要求先の機器１０Ａのアシスタント制御部２２が、その指示を示す情報を機器１０Ａから削除する。なお、要求元の機器１０Ｆのアシスタント制御部２２、又は、外部装置に設けられたアシスタント制御部２２が、その指示を示す情報を機器１０Ａから削除してもよい。こうすることで、指示を示す情報が機器１０Ａから漏洩することが防止され、指示を示す情報のセキュリティが確保される。なお、機器１０Ｆが機器１０Ａに接続したことを示す履歴情報は、機器１０Ａに記憶されてもよい。指示を示す情報の削除や、履歴情報の保存は、上記の実施例１−１にて行われてもよいし、下記の実施例にて行われてもよい。
【０１１５】
実施例１−１と同様に、操作アシスタントと対話するための画面５０が、機器１０Ｆの表示部に表示されてもよい。
【０１１６】
また、要求先のアカウントβに紐付けられたユーザの許可が得られた場合に、アシスタント制御部２２は、操作アシスタントＡ２からアカウントβをログオフさせて、操作アシスタントＡ２にアカウントαをログインさせてもよい。その許可が得られない場合、アシスタント制御部２２は、操作アシスタントＡ２へのアカウントβのログインを維持し、操作アシスタントＡ２にアカウントαをログインさせない。こうすることで、アカウントβに紐付けられたユーザの意図しないところで、アカウントβが操作アシスタントＡ２からログオフされて、操作アシスタントＡ２が従操作アシスタントとして設定されることが防止される。
【０１１７】
（実施例１−３）
図８を参照して、実施例１−３に係る処理について説明する。図８は、機器１０の一例を示す。実施例１−３では、実施例１−１と同様に、機器１０Ｆが要求元の機器に該当し、機器１０Ａが要求先の機器に該当する。
【０１１８】
図８の（ａ）に示すように、機器１０Ｆには、操作アシスタントＡ１が搭載されている。機器１０Ａには、操作アシスタントＡ２が搭載されている。機器１０Ｆに搭載されている操作アシスタントＡ１には、アカウントαに紐付けられたユーザがログインしている。機器１０Ａに搭載されている操作アシスタントＡ２には、アカウントβに紐付けられたユーザがログインしている。
【０１１９】
機器１０Ｆが第１機器の一例に相当し、機器１０Ａが第２機器の一例に相当する。また、操作アシスタントＡ１が第１操作アシスタントの一例に相当し、操作アシスタントＡ２が第２操作アシスタントの一例に相当する。また、アカウントαが第１アカウントの一例に相当し、アカウントβが第２アカウントの一例に相当する。
【０１２０】
機器１０Ｆから機器１０Ａに対して接続要求を示す情報が送信された場合、図８の（ｂ）に示すように、アシスタント制御部２２は、機器１０Ａにて動作する操作アシスタントを、操作アシスタントＡ２から、機器１０Ｆに搭載されている操作アシスタントＡ１に切り替える。こうすることで、アシスタント制御部２２は、機器１０Ａに動作する操作アシスタントを、機器１０Ｆからの指示に従って動作する従操作アシスタントとして設定する。
【０１２１】
例えば、アシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＡ２の起動を終了させ（操作アシスタントＡ２をオフ状態に設定し）、機器１０Ａにて操作アシスタントＡ１を起動させ（操作アシスタントＡ１をオン状態に設定し）、その操作アシスタントＡ１を従操作アシスタントとして設定する。例えば、機器１０Ａでは、操作アシスタントＡ２の操作アシスタントプログラムが実行中であり、アシスタント制御部２２は、その操作アシスタントプログラムを終了させることで、操作アシスタントＡ２の起動を終了させる。また、アシスタント制御部２２は、機器１０Ａにて、操作アシスタントＡ１の操作アシスタントプログラムを実行することで、操作アシスタントＡ１を起動させる。また、アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。従操作アシスタントとしての操作アシスタントＡ１は、主操作アシスタントとしての操作アシスタントＡ１からの指示に従って動作する。
【０１２２】
操作アシスタントＡ１の操作アシスタントプログラムが機器１０Ａにインストールされている場合、アシスタント制御部２２は、その操作アシスタントプログラムを実行する。その操作アシスタントプログラムが機器１０Ａにインストールされていない場合、アシスタント制御部２２は、その操作アシスタントプログラムをサーバ等の外部装置からダウンロードして機器１０Ａにインストールし、その操作アシスタントプログラムを実行する。
【０１２３】
また、アシスタント制御部２２は、機器１０Ｆにて主操作アシスタントとしての操作アシスタントＡ１にログインしているアカウントαを、機器１０Ａにて従操作アシスタントとして動作する操作アシスタントＡ１にログインさせる。こうすることで、従操作アシスタントとしての操作アシスタントＡ１は、アカウントαに紐付けられたユーザからの指示に従って動作する。操作アシスタントＡ２の起動が終了させられた場合、アカウントβは操作アシスタントＡ２から自動的にログアウトさせられる。
【０１２４】
実施例１−１と同様に、上記の主従関係は、要求元の機器１０Ｆのアシスタント制御部２２によって設定されてもよいし、要求先の機器１０Ａのアシスタント制御部２２によって設定されてもよいし、サーバ等の外部装置に設けられたアシスタント制御部２２によって設定されてもよい。
【０１２５】
例えば、機器１０Ｆが機器１０Ａに接続要求を示す情報を送信した場合、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。また、機器１０Ｆのアシスタント制御部２２は、アシスタント制御情報を機器１０Ａに送信する。アシスタント制御情報は、操作アシスタントの切り替えの指示を示す情報であり、具体的には、機器１０Ａにて動作する操作アシスタントを、機器１０Ｆに搭載されている操作アシスタントＡ１に切り替えることを指示する情報である。機器１０Ｆのアシスタント制御部２２は、そのアシスタント制御情報を機器１０Ａに送信することで、機器１０Ａにて動作する操作アシスタントを操作アシスタントＡ２から操作アシスタントＡ１に切り替える。
【０１２６】
別の例として、機器１０Ｆが機器１０Ａに接続要求を示す情報を送信した場合、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。また、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を示す情報を、機器１０Ａに送信する。機器１０Ａのアシスタント制御部２２は、接続要求を示す情報と操作アシスタントＡ１を示す情報を機器１０Ｆから受信すると、機器１０Ａにて動作する操作アシスタントを操作アシスタントＡ２から操作アシスタントＡ１に切り替える。
【０１２７】
更に別の例として、機器１０Ｆが機器１０Ａに接続要求を示す情報を送信した場合、機器１０Ｆは、機器１０Ｆが要求元の機器であることを示す情報、機器１０Ａが要求先の機器であることを示す情報、及び、機器１０Ｆ，１０Ａのそれぞれのアドレスを示す機器アドレス情報を、サーバ等の外部装置に送信する。外部装置のアシスタント制御部２２は、これらの情報を受信すると、主操作アシスタントを示す情報を機器１０Ｆに送信することで、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。また、外部装置のアシスタント制御部２２は、機器１０Ｆから操作アシスタントＡ１を示す情報を取得し、その情報を機器１０Ａに送信することで、機器１０Ａにて動作する操作アシスタントを操作アシスタントＡ２から操作アシスタントＡ１に切り替える。
【０１２８】
実施例１−１と同様に、上記の主従関係が形成されている間、主操作アシスタントとしての操作アシスタントＡ１を介さずに、従操作アシスタントとしての操作アシスタントＡ１に指示が与えられる場合がある。この場合、従操作アシスタントとしての操作アシスタントＡ１は、主操作アシスタントとしての操作アシスタントＡ１を介さずに与えられた指示に従って動作せずに、主操作アシスタントとしての操作アシスタントＡ１からの指示に従って動作する。この場合、主従関係が解消された後、操作アシスタントＡ２は、主従関係が形成されている間に主操作アシスタントを介さずに与えられた指示に従って動作する。もちろん、主従関係が形成されている間であっても、主操作アシスタントから従操作アシスタントに対して指示が与えられていない間は、従操作アシスタントは、主操作アシスタントを介さずに従操作アシスタントに与えられた指示に従って動作してもよい。
【０１２９】
従操作アシスタントとしての操作アシスタントＡ１が、主操作アシスタントとしての操作アシスタントＡ１からの指示に従った作業を終了された場合、アシスタント制御部２２は、上記の主従関係を解消する。例えば、例えば、機器１０Ａが、機器１０Ｆからの指示に従った単独機能の実行を終了させた場合、アシスタント制御部２２は、操作アシスタントＡ１と操作アシスタントＡ２との間の主従関係を解消する。別の例として、機器１０Ｆと機器１０Ａとを用いる連携機能が設定されており、その連携機能の実行が終了した場合、アシスタント制御部２２は、主従関係を解消する。詳しく説明すると、図８の（ｃ）に示すように、主従関係が解消された後、アシスタント制御部２２は、機器１０Ａにて動作する操作アシスタントを、操作アシスタントＡ１から元の操作アシスタントＡ２に切り替える。例えば、アシスタント制御部２２は、機器１０Ａにて、操作アシスタントＡ１の操作アシスタントプログラムの実行を終了させ、操作アシスタントＡ２の操作アシスタントプログラムを実行する。また、アシスタント制御部２２は、元のアカウントβを操作アシスタントＡ２にログインさせる。こうすることで、機器１０Ａでは、操作アシスタントＡ１の動作が停止し、操作アシスタントＡ２が動作する。操作アシスタントＡ２は、操作アシスタントＡ１からの指示か否かにかかわらず、操作アシスタントＡ２に与えられた指示に従って動作する。なお、実施例１−１と同様に、機器１０Ｆ、機器１０Ａ又は外部装置に設けられているアシスタント制御部２２によって、上記の主従関係が解消される。
【０１３０】
実施例１−３によれば、要求先の機器１０にて動作する操作アシスタントを、要求元の機器１０にて動作する操作アシスタントに切り替えることで、要求先の機器１０に搭載されている操作アシスタントが、要求元の機器１０に搭載されている操作アシスタントからの指示に従って動作する。このように、操作アシスタント間に主従関係が形成されるので、機器１０同士が接続された場合に、機器１０が適切に制御される。
【０１３１】
実施例１−１と同様に、操作アシスタントと対話するための画面５０が、機器１０Ｆの表示部に表示されてもよい。
【０１３２】
また、要求先のアカウントβに紐付けられたユーザの許可が得られた場合に、アシスタント制御部２２は、要求先の機器１０Ａにて動作する操作アシスタントを操作アシスタントＡ２から操作アシスタントＡ１に切り替えてもよい。その許可が得られない場合、アシスタント制御部２２は、機器１０Ａにて動作する操作アシスタントを切り替えない。こうすることで、アカウントβに紐付けられたユーザの意図しないところで、機器１０Ａにて動作する操作アシスタントが操作アシスタントＡ２から別の操作アシスタントに切り替えられることが防止される。
【０１３３】
（実施例１−４）
図９を参照して、実施例１−４に係る処理について説明する。図９は、機器１０の一例を示す。実施例１−４では、実施例１−１と同様に、機器１０Ｆが要求元の機器に該当し、機器１０Ａが要求先の機器に該当する。
【０１３４】
機器１０Ｆには、操作アシスタントＡ１が搭載されている。機器１０Ａには、操作アシスタントＡ２が搭載されている。
【０１３５】
機器１０Ｆが第１機器の一例に相当し、機器１０Ａが第２機器の一例に相当する。また、操作アシスタントＡ１が第１操作アシスタントの一例に相当し、操作アシスタントＡ２が第２操作アシスタントの一例に相当する。
【０１３６】
機器１０Ｆから機器１０Ａに対して接続要求を示す情報が送信された場合、アシスタント制御部２２は、第３操作アシスタントとしての標準操作アシスタントＡｓによって、機器１０Ａに搭載されている操作アシスタントＡ２を制御することで、操作アシスタントＡ２を従操作アシスタントとして動作させる。また、アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。標準操作アシスタントＡｓは、例えば、複数の種類の操作アシスタントと対話し、複数の種類の操作アシスタントを制御する機能を有する。例えば、標準操作アシスタントＡｓは、操作アシスタントＡ１，Ａ２との間でメッセージをやり取りし、操作アシスタントＡ１，Ａ２を制御する。標準操作アシスタントＡｓは、複数の操作アシスタントを個別的に制御してもよいし、複数の操作アシスタントを連携させて複数の操作アシスタントを横断的に制御してもよい。
【０１３７】
標準操作アシスタントＡｓは、複数の種類の操作アシスタントが共通して有する機能を有していてもよい。この場合、標準操作アシスタントＡｓは、複数の種類の操作アシスタントが共通して有していない機能を有していてもよいし、その機能を有していなくてもよい。例えば、標準操作アシスタントＡｓは、操作アシスタントＡ１，Ａ２が共通して有する機能を有し、操作アシスタントＡ１，Ａ２が共通して有していない機能を有していない。
【０１３８】
標準操作アシスタントＡｓは、複数の種類の操作アシスタントと対話可能であればよいため、標準操作アシスタントＡｓは、標準操作アシスタント以外の操作アシスタントよりも性能の低い機能を有する操作アシスタントであってもよい。
【０１３９】
例えば、標準操作アシスタントＡｓは、主操作アシスタントとしての操作アシスタントＡ１からの指示を受け、その指示に従って、従操作アシスタントとしての操作アシスタントＡ２を制御する。こうすることで、操作アシスタントＡ２は、標準操作アシスタントＡｓを介して、操作アシスタントＡ１からの指示に従って動作する。
【０１４０】
標準操作アシスタントＡｓは、要求元の機器１０Ｆに搭載されていてもよいし、要求先の機器１０Ａに搭載されていてもよいし、サーバ等の外部装置に搭載されていてもよい。図９に示す例では、外部装置６４に標準操作アシスタントＡｓが搭載されている。つまり、標準操作アシスタントＡｓの操作アシスタントプログラムが、外部装置６４に記憶されており、そのプログラムが実行されることで、外部装置６４にて標準操作アシスタントＡｓが動作する。
【０１４１】
実施例１−１と同様に、上記の主従関係は、要求元の機器１０Ｆのアシスタント制御部２２によって設定されてもよいし、要求先の機器１０Ａのアシスタント制御部２２によって設定されてもよいし、サーバ等の外部装置（例えば外部装置６４）に設けられたアシスタント制御部２２によって設定されてもよい。
【０１４２】
例えば、機器１０Ｆが機器１０Ａに接続要求を示す情報を送信した場合、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。また、機器１０Ｆのアシスタント制御部２２は、制御依頼情報を外部装置６４に送信する。制御依頼情報は、標準操作アシスタントによる制御を外部装置６４に依頼するための情報であり、要求先の機器１０Ａのアドレスを示す機器アドレス情報を含む情報である。機器１０Ｆのアシスタント制御部２２は、制御依頼情報を外部装置６４に送信することで、外部装置６４に搭載されている標準操作アシスタントＡｓを起動させ、その標準操作アシスタントＡｓに、要求先の機器１０Ａに搭載されている操作アシスタントＡ２を制御させる。機器１０Ｆに搭載されている操作アシスタントＡ１は、指示を示す情報を標準操作アシスタントＡｓに送信する。標準操作アシスタントＡｓは、その指示に従って、操作アシスタントＡ２を制御する。つまり、操作アシスタントＡ２は、標準操作アシスタントＡｓを介して操作アシスタントＡ１から与えられる指示に従って動作する。このようにして、操作アシスタントＡ２は、従操作アシスタントとして動作する。
【０１４３】
別の例として、機器１０Ｆが機器１０Ａに接続要求を示す情報を送信した場合、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。機器１０Ａのアシスタント制御部２２は、接続要求を示す情報を機器１０Ｆから受信すると、上記の制御依頼情報を外部装置６４に送信することで、外部装置６４に搭載されている標準操作アシスタントＡｓを起動させ、その標準操作アシスタントＡｓに、機器１０Ａに搭載されている操作アシスタントＡ２を制御させる。操作アシスタントＡ２は、標準操作アシスタントＡｓを介して操作アシスタントＡ１から与えられた指示に従って動作する。このようにして、操作アシスタントＡ２は、従操作アシスタントとして動作する。
【０１４４】
更に別の例として、機器１０Ｆが機器１０Ａに接続要求を示す情報を送信した場合、機器１０Ｆは、機器１０Ｆが要求元の機器であることを示す情報、機器１０Ａが要求先の機器であることを示す情報、及び、機器１０Ｆ，１０Ａのそれぞれのアドレスを示す機器アドレス情報を、外部装置６４に送信する。外部装置６４のアシスタント制御部２２は、これらの情報を受信すると、主操作アシスタントを示す情報を機器１０Ｆに送信することで、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。また、外部装置６４のアシスタント制御部２２は、外部装置６４に搭載されている標準操作アシスタントＡｓを起動させ、その標準操作アシスタントＡｓに、機器１０Ａに搭載されている操作アシスタントＡ２を制御させる。操作アシスタントＡ２は、標準操作アシスタントＡｓを介して操作アシスタントＡ１から与えられた指示に従って動作する。このようにして、操作アシスタントＡ２は、従操作アシスタントとして動作する。
【０１４５】
実施例１−１と同様に、上記の主従関係が形成されている間、標準操作アシスタントＡｓを介さずに、従操作アシスタントとしての操作アシスタントＡ２に指示が与えられる場合がある。この場合、操作アシスタントＡ２は、標準操作アシスタントＡｓを介さずに与えられた指示に従って動作せずに、標準操作アシスタントＡｓを介して操作アシスタントＡ１から与えられた指示に従って動作する。この場合、主従関係が解消された後、操作アシスタントＡ２は、主従関係が形成されている間に標準操作アシスタントＡｓを介さずに与えられた指示に従って動作する。もちろん、主従関係が形成されている間であっても、標準操作アシスタントＡｓから操作アシスタントＡ２に対して指示が与えられていない間は、操作アシスタントＡ２は、標準操作アシスタントＡｓを介さずに操作アシスタントＡ２に与えられた指示に従って動作してもよい。
【０１４６】
従操作アシスタントとしての操作アシスタントＡ２が、主操作アシスタントとしての操作アシスタントＡ１からの指示に従った作業を終了された場合、アシスタント制御部２２は、上記の主従関係を解消する。例えば、機器１０Ａが、機器１０Ｆからの指示に従った単独機能の実行を終了させた場合、アシスタント制御部２２は、操作アシスタントＡ１と操作アシスタントＡ２との間の主従関係を解消する。別の例として、機器１０Ｆと機器１０Ａとを用いる連携機能が設定されており、その連携機能の実行が終了した場合、アシスタント制御部２２は、主従関係を解消する。これにより、操作アシスタントＡ２は、標準操作アシスタントＡｓを介した操作アシスタントＡ１からの指示か否かにかかわらず、操作アシスタントＡ２に与えられた指示に従って動作する。なお、実施例１−１と同様に、機器１０Ｆ、機器１０Ａ又は外部装置６４に設けられているアシスタント制御部２２によって、上記の主従関係が解消される。
【０１４７】
実施例１−４によれば、標準操作アシスタントを介して、要求先の機器１０に搭載されている操作アシスタントが制御されるので、機器１０同士が接続された場合に、機器１０が適切に制御される。
【０１４８】
なお、アシスタント制御部２２は、要求元の機器１０に搭載されている操作アシスタントを標準操作アシスタントによって制御してもよい。図９に示す例では、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１は、外部装置６４に搭載されている標準操作アシスタントＡｓからの指示に従って動作する。例えば、ユーザが機器１０Ｆを用いて操作アシスタントに指示を与えた場合、その指示を示す情報が、機器１０Ｆから外部装置６４に送信される。標準操作アシスタントＡｓは、その指示を示す情報を受けると、その指示に従って、操作アシスタントＡ１，Ａ２を制御する。また、機器１０Ｆと機器１０Ａとを用いる連携機能の実行が終了した場合、アシスタント制御部２２は、操作アシスタントＡ１と標準操作アシスタントＡｓとの間の主従関係を解消する。これにより、操作アシスタントＡ１は、標準操作アシスタントＡｓを介して与えられた指示か否かにかかわらず、操作アシスタントＡ１に与えられた指示に従って動作する。
【０１４９】
また、実施例１−３と同様に、アシスタント制御部２２は、要求先の機器１０Ａにて動作する操作アシスタントを、操作アシスタントＡ２から標準操作アシスタントＡｓに切り替えてもよい。標準操作アシスタントＡｓの操作アシスタントプログラムが機器１０Ａにインストールされている場合、アシスタント制御部２２は、機器１０Ａにて当該操作アシスタントプログラムを実行することで、機器１０Ａにて標準操作アシスタントＡｓを起動させる。また、アシスタント制御部２２は、機器１０Ａにて、操作アシスタントＡ２の操作アシスタントプログラムの実行を終了させる。当該操作アシスタントプログラムが機器１０Ａにインストールされていない場合、アシスタント制御部２２は、当該操作アシスタントプログラムを機器１０Ａにダウンロードして当該操作アシスタントプログラムをする。機器１０Ａに搭載されている標準操作アシスタントＡｓは、例えば、外部装置６４に搭載されている標準操作アシスタントＡｓを介して操作アシスタントＡ１から与えられた指示に従って動作する。機器１０Ａに搭載されている標準操作アシスタントＡｓは、外部装置６４に搭載されている標準操作アシスタントＡｓを介さずに操作アシスタントＡ１から与えられた指示に従って動作してもよい。連携機能の実行が終了した場合、アシスタント制御部２２は、機器１０Ａにて動作する操作アシスタントを、標準操作アシスタントＡｓから元の操作アシスタントＡ２に切り替える。
【０１５０】
また、アシスタント制御部２２は、要求元の機器１０Ｆにて動作する操作アシスタントを、操作アシスタントＡ１から標準操作アシスタントＡｓに切り替えてもよい。機器１０Ｆに搭載された標準操作アシスタントＡｓは、外部装置６４に搭載されている標準操作アシスタントＡｓを介して、又は、外部装置６４に搭載されている標準操作アシスタントＡｓを介さずに、機器１０Ａにて動作する操作アシスタント（操作アシスタントＡ２又は標準操作アシスタントＡｓ）に指示を与える。連携機能の実行が終了した場合、アシスタント制御部２２は、機器１０Ｆにて動作する操作アシスタントを、標準操作アシスタントＡｓから元の操作アシスタントＡ１に切り替える。
【０１５１】
以下、図１０を参照して、主従関係が形成されている期間中の画面について説明する。図１０は、その画面の一例を示す。画面５０は、要求元の機器１０Ｆに表示される画面である。
【０１５２】
機器１０Ｆの制御部２０は、ＵＩ部１４の表示部に画面５０を表示させる。画面５０は、ユーザと標準操作アシスタントＡｓとの間でメッセージをやり取りするためのユーザインターフェースである。例えば、機器１０Ｆにて動作する操作アシスタントが、操作アシスタントＡ１から標準操作アシスタントＡｓに切り替えられた場合に、画面５０上にて、ユーザと標準操作アシスタントＡｓとの間でメッセージがやり取りされる。画面５０において、操作アシスタント用の表示エリアには、標準操作アシスタントＡｓに紐付けられた画像６６が表示され、標準操作アシスタントＡｓの発言内容６８が画像６６に紐付けられて表示される。また、ユーザ用の表示エリアには、ユーザに紐付けられた画像５４が表示される。
【０１５３】
画面５０上にて、ユーザと標準操作アシスタントＡｓとの間で対話が行われる。例えば、ユーザが、画面５０上にて、標準操作アシスタントＡｓに対して、機器１０Ｆ，１０Ａを用いる連携機能の実行を指示した場合、標準操作アシスタントＡｓは、その連携機能の実行を制御する。例えば、標準操作アシスタントＡｓは、機器１０Ｆ，１０Ａを制御することで、連携機能を機器１０Ｆ，１０Ａに実行させる。
【０１５４】
なお、機器１０Ｆにて動作する操作アシスタントが、操作アシスタントＡ１から標準操作アシスタントＡｓに切り替えられない場合であっても、標準操作アシスタントＡｓに紐付けられた画像６６が画面５０に表示されてもよい。画像６６が画面５０に表示されても、ユーザと対話する対話相手は、操作アシスタントＡ１であってもよい。もちろん、実際にユーザと対話する操作アシスタントＡ１に紐付けられた画像が、画面５０に表示され、画像６６は画面５０に表示されなくてもよい。
【０１５５】
また、要求先のアカウントβに紐付けられたユーザの許可が得られた場合に、アシスタント制御部２２は、操作アシスタントＡ２を従操作アシスタントとして設定してもよい。その許可が得られない場合、アシスタント制御部２２は、操作アシスタントＡ２を従操作アシスタントとして設定しない。こうすることで、要求先のアカウントβに紐付けられたユーザの意図しないところで、要求先の操作アシスタントが従操作アシスタントとして設定されることが防止される。
【０１５６】
制御部２０は、画面５０上に、ユーザの直接の会話相手（操作アシスタント）に紐付けられた画像を表示させてもよいし、直接の会話相手以外の操作アシスタントに紐付けられた画像を表示させてもよい。例えば、標準操作アシスタントＡｓが直接の会話相手である場合、制御部２０は、図１０に示すように、標準操作アシスタントＡｓに紐付けられた画像６６を画面５０に表示させてもよいし、機器１０Ｆに搭載されている操作アシスタントＡ１に紐付けられた画像を画面５０に表示させてもよい。標準操作アシスタントＡｓが直接の会話相手である場合、ユーザが実際にメッセージをやり取りしている操作アシスタントは標準操作アシスタントＡｓではあるが、操作アシスタントＡ１に紐付けられた画像が表示されてもよい。この場合、あたかも操作アシスタントＡ１とユーザとの間でメッセージのやり取りが行われているような印象が、ユーザに与えられる。また、要求先の機器１０の表示部に、ユーザと操作アシスタントとの間でメッセージをやり取りするための画面が表示されてもよい。この場合、要求先の機器１０に搭載されている操作アシスタントに紐付けられた画像が、ユーザの会話相手の画像として表示されてもよいし、標準操作アシスタントＡｓに紐付けられ画像が、その会話相手の画像として表示されてもよい。
【０１５７】
なお、要求元の機器１０Ｆから複数の操作指示を示す情報が外部装置６４に送信され、外部装置６４に、複数の操作指示を示す情報が記憶されてもよい。つまり、外部装置６４に搭載されている標準操作アシスタントＡｓに、複数の操作指示が与えられてもよい。この場合、標準操作アシスタントＡｓは、各操作指示を、操作対象の機器１０に送信する。
【０１５８】
（実施例１−５）
図１１を参照して、実施例１−５に係る処理について説明する。図１１は、機器１０の一例を示す。実施例１−５では、実施例１−１と同様に、機器１０Ｆが要求元の機器に該当し、機器１０Ａが要求先の機器に該当する。
【０１５９】
実施例１−５では、機器１０に複数の操作アシスタントが搭載されている。他の機器１０の関係に基づいて、当該複数の操作アシスタントの中から、動作する操作アシスタントが選択されてもよい。また、実行対象の機能（単独機能や連携機能）に基づいて、当該複数の操作アシスタントの中から、動作する操作アシスタントが選択されてもよい。
【０１６０】
同一の機器１０に搭載されている複数の操作アシスタントは、例えば、互いに異なる種類の操作アシスタントである。例えば、当該複数の操作アシスタントは、互いに異なる人工知能（ＡＩ）を有する操作アシスタントである。別の例として、当該複数の操作アシスタントが互いに同じ種類の操作アシスタントであっても（例えば互いに同じ種類のＡＩを有していても）、互いのバージョンが異なる場合や、制御可能な機能や機器が互いに異なる場合や、利用可能なユーザが互いに異なる場合や、ログインしているユーザアカウントが互いに異なる場合には、当該複数の操作アシスタントは互いに異なる操作アシスタントとして扱われてもよい。
【０１６１】
以下、実施例１−５について詳しく説明する。図１１に示すように、機器１０Ｆには、操作アシスタントＡ１が搭載されている。機器１０Ａには、操作アシスタントＡ４，Ａ５が搭載されている。このように、機器１０Ａには、複数の操作アシスタントが搭載されている。
【０１６２】
例えば、操作アシスタント毎に、操作アシスタントが制御可能な機能、操作アシスタントが制御可能な機器、及び、操作アシスタントが制御可能な機器の数、等が予め定められている。例えば、図１２に示すように、操作アシスタントＡ４は、スキャン機能、プリント機能及びコピー機能等の画像形成機能を制御することが可能であり、また、複合機としての機器１０Ｈ，１０Ｋを制御することが可能である。操作アシスタントＡ５は、撮影機能を制御することが可能であり、また、カメラとしての機器１０Ｃを制御することが可能である。
【０１６３】
機器１０Ｆから機器１０Ａに対して接続要求を示す情報が送信された場合、アシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＡ４，Ａ５の中から、実行対象の機能を制御可能な操作アシスタントを、従操作アシスタントとして選択する。例えば、単独機能としての画像形成機能の実行や、画像形成機能を用いた連携機能の実行が、ユーザによって指示されている場合、アシスタント制御部２２は、画像形成機能の実行が可能な操作アシスタントＡ４を従操作アシスタントとして選択する。また、アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。操作アシスタントＡ１は、従操作アシスタントとしての操作アシスタントＡ４との間で情報をやり取りすることで、指示された機能の実行を制御する。例えば、アシスタント制御部２２は、操作アシスタントＡ４の操作アシスタントプログラムを実行することで操作アシスタントＡ４を起動させ、操作アシスタントＡ４を従操作アシスタントとして設定し、操作アシスタントＡ５の操作アシスタントプログラムの実行を終了させることで操作アシスタントＡ５を停止させる。
【０１６４】
操作アシスタントＡ４，Ａ５の何れもが、実行対象の機能を制御することが可能な場合、アシスタント制御部２２は、操作アシスタントＡ４，Ａ５の何れか一方を従操作アシスタントとしてランダムに選択してもよいし、制御可能な機器や機能の数が多い操作アシスタントを従操作アシスタントとして選択してもよいし、負荷の少ない操作アシスタントを従操作アシスタントとして選択してもよいし、処理を実行していない操作アシスタントを従操作アシスタントとして選択してもよい。
【０１６５】
機器１０Ｆから機器１０Ａに対して接続要求を示す情報が送信された場合、アシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＡ４，Ａ５の中から、制御可能な機器の数に基づいて、従操作アシスタントを選択してもよい。例えば、アシスタント制御部２２は、制御可能な機器の数が最も多い操作アシスタントを、従操作アシスタントとして選択する。例えば、操作アシスタントＡ４は、２つの機器１０を制御することが可能であり、操作アシスタントＡ５は、１つの機器１０を制御することが可能である。この場合、アシスタント制御部２２は、操作アシスタントＡ４を従操作アシスタントとして選択する。操作アシスタントＡ１は、従操作アシスタントとしての操作アシスタントＡ４との間で情報をやり取りすることで、指示された機能の実行を制御する。
【０１６６】
操作アシスタントＡ４，Ａ５のそれぞれによって制御可能な機器の数が同一である場合、アシスタント制御部２２は、操作アシスタントＡ４，Ａ５の何れか一方を従操作アシスタントとしてランダムに選択してもよいし、制御可能な機能の数が多い操作アシスタントを従操作アシスタントとして選択してもよいし、負荷の少ない操作アシスタントを従操作アシスタントとして選択してもよいし、処理を実行していない操作アシスタントを従操作アシスタントとして選択してもよい。
【０１６７】
更に別の例として、機器１０Ｆから機器１０Ａに対して接続要求を示す情報が送信された場合、アシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＡ４，Ａ５の中から、制御可能な機能の数に基づいて、従操作アシスタントを選択してもよい。例えば、アシスタント制御部２２は、制御可能な機能の数が最も多い操作アシスタントを、従操作アシスタントとして選択する。
【０１６８】
操作アシスタントＡ４，Ａ５のそれぞれによって制御可能な機能の数が同一である場合、アシスタント制御部２２は、操作アシスタントＡ４，Ａ５の何れか一方を従操作アシスタントとしてランダムに選択してもよいし、制御可能な機器の数が多い操作アシスタントを従操作アシスタントとして選択してもよいし、負荷の少ない操作アシスタントを従操作アシスタントとして選択してもよいし、処理を実行していない操作アシスタントを従操作アシスタントとして選択してもよい。
【０１６９】
なお、要求先の操作アシスタントＡ４，Ａ５にログインしているユーザアカウントに紐付けられたユーザの許可が得られた場合に、アシスタント制御部２２は、従操作アシスタントを選択してもよい。その許可が得られない場合、アシスタント制御部２２は、従操作アシスタントを選択しない。
【０１７０】
図１１に示す例では、要求先の機器１０Ａに複数の操作アシスタントが搭載されているが、要求元の機器１０Ｆに複数の操作アシスタントが搭載されていてもよい。例えば、図１３に示すように、要求元の機器１０Ｆに、操作アシスタントＡ１，Ａ６が搭載されている。要求先の機器１０Ａには、操作アシスタントＡ２が搭載されている。
【０１７１】
機器１０Ｆが機器１０Ａに対して接続要求を示す情報を送信した場合、上述した実施例と同様に、機器１０Ａに搭載されている操作アシスタントＡ２は従操作アシスタントとして設定される。また、アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から主操作アシスタントを選択してもよい。
【０１７２】
例えば、アシスタント制御部２２は、実行対象の機能（単独機能や連携機能）を制御可能な操作アシスタントを主操作アシスタントとして選択してもよい。具体例を挙げて説明する。単独機能としての画像形成機能の実行や、画像形成機能を用いた連携機能の実行が、ユーザによって指示されている場合、アシスタント制御部２２は、操作アシスタントＡ１，Ａ６の中から、画像形成機能を制御することが可能な操作アシスタントを主操作アシスタントとして選択する。操作アシスタントＡ１が、画像形成機能を制御することが可能であり、操作アシスタントＡ６が、画像形成機能を制御することができない場合、アシスタント制御部２２は、操作アシスタントＡ１を主操作アシスタントとして選択する。この場合、操作アシスタントＡ１は、操作アシスタントＡ２との間で情報をやり取りすることで、指示された機能の実行を制御する。例えば、アシスタント制御部２２は、操作アシスタントＡ１の操作アシスタントプログラムを実行することで操作アシスタントＡ１を起動させ、操作アシスタントＡ１を主操作アシスタントとして設定し、操作アシスタントＡ６の操作アシスタントプログラムを終了させることで操作アシスタントＡ６を停止させる。
【０１７３】
操作アシスタントＡ１，Ａ６の何れもが、実行対象の機能を制御することが可能である場合、アシスタント制御部２２は、操作アシスタントＡ１，Ａ６の何れか一方を主操作アシスタントとしてランダムに選択してもよいし、制御可能な機器や機能の数が多い操作アシスタントを主操作アシスタントとして選択してもよいし、負荷の少ない操作アシスタントを主操作アシスタントとして選択してもよいし、処理を実行していない操作アシスタントを主操作アシスタントとして選択してもよい。
【０１７４】
別の例として、アシスタント制御部２２は、制御可能な機器の数に基づいて、主操作アシスタントを選択してもよい。例えば、アシスタント制御部２２は、制御可能な機器の数が最も多い操作アシスタントを、主操作アシスタントとして選択する。操作アシスタントＡ１が、操作アシスタントＡ６よりも多くの機器を制御することができる場合、アシスタント制御部２２は、操作アシスタントＡ１を主操作アシスタントとして選択する。この場合、操作アシスタントＡ１は、操作アシスタントＡ２との間で情報をやり取りすることで、指示された機能の実行を制御する。
【０１７５】
操作アシスタントＡ１，Ａ６のそれぞれによって制御可能な機器の数が同一である場合、アシスタント制御部２２は、操作アシスタントＡ１，Ａ６の何れか一方を主操作アシスタントとしてランダムに選択してもよいし、制御可能な機能の数が多い操作アシスタントを主操作アシスタントとして選択してもよいし、負荷の少ない操作アシスタントを主操作アシスタントとして選択してもよいし、処理を実行していない操作アシスタントを主操作アシスタントとして選択してもよい。
【０１７６】
更に別の例として、アシスタント制御部２２は、制御可能な機能の数に基づいて、主操作アシスタントを選択してもよい。例えば、アシスタント制御部２２は、制御可能な機能の数が最も多い操作アシスタントを、主操作アシスタントとして選択する。
【０１７７】
操作アシスタントＡ１，Ａ６のそれぞれによって制御可能な機能の数が同一である場合、アシスタント制御部２２は、操作アシスタントＡ１，Ａ６の何れか一方を主操作アシスタントとしてランダムに選択してもよいし、制御可能な機器の数が多い操作アシスタントを主操作アシスタントとして選択してもよいし、負荷の少ない操作アシスタントを主操作アシスタントとして選択してもよいし、処理を実行していない操作アシスタントを主操作アシスタントとして選択してもよい。
【０１７８】
また、図１４に示すように、外部装置６４に、複数の標準操作アシスタントが搭載されてもよい。図１４に示す例では、標準操作アシスタントＡｓａ，Ａｓｂが外部装置６４に搭載されている。従操作アシスタントや主操作アシスタントの選択と同様に、アシスタント制御部２２は、制御可能な機器、制御可能な機器の数、制御可能な機能、又は、制御可能な機能の数に基づいて、標準操作アシスタントＡｓａ，Ａｓｂの中から、従操作アシスタントを制御する標準操作アシスタントを選択する。
【０１７９】
従操作アシスタントの選択、主操作アシスタントの選択、及び、標準操作アシスタントの選択は、機器１０Ｆのアシスタント制御部２２によって行われてもよいし、機器１０Ａのアシスタント制御部２２によって行われてもよいし、サーバ等の外部装置のアシスタント制御部２２によって行われてもよい。また、図１２に示されている情報は、各機器１０に記憶されていてもよいし、サーバ等の外部装置に記憶されていてもよい。
【０１８０】
なお、情報処理システムに含まれる全ての機器１０が、複数の操作アシスタントを搭載してもよいし、情報処理システムに含まれる一部の機器１０が、複数の操作アシスタントを搭載し、その一部以外の機器１０が、１つの操作アシスタントを搭載してもよい。例えば、スマートフォンやスマートスピーカ等の機器１０が、複数の操作アシスタントを搭載し、センサや家電等の機器１０が、１つの操作アシスタント（当該機器１０に固有の操作アシスタント）を搭載してもよい。
【０１８１】
実施例１−５によれば、機器１０に複数の操作アシスタントが搭載されている場合であっても、複数の操作アシスタントの間の主従関係が適切に設定されて、機能が実行される。
【０１８２】
（実施例１−６）
図１５を参照して、実施例１−６に係る処理について説明する。図１５は、機器１０の一例を示す。
【０１８３】
例えば、機器１０Ｆには、操作アシスタントＡ１が搭載されている。機器１０Ａには、操作アシスタントＡ２が搭載されている。機器１０Ｄには、操作アシスタントＡ７が搭載されている。
【０１８４】
図１５の（ａ）に示すように、機器１０Ｆから機器１０Ａに対して接続要求を示す情報が送信された場合、機器１０Ｆに搭載されている操作アシスタントＡ１は、主操作アシスタントとして動作し、機器１０Ａに搭載されている操作アシスタントＡ２は、縦操作アシスタントとして動作する。例えば、図１５の（ｂ）に示すように、機器１０Ａにて動作する操作アシスタントは、操作アシスタントＡ２から操作アシスタントＡ１に切り替えられる。もちろん、機器１０Ａにて動作する操作アシスタント自体が切り替えられずに、上記の実施例１−１，１−２と同様の処理が行われてもよい。
【０１８５】
更に、機器１０Ａから機器１０Ｄに対して接続要求を示す情報が送信された場合、機器１０Ｄに搭載されている操作アシスタントＡ７は、機器１０Ａにて動作する操作アシスタント（例えば切り替え後の操作アシスタントＡ１）を主操作アシスタントとして認識する従操作アシスタントとして動作する。例えば、図１５の（ｂ）に示すように、機器１０Ｄにて動作する操作アシスタントは、操作アシスタントＡ６から操作アシスタントＡ１に切り替えられる。
【０１８６】
以上のように、３つ以上の機器１０が接続される場合には、接続要求を示す情報を受信した機器１０に搭載されている操作アシスタントが、連鎖的に従操作アシスタントに設定される。このようにして、各機器１０が適切に制御される。
【０１８７】
（実施例１−７）
図１６を参照して、実施例１−７に係る処理について説明する。図１６は、機器１０の一例を示す。実施例１−７では、実施例１−１と同様に、機器１０Ｆが要求元の機器に該当し、機器１０Ａが要求先の機器に該当する。
【０１８８】
図１６の（ａ）に示すように、要求先の機器１０Ａに複数の操作アシスタントが搭載されている。例えば、操作アシスタントＡ４，Ａ５が機器１０Ａに搭載されている。要求元の機器１０Ｆには、操作アシスタントＡ１が搭載されている。また、機器１０Ａには、一例として、第３機器としての機器１０Ｓ，１０Ｔが接続されている。機器１０Ｓは、撮影機能を有するカメラであり、機器１０Ｔは、ＰＣである。
【０１８９】
例えば、機器１０Ｓは、操作アシスタントＡ５に対応した機器である。つまり、機器１０Ｓは、操作アシスタントＡ５によって制御可能な機器である。機器１０Ｔは、操作アシスタントＡ４に対応した機器である。つまり、機器１０Ｔは、操作アシスタントＡ４によって制御可能な機器である。このように、機器毎に対応可能な操作アシスタントが設定されている。なお、機器１０Ｓ，１０Ｔには、操作アシスタントが搭載されていてもよいし、操作アシスタントが搭載されていなくてもよい。
【０１９０】
機器に対応可能な操作アシスタントは、操作アシスタントの種類毎に定められてもよいし、ユーザアカウント毎に定められてもよい。例えば、操作アシスタントＡ５と同一種類の操作アシスタントは、操作アシスタントＡ５と同様に機器１０Ｓを制御することができてもよいし、操作アシスタントＡ５と同一種類の操作アシスタントであっても、操作アシスタントＡ５とは異なるユーザアカウントが利用する操作アシスタントは、機器１０Ｓを制御することができなくてもよい。また、操作アシスタントのバージョンによって、機器への対応の可否が定められてもよい。操作アシスタントＡ４についても同様である。
【０１９１】
機器１０Ｆから機器１０Ａに対して接続要求を示す情報が送信された場合、アシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＡ４，Ａ５の中から、第３機器を制御可能な操作アシスタントを、従操作アシスタントとして選択する。例えば、利用される第３機器として機器１０Ｓがユーザによって指定されている場合や、機器１０Ｓが有する機能（例えば撮影機能）がユーザによって指定されている場合、アシスタント制御部２２は、機器１０Ｓを制御可能な操作アシスタントＡ５を従操作アシスタントとして選択する。
【０１９２】
例えば、操作アシスタントＡ４が機器１０Ａにて動作している場合、アシスタント制御部２２は、機器１０Ａにて動作する操作アシスタントを、操作アシスタントＡ４から操作アシスタントＡ５に切り替える。図１６の（ａ）に示す例では、操作アシスタントＡ４が起動しており、操作アシスタントＡ５が起動していない。起動中の操作アシスタントＡ４は実線で示されており、起動していない操作アシスタントＡ５は破線で示されている。例えば、操作アシスタントＡ４の操作アシスタントプログラムが実行されて操作アシスタントＡ４が起動しており、操作アシスタントＡ５の操作アシスタントプログラムが実行されておらず操作アシスタントＡ５は起動していない。
【０１９３】
この状態で、上記のように、操作アシスタントＡ５が従操作アシスタントとして選択された場合、図１６の（ｂ）に示すように、アシスタント制御部２２は、操作アシスタントＡ４の起動を終了させ、操作アシスタントＡ５を起動させる。図１６の（ｂ）では、起動中の操作アシスタントＡ５は実線で示されており、起動していない操作アシスタントＡ４は破線で示されている。例えば、操作アシスタントＡ５の操作アシスタントプログラムが実行されて操作アシスタントＡ５が起動しており、操作アシスタントＡ４の操作アシスタントプログラムの実行が終了されて操作アシスタントＡ４は停止している。
【０１９４】
従操作アシスタントとしての操作アシスタントＡ５は、主操作アシスタントからの指示に従って動作する。上記の例では、操作アシスタントＡ５は機器１０Ｓを制御する。例えば、操作アシスタントＡ５は、機器１０Ｓによる撮影によって生成された画像データを機器１０Ｓから取得し、要求元の機器１０Ｆにその画像データを送信する。
【０１９５】
主操作アシスタントは、機器１０Ｆに搭載されている操作アシスタントＡ１であってもよいし、外部装置に搭載されている別の操作アシスタントであってもよい。
【０１９６】
操作アシスタントＡ４，Ａ５の何れもが、機器１０Ｓを制御することが可能な場合、アシスタント制御部２２は、操作アシスタントＡ４，Ａ５の何れか一方を従操作アシスタントとして選択してもよいし、制御可能な機器や機能の数が多い操作アシスタントを従操作アシスタントとして選択してもよいし、負荷の少ない操作アシスタントを従操作アシスタントとして選択してもよいし、処理を実行していない操作アシスタントを従操作アシスタントとして選択してもよい。また、実施例１−５と同様の基準に従って、従操作アシスタントが選択されてもよい。
【０１９７】
従操作アシスタントの選択及び主操作アシスタントの選択は、機器１０Ｆのアシスタント制御部２２によって行われてもよいし、機器１０Ａのアシスタント制御部２２によって行われてもよいし、サーバ等の外部装置のアシスタント制御部２２によって行われてもよい。
【０１９８】
実施例１−７によれば、使用対象の機器１０に対応可能な操作アシスタントが従操作アシスタントとして選択されるので、当該機器１０が適切に制御される。
【０１９９】
例えば、要求元の操作アシスタントにログインしているユーザアカウントと、要求先の操作アシスタントにログインしているユーザアカウントが互いに異なる場合や、要求元の操作アシスタントと要求先の操作アシスタントが互いに異なる種類の操作アシスタントである場合等に、要求元の操作アシスタントと要求先の操作アシスタントが互いにメッセージをやり取りすることができず、その結果、機器同士が連携できないともあり得る。このような場合であっても、第１実施形態によれば、要求元の操作アシスタントと要求先の操作アシスタントが互いにメッセージをやり取りすることができるので、機器同士を連携させることができる。
【０２００】
＜第２実施形態＞
以下、本発明の第２実施形態に係る情報処理システムについて説明する。第２実施形態に係る情報処理システムは、第１実施形態に係る情報処理システムと同様に、１又は複数の機器１０を含む。また、第２実施形態に係る機器１０は、第１実施形態に係る機器１０と同じ構成を有する。
【０２０１】
第２実施形態では、要求元の機器１０に複数の操作アシスタントが搭載されている。複数の操作アシスタントは、互いに異なる種類の操作アシスタントである。例えば、当該複数の操作アシスタントは、互いに異なる人工知能（ＡＩ）を有する操作アシスタントである。別の例として、当該複数の操作アシスタントが互いに同じ種類の操作アシスタントであっても（例えば互いに同じ種類のＡＩを有していても）、互いのバージョンが異なる場合や、制御可能な機器や機能が互いに異なる場合や、利用可能なユーザが互いに異なる場合や、ログインしているユーザアカウントが互いに異なる場合には、当該複数の操作アシスタントは互いに異なる操作アシスタントとして扱われてもよい。
【０２０２】
要求元の機器１０にて、別の機器１０の操作指示がユーザによって与えられた場合、要求元の機器１０のアシスタント制御部２２は、要求元の機器１０（自装置の一例）に搭載されている複数の操作アシスタントの中から、当該別の機器１０を制御可能な操作アシスタントを選択し、当該操作アシスタントから当該別の機器１０に操作指示を示す情報を送信するように構成されている。
【０２０３】
上記の別の機器１０は、操作アシスタントを搭載していてもよいし、操作アシスタントを搭載していなくてもよい。また、別の機器１０は、要求元の機器１０と直接的に接続される機器であってもよいし、中継器等の機器を介して要求元の機器１０と間接的に接続される機器であってもよい。
【０２０４】
なお、第２実施形態では、操作アシスタント同士の主従関係は設定されない。つまり、主操作アシスタント及び従操作アシスタントは設定されない。
【０２０５】
以下、第２実施形態に係る実施例について詳しく説明する。
【０２０６】
（実施例２−１）
図１７を参照して、実施例２−１に係る処理について説明する。図１７は、機器１０の一例を示す。実施例２−１では、機器１０Ｆは要求元の機器である。機器１０Ａは要求先の機器であり、操作対象の機器である。つまり、機器１０Ｆが機器１０Ａに対して操作指示を示す情報を送信する。例えば、機器１０Ａが有する単独機能を実行する場合や、機器１０Ｆを用いて機器１０Ａに単独機能を設定する場合や、機器１０Ｆと機器１０Ａとが連携して連携機能を実行する場合や、機器１０Ｆを用いて機器１０Ａに連携機能を設定する場合や、機器１０Ｆを用いて、機器１０Ａを介して他の機器１０に連携機能を設定する場合や、機器１０Ｆを介して機器１０Ａを利用する場合や、ユーザが機器１０Ｆを用いて操作指示の送信指示を与えた場合等に、機器１０Ｆが機器１０Ａに対して操作指示を示す情報を送信する。もちろん、これら以外の事象が発生した場合に、機器１０Ｆが機器１０Ａに操作指示を示す情報を送信してもよい。また、ユーザは、操作アシスタントを指定せずに機器１０の操作指示を与えてもよい。
【０２０７】
機器１０Ｆには、操作アシスタントＡ１，Ａ６が搭載されている。機器１０Ａには、操作アシスタントＡ１が搭載されている。操作アシスタントＡ１，Ａ６は、例えば、互いに異なる種類の操作アシスタントである。例えば、操作アシスタントＡ１，Ａ６は、互いに異なる人工知能（ＡＩ）を有する操作アシスタントである。別の例として、操作アシスタントＡ１，Ａ６が互いに同じ種類の操作アシスタントであっても（例えば互いに同じ種類のＡＩを有していても）、互いのバージョンが異なる場合や、制御可能な機能や機器が互いに異なる場合や、利用可能なユーザが互いに異なる場合や、ログインしているユーザアカウントが互いに異なる場合には、操作アシスタントＡ１，Ａ６は、互いに異なる操作アシスタントとして扱われてもよい。
【０２０８】
また、機器１０Ｆに搭載されている操作アシスタントＡ１と、機器１０Ａに搭載されている操作アシスタントＡ１は、互いに同一の種類の操作アシスタントである。別の例として、機器１０Ｆに搭載されている操作アシスタントＡ１と、機器１０Ａに搭載されている操作アシスタントＡ１は、互いに同一の種類の操作アシスタントではあるが、各操作アシスタントＡ１のバージョンや、各操作アシスタントＡ１が制御可能な機能や機器や、各操作アシスタントＡ１を利用可能なユーザや、各操作アシスタントＡ１にログインしているユーザアカウントが、互いに異なっていてもよい。
【０２０９】
また、各機器１０には、管理情報が記憶されている。管理情報は、各機器１０に搭載されている操作アシスタントを識別するためのアシスタント識別情報を含む。各機器１０のアシスタント制御部２２は、管理情報に含まれているアシスタント識別情報を参照することで、各機器１０に搭載されている操作アシスタントを認識することができる。例えば、各機器１０が、自装置に搭載されている操作アシスタントを識別するためのアシスタント識別情報を互いに送受信することで、上記の管理情報が、任意のタイミングで、定期的に、又は、ユーザが指示したタイミングで、更新される。もちろん、管理情報は、サーバ等の装置に記憶されており、アシスタント制御部２２は、サーバ等の装置に記憶されている管理情報を参照することで、各機器１０に搭載されている操作アシスタントを認識してもよい。
【０２１０】
例えば、機器１０Ｆを識別するための機器識別情報と、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６をそれぞれ識別するためのアシスタント識別情報とが互いに対応付けられて、管理情報に登録されている。他の機器１０に搭載されている操作アシスタントに関する情報も、同様にして管理情報に登録されている。
【０２１１】
機器１０Ｆが、操作指示を示す情報を機器１０Ａに送信する場合、機器１０Ｆのアシスタント制御部２２は、管理情報を参照することで、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から、機器１０Ａを制御可能な操作アシスタントを選択する。詳しく説明すると、アシスタント制御部２２は、管理情報を参照することで、要求先の機器１０Ａに搭載されている操作アシスタントＡ１を認識し、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から、機器１０Ａに搭載されている操作アシスタントＡ１と対話可能な操作アシスタントを選択する。つまり、アシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＡ１との間でメッセージをやり取りすることが可能な操作アシスタントを選択する。例えば、機器１０Ａに搭載されている操作アシスタントＡ１と同一種類の操作アシスタントが、当該操作アシスタントＡ１との間でメッセージをやり取りすることが可能な操作アシスタントである。従って、アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から操作アシスタントＡ１を、機器１０Ａを制御可能な操作アシスタントとして選択する。
【０２１２】
アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１から機器１０Ａに操作指示を示す情報を送信する。つまり、機器１０Ｆに搭載されている操作アシスタントＡ１は、操作指示を示す情報を、機器１０Ａに搭載されている操作アシスタントＡ１に送信する。機器１０Ａに搭載されている操作アシスタントＡ１は、機器１０Ｆに搭載されている操作アシスタントＡ１から送られてきた操作指示を示す情報を受信し、その操作指示に従って機器１０Ａを制御する。
【０２１３】
例えば、操作指示を示す情報は、機器１０Ａを用いて実行可能な処理を示す情報を含む。機器１０Ａに搭載されている操作アシスタントＡ１は、その操作指示に従って、その処理を機器１０Ａに実行させる。
【０２１４】
実施例２−１によれば、要求元の機器１０に複数の操作アシスタントが搭載されている場合、当該複数の操作アシスタントの中から要求先の機器１０を制御可能な操作アシスタントが選択されて、当該操作アシスタントから要求先の機器１０に対して操作指示を示す情報が送信される。こうすることで、要求元の機器１０を操作するユーザは、要求先の機器１０や要求元の機器１０に搭載されている操作アシスタントを意識せずに、操作指示を与えることができるので、機器１０や操作アシスタントの操作性が向上する。例えば、ユーザは、操作対象の機器１０を制御可能な操作アシスタントをマニュアル操作で指定する必要がないので、操作性が向上する。
【０２１５】
（実施例２−２）
図１８及び図１９を参照して、実施例２−２に係る処理について説明する。図１８は、機器１０の一例を示す。図１９は、ユーザと操作アシスタントとの間でメッセージをやり取りするための画面の一例を示す。
【０２１６】
機器１０Ａには、カメラとしての機器１０Ｓと、ＰＣとしての機器１０Ｔとが接続されている。機器１０Ｐには、ロボットとしての機器１０Ｕと、複合機としての機器１０Ｖとが接続されている。機器１０Ｄには、複合機としての機器１０Ｗが接続されている。機器１０Ａ，１０Ｐ，１０Ｄは、中継器である。機器１０Ｆは、要求元の機器である。実施例２−２では、中継器を介して、操作対象の機器１０が操作される。
【０２１７】
機器１０Ｆには、操作アシスタントＡ１，Ａ６が搭載されている。機器１０Ａには、操作アシスタントＡ１が搭載されている。機器１０Ｐには、操作アシスタントＡ６が搭載されている。機器１０Ｄには、標準操作アシスタントＡｓが搭載されている。標準操作アシスタントＡｓは、例えば、操作アシスタントＡ１，Ａ６が共通して有する機能を有する。
【０２１８】
機器１０Ｓ，１０Ｔ，１０Ｕ，１０Ｖ，１０Ｗには、操作アシスタントが搭載されていてもよいし、操作アシスタントが搭載されていなくてもよい。
【０２１９】
機器１０Ｓは、操作アシスタントＡ１，Ａ２，Ａ３，Ａ６に対応する機器である。つまり、機器１０Ｓは、操作アシスタントＡ１，Ａ２，Ａ３，Ａ６のそれぞれによって制御可能な機器である。機器１０Ｓは、機器１０Ａに接続されて、機器１０Ａに搭載されている操作アシスタントＡ１によって制御される。
【０２２０】
機器１０Ｔは、操作アシスタントＡ１，Ａ２に対応する機器である。つまり、機器１０Ｔは、操作アシスタントＡ１，Ａ２のそれぞれによって制御可能な機器である。機器１０Ｔは、機器１０Ａに接続されて、機器１０Ａに搭載されている操作アシスタントＡ１によって制御される。
【０２２１】
機器１０Ｕは、操作アシスタントＡ１，Ａ６に対応する機器である。つまり、機器１０Ｕは、操作アシスタントＡ１，Ａ６のそれぞれによって制御可能な機器である。機器１０Ｕは、機器１０Ｐに接続されて、機器１０Ｐに搭載されている操作アシスタントＡ６によって制御される。
【０２２２】
機器１０Ｖは、操作アシスタントＡ６に対応する機器である。つまり、機器１０Ｖは、操作アシスタントＡ６によって制御可能な機器である。機器１０Ｖが、機器１０Ｐに接続されて、機器１０Ｐに搭載されている操作アシスタントＡ６によって制御される。
【０２２３】
機器１０Ｗは、操作アシスタントＡ１，Ａ３、Ａｓに対応する機器である。つまり、機器１０Ｗは、操作アシスタントＡ１，Ａ３，Ａｓによって制御可能な機器である。機器１０Ｗは、機器１０Ｄに接続されて、機器１０Ｄに搭載されている操作アシスタントＡｓによって制御される。
【０２２４】
以下、図１９を参照して、実施例２−２に係る処理について詳しく説明する。機器１０Ｆの制御部２０は、ＵＩ部１４の表示部に画面７０を表示させる。画面７０は、ユーザと操作アシスタントとの間でメッセージをやり取りするためのユーザインターフェースである。画面７０において、操作アシスタント用の表示エリアには、操作アシスタントに紐付けられた画像７２が表示される。また、ユーザ用の表示エリアには、ユーザに紐付けられたが画像７４が表示される。画像７２は、特定の操作アシスタントを表す画像ではなく、ユーザの対話相手が操作アシスタントであることを示すための画像である。例えば、画像７２は、ユーザの発言内容を受け付ける受付に紐付けられた画像である。
【０２２５】
画面７０上にて、ユーザと操作アシスタントとの間で対話が行われる。このときの対話相手は、機器１０Ｆに搭載されている操作アシスタントＡ１であってもよいし、操作アシスタントＡ６であってもよいし、その対話のタイミングで起動している操作アシスタントであってもよい。
【０２２６】
その対話において、操作アシスタントの発言内容７６が、画像７２に紐付けられて表示され、ユーザの発言内容７８が、画像７４に紐付けられて表示される。
【０２２７】
例えば、ユーザが、発言内容７８によって、機器１０Ｓ（カメラ）の操作指示を与えた場合、機器１０Ｆのアシスタント制御部２２は、機器１０Ｓに接続され、機器１０Ｓを制御可能な操作アシスタントを搭載した機器（中継器）であって、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中の少なくとも１つの操作アシスタントを搭載する機器１０Ａを、要求先の機器１０として検索する。このとき、ユーザは、操作アシスタントを指定せずに機器１０Ｓの操作指示を与えてもよい。以下、この処理について詳しく説明する。
【０２２８】
例えば、上述した管理情報は、更に、各機器１０に接続されている他の機器１０を識別するための機器識別情報と、当該他の機器１０を制御可能な操作アシスタント（当該他の機器１０に対応する操作アシスタント）を識別するためのアシスタント識別情報と、を含む。
【０２２９】
具体例を挙げて説明すると、機器１０Ａを識別するための機器識別情報と、機器１０Ａに接続されている機器１０Ｓを識別するための機器識別情報と、機器１０Ｓを制御可能な操作アシスタントＡ１，Ａ２，Ａ３，Ａ６をそれぞれ識別するためのアシスタント識別情報と、機器１０Ａに接続されている機器１０Ｔを識別するための機器識別情報と、機器１０Ｔを制御可能な操作アシスタントＡ１，Ａ２をそれぞれ識別するためのアシスタント識別情報と、が互いに対応付けられて管理情報に登録されている。
【０２３０】
同様に、機器１０Ｐを識別するための機器識別情報と、機器１０Ｐに接続されている機器１０Ｕを識別するための機器識別情報と、機器１０Ｕを制御可能な操作アシスタントＡ１，Ａ６をそれぞれ識別するためのアシスタント識別情報と、機器１０Ｐに接続されている機器１０Ｖを識別するための機器識別情報と、機器１０Ｖを制御可能な操作アシスタントＡ６を識別するためのアシスタント識別情報と、が互いに対応付けられて管理情報に登録されている。
【０２３１】
同様に、機器１０Ｄを識別するための機器識別情報と、機器１０Ｄに接続されている機器１０Ｗを識別するための機器識別情報と、機器１０Ｗを制御可能な操作アシスタントＡ１，Ａ３，Ａｓをそれぞれ識別するためのアシスタント識別情報と、が互いに対応付けられている。
【０２３２】
また、上述したように、機器１０Ａを識別するための機器識別情報と、機器１０Ａに搭載されている操作アシスタントＡ１を識別するためのアシスタント識別情報と、が互いに対応付けられて管理情報に登録されている。
【０２３３】
同様に、機器１０Ｐを識別するための機器識別情報と、機器１０Ｐに搭載されている操作アシスタントＡ６を識別するためのアシスタント識別情報と、が互いに対応付けられて管理情報に登録されている。
【０２３４】
同様に、機器１０Ｄを識別するための機器識別情報と、機器１０Ｄに搭載されている操作アシスタントＡｓを識別するためのアシスタント識別情報と、が互いに対応付けられて管理情報に登録されている。
【０２３５】
機器１０Ｆのアシスタント制御部２２は、上記の管理情報を参照することで、機器１０Ｓに接続され、機器１０Ｓを制御可能な操作アシスタントを搭載した機器であって、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中の少なくとも１つの操作アシスタントを搭載する機器１０Ａを、要求先の機器１０として検索する。つまり、機器１０Ａは、操作対象の機器１０Ｓに接続されており、機器１０Ｓを制御可能な操作アシスタントＡ１を搭載している。また、機器１０Ａは、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１を搭載している。従って、アシスタント制御部２２は、機器１０Ａを要求先の機器として選択する。
【０２３６】
また、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から、機器１０Ｓを制御可能な操作アシスタントＡ１を選択する。つまり、機器１０Ｆのアシスタント制御部２２は、操作アシスタントＡ１，Ａ６の中から、要求先の機器１０Ａに搭載されている操作アシスタントＡ１（機器１０Ｓを制御可能な操作アシスタントＡ１）との間でメッセージをやり取りすることが可能な操作アシスタントを選択する。例えば、機器１０Ａに搭載されている操作アシスタントＡ１と同一種類の操作アシスタントが、当該操作アシスタントＡ１との間でメッセージをやり取りすることが可能な操作アシスタントである。従って、アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から操作アシスタントＡ１を、機器１０Ｓを制御可能な操作アシスタントとして選択する。
【０２３７】
アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１から、機器１０Ａに搭載されている操作アシスタントＡ１に対して、機器１０Ｓの操作指示を示す情報を送信する。
【０２３８】
機器１０Ａに搭載されている操作アシスタントＡ１は、その操作指示に従って、機器１０Ｓを制御する。例えば、操作指示の内容が、「機器１０Ｓによって撮影された昨日の１０時〜１１時からの画像をユーザが見たい」という内容である場合、機器１０Ａに搭載されている操作アシスタントＡ１は、その画像データを機器１０Ｓから取得する。また、機器１０Ａに搭載されている操作アシスタントＡ１は、その画像データを、機器１０Ｆに搭載されている操作アシスタントＡ１に送信する。その画像データは、機器１０Ｆにてユーザに提供される。
【０２３９】
機器１０Ｆにて、操作アシスタントＡ１が、機器１０Ｓを制御可能な操作アシスタントとして選択された場合、制御部２０は、図１９に示すように、以降の対話においては、操作アシスタントに紐付けられた画像７２を、操作アシスタントＡ１に紐付けられた画像８０に切り替える。操作アシスタントＡ１の発言内容８２が、画像８０に紐付けられて表示される。
【０２４０】
また、制御部２０は、機器１０Ｓの操作結果の通知を制御する。例えば、図１９に示すように、制御部２０は、機器１０Ｓから取得された画像データ（例えば動画ファイル）に紐付けられた画像８４（例えばアイコン）を、機器１０Ｓの操作結果として、画像８０に紐付けて画面７０に表示させる。画像８４が指定されて再生指示が与えられ場合、その動画ファイルが再生される。
【０２４１】
また、機器１０Ｓに対する操作が終了した場合、制御部２０は、操作アシスタントＡ１に紐付けられた画像８０を、元の画像７２に切り替える。
【０２４２】
なお、制御部２０は、操作アシスタントＡ１を識別するための文字列（例えば操作アシスタントＡ１の名称）を、画像８０に代えて、又は、画像８０と共に、画面７０に表示させてもよい。また、操作アシスタントＡ１に紐付けられた発言内容８２に、操作アシスタントＡ１を識別するための文字列が含まれてもよい。受付に紐付けられた画像７２や、ユーザに紐付けられた画像７４も同様である。
【０２４３】
また、ユーザが、機器１０Ｕ（ロボット）の操作指示を与えた場合、機器１０Ｆのアシスタント制御部２２は、上記の管理情報を参照することで、機器１０Ｕに接続され、機器１０Ｕを制御可能な操作アシスタントを搭載している機器（中継器）であって、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中の少なくとも１つの操作アシスタントを搭載している機器１０Ｐを、要求先の機器１０として検索する。つまり、機器１０Ｐは、操作対象の機器１０Ｕに接続されており、機器１０Ｕを制御可能な操作アシスタントＡ６を搭載している。また、機器１０Ｐは、要求元の機器１０Ｆに搭載されている操作アシスタントＡ６を搭載している。従って、アシスタント制御部２２は、機器１０Ｐを要求先の機器として選択する。
【０２４４】
また、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から、機器１０Ｕを制御可能な操作アシスタントＡ６を選択する。つまり、機器１０Ｆのアシスタント制御部２２は、操作アシスタントＡ１，Ａ６の中から、要求先の機器１０Ｐに搭載されている操作アシスタントＡ６（機器１０Ｕを制御可能な操作アシスタントＡ６）との間でメッセージをやり取りすることが可能な操作アシスタントを選択する。例えば、機器１０Ｐに搭載されている操作アシスタントＡ６と同一種類の操作アシスタントが、当該操作アシスタントＡ６との間でメッセージをやり取りすることが可能な操作アシスタントである。従って、アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から操作アシスタントＡ６を、機器１０Ｕを制御可能な操作アシスタントとして選択する。
【０２４５】
アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ６から、機器１０Ｐに搭載されている操作アシスタントＡ６に対して、機器１０Ｓの操作指示を示す情報を送信する。機器１０Ｐに搭載されている操作アシスタントＡ６は、その操作指示に従って、機器１０Ｕを制御する。また、制御部２０は、機器１０Ｓの操作結果の通知を制御する。
【０２４６】
また、ユーザが、機器１０Ｗ（複合機）の操作指示を与えた場合、機器１０Ｆのアシスタント制御部２２は、上記の管理情報を参照することで、機器１０Ｗに接続され、機器１０Ｗを制御可能な操作アシスタントを搭載している機器（中継器）であって、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中の少なくとも１つの操作アシスタントを搭載している機器１０Ｄを、要求先の機器１０として検索する。つまり、機器１０Ｄは、操作対象の機器１０Ｗに接続されており、機器１０Ｗを制御可能な操作アシスタントＡｓを搭載している。また、機器１０Ｄは、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６と対話可能な標準操作アシスタントＡｓを搭載している。従って、アシスタント制御部２２は、機器１０Ｄを要求先の機器として選択する。
【０２４７】
また、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から、機器１０Ｗを制御可能な操作アシスタントを選択する。つまり、機器１０Ｆのアシスタント制御部２２は、操作アシスタントＡ１，Ａ６の中から、要求先の機器１０Ｄに搭載されている操作アシスタントＡｓとの間でメッセージをやり取りすることが可能な操作アシスタントを選択する。操作アシスタントＡ１，Ａ６はいずれも、標準操作アシスタントＡｓとの間でメッセージをやり取りすることが可能である。従って、アシスタント制御部２２は、操作アシスタントＡ１，Ａ６の何れかを、機器１０Ｗを制御可能な操作アシスタントとして選択する。例えば、アシスタント制御部２２は、操作アシスタントＡ１，Ａ６の中から、処理を実行していない操作アシスタントや、標準操作アシスタントＡｓと共通するより多くの機能を有する操作アシスタントや、負荷がより低い操作アシスタント等を、機器１０Ｗを制御可能な操作アシスタントとして選択する。ここでは、一例として、操作アシスタントＡ１が選択されたものとする。
【０２４８】
アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１から、機器１０Ｄに搭載されている標準操作アシスタントＡｓに対して、機器１０Ｗの操作指示を示す情報を送信する。機器１０Ｄに搭載されている標準操作アシスタントＡｓは、その操作指示に従って、機器１０Ｗを制御する。また、制御部２０は、機器１０Ｗの操作結果の通知を制御する。
【０２４９】
実施例２−２によれば、実施例２−１と同様に、要求元の機器１０を操作するユーザは、要求先の機器１０や要求元の機器１０に搭載されている操作アシスタントを意識せずに、操作指示を与えることができるので、機器１０や操作アシスタントの操作性が向上する。
【０２５０】
（実施例２−３）
図２０を参照して、実施例２−３に係る処理について説明する。図２０は、機器１０の一例を示す。実施例２−３では、機器１０Ｆは要求元の機器である。機器１０Ａは中継器である。機器１０Ａには、機器１０Ｓが接続されている。
【０２５１】
機器１０Ｆには、操作アシスタントＡ１，Ａ６が搭載されている。機器１０Ａには、操作アシスタントは搭載されていない。機器１０Ｓには、操作アシスタントＡ１が搭載されている。実施例２−３では、中継器としての機器１０Ａを介して、操作対象の機器１０Ｓが操作される。
【０２５２】
機器１０Ｆが、機器１０Ｓを操作するための操作指示を示す情報を、機器１０Ａを介して機器１０Ｓに送信する場合、機器１０Ｆのアシスタント制御部２２は、管理情報を参照することで、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から、機器１０Ｓを制御可能な操作アシスタントを選択する。詳しく説明すると、アシスタント制御部２２は、管理情報を参照することで、要求先の機器１０Ｓに搭載されている操作アシスタントＡ１を認識し、機器１０Ｆに搭載されちる操作アシスタントＡ１，Ａ６の中から、機器１０Ｓに搭載されている操作アシスタントＡ１と対話可能な操作アシスタントを選択する。つまり、アシスタント制御部２２は、機器１０Ｓに搭載されている操作アシスタントＡ１との間でメッセージをやり取りすることが可能な操作アシスタントを選択する。例えば、アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から操作アシスタントＡ１を、機器１０Ｓを制御可能な操作アシスタントとして選択する。
【０２５３】
アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１から機器１０Ｓに操作指示を示す情報を送信する。つまり、機器１０Ｆに搭載されている操作アシスタントＡ１は、操作指示を示す情報を、機器１０Ｓに搭載されている操作アシスタントＡ１に送信する。その操作指示を示す情報は、中継器としての機器１０Ａを介して、機器１０Ｆから機器１０Ｓに送信される。機器１０Ｓに搭載されている操作アシスタントＡ１は、機器１０Ｆに搭載されている操作アシスタントＡ１から送られてきた操作指示を示す情報を受信し、その操作指示に従って機器１０Ｓを制御する。
【０２５４】
例えば、操作指示を示す情報は、機器１０Ｓを用いて実行可能な処理を示す情報を含む。機器１０Ａに搭載されている操作アシスタントＡ１は、その操作指示に従って、その処理を機器１０Ａに実行させる。
【０２５５】
実施例２−３によれば、操作アシスタントを搭載していない中継器を介して、操作アシスタントが搭載されている機器１０を制御する場合においても、要求元の機器１０を操作するユーザは、要求元の機器１０や要求先の機器１０に搭載されている操作アシスタントを意識せずに、操作指示を与えることができる。
【０２５６】
（実施例２−４）
図２１を参照して、実施例２−４に係る処理について説明する。図２１は、機器１０の一例を示す。実施例２−４では、機器１０Ｆは要求元の機器である。機器１０Ａは要求先の機器であり、中継器として用いられる。機器１０Ａには、機器１０Ｓ，１０Ｔが接続されている。
【０２５７】
機器１０Ｆには、操作アシスタントＡ１，Ａ６が搭載されている。機器１０Ａには、操作アシスタントＡ１，Ａ６が搭載されている。このように、実施例２−４では、中継器としての機器１０Ａにも複数の操作アシスタントが搭載されている。機器１０Ｓ，１０Ｔには、操作アシスタントは搭載されていない。
【０２５８】
機器１０Ｓは、操作アシスタントＡ１に対応する機器である。つまり、機器１０Ｓは、操作アシスタントＡ１によって制御可能な機器である。機器１０Ｓは、機器１０Ａに接続されて、機器１０Ａに搭載されている操作アシスタントＡ１によって制御される。
【０２５９】
機器１０Ｔは、操作アシスタントＡ６に対応する機器である。つまり、機器１０Ｔは、操作アシスタントＡ６によって制御可能な機器である。機器１０Ｔは、機器１０Ａに接続されて、機器１０Ａに搭載されている操作アシスタントＡ６によって制御される。
【０２６０】
機器１０Ｆが、機器１０Ｓを操作するための操作指示を示す情報を、機器１０Ａに送信する場合、機器１０Ｆのアシスタント制御部２２は、管理情報を参照することで、機器１０Ａに搭載されている操作アシスタントＡ１，Ａ６の中から、機器１０Ｓを制御可能な操作アシスタントＡ１を特定する。アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から、機器１０Ａに搭載されている操作アシスタントＡ１と対話可能な操作アシスタントＡ１を、機器１０Ｓを制御可能な操作アシスタントとして選択する。
【０２６１】
アシスタント制御部２２は、操作指示を示す情報を、機器１０Ｆに搭載されている操作アシスタントＡ１から、機器１０Ａに搭載されている操作アシスタントＡ１に送信する。機器１０Ａに搭載されている操作アシスタントＡ１は、機器１０Ｆに搭載されている操作アシスタントＡ１から送られてきた操作指示を示す情報を受信し、その操作指示に従って機器１０Ｓを制御する。つまり、アシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から、機器１０Ａに接続されている機器１０Ｓを制御可能な操作アシスタントとして操作アシスタントＡ１を選択し、操作指示を示す情報を、当該操作アシスタントＡ１から、機器１０Ａに搭載されている操作アシスタントＡ１に送信する。
【０２６２】
実施例２−４によれば、要求先の機器１０に複数の操作アシスタントが搭載されている場合においても、要求元の機器１０を操作するユーザは、要求元の機器１０や要求先の機器１０に搭載されている操作アシスタントを意識せずに、操作指示を与えることができる。
【０２６３】
なお、機器１０Ｆに搭載されている操作アシスタントＡ１は、機器１０Ａに搭載されている操作アシスタントＡ１にメッセージを送ると共に、機器１０Ａに搭載されている操作アシスタントＡ６が解釈可能なプロトコルに従って、操作アシスタントＡ６にメッセージを送ってもよい。
【０２６４】
（実施例２−５）
実施例２−５に係る処理について説明する。操作指示を示す情報は、要求先の機器１０に実行させる機能の実行指示を示す情報を含む。その機能の実行指示は、要求元の機器１０を操作するユーザによって与えられる。要求元の機器１０のアシスタント制御部２２は、当該機能の指示を要求先の機器１０に与えることが可能な操作アシスタントを、要求先の機器１０を制御可能な操作アシスタントとして選択する。アシスタント制御部２２は、その選択された操作アシスタントから要求元の機器１０に操作指示を示す情報を送信する。要求先の機器１０は、その操作指示に含まれる機能の実行指示に従って、当該機能を実行する。
【０２６５】
例えば、操作アシスタント毎に、制御可能な機能が定められており、各操作アシスタントが制御可能な機能を示す情報が、上記の管理情報に含まれている。具体的には、操作アシスタント毎に、操作アシスタントを識別するためのアシスタント識別情報と、当該操作アシスタントが制御可能な機能を示す機能情報、とが互いに対応付けられて管理情報に登録されている。アシスタント制御部２２は、その管理情報を参照することで、操作指示が示す機能を制御可能な操作アシスタントを選択する。
【０２６６】
以下、具体例を挙げて実施例２−５について説明する。要求元の機器１０には、操作アシスタントＡ１，Ａ６が搭載されている。要求先の機器１０は、プリント機能等の画像形成機能を有する複合機である。
【０２６７】
操作アシスタントＡ１は、複合機が有する画像形成機能の実行を制御することが可能である。操作アシスタントＡ６は、カメラが有する撮影機能の実行を制御することが可能である。
【０２６８】
例えば、ユーザが要求元の機器１０を用いて、要求先の機器１０を用いたプリント機能の実行の指示を与えた場合、アシスタント制御部２２は、要求元の機器１０に搭載されている操作アシスタントＡ１，Ａ６の中から、プリント機能の実行を制御することが可能な操作アシスタントＡ１を選択する。アシスタント制御部２２は、プリント機能の実行指示を含む操作指示を示す情報を、その操作アシスタントＡ１から要求先の機器１０に送信する。つまり、操作アシスタントＡ１は、その操作指示に従って要求先の機器１０を制御することで、プリント機能を要求先の機器１０に実行させる。要求先の機器１０は、プリント機能の実行指示に従ってプリント機能を実行する。
【０２６９】
実施例２−５によれば、機能の実行指示が与えられた場合に、その機能を制御可能な操作アシスタントから、当該機能を実行する機器に操作指示を示す情報が送信される。それ故、要求元の機器１０を操作するユーザは、要求元の機器１０に搭載されている操作アシスタントを意識せずに、操作指示を与えることができる。
【０２７０】
（実施例２−６）
図２２を参照して、実施例２−６に係る処理について説明する。図２２は、機器１０の一例を示す。実施例２−６では、機器１０Ｆは要求元の機器である。機器１０Ｖは要求先の機器である。
【０２７１】
機器１０Ｆには、操作アシスタントＡ１，Ａ６が搭載されている。機器１０Ｖには、操作アシスタントＡ１，Ａ６が搭載されている。このように、実施例２−６では、要求先の機器１０Ｖにも複数の操作アシスタントが搭載されている。
【０２７２】
実施例２−５と同様に、操作指示を示す情報は、要求先の機器１０Ｖに実行させる機能の指示を示す情報を含む。その機能の実行指示は、要求元の機器１０Ｆを操作するユーザによって与えられる。要求元のアシスタント制御部２２は、要求先の機器１０Ｖに搭載されている複数の操作アシスタントの中から、当該機能を制御可能な操作アシスタントを選択する。また、要求元のアシスタント制御部２２は、要求元の機器１０Ｆに搭載されている複数の操作アシスタントの中から、その選択された操作アシスタントと対話可能な操作アシスタントを、要求先の機器１０を制御可能な操作アシスタントとして選択する。
【０２７３】
以下、具体例を挙げて実施例２−６について説明する。要求先の機器１０Ｖは、プリント機能等の画像形成機能を有する複合機である。操作アシスタントＡ１は、複合機が有する画像形成機能の実行を制御することが可能である。操作アシスタントＡ６は、カメラが有する撮影機能の実行を制御することが可能である。
【０２７４】
例えば、ユーザが要求元の機器１０Ｆを用いて、要求先の機器１０Ｖを用いたプリント機能の実行の指示を与えた場合、アシスタント制御部２２は、管理情報を参照することで、要求先の機器１０Ｖに搭載されている操作アシスタントＡ１，Ａ６の中から、プリント機能を制御可能な操作アシスタントＡ１を選択する。また、アシスタント制御部２２は、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から、要求先の機器１０Ｖに搭載されている操作アシスタントＡ１と対話可能な操作アシスタントＡ１を、要求先の機器１０Ｖを制御可能な操作アシスタントとして選択する。
【０２７５】
アシスタント制御部２２は、プリント機能の実行指示を含む操作指示を示す情報を、機器１０Ｆに搭載されている操作アシスタントＡ１から、機器１０Ｖに搭載されている操作アシスタントＡ１に送信する。機器１０Ｖに搭載されている操作アシスタントＡ１は、機器１０Ｆに搭載されている操作アシスタントＡ１から送られてきた操作指示を示す情報を受信し、その操作指示に従って、機器１０Ｖにプリント機能を実行させる。
【０２７６】
実施例２−６によれば、要求元の機器１０と要求先の機器１０の両方に複数の操作アシスタントが搭載されている場合においても、要求元の機器１０を操作するユーザは、それらの操作アシスタントを意識せずに、機能の実行指示を与えることができる。
【０２７７】
また、上記の実施例２−４（図２１参照）において、機器１０Ｓ又は機器１０Ｔに実行させる機能がユーザによって指定された場合、アシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＡ１，Ａ６の中から、当該機能を制御可能な操作アシスタントを選択する。例えば、機器１０Ｓ（カメラ）を用いた撮影機能の実行がユーザによって指示された場合、アシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＡ１，Ａ６の中から、撮影機能を制御可能な操作アシスタントＡ６を選択する。また、アシスタント制御部２２は、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から、要求先の機器１０Ａに搭載されている操作アシスタントＡ６と対話可能な操作アシスタントＡ６を、要求先の機器を制御可能な操作アシスタントとして選択する。
【０２７８】
アシスタント制御部２２は、撮影機能の実行指示を含む操作指示を示す情報を、機器１０Ｆに搭載されている操作アシスタントＡ６から、機器１０Ａに搭載されている操作アシスタントＡ６に送信する。機器１０Ａに搭載されている操作アシスタントＡ６は、機器１０Ｆに搭載されている操作アシスタントＡ６から送られてきた操作指示を示す情報を受信し、その操作指示に従って、機器１０Ｓに撮影機能を実行させる。
【０２７９】
このように、実施例２−６を実施例２−４に適用した場合においても、要求元の機器１０を操作するユーザは、機器１０に搭載されている操作アシスタントを意識せずに、機能の実行指示を与えることができる。
【０２８０】
（実施例２−７）
図２３を参照して、実施例２−７に係る処理について説明する。図２３は、機器１０の一例を示す。実施例２−７では、連携機能の実行指示がユーザによって与えられ、その連携機能を実行するための１又は複数の操作アシスタントが選択されて、当該１又は複数の操作アシスタントによって連携機能の実行が制御される。以下、実施例２−７について詳しく説明する。
【０２８１】
実施例２−７では、機器１０Ｆは要求元の機器である。機器１０Ａ，１０Ｐは要求先の機器であり、中継器として用いられる。機器１０Ａには、機器１０Ｓ，１０Ｔが接続されている。機器１０Ｐには、機器１０Ｕ，１０Ｖが接続されている。
【０２８２】
機器１０Ｆには、操作アシスタントＡ１，Ａ６が搭載されている。機器１０Ａには、操作アシスタントＡ１が搭載されている。機器１０Ｐには、操作アシスタントＡ６が搭載されている。機器１０Ｓ，１０Ｔ，１０Ｕ，１０Ｖには、操作アシスタントは搭載されていない。
【０２８３】
実施例２−７では、機器１０Ｓ，１０Ｔは、操作アシスタントＡ１に対応する機器である。つまり、機器１０Ｓ，１０Ｔは、操作アシスタントＡ１によって制御可能な機器である。機器１０Ｓ，１０Ｔは、機器１０Ａに接続されて、操作アシスタントＡ１によって制御される。
【０２８４】
機器１０Ｕ，１０Ｖは、操作アシスタントＡ６に対応する機器である。つまり、機器１０Ｕ，１０Ｖは、操作アシスタントＡ６によって制御可能な機器である。機器１０Ｕ，１０Ｖは、機器１０Ｐに接続されて、操作アシスタントＡ６によって制御される。
【０２８５】
例えば、ユーザが要求元の機器１０Ｆを用いて、連携機能としての撮影プリント機能の実行の指示を与えたものとする。撮影プリント機能は、機器１０Ｓ（カメラ）による撮影によって生成された画像データを、機器１０Ｖ（複合機）によってプリントする機能である。なお、撮影プリント機能は、当該撮影プリント機能に用いられる機器１０Ｓ，１０Ｖに予め設定されていてもよいし、中継器としての機器１０Ａ，１０Ｐに設定されていてもよいし、要求元の機器１０Ｆに設定されていてもよい。ユーザは、撮影プリント機能の実行指示を与えるときに、撮影プリント機能に用いられる機器１０Ｓ，１０Ｖを指定してもよい。
【０２８６】
撮影プリント機能の実行指示がユーザによって与えられた場合、アシスタント制御部２２は、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から、機器１０Ｓに接続されている機器１０Ａに搭載されている操作アシスタントＡ１と対話可能な操作アシスタントＡ１を選択する。アシスタント制御部２２は、撮影プリント機能の実行指示を含む操作指示を示す情報を、その選択された操作アシスタントＡ１から、機器１０Ａに搭載されている操作アシスタントＡ１に送信する。
【０２８７】
機器１０Ａに搭載されている操作アシスタントＡ１は、機器１０Ｆから送られてきた操作指示に従って、機器１０Ｓによる撮影によって生成された画像データを機器１０Ｓから取得し、その画像データを、機器１０Ｆに搭載されている操作アシスタントＡ１に送信する。その画像データは、機器１０Ｆに一時的に記憶される。
【０２８８】
次に、アシスタント制御部２２は、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１，Ａ６の中から、機器１０Ｖに接続されている機器１０Ｐに搭載されている操作アシスタントＡ６と対話可能な操作アシスタントＡ６を選択する。アシスタント制御部２２は、撮影プリント機能の実行指示を含む操作指示を示す情報と、機器１０Ｓから取得された画像データを、その選択された操作アシスタントＡ６から、機器１０Ｐに搭載されている操作アシスタントＡ６に送信する。
【０２８９】
機器１０Ｐに搭載されている操作アシスタントＡ６は、機器１０Ｆから送られてきた操作指示に従って、機器１０Ｆから送られてきた画像データを機器１０Ｖに送信し、機器１０Ｖにその画像データをプリントさせる。機器１０Ｖは、その画像データをプリントする。
【０２９０】
実施例２−７によれば、複数の機器１０を用いて連携機能を実行する場合においても、要求元の機器１０を操作するユーザは、各機器１０に搭載されている操作アシスタントを意識せずに、連携機能の実行指示を与えることができる。
【０２９１】
図２３に示す例では、複数の中継器（機器１０Ａ，１０Ｐ）が用いられているが、１つの中継器が用いられてもよい。例えば、図２４に示すように、中継器として、機器１０Ａが用いられる。機器１０Ａには、操作アシスタントＡ１，Ａ６が搭載されている。
【０２９２】
撮影プリント機能の実行指示がユーザによって与えられた場合、アシスタント制御部２２は、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１から、機器１０Ａに搭載されている操作アシスタントＡ１に、撮影プリント機能の実行指示を含む操作指示を示す情報を送信する。
【０２９３】
機器１０Ａに搭載されている操作アシスタントＡ１は、撮影によって生成された画像データを機器１０Ｓから取得し、その画像データを、機器１０Ｆに搭載されている操作アシスタントＡ１に送信する。その画像データは、機器１０Ｆに一時的に記憶される。
【０２９４】
次に、アシスタント制御部２２は、撮影プリント機能の実行指示を含む操作指示を示す情報と、機器１０Ｓから取得された画像データを、要求元の機器１０Ｆに搭載されている操作アシスタントＡ６から、機器１０Ａに搭載されている操作アシスタントＡ６に送信する。
【０２９５】
機器１０Ａに搭載されている操作アシスタントＡ６は、機器１０Ｆから送られてきた操作指示に従って、機器１０Ｖに画像データをプリントさせる。
【０２９６】
なお、機器１０Ａに搭載されている操作アシスタントＡ１は、機器１０Ｓから取得した画像データを、機器１０Ｆに送信しなくてもよい。この場合、機器１０Ａに搭載されている操作アシスタントＡ６は、その画像データを機器１０Ｖに送信して、機器１０Ｖにその画像データをプリントさせてもよい。
【０２９７】
上記の実施例２−５，２−６，２−７において、操作アシスタントが、機能の実行指示を操作対象の機器１０に与えることができない場合、制御部２０は、その理由の通知を制御してもよい。例えば、操作アシスタントのバージョンによって、操作アシスタントが、実行対象の機能に対応しておらず、その機能の実行指示を機器１０に与えることができない場合がある。また、操作アシスタントが制御可能な機能が制限されており、それが原因となって、操作アシスタントが、その機能の実行指示を機器１０に与えることができない場合がある。また、操作アシスタントにログインしているユーザアカウントが利用可能な機能が制限されており、それが原因となって、操作アシスタントが、その機能の実行指示を機器１０に与えることができない場合がある。また、標準操作アシスタントが、実行対象の機能に対応していない場合がある。例えば、標準操作アシスタントは、複数種類の操作アシスタントが共通して有する機能を有しているが、それ以外の機能を有していない場合や、それ以外の機能の性能が低い場合等がある。このような場合、標準操作アシスタントは、機能の実行指示を、操作対象の機器１０に与えることができないことがある。
【０２９８】
要求元の機器１０に搭載されている操作アシスタント、要求先の機器１０に搭載されている操作アシスタント、又は、要求元の機器１０と要求先の機器１０の両方に搭載されている操作アシスタントに、上記の原因が発生する場合がある。何れの場合においても、機能の実行指示を機器１０に与えることができず、この場合、制御部２０は、その理由の通知を制御する。
【０２９９】
例えば、要求元の機器１０にて、上記の理由が通知される。要求元の機器１０の制御部２０は、その理由を示す情報を、要求元の機器１０のＵＩ部１４の表示部に表示させてもよいし、音声として出力してもよい。
【０３００】
例えば、操作アシスタントのバージョンが実行対象の機能に対応していないことが原因となって、機能の実行指示を、操作対象の機器１０に与えることができない場合、制御部２０は、操作アシスタントのバージョンが実行対象の機能に対応していない旨を示す情報を通知する。
【０３０１】
操作アシスタントが制御可能な機能が制限されていることが原因となって、機能の実行指示を、操作対象の機器１０に与えることができない場合、制御部２０は、操作アシスタントが制御可能な機能が制限されている旨を示す情報を通知する。
【０３０２】
ユーザアカウントが利用可能な機能が制限されていることが原因となって、機能の実行指示を、操作対象の機器１０に与えることができない場合、制御部２０は、ユーザアカウントが利用可能な機能が制限されている旨を示す情報を通知する。
【０３０３】
標準操作アシスタントが実行対象の機能に対応していないことが原因となって、機能の実行指示を、操作対象の機器１０に与えることができない場合、制御部２０は、標準操作アシスタントが実行対象の機能に対応していない旨を示す情報を通知する。
【０３０４】
上記の通知を行うことにより、機能の実行指示を機器１０に与えることができない理由を、ユーザに提供することができる。
【０３０５】
また、実行対象の機能の実行指示を操作対象の機器１０に与えることが可能な操作アシスタントが、要求元の機器１０や要求先の機器１０や中継器に搭載されていない場合、その機能の実行指示を操作対象の機器１０に与えることができない。この場合、制御部２０は、その機能の実行指示を操作対象の機器１０に与えることができない理由を通知してもよい。例えば、制御部２０は、実行対象の機能の実行指示を操作対象の機器１０に与えることが可能な操作アシスタントが、要求元の機器１０や要求先の機器１０や中継器に搭載されていない旨を示す情報を通知する。こうすることで、機能の実行指示を機器１０に与えることができない理由を、ユーザに提供することができる。
【０３０６】
＜第３実施形態＞
以下、本発明の第３実施形態に係る情報処理システムについて説明する。第３実施形態に係る情報処理システムは、第１実施形態に係る情報処理システムと同様に、１又は複数の機器１０を含む。また、第３実施形態に係る機器１０は、第１実施形態に係る機器１０と同じ構成を有する。
【０３０７】
第３実施形態では、要求先の機器１０に複数の操作アシスタントが搭載されており、その機器１０に更に別の機器１０が接続されている。要求元の機器１０から要求先の機器１０に対して操作指示を示す情報が送信された場合、アシスタント制御部２２は、当該複数の操作アシスタントの中から、当該別の機器１０を制御可能な操作アシスタントを選択する。その操作アシスタントが、操作指示に従って当該別の機器１０を制御する。
【０３０８】
以下、図２５を参照して、第３実施形態に係る処理について詳しく説明する。図２５は、機器１０の一例を示す。一例として、機器１０Ｆが要求元の機器に該当し、機器１０Ａ，１０Ｐ，１０Ｄが要求先の機器に該当する。
【０３０９】
機器１０Ａ，１０Ｐには、操作アシスタントＡ１，Ａ６が搭載されている。機器１０Ｄには、標準操作アシスタントＡｓが搭載されている。また、機器１０Ａには、第３機器としての機器１０Ｓ，１０Ｔが接続されている。機器１０Ｐには、第３機器としての機器１０Ｕ，１０Ｖが接続されている。機器１０Ｄには、第３機器としての機器１０Ｗが接続されている。機器１０Ａ，１０Ｐ，１０Ｄは、中継器として用いられる。
【０３１０】
機器１０Ｆ，１０Ｓ，１０Ｔ，１０Ｕ，１０Ｖ，１０Ｗには、操作アシスタントが搭載されていてもよいし、操作アシスタントが搭載されていなくてもよい。
【０３１１】
機器１０Ｓは、操作アシスタントＡ１，Ａ２，Ａ３に対応する機器である。つまり、機器１０Ｓは、操作アシスタントＡ１，Ａ２，Ａ３のそれぞれによって制御可能な機器である。機器１０Ｓは、機器１０Ａに接続されて、機器１０Ａに搭載されている操作アシスタントＡ１によって制御される。
【０３１２】
機器１０Ｔは、操作アシスタントＡ２，Ａ６に対応する機器である。つまり、機器１０Ｔは、操作アシスタントＡ２，Ａ６のそれぞれによって制御可能な機器である。機器１０Ｔは、機器１０Ａに接続されて、機器１０Ａに搭載されている操作アシスタントＡ６によって制御される。
【０３１３】
機器１０Ｕは、操作アシスタントＡ２，Ａ６に対応する機器である。つまり、機器１０Ｕは、操作アシスタントＡ２，Ａ６のそれぞれによって制御可能な機器である。機器１０Ｕは、機器１０Ｐに接続されて、機器１０Ｐに搭載されている操作アシスタントＡ６によって制御される。
【０３１４】
機器１０Ｖは、操作アシスタントＡ６に対応する機器である。つまり、機器１０Ｖは、操作アシスタントＡ６によって制御可能な機器である。機器１０Ｖが、機器１０Ｐに接続されて、機器１０Ｐに搭載されている操作アシスタントＡ６によって制御される。
【０３１５】
機器１０Ｗは、操作アシスタントＡ１，Ａ３，Ａｓに対応する機器である。つまり、機器１０Ｗは、操作アシスタントＡ１，Ａ３，Ａｓによって制御可能な機器である。機器１０Ｗは、機器１０Ｄに接続されて、機器１０Ｄに搭載されている操作アシスタントＡｓによって制御される。
【０３１６】
例えば、機器１０Ｆから機器１０Ａに対して、機器１０Ｓの操作指示を示す情報が送信された場合、機器１０Ａのアシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＡ１，Ａ６の中から、機器１０Ｓを制御可能な操作アシスタントＡ１を選択する。その操作アシスタントＡ１が、操作指示に従って機器１０Ｓを制御する。例えば、機器１０Ｓによる撮影によって生成された画像データを取得する指示が、操作指示に含まれている場合、操作アシスタントＡ１は、機器１０Ｓから画像データを取得し、その画像データを機器１０Ｆに送信する。例えば、アシスタント制御部２２は、操作アシスタントＡ１の操作アシスタントプログラムを実行することで、操作アシスタントＡ１を起動させ、操作アシスタントＡ１に操作指示に従った動作を実行させる。また、アシスタント制御部２２は、操作アシスタントＡ６の操作アシスタントプログラムの実行を終了することで、操作アシスタントＡ６の起動を終了させてもよい。もちろん、操作アシスタントＡ１，Ａ６の両方の操作アシスタントプログラムが実行されていてもよい。この場合、アシスタント制御部２２は、操作アシスタントＡ１を選択して、操作アシスタントＡ１に操作指示に従った動作を実行させる。
【０３１７】
また、機器１０Ｆから機器１０Ｐに対して、機器１０Ｖの操作指示を示す情報が送信された場合、機器１０Ａのアシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＡ１，Ａ６の中から、機器１０Ｖを制御可能な操作アシスタントＡ６を選択する。その操作アシスタントＡ６が、操作指示に従って機器１０Ｖを制御する。例えば、機器１０Ｖを用いたプリントの実行指示が、操作指示に含まれている場合、操作アシスタントＡ６は、プリント対象の画像データが格納されている格納場所（例えば機器１０Ｆ等）から当該画像データを取得し、その画像データを機器１０Ｖに送信して機器１０Ｖにプリントさせる。
【０３１８】
また、機器１０Ｆから機器１０Ｄに対して、機器１０Ｗの操作指示を示す情報が送信された場合、機器１０Ｄのアシスタント制御部２２は、機器１０Ｗを制御可能な標準操作アシスタントＡｓに、当該操作指示に従った動作を実行させる。
【０３１９】
アシスタント制御部２２は、実行対象の機能を制御可能な操作アシスタントを選択し、当該操作アシスタントに当該機能を制御させてもよい。例えば、操作アシスタント毎に、制御可能な機能が制限されている場合、アシスタント制御部２２は、実行対象の機能を制御可能な操作アシスタントを選択する。
【０３２０】
また、アシスタント制御部２２は、制御可能な機器の数に基づいて操作アシスタントを選択してもよい。例えば、アシスタント制御部２２は、操作対象の機器を制御可能な操作アシスタントであって、制御可能な機器の数が最も多い操作アシスタントを選択し、その操作アシスタントに操作指示に従った動作を実行させてもよい。
【０３２１】
また、アシスタント制御部２２は、制御可能な機能の数に基づいて操作アシスタントを選択してもよい。例えば、アシスタント制御部２２は、実行対象の機能を制御可能な操作アシスタントであって、制御可能な機能の数が最も多い操作アシスタントを選択し、その操作アシスタントに操作指示に従った動作を実行させてもよい。
【０３２２】
第３実施形態によれば、要求先の機器１０に複数の操作アシスタントが搭載されている場合であっても、操作対象の機器や実行対象の機能を制御可能な操作アシスタントが選択されて、その操作アシスタントによって、機器や機能が制御される。こうすることで、要求元の機器１０を操作するユーザは、操作アシスタントを意識せずに、操作指示を与えることができる。
【０３２３】
＜第４実施形態＞
以下、本発明の第４実施形態に係る情報処理システムについて説明する。図２６は、第４実施形態に係る情報処理システムの一例を示す。第４実施形態に係る情報処理システムは、第１実施形態に係る情報処理システムと同様に、機器１０Ａ〜１０Ｒを含む。
【０３２４】
また、各機器１０には、１又は複数種類の操作アシスタントが搭載されている。また、ユーザアカウントが設定されている操作アシスタントが、機器１０に搭載されている場合がある。ユーザアカウントが設定されている操作アシスタントは、当該ユーザアカウントを用いて当該操作アシスタントにログインしているユーザからの指示に従って動作し、当該ユーザ以外の他のユーザからの指示に従っては動作しない。
【０３２５】
第４実施形態では、操作アシスタントの種類を、文字「Ａ」、「Ｂ」又は「Ｓ」等によって表現し、ユーザアカウントを、数字「１」又は「２」等によって表現するものとする。
【０３２６】
例えば、同一種類の複数の操作アシスタントは、同じ種類の操作アシスタントのプログラムによって動作する操作アシスタントであり、互いに異なる種類の操作アシスタントは、互いに異なる種類の操作アシスタントのプログラムによって動作する操作アシスタントである。例えば、操作アシスタントＡ１，Ａ２は、同じ種類の操作アシスタントのプログラムによって動作する。操作アシスタントＢ１，Ｂ２も同様である。操作アシスタントＡ１，Ｂ１は、互いに異なる種類の操作アシスタントのプログラムによって動作する。
【０３２７】
なお、同一種類とは、操作アシスタントやプログラムの内容が同一であることを意味してもよいし、操作アシスタントやプログラムのバージョンのみが異なることを意味してもよい。
【０３２８】
例えば、操作アシスタントＡ１，Ａ２は、互いに同一種類「Ａ」の操作アシスタント（例えば、同じ操作アシスタントのプログラムによって動作する操作アシスタント）であるが、互いに異なるユーザアカウントが設定されている。例えば、操作アシスタントＡ１には、ユーザアカウント「１」が設定されており、操作アシスタントＡ２には、ユーザアカウント「２」が設定されている。つまり、操作アシスタントＡ１は、ユーザアカウント「１」を用いて当該操作アシスタントＡ１にログインしているユーザからの指示に従って動作し、当該ユーザ以外の他のユーザからの指示に従っては動作しない。例えば、操作アシスタントＡ１は、ユーザアカウント「２」を有するユーザからの指示に従っては動作しない。操作アシスタントＡ２についても同様である。また、種類「Ｂ」の操作アシスタントについても同様である。
【０３２９】
操作アシスタントＳは、上記の第１実施形態でも説明した標準操作アシスタントである。標準操作アシスタントの定義は、第１実施形態で説明した内容と同じである。操作アシスタントＳは、ユーザアカウントに関わらず、ユーザからの指示に従って動作する。
【０３３０】
図２６に示すように、複数の機器１０に、同一種類の操作アシスタントが搭載されていたり、同一ユーザアカウントが設定されている操作アシスタントが搭載されていたりする場合がある。このような場合、ユーザが音声等によって、操作アシスタントを指定して指示を与えたとしても、その指示からだけでは、どの機器１０に搭載されているどの操作アシスタントに指示が与えられたのかが特定されない。例えば、操作アシスタントが音声を識別する機能を有している場合において、ユーザが、操作アシスタントＡ１を識別するためのアシスタント識別情報を音声によって発したとしても、操作アシスタントＡ１は、機器１０Ａ，１０Ｆ，１０Ｌ等に搭載されているため、どの機器１０に搭載されている操作アシスタントＡ１に指示が与えられたのかが特定されない。また、ユーザアカウントが特定されない場合には、指示が与えられた操作アシスタントが、操作アシスタントＡ１，Ａ２の何れであるのかが特定されない。
【０３３１】
また、ある機器１０に搭載されている操作アシスタントが、別の機器１０に搭載されている操作アシスタントに接続要求を送信した場合、当該別の機器１０に搭載されている操作アシスタントは、どの操作アシスタントから接続要求が与えられたのかを特定することができないことがある。
【０３３２】
第４実施形態では、上記の状況を解消するために、接続要求を与える機器１０を識別するための機器識別情報、及び、当該機器１０に搭載されている操作アシスタントを識別するためのアシスタント識別情報の中の少なくとも１つの識別情報が、接続要求を示す情報に含まれる。その接続要求を示す情報を受信した機器１０においては、アシスタント制御部２２が、その識別情報に基づいて、接続要求を示す情報を当該機器１０に送信した機器１０と操作アシスタントを特定する。こうすることで、接続要求を受けた機器１０のアシスタント制御部２２は、接続を要求した機器１０と操作アシスタントを特定することができる。なお、その特定処理は、接続要求を受けた機器１０に搭載されている操作アシスタントによって実行されてもよい。
【０３３３】
以下、第４実施形態について詳しく説明する。
【０３３４】
（実施例４−１）
図２７を参照して、実施例４−１に係る処理について説明する。図２７は、機器１０の一例を示す。一例として、機器１０Ｆが要求元の機器に該当し、機器１０Ａが要求先の機器に該当する。
【０３３５】
機器１０Ｆには、操作アシスタントＡ１が搭載されており、機器１０Ａには、操作アシスタントＢ１が搭載されているものとする。機器１０Ｆが第１機器の一例に相当し、機器１０Ｆが第２機器に相当する。また、操作アシスタントＡ１が第１操作アシスタントの一例に相当し、操作アシスタントＢ１が第２操作アシスタントの一例に相当する。
【０３３６】
例えば、ユーザが機器１０Ｆを用いて機器１０Ａへの接続要求を指示した場合、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆの機器識別情報と操作アシスタントＡ１のアシスタント識別情報とを含む接続要求を示す情報を作成する。機器１０Ｆは、その接続要求を示す情報を機器１０Ａに送信する。
【０３３７】
上述した第１実施形態と同様に、機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。
【０３３８】
また、機器１０Ａのアシスタント制御部２２は、機器１０Ａから送られてきた接続要求を示す情報に識別情報が含まれているか否かを確認する。接続要求を示す情報に機器識別情報が含まれている場合、機器１０Ａのアシスタント制御部２２は、その機器識別情報に基づいて、機器１０Ａに接続要求を示す情報を送信した機器１０Ｆを特定する。これにより、機器１０Ａのアシスタント制御部２２は、返答先の機器１０Ｆを特定することができる。また、接続要求を示す情報にアシスタント識別情報が含まれている場合、機器１０Ａのアシスタント制御部２２は、そのアシスタント識別情報に基づいて、接続要求を示す情報を送信した機器１０Ｆに搭載されている操作アシスタントＡ１を特定する。これにより、機器１０Ａのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を、機器１０Ａに搭載されている操作アシスタントＢ１との間で情報をやり取りする操作アシスタントとして特定する。
【０３３９】
以上のようにして、機器１０Ａにおいて、接続要求を示す情報を機器１０Ａに送信した機器１０が機器１０Ｆであることが特定され、更に、機器１０Ａに搭載されている操作アシスタントＢ１との間で情報のやり取りを行うべき相手の操作アシスタントが、操作アシスタントＡ１であることが特定される。
【０３４０】
また、接続要求を示す情報に機器識別情報及びアシスタント識別情報の中の少なくとも１つの識別情報が含まれている場合、機器１０Ａのアシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＢ１を、機器１０Ｆに搭載されている操作アシスタントＡ１からの指示に従って動作する従操作アシスタントとして設定する。
【０３４１】
以上により、第１実施形態と同様に、要求元の機器１０Ｆに搭載されている操作アシスタントＡ１が主操作アシスタントとして設定され、要求先の機器１０Ａに搭載されている操作アシスタントＢ１が従操作アシスタントとして設定される。上記のように、接続要求を行った機器１０Ｆに搭載されている操作アシスタントＡ１が特定されているため、操作アシスタントＢ１は、接続要求を行った機器１０Ｆに搭載されている操作アシスタントＡ１との間で情報をやり取りすることができる。
【０３４２】
以上により、機器１０Ｆに搭載されている主操作アシスタントとしての操作アシスタントＡ１と、機器１０Ａに搭載されている従操作アシスタントとしての操作アシスタントＢ１との間で情報がやり取りされる。操作アシスタントＢ１は、操作アシスタントＡ１からの指示に従って動作する。
【０３４３】
接続要求を示す情報に、機器識別情報及びアシスタント識別情報の何れもが含まれていない場合、機器１０Ａのアシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＢ１を従操作アシスタントとして設定しない。
【０３４４】
実施例４−１によれば、接続要求を示す情報に識別情報が含まれている場合、要求先の機器１０において、要求元の機器１０と当該機器１０に搭載されている操作アシスタント（要求先の機器１０に搭載されている操作アシスタントの対話相手）を特定することができ、その上で、要求元の機器１０に搭載されている操作アシスタントと要求先の機器１０に搭載されている操作アシスタントとの間で主従関係を形成することができる。
【０３４５】
なお、接続要求を示す情報に、機器識別情報が含まれ、アシスタント識別情報が含まれていない場合、要求先の機器１０Ａのアシスタント制御部２２は、その機器識別情報に基づいて、要求元の機器１０Ｆを特定する。この場合、要求先の機器１０Ａにて、要求元の機器１０Ｆに搭載されている操作アシスタントが特定されていなくても、機器１０Ａに搭載されている操作アシスタントＢ１は、特定された機器１０Ｆに搭載されている不明な操作アシスタントとの間で情報をやり取りする。そのやり取りの途中で、機器１０Ａにおいて、機器１０Ｆに搭載されている操作アシスタントＡ１が特定されてもよい。
【０３４６】
また、接続要求を示す情報に、アシスタント識別情報が含まれ、機器識別情報が含まれていない場合、要求先の機器１０Ａのアシスタント制御部２２は、そのアシスタント識別情報に基づいて、対話相手としての操作アシスタントＡ１を特定する。この場合、要求先の機器１０Ａにて、要求元の機器１０Ｆが特定されていなくても、機器１０Ａに搭載されている操作アシスタントＢ１は、特定された操作アシスタントＡ１との間で情報をやり取りする。そのやり取りの途中で、機器１０Ａにおいて、操作アシスタントＡ１を搭載している機器１０Ｆが特定されてもよい。
【０３４７】
接続要求を示す情報に識別情報が含まれていない場合、アシスタント制御部２２は、要求元の機器１０Ｆに搭載されている操作アシスタントと要求先の機器１０Ａに搭載されている操作アシスタントとの間で、主従関係を形成しない。つまり、要求先の機器１０Ａにおいては、要求元の機器１０Ｆ及び対話相手としての操作アシスタントが特定されていないため、要求先の機器１０Ａに搭載されている操作アシスタントは、どの機器１０又はどの操作アシスタントに情報を送るべきなのか特定することができない。このような状況では、要求先の機器１０Ａに搭載されている操作アシスタントを従操作アシスタントとして設定する技術的意義がないため、アシスタント制御部２２は主従関係を形成しない。
【０３４８】
なお、要求元の機器１０Ｆのアシスタント制御部２２は、機器１０Ｆの機器識別情報を含まず操作アシスタントＡ１のアシスタント識別情報を含む接続要求を示す情報を作成してもよい。その接続要求を示す情報は、機器１０Ｆから要求先の機器１０Ａに送信される。要求先の機器１０Ａのアシスタント制御部２２は、そのアシスタント識別情報に基づいて、操作アシスタントＢ１の対話相手としての操作アシスタントＡ１を特定する。要求先の機器１０Ａの周囲に１つの機器１０が設置されており、当該機器１０に１つの操作アシスタントＡ１が搭載されている場合、機器１０Ａのアシスタント制御部２２は、受け付けたアシスタント識別情報に基づいて、当該機器１０に搭載されている操作アシスタントＡ１を、操作アシスタントＢ１の対話相手の操作アシスタント（つまり主操作アシスタント）として特定することができる。また、要求先の機器１０Ａの周囲に複数の機器１０が設置されている場合であっても、当該複数の機器１０の中の１つの機器１０のみに１つの操作アシスタントＡ１が搭載されている場合、機器１０Ａのアシスタント制御部２２は、受け付けたアシスタント識別情報に基づいて、当該１つの機器１０に搭載されている操作アシスタントＡ１を主操作アシスタントとして特定し、当該１つの機器１０を要求元の機器１０として特定することができる。このように、接続要求を示す情報に機器識別情報が含まれていない場合であっても、要求先の機器１０Ａにおいて、要求元の機器１０Ｆと主操作アシスタントを特定することができることがある。
【０３４９】
また、要求元の機器１０Ｆのアシスタント制御部２２は、機器１０Ｆの機器識別情報を含み操作アシスタントＡ１のアシスタント識別情報を含まない接続要求を示す情報を作成してもよい。その接続要求を示す情報は、機器１０Ｆから要求先の機器１０Ａに送信される。要求先の機器１０Ａのアシスタント制御部２２は、その機器識別情報に基づいて、要求元の機器１０Ｆを特定する。要求元の機器１０Ｆに、１つの操作アシスタントのみが搭載されている場合、機器１０Ｆのアシスタント制御部２２は、当該操作アシスタントを主操作アシスタントとして特定する。機器１０Ｆに搭載されている操作アシスタントＢ１は、当該操作アシスタントを主操作アシスタントとして識別して、当該操作アシスタントとの間で情報をやり取りする。このように、接続要求を示す情報にアシスタント識別情報が含まれていない場合であっても、要求先の機器１０Ａにおいて、要求元の機器１０Ｆと主操作アシスタントを特定することができることがある。
【０３５０】
（実施例４−２）
図２８を参照して、実施例４−２に係る処理について説明する。図２８は、機器１０の一例を示す。一例として、機器１０Ｆが要求元の機器に該当し、機器１０Ａが要求先の機器に該当する。
【０３５１】
機器１０Ｆには、操作アシスタントＡ１，Ｂ１が搭載されており、機器１０Ａには、操作アシスタントＢ１が搭載されているものとする。機器１０Ｆが第１機器の一例に相当し、機器１０Ｆが第２機器に相当する。また、機器１０Ｆに搭載されている操作アシスタントＡ１又は操作アシスタントＢ１が第１操作アシスタントの一例に相当し、機器１０Ａに搭載されている操作アシスタントＢ１が第２操作アシスタントの一例に相当する。
【０３５２】
要求元の機器１０Ｆのアシスタント制御部２２は、当該機器１０Ｆに搭載されている操作アシスタントＡ１，Ｂ１の中で主操作アシスタントとして動作する操作アシスタントを定める。例えば、アシスタント制御部２２は、機器１０Ｆを利用するユーザの指示に従って主操作アシスタントを定めてもよいし、後述するように、機器１０Ｆにおいて主に動作する操作アシスタントを主操作アシスタントとして定めてもよい。ここでは、操作アシスタントＡ１が主操作アシスタントとして定められたものとする。
【０３５３】
機器１０Ｆのアシスタント制御部２２は、機器１０Ｆの機器識別情報と操作アシスタントＡ１のアシスタント識別情報とを含む接続要求を示す情報を作成する。機器１０Ｆは、その接続要求を示す情報を機器１０Ａに送信する。
【０３５４】
機器１０Ｆのアシスタント制御部２２は、要求先の機器１０に搭載されて従操作アシスタントとして動作する操作アシスタントとの関係で、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。
【０３５５】
また、機器１０Ａのアシスタント制御部２２は、実施例４−１と同様に、機器１０Ａから送られてきた接続要求を示す情報に識別情報が含まれているか否かを確認する。接続要求を示す情報に機器識別情報が含まれている場合、機器１０Ａのアシスタント制御部２２は、その機器識別情報に基づいて、機器１０Ａに接続要求を示す情報を送信した機器１０Ｆを特定する。これにより、機器１０Ａのアシスタント制御部２２は、返答先の機器１０Ｆを特定することができる。また、接続要求を示す情報にアシスタント識別情報が含まれている場合、機器１０Ａのアシスタント制御部２２は、そのアシスタント識別情報に基づいて、接続要求を示す情報を送信した機器１０Ｆに搭載されている操作アシスタントＡ１を特定し、この操作アシスタントＡ１を主操作アシスタントとして識別する。これにより、要求元の機器１０Ｆに複数の操作アシスタントが搭載されている場合に、要求先の機器１０Ａのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１を、機器１０Ａに搭載されている操作アシスタントＢ１との間で情報をやり取りする主操作アシスタントとして特定することができる。
【０３５６】
また、実施例４−１と同様に、機器１０Ａのアシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＢ１を、機器１０Ｆに搭載されている操作アシスタントＡ１からの指示に従って動作する従操作アシスタントとして設定する。
【０３５７】
以上により、機器１０Ｆに搭載されている主操作アシスタントとしての操作アシスタントＡ１と、機器１０Ａに搭載されている従操作アシスタントとしての操作アシスタントＢ１との間で情報がやり取りされる。操作アシスタントＢ１は、操作アシスタントＡ１からの指示に従って動作する。
【０３５８】
実施例４−２によれば、要求元の機器１０に複数の操作アシスタントが搭載されている場合であっても、要求先の機器１０において、要求先の機器１０に搭載されて従操作アシスタントとして動作する操作アシスタントの対話相手としての主操作アシスタントを特定することができる。その上で、要求元の機器１０に搭載されている操作アシスタントと要求先の機器１０に搭載されている操作アシスタントとの間で主従関係を形成することができる。
【０３５９】
接続要求を示す情報に識別情報が含まれていない場合、実施例４−１と同様に、上記の主従関係は形成されない。
【０３６０】
（実施例４−３）
図２９を参照して、実施例４−３に係る処理について説明する。図２９は、機器１０の一例を示す。一例として、機器１０Ｆが要求元の機器に該当し、機器１０Ａが要求先の機器に該当する。
【０３６１】
機器１０Ｆには、操作アシスタントＢ１が搭載されており、機器１０Ａには、操作アシスタントＢ１，Ｂ２が搭載されているものとする。機器１０Ｆが第１機器の一例に相当し、機器１０Ａが第２機器に相当する。また、機器１０Ｆに搭載されている操作アシスタントＢ１が第１操作アシスタントの一例に相当し、機器１０Ａに搭載されている操作アシスタントＢ１又は操作アシスタントＢ２が第２操作アシスタントの一例に相当する。
【０３６２】
機器１０Ｆのアシスタント制御部２２は、機器１０Ｆの機器識別情報と、機器１０Ｆに搭載されている操作アシスタントＢ１のアシスタント識別情報と、従操作アシスタントとして動作すべき操作アシスタントのアシスタント識別情報と、を含む接続要求を示す情報を作成する。機器１０Ｆは、その接続要求を示す情報を機器１０Ａに送信する。
【０３６３】
従操作アシスタントとして動作すべき操作アシスタントは、例えば、機器１０Ｆを利用するユーザによって指定されてもよいし、後述する操作アシスタントの特定方法によって指定されてもよいし、その他の方法によって指定されてもよい。
【０３６４】
機器１０Ｆのアシスタント制御部２２は、要求先の機器１０に搭載されて従操作アシスタントとして動作する操作アシスタントとの関係で、機器１０Ｆに搭載されている操作アシスタントＢ１を主操作アシスタントとして設定する。
【０３６５】
また、機器１０Ａのアシスタント制御部２２は、実施例４−１と同様に、機器１０Ｆから送られてきた接続要求を示す情報に識別情報が含まれているか否かを確認する。接続要求を示す情報に機器識別情報が含まれている場合、機器１０Ａのアシスタント制御部２２は、その機器識別情報に基づいて、機器１０Ａに接続要求を示す情報を送信した機器１０Ｆを特定する。これにより、機器１０Ａのアシスタント制御部２２は、返答先の機器１０Ｆを特定することができる。また、接続要求を示す情報に、機器１０Ｆに搭載されている操作アシスタントＢ１のアシスタント識別情報が含まれている場合、機器１０Ａのアシスタント制御部２２は、そのアシスタント識別情報に基づいて、接続要求を示す情報を送信した機器１０Ｆに搭載されている操作アシスタントＢ１を特定し、この操作アシスタントＢ１を主操作アシスタントとして識別する。また、接続要求を示す情報に従操作アシスタントとして動作すべき操作アシスタントのアシスタント識別情報が含まれている場合、機器１０Ａのアシスタント制御部２２は、そのアシスタント識別情報に基づいて、機器１０Ａに搭載されている操作アシスタントＢ１，Ｂ２の中の何れかの操作アシスタントを従操作アシスタントとして識別する。例えば、機器１０Ａに搭載されている操作アシスタントＢ１が従操作アシスタントとして動作すべき操作アシスタントであると指定されている場合、機器１０Ａのアシスタント制御部２２は、当該操作アシスタントＢ１を、機器１０Ｆに搭載されている操作アシスタントＢ１からの指示に従って動作する従操作アシスタントとして設定する。
【０３６６】
以上により、機器１０Ｆに搭載されている主操作アシスタントとしての操作アシスタントＢ１と、機器１０Ａに搭載されている従操作アシスタントとしての操作アシスタントＢ１との間で情報がやり取りされる。機器１０Ａに搭載されている操作アシスタントＢ１は、機器１０Ｆに搭載されている操作アシスタントＡ１からの指示に従って動作する。
【０３６７】
実施例４−３によれば、要求先の機器１０に複数の操作アシスタントが搭載されている場合であっても、要求先の機器１０において、従操作アシスタントとして動作する操作アシスタントを特定することができる。その上で、要求元の機器１０に搭載されている操作アシスタントと要求先の機器１０に搭載されている操作アシスタントとの間で主従関係を形成することができる。
【０３６８】
接続要求を示す情報に識別情報が含まれていない場合、実施例４−１と同様に、上記の主従関係は形成されない。
【０３６９】
（実施例４−４）
実施例４−４に係る処理について説明する。実施例４−４では、主操作アシスタントが搭載されている機器１０の周囲に、同一種類の複数の操作アシスタントと複数の機器１０が存在する場合、主操作アシスタントが搭載されている機器１０のアシスタント制御部２２は、識別情報に基づいて、指示を受け取るべき機器１０と従操作アシスタントを特定する。なお、機器１０の周囲とは、例えば、当該機器１０が通信可能な範囲、又は、当該機器１０を基準として予め定められた範囲等である。
【０３７０】
例えば、操作アシスタントＡ１が搭載されている機器１０Ｆが、他の機器１０に接続要求を示す情報を送信し、機器１０Ｆに搭載されている操作アシスタントＡ１が、主操作アシスタントに該当するものとする。機器１０Ｆは第１機器の一例に相当する。
【０３７１】
主操作アシスタントとしての操作アシスタントＡ１が搭載されている機器１０Ｆには、主操作アシスタントからの指示を受け取るべき従操作アシスタントのアシスタント識別情報と、当該従操作アシスタントが搭載されている機器１０の機器識別情報が入力される。これらの識別情報の入力方法について後述する。
【０３７２】
機器１０Ｆのアシスタント制御部２２は、機器１０Ｆに入力されたアシスタント識別情報に基づいて、従操作アシスタントとして動作する操作アシスタントを識別し、機器１０Ｆに入力された機器識別情報に基づいて、従操作アシスタントが搭載されている機器１０を特定する。従操作アシスタントが搭載されている機器１０は、第２機器の一例に相当する。
【０３７３】
以上のように、従操作アシスタントと当該従操作アシスタントが搭載されている機器１０が特定されると、機器１０Ｆに搭載されている主操作アシスタントとしての操作アシスタントＡ１と、従操作アシスタントとの間で情報がやり取りされる。従操作アシスタントは、操作アシスタントＡ１からの指示に従って動作する。
【０３７４】
実施例４−４によれば、主操作アシスタントが搭載されている機器の周囲に、同一種類の複数の操作アシスタントと複数の機器１０が存在する場合であっても、従操作アシスタントと当該従操作アシスタントが搭載されている機器１０を特定して、主操作アシスタントと従操作アシスタントとの間で主従関係を形成することができる。
【０３７５】
（実施例４−５）
実施例４−５について説明する。機器１０に複数の操作アシスタントが搭載されている場合、当該複数の操作アシスタントの中で、主操作アシスタントとして動作する操作アシスタントと、副操作アシスタントとして動作する操作アシスタントが定められてもよい。通常、主操作アシスタントが当該機器１０にて動作し、ユーザからの要望に応じて応答するが、主操作アシスタントが対応できない要求等が与えられた場合、副操作アシスタントが、その要求等に応じて動作する。また、複数の操作アシスタントの中で、稼動しない操作アシスタントが定められてもよい。なお、ここでの主操作アシスタントは、操作アシスタントの主従関係における主操作アシスタントであるとは限らず、複数の操作アシスタントが搭載された機器１０において主に動作する操作アシスタントである。
【０３７６】
例えば、ユーザによって、操作アシスタントの「主」又は「副」が定められる。図３０は、その設定画面を示す。機器１０の制御部２０は、ユーザの指示に従って、設定画面８６をＵＩ部１４に表示させ、当該機器１０に搭載されている操作アシスタントを識別するための情報を設定画面８６に表示させる。例えば、機器１０Ａに搭載されている操作アシスタントの「主」又は「副」が定められるものとする。機器１０Ａには、例えば、操作アシスタントＡ，Ｂ，Ｓが搭載されている。設定画面８６には、操作アシスタントＡ，Ｂ，Ｓのそれぞれを識別するための情報（例えば名称等）が表示されている。各操作アシスタントに対応する設定ボタン８８，９０，９２が、設定画面８６に表示されている。ユーザは、設定ボタンを操作することで、主操作アシスタント、副操作アシスタント、及び、稼動しない操作アシスタントを設定することができる。例えば、操作アシスタントＢが主操作アシスタントとして設定されており、標準操作アシスタントＳが副操作アシスタントとして設定されており、操作アシスタントＡが稼動しない操作アシスタントとして設定されている。これにより、機器１０Ａにおいては、通常、操作アシスタントＢが、各種の処理や制御（例えばユーザからの要望を実現するための処理等）を実行し、操作アシスタントＢが処理することができない事態が発生したときに、標準操作アシスタントＳが、その事態に対処する。例えば、操作アシスタントＢでは制御不可能な機器や処理の制御指示が機器１０に与えられた場合、標準操作アシスタントＳは、その制御指示に従って動作する。また、操作アシスタントＡは、機器１０Ａでは稼動しない。
【０３７７】
なお、情報処理システムに含まれる全機器１０において、主操作アシスタントと副操作アシスタントが設定されてもよいし、一部の機器１０において、主操作アシスタントと副操作アシスタントが設定されてもよい。また、同一の機器１０において、複数の副操作アシスタントが設定されてもよい。この場合、複数の操作アシスタントの間で順位が定められてもよい。
【０３７８】
また、ユーザアカウント毎に、主操作アシスタントと副操作アシスタントが設定されてもよい。つまり、同一の操作アシスタントであっても、あるユーザアカウントでは主操作アシスタントとして設定され、別のユーザアカウントでは副操作アシスタントとして設定されてもよい。
【０３７９】
以下、図３１を参照して、実施例４−５に係る処理について説明する。図３１は、機器の一例を示す図である。一例として、機器１０Ｆが要求元の機器に該当し、機器１０Ａが要求先の機器に該当する。
【０３８０】
機器１０Ｆには、操作アシスタントＡ１，Ｂ１が搭載されており、機器１０Ａには、操作アシスタントＡ１，Ｂ１，Ｓが搭載されているものとする。機器１０Ｆが第１機器に相当し、機器１０Ａが第２機器に相当する。
【０３８１】
機器１０Ｆにおいては、操作アシスタントＡ１が主操作アシスタントとして定められ、操作アシスタントＢ１が副操作アシスタントとして定められている。機器１０Ａにおいては、操作アシスタントＡ１が主操作アシスタントとして定められ、操作アシスタントＢ１が副操作アシスタントとして定められ、標準操作アシスタントＳは稼動していない。
【０３８２】
機器１０Ｆのアシスタント制御部２２は、機器１０Ｆの機器識別情報と、機器１０Ｆにて主操作アシスタントとして動作している操作アシスタントＡ１のアシスタント識別情報と、を含む接続要求を示す情報を作成する。機器１０Ｆは、その接続要求を示す情報を機器１０Ａに送信する。
【０３８３】
機器１０Ａのアシスタント制御部２２は、機器１０Ｆから送られてきた接続要求を示す情報に識別情報が含まれているか否かを確認する。接続要求を示す情報に機器識別情報が含まれている場合、機器１０Ａのアシスタント制御部２２は、その機器識別情報に基づいて、機器１０Ａに接続要求を示す情報を送信した機器１０Ｆを特定する。これにより、機器１０Ａのアシスタント制御部２２は、返答先の機器１０Ｆを特定することができる。また、接続要求を示す情報に、機器１０Ｆにて主操作アシスタントとして動作する操作アシスタントＡ１のアシスタント識別情報が含まれている場合、機器１０Ａのアシスタント制御部２２は、そのアシスタント識別情報に基づいて、機器１０Ａに搭載されている操作アシスタントＡ１，Ｂ１，Ｓの中から、操作アシスタントＡ１と同一種類の操作アシスタントであって機器１０Ａにて主操作アシスタントとして動作している操作アシスタントＡ１を特定し、その操作アシスタントＡ１を、操作アシスタントＡ１に対する従操作アシスタントとして識別する。
【０３８４】
機器１０Ａのアシスタント制御部２２は、機器１０Ｆに搭載されている操作アシスタントＡ１との関係で、機器１０Ａに搭載されている操作アシスタントＡ１を従操作アシスタントとして設定する。また、機器１０Ｆのアシスタント制御部２２は、機器１０Ａに搭載されている操作アシスタントＡ１との関係で、機器１０Ｆに搭載されている操作アシスタントＡ１を主操作アシスタントとして設定する。
【０３８５】
以上により、機器１０Ｆにて主操作アシスタントとして動作する操作アシスタントＡ１と、機器１０Ａにて主操作アシスタントとして動作する操作アシスタントＡ１との間で、主従関係が形成される。機器１０Ａに搭載されている操作アシスタントＡ１は、機器１０Ｆに搭載されている操作アシスタントＡ１との関係では、従操作アシスタントとして動作する。これらの操作アシスタントとの間で情報がやり取りされ、機器１０Ａに搭載されている操作アシスタントＡ１は、機器１０Ｆに搭載されている操作アシスタントＡ１からの指示に従って動作する。
【０３８６】
要求元の主操作アシスタントと要求先の主操作アシスタントとの間で主従関係を形成することで、つまり、両装置にて主に稼動している操作アシスタント同士で情報をやり取りすることで、処理に要する時間を短縮できる場合がある。例えば、操作アシスタントのログイン処理又はユーザアカウントの切り替えが不要になる場合があり、これらに要する時間が不要になる結果、処理に要する時間を短縮することができる。
【０３８７】
上記の例では、要求元の主操作アシスタントと要求先の主操作アシスタントとの間で主従関係が形成されているが、別の例として、要求元の主操作アシスタントと要求先の副操作アシスタントとの間で主従関係が形成されてもよいし、要求元の副操作アシスタントと要求先の主操作アシスタント又は副操作アシスタントとの間で主従関係が形成されてもよい。要求元の副操作アシスタントは、要求元の機器１０では副操作アシスタントとして動作するが、要求先の主操作アシスタント又は副操作アシスタントとの間では、主操作アシスタントとして動作する。
【０３８８】
例えば、要求元の主操作アシスタントが別の処理を実行している場合には、要求元の副操作アシスタントと要求先の主操作アシスタント又は副操作アシスタントとの間で主従関係が形成されてもよい。また、要求先の主操作アシスタントが別の処理を実行している場合には、要求元の主操作アシスタント又は副操作アシスタントと要求先の副操作アシスタントとの間で主従関係が形成されてもよい。主操作アシスタント同士で主従関係を形成できない場合に、要求元の副操作アシスタントと要求先の主操作アシスタントとの間で主従関係が形成される。要求元の副操作アシスタントと要求先の主操作アシスタントとの間でも主従関係を形成することができない場合、要求元の副操作アシスタントと要求先の主操作アシスタントとの間で主従関係が形成される。その他、要求元の主操作アシスタントと要求先の主操作アシスタントとの間で情報をやり取りすることができず、要求元の主操作アシスタントと要求先の副操作アシスタントとの間で情報をやり取りすることができる場合、要求元の主操作アシスタントと要求先の副操作アシスタントとの間で主従関係が形成されてもよい。同様に、要求元の副操作アシスタントと要求先の主操作アシスタントとの間で情報をやり取りすることができず、要求元の副操作アシスタントと要求先の副操作アシスタントとの間で情報をやり取りすることができる場合、要求元の副操作アシスタントと要求先の副操作アシスタントとの間で主従関係が形成されてもよい。
【０３８９】
（実施例４−６）
実施例４−６に係る処理として、機器１０と操作アシスタントの特定処理、及び、識別情報の作成処理について説明する。これらの処理は、上述した各実施例に適用されてもよい。
【０３９０】
例えば、ユーザが、操作アシスタントの一般的な名称以外の名称を、当該操作アシスタントに紐付ける場合がある。例えば、操作アシスタントＡに「太郎」といった名称が付与される場合がある。この場合、その名称が当該操作アシスタントＡのアシスタント識別情報として用いられ、アシスタント制御部２２は、その名称に基づいて操作アシスタントＡを特定する。例えば、接続要求を示す情報に、主操作アシスタントの名称を示すアシスタント識別情報が含まれ、要求先の機器１０のアシスタント制御部２２は、その名称に基づいて主操作アシスタントを特定する。また、ユーザが、操作アシスタントＡの名称を音声によって発した場合、その音声を受けた機器１０のアシスタント制御部２２は、その音声を解析し、その名称に基づいて操作アシスタントＡを特定する。例えば、ユーザが、ある操作アシスタントの名称と、主操作アシスタント又は従操作アシスタントの何れかを示す情報を音声によって発した場合、その音声を受けたアシスタント制御部２２は、その音声を解析し、その名称に基づいて操作アシスタントを、主操作アシスタント又は従操作アシスタントとして特定する。
【０３９１】
また、アシスタント制御部２２は、ユーザの生体情報に基づいて、接続要求を与えたユーザを特定してもよい。生体情報として、例えば、音声情報、指紋情報、網膜情報、虹彩情報又は顔画像等が用いられる。例えば、要求元の機器１０のアシスタント制御部２２は、生体情報に基づいて、要求元の機器１０を利用するユーザを特定する。要求先の機器１０を利用するユーザについても同様である。
【０３９２】
また、アシスタント制御部２２は、機器１０に固有の識別情報を用いて、機器１０を特定してもよい。その識別情報として、例えば、機器１０のＭＡＣアドレス又はＩＰアドレス等が用いられる。この識別情報を用いることで、要求元の機器１０が特定されてもよいし、要求先の機器１０が特定されてもよい。
【０３９３】
また、要求元の機器１０のアシスタント制御部２２は、機器１０又は操作アシスタントが実行すべき動作を示す情報、その動作を実行すべき時を示す情報、その動作を実行すべき場所を示す情報、その動作を実行すべき機器１０又は操作アシスタントを示す情報、その動作を実行する理由を示す情報、及び、どのようにその動作を実行するべきかを示す情報の中の少なくとも１つの情報に基づいて、要求先の機器１０又は操作アシスタントを特定してもよい。また、要求元の機器１０に搭載されている操作アシスタントは、要求先の機器１０と操作アシスタントを特定するために必要な情報を収集するための質問をユーザに与えてもよい。要求元の機器１０に搭載されている操作アシスタントは、ユーザから得られた回答に基づいて、要求先の機器１０と操作アシスタントを推測してもよい。また、ユーザから回答が得られない場合、又は、ユーザが質問を停止させた場合、要求元の機器１０に搭載されている操作アシスタントは、限られた回答に基づいて、要求先の機器１０と操作アシスタントを推測してもよい。
【０３９４】
また、各機器１０の操作履歴が管理されて、操作履歴を示す情報が識別情報として用いられてもよい。各機器１０の操作履歴を示す情報は、各機器１０に記憶されてもよいし、各機器１０によって共有されてもよいし、サーバ等の装置に記憶されてもよい。例えば、要求元の機器１０のアシスタント制御部２２は、各機器１０の操作履歴に基づいて、ユーザによって指定された機器と同一種類の機器であって直近に利用された機器を、要求先の機器１０として特定する。例えば、ユーザが、機器１０としてのロボットに処理を依頼する場合、要求元の機器１０のアシスタント制御部２２は、直近（現時点に最も近い時点）に利用されたロボットを、その処理の依頼先（要求先）の機器１０として特定する。具体例を挙げて説明する。情報処理システムにロボットＡ，Ｂが含まれている場合において、ロボットＡが直近に使用されているものとする。この場合、要求元の機器１０のアシスタント制御部２２は、直近に利用されたロボットＡを要求先の機器１０として特定する。接続要求を示す情報は、要求元の機器１０からロボットＡに送信される。別の例として、要求元の機器１０に搭載されている操作アシスタントは、ロボットＡ，Ｂの何れが要求先の機器１０であるのかをユーザに問い合わせて、ユーザからの回答に基づいて要求先の機器１０を特定してもよい。
【０３９５】
また、各機器１０に搭載されている各操作アシスタントの操作履歴が管理されて、操作履歴を示す情報が識別情報として用いられてもよい。各操作アシスタントの操作履歴を示す情報は、各機器１０に記憶されてもよいし、各機器１０によって共有されてもよいし、サーバ等の装置に記憶されてもよい。例えば、要求元の機器１０のアシスタント制御部２２は、各操作アシスタントの操作履歴に基づいて、ユーザによって主操作アシスタントとして指定された操作アシスタントと同一種類の操作アシスタントであって直近に利用された操作アシスタントを、主操作アシスタントとして特定する。また、要求元又は要求先の機器１０のアシスタント制御部２２は、ユーザによって従操作アシスタントとして指定された操作アシスタントと同一種類の操作アシスタントであって直近に利用された操作アシスタントを、従操作アシスタントとして特定してもよい。また、機器１０の特定の場合と同様に、要求元又は要求先の機器１０に搭載されている操作アシスタントが、ユーザに問い合わせて、ユーザからの回答に基づいて主操作アシスタントと従操作アシスタントを特定してもよい。
【０３９６】
また、ユーザは、操作アシスタントを指定せずに、操作対象の機器１０、実行対象の処理又は操作対象のソフトウェアを指定して、接続要求を要求元の機器１０に与えてもよい。例えば、要求元の機器１０は、操作対象の機器１０（例えば要求先の機器１０）を検索し、操作対象の機器１０に操作アシスタントが搭載されている場合、当該操作アシスタントを起動させる。当該操作アシスタントが、ユーザの要求に対応する処理を制御する。また、要求元の機器１０のアシスタント制御部２２は、実行対象の処理を実行可能な機器１０を検索し、その機器１０に搭載されている操作アシスタントを起動させてもよい。このように、ユーザが操作アシスタントを指定しなくても、ユーザが希望する処理を実現するための操作アシスタントを利用することができる。
【０３９７】
また、カメラ等の撮影装置によってユーザの顔が撮影され、要求元の機器１０のアシスタント制御部２２は、その撮影によって生成された画像に基づいて、ユーザの目線の動きを検知し、その検知結果に基づいて、操作対象の機器１０（例えば要求先の機器１０）を特定してもよい。例えば、目線の先に配置されている機器１０が、操作対象の機器１０として特定される。なお、撮影装置は、要求元の機器１０に設けられていてもよいし、要求元の機器１０以外の場所に設置されていてもよい。また、アシスタント制御部２２は、ユーザの音声に基づいて、操作対象の機器１０を特定してもよい。
【０３９８】
また、要求元の機器１０のアシスタント制御部２２は、機器１０の位置関係に基づいて、操作対象の機器１０を特定してもよい。例えば、アシスタント制御部２２は、要求元の機器１０に最も近い位置に設置されている機器１０を操作対象の機器１０として特定する。別の例として、アシスタント制御部２２は、要求元の機器１０との間の相対的な向きの関係に基づいて、操作対象の機器１０を特定してもよい。例えば、アシスタント制御部２２は、要求元の機器１０に向かい合っている機器１０を、操作対象の機器１０として特定する。
【０３９９】
以上のようにして、機器１０と操作アシスタントが特定され、また、識別情報が作成される。機器１０又は操作アシスタントを特定するために用いられる識別情報には、機器１０の種類を示す情報、機器１０固有の識別番号、機器１０の位置を示す情報、機器１０の名称を示す情報、操作アシスタントの名称を示す情報、ユーザの生体情報（音声情報、及び指紋情報等）、機器１０又は操作アシスタントにログインしているユーザアカウントを示す情報、及び、機器１０又は操作アシスタントの操作履歴を示す情報の中の少なくとも１つの情報が含まれてもよい。アシスタント制御部２２は、当該少なくとも１つの情報に基づいて、要求元の機器１０、要求元の機器１０に搭載されている操作アシスタント、要求先の機器１０、及び、要求先の機器１０に搭載されている操作アシスタントを特定してもよい。
【０４００】
＜その他の実施形態＞
上記の実施例４−５は、第２実施形態に適用されてもよい。例えば、要求元の機器１０Ｆに操作アシスタントＡ１、Ｂ１が搭載されており、機器１０Ｆでは、操作アシスタントＡ１が主操作アシスタントとして設定され、操作アシスタントＢ１が副操作アシスタントとして設定されているものとする。この場合、主操作アシスタントとしての操作アシスタントＡ１が、要求先の機器１０に対して操作指示を送る。操作アシスタントＡ１が、要求先の機器１０を制御する機能を有していない場合、副操作アシスタントとしての操作アシスタントＢ１が、要求先の機器１０に対して操作指示を送る。
【０４０１】
また、要求先の機器１０に複数の操作アシスタントが搭載されている場合に、当該複数の操作アシスタントの中の１つの操作アシスタントが主操作アシスタントとして設定され、他の操作アシスタントが副操作アシスタントとして設定されてもよい。例えば、要求先の機器１０Ａに操作アシスタントＡ１，Ｂ１が搭載されており、機器１０Ａでは、操作アシスタントＡ１が主操作アシスタントとして設定され、操作アシスタントＢ１が副操作アシスタントとして設定されているものとする。この場合、主操作アシスタントとしての操作アシスタントＡ１が、要求元の機器１０からの操作指示を受け付けて、その操作指示に対応する処理を制御する。操作アシスタントＡ１が、その操作指示に対応する処理を制御する機能を有していない場合、副操作アシスタントとしての操作アシスタントＢ１が、要求元の機器１０からの操作指示を受け付けて、その操作指示に対応する処理を制御する。
【０４０２】
また、要求元の機器１０Ｆに搭載されている主操作アシスタント（例えば操作アシスタントＡ１）と、要求先の機器１０Ａに搭載されている主操作アシスタント（例えば操作アシスタントＡ１）との間で情報がやり取りされる。もちろん、第４実施形態と同様に、要求元の機器１０Ｆに搭載されている副操作アシスタントと、要求先の機器１０Ｆに搭載されている主操作アシスタント又は副操作アシスタントとの間で情報がやり取りされてもよい。
【０４０３】
なお、要求元の機器１０において、稼動しない操作アシスタントが設定されてもよいし、要求先の機器１０において、稼動しない操作アシスタントが設定されてもよい。
【０４０４】
なお、上述した各実施形態において、ユーザアカウントとして、ＳＮＳ（Social Network Service）用のアカウントが用いられてもよい。なお、ＳＮＳ用アカウントは、ソーシャルメディア（Social media）用のアカウントとも称されることがある。例えば、ユーザは、ＳＮＳ用アカウントを用いて、機器１０にログインしてもよいし、操作アシスタントにログインしてもよい。また、ＳＮＳ用アカウントが、複数の操作アシスタントの共通のユーザアカウントとして登録されている場合には、当該ＳＮＳ用アカウントを用いて、当該複数の操作アシスタントにログインしてもよい。複数の機器１０についても同様である。
【０４０５】
上記の機器１０は、一例としてハードウェアとソフトウェアとの協働により実現される。具体的には、機器１０は、図示しないＣＰＵ等の１又は複数のプロセッサを備えている。当該１又は複数のプロセッサが、図示しない記憶装置に記憶されたプログラムを読み出して実行することにより、機器１０の各部の機能が実現される。上記プログラムは、ＣＤやＤＶＤ等の記録媒体を経由して、又は、ネットワーク等の通信経路を経由して、記憶装置に記憶される。別の例として、機器１０の各部は、例えばプロセッサや電子回路やＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェア資源により実現されてもよい。その実現においてメモリ等のデバイスが利用されてもよい。更に別の例として、機器１０の各部は、ＤＳＰ（Digital Signal Processor）やＦＰＧＡ（Field Programmable Gate Array）等によって実現されてもよい。
【符号の説明】
【０４０６】
１０  機器、２０  制御部、２２  アシスタント制御部。
【図１】
2019204240.tif 000003
【図２】
2019204240.tif 000004
【図３】
2019204240.tif 000005
【図４】
2019204240.tif 000006
【図５】
2019204240.tif 000007
【図６】
2019204240.tif 000008
【図７】
2019204240.tif 000009
【図８】
2019204240.tif 000010
【図９】
2019204240.tif 000011
【図１０】
2019204240.tif 000012
【図１１】
2019204240.tif 000013
【図１２】
2019204240.tif 000014
【図１３】
2019204240.tif 000015
【図１４】
2019204240.tif 000016
【図１５】
2019204240.tif 000017
【図１６】
2019204240.tif 000018
【図１７】
2019204240.tif 000019
【図１８】
2019204240.tif 000020
【図１９】
2019204240.tif 000021
【図２０】
2019204240.tif 000022
【図２１】
2019204240.tif 000023
【図２２】
2019204240.tif 000024
【図２３】
2019204240.tif 000025
【図２４】
2019204240.tif 000026
【図２５】
2019204240.tif 000027
【図２６】
2019204240.tif 000028
【図２７】
2019204240.tif 000029
【図２８】
2019204240.tif 000030
【図２９】
2019204240.tif 000031
【図３０】
2019204240.tif 000032
【図３１】
2019204240.tif 000033