Systems and Methods for Recommendations and Implementations for Edge Computing

The system optimizes edge computing service delivery by recommending and implementing services based on latency and resource availability, ensuring compliance with customer requirements through precise site selection and resource allocation.

JP7697183B6Active Publication Date: 2025-07-17CENTURYLINK INTELLECTUAL PROPERTY LLC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023539868
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-12-30
Filing Date
2021-12-14
Publication Date
2025-07-17
Estimated Expiration
2041-12-14

AI Technical Summary

Technical Problem

Existing edge computing systems lack efficient methods for recommending and implementing computing services that meet specific latency and resource requirements at geographically dispersed provider sites, leading to suboptimal service delivery and resource allocation.

Method used

A system and method for recommending and implementing edge computing services that involve receiving customer information, determining provider location data and latency profiles, and providing a list of suitable provider computing sites based on latency and resource availability, with the option to add resources if needed, to ensure compliance with customer requirements.

Benefits of technology

Enables precise selection of provider computing sites that meet latency and resource demands, optimizing service delivery and resource allocation for edge computing services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007697183000001
    Figure 0007697183000001
  • Figure 0007697183000002
    Figure 0007697183000002
  • Figure 0007697183000003
    Figure 0007697183000003
Patent Text Reader

Abstract

In an example, a system and method for edge computing recommendation and implementation is described. A service request is received from a client computing device, the service request including, among other information, information about a customer site's location and the customer's latency requirements. The system provides a recommendation regarding a particular provider computing site based, for example, on coarse and / or fine latency estimates, and implements the requested computing service at the selected provider computing site.
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Patent Application No. 63 / 132,193, filed December 20, 2020, which is incorporated herein by reference. Priority is claimed to the extent appropriate to each of the above-disclosed applications.

[0002] Edge computing is a computing model in which computation and / or data storage is performed close to the location of the entity requesting the computing service. The proximity of the requesting computing device to the provider computing device performing the computation and / or data storage conserves bandwidth and reduces latency. Aspects of the present application are directed to this generalized environment. Summary of the Invention

[0003] Aspects of the present application include a method for recommending and implementing edge computing services. For example, the method may include receiving customer information in a service request, where the customer information includes at least a desired computing service and customer location data for a customer site. The method may include determining provider location data for a plurality of provider computing sites, and determining a latency profile for each of the plurality of provider computing sites based on the customer location data and the provider location data. Estimate The method continues by determining an estimate of the latency for each of the provider computing sites. Estimate The method further includes providing a list of the provider computing sites based on the estimate, receiving a selection of one of the provider computing sites, and providing the computing services to the customer site from the selected provider computing site.

[0004] Aspects of the present application further include a system for recommending and implementing edge computing services. The system may include at least one processor and a memory operably connected to the at least one processor and storing instructions that, when executed by the at least one processor, cause the system to execute a method. For example, the method may include receiving customer information in a service request, where the customer information may include at least a desired computing service and customer location data regarding a customer site. The method may continue with determining provider location data regarding a plurality of provider computing sites, and determining an estimated value of latency for each of the plurality of provider computing sites based on the customer location data and the provider location data. The method further includes providing a list of the provider computing sites based on the estimated value of latency for each of the provider computing sites, receiving a selection of one of the provider computing sites, and providing the computing service from the selected provider computing site to the customer site. Estimate Estimate

[0005] ​​A further aspect of the present application includes another method for recommending and implementing edge computing services. The method may include receiving customer information in a service request, where the customer information may have at least latency requirements, a desired computing service, and customer location data regarding a customer site. The method may continue with determining a service radius based on the latency requirements, determining provider location data regarding a plurality of provider computing sites, and determining for each of the plurality of provider computing sites whether it is within the service radius of the customer site based on the customer location data and the provider location data. Further, the method may include providing a list of the provider computing sites that are within the service radius of the customer site, receiving a selection of one of the provider computing sites from the list, and providing the computing service from the selected provider computing site to the customer site.

[0006] This summary is provided to introduce, in a simplified form, a portion of the concepts that will be further described below in the detailed description of the embodiments for carrying out the invention. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

Brief Description of the Drawings

[0007]

Figure 1

[0008]

Figure 2

[0009]

Figure 3

[0010]

Figure 4

DETAILED DESCRIPTION OF THE INVENTION

[0011] This application describes an edge computing recommendation and implementation system that enables individual users and / or entities to specify latency and / or computing service requirements, receive recommendations regarding one or more service provider computing sites, automatically procure the resources necessary to provide the desired computing services, and provide the requested computing services at a selected provider computing site.

[0012] FIG. 1 shows an exemplary system 100 for providing and implementing recommendations for edge computing to provide one or more computing services. In the example, client device 102 may access provider system 104 via service portal 106. In some examples, client device 102 may not be associated with a particular customer site. For example, client device 102 may be a laptop, phone, or other wireless or wired computing device accessing service portal 106 via one or more private or public networks. In other examples, client device 102 may be a device associated with provider system 104 that is available for use (e.g., by a provider representative) when demonstrating provider solutions available to a particular customer. In other examples, client device 103, which is part of customer site 105, may be used to access service portal 106.

[0013] In an example, the service portal 106 may comprise one or more computing systems, programs, applications, or combinations thereof for implementing an interface for the recommendation system 108. The service portal 106 may interface with one or more other systems of the provider system 104, for example, and authenticate and authorize specific client devices 102, 103 when using the recommendation system 108. Also, the service portal 106 may interface with other parts of the provider system 104 to allow a customer of the provider system 104 to view, maintain, update, or otherwise utilize information regarding the customer's use of computing services provided by the provider system 104. In some examples, the service portal 106 and the recommendation system 108 may be combined into a single device and / or system.

[0014] In an example, the provider system 104 may comprise a plurality of provider computing sites 110, 112, 114, 116, each of which may comprise an edge computing site. In an example, the provider computing sites 110, 112, 114, 116 may be geographically dispersed so that the provider system 104 can efficiently provide edge computing services to a customer site such as the customer site 105. Only four provider computing sites 110, 112, 114, 116 are shown, but any number of provider computing sites may be provided. In an example, the customer site 105 benefits by obtaining computing services from a provider computing site 110, 112, 114, or 116 that is close to the customer site 105 (so as to reduce latency). Further, the provider computing sites 110, 112, 114, 116 need not all have the same computing resources available. As will be further discussed herein, this system and method may be used to enable a customer or potential customer to find a provider computing site that has (or can be made to have) the necessary resources available to provide the desired computing services and is close enough to the customer site to meet the customer's latency requirements.

