Patents by Inventor Lidong Zhou

Lidong Zhou 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: 7734573
    Abstract: Methods and apparatuses are provided for recovering one or more replicated datasets. In accordance to some embodiments of the invention, this is accomplished by determining whether a log contains one or more entries indicating a corruption in a replicated data item; and recovering the replicated data item if the log contains any such entries. The log, however, is maintained at a higher layer in a software hierarchy than the layer at which the replicated data item is recovered. As a result, there is no need to maintain a separate replication log at the layer where the replicated data item is recovered.
    Type: Grant
    Filed: December 14, 2004
    Date of Patent: June 8, 2010
    Assignee: Microsoft Corporation
    Inventors: John P. MacCormick, Chandramohan A. Thekkath, Lidong Zhou
  • Patent number: 7730101
    Abstract: Tree data storage structures are implemented on respective computers in a distributed environment, such as on a network, so that information associated with nodes of one computer's tree data storage structure may be read or written to by another computer in the network. To promote efficiency, a cache may be employed on the computers in the network such that each computer caches information associated with nodes of tree data storage structures located on the computers in the network. A lock service may implement a caching protocol to provide efficient concurrency of caching operations while ensuring that current information associated with the nodes is available to all computers in the network.
    Type: Grant
    Filed: June 10, 2005
    Date of Patent: June 1, 2010
    Assignee: Microsoft Corporation
    Inventors: Lidong Zhou, Chandramohan A. Thekkath
  • Publication number: 20100125758
    Abstract: A distributed system checker may check a distributed system against events to detect bugs in the distributed system. The events may include machines crashes, network partitions, and packet losses, for example. The distributed system checker may check a distributed system that can have multiple threads and multiple processes running on multiple nodes. To obtain control over a distributed system, a distributed system checker may insert an interposition layer between a process and the operating system on each node.
    Type: Application
    Filed: November 17, 2008
    Publication date: May 20, 2010
    Applicant: Microsoft Corporation
    Inventors: Junfeng Yang, Lintao Zhang, Lidong Zhou, Zhenyu Guo, Xuezheng Liu, Jian Tang, Mao Yang
  • Publication number: 20100106753
    Abstract: A cyclic commit protocol is used to store relationships between transactions and is used by the technology to determine whether a transaction is committed or not. The protocol allows creation of a cycle of transactions which can be used to recover the state of a storage device after a host failure by identifying the last committed version of intention records as committed or uncommitted based on the data stored in the physical pages.
    Type: Application
    Filed: October 24, 2008
    Publication date: April 29, 2010
    Applicant: Microsoft Corporation
    Inventors: Vijayan Prabhakaran, Lidong Zhou, Thomas Lee Rodeheffer
  • Patent number: 7636868
    Abstract: A global state management service manages replication in a distributed system. A distributed system can have several replica groups. The global state management service manages state associated with each replica group. Data replication is implemented without implementing an instance of a state machine on each device in a replica group. A replica group comprises a primary device and at least one secondary device. Each device in a replica group contains a replica of data of interest. The global state management service manages the allocation of primary and secondary devices. In the absence of a failure in either a primary device or a secondary device, read and write operations are performed without consulting the global state management service. When a failure is detected, the global state management service manages failover.
    Type: Grant
    Filed: June 27, 2006
    Date of Patent: December 22, 2009
    Assignee: Microsoft Corporation
    Inventors: William R. Hoffman, Marcus J. Jager, John P. MacCormick, Kristof Roomp, Chandramohan A. Thekkath, Lidong Zhou
  • Patent number: 7630998
    Abstract: The addition of a layer between a tree data storage structure and a persistent storage is disclosed. The additional layer, called a storage module, generates an identifier and allocates it to a node in the tree data storage structure. The storage module additionally performs a mapping function, allocating the identifier to a location in persistent storage. If the node is later deleted from the tree data storage structure, then the mapping of the identifier to the location in persistent storage is likewise deleted. In this way, if the node is deleted and, concurrently, a lookup or write operation is attempted on the deleted node, the storage module will read the identifier associated with the deleted node but will not be able to map the identifier to a location in persistent storage. Instead, an exception is generated and sent to the tree data storage module.
    Type: Grant
    Filed: June 10, 2005
    Date of Patent: December 8, 2009
    Assignee: Microsoft Corporation
    Inventors: Lidong Zhou, Chandramohan A. Thekkath
  • Patent number: 7613105
    Abstract: A network troubleshooting framework is described. In an implementation, a method includes forming a plurality of reports by a plurality of nodes in a network, wherein each of the reports is formed by a respective one of the nodes and includes trace data obtained from the respective node and another of the nodes. An inconsistency is detected in the trace data in one of the reports when compared with corresponding trace data in another of the reports. A set of the nodes is found that formed one or more of the reports having the inconsistency in the trace data.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: November 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Paramvir Bahl, Lidong Zhou, Lili Qiu, Ananth Rajagopala Rao
  • Publication number: 20090271707
    Abstract: An enhancement to a web browser offers an extension mechanism for web applications to utilize client-side resources, thereby moving more extensibility and flexibility to the client-side. The web browser may expose some control interfaces to meet various requirements from web applications. Using the extension mechanism, the web applications are able to offload the cloud servers, function when offline, and improve performance. The extension mechanism also provides users with full control to the data passing through their web browsers.
    Type: Application
    Filed: April 23, 2008
    Publication date: October 29, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Shiding Lin, Lidong Zhou, Chandramohan A. Thekkath, Dahlia Malkhi, Zheng Zhang
  • Patent number: 7606165
    Abstract: A network troubleshooting framework is described. In an implementation, a method includes generating a first estimation of network performance by a simulator based on network settings obtained from a network, estimating the new performance under an alternative setting by providing the alternative setting to the network simulation and observing the simulation output, repeating the procedure for other alternative settings, and suggesting the alternative setting that improves network performance.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: October 20, 2009
    Assignee: Microsoft Corporation
    Inventors: Lili Qiu, Paramvir Bahl, Lidong Zhou, Ananth Rajagopala Rao
  • Patent number: 7583587
    Abstract: A network troubleshooting framework is described. In an implementation, a method includes detecting discrepancy in operation of a network by supplying data that describes the network to a network simulation so that the network simulation provides an estimation of network performance. A determination is made as to whether the estimation of network performance differs from observed network performance of the network. A root cause of the discrepancy is diagnosed by injecting one or more of a plurality of faults into the network simulation until the estimation of network performance approximates the observed network performance.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: September 1, 2009
    Assignee: Microsoft Corporation
    Inventors: Lili Qiu, Paramvir Bahl, Lidong Zhou, Ananth Rajagopala Rao
  • Publication number: 20090150566
    Abstract: A variant of Paxos is referred to as Virtually Synchronous Paxos (VS Paxos). VS Paxos is a self-reconfigurable protocol that allows for delay only for reconfiguration decisions, without placing an artificial limit on regular decisions. In an implementation of VS Paxos, subject to any restriction on reconfiguration decisions, a leader may activate an unbounded number of consensus instances ahead. A VS Paxos technique permits unlimited progress during stability periods, in that a leader may initiate commands at any number of consensus instances without bound. VS Paxos waits for command completion only when configuration-changing commands occur.
    Type: Application
    Filed: December 7, 2007
    Publication date: June 11, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Dahlia Malkhi, Leslie B. Lamport, Lidong Zhou
  • Patent number: 7529891
    Abstract: Balanced prefetching automatically balances the benefits of prefetching data that has not been accessed recently against the benefits of caching recently accessed data, and can be applied to most types of structured data without needing application-specific details or hints. Balanced prefetching is performed in applications in a computer system, such as storage-centric applications, including file systems and databases. Balanced prefetching exploits the structure of the data being prefetched, providing superior application throughput. For a fixed amount of memory, it is automatically and dynamically determined how much memory should be devoted to prefetching.
    Type: Grant
    Filed: September 19, 2005
    Date of Patent: May 5, 2009
    Assignee: Microsoft Corporation
    Inventors: Chandramohan A. Thekkath, John P. MacCormick, Lidong Zhou, Nicholas Charles Murphy
  • Publication number: 20090113550
    Abstract: Methods and architectures for automatic filter generation are described. In an embodiment, these filters are generated in order to block inputs which would otherwise disrupt the normal functioning of a program. An initial set of filter conditions is generated by analyzing the path of a program from a point at which a bad input is received to the point at which the malfunctioning of the program is detected and creating conditions on an input which ensure that this path is followed. Having generated the initial set of filter conditions, the set is made less specific by determining which instructions do not influence whether the point of detection of the attack is reached and removing the filter conditions which correspond to these instructions.
    Type: Application
    Filed: October 26, 2007
    Publication date: April 30, 2009
    Applicant: Microsoft Corporation
    Inventors: Manuel Costa, Miguel Castro, Lidong Zhou, Lintao Zhang, Marcus Peinado
  • Publication number: 20080313496
    Abstract: Multiple versions of data on different sets of machines allow a system to degrade gracefully even when experiencing excessive failures. When excessive failures cause the latest versions to be unavailable, the system becomes degraded, but still offers an old version if available. A most recent coherent set of the available older versions is found and provided. The degree of degradation increases gradually as the system experiences more and more failures. Graceful degradation is desirably complementary to fault tolerance.
    Type: Application
    Filed: June 12, 2007
    Publication date: December 18, 2008
    Applicant: Microsoft Corporation
    Inventors: Vijayan Prabhakaran, Venugopalan Ramasubramanian, Lidong Zhou, Roy Levin, Chandramohan A. Thekkath
  • Publication number: 20080209523
    Abstract: Data is automatically shared over one or more contact networks which are interrelated by a trust relationship. The data can be shared using a network-based communication service and is stored as a data record in a local data store. The communication service may be implemented as an instant messaging, electronic mail, mobile phone or some other type of communication service. The data record can include data created by a user, a relevance value, a maximum share count and/or other data. The number of times that data may be shared may be configured by the user that generates the data. The relevance of the data may be updated each time the data is shared.
    Type: Application
    Filed: February 28, 2007
    Publication date: August 28, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Dahlia Malkhi, Lidong Zhou, Yaacov Fernandess
  • Publication number: 20080065704
    Abstract: A distributed data store employs replica placement techniques in which a number k hash functions are used to compute k potential locations for a data item. A number r of the k locations are chosen for storing replicas. These replica placement techniques provide a system designer with the freedom to choose r from k, are structured in that they are determined by a straightforward functional form, and are diffuse such that the replicas of the items on one server are scattered over many other servers. The resulting storage system exhibits excellent storage balance and request load balance in the presence of incremental system expansions, server failures, and load changes. Data items may be created, read, and updated or otherwise modified.
    Type: Application
    Filed: September 12, 2006
    Publication date: March 13, 2008
    Applicant: Microsoft Corporation
    Inventors: John Philip MacCormick, Nicholas Murphy, Venugopalan Ramasubramanian, Ehud Wieder, Lidong Zhou, Junfeng Yang
  • Publication number: 20070299955
    Abstract: A global state management service manages replication in a distributed system. A distributed system can have several replica groups. The global state management service manages state associated with each replica group. Data replication is implemented without implementing an instance of a state machine on each device in a replica group. A replica group comprises a primary device and at least one secondary device. Each device in a replica group contains a replica of data of interest. The global state management service manages the allocation of primary and secondary devices. In the absence of a failure in either a primary device or a secondary device, read and write operations are performed without consulting the global state management service. When a failure is detected, the global state management service manages failover.
    Type: Application
    Filed: June 27, 2006
    Publication date: December 27, 2007
    Applicant: Microsoft Corporation
    Inventors: William R. Hoffman, Marcus J. Jager, John P. MacCormick, Kristof Roomp, Chandramohan A. Thekkath, Lidong Zhou
  • Patent number: 7283834
    Abstract: An invention is disclosed whereby a wireless network node, equipped with two or more radio transceivers statically tuned to non-interfering frequency channels, can make decisions regarding which channel to use when communicating with a neighboring wireless node. A multi-radio unification protocol implemented in a wireless node coordinates the use of multiple wireless network interface cards and provides a virtual layer that hides the multiple physical network interfaces from higher layers of a node's network protocol stack. The invention is applicable to wireless networks generally, including those in which some nodes do not have multiple radios or do not recognize the multi-radio unification protocol. The invention makes possible simultaneous transmissions using available channels, thereby reducing interference and delay while increasing the overall capacity of the network.
    Type: Grant
    Filed: February 24, 2006
    Date of Patent: October 16, 2007
    Assignee: Microsoft Corporation
    Inventors: Alastair Wolman, Atul Adya, Paramvir Bahl, Jitendra D. Padhye, Lidong Zhou
  • Publication number: 20070160002
    Abstract: An invention is disclosed whereby a wireless network node, equipped with two or more radio transceivers statically tuned to non-interfering frequency channels, can make decisions regarding which channel to use when communicating with a neighboring wireless node. A multi-radio unification protocol implemented in a wireless node coordinates the use of multiple wireless network interface cards and provides a virtual layer that hides the multiple physical network interfaces from higher layers of a node's network protocol stack. The invention is applicable to wireless networks generally, including those in which some nodes do not have multiple radios or do not recognize the multi-radio unification protocol. The invention makes possible simultaneous transmissions using available channels, thereby reducing interference and delay while increasing the overall capacity of the network.
    Type: Application
    Filed: February 23, 2007
    Publication date: July 12, 2007
    Applicant: Microsoft Corporation
    Inventors: Alastair Wolman, Atul Adya, Paramvir Bahl, Jitendra Padhye, Lidong Zhou
  • Publication number: 20070067576
    Abstract: Balanced prefetching automatically balances the benefits of prefetching data that has not been accessed recently against the benefits of caching recently accessed data, and can be applied to most types of structured data without needing application-specific details or hints. Balanced prefetching is performed in applications in a computer system, such as storage-centric applications, including file systems and databases. Balanced prefetching exploits the structure of the data being prefetched, providing superior application throughput. For a fixed amount of memory, it is automatically and dynamically determined how much memory should be devoted to prefetching.
    Type: Application
    Filed: September 19, 2005
    Publication date: March 22, 2007
    Applicant: Microsoft Corporation
    Inventors: Chandramohan Thekkath, John MacCormick, Lidong Zhou, Nicholas Murphy