Claims
- 1. A method for communicating, comprising the steps of:
establishing a persistent connection between a first entity in a private network and a second entity outside of said private network; initiating communication with said first entity, said communication is initiated by a third entity from outside said private network using an identification associated with said persistent connection; and exchanging subsequent communication between said first entity and said third entity outside of said persistent connection.
- 2. A method for communicating according to claim 1, wherein said step of initiating includes the step of:
sending a message from said third entity to said first entity, wherein said third entity uses said identification in sending said message and said third entity does not use a public address unique to said first entity in sending said message.
- 3. A method according to claim 2, wherein said message is included in a UDP segment having a header listing said identification as a destination port number.
- 4. A method according to claim 1, wherein said method further includes the step of:
said first entity establishing a connection with said third entity in response to said step of initiating.
- 5. A method according to claim 4, wherein said step of initiating includes the steps of:
forwarding a message from said third entity to said second entity; and forwarding said message from said second entity to said first entity using said persistent connection.
- 6. A method according to claim 5, wherein said step of forwarding said message from said second entity to said first entity using said persistent connection includes the steps of:
forwarding said message from said second entity to a NAT device in said private network; and forwarding said message from said NAT device to said first entity.
- 7. A method according to claim 6, wherein said third entity is inside a second private network and said step of forwarding said message from said third entity to said second entity includes the steps of:
forwarding said message from said third entity to a second NAT device in said second private network; and forwarding said message from said second NAT device to said second entity.
- 8. A method according to claim 4, wherein said step of said first entity establishing includes the step of:
sending a second message to said third entity from said first entity outside of said persistent connection, wherein a new identification is associated with said connection with said third entity.
- 9. A method according to claim 8, wherein said step of sending said second message includes the steps of:
forwarding said second message from said first entity to a NAT device in said private network; and forwarding said second message from said NAT device to said third entity.
- 10. A method according to claim 9, wherein said third entity is inside a second private network and said step of forwarding said second message from said NAT device to said third entity includes the steps of:
forwarding said second message from said NAT device to a second NAT device in said second private network; and forwarding said second message from said second NAT device to said third entity.
- 11. A method according to claim 8, wherein said second message is included in a UDP segment that arrives at said third entity having a header listing said new identification as a source port number.
- 12. A method according to claim 8, wherein said step of exchanging includes the step of:
sending a third message to said first entity from said third entity outside of said persistent connection using said new identification.
- 13. A method according to claim 12, wherein said step of sending said third message includes the steps of:
forwarding said third message from said third entity to a NAT device in said private network; and forwarding said third message from said NAT device to said first entity.
- 14. A method according to claim 13, wherein said third entity is inside a second private network and said step of forwarding said third message from said third entity to said NAT device in said private network includes the steps of:
forwarding said third message from said third entity to a second NAT device in said second private network; and forwarding said third message from said second NAT device to said NAT device.
- 15. A method according to claim 12, wherein said third message is included in a UDP segment having a header listing said new identification as a destination port number.
- 16. A method according to claim 1, wherein said step of initiating is performed outside of said persistent connection.
- 17. A method according to claim 16, wherein said step of initiating includes the steps of:
forwarding a message from said third entity to a NAT device in said private network using said identification; and forwarding said message from said NAT device to said first entity.
- 18. A method according to claim 17, wherein said third entity is inside a second private network and said step of forwarding said message from said third entity to said NAT device in said private network includes the steps of:
forwarding said message from said third entity to a second NAT device in said second private network; and forwarding said message from said second NAT device to said NAT device.
- 19. A method according to claim 16, wherein said step of exchanging includes the steps of:
sending a second message to said third entity from said first entity outside of said persistent connection; and sending a third message to said first entity from said third entity outside of said persistent connection using said identification.
- 20. A method according to claim 19, wherein said second message is included in a UDP segment that arrives at said third entity having a header listing said port identification as a source port number and said third message is included in a UDP segment having a header listing said identification as a destination port number.
- 21. One or more processor readable storage devices having processor readable code embodied on said one or more processor readable storage devices, said processor readable code for programming one or more processors to perform a method for communicating, said method comprising the steps of:
establishing a persistent connection between a first entity in a private network and a second entity outside of said private network; initiating communication with said first entity, said communication is initiated by a third entity from outside said private network using an identification associated with said persistent connection; and exchanging subsequent communication between said first entity and said third entity outside of said persistent connection.
- 22. One or more processor readable storage devices according to claim 21, wherein said step of initiating includes the step of:
sending a message from said third entity to said first entity, wherein said third entity uses said identification in sending said message and said third entity does not use a public address unique to said first entity in sending said message.
- 23. One or more processor readable storage devices according to claim 22, wherein said message is included in a UDP segment having a header listing said identification as a destination port number.
- 24. One or more processor readable storage devices according to claim 21, wherein said method further includes the step of:
said first entity establishing a connection with said third entity in response to said step of initiating.
- 25. One or more processor readable storage devices according to claim 24, wherein said step of initiating includes the steps of:
forwarding a message from said third entity to said second entity; and forwarding said message from said second entity to said first entity using said persistent connection.
- 26. One or more processor readable storage devices according to claim 25, wherein said step of forwarding said message from said second entity to said first entity using said persistent connection includes the steps of:
forwarding said message from said second entity to a NAT device in said private network; and forwarding said message from said NAT device to said first entity.
- 27. One or more processor readable storage devices according to claim 25, wherein said step of said first entity establishing includes the step of:
sending a second message to said third entity from said first entity outside of said persistent connection, wherein a new identification is associated with said connection with said third entity.
- 28. One or more processor readable storage devices according to claim 27, wherein said step of sending said second message includes the steps of:
forwarding said second message from said first entity to a NAT device in said private network; and forwarding said second message from said NAT device to said third entity.
- 29. One or more processor readable storage devices according to claim 27, wherein said second message is included in a UDP segment that arrives at said third entity having a header listing said new identification as a source port number.
- 30. One or more processor readable storage devices according to claim 27, wherein said step of exchanging includes the step of:
sending a third message to said first entity from said third entity outside of said persistent connection using said new identification.
- 31. One or more processor readable storage devices according to claim 30, wherein said step of sending said third message includes the steps of:
forwarding said third message from said third entity to a NAT device in said private network; and forwarding said third message from said NAT device to said first entity.
- 32. One or more processor readable storage devices according to claim 30, wherein said third message is included in a UDP segment having a header listing said new identification as a destination port number.
- 33. One or more processor readable storage devices according to claim 21, wherein said step of initiating is performed outside of said persistent connection.
- 34. One or more processor readable storage devices according to claim 33, wherein said step of initiating includes the steps of:
forwarding a message from said third entity to a NAT device in said private network using said identification; and forwarding said message from said NAT device to said first entity.
- 35. One or more processor readable storage devices according to claim 33, wherein said step of exchanging includes the steps of:
sending a second message to said third entity from said first entity outside of said persistent connection; and sending a third message to said first entity from said third entity outside of said persistent connection using said identification.
- 36. One or more processor readable storage devices according to claim 35, wherein said second message is included in a UDP segment that arrives at said third entity having a header listing said identification as a source port number and said third message is included in a UDP segment having a header listing said identification as a destination port number.
- 37. An apparatus, comprising:
a communication interface; one or more storage devices; and one or more processors in communication with said one or more storage devices and said communication interface, said one or more processors programmed to perform a method for communicating, said method comprising the steps of:
establishing a persistent connection between a first entity in a private network and a second entity outside of said private network; initiating communication with said first entity, said communication is initiated by a third entity from outside said private network using an identification associated with said persistent connection; and exchanging subsequent communication between said first entity and said third entity outside of said persistent connection.
- 38. An apparatus according to claim 37, wherein said step of initiating includes the step of:
sending a message from said third entity to said first entity, wherein said third entity uses said identification in sending said message and said third entity does not use a public address unique to said first entity in sending said message.
- 39. An apparatus according to claim 38, wherein said message is included in a UDP segment having a header listing said identification as a destination port number.
- 40. An apparatus according to claim 37, wherein said method further includes the step of:
said first entity establishing a connection with said third entity in response to said step of initiating.
- 41. An apparatus according to claim 40, wherein said step of initiating includes the steps of:
forwarding a message from said third entity to said second entity; and forwarding said message from said second entity to said first entity using said persistent connection.
- 42. An apparatus according to claim 40, wherein said step of said first entity establishing includes the step of:
sending a second message to said third entity from said first entity outside of said persistent connection, wherein a new identification associated with said connection with said third entity.
- 43. An apparatus according to claim 42, wherein said step of exchanging includes the step of:
sending a third message to said first entity from said third entity outside of said persistent connection using said new identification.
- 44. An apparatus according to claim 43, wherein said third message is included in a UDP segment having a header listing said new identification as a destination port number.
- 45. An apparatus according to claim 37, wherein said step of initiating is performed outside of said persistent connection.
- 46. An apparatus according to claim 45, wherein said step of exchanging includes the steps of:
sending a second message to said third entity from said first entity outside of said persistent connection; and sending a third message to said first entity from said third entity outside of said persistent connection using said identification.
- 47. A method for communicating, comprising the steps of:
receiving an identification associated with a persistent connection between a first entity in a private network and a second entity outside of said private network; initiating communication with said first entity, said communication is initiated from outside said private network using said identification; and sending, from outside said private network, one or more messages toward said first entity, said one more messages transmitted outside of said persistent connection.
- 48. A method according to claim 47, wherein said step of initiating includes the step of:
sending a message to said first entity in said private network from outside of said private network, using said identification in sending said message and not using a public address unique to said first entity in sending said message.
- 49. A method according to claim 48, wherein said message is forwarded to said first entity via said persistent connection and said step of sending said message includes the step of:
forwarding said message to said second entity.
- 50. A method according to claim 47, wherein said method further includes the step of:
receiving a second message from said first entity outside of said persistent connection, after said step of initiating communication.
- 51. A method according to claim 50, wherein said second message establishes a connection associated with a new identification.
- 52. A method according to claim 51, wherein said step of sending, from outside said private network, one or more messages includes the step of:
sending a third message to said first entity outside of said persistent connection using said new identification.
- 53. One or more processor readable storage devices having processor readable code embodied on said one or more processor readable storage devices, said processor readable code for programming one or more processors to perform a method for communicating, said method comprising the steps of:
receiving an identification associated with a persistent connection between a first entity in a private network and a second entity outside of said private network; initiating communication with said first entity, said communication is initiated from outside said private network using said identification; and sending, from outside said private network, one or more messages toward said first entity, said one more messages transmitted outside of said persistent connection.
- 54. One or more processor readable storage devices according to claim 53, wherein said step of initiating includes the step of:
sending a message to said first entity in said private network from outside of said private network, using said identification in sending said message and not using a public address unique to said first entity in sending said message.
- 55. One or more processor readable storage devices according to claim 54, wherein said message is forwarded to said first entity via said persistent connection and said step of sending said message includes the step of:
forwarding said message to said second entity.
- 56. One or more processor readable storage devices according to claim 53, wherein said method further includes the step of:
receiving a second message from said first entity outside of said persistent connection, after said step of initiating communication.
- 57. One or more processor readable storage devices according to claim 56, wherein said second message establishes a connection associated with a new identification, and wherein said step of sending, from outside said private network, one or more messages includes the step of:
sending a third message to said first entity outside of said persistent connection using said new identification.
- 58. An apparatus, comprising:
a communication interface; one or more storage devices; and one or more processors in communication with said one or more storage devices and said communication interface, said one or more processors programmed to perform a method for communicating, said method comprising the steps of:
receiving an identification associated with a persistent connection between a first entity in a private network and a second entity outside of said private network; initiating communication with said first entity, said communication is initiated from outside said private network using said identification; and sending, from outside said private network, one or more messages toward said first entity, said one more messages transmitted outside of said persistent connection.
- 59. An apparatus according to claim 58, wherein said step of initiating includes the step of:
sending a message to said first entity in said private network from outside of said private network, using said identification in sending said message and not using a public address unique to said first entity in sending said message.
- 60. An apparatus according to claim 59, wherein said message is forwarded to said first entity via said persistent connection and said step of sending said message includes the step of:
forwarding said message to said second entity.
- 61. An apparatus according to claim 58, wherein said method further includes the step of:
receiving a second message from said first entity outside of said persistent connection, after said step of initiating communication.
- 62. An apparatus according to claim 61, wherein said second message establishes a connection associated with a new identification, and wherein said step of sending, from outside said private network, one or more messages includes the step of:
sending a third message to said first entity outside of said persistent connection using said new identification.
- 63. A method for communicating, comprising the steps of:
establishing a persistent connection between a first entity in a private network and a second entity outside of said private network; receiving an initial communication at said first entity from a third entity using an identification associated with said persistent connection, said third entity is outside said private network; and sending a subsequent communication from said first entity back toward said third entity, said communication does not travel through said persistent connection to said second entity.
- 64. A method according to claim 63, wherein said initial communication is received by said first entity via said persistent connection.
- 65. A method according to claim 64, wherein said subsequent communication establishes a connection with said third entity and a new identification is associated with said connection with said third entity.
- 66. A method according to claim 65, wherein said method further includes the step of:
receiving a third communication from said third entity outside of said persistent connection, wherein said third communication uses said new identification.
- 67. A method according to claim 63, wherein said initial communication is received by said first entity outside of said persistent connection.
- 68. One or more processor readable storage devices having processor readable code embodied on said one or more processor readable storage devices, said processor readable code for programming one or more processors to perform a method for communicating, said method comprising the steps of:
establishing a persistent connection between a first entity in a private network and a second entity outside of said private network; receiving an initial communication at said first entity from a third entity using an identification associated with said persistent connection, said third entity is outside said private network; and sending a subsequent communication from said first entity back toward said third entity, said communication does not travel through said persistent connection to said second entity.
- 69. One or more processor readable storage devices according to claim 68, wherein said initial communication is received by said first entity via said persistent connection.
- 70. One or more processor readable storage devices according to claim 69, wherein said subsequent communication establishes a connection with said third entity and a new identification is associated with said connection with said third entity.
- 71. One or more processor readable storage devices according to claim 70, wherein said method further includes the step of:
receiving a third communication from said third entity outside of said persistent connection, wherein said third communication uses said new identification.
- 72. One or more processor readable storage devices according to claim 68, wherein said initial communication is received by said first entity outside of said persistent connection.
- 73. An apparatus, comprising:
a communication interface; one or more storage devices; and one or more processors in communication with said one or more storage devices and said communication interface, said one or more processors programmed to perform a method for communicating, said method comprising the steps of:
establishing a persistent connection between a first entity in a private network and a second entity outside of said private network; receiving an initial communication at said first entity from a third entity using an identification associated with said persistent connection, said third entity is outside said private network; and sending a subsequent communication from said first entity back toward said third entity, said communication does not travel through said persistent connection to said second entity.
- 74. An apparatus according to claim 73, wherein said initial communication is received by said first entity via said persistent connection.
- 75. An apparatus according to claim 74, wherein said subsequent communication establishes a connection with said third entity and a new identification is associated with said connection with said third entity.
- 76. An apparatus according to claim 75, wherein said method further includes the step of:
receiving a third communication from said third entity outside of said persistent connection, wherein said third communication uses said new identification.
- 77. An apparatus according to claim 73, wherein said initial communication is received by said first entity outside of said persistent connection.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to the following Patents/Applications:
[0002] DOMAIN NAME ROUTING, Hasan S. Alkhatib, U.S. Pat. No. 6,119,171;
[0003] IPNET GATEWAY, Hasan S. Alkhatib and Bruce C. Wootton, U.S. application Ser. No. 09/167,709, filed on Oct. 6, 1998;
[0004] PSEUDO ADDRESSING, Bruce C. Wootton, et al., U.S. application Ser. No. 09/637,803, filed on Aug. 11, 2000; and
[0005] ACCESSING AN ENTITY INSIDE A PRIVATE NETWORK, Hasan S. Alkhatib, Yun Fei Zhang, Fouad A. Tobagi and Farid F. Elwailly, U.S. application Ser. No. ______, filed the same day as the present application with Attorney Docket No. TTCC-01012US0.
[0006] Each of the related Patents/Applications are incorporated herein by reference.