Method for controlling virtual machine running on cloud by server

By controlling the dynamic allocation and security management of virtual machine resources through server control, the problems of resource waste and security in cloud computing systems are solved, and efficient and secure utilization of virtual machine resources and free access to user terminal devices are realized on the public cloud.

CN116708425BActive Publication Date: 2026-05-22NAT AGRI COOP FEDERATION 1 75 CHUNGJUNG RO JUNG KU SEOUL KOREA
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NAT AGRI COOP FEDERATION 1 75 CHUNGJUNG RO JUNG KU SEOUL KOREA
Filing Date
2022-10-10
Publication Date
2026-05-22

AI Technical Summary

Technical Problem

The inflexible allocation of virtual machine resources in existing cloud computing systems leads to wasted costs and low resource utilization efficiency. Furthermore, it is difficult to meet high security requirements on public clouds, and user terminal devices face security and functional limitations when accessing remotely.

Method used

By controlling the allocation and deallocation of virtual machine resources through the server, dynamically adjusting virtual machine resources based on user requests, and combining secure containers and authorization token management, the system ensures that user terminal devices can access cloud services in a secure environment and adjust resource allocation according to task requirements.

Benefits of technology

It enables flexible allocation and efficient utilization of virtual machine resources, meets high security requirements, improves the access security and functional freedom of user terminal devices, and reduces operating costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116708425B_ABST
    Figure CN116708425B_ABST
Patent Text Reader

Abstract

A method for controlling virtual machine running on a cloud by a server, the method comprising: (a) receiving a request for allocating or deallocating at least some of a plurality of virtual machine resources to a terminal device from the terminal device of a user who has a usage right to only a specific virtual machine resource among the plurality of virtual machine resources; and (b) based on a control condition of the user to at least some of the identified plurality of virtual machine resources, performing the allocation or deallocation of the virtual machine resources by generating a process corresponding to at least some of the plurality of virtual machine resources and loading or deleting the process to or from a memory according to the request.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Citation of relevant applications

[0002] This application claims priority to Korean Patent Application No. 10-2022-0036620, filed with the Korean Intellectual Property Office on March 24, 2022; Korean Patent Application No. 10-2022-0027708, filed with the Korean Intellectual Property Office on March 3, 2022; Korean Patent Application No. 10-2022-0036302, filed with the Korean Intellectual Property Office on March 23, 2022; and Korean Patent Application No. 10-2022-0036580, filed with the Korean Intellectual Property Office on March 24, 2022, the entire contents of which are incorporated herein by reference.

[0003] Application Areas

[0004] The apparatus and methods conforming to this disclosure relate to servers that support the allocation of virtual machine resources in the cloud and methods for controlling such servers.

[0005] In addition, this disclosure also relates to servers that support secure connections to virtual machines on public clouds and methods for controlling them.

[0006] Furthermore, this disclosure relates to servers and methods for supporting user terminal device access in a secure environment, and more specifically, to servers that support user terminal devices accessing work servers in an enterprise network through secure containers, and methods for supporting user terminal device access in a secure environment. Existing technology

[0007] Cloud computing is a computing method where a central server, called a cloud server, processes and analyzes data and delivers the results to users via a network. The use of cloud computing has increased rapidly because high-performance cloud servers are not geographically restricted and are easily accessible and usable.

[0008] Due to the openness of the cloud, organizations with high security requirements, such as financial institutions and large enterprises, have historically been passive in adopting cloud services. However, the recent transition to a non-face-to-face society due to factors like the pandemic and the resulting increase in demand for remote work have also necessitated the adoption of cloud services by these organizations. As one approach, some organizations are considering introducing cloud-based virtual machine systems for remote work.

[0009] In this scenario, the organization's users utilize virtual machines with allocated virtual machine resources for their terminal devices, and the server administrator has full control over these virtual machine resources. This leads to the following problem:

[0010] First, in cloud-based virtual machine services, billing is often based on virtual machine resource usage. Once virtual machine resources are allocated to a specific user terminal device and a virtual machine process is created, the server recognizes that the user is using the virtual machine, regardless of whether the user actually uses it. This is because the hardware and software resources corresponding to the allocated virtual machine resources are occupied. Virtual machine resource allocation and deallocation occur within the virtual machine server; even if the session connected to the server is terminated on the user terminal device, it does not affect the state of the virtual machine server. Therefore, as long as the virtual machine resources are not deallocated, fees can be charged regardless of whether the user actually uses them. Furthermore, if virtual machine resources are not allocated to the server, the user cannot use the virtual machine even when requesting a server session.

[0011] Secondly, the existing system has a problem: virtual machine resources are statically allocated according to predefined standards, even though virtual machine resource consumption may vary depending on the user's tasks. This makes it difficult to increase allocation in real time when a large number of virtual machine resources are needed, and conversely, it leads to resource waste when a small number of virtual machine resources are needed.

[0012] In this scenario, in the relevant technologies, the user must request the server administrator to determine whether to allocate virtual machines to the user's terminal device or to adjust the number of virtual machine resources allocated.

[0013] Therefore, the inventors invented a technology in which users can directly control whether to allocate virtual machine resources to their terminal devices and dynamically allocate virtual machine resources according to their work situation.

[0014] Furthermore, with the widespread adoption of cloud-based information technology environments, financial institutions, businesses, and public organizations have begun to recognize that cloud computing is essential for the utilization and integration of information system resources. In addition, individuals' understanding of cloud computing environments has also increased as they use various cloud services in internet and mobile environments. As cloud computing environments replace traditional information technology environments, cloud security has become a major concern.

[0015] Because cloud services are outsourced services on demand, providing tenants with various information technology resources such as servers, storage, and software, security issues are inevitable.

[0016] Furthermore, while cloud services may appear to provide independent services to each tenant from the outside, internally, physical resources are ultimately shared. Therefore, a robust security system is essential to support the commercial supply of cloud services.

[0017] Due to the openness of the cloud, organizations with high security requirements, such as financial institutions and large enterprises, have historically been passive in adopting cloud services. However, the recent transition to a non-face-to-face society due to factors like the pandemic and the increased demand for remote work have also necessitated the adoption of cloud services by these organizations. As one approach, some organizations are considering introducing cloud-based virtual machine systems for remote work.

[0018] However, deciding whether to use virtual machines on a private or public cloud is a question. Private clouds offer the advantage of meeting an organization's security needs, but they require significant time and cost to build. Meanwhile, while configuring the security environment required by individual enterprises can be challenging, public clouds typically charge only for resources and time used, resulting in a lower operational burden and making them suitable for individuals and small business owners.

[0019] Therefore, the inventors invented a device that supports the use of virtual machines, which can meet the high level of security required by organizations, even on a public cloud with low operating costs.

[0020] Meanwhile, in recent years, with the spread of infectious diseases and the development of communication technologies, remote work (or remote office work) has increased regardless of workplace location. However, when users (such as employees) work remotely, they need to remotely access the company's work servers, thus requiring a high level of security.

[0021] In this context, user terminal devices used for remote work can be used not only for work but also for personal use. To access work servers using personal terminal devices, various security requirements must be met, which are typically provided as security solutions such as Mobile Device Management (MDM). However, these security solutions may limit the functionality of personal terminal devices, such as internet access and cameras, and pose a risk of collecting personal information, thus hindering the widespread adoption of remote work terminal devices.

[0022] Therefore, there is a need for technical methods that allow employees to freely use individual user terminal devices for personal purposes while meeting the security requirements necessary for company operations.

[0023] Public Overview

[0024] The embodiments of this disclosure overcome the above-described disadvantages and other disadvantages not described above. Furthermore, this disclosure does not require overcoming the disadvantages described above, and the embodiments of this disclosure may not overcome any of the above problems.

[0025] This disclosure provides a server that supports user terminal devices in accessing a secure server or related working server in a secure environment, as well as a method for supporting user terminal devices in accessing such a server in a secure environment.

[0026] The server disclosed herein is used to check whether a secure network environment is maintained when a user terminal device accesses cloud services, and to control or provide security warnings and control methods for the user terminal device's access to cloud services.

[0027] This disclosure provides a server and control method thereof for allocating virtual machine resources to a user based on the user's request for virtual machine resource allocation.

[0028] The problems to be solved by the technical subject of this disclosure are not limited to those described above, and those skilled in the art will clearly understand other unmentioned problems through the following description.

[0029] According to certain embodiments of this disclosure, a method for controlling cloud operations via a server includes: (a) receiving a request from a terminal device of a user who has access to only specific virtual machine resources among a plurality of virtual machine resources for allocating or deallocating at least some of the virtual machine resources among the plurality of virtual machine resources to the terminal device; (b) based on the user's control conditions over at least some of the identified virtual machine resources among the plurality of virtual machine resources, supporting the allocation or deallocation of virtual machine resources by generating a process corresponding to at least some of the virtual machine resources among the plurality of virtual machine resources, and loading the process into memory or deleting it from memory according to the request.

[0030] Step (b) includes supporting the allocation of at least some virtual machine resources to the terminal device based on the size of at least some virtual machine resources within a range of virtual machine resource sizes allowed by the user's organization, and based on a received request to allocate the at least some virtual machine resources to the terminal device, thereby reducing the virtual machine resources allocated to another user's terminal device in the organization.

[0031] Before step (a), the method further includes: (a1) confirming or supporting confirmation that the user's terminal device requests virtual machine resources through a first network that meets predetermined security requirements; after step (b), (c) after confirming that the virtual machine is assigned to the user's terminal device and the usage rights are granted and an authorization token is issued, while the user's terminal device is communicating with the assigned virtual machine using the authorization token, confirming or supporting confirmation of the path of data packets sent or received between the user's terminal device and the assigned virtual machine; and (d) based on the result of the path confirmation, determining that the sending and receiving of data packets is transmitted through a second network that does not meet predetermined security requirements, blocking the session connection between the user's terminal device and the virtual device, or controlling the user's terminal device to issue a security warning to the user's terminal device.

