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: 9135301
    Abstract: A system and method for performing a query operation on a pair of relations in a database system coupled to a heterogeneous system (HS) is disclosed. Assuming that that pair of relations is partitioned and already loaded into the HS, the database system receives a query on the pair of relations and based on the type of query operation computes the cost of performing the query operation on the database alone or the costs of performing the query operation with the assistance of the HS, each of the costs corresponding to a particular algorithm. If the costs indicate that the HS improves the performance of the query operation, then the HS computes portions of the operation, and returns the results back to the database system. If any parts of the relation are out of sync with the database system, the database system performs operations to maintain transactional consistency.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: September 15, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Sabina Petride, Sam Idicula, Rajkumar Sen, Nipun Agarwal
  • Publication number: 20150186543
    Abstract: A method and apparatus for processing path-based database operations is provided. According to one aspect, a path cache is maintained. For each hierarchical node that is traversed during a path-determining operation, it is determined whether a cache entry corresponding to that node is already contained in the path cache. If such a cache entry is already contained in the path cache, then the path indicated in that cache entry is used to complete the pathname for the node for which the operation is being performed. As a result, hierarchically higher nodes do not need to be traversed to complete the operation. Alternatively, if such a cache entry is not already contained in the path cache, then a cache entry for the node currently being traversed is generated and inserted into the path cache for use in subsequent path-determining operations.
    Type: Application
    Filed: January 28, 2015
    Publication date: July 2, 2015
    Inventors: SAM IDICULA, NIPUN AGARWAL, RAVI MURTHY, ERIC SEDLAR
  • Patent number: 9069878
    Abstract: A database server determines, on an element-level of granularity, what form of VARRAY storage to map collections of elements defined by a XML schema. A collection element may be mapped to an in-line VARRAY or an out-of-line VARRAY. The determination may based on a variety of factors, including the database type mapped to the collection element, database limitations that limit the form storage for certain database types, and annotations (“mapping annotations”) embedded within that XML schema that specifying a database type for database representation of a collection element or a form of VARRAY storage.
    Type: Grant
    Filed: October 7, 2005
    Date of Patent: June 30, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Abhyudaya Agrawal, Sivasankaran Chandrasekar, Ravi Murthy, Nipun Agarwal, Eric Sedlar
  • Patent number: 9043308
    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: Grant
    Filed: January 17, 2012
    Date of Patent: May 26, 2015
    Assignee: Oracle International Corporation
    Inventors: Asha Tarachandani, Bhushan Khaladkar, Sam Idicula, Adiel Yoaz, Nipun Agarwal
  • Patent number: 9031932
    Abstract: A system and method for improving performance of join operations is disclosed. The method in one embodiment includes building a graph of vertices and edges, which represent the tables and join conditions for a particular database schema. The method then traverses the graph to find a set of candidate join operations. The method further includes selecting from the set of subset of join operations that makes the best use of a given amount of memory, which means finding a collection of denormalizations which when residing in memory provide the most benefit and the least cost for the given amount of memory. The method then deploys the denormalizations so that current queries in a query processing system can use them instead of actually performing the joins.
    Type: Grant
    Filed: September 6, 2012
    Date of Patent: May 12, 2015
    Assignee: Oracle International Corporation
    Inventors: Sam Idicula, Sabina Petride, Nipun Agarwal
  • Publication number: 20150039853
    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, it is determined whether to perform a database operation using one or more vectorized instructions or without using any vectorized instructions. This determination may comprise estimating a first cost of performing the database operation using one or more vectorized instructions and estimating a second cost of performing the database operation without using any vectorized instructions. Multiple factors that may be used to determine which approach to follow, such as the number of data elements that may fit into a SIMD register, a number of vectorized instructions in the vectorized approach, a number of data movement instructions that involve moving data from a SIMD register to a non-SIMD register and/or vice versa, a size of a cache, and a projected size of a hash table.
    Type: Application
    Filed: August 1, 2013
    Publication date: February 5, 2015
    Applicant: Oracle International Corporation
    Inventors: Rajkumar Sen, Sam Idicula, Nipun Agarwal
  • Publication number: 20150039626
    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, a hash table build phase involves executing vectorized instructions to determine whether a bucket in a hash table includes a free slot for inserting a key. A number of data elements from the bucket are loaded in a register. A vectorized instruction is executed against the register may be used to determine a position, within the register, that contains the “smallest” data element. If the data element at that position is zero (or negative), then it is determined that the corresponding position in the bucket is an available slot for inserting a key and corresponding data value.
    Type: Application
    Filed: July 31, 2013
    Publication date: February 5, 2015
    Applicant: Oracle International Corporation
    Inventors: Rajkumar Sen, Nipun Agarwal
  • Publication number: 20150039852
    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, data compaction is performed using vectorized instructions to identify a shuffle mask based on matching bits and update an output array based on the shuffle mask and an input array. In a related technique, a hash table probe involves using vectorized instructions to determine whether each key in one or more hash buckets matches a particular input key.
    Type: Application
    Filed: August 1, 2013
    Publication date: February 5, 2015
    Applicant: Oracle International Corporation
    Inventors: Rajkumar Sen, Sam Idicula, Nipun Agarwal
  • Publication number: 20150039627
    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, a hash table probe phase involves executing vectorized instructions to determine where in a bucket a particular key is located. This determination may be preceded by one or more vectorized instructions that are used to determine whether the bucket contains the particular key.
    Type: Application
    Filed: July 31, 2013
    Publication date: February 5, 2015
    Applicant: Oracle International Corporation
    Inventors: Rajkumar Sen, Sabina Petride, Nipun Agarwal
  • Publication number: 20150039628
    Abstract: Techniques for performing database operations using vectorized instructions are provided. In one technique, an aggregation operation involves executing vectorized instructions to update a data value that corresponds to a particular key. The aggregation operation may be one of count, sum, minimum, maximum, or average.
    Type: Application
    Filed: August 1, 2013
    Publication date: February 5, 2015
    Applicant: Oracle International Corporation
    Inventors: Rajkumar Sen, Sabina Petride, Nipun Agarwal
  • Patent number: 8949455
    Abstract: A method and apparatus for processing path-based database operations is provided. According to one aspect, a path cache is maintained. For each hierarchical node that is traversed during a path-determining operation, it is determined whether a cache entry corresponding to that node is already contained in the path cache. If such a cache entry is already contained in the path cache, then the path indicated in that cache entry is used to complete the pathname for the node for which the operation is being performed. As a result, hierarchically higher nodes do not need to be traversed to complete the operation. Alternatively, if such a cache entry is not already contained in the path cache, then a cache entry for the node currently being traversed is generated and inserted into the path cache for use in subsequent path-determining operations.
    Type: Grant
    Filed: November 21, 2005
    Date of Patent: February 3, 2015
    Assignee: Oracle International Corporation
    Inventors: Sam Idicula, Nipun Agarwal, Ravi Murthy, Eric Sedlar
  • Publication number: 20150012486
    Abstract: A database management server manages a distributed data set at least partially stored in volatile memory of a plurality of nodes. The database management server stores transaction logs in persistent storage corresponding to one or more database transactions performed on the distributed data set. In response to a query, a join operation is performed with assistance from the cluster. A snapshot identifier identifies a particular database state that is transactionally consistent. Based on the transactional logs, updated data blocks updated after the snapshot identifier of the query are identified. The cluster is instructed to perform one or more distributed join operations on the distributed data set without processing data in the updated data blocks. The database management server performs a partial join evaluation on the updated data blocks.
    Type: Application
    Filed: September 25, 2014
    Publication date: January 8, 2015
    Inventors: Sam Idicula, Sabina Petride, Nipun Agarwal, Eric Sedlar
  • Patent number: 8930348
    Abstract: A mechanism is provided for detecting and disregarding application specific nodes contained in shared XML documents. The techniques described involve determining one or more application specific nodes within XML documents and performing path expression evaluations of the XML documents as if the nodes are not present. In one embodiment, a mechanism is provided by which a user may specify the criterion that determine which subset of node in XML documents are to be ignored from path expression evaluations and evaluating a query that specifies a path operation based on a path and ignoring said identified nodes when evaluating said path operation.
    Type: Grant
    Filed: July 29, 2013
    Date of Patent: January 6, 2015
    Assignee: Oracle International Corporation
    Inventors: Asha Tarachandani, Sivasankaran Chandrasekar, Man-Hay Tam, Anh-Tuan Tran, Ravi Murthy, Nipun Agarwal, Eric Sedlar
  • Patent number: 8909599
    Abstract: Techniques are provided for transporting subset of databases containing binary XML data. In one embodiment, a method is provided that allows transporting binary XML data that conforms to schema by also transporting the schema entries that are necessary to derive the binary XML. In another embodiment, a method is provided that allows transporting binary XML data that does not conform to schema by also transporting the token tables that contain the mapping for the binary XML.
    Type: Grant
    Filed: November 16, 2006
    Date of Patent: December 9, 2014
    Assignee: Oracle International Corporation
    Inventors: Bhushan Khaladkar, Nipun Agarwal, Asha Tarachandani, Sivansankaran Chandrasekar, Sabina Petride
  • Patent number: 8849871
    Abstract: A system and method for allocating join processing between and RDBMS and an assisting cluster. In one embodiment, the method estimates a cost of performing the join completely in the RDBMS and the cost of performing the join with the assistance of a cluster coupled to the RDBMS. The cost of performing the join with the assistance of the cluster includes estimating a cost of a broadcast join or a partition join depending on the sizes of the tables. Additional costs are incurred when there is a blocking operation, which prevents the cluster from being able to process portions of the join. The RDBMS also maintains transactional consistency when the cluster performs some or all of the join processing.
    Type: Grant
    Filed: October 4, 2012
    Date of Patent: September 30, 2014
    Assignee: Oracle International Corporation
    Inventors: Sam Idicula, Sabina Petride, Nipun Agarwal, Eric Sedlar
  • Publication number: 20140280298
    Abstract: A system and method for processing a group and aggregate query on a relation are disclosed. A database system determines whether assistance of a heterogeneous system (HS) of compute nodes is beneficial in performing the query. Assuming that the relation has been partitioned and loaded into the HS, the database system determines, in a compile phase, whether the HS has the functional capabilities to assist, and whether the cost and benefit favor performing the operation with the assistance of the HS. If the cost and benefit favor using the assistance of the HS, then the system enters the execution phase. The database system starts, in the execution phase, an optimal number of parallel processes to produce and consume the results from the compute nodes of the HS. After any needed transaction consistency checks, the results of the query are returned by the database system.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: Oracle International Corporation
    Inventors: Sabina Petride, Sam Idicula, Nipun Agarwal
  • Publication number: 20140280037
    Abstract: A system and method for performing a query operation on a pair of relations in a database system coupled to a heterogeneous system (HS) is disclosed. Assuming that that pair of relations is partitioned and already loaded into the HS, the database system receives a query on the pair of relations and based on the type of query operation computes the cost of performing the query operation on the database alone or the costs of performing the query operation with the assistance of the HS, each of the costs corresponding to a particular algorithm. If the costs indicate that the HS improves the performance of the query operation, then the HS computes portions of the operation, and returns the results back to the database system. If any parts of the relation are out of sync with the database system, the database system performs operations to maintain transactional consistency.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Sabina Petride, Sam Idicula, Rajkumar Sen, Nipun Agarwal
  • Patent number: 8803712
    Abstract: A method of operation of a navigation system includes: collecting a user's pattern; generating a filtered pattern by filtering the user's pattern with a current attribute; generating a mobile engagement score by calculating a weighted average from the filtered pattern and a user's current status; selecting a content based on the mobile engagement score for displaying on a device.
    Type: Grant
    Filed: July 23, 2012
    Date of Patent: August 12, 2014
    Assignee: Telenav, Inc.
    Inventor: Nipun Agarwal
  • Publication number: 20140215311
    Abstract: A method and apparatus are described for summarizing a document. For each node in the document that satisfies a marking criteria, a start and end mark pair is stored in a summary in document order. The start mark specifies a location in the document where the node starts, and the end mark specifies a location in the document where the node ends. When evaluating a query for a hierarchical path, the document is streamed into memory until the mark of a tag matches a start mark in the summary. If that tag does not fit within the path, then streaming of the document may resume at the end mark, thereby skipping the node during streaming evaluation. Translation information may be used to indicate a logical position relative to the marks in the summary when the document is modified.
    Type: Application
    Filed: March 31, 2014
    Publication date: July 31, 2014
    Applicant: Oracle International Corporation
    Inventors: Sam Idicula, Nipun Agarwal, Sanket Malde
  • Patent number: 8762410
    Abstract: To improve performance of performing XML operations on an XML document in by a client tier, the client generates an index that indexes the nodes of an XML document. The index may be generated, for example, by and during parsing of the XML document. The index contains similar structures to those maintained by a database server to perform XML operations on collections of XML documents. In lieu of parsing XML document to generate an index, the client may generate indexes based on data retrieved from the indexes at the database server.
    Type: Grant
    Filed: July 18, 2005
    Date of Patent: June 24, 2014
    Assignee: Oracle International Corporation
    Inventors: Ravi Murthy, Sivasankaran Chandrasekar, Eric Sedlar, Nipun Agarwal