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: 11693839Abstract: 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: GrantFiled: September 10, 2020Date of Patent: July 4, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Yinan Li, Nikolaos Romanos Katsipoulakis, Badrish Chandramouli, Jonathan D Goldstein, Donald Kossmann
-
Patent number: 11663187Abstract: 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: GrantFiled: June 14, 2022Date of Patent: May 30, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Badrish Chandramouli, Gunaprasaad Jeganathan, Donald Kossmann, Justin J Levandoski, James Hunter, Mike Barnett
-
Patent number: 11494414Abstract: 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: GrantFiled: October 25, 2018Date of Patent: November 8, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Danyel A. Fisher, Steven M. Drucker, Jonathan D. Goldstein, Badrish Chandramouli, Robert A. DeLine, John C. Platt, Mike Barnett
-
Publication number: 20220309049Abstract: 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: ApplicationFiled: June 14, 2022Publication date: September 29, 2022Inventors: Badrish Chandramouli, Gunaprasaad Jeganathan, Donald Kossmann, Justin J. Levandoski, James Hunter, Mike Barnett
-
Patent number: 11392570Abstract: 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: GrantFiled: March 9, 2018Date of Patent: July 19, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Badrish Chandramouli, Gunaprasaad Jeganathan, Donald Kossmann, Justin J Levandoski, James Hunter, Mike Barnett
-
Patent number: 11093218Abstract: 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: GrantFiled: July 14, 2017Date of Patent: August 17, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Badrish Chandramouli, Jonathan D. Goldstein, Michael Barnett, James Felger Terwilliger
-
Patent number: 10965549Abstract: 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: GrantFiled: May 21, 2019Date of Patent: March 30, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Jonathan D Goldstein, Badrish Chandramouli
-
Patent number: 10949427Abstract: 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: GrantFiled: May 5, 2017Date of Patent: March 16, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Badrish Chandramouli, Jonathan Goldstein, Michael Barnett, James Felger Terwilliger
-
Patent number: 10896178Abstract: 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: GrantFiled: March 30, 2016Date of Patent: January 19, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Badrish Chandramouli, Raul Castro Fernandez, Abdul H. Quamar, Ahmed Eldawy, Jonathan D. Goldstein
-
Publication number: 20210004361Abstract: 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: ApplicationFiled: September 10, 2020Publication date: January 7, 2021Inventors: Yinan Li, Nikolaos Romanos Katsipoulakis, Badrish Chandramouli, Jonathan D Goldstein, Donald Kossmann
-
Patent number: 10817490Abstract: 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: GrantFiled: April 28, 2017Date of Patent: October 27, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Yinan Li, Nikolaos Romanos Katsipoulakis, Badrish Chandramouli, Jonathan D Goldstein, Donald Kossmann
-
Patent number: 10789254Abstract: 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: GrantFiled: August 18, 2016Date of Patent: September 29, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Badrish Chandramouli, Jonathan D. Goldstein, David Maier, Mohamed H. Ali, Roman Schindlauer
-
Patent number: 10552397Abstract: 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: GrantFiled: August 9, 2016Date of Patent: February 4, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Jonathan David Goldstein, Badrish Chandramouli
-
Patent number: 10503704Abstract: 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: GrantFiled: August 31, 2016Date of Patent: December 10, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Vivek R. Narasayya, Sudipto Das, Feng Li, Manoj A. Syamala, Hyunjung Park, Surajit Chaudhuri, Badrish Chandramouli
-
Publication number: 20190278849Abstract: 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: ApplicationFiled: March 9, 2018Publication date: September 12, 2019Inventors: Badrish Chandramouli, Gunaprasaad Jeganathan, Donald Kossmann, Justin J. Levandoski, James Hunter, Mike Barnett
-
Publication number: 20190273667Abstract: 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: ApplicationFiled: May 21, 2019Publication date: September 5, 2019Inventors: Jonathan D Goldstein, Badrish Chandramouli
-
Patent number: 10348576Abstract: 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: GrantFiled: April 29, 2016Date of Patent: July 9, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Jonathan D. Goldstein, Badrish Chandramouli
-
Patent number: 10334011Abstract: 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: GrantFiled: June 13, 2016Date of Patent: June 25, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Yinan Li, Badrish Chandramouli, Jonathan D. Goldstein
-
Publication number: 20190057144Abstract: 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: ApplicationFiled: October 25, 2018Publication date: February 21, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Danyel A. Fisher, Steven M. Drucker, Jonathan D. Goldstein, Badrish Chandramouli, Robert A. DeLine, John C. Platt, Mike Barnett
-
Publication number: 20190018905Abstract: 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: ApplicationFiled: July 14, 2017Publication date: January 17, 2019Inventors: Badrish CHANDRAMOULI, Jonathan D. GOLDSTEIN, Michael BARNETT, James Felger TERWILLIGER