Application distribution device, application distribution method, and program
The application distribution device and method address the inefficiency in server utilization by managing server locations and conditions, enabling effective distribution to suitable servers within a desired execution area, thus optimizing server usage.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-29
- Publication Date
- 2026-04-07
AI Technical Summary
Existing techniques for distributing applications to servers fail to effectively utilize multiple servers as distribution destinations due to the selection being based solely on delay, leading to unsuitable server choices.
An application distribution device and method that manages server locations and usage conditions, selects candidate servers within a desired execution area, and distributes applications to servers that meet specific usage criteria, facilitating easier sharing of multiple servers.
Enables more efficient sharing and utilization of multiple servers as application distribution destinations by ensuring they meet predefined usage conditions, thereby optimizing server usage.
Smart Images

Figure 0007841587000001 
Figure 0007841587000002 
Figure 0007841587000003
Abstract
Description
Technical Field
[0001] The present invention relates to a technique for distributing an application to a server.
Background Art
[0002] A technique for distributing an application to any one of a plurality of servers is known. Patent Document 1 describes a technique for selecting a server at one location as a distribution destination of an application from servers arranged at a plurality of locations in a network based on the amount of delay with a plurality of client terminals.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Here, it is conceivable to jointly use a plurality of servers that can be distribution destinations of an application by a plurality of organizations or the like. For example, any organization can provide a service to a terminal using the server by distributing a desired application to any one of the servers. Thereby, a plurality of servers can be effectively utilized. However, in the technique described in Patent Document 1, since one server is selected from the viewpoint of the amount of delay, there is a possibility that the selected server is not necessarily suitable for executing a desired application. For this reason, there has been a problem that it is difficult to jointly use a plurality of servers that can be distribution destinations of an application in this technique.
[0005] One aspect of the present invention has been made in view of the above problems, and an example of an object thereof is to provide a technique that makes it easier to jointly use a plurality of servers that can be distribution destinations of an application. [Means for solving the problem]
[0006] An application distribution device according to one aspect of the present invention comprises: a management means for managing the location and usage conditions of each of a plurality of servers; an acquisition means for acquiring an application distribution request that includes information about a desired execution area; a selection means for selecting a server from the plurality of servers that is included in the desired execution area as a candidate server; a determination means for determining one or more destination servers from among the candidate servers that satisfy the usage conditions; and a distribution means for distributing the application to the one or more destination servers.
[0007] An application distribution method according to one aspect of the present invention includes: managing the location and usage conditions of each of a plurality of servers; obtaining a distribution request for an application, which includes information about a desired execution area; selecting a server from the plurality of servers that is included in the desired execution area as a candidate server; determining one or more destination servers from among the candidate servers that satisfy the usage conditions; and distributing the application to the one or more destination servers.
[0008] A program relating to one aspect of the present invention is a program for causing a computer to function as an application distribution device, wherein the computer functions as: a management means for managing the location and usage conditions of each of a plurality of servers; an acquisition means for acquiring an application distribution request, which includes information about a desired execution area; a selection means for selecting a server from the plurality of servers that is included in the desired execution area as a candidate server; a determination means for determining one or more destination servers from among the candidate servers that satisfy the usage conditions; and a distribution means for distributing the application to the one or more destination servers. [Effects of the Invention]
[0009] According to one aspect of the present invention, multiple servers that can serve as destinations for application distribution can be made more easily shared and available for use. [Brief explanation of the drawing]
[0010] [Figure 1] This is a block diagram showing the configuration of an application distribution device according to exemplary embodiment 1 of the present invention. [Figure 2] This is a flowchart showing the flow of an application distribution method according to exemplary embodiment 1 of the present invention. [Figure 3] This is a block diagram showing the configuration of an application distribution system according to an exemplary embodiment 2 of the present invention. [Figure 4] This is a block diagram showing the configuration of an application distribution device according to an exemplary embodiment 2 of the present invention. [Figure 5] This figure illustrates a specific example of server information in Exemplary Embodiment 2 of the present invention. [Figure 6] This is a flowchart showing the flow of an application distribution method according to an exemplary embodiment 2 of the present invention. [Figure 7] This figure shows a specific example of a delivery request in Exemplary Embodiment 2 of the present invention. [Figure 8] Figure 6 is a flowchart showing the detailed flow of the change processing. [Figure 9] This figure illustrates a specific example of notification information displayed on a terminal in an exemplary embodiment 2 of the present invention. [Figure 10] This is a block diagram showing hardware configuration examples of application distribution devices according to each exemplary embodiment of the present invention. [Modes for carrying out the invention]
[0011] [Exemplary Embodiment 1] A first exemplary embodiment of the present invention will be described in detail with reference to the drawings. This exemplary embodiment is the basic form of the exemplary embodiments described later.
[0012] <Configuration of Application Delivery Device 10> The configuration of the application delivery device 10 according to this exemplary embodiment will be described with reference to FIG. 1. FIG. 1 is a block diagram showing the configuration of the application delivery device 10. As shown in FIG. 1, the application delivery device 10 includes a management unit 11, an acquisition unit 12, a selection unit 13, a determination unit 14, and a delivery unit 15.
[0013] The management unit 11 manages the location and usage conditions of each of the plurality of servers. The acquisition unit 12 acquires a delivery request including information regarding the desired execution area, which is a delivery request for an application. The selection unit 13 selects, as candidate servers, the servers included in the desired execution area among the plurality of servers. The determination unit 14 determines one or more delivery destination servers that satisfy the usage conditions from among the candidate servers. The delivery unit 15 delivers the application to the one or more delivery destination servers. Details of each of these functional blocks will be described in the "Flow of Application Delivery Method S1" described later.
[0014] Note that the above-described application includes, as an example, general software and general firmware, and refers to all non-hardware processing entities.
[0015] <Flow of Application Delivery Method S1> The flow of the application delivery method S1 according to this exemplary embodiment will be described with reference to FIG. 2. FIG. 2 is a flowchart showing the flow of the application delivery method S1. As shown in FIG. 2, the application delivery method S1 includes steps S11 to S15.
[0016] (Step S11) In step S11, the management unit 11 manages the location and usage conditions of each of the plurality of servers. For example, the management unit 11 may manage these by associating and storing information indicating each server, its location, and its usage conditions. Here, the usage conditions are the conditions for using a server as a server for executing an application. For example, the usage conditions may be conditions according to the characteristics, status, or operation policy of each server, etc. However, the usage conditions are not limited to the examples described above.
[0017] (Step S12) In step S12, the acquisition unit 12 acquires a distribution request including information on the desired execution area, which is a distribution request for an application. Here, the desired execution area is the area desired as the location of the server for executing the application. For example, as the desired execution area, an area physically close to the terminal using the application to be distributed may be specified.
[0018] (Step S13) In step S13, the selection unit 13 selects, as candidate servers, the servers included in the desired execution area among the plurality of servers. The servers included in the desired execution area are the servers whose locations managed by the management unit 11 are included in the desired execution area.
[0019] (Step S14) In step S14, the determination unit 14 determines one or more distribution destination servers that satisfy the usage conditions from among the candidate servers. For example, when there are a plurality of servers that satisfy the usage conditions, the determination unit 14 may determine all of them as the distribution destination servers, or may determine a part of them as the distribution destination servers.
[0020] (Step S15) In step S15, the distribution unit 15 distributes the application to one or more destination servers. For example, the distribution unit 15 may distribute the application indicated by the distribution request, which is pre-stored in the application distribution device 10, to one or more destination servers. Alternatively, the distribution unit 15 may obtain the application indicated by the distribution request from an external source and distribute the obtained application to one or more destination servers. The distribution unit 15 may also control an external device that stores the application indicated by the distribution request so that the application is distributed to one or more destination servers from that external device.
[0021] <Example of implementation in a program> When the application distribution device 10 is configured using a computer, the following program is stored in the memory referenced by the computer. This program is a program that causes the computer to function as the application distribution device 10, and causes the computer to function as a management unit 11 that manages the location and usage conditions of each of the multiple servers, an acquisition unit 12 that acquires an application distribution request, which includes information about the desired execution area, a selection unit 13 that selects servers included in the desired execution area from among the multiple servers as candidate servers, a determination unit 14 that determines one or more distribution destination servers that meet the usage conditions from among the candidate servers, and a distribution unit 15 that distributes the application to one or more distribution destination servers.
[0022] The computer executes the program, thereby realizing the application distribution device 10 and application distribution method S1 described above.
[0023] <Effects of this exemplary embodiment> As described above, in this exemplary embodiment, the following configuration is adopted: for each of the multiple servers, the location and usage conditions of the server are managed; a distribution request for an application is received, which includes information about the desired execution area; a server included in the desired execution area is selected from among the multiple servers as a candidate server; one or more destination servers that meet the usage conditions are determined from among the candidate servers; and the application is distributed to one or more destination servers.
[0024] Therefore, according to this exemplary embodiment, each server will be delivered with the application to be executed if the usage conditions are met, and will not be delivered if the usage conditions are not met. Consequently, usage conditions can be set according to each server, making it easier to share the server. As a result, it is possible to make it easier to share multiple servers that can be destinations for application delivery.
[0025] [Exemplary Embodiment 2] A second exemplary embodiment of the present invention will be described in detail with reference to the drawings. Components having the same function as those described in Exemplary Embodiment 1 will be denoted by the same reference numerals, and their descriptions will be omitted as appropriate.
[0026] <Configuration of Application Distribution System 1A> The configuration of the application distribution system 1A according to this exemplary embodiment will be described with reference to Figure 3. Figure 3 is a block diagram showing the configuration of the application distribution system 1A. As shown in Figure 3, the application distribution system 1A includes an application distribution device 10A, servers 20-1, 20-2, ..., 20-9, ..., terminals 30-A, 30-B, 30-C, ..., and a service server 80. When there is no need to distinguish between servers 20-1, 20-2, ..., they are simply referred to as server 20. Similarly, when there is no need to distinguish between terminals 30-A, 30-B, 30-C, ..., they are simply referred to as terminal 30.
[0027] The application distribution device 10A is connected to the server 20 and the service server 80 via the network N1 so that it can communicate with them.
[0028] The service server 80 is connected to the server 20 via network N1. Network N1 may, but is not limited to, include a WAN such as the Internet. The service server 80 may, but is not limited to, a server called a cloud server.
[0029] Server 20 is connected to terminal 30 via networks N2-A, N2-B, N2-C, ... Hereafter, unless there is a need to specifically distinguish between networks N2-A, N2-B, and N2-C, they will simply be referred to as network N2. Network N2 may also include, for example, mobile data communication, wireless LAN (Local Area Network), or wired LAN. As an example, network N2 may include a low-latency fifth-generation mobile communication system (5G) wireless communication network. However, network N2 is not limited to the examples described above. Furthermore, server 20 may, but is not limited to, a server called an edge server.
[0030] (Service Server 80) The service server 80 is a computer that performs processing in conjunction with the application distributed to the server 20. The service server 80 provides services by performing processing in conjunction with the application. Although Figure 3 shows two service servers 80, the number of service servers 80 may be one or three or more. If multiple service servers 80 are included, each service server 80 may provide the same service as at least one other service server 80, or it may provide a different service. Furthermore, the provider of each service may be the same as at least one other service server 80, or it may be different.
[0031] (Server 20) Server 20 is a computer that runs the delivered application. By running the delivered application, Server 20 works in cooperation with Service Server 80 to provide services to one or more terminals 30 that are physically close to it.
[0032] For example, the location of server 20 is within one of areas A, B, C, ... Hereafter, unless there is a need to distinguish between areas A, B, and C, they will simply be referred to as "areas." For example, an area is defined as a geographical region. Servers 20 within each area can connect to terminals 30 that are physically close to the server 20 via the network N2 corresponding to each area.
[0033] Specifically, in the example in Figure 3, servers 20-1, 20-2, and 20-3 are included in Area A. Network N2-A corresponds to Area A. Each of these servers 20 communicates with terminal 30-A, which is physically close, via Network N2-A. Servers 20-4 and 20-5 are included in Area B. Network N2-B corresponds to Area B. Each of these servers 20 communicates with terminal 30-B, which is physically close, via Network N2-B. Servers 20-6, 20-7, 20-8, and 20-9 are included in Area C. Network N2-C corresponds to Area C. Each of these servers 20 communicates with terminal 30-C, which is physically close, via Network N2-C. Note that networks N2-A, N2-B, N2-C, ... do not necessarily have to be separate networks corresponding to areas; some or all of them may constitute the same network.
[0034] Although Figure 3 shows two of each of terminals 30-A, 30-B, and 30-C, the number of terminals 30 that can connect to networks N2-A, N2-B, and N2-C may be one or three or more.
[0035] (Specific examples of services) This section describes the services provided by the execution of the application. Hereafter, the services provided by the execution of the application will also be referred to as "services provided by the application."
[0036] For example, an application-based service may be one in which real-time performance with respect to terminal 30 is important. A concrete example of a service in which real-time performance is important is a virtual reality service that allows users of terminal 30 to experience virtual reality. Another example is a remote control service that remotely controls terminal 30. Yet another example is a video analysis service that analyzes video received from terminal 30 in real time. Yet another example is an information collection and distribution service that selectively distributes information collected in real time from terminal 30. However, application-based services are not limited to these.
[0037] Furthermore, the services provided by the application may be services offered for a specific period of time. Specific examples of such a specific period include, but are not limited to, a predetermined period following a disaster or the duration of an event.
[0038] The application may be stored in the service server 80 or the application distribution device 10A at least before distribution. Alternatively, the application may be stored in other storage devices connected to network N1 or N2 at least before distribution.
[0039] (Terminal 30) Terminal 30 is a computer to which the application provides services. For example, in the case of a virtual reality service, terminal 30 is, as an example, a virtual reality device. Also, for example, in the case of a remote control service, terminal 30 is, as an example, a control device mounted on construction machinery or an automated guided vehicle. Also, for example, in the case of a video analysis service, terminal 30 is, as an example, a stationary computer connected to a surveillance camera. Also, for example, in the case of an information collection and distribution service, terminal 30 is, as an example, a smartphone, tablet, or personal computer. However, terminal 30 is not limited to the examples given above.
[0040] Furthermore, terminal 30 may have, for example, an input device and / or a display device connected to it, or both built into it. In this case, terminal 30 displays the information received from server 20 on the display device. Terminal 30 also transmits information input from the input device to server 20.
[0041] (Application distribution device 10A) The application distribution device 10A is a device that receives application distribution requests and distributes the application indicated by the distribution request to one of the multiple servers 20. The number of destination servers 20 may be one or multiple.
[0042] The configuration of the application distribution device 10A will be explained with reference to Figure 4. Figure 4 is a block diagram showing the configuration of the application distribution device 10A. As shown in Figure 4, the application distribution device 10A includes a control unit 110A, a storage unit 120A, and a communication unit 130A. The control unit 110A controls all parts of the application distribution device 10A. The storage unit 120A stores various data used by the control unit 110A. The communication unit 130A transmits and receives data with other devices under the control of the control unit 110A.
[0043] The control unit 110A includes a management unit 11A, an acquisition unit 12A, a selection unit 13A, a determination unit 14A, and a distribution unit 15A. The management unit 11A, acquisition unit 12A, selection unit 13A, and determination unit 14A are configured similarly to the functional blocks of the same name in Exemplary Embodiment 1. The distribution unit 15A is configured similarly to the functional blocks of the same name in Exemplary Embodiment 1. Function In addition to being configured in much the same way as a block, it is configured as follows: The distribution unit 15A performs a change process to modify the application distribution status for the first distribution server that no longer meets the usage conditions among the one or more distribution servers to which the application was distributed. Details of the change process will be explained later in "Flow of Application Distribution Method S1A".
[0044] The storage unit 120A stores server information D1. Server information D1 includes an example of information indicating the usage conditions and location as described in the claims.
[0045] (Server Information D1) A specific example of server information D1 will be explained with reference to Figure 5. Figure 5 is a diagram illustrating a specific example of server information D1. As shown in Figure 5, server information D1 includes information that associates the server identifier, location, and usage conditions. In this example, the identifiers of servers 20-1, ... are written as "20-1", ... etc.
[0046] (Specific examples of locations) As shown in Figure 5, server identifiers 20-1, 20-2, and 20-3 are each associated with "Area A" as their location. This indicates that the locations of servers 20-1, 20-2, and 20-3 are included in Area A. Similarly, server identifiers 20-4 and 20-5 are each associated with "Area B" as their location. This indicates that the locations of servers 20-4 and 20-5 are included in Area B. Furthermore, server identifiers 20-6, 20-7, 20-8, and 20-9 are each associated with "Area C" as their location. This indicates that the locations of servers 20-6, 20-7, 20-8, and 20-9 are included in Area C.
[0047] (Specific example of usage conditions 1) For example, the usage conditions include conditions regarding the time of day the application is run. In Figure 5, the usage conditions associated with server identifiers 20-1 and 20-3 are an example of conditions regarding the time of day the application is run. For example, these servers 20 may be running other applications different from the application that can be delivered, resulting in fluctuating loads. In such cases, time periods with relatively low loads may be set depending on the load on each server 20.
[0048] For example, server 20-1 has a usage condition that allows applications to run from "W1" day of the week at "H1" time to "W2" day of the week at "H2" time. "W1" and "W2" refer to specified days of the week. "H1" and "H2" refer to specified times. Also, server 20-3 has a usage condition that allows applications to run only on weekdays.
[0049] Furthermore, the time-related conditions are not limited to the examples given above; they may also include other time-related conditions such as a specific time slot, a specific date, or a specific period of time.
[0050] (Specific example of usage conditions 2) Furthermore, for example, the terms of use include conditions related to the application. In Figure 5, the terms of use associated with server identifiers 20-2, 20-7, and 20-8 are examples of conditions related to the application.
[0051] For example, suppose there is an operational policy for server 20-2 to run applications with high execution priority. In this case, according to this operational policy, a usage condition is set that allows an application to be executed if its execution priority is equal to or greater than "threshold X". "Threshold X" is a value that falls within the range of possible execution priorities.
[0052] Furthermore, for example, let's assume that server 20-7 has characteristics (e.g., processor performance, memory capacity, etc.) suitable for running applications of type "Q". In this case, a usage condition is set that it is possible to run applications of type "Q" according to those characteristics. Note that "Type Q" indicates the type into which an application can be classified. Examples of application types include, but are not limited to, "virtual reality," "remote control," and "video analysis."
[0053] Furthermore, for example, let's assume that the resources available for running the applications that can be delivered to server 20-8 are limited to a threshold R. In this case, a usage condition is set that the application can be run if the requested resources are less than or equal to the threshold R, in accordance with the limitation of the available resources. Resources may be, but are not limited to, free memory capacity, processor performance, etc. Note that the condition regarding the requested resources is not necessarily limited to being less than or equal to the threshold, but may also be greater than or equal to the threshold. Also, the condition regarding the requested resources is not limited to a numerical condition. For example, the condition regarding the requested resources may be a condition regarding the type of operating system, etc.
[0054] The application conditions are not limited to the examples mentioned above; other application conditions may also apply.
[0055] (Specific example of usage conditions 3) Furthermore, for example, the terms of use include conditions related to urgency. In Figure 5, the terms of use associated with server identifiers 20-4 and 20-9 are examples of conditions related to urgency.
[0056] For example, suppose there is an operational policy for server 20-4 that the application should only run in the event of a disaster. In this case, according to that operational policy, the usage conditions will be set so that the application can only be run in the event of a disaster.
[0057] Furthermore, server 20-9 is deemed to lack the characteristics necessary to handle expected access during a disaster. In this case, a usage condition is set that the application can only be run during normal operation, in accordance with these characteristics.
[0058] Furthermore, the conditions related to urgency may also be expressed as conditions of urgency, such as the urgency level being above a threshold, below a threshold, etc. However, the conditions related to urgency are not limited to the examples given above.
[0059] (Specific example of usage conditions 4) Furthermore, for example, the terms of use include conditions relating to the requester of the distribution request. In Figure 5, the terms of use associated with server identifier 20-5 are an example of conditions relating to the requester of the distribution request. The requester of the distribution request is, for example, the provider of the service provided by the application. The provider may be, but is not limited to, an organization, business operator, or individual.
[0060] For example, suppose server 20-5 has an operational policy that allows the application to run only if the requester possesses a predetermined privilege, "Privilege Y". In this case, according to the operational policy, the usage condition is set that the application can be run if the requester has "Privilege Y". "Privilege Y" refers to the type of privilege that the requester may possess.
[0061] (Specific example of usage conditions 5) Furthermore, it includes, for example, the terms and conditions relating to users of services provided by the application. In Figure 5, the terms of use associated with server identifier 20-6 are an example of the terms and conditions relating to users of services provided by the application.
[0062] For example, suppose there is an operational policy that server 20-6 can run any application that provides services to a large number of users. In this case, according to that operational policy, a usage condition is set that the application can run if the number of service users is "Z people" or more.
[0063] Furthermore, the conditions regarding users of the application-based service are not limited to the number of users, but may also include, for example, the attributes expected of such users (gender, age, etc.), but are not limited to these.
[0064] <Application distribution method S1A flow> The application distribution device 10A configured as described above will execute the application distribution method S1A according to this exemplary embodiment. The flow of the application distribution method S1A will be explained with reference to Figure 6. Figure 6 is a flowchart showing the flow of the application distribution method S1A. As shown in Figure 6, the application distribution method S1A includes steps S21 to S27.
[0065] (Step S21) In step S21, the management unit 11A manages the location and usage conditions of each of the multiple servers 20. Specifically, the management unit 11A manages the server information D1 stored in the storage unit 120A. For example, the management unit 11A updates the server information D1 by performing additions, changes, deletions, etc., to the server information D1 based on information obtained from an external source.
[0066] (Step S22) In step S22, the acquisition unit 12A acquires a distribution request for an application, which includes information about the desired execution area. For example, the acquisition unit 12A acquires a distribution request entered by the service provider of the application. The service provider may enter such a distribution request using an input device (not shown) connected to the application distribution device 10A. Alternatively, the service provider may enter such a distribution request using a terminal (not shown) connected to the application distribution device 10A via the network N1.
[0067] (Specific examples of delivery requests) Here, a specific example of a delivery request will be explained with reference to Figure 7. Figure 7 is a diagram showing a specific example of a delivery request. In Figure 7, a delivery request includes the desired execution area, the desired execution date and time, the urgency level, the requester's authority, the number of service users, and application information.
[0068] The desired execution area indicates the area where the server 20 running the application is to be located. In this example, "C" (i.e., area C) is set as the desired execution area. The desired execution area is not limited to one area; it may include multiple areas.
[0069] The desired execution date and time indicates the time when you want the application to run. In this example, the desired execution date and time is set to the period "January 1, 2022 to February 28, 2022". The desired execution date and time can also be a specific day of the week, time slot, date, period, etc.
[0070] Furthermore, urgency indicates the urgency of running the application. For example, urgency can be set to either "Disaster Occurrence" (high urgency) or "Normal Times" (low urgency). In this example, "Disaster Occurrence" is set as the urgency.
[0071] Furthermore, the requester's permissions indicate the permissions granted to the requester. As mentioned earlier, the requester of a delivery request is, for example, the service provider by the application. For example, the requester may be granted permissions from Level 1 to Level 3. In this example, the requester's permissions are set to "Level 3".
[0072] Furthermore, the number of service users indicates the number of people who are expected to use the service provided by the application. In this example, the number of service users is set to "10,000".
[0073] The application information also includes information about the application you wish to receive, which in this example includes identification information, type, execution priority, and requested resources.
[0074] Application identification information is information that identifies the application to be distributed. For example, if there are multiple applications that can be distributed (e.g., Apps A to C), the identification information may be information that identifies any one of them. In this example, "App A" is set as the identification information.
[0075] Furthermore, the type of application could be, but is not limited to, "virtual reality," "remote control," or "video analysis." In this example, "remote control" is set as the application type.
[0076] In this example, the application's execution priority is an integer between 1 and 5, with higher numbers indicating higher priority. In this example, the execution priority is set to "3".
[0077] In this example, the application's requested resource represents the amount of free memory needed, which is set to 1GB. However, the requested resource is not limited to the amount of free memory needed; it could be any other requested resource.
[0078] (Step S23) In step S23 of Figure 6, the selection unit 13A selects a server 20 from among the multiple servers 20 that is included in the desired execution area as a candidate server. For example, in the example of Figure 7, since the desired execution area included in the distribution request is "Area C", the selection unit 13A selects servers 20-6, 20-7, 20-8, and 20-9 included in Area C as candidate servers.
[0079] (Step S24) In step S24, the decision unit 14A selects one or more delivery destination servers, which are the server 20 that meet the usage conditions, from among the candidate servers.
[0080] For example, the decision unit 14A refers to the server information D1 and determines whether the delivery request satisfies the usage conditions of the candidate servers (servers 20-6, 20-7, 20-8, 20-9). For example, in the examples in Figures 5 and 7, the decision unit 14A determines that the "number of service users = 10,000" included in the delivery request satisfies the usage condition of server 20-6, "the number of service users is 'Z' or more" (for example, if Z = 5,000). The decision unit 14A also determines that the "type of application = remote control" included in the delivery request satisfies the usage condition of server 20-7, "the type of application is 'type Q'" (for example, if Q = remote control). Furthermore, the decision unit 14A determines that the "requested resource = 1GB" included in the delivery request satisfies the usage condition of server 20-8, "the requested resource is 'threshold R' or less" (for example, if R = 5GB). Furthermore, the decision unit 14A determines that the "urgency = disaster occurrence" included in the distribution request does not satisfy the server 20-9's usage condition of "normal times only".
[0081] Therefore, the decision unit 14A selects the destination servers (servers 20-6, 20-7, 20-8) from among the candidate servers (servers 20-6, 20-7, 20-8, 20-9).
[0082] (Step S25) In step S25, the distribution unit 15A distributes the application to one or more destination servers. Here, the application distribution device 10A can distribute the application based on the application's identification information.
[0083] For example, in the example in Figure 7, the application identification information included in the distribution request is "App A". For example, suppose that the actual "App A" that can be distributed is stored in the storage unit 120A. In this case, the distribution unit 15A sends the actual "App A" stored in the storage unit 120A to the distribution destination servers (servers 20-6, 20-7, 20-8).
[0084] Furthermore, for example, the distribution unit 15A may be able to identify the network storage location of the application based on the application's identification information. For example, the distribution request may include the network storage location of the application in place of, or in addition to, the application's identification information. In this case, the distribution unit 15A retrieves the actual "App A" from the storage location and sends it to the destination servers (servers 20-6, 20-7, 20-8).
[0085] Furthermore, for example, the distribution unit 15A can identify the distribution device that distributes the application based on the application's identification information. For example, the distribution request may include information that identifies the distribution device that distributes the application, in addition to the application's identification information. In this case, the distribution unit 15A notifies the distribution device to distribute the actual "App A" to the destination servers (servers 20-6, 20-7, 20-8).
[0086] Furthermore, once the distribution unit 15A has completed the distribution, it sends a distribution result to the destination servers (servers 20-6, 20-7, 20-8) indicating that the application has been distributed. For example, the distribution unit 15A may send the distribution result to the terminal used by the requester to input the distribution request, or it may send the distribution result to the service server 80.
[0087] As a result, the service server 80 works in conjunction with the application delivered to the destination server to provide services to the terminal 30.
[0088] (Step S26) In step S26, the distribution unit 15A determines whether the destination server no longer meets the usage conditions. Specifically, the distribution unit 15A may periodically determine whether each of one or more destination servers meets the usage conditions.
[0089] For example, a delivery server that previously met time-related usage conditions may cease to meet those conditions over time. For instance, if it was initially limited to weekdays only, it may cease to meet those conditions on weekends.
[0090] Furthermore, for example, a distribution server that previously met the usage conditions related to urgency may cease to meet those conditions if the urgency changes. In this case, the application distribution device 10A is configured to obtain the latest information regarding urgency. For example, if the condition was met only in the event of a disaster, after a predetermined period has elapsed since the disaster occurred, the urgency may decrease and the condition may no longer be met.
[0091] Furthermore, for example, a distribution server that previously met the usage conditions for service users may cease to meet those conditions as the number of service users changes. In this case, the application distribution device 10A is configured to obtain the latest information regarding service users. For example, if the condition that the number of service users was above a threshold was met, a decrease in the number of service users may cause the condition to no longer be met.
[0092] The examples of situations where the usage conditions are no longer met are not limited to those mentioned above. In the following, a distribution server that no longer meets the usage conditions among one or more distribution servers will be referred to as the first distribution server.
[0093] For example, in the examples in Figures 5 and 7, suppose the total number of terminals 30-C connected to the destination servers (servers 20-6, 20-7, and 20-8) decreases from 10,000 users included in the distribution request to 4,000 users. In this case, the decision unit 14A determines that "current number of service users = 4,000" no longer satisfies the usage condition of server 20-6, "the number of service users is 'Z people' or more" (for example, if Z = 5,000). In this case, server 20-6 is an example of a first destination server.
[0094] If No is determined in step S26, the distribution unit 15A repeats step S26.
[0095] (Step S27) If the determination in step S26 is "Yes," the distribution unit 15A executes a change process to modify the application distribution status with respect to the first distribution destination server. The details of the change process will be explained with a separate diagram.
[0096] (Detailed flow of the change process) The detailed flow of the change process in step S27 will be explained with reference to Figure 8. Figure 8 is a flowchart showing the detailed flow of the change process. As shown in Figure 8, the change process includes steps S31 to S37.
[0097] (Step S31) In step S31, the distribution unit 15A notifies the terminal 30 connected to the first destination server that it will change the distribution status of the application. Changing the distribution status includes, for example, stopping the execution of the application on the first destination server.
[0098] For example, the distribution unit 15A sends notification information to terminal 30-C connected to the first distribution destination server (server 20-6), including that the execution of the application will be stopped. In this example, terminal 30-C is assumed to include a touch panel in which an input device and a display device are integrally formed. Terminal 30-C displays the notification information on the touch panel. A specific example of the notification information displayed on the touch panel of terminal 30-C will be explained with reference to Figure 9. Figure 9 is a diagram illustrating a specific example of the notification information displayed on the touch panel of terminal 30-C.
[0099] As shown in Figure 9, the touch panel of terminal 30-C displays example screen G1. Example screen G1 includes notification information stating, "The service on the server you are currently connected to will stop in one hour." Thus, the notification information displayed to terminal 30-C may include information indicating that the application's execution is scheduled to stop.
[0100] (Step S32) In step S32, the distribution unit 15A asks the user of the terminal 30 connected to the first distribution destination server whether or not they wish to continue using the services provided by the application.
[0101] For example, the distribution unit 15A sends inquiry information, including the inquiry, to terminal 30-C connected to the first destination server (server 20-6). Terminal 30-C displays the inquiry information on its touch panel. A specific example of the inquiry information displayed on the touch panel of terminal 30-C will be explained with reference to Figure 9. As shown in Figure 9, when terminal 30-C receives the inquiry information, screen example G2 is displayed on its touch panel instead of screen example G1. Screen example G2 includes the inquiry information, "Do you want to continue using the service? *If you continue, we will switch servers," and operation objects G21 and G22. If an operation on operation object G21 is received, terminal 30-C sends information indicating "No (i.e., do not want to continue using the service)" to the first destination server (server 20-6). If an operation on operation object G22 is received, terminal 30-C sends information indicating "Yes (i.e., want to continue using the service)" to the first destination server (server 20-6).
[0102] (Step S33) In step S33 of Figure 8, the distribution unit 15A determines, based on the information received from the terminal 30, whether or not the user has responded that they will continue to use the service. If it is determined to be No in step S33, step S37, which will be described later, is executed.
[0103] (Step S34) If the decision in step S33 is "Yes," then step S34 is executed. In step S34, the distribution unit 15A determines whether there is another server 20 (second distribution server) among the one or more distribution servers that meets the usage conditions. The second distribution server is a different server 20 from the first distribution server that no longer meets the usage conditions.
[0104] If the number of destination servers determined in step S24 is multiple, and at least one of them, different from the first destination server, still meets the usage conditions, for example, if, among the destination servers (servers 20-6, 20-7, and 20-8), servers 20-7 and 20-8, which are different from the first destination server (server 20-6), still meet the usage conditions, then those destination servers (servers 20-6 and 20-7) become the second destination servers, and the result of the determination in this step is Yes.
[0105] Furthermore, suppose that the number of destination servers determined in step S24 is multiple, and none of them meet the usage conditions. For example, this could happen if none of the destination servers (servers 20-6, 20-7, and 20-8) meet the usage conditions. In this case, the result of the determination in that step will be No.
[0106] Furthermore, if the number of destination servers determined in step S24 is one, the first delivery will not be performed. destination Since there is no second delivery server different from the server, the result of the decision in step S34 is No.
[0107] (Step S35) If the result in step S34 is No, then step S35 is executed. In step S35, the determination unit 14A determines a third distribution server from among the candidate servers that is different from any of the one or more distribution servers determined in step S24 and that satisfies the usage conditions. The distribution unit 15A then distributes the application to the determined third distribution server.
[0108] For example, suppose that among the candidate servers (servers 20-6, 20-7, 20-8, and 20-9), server 20-9, which previously did not meet the usage requirements, now meets them. In this case, the decision unit 14A determines server 20-9 as the third distribution destination server. The distribution unit 15A then distributes the new application to server 20-9.
[0109] (Step S36) In step S36, the distribution unit 15A performs a process to change the connection destination of the terminal 30 that is connected to the first distribution destination server.
[0110] Specifically, if the decision is made in step S34, the distribution unit 15A changes the connection destination of the terminal 30 connected to the first distribution destination server to the second distribution destination server (another server 20 among the multiple distribution destination servers that meets the usage conditions). Furthermore, after executing step S35, the distribution unit 15A changes the connection destination of the terminal 30 connected to the first distribution destination server to the third distribution destination server.
[0111] As a result, for example, a user of terminal 30-C who was connected to the first distribution server (server 20-6) can connect to the second distribution server (servers 20-7, 20-8) or the third distribution server (server 20-9) and continue to use the service.
[0112] (Step S37) In step S37, the distribution unit 15A stops the execution of the application on the first distribution destination server. Also, for example, the distribution unit 15A stops the first distribution destination You may remove the application from the server.
[0113] <Effects of this exemplary embodiment> As described above, in this exemplary embodiment, in addition to the same configuration as in exemplary embodiment 1, the usage conditions include conditions relating to the time during which the application is executed.
[0114] Therefore, according to this exemplary embodiment, each server 20 that can be a destination for the application can run the application at times that satisfy the usage conditions of that server 20. Furthermore, each server 20 does not need to run the application at times that do not satisfy the usage conditions. As a result, by setting usage conditions for each server 20, including conditions regarding the time suitable for running the application, the server 20 can be made more easily shared.
[0115] Furthermore, in this exemplary embodiment, in addition to the same configuration as in exemplary embodiment 1, the usage conditions are configured to include conditions related to the application.
[0116] Therefore, according to this exemplary embodiment, each server 20 that can be a destination for an application can run an application that satisfies the usage conditions of that server 20. Furthermore, each server 20 is not required to run an application that does not satisfy the usage conditions. As a result, by setting usage conditions for each server 20, including conditions regarding applications suitable for execution, the server 20 can be more easily utilized for shared use.
[0117] Furthermore, in this exemplary embodiment, in addition to the same configuration as in exemplary embodiment 1, the usage conditions include conditions relating to the requester of the delivery request.
[0118] Therefore, according to this exemplary embodiment, each server 20 that can be an application distribution destination can execute the application requested by a requester who meets the usage conditions of the server 20. Furthermore, each server 20 is not required to execute the application requested by a requester who does not meet the usage conditions. As a result, by including in the usage conditions of each server 20 what conditions a requester must meet to execute the application, the server 20 can be made more easily shared.
[0119] Furthermore, in this exemplary embodiment, in addition to the same configuration as in exemplary embodiment 1, the usage conditions include conditions relating to the users of the service provided by the application.
[0120] Therefore, according to this exemplary embodiment, each server 20 that can be a destination for the application can execute the application if the usage conditions of the server 20 are met with respect to the users of the service provided by the application. Furthermore, each server 20 does not have to execute the application if the usage conditions are not met with respect to the users of the service. As a result, by including in the usage conditions of each server 20 what conditions must be met with respect to the users of the service for the application to be executed, the server 20 can be made more easily shared.
[0121] Furthermore, in this exemplary embodiment, in addition to the same configuration as in exemplary embodiment 1, the usage conditions include conditions related to urgency.
[0122] Therefore, according to this exemplary embodiment, each server 20 that can be the destination of the application can execute the application if the urgency of executing the application meets the usage conditions of that server 20. Furthermore, each server 20 does not have to execute the application if the urgency does not meet the usage conditions. As a result, by including in the usage conditions what conditions regarding urgency must be met for each server 20 to execute the application, each server 20 can be made more easily available for shared use.
[0123] Furthermore, in this exemplary embodiment, in addition to the same configuration as in exemplary embodiment 1, a configuration is adopted in which a change process is performed to change the application distribution status with respect to the first distribution server that no longer meets the usage conditions among the one or more distribution servers to which the application was distributed.
[0124] Therefore, according to this exemplary embodiment, with respect to the server 20 to which the application is delivered, the application delivery status can be changed in consideration of changes in the conditions related to the usage conditions of the server 20. As a result, each server 20 can be made more easily available for shared use.
[0125] Furthermore, the aforementioned modification process includes a process to stop the execution of the application on the first distribution server. Therefore, if the server 20 to which the application was delivered (the first distribution server) changes and the conditions for use of the server 20 are no longer met, the server 20 does not need to continue executing the application.
[0126] Furthermore, the aforementioned change process includes a process to notify terminal 30 connected to the first distribution server that the application distribution status has been changed. Therefore, users receiving services from the server 20 (first distribution server) to which the application was distributed can be aware that the application distribution status has been changed.
[0127] Furthermore, the above-described modification process includes a process of inquiring with the user of the terminal 30 connected to the first distribution server whether or not they wish to continue using the services provided by the application. Therefore, subsequent processing can be performed depending on whether or not the user receiving the service from the server 20 (first distribution server) to which the application was distributed wishes to continue using the service.
[0128] Furthermore, if multiple distribution servers have been determined, the above-described change process includes changing the connection destination of the terminal 30 connected to the first distribution server to a second distribution server among the multiple distribution servers that meets the usage conditions. As a result, users receiving services from the server 20 (first distribution server) to which the application was distributed can continue to use the service.
[0129] Furthermore, the aforementioned modification process includes the process of distributing the application to a third distribution server that is different from any of the one or more candidate distribution servers and that meets the usage conditions. Therefore, the application can continue to provide services using the third distribution server instead of the first distribution server.
[0130] [Variation 1] In the exemplary embodiment 2 described above, an example in which one usage condition is associated with one server 20 (or its server identifier) was explained using Figure 5. However, the system is not limited to this, and multiple usage conditions may be associated with one server 20. In this case, the determination unit 14A may determine the server 20 that satisfies all of the multiple usage conditions as the destination server, or it may determine the server 20 that satisfies any of the multiple usage conditions as the destination server.
[0131] [Variation 2] In the exemplary embodiment 2 described above, an example in which multiple areas are defined without overlap was explained using Figure 3. However, the example is not limited to this, and at least two of the multiple areas may overlap. In this case, as shown in Figure 5, multiple areas may be associated with one server 20. For example, if there is an overlapping portion between area A and area B, and server 20-3 is included in the overlapping area, then area A and area B are associated with server 20-3.
[0132] [Variation 3] In the exemplary embodiment 2 described above, the application information may be predetermined according to the application. In that case, the application information may be stored in the storage unit 120A of the application distribution device 10A. Furthermore, the distribution request may include application identification information but not other application information. In this case, the determination unit 14A obtains the application information corresponding to the identification information included in the distribution request from the storage unit 120A. The determination unit 14A also refers to the server information D1, the distribution request, and the obtained application information to determine whether the distribution request satisfies the usage conditions.
[0133] [Variation 4] In the exemplary embodiment 2 described above, the service server 80 was described as providing services in cooperation with the application distributed to the server 20. However, the application distributed in response to a distribution request may provide services without coordinating with the service server 80.
[0134] [Variation 5] In the exemplary embodiment 2 described above, the distribution unit 15A sent notification information to a terminal 30 connected to the first destination server to notify it of a change in the application distribution status. However, the distribution unit 15A may also send notification information to the first destination server to notify it of a change in the application distribution status. In this case, for example, the administrator of the first destination server can decide whether or not to change the application distribution status based on the notification information, how to change it if necessary, and what processing to perform before making the change.
[0135] [Variation 6] In the exemplary embodiment 2 described above, the distribution unit 15A does not necessarily have to perform all of the steps shown in Figure 8 as part of the change processing. For example, the distribution unit 15A may perform the process of notifying of the change (S31) and not perform the other steps.
[0136] Furthermore, for example, the distribution unit 15A may execute the process of changing the connection destination to the second distribution server (S32, S33, S34, S36) when continuing to use the service, but may not execute the process of changing the connection destination to the third distribution server (S35, S36).
[0137] Furthermore, for example, the distribution unit 15A may execute a process (S37) to stop the execution of the application without executing steps S31 to S36. Also, for example, after executing the process to notify of the change (S31), the distribution unit 15A may execute a process (S37) to stop the execution of the application without executing the process to change the connection destination (S32 to S36).
[0138] Furthermore, for example, the distribution unit 15A may execute the process of changing the connection destination (S34-S36) without executing the process of inquiring whether to continue using the service (S32, S33). Note that the change process for changing the distribution status is not limited to the example described above.
[0139] [Examples of implementation using software] Application distribution device 10, 10 A Some or all of the functions may be implemented by hardware such as integrated circuits (IC chips), or by software.
[0140] In the latter case, application distribution device 10, 10 A is For example, this is implemented by a computer that executes instructions for a program, which is software that implements each function. An example of such a computer (hereinafter referred to as computer C) is shown in Figure 10. Computer C comprises at least one processor C1 and at least one memory C2. Memory C2 is used to send computer C to application distribution device 10, 10 A andA program P for operation is recorded. In computer C, the processor C1 reads program P from memory C2 and executes it, thereby realizing the functions of application distribution devices 10 and 10A.
[0141] Processor C1 can include, for example, a CPU (Central Processing Unit), GPU (Graphic Processing Unit), DSP (Digital Signal Processor), MPU (Micro Processing Unit), FPU (Floating Point Number Processing Unit), PPU (Physics Processing Unit), microcontroller, or a combination thereof. Memory C2 can include, for example, flash memory, HDD (Hard Disk Drive), SSD (Solid State Drive), or a combination thereof.
[0142] Computer C may also be equipped with RAM (Random Access Memory) for loading program P at runtime and for temporarily storing various data. Furthermore, computer C may be equipped with communication interfaces for sending and receiving data with other devices. Additionally, computer C may be equipped with input / output interfaces for connecting input / output devices such as keyboards, mice, displays, and printers.
[0143] Furthermore, program P can be recorded on a non-temporary, tangible recording medium M that is readable by computer C. Such a recording medium M could be, for example, tape, disk, card, semiconductor memory, or programmable logic circuitry. Computer C can acquire program P via such a recording medium M. Program P can also be transmitted via a transmission medium. Such a transmission medium could be, for example, a communication network or broadcast waves. Computer C can also acquire program P via such a transmission medium.
[0144] [Additional Note 1] The present invention is not limited to the embodiments described above, and various modifications are possible within the scope of the claims. For example, embodiments obtained by appropriately combining the technical means disclosed in the embodiments described above are also included in the technical scope of the present invention.
[0145] [Additional Note 2] Some or all of the embodiments described above may also be described as follows. However, the present invention is not limited to the embodiments described below.
[0146] (Note 1) For each of the multiple servers, a management means for managing the location and usage conditions of that server, A distribution request that includes information about the desired execution area, and an acquisition means for acquiring an application distribution request, A selection means for selecting a server from among the aforementioned multiple servers that is included in the desired execution area as a candidate server, A determination means for determining one or more destination servers from among the candidate servers that satisfy the usage conditions, Distribution means for distributing the application to the one or more distribution destination servers, An application distribution device equipped with the following features.
[0147] (Note 2) The aforementioned terms of use include conditions relating to the time during which the application is run. The application distribution device described in Appendix 1.
[0148] (Note 3) The aforementioned terms of use include the terms relating to the aforementioned application, The application distribution device described in Appendix 1 or 2.
[0149] (Note 4) The aforementioned terms of use include the terms relating to the requester of the aforementioned distribution request, An application distribution device as described in any one of the appendices 1 to 3.
[0150] (Note 5) The aforementioned terms of use include the terms relating to the users of the services provided by the aforementioned application, An application distribution device as described in any one of the appendices 1 to 4.
[0151] (Note 6) The aforementioned terms of use include conditions relating to urgency, An application distribution device as described in any one of the appendices 1 to 5.
[0152] (Note 7) The distribution means performs a change process to modify the distribution status of the application with respect to the first distribution server, which is one of the one or more distribution servers to which the application has been distributed, and which no longer meets the usage conditions. An application distribution device as described in any one of the appendices 1 to 6.
[0153] (Note 8) The aforementioned modification process includes a process to stop the execution of the application on the first distribution server. The application distribution device described in Appendix 7.
[0154] (Note 9) The aforementioned modification process includes a process of notifying the first distribution server, or a terminal connected to the first distribution server, that the distribution status of the application has been changed. Application distribution device as described in Appendix 7 or 8.
[0155] (Note 10) The aforementioned modification process includes a process that inquires the user of the terminal connected to the first distribution server whether or not they wish to continue using the services provided by the application. An application distribution device as described in any one of the appendices 7 to 9.
[0156] (Note 11) If the aforementioned determination means determines multiple destination servers, The aforementioned modification process includes a process that changes the connection destination of a terminal connected to the first distribution destination server to a second distribution destination server among the plurality of distribution destination servers that satisfies the aforementioned usage conditions. An application distribution device as described in any one of the appendices 7 to 10.
[0157] (Note 12) The aforementioned modification process is: The process includes distributing the application to a third distribution server, which is different from any of the one or more distribution servers mentioned above, and which satisfies the usage conditions, among the candidate servers. An application distribution device as described in any one of the appendices 7 to 10.
[0158] (Note 13) For each of the multiple servers, manage the location and usage conditions of that server, A distribution request that includes information about the desired execution area, and obtaining an application distribution request, Selecting a server from among the aforementioned multiple servers that is included in the desired execution area as a candidate server, From the aforementioned candidate servers, one or more destination servers that meet the aforementioned usage conditions are selected, Distributing the application to one or more of the aforementioned destination servers, Application delivery methods including
[0159] (Note 14) A program for causing a computer to function as an application distribution device, wherein the computer, For each of the multiple servers, a management means for managing the location and usage conditions of that server, A distribution request that includes information about the desired execution area, and an acquisition means for acquiring an application distribution request, A selection means for selecting a server from among the aforementioned multiple servers that is included in the desired execution area as a candidate server, A determination means for determining one or more destination servers from among the candidate servers that satisfy the usage conditions, Distribution means for distributing the application to the one or more distribution destination servers, A program that makes it function as such.
[0160] [Additional Note 3] Some or all of the embodiments described above can also be expressed as follows:
[0161] An application distribution device comprising at least one processor, wherein the processor performs, for each of a plurality of servers: a management process for managing the location and usage conditions of the server; an acquisition process for acquiring an application distribution request that includes information about a desired execution area; a selection process for selecting a server from the plurality of servers that is included in the desired execution area as a candidate server; a determination process for determining one or more destination servers from among the candidate servers that satisfy the usage conditions; and a distribution process for distributing the application to the one or more destination servers.
[0162] Furthermore, this application distribution device may also be equipped with memory, which may store a program that causes the processor to execute the management process, the acquisition process, the selection process, the decision process, and the distribution process. This program may also be recorded on a computer-readable, non-temporary, tangible recording medium. [Explanation of Symbols]
[0163] 1A Application Distribution System 10, 10A Application Distribution Device 11, 11A Management Department 12, 12A Acquisition Department 13, 13A Selection Section 14, 14A Decision Section 15, 15A Distribution Department Servers 20, 20-1 to 20-9 Terminals 30, 30-A, 30-B, and 30-C 80 Service Servers 110A Control Unit 120A storage unit 130A Communications Department C1 Processor C2 Memory
Claims
1. A management means for managing each of multiple servers by associating the server's location with usage conditions indicating a predetermined period from a first time to a second time during which the application can be executed. A distribution request including information about the desired execution area, and an acquisition means for acquiring the distribution request for the application, A selection means for selecting a server from among the aforementioned multiple servers that is included in the desired execution area as a candidate server, A determination means for determining one or more destination servers from among the candidate servers that satisfy the usage conditions, The system includes distribution means for distributing the application to one or more distribution destination servers, The distribution means executes a modification process to change the distribution status of the application with respect to the first distribution server among the one or more distribution servers to which the application has been distributed, which no longer meets the usage conditions. The aforementioned modification process includes a process of notifying the first distribution server, or the user's terminal connected to the first distribution server, that the distribution status of the application has been changed. Application distribution device.
2. The aforementioned modification process includes a process to stop the execution of the application on the first distribution server. The application distribution device according to claim 1.
3. The aforementioned modification process is: The process includes notifying the first distribution server, or a terminal connected to the first distribution server, that the distribution status of the application has been changed. Furthermore, the process includes querying the user of the terminal connected to the first distribution server whether or not to switch the server provided by the application. An application distribution device according to claim 1 or 2.
4. The aforementioned modification process includes a process that inquires the user of the terminal connected to the first distribution server whether or not they wish to continue using the services provided by the application. An application distribution device according to any one of claims 1 to 3.
5. If the aforementioned determination means determines multiple destination servers, The aforementioned modification process includes a process that changes the connection destination of a terminal connected to the first distribution destination server to a second distribution destination server among the plurality of distribution destination servers that satisfies the aforementioned usage conditions. An application distribution device according to any one of claims 1 to 4.
6. The modification process includes a process of distributing the application to a third distribution server among the candidate servers that is different from any of the one or more distribution servers and that satisfies the usage conditions. An application distribution device according to any one of claims 1 to 4.
7. For each of the multiple servers, the location of the server and the usage conditions indicating a predetermined period from a first time to a second time during which the application can be executed are managed in association with each other. A distribution request that includes information about the desired execution area, and which involves obtaining the distribution request for the said application, Selecting a server from among the aforementioned multiple servers that is included in the desired execution area as a candidate server, From among the candidate servers, one or more destination servers that meet the usage conditions are selected. Distributing the application to one or more of the aforementioned distribution destination servers, This includes performing a change process to modify the distribution status of the application with respect to the first distribution server, which no longer meets the usage conditions, among the one or more distribution servers to which the application was distributed. The aforementioned modification process includes a process of notifying the first distribution server, or the user's terminal connected to the first distribution server, that the distribution status of the application has been changed. Application distribution methods.
8. A program for causing a computer to function as an application distribution device, wherein the computer, A management means for managing each of multiple servers by associating the server's location with usage conditions indicating a predetermined period from a first time to a second time during which the application can be executed. A distribution request including information about the desired execution area, and an acquisition means for acquiring the distribution request for the application, A selection means for selecting a server from among the aforementioned multiple servers that is included in the desired execution area as a candidate server, A determination means for determining one or more destination servers from among the candidate servers that satisfy the usage conditions, Distribution means for distributing the application to the one or more distribution destination servers, To make it function as, The distribution means executes a modification process to change the distribution status of the application with respect to the first distribution server among the one or more distribution servers to which the application has been distributed, which no longer meets the usage conditions. The aforementioned modification process includes a process of notifying the first distribution server, or the user's terminal connected to the first distribution server, that the distribution status of the application has been changed. program.
Citation Information
Patent Citations
Information distribution system, information distribution method and server device
JP2019101965A
System and method using the same
JP2019139591A
Arrangement constitution device and arrangement constitution method
WO2019159875A1
Management device, selection method, and program
WO2021171521A1