Iowa State University since Aug 2008
Associate Professor
Oracle Corporation May 2009 - Jun 2010
Consulting Member of Technical Staff
Iowa State University 2002 - 2008
Assistant Professor
Bell Labs May 1999 - Jul 1999
Summer Intern
Education:
Brown University 1996 - 2002
Ph.D, Computer Science
Indian Institute of Technology, Madras 1992 - 1996
B.Tech, Computer Science
Skills:
Algorithm Design Stream Processing Distributed Systems Algorithms C Databases Parallel Computing Big Data Graph Theory C++ Hadoop Mpi Data Mining Computer Science Data Analysis Artificial Intelligence Latex High Performance Computing Python Information Retrieval Software Engineering Machine Learning Data Structures Parallel Programming High Performance Computing Software Development
David P. Woodruff - Mountain View CA, US Srikanta N. Tirthapura - Ames IA, US
Assignee:
International Business Machines Corporation - Armonk NY Iowa State University - Ames IA
International Classification:
G06F 17/30
US Classification:
707748
Abstract:
Described herein are methods, systems, apparatuses and products for random sampling from distributed streams. An aspect provides a method for distributed sampling on a network with a plurality of sites and a coordinator, including: receiving at the coordinator a data element from a site of the plurality of sites, said data element having a weight randomly associated therewith deemed reportable by comparison at the site to a locally stored global value; comparing the weight of the data element received with a global value stored at the coordinator; and performing one of: updating the global value stored at the coordinator to the weight of the data element received; and communicating the global value stored at the coordinator back to the site of the plurality of sites. Other embodiments are disclosed.
Computing Time-Decayed Aggregates Under Smooth Decay Functions
Graham Cormode - Summit NJ, US Philip Korn - New York NY, US Srikanta Tirthapura - Ames IA, US
Assignee:
AT&T Intellectual Property I, L.P. - Atlanta GA
International Classification:
G06F 1/02
US Classification:
708270, 708274
Abstract:
Aggregates are calculated from a data stream in which data is sent in a sequence of tuples, in which each tuple comprises an item identifier and a timestamp indicating when the tuple was transmitted. The tuples may arrive at a data receiver out-of-order, that is, the sequence in which the tuples arrive are not necessarily in the same sequence as their corresponding timestamps. In calculating aggregates, more recent data may be given more weight by a decay function which is a function of the timestamp associated with the tuple and the current time. The statistical characteristics of the tuples are summarized by a set of linear data summaries. The set of linear data summaries are generated such that only a single linear data summary falls between a set of boundaries calculated from the decay function and a set of timestamps. Aggregates are calculated from the set of linear data summaries.
System And Method For Optimizing A Code Section By Forcing A Code Section To Be Executed Atomically
Mark S. Moir - Wllington, NZ David Dice - Foxboro MA, US Srikanta N. Tirthapura - Ames IA, US
Assignee:
Oracle International Corporation - Redwood City CA
International Classification:
G06F 9/45 G06F 9/46
US Classification:
717152, 717151, 718101, 718102
Abstract:
Systems and methods for optimizing code may use transactional memory to optimize one code section by forcing another code section to execute atomically. Application source code may be analyzed to identify instructions in one code section that only need to be executed if there exists the possibility that another code section (e. g. , a critical section) could be partially executed or that its results could be affected by interference. In response to identifying such instructions, alternate code may be generated that forces the critical section to be executed as an atomic transaction, e. g. , using best-effort hardware transactional memory. This alternate code may replace the original code or may be included in an alternate execution path that can be conditionally selected for execution at runtime. The alternate code may elide the identified instructions (which are rendered unnecessary by the transaction) by removing them, or by including them in the alternate execution path.
Computing Correlated Aggregates Over A Data Stream
David P. Woodruff - Mountain View CA, US Srikanta N. Tirthapura - Ames IA, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 17/30
US Classification:
707769
Abstract:
Described herein are approaches for computing correlated aggregates. An aspect provides for receiving a stream of data elements at a device, each data element having at least one numerical attribute; maintaining in memory plurality of tree structures comprising a plurality of separate nodes for summarizing numerical attributes of the data elements with respect to a predicate value of a correlated aggregation query, said maintaining comprising: creating the plurality of tree structures in which each node implements one of: a probabilistic counter and a sketch, wherein said probabilistic counter and said sketch each act to estimate aggregated data element numerical attributes to form a summary of said numerical attributes; and responsive to a correlated aggregation query specifying said predicate value, using said plurality of tree structures as a summary of said data element numerical attributes to compute a response to said correlated aggregate query.
Graham Cormode - Summit NJ, US Philip Korn - New York NY, US Srikanta Tirthapura - Ames IA, US
International Classification:
G06F 17/00
US Classification:
708274
Abstract:
Aggregates are calculated from a data stream in which data is sent in a sequence of tuples, in which each tuple comprises an item identifier and a timestamp indicating when the tuple was transmitted. The tuples may arrive out-of-order, that is, the sequence in which the tuples arrive are not necessarily in the sequence of their corresponding timestamps. In calculating aggregates, more recent data may be given more weight by multiplying each tuple by a decay function which is a function of the timestamp associated with the tuple and the current time. The tuples are recorded in a quantile-digest data structure. Aggregates are calculated from the data stored in the quantile-digest data structure.
Computing Correlated Aggregates Over A Data Stream
David P. Woodruff - Mountain View CA, US Srikanta N. Tirthapura - Ames IA, US
Assignee:
IOWA STATE UNIVERSITY RESEARCH FOUNDATION, INC. - Ames IA INTERNATIONAL BUSINESS MACHINES CORPORATION - Armonk NY
International Classification:
G06F 17/30
US Classification:
707769, 707E17014, 707E17044
Abstract:
Described herein are approaches for computing correlated aggregates. An aspect provides for receiving a stream of data elements at a device, each data element having at least one numerical attribute; maintaining in memory plurality of tree structures comprising a plurality of separate nodes for summarizing numerical attributes of the data elements with respect to a predicate value of a correlated aggregation query, said maintaining comprising: creating the plurality of tree structures in which each node implements one of: a probabilistic counter and a sketch, wherein said probabilistic counter and said sketch each act to estimate aggregated data element numerical attributes to form a summary of said numerical attributes; and responsive to a correlated aggregation query specifying said predicate value, using said plurality of tree structures as a summary of said data element numerical attributes to compute a response to said correlated aggregate query.
Iowa State University Research Foundation, Inc. - Ames IA, US Srikanta Tirthapura - Ames IA, US
Assignee:
IOWA STATE UNIVERSITY RESEARCH FOUNDATION, INC. - Ames IA AT&T INTELLECTUAL PROPERTY I, L.P. - Atlanta GA
International Classification:
H04L 12/26
US Classification:
370252
Abstract:
Aggregates are calculated from a data stream in which data is sent in a sequence of tuples, in which each tuple comprises an item identifier and a timestamp indicating when the tuple was transmitted. The tuples may arrive out-of-order, that is, the sequence in which the tuples arrive are not necessarily in the sequence of their corresponding timestamps. In calculating aggregates, more recent data may be given more weight by multiplying each tuple by a decay function which is a function of the timestamp associated with the tuple and the current time. The tuples are recorded in a quantile-digest data structure. Aggregates are calculated from the data stored in the quantile-digest data structure.
Computing Time-Decayed Aggregates Under Smooth Decay Functions
Iowa State University Research Foundation, Inc - , US Srikanta Tirthapura - Ames IA, US
Assignee:
Iowa State University Research Foundation, Inc - Ames IA AT&T Intellectual Property I, L.P. - Atlanta GA
International Classification:
G06F 17/10
US Classification:
708270
Abstract:
Aggregates are calculated from a data stream in which data is sent in a sequence of tuples, in which each tuple comprises an item identifier and a timestamp indicating when the tuple was transmitted. The tuples may arrive at a data receiver out-of-order, that is, the sequence in which the tuples arrive are not necessarily in the same sequence as their corresponding timestamps. In calculating aggregates, more recent data may be given more weight by a decay function which is a function of the timestamp associated with the tuple and the current time. The statistical characteristics of the tuples are summarized by a set of linear data summaries. The set of linear data summaries are generated such that only a single linear data summary falls between a set of boundaries calculated from the decay function and a set of timestamps. Aggregates are calculated from the set of linear data summaries
Isbn (Books And Publications)
Distributed Computing and Networking: 8th International Conference, ICDCN 2006, Guwahati, India, December 27-30, 2006, Proceedings