[0015] For example, client device 102 may access service portal 106 associated with provider system 104. Service portal 106 may request service from one or more provider computing sites 110, 112, 114, and / or 116 to provide computing services (such as hosting an application, hosting content, etc.) on behalf of a customer, and may receive a service request (e.g., via a user interface presented on client device 102). When the service request is sent to service portal 106, client device 102 may be at customer site 105 or located elsewhere. In some examples, client device 102 and client device 103 are the same device.

[0016] The service request includes customer information such as, for example, the location of customer site 105 and the computing services requested. The service request may also include a latency threshold or latency requirement indicating the maximum amount of time it takes for data to reach one or more customer sites 105 from provider computing sites 110, 112, 114, and / or 116. Only one customer site 105 is shown, but multiple customer sites may be specified in the request. The latency threshold may be, for example, 5 ms or less, 10 ms or less, 15 ms or less, etc. While a specific threshold is given, various latency thresholds may be specified. In some examples, the threshold may be based on the type of operation to be performed by provider computing sites 110, 112, 114, and / or 116. For example, the service request may include a first latency threshold for a first type of application to be hosted and a second latency threshold for a second type of application to be hosted. In other examples, the threshold may be based on the type of data to be stored by provider computing sites 110, 112, 114, and / or 116.

[0017] The service request may also include the physical address / location (e.g., the location address) of the customer site 105. Further, the service request may indicate the type of service requested, or alternatively, specify the required capabilities (e.g., the number of servers, server size, storage capacity, security certifications, bandwidth, etc.) necessary to provide the requested service. For example, the service request may include a request for a particular type of edge computing device (e.g., a server of a particular size that performs various actions, processes a particular type of data, and hosts a particular type of content) to be allocated to a customer at provider computing sites 110, 112, 114, and / or 116. Also, the service request may include a request for a particular number of edge computing devices at provider computing sites 110, 112, 114, and / or 116 to perform the requested task. In the example, the service request may include a single request message received by the service portal 106, or alternatively, a series of messages received in response to a prompt provided from the service portal 106 to the client device 102.

[0018] Information from the service request may be extracted by the service portal 106 and transferred to the recommendation system 108. The recommendation system 108 may use that information to determine which of the provider computing sites 110, 112, 114, and / or 116 to recommend to the customer site 105. To make the recommendation, the recommendation system 108 may perform several functions: (1) EstimateBased on the latency estimate value, determine which of the provider computing sites 110, 112, 114, and / or 116 meet the latency requirements specified in the service request; (2) determine which of the provider computing sites 110, 112, 114, and / or 116 currently have the resources available to provide the service specified in the service request; (3) if the resources required to provide the service are not available at one or more of the provider computing sites 110, 112, 114, and / or 116, determine whether such resources can be added; and (4) if the required resources can be added (and need to be added), estimate the time when such resources can be added; and (5) determine the cost associated with providing the requested service from one or more of the provider computing sites 110, 112, 114, and / or 116.

[0019] For example, the recommendation system 108 may transfer location / address information regarding the customer site 105 to the location system 120. The location system 120 may convert the location / address information (e.g., the local address) regarding the customer site 105 into coordinates of the global positioning system (GPS). In some examples, the location system 120 may return the GPS coordinates regarding the customer site 105 to the recommendation system 108, where the GPS coordinates are used by the recommendation system 108 to further process the service request. In other examples, the recommendation system 108 requests the location system 120 to determine (and return) all provider computing sites 110, 112, 114, and / or 116 that are within a specific service radius from the customer site 105. For example, the recommendation system 108 and / or the location system 120 may store the location information (e.g., GPS coordinates) of all provider computing sites 110, 112, 114, and / or 116. The recommendation system 108 and / or the location system 120 may then use the GPS coordinates of both the customer site 105 and the provider computing sites 110, 112, 114, and / or 116 to determine which of the provider computing sites 110, 112, 114, and / or 116 are within the service radius of the customer site 105.

[0020] In an example, the service radius may be determined (by the recommendation system 108 and / or the location system 120) based on the latency requirements of the service request. In an example (e.g., the provider system 104 includes an optical fiber network), the service radius may be at least partially based on the speed of light. For example, the speed of light is 186,000 miles per second (about 300,000 km per second), which is equal to 186 miles per millisecond (about 300 km per millisecond). If the specified latency requirement is less than or equal to 5 ms, the acceptable service radius between the customer site 105 and the locations of the provider computing sites 110, 112, 114, and / or 116 is 930 miles (about 1497.3 km). The distance between the provider computing sites 110, 112, 114, and / or 116 and the customer site 105 can be used as an estimated value of the latency. Estimate In this example, provider computing sites 110, 112, 114, and / or 116 located outside a radius of 930 miles (about 1497.3 km) may not be considered potential provider computing sites because they cannot meet the specified latency requirement of 5 ms. In some examples, one or more provider computing sites 110, 112, 114, and / or 116 outside this exemplary radius of 930 miles (about 1497.3 km) may still be considered alternative edge computing devices / sites or otherwise identified. For example, alternative provider computing sites 110, 112, 114, and / or 116 may be selected for customer use if other options are not available and / or not desirable.

[0021] In an example, Estimate the latency estimate (and radius calculation) may be based on the straight-line distance between the customer site and the provider computing sites 110, 112, 114, and / or 116. Also, EstimateThe latency estimate (and radius calculation) may be changed or otherwise updated / refined based on the known communication line path (e.g., fiber path) between the locations of customer site 105 and provider computing sites 110, 112, 114, and / or 116 (or near thereto). For example, if the fiber path is relatively straight between the user / entity and the edge computing device / site, the calculation may be relatively accurate. However, if the fiber path follows various curves in the road, it may be necessary to adjust / change the calculation to account for a potentially longer distance along the fiber path. In the example, the recommendation system 108 and / or location system 120 may store and use a fiber path map to determine a more accurate fiber path distance between the locations of customer site 105 and provider computing sites 110, 112, 114, and / or 116. Using the refined fiber path distance measurement / estimate, Estimate the latency estimate may then be used in identifying provider computing sites 110, 112, 114, and / or 116 that are likely to meet the specified latency requirement.

