Control device and control method
The control device pre-starts emulators to reduce user waiting times and optimize resource use by maintaining only necessary emulators in standby mode, addressing emulator startup delays and resource waste.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-07-06
- Publication Date
- 2026-03-04
AI Technical Summary
Users face waiting times when starting emulators for application testing due to emulator startup times, and keeping all emulators running wastes server resources when not in use.
A control device that pre-starts emulators based on user designations, allowing immediate availability and reducing resource waste by activating only a minimum number of emulators in standby mode.
Reduces user waiting time and minimizes resource consumption by ensuring emulators are ready for immediate use while optimizing server resource utilization.
Smart Images

Figure 0007824023000001 
Figure 0007824023000002 
Figure 0007824023000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to emulator control technology. [Background technology]
[0002] An emulator is software that mimics the behavior of information processing devices (computers) such as smartphones and tablets. Emulators are also sometimes called virtual devices.
[0003] A user can test the operation of an application program under development by having the emulator execute the application program to be executed by an information processing device. Hereinafter, the application program may be referred to simply as an application.
[0004] Regarding emulators, a program testing service is known that enables testing of the operation of programs on a wide variety of physical computing devices and / or device emulators (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Patent No. 6283096 Summary of the Invention [Problem to be solved by the invention]
[0006] When testing the operation of an application using an emulator, the user must first start the emulator. The emulator requires a certain startup time before it can run the application in the same way as the actual information processing device. Therefore, after selecting the emulator to run the application, the user must wait for the startup time to elapse.
[0007] One solution to this problem would be to start all available emulators provided as a service in advance. However, keeping the emulators running naturally requires the use of server resources, and keeping all emulators running when no users are using them is a waste of resources.
[0008] In one aspect, the present invention aims to reduce the waiting time of a user using an emulator without wasting resources significantly. [Means for solving the problem]
[0009] According to one embodiment, a control device that controls a user to use an emulator designated by the user includes a reception unit and a control unit. The reception unit receives a designation of a first emulator. The control unit starts the first emulator before the designation is received, and when the designation is received, the control unit controls the first emulator to be available to the user and starts a second emulator of the same type as the first emulator. [Effects of the Invention]
[0010] In one aspect, the waiting time of a user using an emulator can be reduced. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 2 is a functional configuration diagram of a control device according to the embodiment. [Figure 2] 10 is a flowchart of an emulator control process. [Figure 3] FIG. 1 is a configuration diagram of a test service system. [Figure 4] FIG. 2 is a functional configuration diagram of a management server. [Figure 5] FIG. 10 is a diagram showing emulator management information. [Figure 6] FIG. 2 is a diagram illustrating state transitions of an emulator. [Figure 7]FIG. 10 is a diagram showing a sequence of an emulator control process. [Figure 8] FIG. 2 is a hardware configuration diagram of an information processing device. DETAILED DESCRIPTION OF THE INVENTION
[0012] Hereinafter, embodiments will be described in detail with reference to the drawings.
[0013] 1 shows an example of the functional configuration of a control device according to an embodiment. The control device 101 in FIG. 1 includes a reception unit 111 and a control unit 112, and controls the emulator designated by the user so that it can be used.
[0014] Fig. 2 is a flowchart showing an example of emulator control processing performed by the control device 101 of Fig. 1. First, the control unit 112 starts up the first emulator (S201).
[0015] Next, the receiving unit 111 receives the designation of the first emulator (S202). When the designation is received, the control unit 112 controls the first emulator so that it can be used by the user, and also starts up a second emulator of the same type as the first emulator (S203).
[0016] The control device 101 in FIG. 1 can reduce the waiting time of a user who uses an emulator.
[0017] Fig. 3 shows an example of the configuration of a test service system including the control device 101 of Fig. 1. The test service system of Fig. 3 includes a terminal device 301, terminal devices 302-1 to 302-N (N is an integer of 2 or more), a service server 303, a management server 304, and an emulator server 305. The management server 304 corresponds to the control device 101 of Fig. 1.
[0018] The service server 303, management server 304, and emulator server 305 communicate with each other via a communication network 306. The communication network 306 is, for example, a wide area network (WAN) or a local area network (LAN).
[0019] Terminal device 301 is an information processing device of the administrator. The administrator inputs control information for the test service into terminal device 301, and terminal device 301 transmits the input control information to service server 303. Emulator 311, which operates within emulator server 305, is a processing unit that imitates the operations of various information processing devices. Emulator 311 may be a process. The control information includes the type of each of multiple information processing devices that are targets of emulator 311 imitation, and the number of emulators 311 in stock that imitate each information processing device.
[0020] The information processing device to be imitated is a smartphone, a tablet, a notebook PC (Personal Computer), an in-vehicle device, a server, etc. The type of the information processing device to be imitated may be the model name of the information processing device, or may include the model name and the name of the OS (Operating System) installed in the information processing device.
[0021] The stock number of emulators 311 indicates the number of standby emulators 311 that have been started in advance in the emulator server 305. The standby emulators 311 can immediately execute an application as specified. The stock number is, for example, an integer equal to or greater than 1.
[0022] Terminal device 302-i (i = 1 to N) is an information processing device of user Ui. When user Ui performs an operation test of an application of a desired information processing device, user Ui accesses service server 303 via a web browser running in terminal device 302-i.
[0023] First, the user Ui inputs a specification requesting the use of the emulator 311 corresponding to the type of desired information processing device into the terminal device 302-i, and the terminal device 302-i transmits the input specification to the service server 303. The specification includes the user ID of the user Ui and the type of information processing device on which the application is to be executed. The user ID is identification information of the user Ui. The specification requesting the use of the emulator 311 corresponding to the type of desired information processing device is an example of a specification of a first emulator.
[0024] The service server 303 transmits to the management server 304 the control information received from the terminal device 301 and the designation received from the terminal device 302-i.
[0025] Before receiving the designation from the service server 303, the management server 304 starts the emulators 311 to be used by the user Ui in the emulator server 305. Based on the control information received from the service server 303, the management server 304 starts the emulators 311 for each type of information processing device, in the number indicated by the inventory quantity.
[0026] The management server 304 transmits, for example, startup information including an emulator program to the emulator server 305. The emulator server 305 executes the emulator program included in the received startup information to start the emulator 311. The started emulator 311 waits until it receives operation information from the service server 303.
[0027] For example, when the emulator 311 is implemented using a container-based virtualization technology, an emulator Docker image is used as the emulator program. The emulator Docker image is a binary file of a Docker container that includes the emulator 311 application.
[0028] In this case, the management server 304 obtains an emulator Docker image from an Elastic Container Registry (ECR) (not shown) or the like, and transmits startup information including the emulator Docker image to the emulator server 305. The emulator server 305 starts the Docker container by executing the emulator Docker image, and starts the emulator 311 by executing the application in the Docker container.
[0029] When the management server 304 receives a designation from the service server 303, it transmits the emulator ID of the emulator 311 on standby that corresponds to the type included in the designation to the service server 303. The emulator ID is identification information of the emulator 311.
[0030] The service server 303 transmits display information for displaying the operation screen of the emulator 311 identified by the emulator ID received from the management server 304 to the terminal device 302-i. The web browser displays the operation screen based on the received display information. This allows the user Ui to use the emulator 311 that has been started up in advance.
[0031] The user Ui inputs operation information for an operation to perform an operation test of an application via the operation screen, and the terminal device 302-i transmits the input operation information to the emulator server 305 via the service server 303. The operation to perform the operation test includes an operation to install the application to be tested in the emulator 311. The operation information may include parameters for the operation test.
[0032] The emulator 311 in the emulator server 305 executes the application in accordance with the received operation information, and transmits the execution results of the application to the terminal device 302-i via the service server 303. The web browser displays the received execution results.
[0033] Fig. 4 shows an example of the functional configuration of the management server 304 in Fig. 3. The management server 304 in Fig. 4 includes a communication unit 411, a reception unit 412, a control unit 413, and a storage unit 414. The reception unit 412 and the control unit 413 correspond to the reception unit 111 and the control unit 112 in Fig. 1, respectively. The storage unit 414 stores emulator management information 421.
[0034] Fig. 5 shows an example of the emulator management information 421. Each entry of the emulator management information 421 in Fig. 5 includes the emulator ID, type, state, and user ID of the started emulator 311.
[0035] The type indicates the type of information processing device that the emulator 311 emulates, and the state indicates the state of the emulator 311. The state of the emulator 311 is, for example, running, waiting, or in use. The user ID is the user ID of the user Ui who is using the emulator 311, and is registered when the state of the emulator 311 indicates that it is in use. Running and in use are examples of states other than waiting.
[0036] The communication unit 411 communicates with the service server 303 and the emulator server 305 via the communication network 306. The communication unit 411 receives control information from the service server 303.
[0037] The control unit 413 generates startup information based on the received control information and transmits it to the emulator server 305 via the communication unit 411. The startup information includes the type of each information processing device, the number of emulators 311 in stock that imitate the operation of each information processing device, the emulator program, and the emulator ID. By transmitting the startup information to the emulator server 305, the number of emulators 311 indicated by the number in stock is started for each type of information processing device.
[0038] At this time, the control unit 413 generates an entry in the emulator management information 421 for each emulator 311, and registers the emulator ID, type, and status indicating "started." Then, when the startup of the emulator 311 is completed, the control unit 413 changes the status included in the entry for that emulator 311 from "started" to "standby."
[0039] The control unit 413 transmits the status of each emulator 311 to the service server 303 via the communication unit 411. The service server 303 transmits the status of each emulator 311 received from the management server 304 to the terminal device 302-i.
[0040] The terminal device 302-i displays an emulator selection screen for selecting an emulator 311 for each type of information processing device, according to the status of each emulator 311 received from the service server 303. On the emulator selection screen, the terminal device 302-i distinguishes whether each emulator 311 is running, on standby, or in use, and displays a selection item indicating the emulator 311.
[0041] For example, a selection item indicating an emulator 311 that is running or in use may include the type of the corresponding information processing device and information indicating that the emulator 311 is running or in use, and a selection item indicating an emulator 311 that is on standby may include only the type of the corresponding information processing device. The information indicating that the emulator 311 is running or in use may be an image, video, or text.
[0042] As another example, a selection item indicating an emulator 311 that is running or on standby may include the type of the corresponding information processing device and information indicating whether the emulator is running or on standby, and a selection item indicating an emulator 311 that is in use may include only the type of the corresponding information processing device. The information indicating whether the emulator is running or on standby may be an image, video, or text.
[0043] The user Ui selects an emulator 311 that is on standby or running while viewing the displayed selection items, thereby inputting a designation for that emulator 311 into the terminal device 302-i.
[0044] The communication unit 411 receives a designation from the service server 303, and the acceptance unit 412 accepts the received designation. The control unit 413 transmits the emulator ID of the emulator 311 on standby that corresponds to the type included in the accepted designation to the service server 303 via the communication unit 411. The control unit 413 then changes the status included in the entry of the emulator management information 421 that corresponds to that emulator ID from standby to in use, and registers the user ID included in the designation in that entry.
[0045] The process of transmitting the emulator ID of the standby emulator 311 to the service server 303 is an example of a process of controlling the first emulator so that it can be used by a user. The changed entry is an example of first management information. The emulator ID of the changed entry is an example of identification information of the first emulator, and the state of the changed entry is an example of first state information indicating the state of the first emulator.
[0046] The service server 303 transmits to the terminal device 302-i display information for displaying the operation screen of the emulator 311 identified by the emulator ID received from the management server 304. The web browser displays the operation screen based on the received display information, and the user Ui uses the emulator 311 to perform an operation test of the application.
[0047] When the user Ui uses an emulator 311, the number of standby emulators 311 of the same type decreases by one, making the number less than the number in stock. Therefore, the control unit 413 generates startup information for increasing the stock and transmits it to the emulator server 305 via the communication unit 411. The startup information for increasing the stock includes the type included in the accepted specification, and the emulator program and emulator ID of the emulator 311 corresponding to that type.
[0048] At this time, the control unit 413 adds a new entry to the emulator management information 421 and registers the emulator ID, type, and status indicating that the emulator is running. The added entry is an example of second management information. The emulator ID of the added entry is an example of identification information of the second emulator, and the status of the added entry is an example of second status information indicating the status of the second emulator.
[0049] The emulator server 305 executes the emulator program included in the received startup information to start the emulator 311. As a result, a new emulator 311 of the same type as the emulator 311 that the user Ui started using is started, and waits for the next specification from the user Ui. When the startup of the emulator 311 is complete, the control unit 413 changes the status included in the entry for that emulator 311 from running to waiting.
[0050] When the user Ui finishes using the emulator 311, the terminal device 302-i transmits the emulator ID to the service server 303. The service server 303 transmits the emulator ID received from the terminal device 302-i to the management server 304.
[0051] The control unit 413 sends a discard instruction including the received emulator ID to the emulator server 305, and deletes the entry corresponding to that emulator ID from the emulator management information 421. The emulator server 305 stops the emulator 311 indicated by the emulator ID included in the received discard instruction, and deletes that emulator 311. This releases the computing resources of the emulator server 305 that were occupied by the emulator 311 that is no longer in use.
[0052] 6 shows an example of state transition of the emulator 311. Emulators 601 to 603 correspond to emulators 311 that imitate the operation of information processing devices of type P. The stock quantity of this emulator 311 is set to one.
[0053] First, at time T1, the emulator 601 is started and the status of the emulator 601 becomes standby. Next, at time T2, the user U1 uses the emulator 601 and starts an additional emulator 602. As a result, the status of the emulator 601 changes to in use, and the status of the emulator 602 becomes running.
[0054] Next, at time T3, user U2 uses emulator 602 and starts up additional emulator 603. This changes the status of emulator 602 to in use, and the status of emulator 603 to running.
[0055] Next, at time T4, user U1 finishes using emulator 601, and the startup of emulator 603 is completed. As a result, emulator 601 is deleted, and the status of emulator 603 is changed to standby. Next, at time T5, user U2 finishes using emulator 602, and emulator 602 is deleted.
[0056] 3, before a user Ui starts using an emulator 311 corresponding to a desired information processing device, the emulator 311 is activated and in standby mode. This allows the user Ui to immediately use the standby emulator 311 when the user Ui inputs a designation, thereby reducing the waiting time of the user Ui.
[0057] In the emulator server 305, only a minimum number of emulators 311 are activated for each type of information processing device, including emulators 311 in use and standby emulators 311 corresponding to inventory. Therefore, the amount of computing resources used by the emulator server 305 is reduced compared to when the maximum number of emulators 311 that can be provided is activated in advance in anticipation of use by a large number of users Ui. This makes it possible to prevent waste of computing resources in the emulator server 305.
[0058] FIG. 7 shows an example of a sequence of emulator control processing in the test service system of FIG.
[0059] First, the management server 304 receives control information from the service server 303 (S701), generates startup information based on the control information, and transmits it to the emulator server 305 (S702). Then, the emulator server 305 starts up the emulators 311, the number of which is indicated by the inventory quantity, for each type of information processing device.
[0060] When the user Ui starts using the emulator 311, the management server 304 receives a specification from the service server 303 (S703). Then, the management server 304 transmits the emulator ID of the emulator 311 corresponding to the type included in the specification to the service server 303 (S704), and transmits the status of the emulator 311 to the service server 303 (S705).
[0061] If the status received from the management server 304 is standby, the service server 303 transmits display information for displaying the operation screen of the emulator 311 identified by the received emulator ID to the terminal device 302-i. Then, the terminal device 302-i displays the operation screen based on the received display information.
[0062] If the status received from the management server 304 is "started," the service server 303 transmits information indicating that the emulator 311 indicated by the received emulator ID is running to the terminal device 302-i. Then, the terminal device 302-i displays the received information.
[0063] Next, the management server 304 generates startup information for adding inventory and transmits it to the emulator server 305 (S706).Then, the emulator server 305 starts up the additional emulator 311.
[0064] When the user Ui inputs operation information via the operation screen, the service server 303 transmits the operation information to the emulator server 305 (S707). The emulator 311 in the emulator server 305 executes the application according to the received operation information and transmits the execution result to the service server 303 (S708). The service server 303 transmits the received execution result to the terminal device 302-i, and the terminal device 302-i displays the execution result.
[0065] When the user Ui has finished using the emulator 311, the management server 304 receives the emulator ID of the emulator 311 from the service server 303 (S709). Then, the management server 304 transmits a discard instruction including the received emulator ID to the emulator server 305 (S710). The emulator server 305 stops the emulator 311 indicated by the emulator ID included in the received discard instruction, and deletes the emulator 311.
[0066] In the test service system of Figure 3, user Ui uses emulator 311 to perform operation tests of an application, but similar emulator control processing can also be applied when user Ui uses other programs.
[0067] The other programs may be various applications provided as cloud services, including artificial intelligence, machine learning, scientific computing, video streaming, games, and the like.
[0068] The configuration of the control device 101 in FIG. 1 is merely an example, and some of the components may be omitted or changed depending on the application or conditions of the control device 101.
[0069] 3 is merely an example, and some components may be omitted or modified depending on the application or conditions of the test service system. For example, the test service system may include multiple emulator servers 305. The emulator 311 may also operate within the management server 304. In this case, the emulator server 305 may be omitted.
[0070] The configuration of the management server 304 in FIG. 4 is merely an example, and some of the components may be omitted or changed depending on the configuration or conditions of the test service system.
[0071] The flowchart shown in FIG. 2 is merely an example, and some of the processing may be omitted or changed depending on the configuration or conditions of the control device 101.
[0072] The emulator management information 421 shown in FIG. 5 is merely an example, and some of the information may be omitted or changed depending on the configuration or conditions of the test service system.
[0073] The state transition of emulator 311 shown in Figure 6 is just one example, and the state transition of emulator 311 changes depending on the number of emulators 311 in stock, the timing when user Ui starts using emulator 311, the timing when user Ui stops using emulator 311, etc.
[0074] The sequence of the emulator control process shown in FIG. 7 is merely an example, and the sequence of the emulator control process varies depending on the configuration or conditions of the test service system.
[0075] Fig. 8 shows an example of the hardware configuration of an information processing device used as the control device 101 in Fig. 1 and the management server 304 in Fig. 4. The information processing device in Fig. 8 includes a CPU (Central Processing Unit) 801, a memory 802, an input device 803, an output device 804, an auxiliary storage device 805, a media drive device 806, and a network connection device 807. These components are hardware and are connected to each other via a bus 808.
[0076] The memory 802 is, for example, a semiconductor memory such as a read-only memory (ROM) or a random access memory (RAM), and stores programs and data used in processing. The memory 802 may operate as the storage unit 414 in FIG.
[0077] 1 by executing a program using the memory 802. The CPU 801 (processor) also operates as the reception unit 111 and the control unit 112 in FIG. 4 by executing a program using the memory 802.
[0078] The input device 803 is, for example, a keyboard, a pointing device, etc., and is used for inputting instructions or information from an operator. The output device 804 is, for example, a display device, a printer, a speaker, etc., and is used for sending inquiries or instructions to an operator and outputting processing results.
[0079] The auxiliary storage device 805 is, for example, a magnetic disk device, an optical disk device, a magneto-optical disk device, a tape device, etc. The auxiliary storage device 805 may be a hard disk drive or a solid state drive (SSD). The information processing device can store programs and data in the auxiliary storage device 805 and load them into the memory 802 for use. The auxiliary storage device 805 may operate as the storage unit 414 in FIG. 4.
[0080] The medium drive device 806 drives a portable recording medium 809 and accesses the recorded contents thereof. The portable recording medium 809 is a memory device, a flexible disk, an optical disk, a magneto-optical disk, etc. The portable recording medium 809 may be a CD-ROM (Compact Disk Read Only Memory), a DVD (Digital Versatile Disk), a USB (Universal Serial Bus) memory, etc. An operator can store programs and data in the portable recording medium 809 and load them into the memory 802 for use.
[0081] In this way, the computer-readable recording medium that stores the program and data used in the processing is a physical (non-transitory) recording medium such as the memory 802, the auxiliary storage device 805, or the portable recording medium 809.
[0082] The network connection device 807 is a communication interface circuit that is connected to the communication network 306 and performs data conversion associated with communication. The information processing device receives programs and data from an external device via the network connection device 807 and can load them into the memory 802 for use. The network connection device 807 may operate as the communication unit 411 in FIG. 4.
[0083] As the terminal device 301, the terminal devices 302-1 to 302-N, the service server 303, and the emulator server 305 in FIG. 3, information processing devices similar to those in FIG. 8 can be used.
[0084] 8, some components may be omitted depending on the application or conditions. For example, if an interface with an operator is not required, the input device 803 and the output device 804 may be omitted. If the portable recording medium 809 is not used, the medium drive device 806 may be omitted.
[0085] Although the disclosed embodiments and their advantages have been described in detail, those skilled in the art may make various modifications, additions, and omissions without departing from the scope of the invention as clearly set forth in the claims. [Explanation of symbols]
[0086] 101 Control device 111, 412 Reception 112, 413 Control section 301, 302-1 to 302-N terminal equipment 303 Service Server 304 Management Server 305 emulator server 306 Communication Network 311, 601~603 emulator 411 Communications Department 414 Storage section 421 Emulator Management Information 801 CPU 802 memory 803 Input Device 804 Output Device 805 Auxiliary storage 806 Media drive unit 807 Network Connection Device 808 Bus 809 Portable recording media
Claims
1. A control device that controls an emulator designated by a user to be available, a reception unit that receives a designation of a first emulator; a control unit that starts the first emulator before the designation is accepted, and when the designation is accepted, controls the first emulator so that it can be used by the user, and starts a second emulator of the same type as the first emulator; A control device comprising:
2. a storage unit configured to store first management information including identification information of the first emulator and first status information indicating a status of the first emulator; When the control unit receives the designation, the control unit changes the state of the first emulator indicated by the first state information to "in use" and stores second management information in the storage unit; 2. The control device according to claim 1, wherein the second management information includes identification information of the second emulator and second status information indicating a status of the second emulator.
3. the first management information is generated when use of the first emulator is started, the first state information indicates that the first emulator is in a standby state or a state other than a standby state; The control device described in claim 2, characterized in that the user's terminal device, based on the first status information output from the control device, displays a selection item indicating the first emulator on a selection screen for selecting the first emulator, distinguishing whether the first emulator is in the waiting state or in a state other than the waiting state.
4. 4. The control device according to claim 3, wherein the control unit deletes the first emulator and the first management information when the user has finished using the first emulator.
5. A control method for controlling a user to use an emulator designated by the user, comprising: launching the first emulator before the designation of the first emulator is accepted; Accepting a designation of the first emulator; When the designation is accepted, the first emulator is controlled so that it can be used by the user, and a second emulator of the same type as the first emulator is started. A control method characterized in that processing is executed by a computer.
Citation Information
Patent Citations
Water treatment apparatus
JP1987083096A
Image forming device
JP1994035635A
Virtual computer system
JP2006178552A
Information processing device and program
JP2018129003A
Realization of functional verification debug station via cross-platform record-mapping-replay technology
US20200242006A1