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).

  • Publication number: 20100197405
    Abstract: The subject disclosure relates to a method and apparatus for routing data in a network-based computer game via proxy computers. The method and system includes a set of techniques that utilizes the proxy computers to thwart traffic analysis in high-speed games while continuing to satisfy the games' latency requirements. The method and apparatus facilitates thwarting multiple classes of traffic analysis, including inspection of unencrypted header fields, observation of packet size, correlation of packet timing, and collusion among players. A matchmaking system for matching players in a network-based computer game in a manner that resists traffic analysis is also provided.
    Type: Application
    Filed: February 3, 2009
    Publication date: August 5, 2010
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, Jacob R. Lorch, Daekyeong Moon, Thomas Moscibroda
  • Patent number: 7770023
    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: Grant
    Filed: December 16, 2005
    Date of Patent: August 3, 2010
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Atul Adya, Josh D. Benaloh, Gideon A. Yuval
  • Patent number: 7765553
    Abstract: A method and system for regulating tasks of background processes so as to reduce interference with foreground processes. The progress rate of a background task (e.g., amount of work performed per unit time) is measured and evaluated against a target amount. If the progress rate appears degraded, the background task is suspended for a computed time interval so as to back off from its interference with a foreground process. Each time the progress rate appears degraded, the time interval is exponentially increased from its previous value up to a maximum, however if the performance appears normal, the time interval is reset to a minimum. Evaluation of the work is statistically based so as to eliminate variations in measurements, and automatic calibration of the target amount is provided, as is a mechanism for prioritizing multiple background tasks.
    Type: Grant
    Filed: December 13, 2004
    Date of Patent: July 27, 2010
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, William J. Bolosky
  • Patent number: 7716672
    Abstract: A method and system for regulating tasks of background processes so as to reduce interference with foreground processes. The progress rate of a background task (e.g., amount of work performed per unit time) is measured and evaluated against a target amount. If the progress rate appears degraded, the background task is suspended for a computed time interval so as to back off from its interference with a foreground process. Each time the progress rate appears degraded, the time interval is exponentially increased from its previous value up to a maximum, however if the performance appears normal, the time interval is reset to a minimum. Evaluation of the work is statistically based so as to eliminate variations in measurements, and automatic calibration of the target amount is provided, as is a mechanism for prioritizing multiple background tasks.
    Type: Grant
    Filed: December 10, 2004
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, William J. Bolosky
  • Patent number: 7716249
    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: Grant
    Filed: September 16, 2005
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventors: Tim L. Harris, Simon Peyton-Jones, Jonathan R. Howell, John R. Douceur
  • Patent number: 7685415
    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: Grant
    Filed: November 10, 2004
    Date of Patent: March 23, 2010
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Josh D. Benaloh, Gideon A. Yuval, Atul Adya
  • Publication number: 20100035695
    Abstract: Techniques enable the reduction of bandwidth requirements for peer-to-peer gaming architectures. In some embodiments, these techniques allow differentiation among players to decide which players should receive continuous updates and which should receive periodic updates. For those gaming systems receiving periodic updates, guided artificial intelligence is employed to simulate activity of a game object based on guidance provided by the periodic updates. Conversely, for those gaming systems receiving continuous updates, the continuous updates may be employed to update the activity of the game object rather than simulating the activity.
    Type: Application
    Filed: October 19, 2009
    Publication date: February 11, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: John R. Douceur, Jacob R. Lorch, Jeffrey Anson Pang, Frank Christopher Uyeda
  • Patent number: 7650514
    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: Grant
    Filed: December 30, 2005
    Date of Patent: January 19, 2010
    Assignee: Microsoft Corporation
    Inventors: Jonathan R. Howell, John R. Douceur
  • Publication number: 20090324134
    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: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: MICROSOFT CORPRATION
    Inventors: Jonathan R. Howell, Jeremy E. Elson, John R. Douceur
  • Patent number: 7627632
    Abstract: Techniques enable the reduction of bandwidth requirements for peer-to-peer gaming architectures. In some embodiments, these techniques allow differentiation among players to decide which players should receive continuous updates and which should receive periodic updates. For those gaming systems receiving periodic updates, guided artificial intelligence is employed to simulate activity of a game object based on guidance provided by the periodic updates. Conversely, for those gaming systems receiving continuous updates, the continuous updates may be employed to update the activity of the game object rather than simulating the activity.
    Type: Grant
    Filed: November 13, 2006
    Date of Patent: December 1, 2009
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Jacob R. Lorch, Jeffrey Anson Pang, Frank Christopher Uyeda
  • Publication number: 20090216903
    Abstract: Domain name caching mechanisms are provided to address cache-defeating approaches. Domain name lookup requests are processed and cached information associated with a non-identical domain name returned in response. Cache-defeating behavior including nonce injection can be detected or inferred and employed to map domain name requests to previously cached information thereby exposing the benefits of caching.
    Type: Application
    Filed: February 22, 2008
    Publication date: August 27, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Jonathan Ryan Howell, John R. Douceur, Jeremy Eric Elson
  • Publication number: 20090210526
    Abstract: Domain name caching is controlled by adding a nonce to a domain name to force propagation of lookup to an authoritative server or service. Desired caching behavior is dictated by controlling when a new and unique nonce-bearing name is created. For example, caching can be completely eliminated by generating a new nonce-bearing name for every request. While a nonce can simply correspond to a random or pseudo random value, it can also be time based. Furthermore, nonces can be phase or time shifted to limit authoritative server load as well as improve response time.
    Type: Application
    Filed: February 14, 2008
    Publication date: August 20, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Jonathan Ryan Howell, John R. Douceur, Jeremy Eric Elson
  • Publication number: 20090203449
    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 11, 2008
    Publication date: August 13, 2009
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, Michael P. Calligaro, Randall C. Wood, Jacob R. Lorch
  • Patent number: 7574457
    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: Grant
    Filed: January 13, 2006
    Date of Patent: August 11, 2009
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Jonathan R. Howell
  • Patent number: 7574598
    Abstract: Cryptographic protocols and methods of employing the same are described. The described protocols advantageously enable two or more identical encryptable objects that are coded for encryption with different keys to be identified as identical without access to either the unencrypted objects or the keys that are used in the encryption process. Additionally, the protocols enable two or more identical encryptable objects to be processed with different encryption keys, yet be stored in a manner so that the total required storage space is proportional to the space that is required to store a single encryptable object, plus a constant amount for each distinct encryption key. In various embodiments, the encryptable objects comprise files and the cryptographic protocols enable encrypted files to be used in connection with single instance store (SIS) systems.
    Type: Grant
    Filed: June 10, 2005
    Date of Patent: August 11, 2009
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, William J. Bolosky, Marvin M. Theimer
  • Patent number: 7571327
    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: Grant
    Filed: November 10, 2004
    Date of Patent: August 4, 2009
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Josh D. Benaloh, Gideon A. Yuval, Atul Adya
  • Patent number: 7571186
    Abstract: Potentially identical objects (e.g., files) are located across multiple computers based on stochastic partitioning of workload. For each of a plurality of objects stored on a plurality of computers in a network, a portion of object information corresponding to the object is selected. The object information can be generated in a variety of manners (e.g., based on hashing the object, based on characteristics of the object, and so forth). Any of a variety of portions of the object information can be used (e.g., the least significant bits of the object information). A stochastic partitioning process is then used to identify which of the plurality of computers to communicate the object information to for identification of potentially identical objects on the plurality of computers.
    Type: Grant
    Filed: November 18, 2004
    Date of Patent: August 4, 2009
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Marvin M. Theimer, Atul Adya, William J. Bolosky
  • Patent number: 7555656
    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: Grant
    Filed: November 10, 2004
    Date of Patent: June 30, 2009
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Josh D. Benaloh, Gideon A. Yuval, Atul Adya
  • Patent number: 7539867
    Abstract: A file format for a serverless distributed file system is composed of two parts: a primary data stream and a metadata stream. The data stream contains a file that is divided into multiple blocks. Each block is encrypted using a hash of the block as the encryption key. The metadata stream contains a header, a structure for indexing the encrypted blocks in the primary data stream, and some user information. The indexing structure defines leaf nodes for each of the blocks. Each leaf node consists of an access value used for decryption of the associated block and a verification value used to verify the encrypted block independently of other blocks. In one implementation, the access value is formed by hashing the file block and encrypting the resultant hash value using a randomly generated key. The key is then encrypted using the user's key as the encryption key. The verification value is formed by hashing the associated encrypted block using a one-way hash function.
    Type: Grant
    Filed: December 16, 2004
    Date of Patent: May 26, 2009
    Assignee: Microsoft Corporation
    Inventors: William J. Bolosky, Gerald Cermak, Atul Adya, John R. Douceur
  • Publication number: 20090132552
    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: Application
    Filed: January 29, 2009
    Publication date: May 21, 2009
    Applicant: Microsoft Corporation
    Inventors: Atul Adya, William J. Bolosky, Gerald Cermak, John R. Douceur, Marvin M. Theimer, Roger P. Wattenhofer