IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クックパッド株式会社の特許一覧

<>
  • 特許-サーバ、システム、方法及びプログラム 図1
  • 特許-サーバ、システム、方法及びプログラム 図2
  • 特許-サーバ、システム、方法及びプログラム 図3
  • 特許-サーバ、システム、方法及びプログラム 図4
  • 特許-サーバ、システム、方法及びプログラム 図5
  • 特許-サーバ、システム、方法及びプログラム 図6
  • 特許-サーバ、システム、方法及びプログラム 図7
  • 特許-サーバ、システム、方法及びプログラム 図8
  • 特許-サーバ、システム、方法及びプログラム 図9
  • 特許-サーバ、システム、方法及びプログラム 図10
  • 特許-サーバ、システム、方法及びプログラム 図11
  • 特許-サーバ、システム、方法及びプログラム 図12
  • 特許-サーバ、システム、方法及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-26
(45)【発行日】2023-08-03
(54)【発明の名称】サーバ、システム、方法及びプログラム
(51)【国際特許分類】
   G06F 16/90 20190101AFI20230727BHJP
   G06Q 50/10 20120101ALI20230727BHJP
【FI】
G06F16/90
G06Q50/10
【請求項の数】 10
(21)【出願番号】P 2019090419
(22)【出願日】2019-05-13
(62)【分割の表示】P 2018098184の分割
【原出願日】2018-05-22
(65)【公開番号】P2019204504
(43)【公開日】2019-11-28
【審査請求日】2021-05-18
(73)【特許権者】
【識別番号】506143492
【氏名又は名称】クックパッド株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】伊尾木 将之
【審査官】松尾 真人
(56)【参考文献】
【文献】特開2015-052968(JP,A)
【文献】国際公開第2011/065028(WO,A1)
【文献】特開2009-054042(JP,A)
【文献】特開2006-250510(JP,A)
【文献】高野 哲郎,調理支援システム Cooking Studio:レシピのシナリオ化と調理スケジューリング手法,第15回データ工学ワークショップ(DEWS2004)論文集 [online] ,電子情報通信学会データ工学研究専門委員会,2004年06月18日,DEWS2004 I-8-5, Internet<URL:http://www.ieice.org/iss/de/DEWS/proc/2004/paper/I-8/I-8-05.pdf>, ISSN 1347-4413
【文献】森 信介,レシピテキストのためのフローグラフの定義,情報処理学会 研究報告 自然言語処理(NL) 2013-NL-214 [online] ,情報処理学会,2013年11月07日,Internet<URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=95869&item_no=1&attribute_id=1&file_no=1>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
端末装置と、サーバとを具備するシステムであって、
前記端末装置は、
ユーザからのレシピ検索をする操作を受け付ける第1受付手段と、
前記第1受付手段がレシピ検索をする操作を受け付けたことに応じて表示されたレシピの一覧からレシピを選択する操作を受け付ける第2受付手段と、
材料の状態遷移に必要な調理に関する動作であるアクションを実行可能な調理機器にアクションの開始をするように指示するための指示手段と、
前記第2受付手段の受け付けた操作に基づきレシピが選択された後、前記選択されたレシピに関する情報と、前記指示手段によって前記指示を行う調理機器に関する情報とを前記サーバへ送信する送信手段とを有し、
前記サーバは、前記送信手段によって当該サーバへ送信された前記レシピに関する情報に対応する機器制御用レシピデータから、前記送信手段によって当該サーバへ送信された前記調理機器に関する情報に対応する調理機器の実行可能なアクションを抽出し、抽出したアクションを前記調理機器に開始させるための制御コマンドを前記端末装置に送信し、
前記端末装置は、前記サーバによって前記端末装置へ送信された前記制御コマンドを前記指示手段によって前記指示を行う前記調理機器へ送信し、
前記指示手段による前記指示に応じて、前記端末装置によって前記調理機器へ送信された制御コマンドに対応するアクションが前記調理機器において実行されることを特徴とし、
前記機器制御用レシピデータは、複数のノードとノード間のエッジとからなるグラフにより表現され、
前記エッジには、前記アクションを一意に識別するアクションIDが付与されている、
システム。
【請求項2】
前記端末装置が、前記第2受付手段によってレシピが選択されたことに応じて、前記選択されたレシピをユーザが可読な状態で表示するように制御する制御手段さらに有することを特徴とする
請求項1に記載のシステム
【請求項3】
前記制御手段は、前記第2受付手段によってレシピが選択されたことに応じて、前記調理機器の制御をするためのボタンを表示するように制御し、
前記送信手段は、前記調理機器を制御するためのボタンが操作されたことに応じて、前記選択されたレシピに関する情報と、当該調理機器に関する情報とを前記サーバへ送信することを特徴とする請求項2に記載のシステム
【請求項4】
前記第1受付手段の受け付けた操作に応じて検索されるレシピにおいては、必ずしもレシピにおいて実行される必要のあるアクションを行うべき調理機器が指定されていないことを特徴とする請求項1~請求項3のいずれか1項に記載のシステム
【請求項5】
前記サーバにおいて、前記第2受付手段によってレシピが選択されたことに応じて、前記選択されたレシピが前記端末装置において表示されるレシピデータ、機械が解読可能な形態の前記機器制御用レシピデータ変更することを特徴とする請求項1~請求項4のいずれか1項に記載のシステム。
【請求項6】
前記調理機器には、冷蔵庫、電子レンジ、オーブン、フードプロセッサー、ミキサー、炊飯器、電気鍋、電気フライヤー、電気蒸し器、製麺機、計量器、調理ロボットのいずれかが含まれることを特徴とする請求項1~請求項5のいずれか1項に記載のシステム
【請求項7】
端末装置が、
ユーザからのレシピ検索をする操作を受け付ける第1受付ステップと、
前記第1受付ステップにおいてレシピ検索をする操作を受け付けたことに応じて表示されたレシピの一覧からレシピを選択する操作を受け付ける第2受付ステップと、
材料の状態遷移に必要な調理に関する動作であるアクションを実行可能な調理機器にアクションの開始をするように指示するための指示ステップと、
前記第2受付ステップにおいて受け付けた操作に基づきレシピが選択された後、前記選択されたレシピに関する情報と、前記指示ステップにおける前記指示を行う調理機器に関する情報とをサーバへ送信する送信ステップと
実行し、
前記サーバが、前記送信ステップにおいて当該サーバへ送信された前記レシピに関する情報に対応する機器制御用レシピデータから、前記送信ステップにおいて当該サーバへ送信された前記調理機器に関する情報に対応する調理機器の実行可能なアクションを抽出し、抽出したアクションを前記調理機器に開始させるための制御コマンドを前記端末装置に送信するステップを実行し、
前記端末装置が、前記サーバによって前記端末装置へ送信された前記制御コマンドを前記指示ステップにおいて前記指示を行う前記調理機器へ送信するステップを実行し、
前記指示ステップにおける前記指示に応じて、前記端末装置によって前記調理機器へ送信された制御コマンドに対応するアクションが前記調理機器において実行されることを特徴とし、
前記機器制御用レシピデータは、複数のノードとノード間のエッジとからなるグラフにより表現され、
前記エッジには、前記アクションを一意に識別するアクションIDが付与されている、
方法。
【請求項8】
サーバが、
端末装置において受け付けた操作に基づき当該端末装置において表示されたレシピの一覧からレシピが選択された後、前記選択されたレシピに関する情報と、材料の状態遷移に必要な調理に関する動作であるアクションを実行する調理機器に関する情報とを前記端末装置から受信する受信ステップと、
前記受信ステップにおいて受信した前記レシピに関する情報に対応する機器制御用レシピデータから、前記受信ステップにおいて受信した前記調理機器に関する情報に対応する調理機器の実行可能なアクションを抽出し、抽出したアクションを前記調理機器に開始させるための制御コマンドを生成する生成ステップと、
前記制御コマンドを前記端末装置に送信する送信ステップ
を実行し、
前記機器制御用レシピデータは、複数のノードとノード間のエッジとからなるグラフにより表現され、
前記エッジには、前記アクションを一意に識別するアクションIDが付与されている、
方法。
【請求項9】
コンピュータに、
端末装置において受け付けた操作に基づき当該端末装置において表示されたレシピの一覧からレシピが選択された後、前記選択されたレシピに関する情報と、材料の状態遷移に必要な調理に関する動作であるアクションを実行する調理機器に関する情報とを前記端末装置から受信する受信ステップと、
前記受信ステップにおいて受信した前記レシピに関する情報に対応する機器制御用レシピデータから、前記受信ステップにおいて受信した前記調理機器に関する情報に対応する調理機器の実行可能なアクションを抽出し、抽出したアクションを前記調理機器に開始させるための制御コマンドを生成する生成ステップと、
前記制御コマンドを前記端末装置に送信する送信ステップと
を実行させるためのプログラムであって、
前記機器制御用レシピデータは、複数のノードとノード間のエッジとからなるグラフにより表現され、
前記エッジには、前記アクションを一意に識別するアクションIDが付与されている、
プログラム
【請求項10】
端末装置において受け付けた操作に基づき当該端末装置において表示されたレシピの一覧からレシピが選択された後、前記選択されたレシピに関する情報と、材料の状態遷移に必要な調理に関する動作であるアクションを実行する調理機器に関する情報とを前記端末装置から受信する受信手段と、
前記受信手段によって受信した前記レシピに関する情報に対応する機器制御用レシピデータから、前記受信手段によって受信した前記調理機器に関する情報に対応する調理機器の実行可能なアクションを抽出し、抽出したアクションを前記調理機器に開始させるための制御コマンドを生成する生成手段と、
前記制御コマンドを前記端末装置に送信する送信手段と
を具備するサーバであって、
前記機器制御用レシピデータは、複数のノードとノード間のエッジとからなるグラフにより表現され、
前記エッジには、前記アクションを一意に識別するアクションIDが付与されている、
サーバ
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、端末装置、システム、サーバ及びその制御方法に関する。
【背景技術】
【0002】
近年、家電のIoT化が進んでおり、スマート家電等のネットワーク対応型の機器が登場しつつある。かかる機器を利用して調理を省力化するために、機械可読なレシピデータを実現し、かかるレシピデータに基づいて機器を制御することが検討されている。
【0003】
非特許文献1には、自然言語を機械に処理させる自然言語処理の研究において、レシピ文章を調理機器やアクション(調理に関する動作)を表す単語に区分し、単語間の関係性を推定し、各単語をノードとし、且つ単語間の関係性をエッジとしたグラフ(レシピデータ)を作成する方法が記載されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Hirokuni Maeta, Tetsuro Sasada, Shinsuke Mori, “A Framework for Procedural Text Understanding”, [online],IWPT,2015 [平成30年3月20日検索]、インターネット〈URL:http://www.ar.media.kyoto-u.ac.jp/mori/research/public/maeta-IWPT15.pdf〉
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1に記載のレシピデータは、自然言語であるレシピ文章の記述をそのままグラフとして表現したものであって、レシピ文章は人間により解読されることを前提としているため、機械可読性が低く、レシピデータを機械が適切に解読できない虞がある。
【0006】
また、非特許文献1に記載のレシピデータは、人間が行うべきアクションを中心に記述されており、且つ使用すべき調理機器が指定されることがあるため、対応可能な機器に制限があり、将来的に登場する新たな機器を含む様々な機器に対応することが難しい。
【0007】
そこで、本発明は、機械可読性が高いレシピデータを用いて様々な機器を制御することを可能とする端末装置、システム、サーバ及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本開示の一態様における端末装置は、ユーザからのレシピ 検索をする操作を受け付ける第1受付手段と、前記第1受付手段がレシピ検索をする操作 を受け付けたことに応じて表示されたレシピの一覧からレシピを選択する操作を受け付け る第2受付手段と、材料の状態遷移に必要な調理に関する動作であるアクションを実行可 能な調理機器にアクションの開始をするように指示するための指示手段と、前記第2受付 手段の受け付けた操作に基づきレシピが選択された後、前記選択されたレシピに関する情 報と、前記指示手段によって前記指示を行う調理機器に関する情報とを送信する送信手段 とを有し、前記指示手段による前記指示に応じて、前記送信手段の送信した前記レシピに 関する情報と前記調理機器に関する情報とに基づくアクションが前記調理機器において実 行されることを特徴とする。
【0009】
上記目的を達成するために、本開示の一態様における端末装置は、前記第2受付手段に よってレシピが選択されたことに応じて、前記選択されたレシピをユーザが可読な状態で 表示するように制御する制御手段とさらに有することを特徴とする。
【0010】
上記目的を達成するために、本開示の一態様における端末装置は、前記第2受付手段に よってレシピが選択されたことに応じて、前記選択されたレシピをユーザが可読な状態で 表示するように制御する制御手段とさらに有することを特徴とする。
【0011】
上記目的を達成するために、本開示の一態様における端末装置は、前記第2受付手段に よってレシピが選択されたことに応じて、前記調理機器の制御をするためのボタンを表示 するように制御することを特徴とする。
【0012】
上記目的を達成するために、本開示の一態様における端末装置は、前記第1受付手段の 受け付けた操作に応じて検索されるレシピにおいては、必ずしもレシピにおいて実行され る必要のあるアクションを行うべき調理機器が指定されていないことを特徴とする。
【発明の効果】
【0013】
本発明によれば、機械可読性が高いレシピデータを用いて様々な機器を制御することを可能とする端末装置、システム、サーバ及びその制御方法を提供できる。
【図面の簡単な説明】
【0014】
図1】第1乃至第3実施形態に係るレシピのデータ構造を示す図である。
図2】第1乃至第3実施形態に係る機器制御システムの構成を示す図である。
図3】第1乃至第3実施形態に係る機器制御システムに含まれる各機器及び各装置のハードウェア構成を示す図である。
図4】第1実施形態に係る端末装置の機能ブロック構成を示す図である。
図5】第1実施形態に係る機器制御サーバの機能ブロック構成を示す図である。
図6】第1実施形態に係る機器の機能ブロック構成を示す図である。
図7】第1実施形態に係る機器制御システムの動作例を示す図である。
図8】第1実施形態の変更例に係る機器制御システムの動作例を示す図である。
図9】第2実施形態に係る端末装置の機能ブロック構成を示す図である。
図10】第2実施形態に係る機器制御システムの動作例を示す図である。
図11】第3実施形態に係る機器の機能ブロック構成を示す図である。
図12】第3実施形態に係る機器制御システムの動作例を示す図である。
図13】第3実施形態の変更例に係る機器制御システムの動作例を示す図である。
【発明を実施するための形態】
【0015】
実施形態に係る機器制御システムについて図面を参照しながら説明する。以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。
【0016】
<実施形態の概要>
実施形態に係る機器制御システムは、機器を制御するためのシステムである。制御対象の機器は、料理の材料又はそれを用いた調理に関連する機器である。実施形態に係る機器制御システムは、レシピデータを取得し、取得されたレシピデータを解読することにより、機器を制御するための処理を行う。レシピデータを機器以外の装置(例えば、サーバ装置又は端末装置)が解読する場合、機器を制御するための処理は、機器を制御するためのコマンド(以下、「制御コマンド」という)を生成及び送信する処理を含んでもよい。レシピデータを機器自身で解読する場合、機器を制御するための処理は、レシピデータに従ったアクションを行う処理を含んでもよい。
【0017】
図1は、実施形態に係るレシピのデータ構造を示す図である。図1に示すように、実施形態に係るレシピデータは、複数のノードとノード間のエッジとからなるグラフ(有向グラフ)により表現される。図1において、ノードを円で示し、エッジを矢印で示している。
【0018】
複数のノードは、各材料の状態遷移を定義する。エッジは、ノード間の状態遷移に必要なアクションを表す。アクションとは調理を構成する基本的な手順をいい、例えば「切る」、「温める」等の手順がアクションに該当する。アクションの種類及びそのIDが予め規定され、或いはアクションの種類に対してIDが事後的に付与され、アクション及びそのIDの一覧を定義し、エッジにはこの一覧から選択されたアクションIDが付与される。なお、状態(中間ノード)にもIDが付与されてもよい。
【0019】
グラフ内の複数のノードは、グラフの始点であって、料理の材料を表す材料ノードと、グラフの終点であって、前記料理を表す料理ノードと、料理に至るまでの途中における材料の状態を表す中間ノードと、を含む。材料とは料理を作るための材料をいうが、調味料や、調理の過程で廃棄されるものも材料に含まれてもよい。材料の種類及びそのIDが予め規定されており、材料及びそのIDの一覧を定義し、材料ノードにはこの一覧から選択された材料IDが付与される。材料の状態とは、アクションが施された後の状態をいい、例えば「3等分に切られた材料A」、「3cm角に切られた材料B」、「温められた材料C」等が材料の状態に該当する。
【0020】
このように、実施形態に係るレシピのデータ構造は、自然言語であるレシピ文章の記述をそのままグラフとして表現するのではなく、各材料の状態遷移をグラフとして表現したものである。各材料には材料を一意に識別する材料IDが付与され、状態遷移に必要な各アクションにはアクションを一意に識別するアクションIDが付与されている。よって、IDに基づいて容易且つ確実に機械がレシピデータを解読できる。また、アクションを行うべき機器をレシピデータにおいて必ずしも指定する必要がないため、将来的に登場する新たな機器を含む様々な機器に対応することが容易である。さらに、各アクションがすべてエッジとして表現されているため、レシピデータ中から各アクションを抽出することが容易である。
【0021】
実施形態に係るレシピデータにおけるノードの種類を表1に示す。
【0022】
【表1】
【0023】
各ノードには、ノードの属性として、例えば表2に示す属性を付与可能である。ここではノードが材料ノードであって、この材料ノードが「ニンジン」を表すと仮定する。
【0024】
【表2】
【0025】
なお、「名前」は、人間がMRRを作成及び解読するために必要な情報であって、必ずしも機械可読である必要は無い。
【0026】
各エッジには、エッジの属性として、表3に示す属性を付与可能である。
【0027】
【表3】
【0028】
ここで、各ノードの具体的な例を挙げて説明する。料理「サラダ」をつくる場合、料理ノードは、「サラダ」である。また、材料ノードは、例えば、「玉ねぎ」、「キュウリ」、「トマト」、「ケチャップ」、「マヨネーズ」である。各材料ノードには、材料を一意に識別するIDが付与される。
【0029】
材料ノード「玉ねぎ」は、エッジ(アクション)である「切る」により、中間ノード「みじん切り玉ねぎ」と連結される。また、材料ノード「キュウリ」は、エッジ(アクション)である「切る」により、中間ノード「1センチ角キュウリ」と連結される。さらに、材料ノード「トマト」は、エッジ(アクション)である「切る」により、中間ノード「1/2トマト」と連結される。さらにまた、材料ノード「ケチャップ」及び材料ノード「マヨネーズ」は、エッジ(アクション)である「混ぜる」により、中間ノード「オーロラソース」と連結される。なお、「切る」、「混ぜる」のそれぞれには、アクションを一意に識別するIDが付与される。
【0030】
そして、中間ノード「みじん切り玉ねぎ」、「1センチ角キュウリ」、及び「1/2トマト」は、エッジ(アクション)である「盛り付ける」により、料理ノード「サラダ」に連結される。また、中間ノード「オーロラソース」は、エッジ(アクション)である「かける」により、料理ノード「サラダ」に連結される。なお、「盛り付ける」、「かける」のそれぞれには、アクションを一意に識別するIDが付与される。また、「かける」は、「盛り付ける」の次に行われるように、エッジ間での順序が設定される。なお、「かける」に代えて、「あわせる」というアクションであってもよい。
【0031】
<第1実施形態>
上述したレシピのデータ構造を用いる機器制御システムの第1実施形態について説明する。
【0032】
(第1実施形態に係るシステム構成)
第1実施形態に係る機器制御システム1の構成について説明する。図2は、第1実施形態に係る機器制御システム1の構成を示す図である。
【0033】
図2に示すように、機器制御システム1は、機器100と、端末装置200と、レシピ配信サーバ300と、機器制御サーバ400とを備える。機器100、端末装置200、レシピ配信サーバ300、及び機器制御サーバ400は、通信ネットワーク10を介して互いに通信を行う。但し、機器100は、通信ネットワーク10を介さずに端末装置200と直接的に通信(例えば、近距離無線通信)を行ってもよい。
【0034】
機器100は、通信機能を有しており、料理の材料又はそれを用いた調理に関連する機器である。機器100は、家庭内で用いる家電機器であってもよいし、業務用の機器であってもよい。機器100は、材料又はそれを用いた調理に関連する機器であればどのような機器であってもよいが、例えば、冷蔵庫、電子レンジ、オーブン、フードプロセッサー、ミキサー、炊飯器、電気鍋、電気フライヤー、電気蒸し器、製麺機、計量器、調理ロボット等である。
【0035】
端末装置200は、通信機能を有しており、ユーザインターフェイスを提供する装置である。端末装置200は、ユーザの操作に応じて、レシピ配信サーバ300からレシピデータ(レシピ文章や料理の画像データ等)をレシピ配信サーバ300から取得して表示する。また、端末装置200は、表示レシピに対するユーザの操作に応じて、機器100の制御に関する要求を機器制御サーバ400に対して行う。端末装置200は、例えば、モバイル端末(例えば、タブレット、スマートフォン、ラップトップ、フィーチャーフォン、ポータブルゲーム機、電子書籍リーダなど)である。或いは、端末装置200は、テレビ受像機(インターネットテレビを含む)、PC(Personal Computer)、VR(Virtual Reality)端末、AR(Augmented Reality)端末等であってもよい。
【0036】
レシピ配信サーバ300は、表示用レシピデータを蓄積する。レシピ配信サーバ300は、端末装置200からの要求に応じて、蓄積しているレシピデータの中から、当該要求に合致するレシピデータを端末装置200に配信する。端末装置200は、レシピ配信サーバ300から取得したレシピデータを表示する。レシピ配信サーバ300が配信するレシピデータは、人間が解読可能なレシピ文章(自然言語)により主として構成されており、機械が解読するものではない。以下において、かかるレシピデータをHRR(Human Readable Recipe)と称する。
【0037】
機器制御サーバ400は、レシピ配信サーバ300が蓄積するレシピデータに対応する機器制御用レシピデータを蓄積する。機器制御用レシピデータは、上述したレシピのデータ構造(図1、表1乃至3参照)を有しており、機械が解読可能なものである。以下において、かかるレシピデータをMRR(Machine Readable Recipe)と称する。機器制御サーバ400は、端末装置200からの要求に応じて、MRRに基づいて制御コマンドを生成し、生成した制御コマンドを端末装置200に送信する。具体的には、端末装置200からの要求にはレシピIDが含まれている。機器制御サーバ400は、当該レシピIDに対応するMRRを取得し、取得したMRRを解読し、MRRに基づく制御コマンドを端末装置200に送信する。端末装置200は、機器制御サーバ400から受信した制御コマンドを機器100に転送する。
【0038】
制御コマンドを機器100に転送後、端末装置200のユーザは、制御コマンドに応じたアクションを機器100に開始させるためのアクション開始操作を機器100に対して行う。例えば、機器100には、アクション開始操作を受け付けるための物理ボタンが設けられる。或いは、機器100には、アクション開始操作を受け付けるためのソフトウェアボタンが表示されてもよい。機器100は、アクション開始操作を受け付けると、制御コマンドに応じたアクションを開始する。
【0039】
(ハードウェア構成)
機器制御システム1に含まれる各機器及び各装置のハードウェア構成について説明する。図3は、機器100、端末装置200、レシピ配信サーバ300、及び機器制御サーバ400のそれぞれのハードウェア構成例を示すブロック図である。
【0040】
図3に示すように、機器100、端末装置200、レシピ配信サーバ300、及び機器制御サーバ400のそれぞれは、CPU21と、RAM22と、ROM23と、補助記憶装置24と、通信モジュール25と、入力装置26と、出力装置27とを備える。
【0041】
CPU21は、主記憶装置を構成するRAM22及びROM23からソフトウェア(プログラム)を読み出して実行する。RAM22は、CPU21の作業領域として用いられる。補助記憶装置24は、ハードディスクやフラッシュメモリ等により構成される。通信モジュール25は有線通信又は無線通信によりデータを送受信するモジュールである。入力装置26は、タッチパネル及び/又はキーボード等により構成され、ユーザの操作を受け付ける。入力装置26は、音声入力により操作を受け付けてもよい。出力装置27は、ディスプレイ等により構成され、各種の情報を出力(表示する)。
【0042】
CPU21及びRAM22等のハードウェア上にソフトウェアを読み込ませることにより、CPU21の制御のもとで通信モジュール25、入力装置26、出力装置27を動作させるとともに、RAM22や補助記憶装置24におけるデータの読み出し及び書き込みを行うことで、各機器及び各装置における一連の機能が実現される。
【0043】
機器100は、さらに、各種機構28を備える。各種機構28は、機器100におけるアクションを実行するための機構であり、例えば、加熱機構、冷蔵・冷凍機構、切断機構、撹拌機構等により構成される。
【0044】
(第1実施形態に係る端末装置の機能ブロック構成)
第1実施形態に係る端末装置200の機能ブロック構成について説明する。図4は、第1実施形態に係る端末装置200の機能ブロック構成を示す図である。
【0045】
図4に示すように、端末装置200は、制御部210と、通信部220と、記憶部230と、操作部240と、表示部250とを備える。
【0046】
制御部210は、CPU21を含んで構成され、端末装置200の動作を制御する。通信部220は、通信モジュール25を含んで構成され、通信ネットワーク10を介した通信を行う。通信部220は、機器100と直接的に通信する機能を有していてもよい。記憶部230は、RAM22、ROM23、及び補助記憶装置24を含んで構成され、各種の情報及びデータを記憶する。操作部240は、入力装置26を含んで構成され、ユーザ操作を受け付ける。表示部250は、出力装置27(ディスプレイ)を含んで構成され、各種の情報及びデータを表示する。
【0047】
制御部210は、HRR取得部211と、制御要求部212と、コマンド転送部213とを備える。
【0048】
HRR取得部211は、操作部240に対するユーザの操作に応じて、レシピ配信サーバ300から通信部220を介してHRRを取得する。HRR取得部211は、表示部250に表示されるレシピ一覧からユーザが選択したレシピのHRRを取得してもよいし、検索条件(キーワード等)を用いてレシピ配信サーバ30に対して検索処理を行うことにより条件に合致するHRRを取得してもよい。HRR取得部211は、取得したHRRを表示部250上に表示させる。かかるHRRと共に、機器100に制御コマンドを送信するためのボタン(以下、「機器制御ボタン」)が表示されてもよい。
【0049】
制御要求部212は、ユーザが機器制御ボタンを操作したことに応じて、機器100の制御を要求する制御要求を生成し、生成した制御要求を、通信部220を介して機器制御サーバ400に送信する。制御要求は、選択されたレシピ(HRR)に対応するレシピIDを含む。制御要求は、制御対象の機器100の機器IDをさらに含んでもよい。
【0050】
コマンド転送部213は、機器制御サーバ400から送信された制御コマンドを、通信部220を介して受信する。コマンド転送部213は、受信した制御コマンドを、通信部220を介して機器100に転送する。
【0051】
(第1実施形態に係る機器制御サーバの機能ブロック構成)
第1実施形態に係る機器制御サーバ400の機能ブロック構成について説明する。図5は、第1実施形態に係る機器制御サーバ400の機能ブロック構成を示す図である。
【0052】
図5に示すように、機器制御サーバ400は、制御部410と、通信部420と、記憶部430とを備える。
【0053】
制御部410は、CPU21を含んで構成され、機器制御サーバ400の動作を制御する。通信部420は、通信モジュール25を含んで構成され、通信ネットワーク10を介した通信を行う。記憶部430は、RAM22、ROM23、及び補助記憶装置24を含んで構成され、各種の情報及びデータを記憶する。また、記憶部430は、MRRをレシピIDと対応付けて記憶する。
【0054】
制御部410は、要求受付部411と、MRR取得部412と、処理部413とを備える。
【0055】
要求受付部411は、端末装置200からの制御要求を、通信部420を介して受け付ける。制御要求は、選択されたレシピに対応するレシピIDを含む。制御要求は、制御対象の機器100の機器IDをさらに含んでもよい。
【0056】
MRR取得部412は、制御要求に含まれるレシピIDに対応するMRRを記憶部430から取得する。
【0057】
処理部413は、MRR取得部412により取得されたMRRを解読し、制御要求に含まれる機器IDに対応する機器100を制御するための処理を行う。処理部413は、MRR解読部413aと、コマンド生成部413bと、コマンド送信部413cとを備える。
【0058】
MRR解読部413aは、MRR取得部412により取得されたMRRを解読する。
【0059】
コマンド生成部413bは、MRR解読部413aによるMRRの解読結果に基づいて、制御要求に含まれる機器IDに対応する機器100が実行可能なアクション(アクションID)をMRRから抽出し、抽出したアクションの実行を設定する制御コマンドを生成する。例えば、機器IDごとに、実行可能なアクション(アクションID)の一覧が定義されている。かかる一覧は、「切る」を表すID、「焼く」を表すID、「煮る」を表すID等からなる。コマンド生成部413bは、当該一覧を参照することにより、制御要求に含まれる機器IDに対応する機器100が実行可能なアクション(アクションID)をMRRから抽出する。具体的には、機器が実行可能なアクションIDの一覧と、MRR中の各エッジのアクションIDとを比較し、一致するアクションIDを抽出し、抽出したIDに対応するアクションをその機器に担当させると判断してもよい。
【0060】
コマンド送信部413cは、コマンド生成部413bにより生成されたコマンドを、通信部420を介して端末装置200に送信する。
【0061】
(第1実施形態に係る機器の機能ブロック構成)
第1実施形態に係る機器100の機能ブロック構成について説明する。図6は、第1実施形態に係る機器100の機能ブロック構成を示す図である。
【0062】
図6に示すように、機器100は、制御部110と、通信部120と、記憶部130と、操作部140とを備える。
【0063】
制御部110は、CPU21を含んで構成され、機器100の動作を制御する。通信部120は、通信モジュール25を含んで構成され、通信ネットワーク10を介した通信を行う。通信部120は、端末装置200と直接的に通信する機能を有していてもよい。記憶部130は、RAM22、ROM23、及び補助記憶装置24を含んで構成され、各種の情報及びデータを記憶する。操作部140は、入力装置26を含んで構成され、ユーザ操作を受け付ける。操作部140は、アクション開始操作を受け付けるための物理ボタン又はソフトウェアボタンを有する。
【0064】
制御部110は、コマンド取得部111と、アクション制御部112とを備える。
【0065】
コマンド取得部111は、端末装置200から送信された制御コマンドを、通信部120を介して取得する。
【0066】
アクション制御部112は、コマンド取得部111により制御コマンドが取得された後、ユーザにより操作部140(アクション開始ボタン)が操作されたことに応じて、当該制御コマンドに対応するアクションを開始するよう制御する。
【0067】
(第1実施形態に係る動作例)
第1実施形態に係る機器制御システム1の動作例について説明する。図7は、第1実施形態に係る機器制御システム1の動作例を示す図である。
【0068】
図7に示すように、ステップS101において、端末装置200は、ユーザからのレシピ検索操作を受け付ける。
【0069】
ステップS102において、端末装置200は、レシピ(HRR)の提供を要求するHRR要求をレシピ配信サーバ300に送信する。
【0070】
ステップS103において、レシピ配信サーバ300は、端末装置200からのHRR要求に対応するHRRを読み出す。
【0071】
ステップS104において、レシピ配信サーバ300は、読み出したHRRを端末装置200に送信する。HRRにはレシピIDが対応付けられている。
【0072】
ステップS105において、端末装置200は、ユーザからの機器制御操作を受け付ける。
【0073】
ステップS106において、端末装置200は、機器100の制御を要求する制御要求を機器制御サーバ400に送信する。制御要求にはレシピID及び機器IDが対応付けられている。
【0074】
ステップS107において、機器制御サーバ400は、端末装置200からの制御要求に対応するMRRを読み出す(取得する)。
【0075】
ステップS108において、機器制御サーバ400は、読み出したMRRを解読する。
【0076】
ステップS109において、機器制御サーバ400は、MRRの解読結果に基づいて、機器100が実行可能なアクション(アクションID)をMRRから抽出し、抽出したアクションの実行を設定する制御コマンドを生成する。
【0077】
ステップS110において、機器制御サーバ400は、生成した制御コマンドを端末装置200に送信する。
【0078】
ステップS111において、端末装置200は、機器制御サーバ400から制御コマンドを受信し、受信した制御コマンドを機器100に転送する。
【0079】
ステップS112において、機器100は、ユーザからのアクション開始操作を受け付ける。
【0080】
ステップS113において、機器100は、端末装置200から取得した制御コマンドに対応するアクションを実行する。
【0081】
<第1実施形態の変更例>
上述した第1実施形態において、機器制御サーバ400からの制御コマンドを端末装置200が機器100に転送する一例について説明した。しかしながら、機器制御サーバ400は、端末装置200を介さずに制御コマンドを機器100に送信してもよい。かかる場合、機器100の宛先情報(アドレス情報)が機器制御サーバ400に予め登録されていてもよいし、機器100の宛先情報(アドレス情報)が端末装置200からの制御要求により機器制御サーバ400に通知されてもよい。
【0082】
図8は、本変更例に係る機器制御システム1の動作例について説明する。図7は、本変更例に係る機器制御システム1の動作例を示す図である。
【0083】
図8に示すように、ステップS201乃至S209の各処理は、図7のステップS201乃至S209の各処理と同様である。
【0084】
ステップS210において、機器制御サーバ400は、生成した制御コマンドを機器100に送信する。機器100は、機器制御サーバ400から制御コマンドを受信する。
【0085】
ステップS211において、機器100は、ユーザからのアクション開始操作を受け付ける。
【0086】
ステップS212において、機器100は、機器制御サーバ400から取得した制御コマンドに対応するアクションを実行する。
【0087】
<第2実施形態>
第2実施形態について、第1実施形態との相違点を主として説明する。
【0088】
上述した第1実施形態において、MRRを機器制御サーバ400が解読する一例について説明した。これに対し、第2実施形態においては、機器制御サーバ400は、読み出したMRRを解読することなく、当該MRRを端末装置200に送信(配信)する。端末装置200は、機器制御サーバ400から取得したMRRを解読する。
【0089】
(第2実施形態に係る端末装置の機能ブロック構成)
第2実施形態に係る端末装置200の機能ブロック構成について説明する。図9は、第2実施形態に係る端末装置200の機能ブロック構成を示す図である。
【0090】
図9に示すように、端末装置200は、制御部210と、通信部220と、記憶部230と、操作部240と、表示部250とを備える点において、第1実施形態と共通する。
【0091】
第2実施形態に係る制御部210は、HRR取得部211と、制御要求部212と、MRR取得部214と、処理部215とを備える。HRR取得部211及び制御要求部212については第1実施形態と同様である。
【0092】
MRR取得部214は、MRRを機器制御サーバ400から取得する。
【0093】
処理部215は、MRR取得部214により取得されたMRRを解読し、制御対象の機器100を制御するための処理を行う。処理部215は、MRR解読部215aと、コマンド生成部215bと、コマンド送信部215cとを備える。
【0094】
MRR解読部215aは、MRR取得部214により取得されたMRRを解読する。
【0095】
コマンド生成部215bは、MRR解読部215aによるMRRの解読結果に基づいて、制御対象の機器100が実行可能なアクション(アクションID)をMRRから抽出し、抽出したアクションの実行を設定する制御コマンドを生成する。例えば、機器IDごとに、実行可能なアクション(アクションID)の一覧が定義されており、コマンド生成部215bは、当該一覧を参照することにより、制御対象の機器100が実行可能なアクション(アクションID)をMRRから抽出する。
【0096】
コマンド送信部215cは、コマンド生成部215bにより生成されたコマンドを、通信部220を介して機器100に送信する。
【0097】
(第2実施形態に係る動作例)
第2実施形態に係る機器制御システム1の動作例について説明する。図10は、第2実施形態に係る機器制御システム1の動作例を示す図である。
【0098】
図10に示すように、ステップS301において、端末装置200は、ユーザからのレシピ検索操作を受け付ける。
【0099】
ステップS302において、端末装置200は、レシピ(HRR)の提供を要求するHRR要求をレシピ配信サーバ300に送信する。
【0100】
ステップS303において、レシピ配信サーバ300は、端末装置200からのHRR要求に対応するHRRを読み出す。
【0101】
ステップS304において、レシピ配信サーバ300は、読み出したHRRを端末装置200に送信する。HRRにはレシピIDが対応付けられている。
【0102】
ステップS305において、端末装置200は、ユーザからの機器制御操作を受け付ける。
【0103】
ステップS306において、端末装置200は、機器100の制御を要求する制御要求を機器制御サーバ400に送信する。制御要求にはレシピIDが対応付けられている。
【0104】
ステップS307において、機器制御サーバ400は、端末装置200からの制御要求に対応するMRRを読み出す。
【0105】
ステップS308において、機器制御サーバ400は、読み出したMRRを端末装置200に送信(配信)する。
【0106】
ステップS309において、端末装置200は、機器制御サーバ400から取得したMRRを解読する。
【0107】
ステップS310において、端末装置200は、MRRの解読結果に基づいて、機器100が実行可能なアクション(アクションID)をMRRから抽出し、抽出したアクションの実行を設定する制御コマンドを生成する。
【0108】
ステップS311において、端末装置200は、生成した制御コマンドを機器100に送信する。
【0109】
ステップS312において、機器100は、ユーザからのアクション開始操作を受け付ける。
【0110】
ステップS313において、機器100は、端末装置200から取得した制御コマンドに対応するアクションを実行する。
【0111】
<第3実施形態>
第3実施形態について、第1との相違点を主として説明する。
【0112】
上述した第1実施形態において、MRRを機器制御サーバ400が解読する一例について説明した。これに対し、第3実施形態においては、機器制御サーバ400は、読み出したMRRを解読することなく、当該MRRを端末装置200に送信(配信)する。端末装置200は、機器制御サーバ400からのMRRを機器100に転送する。機器100は、端末装置200から取得したMRRを解読する。
【0113】
(第3実施形態に係る機器の機能ブロック構成)
第3実施形態に係る機器100の機能ブロック構成について説明する。図11は、第3実施形態に係る機器100の機能ブロック構成を示す図である。
【0114】
図11に示すように、機器100は、制御部110と、通信部120と、記憶部130と、操作部140とを備える点において、第1実施形態と共通する。
【0115】
第3実施形態に係る制御部110は、MRR取得部113と、処理部114とを備える。
【0116】
MRR取得部113は、MRRを端末装置200から取得する。
【0117】
処理部114は、MRR取得部113により取得されたMRRを解読し、自機器100を制御するための処理を行う。処理部114は、MRR解読部114aと、アクション制御部114bとを備える。
【0118】
MRR解読部114aは、MRR取得部113により取得されたMRRを解読し、解読結果に基づいて、自機器100が実行可能なアクション(アクションID)をMRRから抽出する。例えば、機器IDごとに、実行可能なアクション(アクションID)の一覧が定義されており、MRR解読部114aは、当該一覧を参照することにより、自機器100が実行可能なアクション(アクションID)をMRRから抽出する。
【0119】
アクション制御部114bは、MRR解読部114aによりアクションが抽出された後、ユーザにより操作部140(アクション開始ボタン)が操作されたことに応じて、当該アクションを開始するよう制御する。
【0120】
(第3実施形態に係る動作例)
第3実施形態に係る機器制御システム1の動作例について説明する。図12は、第3実施形態に係る機器制御システム1の動作例を示す図である。
【0121】
図10に示すように、ステップS401において、端末装置200は、ユーザからのレシピ検索操作を受け付ける。
【0122】
ステップS402において、端末装置200は、レシピ(HRR)の提供を要求するHRR要求をレシピ配信サーバ300に送信する。
【0123】
ステップS403において、レシピ配信サーバ300は、端末装置200からのHRR要求に対応するHRRを読み出す。
【0124】
ステップS404において、レシピ配信サーバ300は、読み出したHRRを端末装置200に送信する。HRRにはレシピIDが対応付けられている。
【0125】
ステップS405において、端末装置200は、ユーザからの機器制御操作を受け付ける。
【0126】
ステップS406において、端末装置200は、機器100の制御を要求する制御要求を機器制御サーバ400に送信する。制御要求にはレシピIDが対応付けられている。
【0127】
ステップS407において、機器制御サーバ400は、端末装置200からの制御要求に対応するMRRを読み出す。
【0128】
ステップS408において、機器制御サーバ400は、読み出したMRRを端末装置200に送信(配信)する。
【0129】
ステップS409において、端末装置200は、機器制御サーバ400から取得したMRRを機器100に転送する。
【0130】
ステップS410において、機器100は、端末装置200から取得したMRRを解読し、自機器100が実行可能なアクション(アクションID)をMRRから抽出する。
【0131】
ステップS411において、機器100は、ユーザからのアクション開始操作を受け付ける。
【0132】
ステップS412において、機器100は、MRRから抽出したアクションを実行する。
【0133】
<第3実施形態の変更例>
上述した第3実施形態において、機器制御サーバ400からのMRRを端末装置200が機器100に転送する一例について説明した。しかしながら、機器制御サーバ400は、端末装置200を介さずにMRRを機器100に送信してもよい。かかる場合、機器100の宛先情報(アドレス情報)が機器制御サーバ400に予め登録されていてもよいし、機器100の宛先情報(アドレス情報)が端末装置200からの制御要求により機器制御サーバ400に通知されてもよい。
【0134】
図13は、本変更例に係る機器制御システム1の動作例について説明する。図13は、本変更例に係る機器制御システム1の動作例を示す図である。
【0135】
図13に示すように、ステップS501乃至S507の各処理は、図12のステップS401乃至S407の各処理と同様である。
【0136】
ステップS508において、機器制御サーバ400は、読み出したMRRを機器100に送信(配信)する。
【0137】
ステップS509において、機器100は、機器制御サーバ400から取得したMRRを解読し、自機器100が実行可能なアクション(アクションID)をMRRから抽出する。
【0138】
ステップS510において、機器100は、ユーザからのアクション開始操作を受け付ける。
【0139】
ステップS511において、機器100は、MRRから抽出したアクションを実行する。
【0140】
<その他の実施形態>
以上、実施形態について記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなる。
【0141】
上述した実施形態において、機器制御システム1が端末装置200を備える一例について説明した。しかしながら、機器100がレシピ配信サーバ300及び機器制御サーバ400と通信可能であり、且つ、機器100がタッチパネル等のユーザインターフェイスを有する場合には、端末装置200を不要としてもよい。かかる場合、上述した第1実施形態及び第3実施形態において端末装置200が行っていた動作を、端末装置200に代えて機器100が行ってもよい。
【0142】
上述した実施形態において、レシピ配信サーバ300及び機器制御サーバ400が別々のサーバ装置である一例について説明した。しかしながら、レシピ配信サーバ300及び機器制御サーバ400のそれぞれの機能を1つのサーバ装置に持たせて、レシピ配信サーバ300及び機器制御サーバ400を1つのサーバ装置に統合してもよい。
【0143】
機器制御システム1における各処理をコンピュータに実行させるプログラムが提供されてもよい。また、プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。
コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。
【符号の説明】
【0144】
1 :機器制御システム
10 :通信ネットワーク
21 :CPU
22 :RAM
23 :ROM
24 :補助記憶装置
25 :通信モジュール
26 :入力装置
27 :出力装置
28 :機構
30 :レシピ配信サーバ
110 :制御部
111 :コマンド取得部
112 :アクション制御部
113 :MRR取得部
114 :処理部
114a :MRR解読部
114b :アクション制御部
120 :通信部
130 :記憶部
140 :操作部
200 :端末装置
210 :制御部
211 :HRR取得部
212 :制御要求部
213 :コマンド転送部
214 :MRR取得部
215 :処理部
215a :MRR解読部
215b :コマンド生成部
215c :コマンド送信部
220 :通信部
230 :記憶部
240 :操作部
250 :表示部
300 :レシピ配信サーバ
400 :機器制御サーバ
410 :制御部
411 :要求受付部
412 :MRR取得部
413 :処理部
413a :MRR解読部
413b :コマンド生成部
413c :コマンド送信部
420 :通信部
430 :記憶部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13