System and Program

JP7645661B2Active Publication Date: 2025-03-14NIPPON HOSO KYOKAI
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021030816
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-02-26
Publication Date
2025-03-14
Estimated Expiration
2041-02-26

AI Technical Summary

Benefits of technology

【0016】 本発明によれば、デバイスエミュレーターは、様々なデバイスとして動作する。これにより、コンテンツを再生する際などにおける、様々なデバイスに固有の動作を模擬的に実行できる。これにより、多種多様なデバイスの動作の検証が容易になる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007645661000001
    Figure 0007645661000001
  • Figure 0007645661000002
    Figure 0007645661000002
  • Figure 0007645661000003
    Figure 0007645661000003
Patent Text Reader

Abstract

To provide a device emulator that facilitates the verification of a device for achieving content expression or the like.SOLUTION: A device emulator includes a setting storage unit, a device operation unit, and a device control unit. The setting storage unit stores device setting information including at least information on an action and an operation application of a device. The device operation unit executes the operation application stored in the setting storage unit. Upon receiving a control signal associated with the information on the action stored in the setting storage unit from the outside, the device control unit controls operation of the device operation unit so as to perform an operation associated with the action.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a device emulator and a program. [Background technology]

[0002] When presenting content such as video, an IoT device may be used. The IoT device here is, for example, a device that displays video, outputs audio, creates light effects using lighting means such as LED lights, sprays substances, vibrates objects, changes the position of objects, etc. In other words, the IoT device here realizes the expression of content. Various types of IoT devices realize the expression of content by performing operations unique to each device.

[0003] Non-Patent Document 1 describes a technology that improves accessibility of broadcast content by utilizing IoT devices to present 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.

[0004] Furthermore, 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 smell, heat, vibration, and tactile sensation that is pre-associated with an alternative image when the alternative image is displayed. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] JP 2014-038523 A [Non-patent literature]

[0006] [Non-Patent Document 1] Daisui Endo, IoT-based Media Framework: Presenting content according to various devices and user environments, NHK Science & Technology Research Laboratories, News from the Institute, December 2020, [online], [downloaded on February 1, 2021], Internet<URL:https: / / www.nhk.or.jp / strl / publica / giken_dayori / 189 / 4.html> Summary of the Invention [Problem to be solved by the invention]

[0007] 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 many different types of IoT devices that can be used to present content. In addition, it is necessary to verify IoT devices that do not actually exist at least at the time of verification. In addition, the number of combinations of content types and IoT device types is enormous. In other words, there is a problem in that it is very difficult to build a verification environment using actual IoT devices that covers all of such a huge number of combinations.

[0008] The present invention was made based on the recognition of the above problems, and aims to provide a device emulator and program that facilitates verification of IoT devices for realizing content expression, etc. [Means for solving the problem]

[0009] [1] In order to solve the above problems, a device emulator according to one aspect of the present invention includes a setting memory 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 memory unit, and a device control unit that, when a control signal associated with the action information stored in the setting memory unit is received from an outside, controls the operation of the device operation unit so as to perform an operation associated with the action.

[0010] [2] Also, one aspect of the present invention is that in the above-mentioned device emulator, the setting memory 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.

[0011] [3] In another 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.

[0012] [4] Also, in one aspect of the present invention, in the above-mentioned device emulator, the information transmission unit transmits information of the attribute value to the outside when the device operation unit updates an attribute value held by the device.

[0013] [5] Also, in one aspect of the present invention, in the above-mentioned device emulator, the information transmission unit transmits information of a specific event related to the device to the outside when the event occurs in the device operation unit.

[0014] [6] In another aspect of the present invention, in the above-mentioned device emulator, the device control unit receives the control signal from outside via a Web of Things (WoT) protocol.

[0015] [7] Also, one aspect of the present invention is a program for causing a computer to function as a device emulator including: a setting memory unit that stores device setting information including at least information on an action of a device and an operation application; a device operation unit that executes the operation application stored in the setting memory unit; and a device control unit that, upon receiving from outside a control signal associated with the action information stored in the setting memory unit, controls the operation of the device operation unit so as to perform an operation associated with the action. Effect of the Invention

[0016] According to the present invention, the device emulator operates as various devices. This allows the device emulator to simulate the operations specific to various devices when playing back content, etc. This makes it easy to verify the operations of a wide variety of devices. [Brief description of the drawings]

