Generic remote connection to a command line interface application
First Claim
1. A method to establish a generic remote connection to a command line interface (CLI) application for concurrently executing multiple primitive commands in the CLI application and allowing sporadic communication with the CLI application that is a constantly resident CLI application running as one of a service process and a background process, comprising:
- configuring and implementing a server configured with a data input channel, a data output channel, and an error output channel, each connected to the CLI application;
multiplexing data output and error output data streams by the server to generate a single multiplexed data stream;
configuring a first socket for routing data streams through the data input channel, the error output channel, and data output channel of the server, wherein the data streams include at least the single multiplexed data stream;
configuring and implementing at least one client configured with the data input channel, data output channel, and the error output channel;
opening the first socket by the at least one client upon starting the at least one client and connecting the first socket by the server to the data streams following the starting of the at least one client;
configuring the at least one client to regenerate the data output and error output data streams that are multiplexed into the single multiplexed data stream;
routing the data streams through the first socket between the server and the at least one client;
serializing commands being issued to a shared CLI session, if the shared CLI session is being shared between a plurality of clients, so that a complete response, for one of the plurality of clients, is received and collected prior to a successive response being submitted;
tracking at least three of the data streams of the CLI application, wherein the data streams are a data input stream, which is data obtained from a keyboard, a data output stream, which is data sent to a display monitor, and an error output stream, which is error data sent to the display monitor;
attaching, by the server, a unique header to each of the data output and the error output data stream that are multiplexed into the single multiplexed data stream for being identified by the at least one client for demultiplexing;
demultiplexing the single multiplexed data stream by the at least one client to regenerate the data output and error output data streams by identifying the data output and the error output data stream using the unique header attached to each of the data output and the error output data stream that have been multiplexed into the single multiplexed data stream by the server.
1 Assignment
0 Petitions
Accused Products
Abstract
A method to establish a generic remote connection to a command line interface (CLI) application is provided. A server is implemented. The server is configured with a data input channel, a data output channel, and an error output channel, each connected to the CLI application. A first socket is configured for routing data streams through the data input channel and data output channel of the server. At least one client is implemented. The at least one client is configured with the data input channel, data output channel, and the error output channel.
25 Citations
15 Claims
-
1. A method to establish a generic remote connection to a command line interface (CLI) application for concurrently executing multiple primitive commands in the CLI application and allowing sporadic communication with the CLI application that is a constantly resident CLI application running as one of a service process and a background process, comprising:
-
configuring and implementing a server configured with a data input channel, a data output channel, and an error output channel, each connected to the CLI application; multiplexing data output and error output data streams by the server to generate a single multiplexed data stream; configuring a first socket for routing data streams through the data input channel, the error output channel, and data output channel of the server, wherein the data streams include at least the single multiplexed data stream; configuring and implementing at least one client configured with the data input channel, data output channel, and the error output channel; opening the first socket by the at least one client upon starting the at least one client and connecting the first socket by the server to the data streams following the starting of the at least one client; configuring the at least one client to regenerate the data output and error output data streams that are multiplexed into the single multiplexed data stream; routing the data streams through the first socket between the server and the at least one client; serializing commands being issued to a shared CLI session, if the shared CLI session is being shared between a plurality of clients, so that a complete response, for one of the plurality of clients, is received and collected prior to a successive response being submitted; tracking at least three of the data streams of the CLI application, wherein the data streams are a data input stream, which is data obtained from a keyboard, a data output stream, which is data sent to a display monitor, and an error output stream, which is error data sent to the display monitor; attaching, by the server, a unique header to each of the data output and the error output data stream that are multiplexed into the single multiplexed data stream for being identified by the at least one client for demultiplexing; demultiplexing the single multiplexed data stream by the at least one client to regenerate the data output and error output data streams by identifying the data output and the error output data stream using the unique header attached to each of the data output and the error output data stream that have been multiplexed into the single multiplexed data stream by the server. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for establishing a generic remote connection to a command line interface (CLI) application for concurrently executing multiple primitive commands in the CLI application and allowing sporadic communication with the CLI application that is a constantly resident CLI application running as one of a service process and a background process, comprising:
-
a server configured with a data input channel, a data output channel, and an error output channel, each connected to the CLI application, wherein the server multiplexes data output and error output data streams by the server to generate a single multiplexed data stream; a first socket connected to the server for routing data streams through the data input channel, the error output channel, and data output channel of the serve, wherein the data streams include at least the single multiplexed data stream r; at least one client configured with the data input channel, data output channel, and the error output channel; at least one processor device in communication with and controlling the server and the at least one client; the at least one client configured for opening the first socket by the at least one client upon starting the at least one client and connecting the first socket by the server to the data streams following the starting of the at least one client; the at least one client configured to regenerate the data output and error output data streams that are multiplexed into the single multiplexed data stream; the server and the at least one client configured to route the data streams through the first socket between both the at least one client and the server; the at least one processor device configured to serialize commands being issued to a shared CLI session, if the shared CLI session is being shared between a plurality of clients, so that a complete response, for one of the plurality of clients, is received and collected prior to a successive response being submitted; the at least one process server configured for tracking at least three of the data streams of the CLI application, wherein the data streams are a data input stream, which is data obtained from a keyboard, a data output stream, which is data sent to a display monitor, and an error output stream, which is error data sent to the display monitor; the at least one process server configured for attaching a unique header to each of the data output and the error output data stream that are multiplexed into the single multiplexed data stream for being identified by the at least one client for demultiplexing; the at least one client configured to demultiplex the single multiplexed data stream by the at least one client to regenerate the data output and error output data streams by identifying the data output and the error output data stream using the unique header attached to each of the data output and the error output data stream that have been multiplexed into the single multiplexed data stream by the server. - View Dependent Claims (8, 9)
-
-
10. A computer program product for establishing a generic remote connection to a command line interface (CLI) application for concurrently executing multiple primitive commands in the CLI application and allowing sporadic communication with the CLI application that is a constantly resident CLI application running as one of a service process and a background process, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:
-
a first executable portion for configuring and implementing a server configured with a data input channel, a data output channel, and an error output channel, each connected to the CLI application, wherein the server multiplexes data output and error output data streams by the server to generate a single multiplexed data stream; a second executable portion for configuring a first socket for routing data streams through the data input channel, the error output channel, and data output channel of the server, wherein the data streams include at least the single multiplexed data stream; a third executable portion for configuring and implementing at least one client configured with the data input channel, data output channel, and the error output channel; a fourth executable portion for opening the first socket by the at least one client upon starting the at least one client and connecting the first socket by the server to the data streams following the starting of the at least one client; a fifth executable portion for configuring the at least one client to regenerate the data output and error output data streams that are multiplexed into the single multiplexed data stream; a sixth executable portion for routing the data streams through the first socket between the server and the at least one client; an seventh executable portion commands being issued to a shared CLI session, if the shared CLI session is being shared between a plurality of clients, so that a complete response, for one of the plurality of clients, is received and collected prior to a successive response being submitted; an eighth executable portion for tracking at least three of the data streams of the CLI application, wherein the data streams are a data input stream, which is data obtained from a keyboard, a data output stream, which is data sent to a display monitor, and an error output stream, which is error data sent to the display monitor; a ninth executable portion for attaching, by the server, a unique header to each of the data output and the error output data stream that are multiplexed into the single multiplexed data stream for being identified by the at least one client for demultiplexing; a tenth executable portion for demultiplexing the single multiplexed data stream by the at least one client to regenerate the data output and error output data streams by identifying the data output and the error output data stream using the unique header attached to each of the data output and the error output data stream that have been multiplexed into the single multiplexed data stream by the server. - View Dependent Claims (11, 12, 13, 14, 15)
-
Specification