DETAILED ACTION Claims 1-20 are pending. 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. Information Disclosure Statement The information disclosure statements (IDSs) submitted on 01/09/2025 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement are being considered by the examiner. Specification The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed. Claim Interpretation The following is a quotation of 35 U.S.C. 112(f): (f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph: An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: “the… network device configured to” in claims 1-7. Because this/these claim limitations are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, they are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof. If applicant does not intend to have these limitations interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitations recite sufficient structure to perform the claimed function so as to avoid them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. 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-6 , 8-15, and 18-19 are rejected under 35 U.S.C. 103 as being unpatentable over Cheng et al. (US 2016/0170849 A1). Regarding claim 1 , Cheng teaches a data processing system (Abstract: systems for leveraging an offload programming model for local checkpoints ) , comprising: a first network device ([0035] A processing entity comprising a host machine and operating as a “source” 200 ) ; and a second network device ([0035] A processing entity comprising a host machine and operating as a “source” 200 is coupled in communication with three offload machines comprising “sinks” 202, 204, and 206 via an interconnect 208. ; wherein a sink corresponds to the second network device ) ; wherein the first network device is configured to obtain a first request message ( Abstract: A job dispatcher dispatches jobs comprising executable code to the source(s ) ; [0052] ) , and send the first request message to the second network device (Fig. 2, shows #Offload_function_Foo sent to Sink 1 202) , wherein the first request message carries a first process context corresponding to a target task, wherein the first process context comprises a program code set, first indication information, and at least one target parameter, and wherein the program code set comprises at least one line of program code ( [0038] First, in block 314, an offload context is constructed. Generally, the offload context should contain enough information for the offload to get restarted upon request. It should contain information such as sink identifications ( i.e., target parameter ) , program binary or library reference, buffer data, environment variables and/or function parameters relevant to the workload ( i.e., target task ) . In one embodiment, the offload context includes the link address (of the sink to execute the offload code) ( i.e., first indication information ) , program code section binary ( i.e., program code set ) or a reference to a previously distributed library that includes the one or more functions corresponding to the offloaded code section, environmental variables, function parameters, and buffer mapping information. ) ; and wherein the second network device is configured to: receive the first request message, and determine, based on the first indication information, a location of a first start line in the program code set from the at least one line of program code comprised in the program code set ( [0040] As depicted in a block 320 and a decision block 322 of sink 306, the sink device includes a listener that listens for requests from source 302. For example, such listeners are well-known in the art, and may include listening on a particular port used for communicating with source 302 or otherwise listening for communication from source 302 (e.g., detected using the source address for a communication originating from source 302). Once the offload context is received via the detected request, the function or function(s) defined in the offload context code is run (i.e., executed) by sink 306 until completion, as depicted by a block 324 and a completion block 326. ; [0053] As shown in FIG. 2, toward the beginning of the Main( ) code section is a #Offload_Function_Foo pragma, which representative of a compiler instruction that is generated to offload function Foo( ). For example, as described below, the developer of software to be executed using offloaded functions may use pragmas or the like in the source code to indicate to the compiler what portions of code are to be offloaded. In response to encountering and/or detecting the offload instruction, the applicable function code is offload by generating an offload context in block 314, with the offload context being sent to sink 202 and a corresponding context object (CO) 210 being generated and pushed to network storage 108 in block 318. ) ; and complete at least one to-be-executed sub-task of the target task by running, based on the at least one target parameter and using the first start line of the at least one line of program code as a start point, the at least one line of program code o f the program code set, wherein the target parameter is a parameter required when the at least one to-be-executed sub-task is executed ( [0054] Each of sinks 202, 204, and 206 execute the code sections that are offloaded to them, resulting in parallel execution of the Main( ) code. Upon completion of execution of a function (or during execution of a function that generates a set of data to support pipelined execution), the function result data is returned to the source by writing the result data to an applicable memory buffer that may be identified via buffer mapping data included in the offload context or otherwise setup in advance. For example, the buffer mapping data may identify the address of the beginning of a buffer to which the result data is to be written. This is performed in a similar manner for each of offloaded functions Foo( ) Bar( ) and Qux( ), with result data being written to applicable buffers that are accessible to source 200. ; wherein functions Foo, Bar and Qux correspond to the target parameter and sub-tasks; each center 2962275 0 0 functions’ pragma #Offload_Function_ corresponds to the start point see Fig. 2 below ) . While Cheng does not explicitly recite sub-tasks, Cheng as cited does teach a main code with a plurality of functions that are offloaded to the remote Sinks for execution. Given that these functions are within the main code and can be pipelined as shown in [0086] , it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to find Cheng’s teachings to encompass the claimed limitations. Accordingly, Cheng reasonably teaches the limitations as claimed. Regarding claim 2, Cheng teaches wherein the second network device is further configured to: execute target program code, wherein the target program code is disposed in the program code set, and wherein the target program code is associated with execution of a packet encapsulation operation to obtain a second request message ( See Fig. 2 above, specifically #Offload_Function_Bar() which corresponds to the second request message ; [0038]; [0054] ) ; and send the second request message to a third network device ( See Fig. 2 above, specifically #Offload_Function_Bar( ) in Sink 2 ) ; wherein the second request message comprises a second process context, wherein the second process context comprises the program code set, second indication information, and at least one intermediate result, wherein the second indication information indicates a location, in the program code set, of a second start line of the at least one line of program code disposed in the program code set, wherein the locations of the second start line and the first start line in the program code set are different, and wherein the intermediate result is intermediate data generated by the second network device in a process of running the at least one line of program code by the second network device ([0038]; [0054]; [0057] [0057] In addition, in some embodiments employing pipelined data structures the data structures can be marked such that an accessing code section can detect whether the data is valid. For example, suppose a sink that is writing data to a first buffer that is accessed by another offloaded code section (or even a code section that is executed by a source) fails. The buffer may be marked such that if the other offloaded code section attempts to access stale data, it will wait until updated data is written to the buffer by the replacement sink. ; [0086] As shown in the sink-side code of FIG. 12b, the sink executes a main process that includes a set up run functions that are executed in a pipelined manner. ) . Regarding claim 3, Cheng teaches wherein the first request message further comprises a first mapping relationship, wherein the program code set, the first indication information, the at least one target parameter, and the first mapping relationship all belong to a same program virtual machine, wherein the first mapping relationship is associated with storing a mapping relationship between a first address and a second address, wherein the first address indicates a virtual address of the target parameter in the program virtual machine, and wherein the second address indicates a storage address of the target parameter in a network device that stores the target parameter ([0034]; [0054] Upon completion of execution of a function (or during execution of a function that generates a set of data to support pipelined execution), the function result data is returned to the source by writing the result data to an applicable memory buffer that may be identified via buffer mapping data included in the offload context or otherwise setup in advance. For example, the buffer mapping data may identify the address of the beginning of a buffer to which the result data is to be written. This is performed in a similar manner for each of offloaded functions Foo( ) Bar( ) and Qux( ), with result data being written to applicable buffers that are accessible to source 200. [0058] In one aspect, sink entities within a managed cluster are grouped into different virtual or logical domains ; [0342] virtual machines; ) . Regarding claim 4, Cheng teaches wherein the system is applied to a remote procedure call (RPC) scenario, and wherein the target task comprises at least two RPC tasks ([0077] Coprocessor Offload Infrastructure (COI); [0085] A COI process is used to facilitate offloading of code sections to the COI engines. The COI process abstracts the remote process executing on a sink. APIs are provided to start and stop remote processes, as well as load dynamic libraries. The COI process is also used to lookup functions in remote processes so they can be invoked. ; Fig. 2 shows at least 3 RPC/COI tasks ) . Regarding claim 5, Cheng teaches wherein a target intermediate language is used for associated with the program code set, wherein the first request message further comprises third indication information, and the third indication information indicates a type of the target intermediate language ([0053]; [0079] Under one approach, offloading code sections is facilitated through the use of offload indicia added to the source code to instruct the compiler to include instructions or the like in the binary code generated by the compiler to instruct the host processor (operating as a source) to offload particular sections of code. The offload indicia include: [0080] language pragmas, e.g., #pragma omp target data device (1) map ( ) used by various compilers, e.g., from Intel® and CAPS (Compiler and Architecture for Embedded and Superscalar Processors project, and #pragma off load, an Intel-specific extension; [0081] language keywords, e.g. the Shared keyword used by the Intel® compiler or with language constructs used by CUDA (Compute Unified Device Architecture) or OpenCL such as Intel® SDK for OpenCL Applications XE for the coprocessor; and [0082] library calls, e.g. Intel® Math Kernel Library (MKL), MAGMA (Matrix Algebra on GPU and Multicore Architectures) or NAG (Numerical Algorithms Group) calls that divide work across the host and coprocessor. ) . Regarding claim 6 , Cheng teaches wherein the program code set comprises program code corresponding to an inline function, and the inline function is a function whose function body is in the program code set (Fig. 2, shows offload sections within the Main () function body) . Regarding claim 8, it is a method claim having similar limitations as claim 1 above. Therefore it is rejected under the same rationale. Regarding claim 9, it is a method claim having similar limitations as claim 2 above. Therefore it is rejected under the same rationale. Regarding claim 10, it is a method claim having similar limitations as claim 3 above. Therefore it is rejected under the same rationale. Regarding claim 11, it is a method claim having similar limitations as claim 4 above. Therefore it is rejected under the same rationale. Regarding claim 12, it is a method claim having similar limitations as claims 1+6 above. Therefore it is rejected under the same rationale. Regarding claim 13, it is a method claim having similar limitations as claim 3 above. Therefore it is rejected under the same rationale. Regarding claim 14, it is a method claim having similar limitations as claim 5 above. Therefore it is rejected under the same rationale. Regarding claim 15, it is a method claim having similar limitations as claim 6 above. Therefore it is rejected under the same rationale. Regarding claim 17, it is a method claim having similar limitations as claim 7 above. Therefore it is rejected under the same rationale. Regarding claim 18, it is a method claim having similar limitations as claim 5 above. Therefore it is rejected under the same rationale. Regarding claim 19, it is a method claim having similar limitations as claim 6 above. Therefore it is rejected under the same rationale. Claims 1-6, 8-15, and 18-19 are rejected under 35 U.S.C. 103 as being unpatentable over Cheng et al. (US 2016/0170849 A1) in further view of Flanagan et al. (US 2006/0129990 A1). Regarding claim 7, Cheng teaches the functionality of the claim limitations but for inline code as noted from the citations above. Further, Cheng teaches wherein the first network device is further configured to obtain a function number that is of a target non- inline function and that corresponds to a function name of the target non- inline function, wherein the target non- inline function is a non- inline function of the at least one non- inline function corresponding to the program code set, and wherein the first request message carries the function number of the target non- inline function ([ 0034 ] ; [0053-54]; [0057] ) ; and wherein the second network device is specifically configured to obtain a call address of the target non- inline function in the second network device based on the function number of the target non- inline function, wherein the call address is associated with running to run the target non- inline function ( [0034]; [0054] ) . Cheng does not expressly teach wherein the program code set comprises program code corresponding to at least one non-inline function, and wherein the non-inline function is a function whose function body is not in the program code set . However, Flanagan teaches wherein the program code set comprises program code corresponding to at least one non-inline function, and wherein the non-inline function is a function whose function body is not in the program code set ([0002] Each processor executes a software program comprising a plurality of software commands. Portions of the plurality of software commands that are frequently executed are referred to as mainline software commands. Portions of the plurality of software commands that are infrequently executed are referred to as non-mainline software commands.; [0029]) . 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 Flanagan of non-inline code sections with the teachings of Cheng. The modification would have been motivated by the desire of combining known elements to yield predictable results. Regarding claims 16-17, they are method claims having similar limitations as claim 7 above. Therefore it is rejected under the same rationale. Regarding claim 20, it is a method claim having similar limitations as claim 8 above. Therefore it is rejected under the same rationale. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to FILLIN "Examiner name" \* MERGEFORMAT JORGE A CHU JOY-DAVILA whose telephone number is FILLIN "Phone number" \* MERGEFORMAT (571)270-0692 . The examiner can normally be reached FILLIN "Work Schedule?" \* MERGEFORMAT 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, FILLIN "SPE Name?" \* MERGEFORMAT Aimee J Li can be reached at FILLIN "SPE Phone?" \* MERGEFORMAT (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