[0017] [Figure 1] 1 is a block diagram showing a schematic functional configuration of a device emulator according to a first embodiment of the present invention. [Diagram 2] FIG. 2 is a sequence diagram showing a basic operation procedure of the device emulator according to the first embodiment. [Diagram 3] 2 is a schematic diagram showing an example of the configuration of device information stored in a setting storage unit 20 in the first embodiment. FIG. [Figure 4] FIG. 11 is a block diagram showing a schematic functional configuration of a device emulator according to a second embodiment. [Diagram 5] FIG. 11 is a sequence diagram showing an operation procedure of the device emulator according to the second embodiment. [Figure 6] FIG. 11 is a block diagram showing a schematic functional configuration of a device emulator according to a third embodiment. [Figure 7] FIG. 13 is a sequence diagram showing an operation procedure of the device emulator according to the third embodiment. [Figure 8]FIG. 12 is a schematic diagram (1 / 2) showing an example of a device setting file (TD) according to the third embodiment. [Figure 9] FIG. 13 is a schematic diagram (2 / 2) showing an example of a device setting file (TD) according to the third embodiment. [Figure 10] FIG. 13 is a block diagram showing a configuration of a system according to a fourth embodiment. [Figure 11] FIG. 13 is a block diagram showing the configuration of a system according to a fifth embodiment. [Figure 12] 2 is a block diagram showing an example of the internal configuration of a device emulator (or hardware on which the emulator runs) in each embodiment. FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018] Next, multiple embodiments of the present invention will be described with reference to the drawings. A 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".

[0019] [First embodiment] This embodiment is a device emulator that simulates the operation of an IoT device. Incidentally, "IoT" is an abbreviation of Internet of Things. The IoT device that this embodiment corresponds to 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. Incidentally, the method of expression (video, audio, etc.) of an 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 cooperative operation between multiple IoT devices.

[0020] 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 one exemplified here.

[0021] 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 registration unit 10, a setting storage unit 20, a device selection unit 30, a device operation unit 40, and a device control unit 50. Each of these functional units can be realized, for example, by a computer and a program. Each functional unit has a storage unit as necessary. The storage unit is, for example, a variable in the program or a memory allocated by the execution of the program. Also, non-volatile storage units such as a magnetic hard disk device or a solid state drive (SSD) may be used as necessary. Also, at least a part of the functions of each functional unit may be realized as a dedicated electronic circuit rather than a program. The functions of each unit are as follows.

[0022] As described above, the device emulator 1 has a communication function. The device emulator 1 may communicate using, for example, WoT proposed 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.

[0023] The registration unit 10 reads device information provided from an external source, for example, and registers the device in the emulator. Here, the device information includes a device setting file and an operation application (operational web application). The device setting file is data that defines information such as attributes of the target device, actions for the device, and events that may occur in the device. The operation application is code for a program (application program) that simulates the operation of the device. As an example, the operation application is written in Javascript (registered trademark). The operation application runs on the device emulator 1, making it possible to perform an expression that simulates the operation of the IoT device that is the target of emulation.

[0024] The setting storage unit 20 stores the above device information (device setting files and operating applications). As described above, the device setting files hold data that defines the features and operations of each device.

[0025] That is, the setting storage unit 20 stores device information including at least information on the action of the device and an application for operation. The information on the action of the device is information contained in a device setting file. The setting storage unit may also store information on the attributes of the device as information contained in the device setting file. The setting storage unit may also store information on events that may occur on the device as information contained in the device setting file.

[0026] The device setting information stored in the setting storage unit 20 may be setting information for each of a plurality of devices. Of the device setting information for the plurality of devices, the device selection unit 30 may appropriately select the device setting information for a specific device. The setting storage unit 20 may gradually accumulate the device information for each device registered by the registration unit 10.

[0027] The device selection unit 30 selects a specific device from among the devices registered in the setting storage unit 20, for example, based on an external instruction or the like. When the setting storage unit 20 stores information on a plurality of devices, the device selection unit 30 selects a device to be operated by the device emulator 1 from among the plurality of devices. When the device selection unit 30 selects a device, it calls up device information required for each unit from the setting storage unit 20. The device selection unit 30 sets an application for operating the selected device in the device operation unit 40. The device selection unit 30 also sets (generates) an API for controlling the selected device in the device control unit 50. Note that API is an abbreviation for "Application Programming Interface."

[0028] The device operation unit 40 executes an operation application stored in the setting storage unit. Specifically, the device operation unit 40 can perform the playback of the content by, for example, displaying an image, outputting an audio, turning on a light, outputting a light beam, vibrating the device, tilting the device, spraying a substance (smoke, water, or other substance), and the like. It is sufficient for the device operation unit 40 to be able to simulate the operation of the original device. If the hardware of the device emulator 1 does not have a means for executing the actual operation of the device (for example, vibrating the device, tilting the device, spraying a substance, etc.), the device emulator 1 may perform only simulated operations for verification.

[0029] When information on a plurality of devices is stored in the setting storage unit 20, the device operation unit 40 executes an operation application of a device selected from the plurality of devices. To this end, the device selection unit 30 sets the operation application of the selected device in the device operation unit 40.

[0030] The device control unit 50 receives a control signal associated with the action information stored in the setting storage unit 20 from the outside, and controls the operation of the device operation unit 40 so as to perform the operation associated with the action based on the control signal. An external device transmits a control signal to the device emulator 1 by, for example, calling an API corresponding to each operation. In other words, the device control unit 50 accepts control from the outside and transmits it to the device operation unit 40. The transmission of the control signal from the outside may be performed automatically by some means, or may be performed based on a user operation.

[0031] 2 is a sequence diagram showing the basic operation procedure of the device emulator according to this embodiment. The operation procedure of the device emulator 1 will be described below with reference to this diagram.

[0032] In step S1, the registration unit 10 accepts registration of device information from outside. For example, a user agent outside the device emulator 1 passes the device information to the registration unit 10, thereby enabling the device information to be registered. The user agent is a function that operates on behalf of a user of the device emulator 1. The user himself may request the registration unit 10 to register device information by operating the user interface of the device emulator.

[0033] Next, in step S2, the registration unit 10 writes the device information received in step S1 into the setting storage unit 20. The device information includes a device setting file and the code of an operating application (web application). This allows the registration unit 10 to register one virtual device in the device emulator 1. Note that each time the registration unit 10 does this, the device information is written into the setting storage unit 20. The setting storage unit 20 can store information on multiple devices.

[0034] Next, in step S3, the device selection unit 30 selects a device to be operated based on an instruction from the user agent. The device that can be selected here is any of the devices that have been registered in the setting storage unit 20 up to that point.

[0035] Next, in step S4, the device selection unit 30 calls up the device information of the device selected in step S3 from the setting storage unit 20. The device information read from the setting storage unit 20 is passed to the device selection unit 30. As described above, the device information includes a device setting file and the code of an operating application (web application).

[0036] Next, in step S5, the device selection unit 30 sets the operation application (web application) acquired in step S4 in the device operation unit 40 so that the operation application is in an executable state. This enables the device operation unit 40 to perform an operation that emulates the device selected in step S3.

[0037] Next, in step S6, the device selection unit 30 sets the API of the operation application (web application) acquired in step S4 in the device control unit 50. As a result, the device control unit 50 has an interface for running the operation application. In other words, it becomes possible to call the API for running the operation application from outside the device emulator 1.

[0038] Next, in step S7, the device control unit 50 receives a signal for controlling the selected IoT device, for example, from an external control driver. The device control unit 50 receives a control signal from the external control driver by the API set in step S6. In other words, the external control driver issues a control instruction to the device control unit 50 of the emulator (virtual IoT device). Here, the control driver is an entity that operates to verify the cooperation with the IoT device to be emulated. The control driver may be, for example, an external specific device (such as a television, for example), or may be a processing process that runs on the same computer as the device emulator 1 or on a different computer.

[0039] Next, in step S8, the device control unit 50 performs operation control on the device operation unit 40. Specifically, the device control unit 50 transmits information on the control content received from the external control driver in step S7 to the device operation unit 40. The operation application (web application) set in step S5 is running in the device operation unit 40. The operation application performs an operation based on the received information. Specifically, the device operation unit 40 performs an operation for presenting content and an operation related thereto as processing of the operation application.

[0040] Through the series of processes shown in Fig. 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 to 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 cooperation between an external control driver and an IoT device.

[0041] 3 is a schematic diagram showing an example of the configuration of device information registered by the registration unit 10 and stored (held) by the setting storage unit 20. As shown in the figure, the setting storage unit 20 is configured to store device information for each of a plurality of devices. The figure shows device information for a device identified by "0001." The device information includes a device setting file and an operating application (web application).

[0042] The device configuration file contains information about the properties, actions, and events of a device.

[0043] The device information in the device setting file includes an attribute name, an attribute value type, 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 secures a memory area to hold the attribute values ​​of the device and initializes the attribute values.

[0044] 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 starting the action in the device control unit 50.

[0045] The event information in the device setting file defines the occurrences 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. The 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.

[0046] 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 Figure 2, an external control driver can call the above action "toggle." One of the events of this device is "overheating." This event "overheating" occurs when the LED becomes overheated.

[0047] The operation application (web application) included in the device information is the code of an application program that simulates the operation of the device. The operation application is written in JavaScript, for example. In the device emulator 1, the device operation unit 40 executes the operation application.

[0048] As described above, according to this embodiment, the device emulator 1 can simulate the execution of the functions of a device, which makes it possible to easily verify the operation of the device.

[0049] [Second embodiment] Next, a second embodiment of the present invention will be described. Note that the matters already explained in the previous embodiment may not be explained below. Here, the matters unique to this embodiment will be mainly explained. 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.

[0050] 4 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 2 includes a registration unit 10, a setting storage unit 20, a device selection unit 30, a device operation unit 40, a device control unit 50, and an information transmission unit 60. In other words, the feature of this embodiment is that the device emulator 2 has the information transmission unit 60.

[0051] The information transmission unit 60 transmits information within the device emulator 2 to the outside. When a specific device is selected, the information transmission unit 60 transmits device information (device setting file) of the selected device to the outside. The information transmission unit 60 also transmits information on the operating status of the device passed from the device control unit 50 to the outside. In other words, when information in the device setting file is updated, the information transmission unit 60 transmits that information to the outside.

[0052] The information transmission unit 60 transmits to the outside information of the device setting file for a device selected from among the multiple devices (e.g., action information). The information transmission unit 60 may also transmit to the outside information of the attribute of the selected device or information of an event of the device as information of the device setting file for the selected device. When an attribute value of the device is updated by the device operation unit 40, the information transmission unit 60 may also transmit information of the updated attribute value to the outside. When a specific event related to the device occurs in the device operation unit 40, the information transmission unit 60 may also transmit information of the event to the outside.

[0053] The registration unit 10, setting storage unit 20, device selection unit 30, device operation unit 40, and device control unit 50 of this embodiment each have the same functions as those of the first embodiment. In addition, when a device is selected, the device selection unit 30 passes device information of the selected device to the information transmission unit 60 for transmission to the outside. Furthermore, when the device control unit 50 performs processing to control the device, it passes information on the operation status of the device (information on the state of the device operation unit 40) to the information transmission unit 60. In this way, the information transmission unit 60 acquires information to transmit to the outside.

[0054] In this embodiment, a control driver external to the device emulator 2 can obtain device information (such as possible actions and current state) and then control the virtual device simulated by the device emulator 2.

[0055] 5 is a sequence diagram showing the basic operation procedure of the device emulator according to this embodiment. The operation procedure of the device emulator 2 will be described below with reference to this diagram.

[0056] The processes in steps S11 to S16 in FIG. 5 are similar to the processes in steps S1 to S6 in FIG.

[0057] After step S16, in step S17, the device selection unit 30 notifies the information transmission unit 60 of the device information of the device selected in step S13. Note that this device information is the information read from the setting storage unit 20 in step S14.

[0058] Next, in step S18, the information transmission unit 60 transmits the device information passed in step S17 to the outside. The information transmission unit 60 transmits the device information to an external control driver of the device emulator 2, for example.

[0059] The processes of the next steps S19 and S20 are respectively similar to the processes of S7 and S8 in Fig. 2. That is, the device control unit 50 controls the operation of the device operation unit 40 based on instructions from a control driver external to the device emulator 2.

[0060] Next, in step S21, the device control unit 50 acquires the state of the device operation unit 40. In other words, the device control unit 50 obtains the property values ​​of the device that is the target of emulation.

[0061] Next, in step S22, the device control unit 50 passes to the information transmission unit 60 information on the device state in the device operation unit 40 grasped in step S21.

[0062] Next, in step S23, the information transmission unit 60 transmits the device information to the external control driver. The device information here is the information that the information transmission unit 60 received in step S22.

[0063] 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.

[0064] [Third embodiment] Next, a third embodiment of the present invention will be described. Note that the matters already explained in the previous embodiments may not be explained below. Here, the matters unique to this embodiment will be mainly explained. The features of this embodiment are that data in the TD (Thing Description) format is used as the device setting file, and the WoT protocol is used as the protocol for communication between the device emulator and the outside.

[0065] 6 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 3 includes a registration unit 10, a setting storage unit 20, a device selection unit 30, a device operation unit 40, a device control unit 50, and an information transmission unit 60. The registration unit 10, the setting storage unit 20, the device selection unit 30, the device operation unit 40, the device control unit 50, and the information transmission unit 60 each have the same functions as those in the second embodiment.

[0066] However, in this embodiment, the device setting file is data in the format of TD. That is, the registration unit 10 accepts registration of a device setting file by TD. Also, the setting storage unit 20 stores the device setting file by TD. Also, the device selection unit 30 reads the device setting file by TD from the setting storage unit 20 for the selected device and notifies the information transmission unit 60. Also, the device control unit 50 updates the description of the device setting file by TD based on the state of the device in the device operation unit 40, and passes it to the information transmission unit 60. Also, in this embodiment, a control instruction from an external control driver or the like to the device control unit 50 is performed using the WoT protocol. That is, the device control unit 50 receives a control signal from the outside by the web of things (WoT) protocol.

[0067] 7 is a sequence diagram showing the basic operation procedure of the device emulator according to this embodiment. The operation procedure of the device emulator 3 will be described below with reference to this diagram.

[0068] In step S31, the registration unit 10 accepts registration of device information, similarly to step S11 in Fig. 5. However, at this time, the device setting file is data in the TD format.

[0069] Next, in step S32, the registration unit 10 writes the device information into the setting storage unit 20, similarly to step S12 in Fig. 5. However, at this time, the device setting file is data in the TD format.

[0070] Next, in step S33, the device selection unit 30 receives an instruction to select a device, similarly to step S13 in FIG.

[0071] Next, in step S34, the device selection unit 30 reads out the device information from the setting storage unit 20, similar to step S14 in Fig. 5. However, at this time, the device setting file is data in the TD format.

[0072] Next, in step S35, the device selecting unit 30 sets the web application, similar to step S15 in Fig. 5. Furthermore, in step S36, the device selecting unit 30 sets the control API, similar to step S16 in Fig. 5.

[0073] Next, in step S37, the device selection unit 30 notifies the information transmission unit 60 of the device information, similar to step S17 in Fig. 5. However, at this time, the device setting file is data in the TD format.

[0074] Next, in step S38, the information transmission unit 60 transmits the device information to an external control driver etc., similarly to step S18 in Fig. 5. However, at this time, the device setting file is data in the TD format.

[0075] Next, in step S39, the device control unit 50 receives a control instruction from an external control driver, similar to step S19 in Fig. 5. However, the control instruction at this time is transmitted using the WoT protocol.

[0076] Next, in step S40, the device control unit 50 performs processing to control the operation of the device operation unit 40, similar to step S20 in Fig. 5. Also, in step S41, the device control unit 50 grasps the state of the device in the device operation unit 40, similar to step S21 in Fig. 5. That is, the device control unit 50 grasps the property value of the device.

[0077] Next, in step S42, the device control unit 50 passes the obtained device status information to the information transmission unit 60, similar to step S22 in Fig. 5. Specifically, the device control unit 50 passes the updated device setting file data to the information transmission unit 60. However, the device setting file that the device control unit 50 passes to the information transmission unit 60 at this time is data in TD format.

[0078] Next, in step S43, the information transmission unit 60 transmits the updated device information to an external control driver, similar to step S23 in Fig. 5. However, at this time, the device information that the device control unit 50 passes to the information transmission unit 60 is data in the TD format.

[0079] 8 and 9 are schematic diagrams showing an example of a device setting file in this embodiment. As described above, the device setting file is data in the TD format. Both Figs. 8 and 9 show one file. This file represents information on one device. In this example, the device is a smart speaker. For convenience, line numbers are shown in the data of the file. Fig. 8 shows lines 1 to 38 of this device setting file. Fig. 9 shows lines 39 to 81 of this device setting file. The contents of this file will be described below.

[0080] 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 (Figure 8) marks the beginning of this entire data set. The block from line 15 to line 26 is information about the attribute (property). In this example, the device has one type of attribute. The block from line 16 to line 25 is information about the attribute "power" (titled "Power Supply").

[0081] 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 line 38 are action "toggle" information. This action is for power control (switching the power on / off). The blocks from line 39 (FIG. 9) to line 49 are action "setVolume" information. This action is for volume control. The blocks from line 50 to line 59 are action "playAudio" information. This action is for music playback (audio playback). The blocks from line 60 to line 69 are action "launchNewsApp" information. This action is for launching a news app.

[0082] The block from lines 71 to 80 is event information. The device has one type of event. The block from lines 72 to 79 is event information for "weatherAlert." This event represents a weather alert. The closing brace on line 81 marks the end of all the data for this file.

[0083] [Fourth embodiment] Next, a fourth embodiment of the present invention will be described. Note that the matters already explained in the previous embodiments may not be explained below. Here, the matters unique to this embodiment will be mainly explained. This embodiment is a system configured using multiple device emulators and other devices.

[0084] 10 is a block diagram showing the configuration of a system according to this embodiment. As shown in the figure, a system 101 includes a smart TV 6 and device emulators 3A and 3B.

[0085] The device emulators 3A and 3B are each the device emulator described in the previous embodiments (for example, the device emulator 3 in the third embodiment). The device emulators 3A and 3B may run on a single piece of the same hardware, or may run on separate pieces of hardware.

[0086] The smart TV 6 is a device that receives a content signal from an external source and presents video content. The content may include expressions using other means in addition to video and audio. For example, the content may include expressions using light rays from an LED, effects caused by vibration or tilt, effects caused by spraying a substance, and other effects.

[0087] In the system 101 of this embodiment, the device emulator 3A simulates a smart speaker (device). Furthermore, the device emulator 3B simulates a haptic device. The smart TV 6 transmits a signal to the device emulator 3A to control the smart speaker. Furthermore, the smart TV 6 transmits a signal to the device emulator 3B to control the haptic device. For each of the device emulators 3A and 3B, the smart TV 6 functions as an external device (for example, a control driver in a sequence diagram such as FIG. 7).

[0088] The device emulator 3A, which simulates a smart speaker, recognizes the content being played by the smart TV 6 and plays that content or other related content using a WebView. The device emulator 3A also recognizes the voice spoken by the user and controls the smart TV 6 based on the recognition results. The device emulator 3A (smart speaker) controls, for example, the power on / off of the smart TV 6 and the volume of the smart TV 6.

[0089] The device emulator 3B (vibration device) simulates a vibration action linked to the content played on the smart TV 6 based on a control signal from the smart TV 6. The smart TV 6 outputs a signal for controlling the vibration device in accordance with the progress of the content. This makes it possible to verify a user experience that matches the content using the vibration device. If the hardware (e.g., a smartphone on which the device emulator 3A runs) has a native vibration function, the device emulator 3A may actually perform a vibration action. If the hardware does not have a vibration function, the device emulator 3A may only perform an action that simulates a vibration (e.g., only displaying on the screen that the device is vibrating).

[0090] As described above, in this embodiment, it is possible to verify the cooperative operation between a smart TV and an IoT device.

[0091] [Fifth embodiment] Next, a fifth embodiment of the present invention will be described. Note that the matters already explained in the previous embodiments may not be explained below. Here, the matters unique to this embodiment will be mainly explained. This embodiment is a system in which multiple device emulators communicate with each other.

[0092] 11 is a block diagram showing the configuration of a system according to this embodiment. As shown in the figure, a system 102 is configured to include device emulators 3C and 3D. The device emulators 3C and 3D are each the device emulators described in the first to third embodiments (for example, the device emulator 3 of the third embodiment). The device emulators 3C and 3D may run on a single piece of the same hardware, or may run on separate hardware.

[0093] In this embodiment, the device emulator 3C simulates a smart TV. The device emulator 3D simulates a smart LED. The device emulators 3C and 3D each perform an operation to simulate an IoT device to be emulated. The device setting file (TD format) of the device emulator 3C describes that the device itself is a smart TV and that the channel to be tuned can be selected. The device emulator 3D simulates a smart LED whose lighting color changes according to external control. The device emulators 3C and 3D each function as an external device (for example, a control driver in a sequence diagram such as FIG. 7) of the other device emulator.

[0094] When a channel selection operation is performed in the device emulator 3C (smart TV), the device emulator 3C updates the current channel information, which is one of the attributes of the device setting file (TD) of the smart TV. The device emulator 3C can transmit the updated attribute information (current channel) to the device emulator 3D (smart LED). An event can also occur in the device emulator 3C (smart TV). An event may indicate, for example, that the start time of a program that is scheduled to be viewed is approaching. The device emulator 3C can have a description of the behavior when the event occurs in the device setting file (TD) of the smart TV.

