JP7067082B2 - 機器制御システム、機器制御方法、及びプログラム - Google Patents

機器制御システム、機器制御方法、及びプログラム Download PDF

Info

Publication number
JP7067082B2
JP7067082B2 JP2018009918A JP2018009918A JP7067082B2 JP 7067082 B2 JP7067082 B2 JP 7067082B2 JP 2018009918 A JP2018009918 A JP 2018009918A JP 2018009918 A JP2018009918 A JP 2018009918A JP 7067082 B2 JP7067082 B2 JP 7067082B2
Authority
JP
Japan
Prior art keywords
mode
command
communication
message
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018009918A
Other languages
English (en)
Other versions
JP2019129407A (ja
Inventor
明彦 須山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2018009918A priority Critical patent/JP7067082B2/ja
Priority to US16/255,259 priority patent/US10938595B2/en
Publication of JP2019129407A publication Critical patent/JP2019129407A/ja
Application granted granted Critical
Publication of JP7067082B2 publication Critical patent/JP7067082B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2838Distribution of signals within a home automation network, e.g. involving splitting/multiplexing signals to/from different paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Description

本発明は機器制御システム、機器制御方法、及びプログラムに関する。
家電製品やオーディオ機器など、汎用的なコンピュータ機器と異なるデバイスにネットワーク等への接続機能を付加し、それらのデバイスから情報を得たり、それらのデバイスをリモート制御することが盛んに行われている。これらのデバイスは、インターネットを介してサーバと通信している。
特許文献1には、ネットワークを通じてAV機器を遠隔制御するシステムが開示されている。
特開2004-15627号公報
ネットワーク接続機能を有するデバイスと、そのデバイスとネットワークを介して接続されるサーバとの間では、定期的にデータの送受信をする必要がある。すると、ネットワーク接続機能を有するデバイスの数の増加により、サーバと直接的に接続するデバイスが増加し、これにより接続コストが増大する恐れがある。
本発明は上記課題を鑑みてなされたものであって、その目的は、ネットワーク接続機能を有するデバイスと、それらとネットワークを介して接続されるサーバとの間の接続コストの増大を抑制する技術を提供することにある。
上記課題を解決するために、本発明に係る機器制御システムは、動作指示を取得する動作指示取得手段と、前記動作指示に基づいて生成されたコマンドを1または複数のデバイスへ送信する送信手段と、前記1または複数のデバイスの1つの動作状況に基づいて、前記1つのデバイスが、前記送信手段と他のデバイスを経由せずに通信する第1のモードと、前記送信手段と他のデバイスを経由して通信する第2のモードとのうち一方で通信するよう制御する通信制御手段と、を含む。
また、本発明に係る機器制御方法は、動作指示を取得するステップと、前記動作指示に基づいて生成されたコマンドを1または複数のデバイスへ送信するステップと、前記1または複数のデバイスの1つの動作状況に基づいて、前記1つのデバイスが、前記送信手段と他のデバイスを経由せずに通信する第1のモードと、前記送信手段と他のデバイスを経由して通信する第2のモードとのうち一方で通信するよう制御するステップと、を含む。
また、本発明に係るプログラムは、動作指示を取得する動作指示取得手段、前記動作指示に基づいて生成されたコマンドを1または複数のデバイスへ送信する送信手段、および、前記1または複数のデバイスの1つの動作状況に基づいて、前記1つのデバイスが、前記送信手段と他のデバイスを経由せずに通信する第1のモードと、前記送信手段と他のデバイスを経由して通信する第2のモードとのうち一方で通信するよう制御する通信制御手段、としてコンピュータを機能させる。
本発明によれば、ネットワーク接続機能を有するデバイスと、それらとネットワークを介して接続されるサーバとの間の接続コストの増大を抑制することができる。
本発明の実施形態にかかる機器制御システムの構成を示す図である。 機器テーブルの一例を示す図である。 音声認識装置、コマンドデータ送信装置および機器により実現される機能を示すブロック図である。 メッセージの一例を示す図である。 MQTTサーバによる通信を説明する図である。 対象機器へ送信される再送信メッセージの一例を示す図である。 動作指示受付部、送信先決定部、メッセージ生成部、メッセージ送信部の処理の一例を示すフロー図である。 送信先決定部の処理の一例を示すフロー図である。 通信ログテーブルの一例を示す図である。 通信モード制御部の処理の一例を示すフロー図である。 メッセージ受信部、コマンド再送信部、コマンド実行部の処理の一例を示すフロー図である。 状態メッセージを送受信する処理の一例を示すフロー図である。
以下、本発明の実施形態の例を図面に基づいて説明する。
[1.システム構成]図1は、本発明の実施形態に係る機器制御システム1の構成を示す。図1に示すように、機器制御システム1は、第1機器20-1、第2機器20-2、第3機器20-3、音声入力装置30、音声認識装置40、及びコマンド処理システム50を含む。以下では、第1機器20-1、第2機器20-2、および第3機器20-3を総称して「機器20」と記載する場合がある。
機器20および音声入力装置30はローカルエリアに設置され、LAN2に接続される。LAN2は有線LANであってもよいし、無線LANであってもよい。LAN2はルータ4を介してインターネット6に接続される。音声認識装置40及びコマンド処理システム50はローカルエリア外に設置される。すなわち、機器20及び音声入力装置30から見て、音声認識装置40及びコマンド処理システム50はインターネット6側に設置される。なお、「ローカルエリア」とは、LAN2を介した通信が可能な限られた範囲のエリアである。
機器20は機器制御システム1による制御の対象となる機器20である。図1では、3台の機器20が示されているが、4台以上の機器20が含まれていてもよいし、2台以下の機器20のみが含まれていてもよい。以下では機器20は同じLAN2に接続されているものとする。
例えば、機器20はオーディオ装置又はオーディオビジュアル装置である。具体的には、機器20は、AVレシーバ、AVアンプ、スピーカ、光ディスク再生装置(ブルーレイディスク(登録商標)プレーヤ又はDVD(登録商標)プレーヤ等)、又はテレビジョン受像機である。また例えば、機器20は楽器(電子楽器又は電気楽器等)であってもよい。なお、機器20はこれら以外の装置であってもよい。
以下では、第1機器20-1がAVレシーバであり、第2機器20-2がテレビジョン受像機であり、第3機器20-3が他の部屋(キッチン)に設置されスピーカを有する装置である例を想定する。第2機器20-2はHDMI(High-Definition Multimedia Interface:登録商標)ケーブルを介して第1機器20-1の第1のHDMI端子(HDMI1)に接続されている。また、プライベートIPアドレス「192.168.0.2」、「192.168.0.3」、「192.168.0.4」がそれぞれ第1機器20-1、第2機器20-2、第3機器20-3に対して設定されている。
図1に示すように、第1機器20-1は制御部21、記憶部22、及び通信部23を含む。制御部21は少なくとも一つのマイクロプロセッサ(CPU)を含み、記憶部22に記憶されたプログラムに従って処理を実行する。記憶部22は、主記憶部(例えばRAM)及び補助記憶部(例えば、不揮発性の半導体メモリ、またはハードディスクドライブ)を含む。記憶部22はプログラムやデータを記憶するためのものである。通信部23は他の装置との間でデータを送受信するためのものである。図1では省略されているが、第2機器20-2、および第3機器20-3も制御部21、記憶部22、及び通信部23を含む。
なお、機器20は、情報記憶媒体(例えば光ディスク又はメモリカード等)に記憶されたプログラムやデータを読み取るための構成(例えば光ディスクドライブ又はメモリーカードスロット等)を備えてもよい。そして、プログラムが情報記憶媒体を介して機器20に供給されてもよい。プログラムはインターネット6を介して機器20に供給されてもよい。
音声入力装置30はマイクロフォンを含み、音声入力を受け付ける。本実施形態では、ユーザが機器20への動作指示を音声入力するために音声入力装置30が使用される。例えば、X社が提供するコマンド処理システム50を介して、居間に設置された機器20をスタンバイ状態から起動させたい場合、ユーザは「AAA ask MC to turn on the Living Room」等を音声入力装置30に入力する。ここで、「AAA」は音声入力装置30に対する音声入力を開始させるための言葉(Wake word)であって、例えば音声入力装置30の名称であり、「MC」は、コマンド処理システム50の名称である。
音声入力装置30に入力された音声(フレーズ)を示す音声データはユーザIDとともにインターネット6を介して音声認識装置40に送信される。音声認識装置40は例えばサーバコンピュータによって実現される。音声認識装置40はいわゆるクラウドコンピューティングにより、複数のサーバによって実現されてもよい。音声認識装置40は音声認識処理を実行することによって、音声データを、プログラム(コマンド処理システム50)によって理解しやすい形式のデータに変換する。例えば、音声認識装置40は、フレーズの音声データから、そのユーザの指示の種類と指示の対象とを示す文字列を含む所定形式の動作指示を生成する。そして、動作指示はユーザIDとともにコマンド処理システム50に送信される。なお、ユーザIDは、音声データがコマンド処理システム50に送信されるまでの間に、いずれかのインターネット6側の装置(処理)によって付与されてもよい。
ここで、音声認識装置40は、ユーザから送信される音声の内容、例えばフレーズ中の特定の単語群に応じて、そのフレーズの内容を処理できるコマンド処理システム50に対して動作指示を送信することができる。
図1に示すように、コマンド処理システム50は、コマンドデータ送信装置10、データベース52、及びMQTT(Message Queueing Telemetry Transport)サーバ53を含む。
データベース52は各種データを記憶する。例えば、データベース52は各ユーザの所有している機器20の情報を記憶する。図2はデータベース52に記憶される機器テーブルT1の一例を示す。機器テーブルT1はユーザごとに(ユーザIDと関連付けて)記憶される。なお、コマンド処理システム50(データベース52)、機器20で使用されるユーザIDは、音声入力装置30及び音声認識装置40で使用されるユーザIDと異なっていてもよいし、同じであってもよい。
図2に示すように、機器テーブルT1は「ID」、「名称」、「機器ID」、「IPアドレス」、「コマンド種類」、「端子」、「信号接続先」、「受信機能」、「接続状態」「受付可能コマンド」フィールドを含む。
「ID」フィールドは、ユーザの所有している各機器20を一意に識別する情報を示す。図2では、第1機器20-1がID「1」に相当し、第2機器20-2がID「2」に相当する。
「名称」フィールドは機器20の名称を示す。この名称はユーザが動作指示の対象の機器20を指定するために使用される。名称としては、ユーザによって設定された任意の名称が使用されてよいし、例えば機器20の製造元等によって設定された初期名称が使用され、ユーザにより修正が可能になっていてもよい。
「機器ID」フィールドは、これのみで機器20を一意に特定する機器IDである。機器IDは、機器20のMACアドレスであってもよいし、MACアドレスに基づいて生成されたIDであってもよい。「IPアドレス」フィールドは、機器20が備えている有線又は無線ネットワークインタフェースカードに対して設定されたIPアドレスを示す。「コマンド種類」フィールドは、機器20で使用されているコマンドの種類(体系)を示す。「端子」フィールドは、機器20が備えている入力端子のリストを示す。「信号接続先」フィールドは、機器20が他の機器20の入力端子に接続されて、機器20から出力される音声が他の機器20に入力される場合に、機器20が接続された他の機器20の入力端子を示す。
「受信機能」フィールドは、インターネット6を介してコマンドを含むメッセージを受信する機能を有するか否かを示す。メッセージについては後述する。例えば、「0」又は「1」が「受信機能」フィールドに登録される。「0」は、この機器20がインターネット6を介してメッセージを受信する機能がないことを示し、「1」は、この機器20がインターネット6を介してメッセージを受信できる機能を有することを示す。
「接続状態」フィールドは、機器20とコマンド処理システム50とが直接的に通信可能であるか否かを示す。例えば、「0」又は「1」が「接続状態」フィールドに登録される。「0」は、この機器20とコマンド処理システム50のMQTTサーバ53とが通信接続されておらず、この機器20が他の機器20を介さずにコマンド処理システム50と通信する状態にないこと(以下では「通信接続されていない状態」とも記載する)を示し、「1」は、この機器20とコマンド処理システム50のMQTTサーバ53とが通信接続されており、この機器20が他の機器20を介さずにコマンド処理システム50と通信する状態にある(以下では「通信接続されている状態」とも記載する)ことを示す。通信接続の詳細については後述する。
「受付可能コマンド」フィールドは、機器20が受付可能なコマンドのリストを示す。「受付可能コマンド」フィールドのリスト中に「Power」が設定されていれば、その機器は外部からのコマンドによりスタンバイ状態から起動することが可能であることを示し、設定されていなければスタンバイ状態から起動することができないことを示す。また、「受付可能コマンド」フィールドのリスト中に「Volume」が設定されていれば、その機器は外部からのコマンドにより音量を制御することが可能であることを示し、設定されていなければ音量を制御することができないことを示す。
機器テーブルT1のデータは各ユーザによる入力によってデータベース52に登録される。なお、データベース52には機器テーブルT1以外のデータも記憶される。例えば、データベース52にはユーザと、機器20のためにそのユーザが入力可能なフレーズの種類を示すデータとが関連付けて記憶されている。他にも、動作指示とコマンドとの対応関係を示すデータ(言い換えれば、動作指示をコマンドに変換するためのデータ)がデータベース52に記憶されてもよい。
コマンドデータ送信装置10は例えばサーバコンピュータによって実現される。図1に示すように、コマンドデータ送信装置10は制御部11、記憶部12、及び通信部13を含む。制御部11、記憶部12、及び通信部13は制御部21、記憶部22、及び通信部23と同様である。なお、コマンドデータ送信装置10は、情報記憶媒体(例えば光ディスク又はメモリカード等)に記憶されたプログラムやデータを読み取るための構成要素(例えば光ディスクドライブ又はメモリーカードスロット等)を備えてもよい。そして、プログラムが情報記憶媒体を介してコマンドデータ送信装置10に供給されてもよい。プログラムはインターネット6を介してコマンドデータ送信装置10に供給されてもよい。
コマンドデータ送信装置10はデータベース52にアクセス可能である。コマンドデータ送信装置10とデータベース52とは一つのサーバコンピュータによって実現されてもよいし、別のサーバコンピュータによって実現されてもよい。
コマンドデータ送信装置10は、音声認識装置40から送信される、機器20に対する動作指示を受け付け、当該動作指示に基づいてコマンドを含むメッセージを生成し、当該メッセージを当該機器20へ向けて送信する。より具体的には、メッセージはMQTTサーバ53を介して機器20へ向けて送信される。なお、メッセージはMQTTサーバ53を介して直接的に動作指示の対象となる機器20へ送信されてもよいし、他の機器20を介して対象の機器20へメッセージが送信されてもよい。MQTTサーバ53は、MQTTプロトコルを使用してデータを送受信するためのものである。コマンドデータ送信装置10とMQTTサーバ53とは一つのサーバコンピュータによって実現されてもよいし、別のサーバコンピュータによって実現されてもよい。
[2.機能ブロック]図3は、コマンドデータ送信装置10および機器20により実現される機能を示すブロック図である。
図3に示すように、コマンドデータ送信装置10は動作指示受付部110、送信先決定部120、メッセージ生成部130、メッセージ送信部140、通信モード制御部160、および機器情報取得部180を含む。動作指示受付部110、送信先決定部120、メッセージ生成部130、メッセージ送信部140、通信モード制御部160、および機器情報取得部180は、制御部11が記憶部12に格納された各機能のプログラムを実行することによって実現される。
また図3に示すように、機器20はメッセージ受信部210、コマンド再送信部220、コマンド受信部230、コマンド実行部240、および機器情報送信部280を含む。メッセージ受信部210、コマンド再送信部220、コマンド受信部230、コマンド実行部240、および機器情報送信部280は制御部21が記憶部22に格納された各機能のプログラムを実行することによって実現される。
[2-1]まず、動作指示受付部110、送信先決定部120、通信モード制御部160、メッセージ生成部130、メッセージ送信部140、メッセージ受信部210、コマンド再送信部220、コマンド受信部230、コマンド実行部240について説明する。
動作指示受付部110は、ある機器20に対する動作指示を受け付ける。例えば、動作指示受付部110は、音声認識装置40によってテキストデータ等のプログラムにとって理解可能な形式のデータに変換された動作指示を音声認識装置40から受信する。
送信先決定部120は、その動作指示から、その動作指示の対象となる機器20(対象機器)を特定し、さらに、メッセージ生成部130が動作指示に基づいて生成するメッセージの送信先となる機器20を決定する。動作指示の対象となる機器20と、メッセージの送信先となる機器20とは必ずしも異なっていない。
メッセージ生成部130は、動作指示受付部110が対象機器に対する動作指示を受信した場合に、動作指示に対応するコマンドを含むメッセージを生成する。コマンドは、動作指示に応じた動作を行わせるためのテキスト等のデータである。
図4はメッセージD1,D2の一例を示す図である。図4に示されるメッセージD1は、第1機器20-1をスタンバイ状態から起動する旨の動作指示が受け付けられた場合に生成されるメッセージの一例であり、メッセージD2は、第3機器20-3をスタンバイ状態から起動する旨の動作指示が受け付けられた場合に生成されるメッセージの一例である。
メッセージD1,D2は項目「type」,「id」,「command」を含む。項目「type」はデータの種別を示す。図5に示す例では「cmd」が項目「type」に設定されている。これはメッセージ中にコマンドが含まれることを示している。項目「id」はメッセージを一意に識別する識別情報を示す。項目「command」に設定されるデータはコマンドの内容を示す。項目「command」は項目「ip」,「path」,「method」を含む。項目「ip」はコマンドの宛先を示す。図5のメッセージD1では第1機器20-1のIPアドレスが項目「ip」に設定され、メッセージD2で第3機器20-3のIPアドレスが項目「ip」に設定されている。項目「path」はコマンド本体に相当する。項目「method」は、コマンド本体をLAN2内で送信する際に使用されるHTTPプロトコルのメソッドを示す。
メッセージ送信部140は、動作指示に基づいてメッセージ生成部130によって生成されたメッセージを1または複数の機器20へ向けて送信する。なお、メッセージ送信部140は、動作指示の対象となる機器20がインターネット6経由でメッセージを受信する状態にない場合(接続状態に「0」が設定されている場合)には、他の機器20へメッセージを送信し、その他の機器20に対象の機器20へメッセージの内容を転送させる。
このメッセージは、MQTTプロトコルを使用して機器20へ送信される。言い換えると、メッセージ送信部140はMQTTサーバ53を介してメッセージを機器20へ送信する。図5は、MQTTサーバ53による通信を説明する図である。図5は第1機器20-1との間でMQTTプロトコルを用いて通信を行う場合の例について説明している。
図5に示すように、MQTTサーバ53には第1トピックTP1が設定される。第1トピックTP1は、コマンドデータ送信装置10から第1機器20-1へデータを送信するためのトピックである。第1トピックTP1の識別情報は機器20を識別する機器IDに基づいて設定される。例えば、第1機器20-1の機器IDと、コマンド処理システム50の外にある第1機器20-1へデータを送信するためのトピックであることを示す「OUT」の文字列とを組み合わせてなる「aabbccddee11_OUT」という識別情報が第1トピックTP1に対して設定される。
また図5に示すように、MQTTサーバ53には第2トピックTP2も設定される。第2トピックTP2は、第1機器20-1からコマンドデータ送信装置10へデータを送信するためのトピックである。第2トピックTP2の識別情報(名称)も第1機器20-1の機器IDに基づいて設定される。例えば、第1機器20-1の機器IDと、コマンド処理システム50の内側へデータを送信するためのトピックであることを示す「IN」の文字列とを組み合わせてなる「aabbccddee11_IN」という識別情報が第2トピックTP2に対して設定される。
コマンド処理システム50がメッセージを第1機器20-1に送信する場合、メッセージ送信部140はメッセージを第1トピックTP1にパブリッシュする。第1トピックTP1には第1機器20-1がサブスクライバとして登録されており、第1トピックTP1にパブリッシュされたメッセージは、第1トピックTP1をサブスクライブしている第1機器20-1のメッセージ受信部210によりサブスクライブされる。すなわち、第1トピックTP1にパブリッシュされたコマンドデータは第1機器20-1に送信される。このようにして、コマンドデータは第1トピックTP1を介して第1機器20-1に送信される。なお、第1機器20-1が何らかのメッセージをコマンド処理システム50に送信する場合、第1機器20-1の機器情報送信部280はメッセージを第2トピックTP2にパブリッシュする。また第2トピックTP2にパブリッシュされたメッセージは機器情報送信部280によりサブスクライブされる。
また、MQTTプロトコルでは、MQTTサーバ53と機器20との間にTCPセッションによる通信接続が確立されており、その接続を維持するために、MQTTサーバ53と機器20との間では一定期間ごとにデータを送受信する(いわゆる「keepalive」)。MQTTプロトコルを用いない場合、いわゆるポーリングを用いることが考えられるが、この場合も、前回の送受信との間隔が所定の期間に収まるようにコマンド処理システム50と機器20との間で送受信することが必要である。このように送受信するよう設定されることは、MQTTプロトコルにおける上記の通信接続に相当する。これらの例からわかるように、一般的に、インターネット6を介してコマンド処理システム50から機器20へのプッシュ的な通信を可能にする場合、送受信するデータがなくても繰り返し送受信することが必要である。したがって、接続する機器20が増えれば、仮にメッセージそのものの通信量が増えなくても、通信コストが増大する。
メッセージ受信部210はメッセージ送信部140により送信されたメッセージをインターネット6を介して受信する。
ここで、通信モード制御部160は、1または複数の機器20のうち1つの動作状況に基づいて、その1つの機器20(対象機器に相当する)が、コマンドデータ送信装置10のメッセージ送信部140と他の機器20を経由せずに通信する直接通信モードと、メッセージ送信部140と他の機器20を経由して通信する間接通信モードとのうち一方で通信するよう制御する。より具体的には、1または複数の機器20のうち1つの動作状況に基づいて、その機器20が直接通信モードと間接通信モードとのうちいずれにするかを判定し、直接通信モードと判断された場合には、その機器20とコマンド処理システム50とが通信接続された状態となり、間接通信モードと判断された場合には、その機器20とコマンド処理システム50とが通信接続されていない状態になるよう制御する。動作状況は、例えば、その機器20を対象とするコマンドの送信状況(頻度や最後の送信からの経過期間)であり、その機器20における音楽の再生状況である。
MQTTプロトコルを用いる場合、直接通信モードでは、メッセージ送信部140から送信されるメッセージはMQTTサーバ53にパブリッシュされ、対象機器はMQTTサーバ53からメッセージをサブスクライブすることでメッセージを受信する。また間接通信モードでは、メッセージ送信部140から送信されるメッセージはMQTTサーバ53にパブリッシュされ、対象機器と異なる送信先となる機器20がMQTTサーバ53からメッセージをサブスクライブする。そして、その送信先となる機器20は対象機器へそのメッセージまたはそのメッセージが変換されたメッセージを送信する。対象機器は、その送信されたメッセージを受信する。直接通信モードは、機器テーブルT1における「接続状態」フィールドに「1」が設定され、通信接続されている状態に対応し、間接通信モードは、「接続状態」フィールドに「0」が設定され、通信接続されていない状態に対応する。
コマンド再送信部220は、メッセージ受信部210が受信したメッセージに含まれるコマンドを含む再送信メッセージを、そのコマンドを実行する対象機器のコマンド受信部230へ向けて送信する。対象機器を示す情報はメッセージ中に含まれており、再送信メッセージは例えばHTTPプロトコルにより送信される。またコマンド再送信部220は、対象機器が自らの機器20と異なる場合に再送信メッセージを送信してもよいし、対象機器と自らの機器20との関係に関わらず送信してもよい。
コマンド受信部230は、他の機器20またはみずからの機器20のコマンド再送信部220により送信された再送信メッセージを受信する。例えば、コマンド受信部230はHTTPデーモンにより再送信メッセージを受信する。
図6は、対象機器へ送信される再送信メッセージの一例を示す図である。図6の例では、再送信メッセージのそれぞれは1つのコマンドを含んでいる。図6に示す再送信メッセージC1,C2は第1機器20-1に対するコマンドの例であり、再送信メッセージC3,C4は第3機器20-3に対するコマンドの例である。
図6に示す再送信メッセージでは、コマンドとしてURLが設定されている。再送信メッセージC1は第1機器20-1をスタンバイ状態(非起動状態)から起動するコマンドを含む。「スタンバイ状態」とは消費電力が通常状態(起動状態)よりも低減された状態である。すなわち、スタンバイ状態は完全に電源がオフになった状態ではなく、スタンバイ状態でもネットワーク通信機能等は有効になっており、コマンドデータを受信したり、コマンドを実行(送信)したり、コマンドを受け付けたりすることが可能である。再送信メッセージC2は第1機器20-1に音楽再生を開始させるコマンドを含む。再送信メッセージC3は第3機器20-3をスタンバイ状態から起動するコマンドを含む。再送信メッセージC4は第3機器20-3の音楽再生を開始させるコマンドを含む。第1機器20-1、第2機器20-2、第3機器20-3、及び第4機器20-4の間でもコマンドの形式は同じであってもよいし、異なっていてもよい。
コマンド実行部240は、メッセージに含まれるコマンドに基づいて、コマンドを実行する。コマンド実行部240は、メッセージ受信部210が受信したメッセージに含まれるコマンドを直接的に解釈して機器20を直接制御してもよい。またコマンド実行部240は、コマンド受信部230が他の機器20のコマンド再送信部220から受信した再送信メッセージに含まれるコマンドを実行してもよい。なお、コマンド実行部240は、コマンド受信部230が自らの機器20のコマンド再送信部220から受信した再送信メッセージに含まれるコマンドを実行してもよい。
[2-2]次に、機器情報送信部280および機器情報取得部180について説明する。
機器情報送信部280は、自らの機器20の動作状況が変化した場合、または、前回の送信から一定時間が経過した場合に、この機器20の現在情報を含む状態メッセージを、インターネット6を介してコマンドデータ送信装置10に送信する。現在情報は、機器20の現在の状態を示す情報であり、機器20が再生中であるか否かを示す情報を含む。なお、状態メッセージは、さらに、機器20の機種情報、ユーザが機器20を特定する名称、機器ID、IPアドレスといった情報を含んでもよい。なお、機器情報送信部280は状態メッセージをMQTTサーバ53を介してコマンドデータ送信装置10へ送信する。
機器情報取得部180は機器20から現在情報を含む状態メッセージを取得する。より具体的には、機器情報取得部180はMQTTサーバ53を介して機器20から送信された状態メッセージを受信する。
[3.処理]機器制御システム1で実行される処理について説明する。
[3-1]まず、動作指示をコマンド処理システム50が受け付け、機器20を制御する処理について説明する。図7は、動作指示受付部110、送信先決定部120、メッセージ生成部130、メッセージ送信部140の処理の一例を示すフロー図である。この処理は、制御部11がその機能のプログラムを実行することにより実行される。
はじめに、動作指示受付部110は、音声認識装置40から動作指示を取得する(ステップS511)。また動作指示受付部110は、動作指示の対象となる対象機器を特定する(ステップS512)。そして、送信先決定部120は、動作指示に基づくメッセージの送信先となる機器20を決定する(ステップS513)。
図8は、送信先決定部120の処理の一例を示すフロー図であり、ステップS513の処理をより詳細に説明する図である。まず、送信先決定部120は、対象機器がコマンド処理システム50と通信接続されている状態か否かを判定する(ステップS521)。そして、対象機器が通信接続されている状態である場合には(ステップS521のY)、送信先決定部120は対象機器が直接通信モードであると判定し、この対象機器を送信先として決定する(ステップS522)。一方、対象機器が通信接続されていない状態である場合には(ステップS521のN)、送信先決定部120は対象機器が間接通信モードであると判定し、対象機器と異なり、かつ通信接続されている状態にある機器20を候補として選択する(ステップS523)。
候補が選択されると、送信先決定部120は選択された機器20のうちに、音楽再生されていない機器20が存在するか判定する(ステップS524)。送信先決定部120は、各機器20が音楽再生をしているか否かを、データベース52に機器20と関連づけて格納される再生状態フラグが音楽再生をしていることを示すか否かを確認することで判定する。そして、音楽再生されていない機器20が存在する場合には(ステップS524のY)、音楽再生されていない機器20(の1つ)を送信先として決定する(ステップS525)。一方、音楽再生されていない機器20が存在しない場合には(ステップS524のN)、選択された機器20のうち1つを送信先として決定する(ステップS526)。なお、送信先決定部120は、単に音楽再生をしていない機器20が存在するかではなく、他の機器20へ音楽データをストリーミングしていない機器20が存在するかを判定してもよい。
音楽再生をしている機器20、特に音楽データをストリーミングしている機器20は処理負荷が大きいため、ステップS524,S525の処理により、処理負荷に起因するメッセージ関連処理の遅延などの問題を抑えることが可能になる。
送信先となる機器20が決定されると、メッセージ生成部130は、取得した動作指示に基づいて、動作指示に対応するコマンドと、対象機器を識別する情報とを含むメッセージを生成する(ステップS514)。メッセージ送信部140は送信先として決定された機器20へ向けて生成されたメッセージを送信し(ステップS515)、送信されたメッセージに関する通信ログを通信ログテーブルに格納する(ステップS516)。
図9は、通信ログテーブルに格納される通信ログの一例を示す図である。通信ログテーブルは、「機器ID」フィールドと、「メッセージ送信日時」フィールドと、「コマンド」フィールドとを含む。「ID」フィールドはシーケンス番号である。「機器ID」フィールドは、メッセージに含まれるコマンドを実行する対象機器の機器IDが設定される。「メッセージ送信日時」フィールドは、メッセージがメッセージ送信部140から送信された日時を示す。「コマンド」フィールドは、メッセージに含まれているコマンドを示す。通信ログテーブルに格納された通信ログは、通信モード制御部160の処理で使用される。
[3-2]次に、通信モードの制御および機器20の通信接続の制御について説明する。図10は、通信モード制御部160の処理の一例を示すフロー図である。図10に示される処理は、例えば一定時間ごとに、各機器20について実行される。ここでは、図10の処理の対象となる機器20を判定対象機器と記載する。
はじめに、通信モード制御部160は、通信ログテーブルに格納された情報に基づいて、判定対象機器に対するコマンドの送信頻度を算出する(ステップS541)。例えば、通信モード制御部160は、判定ログテーブルから、メッセージ送信日時と現在との時間間隔が所定の値より小さく、かつ判定対象機器の機器IDが格納された通信ログを抽出し、抽出された通信ログの件数を送信頻度として算出する。なお、通信モード制御部160は、現在より前のある時点より新しいメッセージ送信日時を有しかつ判定対象機器の機器IDが格納された通信ログを抽出してもよい。また、通信モード制御部160は、通信ログが格納されるごとに、通信ログの機器IDが示す機器20のカウンタを増加させ、ステップS541が処理される時点のカウンタの値を送信頻度として取得してもよい。この場合、カウンタは一定時間ごとにクリアされる。
送信頻度が算出されると、通信モード制御部160は、例えば機器テーブルT1のうち、判定対象機器の「接続状態」フィールドに格納された値により、判定対象機器が通信接続された状態であるか判定する(ステップS542)。判定対象機器が通信接続されていない状態の場合には(ステップS542のN)、通信モード制御部160は送信頻度が第1の閾値より大きいか否かを判定する(ステップS543)。第1の閾値は、新たな通信接続を増やすか否かを判定するための閾値である。
送信頻度が第1の閾値より大きい場合には(ステップS543)、通信モード制御部160は他の機器20を介して判定対象機器へ接続開始コマンドを送信し、通信接続された状態となった後に、機器テーブルT1の「接続状態」フィールドに「1」を設定することで、判定対象機器の通信モードを直接通信モードに切り替える(ステップS544)。一方で、送信頻度が第1の閾値以下の場合には(ステップS543のN)、通信モード制御部160は判定対象機器と異なり、かつ通信接続されている1または複数の機器20の再生状態を示す情報(再生状態フラグ)を取得する(ステップS545)。そして、再生状態フラグが、通信接続された機器20のすべてが音楽再生をしていることを示す場合には(ステップS546のY)、ステップS544の、直接通信モードに切り替える処理を実行する。再生状態フラグが、通信接続された機器20のいずれかが音楽再生していないことを示す場合には(ステップS546のN)、この判定対象機器についての処理を終了する。
一方、判定対象機器が通信接続された状態の場合には(ステップS542のY)、通信モード制御部160は送信頻度が第2の閾値より小さいか否かを判定する(ステップS547)。第2の閾値は、通信接続を切断するか否かを判定するための閾値である。なお、ステップS547では、送信頻度として、前回の送信からの経過時間を用いてもよい。この場合には、通信モード制御部160は経過時間が閾値より長いか否かを判定する。
通信モード制御部160は、送信頻度が第2の閾値以上の場合には(ステップS547のN)、この判定対象機器についての処理を終了する。一方、送信頻度が第2の閾値より小さい場合には(ステップS547のY)、通信モード制御部160は通信接続されている他の機器20が存在するか判定する(ステップS547)。通信接続されている他の機器20が存在しない場合には(ステップS547のN)、通信接続がされない状態になると、判定対象機器が属するLAN2に接続される機器20にコマンドを送信できなくなることを防ぐため、通信モード制御部160は処理を終了する。一方、通信接続されている他の機器20が存在する場合には(ステップS547のY)、通信モード制御部160は判定対象機器へ切断コマンドを送信し、通信接続しない状態になったことを確認した後に機器テーブルT1の「接続状態」フィールドに「0」を設定することで、判定対象機器の通信モードを間接通信モードに切り替える(ステップS549)。
図10に示される処理により、メッセージの送受信が行われない機器20とコマンド処理システム50との通信接続が減る一方、他の機器20を介してメッセージを送信することが可能な状態が維持される。また多くのコマンドの実行対象となる機器20に対する通信接続が確立され、音楽再生などにより負荷の高い機器20をバイパスするための通信接続も確立される。これにより、コマンドの送信ができなくなることや、コマンドの送信の際の遅延の発生を抑えつつ、通信接続の接続コストを削減することができる。
[3-3]次に、機器20がコマンド処理システム50からコマンドを含むメッセージを受信し、コマンドを実行する処理について説明する。図11は、メッセージ受信部210、コマンド再送信部220、コマンド実行部240の処理の一例を示すフロー図である。メッセージ受信部210、コマンド再送信部220、コマンド受信部230、コマンド実行部240が行う処理は、制御部21がその機能のプログラムを実行することにより実行される。
はじめに、メッセージ受信部210は、コマンド処理システム50から送信されたメッセージを受信する(ステップS561)。受信方法の詳細についてはすでに説明しているので省略する、次に、コマンド再送信部220は、受信されたメッセージに含まれる対象機器を識別する情報(たとえば機器ID)と、自らの機器20を識別する情報とが等しいかを判定する(ステップS562)。メッセージに含まれる識別情報が自らの識別情報と同じ場合には(ステップS562のY)、コマンド実行部240はメッセージ受信部210が受信したメッセージに含まれるコマンドを実行する(ステップS563)。一方、メッセージに含まれる機器IDが自らの機器IDと異なる場合には(ステップS562のN)、コマンド再送信部220はメッセージに含まれるコマンドを取得する(ステップS564)。そして、コマンド再送信部220は取得されたコマンドに基づいて、対象機器に対するコマンドを含む再送信メッセージを生成し、その再送信メッセージを対象機器へ送信する(ステップS565)。
ここで、図11には図示されていないが、再送信メッセージが送信された場合には、対象機器のコマンド受信部230は、再送信メッセージを受信し、対象機器のコマンド実行部240は再送信メッセージに含まれるコマンドを実行する。
なお、ステップS562,S563の処理の代わりに、コマンド再送信部220は常に対象機器へ再送信メッセージを送信してもよい。この場合には、コマンド再送信部220は対象機器の送信先を特定する情報(たとえばIPアドレス)に基づいて、自らの機器20のコマンド受信部230へ再送信メッセージを送信する(引き渡す)か、他の機器20のコマンド受信部230へ再送信メッセージを送信するかを決定する。また対象機器のコマンド受信部230は、対象機器が自らの機器20である場合にも再送信メッセージを受信し。それを受けてコマンド実行部240が再送信メッセージに含まれるコマンドを実行する。
これまでに説明したように、機器20が受信したメッセージに指定された対象機器の機器IDに基づいて他の機器20へ再送信メッセージを送信することにより、一部の機器20がコマンド処理システム50と接続していても、すべての機器20をコマンド処理システム50から制御することができる。
[3-4]最後に、機器20の機器情報送信部280が現在情報を含む状態メッセージを送信し、コマンドデータ送信装置10の機器情報取得部180が状態メッセージを受信しデータベース52を更新する処理について説明する。図12は、状態メッセージを送受信する処理の一例を示すフロー図である。図12のうち機器20についての処理は、制御部21がその機能のプログラムを実行することにより実行される。また、図12のうちコマンドデータ送信装置10についての処理は、制御部11がその機能のプログラムを実行することにより実行される。
はじめに、機器情報送信部280は、機器20の動作状況の変化を検出する(ステップS611)。動作状況の変化は、機器20における再生の開始や再生の終了、他の機器20への音楽データのストリーミングの開始および終了を含む。動作状況の変化が検出されると、機器情報送信部280は変化した動作状況(現在の状態)を示す現在情報を含む状態メッセージを生成する(ステップS612)。そして、機器情報送信部280はコマンド処理システム50のコマンドデータ送信装置10へ向けて状態メッセージを送信する(ステップS613)。
コマンドデータ送信装置10の機器情報取得部180は、送信された状態メッセージを受信する(ステップS631)。状態メッセージはたとえば前述のようにMQTTサーバ53を用いて送受信される。機器情報取得部180は、状態メッセージを受信すると、その状態メッセージを送信した機器のステータスを更新する(ステップS632)。より具体的には機器情報取得部180は、取得した現在情報に基づいて、送信元の機器20と関連付けて、その機器20の現在の状態を示す情報をデータベース52に格納する。
このようにして、機器20の現在の状態を示す情報をコマンドデータ送信装置10へ送信する。これにより、コマンドデータ送信装置10でその情報を管理することができ、通信モード制御部160で現在の機器20の状態に応じて通信モードを制御することが可能になる。
なお、通信モード制御部160は、機器20に設けられてもよい。この場合、機器20のうちコマンド処理システム50と通信接続されているものが図10に示される処理を実行してもよい。またこの場合、送信頻度の算出に用いる通信ログとして、機器20がメッセージを受信したログを利用してよいし、接続開始コマンドは判定対象機器へ直接的に送信されてよい。
[付記]以上に説明した実施形態についての記載から把握されるように、本明細書では以下に記載の発明を含む多様な技術的思想が開示されている。
動作指示を取得する動作指示取得手段と、前記動作指示に基づいて生成されたコマンドを1または複数のデバイスへ送信する送信手段と、前記1または複数のデバイスの1つの動作状況に基づいて、前記1つのデバイスが、前記送信手段と他のデバイスを経由せずに通信する第1のモードと、前記送信手段と他のデバイスを経由して通信する第2のモードとのうち一方で通信するよう制御する通信制御手段と、を含む機器制御システム。
動作指示を取得するステップと、前記動作指示に基づいて生成されたコマンドを1または複数のデバイスへ送信するステップと、前記1または複数のデバイスの1つの動作状況に基づいて、前記1つのデバイスが、前記送信手段と他のデバイスを経由せずに通信する第1のモードと、前記送信手段と他のデバイスを経由して通信する第2のモードとのうち一方で通信するよう制御するステップと、を含む機器制御方法。
動作指示を取得する動作指示取得手段、前記動作指示に基づいて生成されたコマンドを1または複数のデバイスへ送信する送信手段、および、前記1または複数のデバイスの1つの動作状況に基づいて、前記1つのデバイスが、前記送信手段と他のデバイスを経由せずに通信する第1のモードと、前記送信手段と他のデバイスを経由して通信する第2のモードとのうち一方で通信するよう制御する通信制御手段、としてコンピュータを機能させるためのプログラム。
本発明の一形態では、前記1または複数のデバイスは同じローカルエリアネットワーク内に配置され、前記通信制御手段は、前記1または複数のデバイスの動作状況に基づいて、前記1または複数のデバイスのうち少なくとも1つを除くデバイスが前記第2のモードで通信するよう制御してもよい。
本発明の一形態では、前記通信制御手段は、前記1または複数のデバイスのうち1つの動作状況に基づいて、前記1つのデバイスに向けて前記第2のモードで通信させるコマンドを送信してもよい。
本発明の一形態では、前記送信手段は、前記デバイスのうち1つが前記第2のモードで通信する場合に、前記第1のモードで通信する他のデバイスへ向けて、前記第2のモードで通信する1つのデバイスへのコマンドを送信してもよい。
本発明の一形態では、前記送信手段は、前記デバイスのうち1つが前記第2のモードで通信する場合に、前記第1のモードで通信し、かつ音楽を再生していないデバイスへ向けて、前記第2のモードで通信する前記1つのデバイスへのコマンドを送信してもよい。
本発明の一形態では、前記通信制御手段は、前記1または複数のデバイスのうち前記第2のモードで通信する1つのデバイスの動作状況に基づいて、前記1つのデバイスが前記第1のモードで通信するよう制御してもよい。
本発明の一形態では、前記通信制御手段は、前記第2のモードで通信するデバイスを制御するコマンドが、前記第1のモードで通信するデバイスへ向けて送信された場合に、前記第2のモードで通信するデバイスが前記第1のモードで通信するよう制御してもよい。
本発明の一形態では、前記通信制御手段は、前記第1のモードで通信するデバイスへ向けて、前記第2の通信モードで通院するデバイスへのコマンドが送信される頻度に基づいて、前記第2の通信モードで通院するデバイスが前記第1のモードで通信するよう制御してもよい。
本発明の一形態では、前記通信制御手段は、前記第1のモードで通信するデバイスが音楽データを再生する処理を実行している場合に、前記処理を実行するデバイスと異なるデバイスが前記第1のモードで通信するよう制御してもよい。
1 機器制御システム、2 LAN、4 ルータ、6 インターネット、10 コマンドデータ送信装置、11,21 制御部、12,22 記憶部、13,23 通信部、20 機器、20-1 第1機器、20-2 第2機器、20-3 第3機器、30 音声入力装置、40 音声認識装置、50 コマンド処理システム、52 データベース、53 MQTTサーバ、110 動作指示受付部、120 送信先決定部、130 メッセージ生成部、140 メッセージ送信部、160 通信モード制御部、180 機器情報取得部、210 メッセージ受信部、220 コマンド再送信部、230 コマンド受信部、240 コマンド実行部、280 機器情報送信部、C1,C2,C3,C4 再送信メッセージ、D1,D2 メッセージ、TP1 第1トピック、TP2 第2トピック。

Claims (11)

  1. 動作指示を取得する動作指示取得手段、および
    前記動作指示に基づいて生成されたコマンドを1または複数のデバイスへ送信する送信手段を含むサーバと、
    前記1または複数のデバイスの1つの動作状況に基づいて、前記1つのデバイスが、予め定められた前記サーバに配置される前記送信手段と他のデバイスを経由せずに通信する第1のモードと、前記送信手段と他のデバイスを経由して通信する第2のモードとのうち一方で通信するよう制御する通信制御手段と、
    を含む機器制御システム。
  2. 請求項1に記載の機器制御システムにおいて、
    前記1または複数のデバイスは同じローカルエリアネットワーク内に配置され、
    前記通信制御手段は、前記1または複数のデバイスの動作状況に基づいて、前記1または複数のデバイスのうち少なくとも1つを除くデバイスが前記第2のモードで通信するよう制御する、
    機器制御システム。
  3. 請求項1に記載の機器制御システムにおいて、
    前記通信制御手段は、前記1または複数のデバイスのうち1つの動作状況に基づいて、前記1つのデバイスに向けて前記第2のモードで通信させるコマンドを送信する、
    機器制御システム。
  4. 請求項1から3のいずれかに記載の機器制御システムにおいて、
    前記送信手段は、前記デバイスのうち1つが前記第2のモードで通信する場合に、前記第1のモードで通信する他のデバイスへ向けて、前記第2のモードで通信する1つのデバイスへのコマンドを送信する、
    機器制御システム。
  5. 請求項4に記載の機器制御システムにおいて、
    前記送信手段は、前記デバイスのうち1つが前記第2のモードで通信する場合に、前記第1のモードで通信し、かつ音楽を再生していないデバイスへ向けて、前記第2のモードで通信する前記1つのデバイスへのコマンドを送信する、
    機器制御システム。
  6. 請求項1から5のいずれかに記載の機器制御システムにおいて、
    前記通信制御手段は、前記1または複数のデバイスのうち前記第2のモードで通信する1つのデバイスの動作状況に基づいて、前記1つのデバイスが前記第1のモードで通信するよう制御する、
    機器制御システム。
  7. 請求項6に記載の機器制御システムにおいて、
    前記通信制御手段は、前記第2のモードで通信するデバイスを制御するコマンドが、前記第1のモードで通信するデバイスへ向けて送信された場合に、前記第2のモードで通信するデバイスが前記第1のモードで通信するよう制御する、
    機器制御システム。
  8. 請求項7に記載の機器制御システムにおいて、
    前記通信制御手段は、前記第1のモードで通信するデバイスへ向けて、前記第2のモードで通信するデバイスへのコマンドが送信される頻度に基づいて、前記第2のモードで通信するデバイスが前記第1のモードで通信するよう制御する、
    機器制御システム。
  9. 請求項6に記載の機器制御システムにおいて、
    前記通信制御手段は、前記第1のモードで通信するデバイスが音楽データを再生する処理を実行している場合に、前記処理を実行するデバイスと異なるデバイスが前記第1のモードで通信するよう制御する、
    機器制御システム。
  10. サーバが、動作指示を取得するステップと、
    前記サーバが、前記動作指示に基づいて生成されたコマンドを1または複数のデバイスへ送信するステップと、
    前記1または複数のデバイスの1つの動作状況に基づいて、前記1つのデバイスが、予め定められた前記サーバと他のデバイスを経由せずに通信する第1のモードと、前記サーバと他のデバイスを経由して通信する第2のモードとのうち一方で通信するよう制御するステップと、
    を含む機器制御方法。
  11. サーバに配置され動作指示を取得する動作指示取得手段、
    前記サーバに配置され前記動作指示に基づいて生成されたコマンドを1または複数のデバイスへ送信する送信手段、および、
    前記1または複数のデバイスの1つの動作状況に基づいて、前記1つのデバイスが、予め定められた前記サーバに配置される前記送信手段と他のデバイスを経由せずに通信する第1のモードと、前記送信手段と他のデバイスを経由して通信する第2のモードとのうち一方で通信するよう制御する通信制御手段、
    としてコンピュータを機能させるためのプログラム。
JP2018009918A 2018-01-24 2018-01-24 機器制御システム、機器制御方法、及びプログラム Active JP7067082B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018009918A JP7067082B2 (ja) 2018-01-24 2018-01-24 機器制御システム、機器制御方法、及びプログラム
US16/255,259 US10938595B2 (en) 2018-01-24 2019-01-23 Device control system, device control method, and non-transitory computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018009918A JP7067082B2 (ja) 2018-01-24 2018-01-24 機器制御システム、機器制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019129407A JP2019129407A (ja) 2019-08-01
JP7067082B2 true JP7067082B2 (ja) 2022-05-16

Family

ID=67299514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018009918A Active JP7067082B2 (ja) 2018-01-24 2018-01-24 機器制御システム、機器制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US10938595B2 (ja)
JP (1) JP7067082B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6962158B2 (ja) 2017-12-01 2021-11-05 ヤマハ株式会社 機器制御システム、機器制御方法、及びプログラム
US11087754B2 (en) 2018-09-27 2021-08-10 Coretronic Corporation Intelligent voice system and method for controlling projector by using the intelligent voice system
US11100926B2 (en) * 2018-09-27 2021-08-24 Coretronic Corporation Intelligent voice system and method for controlling projector by using the intelligent voice system
JP7472461B2 (ja) * 2019-10-08 2024-04-23 株式会社リコー 情報処理システム及び情報処理方法
US20230040980A1 (en) * 2020-03-06 2023-02-09 Mitsubishi Electric Corporation Equipment server, device server, communication system, and storage medium storing message
US20230164195A1 (en) * 2021-11-24 2023-05-25 Roku, Inc. Discovery and Control of a Media Device from Anywhere
CN115022375A (zh) * 2022-06-28 2022-09-06 雷沃工程机械集团有限公司 一种挖掘机Tbox设备下行指令编译方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006345240A (ja) 2005-06-09 2006-12-21 Sony Corp 遠隔操作システムおよび遠隔操作方法
JP2007184745A (ja) 2006-01-06 2007-07-19 Sony Corp リモコン・システム、リモコン制御対象機器、並びにコンピュータ・システム
JP2013258536A (ja) 2012-06-12 2013-12-26 Pioneer Electronic Corp デバイスシステムの制御方法、デバイスシステムおよびプログラム
JP2017167627A (ja) 2016-03-14 2017-09-21 コニカミノルタ株式会社 ジョブ実行システム、ジョブ実行方法、画像処理装置及びジョブ実行プログラム

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903871A (en) 1996-04-22 1999-05-11 Olympus Optical Co., Ltd. Voice recording and/or reproducing apparatus
JPH09288500A (ja) 1996-04-22 1997-11-04 Olympus Optical Co Ltd 音声記録再生装置
JP2001128262A (ja) 1999-10-28 2001-05-11 Yokogawa Electric Corp リモートコントロールシステム
JP2004507936A (ja) 2000-08-21 2004-03-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ダウンロード可能な音声命令の集合による音声制御型遠隔制御装置
JP2002259114A (ja) 2001-03-05 2002-09-13 Nec Corp 音声認識コンピュータシステム
JP2004015627A (ja) 2002-06-10 2004-01-15 Sharp Corp Av機器の遠隔制御システム
US20040015573A1 (en) 2002-07-16 2004-01-22 Matsushita Electric Industrial Co., Ltd. Network terminal setting information management method and information terminal device
US7234115B1 (en) * 2002-09-26 2007-06-19 Home Director, Inc. Home entertainment system and method
KR100606760B1 (ko) 2003-07-07 2006-07-31 엘지전자 주식회사 사용자 예약에 따른 홈 네트워크 시스템 및 그 제어방법
JP3885792B2 (ja) 2003-09-29 2007-02-28 日本電気株式会社 ネットワークシステム,wol装置,ネットワークtvチューナ,及び情報装置起動方法
AU2005246437B2 (en) 2004-05-21 2011-10-06 Voice On The Go Inc. Remote access system and method and intelligent agent therefor
US7385960B2 (en) * 2005-02-28 2008-06-10 Microsoft Corporation Measurement based mechanism to enable two wireless devices to directly communicate with each other to support traffic prioritization
US20070091168A1 (en) * 2005-10-25 2007-04-26 Hyun Lee Method to support simultaneous wireless connection of multiple media components
US8079074B2 (en) * 2007-04-17 2011-12-13 Microsoft Corporation Dynamic security shielding through a network resource
KR101424718B1 (ko) * 2007-10-17 2014-08-04 삼성전자 주식회사 원격 접속 환경에서 접속 가능한 홈 네트워크 정보를제공하는 장치 및 그 방법
JP5161599B2 (ja) * 2008-01-31 2013-03-13 シャープ株式会社 電子機器、遠隔制御システム、信号処理方法、制御プログラムおよび記録媒体
KR20120032644A (ko) 2010-09-29 2012-04-06 주식회사 팬택 이동 단말기 및 이동 단말기를 이용한 제어 방법
US8595319B2 (en) * 2010-10-13 2013-11-26 Verizon Patent And Licensing Inc. Home network video peer-to-peer for mobile devices
JP2012165918A (ja) * 2011-02-15 2012-09-06 Fujifilm Corp 放射線画像撮影装置、及び通信モード設定装置
US9451320B2 (en) * 2011-05-23 2016-09-20 Broadcom Corporation Utilizing multi-dimensional resource allocation metrics for concurrent decoding of time-sensitive and non-time-sensitive content
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US9230556B2 (en) 2012-06-05 2016-01-05 Apple Inc. Voice instructions during navigation
US8520807B1 (en) 2012-08-10 2013-08-27 Google Inc. Phonetically unique communication identifiers
US9220012B1 (en) * 2013-01-15 2015-12-22 Marvell International Ltd. Systems and methods for provisioning devices
KR20140121179A (ko) * 2013-04-05 2014-10-15 한국전자통신연구원 홈 네트워크 상호 연동 서비스 제공 방법
US9384751B2 (en) 2013-05-06 2016-07-05 Honeywell International Inc. User authentication of voice controlled devices
US9472205B2 (en) 2013-05-06 2016-10-18 Honeywell International Inc. Device voice recognition systems and methods
JP6223713B2 (ja) 2013-05-27 2017-11-01 株式会社東芝 電子機器、方法及びプログラム
KR101380608B1 (ko) * 2013-07-26 2014-04-10 (주) 코콤 스마트기기 기반 가정 주변기기 제어시스템 및 그 제어방법
JP6213181B2 (ja) 2013-11-20 2017-10-18 ヤマハ株式会社 同期再生システム及び同期再生方法
JP2015106358A (ja) 2013-12-02 2015-06-08 日立アプライアンス株式会社 リモートアクセスシステムおよび宅内機器制御装置
US9348559B2 (en) 2013-12-23 2016-05-24 International Business Machines Corporation Interconnecting portal components with dialog state transitions
US9544310B2 (en) 2014-01-27 2017-01-10 Microsoft Technology Licensing, Llc Discovering and disambiguating identity providers
JP6256116B2 (ja) 2014-03-10 2018-01-10 富士通株式会社 通信端末、セキュアログイン方法、及びプログラム
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
KR102261552B1 (ko) 2014-06-30 2021-06-07 삼성전자주식회사 음성 명령어 제공 방법 및 이를 지원하는 전자 장치
CN105490890A (zh) 2014-09-16 2016-04-13 中兴通讯股份有限公司 智能家庭终端及其控制方法
US9701135B2 (en) * 2015-01-30 2017-07-11 S-Printing Solution Co., Ltd. Image forming apparatus, recording medium, terminal, server, note printing method, and storage medium
EP3067884B1 (en) 2015-03-13 2019-05-08 Samsung Electronics Co., Ltd. Speech recognition system and speech recognition method thereof
WO2016157658A1 (ja) 2015-03-31 2016-10-06 ソニー株式会社 情報処理装置、制御方法、およびプログラム
CN106252749B (zh) 2015-06-04 2020-12-29 松下知识产权经营株式会社 蓄电池包的控制方法以及蓄电池包
KR101572111B1 (ko) 2015-07-01 2015-11-27 주식회사 이노스코리아 랜덤하면서 유일한 코드를 생성하는 전자 장치 및 방법
US10018977B2 (en) 2015-10-05 2018-07-10 Savant Systems, Llc History-based key phrase suggestions for voice control of a home automation system
US10999345B2 (en) 2015-10-19 2021-05-04 At&T Intellectual Property I, L.P. Real-time video delivery for connected home applications
CN105242556A (zh) 2015-10-28 2016-01-13 小米科技有限责任公司 智能设备的语音控制方法、装置、控制设备及智能设备
EP3378003A1 (en) 2015-11-17 2018-09-26 Idee Limited Security systems and methods with identity management for access to restricted access locations
CN108292502A (zh) 2015-11-25 2018-07-17 三菱电机株式会社 语音对话装置及语音对话方法
US10038941B2 (en) 2015-12-07 2018-07-31 Caavo Inc Network-based control of a media device
US9912977B2 (en) 2016-02-04 2018-03-06 The Directv Group, Inc. Method and system for controlling a user receiving device using voice commands
US10021731B2 (en) * 2016-03-24 2018-07-10 Panasonic Intellectual Property Management Co., Ltd. Home interior monitoring system and communication control method
US20170331807A1 (en) 2016-05-13 2017-11-16 Soundhound, Inc. Hands-free user authentication
US10204215B2 (en) 2016-05-24 2019-02-12 Mastercard International Incorporated System and method for processing a transaction with secured authentication
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10044869B2 (en) 2016-06-29 2018-08-07 Paypal, Inc. Voice-controlled audio communication system
WO2018013964A1 (en) * 2016-07-15 2018-01-18 Rain Bird Corporation Wireless remote irrigation control
CN107734213A (zh) 2016-08-11 2018-02-23 漳州立达信光电子科技有限公司 智能家用电子装置与系统
US9892732B1 (en) 2016-08-12 2018-02-13 Paypal, Inc. Location based voice recognition system
US10026403B2 (en) 2016-08-12 2018-07-17 Paypal, Inc. Location based voice association system
KR102481881B1 (ko) 2016-09-07 2022-12-27 삼성전자주식회사 외부 디바이스를 제어하는 서버 및 그 방법
US10157613B2 (en) 2016-11-17 2018-12-18 BrainofT Inc. Controlling connected devices using a relationship graph
JP6725006B2 (ja) 2016-12-02 2020-07-15 ヤマハ株式会社 制御装置および機器制御システム
JP6725008B2 (ja) 2016-12-29 2020-07-15 ヤマハ株式会社 コマンドデータ送信装置、ローカルエリア装置、機器制御システム、コマンドデータ送信装置の制御方法、ローカルエリア装置の制御方法、機器制御方法、及びプログラム
US10679608B2 (en) 2016-12-30 2020-06-09 Google Llc Conversation-aware proactive notifications for a voice interface device
CN108322365A (zh) 2017-01-14 2018-07-24 富士康(昆山)电脑接插件有限公司 语音控制系统
US10887125B2 (en) 2017-09-15 2021-01-05 Kohler Co. Bathroom speaker
KR102417524B1 (ko) 2017-10-13 2022-07-07 현대자동차주식회사 음성 인식 기반의 자동차 제어 방법
US10574451B2 (en) * 2017-10-19 2020-02-25 Bank Of America Corporation Method and apparatus for perfect forward secrecy using deterministic hierarchy
JP7192208B2 (ja) 2017-12-01 2022-12-20 ヤマハ株式会社 機器制御システム、デバイス、プログラム、及び機器制御方法
US11276396B2 (en) 2018-05-01 2022-03-15 Dell Products, L.P. Handling responses from voice services
US10803864B2 (en) 2018-05-07 2020-10-13 Spotify Ab Voice recognition system for use with a personal media streaming appliance
US11308947B2 (en) 2018-05-07 2022-04-19 Spotify Ab Voice recognition system for use with a personal media streaming appliance
US11119725B2 (en) 2018-09-27 2021-09-14 Abl Ip Holding Llc Customizable embedded vocal command sets for a lighting and/or other environmental controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006345240A (ja) 2005-06-09 2006-12-21 Sony Corp 遠隔操作システムおよび遠隔操作方法
JP2007184745A (ja) 2006-01-06 2007-07-19 Sony Corp リモコン・システム、リモコン制御対象機器、並びにコンピュータ・システム
JP2013258536A (ja) 2012-06-12 2013-12-26 Pioneer Electronic Corp デバイスシステムの制御方法、デバイスシステムおよびプログラム
JP2017167627A (ja) 2016-03-14 2017-09-21 コニカミノルタ株式会社 ジョブ実行システム、ジョブ実行方法、画像処理装置及びジョブ実行プログラム

Also Published As

Publication number Publication date
US10938595B2 (en) 2021-03-02
JP2019129407A (ja) 2019-08-01
US20190229945A1 (en) 2019-07-25

Similar Documents

Publication Publication Date Title
JP7067082B2 (ja) 機器制御システム、機器制御方法、及びプログラム
WO2018123067A1 (ja) コマンドデータ送信装置、ローカルエリア装置、機器制御システム、コマンドデータ送信装置の制御方法、ローカルエリア装置の制御方法、機器制御方法、及びプログラム
JP6962158B2 (ja) 機器制御システム、機器制御方法、及びプログラム
US8782150B2 (en) Method and apparatus for enabling device communication and control using XMPP
EP2449764B1 (en) Automatic change of association of a remote control device with an electronic device
KR101644080B1 (ko) 명령 및 제어 네트워크에서의 프록시 디바이스 동작
JP3661936B2 (ja) 情報処理装置および方法、記録媒体、並びにプログラム
US20120226817A1 (en) Methods for Transferring Media Sessions Between Local Networks Using an External Network Connected ue and Related Devices
EP3139376A1 (en) Voice recognition method, device, and system, and computer storage medium
JP2007095051A (ja) ホームネットワークで第3の装置のイベントを処理する方法及び装置
US9276772B2 (en) Method and apparatus for transmitting and receiving data based on secured path bandwidth in network established by using audio/video interface
JP5001663B2 (ja) ホームネットワークでデバイスの位置情報を提供する方法及び装置
JP7192208B2 (ja) 機器制御システム、デバイス、プログラム、及び機器制御方法
JP3661935B2 (ja) 情報処理装置および方法、記録媒体、並びにプログラム
KR20050040750A (ko) 정보분배방법, 정보분배 시스템 및 정보분배장치
US8478193B2 (en) Device-identifying system, device-identifying method, controlling device, and controlled device
CN113132782A (zh) 一种流媒体传输的方法、流媒体播放设备及电子设备
JP2006004489A (ja) 増幅装置
US20090165061A1 (en) Playback controlling apparatus and image processing apparatus
JP5625456B2 (ja) コンテンツ送受信システム、コンテンツ送信装置およびコンテンツ受信装置
WO2017217283A1 (ja) プロキシデバイス、プロキシデバイスの処理方法およびネットワーク装置
JP2019101254A (ja) コマンドデータ生成システム及びコマンド生成方法
JP2006174284A (ja) 電子機器及びその制御方法
WO2019116777A1 (ja) 情報処理デバイス、情報処理方法、および情報処理システム
JP6253143B2 (ja) 情報処理装置およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211229

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220411

R151 Written notification of patent or utility model registration

Ref document number: 7067082

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151