DETAILED ACTION
Claims 11-18 and 21-31 are pending in the current application.
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 .
Response to Arguments
Applicant's arguments filed 11/7/25 have been fully considered but they are not persuasive.
Applicant argues that the cited prior art does not specifically disclose (Argument 1; Remarks pg. pg. 8 lines 27-29) that the dependent claim does not recite a judicial exception and just further limits the independent claim which was found to be eligible under 101 the 101 rejection of associated dependent claims should be withdrawn, and (Argument 2; Remarks pg. 10 lines 7-10) a second graphical component which specifies an operation for interfacing with an external circuit and a link between the first and second graphical components to specify how the first operation of the microcontroller relates to the second operation for interfacing with the external circuit.
With respect to applicant’s arguments examiner respectfully disagrees. As to argument 1, first as applicant notes even if an independent claim is determined to be eligible, a dependent claim may be ineligible because it adds a judicial exception without adding limitations that integrate the judicial exception or provide significantly more where it is viewed that the dependent claim 14 recites a judicial exception abstract idea mental process element with the aid of pen and paper to generating, based on the graphical program, human readable code configured to be compiled to generate the executable computer program for execution by the microcontroller, as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitation encompasses a human mind carrying out the function through observation, evaluation judgment and /or opinion, or even with the aid of pen and paper to generate human readable code based on the analysis of the graphical program that is able to be executed. This is viewed as an reciting an abstract idea and as the independent by itself was viewed as not having initially recited an abstract idea step 2A prong 2 was not performed on it by itself but in light of the dependent claim reciting an abstract idea mental process element the step 2A prong 2 analysis is now performed in full in light of associated independent claim as well and thus in light of details of the rejection below viewed dependent claim 14 does recite an abstract idea without adding limitation that integrate the abstract idea into a practical application.
As to argument 2, the teachings of Ravish [0007] lines 1-12 and [0020] lines 1-20 are used to show the specific input in a graphical environment to develop code can include input for specific operations/modifications of output such that it is an operation that transmits specific data to an external device/circuit viewed as input specifying operations that interface with external device/circuity where the claim language does not specify disclosed the specifics of how/what is displayed as the graphical component just that for the second graphical component it is in response to a second input/editing and that is specifies a second operation for interfacing with the external circuit where the graphical environment such as LabView of Ravish shows the basics of based on the input graphical elements code is generated and where the specific functionality that can be input are represented graphically, thus viewed as a graphical component element based on input received from the user where the user input can specify/modify the elements to perform/represent specific operations including operations of transmission of data to external device, viewed as an operation showing interfacing with an external device where the teachings of Koh Col. 6 lines 3-35, 38-41 and Col. 7 lines 14-24 and Col. 10 lines 6-11 and lines 17-22 are used to show the specifics of the graphical program environment editor that is able to construct and display a block diagram of the program that is able to display a link/connection of the graphical program between a graphical component block elements viewed as a link between a first and second component where the blocks represent functions/operations to be performed by a microcontroller/embedded computing platform and the lines of the block diagram represent interface/connection between the devices, in light of the teachings seen above in Ravish showing the specifics of user input/modification that can be represented in a graphical development environment can include input specifying specific output from the device to one or more external devices, viewed as transmission data/interface to the external device and together shows the specifics of a second graphical component which specifies an operation for interfacing with an external circuit and a link between the first and second graphical components to specify how the first operation of the microcontroller relates to the second operation for interfacing with the external circuit.
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.
Claims 14-17 and 27-28 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Step 1: Claims 14-17 and 27-28 are claims that are directed to a process, machine, manufacture or composition of matter.
In order to evaluate the Step 2A inquiry “Is the claim directed to a law of nature, a natural phenomenon or an abstract idea?” we must determine, at Step 2A Prong 1, whether the claim recites a law of nature, a natural phenomenon or an abstract idea and further whether the claim recites additional elements that integrate the judicial exception into a practical application.
Step 2A Prong 1:
Claims 14 and 27: The limitation of “generate, based on the graphical program, human readable code configured to be compiled to generate the executable computer program for execution by the microcontroller”, as drafted, is a process that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitation encompasses 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.
The claims have been identified to recite an abstract idea, Step 2A Prong 2 will evaluate whether the claims are directed to the judicial exception.
Step 2A Prong 2:
Claims 14 and 27: The abstract idea is not integrated into a practical application. In particular it is noted that as associated independent claims 11 and 21 did not recite an abstract idea element and thus this analysis was not performed but as an abstract idea element is recited in dependent claim 14 and 27 analysis is also performed for the additional elements in the independent claims 11 and 21 here as well, where the claims recite the following additional element of “a computing device comprising at least one processor and memory, the method comprising causing the at least one processor to” “a microcontroller in communication with an external circuit” and “A system comprising at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the at least one processor to” 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. Further, the claim recites additional elements of “display, in response to first input, a first graphical component of a graphical program in the graphical user interface, wherein the first graphical component specifies a first operation of the microcontroller; display, in response to second input, a second graphical component of the graphical program in the graphical user interface, wherein the second graphical component specifies a second operation for interfacing with the external circuit; and display, in response to third input, a link of the graphical program between the first graphical component and the second graphical component in the graphical user interface to specify how the first operation of the microcontroller relates to the second operation for interfacing with the external circuit” do nothing more than add insignificant extra solution activity to the judicial exception of displaying data/information. Additionally, the claims recite additional elements of “wherein the graphical programming environment comprises a graphical user interface for graphically specifying at least a portion of the executable computer program“ and “wherein the executable computer program comprises machine code” which is merely a field of use/technological environment.. Finally the claims recite additional elements of “execute a graphical programming environment for creating an executable computer program for execution by a microcontroller in communication with an external circuit” fails to meaningfully limit the claim because it does not require any particular application of the recited “executing” and is at best the equivalent of merely adding the words “apply it” to the judicial exception 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.
Step 2B:
Claims 14 and 27: The claims do not include additional elements, alone or in combination that are sufficient to amount to significantly more than the abstract idea. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of “a computing device comprising at least one processor and memory, the method comprising causing the at least one processor to” “a microcontroller in communication with an external circuit” and “A system comprising at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the at least one processor to” amount to no more than mere instructions, or generic computer/computer components to carry out the exception. Further, the additional elements of “display, in response to first input, a first graphical component of a graphical program in the graphical user interface, wherein the first graphical component specifies a first operation of the microcontroller; display, in response to second input, a second graphical component of the graphical program in the graphical user interface, wherein the second graphical component specifies a second operation for interfacing with the external circuit; and display, in response to third input, a link of the graphical program between the first graphical component and the second graphical component in the graphical user interface to specify how the first operation of the microcontroller relates to the second operation for interfacing with the external circuit” are merely insignificant extra-solution activity information of akin to displaying data/information Further, the insignificant extra solution data activity is also WURC, see MPEP 2106.05(d)(II), where “the courts have recognized the following computer functions as well-understood, routine and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity”. i. presenting offers where the displaying limitations are akin to the presenting/displaying data/information/offers. Furthermore, the additional elements of “wherein the graphical programming environment comprises a graphical user interface for graphically specifying at least a portion of the executable computer program“ and “wherein the executable computer program comprises machine code” which are merely a field of use/technological environment. Additionally, the additional elements of “execute a graphical programming environment for creating an executable computer program for execution by a microcontroller in communication with an external circuit” does not require any particular application of the recited executing and using and is at best the equivalent of merely adding the words “apply it” to the judicial exception. The recitation of generic computer instruction and computer components to apply the judicial exception, mere fields of use/technological environments, 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.
With regard to claims 15 and 28 they recite additional elements of “a first portion of the executable computer program associated with the first graphical component comprises a first thread; and/or a second portion of the executable computer program associated with the second graphical component comprises a second thread” which are merely a field of use/technological environment which does not integrate the abstract idea into a practical application. Moreover, claims 15 and 28 do not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claims 15 and 28 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claims 15 and 28 do not recite patent eligible subject matter under 35 USC 101.
With regard to claim 16 they recite additional elements of “wherein the executable computer program, when executed by the microcontroller, is configured to generate a real time operating system comprising at least one of: an abstraction layer that abstracts at least a portion of operation of the external circuit to communicate with the external circuit through an I/O pin to perform the at least a portion of operation of the external circuit; and a thread to communicate with the external circuit through the I/O pin to perform the at least a portion of operation of the external circuit.” which are merely a field of use/technological environment which does not integrate the abstract idea into a practical application. Moreover, claim 16 does not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claim 16 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 16 does not recite patent eligible subject matter under 35 USC 101.
With regard to claim 17 they recite additional elements of “wherein the executable computer program, when executed by the microcontroller, is configured to cause the microcontroller perform at least one or: initializing the external circuit for operation; controlling the one or more operations of the external circuit; managing a physical aspect of the external circuit; using the external circuit to perform the one or more operations.” which are merely a field of use/technological environment which does not integrate the abstract idea into a practical application. Moreover, claim 17 does not recite any other additional elements and for the same reasons as above with regard to the integration into a practical application and whether the additional elements amount to significantly more, claim 17 also fail both Step 2A prong 2, thus the claims are directed to the abstract idea as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 17 does not recite patent eligible subject matter under 35 USC 101.
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.
Claims 11, 14-15, 17, 21, 27-28 and 31 are rejected under 35 U.S.C. 103 as being unpatentable over Koh et al. (Patent No. US 9,329,840 B1) and further in view of Ravish et al. (Pub. No. US 2007/0179644 A1).
As to claims 11 and 31, Koh discloses a method for execution by a computing device comprising at least one processor and memory, the method comprising causing the at least one processor to:
execute a graphical programming environment for creating an executable computer program for execution by a microcontroller, wherein the graphical programming environment comprises a graphical user interface for graphically specifying at least a portion of the executable computer program (Koh Col. 6 lines 3-35, 38-41 and lines 43-58; which shows as part of a diagramming application, viewed as a type of graphical programming environment, that is able to create a graphical model that is converted into executable code, that include user interface for specifying/designing in the diagram/model the elements that will correspond to the computer program, where the executed program can be used with external or embedded computing platform/microcontroller);
display, in response to first input, a first graphical component of a graphical program in the graphical user interface, wherein the first graphical component specifies a first operation of the microcontroller (Koh Col. 6 lines 3-35, 38-41 and Col. 7 lines 14-24; which shows user an editor/interface that allows user to edit, construal and display a block diagram where the blocks in the block diagram represent functions/operations to be performed, that are viewed as being performed by a microcontroller/embedded computing platform);
display, in response to second input, a second graphical component of the graphical program in the graphical user interface, (Koh Col. 6 lines 3-35, 38-41 and Col. 7 lines 14-24; which shows user an editor/interface that allows user to edit, construal and display a block diagram where the blocks in the block diagram represent functions/operations to be performed, that are viewed as being performed by a microcontroller/embedded computing platform where there are a plurality of different block and actions that can be performed and selected/edited by a user and thus able to display a second graphical component for a second/another/different action done by a user); and
display, in response to third input, a link of the graphical program between the first graphical component and the second graphical component in the graphical user interface to specify how the first operation of the microcontroller relates to the second operation for interfacing with the external circuit (Koh Col. 6 lines 3-35, 38-41 and Col. 7 lines 14-24 and Col. 10 lines 6-11 and lines 17-22; which shows user an editor/interface that allows user to edit, construct and display a block diagram where the blocks in the block diagram represent functions/operations to be performed, where the input can also specific connection/link from one block/component and another block/component viewed as an indication that the two block relate to each other, where the specifics user input defining the specifics of the second operation for interfacing with an external circuit/device is seen specifically in the teachings of Ravish below and together would show display, in response to third input, a link of the graphical program between the first graphical component and the second graphical component in the graphical user interface to specify how the first operation of the microcontroller relates to the second operation for interfacing with the external circuit).
Koh does not specifically disclose the specifics of execute a graphical programming environment for creating an executable computer program for execution by a microcontroller in communication with an external circuit; a second graphical component of the graphical program in the graphical user interface, wherein the second graphical component specifies a second operation for interfacing with the external circuit.
However, Ravish shows the specifics of execute a graphical programming environment for creating an executable computer program for execution by a microcontroller in communication with an external circuit (Ravish [0007] lines 1-12, [0017] lines 1-10 and [0020] lines 1-20; which shows a graphical programming development environment, that can be used for code generating for direct implementation on the control device/controller where the code can also allow for transmission/communication of data to external device/circuits thus viewed as a type of communication between the controller and external circuits),
a second graphical component of the graphical program in the graphical user interface, wherein the second graphical component specifies a second operation for interfacing with the external circuit (Ravish [0007] lines 1-12 and [0020] lines 1-20; which shows the input used in the graphical environment to develop code can include specifying specific operation/modification of output such that it transmit specific data to external device/circuits, viewed as input specifying operations for interfacing with an external device/circuit).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Ravish showing the specifics of in a graphical development environment being able to receive user input to define how operation for interfacing with an external device, into the graphical development environment of Koh for the purpose of increasing customization options available in the development environment by allowing further modification to address, add and correct issues when interacting with external devices as taught by Ravish [0003] lines 3-9 and [0020] lines 1-20.
As to claim 14, Koh does not specifically disclose, however, Ravish discloses further comprising generate, based on the graphical program, human readable code configured to be compiled to generate the executable computer program for execution by the microcontroller, wherein the executable computer program comprises machine code (Ravish [0017] lines 1-21, [0050] lines 1-4, [0055] lines 3-7, [0058] lines 1-5, [0088] lines 1-9, [0092] lines 1-3 and claim 20; which shows based on the identified elements in the drawing specification, viewed as the graphical program, being able to generate code that can be generated in any of a various of desired language includes text based program with examples such as C and Java and other graphical languages viewed as types of human readable code, where the program instructions/code can be compiled into machine code that accomplishes to desired process of the program, thus executable computer program machine code).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Ravish showing the specifics of in a graphical development environment being able to receive user input to define how operation for interfacing with an external device, into the graphical development environment of Koh for the purpose of increasing customization options available in the development environment by allowing further modification to address, add and correct issues when interacting with external devices as taught by Ravish [0003] lines 3-9 and [0020] lines 1-20.
As to claim 15, Koh does not specifically disclose, however, Ravish discloses wherein: a first portion of the executable computer program associated with the first graphical component comprises a first thread; and/or a second portion of the executable computer program associated with the second graphical component comprises a second thread (Ravish [0017] lines 1-21, [0050] lines 1-4, [0055] lines 3-7, [0058] lines 1-5, [0088] lines 1-9, [0092] lines 1-3 and claim 20; which shows there are a plurality of identified graphical elements/nodes that are associated with specific code that implements that specific node/element functionality where the generated code associated with the identified elements is compiled to executable code, where it is viewed that the identified elements can include a specifically created first and second graphical component seen in Koh above, and thus viewed that the executable code would have portions/part associated with each identified element/node/component and as a thread is the smallest unit of execution and an executable process must have a thread to execute viewed as showing at least a first portion of the executable computer program associated with the first graphical component comprises a first thread ).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Ravish showing the specifics of in a graphical development environment being able to receive user input to define how operation for interfacing with an external device, into the graphical development environment of Koh for the purpose of increasing customization options available in the development environment by allowing further modification to address, add and correct issues when interacting with external devices as taught by Ravish [0003] lines 3-9 and [0020] lines 1-20.
As to claim 17, Koh does not specifically disclose, however, Ravish discloses wherein the executable computer program, when executed by the microcontroller, is configured to cause the microcontroller perform at least one of: initializing the external circuit for operation; controlling the one or more operations of the external circuit; managing a physical aspect of the external circuit; using the external circuit to perform the one or more operations (Ravish [0007] lines 1-12, [0020] lines 1-20, [0047] lines 1-6, [0094] lines 1-6 and [0095] lines 1-14; which shows the generated and executed by a processor code, can include operation/instructions associated with an external device/circuits that can include initiation/starting of the external device/circuit operations and thus showings wherein the executable computer program, when executed by the microcontroller, is configured to cause the processor to interface with the external circuit by performing one or more operations with the external circuit, wherein the one or more operations comprises: initializing the external circuit for operation).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Ravish showing the specifics of in a graphical development environment being able to receive user input to define how operation for interfacing with an external device, into the graphical development environment of Koh for the purpose of increasing customization options available in the development environment by allowing further modification to address, add and correct issues when interacting with external devices as taught by Ravish [0003] lines 3-9 and [0020] lines 1-20.
As to claim 21, Koh discloses a system comprising at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the at least one processor to: (Koh Col. 5 lines 16-21)
The remaining limitation of the claim are comparable to claim 11 above and rejected under the same reasoning.
As to claim 27, it is comparable to claim 14 above and rejected under the same reasoning.
As to claim 28, it is comparable to claim 15 above and rejected under the same reasoning.
Claims 12 and 30 are rejected under 35 U.S.C. 103 as being unpatentable over Koh and Ravish as applied to claims 11 and 21 above, and further in view of Shah et al. (Pub. No. US 2003/0095141 A1).
As to claim 12, Koh as modified by Ravish do not specifically disclose copy, in response to fourth input, the first graphical component of the graphical program into a second graphical program.
However, Shah discloses copy, in response to fourth input, the first graphical component of the graphical program into a second graphical program (Shah [0365] lines 1-8, [0367] lines 1-8 and [0368] lines1-9; which shows in a graphical development environment with user interaction/input, the user being able to copy a graphical icon for a first program represented as a graphical component, into a second graphical program).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Shah showing the specifics of a graphical development environment that allows for coping of graphical program component from one program to another, into the graphical programming development environment of Koh as modified by Ravish for the purpose of providing additional development options to be used in the graphical development environment to increase user customization options available to control the development of the program, as taught by Shah [0265[ lines 108 and [0369] lines 1-9.
As to claim 30, Koh as modified by Ravish do not specifically disclose, however, Shah discloses wherein the user, using the graphical user interface, copies a first graphical component of a graphical program into a second graphical program (Shah [0365] lines 1-8, [0367] lines 1-8 and [0368] lines1-9; which shows in a graphical development environment with user interaction, the user being able to copy a graphical icon for a first program represented as a graphical component, into a second graphical program).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Shah showing the specifics of a graphical development environment that allows for coping of graphical program component from one program to another, into the graphical programming development environment of Koh as modified by Ravish for the purpose of providing additional development options to be used in the graphical development environment to increase user customization options available to control the development of the program, as taught by Shah [0265[ lines 108 and [0369] lines 1-9.
Claims 13, 18, 26 and 29 are rejected under 35 U.S.C. 103 as being unpatentable over Koh and Ravish as applied to claims 11 and 21 above, and further in view of Williams (Patent No. US 7,890,919 B1)
As to claims 13 and 26, Koh as modified by Ravish do not specifically disclose upload one or more files and/or data structures storing the first graphical component and/or the second graphical component to a remote server; and/or download the one or more files and/or data structures from the remote server via an online platform.
However, Williams discloses upload one or more files and/or data structures storing the first graphical component and/or the second graphical component to a remote server; and/or download the one or more files and/or data structures from the remote server via an online platform (Williams Col. 5 lines 31-45, Col. 6 lines 58-64 and Col. 7 lines 33-37; which shows that the generated components, generated in the development environment, viewed as type of second graphical component, are uploaded to a remote sever where they are uploaded in file form and thus viewed as showing wherein one or more files and/or data structures storing the first and/or second graphical components are uploaded to a remote server and as the claim recites that wherein one or more files and/or data structures storing the first and/or second graphical components are uploaded to a remote server and/or downloaded from the remote server via an online platform thus based on the and/or language by teaching wherein one or more files and/or data structures storing the first and/or second graphical components are uploaded to a remote server would teach the whole claim limitation).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Williams showing the specifics of uploading development elements for other developers to use in an application development environment into the graphical programming development environment of Koh as modified by Ravish for the purpose of providing additional components for use in development environments to increase user desired control and customization of applications, as taught by Williams Col. 3 14-23 and Col. 6 lines 58-64.
As to claims 18 and 29, Koh as modified by Ravish do not specifically disclose, however, Williams discloses further comprising causing the at least one processor to: use a remote server in communication with the graphical programming environment, to generate, based on the graphical program, the executable computer program for execution by the microcontroller (Williams Col. 4 lines 63-67, Col. 5 lines 1-20, Col. 6 lines 39-47 and Col. 11 lines 2-13; which shows establishing a connection between an application development environment and a remote server that includes a plurality of components related to the components and downloads the components to determine if they are new/updated and should be used in the development of the application instead, thus using a remote sever in communication with application programming development environment, to generate based on the program/application an executable computer program from execution, which in light of the teachings of Koh above shows the specifics of the graphical programming environment to generate a graphical program and together would show using a remote server in communication with the graphical programming environment, to generate, based on the graphical program, the executable computer program for execution by the microcontroller).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Williams showing the specifics of uploading development elements for other developers to use in an application development environment into the graphical programming development environment of Koh as modified by Ravish for the purpose of providing additional components for use in development environments to increase user desired control and customization of applications, as taught by Williams Col. 3 14-23 and Col. 6 lines 58-64.
Claims 16 and 22-25 are rejected under 35 U.S.C. 103 as being unpatentable over Koh and Ravish as applied to claims 14, 21 above, and further in view of Chandaria et al. (Pub. No. US 2015/0286362 A1)
As to claim 16, Koh does not specifically disclose, however, Ravish discloses wherein the executable computer program, when executed by the microcontroller, is configured to generate a real time operating system comprising at least one of (Ravish [0050] lines 1-4, [0055] lines 3-7 [0078] lines 1-8; which shows the graphical program/block diagram being executed where the block diagram can execute on a device with memory and process that can execute a real time operating system thus viewed as generate a real time operating system).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Ravish showing the specifics of in a graphical development environment being able to receive user input to define how operation for interfacing with an external device, into the graphical development environment of Koh for the purpose of increasing customization options available in the development environment by allowing further modification to address, add and correct issues when interacting with external devices as taught by Ravish [0003] lines 3-9 and [0020] lines 1-20.
Koh as modified by Ravish do not specifically disclose a real time operating system comprising at least one or: an abstraction layer that abstracts at least a portion of operation of the external circuit to communicate with the external circuit through an I/O pin to perform the at least a portion of operation of the external circuit; a thread to communicate with the external circuit through the I/O pin to perform the at least a portion of operation of the external circuit.
However, Chandaria discloses a real time operating system comprising at least one or: an abstraction layer that abstracts at least a portion of operation of the external circuit to communicate with the external circuit through an I/O pin to perform the at least a portion of operation of the external circuit; a thread to communicate with the external circuit through the I/O pin to perform the at least a portion of operation of the external circuit (Chandaria [0019] lines 1-10, [0033] lines 1-10, [0035] lines 1-14 and [0067] lines 1-14; which shows as part of a visual/graphical development environment for coding, being able to define and display pins associated with input output operations of the controllers that can interact/control a remote/external device thus for the generated and executing code associated with that visual representation would have as associated thread for communication with an external circuit/device through an IO pin to perform specific function/operation and thus in light of the teachings of Ravish showing the specifics of a graphical program being executed in a real time operating system can together show a real time operating system comprising: an abstraction layer that abstracts at least a portion of operation of the external circuit to communicate with the external circuit through an I/O pin to perform the one or more operations; a thread to communicate with the external circuit through the I/O pin to perform the one or more operations; or a combination thereof ).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Chandaria showing the specifics of including defining and display pin in a graphical development environment into the graphical programming development environment of Koh as modified by Ravish for the purpose increasing the speed in selecting and assigning attributes associated with a controller, as taught by Chandaria [0019] lines 1-13.
As to claim 22, Koh does not specifically disclose, however Ravish discloses wherein the microcontroller comprises: an input/output (I/O) pin in electrical communication with the external circuit; and a processor in communication with the external circuit through the I/O pin, wherein: the processor is configured to run a real time operating system (Ravish [0050] lines 1-4, [0055] lines 3-7 [0078] lines 1-8; which shows the graphical program/block diagram being executed where the block diagram can execute on a device with memory and processor that can execute a real time operating system thus viewed as the processors being configured to run a real time operating system).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Ravish showing the specifics of in a graphical development environment being able to receive user input to define how operation for interfacing with an external device, into the graphical development environment of Koh for the purpose of increasing customization options available in the development environment by allowing further modification to address, add and correct issues when interacting with external devices as taught by Ravish [0003] lines 3-9 and [0020] lines 1-20.
Koh as modified by Ravish do not specifically disclose wherein the microcontroller comprises: an input/output (I/O) pin in electrical communication with the external circuit; and a processor in communication with the external circuit through the I/O pin; and the real time operating system comprises the executable computer program that causes the processor to communicate with the external circuit through the I/O pin to perform one or more operations with the external circuit.
However, Chandaria discloses wherein the microcontroller comprises: an input/output (I/O) pin in electrical communication with the external circuit; and a processor in communication with the external circuit through the I/O pin (Chandaria [0019] lines 1-10, [0022] lines 10-18, [0033] lines 1-10, [0035] lines 1-14 and [0040] lines 1-12; which shows being able to define and configure pin layout for control, that can include input output pins and show the connections/communication with external/remote device/circuity where communication and thus viewed as showing the communication of the device/processor to the external device/circuit through the I/O pins);
and the real time operating system comprises the executable computer program that causes the processor to communicate with the external circuit through the I/O pin to perform one or more operations with the external circuit (Chandaria [0019] lines 1-10, [0022] lines [0033] lines 1-10, [0035] lines 1-14 and [0067] lines 1-14; which shows as part of a visual/graphical development environment for coding, being able to define and display pins associated with input output operations of the controllers that can interact/control a remote/external device thus the generated code executed could cause the processor to communicate with an external circuit/device through the pin to perform specific function/operation tied to the remote/external device, that in light of the teachings of Ravish above showing the specifics of the processor being configured to run a real time operating system can together show and the real time operating system comprises the executable computer program that causes the processor to communicate with the external circuit through the I/O pin to perform one or more operations with the external circuit).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Chandaria showing the specifics of including defining and display pin in a graphical development environment into the graphical programming development environment of Koh as modified by Ravish for the purpose increasing the speed in selecting and assigning attributes associated with a controller, as taught by Chandaria [0019] lines 1-13.
As to claim 23, Koh as modified by Ravish do not specifically disclose, however, Chandaria discloses wherein the executable computer program comprises: an abstraction layer that abstracts at least a portion of operation of the external circuit to communicate with the external circuit through the I/O pin to perform the at least a portion of operation of the external circuit; a thread to communicate with the external circuit through the I/O pin to perform the at least a portion of operation of the external circuit; or a combination thereof (Chandaria [0019] lines 1-10, [0033] lines 1-10, [0035] lines 1-14 and [0067] lines 1-14; which shows as part of a visual/graphical development environment for coding, being able to define and display pins associated with input output operations of the controllers that can interact/control a remote/external device thus for the generated and executing code associated with that visual representation it would have as associated thread, as the smallest sequence of instructions within an executing process, for communication with an external circuit/device through an IO pin to perform specific function/operation).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Chandaria showing the specifics of including defining and display pin in a graphical development environment into the graphical programming development environment of Koh as modified by Ravish for the purpose increasing the speed in selecting and assigning attributes associated with a controller, as taught by Chandaria [0019] lines 1-13.
As to claim 24, Koh does not specifically disclose, however, Ravish discloses wherein the one or more operations comprises: initializing the external circuit for operations; controlling a state of the external circuit while the external circuit is running; using the external circuit to perform the one or more operations; or a combination thereof Ravish [0007] lines 1-12, [0020] lines 1-20, [0047] lines 1-6, [0094] lines 1-6 and [0095] lines 1-14; which shows the generated and executed by a processor code, can include operation/instructions associated with an external device/circuits that can include initiation/starting of the external device/circuit operations and thus showings wherein the executable computer program, when executed by the microcontroller, is configured to cause the processor to interface with the external circuit by performing one or more operations with the external circuit, wherein the one or more operations comprises: initializing the external circuit for operation).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Ravish showing the specifics of in a graphical development environment being able to receive user input to define how operation for interfacing with an external device, into the graphical development environment of Koh for the purpose of increasing customization options available in the development environment by allowing further modification to address, add and correct issues when interacting with external devices as taught by Ravish [0003] lines 3-9 and [0020] lines 1-20.
As to claim 25, Koh does not specifically disclose, however Ravish discloses wherein the executable computer program further causes the processor to perform the one or more operations with one or more peripherals of the processor (Ravish [0007] lines 1-12, [0020] lines 1-20, [0047] lines 1-6, [0094] lines 1-6 and [0095] lines 1-14; which shows the generated and executed by a processor code, can include operation/instructions associated with an external device/circuits, viewed as a type of peripheral that can include initiation/starting of the external device/circuit operations and thus showings wherein the executable computer program, when executed by the microcontroller, is configured to cause the processor to interface with the external circuit by performing one or more operations with the external circuit, wherein the one or more operations comprises: initializing the external circuit for operation).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date to incorporate the teachings of Ravish showing the specifics of in a graphical development environment being able to receive user input to define how operation for interfacing with an external device, into the graphical development environment of Koh for the purpose of increasing customization options available in the development environment by allowing further modification to address, add and correct issues when interacting with external devices as taught by Ravish [0003] lines 3-9 and [0020] lines 1-20.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRADFORD F WHEATON whose telephone number is (571)270-1779. The examiner can normally be reached Monday-Friday 8:00-5:00 EST.
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, Chat Do can be reached at 571-272-3721. 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.
/BRADFORD F WHEATON/Examiner, Art Unit 2193