Patents by Inventor Michael A. Isard
Michael A. Isard 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: 10437573Abstract: General-purpose distributed data-parallel computing using a high-level language is disclosed. Data parallel portions of a sequential program that is written by a developer in a high-level language are automatically translated into a distributed execution plan. The distributed execution plan is then executed on large compute clusters. Thus, the developer is allowed to write the program using familiar programming constructs in the high level language. Moreover, developers without experience with distributed compute systems are able to take advantage of such systems.Type: GrantFiled: July 10, 2017Date of Patent: October 8, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Yuan Yu, Dennis Fetterly, Michael Isard, Ulfar Erlingsson, Mihai Budiu
-
Patent number: 10171284Abstract: A computer-readable storage medium stores computer-executable instructions that, when executed by a processor, perform operations including scheduling first and second threads to operate independently on first and second partitions of data. The operations include beginning a first operation on the first and second partitions by the first and second threads, respectively. The operations include tracking progress of the first operation by the first and second threads using a replicated data structure. The operations include, for a record on which the first operation will be performed, adding an entry to the replicated data structure with a timestamp indicating an epoch and iteration. The operations include determining a number of yet-to-be-processed records for a selected entry of the replicated data structure. The selected entry has the most recent timestamp for the first thread. The operations include terminating the first thread when the number of yet-to-be-processed records for the selected entry is zero.Type: GrantFiled: November 24, 2017Date of Patent: January 1, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Frank D. McSherry, Rebecca Isaacs, Michael A. Isard, Derek G. Murray
-
Publication number: 20180097684Abstract: A computer-readable storage medium stores computer-executable instructions that, when executed by a processor, perform operations including scheduling first and second threads to operate independently on first and second partitions of data. The operations include beginning a first operation on the first and second partitions by the first and second threads, respectively. The operations include tracking progress of the first operation by the first and second threads using a replicated data structure. The operations include, for a record on which the first operation will be performed, adding an entry to the replicated data structure with a timestamp indicating an epoch and iteration. The operations include determining a number of yet-to-be-processed records for a selected entry of the replicated data structure. The selected entry has the most recent timestamp for the first thread. The operations include terminating the first thread when the number of yet-to-be-processed records for the selected entry is zero.Type: ApplicationFiled: November 24, 2017Publication date: April 5, 2018Inventors: Frank D. Mcsherry, Rebecca Isaacs, Michael A. Isard, Derek G. Murray
-
Publication number: 20170371721Abstract: General-purpose distributed data-parallel computing using a high-level language is disclosed. Data parallel portions of a sequential program that is written by a developer in a high-level language are automatically translated into a distributed execution plan. The distributed execution plan is then executed on large compute clusters. Thus, the developer is allowed to write the program using familiar programming constructs in the high level language. Moreover, developers without experience with distributed compute systems are able to take advantage of such systems.Type: ApplicationFiled: July 10, 2017Publication date: December 28, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Yuan Yu, Dennis Fetterly, Michael Isard, Ulfar Erlingsson, Mihai Budiu
-
Patent number: 9832068Abstract: Various embodiments provide techniques for working with large-scale collections of data pertaining to real world systems, such as a social network, a roadmap/GPS system, etc. The techniques perform incremental, iterative, and interactive parallel computation using a coordination clock protocol, which applies to scheduling computations and managing resources such as memory and network resources, etc., in cyclic graphs including those resulting from a differential dataflow model that performs computations on differences in the collections of data.Type: GrantFiled: December 17, 2012Date of Patent: November 28, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Frank D. McSherry, Rebecca Isaacs, Michael A. Isard, Derek G. Murray
-
Patent number: 9747726Abstract: Methods for generating and displaying images associated with one or more virtual objects within an augmented reality environment at a frame rate that is greater than a rendering frame rate are described. The rendering frame rate may correspond with the minimum time to render images associated with a pose of a head-mounted display device (HMD). In some embodiments, the HMD may determine a predicted pose associated with a future position and orientation of the HMD, generate a pre-rendered image based on the predicted pose, determine an updated pose associated with the HMD subsequent to generating the pre-rendered image, generate an updated image based on the updated pose and the pre-rendered image, and display the updated image on the HMD. The updated image may be generated via a homographic transformation and/or a pixel offset adjustment of the pre-rendered image.Type: GrantFiled: August 3, 2016Date of Patent: August 29, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Oliver Michael Christian Williams, Paul Barham, Michael Isard, Tuan Wong, Kevin Woo, Georg Klein, Douglas Kevin Service, Ashraf Ayman Michail, Andrew Pearson, Martin Shetter, Jeffrey Neil Margolis, Nathan Ackerman, Calvin Chan, Arthur C. Tomlin
-
Patent number: 9720743Abstract: General-purpose distributed data-parallel computing using a high-level language is disclosed. Data parallel portions of a sequential program that is written by a developer in a high-level language are automatically translated into a distributed execution plan. The distributed execution plan is then executed on large compute clusters. Thus, the developer is allowed to write the program using familiar programming constructs in the high level language. Moreover, developers without experience with distributed compute systems are able to take advantage of such systems.Type: GrantFiled: July 23, 2015Date of Patent: August 1, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Yuan Yu, Dennis Fetterly, Michael Isard, Ulfar Erlingsson, Mihai Budiu
-
Patent number: 9514571Abstract: Methods for generating and displaying images associated with one or more virtual objects within an augmented reality environment at a frame rate that is greater than a rendering frame rate are described. The rendering frame rate may correspond with the minimum time to render images associated with a pose of a head-mounted display device (HMD). In some embodiments, the HMD may determine a predicted pose associated with a future position and orientation of the HMD, generate a pre-rendered image based on the predicted pose, determine an updated pose associated with the HMD subsequent to generating the pre-rendered image, generate an updated image based on the updated pose and the pre-rendered image, and display the updated image on the HMD. The updated image may be generated via a homographic transformation and/or a pixel offset adjustment of the pre-rendered image.Type: GrantFiled: July 25, 2013Date of Patent: December 6, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Oliver Michael Christian Williams, Paul Barham, Michael Isard, Tuan Wong, Kevin Woo, Georg Klein, Douglas Kevin Service, Ashraf Ayman Michail, Andrew Pearson, Martin Shetter, Jeffrey Neil Margolis, Nathan Ackerman, Calvin Chan, Arthur C. Tomlin
-
Publication number: 20160343172Abstract: Methods for generating and displaying images associated with one or more virtual objects within an augmented reality environment at a frame rate that is greater than a rendering frame rate are described. The rendering frame rate may correspond with the minimum time to render images associated with a pose of a head-mounted display device (HMD). In some embodiments, the HMD may determine a predicted pose associated with a future position and orientation of the HMD, generate a pre-rendered image based on the predicted pose, determine an updated pose associated with the HMD subsequent to generating the pre-rendered image, generate an updated image based on the updated pose and the pre-rendered image, and display the updated image on the HMD. The updated image may be generated via a homographic transformation and/or a pixel offset adjustment of the pre-rendered image.Type: ApplicationFiled: August 3, 2016Publication date: November 24, 2016Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Oliver Michael Christian Williams, Paul Barham, Michael Isard, Tuan Wong, Kevin Woo, Georg Klein, Douglas Kevin Service, Ashraf Ayman Michail, Andrew Pearson, Martin Shetter, Jeffrey Neil Margolis, Nathan Ackerman, Calvin Chan, Arthur C. Tomlin
-
Patent number: 9229956Abstract: Image search results are obtained by providing weights to visual features to emphasize features corresponding to objects of interest while simultaneously deemphasizing irrelevant or inconsistent features that lead to poor search results. In order to minimize the impact of visual features that are unreliable or irrelevant with respect to the objects of interest in the image, context-dependent weights are provided to detect visual features such that those visual features pertaining to the objects of interest are more heavily weighted than those visual features that pertain to irrelevant or unreliable portions of the image. Visual features may be weighted for images in a searchable database. Training data may be obtained and used in weighting visual features in a query image and, alternatively, in searchable database images.Type: GrantFiled: January 10, 2011Date of Patent: January 5, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Qifa Ke, Jia Deng, Simon Baker, Michael Isard
-
Publication number: 20150324242Abstract: General-purpose distributed data-parallel computing using a high-level language is disclosed. Data parallel portions of a sequential program that is written by a developer in a high-level language are automatically translated into a distributed execution plan. The distributed execution plan is then executed on large compute clusters. Thus, the developer is allowed to write the program using familiar programming constructs in the high level language. Moreover, developers without experience with distributed compute systems are able to take advantage of such systems.Type: ApplicationFiled: July 23, 2015Publication date: November 12, 2015Inventors: Yuan Yu, Dennis Fetterly, Michael Isard, Ulfar Erlingsson, Mihai Budiu
-
Patent number: 9165035Abstract: The techniques discussed herein efficiently perform data-parallel computations on collections of data by implementing a differential dataflow model that performs computations on differences in the collections of data. The techniques discussed herein describe defined operators for use in a data-parallel program that performs the computations on the determined differences between the collections of data by creating a lattice and indexing the differences in the collection of data according to the lattice.Type: GrantFiled: May 10, 2012Date of Patent: October 20, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Frank D. McSherry, Rebecca Isaacs, Michael A. Isard, Derek G. Murray
-
Patent number: 9110706Abstract: General-purpose distributed data-parallel computing using a high-level language is disclosed. Data parallel portions of a sequential program that is written by a developer in a high-level language are automatically translated into a distributed execution plan. The distributed execution plan is then executed on large compute clusters. Thus, the developer is allowed to write the program using familiar programming constructs in the high level language. Moreover, developers without experience with distributed compute systems are able to take advantage of such systems.Type: GrantFiled: February 9, 2009Date of Patent: August 18, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Yuan Yu, Dennis Fetterly, Michael Isard, Ulfar Erlingsson, Mihai Budiu
-
Publication number: 20150029218Abstract: Methods for generating and displaying images associated with one or more virtual objects within an augmented reality environment at a frame rate that is greater than a rendering frame rate are described. The rendering frame rate may correspond with the minimum time to render images associated with a pose of a head-mounted display device (HMD). In some embodiments, the HMD may determine a predicted pose associated with a future position and orientation of the HMD, generate a pre-rendered image based on the predicted pose, determine an updated pose associated with the HMD subsequent to generating the pre-rendered image, generate an updated image based on the updated pose and the pre-rendered image, and display the updated image on the HMD. The updated image may be generated via a homographic transformation and/or a pixel offset adjustment of the pre-rendered image.Type: ApplicationFiled: July 25, 2013Publication date: January 29, 2015Inventors: Oliver Michael Christian Williams, Paul Barham, Michael Isard, Tuan Wong, Kevin Woo, Georg Klein, Douglas Kevin Service, Ashraf Ayman Michail, Andrew Pearson, Martin Shetter, Jeffrey Neil Margolis, Nathan Ackerman, Calvin Chan, Arthur C. Tomlin
-
Patent number: 8933931Abstract: A system and method for providing an augmented reality environment in which the environmental mapping process is decoupled from the localization processes performed by one or more mobile devices is described. In some embodiments, an augmented reality system includes a mapping system with independent sensing devices for mapping a particular real-world environment and one or more mobile devices. Each of the one or more mobile devices utilizes a separate asynchronous computing pipeline for localizing the mobile device and rendering virtual objects from a point of view of the mobile device. This distributed approach provides an efficient way for supporting mapping and localization processes for a large number of mobile devices, which are typically constrained by form factor and battery life limitations.Type: GrantFiled: November 28, 2012Date of Patent: January 13, 2015Assignee: Microsoft CorporationInventors: Alexandru Balan, Jason Flaks, Steve Hodges, Michael Isard, Oliver Williams, Paul Barham, Shahram Izadi, Otmar Hiliges, David Molyneaux, David Kim
-
Patent number: 8914782Abstract: Source code is generated that includes one or more iterator-based expressions such as declarative queries. The source code is translated into an intermediate language that classifies operators making up the iterator-based expressions into classes based on whether the operators are aggregating, element-wise, or sink operators. The intermediate language, including the identified classes, is processed using an automaton to replace the iterator-based expressions with one or more equivalent non-iterator-based expressions. Where an iterator-based expression is nested, the nested expression is processed using an equivalent number of nested automatons. The resulting optimized source code may be compiled and executed using fewer virtual function calls than the equivalent non-optimized source code.Type: GrantFiled: November 10, 2010Date of Patent: December 16, 2014Assignee: Microsoft CorporationInventors: Michael Isard, Yuan Yu, Derek Gordon Murray
-
Patent number: 8787680Abstract: Methods are disclosed for finding images from a large corpus of images that at least partially match a query image. The present method makes use of feature detectors to bundle features into local groups or bundles. These bundled features are repeatable and much more discriminative than an individual SIFT feature. Equally importantly, the bundled features provide a flexible representation that allows simple and robust geometric constraints to be efficiently enforced when querying the index.Type: GrantFiled: August 27, 2012Date of Patent: July 22, 2014Assignee: Microsoft CorporationInventors: Michael Isard, Qifa Ke, Jian Sun, Zhong Wu
-
Publication number: 20140172939Abstract: Various embodiments provide techniques for working with large-scale collections of data pertaining to real world systems, such as a social network, a roadmap/GPS system, etc. The techniques perform incremental, iterative, and interactive parallel computation using a coordination clock protocol, which applies to scheduling computations and managing resources such as memory and network resources, etc., in cyclic graphs including those resulting from a differential dataflow model that performs computations on differences in the collections of data.Type: ApplicationFiled: December 17, 2012Publication date: June 19, 2014Applicant: MICROSOFT CORPORATIONInventors: Frank D. McSherry, Rebecca Isaacs, Michael A. Isard, Derek G. Murray
-
Patent number: 8661449Abstract: Computations are performed on shared datasets in a distributed computing cluster using aggressive speculation and a distributed runtime that executes code transactionally. Speculative transactions are conducted with currently available data on the assumption that no dependencies exist that will render the input data invalid. For those specific instances where this assumption is found to be incorrect—that the input data did indeed have a dependency (thereby impacting the correctness of the speculated transaction)—the speculated transaction is aborted and its results (and all transactions that relied on its results) are rolled-back accordingly for re-computation using updated input data. In operation, shared state data is read and written using only the system's data access API which ensures that computations can be rolled-back when conflicts stemming from later-determined dependencies are detected.Type: GrantFiled: June 17, 2011Date of Patent: February 25, 2014Assignee: Microsoft CorporationInventors: Christopher J. Rossbach, Jean-Philippe Martin, Michael Isard
-
Publication number: 20130304744Abstract: The techniques discussed herein efficiently perform data-parallel computations on collections of data by implementing a differential dataflow model that performs computations on differences in the collections of data. The techniques discussed herein describe defined operators for use in a data-parallel program that performs the computations on the determined differences between the collections of data by creating a lattice and indexing the differences in the collection of data according to the lattice.Type: ApplicationFiled: May 10, 2012Publication date: November 14, 2013Applicant: MICROSOFT CORPORATIONInventors: Frank D. McSherry, Rebecca Isaacs, Michael A. Isard, Derek G. Murray