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).

  • Publication number: 20160328456
    Abstract: Herein is described a data placement scheme for a distributed query processing systems that achieves load balance amongst the nodes of the system. To identify a node on which to place particular data, a supervisor node performs a placement algorithm over the particular data's identifier, where the placement algorithm utilizes two or more hash functions. The supervisor node runs the placement algorithm until a destination node is identified that is available to store the data, or the supervisor node has run the placement algorithm an established number of times. If no available node is identified using the placement algorithm, then an available destination node is identified for the particular data and information identifying the data and the selected destination node is included in an exception map. Most data may be located by any node in the system based on the node performing the placement algorithm for the required data.
    Type: Application
    Filed: May 5, 2015
    Publication date: November 10, 2016
    Inventors: Gong Zhang, Sabina Petride, Boris Klots, Sam Idicula, Nipun Agarwal
  • Publication number: 20160328326
    Abstract: Techniques are described for memory coherence in a multi-core system with a heterogeneous memory architecture comprising one or more hardware-managed caches and one or more software-managed caches. According to one embodiment, a set of one or more buffers are allocated in memory, and each respective buffer is associated with a respective metadata tag. The metadata tag may be used to store metadata that identifies a state associated with the respective buffer. The multi-core system may enforce coherence for the one or more hardware-managed caches and the one or more software-managed caches based on the metadata stored in the metadata tag for each respective buffer in the set of one or more buffers. The multi-core system may read the metadata to determine whether a particular buffer is in a hardware-managed or a software-managed cacheable state. Based on the current state of the particular buffer, the multi-core system may perform coherence operations.
    Type: Application
    Filed: May 6, 2015
    Publication date: November 10, 2016
    Inventors: Andrea Di Blas, Aarti Basant, Arun Raghavan, Nipun Agarwal
  • Patent number: 9471801
    Abstract: Embodiments of the present invention provide systems and techniques for creating, updating, and using an ACL (access control list). A database system may include a constraining ACL which represents a global security policy that is to be applied to all applications that interact with the database. By ensuring that all ACLs inherit from the constraining ACL, the database system can ensure that the global security policy is applied to all applications that interact with the database. During operation, the system may receive a request to create or update an ACL. Before creating or updating the ACL, the system may modify the ACL to ensure that it inherits from the constraining ACL. In an embodiment, the system grants a privilege to a user only if both the ACL and the constraining ACL grant the privilege.
    Type: Grant
    Filed: November 29, 2007
    Date of Patent: October 18, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Sam Idicula, Thomas Keefe, Mohammed Irfan Rafiq, Tanvir Ahmed, Vikram Pesati, Nipun Agarwal
  • Patent number: 9460064
    Abstract: An XML document can be represented in a compact binary form that maintains all of the features of XML data in a useable form. In response to a request for a modification (e.g., insert, delete or update a node) to an XML document that is stored in the compact binary form, a certain representation of the requested modification is computed for application directly to the binary form of the document. Thus, the requested modification is applied directly to the persistently stored binary form without constructing an object tree or materializing the XML document into a corresponding textual form. Taking into account the nature of the binary form in which the document is encoded, the bytes that actually require change are identified, including identifying where in the binary representation the corresponding actual changes need to be made.
    Type: Grant
    Filed: May 18, 2006
    Date of Patent: October 4, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Sivansankaran Chandrasekar, Nitin Gupta, Ravi Murthy, Nipun Agarwal, Eric Sedlar
  • Publication number: 20160253402
    Abstract: A method and apparatus for adaptive data repartitioning and adaptive data replication is provided. A data set stored in a distributed data processing system is partitioned by a first partitioning key. A live workload comprising a plurality of data processing commands is processed. While processing the live workload, statistical properties of the live workload are maintained. Based on the statistical properties of the live workload with respect to the data set, it is determined to replicate and/or repartition the data set by a second partitioning key. The replicated and/or repartitioned data set is partitioned by the second partitioning key.
    Type: Application
    Filed: February 27, 2015
    Publication date: September 1, 2016
    Inventors: Boris Klots, Vikas Aggarwal, Nipun Agarwal, John Kowtko, Felix Schmidt, Kantikiran Pasuppuleti
  • Publication number: 20160239528
    Abstract: A method, apparatus, and system for determining a data distribution is provided by using an adaptive resolution histogram. In an embodiment, the adaptive resolution histogram is created using a trie, wherein node values in the trie represent frequency distributions and node positions define associated keys or key prefixes. Keys are derived from input data such as database records that are streamed from a record source. These keys may be processed as received to build the trie in parallel with the production of the input data. To provide adaptive resolution, new child nodes may only be created in the trie when a node value is incremented beyond a predetermined threshold. In this manner, the histogram adjusts the allocation of nodes according to the actual distribution of the data. The completed adaptive resolution histogram may be used for various tasks such as partitioning for balanced parallel processing of the input data.
    Type: Application
    Filed: February 12, 2015
    Publication date: August 18, 2016
    Inventors: NATHAN PEMBERTON, VIKAS AGGARWAL, SAM IDICULA, NIPUN AGARWAL
  • Patent number: 9411842
    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: Grant
    Filed: August 1, 2013
    Date of Patent: August 9, 2016
    Assignee: Oracle International Corporation
    Inventors: Rajkumar Sen, Sam Idicula, Nipun Agarwal
  • Patent number: 9367642
    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 14, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Abhyudaya Agrawal, Sivasankaran Chandrasekar, Ravi Murthy, Nipun Agarwal, Eric Sedlar
  • Publication number: 20160117323
    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: January 7, 2016
    Publication date: April 28, 2016
    Inventors: Rajkumar Sen, Nipun Agarwal
  • Patent number: 9292558
    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: Grant
    Filed: August 1, 2013
    Date of Patent: March 22, 2016
    Assignee: Oracle International Corporation
    Inventors: Rajkumar Sen, Sabina Petride, Nipun Agarwal
  • Publication number: 20160071142
    Abstract: A method, apparatus, and computer program product are disclosed for self-service design, scheduling, and delivery of user-defined reports regarding promotions. The method includes receiving, from a user device, a report type and report delivery information. Based on the report type, relevant data regarding the one or more promotions is collected, using which a report is generated. The method then outputs the generated report based on the report delivery information. Optionally, analytical insights, such as trends within the data, sample size, suitability of control data, and indications of statistical significance, are generated and included in the report. A corresponding apparatus and computer program product are also provided.
    Type: Application
    Filed: August 7, 2015
    Publication date: March 10, 2016
    Inventors: Nipun Agarwal, Sudeep Srivastava, Isaac Kim
  • Publication number: 20160041763
    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: October 17, 2015
    Publication date: February 11, 2016
    Inventors: Sam Idicula, Balasubramanyam Sthanikam, Nipun Agarwal
  • Publication number: 20160042086
    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: October 17, 2015
    Publication date: February 11, 2016
    Inventors: Sam Idicula, Balasubramanyam Sthanikam, Nipun Agarwal
  • Patent number: 9256607
    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: December 3, 2012
    Date of Patent: February 9, 2016
    Assignee: Oracle International Corporation
    Inventors: Sam Idicula, Sabina Petride, Bhushan Khaladkar, Nipun Agarwal
  • Patent number: 9256631
    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: Grant
    Filed: July 31, 2013
    Date of Patent: February 9, 2016
    Assignee: Oracle International Corporation
    Inventors: Rajkumar Sen, Nipun Agarwal
  • Patent number: 9244979
    Abstract: Techniques for estimating a cost of executing a query are provided. A query includes multiple predicates, each of which is associated with a selectivity value that indicates a percentage of input that satisfies the condition of the corresponding predicate. The selectivity values are used to determine an estimated cost of executing the query. In one technique, a group of multiple predicates of a query are treated as a single predicate. Thus, a single selectivity value, rather than multiple selectivity values, is determined for that group. In a related technique, instead of determining a selectivity value of a predicate in isolation with respect to other predicates of a query, the selectivity value of a set of one or more predicates in a query is generated based on other predicates in the query.
    Type: Grant
    Filed: May 28, 2008
    Date of Patent: January 26, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Ning Zhang, Thomas Baby, Nipun Agarwal
  • Patent number: 9229967
    Abstract: A mechanism is used to improve the efficiency of performing resource-to-path resolution. A hierarchical link structure contains entries and/or records (“link entries”) that each defines a parent-child link within an information hierarchy. A certain linking entry may have data that refers to another link entry representing a link to the parent—a link in which the parent is a child. This data allows resource-to-path resolutions to be performed more efficiently.
    Type: Grant
    Filed: February 22, 2006
    Date of Patent: January 5, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Fei Ge, Sam Idicula, Namit Jain, Nipun Agarwal
  • Patent number: 9165086
    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: Grant
    Filed: December 6, 2010
    Date of Patent: October 20, 2015
    Assignee: Oracle International Corporation
    Inventors: Sam Idicula, Balasubramanyam Sthanikam, Nipun Agarwal
  • Patent number: 9146961
    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: November 13, 2009
    Date of Patent: September 29, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Asha Tarachandani, Bhushan Khaladkar, Sam Idicula, Adiel Yoaz, Nipun Agarwal
  • Patent number: 9135235
    Abstract: A method, apparatus, and computer program product are disclosed for self-service design, scheduling, and delivery of user-defined reports regarding promotions. The method includes receiving, from a user device, a report type and report delivery information. Based on the report type, relevant data regarding the one or more promotions is collected, using which a report is generated. The method then outputs the generated report based on the report delivery information. Optionally, analytical insights, such as trends within the data, sample size, suitability of control data, and indications of statistical significance, are generated and included in the report. A corresponding apparatus and computer program product are also provided.
    Type: Grant
    Filed: December 18, 2013
    Date of Patent: September 15, 2015
    Assignee: Groupon, Inc.
    Inventors: Nipun Agarwal, Sudeep Srivastava, Isaac Kim