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: 10979290Abstract: 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: GrantFiled: December 19, 2016Date of Patent: April 13, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Edward Reus, Mario Goertzel, Scott Field, Michael Joseph Healy, Joseph Dadzie, David Kays, John Douceur, Henricus Johannes Maria Meijer
-
Publication number: 20170099185Abstract: 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: ApplicationFiled: December 19, 2016Publication date: April 6, 2017Inventors: Edward Reus, Mario Goertzel, Scott Field, Michael Joseph Healy, Joseph Dadzie, David Kays, John Douceur, Henricus Johannes Maria Meijer
-
Patent number: 9531588Abstract: 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: GrantFiled: December 16, 2011Date of Patent: December 27, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Edward Reus, Mario Goertzel, Scott Field, Michael Joseph Healy, Joseph Dadzie, David Kays, John Douceur, Henricus Johannes Maria Meijer
-
Publication number: 20130159500Abstract: 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: ApplicationFiled: December 16, 2011Publication date: June 20, 2013Applicant: MICROSOFT CORPORATIONInventors: Edward Reus, Mario Goertzel, Scott Field, Michael Joseph Healy, Joseph Dadzie, David Kays, John Douceur, Henricus Johannes Maria Meijer
-
Patent number: 8135987Abstract: 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: GrantFiled: June 3, 2010Date of Patent: March 13, 2012Assignee: Microsoft CorporationInventors: John Douceur, Jonathan Howell, Jacob R. Lorch
-
Publication number: 20070174368Abstract: 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: ApplicationFiled: March 22, 2007Publication date: July 26, 2007Applicant: Microsoft CorporationInventors: John Douceur, Yoram Bernet
-
Publication number: 20070168364Abstract: 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: ApplicationFiled: January 13, 2006Publication date: July 19, 2007Applicant: Microsoft CorporationInventors: John Douceur, Jonathan Howell
-
Publication number: 20070168393Abstract: 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: ApplicationFiled: December 30, 2005Publication date: July 19, 2007Applicant: Microsoft CorporationInventors: Jonathan Howell, John Douceur
-
Publication number: 20070156588Abstract: 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: ApplicationFiled: December 30, 2005Publication date: July 5, 2007Applicant: Microsoft CorporationInventors: Jonathan Howell, John Douceur
-
Publication number: 20070076881Abstract: 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: ApplicationFiled: December 16, 2005Publication date: April 5, 2007Applicant: Microsoft CorporationInventors: John Douceur, Josh Benaloh, Gideon Yuval, Atul Adya
-
Publication number: 20070073693Abstract: 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: ApplicationFiled: September 16, 2005Publication date: March 29, 2007Applicant: Microsoft CorporationInventors: Tim Harris, Simon Peyton-Jones, Jonathan Howell, John Douceur
-
Publication number: 20060259818Abstract: 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: ApplicationFiled: July 20, 2006Publication date: November 16, 2006Applicant: Microsoft CorporationInventors: Jonathan Howell, Eric Traut, Jacob Lorch, John Douceur
-
Publication number: 20060247908Abstract: 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: ApplicationFiled: April 20, 2006Publication date: November 2, 2006Applicant: Microsoft CorporationInventors: John Douceur, Robert Fitzgerald, John Miller
-
Publication number: 20060230076Abstract: 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: ApplicationFiled: April 8, 2005Publication date: October 12, 2006Applicant: Microsoft CorporationInventors: Alexander Gounares, Ashok Kuppusamy, Dan Teodosiu, Raymond Endres, William Bolosky, John Douceur
-
Publication number: 20060230245Abstract: 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: ApplicationFiled: April 8, 2005Publication date: October 12, 2006Applicant: Microsoft CorporationInventors: Alexander Gounares, Ashok Kuppusamy, John Douceur, Patrick Bozeman, Raymond Endres, William Bolosky
-
Publication number: 20060184627Abstract: 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: ApplicationFiled: February 14, 2005Publication date: August 17, 2006Applicant: Microsoft CorporationInventors: Jonathan Howell, Jacob Lorch, John Douceur, Leslie Lamport
-
Publication number: 20060143517Abstract: 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: ApplicationFiled: December 22, 2004Publication date: June 29, 2006Applicant: Microsoft CorporationInventors: John Douceur, Jonathan Howell
-
Publication number: 20060136369Abstract: 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: ApplicationFiled: December 17, 2004Publication date: June 22, 2006Applicant: Microsoft CorporationInventors: John Douceur, Jonathan Howell
-
Publication number: 20060112154Abstract: 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: ApplicationFiled: January 20, 2006Publication date: May 25, 2006Applicant: Microsoft CorporationInventors: John Douceur, Roger Wattenhofer
-
Publication number: 20060107048Abstract: 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: ApplicationFiled: December 19, 2005Publication date: May 18, 2006Applicant: Microsoft CorporationInventors: John Douceur, Josh Benaloh, Gideon Yuval, Atul Adya