scispace - formally typeset
Search or ask a question
Author

Balasubramanyam Sthanikam

Bio: Balasubramanyam Sthanikam is an academic researcher from Business International Corporation. The author has contributed to research in topics: Streaming XML & XML validation. The author has an hindex of 8, co-authored 11 publications receiving 200 citations.

Papers
More filters
Patent
04 Jun 2009
TL;DR: In this article, the authors propose an efficient way for a database server to process certain kinds of queries over XML data stored in an object-relational database that require the evaluation of a predicate expression with one or more path-based operands.
Abstract: The approaches described herein provide an efficient way for a database server to process certain kinds of queries over XML data stored in an object-relational database that require the evaluation of a predicate expression with one or more path-based operands. A predicate expression part of a XQuery or SQL WHERE clause that returns a boolean value. A database server first determines whether the query qualifies for this particular kind of optimization, then rewrites the query using an enhanced query operator syntax for specifying the predicate expression to be evaluated. The enhanced query operator subsumes the work of a second path-based query operator, resulting in the suppression of the WHERE EXISTS subquery. The rewritten query operator is used to generate a query execution plan that provides for several query execution optimizations.

67 citations

Patent
28 Jul 2008
TL;DR: In this paper, techniques for ensuring lexical fidelity when an XML document is stored in a binary format are provided, such as removing unnecessary whitespace characters, data type conversions, CRLF normalization, collapsing of two-tag empty elements into a single tag empty element, and replacing of entity references or numeric character references with another value.
Abstract: Techniques are provided for ensuring lexical fidelity when an XML document is stored in a binary format. Operations, on the XML data, that would cause the loss of lexical fidelity between the original XML document and the binary-encoded version of the XML document are not performed. Such operations include the removal of unnecessary whitespace characters, certain data type conversions, CRLF normalization, the “collapsing” of two-tag empty elements into a single tag empty element, and the replacing of entity references or numeric character references with another value. An XML schema, to which the XML document conforms, may indicate that the XML document is to be stored in a lexical fidelity mode. Additionally, or alternatively, the database statement that (when executed) causes the XML document to be stored in a binary format may so indicate.

22 citations

Patent
16 Feb 2007
TL;DR: White space opcodes/operand pairs are used in this article to represent white space characters and white space patterns in binary XML data and are used to generate the original white space when the binary XML is decoded back to textual XML data.
Abstract: Techniques are described for preserving the original insignificant white space of XML data. The techniques may be used in combination with compact XML data storage formats, such as binary XML, to preserve the insignificant white space without requiring as much storage space as uncompressed formats. White space opcodes/operand pairs are described for representing white space characters and white space patterns. The white space opcode/operand pairs represent the white space in binary XML, are use to generate the original white space when the binary XML is decoded back to textual XML data.

22 citations

Patent
10 Apr 2006
TL;DR: In this paper, an edit graph is generated for computing the cost of possible edits that may be applied to a first XML document in order to generate a second XML document, where a hash value is assigned to nodes included in the axes of the edit graph.
Abstract: A technique for differencing XML documents is provided. An edit graph is generated for computing the cost of possible edits that may be applied to a first XML document in order to generate a second XML document. A hash value is assigned to nodes included in the axes of the edit graph, where one axis includes nodes in the first XML document and the other axis includes nodes in the second XML document. The hash value may be generated based on a particular node's name and attributes, and the hash value of the name and attributes of each child node of the particular node. A technique for patching an XML document is also provided. Events are generated for each node in the input document and for at least one operation specified in the edit script. The edit script is applied to the input document by performing one or more operations specified in the operation events on one or more node events.

21 citations

