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 .
Response to Amendment
This Office action is in response to communications filed on 10/14/2025 including the supplemental amendment filed on 10/15/2025.
Claims 1, 4-5, 8-9, 12, 15-16, 19-21, and 23 have been amended.
Claim 22 has been cancelled.
Claim 24 has been added.
Claims 1-21 and 23-24 are pending.
Examiner’s Note
Claim 6 has been noted as "Currently Amended", however, the examiner was unable to locate any modifications to the claim, as such, the claim 6 is presumed to be unchanged.
Claim Objections
Claims 16, 21, and 24 are objected to because of the following informalities:
In claim 16, the term "while retain" should be - - while retaining - -.
In claim 21 the term "the the" should be - - the - -.
In claim 24 the term "The computer-readable medium of claim 1" should be - - The at least one non-transitory computer-readable medium of claim 1 - -.
Appropriate correction is required.
Response to Arguments
Applicant’s arguments with respect to claim(s) 1-21 and 23-24 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claim 24 is rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Regarding claim 24, the limitations recite "The computer-readable medium of claim 1, comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to: […]."
However, claim 1 recites "computer-readable medium comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:" and therefore, there is improper antecedent basis for the terms "instructions" and "one or more processors" in claim 24. It's unclear if they are the same "instructions" and "one or more processors" of claim 1.
For examination purposes, it has been interpreted as the same "one or more processors of claim 1", and the instructions further comprise further instructions to perform the features recited by claim 24.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
Claim(s) 1-7, 9-20, and 24 is/are rejected under 35 U.S.C. 103 as being unpatentable over Yebenes Segura et al. (US 20220103479 A1, hereinafter Yebenes Segura) in view of Maciocco et al. (US 20200142735 A1, hereinafter Maciocco).
Regarding claim 1, Yebenes Segura discloses at least one non-transitory computer-readable medium comprising instructions stored thereon (¶[0069], "According to some examples, a computer-readable medium may include a non-transitory storage medium to store or maintain instructions that when executed by a machine, computing device or system, cause the machine, computing device or system to perform methods and/or operations in accordance with the described examples"), that if executed by one or more processors, cause the one or more processors to:
for a set of microservices, modify at least one connection between the microservices based on telemetry data while retaining processors that execute the microservices (¶[0015], "Processors 104 can execute one or more applications (e.g., microservices, virtual machines (VMs), containers, or other distributed or virtualized execution environments) […] a link can used as part of a microservice-to-microservice communications); ¶[0019], "transmit pipeline 152 can utilize a congestion control protocol to detect when a flow does not experience congestion and can trigger phases for increasing packet transmit rate" - this is done by adjusting rates and not by replacing processors such as in Maciocco) and
for the set of microservices, modify the at least one connection between the microservices of the set of microservices to increase latency (¶[0017], "Transmit pipeline 152 can determine whether a congestion notification message has been received such as Congestion Notification Packets (CNPs), Explicit Congestion Notification (ECN) or Priority-Flow-Control (PFC). CNPs, ECN, or PFC can cause transmit pipeline 152 to reduce a rate of packet transmission and potentially reduce network congestion").
Yebenes Segura does not disclose change at least one processor of the processors, that executes the microservices, based on second telemetry data to increase latency.
Maciocco discloses change at least one processor of the processors, that executes the microservices, based on second telemetry data to increase latency (¶[0113], "if the policy data is indicative to optimize for power consumption and the telemetry controller 152 determines the microservice load on the first resource 305 is light (e.g., not compute intensive) but the second and third microservices are consuming significant power from the fourth resource 330, then the telemetry controller 152 determines that the second and third microservices are candidates to be onloaded to the first resource 305. In some examples, this process is referred to as onloading. Onloading is the process of loading (e.g., moving) a task from an accelerator back onto a general purpose processor" (thereby increasing latency since the accelerator is no longer used)- see Fig. 3, onloading the microservices to resource 305 from resource 330 changes the manner in which the microservices are connected).
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Yebenes Segura in view of Maciocco to change at least one processor of the processors, that executes the microservices, based on second telemetry data to increase latency.
One of ordinary skill in the art would have been motivated because it would reduce or optimize costs associated with running tasks on the microservices.
Regarding claim 2, the combined system of Yebenes Segura and Maciocco discloses the invention substantially as applied to claim 1, above, wherein the at least one connection between microservices comprises one or more of: chip-to-chip communications, die-to-die communications, packet-based communications, communications over a device interface, or fabric-based communications (Yebenes Segura, ¶[0015], link used to transmit packets between microservices).
Regarding claim 3, the combined system of Yebenes Segura and Maciocco discloses the invention substantially as applied to claim 1, above, wherein the telemetry data comprises one or more of: time-to-completion of a microservice, latency of communications between microservices, capacity of one or more processors, capacity of one or more memory devices, or network bandwidth utilization (Yebenes Segura, ¶[0021], "Congestion information can include one or more of: queue occupancy or depth, bytes transmitted by a switch or forwarding element, an identification of a path of at least one packet, duration a packet is stored in a packet queue at a switch, number of other packets that share a queue with a packet, egress timestamp, egress port transmit (TX) bandwidth link utilization, utilization value, and so forth").
Regarding claim 4, the combined system of Yebenes Segura and Maciocco discloses the invention substantially as applied to claim 1, above, wherein the modify at least one connection between the microservices based on the telemetry data is also based at least on at least one service level agreement (SLA) parameter associated with the microservices (Maciocco, ¶[0036], "Before actual execution of the application or service, examples disclosed herein process the composition graph, such that different subunits of the application or service may use different edge platform resources (e.g., integrate different edge platform resources for application or service execution). During processing, the application or service is subject to at least three different groups of conditions evaluated at run time. The three groups of conditions are, (a) the service objectives or orchestration objectives, (b) availabilities or utilizations of different resources, and (c) capabilities of different resources"; ¶[0037], "Further, there may be more conditions than just a, b, and c described above. For example, security requirements in a given edge infrastructure may be less or more stringent according to whether an application or service runs on an attackable component (e.g., a software module) or one that is not attackable (e.g., an FPGA, an ASIC, etc.). Similarly, some tenants may be restricted to certain types of edge platform resources according to business or metering-and-charging agreements. Thus security and business policies may also be at play in determining the dynamic integration"; ¶[0157], "The example telemetry controller 152 determines if the utilization metrics and/or telemetry data meet policy data specifications (block 626). For example, if the policy specifications are indicative to limit temperature of hardware (e.g., CPU temperature) and the telemetry data is indicative that the temperature of the target resource is at an above-average level, then the telemetry controller 152 determines the utilization metrics and/or telemetry data do not meet policy data specifications (e.g., block 626=NO). In this manner, the example telemetry controller 152 determines a second resource to offload the workload (block 628). For example, the telemetry controller 152 determines a resource that will reduce the temperature of the resource executing the workload. The example telemetry controller 152 generates a notification (block 630) indicative of the second resource"; ¶[0087], "The example policy controller 208 controls the receipt and storage of policy data (e.g., policy data 138A). The example policy controller 208 may be an interface, an API, a collection agent, etc. In some examples, a tenant, a developer, an endpoint device user, an information technology manager, etc., can provide policy data (e.g., policy data 138A) to the policy controller 208. Policy data includes requirements and/or conditions in which the edge platform (e.g., edge platforms 140, 150) are to meet"; ¶[0093], "registration controller 206 generates a contract indicative that the edge service 200 will provide particular aspects (e.g., quality, availability, responsibility, etc.) for the edge computing workload" - see also ¶[0076], "For example, in response to receiving an edge computing workload, an edge service (e.g., one or more of the edge services 130A-C) provides a contract and a description of the workload to the security controller (e.g., the first security controller 154). In such an example, the security controller (e.g., the first security controller 154) analyzes the requests of the workload to determine whether the resource(s) (e.g., the first resource(s) 149) are authorized and/or registered to take on the workload. For example, the security controllers 154, 166 include authentication information, security information, etc., in which determines whether an edge computing workload meets edge platform credentials and whether an edge platform (e.g., edge platforms 140, 150) is sufficiently trusted for assigning a workload to").
Regarding claim 5, the combined system of Yebenes Segura and Maciocco discloses the invention substantially as applied to claim 1, above, wherein the modify at least one connection between the microservices based on the telemetry data comprises modify a hardware resource that is to execute one or more of the microservices (Yebenes Segura, ¶[0019], "transmit pipeline 152 can utilize a congestion control protocol to detect when a flow does not experience congestion and can trigger phases for increasing packet transmit rate"; ¶[0022], "Based on received congestion information for a flow, transmit pipeline 152 can adjust packet transmit rate 154 to adjust a transmit rate of packets of the flow or a congestion window of the flow" (i.e., the configuration of the hardware resource is modified)).
Regarding claim 6, the combined system of Yebenes Segura and Maciocco discloses the invention substantially as applied to claim 1, above, comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to: store check-point log of data generated by a workload and access the check-point log of data for a re-launch of the workload to set a starting point within the workload based on previously computed data (Maciocco, ¶[0115], "When a microservice has been identified as a candidate to be offloaded and/or onloaded from one resource to another, the scheduler 144 pauses the workload execution and determines a workload state of the microservice, the workload state indicative of a previous thread executed at a resource. For example, the scheduler 144 performs a decoupling method. Decoupling is the task of removing and/or shutting down a microservice task at a target resource and adding and/or starting the microservice task on a different resource. The scheduler 144 may implement persistent queuing and dequeuing operations through the means of persistent memory of the edge platform 140. In this manner, the scheduler 144 allows microservices (e.g., microservices) to achieve resilient operation, even as instances of the workloads are shutdown on one resource and started on a different resource. The implementation of decoupling allows the scheduler 144 to determine a workload state. For example, the scheduler 144 snapshots (e.g., saves) the state of the microservice at the point of shutdown for immediate use a few tens of milliseconds later, to resume at a different resource").
Regarding claim 7, the combined system of Yebenes Segura and Maciocco discloses the invention substantially as applied to claim 1, above, comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to: cause execution of one or more replica microservices (Maciocco, ¶[0114], "when the telemetry controller 152 determines candidate ones of microservices to be offloaded, the scheduler 144 may determine whether a correct instance or implementation of that workload is available. For example, when the telemetry controller 152 decides to offload the first microservice from the first resource 305 to the fourth resource 330, the scheduler 144 determines whether this is possible. In such an example, the scheduler 144 may query the third resource 315 (e.g., the datastore) to determine if an instance of the microservice exists that is compatible with the fourth resource 330. For example, the first microservice representative of a fast Fourier Transform (FFT) is implemented in a first flavor (e.g., x86) and the scheduler 144 determines if there is an instance of the FFT that is implemented in a second flavor (e.g., FPGA). In such a manner, the scheduler determines the instance of the microservice (e.g., workload) that is compatible with the resource of which the microservice is to execute at");
select at least one of the replica microservices (Maciocco, ¶[0114], "In such a manner, the scheduler determines the instance of the microservice (e.g., workload) that is compatible with the resource of which the microservice is to execute at"); and
modify at least one connection between microservices to provide connection to the selected at least one of the replica microservices (Maciocco, ¶[0097], "edge computing workload includes a first microservice, a second microservice, and a third microservice coupled together through a graph-like mechanism to constitute the workload [...] the microservices are in communication with each other"; ¶[0113], " if the policy data is indicative to optimize for power consumption and the telemetry controller 152 determines the microservice load on the first resource 305 is light (e.g., not compute intensive) but the second and third microservices are consuming significant power from the fourth resource 330, then the telemetry controller 152 determines that the second and third microservices are candidates to be onloaded to the first resource 305" - see Fig. 3, onloading the microservices to resource 305 from resource 330 changes the manner in which the microservices are connected).
Regarding claims 9-14, Yebenes Segura discloses an apparatus comprising: an interface and circuitry communicatively coupled to the interface (¶[0069], "According to some examples, a computer-readable medium may include a non-transitory storage medium to store or maintain instructions that when executed by a machine, computing device or system, cause the machine, computing device or system to perform methods and/or operations in accordance with the described examples"; Fig. 7, interface coupled to processor).
The remaining limitations of claims 9-14 are similar in scope to those of claims 1-6. Therefore, claims 9-14 are rejected for the same reasons as set forth in the rejection of claims 1-6, above.
Regarding claim 15, the combined system of Yebenes Segura and Maciocco discloses the invention substantially as applied to claim 9, above, comprising hardware resources that are to execute the microservices, wherein the hardware resources comprise one or more of: one or more processors; one or more programmable packet processing pipelines; one or more accelerators; one or more hardware queue managers (HQM), one or more application specific integrated circuits (ASICs); one or more field programmable gate arrays (FPGAs); one or more graphics processing units (GPUs); one or more memory devices; one or more storage devices; one or more interconnects; one or more device interfaces; one or more network interface devices; one or more servers; or one or more computing platforms (Yebenes Segura, ¶[0015], "Processors 104 can execute one or more applications (e.g., microservices, virtual machines (VMs), containers, or other distributed or virtualized execution environments) […] a link can used as part of a microservice-to-microservice communications)).
Regarding claims 16-20, Yebenes Segura discloses a method (¶[0069], "methods and/or operations in accordance with the described examples").
The remaining limitations of claims 16-20 are similar in scope to those of claims 1-5. Therefore, claims 16-20 are rejected for the same reasons as set forth in the rejection of claims 1-5, above.
The computer-readable medium of claim 1, comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to: for the set of microservices: after the modification of at least one connection between the microservices of the set of microservices, modify the at least one connection between the microservices based on third telemetry data to reduce latency of communications among the microservices (Maciocco, ¶[0155], after "telemetry controller 152 makes a decision to execute the workload at the general purpose processing unit resource […] the comparison program 518 returns to the program of FIG. 5"; ¶[0141], determining "if the workload is to be offloaded from a general purpose processing unit to an acceleration unit"; ¶[0108], " In this manner, the scheduler 144 configures the second and third microservices to execute at the first resource 305 (e.g., the CPU) and the first microservice to execute at the fourth resource 330 to maximize the edge platform 140 capabilities while additionally meeting user requirements").
Claim(s) 8 is/are rejected under 35 U.S.C. 103 as being unpatentable over Yebenes Segura (US 20220103479 A1) in view of Maciocco (US 20200142735 A1), as applied to claim 1, above, and further in view of Parthasarathy et al. (US 20200382388 A1, hereinafter Parthasarathy).
Regarding claim 8, the combined system of Yebenes Segura and Maciocco discloses the invention substantially as applied to claim 1, above, comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to: collect the telemetry data and perform the modify at least one connection between the microservices based on telemetry data (Yebenes Segura, ¶[0015], "Processors 104 can execute one or more applications (e.g., microservices, virtual machines (VMs), containers, or other distributed or virtualized execution environments) […] a link can used as part of a microservice-to-microservice communications); ¶[0019], "transmit pipeline 152 can utilize a congestion control protocol to detect when a flow does not experience congestion and can trigger phases for increasing packet transmit rate" - this is done by adjusting rates and not by replacing processors such as in Maciocco).
The combined system of Yebenes Segura and Maciocco does not disclose modify at least one connection between the microservices based on a resiliency parameter.
Parthasarathy discloses modify at least one connection between the microservices based on a resiliency parameter (¶[0055], "a micro services based application is the to be elastic if the upstream microservices can tolerate occasionally not obtaining a response within the timeout period from downstream microservices. Some services are mandatory and must work quickly and reliably. Other services are relatively less important (e.g., recommendations), though timely service is still desirable"; ¶[0057], "there is an end-to-end constraint on latency (say 95% of requests must finish within two seconds); it is desired to minimize, within the two seconds, the error metric (e.g., a weighted error function or weighted loss function) [...] One or more embodiments control those two parameters. Timeout refers to an entity (e.g. Service 1) waiting for a service (e.g. Service 2) for a timeout period of time; e.g., three seconds. Service 1 waits for Service 2 to respond for three seconds. If Service 2 does not respond to Service 1 in three seconds; Service 1 is “done” with Service 2. A retry parameter can specify, for example, a number of attempts; e.g., one attempt, two attempts, three attempts, and so on. For example, suppose the timeout parameter is three seconds and the retry parameter is two. The system would wait three seconds for the request; if there was no response, the system would try again and again wait for three seconds"; ¶[0069], "a method for setting the resiliency parameters of cloud micro service applications"; ¶[0095], "Each of the plurality of nodes other than the root node has a timeout parameter and a retries parameter (e.g., t(ν) and a(ν) 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 modify the combined system of Yebenes Segura and Maciocco in view of Parthasarathy to modify at least one connection between the microservices based on a resiliency parameter.
One of ordinary skill in the art would have been motivated because it would enable the system to satisfy "a specified end-to-end latency for the microservices" while "minimizing an error rate for the microservices" (Parthasarathy, ¶[0004]).
Claim(s) 21 is/are rejected under 35 U.S.C. 103 as being unpatentable over Karuppannan et al. (US 20230021723 A1, hereinafter Karuppannan) in view of Yebenes Segura (US 20220103479 A1), and further in view of Maciocco (US 20200142735 A1).
Regarding claim 21, Karuppannan discloses at least one non-transitory computer-readable medium comprising instructions stored thereon, that if executed by one or more processors (¶[0005], "a non-transitory computer-readable storage medium comprising instructions that cause a computer system to carry out the above method, as well as a computer system configured to carry out the above method"), cause the one or more processors to:
dynamically select composition of an application between monolithic implementation and two or more microservices based on first telemetry data (¶[0022], "techniques described herein provide a seamless method for splitting monolithic applications into microservices and deploying those microservices as containers"; ¶[0054], "migration controller 124 logs in to a VM 114 (or multiple VMs 114 in the case of a distributed monolithic application 116), e.g., by entering access credentials. At step 304, migration controller 124 installs an agent 118 in each VM 114 to monitor the monolithic application 116 and each guest OS 120. Agents 118 may monitor over a period of time, e.g., for twenty-four hours"; ¶[0057], "each installed agent 118 discovers the running processes of monolithic application 116"; ¶[0058], "each installed agent 118 discovers outbound socket connections and listening ports for processes"; ¶[0059], "each installed agent 118 discovers environment variables of processes"; ¶[0061], "each installed agent 118 discovers shared library dependencies of processes"; ¶[0063], "each installed agent 118 transmits collected information about the processes to migration controller 124"; ¶[0065], "migration controller 124 determines if a monolithic application 116 is distributed across multiple VMs 114. At step 404, migration controller 124 determines if the monolithic application 116 consumes a large amount of storage 136. For example, a monolithic application 116 being distributed or large may reduce the likelihood of automatically migrating processes therein as microservices (or lower the migration scores of processes therein)"; ¶[0068], " migration controller 124 makes a migration decision of whether to migrate the selected process as a microservice. Migration controller 124 may make the decision automatically based on, e.g., the above-mentioned factors"), wherein:
Karuppannan does not disclose based on the composition of the application as the two or more microservices and based on second telemetry data, adjust at least one connection while retaining processors that execute the two or more microservices and based on third telemetry data, modifying the at least one connection between the the two or more microservices and changing at least one processor that executes a microservice of the two or more microservices.
Yebenes Segura discloses based on the composition of the application as the two or more microservices and based on second telemetry data, adjust at least one connection while retaining processors that execute the two or more microservices (¶[0015], "Processors 104 can execute one or more applications (e.g., microservices, virtual machines (VMs), containers, or other distributed or virtualized execution environments) […] a link can used as part of a microservice-to-microservice communications); ¶[0019], "transmit pipeline 152 can utilize a congestion control protocol to detect when a flow does not experience congestion and can trigger phases for increasing packet transmit rate" - this is done by adjusting rates and not by replacing processors such as in Maciocco) and
based on third telemetry data, modifying the at least one connection between the the two or more microservices (¶[0017], "Transmit pipeline 152 can determine whether a congestion notification message has been received such as Congestion Notification Packets (CNPs), Explicit Congestion Notification (ECN) or Priority-Flow-Control (PFC). CNPs, ECN, or PFC can cause transmit pipeline 152 to reduce a rate of packet transmission and potentially reduce network congestion").
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Karuppannan in view of Yebenes Segura so that based on the composition of the application as the two or more microservices and based on second telemetry data, adjust at least one connection while retaining processors that execute the two or more microservices and based on third telemetry data, modifying the at least one connection between the the two or more microservices.
One of ordinary skill in the art would have been motivated because it would enable a system to "increase utilization of the link" when "a link is underutilized" (Yebenes Segura, ¶[0015]) or decrease a packet transmission rate when there is congestion (¶[0026]).
The combined system of Karuppannan and Yebenes Segura does not disclose based on third telemetry data, changing at least one processor that executes a microservice of the two or more microservices.
Maciocco discloses based telemetry data, changing at least one processor that executes a microservice of the two or more microservices (¶[0113], "if the policy data is indicative to optimize for power consumption and the telemetry controller 152 determines the microservice load on the first resource 305 is light (e.g., not compute intensive) but the second and third microservices are consuming significant power from the fourth resource 330, then the telemetry controller 152 determines that the second and third microservices are candidates to be onloaded to the first resource 305. In some examples, this process is referred to as onloading. Onloading is the process of loading (e.g., moving) a task from an accelerator back onto a general purpose processor" (thereby increasing latency since the accelerator is no longer used)- see Fig. 3, onloading the microservices to resource 305 from resource 330 changes the manner in which the microservices are connected).
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the combined system of Karuppannan and Yebenes Segura in view of Maciocco for, based on third telemetry data, changing at least one processor that executes a microservice of the two or more microservices.
One of ordinary skill in the art would have been motivated because it would reduce or optimize costs associated with running tasks on the microservices.
Claim(s) 23 is/are rejected under 35 U.S.C. 103 as being unpatentable over Karuppannan (US 20230021723 A1) in view of Maciocco (US 20200142735 A1), as applied to claim 22, above, and further in view of He et al. (US 20210243247 A1, hereinafter He).
Regarding claim 23, the combined system of Karuppannan, Yebenes Segura, and Maciocco discloses the invention substantially as applied to claim 21, above.
The combined system of Karuppannan, Yebenes Segura, and Maciocco does not disclose configure a switch to perform forwarding of communications between microservices based on the adjusted at least one connection between microservices.
He discloses configure a switch to perform forwarding of communications between microservices based on the adjusted at least one connection between microservices (abstract, "a switch comprising a programmable data plane pipeline, wherein the programmable data plane pipeline is configured to provide microservice-to-microservice communications within a service mesh. In some examples, to provide microservice-to-microservice communications within a service mesh, the programmable data plane pipeline is to perform a forwarding operation for a communication from a first microservice to a second microservice"; ¶[0001], "A service can be executed using a group of microservices and microservices communicate with other microservices using a network"; ¶[0085], "control agent 1322 can configure switch 1320 to perform a proxy for forwarding traffic between microservices inside service mesh 1300").
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the combined system of Karuppannan, Yebenes Segura, and Maciocco in view of He to configure a switch to perform forwarding of communications between microservices based on the adjusted at least one connection between microservices.
One of ordinary skill in the art would have been motivated because it would provide "a reliable transport protocol" (He, abstract).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BORIS D GRIJALVA LOBOS whose telephone number is (571)272-0767. The examiner can normally be reached M-F 10:30AM to 6:30PM EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Brian Gillis can be reached at 571-272-7952. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/BORIS D GRIJALVA LOBOS/ Primary Patent Examiner, Art Unit 2446