(57)【特許請求の範囲】
【請求項１】
複数の家電機器からなる第１の家電機器群を備え、サービスを提供する分散協調システムであって、
前記第１の家電機器群に含まれる各々の家電機器が有する１又は複数の機能モジュールと、前記１又は複数の機能モジュールの各々を実行する所要時間と、を示す家電機器情報リストを記憶する家電機器情報リスト記憶部と、
前記サービスの提供に実行される複数の機能モジュールと、前記複数の機能モジュールの実行順序と、を各々が示す複数のシナリオを示すサービス定義リストを記憶するサービス定義リスト記憶部と、
前記１又は複数の機能モジュールの内、前記第１の家電機器群に含まれる各々の家電機器が現在実行している機能モジュールを示す現在動作状況情報と、前記１又は複数の機能モジュールの内、前記第１の家電機器群に含まれる各々の家電機器が未来に実行する機能モジュールの予定を示す未来動作予定情報と、前記１又は複数の機能モジュールの内、前記第１の家電機器群に含まれる各々の家電機器が過去に実行した機能モジュールの履歴を示す動作履歴と、を記憶する動作記憶部と、
前記動作履歴に基づいて、前記第１の家電機器群に含まれる各々の家電機器が有する前記１又は複数の機能モジュールの各々が未来に実行する動作の発生確率を示す動作予測情報を生成する未来動作推定部と、
前記サービス定義リストに基づいて、前記第１の家電機器群から、前記複数の機能モジュールの何れかを有する複数の家電機器を特定し、前記特定された複数の家電機器の各々において、前記現在動作状況情報、前記未来動作予定情報及び前記動作予測情報に基づいて、前記特定された複数の家電機器の各々が有する前記１又は複数の機能モジュールが現在から未来に実行される実行計画を特定し、前記実行計画が妨げられないように、前記複数のシナリオの中から一つのシナリオを特定するとともに、前記実行計画が妨げられないように、前記第１の家電機器群から、前記一つのシナリオで示される前記複数の機能モジュールの何れかを有する複数の家電機器からなる第２の家電機器群を特定する機能モジュール選択部と、
前記一つのシナリオに基づいて、前記第２の家電機器群に、前記一つのシナリオで示される前記複数の機能モジュールを実行させるサービス制御部と、を備えること
を特徴とする分散協調システム。
【請求項２】
前記家電機器情報リストは、前記第１の家電機器群に含まれる各々の家電機器が有する前記一又は複数の機能モジュールの各々を実行する際の前記家電機器のＣＰＵ又はメモリの使用率をさらに示し、
前記機能モジュール選択部は、前記第１の家電機器群に含まれる各々の家電機器において、前記実行計画に含まれている前記１又は複数の機能モジュールを実行する際の前記使用率と、前記複数の機能モジュールの何れかを実行する際の前記使用率との時間毎の合計が第１の閾値を超えないように、前記一つのシナリオ及び前記第２の家電機器群を特定すること
を特徴とする請求項１に記載の分散協調システム。
【請求項３】
前記機能モジュール選択部は、前記合計が前記第１の閾値を超える場合には、前記一つのシナリオで示される前記複数の機能モジュールの少なくとも何れか一つを、前記第１の家電機器群の別の家電機器に実行させることで、前記合計が前記第１の閾値を超えないようにすること
を特徴とする請求項２に記載の分散協調システム。
【請求項４】
前記機能モジュール選択部は、前記合計が前記第１の閾値を超える場合には、前記１又は複数の機能モジュールの内、前記実行計画に含まれている機能モジュールを、前記第１の家電機器群に含まれる別の家電機器に実行させることで、前記合計が前記第１の閾値を超えないようにすること
を特徴とする請求項２に記載の分散協調システム。
【請求項５】
前記機能モジュール選択部は、前記発生確率が第２の閾値を超えた場合に、前記１又は複数の機能モジュールの内、対応する機能モジュールを前記実行計画に含めること
を特徴とする請求項１から４の何れか一項に記載の分散協調システム。
【請求項６】
前記第１の家電機器群に含まれる各々の家電機器が有する前記１又は複数の機能モジュールの内、現在実行されている機能モジュールを実行させた使用者を特定する第１の使用者特定部をさらに備え、
前記動作履歴は、前記１又は複数の機能モジュールの内、前記第１の家電機器群に含まれる各々の家電機器が過去に実行した少なくとも一つの機能モジュールと、前記少なくとも一つの機能モジュールを実行させた前記使用者とを示し、
前記未来動作推定部は、前記動作履歴に基づいて、前記使用者毎に、前記１又は複数の機能モジュールの各々の前記発生確率を特定するとともに、前記第１の使用者特定部が、前記第１の家電機器群に含まれる各々の家電機器が有する前記１又は複数の機能モジュールの内、現在実行されている機能モジュールを実行させた前記使用者を特定した場合には、前記１又は複数の機能モジュールの内、前記特定された使用者に対応する機能モジュールの前記発生確率を下げること
を特徴とする請求項５に記載の分散協調システム。
【請求項７】
前記複数の家電機器は、予め定められた範囲に設置されており、
前記予め定められた範囲にいる前記使用者を特定する第２の使用者特定部をさらに備え、
前記未来動作推定部は、前記１又は複数の機能モジュールの内、前記第２の使用者特定部で特定されていない前記使用者に対応する機能モジュールの前記発生確率を下げること
を特徴とする請求項６に記載の分散協調システム。
【請求項８】
複数の家電機器からなる第１の家電機器群及び機器行動監視装置を備え、サービスを提供する分散協調システムにおける前記機器行動監視装置であって、
前記第１の家電機器群に含まれる各々の家電機器が有する１又は複数の機能モジュール及び前記１又は複数の機能モジュールの各々を実行する所要時間の情報を含む家電機器情報リストを記憶する家電機器情報リスト記憶部と、
前記第１の家電機器群に含まれる各々の家電機器から出力される、前記１又は複数の機能モジュールの内、現在実行している機能モジュールを示す現在動作状況情報、前記１又は複数の機能モジュールの内、未来に実行する機能モジュールの予定を示す未来動作予定情報、及び、前記１又は複数の機能モジュールの内、過去に実行した機能モジュールの履歴を示す動作履歴、を記憶する動作記憶部と、
前記動作履歴に基づいて、前記第１の家電機器群に含まれる各々の家電機器が有する前記１又は複数の機能モジュールの各々が未来に実行する動作の発生確率を示す動作予測情報を生成する未来動作推定部と、
前記第１の家電機器群に含まれる一の家電機器から、前記サービスの提供に実行される複数の機能モジュールと、前記複数の機能モジュールの実行順序と、を各々が示す複数のシナリオを示すサービス定義リストを取得して、前記サービス定義リストに基づいて、前記第１の家電機器群から、前記複数の機能モジュールの何れかを有する複数の家電機器を特定し、前記特定された複数の家電機器の各々において、前記現在動作状況情報、前記未来動作予定情報及び前記動作予測情報に基づいて、前記特定された複数の家電機器の各々が有する前記１又は複数の機能モジュールが現在から未来に実行される実行計画を特定し、前記実行計画が妨げられないように、前記複数のシナリオの中から一つのシナリオを特定するとともに、前記実行計画が妨げられないように、前記第１の家電機器群から、前記一つのシナリオで示される前記複数の機能モジュールの何れかを有する複数の家電機器からなる第２の家電機器群を特定し、前記一の家電機器に、前記一つのシナリオに基づいて、前記第２の家電機器群に、前記一つのシナリオで示される前記複数の機能モジュールを実行させる制御を行わせる機能モジュール選択部と、を備えること
を特徴とする機器行動監視装置。
【請求項９】
複数の家電機器からなる第１の家電機器群及び機器行動監視装置を備え、サービスを提供する分散協調システムにおける前記複数の家電機器に含まれ、１又は複数の機能モジュールを有する家電機器であって、
前記サービスの提供に実行される複数の機能モジュールと、前記複数の機能モジュールの実行順序と、を各々が示す複数のシナリオを示すサービス定義リストを記憶するサービス定義リスト記憶部と、
サービス制御部と、
前記１又は複数の機能モジュールの内、現在実行している機能モジュールを示す現在動作状況情報、前記１又は複数の機能モジュールの内、未来に実行する機能モジュールの予定を示す未来動作予定情報、及び、前記１又は複数の機能モジュールの内、過去に実行した機能モジュールの履歴を示す動作履歴、を前記機器行動監視装置へ出力する通信部と、を備え、
前記通信部は、前記第１の家電機器群及び前記機器行動監視装置の何れかから、前記複数のシナリオの中から特定された一のシナリオと、前記第１の家電機器群の中で前記一のシナリオで示される前記複数の機能モジュールの何れかを備える複数の家電機器からなる第２の家電機器群と、を示す情報を受信し、
前記サービス制御部は、前記一のシナリオに基づいて、前記一のシナリオで示される前記複数の機能モジュールを前記第２の家電機器群に実行させること
を特徴とする家電機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散協調システム、機器行動監視装置及び家電機器に関する。
【背景技術】
【０００２】
近年のＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）化に伴い、家電機器のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及び通信機能の性能が向上している。そして、それぞれの家電機器が自身の持つデータを送受信し、室内に設置されたシステムコントローラがサービスを提供するような家電機器連携システムが導入されている。【０００３】
さらに先述のシステムにおいて、システム中枢としてサービスを提供するシステムコントローラの様な機器が存在せず、システムコントローラが持っていたサービスを、複数の家電機器間が持つ機能モジュール同士を連携することで実現できるような、家電機器分散協調システムへの期待が高まっている。【０００４】
例えば、特許文献１は、ネットワークを介して接続された情報処理装置が持つ機能モジュールを組み合わせて実現される協調分散サービスを実行する協調分散システムを開示している。特許文献１に記載された協調分散システムは、複数の情報処理装置に組み込まれている機能モジュールを動的に選択し、組み合わせることを特徴としている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２５２５５７号公報（１１頁、図２）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載された協調分散システムでは、情報処理装置が本来の機能を果たしたい時に、協調分散システムのサービスに必要な機能モジュールが実行されている場合に、情報処理装置が本来の機能を実行できない、又は、機能モジュールの実行を止めるためには、分散の再構築をする必要が生じるという問題があった。【０００７】
そこで、本発明は、家電機器の本来の動作を優先する条件下で適切な家電機器の機能モジュールが選択でき、その結果サービスを滞りなく実行できる協調分散システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る分散協調システムは、複数の家電機器からなる第１の家電機器群を備え、サービスを提供する分散協調システムであって、前記第１の家電機器群に含まれる各々の家電機器が有する１又は複数の機能モジュールと、前記１又は複数の機能モジュールの各々を実行する所要時間と、を示す家電機器情報リストを記憶する家電機器情報リスト記憶部と、前記サービスの提供に実行される複数の機能モジュールと、前記複数の機能モジュールの実行順序と、を各々が示す複数のシナリオを示すサービス定義リストを記憶するサービス定義リスト記憶部と、前記１又は複数の機能モジュールの内、前記第１の家電機器群に含まれる各々の家電機器が現在実行している機能モジュールを示す現在動作状況情報と、前記１又は複数の機能モジュールの内、前記第１の家電機器群に含まれる各々の家電機器が未来に実行する機能モジュールの予定を示す未来動作予定情報と、前記１又は複数の機能モジュールの内、前記第１の家電機器群に含まれる各々の家電機器が過去に実行した機能モジュールの履歴を示す動作履歴と、を記憶する動作記憶部と、前記動作履歴に基づいて、前記第１の家電機器群に含まれる各々の家電機器が有する前記１又は複数の機能モジュールの各々が未来に実行する動作の発生確率を示す動作予測情報を生成する未来動作推定部と、前記サービス定義リストに基づいて、前記第１の家電機器群から、前記複数の機能モジュールの何れかを有する複数の家電機器を特定し、前記特定された複数の家電機器の各々において、前記現在動作状況情報、前記未来動作予定情報及び前記動作予測情報に基づいて、前記特定された複数の家電機器の各々が有する前記１又は複数の機能モジュールが現在から未来に実行される実行計画を特定し、前記実行計画が妨げられないように、前記複数のシナリオの中から一つのシナリオを特定するとともに、前記実行計画が妨げられないように、前記第１の家電機器群から、前記一つのシナリオで示される前記複数の機能モジュールの何れかを有する複数の家電機器からなる第２の家電機器群を特定する機能モジュール選択部と、前記一つのシナリオに基づいて、前記第２の家電機器群に、前記一つのシナリオで示される前記複数の機能モジュールを実行させるサービス制御部と、を備えることを特徴とする。【０００９】
本発明の一態様に係る機器行動監視装置は、複数の家電機器からなる第１の家電機器群及び機器行動監視装置を備え、サービスを提供する分散協調システムにおける前記機器行動監視装置であって、前記第１の家電機器群に含まれる各々の家電機器が有する１又は複数の機能モジュール及び前記１又は複数の機能モジュールの各々を実行する所要時間の情報を含む家電機器情報リストを記憶する家電機器情報リスト記憶部と、前記第１の家電機器群に含まれる各々の家電機器から出力される、前記１又は複数の機能モジュールの内、現在実行している機能モジュールを示す現在動作状況情報、前記１又は複数の機能モジュールの内、未来に実行する機能モジュールの予定を示す未来動作予定情報、及び、前記１又は複数の機能モジュールの内、過去に実行した機能モジュールの履歴を示す動作履歴、を記憶する動作記憶部と、前記動作履歴に基づいて、前記第１の家電機器群に含まれる各々の家電機器が有する前記１又は複数の機能モジュールの各々が未来に実行する動作の発生確率を示す動作予測情報を生成する未来動作推定部と、前記第１の家電機器群に含まれる一の家電機器から、前記サービスの提供に実行される複数の機能モジュールと、前記複数の機能モジュールの実行順序と、を各々が示す複数のシナリオを示すサービス定義リストを取得して、前記サービス定義リストに基づいて、前記第１の家電機器群から、前記複数の機能モジュールの何れかを有する複数の家電機器を特定し、前記特定された複数の家電機器の各々において、前記現在動作状況情報、前記未来動作予定情報及び前記動作予測情報に基づいて、前記特定された複数の家電機器の各々が有する前記１又は複数の機能モジュールが現在から未来に実行される実行計画を特定し、前記実行計画が妨げられないように、前記複数のシナリオの中から一つのシナリオを特定するとともに、前記実行計画が妨げられないように、前記第１の家電機器群から、前記一つのシナリオで示される前記複数の機能モジュールの何れかを有する複数の家電機器からなる第２の家電機器群を特定し、前記一の家電機器に、前記一つのシナリオに基づいて、前記第２の家電機器群に、前記一つのシナリオで示される前記複数の機能モジュールを実行させる制御を行わせる機能モジュール選択部と、を備えることを特徴とする。【００１０】
本発明の一態様に係る家電機器は、複数の家電機器からなる第１の家電機器群及び機器行動監視装置を備え、サービスを提供する分散協調システムにおける前記複数の家電機器に含まれ、１又は複数の機能モジュールを有する家電機器であって、前記サービスの提供に実行される複数の機能モジュールと、前記複数の機能モジュールの実行順序と、を各々が示す複数のシナリオを示すサービス定義リストを記憶するサービス定義リスト記憶部と、サービス制御部と、前記１又は複数の機能モジュールの内、現在実行している機能モジュールを示す現在動作状況情報、前記１又は複数の機能モジュールの内、未来に実行する機能モジュールの予定を示す未来動作予定情報、及び、前記１又は複数の機能モジュールの内、過去に実行した機能モジュールの履歴を示す動作履歴、を前記機器行動監視装置へ出力する通信部と、を備え、前記通信部は、前記第１の家電機器群及び前記機器行動監視装置の何れかから、前記複数のシナリオの中から特定された一のシナリオと、前記第１の家電機器群の中で前記一のシナリオで示される前記複数の機能モジュールの何れかを備える複数の家電機器からなる第２の家電機器群と、を示す情報を受信し、前記サービス制御部は、前記一のシナリオに基づいて、前記一のシナリオで示される前記複数の機能モジュールを前記第２の家電機器群に実行させることを特徴とする。
【発明の効果】
【００１１】
本発明の一態様によれば、家電機器の本来の動作を優先する条件下で適切な家電機器の機能モジュールが選択でき、その結果サービスを滞りなく実行できる協調分散システムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１に係る分散協調システムの構成を示す概要図である。
【図２】実施の形態１及び２における家電機器の第１の構成例を概略的に示すブロック図である。
【図３】実施の形態１及び２における家電機器の第２の構成例を概略的に示すブロック図である。
【図４】実施の形態１における家電機器がテレビである場合における家電機器情報リストの一例を示す概略図である。
【図５】実施の形態１における家電機器がエアコンである場合における家電機器情報リストの一例を示す概略図である。
【図６】実施の形態１における家電機器が冷蔵庫である場合におけるサービス定義リストの一例を示す概略図である。
【図７】実施の形態１における家電機器がテレビである場合におけるサービス定義リストの一例を示す概略図である。
【図８】（Ａ）及び（Ｂ）は、ハードウェア構成例を示す概略図である。
【図９】実施の形態１における機器行動監視部の構成を示す概要図である。
【図１０】実施の形態１における具体例１の分散協調の構成を示す概要図である。
【図１１】実施の形態１における具体例１の冷蔵庫の構成を概略的に示すブロック図である。
【図１２】実施の形態１における具体例１のテレビの構成を概略的に示すブロック図である。
【図１３】実施の形態１における具体例１のスマートフォンの構成を概略的に示すブロック図である。
【図１４】実施の形態１における具体例１の冷蔵庫の家電機器情報リストを示す概略図である。
【図１５】実施の形態１における具体例１のテレビの家電機器情報リストを示す概略図である。
【図１６】実施の形態１における具体例１のスマートフォンの家電機器情報リストを示す概略図である。
【図１７】実施の形態１における具体例１の動作コストの時間変動の第１の例を示す概略図である。
【図１８】実施の形態１における具体例１の動作コストの時間変動の第２の例を示す概略図である。
【図１９】実施の形態１における具体例１の動作コストの時間変動の第３の例を示す概略図である。
【図２０】実施の形態１における具体例２の分散協調システムの構成を示す概要図である。
【図２１】実施の形態１における具体例２の第１のテレビの構成を概略的に示すブロック図である。
【図２２】実施の形態１における具体例２の第２のテレビの構成を概略的に示すブロック図である。
【図２３】実施の形態１における具体例２のデジタルカメラの構成を概略的に示すブロック図である。
【図２４】実施の形態１における具体例２のプリンタの構成を概略的に示すブロック図である。
【図２５】実施の形態１における具体例２のテレビの家電機器情報リストを示す概略図である。
【図２６】実施の形態１における具体例２の動作コストの時間変動の第１の例を示す概略図である。
【図２７】実施の形態１における具体例２の動作コストの時間変動の第２の例を示す概略図である。
【図２８】実施の形態２に係る分散協調システムの構成を示す概要図である。
【図２９】実施の形態２における機器行動監視部の構成を示す概要図である。
【図３０】実施の形態３における機器行動監視部の構成を示す概要図である。
【図３１】実施の形態４に係る分散協調システムの構成を示す概要図である。
【図３２】実施の形態４における家電機器の第１の構成例を概略的に示すブロック図である。
【図３３】実施の形態４における家電機器の第２の構成例を概略的に示すブロック図である。
【発明を実施するための形態】
【００１３】
実施の形態１．
図１は、実施の形態１に係る分散協調システム１００の構成を示す概要図である。
分散協調システム１００は、複数の家電機器１１０Ａ、１１０Ｂ、１１０Ｃと、機器行動監視部として機能する機器行動監視装置１３０とを備える。
家電機器１１０Ａ、１１０Ｂ、１１０Ｃ及び機器行動監視装置１３０は、ネットワークとしてのインターネット１５０に接続されている。
【００１４】
なお、図１では、３つの家電機器１１０Ａ、１１０Ｂ、１１０Ｃが示されているが、その数については、３つに限定されるものではない。また、家電機器１１０Ａ、１１０Ｂ、１１０Ｃの各々を特に区別する必要がない場合には、家電機器１１０という。
分散協調システム１００は、複数の家電機器１１０を備え、サービスを提供する。ここで、分散協調システム１００に備えられている複数の家電機器１１０を第１の家電機器群ともいう。
【００１５】
インターネット１５０における通信方式は、有線と無線とを問わない。通信方式が無線である場合、例えば、Ｗｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ；登録商標）方式、Ｂｌｕｅｔｏｏｔｈ（登録商標）方式、Ｗｉ−ＳＵＮ（Ｗｉｒｅｌｅｓｓ  Ｓｍａｒｔ  Ｕｔｉｌｉｔｙ  Ｎｅｔｗｏｒｋ；登録商標）方式等が挙げられる。
【００１６】
機器行動監視装置１３０は、家電機器１１０がインターネット１５０を経由してアクセス可能であるならばどこに存在してもよく、クラウド等のコンピューティングシステムとして提供されていてもよい。また、分散協調システム１００を構成する任意の家電機器１１０、例えば家電機器１１０Ａの機能の一つとして搭載されてもよい。
【００１７】
図２は、家電機器１１０の第１の構成例を概略的に示すブロック図である。
図２に示されている家電機器１１０−１は、通信部１１１と、自機器情報リスト記憶部１１２と、サービス定義リスト記憶部１１３と、サービス制御部１１４と、サービスデータ記憶部１１５と、通信処理部１１６と、機能モジュール１２０とを備える。
【００１８】
図３は、家電機器１１０の第２の構成例を概略的に示すブロック図である。
図３に示されている家電機器１１０−２は、通信部１１１と、自機器情報リスト記憶部１１２と、通信処理部１１６と、機能モジュール１２０とを備える。
図３に示されている部分の内、図２に示されている部分と同様の部分については、図２と同じ符号が付されている。
【００１９】
分散協調システム１００は、図３に示されているように、サービスに関する機能を有さない家電機器１１０−２を含んでいてもよいし、含んでいなくてもよい。但し、分散協調システム１００は、図２に示されているように、少なくとも１つ、サービスに関する機能を有する家電機器１１０−１を含むものとする。
ここで、サービスは、複数の家電機器１１０が協調して動作することで、家電機器１１０の利用者に効果をもたらすことである。
【００２０】
通信部１１１は、インターネット１５０に接続する機能を有する。例えば、通信部１１１は、他の家電機器１１０又は機器行動監視装置１３０と通信する。
【００２１】
自機器情報リスト記憶部１１２は、自機器である家電機器１１０の機能モジュール１２０、自機器である家電機器１１０の機能モジュール１２０を実行する際の家電機器１１０のＣＰＵ又はメモリの使用率である動作コスト及び自機器である家電機器１１０の機能モジュール１２０を実行する時間である所要時間を示す家電機器情報リストを記憶する。家電機器情報リストには、自機器である家電機器１１０のＣＰＵ、メモリ及びコア数を含む機器性能に関する情報が含まれていてもよい。
【００２２】
図４は、家電機器１１０がテレビである場合における家電機器情報リストの一例を示す概略図である。
図４に示されているように、家電機器情報リスト１１２−１は、機能モジュール１２０の名称と、動作コストと、所要時間とを含む。
図４において所要時間が操作依存となっている場合には、その時間は、操作に依存して決定される。例えば、その時間は、「録画時間」という未来の動作予定時刻から取得できる時間である。具体的には、２時間番組の録画予約の所要時間は、２ｈｏｕｒｓである。
図５は、家電機器１１０がエアコンである場合における家電機器情報リストの一例を示す概略図である。
図５に示されているように、家電機器情報リスト１１２−２も、機能モジュール１２０の名称と、動作コストと、所要時間とを含む。
【００２３】
ここで、動作コストの計算は、例えば、機能モジュール１２０の実行時のＣＰＵの使用率又はメモリの使用率の最大値をとってもよいし、両者のうち大きい方の値を使用してもよい。さらに、自機器情報リスト記憶部１１２は、各機能モジュール１２０につき、２つ以上の値をもっていてもよい。
本実施の形態の例では、動作コストは１００を超えてはならないものとする。なお、動作コストとして複数の値が定義されている場合には、それぞれの動作コストの値に基づく動作コストの合計値が１００を超えてはならないものとする。
【００２４】
サービス定義リスト記憶部１１３は、自機器である家電機器１１０が持つサービスの名称と、自機器である家電機器１１０が持つサービスの提供に実行される複数の機能モジュール１２０と、この複数の機能モジュール１２０の実行順序と、を示すシナリオを示すサービス定義リストを記憶する。
【００２５】
図６は、家電機器１１０が冷蔵庫である場合におけるサービス定義リストの一例を示す概略図である。
図６に示されているサービス定義リスト１１３−１は、「テレビ視聴情報利用レシピレコメンド」のサービスを提供するために必要な機能モジュール１２０と、機能モジュール１２０を有する家電機器１１０の連携とが、そのサービスを提供するためのシナリオ毎に定義されている。
なお、サービスに必要な機能モジュール１２０は、自機器である家電機器１１０が持っている機能モジュール１２０でもよいし、分散協調システム１００に含まれる他の家電機器１１０が持っていると予想される機能モジュール１２０でもよい。
【００２６】
図７は、家電機器１１０がテレビである場合におけるサービス定義リストの一例を示す概略図である。
図７に示されているサービス定義リスト１１３−２は、「デジタルカメラ画像編集及び印刷」のサービスを提供するために必要な機能モジュール１２０と、機能モジュール１２０を有する家電機器１１０の連携とが、そのサービスを提供するためのシナリオ毎に定義されている。
【００２７】
サービス制御部１１４は、分散協調システム１００のユーザ又は分散協調システム１００に含まれる家電機器１１０が、自機器である家電機器１１０のサービスを呼び出した場合に、サービスを起動する。
サービス制御部１１４は、サービスを起動すると、自機器である家電機器１１０のサービス定義リスト記憶部１１３に記憶されているサービス定義リストに基づいて、起動されたサービスに必要な機能モジュール１２０を持つ家電機器１１０の探索を、通信部１１１を通じて行う。例えば、サービス制御部１１４は、機器行動監視装置１３０に起動されたサービスのサービス定義リストを渡すことで、起動されたサービスで採用するシナリオと、そのシナリオにおいて、機能モジュール１２０を実行する家電機器１１０とを示す情報を取得する。
ここで、機能モジュール１２０を実行することのできる家電機器１１０が複数ある場合には、機器行動監視装置１３０から取得される情報には、複数の家電機器１１０における機能モジュール１２０を実行する優先度を示す実行優先度が含まれているものとする。
【００２８】
そして、サービス制御部１１４は、取得された情報で示されるシナリオに従い、取得された情報で示される家電機器１１０の機能モジュール１２０を実行する。なお、取得された情報で複数の家電機器１１０が示されている場合には、サービス制御部１１４は、取得された情報に含まれている実行優先度に従って、機能モジュール１２０を実行させる家電機器１１０を選択する。例えば、サービス制御部１１４は、実行優先度に従って、機能モジュール１２０を実行させたところ、エラー等が生じて、必要な出力データを得ることができない場合には、次の実行優先度を有する家電機器１１０を選択して、機能モジュール１２０を実行させる。
さらに、サービス制御部１１４は、サービスデータ記憶部１１５に保存されたデータを各機能モジュール１２０の入力データとして通信部１１１から送り、また、通信部１１１にて受信された、各機能モジュール１２０の出力データをサービスデータ記憶部１１５に保存する。
【００２９】
サービスデータ記憶部１１５は、サービス制御部１１４が起動したサービスの出力データ及び機能モジュール１２０の出力データを保存する。例えば、起動されたサービスの出力が数値データやグラフである場合、サービスデータ記憶部１１５は、機能モジュール１２０として表示部を持つ家電機器１１０で表示するためのデータを記憶する。また、例えば、起動されたサービスの出力が家電機器１１０の機能モジュールの操作を実行するという命令である場合、サービスデータ記憶部１１５は、指定の家電機器１１０の機能モジュール１２０を実行するためのデータを記憶する。
【００３０】
通信処理部１１６は、インターネット１５０との接続が開始された際に、通信部１１１を介して、自機器情報リスト記憶部１１２に記憶されている家電機器情報リストを機器行動監視装置１３０に送る。
また、通信処理部１１６は、通信部１１１を介して、機器行動監視装置１３０からの、現在の動作状況の取得要求を受け取り、この要求に応じて、自機器である家電機器１１０の現在の動作状況を示す動作状況情報を、通信部１１１を介して、機器行動監視装置１３０に送る。
さらに、通信処理部１１６は、通信部１１１を介して、機器行動監視装置１３０からの、未来の動作予定の取得要求を受け取り、この要求に応じて、自機器である家電機器１１０の未来の動作予定を示す未来動作予定情報を、通信部１１１を介して、機器行動監視装置１３０に送る。
【００３１】
機能モジュール１２０は、自機器である家電機器１１０の機能を果たすモジュールであって、家電機器１１０内に少なくとも１つ以上存在する。
また、機能モジュール１２０は、分散協調システム１００のある家電機器１１０が保有するサービスを実行する際に、サービスを保有する家電機器１１０のサービス制御部１１４からの命令をトリガに起動する。このとき機能モジュール１２０は、モジュールの入力データを、サービスを保有する家電機器１１０のサービス制御部１１４から受け取り、モジュールの出力データを、サービスを保有する家電機器１１０に送信するものとする。なお、機能モジュール１２０は、モジュールの入力データを、サービスを保有する家電機器１１０のサービス制御部１１４が直前に起動した家電機器１１０（第２の家電機器１１０ともいう）の機能モジュール１２０から受け取り、モジュールの出力データを、自機器である家電機器１１０のサービス制御部１１４が直後に起動する家電機器１１０（第３の家電機器１１０ともいう）の機能モジュール１２０へと送ってもよい。このとき、サービスを保有する家電機器１１０、第２の家電機器１１０、自機器である家電機器１１０及び第３の家電機器１１０は、同一の家電機器１１０でも構わないし、別の家電機器１１０でも構わない。
【００３２】
以上に記載されたサービス制御部１１４及び機能モジュール１２０の一部又は全部は、例えば、図８（Ａ）に示されているように、メモリ１０と、メモリ１０に格納されているプログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサ１１とにより構成することができる。このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。
なお、以上に記載された自機器情報リスト記憶部１１２、サービス定義リスト記憶部１１３及びサービスデータ記憶部１１５は、メモリ１０により構成することができる。
また、通信部１１１は、ＮＩＣ（Ｎｅｔｏｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等の通信装置により構成することができる。
【００３３】
また、サービス制御部１１４及び機能モジュール１２０の一部又は全部は、例えば、図８（Ｂ）に示されているように、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ）又はＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の処理回路１２で構成することもできる。
【００３４】
次に、機器行動監視装置１３０について説明する。
機器行動監視装置１３０は、家電機器１１０の動作情報を収集し、実行計画を推定する。動作情報とは、現在の動作状況、未来の動作予定及び未来の動作予測の３つの情報で構成される。実行計画とは、家電機器１１０が本来行う動作及びサービスに必要な動作において、機能モジュール１２０を実行する計画である。
【００３５】
なお、各家電機器１１０がどのような機能を実行しているかを監視する際の通信プロトコルの例として、ＥＣＨＯＮＥＴ  Ｌｉｔｅ（商標登録）が挙げられるが、他のプロトコルであってもよい。
【００３６】
現在の動作状況は、分散協調システム１００の各家電機器１１０の現時刻での各機能モジュール１２０の動作状況を表す。機能モジュール１２０の動作状況は、具体的には、各機能モジュール１２０が実行されているか否かを示し、動作中の各機能モジュール１２０のＣＰＵの使用率、メモリ使用率又は通信量を含んでもよい。
【００３７】
未来の動作予定は、分散協調システム１００の各家電機器１１０のタイマー予約動作を含む、現時刻以降の機能モジュール１２０の動作予定を表す。機能モジュール１２０の動作予定は、具体的には、未来において実行される機能モジュール１２０の予定を示し、この予定には、機能モジュール１２０を実行する時刻が含まれる。
【００３８】
未来の動作予測は、分散協調システム１００の各家電機器１１０の現時刻以降の動作を予測した結果を表す。各機能モジュール１２０の動作の予測を行う方法は、例えば、過去に「現在の動作状況」及び「未来の動作予定」を動作履歴として蓄積してきた各家電機器１１０の情報を入力とする機械学習器を用いる方法が想定できるが、他の方法で実行してもよい。また、機械学習器を使用する場合は、サポートベクタマシン、隠れマルコフモデル、ディープラーニングといった手法が考えられるが、他の学習器を利用してもよい。また、未来の動作予測として得られる情報は、機器名、各機能モジュール１２０が未来に実行する動作の発生条件、周期（頻度）、時刻、動作モード（機能）、継続時間及び発生確率（可能性）がそろっていることが望ましい。例えば、未来の動作予測は、「平日は」「毎日」「７時」に「洗濯機」を「すすぎ一回モードで」「４０分間」動作させる可能性が「９０％」、及び、「無条件に」「毎週火曜」「１９時」から「テレビ」において「テレビ番組の視聴」を「２時間」行う可能性が「７５％」という情報であることが望ましい。
【００３９】
図９は、実施の形態１における機器行動監視装置１３０の構成を示す概要図である。
機器行動監視装置１３０は、通信部１３１と、現在動作状況取得部１３２と、未来動作予定取得部１３３と、動作記憶部１３４と、未来動作推定部１３５と、機能モジュール選択部１３６と、家電機器情報リスト記憶部１３７とを備える。
【００４０】
通信部１３１は、インターネット１５０に接続する機能を有する。例えば、通信部１３１は、家電機器１１０と通信する。
【００４１】
現在動作状況取得部１３２は、通信部１３１を介して、一定時間毎に各家電機器１１０の現在の動作状況を示す現在動作状況情報を収集し、動作記憶部１３４に記憶する機能を持つ。
【００４２】
未来動作予定取得部１３３は、通信部１３１を介して、一定時間毎に各家電機器１１０の未来の動作予定を示す未来動作予定情報を収集し、動作記憶部１３４に記憶する機能を持つ。
【００４３】
動作記憶部１３４は、現在動作状況取得部１３２で取得された現在動作状況情報、未来動作予定取得部１３３で取得された未来動作予定情報、及び、未来動作推定部１３５で推定された動作予測情報を、動作情報として記憶する。
また、動作記憶部１３４は、未来動作推定部１３５の要求に応じて、現在動作状況取得部１３２で取得された現在動作状況情報及び未来動作予定取得部１３３で取得された未来動作予定情報を未来動作推定部１３５に与える。
なお、現在動作状況情報及び未来動作予定情報は、対応する機能モジュール１２０の実行後に、過去に実行した機能モジュールの履歴を示す動作履歴として動作記憶部１３４に記憶される。
【００４４】
未来動作推定部１３５は、現在動作状況取得部１３２で取得された現在動作状況情報及び未来動作予定取得部１３３で取得された未来動作予定情報を入力とし、未来の動作予測を推定する。推定する未来方向の時間長としてはどれだけ長い時間でも構わないが、動作予測情報は、少なくとも向こう１時間以上、望ましくは１２時間程度の推定結果を持つものとする。
そして、未来動作推定部１３５は、この推定結果を、動作予測情報として、動作記憶部１３４に記憶させる。動作予測情報は、少なくとも、機能モジュール１２０と、この機能モジュール１２０が未来において実行される可能性と、この機能モジュール１２０が実行される時刻とを含む。
【００４５】
機能モジュール選択部１３６は、ある家電機器１１０がサービスを実行するために必要な複数の機能モジュール１２０の一覧を含むサービス定義リストを、通信部１３１を介して取得する。
また、機能モジュール選択部１３６は、サービス定義リストで示される、サービスを実行するために必要な機能モジュールを有する家電機器１１０を特定する。そして、機能モジュール選択部１３６は、動作記憶部１３４に記憶されている動作情報に基づいて、特定された家電機器１１０において、機能モジュール１２０が現在から未来において実行される実行計画を特定する。なお、サービスの提供に実行される複数の機能モジュールを機能モジュール群ともいう。
なお、機能モジュール選択部１３６は、動作予測情報で示される、機能モジュール１２０が実行される可能性が閾値（第２の閾値）を超えた場合に、その機能モジュール１２０を実行計画に含める。
【００４６】
次に、機能モジュール選択部１３６は、家電機器情報リスト記憶部１３７に保存されている各家電機器１１０の家電機器情報リスト及び取得したサービス定義リストに基づいて、特定した実行計画が妨げられないように、採用するシナリオと、採用したシナリオにおいて機能モジュール１２０を実行させる複数の家電機器１１０とを特定する。そして、機能モジュール選択部１３６は、特定したシナリオ、及び、特定したシナリオにおいて機能モジュール１２０を実行する複数の家電機器１１０を示す情報を、通信部１３１を介して、サービスを起動した家電機器１１０に送る。なお、採用するシナリオにおいて何れかの機能モジュール１２０を実行する複数の家電機器１１０を第２の家電機器群ともいう。
【００４７】
ここで、機能モジュール選択部１３６は、採用するシナリオに含まれる１つの機能モジュール１２０又は複数の機能モジュール１２０の組み合わせを、複数の家電機器１１０に実行させることができる場合には、この複数の家電機器１１０の各々に実行優先度を付与するものとする。この実行優先度についても、サービスを起動した家電機器１１０に送られる情報に含まれているものとする。
【００４８】
また、例えば、機能モジュール選択部１３６は、特定された実行計画が妨げられないように、実行計画に含まれている機能モジュール１２０を実行する際の動作コストと、選択されたサービスの提供に実行される複数の機能モジュール１２０を実行する際の動作コストとを、時間毎に合計し、その合計が閾値（第１の閾値：ここでは、１００）を超えないようにする。
なお、機能モジュール選択部１３６は、その合計が閾値を超える場合には、選択されたサービスの提供に実行される複数の機能モジュール１２０の少なくとも何れか一つを、別の家電機器１１０に実行させてもよく、実行計画に含まれている機能モジュール１２０を、別の家電機器１１０に実行させてもよい。
【００４９】
家電機器情報リスト記憶部１３７は、各家電機器１１０から送られてきた家電機器情報リストを記憶する。また、家電機器情報リスト記憶部１３７は、機能モジュール選択部１３６が要求するタイミングで、記憶された家電機器情報リストを機能モジュール選択部１３６に与える。
【００５０】
以上に記載された現在動作状況取得部１３２、未来動作予定取得部１３３、未来動作推定部１３５及び機能モジュール選択部１３６の一部又は全部は、例えば、図８（Ａ）に示されているように、メモリ１０と、メモリ１０に格納されているプログラムを実行するＣＰＵ等のプロセッサ１１とにより構成することができる。このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。
なお、以上に記載された動作記憶部１３４及び家電機器情報リスト記憶部１３７は、メモリ１０により構成することができる。
また、通信部１３１は、ＮＩＣ等の通信装置により構成することができる。
【００５１】
また、現在動作状況取得部１３２、未来動作予定取得部１３３、未来動作推定部１３５及び機能モジュール選択部１３６の一部又は全部は、例えば、図８（Ｂ）に示されているように、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ又はＦＰＧＡ等の処理回路１２で構成することもできる。
【００５２】
次に、ある家電機器１１０のサービスが起動される際の、各家電機器１１０及び機器行動監視装置１３０の動作について説明する。
【００５３】
まず、ユーザの操作又はある家電機器１１０の機能モジュール１２０の動作をトリガに、一の家電機器１１０のサービスを起動する旨が、その一の家電機器１１０のサービス制御部１１４に通知される。ここで、サービスを起動する家電機器１１０を第１の家電機器１１０という。なお、トリガとなる家電機器１１０と第１の家電機器１１０とは、異なっていても、同一であってもよい。
【００５４】
次に、第１の家電機器１１０のサービス制御部１１４が、起動するサービスに対応したサービス定義リストを第１の家電機器１１０のサービス定義リスト記憶部１１３から取得する。
【００５５】
続いて、第１の家電機器１１０のサービス制御部１１４が、取得したサービス定義リストを、通信部１１１を介して、機器行動監視装置１３０に送る。
【００５６】
続いて、機器行動監視装置１３０の機能モジュール選択部１３６が、取得したサービス定義リストに含まれている複数の機能モジュール１２０の何れかを有する家電機器１１０の動作情報を動作記憶部１３４から取得するとともに、その複数の機能モジュール１２０の何れかを有する家電機器１１０の家電機器情報リストを自機器情報リスト記憶部１１２から取得する。
【００５７】
続いて、機能モジュール選択部１３６は、取得された動作情報と、取得された家電機器情報リストとをもとに、起動されたサービスの実行のために、採用するシナリオと、採用するシナリオで機能モジュール１２０を実行する複数の家電機器１１０とを示す情報を、通信部１３１を介して、第１の家電機器１１０に送る。
【００５８】
なお、第１の家電機器１１０には、機能モジュール１２０の実行可能性を示す実行優先度が含まれている場合がある。
実行優先度の決定方法は、例えば、第１の家電機器１１０がサービスに必要な機能モジュール１２０を持っている場合、第１の家電機器１１０の機能モジュール１２０を優先的に選択する方式（選択方式１）、及び、サービスに必要な機能モジュール１２０を持つ各家電機器１１０のうち、サービスの所要時間又は継続時間において、サービスに必要な機能モジュール１２０を実行した場合の合計動作コストが最も小さくなるように機能モジュール１２０を選択する方式（選択方式２）、等が挙げられる。
【００５９】
続いて、第１の家電機器１１０のサービス制御部１１４は、機能モジュール選択部１３６が特定したシナリオに従って、機能モジュール選択部１３６が特定した複数の家電機器１１０に機能モジュール１２０を実行させる。
【００６０】
以上の動作により、サービスに必要な各機能モジュール１２０が実行されるので、サービスが実行される。
【００６１】
次に、実施の形態１に係る分散協調システム１００のサービスの実行に関する具体的な内容について説明を行う。
【００６２】
具体例１．
図１０は、具体例１の分散協調システム１００＃１の構成を示す概要図である。
具体例１の分散協調システム１００＃１は、冷蔵庫１１０Ａ＃１と、テレビ１１０Ｂ＃１と、スマートフォン１１０Ｃ＃１と、機器行動監視装置１３０と、レシピサイト１６０とを備える。
ここで、冷蔵庫１１０Ａ＃１、テレビ１１０Ｂ＃１及びスマートフォン１１０Ｃ＃１は、インターネット１５０を経由して、レシピサイト１６０にアクセスできるものとする。レシピサイト１６０は、スマートフォン又はパーソナルコンピュータがアクセスできる一般的なレシピサイトであり、家電機器も同様にアクセスすることで、レシピに関する情報を得られるものとする。
【００６３】
図１１は、冷蔵庫１１０Ａ＃１の構成を概略的に示すブロック図である。
冷蔵庫１１０Ａ＃１は、通信部１１１と、自機器情報リスト記憶部１１２と、サービス定義リスト記憶部１１３と、サービス制御部１１４と、サービスデータ記憶部１１５と、通信処理部１１６と、機能モジュール１２０とを備える。
冷蔵庫１１０Ａ＃１の機能モジュール１２０は、庫内画像認識部１２１Ａ＃１と、レシピ提示部１２２Ａ＃１と、レシピ情報受信部１２３Ａ＃１と、庫内画像撮像補正部１２４Ａ＃１と、庫内画像送信部１２５Ａ＃１と、庫内リスト受信部１２６Ａ＃１とを備える。
【００６４】
庫内画像認識部１２１Ａ＃１は、冷蔵庫１１０Ａ＃１内の画像から庫内内容物の認識を行う。
レシピ提示部１２２Ａ＃１は、レコメンドするレシピを決定する。
レシピ情報受信部１２３Ａ＃１は、通信部１１１を介して、レシピ情報を他の家電機器１１０から受信する。
庫内画像撮像補正部１２４Ａ＃１は、冷蔵庫１１０Ａ＃１内の画像を撮像し、ユーザが見やすいように画像の補正及び変形を行う。
庫内画像送信部１２５Ａ＃１は、通信部１１１を介して、撮像した冷蔵庫１１０Ａ＃１内の画像を他の家電機器１１０に送信する。
庫内リスト受信部１２６Ａ＃１は、通信部１１１を介して、庫内内容物のリストを受信する。
【００６５】
図１２は、テレビ１１０Ｂ＃１の構成を概略的に示すブロック図である。
テレビ１１０Ｂ＃１は、通信部１１１と、自機器情報リスト記憶部１１２と、サービス定義リスト記憶部１１３と、サービス制御部１１４と、サービスデータ記憶部１１５と、通信処理部１１６と、機能モジュール１２０とを備える。
テレビ１１０Ｂ＃１の機能モジュール１２０は、視聴番組情報抽出部１２１Ｂ＃１と、庫内画像認識部１２２Ｂ＃１と、レシピ提示部１２３Ｂ＃１と、庫内リスト送信部１２４Ｂ＃１とを備える。
【００６６】
視聴番組情報抽出部１２１Ｂ＃１は、視聴中のレシピ情報を生成する。
庫内画像認識部１２２Ｂ＃１は、通信部１１１を介して、受信した冷蔵庫１１０Ａ＃１内の画像から庫内内容物の認識を行う。
レシピ提示部１２３Ｂ＃１は、レコメンドするレシピを決定する。
庫内リスト送信部１２４Ｂ＃１は、通信部１１１を介して、庫内内容物のリストを送信する。
【００６７】
図１３は、スマートフォン１１０Ｃ＃１の構成を概略的に示すブロック図である。
スマートフォン１１０Ｃ＃１は、通信部１１１と、自機器情報リスト記憶部１１２と、サービス定義リスト記憶部１１３と、サービス制御部１１４と、サービスデータ記憶部１１５と、通信処理部１１６と、機能モジュール１２０とを備える。
スマートフォン１１０Ｃ＃１の機能モジュール１２０は、レシピレコメンド実行部１２１Ｃ＃１と、表示部１２２Ｃ＃１とを備える。
【００６８】
レシピレコメンド実行部１２１Ｃ＃１は、レシピをレコメンドするサービスを実行する。
表示部１２２Ｃ＃１は、スマートフォン１１０Ｃ＃１上にデータを表示する。
【００６９】
図１１〜図１３に示されている機能モジュール１２０については、具体例１に登場するもののみを記載しており、各家電機器１１０の機能を制限するものではない。
【００７０】
図１４は、冷蔵庫１１０Ａ＃１の家電機器情報リスト１１２Ａ＃１を示す概略図である。
図１５は、テレビ１１０Ｂ＃１の家電機器情報リスト１１２Ｂ＃１を示す概略図である。
図１６は、スマートフォン１１０Ｃ＃１の家電機器情報リスト１１２Ｃ＃１を示す概略図である。
【００７１】
以下、具体例１での分散協調システム１００＃１において、冷蔵庫１１０Ａ＃１がサービス「テレビ視聴情報利用レシピレコメンド」を実行する場合について説明する。
【００７２】
サービス「テレビ視聴情報利用レシピレコメンド」には、機能モジュール１２０として「庫内画像認識部」、「視聴番組情報抽出部」及び「レシピ提示部」が必要である。具体例１の構成では、いずれの機能モジュール１２０も冷蔵庫１１０Ａ＃１又はテレビ１１０Ｂ＃１に含まれている。このため、サービス全体が実行されるためには、冷蔵庫１１０Ａ＃１及びテレビ１１０Ｂ＃１の機能モジュール１２０が実行される必要がある。
【００７３】
具体例１では、選択方式１に従うため、機能モジュール１２０として「庫内画像認識部」及び「レシピ提示部」については、冷蔵庫１１０Ａ＃１が持つ庫内画像認識部１２１Ａ＃１及びレシピ提示部１２２Ａ＃１が優先される。
また、具体例１では、選択方式１に従うことが困難である場合に、選択方式２により家電機器１１０の選択を行うものとする。この場合は、他の家電機器１１０の機能モジュール１２０を選択するため、冷蔵庫１１０Ａ＃１において画像や庫内リストのデータ送受信に関する機能モジュール１２０である、庫内画像送信部１２５Ａ＃１及び庫内リスト受信部１２６Ａ＃１を起動するシナリオを選択する必要がある。
【００７４】
まず、具体例１のサービス「テレビ視聴情報利用レシピレコメンド」が実行されるにあたって、機能モジュール１２０同士での制御リソースの競合が発生せずに、サービスが実行される場合について説明する。
【００７５】
冷蔵庫１１０Ａ＃１が、現時刻の冷蔵庫の庫内画像を持っており、ユーザが、テレビ１１０Ｂ＃１で食事に関する番組を視聴している状況であるとする。
【００７６】
ここでユーザが、テレビ１１０Ｂ＃１で視聴中の番組に関して興味を持ち、スマートフォン１１０Ｃ＃１上のレシピレコメンド実行部１２１Ｃ＃１を実行し、サービス「テレビ視聴情報利用レシピレコメンド」を起動した、とする。ちなみに、サービスの起動方法の例として、スマートフォン１１０Ｃ＃１上のレシピレコメンド実行部１２１Ｃ＃１を用いる方法を記載したが、例えば、冷蔵庫１１０Ａ＃１又はテレビ１１０Ｂ＃１が同じような機能を持っていてもかまわない。
【００７７】
このようなサービスが起動されると、冷蔵庫１１０Ａ＃１のサービス制御部１１４は、サービス定義リスト記憶部１１３からサービス「テレビ視聴情報利用レシピレコメンド」のサービス定義リストを取得する。続いて、冷蔵庫１１０Ａ＃１のサービス制御部１１４は、サービス定義リストを、通信部１１１を介して、機器行動監視装置１３０に送る。
【００７８】
機器行動監視装置１３０の機能モジュール選択部１３６は、冷蔵庫１１０Ａ＃１が送付したサービス定義リストと、家電機器情報リスト記憶部１３７に記憶されている家電機器情報リストとを照らし合わせ、リソース競合の有無を検証する家電機器１１０をリストアップし、その動作コストの見積もりを計算する。
【００７９】
図１７に、具体例１の冷蔵庫１１０Ａ＃１の動作コストの時間変動の第１の例を示す。また、図１８に、具体例１の冷蔵庫１１０Ａ＃１の動作コストの時間変動の第２の例を示す。また、図１９に、具体例１の冷蔵庫１１０Ａ＃１の動作コストの時間変動の第３の例を示す。
今回のサービスの実行に関してはリソースの競合が起こるという動作情報がないため、選択方式１に従っても、動作コストの時間変動は、例えば、図１７の様になり、冷蔵庫１１０Ａ＃１の動作コストが１００を超えないことがわかる。
図１７では、動作情報により特定される実行計画により実行される機能モジュール１２０がなく、サービス「テレビ視聴情報利用レシピレコメンド」の提供に必要な機能モジュール１２０の動作コストのみが合計されている。
よって機能モジュール選択部１３６は、機能モジュール１２０である「庫内画像認識部」、「レシピ提示部」について、冷蔵庫１１０Ａ＃１の持つ機能モジュール１２０を利用する選択を行う。そして、機能モジュール選択部１３６は、このような選択の結果をサービス制御部１１４に送付する。
【００８０】
冷蔵庫１１０Ａ＃１のサービス制御部１１４は、冷蔵庫１１０Ａ＃１の庫内画像認識部１２１Ａ＃１を起動し、現時刻の庫内画像を用いて冷蔵庫１１０Ａ＃１の内容物の認識を行い、庫内内容物のリストデータを生成する。庫内画像を用いた冷蔵庫１１０Ａ＃１の内容物の認識を行う方法は、例えば、画像のテンプレートマッチング法があるが、他の方法でもよい。
【００８１】
また、上記のサービスが起動されると、冷蔵庫１１０Ａ＃１のサービス制御部１１４は、テレビ１１０Ｂ＃１の機能モジュール１２０である視聴番組情報抽出部１２１Ｂ＃１を起動する。視聴番組情報抽出部１２１Ｂ＃１は、視聴中のレシピ情報として、レシピに必要な食材のデータを視聴中の番組から生成し、通信部１１１を介して、冷蔵庫１１０Ａ＃１のレシピ情報受信部１２３Ａ＃１に送る。視聴中のレシピ情報を生成する方法として、視聴番組情報抽出部１２１Ｂ＃１は、番組の放送波データに含まれる字幕からレシピ名を抽出し、抽出されたレシピ名でレシピサイト１６０を検索することで入手してもよい。さらに、視聴中のレシピ情報を生成する方法として、放送中のレシピがテレビ１１０Ｂ＃１の画面上に表示されている場合、視聴番組情報抽出部１２１Ｂ＃１は、その画像に対し文字認識を行うことで入手してもよい。
【００８２】
冷蔵庫１１０Ａ＃１のサービス制御部１１４は、庫内内容物のリストデータと視聴中のレシピ情報とを入手すると、冷蔵庫１１０Ａ＃１のレシピ提示部１２２Ａ＃１を起動する。
起動されたレシピ提示部１２２Ａ＃１は、庫内内容物のリストデータと視聴中のレシピ情報との比較を行う。視聴中のレシピ情報が庫内内容物とほぼ一致する場合、レシピ提示部１２２Ａ＃１は、視聴中のレシピ情報をそのままレコメンドするレシピとして決定する。また、視聴中のレシピ情報が庫内内容物と大きく異なり、ユーザがレシピを再現するためには大量に食材を購入する必要がある場合、レシピ提示部１２２Ａ＃１は、レシピサイト１６０にてレシピ名を用いた検索を行い、レシピで使用する食材と庫内内容物のリストデータとの一致率の高いもののうち少なくともひとつのレシピを、レコメンドするレシピとして決定する。ここで、視聴中のレシピ情報が庫内内容物とほぼ一致するか否か、視聴中のレシピ情報が庫内内容物と大きく異なるか否かは、庫内内容物と、レシピ情報で使用される内容物とが一致する割合が、予め定められた閾値以上であるか否かにより判断されればよい。
【００８３】
そして、レシピ提示部１２２Ａ＃１は、レコメンドするレシピを決定すると、通信部１１１を介して、レシピ情報をスマートフォン１１０Ｃ＃１に送信する。スマートフォン１１０Ｃ＃１の表示部１２２Ｃ＃１は、冷蔵庫１１０Ａ＃１のサービス制御部１１４からの指示に応じて、ユーザにレシピ情報を提示する。
【００８４】
次に、複数の機能モジュール１２０を実行することにより、家電機器１１０内で制御リソースの競合が発生し、動作コストが１００を超えてしまう場合について示す。具体的には、機器行動監視装置１３０の未来動作推定部１３５により、冷蔵庫１１０Ａ＃１の本来の機能モジュール１２０である庫内画像撮像補正部１２４Ａ＃１が起動される可能性の高い時間帯であると推定される、という状況であるとする。
即ち、１つの家電機器１１０において、実行計画に含まれている機能モジュール１２０の実行と、サービスの提供に必要な機能モジュール１２０の実行とが、競合する状況である。
【００８５】
冷蔵庫１１０Ａ＃１が、現時刻の冷蔵庫１１０Ａ＃１の庫内画像を持っており、ユーザが、テレビ１１０Ｂ＃１で食事に関する番組を視聴している状況にて、ユーザが、スマートフォン１１０Ｃ＃１上のレシピレコメンド実行部１２１Ｃ＃１を実行し、サービス「テレビ視聴情報利用レシピレコメンド」を起動した、とする。
【００８６】
このようなサービスが起動されると、冷蔵庫１１０Ａ＃１のサービス制御部１１４は、サービス定義リスト記憶部１１３からサービス「テレビ視聴情報利用レシピレコメンド」のサービス定義リストを取得し、通信部１１１を介して、取得されたサービス定義リストを機器行動監視装置１３０に送る。
【００８７】
機器行動監視装置１３０の機能モジュール選択部１３６は、冷蔵庫１１０Ａ＃１が送付したサービス定義リストと、家電機器情報リスト記憶部１３７に記憶されている家電機器情報リストとを照らし合わせ、リソースの競合を検証する家電機器１１０をリストアップし、その動作コストの見積もりを計算する。
【００８８】
今回の前記サービスの実行に関しては、未来動作推定部１３５により、冷蔵庫１１０Ａ＃１の庫内画像撮像補正部１２４Ａ＃１が起動される可能性が高いことが判明している。即ち、庫内画像撮像補正部１２４Ａ＃１を実行する実行計画がある。このため、冷蔵庫１１０Ａ＃１の動作コストの時間変動は、例えば、図１８の様になり、選択方式１に従うと動作コストが１００を超えることが分かる。
図１８では、実行計画により実行される庫内画像撮像補正部１２４Ａ＃１と、サービスの提供に必要とされる庫内画像認識部１２１Ａ＃１、レシピ情報受信部１２３Ａ＃１及びレシピ提示部１２２Ａ＃１との動作コストが時間毎に合計されている。
【００８９】
そこで、機能モジュール選択部１３６は、サービスの提供に必要とされる機能モジュール１２０である「庫内画像認識部」及び「レシピ提示部」について、別の家電機器１１０での実行を検討する。その結果、図１９に示すように、冷蔵庫１１０Ａ＃１にて庫内画像送信部１２５Ａ＃１及び庫内リスト受信部１２６Ａ＃１を実行し、さらにテレビ１１０Ｂ＃１にて庫内画像認識部１２２Ｂ＃１及び庫内リスト送信部１２４Ｂ＃１を実行することで、各家電機器の動作コストが１００を超えないことがわかったとする。このとき機能モジュール選択部１３６は、「庫内画像認識部」についてはテレビ１１０Ｂ＃１の持つ機能モジュール１２０を、「レシピ提示部」については冷蔵庫１１０Ａ＃１の持つ機能モジュール１２０を利用するシナリオを選択する。そして、機能モジュール選択部１３６は、このような選択の結果をサービス制御部１１４に送付する。
【００９０】
次に、冷蔵庫１１０Ａ＃１のサービス制御部１１４は、冷蔵庫１１０Ａ＃１の庫内画像送信部１２５Ａ＃１を起動する。起動された庫内画像送信部１２５Ａ＃１は、通信部１１１を介して、現時刻の庫内画像をテレビ１１０Ｂ＃１に送る。
【００９１】
冷蔵庫１１０Ａ＃１のサービス制御部１１４は、テレビ１１０Ｂ＃１の庫内画像認識部１２２Ｂ＃１及び庫内リスト送信部１２４Ｂ＃１を起動する。そして、起動された庫内画像認識部１２２Ｂ＃１は、現時刻の庫内画像を用いて冷蔵庫１１０Ａ＃１の内容物の認識を行い、庫内内容物のリストデータを生成する。続いて、テレビ１１０Ｂ＃１の庫内リスト送信部１２４Ｂ＃１は、通信部１１１を介して、庫内内容物のリストデータを冷蔵庫１１０Ａ＃１に送信する。
【００９２】
また、上記のようなサービスが起動されると、冷蔵庫１１０Ａ＃１のサービス制御部１１４は、テレビ１１０Ｂ＃１の視聴番組情報抽出部１２１Ｂ＃１を起動する。起動された視聴番組情報抽出部１２１Ｂ＃１は、視聴中のレシピ情報として、レシピに必要な食材のデータを視聴中の番組から生成し、通信部１１１を介して、冷蔵庫１１０Ａ＃１に送信する。
【００９３】
冷蔵庫１１０Ａ＃１の庫内リスト受信１２６Ａ＃１は、通信部１１１を介して庫内内容物のリストデータを取得し、冷蔵庫１１０Ａ＃１のレシピ情報受信部１２３Ａ＃１は、通信部１１１を介して視聴中のレシピ情報を取得する。そして、冷蔵庫１１０Ａ＃１のサービス制御部１１４は、冷蔵庫１１０Ａ＃１のレシピ提示部１２２Ａ＃１を起動する。起動されたレシピ提示部１２２Ａ＃１は、庫内内容物のリストデータと視聴中のレシピ情報との比較を行い、提示するレシピを決定する。そして、レシピ提示部１２２Ａ＃１は、通信部１１１を介して、提示するレシピのレシピ情報をスマートフォン１１０Ｃ＃１に送る。
【００９４】
冷蔵庫１１０Ａ＃１のサービス制御部１１４は、スマートフォン１１０Ｃ＃１の表示部１２２Ｃ＃１を起動して、起動された表示部１２２Ｃ＃１は、ユーザにレシピ情報を提示する。
【００９５】
以上の具体例の様に、冷蔵庫１１０Ａ＃１が、本来の機能モジュール１２０である庫内画像撮像補正部１２４Ａ＃１が起動される可能性の高い場合に、冷蔵庫１１０Ａ＃１でも起動できる機能モジュール１２０である「庫内画像認識部」をテレビ１１０Ｂ＃１の庫内画像認識部１２２Ｂ＃１を用いることにより、冷蔵庫１１０Ａ＃１の本来の機能を損なうことなく、ユーザが希望するサービス「テレビ視聴情報利用レシピレコメンド」を実行することができる。
【００９６】
具体例２．
図２０は、具体例２の分散協調システム１００＃２の構成を示す概要図である。
具体例２の分散協調システム１００＃２は、テレビ１１０Ａ＃２と、テレビ１１０Ｂ＃２と、デジタルカメラ１１０Ｃ＃２と、プリンタ１１０Ｄ＃２と、機器行動監視装置１３０とを備える。
【００９７】
図２１は、テレビ１１０Ａ＃２の構成を概略的に示すブロック図である。
テレビ１１０Ａ＃２は、通信部１１１と、自機器情報リスト記憶部１１２と、サービス定義リスト記憶部１１３と、サービス制御部１１４と、サービスデータ記憶部１１５と、通信処理部１１６と、機能モジュール１２０とを備える。
テレビ１１０Ａ＃２の機能モジュール１２０は、放送受信部１２１Ａ＃２と、放送録画部１２２Ａ＃２と、写真受信部１２３Ａ＃２と、写真編集部１２４Ａ＃２と、表示部１２５Ａ＃２と、写真送信部１２６Ａ＃２と、放送依頼送信部１２７Ａ＃２とを備える。
【００９８】
放送受信部１２１Ａ＃２は、放送を受信する。
放送録画部１２２Ａ＃２は、放送を録画する。
写真受信部１２３Ａ＃２は、通信部１１１を介して、デジタルカメラ１１０Ｃ＃２の画像を受信する。
写真編集部１２４Ａ＃２は、デジタルカメラ１１０Ｃ＃２の複数の写真データを操作して１枚の画像として統合する。
表示部１２５Ａ＃２は、放送及び編集中の写真を表示する。
写真送信部１２６Ａ＃２は、通信部１１１を介して、写真を送信する。
放送依頼送信部１２７Ａ＃２は、通信部１１１を介して、放送録画の実行を他のテレビ１１０Ｂ＃２に依頼する。
【００９９】
図２２は、テレビ１１０Ｂ＃２の構成を概略的に示すブロック図である。
テレビ１１０Ｂ＃２は、通信部１１１と、自機器情報リスト記憶部１１２と、サービス定義リスト記憶部１１３と、サービス制御部１１４と、サービスデータ記憶部１１５と、通信処理部１１６と、機能モジュール１２０とを備える。
テレビ１１０Ｂ＃２の機能モジュール１２０は、放送受信部１２１Ｂ＃２と、放送録画部１２２Ｂ＃２と、放送依頼受信部１２３Ｂ＃２とを備える。
【０１００】
放送受信部１２１Ｂ＃２は、放送を受信する。
放送録画部１２２Ｂ＃２は、放送を録画する。
放送依頼受信部１２３Ｂ＃２は、通信部１１１を介して、他のテレビ１１０Ａ＃２からの放送録画依頼を受け取る。
【０１０１】
図２３は、デジタルカメラ１１０Ｃ＃２の構成を概略的に示すブロック図である。
デジタルカメラ１１０Ｃ＃２は、通信部１１１と、自機器情報リスト記憶部１１２と、サービス定義リスト記憶部１１３と、サービス制御部１１４と、サービスデータ記憶部１１５と、通信処理部１１６と、機能モジュール１２０とを備える。
デジタルカメラ１１０Ｃ＃２の機能モジュール１２０は、写真記憶部１２１Ｃ＃２と、写真送信部１２２Ｃ＃２とを備える。
【０１０２】
写真記憶部１２１Ｃ＃２は、写真を保存する。
写真送信部１２２Ｃ＃２は、通信部１１１を介して、保存した写真を送信する。
【０１０３】
図２４は、プリンタ１１０Ｄ＃２の構成を概略的に示すブロック図である。
プリンタ１１０Ｄ＃２は、通信部１１１と、自機器情報リスト記憶部１１２と、サービス定義リスト記憶部１１３と、サービス制御部１１４と、サービスデータ記憶部１１５と、通信処理部１１６と、機能モジュール１２０とを備える。
プリンタ１１０Ｄ＃２の機能モジュール１２０は、写真受信部１２１Ｄ＃２と、写真印刷部１２２Ｄ＃２とを備える。
【０１０４】
写真受信部１２１Ｄ＃２は、通信部１１１を介して、写真を受信する。
写真印刷部１２２Ｄ＃２は、写真を印刷する。
【０１０５】
図２１〜図２４に示されている機能モジュール１２０については、具体例２に登場するもののみを記載しており、各家電機器１１０の機能を制限するものではない。
【０１０６】
図２５は、テレビ１１０Ａ＃２の家電機器情報リスト１１２Ａ＃２を示す概略図である。
【０１０７】
具体例２での分散協調システム１００＃２の構成において、テレビ１１０Ａ＃２にて本来の動作である「テレビ番組の録画」として、それぞれ１５時から２時間及び１６時から２時間の２番組の録画が予約されている状態で、ユーザが１５時半にテレビ１１０Ａ＃２にてサービス「デジタルカメラ画像編集及び印刷」を実行する場合について以下に記述する。
【０１０８】
なお、本来の動作である「テレビ番組の録画」には、「放送受信部」及び「放送録画部」が必要である。また、サービス「デジタルカメラ画像編集及び印刷」には、ユーザが操作する家電機器１１０の「写真受信部」、「写真編集部」、「表示部」及び「写真送信部」が必要で、さらにサービス実行中にユーザにより選択される、デジタルカメラ１１０Ｃ＃２の「写真保存部」及び「写真送信部」と、プリンタ１１０Ｄ＃２の「写真受信部」及び「写真印刷部」とが必要である。
【０１０９】
まずユーザが、テレビ１１０Ａ＃２にて、サービス「デジタルカメラ画像編集及び印刷」を起動する。
【０１１０】
このようなサービスが起動されると、テレビ１１０Ａ＃２のサービス制御部１１４は、サービス定義リスト記憶部１１３からサービス「デジタルカメラ画像編集及び印刷」に対応するサービス定義リストを取得し、取得されたサービス定義リストを、通信部１１１を介して、機器行動監視装置１３０に送る。
【０１１１】
機器行動監視装置１３０の機能モジュール選択部１３６は、テレビ１１０Ａ＃２が送付したサービス定義リストと、家電機器情報リスト記憶部１３７に記憶されている家電機器情報リストとを照らし合わせ、リソースの競合を検証する家電機器１１０をリストアップし、その動作コストの見積もりを計算する。
【０１１２】
図２６に、具体例２のテレビ１１０Ａ＃２の動作コストの時間変動の第１の例を示す。また、図２７に、具体例２のテレビ１１０Ａ＃２の動作コストの時間変動の第２の例を示す。
今回のサービスの実行に関しては、ユーザが操作する家電機器１１０としてテレビ１１０Ａ＃２を選択しているため、１５時半よりテレビ１１０Ａ＃２の写真受信部１２３Ａ＃２、写真編集部１２４Ａ＃２、表示部１２５Ａ＃２及び写真送信部１２６Ａ＃２がそれぞれ実行されることが確定となる。未来動作推定部１３５により、この動作が１時間継続することが推定されているものとする。
また未来動作予定取得部１３３により、テレビ１１０Ａ＃２の放送受信部１２１Ａ＃２及び放送録画部１２２Ａ＃２が２プロセス分実行されることが判明している。このため、テレビ１１０Ａ＃２の動作コストの時間変動は、例えば、図２６の様になり、現状のままだと動作コストが１００を超えることが分かる。
【０１１３】
なお、図２６では、実行計画により実行される放送受信部１２１Ａ＃２及び放送録画部１２２Ａ＃２の動作コストと、及びサービスの提供に必要とされる写真受信部１２３Ａ＃２、写真編集部１２４Ａ＃２、表示部１２５Ａ＃２及び写真送信部１２６Ａ＃２の動作コストとが、時間毎に合計されている。
【０１１４】
そこで、機能モジュール選択部１３６は、１６時からの「テレビ番組の録画」について、別の家電機器１１０での実行を検討する。その結果、図２７に示すように、テレビ１１０Ａ＃２にて放送依頼送信部１２７Ａ＃２を実行し、さらにテレビ１１０Ｂ＃２にて放送受信部１２１Ｂ＃２、放送録画部１２２Ｂ＃２及び放送依頼受信部１２３Ｂ＃２を実行することで、各家電機器１１０の動作コストが１００を超えないことがわかったとする。
このとき機能モジュール選択部１３６は、「放送受信部」及び「放送録画部」についてはテレビ１１０Ｂ＃２の持つ機能モジュール１２０を利用させて、シナリオを選択する。そして機能モジュール選択部１３６は、このような選択の結果をテレビ１１０Ａ＃２のサービス制御部１１４に送付する。ここでは、特定されたシナリオと、特定されたシナリオで機能モジュール１２０を実行する複数の家電機器１１０の他、「テレビ番組の録画」という動作を、他の家電機器１１０であるテレビ１１０Ｂ＃２に実行させる指示が、サービス制御部１１４に送信される。
【０１１５】
次に、テレビ１１０Ａ＃２のサービス制御部１１４は、テレビ１１０Ａ＃２での動作である「テレビ番組の録画」の実行を取り消すため、放送受信部１２１Ｂ＃２と放送録画部１２２Ｂ＃２の動作予約を取り消す。またテレビ１１０Ａ＃２のサービス制御部１１４は、テレビ１１０Ｂ＃２の放送依頼受信部１２３Ｂ＃２及びテレビ１１０Ａ＃２の放送依頼送信部１２７Ａ＃２を起動し、通信部１１１を介して、テレビ１１０Ａ＃２からテレビ１１０Ｂ＃２に対する録画依頼を実行する。
【０１１６】
テレビ１１０Ｂ＃２の放送依頼受信部１２３Ｂ＃２は、通信部１１１を介して受信した録画依頼の内容に基づき、指定時間に放送受信部１２１Ｂ＃２及び放送録画部１２２Ｂ＃２を実行させる待機状態に入る。
【０１１７】
また一方で、テレビ１１０Ａ＃２のサービス制御部１１４は、サービス「デジタルカメラ画像編集及び印刷」に必要な、写真受信部１２３Ａ＃２、写真編集部１２４Ａ＃２、表示部１２５Ａ＃２及び写真送信部１２６Ａ＃２、デジタルカメラ１１０Ｃ＃２の写真記憶部１２１Ｃ＃２及び写真送信部１２２Ｃ＃２、並びに、プリンタ１１０Ｄ＃２の写真受信部１２１Ｄ＃２及び写真印刷部１２２Ｄ＃２を起動することで、上述したサービスを実行できる。
【０１１８】
以上のように実施の形態１によれば、機能モジュール選択部１３６が、家電機器１１０の動作情報である、現在の動作状況、未来の動作予定及び未来の動作予測を鑑みて、サービスに必要な機能モジュールを実行する家電機器１１０を実行するシナリオを選択し、サービス制御部１１４が、選択されたシナリオに基づいて各家電機器１１０の機能モジュール１２０を駆動する。このため、分散協調システム１００が、現在及び未来における機器の本来の機能を損なうことなく、家電機器１１０の本来の動作を優先する条件下で適切な家電機器１１０の機能モジュール１２０が選択でき、その結果サービスを滞りなく実行することができる。
【０１１９】
なお、２つの具体例では、サービス制御部１１４が作動している家電機器１１０の動作コストが１００を超える場合について述べたが、サービス制御部１１４が動作していない家電機器１１０の動作コストが１００を超える場合についても同様に、機能モジュール選択部１３６が、サービス制御部１１４が動作していない家電機器１１０の動作コストが１００を超えないようにシナリオを選択することができる。
【０１２０】
また、実施の形態１における機器行動監視装置１３０は、現在動作状況情報及び未来動作予定情報から、未来の動作予測を行う未来動作推定部１３５を備えているが、未来動作推定部１３５は、なくてもよい。このような場合には、機能モジュール選択部１３６は、現在動作状況情報及び未来動作予定情報から、実行計画を特定すればよい。
【０１２１】
実施の形態２．
図２８は、実施の形態２に係る分散協調システム２００の構成を示す概要図である。
分散協調システム２００は、複数の家電機器２１０と、機器行動監視装置２３０と、携帯端末２７０とを備える。
家電機器２１０、機器行動監視装置２３０及び携帯端末２７０は、インターネット１５０に接続されている。
【０１２２】
実施の形態２に係る分散協調システム２００は、インターネット１５０を経由して家電機器２１０を操作するための携帯端末２７０を、分散協調システム２００の利用者数の数だけ備える。
分散協調システム２００の利用者というのは、例えば、家の居住者のことを指し、携帯端末２７０は、例えば、各個人が持つスマートフォンである。各携帯端末２７０とその使用者は、紐づけられているものとする。分散協調システム２００のユーザは、各家電機器２１０を操作するにあたり、携帯端末２７０のアプリケーションを利用してもよいし、家電機器２１０に備えられたボタン又はリモコンを用いて操作してもよい。
【０１２３】
図２に示されているように、実施の形態２における家電機器２１０の第１の構成例である家電機器２１０−１は、通信部１１１と、自機器情報リスト記憶部１１２と、サービス定義リスト記憶部１１３と、サービス制御部１１４と、サービスデータ記憶部１１５と、通信処理部２１６と、機能モジュール１２０とを備える。
実施の形態２における家電機器２１０の第１の構成例である家電機器２１０−１は、通信処理部２１６を除いて、実施の形態１における家電機器１１０の第１の構成例である家電機器１１０−１と同様に構成されている。
【０１２４】
図３に示されているように、実施の形態２における家電機器２１０の第２の構成例である家電機器２１０−２は、通信部１１１と、自機器情報リスト記憶部１１２と、通信処理部２１６と、機能モジュール１２０とを備える。
実施の形態２における家電機器２１０の第２の構成例である家電機器２１０−２は、通信処理部２１６を除いて、実施の形態１における家電機器１１０の第２の構成例である家電機器２１０−１と同様に構成されている。
【０１２５】
通信処理部２１６は、通信部１１１を介して、機器行動監視装置２３０からの、現在の動作状況の取得要求を受け取り、この要求に応じて、自機器である家電機器２１０の現在の動作状況を示す現在動作状況情報及び自機器である家電機器２１０の未来の動作予定を示す未来動作予定情報を、通信部１１１を介して、機器行動監視装置２３０に送る。ここで、実施の形態２においては、現在動作状況情報及び未来動作予定情報には、携帯端末２７０により操作が行われた場合には、その携帯端末２７０を識別するための識別情報である携帯端末識別情報が含まれる。
【０１２６】
図２９は、実施の形態２における機器行動監視装置２３０の構成を示す概要図である。
機器行動監視装置２３０は、通信部１３１と、現在動作状況取得部１３２と、未来動作予定取得部１３３と、動作記憶部１３４と、未来動作推定部２３５と、機能モジュール選択部１３６と、家電機器情報リスト記憶部１３７と、使用者情報記憶部２３８と、使用者監視部２３９とを備える。
実施の形態２における機器行動監視装置２３０は、未来動作推定部２３５、使用者情報記憶部２３８及び使用者監視部２３９を除いて、実施の形態１における機器行動監視装置１３０と同様に構成されている。
【０１２７】
使用者情報記憶部２３８は、携帯端末２７０を識別するための携帯端末識別情報と、携帯端末２７０に紐付けられている使用者を識別するための識別情報である使用者識別情報とを対応付けた使用者情報を記憶する。
【０１２８】
使用者監視部２３９は、使用者情報記憶部２３８に記憶されている使用者情報に基づいて、分散協調システム２００の各家電機器２１０の使用者が誰であるかについて監視する。言い換えると、使用者監視部２３９は、使用者情報記憶部２３８に記憶されている使用者情報に基づいて、現在動作状況情報及び未来動作予定情報における機能モジュール１２０を実行させた使用者を特定する第１の使用者特定部として機能する。
また、使用者監視部２３９は、家電機器２１０が携帯端末２７０以外から操作された場合でも、例えば、宅内に撮像が可能な機器がある場合は、その撮像画像から家電機器２１０の使用者の判定を行ってもよい。なお各手段によっても使用者が確定しない場合は、使用者監視部２３９は、使用者不明であるとみなす。
【０１２９】
未来動作推定部２３５は、現在動作状況取得部１３２で取得された現在の動作状況及び未来動作予定取得部１３３で取得された未来の動作予定を入力とし、未来の動作予測を推定する。実施の形態２においては、未来動作推定部２３５は、さらに使用者監視部２３９で特定された使用者の情報を用いて、使用者毎に、未来の動作予測を推定する。このため、未来の動作予測として得られる情報は、操作者名、機能名、各機能モジュール１２０が未来に実行する動作の発生条件、周期（頻度）、時刻、動作モード（機能）、発生確率となり、例えば、「お母さんは」「平日は」「毎日」「７時」に「洗濯機」を「すすぎ一回モード」「４０分間」動作させる可能性が「９０％」等となる点が、実施の形態１と異なる。
【０１３０】
また、未来動作推定部２３５は、使用者の区別が可能となったので、例えば、現在の動作状況として、「息子がＴＶを視聴する」という情報が得られている場合、「息子」に起因する未来の動作予測における機能モジュール１２０の実行可能性を下げることができる。その結果として、未来動作推定部２３５は、精度の高い未来の動作予測を実行することができる。
さらに、未来動作推定部２３５の未来の動作予測の精度が上がることで、機能モジュール選択部１３６でのシナリオ及び家電機器２１０の選択が、分散協調システム２００にとってより適した選択となることが期待できる。
【０１３１】
以上によれば、実施の形態２では、家電機器２１０の使用者判定を行うことで、シナリオの選択が、分散協調システム２００にとってより適した選択となることが期待できる。このため、家電機器２１０が、ユーザが本来の家電機器２１０の機能を将来果たしたい時に、分散協調システム２００のサービスに必要な機能モジュール１２０を実行している場合に、家電機器２１０の機能を実行できない、もしくは機能モジュール１２０の実行を止めるためには分散の再構築をする必要が生じるという問題をより適切に解消できる。
【０１３２】
実施の形態３．
図２８に示されているように、実施の形態３に係る分散協調システム３００は、複数の家電機器２１０と、機器行動監視装置３３０と、携帯端末２７０とを備える。
実施の形態３に係る分散協調システム３００は、機器行動監視装置３３０を除いて、実施の形態２に係る分散協調システム２００と同様に構成されている。
実施の形態３では、複数の家電機器２１０の少なくとも１つは、予め定められた範囲である宅内に設置されているものとする。
【０１３３】
図３０は、実施の形態３における機器行動監視装置３３０の構成を示す概要図である。
機器行動監視装置３３０は、通信部１３１と、現在動作状況取得部１３２と、未来動作予定取得部１３３と、動作記憶部１３４と、未来動作推定部３３５と、機能モジュール選択部１３６と、家電機器情報リスト記憶部１３７と、使用者情報記憶部２３８と、使用者監視部２３９と、在宅者監視部３４０とを備える。
実施の形態３における機器行動監視装置３３０は、未来動作推定部３３５及び在宅者監視部３４０を除いて、実施の形態２における機器行動監視装置２３０と同様に構成されている。
【０１３４】
在宅者監視部３４０は、分散協調システム３００の設置された宅内に居る人が家族のうちの誰であるかを推定する。言い換えると、在宅者監視部３４０は、宅内にいる使用者を特定する第２の使用者特定部として機能する。在宅者の判定は、使用者監視部２３９での家電機器２１０で特定された使用者の情報に加え、玄関を通過した人物を管理する機能モジュール１２０をいずれかの家電機器２１０が持つことで行う。
玄関を通過した人物を管理する機能モジュール１２０は、例えば、玄関若しくは門に監視カメラの様な撮像機器により、在宅者を判定する機能、又は、宅内にいる人物がもつ携帯端末２７０が宅内に存在するか否かを監視することにより、在宅者を判定する機能を有するモジュールが挙げられる。
例えば、携帯端末２７０で家電機器２１０を操作する場合に、携帯端末２７０が、家庭内のＷｉ−Ｆｉ（登録商標）等のネットワークに接続されている場合には、在宅者監視部３４０は、携帯端末２７０を識別するための携帯端末識別情報及び使用者情報記憶部２３８に記憶されている使用者情報に基づいて、どの使用者が宅内にいるかを判定することができる。
【０１３５】
未来動作推定部３３５は、現在動作状況取得部１３２で取得された現在動作状況情報及び未来動作予定取得部１３３で取得された未来動作予定情報を入力とし、未来の動作予測を推定する。実施の形態３においては、未来動作推定部３３５は、使用者監視部２３９で特定される使用者の情報に加えて、在宅者監視部３４０で特定される在宅者の情報を用いて、未来の動作予測を推定できる。このため、未来動作推定部３３５は、未来の動作予測において、在宅していない使用者に起因する動作予測における機能モジュール１２０の実行可能性を大幅に低減できる。また、未来動作推定部３３５は、帰宅者が時間に依らずに帰宅直後に行う動作、を含めた監視ができるため、分散協調システム３００の登録者の帰宅に応じた未来の動作予測が可能となる。これらの結果として、未来動作推定部３３５が精度の高い未来の動作予測を実行することができる。
【０１３６】
未来の動作予測の精度があがったことにより、機能モジュール選択部１３６のシナリオの選択が、分散協調システム３００にとってより適した選択となることが期待できる。
【０１３７】
以上によれば、実施の形態３では、家電機器２１０の在宅者判定を行うことで、シナリオ及び家電機器２１０の選択が、分散協調システム３００にとってより適した選択となることが期待できるため、ユーザが本来の家電機器２１０の機能を将来果たしたい時に、家電機器２１０が、分散協調システム３００のサービスに必要な機能モジュール１２０を実行している場合に、本来の家電機器２１０の機能を実行できない、もしくは機能モジュール１２０の実行を止めるためには、分散の再構築をする必要が生じるという問題をより解消できる。
【０１３８】
実施の形態４．
図３１は、実施の形態４に係る分散協調システム４００の構成を示す概要図である。
分散協調システム４００は、複数の家電機器４１０Ａ、４１０Ｂ、４１０Ｃを備える。ここで、実施の形態４に係る分散協調システム４００は、実施の形態１における機器行動監視装置１３０を備えていない。
家電機器４１０Ａ、４１０Ｂ、４１０Ｃは、インターネット１５０に接続されている。
また、家電機器４１０Ａ、４１０Ｂ、４１０Ｃの各々を特に区別する必要がない場合には、家電機器４１０という。
【０１３９】
図３２は、家電機器４１０の第１の構成例を概略的に示すブロック図である。
図３２に示されている家電機器４１０−１は、通信部１１１と、自機器情報リスト記憶部４１２と、サービス定義リスト記憶部１１３と、サービス制御部４１４と、サービスデータ記憶部１１５と、通信処理部４１６と、機能モジュール１２０と、現在動作状況取得部４８０と、未来動作予定取得部４８１と、動作記憶部４８２と、未来動作推定部４８３と、機能モジュール選択部４８４と、家電機器情報リスト記憶部４８５とを備える。
【０１４０】
図３３は、家電機器４１０の第２の構成例を概略的に示すブロック図である。
図３３に示されている家電機器４１０−２は、通信部１１１と、自機器情報リスト記憶部４１２と、通信処理部４１６と、機能モジュール１２０と、現在動作状況取得部４８０と、未来動作予定取得部４８１と、動作記憶部４８２と、未来動作推定部４８３と、機能モジュール選択部４８４と、家電機器情報リスト記憶部４８５とを備える。
図３３に示されている部分の内、図３２に示されている部分と同様の部分については、図３２と同じ符号が付されている。
【０１４１】
ここで、図３２又は図３３に示されている、通信部１１１、サービス定義リスト記憶部１１３、サービスデータ記憶部１１５及び機能モジュール１２０については、実施の形態１と同様である。
【０１４２】
自機器情報リスト記憶部４１２は、自機器である家電機器４１０の機能モジュール１２０が起動する際に必要な動作コスト及び自機器である家電機器４１０の機能モジュール１２０が処理を行う時間である所要時間を示す家電機器情報リストを記憶する。家電機器情報リストには、自機器である家電機器４１０のＣＰＵ、メモリ及びコア数を含む機器性能に関する情報が含まれていてもよい。
【０１４３】
通信処理部４１６は、インターネット１５０との接続が開始された際に、通信部１１１を介して、自機器情報リスト記憶部４１２に記憶されている家電機器情報リストを他の全ての家電機器４１０に送る。
また、通信処理部４１６は、通信部１１１を介して、他の家電機器４１０から送られてきた家電機器情報リストを受け取り、家電機器情報リスト記憶部４８５に記憶する。また、通信処理部４１６は、自機器情報リスト記憶部４１２に記憶されている自機器の家電機器情報リストを読み出し、家電機器情報リスト記憶部４８５に記憶するとともに、通信部１１１を介して、他の家電機器４１０に送る。
さらに、通信処理部４１６は、通信部１１１を介して、他の家電機器４１０から、動作情報の取得要求を受けた場合には、このような要求に応じて、動作記憶部４８２に記憶されている動作情報を、通信部１１１を介して、他の家電機器４１０に送る。
【０１４４】
サービス制御部４１４は、分散協調システム４００のユーザ又は分散協調システム４００に含まれる家電機器４１０が、自機器である家電機器４１０のサービスを呼び出した場合に、サービスを起動する。
サービス制御部４１４は、サービスを起動すると、自機器である家電機器４１０のサービス定義リスト記憶部１１３に記憶されているサービス定義リストに基づいて、起動されたサービスに必要な機能モジュール１２０を持つ家電機器４１０の探索を、機能モジュール選択部４８４に依頼する。例えば、サービス制御部４１４は、機能モジュール選択部４８４に起動されたサービスのサービス定義リストを渡すことで、起動されたサービスで採用するシナリオと、そのシナリオにおいて機能モジュール１２０を実行する複数の家電機器４１０と、を示す情報を取得する。ここで、依頼する機能モジュール選択部４８４は、自機器であっても、他の家電機器４１０であってもよい。
そして、サービス制御部４１４は、取得された情報で示されるシナリオに従い、取得された情報で示される複数の家電機器４１０に機能モジュール１２０を実行させる。
さらに、サービス制御部４１４は、サービスデータ記憶部１１５に保存されたデータを各機能モジュール１２０の入力データとして通信部１１１から送り、また、通信部１１１にて受信された、各機能モジュール１２０の出力データをサービスデータ記憶部１１５に保存する。
【０１４５】
現在動作状況取得部４８０は、一定時間毎に自機器である家電機器４１０の現在の動作状況を収集し、動作記憶部４８２に記憶する。
【０１４６】
未来動作予定取得部４８１は、一定時間毎に自機器である家電機器４１０の未来の動作予定を収集し、動作記憶部４８２に記憶する。
【０１４７】
動作記憶部４８２は、現在動作状況取得部４８０で取得された自機器の現在の動作状況、未来動作予定取得部４８１で取得された自機器の未来の動作予定、及び、未来動作推定部４８３で推定された自機器の未来の動作予測を、動作情報として記憶する。また、動作記憶部４８２は、未来動作推定部４８３の要求に応じて、現在動作状況取得部４８０で取得された現在動作状況情報及び未来動作予定取得部４８１で取得された未来動作予定情報を未来動作推定部４８３に与える。
【０１４８】
未来動作推定部４８３は、現在動作状況取得部４８０で取得された現在動作状況情報及び未来動作予定取得部４８１で取得された未来動作予定情報を入力とし、自機器の未来の動作予測を推定する。推定する未来方向の時間長としてはどれだけ長い時間でも構わないが、少なくとも向こう１時間以上、望ましくは１２時間程度の推定結果を持つものとする。
【０１４９】
機能モジュール選択部４８４は、自機器がサービスを実行するために必要な機能モジュールの一覧を含むサービス定義リストを、サービス制御部４１４又は他の家電機器４１０のサービス制御部４１４から取得する。そして、機能モジュール選択部４８４は、取得されたサービス定義リスト及び家電機器情報リスト記憶部４８５に保存されている家電機器情報リストに基づいて、採用するシナリオと、採用するシナリオにおいて機能モジュール１２０を実行させる複数の家電機器４１０とを特定し、特定したシナリオ及び複数の家電機器４１０を示す情報をサービス制御部４１４に与える。
【０１５０】
家電機器情報リスト記憶部４８５は、各家電機器４１０から送られてきた家電機器情報リストを記憶する。また、家電機器情報リスト記憶部４８５は、機能モジュール選択部４８４が要求するタイミングで、記憶された家電機器情報リストを機能モジュール選択部４８４に与える。
【０１５１】
次に、ある家電機器４１０のサービスが起動される際の、各家電機器４１０の動作について説明する。
【０１５２】
まず、ユーザの操作又はある家電機器４１０の機能モジュール１２０の動作をトリガに、一の家電機器４１０のサービスを起動する旨が、その一の家電機器４１０のサービス制御部４１４に通知される。ここで、サービスを起動する家電機器４１０を第１の家電機器４１０という。なお、トリガとなる家電機器４１０と第１の家電機器４１０とは、異なっていても、同じであってもよい。
【０１５３】
次に、第１の家電機器４１０のサービス制御部４１４が、起動するサービスに対応したサービス定義リストを第１の家電機器４１０のサービス定義リスト記憶部１１３から取得する。
【０１５４】
続いて、第１の家電機器４１０のサービス制御部４１４が、取得したサービス定義リストを、自機器の機能モジュール選択部４８４に与える。
【０１５５】
続いて、機能モジュール選択部４８４は、取得したサービス定義リストに含まれている機能モジュールの一覧に記載の機能モジュール１２０を有する家電機器４１０の動作情報を、通信部１１１を介して、各家電機器４１０の動作記憶部４８２から取得するとともに、その機能モジュールの一覧に記載の機能モジュール１２０を有する家電機器４１０の家電機器情報リストを自機器情報リスト記憶部４１２及び家電機器情報リスト記憶部４８５から取得する。
【０１５６】
続いて、機能モジュール選択部４８４は、取得された動作情報と、取得された家電機器情報リストとをもとに、起動されたサービスの実行のために、採用するシナリオと、採用するシナリオにおいて機能モジュール１２０を実行させる複数の家電機器４１０とを特定し、特定したシナリオ及び複数の家電機器４１０を示す情報をサービス制御部４１４に与える。
【０１５７】
続いて、サービス制御部４１４は、機能モジュール選択部４８４が特定したシナリオに従って、機能モジュール選択部４８４が特定した複数の家電機器４１０に機能モジュール１２０を実行させる。
【０１５８】
以上の動作により、サービスに必要な各機能モジュール１２０が実行されるので、サービスが実行される。
【０１５９】
実施の形態４では、家電機器４１０に、実施の形態１における機器行動監視装置１３０の機能が追加されているが、実施の形態４は、このような例に限定されない。例えば、実施の形態４の家電機器４１０に、実施の形態２又は３に記載された機器行動監視装置２３０、３３０の機能が追加されてもよい。
【０１６０】
以上のように、実施の形態４によれば、実施の形態１〜３の分散協調システム１００〜３００と異なり、機器行動監視装置１３０〜３３０が家電機器４１０に組み込まれる形となっているため、機器行動監視装置１３０〜３３０を準備することなく、現在及び未来における家電機器４１０の本来の機能を損なわずに、家電機器４１０の本来の動作を優先する条件下で適切な家電機器４１０の機能モジュール１２０を選択することができる。このため、サービスを滞りなく実行できる、という効果が得られる。
【符号の説明】
【０１６１】
１００，２００，３００，４００  分散協調システム、  １１０，２１０，４１０  家電機器、  １１１  通信部、  １１２，４１２  自機器情報リスト記憶部、  １１３  サービス定義リスト記憶部、  １１４，４１４  サービス制御部、  １１５  サービスデータ記憶部、  １１６，２１６，４１６  通信処理部、  １２０  機能モジュール、  １３０，２３０，３３０  機器行動監視装置、  １３１  通信部、  １３２  現在動作状況取得部、  １３３  未来動作予定取得部、  １３４  動作記憶部、  １３５，２３５，３３５  未来動作推定部、  １３６  機能モジュール選択部、  １３７  家電機器情報リスト記憶部、  ２３８  使用者情報記憶部、  ２３９  使用者監視部、  ３４０  在宅者監視部、  ２７０  携帯端末、  ４８０  現在動作状況取得部、  ４８１  未来動作予定取得部、  ４８２  動作記憶部、  ４８３  未来動作推定部、  ４８４  機能モジュール選択部、  ４８５  家電機器情報リスト記憶部。
【図１】
0006625247.tif 000002
【図２】
0006625247.tif 000003
【図３】
0006625247.tif 000004
【図４】
0006625247.tif 000005
【図５】
0006625247.tif 000006
【図６】
0006625247.tif 000007
【図７】
0006625247.tif 000008
【図８】
0006625247.tif 000009
【図９】
0006625247.tif 000010
【図１０】
0006625247.tif 000011
【図１１】
0006625247.tif 000012
【図１２】
0006625247.tif 000013
【図１３】
0006625247.tif 000014
【図１４】
0006625247.tif 000015
【図１５】
0006625247.tif 000016
【図１６】
0006625247.tif 000017
【図１７】
0006625247.tif 000018
【図１８】
0006625247.tif 000019
【図１９】
0006625247.tif 000020
【図２０】
0006625247.tif 000021
【図２１】
0006625247.tif 000022
【図２２】
0006625247.tif 000023
【図２３】
0006625247.tif 000024
【図２４】
0006625247.tif 000025
【図２５】
0006625247.tif 000026
【図２６】
0006625247.tif 000027
【図２７】
0006625247.tif 000028
【図２８】
0006625247.tif 000029
【図２９】
0006625247.tif 000030
【図３０】
0006625247.tif 000031
【図３１】
0006625247.tif 000032
【図３２】
0006625247.tif 000033
【図３３】
0006625247.tif 000034