# US 10,120,801 B2 · Object caching for mobile data communication with mobility management

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

- Number: US 10,120,801 B2
- Document ID: US10120801B2
- Status: Granted
- Kind: B2
- Application number: 14/378,118
- Filed: 2013-02-08
- Published: 2015-01-29
- Granted: 2018-11-06
- Earliest claimed: 2012-03-13
- Assignees: Globalfoundries Inc.
- Applicants: GLOBALFOUNDRIES Inc.
- Inventors: Oliver M. Deakin; Victor S. Moore; Robert B. Nicholson; Colin J. Thorne
- Web page: https://patentgrep.com/patent/US10120801B2

## CPC

- G06F 12/0813: with a network or matrix configuration
- G06F 12/0831: using a bus scheme, e.g. with bus monitoring or watching means
- H04L 67/2876: Pairs of inter-processing entities at each side of the network, e.g. split proxies
- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- G06F 2212/171: Portable consumer electronics, e.g. mobile phone
- G06F 2212/621: Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
- H04W 88/08: Access point devices
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Method and system are provided for object caching with mobility management for mobile data communication. The method may include: intercepting and snooping data communications at a base station between a user equipment and a content server without terminating communications; implementing object caching at the base station using snooped data communications; implementing object caching at an object cache server in the network, wherein the object cache server proxies communications to the content server from the user equipment; and maintaining synchrony between an object cache at the base station and an object cache at the object cache server.

## Claims

### Claim 1

A method for object caching with mobility management for mobile data communication, comprising:
intercepting and snooping data communications at a base station between a user equipment and a content server without terminating communications;
implementing object caching at the base station using snooped data communications;
implementing object caching at an object cache server in the network, wherein the object cache server proxies communications to the content server from the user equipment;
maintaining synchrony between an object cache at the base station and an object cache at the object cache server by monitoring a state of a connection of a Transmission Control Protocol (TCP) at the object cache server;
determining a state of the TCP at the object cache server based on monitoring the state of the connection of the TCP;
predicting sequence numbers of the TCP at the object cache server used to send a response to the user equipment based on the determining of the state of the TCP at the object cache server;
detecting, by the object cache server, a movement of the user equipment from the base station while a requested object is being served to the user equipment from a cache of the base station; and
taking over, by the object cache server, serving the requested object based on the detecting, wherein the taking over includes providing a remainder of the requested object by the object cache server.

### Claim 2 (depends on 1)

The method as claimed in claim 1, further comprising:
establishing a tunnel with a network and the user equipment;
establishing a TCP connection over the tunnel to a HTTP port of a content server;
making a request for a web object over a HTTP connection; and
providing a data response to the user equipment from the base station providing a cached object, wherein the data response mimics a response from the object cache server.

### Claim 3 (depends on 2)

The method as claimed in claim 2, wherein providing a data response comprises creating a sequence of bytes.

### Claim 4 (depends on 2)

The method as claimed in claim 2, further comprising:
providing a notification to the object cache server in response to a cache hit being made at the base station for a data communication; and
using the snooped data communications to perform a lookup on a local cache of the base station.

### Claim 5 (depends on 1)

The method as claimed in claim 1, further comprising:
in response to a cache hit at the base station for a data communication, serving the cached object to the user equipment in data packets;
snooping, by the base station, one or more acknowledgement data packets from the user equipment and allowing the acknowledgement data packets to proceed to the object cache server where they are used to maintain the state of the TCP at the object cache server; and
monitoring the TCP connection at the object cache server during the snooping.

### Claim 6 (depends on 5)

The method as claimed in claim 5, further comprising:
modifying the object cache server to accommodate receiving acknowledgement data packets from the user equipment for data packets it has not generated; and
modifying a HTTP GET of the user equipment to include a notification that content is cached at the object cache server.

### Claim 7 (depends on 1)

The method as claimed in claim 1, further comprising:
snooping at the base station a response from the object cache server;
caching an object of the response in response to the object being cached at the object cache server; and
modifying a HTTP GET of the user equipment to include a notification that content is cached at the object cache server.

### Claim 8 (depends on 1)

The method as claimed in claim 1, further comprising:
in response to a cache hit being served from the object cache server and a notification that the base station has received a cache hit, stopping the serving of the object from the object cache server whilst maintaining the state of the TCP at the object cache server which mirrors a TCP state of the base station.

