Patents by Inventor Bhaskar Ghosh

Bhaskar Ghosh 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: 20100228635
    Abstract: An online advertising system integrates third party agents to permit the third party agents to participate in auctions to bid on a per opportunity basis. An advertising exchange module receives requests for opportunities to serve online advertisements to users. In response, an advertising exchange module applies one or more business rules to determine third party agents that qualify to serve the online advertisement. A bid gateway module generates and transmits requests for bids to the third party agents. The bid gateway module then receives bids from the third party agents in response to the requests for bids. The advertising exchange module then selects an advertisement based on the bid. The online advertisement exchange system provides a unified marketplace to permit integrator networks to bid on both ads pursuant to guaranteed contracts and ads not subject to guaranteed contracts (e.g., non-guaranteed ads).
    Type: Application
    Filed: March 5, 2009
    Publication date: September 9, 2010
    Inventors: Bhaskar Ghosh, George Goldenberg, Wendell Craig Baker
  • Patent number: 7779008
    Abstract: Techniques are provided for performing a parallel aggregation operation on data that resides in a container, such as a relational table. During generation of the execution plan for the operation, it is determined whether partition-wise aggregation should be performed, based on the grouping keys involved in the aggregation and the partition keys used to partition the container. If partition-wise aggregation is to be performed, then the assignments given to the slave processes that are assigned to scan a container are made on a partition-wise basis. The scan slaves themselves may perform full or partial aggregation (depending on whether they are the only scan slaves assigned to the partition). If the scan slaves perform no aggregation, or only partial aggregation, then the scan slaves redistribute the data items to aggregation slaves that are local to the scan slaves.
    Type: Grant
    Filed: February 16, 2005
    Date of Patent: August 17, 2010
    Assignee: Oracle International Corporation
    Inventors: Benoit Dageville, Bhaskar Ghosh, Rushan Chen, Thierry Cruanes, Mohamed Zait
  • Patent number: 7685095
    Abstract: Techniques are provided for executing database statements, or portions thereof, in parallel without using slave SQL to communicate to each slave the operations to be performed by the slave. Techniques are provided for incorporating within a shared cursor the code fragments that govern both sides of the interaction between a query coordinator (QC) and remotely-located slaves. Further, techniques are provided for the QC to communicate with each slave on how and which portions of the execution plan to execute and when. A state-transition engine for slave execution under the control of the query-coordinator is also provided.
    Type: Grant
    Filed: September 16, 2004
    Date of Patent: March 23, 2010
    Assignee: Oracle International Corporation
    Inventors: Bhaskar Ghosh, Thierry Cruanes, Benoit Dageville
  • Patent number: 7617189
    Abstract: Various techniques are described for processing database commands that include MINUS and/or INTERSECT operators. According to one technique, the database server executes the MINUS/INTERSECT in a specialized rowsource in parallel. In one approach, the specialized rowsource implements a sort merge-join like solution, where: a DISTINCT SORT is performed on each input, a left and right pointer is maintained on the respective input streams of tuples, the left or right pointer is incremented based on whether there is a match between the tuples pointed-to by the pointers, and the tuple of the left side is returned (or not returned) based on whether there is a match. Techniques are described for generating multiple query plans for executing a query, where each of the query plans includes a plan portion for executing, in parallel, the operation associated with a MINUS/INTERSECT operator. Cost estimates are generated for the query plans.
    Type: Grant
    Filed: September 27, 2005
    Date of Patent: November 10, 2009
    Assignee: Oracle International Corporation
    Inventors: Bhaskar Ghosh, Rafi Ahmed, Hermann Baer
  • Patent number: 7577637
    Abstract: While generating an execution plan for a database statement that includes a user-defined table function that requires partitioning of input data to the function, it is determined whether the partitioning of output data from an operation that feeds the function is compatible with the partitioning required by the function. If the partitioning of output data from the operation that feeds the function is compatible with the partitioning required by the function, then the execution plan is constructed to specify execution of both (1) the function and (2) the operation that feeds the function, by a same set of processes. For example, the operation that feeds the function and the function itself are clumped into the same sub-plan or sub-tree, which is scheduled and run in parallel on a set of parallel execution slaves.
    Type: Grant
    Filed: August 15, 2005
    Date of Patent: August 18, 2009
    Assignee: Oracle International Corporation
    Inventor: Bhaskar Ghosh
  • Publication number: 20090037239
    Abstract: A tool that allows internet advertisers to examine the popularity of various different keyphrases entered into a search engine over time is presented. The tool then allows the advertiser to specify a changing set of keyphrases that will be monitored and used to trigger the selection of internet advertisements. In this manner, internet advertisers can take advantage of the different keyphrases used by search engine users that tend to change over time.
    Type: Application
    Filed: August 2, 2007
    Publication date: February 5, 2009
    Inventors: Daniel Wong, Bhaskar Ghosh, Raghotham Murthy
  • Patent number: 7475056
    Abstract: A database statement is processed in a multi-server system, in a manner to increase the possibility that slave server processes on remote nodes will generate execution plans that are equivalent to the corresponding execution plan generated by the query coordinator process. A set of hints is generated based on the same information on which the master plan is based. The set of hints is sent to remote nodes, where respective remote plans are generated based in part on the set of hints. Use of the hints in generation of the remote plan increases the possibility that the remote plan will be equivalent to the master plan and that the slaves on the other database server will be able to join in parallel processing of the database statement.
    Type: Grant
    Filed: August 11, 2005
    Date of Patent: January 6, 2009
    Assignee: Oracle International Corporation
    Inventors: Bhaskar Ghosh, Thierry Cruanes, Benoit Dageville
  • Patent number: 7451133
    Abstract: Techniques are provided for processing a database statement that includes a table function capable of parallel execution, where the input of the table function is specified in a subquery. During compilation of the database statement, a global cursor is generated for the database statement. The global cursor includes a first plan component for executing the table function and a second plan component for generating input for the table function. A “dummy” cursor is then generated. When slaves execute the table function, they call the dummy cursor for input. When a slave calls the dummy cursor for input, the dummy cursor causes a context switch back to the global cursor, so that the second plan component within the first cursor generates the input for the slave.
    Type: Grant
    Filed: August 30, 2004
    Date of Patent: November 11, 2008
    Assignee: Oracle International Corporation
    Inventors: Adiel Yoaz, Thierry Cruanes, Bhaskar Ghosh, Subramanian Muralidhar
  • Patent number: 7340452
    Abstract: A cursor that is generated from an original database statement includes a master plan that is shared among the various participants involved in the parallel execution of the operations specified in the original statement. For participants that cannot share the same cursor, such as slave processes on remote servers, a remote cursor is generated. Signatures are generated for both the master plan and the remote plans, and compared to ensure that the remote plans are equivalent to the master plans. Various parameters and statistics are provided to remote servers to increase the likelihood that the remote plans will be equivalent to the master plan.
    Type: Grant
    Filed: July 27, 2004
    Date of Patent: March 4, 2008
    Assignee: Oracle International Corporation
    Inventors: Bhaskar Ghosh, Thierry Cruanes, Benoit Dageville, Shrikanth Shankar
  • Patent number: 7203672
    Abstract: Techniques are provided for processing, within a database server, a database statement, where at least one subtask required by the database statement is to be executed in parallel by a slave set. The database server determines whether the database statement includes an external expression, relative to the subtask, that (a) produces information that is required by slave processes in the slave set in order to perform the subtask, and (b) is not to be evaluated by each slave process in the slave set. During execution of the statement, if the database statement includes an external expression, then one or more external values are generated by causing the external expression to be evaluated, and the one or more external values are communicated to slaves of the slave set to allow the slave processes to perform respective portions of the subtask in parallel, without requiring each slave of the slave set to evaluate the external expression.
    Type: Grant
    Filed: June 9, 2004
    Date of Patent: April 10, 2007
    Assignee: Oracle International Corporation
    Inventors: Thierry Cruanes, Bhaskar Ghosh, Subramanian Muralidhar, William H. Waddington
  • Patent number: 7203676
    Abstract: A query coordinator handles a multiple-server dynamic performance query by sending remote query slaves (1) first information for generating a complete plan for the query, and (2) second information for participating in the dynamic performance view portion of the query. If the slaves on the remote servers are unable to use the first information to generate an equivalent query (for example, if they reside in a database server that has closed the database), then the slaves on the remote servers use the second information to participate in the dynamic performance view portion of the query.
    Type: Grant
    Filed: July 23, 2004
    Date of Patent: April 10, 2007
    Assignee: Oracle International Corporation
    Inventors: Rushan Chen, Bhaskar Ghosh, Thierry Cruanes, Patrick A. Amor, Benoit Dageville
  • Publication number: 20070078812
    Abstract: Techniques are provided for delaying evaluation of expensive expressions in a query. Expensive expressions in the query are established by cost information or by looking up a list of known expensive expressions for a match. After an execution plan is determined by using the early evaluation technique, one or more equivalent execution plans is established. The one or more equivalent execution plans may include both a type of execution plans that delay evaluation of expensive expressions and a type of execution plans that do not. In addition, the one or more equivalent execution plans may include both parallelized and non-parallelized alternatives to the execution plan identified by the early evaluation technique. Finally, based on a set of criteria, which may include comparing cost information among all the equivalent execution plans generated thus far, the best execution plan is chosen for the query.
    Type: Application
    Filed: September 30, 2005
    Publication date: April 5, 2007
    Applicant: Oracle International Corporation
    Inventors: Allison Waingold, Rafi Ahmed, Bhaskar Ghosh, Dinesh Das, Mohamed Zait
  • Publication number: 20070073642
    Abstract: Various techniques are described for processing database commands that include MINUS and/or INTERSECT operators. According to one technique, the database server executes the MINUS/INTERSECT in a specialized rowsource in parallel. In one approach, the specialized rowsource implements a sort merge-join like solution, where: a DISTINCT SORT is performed on each input, a left and right pointer is maintained on the respective input streams of tuples, the left or right pointer is incremented based on whether there is a match between the tuples pointed-to by the pointers, and the tuple of the left side is returned (or not returned) based on whether there is a match. Techniques are described for generating multiple query plans for executing a query, where each of the query plans includes a plan portion for executing, in parallel, the operation associated with a MINUS/INTERSECT operator. Cost estimates are generated for the query plans.
    Type: Application
    Filed: September 27, 2005
    Publication date: March 29, 2007
    Inventors: Bhaskar Ghosh, Rafi Ahmed, Hermann Baer
  • Publication number: 20070073643
    Abstract: Various techniques are described for processing database commands that include MINUS and/or INTERSECT operators. The queries containing the MINUS and/or INTERSECT operators are transformed to create a plurality of transformed queries. Each of the transformed queries produces the same result as the original query, but does not include the MINUS and/or INTERSECT operator. To achieve the same result set as the original query, the transformed queries employ equijoins, antijoins, and/or semijoins, and duplicate elimination operations. Costs are estimated for each of the various transformed queries. Based on the cost estimates, one of the transformed queries is selected as the query that is to be executed to perform the operations specified in the original query.
    Type: Application
    Filed: September 27, 2005
    Publication date: March 29, 2007
    Inventors: Bhaskar Ghosh, Rafi Ahmed, Hermann Baer
  • Publication number: 20070038658
    Abstract: While generating an execution plan for a database statement that includes a user-defined table function that requires partitioning of input data to the function, it is determined whether the partitioning of output data from an operation that feeds the function is compatible with the partitioning required by the function. If the partitioning of output data from the operation that feeds the function is compatible with the partitioning required by the function, then the execution plan is constructed to specify execution of both (1) the function and (2) the operation that feeds the function, by a same set of processes. For example, the operation that feeds the function and the function itself are clumped into the same sub-plan or sub-tree, which is scheduled and run in parallel on a set of parallel execution slaves.
    Type: Application
    Filed: August 15, 2005
    Publication date: February 15, 2007
    Inventor: Bhaskar Ghosh
  • Publication number: 20070038595
    Abstract: A database statement is processed in a multi-server system, in a manner to increase the possibility that slave server processes on remote nodes will generate execution plans that are equivalent to the corresponding execution plan generated by the query coordinator process. A set of hints is generated based on the same information on which the master plan is based. The set of hints is sent to remote nodes, where respective remote plans are generated based in part on the set of hints. Use of the hints in generation of the remote plan increases the possibility that the remote plan will be equivalent to the master plan and that the slaves on the other database server will be able to join in parallel processing of the database statement.
    Type: Application
    Filed: August 11, 2005
    Publication date: February 15, 2007
    Inventors: Bhaskar Ghosh, Thierry Cruanes, Benoit Dageville
  • Patent number: 7103590
    Abstract: A method and mechanism for pipelined table functions is disclosed. With pipelining, data from a first table function does not have to be materialized into a complete collection before it is consumed by a succeeding table function. Instead, a producer of data creates a stream of data that is immediately utilized by a consumer of that data. Also disclosed is a method and mechanism for parallel processing of table functions, in which the set of work operated upon by a table function is sub-divided into smaller portions that are assigned to a plurality of table function slaves. Also disclosed is an integration between pipelining and parallelized execution for table functions.
    Type: Grant
    Filed: August 24, 2001
    Date of Patent: September 5, 2006
    Assignee: Oracle International Corporation
    Inventors: Ravi Murthy, Ajay Sethi, Bhaskar Ghosh, Ashish Thusoo, Shashaanka Agrawal, Adiel M. Yoaz
  • Publication number: 20060190947
    Abstract: Techniques are described for parallelizing qualifying window functions without reliance on partitioning criteria specified in the command that includes the qualifying window functions. Because the techniques do not rely on partitioning criteria specified in the command, the techniques may be used on commands in which no partitioning criteria is specified. In general, the techniques involve partitioning the work of a qualified window function into ranges, and sharing precomputed aggregate values between computational elements to calculate the value for the window functions.
    Type: Application
    Filed: July 5, 2005
    Publication date: August 24, 2006
    Inventors: Bhaskar Ghosh, Nathan Folkert, Thierry Cruanes, Sankar Subramanian
  • Publication number: 20060182046
    Abstract: Techniques are provided for performing a parallel aggregation operation on data that resides in a container, such as a relational table. During generation of the execution plan for the operation, it is determined whether partition-wise aggregation should be performed, based on the grouping keys involved in the aggregation and the partition keys used to partition the container. If partition-wise aggregation is to be performed, then the assignments given to the slave processes that are assigned to scan a container are made on a partition-wise basis. The scan slaves themselves may perform full or partial aggregation (depending on whether they are the only scan slaves assigned to the partition). If the scan slaves perform no aggregation, or only partial aggregation, then the scan slaves redistribute the data items to aggregation slaves that are local to the scan slaves.
    Type: Application
    Filed: February 16, 2005
    Publication date: August 17, 2006
    Inventors: Benoit Dageville, Bhaskar Ghosh, Rushan Chen, Thierry Cruanes, Mohamed Zait
  • Patent number: 7089356
    Abstract: A method is described for parallel processing of sequence operations, in which contention for the sequence operation is reduced among multiple parallel processes. Contention is reduced by caching sequence values locally for each parallel process. Each process accesses the sequence operation, or an instance level cache of sequence values, in a batched manner, thereby returning a block of unique sequence values instead of a single sequence value. The block of sequence values, or at least information that indicates a range of sequence values that define the block, is then cached locally in association with a given process of the multiple processes. Hence, future requests for sequence values from the given process are serviced from the local cache, rather than having to access the sequence operation and risk contention for the operation with other processes.
    Type: Grant
    Filed: November 21, 2002
    Date of Patent: August 8, 2006
    Assignee: Oracle International Corporation
    Inventors: Rushan Chen, Bhaskar Ghosh