Ex Parte Doran et alDownload PDFPatent Trial and Appeal BoardOct 19, 201210037175 (P.T.A.B. Oct. 19, 2012) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE UNITED STATES DEPARTMENT OF COMMERCE United States Patent and Trademark Office Address: COMMISSIONER FOR PATENTS P.O. Box 1450 Alexandria, Virginia 22313-1450 www.uspto.gov APPLICATION NO. FILING DATE FIRST NAMED INVENTOR ATTORNEY DOCKET NO. CONFIRMATION NO. 10/037,175 11/09/2001 James R. Doran END920010073US1 6793 7590 10/19/2012 John R. Pivnichny, Ph.D. IBM Corporation, N50/040-4 1701 North Street Endicott, NY 13760 EXAMINER TRUONG, LECHI ART UNIT PAPER NUMBER 2194 MAIL DATE DELIVERY MODE 10/19/2012 PAPER Please find below and/or attached an Office communication concerning this application or proceeding. The time period for reply, if any, is set in the attached communication. PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ____________ Ex parte JAMES R. DORAN, PAUL WILLIAM EVERETT, GORDAN G. GREENLEE, and ASHRAF N. IBRAHIM ____________ Appeal 2010-005648 Application 10/037,175 Technology Center 2100 ____________ Before ST. JOHN COURTENAY III, MARC S. HOFF, and ANDREW J. DILLON, Administrative Patent Judges. COURTENAY III, Administrative Patent Judge. DECISION ON APPEAL Appellants appeal under 35 U.S.C. § 134(a) from a final rejection of claims 1-22. We have jurisdiction under 35 U.S.C. § 6(b). We reverse. Appeal 2010-005648 Application 10/037,175 2 STATEMENT OF THE CASE Appellants’ claimed invention relates generally “to apparatus and methods for providing directory service to user applications.” (Spec. 1). In particular, the invention on appeal is directed to the “use of a web server having an API (application programming interface) coupled to a data store of directory entries and a wrapper for accepting queries from a user application.” (Id.). Independent claim 1, reproduced below, is representative of the subject matter on appeal: 1. An enterprise directory service apparatus, comprising: a data store having a plurality of directory entries; a web server having an API coupled to said data store, for sending a query to said data store and receiving a directory entry; and a wrapper coupled to said API adapted for accepting said query from a user application in a plurality of programming languages. (disputed limitations emphasized). REJECTIONS (1) The Examiner rejected claims 1, 2, 4, 5, 7-11, 13, 15-18, and 20-22 under 35 U.S.C. § 103(a) as being unpatentable over the combined teachings and suggestions of Kirkwood (US Patent No. 6,665,662 B1) and Lippert (US Patent No 6,356,906 B1). (2) The Examiner rejected claims 3 and 12 under 35 U.S.C. § 103(a) as being unpatentable over the combined teachings and suggestions Appeal 2010-005648 Application 10/037,175 3 of Kirkwood in view of Lippert as applied to claim 1 above and further in view of Kumar (US Patent No. 6,343,287 B1). (3) The Examiner rejected claims 6, 14, and 19 under 35 U.S.C. § 103(a) as being unpatentable over the combined teachings and suggestions of Kirkwood in view of Lippert, as applied to claim 1 above, and further in view of Coden (US Patent 5,873,080). ISSUE This appeal turns upon claim construction. Based upon our review of the record, the question presented is whether a broad but reasonable interpretation, consistent with Appellants’ Specification, of the disputed claim term “a plurality of programming languages” (claim 1) encompasses markup languages, such as XML, and database query languages such as SQL, as proffered by the Examiner (Ans. 5, 9-10), within the meaning of Appellants’ independent claims? Appellants’ Contentions Appellants present the following principal arguments traversing the Examiner’s rejection of the independent claims over the combination Kirkwood and Lippert: It is well known that programming languages are different from and distinguishable over query languages, such as SQL or markup languages such as HTML or XML. For example, programming languages are used by programmers to create executable applications. Query languages and markup languages are not used this way. One of ordinary skill would not be confused and could easily determine whether a language is a programming language, a query language, or a markup language. Appeal 2010-005648 Application 10/037,175 4 As noted by the examiner in the Final Office Action dated 09/28/2005, page 2, last paragraph, Kirkwood does not describe a wrapper adapted for accepting a query in a plurality of programming languages. In fact, Kirkwood’s server side adapter accepts and passes only XML documents. See Kirkwood, column 22, lines 5 - 8, and 21 - 27. XML is a markup language, for example, see Lippert, column 1, lines 40 - 44. XML is not a programming language. (App. Br. 5). Appellants’ independent claims require a web server having an API coupled to a data store and a wrapper coupled to the API adapted for accepting a query from a user application in a plurality of programming languages. Although Lippert, as noted above, describes wrapping in a markup language and wrapping in a transport protocol, Lippert does not describe how his server accepts and processes a query. He does state in column 10, lines 23 - 35, that his invention can be used with any database query language and any markup language, he does not describe, suggest, or imply that a query in a plurality of programming languages can be accepted. In fact, in his statement of advantages of his invention in column 10, line 61 - column 11, line 4, Lippert notes that various clients and servers having inherent database capability such as SQL (a query language but not a programming language) can interact because his queries and responses are wrapped with transport protocols and markup languages understood by the other clients and other servers. However, he does not describe or suggest anything about accepting a query in a plurality of programming languages as required by Appellants’ independent claims. (App. Br. 6). The Examiner disagrees: Kirkwood does not explicitly teach a wrapper is adapted the query from a user application in a plurality of programming languages. However, Lippert teaches the invention is not particularly limited to using any of these constructs or adaptations, however. Other constructs and adaptations can be Appeal 2010-005648 Application 10/037,175 5 used to adapt SQL (Structured Query Language) to XML, or any other database query language to any other markup language for example (col 10, ln 20-24)/ a predetermined query language such as SQL. The method wraps the query according to a predetermined markup language, such as XML (col 2, ln 26-30/ col 5, ln 63-67). In addition[], [a] wrapper [for] accept[ing] [said] query in the plurality of programming languages is not described in the specification instead … the specification page 11, ln[s.] 10-15 said the wrappers may interface to user applications specific to other programming languages such as the Rexx programming language or the C programming languages. The examination of the claims was based on the meaning described in the specification. Examples of such programming languages are given in Appellants specification page 11 as Java, Lotus Script, Rexx, and C was not in the claim limitation[s]. (Ans. 9). ANALYSIS This appeal presents a close question. At the outset, we agree with the Examiner (Id.) that Appellants merely present examples of several programming languages in the portions of the Specification proffered as support for the disputed claim limitation “a plurality of programming languages.” (See App. Br. 3; see also independent claims 1, 10, 18, 20, and 22). We also find no express definition for “programming languages” within the Specification. When we look to the Specification for context, Appellants point to, inter alia, portions of page 11 as providing support: Wrapper 1 may be written to interface to Java applications and wrapper 2 written to interface to LOTUS SCRIPT® application. Other wrappers may interface to user applications specific to other programming languages such as the REXX programming language or the “C” programming language or other 151 programming languages. API locator 18 accepts the Appeal 2010-005648 Application 10/037,175 6 query from wrapper 1 or wrapper 2, may perform some formatting, protocol, or programming language conversions, and locates the proper API, in this case either API 1 or API 2, to process the query. (Spec. 11, ll. 10-18). We observe that each of the aforementioned programming languages (listed as examples) in the Specification is executable, or may be interpreted (as a script) to become executable. (Id.). In particular, we observe that the supporting portions of the Specification pointed to by Appellants1 are silent regarding any description of a programming language that is a database query language, such as SQL, or a markup language, such as XML or HTML, as relied on by the Examiner in the rejection of each independent claim on appeal: Kirkwood does not explicit[ly] teach a wrapper is adapted for accepting query in a plurality of programming languages. However, Lippert teaches a wrapper is adapted for accepting [a] query in a plurality of programming languages (a predetermined query language such as SQL. The method wraps the query according to a predetermined markup language, such as XML, col 2, ln 26-30/ col 5, ln 63-67/ other constructs and adaptations can be used to adapt SQL to XML, or any other database query language to any other markup language, col 10, and ln 20-25). (Rejection of claim 1, Ans. 5). We also observe that the secondary Lippert reference relied on by the Examiner (Id.) broadly contemplates alternative embodiments that may implement any database query language or any markup language: 1 See App. Br. 3, pointing to p. 10, ll. 1-22, p. 11, ll. 12-15, and p. 13, ll. 11- 14 as support. Appeal 2010-005648 Application 10/037,175 7 As can be appreciated by those of ordinary skill within the art, the constructs and adaptations listed in this section are for one particular embodiment of adapting SQL to XML. The invention is not particularly limited to using any of these constructs or adaptations, however. Other constructs and adaptations can be used to adapt SQL to XML, or any other database query language to any other markup language, for example. (Lippert, col. 10, ll. 16-24, emphasis added). Having exhausted our review of the intrinsic record, including the plain language of the claims, and the supporting description in the Specification and drawings, we look, as a last resort, to extrinsic evidence in the form of dictionaries to provide guidance regarding how the claim term “programming languages” would have been understood by an artisan at the time2 of Appellants’ invention: (1) Microsoft Press Computer Dictionary, Third Edition (Microsoft Press, 1997, p. 385) defines “programming language” as “[a]ny artificial language that can be used to define a sequence of instructions that can ultimately be processed and executed by the computer. Defining what is or is not a programming language can be tricky, but general usage implies that the translation process – from the source code expressed using the programming language to the machine code that the computer needs to work with – be automated by means of another program, such as a compiler. Thus, English and other natural languages are ruled out, although some subsets of English are used and understood by some fourth generation languages.” (2) The Authoritative Dictionary of IEEE Standards Terms, Seventh Edition (IEEE Press 2000, p. 876) defines “programming language” as “[a] computer language used to express computer programs. Contrast: design language; query language; specification language; test language.” 2 Appellants’ effective filing date is Nov 9, 2001. Appeal 2010-005648 Application 10/037,175 8 We particularly observe that the aforementioned Microsoft definition essentially hinges on whether a source code associated with a particular programming language may be translated to an executable form. We also note that the aforementioned IEEE definition expressly excludes query languages from being considered within the meaning of a programming language. As mentioned above, this appeal presents a close question. However, based upon our review of the claims and Specification, and in consideration of the extrinsic dictionary evidence discussed above, we are of the view that Appellants’ construction of “a plurality of programming languages” more closely comports with the usage that an artisan at the time of the invention would have understood, i.e., as encompassing languages that are executable, thus excluding database query languages, such as SQL, and markup languages, such as XML and HTML. For these reasons, we conclude that the Examiner’s construction of “a plurality of programming languages” (as recited in each independent claim on appeal) is overly broad and inconsistent with Appellants’ Specification.3 On this record, we find the weight of the evidence supports the Appellants’ position favoring a more narrow construction that would have been understood by an artisan at the time of the invention. Therefore, we 3 During patent examination, the pending claims must be given their broadest reasonable interpretation consistent with the specification. In re Hyatt, 211 F.3d 1367, 1372 (Fed. Cir. 2000). The broadest reasonable interpretation of the claims must also be consistent with the interpretation that those skilled in the art would reach. In re Cortright, 165 F.3d 1353, 1358 (Fed. Cir. 1999). Appeal 2010-005648 Application 10/037,175 9 reverse the Examiner’s obviousness rejection of each independent claim on appeal over the combination of Kirkwood and Lippert. (See rejection 1). Moreover, given Appellants’ statement of record (reproduced below), we are also of the view that Appellants have unequivocally disavowed a construction of the claimed “plurality of programming languages” which would cover database query languages, such as SQL, and markup languages such as XML and HTML: It is well known that programming languages are different from and distinguishable over query languages, such as SQL or markup languages such as HTML or XML. For example, programming languages are used by programmers to create executable applications. Query languages and markup languages are not used this way. One of ordinary skill would not be confused and could easily determine whether a language is a programming language, a query language, or a markup language. (App. Br. 5, para. 2). Regarding remaining rejections 2 and 3, we do not find, and the Examiner has not established, that the additional cited secondary references overcome the aforementioned deficiencies of the base combination of Kirkwood and Lippert. Therefore, because we have reversed the Examiner’s rejection of each independent claim on appeal, we also reverse the Examiner’s rejections of each dependent claim on appeal. Appeal 2010-005648 Application 10/037,175 10 DECISION The Examiner’s decision rejecting claims 1-22 under § 103(a) is reversed. REVERSED Peb/pgc Copy with citationCopy as parenthetical citation