Patents by Inventor James Williamson Mickens

James Williamson Mickens 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: 9588870
    Abstract: Various technologies described herein pertain to performing time travel debugging. A computer-executable program can be executed. The computer-executable program can be executable under control of a virtual machine. The virtual machine can interact with a browser system during execution of the computer-executable program. Moreover, nondeterministic events can be logged via an interrogative virtual machine interface (VMI) during the execution of the computer-executable program. The nondeterministic events can be logged as part of event logs. Moreover, the interrogative VMI is between the virtual machine and the browser system. Further, snapshots of the virtual machine can be captured during the execution of the computer-executable program. The snapshots can be captured via the interrogative VMI. At least a portion of the execution of the computer-executable program can be replayed based at least in part on a snapshot and at least a portion of the event logs.
    Type: Grant
    Filed: June 26, 2015
    Date of Patent: March 7, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mark Marron, James Williamson Mickens
  • Patent number: 9553822
    Abstract: Described herein are various technologies pertaining to a computing system architecture that facilitates construction of virtual motherboards and virtual storage devices. A computing system includes a plurality of computing nodes and a plurality of storage nodes, where the computing nodes are disaggregated from the storage nodes. The computing nodes include respective system on chip modules. The computing nodes and the storage nodes are communicatively coupled by way of a full bisection bandwidth network, where each storage node is allocated network bandwidth that at least matches the maximum input/output speed of the storage node. Responsive to receipt of a client request, computing nodes are allocated to the client and exposed to an application of the client as a motherboard. Likewise, storage nodes are allocated to the client and exposed to the application of the client as a larger storage device.
    Type: Grant
    Filed: November 12, 2013
    Date of Patent: January 24, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: James Williamson Mickens, Ali Raza Farasat
  • Patent number: 9515951
    Abstract: A computing system architecture that facilitates constructing a virtual disk that is customized for an application is described herein. An exemplary computing system having such architecture includes a first plurality of homogeneous storage servers, each storage server in the first plurality of storage servers comprising respective data storage devices of a first type. The exemplary computing system also includes a second plurality of homogeneous storage servers, each storage server in the second plurality of storage servers comprising respective data storage devices of a second type. A virtual disk that is customized for an application is constructed by mapping a linear (virtual) address space to portions of storage devices across the first plurality of storage servers and the second plurality of storage servers. The storage servers are accessible over a full bisection bandwidth network.
    Type: Grant
    Filed: November 15, 2013
    Date of Patent: December 6, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ali Raza Farasat, James Williamson Mickens
  • Publication number: 20160292061
    Abstract: Various technologies described herein pertain to performing time travel debugging. A computer-executable program can be executed. The computer-executable program can be executable under control of a virtual machine. The virtual machine can interact with a browser system during execution of the computer-executable program. Moreover, nondeterministic events can be logged via an interrogative virtual machine interface (VMI) during the execution of the computer-executable program. The nondeterministic events can be logged as part of event logs. Moreover, the interrogative VMI is between the virtual machine and the browser system. Further, snapshots of the virtual machine can be captured during the execution of the computer-executable program. The snapshots can be captured via the interrogative VMI. At least a portion of the execution of the computer-executable program can be replayed based at least in part on a snapshot and at least a portion of the event logs.
    Type: Application
    Filed: June 26, 2015
    Publication date: October 6, 2016
    Inventors: Mark Marron, James Williamson Mickens
  • Publication number: 20150134824
    Abstract: Described herein are various technologies pertaining to a computing system architecture that facilitates construction of virtual motherboards and virtual storage devices. A computing system includes a plurality of computing nodes and a plurality of storage nodes, where the computing nodes are disaggregated from the storage nodes. The computing nodes include respective system on chip modules. The computing nodes and the storage nodes are communicatively coupled by way of a full bisection bandwidth network, where each storage node is allocated network bandwidth that at least matches the maximum input/output speed of the storage node. Responsive to receipt of a client request, computing nodes are allocated to the client and exposed to an application of the client as a motherboard. Likewise, storage nodes are allocated to the client and exposed to the application of the client as a larger storage device.
    Type: Application
    Filed: November 12, 2013
    Publication date: May 14, 2015
    Applicant: Microsoft Corporation
    Inventors: James Williamson Mickens, Ali Raza Farasat