The present invention provides for a system This document describes embodiments for communicating with a host using a global address and a local address. The present invention allows These embodiments allow for the communication to be initiated by an entity outside the host's network. The entity initiating the communication resolves the destination host's domain name into a global address and a local address. messages are sent to the destination host using both the global address and the local address. In one embodiment, both the global and local address are included in the message by encapsulating ip packets. Some embodiments of the present invention also use pseudo addressing.
|
14. A method for communicating, comprising:
receiving a message at a destination, said message includes a local address and a global address corresponding to said local address, said destination is on a private network, said message is received from outside said private network based on a combination of said global address and said local address;
accessing a pseudo address corresponding to said local address and said global address; and
using said pseudo address with an application.
30. An apparatus, comprising:
a communication interface;
a memory device; and
one or more processor, said one or more processors programmed to perform a method comprising:
receiving a message at a destination, said message includes a local address and a global address corresponding to said local address, said destination is on a private network, said message is received from outside the private network based on said global address and said local address,
accessing a pseudo address corresponding to said local address and said global address, and
using said pseudo address with an application.
5. A method for communicating, comprising:
using a domain name to obtain a first local address for a destination entity and a first global address associated with said destination entity, said destination entity is on a private network that uses said first local address to communicate with said destination entity;
creating a message that includes said first local address as a first destination address, said first global address as a second destination address and a first pseudo address; and
communicating said message toward said destination based on said first local address and said first global address.
24. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:
receiving a message at a destination, said message includes a local address and a global address corresponding to said local address, said destination is on a private network, said message is received from outside the private network based on said global address and said local address;
accessing a pseudo address corresponding to said local address and said global address; and
using said pseudo address with an application.
1. A method for communicating, comprising:
obtaining a first local address for a destination entity and a first global address associated with said destination entity, said destination entity is on a private network that uses said first local address to communicate with said destination entity;
creating a message that includes encapsulation within a single protocol level, said message includes said first local address as a first destination address and said first global address as a second destination address, said message includes a first ip packet, a second ip packet encapsulated in said first ip packet and a third ip packet encapsulated in said second ip packet; and
communicating said message toward said destination.
27. An apparatus, comprising:
a communication interface;
a memory device; and
one or more processor, said one or more processors programmed to perform a method comprising:
using a domain name to obtain a first local address for a destination entity and a first global address associated with said destination entity, said destination entity is on a private network that uses said first local address to communicate with said destination entity,
creating a message that includes said first local address as a first destination address, said first global address as a second destination address and a first pseudo address, and
communicating said message toward said destination based on said first local address and said first global address.
0. 40. An apparatus, comprising:
a communication interface;
a memory device; and
one or more processors, said one or more processors programmed to perform a method comprising:
receiving a message, said message including encapsulation within a single protocol level, said message storing a first global address and a first local address, said first global address corresponding to a first entity, said first entity of a private network, said first entity reachable from outside the private network by a combination of the first local address and the first global address;
removing at least one level of encapsulation from said message;
accessing any remaining level of encapsulation;
identifying a pseudo address based on said message; and
providing said pseudo address to an application.
0. 37. An apparatus, comprising:
a communication interface;
a memory device; and
one or more processors, said one or more processors programmed to performed a method comprising:
obtaining a first local address for a destination entity and a first global address associated with said destination entity, said destination entity of a private network that uses said first local address to communicate with said destination entity;
creating a pseudo-address for said destination;
creating a message that includes encapsulation within a single protocol level, said message including said first local address as a first destination address, said first global address as a second destination address, and said pseudo-address for said destination; and
communicating said message toward said destination.
23. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:
receiving a message, said message includes encapsulation within a single protocol level, said message stores a first global address and a first local address as a destination address associated with a first entity, said first entity is on a private network said first entity is reachable from outside the private network by a combination of the first local address and the first global address;
removing at least one level of encapsulation from said message;
accessing a remaining level of encapsulation;
identifying a pseudo address based on said message; and
providing said pseudo address to an application at said destination.
0. 34. An apparatus, comprising:
a communication interface;
a memory device; and
one or more processors, said one or more processors programmed to perform a method comprising:
obtaining a first local address for a destination entity and a first global address associated with said destination entity, said destination entity of a private network that uses said first local address to communicate with said destination entity;
creating a message that includes encapsulation within a single protocol level, said message including said first local address as a first destination address and said first global address as a second destination address, wherein said message includes a first ip packet, a second ip packet encapsulated in said first ip packet, and a third ip packet encapsulated in said second ip packet; and
communicating said message toward said destination.
4. A method for communicating comprising:
receiving a message, said message includes encapsulation within a single protocol level, said message stores a first global address and a first local address as a destination address associated with a first entity, said first local address and said first global address correspond to said first entity, said first entity is on a private network, said first entity is reachable from outside the private network using said first local address and said first global address;
removing at least one level of encapsulation from said message, said message includes multiple levels of encapsulation after said step of removing; and
accessing a remaining level of encapsulation, said step of accessing includes communicating said message toward said first entity using said first global address, said message includes said first local address and said first global address.
20. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:
obtaining a first local address for a destination entity and a first global address associated with said destination entity, said destination entity is on a private network that uses said first local address to communicate with said destination entity;
creating a message that includes encapsulation within a single protocol level, said message includes said first local address as a first destination address and said first global address as a second destination address; and
communicating said message toward said destination, said message includes a first ip packet, a second ip packet encapsulated in said first ip packet and a third ip packet encapsulated in said second ip packet.
2. A method for communicating, comprising:
obtaining a first local address for a destination entity and a first global address associated with said destination entity, said destination entity is on a private network that uses said first local address to communicate with said destination entity;
creating a message that includes encapsulations within a single protocol level, said message includes said first local address as a first destination address and said first global address as a second destination address;
communicating said message toward said destination entity;
receiving said message at an intermediate entity;
removing a layer of encapsulation from said message;
forwarding said message after said step of removing, toward said destination entity;
receiving said message at said destination entity;
removing a layer of encapsulation from said message; and
accessing information in said message after said step of removing.
0. 33. A method for communicating, comprising:
obtaining a first local address for a destination entity and a first global address associated with said destination entity, said destination entity on a private network that uses said first local address to communicate with said destination entity;
creating a message that includes encapsulation within a single protocol level, said message includes said first local address as a first destination address and said first global address as a second destination address; and
communicating said message toward said destination entity, said message encapsulated effective to enable an intermediate entity associated with said first global address to remove a layer of encapsulation from said message and forward to said destination entity based on said first local address and effective to enable said destination entity to remove another layer of encapsulation from said message to access information in said message.
0. 38. An apparatus, comprising:
a communication interface;
a memory device; and
one or more processors, said one or more processors programmed to perform a method comprising:
receiving a message, said message including encapsulation within a single protocol level, said message storing a first global address and a first local address, said first global address corresponding to a first entity, said first entity of a private network, said first entity reachable from outside the private network by a combination of the first local address and the first global address;
removing at least one level of encapsulation from said message; and
accessing any remaining level of encapsulation, wherein:
said message including multiple levels of encapsulation after said step of removing;
said step of accessing including communicating said message toward said first entity using said first global address, said message including said first local address and said first global address; and
said message being an ip packet.
22. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:
receiving a message, said message includes encapsulation within a single protocol level, said message stores a first global address and a first local address as a destination address associated with a first entity, said first entity is on a private network, said first entity is reachable from outside the private network by a combination of the first local address and the first global address;
removing at least one level of encapsulation from said message; and
accessing a remaining level of encapsulation, said message includes multiple levels of encapsulation after said step of removing, said step of accessing includes communicating said message toward said first entity using said first global address, said message includes said first local address and said first global address, and said message is an ip packet.
21. One or more processor readable storage devices having processor readable code embodied on said processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:
obtaining a first local address for a destination and a first global address for said destination;
creating a message that includes encapsulation within a single protocol level, said message includes said first local address and said first global address, said message includes a first ip packet, said message includes a second ip packet encapsulated in said first ip packet, said message includes a third ip packet encapsulated in said second ip packet, said message includes a fourth ip packet encapsulated in said third ip packet, said first ip packet includes said first global address as a first destination address and said second local address as a first source address, said second local address corresponds to said source entity, said second ip packet includes said first global address as a second destination address and a second global address as a second source address, said second global address corresponds to said source entity, said third ip packet includes said first local address as a third destination address and said second global address as a third source address, said fourth ip packet includes a pseudo address; and
communicating said message toward said destination.
3. A method according to
providing a pseudo address to an application in said destination entity based on said message.
6. A method according to
receiving said first pseudo address from an application, said application uses said first pseudo address to address said destination, said step of receiving is performed prior to said step of creating a message.
7. A method according to
receiving a second pseudo address, said step of creating a message includes adding said second pseudo address to said message, said destination uses said second pseudo address to reference a source, said step of communicating is performed by said source.
8. A method according to
receiving said message at said destination;
accessing said second pseudo address at said destination; and
using said second pseudo address with an application on said destination.
9. A method according to
receiving said first pseudo address, said destination uses said first pseudo address to reference a source, said step of communicating is performed by said source.
10. A method according to
receiving said message at said destination;
accessing said first pseudo address at said destination; and
using said first pseudo address with an application on said destination.
11. A method according to
said message includes encapsulation within a single protocol level.
12. A method according to
receiving said message at an intermediate entity, said first pseudo address is stored in an inner layer of said encapsulation;
removing an outer layer of said encapsulation at said intermediate entity without changing said inner layer of said encapsulation; and
forwarding said message toward said destination.
13. A method according to
receiving said message at said destination;
removing another layer of said encapsulation at said destination;
accessing said first pseudo address at said destination; and
using said first pseudo address with an application on said destination.
15. A method according to
said destination uses said pseudo address to refer to a source.
16. A method according to
said destination uses said pseudo address to refer to said destination.
17. A method according to
said message includes encapsulation within a single protocol level.
18. A method according to
removing a layer of encapsulation at said destination; and
accessing said pseudo address in a remaining layer of said encapsulation.
19. A method according to
removing a layer of encapsulation at said destination; and
accessing said pseudo address based on a remaining layer of said encapsulation.
25. One or more processor readable storage devices according to
said message includes encapsulation within a single protocol level.
26. One or more processor readable storage devices according to
removing a layer of encapsulation at said destination; and
accessing said pseudo address based on a remaining layer of said encapsulation.
28. An apparatus according to
receiving said first pseudo address from an application, said application uses said first pseudo address to address said destination, said step of receiving is performed prior to said step of creating a message.
29. An apparatus according to
said message includes encapsulation within a single protocol level.
31. An apparatus according to
said message includes encapsulation within a single protocol level.
32. An apparatus according to
removing a layer of encapsulation at said destination; and
accessing said pseudo address based on a remaining layer of said encapsulation.
0. 35. An apparatus according to
said first ip packet includes said first local address; and
said second ip packet includes said first global address.
0. 36. An apparatus according to
said message includes a fourth ip packet encapsulated in said third ip packet;
said first ip packet includes said first local address and a second local address as a first source address, said second local address corresponds to a source entity;
said second ip packet includes said first global address and a second global address as a second source address, said second global address corresponds to said source entity, said third ip packet includes said first local address as a third destination address and said second global address as a third source address, and said fourth ip packet includes a pseudo address.
0. 39. An apparatus according to
prior to said step of removing, said message includes a first packet, a second packet encapsulated in said first packet, a third packet encapsulated in said second packet and a fourth packet encapsulated in said third packet;
said first packet includes said first global address as a first destination and a second local address as a first source, said second local address corresponds to a source entity;
said second packet includes said first global address as a second destination and a second global address as a second source, said second global address corresponds to said source entity; and
said third packet includes said first local address as a third destination.
|
This application claims the benefit of U.S. Provisional Application No. 60/224,864, filed on Aug. 11, 2000, which is incorporated herein by reference.
This application is related to the following Patents/Applications:
DOMAIN NAME ROUTING, U.S. Pat. No. 6,119,171, Sep. 12, 2000;
IPNET GATEWAY, Hasan S. Alkhatib and Bruce C. Wootton, U.S. application Ser. No. 09/167,709, filed on Oct. 6, 1998; and
PSEUDO ADDRESSING, Bruce C. Wootton and Hasan S. Alkhatib, U.S. application Ser. No. 09/637,803, filed on Aug. 11, 2000.
Each of the related Patents/Applications are incorporated herein by reference.
Alkhatib, Hasan, Tobagi, Fouad, Wootton, Bruce C
Patent | Priority | Assignee | Title |
8306064, | Jan 12 2009 | Trane International Inc. | System and method for extending communication protocols |
8621552, | May 22 2007 | SKYBOX SECURITY INC | Method, a system, and a computer program product for managing access change assurance |
9031996, | Mar 15 2010 | SALESFORCE, INC | System, method and computer program product for creating a plurality of CNAMES for a website |
9270583, | Mar 15 2013 | Cisco Technology, Inc.; Cisco Technology, Inc | Controlling distribution and routing from messaging protocol |
Patent | Priority | Assignee | Title |
5361256, | Nov 27 1992 | International Business Machines Corporation | Inter-domain multicast routing |
5623605, | Aug 29 1994 | THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT | Methods and systems for interprocess communication and inter-network data transfer |
5717686, | Jan 21 1997 | Lockheed Martin Corporation | Cellular spacecraft TDMA communications system with call interrupt coding system for maximizing traffic throughput |
5751961, | Jan 31 1996 | HANGER SOLUTIONS, LLC | Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point |
5777989, | Dec 19 1995 | International Business Machines Corporation; IBM Corporation | TCP/IP host name resolution for machines on several domains |
5781550, | Feb 02 1996 | Hewlett Packard Enterprise Development LP | Transparent and secure network gateway |
5790548, | Apr 18 1996 | Intellectual Ventures II LLC | Universal access multimedia data network |
5805818, | Sep 11 1996 | JPMORGAN CHASE BANK, N A , AS SUCCESSOR AGENT | System for acknowledging availability of neighbor node using data packet containing data that is ordinarily fowarded to neighbor node |
5805820, | Jul 15 1996 | RPX Corporation | Method and apparatus for restricting access to private information in domain name systems by redirecting query requests |
5826014, | Feb 06 1996 | GraphOn Corporation | Firewall system for protecting network elements connected to a public network |
5856974, | Feb 13 1996 | EMC Corporaton | Internetwork address mapping gateway |
5867667, | Mar 24 1997 | Cisco Technology, Inc | Publication network control system using domain and client side communications resource locator lists for managing information communications between the domain server and publication servers |
5884246, | Dec 04 1996 | TRANSGATE INTELLECTUAL PROPERTIES LTD | System and method for transparent translation of electronically transmitted messages |
5889953, | May 25 1995 | CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc | Policy management and conflict resolution in computer networks |
5898830, | Oct 17 1996 | GraphOn Corporation | Firewall providing enhanced network security and user transparency |
5913210, | Mar 27 1998 | PRODUCT ASSOCIATION TECHNOLOGIES, LLC | Methods and apparatus for disseminating product information via the internet |
5937162, | Apr 06 1995 | GOOGLE LLC | Method and apparatus for high volume e-mail delivery |
5937163, | Mar 26 1996 | Industrial Technology Research Institute | Method and system at a host node for hierarchically organizing the links visited by a world wide web browser executing at the host node |
5940394, | Aug 08 1996 | AT&T Corp | Transferring messages in networks made up of subnetworks with different namespaces |
6003084, | Sep 13 1996 | McAfee, LLC | Secure network proxy for connecting entities |
6006272, | Feb 23 1998 | WSOU Investments, LLC | Method for network address translation |
6119171, | Jan 29 1998 | HANGER SOLUTIONS, LLC | Domain name routing |
6496867, | Aug 27 1999 | Hewlett Packard Enterprise Development LP | System and method to negotiate private network addresses for initiating tunneling associations through private and/or public networks |
6701437, | Apr 17 1998 | AVAYA Inc | Method and apparatus for processing communications in a virtual private network |
6886103, | Oct 28 1999 | Alcatel-Lucent USA Inc | Method and apparatus for extending network address translation for unsupported protocols |
6888837, | Mar 23 1999 | RPX CLEARINGHOUSE LLC | Network address translation in a network having multiple overlapping address domains |
20020026525, | |||
EP817444, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 07 2008 | IP DYNAMICS INC | Inpro Network Facility, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025649 | /0592 | |
Jan 07 2008 | IP DYNAMICS, INC | Inpro Network Facility, LLC | CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF ASSIGNOR: IP DYNAMICS INC PREVIOUSLY RECORDED ON REEL 025649 FRAME 0592 ASSIGNOR S HEREBY CONFIRMS THE NAME OF ASSIGNOR: IP DYNAMICS, INC IS CORRECT | 025848 | /0834 | |
Aug 12 2015 | Inpro Network Facility, LLC | F POSZAT HU, L L C | MERGER SEE DOCUMENT FOR DETAILS | 037490 | /0592 | |
Dec 11 2018 | F POSZAT HU, L L C | INTELLECTUAL VENTURES ASSETS 121 LLC | NUNC PRO TUNC ASSIGNMENT SEE DOCUMENT FOR DETAILS | 047961 | /0234 | |
Dec 19 2018 | INTELLECTUAL VENTURES ASSETS 121 LLC | LF CAPITAL PARTNERS, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 049425 | /0231 |
Date | Maintenance Fee Events |
Apr 22 2010 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Oct 12 2012 | ASPN: Payor Number Assigned. |
Apr 24 2014 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Apr 13 2018 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Dec 01 2012 | 4 years fee payment window open |
Jun 01 2013 | 6 months grace period start (w surcharge) |
Dec 01 2013 | patent expiry (for year 4) |
Dec 01 2015 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 01 2016 | 8 years fee payment window open |
Jun 01 2017 | 6 months grace period start (w surcharge) |
Dec 01 2017 | patent expiry (for year 8) |
Dec 01 2019 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 01 2020 | 12 years fee payment window open |
Jun 01 2021 | 6 months grace period start (w surcharge) |
Dec 01 2021 | patent expiry (for year 12) |
Dec 01 2023 | 2 years to revive unintentionally abandoned end. (for year 12) |