IP Library Patent Application 14338211
Patent Application
App. No. 14/338,211

WATERWHEEL SHARDING

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 None
App. No.
14/338,211
Abstract

Techniques for partitioning a database are described. Consistent with some embodiments, a technique may include maintaining a plurality of database instances, the plurality of database instances having a first partition and a second partition. Additionally, the method may include assigning first invitations to the first partition and existing invitations to the second partition. The first invitations can be created after a first date. The existing invitations can be created before the first date and after a second date, and where the second date occurred before the first date. Furthermore, the method may include archiving old invitations, the old invitations being created before the second date. Subsequently, the method may include receiving an invitation request and requesting invitation information associated with the invitation request, the invitation request having at least one of an invitee identifier, an inviter identifier, and a unique identifier.

Claims (68)

1 . A method comprising:

maintaining a plurality of database instances, the plurality of database instances having a first partition and a second partition;

assigning, using an invitation module, first invitations to the first partition, the first invitations being created after a first date;

assigning existing invitations to the second partition, the existing invitations being created before the first date and after a second date, and wherein the second date occurred before the first date;

archiving old invitations, the old invitations being created before the second date;

receiving, using a network interface device, an invitation request, the invitation request having at least one of an invitee identifier, an inviter identifier, and a unique identifier;

requesting invitation information associated with the invitation request from the first partition and the second partition using at least one of the invitee identifier, the inviter identifier, and the unique identifier; and

receiving the requested invitation information.

2 . The method of claim 1 , further comprising:

creating a new partition in the plurality of database instances after a threshold amount of time has elapsed since the first date;

archiving the existing invitations from the second partition; and

storing newly created invitations in the new partition, the newly created invitations being created after the threshold amount of time has elapsed since the first date.

3 . The method of claim 1 , further comprising:

creating a new partition in the plurality of database instances after a threshold amount of time has elapsed since the first date;

deleting the existing invitations from the second partition; and

storing newly created invitations in the new partition, the newly created invitations being created after the threshold amount of time has elapsed since the first date.

4 . The method of claim 1 , further comprising:

establishing a connection between an invitee and an inviter in response to an acceptance of the invitation request by the invitee; and

updating the invitation information stored in either the first partition or the second partition to include the acceptance of the invitation request by the invitee.

5 . The method of claim 1 , further comprising:

archiving the invitation information stored in either the first partition or the second partition in response to an inviter withdrawing the invitation request.

6 . The method of claim 1 , further comprising:

in response to a rejection to the invitation request by an invitee, updating the invitation information stored in either the first partition or the second partition to include the rejection of the invitation request by the invitee.

7 . The method of claim 1 , further comprising:

in response to an ignore request by an invitee to the invitation request, updating the invitation information stored in either the first partition or the second partition to include the ignore request by the invitee.

8 . The method of claim 1 , wherein the invitation module has read permissions, update permissions and write permissions in the first partition.

9 . The method of claim 1 , wherein the invitation module has read permissions and update permissions in the second partition.

10 . The method of claim 1 , wherein the plurality of database instances are online, and old invitations that are archived are taken offline.

11 . A system comprising:

one or more processors;

an invitation module configured to:

maintain a plurality of database instances, the plurality of database instances having a first partition and a second partition;

assign first invitations to the first partition, the first invitations being created after a first date;

assign existing invitations to the second partition, the existing invitations being created before the first date and after a second date, and wherein the second date occurred before the first date;

archive old invitations, the old invitations being created before the second date;

a network interface configured to:

receive an invitation request, the invitation request having at least one of an invitee identifier, an inviter identifier, and a unique identifier;

request invitation information associated with the invitation request from the first partition and the second partition using at least one of the invitee identifier, the inviter identifier, and the unique identifier; and

receive the requested invitation information.

12 . The system of claim 11 , wherein after a threshold amount of time has elapsed since the first date, the invitation module is further configured to:

create a new partition in the plurality of database instances;

archive the existing invitations from the second partition; and

store newly created invitations in the new partition, the newly created invitations being created after the threshold amount of time has elapsed since the first date.

13 . The system of claim 11 , wherein after a threshold amount of time has elapsed since the first date, the invitation module is further configured to:

create a new partition in the plurality of database instances;

delete the existing invitations from the second partition; and

store newly created invitations in the new partition, the newly created invitations being created after the threshold amount of time has elapsed since the first date.

14 . The system of claim 1 , wherein in response to an acceptance of the invitation request by an invitee, the invitation module is further configured to:

establish a connection between the invitee and an inviter; and

update the invitation information stored in either the first partition or the second partition to include the acceptance of the invitation request by the invitee.

15 . The system of claim 11 , wherein the invitation module is further configured to:

archive the invitation information stored in either the first partition or the second partition in response to an inviter withdrawing the invitation request.

16 . The system of claim 11 , wherein in response to an ignore request by an invitee to the invitation request, the invitation module is further configured to:

update the invitation information stored in either the first partition or the second partition to include the ignore request by the invitee.

17 . The system of claim 11 , wherein the invitation module has read permissions, update permissions and write permissions in the first partition.

18 . The system of claim 11 , wherein the invitation module has read permissions and update permissions in the second partition.

19 . A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

maintaining a plurality of database instances, the plurality of database instances having a first partition and a second partition;

assigning first invitations to the first partition, the first invitations being created after a first date;

assigning existing invitations to the second partition, the existing invitations being created before the first date and after a second date, and wherein the second date occurred before the first date;

archiving old invitations, the old invitations being created before the second date;

receiving an invitation request, the invitation request having at least one of an invitee identifier, an inviter identifier, and a unique identifier;

requesting invitation information associated with the invitation request from the first partition and the second partition using at least one of the invitee identifier, the inviter identifier, and the unique identifier; and

receiving the requested invitation information.

20 . The non-transitory machine-readable storage medium of claim 19 , further comprising instructions that cause the machine to perform operations comprising:

creating a new partition in the plurality of database instances after a threshold amount of time has elapsed since the first date;

archiving the existing invitations from the second partition; and

storing newly created invitations in the new partition, the newly created invitations being created after the threshold amount of time has elapsed since the first date.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2014
From: VYAS, NISHANT; WOODHAMS, NATHAN C.; CHEN, JAMES
To: LINKEDIN CORPORATION
Reel/Frame 033367/0509 →