Patent
28 May 2009
TL;DR: In this article, a path-based row source is modified to use the predicate condition to filter the rows it generates so that only rows satisfying the predicate conditions need to be further processed.
Abstract: The approaches described herein provide an efficient way to process certain kinds of queries that retrieve XML data stored in an object-relational database. An XML query may include a predicate condition that joins two row sources. One or both of the row sources required for predicate evaluation may be path-based; that is, consume and produce rows of XMLType data. Such a path-based row source may be modified to use the predicate condition to filter the rows it generates so that only rows satisfying the predicate condition need to be further processed. A small cache structure introduced into the path-based row source may be used to optimize the evaluation of the predicate row. Once populated with row data, the cache structure may be reorganized to optimize the performance of predicate evaluation.

14 citations


Cited by
More filters
Patent
30 Dec 2010
TL;DR: In this paper, a query operator that uses data having a format different from the storage model format of at least one of one or more data items stored in the database and converting the format of the data used by the operator to a format that matches the format that is similar to or different from that of the stored data items is discussed.
Abstract: Devices, methods and systems for processing database queries formatted differently than the database storage model being queried are disclosed. Processing database queries independent of the storage model of the queried database may be performed by receiving a query for one or more data items stored in a database, determining whether to use at least one query operator that uses data having a format different from the storage model format of at least one of one or more data items stored in the database and converting the format of the data used by the at least one query operator to a format that matches the storage model format of at least one of one or more data items stored in the database. Related systems, methods, and articles of manufacture are also described.

83 citations

Patent
02 Mar 2009
TL;DR: In this article, a method for processing a data stream includes receiving a tuple and determining a tuple specification that defines a layout of the tuple, which identifies one or more data types that are included in the tuple.
Abstract: Techniques for reducing the memory used for processing events received in a data stream are provided. This may be achieved by reducing the memory required for storing tuples. A method for processing a data stream includes receiving a tuple and determining a tuple specification that defines a layout of the tuple. The layout identifies one or more data types that are included in the tuple. A tuple class corresponding to the tuple specification may be determined. A tuple object based on the tuple class is instantiated, and during runtime of the processing system. The tuple object is stored in a memory.

74 citations

Patent
15 Mar 2013
TL;DR: In this article, the duration for a candidate pattern match may be based upon one or more attributes of an event that started the pattern match or based upon an expression (e.g., an arithmetic expression) involving one or multiple attributes of the event.
Abstract: Techniques for performing non-event pattern matching on continuous event streams using variable duration. The duration value used in non-event pattern matching can be variable. Accordingly, a first pattern match candidate can have a different associated duration from a second pattern match candidate for matches arising from events received via an event stream. In certain embodiments, the duration for a candidate pattern match may be based upon one or more attributes of an event that started the candidate pattern match or based upon an expression (e.g., an arithmetic expression) involving one or more attributes of the event.

68 citations

Patent
04 Jun 2009
TL;DR: In this article, the authors propose an efficient way for a database server to process certain kinds of queries over XML data stored in an object-relational database that require the evaluation of a predicate expression with one or more path-based operands.
Abstract: The approaches described herein provide an efficient way for a database server to process certain kinds of queries over XML data stored in an object-relational database that require the evaluation of a predicate expression with one or more path-based operands. A predicate expression part of a XQuery or SQL WHERE clause that returns a boolean value. A database server first determines whether the query qualifies for this particular kind of optimization, then rewrites the query using an enhanced query operator syntax for specifying the predicate expression to be evaluated. The enhanced query operator subsumes the work of a second path-based query operator, resulting in the suppression of the WHERE EXISTS subquery. The rewritten query operator is used to generate a query execution plan that provides for several query execution optimizations.

67 citations

Patent
18 Feb 2015
TL;DR: In this article, a query for processing at least a portion of a data stream may be identified, and code identifying an attribute of the identified stream may also be received, and in some aspects, the code may be configured to partition the data stream into sub-streams based at least in part on the attribute.
Abstract: Techniques for partitioning data streams are provided. In some examples, a query for processing at least a portion of a data stream may be identified. The data stream may be associated with a user. Additionally, in some examples, code identifying an attribute of the identified stream may be received. The code may be capable of configuring the query based at least in part on the attribute. Further, in some aspects, the code may be configured to partition the data stream into at least a sub-stream based at least in part on the attribute.

67 citations