Claims
- 1. A method of fault tolerant data communication, comprising:
engaging in a communication, including transfer of data and communication state with a source; receiving data from the source; processing the received data; and acknowledging receipt of the data back to the source thereafter.
- 2. The method of claim 1, wherein processing the received data includes storing or
applying the received data to one or more data stores for backup purposes.
- 3. The method of claim 2, further comprises:
storing a communication state in the one or more data stores, such that the communication state is associated with the data stored or applied to the one or more data stores.
- 4. The method of claim 3, further comprising:
activating a backup upon a failure; regenerating data and communication state from the data and communication state in the one or more data stores; and continuing the communication restored with the regenerated data and communication state by the backup.
- 5. The method of claim 4, wherein continuing the communication by the backup comprises:
expecting to receive data from the source that corresponds to the communication state stored in one or more data stores prior to the failure.
- 6. The method of claim 3, wherein the communication state is derived from a previous communication state and the received data.
- 7. The method of claim 3, wherein the communication state comprises TCP session data.
- 8. The method of claim 1, wherein the communication is a TCP/IP communication.
- 9. The method of claim 1, wherein the received data is routing information.
- 10. The method of claim 9, wherein the routing information is BGP (Border Gateway Protocol) routing information.
- 11. The method of claim 1, where the source is an Internet router.
- 12. A method of fault tolerant data communication, comprising:
engaging in a communication, including transfer of data and communication state, with a source; receiving data from the source; storing or applying the received data to one or more data stores for backup purposes; and storing a communication state in the one or more data stores, such that the communication state is associated with the data stored or applied to the one or more data stores.
- 13. The method of claim 12, further comprising:
activating a backup upon a failure; regenerating data and communication state from the data and communication state in the one or more data stores; and continuing the communication generated with the requested data and communication state by the backup.
- 14. The method of claim 13, wherein continuing the communication by the backup comprises:
expecting to receive data from the source that corresponds to the communication state stored in one or more data stores prior to the failure.
- 15. A method of fault tolerant data communication comprising:
engaging in a communication, including transfer of data and communication state, with a destination; storing send data for transfer to the destination in one or more data stores; and storing a communication state in one or more data stores, such that the communication state is associated with the send data.
- 16. The method of claim 15, further comprising:
transmitting the send data in fragments to the destination; and updating the communication state in the one or more data stores, such that communication state reflects the transmitted fragments.
- 17. The method of claim 16, further comprising:
receiving acknowledgments corresponding to the transmitted fragments; and updating the communication state in the one or more data store to reflect the acknowledgment of the transmitted fragments.
- 18. The method claim 17, further comprising:
deleting portions of the send data in the one or more data stores that correspond to acknowledged transmitted fragments.
- 19. A system of fault tolerant data communication, comprising:
a control unit engaging in a communication, including transfer of data and communication state with a source; the control unit receiving data from the source; the control unit processing the received data; and the control unit acknowledging receipt of the data back to the source thereafter.
- 20. The system of claim 19, further comprising:
one or more data stores; and the processing of the received data comprising the control unit storing or applying the received data to one or more data stores for backup purposes.
- 21. The system of claim 20, further comprising:
the control unit storing a communication state in the one or more data stores, such that the communication state is associated with the data stored or applied to the one or more data stores.
- 22. The system of claim 21, further comprising:
a backup control unit being activated upon a failure of the control unit; the backup control unit regenerating data and communication state from the data and communication state in the one or more data stores; and the backup control unit continuing the communication restored with the regenerated data and communication state.
- 23. The system of claim 22, wherein continuing the communication by the backup comprises:
the backup control unit expecting to receive data from the source that corresponds to the communication state stored in one or more data stores prior to the failure.
- 24. The system of claim 21, wherein the communication state is derived from a previous communication state and the received data.
- 25. The system of claim 21, wherein the communication state comprises TCP session data.
- 26. The system of claim 19, wherein the communication is a TCP/IP communication.
- 27. The system of claim 19, wherein the received data is routing information.
- 28. The system of claim 27, wherein the routing information is BGP (Border Gateway Protocol) routing information.
- 29. The system of claim 19, where the source is an Internet router.
- 30. A system of fault tolerant data communication, comprising:
a control unit engaging in a communication, including transfer of data and communication state, with a source; the control unit receiving data from the source; the control unit storing or applying the received data to one or more data stores for backup purposes; and the control unit storing a communication state in the one or more data stores, such that the communication state is associated with the data stored or applied to the one or more data stores.
- 31. The system of claim 30, further comprising:
a backup control unit being activated upon a failure of the control unit; the backup control unit regenerating data and communication state from the data and communication state in the one or more data stores; and the backup control unit continuing the communication generated with the requested data and communication state.
- 32. The system of claim 31, wherein continuing the communication by the backup control unit comprises:
the backup control unit expecting to receive data from the source that corresponds to the communication state stored in one or more data stores prior to the failure.
- 33. A system of fault tolerant data communication comprising:
a control unit engaging in a communication, including transfer of data and communication state, with a destination; the control unit storing send data for transfer to the destination in one or more data stores; and the control unit storing a communication state in one or more data stores, such that the communication state is associated with the send data.
- 34. The system of claim 33, further comprising:
the control unit transmitting the send data in fragments to the destination; and the control unit updating the communication state in the one or more data stores, such that communication state reflects the transmitted fragments.
- 35. The system of claim 34, further comprising:
the control unit receiving acknowledgments corresponding to the transmitted fragments; and the control unit updating the communication state in the one or more data store to reflect the acknowledgments of the transmitted fragments.
- 36. The system of claim 35, further comprising:
the control unit deleting portions of the send data in the one or more data stores that correspond to acknowledged transmitted fragments.
- 37. The system of claim 19, wherein the control unit comprises:
an application process; a connection-oriented transport protocol process; the application process engaging in the communication with the source via the transport protocol process; and the transport protocol process acknowledging receipt of the data back to the source after being processing by the application process.
- 38. The system of claim 37, wherein the transport protocol process stores a communication state in one or more data stores, such that the communication state is associated with the received data stored or applied to the one or more data stores.
- 39. The system of claim 33, wherein the control unit comprises:
an application process; a connection-oriented transport protocol process; the application process engaging in the communication while the destination via the transport protocol process; the transport protocol process storing send data from the application process for transfer to the destination in the one or more data store; and the transport protocol process storing the communication state in the one or more data stores, such that the communication state is associated with the send data.
- 40. An internet router comprising:
a control unit electrically coupled to one or more external links, the control unit engaging in a communication, including transfer of data and communication state, with the remote router via one of the external links; the control unit receiving routing data from the remote router; the control unit processing the received routing data; and the control unit acknowledging receipt of the data back to the remote router thereafter.
- 41. The internet router of claim 40, wherein processing the received routing data includes the control unit storing or applying the received routing data to one or more data stores for backup purposes.
- 42. The internet router of claim 41, further comprising:
the control unit storing a communication state in the one or more data stores, such that the communication state is associated with the routing data stored or applied to the one or more data stores.
- 43. The internet router of claim 42, further comprising:
a backup control unit being activated upon a failure of the control unit; the backup control unit regenerating data and communication state from the data and communication state in the one or more data stores; and the backup control unit continuing the communication restored with the regenerated data and communication state.
- 44. An internet router, comprising:
a control unit engaging in a communication, including transfer of data and communication state, with a remote router; the control unit receiving routing data from the remote router; the control unit storing or applying the routing data to one or more data stores for backup purposes; and the control unit storing a communication state in the one ore more data stores, such that the communication state is associated with the routing data stored or applied to the one or more data stores.
- 45. An internet router, comprising:
a control unit engaging in a communication, including transfer of data and communication state, with a remote router; the control unit storing send data for transfer to the remote router in one or more data stores; and the control unit storing a communication state in one or more data stores, such that the communication state is associated with the send data.
- 46. The internet router of claim 45, further comprising:
the control unit transmitting the send data in fragments to the destination; and the control unit updating the communication state in the one or more data stores, such that communication state reflects the transmitted fragments.
- 47. The internet router of claim 46, further comprising:
the control unit receiving acknowledgments corresponding to the transmitted fragments; and the control unit updating the communication state in the one or more data store to reflect the acknowledgments of the transmitted fragments.
- 48. The internet router of claim 47, further comprising:
the control unit deleting portions of the send data in the one or more data stores that correspond to acknowledged transmitted fragments.
RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application No. 60/351,717, filed on Jan. 24, 2002. The entire teachings of the above application are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60351717 |
Jan 2002 |
US |