Patents by Inventor Nipun Agarwal

Nipun Agarwal has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8346725
    Abstract: XML schema evolutions can be performed on an XML-type database using partial data copy techniques. The partial data copy techniques provide mechanisms to identify a minimal set of data in the database that needs be copied out in order for schema evolution operations to occur. Identifying the minimal set of data involves comparing an existing XML schema to a new XML schema and determining the differences between the two schemas. Based on those differences, a minimal set of data can be determined. That data can then be copied to a temporary storage location, while the XML schema and its associated database structure are updated to conform to the new XML schema. Then, the minimal set of data is copied back into the modified database structure.
    Type: Grant
    Filed: September 15, 2006
    Date of Patent: January 1, 2013
    Assignee: Oracle International Corporation
    Inventors: Thomas Baby, Abhyudaya Agrawal, Sam Idicula, Nipun Agarwal
  • Patent number: 8326839
    Abstract: A two-level cache to facilitate resolving resource path expressions for a hierarchy of resources is described, which includes a system-wide shared cache and a session-level cache. The shared cache is organized as a hierarchy of hash tables that mirrors the structure of a repository hierarchy. A particular hash table in a shared cache includes information for the child resources of a particular resource. A database management system that manages a shared cache may control the amount of memory used by the cache by implementing a replacement policy for the cache based on one or more characteristics of the resources in the repository. The session-level cache is a single level cache in which information for target resources of resolved path expressions may be tracked. In the session-level cache, the resource information is associated with the entire path expression of the associated resource.
    Type: Grant
    Filed: November 9, 2009
    Date of Patent: December 4, 2012
    Assignee: Oracle International Corporation
    Inventors: Sam Idicula, Sabina Petride, Bhushan Khaladkar, Nipun Agarwal
  • Patent number: 8301620
    Abstract: The approaches described herein provide an efficient way for a database server to process certain kinds of queries that require the evaluation of an aggregation function over XML data stored in an object-relational database. An aggregation function takes multiple inputs and generates a single output. A database server first determines whether the query qualifies for this particular kind of optimization, then creates a query execution plan that specifies the use of an enhanced path-based row source, eliminating the need for a second path-based row source for computing the aggregation function. The enhanced path-based row source specified in the query execution plan computes an aggregation function and stores the result of that function computation in a column of each row. The XPath evaluation results that are the individual inputs to the aggregation function are only stored temporarily until they are used to compute the aggregation function.
    Type: Grant
    Filed: May 28, 2009
    Date of Patent: October 30, 2012
    Assignee: Oracle International Corporation
    Inventors: Balasubramanyam Sthanikam, Sam Idicula, Nipun Agarwal
  • Publication number: 20120272137
    Abstract: Data used and generated by the process of validating XML documents is divided into two categories: compile-time static data and runtime data. Runtime data may be specific to a particular XML document and changes when validating the XML document, while compile-time data does not change in this way. For example, compile-time data may be data that defines, according to a schema, the descendant elements and ordering between them. Runtime data is information generated to track which descendants occurred in a particular XML document being validated. Compile-time static data, once generated to validate a particular XML document, is cached within a shared volatile memory. Once the compile-time data is cached, the compile-time static data may be used to validate other XML documents without the need to regenerate the compile-time static data.
    Type: Application
    Filed: June 26, 2012
    Publication date: October 25, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: VIJAY MEDI, SAM IDICULA, NIPUN AGARWAL
  • Patent number: 8255372
    Abstract: Data used and generated by the process of validating XML documents is divided into two categories: compile-time static data and runtime data. Runtime data may be specific to a particular XML document and changes when validating the XML document, while compile-time data does not change in this way. For example, compile-time data may be data that defines, according to a schema, the descendant elements and ordering between them. Runtime data is information generated to track which descendants occurred in a particular XML document being validated. Compile-time static data, once generated to validate a particular XML document, is cached within a shared volatile memory. Once the compile-time data is cached, the compile-time static data may be used to validate other XML documents without the need to regenerate the compile-time static data.
    Type: Grant
    Filed: January 18, 2010
    Date of Patent: August 28, 2012
    Assignee: Oracle International Corporation
    Inventors: Vijay Medi, Sam Idicula, Nipun Agarwal
  • Patent number: 8250062
    Abstract: A database system may perform a streaming evaluation of an XPath expression by utilizing an XPath evaluation component in tandem with an XML event-streaming component. For a more optimal filtered streaming evaluation, the XML event-streaming component may provide an interface whereby the evaluation component sends certain criteria to the event-streaming component when requesting an XML event. The criteria may be based on a next unmatched step in the XPath expression. In response to the request for an XML event, the event-streaming component may only return events that match the criteria. The evaluation component may be, for example, a compiled state machine for the XPath expression. The criteria may be pre-compiled for each possible state in the state machine. The event-streaming component may also utilize the criteria along with schema information to skip parsing of certain segments of XML data.
    Type: Grant
    Filed: November 9, 2007
    Date of Patent: August 21, 2012
    Assignee: Oracle International Corporation
    Inventors: Ning Zhang, Sivasankaran Chandrasekar, Nipun Agarwal, Sam Idicula
  • Patent number: 8239373
    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. A technique determines whether a query comprises a plurality of iteration expressions that exhibit a particular relationship to one another, and if so, re-writes the query and produces an optimized query execution plan. The query execution plan specifies an XPath-based row source with caching enabled. A very small cache structure is used, and reference locators are stored in the cache that point into binary-encoded data rather than copying XMLType data into the cache. Row data may be cached on the first use of the path-based row source and re-used in subsequent requests for rows. Once there is a subsequent request for rows from the optimized path-based row source, the cache may be reorganized to efficiently produce the rows of the row source.
    Type: Grant
    Filed: May 18, 2009
    Date of Patent: August 7, 2012
    Assignee: Oracle International Corporation
    Inventors: Balasubramanyam Sthanikam, Sam Idicula, Nipun Agarwal
  • Patent number: 8224837
    Abstract: Techniques are provided for accessing and storing files within a virtual folder. A virtual folder is a folder that is logically a part of a hierarchical folder structure of a file system repository, but the contents of the virtual folder are not physically stored in the file system repository. A client may issue, to an access mechanism, a request to perform a file operation on a file in a virtual folder. The access mechanism, which may be a database server or a component therein, may perform the file operation on the file in the virtual folder as if the file was stored in a particular folder within the hierarchical folder structure implemented by the file system repository. Advantageously, files may be physically stored outside of the file system repository, but still be a part of the hierarchical folder structure implemented by the file system repository.
    Type: Grant
    Filed: June 29, 2005
    Date of Patent: July 17, 2012
    Assignee: Oracle International Corporation
    Inventors: Namit Jain, Nipun Agarwal, Vikram Kapoor, Syam Pannala, Ravi Murthy
  • Patent number: 8219569
    Abstract: A method and system for the in-place evolution of XML schemas is disclosed. To automatically evolve an existing XML schema, a schema evolver receives both an existing XML schema and an XML document as input. The XML document indicates changes to be made to the existing XML schema. Based on the existing XML schema and the XML document, the schema evolver evolves the existing XML schema into a new XML schema that incorporates the changes indicated in the XML document. According to one aspect, the schema evolver generates one or more SQL statements based on the new XML schema. The SQL statements, when executed by a database server, cause the database server to evolve database structures that were based on the formerly existing XML schema so that the database structures conform to the new XML schema. This is accomplished “in place,” without copying the data in the database structures.
    Type: Grant
    Filed: August 25, 2003
    Date of Patent: July 10, 2012
    Assignee: Oracle International Corporation
    Inventors: Sam Idicula, Sivasankaran Chandrasekar, Nipun Agarwal, Ravi Murthy
  • Patent number: 8209361
    Abstract: Techniques are described herein for efficient and scalable processing of complex sets of XML schemas. The techniques described herein provide for reducing duplication of schema elements in volatile memory by building an XML schema in-memory model that stores repeating schema elements in in-memory data structures that are separate from in-memory data structures that store the parent schema elements which logically include or otherwise refer to the repeating schema elements. The techniques described herein also provide for faster generation of an in-memory model of an XML schema by pre-loading, in data structures on persistent storage, of schema elements from dependent XML schemas that are referenced and/or incorporated by the XML schema.
    Type: Grant
    Filed: January 19, 2010
    Date of Patent: June 26, 2012
    Assignee: Oracle International Corporation
    Inventors: Sam Idicula, Asha Tarachandani, Sivasankaran Chandrasekar, Vijay Medi, Ali Tabar, Nipun Agarwal
  • Patent number: 8209352
    Abstract: A method, mechanism, and computer program product for storing, accessing, and managing XML data is disclosed. The approach supports efficient evaluation of XPath queries and also improves the performance of data/fragment extraction. The approach can be applied to schema-less documents. The approach is applicable to all database systems and other servers which support storing and managing XML content. In addition, the approach can be applied to store, manage, and retrieve other types of unstructured or semi-structured data in a database system.
    Type: Grant
    Filed: January 13, 2009
    Date of Patent: June 26, 2012
    Assignee: Oracle International Corporation
    Inventors: Ravi Murthy, Nipun Agarwal, Eric Sedlar
  • Publication number: 20120150865
    Abstract: Techniques are provided to achieve performance improvements for path-based access to hierarchical data and for utilizing an extensible indexing framework. Extensible operators may be optimized by evaluating the operators using functions native to the database system instead of using functions defined through an extensible indexing mechanism. Furthermore, the database system may resolve a resource path of a query when the query is compiled, and may store the mapping of the resource path to one or more resources in a cursor for the query execution plan to avoid resolving the resource path each time the cursor is used to run the query. The cursor may be made dependent on the one or more resources to which the resource path refers at compile time. This takes advantage of the observation that the mapping of the resource path to particular resources rarely changes between evaluations of a particular query.
    Type: Application
    Filed: January 17, 2012
    Publication date: June 14, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Asha Tarachandani, Bhushan Khaladkar, Sam Idicula, Adiel Yoaz, Nipun Agarwal
  • Patent number: 8200679
    Abstract: Techniques are provided for estimating the cardinality of a virtual result table that is produced by executing path-based table functions within a query, such as the XMLTABLE function. Some path-based table functions apply a path expression to input from a base table of XML documents to select rows to produce the result table. Path statistics are collected for the path expressions for the base table. The path statistics are used to estimate the cardinalities of the result table. The estimated cardinality of the result table is useful for estimating costs of query execution plans that are generated for the query.
    Type: Grant
    Filed: December 4, 2008
    Date of Patent: June 12, 2012
    Assignee: Oracle International Corporation
    Inventors: Ning Zhang, Sam Idicula, Sivasankaran Chandrasekar, Nipun Agarwal
  • Publication number: 20120143919
    Abstract: A method for storing XML documents a hybrid navigation/streaming format is provided to allow efficient storage and processing of queries on the XML data that provides the benefits of both navigation and streaming and ameliorates the disadvantages of each. Each XML document to be stored is independently analyzed to determine a combination of navigable and streamable storage format that optimizes the processing of the data for anticipated access patterns.
    Type: Application
    Filed: December 6, 2010
    Publication date: June 7, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Sam Idicula, Balasubramanyam Sthanikam, Nipun Agarwal
  • Patent number: 8180791
    Abstract: A query is rewritten to combine streaming evaluation and XML index evaluation. The query is rewritten to include a streaming operator (e.g. function) that, when executed, uses streaming evaluation. Further, the query is rewritten so that XML index evaluation of a path expression also produces location information that identifies the location of a node within an XML document. The streaming operator is able to exploit the location information to begin and end scanning rather than scanning the entire XML document.
    Type: Grant
    Filed: November 8, 2007
    Date of Patent: May 15, 2012
    Assignee: Oracle International Corporation
    Inventors: Ning Zhang, Thomas Baby, Sivasankaran Chandrasekar, Nipun Agarwal
  • Patent number: 8176007
    Abstract: A method and apparatus for performing an action in response to a file system event is provided. According to one aspect, sets of “event listeners” are associated with a file hierarchy and/or the nodes thereof. Each event listener contains a set of “event handlers.” Each event handler corresponds to a separate type of event that may occur relative to the file hierarchy's nodes. When an event is going to occur relative to the hierarchy or a node thereof, all event listeners that are associated with that hierarchy/node are inspected to determine whether those event listeners contain any event handlers that correspond to the event's type. Those event handlers that correspond to the event's type are placed in an ordered list of event handlers to be invoked. As the event handlers in the list are invoked, programmatic mechanisms that correspond to those event handlers are executed to perform customized user-specified actions.
    Type: Grant
    Filed: February 11, 2011
    Date of Patent: May 8, 2012
    Assignee: Oracle International Corporation
    Inventors: Thuvan Hoang, Sam Idicula, Nipun Agarwal, Ravi Murthy, Asha Tarachandani, Namit Jain, Eric Sedlar
  • Patent number: 8161035
    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.
    Type: Grant
    Filed: June 4, 2009
    Date of Patent: April 17, 2012
    Assignee: Oracle International Corporation
    Inventors: Ning Zhang, Sam Idicula, Balasubramanyam Sthanikam, Nipun Agarwal
  • Patent number: 8161074
    Abstract: A modular repository is described, where operational features may be implemented without the need to scan every resource included in the modular repository. A modular repository includes a dedicated set of database objects containing all information needed to access the resources in the repository. For example, the database objects of a modular repository may include those user identifier mappings and ACL mappings, etc., to which metadata in the modular repository refers. A database system may also include a mechanism through which a modular repository may be mounted under a subdirectory of a common directory in the database system. The resources of a modular repository that are mounted under the common directory may be accessed through the common directory. Further, a client may query the resources of any modular repository mounted under the common directory by making the federated repository, represented by the common directory, the context of the query.
    Type: Grant
    Filed: September 15, 2009
    Date of Patent: April 17, 2012
    Assignee: Oracle International Corporation
    Inventors: Sivasankaran Chandrasekar, Sam Idicula, Nipun Agarwal, Viswanathan Krishnamurthy
  • Patent number: 8145993
    Abstract: Systems, methods, and other embodiments associated with providing an XML-based translation service are described. One method embodiment includes accessing a translation-aware XML document that may comply with a translation-enabling XML schema. The document may store a first XML element that stores translatable data and a second XML element that stores a translation of the translatable data. The schema may describe that the first XML element includes a first identifier that identifies the first element as storing translatable data. The schema may also describe that the second XML element includes a second identifier that identifies the second element as storing a translation for translatable data. The method may also include establishing a session language identifier and providing a virtual view of the translation-aware XML document, the virtual view being determined, at least in part, by the session language identifier.
    Type: Grant
    Filed: January 3, 2007
    Date of Patent: March 27, 2012
    Assignee: Oracle International Corporation
    Inventors: Nipun Agarwal, Sanket Malde, Bhushan Khaladkar, Eric Sedlar
  • Publication number: 20120066271
    Abstract: A modular repository is described, where operational features may be implemented without the need to scan every resource included in the modular repository. A modular repository includes a dedicated set of database objects containing all information needed to access the resources in the repository. For example, the database objects of a modular repository may include those user identifier mappings and ACL mappings, etc., to which metadata in the modular repository refers. A database system may also include a mechanism through which a modular repository may be mounted under a subdirectory of a common directory in the database system. The resources of a modular repository that are mounted under the common directory may be accessed through the common directory. Further, a client may query the resources of any modular repository mounted under the common directory by making the federated repository, represented by the common directory, the context of the query.
    Type: Application
    Filed: November 21, 2011
    Publication date: March 15, 2012
    Inventors: Sivasankaran Chandrasekar, Sam Idicula, Nipun Agarwal, Viswanathan Krishnamurthy