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: 7308474
    Abstract: Techniques for accessing data that resides in a document on a computer-readable medium by a device with device resources of limited resource amount include determining usage for each portion of the document that consumes the device resources of a plurality of portions of the document. Each portion may be accessed independently of a different portion of the document. Based on the usage, a particular portion of the document is selected to cease consuming the device resources. The device resources consumed by the particular portion are released. The techniques allow a document-processing device with limited resources to scale up to process a large document that would otherwise exceed the available resources. This capability is an advantage when first inserting a large XML document, which cannot be fully manifested in available memory, as multiple loadable units into a database or other persistent store.
    Type: Grant
    Filed: November 26, 2002
    Date of Patent: December 11, 2007
    Assignee: Oracle International Corporation
    Inventors: Sivasankaran Chandrasekar, Ravi Murthy, Nipun Agarwal, Eric Sedlar
  • Publication number: 20070276792
    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: Application
    Filed: May 25, 2006
    Publication date: November 29, 2007
    Inventors: Asha Tarachandani, Sivasankaran Chandrasekar, Man-Hay Tam, Anh-Tuan Tran, Ravi Murthy, Nipun Agarwal, Eric Sedlar
  • Publication number: 20070271305
    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: Application
    Filed: May 18, 2006
    Publication date: November 22, 2007
    Inventors: Sivansankaran Chandrasekar, Nitin Gupta, Ravi Murthy, Nipun Agarwal, Eric Sedlar
  • Publication number: 20070250766
    Abstract: A method and apparatus for streaming validation of XML documents is provided. A particular event of a series of events is received. The series of events is generated as an XML document is parsed by a parser, and the received particular event indicates that the parser has encountered a particular part of the XML document. The particular part of the XML document indicated by the particular event is then received. A current validation state for the XML document is determined. The current validation state, which is one of a plurality of validation states for the XML document, indicates a validation type associated with the particular part of the XML document. Based on at least the current validation state, the particular part of the XML document is validated against an XML schema that defines the structure of the XML document.
    Type: Application
    Filed: April 19, 2006
    Publication date: October 25, 2007
    Inventors: Vijay Medi, Nipun Agarwal, Ravi Murthy, Eric Sedlar, Arkady Rabinov
  • Publication number: 20070250527
    Abstract: Techniques are provided for indexing XML documents using abridged indexes. According to one embodiment, a value index is created for each node of an XML documents as specified by one or more criteria. The criteria are used to determine one or more paths of XML documents. For each path specified, a abridged index is created and maintained. When processing a query in a DBMS that utilizes abridged indexes the abridged indexes are used instead the XML index, provided the abridged index can satisfy the query. Use of the abridged indexes improves the efficiency of XPath queries performance.
    Type: Application
    Filed: April 19, 2006
    Publication date: October 25, 2007
    Inventors: Ravi Murthy, Sivasankaran Chandrasekar, Nipun Agarwal
  • Publication number: 20070240035
    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.
    Type: Application
    Filed: April 10, 2006
    Publication date: October 11, 2007
    Inventors: Balasubramanyam Sthanikam, Nipun Agarwal
  • Publication number: 20070240034
    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.
    Type: Application
    Filed: April 10, 2006
    Publication date: October 11, 2007
    Inventors: Balasubramanyam Sthanikam, Nipun Agarwal, Ravi Murthy
  • Publication number: 20070208946
    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: February 21, 2006
    Publication date: September 6, 2007
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Thomas Baby, Asha Tarachandani, Naveen Zalpuri, Sam Idicula, Nipun Agarwal, Gary Ling, Ravi Murthy, Fredric Goell, Eric Sedlar
  • Publication number: 20070208752
    Abstract: Techniques are provided for encoding/decoding binary XML data in a client program before sending/receiving the XML to/from a database server. By encoding the binary XML at the client, the overhead of parsing the XML text is avoided by the database server, thus improving database server scalability. Also, the XML data is sent by the server to the client in the binary form, and the binary format is decoded by the client program to perform the necessary operations.
    Type: Application
    Filed: November 16, 2006
    Publication date: September 6, 2007
    Inventors: Bhushan Khaladkar, Sivasankaran Chandrasekar, Ravi Murthy, Nipun Agarwal
  • Publication number: 20070198545
    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: Application
    Filed: February 22, 2006
    Publication date: August 23, 2007
    Inventors: Fei Ge, Sam Idicula, Namit Jain, Nipun Agarwal
  • Publication number: 20070162441
    Abstract: Efficient evaluation of resource version history queries is enabled by using a data container storing records corresponding to links between successive versions of a resource. The records include: (a) a record identifier, (b) a predecessor identifier, (c) a successor identifier, (d) a predecessor rowset, which comprises the record identifier of each record in which the predecessor identifier in this record is the successor identifier, and (e) a successor rowset, which comprises the record identifier of each record in which the successor identifier in this record is the predecessor identifier. Depending on the nature of a request, a record is identified in which a particular version is identified by either the predecessor identifier or the successor identifier. Either the predecessor or successor rowsets are recursively read, while the predecessor or successor identifiers corresponding to each record read are added to a result set, thereby forming the ancestor or descendant version history.
    Type: Application
    Filed: January 12, 2006
    Publication date: July 12, 2007
    Inventors: Sam Idicula, Thomas Baby, Nipun Agarwal, Eric Sedlar
  • Publication number: 20070156687
    Abstract: A shared workspace is associated with a group of users who share the workspace, which isolates a set of shared resources from other resources stored in a repository that supports versioning of resources. The content of a shared workspace is maintained using a set of shared references, to the set of resources associated with the shared workspace. A virtual workspace is created for a user by generating a personal mapping for the user, where the personal mapping indicates which resources from the set of shared resources the user has made personal, e.g., by checking out such resources from the repository. If the user submits a query on the repository, the particular version of each resource involved in the query is readily determinable from the shared workspace and the user's virtual workspace.
    Type: Application
    Filed: December 22, 2005
    Publication date: July 5, 2007
    Inventors: Sam Idicula, Thomas Baby, Vikram Kapoor, Nipun Agarwal, Eric Sedlar
  • Publication number: 20070150525
    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: Application
    Filed: December 22, 2005
    Publication date: June 28, 2007
    Inventors: Sam Idicula, Thomas Baby, Vikram Kapoor, Nipun Agarwal, Eric Sedlar
  • Publication number: 20070150432
    Abstract: A method and apparatus for loading an XML document into memory is provided. A client loads one or more array elements into a first partition of an array that is maintained in memory. Each array element represents an XML element of an XML document. Upon determining that an amount of data maintained in the first partition exceeds a first threshold, the client subsequently loads array elements into a new partition of the array. Upon determining that an amount of data maintained in the memory of the client exceeds a second threshold, the array elements of the least recently used partition are persistently stored in a database without persistently storing the entire XML document. When the last XML element of the XML document is loaded into a partition of the array, that partition is persistently stored in the database, thereby causing the entire XML document to be stored in the database.
    Type: Application
    Filed: December 22, 2005
    Publication date: June 28, 2007
    Inventors: Sivasankaran Chandrasekar, Nipun Agarwal, Namit Jain, Ravi Murthy
  • Publication number: 20070143363
    Abstract: A mechanism for querying a label-aware index in the context of versioning is provided. The key of the label-aware index is a composite key and includes a unique label identifier, corresponding to a specific label, and the key of the original index, which key itself may be a composite key. The label-aware index may be implemented as an index-organized table. The label-aware index is organized on disk first by the label identifier and then by the original index key so that queries of versions of resources within a particular label are as efficient as queries on an index of an unversioned repository with the same number of resources.
    Type: Application
    Filed: December 20, 2005
    Publication date: June 21, 2007
    Inventors: Nipun Agarwal, Sam Idicula, Thomas Baby, Eric Sedlar
  • Publication number: 20070136382
    Abstract: A technique and mechanism for efficiently searching across multiple versions of a resource is provided. New operators are provided that take into account the versions of a particular resource. The query engine evaluates the new operators using either an index-based approach or a functional approach. Under an index-based implementation, a hierarchical index is traversed to find a particular resource (or resources) associated with a specified path and the version history identifier associated with the particular resource(s). A version history table containing references to all versions of the particular resource(s) are then obtained. Under the functional implementation, a link table, which contains all paths in a user's workspace, is examined to determine whether the version history identifier of a particular resource matches a version history identifier of a resource specified in the link table and whether the path to the resource in the link table is related to the path specified.
    Type: Application
    Filed: December 14, 2005
    Publication date: June 14, 2007
    Inventors: Sam Idicula, Thomas Baby, Nipun Agarwal, Ravi Murthy
  • Publication number: 20070130157
    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: Application
    Filed: December 5, 2005
    Publication date: June 7, 2007
    Inventors: Namit Jain, Nipun Agarwal, Ravi Murthy, Syam Pannala, Vikram Kapoor, Eric Sedlar
  • Publication number: 20070118561
    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: November 21, 2005
    Publication date: May 24, 2007
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Sam Idicula, Nipun Agarwal, Ravi Murthy, Eric Sedlar
  • Publication number: 20070083542
    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: Application
    Filed: October 7, 2005
    Publication date: April 12, 2007
    Inventors: Abhyudaya Agrawal, Sivasankaran Chandrasekar, Ravi Murthy, Nipun Agarwal, Eric Sedlar
  • Publication number: 20070083529
    Abstract: A database system automatically detects a cyclic construct in a XML schema, determines a database representation for the cyclic construct, and maps the XML schema and elements involved in the cyclic construct to the database representation.
    Type: Application
    Filed: October 7, 2005
    Publication date: April 12, 2007
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Abhyudaya Agrawal, Ravi Murthy, Nipun Agarwal, Sivasankaran Chandrasekar, Eric Sedlar