Patents by Inventor Jacob R. Lorch

Jacob R. Lorch 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: 8046413
    Abstract: 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: Grant
    Filed: February 14, 2005
    Date of Patent: October 25, 2011
    Assignee: Microsoft Corporation
    Inventors: Jonathan R. Howell, Jacob R. Lorch, John R. Douceur, Leslie B. Lamport
  • Patent number: 8024815
    Abstract: In an embodiment of isolation environment-based information access, programs—including operating systems and applications—running on a computing-based device can be isolated in an environment such as a virtual machine. Information including commands and/or data transmitted between the computing-based device and the program(s) being run, as well as information associated with the program(s) and the computing-based device, is accessed without being detected by the program(s). In one implementation, the information includes state information as well as commands and/or data—including sensitive information, such as usernames and passwords. In another implementation, the information can be used to secretly access the program(s).
    Type: Grant
    Filed: September 15, 2006
    Date of Patent: September 20, 2011
    Assignee: Microsoft Corporation
    Inventors: Jacob R. Lorch, Yi-Min Wang, Chad Verbowski, Helen J. Wang, Samuel King
  • Patent number: 7925601
    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: October 19, 2009
    Date of Patent: April 12, 2011
    Assignee: Microsoft Corporation
    Inventors: John R. Douceur, Jacob R. Lorch, Jeffrey Anson Pang, Frank Christopher Uyeda
  • Publication number: 20100318630
    Abstract: 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: Application
    Filed: June 15, 2009
    Publication date: December 16, 2010
    Applicant: Microsoft Corporation
    Inventors: Jonathan R. Howell, Jeremy E. Elson, John R. Douceur, Jacob R. Lorch
  • Publication number: 20100318786
    Abstract: 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: Application
    Filed: June 12, 2009
    Publication date: December 16, 2010
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, David M. Levin, Jacob R. Lorch, Thomas Moscibroda
  • Publication number: 20100312858
    Abstract: A speculative web browser engine may enable providing transmission of content between a server and a client prior to a user-initiated request for the content hidden in imperative code (event handlers), which may reduce user-perceived latency when the user initiates the imperative code. In some aspects, a speculative browser state may be created from an actual browser state and used to run the event handlers. The event handlers may be modified to direct actions of the event handler to update the speculative browser state. Speculative content may be transmitted between the server and the client in response to an execution of the modified code. The speculative content may be stored in a cache and made readily available for use when the user initiates the event handler and finds that the desired content has already been fetched.
    Type: Application
    Filed: June 4, 2009
    Publication date: December 9, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: James W. Mickens, Jonathan R. Howell, Jacob R. Lorch, Jeremy E. Elson, Edmund B. Nightingale
  • Publication number: 20100287618
    Abstract: 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: Application
    Filed: May 11, 2009
    Publication date: November 11, 2010
    Applicant: Microsoft Corporation
    Inventors: Jonathan R. Howell, Jacob R. Lorch, Jeremy E. Elson, John R. Douceur
  • Publication number: 20100202298
    Abstract: Systems and methods that improve predictions of network latency in network coordinate systems (NCS) based on combining Internet topology information therewith. Topology information can be incorporated into the NCS by system/methodologies represented by geographic bootstrapping; autonomous system (AS) correction; history prioritization; symmetric updates or a combination thereof. Such can improve latency estimation between nodes when using a virtual coordinate system based on latency measurements between nodes.
    Type: Application
    Filed: February 10, 2009
    Publication date: August 12, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Sharad Agarwal, Jacob R. Lorch
  • 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
  • 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: 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: 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
  • Publication number: 20090089879
    Abstract: The subject disclosure relates to systems and methods that secure anti-virus software through virtualization. Anti-virus systems can be maintained separate from user applications and operating system through virtualization. The user applications and operating system run in a guest virtual machine while anti-virus systems are isolated in a secure virtual machine. The virtual machines are partially interdependent such that the anti-virus systems can monitor user applications and operating systems while the anti-virus systems remain free from possible malicious attack originating from a user environment. Further, the anti-virus system is secured against zero-day attacks so that detection and recovery may occur post zero-day.
    Type: Application
    Filed: September 28, 2007
    Publication date: April 2, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Jiahe Helen Wang, Jacob R. Lorch, Bryan Jeffrey Parno
  • Patent number: 7472129
    Abstract: Described are systems and techniques for losslessly restarting subsystems in a distributed file system. By partitioning functionality and logging appropriately across the kernel and user-level boundaries on a client, the user-level subsystem may be made losslessly restartable. In particular, a map assisted state transfer may include receiving one or more state updates, marshaling one or more active data-structures into a marshaled shadow, applying the received state updates to the marshaled shadow and re-instantiating the active data-structures by unmarshaling the marshaled shadow.
    Type: Grant
    Filed: October 29, 2004
    Date of Patent: December 30, 2008
    Assignee: Microsoft Corporation
    Inventors: Atul Adya, Jacob R. Lorch, Ronnie I Chaiken, William J. Bolosky
  • Publication number: 20080127355
    Abstract: In an embodiment of isolation environment-based information access, programs—including operating systems and applications—running on a computing-based device can be isolated in an environment such as a virtual machine. Information including commands and/or data transmitted between the computing-based device and the program(s) being run, as well as information associated with the program(s) and the computing-based device, is accessed without being detected by the program(s). In one implementation, the information includes state information as well as commands and/or data—including sensitive information, such as usernames and passwords. In another implementation, the information can be used to secretly access the program(s).
    Type: Application
    Filed: September 15, 2006
    Publication date: May 29, 2008
    Applicant: Microsoft Corporation
    Inventors: Jacob R. Lorch, Yi-Min Wang, Chad Verbowski, Helen J. Wang, Samuel King
  • Publication number: 20080115121
    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: November 13, 2006
    Publication date: May 15, 2008
    Applicant: Microsoft Corporation
    Inventors: John R. Douceur, Jacob R. Lorch, Jeffrey Anson Pang, Frank Christopher Uyeda
  • Patent number: 7334154
    Abstract: A distributed computing system can be operated in a fault tolerant manner using a set of computing devices. A set of computing devices can tolerate a number of failures by implementing identical replicas of a state machine and selecting proposals. The set of computing devices participating in the distributed computing system by hosting replicas can be modified by adding or removing a computing device from the set, or by specifying particular computing devices for participation. Changing the participating computing devices in the set increases fault tolerance by replacing defective devices with operational devices, or by increasing the amount of redundancy in the system.
    Type: Grant
    Filed: June 18, 2004
    Date of Patent: February 19, 2008
    Assignee: Microsoft Corporation
    Inventors: Jacob R. Lorch, Jonathan R. Howell, John R. Douceur