Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
2. This is the initial office action based on the application filed on August 28th, 2024, which claims 1-20 are presented for examination.
Status of Claims
3. Claims 1-20 are pending, of which claims, of which claim 1, 9 and 17 are in independent form.
Priority
4. The instant application has a priority CHINA 202311092071.4 08/28/2023.
Information Disclosure Statement
5. Information disclosure statement filed on 08/28/2024, has been reviewed and considered by Examiner.
The Office's Note:
6. The Office has cited particular paragraphs / columns and line numbers in the reference(s) applied to the claims above for the convenience of the Applicant. Although the specified citations are representative of the teachings of the art and are applied to specific limitations within the individual claim(s), other passages and figures may apply as well. It is respectfully requested from the Applicant in preparing responses, to fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the cited passages as taught by the prior art or relied upon by the Examiner.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
7. Claims 1-20 rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter.
Claim 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Claim 1, claim 9 and claim 17 recite “ dividing a plurality of logic blocks comprised in a target program into a plurality of service logic block sets according to a service to which a logic block belongs, wherein each service logic block set of the plurality of the service logic block sets comprises one or more logic blocks; and concatenating the plurality of the service logic block sets into a service logic chain, wherein the service logic chain is used for executing respective service logic block set in sequence according to an order of the respective service logic block in the service logic chain..” as drafted, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitations encompass a human mind carrying out the function through observation, evaluation judgment and /or opinion, or even with the aid of pen and paper. Thus, this limitation recites and falls within the “Mental Processes” grouping of abstract ideas under Prong 1.
Under Prong 2, this judicial exception is not integrated into a practical application. The additional elements ““memory”, and “processor” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using generic computer, and/or mere computer components, and “concatenating the plurality of the service logic block sets into a service logic chain, wherein the service logic chain is used for executing respective service logic block set in sequence according to an order of the respective service logic block in the service logic chain” do nothing more than add insignificant extra solution activity to the judicial exception of merely gathering, displaying, updating, transmitting and storing data/information. Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g).
Under Step 2B, the claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of ““memory,” and “processor” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using generic computer, and/or mere computer components, and “concatenating the plurality of the service logic block sets into a service logic chain, wherein the service logic chain is used for executing respective service logic block set in sequence according to an order of the respective service logic block in the service logic chain”, the courts have identified merely gathering, displaying, updating, transmitting and storing data/information on a display is well-understood, routine and conventional activity. See MPEP 2106.05(d). The recitation of generic computer instruction and computer components to apply the judicial exception, and merely displaying data do not amount to significantly more, thus, cannot provide an inventive concept. Accordingly, the claims are not patent eligible under 35 USC 101.
In conclusion, claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
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.
8. Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Kim (US 20230289146 – hereinafter Kim) and further in view of Standley (US 20160283200 – hereinafter Standley).
Claim 1 rejected, Kim teaches a method for executing program service logic, comprising (Kim, abstract and summary):
dividing a plurality of logic blocks comprised in a target program into a plurality of service logic block sets according to a service to which a logic block belongs, wherein each service logic block set of the plurality of the service logic block sets comprises one or more logic blocks (Kim, US 20230289146, para [0077-0080], The interface includes a first area 100 displaying schematic diagrams of execution target blocks and a second area 200 displaying code blocks, and a plurality of code blocks may be displayed in the second area. Para [0063-0067].); and
concatenating the plurality of the service logic block sets into a service logic chain, wherein the service logic chain is used for executing respective service logic block set in sequence according to an order of the respective service logic block in the service logic chain(Kim, para [0063-0064], Meanwhile, the present disclosure may include an operation of displaying a search field and receiving an input defining attributes of the pipeline from the search field. The newly added code block may be a block to be executed at a previous stage of the designated execution target block, a block to be executed at a subsequent stage, or a block to be executed at the same layer. For example, referring to FIG. 7, a ‘load iris data’ block 110′ that is one of the execution target blocks, corresponds to a block executed in a previous stage to a newly added ‘create dataframe’ block 111. Para [0065-0066], Meanwhile, a specific execution target block may have dependencies with two or more execution target blocks at the same time. For example, referring to FIG. 9, a ‘train model’ block 140, which is the execution target block, is simultaneously connected with the ‘define Liveplot’ block 130, a ‘create dataloader’ block 113, and a ‘create pI model’ block 121. When the execution target blocks are executed according to the sequential execution relationship, the order in which the execution target blocks, that is, the ‘define Liveplot’ block 130, the ‘create dataloader’ block 113, and the ‘create pI model’ block 121, directly connected with the execution target block, such as the “train model” block 140, simultaneously connected with multiple execution target blocks may be left to right, top to bottom, or the order specified by the user, but the present disclosure is not limited thereto. Fig. 10 and para [0067], the present disclosure may include an operation of, when several execution target blocks are simultaneously connected to one execution target block, executing all execution target blocks dependent on the one execution target block by an input for executing the one execution target block. For example, referring to FIG. 10, when the user executes the ‘train model’ block 140, all of the ‘define Liveplot’ block 130, the ‘create dataloader’ block 113, and the ‘create pI model’ block 121 connected with the ‘train model’ block 140 in according to the sequential relationship may be executed. In this case, in order to execute the ‘create dataloader’ block 113, other execution target blocks connected with the sequential relationship with the ‘create dataloader’ block 113 needs to be executed first. In addition, in order to execute the ‘create pI model’ block 121, other execution target blocks connected with the sequential relationship with the ‘create pI model’ block 121 needs to be executed first. As a result, all execution target blocks dependent on the ‘train model’ block 140 may be executed by the input for executing the ‘train model’ block 140. Para [0079-0080], The interface may include an interface 231 for adding a specific code block among the plurality of code blocks to an execution target block and an interface 232 for removing the specific code block from the execution target block.).
The Office would like to use prior art Standley to back up Kim to further teach limitation
a service (Standley, US 20160283200, fig. 3 and para [0093-0097], With additional reference to FIG. 3, one embodiment of a service 230 (based on one of the service classes 202 of FIG. 2A as launched in one of the instances 222 of FIG. 2B or 224 of FIG. 2C) is illustrated with multiple blocks 232a, 232b, . . . , and 232M (based on block classes 204), with M being the total number of blocks contained by the service 230. The service 230 may be viewed as the framework that is responsible for assembling the contained group of blocks (e.g., blocks 232a-232M) into a workflow to define the logical path that a niogram within the service 230 will follow. While the blocks 232a-232M may not be literally linked within the service 230, the service 230 may manage the order in which blocks 232 are called for processing and, in so doing, direct a niogram within the service 230 to the appropriate next block. Starting the service 230 enables an instance of the NIO platform 200 to use the blocks' functionality to process niograms. Accordingly, the value of M is greater or equal to one, as a service 230 that has no blocks 232 would provide no functionality. It is understood that the service 230 may include blocks that are not always used, such as blocks that are only executed if a particular conditional branch occurs.)
It would have obvious to one having ordinary skill in the art before the effecting filing date of the claimed invention to combine the teachings of cited references. Thus, one of ordinary skill in the art before the effecting filing date of the claimed invention would have been motivated to incorporate Standley into Kim to create a service to be run by a platform instance within a development environment having a graphical user interface, and hence ensures easy and simple configuration creating method.as suggested by Standley (See abstract and conclusion).
The Office notes that Standley also teaches
a service logic chain (Standley, para [0163-0164], service chain. Para [01119-0120], functional chain.)
Claim 2 is rejected for the reasons set forth hereinabove for claim 1, Kim and Standley teach the method of claim 1, further comprising:
removing a specified first service logic block set from the service logic chain (Kim, para [0079-0080], The interface may include an interface 231 for adding a specific code block among the plurality of code blocks to an execution target block and an interface 232 for removing the specific code block from the execution target block. Standley, para [0163-0164], service chain. Para [01119-0120], functional chain); and
if there are an upper-level service logic block set and a lower-level service logic block set of the first service logic block set, linking the lower-level service logic block set behind the upper-level service logic block set (Kim, para [0093-0095], The data structure may be divided into a linear data structure and a non-linear data structure according to the form of the data structure. The linear data structure may be the structure in which only one data is connected after one data. The linear data structure may include a list, a stack, a queue, and a deque. The list may mean a series of dataset in which order exists internally. The list may include a linked list. The linked list may have a data structure in which data is connected in a method in which each data has a pointer and is linked in a single line. In the linked list, the pointer may include information about the connection with the next or previous data. The linked list may be expressed as a single linked list, a double linked list, and a circular linked list according to the form. Standley, para [0163-0164], service chain. Para [01119-0120], functional chain).
Claim 3 is rejected for the reasons set forth hereinabove for claim 1, Kim and Standley teach the method of claim 1, further comprising:
inserting a specified second service logic block set at a specified position in the service logic chain (Kim, Para [0065-0066], Meanwhile, a specific execution target block may have dependencies with two or more execution target blocks at the same time. For example, referring to FIG. 9, a ‘train model’ block 140, which is the execution target block, is simultaneously connected with the ‘define Liveplot’ block 130, a ‘create dataloader’ block 113, and a ‘create pI model’ block 121. When the execution target blocks are executed according to the sequential execution relationship, the order in which the execution target blocks, that is, the ‘define Liveplot’ block 130, the ‘create dataloader’ block 113, and the ‘create pI model’ block 121, directly connected with the execution target block, such as the “train model” block 140, simultaneously connected with multiple execution target blocks may be left to right, top to bottom, or the order specified by the user, but the present disclosure is not limited thereto. Fig. 10 and para [0067], he present disclosure may include an operation of, when several execution target blocks are simultaneously connected to one execution target block, executing all execution target blocks dependent on the one execution target block by an input for executing the one execution target block. For example, referring to FIG. 10, when the user executes the ‘train model’ block 140, all of the ‘define Liveplot’ block 130, the ‘create dataloader’ block 113, and the ‘create pI model’ block 121 connected with the ‘train model’ block 140 in according to the sequential relationship may be executed. In this case, in order to execute the ‘create dataloader’ block 113, other execution target blocks connected with the sequential relationship with the ‘create dataloader’ block 113 needs to be executed first. In addition, in order to execute the ‘create pI model’ block 121, other execution target blocks connected with the sequential relationship with the ‘create pI model’ block 121 needs to be executed first. As a result, all execution target blocks dependent on the ‘train model’ block 140 may be executed by the input for executing the ‘train model’ block 140. Para [0079], The interface may include an interface 231 for adding a specific code block among the plurality of code blocks to an execution target block and an interface 232 for removing the specific code block from the execution target block. Standley, para [0163-0164], service chain. Para [01119-0120], functional chain.);
if there is an upper-level logic block set at the specified position of the service logic chain, linking the second service logic block set after the upper-level logic block set; and if there is a lower-level logic block set at the specified position of the service logic chain, linking the lower-level logic block set to the second service logic block set (Kim, para [0093], The data structure may be divided into a linear data structure and a non-linear data structure according to the form of the data structure. The linear data structure may be the structure in which only one data is connected after one data. The linear data structure may include a list, a stack, a queue, and a deque. The list may mean a series of dataset in which order exists internally. The list may include a linked list. The linked list may have a data structure in which data is connected in a method in which each data has a pointer and is linked in a single line. In the linked list, the pointer may include information about the connection with the next or previous data. The linked list may be expressed as a single linked list, a double linked list, and a circular linked list according to the form. Standley, para [0163-0164], service chain. Para [01119-0120], functional chain.).
Claim 4 is rejected for the reasons set forth hereinabove for claim 1, Kim and Standley teach the method of claim 1, wherein the service logic chain further comprises an asynchronous service logic block set, which is executed asynchronously with other service logic block sets in the service logic chain (Standley, para [0048], Due to the structure and flexibility of the runtime environment provided by the NIO platform's core, services, and blocks, the platform is able to asynchronously process any input signal from one or more sources in real time. Standley, para [0163-0164], service chain. Para [01119-0120], functional chain.).
Claim 5 is rejected for the reasons set forth hereinabove for claim 4, Kim and Standley teach the method of claim 4, wherein the asynchronous service logic set executing asynchronously with other service logic block sets in the service logic chain, comprising: executing the other service logic block sets by a main thread of the service logic chain, and executing the asynchronous service logic set by other threads other than the main thread (Standley para [0116-0118], Referring to FIGS. 5D and 5E, embodiments of services 230a and 230b, respectively, are illustrated. In the present embodiments, each block 232 is decoupled from both the service 230 by which it is being used and from the other blocks 232 that are used by the service 230. Each block 232 is a self-contained entity that asynchronously receives input, processes that input in a manner defined by the block's internal code, and produces an output. The block's asynchronicity is possible because the block 232 has no awareness that it is part of a service 230 or that it is associated with other blocks as part of a functional chain. The block 232 simply handles data as it arrives and creates an output. Para [0123-0124], threads. Standley, para [0163-0164], service chain. Para [01119-0120], functional chain.).
Claim 6 is rejected for the reasons set forth hereinabove for claim 1, Kim and Standley teach the method of claim 1, further comprising: adding or removing a logic block in a service logic block set by a maintainer corresponding to the service logic block set ( Kim, para [0079-0085], The interface may include an interface 231 for adding a specific code block among the plurality of code blocks to an execution target block and an interface 232 for removing the specific code block from the execution target block. Standley, para [0163-0164], service chain. Para [01119-0120], functional chain.).
Claim 7 is rejected for the reasons set forth hereinabove for claim 1, Kim and Standley teach the method of claim 1, wherein executing any service logic block set of the plurality of the service logic block sets comprises: sequentially executing each logic block according to an internal order of the each logic block comprised in a service logic block set (Kim, Fig. 10 and para [0067-0070], the present disclosure may include an operation of, when several execution target blocks are simultaneously connected to one execution target block, executing all execution target blocks dependent on the one execution target block by an input for executing the one execution target block. For example, referring to FIG. 10, when the user executes the ‘train model’ block 140, all of the ‘define Liveplot’ block 130, the ‘create dataloader’ block 113, and the ‘create pI model’ block 121 connected with the ‘train model’ block 140 in according to the sequential relationship may be executed. In this case, in order to execute the ‘create dataloader’ block 113, other execution target blocks connected with the sequential relationship with the ‘create dataloader’ block 113 needs to be executed first. In addition, in order to execute the ‘create pI model’ block 121, other execution target blocks connected with the sequential relationship with the ‘create pI model’ block 121 needs to be executed first. As a result, all execution target blocks dependent on the ‘train model’ block 140 may be executed by the input for executing the ‘train model’ block 140. Standley, para [0163-0164], service chain. Para [01119-0120], functional chain.).
Claim 8 is rejected for the reasons set forth hereinabove for claim 1, Kim and Standley teach the method of claim 1, wherein the target program is a client program, and the logic block is used for data processing for the service to which the logic block belongs (Standley, fig. 3 and para [0093-0097], With additional reference to FIG. 3, one embodiment of a service 230 (based on one of the service classes 202 of FIG. 2A as launched in one of the instances 222 of FIG. 2B or 224 of FIG. 2C) is illustrated with multiple blocks 232a, 232b, . . . , and 232M (based on block classes 204), with M being the total number of blocks contained by the service 230. The service 230 may be viewed as the framework that is responsible for assembling the contained group of blocks (e.g., blocks 232a-232M) into a workflow to define the logical path that a niogram within the service 230 will follow. While the blocks 232a-232M may not be literally linked within the service 230, the service 230 may manage the order in which blocks 232 are called for processing and, in so doing, direct a niogram within the service 230 to the appropriate next block. Starting the service 230 enables an instance of the NIO platform 200 to use the blocks' functionality to process niograms. Accordingly, the value of M is greater or equal to one, as a service 230 that has no blocks 232 would provide no functionality. It is understood that the service 230 may include blocks that are not always used, such as blocks that are only executed if a particular conditional branch occurs. Kim, Fig. 10 and para [0067-0070], the present disclosure may include an operation of, when several execution target blocks are simultaneously connected to one execution target block, executing all execution target blocks dependent on the one execution target block by an input for executing the one execution target block. For example, referring to FIG. 10, when the user executes the ‘train model’ block 140, all of the ‘define Liveplot’ block 130, the ‘create dataloader’ block 113, and the ‘create pI model’ block 121 connected with the ‘train model’ block 140 in according to the sequential relationship may be executed. In this case, in order to execute the ‘create dataloader’ block 113, other execution target blocks connected with the sequential relationship with the ‘create dataloader’ block 113 needs to be executed first. In addition, in order to execute the ‘create pI model’ block 121, other execution target blocks connected with the sequential relationship with the ‘create pI model’ block 121 needs to be executed first. As a result, all execution target blocks dependent on the ‘train model’ block 140 may be executed by the input for executing the ‘train model’ block 140. Para [0079], The interface may include an interface 231 for adding a specific code block among the plurality of code blocks to an execution target block and an interface 232 for removing the specific code block from the execution target block. Standley, para [0163-0164], service chain. Para [01119-0120], functional chain.).
As per claim 9, this is the device claim to the method claim 1. Therefore, it is rejected for the same reasons as above.
As per claim 10, this is the device claim to the method claim 2. Therefore, it is rejected for the same reasons as above.
As per claim 11, this is the device claim to the method claim 3. Therefore, it is rejected for the same reasons as above.
As per claim 12, this is the device claim to the method claim 4. Therefore, it is rejected for the same reasons as above.
As per claim 13, this is the device claim to the method claim 5. Therefore, it is rejected for the same reasons as above.
As per claim 14, this is the device claim to the method claim 6. Therefore, it is rejected for the same reasons as above.
As per claim 15, this is the device claim to the method claim 7. Therefore, it is rejected for the same reasons as above.
As per claim 16, this is the device claim to the method claim 8. Therefore, it is rejected for the same reasons as above.
As per claim 17, this is the medium claim to the method claim 1. Therefore, it is rejected for the same reasons as above.
As per claim 18, this is the medium claim to the method claim 1. Therefore, it is rejected for the same reasons as above.
As per claim 19, this is the medium claim to the method claim 1. Therefore, it is rejected for the same reasons as above.
As per claim 20, this is the medium claim to the method claim 1. Therefore, it is rejected for the same reasons as above.
Inquiry
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DUY KHUONG THANH NGUYEN whose telephone number is (571)270-7139. The examiner can normally be reached Monday - Friday 0800-1630.
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, Lewis Bullock can be reached at 5712723759. 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.
/DUY KHUONG T NGUYEN/ Primary Examiner, Art Unit 2199