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 .
This office action is in response to claims filed 03/12/2023. Claims 1-5 are pending.
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 2 is 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.
Regarding Claim 2, line 5 contains the phrase “antecedent”, i.e., in the limitation “updating said SPL comprising: antecedent”. This phrase appears to be out of place, as it is not mentioned elsewhere in the claims nor in Applicant’s specification. In order to further examine on the merits of the claim, the examiner interprets the limitation on line 5 as “updating said SPL comprising:”, omitting the phrase “antecedent”.
Correction is needed.
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 1 is rejected under 35 U.S.C. 103 as being unpatentable over Tavangarian (see attached Non-Patent Literature) in view of Fang (US 20160041847 A1), hereinafter referred to as Tavangarian and Fang, respectively.
Regarding Claim 1, Tavangarian discloses A method of Synaptic Parallel Processing (SPP) for high-throughput analysis of a process by heterogeneous distributed computing over a network (Page 41, Right Column High-Throughput Computing (HTC) In this case we have to run as many tasks (Jobs, processes) as possible in a defined time period.; Page 46, Left Column, Job queueing systems-They offer advanced dynamic and adaptive task scheduling and placement of large parallel and heterogeneous concurrent applications based on the client-server model. The computing resource consists of heterogeneous connected workstations and clusters of workstations. Please note that high-throughput computing where tasks are run, and a system scheduling parallel concurrent applications where the computing resource consists of heterogenous connected workstations, correspond to Applicant’s method of SPP for high-throughput analysis of a process by heterogenous distributed computing over a network. This is because Tavangarian recites high-throughput analysis of a process, and heterogenous connected workstations used for parallel applications form a network. Furthermore, dynamic task scheduling of parallel concurrent applications corresponds to Applicant’s synaptic parallel processing, as will be further described.),
said process partitioned into tasks amenable to embarrassingly parallel processing by the compute nodes of said network with the property that said nodes are each endowed with at least one Synapse run by a daemon (Page 41, Right Column, To execute an application we differ between two kinds of applications on both computing platforms, LAN or WAN […] High-Performance Computing (HPC)- A problem is normally divided into subproblems to be distributed and executed by the different workstations or clusters. Please note that a problem corresponds to Applicant’s process, being divided into subproblems corresponds to Applicant’s partitioned into tasks, and doing so to prepare them to be distributed and executed by clusters corresponds to Applicant’s being amenable to embarrassingly parallel processing by the compute nodes of said network with the property that said nodes are each endowed with at least one Synapse run by a daemon. This is because, as is known in the art, embarrassingly parallel processing means that the tasks are conducive to being processed in a parallel nature, as is present when dividing the task to be executed by a cluster. Furthermore, since the clusters corresponding to Applicant’s nodes are also executing the tasks, this indicates that they are endowed with a means by which to perform this execution, corresponding to Applicant’s synapse run by a daemon. Applicant defines a Synapse in [0018] of the Specification: Each node has one or more active Synapses defined by a daemon, handling remote requests for line items from the SPL over a LAN or WAN. Written in Bash, these Synapses are highly portable. Since Tavangarian discloses executing these applications over LAN or WAN as well, this system corresponds to Applicant’s system.),
said Synapse waiting for completion of said task before initiating said requests anew (Page 41, Left Column- When a new job is submitted, the master workstation has to find and to assign the requested resources, to ensure that the resources being used are load balanced, and carries the responsibility to complete the job successfully. However, if a job fails, the master scheduler will reschedule the job or migrate the processes to run on an another workstation again. Please note that waiting for the job to be completed successfully, and rescheduling it if it fails, corresponds to Applicant’s synapse waiting for completion of said task before initiating said requests anew, as it waits for the job to complete before moving on to schedule the requested job anew.),
Tavangarian does not explicitly disclose said Synapse initiating requests for line items from a Synaptic Process List (SPL) at a shared base point XSB in said network,
said SPL subject to atomic updating by at most one Synapse at any given time,
said Synapse launching a task upon receiving a line item from said SPL according to the instructions specified in said line item,
where said data-analysis continues until said SPL is empty and all nodes return to idle.
However, Fang discloses said Synapse initiating requests for line items from a Synaptic Process List (SPL) at a shared base point XSB in said network ([0035] Processor 104 may execute implication instructions 112 on atomic tasks 216, 218, 220, and 224 in list of atomic tasks 128. Please note that the processor executing implication instructions 112 on atomic tasks from the list of atomic tasks 128 corresponds to Applicant’s Synapse initiating requests for line items from a Synaptic Process List at a shared based point XSB in said network, as the processor initiates the tasks corresponding to requests for line items from the list of atomic tasks 128 corresponding to the SPL, which, as shown in Figure 1, is stored in the memory of a computer, corresponding to Applicant’s shared based point XSB in said network.),
said SPL subject to atomic updating by at most one Synapse at any given time ([0036] Processor 104 may execute binary reasoning instructions 114 on ordered list of atomic tasks 132. Please note that processor 104 executing instructions on the list of atomic tasks 132 corresponds to Applicant’s SPL subject to atomic updating by at most one Synapse at any given time, as only the processor 104 is operating on it.),
said Synapse launching a task upon receiving a line item from said SPL according to the instructions specified in said line item ([0036] Processor 104, executing binary reasoning instructions 114, may select an atomic task […] Based on the response and binary reasoning instructions 114, processor 104 may select a second atomic task from ordered list of atomic tasks 132 to apply to ontology 130. Please note that the Processor 104 selecting a task based on binary reasoning instructions 114 corresponds to Applicant’s Synapse launching a task upon receiving a line item from said SPL according to the instructions specified in said line item, as the instructions 114 instruct the Processor 104 corresponding to Applicant’s Synapse to launch an atomic task from the list 132 corresponding to Applicant’s SPL based on the binary reasoning instructions.),
where said data-analysis continues until said SPL is empty and all nodes return to idle ([0037] Among other potential benefits, a system in accordance with the disclosure may take less time and use less processing resources to process a composite task. Please note that the composite task corresponding to the data-analysis of the SPL being processed and therefore completed corresponds to the SPL being empty and all nodes returning to idle, as it is known in the art that processing a task in a finite amount of time indicates that it has returned to idle, i.e., is no longer processing that task, and in this case, the processing comprises sequentially processing the list of atomic tasks-therefore, it must be empty as there are no further tasks to process in the list.).
Tavangarian and Fang are both considered to be analogous to the claimed invention because they are in the same field of computer task processing. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Tavangarian to incorporate the teachings of Fang to modify the parallel processing system incorporating heterogenous distributed computing where a process is partitioned into tasks completed by nodes, each running a task, to initiate requests from a list at a shared location subject to atomic updating by one node at any given time until the list is empty and the nodes return to idle, allowing for improved resource usage and improved processing time, as described in Fang.
Claim 2 is rejected under 35 U.S.C. 103 as being unpatentable over Tavangarian (see attached Non-Patent Literature) in view of Fang (US 20160041847 A1) as applied to Claim 1 above, and further in view of Cahill et al. (US 6535855 B1) and Van Huben et al. (US 5826265 A), hereinafter referred to as Tavangarian, Fang, Cahill, and Van Huben, respectively.
Regarding Claim 2, Tavangarian-Fang as described in Claim 1, Tavangarian further discloses
said Synapse m on node n (Page 41, Right Column, High-Performance Computing (HPC)- A problem is normally divided into subproblems to be distributed and executed by the different workstations or clusters. Please note that the clusters corresponding to Applicant’s nodes are also executing the tasks, indicating that they are endowed with a means by which to perform this execution, corresponding to Applicant’s synapse, and therefore each Synapse m is on a node n.)
Tavangarian-Fang does not explicitly disclose awaiting the existence of a file F in said XSB, fetching said line item comprising: renaming F to a file name F.n.m unique to said Synapse m on node n; updating said SPL comprising: (a) retrieving the first line item; (b) deleting said line item; (c) renaming said F.n.m back to F; launching the task defined by said newly retrieved line item; executing said new task to completion; initiating a request for a subsequent task if said SPL is not empty.
However, Cahill discloses awaiting the existence of a file F in said XSB (Col. 40, Lines 55-60- In general, the two systems operate independently, queuing output to each other in files within a shared directory. This can be a local disk directory, if the two systems run on the same machine, or a shared network directory. The only assumption is that the operations of renaming and deleting files in the directory are atomic (uninterruptible).; Col. 41, Lines 9-11- Wait until the file UP.TXT exists. Please note that awaiting for the existence of the file UP.TXT in a shared directory between two computer systems corresponds to Applicant’s awaiting the existence of a file F in said XSB, since XSB is a shared network location.), fetching said line item comprising: renaming F to a file name F.n.m unique to (Col. 41, Lines 14-17- Poll continually for the file DOWN.TXT. If it exists, a rendezvous is required as follows: Rename DOWN.TXT to CCxxxxxxxx.TXT, where xxxxxxxx is a unique value. Please note that polling continually for the file DOWN.txt and renaming it to a unique value CCxxxxxxxx.TXT if it exists corresponds to Applicant’s fetching said line item comprising said Synapse renaming F to a file name F.n.m unique to the location, as polling for the file corresponds to Applicant’s fetching said line item.);
updating said SPL comprising: (a) retrieving the first line item (Col. 40, Lines 55-60- In general, the two systems operate independently, queuing output to each other in files within a shared directory.; Col. 41, Lines 4-8- process cycle: Reads responses from the file DCRESP.TXT, as well as other sources of information [...] When the reading of DCRESP.TXT […] complete, initiate a rendezvous. Please note that the cycle reading responses from the file DCRESP.txt, which contains queued output from a shared directory, corresponds to Applicant’s retrieving the first item as part of updating the said SPL.);
(b) deleting said line item (Col. 41, Lines 9-10- initiate a rendezvous as follows: Close and remove DCRESP.TXT. Please note that removing DCRESP.txt corresponds to Applicant’s deleting said line item.);
Van Huben discloses (c) renaming said F.n.m back to F (Col. 70, Lines 27-29- If a match is found, the Job Request is renamed from the unique Job Name to the original name. Please note that the Job Request being renamed from the unique Job Name to the original name corresponds to Applicant’s renaming said F.n.m back to F, as it is known in the art that requests are sent in a transmissible format, i.e., file, with attributes such as its name. Therefore, changing the unique name to the original name corresponds to renaming said unique file name F.n.m back to F.);
launching the task defined by said newly retrieved line item (Col. 70, Lines 18-29- each of the Queued Jobs in the Dispatcher's Job Queue is examined to see if they can be dispatched. the Job Request is renamed from the unique Job Name to the original name and transmitted to the Actor. Please note that transmitting the Job Request from the Dispatcher’s Job Queue to the Actor corresponds to Applicant’s launching the task defined by said newly retrieved line item, as it initiates the processing of the task of the Job Request, corresponding to the line item, retrieved from the top of the queue.);
executing said new task to completion (Col. 70, Lines 32-33-, Step 29258 performs the complementary operation by adding the job request to the Dispatched Jobs List. Please note that performing the complementary operation by adding the job request to the Dispatched Jobs List corresponds to Applicant’s executing said new task to completion, as it performs, i.e., executes, the task newly retrieved from the Job Queue to completion.);
initiating a request for a subsequent task if said SPL is not empty (Col. 70, Lines 29-44- At this point Step 29256 Updates the Dispatcher Job Queue by removing the job dispatched in the previous request. […] Control returns to the top of the Actor Loop in Step 22344 and Steps 29248 thru 29258 are repeated for all Actors serviced by the Dispatcher. […] This series of loops continues until […] all Actors have been matched with compatible work in the Job Queue. Please note that control returning to the top of the Actor Loop and continuing until all Actors have been matched corresponds to Applicant’s initiating a request for a subsequent task if said SPL is not empty, as it repeats the cycle of requesting task execution in a loop until all the subsequent queued jobs are matched, and since the Loop removes previous jobs, the list would be empty.).
Tavangarian-Fang, Cahill, and Van Huben are considered to be analogous to the claimed invention because they are in the same field of computer task processing. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Tavangarian-Fang to incorporate the teachings of Cahill and Van Huben to modify the parallel processing system as described in Claim 1 to await an existence of a file F in the shared location, have the Synapse fetch the line item by renaming F to a name F.n.m unique to said Synapse m on node n, and update the said SPL by retrieving the first line item, deleting it, and renaming F.n.m back to F, launching and completing the new line item’s task, and initiating a request for a subsequent task if the SPL is not empty, allowing for improved task processing in a continuous manner, as described in Cahill and Van Huben, respectively.
Claim 3 is rejected under 35 U.S.C. 103 as being unpatentable over Tavangarian (see attached Non-Patent Literature) in view of Fang (US 20160041847 A1) as applied to Claim 1 above, and further in view of Chifor et al. (US 20210306311 A1), hereinafter referred to as Tavangarian, Fang, and Chifor, respectively.
Regarding Claim 3, Tavangarian-Fang as described in Claim 1 does not explicitly disclose the property that said instructions to launching a task includes the I/O network address specific to each said task including any required login credentials to NAS devices.
However, Chifor discloses the property that said instructions to launching a task includes the I/O network address specific to each said task including any required login credentials to NAS devices ([0028] The NAS (320) accepts requests for access to the protected resource from the client […] The NAS (320) may coordinate network access and authentication based on client credentials such as user name and password, MAC address, IP address, PSK, digital signatures, certificates, and the like. Please note that the NAS accepting requests for access and coordinating network access based on client credentials such as user name and password and MAC address corresponds to Applicant’s instructions to launching a task including the I/O network address specific to each said task including any required login credentials to NAS devices, as the NAS devices accepts requests containing login credentials such as user name and password, and the MAC address specific to each request correspond to I/O network addresses specific to each said task, as it is known in the art that each MAC address is unique to each network device.).
Tavangarian-Fang and Chifor are both considered to be analogous to the claimed invention because they are in the same field of computer task processing. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Tavangarian-Fang to incorporate the teachings of Chifor to modify the parallel processing system as described in Claim 1 to have the property that the instructions to launching a task include the I/O network address specific to each said task including required login credentials to NAS devices, allowing for improved security, as described in Chifor.
Claim 4 is rejected under 35 U.S.C. 103 as being unpatentable over Tavangarian (see attached Non-Patent Literature) in view of Fang (US 20160041847 A1) as applied to Claim 1 above, and further in view of Rastogi et al. (US 10212041 B1), hereinafter referred to as Tavangarian, Fang, and Rastogi, respectively.
Regarding Claim 4, Tavangarian-Fang as described in Claim 1 does not explicitly disclose further comprising on said nodes with a plurality of said Synapses, with the property that said plurality is generally proportional to the overall compute-performance of a node.
However, Rastogi discloses further comprising on said nodes with a plurality of said Synapses, with the property that said plurality is generally proportional to the overall compute-performance of a node (Col. 13, Lines 16-19- the size of a node is proportional to the number of resources supporting the node, such as the number of containers, the number of CPUs, the amount of memory, etc. Please note that the size of a node being proportional to the number of resources supporting the node such as the number of containers and the number of CPUs/amount of memory corresponds to Applicant’s said nodes with a plurality of Synapses having the property that said plurality is generally proportional to the overall compute-performance of a node, as the number of CPUs and amount of memory available to the node correspond to compute-performance of the node, and the number of its containers corresponds to Applicant’s plurality of said Synapses as they carry out the operations of the nodes.).
Tavangarian-Fang and Rastogi are both considered to be analogous to the claimed invention because they are in the same field of managing computer nodes for execution of tasks. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Tavangarian-Fang to incorporate the teachings of Rastigu to modify the parallel processing system as described in Claim 1 to have the property that the plurality of Synapses of each node being proportional to the overall compute-performance of the node, allowing for improved system scalability, as described in Rastogi.
Regarding Claim 5, Tavangarian-Fang as described in Claim 1, Tavangarian further discloses said network is a Wide Area Network (WAN) over a plurality of Local Area Networks (LANs) as sub-networks (Page 44, Right Column, Section 4 Wide-Area Computing Systems- A WAN or a Metropolitan Area Network (MAN) is used to connect the machines on different LANs together. Please note that a WAN being used to connect the machines on different LANs together corresponds to Applicant’s network being a WAN over a plurality of LANs as sub-networks.),
between Synapses and a daemon running on said XSB on any of said LANs (Page 41, Right Column, To execute an application we differ between two kinds of applications on both computing platforms, LAN or WAN; High-Performance Computing (HPC)- A problem is normally divided into subproblems to be distributed and executed by the different workstations or clusters. Please note that the clusters corresponding to Applicant’s nodes are also executing the tasks, indicating that they are endowed with a means by which to perform this execution, corresponding to Applicant’s daemons contained in Synapses, that can carry out operations such as handshaking. Applicant defines a Synapse in [0018] of the Specification: Each node has one or more active Synapses defined by a daemon, handling remote requests for line items from the SPL over a LAN or WAN. Written in Bash, these Synapses are highly portable. Since Tavangarian discloses executing these applications over LAN or WAN as well, this system corresponds to Applicant’s running on XSBs of LANs, i.e. on different workstations.)
Tavangarian-Fang does not explicitly disclose said SPL on said XSB synchronized over each said LAN with the property that said atomic updating is by full handshaking between Synapses and a daemon running on said XSB on any of said LANs, said daemon releasing said line items from said SPL in response to requests received from said Synapses on the basis of first- come, first serve.
However, Cahill discloses said SPL on said XSB synchronized over each said LAN with the property that said atomic updating is by full handshaking (Col. 40, Lines 55-60- In general, rendezvous is controlled by the PAFDC 62, which decides when to release a queue of requests to the PAFCC 64 and accept a queue of responses. […] In general, the two systems operate independently, queuing output to each other in files within a shared directory. This can be a local disk directory, if the two systems run on the same machine, or a shared network directory. The only assumption is that the operations of renaming and deleting files in the directory are atomic (uninterruptible). Please note that the rendezvous of the systems to a shared network directory where the updating is atomic corresponds to Applicant’s said SPL on said XSB synchronized over each said LAN with the property that said atomic updating is by full handshaking, as the shared network directory containing the queued output corresponds to Applicant’s SPL on said XSB synchronized over each said LAN of the systems, and the rendezvous in which the systems release requests and accept responses corresponds to Applicant’s full handshaking, as full handshaking is known in the art to be coordinated two-way communication, in this case controlled by the PAFDC 62. Note that in this case, the daemon as disclosed by Tavangarian can carry out accepting a queue of requests corresponding to releasing said line items from said SPL, and the synapse as disclosed by Tavangarian releases a queue of requests corresponding to sending requests to the daemon.),
said daemon releasing said line items from said SPL in response to requests received from said Synapses on the basis of first- come, first serve (Col. 53, Lines 21-39- When a response is sent to the Server, the message is temporary stored in the Push Message queue. The MessageHandler 1420 then waits to receive a confirmation from the Server. If a confirmation message is received, the push message is deleted (i.e., cleaned up) from the queue […] If the received messages all have the same priority, then each message is sent sequentially. Please note that sending each received message sequentially and then deleting the message from the queue after confirmation is received corresponds to Applicant’s daemon releasing said line items from said SPL in response to requests received from said Synapses on the basis of first-come first-served, as sequential sending is a first-come first-served basis, and deleting the message from the queue corresponds to releasing line items from the SPL.).
Tavangarian-Fang and Cahill are considered to be analogous to the claimed invention because they are in the same field of computer task processing. Therefore, it would have been obvious to someone of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Tavangarian-Fang to incorporate the teachings of Cahill to modify the parallel processing system as described in Claim 1 to consist of a WAN over a plurality of LANs as sub-networks where the SPL on said XSB is synchronized over each LAN with the property that atomic updating is by full handshaking between Synapses and a daemon running on the XSB of any of the LANs, where the daemon releases line items from the SPL in response to requests received from Synapses on a first-come first-served basis, allowing for improved task processing in a continuous manner, as described in Cahill.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Bates et al. (US 20070074207 A1) discloses parallel processing, task management, a task queue, and atomically accessing the task queue with synchronized access (see [0041, 0055-0057, 0067]).
Rowe et al. (US 20150067247 A1) discloses assigning a number of bins to a node that is proportional to the capacity of the node (see [0006]).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to FARAZ T AKBARI whose telephone number is (571)272-4166. The examiner can normally be reached Monday-Thursday 9:30am-7:30pm ET.
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, April Blair can be reached at (571)270-1014. 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.
/FARAZ T AKBARI/ Examiner, Art Unit 2196
/MEHRAN KAMRAN/ Primary Examiner, Art Unit 2196