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: 8190703Abstract: 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: GrantFiled: April 23, 2008Date of Patent: May 29, 2012Assignee: Microsoft CorporationInventors: Shiding Lin, Lidong Zhou, Chandramohan A. Thekkath, Dahlia Malkhi, Zheng Zhang
-
Patent number: 8010514Abstract: 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: GrantFiled: August 12, 2010Date of Patent: August 30, 2011Assignee: Microsoft CorporationInventors: Zheng Zhang, Wei Chen, Yu Chen, Chao Jin, Dan Teodosiu, Qiao Lian, Shiding Lin
-
Patent number: 7865911Abstract: 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: GrantFiled: November 8, 2005Date of Patent: January 4, 2011Assignee: Microsoft CorporationInventors: Shiding Lin, Zhenyu Guo, Zheng Zhang
-
Publication number: 20100325476Abstract: 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: ApplicationFiled: August 12, 2010Publication date: December 23, 2010Applicant: Microsoft CorporationInventors: Zheng Zhang, Wei Chen, Yu Chen, Chao Jin, Dan Teodosiu, Qiao Lian, Shiding Lin
-
Patent number: 7778984Abstract: 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: GrantFiled: November 19, 2004Date of Patent: August 17, 2010Assignee: Microsoft CorporationInventors: Zheng Zhang, Wei Chen, Yu Chen, Chao Jin, Dan Teodosiu, Qiao Lian, Shiding Lin
-
Publication number: 20090271707Abstract: 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: ApplicationFiled: April 23, 2008Publication date: October 29, 2009Applicant: MICROSOFT CORPORATIONInventors: Shiding Lin, Lidong Zhou, Chandramohan A. Thekkath, Dahlia Malkhi, Zheng Zhang
-
Patent number: 7590519Abstract: 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: GrantFiled: November 8, 2005Date of Patent: September 15, 2009Assignee: Microsoft CorporationInventors: Shiding Lin, Aimin Pan, Rui Guo, Zheng Zhang
-
Patent number: 7536426Abstract: 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: GrantFiled: July 29, 2005Date of Patent: May 19, 2009Assignee: Microsoft CorporationInventors: Wei Chen, Chao Jin, Dan Teodosiu, Qiao Lian, Shiding Lin, Yu Chen, Zheng Zhang
-
Patent number: 7526672Abstract: 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: GrantFiled: July 8, 2004Date of Patent: April 28, 2009Assignee: Microsoft CorporationInventors: Shiding Lin, Qiao Lian, Zheng Zhang
-
Patent number: 7418454Abstract: 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: GrantFiled: April 16, 2004Date of Patent: August 26, 2008Assignee: Microsoft CorporationInventors: Yu Chen, Zheng Zhang, Xing Xie, Shiding Lin
-
Publication number: 20070130219Abstract: 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: ApplicationFiled: November 8, 2005Publication date: June 7, 2007Applicant: Microsoft CorporationInventors: Shiding Lin, Rui Guo, Zheng Zhang
-
Publication number: 20070129928Abstract: 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: ApplicationFiled: November 8, 2005Publication date: June 7, 2007Applicant: Microsoft CorporationInventors: Shiding Lin, Aimin Pan, Rui Guo, Zheng Zhang
-
Publication number: 20070106997Abstract: 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: ApplicationFiled: November 8, 2005Publication date: May 10, 2007Applicant: Microsoft CorporationInventors: Shiding Lin, Zhenyu Guo, Zheng Zhang
-
Publication number: 20070027916Abstract: 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: ApplicationFiled: July 29, 2005Publication date: February 1, 2007Applicant: Microsoft CorporationInventors: Wei Chen, Chao Jin, Dan Teodosiu, Qiao Lian, Shiding Lin, Yu Chen, Zheng Zhang
-
Publication number: 20060168154Abstract: 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: ApplicationFiled: November 19, 2004Publication date: July 27, 2006Applicant: Microsoft CorporationInventors: Zheng Zhang, Wei Chen, Yu Chen, Chao Jin, Dan Teodosiu, Qiao Lian, Shiding Lin
-
Publication number: 20050243740Abstract: 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: ApplicationFiled: April 16, 2004Publication date: November 3, 2005Inventors: Yu Chen, Zheng Zhang, Xing Xie, Shiding Lin
-
Publication number: 20050188085Abstract: 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: ApplicationFiled: July 8, 2004Publication date: August 25, 2005Applicant: Microsoft CorporationInventors: Shiding Lin, Qiao Lian, Zheng Zhang