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: 20110289232Abstract: The described implementations relate to collaborative speed determination in distributed systems. One method estimates upload speeds of a plurality of hosts. The method sends a first bandwidth probe from a first host to a second host. The method receives, at the first host, a second bandwidth probe sent from the second host. The method determines which of the first and second bandwidth probes was relatively slower. The method designates either of the first or second hosts that sent the relatively slower bandwidth probe as a loser and takes a speed of the bandwidth probe of the loser as a first estimate of the loser's upload speed.Type: ApplicationFiled: August 3, 2011Publication date: November 24, 2011Applicant: MICROSOFT CORPORATIONInventors: John R. Douceur, James W. Mickens, Thomas Moscibroda, Debmalya Panigrahi
-
Publication number: 20110288934Abstract: Techniques are described to mitigate ad stalking and other user concerns resulting from user-targeted advertising. A user may be informed of advertising information by a process in which an advertising server receives a request for an ad. The request may have been generated in response to a user request for a landing web page. An ad may be selected based on user information available to the advertising server, where the user information is associated with the user and describes behavior and/or attributes and/or preferences associated with the user. Text about how the ad was selected may be incorporated into the ad. Such text may describe the user information used to select the ad. The selection-disclosing text may be incorporated in the ad in a form that is displayable to the user by a browser. The ad may then be transmitted for display in the landing web page.Type: ApplicationFiled: May 24, 2010Publication date: November 24, 2011Applicant: MICROSOFT CORPORATIONInventors: John R. Douceur, Jacob R. Lorch, James Mickens, Thomas Moscibroda, David Levin
-
Publication number: 20110282837Abstract: 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: July 25, 2011Publication date: November 17, 2011Applicant: Microsoft CorporationInventors: Alexander G. Gounares, Ashok Kuppusamy, Dan Teodosiu, Raymond E. Endres, William J. Bolosky, John R. Douceur
-
Patent number: 8046413Abstract: 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: GrantFiled: February 14, 2005Date of Patent: October 25, 2011Assignee: Microsoft CorporationInventors: Jonathan R. Howell, Jacob R. Lorch, John R. Douceur, Leslie B. Lamport
-
Publication number: 20110258483Abstract: A Metadata server described herein is configured to generate a metadata table optimized for data durability and recovery. In generating the metadata table, the metadata server associates each possible combination of servers with one of the indices of the table, thereby ensuring that each server participates in recovery in the event of a server failure. In addition, the metadata server may also associate one or more additional servers with each index to provide added data durability. Upon generating the metadata table, the metadata server provides the metadata table to clients or servers. Alternatively, the metadata server may provide rules and parameters to clients to enable those clients to identify servers storing data items. The clients may use these parameters and an index as inputs to the rules to determine the identities of servers storing or designated to store data items corresponding to the index.Type: ApplicationFiled: May 20, 2011Publication date: October 20, 2011Applicant: MICROSOFT CORPORATIONInventors: Jeremy E. Elson, Edmund B. Nightingale, John R. Douceur, Stuart Schechter, Peter L. Montgomery
-
Patent number: 8019862Abstract: The described implementations relate to collaborative speed determination in distributed systems. One method estimates upload speeds of a plurality of hosts. The method sends a first bandwidth probe from a first host to a second host. The method receives, at the first host, a second bandwidth probe sent from the second host. The method determines which of the first and second bandwidth probes was relatively slower. The method designates either of the first or second hosts that sent the relatively slower bandwidth probe as a loser and takes a speed of the bandwidth probe of the loser as a first estimate of the loser's upload speed.Type: GrantFiled: March 17, 2009Date of Patent: September 13, 2011Assignee: Microsoft CorporationInventors: John R. Douceur, James W. Mickens, Thomas Moscibroda, Debmalya Panigrahi
-
Patent number: 8010498Abstract: A logical file system 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: GrantFiled: April 8, 2005Date of Patent: August 30, 2011Assignee: Microsoft CorporationInventors: Alexander G. Gounares, Ashok Kuppusamy, Dan Teodosiu, Raymond E. Endres, William J. Bolosky, John R. Douceur
-
Patent number: 7958261Abstract: 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: GrantFiled: February 14, 2008Date of Patent: June 7, 2011Assignee: Microsoft CorporationInventors: Jonathan Ryan Howell, John R. Douceur, Jeremy Eric Elson
-
Patent number: 7958176Abstract: Techniques for identifying coefficients are described. A technique collects sample input values to the filter and identifies desired output values from the filter for the collected sample input values. The technique then generates a power spectrum of the collected sample input values and a power spectrum of the identified desired output values. The technique then calculates the difference between the generated power spectra. Finally, the technique identifies coefficients that yield a filter transfer function that closely approximates the calculated differences. A technique identifies coefficients for a finite impulse response filter. The technique collects sample input values for a function and identifies desired output values for the filter for the collected sample input values. The technique then approximates the output values from the input values using a linear fitting technique. Finally, the technique sets the coefficients to values obtained from the linear-fitting technique.Type: GrantFiled: April 20, 2006Date of Patent: June 7, 2011Assignee: Microsoft CorporationInventors: John R. Douceur, Robert P. Fitzgerald, John W. Miller
-
Patent number: 7925601Abstract: 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: GrantFiled: October 19, 2009Date of Patent: April 12, 2011Assignee: Microsoft CorporationInventors: John R. Douceur, Jacob R. Lorch, Jeffrey Anson Pang, Frank Christopher Uyeda
-
Patent number: 7886364Abstract: 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: August 18, 2005Date of Patent: February 8, 2011Assignee: Microsoft CorporationInventors: John R. Douceur, Atul Adya, William J. Bolosky, Marvin M. Theimer
-
Patent number: 7868786Abstract: A location history is a collection of locations over time for an object. A stay is a single instance of an object spending some time in one place, and a destination is any place where one or more objects have experienced a stay. Location histories are parsed using stays and destinations. In a described implementation, each location of a location history is recorded as a spatial position and a corresponding time at which the spatial position is acquired. Stays are extracted from a location history by analyzing locations thereof with regard to a temporal threshold and a spatial threshold. Specifically, two or more locations are considered a stay if they exceed a minimum stay duration and are within a maximum roaming distance. Each stay includes a location, a starting time, and an ending time. Destinations are produced from the extracted stays using a clustering operation and a predetermined scaling factor.Type: GrantFiled: October 19, 2004Date of Patent: January 11, 2011Assignee: Microsoft CorporationInventors: Kentaro Toyama, Ramaswamy Hariharan, Ross G. Cutler, John R. Douceur, Nuria M. Oliver, Eric K. Ringger, Daniel C. Robbins, Matthew T. Uyttendaele
-
Patent number: 7865618Abstract: 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: GrantFiled: February 22, 2008Date of Patent: January 4, 2011Assignee: Micorsoft CorporationInventors: Jonathan Ryan Howell, John R. Douceur, Jeremy Eric Elson
-
Publication number: 20100318630Abstract: Techniques for enabling client computing devices to leverage remote server pools for increasing the effectiveness of applications stored on the client computing device are described herein. In some instances, the server pools comprise a “cloud”, “cluster” or “data center” that comprises hundreds or thousands of servers connected together by a network that has an extremely low latency and high bandwidth relative to the network through which the client computing device connects to the server pool. The client computing device may request that the server pool perform a certain task for an application whose canonical state resides on the client. After computation of a result of the task, a server of the server pool then provides the result to the client. By doing so, the techniques dramatically increase the amount of resources working on the request of the client and, hence, dramatically increase the speed and effectiveness of the client-side application.Type: ApplicationFiled: June 15, 2009Publication date: December 16, 2010Applicant: Microsoft CorporationInventors: Jonathan R. Howell, Jeremy E. Elson, John R. Douceur, Jacob R. Lorch
-
Publication number: 20100318786Abstract: Techniques for utilizing trusted hardware components for mitigating the effects of equivocation amongst participant computing devices of a distributed system are described herein. For instance, a distributed system employing a byzantine-fault-resilient protocol—that is, a protocol intended to mitigate (e.g., tolerate, detect, isolate, etc.) the effects of byzantine faults—may employ the techniques. To do so, the techniques may utilize a trusted hardware component comprising a non-decreasing counter and a key. This hardware component may be “trusted” in that the respective participant computing device cannot modify or observe the contents of the component in any manner other than according to the prescribed procedures, as described herein. Furthermore, the trusted hardware component may couple to the participant computing device in any suitable manner, such as via a universal serial bus (USB) connection or the like.Type: ApplicationFiled: June 12, 2009Publication date: December 16, 2010Applicant: Microsoft CorporationInventors: John R. Douceur, David M. Levin, Jacob R. Lorch, Thomas Moscibroda
-
Patent number: 7836170Abstract: 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: GrantFiled: March 22, 2007Date of Patent: November 16, 2010Assignee: Microsoft CorporationInventors: John R. Douceur, Yoram Bernet
-
Publication number: 20100287618Abstract: Techniques for leveraging legacy code to deploy native-code desktop applications over a network (e.g., the Web) are described herein. These techniques include executing an application written in native code within a memory region that hardware of a computing device enforces. For instance, page-protection hardware (e.g., a memory management unit) or segmentation hardware may protect this region of memory in which the application executes. The techniques may also provide a narrow system call interface out of this memory region by dynamically enforcing system calls made by the application. Furthermore, these techniques may enable a browser of the computing device to function as an operating system for the native-code application. These techniques thus allow for execution of native-code applications on a browser of a computing device and, hence, over the Web in a resource-efficient manner and without sacrificing security of the computing device.Type: ApplicationFiled: May 11, 2009Publication date: November 11, 2010Applicant: Microsoft CorporationInventors: Jonathan R. Howell, Jacob R. Lorch, Jeremy E. Elson, John R. Douceur
-
Publication number: 20100241742Abstract: The described implementations relate to collaborative speed determination in distributed systems. One method estimates upload speeds of a plurality of hosts. The method sends a first bandwidth probe from a first host to a second host. The method receives, at the first host, a second bandwidth probe sent from the second host. The method determines which of the first and second bandwidth probes was relatively slower. The method designates either of the first or second hosts that sent the relatively slower bandwidth probe as a loser and takes a speed of the bandwidth probe of the loser as a first estimate of the loser's upload speed.Type: ApplicationFiled: March 17, 2009Publication date: September 23, 2010Applicant: Microsoft CorporationInventors: John R. Douceur, James W. Mickens, Thomas Moscibroda, Debmalya Panigrahi
-
Patent number: 7783664Abstract: 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: GrantFiled: December 17, 2004Date of Patent: August 24, 2010Assignee: Microsoft CorporationInventors: John R. Douceur, Jonathan R. Howell
-
Patent number: 7779253Abstract: 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 26, 2004Date of Patent: August 17, 2010Assignee: Microsoft CorporationInventors: John R. Douceur, Marvin M. Theimer, William J. Bolosky