CTNF 18/588,794 CTNF 92104 DETAILED ACTION Claims 1-20 are pending. Notice of Pre-AIA or AIA Status 07-03-aia AIA 15-10-aia The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA. Information Disclosure Statement The information disclosure statement (IDS) submitted on 02/27/2024 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner. Claim Rejections - 35 USC § 103 07-20-aia AIA 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. 07-21-aia AIA Claim s 1-3, 6-11, 14-20 are rejected under 35 U.S.C. 103 as being unpatentable over Maciocco et al. (US 2020/0142735 A1) in view of Khan et al. (US 2017/0091127 A1) . Regarding claim 1, Maciocco teaches an information handling system ([0040] FIG. 1 depicts an example environment (e.g., a computing environment) 100 including an example cloud environment 105, an example edge environment 110, and an example endpoint environment 115 to schedule, distribute, and/or execute a workload) comprising: a memory to store a plurality of system trigger events ([0041] In FIG. 1, the database 135 stores the policy data 138A-C) ; and a processor to communicate with the memory (Fig. 1 shows resource 149 connected to the database through 141; [0081] resource(s) 149 (e.g., general purpose processors like Atom, Core, Xeon, AMD x86, IBM Power, RISC V, etc.); [0161]) , the processor to: execute first and second applications ([0036] For example, applications or services executing in an edge environment are no longer being distributed as monolithic preassembled units. Instead, applications or services are being distributed as collections of subunits (e.g., microservices, edge computing workloads, etc.) that can be integrated (e.g., into an application) according to a specification referred to as an assembly and/or composition graph) ; retrieve the system trigger events from the memory determine whether one of the system trigger events has been detected and in response to the one of the system trigger events being detected ([0071]; [0144] During workload execution, the telemetry controller 152 may periodically and/or aperiodically collect utilization metrics and telemetry data from the resources the workload is executing at. Additionally, the example telemetry controller 152 periodically and/or aperiodically performs comparisons of the utilization metrics to the policy data. In this manner, the orchestrator 142 is constantly making decisions about how to optimize usage of the edge platform resources during workload executions.; [0147] Turning to FIG. 6, the example comparison program 520 begins when the example telemetry controller 152 obtains policy data from a database (block 602). For example, the telemetry controller 152 utilizes the policy data and the utilization metrics for the comparison program.; [0148] The example telemetry controller 152 analyzes the policy data to determine if the policy data is indicative to optimize for performance (block 604). For example, it may be desirable to optimize (e.g., enhance) the quality of workload execution (e.g., the quality of video streaming). If the example telemetry controller 152 determines the policy data is indicative to optimize for performance (e.g., block 604=YES), then the example telemetry controller 152 analyzes the utilization metrics with regard to performance. The example telemetry controller 152 determines a performance metric from the utilization metrics (block 606). For example, the telemetry controller 152 determines network throughput, bandwidth, bit rate, latency, etc., of the resource executing the workload.; [0149] The example telemetry controller 152 determines if the performance metric(s) meet a performance threshold corresponding to the policy data (block 608). A performance threshold is indicative of the smallest allowable performance metric in which the workload is to meet, as required by the policy data.; [0150] If the telemetry controller 152 determines the workload performance metric(s) does not meet a performance threshold corresponding to the policy data (e.g., block 608=NO), the telemetry controller 152 determines a second resource which the performance of the workload will meet the performance threshold (block 610). For example, the capability data may be obtained by the telemetry controller 152. The telemetry controller 152 may analyze the capability models corresponding to other resources in the edge platform to make a decision based on the capability model.) , the processor further to: transfer execution of the first application from the information handling system to a remote compute device (Fig. 5, step 522; [0071]; [0141] The example orchestrator 142 determines if the comparison of utilization metrics to policy data determines the workload is to be offloaded (block 522). If the orchestrator 142 determines the workload is to be offloaded (e.g., block 522=YES), the orchestrator 142 determines the correct workload instance for the second resource (block 524). For example, if the workload is to be offloaded from a general purpose processing unit to an acceleration unit, the example orchestrator 142 queries a database for a variant and/or transformation of the workload that corresponds to the acceleration unit.; [0142] The example scheduler 144 offloads the workload from the target resource to the second resource (block 528). For example, the scheduler 144 obtains the workload instance for the second resource and configures the workload instance to execute at the second resource.; [0151]) . Maciocco does not explicitly teach provide data to the first application via a first data lane and to the second application via a second data lane; create a third data lane from the data to the first application being executed on the remote compute device; and provide the data to the first application being executed on the remote compute device over the third data lane. However, Khan teaches provide data to the first application via a first data lane and to the second application via a second data lane ([0016] workloads traditionally implemented by processor circuitry or processors; [0041] a workload to be performed on data to be written to or read from memory die(s) 510-1.); create a third data lane from the data to the first application being executed on the remote compute device ([0041] processing circuit 540 may decide to offload at least a portion of the workload to acceleration logic 580 and may also direct port logic 530 to configure configurable communication port 535 to facilitate communication of the workload via serial communication link 537 and to allow acceleration logic to access memory die(s) 510 to complete at least its offloaded portion of the workload. A same or different communication protocol as used at communication port 565 may be used at configurable communication port 535. For example, communication port 565 may use the PCIe communication protocol. Meanwhile, configuration communication port 535 may either use the PCIe communication protocol or may be configured to use one of the Ethernet, QPI, Infiniband or USB communication protocols.; [0042] In some examples, acceleration logic 580 may be housed within storage device 502. In other examples, acceleration logic 580 may couple to storage device as a peripheral device outside of storage device 502.) and provide the data to the first application being executed on the remote compute device over the third data lane ([0042]; [0098] The logic may also offload at least a portion of the workload to the first ASIC, the at least a portion of the workload to include encryption of the data, decryption of the data, compression of the data, decompression of the data, a filter operation on the data or a search string associated with the data.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Khan of establishing a communication path for a peripheral/remote device for an offloaded execution to obtain access to data necessary for workload operations. The modification would have been motivated by the desire of ensuring the portion of the offloaded workload can access data to perform the operations without having to replicate the data to the peripheral device. Regarding claim 2, Maciocco teaches wherein the processor further to: determine whether a condition exists to cause the execution of the first application to be transferred back to the information handling, and in response to the condition existing, transfer the execution of the first application to the information handling system ([0039] In some examples, it may be advantageous to perform just-in time onloading of edge computing workloads. For example, by utilizing telemetry data, edge computing workloads executing at an accelerator resource can be determined as less important based on Quality of Service (QoS), energy consumption, etc. In such an example, the edge computing workload may be onloaded from the accelerator onto the general purpose processing unit.; [0065] For example, the edge service 130A-C is distributed at the edge platforms 140, 150 to enable the orchestrators 142, 156, the schedulers 144, 158, the capability controllers 146, 160, the telemetry controllers 152, 164, and/or the security controllers 154, 166 to dynamically offload and/or onload registered workloads to available resource(s) 149, 162 based on the capability data 136A-C and the policy data 138A-C.; [0113] Onloading is the process of loading (e.g., moving) a task from an accelerator back onto a general purpose processor (e.g., CPU, multicore CPU, etc.).; [0177]). Regarding claim 3, Maciocco teaches wherein the processor further to: re-establish the first data lane between the data and the first application being executed on the information handling system ([0039]; [0065]; [0113] Onloading is the process of loading (e.g., moving) a task from an accelerator back onto a general purpose processor (e.g., CPU, multicore CPU, etc.).; Maciocco teaches returning a workload to the original environment ). In addition, Khan teaches wherein the processor further to: re-establish the first data lane between the data ([0016] workloads traditionally implemented by processor circuitry or processors; [0041] a workload to be performed on data to be written to or read from memory die(s) 510-1.). Regarding claim 6, Khan teaches wherein the processor further to: communicate with a second processor of the remote compute device to establish the third data lane ([0041] processing circuit 540 may decide to offload at least a portion of the workload to acceleration logic 580 and may also direct port logic 530 to configure configurable communication port 535 to facilitate communication of the workload via serial communication link 537 and to allow acceleration logic to access memory die(s) 510 to complete at least its offloaded portion of the workload. A same or different communication protocol as used at communication port 565 may be used at configurable communication port 535. For example, communication port 565 may use the PCIe communication protocol. Meanwhile, configuration communication port 535 may either use the PCIe communication protocol or may be configured to use one of the Ethernet, QPI, Infiniband or USB communication protocols.; [0042] In some examples, acceleration logic 580 may be housed within storage device 502. In other examples, acceleration logic 580 may couple to storage device as a peripheral device outside of storage device 502.). Regarding claim 7, Khan teaches wherein the processor further to: execute a telemetry service to provide the data over the first data lane to the first application being executed in the information handling system ([0041] port logic 530 to configure configurable communication port 535 to facilitate communication of the workload via serial communication link 537 and to allow acceleration logic to access memory die(s) 510 to complete at least its offloaded portion of the workload.). Regarding claim 8, Maciocco teaches wherein the system trigger events includes a system health level, a detected latency of the data transfer and a workload context ([0071] The telemetry data can include a utilization (e.g., a percentage of a resource that is utilized or not utilized), a delay (e.g., an average delay) in receiving a service (e.g., latency), a rate (e.g., an average rate) at which a resource is available (e.g., bandwidth, throughput, etc.), power expenditure, etc., associated with one(s) of the resource(s) 149, 162 of at least one of the first edge platform 140 or the second edge platform 150. The example telemetry controllers 152, 164 may store telemetry data (e.g., utilization metrics) in the example ES databases 148, 159.; [0087] Policy data includes requirements and/or conditions in which the edge platform (e.g., edge platforms 140, 150) are to meet. For example, an endpoint device user desires to optimize for resource performance during workload execution. In other examples, the endpoint device user desires to optimize for power consumption (e.g., save battery life) during workload execution; [0110] the policy data is indicative to optimize for latency; [0113] In other examples, 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; [0116] The scheduler 144 utilizes the workload state to schedule the microservice to execute at a different resource. For example, the scheduler 144 captures the workload state at the first resource 305 and stores the workload state in a memory. In some examples, the scheduler 144 exchanges the workload state with the fourth resource 330 (e.g., when the microservice is to be offloaded to the fourth resource 330). In this manner, the fourth resource 330 obtains the workload state to from a memory for continued execution of the workload at the workload state.; [0148] The example telemetry controller 152 analyzes the policy data to determine if the policy data is indicative to optimize for performance (block 604). For example, it may be desirable to optimize (e.g., enhance) the quality of workload execution (e.g., the quality of video streaming). If the example telemetry controller 152 determines the policy data is indicative to optimize for performance (e.g., block 604=YES), then the example telemetry controller 152 analyzes the utilization metrics with regard to performance. The example telemetry controller 152 determines a performance metric from the utilization metrics (block 606). For example, the telemetry controller 152 determines network throughput, bandwidth, bit rate, latency, etc., of the resource executing the workload.; [0150] If the telemetry controller 152 determines the workload performance metric(s) does not meet a performance threshold corresponding to the policy data (e.g., block 608=NO), the telemetry controller 152 determines a second resource which the performance of the workload will meet the performance threshold (block 610). For example, the capability data may be obtained by the telemetry controller 152. The telemetry controller 152 may analyze the capability models corresponding to other resources in the edge platform to make a decision based on the capability model. For example, the capability model may indicate that an accelerator resource can perform two tera operations per second, and the telemetry controller 152 makes a decision to execute the workload at the accelerator resource.; [0157]). Regarding claim 9, it is a method type claim having similar limitations as claim 1 above. Therefore, it is rejected under the same rationale above. Regarding claim 10, it is a method type claim having similar limitations as claim 2 above. Therefore, it is rejected under the same rationale above. Regarding claim 11, it is a method type claim having similar limitations as claim 3 above. Therefore, it is rejected under the same rationale above. Regarding claim 14, it is a method type claim having similar limitations as claim 6 above. Therefore, it is rejected under the same rationale above. Regarding claim 15, it is a method type claim having similar limitations as claim 7 above. Therefore, it is rejected under the same rationale above. Regarding claim 16, it is a method type claim having similar limitations as claim 8 above. Therefore, it is rejected under the same rationale above. Regarding claim 17, it is a media type claim having similar limitations as claim 1 above. Therefore, it is rejected under the same rationale above. Regarding claim 18, it is a method type claim having similar limitations as claim 2 above. Therefore, it is rejected under the same rationale above. Regarding claim 19, it is a method type claim having similar limitations as claim 3 above. Therefore, it is rejected under the same rationale above. Regarding claim 20, it is a method type claim having similar limitations as claim 7 above. Therefore, it is rejected under the same rationale above . 07-21-aia AIA Claim s 4-5, 12-13 are rejected under 35 U.S.C. 103 as being unpatentable over Maciocco et al. (US 2020/0142735 A1) in view of Khan et al. (US 2017/0091127 A1) in further view of Clothier et al. (US 2017/0154265 A1) . Regarding claim 4, Maciocco nor Khan expressly teach wherein the first application includes a client portion and a server portion . However, Clothier teaches wherein the first application includes a client portion and a server portion ([0001] Many applications include one or more client portions and one or more server portions. The client portions may interface with users, implement various functions of the application, and take actions on behalf of the application. The server portions may provide services to the client portions, provide resources for the client portions, and/or otherwise support the client portions. The client and server portions may reside on the same device, or may reside on different devices that are coupled to one another by a bus, a computer network (a Local Area Network (LAN), a Wide Area Network (WAN), the Internet, etc.), or other computer-readable medium.). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Clothier with the teachings of Maciocco and Khan to further define the different portions of an application as client and server portions. The modification would have been motivated by the desire of combining known elements to yield predictable results. Regarding claim 5, Maciocco teaches wherein the transfer of the execution of the first application from the information handling system to the remote compute device, the processor further to: transfer the server portion of the application to the remote compute device ([0148-150] If the telemetry controller 152 determines the workload performance metric(s) does not meet a performance threshold corresponding to the policy data (e.g., block 608=NO), the telemetry controller 152 determines a second resource which the performance of the workload will meet the performance threshold (block 610). For example, the capability data may be obtained by the telemetry controller 152. The telemetry controller 152 may analyze the capability models corresponding to other resources in the edge platform to make a decision based on the capability model.) . In addition, Clothier teaches a server portion ([0001] Many applications include one or more client portions and one or more server portions. The client portions may interface with users, implement various functions of the application, and take actions on behalf of the application. The server portions may provide services to the client portions, provide resources for the client portions, and/or otherwise support the client portions. The client and server portions may reside on the same device, or may reside on different devices that are coupled to one another by a bus, a computer network (a Local Area Network (LAN), a Wide Area Network (WAN), the Internet, etc.), or other computer-readable medium.). Regarding claim 12, it is a method type claim having similar limitations as claim 4 above. Therefore, it is rejected under the same rationale above. Regarding claim 13, it is a method type claim having similar limitations as claim 5 above. Therefore, it is rejected under the same rationale above . Conclusion 07-96 AIA The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Jayaram et al. (US 2021/0248047 A1) see at least Abstract. Sardesai et al. (US 2021/0105624 A1) teaches “when a current computing resource usage of the application exceeds a threshold value, when an expected computing resource usage of the application exceeds a threshold value, when a current total computing resource usage of the UE 105 exceeds a threshold value, when an expected total computing resource usage of the UE 105 exceeds a threshold value, and/or the like. The application executing on UE 105 may also be configured to request edge computing offload for certain portions of the application, and when such edge computing resources are indicated as available, cause the UE 105 to perform offload” Any inquiry concerning this communication or earlier communications from the examiner should be directed to JORGE A CHU JOY-DAVILA whose telephone number is (571)270-0692. The examiner can normally be reached Monday-Friday, 6:00am-5:00pm. 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, Aimee J Li can be reached at (571)272-4169. 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. /JORGE A CHU JOY-DAVILA/Primary Examiner, Art Unit 2195 Application/Control Number: 18/588,794 Page 2 Art Unit: 2195 Application/Control Number: 18/588,794 Page 3 Art Unit: 2195 Application/Control Number: 18/588,794 Page 4 Art Unit: 2195 Application/Control Number: 18/588,794 Page 5 Art Unit: 2195 Application/Control Number: 18/588,794 Page 6 Art Unit: 2195 Application/Control Number: 18/588,794 Page 7 Art Unit: 2195 Application/Control Number: 18/588,794 Page 8 Art Unit: 2195 Application/Control Number: 18/588,794 Page 9 Art Unit: 2195 Application/Control Number: 18/588,794 Page 10 Art Unit: 2195 Application/Control Number: 18/588,794 Page 11 Art Unit: 2195 Application/Control Number: 18/588,794 Page 12 Art Unit: 2195 Application/Control Number: 18/588,794 Page 13 Art Unit: 2195