IP Library Granted Patent US 8,108,612
Granted Patent B2
US 8,108,612 · App. 12/466,390 · Granted Jan 31, 2012

Location updates for a distributed data store

Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,108,612
App. No.
12/466,390
Granted
Jan 31, 2012
Kind
B2
Abstract

Version indicators within an existing range can be associated with a data partition in a distributed data store. A partition reconfiguration can be associated with one of multiple partitions in the data store, and a new version indicator that is outside the existing range can be assigned to the reconfigured partition. Additionally, a broadcast message can be sent to multiple nodes, which can include storage nodes and/or client nodes that are configured to communicate with storage nodes to access data in a distributed data store. The broadcast message can include updated location information for data in the data store. In addition, a response message can be sent to a requesting node of the multiple nodes in response to receiving from that node a message that requests updated location information for the data. The response message can include the requested updated location information.

Claims (46)

1. One or more computer-readable storage media having computer-executable instructions embodied thereon that, when executed, perform acts comprising:

maintaining a plurality of version indicators in a version data structure, the version indicators being within an existing range, and each version indicator being associated with a data partition in a distributed data store;

identifying a partition reconfiguration in the data store, the reconfiguration being associated with a reconfigured partition of a plurality of partitions in the data store; and

assigning a new version indicator that is outside the existing range to the reconfigured partition, so that a new range of version indicators includes the new version indicator.

2. The one or more computer-readable media of claim 1 , wherein the version indicators comprise numbers.

3. The one or more computer-readable media of claim 1 , wherein the version indicators comprise integers.

4. The one or more computer-readable media of claim 1 , wherein the new version indicator has a value that is higher than a highest value of the existing range.

5. The one or more computer-readable media of claim 1 , wherein the data store is a cache.

6. The one or more computer-readable media of claim 1 , wherein the acts further comprise:

using the version indicators to identify recently reconfigured data partitions in the distributed data store; and

sending updated location information for the recently reconfigured data partitions to a plurality of nodes.

7. The one or more computer-readable media of claim 1 , wherein the acts further comprise using the version indicators to identify out-of-date location information at a node and sending to the node updated location information corresponding to the out-of-date location information.

8. The one or more computer-readable media of claim 1 , wherein the acts further comprise:

using the version indicators to identify out-of-date location information at a plurality of client nodes that are configured to communicate with a plurality of storage nodes to access data in the distributed data store; and

sending a broadcast message to the plurality of client nodes, the broadcast message comprising updated location information corresponding to the out-of-date location information.

9. The one or more computer-readable media of claim 1 , wherein the acts further comprise:

receiving from a requesting node a request message that requests updated location information for data in the distributed data store, the request message identifying one or more ranges of version indicators corresponding to location information already stored at the requesting node; and

sending a response message to a requesting node in response to the request message, the response message comprising location information corresponding to version indicators outside the one or more ranges of version indicators identified by the request message.

10. The one or more computer-readable media of claim 1 , wherein the data store is a cache, and the acts further comprise:

using the version indicators to identify out-of-date location information at a plurality of client nodes that are configured to communicate with a plurality of storage nodes to access data in the distributed data store;

sending a broadcast message to the plurality of client nodes, the broadcast message comprising updated location information corresponding to the out-of-date location information;

receiving from a requesting node of the client nodes a request message that requests updated location information for data in the distributed data store, the request message identifying one or more ranges of version indicators corresponding to location information already stored at the requesting node; and

sending a response message to a requesting node in response to the request message, the response message comprising location information corresponding to version indicators outside the one or more ranges of version indicators identified by the request message.

11. A computer-implemented method comprising:

maintaining a plurality of version indicators in a version data structure, the version indicators being within an existing range, and each version indicator being associated with a data partition in a distributed data store;

identifying a partition reconfiguration in the data store, the reconfiguration being associated with a reconfigured partition of a plurality of partitions in the data store; and

assigning a new version indicator that is outside the existing range to the reconfigured partition, so that a new range of version indicators includes the new version indicator.

12. The method of claim 11 , wherein the version indicators comprise numbers.

13. The method of claim 11 , wherein the version indicators comprise integers.

14. The method of claim 11 , wherein the new version indicator has a value that is higher than a highest value of the existing range.

15. The method of claim 11 , wherein the data store is a cache.

16. The method of claim 11 , further comprising:

using the version indicators to identify recently reconfigured data partitions in the distributed data store; and

sending updated location information for the recently reconfigured data partitions to a plurality of nodes.

17. The method of claim 11 , further comprising using the version indicators to identify out-of-date location information at a node and sending to the node updated location information corresponding to the out-of-date location information.

18. The method of claim 11 , further comprising:

using the version indicators to identify out-of-date location information at a plurality of client nodes that are configured to communicate with a plurality of storage nodes to access data in the distributed data store; and

sending a broadcast message to the plurality of client nodes, the broadcast message comprising updated location information corresponding to the out-of-date location information.

19. The method of claim 11 , further comprising:

receiving from a requesting node a request message that requests updated location information for data in the distributed data store, the request message identifying one or more ranges of version indicators corresponding to location information already stored at the requesting node; and

sending a response message to a requesting node in response to the request message, the response message comprising location information corresponding to version indicators outside the one or more ranges of version indicators identified by the request message.

20. The method of claim 11 , wherein the data store is a cache, and the method further comprises:

using the version indicators to identify out-of-date location information at a plurality of client nodes that are configured to communicate with a plurality of storage nodes to access data in the distributed data store;

sending a broadcast message to the plurality of client nodes, the broadcast message comprising updated location information corresponding to the out-of-date location information;

receiving from a requesting node of the client nodes a request message that requests updated location information for data in the distributed data store, the request message identifying one or more ranges of version indicators corresponding to location information already stored at the requesting node; and

sending a response message to a requesting node in response to the request message, the response message comprising location information corresponding to version indicators outside the one or more ranges of version indicators identified by the request message.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2013
From: XUN, LU; ZENG, HUA-JUN; KRISHNAPRASAD, MURALIDHAR; SRIKANTH, RADHAKRISHNAN; AGRAWAL, ANKUR; PAVADAISAMY, BALACHANDAR
To: MICROSOFT CORPORATION
Reel/Frame 030095/0100 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2009
From: XUN, LU; ZENG, HUA-JUN; KRISHNAPRASAD, MURALIDHAR; SRIKANTH, RADHAKRISHNAN
To: MICROSOFT CORPORATION
Reel/Frame 023034/0815 →
Continuity (1)
Related Publication 20100293334A1 · Nov 18, 2010