Office Action Predictor
Application No. 18/001,622

GEOGRAPHIC DEPLOYMENT OF APPLICATIONS TO EDGE COMPUTING NODES

Non-Final OA §103§112
Filed
Dec 13, 2022
Examiner
UNG, LANNY N
Art Unit
2197
Tech Center
2100 — Computer Architecture & Software
Assignee
Hewlett-Packard Development Company, L.P.
OA Round
5 (Non-Final)
71%
Grant Probability
Favorable
5-6
OA Rounds
3y 3m
To Grant
85%
With Interview

Examiner Intelligence

71%
Career Allow Rate
351 granted / 495 resolved
Without
With
+13.8%
Interview Lift
avg trend
3y 3m
Avg Prosecution
30 pending
525
Total Applications
career history

Statute-Specific Performance

§101
19.8%
-20.2% vs TC avg
§103
49.0%
+9.0% vs TC avg
§102
18.3%
-21.7% vs TC avg
§112
7.8%
-32.2% vs TC avg
Black line = Tech Center average estimate • Based on career data

Office Action

§103 §112
DETAILED ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . This Office Action is in response to amendments filed on June 17, 2025. Claims 1-9 and 11-20 are pending. Claims 1, 4-6, 11 and 19 have been amended. Response to Amendment Claim Rejections - 35 USC § 112 The following is a quotation of the first paragraph of 35 U.S.C. 112(a): (a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention. The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112: The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention. Claims 1-9 and 11-20 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. Independent claims 1, 6 and 11 state “wherein a perimeter of the geographic area is dynamically determined based on the geographic demand for the application.” In the Remarks, Applicant states that support for the amendments can be found in Paragraphs 48-51. However, after reviewing these Paragraphs, along with the rest of the specification, the Examiner has been unable to find support for “a perimeter of the geographic area is dynamically determined…”. It does not appear that the word “perimeter” is used in the specification. Paragraph 50 states that the growing and shrinking of a geographic area depending on changes in demand. Therefore, in the interest of compact prosecution, the Examiner will interpret “perimeter” as being the growing and/or shrinking of a geographic area. Claims 2-5, 7-9 and 12-20 depend on the rejected claims and do not resolve the deficiencies and thus, are rejected for at least the same reasons. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1, 3-4, 6, 8-9, 16-18 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Dilley et al. (US 10,791,168) in view of Pelikan et al. (US 2018/0114236). With respect to Claim 1, Dilley et al. disclose: a memory storing an application; (see Figure 5; an orchestration manager includes a memory storage device that holds a workload code package data store that includes the workload (application), Column 11, lines 25-36) and a processor to: (see Figure 13, processor 1322, Column 35, lines 6-28) receive, from a plurality of edge computing nodes, via a communications network (see Figure 1; a placement orchestration manager 104 and a plurality of clusters 106 (edge computing nodes) that are coupled to the orchestration manager 104 over a communication network 108 and that host tenant applications (e.g., A1-A4) accessible by external endpoint devices 110 over the network 108, Column 3, lines 62-66) a plurality of indications of requests for the application as received at the plurality of edge computing nodes from a plurality of edge clients, (receive at a metrics pipeline manager of the orchestration manager, metrics collected from each edge which includes metrics describing edge system and workload performance, status and health (plurality of indications of requests for an application), Column 11, lines 45-57; receiving status information (plurality of indications) from a plurality of edges at an orchestration manager, Column 6, lines 15-19; receiving an indication of latency and traffic information (plurality of indications) from external endpoints (plurality of edge clients), Column 13, lines 15-16) the plurality of indications indicative of geographic demand for the application; (Edge data centers 106 of some example systems 102 are located at geographically distributed locations such as in different states, in different locations within different states, and in different locations within a city (geographic demand), Column 6, lines 20-29; scaling the placement and execution of applications based upon external endpoint demand (geographic demand), Column 7, lines 18-20) determine, based on the plurality of indications, a geographic area having a first demand for the application that exceeds a threshold demand, (based on round-trip-time (RTT) service level objective (SLO) received from edges (plurality of indications), determining a group of external endpoints within a short geographic distance (geographic area) where RTT SLO is exceeded (demand for the application exceeds a threshold demand), Columns 29-30, lines 50-67 and 1-29 respectively; finding additional edges geographically nearby (geographic area) to run a workload, when utilization is exceeded, Column 30, lines 45-48) wherein a perimeter of the geographic area is dynamically determined based on the geographic demand for the application; (dynamically adjusting the placement of workloads on edge servers as load spikes are detected (perimeter/changes in geographic demand), Column 15, lines 56-62) subsequent to determining the geographic area, determine a subset of the plurality of edge computing nodes within the geographic area; (the workload placement manager 506 may observe a group of external endpoint messages arriving at an edge 106 with a higher latency than a preferred RTT SLO (geographic area/perimeter). In response to such observation, the workload placement manager 506 determines whether there is a different edge (subset of the plurality of edge computing nodes within the geographic area) with sufficient available resources to accommodate the external endpoint traffic. If so, the workload placement manager 506 adds that additional edge to an EdgeSet for the workload and requests, via the workload message server 508, placement of the workload at that additional edge., Column 29, lines 29-38) deploy, via the communications network, the application to the subset of the plurality of edge computing nodes within the geographic area, (placement (deploy) of the workload (application) at the edges within the NewEdges set (a subset of the plurality of edge computing nodes within the geographic area), Column 30, lines 21-25) wherein, responsive to receipt of the application, each edge computing node included in the subset of the plurality of computing nodes is to: install the application locally; (fetch code packages from the code package data and store into edge local storage (deploy the application). Extract the configuration instructions and the code from the workload. Code can be supplied as binary executables, virtual machines images, or containers. Convert the configuration and code, if necessary, into a format that can be processed by the cluster scheduler of the edge. Instruct a cluster scheduling system to execute the workload within an edge, according to the configuration specification associated with the workload. (install the application locally), Column 20, lines 1-17) and, in response to receiving requests for the application, process the received requests via processing the application; (steers external endpoint requests to edges where requested tenant applications are placed, and schedules execution of tenant applications at the edges, Column 5, lines 34-38) and implementing the application for an additional subset of the edge computing nodes without deployment of the application at the additional subset of the plurality of edge computing nodes. (observing a group of external endpoint messages arriving at an edge 106 (additional subset of the edge computing nodes) wherein edge 106 is running (implementing) a workload (tenant application) (application already exists on edge so there is no need for further placement/deployment of the application), Columns 7 and 29, lines 23-46 and 29-31 respectively; a tenant workload runs on one or more nodes within a shared context at an edge data center 106 (additional subset of the edge computing nodes), Column 8, lines 1-2; increased workload capacity is required/load spike occurs (demand exceeds), and code package is already running (without deployment) at an edge (additional subset of the edge computing node), Column 15, lines 48-56) Dilley et al. do not disclose: wherein demand for the application at the additional subset is below the threshold demand. However, Pelikan et al. disclose: wherein demand for the application at the additional subset is below the threshold demand. (predicting where demand is going to be high (demand is currently below the threshold demand) in order to allocate additional resources to a specific location, Paragraphs 95-96) Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Pelikan et al. into the teaching of Dilley et al. to include wherein demand for the application at the additional subset is below the threshold demand in order to predict future demand for resources which can help proper allocation of resources to minimize oversupply and undersupply of resources. With respect to Claim 3, all the limitations of Claim 1 have been addressed above and Dilley et al. further disclose: wherein the processor is to: determine a geographic location of each edge computing node included in the plurality of the edge computing nodes based on: geographic metadata received with the plurality of indications. (receiving information about edge and endpoint network locations (geographic metadata) and information such as network communication latency that is relevant to steering of external endpoint requests to edges that can most efficiently handle the requests, Columns 6 and 16, lines 62-66 and 37-41 respectively) With respect to Claim 4, all the limitations of Claim 1 have been addressed above and Dilley et al. further disclose: wherein the processor is to: receive, from the plurality of edge computing nodes via the communications network, a second plurality of indications of requests for the application, wherein the second plurality of indications received at the plurality of edge computing nodes from the plurality of edge clients; (Timely delivery of metric information is useful so the workload placement manager 506 can react quickly to changes in load or endpoint message patterns. In this context “pipeline” refers to the metrics flowing continuously over time from each cluster 106 to the orchestration manager 104, (second plurality of indications) in support of the continuous process of evaluating metrics to update workload placement and traffic steering decisions, Column 20, lines 55-62) dynamically update, based on the second plurality of indications, the perimeter of the geographic area as an updated geographic area, wherein the updated geographic area has an updated demand for the application that exceeds the threshold demand, (Timely delivery of metric information is useful so the workload placement manager 506 can react quickly to changes in load or endpoint message patterns. In this context “pipeline” refers to the metrics flowing continuously over time from each cluster 106 to the orchestration manager 104, in support of the continuous process of evaluating metrics to update workload placement (determine an updated geographic area where an updated demand exceeds a threshold demand) and traffic steering decisions, (dynamically updated perimeter of the geographic area) Column 20, lines 55-62) wherein the updated geographic area includes a portion of the geographic area as determined based on the plurality of indications; (dynamically adjusting the placement of workloads on edge servers (updated perimeter of the geographic area) as load spikes are detected (plurality of indications), Column 15, lines 56-62) and dynamically updated deployment of the application to a second subset of the plurality of edge computing nodes within the updated geographic area, (Timely delivery of metric information is useful so the workload placement manager 506 can react quickly to changes in load or endpoint message patterns. In this context “pipeline” refers to the metrics flowing continuously over time from each cluster 106 to the orchestration manager 104, in support of the continuous process of evaluating metrics to update workload placement and traffic steering decisions (dynamically updated deploy of the application), Column 20, lines 55-62) wherein the second subset of the plurality of edge computing nodes includes a portion of the subset of the plurality of edge computing nodes. (Decision module 946 determines whether an edge(second subset of the plurality of edge computing nodes) from the group of candidate edges (subset of the plurality of edge computing nodes) for the workload is within the RTT SLO for this group of endpoints. Recall that the grouped external endpoints 110 are all within a short distance of each other (geographic area). In response to a determination at decision module 946 that a currently selected edge meets the RTT SLO, decision module 948 determines whether the currently selected edge has sufficient available resources (e.g., CPU cycles, memory storage) to accommodate the endpoint traffic. In response to a determination at decision module 948 that a currently selected edge has sufficient resource availability to serve the given workload, module 950 adds the currently selected edge to a set of edges, NewEdges., Columns 29 and 30, lines 63-67 and 1-9 respectively) With respect to Claim 6, Dilley et al. disclose: receiving, at a hub computing device over a communications network, (see Figure 1; a placement orchestration manager 104 and a plurality of clusters 106 (edge computing nodes) that are coupled to the orchestration manager 104 over a communication network 108 and that host tenant applications (e.g., A1-A4) accessible by external endpoint devices 110 over the network 108, Column 3, lines 62-66) using a communication unit, from a plurality of edge computing nodes, a plurality of indications of requests for an application, (receive at a metrics pipeline manager of the orchestration manager (hub computing device), metrics collected from each edge which includes metrics describing edge system and workload performance, status and health (plurality of indications of requests for an application), Column 11, lines 45-57; receiving status information (plurality of indications) from a plurality of edges at an orchestration manager, Column 6, lines 15-19; see Figure 13; network interface device is used to transmit data (communication device), Column 35, lines 40-43) wherein the requests for the application are received at the plurality of edge computing nodes from a plurality of edge clients, (External endpoint devices 110 (edge clients) access individual tenant applications (requests for application) by requesting network connections with edge data centers (plurality of edge computing nodes), Column 5, lines 10-13) the plurality of indications indicative of geographic demand for the application; (Edge data centers 106 of some example systems 102 are located at geographically distributed locations such as in different states, in different locations within different states, and in different locations within a city (geographic demand), Column 6, lines 20-29; scaling the placement and execution of applications based upon external endpoint demand (geographic demand), Column 7, lines 18-20) determining, at the hub computing device, based on the plurality of indications, a geographic area having a first demand for the application that exceeds a threshold demand, (based on round-trip-time (RTT) service level objective (SLO) received from edges (plurality of indications), determining a group of external endpoints within a short geographic distance (geographic area) where RTT SLO is exceeded (demand for the application exceeds a threshold demand), Columns 29-30, lines 50-67 and 1-29 respectively; finding additional edges geographically nearby (geographic area) to run a workload, when utilization is exceeded, Column 30, lines 45-48) wherein a perimeter of the geographic area is dynamically determined based on the geographic demand for the application; (dynamically adjusting the placement of workloads on edge servers as load spikes are detected (perimeter/changes in geographic demand), Column 15, lines 56-62) determining, at the hub computing device, a subset of the plurality of edge computing nodes within the geographic area, (finding additional edges (subset of the plurality of edge computing nodes) geographically nearby (geographic area) to run a workload, when utilization is exceeded, Column 30, lines 45-48) deploying, at the hub computing device over the communications network, via the communication unit, the application to the subset of the plurality of edge computing nodes, (placement (deploy) of the workload (application) at the edges within the NewEdges set (subset of the plurality of edge computing nodes within the geographic area), Column 30, lines 21-25) the subset of the plurality of edge computing nodes to install the application (fetch code packages from the code package data and store into edge local storage (deploy the application). Extract the configuration instructions and the code from the workload. Code can be supplied as binary executables, virtual machines images, or containers. Convert the configuration and code, if necessary, into a format that can be processed by the cluster scheduler of the edge. Instruct a cluster scheduling system to execute the workload within an edge, according to the configuration specification associated with the workload. (install the application), Column 20, lines 1-17) and process requests via processing the application. (steers external endpoint requests to edges where requested tenant applications are placed, and schedules execution of tenant applications at the edges, Column 5, lines 34-38) and implementing, at the hub computing device, the application for an additional subset of the edge computing nodes and the application is not deployed at the additional subset. (Timely delivery of metric information is useful so the workload placement manager 506 can react quickly to changes in load or endpoint message patterns. In this context “pipeline” refers to the metrics flowing continuously over time from each cluster 106 to the orchestration manager 104, in support of the continuous process of evaluating metrics to update workload placement (application is not deployed) and traffic steering decisions (additional subset of edge computing nodes) , Column 20, lines 55-62) Dilley et al. do not disclose: wherein demand for the application at the additional subset is below the threshold demand. However, Pelikan et al. disclose: wherein demand for the application at the additional subset is below the threshold demand. (predicting where demand is going to be high (demand is currently below the threshold demand) in order to allocate additional resources to a specific location, Paragraphs 95-96) Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Pelikan et al. into the teaching of Dilley et al. to include wherein demand for the application at the additional subset is below the threshold demand in order to predict future demand for resources which can help proper allocation of resources to minimize oversupply and undersupply of resources. With respect to Claim 8, all the limitations of Claim 6 have been addressed above and Dilley et al. further disclose: wherein deploying, at the hub computing device over the communications network, the application to the subset of the plurality of edge computing nodes comprises: deploying, at the hub computing device over the communications network, using the communication unit, the application to a portion of the subset of the plurality of edge computing nodes, wherein the application is not deployed at the portion. (placement (deploy) of the workload (application) at the edges within the NewEdges set (a subset of the plurality of edge computing nodes where the application is not deployed), Column 30, lines 21-25) With respect to Claim 9, all the limitations of Claim 6 have been addressed above and Dilley et al.’s first embodiment and Pelikan et al. disclose: further comprising: prior to deploying, at the hub computing device over the communications network, the application to the subset of the plurality of edge computing nodes, determining, at the hub computing device over the communications network, a portion of the subset having insufficient available memory space to store the application; (Dilley et al.’s first embodiment, Module 906 determines the resource needs of a workload, based upon information in the workload's configuration specification, and compares these needs to resource availability in each edge in the EdgeSet. Edges are removed from the edge set that do not have sufficient resource capacity to execute the workload, Column 26, lines 62-67; (subset of the plurality of edge computing nodes) resources can include, for example, CPU, memory, network, disk and memory utilization, availability and capacity, Column 13, lines 41-56) Dilley et al.’s first embodiment and Pelikan et al. do not disclose: and transmitting, at the hub computing device over the communications network, a command to each edge computing node included in the portion of the subset, the command to delete an additional application stored at each edge computing node included in the portion to increase the respective available memory space for storing the application. However, Dilley et al.’s second embodiment disclose: and transmitting, at the hub computing device over the communications network, a command to each edge computing node included in the portion of the subset, the command to delete an additional application stored at each edge computing node included in the portion to increase the respective available memory space for storing the application. (Process a queued request (command) from a workload placement manager 506 to start, stop, or remove a workload (an additional application) in a set of indicated edges.(subset) In response to such a work item the workload message server 508 passes a message to each connected edge message client 533 instructing it to start, stop, or remove a workload as requested., Columns 17 and 18, lines 64-67 and 1-2 respectively) Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Dilley et al.’s second embodiment into the teaching of Dilley et al.’s first embodiment and Pelikan et al. to include transmitting, at the hub computing device over the communications network, a command to each edge computing node included in the portion of the subset, the command to delete an additional application stored at each edge computing node included in the portion to increase the respective available memory space for storing the application in order to free up memory space by deleting applications that are rarely used or no longer needed. With respect to Claim 16, all the limitations of Claim 1 have been addressed above and Dilley et al. further disclose: wherein the processor is to: determine a geographic location of each edge computing node included in the plurality of the edge computing nodes based on respective geographic metadata stored at the memory in association with an identifier of a respective edge computing node included in the plurality of edge computing nodes, wherein the identifier is received with a corresponding indication of the respective edge computing node. (collecting information (indication) indicative of geographic locations of edges and external endpoints (geographic metadata includes an identifier) and indicative of network communication latency, Column 16, lines 37-41) With respect to Claim 17, all the limitations of Claim 1 have been addressed above and Dilley et al. further disclose: wherein the processor is to: determine a geographic location for each of the plurality of edge computing nodes; (collecting information indicative of geographic locations of edges and external endpoints and indicative of network communication latency, Column 16, lines 37-41) and determine the subset of the plurality of edge computing nodes within the geographic area based on the geographic location for each of the plurality of edge computing nodes. (the workload placement manager 506 attempts to find additional edges (subset of the plurality of edge computing nodes) geographically nearby (geographic area) to run the workload, Column 30, lines 46-48) With respect to Claim 18, all the limitations of Claim 1 have been addressed above and Dilley et al. further disclose: wherein the processor is to deploy, via the communications network, the application to the subset of the plurality of edge computing nodes within the geographic are by transmitting a copy of executable instructions of the application to the subset of the plurality of edge computing nodes within the geographic area. (fetch code packages from the code package data and store into edge local storage (deploy the application). Extract the configuration instructions and the code from the workload. Code can be supplied as binary executables, (copy of executable instructions of the application) virtual machines images, or containers. Convert the configuration and code, if necessary, into a format that can be processed by the cluster scheduler of the edge. Instruct a cluster scheduling system to execute the workload within an edge, according to the configuration specification associated with the workload., Column 20, lines 1-17) With respect to Claim 20, all the limitations of Claim 1 have been addressed above and Dilley et al. further disclose: wherein the processor is to: for each of the plurality of edge computing nodes, determine, for a respective edge computing node, an available memory space for the application by polling the plurality of edge computing nodes; (the resource allocation manager 504 tracks edge resources such as CPU, memory, network, disk and memory utilization, availability and capacity, for example. (available memory space) An example edge resource allocation manager 504 accesses metrics information provided or published through a set of data pipelines 530 received from the multiple edges 106, (polling of edge computing nodes) performs analytics to identify workload, node, and edge status, such as “ready”, “unable to connect”, “CPU utilization X % of capacity”, etc., Column 13, lines 41-56) and control deployment of the application over the communications network to the respective edge computing node based on the available memory space. (Edges are removed from the edge set that do not have sufficient resource capacity to execute the workload (control deployment), Column 26, lines 62-67) Claims 2 and 11-13 are rejected under 35 U.S.C. 103 as being unpatentable over Dilley et al. (US 10,791,168) in view of Pelikan et al. (US 2018/0114236) and in further view of Peters et al. (US 2014/0108663). With respect to Claim 2, all the limitations of Claim 1 have been addressed above and Dilley et al. and Pelikan et al. further disclose: further comprising: geographic demand for the application, (Dilley et al., finding additional edges geographically nearby to run a workload (geographic demand for an application), when utilization is exceeded Column 30, lines 45-48) Dilley et al. and Pelikan et al. do not disclose: generate, based on the plurality of indications, a heat map representing the geographic demand and wherein the processor determines the geographic area based on the heat map. However, Peters et al. disclose: generate, based on the plurality of indications, a heat map representing the geographic demand (generate a heat map illustrating the current demand mapped geographically, Paragraph 30) and wherein the processor determines the geographic area based on the heat map. (using the heat map to provide insight into demand in given areas such as where demand may exceed a predetermined amount, Paragraph 30-31) Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Peters et al. into the teaching of Dilley et al. and Pelikan et al. to include generate, based on the plurality of indications, a heat map representing the geographic demand and determining the geographic area based on the heat map in order to help in future provision of resources to a particular geographic region. (Peters et al., Paragraph 30) With respect to Claim 11, Dilley et al. disclose: receive, from a plurality of edge computing nodes over a communications network, (see Figure 1; a placement orchestration manager 104 and a plurality of clusters 106 (edge computing nodes) that are coupled to the orchestration manager 104 over a communication network 108 and that host tenant applications (e.g., A1-A4) accessible by external endpoint devices 110 over the network 108, Column 3, lines 62-66) a plurality of indications of requests for an application, (receive at a metrics pipeline manager of the orchestration manager (hub computing device), metrics collected from each edge which includes metrics describing edge system and workload performance, status and health (plurality of indications of requests for an application), Column 11, lines 45-57; receiving status information (plurality of indications) from a plurality of edges at an orchestration manager, Column 6, lines 15-19; see Figure 13; network interface device is used to transmit data (communication device), Column 35, lines 40-43) the plurality of indications received at the plurality of edge computing nodes from a plurality of edge clients, (receiving an indication of latency and traffic information (plurality of indications) from external endpoints (edge clients), Column 13, lines 15-16) the plurality of indications being indicative of geographic demand for the application; (Edge data centers 106 of some example systems 102 are located at geographically distributed locations such as in different states, in different locations within different states, and in different locations within a city (geographic demand), Column 6, lines 20-29; scaling the placement and execution of applications based upon external endpoint demand (geographic demand), Column 7, lines 18-20) and control, based on the [demand for the application], deployment of the application over the communications network to the plurality of edge computing nodes, (placement (control deployment) of the workload (application) at the edges within the NewEdges set (demand for the application/plurality of edge computing nodes), Column 30, lines 21-25) wherein deployment of the application includes: determining, based on [demand for the application], a geographic area having a first demand for the application that exceeds a threshold demand, (based on round-trip-time (RTT) service level objective (SLO) received from edges, determining a group of external endpoints within a short geographic distance (geographic area) where RTT SLO is exceeded (demand for the application exceeds a threshold demand), Columns 29-30, lines 50-67 and 1-29 respectively; finding additional edges geographically nearby (geographic area) to run a workload, when utilization is exceeded, Column 30, lines 45-48) wherein a perimeter of the geographic area is dynamically determined based on the geographic demand for the application; (dynamically adjusting the placement of workloads on edge servers as load spikes are detected (perimeter/changes in geographic demand), Column 15, lines 56-62) transmitting a copy of instructions of the application to a first portion of the plurality of edge computing nodes within the geographic area having the first demand for the application that exceeds a threshold, (based on round-trip-time (RTT) service level objective (SLO) received from edges, determining a group of external endpoints within a short geographic distance (first portion of the plurality of edge computing nodes within the geographic area) where RTT SLO is exceeded (first demand for the application exceeds a threshold), Columns 29-30, lines 50-67 and 1-29 respectively; finding additional edges geographically nearby to run a workload (application), when utilization is exceeded, Column 30, lines 45-48) wherein the first portion of the plurality of edge computing nodes is to install the copy of instructions of the application (fetch code packages from the code package data and store into edge local storage (deploy the application). Extract the configuration instructions and the code from the workload. Code can be supplied as binary executables, virtual machines images, or containers. Convert the configuration and code, if necessary, into a format that can be processed by the cluster scheduler of the edge. Instruct a cluster scheduling system to execute the workload within an edge, according to the configuration specification associated with the workload. (install copy of instructions), Column 20, lines 1-17) and process requests via processing of the copy of instructions of the application; (steers external endpoint requests to edges where requested tenant applications are placed, and schedules execution of tenant applications at the edges, Column 5, lines 34-38) and implementing the application locally for a second portion of the plurality of edge computing nodes associated with a second demand for the application. (Timely delivery of metric information is useful so the workload placement manager 506 can react quickly to changes in load or endpoint message patterns. In this context “pipeline” refers to the metrics flowing continuously over time from each cluster 106 to the orchestration manager 104, in support of the continuous process of evaluating metrics to update workload placement (second demand for the application) and traffic steering decisions (second portion of the plurality of edge computing nodes) , Column 20, lines 55-62) Dilley et al. do not disclose: generate, based on the plurality of indications, a heat map representing the geographic demand for the application; and control, based on the heat map, deployment of the application to the plurality of edge computing nodes determining, based on the heat map, a geographic area a second demand is below the threshold demand. However, Pelikan et al. disclose: a second demand is below the threshold demand. (predicting where demand is going to be high (demand is currently below the threshold demand) in order to allocate additional resources to a specific location, Paragraphs 95-96) Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Pelikan et al. into the teaching of Dilley et al. to include a second demand is below the threshold demand in order to predict future demand for resources which can help proper allocation of resources to minimize oversupply and undersupply of resources. Dilley et al. and Pelikan et al. do not disclose: generate, based on the plurality of indications, a heat map representing the geographic demand for the application; and control, based on the heat map, deployment of the application to the plurality of edge computing nodes determining, based on the heat map, a geographic area However, Peters et al. disclose: generate, based on the plurality of indications, a heat map representing the geographic demand for the application; (generate a heat map illustrating the current demand mapped geographically, Paragraph 30) and control, based on the heat map, deployment of the application to the plurality of edge computing nodes (provisioning resources to a particular geographic region (control deployment) based on the heat map, Paragraph 30) determining, based on the heat map, a geographic area (provisioning resources to a particular geographic region (geographic area) based on the heat map, Paragraph 30) Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Peters et al. into the teaching of Dilley et al. and Pelikan et al. to include generate, based on the plurality of indications, a heat map representing the geographic demand for the application, control, based on the heat map, deployment of the application to the plurality of edge computing nodes and determining, based on the heat map, a geographic area in order to provide insight into demand for resources in particular geographic regions which can help future provisioning of resources in those particular geographic regions. (Peters et al., Paragraph 30) With respect to Claim 12, all the limitations of Claim 11 have been addressed above and Dilley et al. and Pelikan et al. do not disclose: wherein the processor is to: update the heat map responsive to receipt of a further indication, the further indication indicative of updated geographic demand for the application; and dynamically change deployment of the application to the plurality of edge computing nodes based on the heat map as updated. However, Peters et al. disclose: wherein the processor is to: update the heat map responsive to receipt of a further indication, the further indication indicative of updated geographic demand for the application; (receiving current demand for mobile resources mapped geographically which can be updated in real-time from the central control server, Paragraph 30) and dynamically change deployment of the application to the plurality of edge computing nodes based on the heat map as updated. (provisioning resources to a particular geographic region based on the updated heat map in real-time, Paragraph 30) Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Peters et al. into the teaching of Dilley et al. and Pelikan et al. to include update the heat map responsive to receipt of a further indication, the further indication indicative of updated geographic demand for the application and dynamically change deployment of the application to the plurality of edge computing nodes based on the heat map as updated in order to provide insight into demand for resources in particular geographic regions which can help future provisioning of resources in those particular geographic regions. (Peters et al., Paragraph 30) With respect to Claim 13, all the limitations of Claim 11 have been addressed above and Dilley et al.’s first embodiment and Pelikan et al. disclose: wherein the processor is to: receive, from the plurality of edge computing nodes over the communication network, a plurality of additional indications of additional requests for an additional application as received at the plurality of edge computing nodes from the plurality of edge clients, the plurality of additional indications being indicative of respective geographic demand for the additional application; (Dilley et al.’s first embodiment, Timely delivery of metric information is useful so the workload placement manager 506 can react quickly to changes in load or endpoint message patterns. In this context “pipeline” refers to the metrics flowing continuously over time from each cluster 106 to the orchestration manager 104, (additional indications) in support of the continuous process of evaluating metrics to update workload placement (additional application) and traffic steering decisions (geographic demand), Column 20, lines 55-62) Dilley et al.’s first embodiment and Pelikan et al. do not disclose: generate, based on the plurality of additional indications, a respective heat map representing the respective geographic demand for the additional application; and transmit, to the first portion of the plurality of edge computing nodes over the communications network, commands to delete the additional application at the first portion of the plurality of edge computing nodes according to the respective heat map, to clear respective memory space at the first portion of the plurality of edge computing nodes such that the first portion of the plurality of edge computing nodes have available memory space to install the application and process requests via processing the application However, Dilley et al.’s second embodiment disclose: and transmit, to the first portion of the plurality of edge computing nodes over the communications network, commands to delete the additional application at the first portion of the plurality of edge computing nodes according to the respective [demand], to clear respective memory space at the first portion of the plurality of edge computing nodes such that the first portion of the plurality of edge computing nodes have available memory space to install the application and process requests via processing the application. (Process a queued request (command) from a workload placement manager 506 to start, stop, or remove a workload (an additional application) in a set of indicated edges.(subset) In response to such a work item the workload message server 508 passes a message to each connected edge message client 533 instructing it to start, stop, or remove a workload as requested., Columns 17 and 18, lines 64-67 and 1-2 respectively) Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Dilley et al.’s second embodiment into the teaching of Dilley et al.’s first embodiment and Pelikan et al. to include and transmit, to the first portion of the plurality of edge computing nodes over the communications network, commands to delete the additional application at the first portion of the plurality of edge computing nodes according to the respective [demand], to clear respective memory space at the first portion of the plurality of edge computing nodes such that the first portion of the plurality of edge computing nodes have available memory space to install the application and process requests via processing the application in order to free up memory space by deleting applications that are rarely used or no longer needed. Dilley et al.’s first embodiment, Pelikan et al. and Dilley et al.’s second embodiment do not disclose: generate, based on the plurality of additional indications, a respective heat map representing the respective geographic demand for the additional application; However, Peters et al. disclose: generate, based on the plurality of additional indications, a respective heat map representing the respective geographic demand for the additional application; (generate a heat map illustrating the current demand mapped geographically, Paragraph 30) Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Peters et al. into the teaching of Dilley et al.’s first embodiment, Pelikan et al. and Dilley et al.’s second embodiment to include generate, based on the plurality of additional indications, a respective heat map representing the respective geographic demand for the additional application in order to help in future provision of resources to a particular geographic region. (Peters et al., Paragraph 30) Claim 5 is rejected under 35 U.S.C. 103 as being unpatentable over Dilley et al. (US 10,791,168) in view of Pelikan et al. (US 2018/0114236) and in further view of Gupta et al. (US 2020/0004569). With respect to Claim 5, all the limitations of Claim 1 have been addressed above and Dilley et al. and Pelikan et al. further disclose: wherein the processor is to: determine an edge computing node from the subset of the plurality of edge computing nodes within the geographic area, (Dilley et al., indicating the set of edges intended to perform a specific command (determine an edge computing device within a geographic area), Column 17, lines 27-67) wherein the edge computing device from the subset of the plurality of edge computing nodes stores an additional application (Dilley et al., the workload is stored in a set of indicated edges, Column17, lines 64-65) transmit a command to the edge computing node included in the subset of the plurality of edge computing nodes within the geographic area, the command to delete the additional application stored at the edge computing node included in the subset of the plurality of edge computing nodes within the geographic area to clear memory space for storing [an] application; (Dilley et al., Process a queued request (command) from a workload placement manager 506 to start, stop, or remove a workload in a set of indicated edges. (subset of the plurality of edge computing nodes within the geographic area) In response to such a work item the workload message server 508 passes a message to each connected edge message client 533 instructing it to start, stop, or remove a workload as requested., Columns 17 and 18, lines 64-67 and 1-2 respectively) and deploy the application to the edge computing node included in the subset of the plurality of edge computing nodes within the geographic area (Dilley et al., placement (deploy) of the workload (application) at the edges within the NewEdges set (a subset of the plurality of edge computing nodes within the geographic area), Column 30, lines 21-25) such that the edge computing device installs the application locally (Dilley et al., fetch code packages from the code package data and store into edge local storage (deploy the application). Extract the configuration instructions and the code from the workload. Code can be supplied as binary executables, virtual machines images, or containers. Convert the configuration and code, if necessary, into a format that can be processed by the cluster scheduler of the edge. Instruct a cluster scheduling system to execute the workload within an edge, according to the configuration specification associated with the workload. (install the application locally), Column 20, lines 1-17) and, in response to receipt of requests for the application, processes the received requests via processing the application. (Dilley et al., steers external endpoint requests to edges where requested tenant applications are placed, and schedules execution of tenant applications at the edges, Column 5, lines 34-38) Dilley et al. and Pelikan et al. do not disclose: determine an additional application with an additional demand that is below the threshold demand; clear memory space for storing the application at the edge computing node included in the subset of the plurality of edge computing nodes within the geographic area subsequent to the edge computing device deleting the additional application, deploy the application to the edge computing node. However, Gupta et al. disclose: determine an additional application with an additional demand that is below the threshold demand; (determine application instances that have low-usage or low-demand (below a threshold demand), Paragraphs 50-51) clear memory space for storing the application at the edge computing node included in the subset of the plurality of edge computing nodes within the geographic area (placement and migration engine 142 deletes any application instances 148 for any workloads that need to be decreased in size. Placement and migration engine 142 uses data collected by monitoring engine 136 to inform its decision as to which application instances 148 to delete. For example, placement and migration engine 142 might consider which application instances have low-usage or low-demand and so can be deleted, or which data centers 102 are overloaded and need to have resources freed by the deletion of application instances 148, Paragraph 51) subsequent to the edge computing device deleting the additional application, deploy the application to the edge computing node. (see Figure 2; placement and migration engine 142 makes a decision (after deleting of any application instances) regarding which data center 102 to place each newly created or to be created application instance 148. For each newly created or to be created application instance 148, placement a
Read full office action

Prosecution Timeline

Dec 13, 2022
Application Filed
Aug 23, 2024
Non-Final Rejection — §103, §112
Nov 18, 2024
Response Filed
Dec 18, 2024
Final Rejection — §103, §112
Feb 21, 2025
Request for Continued Examination
Feb 24, 2025
Response after Non-Final Action
Mar 20, 2025
Non-Final Rejection — §103, §112
Jun 17, 2025
Response Filed
Jul 21, 2025
Final Rejection — §103, §112
Oct 23, 2025
Request for Continued Examination
Oct 24, 2025
Response after Non-Final Action
Dec 18, 2025
Non-Final Rejection — §103, §112
Mar 10, 2026
Applicant Interview (Telephonic)
Mar 10, 2026
Examiner Interview Summary
Mar 19, 2026
Response Filed

Precedent Cases

Applications granted by this same examiner with similar technology. Study what changed to get past this examiner.

Patent 12547527
INTELLIGENT CUSTOMER SERVICE REQUEST PROCESSING MECHANISM
2y 5m to grant Granted Feb 10, 2026
Patent 12481500
ACCELERATING LINEAR ALGEBRA KERNELS FOR ANY PROCESSOR ARCHITECTURE
2y 5m to grant Granted Nov 25, 2025
Patent 12474919
FIRMWARE DISTRIBUTION METHOD FOR AN INFORMATION HANDLING SYSTEM
2y 5m to grant Granted Nov 18, 2025
Patent 12468519
SYSTEMS AND METHODS FOR IN-PLACE APPLICATION UPGRADES
2y 5m to grant Granted Nov 11, 2025
Patent 12461845
SYSTEM AND METHOD FOR DETECTING SOFTWARE TESTS THAT ARE SUSPECTED AS TESTS THAT ALWAYS PROVIDE FALSE POSITIVE
2y 5m to grant Granted Nov 04, 2025

AI Strategy Recommendation

Click below to generate an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

5-6
Expected OA Rounds
71%
Grant Probability
85%
With Interview (+13.8%)
3y 3m
Median Time to Grant
High
PTA Risk
Based on 495 resolved cases by this examiner