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 .
Terminal Disclaimer
The terminal disclaimer filed on October 22, 2024 disclaiming the terminal portion of any patent granted on this application which would extend beyond the expiration date of 1209087 has been reviewed and is accepted. The terminal disclaimer has been recorded.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claim 12-24 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. It is unclear how a node experiencing failure is able to also complete a message exchange to indicate “which node” is the failure.
Claims 16 and 22 would be allowable if rewritten to overcome the rejection(s) under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), 2nd paragraph, set forth in this Office action and to include all of the limitations of the base claim and any intervening claims.
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) 12-15, 17-21, 22-24 is/are rejected under 35 U.S.C. 103 as being unpatentable over Holm et al., US 8095590 B1 (hereafter referred to as Holm) in view of Uhlig et al., US 20120137164 A1 (hereafter referred to as Uhlig).
Claim 24, Holm teaches a system, comprising a plurality of nodes, each of which has at least one processor and memory storing instructions for execution on the at least one processor (column 2, lines 45-48, “A node may be any network resource or processing device, such as a client, a server, a proxy, a mass storage device, etc.” And column 2, lines 57-60, “The processing devices execute applications and a number of related applications cooperate to form systems.”), the system comprising:
a plurality of nodes for streaming data (p. 11, “During a transaction over a network, the paths that the transaction may take can be viewed as a sub-network for that transaction. A path is a subset of nodes, connections, and/or resources that define how the transaction may move from the source node through zero or more intermediate nodes to the destination node.”);
where each of the plurality of nodes have instructions in memory for coordinating to dynamically establish an aggregation tree for streaming data across said plurality of nodes (column 3, lines 15-16, “The sub-network can be logically viewed as a tree from the source to the destination. The tree may have one or more paths which can successfully reach the destination node. In one embodiment, the tree is initially generated at the source node before the transaction is propagated through the network to the destination node.”), the aggregation tree comprising two or more source nodes in said plurality of nodes, two or more intermediate nodes in said plurality of nodes, a receiver node in said plurality of nodes, and one or more other nodes in the said plurality of nodes (column 3, lines 63-67, “An intermediate node assists in relaying or forwarding a source node's transaction through the network to a destination node. Any particular network transaction may be handled by a multitude of intermediate nodes before it reaches its destination node.” And column 1, lines 57-61, “Aggregation has a variety of benefits, such as multicasting data to a plurality of destination nodes…” See also column 3, lines 12-15 “A path is a subset of nodes, connections, and/or resources that define how the transaction may move from the source node through zero or more intermediate nodes to the destination node.”);
where said dynamic establishment of the aggregation tree comprises:(i) at each of the two or more source nodes, responsive to receiving an input chunk, establishing a session between the respective source node and the intermediate node (column 3, lines 24-28, “In various embodiments of the invention, the tree may be dynamically propagated though the network to processing nodes for a transaction as those propagating nodes initially receive a first packet of data associated with a distribution of data.” And column 5, lines 44-46, “at 213, dynamically select a first path for distributing the data to the first destination node and/or a second path for distributing the data to the second destination node.”), and
(ii) at each of the two or more intermediate nodes, responsive to receiving a session request, establishing a session between the respective intermediate node and the receiver node (column 3, lines 57-63; “Initially, source nodes A and D either generate the transaction request themselves or are instructed to generate the transaction by another node.” “Nodes A and D generate a tree for the transaction, that tree identifies the remaining nodes (nodes B, C, destination 1 and destination 2).”);
where each of the plurality of nodes have instructions in memory for executing an internode protocol within at least one connection in the aggregation tree (column 2, lines 48-51, “Nodes are connected via a network and interface with one another using a variety of protocols or interfaces, some interfaces are associated with hardware and some are associated with software.” And column. 5, lines 22-24 “During negotiating, the source nodes and the processing agree on protocol communications, bandwidth limits, priorities, etc. for the data transfer.”), the internode protocol comprising a message exchange between nodes that determines which node in the connection is responsible for failure recovery of transferred streaming data (See also column 5, lines 25-27; “In one embodiment, at 211, during negotiation the one or more source nodes also provide the processing with a network topology data structure (e.g., tree).” And column 4, lines 5-7; “The tree includes success factors for various paths or nodes of the tree. In one embodiment, the success factor may be viewed as a probability value of 0-1.” The success value indicates the failure point in the path.), so as to provide local failure recovery in the aggregation tree (column 5, lines 4-9; “the method 200 (herein after "processing") is implemented as a data manager application or system that may be installed and executed on any node within the network.” And column 6, lines 41-46, “A failure may occur over the connection associated with reaching a particular destination node, may occur with other intermediate nodes associated with a selected path of reaching the particular destination node, or may occur within the particular destination node itself.”). Holm does not specifically teach at least one session. However, in the same field of endeavor, Uhlig teaches the internode protocol comprising a message exchange between nodes that determines which node in the at least one is responsible for failure recovery of transferred streaming data (p. 32, “Once the data has been successfully delivered to the data sinks (in this example batch number 6), both operators 311 and 312 acknowledge successful delivery to the operator 310 through an acknowledgement message 320. The acknowledgement message 320 tells operator 310 that data up to batch ID 6 has been successfully processed and delivered outside of the stream process.” The protocol for connection is the transmission control protocol (TCP)”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Holm to incorporate acknowledgements indicating location from Uhlig as an improvement for delineating the location of failures.
Claim 12 is a method comprising steps similar to the operations of the system of claim 24 above. Claim 12 is rejected on a similar rationale.
Claim 18 is a non-transitory computer readable medium comprising executable steps similar to the operations of claim 24 above. Claim 18 is rejected on a similar rationale.
Claim 13, Holm-Uhlig teaches the method of claim 12, where said local failure recovery comprises, at any of the two or more intermediate notes (Holm, column 6, lines 41-46; “A failure … may occur with other intermediate nodes associated with a selected path of reaching the particular destination node, …”), combining data from a failed aggregation tree with other data (Holm, column 7, lines 48-52; failure on a path is interpreted as failure on the aggregation tree.).
Claim 19 is a non-transitory computer readable medium comprising executable steps similar to the operations of claim 13 above. Claim 19 is rejected on a similar rationale.
Claim 14, Holm-Uhlig teaches the method of claim 12, where said local failure recovery comprises, at the receiver node, combining data from a failed aggregation tree with other data (Holm, column 6, lines 41-48, “a failure…. reaching the particular destination node. The processing may be configured to re-distribute the data or portions of the data when it is satisfied or is notified that the detected failure is resolved.”).
Claim 20 is a non-transitory computer readable medium comprising executable steps similar to the operations of claim 14 above. Claim 20 is rejected on a similar rationale.
Claim 15, Holm-Uhlig teaches the method of claim 12, wherein at least one of the sessions between each of the two or more source nodes and an intermediate node are carried over a connection (Holm, column 6, lines 41-46, “A failure may occur over the connection… may occur with other intermediate nodes associated with a selected path of reaching the particular destination node … ”).
Claim 21 is a non-transitory computer readable medium comprising executable steps similar to the operations of claim 15 above. Claim 21 is rejected on a similar rationale.
Claim 17, Holm-Uhlig teaches the method of claim 12, wherein at least one of the intermediary nodes performs any of: aggregating (Holm, column 4, lines 30-33 “Intermediate node B can be viewed as an … aggregating node, which can utilize its own custom applications, QoS features, and the like to decide how to optimally distribute the aggregated data from A and D to destinations 1 and 2.”), combining, and summarizing information in input chunks.
Claim 23 is a non-transitory computer readable medium comprising executable steps similar to the operations of claim 17 above. Claim 23 is rejected on a similar rationale.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Petrunya et al., US 20200204482 A1, (p. 32, “This system of inter-stream router failure recovery is very efficient because no querying of messages is required to determine at what location, within the input streams, the router should initiate message routing after restart.”
Zhoa et al., US 10552274 B1, teaches maintaining the state of a stateful operator in a reliable location can help to achieve fault tolerance when fault recovery is needed in the event of failure (e.g., operator, node, or network failure) to restore the distributed computing system to a previous checkpointed state.
Kekre et al., US 9674249 B1, teaches the making of dynamic adjustments (e.g., failover and dynamic partitioning) includes re-initiating the streams in accordance with a recovery policy (e.g., at least once, at most once, exactly once) through commands (e.g., from the STRAM) to the slave (e.g., STRAM Child).
Cradick et al., US 20170060959 A1, teaches placement of services in stream computing applications.
Solonidis et al., US 20160156514 A1, teaches a data stream output by an operator 130 may be routed to the next operator 130 of the application 110 and the route may be determined dynamically, updateable based in the current application state, such that not all data units need take the same route.
Bookman et al., US 7752299 B2 and US 6801938 B1, teaches processing parallel data streams using the Orchestrate parallel processing framework, various operators may be configured to process these parallel data streams, and a multiple input operator is used to combine the two data streams to form a single DataStream.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PATRICE L WINDER whose telephone number is (571)272-3935. The examiner can normally be reached M-F 10am-6pm.
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, KAMAL B DIVECHA can be reached at (571)272-5863. 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.
/Patrice L Winder/Primary Examiner, Art Unit 2453