Patents by Inventor John Douceur

John 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: 10979290
    Abstract: The subject disclosure relates to techniques for monitoring contextual and performance information of a device for anticipatorily sending update information to the device. An interface component can receive, from the client, contextual information indicating an operating environment of the client and performance information that is associated with one or more operations being performed by the client based on the operating environment, and send, based on correlation information, update information to the client. Further, a service component can to infer a relationship between the contextual information and the performance information to obtain the correlation information. In other embodiments, a client can populate a cache with portion(s) of the contextual information to obtain cached information, and send at least a portion of the cached information to a system including one or more aspects of the service component.
    Type: Grant
    Filed: December 19, 2016
    Date of Patent: April 13, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Edward Reus, Mario Goertzel, Scott Field, Michael Joseph Healy, Joseph Dadzie, David Kays, John Douceur, Henricus Johannes Maria Meijer
  • Publication number: 20170099185
    Abstract: The subject disclosure relates to techniques for monitoring contextual and performance information of a device for anticipatorily sending update information to the device. An interface component can receive, from the client, contextual information indicating an operating environment of the client and performance information that is associated with one or more operations being performed by the client based on the operating environment, and send, based on correlation information, update information to the client. Further, a service component can to infer a relationship between the contextual information and the performance information to obtain the correlation information. In other embodiments, a client can populate a cache with portion(s) of the contextual information to obtain cached information, and send at least a portion of the cached information to a system including one or more aspects of the service component.
    Type: Application
    Filed: December 19, 2016
    Publication date: April 6, 2017
    Inventors: Edward Reus, Mario Goertzel, Scott Field, Michael Joseph Healy, Joseph Dadzie, David Kays, John Douceur, Henricus Johannes Maria Meijer
  • Patent number: 9531588
    Abstract: The subject disclosure relates to techniques for monitoring contextual and performance information of a device for anticipatorily sending update information to the device. An interface component can receive, from the client, contextual information indicating an operating environment of the client and performance information that is associated with one or more operations being performed by the client based on the operating environment, and send, based on correlation information, update information to the client. Further, a service component can to infer a relationship between the contextual information and the performance information to obtain the correlation information. In other embodiments, a client can populate a cache with portion(s) of the contextual information to obtain cached information, and send at least a portion of the cached information to a system including one or more aspects of the service component.
    Type: Grant
    Filed: December 16, 2011
    Date of Patent: December 27, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Edward Reus, Mario Goertzel, Scott Field, Michael Joseph Healy, Joseph Dadzie, David Kays, John Douceur, Henricus Johannes Maria Meijer
  • Publication number: 20130159500
    Abstract: The subject disclosure relates to techniques for monitoring contextual and performance information of a device for anticipatorily sending update information to the device. An interface component can receive, from the client, contextual information indicating an operating environment of the client and performance information that is associated with one or more operations being performed by the client based on the operating environment, and send, based on correlation information, update information to the client. Further, a service component can to infer a relationship between the contextual information and the performance information to obtain the correlation information. In other embodiments, a client can populate a cache with portion(s) of the contextual information to obtain cached information, and send at least a portion of the cached information to a system including one or more aspects of the service component.
    Type: Application
    Filed: December 16, 2011
    Publication date: June 20, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Edward Reus, Mario Goertzel, Scott Field, Michael Joseph Healy, Joseph Dadzie, David Kays, John Douceur, Henricus Johannes Maria Meijer
  • Patent number: 8135987
    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: Grant
    Filed: June 3, 2010
    Date of Patent: March 13, 2012
    Assignee: Microsoft Corporation
    Inventors: John Douceur, Jonathan Howell, Jacob R. Lorch
  • Publication number: 20070174368
    Abstract: A handle administration system is described in which software agents receive handles to various resources that they can use to obtain the resources. The described embodiments provide multiple states that can be assumed by the handles. An unassigned state is provided in which handles are not assigned to a particular resource, nor can they be dereferenced to obtain pointers to any resources. An assigned state is provided in which handles are assigned to a particular resource and can be dereferenced to obtain a pointer to the resource. A suspended state is provided in which the handles are assigned to a particular resource but cannot be dereferenced to obtain a pointer to that resource.
    Type: Application
    Filed: March 22, 2007
    Publication date: July 26, 2007
    Applicant: Microsoft Corporation
    Inventors: John Douceur, Yoram Bernet
  • Publication number: 20070168364
    Abstract: Non-mutating tree-structured file identifiers are used to identify files stored in a file system. Each of multiple files in the file system has a corresponding non-mutating file identifier, and these file identifiers are assigned and maintained using a tree structure.
    Type: Application
    Filed: January 13, 2006
    Publication date: July 19, 2007
    Applicant: Microsoft Corporation
    Inventors: John Douceur, Jonathan Howell
  • Publication number: 20070168393
    Abstract: A delta pager maintains a database with atomic, isolated transactions. When a transaction seeks to make changes to the database, the delta pager stores the changes in write buffers, and applies the changes when intervening transactions do not literally or substantively change the state of the database relied upon by the transaction. The delta pager applies the changes to commit the transaction by conjoining the write buffers with the current state of the database to form a new data structure representing the state of the database. The delta pager coalesces write buffers to maintain efficiency, subject to snapshots the delta pager respects to preserve selected states of the database. The delta pager makes selected sections of the database durable by moving selected data to a durable store. The delta pager also provides cache objects between the durable store and current transactions to promote efficient access to data.
    Type: Application
    Filed: December 30, 2005
    Publication date: July 19, 2007
    Applicant: Microsoft Corporation
    Inventors: Jonathan Howell, John Douceur
  • Publication number: 20070156588
    Abstract: Scalable leases reduce latency and reduce the burden on a server in managing data leases. Instead of processing individual lease requests for clients seeking access to the same data, scalable leases provide for blanket leases that all of the clients can use to access the selected data. Leases may be encrypted or selectively distributed to restrict access to the data. Moreover, distributed data structures may be used to cache leases at identifiable nodes in a network to offload work from the server without all clients in the network having to cache all blanket leases issued. Thresholds for issuing blanket leases may be determined or adjusted by considerations such as demand for the selected data and server workload. Similarly, leases may be renewed on the basis of demand for selected data, conflicting lease requests, and other factors. Scalable leases may be issued for read leases and controlled write leases.
    Type: Application
    Filed: December 30, 2005
    Publication date: July 5, 2007
    Applicant: Microsoft Corporation
    Inventors: Jonathan Howell, John Douceur
  • Publication number: 20070076881
    Abstract: An exclusive encryption system is established using multiple computing devices. The exclusive encryption system allows for the exclusion of certain plaintext (e.g., by one of the computing devices) and ciphertext (e.g., by another of the computing devices) while at the same time maintaining the privacy created by the encryption (e.g., so the other computing device cannot see the plaintext). The exclusive encryption system may be implemented as part of a serverless distributed file system with directory entries (e.g., file names or folder names) being the plaintext, or alternatively as part of other systems.
    Type: Application
    Filed: December 16, 2005
    Publication date: April 5, 2007
    Applicant: Microsoft Corporation
    Inventors: John Douceur, Josh Benaloh, Gideon Yuval, Atul Adya
  • Publication number: 20070073693
    Abstract: The described implementations relate to efficient scheduling of transactions and tasks. A memory location, address, or variable previously accessed by a blocked entity is observed periodically to determine an appropriate time to wake and retry the blocked entity. If the previous accessed memory location, address or variable changes state, a scheduler wakes the blocked entity and the blocked entity retries processing. A doubly-indexed data structure of blocked entities and memory locations associated with the blocked entities may be used to efficiently determine when a retrying execution would be profitable.
    Type: Application
    Filed: September 16, 2005
    Publication date: March 29, 2007
    Applicant: Microsoft Corporation
    Inventors: Tim Harris, Simon Peyton-Jones, Jonathan Howell, John Douceur
  • Publication number: 20060259818
    Abstract: A virtual machine monitor (VMM) is configured to enforce deterministic execution of virtual machines in a multiprocessor machine. The VMM is configured to ensure that any communication by physical processors via shared memory is deterministic. When such VMMs are implemented in a distributed environment of multiprocessor machines coupled via a logical communication link, non-deterministic server applications running on virtual machines using the VMM may be replicated.
    Type: Application
    Filed: July 20, 2006
    Publication date: November 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Jonathan Howell, Eric Traut, Jacob Lorch, John Douceur
  • Publication number: 20060247908
    Abstract: A method and system for improving the working set of a program image. The working set (WS) improvement system of the present invention employs a two-phase technique for improving the working set. In the first phase, the WS improvement system inputs the program image and outputs a program image with the locality of its references improved. In the second phase, the WS improvement system inputs the program image with its locality of references improved and outputs a program image with the placement of its basic blocks in relation to page boundaries improved so that the working set is reduced.
    Type: Application
    Filed: April 20, 2006
    Publication date: November 2, 2006
    Applicant: Microsoft Corporation
    Inventors: John Douceur, Robert Fitzgerald, John Miller
  • Publication number: 20060230076
    Abstract: A logical file system is described that distributes copies of files across various different physical storage resources yet provides a consistent view to the user of his or her data, regardless of which machine the user is accessing the files from, and even when the user's computer is offline. The distributed file system uses smart data redundancy to enable a virtually infinite amount of storage as long as additional storage resources are made available to the distributed file system. The result is a reliable storage system that does not necessarily tie the user's data to the user's particular computer. Instead, the user's data is associated with the user—for life—or for however long the user would like the data to be maintained, regardless of whether the user's computer or data storage components are replaced or destroyed.
    Type: Application
    Filed: April 8, 2005
    Publication date: October 12, 2006
    Applicant: Microsoft Corporation
    Inventors: Alexander Gounares, Ashok Kuppusamy, Dan Teodosiu, Raymond Endres, William Bolosky, John Douceur
  • Publication number: 20060230245
    Abstract: The safety of data stored across distributed storage resources may be dynamically monitored and indicated to the user. Monitoring may occur in real time and/or in response to changes in the stored data. The notification may be in the form of, e.g., a visual indicator that appears in the taskbar of a graphical user interface of an operating system. The indicator may be presented in a particular color or having some other visual property associated with the particular data safety state. In addition, the user may be provided with a convenient way of obtaining additional storage resources. Upon automatically detecting that storage is running low, the user may be presented with a user interface that offers the user a way to easily add to the existing storage. For example, the user may be directed to a predefined Internet web site that is known to offer such additional storage.
    Type: Application
    Filed: April 8, 2005
    Publication date: October 12, 2006
    Applicant: Microsoft Corporation
    Inventors: Alexander Gounares, Ashok Kuppusamy, John Douceur, Patrick Bozeman, Raymond Endres, William Bolosky
  • Publication number: 20060184627
    Abstract: Synchronized devices comprising a distributed system attempt to agree on a compatible sequence of commands to execute. Each device in the distributed system may act as a proposer, acceptor, or a learner. Each proposer proposes a command for each device to execute. The acceptors either accept or reject the proposed commands. The learners keep track of the proposed commands and determine, using a transactional substrate, whether the acceptors have a accepted sequences of commands that commute with respect to one another. Once the learners have determined that a quorum of acceptors have accepted sequences of commands that commute with respect to one another the accepted commands are executed by each device in the distributed system.
    Type: Application
    Filed: February 14, 2005
    Publication date: August 17, 2006
    Applicant: Microsoft Corporation
    Inventors: Jonathan Howell, Jacob Lorch, John Douceur, Leslie Lamport
  • Publication number: 20060143517
    Abstract: A mechanism that enables a nondeterministic client-server application to be run as a replicated state machine without requiring the application to be modified. A replicated state machine substrate is utilized to coordinate the execution of multiple virtual machine monitors, each of which runs an identical copy of an operating system and server application. The virtual machine monitors each act as deterministic state machines, virtualizing state machine characteristics and behaviors.
    Type: Application
    Filed: December 22, 2004
    Publication date: June 29, 2006
    Applicant: Microsoft Corporation
    Inventors: John Douceur, Jonathan Howell
  • Publication number: 20060136369
    Abstract: Disclosed are “black-box leases” that protect information consistency and that allow for information sharing in a distributed file system while hiding from a client information about other clients' use of the file system. This information hiding also allows greater concurrency because changes to the file system are permitted as long as they do not affect the leases as observed by the clients. For each data field protected by a black-box lease, a client has a two-value data structure: SelfValue represents the client's intended use of the data field, and OtherValue is an aggregation of the other clients' intended uses of that data field. Knowing only this aggregate OtherValue, but without knowing any specifics of the other clients' usage patterns, the client knows how it may use the data field without adversely affecting the consistency of data in the distributed file system.
    Type: Application
    Filed: December 17, 2004
    Publication date: June 22, 2006
    Applicant: Microsoft Corporation
    Inventors: John Douceur, Jonathan Howell
  • Publication number: 20060112154
    Abstract: File availability in distributed file storage systems is improved by initially placing replicas of a file or other object on different ones of multiple devices using a first process. Subsequently, the placement of the replicas is improved by evaluating whether any replicas of a first file can be swapped with any replicas of a second file without a reduction in the combined file availability of the first and second files, and swapping a replica of the first file with a replica of the second file if the swapping results in no reduction in the combined file availability of the first and second files.
    Type: Application
    Filed: January 20, 2006
    Publication date: May 25, 2006
    Applicant: Microsoft Corporation
    Inventors: John Douceur, Roger Wattenhofer
  • Publication number: 20060107048
    Abstract: An exclusive encryption system is established using multiple computing devices. The exclusive encryption system allows for the exclusion of certain plaintext (e.g., by one of the computing devices) and ciphertext (e.g., by another of the computing devices) while at the same time maintaining the privacy created by the encryption (e.g., so the other computing device cannot see the plaintext). The exclusive encryption system may be implemented as part of a serverless distributed file system with directory entries (e.g., file names or folder names) being the plaintext, or alternatively as part of other systems.
    Type: Application
    Filed: December 19, 2005
    Publication date: May 18, 2006
    Applicant: Microsoft Corporation
    Inventors: John Douceur, Josh Benaloh, Gideon Yuval, Atul Adya