Abstract:
A management interface between embedded systems of a blade server for executing a management method is provided. The management method comprises receiving a login information from a first system and generating a session ID in response to the login information, wherein the login information has a markup language format; receiving a command information from the first system and sending back an execution result of the command information in response to the command information, wherein the execution result has the markup language format; and receiving a logout information from the first system and removing the session ID in response to the logout information so as to invalidate the session ID, wherein the logout information has the markup language format.

Description:
[0001]    This application claims the benefit of Taiwan application Serial No. 95143250, filed Nov. 22, 2006, the subject matter of which is incorporated herein by reference. 
       BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    The invention relates in general to a management protocol between embedded systems, and more particularly to communication and management protocol between modules of a blade server. 
         [0004]    2. Description of the Related Art 
         [0005]    Embedded systems of a blade server communicate with each other via a hardware channel of a middle plane in the chassis of the blade server. In the following description, a switch blade and a modular management blade (MMB) of the blade server are exemplified to communicate with each other via a series port RS-232 for illustration. In the communication operation of the conventional MMB and switch blade, the MMB executes a self-edited communication management program to command the switch blade by simulating as a user manager so as to control the setting, backup and storing operations of the switch blade. However, the conventional MMB and switch blade have the following problems in communication. 
         [0006]    When the series port is transmitting data, it happens very often that some data is transmitted with the wrong characters or omitted in transmission, which results in an operational error of the MMB and switch blade due to error reception. Besides, owing that the MMB gives commands by stimulating as a user manager, the information sent back by the switch blade has also a character pattern easily distinguished by the user manager. However, in terms of the MMB, information of the character pattern has a problem of not being easy to be distinguished. 
         [0007]    In addition, different manufacturers will manufacture different interfaces of switch blade. The communication management program executed by the MMB should be compatible to the different interfaces of switch blade. As a result, the communication management program of the MMB is more difficult to be developed and maintained. 
       SUMMARY OF THE INVENTION 
       [0008]    The invention is directed to a computer system medium with a management interface between embedded systems. The computer system medium has advantages of a low error data transmission rate, easier information discrimination, easier maintenance of the communication management programs and interface unification. 
         [0009]    According to a first aspect of the present invention, a management interface between embedded systems of a blade server for executing a management method is provided. The management method comprises receiving a login information from a first system and generating a session ID in response to the login information, wherein the login information has a markup language format; receiving a command information from the first system and sending back an execution result of the command information in response to the command information, wherein the execution result has the markup language format; and receiving a logout information from the first system and removing the session ID in response to the logout information so as to invalidate the session ID, wherein the logout information has the markup language format. 
         [0010]    According to a second aspect of the present invention, a computer system medium is provided. The computer system medium has a management interface between embedded systems of a blade server to execute a management method. The management method comprises receiving a login information from a first system and generating a session ID in response to the login information, wherein the login information has a markup language format; receiving a command information from the first system and outputting a device information of a second system corresponding to the command information in response to the command information, wherein the command information has the markup language format; and receiving a logout information from the first system and removing the session ID in response to the logout information so as to invalidate the session ID, wherein the logout information has the markup language format. 
         [0011]    The invention will become apparent from the following detailed description of the preferred but non-limiting embodiments. The following description is made with reference to the accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]      FIG. 1  is a block diagram of a blade server with management protocol between embedded systems according to a preferred embodiment of the invention. 
           [0013]      FIG. 2  is an operational diagram of the management interface between the embedded systems according to a preferred embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0014]    Referring to  FIG. 1 , a block diagram of a blade server with management protocol between embedded systems according to a preferred embodiment of the invention is shown. A blade server  100  includes a MMB  110  and a switch blade  120 . In the embodiment, the MMB  110  is exemplified to be connected to the switch blade  120  via a RS-232 series port  130  and perform management on the switch blade  120  via the management protocol between the embedded systems. 
         [0015]    Referring to  FIG. 2 , an operational diagram of the management interface between the embedded systems according to a preferred embodiment of the invention is shown. First, when the MMB  110  is to obtain an authority of accessing device information of the switch blade  120 , the MMB  110  generates and outputs login information Lli to login the switch blade  120 . The login information Lli has a markup language format. The switch blade  120  receives the login information Lli and generates a session ID SID in response to the login information Lli. 
         [0016]    Next, when the MMB  110  is to access the device information of the switch blade  120 , the MMB  110  generates and outputs command information CMDi to control the switch blade  120  to execute an access operation. The command information CMDi has a markup language format. The switch blade  120  receives the command information CMDi and outputs an execution result Ei of executing the command information CMDi. 
         [0017]    Following that, when the MMB  110  is to stop performing the access operation on the switch blade  120 , the MMB  110  generates and outputs logout information LOi to logout the switch blade  120 . The logout information has the markup language format. The MMB  120  receives the logout information LOi and invalidates the session ID SID in response to the logout information LOi. 
         [0018]    The data structure of the login information Lli includes two columns respectively including name information and identification password information corresponding to the name information. The switch blade  120  determines an operational authority of the MMB  110  according to the name information and identification password information to provide the corresponding session ID SID. The following program is an operational embodiment to illustrate that the MMB  110  outputs the login information Lli and the switch blade  120  outputs the session ID SID in response to the login information Lli. The markup language is an extensive markup language (XML) for instance. 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 &lt;?xml version=’ 1.0’ ?&gt; 
               
               
                   
                 &lt;MODULE_LOGIN&gt; 
               
               
                   
                   &lt;REQUEST&gt; 
               
               
                   
                     &lt;MAXOUTPUTLEN&gt;0x0fff&lt;/MAXOUTPUTLEN&gt; 
               
               
                   
                     &lt;USERNAME&gt;admin&lt;/USERNAME&gt; 
               
               
                   
                     &lt;PASSWORD&gt;admin&lt;/PASSWORD&gt; 
               
               
                   
                   &lt;/REQUEST&gt; 
               
               
                   
                 &lt;/MODULE_LOGIN&gt; 
               
               
                   
                 &lt;?xml version=’ 1.0’ ?&gt;&lt;?RMCXML version=’ 1.0’ ?&gt; 
               
               
                   
                 &lt;MODULE_LOGIN&gt; 
               
               
                   
                   &lt;RC&gt;0x0&lt;/RC&gt; 
               
               
                   
                   &lt;OUTPUTLEN&gt;0x0&lt;/OUTPUTLEN&gt; 
               
               
                   
                   &lt;SID&gt;0xbc26c2fc&lt;/SID&gt; 
               
               
                   
                   &lt;STATENAME&gt;MODULE_RC_OK&lt;/STATENAME&gt; 
               
               
                   
                   &lt;CMDOUTPUT&gt;&lt;/CMDOUTPUT&gt; 
               
               
                   
                 &lt;/MODULE_LOGIN&gt; 
               
               
                   
                   
               
             
          
         
       
     
         [0019]    All the above request markups are included in the markup &lt;MODULE_LOGIN&gt;. The markup &lt;MAXOUTPUTLEN&gt; includes information representing an upper limit of acceptable information length of the MMB  110 . The markups &lt;USERNAME&gt; AND &lt;PASSWORD&gt; respectively include name information and identification password information, which are substantially equal in the embodiment. The markup &lt;RC&gt; includes a return code and the markup &lt;STATENAME&gt; is for representing a present login situation of the MMB  110 . In the embodiment, the return code is 0x0 which represents the MMB  110  logins successfully. 
         [0020]    The command information CMDi has a data structure with two columns respectively including the session ID SID and a control command. The switch blade  120  determines whether the MMB  110  has an authority of executing the control command according to the session ID SID. The following program is an operational embodiment in which the MMB  110  outputs the command information CMDi and the switch blade  120  outputs the execution result information Ei in response to the command information CMDi. 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 &lt;?xml version=’ 1.0 ?&gt; 
               
               
                   
                 &lt;REQUEST&gt; 
               
               
                   
                   &lt;SID&gt;0Xxxxxxxxx&lt;/SID&gt; 
               
               
                   
                   &lt;CMDINPUT&gt;getipaddr&lt;/CMDINPUT&gt; 
               
               
                   
                   &lt;MAXOUTPUTLEN&gt;0x0fff&lt;/MAXOUTPUTLEN&gt; 
               
               
                   
                 &lt;/REQUEST&gt; 
               
               
                   
                 &lt;?xml version=’ 1.0’ ?&gt; 
               
               
                   
                 &lt;RESPONSE&gt; 
               
               
                   
                   &lt;RC&gt;0x0&lt;/RC&gt; 
               
               
                   
                   &lt;OUTPUTLEN&gt;0X5f&lt;/OUTPUTLEN&gt; 
               
               
                   
                   &lt;CMDOUTPUT&gt; 
               
               
                   
                     &lt;IPADDR&gt;192.168.0.1&lt;IPADDR&gt; 
               
               
                   
                     &lt;IPMASK&gt;255.255.255.0&lt;/IPMASK&gt; 
               
               
                   
                     &lt;GATEWAY&gt;192.168.0.254&lt;/GATEWAY&gt; 
               
               
                   
                   &lt;/CMDOUTPUT&gt; 
               
               
                   
                 &lt;/RESPONSE&gt; 
               
               
                   
                   
               
             
          
         
       
     
         [0021]    The above markup &lt;CMDINTPUT&gt; includes the control command of the command information, which is substantially equal to getipaddr for obtaining IP information of the switch blade  120  in the embodiment. The markup &lt;CMDOUTPUT&gt; includes markups &lt;IPADDRD&gt;, &lt;IPMASK&gt; and &lt;GATEWAY&gt;, which respectively include an IP address, an internet mask and a communication gate of the switch blade  120 . The switch blade  120  sends back the return code 0x0 to represent that the control command is executed successfully as executing the control command of the markup &lt;CMDINPUT&gt;. 
         [0022]    The data structure of the logout information LOi includes two columns respectively including the session ID SID and a logout command. The switch blade  120  removes the session ID SID to invalidate the session ID according to the logout command. The following program is an operational embodiment in which the MMB  110  outputs the logout information LOi and the switch blade  120  removes the session ID SID in response to the logout information LOi. 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 &lt;?xml version=’ 1.0’ ?&gt; 
               
               
                   
                 &lt;MODULE_LOGOUT&gt; 
               
               
                   
                   &lt;REQUEST&gt; 
               
               
                   
                     &lt;SID&gt;0xXXXXXXXX&lt;/SID&gt; 
               
               
                   
                     &lt;MAXOUTPUTLEN&gt;0x0fff&lt;/MAXOUTPUTLEN&gt; 
               
               
                   
                     &lt;CMDINPUT&gt;MODULELOGOUT&lt;/CMDINPUT&gt; 
               
               
                   
                   &lt;/REQUEST&gt; 
               
               
                   
                 &lt;/MODULE_LOGOUT&gt; 
               
               
                   
                 &lt;?xml version=’1.0’?&gt; 
               
               
                   
                 &lt;MODULE_LOGOUT&gt; 
               
               
                   
                   &lt;RESPONSE&gt; 
               
               
                   
                     &lt;OUTPUTLEN&gt;0xXXXX&lt;/OUTPUTLEN&gt; 
               
               
                   
                     &lt;RC&gt;0x0&lt;/RC&gt; 
               
               
                   
                     &lt;SID&gt;0xXXXXXXXX&lt;/SID&gt; 
               
               
                   
                   &lt;/RESPONSE&gt; 
               
               
                   
                 &lt;/MODULE_LOGOUT&gt; 
               
               
                   
                   
               
             
          
         
       
     
         [0023]    The above markup &lt;CMDINPUT&gt; includes a command MODULELOGOUT and the switch blade  120  removes the session ID SID included in the markup &lt;SID&gt; according to the command MODULELOGOUT. The switch blade  120  sends back the return code 0x0 representing the MMB  110  logins successfully after successfully removing the session ID SID. 
         [0024]    In the embodiment, the MMB  110  can output inquiry information Ii to inquire basic parameter information BPi of the switch blade  120  before logging in the switch blade  120  and output post-login information PLli to detect whether the session ID SID is still valid after obtaining the session ID SID. In the following description, a detailed operation is given that the MMB  110  outputs the inquiry information Ii and post-login information PLli. 
         [0025]    When the MMB  110  has not obtained the session ID SID and is to obtain basic parameter information BPi such as hardware type and version, and protocol type and version of the switch blade  120  in order to determine whether the above operation can be performed on the switch blade  120 , the MMB  110  generates and outputs the inquiry information Ii to inquire the basic parameter information of the switch blade  120 . The switch blade  120  receives and outputs the basic parameter information BPi in response to the inquiry information Ii. The following program is an operational embodiment in which the switch blade  120  outputs the basic information BPi in response to the inquiry information Ii. 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 &lt;?xml version=’1.0’?&gt; 
               
               
                   
                 &lt;MODULE_DISCOVER&gt; 
               
               
                   
                   &lt;REQUEST&gt; 
               
               
                   
                     &lt;CMDINPUT&gt;MODULEDISCOVER&lt;/CMDINPUT&gt; 
               
               
                   
                     &lt;MAXOUTPUT&gt; 0x0fff&lt;/MAXOUTPUT&gt; 
               
               
                   
                   &lt;/REQUEST&gt; 
               
               
                   
                 &lt;/MODULE_DISCOVER&gt; 
               
               
                   
                 &lt;?xml version=’1.0’?&gt; 
               
               
                   
                 &lt;MODULE_DISCOVER&gt; 
               
               
                   
                   &lt;RESPONSE&gt; 
               
               
                   
                     &lt;RC&gt;0x0&lt;/RC&gt; 
               
               
                   
                     &lt;OUTPUTLEN&gt;0xXXXX&lt;/OUTPUTLEN&gt; 
               
               
                   
                     &lt;ENDPOINTTYPE&gt;Switch Blade&lt;/ENDPOINTTYPE&gt; 
               
               
                   
                     &lt;ENDPOINTVERSION&gt;1.0&lt;/ENDPOINTVERSION&gt; 
               
               
                   
                     &lt;PROTOCOLTYPE&gt;XML&lt;/PROTOCOLTYPE&gt; 
               
               
                   
                     &lt;PROTOCOLVER&gt;1.0&lt;/PROTOCOLVER&gt; 
               
               
                   
                   &lt;/RESPONSE&gt; 
               
               
                   
                 &lt;/MODULE_DISCOVER&gt; 
               
               
                   
                   
               
             
          
         
       
     
         [0026]    The above markups &lt;ENDPOINTVERSION&gt;, &lt;ENDPOINTTYPE&gt;, &lt;PROTOCOLTYPE&gt; and &lt;PROTOCOLVER&gt; are all included in the markup &lt;RESPONSE&gt; of the MMB  110  and respectively include the hardware type, hardware version, protocol type and protocol version of the switch blade  120 . The MMB  110  determines whether the switch blade  120  can perform the above operation according to the markups included in the markup &lt;RESPONSE&gt;. 
         [0027]    When the MMB  110  obtains the session ID SID and is to make sure whether the session ID SID is invalidated before logout, the MMB  110  generates and outputs the post-login information PLli. The switch blade  120  receives the post-login information PLli and generates status information STi in response to the post-login information PLli. The MMB  110  can determine whether the session ID SID is invalid according to the status information STi. In the embodiment, the MMB  110  is exemplified to output the post-login information PLli after outputting the login information Lli and before outputting the command information CMDi. 
         [0028]    The post-login information PLli includes two columns respectively including the session ID SID and a post-login command. The switch blade  120  determines whether the session ID SID is invalid according to the post-login command and outputs the corresponding status information STi according to the determination result to represent a status of the session ID SID. The following program is an embodiment in which the MMB  110  outputs the post-login information POli and the switch blade  120  outputs the status information STi in response to the post-login information POli. 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 &lt;?xml version=’1.0’?&gt; 
               
               
                   
                 &lt;MODULE_POSTLOGIN&gt; 
               
               
                   
                 &lt;REQUEST&gt; 
               
               
                   
                   &lt;SID&gt;0xXXXXXXXX&lt;/SID&gt; 
               
               
                   
                   &lt;CMDINPUT&gt;...subcommandline...&lt;/CMDINPUT&gt; 
               
               
                   
                   &lt;MAXOUTPUTLEN&gt;0x0fff&lt;/MAXOUTPUTLEN&gt; 
               
               
                   
                 &lt;/REQUEST&gt; 
               
               
                   
                 &lt;/MODULE_POSTLOGIN&gt; 
               
               
                   
                 &lt;?xml version=’1.0’?&gt; 
               
               
                   
                 &lt;MODULE_POSTLOGIN&gt; 
               
               
                   
                 &lt;RESPONSE&gt; 
               
               
                   
                   &lt;OUTPUTLEN&gt;0xXXXX&lt;/OUTPUTLEN&gt; 
               
               
                   
                   &lt;STATE&gt;0xXXXXXXXX&lt;/STATE&gt; 
               
               
                   
                   &lt;STATENAME&gt;...String...&lt;/STATENAME&gt; 
               
               
                   
                   &lt;RC&gt;0x0&lt;/RC&gt; 
               
               
                   
                 &lt;/RESPONSE&gt; 
               
               
                   
                 &lt;/MODULE_POSTLOGIN&gt; 
               
               
                   
                   
               
             
          
         
       
     
         [0029]    In the embodiment, the basic parameter information BPi, session ID SID, status information STi and execution result Ei have the markup language format for instance. Although the blade server  100  is exemplified to include the MMB  110  and switch blade  120  and the management interface is applied to the series port  130  connecting the MMB  110  and switch blade  120  in the embodiment, the blade server  100  can also include other embedded systems such as server blades  141 ˜ 14   k , fan modules  151 ˜ 15   n  and power modules  161 ˜ 16   m , which are respectively connected to each other via different communication connection, wherein k, n, and m are natural number larger than 1. The management interface of the embodiment in not limited to the communication between the MMB  110  and the switch blade  120  and can be further applied to communication between other embedded systems. 
         [0030]    For example, the blade server  100  of the embodiment has a MMB  110 ′ and switch blade  120 ′ for redundancy in order that when the MMB  110  and the switch blade  120  are broken, the MMB  110 ′ and switch blade  120 ′ can perform the required operation instead. The fan modules  152 ˜ 15   n  and the power modules  162 ˜ 16   m  also have the similar design. 
         [0031]    Although the MMB  110  is exemplified to subsequently output the inquiry information Ii, login information Lli, post-login information PLli, command information CMDi and logout command LOi to control the switch blade  120  in management interface of the embodiment, the management interface of the embodiment is not limited to the above operational flow and can alter the operational flow according to various usage situations. For example, the MMB  110  can neglect the execution of inquiry information Ii and post-login information PLli or execute twice or more than twice of the above command information CMDi and post-login information PLli. 
         [0032]    Although the MMB  110  is exemplified to output the command information CMDi including the control command getipaddr to the switch blade  120  via the management interface to obtain the internet parameter for illustration in the embodiment, the MMB  110  can also output other control commands to control the switch blade  120  via the management interface of the embodiment. For example, the MMB  110  outputs the command information CMDi including the control command setipaddr and a group of preset internet parameters to the switch blade  120  to set the internet parameters of the switch blade  120  to be substantially equal to the preset internet parameters. 
         [0033]    In the embodiment, for example, the series port  130  includes software protocols such as point-to-point protocol (PPP) and transmission control/internet protocol (TCP/IP). Therefore, the management interface of the embodiment can transmit information via the software protocols. 
         [0034]    The management interface of the embodiment can use a management program of the markup language pattern as a program interface to perform the communication and management between two embedded systems of the blade server. Therefore, the management interface of the embodiment can effectively improve the drawbacks of the conventional blade server which are difficulty of distinguishing the character interface of information, interface disunity and difficulty of developing and maintaining the communication management programs and have the advantages of easier information discrimination, easier maintenance of the communication management programs and interface unification. 
         [0035]    Besides, software protocols, such as PPP and TCP/IP can be stacked on the series port for data transmission. Therefore, the management interface of the embodiment can further effectively improve the drawbacks of the conventional blade server which are easy to have transmission faults, such as character missing and character faults, and the mal-operation due to the transmission faults and have the advantages of low transmission fault rate and high operational stability. When the software protocols, such as PPP and TCP/IP, are applied on the series port, software protocols of the application layer even higher than the software protocols TCP, such as secure shell (SSH) and Telnet over Secure Socket Layer (Telnet over SSL) can be applied for providing other convenient internet service. 
         [0036]    Furthermore, the management interface with the software protocols includes one of the PPP, TCP/IP, SSH and telnet over SSL can be applied easily on other kind of physical network, such as Ethernet. As a result, the management interface of the embodiment further has the advantages of being capable of providing diverse internet service and flexibly applied on different physical network. 
         [0037]    While the invention has been described by way of example and in terms of a preferred embodiment, it is to be understood that the invention is not limited thereto. On the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures.