Development support system, development support method, and program

The development support system improves application development flexibility by using a coordinator device with virtual bus and device communication across networks, supporting diverse peripheral devices beyond USB, and ensuring security without uploading user applications.

JP2026045770APending Publication Date: 2026-03-13MIRAXIA EDGE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Existing technologies restrict application development by requiring both the host computer and computing device to be connected to the same network and are limited to USB devices, making it difficult to flexibly develop applications using peripheral devices.

Method used

A development support system utilizing a coordinator device with a virtual bus and virtual device that relays communication between user terminals and peripheral devices via an Internet communication protocol, allowing devices to be connected across different networks and supporting a variety of communication paths.

Benefits of technology

Enhances the flexibility of application development by enabling cross-network communication and supporting devices beyond USB, including those using lower-level serial buses, while maintaining security by not requiring user applications to be uploaded to the coordinator device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026045770000001_ABST
    Figure 2026045770000001_ABST
Patent Text Reader

Abstract

We provide a development support system that can improve the flexibility of application development. [Solution] The development support system 1 comprises a device 20 having a peripheral device 22 and an agent application 21 that controls the peripheral device 22 according to device control commands, and a coordinator device 10 that relays communication between a user terminal 30 and the device 20. The coordinator device 10 and the device 20 are connected by a communication path that uses an Internet communication protocol. The coordinator device 10 has a virtual bus 11 that receives device control commands and a virtual device 12 that forwards the device control commands to the agent application 21.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a development support system that supports the development of applications using peripheral devices, etc.

Background Art

[0002] Patent Document 1 discloses a technology related to a program test service. Specifically, it is disclosed that a service provider network provides a service that allows a developer to remotely execute an arbitrary program on a computing device, and the program is transmitted from the developer to a host computer in a form included in a test request, and queuing of the test request is performed on the host computer.

[0003] Patent Document 2 discloses a technology related to a peripheral device server. Specifically, it is disclosed that two or more USB devices are connected to the peripheral device server, and the connection information control unit of the peripheral device server integrates the interface descriptors of the two or more USB devices and makes it appear to the client as if it were one device descriptor.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, in the technology disclosed in Patent Document 1, both the host computer that processes the test request and the computing device that runs the program under test must be connected to a service provider network and cannot belong to different networks. Furthermore, the program created by the user must be executed on a computing device within the service provider network.

[0006] Furthermore, the technology disclosed in Patent Document 2 relies on the functionality of USB and cannot be used with devices that use lower-level serial buses, etc.

[0007] Therefore, when developing applications using peripheral devices with the technologies disclosed in Patent Documents 1 and 2, it is difficult to flexibly carry out application development.

[0008] Therefore, this disclosure provides a development support system and the like that can improve the flexibility of application development. [Means for solving the problem]

[0009] The development support system relating to this disclosure is a development support system that supports the development of applications using peripheral devices, comprising one or more devices, each having the peripheral device and an agent application that controls the peripheral device according to device control commands, and a coordinator device that relays communication between one or more user terminals and the one or more devices, wherein the coordinator device and the one or more devices are connected by a communication path that uses an Internet communication protocol, and the coordinator device has a virtual bus that receives device control commands and a virtual device that forwards the device control commands to the agent application.

[0010] The development support method relating to this disclosure is a development support method executed by a development support system that supports the development of an application using a peripheral device, wherein the development support system comprises one or more devices having the peripheral device and an agent application, and a coordinator device having a virtual bus and a virtual device, the coordinator device and the one or more devices are connected by a communication path that communicates using an Internet communication protocol, and the development support method includes the steps of: the virtual bus receiving a device control command and forwarding the device control command to the virtual device; the virtual device forwarding the device control command to the agent application; and the agent application controlling the peripheral device in accordance with the device control command.

[0011] The program relating to this disclosure is a program for controlling a coordinator device provided in a development support system that assists in the development of applications using peripheral devices, wherein the development support system comprises one or more devices having the peripheral devices and an agent application, and the coordinator device having a virtual bus and a virtual device, the coordinator device and the one or more devices are connected by a communication path that communicates using an Internet communication protocol, and the program causes the virtual bus to receive a device control command, to transfer the device control command to the virtual device, and to transfer the device control command to the agent application.

[0012] These comprehensive or specific embodiments may be implemented as a system, method, integrated circuit, computer program, or recording medium such as a computer-readable CD-ROM, or as any combination of a system, method, integrated circuit, computer program, and recording medium. [Effects of the Invention]

[0013] According to a development support system and the like according to an aspect of the present disclosure, the flexibility of application development can be improved.

Brief Description of the Drawings

[0014] [Figure 1] It is a block diagram showing an example of a development support system according to Embodiment 1. [Figure 2] It is a flowchart showing an example of the operation of a development support system according to Embodiment 1. [Figure 3] It is a block diagram showing an example of a development support system according to Modification 1 of Embodiment 1. [Figure 4] It is a block diagram showing an example of a development support system according to Modification 2 of Embodiment 1. [Figure 5] It is a block diagram showing an example of a development support system according to Embodiment 2. [Figure 6] It is a block diagram showing an example of a development support system according to Embodiment 3. [Figure 7] It is a block diagram showing an example of a development support system according to Embodiment 4. [Figure 8] It is a block diagram showing an example of a development support system according to Embodiment 5.

Modes for Carrying Out the Invention

[0015] Hereinafter, embodiments will be specifically described with reference to the drawings.

[0016] Note that all of the embodiments described below show comprehensive or specific examples. The numerical values, shapes, materials, components, arrangement positions and connection forms of the components, steps, order of steps, etc. shown in the following embodiments are merely examples and are not intended to limit the present disclosure.

[0017] (Embodiment 1) Hereinafter, a development support system according to Embodiment 1 will be described.

[0018] FIG. 1 is a block diagram showing an example of a development support system 1 according to Embodiment 1. In FIG. 1, in addition to the development support system 1, a user terminal 30 is also shown. The user terminal 30 is a terminal of a user who uses the development support system 1. The user terminal 30 is a PC (Personal Computer), and for example, a user application 31 is installed. The user application 31 is an application for using the development support system 1.

[0019] The development support system 1 is a system that supports the development of applications that use peripheral devices. The peripheral device is, for example, an image sensor or a temperature sensor. The development support system 1 includes one or more devices 20 and a coordinator device 10. Note that the one or more devices 20 may be one device 20 or a plurality of devices 20.

[0020] Each of the one or more devices 20 has a peripheral device 22 and an agent application 21 that controls the peripheral device 22 according to a device control command. For example, the device 20 is a microcomputer. The agent application 21 is a software block, and the peripheral device 22 is a hardware block.

[0021] The coordinator device 10 relays communication between one or more user terminals 30 and one or more devices 20. The one or more user terminals 30 may be a single user terminal 30 or multiple user terminals 30. The coordinator device 10 includes a virtual bus 11 and a virtual device 12. The coordinator device 10 is a computer including a processor (microprocessor) and memory. The memory includes ROM (Read Only Memory) and RAM (Random Access Memory), and can store programs executed by the processor. The virtual bus 11 and virtual device 12 are implemented by the processor, etc., which executes programs stored in memory. The virtual bus 11 and virtual device 12 are software blocks.

[0022] The coordinator device 10 and one or more devices 20 are connected by a communication channel that uses an Internet communication protocol. An example of such an Internet communication protocol is TCP / IP (Transmission Control Protocol / Internet Protocol).

[0023] The virtual bus 11 receives device control commands. For example, the virtual bus 11 receives device control commands from one or more user terminals 30. Details of the operation of the virtual bus 11 will be described later.

[0024] The virtual device 12 forwards device control commands to the agent application 21. There is a one-to-one correspondence between the virtual device 12, the agent application 21, and the peripheral device 22. Details of the operation of the virtual device 12 will be described later.

[0025] For example, the communication protocol between one or more user terminals 30 and the coordinator device 10 is REST (Representational State Transfer) API (Application Programming Interface). Figure 1 shows an example where one device 20 is controlled by one user terminal 30, but through REST-based time sharing, one device 20 can be shared by multiple users.

[0026] Next, we will explain the operation of the development support system 1 in detail using Figure 2.

[0027] Figure 2 is a flowchart showing an example of the operation of the development support system 1 according to Embodiment 1. In Figure 2, the process performed by the virtual bus 11 is shown as step S10, the process performed by the virtual device 12 is shown as step S20, and the process performed by the agent application 21 is shown as step S30.

[0028] First, the virtual bus 11 receives a bus control instruction (step S11). A bus control instruction is created, for example, by a user. For example, a bus control instruction includes an instruction identifier indicating the type of instruction, a device identifier for identifying an individual peripheral device, and a device control instruction indicating the content of the control to the peripheral device. Since a bus control instruction includes a device control instruction, the virtual bus 11 receives the device control instruction contained in the bus control instruction when it receives the bus control instruction. For example, the virtual bus 11 receives a bus control instruction from a user application 31.

[0029] Next, the virtual bus 11 checks the instruction identifier included in the bus control instruction (step S12), and if the instruction identifier indicates a device control instruction, it selects the virtual device 12 to be controlled by the device identifier included in the bus control instruction (step S13). Since the virtual device 12, the agent application 21, and the peripheral device 22 are associated one-to-one, if the device identifier indicates the peripheral device 22, the virtual bus 11 selects the virtual device 12 associated with the peripheral device 22.

[0030] Next, the virtual bus 11 extracts a device control instruction from the bus control instruction and transfers the device control instruction to the virtual device 12 to be controlled (step S14).

[0031] The virtual device 12 receives a device control command from the virtual bus 11 (step S21) and forwards the device control command to the agent application 21 (step S22).

[0032] The agent application 21 receives a device control command from the virtual device 12 (step S31) and controls the peripheral device 22 according to the device control command (step S32).

[0033] The example described above involves the virtual bus 11 directly receiving device control commands (specifically, bus control commands) from the user application 31 (in other words, an example where the virtual bus 11 and the user application 31 communicate directly), but this is not the only example. Here, we will describe modified examples 1 and 2 in which the virtual bus 11 does not directly receive device control commands from the user application 31.

[0034] Figure 3 is a block diagram showing an example of the development support system 1 according to modification 1 of Embodiment 1. Figure 4 is a block diagram showing an example of the development support system 1 according to modification 2 of Embodiment 1. In addition to the development support system 1, a user terminal 30 is also shown in Figures 3 and 4.

[0035] For example, as shown in Figure 3, one or more user terminals 30 may each have an emulator 33, and the virtual bus 11 may receive device control commands from the emulator 33. In other words, the virtual bus 11 and the user application 31 may communicate via the emulator 33.

[0036] Furthermore, as shown in Figure 4, for example, one or more user terminals 30 may each have an OS (Operating System) 34 and a virtual bus 32 implemented by the OS 34. The virtual bus 32 is an example of a client virtual bus. The virtual bus 11 may receive device control commands from the virtual bus 32. In other words, the virtual bus 11 and the user application 31 may communicate via the virtual bus 32.

[0037] Thus, the virtual bus 11 may receive device control commands directly from the user application 31, or it may receive them from the user application 31 via the emulator 33 of the user terminal 30, or it may receive them from the user application 31 via the virtual bus 32 of the user terminal 30.

[0038] As explained above, the coordinator device 10, which receives and forwards device control commands via the virtual bus 11 and virtual device 12, relays communication between one or more user terminals 30 and one or more devices 20. This allows the coordinator device 10 and the one or more devices 20 to be separated into different networks, improving the flexibility of application development. For example, applications for one or more devices 20 can be developed via a web service while one or more devices 20 remain in the user's possession. Furthermore, there is no need to upload the user application 31 to the coordinator device 10, improving security.

[0039] (Embodiment 2) In the first embodiment, the development support system 1 describes an example in which the virtual bus 11 receives device control commands directly or indirectly from a user application 31 installed on a user terminal 30. In the second embodiment, an example in which the virtual bus 11 receives device control commands from a CI (Continuous Integration) / CD (Continuous Delivery) device is described.

[0040] Figure 5 is a block diagram showing an example of the development support system 2 according to Embodiment 2. In addition to the development support system 2, a user terminal 30 is also shown in Figure 5.

[0041] Development support system 2 differs from development support system 1 in embodiment 1 in that it includes a CI / CD device 40. Furthermore, in embodiment 2, the user terminal 30 does not have a user application 31. Other aspects are the same as in embodiment 1, so their explanation is omitted.

[0042] The CI / CD device 40 includes a user application 41 and a client virtual bus 42. The user terminal 30 controls the peripheral device 22 using the user application 41 of the CI / CD device 40. For example, the communication protocol between the CI / CD device 40 and the coordinator device 10 is a REST API. The virtual bus 11 receives device control commands from the CI / CD device 40. Specifically, the virtual bus 11 receives device control commands from the client virtual bus 42.

[0043] Thus, the user may utilize the peripheral device 22 via the CI / CD device 40 and the REST API.

[0044] (Embodiment 3) Embodiment 1 (Figure 1) described an example in which the development support system 1 comprises one device 20, but Embodiment 3 describes an example in which the development support system comprises multiple devices. The following description will focus on the differences from Embodiment 1.

[0045] Figure 6 is a block diagram showing an example of a development support system 3 according to Embodiment 3. In addition to the development support system 3, a user terminal 30 is also shown in Figure 6.

[0046] Development support system 3 is a system that supports the development of applications using peripheral devices. Development support system 3 comprises a plurality of devices, each having a peripheral device and an agent application that controls the peripheral device according to device control commands, and a coordinator device 10a that relays communication between one or more user terminals 30 and the plurality of devices. In Figure 6, devices 20a and 20b are shown as the plurality of devices. The user terminal 30 may have a plurality of client virtual buses, and in embodiment 3, the user terminal 30 has a user application 31 and client virtual buses 32a and 32b.

[0047] At least one of the devices 20a and 20b (for example, device 20a) has multiple sets of peripheral devices and agent applications. For example, device 20a has two sets of peripheral devices and agent applications. Specifically, device 20a has a peripheral device 22a and an agent application 21a that controls the peripheral device 22a according to device control commands, and a peripheral device 22b and an agent application 21b that controls the peripheral device 22b according to device control commands.

[0048] Device 20b has a peripheral device 22c and an agent application 21c that controls the peripheral device 22c according to device control commands. Device 20b also has a peripheral device 22d, but does not necessarily have an agent application that controls the peripheral device 22d.

[0049] For example, devices 20a and 20b are microcontrollers. Agent applications 21a, 21b, and 21c are software blocks, and peripheral devices 22a, 22b, 22c, and 22d are hardware blocks.

[0050] The coordinator device 10a comprises a virtual bus 11a, a server virtual bus 11b, and virtual devices 12a, 12b, and 12c. The coordinator device 10a is a computer including a processor (microprocessor) and memory. The virtual bus 11a, server virtual bus 11b, and virtual devices 12a, 12b, and 12c are implemented by a processor that executes programs stored in memory. The virtual bus 11a, server virtual bus 11b, and virtual devices 12a, 12b, and 12c are software blocks.

[0051] For example, the coordinator device 10a and devices 20a and 20b are connected by a communication channel that uses TCP / IP. In Embodiment 1, an example was described in which the communication protocol between one or more user terminals 30 and the coordinator device 10 is a REST API, but as shown in Figure 6, the communication protocol between one or more user terminals 30 and the coordinator device 10a may be TCP / IP.

[0052] There is a one-to-one correspondence between the client virtual bus 32a and virtual bus 11a, and between the client virtual bus 32b and server virtual bus 11b. Furthermore, there is a one-to-one correspondence between virtual bus 11a and virtual device 12a. Additionally, n or more virtual devices (where n is a non-negative integer) are associated with the server virtual bus 11b. In Figure 6, virtual devices 12b and 12c are associated with the server virtual bus 11b. There is a one-to-one-to-one correspondence between virtual device 12a, agent application 21a, and peripheral device 22a, a one-to-one-to-one correspondence between virtual device 12b, agent application 21b, and peripheral device 22b, and a one-to-one-to-one correspondence between virtual device 12c, agent application 21c, and peripheral device 22c.

[0053] For example, if the device to be controlled is peripheral device 22c, the server virtual bus 11b receives a bus control command from the client virtual bus 32b, selects virtual device 12c using the device identifier indicating peripheral device 22c, and forwards the device control command to virtual device 12c. Then, virtual device 12c forwards the device control command to agent application 21c, and agent application 21c controls peripheral device 22c according to the device control command.

[0054] Thus, a development support system may be equipped with multiple devices.

[0055] (Embodiment 4) For example, the development support system may further include a device that relays communication between the coordinator device and one or more other devices. This will be described as Embodiment 4.

[0056] Figure 7 is a block diagram showing an example of a development support system 4 according to Embodiment 4.

[0057] The development support system 4 differs from the development support system 3 according to Embodiment 3 in that it includes a sub-coordinator device 50. Other aspects are the same as those in Embodiment 3, and therefore will not be described further.

[0058] The sub-coordinator device 50 relays communication between the coordinator device 10a and one or more devices (devices 20a and 20b in Figure 7). The sub-coordinator device 50 relays communication between virtual devices and agent applications in combinations of m (where m is an integer greater than or equal to 1) pairs. For example, the sub-coordinator device 50 can be implemented as an independent server PC between a service and a physical device.

[0059] The sub-coordinator device 50 can perform protocol conversion for communication between the coordinator device 10a and devices 20a and 20b. Furthermore, security can be improved by providing the sub-coordinator device 50 with proxy or firewall functionality.

[0060] Thus, the development support system may include a device that relays communication between the coordinator device and one or more other devices.

[0061] (Embodiment 5) In the above embodiment, an example was described in which the coordinator device relays communication between one user terminal 30 and one or more devices. However, the coordinator device may also relay communication between multiple user terminals and one or more devices. This will be described as Embodiment 5.

[0062] Figure 8 is a block diagram showing an example of a development support system 5 according to Embodiment 5. In addition to the development support system 5, user terminals 30a and 30b are also shown in Figure 8.

[0063] User terminals 30a and 30b are terminals used by users of the development support system 5. User terminals 30a and 30b are PCs, with user application 31a installed on user terminal 30a and user application 31b installed on user terminal 30b. User applications 31a and 31b are applications for using the development support system 5.

[0064] The development support system 5 is a system that supports the development of applications using peripheral devices. The development support system 5 comprises one or more devices 20c and a coordinator device 10b. The one or more devices 20c may be a single device 20c or multiple devices 20c.

[0065] Each of the one or more devices 20c has a peripheral device and an agent application that controls the peripheral device according to device control commands. A device 20c has multiple sets of peripheral devices and agent applications. For example, a device 20c has two sets of peripheral devices and agent applications. Specifically, a device 20c has a peripheral device 22e and an agent application 21d that controls the peripheral device 22e according to device control commands, and a peripheral device 22f and an agent application 21e that controls the peripheral device 22f according to device control commands.

[0066] For example, device 20c is a microcontroller. Agent applications 21d and 21e are software blocks, and peripheral devices 22e and 22f are hardware blocks. Peripheral devices 22e and 22f are different peripheral devices on a single device (e.g., an LSI (Large Scale Integration) or a circuit board), such as different UARTs (Universal Asynchronous Receiver Transmitters).

[0067] The coordinator device 10b relays communication between user terminals 30a and 30b and one or more devices 20c. The coordinator device 10b includes virtual buses 11c and 11d and virtual devices 12d and 12e. The coordinator device 10b is a computer including a processor (microprocessor) and memory. The virtual buses 11c and 11d and virtual devices 12d and 12e are implemented by a processor that executes programs stored in memory. The virtual buses 11c and 11d and virtual devices 12d and 12e are software blocks.

[0068] For example, the coordinator device 10b and one or more devices 20c are connected by a communication channel that uses TCP / IP. Also, for example, the communication protocol between user terminals 30a and 30b and the coordinator device 10b is a REST API.

[0069] Each of the multiple sets of peripheral devices and agent applications in device 20c corresponds one-to-one with each of the multiple sets of virtual buses and virtual devices in coordinator device 10b. Specifically, the combination of agent application 21d and peripheral device 22e corresponds one-to-one with the combination of virtual bus 11c and virtual device 12d, and the combination of agent application 21e and peripheral device 22f corresponds one-to-one with the combination of virtual bus 11d and virtual device 12e.

[0070] For example, if the user terminal 30a is controlled by a peripheral device 22e, the virtual bus 11c receives a bus control command from the user application 31a, selects the virtual device 12d using the device identifier indicating the peripheral device 22e, and forwards the device control command to the virtual device 12d. The virtual device 12d then forwards the device control command to the agent application 21d, and the agent application 21d controls the peripheral device 22e according to the device control command.

[0071] For example, if the user terminal 30b is controlled by a peripheral device 22f, the virtual bus 11d receives a bus control command from the user application 31b, selects the virtual device 12e using the device identifier indicating the peripheral device 22f, and forwards the device control command to the virtual device 12e. The virtual device 12e then forwards the device control command to the agent application 21e, and the agent application 21e controls the peripheral device 22f according to the device control command.

[0072] Thus, by having multiple sets of virtual buses and virtual devices, the coordinator device 10b can relay communication between the peripheral devices 22e and 22f of a single device 20c and the user terminals 30a and 30b. Therefore, even if multiple users control the same device 20c, a single device 20c can be shared among multiple users.

[0073] (Other embodiments) As described above, embodiments have been explained as examples of the technology relating to this disclosure. However, the technology relating to this disclosure is not limited thereto and can be applied to embodiments that have been modified, replaced, added to, or omitted as appropriate. For example, the following modified examples are also included in one embodiment of this disclosure.

[0074] For example, the above embodiment describes an example where an agent application and a peripheral device are associated on a one-to-one basis, but this is not limited to this. For example, an agent application and a peripheral device may be associated on a one-to-N basis (where N is an integer greater than or equal to 2). In other words, an agent application may control multiple peripheral devices according to device control commands.

[0075] For example, this disclosure can be implemented not only as a development support system, but also as a development support method that includes the steps (processes) performed by the components that make up the development support system.

[0076] The development support method is a development support method executed by a development support system that supports the development of applications using peripheral devices, the development support system comprises one or more devices having peripheral devices and agent applications, and a coordinator device having a virtual bus and virtual devices, the coordinator device and one or more devices are connected by a communication path that uses an Internet communication protocol, and the development support method, as shown in Figure 2, includes the steps of: the virtual bus receiving a device control command and forwarding the device control command to a virtual device (step S10); the virtual device forwarding the device control command to an agent application (step S20); and the agent application controlling the peripheral device according to the device control command (step S30).

[0077] For example, this disclosure can be implemented as a program (algorithm) for controlling a coordinator device provided in a development support system.

[0078] The above program is a program for controlling a coordinator device provided in a development support system that assists in the development of applications using peripheral devices. The development support system comprises one or more devices having peripheral devices and agent applications, and a coordinator device having a virtual bus and virtual devices. The coordinator device and one or more devices are connected by a communication path that uses an Internet communication protocol. As shown in Figure 2, the program causes the virtual bus to receive a device control command, to forward the device control command to a virtual device (step S10), and to cause the virtual device to forward the device control command to an agent application (step S20).

[0079] Furthermore, this disclosure can be implemented as a non-temporary computer-readable recording medium, such as a CD-ROM on which the program is recorded.

[0080] For example, if this disclosure is implemented in a program (software), each step is executed by the program using hardware resources such as the computer's CPU, memory, and input / output circuits. In other words, each step is executed by the CPU obtaining data from memory or input / output circuits, performing calculations, and outputting the calculation results to memory or input / output circuits.

[0081] In the above embodiment, each component included in the development support system may be implemented by dedicated hardware or by executing a software program suitable for each component. Each component may also be implemented by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory.

[0082] Some or all of the functions of the development support system according to the above embodiment are typically implemented as an LSI (Large-Scale Integrated Circuit). These may be individually integrated into a single chip, or some or all of them may be integrated into a single chip. Furthermore, the implementation of integrated circuits is not limited to LSIs; it may also be implemented using dedicated circuits or general-purpose processors. An FPGA (Field Programmable Gate Array), which can be programmed after LSI manufacturing, or a reconfigurable processor that allows for the reconfiguration of the connections and settings of circuit cells inside the LSI may also be used.

[0083] Furthermore, if advances in semiconductor technology or other derived technologies lead to the emergence of integrated circuit technologies that replace LSIs, then naturally, those technologies may be used to integrate each component included in the development support system into an integrated circuit.

[0084] Furthermore, this disclosure also includes forms obtained by applying various modifications to the embodiments that a person skilled in the art could conceive, and forms realized by arbitrarily combining the components and functions of each embodiment without departing from the spirit of this disclosure.

[0085] (Note) Based on the above description of embodiments, the following technologies are disclosed.

[0086] (Technology 1) A development support system for supporting the development of applications using peripheral devices, comprising: one or more devices, each having the peripheral device and an agent application that controls the peripheral device according to device control commands; and a coordinator device that relays communication between one or more user terminals and the one or more devices, wherein the coordinator device and the one or more devices are connected by a communication path that uses an Internet communication protocol, and the coordinator device comprises a virtual bus that receives device control commands and a virtual device that forwards the device control commands to the agent application.

[0087] According to this, a coordinator device that receives and forwards device control commands via a virtual bus and virtual devices relays communication between one or more user terminals and one or more devices. This allows the coordinator device and the one or more devices to be separated into different networks, improving the flexibility of application development. Furthermore, it eliminates the need to upload user applications to the coordinator device, improving security.

[0088] (Technology 2) The development support system according to Technology 1, further comprising a sub-coordinator device that relays communication between the coordinator device and the one or more devices.

[0089] According to this, a sub-coordinator device can perform protocol conversion for communication between the coordinator device and one or more devices. Furthermore, security can be improved by giving the sub-coordinator device proxy or firewall functionality.

[0090] (Technology 3) The development support system according to Technology 1 or 2, wherein the communication protocol between the one or more user terminals and the coordinator device is a REST API.

[0091] According to this, REST-based time-sharing allows multiple users to share a single device.

[0092] (Technology 4) The development support system according to any one of Technologies 1 to 3, wherein each of the one or more user terminals has an emulator, and the virtual bus receives the device control commands from the emulator.

[0093] Thus, the coordinator device may be operated via an emulator to the user terminal.

[0094] (Technical 5) The development support system according to any one of Technical 1 to 3, wherein each of the one or more user terminals has an OS and a client virtual bus implemented by the OS, and the virtual bus receives the device control commands from the client virtual bus.

[0095] Thus, the coordinator device may be operated by the user terminal via the client virtual bus.

[0096] (Technology 6) The development support system according to any one of Technologies 1 to 3, further comprising a CI / CD device, wherein the virtual bus receives the device control commands from the CI / CD device.

[0097] Thus, the coordinator device may be operated from the user terminal via the CI / CD device.

[0098] (Technology 7) A development support system according to any one of Technologies 1 to 6, wherein at least one of the one or more devices has multiple sets of the peripheral device and the agent application.

[0099] According to this, it is possible to relay communication between multiple peripheral devices on a single device and one or more user terminals.

[0100] (Technical 8) The development support system according to Technical 7, wherein the coordinator device has multiple sets of the virtual bus and the virtual device, and each of the multiple sets of the peripheral device and the agent application corresponds one-to-one with each of the multiple sets of the virtual bus and the virtual device.

[0101] According to this, the coordinator device can relay communication between multiple peripheral devices and multiple user terminals by having multiple sets of virtual buses and virtual devices.

[0102] (Technical 9) A development support method performed by a development support system that supports the development of an application using a peripheral device, wherein the development support system comprises one or more devices having the peripheral device and an agent application, and a coordinator device having a virtual bus and a virtual device, the coordinator device and the one or more devices are connected by a communication path that communicates using an Internet communication protocol, and the development support method includes the steps of: the virtual bus receiving a device control command and forwarding the device control command to the virtual device; the virtual device forwarding the device control command to the agent application; and the agent application controlling the peripheral device in accordance with the device control command.