[0022] In some instances, one or more of the nearest provider computing sites 110, 112, 114, and / or 116 may not have the resources available to provide the requested service. For example, provider computing sites 110, 112, 114, and / or 116 may not have sufficient or desired servers, bandwidth, hardware, space, storage, appropriate operating system instances, security certifications, or other resources to provide the requested service. In an example, the recommendation system 108 may determine the availability of resources at provider computing sites 110, 112, 114, and / or 116. For example, the recommendation system 108 may determine the resources required to provide the requested service (e.g., a specific number of servers of a specific size, having a specific number of ports, etc.), and may query the inventory system 122 to determine which of provider computing sites 110, 112, 114, and / or 116 have the available resources required. In some instances, the recommendation system 108 may first determine (using at least Estimate a latency estimate) the provider computing sites 110, 112, 114, and / or 116 that meet the specified latency requirements, and may query the inventory system 122 only about these provider computing sites 110, 112, 114, and / or 116. In other instances, the recommendation system 108 may first determine the provider computing sites 110, 112, 114, and / or 116 that have (or can be made to have) the available resources required, and then from that list, determine the provider computing sites 110, 112, 114, and / or 116 that meet the specified latency requirements. Other orders of operations are possible.

[0023] In an example, the inventory system 122 is a computing system that exists at provider computing sites 110, 112, 114, and 116, is currently in use, and is periodically updated to reflect the currently available resources. The recommendation system 108 may then verify the availability of resources by querying the inventory system 122.

[0024] In an example, if provider computing sites 110, 112, 114, and / or 116 do not have the required available resources, the recommendation system 108 may determine whether it can add the missing resources to that provider computing site 110, 112, 114, and / or 116. In some examples, the recommendation system 108 may make such a determination only if a particular provider computing site 110, 112, 114, or 116 is the subject of a different scenario. For example, the recommendation engine 108 may be configured to query the procurement system 124 to determine whether it can add the necessary missing resources if the nearest provider computing site (or one of a predetermined number of the nearest sites) does not have the required available resources. In an example, the procurement system 124 may be a computing system that is updated with the information necessary to determine whether it can add the necessary missing resources to a particular provider computing site 110, 112, 114, and / or 116 and to estimate when it can be added.

[0025] For example, the recommendation system 108 may determine from the service request that the customer needs two servers of a specific size to provide the requested computing service. The recommendation system 108 may query the location system 120 to determine that the provider site A110 is the provider computing site closest to the customer site 105 and that only this one of the provider computing sites 110, 112, 114, and / or 116 is within the service radius required to meet the latency requirements included in the service request. Further, the recommendation system 108 may query the inventory system 122 to determine that there is only one currently available server of the required size at the provider site A110. The recommendation engine 108 may then query the procurement system 124 to determine whether a server of that size can be added to the provider site A110 and, if so, when that server can be added to the provider site A110. In the example, the procurement system 124 may query an internal or external system to determine whether the missing required resource can be added to the provider site A110 (e.g., whether there is available space in the rack for a server of that size, whether power or other site thresholds are exceeded, etc.). Also, the procurement system 124 may determine whether the required server exists in the provider's inventory, whether it needs to be procured from a third party, and in either case, when it can be delivered and installed.

[0026] In the example, the recommendation system 108 may also determine the cost associated with providing services from one or more of the provider computing sites 110, 112, 114, and / or 116. For example, different costs for providing services from different ones of the provider computing sites 110, 112, 114, and / or 116, including any costs associated with adding the missing required resources to such a site to provide the requested computing service, may be billed to the customer.

[0027] In an example, the recommendation system 108 can then provide one or more initial recommendations to the client device 102 (e.g., via the service portal 106) regarding which provider computing sites 110, 112, 114, and / or 116 can provide the requested computing service. The recommendation may include an ordered list of the optimal provider computing sites 110, 112, 114, and / or 116. The recommendation may also include additional information about the sites, including location, quantity of available resources, Estimate estimated latency, cost, etc. The order of the provider computing sites 110, 112, 114, and / or 116 in the recommendation list may be based on (and / or classifiable by) the estimated latency Estimate of each site, cost, date when all required resources are estimated to be available, or any other metric. In an example, Estimate only sites with an estimated latency that meets the latency requirement of the service request and that have (or can add) the required resources are included in the recommendation. In other examples, a specific number of optimal provider computing sites 110, 112, 114, and / or 116 are included in the recommendation regardless of whether one or more of the request parameters are met. For example, if the estimated latency Estimate for a provider computing site is slightly higher than the latency requirement in the service request, that site may still be included in the list (e.g., with an annotation of the estimated latency). Estimate

[0028] In some examples, the customer can perform an actual latency test on a test server installed on a particular one or more of the provider computing sites 110, 112, 114, and / or 116 to obtain an Exquisite ​An option to obtain an estimated value may be provided. For example, the recommendation system 108 may return a list of recommended provider computing sites 110, 112, 114, and / or 116 along with the estimated values of their respective latencies. Estimate The service portal 106 may provide a selectable option to cause a traceroute test to be performed between the client device 103 of the customer site 105 and one or more of the provider computing sites 110, 112, 114, and / or 116 in the first recommendation list obtained from the recommendation system 108. In other examples, the traceroute test may be initiated without obtaining the first recommendation from the recommendation system 108 or without being selected from the client device 103.

[0029] In an example, upon receiving a selection of an option to cause an estimated latency Exquisite to be performed, the service portal 106 may redirect the client device 102 to the test portal 126. In some examples, the test portal 126 and the service portal 106 may be combined. The test portal 126 may query the client device 102 to determine whether the client device 102 is located at the customer site 105. For example, the operator of the client device 102 may be prompted to enter that information, or the information may be determined or inferred based on the IP address of the client device 102 and / or the routing of any message from the client device 102. If the client device 102 is not at the customer site 105, the test portal 126 may prompt the operator of the client device 102 to enter (and transmit to the test portal 126 and / or the service portal 106) the IP address of a client device (e.g., client device 103) at the customer site 105. The test portal 126 and / or the service portal 106 may then cause a software agent to be sent and installed on the client device 103.

