Method and system for distributed network address translation with network security features
First Claim
1. A method for distributed network address translation with security, comprising the following steps:
- at a first network device on a first computer network, requesting with a first protocol, one or more locally unique security values from a second network device on the first computer network, wherein the second network device has a publicly routable address, and wherein the second network device'"'"'s publicly routable address in combination with the one or more locally unique security values are used to uniquely identify the first network device during secure communications with a third network device on a second external network;
receiving the one or more locally unique security values on the first network device from the second network device with the first protocol; and
storing the one or more locally unique security values on the first network device, wherein the one or more locally unique security values are used to create a secure virtual connection for secure communications between the first network device and the third network device, wherein the secure communications include the one or more locally unique secure values, and wherein the second network device routes secure communication data from the third network device to the first network device in response to the one or more locally unique security values.
7 Assignments
0 Petitions

Accused Products

Abstract
A method and system for distributed network address translation with security features. The method and system allow Internet Protocol security protocol (“IPsec”) to be used with distributed network address translation. The distributed network address translation is accomplished with IPsec by mapping a local Internet Protocol (“IP”) address of a given local network device and a IPsec Security Parameter Index (“SPI”) associated with an inbound IPsec Security Association (“SA”) that terminates at the local network device. A router allocates locally unique security values that are used as the IPsec SPIs. A router used for distributed network address translation is used as a local certificate authority that may vouch for identities of local network devices, allowing local network devices to bind a public key to a security name space that combines a global IP address for the router with a set of locally unique port numbers used for distributed network address translation. The router issues security certificates and may itself be authenticated by a higher certificate authority. Using a security certificate, a local network device may initiate and be a termination point of an IPsec security association to virtually any other network device on an IP network like the Internet or an intranet. The method and system may also allow distributed network address translation with security features to be used with Mobile IP or other protocols in the Internet Protocol suite.
379 Citations
Using time to determine a hash extension | ||
Patent #
US 20060005014A1
Filed 06/22/2005
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Time-domain equalization for discrete multi-tone systems | ||
Patent #
US 7,916,801 B2
Filed 09/11/2008
|
Current Assignee
Tellabs Operations Incorporated
|
Original Assignee
Tellabs Operations Incorporated
|
Routing data to one or more entities in a network | ||
Patent #
US 7,908,481 B1
Filed 06/30/2004
|
Current Assignee
Avaya Incorporated
|
Original Assignee
Avaya Incorporated
|
Data transmission controlling method and data transmission system | ||
Patent #
US 7,865,946 B2
Filed 04/15/2004
|
Current Assignee
Sony Corporation
|
Original Assignee
Sony Corporation
|
Method and apparatus for dynamically securing voice and other delay-sensitive network traffic | ||
Patent #
US 7,917,948 B2
Filed 04/24/2008
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Method and Apparatus for Storing and Indexing High-Speed Network Traffic Data | ||
Patent #
US 20110125749A1
Filed 11/15/2010
|
Current Assignee
Symantec Corporation
|
Original Assignee
Solera Networks Inc.
|
Method and Apparatus for Real Time Identification and Recording of Artifacts | ||
Patent #
US 20110125748A1
Filed 11/15/2010
|
Current Assignee
Symantec Corporation
|
Original Assignee
Solera Networks Inc.
|
Wireless network security mechanism including reverse network address translation | ||
Patent #
US 7,941,548 B2
Filed 03/04/2009
|
Current Assignee
Cisco Systems Inc.
|
Original Assignee
Cisco Systems Inc.
|
Communication system noise cancellation power signal calculation techniques | ||
Patent #
US 7,957,965 B2
Filed 08/07/2008
|
Current Assignee
Tellabs Operations Incorporated
|
Original Assignee
Tellabs Operations Incorporated
|
Call signs | ||
Patent #
US 7,929,689 B2
Filed 06/30/2004
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Secure virtual community network system | ||
Patent #
US 7,949,785 B2
Filed 03/31/2003
|
Current Assignee
F Poszat Hu LLC
|
Original Assignee
Inpro Network Facility LLC
|
Creating a public identity for an entity on a network | ||
Patent #
US 7,937,471 B2
Filed 06/03/2002
|
Current Assignee
F Poszat Hu LLC
|
Original Assignee
Inpro Network Facility LLC
|
System for negotiating security association on application layer | ||
Patent #
US 8,028,161 B2
Filed 09/03/2002
|
Current Assignee
Siemens AG
|
Original Assignee
Siemens AG
|
Flexible billing architecture | ||
Patent #
US 8,010,082 B2
Filed 10/19/2005
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method and mobile node for packet transmission in mobile internet protocol network | ||
Patent #
US 8,015,603 B2
Filed 09/14/2007
|
Current Assignee
Huawei Technologies Co. Ltd.
|
Original Assignee
Huawei Technologies Co. Ltd.
|
Managing user-to-user contact with inferred presence information | ||
Patent #
US 8,069,166 B2
Filed 02/27/2006
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Optimized tunneling methods in a network | ||
Patent #
US 8,068,499 B2
Filed 08/10/2006
|
Current Assignee
Motorola Solutions Inc.
|
Original Assignee
Motorola Solutions Inc.
|
Multiple data store authentication | ||
Patent #
US 8,064,583 B1
Filed 09/21/2006
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Encapsulation method discovery protocol for network address translation gateway traversal | ||
Patent #
US 8,059,641 B1
Filed 07/20/2006
|
Current Assignee
Avaya Incorporated
|
Original Assignee
Avaya Incorporated
|
Address translator using address translation information in header area on network layer level and a method therefor | ||
Patent #
US 20100046517A1
Filed 07/20/2009
|
Current Assignee
OKI Electric Industry Company Limited
|
Original Assignee
OKI Electric Industry Company Limited
|
Domain based routing for managing devices operating behind a network address translator | ||
Patent #
US 7,706,371 B1
Filed 07/07/2005
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
ENCRYPTION PROCESSING METHOD AND ENCRYPTION PROCESSING DEVICE | ||
Patent #
US 20100306540A1
Filed 01/28/2009
|
Current Assignee
Panasonic Corporation
|
Original Assignee
Panasonic Corporation
|
System, method, and computer program product for resolving addressing in a network including a network address translator | ||
Patent #
US 7,797,433 B2
Filed 06/29/2001
|
Current Assignee
Net2Phone Inc.
|
Original Assignee
Net2phone
|
RFID tag management and operation | ||
Patent #
US 7,817,042 B2
Filed 02/23/2007
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
MULTI-SATELLITE ARCHITECTURE | ||
Patent #
US 20100265879A1
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Method and apparatus for network packet capture distributed storage system | ||
Patent #
US 7,855,974 B2
Filed 12/16/2005
|
Current Assignee
NortonLifeLock Inc.
|
Original Assignee
Solera Networks Inc.
|
LAYER-2 EXTENSION SERVICES | ||
Patent #
US 20100265941A1
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Method and apparatus for dynamic mapping | ||
Patent #
US 7,757,272 B1
Filed 06/14/2000
|
Current Assignee
Level 3 Communications LLC
|
Original Assignee
Verizon Corporate Services Group Incorporated, Level 3 Communications LLC, BBN Technologies
|
MOBILITY ACROSS SATELLITE BEAMS USING L2 CONNECTIVITY | ||
Patent #
US 20100265878A1
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Method and apparatus for network packet capture distributed storage system | ||
Patent #
US 7,684,347 B2
Filed 05/21/2009
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
SOLERA NETWORKS
|
Method and apparatus of providing zero configuration single source multicasting reporting | ||
Patent #
US 7,716,363 B1
Filed 02/10/2004
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Secure transport for mobile communication network | ||
Patent #
US 7,827,597 B2
Filed 10/19/2007
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
ACCESS NODE/GATEWAY TO ACCESS NODE/GATEWAY LAYER-2 CONNECTIVITY (END-TO-END) | ||
Patent #
US 20100265877A1
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Method and apparatus for intercepting events in a communication system | ||
Patent #
US 7,680,281 B2
Filed 09/16/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
LAYER-2 CONNECTIVITY FROM SWITCH TO ACCESS NODE/GATEWAY | ||
Patent #
US 20100265876A1
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Routable network subnet relocation systems and methods | ||
Patent #
US 7,653,746 B2
Filed 08/01/2003
|
Current Assignee
University of Southern California
|
Original Assignee
University of Southern California
|
METHOD FOR PERFORMING AN AUTHENTICATION OF ENTITIES DURING ESTABLISHMENT OF WIRELESS CALL CONNECTION | ||
Patent #
US 20100144313A1
Filed 04/30/2008
|
Current Assignee
LG Electronics Inc.
|
Original Assignee
LG Electronics Inc.
|
ACCELERATION THROUGH A NETWORK TUNNEL | ||
Patent #
US 20100265950A1
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Method and apparatus for transmitting data in a system using network address translation | ||
Patent #
US 7,649,897 B2
Filed 12/31/2002
|
Current Assignee
Electronics and Telecommunications Research Institute
|
Original Assignee
Electronics and Telecommunications Research Institute
|
Connection control system, connection control equipment and connection management equipment | ||
Patent #
US 7,694,015 B2
Filed 01/29/2004
|
Current Assignee
Hitachi America Limited
|
Original Assignee
Hitachi America Limited
|
METHOD AND ARRANGEMENT FOR PROVIDING SECURITY THROUGH NETWORK ADDRESS TRANSLATIONS USING TUNNELING AND COMPENSATIONS | ||
Patent #
US 20100138560A1
Filed 01/08/2010
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
SSH Communications Security Ltd.
|
METHOD AND APPARATUS FOR NETWORK PACKET CAPTURE DISTRIBUTED STORAGE SYSTEM | ||
Patent #
US 20100195538A1
Filed 02/04/2009
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
CA Inc. dba CA Technologies
|
CORE-BASED SATELLITE NETWORK ARCHITECTURE | ||
Patent #
US 20100265957A1
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Method and system for network based call-pickup | ||
Patent #
US 7,860,089 B2
Filed 07/16/2008
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
HP Inc.
|
System and Method for Secured Communications | ||
Patent #
US 20100325424A1
Filed 05/20/2010
|
Current Assignee
Device Authority Ltd.
|
Original Assignee
Device Authority Ltd.
|
METHOD AND ARRANGEMENT FOR PROVIDING SECURITY THROUGH NETWORK ADDRESS TRANSLATIONS USING TUNNELING AND COMPENSATIONS | ||
Patent #
US 20100318682A1
Filed 08/24/2010
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
Tectia Oyj
|
System and Method for Securing an Electronic Communication | ||
Patent #
US 20100325423A1
Filed 06/02/2010
|
Current Assignee
Uniloc 2017 LLC
|
Original Assignee
Uniloc Luxembourg S. r.l. fka Uniloc Luxembourg S.A.
|
Method and apparatus for ensuring address information of a wireless terminal device in communications network | ||
Patent #
US 7,480,933 B2
Filed 05/01/2003
|
Current Assignee
Nokia Technologies Oy
|
Original Assignee
Nokia Corporation
|
METHOD AND APPARATUS FOR INTERCEPTING EVENTS IN A COMMUNICATION SYSTEM | ||
Patent #
US 20090016526A1
Filed 09/16/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
COMMUNICATION SYSTEM NOISE CANCELLATION POWER SIGNAL CALCULATION TECHNIQUES | ||
Patent #
US 20090024387A1
Filed 08/07/2008
|
Current Assignee
Tellabs Operations Incorporated
|
Original Assignee
Tellabs Operations Incorporated
|
COMBINING MOBILE VPN AND INTERNET PROTOCOL | ||
Patent #
US 20090016253A1
Filed 07/10/2007
|
Current Assignee
Motorola Solutions Inc.
|
Original Assignee
Motorola Inc.
|
SPECTRALLY CONSTRAINED IMPULSE SHORTENING FILTER FOR A DISCRETE MULTI-TONE RECEIVER | ||
Patent #
US 20090022216A1
Filed 09/25/2008
|
Current Assignee
Tellabs Operations Incorporated
|
Original Assignee
Tellabs Operations Incorporated
|
TIME-DOMAIN EQUALIZATION FOR DISCRETE MULTI-TONE SYSTEMS | ||
Patent #
US 20090003421A1
Filed 09/11/2008
|
Current Assignee
Tellabs Operations Incorporated
|
Original Assignee
Tellabs Operations Incorporated
|
DISTRIBUTED NETWORK SECURITY SYSTEM AND A HARDWARE PROCESSOR THEREFOR | ||
Patent #
US 20090019538A1
Filed 07/21/2008
|
Current Assignee
IP Program Inc.
|
Original Assignee
Ashish A. Pandya
|
NETWORK ADDRESS TRANSLATION GATEWAY FOR LOCAL AREA NETWORKS USING LOCAL IP ADDRESSES AND NON-TRANSLATABLE PORT ADDRESSES | ||
Patent #
US 20090059940A1
Filed 11/12/2008
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
Israel Daniel Sultan
|
Method and apparatus for fragmenting and reassembling internet key exchange data packets | ||
Patent #
US 7,500,102 B2
Filed 01/25/2002
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Network Address Translation and Port Mapping | ||
Patent #
US 7,509,435 B2
Filed 03/12/2001
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Integrated information communication system using conversion table to convert an external packet into an internal packet by embedding a header | ||
Patent #
US 7,516,242 B2
Filed 10/19/2005
|
Current Assignee
The Distribution Systems Research Institute
|
Original Assignee
The Distribution Systems Research Institute, Miyaguchi Research Co. Ltd.
|
Using a network-service credential for access control | ||
Patent #
US 7,533,258 B2
Filed 01/07/2005
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Wireless Network Security Mechanism Including Reverse Network Address Translation | ||
Patent #
US 20090172805A1
Filed 03/04/2009
|
Current Assignee
Cisco Systems Inc.
|
Original Assignee
Cisco Systems Inc.
|
METHOD AND APPARATUS FOR NETWORK PACKET CAPTURE DISTRIBUTED STORAGE SYSTEM | ||
Patent #
US 20090182953A1
Filed 04/01/2009
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
Solera Networks Inc.
|
METHOD AND APPARATUS FOR NETWORK PACKET CAPTURE DISTRIBUTED STORAGE SYSTEM | ||
Patent #
US 20090219829A1
Filed 05/21/2009
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
Solera Networks Inc.
|
Security system for network address translation systems | ||
Patent #
US 7,583,668 B1
Filed 08/09/2006
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
HARDWARE INTERFACE FOR ENABLING DIRECT ACCESS AND SECURITY ASSESSMENT SHARING | ||
Patent #
US 20090254984A1
Filed 06/24/2008
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Human input security codes | ||
Patent #
US 7,610,487 B2
Filed 06/28/2005
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
CAPTURE AND REGENERATION OF A NETWORK DATA USING A VIRTUAL SOFTWARE SWITCH | ||
Patent #
US 20090290501A1
Filed 05/25/2009
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
Solera Networks Inc.
|
Using time to determine a hash extension | ||
Patent #
US 7,624,264 B2
Filed 06/22/2005
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
ON DEMAND NETWORK ACTIVITY REPORTING THROUGH A DYNAMIC FILE SYSTEM AND METHOD | ||
Patent #
US 20090292736A1
Filed 05/23/2008
|
Current Assignee
Symantec Corporation
|
Original Assignee
Symantec Corporation
|
METHOD OF NEGOTIATING SECURITY PARAMETERS AND AUTHENTICATING USERS INTERCONNECTED TO A NETWORK | ||
Patent #
US 20090276828A1
Filed 07/09/2009
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Facilitating Protection Of A Maintenance Entity Group | ||
Patent #
US 20090276830A1
Filed 04/30/2008
|
Current Assignee
Fujitsu Limited
|
Original Assignee
Fujitsu Network Communications Incorporated
|
Method for securing RTS communications across middleboxes | ||
Patent #
US 7,639,668 B2
Filed 05/31/2005
|
Current Assignee
LGS Innovations LLC
|
Original Assignee
Alcatel-Lucent USA Inc.
|
System and method for secure electronic communication in a partially keyless environment | ||
Patent #
US 7,640,427 B2
Filed 06/17/2003
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
PGP Corporation
|
SECURE TRANSPORT FOR MOBILE COMMUNICATION NETWORK | ||
Patent #
US 20080037787A1
Filed 10/19/2007
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
OPTIMIZED TUNNELING METHODS IN A NETWORK | ||
Patent #
US 20080037498A1
Filed 08/10/2006
|
Current Assignee
Motorola Solutions Inc.
|
Original Assignee
Motorola Inc.
|
METHOD AND MOBILE NODE FOR PACKET TRANSMISSION IN MOBILE INTERNET PROTOCOL NETWORK | ||
Patent #
US 20080069009A1
Filed 09/14/2007
|
Current Assignee
Huawei Technologies Co. Ltd.
|
Original Assignee
Huawei Technologies Co. Ltd.
|
Method and apparatus for traversing a translation device with a security protocol | ||
Patent #
US 7,346,770 B2
Filed 10/31/2002
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Method and apparatus for dynamically securing voice and other delay-sensitive network traffic | ||
Patent #
US 7,366,894 B1
Filed 11/27/2002
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Method and apparatus for performing configuration over a network | ||
Patent #
US 7,366,898 B2
Filed 10/06/2003
|
Current Assignee
Oracle America Inc.
|
Original Assignee
Sun Microsystems Incorporated
|
Method and system for authenticating messages | ||
Patent #
US 7,370,197 B2
Filed 09/12/2002
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Integrated IP network | ||
Patent #
US 7,373,429 B2
Filed 07/15/2003
|
Current Assignee
The Distribution Systems Research Institute
|
Original Assignee
The Distribution Systems Research Institute, Miyaguchi Research Co. Ltd.
|
Dynamic key exchange for call forking scenarios | ||
Patent #
US 20080123849A1
Filed 09/21/2006
|
Current Assignee
RingCentral Incorporated
|
Original Assignee
Siemens Enterprise Communications Inc.
|
Method for mapping security associations to clients operating behind a network address translation device | ||
Patent #
US 7,386,881 B2
Filed 01/21/2003
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Addressing mechanisms in mobile IP | ||
Patent #
US 7,401,216 B2
Filed 10/23/2002
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
RFID TAG MANAGEMENT AND OPERATION | ||
Patent #
US 20080204248A1
Filed 02/23/2007
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Method and system for network based call-pickup | ||
Patent #
US 7,417,988 B1
Filed 06/30/2003
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
3Com Corporation
|
Methods and systems for authenticating messages | ||
Patent #
US 7,409,544 B2
Filed 03/27/2003
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Home gateway for executing a function of a security protocol and a method thereof | ||
Patent #
US 7,440,465 B2
Filed 12/17/2002
|
Current Assignee
Samsung Electronics Co. Ltd.
|
Original Assignee
Samsung Electronics Co. Ltd.
|
Method and apparatus for establishing a dynamic multipoint encrypted virtual private network | ||
Patent #
US 7,447,901 B1
Filed 09/18/2002
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Method and System for Network Based Call-Pickup | ||
Patent #
US 20080298361A1
Filed 07/16/2008
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
3Com Corporation
|
Peer-to-peer contact exchange | ||
Patent #
US 20070250700A1
Filed 04/21/2006
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Method and Apparatus for Network Packet Capture Distributed Storage System | ||
Patent #
US 20070248029A1
Filed 12/16/2005
|
Current Assignee
NortonLifeLock Inc.
|
Original Assignee
Solera Networks Inc.
|
Connecting IPv6 devices through IPv4 network and network address translator (NAT) using tunnel setup protocol | ||
Patent #
US 7,305,481 B2
Filed 01/07/2003
|
Current Assignee
Hexago Inc.
|
Original Assignee
Hexago Inc.
|
Secure transport for mobile communication network | ||
Patent #
US 7,305,700 B2
Filed 01/08/2003
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Call signs | ||
Patent #
US 20060005013A1
Filed 06/30/2004
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Human input security codes | ||
Patent #
US 20060020796A1
Filed 06/28/2005
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Non-cryptographic addressing | ||
Patent #
US 20060020807A1
Filed 06/22/2005
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Integrated information communication system | ||
Patent #
US 20060036768A1
Filed 10/19/2005
|
Current Assignee
The Distribution Systems Research Institute
|
Original Assignee
The Distribution Systems Research Institute, Miyaguchi Research Co. Ltd.
|
Using a network-service credential for access control | ||
Patent #
US 20060156390A1
Filed 01/07/2005
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Method for securing RTS communications across middleboxes | ||
Patent #
US 20060272009A1
Filed 05/31/2005
|
Current Assignee
LGS Innovations LLC
|
Original Assignee
Alcatel-Lucent USA Inc.
|
Method and arrangement for providing security through network address translations using tunneling and compensations | ||
Patent #
US 20060256815A1
Filed 05/12/2005
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
SSH Communications Security Ltd.
|
Method and network node for providing security in a radio access network | ||
Patent #
US 20050009501A1
Filed 09/26/2002
|
Current Assignee
Nokia Corporation
|
Original Assignee
Nokia Corporation
|
Method and apparatus for performing configuration over a network | ||
Patent #
US 20050055575A1
Filed 10/06/2003
|
Current Assignee
Oracle America Inc.
|
Original Assignee
Sun Microsystems Incorporated
|
Connection control system, connection control equipment and connection management equipment | ||
Patent #
US 20050144289A1
Filed 01/29/2004
|
Current Assignee
Hitachi America Limited
|
Original Assignee
Hitachi Communication Technologies Ltd., Hitachi America Limited
|
Communication apparatus, digital signature issuance method and apparatus, and digital signature transmission method | ||
Patent #
US 20050160273A1
Filed 01/21/2005
|
Current Assignee
Canon Kabushiki Kaisha
|
Original Assignee
Canon Kabushiki Kaisha
|
Translation bridge between ethernet and 1394A local links for consumer electronics devices | ||
Patent #
US 20050259600A1
Filed 04/11/2005
|
Current Assignee
Samsung Electronics Co. Ltd.
|
Original Assignee
Samsung Electronics Co. Ltd.
|
Method and system for managing multiple overlapping address domains | ||
Patent #
US 20050271047A1
Filed 06/02/2004
|
Current Assignee
Hewlett-Packard Development Company L.P.
|
Original Assignee
Hewlett-Packard Development Company L.P.
|
Network subnet relocation | ||
Patent #
US 20040034695A1
Filed 08/01/2003
|
Current Assignee
University of Southern California
|
Original Assignee
University of Southern California
|
Communicating with an entity inside a private network using an existing connection to initiate communication | ||
Patent #
US 20040044777A1
Filed 08/30/2002
|
Current Assignee
F Poszat Hu LLC
|
Original Assignee
Inpro Network Facility LLC
|
Integrated IP network | ||
Patent #
US 20040054810A1
Filed 07/15/2003
|
Current Assignee
The Distribution Systems Research Institute
|
Original Assignee
The Distribution Systems Research Institute, Miyaguchi Research Co. Ltd.
|
Method and apparatus for transmitting data in a system using network address translation | ||
Patent #
US 20040071149A1
Filed 12/31/2002
|
Current Assignee
Electronics and Telecommunications Research Institute
|
Original Assignee
Electronics and Telecommunications Research Institute
|
Method and apparatus for traversing a translation device with a security protocol | ||
Patent #
US 20040088537A1
Filed 10/31/2002
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Secure wireless mobile communications | ||
Patent #
US 20040103311A1
Filed 11/27/2002
|
Current Assignee
Telcordia Technologies Incorporated
|
Original Assignee
Telcordia Technologies Incorporated
|
Method for mapping security associations to clients operating behind a network address translation device | ||
Patent #
US 20040143758A1
Filed 01/21/2003
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
System and method for dynamic data security operations | ||
Patent #
US 20040133774A1
Filed 06/17/2003
|
Current Assignee
NortonLifeLock Inc.
|
Original Assignee
NortonLifeLock Inc.
|
System and method for secure and transparent electronic communication | ||
Patent #
US 20040133520A1
Filed 06/17/2003
|
Current Assignee
NortonLifeLock Inc.
|
Original Assignee
NortonLifeLock Inc.
|
Method and apparatus for connecting IPV6 devices through an IPv4 network and a network address translator (NAT) using a tunnel setup protocol | ||
Patent #
US 20040133692A1
Filed 01/07/2003
|
Current Assignee
Hexago Inc.
|
Original Assignee
Hexago Inc.
|
Method and apparatus for ensuring address information of a wireless terminal device in communications network | ||
Patent #
US 20040148374A1
Filed 05/01/2003
|
Current Assignee
Nokia Technologies Oy
|
Original Assignee
Nokia Corporation
|
System and method for secure electronic communication in a partially keyless environment | ||
Patent #
US 20040133775A1
Filed 06/17/2003
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
PGP Corporation
|
Methods and systems for authenticating messages | ||
Patent #
US 20040193875A1
Filed 03/27/2003
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Data transmission controlling method and data transmission system | ||
Patent #
US 20040202328A1
Filed 04/15/2004
|
Current Assignee
Sony Corporation
|
Original Assignee
Sony Corporation
|
Network address translator application programming interface | ||
Patent #
US 20040210660A1
Filed 05/11/2004
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
System for negotiating security association on application layer | ||
Patent #
US 20040210766A1
Filed 09/03/2002
|
Current Assignee
Siemens AG
|
Original Assignee
Siemens AG
|
Group agent | ||
Patent #
US 20040249973A1
Filed 03/31/2003
|
Current Assignee
Inpro Network Facility LLC
|
Original Assignee
Inpro Network Facility LLC
|
System, method , and computer program product for resolving addressing in a network including a network address translator | ||
Patent #
US 20040252683A1
Filed 09/29/2003
|
Current Assignee
Net2Phone Inc.
|
Original Assignee
Net2phone
|
OFDM/DMT/ digital communications system including partial sequence symbol processing | ||
Patent #
US 20040246890A1
Filed 07/02/2004
|
Current Assignee
Tellabs Operations Incorporated
|
Original Assignee
Tellabs Operations Incorporated
|
Secure virtual address realm | ||
Patent #
US 20040249974A1
Filed 03/31/2003
|
Current Assignee
Inpro Network Facility LLC
|
Original Assignee
Inpro Network Facility LLC
|
System and method for accelerating cryptographically secured transactions | ||
Patent #
US 20030046532A1
Filed 08/31/2001
|
Current Assignee
Matthew Gast
|
Original Assignee
Matthew Gast
|
Addressing mechanisms in mobile IP | ||
Patent #
US 20030084293A1
Filed 10/23/2002
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Home gateway for executing a function of a security protocol and a method thereof | ||
Patent #
US 20030128695A1
Filed 12/17/2002
|
Current Assignee
Samsung Electronics Co. Ltd.
|
Original Assignee
Samsung Electronics Co. Ltd.
|
Method and apparatus for fragmenting and reassembling internet key exchange data packets | ||
Patent #
US 20030142823A1
Filed 01/25/2002
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Secure transport for mobile communication network | ||
Patent #
US 20030235308A1
Filed 01/08/2003
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Network address translation and port mapping | ||
Patent #
US 20020129165A1
Filed 03/12/2001
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Personal server system | ||
Patent #
US 20020156860A1
Filed 06/05/2002
|
Current Assignee
ANYWHEREMOBILE INC.
|
Original Assignee
ANYWHEREMOBILE INC.
|
Method and arrangement for providing security through network address translations using tunneling and compensations | ||
Patent #
US 8,127,348 B2
Filed 05/12/2005
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
Tectia Oyj
|
Secure end-to-end transport through intermediary nodes | ||
Patent #
US 8,127,342 B2
Filed 09/23/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
METHOD AND ARRANGEMENT FOR PROVIDING SECURITY THROUGH NETWORK ADDRESS TRANSLATIONS USING TUNNELING AND COMPENSATIONS | ||
Patent #
US 20110320623A1
Filed 09/08/2011
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
Tectia Oyj
|
Peer-to-peer contact exchange | ||
Patent #
US 8,086,842 B2
Filed 04/21/2006
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Creating a public identity for an entity on a network | ||
Patent #
US 8,090,843 B2
Filed 04/15/2011
|
Current Assignee
F Poszat Hu LLC
|
Original Assignee
Impro Network Facility LLC
|
Provisioning applications for a mobile device | ||
Patent #
US 8,078,158 B2
Filed 06/26/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Provisioning of e-mail settings for a mobile terminal | ||
Patent #
US 8,116,214 B2
Filed 11/30/2005
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile virtual network operator | ||
Patent #
US 8,107,921 B2
Filed 01/11/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Spectrally constrained impulse shortening filter for a discrete multi-tone receiver | ||
Patent #
US 8,102,928 B2
Filed 09/25/2008
|
Current Assignee
Tellabs Operations Incorporated
|
Original Assignee
Tellabs Operations Incorporated
|
Approaches for automatically switching message authentication keys | ||
Patent #
US 8,140,851 B1
Filed 02/24/2006
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
SYSTEMS AND METHODS FOR MANAGEMENT OF SECURE DATA IN CLOUD-BASED NETWORK | ||
Patent #
US 20120096567A1
Filed 12/22/2011
|
Current Assignee
Red Hat Inc.
|
Original Assignee
Red Hat Inc.
|
Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses | ||
Patent #
US 8,165,140 B2
Filed 11/12/2008
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
Symantec Corporation
|
Application and network-based long poll request detection and cacheability assessment therefor | ||
Patent #
US 8,166,164 B1
Filed 10/14/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Distributed network security system and a hardware processor therefor | ||
Patent #
US 8,181,239 B2
Filed 07/21/2008
|
Current Assignee
IP Program Inc.
|
Original Assignee
Ashish A. Pandya
|
Cache defeat detection and caching of content addressed by identifiers intended to defeat cache | ||
Patent #
US 8,190,701 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Communicating with an entity inside a private network using an existing connection to initiate communication | ||
Patent #
US 8,234,358 B2
Filed 08/30/2002
|
Current Assignee
F Poszat Hu LLC
|
Original Assignee
Inpro Network Facility LLC
|
Method and arrangement for providing security through network address translations using tunneling and compensations | ||
Patent #
US 8,245,288 B2
Filed 09/08/2011
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
Tectia Oyj
|
Dynamic key exchange for call forking scenarios | ||
Patent #
US 8,249,238 B2
Filed 09/21/2006
|
Current Assignee
RingCentral Incorporated
|
Original Assignee
Siemens Enterprise Communications Inc.
|
Non-cryptographic addressing | ||
Patent #
US 8,261,062 B2
Filed 06/22/2005
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Method of negotiating security parameters and authenticating users interconnected to a network | ||
Patent #
US 8,275,989 B2
Filed 07/09/2009
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Acceleration through a network tunnel | ||
Patent #
US 8,274,981 B2
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Core-based satellite network architecture | ||
Patent #
US 8,279,748 B2
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Application and network-based long poll request detection and cacheability assessment therefor | ||
Patent #
US 8,291,076 B2
Filed 03/05/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Time-domain equalization for discrete multi-tone systems | ||
Patent #
US 8,315,299 B2
Filed 03/07/2011
|
Current Assignee
Tellabs Operations Incorporated
|
Original Assignee
Tellabs Operations Incorporated
|
Social caching for device resource sharing and management | ||
Patent #
US 8,316,098 B2
Filed 04/19/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Distributed management of keep-alive message signaling for mobile network resource conservation and optimization | ||
Patent #
US 8,326,985 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Access node/gateway to access node/gateway layer-2 connectivity (end-to-end) | ||
Patent #
US 8,345,650 B2
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
System and method for a mobile device to use physical storage of another device for caching | ||
Patent #
US 8,356,080 B2
Filed 07/20/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mitigating the impact of handoffs through comparison of historical call lengths | ||
Patent #
US 8,359,028 B1
Filed 06/15/2010
|
Current Assignee
Sprint Spectrum LP
|
Original Assignee
Sprint Spectrum LP
|
Electronic-mail filtering for mobile devices | ||
Patent #
US 8,364,181 B2
Filed 12/10/2007
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method and arrangement for providing security through network address translations using tunneling and compensations | ||
Patent #
US 8,365,273 B2
Filed 01/08/2010
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
Tectia Oyj
|
Layer-2 connectivity from switch to access node/gateway | ||
Patent #
US 8,379,613 B2
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Combining mobile VPN and internet protocol | ||
Patent #
US 8,379,623 B2
Filed 07/10/2007
|
Current Assignee
Motorola Solutions Inc.
|
Original Assignee
Motorola Solutions Inc.
|
Mitigating the impact of handoffs through comparison of non-preferred wireless coverage areas | ||
Patent #
US 8,391,858 B1
Filed 06/15/2010
|
Current Assignee
Sprint Spectrum LP
|
Original Assignee
Sprint Spectrum LP
|
Communication apparatus, digital signature issuance method and apparatus, and digital signature transmission method | ||
Patent #
US 8,392,716 B2
Filed 01/21/2005
|
Current Assignee
Canon Kabushiki Kaisha
|
Original Assignee
Canon Kabushiki Kaisha
|
Context aware data presentation | ||
Patent #
US 8,412,675 B2
Filed 02/24/2006
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Aligning data transfer to optimize connections established for transmission over a wireless network | ||
Patent #
US 8,417,823 B2
Filed 11/18/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Address translator using address translation information in header area on network layer level and a method therefor | ||
Patent #
US 8,422,503 B2
Filed 07/20/2009
|
Current Assignee
OKI Electric Industry Company Limited
|
Original Assignee
OKI Electric Industry Company Limited
|
Multi-satellite architecture | ||
Patent #
US 8,427,999 B2
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Flexible real-time inbox access | ||
Patent #
US 8,438,633 B1
Filed 12/18/2006
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
NAT traversal for media conferencing | ||
Patent #
US 8,443,090 B2
Filed 10/20/2011
|
Current Assignee
Apple Inc.
|
Original Assignee
Apple Inc.
|
Traceback packet transport protocol | ||
Patent #
US 8,446,834 B2
Filed 10/21/2011
|
Current Assignee
Cryptosoft Limited
|
Original Assignee
DeviceAuthority Inc. fka NetAuthority Inc.
|
Mobility across satellite beams using L2 connectivity | ||
Patent #
US 8,457,035 B2
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Publishing data in an information community | ||
Patent #
US 8,468,126 B2
Filed 12/14/2005
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Distributed caching in a wireless network of content delivered for a mobile application over a long-held request | ||
Patent #
US 8,484,314 B2
Filed 10/14/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Provisioning applications for a mobile device | ||
Patent #
US 8,494,510 B2
Filed 12/06/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for securing an electronic communication | ||
Patent #
US 8,495,359 B2
Filed 06/02/2010
|
Current Assignee
Uniloc 2017 LLC
|
Original Assignee
DeviceAuthority Inc. fka NetAuthority Inc.
|
Presentation of an extracted artifact based on an indexing technique | ||
Patent #
US 8,521,732 B2
Filed 05/25/2009
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
Solera Networks Inc.
|
Mobile network background traffic data management with optimized polling intervals | ||
Patent #
US 8,539,040 B2
Filed 02/28/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method for performing an authentication of entities during establishment of wireless call connection | ||
Patent #
US 8,543,089 B2
Filed 04/30/2008
|
Current Assignee
LG Electronics Inc.
|
Original Assignee
LG Electronics Inc.
|
Method and arrangement for providing security through network address translations using tunneling and compensations | ||
Patent #
US 8,544,079 B2
Filed 08/24/2010
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
Tectia Oyj
|
OFDM/DMT/ digital communications system including partial sequence symbol processing | ||
Patent #
US 8,547,823 B2
Filed 07/02/2004
|
Current Assignee
Tellabs Operations Incorporated
|
Original Assignee
Tellabs Operations Incorporated
|
Secure end-to-end transport through intermediary nodes | ||
Patent #
US 8,549,587 B2
Filed 02/14/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Methods and systems for efficient deployment of communication filters | ||
Patent #
US 8,554,178 B1
Filed 07/22/2009
|
Current Assignee
Sprint Spectrum LP
|
Original Assignee
Sprint Spectrum LP
|
System and method for executing commands that are non-native to the native environment of a mobile device | ||
Patent #
US 8,561,086 B2
Filed 05/17/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Supporting simple IP with address translation in a proxy mobile IP gateway | ||
Patent #
US 8,565,129 B1
Filed 09/01/2010
|
Current Assignee
Sprint Spectrum LP
|
Original Assignee
Sprint Spectrum LP
|
NAT traversal for media conferencing | ||
Patent #
US 8,572,172 B2
Filed 10/20/2011
|
Current Assignee
Apple Inc.
|
Original Assignee
Apple Inc.
|
Systems and methods for providing update notifications to mobile devices using mobile-IP extensions | ||
Patent #
US 8,578,005 B1
Filed 08/13/2008
|
Current Assignee
Sprint Spectrum LP
|
Original Assignee
Sprint Spectrum LP
|
METHOD AND ARRANGEMENT FOR PROVIDING SECURITY THROUGH NETWORK ADDRESS TRANSLATIONS USING TUNNELING AND COMPENSATIONS | ||
Patent #
US 20130339524A1
Filed 08/26/2013
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
Tectia Oyj
|
METHOD AND ARRANGEMENT FOR PROVIDING SECURITY THROUGH NETWORK ADDRESS TRANSLATIONS USING TUNNELING AND COMPENSATIONS | ||
Patent #
US 20130346556A1
Filed 08/28/2013
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
Tectia Oyj
|
METHOD AND ARRANGEMENT FOR PROVIDING SECURITY THROUGH NETWORK ADDRESS TRANSLATIONS USING TUNNELING AND COMPENSATIONS | ||
Patent #
US 20130347122A1
Filed 08/26/2013
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
Tectia Oyj
|
METHOD AND ARRANGEMENT FOR PROVIDING SECURITY THROUGH NETWORK ADDRESS TRANSLATIONS USING TUNNELING AND COMPENSATIONS | ||
Patent #
US 20130346555A1
Filed 08/28/2013
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
Tectia Oyj
|
METHOD AND ARRANGEMENT FOR PROVIDING SECURITY THROUGH NETWORK ADDRESS TRANSLATIONS USING TUNNELING AND COMPENSATIONS | ||
Patent #
US 20140007219A1
Filed 08/26/2013
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
Tectia Oyj
|
Detecting and preserving state for satisfying application requests in a distributed proxy and cache system | ||
Patent #
US 8,621,075 B2
Filed 04/27/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Method and apparatus of network artifact indentification and extraction | ||
Patent #
US 8,625,642 B2
Filed 05/23/2008
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
Solera Networks Inc.
|
Cache state management on a mobile device to preserve user experience | ||
Patent #
US 8,635,339 B2
Filed 08/22/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for management of secure data in cloud-based network | ||
Patent #
US 8,639,950 B2
Filed 12/22/2011
|
Current Assignee
Red Hat Inc.
|
Original Assignee
Red Hat Inc.
|
Supporting simple IP with address translation in a wireless communication device | ||
Patent #
US 8,649,355 B1
Filed 09/01/2010
|
Current Assignee
Sprint Spectrum LP
|
Original Assignee
Sprint Spectrum LP
|
Hardware accelerated application-based pattern matching for real time classification and recording of network traffic | ||
Patent #
US 8,666,985 B2
Filed 03/15/2012
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
Solera Networks Inc.
|
Polling | ||
Patent #
US 8,693,494 B2
Filed 03/31/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Cache defeat detection and caching of content addressed by identifiers intended to defeat cache | ||
Patent #
US 8,700,728 B2
Filed 05/17/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Cross-platform event engine | ||
Patent #
US 8,209,709 B2
Filed 07/05/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Distributed system for cache defeat detection and caching of content addressed by identifiers intended to defeat cache | ||
Patent #
US 8,204,953 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Electronic-mail filtering for mobile devices | ||
Patent #
US 8,738,050 B2
Filed 01/07/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Hardware interface for enabling direct access and security assessment sharing | ||
Patent #
US 8,739,289 B2
Filed 06/24/2008
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network | ||
Patent #
US 8,750,123 B1
Filed 07/31/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Facilitating protection of a maintenance entity group | ||
Patent #
US 8,752,131 B2
Filed 04/30/2008
|
Current Assignee
Fujitsu Limited
|
Original Assignee
Fujitsu Limited
|
Traceback packet transport protocol | ||
Patent #
US 8,755,386 B2
Filed 04/26/2013
|
Current Assignee
Cryptosoft Limited
|
Original Assignee
Device Authority Inc.
|
Maintaining an IP connection in a mobile network | ||
Patent #
US 8,761,756 B2
Filed 09/13/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks International Oy
|
Integrated messaging | ||
Patent #
US 8,774,844 B2
Filed 04/08/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications | ||
Patent #
US 8,775,631 B2
Filed 02/25/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Timing of keep-alive messages used in a system for mobile network resource conservation and optimization | ||
Patent #
US 8,782,222 B2
Filed 09/05/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Application discovery on mobile devices | ||
Patent #
US 8,787,947 B2
Filed 06/18/2008
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Content delivery to a mobile device from a content service | ||
Patent #
US 8,793,305 B2
Filed 12/13/2007
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
System and method of a relay server for managing communications and notification between a mobile device and a web access server | ||
Patent #
US 8,799,410 B2
Filed 04/13/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Layer-2 extension services | ||
Patent #
US 8,804,730 B2
Filed 04/16/2010
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Maintaining mobile terminal information for secure communications | ||
Patent #
US 8,805,334 B2
Filed 09/05/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Integrated messaging | ||
Patent #
US 8,805,425 B2
Filed 01/28/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile device power management in data synchronization over a mobile network with or without a trigger notification | ||
Patent #
US 8,811,952 B2
Filed 05/05/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method and system for management of a virtual network connection without heartbeat messages | ||
Patent #
US 8,812,695 B2
Filed 04/03/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
System and method for tracking billing events in a mobile wireless network for a network operator | ||
Patent #
US 8,831,561 B2
Filed 04/28/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief | ||
Patent #
US 8,832,228 B2
Filed 04/26/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Distributed caching for resource and mobile network traffic management | ||
Patent #
US 8,838,783 B2
Filed 07/05/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Flexible real-time inbox access | ||
Patent #
US 8,839,412 B1
Filed 09/13/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Web-based access to data objects | ||
Patent #
US 8,838,744 B2
Filed 01/28/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile traffic categorization and policy for network use optimization while preserving user experience | ||
Patent #
US 8,843,153 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for hypertext transfer protocol layered reconstruction | ||
Patent #
US 8,849,991 B2
Filed 12/15/2010
|
Current Assignee
CA Inc. dba CA Technologies
|
Original Assignee
Blue Coat Systems Incorporated
|
System for providing policy based content service in a mobile network | ||
Patent #
US 8,849,902 B2
Filed 06/24/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization | ||
Patent #
US 8,861,354 B2
Filed 12/14/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Policy based content service | ||
Patent #
US 8,862,657 B2
Filed 01/25/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation | ||
Patent #
US 8,868,753 B2
Filed 12/06/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Provisioning of e-mail settings for a mobile terminal | ||
Patent #
US 8,873,411 B2
Filed 01/12/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols | ||
Patent #
US 8,874,761 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Device-specific content delivery | ||
Patent #
US 8,881,280 B2
Filed 11/07/2013
|
Current Assignee
Uniloc Luxembourg S. r.l. fka Uniloc Luxembourg S.A.
|
Original Assignee
Uniloc Luxembourg S. r.l. fka Uniloc Luxembourg S.A.
|
Mobile application traffic optimization | ||
Patent #
US 8,886,176 B2
Filed 07/22/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Assigning a type of address based on expected port utilization | ||
Patent #
US 8,892,724 B1
Filed 10/08/2010
|
Current Assignee
Sprint Spectrum LP
|
Original Assignee
Sprint Spectrum LP
|
Optimization of resource polling intervals to satisfy mobile device requests | ||
Patent #
US 8,903,954 B2
Filed 11/22/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile virtual network operator | ||
Patent #
US 8,909,192 B2
Filed 08/11/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Bandwidth measurement | ||
Patent #
US 8,909,759 B2
Filed 10/12/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Detection and management of user interactions with foreground applications on a mobile device in distributed caching | ||
Patent #
US 8,909,202 B2
Filed 01/07/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for providing a network service in a distributed fashion to a mobile device | ||
Patent #
US 8,914,002 B2
Filed 08/11/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Revealing address information in systems where network address translations occur | ||
Patent #
US 8,914,873 B2
Filed 08/28/2013
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
SSH Communications Security Oyj
|
Revealing occurrence of network address translations | ||
Patent #
US 8,914,872 B2
Filed 08/26/2013
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
SSH Communications Security Oyj
|
Optimization of mobile traffic directed to private networks and operator configurability thereof | ||
Patent #
US 8,918,503 B2
Filed 08/28/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Communications across a network address translator | ||
Patent #
US 8,918,858 B2
Filed 08/28/2013
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
SSH Communications Security Oyj
|
Method and apparatus for intercepting events in a communication system | ||
Patent #
US RE45,348 E1
Filed 03/16/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Customer notification program alerting customer-specified network address of unauthorized access attempts to customer account | ||
Patent #
US 8,949,954 B2
Filed 12/07/2012
|
Current Assignee
Uniloc 2017 LLC
|
Original Assignee
Uniloc Luxembourg S. r.l. fka Uniloc Luxembourg S.A.
|
Access node/gateway to access node/gateway layer-2 connectivity (end-to-end) | ||
Patent #
US 8,948,149 B2
Filed 11/29/2012
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Application and network-based long poll request detection and cacheability assessment therefor | ||
Patent #
US 8,966,066 B2
Filed 10/12/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Communications across a network address translator | ||
Patent #
US 8,973,127 B2
Filed 08/26/2013
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
SSH Communications Security Oyj
|
Determining occurrence of a network address translation | ||
Patent #
US 8,973,126 B2
Filed 08/26/2013
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
SSH Communications Security Oyj
|
Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation | ||
Patent #
US 8,977,755 B2
Filed 12/06/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Monitoring mobile application activities for malicious traffic on a mobile device | ||
Patent #
US 8,984,581 B2
Filed 07/11/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Connection architecture for a mobile network | ||
Patent #
US 8,989,728 B2
Filed 09/07/2006
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Predictive content delivery | ||
Patent #
US 9,002,828 B2
Filed 01/02/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation | ||
Patent #
US 9,009,250 B2
Filed 12/07/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Filter for impulse response shortening with additional spectral constraints for multicarrier transmission | ||
Patent #
US 9,014,250 B2
Filed 12/28/2012
|
Current Assignee
Tellabs Operations Incorporated
|
Original Assignee
Tellabs Operations Incorporated
|
Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system | ||
Patent #
US 9,021,021 B2
Filed 12/10/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
3D mobile user interface with configurable workspace management | ||
Patent #
US 9,043,731 B2
Filed 03/30/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile network traffic coordination across multiple applications | ||
Patent #
US 9,043,433 B2
Filed 05/25/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Intelligent rendering of information in a limited display environment | ||
Patent #
US 9,047,142 B2
Filed 12/16/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile network traffic coordination across multiple applications | ||
Patent #
US 9,049,179 B2
Filed 01/20/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Location-based operations and messaging | ||
Patent #
US 9,055,102 B2
Filed 08/02/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic | ||
Patent #
US 9,060,032 B2
Filed 05/09/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network | ||
Patent #
US 9,065,765 B2
Filed 10/08/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Maintaining network address translations | ||
Patent #
US 9,071,578 B2
Filed 08/28/2013
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
SSH Communications Security Oyj
|
Distributed implementation of dynamic wireless traffic policy | ||
Patent #
US 9,077,630 B2
Filed 07/08/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Device resources sharing for network resource conservation | ||
Patent #
US 9,084,105 B2
Filed 04/19/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile network background traffic data management | ||
Patent #
US 9,100,873 B2
Filed 09/14/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Management of secure data in cloud-based network | ||
Patent #
US 9,112,836 B2
Filed 01/14/2014
|
Current Assignee
Red Hat Inc.
|
Original Assignee
Red Hat Inc.
|
Managing cache to prevent overloading of a wireless network due to user activity | ||
Patent #
US 9,131,397 B2
Filed 06/06/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
100GBPS security and search architecture using programmable intelligent search memory | ||
Patent #
US 9,129,043 B2
Filed 05/15/2012
|
Current Assignee
Ashish A. Pandya
|
Original Assignee
Ashish A. Pandya
|
Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine | ||
Patent #
US 9,141,557 B2
Filed 06/12/2014
|
Current Assignee
Ashish A. Pandya
|
Original Assignee
Ashish A. Pandya
|
Tunnelling of Information | ||
Patent #
US 20150271140A1
Filed 05/21/2015
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
Tectia Oyj
|
Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion | ||
Patent #
US 9,161,258 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol | ||
Patent #
US 9,173,128 B2
Filed 03/06/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
SYSTEM AND METHOD FOR NETWORK ADDRESSING | ||
Patent #
US 20150312209A1
Filed 04/27/2015
|
Current Assignee
Trustiosity LLC
|
Original Assignee
David J. Geib
|
Assignment of wireless network resources | ||
Patent #
US 9,185,606 B1
Filed 10/12/2012
|
Current Assignee
Sprint Spectrum LP
|
Original Assignee
Sprint Spectrum LP
|
Dynamic categorization of applications for network access in a mobile network | ||
Patent #
US 9,203,864 B2
Filed 02/04/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor | ||
Patent #
US 9,208,123 B2
Filed 12/07/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Mobile device with application or context aware fast dormancy | ||
Patent #
US 9,241,314 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network | ||
Patent #
US 9,239,800 B2
Filed 07/11/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Extending user relationships | ||
Patent #
US 9,251,193 B2
Filed 10/28/2007
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Mobility across satellite beams using L2 connectivity | ||
Patent #
US 9,264,127 B2
Filed 05/07/2013
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Application or context aware fast dormancy | ||
Patent #
US 9,271,238 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Request and response characteristics based adaptation of distributed caching in a mobile network | ||
Patent #
US 9,275,163 B2
Filed 10/17/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol | ||
Patent #
US 9,277,443 B2
Filed 12/07/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Layer-2 connectivity from switch to access node/gateway | ||
Patent #
US 9,276,663 B2
Filed 01/11/2013
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Device-specific content delivery | ||
Patent #
US 9,294,491 B2
Filed 10/31/2014
|
Current Assignee
Uniloc Luxembourg S. r.l. fka Uniloc Luxembourg S.A.
|
Original Assignee
Uniloc Luxembourg S. r.l. fka Uniloc Luxembourg S.A.
|
System and method for a mobile device to use physical storage of another device for caching | ||
Patent #
US 9,300,719 B2
Filed 01/14/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for application management of mobile device radio state promotion and demotion | ||
Patent #
US 9,307,493 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
System and method for reduction of mobile network traffic used for domain name system (DNS) queries | ||
Patent #
US 9,325,662 B2
Filed 01/09/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
User as an end point for profiling and optimizing the delivery of content and data in a wireless network | ||
Patent #
US 9,326,189 B2
Filed 02/04/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Wireless traffic management system cache optimization using http headers | ||
Patent #
US 9,330,196 B2
Filed 06/14/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Mobile application traffic optimization | ||
Patent #
US 9,407,713 B2
Filed 01/16/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Layer-2 extension services | ||
Patent #
US 9,419,702 B2
Filed 07/08/2014
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Mobility across satellite beams using L2 connectivity | ||
Patent #
US 9,432,896 B2
Filed 01/13/2016
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Near field authentication through communication of enclosed content sound waves | ||
Patent #
US 9,564,952 B2
Filed 01/04/2013
|
Current Assignee
Uniloc 2017 LLC
|
Original Assignee
Uniloc Luxembourg S. r.l. fka Uniloc Luxembourg S.A.
|
OptiArmor Secure Separation Device | ||
Patent #
US 20170063789A1
Filed 08/03/2015
|
Current Assignee
SRC Inc.
|
Original Assignee
SRC Inc.
|
Programmable intelligent search memory (PRISM) and cryptography engine enabled secure DRAM | ||
Patent #
US 9,589,158 B2
Filed 08/18/2015
|
Current Assignee
Ashish A. Pandya
|
Original Assignee
Ashish A. Pandya
|
Maintaining network address translations | ||
Patent #
US 9,667,594 B2
Filed 09/02/2016
|
Current Assignee
SSH Communications Security Oyj
|
Original Assignee
SSH Communications Security Oyj
|
Mobile device configured for communicating with another mobile device associated with an associated user | ||
Patent #
US 9,712,986 B2
Filed 03/22/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Layer-2 connectivity from switch to access node/gateway | ||
Patent #
US 9,774,385 B2
Filed 01/07/2016
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Persistent network addressing system and method | ||
Patent #
US 9,794,218 B2
Filed 04/27/2015
|
Current Assignee
Trustiosity LLC
|
Original Assignee
Trustiosity LLC
|
Mobility across satellite beams using L2 connectivity | ||
Patent #
US 9,800,322 B2
Filed 07/22/2016
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic | ||
Patent #
US 9,832,095 B2
Filed 12/14/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Layer-2 extension services | ||
Patent #
US 9,887,766 B2
Filed 07/12/2016
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
DEVICE, SYSTEM AND METHOD FOR DEFENDING A COMPUTER NETWORK | ||
Patent #
US 20180041473A1
Filed 10/23/2017
|
Current Assignee
McAfee LLC
|
Original Assignee
McAfee LLC
|
Programmable intelligent search memory enabled secure flash memory | ||
Patent #
US 9,952,983 B2
Filed 01/26/2017
|
Current Assignee
Ashish A. Pandya
|
Original Assignee
Ashish A. Pandya
|
Near field authentication through communication of enclosed content sound waves | ||
Patent #
US 10,068,224 B2
Filed 02/03/2017
|
Current Assignee
Uniloc 2017 LLC
|
Original Assignee
Uniloc 2017 LLC
|
Method and system for implementing zone-restricted behavior of a computing device | ||
Patent #
US 10,206,060 B2
Filed 01/04/2013
|
Current Assignee
Uniloc 2017 LLC
|
Original Assignee
Uniloc 2017 LLC
|
Layer-2 connectivity from switch to access node/gateway | ||
Patent #
US 10,218,432 B2
Filed 09/25/2017
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network | ||
Patent #
US 10,263,899 B2
Filed 04/10/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Mobility across satellite beams using L2 connectivity | ||
Patent #
US 10,404,355 B2
Filed 10/03/2017
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Data leak protection in upper layer protocols | ||
Patent #
US 10,505,900 B2
Filed 09/04/2017
|
Current Assignee
Fortinet Inc.
|
Original Assignee
Fortinet Inc.
|
NAT traversal for media conferencing | ||
Patent #
US 10,630,730 B2
Filed 10/25/2013
|
Current Assignee
Apple Inc.
|
Original Assignee
Apple Inc.
|
Method and system for sending a message through a secure connection | ||
Patent #
US 10,673,818 B2
Filed 06/01/2017
|
Current Assignee
MPH Technologies Oy
|
Original Assignee
MPH Technologies Oy
|
Layer-2 connectivity from switch to access node/gateway | ||
Patent #
US 10,680,704 B2
Filed 01/18/2019
|
Current Assignee
Viasat Inc.
|
Original Assignee
Viasat Inc.
|
Globally deployable context aware VPN headends in scale through namespaces | ||
Patent #
US 10,778,646 B2
Filed 05/07/2018
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Device, system and method for defending a computer network | ||
Patent #
US 10,785,191 B2
Filed 10/23/2017
|
Current Assignee
McAfee LLC
|
Original Assignee
McAfee LLC
|
Communicating packet data with a mobile station roaming within an incompatible mobile network | ||
Patent #
US 6,137,791 A
Filed 03/25/1997
|
Current Assignee
Telefonaktiebolaget LM Ericsson
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Gateway apparatus and packet routing method | ||
Patent #
US 6,101,189 A
Filed 09/18/1997
|
Current Assignee
Fujitsu Limited
|
Original Assignee
Fujitsu Limited
|
Method and system for addressing network host interfaces from a cable modem using DHCP | ||
Patent #
US 6,058,421 A
Filed 02/04/1998
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
3Com Corporation
|
System and method for communication of audio data over a packet-based network | ||
Patent #
US 5,526,353 A
Filed 12/20/1994
|
Current Assignee
Arthur Henley, Scott Grau
|
Original Assignee
E-Net Inc.
|
System and method for IP network address translation and IP filtering with dynamic address resolution | ||
Patent #
US 6,266,707 B1
Filed 08/17/1998
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Method and apparatus for selecting an internet/PSTN changeover server for a packet based phone call | ||
Patent #
US 5,889,774 A
Filed 03/14/1997
|
Current Assignee
ITXC IP Holdings SARL
|
Original Assignee
eFusion Inc.
|
Controlling passage of packets or messages via a virtual connection or flow | ||
Patent #
US 5,828,846 A
Filed 11/22/1995
|
Current Assignee
Symantec Corporation
|
Original Assignee
Raptor Systems Inc.
|
Enhanced internet domain name server | ||
Patent #
US 6,104,711 A
Filed 03/06/1997
|
Current Assignee
Verizon Patent and Licensing Incorporated
|
Original Assignee
Bell Atlantic Network Services Inc.
|
Mapping of routing traffic to switching networks | ||
Patent #
US 6,055,561 A
Filed 09/30/1997
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Secure firewall supporting different levels of authentication based on address or encryption status | ||
Patent #
US 5,983,350 A
Filed 09/18/1996
|
Current Assignee
McAfee LLC
|
Original Assignee
Secure Computing Corporation
|
Method and apparatus for providing telecommunication services based on a subscriber profile updated by a personal information manager | ||
Patent #
US 5,933,778 A
Filed 06/04/1996
|
Current Assignee
ATT Mobility II LLC
|
Original Assignee
ATT Wireless Services Incorporated
|
Multiple parallel packet routing lookup | ||
Patent #
US 6,212,183 B1
Filed 08/22/1997
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Generalized security policy management system and method | ||
Patent #
US 5,950,195 A
Filed 09/18/1996
|
Current Assignee
McAfee LLC
|
Original Assignee
Secure Computing Corporation
|
Mobile IP mobility agent standby protocol | ||
Patent #
US 6,195,705 B1
Filed 06/30/1998
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Packet communication system | ||
Patent #
US 5,654,957 A
Filed 05/09/1995
|
Current Assignee
Hitachi America Limited
|
Original Assignee
Hitachi America Limited
|
Technique for capturing information needed to implement transmission priority routing among heterogeneous nodes of a computer network | ||
Patent #
US 6,115,751 A
Filed 04/10/1997
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Security system for network address translation systems | ||
Patent #
US 5,793,763 A
Filed 11/03/1995
|
Current Assignee
Cisco Technology Incorporated
|
Original Assignee
Cisco Technology Incorporated
|
Method and apparatus for interconnecting ATM-attached hosts with telephone-network attached hosts | ||
Patent #
US 5,737,333 A
Filed 06/23/1995
|
Current Assignee
Lucent Technologies Inc.
|
Original Assignee
Lucent Technologies Inc., ATT Inc.
|
Service name to network address translation in communications network | ||
Patent #
US 5,227,778 A
Filed 04/05/1991
|
Current Assignee
Enterasys Networks Incorporated
|
Original Assignee
Digital Equipment Corporation
|
Routing method and system using an internet protocol | ||
Patent #
US 5,754,547 A
Filed 04/26/1996
|
Current Assignee
NEC Corporation
|
Original Assignee
NEC Corporation
|
System for reverse address resolution for remote network device independent of its physical address | ||
Patent #
US 5,526,489 A
Filed 03/19/1993
|
Current Assignee
HP Inc.
|
Original Assignee
3Com Corporation
|
Directory server for providing dynamically assigned network protocol addresses | ||
Patent #
US 6,185,184 B1
Filed 09/25/1996
|
Current Assignee
Straight Path IP Group Inc.
|
Original Assignee
NetSpeak Corporation
|
Method and system for setting and managing externally provided internet protocol addresses using the dynamic host configuration protocol | ||
Patent #
US 6,212,563 B1
Filed 10/01/1998
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
3Com Corporation
|
Network address management for a wired network supporting wireless communication to a plurality of mobile users | ||
Patent #
US 5,159,592 A
Filed 10/29/1990
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
System, method and article of manufacture for communications utilizing calling, plans in a hybrid network | ||
Patent #
US 5,867,495 A
Filed 11/18/1996
|
Current Assignee
Verizon Patent and Licensing Incorporated
|
Original Assignee
MCI Communications Corporation
|
Security services and policy enforcement for electronic data | ||
Patent #
US 6,510,513 B1
Filed 01/13/1999
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
Control channel security for realm specific internet protocol | ||
Patent #
US 6,353,891 B1
Filed 08/09/2000
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
3Com Corporation
|
Method and protocol for distributed network address translation | ||
Patent #
US 6,353,614 B1
Filed 03/05/1998
|
Current Assignee
HP Inc.
|
Original Assignee
3Com Corporation
|
Method and arrangement for secure tunneling of data between virtual routers | ||
Patent #
US 6,438,612 B1
Filed 09/11/1998
|
Current Assignee
Inside Secure SA
|
Original Assignee
SSH Communications Security Ltd.
|
Mobile node, mobile agent and network system | ||
Patent #
US 6,172,986 B1
Filed 05/07/1998
|
Current Assignee
Hitachi America Limited
|
Original Assignee
Hitachi America Limited
|
Internet protocol (IP) work group routing | ||
Patent #
US 6,249,820 B1
Filed 05/06/1998
|
Current Assignee
Enterasys Networks Incorporated
|
Original Assignee
Cabletron Systems Incorporated
|
Protocol and method for peer network device discovery | ||
Patent #
US 6,269,099 B1
Filed 07/01/1998
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
3Com Corporation
|
Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (IP) network | ||
Patent #
US 6,011,782 A
Filed 05/08/1997
|
Current Assignee
RPX Corporation
|
Original Assignee
ATT Inc.
|
Method and system for locating network services with distributed network address translation | ||
Patent #
US 6,055,236 A
Filed 03/17/1999
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
3Com Corporation
|
Method and apparatus for strengthening passwords for protection of computer systems | ||
Patent #
US 6,079,021 A
Filed 06/02/1997
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
Digital Equipment Corporation
|
Pseudo network adapter for frame capture, encapsulation and encryption | ||
Patent #
US 6,101,543 A
Filed 10/25/1996
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
Digital Equipment Corporation
|
Network security and integration method and system | ||
Patent #
US 6,134,591 A
Filed 06/18/1997
|
Current Assignee
Securitech LLC
|
Original Assignee
CLIENTSERVER TECHNOLOGIES INC.
|
Methods and apparatus for interfacing a computer or small network to a wide area network such as the internet | ||
Patent #
US 6,157,950 A
Filed 12/05/1997
|
Current Assignee
ENCANTO NETWORK INC.
|
Original Assignee
ENCANTO NETWORKS INC.
|
Name service system and method for automatic updating on interconnected hosts | ||
Patent #
US 5,862,331 A
Filed 06/21/1996
|
Current Assignee
Oracle America Inc.
|
Original Assignee
Sun Microsystems Incorporated
|
Using trusted associations to establish trust in a computer network | ||
Patent #
US 5,872,847 A
Filed 07/30/1996
|
Current Assignee
Harris Corporation
|
Original Assignee
ITT Industries
|
Method and apparatus for communicating between a network workstation and an internet | ||
Patent #
US 5,867,660 A
Filed 05/11/1995
|
Current Assignee
Avaya Incorporated
|
Original Assignee
Bay Networks Inc.
|
Method and apparatus for dynamically shifting between routing and switching packets in a transmission network | ||
Patent #
US 5,892,924 A
Filed 01/31/1996
|
Current Assignee
Foundry Networks LLC
|
Original Assignee
Ipsilon Networks Inc.
|
System and method for changing advanced intelligent network services from customer premises equipment | ||
Patent #
US 5,915,008 A
Filed 10/04/1995
|
Current Assignee
Verizon Patent and Licensing Incorporated
|
Original Assignee
Bell Atlantic Network Services Inc.
|
Multilayer firewall system | ||
Patent #
US 5,968,176 A
Filed 05/29/1997
|
Current Assignee
Hewlett Packard Enterprise Development LP
|
Original Assignee
3Com Corporation
|
Method and apparatus for addressing a wireless communication station with a dynamically-assigned address | ||
Patent #
US 5,708,655 A
Filed 06/14/1996
|
Current Assignee
IDTP Holdings Incorporated
|
Original Assignee
Telefonaktiebolaget LM Ericsson
|
Network based distributed PBX system | ||
Patent #
US 5,742,596 A
Filed 12/14/1995
|
Current Assignee
Emblaze-VCON Ltd.
|
Original Assignee
PHONET COMMUNICATION LTD.
|
Random number generating apparatus and random number generating method in a multiprocessor system | ||
Patent #
US 5,793,657 A
Filed 04/10/1996
|
Current Assignee
NEC Corporation
|
Original Assignee
NEC Corporation
|
Remote access apparatus and method which allow dynamic internet protocol (IP) address management | ||
Patent #
US 5,812,819 A
Filed 06/05/1995
|
Current Assignee
Dialogic Corp.
|
Original Assignee
Shiva Corp.
|
Dynamic assignment of multicast addresses | ||
Patent #
US 5,835,723 A
Filed 12/28/1995
|
Current Assignee
Intel Corporation
|
Original Assignee
Intel Corporation
|
Voice communication system and voice communication method | ||
Patent #
US 5,604,737 A
Filed 12/13/1994
|
Current Assignee
Hitachi America Limited
|
Original Assignee
Hitachi America Limited
|
Communication accessory and method of telecommunicating for a PDA | ||
Patent #
US 5,606,594 A
Filed 01/27/1994
|
Current Assignee
Dell USA LP
|
Original Assignee
Dell USA LP
|
Method for translating internet protocol addresses to other distributed network addressing schemes | ||
Patent #
US 5,636,216 A
Filed 04/08/1994
|
Current Assignee
Google Inc.
|
Original Assignee
Metricom Inc.
|
Portable apparatus for providing multiple integrated communication media | ||
Patent #
US 5,497,339 A
Filed 08/02/1994
|
Current Assignee
ETE Incorporated
|
Original Assignee
ETE Incorporated
|
Security system for preventing unauthorized communications between networks by translating communications received in ip protocol to non-ip protocol to remove address and routing services information | ||
Patent #
US 5,550,984 A
Filed 12/07/1994
|
Current Assignee
Panasonic Corporation Of North America
|
Original Assignee
Matsushita Electric Corporation Of America
|
Generating system of random-number sequences for a parallel computer system | ||
Patent #
US 5,327,365 A
Filed 08/20/1992
|
Current Assignee
Fujitsu Limited
|
Original Assignee
Fujitsu Limited
|
Public cordless telephone | ||
Patent #
US 4,953,198 A
Filed 07/05/1989
|
Current Assignee
ATT Communications Incorporated
|
Original Assignee
ATT Intellectual Property II LP
|
33 Claims
-
1. A method for distributed network address translation with security, comprising the following steps:
-
at a first network device on a first computer network, requesting with a first protocol, one or more locally unique security values from a second network device on the first computer network, wherein the second network device has a publicly routable address, and wherein the second network device'"'"'s publicly routable address in combination with the one or more locally unique security values are used to uniquely identify the first network device during secure communications with a third network device on a second external network; receiving the one or more locally unique security values on the first network device from the second network device with the first protocol; and storing the one or more locally unique security values on the first network device, wherein the one or more locally unique security values are used to create a secure virtual connection for secure communications between the first network device and the third network device, wherein the secure communications include the one or more locally unique secure values, and wherein the second network device routes secure communication data from the third network device to the first network device in response to the one or more locally unique security values. - View Dependent Claims (3, 4, 5, 6, 7)
-
-
2. A computer readable medium having stored therein instructions for causing a central processing unit to execute the steps of:
-
at a first network device on a first computer network, requesting with a first protocol, one or more locally unique security values from a second network device on the first computer network, wherein the second network device has a publicly routable address, and wherein the second network device'"'"'s publicly routable address in combination with the one or more locally unique security values are used to uniquely identify the first network device during secure communications with a third network device on a second external network; receiving the one or more locally unique security values on the first network device from the second network device with the first protocol; and storing the one or more locally unique security values on the first network device, wherein the one or more locally unique security values are used to create a secure virtual connection for secure communications between the first network device and the third network device, wherein the secure communications include the one or more locally unique secure values, and wherein the second network device routes secure communication data from the third network device to the first network device in response to the one or more locally unique security values.
-
-
8. A method for distributed network address translation with security, comprising the following steps:
-
receiving a request message with a first protocol on a second network device for one or more locally unique security values from a first network device; allocating one of more locally unique security values on the second network device; storing a locally unique network address for the first network device with the one or more locally unique security values in a table associated with the second network device, wherein the table is used to maintain a mapping between a network device and one or more locally unique security values for distributed network address translation; and sending the one or more locally unique security values in a response message with the first protocol to the first network device, wherein the second network device has a publicly routable address, and wherein the second network device'"'"'s publicly routable address in combination with the one or more locally unique security values are used to uniquely identify the first network device during secure communications with a third network device on a second external network, and wherein the secure communications include the one or more locally unique secure values, and wherein the second network device routes secure communication data from the third network device to the first network device in response to the one or more locally unique security values. - View Dependent Claims (9, 10, 11)
-
-
12. A method for distributed network address translation using security, comprising the following steps:
-
receiving a first message in a second secure protocol on a first network device on a first network to establish a secure virtual connection to the first network device from a third network device on a second external network; selecting a locally unique security value to use for the secure virtual connection from a list of locally unique security values, wherein the list of locally unique security values was received from a second network device on the first network with a first protocol; and sending a second message with second secure protocol to establish a secure virtual connection to the first network device on the first network from the third network device on the second external network wherein the second message includes the selected locally unique security value and security certificate sent to the first network device by the second network device, wherein the second network device has a publicly routable address, and wherein the second network device'"'"'s publicly routable address in combination with the locally unique security value are used to uniquely identify the first network device during secure communications with the third network device on the second external network, and wherein the secure communications include the one or more locally unique secure values, and wherein the second network device routes secure communication data from the third network device to the first network device in response to the one or more locally unique security values. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A method for distributed network address translation with security, comprising the following steps:
-
sending a request message in a second secure protocol from a first network device on a first network to a second network device on the first network, wherein the request message in the second secure protocol includes security information; routing the request message from the second network device to a third network device on a second external network over a secure virtual connection between the first network device and the third network device; receiving a reply message in the second secure protocol from the third network device on the second network device on the first network for the first network device, wherein the reply message in the second secure protocol includes security information from the request message allocated by the second network device, wherein the second network device has a publicly routable address, and wherein the second network device'"'"'s publicly routable address in combination with the security information are used to uniquely identify the first network device during secure communications with the third network device on the second external network; and routing the reply message from the second network device to the first network device on the first network using one or more locally unique ports associated with the security information and used for distributed network address translation. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
-
26. A method for distributed network address translation with security, comprising the following steps:
-
requesting one or more locally unique ports with a first message from a first protocol on a first network device from a second network device, wherein the one or more locally unique ports are used for distributed network address translation; requesting one or more locally unique security values with a first message from the first protocol from the second network device, wherein the one or more locally unique security values are used with a second secure protocol to establish a secure virtual connection between the first network device and a third network device on a second external computer network, wherein the second network device has a publicly routable address, and wherein the second network device'"'"'s publicly routable address in combination with the one or more locally unique security values are used to uniquely identify the first network device during secure communications with the third network, and wherein the secure communications include the one or more locally unique secure values, and wherein the second network device routes secure communication data from the third network device to the first network device in response to the one or more locally unique security values; requesting a security certificate on the first network device from the second network device, wherein the security certificate includes a binding between a public encryption key and a combination of a network address for the first network device and the one or more locally unique ports. - View Dependent Claims (27, 28, 29, 30, 31)
-
-
32. A method for distributed network address translation with security features comprising the following steps:
-
sending one or more locally unique ports allocated on a second network device on a first computer network to a first network device on the first computer network with a second message in a first protocol wherein the one or more locally unique ports are used for distributed network address translation; sending one or more locally unique security values allocated on the second network device to the first network device with a second message from the first protocol wherein the one or more locally unique security values are used with a second secure protocol to establish a secure virtual connection between the first network device and a third network device on a second external computer network and are used for distributed network address translation with security, wherein the second network device has a publicly routable address, and wherein the second network device'"'"'s publicly routable address in combination with the one or more locally unique security values are used to uniquely identify the first network device during secure communications with the third network device on the second external network, and wherein the secure communications include the one or more locally unique secure values, and wherein the second network device routes secure communication data from the third network device to the first network device in response to the one or more locally unique security values; sending a security certificate created on the second network device to the first network device, wherein the second network device provides local security certificate services on the first computer network and wherein the security certificate includes a binding for a public encryption key for the first network device and a combination of a network address for the first network device and the one or more locally unique ports allocated to the first network device to authenticate an identity for the first network device for a secure virtual connection between the first network device and a third network device on a second external computer network. - View Dependent Claims (33)
-
1 Specification
This application is a Continuation-In-Part of U.S. application Ser. No. 09/035,600 filed on Mar. 5, 1998 now U.S. Pat. No. 6,353,614.
This invention relates to computer networks. More specifically, it relates to a method and system for distributed network address translation with network security features.
The Internet Protocol (“IP”) is an addressing protocol designed to facilitate the routing of traffic within a network or between networks. The Internet Protocol is used on many computer networks including the Internet, intranets and other networks. Current versions of Internet Protocol such as Internet Protocol version-4 (“IPv4”) are becoming obsolete because of limited address space. With a 32-bit address-field, it is possible to assign 232 different addresses, which is 4,294,967,296, or greater than 4 billion globally unique addresses.
However, with the explosive growth of the Internet and intranets, Internet Protocol addresses using a 32-bit address-field may soon be exhausted. Internet Protocol version-6 (“IPv6”) proposes the use of a 128-bit address-field for IP addresses. However, a large number of legacy networks including a large number of Internet subnets will still be using older versions for Internet Protocol with a 32-bit address space for many years to come.
Network Address Translation (“NAT”) has been proposed to extend the lifetime of Internet Protocol version 4 and earlier versions of Internet Protocol by allowing subnets to exist behind a single or small number of globally unique Internet Protocol addresses (see e.g., “The IP Network Address Translator”, by P. Srisuresh and K. Egevang, Internet Engineering Task Force (“IETF”), Internet Draft <draft-rfced-info-srisuresh-05.txt>, February 1998). A single global Internet Protocol address is used for communication with external networks such as the Internet. Internally, a sub-network (“subnet”) uses local addressing. Local addressing may be either any addressing scheme that is different from Internet Protocol addressing, or a non-unique usage of Internet Protocol addresses. In either case, local addresses on a subnet are not used on the external, global Internet. When a device or node using local addressing desires to communicate with the external world, its local address is translated to a common external Internet Protocol address used for communication with an external network by a network address translation device. That is, network address translation allows one or more global Internet Protocol addresses to be shared among a larger number of local addresses.
There are several problems associated with using network address translation to extend the life of the Internet Protocol. Network address translation interferes with the end-to-end routing principle of the Internet that recommends that packets flow end-to-end between network devices with changing the contents of any packets along a transmission route (see e.g. “Routing in the Internet,” by C. Huitema, Prentice Hall, 1995, ISBN 0-131-321-927).
Current versions of network address translation replace a local network address in a data packet header with an external global network address on outbound traffic, and replace an external network address in a data packet header with a local network address on inbound traffic. This type of address translation is computationally expensive, causes security problems by preventing certain types of encryption from being used, or breaks a number of existing applications in a network that cannot provide network address translation (e.g., File Transfer Protocol (“FTP”)).
Current versions of network address translation may not gracefully scale beyond a small subnet containing a few dozen nodes or devices because of the computational and other resources required. Network address translation potentially requires support for many different internal network protocols be specifically programmed into a translation mechanism for external protocols in a network address translation device such as a network address translation router.
Computational burdens placed on a network address translation router may be significant and degrade network performance, especially if several network address translation-enabled sub-networks share the same network address translation router. In a worst case scenario, a network address translation router translates every inbound and outbound data packet. When network address translation is used to translate a Transmission Control Protocol/Internet Protocol or User Datagram Protocol/Internet Protocol data packet, the packet'"'"'s Internet Protocol, Transmission Control Protocol or User Datagram Protocol checksums are recalculated.
As is known in the art, Transmission Control Protocol (“TCP”) and User Datagram Protocol (“UDP”) are often used over IP in computer networks. Transmission Control Protocol provides a connection-oriented, end-to-end reliable protocol designed to fit into a layered hierarchy of protocols that support multi-network applications. User Datagram Protocol provides a transaction oriented datagram protocol, where delivery and duplicate packet protection are not guaranteed.
When a port in a Transmission Control Protocol or User Datagram Protocol header is translated, the packet'"'"'s Transmission Control Protocol or User Datagram Protocol checksums are also recalculated. This further increases the computational cost of translation in a network address translation router.
When an Internet Protocol address or port is translated with network address translation, a new length may result for the data packet and a possible change in a Transmission Control Protocol sequence number. A running sequence number offset (i.e., a delta) must then be maintained throughout the remainder of the connection. This delta must be applied to future traffic, including acknowledgment numbers further increasing computational time in a network address translation router.
In addition to Transmission Control Protocol or User Datagram Protocol, a network address translation router may also translate network addresses, ports, change lengths and maintain sequence numbers for a number of different protocols that may use an Internet Protocol address or port number (e.g., FTP, H.323, H.324, CUSeeME, RealAudio, Internet Relay Chat and others). This translation may further increase computational time in a network address translation router.
The Internet Protocol is used on global computer networks such as the Internet, and on many private networks such as intranets and Virtual Private Networks. It is often desirable to protect information sent with the Internet Protocol using different types of security. Using security with the Internet Protocol allows private or sensitive information to be sent over a public network with some degree of confidence that the private or sensitive information will not be intercepted, examined or altered.
Internet Protocol security (“IPsec”) is a protocol for implementing security for communications on networks using the Internet Protocol through the use of cryptographic key management procedures and protocols. Communications between two endpoints of an Internet Protocol traffic flow are made end-to-end-secure by the Internet Protocol security protocol on an individual Internet Protocol packet-to-packet basis. Internet Protocol security protocol entities at connection endpoints have access to, and participate in, critical and sensitive operations that make a common connection secure.
Internet Protocol security currently includes two security services, each having an associated header that is added to an Internet Protocol packet that is being protected. The two security services include an Authentication Header (“AH”) and an Encapsulating Security Payload (“ESP”) header. The Authentication Header provides authentication and integrity protection for an Internet Protocol packet. The Encapsulating Security Payload header provides encryption protection and authentication for an Internet Protocol packet.
The Internet Protocol security protocol headers are identified in a protocol field of an Internet Protocol data packet header. The Internet Protocol security protocol header specifies the type (e.g., Authentication Header or Encapsulating Security Payload) and contains a numerical value called the Security Parameter Index (“SPI”). The Security Parameter Index together with a destination Internet Protocol address and Internet Security protocol form a unique identifier used by a receiving system to associate a data packet with a construct called a “security association.” The Security Parameter Index is used by the receiving system to help correctly process an Internet Protocol packet (e.g., to decrypt it, or to verify its integrity and authenticity).
Internet Protocol security establishes and uses a Security Association (“SA”) to identify a secure channel between two endpoints. A Security Association is a unidirectional session between two termination endpoints. Two termination endpoints of a single Security Association define a logical session that is protected by Internet Protocol security services. One endpoint sends Internet Protocol packets, and a second endpoint receives the Internet Protocol packets. Since a Security Association is unidirectional, a minimum of two Security Associations is required for secure, bi-directional communications. It is also possible to configure multiple layers of Internet Protocol security protocols between two endpoints by combining multiple Security Associations.
There are several problems associated with using current versions of network address translation when security is required and the Internet Protocol security protocol is used. Current versions of network address translation violate certain specific principles of the Internet Protocol security protocol that allow establishment and maintenance of secure end-to-end connections of an Internet Protocol network.
A network address translation router typically needs to modify an Internet Protocol packet (e.g., network ports, etc.). However, once an Internet Protocol packet is protected by Internet Protocol security, it must not be modified anywhere along a path from an Internet Protocol security source to an Internet Protocol security destination. Most network address translation routers violate Internet Protocol security by modifying, or attempting to modify individual Internet Protocol packets.
Even if a network address translation router does not modify data packets it forwards, it must be able to read network port numbers (e.g., Transmission Control Protocol, User Datagram Protocol, etc.) in the data packets. If certain Internet Protocol security features are used (e.g., Encapsulated Security Payload (“ESP”)), the network port numbers are encrypted, so the network address translation router typically will not be able to use the network ports for network address translation mapping.
Local host network devices on a Local Area Network (“LAN”) that use network address translation typically possess only local, non-unique Internet Protocol addresses. The local non-unique Internet Protocol addresses do not comprise a name space that is suitable for binding an encryption key (e.g., a public key) to a unique entity. Without this unique binding, it is not possible to provide necessary authentication for establishment of Security Associations. Without authentication, an endpoint of a connection cannot be certain of the identity of another endpoint, and thus cannot establish a secure and trusted connection.
Thus, it desirable to allow network address translation when Internet Protocol security is being used to protocol Internet Protocol packets. The network address translation should allow Internet Protocol security to be used and should not increase a burden on a router or other network device that provides network address translation.
In accordance with preferred embodiments of the present invention, some of the problems associated with network address translation are overcome. A method and system for distributed network address translation is provided. One aspect of the present invention includes a method for distributed network address translation with security that includes requesting one or more locally unique ports with a first message of a first protocol on a first network device from a second network device. The one or more locally unique ports are used for distributed network address translation. One or more locally unique security values are requested with a first message of the first protocol from the second network device. The one or more locally unique security values are used with a second secure protocol to establish a secure virtual connection between the first network device and a third network device and a second external computer network and are used for distributed network address translation. A security certificate is requested by the first network device from the second network device. The security certificate includes a binding between a public encryption key and a combination of the network address for the first network device and the one or more locally unique ports to establish a secure virtual connection between the first network device and a third network device and a second external computer network.
In one exemplary preferred embodiment of the present invention, the method and system allow Internet Protocol security protocol (“IPsec”) to be used with distributed network address translation. In such an exemplary preferred embodiment of the present invention, distributed network address translation is accomplished with Internet Protocol security protocol by mapping a local Internet Protocol (“IP”) address of a given local network device and a Security Parameter Index (“SPI”) associated with an inbound Internet Protocol security protocol Security Association (“SA”) that terminates at the local network device. A router allocates locally unique security values that are used as the Internet Protocol security protocol security parameters indexes. A router used for distributed network address translation is also used as a local certificate authority that may vouch for identities of local network devices, allowing local network devices to bind a public key to a security name space.
The security name space combines a global Internet Protocol address for the router with a set of locally unique port numbers used for distributed network address translation. The router issues security certificates and may itself be authenticated by a higher certificate authority. Using a security certificate, a local network device may initiate and be a termination point of an Internet Protocol security protocol security association to virtually any other network device on an IP network like the Internet or an intranet. The method and system may also allow distributed network address translation with security features to be used with Mobile IP or with other protocols in the Internet Protocol suite. However, the present invention is not limited to distributed network address translation with the Internet Protocol security protocol and other security protocols may also be used.
The foregoing and other features and advantages of a preferred embodiment of the present invention will be more readily apparent from the following detailed description, which proceeds with references to the accompanying drawings.
Preferred embodiments of the present inventions are described with reference to the following drawings, wherein:
Exemplary Network System
In one preferred embodiment of the present invention, the first computer network 12 is a Small Office/Home Office (“SOHO”) Local Area Network (“LAN”), also called a “legacy” LAN. First computer network 12 is also called a “stub” network. As is known in the art, a stub network typically includes multiple network devices using a common external network address to communicate with an external network such as the Internet. The second network 30 is the Internet or an intranet, and the third network 32 is a Public Switched Telephone Network (“PSTN”). However, other network types and network components can also be used and the present invention is not limited to the network types and network components described for this preferred embodiment. The present invention can be used with virtually any network using the Internet Protocol or other protocols in the Internet Protocol suite.
Network devices and routers for preferred embodiments of the present invention include network devices that can interact with network system 10 based on standards proposed by the Institute of Electrical and Electronic Engineers (“IEEE”), International Telecommunications Union-Telecommunication Standardization Sector (“ITU”), Internet Engineering Task Force (“IETF”), or Wireless Application Protocol (“WAP”) Forum. However, network devices based on other standards could also be used. IEEE standards can be found on the World Wide Web at the Universal Resource Locator (“URL”) “www.ieee.org.” The ITU, (formerly known as the CCITT) standards can be found at the URL “www.itu.ch.” IETF standards can be found at the URL “www.ietf.org.” The WAP standards can be found at the URL “www.wapforum.org.”
An operating environment for network devices and routers of the present invention include a processing system with at least one high speed Central Processing Unit (“CPU”) and a memory. In accordance with the practices of persons skilled in the art of computer programming, the present invention is described below with reference to acts and symbolic representations of operations or instructions that are performed by the processing system, unless indicated otherwise. Such acts and operations or instructions are referred to as being “computer-executed” or “CPU executed.”
It will be appreciated that acts and symbolically represented operations or instructions include the manipulation of electrical signals or biological signals by the CPU. An electrical system or biological system represents data bits which cause a resulting transformation or reduction of the electrical signals or biological signals, and the maintenance of data bits at memory locations in a memory system to thereby reconfigure or otherwise alter the CPU'"'"'s operation, as well as other processing of signals. The memory locations where data bits are maintained are physical locations that have particular electrical, magnetic, optical, or organic properties corresponding to the data bits.
The data bits may also be maintained on a computer readable medium including magnetic disks, optical disks, organic memory, and any other volatile (e.g., Random Access Memory (“RAM”)) or non-volatile (e.g., Read-Only Memory (“ROM”)) mass storage system readable by the CPU. The computer readable medium includes cooperating or interconnected computer readable medium, which exist exclusively on the processing system or be distributed among multiple interconnected processing systems that may be local or remote to the processing system.
In network address translation schemes known in the art, the router 26 translates an internal network address such as an internal network address used on the first computer network 12 to an external network address such as a network address for outgoing traffic to the second network 30 or the third network 32. The router 26 also translates an external network address to an internal network address for incoming traffic from the second network 30 or the third network 32. A Network Address Translation (“NAT”) router assumes the entire computation burden for network address translation. For large subnets, the NAT router becomes a bottleneck. In the worst case, every packet passing through the NAT router will require address translation. For more information on network address translation for the Internet Protocol see “The IP Network Address Translator (NAT),” Internet Engineering Task Force (“IETF”) Request For Comments (“RFC”) RFC-1631, “NAT Bypass for ‘End 2 End’ sensitive applications,” by G. Tsirtsis and A. O'"'"'Niell, IETF Internet Draft, <draft-tsirtsis-nat-bypass-00.txt>, January 1998, or “The IP Network Address Translator”, by P. Srisuresh and K. Egevang, Internet Engineering Task Force (“IETF”), Internet Draft <draft-rfced-info-srisuresh-05.txt>, February 1998.
In one preferred embodiment of the present invention, Distributed Network Access Translation (“DNAT”) is used. Network devices (14, 16, 18, 22 and 24) on the first computer network 12 request a set of locally unique ports from the router 26 for external communications with the external second network 30 or the third network 32. A locally unique port is unique inside of the first computer network 12 and typically is not unique outside of first computer network 12. Locally unique ports may be used for mobile network devices, such as device 20 using Mobile Internet Protocol, that are not permanently attached to the first computer network 12. A mobile network device may physically relocate to another location and attach to a foreign computer network (i.e., other than home computer network 12).
The network devices (14, 16, 18, 20, 22, 24) replace default or ephemeral ports with the locally unique ports and use a combination network address including a locally unique port and a common external network address (e.g., an IP address) for communications with the external networks 30 and 32. A default port is typically statically assigned. An ephemeral port is typically dynamically assigned for a specified duration of time.
DNAT Protocol Stack
The network devices (14, 16, 18, 20, 22, and 24) are connected to the first computer network 12 with Network Interface Card (“NIC”) device drivers 44 for the hardware network devices connecting the network devices to the computer network 12. Above the network interface card device drivers 44 is a network layer 46 (also called the Internet Layer for Internet Protocol suites). The network layer 46 includes an IP layer 48. As is known in the art, IP 48 is an addressing protocol designed to route traffic within a network or between networks. IP layer 48, hereinafter IP 48, is described RFC-791, incorporated herein by reference.
Above network layer 46 is a transport layer 50. The transport layer 50 includes a Port Allocation Protocol (“PAP”) layer 52, an Internet Group Management Protocol (“IGMP”) layer 54, a Control Message Protocol (“ICMP”) layer 56, a Transmission Control Protocol (“TCP”) layer 58 and a User Datagram Protocol (“UDP”) layer 60. However, more or fewer protocols could also be used.
The PAP layer 52 allocates locally unique ports to a network device. In one embodiment of the present invention, the PAP layer 52, is a separate protocol layer in the network layer 46. In another embodiment of the present invention, the PAP layer 52 is implemented as part of the ICMP layer 50 and is not a separate protocol layer. In yet another embodiment of the present invention, PAP layer 52 is run over either a Transmission Control Protocol or User Datagram Protocol. PAP layer 52 is explained below.
IGMP layer 54, hereinafter IGMP 54, is responsible for multicasting. For more information on IGMP 54 see RFC-1112, incorporated herein by reference.
ICMP layer 56, hereinafter ICMP 56, is used for Internet Protocol control. The main functions of ICMP 56 include error reporting, reachability testing (e.g., “pinging”), route-change notification, performance, subnet addressing and other maintenance. For more information on ICMP 56 see RFC-792, incorporated herein by reference.
TCP layer 58, hereinafter TCP 58, provides a connection-oriented, end-to-end reliable protocol designed to fit into a layered hierarchy of protocols which support multi-network applications. TCP 58 provides for reliable inter-process communication between pairs of processes in network devices attached to distinct but interconnected networks. For more information on TCP 58 see RFC-793, incorporated herein by reference.
UDP layer 60, hereinafter UDP 60, provides a connectionless mode of communications with datagrams in an interconnected set of computer networks. UDP 60 provides a transaction oriented datagram protocol, where delivery and duplicate packet protection are not guaranteed. For more information on UDP 60 see RFC-768, incorporated herein by reference. Both TCP 58 and UDP 60 are not required in protocol stack 42. Either TCP 58 or UDP 60 can be used without the other.
Above transport layer 56 is an application layer 62 where application programs to carry out desired functionality for a network device reside. For example, the application programs for the network device 16 may include printer application programs, while application programs for the network device 24 may include facsimile application programs more or fewer protocol layers can also be used in the protocol stack 42.
DNAT Protocol
In one preferred embodiment of the present invention, the PAP request message 66 is sent from a network device (14, 16, 18, 20, 22, and 24) to the router 26, to request a block of locally unique port numbers. In another embodiment of the present invention, the PAP 64 is used with another network device (e.g., a port server or other network device separate from the router 26). In another preferred embodiment of the present invention, the PAP 64 is used to request a block of Security Parameter Indexes (“SPI”) that will be used to establish Security Associations (“SA”) when Internet Protocol security (“IPsec”) is used. Use of the SPIs will be explained below.
The ports-requested-field 82 is one-byte and has a variable value indicating a number of locally unique ports requested by a network device. By default the ports-requested-field 82 is 16 or 32, which is a reasonable number for most network devices. However, other default numbers could also be used. Unused-field 84 is three-bytes and has a value of zero. However, other layouts, values and field sizes could also be used for the PAP request message 66.
In one preferred embodiment of the present invention, a network device transmits a PAP request message 66 upon boot. The PAP 64 is associated with Dynamic Host Configuration Protocol (“DHCP”) or BOOTstrap Protocol (“BOOTP”). DHCP is a protocol for passing configuration information such as IP 48 addresses to hosts on an IP 48 network. For more information on DHCP see RFC-1541 and RFC-2131, incorporated herein by reference. The format of DHCP messages is based on the format of BOOTP messages described in RFC-951 and RFC-1542, incorporated herein by reference. From a network device'"'"'s point of view, DHCP is an extension of the BOOTP mechanism.
In another embodiment of the present invention, the network devices (14, 16, 18, 20, 22, 24) request locally unique ports after boot when a protocol layer in the layered protocol stack 42 makes an initial request for an external network (e.g., 30 or 32). The network devices (14, 16, 18, 20, 22, and 24) may also request more locally unique ports when the number of locally unique ports required falls below the number of locally unique ports allocated to the network devices.
The PAP request message 66 is sent from a network device (14, 16, 18, 20, 22, and 24) to the router 26 after attaching an IP 48 header or other message header. A PAP response message 68 is sent from the router 26 back to the network devices (14, 16, 18, 20, 22, 24) either confirming or denying the PAP request message 66.
Upon receiving a successful PAP response message 68, a network device saves the block of locally unique ports that it may use. The locally unique ports are saved in a data structure with a flag-field indicating whether the locally unique port is allocated or unused. Table 1 is pseudo-code for an exemplary data structures to store locally unique port information. However, other data structures or layouts could also be used.
The one or more locally unique ports are allocated to protocols and applications in the layered protocol stack 42 on a network device to replace default or ephemeral ports. Upon receiving an unsuccessful PAP response message 68 a network device may send another PAP request message 66 for fewer ports. If the router 26 cannot allocate a large enough block of contiguous locally unique ports for the network device, it may send a PAP response 68 with a success code, but allocate fewer locally unique ports than requested.
It is possible that two network devices may be allocated overlapping blocks of locally unique ports as a result of the router 26 crashing or rebooting. The router 26 should send a PAP invalidate messages 70 to invalidate all locally unique ports in use upon reboot to help prevent this problem. A network device (14, 16, 18, 20, 22, and 24) also sends a PAP invalidate message 70 when it no longer needs a locally unique port.
As is known in the art, to identify separate data streams, TCP 58 provides a source port field in a TCP 58 header and a source address field in an IP 48 header. For more information on TCP headers see RFC-793. Since default or ephemeral port identifiers are typically assigned independently by a TCP 58 stack in a network, they are typically not unique. To provide for unique addresses within a TCP 58 stack, a local Internet address identifying a TCP stack 58 can be concatenated with a default or ephemeral port identifier, a remote Internet address and a remote port identifier to create an “association.” The association is unique throughout all networks connected together. Associations are known to those skilled in the networking arts.
In a preferred embodiment of the present invention, the source port in a header is given a locally unique port obtained with PAP 64 and given a common external network address. Together they uniquely identify applications and protocols on the network devices (14, 16, 18, 20, 22, 24) on the first computer network 12 to the second external computer network (e.g., 30 or 32) with a value conceptually similar to an association used by a TCP stack 58.
As is also known in the art, UDP 60 also has a source port field in a UDP header. For more information on UDP 60 headers see RFC-768. The UDP 60 source port is a non-optional field. It indicates a port of the sending process and is assumed to be the port to which a reply should be addressed in the absence of any other information. If not used, a value of zero is inserted. A UDP 60 header also has a source address field. A locally unique port can also be used in a UDP 60 header.
In a preferred embodiment of the present invention, the PAP 64 is used to create combination network address 72 that is used in the TCP 58 or UDP 60 header fields. In another embodiment of the present invention, the combination network address 72 is stored in other message header fields understood by the router 26 (i.e., non-IP 48 TCP 58 or UDP 60 fields), the first computer network 12, the second computer network 30 and the third computer network 32.
In a preferred embodiment of the present invention, the router 26 allocates blocks of locally unique ports to network devices (14, 16, 18, 20, 22, and 24). However, other network devices could also be used to allocate locally unique ports (e.g., a port server). The router 26 maintains a port-to-internal network address table as locally unique ports are allocated. The router 26 also has an internal table indicating internal network addresses for all the network devices (14, 16, 18, 20, 22, 24) on the first computer network 12. In a preferred embodiment of the present invention, the internal network addresses for the first computer network 12 are private IP 48 addresses. For example, the computer 14 has an internal IP address of 10.0.0.1 (
Distributed Network Address Translation
In a preferred embodiment of the present invention, the first network device is any of network devices (14, 16, 18, 20, 22, 24), the second network device is router 26, the first computer network is first computer network 12 (e.g., SOHO LAN) the first protocol is PAP 64, the second external computer network is any of the second computer network 30 (e.g., the Internet or an intranet) or the third computer network 32 (e.g., PSTN). The combination network address 72 includes a common IP 48 address (e.g., common network address 28) identifying network devices on the first computer network 12 to a second external computer network (e.g., 30 or 32). However, the present invention is not limited to the networks, network devices, network addresses or protocols described and others may also be used.
The locally unique ports are used for entities such as protocols and applications in layered protocol stack 42 on a network device and are locally unique on the first computer network 12. The locally unique ports will identify a network device on the first computer network 12. For example, TCP 58 typically has a default port or ephemeral port assigned to the TCP 58 stack (e.g., 1234). After allocation with Method 130, a network device uses a locally unique port to replace a default or ephemeral port in a protocol layer in the layered protocol stack 42. As is illustrated in
In one embodiment of the present invention, locally unique ports are assigned to protocol layers in the layered protocol stack 42 when a network device boots. In another embodiment of the present invention, locally unique ports are assigned to protocol layers in a layered protocol stack when a protocol layer makes a request for an external network (e.g., 30 or 32). In yet another embodiment of the present invention, locally unique ports are assigned dynamically or on-the-fly in an individual protocol layer as a protocol layer makes a request for an external network (e.g., 30 or 32).
The locally unique ports with common external network address 28 as the combination network address 112 uniquely identify an entity on a network device to an external network (e.g., is 30 or 32) without translation. Network interface card device drivers 44 maintain the actual internal IP 48 address of a network device.
Locally unique-ports can also be used with the common external network address 28 (e.g., for Mobile IP). Locally unique ports help identify a mobile network device that roams away from a home network (e.g., first computer network 12) to a foreign network.
In a preferred embodiment of the present invention, the first network device is any of network devices (14, 16, 18, 20, 22, 24), the second network device is router 26. The first computer network is first computer network 12, and the second computer network is second computer network 30 or third computer network 32. The combination network address includes a locally unique port obtained with PAP 64 and an external IP 48 address for an external network such as the Internet, an intranet, or another computer network. However, the present invention is not limited to the networks, network devices, network address or protocol described and others may also be used.
Method 140 (
The source IP 48 address is common external network address 28 (e.g., 198.10.20.30) and the source port is a locally unique port-1032 obtained via the PAP 64 with Method 130 and available to a TCP 58 service. In one embodiment of the present invention, the locally unique port-1032 replaces default port 1234 for TCP 58 when network device 14 was booted. In another embodiment of the present invention, default port 1234 is replaced with a locally a unique port, such as locally unique port-1032, whenever a protocol layer in layered protocol stack makes the request. The locally unique port along with the common external address comprise combination network address 112.
In one preferred embodiment of the present invention, the default TCP 58 port of 1234 has been replaced with a locally unique port-1032. The destination IP address is, 192.200.20.3, for the server 39 (
A network interface card device driver 44 adds the outer IP 48 header including (e.g., a virtual tunnel header) a source IP 48 address for network device 14 of, 10.0.0.1, and a destination IP 48 address of, 10.0.0.7, for the router 26. At Step 144, the router 26 receives the request data packet, strips the outer IP 48 header, and sends the request data packet to the external network 30.
At Step 146, the router 26 receives a response packet from an external network (e.g., 30). An exemplary response data packet is illustrated in Table 4.
The router 26 receives the response packet from the external second network 30 at Step 146 with a destination IP 48 address for the common external network address, 198.10.20.30, and a destination port set to locally unique port-1032. The router 26 uses port-to-internal network address table (
The outer IP 48 header has a source internal IP 48 address of, 10.0.0.7, for the router 26 and a destination internal IP 48 address of, 10.0.0.1, for the network device 14 on computer network 12. At Step 148, the router 26 routes the response data packet to the network device 14 with the outer IP 48 header. A network interface card device driver 44 in the layered protocol stack 42 strips the outer IP 48 header and forwards the response data packet to the network layer 46. This step can also be done in the device driver.
The network device 14 sends a request to an external network and receives a response from the external network using DNAT and locally unique port-1032 allocated with the PAP 64. The router 26 does not translate any source/destination IP 48 addresses or source/destination ports. Thus, DNAT is accomplished without network address translation at the router 26.
A preferred embodiment of the present invention is described with respect to a single common external network address identifying multiple network devices on first computer network 12 and used in combination network address 112 with a locally unique port. However, the present invention is not limited to a single common external network address and can also be practiced with a multiple common external network addresses.
Distributed network address translation using Method 130 (
The router 26 also routes data packets from the second external computer network back to a network device on the first computer network using the locally unique port in the combination network address. The router 26 is no longer required to replace an internal network address with an external network address for outbound traffic, and replace an external network address with an internal network address for inbound traffic. Thus, DNAT of the present invention removes the computational burden of NAT from the router 26 and does not violate the Internet principal of providing end-to-end transmission of data packets between network devices without alternations.
DNAT with Port Translation
In another preferred embodiment of the present invention, DNAT is accomplished without modifying protocols or applications in the layered protocol stack 42 above the network interface device driver layer 44. However, in such an embodiment, a network interface card device driver 44 in the network devices (14, 16, 18, 20, 22, 24) is used to translate default or default ports on-the-fly to/from locally unique ports reserved by a network device with the PAP 64. In addition, the network interface card device driver 44 supports multiple protocols from the layered protocol stack 42 for DNAT with port translation.
As an example, suppose the computer 14 (
The local source port for TCP 58 is 1234, the destination port is well known port 80 for the Internet, the source IP 48 address is the common external network address 28 and the destination address is external IP 48 address for server 39 (
In the preferred embodiment discussed above using Methods 130 and 140 of
The TCP 58 source port, 1234, is translated into a locally unique port allocated by the PAP 64 by a network interface card device driver. The TCP 58 source port, 1234, is not translated in the TCP 58 layer or any other protocol layer above the network interface card device driver 44 in the layered protocol stack 42. An entry is added to SPTT 150. Table 7 illustrates an exemplary SPTT 150 table entry.
After translation by the network interface card driver, an outer IP 48 header is added to the data packet. The outer IP header is used for routing (e.g., through a virtual tunnel). The outer IP header has the internal address of the network device as a source IP 48 address (e.g., 10.0.0.1) and the internal network address of router 26 (e.g., 10.0.0.7) as a destination address. Table 8 illustrates the data packet with the outer IP 48 header.
Upon receiving the data packet illustrated in Table 4, the router 26 examines the source port (e.g., 1032) and the outer IP 48 source address (e.g., 10.0.0.1) to ensure a network device is using a valid locally unique port assigned to the network device. Router 26 maintains an IP Address Translation Table (“IAPTT”).
Table 9 illustrates a locally unique port-1032 is associated with internal IP 48 address 10.0.0.1 (e.g., computer 14) for the TCP 58 protocol. The router 26 strips off the outer IP 48 header illustrated in Table 4 and sends the data packet comprising the inner IP 48 header and TCP 58 header to the external network 30.
A response data packet arrives from an external network on common external network address 28 (e.g., 198.10.20.30). An arriving packet contains the headers illustrated in Table 10.
The router 26 looks up the destination port (i.e., locally unique port-1032) in IPATT 158 (Table 9) and finds local network address, 10.0.0.1, (e.g., for computer 14). The router 26 then creates an outer IP 48 header such as the exemplary IP 48 header illustrated in Table 11. The outer IP 48 header has a source IP 48 address for the router 26 and a destination IP 48 address for network device 14.
The router 26 then transmits the data packet illustrated in Table 11 to the appropriate network device (e.g., computer 14 at internal address 10.0.0.1). Upon receiving the data packet, a network interface card driver looks up the destination port (e.g., 1032) in the SPTT 148 (e.g., Table 7) finding a mapping to TCP 58, port 1234. The locally unique port-1032 is re-translated back to TCP 58 default port 1234 in the device driver. No translation is done above the device driver. The outer IP 48 header is then stripped. The data packet is forwarded to IP 48 in the network layer 46. Table 12 illustrates the forwarded data packet.
The end of the connection is detected by both the router 26 and the network device 14. Upon end of connection, the entries in the SPTT 148 and IPATT 160 tables are removed from the router 26 and network interface card driver.
If the test at Step 174 determines that the destination network address is for internal network 12, then at Step 182, the default or ephemeral source port is not translated to a locally unique port for internal communications. Using Method 170, distributed network address translation is done by a network interface card device driver, and no port translation occurs above device driver. However, other software or hardware modules or drivers besides network interface card device driver 44 could also translate ports with Method 170.
If the test at Step 188 determines that the source IP 48 address is for the internal network 12, then at Step 196 the source IP 48 address from the outer IP 48 header is copied to the inner source IP 48 address. At Step 192, the outer IP 48 header is stripped off. At Step 194, the data packet is forwarded to network layer 46. The default or local source port is not translated to a locally unique port for internal communications.
Using Method 184, distributed network address translation is done by a network interface card device driver, and no port translation occurs above the device driver. However, other software or hardware modules or drivers besides a network interface card device driver, or in layers above the network interface card device driver 44 could also translate ports with Method 184.
DNAT (
In contrast, DNAT with port translation (
However, DNAT with on-the-fly port translation in the network interface card device driver 44 (
Internet Protocol Security
There are a number of security measures that can be used with IP 48. One or more security measures can be indicated in an IP 48 header. Internet Protocol security processing is confined completely within the IP 48 layer. All DNAT processing, when used with Internet Protocol security must run above the IP 48 layer. Otherwise, Internet Protocol security parameters are violated.
Internet Protocol security (“IPsec”), provides security for IP 48 packets. For more information in IPsec see “Security Architecture for the Internet Protocol”, by S. Kent and R. Atkinson, RFC-2401, November, 1998, incorporated herein by reference. Three security requirements are typically addressed by IPsec. IPsec provides message authentication, integrity and confidentiality for IP 48 packets moving between a source and a destination endpoint. Starting from a state in which no connection exists between two endpoints, a Security Association (“SA”) can be established based upon IP 48 such that each endpoint trusts the security of the connection, and an identity of each endpoint is authenticated to the other.
IPsec typically defines two security services, each having an associated header that is added to an IP 48 packet that it protects. The two security services are an Authentication Header (“AH”) and an Encapsulating Security Payload (“ESP”) header. However, more or fewer security services can also be used with IPsec.
The AH provides authentication and integrity protection for IP 48 packets. For more information on the AH see, “IP Authentication Header,” by S. Kent and R. Atkinson, RFC-2402, November, 1998, incorporated herein by reference.
The ESP provides encryption protection as well as optional authentication and integrity protection. For more information on the ESP see, “IP Encapsulating Security Payload (ESP),” by S. Kent and R. Atkinson, RFC-2406, November, 1998, incorporated herein by reference.
The IPsec protocol headers are identified in the protocol-field 216 of an IP packet header 200 (
The IPsec services can be applied in one of two modes, a “transport mode” or a “tunnel mode.” In the transport mode, a packet is routed directly to its final destination according to a destination address (e.g., IP 48 destination address 222 (
As is known in the art, a virtual tunnel can be created by encapsulating a data packet inside another data packet. For example, an outer header is added before an inner header of a data packet (e.g., Tables 3, 5, 8 and 11). Between the inner header and outer headers are any other headers for a data path, or security, such as security headers specific to a tunnel configuration. The outer header typically identifies the “endpoints” of the tunnel. The inner header typically identifies an original sender and recipient of the data. For more information, see “IP-in-IP tunneling,” by W. Simpson, RFC-1853, October 1995, incorporated herein by reference.
In the tunnel mode, an outermost tunnel IP 48 header encapsulates a protected IP packet. A first destination address is an endpoint of a tunnel according to a tunnel destination address. A final destination address is not necessarily the same as an endpoint address of the tunnel. A destination IP 48 address 222 (
IPsec protocols establish and use a Security Association (“SA”) to identify a secure virtual connection between two endpoints. A SA is a unidirectional connection between two endpoints that represents a single IPsec protocol-mode combination. Two termination endpoints (i.e., network devices for the transport mode, or intermediate devices for the tunnel mode) of a single SA define a secure virtual connection that is protected by IPsec services. One of the endpoints sends IP 48 packets, and the other endpoint receives them. Since a SA is unidirectional, a minimum of two SAs are required for secure, bi-directional communications. It is also possible to configure multiple layers of IPsec protocols between two endpoints by combining multiple SAs.
In the transport mode, a sending endpoint inserts an AH header after an IP 48 header and before an upper protocol layer (e.g., TCP 58, UDP 60, etc.). In the tunnel mode, outer and inner IP header/extensions can be used in a variety of ways. Placement of the AH header in the tunnel mode is dependent on a variety of factors including the type of tunneling used. Thus, a location for an AH header may vary.
For outbound packets, AH is applied after an IPsec application determines that a packet associated with a SA wants AH processing. A sending endpoint'"'"'s AH sequence number-field 236 (
For inbound packets, packet reassembly is performed prior to AH processing. Upon receipt of a packet containing an AH, a receiving endpoint determines an appropriate SA, based on a destination IP 48 address 222 (
In the transport mode, a sending endpoint encapsulates upper layer protocol information in an ESP header and trailer and retains an original IP 48 header. In the tunnel mode, the outer and inner IP 48 headers/extensions can be inter-related in a variety of ways depending on the encryption being used. Thus, a location for the ESP may vary.
For outbound packets, ESP is applied after an IPsec application determines that a packet associated with a SA wants ESP processing. The sending endpoint encapsulates into the ESP payload data-field 246 (
A sending endpoint'"'"'s sequence number-field 244 is initialized to zero when a SA is established. The sending endpoint increments the sequence number field 244 for a SA. Thus, a first ESP packet using a given SA will have a sequence number of 1. If authentication is selected for the SA, the sending endpoint computes an ICV over the whole ESP header 240 minus the authentication data-field 254. If necessary, fragmentation is performed after ESP processing with an IPsec implementation.
For inbound packets, packet reassembly is performed prior to ESP processing, if necessary. Upon receipt of an IP 48 packet including an ESP header 240, a receiving endpoint determines the appropriate SA based on a destination IP address 222 (
In the tunnel mode, a fourth exemplary data packet 270 includes a tunnel IP 48 header with a tunnel IP address (“TIP”), an AH header, an original IP 48 header with a first IP 48 address (“IP1”) and upper level protocol data. A fifth exemplary data packet 272 includes a tunnel IP 48 header with a tunnel IP 48 address, an AH header, an original IP 48 header with a first IP 48 address and upper level protocol data. One type of exemplary data packet 270 or 272 is typically selected for the tunnel mode depending on the security desired. A combination of AH and ESP in the tunnel mode is not typically used and is not illustrated in
A set of protocols has been developed to allow two endpoints to establish one or more SAs between them. The process of establishing an IPsec SA involves both negotiation and authentication. The negotiation results in an agreement between the two endpoints as to which security protocol and mode to use, as well as specific encryption techniques, associated parameter values, and SPI assignment for each SA that was established. The authentication ensures that each endpoint can trust the identity of the other endpoint during negotiation, and hence after the SA is established.
A number of standards have been proposed for protocols that establish SAs including an Internet Security Association and Key Exchange Protocol (“ISAKMP”), an Oakley Protocol (“Oakley”), and the Internet Key Exchange (“IKE”) protocol, which incorporates ISAKMP and Oakley. For more information on ISAKMP see, “Internet Security Association and Key Management Protocol (“ISAKMP”),” by D. Maughan, M. Schertler, M. Schneider and J. Turner, RFC-2408, November, 1998, incorporated by reference. For more information on Oakley see, “The OAKLEY Key Determination Protocol,” by H. K. Orman, RFC-2412, November, 1998, incorporated herein by reference. For more information on IKE see, “The Internet Key Exchange (IKE),” by D. Harkins and D. Carrel, RFC-2409, November, 1998, incorporated herein by reference.
Using ISAMKP and IKE, SA negotiation is carried out as a sequence of signaling exchanges between two endpoints. A first endpoint proposes a security protocol and encryption algorithm, and a second endpoint accepts or counter-proposes. Once the signaling is complete both endpoints have agreed to negotiated details, relevant security parameter information is exchanged and the endpoints are ready to send or receive on a single unidirectional SA. Part of the signaling includes exchange of authentication information, using a CA. This is described below.
Authentication is based on a trusted third-party called a Certificate Authority (“CA”). Each endpoint that participates in IPsec generates a public/private encryption key pair, and has its public key “notarized” by the CA. The CA binds an endpoint'"'"'s IP 48 address to its public key, generates a certificate and returns it to an owner of the key. Thus, IP 48 addresses are one “security name space” used for binding public keys to their owners.
During SA negotiation, one endpoint supplies another endpoint with its certificate along with a signature that is encrypted with its private key. The certificate and signature are verified with a public key. A recipient (one at each endpoint) uses a sender'"'"'s public key from its certificate to validate the signature and the sender'"'"'s right to use its IP 48 address. Since only the sender has access to the private key, the recipient, once it has verified the signature, is certain of the initiator'"'"'s “identity.” In one exemplary preferred embodiment of the present invention, the identity is determined by the IP 48 address of the initiator, as IP 48 addresses form the security name space used to bind public keys to their owners. However, other security name spaces could also be used using other than an IP 48 address for an initiator'"'"'s identity. Certificates are issued with a “Time-to-Live” value, after which they expire and become invalid. The result of negotiation and authentication is a secure connection 260 (
As was discussed above, NAT routers known in the art need to modify IP 48 packets. However, once an IP 48 packet is protected by IPsec, it cannot be modified anywhere along its path to the IPsec destination. NAT routers known in the art typically violate IPsec by modifying packets. In addition, even if a NAT router did not need to modify the packets it forwards, it must be able to read the TCP 58 or UDP 60 port numbers. If ESP is used by a local endpoint, the port numbers will be encrypted, so the NAT router will not be able to complete its required mapping.
Local network devices on a LAN that use NAT possess only local, non-unique IP 48 addresses. These do not comprise a security name space that is suitable for binding a public key to a unique identity (i.e., a unique global IP 48 address). Without this binding, it is typically not possible to provide the authentication necessary for establishment of SAs. Without authentication, neither endpoint can be certain of the identity of their counter part, and thus cannot establish a secure and trusted connection via a SA. However, DNAT described above, can be used with IPsec to overcome some of the problems with NAT devices known in the art.
Distributed Network Address Translation and Internet Protocol Security
A network device using DNAT as described above may also desire to establish a secure virtual connection to an external network device using IPsec (e.g., SPIs). Such a network device would request and use locally unique ports and use DNAT as was described above. In addition, the network device may request locally unique security values to use DNAT with IPsec.
In one exemplary preferred embodiment of the present invention, the first network device is a network device (14, 16, 18, 20, 22, and 24), the second network device is the router 26, the first protocol is the PAP 64, the one or more locally unique security values are SPIs used with IPsec, including AH or ESP. In one exemplary preferred embodiment of the present invention, the locally unique security values are obtained with the PAP 64 using a PAP 64 security request message 67, a PAP 64 security response message 69, and a PAP 64 security invalidate message 71.
Returning to
In one exemplary preferred embodiment of the present invention, the first network device is a network device (14, 16, 18, 20, 22, 24) on the first computer network 12, the second network device is the router 26, the first protocol is PAP 64, the one or more locally unique security values are SPIs used with IPsec including AH or ESP. The first network device, such as customer computer 14, uses a PAP 64 security request message 67 to request the locally unique SPIs. At Step 284 (
Establishing IPsec Security Associations Using DNAT
As was discussed above, the process of establishing an IPsec SA involves both negotiation and authentication. Authentication is based on a trusted third-party called a Certificate Authority (“CA”). Each endpoint that participates in an IPsec SA generates a public/private encryption key pair, and has its public key “notarized” by the CA. The CA binds an endpoint'"'"'s IP 48 address to its public key, generates a certificate and returns it to an owner of the key. Thus, IP 48 addresses are used to provide a name space for binding public keys to their owners.
In one exemplary preferred embodiment of the present invention, the router 26 is used to help establish an IPsec SA by acting as a Local Certificate Authority (“LCA”). In one exemplary preferred embodiment of the present invention, the router 26 acts as an LCA and is itself registered with a higher-level CA. The router 26 itself holds a certificate in which a public encryption key for the router 26 is bound to its global IP 48 address (e.g., IP 48 address 28 (
In one preferred embodiment of the present invention, the locally unique ports are DNAT ports, the first protocol is the PAP 64, the first message is a PAP 64 security request message 67, and the second secure protocol is IPsec, and the one or more locally unique security values are SPIs. In one exemplary preferred embodiment of the present invention, IKE may be considered a security protocol within the IPsec protocol suite. In another embodiment of the present invention, IKE is not considered a security protocol with the IPsec protocol suite.
IKE is a security protocol that carries a certificate and a SPI value. IKE negotiates a session key that includes a SPI. However, other protocols may also be used to negotiate a session key. The network address is a local IP 48 network address on the first computer network 12 and the second network device is the router 26. However, the present invention is not limited to the ports, protocols, messages, security values, network addresses or network devices discussed, and other ports, protocols, messages, security values, network addresses or network devices could also be used.
In one exemplary preferred embodiment of the present invention, at Step 306, one or more locally unique DNAT ports are requested with a PAP 64 request message 66 on a first network device (e.g., 14) from the router 26 (e.g., with Method 130 of
A public encryption key and a private encryption key are generated on the first network device. The public encryption key is sent to the second network device from the first network device. The second network device creates a security certificate for the first network device. The security certificate includes a binding between the public encryption key and a combination of an external network address for the first network device and the one or more locally unique security values. In one exemplary preferred embodiment of the present invention, the security certificate is an Internet X.509 security certificate. However, other types of security certificates could also be used and the present invention is not limited to Internet X.509 security certificates. For more information on Internet X.509 security certificates, see RFC-2459, “Internet X.509 Public Key Infrastructure Certificate and CRL Profile,” by R. Housley, W. Ford, W. Polk and D. Solo, incorporated herein by reference. For more information on X.509 security certificate management, see RFC-2510 “Internet X.509 Public Key Infrastructure Certificate Management Protocols,” by C. Adams and M. Farrell, and RFC-2511 “Internet X.509 Certificate Request Message Format”, by M. Myer, C. Adams, D. Solo, and D. Kemp, incorporated herein by reference. At Step 318, the second network device sends the security certificate to the first network device.
In one preferred embodiment of the present invention, the locally unique ports are DNAT ports, the first protocol is the PAP 64, the first message is a PAP 64 security request message 67, the second message a PAP 64 security response message 69 the second secure protocol is IPsec, the one or more locally unique security values are SPIs, the network address used in the CA is an external IP 48 network address of the second network address on the first computer network 12 and the second network device is the router 26. However, the present invention is not limited to the ports, protocols, messages, security values, network addresses or network devices discussed, and other ports, protocols, messages, security values, network addresses or network devices could also be used. After receiving one or more locally unique ports, one or more locally unique security values and the security certificate, a network device can use IPsec with distributed network address translation.
In one preferred embodiment of the present invention, the first network device is a network device (14, 16, 18, 20, 22, and 24) on the first computer network 12. The second network device is the router 26, the third network device is an external network device 39, the first protocol is the PAP 64, the second protocol is IPsec, the locally unique security value is a SPI allocated by the router 26 with the PAP 64, and the secure connection is a SA. However, the present invention is not limited to this exemplary preferred embodiment, and other network devices, protocols, security values and secure connections could also be used with Method 320.
In one exemplary preferred embodiment of the present invention, a network device negotiates an incoming IPsec SA with a remote network device on an IP 48 network 30. The SPI selected and assigned to a SA is selected from the one or more of locally unique SPI values allocated by a router 26 with PAP 64 to the network device. In one exemplary preferred embodiment of the present invention, an incoming IPsec SA includes a SA that terminates at the network device for inbound packets (i.e., packets sent from the remote network device to the network device). For outgoing SAs, a SPI is selected by the remote network device and a locally unique SPI is not used by the router 26. In the event of multiple levels of incoming SAs that terminate on a network device, a SPI from the list of locally unique SPI values is allocated only to an outermost SA. A SPI is stored in an IPsec protocol header of an associated IP 48 packet. For an outermost SA, an IPsec protocol header is typically visible for combinations of the IPsec protocol (e.g., AH and ESP) and mode (e.g., transport and tunnel). Thus, the router 26 can access a SPI in an outermost SA associated with any incoming IP 48 packet. After one or more SAs are established between a network device and a remote network device, DNAT with security can be used.
Using IPsec and DNAT
A first network device on a first network exchanges messages with a third network device on a second external network to establish a security association. For example, the first network device exchanges IKE messages to establish a security association with the external third network device. After exchanging some of these messages, a security value (e.g., SPI) allocated with PAP 64 will be used to complete the establishment of a security association between the two network devices.
In one preferred embodiment of the present invention, the first network device is a network device (14, 16, 18, 20, 22, and 24) from the first computer network 12, the second network device is the router 26, the first protocol is the PAP 64, the second secure protocol is IPsec, the locally unique security value is a SPI allocated by the router 26 with the PAP 64, the security association is a SA. In this embodiment of the present invention, IPsec includes IKE.
As was discussed above, IKE is a protocol that carries a security certificate and a SPI value. IKE negotiates a session key and a SPI that is associated with a session key. However, other protocols can also be used to negotiate a session key. However, the present invention is not limited to this exemplary preferred embodiment, and other network devices, protocols, security values and secure connections could also be used with Method 328.
IKE can be used in two separate modes called the “Main Mode” and “Aggressive Mode.” In the Main Mode an SPI is sent in a first and second message (the first from the intitiator to the responder, the second from the responder to the initiator) and then security certificates are sent in fifth and sixth messages (the fifth from the initiator to the responder and the sixth from the responder to the initiator). The third and fourth messages are used to continue the IKE negotiations. In the Aggressive mode, on the other hand, the SPI is sent in the first and second messages, while the certificates are sent in the third and fourth messages. The request and response messages in Method 328 can be any of the IKE messages used in the Main mode or the Aggressive mode to send a SPI or a security certificate.
In one exemplary preferred embodiment of the present invention, using IPsec over DNAT, the router 26 (
For incoming packets using IPsec, the router 26 (
Even though TCP 58/UDP 60 ports are not used with IPsec for address mapping by the router 26, they are still used for DNAT once the IPsec packet is decoded. That is, once IPsec input processing is complete, DNAT as described above is used (e.g., see
The router 26 is used for both DNAT port and SPI allocation and de-allocation. Local network devices can request additional port numbers and additional SPIs that are allocated by the router 26. The router 26 can also render an allocated range of DNAT ports or SPIs invalid. If IPsec is implemented as well, additional security certificates may be issued by the LCA with allocation of additional DNAT ports and SPIs to local network devices. In addition, the router 26 maintains a list of all security certificates issued to its local network devices, and ensures that the associated DNAT ports are never de-allocated as long as the security certificates with bindings to these DNAT ports are still valid.
Alternatively, if the router 26 is allowed to de-allocate DNAT ports, it revokes any security certificates with bindings to theses DNAT ports. Security certificate revocation includes notification to remote systems that have active SAs established with the local network devices whose security certificates have been revoked. De-allocation and security certificate revocation may be required, for example, when a local network device has a system crash. In the event of a system crash on the router 26, security certificates are sent again to network devices or invalid security certificates are gracefully revoked.
The methods of authentication are not restricted to the form of the name space for binding of security certificates described above. For example, a combination of the router'"'"'s 26 global IP 48 address 28 and a user e-mail address (where the user is on a local network device) could also be used for a name space binding for a security certificate. The router 26 acting as an LCA should possess a valid security certificate giving it the right to certify identifiers drawn from a chosen name space.
The methods for preferred embodiments of the present invention presented herein also extends IPsec within the context of Mobile IP, allowing a mobile node to maintain an IPsec-protected connection while it is roaming. For Mobile IP, a mobile node'"'"'s home agent'"'"'s global IP address and a mobile nodes local address on its home network can be used for name space binding to create a security certificate to use for IPsec with DNAT. This information is available to a mobile node even while it is roaming (i.e., temporarily residing on a foreign network). A mobile node'"'"'s home network is managed as a DNAT stub network in which the mobile node resides as a local host when it is not roaming. Using DNAT with Mobile IP is described in co-pending application Ser. No. 09/136,484.
A modified security name space can be used to provide a unique identifier in a security certificate to a network device that lacks a globally unique IP 48 address and is not restricted to a design based upon the router 26 acting as an LCA. It also is possible to define a global CA using a modified name space, and eliminate the need for the LCA, or the router 26 acting as a LCA.
However, such a modified name space is typically insufficient for the DNAT environment, since it does not include a locally unique port number, and hence does not guarantee to a remote system that a local network device has the right to use a specific port number. Also, since stub networks exist, and DNAT includes methods for sharing global IP 48 addresses within stub networks, the LCA approach described herein provides an implementation that would build upon an existing infrastructure, rather than requiring a new infrastructure if a DNAT system is used. Thus, IPsec can be used with DNAT with the router 26 acting as an LCA without requiring a new infrastructure to support a global CA.
It should be understood that the programs, processes, methods and systems described herein are not related or limited to any particular type of computer or network system (hardware or software), unless indicated otherwise. Various types of general purpose or specialized computer systems may be used with or perform operations in accordance with the teachings described herein.
In view of the wide variety of embodiments to which the principles of the present invention can be applied, it should be understood that the illustrated embodiments are exemplary only, and should not be taken as limiting the scope of the present invention. For example, the steps of the flow diagrams may be taken in sequences other than those described, and more or fewer elements may be used in the block diagrams. While various elements of the preferred embodiments have been described as being implemented in software, in other embodiments in hardware or firmware implementations may alternatively be used, and vice-versa.
The claims should not be read as limited to the described order or elements unless stated to that effect. Therefore, all embodiments that come within the scope and spirit of the following claims and equivalents thereto are claimed as the invention.