SHELL OPERATION FLOW CHANGE

Abstract
Embodiments described herein are based on the principle that shells execute commands as units of characters. Accordingly, embodiments herein provide also provide for some special cases of asynchronous control signals that change the shell operation flow. For example, signal messages may be used to terminate, pause, resume, or otherwise modify the execution of a command. In other words, if a user wishes to change the execution state of a command, a client can create a signal message and send such message to the shell processor, which can take the appropriate action as desired. Note that by modeling the control or signal commands as discrete messages (as well as other embodiments modeled and described herein), such commands are not mistakenly executed on a command as is the case for current protocols that use a character-by-character transmission.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:



FIG. 1 illustrates a network that utilizes message protocol handlers for remote command-line shell processing in accordance with example embodiments;



FIG. 1B illustrates the use of an open message and return shell identifier for establishing a command session in accordance with example embodiments;



FIG. 1C illustrates using a message to send a command unit to a shell processor for execution in accordance with example embodiments;



FIG. 1D illustrates the streaming of the output for an executed command in accordance with example embodiments;



FIG. 1E illustrates the separation of the input stream message from the command message in accordance with example embodiments;



FIG. 1F illustrates the use of messages for transmitting control operations for a shell session in accordance with example embodiments;



FIG. 1G illustrates the use of a close message for terminating a command session in accordance with example embodiments; and



FIG. 2 illustrates a flow diagram for a protocol used in executing command-lines at a remote shell in accordance with example embodiments.


Claims
  • 1. At a client in a network computing environment, a method of asynchronously controlling or changing the flow of a shell operation in a remote shell session using a signal message to execute an action as desired, the method comprising: sending an execution request message that includes a command to a command-line shell processor for execution, wherein the command is sent as a unit that includes one or more of a command name, one or more switches, or other information needed for a successful execution thereof, andprior to receiving information about the execution of the command, sending a signal message rather than a special character in an input stream, which modifies state for the execution of the command.
  • 2. The method of claim 1, wherein the information about the execution of the command includes one or more of an acknowledgement that the command has properly been received by the command-line shell processor, an acknowledgement that the command has properly been executed by the command-line shell processor, or output from the execution of the command by the command-line shell processor.
  • 3. The method of claim 2, wherein the acknowledgement that the command has properly been received by the command-line shell processor includes a command identifier, which is included in the signal message in order to appropriately identify the signal message as corresponding to the command.
  • 4. The method of claim 1, wherein prior to sending the execution request message, a shell session is established by sending an open shell request message and receiving a shell identifier, which is included within the signal message in order to appropriately identify the signal message as being part of the shell session.
  • 5. The method of claim 4, wherein the signal message pauses the execution of the command and a second signal message is sent that resumes the execution of the command, and wherein upon completion of the execution of the command, a close shell message is sent to the command-line shell processor for closing the shell session.
  • 6. The method of claim 1, wherein the one or more asynchronous signal messages are sent for changing the shell operation flow such that the execution of the command is terminated, paused, resumed, exited, or delayed.
  • 7. The method of claim 1, further comprising: receiving a signal response message at the client, which indicates the state of the command.
  • 8. The method of claim 7, wherein the signal response message is either an error message or acknowledgement message based on one or more of the status of the command, the type of modification or changed desired.
  • 9. The method of claim 1, wherein prior to sending the signal message, the method further comprises: sending input for the command as one or more streams of data, wherein the signal message is sent prior to receiving streamed output data from the command-line shell processor.
  • 10. A computer program comprising one or more computer readable media having stored thereon computer executable instructions that, when executed by a processor, can cause the client to perform the method of claim 1.
  • 11. At a remote command-line shell process in a network computing environment, a method of asynchronously controlling or changing the flow of a shell operation using a signal message to execute an action as desired, the method comprising: receiving an execution request message that includes a command to a command-line shell processor for execution, wherein the command is sent as a unit that includes one or more of a command name, one or more switches, or other information needed for a successful execution thereof, andprior to completing the execution of the command, receiving a signal message rather than a special character in an input stream, which modifies state for the execution of the command.
  • 12. The method of claim 11, wherein prior to receiving the signal message, the method further comprises: sending information about the execution of the command including one or more of an acknowledgement that the command has properly been received by the command-line shell processor, an acknowledgement that the command has properly been executed by the command-line shell processor, or output from the execution of the command by the command-line shell processor.
  • 13. The method of claim 12, wherein the acknowledgement that the command has properly been received by the command-line shell processor includes a command identifier, which is included in the signal message in order to appropriately identify the signal message as corresponding to the command.
  • 14. The method of claim 11, wherein prior to sending the execution request message, a shell session is established by receiving an open shell request message and sending a shell identifier, which is included within the signal message in order to appropriately identify the signal message as being part of the shell session.
  • 15. The method of claim 14, wherein the signal message pauses the execution of the command and a second signal message is sent that resumes the execution of the command, and wherein upon completion of the execution of the command, a close shell message is received at the command-line shell processor for closing the shell session.
  • 16. The method of claim 11, wherein the one or more asynchronous signal messages are received for changing the shell operation flow such that the execution of the command is terminated, paused, resumed, exited, or delayed.
  • 17. The method of claim 11, further comprising: sending a signal response message to the client, which indicates the state of the command.
  • 18. The method of claim 17, wherein the signal response message is either an error message or acknowledgement message based on one or more of the status of the command, the type of modification or changed desired.
  • 19. The method of claim 11, wherein prior to receiving the signal message, the method further comprises: receiving input for the command as one or more streams of data, wherein the signal message is received prior to sending streamed output data from the command-line shell processor.
  • 20. A computer program comprising one or more computer readable media having stored thereon computer executable instructions that, when executed by a processor, can cause the remote command-line shell to perform the method of claim 11.
Provisional Applications (1)
Number Date Country
60773954 Feb 2006 US