Protocol independent interface supporting general communications interface debugging and testing tool
First Claim
1. A tool operating on a computer for debugging a plurality of different devices having different communication protocols associated thereto to support testing of communications interfaces using commands obtained from a command definition file for the device being tested, the tool comprising:
- a plurality of communication modules, residing on the computer, for communicating with one or more of the plurality of different devices via a physical transport of the communication module, each communication module communicating using at least one of the different communication protocols;
a protocol plug-in datastore, residing on the computer, that stores a plurality of available protocol plug-ins, wherein a protocol plug-in wraps at least one protocol stack for communicating with a device of the plurality of different devices, the protocol plug-in using a stack wrapper to selectively communicate with at least one device stack layer using commands obtained from a command definition file defining protocol stack layers, wherein the protocol plug-in data store is implemented in a non-transitory computer readable medium;
a hardware processor;
a protocol manager interfaced with the protocol plug-in datastore to discover the plurality of available protocol plug-ins and present the plurality of available protocol plug-ins for selection; and
a stack broker, residing on the computer, that receives a protocol plug-in selection corresponding to a particular protocol plug-in of the plurality of available protocol plug-ins and instantiates the particular protocol plug-in, on the computer, using a common stack interface,the common stack interface, residing on the computer, defines an interface for communicating with each of the plurality of available protocol plug-ins, the common stack interface includes an open session method to open a communication session with a device being tested, a create command method to create commands for the device being tested, and a create command argument method to create arguments for the commands created using the create command method;
wherein the protocol manager is configured to receive a given command for the device being tested and passes the given command to the stack broker;
wherein the stack broker receives the given command from the protocol manager and issues the given command to the instantiated protocol plug-in using the open session method, the create command method and the create command argument method of the common stack interface;
wherein the instantiated protocol plug-in receives the given commands for at least one device stack layer of the a device being tested defined in accordance with the common stack interface and generates data packets sent via the physical transport to the device being tested, wherein the protocol manager, the stack broker, and the instantiated particular protocol plug-in are implemented by computer-executable instructions executed by the hardware processor of the computer;
a manual command interface configured to retrieve a command definition file from a command definition datastore, wherein the manual command interface receives a given command and communicates the given command to the protocol manager; and
a sequence command interface configured to retrieve a command definition file from the command definition datastore and to receive a sequence of commands, wherein the sequence command interface, in response to receiving the sequence of commands, creates a script for the device being tested and, in response to an input, executes the script by automatically communicating the sequence of commands from the script to the protocol manager.
6 Assignments
0 Petitions
Accused Products
Abstract
A protocol independent debugging tool for debugging communication interfaces of devices is disclosed. The debugging tool is configured to receive communication protocol plug-ins corresponding to different communication protocols. The debugging tool instantiates a stack interface from the protocol plug-in, such that the stack interface implements a protocol-specific stack wrapper that communicates with a device being tested. The stack specific wrapper receives commands from a command interface for the device being tested, generates data packets in accordance with the communication protocol of the device being tested, and transmits the data packets to the device being tested.
-
Citations
15 Claims
-
1. A tool operating on a computer for debugging a plurality of different devices having different communication protocols associated thereto to support testing of communications interfaces using commands obtained from a command definition file for the device being tested, the tool comprising:
-
a plurality of communication modules, residing on the computer, for communicating with one or more of the plurality of different devices via a physical transport of the communication module, each communication module communicating using at least one of the different communication protocols; a protocol plug-in datastore, residing on the computer, that stores a plurality of available protocol plug-ins, wherein a protocol plug-in wraps at least one protocol stack for communicating with a device of the plurality of different devices, the protocol plug-in using a stack wrapper to selectively communicate with at least one device stack layer using commands obtained from a command definition file defining protocol stack layers, wherein the protocol plug-in data store is implemented in a non-transitory computer readable medium; a hardware processor; a protocol manager interfaced with the protocol plug-in datastore to discover the plurality of available protocol plug-ins and present the plurality of available protocol plug-ins for selection; and a stack broker, residing on the computer, that receives a protocol plug-in selection corresponding to a particular protocol plug-in of the plurality of available protocol plug-ins and instantiates the particular protocol plug-in, on the computer, using a common stack interface, the common stack interface, residing on the computer, defines an interface for communicating with each of the plurality of available protocol plug-ins, the common stack interface includes an open session method to open a communication session with a device being tested, a create command method to create commands for the device being tested, and a create command argument method to create arguments for the commands created using the create command method; wherein the protocol manager is configured to receive a given command for the device being tested and passes the given command to the stack broker; wherein the stack broker receives the given command from the protocol manager and issues the given command to the instantiated protocol plug-in using the open session method, the create command method and the create command argument method of the common stack interface; wherein the instantiated protocol plug-in receives the given commands for at least one device stack layer of the a device being tested defined in accordance with the common stack interface and generates data packets sent via the physical transport to the device being tested, wherein the protocol manager, the stack broker, and the instantiated particular protocol plug-in are implemented by computer-executable instructions executed by the hardware processor of the computer; a manual command interface configured to retrieve a command definition file from a command definition datastore, wherein the manual command interface receives a given command and communicates the given command to the protocol manager; and a sequence command interface configured to retrieve a command definition file from the command definition datastore and to receive a sequence of commands, wherein the sequence command interface, in response to receiving the sequence of commands, creates a script for the device being tested and, in response to an input, executes the script by automatically communicating the sequence of commands from the script to the protocol manager. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for configuring a tool for debugging a plurality of different devices having different communication protocols associated thereto, the tool including a plurality of communication modules, each communication module having a different physical transport for communicating with one or more of the plurality of different devices, each communication module being configured to communicate using at least one of the different communication protocols, comprising:
-
storing a plurality of different protocol plug-ins, wherein a protocol plug-in wraps at least one protocol stack for communicating with a device of the plurality of different devices and defines a communication stack interface implementation for effectuating communication between the debugging tool and the particular device, the protocol plug-in using a stack wrapper to selectively communicate with at least one device stack layer using commands obtained from a command definition file defining protocol stack layers; defining a common stack interface for communicating with each of the plurality of different protocol plug-ins, where the common stack interface includes an open session method to open a communication session with a device and a create command method to generate a command for the device; defining one or more command instructions using the create command method of the common stack interface; discovering the plurality of different protocol plug-ins and presenting the plurality of different protocol plug-ins for selection; receiving a protocol plug-in selection corresponding to a particular protocol plug-in of the plurality of different protocol plug-ins; instantiating the particular protocol plug-in using the common stack interface, opening, by the instantiated protocol plug-in, a communication session with the device being tested using an open session instruction defined in accordance with the common stack interface, wherein the instantiated protocol plug-in includes an open session object that opens the communication session in accordance with the communication protocol corresponding to the instantiated protocol plug-in; retrieving, a manual command interface, a command definition file from a command definition datastore; receiving, by the manual command interface, a command from the command definition file and communicating the command to the instantiated protocol plug-in; retrieving, by a sequence command interface, a command definition file from the command definition datastore; receiving, by the sequence command interface, a sequence of commands; creating, by the sequence command interface, a script for the device being tested in response to receiving the sequence of commands; executing, by the sequence command interface, the script by automatically communicating the sequence of commands from the script to the instantiated protocol plug-in; receiving, by the instantiated protocol plug-in, one or more commands from either the manual command interface or the sequence command interface; issuing, by the instantiated protocol plug-in, the one or more commands to the device being tested using the one or more command instructions defined in accordance with the create command method, wherein the instantiated protocol plug-in defines a command object that generates the commands for the device being tested in accordance with the communication protocol corresponding to the instantiated protocol plug-in. - View Dependent Claims (11, 12, 13, 14, 15)
-
Specification