[0032] Prior to step (a), the method further includes: (x) logically separating the user's terminal device into (i) a secure container for communicating with the server under predetermined security conditions required by the server and (ii) a non-secure container for communicating with another server under conditions more vulnerable than the security conditions; confirming the security conditions and unique identification information of the user's terminal device based on access requests to the server or related resources received through the secure container; (y) determining whether the security conditions are met and whether the unique identification information corresponds to pre-registration information; and (z) rejecting or supporting the rejection of the user's terminal device's access request based on the determination that the security conditions are not met or that the unique identification information does not correspond to the pre-registration information.

[0033] Additional and / or other aspects and advantages of this disclosure will become apparent in part from the description which follows, or may be learned by practice of this disclosure. Brief description of the attached figures

[0034] The above description and / or other aspects of this disclosure will become more apparent from the accompanying drawings, which illustrate certain embodiments of the present disclosure, wherein:

[0035] Figure 1 A block diagram of a server configuration according to another embodiment of the present disclosure is shown;

[0036] Figure 2 A flowchart of a method for supporting virtual machine resource allocation according to another embodiment of the present disclosure is shown;

[0037] Figure 3 A view of a cloud computing environment according to another embodiment of this disclosure is shown;

[0038] Figure 4 A flowchart of a server security alert method according to another embodiment of the present disclosure is shown;

[0039] Figure 5 A flowchart of a server processing virtual machine resource requests according to another embodiment of the present disclosure is shown;

[0040] Figure 6 A flowchart of a server control method according to another embodiment of the present disclosure is shown;

[0041] Figure 7 A schematic diagram of a system for providing a safe environment according to an embodiment of the present disclosure is shown;

[0042] Figure 8 A view showing the software structure of a user's terminal device according to an embodiment of the present disclosure is shown;

[0043] Figure 9A timing diagram is shown of a method for a server to generate a container for a user's terminal device according to an embodiment of the present disclosure;

[0044] Figure 10 A flowchart illustrating a method for a server to support user terminal device access in a secure environment according to an embodiment of the present disclosure is shown.

[0045] Figure 11A A schematic diagram illustrating an embodiment of accessing a work server within an enterprise network via a virtual machine in a public cloud, according to an embodiment of the present disclosure;

[0046] Figure 11B A schematic diagram illustrating an embodiment of accessing a work server within an enterprise network via a virtual machine in a private cloud of an enterprise network, according to an embodiment of the present disclosure;

[0047] Figure 12 A timing diagram is shown of a method for a server to identify the location of a user's terminal device according to an embodiment of the present disclosure;

[0048] Figure 13 A schematic diagram illustrating guidance information provided when a user's terminal device deviates from a permitted position, according to an embodiment of the present disclosure.

[0049] Detailed Explanation

[0050] In the following description, various embodiments of the present disclosure will be illustrated with reference to the accompanying drawings. However, it should be understood that the present disclosure is not limited to the specific embodiments, and all modifications, equivalents, and / or substitutions thereof are also within the scope of the present disclosure. The same reference numerals are used throughout the drawings to refer to the same or similar parts.

[0051] In describing this disclosure, detailed descriptions of related known functions or constructions are omitted if they are deemed to unnecessarily deviate from the spirit of the disclosure, but this will be understood by those skilled in the art.

[0052] This disclosure may be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein; rather, these embodiments are provided to make this disclosure thorough and complete and to fully convey the concepts of this disclosure to those skilled in the art.

[0053] The terminology used in this specification is for describing particular exemplary embodiments only and is not intended to limit this disclosure. Unless the context clearly indicates otherwise, the singular form is intended to include the plural form.

[0054] In the disclosure herein, the expressions “have,” “may have,” “include,” and “include,” or “may include” and “may include” as used herein indicate the presence of a corresponding feature (e.g., an element, function, operation, or component such as a number), but do not exclude the presence of additional functions.

[0055] In the disclosure herein, the expressions “A or B,” “at least some of A and / or B,” or “some or more of A and / or B,” as used herein, may include any and all combinations of some or more of the related listed items. For example, the terms “A or B,” “at least some of A and B,” or “at least some of A or B” may refer to all cases (1) that include at least some A, cases (2) that include at least some B, or cases (3) that include at least some A and at least some B.

[0056] Terms such as "first" and "second" as used herein may refer to various elements of the various embodiments of this disclosure, but are not limiting of these elements.

[0057] It should be understood that when an element (e.g., the first element) is referred to as "(operably or communicatively) with / to" or "connected to" another element (e.g., the second element), it can be directly coupled with / to or connected to other elements or intermediate elements (e.g., the third element). Conversely, when an element (e.g., the first element) is referred to as "directly coupled to" or "directly connected to" another element (e.g., the second element), it should be understood that there is no intermediate element (e.g., the third element).

[0058] When describing an element (e.g., a first element) as "directly coupled" to another element (e.g., a second element), there may be no other element (e.g., a third element) between the two elements.

[0059] Depending on the context, the expression “configured as” used here can be used as expressions such as “suitable,” “capable,” “designed as,” “adapted to,” “manufactured as,” or “able to.” The term “configured as” does not only mean “specifically designed for” in hardware.

[0060] Conversely, the phrase "configured as a device" may mean that the device is "capable" of operating with another device or other component. For example, the phrase "processor configured to perform A, B, and C" could refer to a dedicated processor (e.g., an embedded processor) or a general-purpose processor (e.g., a central processing unit (CPU) or application processor) for performing the respective operations, which can perform the respective operations by executing one or more software programs stored in a storage device.

[0061] In this specification, the term "module" or "unit" refers to a software component, hardware component, or combination thereof capable of performing at least one function or operation. Multiple modules or units may be integrated into at least one module and implemented using at least one processor, except for those modules or units that need to be implemented in specific hardware.

[0062] In one embodiment, a server that supports a specific operation may refer to a server sending control commands or related information to an external device to cause the external device to perform an operation.

[0063] Furthermore, the various elements and areas in the accompanying drawings are schematic representations. Therefore, the technical concept of this disclosure is not limited to the relative dimensions or spacing shown in the accompanying drawings.

[0064] The present disclosure will be described in more detail below with reference to the accompanying drawings.

[0065] Figure 1 A block diagram of a server configuration according to another embodiment of the present disclosure is shown.

[0066] Server 100 may include memory 110, communicator 120 and controller 130.

[0067] The memory 110 may store at least one command related to the server 100. The memory 110 may store an operating system (O / S) for driving the server 100. Furthermore, the memory 110 may store various software programs or applications for server operation according to various embodiments of this disclosure. Additionally, the memory 110 may include semiconductor memory such as flash memory or magnetic storage media such as a hard disk.

[0068] Specifically, according to various embodiments of this disclosure, the memory 110 may store various software modules for operating the server 100, and the controller 130 may control the operation of the server 100 by executing the various software modules stored in the memory 110. The controller 130 may access the memory 110, and the controller 130 may perform read / write / modify / delete / update operations on the memory 110.

[0069] Meanwhile, in this disclosure, the term memory 110 may refer to a memory (not shown), ROM (not shown), RAM (not shown) in the controller 130, or a memory card (not shown) (e.g., a micro SD card, memory stick) installed in the server 100.

