State information is synchronized between a plurality of routing engines in a multi-chassis router according to a synchronization gradient. An example multi-chassis router is described that includes a primary routing engine and a standby routing engine in each chassis. According to the synchronizati
State information is synchronized between a plurality of routing engines in a multi-chassis router according to a synchronization gradient. An example multi-chassis router is described that includes a primary routing engine and a standby routing engine in each chassis. According to the synchronization gradient, the primary routing engine of a control node updates state information on the standby routing engine of the control node prior to updating the primary routing engines of the other chassis. The primary routing engines of the other chassis update state information in respective standby routing engines prior to updating state information in consumers. If a primary routing engine fails, the corresponding standby routing engine assumes control of the primary routing engine's duties. Upon assuming control, a standby routing engine resumes updating state information without having to resend state information or interrupt packet forwarding.
대표청구항▼
The invention claimed is: 1. A method for distributing state information within a multi-chassis router comprising a first local routing engine and a second local routing engine, wherein the second local routing engine acts as a standby routing engine for the first local routing engine, the multi-ch
The invention claimed is: 1. A method for distributing state information within a multi-chassis router comprising a first local routing engine and a second local routing engine, wherein the second local routing engine acts as a standby routing engine for the first local routing engine, the multi-chassis router further comprising a third routing engine configured as a master routing engine for the multi-chassis router, the method comprising: storing state information within a hierarchically-ordered and temporally-linked data structure within the first local routing engine; receiving updates to the state information with the first local routing engine of the multi-chassis router from the third routing engine of the multi-chassis router; communicating the updates from the first local routing engine to the second local routing engine, wherein communicating the updates to the second local routing engine comprises replicating at least a portion of the hierarchically-ordered and temporally-linked data structure to the second local routing engine; and after communicating the updates from the first local routing engine to the second local routing engine, communicating the updates from the first local routing engine to one or more consumers of the state information, wherein the one or more consumers receive and utilize state information from the first local routing engine, and wherein at least one of the consumers comprises a forwarding component for the first local routing engine; wherein communicating the updates from the first local routing engine to one or more of the consumers of the state information comprises: setting a commit proposal to identify a most recent object of the hierarchically-ordered and temporally-linked data structure for the updates for which an acknowledgement request has been sent to the one or more consumers; and setting a commit marker to identify a most recent object of the hierarchically-ordered and temporally-linked data structure for the updates that have been communicated to the one of the consumers and for which an acknowledgement has been received from the one of the consumers. 2. The method of claim 1, wherein communicating the updates to a second local routing engine comprises communicating the updates in accordance with an order that requires the updates to be communicated to the second local routing engine prior to communicating the updates to the consumer of the state information. 3. The method of claim 1, wherein communicating the updates to one or more consumers comprises communicating the updates to the one or more consumers in accordance with the hierarchically-ordered and temporally-linked data structure. 4. The method of claim 1, further comprising receiving instructions to delete a portion of the hierarchically-ordered and temporally-linked data structure. 5. The method of claim 1, further comprising receiving an acknowledgement for the updates from the second local routing engine prior to communicating the updates to one of the consumers. 6. The method of claim 1, wherein the state information is contained within a set of objects. 7. The method of claim 6, further comprising: receiving an acknowledgement for the updates from the second local routing engine; and marking objects in the data structure to indicate the updates have been acknowledged by the second local routing engine. 8. The method of claim 1, further comprising receiving a first acknowledgement request from the third routing engine. 9. The method of claim 8, further comprising receiving a sequence number from the third routing engine, wherein the sequence number represents the first acknowledgement request in a count of acknowledgement requests received from the third routing engine. 10. The method of claim 1, further comprising counting, with the third routing engine, a number of acknowledgement requests sent to the first local routing engine from the third routing engine. 11. The method of claim 10, further comprising writing a number representing the count within objects that store the acknowledgement requests. 12. The method of claim 1, wherein the multi-chassis router comprises a chassis comprising the first local routing engine and the second local routing engine, wherein the multi-chassis router comprises a control node comprising the third routing engine, wherein the first local routing engine comprises a primary local routing engine for the chassis of the multi-chassis router, and wherein the third routing engine comprises a primary master routing engine for the control node within the multi-chassis router. 13. The method of claim 1, wherein at least one of the consumers comprises an interface card for the first local routing engine. 14. The method of claim 1, wherein the forwarding component of the at least one of the consumers comprises a packet forwarding engine. 15. The method of claim 1, wherein the first local routing engine, the second local routing engine, and the third routing engine are physically coupled within the multi-chassis router and configured to operate as a single router within the network. 16. A method for distributing state information within a multi-chassis router comprising a first local routing engine and a second local routing engine, wherein the second local routing engine acts as a standby routing engine for the first local routing engine, the multi-chassis router further comprising a third routing engine configured as a master routing engine for the multi-chassis router, the method comprising: utilizing a commit proposal and a commit marker to identify portions of the state information; receiving updates to the state information with the first local routing engine of the multi-chassis router from the third routing engine of the multi-chassis router, communicating the updates from the first local routing engine to the second local routing engine; and after communicating the updates from the first local routing engine to the second local routing engine, communicating the updates from the first local routing engine to one or more consumers of the state information, wherein the one or more consumers receive and utilize state information from the first local routing engine, and wherein at least one of the consumers comprises a forwarding component for the first local routing engine, wherein the updates are received according to a hierarchically-ordered and temporally-linked data structure, and wherein utilizing a commit proposal and a commit marker comprises: setting the commit proposal to identify a most recent object of the hierarchically-ordered and temporally-linked data structure that is the subject of an acknowledgement request sent to one of the consumers; and setting the commit marker to identify a most recent object of the hierarchically-ordered and temporally-linked data structure that has been communicated to the one of the consumers and for which an acknowledgement has been received from the one of the consumers. 17. The method of claim 16, further comprising: replicating the commit proposal and the commit marker to the second local routing engine; and communicating a portion of the hierarchically-ordered and temporally-linked data structure following the replicated commit marker to one of the consumers from the second local routing engine in the event the first local routing engine fails. 18. The method of claim 17, further comprising issuing a communication from the first local routing engine to cause the second local routing engine to set the replicated commit proposal to identify a most recent portion of the hierarchically-ordered and temporally-linked data structure that is the subject of the acknowledgement request. 19. The method of claim 17, further comprising issuing a communication from the first local routing engine to cause the second local routing engine to set the replicated commit marker to identify a most recent portion of the hierarchically-ordered and temporally-linked data structure that has been communicated to one of the consumers and for which an acknowledgement has been received from the one of the consumers. 20. The method of claim 16, further comprising sending an acknowledgement to the third routing engine for a most recent portion prior to the commit marker. 21. The method of claim 16, wherein the updates are received according to the hierarchically-ordered and temporally-linked data structure, further comprising: receiving an acknowledgement request from the third routing engine; and inserting a marker in the hierarchically-ordered and temporally-linked data structure to store the acknowledgement request. 22. The method of claim 21, further comprising: receiving a first acknowledgement for all objects less recent than the marker from one of the consumers; and sending a second acknowledgement to the third routing engine in response to the acknowledgement request. 23. The method of claim 21, wherein the marker is an object. 24. A multi-chassis network device comprising: a first master routing engine; a second master routing engine configured as a standby master routing engine for the first master routing engine; and a first plurality of consumers of state information from the first master routing engine, wherein a first one of the first plurality of consumers comprises a first local routing engine, and wherein a second one of the first plurality of consumers comprises a second local routing engine configured as a standby routing engine for the first local routing engine; and a second plurality of consumers, wherein at least one of the second plurality of consumers comprises a forwarding component for the first local routing engine, wherein the first master routing engine manages state information and communicates updates to the state information to the second master routing engine before communicating the updates to the first local routing engine, wherein the first local routing engine communicates the updates to the second local routing engine before communicating the updates to the second plurality of consumers, wherein the first local routing engine issues a communication that causes the second local routing engine to set a commit proposal to identify a most recent portion of the state information that is the subject of an acknowledgement request sent to at least one of the second plurality of consumers, and wherein the first local routing engine issues a communication that causes the second local routing engine to set a commit marker to identify a most recent portion of the state information that has been communicated to the first the consumers and for which an acknowledgement has been received from the at least one of second plurality of consumers. 25. The multi-chassis network device of claim 24, wherein the first routing engine manages the state information within a hierarchically-ordered and temporally-linked data structure and communicates the updates by replicating the hierarchically-ordered and temporally-linked data structure within the first local routing engine, wherein the first local routing engine replicates the commit proposal and the commit marker to the second local routing engine, and the second local routing engine communicates a portion of the replicated hierarchically-ordered and temporally-linked data structure after the commit marker to the at least one of the second plurality of consumers in the event the first local routing engine fails. 26. The multi-chassis network device of claim 24, wherein the first master routing engine, the second master routing engine, the first local routing engine, and the second local routing engine are physically coupled within the multi-chassis network device and configured to operate as a single router within the network. 27. A multi-chassis network device comprising: a first master routing engine storing state information within a hierarchically-ordered and temporally-linked data structure within the first local routing engine; a second master routing engine configured as a standby master routing engine for the first master routing engine; and a plurality of consumers of state information from the first master routing engine, wherein the first routing engine manages the state information and communicates updates to the state information to the second routing engine before communicating the updates to a first one of the plurality of consumers, wherein the first routing engine communicates the updates to the second master routing engine by replicating the hierarchically-ordered and temporally-linked data structure within the first one of the plurality of consumers, and wherein the first routing engine sets a commit proposal to identify a most recent object of the hierarchically-ordered and temporally-linked data structure for the updates for which an acknowledgement request has been sent to the one or more consumers and sets a commit marker to identify a most recent object of the hierarchically-ordered and temporally-linked data structure for the updates that have been communicated to the one of the consumers and for which an acknowledgement has been received from the one of the consumers. 28. The multi-chassis network device of claim 27, wherein the first one of the plurality of consumers communicates the updates to a second one of the plurality of consumers in accordance with the hierarchically-ordered and temporally-linked data structure. 29. The multi-chassis network device of claim 28, wherein the first one of the plurality of consumers utilizes a commit proposal and a commit marker to identify the portion of the state information within the data structure that has been communicated to the second one of the plurality of consumers. 30. The multi-chassis network device of claim 29, wherein the first one of the plurality of consumers sets the commit proposal to identify a most recent portion of the updates that is the subject of an acknowledgement request sent to the second one of the consumers, and sets the commit marker to identify a most recent portion of the updates that has been communicated to the second one of the plurality of consumers and for which an acknowledgement has been received from the second one of the consumers. 31. A computer-readable storage medium being a non-transitory medium of a multi-chassis routing device, the device comprising a first local routing engine, a second local routing engine, and one or more consumers of state information, wherein the second local routing engine acts as a standby routing engine for the first local routing engine, wherein the one or more consumers receive and utilize state information from the first local routing engine, and wherein at least one of the consumers comprises a forwarding component for the first local routing engine, the device further comprising a master routing engine, the computer-readable storage medium comprising instructions for causing the first local routing engine to: receive state information from the master routing engine and store the state information within a hierarchically-ordered and temporally-linked data structure; communicate updates to the state information in accordance with an order that requires the updates to be communicated to the second local routing engine before communicating the updates to the one or more consumers of the state information; set a commit proposal to identify a most recent object of the hierarchically-ordered and temporally-linked data structure for the updates for which an acknowledgement request has been sent to the one or more consumers; and set a commit marker to identify a most recent object of the hierarchically-ordered and temporally-linked data structure for the updates that have been communicated to the one of the consumers and for which an acknowledgement has been received from the one of the consumers. 32. The computer-readable storage medium of claim 31, comprising further instructions to cause the first local routing engine to: receive an acknowledgement for the updates from the second local routing engine; and mark objects in the data structure to indicate the updates have been acknowledged by the second local routing engine. 33. The computer-readable storage medium of claim 31, wherein the instructions cause the first local routing engine to: receive an acknowledgement request from the master routing engine; and insert a marker in the hierarchically-ordered and temporally-linked data structure to store the acknowledgement request. 34. The computer-readable storage medium of claim 31, comprising further instructions to cause the first local routing engine to delete a portion of the hierarchically-ordered and temporally-linked data structure. 35. A computer-readable storage medium being a non-transitory medium of a multi-chassis routing device, the device comprising a first local routing engine, a second local routing engine, and one or more consumers of state information, wherein the second local routing engine acts as a standby routing engine for the first local routing engine, wherein the one or more consumers receive and utilize state information from the first local routing engine, and wherein at least one of the consumers comprises a forwarding component for the first local routing engine, the device further comprising a master routing engine, the computer-readable storage medium comprising instructions for causing the first local routing engine to: receive state information from the master routing engine; and communicate updates to the state information in accordance with an order that requires the updates to be communicated to the second local routing engine before communicating the updates to the one or more consumers of the state information, wherein the instructions cause the first local routing engine to: utilize a commit proposal to identify a most recent portion of the updates that is the subject of an acknowledgement request sent to the one or more consumers; and utilize a commit marker to identify a most recent portion of the updates that has been communicated to the one or more consumers and for which an acknowledgement has been received from the one or more consumers. 36. The computer-readable storage medium of claim 35, wherein the instructions cause the first local routing engine to receive state information within a hierarchically-ordered and temporally-linked data structure, comprising further instructions to cause the first local routing engine to send an acknowledgement to the master routing engine for a least recent portion of the hierarchically-ordered and temporally-linked data structure that is not bounded by the commit marker and the commit proposal. 37. The computer-readable storage medium of claim 35, comprising further instructions to cause the first local routing engine to: replicate the commit proposal and the commit marker to the second local routing engine; and communicate a portion of the replicated hierarchically-ordered and temporally-linked data structure that is after the replicated commit marker to the one or more consumers from the second local routing engine in the event the first local routing engine fails. 38. The computer-readable storage medium of claim 31, wherein the instructions cause the first local routing engine to receive an acknowledgement for the updates from the second local routing engine prior to communicating the updates to the one or more consumers. 39. The computer-readable storage medium of claim 31, comprising further instructions to cause the first local routing engine to send a first acknowledgement request to the one or more consumers. 40. The computer-readable storage medium of claim 31, comprising further instructions to cause the master routing engine to: send a sequence number to the first local routing engine, wherein the sequence number represents a first acknowledgement request in a count of acknowledgement requests sent by the master routing engine; and count the number of acknowledgement requests sent to the first local routing engine from the master routing engine. 41. A method comprising: receiving state updates with a first control unit of a first chassis of a multi-chassis network system from a control unit of a control node of the multi-chassis network system and storing the state updates within a hierarchically-ordered and temporally-linked data structure; forwarding the state updates from the first control unit to a consumer, wherein forwarding the state updates includes replicating a least a portion of the hierarchically-ordered and temporally-linked data structure to the consumer, and wherein the consumer comprises a processor of the multi-chassis router that consumes state information from the first control unit; setting a commit proposal to identify a most recent object of the hierarchically-ordered and temporally-linked data structure for the updates for which an acknowledgement request has been sent to the consumer; setting a commit marker to identify a most recent object of the hierarchically-ordered and temporally-linked data structure for the updates that have been communicated to the one of the consumers and for which an acknowledgement has been received from the consumer; transferring state update operations from the first control to a second control unit of the first chassis; and substantially maintaining network functions during the transfer. 42. The method of claim 41, wherein substantially maintaining comprises maintaining data packet forwarding functions during the transfer.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (47)
Davies,Ian Robert; Maine,Gene; Pecone,Victor Key, Apparatus and method for adopting an orphan I/O port in a redundant storage controller.
Inagawa,Takashi; Hirata,Yasuo; Karasaki,Teiji; Kimura,Shinji, Computer apparatus and method of diagnosing the computer apparatus and replacing, repairing or adding hardware during non-stop operation of the computer apparatus.
Balint,Matthew; Darling,Glen; Fitzgerald,John; Wooff,Douglas, Dynamic installation and activation of software packages in a distributed networking device.
Turner, Steve W.; Raghunathan, Sriram; DiNapoli, Jeffrey M.; Krishnaswamy, Umesh; Gupta, Anurag P., Integration of an operative standalone router into a multi-chassis router.
Pooni,Subramaniyam; Mangalore,Rajkumar; Srinath,Vijay; Krishnamurthy,Vikram, Method and apparatus for identifying multiple paths to a SCSI device using a calculated unique identifier.
Abidi,Vasmi M.; Shih,Hongchi; McCloghrie,Keith, Method and apparatus for managing network devices using a parsable string that conforms to a specified grammar.
Harvey,Andrew; Mohammad,Ikramullah; Pereira,Leo; Kao,Tohru, Method and apparatus for provisioning network devices using instructions in extensible markup language.
Kampe, Mark A.; Gien, Michel; Penkler, David; Jacquemot, Christian; Herrmann, Frederic; Armand, Francois; Fenart, Jean-Marc; Campbell, David F.; Baltz, Lawrence E., Method and system for achieving high availability in a networked computer system.
Schofield Andrew John,GBX ; Washer Anthony Robert,GBX, Method and system for performing resource updates and recovering operational records within a fault-tolerant transaction-oriented data processing system.
Sudhakaran Erath Unikat ; Andert Glenn P., Object-oriented global resource conflict resolver formatting resource requirements into a predetermined standard format and iteratively computing a resource assignment for each I/O function.
Fasig Jonathan L. (Rochester MN) Fournier Thomas R. (Rochester MN) O\Marro Kevin P. (Rochester MN), Removable hard disk drive system with circuit for hot insertion and removal responsive to contacts of zero-insertion-for.
Oi,Hitoshi; Conway,Patrick N.; Shimizu,Takeshi; Masuyama,Kazunori; Miryala,Sudheer; Farrell,Jeremy J.; Kaido,Norio, Routing mechanism for static load balancing in a partitioned computer system with a fully connected network.
Chiu, Manfred F.; Hill, Gregory C.; Buckley, Clifford James; Holten, Jens Arne; Eich, Steven A.; Grimes, Michael E.; Sudhakar, Yerrapalli R.; Peck, Anthony Peter, SVC signaling system and method.
Oelke,Mark Lyndon; Jenne,John E.; Olarig,Sompong Paul; Kotzur,Gary Benedict; Schumacher,Matthew John, System and method for expansion of computer network switching system without disruption thereof.
Endo Yoshihisa,JPX ; Higuchi Shinichi,JPX ; Ooshita Kazuhito,JPX ; Sonoda Yuko,JPX ; Ogino Kouichi,JPX, Universal serial bus compatible peripheral device and universal serial bus controller which automatically switches between connection and disconnection of computer.
Abraham, Vineet M.; Chin, Bill Ying; Mahoney, William R.; Saxena, Aditya; Liang, Xupei; Zhou, Bill Jianqiang, Achieving ultra-high availability using a single CPU.
Abraham, Vineet M.; Chin, Bill Ying; Mahoney, William R.; Saxena, Aditya; Liang, Xupei; Zhou, Bill Jianqiang, Achieving ultra-high availability using a single CPU.
Cheung, David; Kancherla, Mani Prasad; Kothari, Deepak; Hemminger, Gary, Core-trunking across cores on physically separated processors allocated to a virtual machine based on configuration information including context information for virtual machines.
Qu, Hui; Lin, Mu; Wang, Shine-Chu; Chu, Heng-Hui Debbie; Zhang, Leyi; Zhou, Zi; Obstfeld, Joel, High availability using full memory replication between virtual machine instances on a network device.
Vohra, Quaizar; Kondur, Umesh, Methods and apparatus related to a switch fabric system having a multi-hop distributed control plane and a single-hop data plane.
Balakrishna, Raghunath; Wang, Shine-chu; Krishnaswamy, Umesh; Chadalavada, Bharani; Kumar, Sandeep; Tuplur, Raj; Sivaramakrishnan, Rajagopalan, Synchronizing state information between control units.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.