DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Introduction
The claims 1-20 are pending in this application. This is a non-final office action in response to Application Number 18/478,589 filed on 29 September 2023 with a preliminary amendment also filed on 29 September 2023 in which the claims 21-40 are canceled and no claims are amended or added.
The instant application claims priority to Indian application 202341048353 filed on 19 July 2023.
The applicant of record is Intel Corporation in Santa Clara, California, United States. The application papers have been signed by a U.S.-registered patent practitioner. The inventors of record are Raju Arvind, Amit Baxi, Dave Cavalcanti, Trevor Cooper, Andrew Cunningham, Francesc Guim Bernat, Ravindra Hegde, Gowtham Hosamane, Karthik Kumar, Patrick Kutch, and Susruth Sudhakaran
Priority
Receipt is acknowledged of certified copies of papers required by 37 CFR 1.55.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 29 September 2023 was filed on the filing date of the instant application on 29 September 2023 and before the mailing date of the first office action on the merits. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Interpretation
The claims have been considered according to the latest Patent Eligibility Guidelines and are considered eligible.
Claim Rejections - 35 USC § 102
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 the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Johnson et al. (U.S. Patent Publication 2025/0007799).
Regarding claim 1, Johnson disclosed an apparatus (see Johnson [0027], Fig. 1 #130 multiple edge devices communicate with multiple compute nodes #110 via network #152) comprising:
network interface circuitry (see Johnson Fig. 14 #1440 communication interface; Fig. 13 autonomous vehicle #102 includes network #152 and is also in communication with data center #1350); and
platform interface circuitry to be programmed by instructions (see Johnson Fig. 14 #1410 processor, #1430 storage device including a variety of instructions; Fig. 13 autonomous vehicle #102 includes a variety of sensor systems, communication networks, and compute systems including multiple software stacks) to:
determine whether to drop a data packet of a data stream or forward the data packet (see Johnson [0033]: transmitting edge health data if it is determined that the health status data crosses a threshold, e.g., exceeds a number of occurrences, an event has not occurred for a specified time period, etc. | examiner notes that the claim is written such that a decision about either dropping or forwarding is made and does not require that both options are considered when making the determination) based on (a) a payload of the data packet (see Johnson [0033]: edge devices report health status information as payloads; [0036]: payloads may include raw data, status flags, a count of an error/fault/occurrence, etc.) and (b) historic information associated with the data stream (see Johnson [0033]: edge health data is checked against a threshold defined in a monitor’s configuration; the edge health data is output as a payload based on the checking; [0035]: comparison thresholds include timeouts, number of occurrences crossing a threshold, severity of errors, etc.. Examiner notes that tracking timeouts and/or a number of occurrences are types of historical information associated with the health data); and
operate on the data packet based on the determination (see Johnson [0038]: aggregating and transmitting payloads; examiner notes that “operate on the data packet based on the determination” covers a wide range of interpretations, e.g., dropping the packet, transmitting the packet, using the data in the packet, formatting the data in the packet, etc.).
Regarding claim 2, Johnson disclosed the apparatus of claim 1, wherein the platform interface circuitry is to:
execute a utility function based on the payload and the historic information, a result of the execution including a utility value corresponding to the data packet, the utility value based on an amount of variability between the payload and the historic information (see Johnson [0033]: edge health data is checked against a threshold defined in a monitor’s configuration; the edge health data is output as a payload based on the checking; [0035]: comparison thresholds include timeouts, number of occurrences crossing a threshold, severity of errors, etc.; [0041]: node diagnostic status is set according to a worst reported severity; [0042]: determining whether the AV (autonomous vehicle) is in or should enter a degraded state based on the reported health data satisfying a particular condition | Examiner notes that an indicated severity is interpreted as being functionally equivalent to a utility value based on an amount of variability between the payload and the historic information; examiner also notes that comparison against a threshold is interpreted as being a type of utility function, such that the determined severity would be a result of a comparison of the health status information against thresholds and the amount of variability with respect to the threshold); and
determine whether to drop the data packet or forward the data packet based on the result of the execution (see Johnson [0033]: edge health data is checked against a threshold defined in a monitor’s configuration; the edge health data is output as a payload based on the checking; [0035]: comparison thresholds include timeouts, number of occurrences crossing a threshold, severity of errors, etc. | examiner notes that the claim is written such that a decision about either dropping or forwarding is made and does not require that both options are considered when making the determination).
Regarding claim 3, Johnson disclosed the apparatus of claim 2, wherein the data stream is a first data stream, and the utility value is based on an amount of non-repeating information included in the payload and not included in one or more second data streams (see Johnson [0033]: edge health data is checked against a threshold defined in a monitor’s configuration; the edge health data is output as a payload based on the checking; [0035]: comparison thresholds include timeouts, number of occurrences crossing a threshold, severity of errors, etc.; [0041]: node diagnostic status is set according to a worst reported severity; [0042]: determining whether the AV (autonomous vehicle) is in or should enter a degraded state based on the reported health data satisfying a particular condition | [0033]: edge device includes two monitors that each output different health status payloads, e.g., first monitor outputs temperature information and second monitor outputs voltage information; [0065]: avoiding sending two payloads from the same monitor in one aggregated packet, i.e. sending two temperature payloads in one packet would be redundant even if the temperature values would be different | examiner notes that since payloads are not redundant, then the utility value (e.g., severity information) about the payload would also be “based on an amount of non-repeating information included in the payload and not included in one or more second data streams”).
Regarding claim 4, Johnson disclosed the apparatus of claim 2, wherein the platform interface circuitry is to:
drop the data packet when the utility value does not satisfy a utility threshold (see Johnson [0033]: transmitting edge health data if it is determined that the health status data crosses a threshold, e.g., exceeds a number of occurrences, an event has not occurred for a specified time period, etc.; [0035]: comparison thresholds include timeouts, number of occurrences crossing a threshold, severity of errors, etc. | examiner notes that the payload is not sent if it has not crossed the applicable threshold, i.e. packet is dropped | [0060]: dropping a payload from an aggregated payload); and
forward the data packet when the utility value satisfies the utility threshold (see Johnson [0033]: transmitting edge health data if it is determined that the health status data crosses a threshold, e.g., exceeds a number of occurrences, an event has not occurred for a specified time period, etc.; [0035]: comparison thresholds include timeouts, number of occurrences crossing a threshold, severity of errors, etc. | examiner notes that the payload is not sent if it has not crossed the applicable threshold, i.e. packet is dropped).
Regarding claim 5, Johnson disclosed the apparatus of claim 2, wherein the platform interface circuitry is to register the utility function by storing the utility function in association with at least one of a process address identifier corresponding to a software stack (see Johnson [0043]: monitor library API includes registration of monitor’s configuration for when to report edge device health status; [0068]: an enumerated set of monitors are registered for a given edge device | examiner notes that stacks, queues, and a variety of identifiers are inherently included in configurations, registrations, and when executing software functions), a queue identifier corresponding to a network queue, or a universally unique identifier corresponding to the utility function.
Regarding claim 6, Johnson disclosed the apparatus of claim 1, wherein the historic information includes at least one of a first number of dropped data packets associated with the data stream, a second number of forwarded data packets associated with the data stream, or characteristics corresponding to at least one of the dropped data packets or the forwarded data packets (see Johnson [0033]: transmitting edge health data if it is determined that the health status data crosses a threshold, e.g., exceeds a number of occurrences, an event has not occurred for a specified time period, etc.; [0035]: comparison thresholds include timeouts, number of occurrences crossing a threshold, severity of errors, etc.; [0036]: payloads include name of monitor, timestamp, occurrence count, etc. | examiner notes that tracking timeouts and/or a number of occurrences are types of historical information associated with the health data and that this would also describe characteristics corresponding to the packet since the forwarded packet would include this information; examiner also notes that including a monitor’s name and/or timestamp in a packet payload would also describe characteristics corresponding to the packet).
Regarding claim 7, Johnson disclosed the apparatus of claim 1, wherein the platform interface circuitry is to generate an alert to a software stack in response to detection of an event, the event to include at least a threshold number of data packets of the data stream being dropped, the historic information being updated at least a threshold number of times, or an amount of memory used to store the historic information being at or above a threshold amount (see Johnson [0021]: determining whether certain flags or alerts should be raised and whether the vehicle should enter a degraded operational state | [0027]: health status information includes percentage of memory utilization, error codes, etc.; [0033]: transmitting edge health data if it is determined that the health status data crosses a threshold, e.g., exceeds a number of occurrences, an event has not occurred for a specified time period, etc.; [0035]: comparison thresholds include timeouts, number of occurrences crossing a threshold, severity of errors, error count, etc.).
Regarding claim 8, Johnson disclosed an apparatus (see Johnson [0027], Fig. 1 #130 multiple edge devices communicate with multiple compute nodes #110 via network #152) comprising:
network interface circuitry (see Johnson Fig. 14 #1440 communication interface; Fig. 13 autonomous vehicle #102 includes network #152 and is also in communication with data center #1350); and
programmable circuitry to be programmed by instructions (see Johnson Fig. 14 #1410 processor, #1430 storage device including a variety of instructions; Fig. 13 autonomous vehicle #102 includes a variety of sensor systems, communication networks, and compute systems including multiple software stacks) to:
select, based on state information for a first edge device (see Johnson [0033]: transmitting edge health data if it is determined that the health status data crosses a threshold, e.g., exceeds a number of occurrences, an event has not occurred for a specified time period, etc.), a first one of a plurality of proxy data streams available to the first edge device (examiner interprets “proxy data streams” as being functionally equivalent to data streams that travel through intermediate network elements, e.g., see Johnson Fig. 2, [0036]: monitors transmit packet to payload consumers, e.g. aggregator #206 on edge device, before being sent in an aggregated packet via network #152 to compute system #110 | [0033]: transmitting edge health data if it is determined that the health status data crosses a threshold, e.g., exceeds a number of occurrences, an event has not occurred for a specified time period, etc.; packets from a monitor are interpreted as being “selected” when the payload(s) cross a threshold) in a time-sensitive network environment (see Johnson [0021]: edge devices report health status information in an AV (autonomous vehicle) environment; examiner notes that networks for AVs are a type of time-sensitive network environment), the plurality of proxy data streams preconfigured in the time-sensitive network environment to satisfy respective different communication metrics (see Johnson [0034]: monitors report payloads at different cadences or frequencies, i.e. monitor’s packets are preconfigured to satisfy different communication metrics); and
cause transmission of data from the first edge device to a second edge device based on the first one of the plurality of proxy data streams (see Johnson [0038]: aggregating and transmitting monitor payloads from edge devices | Fig. 1, [0086]: multiple edge devices communicate within an AV (autonomous vehicle).).
Regarding claim 9, Johnson disclosed the apparatus of claim 8, wherein the communication metrics correspond to at least one of bandwidth or latency of data transmitted via respective ones of the plurality of proxy data streams (see Johnson [0021]: ensuring that health status information is reported correctly in accordance with autonomous vehicle’s integrity level and safety goals; examiner notes that satisfying bandwidth and latency requirements are inherent aspects of ensuring reliable communication in a time-sensitive network | [0038]: transmitting packets in accordance with throughput constraints | [0034]: reporting according to preconfigured frequencies; examiner notes that different reporting frequencies are directly related to different reporting latencies, i.e. satisfying a higher reporting frequency means satisfying a lower reporting latency; [0027]: tracking timeouts).
Regarding claim 10, Johnson disclosed the apparatus of claim 8, wherein the plurality of proxy data streams are preconfigured in a handshake procedure between the first edge device and a centralized network configuration node (see Johnson [0043]: monitor library API includes registration of monitor’s configuration for when to report edge device health status; [0068]: an enumerated set of monitors are registered for a given edge device | examiner notes that registration and connection establishment inherently includes a handshake procedure and connection establishment inherently occurs prior to being able to transmit packets) of the time-sensitive network environment (see Johnson [0021]: edge devices report health status information in an AV (autonomous vehicle) environment; examiner notes that networks for AVs are a type of time-sensitive network environment), the plurality of proxy data streams preconfigured based on communication resources available to the first edge device (see Johnson [0035]: details about monitor’s configuration and when to report edge health information, e.g., when processor utilization crosses a predefined threshold; examiner notes that processor utilization percentages are based on available communication resources).
Regarding claim 11, Johnson disclosed the apparatus of claim 8, wherein the state information includes at least one of a position of an end point device associated with the first edge device (see Johnson [0086]: example edge devices include sensors for detecting GPS position, speedometers, tilt sensors, etc.; [0087]: example edge devices also include mechanical systems for steering during navigation that may be controlled via client interfaces | [0033]: monitors on edge devices provide edge health data, e.g., sensor data, when the data is determined to cross a threshold), an orientation of the end point device, a distance between the end point device and an object, or an indication of whether the end point device is idle or performing an operation.
Regarding claim 12, Johnson disclosed the apparatus of claim 11, wherein the state information is based on a data stream from the end point device (see Johnson [0086]: example edge devices include sensors for detecting GPS position, speedometers, tilt sensors, etc.; [0033]: monitors on edge devices provide edge health data, e.g., sensor data).
Regarding claim 13, Johnson disclosed the apparatus of claim 12, wherein the end point device is a camera, the data stream is a video data stream, and the programmable circuitry is to select a compression scheme for the video data stream based on the state information (see Johnson [0086]: example edge devices include cameras; [0038]: manipulating packets to satisfy packet size constraints and transport limitations; examiner notes that compression is a well-known and commonly used type of packet manipulation when transmitting video over a network, especially when there is a need to satisfy packet size constraints and transport limitations such as in autonomous vehicle networks).
Regarding claim 14, Johnson disclosed the apparatus of claim 8, wherein the programmable circuitry is to:
determine a target communication metric based on updated state information (see Johnson [0035]: monitor is configured with a rate or frequency for when to report edge health information; [0034]: different monitors report payloads at different rates or frequencies; [0044]: nested monitors such that one of the monitors reports payloads at one frequency, e.g., software application #404 (fan controller) queries and checks data about the edge device, and the nested monitor reports at a different frequency, e.g., nested monitor #402 (fan-speed monitor) periodically obtains data from application #404 (fan controller); [0048]: modifying monitor configuration; [0060]: changing an output rate for the payload | examiner notes that the target communication metric is not necessarily different than the preconfigured output rate and may also be interpreted as the preconfigured output rate for a different monitor or a different output rate/frequency for a nested monitor);
select a second one of the plurality of proxy data streams corresponding to the target communication metric (see Johnson [0035]: monitor is configured with a rate or frequency for when to report edge health information; [0034]: different monitors report payloads at different rates or frequencies; [0038]: edge aggregator aggregates payloads from multiple monitors; examiner notes that selection occurs when deciding what payloads to aggregate | examiner notes that a second of the proxy data streams may be interpreted as a second/subsequent communication, e.g., after a configuration update, and may also be interpreted as a data stream from another source, e.g., a second monitor);
halt transmission of the data based on the first one of the plurality of proxy data streams (see Johnson [0048]: modifying monitor configuration; [0060]: changing an output rate for the payload; examiner notes that the previous monitor’s reporting rate is stopped when there is an update to the monitor’s reporting configuration); and
cause transmission of data from the first edge device to the second edge device based on the second one of the plurality of proxy data streams (see Johnson [0048]: modifying monitor configuration; [0060]: changing an output rate for the payload; examiner notes that transmission is in accordance with the updated reporting rate).
Regarding claim 15, Johnson disclosed an apparatus (see Johnson [0027], Fig. 1 #130 multiple edge devices communicate with multiple compute nodes #110 via network #152) comprising:
network interface circuitry (see Johnson Fig. 14 #1440 communication interface; Fig. 13 autonomous vehicle #102 includes network #152 and is also in communication with data center #1350); and
programmable circuitry to be programmed by instructions (see Johnson Fig. 14 #1410 processor, #1430 storage device including a variety of instructions; Fig. 13 autonomous vehicle #102 includes a variety of sensor systems, communication networks, and compute systems including multiple software stacks) to:
determine, at a first edge device, whether to (a) drop a data packet of a data stream received at the first edge device or (b) forward the data packet to a second edge device (see Johnson [0033]: transmitting edge health data if it is determined that the health status data crosses a threshold, e.g., exceeds a number of occurrences, an event has not occurred for a specified time period, etc.; Examiner notes that the claim is written such that a decision about either dropping or forwarding is made and does not require that both options are considered when making the determination | Fig. 1, [0086]: multiple edge devices communicate within an AV (autonomous vehicle; [0038]: aggregating and transmitting monitor payloads from edge devices), the determination based on a payload of the data packet (see Johnson [0033]: edge devices report health status information as payloads; [0036]: payloads may include raw data, status flags, a count of an error/fault/occurrence, etc.) and historic information associated with the data stream (see Johnson [0033]: edge health data is checked against a threshold defined in a monitor’s configuration; the edge health data is output as a payload based on the checking; [0035]: comparison thresholds include timeouts, number of occurrences crossing a threshold, severity of errors, etc.. Examiner notes that tracking timeouts and/or a number of occurrences are types of historical information associated with the health data);
based on the determination being to forward the data packet to the second edge device (see Johnson [0038]: aggregating and transmitting payloads):
select, based on state information for the first edge device (see Johnson [0033]: transmitting edge health data if it is determined that the health status data crosses a threshold, e.g., exceeds a number of occurrences, an event has not occurred for a specified time period, etc.), a first one of a plurality of proxy data streams available to the first edge device (examiner interprets “proxy data streams” as being functionally equivalent to data streams that travel through intermediate network elements, e.g., see Johnson Fig. 2, [0036]: monitors transmit packet to payload consumers, e.g. aggregator #206 on edge device, before being sent in an aggregated packet via network #152 to compute system #110 | [0033]: transmitting edge health data if it is determined that the health status data crosses a threshold, e.g., exceeds a number of occurrences, an event has not occurred for a specified time period, etc.; packets from a monitor are interpreted as being “selected” when the payload(s) cross a threshold) in a time-sensitive network environment (see Johnson [0021]: edge devices report health status information in an AV (autonomous vehicle) environment; examiner notes that networks for AVs are a type of time-sensitive network environment), the plurality of proxy data streams preconfigured in the time-sensitive network environment to satisfy respective different communication metrics (see Johnson [0034]: monitors report payloads at different cadences or frequencies, i.e. monitor’s packets are preconfigured to satisfy different communication metrics); and
cause transmission of the data packet to the second edge device based on the first one of the plurality of proxy data streams (see Johnson [0038]: aggregating and transmitting monitor payloads from edge devices | Fig. 1, [0086]: multiple edge devices communicate within an AV (autonomous vehicle).); and
update the historic information based on the determination (see Johnson [0033]: edge health data is checked against a threshold defined in a monitor’s configuration; the edge health data is output as a payload based on the checking; [0035]: comparison thresholds include timeouts, number of occurrences crossing a threshold, severity of errors, etc.. Examiner notes that tracking timeouts and/or a number of occurrences are types of historical information associated with the health data and that this information is continuously updated).
Regarding claim 16, Johnson disclosed the apparatus of claim 15, wherein the programmable circuitry is to:
execute a utility function based on the payload and the historic information, a result of the execution including a utility value corresponding to the data packet, the utility value based on at least one of (a) an amount of variability between the payload and the historic information (see Johnson [0033]: edge health data is checked against a threshold defined in a monitor’s configuration; the edge health data is output as a payload based on the checking; [0035]: comparison thresholds include timeouts, number of occurrences crossing a threshold, severity of errors, etc.; [0041]: node diagnostic status is set according to a worst reported severity; [0042]: determining whether the AV (autonomous vehicle) is in or should enter a degraded state based on the reported health data satisfying a particular condition | Examiner notes that an indicated severity is interpreted as being functionally equivalent to a utility value based on an amount of variability between the payload and the historic information; examiner also notes that comparison against a threshold is interpreted as being a type of utility function, such that the determined severity would be a result of a comparison of the health status information against thresholds and the amount of variability with respect to the threshold) or (b) an amount of non-repeating information included in the payload and not included in one or more second data streams received at the second edge device; and
determine whether to drop the data packet or forward the data packet based on the result of the execution (see Johnson [0033]: edge health data is checked against a threshold defined in a monitor’s configuration; the edge health data is output as a payload based on the checking; [0035]: comparison thresholds include timeouts, number of occurrences crossing a threshold, severity of errors, etc. | examiner notes that the claim is written such that a decision about either dropping or forwarding is made and does not require that both options are considered when making the determination).
Regarding claim 17, the claim contains the limitations, substantially as claimed, as described in claim 4 above and is rejected under Johnson according to the rationale provided above.
Regarding claim 18, the claim contains the limitations, substantially as claimed, as described in claim 9 above and is rejected under Johnson according to the rationale provided above.
Regarding claim 19, the claim contains the limitations, substantially as claimed, as described in claim 13 above and is rejected under Johnson according to the rationale provided above.
Regarding claim 20, the claim contains the limitations, substantially as claimed, as described in claim 11 above and is rejected under Johnson according to the rationale provided above.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Angela Widhalm de Rodriguez whose telephone number is (571)272-1035. The examiner can normally be reached M-F: 6am-2:30pm EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Nicholas Taylor can be reached at (571)272-3889. 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.
/ANGELA WIDHALM DE RODRIGUEZ/Examiner, Art Unit 2443