Patents by Inventor John R. Douceur

John R. Douceur 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: 8549106
    Abstract: Techniques for enabling client computing devices to leverage remote server pools for increasing the effectiveness of applications stored on the client computing device are described herein. In some instances, the server pools comprise a “cloud”, “cluster” or “data center” that comprises hundreds or thousands of servers connected together by a network that has an extremely low latency and high bandwidth relative to the network through which the client computing device connects to the server pool. The client computing device may request that the server pool perform a certain task for an application whose canonical state resides on the client. After computation of a result of the task, a server of the server pool then provides the result to the client. By doing so, the techniques dramatically increase the amount of resources working on the request of the client and, hence, dramatically increase the speed and effectiveness of the client-side application.
    Type: Grant
    Filed: June 15, 2009
    Date of Patent: October 1, 2013
    Assignee: Microsoft Corporation
    Inventors: Jonathan R. Howell, Jeremy E. Elson, John R. Douceur, Jacob R. Lorch
  • Publication number: 20130085821
    Abstract: In a participatory system, a reward is distributed to participants based on their contributions to the system and the contributions of direct and indirect referrals of the participant (descendant referrals). A convex function is applied to the effective contribution of each participant to determine the weighted contribution of the participant, and the participant's reward is based on the participant's weighted contribution less the weighted contributions of child participants referred by the participant.
    Type: Application
    Filed: September 29, 2011
    Publication date: April 4, 2013
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, Thomas Moscibroda, Neal Freeland, Bruno S. Caiado
  • Publication number: 20130036431
    Abstract: Techniques for allowing peripheral-device manufacturers to specify drivers for use with these devices and then loading these manufacturer-specified drivers in a manner that constrains operation of the drivers are described herein. In some instances, the techniques constrain operation of the drivers by loading these drivers into isolated containers. By loading such a driver into an isolated container, the techniques protect the host computer from harm caused by a buggy or malicious device driver. Furthermore, by loading a device driver that a manufacturer of the corresponding device specifies, the techniques allow this manufacturer to select a driver that is unlikely to harm the peripheral device itself In tandem, the techniques provide a framework that protects both the peripheral device and the host computer to which the peripheral device couples.
    Type: Application
    Filed: August 2, 2011
    Publication date: February 7, 2013
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, Jonathan R. Howell
  • Patent number: 8368695
    Abstract: A system is disclosed that transforms offline maps into interactive online maps. In the system, geo-coordinate relationships are determined between geo-coordinates on a source map and geo-coordinates on an online reference map. An image of the source map is transformed to form an image of a modified source map having geo-coordinates that substantially align with corresponding geo-coordinates on the reference map. Modified source tiles are formed with the image of the modified source map and displayed on a portion of the reference map.
    Type: Grant
    Filed: February 8, 2007
    Date of Patent: February 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Jonathan R. Howell, Jeremy E. Elson, John R. Douceur
  • Patent number: 8335991
    Abstract: Techniques for facilitating secure application interoperation via user interface (UI) gestures in computing devices that strictly isolate applications operating thereon are described herein. For instance, applications may define one or more specific UI gestures that, when executed by the user, express that the user desires for the computing device to allow for an instance of directed, ephemeral, by-value communication between two isolated applications. In some implementations, the gesture is an atomic gesture, such as a drag-and-drop operation. That is, the gesture is one that the user completes continuously and without interruption.
    Type: Grant
    Filed: June 11, 2010
    Date of Patent: December 18, 2012
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Jonathan R. Howell
  • Patent number: 8307077
    Abstract: The described implementations relate to collaborative speed determination in distributed systems. One method estimates upload speeds of a plurality of hosts. The method sends a first bandwidth probe from a first host to a second host. The method receives, at the first host, a second bandwidth probe sent from the second host. The method determines which of the first and second bandwidth probes was relatively slower. The method designates either of the first or second hosts that sent the relatively slower bandwidth probe as a loser and takes a speed of the bandwidth probe of the loser as a first estimate of the loser's upload speed.
    Type: Grant
    Filed: August 3, 2011
    Date of Patent: November 6, 2012
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, James W. Mickens, Thomas Moscibroda, Debmalya Panigrahi
  • Patent number: 8209741
    Abstract: A system and method that facilitates and effectuates distinguishing a human from a non-human user. A human interactive proof (HIP) employs a partial credit algorithm in order to allow a user to make one or more mistakes during consecutive HIP challenges and still be identified as a human. The algorithm assigns a user partial credit based upon getting part of the challenge incorrect. The partial credit is tracked and if during one or more consecutive subsequent challenges the same user gets a portion of the challenge incorrect again, they can still be identified as human.
    Type: Grant
    Filed: September 17, 2007
    Date of Patent: June 26, 2012
    Assignee: Microsoft Corporation
    Inventors: Jeremy Eric Elson, Jonathan Ryan Howell, John R. Douceur
  • Publication number: 20120158396
    Abstract: This document describes techniques for allowing a computing device that provides a minimal execution environment to execute legacy applications that rely on rich functionality that the computing device does not natively provide. For instance, a device may initially receive a request to execute an application and may determine whether the application is directly executable. In response to determining that the application is not directly executable, the computing device may determine whether the application specifies another application to provide the functionality. If the application specifies another application to provide this functionality, then the computing device retrieves the specified application and executes the specified application on the client computing device. If the application does not specify such an application, then the computing device may execute a default application for providing the functionality.
    Type: Application
    Filed: December 17, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, Jonathan R. Howell, Arun M. Seehra
  • Publication number: 20120159504
    Abstract: Techniques for implementing mutual-exclusion algorithms that are also fault-resistant are described herein. For instance, this document describes systems that implement fault-resistant, mutual-exclusion algorithms that at least prevent simultaneous access of a shared resource by multiple threads when (i) one of the multiple threads is in its critical section, and (ii) the other thread(s) are waiting in a loop to enter their respective critical sections. In some instances, these algorithms are fault-tolerant to prevent simultaneous access of the shared resource regardless of a state of the multiple threads executing on the system. In some instances, these algorithms may resist (e.g., tolerate entirely) transient memory faults (or “soft errors”).
    Type: Application
    Filed: December 17, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Rotem Oshman, John R. Douceur, Thomas Moscibroda
  • Patent number: 8205090
    Abstract: Systems and methods for secure file writes after a catastrophic event are allowed over an unauthenticated channel in a serverless distributed file system if an authenticator accompanies the secure file writes. The authenticator can be a power-of-attorney certificate with time limitations, a vector of message authenticated code, or a single message authenticator with secured with a secret shared among members of the serverless distributed file system. The serverless distributed file system includes at least 3f+1 participating computer members, with f representing a number of faults tolerable by the system. The group requires at least one authenticator for file creation and file uploads. Any changes to files stored among the members can be made over an unauthenticated channel if the file changes are secured by the authenticator and the group is able to verify the authenticator.
    Type: Grant
    Filed: September 22, 2008
    Date of Patent: June 19, 2012
    Assignee: Microsoft Corporation
    Inventors: Miguel Oom Temudo de Castro, Atul Adya, John R. Douceur, William J. Bolosky
  • Publication number: 20120142430
    Abstract: Partitioned artificial intelligence (AI) for networked gaming. An exemplary system splits the AI into a computationally lightweight server-side component and a computationally intensive client-side component to harness the aggregate computational power of numerous gaming clients. Aggregating resources of many, even thousands of client machines enhances game realism in a manner that would be prohibitively expensive on the central server. The system is tolerant of latency between server and clients. Deterministic and stateless client-side components enable rapid handoff, preemptive migration, and replication of the client-side AI to address problems of client failure and game exploitation. The partitioned AI can support tactical gaming navigation, a challenging task to offload because of sensitivity to latency. The tactical navigation AI calculates influence fields partitioned into server-side and client-side components by means of a Taylor-series approximation.
    Type: Application
    Filed: February 13, 2012
    Publication date: June 7, 2012
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, Michael P. Calligaro, Randall C. Wood, Jacob R. Lorch
  • Publication number: 20120137167
    Abstract: A system and method for mitigating memory errors in a computer system. Faulty memory is identified and tested by a memory manager of an operating system. The memory manager may perform diagnostic tests while the operating system is executing on the computer system. Regions of memory that are being used by software components of the computer system may also be tested. The memory manager maintains a stored information about faulty memory regions. Regions are added to the stored information when they are determined to be faulty by a diagnostic test tool. Memory regions are allocated to software components by the memory manager after checking the stored information about faulty memory regions. This ensures a faulty memory region is never allocated to a software component of the computer system.
    Type: Application
    Filed: November 30, 2010
    Publication date: May 31, 2012
    Applicant: Microsoft Corporation
    Inventors: Garrett Leischner, Andrew J. Lagattuta, Matthew Jeremiah Eason, Landy Wang, John R. Douceur, Baskar Sridharan, Edmund B. Nightingale
  • Publication number: 20120072771
    Abstract: Techniques for providing fast, non-write-cycle-limited persistent memory within secure containers, while maintaining the security of the secure containers, are described herein. The secure containers may reside within respective computing devices (e.g., desktop computers, laptop computers, etc.) and may include both volatile storage (e.g., Random Access Memory (RAM), etc.) and non-volatile storage (NVRAM, etc.). In addition, the secure containers may couple to auxiliary power supplies that are located externally thereto and that power the secure containers at least temporarily in the event of a power failure. These auxiliary power supplies may be implemented as short-term power sources, such as capacitors, batteries, or any other suitable power supplies.
    Type: Application
    Filed: September 22, 2010
    Publication date: March 22, 2012
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, Jacob R. Lorch
  • Patent number: 8139872
    Abstract: The claimed subject matter provides a system and/or a method that facilitates optimally and efficiently utilizing an image file format. A server can host an image that is partitioned into two or more tiles, wherein the two or more tiles collectively represent the image in entirety and are defined in at least one image file format. A tile generator can evaluate at least one tile to identify a suitable image file format based upon at least one of a characteristic of such file format or a context of a use for the tile. A browser can utilize the tile in the identified file format in order to render a portion of the image.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: March 20, 2012
    Assignee: Microsoft Corporation
    Inventors: Jonathan R. Howell, Jeremy E. Elson, John R. Douceur
  • Patent number: 8137199
    Abstract: Partitioned artificial intelligence (AI) for networked gaming. An exemplary system splits the AI into a computationally lightweight server-side component and a computationally intensive client-side component to harness the aggregate computational power of numerous gaming clients. Aggregating resources of many, even thousands of client machines enhances game realism in a manner that would be prohibitively expensive on the central server. The system is tolerant of latency between server and clients. Deterministic and stateless client-side components enable rapid handoff, preemptive migration, and replication of the client-side AI to address problems of client failure and game exploitation. The partitioned AI can support tactical gaming navigation, a challenging task to offload because of sensitivity to latency. The tactical navigation AI calculates influence fields partitioned into server-side and client-side components by means of a Taylor-series approximation.
    Type: Grant
    Filed: February 11, 2008
    Date of Patent: March 20, 2012
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Michael P. Calligaro, Randall C Wood, Jacob R. Lorch
  • Patent number: 8112452
    Abstract: A serverless distributed file system manages the storage of files and directories using one or more directory groups. The directories may be managed using Byzantine-fault-tolerant groups, whereas files are managed without using Byzantine-fault-tolerant groups. Additionally, the file system may employ a hierarchical namespace to store files. Furthermore, the directory group may employ a plurality of locks to control access to objects (e.g., files and directories) in each directory.
    Type: Grant
    Filed: January 29, 2009
    Date of Patent: February 7, 2012
    Assignee: Microsoft Corporation
    Inventors: Atul Adya, Gerald Cermak, John R. Douceur, Marvin M. Theimer, Roger P. Wattenhofer, William J. Bolosky
  • Publication number: 20120021815
    Abstract: The described implementations relate to networked or distributed systems and more particularly to providing motivation for deployment of networked systems. One technique gathers a solicitation hierarchy in a distributed system. This technique also tracks contribution to the distributed system of participants within the hierarchy. This technique further probabilistically determines a participant as a lottery winner based at least in part on the solicitation hierarchy and the contribution.
    Type: Application
    Filed: October 6, 2011
    Publication date: January 26, 2012
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, Thomas Moscibroda
  • Patent number: 8104070
    Abstract: A system and method that facilitates and effectuates distinguishing a human from a non-human user. A human interactive proof (HIP) employs images from a large private database of manually categorized images to display as part of a Turing test challenge. The private database contains a sufficient quantity of images, such that the more economical manner to pass the HIP is to employ a human to take the challenge. The owner of the private database makes the database available to the presenter of the HIP due to an alignment of interests between both parties. The HIP is displayed with ads on behalf of the owner of the private database and the presenter of the HIP gains access to a large quantity of private manually categorized images.
    Type: Grant
    Filed: September 17, 2007
    Date of Patent: January 24, 2012
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Jeremy Eric Elson, Jonathan Ryan Howell
  • Publication number: 20110307817
    Abstract: Techniques for facilitating secure application interoperation via user interface (UI) gestures in computing devices that strictly isolate applications operating thereon are described herein. For instance, applications may define one or more specific UI gestures that, when executed by the user, express that the user desires for the computing device to allow for an instance of directed, ephemeral, by-value communication between two isolated applications. In some implementations, the gesture is an atomic gesture, such as a drag-and-drop operation. That is, the gesture is one that the user completes continuously and without interruption.
    Type: Application
    Filed: June 11, 2010
    Publication date: December 15, 2011
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, Jonathan R. Howell
  • Publication number: 20110302449
    Abstract: A replicated state machine with N replica servers may be configured to tolerate a count of F faults. A first operation (of a first ordering type) executes when a first quorum of correctly functioning replicas is available. A second operation (also of the first operation type) executes when a second quorum of correctly functioning replicas is available. A third operation (of a second ordering type) executes when a third quorum of correctly functioning replicas are available. The operations are executed by the replicated state machine such that: (1) the replicated state machine does not guarantee operational ordering between the first operation and the second operation; (2) the replicated state machine guarantees ordering between the first operation and the third operation; and (3) the replicated state machine guarantees ordering between the second operation and the third operation.
    Type: Application
    Filed: June 3, 2010
    Publication date: December 8, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: John R. Douceur, Jacob R. Lorch, Jonathan Howell