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: 7076544Abstract: 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: GrantFiled: April 8, 2002Date of Patent: July 11, 2006Assignee: Microsoft CorporationInventors: Ariel Katz, Yifat Sagiv, Guy Friedel, David E. Heckerman, John R. Douceur, Joshua Goodman
-
Patent number: 7062490Abstract: 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: GrantFiled: December 5, 2001Date of Patent: June 13, 2006Assignee: Microsoft CorporationInventors: Atul Adya, William J. Bolosky, Gerald Cermak, John R. Douceur, Marvin M. Theimer, Roger P. Wattenhofer
-
Patent number: 7047420Abstract: 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: GrantFiled: January 17, 2001Date of Patent: May 16, 2006Assignee: Microsoft CorporationInventors: John R. Douceur, Josh D. Benaloh, Gideon A. Yuval, Atul Adya
-
Patent number: 7043637Abstract: 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: GrantFiled: March 21, 2001Date of Patent: May 9, 2006Assignee: Microsoft CorporationInventors: William J. Bolosky, Gerald Cermak, Atul Adya, John R. Douceur
-
Patent number: 7020665Abstract: 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: GrantFiled: March 7, 2002Date of Patent: March 28, 2006Assignee: Microsoft CorporationInventors: John R. Douceur, Roger P. Wattenhofer
-
Patent number: 6988124Abstract: 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: GrantFiled: June 6, 2001Date of Patent: January 17, 2006Assignee: Microsoft CorporationInventors: John R. Douceur, Marvin M. Theimer, Atul Adya, William J. Bolosky
-
Patent number: 6983365Abstract: 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: GrantFiled: May 5, 2000Date of Patent: January 3, 2006Assignee: Microsoft CorporationInventors: John R. Douceur, William J. Bolosky, Marvin M. Theimer
-
Patent number: 6981138Abstract: 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: GrantFiled: March 26, 2001Date of Patent: December 27, 2005Assignee: Microsoft CorporationInventors: John R. Douceur, Atul Adya, William J. Bolosky, Marvin M. Theimer
-
Patent number: 6834386Abstract: 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: GrantFiled: July 16, 1999Date of Patent: December 21, 2004Assignee: Microsoft CorporationInventors: John R. Douceur, William J. Bolosky
-
Publication number: 20040221159Abstract: 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: ApplicationFiled: May 26, 2004Publication date: November 4, 2004Applicant: Microsoft CorporationInventors: John R. Douceur, William J. Bolosky, Marvin M. Theimer
-
Publication number: 20040221160Abstract: 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: ApplicationFiled: May 26, 2004Publication date: November 4, 2004Applicant: Microsoft CorporationInventors: John R. Douceur, William J. Bolosky, Marvin M. Theimer
-
Publication number: 20040215962Abstract: 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: ApplicationFiled: May 26, 2004Publication date: October 28, 2004Applicant: Microsoft CorporationInventors: John R. Douceur, William J. Bolosky, Marvin M. Theimer
-
Publication number: 20040111608Abstract: 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: ApplicationFiled: December 5, 2002Publication date: June 10, 2004Applicant: Microsoft CorporationInventors: Miguel Oom Temudo de Castro, Atul Adya, John R. Douceur, William J. Bolosky
-
Publication number: 20040060042Abstract: 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: September 23, 2003Publication date: March 25, 2004Applicant: Microsoft CorporationInventors: John R. Douceur, Robert P. Fitzgerald, John W. Miller
-
Publication number: 20030233584Abstract: 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: ApplicationFiled: June 14, 2002Publication date: December 18, 2003Applicant: Microsoft CorporationInventor: John R. Douceur
-
Patent number: 6658648Abstract: 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: GrantFiled: September 16, 1997Date of Patent: December 2, 2003Assignee: Microsoft CorporationInventors: John R. Douceur, Robert P. Fitzgerald, John W. Miller
-
Publication number: 20030217113Abstract: 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: ApplicationFiled: April 8, 2002Publication date: November 20, 2003Applicant: Microsoft CorporationInventors: Ariel Katz, Yifat Sagiv, Guy Friedel, David E. Heckerman, John R. Douceur, Joshua Goodman
-
Patent number: 6636874Abstract: 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: GrantFiled: June 29, 2000Date of Patent: October 21, 2003Assignee: Microsoft CorporationInventors: John R. Douceur, Yoram Bernet
-
Publication number: 20030172089Abstract: 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: March 7, 2002Publication date: September 11, 2003Inventors: John R. Douceur, Roger P. Wattenhofer
-
Patent number: 6546430Abstract: 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: GrantFiled: September 17, 2001Date of Patent: April 8, 2003Assignee: Microsoft CorporationInventors: Donald M. Gray, III, John R. Douceur, Adam Glass