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: 7076544
    Abstract: A streaming media caching mechanism and cache manager efficiently establish and maintain the contents of a streaming media cache for use in serving streaming media requests from cache rather than from an original data source when appropriate. The cost of caching is incurred only when the benefits of caching are likely to be experienced. The caching mechanism and cache manager evaluate the request count for each requested URL to determine whether the URL represents a cache candidate, and further analyze the URL request rate to determine whether the content associated with the URL will be cached. In an embodiment, the streaming media cache is maintained with a predetermined amount of reserve capacity rather than being filled to capacity whenever possible.
    Type: Grant
    Filed: April 8, 2002
    Date of Patent: July 11, 2006
    Assignee: Microsoft Corporation
    Inventors: Ariel Katz, Yifat Sagiv, Guy Friedel, David E. Heckerman, John R. Douceur, Joshua Goodman
  • Patent number: 7062490
    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: December 5, 2001
    Date of Patent: June 13, 2006
    Assignee: Microsoft Corporation
    Inventors: Atul Adya, William J. Bolosky, Gerald Cermak, John R. Douceur, Marvin M. Theimer, Roger P. Wattenhofer
  • Patent number: 7047420
    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: January 17, 2001
    Date of Patent: May 16, 2006
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Josh D. Benaloh, Gideon A. Yuval, Atul Adya
  • Patent number: 7043637
    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: March 21, 2001
    Date of Patent: May 9, 2006
    Assignee: Microsoft Corporation
    Inventors: William J. Bolosky, Gerald Cermak, Atul Adya, John R. Douceur
  • Patent number: 7020665
    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: Grant
    Filed: March 7, 2002
    Date of Patent: March 28, 2006
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Roger P. Wattenhofer
  • Patent number: 6988124
    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: June 6, 2001
    Date of Patent: January 17, 2006
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Marvin M. Theimer, Atul Adya, William J. Bolosky
  • Patent number: 6983365
    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: May 5, 2000
    Date of Patent: January 3, 2006
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, William J. Bolosky, Marvin M. Theimer
  • Patent number: 6981138
    Abstract: A file that has been encrypted using a symmetric key and that has a corresponding access control entry with the symmetric key encrypted using the public key of a public/private key pair can be accessed. An encrypted key cache is also accessed to determine whether an access control entry to symmetric key mapping exists in the cache for the access control entry corresponding to the file. If such a mapping exists in the cache, then the mapped-to symmetric key is obtained form the cache, otherwise the encrypted symmetric key is decrypted using the private key of the public/private key pair. The encrypted key cache itself can also be encrypted and stored as an encrypted file.
    Type: Grant
    Filed: March 26, 2001
    Date of Patent: December 27, 2005
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Atul Adya, William J. Bolosky, Marvin M. Theimer
  • Patent number: 6834386
    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: July 16, 1999
    Date of Patent: December 21, 2004
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, William J. Bolosky
  • Publication number: 20040221159
    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 conjection with single instance store (SIS) systems.
    Type: Application
    Filed: May 26, 2004
    Publication date: November 4, 2004
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, William J. Bolosky, Marvin M. Theimer
  • Publication number: 20040221160
    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 It files and the cryptographic protocols enable encrypted files to be used in connection with single instance store (SIS) systems.
    Type: Application
    Filed: May 26, 2004
    Publication date: November 4, 2004
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, William J. Bolosky, Marvin M. Theimer
  • Publication number: 20040215962
    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: Application
    Filed: May 26, 2004
    Publication date: October 28, 2004
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, William J. Bolosky, Marvin M. Theimer
  • Publication number: 20040111608
    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: Application
    Filed: December 5, 2002
    Publication date: June 10, 2004
    Applicant: Microsoft Corporation
    Inventors: Miguel Oom Temudo de Castro, Atul Adya, John R. Douceur, William J. Bolosky
  • Publication number: 20040060042
    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: September 23, 2003
    Publication date: March 25, 2004
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, Robert P. Fitzgerald, John W. Miller
  • Publication number: 20030233584
    Abstract: Combinable computational puzzles are used as a challenge mechanism for a computer to challenge network entities to determine whether the ostensibly separate network entities are in fact distinct computers. The combinable computational puzzles are constructed such that multiple puzzles can be combined into a single puzzle, which can be solved with approximately the same effort as that required to solve each of the individual original puzzles, and solutions to the individual original puzzles can be derived easily from the solution to the combined puzzle. A computer that is challenged by multiple computers with separate combinable puzzles at the same time is able to respond to the challenges by combining the puzzles into one combined puzzle that it is able to solve in a allotted time period.
    Type: Application
    Filed: June 14, 2002
    Publication date: December 18, 2003
    Applicant: Microsoft Corporation
    Inventor: John R. Douceur
  • Patent number: 6658648
    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: Grant
    Filed: September 16, 1997
    Date of Patent: December 2, 2003
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Robert P. Fitzgerald, John W. Miller
  • Publication number: 20030217113
    Abstract: A streaming media caching mechanism and cache manager efficiently establish and maintain the contents of a streaming media cache for use in serving streaming media requests from cache rather than from an original data source when appropriate. The cost of caching is incurred only when the benefits of caching are likely to be experienced. The caching mechanism and cache manager evaluate the request count for each requested URL to determine whether the URL represents a cache candidate, and further analyze the URL request rate to determine whether the content associated with the URL will be cached. In an embodiment, the streaming media cache is maintained with a predetermined amount of reserve capacity rather than being filled to capacity whenever possible.
    Type: Application
    Filed: April 8, 2002
    Publication date: November 20, 2003
    Applicant: Microsoft Corporation
    Inventors: Ariel Katz, Yifat Sagiv, Guy Friedel, David E. Heckerman, John R. Douceur, Joshua Goodman
  • Patent number: 6636874
    Abstract: The present described embodiments are embodied in a system and method for generating and validating reference handles for consumers requiring access to resources in a computer system. The system of the present described embodiments includes a resource manager having a handle administrator, a plurality of consumers, and a plurality of resources. The handle administrator includes an assignment routine, a release routine, and a dereference routine. The assignment routine issues new handles, the release routine releases handles that are no longer required (thus rendering the handle invalid), and the dereference routine dereferences handles into a pointer to a resource, which entails verifying that the handle is valid.
    Type: Grant
    Filed: June 29, 2000
    Date of Patent: October 21, 2003
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Yoram Bernet
  • Publication number: 20030172089
    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: March 7, 2002
    Publication date: September 11, 2003
    Inventors: John R. Douceur, Roger P. Wattenhofer
  • Patent number: 6546430
    Abstract: In a network of interconnected multimedia source, transfer, and sink ports, the described subject matter defers port parameter selection until substantially all relevant information is available. Specifically, parameters are negotiated between multiple ports by specifying parameter sets corresponding to the ports. Each parameter set is expressed as a list of constraints on allowable values or ranges of values. When connecting multiple ports, the constraints on their parameter sets are conjoined to form a parameter set intersection. The parameter sets of the ports are limited to values included in the parameter set intersection. Parameter sets relating to other ports are potentially limited based on the intersection results. The conjoining and limiting operations are repeated until the various parameter sets exhibit no further limitations in response to further repetitions. This process is repeated for all port interconnections.
    Type: Grant
    Filed: September 17, 2001
    Date of Patent: April 8, 2003
    Assignee: Microsoft Corporation
    Inventors: Donald M. Gray, III, John R. Douceur, Adam Glass