IP Library Granted Patent US 9,602,615
Granted Patent B2
US 9,602,615 · App. 14/061,515 · Granted Mar 21, 2017

Masterless cache replication

Inventors: Amarjit Luwang Thiyam (Bangalore, IN); Saurabh Singla (Bangalore, IN)
Assignee: EXCALIBUR IP, LLC
H04L67/2842G06F12/0815G06F2212/264G06F2212/284
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 9,602,615
App. No.
14/061,515
Granted
Mar 21, 2017
Kind
B2
Abstract

In an example of masterless cache replication, a processor of a server of a plurality of servers hosting a distributed application can receive a local cache event for a local data item stored in an application cache of the server. The processor can determine whether the local cache event is from another server. The processor can also determine whether a remote cache event of the other server is different from the local cache event and whether the local cache event is in conflict with at least one other cache event for the local data item. The processor can also determine whether the local cache event has a higher priority over the at least one other cache event and direct performance of the local cache event amongst the plurality of servers.

Claims (18)

1. A system operable in a first datacenter among a plurality of datacenters, the system comprising:

memory that includes an application cache and instructions for masterless cache replication; and

a processor, the processor communicatively coupled to the memory and configured to execute the instructions to:

receive a local cache event for a local data item associated with a distributed application, the data item stored in the application cache;

determine whether the local cache event originated from a remote computer;

where the local cache event originated from the remote computer, determine whether a remote cache event for a corresponding remote data item at a remote cache of the remote computer is different from the local cache event; and

where the remote cache event is different from the local cache event:

determine whether the local cache event is in conflict with at least one other cache event for the local data item;

where the local cache event is in conflict with at least one other cache event for the local data item, determine whether the local cache event has a higher priority over the at least one other cache event, respective priorities of the local cache event and the at least one other cache event being independent of time associated with the local cache event and time associated with the at least one other cache event; and

where the local cache event has the higher priority over the at least one other cache event: perform an operation of the local cache event at the application cache; and

direct the remote computer to perform the operation of the local cache event at the remote cache, wherein the performance of the operation of the local cache event at the remote cache is synchronous with the performance of the operation of the local event cache at the application cache where processor and the remote computer are installed in a same datacenter of the plurality of data centers, and

wherein the performance of the operation of the local cache event at the remote cache is asynchronous with the performance of the operation of the local cache event at the application cache where the processor and the remote computer are installed at different datacenters of the plurality of datacenters.

2. The system of claim 1 , wherein the local cache event includes an identification, and the identification is derived from at least one of: a respective source of the local cache event, a respective cache key, at least part of respective cached data, a respective operation type of the local cache event, a predetermined priority of the local cache event, and a time associated with the local cache event.

3. The system of claim 2 , wherein the determination of whether the local cache event is from the remote computer is according to the identification.

4. The system of claim 1 , wherein each respective datacenter includes a load balancer configured to direct a server within the each respective datacenter to facilitate synchronous replication of cache events amongst computers of the each respective datacenter communicatively coupled to the load balancer.

5. The system of claim 1 , wherein the determination of whether the local cache event has a higher priority over the at least one other cache event further includes a determination of whether the local cache event includes an operation having a higher operation priority over an operation of the at least one other cache event.

6. The system of claim 5 , wherein the determination of whether the local cache event has a higher priority over the at least one other cache event further includes a determination of whether the local cache event is more recent than the at least one other cache event, where the operations associated with the local cache event and the at least one other cache event have a same operation priority.

7. The system of claim 1 , wherein the determination of whether the local cache event has a higher priority over the at least one other cache event includes a determination of whether the local cache event is more recent than the at least one other cache event.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2021
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 055283/0483 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2013
From: THIYAM, AMARJIT LUWANG; SINGLA, SAURABH
To: YAHOO! INC.
Reel/Frame 031513/0357 →
Continuity (1)
Related Publication 20150113091A1 · Apr 23, 2015