Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


John R. Douceur, Bellevue US

John R. Douceur, Bellevue, WA US

Patent application numberDescriptionPublished
20080238941Adding custom content to mapping applications - Digital maps can be composed of a series of image tiles that are selected based on the context of the map to be presented. Independently hosted tiles can comprise additional details that can be added to the map. A manifest can be created that describes the layers of map details composed of such independently hosted tiles. Externally referable mechanisms can, based on the manifest and map context, select tiles, from among the independently hosted tiles, that correspond to map tiles being displayed to a user. Subsequently, the mechanisms can instruct a browser, as specified in the manifest, to combine the map tiles and the independently hosted tiles to generate a more detailed map. Alternatively, customized mechanisms can generate map detail tiles in real-time, based on an exported map context. Also, controls instantiated by the browser can render three-dimensional images based on the combined map tiles.10-02-2008
20080293474Motivational Deployment Mechanism for Networked Systems - The described implementations relate to networked or distributed systems and more particularly to providing motivation for deployment of networked systems. One technique gathers a solicitation hierarchy in a distributed system. This technique also tracks contribution to the distributed system of participants within the hierarchy. This technique further probabilistically determines a participant as a lottery winner based at least in part on the solicitation hierarchy and the contribution.11-27-2008
20090019288SECURE RECOVERY IN A SERVERLESS DISTRIBUTED FILE SYSTEM - 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.01-15-2009
20090076965COUNTERACTING RANDOM GUESS ATTACKS AGAINST HUMAN INTERACTIVE PROOFS WITH TOKEN BUCKETS - A system and method that facilitates and effectuates distinguishing a human from a non-human user. A human interactive proof (HIP) employs a token bucket algorithm in order to reduce the success rate for a non-human user employing a guessing or artificial intelligence to solve a substantial number of HIP challenges. The algorithm can employ token buckets associated with IP address and user session from which the user is attempting to solve the HIP challenge. If a token bucket is empty the algorithm can treat a correct response as incorrect and refill a portion of the buckets for a further attempt. This forces two correct responses to be received by a user within the refill quantity for the users bucket(s) before the user is identified as human.03-19-2009
20090077628HUMAN PERFORMANCE IN HUMAN INTERACTIVE PROOFS USING PARTIAL CREDIT - A system and method that facilitates and effectuates distinguishing a human from a non-human user. A human interactive proof (HIP) employs a partial credit algorithm in order to allow a user to make one or more mistakes during consecutive HIP challenges and still be identified as a human. The algorithm assigns a user partial credit based upon getting part of the challenge incorrect. The partial credit is tracked and if during one or more consecutive subsequent challenges the same user gets a portion of the challenge incorrect again, they can still be identified as human.03-19-2009
20090077629INTEREST ALIGNED MANUAL IMAGE CATEGORIZATION FOR HUMAN INTERACTIVE PROOFS - A system and method that facilitates and effectuates distinguishing a human from a non-human user. A human interactive proof (HIP) employs images from a large private database of manually categorized images to display as part of a Turing test challenge. The private database contains a sufficient quantity of images, such that the more economical manner to pass the HIP is to employ a human to take the challenge. The owner of the private database makes the database available to the presenter of the HIP due to an alignment of interests between both parties. The HIP is displayed with ads on behalf of the owner of the private database and the presenter of the HIP gains access to a large quantity of private manually categorized images.03-19-2009
20090132552 Serverless Distributed File System - 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.05-21-2009
20090203449PARTITIONED ARTIFICIAL INTELLIGENCE FOR NETWORKED GAMES - 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.08-13-2009
20090210526DOMAIN NAME CACHE CONTROL - 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.08-20-2009
20090216903DEFEATING CACHE RESISTANT DOMAIN NAME SYSTEMS - 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.08-27-2009
20090324134SPLITTING FILE TYPES WITHIN PARTITIONED IMAGES - 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.12-31-2009
20100035695REDUCING BANDWIDTH REQUIREMENTS FOR PEER-TO-PEER GAMING BASED ON IMPORTANCE OF REMOTE OBJECTS TO A LOCAL PLAYER - 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.02-11-2010
20100197405METHOD AND APPARATUS FOR THWARTING TRAFFIC ANALYSIS IN ONLINE GAMES - 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.08-05-2010
20100241742Collaborative speed determination in distributed systems - 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.09-23-2010
20100287618Executing Native-Code Applications in a Browser - 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.11-11-2010
20100318630Leveraging Remote Server Pools for Client Applications - 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.12-16-2010
20100318786Trusted Hardware Component for Distributed Systems - 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.12-16-2010

Patent applications by John R. Douceur, Bellevue, WA US