DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Examiner Notes
Examiner cites particular columns and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner.
The examiner encourages Applicant to submit an authorization to communicate with the examiner via the Internet by making the following statement (from MPEP 502.03):
“Recognizing that Internet communications are not secure, I hereby authorize the USPTO to communicate with the undersigned and practitioners in accordance with 37 CFR 1.33 and 37 CFR 1.34 concerning any subject matter of this application by video conferencing, instant messaging, or electronic mail. I understand that a copy of these communications will be made of record in the application file.”
Please note that the above statement can only be submitted via Central Fax, Regular postal mail, or EFS Web (PTO/SB/439).
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim 15 is rejected under 35 U.S.C. § 101 because the claimed invention is directed to non-statutory subject matter.
During examination, the claims must be interpreted as broadly as their terms reasonably allow. In re American Academy of Science Tech Center, 367 F.3d 1359, 1369, 70 U.S.P.Q.2d 1827, 1834 (Fed. Cir. 2004). Independent claim 15 recites a “machine-readable storage medium,” which is not comprehensively defined by the specification. The broadest reasonable interpretation of a claim drawn to a machine-readable storage medium covers forms of transitory propagating signals per se in view of the ordinary and customary meaning of computer readable media, particularly when the specification is silent. Transitory propagating signals are non-statutory subject matter. In re Nuijten, 500 F.3d 1346, 1356-57, 84 U.S.P.Q.2d 1495, 1502 (Fed. Cir. 2007) (transitory embodiments are not directed to statutory subject matter). See also Subject Matter Eligibility of Computer Readable Media, 1351 Off. Gaz. Pat. Office 212 (Feb. 23, 2010). Examiner suggests adding the word “non-transitory.”
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 2 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.
The following claim language is unclear and indefinite:
As per claim 2, it is unclear what is meant by “ASIL safety level.” (i.e. acronyms should be written out when they are first used).
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.
Claims 1, 2, 5, 11-12, and 14-15 are rejected under 35 U.S.C. 103 as being unpatentable over Kang et al. (US 20230032183) in view of Ziglar et al. (US 20220292241).
As per claim 1, Kang teaches the invention substantially as claimed including a system for offloading autonomous driving tasks ([0030], optimization system 200 uses MFE modeling to proportionally offload tasks to different edge servers to achieve full capacity; Kang’s tasks include autonomous driving tasks: [0006], the offloading request is associated with a computing task of the vehicle; and [0022], tasks 240 may be computing tasks associated with depth perception, object detection, motion estimation, and on related to vehicles in a geographic area requesting remote execution), comprising:
a plurality of computing nodes including one or a plurality of computing nodes located on a vehicle ([0043], vehicle 100 can include one or more processors 110), one or a plurality of computing nodes located on edge devices ([0020], the server is an edge server, a cloud server, or other server available for remotely executing computing tasks from the vehicle 100; and [0030], offload tasks to different edge servers to achieve full capacity), and one or a plurality of computing nodes located on cloud devices ([0020], the server is an edge server, a cloud server, or other server available for remotely executing computing tasks from the vehicle 100… optimization system 200 assigns a computing task, such as object detection, associated with offloading requests for remote execution by one or more servers);
a modeling module configured to create a system model that comprises a [communication] latency between each pair of computing nodes among the plurality of computing nodes ([0006], upon satisfying criteria for optimization associated with execution of the computing task remotely, determine server selection and resource allocation by processing the characteristics using modeling; [0023], the optimization system 200 utilizes the model to minimize cost according to system constraints. A cost may be an expected end-to-end latency for vehicles in a geographic area; and [0038], the MFE modeling uses a cost function to minimize the average end-to-end latency of the vehicle 100.sub.n among vehicles 100.sub.1-100.sub.n with server resources as system constraints); and
an allocation module configured to allocate a plurality of autonomous driving tasks of an autonomous driving service based on the system model in order to offload each autonomous driving task to one of the plurality of computing nodes ([0023], the optimization system 200 utilizes the model to minimize cost according to system constraints. A cost may be an expected end-to-end latency for vehicles in a geographic area; and [0030], optimization system 200 uses MFE modeling to proportionally offload tasks to different edge servers to achieve full capacity), wherein the allocation is performed such that the end-to-end latency of the autonomous driving service is minimized ([0002], vehicles utilize servers to reduce latency and leverage computing resources by offloading and remotely executing the computing task; [0005], the optimization system uses pre-sorting and the MFE modeling of offloading requests for reducing latency and improving server management; and [0016], the optimization system determines server selection and resources using the characteristics by modeling. For example, the optimization system uses mean-field evolution (MFE) modeling encompassing a mean-field equation and an evolving probability distribution function (PDF). MFE can rapidly process different numbers of agents (e.g., a vehicle or a server) to minimize cost (e.g., end-to-end latency)).
Kang fails to specifically teach, a modeling module configured to create a system model that comprises a communication latency between each pair of computing nodes among the plurality of computing nodes.
However, Ziglar teaches, a modeling module configured to create a system model that comprises a communication latency between each pair of computing nodes among the plurality of computing nodes (Abstract, generating a model that defines one or more requirements for a robotic device for a mapping between a software graph and a hardware graph; [0007], the second plurality of edges represents communication links between the second plurality of nodes; and [0007], mapping the software graph to the hardware graph by assigning each of a first plurality of nodes of the software graph to one of a second plurality of nodes of the hardware graph and each of a first plurality of edges of the software graph to one or more of a second plurality of edges of the hardware graph… the second plurality of edges represents communication links between the second plurality of nodes. Alternatively and/or additionally, one or more latency requirements may include, for example, latency introduced by the hardware components of the robotic device, latency introduced by the communication links between the second plurality of nodes, or the like).
Kang and Ziglar are analogous because they are both related to task scheduling and resource allocation. Kang teaches a method of offloading vehicle tasks in utilizing models to optimizing said offloading:
[0001], subject matter described herein relates, in general, to offloading computing tasks, and, more particularly, to selecting servers and allocating resources for the tasks using characteristics of vehicles and servers;
[0016], the optimization system determines server selection and resources using the characteristics by modeling. For example, the optimization system uses mean-field evolution (MFE) modeling encompassing a mean-field equation and an evolving probability distribution function (PDF). MFE can rapidly process different numbers of agents (e.g., a vehicle or a server) to minimize cost (e.g., end-to-end latency). Here, the PDF may represent data sizes of voluminous tasks about various agents or agent groups operating in a dense area. The mean-field utilizes evolution to control various agent types, such as vehicles and servers, and dynamic changes within an agent group. In one approach, the MFE model outputs a parameter representing the proportion of a vehicle task assigned to a server and a computation resource allocated to the server for controlling resource allocation; and
[0019], optimization system 200 may be implemented to perform methods and other functions as disclosed herein relating to selecting servers and allocating resources concurrently for offloading computing tasks from vehicles; and [0040], an optimization system uses characteristics (e.g., task size, server capacity, etc.) and modeling to reduce concurrent server selection and allocation times for remotely executing the computing tasks. In one approach, a mean-field evolution (MFE) model estimates agent behavior in a group for the modeling. In particular, agents may be dynamic servers and vehicles that are irrational. Here, the MFE model concurrently mediates groups having diverse agents and behaviors according to the characteristics. The optimization system then utilizes a probability distribution (e.g., Gaussian) for rapidly allocating servers independent of area density or agent quantities. As such, the optimization system uses the MFE model for improving server selection and resource allocation times for offloading, irrespective of numerous servers or heterogeneous vehicles in an area).
Zigler teaches a method of task scheduling in accordance with latency requirements including modeling and creating graphs representing nodes, edges, and communication links between nodes:
Abstract, generating a model that defines one or more requirements for a robotic device for a mapping between a software graph and a hardware graph. The model is used for allocating a plurality of computational tasks in a computational path included in the software graph to a plurality of hardware components of the robotic device to yield a robotic system architecture. The methods also include using the robotic system architecture to configure the robotic device to be capable of performing functions corresponding to the software graph, where the robotic system architecture is optimized to meet one or more latency requirements; and
[0007], mapping the software graph to the hardware graph by assigning each of a first plurality of nodes of the software graph to one of a second plurality of nodes of the hardware graph and each of a first plurality of edges of the software graph to one or more of a second plurality of edges of the hardware graph. Optionally, the first plurality of nodes represents discrete computational tasks from among the plurality of computational tasks, the first plurality of edges represents data flow between the first plurality of nodes, the second plurality of nodes represents hardware components of the robotic device, and the second plurality of edges represents communication links between the second plurality of nodes. Alternatively and/or additionally, one or more latency requirements may include, for example, latency introduced by the hardware components of the robotic device, latency introduced by the communication links between the second plurality of nodes, or the like.
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention that based on the combination, Kang’s optimized offloading method would be modified with the Ziglar’s modeling mechanism that considers latency and communication between nodes resulting in a system offloads tasks utilizes modeling that in consideration of communication links with bandwidth and latencies. Therefore, it would have been obvious to combine the teachings of Kang and Zigler.
As per claim 2, Kang teaches, wherein:
the system model comprises a service dependency model ([0023], model mediates and aggregates behaviors of individual agents according to the characteristics 250 and manages offloading demands accordingly; and [0025], modeling using MFE optimizes offloading demands according to a vehicle grouping ) and a computing resource model ([0025], modeling using optimizes offloading demands according to a vehicle grouping and a separate server grouping. This may improve modeling by the MFE since the behaviors and PDF of tasks are different for vehicles and servers),
the service dependency model comprises the dependencies and heterogeneity among the plurality of autonomous driving tasks ([0015], the optimization system improves efficiency using pre-sorting and inputting to the model homogeneous tasks from an agent group; and [0025], modeling using optimizes offloading demands according to a vehicle grouping and a separate server grouping. This may improve modeling by the MFE since the behaviors and PDF of tasks are different for vehicles and servers), and
the computing resource model comprises the heterogeneity among the plurality of computing nodes ([0004], a mean-field evolution (MFE) model estimates agent behavior in a group for the modeling. In particular, agents may be dynamic servers and vehicles that are irrational. Here, the MFE model concurrently mediates groups having diverse agents and behaviors according to the characteristics. The optimization system then utilizes a probability distribution (e.g., Gaussian) for rapidly allocating servers independent of area density or agent quantities. As such, the optimization system uses the MFE model for improving server selection and resource allocation times for offloading; and [0024], a vehicle and a server have different characteristics and behaviors in an offloading environment that the MFE weighs through evolution. As explained below, the MFE model also utilizes game theory to fairly determine server selection and resources for a geographic area. In this way, the optimization system 200 efficiently and rapidly determines server selection and resources through modeling regardless of the volume associated with offloading demands), the communication latency between each pair of computing nodes ([0023], the optimization system 200 utilizes the model to minimize cost according to system constraints. A cost may be an expected end-to-end latency for vehicles in a geographic area; and [0038], the MFE modeling uses a cost function to minimize the average end-to-end latency of the vehicle 100.sub.n among vehicles 100.sub.1-100.sub.n with server resources as system constraints), and the resource types and available computing resources of each computing node ([0023], the optimization system 200 utilizes the model to minimize cost according to system constraints. A cost may be an expected end-to-end latency for vehicles in a geographic area. A system constraint can be server resources available; and [0025], agents may be dynamic servers and vehicles located in a geographic area. FIG. 3 illustrates an example of a geographic area having various server and vehicle types. A controller 310 utilizes the optimization system 200 to select an edge server and allocate resources of the edge server. In one approach, modeling using MFE optimizes offloading demands according to a vehicle grouping and a separate server grouping).
As per claim 5, Kang teaches, wherein the allocation module is configured to allocate the plurality of autonomous driving tasks based on the service dependency model and the computing resource model such that each autonomous driving task is allocated to a computing node with resource types consistent with the required resources of the task ([0006], acquire characteristics of a vehicle and a server for an offloading request, wherein the offloading request is associated with a computing task of the vehicle. The instructions also include instructions to, upon satisfying criteria for optimization associated with execution of the computing task remotely, determine server selection and resource allocation by processing the characteristics using modeling; and [0022], the characteristics 250 may be a task size, a transmitter power, an emergency level, a size of computing resources, a reservation level, a timestamp, server bandwidth, and server computing capacity), and each autonomous driving task is offloaded to a computing node with available computing resources greater than or equal to the computing resources required by that autonomous driving task ([0022], the characteristics 250 may be a task size, a transmitter power, an emergency level, a size of computing resources, a reservation level, a timestamp, server bandwidth, and server computing capacity; and [0038], the optimization system determines server selection and resources using the characteristics and modeling when the criteria are met).
As per claim 11, Kang teaches, wherein the plurality of autonomous driving tasks are offloaded once ([0019], the vehicle 100 uses the offloading client 170 to communicate with an optimization system 200 in FIG. 2. The optimization system 200 may be implemented to perform methods and other functions as disclosed herein relating to selecting servers and allocating resources concurrently for offloading computing tasks from vehicles).
Kang fails to specifically teach, computing resource model remains unchanged throughout the offloading process.
However, Ziglar teaches, computing resource model remains unchanged throughout the offloading process ([0054], the system may optimize all link latencies directly because the structure of the software graph is fixed, and the latencies induced by computation through tasks may not vary as a function of the assignment).
The same motivation used in the rejection of claim 1 is applicable to the instant claim.
As per claim 12, Kang teaches, wherein:
the modeling module is configured within one of the plurality of computing nodes ([0021],optimization system 200 is shown as including a processor(s) 205 …the optimization system 200 includes a memory 210 that stores an optimization module 220);
the allocation module is configured within one of the plurality of computing nodes ([0021], optimization module 220 is, for example, computer-readable instructions that when executed by the processor(s) 205 cause the processor(s) 205 to perform the various functions disclosed herein; and [0022], the data store 230 stores the tasks 240 and characteristics 250 used by the optimization module 220 in executing various functions… optimization system 200 uses the characteristics 250 to efficiently select servers and allocate computing resources, such as through modeling); and
the modeling module and the allocation module are configured within the same computing node or different computing nodes ([0021],optimization system 200 is shown as including a processor(s) 205 …the optimization system 200 includes a memory 210 that stores an optimization module 220).
As per claim 14, this is the “method claim” corresponding to claim 1 and is rejected for the same reasons. The same motivation used in the rejection of claim 1 is applicable to the instant claim.
As per claim 15, this is the “machine-readable storage medium claim” corresponding to claim 1 and is rejected for the same reasons. The same motivation used in the rejection of claim 1 is applicable to the instant claim.
Claim 3 is rejected under 35 U.S.C. 103 as being unpatentable over the combination of Kang-Ziglar as applied to claim 1 and in further view of Kashani et al. (US 2024 0118692).
As per claim 3, Kang teaches, wherein the allocation module is configured to allocate the plurality of autonomous driving tasks based on the service dependency model and the computing resource model ([0025], modeling using optimizes offloading demands according to a vehicle grouping and a separate server grouping. This may improve modeling by the MFE since the behaviors and PDF of tasks are different for vehicles and servers).
The combination of Kang-Ziglar fails to specifically teach, such that each autonomous driving task is offloaded to a computing node with an ASIL safety level higher than or equal to the ASIL safety level required by that autonomous driving task.
However, Kashani teaches, such that each autonomous driving task is offloaded to a computing node with an ASIL safety level higher than or equal to the ASIL safety level required by that autonomous driving task ([0008],cause the processor to determine available live migration candidate hosts and select the target host from the live migration candidate hosts based on the workload requirement information for the active workloads and configuration data of the live migration candidate hosts; and [0056], the workload requirement information 262 can include information such as safety integrity levels (such as Automotive Safety Integrity Level (ASIL)).
The combination of Kang-Ziglar and Kashani are analogous because they are each related to task scheduling and resource allocation. Kang teaches a method of offloading vehicle tasks in utilizing models to optimizing said offloading. Zigler teaches a method of task scheduling in accordance with latency requirements including modeling and creating graphs representing nodes, edges, and communication links between nodes. Kashani teaches a method of workload scheduling based on workload information and resource constraints including ASIL security requirements.
Abstract, a processor of the system is configured to determine workload data for active workloads utilizing the source host and available live migration candidate hosts and select the target host from the live migration candidate hosts based on the workload requirement information and configuration data of the live migration candidate hosts; and
[0042], the workload requirement information can include information regarding the specific requirements of the applications, such as safety integrity levels (such as Automotive Safety Integrity Level (ASIL)), processor instruction set information, number of cores, different processor extension types, processor accelerators, I/O mapping information, average/spare loads, and performance information, such as instructions per second, floating-point operations per second, and I/O operations per second. Safety integrity level information, such as ASIL, may be related to a risk classification system defined by a standard. Some applications, due to their criticality, such as safety, require hardware that has higher safety integrity levels. For example, safety-related automotive systems typically require higher safety integrity level.
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention that based on the combination, the optimized offloading method taught by the combination of Kang-Zigler would be modified with the Kashani’s workload requirements and system requirements scheduling mechanism that considers ASIL constraints resulting in a system offloads driving tasks using the proper security features. Therefore, it would have been obvious to combine the combination of Kang-Zigler and Kashani.
Claim 4 is rejected under 35 U.S.C. 103 as being unpatentable over the combination of Kang-Ziglar as applied to claim 1 and in further view of Arvinte et al. (US 20220114033).
As per claim 4, the combination of Kang-Ziglar fails to specifically teach, wherein the allocation module is configured to allocate the plurality of autonomous driving tasks based on the service dependency model and the computing resource model such that two autonomous driving tasks that depend on each other are offloaded to a pair of computing nodes with a communication latency less than a latency threshold. However, it would have been obvious to one of ordinary skill in the art to include this step because Kang teaches minimizing end-to-end latency when allocating tasks to distributed resources. ([0023], the optimization system 200 pre-sorts or groups agents according to an emergency level and task size. In one approach, the optimization system 200 utilizes the model to minimize cost according to system constraints. A cost may be an expected end-to-end latency for vehicles in a geographic area; [0024], the MFE model also utilizes game theory to fairly determine server selection and resources for a geographic area; and [0030], To optimize server selection and resource allocation, the MFE modeling uses a cost function to minimize the average end-to-end latency of the vehicle 100 with server resources as a constraint).
Furthermore, Arvinte teaches, wherein the allocation module is configured to allocate the plurality of autonomous driving tasks based on the service dependency model and the computing resource model such that two autonomous driving tasks that depend on each other are offloaded to a pair of computing nodes with a communication latency less than a latency threshold ([0023], scheduling tasks with the constraints of task-chain dependency and latency on multicore platforms, including on heterogenous multicore platforms with cores of different types instead of task allocation on cores of the same type; [0130], Some embodiments provide machine learning (ML) based scheduling or intelligent scheduling for energy optimization where input features of the platform include at least task dependencies, and where the base station (BS) is configured with the ML-based scheduling information; and [0194], determine dependencies between sets of tasks of a plurality of tasks to be executed by a plurality of cores of the network; determine latency deadlines of respective ones of the plurality of tasks; and determine an allocation of individual ones of the plurality of among the plurality of cores for execution based on the dependencies and based on the latency deadlines).
The combination of Kang-Ziglar and Arvinte are analogous because they are each related to task scheduling and resource allocation. Kang teaches a method of offloading vehicle tasks in utilizing models to optimizing said offloading. Zigler teaches a method of task scheduling in accordance with latency requirements including modeling and creating graphs representing nodes, edges, and communication links between nodes. Arvinte teaches a method of workload scheduling based on workload information and resource constraints including task dependency and latency requirements.
Abstract, one or more computer readable media, a distributed edge computing system, and a method. The apparatus includes one or more processors to determine dependencies between sets of tasks of a plurality of tasks to be executed by a plurality of cores of a network; determine latency deadlines of respective ones of the plurality of tasks; and determine an allocation of individual ones of the plurality of among the plurality of cores for execution based on the dependencies and based on the latency deadlines; and
[0023], Embodiments propose novel solutions to the problem of scheduling tasks with the constraints of task-chain dependency and latency on multicore platforms, including on heterogenous multicore platforms with cores of different types instead of task allocation on cores of the same type.
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention that based on the combination, the optimized offloading method taught by the combination of Kang-Zigler would be modified with the Arvinte’s dependency and latency based scheduling models resulting in a system offloads driving tasks in accordance with latency and dependency related constraints. Therefore, it would have been obvious to combine the combination of Kang-Zigler and Arvinte.
Claims 6 is rejected under 35 U.S.C. 103 as being unpatentable over the combination of Kang-Ziglar as applied to claim 1 and in further view of Kashani et al. (US 20240118692) and Rainone et al. (US 20230376735).
As per claim 6, Ziglar teaches, wherein:
the service dependency model comprises a directed acyclic graph (DAG) with a plurality of service nodes and a plurality of edges ([0026], the system may generate a hardware graph corresponding to the hardware components of the robotic system and a software graph corresponding to the software. A graph is a combinatorial structure consisting of nodes and edges, where each edge links a pair of nodes),
each service node represents an autonomous driving task ([0027], nodes and edges are referred to as tasks and links), and
each edge represents the dependency between two connected autonomous driving tasks ([0007], the second plurality of edges represents communication links between the second plurality of nodes).
The combination of Kang- Ziglar fails to specifically teach an autonomous driving task with an ASIL safety level required for that autonomous driving service, and with each edge arrows indicating the direction of data flow for the autonomous driving service.
However, Kashani teaches, an autonomous driving task with an ASIL safety level required for that autonomous driving service ([0008],cause the processor to determine available live migration candidate hosts and select the target host from the live migration candidate hosts based on the workload requirement information for the active workloads and configuration data of the live migration candidate hosts; and [0056], the workload requirement information 262 can include information such as safety integrity levels (such as Automotive Safety Integrity Level (ASIL)).
The combination of Kang-Ziglar and Kashani are analogous because they are each related to task scheduling and resource allocation. Kang teaches a method of offloading vehicle tasks in utilizing models to optimizing said offloading. Zigler teaches a method of task scheduling in accordance with latency requirements including modeling and creating graphs representing nodes, edges, and communication links between nodes. Kashani teaches a method of workload scheduling based on workload information and resource constraints including ASIL security requirements.
Abstract, a processor of the system is configured to determine workload data for active workloads utilizing the source host and available live migration candidate hosts and select the target host from the live migration candidate hosts based on the workload requirement information and configuration data of the live migration candidate hosts; and
[0042], the workload requirement information can include information regarding the specific requirements of the applications, such as safety integrity levels (such as Automotive Safety Integrity Level (ASIL)), processor instruction set information, number of cores, different processor extension types, processor accelerators, I/O mapping information, average/spare loads, and performance information, such as instructions per second, floating-point operations per second, and I/O operations per second. Safety integrity level information, such as ASIL, may be related to a risk classification system defined by a standard. Some applications, due to their criticality, such as safety, require hardware that has higher safety integrity levels. For example, safety-related automotive systems typically require higher safety integrity level.
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention that based on the combination, the optimized offloading method taught by the combination of Kang-Zigler would be modified with the Kashani’s workload requirements and system requirements scheduling mechanism that considers ASIL constraints resulting in a system offloads driving tasks using the proper security features. Therefore, it would have been obvious to combine the combination of Kang-Zigler and Kashani.
The combination of Kang-Ziglar-Kashani fails wherein: each edge represents the dependency between two connected autonomous driving tasks, with each edge arrows indicating the direction of data flow for the autonomous driving service.
However, Rainone teaches, wherein: each edge represents the dependency between two connected autonomous driving tasks ([0024], constraints may come from the data dependencies between the operations, such as when the result of an operation is an operand in a subsequent operation, for instance. As such, the prior operations may serve as precedence constraints for the dependent operation; and [0026], the edges may indicate an order for performing the represented tasks), with each edge arrows indicating the direction of data flow for the autonomous driving service ([0067], inverse or backwards versions of the graphs (510a-c) may be obtained by flipping the edges (e.g., direction of the arrows connecting the nodes) of each graph 510a-c).
The combination of Kang-Ziglar-Kashani and Rainone are analogous because they are each related to task scheduling and resource allocation. Kang teaches a method of offloading vehicle tasks in utilizing models to optimizing said offloading. Zigler teaches a method of task scheduling in accordance with latency requirements including modeling and creating graphs representing nodes, edges, and communication links between nodes. Kashani teaches a method of workload scheduling based on workload information and resource constraints including ASIL security requirements. Rainone teaches a method of task scheduling using graphing mechanisms between nodes and edges.
Abstract, tasks are represented in a graph including multiple nodes connected by edges. Each node corresponds to a task in the set of tasks. A scheduling priority is assigned to each node in the graph; and
[0059], directed acyclic graph (DAG) is a finite directed graph with no direct cycles. The graph may include a set of nodes connected by edges. Each of the nodes may represent a task to be performed and the edges may indicate an order for performing the represented tasks..
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention that based on the combination, the optimized offloading method taught by the combination of Kang-Zigler-Kashani would be modified with the Rainone’s scheduling method which utilizes a graph of tasks and dependencies resulting in a system efficiently offloads driving tasks. Therefore, it would have been obvious to combine the combination of Kang-Zigler-Kashani and Rainone.
Claims 7-9 are rejected under 35 U.S.C. 103 as being unpatentable over the combination of Kang-Ziglar-Rainone-Kashani as applied to dependent claim 6 and in further view of Narayanan et al. (US 20250086979).
As per claim 7, the combination of Kang-Ziglar-Kashani-Rainone fails to specifically teach, wherein the DAG has a plurality of root nodes representing a plurality of data input sources for the autonomous driving service.
However, Narayanan teaches, wherein the DAG has a plurality of root nodes representing a plurality of data input sources for the autonomous driving service ([0008], generating a graph based on first data received from a first sensor of a first modality and second data received from a second sensor of a second modality. Each node of the graph represents a spatial component of one or more encoded features associated with the object. The spatial component is indicated by the first data and by the second data).
The combination of Kang-Ziglar-Kashani-Rainone and Narayanan are analogous because they are each related to task scheduling and resource allocation. Kang teaches a method of offloading vehicle tasks in utilizing models to optimizing said offloading. Zigler teaches a method of task scheduling in accordance with latency requirements including modeling and creating graphs representing nodes, edges, and communication links between nodes. Kashani teaches a method of workload scheduling based on workload information and resource constraints including ASIL security requirements. Rainone teaches a method of task scheduling using graphing mechanisms between nodes and edges. Narayanan teaches a method of multi-modal data integration to support task management for autonomous vehicles when data is received from multiple sources utilizing graphs and modeling techniques.
[0048], GNN implemented multi-modal spatiotemporal fusion may enhance an accuracy, a precision, or both with which a vehicle, such as an autonomous or a partially autonomous vehicle, may identify an object, track an object over time, or both;
[0049], generating a graph that encodes spatiotemporal relationships among encoded features associated with the object and that is based on multi-modal sensor data enhances an accuracy and a precision with which an object may be identified, tracked over time or both. To elaborate, prior art systems, such as transformers, are optimized for processing sequential data, such as text. In contrast, the disclosed GNN implemented multi-modal spatiotemporal fusion technique facilitates the processing of complex, heterogenous data that is spatiotemporally related by organizing the data in a graph that may be efficiently processed through a GNN; and
[0050], GNN implemented multi-modal spatiotemporal fusion may conserve computational resources, thereby improving a computational efficiency with which an object may be identified, tracked over time, or both thus resulting in reduced power consumption. For example, bifurcating an object identification or tracking task into a spatial encoding task to extract spatial features from a graph and a separate temporal encoding task to extract temporal features from the graph may be more computationally efficient than concurrently and jointly processing the spatiotemporal features
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention that based on the combination, the optimized offloading method taught by the combination of Kang-Zigler-Kashani-Rainone would be modified with the Narayanan’s scheduling method which utilizes a graph of tasks and dependencies resulting in a system efficiently offloads driving tasks where the system receives multi-modal data. Therefore, it would have been obvious to combine the combination of Kang-Zigler-Kashani and Rainone.
As per claim 8, Narayanan teaches, wherein the plurality of data input sources comprise two or more data input sources from cloud devices, edge devices and a vehicle ([0023], Innovations described herein may be implemented across many differing platform types, devices, systems, shapes, sizes, packaging arrangements. For example, implementations or uses may come about via integrated chip implementations or other non-module-component based devices (e.g., end-user devices, vehicles, communication devices, computing devices, industrial equipment, retail devices or purchasing devices, medical devices, AI-enabled devices, etc.) ; and [0044], a graph is generated based on first data received from a first sensor and based on second data received from a second sensor. In some implementations, the first sensor and the second senor may be incorporated into or may be a part of the vehicle).
As per claim 9, Narayanan teaches, wherein the plurality of data input sources comprise a plurality of data sources from multimodal sensors ([0008], generating a graph based on first data received from a first sensor of a first modality and second data received from a second sensor of a second modality).
Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over the combination of Kang-Ziglar as applied to independent claim 1 and in further view of Zhao et al (US 20220197288) and Kashani (US 20240118692).
As per claim 10, Ziglar teaches, wherein: the computing resource model comprises a [bidirectional] graph having a plurality of computational nodes and a plurality of edges ([0026], the system may generate a hardware graph corresponding to the hardware components of the robotic system and a software graph corresponding to the software. A graph is a combinatorial structure consisting of nodes and edges, where each edge links a pair of nodes… if the order of vertices in edges is fixed, this defines a directed graph, otherwise a graph may be referred to as an undirected graph), and
each edge represents the communication link between two connected computing nodes ([0007], the second plurality of edges represents communication links between the second plurality of nodes) with transmission bandwidth ([0038], each route (i.e., hardware graph edge) provides a certain amount of bandwidth to support communication of information (b.sub.γ.sub.k). Specifically, connections provide finite bandwidth for transmitting data resulting in a set of bandwidth limits, and is a property of the hardware graph edges. Similarly, each link consumes a certain amount of bandwidth when traversing the specified route (d.sub.γ.sub.k.sup.λ.sup.l). These parameters are associated with the edges in the hardware graph and the software graph, respectively) and communication latency ([0007], mapping the software graph to the hardware graph by assigning each of a first plurality of nodes of the software graph to one of a second plurality of nodes of the hardware graph and each of a first plurality of edges of the software graph to one or more of a second plurality of edges of the hardware graph… the second plurality of edges represents communication links between the second plurality of nodes. Alternatively and/or additionally, one or more latency requirements may include, for example, latency introduced by the hardware components of the robotic device, latency introduced by the communication links between the second plurality of nodes, or the like)).
The combination of Kang-Ziglar fails to specifically teach, wherein: the computing resource model comprises a bidirectional graph having a plurality of computational nodes and a plurality of edges, each computing node has an ASIL safety level, available computing resources, and resource type, and each edge allows bidirectional data transmission between the two connected computing nodes
However, Zhao teaches, the computing resource model comprises a bidirectional graph having a plurality of computational nodes and a plurality of edges ([0023], the navigation graph is encoded with undirected edges together with node coordinates. The undirected edges may be illustrated in the navigation graph as non-directional or bi-directional edges), and
each edge allows bidirectional data transmission between the two connected computing nodes ([0023], the navigation graph is encoded with undirected edges together with node coordinates. The undirected edges may be illustrated in the navigation graph as non-directional or bi-directional edges).
The combination of Kang-Ziglar and Zhao are analogous because they are each related to task scheduling and resource allocation. Kang teaches a method of offloading vehicle tasks in utilizing models to optimizing said offloading. Zigler teaches a method of task scheduling in accordance with latency requirements including modeling and creating graphs representing nodes, edges, and communication links between nodes. Zhao teaches a method of task management utilizing bi-directional graphs.
[0023], the navigation graph is encoded with undirected edges together with node coordinates. The undirected edges may be illustrated in the navigation graph as non-directional or bi-directional edges. As an example, the undirected edges is shown as bi-directional edges.
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention that based on the combination, the optimized offloading method taught by the combination of Kang-Zigler-Zhao would be modified with the Zhao’s bi-directional graph resulting in a system offloads driving tasks using a bi-directional graph. Therefore, it would have been obvious to combine the combination of Kang-Zigler and Zhao.
The combination of Kang- Ziglar-Zhao fails to specifically teach, each computing node has an ASIL safety level, available computing resources, and resource type.
However, Kashani teaches, each computing node has an ASIL safety level ([0042], Safety integrity level information, such as ASIL, may be related to a risk classification system defined by a standard. Some applications, due to their criticality, such as safety, require hardware that has higher safety integrity levels. For example, safety-related automotive systems typically require higher safety integrity levels), available computing resources ([0042], workload requirement information can include information regarding the specific requirements of the applications… number of cores, … average/spare loads, and performance information, such as instructions per second, floating-point operations per second, and I/O operations per second), and resource type ([0042], he workload requirement information can include information regarding the specific requirements of the applications, such as … processor instruction set information, … [and] different processor extension types, processor accelerators).
The combination of Kang-Ziglar-Zhao and Kashani are analogous because they are each related to task scheduling and resource allocation. Kang teaches a method of offloading vehicle tasks in utilizing models to optimizing said offloading. Zigler teaches a method of task scheduling in accordance with latency requirements including modeling and creating graphs representing nodes, edges, and communication links between nodes. Zhao teaches a method of task management utilizing bi-directional graphs. Kashani teaches a method of workload scheduling based on workload information and resource constraints including ASIL security requirements:
Abstract, a processor of the system is configured to determine workload data for active workloads utilizing the source host and available live migration candidate hosts and select the target host from the live migration candidate hosts based on the workload requirement information and configuration data of the live migration candidate hosts; and
[0042], the workload requirement information can include information regarding the specific requirements of the applications, such as safety integrity levels (such as Automotive Safety Integrity Level (ASIL)), processor instruction set information, number of cores, different processor extension types, processor accelerators, I/O mapping information, average/spare loads, and performance information, such as instructions per second, floating-point operations per second, and I/O operations per second. Safety integrity level information, such as ASIL, may be related to a risk classification system defined by a standard. Some applications, due to their criticality, such as safety, require hardware that has higher safety integrity levels. For example, safety-related automotive systems typically require higher safety integrity level.
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention that based on the combination, the optimized offloading method taught by the combination of Kang-Zigler-Zhao would be modified with the Kashani’s workload requirements and system requirements scheduling mechanism that considers ASIL constraints resulting in a system offloads driving tasks using the proper security features. Therefore, it would have been obvious to combine the combination of Kang-Zigler-Zhao and Kashani.
Claim 13 is rejected under 35 U.S.C. 103 as being unpatentable over the combination of Kang-Ziglar as applied to independent claim 1 and in further view of Kashani et al (US 20240118692) and Arvinte et al. (US 20220114033).
As per claim 13, Kang teaches, wherein the allocation module is configured to:
set an objective function based on the system model ([0016], the optimization system uses mean-field evolution (MFE) modeling encompassing a mean-field equation and an evolving probability distribution function (PDF). MFE can rapidly process different numbers of agents (e.g., a vehicle or a server) to minimize cost (e.g., end-to-end latency)); and
obtain a target offloading matrix by solving for an optimal solution of the objective function and offloading a respective autonomous driving task to one of the plurality of computing nodes based on the target offloading matrix ([0016], Upon satisfying criteria for modeling, the optimization system determines server selection and resources using the characteristics by modeling. For example, the optimization system uses mean-field evolution (MFE) modeling encompassing a mean-field equation and an evolving probability distribution function (PDF)) such that:
the end-to-end latency of the autonomous driving service is minimized ([0023], the optimization system 200 utilizes the model to minimize cost according to system constraints. A cost may be an expected end-to-end latency for vehicles in a geographic area. A system constraint can be server resources available);
each autonomous driving task is allocated to a computing node with resource types consistent with the required resources of the task ([0006], acquire characteristics of a vehicle and a server for an offloading request, wherein the offloading request is associated with a computing task of the vehicle. The instructions also include instructions to, upon satisfying criteria for optimization associated with execution of the computing task remotely, determine server selection and resource allocation by processing the characteristics using modeling; and [0022], the characteristics 250 may be a task size, a transmitter power, an emergency level, a size of computing resources, a reservation level, a timestamp, server bandwidth, and server computing capacity); and
each autonomous driving task is offloaded to a computing node with available computing resources greater than or equal to the computing resources required by that task ([0022], the characteristics 250 may be a task size, a transmitter power, an emergency level, a size of computing resources, a reservation level, a timestamp, server bandwidth, and server computing capacity; and [0038], the optimization system determines server selection and resources using the characteristics and modeling when the criteria are met.
The combination of Kang-Ziglar fails to specifically teach, each autonomous driving task is offloaded to a computing node with an ASIL safety level higher than or equal to that required by that task; and pairs of autonomous driving tasks that depend on each other are offloaded to a pair of computing nodes with a communication latency less than the latency threshold.
However, Kashani teaches, each autonomous driving task is offloaded to a computing node with an ASIL safety level higher than or equal to that required by that task (Kashani, [0042], Safety integrity level information, such as ASIL, may be related to a risk classification system defined by a standard. Some applications, due to their criticality, such as safety, require hardware that has higher safety integrity levels. For example, safety-related automotive systems typically require higher safety integrity levels).
The combination of Kang-Ziglar and Kashani are analogous because they are each related to task scheduling and resource allocation. Kang teaches a method of offloading vehicle tasks in utilizing models to optimizing said offloading. Zigler teaches a method of task scheduling in accordance with latency requirements including modeling and creating graphs representing nodes, edges, and communication links between nodes. Kashani teaches a method of workload scheduling based on workload information and resource constraints including ASIL security requirements.
Abstract, a processor of the system is configured to determine workload data for active workloads utilizing the source host and available live migration candidate hosts and select the target host from the live migration candidate hosts based on the workload requirement information and configuration data of the live migration candidate hosts; and
[0042], the workload requirement information can include information regarding the specific requirements of the applications, such as safety integrity levels (such as Automotive Safety Integrity Level (ASIL)), processor instruction set information, number of cores, different processor extension types, processor accelerators, I/O mapping information, average/spare loads, and performance information, such as instructions per second, floating-point operations per second, and I/O operations per second. Safety integrity level information, such as ASIL, may be related to a risk classification system defined by a standard. Some applications, due to their criticality, such as safety, require hardware that has higher safety integrity levels. For example, safety-related automotive systems typically require higher safety integrity level.
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention that based on the combination, the optimized offloading method taught by the combination of Kang-Zigler would be modified with the Kashani’s workload requirements and system requirements scheduling mechanism that considers ASIL constraints resulting in a system offloads driving tasks using the proper security features. Therefore, it would have been obvious to combine the combination of Kang-Zigler and Kashani.
The combination of Kang-Ziglar-Kashani fails to specifically teach, pairs of autonomous driving tasks that depend on each other are offloaded to a pair of computing nodes with a communication latency less than the latency threshold.
However, Arvinte teaches, pairs of autonomous driving tasks that depend on each other are offloaded to a pair of computing nodes with a communication latency less than the latency threshold ( [0023], scheduling tasks with the constraints of task-chain dependency and latency on multicore platforms, including on heterogenous multicore platforms with cores of different types instead of task allocation on cores of the same type; [0130], Some embodiments provide machine learning (ML) based scheduling or intelligent scheduling for energy optimization where input features of the platform include at least task dependencies, and where the base station (BS) is configured with the ML-based scheduling information; and [0194], determine dependencies between sets of tasks of a plurality of tasks to be executed by a plurality of cores of the network; determine latency deadlines of respective ones of the plurality of tasks; and determine an allocation of individual ones of the plurality of among the plurality of cores for execution based on the dependencies and based on the latency deadlines).
The combination of Kang-Ziglar-Kashani and Arvinte are analogous because they are each related to task scheduling and resource allocation. Kang teaches a method of offloading vehicle tasks in utilizing models to optimizing said offloading. Zigler teaches a method of task scheduling in accordance with latency requirements including modeling and creating graphs representing nodes, edges, and communication links between nodes. Kashani teaches a method of workload scheduling based on workload information and resource constraints including ASIL security requirements. Arvinte teaches a method of workload scheduling based on workload information and resource constraints including task dependency and latency requirements:
Abstract, one or more computer readable media, a distributed edge computing system, and a method. The apparatus includes one or more processors to determine dependencies between sets of tasks of a plurality of tasks to be executed by a plurality of cores of a network; determine latency deadlines of respective ones of the plurality of tasks; and determine an allocation of individual ones of the plurality of among the plurality of cores for execution based on the dependencies and based on the latency deadlines; and
[0023], Embodiments propose novel solutions to the problem of scheduling tasks with the constraints of task-chain dependency and latency on multicore platforms, including on heterogenous multicore platforms with cores of different types instead of task allocation on cores of the same type.
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention that based on the combination, the optimized offloading method taught by the combination of Kang-Zigler-Kashani would be modified with the Arvinte’s dependency and latency based scheduling models resulting in a system offloads driving tasks in accordance with latency and dependency related constraints. Therefore, it would have been obvious to combine the combination of Kang-Zigler-Kashani and Arvinte.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure and is as follows:
Inventor
Application No.
Teaches
Gurfinkel et al.
US 20210149734 A1
Task scheduling using graphing techniques:
Techniques to modify executable graphs to perform different workloads. In at least one embodiment, an executable version of a first task graph is modified by applying a non-executable version of a second task graph to executable version of first task graph so that executable version of first task graph can perform a second workload of non-executable version of second task graph
Nanduri et al.
US 12706932 B1
Task scheduling using graph of nodes and edges representing communication links.
Column 23, Lines 46-51, hen graph generator performs a join on the data provided by both agents, the graph will include a node for each of the processes, and an edge indicating communication between them (as well as other information, such as the directionality of the communication—i.e., which process acted as the server and which as the client in the communication).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MELISSA A HEADLY whose telephone number is (571)272-1972. The examiner can normally be reached Monday- Friday 9-5:30pm.
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, Bradley Teets can be reached at 571-272-3338. 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.
/MELISSA A HEADLY/Examiner, Art Unit 2197