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: 20090307239
    Abstract: Techniques are provided for efficiently extracting scalar values from binary-encoded XML data. Node information is stored in association with binary-encoded XML data to indicate whether one or more nodes of an XML document are simple or complex. A node is simple if the node has no child elements and no attributes. The node information of a particular node is used to determine whether a particular node, identified in a query, is simple or complex. If the particular node is simple, then the scalar value of the particular node is identified without performing any operations other than possibly converting the scalar value to a non-binary-encoded format or converting the scalar value to a value of a different data type.
    Type: Application
    Filed: June 6, 2008
    Publication date: December 10, 2009
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Sivasankaran Chandrasekar, Ning Zhang, Sam Idicula, Nipun Agarwal
  • Publication number: 20090299989
    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: Application
    Filed: May 28, 2008
    Publication date: December 3, 2009
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Ning Zhang, Thomas Baby, Nipun Agarwal
  • Patent number: 7627574
    Abstract: A method and apparatus for processing a file system operation at a database server is provided. A request to perform a file system operation on a resource stored in a database is received at a database system. The request may be implemented using the NFS protocol. The request may include state identification data that identifies state information associated with the request. State information associated with the request is retrieved within the database system based on the state identification data. State information is information that describes the operational state of the requestor for a particular file. The request is then processed based, at least in part, on the state identification. File system operations may be processed a database management system to access any data, such as a file, relational data, and object-relational data.
    Type: Grant
    Filed: December 16, 2004
    Date of Patent: December 1, 2009
    Assignee: Oracle International Corporation
    Inventors: Namit Jain, Nipun Agarwal, Eric Sedlar, Sam Idicula, Syam Pannala
  • Patent number: 7627547
    Abstract: A method and apparatus for processing path-based database operations is provided. According to one aspect, a “parent row ID” column is added to a directory links table. For each row in the table, the value of the “parent row ID” column indicates the row ID, in the table, of the node that is that row's node's parent in the file hierarchy. To determine whether a particular node is within a specified path of the file hierarchy, the particular node's pathname is derived by visiting child-to-parent links indicated in the table and prepending, to the front of a pathname being constructed for the particular node, node names indicated in the visited rows. Each parent node's row in the directory links table is located using the “parent row ID” column of the child node's row. The resulting pathname is compared with the specified path to determine whether the particular node exists therein.
    Type: Grant
    Filed: November 29, 2004
    Date of Patent: December 1, 2009
    Assignee: Oracle International Corporation
    Inventors: Namit Jain, Fei Ge, Ravi Murthy, Subramanian Muralidhar, Nipun Agarwal, Eric Sedlar
  • Patent number: 7627566
    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.
    Type: Grant
    Filed: February 16, 2007
    Date of Patent: December 1, 2009
    Assignee: Oracle International Corporation
    Inventors: Balasubramanyam Sthanikam, Sivasanakan Chandrasekar, Sam Idicula, Nipun Agarwal
  • Patent number: 7617235
    Abstract: A domain index for a partitioned database can be created using a user-defined indexing scheme. Partition maintenance operations performed on the partitioned database objects cause corresponding partition maintenance operations to be performed on the domain indexes. The user-supplied partitioning code is partition operation-unaware.
    Type: Grant
    Filed: April 12, 2005
    Date of Patent: November 10, 2009
    Assignee: Oracle International Corporation
    Inventors: Jagannathan Srinivasan, Seema Sundara, Nipun Agarwal, Ying Hu, Timothy Chorma
  • Patent number: 7617249
    Abstract: A method and system of handling document operation requests on documents with large collections and constrained memory is disclosed. In some embodiments, when one or more collection elements of a document are required to be in memory for a document operation, each of the one or more required collection elements not already in the memory are loaded into a collection partition in the memory before the document operation is executed.
    Type: Grant
    Filed: September 6, 2003
    Date of Patent: November 10, 2009
    Assignee: Oracle International Corporation
    Inventors: Ashish Thusoo, Sivasankaran Chandrasekar, Ravi Murthy, Eric Sedlar, Nipun Agarwal
  • Publication number: 20090276824
    Abstract: One embodiment of the present invention provides a system for efficiently evaluating a security policy. During operation, the system retrieves one or more roles associated with the user. Next, the system checks if a session-level cache exists for a set of Access Control Entries (ACEs) which is associated with the one or more roles. If this session-level cache exists, the system returns the set of ACEs from the session-level cache. Otherwise, the system generates the set of ACEs associated with the one or more roles from an Access Control List (ACL). During operation, the system can also update the one or more roles associated with the user and update the set of ACEs based on the updated one or more roles and the ACL. The system subsequently updates the session level cache with the updated set of ACEs and updated one or more roles.
    Type: Application
    Filed: May 5, 2008
    Publication date: November 5, 2009
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mohammed Irfan Rafiq, Sabina Petride, Sam Idicula, Ashwini Surpur, Nipun Agarwal, Bhushan Khaladkar, Tim Wing Yu
  • Patent number: 7610304
    Abstract: A method and apparatus for performing file system operations involving a link is provided. A request to perform a file system operation involving a link is received from a client at a database server. The link may establish a relationship a source resource has to a target resource. The source resource and the target resource may be stored within a repository implemented by a storage medium, such as a database. The database server may perform the file system operation by storing, in the database, one or more link records that identifies the link between the first resource and the second resource. File system operations, such as a NFS file system operation, which involve links may be performed at a database management system.
    Type: Grant
    Filed: December 5, 2005
    Date of Patent: October 27, 2009
    Assignee: Oracle International Corporation
    Inventors: Namit Jain, Nipun Agarwal, Ravi Murthy, Syam Pannala, Vikram Kapoor, Eric Sedlar
  • Patent number: 7603347
    Abstract: An XPath expression is converted into a tree-based representation where each node represents an operation to be performed and the links between nodes in the tree represent the flow of data between operations. The conversion may involve creating a parse tree for the XPath expression, and then converting the parse tree into an operator tree. The operator tree is constructed in such a way that execution of the XPath expression begins at the leaf nodes of the operator tree, and the results are then passed up the tree. After each node is executed, the results are either (1) passed to a filter that filters the results with a predicate statement or (2) passed to another node to be operated upon. This occurs until no nodes remain to be executed.
    Type: Grant
    Filed: September 16, 2004
    Date of Patent: October 13, 2009
    Assignee: Oracle International Corporation
    Inventors: Ashish Thusoo, Ravi Murthy, Sivasankaran Chandrasekar, Eric Sedlar, Nipun Agarwal
  • Publication number: 20090157686
    Abstract: One embodiment of the present invention provides a system for efficiently caching a system-wide Access Control Entry (ACE) for a subject requesting an action on an object associated with an application. During operation, the system retrieves a security class that is associated with an application. The system then checks if a constrained system-wide ACE associated with the subject, the object, the requested action, and the security class exists in a cache. If so, then the system retrieves the entry. Otherwise, the system retrieves a system-wide ACE associated with the subject and the requested action. The system also retrieves a local ACE associated with the subject, the object, the requested action, and the security class. Next, the system constrains the system-wide ACE with the local ACE and caches the result so that the constrained system-wide ACE is associated with the subject, the object, the requested action, and the security class.
    Type: Application
    Filed: December 13, 2007
    Publication date: June 18, 2009
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Sam Idicula, Mohammed Irfan Rafiq, Nipun Agarwal
  • Publication number: 20090158047
    Abstract: In a multi-tier data server system, data from the first tier is cached in a mid-tier cache of the middle tier. Access control information from the first tier for the data is also cached within the mid-tier cache. Caching the security information in the middle tier allows the middle tier to make access control decisions regarding requests for data made by clients in the outer tier.
    Type: Application
    Filed: November 21, 2008
    Publication date: June 18, 2009
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Thomas Baby, Asha Tarachandani, Naveen Zalpuri, Sam Idicula, Nipun Agarwal, Shu Ling, Ravi Murthy, Fredric Scott Goell, Eric Sedlar, Ming Lei, Ajay Desai, Lawrence Jacobs
  • Patent number: 7548918
    Abstract: A method and apparatus for providing file system operation locks at a database server is provided. A database server may employ database locks and file system operation locks in servicing requests from consistent requestors and inconsistent requesters. A database lock is a lock that is obtained in response to performing a database operation, and the database lock is released when the database operation has successfully completed. A file system operation lock is a lock that is obtained in response to performing an OPEN file system operation, and the file system operation lock is released when a CLOSE file system operation is performed. The database server may use a temporary copy of the resource, which reflects all the current changes that have been made to the resource by database operations, in servicing consistent requestors, and may use the original version of the resource in servicing inconsistent requesters.
    Type: Grant
    Filed: December 16, 2004
    Date of Patent: June 16, 2009
    Assignee: Oracle International Corporation
    Inventors: Namit Jain, Sam Idicula, Syam Pannala, Nipun Agarwal, Ravi Murthy, Eric Sedlar
  • Publication number: 20090150412
    Abstract: A database system may utilize XML schema information to increase the efficiency of an XPath streaming evaluation. The database system may access XML schema or translation information during the evaluation of an element, attribute, or value in an XML data source. Based on the XML schema or translation information, the database system may determine matches to an XPath expression without decoding any binary-encoded data in the XML data source. Also, based on the XML schema information, the database may selectively skip or evaluate portions of the XML data source depending on whether those portions are defined in the XML schema so as to possibly contain a match to one or more unmatched steps in the XPath expression. XML schema information may be compiled into a compiled representation of the XPath expression for additional efficiencies.
    Type: Application
    Filed: December 5, 2007
    Publication date: June 11, 2009
    Inventors: Sam Idicula, Sivasankaran Chandrasekar, Nipun Agarwal
  • Publication number: 20090144804
    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: Application
    Filed: November 29, 2007
    Publication date: June 4, 2009
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Sam Idicula, Thomas Keefe, Mohammed Irfan Rafiq, Tanvir Ahmed, Vikram Pesati, Nipun Agarwal
  • Patent number: 7543004
    Abstract: Evaluation of workspace-local queries on a repository that supports versioning is enabled by tracking which versions of resources that are stored in the repository are associated with particular workspaces. A mapping is created and maintained for each workspace and each workspace-enabled table, i.e., a repository table that supports multiple versions of resources in the table. The mapping, such as a bit vector, is indexed by resource identifier. A set bit indicates that a particular resource version that corresponds to the bit is associated with the particular workspace. Therefore, the mapping indicates which rows in the workspace-enabled table are in the particular workspace. Index-based and functional evaluation schemes may utilize the per workspace, per table mapping to evaluate queries on the versioned repository. A new operator (IN_WORKSPACE) is introduced, through which an evaluation routine is invoked to determine whether or not a particular row maps to a particular workspace.
    Type: Grant
    Filed: December 22, 2005
    Date of Patent: June 2, 2009
    Assignee: Oracle International Corporation
    Inventors: Sam Idicula, Thomas Baby, Vikram Kapoor, Nipun Agarwal, Eric Sedlar
  • Publication number: 20090125693
    Abstract: One may increase the efficiency of an XML event-generating process by reducing the number of requests to allocate or deallocate system memory. Such reduction may occur as the result of pre-allocating a memory chunk of sufficient size to contain all of the memory buffers required by a particular event-generating process. Instead of allocating new memory chunks for new memory buffers, an application may store any required buffers within the pre-allocated memory chunk. A sufficient memory size may be estimated by performing the event-generating process on a training set of XML documents. Also, an application may re-use buffers during the process or between different iterations of the process, thus avoiding the need to deallocate and reallocate memory that is essentially being used for the same purpose.
    Type: Application
    Filed: November 9, 2007
    Publication date: May 14, 2009
    Inventors: Sam Idicula, Ning Zhang, Sivasankaran Chandrasekar, Nipun Agarwal
  • Publication number: 20090125495
    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: Application
    Filed: November 9, 2007
    Publication date: May 14, 2009
    Inventors: Ning Zhang, Sivasankaran Chandrasekar, Nipun Agarwal, Sam Idicula
  • Publication number: 20090125494
    Abstract: Techniques for processing a query that includes a path expression are provided. A query processor determines whether an XML index may be used to execute the query instead of having to scan multiple XML documents. The query is parsed and normalized, which results in multiple normalized path expressions that are based on the original path expression. If the XML index is a path-subsetted index, then the query processor generates annotated path expressions based on the normalized path expressions. The query processor determines whether each of the annotated path expressions is satisfiable by the path-subsetted XML index. If so, then the XML index is used to process the query.
    Type: Application
    Filed: November 8, 2007
    Publication date: May 14, 2009
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Thomas BABY, Ning ZHANG, Sivasankaran CHANDRASEKAR, Nipun AGARWAL, Asha TARACHANDANI
  • Publication number: 20090125480
    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: Application
    Filed: November 8, 2007
    Publication date: May 14, 2009
    Inventors: Ning Zhang, Thomas Baby, Sivasankaran Chandrasekar, Nipun Agarwal