[0030] Such a software agent may be configured to perform a latency test between the client device 103 and one or more provider computing sites 110, 112, 114, and / or 116 that are the targets. For example, if provider site C 114 is the target provider computing site (e.g., within the first recommended list), the software agent on the client device 103 may be configured to send a traceroute request to a test server C operating at provider site C 114 via a network such as network 130. Network 130 may be any type of public network (e.g., the Internet), private network, hybrid network, etc. The test server (e.g., test server C) may be instantiated as needed, or may be constantly operating at each provider computing site 110, 112, 114, and / or 116. The test server C operating at provider site C 114 may then respond to the latency test, and the software client on the client device 103 may report the results to the test portal 126 and / or service portal 106. In other examples, the test portal 126, service portal 106, and / or recommendation system 108 may initiate a latency test from the test server C operating at provider site C 114 to the software agent operating on the client device 103, and report the results to the test portal 126 and / or service portal 106. This procedure can be repeated for multiple provider computing sites 110, 112, 114, and / or 116 that are the targets. In this way, a more accurate latency estimate can be made before the customer determines which provider computing site 110, 112, 114, and / or 116 to select. In the example, the list of recommended provider computing sites 110, 112, 114, and / or 116 is ExquisiteThey may be sorted based on the latency estimate value and then presented again, for example, in service portal 106.

[0031] In an example, a selection of specific provider computing sites 110, 112, 114, and / or 116 where the customer desires to start the requested computing service there may then be received (e.g., in service portal 106). For example, the customer may enter a final selection and order the requested service via service portal 106. Then, a procurement system 124 may be used to automatically procure any missing necessary resources identified for the selected site. For example, this may include automatically ordering new equipment, having new servers and / or communication lines installed, etc.

[0032] The requested computing service may then be instantiated and provided from the selected provider computing sites 110, 112, 114, and / or 116 to the customer site 105. For example, if the requested computing service includes the use of two servers at provider computing site 110, these servers may be allocated to the customer, installed, assigned IP addresses, and configured with any necessary software / operating system, etc., to be made available to the customer site 105.

[0033] FIG. 2 shows an exemplary method 200 for recommending and implementing edge computing to a customer. In an example, some or all of the operations of method 200 may be implemented by a recommendation system such as recommendation system 108 of FIG. 1, although specific operations may also be executed by one or more other elements of system 100 shown in FIG. 1.

[0034] In operation 202, customer information is received in the service request. For example, recommendation system 108 and / or service portal 106 may receive the service request. The request may include customer information including, for example, a desired computing service and customer location data regarding the customer site where the requested computing service is to be provided. For example, the customer information may include a request for the use of two servers of a particular size and the address of customer site (e.g., customer site 105) at 123 Maple Street, CO99999.

[0035] In operation 204, latency requirements are received. For example, the customer information included in the service request may specify the maximum latency desired by the customer for the requested computing service. In an example, operations 202 and 204 may be combined. In other examples, the latency requirements may be received separately. In some examples, the latency requirements may be obtained from another system. For example, recommendation system 108 may query an existing computing system within provider system 104 to determine the average latency the customer is currently experiencing and use that as the latency requirement.

[0036] In operation 206, a service radius is determined based on the latency requirements. For example, recommendation system 108 may determine the maximum distance at which provider computing sites (e.g., provider computing sites 110, 112, 114, 116) may exist from customer site 105 to deliver the requested computing service and meet the latency requirements. In an example, the service radius may be based on the speed of light multiplied by the latency requirement (in the form of a maximum latency limit). In other examples, the service radius may be determined in different ways based on the nature of the network.

[0037] At operation 208, provider location data is determined for the multiple provider computing sites. For example, the recommendation system 108 may determine (or cooperate with the location system 120 to determine) the locations of the provider computing sites 110, 112, 114, 116. In an example, the provider location data may be in the form of GPS coordinates of the provider computing sites 110, 112, 114, 116.

[0038] In operation 210, a latency estimate for each of a plurality of provider computing sites is calculated. Estimate The estimate is determined based on the customer location data and the provider location data. For example, the recommendation system may determine (or interface with the location system 120 to determine) the distance between the customer site 105 and each of the multiple provider computing sites 110, 112, 114, 116. As discussed, this may include converting the customer location data to GPS coordinates and determining the straight line distance between the provider computing sites 110, 112, 114, 116 and the customer site 105. In another example, the distance may be determined using a map of the actual fiber or other network transport between the customer site 105 and each of the provider computing sites 110, 112, 114, 116. Estimate Determining the estimate may, in some examples, include converting the distance into a latency estimate expressed in units of time (e.g., based on the speed of light). Estimate Determining the estimate may include determining that the distance is less than the service radius (thus suggesting that the provider computing site 110, 112, 114, 116 in question can meet the latency requirements).

[0039] In operation 212, it is determined whether at least a first provider computing site includes available resources necessary to provide a computing service. For example, the recommendation system 108 may determine (or cooperate with the inventory system 122 to determine) whether one or more of the provider computing sites 110, 112, 114, 116 currently have available resources to provide the computing service requested by the customer. In an example, operation 212 may be performed for all provider computing sites 110, 112, 114, 116 that meet the latency requirements (e.g., are within the service radius). In other examples, the availability of resources of more or fewer provider computing sites 110, 112, 114, 116 may be determined.

[0040] When the first provider computing site includes available resources necessary to provide a computing service, the flow branches to operation 214, where the first provider computing site is included in the list of recommended provider computing sites. For example, if the provider computing site A 110 is determined to be within the service radius and have available resources necessary to provide a computing service, it may be included in the list of recommended provider computing sites created by the recommendation system 108.

[0041] If the first provider computing site does not include the available resources necessary to provide the computing service, the flow branches to operation 216, where it is determined whether additional resources can be added to the first provider computing site to provide the computing service. For example, if provider computing site A110 is within the service radius but is determined to not have the available resources necessary to provide the computing service, the recommendation system 108 may determine (or coordinate with the procurement system 124 to determine) whether the necessary missing resources may be added to provider computing site A110 to provide the requested computing service. In the example, such a determination may also include determining when such additional resources may be added.

[0042] When additional resources can be added to the first provider computing site to provide the computing service, the flow branches to operation 214, where the first provider computing site may be included in the list of recommended computing sites, along with an indication of when the additional resources can be added. If additional resources cannot be added to the first provider computing site, the flow branches to operation 220, where the first provider computing site may be excluded from the list of recommended provider computing sites.

[0043] The flow proceeds to operation 222, where the list of provider computing sites is provided. For example, the recommendation system 108 may, for example, regarding provider computing sites 110, 112, 114, 116 EstimateBased on the latency estimate value, the availability of (current or potential) resources, or other measurement criteria, a list of recommended provider computing sites 110, 112, 114, 116 may be provided to the service portal 106 and / or the client device 102. In some examples, the list of recommended provider computing sites is limited to only those sites that are within the service radius and have (or can be modified to have) the resources necessary to provide the requested computing service.

[0044] The flow proceeds to an optional operation 224, where an Exquisite estimated value of latency is determined and may be used for refining the list of provider computing sites. An example of operation 224 is described in connection with FIG. 3.

