Ex Parte ClintonDownload PDFBoard of Patent Appeals and InterferencesApr 22, 201010179624 (B.P.A.I. Apr. 22, 2010) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE BOARD OF PATENT APPEALS AND INTERFERENCES ____________ Ex parte GREG C. CLINTON ____________ Appeal 2009-012376 Application 10/179,6241 Technology Center 2100 ____________ Decided: April 22, 2010 ____________ Before LEE E. BARRETT, LANCE LEONARD BARRY, and CAROLYN D. THOMAS, Administrative Patent Judges. BARRETT, Administrative Patent Judge. DECISION ON APPEAL This is a decision on appeal under 35 U.S.C. § 134(a) from the non-final rejection of claims 1-20. We have jurisdiction pursuant to 35 U.S.C. § 6(b). A telephonic hearing was held on April 15, 2010. We reverse. 1 Filed June 24, 2002, titled "Process Control Script Development and Execution Facility Supporting Multiple User-Side Programming Languages." The real party in interest is Invensys Systems, Inc. Appeal 2009-012376 Application 10/179,624 2 STATEMENT OF THE CASE The invention The invention relates to a supervisory process control and manufacturing information application development and execution system that supports the execution of application object scripts derived from multiple different scripting languages. Scripts are simple, interpreted, text- based program instructions that bridge the gap between functionality provided in a base system and its associated development tools, and a desired customized system configured for a particular process control application. Spec. 3, ll. 18-21. Script languages include Quick Script, IEC 1131 Structured Text, Visual Basic, Functional Block Charts, and Sequential Function Charts. Spec. 47, ll. 24-26. A "user side" of the system includes scripting languages utilized by developers in an integrated design environment (IDE) and an "execution side" includes a scripting language for presenting instructions to a scripting engine when application objects are processed in a runtime environment. Spec. 46, ll. 15-19. "In accordance with an embodiment of the present invention script instructions from two or more distinct user-side scripting languages are translated/mapped/compiled down to a same execution-side scripting language." Spec. 46, ll. 19-21; see also Spec. 48, ll. 22-23 ("the term translator is intended to be interpreted broadly to include compilers and interpreters"). For example, a script editor output includes script language tags indicating a particular one of the multiple user-side scripting languages, which tags operate as switches to invoke a particular one of the script Appeal 2009-012376 Application 10/179,624 3 translators. Spec. 48, ll. 13-18. The output of the script translators is code executable by a scripting engine. Spec. 48, ll. 24-25. Illustrative claim Claim 1 is reproduced below for illustration: 1. A supervisory process control and manufacturing information application development and execution system supporting the execution of application object scripts derived from multiple different scripting languages, the system comprising: a script editor interface facilitating specifying scripts for application objects, and wherein the script editor interface supports multiple distinct user-side script languages; a script translation component including routines for rendering execution-side script of a single execution-side scripting language from source script rendered by the script editor and written according to any of a set of user-side script languages, the set of user-side script languages including at least: a first scripting language, and a second scripting language; and a scripting engine for executing the execution-side script of the single execution-side scripting language generated by the script translation component for the first scripting language and the second scripting language. The references Nixon 5,801,942 Sept. 1, 1998 Irwin US 6,385,496 B1 May 7, 2002 Appeal 2009-012376 Application 10/179,624 4 Konstantinos Tourlas, Diagrammatic Representations in Domain- Specific Languages (2001) (doctorate dissertation, University of Edinburgh) ("Tourlas"). Steven Holzner, JavaScript Complete (1998 McGraw-Hill), pages i, ii, 13, 70, 75-78, 311-328 ("Holzner"). The rejections Claims 1, 12, and 18 stand rejected under 35 U.S.C. § 112 ¶ 2 as indefinite. Claims 1, 2, 7, 12, 13, 15, 18, and 20 stand rejected under 35 U.S.C. § 103(a) as unpatentable over Nixon and Tourlas. Claims 3-6, 10, 11, 14, 16, 17, and 19 stand rejected under 35 U.S.C. § 103(a) as unpatentable over Nixon and Tourlas, further in view of Holzner. Claims 8 and 9 stand rejected under 35 U.S.C. § 103(a) as unpatentable over Nixon and Tourlas, further in view of Irwin. 35 U.S.C. § 112 ¶ 2 Issue The Examiner considers it unclear whether the "multiple distinct user- side script languages" is intended to be the same as or different from the "multiple different scripting languages" in the preamble and that is unclear what relation the "set of user-side script languages" has to the "multiple different scripting languages." Non-Final Office Action (NFOA) 2.2 2 The appeal is taken from Office Action entered May 22, 2007, which is indicated to be final and non-final. We term the action non-final Appeal 2009-012376 Application 10/179,624 5 The issue is: Are the terms "multiple different scripting languages," "multiple distinct user-side script languages," and the "set of user-side script languages" indefinite? Principles of law Claims must be interpreted in light of the specification. See In re Morris, 127 F.3d 1048, 1054 (Fed. Cir. 1997) ("[I]t would be unreasonable for the PTO to ignore any interpretive guidance afforded by the applicant's written description . . . ."). The test for definiteness is whether one skilled in the art would understand the bounds of the claim when read in light of the specification. Orthokinetics, Inc. v. Safety Travel Chairs, Inc., 806 F.2d 1565, 1576 (Fed. Cir. 1986). If the claims read in light of the specification reasonably apprise those skilled in the art of the scope of the invention, § 112 demands no more. Miles Labs., Inc. v. Shandon Inc., 997 F.2d 870, 875 (Fed. Cir. 1993) (citation omitted). Analysis Appellant argues that the "multiple different scripting languages" in the preamble, the "multiple distinct user-side script languages," and the "set of user-side script languages" do not necessarily refer to the same exact thing, except that "[t]he sets supported by the editor and translator will, of but this does not affect the appeal in any way since the claims have been twice rejected. Appeal 2009-012376 Application 10/179,624 6 course, overlap with regard to at least the recited 'first' and 'second' scripting languages." Br. 6. We do not see any problem of indefiniteness with the claim language. The Examiner does not say whether the problem is that the limitation "multiple different scripting languages" uses the term "different" and "multiple distinct user-side script languages" uses the term "distinct" and how that creates an uncertainty, or whether the Examiner is criticizing the presence of the term "user-side" in the latter limitation and, if so, how that makes the claims indefinite. We see no indefiniteness created from the use of "distinct" instead of "different," nor any reason why the terms should be construed to refer to the exact same thing. Similarly, it is clear that the "set of user-side script languages" refers to a set of languages from the "multiple distinct user-side script languages." The Examiner does not explain how the terminology creates ambiguity or uncertainty in the scope of the claims. Conclusion The terms "multiple different scripting languages," "multiple distinct user-side script languages," and the "set of user-side script languages" have not been shown to be indefinite. Accordingly, the rejection of claims 1, 12, and 18 is reversed. Appeal 2009-012376 Application 10/179,624 7 35 U.S.C. § 103(a) Issue Does the combination of Nixon and Tourlas disclose or suggest the claimed "script translation component"? This limitation is present in all the independent claims. Principles of law "[T]he test [for obviousness] is what the combined teachings of the references would have suggested to those of ordinary skill in the art." In re Keller, 642 F.2d 413, 425 (CCPA 1981). "[T]he best defense against the subtle but powerful attraction of a hindsight-based obviousness analysis is rigorous application of the requirement for a showing of the teaching or motivation to combine prior art references." In re Dembiczak, 175 F.3d 994, 999 (Fed. Cir. 1999). The motivation, suggestion or teaching may come explicitly from statements in the prior art, the knowledge of one of ordinary skill in the art, or, in some cases the nature of the problem to be solved. Id. In analyzing whether it would have been obvious to one of ordinary skill in the art to make a modification or combination, there does not have to be an express teaching, suggestion, or motivation (TSM) in a published article or issued patent. KSR Int'l Co. v. Teleflex Inc., 550 U.S. 398, 419 (2007) ("The obviousness analysis cannot be confined by a formalistic conception of the words teaching, suggestion, and motivation, or by overemphasis on the importance of published articles and the explicit content of issued patents."). Appeal 2009-012376 Application 10/179,624 8 Findings of fact Nixon Nixon relates to a process control system including a graphical user interface which programs a control strategy using a control language selected from multiple standard control languages. Col. 2, ll. 5-8. The control languages may be IEC-1131 standard control languages. Col. 3, ll. 58-61. From a single application routine, a user selects a control language from among a plurality of control languages including, for example, Function Blocks, Sequential Function Charts, Ladder Logic and Structured Text, to implement a control strategy. Col. 3, ll. 61-65. Figure 22 show a block diagram of a program for defining a process configuration from a plurality of control languages. Using the module editor 2220, a user activates one language editor of multiple control language editors including an attribute editor program 2230, a Function Block Edit/View/Debug program 2240, a Sequential Function Chart program 2250, a Ladder Logic program 2270 and a Structured Text program 2290. The multiple control language editors operate with compatible databases and interfaces so that a common control strategy is defined using the different control language editors. Col. 30, l. 66 to col. 31, l. 16. "The control strategy is transferred from the editors into runtime engines using an install script. A plurality of control language execution engines execute the control strategy on one or more controller/multiplexers 110." Col. 31, ll. 37-41. For example, a Function Appeal 2009-012376 Application 10/179,624 9 Block program is implemented in a function block execution engine (col. 32, ll. 14-16), a Sequential Function Chart (SFC) program is implemented in a SFC execution engine (col. 33, ll. 8-11), and a Ladder Logic program is implemented in a Ladder Logic engine (col. 33, ll. 65-67). Tourlas Tourlas describes: "For the purposes of machine interpretation . . . function blocks are also given a textual representation in . . . Structured Text (ST)." P. 21. Tourlas describes that IEC 1131-3 function block "diagrams are internally translated into a textual form and are interpreted by microprocessors." P. 52. Analysis The "script translation component" limitation requires a routine for translating source script written in one of at least two scripting languages into a "single execution-side scripting language." The Examiner now admits that Nixon does not disclose the "script translation component" and relies on Tourlas. Ans. 14. Although we are not bound by an examiner's admissions, we agree with Appellant that Nixon does not describe a script translation component as claimed. Nixon teaches that that scripts in potentially many languages are incorporated into a control strategy, and the control strategy comprising modules written in potentially multiple control languages is transferred (for execution) to a plurality of control language execution engines. That is, a Appeal 2009-012376 Application 10/179,624 10 "plurality of control language execution engines execute the control strategy on one or more controller/multiplexers 110" (col. 31, ll. 39-41). For example, a Function Block program is implemented in a function block execution engine (col. 32, ll. 14-16), a Sequential Function Chart (SFC) program is implemented in a SFC execution engine (col. 33, ll. 8-11), and a Ladder Logic program is implemented in a Ladder Logic engine (col. 33, ll. 65-67). Therefore, the control strategy is described as comprised of several languages and is not a "single execution-side scripting language." Nixon is silent as to whether the multiple languages are "translated." The Examiner finds that "Nixon does not explicitly disclose a script translation component rendering execution-side script of a single execution- side scripting language." NFOA 3. The Examiner finds and concludes: Tourlas teaches "For the purposes of machine interpretation . . . function blocks are also given a textual representation in . . . Structured Text (ST)." (see pg. 21 under the heading 2.3.1 Function Blocks and their diagrams). It would have been obvious to a person of ordinary skill in the art at the time of the invention to represent scripts developed in Nixon's second scripting language (col. 31, lines 4-10 'Function Block . . . program') in the Structured Text Language as taught by Tourlas (pg. 21) in order to simplify Nixon's system by providing a single control language library and execution engine (Nixon col. 31, line 39- 41; col. 31, lines 10-14 'language editors operate with compatible databases') and further "so that a user easily and efficiently may use different editors for different purposes to best take advantage of different aspects of the languages" (Nixon col. 31, 13-16) regardless of the language the script was originally developed in. Appeal 2009-012376 Application 10/179,624 11 NFOA 3-4; Ans. 5-6. It is clearer in the Response to Arguments section of the Answer that the Examiner considers that the statement at page 21 describes a "translation." Ans. 14. The Examiner also refers (Ans. 14) to page 52 of Tourlas which states that "the diagrams are internally translated into textual form and are interpreted by microprocessor" and to section 4.6 which states that "[t]he system comprises seventeen equational laws which provide the means to link diagrams to the textual form of the language." Appellant notes that this is the first time the Examiner refers to page 52, but, in any case, page 52 merely states that each of the diagrammatic representations of control functions is eventually converted into machine-executable scripts and does not disclose a "script translation component" that converts at least first and second user-side scripting languages into a single execution-side scripting language. Reply Br. 6-7. It is argued that Tourlas describes the substantial challenges of translating a single diagram into machine-executable instructions, so one skilled in the art would not be inclined to take on the more formidable task of providing a script translation component that handles at least two distinct user-side script languages and Tourlas thus teaches away. Reply Br. 7. Appellant traverses the Examiner's assertion that translating scripts from multiple user-side script languages into a single execution-side script simplifies Nixon's system. Br. 8. It is argued that Nixon does not have a script translation component and incorporating such a component would not simplify Nixon since it would involve creating two interfaces and a Appeal 2009-012376 Application 10/179,624 12 translation component that supports at least two languages, and multiple distinct execution engines already exist in Nixon. Br. 8; Reply Br. 7. The Examiner responds that fewer script engines to implement and maintain would simplify the requirements for the execution environment "thus making the change a matter of engineering choice." Ans. 15. The Examiner further states that Nixon and Tourlas describe systems for editing and running scripts in the IEC 1131 specification, and one of ordinary skill in the art would have been capable of combining the various methods in Nixon and Tourlas without producing unexpected results. Id. Tourlas describes that IEC 1131-3 function block "diagrams are internally translated into a textual form and are interpreted by microprocessors." P. 52. Assuming that the function block diagrams are a form of "scripting language" and that the "textual form" is a form of "scripting language" because it is "interpreted" by a microprocessor, this suggests that a function block diagram scripting language is "translated" into an executable "scripting language." As disclosed by Appellant, any process by which programs written by a user and converted to a form that can be executed by a processor is a "translation"; see, e.g., Spec. 46, ll. 19-21; Spec. 48, ll. 22-23. However, it was noted at the oral hearing that the script must be translated to a "scripting language." In view of Tourlas, which teaches "translation" of Structured Text into executable script and the fact that Nixon gives Structured Text as an example of a scripting language, it would have been obvious to one of ordinary skill in the art that it the various scripting languages in Nixon could be separately translated into executable Appeal 2009-012376 Application 10/179,624 13 script to be executed on separate execution engines. However, more than mere translation is necessary to meet the claim language. Tourlas does not describe or suggest translating source script written in at least two scripting languages into a "single execution-side scripting language," but only teaches separate translation and separate execution. Nixon teaches that each language is interpreted by its own interpreter. The Examiner concludes that it would have been obvious to translate the scripting languages into a single language instead of separate languages to simplify Nixon. While this is logical, the Examiner points to no factual support for this motivation in Nixon or Tourlas, or in the knowledge of one skilled in the art. Conclusions of obviousness must be based on facts supported by evidence, so that the Board and any court reviewing our decision can make its own decision as to whether the facts support the conclusion. It is always possible to think of a reason why something would have been done after it has been disclosed. While we do not require an express teaching, suggestion, or motivation in a reference, there must be something more than a bare conclusion especially where, as here, the conclusion is just to do what Appellant has done. The Specification does not appear to describe more than the concept of translating multiple scripting languages to a single execution-side scripting language, but the Examiner has not shown any evidence of this multiple-to-one feature. We conclude that Appellant has shown error in the rejection. Appeal 2009-012376 Application 10/179,624 14 Conclusion The combination of Nixon and Tourlas has not been shown to disclose or suggest the claimed "script translation component." The rejection of claims 1, 2, 7, 12, 13, 15, 18, and 20 is reversed. The Examiner does not rely on Holzner or Irwin for the limitations found to be missing from Nixon and Tourlas. Accordingly, the rejections of claims 3-6, 8-11, 14, 16, 17, and 19 are reversed. CONCLUSION The rejection of claims 1, 12, and 18 under 35 U.S.C. § 112 ¶ 2 is reversed. The rejections of claims 1-20 under 35 U.S.C. § 103(a) are reversed. REVERSED erc LEYDIG VOIT & MAYER, LTD TWO PRUDENTIAL PLAZA, SUITE 4900 180 NORTH STETSON AVENUE CHICAGO, IL 60601-6731 Copy with citationCopy as parenthetical citation