[0070] The communicator 120 includes circuitry and is configured to communicate with external devices (e.g., a user's terminal device 140) and external servers using wired or wireless communication methods. Furthermore, the communicator 120 may include an Ethernet module, a Wi-Fi module (not shown), etc. Here, each communication module may be implemented as at least one hardware chip. In addition to the communication methods described above, the wireless communication module may also include at least one communication chip, communicating according to various wireless communication standards, such as Zigbee, Universal Serial Bus (USB), Mobile Industrial Processor Interface Camera Serial Interface (MIPI), 3G, 3GPP, LTE, LTE-A, 4G, 5G, etc. However, this is only an example; the communicator 120 may use at least some of the various communication modules.

[0071] Furthermore, controller 130 can control the overall operation and functions of server 100. Specifically, controller 130 can be connected to the configuration of server 100 including memory 110, and can typically control the operation of server 100 by executing at least one command stored in the aforementioned memory 110.

[0072] The controller 130 can be implemented in various ways. For example, the controller 130 can be implemented as at least one of an application-specific integrated circuit (ASIC), an embedded processor, a microprocessor, hardware control logic, a hardware finite state machine (FSM), and a digital signal processor. Meanwhile, in this disclosure, the term controller 130 generally includes a central processing unit (CPU), a graphics processing unit (GPU), a main processing unit (MPU), etc.

[0073] In the following, the operation of the controller 130 will be described in detail with reference to the accompanying drawings, according to embodiments of the present disclosure.

[0074] Reference Figure 2 S210: Controller 130 receives a request from a terminal device 140 of a user who has access to only specific virtual machine resources among a plurality of virtual machine resources, for allocating or deallocating at least some of the virtual machine resources among the plurality of virtual machine resources to the terminal device.

[0075] A virtual machine can simulate a fully operational computing system that includes at least one operating system and at least one application. In other words, a virtual machine can refer to a computing environment implemented in software.

[0076] When virtualizing hardware in a virtual machine-based cloud computing environment, one or more virtual machines can be created on a virtual machine server 150. Each virtual machine can run an independent operating system environment. The internal structure of a virtual machine is similar to that of a physical server's computing environment. Like a real server, a virtual machine can utilize hardware resources such as CPU, memory, and storage, and can run an operating system or applications within it.

[0077] Here, virtual machine server 150 may include multiple virtual machine resources that can be allocated to one or more external devices. That is, the cloud system may include server 100 and virtual machine server 150. In this case, virtual machine server 150 can drive multiple virtual machines. Furthermore, server 100 or virtual machine server 150 can allocate different virtual machine resources to one or more external devices respectively. In this case, server 100 or virtual machine server 150 can allocate at least some of the multiple virtual machine resources to user terminal device 140 or release virtual machine resources from user terminal device 140. In addition, users can use the virtual machine resources allocated to user terminal device 140 to run operating systems and applications.

[0078] In this scenario, the user's terminal device 140 may only have access to specific virtual machine resources among the multiple virtual machine resources. That is, the user's terminal device 140 is the user's terminal and does not have management permissions for the multiple virtual machine resources. The server 100 may allocate at least some of the multiple virtual machine resources to the user's terminal device 140 or support the release of pre-allocated virtual machine resources.

[0079] Meanwhile, virtual machine server 150 can create virtual machines, and server 100 supports the allocation or release of virtual machine resources. Virtual machine server 150 can allocate or release corresponding virtual machine resources for user terminal device 140. However, this is only an example. Server 100 can create virtual machines and allocate or release virtual machine resources to user terminal device 140.

[0080] Meanwhile, in this disclosure, the user's terminal device 140 may be a tablet computer, but this is only an example. The user's terminal device 140 may be implemented in various forms such as smartphones, mobile phones, PCs, servers, smart TVs, personal digital assistants (PDAs), laptops, media players, e-book terminals, digital broadcasting terminals, navigation devices, kiosks, MP3 players, digital cameras, wearable devices, home appliances, and other mobile or non-mobile computing devices.

[0081] In addition, S220: When a user controls at least some of the identified virtual machine resources, the controller 130 supports the allocation or release of the virtual machine resources by generating a process corresponding to at least some of the virtual resources, and loads the process into memory or deletes the process from memory according to the request.

[0082] Meanwhile, in this disclosure, the user can be a regular user without management privileges for virtual machines in the cloud. That is, the user can be a single virtual machine user without management privileges for virtual machines in the cloud, unlike the administrator of management server 100 or virtual machine server 150, so that multiple virtual machines can be created to allocate virtual machine resources.

[0083] In this case, the controller 130 can allocate or support the allocation of virtual machine resources to the user's terminal device 140 based on the user's registered account information.

[0084] Specifically, the controller 130 can receive requests from the user's terminal device 140 for the registration account of an ordinary user to allocate or deallocate at least some of the virtual resources among the plurality of virtual machine resources to the user's terminal device 140.

[0085] Specifically, user account information can be registered on storage 110 or on a separate external server. In this case, the user's registered account information may include information about specific virtual machine resources that the user has access to.

[0086] Furthermore, the user's registered account information may include information used to verify the user's control conditions. In this case, the controller 130 can use the user's registered account information to check the user's control conditions over at least some of the multiple virtual machine resources.

[0087] Furthermore, controller 130 can support allocating or deallocating at least some of the virtual machine resources among multiple virtual machine resources to user terminal devices 140.

[0088] For example, when a user has usage rights to virtual machine resource A, and when the user's terminal device requests allocation of virtual machine resources A and B, the virtual machine resources A and B can be allocated to the user's terminal device when the user's control conditions are identified. Here, in addition to usage rights information, control conditions may also include at least one of the following: information about the user's task execution, task information similar to tasks previously executed by multiple users, information about virtual machine resources provided to the user's organization, and virtual machine usage time information as described below.

[0089] In addition, the controller 130 can generate a process corresponding to at least some of the multiple virtual machine resources based on the environment data corresponding to the user's pre-registered account, and load the generated process onto the virtual machine server 150 or the memory of the server 100, thereby supporting the allocation of virtual machine resources.

[0090] Here, environment data can refer to the environment data used by the user in the virtual machine. For example, when different virtual machines are created and virtual machine resources are allocated to each user's terminal device, each virtual machine may have different email addresses, folders, and other data configured according to the user's usage environment. Therefore, the allocation of virtual machine resources may be different. In this case, the user's account may include data, such as email addresses and folder data, depending on the environment used by each user's virtual machine. Accordingly, by using the environment data corresponding to the user's pre-registered account, the controller 130 can support the allocation of virtual machine resources that reflect the user's environment data to the user's terminal device 140. Here, environment data is not limited to the above example and can be various types of data that constitute the user's virtual machine environment.

[0091] In addition, in order to use virtual machine resources effectively and economically, the controller 130 can support the allocation or deallocation of virtual machine resources when the scheduled time has passed or a specific time has arrived.

[0092] Specifically, based on a predetermined time elapsed after allocating or deallocating predetermined virtual machine resources on the user's terminal device 140, or upon reaching a predetermined specific time, the controller 130 may support deleting the process corresponding to the allocated predetermined virtual machine resources or generating the process corresponding to the deallocated predetermined virtual machine resources, and loading it into memory.

[0093] For example, after 9 hours of allocating virtual machine resources, controller 130 can delete or supports deleting the process corresponding to the allocated virtual machine resources. Furthermore, after 15 hours have passed since the virtual machine resources were deallocated, controller 130 can create a process corresponding to the virtual machine resources and can load that process into memory or supports loading that process into memory.

[0094] In addition, at specific times (e.g., 3 p.m. and 6 p.m. of the day), controller 130 can collectively deallocate multiple unused virtual machine resources to reduce costs.

[0095] In this scenario, the scheduled time or a specific time can be set differently for each user, and this information can be included in the user's account information.

[0096] Furthermore, depending on the user's virtual machine state, the controller 130 can support the deallocation of virtual machine resources allocated to the user's terminal device 140.

[0097] Specifically, after allocating the predetermined virtual machine resources to the user's terminal device 140, the controller 130 can confirm or support the confirmation of the virtual machine usage status, data loading, and load transmission time interval on the user's terminal device based on at least some information such as the size of the data packets transmitted and received between the terminal device and the allocated virtual machine.

[0098] In this context, the virtual machine's usage status can be either that the user is using the virtual machine or that the user is not using the virtual machine. Here, the state of the user not using the virtual machine can include the state of the user using the virtual machine meaninglessly.

[0099] Specifically, a user's virtual machine usage status can include subconscious usage and conscious usage. Subconscious usage can refer to situations where a user uses the virtual machine but it is meaningless. For example, when a user's use of the virtual machine is meaningless, such as when the user only moves the mouse cursor without clicking or touching the virtual machine, when repeatedly receiving the same input, or when the virtual machine's system or its application is sending and receiving basic data packets in the background, the controller 130 can confirm or support the confirmation that the user is not using the virtual machine.

[0100] Based on the confirmation results, if it is determined that the user of the terminal device is not using a virtual machine, the controller 130 can support the deletion of the process corresponding to the allocated reserved virtual machine resources.

[0101] Meanwhile, users may not know precisely the size of the virtual machine resources required to perform a specific task. In this case, virtual machine resources can be allocated to the user's terminal device 140 based on the task being performed. That is, based on information about the task being performed by the user, the controller 130 can allocate virtual machine resources to the user's terminal device 140.

[0102] That is, the controller 130 can confirm or support the confirmation of information about the tasks performed by the user on the user's terminal device 140, and support increasing or decreasing the size of the virtual machine resources allocated to the user's terminal device based on the task information.

[0103] Specifically, the controller 130 can receive information about the tasks performed by the user from the user's terminal device 140. Furthermore, based on the received information about the tasks, and by adjusting the amount of virtual machine resources required to perform the tasks, the controller 130 can increase or decrease the amount of virtual machine resources allocated to the user's terminal device 140.

[0104] Optionally, the user's account information may include information about the tasks performed by the user. In this case, the controller 130 can, based on the task information contained in the user's account information, increase or decrease the size of the virtual machine resources allocated to the user's terminal device 140 by measuring the size of the virtual machine resources required to perform the task.

[0105] The size of the virtual machine resources required to execute a task can vary depending on the type of task. By using the method described above, the limited virtual machine resources can be allocated to the user's terminal device 140 based on the task information, thus making efficient use of the limited virtual machine resources.

[0106] In addition, the controller 130 can support increasing or decreasing the size of virtual machine resources applied to users based on the size information of virtual machine resources used by multiple users when performing a second task similar to the first task in the past.

[0107] Specifically, based on information about the size of virtual machine resources consumed when performing tasks that are the same as or similar to those performed by the user, the controller 130 can support increasing or decreasing the size of virtual machine resources allocated to the user up to the size of virtual machine resources previously consumed.

[0108] At the same time, the controller 130 can allocate virtual machine resources to the user's terminal device 140 according to the virtual machine resources allowed by the user's organization.

[0109] Specifically, based on the size of at least some of the multiple virtual machine resources exceeding the size allowed by the user's organization, and based on a received request to allocate at least some virtual machine resources to the terminal device, controller 130 supports either refusing to allocate at least some virtual machine resources or allocating only the virtual machine resources allowed by the user's organization to the terminal device.

[0110] Optionally, based on the size of at least some of the virtual machine resources within a range of virtual machine resources allowed by the user's organization, and based on a received request to allocate the at least some virtual machine resources to the terminal device, the controller 130 supports allocating the at least some virtual machine resources to the terminal device, thereby enabling a reduction in the virtual machine resources allocated to a terminal device belonging to another user of the organization.

[0111] Specifically, a user's account information may include the user's organization information, which may include information about virtual machine resources that the user has access to within the organization.

[0112] Controller 130 can receive virtual machine resource allocation requests from the user's terminal device 140. Furthermore, controller 130 can verify or support verifying whether the requested virtual machine resources exceed the virtual machine resources that the user's organization has the authority to use.

[0113] At this time, if the virtual machine resources used for allocation exceed the virtual machine resources that the user's organization has the right to use, the controller 130 may reject the virtual machine resources requested by the terminal device 140, or it may support the allocation of virtual machine resources to the user's terminal device according to the amount of virtual machine resources granted to the organization.

[0114] Optionally, within virtual machine resources that the user has access to within their organization, the controller 130 can receive a request from the user's terminal device 140 to allocate virtual machine resources.

[0115] In addition, the controller 130 can support the allocation of virtual machine resources requested by the user's terminal device 140 to the user's terminal device 140, provided that the virtual machine resources used for allocation do not exceed the virtual machine resources that the user's organization has the right to use.

[0116] Figure 3 This is a schematic diagram of a cloud computing environment 300 according to another embodiment of the present disclosure.

[0117] The cloud computing environment 300 may include server 100, user terminal device 140, virtual machine server 150, and authorization token management server 310. However, this is just an example; the cloud computing environment 300 may also include a separate external server or a separate external device. In this case, the user terminal device 140 may be a tablet computer, but this is just an example. The user terminal device 140 may be implemented in various forms, such as smartphones, mobile phones, PCs, computers, servers, smart TVs, personal digital assistants (PDAs), laptops, media players, e-book terminals, digital broadcasting terminals, navigation systems, kiosks, MP3 players, digital cameras, wearable devices, home appliances, and other mobile or non-mobile computing devices.

[0118] In the cloud computing environment 300, the virtual machine server 150 can process data and provide the results to the user's terminal device 140 via the network. In this case, the cloud computing environment 300 can be implemented in the form of a public cloud, but this is just an example. The cloud computing environment 300 can be implemented in various forms, such as private cloud, community cloud, hybrid cloud, etc.

[0119] In this scenario, within the cloud computing environment 300, the virtual machine server 150 can provide various cloud services to the user's terminal device 140 via the network. Here, the cloud service can be any of the following, but is not limited to: Infrastructure as a Service (IaaS) providing a virtualized infrastructure environment to the user's terminal device 140; Software as a Service (SaaS) providing application software over the network; or Platform as a Service (PaaS) providing the hardware and software required for program design / development / distribution.

[0120] In this scenario, the user's terminal device 140 may be one of multiple tenants for whom virtual machine services are provided by the virtual machine server 150, and the cloud server 150 may include at least one host that provides computing resources to the user's terminal device 140.

[0121] Furthermore, each host can run one or more virtual machines and provide these virtual machines to user terminal devices 140. A virtual machine can simulate a fully operational computing system including at least one operating system and at least one application. That is, a virtual machine can refer to a software-implemented computing environment. When virtualizing hardware in a virtual machine-based cloud computing environment, virtual machines can be generated on a virtual machine server 150, which can drive an independent operating system environment. The internal structure of a virtual machine is similar to the computing environment of a physical server. Like a real server, a virtual machine utilizes hardware resources such as CPU, memory, and storage, and can run an operating system and applications within it.

[0122] Meanwhile, multiple virtual machines 151, 152, 153 and 154 can be generated in the virtual machine server 150. Each virtual machine can have a different driver environment and can execute various applications. Furthermore, each virtual machine can be assigned to multiple terminal devices.

[0123] Furthermore, the virtual machine server 150 can allocate different virtual machine resources to each terminal device, thereby effectively utilizing limited resources. That is, the virtual machine server 150 can allocate multiple virtual machine resources to multiple terminal devices according to the needs of each terminal device.

[0124] In this scenario, within the cloud computing environment 300, the user's terminal device 140 can communicate via either the first network 320 or the second network 330. In this scenario, the first network 320 can be a network that meets predetermined security requirements. These predetermined security requirements may include the use of a Virtual Private Network (VPN), where the VPN can be configured in various ways according to security protocols. For example, the VPN can be implemented using a Secure Sockets Layer Virtual Private Network (SSL VPN) or an Internet Protocol Security Virtual Private Network (IPSec VPN), but is not limited to these. Furthermore, the second network 330 may be a network that does not meet the predetermined security requirements.

[0125] First, server 100 confirms or supports confirming whether the user's terminal device 140 requests virtual machine resources through a first network 320 that meets predetermined security requirements.

[0126] In addition, the authorization token management server 310 performs credential processing on the user's terminal device 140 to access the virtual machine server 150 and use the virtual machine, confirms the user's usage rights to the virtual machine, issues an authorization token, and provides the authorization token to the user's terminal device 140.

[0127] In this situation, the authorization token management server 310 can conditionally allow or block access from the user's terminal device 140.

[0128] Specifically, depending on whether the user's terminal device 140 has accessed the first network 320 that meets the predetermined security requirements, the authorization token management server 310 can issue an authorization token and provide it to the user's terminal device 140. In this case, based on the confirmation that the user's terminal device 140 has accessed the first network 320 (i.e., the secure network) and meets the predetermined security requirements, the authorization token management server 310 issues an authorization token to the user's terminal device 140 to access the virtual machine server 150 and provides the authorization token to the user's terminal device 140 according to the virtual machine allocation and the user's terminal device 140's usage permissions.

[0129] Meanwhile, if the user's terminal device 140 fails to meet the predetermined security requirements when accessing the second network 330, the authorization token management server 310 may refuse to issue an authorization token.

[0130] Furthermore, server 100 can confirm whether a secure network environment is maintained when the user's terminal device 140 communicates with the assigned virtual machine. According to one embodiment, the user's terminal device 140 can communicate with the virtual machine server 150 through server 100. In this case, server 100 can check the network path of data packets sent and received between the user's terminal device 140 and the virtual machine server 150, and confirm whether a secure network environment is maintained.

[0131] Optionally, server 100 may receive information from virtual machine server 150 about data packets sent and received between user terminal device 140 and virtual machine, but is not limited thereto, and server 100 may receive information about data packets from user terminal device 140 or a separate external device.

[0132] Furthermore, depending on whether a secure network environment is maintained when the user's terminal device 140 and the virtual machine communicate, the server 100 can control the communication connection session between the user's terminal device 140 and the virtual machine server 150. Specifically, when it is determined that the user's terminal device 140 accesses the virtual machine through the second network 330, the server 100 can block the communication connection session between the user's terminal device 140 and the virtual machine, or it can control the user's terminal device 140 to issue a security warning to the user's terminal device 140.

[0133] The following section will provide a detailed explanation of the specific methods by which server 100 supports secure access to virtual machines, with reference to the accompanying diagram.

[0134] Server 100 may include memory 110, communicator 120 and controller 130.

[0135] The memory 110 may store at least one instruction related to the server 100. The memory 110 may store an operating system (O / S) for driving the server 100. Furthermore, according to various embodiments of this disclosure, the memory 110 may store various software programs or applications for operating the server 100. Additionally, the memory 110 may include a semiconductor memory such as flash memory or a magnetic storage medium such as a hard disk.

[0136] Specifically, according to various embodiments of this disclosure, the memory 110 may store various software modules for operating the server 100, and the controller 130 may control the operation of the server 100 by executing the various software modules stored in the memory 110. The memory 110 may be accessed by the controller 130, and the controller 130 may perform read / write / modify / delete / update operations on data.

[0137] Meanwhile, in this disclosure, the term memory 110 may refer to a memory (not shown), ROM (not shown), or RAM (not shown) or memory card (not shown) (e.g., micro SD card, memory stick) installed in the controller 130.

[0138] The communicator 120 includes circuitry and is configured to communicate with external devices (e.g., a user's terminal device 140) and external servers using wired or wireless communication methods. Furthermore, the communicator 120 may include an Ethernet module, a Wi-Fi module (not shown), etc. Here, each communication module may be implemented as at least one hardware chip. In addition to the communication methods described above, the wireless communication module may also include at least one communication chip, communicating according to various wireless communication standards, such as Zigbee, Universal Serial Bus (USB), Mobile Industrial Processor Interface (MIPI), 3G, 3GPP, LTE, LTE-A, 4G, 5G, etc. However, this is only an example; the communicator 120 may use at least one of various communication modules.

[0139] Furthermore, controller 130 can control the overall operation and functions of server 100. Specifically, controller 130 can be connected to the configuration of server 100 including memory 110, and can typically control the operation of server 100 by executing at least one instruction stored in the aforementioned memory 110.

[0140] The controller 130 can be implemented in various ways. For example, the controller 130 can be implemented as at least one of an application-specific integrated circuit (ASIC), an embedded processor, a microprocessor, hardware control logic, a hardware finite state machine (FSM), and a digital signal processor. Meanwhile, in this disclosure, the term controller 130 can be used to include a central processing unit (CPU), a graphics processing unit (GPU), a main processing unit (MPU), etc.

[0141] According to another embodiment of this disclosure, the method by which server 100 supports secure access to virtual machines will be described in detail below with reference to the accompanying drawings.

[0142] The controller 130 can confirm or support confirmation of whether the user's terminal device 140 requests virtual machine resources that meet predetermined security requirements through the first network 320, i.e., the secure network.

[0143] Specifically, controller 130 first confirms or supports confirming the settings of the first network of the user's terminal device 140. For example, controller 130 can determine whether the user's terminal device 140 is requesting the creation, activation, or execution of a virtual machine process through a secure network such as a VPN. Based on the failure to meet network security requirements, subsequent connection attempts can be rejected, and a notification message can be displayed on the user's terminal device 140.

[0144] Optionally, the user's terminal device 140 may request virtual machine resources from the virtual machine server 150. For example, the user's terminal device 140 may request virtual machine resources with 1TB of storage space, 8GB of memory, and 4 processing cores.

[0145] The controller 130 can then verify whether the user's terminal device 140 is requesting virtual machine resources through the first network 320 or can be supported by a separate server (e.g., virtual machine server 150, authorization token management server 930, or other servers) on the cloud computing environment 900 to verify the request. For example, the account management device (not shown) of the virtual machine server 150 can verify whether the user's terminal device 140 is requesting virtual machine resources through a secure network such as a VPN. The virtual machine resource request may be rejected due to non-compliance with network security requirements. Furthermore, an authorization token, which will be described later, may not be issued.

[0146] Therefore, the virtual machine server 150 can generate or execute virtual machine processes by allocating computing resources to virtual machines. Furthermore, the virtual machine server 150 can allocate virtual machines with allocated computing resources to user terminal devices 140.

[0147] In this case, by checking the result of converting the address of the second network (i.e., the insecure network) that does not meet the predetermined security requirements of the user's terminal device 140 to the predetermined first network address (secure network), it is determined whether the user's terminal device 140 requests virtual machine resources through the first network 320.

[0148] In this scenario, an authorization token is issued based on confirmation that access is via the first network 320 and that the allocation from the virtual machine to the user's terminal device 140 and the virtual machine's usage permissions are confirmed. Alternatively, the authorization token can be issued based on the user's eligibility verified by the account management device of the authorization token management server 930.

[0149] In this case, based on the user's personal information on the user's terminal device 140, it can be confirmed whether a virtual machine has been assigned to the user and the user's usage rights to the virtual machine, and an authorization token can be issued.

[0150] The user's terminal device 140 can communicate with the assigned virtual machine using an authorization token. That is, the user's terminal device 140 can obtain the virtual machine from the virtual machine server 150 by verifying the certificate using an authorization token. In this state, the controller 130 can confirm the path of data packets sent / received between the user's terminal device 140 and the assigned virtual machine, or support confirmation by providing data packets to another device.

[0151] Based on the path confirmation result, if it is determined that the data packets are transmitted through a second network 330 that does not meet the predetermined security requirements, the controller 130 blocks the session connection between the user's terminal device 140 and the virtual device or controls the user's terminal device 140 to issue a security warning to the user's terminal device.

[0152] As described above, based on the integrated access through the unconfirmed first network 320, the controller 130 rejects the user's terminal device 140's request for virtual machine resources, and the controller 130 controls the user's terminal device 140 to issue a security warning.

[0153] Accordingly, the user's terminal device 140 can provide the user with information regarding the need for a first network connection. In this case, the user's terminal device 140 can also provide information about methods for connecting to a secure network. For example, such as... Figure 4 As shown, the user's terminal device 140 can control the display 420 of the user's terminal device 140 to display information indicating the need for secure network settings such as SSL VPN (as shown in icon 410). Meanwhile, before issuing an authorization token, based on a virtual machine process execution request received from the user's terminal device 140, the controller 130 can generate a process for the virtual machine assigned to the user's terminal device 140, and load that process into memory or support the generation and loading.

[0154] Furthermore, based on the confirmation of the user's terminal device 140's access through a secure network and the virtual machine resource allocation request received from the user's terminal device 140, the controller 130 can allocate or support the allocation of virtual machine resources to the user's terminal device 140. That is, the virtual machine server 150 can execute virtual machine processes and allocate virtual machine resources to the user's terminal device 140 based on the confirmation of the user's terminal device 140's secure network access.

[0155] Furthermore, based on the virtual machine process execution request received from the user's terminal device 140 via the second network 330, the controller 130 rejects the virtual machine process execution request and controls the user's terminal device 140 to issue a security warning on the user's terminal device 140.

[0156] Meanwhile, although the settings of the first network 320 are confirmed, if a virtual machine resource request is executed without a processing execution request from the user's terminal device 140, the controller can confirm whether the virtual machine process allocated to the user's terminal device 140 has been generated and loaded into memory, and support the rejection or acceptance of the virtual machine resource request based on the confirmation result.

[0157] Specifically, refer to Figure 5 S510: Controller 130 can receive virtual machine resource requests from user terminal device 140 without requesting the execution of virtual machine processes. Then, S520: Controller 130 can confirm whether the virtual machine process allocated to user terminal device 140 has been generated and loaded into the memory of virtual machine server 150.

[0158] Based on the received virtual machine resource request, when the virtual machine process is loaded into the memory of the virtual machine server 150 (S520-Yes), then S530 is executed: the controller 130 can support accepting virtual machine resource requests.

[0159] Optionally, based on the received virtual machine resource request, if the virtual machine process is not loaded into the memory of the virtual machine server 150 (S520-No), then S540 is executed: the controller 130 can support rejecting the virtual machine resource request.

[0160] At the same time, based on the user's terminal device 140 accessing the secure network and based on the user's personal information on the user's terminal device 140, it is possible to confirm whether to allocate a virtual machine to the user and confirm the user's access rights to the virtual machine, and to obtain the issued authorization token.

[0161] Specifically, the authorization token management server 930 can obtain the user's personal information from the user's terminal device 140. In this case, the user's personal information may be identification information (e.g., ID and password) used to access the user's virtual machine. Furthermore, the authorization token management server 930 can confirm the user's access rights to the virtual machine on the user's terminal device 140 based on the obtained user's personal information.

[0162] That is, based on the user identification information obtained and matched with the previously stored user identification information, the authorization token management server 930 can send an authorization token to the user's terminal device 140. At this time, the authorization token management server 150 can send the authorization token to the user's terminal device 140 only if the user's terminal device 140's access to the secure network is confirmed or only if the virtual machine is assigned to the user of the terminal.

[0163] At the same time, even if access is made through a secure network, or if the virtual machine allocation and usage rights of the user's terminal device 140 are confirmed, an authorization token can be issued without being based on the termination or inactivity of the virtual machine allocated to the user's terminal device 140.

[0164] Simultaneously, once access through the secure network is confirmed and an authorization token is issued, the user's terminal device 140 can use the issued authorization token to communicate with the virtual machine, and the virtual machine assigned to the user's terminal device 140 may have been previously used. At this time, to confirm whether the user's terminal device 140 has maintained access through the secure network during communication with the virtual machine, the controller 130 can confirm or support the path of data packets sent by the user's terminal device 140 to the virtual machine and received from the virtual machine to use the virtual machine.

[0165] Specifically, the user's terminal device 140 and the virtual machine server 150 can communicate through the server 100. In this case, the server 100 can acknowledge the data packets sent and received between the user's terminal device 140 and the virtual machine server 150 (or the virtual machine). Optionally, the controller 130 can receive at least some data packets sent and received from the user's terminal device 140 or the virtual machine server 150 to use the virtual machine. Therefore, the controller 130 can confirm whether the user's terminal device 140 has maintained access through the secure network based on the path of the obtained data packets.

[0166] At this time, the controller 130 can determine whether the data packet is sent / received through a first network 320 that meets predetermined security requirements or through a second network 330 that does not meet predetermined security requirements by confirming the data packet path. Based on the confirmed data packet path, if the data packet is determined to be transmitted through the first network 320 (secure network), the controller 130 can maintain the session connection between the user's terminal device 140 and the virtual machine. Conversely, if the data packet is determined to be transmitted through the second network 330 (insecure network), the controller 130 can block the session connection between the user's terminal device 140 and the virtual machine server 150 or control the user's terminal device 140 to issue a security warning.

[0167] Meanwhile, in this situation, based on security warnings issued on the user's terminal device 140 and based on user feedback, the controller 130 can block or support blocking the session connection between the user's terminal device 140 and the virtual machine server 150.

[0168] The controller 130 can control the user's terminal device 140 to issue security warnings. Specifically, the controller 130 can control the user's terminal device 140 to display information on its display (not shown) indicating that the user's terminal device 140 is sending and receiving data packets through an insecure network. For example, the controller 130 can control the user's terminal device 140 to provide a user interface (UI) for obtaining user input to set up a secure network for the user's terminal device 140.

[0169] Furthermore, the controller 130 can confirm whether user feedback has been received from the user's terminal device 140 within a predetermined time after a security warning is issued. In this case, the user feedback can refer to the security network settings of the user's terminal device 140 to transmit data packets 2 through the security network. For example, the user feedback can be user input obtained through a user interface (UI) to obtain user input for setting the security network.

[0170] Based on user feedback obtained from the user's terminal device 140 within a predetermined time period, the controller 130 can maintain the connection session between the user's terminal device 140 and the virtual machine.

[0171] Furthermore, based on unidentified user feedback received from the user's terminal device 140 within a predetermined time, the controller 130 may block the connection session between the user's terminal device 140 and the virtual machine.

[0172] Figure 6 A flowchart of a server control method according to another embodiment of the present disclosure is shown.

[0173] S610: Server 100 can confirm or support confirming whether the user's terminal device requests virtual machine resources through a first network that meets predetermined security requirements. At this time, server 100 can confirm whether the user's terminal device 140 requests virtual machine resources through the first network 320 by confirming the result of the network address being converted to a predefined first network address.

[0174] Furthermore, S620: After confirming that the access is through the first network 320, confirming that the virtual machine is assigned to the user's terminal device 140, confirming the usage rights, and issuing an authorization token, while the user's terminal device 140 is communicating with the assigned virtual machine using the authorization token, the server 100 can confirm or support confirming the path of data packets sent or received between the user's terminal device and the assigned virtual machine. In this case, based on the user's personal information on the user's terminal device 140, it can confirm whether the virtual machine has been assigned to the user and the virtual machine's usage rights, and can issue an authorization token. Furthermore, the server 100 can reject the virtual machine resource request based on unconfirmed access through the first network 320, and control the user's terminal device 140 to issue a security warning.

[0175] S630: Based on the result of the path confirmation, if it is determined that the data packets are sent and received through a second network 330 that does not meet the predetermined security requirements, the server 100 may block the session connection between the user's terminal device 140 and the virtual machine, or control the user's terminal device 140 to issue a security warning to the user's terminal device 140.

[0176] Figure 7 A schematic diagram of a system for providing a secure environment according to an embodiment of the present disclosure is shown. Figure 7 As shown, the system providing a secure environment may include a user's terminal device 140, a server 100, and a work server 700. In this case, the user's terminal device 140 may be a tablet computer, but this is just an example; it could be a smartphone, desktop PC, laptop PC, or other user terminal devices. Furthermore, since the server 100 supports access to the server 100 or the work server 700 associated with the server 100 by the user's terminal device 140 within the secure environment, the server 100 can be called a secure server.

[0177] User terminal device 140 can send a container generation request from server 100 to operate in a secure environment. That is, user terminal device 140 can send a request to logically generate a secure container that can access server 100 or working server 700 under predetermined security conditions required by the server, and a non-secure container for communicating with another server, which is weaker than a secure environment. In this case, user terminal device 140 can send its unique identification information along with the container generation request. The unique identification information may include at least some of the following: device token information given by user terminal device 140 during manufacturing, user terminal device 140's telephone number information, and mobile communication chip information.

[0178] Server 100 can authenticate user terminal device 140 by verifying its unique identification information or provide information to another authentication device (not shown) to support authentication. That is, server 100 can verify whether user terminal device 140 is capable of accessing server 100 or working server 700 by comparing the unique identification information of user terminal device 140 with pre-registered identification information.

[0179] When a user's terminal device 140 is authenticated as a user's terminal device that can access server 100 or work server 700, server 100 can transmit or support the transmission of security environment information to the user's terminal device 140. Security environment information may include network information (which may include VPN, multi-factor authentication, vaccine information, security update information, emergency access information, etc.) that ensures the secure container's communication environment meets predetermined security conditions; security solution information (which may include update information, vaccines, data breach prevention (DLP), digital rights management (DRM), etc.); email security information (which may include text inspection, VPN, encrypted communication, multi-factor authentication, etc.); user authentication information (integrated authentication, access history and tracking, multi-factor authentication, etc.); and password security information (which may include password rules, account passwords, browser security, etc.). Furthermore, security environment information may also include security condition information required by financial authorities.

[0180] Furthermore, when a user's terminal device 140 logically separates the secure container and the non-secure container, the server 100 can remotely install or support the installation of applications that the user's terminal device 140 has the right to use. Within the secure container, for example, the server 100 can directly access the secure container of the user's terminal device 140 to remotely install or support the installation of applications that it has the right to use. Optionally, the server 100 can support application installation by allowing users to download identified applications that they have the right to use through the secure container of the user's terminal device 140.

[0181] After being logically separated into secure containers and insecure containers, the user's terminal device 140 can send access requests to server 100 or resources associated with server 100 (e.g., work server 700) through the secure container, while operating in a business model.

[0182] Server 100 can verify the security conditions of the user's terminal device 140 that has sent an access request by using the secure container and the unique identification information of the user's terminal device 140. Server 100 can determine whether the security conditions are met and whether the unique identification information corresponds to pre-registered information. Based on the determination that the security conditions are met and the unique identification information corresponds to the pre-registered information, server 100 can allow or support allowing access to server 100 or server-related resources according to the access request. Furthermore, based on the determination that the security conditions are not met or the unique identification information does not correspond to the pre-registered information, server 100 can refuse or support refusing the user's terminal device 140's access request.

[0183] After a user's terminal device 140 connects to server 100 or work server 700, server 100 or work server 700 can support the user's terminal device 140 in conducting business in a secure environment. In one embodiment, server 100 can support the installation of applications not installed in a secure container on the user's terminal device 140. In another embodiment, server 100 can receive emails from an external mail server and provide the received emails to the user's terminal device 140. In another embodiment, server 100 can support access to virtual machine resources via a network (e.g., a Virtual Private Network (VNP)) encrypted by the user's terminal device 140 using a secure container. In another embodiment, server 100 can support the user's terminal device 140 accessing a document sharing server through a secure container for document collaboration within a business system. In another embodiment, when the user's terminal device 140 accesses the system through a secure container, server 100 can determine whether the user's terminal device 140 is conducting business operations in a workplace by verifying the location information of the user's terminal device 140. In another embodiment, server 100 can support reading external data through a secure container, which is obtained through a non-secure container on the user's terminal device 140.

[0184] Meanwhile, the above embodiment describes implementation using a single server in server 100 and a single working server 700, but this is merely an example; implementation can also be achieved using multiple servers in server 100 and working server 700. Furthermore, server 100 and working server 700 do not need to be physically separated; they can be implemented using a single server. Additionally, besides server 100 and working server 700, a virtual machine server may also be included for user terminal devices 140 to access the virtual machine.

[0185] Server 100 may include a communicator 110, a memory 120, and a controller 130. However, this is only an example, and server 100 may include other components such as a display in addition to the communicator 110, memory 120, and controller 130.

[0186] The communicator 110 may include at least one of a WiFi module and a wireless communication module. Specifically, the WiFi module can communicate via WiFi. When using the WiFi module, various connection information such as SSID (SSID, wireless network name) can be sent and received first, and then various information can be sent and received after establishing a communication connection using the WiFi module. Furthermore, the wireless communication module can perform communication according to various communication standards, such as IEEE, Zigbee, 3G (third generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), and 5G (fifth generation).

[0187] Meanwhile, the communicator 100 can communicate with the user's terminal device 140 or the work server 700 using an encrypted network (e.g., VPN).

[0188] The memory 120 can store various instructions used to control the overall operation of the server 100. Specifically, the memory 120 can store unique identification information for the terminal device 140 of a user capable of accessing the server 100 or its associated resources. Furthermore, the memory 120 can store security environment information regarding the security conditions required for the user's terminal device 140 to access the server in a secure environment.

[0189] The controller 130 can control the operation of the server 100 according to various instructions stored in the memory 120. In particular, the controller 130 can support access by user terminal devices 140 in a secure environment.

[0190] In the following description, various embodiments of server 100 supporting access by user terminal device 140 in a secure environment are described with reference to Figures 8 to 13 describe.

[0191] Figure 8 A timing diagram is shown of a method for a server to generate a container for a user's terminal device according to an embodiment of the present disclosure.

[0192] First, S810: The user's terminal device 140 can receive a container generation request. In this case, after the initial access to server 100, the user receives the container generation request and then logs into server 100. Optionally, when logging into server 100, the container generation request can be automatically entered into the user's terminal device 140.

[0193] S820: The user's terminal device 140 can send a container generation request and unique identification information.

[0194] Furthermore, S830: Server 100 can authenticate the user's terminal device 140 based on unique identification information. Specifically, when a container generation request is received from the user's terminal device 140, server 100 can authenticate or support authentication of the user's terminal device 140 based on the unique identification information received from the user's terminal device 140. The memory 120 of server 100 can pre-store the unique identification information on the user's terminal device 140. In this case, the unique identification information may include at least some information such as device token information given during the manufacturing process of the user's terminal device 140, the user's terminal device 140's telephone number, and mobile communication chip information (e.g., USIM chip information), and not just MAC address or IP address information. That is, by storing not only communication information, such as the user's terminal device 140's telephone number and mobile communication chip, but also the device token information given during the manufacturing of the user's terminal device 140, authentication of the user's terminal device 140 and the user can be performed. Therefore, when a user uses any user's terminal device 140, the company cannot check the security of that user's terminal device 140, so the security is likely to be weak. However, the security of a terminal device 140 used by a user designated by the company may be further enhanced.

[0195] S840: When authenticating a user's terminal device 140, the server 100 may provide or support providing predetermined security environment information required by the server 100 to the authenticated user's terminal device 140. In this case, the security environment information may include network information (e.g., information about encrypted networks (SSL-VPN), etc.) that allows the communication environment of the secure container to meet predetermined security conditions. Furthermore, the security environment information may also include information on the security conditions required by the financial institution or financial company for the user's terminal device 140 to use. For example, the user's terminal device 140 may require the following security conditions.

[0196] 1. Take measures to prevent unauthorized operation of terminals by non-responsible personnel;

[0197] 2. Maintain records that can verify whether the user is an authorized terminal user accessing the information processing system;

[0198] 3. Designate key terminals for enhanced protection measures, such as prohibiting exits, internet access, and group software access;

[0199] 4. Control terminal access to auxiliary storage media and portable computer devices to prevent information leakage and malicious token infection.

[0200] S850: The user's terminal device 140 can separate containers based on security environment information. Specifically, the user's terminal device 140 can be separated into (i) a secure container for communicating with the server 100 under predetermined security conditions required by the server 100, and (ii) a non-secure container for communicating with another server under conditions more vulnerable to attack than those security conditions. That is, the server 100 can support the container separation of the user's terminal device 140 so that the communication environment of the secure container meets the predetermined security conditions.

[0201] Furthermore, when a user's terminal device 140 is authenticated, the server 100 can remotely install or support the installation of applications that the user has permission to use on the identified terminal device 140, within a secure container on the user's terminal device 140. That is, the controller 130 can remotely install or support the installation of applications that are identified as having permission for operation.

[0202] User terminal devices 140 are divided into secure containers and non-secure containers. For more detailed descriptions, please refer to [link / reference]. Figure 9 .

[0203] A container is an assembly of applications and data (e.g., tokens, libraries, environment variables, configuration files, etc.) used to execute an application. Figure 8 As shown, containers can be categorized into insecure containers 910 and 920 and secure container 930. Insecure containers 910 and 920 can be container assembly images that can be executed over the general internet (e.g., application A and its binary files, library data, etc.), and can connect to other servers (e.g., insecure servers) that are more vulnerable to attack compared to the security conditions required for secure containers. Secure container 930 can be a container packaging image (e.g., application C and its binary files, library data, etc.) that can be executed over an encrypted network and access server 100 or related resources (e.g., cloud servers or work servers 700 including virtual machine resources).

[0204] Insecure containers 910 and 920, as well as secure container 930, can be booted by executing an image (including the packages required to run the application) and can share the host kernel.

[0205] Furthermore, the user's terminal device 140 can provide a personal mode for personal use and a work mode for business use. The screen of the user's terminal device 140 can include user interfaces (e.g., icons) for accessing the personal and work modes, and the user's terminal device 140 can operate in the mode of the selected corresponding user interface, based on one of a first user interface (icon) corresponding to the personal mode and a second user interface (icon) corresponding to the work mode included in the selected screen. When the private mode is selected, the user's terminal device 140 can access the general server (insecure server) through insecure containers 310 and 320. When the work mode is selected, the user's terminal device 140 can access the secure server 100 through the secure container 930. In particular, when the work mode is selected, the user's terminal device 140 can access the secure server 100 using an encrypted network (e.g., SSL VPN, etc.).

[0206] Methods for server 100 to support access from user terminal device 140 in a secure environment, and operation reference for user terminal device 140 in working mode. Figure 1 The description. Figure 10 A flowchart illustrating a method for a server to support user terminal device access in a secure environment according to an embodiment of the present disclosure is shown.

[0207] S1010: Server 100 may receive an access request from user terminal device 140. At this time, when a user command for operating or executing an application (e.g., application C) in working mode is entered into user terminal device 140, server 100 may receive an access request from user terminal device 140.

[0208] S1020: Server 100 can verify the security conditions and unique identification information of the user's terminal device 140.

[0209] S1030: Server 100 can determine whether security conditions are met. That is, server 100 can determine whether the user's terminal device 140 accesses the network through an encrypted network or whether it meets the security conditions required by the financial institution.

[0210] S1040: If the security condition is met (S1030 - Yes), then server 100 can determine whether the unique identification information is pre-registration information. That is, server 100 can determine whether there is pre-registration information corresponding to the unique identification information received from the user's terminal device 140.

[0211] S1050: If the unique identification information is pre-registered information (S1040 - Yes), then server 100 may allow user terminal device 140 to access it.

[0212] However, S1060: If the security conditions are not met (S1030 - No), or if the unique identification information is not pre-registered information (S1040 - No), the server 100 may deny access to the user's terminal device 140. In this case, the server 100 may send a text message to the user's terminal device 140 containing information about the reason for the denial (e.g., unsatisfactory security conditions, unauthenticated unique identification information, etc.), and the user's terminal device 140 may provide a message to the user.

[0213] As described above, by verifying the user's terminal device 140 through confirming security conditions and unique identification information, the server 100 can support the user's terminal device 140 to access the server 100 or related resources in a secure environment.

[0214] At the same time, although it has already been Figure 10 As described in the document, step S1030 is executed before step S1040. This is just an example; step S1040 can be executed before step S1030, and steps S1030 and S1040 can be executed in parallel.

[0215] Furthermore, server 100 can remotely install, remove, or manage applications required for work. That is, server 100 can support user terminal devices 140 accessing server 100 in a secure environment by separating work-required applications (i.e., applications registered with server 100) into secure containers. However, users may need to run specific applications not registered with server 100 in work mode depending on the nature of their work. Therefore, users can request installation from the administrator through an application store.

[0216] Specifically, an icon corresponding to the application store can be displayed on the screen of the user's terminal device 140. In this case, the icon corresponding to the application store could be the icon displayed in working mode, but this is just an example, and the icon corresponding to the application store could also be the icon displayed in personal mode. When the user selects the icon corresponding to the application store, the user's terminal device 140 can provide a list including multiple applications. In particular, when entering an installation request by selecting a first application that is not installed in the secure container among multiple applications, the user's terminal device 140 can send an installation request for the first application that is not installed in the secure container to the server 100.

[0217] Server 100 can determine whether to allow the installation of the first application. In this case, if the first application is an application registered on the server, server 100 can install or support the installation of the first application on the user's terminal device 140. If the first application is not registered on the server, server 100 can send a message to the administrator's terminal device asking whether the installation of the first application is allowed. When the administrator's terminal device receives the message allowing installation, server 100 can install or support the installation of the first application on the user's terminal device 140. However, if the administrator's terminal device receives a message disallowing installation, server 100 can send a boot message to the user's terminal device 140 indicating that the installation of the first application is not allowed. In this case, the user's terminal device 140 can display the boot message indicating that the installation of the first application is not allowed.

[0218] Furthermore, server 100 can provide emails received from an external mail server to user's terminal device 140 via a secure container. Specifically, when an email request is received through the secure container of user's terminal device 140, server 100 can transmit or support the external email server transmitting the body and attachments of emails stored in an email account mapped to the user's terminal device to a secure email server accessed from or through the secure container of user's terminal device 140. Therefore, server 100 can support users viewing emails within the secure container's application.

[0219] At this time, when an email request is received through the secure container of the user's terminal device 140, the external mail server can determine the spam in the received email and send the emails other than spam to the secure mail server or the user's terminal device (1310).

[0220] Furthermore, the secure container can access the company network's work server 700 via an encrypted network (e.g., a Virtual Private Network (VPN)). In this case, the user's terminal device 140 can access the virtual machine via a secure network within the secure container (e.g., an SSL VPN or an IPSec VPN). In this scenario, the server 100 can determine whether the user's terminal device's secure container meets the security requirements and can support the user's terminal device 140 in accessing the assigned virtual machine (i.e., the cloud server).

[0221] Specifically, server 100 can determine or support determining whether a virtual machine resource request was received from the secure container of the user's terminal device 140 via a VPN. When the user's virtual machine allocation and usage permissions on terminal device 140 are authenticated, server 100 can allow or supports allowing access to the virtual machine through the secure container. In this case, unique identification information can be used to verify usage permissions, but this is just an example, and other identification information (e.g., ID, password, etc.) can be used to verify usage permissions.

[0222] Therefore, the user's terminal device 140 can communicate with the enterprise network's work server 700 after accessing the virtual machine. Meanwhile, such as Figure 11A As shown, after accessing the virtual machine 1100 in the public cloud, the user's terminal device 140 can communicate with the enterprise network's work server 700. However, this is just an example. After accessing the virtual machine 1100 in the private cloud within the enterprise network, the user's terminal device 140 can also communicate with the enterprise network's work server 700. Specifically, as... Figure 11B As shown, after accessing the virtual machine 1100 on the public network within the enterprise network, and after accessing the virtual machine 1100 on the enterprise network within the enterprise, the user's terminal device 10 can communicate with the enterprise network's work server 700. Within the network, the user's terminal device 140 can communicate with the enterprise network's work server 700.

[0223] However, after allowing virtual machine access, if it is confirmed that the virtual machine communication request is through a network with lower security than a VPN, server 100 may block the session connection between user terminal device 140 and the virtual machine server. Alternatively, it may control user terminal device 140 to issue a security warning. Specifically, after confirming that user terminal device 140 accesses through a secure network, server 100 confirms the virtual machine allocation and usage permissions of user terminal device 140 and issues an authorization token. In this state, user terminal device 140 uses the authorization token to communicate with the virtual machine. Server 100 can confirm or support confirmation of the path for sending and receiving data packets between user terminal device 140 and the virtual machine. Furthermore, based on the confirmation result of sending / receiving data packets through an insecure network as the data packet path, server 100 may block the session connection between user terminal device 100 and the virtual machine, or control user terminal device 100 to issue a security warning.

[0224] Furthermore, server 100 can support collaborative document sharing by user terminal devices 140 accessing the document sharing server through a secure container. In this case, the document sharing server can be a server necessary for systematically managing and utilizing documents required for company work within the work system, rather than a server that stores documents on user terminal devices 140.

[0225] Specifically, based on the user's terminal device 140 accessing the file-sharing server for collaborative file work via a secure container, server 100 can verify the user's terminal device 140's access permissions. In particular, when the user's terminal device 100 accesses the document-sharing server through a virtual machine, server 100 can verify access permissions during user authentication within the virtual machine. When the user's terminal device 140 directly accesses the document-sharing server, server 100 can use the unique identification information of the user's terminal device 140 to verify access permissions.

[0226] Based on the permissions of the user's terminal device 140 that have been confirmed to have access to the file sharing server, the server 100 may allow or support the user's terminal device 140 to access the file sharing server.

[0227] In this scenario, a user's terminal device 140 with access permissions can access a predetermined area (logical area) of the document sharing server. However, when multiple users' terminal devices access the same document file on the document sharing server, in one embodiment, only the first terminal device of the user has modification permissions, while the user's other terminal devices may only have query permissions. In another embodiment, all of the user's terminal devices can have editing permissions, but only the terminal device of the user who first accesses the document in a closed state has editing permissions. In this case, the accesses of multiple user terminal devices can be recorded and read from the document sharing server or server 100.

[0228] In addition, the server 100 can receive location information from the user's terminal device 10 and determine whether the user's terminal device 10 is located in an allowed location (i.e., a working location).

[0229] Reference Figure 12 A detailed description. Figure 12 A timing diagram is shown of a method for a server to identify the location of a user's terminal device according to an embodiment of the present disclosure.

[0230] S1210: GPS information about the location of the user's terminal device obtained from satellite 1210 based on the location of the terminal device 10 near the user.

[0231] Furthermore, S1220: The external server 1220 can obtain GPS correction information for the GPS information. In this case, the GPS correction information may include information such as satellite signal delay, satellite clock error, satellite orbit error, tropospheric error, ionospheric error, and multipath. Specifically, the GPS information may be Observation Space Representation (OSR) information or State Space Representation (SSR) information. OSR information is provided to the user's terminal device 140 by summing all error factors of the GPS information, and SSR information is provided to the user's terminal device 140 by generating correction information for each error factor of the GPS information. In particular, SSR information may be more cost-effective than OSR information.

[0232] In addition, S1230: Satellite 1210 can send GPS information to user terminal device 140, and S1240: External server 1220 can send GPS correction information to user terminal device 140.

[0233] Then, S1250: The user's terminal device 140 can obtain the actual location information of the user's terminal device 140 based on the obtained GPS information and GPS correction information.

[0234] S1260: The user's terminal device 140 can send the obtained actual location information to the server 100. Simultaneously, the user's terminal device 140 can also send the actual location information obtained while operating in working mode to the server 100. That is, when the user's terminal device 140 accesses the server 100 through a secure container, the user's terminal device 140 can send actual location information.

[0235] Meanwhile, the actual location information can be calculated by server 100. That is, after the user's terminal device obtains GPS information about its location near the user's terminal device from an artificial satellite, and obtains GPS correction information from an external server to calculate the accurate location of the user's terminal device, the GPS information and GPS correction information can be sent to server 100, and server 100 can calculate the actual location information based on this information.

[0236] S1270: Server 100 can identify whether the user's terminal device 140 is in an allowed location based on the actual location information.

[0237] When it is detected that a user is communicating with server 100 through a secure container in an unauthorized location, server 100 can either block access to the user's terminal device 140 or enable the user to perform tasks at a specified location via the user's terminal device 140. For example, if it is determined that the user's terminal device 140 is not in the work area, such as... Figure 13As shown, the user's terminal device 140 can provide an instruction message 1310, which reads "Please move to the work area".

[0238] Specifically, if, after the initial guidance message 1310 instructs the user to work in the designated work area and remain safe, the user fails to return to the designated work location even after a predetermined time has elapsed or after multiple notifications, the server 100 may forcibly block the communication connection. Furthermore, the server 100 may store the user's actual location information in the attendance record without separately blocking access or providing guidance messages.

[0239] In addition, server 100 can support user terminal devices 10 to bring data obtained through insecure containers into the enterprise network with the administrator's consent.

[0240] Specifically, when receiving an import request for external data obtained through a non-secure container of a user's terminal device 10, the server 100 can store or support the storage of the external data in a cloud server, and can transmit the summarized information of the external data to the terminal device of the import approval authority. In particular, the user's terminal device 10 may have a separate application or channel for data import requests in its working container. Under the condition of meeting security requirements such as secure networks, the user's terminal device 10 can receive external data import requests through a separate application or channel.

[0241] When the terminal device of the import approval authority approves a request to import external data, server 100 can import or support the import of the requested external data into the enterprise network, thereby supporting the reading of external data through the secure container of the user's terminal device 140. In this case, server 100 can support determining whether the requested external data contains a malicious token or whether the external data requested to be imported into the enterprise network contains a malicious token.

[0242] Furthermore, methods according to various embodiments of this disclosure can be stored in a storage medium. A device-readable storage medium can be provided in the form of a non-transitory storage medium. Here, "non-transitory storage medium" means a tangible device, simply indicating that it does not contain signals (e.g., electromagnetic waves), and this term does not distinguish between semi-permanent data storage, data storage, and temporary data storage. For example, a "non-transitory storage medium" may include a buffer for temporarily storing data.

[0243] According to one embodiment, a computer program product may include and provide methods according to various embodiments of the present disclosure. The computer program product can be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., an optical disc read-only memory (CD-ROM)) or through an application store (e.g., the Play Store). TM Online distribution (e.g., downloading and uploading) or direct distribution between two user devices (e.g., smartphones). If distributed online, at least a portion of the computer program product may be temporarily generated or at least temporarily stored in a machine-readable storage medium, such as the memory of a manufacturer's server, an app store's server, or a relay server.

[0244] According to various embodiments, each of the above-described components (e.g., a module or program) may include a single entity or multiple entities. According to various embodiments, one or more of the above-described components may be omitted, or one or more other components may be added. Optionally or additionally, multiple components (e.g., modules or programs) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform one or more functions of each of the multiple components in the same or similar manner as performed by the corresponding component of the multiple components prior to integration.

[0245] According to various embodiments, operations performed by a component, module, program, or other component may be performed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be performed in a different order or omitted, or one or more other operations may be added.

[0246] The embodiments of this disclosure have been described above, but this disclosure is not limited to the specific embodiments and various modifications can be made by those skilled in the art to which this disclosure pertains without departing from the scope of this disclosure as defined in the appended claims, and such modifications should not be understood solely from the technical concepts or scenarios of this disclosure.

Claims

1. A method for controlling the operation of a virtual machine on a cloud via a server, the method comprising: (a) Receive a request from a terminal device of a user who has access to only a specific virtual machine resource from a plurality of virtual machine resources for allocating or deallocating at least some of the plurality of virtual machine resources to the terminal device; as well as (b) Based on the user's control conditions over at least some of the identified virtual machine resources, by generating a process corresponding to at least some of the virtual machine resources, the system supports the allocation or deallocation of the virtual machine resources, and loads the process into memory or deletes the process from memory according to the request. Prior to step (a), it also includes: (a1) Confirm or support confirmation of whether the user's terminal device requests virtual machine resources through a first network that meets predetermined security requirements; After step (b), (c) After confirming the allocation of the virtual machine to the user's terminal device and the access rights, and issuing an authorization token, while the user's terminal device is communicating with the allocated virtual machine using the authorization token, confirming or supporting the confirmation of the path of data packets sent or received between the user's terminal device and the allocated virtual machine; and (d) Based on the result of the path confirmation, if it is determined that the sending and receiving of data packets are transmitted through a second network that does not meet the predetermined security requirements, the session connection between the user's terminal device and the virtual device is blocked or the user's terminal device is controlled in order to issue a security warning to the user's terminal device. In step (d), Based on the security warning issued and the lack of feedback from the user's terminal device within a predetermined time or longer, the system may block or support blocking the session connection between the user's terminal device and the virtual machine.

2. The method as described in claim 1, wherein, The user is a regular user who does not have management privileges over the virtual machines on the cloud, and Step (a) includes receiving from the terminal device a request to allocate or deallocate at least some of the virtual resources among the plurality of virtual machine resources corresponding to the registered account of the ordinary user.

3. The method as described in claim 1, wherein, Step (b) includes generating a process corresponding to at least some of the plurality of virtual machine resources based on environment data corresponding to the user's pre-registered account, supporting the allocation of the virtual machine resources, and loading the process into memory.

4. The method as described in claim 1, further comprising, after allocating or deallocating predetermined virtual machine resources on the terminal device, after a preset predetermined time or upon reaching a preset specific time, supporting the deletion of a process corresponding to the allocated predetermined virtual machine resources or the generation of a process corresponding to the deallocated predetermined virtual machine resources, and loading the process into the memory.

5. The method of claim 1, further comprising: After allocating predetermined virtual machine resources to the terminal device, based on at least some information regarding the size of data packets transmitted and received between the terminal device and the allocated virtual machine, the system confirms or supports confirming the virtual machine usage status, data loading, and data transfer time interval on the terminal device; and Based on the confirmation result, it is determined that the user of the terminal device is not using a virtual machine, and the deletion of the process corresponding to the allocated predetermined virtual machine resources is supported.

6. The method of claim 1, wherein, Step (b) includes: Information confirming or supporting confirmation of the first task performed by the user on the terminal device; and It supports increasing or decreasing the size of virtual machine resources allocated to the user's terminal device based on information from the task.

7. The method of claim 6, further comprising: Based on information about the size of virtual machine resources used by multiple users when performing a second task similar to the first task in the past, the system supports increasing or decreasing the size of virtual machine resources applied to the user. Step (b) includes, Based on the size of at least some of a plurality of virtual machine resources exceeding the size of virtual machine resources allowed by the user's organization, and based on a received request for allocating at least some virtual machine resources to the terminal device, Supports refusing to allocate at least some of the virtual machine resources or allocating only virtual machine resources permitted by the user's organization to the terminal device.

8. The method of claim 1, wherein, Step (b) includes, Based on the size of at least some of the plurality of virtual machine resources within the size range allowed by the user's organization, and based on the received request for allocating the at least some virtual machine resources to the terminal device, Supports allocating at least some of the virtual machine resources to the terminal device, thereby reducing the number of virtual machine resources that can be allocated to a terminal device belonging to another user of the organization.

9. The method of claim 1, wherein, Step (a1) includes confirming whether the user terminal device requests virtual machine resources through the first network by verifying that the network address has been translated into a predefined first network address, and Step (c) includes issuing an authorization token based on the user who assigned the virtual machine to the terminal device and the usage rights confirmed based on the user's personal information.

10. The method of claim 1, wherein, Step (a1) includes: based on the unconfirmed access through the first network, controlling the user's terminal device to reject the virtual machine resource request, and issuing a security warning on the user's terminal device.

11. The method of claim 1, wherein, In steps (a1) and (c), although access through the first network and the allocation and usage rights of the virtual machine are confirmed based on the terminated process or inactive process of the virtual machine assigned to the user's terminal device, no authorization token is issued.

12. The method of claim 1, further comprising: Based on the virtual machine's process execution request received from the user's terminal device via the second network, the process execution request of the virtual machine is rejected, and the user's terminal device is controlled to issue the security warning on the user's terminal device.

13. The method of claim 1, wherein, The step (a1) further includes: (a1-1) Confirm or support confirmation of the settings of the first network of the user's terminal device; and (a1-2) Confirm or support confirmation of whether a virtual machine resource request from the user's terminal device has been received through the first network, and, in Although the settings of the first network in step (a1-1) were confirmed, the virtual machine resource request in step (a1-2) was executed without a processing execution request from the user's terminal device for the allocated virtual machine. The server confirms whether the virtual machine process allocated to the user's terminal device has been generated and loaded into memory, and supports rejecting or accepting the virtual machine resource request based on the confirmation result.