[0045] The flow proceeds to operation 226, where a selection of at least one of the list of provider computing sites is received. For example, the client device 102 may receive a user selection of one of the recommended provider computing sites 110, 112, 114, 116 via the user interface and communicate that selection to the service portal 106 and / or the recommendation system 108.

[0046] Flow continues to operation 228 where the requested computing service is provided to the customer site from the selected provider computing site. For example, procurement system 124 may then be used to automatically procure (e.g., in response to receiving a selection of a provider computing site) any missing required resources identified for the selected provider computing site. The requested computing service may then be instantiated and provided to the customer site 105 from the selected provider computing sites 110, 112, 114, and / or 116. For example, if the requested computing service is to use two servers at provider computing site A 110, these servers may be automatically assigned to the customer, installed, assigned IP addresses, configured with any necessary software / operating systems, etc., and made available to the customer site.

[0047] Figure 3 shows the latency of each provider computing site to refine the list. Exquisite 3 shows an example method 300 for determining and using a suitable estimate of latency. In an example, the method 300 may include optional operation 224 of FIG. 2. In operation 302, selectable options include: Exquisite For example, the recommendation system 108 may provide an initial list of recommended provider computing sites 110, 112, 114, and / or 116 with their respective latency estimates. Estimate The service portal 106 may provide the client 102 with a selectable option to have a latency test performed between the client device 103 at the customer site 105 and one or more of the provider computing sites 110, 112, 114, and / or 116 in the initial recommendation list.

[0048] Flow continues to operation 304 where the latencyExquisite An indication is received that a selectable option for initiating an estimate has been selected. For example, the service portal 106 and / or the recommendation system 108 may receive an indication of the selection from the client device 102. The indication of the selection may, in the example, relate to a particular one of the provider computing sites, or to all of the provider computing sites that appear in the first recommendation list, or to a specified number of the recommended provider computing sites that are at the top of the first recommendation list, or otherwise.

[0049] The flow proceeds to operation 306 where it is determined whether the client device that provided the indication is at the customer site. For example, the test portal 126 and / or the service portal 106 may query the client device 102 to determine whether the client device 102 is located at the customer site 105. In the example, the operator of the client device 102 may be prompted to enter that information, or it may be automatically determined or inferred.

[0050] If the client device is not at the customer site, the flow proceeds to operation 308 where the address of a client device that is at the customer site is determined. For example, if the client device 102 is not at the customer site 105, the test portal 126 and / or the service portal 106 may prompt the operator of the client device 102 to enter (and transmit to the test portal 126 and / or the service portal 106) the IP address of a client device (e.g., client device 103) that is at the customer site 105.

[0051] The flow proceeds to operation 310, where the software agent is installed on the client device at the customer site. For example, the test portal 126 and / or the service portal 106 may cause the software agent to be sent and installed on the client device 103. In the example, operation 310 may include sending the software agent to the client device 103 and prompting the user to install the software agent.

[0052] The flow proceeds to operation 312, where a latency test is performed between the client device and the target provider computing site. In the example, the software agent may be configured to initiate a latency test between the client device 103 and one or more of the provider computing sites 110, 112, 114, and / or 116 that appear in the first recommendation list based on the latency estimate. For example, if provider site C 114 is the target provider computing site, the software agent on the client device 103 may be configured to send a traceroute request to the test server C operating at provider site C 114 via a network such as network 130. The test server C operating at provider site C 114 responds to the latency test. In other examples, the test portal 126, the service portal 106, and / or the recommendation system 108 may initiate a latency test from the test server C operating at provider site C 114 to the software agent operating on the client device 103. Estimate

[0053] In operation 314, the results of the latency test are received. For example, a software client on client device 103 and / or a test server operating on one or more provider computing sites 110, 112, 114, and / or 116 may report the results to test portal 126, recommendation system 108, and / or service portal 106.

[0054] In operation 316, it is determined whether to perform a latency test on additional provider computing sites. For example, system 100 may automatically repeat operations 312 and 314 for all provider computing sites that appear in the first recommendation list from recommendation system 108 based on the estimated value of latency. In other examples, operations 312 and 314 are repeated only for a specific number of recommended provider computing sites that are at the top of the first recommendation list. In other examples, operations 312 and 314 are repeated for all provider computing sites indicated as selected in operation 304. Estimate When no further latency tests are performed on additional provider computing sites, the flow proceeds to operation 318, where the list of recommended provider computing sites is re-determined based on the estimated value of latency. For example, recommendation system 108 may replace the estimated value of latency with the non-estimated value of latency for each provider computing site for which operations 312 and 314 were performed. Recommendation system 108 may then create a modified list of recommended provider computing sites using the non-estimated value of latency.

[0055] When no further latency tests are performed on additional provider computing sites, the flow proceeds to operation 318, where the list of recommended provider computing sites is re-determined based on the estimated value of latency. Exquisite For example, recommendation system 108 may, for each provider computing site for which operations 312 and 314 were performed, Estimate replace the estimated value of latency with the Exquisite non-estimated value of latency. Recommendation system 108 may then, when creating a modified list of recommended provider computing sites, ExquisiteEstimated values can be used. As discussed, the order of the provider computing sites in the recommended list may be based on (and / or classifiable by) the estimated latency of each site, cost, the date on which the required resources are estimated to be available, or any other metric. In some examples, the list of recommended provider computing sites 110, 112, 114, and / or 116 may be sorted based on Exquisite the estimated latency values. In other examples, the Exquisite estimated latency values do not change the order of the list of recommended provider computing sites.

[0056] The flow proceeds to operation 320, where a re-determined (and possibly revised) list of recommended provider computing sites is provided. For example, the recommendation system 108 may cause the re-determined list of recommended provider computing sites to be presented again to the client device 102 at or via the service portal 106.

[0057] FIG. 4 is a system diagram of an exemplary computing device 400. The computing device 400, or various components and systems of the computing device 400, may comprise elements of the system 100 including at least the client device 102, client device 103, customer site 105, service portal 106, recommendation system 108, provider computing sites 110, 112, 114, 116, location system 120, inventory system 122, procurement system 124, and / or test portal 126, or may be integrated or associated with them. As shown in FIG. 4, the physical components (e.g., hardware) of the computing device 400 are illustrated, and these physical components may be used to implement various aspects of the present disclosure.

