DETAILED ACTION
Claims 1-20 are presented for examination.
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
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-3, 6-9, 11, 13-17, and 19-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Porter et al. (US PG Pub No. 2020/0379805 A1) in view of Sengodan (US PG Pub No. 2007/0083591 A1).
Regarding claim 1, Porter teaches a system comprising: one or more processors; and one or more memories including instructions that are executable by the one or more processors for causing the one or more processors to perform operations including:
accessing state data, of the event processing application, stored in a local memory of the first node ([0002], wherein Azure Stream analytics is described as an event-processing engine that processes data streams from sources such as IoT devices, sensors, websites, and applications);
generating a snapshot of the state data of the event processing application ([0075], wherein the migration implementer stops the affected source query logic nodes, checkpoints them to create a snapshot of their state);
after generating the snapshot, shutting down the event processing application on the first node ([0076], wherein data stops flowing to and from the stopped logic nodes, and no more data is pulled from source entities);
providing the snapshot to a second node of the distributed computing environment, the second node being configured to start the event processing application using the state data ([0075], wherein the migration implementer creates target nodes with matching configuration and connections, gives the target nodes the state from the checkpoint, and starts them); and
after the event processing application is started on the second node, operating resume the event streaming to the event processing application executing on the second node ([0082], after migration, the target output node pulls data that the source output node had not pulled, giving once-only, lossless processing before and after migration).
Porter does not teach operating an event ingest valve to pause event streaming to an event processing application executing on a first node of a distributed computing environment, the event ingest valve being separate from the event processing application.
Sengodan teaches a separately controlled pause/resume component commanded by a user (abstract). An administrator can pause and resume production of messages at destinations and can also pause and resume consumption of messages by consumers ([0029-32]). A console can let the administrator perform these operations through a Web or GUI interface ([0033]). Pausing a destination for consumption prevents a Message Driven Bean from getting any messages from that destination ([0066]).
It would have been obvious to one of ordinary skill in the art before the effective filing date to teach the use of an event ingest valve to pause event streaming to an event processing application executing on a first node of a distributed computing environment. One would be motivated by the desire to prevent overload in the system as taught by Sengodan ([0029]).
Regarding claim 2, Sengodan teaches wherein the event ingest valve is software that is external to the first node and the second node (Fig 1, wherein the message server is external to the consumer).
Regarding claim 3, Porter teaches wherein the snapshot is generated after operating the event ingest valve to pause the event streaming to the event processing application ([0075], wherein the migration implementer stops the affected source query logic nodes, checkpoints them to create a snapshot of their state).
Regarding claim 6, Sengodan teaches wherein the operations further comprise: prior to operating the event ingest valve to pause the event streaming to the event processing application executing on the first node, receiving a first command from a user via a command line interface; in response to receiving the first command, operating the event ingest valve to pause the event streaming to the event processing application; prior to operating the event ingest valve to resume the event streaming to the event processing application executing on the second node, receiving a second command from the user via the command line interface; and in response to receiving the second command, operating the event ingest valve to resume the event streaming to the event processing application ([0033], [0035], wherein a customer may force migration regardless of performance or criteria, using the cloud service GUI 130 to submit migration information)
Regarding claims 7-9, 11, 13-17, and 19-20, they are the method and medium claims of claims 1-3 and 6 above. Therefore, they are rejected for the same reasons as claim 1-3 and 6 above.
Claim(s) 4 and 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Porter et al. (US PG Pub No. 2020/0379805 A1) in view of Sengodan (US PG Pub No. 2007/0083591 A1), further in view of Dhruvakumar et al. (US Pat No. 11,372,667).
Regarding claim 4, Porter and Sengodan do not teach wherein the event processing application is executing in a virtual machine, and wherein generating the snapshot of the state data involves copying the state data from a virtual memory of the virtual machine to persistent storage of the first node.
Dhruvakumar teaches the pausing and resuming of virtual machine by capturing a snapshot of each block level storage volume (col 2 lines 21-37). It would have been obvious to one of ordinary skill in the art before the effective filing date to generate the snapshot of the state data by copying the state data from a virtual memory of the virtual machine to persistent storage of the first node. One would be motivated by the desire to extend the teachings of Porter and Sengodan to virtual machines.
Regarding claim 10, it is the method claim of claim 4 above. Therefore, it is rejected for the same reasons as claim 4 above.
Claim(s) 5, 12, and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Porter et al. (US PG Pub No. 2020/0379805 A1) in view of Sengodan (US PG Pub No. 2007/0083591 A1), further in view of Keating et al. (US Pat No. 11,436,042).
Regarding claim 5, Porter and Sengodan do not teach wherein the event processing application is a stateful application configured to store the state data to the local memory of the first node.
Keating teaches that a device may snapshot the container and strip the base layers so the snapshot contains the in-memory layer, then sending that snapshot to the destination node The destination then starts a new container from the replica layers, the source tells the client to reconnect to the destination and the new application continues the stream (col 2 lines 31-55).
It would have been obvious to one of ordinary skill in the art before the effective filing date that the event processing application is a stateful application configured to store the state data to the local memory of the first node. One would be motivated by the desire to prevent the loss of processed data for clients during the real-time data processing applications running in memory when shutting down the container as taught by Keating (col 2 lines 1-30).
Regarding claims 12, and 18, they are the method and medium claims of claim 5 above. Therefore, they are rejected for the same reasons as claim 5 above.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ERIC C WAI whose telephone number is (571)270-1012. The examiner can normally be reached Monday - Friday 9-5.
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, Aimee Li can be reached at (571) 272-4169. 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.
/Eric C Wai/Primary Examiner, Art Unit 2195