DETAILED ACTION
Claims 1-20 are currently pending and have been examined in this application. This communication is the first action on the merits.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This action is in response to the application filed 06/03/2024.
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.
Claim(s) 1-4, 7-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Chen (US20210135883) in view of Guo (US20220026566).
Claim 1:
Chen explicitly teaches:
A method, comprising: receiving, from a requesting entity, a message comprising an indication of a resource [of a vehicle] and an indication of the requesting entity;
(Chen) – “The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
“A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The message may then be received at the function (block 408).” (Para 0038)
Examiner Note: Bracketed text note explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
determining, based on the message and a set of safety rules for a set of resources [of the vehicle], a safety level of the resource; and
(Chen) – “The identifier of the event source may then be validated (block 410). For example, the proxy controller 122, 124, 302, 322 may validate the identifier of the event source included within the message 142, 144, 200, 304, 324 received from the controller 128, 130. The proxy controller 122, 124, 302, 322 may validate the identifier of the event source using different techniques that depend on the type of the identifier of the event source. For example, if the identifier of the event source is cryptographically generated (e.g., a hash 326 included in the message 142, 144, 200, 304, 324 or encrypting of the message 142, 144, 200, 304, 324), the proxy controller 122, 124, 302, 322 may verify the identifier using a public key 136, 138, 332 associated with the controller 128, 130 (e.g., by processing the hash 326 with the public key 136, 138, 332 or decrypting the message 142, 144, 200, 304, 324 with the public key 136, 138, 332). As another example, if the identifier of the event source is a certificate 162, 166, 306 issued by a trusted authority, the proxy controller may verify the certificate 162, 166, 306 using another certificate 312 that is expected for messages 142, 144, 200, 304, 324 associated with execution of the function 104, 106. Additional details regarding validation of certificates 162, 166, 306 are discussed below in connection with the method 500 and FIG. 5.” (Para 0037)
Examiner Note: Bracketed text note explicitly taught by primary reference, but is taught by non-primary reference later in the rejection. Per BRI, validation corresponds with safety level.
exposing, by a processing device and to the requesting entity, a serverless function corresponding to the resource [of the vehicle] from amongst a plurality of serverless functions based on the safety level.
(Chen) – “A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The event may then be executed using the function (block 412). For example, if the identifier of the event source is successfully validated at block 410, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. For example, after validating the identifier of the event source 146, 148, the proxy controller 122, 124, 302, 322 may forward all or part of the message 142, 144, 200, 304, 324 to the function 104, 106 (e.g., to the container 103, 105). After receiving the message 142, 144, 200, 304, 324, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. As explained above, the event 154, 156, 204, 308, 328 may include information, configurations, and/or data for use in executing the function 104, 106. Accordingly, the function 104, 106, when executing, may incorporate the information provided within the event 154, 156, 204, 308, 328.” (Para 0038)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
Examiner Note: Bracketed text note explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
Chen does not explicitly teach:
of a vehicle … of the vehicle … of the vehicle
Guo, in the same field of endeavor of connected vehicles, teaches:
of a vehicle … of the vehicle … of the vehicle
(Guo) – “The specification relates to a location data correction service for connected vehicles. The correction service is serverless and provided by one or more connected vehicles.” (Para 0001)
Therefore, it would be obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to have modified the system of Chen with the correction service of Guo. One of ordinary skill in the art would have been motivated to make these modifications, with a reasonable expectation of success, “so that the legacy vehicle receives a benefit by correcting the legacy location data to minimize the variance” (Guo Abstract).
Claim 2:
Chen in combination with the references relied upon in Claim 1 teach those respective limitations. Chen further teaches:
wherein the serverless function abstracts a capability of the resource from an implementation of the resource.
(Chen) – “The computing environments may provision the computing resources from among the computing units to computing systems requesting execution of functions associated with the computing systems. To allocate the computing resources, the computing environments typically rely on virtualization. Virtualizing the computing resources may abstract the specific computing unit and/or specific piece or portion of computing hardware that a requesting computing system is allocated.” (Para 0014)
“In such implementations, the serverless computing environment may receive events from event sources that specify the functions for execution. In response to receiving such events, the serverless computing environment may allocate computing hardware for execution of the function specified by a received event. The computing hardware may then proceed with executing the function as specified by the event.” (Para 0015
Claim 3:
Chen in combination with the references relied upon in Claim 1 teach those respective limitations. Chen does not explicitly teach the following limitations in full. However, Guo further teaches:
wherein the resource comprises at least one of: a vehicle control system; a vehicle cabin control system; a computing resource of the vehicle; an application executing on the vehicle; an application programming interface (API) associated with the vehicle; an electronic control unit (ECU) within the vehicle; or firmware of the vehicle.
(Guo) – “The specification relates to a location data correction service for connected vehicles. The correction service is serverless and provided by one or more connected vehicles.” (Para 0001)
“The ego vehicle 123 includes one or more of the following elements: a processor 125; a rich sensor set 126; a standard-compliant GPS unit 150; a vehicle control system 153; a communication unit 145; an onboard unit 139; a memory 127; and a correction system 199. These elements may be communicatively coupled to one another via a bus 121. In some embodiments, the communication unit 145 includes a C-V2X radio.” (Para 0144)
“In some embodiments, the onboard unit 139 is the computer system 200 depicted in FIG. 2. In some embodiments, the onboard unit 139 is an electronic control unit (ECU).” (Para 0147)
Therefore, it would be obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to have modified the system of Chen with the correction service of Guo. One of ordinary skill in the art would have been motivated to make these modifications, with a reasonable expectation of success, “so that the legacy vehicle receives a benefit by correcting the legacy location data to minimize the variance” (Guo Abstract).
Claim 4:
Chen in combination with the references relied upon in Claim 1 teach those respective limitations. Chen further teaches:
wherein the requesting entity comprises at least one of: a second vehicle; a user computing device; a cloud service; a non-user computing device; a trusted application; a non-trusted application; or a fleet management system.
(Chen) – “As another example, if the identifier of the event source is a certificate 162, 166, 306 issued by a trusted authority, the proxy controller may verify the certificate 162, 166, 306 using another certificate 312 that is expected for messages 142, 144, 200, 304, 324 associated with execution of the function 104, 106.” (Para 0037)
“For example, the serverless computing environments may rely on event sources, such as Amazon® S3, Google Cloud® Pub/Sub, and MQ Telemetry Transport (MQTT) event sources, to provide authentic and/or secure events for execution by the serverless computing environment.” (Para 0015)
Examiner Note: Event Source corresponds with trusted application.
Claim 7:
Chen in combination with the references relied upon in Claim 1 teach those respective limitations. Chen further teaches:
wherein exposing the serverless function corresponding to the resource [of the vehicle] comprises transmitting an indication of the serverless function to the requesting entity.
(Chen) – “A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The event may then be executed using the function (block 412). For example, if the identifier of the event source is successfully validated at block 410, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. For example, after validating the identifier of the event source 146, 148, the proxy controller 122, 124, 302, 322 may forward all or part of the message 142, 144, 200, 304, 324 to the function 104, 106 (e.g., to the container 103, 105). After receiving the message 142, 144, 200, 304, 324, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. As explained above, the event 154, 156, 204, 308, 328 may include information, configurations, and/or data for use in executing the function 104, 106. Accordingly, the function 104, 106, when executing, may incorporate the information provided within the event 154, 156, 204, 308, 328.” (Para 0038)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
Examiner Note: Bracketed text note explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
Chen does not explicitly teach:
of the vehicle
Guo, in the same field of endeavor of connected vehicles, teaches:
of the vehicle
(Guo) – “The specification relates to a location data correction service for connected vehicles. The correction service is serverless and provided by one or more connected vehicles.” (Para 0001)
Therefore, it would be obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to have modified the system of Chen with the correction service of Guo. One of ordinary skill in the art would have been motivated to make these modifications, with a reasonable expectation of success, “so that the legacy vehicle receives a benefit by correcting the legacy location data to minimize the variance” (Guo Abstract).
Claim 8:
Chen in combination with the references relied upon in Claim 1 teach those respective limitations. Chen further teaches:
further comprising: receiving, from the requesting entity, a request that indicates an action with respect to the resource based on the serverless function; and
(Chen) – “A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The event may then be executed using the function (block 412). For example, if the identifier of the event source is successfully validated at block 410, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. For example, after validating the identifier of the event source 146, 148, the proxy controller 122, 124, 302, 322 may forward all or part of the message 142, 144, 200, 304, 324 to the function 104, 106 (e.g., to the container 103, 105). After receiving the message 142, 144, 200, 304, 324, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. As explained above, the event 154, 156, 204, 308, 328 may include information, configurations, and/or data for use in executing the function 104, 106. Accordingly, the function 104, 106, when executing, may incorporate the information provided within the event 154, 156, 204, 308, 328.” (Para 0038)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
executing the action based on the request.
(Chen) – “A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The event may then be executed using the function (block 412). For example, if the identifier of the event source is successfully validated at block 410, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. For example, after validating the identifier of the event source 146, 148, the proxy controller 122, 124, 302, 322 may forward all or part of the message 142, 144, 200, 304, 324 to the function 104, 106 (e.g., to the container 103, 105). After receiving the message 142, 144, 200, 304, 324, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. As explained above, the event 154, 156, 204, 308, 328 may include information, configurations, and/or data for use in executing the function 104, 106. Accordingly, the function 104, 106, when executing, may incorporate the information provided within the event 154, 156, 204, 308, 328.” (Para 0038)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
Claim 9:
Chen in combination with the references relied upon in Claim 8 teach those respective limitations. Chen further teaches:
wherein executing the action based on the request comprises at least one of: receiving data from the requesting entity; transmitting data to the requesting entity; controlling the vehicle; controlling a cabin system of the vehicle; or updating a vehicle system of the vehicle.
(Chen) – “A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The event may then be executed using the function (block 412). For example, if the identifier of the event source is successfully validated at block 410, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. For example, after validating the identifier of the event source 146, 148, the proxy controller 122, 124, 302, 322 may forward all or part of the message 142, 144, 200, 304, 324 to the function 104, 106 (e.g., to the container 103, 105). After receiving the message 142, 144, 200, 304, 324, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. As explained above, the event 154, 156, 204, 308, 328 may include information, configurations, and/or data for use in executing the function 104, 106. Accordingly, the function 104, 106, when executing, may incorporate the information provided within the event 154, 156, 204, 308, 328.” (Para 0038)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
Claim 10:
Chen in combination with the references relied upon in Claim 8 teach those respective limitations. Chen further teaches:
wherein the serverless function defines allowed parameters within the request.
(Chen) – “A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The event may then be executed using the function (block 412). For example, if the identifier of the event source is successfully validated at block 410, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. For example, after validating the identifier of the event source 146, 148, the proxy controller 122, 124, 302, 322 may forward all or part of the message 142, 144, 200, 304, 324 to the function 104, 106 (e.g., to the container 103, 105). After receiving the message 142, 144, 200, 304, 324, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. As explained above, the event 154, 156, 204, 308, 328 may include information, configurations, and/or data for use in executing the function 104, 106. Accordingly, the function 104, 106, when executing, may incorporate the information provided within the event 154, 156, 204, 308, 328.” (Para 0038)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
Claim 11:
Chen in combination with the references relied upon in Claim 8 teach those respective limitations. Chen further teaches:
further comprising: activating, based on the request, the resource; and
(Chen) – “The event may then be executed using the function (block 412). For example, if the identifier of the event source is successfully validated at block 410, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. For example, after validating the identifier of the event source 146, 148, the proxy controller 122, 124, 302, 322 may forward all or part of the message 142, 144, 200, 304, 324 to the function 104, 106 (e.g., to the container 103, 105). After receiving the message 142, 144, 200, 304, 324, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. As explained above, the event 154, 156, 204, 308, 328 may include information, configurations, and/or data for use in executing the function 104, 106. Accordingly, the function 104, 106, when executing, may incorporate the information provided within the event 154, 156, 204, 308, 328.” (Para 0038)
deactivating the resource subsequent to executing the action.
(Chen) – “The event may then be executed using the function (block 412). For example, if the identifier of the event source is successfully validated at block 410, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. For example, after validating the identifier of the event source 146, 148, the proxy controller 122, 124, 302, 322 may forward all or part of the message 142, 144, 200, 304, 324 to the function 104, 106 (e.g., to the container 103, 105). After receiving the message 142, 144, 200, 304, 324, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. As explained above, the event 154, 156, 204, 308, 328 may include information, configurations, and/or data for use in executing the function 104, 106. Accordingly, the function 104, 106, when executing, may incorporate the information provided within the event 154, 156, 204, 308, 328.” (Para 0038)
Examiner Note: Since the function is executed according to the event, it is implied that the function ends once the event is complete.
Claim 12:
Chen in combination with the references relied upon in Claim 1 teach those respective limitations. Chen further teaches:
wherein the serverless function comprises a first serverless function when the safety level of the resource comprises a first safety level, wherein the serverless function comprises a second serverless function when the safety level of the resource comprises a second safety level, and wherein the first serverless function is different from the second serverless function.
(Chen) – “A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The event may then be executed using the function (block 412). For example, if the identifier of the event source is successfully validated at block 410, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. For example, after validating the identifier of the event source 146, 148, the proxy controller 122, 124, 302, 322 may forward all or part of the message 142, 144, 200, 304, 324 to the function 104, 106 (e.g., to the container 103, 105). After receiving the message 142, 144, 200, 304, 324, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. As explained above, the event 154, 156, 204, 308, 328 may include information, configurations, and/or data for use in executing the function 104, 106. Accordingly, the function 104, 106, when executing, may incorporate the information provided within the event 154, 156, 204, 308, 328.” (Para 0038)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
Claim 13:
Chen in combination with the references relied upon in Claim 1 teach those respective limitations. Chen further teaches:
wherein the serverless function comprises a first serverless function when the requesting entity comprises a first requesting entity, wherein the serverless function comprises a second serverless function when the requesting entity comprises a second requesting entity, and wherein the first serverless function is different from the second serverless function.
(Chen) – “A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The event may then be executed using the function (block 412). For example, if the identifier of the event source is successfully validated at block 410, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. For example, after validating the identifier of the event source 146, 148, the proxy controller 122, 124, 302, 322 may forward all or part of the message 142, 144, 200, 304, 324 to the function 104, 106 (e.g., to the container 103, 105). After receiving the message 142, 144, 200, 304, 324, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. As explained above, the event 154, 156, 204, 308, 328 may include information, configurations, and/or data for use in executing the function 104, 106. Accordingly, the function 104, 106, when executing, may incorporate the information provided within the event 154, 156, 204, 308, 328.” (Para 0038)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
Claim 14:
Chen in combination with the references relied upon in Claim 1 teach those respective limitations. Chen further teaches:
further comprising: obtaining, prior to receiving the message and from a cloud service, the set of safety rules and the plurality of serverless functions.
(Chen) – “As another example, if the identifier of the event source is a certificate 162, 166, 306 issued by a trusted authority, the proxy controller may verify the certificate 162, 166, 306 using another certificate 312 that is expected for messages 142, 144, 200, 304, 324 associated with execution of the function 104, 106.” (Para 0037)
“For example, the serverless computing environments may rely on event sources, such as Amazon® S3, Google Cloud® Pub/Sub, and MQ Telemetry Transport (MQTT) event sources, to provide authentic and/or secure events for execution by the serverless computing environment.” (Para 0015)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
Claim 15:
Chen in combination with the references relied upon in Claim 1 teach those respective limitations. Chen further teaches:
wherein the serverless function defines a level of access to the resource.
(Chen) – “A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The event may then be executed using the function (block 412). For example, if the identifier of the event source is successfully validated at block 410, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. For example, after validating the identifier of the event source 146, 148, the proxy controller 122, 124, 302, 322 may forward all or part of the message 142, 144, 200, 304, 324 to the function 104, 106 (e.g., to the container 103, 105). After receiving the message 142, 144, 200, 304, 324, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. As explained above, the event 154, 156, 204, 308, 328 may include information, configurations, and/or data for use in executing the function 104, 106. Accordingly, the function 104, 106, when executing, may incorporate the information provided within the event 154, 156, 204, 308, 328.” (Para 0038)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
Claim 16:
Chen explicitly teaches:
A system, comprising: a memory; and a processing device, operatively coupled to the memory, to: receive, from a requesting entity, a message comprising an indication of a resource [of a vehicle] and an indication of the requesting entity;
(Chen) – “In another embodiment, a system is provided including a processor and a memory. The memory may store instructions which, when executed by the processor, cause the processor to detect that a function of a serverless computing environment is created within a first container of the serverless computing environment and determine that a label corresponding to the function indicates that verification is required for events intended for execution by the function.” (Para 0003)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
“A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The message may then be received at the function (block 408).” (Para 0038)
Examiner Note: Bracketed text note explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
determine, based on the message and a set of safety rules for a set of resources [of the vehicle], a safety level of the resource; and
(Chen) – “The identifier of the event source may then be validated (block 410). For example, the proxy controller 122, 124, 302, 322 may validate the identifier of the event source included within the message 142, 144, 200, 304, 324 received from the controller 128, 130. The proxy controller 122, 124, 302, 322 may validate the identifier of the event source using different techniques that depend on the type of the identifier of the event source. For example, if the identifier of the event source is cryptographically generated (e.g., a hash 326 included in the message 142, 144, 200, 304, 324 or encrypting of the message 142, 144, 200, 304, 324), the proxy controller 122, 124, 302, 322 may verify the identifier using a public key 136, 138, 332 associated with the controller 128, 130 (e.g., by processing the hash 326 with the public key 136, 138, 332 or decrypting the message 142, 144, 200, 304, 324 with the public key 136, 138, 332). As another example, if the identifier of the event source is a certificate 162, 166, 306 issued by a trusted authority, the proxy controller may verify the certificate 162, 166, 306 using another certificate 312 that is expected for messages 142, 144, 200, 304, 324 associated with execution of the function 104, 106. Additional details regarding validation of certificates 162, 166, 306 are discussed below in connection with the method 500 and FIG. 5.” (Para 0037)
Examiner Note: Bracketed text note explicitly taught by primary reference, but is taught by non-primary reference later in the rejection. Per BRI, validation corresponds with safety level.
expose, to the requesting entity, a serverless function corresponding to the resource [of the vehicle] from amongst a plurality of serverless functions based on the safety level.
(Chen) – “A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The event may then be executed using the function (block 412). For example, if the identifier of the event source is successfully validated at block 410, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. For example, after validating the identifier of the event source 146, 148, the proxy controller 122, 124, 302, 322 may forward all or part of the message 142, 144, 200, 304, 324 to the function 104, 106 (e.g., to the container 103, 105). After receiving the message 142, 144, 200, 304, 324, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. As explained above, the event 154, 156, 204, 308, 328 may include information, configurations, and/or data for use in executing the function 104, 106. Accordingly, the function 104, 106, when executing, may incorporate the information provided within the event 154, 156, 204, 308, 328.” (Para 0038)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
Examiner Note: Bracketed text note explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
Chen does not explicitly teach:
of a vehicle … of the vehicle … of the vehicle
Guo, in the same field of endeavor of connected vehicles, teaches:
of a vehicle … of the vehicle … of the vehicle
(Guo) – “The specification relates to a location data correction service for connected vehicles. The correction service is serverless and provided by one or more connected vehicles.” (Para 0001)
Therefore, it would be obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to have modified the system of Chen with the correction service of Guo. One of ordinary skill in the art would have been motivated to make these modifications, with a reasonable expectation of success, “so that the legacy vehicle receives a benefit by correcting the legacy location data to minimize the variance” (Guo Abstract).
Claim 17:
Rejected based on the same rationale as Claim 2
Claim 18:
Rejected based on the same rationale as Claim 8
Claim 19:
Chen explicitly teaches:
A non-transitory computer-readable medium having instructions stored thereon which, when executed by a processing device, cause the processing device to: receive, from a requesting entity, a message comprising an indication of a resource [of a vehicle] and an indication of the requesting entity;
(Chen) – “In another embodiment, a system is provided including a processor and a memory. The memory may store instructions which, when executed by the processor, cause the processor to detect that a function of a serverless computing environment is created within a first container of the serverless computing environment and determine that a label corresponding to the function indicates that verification is required for events intended for execution by the function.” (Para 0003)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
“A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The message may then be received at the function (block 408).” (Para 0038)
Examiner Note: Bracketed text note explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
determine, based on the message and a set of safety rules for a set of resources [of the vehicle], a safety level of the resource; and
(Chen) – “The identifier of the event source may then be validated (block 410). For example, the proxy controller 122, 124, 302, 322 may validate the identifier of the event source included within the message 142, 144, 200, 304, 324 received from the controller 128, 130. The proxy controller 122, 124, 302, 322 may validate the identifier of the event source using different techniques that depend on the type of the identifier of the event source. For example, if the identifier of the event source is cryptographically generated (e.g., a hash 326 included in the message 142, 144, 200, 304, 324 or encrypting of the message 142, 144, 200, 304, 324), the proxy controller 122, 124, 302, 322 may verify the identifier using a public key 136, 138, 332 associated with the controller 128, 130 (e.g., by processing the hash 326 with the public key 136, 138, 332 or decrypting the message 142, 144, 200, 304, 324 with the public key 136, 138, 332). As another example, if the identifier of the event source is a certificate 162, 166, 306 issued by a trusted authority, the proxy controller may verify the certificate 162, 166, 306 using another certificate 312 that is expected for messages 142, 144, 200, 304, 324 associated with execution of the function 104, 106. Additional details regarding validation of certificates 162, 166, 306 are discussed below in connection with the method 500 and FIG. 5.” (Para 0037)
Examiner Note: Bracketed text note explicitly taught by primary reference, but is taught by non-primary reference later in the rejection. Per BRI, validation corresponds with safety level.
expose, to the requesting entity, a serverless function corresponding to the resource [of the vehicle] from amongst a plurality of serverless functions based on the safety level.
(Chen) – “A message may then be created that includes the event (block 404). For example, the controller 128, 130 that received the event may create a message 142, 144, 200, 304, 324 in response to receiving the events 154, 156, 204, 308, 328.” (Para 0034)
“The message may be signed with an identifier of the event source (block 406). For example, the controller 128, 130 may sign the message 142, 144, 200, 304, 324 with an identifier of the event source 146, 148 from which the event 154, 156, 204, 308, 328 was received.” (Para 0035)
“The event may then be executed using the function (block 412). For example, if the identifier of the event source is successfully validated at block 410, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. For example, after validating the identifier of the event source 146, 148, the proxy controller 122, 124, 302, 322 may forward all or part of the message 142, 144, 200, 304, 324 to the function 104, 106 (e.g., to the container 103, 105). After receiving the message 142, 144, 200, 304, 324, the function 104, 106 may execute according to the event 154, 156, 204, 308, 328. As explained above, the event 154, 156, 204, 308, 328 may include information, configurations, and/or data for use in executing the function 104, 106. Accordingly, the function 104, 106, when executing, may incorporate the information provided within the event 154, 156, 204, 308, 328.” (Para 0038)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
Examiner Note: Bracketed text note explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
Chen does not explicitly teach:
of a vehicle … of the vehicle … of the vehicle
Guo, in the same field of endeavor of connected vehicles, teaches:
of a vehicle … of the vehicle … of the vehicle
(Guo) – “The specification relates to a location data correction service for connected vehicles. The correction service is serverless and provided by one or more connected vehicles.” (Para 0001)
Therefore, it would be obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to have modified the system of Chen with the correction service of Guo. One of ordinary skill in the art would have been motivated to make these modifications, with a reasonable expectation of success, “so that the legacy vehicle receives a benefit by correcting the legacy location data to minimize the variance” (Guo Abstract).
Claim 20:
Rejected based on the same rationale as Claim 2
Claim(s) 5 & 6 is/are rejected under 35 U.S.C. 103 as being unpatentable over Chen (US20210135883) in view of Guo (US20220026566) further in view of Bauer (US20200125858).
Claim 5:
Chen in combination with the references relied upon in Claim 1 teach those respective limitations. Chen does not explicitly teach the following limitations. Bauer, in the same field of endeavor of connected vehicles, teaches:
wherein the safety level comprises an automotive safety integrity level (ASIL) classification.
(Bauer) – “In the embodiment shown, the hardware components include a camera data decoder, display and graphics processing unit (GPU) SoC, AI accelerator SoC, SDN router SoC, safety processor (ASIL D), HDBaseT PCIe chip 1, HDBaseT PCIe chip 2, HDBaseT chip 3 and HDBaseT PCIe chip 4.” (Para 0174)
Therefore, it would be obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to have modified the system of Chen with the automotive electrical/electronic architecture of Bauer. One of ordinary skill in the art would have been motivated to make these modifications, with a reasonable expectation of success, in order to “[deliver] scalable and affordable network/power redundancy into an automotive E/EA that supports partially or fully autonomous vehicles” (Bauer Para 0006).
Claim 6:
Chen in combination with the references relied upon in Claim 5 teach those respective limitations. Chen further teaches:
wherein [the ASIL classification] permits an interaction with the serverless function.
(Chen) – “The identifier of the event source may then be validated (block 410). For example, the proxy controller 122, 124, 302, 322 may validate the identifier of the event source included within the message 142, 144, 200, 304, 324 received from the controller 128, 130. The proxy controller 122, 124, 302, 322 may validate the identifier of the event source using different techniques that depend on the type of the identifier of the event source. For example, if the identifier of the event source is cryptographically generated (e.g., a hash 326 included in the message 142, 144, 200, 304, 324 or encrypting of the message 142, 144, 200, 304, 324), the proxy controller 122, 124, 302, 322 may verify the identifier using a public key 136, 138, 332 associated with the controller 128, 130 (e.g., by processing the hash 326 with the public key 136, 138, 332 or decrypting the message 142, 144, 200, 304, 324 with the public key 136, 138, 332). As another example, if the identifier of the event source is a certificate 162, 166, 306 issued by a trusted authority, the proxy controller may verify the certificate 162, 166, 306 using another certificate 312 that is expected for messages 142, 144, 200, 304, 324 associated with execution of the function 104, 106. Additional details regarding validation of certificates 162, 166, 306 are discussed below in connection with the method 500 and FIG. 5.” (Para 0037)
“The method 400 may begin with receiving an event from an event source for execution by a function of a serverless computing environment (block 402). For example, the serverless computing environment 102 may receive an event 154, 156, 204, 308, 328 from an event source 146, 148 for execution by a function 104, 106 of the serverless computing environment 102… In certain implementations, the event 154, 156, 204, 308, 328 may specify the function 104, 106 for execution. In additional or alternative implementations, the event source 146, 148 may correspond to a particular function 104, 106 of the serverless computing environment 102 and the function 104, 106 for execution may be determined based on the event source 146, 148 from which the event 154, 156, 204, 308, 328 is received. In still further implementations, the serverless computing environment (e.g., the controller 128, 130) may identify a type of the event 154, 156, 204, 308, 328.” (Para 0033)
Examiner Note: Bracketed text note explicitly taught by primary reference, but is taught by non-primary reference later in the rejection.
Chen does not explicitly teach:
the ASIL classification
Bauer, in the same field of endeavor of connected vehicles, teaches:
the ASIL classification
(Bauer) – “In the embodiment shown, the hardware components include a camera data decoder, display and graphics processing unit (GPU) SoC, AI accelerator SoC, SDN router SoC, safety processor (ASIL D), HDBaseT PCIe chip 1, HDBaseT PCIe chip 2, HDBaseT chip 3 and HDBaseT PCIe chip 4.” (Para 0174)
Therefore, it would be obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to have modified the system of Chen with the automotive electrical/electronic architecture of Bauer. One of ordinary skill in the art would have been motivated to make these modifications, with a reasonable expectation of success, in order to “[deliver] scalable and affordable network/power redundancy into an automotive E/EA that supports partially or fully autonomous vehicles” (Bauer Para 0006).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Avedisov (US20220248196) similar to Guo.
Shimizu (US20220095115) similar to Guo.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DAVID RUBEN PEDERSEN whose telephone number is (571)272-9696. The examiner can normally be reached M-Th: 07:00 -16:00 Eastern.
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, Vivek Koppikar can be reached at 571-272-5109. 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.
/DAVID RUBEN PEDERSEN/Examiner, Art Unit 3667
/VIVEK D KOPPIKAR/Supervisory Patent Examiner, Art Unit 3667
January 12, 2026