[0095] When the device emulator 3C selects a smart TV device, it transmits the setting file (TD) of the device to the device emulator 3D (smart LED). This allows the device emulator 3D (smart LED) to recognize that the device emulator 3C is operating as a smart TV. The device emulator 3D (smart LED) may emit a color (or simulate a color) according to the information of the current channel in the device setting file of the smart TV. When the current channel in the device setting file (TD) of the smart TV is updated, the device emulator 3D changes the color of the LED. In addition, when a specific event (for example, an event indicating that the time of a scheduled program is approaching) occurs on the device emulator 3C side, the information is transmitted to the device emulator 3D side. The device emulator 3D can perform a specific operation (for example, blinking an LED light (or simulating a blinking operation)) according to the content of the transmitted event.

[0096] As described above, in this embodiment, it is possible to verify the cooperative operation between emulators that simulate IoT devices.

[0097] FIG. 12 is a block diagram showing an example of the internal configuration of a device emulator (or hardware on which an emulator runs) in each of the above-mentioned embodiments. The device emulator can be realized using a computer. As shown in the figure, the computer includes a central processing unit 901, a RAM 902, an input / output port 903, input / output devices 904 and 905, and a bus 906. The computer itself can be realized using existing technology. The central processing unit 901 executes instructions included in a program read from the RAM 902 or the like. The central processing unit 901 writes data to the RAM 902, reads data from the RAM 902, and performs arithmetic and logical operations according to each instruction. The RAM 902 stores data and programs. Each element included in the RAM 902 has an address and can be accessed using the address. Note that RAM is an abbreviation for "random access memory." The input / output port 903 is a port through which the central processing unit 901 exchanges data with an external input / output device or the like. The input / output devices 904 and 905 are input / output devices. Input / output devices 904 and 905 exchange data with the central processing unit 901 via an input / output port 903. A bus 906 is a common communication path used inside the computer. For example, the central processing unit 901 reads and writes data from and to a RAM 902 via the bus 906. Also, for example, the central processing unit 901 accesses the input / output port via the bus 906.

[0098] 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 the functions 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 functions. The term "computer system" as used herein includes hardware such as an OS and peripheral devices. The term "computer-readable recording medium" refers to a portable medium such as a flexible disk, an optical magnetic disk, a ROM, a CD-ROM, a DVD-ROM, a USB memory, and a storage device such as a hard disk built into a computer system. In other words, the term "computer-readable recording medium" may be a non-transitory computer-readable recording medium. The term "computer-readable recording medium" may also 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 that case. The above-mentioned program may be a program for realizing some of the above-mentioned functions, and may further be a program that can realize the above-mentioned functions in combination with a program already recorded in the computer system.

[0099] Although multiple embodiments have been described above, the present invention can also be embodied in the following modified examples. In the description of each of the above embodiments, the device setting file has all of the device's property information, action information, and event information. As a modified example, the device setting file may have only one of the property information, action information, and event information. Also, as a modified example, the device setting file may have multiple (but not all) of the property information, action information, and event information.

[0100] Although several embodiments of the present invention have been described in detail above with reference to the drawings, the specific configurations are not limited to these embodiments, and designs that do not deviate from the gist of the present invention are also included. [Industrial Applicability]

[0101] The present invention can be used, for example, to verify the operation of an IoT device, etc. However, the scope of use of the present invention is not limited to the examples given here. [Explanation of symbols]

[0102] 1,2,3,3A,3B,3C,3D Device Emulator 6. Smart TV 10. Registration Department 20 Setting memory section 30 Device selection section 40 Device operation section 50 Device control section 60 Information Transmission Department 101,102 System 901 Central Processing Unit 902 RAM 903 Input / Output Ports 904,905 Input / Output Devices 906 Bus

Claims

1. 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 the action information 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 of 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.

2. A program for causing a computer to function as the system described in claim 1.

Citation Information

Patent Citations

  • Non-contact electronic tag application software development supporting device

    JP2005092286A

  • Emulation device, emulation method, program, and development support system of built-in apparatus

    JP2013210882A

  • Substitutional reality system control device, substitutional reality system, substitutional reality control method, program, and storage medium

    JP2014038523A

  • Network manager providing advanced interconnection capability

    US5889954A