[0058] Computing device 400 may include at least one processing unit 410 and a system memory 420. The system memory 420 may include volatile storage (such as random access memory), non-volatile storage (such as read-only memory), flash memory, or any combination of such memories, but is not limited thereto. The system memory 420 may also include an operating system 430 that controls the operation of the computing device 400, and one or more program modules 440. The program modules 440 may be responsible for collecting or determining enterprise information 450 such as, for example, domain information, telephone numbers, proof level requirements, etc. Several different program modules and data files may be stored in the system memory 420. The program modules 440 may perform various processes as described above while being executed on the processing unit 410.

[0059] The computing device 400 may also have additional features or functions. For example, the computing device 400 may include additional data storage devices (such as removable and / or non-removable storage devices) such as, for example, magnetic disks, optical disks, or tapes. These additional storage devices are labeled as removable storage 460 and non-removable storage 470.

[0060] Examples of the present disclosure may be implemented in an electrical circuit including individual electronic elements, a package containing logic gates or an integrated electronic chip, a circuit using a microprocessor, or on a single chip containing an electronic element or a microprocessor. For example, examples of the present disclosure may be implemented via a system-on-a-chip (SOC) that can integrate each or many of the components shown in FIG. 4 into a single integrated circuit. Such an SOC device may include one or more processing units, a graphics unit, a communication unit, a system virtualization unit, and various application functions, all of which are integrated (or "burned") onto a chip substrate as a single integrated circuit.

[0061] When operating via an SOC, the functions described herein may be operated via application-specific logic integrated with other components of the computing device 400 on a single integrated circuit (chip). Further, the present disclosure may also be implemented using other techniques capable of performing logical operations such as AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum techniques.

[0062] The computing device 400 may include one or more communication systems 480 that enable the computing device 400 to communicate with other computing devices 495 such as, for example, a routing engine, a gateway, a signing system. Examples of the communication system 480 include, but are not limited to, wireless communication, wired communication, cellular communication, radio frequency (RF) transmitter, receiver, and / or transceiver circuitry, Controller Area Network (CAN) bus, universal serial bus (USB), parallel, serial ports, and the like.

[0063] Computing device 400 may also include one or more input devices and / or one or more output devices, shown as input / output device 490. These input / output devices 490 may include a keyboard, a sound or voice input device, a tactile device, an input device by touch, force, and / or swipe, a display, a speaker, etc. The foregoing devices are examples, and other ones may be used.

[0064] Computer-readable media used herein may include computer storage media. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented by any method or technology for storage of information such as computer-readable instructions, data structures, or program modules.

[0065] System memory 420, removable storage 460, and non-removable storage 470 are all examples of computer storage media (e.g., memory storage). Computer storage media may include RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory, or other memory technologies, CD-ROM, digital versatile disk (DVD), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage devices, or any other manufactured article that can be used to store information and is accessible by computing device 400. Any such computer storage media may be part of computing device 400. Computer storage media is non-transitory and does not include a carrier wave or other propagated or modulated data signal.

[0066] A communication medium may be embodied by computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and includes any information delivery medium. The term "modulated data signal" may be described as a signal having one or more characteristics set or changed to encode information in the signal. By way of example and not limitation, a communication medium may include wired media such as a wired network or direct wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.

