Patents by Inventor Badrish Chandramouli

Badrish Chandramouli 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: 10178161
    Abstract: The techniques and systems described herein are directed to providing deep integration of digital signal processing (DSP) operations with a general-purpose query processor. The techniques and systems provide a unified query language for processing tempo-relational and signal data, provide mechanisms for defining DSP operators, and support incremental computation in both offline and online analysis. The techniques and systems include receiving streaming data, aggregating and performing uniformity processing to generate a uniform signal, and storing the uniform signal in a batched columnar representation. Data can be copied from the batched columnar representation to a circular buffer, where DSP operations are applied to the data. Incremental processing can avoid redundant processing.
    Type: Grant
    Filed: May 11, 2016
    Date of Patent: January 8, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Badrish Chandramouli, Jonathan D. Goldstein, Milos Nikolic
  • Patent number: 10140358
    Abstract: The described implementations relate to processing of electronic data. One implementation is manifest as a technique that can include obtaining a relational query that references one or more data items and associating progress intervals with the data items. The technique can also include converting the relational query into a corresponding streaming query, and providing the streaming query and the data items with the progress intervals to a stream engine that produces incremental results of the query. For example, the progress intervals can be based on row numbers of a relational database table. The progress intervals can be used to define event lifetimes of streaming events that are provided as inputs to the stream engine.
    Type: Grant
    Filed: February 14, 2017
    Date of Patent: November 27, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Danyel A. Fisher, Steven M. Drucker, Jonathan D. Goldstein, Badrish Chandramouli, Robert A. DeLine, John C. Platt, Mike Barnett
  • Publication number: 20180314722
    Abstract: A method includes obtaining a query containing at least one field from which data is being queried, obtaining a dataset having a schema-free data exchange format having multiple fields of data at different physical positions in the dataset, and parsing the dataset by obtaining a structural index that maps logical locations of fields to physical locations of the fields of the dataset, accessing the structural index with logical locations of the fields that index to the physical locations, and providing data from the fields based on the physical locations responsive to the query.
    Type: Application
    Filed: April 28, 2017
    Publication date: November 1, 2018
    Inventors: Yinan Li, Nikolaos Romanos Katsipoulakis, Badrish Chandramouli, Jonathan D Goldstein, Donald Kossmann
  • Publication number: 20180218048
    Abstract: Accommodating a particular kind of out-of-order data; namely, when data arrives out-of-order because the data is generated in systems that may have different application timelines. As data arrives, it arrives with a particular partition key. For instance, the partition key might identify the source of the data. The data from each partition key is kept in-order with respect to all other data from that same partition key. That said, data from one key is permitted to have a different timeline as compared to data from any other key. Thus, the data may not be in-order when viewed globally across keys. Rather, data is tolerated to be out-of-order globally so long as the lag in the arrived data is within some tolerated lag. If the data arrives having a time that exceeds the maximum tolerated lag, then the system applies some policy to determine what to do with the delayed data.
    Type: Application
    Filed: May 5, 2017
    Publication date: August 2, 2018
    Inventors: Badrish CHANDRAMOULI, Jonathan GOLDSTEIN, Michael BARNETT, James Felger TERWILLIGER
  • Patent number: 10002147
    Abstract: The formulation of a merged sorted list from multiple input sorted lists in multiple phases using an array pair. Initially, the first array is populated with the input sorted lists. In the first phase, the first and second input sorted lists are merged into a first intermediary merged list within the second array. Each subsequent phase merges a prior intermediary merged list resulting from the prior phase and, a next input sorted list in the first array to generate a next intermediary merged list, or a merged sorted list if there or no further input in the first array. The intermediary merged lists alternate between the first array and the second array from one phase to the next phase.
    Type: Grant
    Filed: August 9, 2016
    Date of Patent: June 19, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jonathan David Goldstein, Badrish Chandramouli
  • Patent number: 9965520
    Abstract: A logical merge module is described herein for producing an output stream which is logically compatible with two or more physically divergent input streams. Representative applications of the logical merge module are also set forth herein.
    Type: Grant
    Filed: June 17, 2011
    Date of Patent: May 8, 2018
    Assignee: Microsoft Corporation
    Inventors: Badrish Chandramouli, David E. Maier, Jonathan D. Goldstein, Peter A. Zabback
  • Patent number: 9876851
    Abstract: The description relates to cloud-edge topologies. Some aspects relate to cloud-edge applications and resource usage in various cloud-edge topologies. Another aspect of the present cloud-edge topologies can relate to the specification of cloud-edge applications using a temporal language. A further aspect can involve an architecture that runs data stream management systems (DSMSs) engines on the cloud and cloud-edge computers to run query parts.
    Type: Grant
    Filed: June 25, 2015
    Date of Patent: January 23, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Badrish Chandramouli, Suman K. Nath, Wenchao Zhou
  • Publication number: 20170359398
    Abstract: The techniques and systems described herein are directed to incremental sorting in a stream processing engine. For example, because of network delays, streaming data can be received at a stream processing engine that is out-of-order with respect to the timestamp of the event generation. Streaming data can be incrementally sorted by partitioning events into ordered runs, which provide intermediate arrays of ordered elements. Upon an assertion of a punctuation event (e.g., a progress indicator), partial runs can be output and merged to form sorted streaming data. Further, the sorted streaming data can be used to provide speculative outputs based on speculation latencies, which improves throughput and completeness of processing on the streaming data.
    Type: Application
    Filed: June 13, 2016
    Publication date: December 14, 2017
    Inventors: Yinan Li, Badrish Chandramouli, Jonathan D. Goldstein
  • Publication number: 20170331881
    Abstract: The techniques and systems described herein are directed to providing deep integration of digital signal processing (DSP) operations with a general-purpose query processor. The techniques and systems provide a unified query language for processing tempo-relational and signal data, provide mechanisms for defining DSP operators, and support incremental computation in both offline and online analysis. The techniques and systems include receiving streaming data, aggregating and performing uniformity processing to generate a uniform signal, and storing the uniform signal in a batched columnar representation. Data can be copied from the batched columnar representation to a circular buffer, where DSP operations are applied to the data. Incremental processing can avoid redundant processing.
    Type: Application
    Filed: May 11, 2016
    Publication date: November 16, 2017
    Inventors: Badrish Chandramouli, Jonathan D. Goldstein, Milos Nikolic
  • Publication number: 20170317893
    Abstract: Costs associated with deploying a streaming query according to one or more resiliency strategies given a particular service level agreement (SLA) specification are modeled to enable selection and/or recommendation of a particular resiliency strategy. A baseline cost model represents costs associated with deploying the streaming query non-resiliently. For each of any number of resiliency strategies, a resiliency model represents additional costs associated with deploying the streaming query according to a particular resiliency strategy.
    Type: Application
    Filed: April 29, 2016
    Publication date: November 2, 2017
    Inventors: Jonathan D. Goldstein, Badrish Chandramouli
  • Publication number: 20170286485
    Abstract: High performance query processing and data analytics can be performed across architecturally diverse scales, such as single core, multi-core and/or multi-nodes. The high performance query processing and data analytics can include a separation of query computation, keying data, and data movement and parallel computation, thereby enhancing the capabilities of the query processing and data analytics, while allowing the specification of complex forms of data parallel computation that may execute across real-time and offline. The decoupling of data movement and parallel computation, as described herein can improve query processing and data analytics speed, can provide for the optimization of searches in a plurality of computing environments, and can provide the ability to search through a larger space of execution plans.
    Type: Application
    Filed: March 30, 2016
    Publication date: October 5, 2017
    Inventors: Badrish Chandramouli, Raul Castro Fernandez, Abdul H. Quamar, Ahmed Eldawy, Jonathan D. Goldstein
  • Patent number: 9697262
    Abstract: Some examples include high-performance query processing of real-time and offline temporal-relational data. Further, some implementations include processing streaming data events by annotating individual events with a first timestamp (e.g., a “sync-time”) and second timestamp that may identify additional event information. The stream of incoming data events may be organized into a sequence of data batches that each include multiple data events. The individual data batches in the sequence may be processed in a non-decreasing “sync-time” order.
    Type: Grant
    Filed: December 17, 2013
    Date of Patent: July 4, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Badrish Chandramouli, John Wernsing, Jonathan D. Goldstein, Michael Barnett, John C. Platt
  • Publication number: 20170154098
    Abstract: The described implementations relate to processing of electronic data. One implementation is manifest as a technique that can include obtaining a relational query that references one or more data items and associating progress intervals with the data items. The technique can also include converting the relational query into a corresponding streaming query, and providing the streaming query and the data items with the progress intervals to a stream engine that produces incremental results of the query. For example, the progress intervals can be based on row numbers of a relational database table. The progress intervals can be used to define event lifetimes of streaming events that are provided as inputs to the stream engine.
    Type: Application
    Filed: February 14, 2017
    Publication date: June 1, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Danyel A. Fisher, Steven M. Drucker, Jonathan D. Goldstein, Badrish Chandramouli, Robert A. DeLine, John C. Platt, Mike Barnett
  • Patent number: 9632846
    Abstract: A complex event processor is described which has a communications interface configured to retrieve event data by pulling it from one or more sources and to receive at least one live event stream pushed to the interface. An event processing pipeline connected to the communications interface comprises a plurality of operator nodes connected between the communications interface and a combiner node which is a node configured to combine event data from the source and from the live event stream. The communications interface is configured to retrieve events from the source and to push the events retrieved from the source along the event processing pipeline towards the combiner node. The communications interface is configured to retrieve and push the retrieved events only in response to request messages passed in an upstream direction from the combiner node to the communications interface along the pipeline.
    Type: Grant
    Filed: April 2, 2015
    Date of Patent: April 25, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Laurent Bussard, Ivo José Garcia dos Santos, Olivier Nano, Tihomir Tarnavski, Jonathan Goldstein, Badrish Chandramouli, Lev Novik
  • Patent number: 9607045
    Abstract: The described implementations relate to processing of electronic data. One implementation is manifest as a technique that can include obtaining a relational query that references one or more data items and associating progress intervals with the data items. The technique can also include converting the relational query into a corresponding streaming query, and providing the streaming query and the data items with the progress intervals to a stream engine that produces incremental results of the query. For example, the progress intervals can be based on row numbers of a relational database table. The progress intervals can be used to define event lifetimes of streaming events that are provided as inputs to the stream engine.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: March 28, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Danyel A. Fisher, Steven M. Drucker, Jonathan D. Goldstein, Badrish Chandramouli, Robert A. DeLine, John C. Platt, Mike Barnett
  • Publication number: 20160371307
    Abstract: Techniques for tenant performance isolation in a multiple-tenant database management system are described. These techniques may include providing a reservation of server resources. The server resources reservation may include a reservation of a central processing unit (CPU), a reservation of Input/Ouput throughput, and/or a reservation of buffer pool memory or working memory. The techniques may also include a metering mechanism that determines whether the resource reservation is satisfied. The metering mechanism may be independent of an actual resource allocation mechanism associated with the server resource reservation.
    Type: Application
    Filed: August 31, 2016
    Publication date: December 22, 2016
    Inventors: Vivek R. Narasayya, Sudipto Das, Feng Li, Manoj A. Syamala, Hyunjung Park, Surajit Chaudhuri, Badrish Chandramouli
  • Publication number: 20160357821
    Abstract: Architecture introduces a new pattern operator referred to as called an augmented transition network (ATN), which is a streaming adaptation of non-reentrant, fixed-state ATNs for dynamic patterns. Additional user-defined information is associated with automaton states and is accessible to transitions during execution. ATNs are created that directly model complex pattern continuous queries with arbitrary cycles in a transition graph. The architecture can express the desire to ignore some events during pattern detection, and can also detect the absence of data as part of a pattern. The architecture facilitates efficient support for negation, ignorable events, and state cleanup based on predicate punctuations.
    Type: Application
    Filed: August 18, 2016
    Publication date: December 8, 2016
    Inventors: Badrish Chandramouli, Jonathan D. Goldstein, David Maier, Mohamed H. Ali, Roman Schindlauer
  • Patent number: 9514214
    Abstract: A plurality of data items that are annotated with progress markers may be obtained. The progress markers may indicate progress points associated with atemporal processing progress of the respective data items. Deterministic, massively parallel, progressive processing may be initiated on the plurality of data items on a plurality of devices, the progress markers indicating which of the plurality of data items are to be incorporated into results of the progressive processing, the progress markers further indicating an ordering for incorporation of the respective data items into the results.
    Type: Grant
    Filed: June 12, 2013
    Date of Patent: December 6, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Badrish Chandramouli, Jonathan Goldstein, Abdul Hussain Quamar
  • Publication number: 20160350345
    Abstract: The formulation of a merged sorted list from multiple input sorted lists in multiple phases using an array pair. Initially, the first array is contiguously populated with the input sorted lists. In the first phase, the first and second input sorted lists are merged into a first intermediary merged list within the second array. Each subsequent phase merges a prior intermediary merged list resulting from the prior phase and, a next input sorted list in the first array to generate a next intermediary merged list, or a merged sorted list if there or no further input in the first array. The intermediary merged lists alternate between the first array and the second array from one phase to the next phase.
    Type: Application
    Filed: August 9, 2016
    Publication date: December 1, 2016
    Inventors: Jonathan David Goldstein, Badrish Chandramouli
  • Publication number: 20160350341
    Abstract: The formulation of a merged sorted list from multiple input sorted lists in multiple phases using an array pair. Initially, the first array is populated with the input sorted lists. In the first phase, the first and second input sorted lists are merged into a first intermediary merged list within the second array. Each subsequent phase merges a prior intermediary merged list resulting from the prior phase and, a next input sorted list in the first array to generate a next intermediary merged list, or a merged sorted list if there or no further input in the first array. The intermediary merged lists alternate between the first array and the second array from one phase to the next phase.
    Type: Application
    Filed: August 9, 2016
    Publication date: December 1, 2016
    Inventors: Jonathan David Goldstein, Badrish Chandramouli