# US 2014/0207903 A1 · Systems, methods and algorithms for logical movement of data objects

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

- Number: US 2014/0207903 A1
- Document ID: US20140207903A1
- Status: Published application
- Kind: A1
- Application number: 13/785,741
- Filed: 2013-03-05
- Published: 2014-07-24
- Earliest claimed: 2013-01-18
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Seraphin B. Calo; Raheleh B. Dilmaghani; Kang-Won Lee; Vasileios Pappas; Ramya Raghavendra; Dinesh C. Verma
- Web page: https://patentgrep.com/patent/US20140207903A1

## CPC

- H04L 67/1029: using data related to the state of servers by a load balancer
- G06F 9/00: Arrangements for program control, e.g. control units (program control for peripheral devices G06F13/10)
- G06F 16/1827: {Management specifically adapted to NAS (management of storage area networks [SAN] G06F3/067)}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- 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

The present disclosure relates generally to the field of logical movement of data objects. In various examples, the logical movement of data objects may reduce or eliminate network hotspots (e.g., avoid formation of hotspots, remove existing hotspots and/or reduce the magnitude of hotspots). In various examples, the logical movement of data objects may be implemented in the form of systems, methods and/or algorithms.

## Claims

### Claim 1

A computer readable storage medium, tangibly embodying a program of instructions executable by the computer for movement of at least one data object from a first server to a second server, the program of instructions, when executing, performing the following steps:
advertising by the second server the data object to be available at the second server, wherein the data object is advertised as available at the second server while the data object is still at the first server;
receiving by the second server a request for the data object; and
receiving by the second server the data object after the data object has been moved from the first server.

### Claim 2 (depends on 1)

The computer readable storage medium of claim 1, wherein the program of instructions, when executing, causes the second server to respond to the request with the received data object.

### Claim 3 (depends on 1)

The computer readable storage medium of claim 1, wherein the program of instructions, when executing, causes the first server to respond to the request with the data object.

### Claim 4 (depends on 1)

The computer readable storage medium of claim 1, wherein the first server and the second server are within a data center.

### Claim 5 (depends on 1)

The computer readable storage medium of claim 1, wherein the first server and the second server are part of at least one of: (a) an IP-based network; and (b) a named data network.

### Claim 6

A computer readable storage medium, tangibly embodying a program of instructions executable by the computer for movement of at least one data object between at least two of a plurality of servers, the program of instructions, when executing, performing the following steps:
determining a frequency of accesses to the data object, wherein the determined frequency of accesses is determined in at least one of a prior time period and a current time period;
predicting a frequency of accesses to the data object, wherein the predicted frequency of accesses is predicted for at least one future time period and wherein the predicted frequency of accesses is predicted based at least in part upon the determined frequency of accesses;
determining, based at least in part upon the predicted frequency of accesses, a future placement location of the data object on at least one of the plurality of servers, wherein the future placement location of the data object is on a server different from the server on which the data object currently resides;
routing at least one request to the server at the future placement location of the data object before the data object has been moved to the server at the future placement location; and
upon receiving an Nth request for the data object in the current time period, serving the request from the server on which the data object currently resides and moving the data object to the server at the future placement location.

### Claim 7 (depends on 6)

The computer readable storage medium of claim 6, wherein the program of instructions, when executing, determines the frequency of accesses to the data object in the prior time period and in the current time period.

### Claim 8 (depends on 6)

The computer readable storage medium of claim 6, wherein the program of instructions, when executing, determines the frequency of accesses to the data object in a plurality of prior time periods.

### Claim 9 (depends on 6)

The computer readable storage medium of claim 6, wherein the determining the future placement location of the data object on at least one of the plurality of servers is further based at least in part upon a configuration of a network of which the server on which the data object currently resides and the server at the future placement location form a part.

### Claim 10 (depends on 6)

The computer readable storage medium of claim 6, wherein the determining the future placement location of the data object on at least one of the plurality of servers is carried out to minimize or avoid one or more hotspots.

### Claim 11 (depends on 6)

The computer readable storage medium of claim 6, wherein N is an integer between 1 and 1,000, inclusive.

### Claim 12 (depends on 6)

The computer readable storage medium of claim 6, wherein the program of instructions, when executing, further causes:
after the data object is moved to the server at the future placement location, continuing to serve the data object from the server at the future placement location until a new placement of the data object at another one of the servers is determined.

### Claim 13 (depends on 6)

The computer readable storage medium of claim 6, wherein the servers are within a data center.

### Claim 14 (depends on 6)

The computer readable storage medium of claim 6, wherein the servers are part of at least one of: (a) an IP-based network; and (b) a named data network.

### Claim 15

A computer-implemented system for movement of at least one data object between at least two of a plurality of servers, the system comprising:
a server, wherein:
the server is configured to advertise the availability of the data object at the server, wherein the data object is advertised as available at the server while the data object is still at a different server;
the server is configured to receive a request for the data object; and
the server is configured to receive the data object after the data object has been moved from the different server.

### Claim 16

A computer-implemented system for movement of at least one data object between at least two of a plurality of servers, the system comprising:
a processor, wherein:
the processor is configured to determine a frequency of accesses to the data object, wherein the determined frequency of accesses is determined in at least one of a prior time period and a current time period;
the processor is configured to predict a frequency of accesses to the data object, wherein the predicted frequency of accesses is predicted for at least one future time period and wherein the predicted frequency of accesses is predicted based at least in part upon the determined frequency of accesses;
the processor is configured to determine, based at least in part upon the predicted frequency of accesses, a future placement location of the data object on at least one of the plurality of servers, wherein the future placement location of the data object is on a server different from the server on which the data object currently resides;
the processor is configured to route at least one request to the server at the future placement location of the data object before the data object has been moved to the server at the future placement location; and
the processor is configured to, upon the detection of an Nth request for the data object in the current time period, direct serving of the request from the server on which the data object currently resides and direct moving the data object to the server at the future placement location.

### Claim 17 (depends on 16)

The system of claim 16, wherein N is an integer between 1 and 1,000, inclusive.

### Claim 18 (depends on 6)

The computer readable storage medium of claim 6, wherein the determining the frequency of accesses to the data object comprises measuring the frequency of accesses to the data object and wherein the measured frequency of accesses is measured in at least one of a prior time period and a current time period.

### Claim 19 (depends on 18)

The computer readable storage medium of claim 18, wherein the predicted frequency of accesses is predicted for at least one future time period and wherein the predicted frequency of accesses is predicted based at least in part upon the measured frequency of accesses.

### Claim 20 (depends on 6)

The computer readable storage medium of claim 6, wherein routing is performed by a plurality of computers.

### Claim 21 (depends on 16)

The system of claim 16, wherein the frequency of accesses to the data object is determined by measuring the frequency of accesses to the data object and wherein the measured frequency of accesses is measured in at least one of a prior time period and a current time period.

### Claim 22 (depends on 21)

The system of claim 21, wherein the frequency of accesses is predicted for at least one future time period and wherein the predicted frequency of accesses is predicted based at least in part upon the measured frequency of accesses.

### Claim 23 (depends on 16)

The system of claim 16, wherein routing is performed by a plurality of computers.
