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 .
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.
DETAILED ACTION
This communication is in response to Application No. 18/739,763 filed on 11 June 2024 and arguments presented on 12 February 2026, are hereby acknowledged. Claims 1-20 are pending and subject to examination.
Response to Arguments
Rejection of Independent Claims 1, 13, and 16 under § 103
On pages 7-10 of the response filed 12 February 2026, Applicant’s addresses the 35 U.S.C. § 103 rejection made on the 17 November 2025 Non-Final Rejection. Applicant’s arguments, regarding the rejection under 35 U.S.C. § 103, have been fully considered.
On page 7, Applicant argues that neither Shen nor Nortman discloses “the subscriber being programmed to : read the data from the buffer; and upon reading the data in the buffer, transmit the completion message through the service-oriented architecture, the completion message indicating that the subscriber read the data” as recited in independent claim 1.
Applicant’s arguments based on premises that In describing the actions taken by the subscriber "[d]uring a read operation to the buffer," Nortman makes no mention of the subscriber transmitting anything to any other entity "indicating that the subscriber read the data."
Examiner respectfully disagrees and finds this argument unpersuasive. The courts have explicitly stated that the prior art need not be solving the same problem as the applicant. SeeKSR Int'l Co. v. Teleflex, Inc., 550 U.S. 398 (2007). For example, one may arrive at identical claimed invention by solving a completely different problem. See in re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed.Cir. 1986).
Specifically, the examiner cited prior art Nortman discloses “read the data from the buffer; and upon reading the data in the buffer, transmit the completion message through the service-oriented architecture, the completion message indicating that the subscriber read the data” as recited in Independent claim 1.
Nortman discloses In a publish-subscribe system, publisher (or writer) is producing (writing) data to buffer and a subscriber (or reader) is consuming (reading) this data from buffer (Nortman: [paragraph 0002, 0005, 0040]). Nortman discloses after the read operation is complete from buffer, the subscriber reads the value of the buffer counter and after the read operation is complete from buffer, subscriber may terminate a channel relationship and/or relationship with a buffer ring of a channel by sending the completion message indicating that the subscriber read the data through service channel (e.g. the service-oriented architecture) includes a message terminate relationship to the memory broker, including the channel ID and/or the buffer ring ID of publisher (e.g., STOP_PUBLISH) (Nortman:[paragraph 0046-0049, 0060, 0085-0086]).Thus, Nortman discloses the subscriber transmitting anything to any other entity such as publisher and Nortman discloses “read the data from the buffer; and upon reading the data in the buffer, transmit the completion message through the service-oriented architecture, the completion message indicating that the subscriber read the data” as recited in Independent claim 1.
On page 8, Applicant argues that neither Shen nor Nortman discloses "the publisher being programmed to ... wait until receiving an indication of a completion message from the subscriber before writing new data to the buffer” as recited in Independent claim 1.
Applicant’s arguments based on premises that the buffer ring of the current disclosure is lockless in the sense that a publisher is never blocked by subscribers from writing to a buffer of the buffer ring." If the publisher is "never blocked by subscribers from writing," then it cannot be waiting for an indication that originates "from the subscriber" in order to write new data.
Examiner respectfully disagrees and finds this argument unpersuasive. The courts have explicitly stated that the prior art need not be solving the same problem as the applicant. SeeKSR Int'l Co. v. Teleflex, Inc., 550 U.S. 398 (2007). For example, one may arrive at identical claimed invention by solving a completely different problem. See in re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed.Cir. 1986).
Specifically, the examiner cited prior art Nortman discloses "the publisher being programmed to ... wait until receiving an indication of a completion message from the subscriber before writing new data to the buffer” as recited in Independent claim 1.
Nortman discloses publisher wait until receiving notification that read operation related to message is complete from subscriber before writing new data to message buffer. Nortman discloses Subscribers may use the current write position in the buffer ring 120 determined using the counter of the global header in combination with their own local read position (that each subscriber maintains) to determine when they have read all available messages and should wait for a notification of new message. For example, if the buffer counter (described below) of a subscriber's current read position is the same as the current write position in the buffer ring 120, the subscriber may determine that is has read all the messages in the buffer ring. Nortman discloses When the publisher is ready to notify subscribers of a new write operation, it reads the count of waiting subscriber via an atomic exchange instruction on the subscriber counter, which returns the subscriber counter value to the publisher and resets the subscriber counter to zero. The publisher then writes this value to the eventfd object, resulting in the correct number of subscribers being notified/woken. (Nortman: [paragraph 0046, 0065, 0076-0077]).Thus, Nortman discloses “the publisher being programmed to ... wait until receiving an indication of a completion message from the subscriber before writing new data to the buffer” as recited in Independent claim 1. Therefore, the combination of Shen and Nortman still discloses “the subscriber being programmed to : read the data from the buffer; and upon reading the data in the buffer, transmit the completion message through the service-oriented architecture, the completion message indicating that the subscriber read the data” and "the publisher being programmed to ... wait until receiving an indication of a completion message from the subscriber before writing new data to the buffer” as recited in Independent claim 1. Therefore, Applicant’s arguments are unpersuasive. Therefore, the rejection of claim 1 is hereby maintained.
Applicant argues claims 13 and 16 based on the arguments presented for Claim 1 at page 8 of the remarks. The same explanation is applicable to claims 13 and 16 as mentioned above with respect to claim 1.
5. Rejections of Dependent Claims 2, 9, 14, and 17 under § 103
On page 9, Applicant argues that Shen nor Nortman discloses to "wait until receiving an indication of a [single] completion message from the subscriber," much less to wait for "an indication of both the first completion message and the second completion message." For each of these two reasons independently, claim 2 is allowable over Shen and Nortman.
Examiner respectfully disagrees and finds this argument unpersuasive. The courts have explicitly stated that the prior art need not be solving the same problem as the applicant. SeeKSR Int'l Co. v. Teleflex, Inc., 550 U.S. 398 (2007). For example, one may arrive at identical claimed invention by solving a completely different problem. See in re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed.Cir. 1986).
Specifically, the examiner cited prior art Nortman discloses "the publisher being programmed to ... wait until receiving an indication of a completion message from the subscriber before writing new data to the buffer” as recited in Independent claim 1 as explained above and same explanation is applicable for above arguments.
Specifically, Nortman discloses “the completion message is a first completion message; the service-oriented architecture includes a second subscriber programmed to, upon reading the data in the buffer, transmit a second completion message through the service-oriented architecture indicating that the second subscriber read the data; and the publisher is further programmed to wait until receiving an indication of both the first completion message and the second completion message before writing new data to the buffer” as recited in dependent claim 2.
Nortman discloses after the read operation is complete in the message buffer by a subscriber a (e.g. first subscriber), sending a completion message (e.g. a first completion message) (Nortman: [paragraph 0026-0027, 0046-0049, 0060]).
Nortman further discloses service channel (e.g. the service-oriented architecture) includes another subscriber b (e.g. second subscriber) programmed to after the read operation is complete in the message buffer, sending the another completion message (e.g. second completion message) indicating that another subscriber b (e.g. second subscriber) read the data through service channel (e.g. the service-oriented architecture) (Nortman: [paragraph 0026-0027, 0046-0049, 0060]).
Nortman further discloses publisher is programmed to wait until receiving notification of the completion message (e.g. the first completion message) and another completion message (e.g. second completion message) before writing new data to the message buffer(Nortman: [paragraph 0049-0052]). Thus, Nortman discloses "the publisher being programmed to ... wait until receiving an indication of a completion message from the subscriber before writing new data to the buffer” as recited in Independent claim 1 as explained above and same explanation is applicable for above arguments.
Specifically, Nortman still discloses “the completion message is a first completion message; the service-oriented architecture includes a second subscriber programmed to, upon reading the data in the buffer, transmit a second completion message through the service-oriented architecture indicating that the second subscriber read the data; and the publisher is further programmed to wait until receiving an indication of both the first completion message and the second completion message before writing new data to the buffer” as recited in dependent claim 2. Therefore, Applicant’s arguments are unpersuasive. Therefore, the rejection of claim 2 is hereby maintained.
On page 9, Applicant argues that Neither Shen nor Nortman disclose “in response to detecting that the subscriber shut down, transmit an unmapped message to the publisher, the unmapped message indicating that the subscriber is no longer reading the buffer" as recited in dependent claim 9.
Applicant’s arguments based on premises that Nortman does not disclose "the subscriber shut down," as claimed. Moreover, the actions do not include informing a publisher "that the subscriber is no longer reading the buffer."
Examiner respectfully disagrees and finds this argument unpersuasive. The courts have explicitly stated that the prior art need not be solving the same problem as the applicant. SeeKSR Int'l Co. v. Teleflex, Inc., 550 U.S. 398 (2007). For example, one may arrive at identical claimed invention by solving a completely different problem. See in re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed.Cir. 1986).
Nortman discloses after the read operation is complete from buffer, the subscriber reads the value of the buffer counter and after the read operation is complete from buffer, subscriber may terminate (e.g. shutdown) a channel relationship and/or relationship with a buffer ring of a channel by sending the completion message indicating that the subscriber read the data through service channel (e.g. the service-oriented architecture) includes a message terminate relationship to the memory broker, including the channel ID and/or the buffer ring ID of publisher (e.g., STOP_PUBLISH) (Nortman:[paragraph 0046-0049, 0060, 0085-0086]). Nortman further discloses sending an unmapped message indicating that the subscriber is no longer reading the buffer to the publisher in response to detecting that the subscriber shut down and a subscriber may stop reading messages from a buffer ring once it becomes aware that a publisher has stopped publishing messages even if there are unread messages in the buffer ring (Nortman: [paragraph 0085-0086, 0101, 0108-0109]). Thus, Nortman still discloses “in response to detecting that the subscriber shut down, transmit an unmapped message to the publisher, the unmapped message indicating that the subscriber is no longer reading the buffer” as recited in dependent claim 9. Therefore, Applicant’s arguments are unpersuasive. Therefore, the rejection of claim 9 is hereby maintained.
Dependent claims 2-12, 14-15 and 17-20
Applicant’s argues these claims conditionally based upon arguments presented for their parent claim(s). Applicant’s arguments are unpersuasive and therefore, the rejections of these claims 2-12, 14-15 and 17-20 are hereby maintained.
Claim Rejections - 35 USC § 103
6. 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.
7. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
8. Claims 1-3, 5-11 and 13-20 are rejected under 35 U.S.C. 103 as being unpatentable over Shen et al. (US 2020/0310995 A1); in view of Nortman et al. (US 2022/0155992 A1).
Regarding Claim 1, Shen teaches a vehicle system comprising a plurality of electronic control units, the electronic control units including respective processors and memories, the electronic control units programmed to execute a service-oriented architecture including ([paragraph 0008-0009, 0041] describes a computer system implemented in a vehicle (e.g. a vehicle system) comprising a plurality of modules (e.g. electronic control units) each module configured to perform a function related to controlling a vehicle, each of the modules comprising an associated node configured as a publisher node to write a message for a topic related to its representative module or as a subscriber node to read a message for another topic written by another node, each node comprises at least one processor coupled to a memory component and the plurality of modules (e.g. electronic control units) that provides driver-assist features, and/or a vehicle used for location-based services (e.g. service--oriented architecture)):
a publisher; and a subscriber ([paragraph 0037] describes the computer system implemented in a vehicle (e.g. the vehicle system) including a publisher and a subscriber);
the publisher being programmed to: share a buffer in memory, resulting in a share message being transmitted through the service-oriented architecture, the share message indicating that the buffer is shared ([paragraph 0012, 0016, 0041-0042] describes the publisher being programmed to share a message buffer in memory and share message being sent between modules configured to perform a function related to controlling a vehicle in a computer system on the vehicle that provides driver-assist features, and/or a vehicle used for location-based services (e.g. service--oriented architecture) and the share message indicating that the message buffer is shared);
write data to the buffer; upon writing the data to the buffer, transmit a publish message through the service-oriented architecture, the publish message indicating that the data is stored in the buffer, the publish message lacking the data ([paragraph 0008-0012, 0053] describes the publisher being programmed to write data to the message buffer and sending a publish message via services (e.g. service--oriented architecture) and topic registry is configured to store information of the location of every message stored on any of the plurality of message buffers and the publish message indicating data is stored in message buffer and the publish message missing (e.g. lacking) the data),
Shen fails to teach and wait until receiving an indication of a completion message from the subscriber before writing new data to the buffer; and the subscriber being programmed to: read the data from the buffer; and upon reading the data in the buffer, transmit the completion message through the service-oriented architecture, the completion message indicating that the subscriber read the data.
However, Nortman teaches wait until receiving an indication of a completion message from the subscriber before writing new data to the buffer ([paragraph 0046, 0065, 0076-0077] describes publisher wait until receiving notification that read operation related to message is complete from subscriber before writing new data to message buffer. Nortman discloses Subscribers may use the current write position in the buffer ring 120 determined using the counter of the global header in combination with their own local read position (that each subscriber maintains) to determine when they have read all available messages and should wait for a notification of new message. For example, if the buffer counter (described below) of a subscriber's current read position is the same as the current write position in the buffer ring 120, the subscriber may determine that is has read all the messages in the buffer ring. Nortman discloses When the publisher is ready to notify subscribers of a new write operation, it reads the count of waiting subscriber via an atomic exchange instruction on the subscriber counter, which returns the subscriber counter value to the publisher and resets the subscriber counter to zero. The publisher then writes this value to the eventfd object, resulting in the correct number of subscribers being notified/woken);
and the subscriber being programmed to: read the data from the buffer (([paragraph 0027] describes the subscriber being programmed to [paragraph 0030, 0040] describes subscriber reading the data from the message buffer);
and upon reading the data in the buffer, transmit the completion message through the service-oriented architecture, the completion message indicating that the subscriber read the data ([paragraph 0002, 0005, 0040] describes In a publish-subscribe system, publisher (or writer) is producing (writing) data to buffer and a subscriber (or reader) is consuming (reading) this data from buffer [paragraph 0046-0049, 0060, 0085-0086] describes after the read operation is complete from buffer, the subscriber reads the value of the buffer counter and after the read operation is complete from buffer, subscriber may terminate a channel relationship and/or relationship with a buffer ring of a channel by sending the completion message indicating that the subscriber read the data through service channel (e.g. the service-oriented architecture) includes a message terminate relationship to the memory broker, including the channel ID and/or the buffer ring ID of publisher (e.g., STOP_PUBLISH)).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen to include wait until receiving an indication of a completion message from the subscriber before writing new data to the buffer and the subscriber being programmed to read the data from the buffer and upon reading the data in the buffer, transmit the completion message indicating that the subscriber read the data through the service-oriented architecture as taught by Nortman. One ordinary skill in the art would be motivated to utilize the teachings of Shen in the Nortman system in order to share information between a publisher and a subscriber ([paragraph 0005] in Nortman).
Regarding claim 2, the combination of Shen and Nortman teaches the vehicle system, wherein the subscriber is a first subscriber (Nortman: [paragraph 0027] describes subscribers a-n (e.g. first subscriber, second subscriber etc.);
the completion message is a first completion message (Nortman: [paragraph 0026-0027, 0046-0049, 0060] describes after the read operation is complete in the message buffer by a subscriber a (e.g. first subscriber), sending a completion message (e.g. a first completion message));
the service-oriented architecture includes a second subscriber programmed to, upon reading the data in the buffer, transmit a second completion message through the service-oriented architecture indicating that the second subscriber read the data (Nortman: [paragraph 0026-0027, 0046-0049, 0060] describes service channel (e.g. the service-oriented architecture) includes another subscriber b (e.g. second subscriber) programmed to after the read operation is complete in the message buffer, sending the another completion message (e.g. second completion message) indicating that another subscriber b (e.g. second subscriber) read the data through service channel (e.g. the service-oriented architecture));
and the publisher is further programmed to wait until receiving an indication of both the first completion message and the second completion message before writing new data to the buffer (Nortman: [paragraph 0049-0052] describes publisher is programmed to wait until receiving notification of the completion message (e.g. the first completion message) and another completion message (e.g. second completion message) before writing new data to the message buffer).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen to include
the subscriber is a first subscriber, the completion message is a first completion message, the service-oriented architecture includes a second subscriber programmed to, upon reading the data in the buffer, transmit a second completion message through the service-oriented architecture indicating that the second subscriber read the data and the publisher is further programmed to wait until receiving an indication of both the first completion message and the second completion message before writing new data to the buffer as taught by Nortman. One ordinary skill in the art would be motivated to utilize the teachings of Shen in the Nortman system in order to share information between a publisher and a subscriber ([paragraph 0005] in Nortman).
Regarding claim 3, the combination of Shen and Nortman teaches the vehicle system, wherein the share message includes a buffer identifier for the buffer, and the subscriber is programmed to map the buffer in a subscriber address space of the subscriber based on the buffer identifier (Nortman: [paragraph 0031-0032, 0035-0036] describes sharing message includes a buffer ring ID for the message buffer and the subscriber is programmed to map into the processes of a subscriber address space of the subscriber based on the buffer ring ID).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen to include wherein the share message includes a buffer identifier for the buffer, and the subscriber is programmed to map the buffer in a subscriber address space of the subscriber based on the buffer identifier as taught by Nortman. One ordinary skill in the art would be motivated to utilize the teachings of Shen in the Nortman system in order to establish a mapping between a range of the addresses in the address space of the process and a portion of some memory object ([paragraph 0031] in Nortman).
Regarding claim 5, the combination of Shen and Nortman teaches the vehicle system, wherein the subscriber is programmed to unmap the buffer from the subscriber address space in response to receiving an unshare message indicating a transition by the publisher to no longer writing to the buffer (Nortman: [paragraph 0031-0032, 0086, 0108-0109] describes the subscriber is programmed to unmap the message buffer from its memory from the subscriber address space in response to receiving not sharing message indicating that by the publisher is no longer publishing data to the buffer ring and not writing any data to the message buffer).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen to include wherein the subscriber is programmed to unmap the buffer from the subscriber address space in response to receiving an unshare message indicating a transition by the publisher to no longer writing to the buffer as taught by Nortman. One ordinary skill in the art would be motivated to utilize the teachings of Shen in the Nortman system in order to provide subscriber may continue reading messages from the buffer ring until it has read the last published message ([paragraph 0086] in Nortman).
Regarding claim 6, the combination of Shen and Nortman teaches the vehicle system, wherein the publisher is programmed to, upon ceasing publishing to the buffer, transmit an unshare message through the service-oriented architecture, the unshare message indicating that the publisher is no longer writing to the buffer (Nortman: [paragraph 0031-0032, 0085-0086] describes publisher may stop (e.g. ceasing) publishing to a buffer ring and notify subscribers of the buffer ring that the publisher is no longer publishing data to the buffer ring through service channel).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen to include upon ceasing publishing to the buffer, transmit an unshare message through the service-oriented architecture, the unshare message indicating that the publisher is no longer writing to the buffer as taught by Nortman. One ordinary skill in the art would be motivated to utilize the teachings of Shen in the Nortman system in order to provide subscriber may continue reading messages from the buffer ring until it has read the last published message ([paragraph 0086] in Nortman).
Regarding claim 7, the combination of Shen and Nortman teaches the vehicle system, wherein the service-oriented architecture further includes a device driver, the device driver programmed to track entities in the service-oriented architecture that are sharing the buffer (Nortman:[paragraph 0026-0028, 0035, 0128-0129] describes service channel (e.g. service oriented architecture) includes a computer program (e.g. a device driver) which is programmed to track nodes (e.g. entities) that sharing the message buffer).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen to include wherein the service-oriented architecture further includes a device driver, the device driver programmed to track entities in the service-oriented architecture that are sharing the buffer as taught by Nortman. One ordinary skill in the art would be motivated to utilize the teachings of Shen in the Nortman system in order share information between a publisher and a subscriber ([paragraph 0005] in Nortman).
Regarding claim 8, the combination of Shen and Nortman teaches the vehicle system, wherein the device driver is programmed to track the entities that are sharing any of a plurality of buffers including the buffer (Nortman:[paragraph 0008-0009, 0026-0028, 0035] describes the computer program (e.g. a device driver) which is programmed to track nodes (e.g. entities) that sharing the message buffer).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen to include wherein the device driver is programmed to track the entities that are sharing any of a plurality of buffers including the buffer as taught by Nortman. One ordinary skill in the art would be motivated to utilize the teachings of Shen in the Nortman system in order share information between a publisher and a subscriber ([paragraph 0005] in Nortman).
Regarding claim 9, the combination of Shen and Nortman teaches the vehicle system, wherein the device driver is programmed to, in response to detecting that the subscriber shut down, transmit an unmapped message to the publisher, the unmapped message indicating that the subscriber is no longer reading the buffer(Nortman: [paragraph 0085, 0101, 0108-0109] describes sending an unmapped message indicating that the subscriber is no longer reading the buffer to the publisher in response to detecting that the subscriber shut down and a subscriber may stop reading messages from a buffer ring once it becomes aware that a publisher has stopped publishing messages even if there are unread messages in the buffer ring).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen to include wherein the device driver is programmed to, in response to detecting that the subscriber shut down, transmit an unmapped message to the publisher, the unmapped message indicating that the subscriber is no longer reading the buffer as taught by Nortman. One ordinary skill in the art would be motivated to utilize the teachings of Shen in the Nortman system in order provide access to metadata and information about the state of all shared buffer rings ([paragraph 0101] in Nortman).
Regarding claim 10, the combination of Shen and Nortman teaches the vehicle system, wherein the device driver is programmed to, in response to detecting that the publisher shut down, transmit an unshare message to the subscriber, the unshare message indicating a transition by the publisher to no longer writing to the buffer (Nortman: [paragraph 0031-0032, 0085-0086] describes the computer program (e.g. a device driver) which is programmed to publisher may stop publishing to subscriber and notify subscribers that the publisher is no longer publishing data through the buffer ring).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen to include wherein the device driver is programmed to, in response to detecting that the publisher shut down, transmit an unshare message to the subscriber, the unshare message indicating a transition by the publisher to no longer writing to the buffer as taught by Nortman. One ordinary skill in the art would be motivated to utilize the teachings of Shen in the Nortman system in order to provide subscriber may continue reading messages from the buffer ring until it has read the last published message ([paragraph 0086] in Nortman).
Regarding claim 11, the combination of Shen and Nortman teaches the vehicle system, wherein the publisher is programmed to, before writing data to the buffer for the first time, register with the device driver as a publisher, and the subscriber is programmed to, before reading data from the buffer for the first time, register with the device driver as a subscriber (Nortman: [paragraph 0027, 0044, 0044, 0109-0112] describes the publisher is programmed to listing (e.g. register) with the computer program (e.g. the device driver) as publisher before writing data to the message buffer for a first write operation to the message buffer and the subscriber is programmed to listing (e.g. register) with the computer program (e.g. the device driver) as subscriber before reading data to the message buffer for a first read operation to the message buffer).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen to include wherein the publisher is programmed to, before writing data to the buffer for the first time, register with the device driver as a publisher, and the subscriber is programmed to, before reading data from the buffer for the first time, register with the device driver as a subscriber as taught by Nortman. One ordinary skill in the art would be motivated to utilize the teachings of Shen in the Nortman system in order to update the buffer information/metadata in the corresponding record to include information about the peer (e.g., list of publishers/subscribers) ([paragraph 0112] in Nortman).
Regarding claim 13, Shen teaches a computer comprising a processor and a memory, the memory storing instructions executable by the processor to ([paragraph 0008-0009] describes a computer system on a vehicle comprising a processor and a memory, the memory storing instructions executable by the processor to):
share a buffer in memory, resulting in a share message being transmitted through a service-oriented architecture, the service-oriented architecture including a publisher and a subscriber, the share message indicating that the buffer is shared between the publisher and the subscriber ([paragraph 0037] describes the computer system implemented in a vehicle including a publisher and a subscriber [paragraph 0012, 0016, 0041-0042] describes the publisher being programmed to share a message buffer in memory and share message being sent between modules configured to perform a function related to controlling a vehicle in a computer system on the vehicle that provides driver-assist features, and/or a vehicle used for location-based services (e.g. service--oriented architecture) and the share message indicating that the message buffer is shared between the publisher and the subscriber);
by the publisher, write data to the buffer; in response to the publisher writing data to the buffer, transmit a publish message through the service-oriented architecture, the publish message indicating that the data is stored in the buffer, the publish message lacking the data([paragraph 0008-0012, 0053] describes the publisher being programmed to write data to the message buffer and sending a publish message via services (e.g. service--oriented architecture) and topic registry is configured to store information of the location of every message stored on any of the plurality of message buffers and the publish message indicating data is stored in message buffer and the publish message missing (e.g. lacking) the data) ;
Shen fails to teach receive an indication of a completion message via the service-oriented architecture, the completion message indicating that the subscriber read the data; and by the publisher, wait until receiving the indication of the completion message from the subscriber before writing new data to the buffer.
However, Nortman teaches receive an indication of a completion message via the service-oriented architecture, the completion message indicating that the subscriber read the data; and by the publisher, wait until receiving the indication of the completion message from the subscriber before writing new data to the buffer ([paragraph 0044-0046, 0076-0077] describes publisher wait until receiving notification that read operation related to message is complete from subscriber before writing new data to message buffer [paragraph 0026, 0046-0049, 0060] describes after the read operation is complete in the message buffer by subscriber, sending the completion message indicating that the subscriber read the data through service channel (e.g. the service-oriented architecture) ([paragraph 0046, 0065, 0076-0077] describes publisher wait until receiving notification that read operation related to message is complete from subscriber before writing new data to message buffer. Nortman discloses Subscribers may use the current write position in the buffer ring 120 determined using the counter of the global header in combination with their own local read position (that each subscriber maintains) to determine when they have read all available messages and should wait for a notification of new message. For example, if the buffer counter (described below) of a subscriber's current read position is the same as the current write position in the buffer ring 120, the subscriber may determine that is has read all the messages in the buffer ring. Nortman discloses When the publisher is ready to notify subscribers of a new write operation, it reads the count of waiting subscriber via an atomic exchange instruction on the subscriber counter, which returns the subscriber counter value to the publisher and resets the subscriber counter to zero. The publisher then writes this value to the eventfd object, resulting in the correct number of subscribers being notified/woken
[paragraph 0002, 0005, 0040] describes In a publish-subscribe system, publisher (or writer) is producing (writing) data to buffer and a subscriber (or reader) is consuming (reading) this data from buffer [paragraph 0046-0049, 0060, 0085-0086] describes after the read operation is complete from buffer, the subscriber reads the value of the buffer counter and after the read operation is complete from buffer, subscriber may terminate a channel relationship and/or relationship with a buffer ring of a channel by sending the completion message indicating that the subscriber read the data through service channel (e.g. the service-oriented architecture) includes a message terminate relationship to the memory broker, including the channel ID and/or the buffer ring ID of publisher (e.g., STOP_PUBLISH)).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen to include receive an indication of a completion message via the service-oriented architecture, the completion message indicating that the subscriber read the data; and by the publisher, wait until receiving the indication of the completion message from the subscriber before writing new data to the buffer as taught by Nortman. One ordinary skill in the art would be motivated to utilize the teachings of Shen in the Nortman system in order to share information between a publisher and a subscriber ([paragraph 0005] in Nortman).
Regarding claim 14, this claim contains limitations found within that of claim 2 and the same rationale to rejection is used.
Regarding claim 15, this claim contains limitations found within that of claim 6 and the same rationale to rejection is used.
Regarding claim 16, Shen teaches a method comprising: sharing a buffer in memory, resulting in a share message being transmitted through a service-oriented architecture, the service-oriented architecture including a publisher and a subscriber, the share message indicating that the buffer is shared between the publisher and the subscriber ([paragraph 0037] describes the computer system implemented in a vehicle including a publisher and a subscriber [paragraph 0012, 0016, 0041-0042] describes the publisher being programmed to share a message buffer in memory and share message being sent between modules configured to perform a function related to controlling a vehicle in a computer system on the vehicle that provides driver-assist features, and/or a vehicle used for location-based services (e.g. service--oriented architecture) and the share message indicating that the message buffer is shared between the publisher and the subscriber);
by the publisher, writing data to the buffer; in response to the publisher writing data to the buffer, transmitting a publish message through the service-oriented architecture, the publish message indicating that the data is stored in the buffer, the publish message lacking the data([paragraph 0008-0012, 0053] describes the publisher being programmed to write data to the message buffer and sending a publish message via services (e.g. service--oriented architecture) and topic registry is configured to store information of the location of every message stored on any of the plurality of message buffers and the publish message indicating data is stored in message buffer and the publish message missing (e.g. lacking) the data);
Shen fails to teach upon reading the data in the buffer, transmitting a completion message through the service-oriented architecture, the completion message indicating that the subscriber read the data; and by the publisher, waiting until receiving an indication of the completion message from the subscriber before writing new data to the buffer.
However, Nortman teaches upon reading the data in the buffer, transmitting a completion message through the service-oriented architecture, the completion message indicating that the subscriber read the data(paragraph 0002, 0005, 0040] describes In a publish-subscribe system, publisher (or writer) is producing (writing) data to buffer and a subscriber (or reader) is consuming (reading) this data from buffer [paragraph 0046-0049, 0060, 0085-0086] describes after the read operation is complete from buffer, the subscriber reads the value of the buffer counter and after the read operation is complete from buffer, subscriber may terminate a channel relationship and/or relationship with a buffer ring of a channel by sending the completion message indicating that the subscriber read the data through service channel (e.g. the service-oriented architecture) includes a message terminate relationship to the memory broker, including the channel ID and/or the buffer ring ID of publisher (e.g., STOP_PUBLISH));
and by the publisher, waiting until receiving an indication of the completion message from the subscriber before writing new data to the buffer ([paragraph 0046, 0065, 0076-0077] describes publisher wait until receiving notification that read operation related to message is complete from subscriber before writing new data to message buffer. Nortman discloses Subscribers may use the current write position in the buffer ring 120 determined using the counter of the global header in combination with their own local read position (that each subscriber maintains) to determine when they have read all available messages and should wait for a notification of new message. For example, if the buffer counter (described below) of a subscriber's current read position is the same as the current write position in the buffer ring 120, the subscriber may determine that is has read all the messages in the buffer ring. Nortman discloses When the publisher is ready to notify subscribers of a new write operation, it reads the count of waiting subscriber via an atomic exchange instruction on the subscriber counter, which returns the subscriber counter value to the publisher and resets the subscriber counter to zero. The publisher then writes this value to the eventfd object, resulting in the correct number of subscribers being notified/woken).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen to include upon reading the data in the buffer, transmitting a completion message through the service-oriented architecture, the completion message indicating that the subscriber read the data; and by the publisher, waiting until receiving an indication of the completion message from the subscriber before writing new data to the buffer taught by Nortman. One ordinary skill in the art would be motivated to utilize the teachings of Shen in the Nortman system in order to share information between a publisher and a subscriber ([paragraph 0005] in Nortman).
Regarding claims 17-18, these claims contain limitations found within that of claims 2-3 and the same rationale to rejections are used.
Regarding claims 19-20, these claims contain limitations found within that of claims 7-8 and the same rationale to rejections are used.
9. Claim 4 is rejected under 35 U.S.C. 103 as being unpatentable over Shen et al. (US 2020/0310995 A1); in view of Nortman et al. (US 2022/0155992 A1); and further in view of Gale et al. (US 2010/0306365 A1).
Regarding claim 4, the combination of Shen and Nortman teaches the vehicle system, wherein the subscriber is programmed to transmit a system call to a device driver of the buffer, the system call including the buffer identifier, and map the buffer in the subscriber address space based on data received responsive to the system call (Nortman: [paragraph 0027, 0031-0032, 0035-0036, 0083-0084] describes the subscriber is programmed to transmit a system call to a system computer program (e.g. device driver) of the message buffer and the system including the buffer ring ID and map the message buffer in the subscriber address space based on data received responsive to the system call).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen to include wherein the subscriber is programmed to transmit a system call to a device driver of the buffer, the system call including the buffer identifier, and map the buffer in the subscriber address space based on data received responsive to the system call as taught by Nortman. One ordinary skill in the art would be motivated to utilize the teachings of Shen in the Nortman system in order to establish a mapping between a range of the addresses in the address space of the process and a portion of some memory object ([paragraph 0031] in Nortman).
Shen and Nortman fails to teach wherein system call is an input-output control (IOCTL) call.
However, Gale teaches wherein system call is an input-output control (IOCTL) call ([paragraph 0050, 0054] describes a publisher and a subscriber and system call is "ioctl" (Input/Output Control) call).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen/ Nortman to include wherein system call is an input-output control (IOCTL) call as taught by Gale. One ordinary skill in the art would be motivated to utilize the teachings of Shen/ Nortman in the Gale system in order to allow applications to communicate with hardware device ([paragraph 0054] in Gale).
10. Claim 12 is rejected under 35 U.S.C. 103 as being unpatentable over Shen et al. (US 2020/0310995 A1); in view of Nortman et al. (US 2022/0155992 A1); and further in view of Ma et al. (US 2024/0045657 A1).
Regarding claim 12, Shen and Nortman fails to teach the vehicle system, wherein one of the electronic control units is programmed to actuate a component of a vehicle based on the subscriber reading the data from the buffer.
However, Ma teaches the vehicle system, wherein one of the electronic control units is programmed to actuate a component of a vehicle based on the subscriber reading the data from the buffer ([paragraph 0008] describes a system architecture for implementing DDS communication based on AUTOSAR, which may be used in an in-vehicle management technology (e.g. vehicle system) [paragraph 0038, 0090-0092, 0100] describes a system architecture for implementing DDS communication based on AUTOSAR, which may be used in an in-vehicle management technology (e.g. vehicle system) includes electronic control unit is programmed to trigger (e.g. actuate) a component deployed on vehicle based on subscriber reading the data from buffer).
Therefore, it would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to modify the teachings of Shen/ Nortman to include wherein one of the electronic control units is programmed to actuate a component of a vehicle based on the subscriber reading the data from the buffer as taught by Ma. One ordinary skill in the art would be motivated to utilize the teachings of Shen/ Nortman in the Ma system in order to provide pairing between one or more message publishers and one or more message subscriber ([paragraph 0008] in Ma).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
- Chen et al., US 2020/0169616 A1, A system and method for synchronizing publication and subscription of message queues are provided.
- Oved et al., US 7802071 B2, Device, system, and method of publishing information to multiple subscribers.
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MEHULKUMAR J SHAH whose telephone number is (571)272-1072. The examiner can normally be reached Mon-Fri, 6:05 am-3:55 pm.
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, TONIA DOLLINGER can be reached at 571-272-4170. 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.
/M.J.S/Examiner, Art Unit 2459 /TONIA L DOLLINGER/Supervisory Patent Examiner, Art Unit 2459