Patents by Inventor Shiding Lin

Shiding Lin 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: 8190703
    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: Grant
    Filed: April 23, 2008
    Date of Patent: May 29, 2012
    Assignee: Microsoft Corporation
    Inventors: Shiding Lin, Lidong Zhou, Chandramohan A. Thekkath, Dahlia Malkhi, Zheng Zhang
  • Patent number: 8010514
    Abstract: An improved system and method for flexible object placement and soft-state indexing of objects in a distributed object store is provided. A distributed object store may be provided by a large number of system nodes operably coupled to a network. A system node provided may include an access module for communicating with a client, an index module for building an index of a replicated data object, a data module for storing a data object on a computer readable medium, and a membership and routing module for detecting the configuration of operable nodes in the distributed system. Upon failure of an index node, the failure may be detected at other nodes, including those nodes that store the replicas of the object. These nodes may then send new index rebuilding requests to a different node that may rebuild the index for servicing any access request to the object.
    Type: Grant
    Filed: August 12, 2010
    Date of Patent: August 30, 2011
    Assignee: Microsoft Corporation
    Inventors: Zheng Zhang, Wei Chen, Yu Chen, Chao Jin, Dan Teodosiu, Qiao Lian, Shiding Lin
  • Patent number: 7865911
    Abstract: Hybrid programming combines certain aspects of the synchronous calling nature of a thread-oriented programming model with certain aspects of the asynchronous calling nature of an event-oriented programming model by creating parallelized calls. In a described implementation, multiple synchronous calls are transformed into multiple asynchronous calls and encapsulated within a barrier time period. A hybrid programming model or protocol may be employed, for example, in conjunction with communication exchanges in a multiple-phase and multiple-party distributed programming environment.
    Type: Grant
    Filed: November 8, 2005
    Date of Patent: January 4, 2011
    Assignee: Microsoft Corporation
    Inventors: Shiding Lin, Zhenyu Guo, Zheng Zhang
  • Publication number: 20100325476
    Abstract: An improved system and method for flexible object placement and soft-state indexing of objects in a distributed object store is provided. A distributed object store may be provided by a large number of system nodes operably coupled to a network. A system node provided may include an access module for communicating with a client, an index module for building an index of a replicated data object, a data module for storing a data object on a computer readable medium, and a membership and routing module for detecting the configuration of operable nodes in the distributed system. Upon failure of an index node, the failure may be detected at other nodes, including those nodes that store the replicas of the object. These nodes may then send new index rebuilding requests to a different node that may rebuild the index for servicing any access request to the object.
    Type: Application
    Filed: August 12, 2010
    Publication date: December 23, 2010
    Applicant: Microsoft Corporation
    Inventors: Zheng Zhang, Wei Chen, Yu Chen, Chao Jin, Dan Teodosiu, Qiao Lian, Shiding Lin
  • Patent number: 7778984
    Abstract: An improved system and method for flexible object placement and soft-state indexing of objects in a distributed object store is provided. A distributed object store may be provided by a large number of system nodes operably coupled to a network. A system node provided may include an access module for communicating with a client, an index module for building an index of a replicated data object, a data module for storing a data object on a computer readable medium, and a membership and routing module for detecting the configuration of operable nodes in the distributed system. Upon failure of an index node, the failure may be detected at other nodes, including those nodes that store the replicas of the object. These nodes may then send new index rebuilding requests to a different node that may rebuild the index for servicing any access request to the object.
    Type: Grant
    Filed: November 19, 2004
    Date of Patent: August 17, 2010
    Assignee: Microsoft Corporation
    Inventors: Zheng Zhang, Wei Chen, Yu Chen, Chao Jin, Dan Teodosiu, Qiao Lian, Shiding Lin
  • 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: 7590519
    Abstract: Distributed system simulation is enhanced by extending the simulation window. In a described implementation, the simulation window extension is facilitated with a slow message relaxation scheme. For example, especially when the simulation window is extended, slow unscheduled events can arrive at a logical process with a timestamp that is prior to (e.g., less than) the local time of a receiving logical process that is participating in a simulation. To ameliorate issues created by a slow unscheduled message and its corresponding slow unscheduled event, a current logical time of the receiving logical process is substituted for the original timestamp of the slow unscheduled event to transform it into a punctual unscheduled event.
    Type: Grant
    Filed: November 8, 2005
    Date of Patent: September 15, 2009
    Assignee: Microsoft Corporation
    Inventors: Shiding Lin, Aimin Pan, Rui Guo, Zheng Zhang
  • Patent number: 7536426
    Abstract: Described is the differentiation of replicas in a large distributed object store as either being smoothing replicas based on an amount of load on storage nodes (bricks), or as spreading replicas based on a substantially random distribution among the system's bricks. The smoothing replicas are placed among the lowest usage bricks, while the spreading replicas are placed randomly throughout other bricks in the system independent of load. As a result, fast, primarily parallel data repair is facilitated by selecting a spreading replica when repair is needed, while load balancing is facilitated by placing a smoothing replica on a low-usage brick when a new replica is checked in, and selecting a smoothing replica when load balancing is triggered by overloading of a brick and/or addition of a new brick. Check-in, data repair and load balancing policies specify how to use smoothing replicas and spreading replicas.
    Type: Grant
    Filed: July 29, 2005
    Date of Patent: May 19, 2009
    Assignee: Microsoft Corporation
    Inventors: Wei Chen, Chao Jin, Dan Teodosiu, Qiao Lian, Shiding Lin, Yu Chen, Zheng Zhang
  • Patent number: 7526672
    Abstract: Mutual exclusion techniques for use in a dynamic peer-to-peer environment are described. In an implementation, a method includes receiving, at each of a plurality of logical replicas, a request from a client. Each of the logical replicas includes a queue and is for exclusive association with one of the clients. The request is for accessing one of a plurality of resources. When a particular one of the logical replicas is exclusively associated with another one of the clients, the request is stored in the queue of the particular logical replica.
    Type: Grant
    Filed: July 8, 2004
    Date of Patent: April 28, 2009
    Assignee: Microsoft Corporation
    Inventors: Shiding Lin, Qiao Lian, Zheng Zhang
  • Patent number: 7418454
    Abstract: A data overlay is built as a data structure on a logical space defined by a distributed hash table (DHT) in a peer-to-peer network. The data overlay includes a tree having tree nodes that each have a zone mapped to a corresponding DHT node in the logical space of the DHT. The logical space of the DHT is mapped to machines, each of which corresponds to one or more of more of the tree node zones. The tree nodes are hierarchically situated by tree node zone size and my available resource so that tasks are performed by machines in the peer-to-peer network according to the respective abilities of the machines to supply the tasks' demand. The tree, which self-organizes and self-heals on the same scale as the underlying DHT, is used together and disseminate information from and to the DHT nodes using the hierarchy of the tree nodes.
    Type: Grant
    Filed: April 16, 2004
    Date of Patent: August 26, 2008
    Assignee: Microsoft Corporation
    Inventors: Yu Chen, Zheng Zhang, Xing Xie, Shiding Lin
  • Publication number: 20070130219
    Abstract: The traversal of runtime spanning trees is facilitated in a distributed operational environment. Distributed traversal of runtime spanning trees may be implemented in different scenarios. However, by way of example only, distributed traversal of runtime spanning trees is described herein primarily in the context of a distributed system simulation scenario. Ensuring that each unscheduled event is processed within a simulation round (i.e., within a quantum barrier) in which it is created is especially challenging when executing an operation (e.g., performing a simulation) with a distributed apparatus. To address this challenge, unscheduled events are set to correspond to event nodes in a tree. Parent events that beget child events are assigned token values. The token value of a parent event is split and assigned to its child events such that a runtime spanning tree may be distributively traversed by summing the token values of leaf nodes of the spanning tree.
    Type: Application
    Filed: November 8, 2005
    Publication date: June 7, 2007
    Applicant: Microsoft Corporation
    Inventors: Shiding Lin, Rui Guo, Zheng Zhang
  • Publication number: 20070129928
    Abstract: Distributed system simulation is enhanced by extending the simulation window. In a described implementation, the simulation window extension is facilitated with a slow message relaxation scheme. For example, especially when the simulation window is extended, slow unscheduled events can arrive at a logical process with a timestamp that is prior to (e.g., less than) the local time of a receiving logical process that is participating in a simulation. To ameliorate issues created by a slow unscheduled message and its corresponding slow unscheduled event, a current logical time of the receiving logical process is substituted for the original timestamp of the slow unscheduled event to transform it into a punctual unscheduled event.
    Type: Application
    Filed: November 8, 2005
    Publication date: June 7, 2007
    Applicant: Microsoft Corporation
    Inventors: Shiding Lin, Aimin Pan, Rui Guo, Zheng Zhang
  • Publication number: 20070106997
    Abstract: Hybrid programming combines certain aspects of the synchronous calling nature of a thread-oriented programming model with certain aspects of the asynchronous calling nature of an event-oriented programming model by creating parallelized calls. In a described implementation, multiple synchronous calls are transformed into multiple asynchronous calls and encapsulated within a barrier time period. A hybrid programming model or protocol may be employed, for example, in conjunction with communication exchanges in a multiple-phase and multiple-party distributed programming environment.
    Type: Application
    Filed: November 8, 2005
    Publication date: May 10, 2007
    Applicant: Microsoft Corporation
    Inventors: Shiding Lin, Zhenyu Guo, Zheng Zhang
  • Publication number: 20070027916
    Abstract: Described is the differentiation of replicas in a large distributed object store as either being smoothing replicas based on an amount of load on storage nodes (bricks), or as spreading replicas based on a substantially random distribution among the system's bricks. The smoothing replicas are placed among the lowest usage bricks, while the spreading replicas are placed randomly throughout other bricks in the system independent of load. As a result, fast, primarily parallel data repair is facilitated by selecting a spreading replica when repair is needed, while load balancing is facilitated by placing a smoothing replica on a low-usage brick when a new replica is checked in, and selecting a smoothing replica when load balancing is triggered by overloading of a brick and/or addition of a new brick. Check-in, data repair and load balancing policies specify how to use smoothing replicas and spreading replicas.
    Type: Application
    Filed: July 29, 2005
    Publication date: February 1, 2007
    Applicant: Microsoft Corporation
    Inventors: Wei Chen, Chao Jin, Dan Teodosiu, Qiao Lian, Shiding Lin, Yu Chen, Zheng Zhang
  • Publication number: 20060168154
    Abstract: An improved system and method for flexible object placement and soft-state indexing of objects in a distributed object store is provided. A distributed object store may be provided by a large number of system nodes operably coupled to a network. A system node provided may include an access module for communicating with a client, an index module for building an index of a replicated data object, a data module for storing a data object on a computer readable medium, and a membership and routing module for detecting the configuration of operable nodes in the distributed system. Upon failure of an index node, the failure may be detected at other nodes, including those nodes that store the replicas of the object. These nodes may then send new index rebuilding requests to a different node that may rebuild the index for servicing any access request to the object.
    Type: Application
    Filed: November 19, 2004
    Publication date: July 27, 2006
    Applicant: Microsoft Corporation
    Inventors: Zheng Zhang, Wei Chen, Yu Chen, Chao Jin, Dan Teodosiu, Qiao Lian, Shiding Lin
  • Publication number: 20050243740
    Abstract: A data overlay is built as a data structure on a logical space defined by a distributed hash table (DHT) in a peer-to-peer network. The data overlay includes a tree having tree nodes that each have a zone mapped to a corresponding DHT node in the logical space of the DHT. The logical space of the DHT is mapped to machines, each of which corresponds to one or more of more of the tree node zones. The tree nodes are hierarchically situated by tree node zone size and my available resource so that tasks are performed by machines in the peer-to-peer network according to the respective abilities of the machines to supply the tasks' demand. The tree, which self-organizes and self-heals on the same scale as the underlying DHT, is used together and disseminate information from and to the DHT nodes using the hierarchy of the tree nodes.
    Type: Application
    Filed: April 16, 2004
    Publication date: November 3, 2005
    Inventors: Yu Chen, Zheng Zhang, Xing Xie, Shiding Lin
  • Publication number: 20050188085
    Abstract: Mutual exclusion techniques for use in a dynamic peer-to-peer environment are described. In an implementation, a method includes receiving, at each of a plurality of logical replicas, a request from a client. Each of the logical replicas includes a queue and is for exclusive association with one of the clients. The request is for accessing one of a plurality of resources. When a particular one of the logical replicas is exclusively associated with another one of the clients, the request is stored in the queue of the particular logical replica.
    Type: Application
    Filed: July 8, 2004
    Publication date: August 25, 2005
    Applicant: Microsoft Corporation
    Inventors: Shiding Lin, Qiao Lian, Zheng Zhang