# US 10,484,497 B2 · Methods and systems for caching data communications over computer networks

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

- Number: US 10,484,497 B2
- Document ID: US10484497B2
- Status: Granted
- Kind: B2
- Application number: 14/667,071
- Filed: 2015-03-24
- Published: 2016-03-24
- Granted: 2019-11-19
- Earliest claimed: 2010-12-30
- Assignees: Zephyrtel, Inc.
- Applicants: Zephyrtel, Inc.
- Inventors: Alan Arolovitch; Shmuel Bachar; Dror Moshe Gavish; Shahar Guy Grin; Shay Shemer
- Web page: https://patentgrep.com/patent/US10484497B2

## CPC

- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- G06F 16/9574: {of access to content, e.g. by caching}
- H04L 67/14: Session management (for real-time applications in data packet communications networks H04L65/1066)
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- H04N 21/632: {using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices (broadcast-related systems characterised by transmission among terminal devices H04H60/80; distributed application using peer-to-peer [P2P] networks H04L67/104)}
- H04L 67/1061: using node-based peer discovery mechanisms (static access to replicated servers H04L67/1006; service discovery H04L67/51)
- H04L 67/108: {characterised by resources being split in blocks or fragments}
- 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)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A computer-implemented method and system for caching multi-session data communications in a computer network.

## Claims

### Claim 1

A computer-implemented method of caching multi-session data communications in a computer network, comprising the steps of:
executing instructions, stored in a non-transitory memory, by a processor in the computer network to perform steps comprising:
(a) receiving, intercepting, or monitoring one or more data sessions between a client computer system in the computer network executing a multi-session application for retrieving a desired content object and one or more electronic metadata services, said client computer system communicating with the one or more electronic metadata services to discover metadata for the content object;
(b) analyzing queries and responses exchanged between the client computer system and the one of more electronic metadata services to discover metadata for the content object;
(c) receiving or intercepting subsequent data sessions between the client computer system and content sources;
(d) identifying a data protocol used by the client computer system and identifying data queries within the data sessions;
(e) identifying the content object or portions thereof requested by the client computer system in the data queries; and
(f) determining if the content object or portions thereof are stored in cache and, if so, sending the content object or portions thereof stored in cache to the client computer system, and, if not, sending the data queries to the content sources, storing data responses from the content sources, and sending the data responses to the client.

### Claim 2 (depends on 1)

The method of claim 1, wherein step (b) comprises analyzing queries and responses exchanged between the client computer system and the one of more metadata services on an ongoing basis to discover metadata for the content object.

### Claim 3 (depends on 1)

The method of claim 1, wherein step (c) comprises intercepting only subsequent data sessions having content sources that are known from the metadata.

### Claim 4 (depends on 1)

The method of claim 1, wherein step (d) comprises using the metadata to identify the data protocol used by the client computer system and to identify data queries within the subsequent data sessions.

### Claim 5 (depends on 1)

The method of claim 1, wherein step (d) comprises using the metadata to detect and decrypt an encrypted protocol used in data sessions.

### Claim 6 (depends on 1)

The method of claim 1, wherein step (e) comprises identifying incomplete data in the queries or responses to queries, and obtaining further information from the metadata to complete the incomplete data.

### Claim 7 (depends on 1)

The method of claim 1, wherein step (f) comprises using the metadata to determine if the content object or portions thereof are stored in cache.

### Claim 8 (depends on 1)

The method of claim 1, wherein the method steps are implemented in a caching service, and wherein step (f) comprises establishing at least one session with the client, said caching service being identified by the client as at least one of the content sources for the content object.

### Claim 9 (depends on 1)

The method of claim 1, wherein step (f) comprises using the metadata to verify the validity of the content object stored in cache prior to storing the data responses, and optionally discarding the data responses that do not match the metadata.

### Claim 10 (depends on 1)

The method of claim 1, wherein step (f) comprises using the metadata to verify the validity of data responses stored in cache to determine whether a matching data response or portions thereof are stored in cache, and discarding the data responses that do not match the metadata.

### Claim 11 (depends on 1)

The method of claim 1, wherein the metadata identifies addresses of content sources storing the content object or portions thereof, data protocols supported by the content sources, encryption keys for the content object or content sources, or content object structure.

### Claim 12 (depends on 1)

The method of claim 1, further comprising modifying metadata sent by the one or more metadata services to the client to indicate a caching service as a content source or as a meta data service for the content object.

### Claim 13 (depends on 1)

The method of claim 1, further comprising sending queries to the one or more metadata services for metadata related to the content object, and receiving and storing responses to the queries.

### Claim 14 (depends on 1)

The method of claim 1, further comprising storing metadata received or intercepted from or through monitoring of data from the one of more metadata services, and discarding stored metadata received more than a given period of time ago.

### Claim 15 (depends on 1)

The method of claim 1, further comprising storing metadata received from the one of more metadata services, and discarding stored metadata contradicting more recently received metadata.

### Claim 16 (depends on 1)

The method of claim 1, wherein the data protocol is associated with the client computer system or with the session.

### Claim 17 (depends on 1)

The method of claim 1, wherein the data protocol is identified using a signature-based protocol identification technique.

### Claim 18 (depends on 1)

The method of claim 1, further comprising establishing an encrypted session with the client and/or the content sources.

### Claim 19 (depends on 1)

The method of claim 1, further comprising using the metadata to identify content sources to retrieve the content object or portions thereof.

### Claim 20 (depends on 19)

The method of claim 19, further comprising validating responses from the content sources using the metadata.
