# US 9,438,688 B1 · System and method for LUN and cache management

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,438,688 B1
- Document ID: US9438688B1
- Status: Granted
- Kind: B1
- Application number: 14/860,935
- Filed: 2015-09-22
- Granted: 2016-09-06
- Earliest claimed: 2012-12-28
- Assignees: EMC Corporation
- Applicants: EMC Corporation
- Inventors: Roy E. Clark; Philip Derbeko; Arieh Don; Yaron Dar
- Web page: https://patentgrep.com/patent/US9438688B1

## CPC

- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- G06F 15/167: using a common memory, e.g. mailbox
- G06F 16/172: Caching, prefetching or hoarding of files
- G06F 16/24552: {Database cache management}
- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method, computer program product, and computing system for defining a first server and a second server within a server cluster. The first server includes a first cache system and the first and second servers are coupled to a data array that includes a LUN. The LUN is reserved for exclusive access by the first server, thus generating a first server reservation. Data associated with the LUN is cached within the first cache system of the first server. A loss of the first server reservation is sensed. In response to a loss of the first server reservation, the first cache system of the first server is purged.

## Claims

### Claim 1

A computer-implemented method comprising:
defining a first server and a second server within a server cluster, wherein the first server includes a first cache system, and the first and second servers are coupled to a data array that includes a LUN;
reserving the LUN for exclusive access by the first server, thus generating a first server reservation;
caching data associated with the LUN within the first cache system of the first server;
sensing a loss of the first server reservation;
in response to a loss of the first server reservation, purging the first cache system of the first server;
in response to a loss of the first server reservation, periodically attempting to re-reserve the LUN for exclusive access by the first server; and
in response to the loss of the first server reservation, the second server reserves the LUN for exclusive access by the second server by providing a unique name that is stored within a data structure and identifies the second server as the only server accessing the LUN.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1 further comprising:
in response to a loss of the first server reservation, suspending caching within the first cache system of the first server.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1 wherein the loss of the first server reservation is in response to the second server accessing the LUN.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1 wherein the second server includes a second cache system, the method further comprising:
reserving the LUN for exclusive access by the second server, thus generating a second server reservation.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4 further comprising:
caching data associated with the LUN within the second cache system of the second server.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5 further comprising:
sensing a loss of the second server reservation; and
in response to sensing a loss of the second server reservation, purging the second cache system of the second server.

### Claim 7

A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:
defining a first server and a second server within a server cluster, wherein the first server includes a first cache system, and the first and second servers are coupled to a data array that includes a LUN;
reserving the LUN for exclusive access by the first server, thus generating a first server reservation;
caching data associated with the LUN within the first cache system of the first server;
sensing a loss of the first server reservation;
in response to a loss of the first server reservation, purging the first cache system of the first server; and
in response to a loss of the first server reservation, periodically attempting to re-reserve the LUN for exclusive access by the first server; and
in response to the loss of the first server reservation, the second server reserves the LUN for exclusive access by the second server by providing a unique name that is stored within a data structure and identifies the second server as the only server accessing the LUN.

### Claim 8 (depends on 7)

The computer program product of claim 7 further comprising instructions for:
in response to a loss of the first server reservation, suspending caching within the first cache system of the first server.

### Claim 9 (depends on 7)

The computer program product of claim 7 wherein the loss of the first server reservation is in response to the second server accessing the LUN.

### Claim 10 (depends on 7)

The computer program product of claim 7 wherein the second server includes a second cache system, the method further comprising instructions for:
reserving the LUN for exclusive access by the second server, thus generating a second server reservation.

### Claim 11 (depends on 10)

The computer program product of claim 10 further comprising instructions for:
caching data associated with the LUN within the second cache system of the second server.

### Claim 12 (depends on 11)

The computer program product of claim 11 further comprising instructions for:
sensing a loss of the second server reservation; and
in response to sensing a loss of the second server reservation, purging the second cache system of the second server.

### Claim 13

A computing system including at least one processor and at least one memory architecture coupled with the at least one processor, wherein the computing system is configured to perform operations comprising:
defining a first server and a second server within a server cluster, wherein the first server includes a first cache system, and the first and second servers are coupled to a data array that includes a LUN;
reserving the LUN for exclusive access by the first server, thus generating a first server reservation;
caching data associated with the LUN within the first cache system of the first server;
sensing a loss of the first server reservation;
in response to a loss of the first server reservation, purging the first cache system of the first server; and
in response to a loss of the first server reservation, periodically attempting to re-reserve the LUN for exclusive access by the first server; and
in response to the loss of the first server reservation, the second server reserves the LUN for exclusive access by the second server by providing a unique name that is stored within a data structure and identifies the second server as the only server accessing the LUN.

### Claim 14 (depends on 13)

The computing system of claim 13 further configured to perform operations comprising:
in response to a loss of the first server reservation, suspending caching within the first cache system of the first server.

### Claim 15 (depends on 13)

The computing system of claim 13 wherein the loss of the first server reservation is in response to the second server accessing the LUN.

### Claim 16 (depends on 13)

The computing system of claim 13 wherein the second server includes a second cache system, the computing system further configured to perform operations comprising:
reserving the LUN for exclusive access by the second server, thus generating a second server reservation.

### Claim 17 (depends on 16)

The computing system of claim 16 further configured to perform operations comprising:
caching data associated with the LUN within the second cache system of the second server.

### Claim 18 (depends on 17)

The computing system of claim 17 further configured to perform operations comprising:
sensing a loss of the second server reservation; and
in response to sensing a loss of the second server reservation, purging the second cache system of the second server.