[0067] Devices, systems, apparatuses, and methods have been described and illustrated in connection with specific embodiments, but modifications and variations will be apparent to those skilled in the art. Such modifications and variations may be made without departing from the scope and spirit of the present disclosure and are therefore contemplated. Since modifications and variations are intended to be included within the scope of the present disclosure and teachings, the description and teachings of this specification are not limited to the exact details of the methods or structures described herein. (Other possible items) (Item 1) Receiving customer information in a service request, where the customer information has at least a desired computing service and customer location data regarding a customer site; Determining provider location data regarding a plurality of provider computing sites; Based on the customer location data and the provider location data, the latency Estimate Determining an estimated value for each of the plurality of provider computing sites; The latency regarding each of the provider computing sites Estimate Providing a list of the provider computing sites based on the estimated values of the latency regarding each of the provider computing sites; Receiving a selection of one of the provider computing sites; and providing the computing service from the selected provider computing site to the customer site A method comprising: (Item 2) receiving latency requirements; and determining a service radius based on the latency requirements further comprising: The method according to item 1, wherein the step of providing the list of the provider computing sites includes including only the provider computing sites located within the service radius of the customer site in the list. (Item 3) determining whether a first provider computing site among the plurality of computing sites includes available resources necessary for providing the computing service; when the first provider computing site includes available resources necessary for providing the computing service, including the first provider computing site in the list; when the first provider computing site does not include available resources necessary for providing the computing service, determining whether additional resources can be added to the first provider computing site to provide the computing service; when the additional resources can be added to the first provider computing site to provide the computing service, including the first provider computing site in the list together with an indication of when the additional resources can be added; when the additional resources cannot be added to the first provider computing site, excluding the first provider computing site from the list The method according to item 1, further comprising: (Item 4) Determining a first estimated value of latency for a first provider computing site; and Exquisite Determining a second estimated value of latency for a second provider computing site among the plurality of computing sites; Determining a second estimated value of latency for a second provider computing site among the plurality of computing sites; Exquisite Providing a re-determined list of the plurality of provider computing sites based on at least the first estimated value and the second estimated value The method according to item 1, further comprising: Exquisite The method according to item 1, further comprising: Exquisite Providing a re-determined list of the plurality of provider computing sites based on at least the first estimated value and the second estimated value The method according to item 1, further comprising: (Item 5) Providing a client agent to a client device; Causing the client agent to perform a first latency test between the client device and the first provider computing site to determine the first estimated value; and Exquisite Causing the client agent to perform a first latency test between the client device and the first provider computing site to determine the first estimated value; and Causing the client agent to perform a second latency test between the client device and the second provider computing site to determine the second estimated value Exquisite Causing the client agent to perform a second latency test between the client device and the second provider computing site to determine the second estimated value The method according to item 4, further comprising: (Item 6) Causing a first latency test server to be instantiated at the first provider computing site; Causing a second latency test server to be instantiated at the second provider computing site; The method according to item 5, further comprising: The first latency test is performed between the client device and the first latency test server, and the second latency test is performed between the client device and the second latency test server (Item 7) The selected provider computing site is the first provider computing site, and the first provider computing site does not include available resources necessary to provide the computing service. The method further includes automatically adding the additional resources to the first provider computing site. The method according to item 3, further comprising. (Item 8) The customer location data has the location address of the customer site. The method includes converting the location address to a Global Positioning System (GPS) location; and Determining the distance between each of the GPS location and the provider computing site. The method further comprises For the latency Estimate The method according to item 1, wherein the step of determining the estimated value is based on the distance and the speed of light. (Item 9) The method according to item 5, wherein at least the first latency test is a trace route between the client device and the first provider computing site. (Item 10) Providing a client agent to the client device; Determining whether the client device is at the customer site; When the client device is not at the customer site, sending a query to the client device to determine the Internet Protocol (IP) address of a second client device at the customer site; Receiving the IP address of the second client device; For the first Exquisite Executing a first latency test between the second client device and the first provider computing site to determine the estimated value. For the secondExquisite To determine the latency estimates, performing a second latency test between the second client device and the second provider computing site; and at least the first Exquisite latency estimate and the second Exquisite Based on the latency estimate, providing a re-determined list of the plurality of provider computing sites The method according to item 4, further comprising. (Item 11) A system, At least one processor; A memory operably connected to the at least one processor and storing instructions that, when executed by the at least one processor, cause the system to perform a method Comprising, The method is, Receiving customer information in a service request, where the customer information includes at least a desired computing service and customer location data regarding a customer site; Determining provider location data regarding a plurality of provider computing sites; Based on the customer location data and the provider location data, determining a latency Estimate Estimate for each of the plurality of provider computing sites; Based on the latency Estimate Estimate for each of the provider computing sites, providing a list of the provider computing sites; Receiving a selection of one of the provider computing sites; and Providing the computing service from the selected provider computing site to the customer site A system including. (Item 12) The method is Receiving latency requirements; and Determining a service radius based on the latency requirements further comprising providing the list of the provider computing sites, including in the list only the provider computing sites located within the service radius of the customer site, the system according to item 11. (Item 13) the method comprising determining whether a first provider computing site among the plurality of computing sites includes available resources necessary to provide the computing service; when the first provider computing site includes available resources necessary to provide the computing service, including the first provider computing site in the list; when the first provider computing site does not include available resources necessary to provide the computing service determining whether additional resources can be added to the first provider computing site to provide the computing service; when the additional resources can be added to the first provider computing site to provide the computing service, including the first provider computing site in the list together with an indication of when the additional resources can be added; when the additional resources cannot be added to the first provider computing site, excluding the first provider computing site from the list further comprising, the system according to item 11. (Item 14) the method comprising determining a first Exquisite estimated value of latency for a first provider computing site; and determining a second estimated latency for a second provider computing site among the plurality of computing sites; Exquisite ; and providing a re-determined list of the plurality of provider computing sites based on at least the first Exquisite estimated value and the second Exquisite estimated value. The system of claim 11, further comprising. (Item 15) wherein the method further comprises providing a client agent to a client device; causing the client agent to perform a first latency test between the client device and the first provider computing site to determine the first Exquisite estimated value; and causing the client agent to perform a second latency test between the client device and the second provider computing site to determine the second Exquisite estimated value. The system of claim 14, further comprising. (Item 16) wherein the method further comprises causing a first latency test server to be instantiated at the first provider computing site; causing a second latency test server to be instantiated at the second provider computing site; and wherein the first latency test is performed between the client device and the first latency test server, and the second latency test is performed between the client device and the second latency test server. The system of claim 15, further comprising. (Item 17) The selected provider computing site is the first provider computing site, and the first provider computing site does not include available resources necessary for providing the computing service. The method automatically adding the additional resources to the first provider computing site The system according to item 13, further comprising. (Item 18) The customer location data includes the location address of the customer site. The method converting the location address to a Global Positioning System (GPS) location; and determining the distance between each of the GPS location and the provider computing site. further comprising The latency Estimate The system according to item 11, wherein the step of determining the estimated value is based on the distance and the speed of light. (Item 19) The method providing a client agent to a client device; determining whether the client device is at the customer site; when the client device is not at the customer site, sending a query to the client device to determine the Internet Protocol (IP) address of a second client device at the customer site; receiving the IP address of the second client device; The first Exquisite executing a first latency test between the second client device and the first provider computing site to determine the estimated value; The second ExquisiteTo determine the estimated value, executing a second latency test between the second client device and the second provider computing site; and at least the first Exquisite estimated value and the second Exquisite Based on the estimated value, providing a re-determined list of the plurality of provider computing sites The system according to item 14, further comprising. (Item 20) Receiving customer information in a service request, where the customer information has at least latency requirements, a desired computing service, and customer location data regarding the customer site; Determining a service radius based on the latency requirements; Determining provider location data regarding a plurality of provider computing sites; Based on the customer location data and the provider location data, determining whether each of the plurality of provider computing sites is within the service radius of the customer site; Providing a list of the provider computing sites within the service radius of the customer site; Receiving a selection of one of the provider computing sites from the list; and Providing the computing service from the selected provider computing site to the customer site A method comprising.

Claims

A method executed by a system including at least one processor, the method comprising: Receiving customer information in a service request, where the customer information includes at least a desired computing service and customer location data regarding a customer site; Determining provider location data of the plurality of provider computing sites by obtaining location information regarding the plurality of provider computing sites; Determining an estimated value of latency for each of the plurality of provider computing sites based on the customer location data and the provider location data; Providing a list of the plurality of provider computing sites based on the estimated value of latency for each of the plurality of provider computing sites; Determining whether a first provider computing site among the plurality of provider computing sites includes available resources necessary to provide the computing service; If the first provider computing site includes available resources necessary to provide the computing service, including the first provider computing site in the list; If the first provider computing site does not include available resources necessary to provide the computing service, Determining whether additional resources can be added to the first provider computing site to provide the computing service, If the additional resources can be added to the first provider computing site to provide the computing service, including the first provider computing site in the list along with an indication of when the additional resources can be added; If the additional resources cannot be added to the first provider computing site, excluding the first provider computing site from the list; Receiving a selection of one of the plurality of provider computing sites; and providing the computing service from the selected provider computing site to the customer site A method comprising the steps of: **Claim 2** receiving a latency requirement; and determining a service radius based on the latency requirement further comprising the step of: The step of providing the list of the provider computing sites includes including only the provider computing sites located within the service radius of the customer site in the list. The method according to claim 1 **Claim 3** Determining a first refined estimate of latency for the first provider computing site; and determining a second refined estimate of latency for a second provider computing site among the plurality of provider computing sites; providing a re-determined list of the plurality of provider computing sites based on at least the first refined estimate and the second refined estimate The method according to claim 1 or 2, further comprising the step of: **Claim 4** providing a client agent to a client device; causing the client agent to perform a first latency test between the client device and the first provider computing site to determine the first refined estimate; and causing the client agent to perform a second latency test between the client device and the second provider computing site to determine the second refined estimate The method according to claim 3, further comprising the step of: **Claim 5** causing a first latency test server to be instantiated at the first provider computing site; causing a second latency test server to be instantiated at the second provider computing site; further comprising the step of: The first latency test is performed between the client device and the first latency test server, and the second latency test is performed between the client device and the second latency test server. The method according to claim 4 **Claim 6** The selected provider computing site is the first provider computing site, and the first provider computing site does not include available resources necessary to provide the computing service. The method includes: automatically adding the additional resources to the first provider computing site; The method according to claim 1, further comprising the step of:

