IP Library Granted Patent US 8,489,671
Granted Patent B2
US 8,489,671 · App. 12/557,395 · Granted Jul 16, 2013

Dedicated shared byte cache

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 8,489,671
App. No.
12/557,395
Granted
Jul 16, 2013
Kind
B2
Abstract

The present invention relates to methods, apparatus, and systems for providing peer-to-peer network acceleration. The system includes a content server configured to transfer content based on received requests for content. The system further includes a proxy server coupled with the content server. The proxy server is configured to receive content from the content server and to forward the received content. Furthermore, the system includes client systems coupled with the proxy server. The client systems each include a personal byte cache and are configured to receive content from the proxy server, to store content in the personal byte caches, to synchronize the personal byte caches with each of the plurality of client system's portions of a shared byte cache, and to retrieve content from the shared byte cache.

Claims (32)

1. A system for implementing a dedicated shared byte cache, the system comprising:

a gateway in communication with a content server, the content server configured to transfer content based on received requests for content, the gateway including a gateway accelerator module, wherein the gateway accelerator module includes a proxy server, the proxy server configured to receive content from the content server and to forward the content;

a satellite in communication with the gateway, the satellite configured to transmit the received content;

a subscriber terminal in communication with the satellite, the subscriber terminal configured to the content; and

a plurality of client systems in communication with the subscriber terminal, the plurality of client systems each including a personal byte cache and configured to receive the content from the proxy server, to store the content in the personal byte caches, to synchronize the personal byte caches with each of the plurality of client system's portions of a shared byte cache at a dedicated shared byte cache server that is coupled to each of the plurality of client systems, and to retrieve the content from the shared byte cache.

2. A system for implementing a dedicated shared byte cache as in claim 1 , wherein a request for content comprises identifying whether a sequence of bytes associated with content is stored in the dedicated shared byte cache server, and requesting the sequence of bytes from the dedicated shared byte cache server.

3. A non-transitory machine-readable medium having sets of instructions stored thereon which, when executed by a machine, cause the machine to:

generate, at a plurality of client systems, requests for content;

communicate, from the plurality of client systems to at least one content server via at a proxy server, the requests for the content;

receive the content requested by each of the plurality of client systems at the corresponding client system;

store, within a personal byte cache associated with each of the plurality of client systems, the requested content; and

synchronize each of the personal byte caches with a shared byte cache at a dedicated shared byte cache server coupled to each of the plurality of client systems, wherein each of the plurality of client systems is apportioned a portion of the shared byte cache.

4. A machine-readable medium as in claim 3 , wherein the sets of instruction, when executed by the machine, further cause the machine to:

receive, at the dedicated shared byte cache server, content from a first client system of the plurality of client systems;

store the content in the shared byte cache,

receive a request from a second client system that includes a byte range in the cache that is associated with the first client system;

retrieve a sequence of bytes identified by the byte range from the shared byte cache in response to the request from the second client system; and

retrieve, by the second client system, the sequence of bytes from the shared byte cache.

5. A machine-readable medium as in claim 3 , wherein the sets of instruction, when executed by the machine, further cause the machine to, in response to the proxy server transferring content to the plurality of client systems, store, at the proxy server, a record for each of the plurality of client systems of the content stored within the personal byte caches.

6. A method comprising:

generating, at a plurality of client systems, requests for content;

communicating, from the plurality of client systems to at least one content server via at a proxy server, the requests for the content;

receiving the content requested by each of the plurality of client systems at the corresponding client system;

storing, within a personal byte cache associated with each of the plurality of client systems, the content; and

synchronizing each of the personal byte caches with a shared byte cache at a dedicated shared byte cache server coupled to each of the plurality of client systems, wherein each of the plurality of client systems is apportioned a portion of the shared byte cache.

7. The method of claim 6 further comprising:

receiving, at the dedicated shared byte cache server, at least a portion of the content from a first client system of the plurality of client systems;

storing the portion of the content in the shared byte cache,

receiving a request from a second client system that includes a byte range in the cache that is associated with the first client system;

retrieving a sequence of bytes identified by the byte range from the shared byte cache in response to the request from the second client system; and

receiving, by the second client system, the sequence of bytes from the shared byte cache.

8. The method of claim 6 further comprising, in response to the proxy server transferring content to the plurality of client systems, storing, at the proxy server, a record for each of the plurality of client systems of the content stored within the personal byte caches.

Assignments (12)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 48715/0589 Recorded Jun 6, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
To: VIASAT, INC.
Reel/Frame 071638/0083 →
PARTIAL RELEASE OF SECURITY INTEREST AT REEL/FRAME 063822/0446 Recorded Jun 4, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VIASAT, INC.
Reel/Frame 071495/0223 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2025
From: MUFG BANK, LTD. (AS SUCCESSOR-IN-INTEREST TO MUFG UNION BANK, N.A. (F/K/A UNION BANK, N.A.)), AS AGENT
To: VIASAT, INC.
Reel/Frame 071321/0026 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2025
From: MUFG BANK, LTD. (AS SUCCESSOR-IN-INTEREST TO MUFG UNION BANK, N.A. (F/K/A UNION BANK, N.A.)), AS AGENT
To: VIASAT, INC.
Reel/Frame 071321/0036 →
PARTIAL RELEASE OF SECURITY INTEREST AT REEL/FRAME 059332/0558 Recorded Jun 4, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VIASAT, INC.
Reel/Frame 071495/0152 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: VIASAT, INC.
To: SNAPPI HOLDCO, INC.
Reel/Frame 070293/0483 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: SNAPPI HOLDCO, INC.
To: SNAPPI, INC.
Reel/Frame 070293/0879 →
SECURITY AGREEMENT Recorded Jun 1, 2023
From: VIASAT, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 063822/0446 →
SECURITY AGREEMENT Recorded Mar 7, 2022
From: VIASAT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 059332/0558 →
SECURITY INTEREST Recorded Mar 27, 2019
From: VIASAT, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 048715/0589 →
SECURITY AGREEMENT Recorded May 9, 2012
From: VIASAT, INC.
To: UNION BANK, N.A.
Reel/Frame 028184/0152 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2009
From: LEPESKA, PETER
To: VIASAT, INC.
Reel/Frame 023217/0833 →