IP Library Granted Patent US 8,526,467
Granted Patent B2
US 8,526,467 · App. 13/081,983 · Granted Sep 3, 2013

Facilitating transition of network operations from IP version 4 to IP version 6

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,526,467
App. No.
13/081,983
Granted
Sep 3, 2013
Kind
B2
Abstract

Methods, apparatuses and systems directed to facilitating transitions from IPv4 to IPv6 networks. In particular implementations, the invention facilitates or enables accessibility of network application services between IPv4 and IPv6 hosts, or traversal of network paths including both IPv6 or IPv4 domains. Particular implementations of the invention are directed to selective mapping of network layer addresses between IPv6 and IPv4 protocols and Domain Name System records under one or more policy controls. Other implementations of the invention are directed to a proxy-to-proxy based tunnel architecture allowing hosts implementing a first network layer protocol, such as IPv4, to traverse a network implementing a second network layer protocol, such as IPv6.

Claims (43)

1. An apparatus comprising one or more network interfaces;

a processor;

a memory;

computer program code, physically stored in a storage medium, comprising instructions operative to cause the processor and the apparatus to:

receive a request from a client, wherein the request includes a host name, and wherein the request is embodied in a packet having a first network layer address, associated with the client, corresponding to a first network layer protocol;

access one or more data stores of mappings between host names and network layer addresses to identify one or more network layer addresses associated with the host name identified in the request, wherein one or more of the network layer addresses in the one or more data stores correspond to the first network layer protocol and other ones of the network layer addresses correspond to a second network layer protocol; and

generate a response to the request, wherein the response includes a second network layer address corresponding to the first network layer protocol, wherein the second network layer address is selected from the one or more identified network layer addresses mapped to the host name or a third network layer address based on application of one or more policies; and

transmit the response to the client.

2. The apparatus of claim 1 wherein the third network layer address is a network layer address allocated to the apparatus.

3. The apparatus of claim 1 wherein the third network layer address is a network layer address selected from a pool of network layer addresses.

4. The apparatus of claim 1 wherein at least one of the one or more data stores is a Domain Name System (DNS) server.

5. The apparatus of claim 1 wherein application of the one or more policies comprises determining whether one or more of the identified network layer addresses corresponds to the second network layer protocol and selecting the third network layer address if at least one of the one or more identified network layer addresses corresponds to the second network layer protocol; and

wherein the computer program code further comprises instructions operative to cause the processor to cache, in a mapping data structure, one of the one or more identified network layer addresses in association with the host name identified in the request, if the third network layer address is selected based on the application of the one or more policies.

6. The apparatus of claim 3 further comprising

if the third network layer address is selected, caching, in a mapping data structure, the selected network layer address in association with the host name identified in the request.

7. The apparatus of claim 1 wherein the computer program code further comprises instructions operative to cause the processor to

proxy a transaction between the client and a remote host associated with the host name; wherein proxying the transaction comprises

establishing a first connection with the client according to the first network layer protocol;

establishing a second connection with the remote host; and

forwarding data received from the client on the first connection to the remote host over the second connection.

8. The apparatus of claim 7 wherein the second connection with the remote host employs the second network layer protocol.

9. The apparatus of claim 7 wherein establishing the second connection comprises

accessing the mapping data structure against the second network layer address to identify the host name; and

looking up a third network layer address corresponding to the second network layer protocol using the host name.

10. The apparatus of claim 1 wherein the first network layer protocol is version 4 of the Internet Protocol and the second network layer protocol is version 6 of the Internet Protocol.

11. The apparatus of claim 1 wherein the first network layer protocol is version 6 of the Internet Protocol and the second network layer protocol is version 4 of the Internet Protocol.

12. The apparatus of claim 1 wherein the one or more policies are operative to bias selection of the second network layer address based on a preference for the first network layer protocol or the second network layer protocol.

13. The apparatus of claim 1 wherein one of the one or more identified network layer addresses is selected for the second network layer address if the identified network layer address corresponds to the first network layer protocol.

14. The apparatus of claim 1 wherein the third network layer address is selected for the second network layer address if at least one of the one or more identified network layer addresses corresponds to the second network layer protocol.

15. The apparatus of claim 1 wherein the computer program code further comprises instructions operative to cause the processor to

if all of the one or more identified network layer addresses correspond to the second network layer protocol, then: selecting, from a pool of network layer addresses, a second network layer address corresponding to the first network layer protocol, and caching, in a mapping data structure, the second network layer address in association with the host name identified in the address lookup request; and generate a response to the address lookup request that includes the second network layer address corresponding to the first network layer protocol.

16. An apparatus comprising

one or more network interfaces;

a processor;

a memory;

computer program code, physically stored in a storage medium, comprising instructions operative to cause the processor and the apparatus to:

receive, on a first connection over a first network, a packet from a remote proxy, wherein the first network corresponds to a first network layer protocol;

determine whether the packet corresponds to a new request;

if the packet corresponds to a new request, access host information embodied in the request and resolve a network layer address of a remote server, wherein the network layer address corresponds to a second network layer protocol, and wherein resolving the network layer address of the remote server comprises performing a network address lookup in a data store that maintains mappings between host names and network layer addresses;

establish a second connection over a second network with the remote server using the network layer address; and

forwarding the request on the second connection over the second network.

17. The apparatus of claim 16 wherein the computer program code further comprises instructions operative to cause the processor to maintain a mapping between the first connection and the second connection; forward data received on the first connection to the remote server over the second connection; and forward data received on the second connection to the remote proxy over the first connection.

18. The apparatus of claim 16 wherein the first network layer protocol is version 6 of the Internet Protocol and the second network layer protocol is version 4 of the Internet Protocol.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2016
From: BLUE COAT SYSTEMS, INC.
To: SYMANTEC CORPORATION
Reel/Frame 039851/0044 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2016
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039516/0929 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30740/0181 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035797/0280 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 27727/0144 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035798/0006 →
SECURITY INTEREST Recorded May 22, 2015
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 035751/0348 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 3, 2013
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 030740/0181 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 027727/0178 Recorded Oct 16, 2012
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 029140/0170 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0144 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2011
From: LI, QING; HUANG, YUSHENG
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 026092/0410 →