(57)【要約】【課題】ハードウェアまたはソフトウェアを連係動作させることによって機能を実現させ、ユーザの多様な需要に応えることを可能にする。【解決手段】ハードウェアまたはソフトウェアのエレメントを提供することと、前記エレメントを連係動作させるためのプログラムを提供することと、実行環境に配置された前記エレメントを前記プログラムに従って連係動作させることによって機能を実現することとを含み、前記エレメントと前記プログラムとが互いに独立して提供可能である方法が提供される。【選択図】図２１
2019114302.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのモーションセンサ、カメラセンサ、人感センサのいずれかのセンサを含んだ複数のエレメントの機能を示す機能情報を記録し、
前記機能情報に基づいて、前記複数のエレメントに対応して表示される複数のエレメントアイコンをリンクすることによって実現されうる機能を特定して前記機能に対応するプログラムを生成し、
前記プログラムの情報を、第１の機器に送信するシステム。
【請求項２】
少なくとも一つのモーションセンサ、カメラセンサ、人感センサのいずれかのセンサを含んだ複数のエレメントの機能を示す機能情報を記録し、
前記機能情報に基づいて、前記複数のエレメントに対応して表示される複数のエレメントアイコンをリンクすることによって実現されうる機能を特定して前記機能に対応するプログラムを生成し、
前記プログラムの情報を、第１の機器に送信する情報処理装置。
【請求項３】
少なくとも一つのモーションセンサ、カメラセンサ、人感センサのいずれかのセンサを含んだ複数のエレメントの機能を示す機能情報を記録し、
前記機能情報に基づいて、前記複数のエレメントに対応して表示される複数のエレメントアイコンをリンクすることによって実現されうる機能を特定して前記機能に対応するプログラムを生成し、
前記プログラムの情報を、第１の機器に送信する情報処理方法。
【請求項４】
コンピュータを、
少なくとも一つのモーションセンサ、カメラセンサ、人感センサのいずれかのセンサを含んだ複数のエレメントの機能を示す機能情報を記録し、
前記機能情報に基づいて、前記複数のエレメントに対応して表示される複数のエレメントアイコンをリンクすることによって実現されうる機能を特定して前記機能に対応するプログラムを生成し、
前記プログラムの情報を、第１の機器に送信する情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、システム、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、情報化社会の進展によって、ユーザの多様な需要をハードウェアやソフトウェアの製品開発に反映させることが可能になりつつある。例えば、特許文献１では、出資者がアプリケーションプログラムの開発に対して適切に出資を行うとともに、開発者が開発を適切に行うための技術が提案されている。この技術では、出資者による出資の意図をスコア化することによって、出資者の意図に沿ったアプリケーションプログラムの開発が可能になる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−９２９９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の特許文献１に記載されたような技術によってもなお、ユーザの多様な需要を製品に十分に反映できるとは限らない。アプリケーションプログラムのような製品は、１つの完結した機能を提供するものであるために、需要者はその機能を必要とするユーザに限られる。従って、機能がある程度の一般性を有していないと製品として成立することが難しかった。なお、特許文献１はソフトウェアの例であるが、ハードウェアについても状況は同様である。
【０００５】
そこで、本開示では、ハードウェアまたはソフトウェアを連係動作させることによって機能を実現させ、ユーザの多様な需要に応えることを可能にする、新規かつ改良された方法およびシステムを提案する。
【課題を解決するための手段】
【０００６】
本開示によれば、少なくとも一つのモーションセンサ、カメラセンサ、人感センサのいずれかのセンサを含んだ複数のエレメントの機能を示す機能情報を記録し、前記機能情報に基づいて、前記複数のエレメントに対応して表示される複数のエレメントアイコンをリンクすることによって実現されうる機能を特定して前記機能に対応するプログラムを生成し、前記プログラムの情報を、第１の機器に送信するシステムが提供される。
また、本開示によれば、少なくとも一つのモーションセンサ、カメラセンサ、人感センサのいずれかのセンサを含んだ複数のエレメントの機能を示す機能情報を記録し、前記機能情報に基づいて、前記複数のエレメントに対応して表示される複数のエレメントアイコンをリンクすることによって実現されうる機能を特定して前記機能に対応するプログラムを生成し、前記プログラムの情報を、第１の機器に送信する情報処理装置が提供される。
【０００７】
また、本開示によれば、少なくとも一つのモーションセンサ、カメラセンサ、人感センサのいずれかのセンサを含んだ複数のエレメントの機能を示す機能情報を記録し、前記機能情報に基づいて、前記複数のエレメントに対応して表示される複数のエレメントアイコンをリンクすることによって実現されうる機能を特定して前記機能に対応するプログラムを生成し、前記プログラムの情報を、第１の機器に送信する情報処理方法が提供される。
また、本開示によれば、コンピュータを、少なくとも一つのモーションセンサ、カメラセンサ、人感センサのいずれかのセンサを含んだ複数のエレメントの機能を示す機能情報を記録し、前記機能情報に基づいて、前記複数のエレメントに対応して表示される複数のエレメントアイコンをリンクすることによって実現されうる機能を特定して前記機能に対応するプログラムを生成し、前記プログラムの情報を、第１の機器に送信する情報処理装置として機能させるためのプログラムが提供される。
【発明の効果】
【０００８】
以上説明したように本開示によれば、ハードウェアまたはソフトウェアを連係動作させることによって機能を実現させ、ユーザの多様な需要に応えることができる。
【０００９】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１０】
【図１】本開示の実施形態に係る技術を適用することが可能なシステムの概略的な構成を示す図である。
【図２】図１に示されたシステムの第１の具体的な構成例を示す図である。
【図３】図１に示されたシステムの第２の具体的な構成例を示す図である。
【図４】図１に示されたシステムの第３の具体的な構成例を示す図である。
【図５】図１に示されたシステムの第４の具体的な構成例を示す図である。
【図６】図１に示されたシステムの第５の具体的な構成例を示す図である。
【図７】図１に示されたシステムの第６の具体的な構成例を示す図である。
【図８】図１に示されたシステムの第７の具体的な構成例を示す図である。
【図９】図１に示されたシステムの第８の具体的な構成例を示す図である。
【図１０】図１に示されたシステムにおいて提供されるＵＩの第１の例を示す図である。
【図１１】図１に示されたシステムにおいて提供されるＵＩの第２の例を示す図である。
【図１２】図１に示されたシステムにおけるエレメントの連係動作の第１の具体的な例について説明するための図である。
【図１３】図１に示されたシステムにおけるエレメントの連係動作の第２の具体的な例について説明するための図である。
【図１４】図１に示されたシステムにおけるエレメントの連係動作の第３の具体的な例について説明するための図である。
【図１５】図１に示されたシステムにおけるエレメントの連係動作の第４の具体的な例について説明するための図である。
【図１６】図１に示されたシステムにおけるエレメントの連係動作の第５の具体的な例について説明するための図である。
【図１７】図１に示されたシステムにおけるエレメントの連係動作の第６の具体的な例について説明するための図である。
【図１８】本開示の一実施形態に係るシステムの構成例を示す図である。
【図１９】本開示の一実施形態に係るシステムの機能構成例を示す図である。
【図２０】本開示の一実施形態におけるサービスプラットフォームの構成例を示す図である。
【図２１】本開示の一実施形態におけるエレメントに関する情報のやりとりの第１の例を示す図である。
【図２２】本開示の一実施形態におけるエレメントに関する情報のやりとりの第２の例を示す図である。
【図２３】本開示の一実施形態におけるエレメントに関する情報のやりとりの第３の例を示す図である。
【図２４】本開示の一実施形態におけるエレメントに関する情報のやりとりの第４の例を示す図である。
【図２５】本開示の一実施形態におけるエレメントに関する情報のやりとりの第５の例を示す図である。
【図２６】図２５の例において販売されるパッケージの例について説明するための図である。
【図２７】本開示の一実施形態におけるエレメントに関する情報のやりとりの第６の例を示す図である。
【図２８Ａ】図２７の例のような仕組みの優位性について説明するための図である。
【図２８Ｂ】図２７の例のような仕組みの優位性について説明するための図である。
【図２９】本開示の一実施形態におけるエレメントに関する情報のやりとりの第７の例を示す図である。
【図３０】本開示の実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１２】
なお、説明は以下の順序で行うものとする。
１．適用可能なシステムの例
１−１．概略的な構成
１−２．具体的な構成例
１−３．ユーザインターフェースの例
１−４．連係動作の例
２．本開示の実施形態
２−１．システム構成例
２−２．サービスプラットフォームの構成
２−３．エレメントに関する情報のやりとりの例
２−４．一実施形態のまとめ
３．ハードウェア構成
４．補足
【００１３】
（１．適用可能なシステムの例）
（１−１．概略的な構成）
図１は、本開示の実施形態に係る技術を適用することが可能なシステムの概略的な構成を示す図である。図１を参照すると、システム１０は、エレメント１００と、マネージャ２００と、サーバ３００と、ＵＩ（User  Interface）装置４００とを含む。これらの装置は、ネットワークＮＷで互いに接続されている。ネットワークＮＷは、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ、インターネットなどを含みうる。なお、以下では一例としてシステム１０について説明するが、本開示の実施形態に係る技術は他の様々なシステムにおいても適用可能である。
【００１４】
エレメント１００は、通信部１１０と、制御部１２０と、機能部１３０と、電源部１４０とを含む装置である。通信部１１０は、マネージャ２００および／または他のエレメント１００と、ネットワークＮＷを介して通信する通信装置を含む。制御部１２０は、例えばマイクロコントローラやＣＰＵ（Central  Processing  Unit）などによって実現され、機能部１３０を制御する。機能部１３０は、例えばセンサやアクチュエータなどを含み、それぞれのエレメント１００に固有の機能を実現する。電源部１４０は、バッテリーや電源プラグなどを含み、通信部１１０、制御部１２０、および機能部１３０を動作させるための電源を供給する。なお、エレメント１００以外の装置も電源部を有するが、図示は省略されている。
【００１５】
マネージャ２００は、通信部２１０と、制御部２２０と、記憶部２３０とを含む装置である。通信部２１０は、エレメント１００、サーバ３００およびＵＩ装置４００と、ネットワークＮＷを介して通信する通信装置を含みうる。制御部２２０は、例えばマイクロコントローラやＣＰＵなどによって実現され、通信部２１０を介して、エレメント１００同士の間、およびエレメント１００とサーバ３００との間の通信を制御する。制御部２２０には、演算部２２１が含まれうる。演算部２２１は、エレメント１００から受信された情報や、エレメント１００に送信する情報、サーバ３００に送信する情報、サーバ３００から受信された情報などについての演算を実施する。記憶部２３０は、メモリまたはストレージを含み、制御部２２０が制御する通信によってやりとりされる情報や、演算部２２１によって算出された情報などを格納する。
【００１６】
サーバ３００は、通信部３１０と、制御部３２０と、記憶部３３０とを含む。通信部３１０は、マネージャ２００とネットワークＮＷを介して通信する通信装置を含む。制御部３２０は、例えばマイクロコントローラやＣＰＵなどによって実現され、演算部３２１、およびＵＩ提供部３２３を含みうる。演算部３２１は、エレメント１００またはマネージャ２００から受信された情報や、エレメント１００またはマネージャ２００に送信する情報、他のサーバから受信された情報、他のサーバに送信する情報などについての演算を実施する。ＵＩ提供部３２３は、ユーザがエレメント１００および／またはマネージャ２００の組み合わせを指定したり、各種の情報を確認したりするためのＵＩを提供する。ＵＩは、例えば、ＵＩ装置４００の入出力部４３０に含まれるディスプレイおよびタッチパネルなどを介して提供される。記憶部３３０は、メモリまたはストレージを含み、エレメント１００に関する各種の情報や、複数のエレメント１００を組み合わせて動作させるためのプログラム、エレメント１００と組み合わせられるソフトウェア、演算部３２１によって算出された情報などを格納する。
【００１７】
ここで、サーバ３００の記憶部３３０には、例えばシステム１０内のエレメント１００の識別情報（ＩＤ）が格納される。エレメント１００は、システム１０に随時追加されうる。また、記憶部３３０には、複数のエレメント１００を組み合わせて動作させるためのプログラムも格納される。プログラムは、例えばユーザや、開発者、システム管理者によって随時追加されうる。さらに、記憶部３３０には、ソフトウェアが格納される。ソフトウェアは、例えば、エレメント１００と組み合わせて実行されることによって機能を実現する。あるいは、ソフトウェア同士が組み合わせて実行されることによって機能を実現してもよい。ソフトウェアが実現する機能は、例えば、音声や画像などの素材提供、タイマー、カレンダー、画像認識や音声認識などの解析機能、天気予報やニュースなどのような外部サービスからの情報取得機能などを含みうる。ソフトウェアは、例えばユーザや、開発者、システム管理者によって随時追加されうる。
【００１８】
一方、サーバ３００のＵＩ提供部３２３は、例えば、ＵＩ装置４００の入出力部４３０に含まれるディスプレイおよびタッチパネルなどを介してＵＩを提供する。ユーザは、このＵＩを介して、例えば、複数のエレメント１００を組み合わせて動作させるためのプログラムを、エレメント１００またはマネージャ２００にプリインストールされたプログラムや、サーバ３００によって提供されるプログラムなどの中から選択することができる。また、上記のＵＩを介して、ユーザは、複数のエレメント１００の組み合わせや、エレメント１００とソフトウェアとの組み合わせ、複数のソフトウェアの組み合わせを指定することもできる。指定された組み合わせがプログラムとしてサーバ３００の記憶部３３０に保存され、このプログラムがエレメント１００とソフトウェアとによって実行されることによって、ユーザは所望のアプリケーションを得ることができる。
【００１９】
ＵＩ装置４００は、通信部４１０と、制御部４２０と、入出力部４３０とを含む装置である。通信部４１０は、マネージャ２００およびサーバ３００とネットワークＮＷを介して通信する通信装置を含みうる。制御部４２０は、例えばマイクロコントローラやＣＰＵなどによって実現され、入出力部４３０を制御するとともに、通信部４１０を介した情報のやりとりを制御する。入出力部４３０は、例えばディスプレイ、スピーカ、およびタッチパネルなどを含み、ＵＩを介してユーザに各種の情報を提示するとともに、ユーザからの操作入力を受け付ける。
【００２０】
（１−２．具体的な構成例）
（第１の例）
図２は、図１に示されたシステムの第１の具体的な構成例を示す図である。図２を参照すると、システム１０ａは、エレメント１００として機能する第１のタブレットと、エレメント１００、マネージャ２００、およびＵＩ装置４００として機能する第２のタブレットと、サーバ３００とを含む。
【００２１】
第１および第２のタブレットは、いずれも同じように、ディスプレイ、タッチパネル、ＣＰＵ、センサなどを含む。システム１０ａでは、２つのタブレットのうちの一方が、エレメント１００、マネージャ２００、およびＵＩ装置４００としても機能し、他方がエレメント１００として機能する。これらのタブレットの役割は互換的であってもよく、状況に応じてマネージャ２００やＵＩ装置４００として機能するタブレットが変更されてもよい。システム１０ａでは、例えば、タブレットが有する各種のセンサを利用して、２つのタブレットを組み合わせて動作させ、ユーザが所望する機能を実現することができる。
【００２２】
なお、図２に示した例における第１および第２のタブレットは、エレメント１００として機能するための機能部１３０（センサなど）と、マネージャ２００として機能するための制御部２２０（ＣＰＵなど）とを有する端末装置の例である。こうした端末装置はタブレットには限られず、スマートフォンなどの他の装置であってもよい。また、システム１０ａに含まれる端末装置の数は図示された例には限られず、例えば３つ以上であってもよい。
【００２３】
（第２の例）
図３は、図１に示されたシステムの第２の具体的な構成例を示す図である。図３を参照すると、システム１０ｂは、エレメント１００ａ〜１００ｇと、マネージャ２００およびＵＩ装置４００として機能するタブレットと、サーバ３００とを含む。
【００２４】
システム１０ｂでは、タブレットがマネージャ２００およびＵＩ装置４００として機能する。上記の第１の例と同様に、タブレットは、スマートフォンなどの他の装置によって代替されてもよい。図示された例では、エレメント１００が、加速度センサ１００ａ、カメラ１００ｂ、人感センサ１００ｃ、ボタン１００ｄ、スピーカ１００ｅ、ＬＥＤ（Light  Emitting  Diode）ランプ１００ｆ、マイクロフォン１００ｇを含む。それぞれのエレメント１００は、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの無線通信によってタブレットと通信し、タブレットが実現するマネージャ２００の制御に従って連係動作する。
【００２５】
なお、以下の例では、エレメント１００の例として、加速度センサ１００ａ〜マイクロフォン１００ｇの一部または全部が図示されるが、これはそれぞれの例において用いられるエレメント１００の種類を限定することを意図したものではない。それぞれの例において、システム１０は、加速度センサ１００ａ〜マイクロフォン１００ｇのうちのいずれか、またはそれ以外の任意の種類のエレメント１００を含みうる。
【００２６】
（第３の例）
図４は、図１に示されたシステムの第３の具体的な構成例を示す図である。図４を参照すると、システム１０ｃは、エレメント１００と、マネージャ２００と、ＵＩ装置４００として機能するタブレットと、サーバ３００とを含む。
【００２７】
システム１０ｃでは、マネージャ２００が、ＵＩ装置４００として機能するタブレットとは別に存在する。マネージャ２００は、例えば専用の装置によって実現されてもよいし、Ｗｉ−Ｆｉなどの基地局の機能の１つとして実現されてもよい。上記の第１および第２の例と同様に、ＵＩ装置４００として機能するタブレットは、スマートフォンなどの他の装置によって代替されてもよい。マネージャ２００とタブレットとは、それぞれ独立してサーバ３００と通信可能でありうる。また、タブレットが提供するＵＩを介してシステム１０ｃの設定が変更された場合、タブレットはＷｉ−Ｆｉなどを介して直接的にマネージャ２００に設定情報を送信してもよい。
【００２８】
また、図４の例では、マネージャ２００とエレメント１００との間の通信に、Ｂｌｕｅｔｏｏｔｈ（登録商標）だけではなくＷｉ−Ｆｉも利用されることが示されている。また、離れた場所にあるエレメント１００との接続のために、Ｗｉ−Ｆｉなどによるメッシュネットワーク中継器ＮＷ＿ｍが利用されている。図示された第３の例に限らず、他の例でも、エレメント１００とマネージャ２００、および／またはエレメント１００同士の間の通信には、Ｂｌｕｅｔｏｏｔｈ（登録商標）やＷｉ−Ｆｉなど、各種の無線通信が用いられうる。
【００２９】
（第４の例）
図５は、図１に示されたシステムの第４の具体的な構成例を示す図である。図５を参照すると、システム１０ｄは、一部がマネージャ２００としても機能するエレメント１００と、ＵＩ装置４００として機能するタブレットと、サーバ３００とを含む。
【００３０】
システム１０ｄでは、上記の第１〜第３の例とは異なり、エレメント１００のうちの少なくとも１つがマネージャ２００としても機能する。また、システム１０ｄでは、エレメント１００同士がＢｌｕｅｔｏｏｔｈ（登録商標）などによってメッシュネットワークを形成している。このような構成によって、システム１０ｄでは、サーバ３００およびＵＩ装置４００（タブレット）との通信が一時的に切断されたような場合でも、エレメント１００が自律的に連係動作することが可能である。
【００３１】
（第５の例）
図６は、図１に示されたシステムの第５の具体的な構成例を示す図である。図６を参照すると、システム１０ｅは、一部がマネージャ２００としても機能するエレメント１００と、ＵＩ装置４００として機能するタブレットと、サーバ３００とを含む。システム１０ｅは、上記の第３の例に係るシステム１０ｃにおいて、マネージャ２００をいずれかのエレメント１００に取り込んだ例である。
【００３２】
（第６の例）
図７は、図１に示されたシステムの第６の具体的な構成例を示す図である。図７を参照すると、システム１０ｆは、エレメント１００と、マネージャ２００ａ，２００ｂと、ＵＩ装置４００として機能するタブレットと、サーバ３００とを含む。システム１０ｆは、上記の第３の例に係るシステム１０ｃにおいて、マネージャ２００を複数配置した例である。それぞれのエレメント１００は、例えば、マネージャ２００ａ，２００ｂのうち位置的に近い方に接続されうる。また、複数のマネージャ２００ａ，２００ｂの間では、エレメント１００の接続状態や、エレメント１００を連係動作させるためのプログラムが、必要に応じて、または定期的に同期される。
【００３３】
（第７の例）
図８は、図１に示されたシステムの第７の具体的な構成例を示す図である。図８を参照すると、システム１０ｇは、エレメント１００と、マネージャ２００ａと、マネージャ２００ｂおよびＵＩ装置４００として機能するタブレットと、サーバ３００とを含む。システム１０ｇは、上記の第６の例に係るシステム１０ｆにおいて、マネージャ２００ｂの機能をタブレットに統合した例である。それぞれのエレメント１００は、例えば、マネージャ２００ａ、またはタブレットのうち位置的に近い方に接続されうる。また、マネージャ２００ａとタブレットとの間では、エレメント１００の接続状態や、エレメント１００を連係動作させるためのプログラムが、必要に応じて、または定期的に同期される。
【００３４】
（第８の例）
図９は、図１に示されたシステムの第８の具体的な構成例を示す図である。図９を参照すると、システム１０ｈは、エレメント１００と、ＵＩ装置４００として機能するタブレットと、マネージャ２００としても機能するサーバ３００とを含む。システム１０ｈは、上記の第２の例に係るシステム１０ｂにおいて、マネージャ２００の機能をサーバ３００に取り込んだ例である。それぞれのエレメント１００は、例えば、移動体通信網などを介して、直接的にサーバ３００と通信する。
【００３５】
以上、図１に示されたシステム１０のいくつかの具体的な構成例について説明した。なお、システム１０の具体的な構成例は、以上で説明した例には限られず、これらの例に基づいて当業者には明らかに理解される各種の変形例を含みうる。
【００３６】
（１−３．ユーザインターフェースの例）
図１０は、図１に示されたシステムにおいて提供されるＵＩの第１の例を示す図である。図１０を参照すると、ＵＩ装置４００として機能する端末装置のディスプレイに表示される画面４１００は、ユーザプロファイル４１０１と、プログラム一覧タブ４１０３と、エレメント一覧タブ４１０５とを含む。図示された例では、プログラム一覧タブ４１０３が選択されているため、プログラムリスト４１０７が表示されている。プログラムリスト４１０７は、プログラムアイコン４１０９と、使用エレメントアイコン４１１１と、説明４１１３とを含む。画面４１００は、例えば、ユーザがシステム１０によって提供されるサービスを利用するときのポータル画面として表示されうる。
【００３７】
図１１は、図１に示されたシステムにおいて提供されるＵＩの第２の例を示す図である。図１１を参照すると、ＵＩ装置４００として機能する端末装置のディスプレイに表示される画面４２００は、ツールバー４２０１と、キャンバス４２０３と、トレー４２０５とを含む。画面４２００は、例えば、システム１０においてエレメント１００を連係動作させるためのプログラムの編集に利用される。ツールバー４２０１には、「保存」や「やり直し」などの機能ボタンが配置される。キャンバス４２０３には、エレメントアイコン４２０７や、詳細情報アイコン４２０９、リンク４２１１を配置または描画することが可能である。これらのアイコンやリンクによって、連係動作に使用されるエレメント１００と、それぞれのエレメント１００が実行する処理、エレメント１００同士の関係を設定および確認することができる。さらに、キャンバス４２０３には、エレメントプロパティボックス４２１３が配置され、例えばエレメントアイコン４２０７として配置されているエレメント１００の属性や状態を表示する。トレー４２０５には、キャンバス４２０３に配置することによってプログラムに組み込むことが可能なエレメント１００やソフトウェアなどがアイコンとして表示される。
【００３８】
なお、図１０および図１１を参照して説明したＵＩは一例にすぎず、本実施形態ではさまざまな形態のＵＩが提供されうる。例えば、図１１を参照して説明したプログラムの編集のための画面では、ビジュアルプログラミングのための画面において用いられる各種のＵＩを応用することができる。
【００３９】
（１−４．連係動作の例）
以下、図１に示されたシステムにおけるエレメントの連係動作の具体的な例について、さらに説明する。なお、以下の説明では、理解を容易にするために、エレメント１００を連係動作させるためのプログラムを視覚的に表現した図が参照される。なお、これらの図は、ＵＩ装置４００によって提供されるＵＩ（例えば、図１１で画面４２００として例示されたＵＩ）とは必ずしも関係がない。以下で説明されるソフトウェアは、エレメント１００（ハードウェアエレメント）と同様のエレメント（ソフトウェアエレメント）として提供されてもよいし、エレメント１００の機能または動作の一部として提供されてもよい。
【００４０】
（第１の具体的な例）
図１２は、図１に示されたシステムにおけるエレメントの連係動作の第１の具体的な例について説明するための図である。図１２を参照すると、本例では、エレメント１００のうち、加速度センサ１００ａと、カメラ１００ｂとが使用される。例えば、加速度センサ１００ａは冷蔵庫のドアに取り付けられ、カメラ１００ｂは、冷蔵庫の庫内を映すことのできる位置に取り付けられる。図示された例において、加速度センサ１００ａからカメラ１００ｂに向かうリンク６０１は、「加速度センサ１００ａの検出値に基づいてカメラ１００ｂが撮影を実行する」ことを意味する。さらに、図示された例では、カメラ１００ｂの動作として「撮影した画像をサーバにアップロードする」ことが指定されている。
【００４１】
さらに、図示された例では、加速度に基づいてドアが開いたことを検出するためのソフトウェア６０３ａが使用されている。ソフトウェア６０３ａは、例えばマネージャ２００の演算部２２１で実行され、加速度センサ１００ａの検出値の解析結果に基づいて、冷蔵庫のドアが開いたことを判定する。ソフトウェア６０３ａが導入されることによって、リンク６０１は「加速度センサ１００ａの検出値に基づいて、冷蔵庫のドアが開いたことが判定された場合に、カメラ１００ｂが撮影を実行する」という処理になる。
【００４２】
以上のようなプログラムの設定によって、本例では、冷蔵庫のドアが開いたときにカメラ１００ｂが撮影した画像が、サーバにアップロードされる。ユーザは、アップロードされた画像を閲覧することによって、冷蔵庫の内容物の変化や、最新の在庫状況を把握することができる。
【００４３】
ここで、冷蔵庫のドアが開いたことを検出したいのであれば、磁気などを用いた開閉検出専用のセンサを使用することもできる。しかし、本例では、ソフトウェア６０３ａを導入することによって、加速度センサ１００ａを利用してドアが開いたことを検出することを可能にしている。従って、冷蔵庫のドアが開いたことを検出するために、専用のセンサではなく、例えばそれまで別の用途で使用していた加速度センサ１００ａを流用することができる。また、冷蔵庫のドアが開いたことを検出することがもはや必要ではなくなった場合には、他の用途に加速度センサ１００ａを転用することができる。このように、本実施形態では、ソフトウェアや他のエレメント１００との組み合わせを変更することによって、同じエレメント１００を多様な用途で活用することができる。
【００４４】
（第２の具体的な例）
図１３は、図１に示されたシステムにおけるエレメントの連係動作の第２の具体的な例について説明するための図である。図１３を参照すると、本例では、エレメント１００のうち、加速度センサ１００ａと、ボタン１００ｄとが使用される。例えば、加速度センサ１００ａはトイレのドアに取り付けられ、ボタン１００ｄは洗面所に取り付けられる。図示された例では、さらに、加速度に基づいてドアが開いたことを検出するためのソフトウェア６０３ａと、提供されたデータを記録するソフトウェア６０３ｂとが使用されている。加速度センサ１００ａからソフトウェア６０３ａを経てソフトウェア６０３ｂに向かうリンク６０１は、「加速度センサ１００ａの検出値に基づいてドアが開いたことが判定されたことを、ソフトウェア６０３ｂが記録する」ことを意味する。また、ボタン１００ｄからソフトウェア６０３ｂに向かうリンク６０１は、「ボタン１００ｄから信号が出力されたことをソフトウェア６０３ｂが記録する」ことを意味する。
【００４５】
以上のようなプログラムの設定によって、本例では、ユーザが洗面所でボタン１００ｄを押下した時刻と、トイレのドアを開いた時刻とが、ログとして記録される。例えば、ユーザが起床後に洗面所で顔を洗うときにボタン１００ｄを押すことに決めれば、ボタン１００ｄが押下された時刻を起床時刻として記録することができる。このようなログから、例えば、毎日の起床時刻とトイレに行った時刻との変化を時系列で参照することができ、ユーザの生活リズムの改善などに役立てることができる。
【００４６】
（第３の具体的な例）
図１４は、図１に示されたシステムにおけるエレメントの連係動作の第３の具体的な例について説明するための図である。図１４を参照すると、本例では、エレメント１００のうち、加速度センサ１００ａと、人感センサ１００ｃとが使用される。例えば、加速度センサ１００ａは椅子に取り付けられ、人感センサ１００ｃは椅子の前の机に取り付けられる。図示された例では、さらに、加速度センサ１００ａと人感センサ１００ｃとの検出結果に基づいて、ユーザが椅子に座っていた時間を記録するためのソフトウェア６０３ｃが使用されている。加速度センサ１００ａからソフトウェア６０３ｃに向かうリンク６０１は、「加速度センサ１００ａの検出値をソフトウェア６０３ｃに提供する」ことを意味する。また、人感センサ１００ｃからソフトウェア６０３ｃに向かうリンク６０１は、「人感センサ１００ｃの検出値をソフトウェア６０３ｃに提供する」ことを意味する。
【００４７】
以上のようなプログラムの設定によって、本例では、ユーザが椅子に座っていた時間が記録される。この記録に基づいて、ユーザは、職場などで座っている時間を把握し、連続して座っている時間が長すぎるようであれば休憩をとったりすることができる。あるいは、ソフトウェア６０３ｃの検出結果に基づいてスマートフォンなどからアラートを出力するソフトウェアがさらに組み合わされ、ユーザが所定の時間を超えて連続して座っている場合にはスマートフォンなどからアラートを出力して休憩をとることを促してもよい。
【００４８】
（第４の具体的な例）
図１５は、図１に示されたシステムにおけるエレメントの連係動作の第４の具体的な例について説明するための図である。図１５を参照すると、本例では、エレメント１００のうち、加速度センサ１００ａと、スピーカ１００ｅと、ＬＥＤランプ１００ｆとが使用される。例えば、加速度センサ１００ａ、スピーカ１００ｅ、ＬＥＤランプ１００ｆは、それぞれ、ユーザ（例えば子供）の身体の適切な部位に取り付けられる。なお、加速度センサ１００ａは、複数用いられてもよい。図示された例では、さらに、加速度のパターンに応じて効果音を再生するソフトウェア６０３ｄと、同じく加速度のパターンに応じて所定のパターンでランプを点滅させるソフトウェア６０３ｅとが示されている。なお、これらのソフトウェア６０３が扱う加速度のパターンは、単一の加速度波形のパターンであってもよいし、複数の加速度波形の組み合わせのパターンであってもよい。加速度センサ１００ａからは、ソフトウェア６０３ｄ，６０３ｅのそれぞれに向かってリンク６０１が設定されている。これらのリンク６０１は、「ソフトウェア６０３ｄ，６０３ｅのそれぞれに加速度センサ１００ａの検出値を提供する」ことを意味する。さらに、ソフトウェア６０３ｄからはスピーカ１００ｅに、ソフトウェア６０３ｅからはＬＥＤランプ１００ｆに、それぞれリンク６０１が設定されている。これらのリンク６０１は、「ソフトウェア６０３ｄによって提供される音声信号に従ってスピーカ１００ｅが音声を出力すること」および「ソフトウェア６０３ｅによって提供される信号に従ってＬＥＤランプ１００ｆが発光すること」を意味する。
【００４９】
以上のようなプログラムの設定によって、本例では、ユーザ（例えば子供）が手足を特定のパターンで動かすと、スピーカ１００ｅから効果音が出力されたり、ＬＥＤランプ１００ｆが発光したりする。これによって、例えば子供がスーパーヒーローになりきって遊ぶときに、効果音や光を加えてエキサイティングな体験をすることができる。
【００５０】
（第５の具体的な例）
図１６は、図１に示されたシステムにおけるエレメントの連係動作の第５の具体的な例について説明するための図である。図１６を参照すると、本例では、エレメント１００のうち、加速度センサ１００ａと、人感センサ１００ｃと、カメラ１００ｂと、ＬＥＤランプ１００ｆとが使用される。例えば、加速度センサ１００ａ、人感センサ１００ｃ、およびカメラ１００ｂは庭のえさ台（bird  table）に取り付けられ、ＬＥＤランプ１００ｆは家の中に取り付けられる。図示された例では、さらに、加速度センサ１００ａと人感センサ１００ｃとの検出結果に基づいて、えさ台に鳥がとまったことを判定するためのソフトウェア６０３ｆが示されている。加速度センサ１００ａおよび人感センサ１００ｃからは、それぞれソフトウェア６０３ｆに向かってリンク６０１が設定されている。加速度センサ１００ａからのリンク６０１は、「加速度センサ１００ａの検出値をソフトウェア６０３ｆに提供する」ことを意味する。また、人感センサ１００ｃからからのリンク６０１は、「人感センサ１００ｃの検出値をソフトウェア６０３ｆに提供する」ことを意味する。ソフトウェア６０３ｆでは、例えば、加速度センサ１００ａおよび人感センサ１００ｃのそれぞれによって提供されるセンサデータの組み合わせによって成立する条件が提供される。さらに、ソフトウェア６０３ｆからカメラ１００ｂおよびＬＥＤランプ１００ｆに向かうリンク６０１が設定されている。カメラ１００ｂへのリンク６０１は「ソフトウェア６０３ｆの出力に基づいてカメラ１００ｂが撮影を実行する」ことを意味する。ＬＥＤランプ１００ｆへのリンクは「ソフトウェア６０３ｆの出力に基づいてＬＥＤランプ１００ｆを発光させる」ことを意味する。
【００５１】
以上のようなプログラムの設定によって、本例では、えさ台に鳥がとまったときに自動的にカメラ１００ｂによって静止画または動画が撮影され、どのような鳥が来たかを知ることができる。また、えさ台に鳥がとまったときに家の中のＬＥＤランプ１００ｆが発光することによって、庭に出て実際に来ている鳥を観察することができる。
【００５２】
（第６の具体的な例）
図１７は、図１に示されたシステムにおけるエレメントの連係動作の第６の具体的な例について説明するための図である。図１７を参照すると、本例では、エレメント１００のうち、ボタン１００ｄと、スピーカ１００ｅとが使用される。例えば、スピーカ１００ｅが寝室に配置され、ボタン１００ｄが洗面所に配置される。図示された例では、さらに、目覚ましアラームのソフトウェア６０３ｇが示されている。ソフトウェア６０３ｇからは、スピーカ１００ｅにリンク６０１が設定されている。このリンク６０１は、「ソフトウェア６０３が設定時刻になったら出力する音声信号に従って、スピーカ１００ｅが音声を出力する」ことを意味する。また、ボタン１００ｄからは、ソフトウェア６０３ｇにリンク６０１が設定されている。このリンク６０１は、「ボタン１００ｄが押下されたら、ソフトウェア６０３ｇによる音声信号の出力を停止する」ことを意味する。
【００５３】
以上のようなプログラムの設定によって、本例では、寝室に配置されたスピーカ１００ｅから出力される目覚ましアラームの音が、洗面所のボタン１００ｄを押下するまで止まらなくなる。これによって、寝たままアラームを止めてしまうといったような事態が生じにくくなり、予定した時刻に確実に目覚めることができる。
【００５４】
（２．本開示の実施形態）
（２−１．システム構成例）
図１８は、本開示の一実施形態に係るシステムの構成例を示す図である。図１８を参照すると、システム１０００は、エンドユーザ端末１１００と、サーバ１３００とを含む。エンドユーザ端末１１００とサーバ１３００とは、ネットワーク１２００によって互いに接続される。
【００５５】
エンドユーザ端末１１００は、エンドユーザによって利用される端末装置である。エンドユーザは、例えば上記で図１などを参照して説明したシステム１０のユーザである。後述するように、エンドユーザは、ソフトウェアエレメントと、ハードウェアエレメントと、実行環境とを保有している。エンドユーザ端末１１００は、エレメントに関する情報、例えばエレメントの購入に関する情報や、エレメントの組み合わせ方に関する情報、新たなエレメントの提案などの情報を、サーバ１３００との間でやりとりする。また、エンドユーザ端末１１００は、実行環境やソフトウェアエレメントをサーバ１３００からダウンロードすることが可能であってもよい。エンドユーザ端末１１００は、サーバ１３００から受信された情報をディスプレイなどの出力部を介してユーザに出力するとともに、タッチパネルやキーボード、マウスなどの入力部を介してユーザから与えられた操作入力に対応する情報をサーバ１３００に送信する。図示された例では、エンドユーザ端末１１００がスマートフォン１１００ａ、パーソナルコンピュータ１１００ｂ、およびタブレット１１００ｃを含むが、エンドユーザ端末１１００はこれらの装置には限らず、上記のような機能を実現可能なあらゆる種類の端末装置を含みうる。
【００５６】
サーバ１３００は、少なくとも１つのエンドユーザ端末１１００にサービスを提供する。サーバ１３００は、１または複数のサーバ装置によって構成される。図示された例では、サーバ１３００がサーバ装置１３００ａ〜１３００ｃを含むが、サーバ装置の数はこの例には限られず、単一であってもよいし、２または３よりも多い数であってもよい。また、サーバ１３００は、１または複数のサービス提供主体によって運用されうる。例えば、サーバ１３００は、サービス全体を管理するサービス提供者、エレメントやコンテンツのサプライヤまたは製造者などによって運用されうる。例えば、図示された例のサーバ装置１３００ａ〜１３００ｃは、いずれも同じサービス提供主体によって運用されてもよいし、互いに異なるサービス提供主体によって運用されてもよい。また、単一のサーバ装置、例えばサーバ装置１３００ａが、複数のサービス提供主体によって共用されてもよい。サーバ１３００は、エレメントに関する情報、例えばエレメントの購入に関する情報や、エレメントの組み合わせ方に関する情報、新たなエレメントの提案などの情報をエンドユーザ端末１１００との間でやりとりする。また、サーバ１３００は、実行環境やソフトウェアエレメントをエンドユーザ端末１１００にダウンロードさせることが可能であってもよい。サーバ１３００は、エンドユーザ端末１１００においてユーザに出力するための情報を送信するとともに、エンドユーザ端末１１００においてユーザが与えた操作入力に対応する情報を受信する。
【００５７】
図１９は、本開示の一実施形態に係るシステムの機能構成例を示す図である。図１９を参照すると、エンドユーザ端末１１００は、通信部１１１０と、制御部１１２０と、記憶部１１３０と、入出力部１１４０とを含む。また、サーバ１３００は、通信部１３１０と、制御部１３２０と、記憶部１３３０とを含む。
【００５８】
エンドユーザ端末１１００において、通信部１１１０は、有線または無線の通信を実行する通信装置によって実現され、ネットワーク１２００を介してサーバ１３００との通信を実行する。制御部１１２０は、ＣＰＵなどの処理回路によって実現され、エンドユーザ端末１１００の全体を制御するための各種の演算を実行する。記憶部１１３０は、メモリまたはストレージ装置によって実現され、制御部１１２０を機能させるためのプログラムなど、エンドユーザ端末１１００で用いられる各種のデータを格納する。入出力部１１４０は、タッチパネルやキーボード、マウスなどの入力装置と、ディスプレイなどの出力装置とによって実現され、ユーザの操作入力を受け付けるとともに、ユーザに各種の情報を出力する。
【００５９】
サーバ１３００において、通信部１３１０は、有線または無線の通信を実行する通信装置によって実現され、ネットワーク１２００を介してエンドユーザ端末１１００との通信を実行する。制御部１３２０は、ＣＰＵなどの処理回路によって実現され、サーバ１３００（または個々のサーバ装置）の全体を制御するための各種の演算を実行する。記憶部１３３０は、メモリまたはストレージ装置によって実現され、制御部１３２０を機能させるためのプログラムなど、サーバ１３００で用いられる各種のデータを格納する。図示された例において、サーバ１３００は、専ら記憶部１３３０に格納されたプログラムに従ってエンドユーザ端末１１００にサービスを提供するものであるため、入出力部を含んでいない。しかしながら、本実施形態のいくつかの例では、サービス提供者、サプライヤ、製造者などがサービスの設定を変更したり、エレメントに関する情報を更新したりするために、サーバ１３００が入出力部を含んでもよい。
【００６０】
（２−２．サービスプラットフォームの構成）
図２０は、本開示の一実施形態におけるサービスプラットフォームの構成例を示す図である。図２０を参照すると、サービスプラットフォーム２２００は、マネージャ機能２２０１と、エレメント販売課金機能２２０７と、ユーザ管理機能２２０９と、エレメント管理機能２２１１とを含む。サービスプラットフォーム２２００は、例えば上記で図１などを参照して説明したシステム１０を機能させるために提供される。
【００６１】
サービスプラットフォーム２２００において、マネージャ機能２２０１は、図１の例におけるシステム１０のマネージャ２００の機能に対応しうる。従って、サービスプラットフォーム２２００は、例えば上記で図２〜図９を参照して説明したマネージャ２００の装置において実装されうる。あるいは、マネージャ機能２２０１がマネージャ２００の装置において実装される一方で、他の機能はサーバ３００など他の装置において実装されてもよい。また、サービスプラットフォーム２２００が実装される装置は、上記のエンドユーザ端末１１００と同一であってもよいし、異なっていてもよい。エレメント販売課金機能２２０７と、ユーザ管理機能２２０９と、エレメント管理機能２２１１とは、エンドユーザ端末１１００において実装されてもよいし、他の装置において実装されて必要に応じてエンドユーザ端末１１００との間で情報をやりとりしてもよい。以下、それぞれの構成要素について説明する。
【００６２】
マネージャ機能２２０１は、プログラム管理機能２２０３と、実行環境２２０５とを含む。マネージャ機能２２０１は、ハードウェアエレメント１００ｈおよび／またはソフトウェアエレメント１００ｓを管理し、これらのエレメントによる連係動作を実現させる。プログラム管理機能２２０３は、これらのエレメントによる連係動作を規定するプログラムを管理する。より具体的には、プログラム管理機能２２０３は、プリインストールされたプログラムや、サーバによって提供されるプログラムを読み出すとともに、これらのプログラムを更新したり、ユーザの操作に応じて修正したり、新たなプログラムを作成することが可能でありうる。実行環境２２０５は、プログラム管理機能２２０３によって管理されるプログラムに従って、ハードウェアエレメント１００ｈおよび／またはソフトウェアエレメント１００ｓを連係動作させる。
【００６３】
エレメント販売課金機能２２０７は、ハードウェアエレメント１００ｈおよびソフトウェアエレメント１００ｓの販売および課金を管理する。これらのエレメントは、例えば、ハードウェアエレメント１００ｈの本体やソフトウェアエレメント１００ｓのプログラムが記録された媒体が送付されることによって販売されてもよいし、ハードウェアエレメント１００ｈの有効化キーやソフトウェアエレメント１００ｓのプログラムがダウンロードされることによって販売されてもよい。また、ハードウェアエレメント１００ｈやソフトウェアエレメント１００ｓは、課金によって所定の期間だけ有効化されてもよい。エレメント販売課金機能２２０７は、エレメント管理機能２２１１に、システム１０に含まれるエレメントの販売や課金の状態を示す情報を提供する。
【００６４】
ユーザ管理機能２２０９は、システム１０のユーザを管理する。後述するように、本実施形態に係るサービスでは、システム１０に含まれるエレメント１００がユーザごとに管理されており、それぞれのユーザがどのようなエレメント１００を用いてシステム１０を構築することが可能であるかが管理されている。ユーザ管理機能２２０９は、エレメント販売課金機能２２０７と連動してシステム１０のユーザを管理することによって、エレメント管理機能２２１１が、システム１０においてユーザが利用可能なエレメントを特定することを可能にする。
【００６５】
エレメント管理機能２２１１は、システム１０に含まれるエレメントを管理する。上記のとおり、エレメントは、ハードウェアエレメント１００ｈとソフトウェアエレメント１００ｓとを含む。ハードウェアエレメント１００ｈをシステム１０に組み込む場合、まず本体がシステム１０のユーザの手元に届いている必要がある。また、ハードウェアエレメント１００ｈに組み込まれているソフトウェア部分は、有効化キーなどによる認証情報の入力や、実行環境２２０５を介した有効化操作によって有効化されてもよい。この場合、ソフトウェア部分が有効化されていないハードウェアエレメント１００ｈは、本体がユーザの手元にあるだけではシステム１０に組み込まれず、ソフトウェア部分が有効化されて初めてシステム１０に組み込み可能になる。
【００６６】
一方、ソフトウェアエレメント１００ｓをシステム１０に組み込む場合、プログラムモジュールがユーザの手元（マネージャ２００、または演算機能を有するエレメント１００）にダウンロードされているか、サーバ上で提供されるソフトウェアエレメント１００ｓのＡＰＩ（Application  Program  Interface）が利用可能である必要がある。ソフトウェアエレメント１００ｓについても、ハードウェアエレメント１００ｈと同様に、有効化の手順が必要とされてもよい。この場合、ソフトウェアエレメント１００ｓは、有効化されて初めてシステム１０に組み込み可能になる。
【００６７】
上記のエレメント管理機能２２１１は、本体がユーザの手元にあり、かつソフトウェア部分が有効化されている（または、有効化の手順を必要としない）ハードウェアエレメント１００ｈと、ユーザの手元にダウンロードされており（または、サーバ上のＡＰＩが利用可能であり）、かつ有効化されている（または、有効化の手順を必要としない）ソフトウェアエレメント１００ｓとを、システム１０に含まれるエレメントとして管理する。
【００６８】
さらに、エレメント管理機能２２１１は、本体がユーザの手元にない、またはソフトウェア部分が有効化されていないハードウェアエレメントと、ユーザの手元にダウンロードされていない（もしくは、サーバ上のＡＰＩが利用可能ではない）、または有効化されていないソフトウェアエレメントとを、システム１０に含まれないエレメントとして扱い、例えばシステム１０に含まれるエレメントとの組み合わせをシミュレートしてもよい。システム１０に含まれないエレメントも、購入または課金することによって、本体を発送したり、有効化キーを取得したり、プログラムをダウンロードしたりすることによって、新たにシステム１０に含まれうる。
【００６９】
なお、システム１０に含まれないエレメントの情報は、後述するようにサーバ１３００からエンドユーザ端末１１００に提供されうる。エレメント管理機能２２１１は、ユーザ端末１１００からこの情報を取得しうる（エレメント管理機能２２１１がユーザ端末１１００において実装される場合もある）。
【００７０】
（２−３．エレメントに関する情報のやりとりの例）
（第１の例）
図２１は、本開示の一実施形態におけるエレメントに関する情報のやりとりの第１の例を示す図である。図２１に示された例では、エンドユーザが、エンドユーザ端末１１００を介して、サービス提供者のサーバ１３００上で販売されているエレメント１００を購入する。エンドユーザは、実行環境２２０５と、エレメント１００ｐとを既に保有している。図示された例において、エンドユーザは、エンドユーザ端末１１００を用いて、サーバ１３００上で販売のために提供されているシミュレーションを利用することが可能である。
【００７１】
シミュレーションを利用する場合、まず、ユーザは、エンドユーザ端末１１００で、システム１０に実現させたい機能、および／またはユーザが既に保有しているエレメント１００ｐの情報を入力する。エンドユーザ端末１１００はこれらの情報をサーバ１３００に送信する（Ｓ０４１）。サーバ１３００は、例えば、ユーザがシステム１０で実現させたい機能を実現可能なエレメント１００の組み合わせ、および／またはユーザが既に保有しているエレメント１００ｐを活用したエレメント１００の組み合わせのシミュレーション情報を生成して、これをエンドユーザ端末１１００に送信する（Ｓ０４２）。シミュレーションは、提案されているエレメント１００の組み合わせのうち、ユーザがまだ保有していない（または利用可能ではない）エレメント１００ｑの情報や、エレメント１００の組み合わせを実行環境２２０５上で実行した場合に実現される機能などの情報が含まれうる。
【００７２】
エンドユーザ端末１１００を用いてシミュレーション情報を参照したユーザは、提案されているエレメント１００の組み合わせによって提供される機能が要求を満たす場合には、まだ保有していないエレメント１００ｑの購入を実行することができる。エレメント１００ｑの購入リクエストは、例えばエンドユーザ端末１１００からサーバ１３００に送信される。サーバ１３００で購入リクエストを受信したサービス提供者は、購入リクエストに係るハードウェアエレメントを発送したり、ソフトウェアエレメントをダウンロード可能にしたりすることによって、エレメント１００ｑをユーザに販売する。エレメント１００ｑの利用が可能になったユーザは、既に保有しているエレメント１００ｐと新たに購入したエレメント１００ｑとを、実行環境２２０５上で連係動作させることによって、システム１０において所望の機能を利用することができる。
【００７３】
上記の例において、例えばエンドユーザ端末１１００でシミュレーション情報を参照するときに、シミュレーションに係るエレメントの連係動作を規定するプログラムがダウンロード可能であってもよい。これによって、ユーザは、例えば購入によってエレメント１００ｑの利用が可能になれば、連係動作を規定するための別途の設定操作などをすることなく、エレメントの連係動作を実現させることができる。実行環境２２０５は、ダウンロードされたプログラムに従って、例えばエレメント１００ｐ，１００ｑの通信経路を設定したり、システム１０内でのエレメント１００ｐ，１００ｑの識別子を決定したりする。
【００７４】
（第２の例）
図２２は、本開示の一実施形態におけるエレメントに関する情報のやりとりの第２の例を示す図である。図２２に示された例では、エンドユーザＡが、エンドユーザ端末１１００ａを用いて、システム１０におけるエレメント１００の連係動作を規定するプログラムを、サービス提供者のサーバ１３００に送信する（Ｓ０５１）。この第２の例では、ここでエンドユーザＡによって提供されたプログラムの情報が、別のエンドユーザＢとの間で共有される。より具体的には、エンドユーザＡによって提供された情報は、エンドユーザＢのためのシミュレーション情報として利用される。
【００７５】
図示された例において、エンドユーザＢは、エンドユーザ端末１１００ｂで、システム１０に実現させたい機能、および／またはエンドユーザＢが既に保有しているエレメント１００ｐの情報を入力する。エンドユーザ端末１１００ｂはこれらの情報をサーバ１３００に送信する（Ｓ０５２）。サーバ１３００は、Ｓ０５１においてエンドユーザＡから提供された情報に基づいて、エンドユーザＢがシステム１０で実現させたい機能を実現可能なエレメント１００の組み合わせ、および／またはユーザが既に保有しているエレメント１００ｐを活用したエレメント１００の組み合わせのシミュレーション情報を生成して、これをエンドユーザ端末１１００に送信する（Ｓ０５３）。シミュレーションは、提案されているエレメント１００の組み合わせのうち、ユーザがまだ保有していない（または利用可能ではない）エレメント１００ｑの情報や、エレメント１００の組み合わせを実行環境２２０５上で実行した場合に実現される機能などの情報が含まれうる。
【００７６】
エンドユーザ端末１１００ｂを用いてシミュレーション情報を参照したエンドユーザＢは、提案されているエレメント１００の組み合わせによって提供される機能が要求を満たす場合には、上記の第１の例と同様に、まだ保有していないエレメント１００ｑの購入を実行することができる。エレメント１００ｑの利用が可能になったユーザは、既に保有しているエレメント１００ｐと新たに購入したエレメント１００ｑとを、実行環境２２０５上で連係動作させることによって、システム１０において所望の機能を利用することができる。
【００７７】
（第３の例）
図２３は、本開示の一実施形態におけるエレメントに関する情報のやりとりの第３の例を示す図である。図２３に示された例では、サービス提供者のサーバ１３００ａが、ソフトウェアサプライヤ（サーバ１３００ｂ）、ハードウェアサプライヤ（サーバ１３００ｃ）、およびコンテンツサプライヤ（１３００ｄ）によって提供されるエレメント１００（コンテンツを含む）を仲介する。
【００７８】
図示された例において、エンドユーザは、エンドユーザ端末１１００を用いて、上記の第１の例または第２の例と同様にシミュレーションを実施する。つまり、エンドユーザ端末１１００がサーバ１３００ａに、ユーザがシステム１０に実現させたい機能、および／または既に保有しているエレメント１００ｐの情報を送信し（Ｓ０６１）、サーバ１３００ａがエンドユーザ端末１１００にシミュレーション情報を送信する（Ｓ０６２）。シミュレーション情報を参照したユーザは、提案されているエレメント１００の組み合わせによって提供される機能が要求を満たす場合には、まだ保有していないエレメント１００ｑの購入を実行することができる。このとき、エンドユーザからサービス提供者への対価の支払いが、例えばエンドユーザ端末１１００とサーバ１３００ａとの間の決済処理によって実行される（Ｓ０６３）。
【００７９】
一方、上記の処理においてユーザが購入したエレメント１００ｑは、ソフトウェアサプライヤ、ハードウェアサプライヤ、またはコンテンツサプライヤが、予めサーバ１３００ｂ〜１３００ｄから登録したものでありうる。例えば、サプライヤは、エレメント１００の仕様や価格などの情報をサーバ１３００ｂ〜１３００ｄからサーバ１３００ａに送信することによって、エレメント１００を登録する（Ｓ０６４）。上記のように、サービス提供者からエンドユーザへのエレメント１００の販売が発生した場合、エンドユーザによって支払われた対価の一部が、サービス提供者からサプライヤに還元される（Ｓ０６５）。サプライヤに対価を還元するための方式はさまざまでありうるが、例えばレベニューシェア方式を採用してもよい。
【００８０】
（第４の例）
図２４は、本開示の一実施形態におけるエレメントに関する情報のやり取りの第４の例を示す図である。図２４に示された例では、エンドユーザＡが、エンドユーザ端末１１００ａを用いて、システム１０に実現させたい機能の情報をサーバ１３００ａに送信する（Ｓ０７１）。例えば、エンドユーザＡは、実現させたい機能を、写真やテキストなど、必ずしもシステム１０の構成要素に直接的に関連しない形式で表現してもよい。サーバ１３００ａは、エンドユーザＡからの投稿を、エンドユーザＢを含む他のユーザに向けて公開する（Ｓ０７２）。投稿を参照したエンドユーザＢは、エンドユーザＡが所望する機能を実現することが可能な、システム１０におけるエレメント１００の連係動作を規定するプログラムを作成し、エンドユーザ端末１１００ｂからサーバ１３００ａに送信する（Ｓ０７３）。
【００８１】
サーバ１３００ａは、エンドユーザＢから提供された情報に基づいて、エンドユーザＢがシステム１０で実現させたい機能を実現可能なエレメント１００の組み合わせのシミュレーション情報を生成して、これをエンドユーザ端末１１００ａに送信する（Ｓ０７４）。このとき、エンドユーザＢに相当する複数のユーザが存在してもよく、この場合サーバ１３００ａからエンドユーザ端末１１００ａに複数のシミュレーション情報が送信される。シミュレーション情報を参照したユーザは、提案されているエレメント１００の組み合わせによって提供される機能が要求を満たす場合には、まだ保有していないエレメント１００ｑの購入を実行することができる。このとき、エンドユーザからサービス提供者への対価の支払いが、例えばエンドユーザ端末１１００とサーバ１３００ａとの間の決済処理によって実行される。
【００８２】
図示された例では、上記の第３の例と同様に、サービス提供者によって販売されるエレメント１００がサプライヤによってサーバ１３００ｂ〜１３００ｄから登録されており（Ｓ０７５）、サービス提供者からエンドユーザＡへのエレメント１００の販売が発生した場合、エンドユーザＡによって支払われた対価の一部が、サプライヤに還元される（Ｓ０７６）。このとき、エンドユーザＡが、エンドユーザＢによって提供された情報に基づいてエレメント１００を購入した場合、つまり、エンドユーザＢによって提案されたエレメント１００の組み合わせが採用された場合には、サービス提供者からエンドユーザＢにも、エンドユーザＡによってエレメント１００に支払われた対価の一部が還元されてもよい。エンドユーザに対価を還元するための方式もさまざまでありうるが、例えばレベニューシェア方式を採用してもよい。なお、サービス提供者は、上記の第１および第２の例と同様に、仲介ではなく直接的にエンドユーザにエレメント１００を販売してもよい。
【００８３】
（第５の例）
図２５は、本開示の一実施形態におけるエレメントに関する情報のやり取りの第５の例を示す図である。図２５に示された例では、エンドユーザＡが、エンドユーザ端末１１００ａを用いて、システム１０にある機能を実現させるためのエレメント１００と、それらの連係動作を規定するプログラムとを、パッケージＰＫＧとしてサービス提供者のサーバ１３００ａに登録する（Ｓ０８１）。なお、図示されているように、エンドユーザＡは、必ずしもパッケージＰＫＧに相当するエレメントやプログラムを保有していなくてもよい。例えば、エンドユーザＡは、実行環境２２０５を含むサービスプラットフォーム２２００を保持しており、サービスプラットフォーム２２００およびエンドユーザ端末１１００を用いて実行したシミュレーションの結果に基づいて、パッケージＰＫＧをサーバ１３００ａに登録してもよい。
【００８４】
一方、エンドユーザＢは、エンドユーザ端末１１００ｂを用いて、サーバ１３００ａに登録されたパッケージＰＫＧの情報を参照し（Ｓ０８２）、所望の機能を実現することが可能なパッケージＰＫＧがあれば購入する（Ｓ０８３）。サービス提供者は、パッケージＰＫＧに含まれるエレメント１００をエンドユーザＢに向けて発送するとともに、それらの連係動作を規定するプログラムをダウンロード可能にする（媒体に格納して発送してもよい）。サービス提供者からエンドユーザＢへのパッケージＰＫＧの販売が発生した場合、エンドユーザＢによって支払われた対価の一部が、サービス提供者からエンドユーザＡに還元される（Ｓ０８４）。
【００８５】
図２６は、図２５の例において販売されるパッケージの例について説明するための図である。図２５には、パッケージＰＫＧによって実現される製品の例として、ベビーモニターキットが示されている。ベビーモニターキットは、加速度センサ１００ａ、カメラ１００ｂ、スピーカ１００ｅ、ＬＥＤランプ１００ｆ、マイクロフォン１００ｇ、およびモータ１００ｍを含む。加速度センサ１００ａ、スピーカ１００ｅ、およびマイクロフォン１００ｇは、台座部分の筐体に組み込まれている。カメラ１００ｂは、支柱の上部に取り付けられる。また、ＬＥＤランプ１００ｆおよびモータ１００ｍは、鳥型の人形の中に組み込まれ、モータ１００ｍは鳥の羽根を動かす。
【００８６】
これらのエレメント１００は、プログラムに従って連係動作することによって、例えば、スマートフォンなどからのリモート操作によって、ＬＥＤランプ１００ｆを点灯させたり、モータ１００ｍで羽根を動かしたり、カメラ１００ｂで様子を確認したり、といったようなベビーモニターの機能を実現する。このような連係動作のためのプログラムは、例えば、それぞれのエレメント１００がエンドユーザの元に配送され、マネージャ２００に接続されることによってエンドユーザのアカウントと対応付けられたときに、サーバ３００からマネージャ２００を介してエレメント１００にダウンロードされる。プログラムに限らず、例えばスピーカ１００ｅが再生する音の素材などのコンテンツも、同様にサーバ３００からマネージャ２００を介してエレメント１００にダウンロードされる。
【００８７】
上記で図２５を参照して説明した例でエンドユーザＢがパッケージＰＫＧを購入した場合、例えば、図２６に示されたような、エレメント１００が組み込まれた筐体が、サービス提供者からエンドユーザＢに発送される。筐体は、完成した形で発送されてもよいし、簡単に組み立てられるような部品に分解された状態で発送されてもよい。それとともに、エンドユーザＢは、例えばエンドユーザ端末１１００ｂを介して、サーバ１３００ａからプログラムをダウンロードすることが可能になる。上記の通り、ダウンロードされたプログラムは、例えばマネージャ２００からエレメント１００にダウンロードされることによって、上記のようなエレメント１００の連係動作を可能にする。
【００８８】
また、本実施形態では、パッケージＰＫＧとして販売されたエレメント１００であっても、プログラムを再設定することによって、異なるエレメント１００と組み合わせて連係動作させることが可能である。例えば、上記の例において、加速度センサ１００ａやカメラ１００ｂなどのエレメントを筐体から取り外し、マネージャ２００を介して別のプログラムをインストールすれば、上記の例とは異なるエレメント１００の組み合わせで連係動作することによって、ベビーモニターとは異なる機能を実現することができる。また、ベビーモニターとして引き続き使用する場合であっても、マネージャ２００を介してそれぞれのエレメント１００にインストールされたプログラムをアップデートすれば、容易に機能をアップグレードしたりカスタマイズしたりすることができる。
【００８９】
（第６の例）
図２７は、本開示の一実施形態におけるエレメントに関する情報のやりとりの第６の例を示す図である。図２７に示された例では、ハードウェア製造者が、サーバ１３００ｅから、新たなエレメント１００のアイディアをサービス提供者のサーバ１３００ａに投稿する（Ｓ１０１）。このとき、ハードウェア製造者は、新たなエレメント１００を使用して実現される機能の例をあわせて投稿してもよい。
【００９０】
サービス提供者は、サーバ１３００ａで、投稿された新たなエレメント１００のアイディアと、新たなエレメント１００を使用して実現される機能の例とを公開する。複数のエンドユーザが、エンドユーザ端末１１００ａ〜１１００ｃ（実際にはもっと多くてもよい）を用いて、公開されたアイディアを閲覧する（Ｓ１０２）。エンドユーザは、公開されたアイディアのエレメント１００に対して、購入の意思がある場合には、エンドユーザ端末１１００ａ〜１１００ｃを用いてそれを表明する（Ｓ１０３）。このとき、エンドユーザは、新たなエレメント１００を使用して実現される機能の例のうち、どの機能を使用したいかを表明してもよい。
【００９１】
あるいは、エンドユーザは、新たなエレメント１００を使用して実現される機能を新たに提案してもよい。エンドユーザによって新たに提案された機能は、ハードウェア製造者によって投稿された新たなエレメント１００のアイディアとともに公開されてもよい。これによって、エンドユーザ自身が、欲しいと思っているエレメント１００に有用な機能という付加価値を与え、他のエンドユーザが購入の意思を表明することによってエレメント１００が製造される可能性を高めることができる。
【００９２】
所定の数以上のエンドユーザから購入の意思が表明された場合（Ｓ１０４）、ハードウェア製造者は、新たなエレメント１００を製造する。この場合、エンドユーザは、購入の意思を表明するときに対価を支払い、その対価のうちの一部が新たなエレメント１００の製造に用いられてもよい。あるいは、エンドユーザは、エレメント１００の製造後にそれを購入するとともに対価を支払ってもよい。また、ハードウェア製造者は、新たなエレメント１００とともに、例えば、新たなエレメント１００を使用して実現される機能のうち、エンドユーザによる使用の意思表明が多かった機能を実現させるためのプログラムを、あわせて製造してもよい。
【００９３】
図２８Ａおよび図２８Ｂは、図２７の例のような仕組みの優位性について説明するための図である。
【００９４】
図２８Ａは、製品単位で購入希望者を募った場合の例を示す。この場合、例えば、エレメント１００ｘおよびエレメント１００ｙ（に相当する部分）を含む製品Ａと、エレメント１００ｘおよびエレメント１００ｚ（に相当する部分）を含む製品Ｂと、エレメント１００ｘおよびエレメント１００ｗ（に相当する部分）を含む製品Ｃとについて、それぞれ個別に購入希望者が募られることになる。図示された例において、例えば１０００人の購入者が集まらなければ製品の製造が困難であるとすると、いずれの製品も購入者が１０００人を下回っているため、製造が困難であることになる。
【００９５】
図２８Ｂは、図２７の例のような仕組みを用いて、エレメント単位で購入希望者を募った場合の例を示す。この場合、例えば、エレメント１００ｙ，１００ｚ，１００ｗが既に流通しているものであれば、エレメント１００ｘについて購入希望者を募ればよい。そうすると、製品Ａ（エレメント１００ｘ，１００ｙ）、製品Ｂ（エレメント１００ｘ，１００ｚ）、および製品Ｃ（エレメント１００ｘ，１００ｗ）の需要者の合計がエレメント１００ｘの購入者になる。従って、それぞれの製品の需要者は１０００人に満たなくても、それらを合計したエレメント１００ｘの購入者の数は１０００人を超え、エレメント１００ｘの製造が可能になる。
【００９６】
（第７の例）
図２９は、本開示の一実施形態におけるエレメントに関する情報のやりとりの第７の例を示す図である。図２９に示された例では、エンドユーザＡが、エンドユーザ端末１１００ａを用いて、新たなエレメント１００のアイディアをサービス提供者のサーバ１３００ａに投稿する（Ｓ１２１）。このとき、エンドユーザＡは、新たなエレメント１００を使用して実現される機能の例をあわせて投稿してもよい。
【００９７】
サービス提供者は、サーバ１３００ａで、投稿された新たなエレメント１００のアイディアと、新たなエレメント１００を使用して実現される機能の例とを公開する。複数のエンドユーザが、エンドユーザ端末１１００ｂ，１１００ｃ（実際にはもっと多くてもよい）を用いて、公開されたアイディアを閲覧する（Ｓ１２２）。エンドユーザは、公開されたアイディアのエレメント１００に対して、購入の意思がある場合には、エンドユーザ端末１１００ａ〜１１００ｃを用いてそれを表明する（Ｓ１２３）。このとき、エンドユーザは、新たなエレメント１００を使用して実現される機能の例のうち、どの機能を使用したいかを表明してもよい。あるいは、エンドユーザは、新たなエレメント１００を使用して実現される機能を新たに提案し、提案された機能は、新たなエレメント１００のアイディアとともに公開されてもよい。
【００９８】
所定の数以上のエンドユーザから購入の意思が表明された場合、ハードウェア製造者に、新たなエレメント１００の製造が委託される（Ｓ１２４）。この場合、エンドユーザは、購入の意思を表明するときに対価を支払い、その対価のうちの一部が新たなエレメント１００の製造に用いられてもよい。あるいは、エンドユーザは、エレメント１００の製造後にそれを購入するとともに対価を支払ってもよい。また、ハードウェア製造者は、新たなエレメント１００とともに、例えば、新たなエレメント１００を使用して実現される機能のうち、エンドユーザによる使用の意思表明が多かった機能を実現させるためのプログラムを、あわせて製造してもよい。製造されたエレメント１００やプログラムは、サービス提供者を経てエンドユーザに提供される（Ｓ１２５）。
【００９９】
このとき、エレメント１００のアイディアを提供したエンドユーザＡには、エレメント１００を購入した他のエンドユーザによって支払われた対価の一部が還元される（Ｓ１２６）。サービス提供者のサーバ１３００ａは、エンドユーザＡへの対価の還元率を、アイディアの独創性や、発案者が複数いる場合の貢献度などに応じて決定してもよい。
【０１００】
（２−４．一実施形態のまとめ）
以上で説明した本開示の一実施形態は、以下のように表現することもできる。
【０１０１】
（１）ハードウェアまたはソフトウェアのエレメントを提供することと、前記エレメントを連係動作させるためのプログラムを提供することと、実行環境に配置された前記エレメントを前記プログラムに従って連係動作させることによって機能を実現することとを含み、前記エレメントと前記プログラムとが互いに独立して提供可能である方法。
本実施形態に係るシステム１０は、ソフトウェアまたはハードウェアのエレメント１００が提供されるが、これらのエレメントを連係動作させるためのプログラム（例えば、図１２〜図１７で概念的に示したようなエレメント１００同士の連係動作を定義するプログラム）は、エレメント１００とは別に、互いに独立して提供されうる。
これによって、エレメント１００の組み合わせを変更したり、同じエレメント１００の組み合わせでもプログラムを変更したりすることによって、多種多様な機能を実現することができる。従って、よりユーザの必要に適合した機能を、容易に実現することができる。
例えば図２１の例に示されるように、エンドユーザがエレメント１００を必要に応じて逐次追加購入することも可能でありうる。エレメント１００を追加購入した場合にどのような機能が実現されるかのシミュレーションが、例えばサービス提供者が運用するサーバ１３００において提供されてもよい。
【０１０２】
（２）前記プログラムを提供することは、第１のエンドユーザが作成したプログラムをサーバにアップロードすることと、前記第１のエンドユーザとは異なる第２のエンドユーザが前記アップロードされたプログラムを前記サーバからダウンロードすることとを含んでもよい。
システム１０においてエレメント１００を連係動作させるためのプログラムは、エンドユーザ自身によって作成可能でありうる。システム１０の実行環境では、エンドユーザがプログラムを変更したり、新たなプログラムを作成するためのＧＵＩが提供されてもよい。例えば図２２の例に示されるように、あるエンドユーザが作成したプログラムがサービス提供者のサーバ１３００にアップロードされ、他のエンドユーザがこのプログラムをダウンロードしてエレメント１００の連係動作に利用することが可能であってもよい。
【０１０３】
（３）前記エレメントを提供することは、サプライヤが製造した前記エレメントの情報を仲介者のサーバにアップロードすることと、エンドユーザが前記アップロードされたエレメントの情報を参照して前記エレメントを購入することとを含んでもよい。
本実施形態におけるサービスの提供者は、ハードウェアまたはソフトウェアのエレメントのサプライヤと、エレメントの流通を仲介する仲介者とを含んでもよい。例えば、図２３の例に示されるように、仲介者が、サプライヤによって供給されるエレメントの情報をエンドユーザに向けて公開することによって、エンドユーザが各種のエレメントを入手することが容易になる。また、サプライヤも、エレメントを多くのエンドユーザに向けて供給することが可能になる。
【０１０４】
（４）前記プログラムを提供することは、第１のエンドユーザが実現したい機能の情報をサーバにアップロードすることと、前記第１のエンドユーザとは異なる第２のエンドユーザが、前記アップロードされた機能の情報を参照して作成した、前記機能を実現可能なプログラムを前記サーバにアップロードすることと、前記第１のエンドユーザが、前記アップロードされたプログラムを前記サーバからダウンロードすることとを含んでもよい。
例えば、図２４の例に示されるように、エンドユーザによる新たなプログラムの作成は、他のエンドユーザから提供される、実現したい機能の情報に基づいて実行されてもよい。この場合、新たなプログラムに従って機能を実現するために他のエンドユーザが新たなエレメント１００を購入した場合には、当該新たなプログラムを作成したエンドユーザにもエレメント１００の対価の一部が還元されてもよい。
【０１０５】
（５）前記エレメントを提供すること、および前記プログラムを提供することは、第１のエンドユーザが作成したプログラムと、該プログラムに関係する前記エレメントとのパッケージを、前記第１のエンドユーザとは異なる第２のエンドユーザが購入することを含んでもよい。
上記の通り、エレメント１００とプログラムとは互いに独立して提供可能であるものの、例えば図２５の例に示されるように、これらがパッケージされて提供されることがあってもよい。このような場合でも、例えば、パッケージとして提供された製品の機能が必要なくなったような場合には、エレメント１００の組み合わせを変更したり、連係動作のためのプログラムを変更したりすることによって、エレメント１００に必要とされる別の機能を実現させることが可能である。
【０１０６】
（６）前記パッケージは、配送される前記ハードウェアのエレメントと、媒体に格納して配送される、またはダウンロードされる前記ソフトウェアのエレメントおよび前記プログラムとを含んでもよい。
例えば図２６の例に示されるように、パッケージは、ハードウェアおよびソフトウェアのエレメント１００と、エレメント１００を連係動作させるためのプログラムとを含みうる。例えばハードウェアのエレメントは配送され、ソフトウェアのエレメントおよびプログラムは媒体に格納して配送されるかダウンロードされる、といったように、エレメント１００やプログラムをサービス提供者からエンドユーザの元に届ける方法はさまざまでありえ、同じパッケージの中でも複数の提供方法が併用されてもよい。
【０１０７】
（７）前記エレメントを提供することは、前記エレメントの製造者が新たなエレメントの提案をサーバにアップロードすることと、前記提案を参照したエンドユーザが、前記新たなエレメントに対する購入の意思表明を前記サーバに送信することと、所定数の前記意思表明が送信された場合に、前記製造者が前記新たなエレメントを製造することと前記製造されたエレメントを前記意思表明を送信したエンドユーザに販売することとを含んでもよい。
例えば図２７の例に示されるように、エレメント１００の製造者は、新たなエレメント１００の提案をサーバ１３００にアップロードすることによって、この新たなエレメント１００の購入希望者を募ることができる。購入希望者が所定数集まることを条件として新たなエレメント１００を製造することによって、製造者が低リスクで新たなエレメント１００を開発することができる。
【０１０８】
（８）前記新たなエレメントは、他の既存のエレメントと組み合わせることによって、複数の異なる機能を実現可能であってもよい。
例えば図２８Ａおよび図２８Ｂを参照して説明したように、新たなエレメント１００ｘが既存のエレメント１００ｙ，１００ｚ，１００ｗなどと組み合わせることによって複数の異なる機能（複数の異なる製品に相当する）を実現可能である場合には、上記のようにエレメント１００を単位とすることによって、幅広い購入希望者を集めることができる。
【０１０９】
（９）前記エレメントを提供することは、エンドユーザが新たなエレメントの提案をサーバにアップロードすることと、前記提案を参照したエンドユーザが、前記新たなエレメントに対する購入の意思表明を前記サーバに送信することと、所定数の前記意思表明が送信された場合に、前記エレメントの製造者が前記新たなエレメントを製造することと、前記製造されたエレメントを前記意思表明を送信したエンドユーザに販売することとを含んでもよい。
例えば図２９を参照して説明したように、新たなエレメントの提案は、製造者ではなくエンドユーザの側からされてもよい。この場合、サービス提供者は、提案に賛同するユーザが所定数集まった場合に製造者にエレメント１００の製造を依頼することで、より需要の高いエレメント１００を新規に追加することができる。
【０１１０】
（３．ハードウェア構成）
次に、図３０を参照して、本開示の実施形態に係る情報処理装置のハードウェア構成について説明する。図３０は、本開示の実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。図示された情報処理装置９００は、例えば、上記の実施形態におけるエレメント、マネージャ、サーバ、ＵＩ装置、エンドユーザ端末および／またはサーバ装置を実現しうる。
【０１１１】
情報処理装置９００は、ＣＰＵ（Central  Processing  unit）９０１、ＲＯＭ（Read  Only  Memory）９０３、およびＲＡＭ（Random  Access  Memory）９０５を含む。また、情報処理装置９００は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。さらに、情報処理装置９００は、必要に応じて、撮像装置９３３、およびセンサ９３５を含んでもよい。情報処理装置９００は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Digital  Signal  Processor）またはＡＳＩＣ（Application  Specific  Integrated  Circuit）と呼ばれるような処理回路を有してもよい。
【０１１２】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置９００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（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）信号を受信して装置の緯度、経度および高度を測定するＧＰＳセンサを含んでもよい。
【０１２１】
以上、情報処理装置９００のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
【０１２２】
（４．補足）
本開示の実施形態は、例えば、上記で説明したような情報処理装置（エンドユーザ端末および／またはサーバ装置）、システム、情報処理装置またはシステムで実行される情報処理方法、情報処理装置を機能させるためのプログラム、およびプログラムが記録された一時的でない有形の媒体を含みうる。
【０１２３】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１２４】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１２５】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）ハードウェアまたはソフトウェアのエレメントを提供することと、
前記エレメントを連係動作させるためのプログラムを提供することと、
実行環境に配置された前記エレメントを前記プログラムに従って連係動作させることによって機能を実現することと
を含み、
前記エレメントと前記プログラムとが互いに独立して提供可能である方法。
（２）前記プログラムを提供することは、
第１のエンドユーザが作成したプログラムをサーバにアップロードすることと、
前記第１のエンドユーザとは異なる第２のエンドユーザが前記アップロードされたプログラムを前記サーバからダウンロードすることと
を含む、前記（１）に記載の方法。
（３）前記エレメントを提供することは、
サプライヤが製造した前記エレメントの情報を仲介者のサーバにアップロードすることと、
エンドユーザが前記アップロードされたエレメントの情報を参照して前記エレメントを購入することと
を含む、前記（１）または（２）に記載の方法。
（４）前記プログラムを提供することは、
第１のエンドユーザが実現したい機能の情報をサーバにアップロードすることと、
前記第１のエンドユーザとは異なる第２のエンドユーザが、前記アップロードされた機能の情報を参照して作成した、前記機能を実現可能なプログラムを前記サーバにアップロードすることと、
前記第１のエンドユーザが、前記アップロードされたプログラムを前記サーバからダウンロードすることと
を含む、前記（１）〜（３）のいずれか１項に記載の方法。
（５）前記エレメントを提供すること、および前記プログラムを提供することは、第１のエンドユーザが作成したプログラムと、該プログラムに関係する前記エレメントとのパッケージを、前記第１のエンドユーザとは異なる第２のエンドユーザが購入することを含む、前記（１）〜（４）のいずれか１項に記載の方法。
（６）前記パッケージは、配送される前記ハードウェアのエレメントと、媒体に格納して配送される、またはダウンロードされる前記ソフトウェアのエレメントおよび前記プログラムとを含む、前記（５）に記載の方法。
（７）前記エレメントを提供することは、
前記エレメントの製造者が新たなエレメントの提案をサーバにアップロードすることと、
前記提案を参照したエンドユーザが、前記新たなエレメントに対する購入の意思表明を前記サーバに送信することと、
所定数の前記意思表明が送信された場合に、前記製造者が前記新たなエレメントを製造することと
前記製造されたエレメントを前記意思表明を送信したエンドユーザに販売することと
を含む、前記（１）〜（６）のいずれか１項に記載の方法。
（８）前記新たなエレメントは、他の既存のエレメントと組み合わせることによって、複数の異なる機能を実現可能である、前記（７）に記載の方法。
（９）前記エレメントを提供することは、
エンドユーザが新たなエレメントの提案をサーバにアップロードすることと、
前記提案を参照したエンドユーザが、前記新たなエレメントに対する購入の意思表明を前記サーバに送信することと、
所定数の前記意思表明が送信された場合に、前記エレメントの製造者が前記新たなエレメントを製造することと、
前記製造されたエレメントを前記意思表明を送信したエンドユーザに販売することと
を含む、前記（１）〜（８）のいずれか１項に記載の方法。
（１０）エンドユーザによって使用される端末装置と、サービスの提供者によって運用されるサーバとを含み、
前記端末装置と前記サーバとが、ハードウェアまたはソフトウェアのエレメント、および前記エレメントを連係動作させるためのプログラムを前記提供者から前記エンドユーザに提供するための通信を実行し、
実行環境に配置された前記エレメントを前記プログラムに従って連係動作させることによって機能が実現され、
前記エレメントと前記プログラムとが互いに独立して提供可能であるシステム。
【符号の説明】
【０１２６】
１０    システム
１００    エレメント
１１０    通信部
１２０    制御部
１３０    機能部
１４０    電源部
２００    マネージャ
２１０    通信部
２２０    制御部
２３０    記憶部
３００    サーバ
３１０    通信部
３２０    制御部
３３０    記憶部
４００    ＵＩ装置
４１０    通信部
４２０    制御部
４３０    入出力部
１１００    エンドユーザ端末
１３００    サーバ
２２００    サービスプラットフォーム
【図１】
2019114302.tif 000003
【図２】
2019114302.tif 000004
【図３】
2019114302.tif 000005
【図４】
2019114302.tif 000006
【図５】
2019114302.tif 000007
【図６】
2019114302.tif 000008
【図７】
2019114302.tif 000009
【図８】
2019114302.tif 000010
【図９】
2019114302.tif 000011
【図１０】
2019114302.tif 000012
【図１１】
2019114302.tif 000013
【図１２】
2019114302.tif 000014
【図１３】
2019114302.tif 000015
【図１４】
2019114302.tif 000016
【図１５】
2019114302.tif 000017
【図１６】
2019114302.tif 000018
【図１７】
2019114302.tif 000019
【図１８】
2019114302.tif 000020
【図１９】
2019114302.tif 000021
【図２０】
2019114302.tif 000022
【図２１】
2019114302.tif 000023
【図２２】
2019114302.tif 000024
【図２３】
2019114302.tif 000025
【図２４】
2019114302.tif 000026
【図２５】
2019114302.tif 000027
【図２６】
2019114302.tif 000028
【図２７】
2019114302.tif 000029
【図２８Ａ】
2019114302.tif 000030
【図２８Ｂ】
2019114302.tif 000031
【図２９】
2019114302.tif 000032
【図３０】
2019114302.tif 000033