Patents by Inventor Dahlia Malkhi
Dahlia Malkhi 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).
-
Publication number: 20150244602Abstract: The present invention extends to methods, systems, and computer program products for a joining node to join a ring of nodes within a rendezvous federation. Embodiments of the invention include establishing a neighborhood of multiple nodes on the ring of nodes. The joining node indicates its intent to take id-space ownership for a portion of the id-space between the joining node and a selected immediately adjacent node. The joining node initiates a one-way monitoring relationship with the selected immediately adjacent node. The joining node receiving an indication from the selected immediately adjacent node that indicates acceptance of the joining node's intent to take id-space ownership for a portion of the id-space between the joining node and the selected node and indicates establishment of a one-way monitoring relationship between the selected node and the joining node. The joining node agrees to participate in a one-way monitoring relationship with the selected node.Type: ApplicationFiled: April 8, 2015Publication date: August 27, 2015Inventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
-
Patent number: 8990434Abstract: Embodiments include establishing and maintaining a consistent replica set within the federation infrastructure. A replica set, including a primary node and secondary nodes, is established from among nodes in a ring of nodes. An occurrence of a replica set configuration event affecting at least one of the replica set members is indicated. Based on the indication and based on a type of the replica set configuration event, it is determined that the replica set is to be reconfigured. The replica set is reconfigured according to a reconfiguration appropriate for the type of the replica set configuration event.Type: GrantFiled: August 30, 2011Date of Patent: March 24, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
-
Patent number: 8738724Abstract: Computers are provided with a totally ordered, durable shared log. Shared storage is used and can be directly accessed by the computers over a network. Append-log operations are made atomic in the face of failures by committing provisional append ordering information onto a log. The log may comprise multiple flash packages or non-volatile memory devices, referred to as segments, although any shared storage device(s) may be used. Each log record is a multi-page stripe, where each page of a stripe is written to a different segment. Fault-tolerant protocol variants append stripes to the log, such that stripes are totally ordered in the log and each stripe is written atomically.Type: GrantFiled: May 25, 2010Date of Patent: May 27, 2014Assignee: Microsoft CorporationInventors: Philip A. Bernstein, Dahlia Malkhi, Colin Wilson Reid, Mahesh Balakrishnan
-
Patent number: 8560630Abstract: 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: GrantFiled: February 28, 2007Date of Patent: October 15, 2013Assignee: Microsoft CorporationInventors: Dahlia Malkhi, Lidong Zhou, Yaacov Fernandess
-
Publication number: 20130179487Abstract: A “Stochastic Clustering-Based Network Generator” enables rapid formation of an interconnected hierarchical network structure from an arbitrary number of agents via an iterative turn-based coalescence process. Given N agents wishing to coalesce into one hierarchical network, a turn-based process allows each agent (or the head of each hierarchical cluster of agents), to randomly decide whether to issue or listen for merge requests in each round. Issuing a request amounts to contacting a randomly chosen agent with a merge request. Given multiple received requests, a cluster head will randomly accept one request for a merge received by any agent in that cluster. The requesting cluster then merges as a hierarchical child of the accepting cluster. In a related embodiment, given multiple merge requests, the request from the smallest cluster is accepted. In further embodiments, ties of the smallest cluster size are broken based on various options.Type: ApplicationFiled: January 10, 2012Publication date: July 11, 2013Applicant: MICROSOFT CORPORATIONInventors: Eyal Lubetzky, Yuval Peres, Dahlia Malkhi, Po-Shen Loh
-
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
-
Publication number: 20120036237Abstract: A primary node is elected from among a plurality of nodes in a replica set of nodes. The primary node accepts and processes client data access requests. The replica set includes the primary node and other secondary nodes. The primary node receives client data access requests and assigns a data sequence number to each client data access request that mutates state in the order the client data access requests are received. The data sequence numbers include a linearized processing order that is followed by each of the nodes in the replica set. The primary node sends the mutating client data access requests including any corresponding data sequence numbers to the secondary nodes. The primary node receives, from a threshold number of secondary nodes, an acknowledgement indicating reception of the client data access request. The primary node commits the data mutating access request.Type: ApplicationFiled: August 30, 2011Publication date: February 9, 2012Applicant: Microsoft CorporationInventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
-
Patent number: 8090880Abstract: In some embodiments, it is determined that a primary node has been elected from among a plurality of nodes in a replica set of nodes. The primary node accepts and processes client data access requests. The replica set includes the primary node and other secondary nodes. The primary node receives client data access requests. The primary node assigns a data sequence number to each client data access request that mutates state in the order the client data access requests are received. The data sequence numbers include a linearized processing order that is to be followed by each of the nodes in the replica set. The primary node sends the mutating client data access requests including any corresponding data sequence numbers to the secondary nodes. The primary node receives, from a threshold number of secondary nodes, an acknowledgement indicating reception of the client data access request. The primary node commits the data mutating access request.Type: GrantFiled: November 7, 2007Date of Patent: January 3, 2012Assignee: Microsoft CorporationInventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
-
Publication number: 20110295969Abstract: Computers are provided with a totally ordered, durable shared log. Shared storage is used and can be directly accessed by the computers over a network. Append-log operations are made atomic in the face of failures by committing provisional append ordering information onto a log. The log may comprise multiple flash packages or non-volatile memory devices, referred to as segments, although any shared storage device(s) may be used. Each log record is a multi-page stripe, where each page of a stripe is written to a different segment. Fault-tolerant protocol variants append stripes to the log, such that stripes are totally ordered in the log and each stripe is written atomically.Type: ApplicationFiled: May 25, 2010Publication date: December 1, 2011Applicant: MICROSOFT CORPORATIONInventors: Philip A. Bernstein, Dahlia Malkhi, Colin Wilson Reid, Mahesh Balakrishnan
-
Patent number: 7958262Abstract: The present invention extends to methods, systems, and computer program products for allocating and reclaiming resources within a rendezvous federation. Embodiments of the invention include formulating and routing messages in accordance with cached two-way agreements between adjacent nodes on a ring of nodes. Cached two-way agreements divide responsibility for at least unoccupied identifiers between the adjacent nodes on a ring. When a message is received at a node, the node can refer to a cached two-way agreement to determine if it or an adjacent node is responsible for the message. The node then sends the message to the next appropriate component in accordance with the cached two-way agreement.Type: GrantFiled: May 22, 2007Date of Patent: June 7, 2011Assignee: Microsoft CorporationInventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
-
Publication number: 20110082928Abstract: The present invention extends to methods, systems, and computer program products for a joining node to join a ring of nodes within a rendezvous federation. Embodiments of the invention include establishing a neighborhood of multiple nodes on the ring of nodes. The joining node indicates its intent to take id-space ownership for a portion of the id-space between the joining node and a selected immediately adjacent node. The joining node initiates a one-way monitoring relationship with the selected immediately adjacent node. The joining node receiving an indication from the selected immediately adjacent node that indicates acceptance of the joining node's intent to take id-space ownership for a portion of the id-space between the joining node and the selected node and indicates establishment of a one-way monitoring relationship between the selected node and the joining node. The joining node agrees to participate in a one-way monitoring relationship with the selected node.Type: ApplicationFiled: October 19, 2010Publication date: April 7, 2011Applicant: MICROSOFT CORPORATIONInventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
-
Patent number: 7849223Abstract: 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: GrantFiled: December 7, 2007Date of Patent: December 7, 2010Assignee: Microsoft CorporationInventors: Dahlia Malkhi, Leslie B. Lamport, Lidong Zhou
-
Publication number: 20100242055Abstract: A remote procedure call chain is provided that replaces multiple consecutive remote procedure calls to multiple servers from a client by allowing a client to specify multiple functions to be performed consecutively at multiple servers in a single remote procedure call chain. The remote procedure call chain is executed by a sequence of multiple servers. Each server executes a service function and a chaining function of the remote procedure call chain. The chaining function uses the state of the remote procedure call chain in the sequence of servers to determine the next server to receive the remote procedure call chain, and the service function to be executed by that server. After the last service function is performed, the last server in the sequence of servers sends the results of the executed service functions to the client that originated the remote procedure call chain.Type: ApplicationFiled: March 17, 2009Publication date: September 23, 2010Applicant: Microsoft CorporationInventors: Marcos K. Aguilera, Dahlia Malkhi, Ramakrishna R. Kotla, Yee Jiun Song
-
Patent number: 7694167Abstract: The present invention extends to methods, systems, and computer program products for appropriately detecting node failures in a rendezvous federation. A monitor node monitors a subject node. The subject node intermittently renews a time-to-live duration value with the monitor node to indicate the monitor node that the subject node has not failed. In some embodiments, each node in a pair of nodes monitors the other nodes in the pair of nodes. Thus, each node is a subject node and a monitor node. In further embodiments, an arbitration facility arbitrates failure reports.Type: GrantFiled: October 13, 2006Date of Patent: April 6, 2010Assignee: Microsoft CorporationInventors: Gopala Krishna R. Kakivaya, Richard L. Hasha, Lu Xun, Dahlia Malkhi
-
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
-
Publication number: 20090150566Abstract: 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: ApplicationFiled: December 7, 2007Publication date: June 11, 2009Applicant: MICROSOFT CORPORATIONInventors: Dahlia Malkhi, Leslie B. Lamport, Lidong Zhou
-
Publication number: 20080304421Abstract: A prediction tree for estimating values of a network performance measure. Leaf nodes of the prediction tree are associated with networked computing devices and interior nodes are not necessarily representative of physical network connections. Values are assigned to edges in the prediction tree and the network performance measure relative to two computing devices represented by two nodes of the tree is estimated by aggregating the values assigned to the edges in the path in the prediction tree joining the two edges. Mechanisms for adding nodes representing computing devices to the prediction tree, for identifying a closest node representing a computing device in the prediction tree, for identifying a cluster of devices represented by nodes of the tree, and for rebalancing the prediction tree are provided.Type: ApplicationFiled: June 7, 2007Publication date: December 11, 2008Applicant: Microsoft CorporationInventors: Venugopalan Saraswati Ramasubramanian, Dahlia Malkhi, Mahesh Balakrishnan, Fabian Daniel Kuhn, Ittai Abraham
-
Publication number: 20080288646Abstract: In some embodiments, it is determined that a primary node has been elected from among a plurality of nodes in a replica set of nodes. The primary node accepts and processes client data access requests. The replica set includes the primary node and other secondary nodes. The primary node receives client data access requests. The primary node assigns a data sequence number to each client data access request that mutates state in the order the client data access requests are received. The data sequence numbers include a linearized processing order that is to be followed by each of the nodes in the replica set. The primary node sends the mutating client data access requests including any corresponding data sequence numbers to the secondary nodes. The primary node receives, from a threshold number of secondary nodes, an acknowledgement indicating reception of the client data access request. The primary node commits the data mutating access request.Type: ApplicationFiled: November 7, 2007Publication date: November 20, 2008Applicant: Microsoft CorporationInventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
-
Publication number: 20080288659Abstract: The present invention extends to methods, systems, and computer program products for a joining node to join a ring of nodes within a rendezvous federation. Embodiments include detecting a neighborhood of nodes on the ring of nodes. The joining node indicates its intent to take id-space ownership for a portion of the id-space between the joining node and a selected immediately adjacent node. The joining node indicates an intent to monitor the selected node. The joining node receives three indications, the first indicating acceptance of the joining node's intent to take id-space ownership for a portion of the id-space between the joining node and the selected node, the second indicating acceptance of the joining node's intent to monitor the selected node, the third indicating the first selected node's intent to monitor the joining node. The joining node indicates acceptance of the selected node's intent to monitor the joining node.Type: ApplicationFiled: November 7, 2007Publication date: November 20, 2008Applicant: Microsoft CorporationInventors: Richard L. Hasha, Lu Xun, Gopala Krishna R. Kakivaya, Dahlia Malkhi
-
Publication number: 20080209523Abstract: 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: ApplicationFiled: February 28, 2007Publication date: August 28, 2008Applicant: MICROSOFT CORPORATIONInventors: Dahlia Malkhi, Lidong Zhou, Yaacov Fernandess