7. The customer location data has the location address of the customer site, The method includes: converting the location address into a Global Positioning System (GPS) location; and determining the distance between each of the GPS location and the provider computing site; The method according to claim 1 or 2, further comprising: determining an estimated value of the latency estimate based on the distance and the speed of light.

8. The method according to claim 4, wherein at least the first latency test is a trace route between the client device and the first provider computing site.

9. providing a client agent to the client device; determining whether the client device is at the customer site; when the client device is not at the customer site, sending a query to the client device to determine the Internet Protocol (IP) address of a second client device at the customer site; receiving the IP address of the second client device; performing the first latency test between the second client device and the first provider computing site to determine the first refined estimate; performing the second latency test between the second client device and the second provider computing site to determine the second refined estimate; and providing a re-determined list of the plurality of provider computing sites based at least on the first refined estimate and the second refined estimate. The method according to claim 4 or 5, further comprising:

10. A system, comprising: at least one processor; A memory operably connected to the at least one processor and storing instructions that, when executed by the at least one processor, cause the system to execute a method comprising wherein the method comprises receiving customer information in a service request, where the customer information includes at least a desired computing service and customer location data regarding a customer site; determining provider location data of the plurality of provider computing sites by obtaining location information regarding the plurality of provider computing sites; determining an estimated value of the latency for each of the plurality of provider computing sites based on the customer location data and the provider location data; providing a list of the plurality of provider computing sites based on the estimated value of the latency for each of the plurality of provider computing sites; determining whether a first provider computing site of the plurality of provider computing sites includes available resources necessary to provide the computing service; if the first provider computing site includes available resources necessary to provide the computing service, including the first provider computing site in the list; if the first provider computing site does not include available resources necessary to provide the computing service determining whether additional resources can be added to the first provider computing site to provide the computing service, if the additional resources can be added to the first provider computing site to provide the computing service, including the first provider computing site in the list along with an indication of when the additional resources can be added; if the additional resources cannot be added to the first provider computing site, excluding the first provider computing site from the list Receiving a selection of one of the plurality of provider computing sites; and Providing the computing service from the selected provider computing site to the customer site A system comprising.

11. The method is Receiving a latency requirement; and Determining a service radius based on the latency requirement Further comprising, The step of providing the list of the provider computing sites includes the step of including only the provider computing sites located within the service radius of the customer site in the list. The system according to claim 10.

12. The method is Determining a first refined estimate of latency for the first provider computing site; and Determining a second refined estimate of latency for a second provider computing site among the plurality of provider computing sites; Providing a re-determined list of the plurality of provider computing sites based on at least the first refined estimate and the second refined estimate The system according to claim 10 or 11, further comprising.

13. The method is Providing a client agent to the client device; Causing the client agent to perform a first latency test between the client device and the first provider computing site to determine the first refined estimate; and Causing the client agent to perform a second latency test between the client device and the second provider computing site to determine the second refined estimate The system according to claim 12, further comprising.

14. The method is Causing a first latency test server to be instantiated at the first provider computing site; Causing a second latency test server to be instantiated at the second provider computing site; Further comprising, The system according to claim 13, wherein the first latency test is executed between the client device and the first latency test server, and the second latency test is executed between the client device and the second latency test server.

15. The selected provider computing site is the first provider computing site, and the first provider computing site does not include available resources necessary for providing the computing service. The method further includes the step of automatically adding the additional resources to the first provider computing site. The system according to claim 11.

16. The customer location data includes the location address of the customer site. The method includes the steps of converting the location address to a Global Positioning System (GPS) location; and determining the distance between each of the GPS location and the provider computing site. The system according to claim 10 or 11, wherein the step of determining the estimated value of the latency estimate is based on the distance and the speed of light.

17. The method includes the steps of providing a client agent to the client device; determining whether the client device is at the customer site; when the client device is not at the customer site, sending a query to the client device to determine the Internet Protocol (IP) address of a second client device at the customer site; receiving the IP address of the second client device; executing a first latency test between the second client device and the first provider computing site to determine the first refined estimate; executing a second latency test between the second client device and the second provider computing site to determine the second refined estimate; and providing a re-determined list of the plurality of provider computing sites based at least on the first refined estimate and the second refined estimate. The system according to claim 12. ​ A method executed by a system including at least one processor, comprising: Receiving customer information in a service request, wherein the customer information has at least latency requirements, desired computing services, and customer location data regarding a customer site; Determining a service radius based on the latency requirements; Determining provider location data of a plurality of provider computing sites by obtaining location information regarding the plurality of provider computing sites; Determining, based on the customer location data and the provider location data, whether each of the plurality of provider computing sites is within the service radius of the customer site; Providing a list of the plurality of provider computing sites that are within the service radius of the customer site; Determining whether a first provider computing site among the plurality of provider computing sites includes available resources necessary to provide the computing services; If the first provider computing site includes available resources necessary to provide the computing services, including the first provider computing site in the list; If the first provider computing site does not include available resources necessary to provide the computing services, Determining whether additional resources can be added to the first provider computing site to provide the computing services, If the additional resources can be added to the first provider computing site to provide the computing services, including the first provider computing site in the list together with an indication of when the additional resources can be added; If the additional resources cannot be added to the first provider computing site, excluding the first provider computing site from the list. Receiving a selection of one of the plurality of provider computing sites from the list; and Providing the computing service from the selected provider computing site to the customer site A method comprising.

Citation Information

Patent Citations

  • Communication method

    JP2001007841A

  • Communication apparatus

    JP2014186553A

  • Method and apparatus for a distributed file system in a cloud network using file chunking and replication

    JP2015512534A

  • Electronic file sharing system, information processor, control method for information processor, and program

    JP2019082925A

  • Virtual machine administration system, and virtual machine administration method

    WO2012132808A1