Patents by Inventor Namit Jain

Namit Jain 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: 20090112803
    Abstract: Simplifying a user's task in specifying a family of logics, with each logic designed to potentially select different subsets of values from the same continuous data stream at the same time instant. In one embodiment, all the logics are together specified by a common user specified software code design to accept a set of parameters, with different logics resulting from execution of the software code with different parametric values. Thus, when closely related family of logics are to be developed, the common software code may be formulated, with the code being designed to accept parameters and providing different logics for different sets of parametric values corresponding to the parameters.
    Type: Application
    Filed: October 30, 2007
    Publication date: April 30, 2009
    Applicant: Oracle International Corporation
    Inventors: Anand Srinivasan, Namit Jain, Parul Jain, Shailendra Mishra
  • Publication number: 20090112802
    Abstract: Facilitating flexible windows in querying continuous data streams. In one embodiment, a software code is associated with a window, wherein execution of the software code determines the values to be included in the window. On receiving a query indicating the window, the result of the query is generated based on the values in the window determined by execution of the software code. The software code may be identified by an identifier and thus used for different queries on the same or different continuous data streams.
    Type: Application
    Filed: October 30, 2007
    Publication date: April 30, 2009
    Applicant: Oracle International Corporation
    Inventors: Anand Srinivasan, Namit Jain, Parul Jain, Shailendra Mishra
  • Publication number: 20090106215
    Abstract: A first continuous query is deleted from several continuous queries that are being executed, by performing different actions that depend on how resources are shared therebetween. As an example, a second continuous query is deleted if a view is referenced by the first continuous query, and if the view is built on the second continuous query, and if the view is not referenced by any query other than the first continuous query. Such deletion is followed by compiling the second continuous query, followed by updating the view to refer to a newly-compiled version of the second continuous query. As another example, if an operator in the first continuous query is not used by any other query, this operator is de-scheduled from execution, and any exclusively-owned resources are released. Also, data to be read by the operator and data generated by the operator, if present in shared resources, are deleted therefrom.
    Type: Application
    Filed: October 18, 2007
    Publication date: April 23, 2009
    Applicant: Oracle International Corporation
    Inventors: Namit Jain, Anand Srinivasan, Shailendra Kumar Mishra
  • Publication number: 20090106190
    Abstract: A data stream management system (DSMS) is designed to support a new user-defined function, by creating and using at least two structures as follows. A first structure (“metadata entry”) is created in response to a command for creation of the new function, and maps a single instance of a class to the function's name. A second structure is created with creation of an operator on receipt of each new continuous query that uses the new function. The second structure (“operator specific data structure”) contains a path to the newly-created instance, which path is obtained by looking up the first structure. Additional second structures are created on receipt of additional continuous queries which use the new function, but all second structures contain the same path. All continuous queries use the same instance. Repeated use of a single instance to compile and execute multiple queries eliminates repeated instantiation of the same function.
    Type: Application
    Filed: October 18, 2007
    Publication date: April 23, 2009
    Applicant: Oracle International Corporation
    Inventors: Anand Srinivasan, Namit Jain, Shailendra Kumar Mishra
  • Publication number: 20090106218
    Abstract: A computer is programmed to accept a command to create a new aggregation defined by a user during execution of continuous queries on streams of data. The computer is further programmed to thereafter accept and process new continuous queries using the new aggregation, in a manner similar to built-in aggregations. The user typically writes a set of instructions to perform the new aggregation, and identifies in the command, a location of the set of instructions. In response to such a command, the computer creates metadata identifying the new aggregation. The metadata is used to instantiate one aggregation for each group of data in a current window, grouped by an attribute identified in a new query.
    Type: Application
    Filed: October 20, 2007
    Publication date: April 23, 2009
    Applicant: Oracle International Corporation
    Inventors: Anand Srinivasan, Namit Jain, Shailendra Kumar Mishra
  • Publication number: 20090106189
    Abstract: A new continuous query to a data stream management system (DSMS) may use several operators that are equivalent to operators currently being used by continuous queries that have been previously registered in the DSMS. To determine equivalence of operators, the DSMS checks at least the function and the data input to the operators. On finding equivalence, the DSMS modifies a global plan being executed, to use at least an existing subtree of operators during execution of the new continuous query, to generate a modified plan. The DSMS is also programmed to cause each relation source operator (which outputs a relation) to propagate a current state of the relation to each operator newly coupled to the relational operator. After propagation of current state to newly-coupled operators, each operator in the modified plan processes any new data and supplies the result to all operators coupled thereto, including newly-coupled operators and existing operators.
    Type: Application
    Filed: October 17, 2007
    Publication date: April 23, 2009
    Applicant: Oracle International Corporation
    Inventors: Namit Jain, Anand Srinivasan, Shailendra Kumar Mishra
  • Publication number: 20090106214
    Abstract: A new continuous query to a data stream management system (DSMS) may use a stream or a relation which may or may not be used by continuous queries previously registered in the DSMS. The DSMS is programmed to modify an execution plan to accommodate execution of the new query while continuing to execute the previously registered continuous queries. The modified execution plan may include new operators and/or share existing operators. The DSMS is programmed to cause operators which output a relation to propagate a current state of the relation to each newly-coupled operator that uses the relation. The current state is propagated only to operators that have been newly coupled and have thus not yet received any state information previously. After propagation of current state to newly-coupled operators, results of processing any new data for the relation are supplied to all operators coupled thereto, including newly-coupled operators and existing operators.
    Type: Application
    Filed: October 17, 2007
    Publication date: April 23, 2009
    Applicant: Oracle International Corporation
    Inventors: Namit Jain, Anand Srinivasan, Shailendra Kumar Mishra
  • Publication number: 20090106440
    Abstract: A computer is programmed to accept a command for creation of a new aggregation defined by a user to process data incrementally, one tuple at a time. One or more incremental function(s) in a set of instructions written by the user to implement the new aggregation maintain(s) locally any information that is to be passed between successive invocations, to support computing the aggregation for a given set of tuples as a whole. The user writes a set of instructions to perform the aggregation incrementally, including a plus function which is repeatedly invoked, only once, for each addition to a window of a message. The user also writes a minus function to be invoked with the message, to return the value of incremental aggregation over the window after removal of the message. In such embodiments, the computer does not maintain copies of messages in the window for use by aggregation function(s).
    Type: Application
    Filed: October 20, 2007
    Publication date: April 23, 2009
    Applicant: Oracle International Corporation
    Inventors: Anand Srinivasan, Namit Jain, Shailendra Kumar Mishra
  • Publication number: 20090106198
    Abstract: A computer is programmed to process a continuous query that is known to perform a new aggregation on one or more stream(s) of data, using one or more other aggregations on the stream(s). The computer creates an operator to execute the continuous query, and schedules the operator for execution in a specific order. In several embodiments, the computer determines the order based on dependency of the new aggregation on other aggregation(s), and on the order of performance of the other aggregation(s). The new aggregation is scheduled for performance after performance of each of the other aggregations. The computer is further programmed to pass results of the other aggregations to the new aggregation, by execution of a predetermined function. Support for use of the other aggregations results within the new aggregation eliminates redundant computation of the other aggregations within the new aggregation. The new aggregation may be user defined or built-in.
    Type: Application
    Filed: October 20, 2007
    Publication date: April 23, 2009
    Applicant: Oracle International Corporation
    Inventors: Anand Srinivasan, Namit Jain, Shailendra Kumar Mishra
  • Publication number: 20090100029
    Abstract: A new continuous query to a data stream management system (DSMS) may use a silent relation whose source does not provide any heartbeats. During execution of any given operator, the DSMS processes data from one input (“active input”) using its time stamp as if the same time stamp is received from another input whose relation has fallen silent (“empty input”), if one or more predetermined conditions are met. One predetermined condition is that the empty input's operator has all its own inputs silent. And another predetermined condition is that a maximum time stamp that is currently present among all the inputs of the empty input's operator is equal to a time stamp that was last received from these same inputs. When both conditions are met, previously received data from the empty input is time stamped with the same time stamp as the most recently received data from the active input.
    Type: Application
    Filed: October 16, 2007
    Publication date: April 16, 2009
    Applicant: Oracle International Corporation
    Inventors: Namit Jain, Anand Srinivasan, Shailendra Kumar Mishra
  • Patent number: 7490093
    Abstract: Described is a method and system for storing data into a database, where a determination is made if schema metadata that is used to load the data into the database already exists, and where the existing schema metadata is used to load the data into the database if the schema metadata already exists. If the appropriate schema metadata does not exist, then it is generated and cached so that a later load operation for the same schema type will not need to re-generate this information. In this way, the cost to generate the schema metadata is amortized over multiple load operations to load data of the same schema type. The approach is protocol neutral so that multiple different protocol-based loads can operate with the same schema metadata information and load structures.
    Type: Grant
    Filed: November 21, 2003
    Date of Patent: February 10, 2009
    Assignee: Oracle International Corporation
    Inventors: Namit Jain, Nipun Agarwal, Ravi Murthy
  • Publication number: 20090037370
    Abstract: Methods and systems for distributed event processing are disclosed. In one embodiment, a system for distributed event processing includes a first event processor and a second event processor. The first event processor receives event data associated with an event stream. The second event processor receives a query associated with the event stream. A request to the first event processor is generated by the second event processor based on the query for a first portion of event data associated with the event stream. The second event processor receives the first portion of event data from the first event processor. The second event processor then generates an event based on the first portion of event data.
    Type: Application
    Filed: June 5, 2008
    Publication date: February 5, 2009
    Applicant: Oracle International Corporation
    Inventors: Shailendra Mishra, Anand Srinivasan, Namit Jain
  • Publication number: 20080275891
    Abstract: A method to create a partition by time/tuple based window in an event processing service is provided. When continuous data streams are received, tuples are stored in a data structure with partitions based upon partition keys. Only a specified amount of tuples may be stored in each partition. When a partition exceeds the specified number of tuples, the oldest tuples are removed from the data structure. Tuples stored beyond a specified time period are also removed from the data structure. Two data structures may also be used to implement a time/tuple based window. Tuples are stored in both a data structure with a partition by window and a data structure with a range window. Tuples are removed in the partition by window when tuples exceed the amount in the partition. Tuples are removed in the range window when tuples exceed a specified time period. The two data structures are synchronized.
    Type: Application
    Filed: October 4, 2007
    Publication date: November 6, 2008
    Inventors: Hoyong Park, Namit Jain, Anand Srinivasan, Shailendra Mishra
  • Patent number: 7409397
    Abstract: A method and apparatus for performing network file system (NFS) operations across a plurality of servers is provided. At a first server, a filehandle for a particular file is generated based, at least in part, on an identifier that uniquely identifies the particular file relative to all other files within a file system repository. The file system repository may be implemented in a database. The identifier may also be stored in the database. The first server sends a client the filehandle. The client may thereafter send another request for the performance of a file operation, containing the filehandle, to a different server. The second server may read the filehandle and use the identifier to locate the file within the repository against which to perform the file operation without receiving, from the first server, information that associates the filehandle with the file.
    Type: Grant
    Filed: June 30, 2005
    Date of Patent: August 5, 2008
    Assignee: Oracle International Corporation
    Inventors: Namit Jain, Syam Pannala, Sam Idicula, Nipun Agarwal, Eric Sedlar, Vikram Kapoor
  • Patent number: 7324985
    Abstract: The methods and systems for database statement execution plan optimization exploit bind variable data available on the network to build and optimize an execution plan for the statement. A system for database statement execution plan optimization comprises a bind variable analyzer, a frame allocator, and an optimizer, in addition to a parser for parsing and analyzing the statement, a type checker for type checking the statement, and a tree builder for building an expression tree.
    Type: Grant
    Filed: May 12, 2006
    Date of Patent: January 29, 2008
    Assignee: Oracle International Corporation
    Inventors: Sanjay Kaluskar, Namit Jain, Hakan Jakobsson, Graham S. Wood
  • Patent number: 7315863
    Abstract: One embodiment of the present invention provides a system that automatically sends a notification about a database event. The system operates by receiving a number of items, including a registration of a specified event-type, a subscription of a protocol for the notification, a format for the notification, and a list of recipients for the notification. The system then configures the database to send the notification about the specified event-type to the specified list of recipients in the specified format via the specified protocol. Adding this notification capability at the database-level enhances the functionality and interoperability of many applications as well as providing more robust and timely information to the appropriate audiences.
    Type: Grant
    Filed: September 20, 2001
    Date of Patent: January 1, 2008
    Assignee: Oracle International Corp
    Inventors: Rajit Kambo, Namit Jain, Shailendra Mishra
  • 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: 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: 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
  • Patent number: 7213150
    Abstract: One embodiment of the present invention provides a system that facilitates secure messaging. The system starts by creating a message at an origin. Next, the system computes a digest of the message. This digest is signed using an origin private encryption key. The message and the signed digest are forwarded to a queue for delivery to a recipient. Upon receiving the message and the signed digest at the queue, the system verifies that the digest was signed at the origin by using an origin public encryption key. If the signature is valid, the origin cannot deny creating the message. Valid messages and digests are placed on the queue and the recipient is notified that the message is available.
    Type: Grant
    Filed: January 11, 2002
    Date of Patent: May 1, 2007
    Assignee: Oracle International Corp.
    Inventors: Namit Jain, Shailendra K. Mishra, Bhagat V. Nainani, Wei Wang, Debashish Chatterjee
  • Patent number: 5116536
    Abstract: The invention relates to a process for the preparation of fine-particled, stable, pharmaceutical or cosmetic dispersions consisting of an aqueous phase and an organic phase which is insoluble or not completely soluble in water (oily phase), in which a pre-emulsion is first prepared from the two phases by known emulsifying methods and is then further processed to the end product. The invention furthermore relates to apparatus for carrying out the process.
    Type: Grant
    Filed: September 13, 1990
    Date of Patent: May 26, 1992
    Assignee: Bayer Aktiengesellschaft
    Inventors: Manfred Bucheler, Hans Gehringer, Bernd Klinksiek, Bernd Koglin