Systems, methods, and apparatus to debug a network application
First Claim
1. A system comprising:
- a debugging coordinator communicatively coupled to a plurality of virtual service nodes via a plurality of network nodes of a communication network, wherein the debugging coordinator comprises;
a processor; and
a memory storing instructions that, when executed by the processor, cause the processor to perform a method comprising;
instantiating a cloned network that includes a second set of virtual service nodes that includes at least one cloned virtual service node that is a clone of a corresponding virtual service node in a first set of virtual service nodes of the plurality of virtual services nodes, wherein the at least one cloned virtual service node has access to a history of events that occurred at the corresponding virtual service node in the first set of virtual service nodes; and
initiating an interactive debugging session that includes step by step processing by the cloned network of the events of the history of events, wherein the step by step processing of the events starts at a first event of the history of events, wherein the first event is identified by a checkpoint, wherein the step by step processing of the events includes sending a transmit command to each virtual service node in the second set of virtual service nodes, wherein the transmit command identifies a transmit phase, and wherein, during the transmit phase, each virtual service node in the second set of virtual service nodes is configured to transmit one or more packets transmitted during the first event by the corresponding virtual service node in the first set of virtual service nodes and to receive one or more packets received during the first event at the corresponding virtual service node in the first set of virtual service nodes.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus to debug a network application are described. A described example network includes a live control network to collect control messages to create a history of network states, the history of network states reflecting an order in which control messages are processed, the live control network to roll back from a current state to a past state upon detection of an improper sequence of messages and to process the messages in a corrected sequence, the corrected sequence to be stored in the history. The described example network further includes a virtualized network corresponding to the live control network, the virtualized network responsive to a command from an operator to step through the history to facilitate debugging.
29 Citations
17 Claims
-
1. A system comprising:
a debugging coordinator communicatively coupled to a plurality of virtual service nodes via a plurality of network nodes of a communication network, wherein the debugging coordinator comprises; a processor; and a memory storing instructions that, when executed by the processor, cause the processor to perform a method comprising; instantiating a cloned network that includes a second set of virtual service nodes that includes at least one cloned virtual service node that is a clone of a corresponding virtual service node in a first set of virtual service nodes of the plurality of virtual services nodes, wherein the at least one cloned virtual service node has access to a history of events that occurred at the corresponding virtual service node in the first set of virtual service nodes; and initiating an interactive debugging session that includes step by step processing by the cloned network of the events of the history of events, wherein the step by step processing of the events starts at a first event of the history of events, wherein the first event is identified by a checkpoint, wherein the step by step processing of the events includes sending a transmit command to each virtual service node in the second set of virtual service nodes, wherein the transmit command identifies a transmit phase, and wherein, during the transmit phase, each virtual service node in the second set of virtual service nodes is configured to transmit one or more packets transmitted during the first event by the corresponding virtual service node in the first set of virtual service nodes and to receive one or more packets received during the first event at the corresponding virtual service node in the first set of virtual service nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A method comprising:
-
identifying a first set of virtual service coordinators of a plurality of virtual service coordinators, wherein each of the plurality of virtual service coordinators corresponds to a particular network node of a plurality of network nodes of a communication network, and wherein each of the plurality of virtual service coordinators is associated with at least one virtual service node; instantiating a cloned network that includes a second set of virtual service coordinators that includes at least one cloned virtual service node that is a clone of a corresponding virtual service node in a first set of virtual service nodes of the plurality of virtual services nodes, wherein the at least one cloned virtual service node has access to a history of network events that occurred at the corresponding virtual service node in the first set of virtual service nodes; sending an instruction to the second set of virtual service coordinators to load the history of network events; sending breakpoint information to the second set of virtual service coordinators that identifies a condition of the communication network; sending a step through instruction to initiate a step through mode to process the network events via the cloned network in a step by step execution mode; determining whether the condition identified by the breakpoint information is satisfied based on state information collected from at least one virtual service coordinator of the cloned network; and in response to determining that the condition has been satisfied, modifying a configuration of the cloned network. - View Dependent Claims (11, 12, 13)
-
-
14. A method, comprising:
-
receiving a plurality of messages at a first virtual service coordinator of a plurality of virtual service coordinators of a communication network, wherein the first virtual service coordinator controls a first virtual service node; storing the plurality of messages according to an order hierarchy to create a history of events, wherein the order hierarchy indicates an order in which each of the plurality of messages is received; in response to determining that at least one message of the plurality of received messages does not conform to the order hierarchy, initiating a rollback operation that includes reordering the messages to conform to the order hierarchy to produce a modified history of events; sending a rollback message to one or more additional virtual service coordinators of the plurality of virtual service coordinators to identify the at least one message that does not conform to the order hierarchy; processing the plurality of messages via the first virtual service node based on the modified history of events; storing information associated with the processing of the plurality of messages via the first virtual service node; instantiating a second virtual service node at the first virtual service coordinator, wherein the second virtual service node is a clone of the first virtual service node; and initiating an interactive debug operation that includes step by step processing of events in the modified history of events at the second virtual service node starting at an event identified by a checkpoint. - View Dependent Claims (15, 16, 17)
-
Specification