Ex Parte Krishnaprasad et alDownload PDFPatent Trial and Appeal BoardFeb 26, 201311100083 (P.T.A.B. Feb. 26, 2013) 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. 11/100,083 04/05/2005 Muralidhar Krishnaprasad 50277-2614 2898 42425 7590 02/27/2013 HICKMAN PALERMO TRUONG BECKER BINGHAM WONG/ORACLE 1 Almaden Boulevard Floor 12 SAN JOSE, CA 95113 EXAMINER CHEMPAKASERIL, ANN J ART UNIT PAPER NUMBER 2166 MAIL DATE DELIVERY MODE 02/27/2013 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 MURALIDHAR KRISHNAPRASAD, ZHEN HUA LIU, VIKAS ARORA, JAMES W. WARNER, and ANAND MANIKUTTY ____________ Appeal 2010-006759 Application 11/100,083 Technology Center 2100 ____________ Before JOHN A. JEFFERY, BARBARA A. BENOIT, and JAMES B. ARPIN, Administrative Patent Judges. BENOIT, Administrative Patent Judge. DECISION ON APPEAL This is an appeal under 35 U.S.C. § 134(a) from the rejection of claims 1-19. We have jurisdiction under 35 U.S.C. § 6(b). We affirm-in- part. Appeal 2010-006759 Application 11/100,083 2 STATEMENT OF THE CASE Appellants’ invention relates to object-relational database systems that process Extensible Markup Language (XML) values to preserve node identities of nodes in the XML values, enabling node-id based operations to be performed more efficiently. See generally Abstract. Claims 1, 10, and 16 are illustrative and read as follows, with key disputed limitations emphasized: 1. A method for generating a representation of an XML value type, comprising the steps of: for each XML value of a plurality of XML values, generating a serialized image; wherein each XML value includes at least one node, each node of said at least one node having a node value; and within each serialized image generated for each XML value of said plurality of XML values, storing a node identifier that uniquely identifies said at least one node relative to any other node in the plurality of XML values. 10. A computer-implemented method, the method comprising the steps of: a database system receiving a database query that includes a first expression and a second expression that returns one or more XML values; wherein an evaluation of the second expression requires access to an in-memory structure representing an XML value; during an evaluation of the first expression, generating the in-memory representation representing the XML value and a pointer to the in-memory representation; and Appeal 2010-006759 Application 11/100,083 3 during an evaluation of the second expression, accessing the in-memory representation using the pointer. 16. A computer-implemented method, the method comprising the steps of: generating an in-memory representation of an XML value in the memory of a computer; generating a first serialized image of the XML value that contains a first pointer to the in-memory representation; and generating a second serialized image of the XML value that contains a second pointer to the in-memory representation of the XML value. The Rejection The Examiner rejected claims 1-19 under 35 U.S.C. § 102(e) as anticipated by Van der Linden (US 2005/0050059 A1; filed Aug. 25, 2003). Ans. 3-9. 1 ANALYSIS Claims 1 and 6-9 The Examiner finds that Van der Linden discloses every element of claim 1, including (i) generating a serialized image for each XML value of plural XML values and (ii) storing, within each serialized image generated for each XML value of the plural XML values, a node identifier that uniquely identifies the at least one node relative to any other node in the plural XML values. Ans. 3-4. 1 Throughout this opinion, we refer to the Appeal Brief filed August 26, 2009 (App. Br.); the Examiner’s Answer mailed November 12, 2009 (Ans.); and the Reply Brief filed January 11, 2010 (Reply Br.). Appeal 2010-006759 Application 11/100,083 4 Van der Linden describes storing a structured document, such as a document written in XML, in its native form in a database. Abstract; ¶¶ 0002, 0006. To do so, Van der Linden receives the XML document, generates a hierarchical node tree representing the XML document, and stores the nodes of the hierarchical node tree in an XML record in the database. ¶ 0006; Fig. 3. Van der Linden’s XML record comprises a node slot array and nodes, where each entry in the node slot array points to a node. ¶¶ 0024, 0029; Fig. 4. The Examiner finds that Van der Linden’s generating a record for each XML document of multiple XML documents discloses generating a serialized image for each XML value of a plurality of XML values, as recited in claim 1. Ans. 3-4 (citing ¶ 0006). The Examiner equates Van der Linden’s XML document with the recited XML value and equates Van der Linden’s XML record with the recited serialized image. Ans. 4. Appellants argue that Van der Linden’s XML record is not a serialized image as recited in claim 1 because Van der Linden’s XML record (i.e., the recited serialized image) does not store within itself a node identifier that uniquely identifies the node relative to other nodes in the records that correspond to plural XML documents (i.e., the recited XML values). App. Br. 10-11; Reply Br. 11-12. To meet this limitation, under the Examiner’s interpretation of Van der Linden’s XML record 500 as a serialized image, as recited in claim 1, Van der Linden must disclose, explicitly or inherently, that a node identifier is stored within the XML record uniquely identifies at least one node in the XML record relative to any other node in the XML records. Appeal 2010-006759 Application 11/100,083 5 The Examiner first points to the XID of the root node 508 as the node identifier stored in the serialized image, noting that the XID of the root node (called a rootID) comprises the record slot number 505 (in the record slot array 504 on page 502) and the node slot number 507 (in the node slot array 506 in XML record 500 (i.e., the recited serialized image). Ans. 4 (citing ¶ 0030), 10, 11, 12. As correctly noted by Appellants (App. Br. 10, Reply Br. 11), Van der Linden describes storing the rootID in the anchor table 400, which is not the same as storing the rootID in the XML record 500. ¶ 0031 (stating “[i]n another preferred embodiment…, the root ID is stored in an anchor table”); see also Fig. 6 (depicting an anchor table having an XML document identifier column and an XML Type column where the rootID is stored). In response, the Examiner then points to Van der Linden’s description of the node slot array 506 and nodes 508 representing at least one XML document 202 in the XML record 500. Ans. 11 (citing ¶ 0024). Referring to Figures 5 and 7A, Van der Linden explains that a node slot entry 507b in a node slot array 506 can point to a node 508b that resides within the same XML record 500a as contains the node slot array 506 or can point to a node 508c that resides in a different XML record 500b. ¶ 0034; Figs. 5, 7A. Thus, based on this functionality, we agree with the Examiner (Ans. 11) that the XML record (i.e., serialized image) stores a node identifier (i.e., node slot entry) that refers to nodes represented in the XML record or another XML record. This discloses storing, within an XML record, a node identifier that uniquely identifies at least one node in the XML record relative to other nodes in the XML documents. Appeal 2010-006759 Application 11/100,083 6 Appellants do not persuasively argue why this functionality – unique identification by node slot entries in an XML record of nodes within the XML record and across XML records – does not disclose the recited serialized image that stores within itself a node identifier that uniquely identifies the node relative to other nodes in the plural XML values. See Reply Br. 11-12. Appellants’ arguments that (i) node slot entries that point to a node in another XML record (Reply Br. 11) only store the record number and slot number of the pointed-to node, (ii) the offset used to identify a node in the XML record (id.) only identifies where a node can be found in the XML record, and (iii) child pointers in nodes only point to a node slot entry in the XML record (id. at 12), are unavailing. These arguments unduly focus on the particular, individual mechanisms that Van der Linden describes for using node slot entries to uniquely identify a node in any XML record, and ignore Van der Linden’s description of using node slot entries to identify either (i) a node that resides within the same XML record as the node slot array or (ii) a node that resides in a different XML record than the node slot array in which the node slot entry exists. See ¶ 0034; Figs. 5, 7A. Appellants further argue that Van der Linden’s record is not a serialized image because (1) the XML document is parsed using a standard XML parser, (2) generating nodes are generated from the parsed XML data, and (3) storing the nodes in a standard database record is not the same as storing a serialized stream, as required by claim 1. App. Br. 10; Reply Br. 10. Appellants’ argument is not persuasive because claim 1, in reciting “for each XML value of a plurality of XML values, generating a serialized image,” does not recite the manner of generating the serialized image. Thus, Appeal 2010-006759 Application 11/100,083 7 claim 1 does not preclude the manner in which Van der Linden describes generating an XML record (i.e., serialized image) – that is, through the use of a standard XML parser. Moreover, claim 1 only requires storing a node identifier within each serialized image and does not require storing a serialized image, as Appellants contend (Reply Br. 10). Thus, Appellants’ argument is unpersuasive because it is not consistent with the claim language. We therefore are not persuaded of error in the Examiner’s rejection of independent claim 1 or dependent claims 6-9, not argued separately with particularity. We sustain the rejection of these claims. Claims 2-5 Claim 2, which depends from claim 1, recites “performing a node-id based operation by comparing the node identifier of the first serialized image to the node identifier of the second serialized image.” For this feature, the Examiner relies on Van der Linden’s description of a node tree that does not fit within one XML record. Ans. 4-5 (citing ¶¶ 0032-36; Figs. 7A-7B). Instead, the nodes of the node tree representing the XML document are distributed over multiple XML records. ¶ 0032. In particular, the Examiner finds that the comparing limitation is disclosed by Van der Linden’s “comparing the slot entries in record 500a and 500b.” Ans. 5 (citing ¶¶ 0032-36). In response to Appellants’ correct conclusion that Van der Linden does not describe comparing node identifiers in paragraphs 0032-0036 (App. Br. 11-12; Reply Br. 12-13), the Examiner for the first time points to paragraph 0052 of Van der Linden (Ans. 12-13), which describes searching nodes for an element or attribute name. If a “hint” stored in a pointer to a Appeal 2010-006759 Application 11/100,083 8 node matches the search target, then the pointer with the hint is followed to the node. ¶ 0052. As such, Van der Linden describes a comparison between a “hint” stored in a pointer and the node search target. We agree with Appellants that such a comparison is not a comparison of the node identifier of the first serialized image to the node identifier of the second serialized image, as recited by claim 2 (App. Br. 13-14). We therefore do not sustain the rejection of claim 2 or claims 3-5, which depend directly or indirectly from claim 2. Independent Claim 10 The Examiner finds that Van der Linden discloses every element of independent claim 10, including during an evaluation of the first expression included in a database query, generating the in-memory representation representing the XML value and a pointer to the in-memory representation. Ans. 7-8. The Examiner relies on paragraph 0052 of Van der Linden, discussed above, to disclose generating the in-memory representation during evaluation of the first expression included in a database query. In response to Appellants’ correct conclusion that both Van der Linden’s hint and the XML record are generated before, and not during, the evaluation of an expression included in a query as required by the claim (App. Br. 12-13), the Examiner explains that “[c]laim 10 is interpreted to mean that the in-memory representation is already generated to execute the query” (Ans. 15). The Examiner’s interpretation that the in-memory representation is generated before evaluating the first expression received in a database query is not consistent with the plain language of claim 10, which requires “receiving a database query that includes a first expression” and “during an evaluation of the first expression, generating the in-memory Appeal 2010-006759 Application 11/100,083 9 representation.” Claim 10 requires generating the in-memory representation during an evaluation of the first expression, which, on this record, we are persuaded is not disclosed in Van der Linden. We therefore do not sustain independent claim 10 or dependent claims 11-15. Independent Claim 16 The Examiner finds that Van der Linden discloses every element of independent claim 16. Ans. 6 (citing ¶¶ 0032-36). As discussed above with respect to 2, the portion of Van der Linden relied on by the Examiner describes a node tree that is distributed across multiple XML records. While not a model of clarity, the rejection equates Van der Linden’s (1) second record 500b with the in-memory representation, (2) stored XML documents in their native format with the recited first serialized image, and (3) XML record 500 with the second serialized image. Id. Appellants argue that Van der Linden does not anticipate claim 16 because Van der Linden does not describe generating two serialized images, each of which contains a pointer to the same in-memory representation of the XML value. App. Br. 18-19; Reply Br. 26-28. Appellants attempt to support their position by asserting that neither Van der Linden’s description of hierarchical relationships between parent-child nodes (App. Br. 19; Reply Br. 26-27) nor Van der Linden’s description of node search “hints” (Reply Br. 27) disclose generating two serialized images to point to the same in- memory representation of an XML value. Appellants, however, do not squarely address – much less persuasively rebut – the Examiner’s finding that Van der Linden’s second record 500b is the in-memory representation Appeal 2010-006759 Application 11/100,083 10 that is pointed to by the XML documents stored in their native form and by XML record 500. On the record before us, we are not persuaded of error in the rejection of claim 16 and its dependent claims 17-19, 2 not separately argued with particularity (App. Br. 19; Reply Br. 28). Therefore, we sustain the rejection of these claims. CONCLUSION Under § 102, the Examiner did not err in rejecting claims 1, 6-9, and 16-19, but erred in rejecting claims 2-5 and 10-15. ORDER The Examiner’s decision rejecting claims 1-19 is affirmed-in-part. No time period for taking any subsequent action in connection with this appeal may be extended under 37 C.F.R. § 1.136(a)(1)(iv). AFFIRMED-IN-PART kis 2 Claim 18 is similar to claim 2 in that both claims recite “performing a node-id based operation by comparing.” Claims 2 and 18, however, are dissimilar in that (1) each claim depends from a different independent claim and (2) claim 18 recites “comparing the first pointer to the second pointer,” whereas claim 2 recites “comparing the node identifier of the first serialized image to the node identifier of the second serialized image.” Appellants do not raise particular arguments regarding the patentability of claim 18 (see App. Br. 19; Reply Br. 28) as they did for claim 2. Nor do Appellants assert that claim 18 should be treated similarly to claim 2, despite the dissimilarities in the claims. Copy with citationCopy as parenthetical citation