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: 11693839
    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: Grant
    Filed: September 10, 2020
    Date of Patent: July 4, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yinan Li, Nikolaos Romanos Katsipoulakis, Badrish Chandramouli, Jonathan D Goldstein, Donald Kossmann
  • Patent number: 11663187
    Abstract: A system includes a processor and a memory storing multiple records in a key-value data structure and processor executable instructions for managing access to records in the key-value data structure. The instructions are executable to perform operations including managing a shared atomic epoch counter and thread epoch counters, determining a maximal safe epoch as a function of the shared atomic epoch counter and the thread epoch counters, maintaining a drain list of trigger actions, and triggering the trigger actions in the drain list as a function of an update of the shared atomic epoch counter and the maximal safe epoch.
    Type: Grant
    Filed: June 14, 2022
    Date of Patent: May 30, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Badrish Chandramouli, Gunaprasaad Jeganathan, Donald Kossmann, Justin J Levandoski, James Hunter, Mike Barnett
  • Patent number: 11494414
    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: October 25, 2018
    Date of Patent: November 8, 2022
    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: 20220309049
    Abstract: A system includes a processor and a memory storing multiple records in a key-value data structure and processor executable instructions for managing access to records in the key-value data structure. The instructions are executable to perform operations including managing a shared atomic epoch counter and thread epoch counters, determining a maximal safe epoch as a function of the shared atomic epoch counter and the thread epoch counters, maintaining a drain list of trigger actions, and triggering the trigger actions in the drain list as a function of an update of the shared atomic epoch counter and the maximal safe epoch.
    Type: Application
    Filed: June 14, 2022
    Publication date: September 29, 2022
    Inventors: Badrish Chandramouli, Gunaprasaad Jeganathan, Donald Kossmann, Justin J. Levandoski, James Hunter, Mike Barnett
  • Patent number: 11392570
    Abstract: A system includes a processor and a memory storing multiple records in a key-value data structure and processor executable instructions for managing access to records in the key-value data structure. The instructions are executable to perform operations including managing a shared atomic epoch counter and thread epoch counters, determining a maximal safe epoch as a function of the shared atomic epoch counter and the thread epoch counters, maintaining a drain list of trigger actions, and triggering the trigger actions in the drain list as a function of an update of the shared atomic epoch counter and the maximal safe epoch.
    Type: Grant
    Filed: March 9, 2018
    Date of Patent: July 19, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Badrish Chandramouli, Gunaprasaad Jeganathan, Donald Kossmann, Justin J Levandoski, James Hunter, Mike Barnett
  • Patent number: 11093218
    Abstract: An intermediate representation of a workflow of one or more modules may be generated to decouple language implementations of the one or more modules. In response to receiving a workflow of one or more modules, the workflow may be analyzed to determine an optimal implementation language for each of the one or more modules to thereby reduce effects of data marshalling. An intermediate representation of the workflow that is configured to decouple any implementation languages associated with the one or more modules may be generated. To allow for decoupling, the intermediate representation may be written in a declarative language. The generated intermediate representation may then be compiled to generate an executable program that corresponds to the workflow and is implemented in the determined optimal language for each of the one or more modules.
    Type: Grant
    Filed: July 14, 2017
    Date of Patent: August 17, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Badrish Chandramouli, Jonathan D. Goldstein, Michael Barnett, James Felger Terwilliger
  • Patent number: 10965549
    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: Grant
    Filed: May 21, 2019
    Date of Patent: March 30, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jonathan D Goldstein, Badrish Chandramouli
  • Patent number: 10949427
    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: Grant
    Filed: May 5, 2017
    Date of Patent: March 16, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Badrish Chandramouli, Jonathan Goldstein, Michael Barnett, James Felger Terwilliger
  • Patent number: 10896178
    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: Grant
    Filed: March 30, 2016
    Date of Patent: January 19, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Badrish Chandramouli, Raul Castro Fernandez, Abdul H. Quamar, Ahmed Eldawy, Jonathan D. Goldstein
  • Publication number: 20210004361
    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: September 10, 2020
    Publication date: January 7, 2021
    Inventors: Yinan Li, Nikolaos Romanos Katsipoulakis, Badrish Chandramouli, Jonathan D Goldstein, Donald Kossmann
  • Patent number: 10817490
    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: Grant
    Filed: April 28, 2017
    Date of Patent: October 27, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yinan Li, Nikolaos Romanos Katsipoulakis, Badrish Chandramouli, Jonathan D Goldstein, Donald Kossmann
  • Patent number: 10789254
    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: Grant
    Filed: August 18, 2016
    Date of Patent: September 29, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Badrish Chandramouli, Jonathan D. Goldstein, David Maier, Mohamed H. Ali, Roman Schindlauer
  • Patent number: 10552397
    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: Grant
    Filed: August 9, 2016
    Date of Patent: February 4, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jonathan David Goldstein, Badrish Chandramouli
  • Patent number: 10503704
    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: Grant
    Filed: August 31, 2016
    Date of Patent: December 10, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vivek R. Narasayya, Sudipto Das, Feng Li, Manoj A. Syamala, Hyunjung Park, Surajit Chaudhuri, Badrish Chandramouli
  • Publication number: 20190278849
    Abstract: A system includes a processor and a memory storing multiple records in a key-value data structure and processor executable instructions for managing access to records in the key-value data structure. The instructions are executable to perform operations including managing a shared atomic epoch counter and thread epoch counters, determining a maximal safe epoch as a function of the shared atomic epoch counter and the thread epoch counters, maintaining a drain list of trigger actions, and triggering the trigger actions in the drain list as a function of an update of the shared atomic epoch counter and the maximal safe epoch.
    Type: Application
    Filed: March 9, 2018
    Publication date: September 12, 2019
    Inventors: Badrish Chandramouli, Gunaprasaad Jeganathan, Donald Kossmann, Justin J. Levandoski, James Hunter, Mike Barnett
  • Publication number: 20190273667
    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: May 21, 2019
    Publication date: September 5, 2019
    Inventors: Jonathan D Goldstein, Badrish Chandramouli
  • Patent number: 10348576
    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: Grant
    Filed: April 29, 2016
    Date of Patent: July 9, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jonathan D. Goldstein, Badrish Chandramouli
  • Patent number: 10334011
    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: Grant
    Filed: June 13, 2016
    Date of Patent: June 25, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yinan Li, Badrish Chandramouli, Jonathan D. Goldstein
  • Publication number: 20190057144
    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: October 25, 2018
    Publication date: February 21, 2019
    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
  • Publication number: 20190018905
    Abstract: An intermediate representation of a workflow of one or more modules may be generated to decouple language implementations of the one or more modules. In response to receiving a workflow of one or more modules, the workflow may be analyzed to determine an optimal implementation language for each of the one or more modules to thereby reduce effects of data marshalling. An intermediate representation of the workflow that is configured to decouple any implementation languages associated with the one or more modules may be generated. To allow for decoupling, the intermediate representation may be written in a declarative language. The generated intermediate representation may then be compiled to generate an executable program that corresponds to the workflow and is implemented in the determined optimal language for each of the one or more modules.
    Type: Application
    Filed: July 14, 2017
    Publication date: January 17, 2019
    Inventors: Badrish CHANDRAMOULI, Jonathan D. GOLDSTEIN, Michael BARNETT, James Felger TERWILLIGER