### Claim 9 (depends on 1)

The method as claimed in claim 1, further comprising:
detecting a movement of the user equipment from a base station cell by the object cache server; and
taking over, by a new base station, serving an object of a request.

### Claim 10 (depends on 1)

The method as claimed in claim 1, further comprising:
maintaining an object cache at each base station consistent with an object cache at the object cache server, wherein the state of the TCP at the object cache server is maintained at each base station.

### Claim 11 (depends on 10)

The method as claimed in claim 10, further comprising:
providing an object cache at each base station of a fixed size;
providing an object cache at the object cache server of a size equal to the sum of all the base station object caches; and
partitioning the object cache of the object cache server to manage separately the objects cached for each base station.

### Claim 12 (depends on 10)

The method as claimed in claim 10, further comprising:
providing a same caching logic and a same parameters at the base stations and at the object cache server.

### Claim 13 (depends on 1)

The method as claimed in claim 1, further comprising:
implementing byte caching at the base station and at the object cache server, wherein the byte caching enables partial cache hits; and
wherein the base station holds one or more sequences of byte caching tokens keyed on data request details and maintains the state of the TCP at the base station as the same as the TCP state at the object cache server.

### Claim 14 (depends on 1)

The method as claimed in claim 1, wherein the data communications are hypertext transfer protocol requests and responses.

### Claim 15

A system for object caching with mobility management for mobile data communication, comprising:
a processor;
a network containing one or more base stations, wherein the network supports mobility management of data transfer to and from a user equipment;
an object cache component at a base station for intercepting and snooping data communications between the user equipment and a content server without terminating communications;
an object cache server in the network, wherein the object cache server is configured to:
proxy communications to the content server from the user equipment;
synchronize components at the base station and object cache server for maintaining synchrony between a fake TCP socket of an object cache at the base station and a real TCP socket of an object cache at the object cache server by causing the fake TCP socket of the object cache at the base station to imitate the real TCP socket of the object cache at the object cache server;
detect a movement of the user equipment from the base station while a requested object is being served to the user equipment from a cache of the base station; and
take over serving the requested object based on the detecting, wherein the taking over includes providing a remainder of the requested object by the object cache server.

### Claim 16 (depends on 15)

The system as claimed in claim 15, wherein the object cache component at the base station further comprises:
a mimicking component for providing a data response to a user equipment from the base station providing a cached object, wherein the data response mimics a response from the object cache server;
a breakout component for breaking out traffic to received at the object cache component; and
the fake TCP socket which mimics a behavior and the state of the TCP of the real TCP socket of the object cache server.

### Claim 17 (depends on 15)

The system as claimed in claim 15, wherein the object cache component at the base station includes a notification component for providing a notification to the object cache server in response to a cache hit being made at the base station for a data communication.

### Claim 18 (depends on 15)

The system as claimed in claim 15, wherein the object cache server comprises:
a detecting component for detecting a movement of the user equipment from a base station cell and taking over, by a new base station, serving an object of a request.

### Claim 19 (depends on 15)

The system as claimed in claim 15, further comprising:
an object cache at each base station of a fixed size;
an object cache at the object cache server of a size equal to the sum of all the base station object caches, wherein the object cache of the object cache server is partitioned to manage separately the objects cached for each base station.

### Claim 20

A computer program product stored on a non-transitory computer readable medium and loadable into the internal memory of a digital computer, comprising software code portions, that, when executed by the computer, cause the computer to perform object caching with mobility management for mobile data communication by performing actions comprising:
intercepting and snooping data communications at a base station between a user equipment and a content server without terminating communications;
determining the snooping data communications is cacheable based on a cache hit at the base station;
implementing object caching at the base station using the snooping-data communications;
implementing object caching at an object cache server in the network, wherein the object cache server proxies communications to the content server from the user equipment;
maintaining synchrony between an object cache at the base station and an object cache at the object cache server by monitoring a state of a Transmission Control Protocol (TCP) of the object cache server; and
detecting a movement of the user equipment from the base station while a requested object is being served to the user equipment from a cache of the base station; and
taking over serving the requested object based on the detecting, wherein the taking over includes providing a remainder of the requested object by the object cache server.
