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 .
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claim(s) 1-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Pal et al. (US Application 2018/0007180, hereinafter Pal) in view of Trere (US Application 2024/0314227, hereinafter Trere).
Regarding claims 1, 15,20, Pal discloses a method, a non-transitory computer readable medium, a system (Figs. 1-11) comprising:
one or more processors(1002); and memory(1004,1006), containing program instructions that, upon execution by the one or more processors, cause the system to perform operations comprising:
based on a message class relating to an event, writing a representation of the event to a message queue associated with the message class(Abstract, [0036],[0094]-[0097],[0102]-[0104], which recites a message related to an event to a message queue);
reading, by a message scheduler and in accordance with a schedule, the representation of the event from the message queue(Abstract, [0036],[0094]-[0097],[0102]-[0104], which recites Distributed search result collection manager object 210 may specify the values of various operating parameters of the objects being created. In an illustrative example, for distributed search result collector objects 235A-235Z or 240A-240Z, distributed search result collection manager object 210 may specify identifiers (e.g., Universal Resource Identifiers (URI)) of one or more search peers 120A-120Z. In another illustrative example, distributed search result collection manager object 210 may specify maximum sizes of message queue 250 and result queue 230. In yet another illustrative example, distributed search result collection manager object 210 may specify the maximum number of threads in thread pool 260. In yet another illustrative example, distributed search result collection manager object 210 may initialize collator object with pointers to worker thread pool 260, message queues 250A-250Z, and result queue 230. Search daemon 109 may transmit, via one or more TCP connections, a search request to one or more search peers 120A-120Z).
Pal does not explicitly disclose constructing a message payload, wherein the message payload includes at least part of the representation of the event and is in a unified format that supports a plurality of message structures;
based on the message payload, selecting a communication endpoint for the message payload; and
transmitting the message payload to the communication endpoint.
However, Trere teaches constructing a message payload, wherein the message payload includes at least part of the representation of the event and is in a unified format that supports a plurality of message structures(Abstract, [0103]-[0106], which recites receiving a message, the received message including a header and a payload; preparing a publish message at least partially based on the received message, the publish message including one or more headers and a payload, the one or more headers of the publish message including a topic, the topic comprising at least a portion of a destination identifier from the header of the received message, the payload of the publish message including the received message; and sending the publish message including the received message to a server, for communicating the received message to a computing device identified by the at least portion of the destination identifier. In one or more examples, the method is performed at a front-end server of a cloud computing service, the cloud computing service including the server adapted with a publish-subscribe messaging protocol.);
based on the message payload, selecting a communication endpoint for the message payload(Abstract, [0103]-[0106], which recites receiving a message, the received message including a header and a payload; preparing a publish message at least partially based on the received message, the publish message including one or more headers and a payload, the one or more headers of the publish message including a topic, the topic comprising at least a portion of a destination identifier from the header of the received message, the payload of the publish message including the received message; and sending the publish message including the received message to a server, for communicating the received message to a computing device identified by the at least portion of the destination identifier. In one or more examples, the method is performed at a front-end server of a cloud computing service, the cloud computing service including the server adapted with a publish-subscribe messaging protocol.);
and
transmitting the message payload to the communication endpoint(Abstract, [0103]-[0106], which recites receiving a message, the received message including a header and a payload; preparing a publish message at least partially based on the received message, the publish message including one or more headers and a payload, the one or more headers of the publish message including a topic, the topic comprising at least a portion of a destination identifier from the header of the received message, the payload of the publish message including the received message; and sending the publish message including the received message to a server, for communicating the received message to a computing device identified by the at least portion of the destination identifier. In one or more examples, the method is performed at a front-end server of a cloud computing service, the cloud computing service including the server adapted with a publish-subscribe messaging protocol.).
Regarding claim 2, the combination of Pal and Trere discloses the method of claim 1, further comprising: determining, by an event classifier and from a plurality of message classes, the message class relating to the event(Abstract, [0103]-[0106]).
Regarding claim 3, the combination of Pal and Trere discloses the method of claim 2, wherein the message queue is selected from a plurality of message queues, and wherein each of the message queues is dedicated to storing messages from one or more of the message classes(Abstract, [0103]-[0106]).
Regarding claim 4, the combination of Pal and Trere discloses the method of claim 1, wherein the message scheduler is configured to read a predetermined number of messages from the message queue at a predetermined interval(Abstract, [0103]-[0106]).
Regarding claim 5, the combination of Pal and Trere discloses the method of claim 1, wherein reading the representation of the event from the message queue comprises reading a plurality of representations of events from the message queue, and wherein constructing the message payload comprises placing each of the representations of events in the message payload(Abstract, [0103]-[0106]).
Regarding claims 6, 16, the combination of Pal and Trere discloses the method of claim 1, further comprising: detecting a change to a database associated with a software application; and in response to the change to the database, generating the event, wherein the event contains data relating to the change to the database(Abstract, [0103]-[0106]).
Regarding claim 7, the combination of Pal and Trere discloses the method of claim 1, wherein selecting the communication endpoint for the message payload comprises selected the communication endpoint based applying a Boolean expression or a regular expression to content within the message payload(Abstract, [0103]-[0106]).
Regarding claims 8, 17, the combination of Pal and Trere discloses the method of claim 1, wherein the communication endpoint for the message payload is selected based on a table that maps content of the message payload to topics, and wherein each of the topics is associated with one or more communication endpoints(Abstract, [0103]-[0106]).
Regarding claims 9, 18, the combination of Pal and Trere discloses the method of claim 8, wherein selecting the communication endpoint for the message payload comprises: performing a semantic analysis of content within the message payload to determine a semantic meaning of the content; based on the table, determining a topic associated with the semantic meaning; and selecting, based on the topic, the communication endpoint from the one or more communication endpoints(Abstract, [0103]-[0106]).
Regarding claims 10, 19, the combination of Pal and Trere disclose the method of claim 8, further comprising: determining that the table has been updated with a further association between a further topic and a further communication endpoint; and in response to determining that the table has been updated, transmitting, by way of an outbound interface to a computing platform associated with the further communication endpoint, a representation of the further association(Abstract, [0103]-[0106]).
Regarding claim 11, the combination of Pal and Trere discloses method of claim 10, wherein the further topic is a topic of the message payload or the further communication endpoint is the communication endpoint(Abstract, [0103]-[0106]).
Regarding claim 12, the combination of Pal and Trere discloses the method of claim 8, further comprising: receiving, by way of an inbound interface and from a computing platform, a representation of a further association between a further topic and a further communication endpoint; and in response to representation of the further association, updating the table to include the further association(Abstract, [0103]-[0106]).
Regarding claim 13, the combination of Pal and Trere discloses the method of claim 1, further comprising: based on the message payload, selecting a second communication endpoint for the message payload; and transmitting the message payload to the second communication endpoint(Abstract, [0103]-[0106]).
Regarding claim 14, the combination of Pal and Trere discloses the method of claim 1, wherein a message structure of the plurality of message structures is supported by a computing platform associated with the communication endpoint(Abstract, [0103]-[0106]).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DADY CHERY whose telephone number is (571)270-1207. The examiner can normally be reached M to T, 8 am to 5pm.
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, Moo Jeong can be reached at 571-272-9617. 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.
/DADY CHERY/Primary Examiner, Art Unit 2418