[0103] This suggests that development support methods can be provided that can improve the flexibility of application development.

[0104] (Technical 10) A program for controlling a coordinator device provided in a development support system that assists in the development of applications using peripheral devices, wherein the development support system comprises one or more devices having the peripheral devices and an agent application, and the coordinator device having a virtual bus and a virtual device, the coordinator device and the one or more devices are connected by a communication path that communicates using an Internet communication protocol, and the program causes the virtual bus to receive a device control command, to transfer the device control command to the virtual device, and to transfer the device control command to the agent application.

[0105] According to this, we can provide a program that can improve the flexibility of application development. [Industrial applicability]

[0106] This disclosure can be applied to systems that support the development of applications using peripheral devices, etc. [Explanation of symbols]

[0107] 1, 2, 3, 4, 5 Development support systems 10, 10a, 10b Coordinator device 11, 11a, 11c, 11d, 32 virtual bus 11b Server Virtual Bus 12, 12a, 12b, 12c, 12d, 12e virtual devices 20, 20a, 20b, 20c equipment 21, 21a, 21b, 21c, 21d, 21e Agent applications 22, 22a, 22b, 22c, 22d, 22e, 22f Peripheral devices 30, 30a, 30b User terminals 31, 31a, 31b, 41 User Applications 32a, 32b, 42 Client Virtual Bus 33 Emulators 34 OS 40 CI / CD equipment 50 Sub-coordinator device

Claims

1. A development support system that assists in the development of applications using peripheral devices, Each comprises one or more devices having the peripheral device and an agent application that controls the peripheral device according to device control commands, The system includes a coordinator device that relays communication between one or more user terminals and the one or more devices, The coordinator device and the one or more devices are connected by a communication path that uses an Internet communication protocol. The aforementioned coordinator device is A virtual bus that receives device control commands, A virtual device that transfers the device control command to the agent application, Development support system.

2. Furthermore, the system includes a sub-coordinator device that relays communication between the coordinator device and the one or more devices. The development support system according to claim 1.

3. The communication protocol between the one or more user terminals and the coordinator device is REST (Representational State Transfer) API (Application Programming Interface). The development support system according to claim 1.

4. Each of the one or more user terminals has an emulator, The virtual bus receives the device control command from the emulator. The development support system according to claim 1.

5. Each of the one or more user terminals has an OS (Operating System) and a client virtual bus implemented by the OS. The virtual bus receives the device control command from the client virtual bus. The development support system according to claim 1.

6. Furthermore, it is equipped with a CI (Continuous Integration) / CD (Continuous Delivery) device. The virtual bus receives the device control commands from the CI / CD device. The development support system according to claim 1.

7. At least one of the one or more devices has multiple sets of the peripheral device and the agent application. A development support system according to any one of claims 1 to 6.

8. The coordinator device has multiple sets of the virtual bus and the virtual device, Each of the multiple sets of peripheral devices and agent applications corresponds one-to-one with each of the multiple sets of virtual buses and virtual devices. The development support system according to claim 7.

9. A development support method performed by a development support system that assists in the development of applications using peripheral devices, The development support system comprises one or more devices having the peripheral device and agent application, A coordinator device having a virtual bus and virtual devices, The coordinator device and the one or more devices are connected by a communication path that uses an Internet communication protocol. The aforementioned development support method is The virtual bus receives a device control command and forwards the device control command to the virtual device. The virtual device transfers the device control command to the agent application, The agent application includes the step of controlling the peripheral device in accordance with the device control command, Development support methods.

10. A program for controlling a coordinator device in a development support system that assists in the development of applications using peripheral devices, The development support system comprises one or more devices having the peripheral device and agent application, The coordinator device comprises a virtual bus and virtual devices, The coordinator device and the one or more devices are connected by a communication path that uses an Internet communication protocol. The aforementioned program, The virtual bus receives a device control command and forwards the device control command to the virtual device. The virtual device is instructed to forward the device control command to the agent application. program.

Citation Information

Patent Citations

  • Water treatment apparatus

    JP1987083096A

  • Peripheral equipment server

    JP2015194826A