Patents by Inventor Michael McKenzie Magruder

Michael McKenzie Magruder 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: 10353803
    Abstract: A cluster of devices can be identified where results from executing a test by any cluster devices can be considered as being from the same device. Thus, instead of waiting for a single device to produce comparable results, multiple devices from the same cluster can simultaneously perform the test and obtain the needed set of test results more quickly. The technology can identify clusters of devices that are all similar to a primary cluster device. A device pair can be considered similar when (1) a mean each of a set of test results from each device are within a first threshold of each other, (2) a measurement of the consistency of each test result set are within a second threshold of each other, and (3) a measurement of the consistency of a combination of the test results sets is between the consistency measurements of the individual test result sets.
    Type: Grant
    Filed: August 21, 2017
    Date of Patent: July 16, 2019
    Assignee: Facebook, Inc.
    Inventors: Eun Chang Lee, Xun Li, Kumar Rangarajan, Michael McKenzie Magruder, Zheng Mi
  • Publication number: 20190057019
    Abstract: A cluster of devices can be identified where results from executing a test by any cluster devices can be considered as being from the same device. Thus, instead of waiting for a single device to produce comparable results, multiple devices from the same cluster can simultaneously perform the test and obtain the needed set of test results more quickly. The technology can identify clusters of devices that are all similar to a primary cluster device. A device pair can be considered similar when (1) a mean each of a set of test results from each device are within a first threshold of each other, (2) a measurement of the consistency of each test result set are within a second threshold of each other, and (3) a measurement of the consistency of a combination of the test results sets is between the consistency measurements of the individual test result sets.
    Type: Application
    Filed: August 21, 2017
    Publication date: February 21, 2019
    Inventors: Eun Chang Lee, Xun Li, Kumar Rangarajan, Michael McKenzie Magruder, Zheng Mi
  • Patent number: 9727318
    Abstract: An apparatus to identify and purge unused code may comprise a processor circuit on a device and a storage component configured to store a codebase including one or more portions of programming code. The apparatus may further comprise a sampling component, a profiling component, and a purge component. The sampling component may sample the codebase and generate one or more leads identifying portions of programming code from the codebase determined to be unused during a sampling period. The profiling component may receive the one or more leads and profile programming code identified therein during a profiling period and to identify portions of programming code determined to be unused during the profiling period. The purge component may receive identification of the portions of programming code determined to be unused during the profiling period and initiate a purging process thereon. Other embodiments are described and claimed.
    Type: Grant
    Filed: February 18, 2014
    Date of Patent: August 8, 2017
    Assignee: FACEBOOK, INC.
    Inventors: Barak Reuven Naveh, Michael McKenzie Magruder
  • Publication number: 20150234652
    Abstract: Techniques to identify and purge unused code are described. In one embodiment, for example, an apparatus may comprise a processor circuit on a device and a storage component configured to store a codebase including one or more portions of programming code. The apparatus may further comprise a sampling component, a profiling component, and a purge component. The sampling component may be operative on the processor circuit to sample the codebase and generate one or more leads identifying portions of programming code from the codebase determined to be unused during a sampling period. The profiling component may be operative on the processor circuit to receive the one or more leads and profile programming code identified therein during a profiling period. The profiling component may be further operative on the processor circuit to identify portions of programming code determined to be unused during the profiling period.
    Type: Application
    Filed: February 18, 2014
    Publication date: August 20, 2015
    Inventors: Barak Reuven Naveh, Michael McKenzie Magruder
  • Patent number: 8887142
    Abstract: Loop control flow diversion supports thread synchronization, garbage collection, and other situations involving suspension of long-running loops. Divertible loops have a loop body, a loop top, an indirection cell containing a loop top address, and a loop jump instruction sequence which references the indirection cell. In normal execution, control flows through the indirection cell to the loop top. After the indirection cell is altered, however, execution flow is diverted to a point away from the loop top. Operations such as garbage collection are performed while the loop (and hence the thread(s) using the loop) is thus diverted. The kernel or another thread then restores the loop top address into the indirection cell, and execution flow again continues through the restored indirection cell to the loop top.
    Type: Grant
    Filed: March 10, 2010
    Date of Patent: November 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Scott Mosier, Michael McKenzie Magruder, Frank V. Peschel-Gallee
  • Patent number: 8266604
    Abstract: Transactional memory compatibility type attributes are associated with intermediate language code to specify, for example, that intermediate language code must be run within a transaction, or must not be run within a transaction, or may be run within a transaction. Attributes are automatically produced while generating intermediate language code from annotated source code. Default rules also generate attributes. Tools use attributes to statically or dynamically check for incompatibility between intermediate language code and a transactional memory implementation.
    Type: Grant
    Filed: January 26, 2009
    Date of Patent: September 11, 2012
    Assignee: Microsoft Corporation
    Inventors: Dana Groff, Yosseff Levanoni, Stephen Toub, Michael McKenzie Magruder, Weirong Zhu, Timothy Lawrence Harris, Christopher William Dern, John Joseph Duffy, David Detlefs, Martin Abadi, Sukhdeep Singh Sodhi, Lingli Zhang, Alexander Dadiomov, Vinod Grover
  • Publication number: 20110225213
    Abstract: Loop control flow diversion supports thread synchronization, garbage collection, and other situations involving suspension of long-running loops. Divertible loops have a loop body, a loop top, an indirection cell containing a loop top address, and a loop jump instruction sequence which references the indirection cell. In normal execution, control flows through the indirection cell to the loop top. After the indirection cell is altered, however, execution flow is diverted to a point away from the loop top. Operations such as garbage collection are performed while the loop (and hence the thread(s) using the loop) is thus diverted. The kernel or another thread then restores the loop top address into the indirection cell, and execution flow again continues through the restored indirection cell to the loop top.
    Type: Application
    Filed: March 10, 2010
    Publication date: September 15, 2011
    Applicant: Microsoft Corporation
    Inventors: Scott Mosier, Michael McKenzie Magruder, Frank V. Peschel-Gallee
  • Publication number: 20100191930
    Abstract: Transactional memory compatibility type attributes are associated with intermediate language code to specify, for example, that intermediate language code must be run within a transaction, or must not be run within a transaction, or may be run within a transaction. Attributes are automatically produced while generating intermediate language code from annotated source code. Default rules also generate attributes. Tools use attributes to statically or dynamically check for incompatibility between intermediate language code and a transactional memory implementation.
    Type: Application
    Filed: January 26, 2009
    Publication date: July 29, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Dana Groff, Yosseff Levanoni, Stephen Toub, Michael McKenzie Magruder, Weirong Zhu, Timothy Lawrence Harris, Christopher William Dern, John Joseph Duffy, David Detlefs, Martin Abadi, Sukhdeep Singh Sodhi, Lingli Zhang, Alexander Dadiomov, Vinod Grover