Kyle J. Charlet et al.Download PDFPatent Trials and Appeals BoardNov 29, 201914199581 - (D) (P.T.A.B. Nov. 29, 2019) 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. 14/199,581 03/06/2014 Kyle J. Charlet SVL920130167US1/ IBMP099 7660 63056 7590 11/29/2019 MOLLBORN PATENTS, INC. 2840 COLBY DRIVE BOULDER, CO 80305 EXAMINER MAHMOOD, REZWANUL ART UNIT PAPER NUMBER 2164 NOTIFICATION DATE DELIVERY MODE 11/29/2019 ELECTRONIC 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. Notice of the Office communication was sent electronically on above-indicated "Notification Date" to the following e-mail address(es): MOLLBORN@MOLLBORN.COM admin@mollborn.com eofficeaction@appcoll.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE ________________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ________________ Ex parte KYLE J. CHARLET, NATHAN D. CHURCH, KEVIN D. HITE, and RICHARD V. TRAN ________________ Appeal 2018-008499 Application 14/199,581 Technology Center 2100 ________________ Before BARBARA A. BENOIT, SHARON FENICK, and RUSSELL E. CASS, Administrative Patent Judges. CASS, Administrative Patent Judge. DECISION ON APPEAL Appellant1 appeals under 35 U.S.C. § 134(a) from the Examiner’s final rejection of claims 8–20 under 35 U.S.C. § 103. Appeal Br. 9–16. 2 Claims 1–7 have been cancelled. Id. at 18. We have jurisdiction under 35 U.S.C. § 6(b). We reverse. 1 We use the word “Appellant” to refer to “applicant” as defined in 37 C.F.R. § 1.42. Appellant lists International Business Machines Corporation Inc. as the real party in interest. Appeal Brief filed December 12, 2017 (“Appeal Br.”) 1. 2 Rather than repeat the Examiner’s positions and Appellant’s arguments in their entirety, we refer to the above mentioned Appeal Brief, as well as the following documents for their respective details: the Final Action mailed June 22, 2017 (“Final Act.”); the Examiner’s Answer mailed June 28, 2018 (“Ans.”); and the Reply Brief filed August 28, 2018 (“Reply Br.”). Appeal 2018-008499 Application 14/199,581 2 BACKGROUND The present invention relates to managing data conversion for user defined data types within a database management system (DBMS). Spec. ¶ 1. The Specification explains that applications may use custom data types (CDTs), which are defined as data types (such as a bit string with each bit representing a pre-determined value) that cannot be expressed as a series of built-in data types already supported by a DBMS. Id. ¶ 2. According to the Specification, CDTs may be stored in a database as a binary data type. Id. However, according to the Specification, it can be difficult to manage the sharing of information and data conversion code for CDTs across an enterprise, because CDTs require custom code (i.e., a type converter) to read and write the data from a DBMS to the calling application. Id. ¶ 3. As a result, it may be necessary to have type converters for the same data type in multiple programming languages and to support various versions of the type converter code. Id. According to the Specification, the invention seeks to overcome this problem by storing, within a DBMS, a custom data type definition and one or more converters that can convert instances of the custom data type between a binary format and a programming language format. Id. ¶¶ 6, 18. The DBMS can receive a request by an application for a custom data type instance in a specified programming language format. Id. ¶ 6. The DBMS can retrieve a custom data type as well as a type converter. Id. ¶¶ 26–29, Fig. 3. The application can then convert the binary data into a custom type object in the specified programming language format. Id. ¶¶ 15, 17, 29, Fig. 3. Appeal 2018-008499 Application 14/199,581 3 Claim 8 is illustrative of the claims at issue: 8. A computer program product for managing data conversion for a custom data type in a database system, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code executable by a processor, to: store a custom data type definition and one or more converters within a database management system, each converter being configured to convert instances of the custom data type between a binary format and a specific programming language format; receive, by the database management system, a request from an application for a custom data type instance in a specified programming language format; respond to the request with: the custom data type definition, a converter configured to convert instances of the custom data type between the binary format and the requested programming language format, and the requested custom data type instance expressed in the binary format; and convert, by the application, the custom data type instance expressed in the binary format into a custom data type instance expressed in the specified programming language format using a read method of the converter and the custom data type definition. Appeal Br. 18 (Claims Appendix). Appeal 2018-008499 Application 14/199,581 4 THE EXAMINER’S REJECTIONS In the Final Office Action, the Examiner rejected claims 8–11 and 14– 18 under 35 U.S.C. § 103 as being unpatentable over Govindarajan (US 2002/0174128 A1; published Nov. 21, 2002) in view of Block (US 2011/0282914 A1; published Nov. 17, 2011) and Back (US 7,620, 526 B2; issued Nov. 17, 2009). The Examiner also rejected claims 12, 13, 19, and 20 under 35 U.S.C. § 103 as being unpatentable over Govindarajan in view of Block, Back and Sezgin (US 7,539,688 B2; issued May 26, 2009). ANALYSIS With respect to claim 8, the Examiner relies on Govindarajan to teach, inter alia, “stor[ing] a custom data type definition and one or more converters within a database management system, each converter being configured to convert instances of the custom data type between a binary format and a specific programming language format.” Final Act. 6–7 (citing Govindarajan ¶¶ 4, 5, 32, 36, 45, 76, 87, and 103). Specifically, the Examiner finds that paragraph 36 of Govindarajan discloses “creating a routine internal to the database for invoking external routines to convert data, which is a converter routine being internally stored in a database management system.” Ans. 4. The Examiner does not rely on any of the other cited references for this limitation. Final Act. 8–10. Appellant responds that “[w]hile Govindarajan may disclose user- defined types and routines that uses such user-defined data types, and the notion of ‘user supplied routines,’ which are considered to be equivalent to the claimed converters by the Examiner, [Govindarajan] is completely silent about how and where these user supplied routines are stored.” Reply Br. 2 Appeal 2018-008499 Application 14/199,581 5 (emphasis added). Appellant further contends that, even “[a]s described by the Examiner, Govindarajan’s routine is internal to the database and it invokes external routines which convert the data,” and “having an internal routine that can call some external routine and have that external routine convert data, cannot reasonably be considered equivalent to storing converters within a database management system, as claimed.” Id. at 2–3. We agree with Appellant. Govindarajan discloses storing data in a “RAW” data type in a database, which is “simply a dump of bytes with no structure” to “store the data for complex user-defined data types that have attributes that are not easily converted to any data type supported by the database system.” Govindarajan ¶ 32. Govindarajan also discloses converters for converting a user-defined data type (referred to as “TYPE1”) to a RAW data type and vice versa. Id. ¶¶ 36–48. As shown in Figure 2, these converters (shown by “user TYPE1 to RAW conversion” and “RAW to user TYPE1 conversion”) are contained within “APP1,” which is a set of “user implemented routines” that “represent and manipulate data using a complex user-defined data type (‘TYPE1’)”: Appeal 2018-008499 Application 14/199,581 6 Figure 2 of Govindarajan illustrates routines in APP1 for converting between user-defined data types used by an application and RAW data types for storage in the DBMS. More specifically, Govindarajan discloses that APP1 implements an “external my_method routine” that is invoked by a routine internal to the DBMS. Id. ¶¶ 36–38. This external my_method routine includes a “raw-to- struct(a) statement” that “invokes a user-supplied routine that converts the data item from the RAW format used by the database to store the data item to the TYPE1 format used by APP1” and a “struct-to-raw(a)” statement that “converts the data item from the TYPE1 structure back to the RAW format Appeal 2018-008499 Application 14/199,581 7 used by the database.” Id. ¶¶ 38–45. Thus, Govindarajan discloses converters external to the DBMS. We agree with Appellant that using an external, user-supplied converter to convert data stored in the database from one type to another, as disclosed in Govindarajan, is different from “storing a custom data type definition and a converter within a database management system,” as recited in claim 8. See Reply Br. 2–3. This language in claim 8 requires that the converter is stored within the database management system. Govindarajan does not disclose that the converter is stored within the database management system itself, as claim 8 requires, but instead refers to the converter as “user-supplied” and describes their use before data is supplied “to the routines within APP1” that require converted data. Govindarajan ¶¶ 45, 47. The fact that the external converters are called indirectly by a routine internal to the DBMS does not alter our conclusion, because the claim requires that the “converter” be stored within the DBMS, not that code that calls the converter is within the DBMS. Therefore, we find that the Examiner has failed to establish that Govindarajan discloses “storing a custom data type definition and a converter within a database management system,” as recited in claim 8. The Examiner does not rely on any of the other cited references for this limitation. Final Act. 8–10. Consequently, we reverse the Examiner’s rejection of claim 8. We also reverse the Examiner’s rejection of independent claim 15, which includes similar limitations as claim 8, and claims 9–14 and 16–20, which are dependent on claim 8 or 15. Appeal 2018-008499 Application 14/199,581 8 CONCLUSION We reverse the Examiner’s rejection of claims 8–20 under 35 U.S.C. § 103. In summary: Claims Rejected 35 U.S.C. § Reference(s)/Basis Affirmed Reversed 8–11, 14–18 103 Govindarajan, Block, Back 8–11, 14–18 12, 13, 19, 20 103 Govindarajan, Block, Back, Sezgin 12, 13, 19, 20 Overall Outcome 8–20 REVERSED Copy with citationCopy as parenthetical citation