(57)【要約】【課題】機器連携によって実現される機能の利用を効果的に支援する。【解決手段】互いに連携して機能を実現可能な機器のうちユーザが指定した機器と上記ユーザとを関連付けた登録機器情報をデータベースに登録するユーザ情報管理部と、上記機能と上記機器とを関連付けた機能情報を上記データベースから取得し、上記機能情報と上記登録機器情報とに基づいて上記ユーザへの推薦機能を決定する推薦機能決定部と、上記推薦機能のうち上記ユーザが選択した機能を実現するための操作手順を示す手順情報を上記データベースから取得し、上記手順情報を上記ユーザに提供する手順情報管理部とを含む情報処理装置が提供される。【選択図】図４
2014032501.tif 000002
【特許請求の範囲】
【請求項１】
互いに連携して機能を実現可能な機器のうちユーザが指定した機器と前記ユーザとを関連付けた登録機器情報をデータベースに登録するユーザ情報管理部と、
前記機能と前記機器とを関連付けた機能情報を前記データベースから取得し、前記機能情報と前記登録機器情報とに基づいて前記ユーザへの推薦機能を決定する推薦機能決定部と、
前記推薦機能のうち前記ユーザが選択した機能を実現するための操作手順を示す手順情報を前記データベースから取得し、前記手順情報を前記ユーザに提供する手順情報管理部と
を備える情報処理装置。
【請求項２】
前記手順情報管理部は、前記機能を使用した他のユーザが実行した前記操作手順を示す情報を取得して前記手順情報として前記データベースに登録する、請求項１に記載の情報処理装置。
【請求項３】
前記手順情報管理部は、前記操作手順を説明する情報を前記手順情報として前記ユーザに提供する、請求項２に記載の情報処理装置。
【請求項４】
前記手順情報管理部は、前記操作手順を前記機器に実行させるためのプログラムコードを前記手順情報として前記ユーザに提供する、請求項２に記載の情報処理装置。
【請求項５】
前記手順情報管理部は、前記ユーザによる前記操作手順の使用回数を前記手順情報として登録し、前記使用回数がより多い前記操作手順に対応する前記手順情報を前記ユーザに提供する、請求項２に記載の情報処理装置。
【請求項６】
前記ユーザが指定した機器は、前記ユーザが保有していない機器を含む、請求項１に記載の情報処理装置。
【請求項７】
前記推薦機能決定部は、前記データベースが更新されたときに前記推薦機能を決定する、請求項１に記載の情報処理装置。
【請求項８】
前記推薦機能決定部は、前記登録機器情報が更新されたときに前記推薦機能を決定する、請求項７に記載の情報処理装置。
【請求項９】
前記推薦機能決定部は、前記機能情報が更新されたときに前記推薦機能を決定する、請求項７に記載の情報処理装置。
【請求項１０】
前記機能を使用したユーザによる前記機能の評価値を前記機能情報として登録する機能情報管理部をさらに備え、
前記推薦機能決定部は、前記機能に対応する前記評価値が所定の閾値を超えた場合に当該機能を前記推薦機能とする、請求項９に記載の情報処理装置。
【請求項１１】
前記機能を前記ユーザが使用した回数を前記機能情報として登録する機能情報管理部をさらに備え、
前記推薦機能決定部は、前記機能に対応する前記回数が所定の閾値を超えた場合に当該機能を前記推薦機能とする、請求項９に記載の情報処理装置
【請求項１２】
前記ユーザ情報管理部は、前記ユーザが指定した機器のうち前記ユーザが保有する機器の状態を示す情報を取得し、
前記推薦機能決定部は、前記状態が前記機能情報に含まれる前記機能の推薦条件を満たす場合に当該機能を前記推薦機能とする、請求項１に記載の情報処理装置。
【請求項１３】
前記ユーザ情報管理部は、前記ユーザが利用しているソーシャルネットワークサービスのアカウント情報を取得し、
前記推薦機能決定部は、前記ソーシャルネットワークサービスにおける前記ユーザの友人が前記機能を使用した場合に当該機能を前記推薦機能とする、請求項１に記載の情報処理装置。
【請求項１４】
互いに連携して機能を実現可能な機器のうちユーザが指定した機器の情報を取得して、該情報を前記ユーザと関連付けた登録機器情報として登録するためにサーバに送信する機器情報取得部と、
前記機能と前記機器とを関連付けた機能情報と、前記登録機器情報とに基づいて決定される前記ユーザへの推薦機能のうち前記ユーザが選択した機能を実現するための操作手順を示す手順情報を受信する受信部と
を備える情報処理装置。
【請求項１５】
前記ユーザが前記機能を使用したときに実行した操作手順を示す情報を記録して前記サーバに送信する手順記録部をさらに備える、請求項１４に記載の情報処理装置。
【請求項１６】
前記受信部は、前記機能を使用した他のユーザが実行した前記操作手順を説明する情報を前記手順情報として受信する、請求項１４に記載の情報処理装置。
【請求項１７】
前記操作手順をプログラムコードに従って自動的に前記機器に実行させる手順実行部をさらに備え、
前記受信部は、前記機能を使用した他のユーザが実行した前記操作手順を前記機器に実行させるための前記プログラムコードを前記手順情報として受信する、請求項１４に記載の情報処理装置。
【請求項１８】
前記機器情報取得部は、前記ユーザが指定した機器のうち前記ユーザが保有する機器の状態を示す情報を取得して前記サーバに送信し、
前記受信部は、前記状態が機能に対応する所定の推薦条件を満たす機能である前記推薦機能のうち前記ユーザが選択した機能についての前記手順情報を受信する、請求項１４に記載の情報処理装置。
【請求項１９】
前記ユーザが指定した機器は、前記ユーザが保有していない機器を含む、請求項１４に記載の情報処理装置。
【請求項２０】
互いに連携して機能を実現可能な機器のうちユーザが指定した機器と前記ユーザとを関連付けた登録機器情報をデータベースに登録することと、
前記機能と前記機器とを関連付けた機能情報を前記データベースから取得し、前記機能情報と前記登録機器情報とに基づいて前記ユーザへの推薦機能を決定することと、
前記推薦機能のうち前記ユーザが選択した機能を実現するための操作手順を示す手順情報を前記データベースから取得し、前記手順情報を前記ユーザに提供することと
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
家庭などにある複数の機器を連携して機能させることは、既に一般的である。例えば、ある機器に保存された写真や動画、音楽などを他の機器で再生したり、テレビで見ている番組をすぐにレコーダで録画したり、レコーダで録画した番組を他の部屋にあるテレビなどで再生したりといったように、様々な機能が機器連携によって実現される。
【０００３】
しかしながら、機器連携によって機能を実現しようとする場合、実現可能な機能は多岐にわたり、またユーザが保有している機器の組み合わせによって変化するため、ユーザがそのすべてを把握して使用する機能を選択することは困難であった。従って、実現可能であるにもかかわらずユーザに認識されず、ユーザにとって便利であるにもかかわらず埋もれている機能も多くあった。
【０００４】
そこで、例えば特許文献１に記載の技術のように、家庭内などのネットワークに接続された機器連携によって実現される機能を自動的に評価し、評価の結果を利用してユーザに機能を推薦する技術が提案されている。このような技術によれば、ユーザは、保有している機器によって実現可能な機能のうち、どれが適切であるかを容易に認識することができ、より便利な機能を利用することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２５３３７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の特許文献１の技術には、推薦された機能を実現するために機器を設定する手順の情報を取得することも含まれている。しかしながら、ここで取得される機能や手順の情報は、例えば取扱説明書に記載された情報のように、予め用意された情報である。こうした情報も、ユーザが機器を利用するために有用ではある。
【０００７】
ところが、近年、機器が有する情報処理機能の高度化や、機器間での規格の共通化などによって、機器連携によって実現可能な機能は飛躍的に増加しており、機器の製造当初は想定されていなかった機能が新たに発見されるケースもある。このような中、上記の技術は、ユーザの機器環境などを考慮したより効果的な情報を提供するためには、必ずしも十分ではなかった。
【０００８】
そこで、本開示では、機器連携によって実現される機能の利用を効果的に支援することが可能な、新規かつ改良された情報処理装置および情報処理方法を提案する。
【課題を解決するための手段】
【０００９】
本開示によれば、互いに連携して機能を実現可能な機器のうちユーザが指定した機器と上記ユーザとを関連付けた登録機器情報をデータベースに登録するユーザ情報管理部と、上記機能と上記機器とを関連付けた機能情報を上記データベースから取得し、上記機能情報と上記登録機器情報とに基づいて上記ユーザへの推薦機能を決定する推薦機能決定部と、上記推薦機能のうち上記ユーザが選択した機能を実現するための操作手順を示す手順情報を上記データベースから取得し、上記手順情報を上記ユーザに提供する手順情報管理部とを含む情報処理装置が提供される。
【００１０】
また、本開示によれば、互いに連携して機能を実現可能な機器のうちユーザが指定した機器の情報を取得して、該情報を上記ユーザと関連付けた登録機器情報として登録するためにサーバに送信する機器情報取得部と、上記機能と上記機器とを関連付けた機能情報と、上記登録機器情報とに基づいて決定される上記ユーザへの推薦機能のうち上記ユーザが選択した機能を実現するための操作手順を示す手順情報を受信する受信部とを含む情報処理装置が提供される。
【００１１】
また、本開示によれば、互いに連携して機能を実現可能な機器のうちユーザが指定した機器と上記ユーザとを関連付けた登録機器情報をデータベースに登録することと、上記機能と上記機器とを関連付けた機能情報を上記データベースから取得し、上記機能情報と上記登録機器情報とに基づいて上記ユーザへの推薦機能を決定することと、上記推薦機能のうち上記ユーザが選択した機能を実現するための操作手順を示す手順情報を上記データベースから取得し、上記手順情報を上記ユーザに提供することとを含む情報処理方法が提供される。
【００１２】
登録機器情報と機能情報とに基づいて推薦機能を決定することで、例えば、ユーザが保有している、または保有を検討している機器の連携によって実現可能な機能について推薦することができ、ユーザにとってより有用な機能が推薦される。また、推薦機能のうちユーザが選択した機能について手順情報を選択することによって、ユーザが機能を実現するための操作手順を実行することが容易になる。
【発明の効果】
【００１３】
以上説明したように本開示によれば、機器連携によって実現される機能の利用を効果的に支援することができる。
【図面の簡単な説明】
【００１４】
【図１】本開示の一実施形態に係るシステムの概要を示す図である。
【図２】本開示の一実施形態におけるＤＢの構成例を概略的に示す図である。
【図３】本開示の一実施形態における手順情報の例を示す図である。
【図４】本開示の一実施形態に係るシステムの機能構成を概略的に示す図である。
【図５】本開示の一実施形態における機器登録処理の表示画面例を示す図である。
【図６】本開示の一実施形態における機器登録の処理フローの例を示す図である。
【図７】本開示の一実施形態における手順登録処理（手動）の表示画面例を示す図である。
【図８】図７に示した処理のフローの例を示す図である。
【図９】本開示の一実施形態における手順登録処理（半自動）の表示画面例を示す図である。
【図１０】図９に示した処理のフローの例を示す図である。
【図１１】本開示の一実施形態における手順登録処理（自動）の表示画面例を示す図である。
【図１２】本開示の一実施形態における手順実行処理の表示画面例を示す図である。
【図１３】図１２に示した処理のフローの例を示す図である。
【図１４】本開示の一実施形態におけるＳＮＳ連携の処理フローの例を示す図である。
【図１５】本開示の一実施形態における機器制御の例を示す図である。
【図１６】本開示の一実施形態における機器制御の別の例を示す図である。
【図１７】図１６の例におけるユーザインターフェースの例を示す図である。
【図１８】図１７のユーザインターフェースにおいて、連携機能を一覧表示する例を示す図である。
【図１９】図１７のユーザインターフェースにおいて、連携機能の切り替えを実行する例を示す図である。
【図２０】情報処理装置のハードウェア構成を説明するためのブロック図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１６】
なお、説明は以下の順序で行うものとする。
１．システム構成
１−１．概要
１−２．ＤＢの構成例
１−３．機能構成例
２．機器登録処理
３．手順登録処理
４．手順実行処理
５．ＳＮＳ連携処理
６．連携機器の制御
７．機能の評価と推薦
８．ハードウェア構成
９．補足
【００１７】
（１．システム構成）
（１−１．概要）
図１は、本開示の一実施形態に係るシステムの概要を示す図である。本実施形態では、ユーザが、保有機器１００と非保有機器１１０とをシステムに登録することが可能である。図示された例では、ユーザが持っている機器の１つであるスマートフォン１００ａを用いて登録が実行される。登録情報はサーバに送信され、サーバアプリケーション２００によって処理される。サーバには、ユーザＤＢ（データベース）２１０、機器ＤＢ２２０、および機能ＤＢ２３０が存在する。これらのＤＢには、ユーザが登録した機器の情報や、機器の連携によって実現される機能の情報などが格納される。各ＤＢの情報は、送信された登録情報や、各機器の製造者などから提供された情報に基づいて、追加、更新、削除などされる。
【００１８】
サーバアプリケーション２００は、これらのＤＢに格納される情報を管理し、また、後述するように、ＤＢに格納された情報を利用して、機器の連携によって実現される機能に関する情報などを保有機器１００（図示された例ではスマートフォン１００ａ）に提供する。情報を提供する機器は、必ずしも登録情報を送信した機器と同じでなくてもよい。従って、図示された例において、サーバアプリケーション２００は、テレビ１００ｂ、レコーダ１００ｃ、ゲーム機１００ｄ、またはＰＣ（パーソナルコンピュータ）１００ｅに、機器の連携によって実現される機能に関する情報を提供してもよい。また、サーバアプリケーション２００は、例えばユーザへの様々な通知のためにＳＮＳ（Social  Network  Service）２４０にアクセスしてもよい。
【００１９】
保有機器１００は、ユーザが実際に保有している、または利用している機器である。保有機器１００は、必ずしも同じ場所になくてもよく、例えば家庭、職場、または携帯用など、さまざまな場所に配置されうる。ユーザは、例えば持っている機器の１つであるスマートフォン１００ａを用いて、他の保有機器１００ｂ〜１００ｅを登録する。このとき、スマートフォン１００ａ自身も登録されうる。登録は、後述するように写真の撮影や型番の入力など、さまざまな方法で実行可能である。
【００２０】
ここで、例えば、それぞれの保有機器１００に機器登録のためのアプリケーションがインストールされていれば、登録にあたってそれぞれの保有機器１００の役割は互換的である。つまり、図示された例ではスマートフォン１００ａが他の保有機器１００ｂ〜１００ｅを登録しているが、同じ役割を、例えばテレビ１００ｂがしてもよく、レコーダ１００ｃがしてもよく、ゲーム機１００ｄまたはＰＣ１００ｅがしてもよい。上記のように、登録は様々な方法で実行可能である。それゆえ、それぞれの保有機器１００は、実現可能な方法で（例えば、写真を撮影しないレコーダ１００ｃでは、主に型番の入力で登録する、など）他の保有機器１００を登録することが可能であってもよい。
【００２１】
一方、非保有機器１１０（機器１１０ａ〜１１０ｃ）は、ユーザが実際には保有していない機器である。これらの非保有機器１１０も、保有機器１００と同様に登録可能であってもよい。非保有機器１１０は、ユーザの手元にない可能性が高いため、主に型番の入力などで登録されうる。このとき、ユーザが持っていない機器の型番を知ることは容易ではないため、例えばインターネット上のカタログサイトで登録を実行するためのリンクなどが提供されてもよい。あるいは、ユーザは、借り物や店頭で見かけた機器などを、写真を撮影して登録してもよい。
【００２２】
（１−２．ＤＢの構成例）
図２は、本開示の一実施形態におけるＤＢの構成例を概略的に示す図である。本実施形態では、サーバに、ユーザＤＢ２１０、機器ＤＢ２２０、および機能ＤＢ２３０が存在する。以下では、それぞれのＤＢについて、格納されうる情報の例を示す。
【００２３】
ユーザＤＢ２１０には、例えば、各ユーザの登録機器情報２１１、および外部サービス情報２１３が格納される。図示された例において、ＵｓｅｒＩＤ：００１のユーザについて、Ｄｅｖｉｃｅ  １〜Ｄｅｖｉｃｅ  ３の３つの登録機器情報２１１が格納されている。登録機器情報２１１は、ユーザが登録した機器ごとに生成されるため、この場合、ＵｓｅｒＩＤ：００１のユーザは、３つの機器を登録している。
【００２４】
登録機器情報２１１は、例えば、機器の種類を識別するための“機器ＩＤ”（Ｄｅｖｉｃｅ  ＩＤ）、および機器を用いてユーザが実際に利用した機能を識別するための“利用機能ＩＤ”（Ｕｔｉｌｉｚｅｄ  Ｆｕｎｃｔｉｏｎ  ＩＤ）を含む。“機器ＩＤ”は、後述する機器ＤＢに格納された機器情報に与えられる機器ＩＤと共通である。従って、登録機器情報２１１に含まれる機器ＩＤを用いれば、ユーザが登録した機器に対応する機器情報を取得することができる。“利用機能ＩＤ”は、後述する機能ＤＢに格納された機能情報に与えられる機能ＩＤと共通である。従って、登録機器情報２１１に含まれる“利用機能ＩＤ”を用いれば、ユーザが実際に利用した機能について、機能情報を取得することができる。
【００２５】
一方、図示された例において、ＵｓｅｒＩＤ：００１のユーザについて、Ｅｘｔｅｒｎａｌ  Ｓｅｒｖｉｃｅ  １の外部サービス情報２１３が格納されている。外部サービス情報２１３は、例えば、“サービス名称”（Ｓｅｒｖｉｃｅ  ｎａｍｅ）、“アカウント”（Ａｃｃｏｕｎｔ）、および“パスワード”（Ｐａｓｓｗｏｒｄ）を含む。“サービス名称”は、例えばＳＮＳやその他のサービスなど、ユーザが利用している各種のサービスを識別するための情報である。“アカウント”および“パスワード”は、この外部サービスへのログインに用いされる情報である。サーバアプリケーション２００は、この情報を用いて、外部サービスにおけるユーザのアカウントを特定したり、外部サービスにおけるユーザのアクティビティログを取得したりする。ユーザのアクティビティログは、例えば、ユーザへの連携機能の推薦や、新たな機器の推薦に利用することが可能である。
【００２６】
なお、本実施形態では、ユーザＤＢ２１０がサーバに配置されるが、他の実施形態では、ユーザＤＢ２１０はクライアント側、つまり保有機器１００側に配置されてもよい。この場合、サーバアプリケーション２００は、必要に応じてクライアントの保有機器１００にアクセスし、ユーザＤＢ２１０から情報を取得する。
【００２７】
機器ＤＢ２２０には、例えば、各機器の機器情報２２１が格納される。機器情報２２１は、例えば、各機器の製造者によって登録される。機器情報２２１は、例えば、機器の種類を識別するための“機器ＩＤ”（Ｄｅｖｉｃｅ  ＩＤ）、“型番”（Ｍｏｄｅｌ  Ｎｏ）、“カテゴリ”（Ｃａｔｅｇｏｒｙ）、“製品名”（Ｐｒｏｄｕｃｔ  ｎａｍｅ）、および“画像”（Ｉｍａｇｅ）を含む。“機器ＩＤ”は、上記のようにユーザＤＢの登録機器情報２１１に含まれる機器ＩＤと共通のＩＤであり、これによってユーザが登録した機器の種類を識別することができる。
【００２８】
“型番”は、各機器に与えられている型番である。“カテゴリ”は、例えば携帯電話、テレビ、レコーダなどといった各機器のカテゴリである。“製品名”は、各機器に与えられている製品名である。“画像”は、各機器の画像である。本実施形態では、各機器の識別には“機器ＩＤ”が用いられるため、“型番”以降の情報は、ユーザが機器を登録する際に入力した文字や画像などの情報から機器を特定するために用いられたり、ユーザに機器に関する情報を提供する際に、製品名や画像などを用いてユーザが機器を認識しやすくするために表示されたりする。
【００２９】
機能ＤＢ２３０には、例えば、各機能の機能情報２３１と、後述する手順情報とが格納される。機能情報２３１は、例えば、“Ｔｈｒｏｗ”（モバイル機器から写真をテレビに転送する機能）、“おでかけ転送”（レコーダから動画をモバイル機器に転送する機能など、複数の機器の連携によって実現される機能ごとに生成される。なお、機能情報２３１の対象になる機能は、必ずしも複数の機器の連携によって実現される機能には限られず、例えば、単一の機器によって実現される機能が含まれていてもよい。
【００３０】
機能情報２３１は、例えば、“機能ＩＤ”（Ｆｕｎｃｔｉｏｎ  ＩＤ）、“機能名”（Ｆｕｎｃｔｉｏｎ  Ｎａｍｅ）、“連携機器ＩＤ”（Ｌｉｎｋｅｄ  Ｄｅｖｉｃｅ  ＩＤ）、“手順ＩＤ”（Ｐｒｏｃｅｄｕｒｅ  ＩＤ）、“評価”（Ｒａｔｉｎｇ）、“コメント”（Ｃｏｍｍｅｎｔｓ）、および“推薦条件”（Ｃｏｎｄｉｔｉｏｎｓ  ｆｏｒ  ｒｅｃｏｍｍｅｎｄ）を含む。機能情報２３１は、例えば、各機器の製造者によって登録される他、ユーザが発見した新たな連携機能などについて、ユーザから提供された情報に基づいて生成されてもよい。
【００３１】
“機能ＩＤ”は、各機能を識別するためのＩＤである。例えば、機能名が同じでも連携する機器が異なる機能、連携する機器が同じでも手順が異なる機能には、いずれも異なる機能ＩＤが与えられる。“機能名”は、ユーザに機能に関する情報を提供する際に、ユーザが機能を認識しやすくするために表示されたりする。“連携機器ＩＤ”は、機能を実現するにあたって連携する機器の機器ＩＤである。ここでの各機器のＩＤは、機器ＤＢ２２０に格納される機器情報２２１の“機器ＩＤ”と共通である。従って、機能情報２３１に含まれる“連携機器ＩＤ”の情報を用いれば、その機能を実現するにあたって連携する機器の機器情報を参照することができる。
【００３２】
“手順ＩＤ”は、機能を実現するためにユーザが実行すべき操作手順を示す情報である。本実施形態では、後述する手順情報として各操作手順の情報が格納されており、機能情報２３１に含まれる“手順ＩＤ”の情報を用いれば、その機能を実現するための手順情報を参照することができる。ここで、図示されているように、“手順ＩＤ”は、１つの機能について複数登録されうる。つまり、機能情報２３１には、１つの機能を実現するための複数の手順を示す情報が含まれうる。
【００３３】
“評価”は、機能についてのユーザの評価の情報である。図示された例では３段階の評価が示されているが、評価の仕方はこれには限られない。“評価”は、例えば機能を使用したユーザからの評価値の登録によって記録および更新される。あるいは、“評価”は、例えばユーザが機能を使用した回数をカウントすることによって、自動的に算出されてもよい。“コメント”は、同様に、機能についてのユーザのコメントの情報で、口コミとも呼ばれるものである。“コメント”は、ユーザから寄せられたコメントの格納先（図示しないＤＢなど）へのパスであってもよい。
【００３４】
“推薦条件”は、機能をユーザに推薦するための条件の情報である。本実施形態に係るシステムでは、例えばユーザが持っている機器の状態や、使用した機能の履歴などを解析することによって、ユーザに機能を推薦することが可能である。推薦条件は、例えば、スマートフォンに写真が１００枚たまった、レコーダで番組を１５本録画した、録画した番組の再生を途中で止めた、といったような機器の状態であってもよい。また、機能の推薦は、例えばＳＮＳのアクティビティログなどの解析に基づいていてもよい。“推薦条件”は、例えば、こうした機能の推薦のための条件の情報の格納先（図示しないＤＢなど）へのパスであってもよい。
【００３５】
図３は、本開示の一実施形態における手順情報の例を示す図である。本実施形態において、機能ＤＢ２３０には、各機能の手順情報２３３が格納されうる。手順情報２３３は、例えば、“手順ＩＤ”（Ｐｒｏｃｅｄｕｒｅ  ＩＤ）、“登録ユーザＩＤ”（Ｐｏｓｉｎｇ  Ｕｓｅｒ  ＩＤ）、および“手順”（Ｐｒｏｃｅｄｕｒｅ）を含む。手順情報２３３は、例えば各機器の製造者によって登録される他、ユーザが発見した新たな連携機能、または既存の連携機能についてユーザが発見した新たな手順について、ユーザから提供された情報に基づいて生成されてもよい。
【００３６】
“手順ＩＤ”は、各手順を識別するためのＩＤである。手順ＩＤの情報は、機能情報２３１にも含まれており、“ある機能を実現するための手順”として、機能情報２３１を経由して手順情報２３３が参照されるのが本実施形態での基本的な流れである。図示された例では、機能情報２３１で“機能ＩＤ”が“００１”の機能（以下、“機能００１”ともいう）について、“手順ＩＤ”が“００１”、“００２”、および“００３”の３つの手順（以下、“手順００１〜００３”ともいう）が存在する。これは、機能００１を実現するためにとりうる手順が、手順００１〜００３の３つあることを示している。手順００１〜００３のいずれを実行したとしても、機能００１は実現可能である。
【００３７】
“登録ユーザＩＤ”は、各手順を登録したユーザを示す情報である。上記のように、手順情報２３３は、各機器の製造者によって登録される他、ユーザから提供された情報に基づいて生成される場合もある。このような場合に、手順情報２３３が誰によって登録されたのかを示すために、“登録ユーザＩＤ”が記録される。“登録ユーザＩＤ”として用いられるユーザＩＤは、ユーザＤＢ２１０におけるユーザＩＤと共通でありうる。これによって、例えば、どのユーザがどの機器を有しており、どの機能を実行し、またどの手順を記録したのか、といった情報を一元的に管理することができる。なお、手順情報２３３が例えば機器の製造者などによって登録された場合、“登録ユーザＩＤ”としては、ユーザＤＢ２１０では用いられない別途のＩＤが記録されてもよい。
【００３８】
“手順”は、操作手順の具体的な内容を示す情報である。“手順”として記録される情報は、例えばマニュアルとしてユーザに提供される文字や画像の情報であってもよく、機器に自動的に設定操作を実行させるためのプログラムコードであってもよく、またはこれらの組み合わせであってもよい。“手順”の登録方法、および利用方法の具体的な例については後述する。
【００３９】
また、別の例として、機能情報２３１および手順情報２３３は、ＳＮＳのログの解析によって生成されてもよい。例えば、ＳＮＳなどのインターネット上のコミュニティに投稿されたユーザの機器に対するレビューなどのテキストから、構文解析やキーワード抽出などによって機能や手順に関する情報を抽出してもよい。
【００４０】
以上で説明したように、本開示の一実施形態では、ユーザＤＢ２１０、機器ＤＢ２２０、機能ＤＢ２３０が存在し、ユーザと機器との関係（機器登録）、機器と機能との関係（機器連携の情報）、機能とユーザとの関係（利用した機能、および機能の手順の登録）などを管理している。
【００４１】
（１−３．機能構成例）
図４は、本開示の一実施形態に係るシステムの機能構成を概略的に示す図である。上記で図１〜図３を参照して説明したようなシステムは、例えばシステム１として実現されうる。システム１は、クライアント１０と、サーバ２０とを含み、クライアント１０とサーバ２０とは、有線また無線のネットワークを経由して互いに通信する。
【００４２】
（クライアント）
クライアント１０は、例えば、図１に示された保有機器１００の中で、機器登録やサーバアプリケーション２００からの情報の受信といった機能のうち少なくとも一部を有するものでありうる。つまり、保有機器１００の中で、例えばスマートフォン１００ａが他の保有機器１００ｂ〜１００ｅを登録する場合、スマートフォン１００はクライアント１０である。また、テレビ１００ｂがサーバアプリケーション２００からの情報を受信してユーザに提示する場合、テレビ１００ｂもまたクライアント１０である。クライアント１０は、例えば後述する情報処理装置のハードウェア構成を用いて実現されうる。
【００４３】
図示されているように、クライアント１０は、入出力部１１、ユーザ情報取得部１２、機器情報取得部１３、手順記録部１４、手順実行部１５および通信部１６を含む。
【００４４】
入出力部１１は、ディスプレイまたはスピーカのような出力装置と、マウス、キーボード、またはタッチパネルのような入力装置とによって実現され、ユーザに情報を出力するとともに、ユーザの操作を受け付ける。入出力部１１は、例えば後述する表示画面例のようなユーザインターフェース（ＵＩ）を表示し、該表示画面に対するユーザの入力操作を受け付ける。表示される操作画面には、推薦情報や手順情報が含まれうる。
【００４５】
ユーザ情報取得部１２、機器情報取得部１３、手順記録部１４、および手順実行部１５は、ＣＰＵ（Central  Processing  Unit）などのプロセッサによって実現される。ユーザ情報取得部１２は、クライアント１０を使用するユーザ自身に関する情報を取得し、これを通信部１６を介してサーバ２０に送信する。ユーザ情報取得部１２が取得する情報には、例えば、本開示の実施形態に係るサービスを利用するためのユーザのアカウント情報が含まれる。さらに、ユーザ情報取得部１２は、ユーザが利用しているＳＮＳのアカウント情報を取得してもよい。サーバ２０に送信されたＳＮＳのアカウント情報は、例えばユーザＤＢ２１０に外部サービス情報２１３として登録される。
【００４６】
機器情報取得部１３は、上記の保有機器１００、または非保有機器１１０に関する情報を取得し、これを通信部１６を介してサーバ２０に送信する。機器情報取得部１３が取得する情報は、後述するように、各機器の型番、ユーザが撮影した各機器などの画像、各機器のコントローラからの赤外線波形、機器に関連付けて登録されたユーザＩＤ、ＤＬＮＡ（登録商標）などの規格に従って検出された各機器を識別するための情報など、サーバ２０において機器を識別するための各種の情報を含みうる。これらの情報は、例えば機器登録の処理の際にサーバ２０に送信される。さらに、機器情報取得部１３は、既に登録された保有機器１００について、機器の状態を示す情報を取得してサーバ２０に送信してもよい。ここで送信される情報は、例えば、スマートフォンに写真が１００枚たまった、レコーダで番組を１５本録画した、録画した番組の再生を途中で止めた、といったような情報であり、後述するように、サーバ２０において各機能の推薦条件と比較される。
【００４７】
手順記録部１４は、ユーザが何らかの機能を使用したときに実行した操作手順を示す情報を記録して、これを通信部１６を介してサーバ２０に送信する。手順記録部１４が記録する情報は、例えば、入出力部１１に含まれるマウス、キーボード、またはタッチパネルを用いたクライアント１０への入力操作、ケーブルの接続、記録媒体の出し入れなど、各種の操作ログ（ユーザが主体的に実行する操作だけでなく、その結果として機器が実行した動作を含むログであってもよい）を含みうる。また、手順記録部１４は、ネットワークを介してクライアント１０に接続されている他の機器の操作ログを取得することが可能であってもよい。
【００４８】
手順実行部１５は、通信部１６がサーバ２０から受信したプログラムコードに従って、クライアント１０に操作手順を自動的に実行させる。サーバ２０から受信されるプログラムコードは、他のユーザが機能を使用したときに実行した操作手順をクライアント１０に実行させるためのものでありうる。さらに、手順実行部１５は、ネットワークを介してクライアント１０に接続されている他の機器にも操作手順を自動的に実行させることが可能であってもよい。なお、機器を連携させて機能を実現するための操作手順は、手順実行部１５による自動的な実行で完結するとは限らない。例えば、ユーザの入力操作による対象コンテンツなどの選択や、ユーザの手によるケーブルの接続、記録媒体の出し入れなどが必要である場合、手順実行部１５は手順の自動的な実行を一時的に停止し、ユーザによる操作を要求するメッセージを、入出力部１１を介して出力してもよい。
【００４９】
通信部１６は、有線または無線の各種ネットワークを介してサーバ２０と通信するための通信装置、またはこの通信装置へのインターフェースによって実現される。通信部１６は、上記の各部によって取得された情報をサーバ２０に送信するとともに、機器の連携によって実現される機能をユーザに推薦する推薦情報や、推薦情報によって推薦される機能のうち、ユーザが選択した機能を実現するための操作手順を示す手順情報を、サーバ２０から受信する。ここで、推薦情報によって推薦される機能は、例えば、機器情報取得部１３によって送信された保有機器１００の状態を示す情報が、所定の推薦条件を満たした機能でありうる。あるいは、推薦される機能は、ユーザ情報取得部１２が取得したユーザのＳＮＳアカウント情報に基づいて検出されたＳＮＳでのユーザの友人が使用した機能であってもよい。また、推薦される機能は、サーバ２０でその機能に関する情報が更新された機能、例えば新たに追加された機能などであってもよい。
【００５０】
また、通信部１６が受信する手順情報は、例えば、操作手順をテキストや画像などによって説明する情報であってもよい。ここで説明される操作手順は、機器の製造者などによって登録されたものであってもよく、機能を使用した他のユーザが実行した手順が記録されたものであってもよい。あるいは、手順情報は、手順実行部１５が操作手順をクライアント１０などの機器に自動的に実行させるためのプログラムコードであってもよい。このプログラムコードも、機器の製造者などによって登録されたものであってもよく、機能を使用した他のユーザが実行した手順が記録されたものであってもよい。また、手順情報は、操作手順を説明する情報と、プログラムコードとを組み合わせたものであってもよい。この場合、クライアント１０などの機器が単独で実行可能な手順はプログラムコードによって自動的に実行され、機器間の接続やユーザによるコンテンツの選択など、ユーザによる操作が必要な手順については画像やテキストなどで操作手順を説明する情報が入出力部１１を介して表示されてもよい。
【００５１】
なお、上述のように、機器の登録と情報の受信は、必ずしも同じ機器によって実行されなくてもよい。従って、クライアント１０は、ユーザ情報取得部１２〜手順実行部１５の構成要素については、そのうちの一部だけを有していてもよいし、すべてを有していてもよい。
【００５２】
（サーバ）
サーバ２０は、例えば、図１に示されたサーバアプリケーション２００と、ユーザＤＢ２１０、機器ＤＢ２２０、および機能ＤＢ２３０とを含むサーバ２０である。サーバ２０は、単一のサーバ装置によって実現されてもよいし、有線または無線のネットワークを経由して接続され、協働する複数のサーバ装置によって実現されてもよい。個々のサーバ装置は、例えば後述する情報処理装置のハードウェア構成を用いて実現されうる。
【００５３】
図示されているように、サーバ２０は、ユーザ情報管理部２１、機器情報管理部２２、機能情報管理部２３、手順情報管理部２４、推薦機能決定部２５、ＤＢ２６、および通信部２７を含む。
【００５４】
ユーザ情報管理部２１、機器情報管理部２２、機能情報管理部２３、手順情報管理部２４、および推薦機能決定部２５は、ＣＰＵなどのプロセッサによって実現される。ユーザ情報管理部２１は、主に、上記のユーザＤＢ２１０（ＤＢ２６に含まれる）に格納される情報を管理する。例えば、ユーザ情報管理部２１は、通信部２７を介してクライアント１０から受信された情報を、ユーザＤＢ２１０に登録する。登録される情報には、保有機器１００、または非保有機器１１０とユーザとを関連付けた登録機器情報２１１、ユーザが利用するＳＮＳなどの外部サービスについてのアカウント情報などを含む外部サービス情報２１３などが含まれうる。また、ユーザ情報管理部２１は、登録された保有機器１００の状態を示す情報を通信部２７を介してクライアント１０から取得してもよい。この情報は、ＤＢ２６に記録された後に、後述するように推薦機能決定部２５によって読み出されてもよいし、ユーザ情報管理部２１からＤＢ２６を経由せずに推薦機能決定部２５に提供されてもよい。
【００５５】
機器情報管理部２２は、主に、上記の機器ＤＢ２２０（ＤＢ２６に含まれる）に格納される情報を管理する。例えば、機器情報管理部２２は、機器の製造者などによって登録された機器情報２２１を必要に応じて読み出し、機能情報管理部２３、手順情報管理部２４、および推薦機能決定部２５などに提供する。
【００５６】
機能情報管理部２３は、主に、上記の機能ＤＢ２３０（ＤＢ２６に含まれる）に格納される機能情報２３１を管理する。例えば、機能情報管理部２３は、通信部２７を介してクライアント１０から受信された情報に基づいて、機能情報２３１を更新する。更新される項目には、機能を使用したユーザによる当該機能の評価が含まれうる。この場合、機能情報管理部２３は、例えば機能情報２３１に含まれる“評価”の項目を更新する。更新によって“評価”の項目によって示される評価値が所定の閾値を超えた場合、その機能は推薦機能決定部２５による推薦の対象になりうる。あるいは、機能情報管理部は、ユーザが機能を使用したことを示す情報を取得し、機能情報２３１で当該機能が実行された回数を示す項目（図２および図３では図示されていない）を更新してもよい。更新によって回数が所定の閾値を超えた場合、その機能は推薦機能決定部２５による推薦の対象になりうる。
【００５７】
さらに、機能情報管理部２３は、通信部２７を介してクライアント１０から受信された情報に基づいて、機能情報２３１を新たに登録してもよい。後述するように、ユーザはクライアント１０を用いて機能を実現するための操作手順を登録するときに、新規の機能を登録することも可能である。この場合、その機能についての機能情報２３１は存在しないため、機能情報管理部２３は、新たに機能情報２３１を登録する。このとき、機能情報管理部２３は、登録しようとしている機能が既存の機能と重複しないかどうかを確認し、重複しない場合に限って新たな機能情報２３１を登録する。
【００５８】
手順情報管理部２４は、主に、上記の機能ＤＢ２３０（ＤＢ２６に含まれる）に格納される手順情報２３３を管理する。例えば、手順情報管理部２４は、推薦機能決定部２５によって決定された推薦機能のうち前記ユーザが選択した機能を実現するための操作手順を示す手順情報２３３を、機能ＤＢ２３０から取得して、通信部２７を介してクライアント１０に送信する。ここで取得および送信される手順情報は、例えば、操作手順をテキストや画像などによって説明する情報であってもよい。この場合、クライアント１０で手順情報を受信したユーザは、説明を参照しながら自らの手で操作手順を実行する。あるいは、手順情報は、操作手順を機器に実行させるためのプログラムコードであってもよい。この場合、手順情報を受信したクライアント１０、またはクライアント１０にネットワークを介して接続された他の機器で、プログラムコードを用いて自動的に操作手順が実行される。
【００５９】
さらに、手順情報管理部２４は、通信部２７を介してクライアント１０から受信された情報に基づいて、手順情報２３３を新たに登録してもよい。後述するように、ユーザは、クライアント１０を用いて機能を実現するための操作手順を登録することが可能である。クライアント１０から提供される情報は、例えば、ユーザが操作手順を実行したときの操作ログでありうる。手順情報管理部２４は、この情報を、テキストや画像を用いた説明に変換して手順情報２３３として登録してもよいし、機器に操作手順を実行させるためのプログラムコードに変換して手順情報２３３として登録してもよい。このとき、手順情報管理部２４は、登録しようとしている手順が既存の手順と重複しないかどうかを確認し、重複しない場合に限って新たな手順情報２３３を登録してもよい。
【００６０】
ここで、例えば、ある機能に対して、複数の手順が登録されている場合がありうる。例えば、図３の例では、“機能ＩＤ”００１の機能に対して、“手順ＩＤ”００１，００２，００３に対応する３つの手順が登録されている。このような場合のために、手順情報管理部２４は、ユーザが手順を実行したことを示す回数をクライアント１０から取得してもよい。ユーザが手順を実行した回数は、手順情報２３３として記録されうる（図３の例には示されていない）。この場合、手順情報管理部２４は、他のユーザに手順情報を提供するときに、記録された回数がより多い手順情報２３３を選択する。
【００６１】
推薦機能決定部２５は、ＤＢ２５に格納された情報に基づいて、ユーザに推薦する推薦機能を決定する。推薦機能の情報は、通信部２７を介してクライアント１０に送信される。ユーザは、推薦機能の中から使用する機能を選択する。選択の結果はクライアント１０からサーバ２０に送信され、手順情報管理部２４はこの結果に基づいて、ユーザに手順情報を提供する機能を特定する。推薦機能は、例えば、ユーザＤＢ２１０に格納された登録機器情報２１１と、機能ＤＢ２３０に格納された機能情報２３１とに基づいて決定されうる。登録機器情報２１１と機能情報２３１とを組み合わせれば、ユーザが保有している、または保有を検討している機器の連携によって実現可能な機能が特定される。このような機能をユーザに推薦することによって、ユーザにとってより有用な機能が推薦される。
【００６２】
例えば、推薦機能決定部２５は、ＤＢ２６に含まれるユーザＤＢ２１０や機能ＤＢ２３０が更新されたときに、推薦機能を決定してその情報をクライアント１０に送信してもよい。これは、より具体的には、登録機器情報２１１として新たな機器が登録された場合や、機能情報２３１として新たな機能が登録された場合などである。このような場合に機能の推薦を受けることで、例えば、ユーザは、新たに利用可能になった機能に関する情報をいち早く取得し、その機能を活用することができる。
【００６３】
また、推薦機能決定部２５は、ＤＢ２６に含まれる機能ＤＢ２３０において、機能の評価や実行回数を示す情報が更新された時に、推薦機能を決定してその情報をクライアント１０に送信してもよい。これは、より具体的には、機能の評価値が所定の閾値を超えた場合や、機能の実行回数が所定の閾値を超えた場合に、その機能を人気のある機能と推定してユーザに推薦することでありうる。
【００６４】
また、推薦機能決定部２５は、ユーザ情報管理部２１によって取得されたユーザの保有機器の状態が、機能ＤＢ２３０に機能情報２３１として格納された各機能の“推薦条件”を満たす場合に、当該機能をユーザに推薦してもよい。上述のように、ここで用いられる機器の状態は、例えば、スマートフォンに写真が１００枚たまった、レコーダで番組を１５本録画した、録画した番組の再生を途中で止めた、といったような状態でありうる。これによって、ユーザは、機能を使用する必要が生じたタイミングで、その機能の推薦を受けることができ、機能推薦のユーザにとっての有用性が向上する。
【００６５】
あるいは、推薦機能決定部２５は、ユーザＤＢ２１０に含まれる外部サービス情報２１３からユーザのＳＮＳアカウント情報を取得し、ユーザのＳＮＳでの友人が何らかの機能を使用した場合に、その機能を推薦機能に決定してもよい。同様にＳＮＳを利用する例として、推薦機能決定部２５は、ユーザのＳＮＳでの友人に限って機能の評価や実行回数を記録し、友人の間で評価が高かったり実行回数が多かったりする機能を推薦機能に決定してもよい。
【００６６】
ＤＢ２６は、例えばストレージ装置によって実現される。ＤＢ２６は、例えば上記のユーザＤＢ２１０、機器ＤＢ２２０、および機能ＤＢ２３０に対応するデータを含む。なお、ＤＢの構成は任意に設計可能であり、ユーザに情報を提供するために必要なデータが格納されていれば、必ずしも上記の３つのＤＢが設定されなくてもよい。ＤＢ２６は、そのすべてが同一の装置によって実現されてもよいし、それぞれが異なる装置によって実現されてもよい。
【００６７】
通信部２７は、有線または無線の各種ネットワークを介してクライアント１０と通信するための通信装置、またはこの通信装置へのインターフェースによって実現される。通信部２７は、手順情報管理部２４や推薦機能決定部２５によって生成された情報をクライアント１０に送信するとともに、クライアント１０から受信した情報をユーザ情報管理部２１、機器情報管理部２２、機能情報管理部２３、または手順情報管理部２４に提供する。
【００６８】
（２．機器登録処理）
次に、図５および図６を参照して、本開示の一実施形態における機器登録処理について説明する。
【００６９】
上述のように、本開示の実施形態に係るシステムでは、ユーザが保有している機器をシステムに登録することが可能である。また、ユーザが保有していない機器も、例えば購入予定の聞き、または購入を検討中の機器として登録することが可能である。
【００７０】
このような機器登録をしない場合、例えば、ユーザは、機器連携によって実現可能な機能があることにそもそも気づかない可能性があった。また、取扱説明書やカタログなどによって情報は提供されているものの、そこで説明されている機能にはユーザが保有していない機器との連携機能も含まれており、情報が多すぎるために、適切な機能に関する情報を得ることが困難であった。さらに、近年ではＷｅｂなどで機能の説明を検索することも一般的であるが、目的とする機能自体が特定されていなければ、検索のキーワードもわからないため、やはり適切な機能に関する情報を得ることが困難であった。
【００７１】
そこで、本開示の一実施形態では、ユーザが保有している機器（および保有する予定の機器）をシステムに登録する機能を提供する。これによって、ユーザが利用可能な機器（利用可能になる予定の機器を含む）をシステム側で把握することができ、ユーザが現在または将来に保有している機器によってどのような連携機能が実現可能かが判別できる。実現可能な連携機能を対象にしてユーザに情報を提供すれば、情報が多すぎることもなく、ユーザは適切な機能に関する情報を容易に得ることが可能である。従って、ユーザは機器の便利な機能を十分に活用することができる。また、ユーザが現在保有していない機器についても、システムに登録し、連携機能に関する情報を詳細に得られることによって、購入につながる可能性がある。
【００７２】
図５は、本開示の一実施形態における機器登録処理の表示画面例を示す図である。図示された例では、クライアント１０でアプリケーションを起動すると、メニュー画面３１０が表示される。メニュー画面３１０には、機器登録ボタン３１１と、連携機能ボタン３１２と、通知情報３１３とが表示される。ここでは、ユーザが機器登録ボタン３１１を選択したものとする。なお、通知情報３１３には、例えば、ユーザに推薦される機能の情報などが表示される。
【００７３】
次に、登録方法選択画面３２０が表示される。登録方法選択画面３２０では、登録方法選択肢３２１の中から、ユーザが所望の登録方法を選択する。ここで、登録方法選択肢３２１として表示される登録方法は、クライアント１０が有している入力手段によって異なりうる。図示された例では、写真を用いる４つの登録方法（カメラが必要）と、赤外線を用いる登録方法（赤外線受信部が必要）と、テキスト入力を用いる２つの登録方法（キーボードまたはタッチパネルなどの文字入力手段が必要）と、ＤＬＮＡ（登録商標）を用いる登録方法（ＤＬＮＡ（登録商標）対応機器であることが必要）とが表示されている。しかしながら、これらのすべてがどのクライアント１０でも利用可能であるとは限らない。例えばカメラを搭載していないクライアント１０の場合、写真を用いる登録方法は表示されないし、ＤＬＮＡ（登録商標）に対応していないクライアント１０の場合、ＤＬＮＡ（登録商標）を用いる登録方法は表示されない。
【００７４】
登録方法の例について、さらに説明する。図示された例では、写真を用いる４つの登録方法、より具体的には“写真（正面）”、“写真（型番）”、“写真（取扱説明書）”、および“写真（コントローラ）”が表示されている。“写真（正面）”は、機器本体の写真を撮影し、その写真から画像解析によって映っている機器を特定する方法である。“写真（型番）”は、機器に表示されている型番の写真を撮影し、そこからＯＣＲ（Optical  Character  Recognition）などを利用して型番を読み取る方法である。なお、型番に相当する情報（流通過程で用いられる商品番号などであってもよい）は、文字として表示されていなくてもよく、例えば２次元コードやバーコードとして表示されていてもよい。
【００７５】
“写真（取扱説明書）”は、機器の取扱説明書の写真を撮影し、その写真から画像解析によって映っている取扱説明書を特定するか、取扱説明書に記載された文字をＯＣＲなどを利用して読み取ることによって、機器を特定する方法である。“写真（コントローラ）”は、機器のコントローラ（リモートコントローラなど）の写真を撮影し、ボタンの配置や表示された文字からどの機器のコントローラであるかを特定する方法である。
【００７６】
さらに、図示された例では、“コントローラの赤外線”を用いる登録方法が表示されている。これは、機器のコントローラから送出される赤外線の波形を取得し、各機器に特有の波形と照合することで機器を特定する方法である。“型番入力”は、機器の型番を直接文字入力することで機器を特定する方法である。“ユーザＩＤから登録する”は、例えば、機器の購入にあたってユーザ登録がされる場合に、そこで登録されたユーザの情報から、ユーザが保有している機器を特定する方法である。“ＤＬＮＡ（登録商標）で検索”は、ＤＬＮＡ（Digital  Living  Network  Alliance；登録商標）のプロトコルを用いて、クライアント１０にネットワーク接続された機器を検索する。ＤＬＮＡ（登録商標）に限らず、他の機器間連携に関する規格のプロトコルが検索に用いられてもよい。
【００７７】
ここでは、ユーザが“写真（正面）”を選択したものとする。すると、写真撮影画面３３０が表示される。写真撮影画面３３０では、撮影ボタン３３１を選択することによって撮影が実行される。撮影した写真はサーバ２０に送信され、機器情報として格納された各機器の画像とのマッチングによって写真に写っている機器が特定される。
【００７８】
機器が特定されると、登録確認画面３４０が表示される。登録確認画面３４０には、例えば機器の画像や、カテゴリ、製品名、型番など、ユーザが登録される機器を確認できる情報が表示される。登録確認画面３４０では、登録ボタン３４１を選択することによって登録が実行される。
【００７９】
機器の登録が実行されると、登録完了画面３５０が表示される。登録完了画面３５０には、連携機能ボタン３５１が表示されてもよい。連携機能ボタン３５１を選択すると、ここまでの処理によって登録された機器を用いて実現可能な連携機能の検索処理が開始される。
【００８０】
図６は、本開示の一実施形態における機器登録の処理フローの例を示す図である。図では、クライアント１０で初めてアプリケーションが起動された場合の処理（ステップＳ１０１〜Ｓ１４９）が示されている。なお、２回目以降にアプリケーションが起動された場合には、ユーザＩＤの登録およびクライアント自身の機器登録の処理（ステップＳ１０３〜Ｓ１１９）がスキップされる。
【００８１】
まず、クライアント１０でアプリケーションが起動される（ステップＳ１０１）。入出力部１１を介して新規のユーザＩＤが入力されると、クライアント１０はサーバ２０に対してユーザＩＤ登録を依頼する（ステップＳ１０３）。サーバ２０では、ユーザ情報管理部２１がユーザＩＤをＤＢ２６に登録し（ステップＳ１０５）、登録完了をクライアント１０に通知する（ステップＳ１０７）。
【００８２】
ユーザＩＤの登録完了通知を受信したクライアント１０では、引き続いてクライアント１０自身の機器登録が実行される（ステップＳ１０９）。クライアント１０は、確実にユーザは保持している機器であるため、自動的に保有機器１００として登録すれば、ユーザにとって便利である。ここで、機器情報取得部１３は、クライアント１０の型番を内部的に取得し、サーバ２０に送信する（ステップＳ１１１）。
【００８３】
サーバ２０では、機器情報管理部２２が、受信した型番を用いてＤＢ２６に格納された機器情報を参照し、機器ＩＤを特定する（ステップＳ１１３）。ユーザ情報管理部２１は、特定された機器ＩＤをＤＢ２６に登録する（ステップＳ１１５）。より具体的には、ユーザ情報管理部２１は、ＤＢ２６に格納されるユーザの登録機器情報を追加する。
【００８４】
一方、特定された機器ＩＤは、クライアント１０にも送信されうる（ステップＳ１１７）。クライアント１０は、機器ＩＤを受信した（ステップＳ１１９）後、これによってクライアント１０自身の機器登録が完了したことを認識して次の処理を開始してもよいし、機器ＩＤをクライアント１０のＤＢに登録してもよい。上記のように、ユーザＤＢ２１０はクライアント１０に配置されてもよく、またサーバ２０とクライアント１０との両方に配置されてもよい。クライアント１０がユーザＤＢ２１０を有する場合、受信された機器ＩＤを用いてユーザ登録機器情報が追加される。
【００８５】
次に、クライアント１０では、メニュー画面が表示される（ステップＳ１２１）。ここで表示されるメニューは、例えば図５に示したメニュー画面３１０のようなものでありうる。ここで、ユーザによって機器登録の実行が選択された場合、機器登録の処理（ステップＳ１２３）が開始される。図示された例では、写真を用いた機器登録の実行が選択されているものとする。
【００８６】
機器登録の処理では、まず、機器情報取得部１３が、クライアント１０のカメラを起動する（ステップＳ１２５）。ユーザの撮影の指示に応じて、カメラで写真の撮影が実行される。機器情報取得部１３は、撮影された写真の画像データを取得し、これをサーバ２０に送信する（ステップＳ１２７）。サーバ２０では、機器情報管理部２２が、受信された画像データを、ＤＢ２６に格納された機器情報の画像とマッチングし、登録される機器の機器ＩＤを特定する（ステップＳ１２９）。なお、図示された例では、写真の画像データから機器ＩＤが特定されているが、例えば図５の登録方法選択画面３２０に示されたような、他の様々な方法で同様にして機器ＩＤを特定することも可能である。
【００８７】
特定された機器ＩＤは、クライアント１０に送信され（ステップＳ１３１）、これを受信した（ステップＳ１３３）クライアント１０は、確認画面を表示する（ステップＳ１３５）。確認画面は、例えば図５に示した登録確認画面３４０のようなものでありうる。ここで、ユーザによってＯＫ、すなわち登録の実行が選択された場合、登録の実行依頼がクライアント１０からサーバ２０に送信され、ユーザ情報管理部が機器ＩＤをＤＢ２６に登録する（ステップＳ１３７）。より具体的には、ユーザ情報管理部２１は、ＤＢ２６に格納されるユーザの登録機器情報を追加する。ステップＳ１１５における機器ＩＤの登録の場合と同様に、クライアント１０側でも機器ＩＤが登録されてもよい。
【００８８】
機器ＩＤの登録が完了すると、クライアント１０で登録完了画面が表示される（ステップＳ１３９）。登録完了画面は、例えば図５に示した登録完了画面３５０のようなものでありうる。
【００８９】
付加的な処理として、機器の登録後に、登録された機器にも、クライアント１０と同様のアプリケーションがインストールされてもよい。この場合、機器を登録したクライアント１０と、登録された機器とは、別の種類の機器であり、従ってインストールするアプリケーションの種類も異なる可能性が高い（例えば、スマートフォンでテレビを登録した場合、など）。そこで、サーバ２０は、登録された機器に適した種類のアプリケーションを選択してインストールする。
【００９０】
ここで、ユーザが連携機能の表示を選択すると（例えば図５に示した連携機能ボタン３５１の選択）、連携機能の表示処理が開始される。クライアント１０は、ステップＳ１３３で受信した機器ＩＤ、すなわち直近の機器登録処理で登録された機器ＩＤを、サーバ２０に送信する（ステップＳ１４１）。
【００９１】
サーバ２０では、機器情報管理部２２が、ＤＢ２６に格納された機器ＤＢを参照して、対象の機器で実現可能な連携機能を検索する（ステップＳ１４３）。このとき、さらに、ユーザ情報管理部２１がユーザＤＢを参照して、対象の機器とユーザが登録している他の機器とで実現可能な連携機能が検索されてもよい。検索された連携機能の情報は、サーバ２０からクライアント１０に送信される（ステップＳ１４５）。
【００９２】
クライアント１０では、受信された連携機能の情報が表示される（ステップＳ１４７）。ここでの表示は、例えば連携機能が複数ある場合には、リスト表示であってもよい。ユーザによっていずれかの連携機能が選択された場合、その連携機能の内容（例えば、どの機器と連携するか、何ができるか、など）が表示される（ステップＳ１４９）。なお、連携機能に関する表示の例については後述する。
【００９３】
（３．手順登録処理）
次に、図７〜図１１を参照して、本開示の一実施形態における手順登録処理について説明する。
【００９４】
本開示の実施形態に係るシステムでは、ユーザが機器を登録するだけではなく、機能、および機能を実現するための手順を登録することも可能である。ここでの機能および手順の登録は、例えば機器の製造者などによって予めサーバに登録された機能および手順に関する情報（つまり取扱説明書的な情報）をユーザが登録した情報によって補完することを意図したものである。
【００９５】
紙媒体やＷｅｂページとして提供される取扱説明書は、例えば機器の製造者によって提供される。取扱説明書は、機器に関する情報を網羅的に得るためには適している。しかし、その一方で、例えば機器連携については、相手の機器が特定されないために記述が抽象的であったり、製造者側で認識していない機能については記載されていなかったりして、必ずしもユーザにとって使いやすい情報源ではない場合がある。
【００９６】
これに対して、ユーザが登録した機能や手順の情報は、ユーザが特定の機器の組み合わせで実際に実行したものであるため、記述が具体的である。また、製造者側で認識していない機能であっても、それを発見したユーザが手順を登録すれば、その機能を実現するための手順を他のユーザも共有することができる。
【００９７】
以下の説明では、手順登録処理について、手動、半自動、自動の３つの例を説明する。手動での手順登録処理では、ユーザが手順をテキストや画像などを用いて記述した情報を登録する。この場合、登録される手順の情報は、例えば取扱説明書や、Ｗｅｂ上のブログなどで公開される情報と同様の情報になりうる。しかし、登録に際しては、連携させる機器が特定され、この機器の情報（機器ＩＤ）がシステム上の情報と対応付けられるために、情報を参照する側のユーザは、保有している機器の組み合わせから手順の情報を容易に検索することができる。
【００９８】
一方、半自動および自動の手順登録処理では、ユーザが機器に対して実行した操作ログが、手順を示す情報として登録される。登録された手順の情報は、例えば操作ログをテキストや画像に変換したものとして他のユーザに提供されてもよい。この場合、ユーザが認識している手順ではなく、実行された手順がそのまま記録されるため、情報に欠落がなく、他のユーザがそれに倣って手順を実行することが容易である。また、登録された手順の情報は、同様の操作を機器に自動的に実行させるためのプログラムコードとして他のユーザに提供されてもよい。この場合、他のユーザは、後述する手順実行処理によって、機器連携のための設定などの操作を自動で機器に実行させることができる。
【００９９】
以下、手動、半自動、自動の３つの例について、より詳細に説明する。
【０１００】
図７は、本開示の一実施形態における手順登録処理（手動）の表示画面例を示す図である。図示された例では、上記の図５の例とは異なるメニュー画面３６０が表示されている。メニュー画面３６０には、機器登録ボタン３６１と、機能閲覧／使用ボタン３６２と、機能登録ボタン３６３とが表示される。ここでは、ユーザが機能登録ボタン３６３を選択したものとする。なお、機器登録ボタン３６１は、図５の例と同様の機器登録処理を開始するためのボタンであり、機能閲覧／使用ボタン３６２は、後述する手順実行処理を開始するためのボタンである。
【０１０１】
次に、登録方法選択画面３７０が表示される。登録方法選択画面３７０では、手動ボタン３７１と半自動ボタン３７２とを用いて、ユーザが所望の手順登録方法を選択する。ここでは、ユーザが手動ボタン３７１を選択したものとする。この場合、以下で説明するように、ユーザが手順を手動で入力することによって、手順登録が実行される。なお、半自動ボタン３７２を選択した場合の手順登録処理については後述する。
【０１０２】
登録方法選択画面３７０で登録方法を選択すると、手動、半自動の場合とも、機能選択画面３８０が表示される。機能選択画面３８０では、既存機能選択ボタン３８１と、新規登録ボタン３８２とを用いて、機能の登録方法を選択する。例えば、既に存在する機能について新たな手順を登録するような場合、既存機能選択ボタン３８１を選択する。一方、新たな機能を登録するとともにその手順も登録するような場合、新規登録ボタン３８２を選択する。ここでは、ユーザが新規登録ボタン３８２を選択したものとする。
【０１０３】
図示された例では、ユーザによって、手順登録方法については“手動登録”が、機能登録方法については“新規登録”が選択されたため、新規機能についての手動手順登録画面３９０が表示される。手動手順登録画面３９０では、機能名入力部３９１と、機器入力部３９２と、手順入力部３９３と、登録ボタン３９４とが表示される。
【０１０４】
機能名入力部３９１は、例えば図示されたようなテキスト入力欄であり、ユーザが任意の機能名を入力することができる。
【０１０５】
機器入力部３９２は、例えば図示されたようなリスト型の入力欄であり、ユーザが機能に用いる機器を指定することができる。機器は、例えば、型番の一部や機種名からの検索、機器の写真からの検索、ユーザが登録している保持機器からの検索などによって指定することが可能である。また、機器入力部３９２では、任意の数の機器を指定することが可能であり、例えばリストの数を増やすボタン（図では＋ボタンとして示されている）が表示されてもよい。
【０１０６】
手順入力部３９３も、例えば図示されたようなリスト型の入力欄であり、機能を実現するための手順を記録することができる。手順は、例えば、各入力欄へのテキスト入力によって記録されてもよいし、各入力欄にファイルを添付するなどして画像を用いて記録されてもよい。手順入力部３９３でも、任意の数のステップで手順を入力することが可能であり、例えばリストの数を増やすボタン（図では＋ボタンとして示されている）が表示されてもよい。入力が完了して、ユーザが登録ボタン３９４を選択すると、入力した機能、機器、および手順が登録される。
【０１０７】
図８は、図７に示した処理のフローの例を示す図である。まず、クライアント１０で、メニュー画面３６０が表示される（ステップＳ２０１）。ここで、機能登録ボタン３６１が選択されると、登録方法選択画面３７０が表示される（ステップＳ２０３）。ここで、手動ボタン３７１が選択されると、機能選択画面３８０が表示される（ステップＳ２０５）。さらに、新規登録ボタン３８２が選択されると、手動手順登録画面３９０が表示される（ステップＳ２０７）。
【０１０８】
ここで、ユーザは、手動手順登録画面３９０に表示された機能名入力部３９１、機器入力部３９２、および手順入力部３９３を用いて、機能、機能を実現するために連携させる機器、および機能を実現するための手順を入力する。クライアント１０では、手順記録部１４が入力された情報を記録する。ユーザが登録ボタン３９４を選択すると、手順記録部１４が、記録された手順の情報をサーバ２０に送信する（ステップＳ２０９）。
【０１０９】
サーバ２０では、機能情報管理部２３が、受信された手順の情報を処理する。より具体的には、機能情報管理部２３は、受信された手順に対応する情報を機能ＤＢ２３０に登録する（ステップＳ２１１）。上記の例では、新たな機能についての手順が登録されているため、まず、機能情報管理部２３は、機能ＤＢ２３０に新たな機能情報２３１を追加する。機能情報管理部２３は、新たな機能に“機能ＩＤ”を付与し、上記の機能名入力部３９１に入力された情報に従って、機能情報２３１の“機能名”を設定する。また、機能情報管理部２３は、機器入力部３９２に入力された情報に従って、機能情報２３１の“連携機器ＩＤ”を設定する。
【０１１０】
さらに、機能情報管理部２３は、機能ＤＢ２３３に新たな手順情報２３３を追加する。機能情報管理部２３は、新たな手順に“手順ＩＤ”を付与するとともに、この“手順ＩＤ”を、新たな機能についての機能情報２３１にも設定する。また、機能情報管理部２３は、情報を送信したユーザのユーザＩＤを手順情報２３３の“登録ユーザＩＤ”に設定する。機能情報管理部２３は、手順入力部３９３に入力された情報に従って、手順情報２３３の“手順”を記録する。
【０１１１】
以上のような登録処理が終了すると、サーバ２０からクライアント１０に、登録完了が通知される（ステップＳ２１３）。登録完了の通知を受けたクライアント１０では、完了画面（図７には示していない）が表示される（ステップＳ２１５）。
【０１１２】
図９は、本開示の一実施形態における手順登録処理（半自動）の表示画面例を示す図である。図示された例では、上記の図７の例と同様に、メニュー画面３６０、登録方法選択画面３７０、および機能選択画面３８０が表示される。ただし、この例では、登録方法選択画面で半自動ボタン３７２が選択され、機能選択画面３８０では既存機能選択ボタン３８１が選択される点が、図７の例とは異なる。
【０１１３】
この結果、機能選択画面３８０画面の次には、機能検索画面４００が表示される。機能検索画面４００では、自動検索ボタン４０１と、機能名入力部４０２と、機器入力部４０３と、通常検索ボタン４０４とが表示される。
【０１１４】
自動検索ボタン４０１は、実行可能な機能を自動的に検索する場合に選択されるボタンである。ここでは、例えばクライアント１０とユーザが登録している他の機器との連携によって実現される機能が検索されてもよい。別の例として、手順登録方法が“手動登録”であるような場合には、ユーザが登録している機器の間で、クライアント１０を含まない機器同士の連携によって実現される機能が検索されてもよい。
【０１１５】
機能名入力部４０２は、検索のために機能名の一部または全部を入力するための入力欄を含む。また、機器入力部４０３は、検索のために、連携機器の一部または全部を指定するための入力欄を含む（図示された例では機器入力部４０３の欄が１つだが、図７の例の機器入力部３９２のように複数の欄が表示されてもよい）。通常検索ボタン４０４が選択されると、機能名入力部４０２および機器入力部４０３によって入力された機能名および機器のいずれかまたは両方を条件として、機能の検索が実行される。
【０１１６】
自動検索ボタン４０１、または通常検索ボタン４０４のいずれかを選択することによって実行された機能検索の結果は、検索結果画面４１０に機能一覧４１１として表示される。機能一覧４１１には、例えば検索結果の機能名が表示される。また、図示された例のように、機能一覧４１１には、検索結果の機能の評価が表示されてもよい。この場合、機能一覧４１１は、例えば評価の高い順にソートされてもよい。
【０１１７】
検索結果画面４１０で、ユーザが機能一覧４１１に表示された機能のうちのいずれかを選択した場合、記録開始画面４２０が表示される。ユーザが記録開始画面４２０に表示されたスタートボタン４２１を選択することで、手順の記録が開始される。
【０１１８】
本実施形態における手順の半自動登録では、スタートボタン４２１の選択後にユーザが実行した、例えば入力操作、ケーブルの接続、記録媒体の出し入れなど各種の操作ログ（ユーザが主体的に実行する操作だけでなく、その結果として機器が実行した動作を含むログであってもよい）が記録される。操作ログは、少なくともクライアント１０について記録される。また、連携される別の機器の中で、ネットワークを介してクライアント１０に接続されている機器があれば、その機器の操作ログを取得してもよい。
【０１１９】
手順の記録が開始されると、クライアント１０には記録中画面４３０が表示される。機器連携のための操作手順が終了し、ユーザが記録中画面４３０に表示されたストップボタン４３１を押下することで、手順の記録が終了する。
【０１２０】
図１０は、図９に示した処理のフローの例を示す図である。まず、クライアント１０で、メニュー画面３６０が表示される（ステップＳ３０１）。ここで、機能登録ボタン３６１が選択されると、登録方法選択画面３７０が表示される（ステップＳ３０３）。ここで、半自動ボタン３７２が選択されると、機能選択画面３８０が表示される（ステップＳ３０５）。さらに、既存機能選択ボタン３８１が選択されると、機能検索画面４００が表示される（ステップＳ３０７）。
【０１２１】
ここで、ユーザは、機能検索画面４００に表示された自動検索ボタン４０１を押下して、機能の検索を実行する。このとき、クライアント１０では、機器情報取得部１３が、クライアント１０の機器の型番を内部的に取得し、この情報をサーバ２０に送信する（ステップＳ３０９）。サーバ２０では、機器情報管理部２２が、受信した型番を用いてＤＢ２６に格納された機器情報を参照し、機器ＩＤを特定する（ステップＳ３１１）。
【０１２２】
さらに、機能情報管理部２３が、特定された機器ＩＤを用いてＤＢ２６に格納された機能情報を参照し、対象の機器を連携機器の１つとして用いて実行できる機能を検索する。より具体的には、機能情報管理部２３は、特定された機器ＩＤが“連携機器ＩＤ”として含まれる機能情報２３１を検索する。ここで、機能情報管理部２３は、“連携機器ＩＤ”が特定された機器ＩＤを含み、かつ、他の“連携機器ＩＤ”がユーザの登録機器である、つまり、ユーザが手持ちの機器で実現可能である機能を検索してもよい。検索された機能情報は、機能一覧としてクライアント１０に送信される（ステップＳ３１３）。
【０１２３】
機能一覧の情報を受信したクライアント１０では、機能一覧４１１を含む検索結果画面４１０を表示する（ステップＳ３１５）。ここで、ユーザがいずれかの機能を選択すると、スタートボタン４２１を含む記録開始画面４２０が表示される（ステップＳ３１７）。ユーザがスタートボタン４２１を選択すると、手順記録部１４が操作ログの記録を開始する（ステップＳ３１９）とともに、ストップボタン４３１を含む記録中画面４３０が表示される（ステップＳ３２１）。
【０１２４】
ユーザがストップボタン４３１を選択すると、手順記録部１４は操作ログの記録を終了し、記録された手順をサーバ２０に送信する（ステップＳ３２３）。サーバ２０では、手順情報管理部２４が、受信された手順の情報を機能ＤＢ２３０に登録する（ステップＳ３２５）。より具体的には、手順情報管理部２４は、クライアント１０で記録された手順に“手順ＩＤ”を付与するとともに、この“手順ＩＤ”を、対象となる機能の機能情報２３１にも設定する。また、機能情報管理部２３は、情報を送信したユーザのユーザＩＤを手順情報２３３の“登録ユーザＩＤ”に設定する。機能情報管理部２３は、ユーザによって記録された操作ログに従って、手順情報２３３の“手順”を記録する。
【０１２５】
ここで、図９の例のように、既存の機能について手順が登録される場合、同じ手順が既に機能ＤＢ２３０に登録されている可能性がある。そこで、手順情報管理部２４は、既存の機能について手順が登録された場合には、当該機能の機能情報２３１にある“手順ＩＤ”の情報を用いて手順情報２３３を検索し、重複する手順がないかチェックしてもよい。
【０１２６】
以上のような登録処理が終了すると、サーバ２０からクライアント１０に、登録完了が通知される（ステップＳ３２７）。登録完了の通知を受けたクライアント１０では、完了画面（図９には示していない）が表示される（ステップＳ２１５）。
【０１２７】
図１１は、本開示の一実施形態における手順登録処理（自動）の表示画面例を示す図である。手順登録処理を自動的に実行する場合、以下に説明するように、クライアント１０が自動的にユーザによる操作ログを取得してサーバ２０に送信するため、ユーザは特別な操作をしなくてもよい。
【０１２８】
まず、クライアント１０では、アプリケーションを初回起動した後（設定を変更した場合など、初回以外の場合もありうる）、アプリケーションが常駐起動を開始する（ステップＳ４０１）。なお、このようなアプリケーションの常駐起動を可能にするために、クライアント１０はマルチスレッドでアプリケーションを実行可能であることが望ましい。
【０１２９】
アプリケーションの常駐起動中、機器情報取得部１３は、定期的に、クライアント１０自身の型番を内部的に取得して（１回取得した後は記憶していてもよい）、サーバ２０に送信する。サーバ２０では、機器情報管理部２２が、受信した型番を用いてＤＢ２６に格納された機器情報を参照し、機器ＩＤを特定する（ステップＳ４０５）。
【０１３０】
さらに、機能情報管理部２３が、特定された機器ＩＤを用いてＤＢ２６に格納された機能情報を参照し、対象の機器を連携機器の１つとして用いて実行できる機能を検索する。検索された機能情報は、機能一覧としてクライアント１０に送信される（ステップＳ４０７）。なお、このステップでの処理は、図１０で説明したステップＳ３１３と同様であるため、詳細な説明は省略する。
【０１３１】
機能一覧の情報を受信したクライアント１０では、内部的に保持されている機能一覧が更新される（ステップＳ４０９）。機能一覧は、クライアント１０を連携機器の１つとして用いて実現可能な機能の情報であり、後述するステップＳ４１３での操作ログの解析に用いられる。
【０１３２】
一方、クライアント１０では、手順記録部１４が、ユーザによって実行される操作を継続的に記録している（ステップＳ４１１）。手順記録部１４は、記録されたユーザの操作ログを定期的に解析する（ステップＳ４１３）。
【０１３３】
ここで、手順記録部１４は、操作ログの中から、ステップＳ４０９で取得された機能一覧に含まれる機能の実行結果に対応する操作を検出する。例えば、モバイル機器からテレビに画像を転送する機能の場合、モバイル機器側では、画像を転送するための通信の実行が最後の操作であり、実行結果に対応する操作といえる。手順記録部１４は、この実行結果に対応する前の一連の操作ログから、機能実現のための操作の開始点を特定し、開始点から最後の操作までの操作を、機能のための操作手順を示す操作として抽出する。
【０１３４】
手順記録部１４は、解析の結果得られた、手順に対応する操作ログの情報を、サーバ２０に送信する（ステップＳ４１５）。サーバ２０では、手順情報管理部２４が、受信された手順の情報に新規な手順があった場合、この手順の情報を機能ＤＢ２３０に登録する（ステップＳ４１７）。このときの登録の処理は、図１０で説明したステップＳ３２５と同様であるため、詳細な説明は省略する。
【０１３５】
（４．手順実行処理）
次に、図１２および図１３を参照して、本開示の一実施形態における手順実行処理について説明する。
【０１３６】
上記の手順登録処理によって、システムには、機器連携によって機能を実現するための手順の情報が登録される。手順実行処理は、この手順の情報を利用して、実際に機器連携の設定を実行するための処理である。以下に例示したような処理によって、ユーザは、機器の製造者や他のユーザが登録した手順情報を参照し、適切に機器連携の設定を実行できる。あるいは、ユーザは、プログラムコードとして提供される手順情報を取得し、機器連携の設定を自動的に実行させることができる。
【０１３７】
図１２は、本開示の一実施形態における手順実行処理の表示画面例を示す図である。図示された例では、上記の図７の例と同様に、メニュー画面３６０が表示される。ここで、ユーザが機能閲覧／使用ボタン３６２を選択すると、手順実行処理が開始される。
【０１３８】
手順実行処理では、まず機器／機能選択画面４４０が表示される。機器／機能選択画面４４０には、機器選択部４４１と、機能選択部４４２とが表示される。機器選択部４４１は、例えば図示された例のように、機器の画像アイコンの中から対象の機能を選択するような入力表示でありうる。機器選択部４４１に選択肢として表示される機器は、例えばユーザの保有機器１００でありうる。ユーザが機器選択部４４１でいずれかの機器を選択すると、その機器について、機能選択画面４５０が表示される。
【０１３９】
一方、機能選択部４４２は、上記の他の例にあった機能一覧のような形で表示されうる。機能一覧として表示される機能は、例えば、ユーザのよく使う機能や、よく使う機器などの情報に基づいて推薦された機能でありうる。ユーザが機能選択部４４２でいずれかの機能を選択すると、その機能について、手順一覧画面４６０が表示される。
【０１４０】
機能選択画面４５０では、機器／機能選択画面４４０の機器選択部４４１で選択された機器について、その機器を連携機器の１つとして実現される機能一覧４５１が表示される。図示された例では、機器選択部４４１でテレビが選択されている。それゆえ、機能選択画面４５０では、テレビと他の機器との連携によって実現される機能が、機能一覧４５１として表示される。
【０１４１】
ここでは、テレビと携帯電話との連携機能一覧４５１ａと、テレビとレコーダとの連携機能一覧４５１ｂとが表示されている。選択された機器と連携する機器は、例えばユーザの保有機器１００から選択されうる。ユーザが機能一覧４５１からいずれかの機能を選択した場合、その機能について、手順一覧画面４６０が表示される。
【０１４２】
手順一覧画面４６０では、例えば、機能説明表示４６１と、自動実行ボタン４６２と、手順一覧表示４６３とが表示される。機能説明表示４６１は、手順一覧表示の対象になっている機能をユーザに示すための表示である。図示された例では、携帯電話からテレビにポストカードを送るポストカード機能が対象になっている。
【０１４３】
自動実行ボタン４６２は、対象になっている機能を機器連携によって実現するための手順を、他のユーザが登録した手順によって自動的に実行させるためのボタンである。上述のように、サーバ２０に格納される手順情報は、他のユーザが実行した手順を示す操作ログとして取得されうる。例えば、サーバ２０の手順情報管理部２４が操作ログをプログラムコードに変換して手順情報としてＤＢ２６に格納していれば、手順情報を用いてクライアント１０に手順を自動的に実行させることが可能である。
【０１４４】
なお、手順を自動的に実行させる場合、例えば転送する写真や動画などを選択するときや、ケーブルを接続するときなどのように、ユーザの直接的な操作が必要になることがある。この場合、手順の自動的な実行を一時的に中断し、写真や動画などの選択画面や、ユーザの操作を促す表示などをクライアント１０に表示してもよい。
【０１４５】
手順一覧表示４６３は、対象になっている機能を機器連携によって実現するための手順を表示する。ここで表示される手順は、例えば、テキストや、画像などによって表現されたものであり、ユーザはこの表示を見ながら、自らの手で手順を実行する。
【０１４６】
上記の自動実行ボタン４６２、および手順一覧表示４６３は、クライアント１０、およびユーザの他の登録機器によって実行可能な手順について表示される。そのような手順が複数ある場合、自動実行ボタン４６２や手順一覧表示４６３が複数表示されてもよい。この場合、ユーザは、複数表示された中からいずれかの手順を選択して実行する。手順の表示は、例えば、ユーザによる手順の評価が高い手順、類似した機能をよく使う他のユーザが実行している手順、または以前に実行して高い評価を与えた他の手順を登録したユーザが登録した手順、などが上位になるようにソートして表示されてもよい。
【０１４７】
図１３は、図１２に示した処理のフローの例を示す図である。なお、図では、クライアント１０でアプリケーションが起動され、機能選択画面（機器／機能選択画面４４０または機能選択画面４５０）が表示されるまでの処理は、上記の他の例から容易に理解されうるため省略されている。
【０１４８】
ユーザが、機能選択画面で何らかの機能を選択すると、クライアント１０は、サーバ２０に手順を問い合わせる（ステップＳ５０１）。この問い合わせには、選択された機能の機能ＩＤが含まれうる。サーバ２０では、機能情報管理部２３が、機能を実現するための手順を、機能ＩＤを用いて検索する（ステップＳ５０３）。より具体的には、機能情報管理部２３は、機能ＩＤに対応する機能情報２３１を抽出し、さらにそこに含まれる“手順ＩＤ”に対応する手順情報２３３を抽出する。
【０１４９】
サーバ２０は、検索された手順一覧の情報を、クライアント１０に送信する（ステップＳ５０５）。クライアント１０では、受信した手順一覧を表示する（ステップＳ５０７）。ここで、例えば、図１２に示した手順一覧画面４６０が表示され、ユーザが自動実行ボタン４６２を選択すると、手順実行部１５が選択された手順を実行する（ステップＳ５０９）。手順の実行が終了すると、手順が実行されたことが、クライアント１０からサーバ２０に通知される。
【０１５０】
サーバ２０では、ユーザ情報管理部２１が、手順の実行に対応する情報をユーザＤＢに記録する（ステップＳ５１３）。図２，３のユーザＤＢ２１０には示されていないが、ユーザＤＢは、各ユーザが登録した手順が、他のユーザによって実行された回数を示す値を含んでいてもよい。ユーザ情報管理部２１は、手順が実行された場合に、この値をインクリメントする。
【０１５１】
さらに、図１２には示していないが、手順の実行後に、実行した手順を評価する画面がクライアント１０に表示されてもよい。この画面において、ユーザが手順に対する評価を入力すると、クライアント１０は、この評価をサーバ２０に送信する（ステップＳ５１５）。サーバ２０では、ユーザ情報管理部２１が、上記の実行回数と同様に、評価の情報をユーザＤＢに記録するとともに、機能ＤＢにも評価の情報を記録する。図２，３のユーザＤＢ２１０には示されていないが、ユーザＤＢは、各ユーザが登録した手順が、他のユーザによって実行された時のそれらのユーザの評価を示す項目を含んでいてもよい。また、図３の機能ＤＢ２３０には示されていないが、機能ＤＢの手順情報２３３は、手順の評価を示す項目を含んでいてもよい。ユーザ情報管理部２１、および手順情報管理部２４は、手順に対する評価が送信された場合に、これらの項目を更新する。
【０１５２】
（５．ＳＮＳ連携処理）
上記のように、本開示の実施形態に係るシステムでは、ユーザが利用しているＳＮＳを介して、ユーザに機能に関する通知が送られうる。以下では、図１４を参照して、ＳＮＳを利用した通知の例について説明する。
【０１５３】
なお、以下の例では、機能のアップデート通知があった場合にユーザにＳＮＳを介した通知が送られているが、通知をする場合はこれには限られない。例えば、ユーザが新しい機器を登録した場合、ユーザが新しい機器を購入した場合（購入にあたってユーザ登録がされ、ユーザによる機器の購入が把握できる場合）、機能ＤＢ２３０などの各種ＤＢの内容が更新された場合、各機能の推薦条件（例えば、スマートフォンに写真が１００枚たまったら、レコーダで番組を１５本録画したら、録画した番組の再生を途中で止めたら、など）が満たされた場合、ユーザが保有する連携機能を有する機器が互いに接続された場合、機器のファームウェアやアプリケーションソフトウェアがアップデートされた場合、ＳＮＳ上でのユーザの友人が何らかの機能を使用した場合、などにも通知が送られうる。
【０１５４】
これによって、ユーザは、適切なタイミングで、ＳＮＳを介して連携機能に関する情報の通知を受けることができる。もちろん、同様の通知が、ＳＮＳ以外の他の方法でサーバ２０からクライアント１０に送信されてもよい。例えば、本開示の実施形態に係るクライアント１０のアプリケーションは、サーバ２０からのプッシュ型の通知を受信するように設定されていてもよい。
【０１５５】
図１４は、本開示の一実施形態におけるＳＮＳ連携の処理フローの例を示す図である。図示された例では、サーバ２０が、ユーザＤＢ２１０に外部サービス情報２１３として登録されているユーザのＳＮＳアカウント情報を利用して、機能のアップデート通知をユーザのＳＮＳアカウントに向けて送信する。
【０１５６】
まず、サーバ２０の機能情報管理部２３が、機能ＤＢ２３０のアップデートを発見する（ステップＳ６０１）。このとき、機能情報管理部２３は、アップデートされた機能を実現するのに用いられる機器ＩＤを検索する（ステップＳ６０３）。より具体的には、機能情報管理部２３は、アップデートされた機能情報２３１の“連携機器ＩＤ”を検索する。
【０１５７】
さらに、ユーザ情報管理部２１が、検索された機器ＩＤから、その機器を登録しているユーザを検索する（ステップＳ６０５）。より具体的には、ユーザ情報管理部２１は、登録機器情報２１１の“機器ＩＤ”を条件にしてユーザを検索する。さらに、ユーザ情報管理部２１は、検索されたユーザがＳＮＳのアカウントを保有しているか確認する（ステップＳ６０７）。より具体的には、ユーザ情報管理部２１は、ユーザの外部サービス情報２１３としてＳＮＳの情報が登録されているか確認する。
【０１５８】
ユーザがＳＮＳのアカウントを保有している場合、ユーザ情報管理部２１は、ユーザのＳＮＳアカウントに対して通知を送信する（ステップＳ６０９）。通知の形態は、ＳＮＳの種類によって様々でありうる。例えば、通知は、対象になるユーザ全員に対して一括して送信されるメッセージであってもよいし、個々のユーザに対してそれぞれ送信されるメッセージであってもよい。
【０１５９】
（６．連携機器の制御）
ここまでの説明では、クライアント１０が、機器連携によって提供される機能に関する情報を取得し、その情報を利用して連携する機器の設定を支援するための処理について説明した。ここで、対象になる機器連携は、必ずしも、クライアント１０を連携機器として含むものではなくてもよい。つまり、クライアント１０は、それ自身を含まない他の機器の連携のための設定を、例えばネットワークを介してそれらの機器を制御することによって代行する。ここでの機器の制御は、例えば、手順情報を参照したユーザの操作に基づいて実行されてもよいし、手順情報として取得されたプログラムコードを用いて自動的に実行されてもよい。
【０１６０】
例えば、図１５に示すように、クライアント１０（タブレット端末）は、レコーダ１００ｅとスマートフォン１００ｆとを制御して、これらの間で、例えばレコーダ１００ｅからスマートフォン１００ｆへの動画転送などの連携機能を実行させてもよい。この場合、例えば、それまでクライアント１０を使っていたユーザが、スマートフォン１００ｆに持ち替えることなく、連携機能を実行することができる。
【０１６１】
また、例えば、図１６に示すように、クライアント１０（タブレット端末）は、スピーカ１００ｇ、ＮＡＳ（Network  Attached  Storage）１００ｈ、および別のスピーカ１００ｉを制御して、これらの間での連携機能を変更してもよい。例えば、ＮＡＳ１００ｈの音楽コンテンツを再生するスピーカを、スピーカ１００ｇからスピーカ１００ｉに変更する場合、クライアント１０は、スピーカ１００ｇとＮＡＳ１００ｈとの接続を切断し、再生機能の実行をスピーカ１００ｉに移動する。各機器をそれぞれ操作して上記の切り替えを実行すると、例えば音楽コンテンツをどこまで再生したかという情報が失われてしまったりするが、クライアント１０が切り替えを制御することで、そのような情報を保ったまま再生機能の実行を継続することができる。
【０１６２】
図１７は、図１６の例におけるユーザインターフェースの例を示す図である。例えば、クライアント１０に表示されるユーザインターフェース（ＵＩ）は、制御対象の機器１００ｇ〜１００ｉを、リビングルームのＵＩ（実際のものであってもよいし、そうでなくてもよい）に画像アイコンとして表示したものである。このような表示によって、ユーザは、機器間の１対１の関係ではなく、俯瞰的な視点で連携機能を認識することができる。
【０１６３】
図１８は、図１７のユーザインターフェースにおいて、連携機能を一覧表示する例を示す図である。図示された例では、機器１００ｈ〜１００ｉに加えてテレビ１００ｊが表示されている。各機器を連携させることで実現される機能が、機器１００の間の線と、それぞれの線に対応する連携機能アイコン５０１として表示されている。ここでは、ＮＡＳ１００ｈとスピーカ１００ｇまたはスピーカ１００ｉとの連携機能として音楽コンテンツ再生のアイコン５０１ａが、ＮＡＳ１００ｈとテレビ１００ｊとの連携機能として映像コンテンツ再生のアイコン５０１ｂが、それぞれ表示されている。
【０１６４】
図１９は、図１７のユーザインターフェースにおいて、連携機能の切り替えを実行する例を示す図である。図示された例では、実行されている機能（ＮＡＳ１００ｈとスピーカ１００ｇとを用いた音楽コンテンツ再生）が、機器１００の間の実線とアイコンとによって表示されている。一方、実行されていないが実現可能な機能（ＮＡＳ１００ｈとスピーカ１００ｉとを用いた音楽コンテンツ再生、およびＮＡＳ１００ｈとテレビ１００ｊとを用いた映像コンテンツ再生）は、機器１００の間の破線によって表示されている。例えば、図１６の例のように、音楽コンテンツ再生のためのスピーカをスピーカ１００ｈからスピーカ１００ｉに変更する場合、ユーザがＮＡＳ１００ｈとスピーカ１００ｉとの間の線をタップすることによって、連携機能が切り替えられてもよい。
【０１６５】
上記の例のようなユーザインターフェースでは、この他にも、例えば各機器１００が選択された場合に、その機器によって実現可能な連携機能の詳細情報や、連携機能を実現するための手順などのナビゲーションの情報が表示されてもよい。
【０１６６】
（７．機能の評価と推薦）
本開示の一実施形態では、ユーザが連携機能を評価したり、連携機能に対してコメントを投稿したりすることによって機能を評価することが可能である。このようなユーザによる自発的な評価に加えて、例えば手順情報の自動取得の場合と同様にして、機器の操作履歴からユーザが機能を使ったことを検出し、その回数をカウントしてもよい。この場合、回数の多い機能を、人気のある機能として高く評価することもできる。
【０１６７】
例えば、評価の高い機能をユーザに対して推薦すれば、ユーザがどの連携機能を使うかについての指針を与えることができる。例えばユーザが機器を多く保有している場合、連携機能が多すぎてすべてを試す余裕がないといったようなことも考えられる。そのような場合に、システムによって機能が推薦されれば、ユーザが利用する連携機能を決定することが容易になり、ユーザが連携機能を使ってみるきっかけにもなる。
【０１６８】
さらに、推薦された機能に対して、ユーザがさらにフィードバックを与えることも可能である。例えば、図５に示したメニュー画面３１０で通知情報３１３として表示された推薦機能に対して、ユーザは、“今すぐやってみる”、“後でまた教える”、“もう教えない”といったフィードバックを返すことが可能である。“今すぐやってみる”というフィードバックが返された場合、そのまま連携機能の設定手順が表示されてもよい。“後でまた教える”の場合、所定の期間、その機能を推薦機能として通知することを抑制する。“もう教えない”の場合、以後その機能を推薦機能としては通知しない。
【０１６９】
本開示の実施形態における機能推薦の例について、以下にまとめる。
【０１７０】
例えば、サーバ２０は、連携機能について、ユーザによる実行回数がより多いものを推薦してもよい。また、サーバ２０は、連携機能について、ユーザの評価を取得し、評価がより高いものを推薦してもよい。実行回数は、例えば、機能ＤＢ２３０の機能情報２３１として記録され、機能情報管理部２３が、ユーザによる連携機能の実行が検出される度に実行回数をインクリメントする。ユーザによる連携機能の実行は、例えばクライアント１０で自動的に検出可能であるため、ユーザの別途の操作はなくてもよい。一方、ユーザの評価も、例えば機能ＤＢの機能情報２３１として記録され、機能情報管理部２３によって更新される。機能の評価は、ユーザが機能を実行した後などにクライアント１０に評価を入力したものが取得される。
【０１７１】
また、サーバ２０は、連携機能について、よく使用する機器または機能が類似している他のユーザが使用している機能を推薦してもよい。この推薦は、使用する機器や機能が類似しているユーザは、機能の使用傾向が類似しているという推定に基づく。
【０１７２】
さらに、本開示では、機能を実現するための機器が推薦されてもよい。例えば、サーバ２０は、よく使用する機器または機能が類似している他のユーザが保有している機器のうち、ユーザがまだ保有していない機器を推薦してもよい。また、サーバ２０は、ユーザがよく使用する機能に関連する、ユーザがまだ保有していない機器を推薦してもよい。また、サーバ２０は、より多くのユーザが新規に購入した機器や、より多くの連携機能に使用されている機器を推薦してもよい。
【０１７３】
例えば、より多くの連携機能に使用されている機器を推薦する場合、サーバ２０では、機能情報管理部２３が、機能ＤＢ２３０に格納された機能情報２３１の“連携機器ＩＤ”として記録されている機器ＩＤをカウントし、より多く“連携機器ＩＤ”として記録されている機器を推薦してもよい。さらに、このとき、各機能の使用回数が機能情報２３１として記録されていれば、カウントに使用回数が反映されてもよい。
【０１７４】
（８．ハードウェア構成）
次に、図２０を参照して、本開示の実施形態に係る情報処理装置のハードウェア構成について説明する。図２０は、情報処理装置のハードウェア構成を説明するためのブロック図である。図示された情報処理装置９００は、例えば、上記の実施形態におけるクライアント１０、およびサーバ２０を構成するサーバ装置を実現しうる。
【０１７５】
情報処理装置９００は、ＣＰＵ（Central  Processing  unit）９０１、ＲＯＭ（Read  Only  Memory）９０３、およびＲＡＭ（Random  Access  Memory）９０５を含む。また、情報処理装置９００は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。さらに、情報処理装置９００は、必要に応じて、撮像装置９３３、およびセンサ９３５を含んでもよい。情報処理装置９００は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Digital  Signal  Processor）などの処理回路を有してもよい。
【０１７６】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置９００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Peripheral  Component  Interconnect/Interface）バスなどの外部バス９１１に接続されている。
【０１７７】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置９００の操作に対応した携帯電話などの外部接続機器９２９であってもよい。入力装置９１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ９０１に出力する入力制御回路を含む。ユーザは、この入力装置９１５を操作することによって、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりする。
【０１７８】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置９１７は、例えば、ＬＣＤ（Liquid  Crystal  Display）、ＰＤＰ（Plasma  Display  Panel）、有機ＥＬ（Electro-Luminescence）ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置９１７は、情報処理装置９００の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。
【０１７９】
ストレージ装置９１９は、情報処理装置９００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Hard  Disk  Drive）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０１８０】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、情報処理装置９００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【０１８１】
接続ポート９２３は、機器を情報処理装置９００に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Universal  Serial  Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small  Computer  System  Interface）ポートなどでありうる。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（High-Definition  Multimedia  Interface）ポートなどであってもよい。接続ポート９２３に外部接続機器９２９を接続することで、情報処理装置９００と外部接続機器９２９との間で各種のデータが交換されうる。
【０１８２】
通信装置９２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Local  Area  Network）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Wireless  USB）用の通信カードなどでありうる。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Asymmetric  Digital  Subscriber  Line）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【０１８３】
撮像装置９３３は、例えば、ＣＣＤ（Charge  Coupled  Device）またはＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置９３３は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
【０１８４】
センサ９３５は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ９３５は、例えば情報処理装置９００の筐体の姿勢など、情報処理装置９００自体の状態に関する情報や、情報処理装置９００の周辺の明るさや騒音など、情報処理装置９００の周辺環境に関する情報を取得する。また、センサ９３５は、ＧＰＳ（Global  Positioning  System）信号を受信して装置の緯度、経度および高度を測定するＧＰＳセンサを含んでもよい。
【０１８５】
以上、情報処理装置９００のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
【０１８６】
（９．補足）
本開示の実施形態は、例えば、上記で説明したような情報処理装置（クライアントまたはサーバ）、システム、情報処理装置またはシステムで実行される情報処理方法、情報処理装置を機能させるためのプログラム、およびプログラムが記録された記録媒体を含みうる。
【０１８７】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１８８】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）互いに連携して機能を実現可能な機器のうちユーザが指定した機器と前記ユーザとを関連付けた登録機器情報をデータベースに登録するユーザ情報管理部と、
前記機能と前記機器とを関連付けた機能情報を前記データベースから取得し、前記機能情報と前記登録機器情報とに基づいて前記ユーザへの推薦機能を決定する推薦機能決定部と、
前記推薦機能のうち前記ユーザが選択した機能を実現するための操作手順を示す手順情報を前記データベースから取得し、前記手順情報を前記ユーザに提供する手順情報管理部と
を備える情報処理装置。
（２）前記手順情報管理部は、前記機能を使用した他のユーザが実行した前記操作手順を示す情報を取得して前記手順情報として前記データベースに登録する、前記（１）に記載の情報処理装置。
（３）前記手順情報管理部は、前記操作手順を説明する情報を前記手順情報として前記ユーザに提供する、前記（２）に記載の情報処理装置。
（４）前記手順情報管理部は、前記操作手順を前記機器に実行させるためのプログラムコードを前記手順情報として前記ユーザに提供する、前記（２）または（３）に記載の情報処理装置。
（５）前記手順情報管理部は、前記ユーザによる前記操作手順の使用回数を前記手順情報として登録し、前記使用回数がより多い前記操作手順に対応する前記手順情報を前記ユーザに提供する、前記（２）〜（４）のいずれか１項に記載の情報処理装置。
（６）
前記ユーザが指定した機器は、前記ユーザが保有していない機器を含む、前記（１）〜（５）のいずれか１項に記載の情報処理装置。
（７）前記推薦機能決定部は、前記データベースが更新されたときに前記推薦機能を決定する、前記（１）〜（６）のいずれか１項に記載の情報処理装置。
（８）前記推薦機能決定部は、前記登録機器情報が更新されたときに前記推薦機能を決定する、前記（７）に記載の情報処理装置。
（９）前記推薦機能決定部は、前記機能情報が更新されたときに前記推薦機能を決定する、前記（７）または（８）に記載の情報処理装置。
（１０）前記機能を使用したユーザによる前記機能の評価値を前記機能情報として登録する機能情報管理部をさらに備え、
前記推薦機能決定部は、前記機能に対応する前記評価値が所定の閾値を超えた場合に当該機能を前記推薦機能とする、前記（９）に記載の情報処理装置。
（１１）前記機能を前記ユーザが使用した回数を前記機能情報として登録する機能情報管理部をさらに備え、
前記推薦機能決定部は、前記機能に対応する前記回数が所定の閾値を超えた場合に当該機能を前記推薦機能とする、前記（９）または（１０）に記載の情報処理装置
（１２）前記ユーザ情報管理部は、前記ユーザが指定した機器のうち前記ユーザが保有する機器の状態を示す情報を取得し、
前記推薦機能決定部は、前記状態が前記機能情報に含まれる前記機能の推薦条件を満たす場合に当該機能を前記推薦機能とする、前記（１）〜（１１）のいずれか１項に記載の情報処理装置。
（１３）前記ユーザ情報管理部は、前記ユーザが利用しているソーシャルネットワークサービスのアカウント情報を取得し、
前記推薦機能決定部は、前記ソーシャルネットワークサービスにおける前記ユーザの友人が前記機能を使用した場合に当該機能を前記推薦機能とする、前記（１）〜（１２）のいずれか１項に記載の情報処理装置。
（１４）互いに連携して機能を実現可能な機器のうちユーザが指定した機器の情報を取得して、該情報を前記ユーザと関連付けた登録機器情報として登録するためにサーバに送信する機器情報取得部と、
前記機能と前記機器とを関連付けた機能情報と、前記登録機器情報とに基づいて決定される前記ユーザへの推薦機能のうち前記ユーザが選択した機能を実現するための操作手順を示す手順情報を受信する受信部と
を備える情報処理装置。
（１５）前記ユーザが前記機能を使用したときに実行した操作手順を示す情報を記録して前記サーバに送信する手順記録部をさらに備える、前記（１４）に記載の情報処理装置。
（１６）前記受信部は、前記機能を使用した他のユーザが実行した前記操作手順を説明する情報を前記手順情報として受信する、前記（１４）または（１５）に記載の情報処理装置。
（１７）前記操作手順をプログラムコードに従って自動的に前記機器に実行させる手順実行部をさらに備え、
前記受信部は、前記機能を使用した他のユーザが実行した前記操作手順を前記機器に実行させるための前記プログラムコードを前記手順情報として受信する、前記（１４）〜（１６）のいずれか１項に記載の情報処理装置。
（１８）前記機器情報取得部は、前記ユーザが指定した機器のうち前記ユーザが保有する機器の状態を示す情報を取得して前記サーバに送信し、
前記受信部は、前記状態が機能に対応する所定の推薦条件を満たす機能である前記推薦機能のうち前記ユーザが選択した機能についての前記手順情報を受信する、前記（１４）〜（１７）のいずれか１項に記載の情報処理装置。
（１９）前記ユーザが指定した機器は、前記ユーザが保有していない機器を含む、前記（１４）〜（１８）のいずれか１項に記載の情報処理装置。
（２０）互いに連携して機能を実現可能な機器のうちユーザが指定した機器と前記ユーザとを関連付けた登録機器情報をデータベースに登録することと、
前記機能と前記機器とを関連付けた機能情報を前記データベースから取得し、前記機能情報と前記登録機器情報とに基づいて前記ユーザへの推薦機能を決定することと、
前記推薦機能のうち前記ユーザが選択した機能を実現するための操作手順を示す手順情報を前記データベースから取得し、前記手順情報を前記ユーザに提供することと
を含む情報処理方法。
【符号の説明】
【０１８９】
１０    クライアント
１１    入出力部
１２    ユーザ情報取得部
１３    機器情報取得部
１４    手順記録部
１５    手順実行部
１６    通信部
２０    サーバ
２１    ユーザ情報管理部
２２    機器情報管理部
２３    機能情報管理部
２４    手順情報管理部
２５    推薦機能決定部
２６    ＤＢ
２７    通信部
【図１】
2014032501.tif 000003
【図２】
2014032501.tif 000004
【図３】
2014032501.tif 000005
【図４】
2014032501.tif 000006
【図５】
2014032501.tif 000007
【図６】
2014032501.tif 000008
【図７】
2014032501.tif 000009
【図８】
2014032501.tif 000010
【図９】
2014032501.tif 000011
【図１０】
2014032501.tif 000012
【図１１】
2014032501.tif 000013
【図１２】
2014032501.tif 000014
【図１３】
2014032501.tif 000015
【図１４】
2014032501.tif 000016
【図１５】
2014032501.tif 000017
【図１６】
2014032501.tif 000018
【図１７】
2014032501.tif 000019
【図１８】
2014032501.tif 000020
【図１９】
2014032501.tif 000021
【図２０】
2014032501.tif 000022