JP7645661B2 - System and Program - Google Patents
System and Program Download PDFInfo
- Publication number
- JP7645661B2 JP7645661B2 JP2021030816A JP2021030816A JP7645661B2 JP 7645661 B2 JP7645661 B2 JP 7645661B2 JP 2021030816 A JP2021030816 A JP 2021030816A JP 2021030816 A JP2021030816 A JP 2021030816A JP 7645661 B2 JP7645661 B2 JP 7645661B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- emulator
- unit
- storage unit
- device emulator
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、デバイスエミュレーターおよびプログラムに関する。 The present invention relates to a device emulator and a program.
映像等のコンテンツを提示する際に、IoTデバイスが用いられる場合がある。ここでのIoTデバイスは、例えば、映像を表示したり、音声を出力したり、LEDライト等の照明手段を用いて光の演出効果を実現したり、物質を噴霧したり、物を振動させたり、物の姿勢を変えたり、といった動作を行う装置である。つまり、ここでのIoTデバイスは、コンテンツの表現を実現するものである。様々な種類のIoTデバイスは、各デバイスに固有の動作をすることによって、コンテンツの表現を実現する。 When presenting content such as video, IoT devices may be used. The IoT devices in this case are devices that perform operations such as displaying video, outputting audio, creating light effects using lighting means such as LED lights, spraying substances, vibrating objects, and changing the position of objects. In other words, the IoT devices in this case realize the expression of content. Various types of IoT devices realize the expression of content by performing operations unique to each device.
非特許文献1には、放送コンテンツが、IoTデバイスを活用することにより、時間や場所を選ばない映像・音声の提示や、テキスト、照明、振動を用いた情報提示によるアクセシビリティの向上を図る技術が記載されている。同文献では、コンテンツ、デバイス、ユーザーの3つの要素の情報から、デバイスが自律的にコンテンツを提示する仕組み「IoTベースメディアフレームワーク」についても記載されている。 Non-Patent Document 1 describes a technology that uses IoT devices to improve accessibility of broadcast content by presenting video and audio anytime and anywhere, and by presenting information using text, lighting, and vibration. The document also describes an "IoT-based media framework," a mechanism in which devices autonomously present content based on information from three elements: content, device, and user.
また、例えば特許文献1には、表示装置が、代替映像を表示する際に、当該代替映像に予め対応付けられた、匂い、熱、振動、および触感の少なくともいずれか一つを発生させる発生手段、を備える技術が記載されている。 For example, Patent Document 1 describes a technology in which a display device is provided with a generating means for generating at least one of a smell, heat, vibration, and a tactile sensation that is pre-associated with an alternative image when the alternative image is displayed.
IoTデバイスを用いたコンテンツの提示を行うためには、実際にコンテンツを配信する前に、各デバイスに対しての動作検証を行う必要がある。しかしながら、コンテンツ提示のために使用され得るIoTデバイスの種類は、多種多様である。また、少なくとも検証の時点においては実在しないIoTデバイスについても、検証を行う必要がある。またコンテンツの種類とIoTデバイスの種類と組み合わせの数は膨大である。つまり、このような膨大な組み合わせをすべて網羅する検証環境を、実際のIoTデバイスを用いて構築することは非常に困難であるという問題がある。 In order to present content using IoT devices, it is necessary to verify the operation of each device before actually delivering the content. However, there are a wide variety of IoT devices that can be used to present content. Furthermore, it is necessary to verify IoT devices that do not actually exist at least at the time of verification. Furthermore, the number of combinations of content types and IoT device types is enormous. In other words, there is a problem in that it is extremely difficult to build a verification environment using actual IoT devices that covers all of these enormous combinations.
本発明は、上記の課題認識に基づいて行なわれたものであり、コンテンツの表現等を実現するためのIoTデバイスの検証を容易にするデバイスエミュレーターおよびプログラムを提供しようとするものである。 The present invention was made based on the recognition of the above problems, and aims to provide a device emulator and program that facilitates the verification of IoT devices for realizing content expression, etc.
[1]上記の課題を解決するため、本発明の一態様によるデバイスエミュレーターは、デバイスの、アクションの情報と、動作用アプリと、を少なくとも含んだデバイス設定情報を記憶する設定記憶部と、前記設定記憶部に記憶された前記動作用アプリを実行するデバイス動作部と、前記設定記憶部に記憶された前記アクションの情報に関連付けられた制御信号を外部から受信すると、当該アクションに関連付けられた動作を行うように、前記デバイス動作部の動作を制御するデバイス制御部とを備えるものである。 [1] In order to solve the above problems, a device emulator according to one aspect of the present invention includes a setting storage unit that stores device setting information including at least information about an action of a device and an operation application, a device operation unit that executes the operation application stored in the setting storage unit, and a device control unit that controls the operation of the device operation unit to perform an operation associated with the action when a control signal associated with the action information stored in the setting storage unit is received from the outside.
[2]また、本発明の一態様は、上記のデバイスエミュレーターにおいて、前記設定記憶部は、複数のデバイスのそれぞれについての前記デバイス設定情報を記憶するものであり、前記デバイス動作部は、前記複数のデバイスの中から選択されたデバイスの前記動作用アプリを実行するものである。 [2] In one aspect of the present invention, in the device emulator described above, the setting storage unit stores the device setting information for each of a plurality of devices, and the device operation unit executes the operation app for a device selected from the plurality of devices.
[3]また、本発明の一態様は、上記のデバイスエミュレーターにおいて、前記複数のデバイスの中から選択されたデバイスについての前記アクションの情報を外部に伝達する情報伝達部、をさらに備えるものである。 [3] In one aspect of the present invention, the device emulator further includes an information transmission unit that transmits information about the action for a device selected from the plurality of devices to an outside source.
[4]また、本発明の一態様は、上記のデバイスエミュレーターにおいて、前記情報伝達部は、前記デバイス動作部が、前記デバイスが持つ属性値を更新した際に、当該属性値の情報を外部に伝達するものである。 [4] In one aspect of the present invention, in the device emulator, when the device operation unit updates an attribute value of the device, the information transmission unit transmits information about the attribute value to the outside.
[5]また、本発明の一態様は、上記のデバイスエミュレーターにおいて、前記情報伝達部は、前記デバイス動作部において前記デバイスに関する特定のイベントが発生した際に、当該イベントの情報を外部に伝達するものである。 [5] In one aspect of the present invention, in the device emulator, when a specific event related to the device occurs in the device operation unit, the information transmission unit transmits information about the event to the outside.
[6]また、本発明の一態様は、上記のデバイスエミュレーターにおいて、前記デバイス制御部は、ウェブオブシングス(WoT,web of things)プロトコルによって、前記制御信号を外部から受信するものである。 [6] In one aspect of the present invention, in the device emulator, the device control unit receives the control signal from outside using the Web of Things (WoT) protocol.
[7]また、本発明の一態様は、デバイスの、アクションの情報と、動作用アプリと、を少なくとも含んだデバイス設定情報を記憶する設定記憶部と、前記設定記憶部に記憶された前記動作用アプリを実行するデバイス動作部と、前記設定記憶部に記憶された前記アクションの情報に関連付けられた制御信号を外部から受信すると、当該アクションに関連付けられた動作を行うように、前記デバイス動作部の動作を制御するデバイス制御部と、を備えるデバイスエミュレーター、としてコンピューターを機能させるためのプログラムである。 [7] Another aspect of the present invention is a program for causing a computer to function as a device emulator, the program including: a setting storage unit that stores device setting information including at least information about an action of a device and an application for operation; a device operation unit that executes the application for operation stored in the setting storage unit; and a device control unit that, upon receiving from the outside a control signal associated with the information about the action stored in the setting storage unit, controls the operation of the device operation unit so as to perform an operation associated with the action.
本発明によれば、デバイスエミュレーターは、様々なデバイスとして動作する。これにより、コンテンツを再生する際などにおける、様々なデバイスに固有の動作を模擬的に実行できる。これにより、多種多様なデバイスの動作の検証が容易になる。 According to the present invention, the device emulator operates as various devices. This allows it to simulate the operations specific to various devices when playing back content, etc. This makes it easy to verify the operation of a wide variety of devices.
次に、本発明の複数の実施形態について、図面を参照しながら説明する。以下の実施形態におけるデバイスエミュレーター(あるいは単に「エミュレーター」)は、IoTデバイスの仮想的な実行状態を実現するものである。ハードウェア上で稼働するプログラムを「デバイスエミュレーター」等と呼ぶ場合もあるし、そのプログラムとハードウェアとを含めたものを「デバイスエミュレーター」等と呼ぶ場合もある。 Next, multiple embodiments of the present invention will be described with reference to the drawings. The device emulator (or simply "emulator") in the following embodiments realizes a virtual execution state of an IoT device. A program that runs on hardware may be called a "device emulator", and the combination of the program and hardware may be called a "device emulator".
[第1実施形態]
本実施形態は、IoTデバイスの動作を模擬するデバイスエミュレーターである。なお、「IoT」は、Internet of Things(モノのインターネット)の略である。本実施形態が対応するIoTデバイスは、コンテンツの表現の手段として使用されるデバイスである。本実施形態のエミュレーターは、映像の表示や、音声の出力や、ライトの点灯や、振動を起こすなどといったIoTデバイスの動作を模擬する。なお、IoTデバイスが表現する方法(映像、音声等)は、ここに例示したものに限定されず、あらゆる種類の表現が可能である。本実施形態のエミュレーターは、通信機能を有している。エミュレーターは、通信を介して外部のデバイス(IoTデバイス)等からの制御を受けることが可能である。このような本実施形態のエミュレーターを用いることにより、複数のIoTデバイス間の連携動作を検証することも可能である。
[First embodiment]
This embodiment is a device emulator that simulates the operation of an IoT device. Incidentally, "IoT" is an abbreviation for Internet of Things. The IoT device that this embodiment supports is a device used as a means of expressing content. The emulator of this embodiment simulates the operation of an IoT device, such as displaying video, outputting audio, turning on lights, and vibrating. Note that the method of expression (video, audio, etc.) of the IoT device is not limited to those exemplified here, and all kinds of expressions are possible. The emulator of this embodiment has a communication function. The emulator can be controlled by an external device (IoT device) or the like via communication. By using such an emulator of this embodiment, it is also possible to verify the cooperation between multiple IoT devices.
本実施形態のエミュレーターは、例えば、コンピューターを用いて実現可能である。エミュレーターは、一例として、携帯型情報端末機器(スマートフォン等)と、当該機器上で稼働するプログラムとを用いて実現可能である。ただし、エミュレーターを実現するためのハードウェアは、ここに例示したものには限定されない。 The emulator of this embodiment can be realized, for example, by using a computer. As an example, the emulator can be realized by using a portable information terminal device (such as a smartphone) and a program running on the device. However, the hardware for realizing the emulator is not limited to the examples given here.
図1は、本実施形態によるデバイスエミュレーターの概略機能構成を示すブロック図である。図示するように、デバイスエミュレーター1は、登録部10と、設定記憶部20と、デバイス選択部30と、デバイス動作部40と、デバイス制御部50とを含んで構成される。これらの各機能部は、例えば、コンピューターと、プログラムとで実現することが可能である。また、各機能部は、必要に応じて、記憶手段を有する。記憶手段は、例えば、プログラム上の変数や、プログラムの実行によりアロケーションされるメモリーである。また、必要に応じて、磁気ハードディスク装置やソリッドステートドライブ(SSD)といった不揮発性の記憶手段を用いるようにしてもよい。また、各機能部の少なくとも一部の機能を、プログラムではなく専用の電子回路として実現してもよい。各部の機能は、次の通りである。
FIG. 1 is a block diagram showing a schematic functional configuration of a device emulator according to this embodiment. As shown in the figure, the device emulator 1 includes a
デバイスエミュレーター1は、前述の通り、通信機能を持つ。デバイスエミュレーター1は、例えば、標準化団体W3Cが提唱するWoTを用いて通信を行うようにしてよい。なお、「WoT」はWeb of Things(モノのウェブ)の略である。なお、WoTは、既に世界で利用されているウェブのオープン標準技術(HTML、Javascript、JSON等)を利用するものである。 As mentioned above, the device emulator 1 has a communication function. The device emulator 1 may communicate using, for example, WoT, which is advocated by the standardization organization W3C. Note that "WoT" is an abbreviation for Web of Things. Note that WoT uses open standard web technologies (HTML, Javascript, JSON, etc.) that are already in use around the world.
登録部10は、例えば外部から与えられるデバイス情報を読込み、エミュレーターにデバイスを登録するここで、デバイス情報は、デバイス設定ファイルと、動作用アプリ(動作用ウェブアプリ)とを含む。デバイス設定ファイルは、対象とするデバイスが持つ属性や、デバイスに対するアクションや、デバイスにおいて発生し得るイベントなどの情報を定義したデータである。動作用アプリは、デバイスの動作を模擬的に実現するプログラム(アプリケーションプログラム)のコードである。動作用アプリは、一例としてJavascript(登録商標)で記述されている。動作用アプリがデバイスエミュレーター1上で稼働することにより、エミュレーションの対象とするIoTデバイスの動作を模擬する表現を行える。
The
設定記憶部20は、上記のデバイス情報(デバイス設定ファイルおよび動作用アプリ)を記憶する。デバイス設定ファイルは、上記の通り、各デバイスの特徴や動作を定義したデータを保持する。
The setting
つまり、設定記憶部20は、デバイスの、アクションの情報と、動作用アプリと、を少なくとも含んだデバイス情報を記憶する。デバイスのアクションの情報は、デバイス設定ファイルが持つ情報である。また、設定記憶部は、デバイスの属性の情報を、デバイス設定ファイル内に含む情報として記憶してよい。また、設定記憶部は、デバイスで発生し得るイベントの情報を、デバイス設定ファイル内に含む情報として記憶してよい。
In other words, the setting
設定記憶部20が記憶するデバイス設定情報は、複数のデバイスのそれぞれの設定情報であってもよい。複数のデバイスのデバイス設定情報のうち、適宜、特定のデバイスのデバイス設定情報が、デバイス選択部30によって選択されるようにしてもよい。設定記憶部20は、登録部10によって登録されたそれぞれのデバイスのデバイス情報を、徐々に蓄積していくようにしてよい。
The device setting information stored by the setting
デバイス選択部30は、例えば外部からの指示等に基づいて、設定記憶部20に登録されているデバイスのうちの、特定のデバイスを選択する。デバイス選択部30は、設定記憶部20が複数のデバイスの情報を記憶している場合に、それら複数のデバイスの中から、デバイスエミュレーター1の動作対象とするデバイスを選択する。デバイス選択部30は、デバイスを選択した際に、各部に必要なデバイス情報を前述の設定記憶部20から呼び出す。デバイス選択部30は、選択したデバイスの動作用アプリを、デバイス動作部40に設定する。また、デバイス選択部30は、選択したデバイスを制御するためのAPIを、デバイス制御部50に設定(生成)する。なお、APIは、「Application Programming Interface」の略である。
The
デバイス動作部40は、設定記憶部に記憶された動作用アプリを実行するものである。具体的には、デバイス動作部40は、例えば映像の表示や、音声出力や、ライトの点灯や、光線の出力や、装置を振動させることや、装置を傾けることや、物質(煙、水、あるいはその他の物質)を噴霧するなどといったことで、コンテンツの再生上の演出を行うことができる。なお、デバイス動作部40は、本来のデバイスの動作を模擬できれば充分である。デバイスの実際の動作(例えば、装置を振動させることや、装置を傾けることや、物質を噴霧することなど)を実行する手段をデバイスエミュレーター1のハードウェアが持たない場合には、デバイスエミュレーター1は、検証用の模擬的動作のみを行うようにしてよい。
The
設定記憶部20に複数のデバイスの情報が記憶されている場合、デバイス動作部40は、それら複数のデバイスの中から選択されたデバイスの動作用アプリを実行する。そのために、上記のデバイス選択部30は、選択されたデバイスの動作用アプリを、デバイス動作部40に設定する。
When information on multiple devices is stored in the setting
デバイス制御部50は、設定記憶部20に記憶されたアクションの情報に関連付けられた制御信号を外部から受信し、その制御信号に基づいて、当該アクションに関連付けられた動作を行うように、デバイス動作部40の動作を制御する。外部の装置がデバイスエミュレーター1に制御信号を送信することは、外部の装置等が例えば各動作に対応するAPIを呼び出すことにより行われる。つまり、デバイス制御部50は、外部からの制御を受付け、デバイス動作部40に伝える。外部からの制御信号の送信は、何らかの手段で自動的に行われるようにしてもよいし、ユーザーの操作に基づいて行われるようにしてもよい。
The
図2は、本実施形態によるデバイスエミュレーターの基本的な動作手順を示すシーケンス図である。以下、この図に沿って、デバイスエミュレーター1の動作手順を説明する。 Figure 2 is a sequence diagram showing the basic operation procedure of the device emulator according to this embodiment. Below, the operation procedure of the device emulator 1 will be explained with reference to this diagram.
ステップS1において、登録部10は、外部からのデバイス情報の登録を受け付ける。例えば、デバイスエミュレーター1の外のユーザーエージェントが、デバイス情報を登録部10に渡すことによって、デバイス情報を登録できるようにする。ユーザーエージェントは、デバイスエミュレーター1のユーザーに成り代わって動作する機能である。ユーザー自身がデバイスエミュレーターのユーザーインターフェースを操作することによって登録部10に対してデバイス情報の登録を要求するようにしてもよい。
In step S1, the
次にステップS2において、登録部10は、ステップS1で受け付けたデバイス情報を、設定記憶部20に書き込む。デバイス情報は、デバイス設定ファイルと動作用アプリ(ウェブアプリ)のコードとを含むものである。これによって、登録部10は、デバイスエミュレーター1に1つの仮想デバイスを登録することができる。なお、登録部10が行う都度、デバイスの情報は、設定記憶部20に書き込まれる。設定記憶部20は、複数のデバイスの情報を記憶することができる。
Next, in step S2, the
次にステップS3において、デバイス選択部30は、ユーザーエージェントからの指示に基づいて、稼働させるデバイスを選択する。ここで選択され得るデバイスは、その時点までに設定記憶部20に登録されているデバイスのいずれかである。
Next, in step S3, the
次にステップS4において、デバイス選択部30は、ステップS3で選択されたデバイスのデバイス情報を、設定記憶部20から呼び出す。設定記憶部20から読み出されたデバイス情報は、デバイス選択部30に渡される。デバイス情報は、前述の通り、デバイス設定ファイルと動作用アプリ(ウェブアプリ)のコードとを含む。
Next, in step S4, the
次にステップS5において、デバイス選択部30は、ステップS4で取得した動作用アプリ(ウェブアプリ)を、実行可能な状態となるように、デバイス動作部40に設定する。これにより、デバイス動作部40は、ステップS3で選択されたデバイスを模擬する動作を行えるようになる。
Next, in step S5, the
次にステップS6において、デバイス選択部30は、ステップS4で取得した動作用アプリ(ウェブアプリ)のAPIを、デバイス制御部50に設定する。これにより、デバイス制御部50は、当該動作用アプリを動作させるためのインターフェースを備えるようになる。言い換えれば、デバイスエミュレーター1の外部から、前記動作用アプリを動作させるためのAPIの呼び出しを行えるようになる。
Next, in step S6, the
次にステップS7において、デバイス制御部50は、例えば外部の制御ドライバーから、選択されているIoTデバイスを制御する信号を受け取る。デバイス制御部50は、ステップS6において設定されたAPIにより、外部の制御ドライバーからの制御信号を受信する。言い換えれば、外部の制御ドライバーは、エミュレーター(仮想的なIoTデバイス)のデバイス制御部50に対する制御指示を行う。ここで、制御ドライバーは、エミュレーションの対象となるIoTデバイスとの連携動作を検証するために動作する実体である。制御ドライバーは、例えば外部の具体的な装置(一例として、テレビ等)であってもよいし、デバイスエミュレーター1と同一の、あるいは別のコンピューター上で稼働する処理プロセスであってもよい。
Next, in step S7, the
次にステップS8において、デバイス制御部50は、デバイス動作部40に対する動作制御を行う。具体的には、デバイス制御部50は、ステップS7で外部の制御ドライバーから受け取った制御内容の情報を、デバイス動作部40に伝える。デバイス動作部40では、ステップS5において設定された動作用アプリ(ウェブアプリ)が稼働している。その動作用アプリは、受け取った情報に基づいた動作を行う。具体的には、デバイス動作部40は、動作用アプリの処理として、コンテンツを提示するための動作を行ったり、それに関連する動作を行ったりする。
Next, in step S8, the
図2に示した一連の処理により、デバイスエミュレーター1は、特定のデバイスの選択を行う。また、デバイスエミュレーター1は、選択されたデバイスの動作を模擬的に実行する。また、デバイスエミュレーター1は、外部から当該デバイスへの制御信号を受け取り、その制御信号に応じた動作を、行うことができるようになる。つまり、外部の制御ドライバー等と、IoTデバイスとの連携動作を検証するためにデバイスエミュレーター1を使用することができる。 Through the series of processes shown in Figure 2, the device emulator 1 selects a specific device. The device emulator 1 also simulates the operation of the selected device. The device emulator 1 also receives a control signal from the outside for the device, and can perform an operation according to the control signal. In other words, the device emulator 1 can be used to verify the cooperative operation between an external control driver, etc., and an IoT device.
図3は、登録部10によって登録され、設定記憶部20が記憶(保持)するデバイス情報の構成例を示す概略図である。図示するように、設定記憶部20は、複数のデバイスのそれぞれについて、デバイス情報を記憶するように構成される。同図は「0001」で識別されるデバイスのデバイス情報を示す。デバイス情報は、デバイス設定ファイルと、動作用アプリ(ウェブアプリ)とを含む。
Figure 3 is a schematic diagram showing an example of the configuration of device information registered by the
デバイス設定ファイルは、デバイスが持つ属性(properties)と、アクション(actions)と、イベント(events)の情報を持つ。 The device configuration file contains information about the device's properties, actions, and events.
デバイス設定ファイルにおけるデバイスの情報は、属性名と、属性値の型(type)と、属性の説明記述とを含む。1個(1種類)のデバイスが、1個または複数の属性を持つことができる。デバイスエミュレーター1は、あるデバイスが模擬的に動作するように設定されたとき(例えば、図2のステップS5)に、そのデバイスの属性値を保持する記憶領域を確保し、属性値を初期化する。 The device information in the device setting file includes the attribute name, the type of the attribute value, and a description of the attribute. One device (one type) can have one or more attributes. When a device is set to operate in a simulated manner (e.g., step S5 in FIG. 2), the device emulator 1 allocates a memory area to hold the attribute values of the device and initializes the attribute values.
デバイス設定ファイルにおけるアクションの情報は、そのデバイスに対して要求することができる動作を規定する。例えば、デバイスエミュレーター1の外部から、APIを介してアクションを呼び出すことができる。アクションの情報は、アクション名と、アクションの説明記述とを含む。1個(1種類)のデバイスが、1個または複数のアクションを持つことができる。デバイスエミュレーター1は、あるデバイスが動作するように設定されたとき(例えば、図2のステップS6)に、デバイス制御部50に、アクションを起動するためのAPIを設定する。
The action information in the device setting file specifies the operation that can be requested of the device. For example, an action can be called from outside the device emulator 1 via an API. The action information includes the action name and a description of the action. One device (one type) can have one or more actions. When a device is set to operate (for example, step S6 in FIG. 2), the device emulator 1 sets an API for launching the action in the
デバイス設定ファイルにおけるイベントの情報は、そのデバイスにおいて発生し得る事象を規定する。例えば、デバイスエミュレーター1は、イベントの発生を表すデータに基づく動作を行うことができる。イベントの情報は、イベント名と、イベントのデータの型と、イベントの説明記述とを含む。1個(1種類)のデバイスが、1個または複数のイベントを持つことができる。デバイスエミュレーター1は、発生するイベントに応じた動作をすることができる。 Event information in a device setting file defines events that can occur on the device. For example, the device emulator 1 can take action based on data that indicates the occurrence of an event. Event information includes the event name, the event data type, and a description of the event. One device (one type) can have one or more events. The device emulator 1 can take action according to the event that occurs.
一例として、エミュレーションの対象となるデバイスがスマートLED(light emitting diode)である場合、そのデバイスが持つ属性の一つは、電源状態である。この電源状態という属性は、属性値として「ON」または「OFF」のいずれかの値を取り得る。デバイスエミュレーター1では、この属性値を読み取ることができる。このデバイスが持つアクションの1つは、「toggle」(トグル)である。このアクション「toggle」は、電源状態を「OFF」から「ON」へ、あるいは「ON」から「OFF」へ、変化させる作用を持つ。図2のステップS7に示したように、外部の制御ドライバーは、上記のアクション「toggle」を呼び出すことができる。また、このデバイスが持つイベントの1つは、「overheating」(オーバーヒーティング)である。このイベント「overheating」は、LEDが過熱状態となったときに発生するものである。 As an example, if the device to be emulated is a smart LED (light emitting diode), one of the attributes of the device is the power state. This power state attribute can have either the value "ON" or "OFF" as the attribute value. The device emulator 1 can read this attribute value. One of the actions of this device is "toggle." This action "toggle" has the effect of changing the power state from "OFF" to "ON" or from "ON" to "OFF." As shown in step S7 of FIG. 2, an external control driver can call the above action "toggle." In addition, one of the events of this device is "overheating." This event "overheating" occurs when the LED becomes overheated.
デバイス情報が持つ動作用アプリ(ウェブアプリ)は、そのデバイスの動作を模擬するアプリケーションプログラムのコードである。動作用アプリは、例えば、Jacascriptで記述される。デバイスエミュレーター1においては、この動作用アプリを、デバイス動作部40が実行する。
The operation app (web app) contained in the device information is the code of an application program that simulates the operation of the device. The operation app is written in, for example, Javascript. In the device emulator 1, the
以上、説明したように、本実施形態によれば、デバイスエミュレーター1は、デバイスの機能を模擬的に実行することができる。これにより、デバイスの動作の検証を容易に行うことが可能となる。 As described above, according to this embodiment, the device emulator 1 can simulate the execution of device functions. This makes it easy to verify the operation of the device.
[第2実施形態]
次に、本発明の第2実施形態について説明する。なお、前実施形態において既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。本実施形態の特徴は、デバイスエミュレーターが、デバイスの情報(設定情報および状態情報等)を外部に伝達するための機能を備えている点である。
[Second embodiment]
Next, a second embodiment of the present invention will be described. Note that the matters already described in the previous embodiment may not be described below. Here, the matters unique to this embodiment will be mainly described. The feature of this embodiment is that the device emulator has a function for transmitting device information (setting information, status information, etc.) to the outside.
図4は、本実施形態によるデバイスエミュレーターの概略機能構成を示すブロック図である。図示するように、デバイスエミュレーター2は、登録部10と、設定記憶部20と、デバイス選択部30と、デバイス動作部40と、デバイス制御部50と、情報伝達部60とを含んで構成される。つまり、本実施形態の特徴は、デバイスエミュレーター2が情報伝達部60を持つ点である。
Figure 4 is a block diagram showing the schematic functional configuration of a device emulator according to this embodiment. As shown in the figure, the
情報伝達部60は、デバイスエミュレーター2内の情報を外部に伝達するものである。情報伝達部60は、特定のデバイスが選択されたときに、選択されたデバイスのデバイス情報(デバイス設定ファイル)を外部に伝達する。また、情報伝達部60は、デバイス制御部50から渡されるデバイスの動作状況の情報を、外部に伝達する。言い換えれば、情報伝達部60は、デバイス設定ファイルの情報が更新されたときには、その情報を外部に伝達する。
The
情報伝達部60は、複数のデバイスの中から選択されたデバイスについてのデバイス設定ファイルの情報(例えばアクションの情報)を外部に伝達する。また、情報伝達部60は、選択されたデバイスについてのデバイス設定ファイルの情報として、当該デバイスの属性の情報や、当該デバイスのイベントの情報を外部に伝達するようにしてもよい。また、デバイスが持つ属性値がデバイス動作部40によって更新されたときに、情報伝達部60が、更新された属性値の情報を外部に伝達するようにしてもよい。情報伝達部60は、デバイス動作部40においてデバイスに関する特定のイベントが発生した際に、当該イベントの情報を外部に伝達するようにしてもよい。
The
本実施形態の登録部10と、設定記憶部20と、デバイス選択部30と、デバイス動作部40と、デバイス制御部50とのそれぞれは、第1実施形態の場合と同様の機能を持つ。また、それに加えて、デバイス選択部30は、デバイスが選択された時点で、選択されたデバイスのデバイス情報を、外部に伝達するために、上記の情報伝達部60に渡す。また、デバイス制御部50は、デバイスを制御する処理をする際に、デバイスの動作状況の情報(デバイス動作部40の状態の情報)を、上記の情報伝達部60に渡す。これらにより、情報伝達部60は、外部に伝達するための情報を獲得する。
The
本実施形態では、デバイスエミュレーター2の外部の制御ドライバーは、デバイスの情報(取り得るアクションや、現在の状態等)を取得したうえで、デバイスエミュレーター2が模擬する仮想的なデバイスに対する制御を行うことができる。
In this embodiment, a control driver external to the
図5は、本実施形態によるデバイスエミュレーターの基本的な動作手順を示すシーケンス図である。以下、この図に沿って、デバイスエミュレーター2の動作手順を説明する。
Figure 5 is a sequence diagram showing the basic operation procedure of the device emulator according to this embodiment. Below, the operation procedure of the
図5におけるステップS11からS16までの処理は、それぞれ、図2におけるステップS1からS6までの処理と同様の処理である。 The processes from steps S11 to S16 in FIG. 5 are the same as the processes from steps S1 to S6 in FIG. 2, respectively.
ステップS16の次に、ステップS17において、デバイス選択部30は、ステップS13において選択されたデバイスのデバイス情報を、情報伝達部60に通知する。なお、このデバイス情報は、ステップS14において設定記憶部20から読み出された情報である。
After step S16, in step S17, the
次にステップS18において、情報伝達部60は、ステップS17で渡されたデバイス情報を外部に伝達する。情報伝達部60は、例えば、デバイスエミュレーター2の外部の制御ドライバーに対して、デバイス情報を伝達する。
Next, in step S18, the
次のステップS19およびS20の処理は、それぞれ、図2におけるS7およびS8の処理と同様である。つまり、デバイスエミュレーター2の外部の制御ドライバーからの指示に基づいて、デバイス制御部50がデバイス動作部40の動作を制御する。
The processes of the next steps S19 and S20 are the same as the processes of S7 and S8 in FIG. 2, respectively. In other words, the
次にステップS21において、デバイス制御部50は、デバイス動作部40の状態を取得する。
言い換えれば、デバイス制御部50は、エミュレーションの対象としているデバイスのプロパティーの値を取得する。
Next, in
In other words, the
次にステップS22において、デバイス制御部50は、ステップS21で把握したデバイス動作部40におけるデバイスの状態の情報を、情報伝達部60に渡す。
Next, in step S22, the
次にステップS23において、情報伝達部60は、デバイス情報を外部の制御ドライバーに伝達する。ここでのデバイス情報は、情報伝達部60がステップS22で受け取った情報である。
Next, in step S23, the
以上、説明したように、本実施形態によれば、第1実施形態のデバイスエミュレーターの動作に加えて、デバイスエミュレーターについての情報を外部に伝達することができるようになる。 As described above, according to this embodiment, in addition to the operation of the device emulator of the first embodiment, it becomes possible to transmit information about the device emulator to the outside.
[第3実施形態]
次に、本発明の第3実施形態について説明する。なお、前実施形態までにおいて既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。本実施形態の特徴は、デバイス設定ファイルとしてTD(Thing Description)の形式のデータを使用すること、およびデバイスエミュレーターと外部との通信のプロトコルとしてWoTプロトコルを用いることである。
[Third embodiment]
Next, a third embodiment of the present invention will be described. Note that the matters already described in the previous embodiments may not be described below. Here, the matters unique to this embodiment will be mainly described. The features of this embodiment are that data in the TD (Thing Description) format is used as a device setting file, and the WoT protocol is used as the protocol for communication between the device emulator and the outside.
図6は、本実施形態によるデバイスエミュレーターの概略機能構成を示すブロック図である。図示するように、デバイスエミュレーター3は、登録部10と、設定記憶部20と、デバイス選択部30と、デバイス動作部40と、デバイス制御部50と、情報伝達部60とを含んで構成される。登録部10と、設定記憶部20と、デバイス選択部30と、デバイス動作部40と、デバイス制御部50と、情報伝達部60とは、それぞれ、第2実施形態における場合と同様の機能を持つものである。
Figure 6 is a block diagram showing the schematic functional configuration of the device emulator according to this embodiment. As shown in the figure, the
ただし、本実施形態において、デバイス設定ファイルはTDの形式のデータである。つまり、登録部10は、TDによるデバイス設定ファイルの登録を受け付ける。また、設定記憶部20は、TDによるデバイス設定ファイルを記憶する。また、デバイス選択部30は、選択されたデバイスについて、TDによるデバイス設定ファイルを設定記憶部20から読み出して情報伝達部60に通知する。また、デバイス制御部50は、デバイス動作部40におけるデバイスの状態に基づき、TDによるデバイス設定ファイルの記述を更新して、情報伝達部60に渡す。また、本実施形態において、外部の制御ドライバー等からデバイス制御部50への制御指示は、WoTプロトコルを用いて行われる。つまり、デバイス制御部50は、ウェブオブシングス(WoT,web of things)プロトコルによって、制御信号を外部から受信する。
However, in this embodiment, the device setting file is data in the TD format. That is, the
図7は、本実施形態によるデバイスエミュレーターの基本的な動作手順を示すシーケンス図である。以下、この図に沿って、デバイスエミュレーター3の動作手順を説明する。
Figure 7 is a sequence diagram showing the basic operation procedure of the device emulator according to this embodiment. Below, the operation procedure of the
ステップS31において、登録部10は、図5のステップS11と同様に、デバイス情報の登録を受け付ける。ただし、このとき、デバイス設定ファイルはTDの形式のデータである。
In step S31, the
次にステップS32において、登録部10は、図5のステップS12と同様に、デバイス情報を設定記憶部20に書き込む。ただし、このとき、デバイス設定ファイルはTDの形式のデータである。
Next, in step S32, the
次にステップS33において、デバイス選択部30は、図5のステップS13と同様に、デバイスの選択の指示を受け付ける。
Next, in step S33, the
次にステップS34において、デバイス選択部30は、図5のステップS14と同様に、デバイス情報を設定記憶部20から読み出す。ただし、このとき、デバイス設定ファイルはTDの形式のデータである。
Next, in step S34, the
次にステップS35において、デバイス選択部30は、図5のステップS15と同様に、ウェブアプリの設定を行う。また、ステップS36において、デバイス選択部30は、図5のステップS16と同様に、制御用APIの設定を行う。
Next, in step S35, the
次にステップS37において、デバイス選択部30は、図5のステップS17と同様に、情報伝達部60に、デバイス情報を通知する。ただし、このとき、デバイス設定ファイルはTDの形式のデータである。
Next, in step S37, the
次にステップS38において、情報伝達部60は、図5のステップS18と同様に、外部の制御ドライバー等に、デバイス情報を伝達する。ただし、このとき、デバイス設定ファイルはTDの形式のデータである。
Next, in step S38, the
次にステップS39において、デバイス制御部50は、図5のステップS19と同様に、外部の制御ドライバーからの制御指示を受けとる。ただしこのときの制御指示は、WoTプロトコルで送信されるものである。
Next, in step S39, the
次にステップS40において、デバイス制御部50は、図5のステップS20と同様に、デバイス動作部40の動作を制御する処理を行う。また、ステップS41において、デバイス制御部50は、図5のステップS21と同様に、デバイス動作部40におけるデバイスの状態を把握する。つまり、デバイス制御部50は、デバイスのプロパティーの値を把握する。
Next, in step S40, the
次にステップS42において、デバイス制御部50は、図5のステップS22と同様に、取得したデバイスの状態の情報を、情報伝達部60に渡す。具体的には、デバイス制御部50は、更新されたデバイス設定ファイルのデータを、情報伝達部60に渡す。ただし、このときにデバイス制御部50が情報伝達部60に渡すデバイス設定ファイルは、TDの形式のデータである。
Next, in step S42, the
次にステップS43において、情報伝達部60は、図5のステップS23と同様に、更新されたデバイス情報を外部の制御ドライバーに伝達する。ただし、このときにデバイス制御部50が情報伝達部60に渡すデバイス情報は、TDの形式のデータである。
Next, in step S43, the
図8,図9は、本実施形態におけるデバイス設定ファイルの例を示す概略図である。前述の通り、デバイス設定ファイルは、TDの形式のデータである。図8,図9の両方で1本のファイルを示す。このファイルが、1つのデバイスの情報を表す。本例において、デバイスは、スマートスピーカーである。なお、ファイルのデータには便宜的に行番号を示している。図8は、このデバイス設定ファイルの第1行目から第38行目までを示す。図9は、このデバイス設定ファイルの第39行目から第81行目までを示す。以下、このファイルの内容を説明する。
Figures 8 and 9 are schematic diagrams showing an example of a device setting file in this embodiment. As mentioned above, the device setting file is data in TD format. Both Figures 8 and 9 show one file. This file represents information about one device. In this example, the device is a smart speaker. For convenience, line numbers are shown for the data in the file. Figure 8 shows lines 1 to 38 of this device setting file. Figure 9 shows
図示するように、TD形式のデータは、中括弧(curly brace)等で表わされるブロック構造を有する。
第1行目(図8)の左中括弧は、このデータ全体の開始を表す。
第15行目から第26行目までのブロックは、属性(プロパティー)の情報である。この例では、当該デバイスは、1種類の属性を持つ。第16行目から第25行目までのブロックは、属性「power」(タイトルは「電源」)の情報である。
As shown in the figure, data in TD format has a block structure represented by curly braces and the like.
The opening brace on the first line (FIG. 8) marks the beginning of this entire data.
The block from
第27行目(図8)から第70行目(図9)までのブロックは、アクションの情報である、この例では、当該デバイスは、toggle、setVolume、playAudio、launchNewsAppの4種類のアクションを持つ。各アクションの情報は、動作を起動するためのURLの情報を含む。第28行目(図8)から第38行目までのブロックは、アクション「toggle」の情報である。このアクションは、電源制御(電源のオン/オフの切り替え)のためのアクションである。第39行目(図9)から第49行目までのブロックは、アクション「setVolume」の情報である。このアクションは、音量制御のためのアクションである。第50行目から第59行目までのブロックは、アクション「playAudio」の情報である。このアクションは、音楽再生(音声再生)のためのアクションである。第60行目から第69行目までのブロックは、アクション「launchNewsApp」の情報である。このアクションは、ニュースアプリ起動のためのアクションである。
The blocks from line 27 (FIG. 8) to line 70 (FIG. 9) are action information. In this example, the device has four types of actions: toggle, setVolume, playAudio, and launchNewsApp. The information for each action includes URL information for starting the operation. The blocks from line 28 (FIG. 8) to
第71行目から第80行目までのブロックは、イベントの情報である。当該デバイスは、1種類のイベントを持つ。第72行目から第79行目までのブロックは、イベント「weatherAlert」の情報である。このイベントは、気象警報を表す。
第81行目の右中括弧は、このファイルのデータ全体の終了を表す。
The block from
The closing brace on
[第4実施形態]
次に、本発明の第4実施形態について説明する。なお、前実施形態までにおいて既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。本実施形態は、複数のデバイスエミュレーターと他の装置とを用いて構成されるシステムである。
[Fourth embodiment]
Next, a fourth embodiment of the present invention will be described. Note that the matters already described in the previous embodiments may not be described below. Here, the matters unique to this embodiment will be mainly described. This embodiment is a system configured using multiple device emulators and other devices.
図10は、本実施形態によるシステムの構成を示すブロック図である。図示するように、システム101は、スマートテレビ6と、デバイスエミュレーター3Aおよび3Bとを含むように構成される。
Figure 10 is a block diagram showing the configuration of a system according to this embodiment. As shown in the figure, the
デバイスエミュレーター3Aおよび3Bは、それぞれ、前実施形態までにおいて説明したデバイスエミュレーター(例えば、第3実施形態のデバイスエミュレーター3)である。デバイスエミュレーター3Aおよび3Bは、1台の同一のハードウェア上で稼働するものであってもよいし、別々のハードウェア上で稼働するものであってもよい。
The
スマートテレビ6は、外部からコンテンツの信号を受信して映像コンテンツを提示する装置である。コンテンツは、映像や音声に加えて、他の手段を用いた表現を含むものであってよい。例えば、コンテンツは、LEDによる光線の演出や、振動や傾きなどを生じさせることによる演出や、物質を噴霧することによる演出や、その他の演出による表現を含むものであってもよい。
本実施形態のシステム101においては、デバイスエミュレーター3Aは、スマートスピーカー(デバイス)を模擬する。また、デバイスエミュレーター3Bは、触覚デバイスを模擬する。スマートテレビ6は、スマートスピーカーを制御する信号をデバイスエミュレーター3Aに対して送信する。また、スマートテレビ6は、触覚デバイスを制御する信号をデバイスエミュレーター3Bに対して送信する。デバイスエミュレーター3Aと3Bのそれぞれにとっては、スマートテレビ6は、外部装置(例えば、図7等のシーケンス図における制御ドライバー)として機能する。
In the
デバイスエミュレーター3Aは、スマートスピーカーを模擬する動作として、スマートテレビ6が再生しているコンテンツを認識し、そのコンテンツあるいは関連する別のコンテンツの再生をWebViewにより行う。また、デバイスエミュレーター3Aは、ユーザーが発声する音声を認識し、その認識結果に基づいた制御をスマートテレビ6に対して行う。デバイスエミュレーター3A(スマートスピーカー)は、例えば、スマートテレビ6の電源のオン/オフの制御を行ったり、スマートテレビ6の音量の制御を行ったりする。
The
デバイスエミュレーター3B(振動デバイス)は、スマートテレビ6からの制御信号に基づいて、スマートテレビ6で再生されるコンテンツに連動して振動する動作を模擬する。スマートテレビ6は、コンテンツの進行に合わせて、振動デバイスを制御するための信号を出力する。これにより、振動デバイスによるコンテンツに合わせたユーザー体験の検証を行うことができる。デバイスエミュレーター3Aは、そのハードウェア(例えば、デバイスエミュレーター3Aが稼働するスマートフォン)がネイティブな振動機能を持つ場合には、実際に振動させる動作を行ってもよい。デバイスエミュレーター3Aは、ハードウェアが振動機能を持たない場合には、振動を模擬する動作のみ(例えば、振動中であることを画面に表示するのみ)を行ってもよい。
The
以上説明したように、本実施形態では、スマートテレビとIoTデバイスとの連携動作を検証することができる。 As described above, in this embodiment, it is possible to verify the cooperative operation between a smart TV and an IoT device.
[第5実施形態]
次に、本発明の第5実施形態について説明する。なお、前実施形態までにおいて既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。本実施形態は、複数のデバイスエミュレーターが相互に通信する形態のシステムである。
[Fifth embodiment]
Next, a fifth embodiment of the present invention will be described. Note that the matters already described in the previous embodiments may not be described below. Here, the matters unique to this embodiment will be mainly described. This embodiment is a system in which a plurality of device emulators communicate with each other.
図11は、本実施形態によるシステムの構成を示すブロック図である。図示するように、システム102は、デバイスエミュレーター3Cおよび3Dを含むように構成される。デバイスエミュレーター3Cおよび3Dは、それぞれ、第3実施形態までにおいて説明したデバイスエミュレーター(例えば、第3実施形態のデバイスエミュレーター3)である。デバイスエミュレーター3Cおよび3Dは、1台の同一のハードウェア上で稼働するものであってもよいし、別々のハードウェア上で稼働するものであってもよい。
Figure 11 is a block diagram showing the configuration of a system according to this embodiment. As shown in the figure, the
本実施形態において、デバイスエミュレーター3Cは、スマートテレビを模擬する。また、デバイスエミュレーター3Dは、スマートLEDを模擬する。デバイスエミュレーター3Cおよび3Dは、それぞれ、エミュレーション対象のIoTデバイスを模擬する動作を行う。デバイスエミュレーター3Cのデバイス設定ファイル(TD形式)には、自デバイスがスマートテレビであり、選局するチャンネルの選択が可能であることが記述されている。デバイスエミュレーター3Dは、外部からの制御に応じて点灯色が変わるスマートLEDを模擬する。デバイスエミュレーター3Cおよび3Dのそれぞれは、互いに、相手側デバイスエミュレーターの外部装置(例えば、図7等のシーケンス図における制御ドライバー)として機能する。
In this embodiment,
デバイスエミュレーター3C(スマートテレビ)において選局操作が行われると、デバイスエミュレーター3Cは、当該スマートテレビのデバイス設定ファイル(TD)の属性の一つである現チャンネル情報を更新する。デバイスエミュレーター3Cは、その更新された属性情報(現チャンネル)を、デバイスエミュレーター3D(スマートLED)に伝達することができる。また、デバイスエミュレーター3C(スマートテレビ)において、イベントが発生し得る。イベントは例えば、視聴予約している番組の開始時刻が近付いたことを表すものである。デバイスエミュレーター3Cでは、当該スマートテレビのデバイス設定ファイル(TD)の中に、当該イベントが発生した時の挙動の記述を持つことができる。
When a channel selection operation is performed in the
デバイスエミュレーター3Cは、スマートテレビのデバイスを選択した際に、そのデバイスの設定ファイル(TD)を、デバイスエミュレーター3D(スマートLED)側に伝達する。これにより、デバイスエミュレーター3D(スマートLED)は、デバイスエミュレーター3Cがスマートテレビとして動作していることを認識する。デバイスエミュレーター3D(スマートLED)は、スマートテレビのデバイス設定ファイル内の現チャンネルの情報に応じた色に発色(あるいはその模擬動作)するものであってよい。スマートテレビのデバイス設定ファイル(TD)内の現チャンネルが更新されると、デバイスエミュレーター3DはLEDの発光色を変化させる。また、デバイスエミュレーター3C側で特定のイベント(例えば、視聴予約番組の時刻に近づいたことを表すイベント)が発生すると、その情報がデバイスエミュレーター3D側に伝達される。デバイスエミュレーター3Dは、伝達されたイベントの内容に応じて、特定の動作(例えば、LEDライトの点滅動作(あるいはその模擬動作)等)を行うことができる。
When the
以上説明したように、本実施形態では、IoTデバイスを模擬するエミュレーター同士での連携動作を検証することができる。 As described above, in this embodiment, it is possible to verify the cooperative operation between emulators that simulate IoT devices.
図12は、上記の各実施形態におけるデバイスエミュレーター(ないしは、エミュレーターが稼働するハードウェア)の内部構成の例を示すブロック図である。デバイスエミュレーターは、コンピューターを用いて実現され得る。図示するように、そのコンピューターは、中央処理装置901と、RAM902と、入出力ポート903と、入出力デバイス904や905等と、バス906と、を含んで構成される。コンピューター自体は、既存技術を用いて実現可能である。中央処理装置901は、RAM902等から読み込んだプログラムに含まれる命令を実行する。中央処理装置901は、各命令にしたがって、RAM902にデータを書き込んだり、RAM902からデータを読み出したり、算術演算や論理演算を行ったりする。RAM902は、データやプログラムを記憶する。RAM902に含まれる各要素は、アドレスを持ち、アドレスを用いてアクセスされ得るものである。なお、RAMは、「ランダムアクセスメモリー」の略である。入出力ポート903は、中央処理装置901が外部の入出力デバイス等とデータのやり取りを行うためのポートである。入出力デバイス904や905は、入出力デバイスである。入出力デバイス904や905は、入出力ポート903を介して中央処理装置901との間でデータをやりとりする。バス906は、コンピューター内部で使用される共通の通信路である。例えば、中央処理装置901は、バス906を介してRAM902のデータを読んだり書いたりする。また、例えば、中央処理装置901は、バス906を介して入出力ポートにアクセスする。
Figure 12 is a block diagram showing an example of the internal configuration of a device emulator (or hardware on which the emulator runs) in each of the above embodiments. The device emulator can be realized using a computer. As shown in the figure, the computer is configured to include a
なお、上述した各実施形態におけるデバイスエミュレーターの少なくとも一部の機能をコンピューターで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。つまり、「コンピューター読み取り可能な記録媒体」とは、非一過性の(non-transitory)コンピューター読み取り可能な記録媒体であってよい。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。 At least some of the functions of the device emulator in each of the above-mentioned embodiments can be realized by a computer. In that case, a program for realizing this function may be recorded in a computer-readable recording medium, and the program recorded in the recording medium may be read into a computer system and executed to realize the function. Note that the term "computer system" here includes hardware such as an OS and peripheral devices. Furthermore, the term "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, CD-ROMs, DVD-ROMs, and USB memories, and storage devices such as hard disks built into computer systems. In other words, the term "computer-readable recording medium" may be a non-transitory computer-readable recording medium. Furthermore, the term "computer-readable recording medium" may include a medium that temporarily and dynamically holds a program, such as a communication line when a program is transmitted via a network such as the Internet or a communication line such as a telephone line, and a medium that holds a program for a certain period of time, such as a volatile memory inside a computer system that is a server or client in such a case. Furthermore, the above-mentioned program may be a program for realizing a part of the above-mentioned function, and may further be a program that can realize the above-mentioned function in combination with a program already recorded in the computer system.
以上、複数の実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。前記の各実施形態における説明では、デバイス設定ファイルは、デバイスが持つ属性(properties)の情報と、アクションの情報と、イベントの情報との全部を持つものであった。変形例として、デバイス設定ファイルが、属性の情報と、アクションの情報と、イベントの情報の、いずれか1つだけを持つものであってもよい。また、変形例として、デバイス設定ファイルが、属性の情報と、アクションの情報と、イベントの情報のうちの複数(全部ではない)を持つものであってもよい。 Although several embodiments have been described above, the present invention can also be embodied in the following modified examples. In the above description of each embodiment, the device setting file has all of the device's attribute (properties) information, action information, and event information. As a modified example, the device setting file may have only one of the attribute information, action information, and event information. Also, as a modified example, the device setting file may have multiple (but not all) of the attribute information, action information, and event information.
以上、この発明の複数の実施形態について、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 Although several embodiments of the present invention have been described above in detail with reference to the drawings, the specific configuration is not limited to these embodiments, and includes designs that do not deviate from the gist of the present invention.
本発明は、例えば、IoTデバイスの動作の検証などに利用することができる。但し、本発明の利用範囲はここに例示したものには限られない。 The present invention can be used, for example, to verify the operation of IoT devices. However, the scope of use of the present invention is not limited to the examples given here.
1,2,3,3A,3B,3C,3D デバイスエミュレーター
6 スマートテレビ
10 登録部
20 設定記憶部
30 デバイス選択部
40 デバイス動作部
50 デバイス制御部
60 情報伝達部
101,102 システム
901 中央処理装置
902 RAM
903 入出力ポート
904,905 入出力デバイス
906 バス
1, 2, 3, 3A, 3B, 3C,
903 Input/
Claims (2)
第2デバイスエミュレーターと、
を備えるシステムであって、
前記第1デバイスエミュレーターと前記第2デバイスエミュレーターとのそれぞれは、
デバイスのアクションの情報と、動作用アプリと、デバイスが持つ属性と、デバイスで発生し得るイベントと、を含んだデバイス設定情報を記憶する設定記憶部と、
前記設定記憶部に記憶された前記動作用アプリを実行するデバイス動作部と、
前記設定記憶部に記憶された前記アクションの情報に関連付けられた制御信号を外部から受信すると、当該アクションに関連付けられた動作を行うように、前記デバイス動作部の動作を制御するデバイス制御部と、
を備え、
前記第1デバイスエミュレーターは、更新された前記第1デバイスエミュレーターの属性情報を、前記第2デバイスエミュレーターに伝達し、
前記第1デバイスエミュレーターは前記第1デバイスエミュレーターで発生したイベントの情報を前記第2デバイスエミュレーターに伝達するとともに、伝達を受けた前記第2デバイスエミュレーターは伝達された当該イベントの内容に応じた動作を行う、
システム。 A first device emulator;
A second device emulator;
A system comprising:
Each of the first device emulator and the second device emulator comprises:
a setting storage unit that stores device setting information including information on actions of the device, an application for operation, attributes of the device, and events that may occur in the device ;
a device operation unit that executes the operation application stored in the setting storage unit;
a device control unit that, when receiving from an external device a control signal associated with information of the action stored in the setting storage unit, controls an operation of the device operation unit so as to perform an operation associated with the action;
Equipped with
the first device emulator transmits the updated attribute information of the first device emulator to the second device emulator;
The first device emulator transmits information about an event occurring in the first device emulator to the second device emulator, and the second device emulator, having received the information, performs an operation according to the content of the transmitted event.
system.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021030816A JP7645661B2 (en) | 2021-02-26 | 2021-02-26 | System and Program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021030816A JP7645661B2 (en) | 2021-02-26 | 2021-02-26 | System and Program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022131720A JP2022131720A (en) | 2022-09-07 |
| JP7645661B2 true JP7645661B2 (en) | 2025-03-14 |
Family
ID=83152732
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021030816A Active JP7645661B2 (en) | 2021-02-26 | 2021-02-26 | System and Program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7645661B2 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5889954A (en) | 1996-12-20 | 1999-03-30 | Ericsson Inc. | Network manager providing advanced interconnection capability |
| JP2005092286A (en) | 2003-09-12 | 2005-04-07 | Leading Information Technology Institute | Non-contact electronic tag application software development support device |
| JP2013210882A (en) | 2012-03-30 | 2013-10-10 | Nec Soft Ltd | Emulation device, emulation method, program, and development support system of built-in apparatus |
-
2021
- 2021-02-26 JP JP2021030816A patent/JP7645661B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5889954A (en) | 1996-12-20 | 1999-03-30 | Ericsson Inc. | Network manager providing advanced interconnection capability |
| JP2005092286A (en) | 2003-09-12 | 2005-04-07 | Leading Information Technology Institute | Non-contact electronic tag application software development support device |
| JP2013210882A (en) | 2012-03-30 | 2013-10-10 | Nec Soft Ltd | Emulation device, emulation method, program, and development support system of built-in apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022131720A (en) | 2022-09-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109168021B (en) | A method and device for pushing flow | |
| US11057679B2 (en) | Content delivery | |
| CN103548012B (en) | Remote Emulation Computing Device | |
| JP2023179795A (en) | Barrage processing method, device, electronic equipment and program | |
| CN108040285B (en) | Live video screen adjustment method, computer equipment and storage medium | |
| CN105611364B (en) | Method, device and system for interaction between portable digital equipment and large screen | |
| CA2843152C (en) | Remotely preconfiguring a computing device | |
| CN104572042A (en) | Cross-platform middleware device of mobile terminal equipment and implementation method of cross-platform middleware device of mobile terminal equipment | |
| CN114461423B (en) | A multimedia stream processing method, device, storage medium and program product | |
| US12353689B2 (en) | Data processing method and apparatus for virtual scene, electronic device, and storage medium | |
| WO2016150388A1 (en) | Interface processing method, apparatus, and system | |
| CN108289231B (en) | Integrated panoramic player | |
| JP7408506B2 (en) | Content distribution system, content distribution method, and content distribution program | |
| WO2026067549A1 (en) | Dialog simulation method and apparatus, device, storage medium, and program product | |
| CN115129444A (en) | Application program display method and device and computer readable storage medium | |
| JP7645661B2 (en) | System and Program | |
| JP2013246384A (en) | Content providing system and client terminal | |
| Mishima et al. | Low-cost managed digital signage system with signage device using small-sized and low-cost information device | |
| CN104935996A (en) | Synchronous display method of spliced wall | |
| CN116957671A (en) | Interactive content display method, interactive popularization page configuration method and device | |
| US20170142172A1 (en) | Video Player for Multiple Cameras, Playing System and Playing Method | |
| CN112422676A (en) | Video playing method, device, equipment and computer readable storage medium | |
| CN115942016B (en) | Information processing method and related product | |
| CN112055238B (en) | Video playing control method, device and system | |
| KR102225414B1 (en) | System and apparatus for managing contents based on cloud computing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240110 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240912 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20241105 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241217 |
|
| 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: 20250204 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250304 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7645661 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |