WO2012026042A1 - セッション確立装置、セッション確立方法及びセッション確立プログラム - Google Patents

セッション確立装置、セッション確立方法及びセッション確立プログラム Download PDF

Info

Publication number
WO2012026042A1
WO2012026042A1 PCT/JP2010/064640 JP2010064640W WO2012026042A1 WO 2012026042 A1 WO2012026042 A1 WO 2012026042A1 JP 2010064640 W JP2010064640 W JP 2010064640W WO 2012026042 A1 WO2012026042 A1 WO 2012026042A1
Authority
WO
WIPO (PCT)
Prior art keywords
session
established
establishment
information
request
Prior art date
Application number
PCT/JP2010/064640
Other languages
English (en)
French (fr)
Inventor
朋憲 間瀬
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to EP10856444.4A priority Critical patent/EP2610756A4/en
Priority to PCT/JP2010/064640 priority patent/WO2012026042A1/ja
Priority to JP2012530499A priority patent/JP5534014B2/ja
Publication of WO2012026042A1 publication Critical patent/WO2012026042A1/ja
Priority to US13/777,029 priority patent/US20130173814A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Definitions

  • the present invention relates to a session establishment device, a session establishment method, and a session establishment program.
  • FIG. 15 is a block diagram illustrating a server management system.
  • a server management system 100 illustrated in FIG. 15 includes a server device 110, a client terminal 120, and a LAN (Local Area Network) 130 that connects the server device 110 and the client terminal 120.
  • LAN Local Area Network
  • the server device 110 includes, for example, an internal device 111 such as a system board 111A equipped with a CPU (Central Processing Unit) and a memory, a power supply 111B, an IO (Input Output) device 111C, and a fan 111D. Furthermore, each internal device 111 includes a sensor 112 that detects its own state. Furthermore, the server device 110 includes a plurality of internal devices 111, a system control unit 113, and an I2C bus 114 that connects the internal device 111 and the system control unit 113. The system control unit 113 collects state information detected by the sensor 112 of each internal device 111 using IPMI. The client terminal 120 communicatively connects with the system control unit 113 via the LAN 130 using IPMI so that the status information of each internal device 111 in the server device 110 can be monitored.
  • an internal device 111 such as a system board 111A equipped with a CPU (Central Processing Unit) and a memory, a power supply 111B, an IO (Input Out
  • the system control unit 113 includes a port unit 141, a driver unit 142, and an IPMI control unit 143.
  • the port unit 141 is an interface connected to the LAN 130.
  • the driver unit 142 is an interface connected to the I2C bus 114.
  • the IPMI control unit 143 includes a logical channel unit 151, a command processing unit 152, a device unit 153, and a session management unit 154.
  • the logical channel unit 151 is a part that logically associates channels used for communication between the port unit 141 and the command processing unit 152.
  • the command processing unit 152 executes command processing corresponding to the command. Examples of the command include a command for instructing collection of state information detected by the sensor 112 of each internal device 111, a command for instructing a setting change of the sensor 112, and the like.
  • the device unit 153 is a part that accesses various devices such as the sensor 112 in accordance with command processing executed by the command processing unit 152.
  • Communication between the client terminal 120 and the IPMI control unit 143 is maintained in session units from the start of communication to the disconnection of communication.
  • a series of two commands of Get Session Challenge and Activate Session is executed to open a session between the client terminal 120 and the IPMI control unit 143.
  • IPMI a session between the client terminal 120 and the IPMI control unit 143 is closed by executing Close Session.
  • the session management unit 154 includes a slot storage unit 160 that stores a slot 161 of a session used by the client terminal 120.
  • the slot storage unit 160 stores a session ID 161A for identifying a session used by the client terminal 120 and an Active flag 161B indicating whether or not a session has been established in association with each other and stores them in a slot 161 unit.
  • the session established means that a session between the client terminal 120 and the IPMI control unit 143 has been established.
  • FIG. 16 is a sequence diagram showing a series of processing operations of the server management system 100 related to opening a session and closing a session.
  • the client terminal 120 issues a Get Session Challenge request and notifies the command processing unit 152 of the Get Session Challenge request via the LAN 130 (Step S111).
  • the command processing unit 152 requests the session management unit 154 to generate a new session ID that identifies the session to be used (step S112).
  • the session management unit 154 When receiving a request for generating a new session ID, the session management unit 154 generates a new session ID (step S113).
  • the session management unit 154 assigns a slot 161 whose Active flag 161B is registered to “OFF”, and registers a new session ID in the slot 161 (Step S114). That is, for example, a new session ID 161A “1” and an Active flag 161B “OFF” are registered in the slot 161 in association with each other.
  • the session management unit 154 reads the new session ID registered in the slot 161 (step S114A).
  • the session management unit 154 adds a new session ID to the Get Session Challenge response to the Get Session Challenge request, and returns this response to the client terminal 120 via the command processing unit 152 (Step S115).
  • the new session ID “1” registered in step S114 is added to the Get Session Challenge response.
  • the client terminal 120 notifies the session management unit 154 of an Activate Session request for establishing a session following the Get Session Challenge request via the command processing unit 152 (step S116).
  • the Session ID “1” added to the Get Session Challenge response is added to the Activate Session request.
  • the session management unit 154 When receiving the Activate Session request, the session management unit 154 registers “ON” in the Active flag 161B of the slot 161 in which the session ID 161A added to the request is registered (Step S117). That is, the session ID 161A “1” and the Active flag 161B “ON” are registered in the slot 161 in association with each other.
  • the session management unit 154 returns an Activate Session response to the Activate Session request to the client terminal 120 via the command processing unit 152 in response to the registration completion of the slot 161 (Step S117A) (Step S118).
  • the session management unit 154 opens the session between the client terminal 120 and the IPMI control unit 143.
  • the client terminal 120 After the session with the IPMI control unit 143 is opened, the client terminal 120 issues a general command conforming to IPMI via the LAN 130 and notifies the command processing unit 152 of the general command (step S119).
  • the general command is, for example, a command for instructing collection of state information detected by the sensor 112 of each internal device 111, a command for instructing a setting change of the sensor 112, or the like.
  • the command processing unit 152 executes command processing corresponding to the general command, and returns completion of execution of the command to the client terminal 120 via the LAN 130 (step S120).
  • the client terminal 120 notifies the command processing unit 152 via the LAN 130 of the Close Session command to which the session ID is added in order to close the currently used session (Step S121).
  • the command processing unit 152 requests the session management unit 154 to discard the session ID from the slot 161 in which the session ID 161A is registered (step S122).
  • the session management unit 154 clears the session ID 161A in the corresponding slot 161 to zero and registers “OFF” in the Active flag 161B in the corresponding slot 161 (step S123). That is, the slot 161 registers the session ID 161A “0” and the Active flag 161B “OFF” in association with each other.
  • the session management unit 154 In response to the completion of registration of the slot 161 (Step S123A), the session management unit 154 returns a Close Session response to the Close Session command to the client terminal 120 via the command processing unit 152 and the LAN 130 (Step S124). As a result, the session management unit 154 closes the session between the client terminal 120 and the IPMI control unit 143.
  • the server management system 100 can manage a session with a plurality of client terminals 120 using a plurality of slots 161 in the slot storage unit 160.
  • the session management unit 154 assigns the slot “1” in which the “OFF” Active flag 161B is registered to the client terminal 120A. Furthermore, the session management unit 154 registers a new session ID in the slot “1”. That is, the session ID 161A “1” and the Active flag 161B “OFF” are associated with each other and registered in the slot “1”.
  • the session management unit 154 receives a Get Session Challenge request from the client terminal 120B before receiving an Activate Session request subsequent to the Get Session Challenge request issued from the client terminal 120A. At this time, since the Activate Session request from the client terminal 120A has not been received, the session management unit 154 keeps its Active flag 161B “OFF”. Accordingly, when receiving the Get Session Challenge request from the client terminal 120B, the session management unit 154 reassigns the slot “1” in which the Active flag 161B is “OFF” to the client terminal 120B. As a result, the session ID “1” used in the client terminal 120B is duplicately registered in the slot “1”.
  • the session manager 154 competes for sessions used by the client terminals 120A and 120B. In this state, it is assumed that the session management unit 154 receives an Activate Session request from the client terminal 120B before the client terminal 120A. In this case, the session management unit 154 opens the session with the session ID “1” for the client terminal 120B. As a result, even if an Activate Session request is received from the client terminal 120A that has previously issued a Get Session Challenge request, a session error occurs because the session is being used by the client terminal 120B.
  • the client terminal 120A requests the Get Session Challenge request first, the client terminal 120B requested later causes the session to be intercepted.
  • the disclosed technology has been made in view of the above points, and an object thereof is to provide a session establishment device, a session establishment method, and a session establishment program capable of smoothly establishing a session even when a plurality of session requests compete. There is to do.
  • the session establishment device disclosed in the present application is, for each session used by the terminal device, established information indicating whether or not the session has been established, and whether or not the session is being established. And a storage unit that stores information in association with each other and a session start request from the terminal device, and whether or not the session that the established information indicates is not established is stored in the storage unit.
  • an information determination unit that determines whether or not the establishment information corresponding to the session indicates that the establishment process is not being performed
  • the establishment information corresponding to the session includes An allocation control unit that allocates the session to the terminal device that has issued the session start request when the establishment process is not being performed
  • the session identification information for identifying the session and the terminal identification information for identifying the terminal device are registered in association with the session
  • the session identification information that is the same as the session identification information included in the session execution request
  • a control unit that determines whether or not a session exists in the storage unit and, when there is a session having the same session identification information, uses the session identification information to establish a session with the terminal device that has issued the session execution request And to have.
  • FIG. 1 is a block diagram illustrating the session establishing apparatus according to the first embodiment.
  • FIG. 2 is a block diagram illustrating the server management system according to the second embodiment.
  • FIG. 3 is an explanatory diagram showing the format of a Get Session Challenge request.
  • FIG. 4 is an explanatory diagram showing the format of the Get Session Challenge response.
  • FIG. 5 is an explanatory diagram showing the format of the Activate Session request.
  • FIG. 6 is an explanatory diagram showing the format of the Activate Session response.
  • FIG. 7 is an explanatory diagram showing the format of the Close Session command.
  • FIG. 8 is an explanatory diagram showing the format of the Close Session response.
  • FIG. 1 is a block diagram illustrating the session establishing apparatus according to the first embodiment.
  • FIG. 2 is a block diagram illustrating the server management system according to the second embodiment.
  • FIG. 3 is an explanatory diagram showing the format of a Get Session Challenge request.
  • FIG. 9 is a flowchart showing the processing operation of the session management unit related to the Get Session Challenge request reception process.
  • FIG. 10 is a flowchart showing the processing operation of the session management unit related to the Activate Session request reception process.
  • FIG. 11 is a flowchart showing the processing operation of the session management unit related to the Close Session command reception process.
  • FIG. 12 is a sequence diagram showing the processing operation of the server management system related to the session open contention.
  • FIG. 13 is an explanatory diagram showing an example of a V2.0 IPMI session sequence.
  • FIG. 14 is an explanatory diagram of a computer that executes a session establishment program.
  • FIG. 15 is a block diagram illustrating a server management system.
  • FIG. 16 is a sequence diagram showing a series of processing operations of the server management system related to session opening and session closing.
  • FIG. 1 is a block diagram illustrating a session establishment apparatus according to the first embodiment.
  • the session establishment device 1 shown in FIG. 1 can be connected to a plurality of terminal devices 2.
  • the session establishment device 1 includes an information determination unit 11, a storage unit 12, an assignment control unit 13, an information registration unit 14, and a control unit 15.
  • the storage unit 12 stores the established information 12C and the in-established information 12D in association with each session used by the terminal device 2.
  • the established information 12C is information indicating whether or not a session has been established.
  • the in-establishment information 12D is information indicating whether or not a session is being established.
  • the establishment process is a process in which a process for establishing a session is continuing and has not been established.
  • “established” means a state in which a session is established.
  • the information determination unit 11 determines whether there is a session in the storage unit 12 indicating that the established information 12C has not been established. Furthermore, when there is a session that has not been established in the storage unit 12, the information determination unit 11 determines whether or not the in-establishment information 12D corresponding to the session indicates that the establishment process is not being performed.
  • the allocation control unit 13 allocates the session to the terminal device 2 that has issued the session start request when the in-establishment information 12D corresponding to the session indicates that the establishment process is not being performed.
  • the assignment control unit 13 prohibits the assignment of the session to the terminal device 2 that has issued the session start request. Further, when the in-establishment information 12D corresponding to the session does not indicate that the establishment process is not being performed, the assignment control unit 13 prohibits the assignment of the session to the terminal device 2 that has issued the session start request.
  • the information registration unit 14 associates the session with the assigned session, and identifies the session identification information 12B for identifying the session and the terminal device 2 that has issued the session start request. Is registered in the storage unit 12. Furthermore, the information registration unit 14 registers that the in-establishment information 12D corresponding to the session is being established.
  • the control unit 15 determines whether or not there is a session in the storage unit 12 having the same session identification information 12B as the session identification information included in the session execution request. When a session having the same session identification information is registered in the storage unit 12, the control unit 15 uses the session identification information to establish a session with the terminal device 2 that has issued the session execution request.
  • control unit 15 prohibits session establishment with the terminal device 2 that has issued the session execution request using the session identification information.
  • the session start request when a session start request is received from the terminal device 2, it is determined whether or not there is a session in the storage unit 12 indicating that the established information 12C has not been established. Furthermore, when there is a session that has not been established in the storage unit 12, it is determined whether or not the establishment information 12D corresponding to the session indicates that the establishment process is not being performed.
  • the session in the storage unit 12 is assigned to the terminal device 2 that has issued the session start request.
  • the session identification information 12B of the session and the terminal identification information 12E of the terminal device 2 are registered in association with the assigned session, and the establishment information 12D corresponding to the assigned session is established. Register as being inside.
  • the allocation control unit 13 stores the information for the terminal device 2 that issued the session start request.
  • the registered session is assigned to the unit 12.
  • the allocation control unit 13 stores the storage unit 12 for the terminal device 2 that issued the session start request. Prohibit assignment of sessions already registered in.
  • the session establishing device 1 controls the allocation of sessions to the terminal device 2 that has issued the session start request based on the reference result of the established information 12C and the in-established information 12D for each session. As a result, the session establishing device 1 can avoid duplicate assignment of the same session to a plurality of terminal devices 2 having conflicting session start requests.
  • the session establishing device 1 avoids the duplicate assignment of the same session to the plurality of terminal devices 2 with which the session start request competes, so that the terminal device 2 requests the session start request first, but It is possible to avoid a situation in which the session is intercepted by another terminal device 2 requested in step (1). And the session establishment apparatus 1 can implement
  • FIG. 2 is a block diagram illustrating the server management system according to the second embodiment.
  • a server management system 1 ⁇ / b> A illustrated in FIG. 2 includes a server device 3, a plurality of client terminals 20, and a LAN 4 that connects the server device 3 and the client terminals 20.
  • the server management system 1A makes it possible to manage the status information of the internal devices of the server device 3 on the client terminal 20 side using IPMI.
  • the server device 3 includes a plurality of internal devices 21, a system control unit 22, and an I2C bus 23 that connects the internal device 21 and the system control unit 22.
  • the internal device 21 corresponds to, for example, a system board 21A equipped with a CPU and a memory, a power source 21B, an IO device 21C, a fan 21D, and the like. Furthermore, each internal device 21 incorporates a sensor 21E that detects its own state.
  • the system control unit 22 collects state information detected by the sensor 21E of each internal device 21 using IPMI.
  • the client terminal 20 communicatively connects with the system control unit 22 via the LAN 4 using IPMI so that the status information of each internal device 21 in the server device 3 can be monitored.
  • the system control unit 22 includes a port unit 31, a driver unit 32, and an IPMI control unit 33.
  • the port unit 31 is an interface connected to the LAN 4.
  • the driver unit 32 is an interface connected to the I2C bus 23.
  • the IPMI control unit 33 includes a logical channel unit 41, a command processing unit 42, a device unit 43, and a session management unit 44.
  • the logical channel unit 41 is a part that logically associates channels used for communication between the port unit 31 and the command processing unit 42.
  • the command is, for example, a command for instructing collection of state information detected by the sensor 21E of each internal device 21, or a command for instructing a setting change of each sensor 21E.
  • the device unit 43 is a part that accesses various devices such as the sensor 21E according to the command processing executed by the command processing unit.
  • the communication between the client terminal 20 and the IPMI control unit 33 is maintained in session units from the start of communication to the disconnection of communication.
  • a series of two commands of Get Session Challenge and Activate Session is executed to open a session between the client terminal 20 and the IPMI control unit 33.
  • IPMI a session between the client terminal 20 and the IPMI control unit 33 is closed by executing Close Session.
  • the session management unit 44 includes an information determination unit 51, a slot storage unit 52, an assignment control unit 53, an information registration unit 54, and a control unit 55. After responding to the Get Session Challenge request from the client terminal 20 and then responding to the Activate Session request from the same client terminal 20, the session management unit 44 opens the session with the client terminal 20.
  • the slot storage unit 52 stores a session ID 52B, an Active flag 52C, an Establishment flag 52D, and an IP address 52E in association with each other for each slot 52A assigned to a session used by the client terminal 20.
  • the session ID 52B is an ID for identifying a session used by the client terminal 20.
  • the Active flag 52C is a flag indicating whether or not the session used by the client terminal 20 has been opened, that is, established.
  • the Active flag 52C is “ON” when the session has been established, and “OFF” when the session has not been established.
  • the establishment flag 52D is a flag indicating whether or not the session used by the client terminal 20 is being established before opening.
  • the establishment process means that the process before opening the session, that is, the Get Session Challenge request reception process described later is completed, and the Activate Session described later is incomplete.
  • the establishment flag 52D is “ON” when the session is being established, and “OFF” when the session is not being established.
  • the IP address 52E is terminal identification information for identifying the client terminal 20.
  • the information determination unit 51 When the information determination unit 51 receives a Get Session Challenge request from the client terminal 20, the information determination unit 51 sequentially refers to the slots from the slot storage unit 52, and determines whether or not the Active flag 52C registered in the reference slot is “OFF”. To do. When the Active flag 52C registered in the reference slot is “OFF”, the information determination unit 51 determines whether the Establishment flag 52D registered in the reference slot is “OFF”. Further, when the Active flag 52C registered in the reference slot is “ON”, the information determination unit 51 determines that the reference slot is in use, and searches for an unreferenced slot.
  • the allocation control unit 53 allocates the slot to the client terminal 20 that has issued the Get Session Challenge request. Further, when the establishment flag 52D registered in the reference slot is “ON”, the allocation control unit 53 uses the IP address 52E registered in the reference slot and the IP address of the client terminal 20 that issued the request. Thus, the success or failure of slot allocation for the client terminal 20 is identified.
  • the information registration unit 54 when the information registration unit 54 assigns a slot to the client terminal 20 that has issued the Get Session Challenge request, the information registration unit 54 registers the session ID 52B of the session and the IP address 52E of the client terminal 20 in association with the slot. . Furthermore, the information registration unit 54 registers “ON” in the establishment flag 52D of the slot.
  • the control unit 55 When receiving the Activate Session request from the client terminal 20, the control unit 55 sequentially refers to the slots from the slot storage unit 52. Further, the control unit 55 determines whether or not the session ID 52B registered in the reference slot is the same as the session ID included in the Activate Session request. When the session ID is the same, the control unit 55 uses the session with the session ID to open the session with the client terminal 20 that has issued the Activate Session request.
  • the control unit 55 opens the session for the client terminal 20 that has executed the Activate Session request using the session with the session ID. Ban.
  • the information registration unit 54 registers “OFF” in the establishment flag 52D of the reference slot. Further, the information registration unit 54 registers “ON” in the Active flag 52C of the slot.
  • the allocation control unit 53 includes a terminal determination unit 53A.
  • the terminal determination unit 53A refers to an arbitrary slot when receiving a Get Session Challenge request. Furthermore, when the establishment flag 52D registered in the reference slot is “ON”, the terminal determination unit 53A has the same IP address 52E registered in the reference slot as the IP address of the client terminal 20 that issued the Get Session Challenge request. It is determined whether or not there is.
  • the allocation control unit 53 determines that the client terminal 20 has issued a Get Session Challenge request again without activating Session. Furthermore, the allocation control unit 53 allocates the slot again to the client terminal 20 that has issued the Get Session Challenge request. Further, when the IP address is not the same in the terminal determination unit 53A, the allocation control unit 53 prohibits the allocation of the slot to the client terminal 20 that has issued the Get Session Challenge request.
  • the control unit 55 When the control unit 55 receives the Close Session command from the client terminal 20, the control unit 55 sequentially refers to the slots from the slot storage unit 52. Further, the control unit 55 determines whether or not the session ID 52B registered in the reference slot is the same as the session ID included in the Close Session command. In the case of the same session ID, the control unit 55 disconnects the session with the client terminal 20 related to the session ID 52B registered in the slot. When there is a slot in which the session ID 52B included in the received Close Session command is registered, the information registration unit 54 clears the session ID 52B and the IP address 52E registered in the slot to zero. Further, the information registration unit 54 registers “OFF” in the Active flag 52C of the slot.
  • control unit 55 determines that the reference slot is not the slot of the client terminal 20 that issued the Close Session command, and refers to a further unreferenced slot.
  • FIGS. 3 is an explanatory diagram showing the format of a Get Session Challenge request
  • FIG. 4 is an explanatory diagram showing the format of a Get Session Challenge response
  • FIG. 5 is an explanatory diagram showing the format of an Activate Session request
  • 6 is an explanatory diagram showing the format of the Activate Session response
  • FIG. 7 is an explanatory diagram showing the format of the Close Session command
  • FIG. 8 is an explanatory diagram showing the format of the Close Session response.
  • the Get Session Challenge request 61 shown in FIG. 3 includes an authentication type presence / absence 61A, a session sequence number 61B, a session ID 61C, an authentication code presence / absence 61D, a requested authentication type 61E, a user name 61F, and the like.
  • Byte corresponds to a storage number in bytes for storing data.
  • the presence / absence of authentication type 61A, session sequence number 61B, session ID 61C and presence / absence of authentication code 61D are stored in Byte “0”.
  • the requested authentication type 61E is stored in Byte “1”.
  • the user name 61F is stored in Bytes “2” to “17”.
  • the Get Session Challenge response 62 shown in FIG. 4 includes an authentication type presence / absence 62A, a session sequence number 62B, a session ID 62C, and an authentication code presence / absence 62D. Further, the Get Session Challenge response 62 includes a completion code 62E, a temporary session ID 62F, challenge data 62G, and the like.
  • the temporary session ID 62F corresponds to the session ID used in the Activate Session request newly assigned to the client terminal 20 that has executed the Get Session Challenge request.
  • the challenge data 62G corresponds to a character string used in the Activate Session request.
  • Authentication type presence / absence 62A, session sequence number 62B, session ID 62C, and authentication code presence / absence 62D are stored in Byte “0”.
  • the completion code 62E is stored in Byte “1”.
  • the temporary session ID 62F is stored in bytes “2” to “5”.
  • the challenge data 62G is stored in bytes “6” to “21”.
  • the Activate Session request 63 includes a session authentication type 63E, an authority level 63F, a character string 63G, a sequence number 63H, and the like.
  • the character string 63G corresponds to the character string obtained from the challenge data 62G of the Get Session Challenge response 62.
  • the authentication type 63A, session sequence number 63B, session ID 63C, and ID 63D calculated by the designated algorithm are stored in Byte “0”.
  • the authentication type 63E of the session is stored in Byte “1”.
  • the authority level 63F is stored in Byte “2”.
  • the character string 63G is stored in bytes “3” to “18”.
  • the sequence number 63H is stored in bytes “19” to “22”.
  • the Activate Session response 64 shown in FIG. 6 includes a session ID 64A, an authentication type 64B, a sequence number 64C, an ID 64D calculated by a specified algorithm, and a completion code 64E indicating the completion of session opening.
  • the session ID 64A corresponds to the session ID requested by the Activate Session request.
  • the Activate Session response 64 includes an authentication type 64F after the session is opened, a session ID 64G, a sequence number 64H, an authority level 64I, and the like.
  • the authentication type 64A, the authentication type 64B, the sequence number 64C, and the ID 64D calculated by the designated algorithm are stored in Byte “0”.
  • the completion code 64E is stored in Byte “1”.
  • the authentication type 64F after the session is opened is stored in Byte “2”.
  • the session ID 64G is stored in bytes “3” to “6”.
  • the sequence number 64H is stored in bytes “7” to “10”.
  • the authority level 64I is stored in Byte “11”.
  • the Close Session command 65 shown in FIG. 7 includes a session ID 65A to be closed.
  • the session ID 65A to be closed is stored in bytes “1” to “4”.
  • the Close Session response 66 shown in FIG. 8 includes a completion code 66A indicating completion of session closing.
  • the completion code 66A is stored in Byte “1”.
  • FIG. 9 is a flowchart showing the processing operation of the session management unit 44 related to the Get Session Challenge request reception process.
  • the Get Session Challenge request reception process shown in FIG. 9 is a process of executing a pre-process before opening a session in response to the Get Session Challenge request received from the client terminal 20.
  • the information determination unit 51 of the session management unit 44 sequentially refers to the slots in the slot storage unit 52 (step S11), and determines whether or not the Active flag 52C registered in the reference slot is “ON”. (Step S12).
  • the information determination unit 51 sets the Establishment flag 52D registered in the reference slot to “ON”. It is determined whether or not there is (step S13).
  • the allocation control unit 53 uses the reference slot as an empty slot (step S14). ).
  • the information registration unit 54 of the session management unit 44 registers a new session ID 52B in the empty slot (step S15), and further registers an IP address 52E that identifies the client terminal 20 in the slot (step S16). . Further, the information registration unit 54 registers “ON” in the “OFF” establishment flag 52D in the slot (step S17), and ends the processing operation of FIG.
  • the terminal determination unit 53A determines whether or not the IP address of the client terminal 20 and the IP address registered in the reference slot are the same. Determination is made (step S18). If the IP addresses are the same (Yes in step S18), the allocation control unit 53 determines that the client terminal 20 has issued the Get Session Challenge request again without completing the Activate Session. Further, if the allocation control unit 53 determines that the client terminal 20 has issued the Get Session Challenge request again without activating the Activate Session, the allocation control unit 53 reuses the reference slot for the client terminal 20 (step S19). The processing operation 9 is terminated. It is possible to avoid a situation in which a plurality of reference slots are assigned to the client terminal 20 that has issued the Get Session Challenge request again while the Activate Session is incomplete.
  • the allocation control unit 53 determines that the reference slot is being used by another client terminal 20 (Step S20), and the unreferenced slot is in the slot storage unit 52. It is determined whether or not (step S21). If there is an unreferenced slot (Yes at Step S21), the allocation control unit 53 proceeds to Step S11 to refer to the unreferenced slot. If there is no unreferenced slot (No at Step S21), the allocation control unit 53 notifies the client terminal 20 of an error message indicating that the number of sessions exceeds the upper limit of the number of sessions that can be established (Step S22). The processing operation is terminated.
  • the allocation control unit 53 determines that the reference slot is being used by another client terminal 20 (Step S23). Subsequently, the allocation control unit 53 determines whether or not an unreferenced slot exists in the slot storage unit 52 (step S24). If there is an unreferenced slot (Yes at Step S24), the allocation control unit 53 proceeds to Step S11 to refer to the unreferenced slot. If there is no unreferenced slot (No at Step S24), the allocation control unit 53 notifies the client terminal 20 of an error message indicating that the number of sessions is over (Step S25), and ends the processing operation of FIG.
  • the session management unit 44 receives a Get Session Challenge request, a slot that has been registered with the Active flag 52C set to “OFF” and the Establishment flag 52D set to “OFF” is used for Get Session Challenge. Assigned to the client terminal 20 that issued the request. Further, in the Get Session Challenge reception process, the session ID 52B and the IP address 52E are registered in the slot assigned to the client terminal 20, and “ON” is registered in the Active flag 52C of the slot.
  • the allocation control unit 53 allocates the slot to the client terminal 20 that has issued the Get Session Challenge request.
  • the allocation control unit 53 prohibits the allocation of the slot to the client terminal 20 that has issued the Get Session Challenge request. That is, the server device 3 controls the allocation of slots to the client terminal 20 that issued the Get Session Challenge request based on the reference result of the Active flag 52C and Establishment flag 52D for each slot. As a result, the server device 3 can avoid the duplicate allocation of the same slot to the plurality of client terminals 20 with which the Get Session Challenge request has competed.
  • the session management unit 44 receives a Get Session Challenge request, if the slot's Active flag 52C is “OFF” and the Establishment flag 52D is “ON”, an IP address registered in the slot and a request are issued. It is determined whether or not the IP addresses of the client terminals 20 are the same. In the case of the same IP address, the slot is allocated to the client terminal 20 that has issued the Get Session Challenge request. That is, even if the server apparatus 3 receives the Get Session Challenge request again from the same client terminal 20 without completing the Activate Session, the server apparatus 3 reuses the slot allocated to the client terminal 20. As a result, the server device 3 can avoid a situation in which a plurality of slots are sequentially assigned to the same client terminal 20.
  • the server device 3 assigns another slot to the client terminal 20 that issued the request. As a result, the server device 3 can avoid a situation in which the same slot is allocated to a plurality of client terminals 20 that compete for Get Session Challenge requests.
  • FIG. 10 is a flowchart showing the processing operation of the session management unit 44 related to the Activate Session request reception process.
  • the Activate Session request reception process shown in FIG. 10 is a process for opening a session in response to an Activate Session request from the client terminal 20.
  • the control unit 55 refers to the slot from the slot storage unit 52 (step S31), and determines whether or not the Active flag 52C registered in the reference slot is “OFF” (step S32).
  • the control unit 55 determines whether or not the session ID 52B registered in the reference slot is the same as the session ID added to the Activate Session request ( Step S33).
  • the information registration unit 54 registers “ON” in the Active flag 52C registered in the reference slot (Step S34). Further, the information registration unit 54 registers the establishment flag 52D registered in the reference slot as “OFF” (step S35), and ends the processing operation of FIG. As a result, the control unit 55 opens the session with the client terminal 20 that has issued the Activate Session request.
  • the control unit 55 should assign the reference slot to the client terminal 20 that issued the Activate Session request. It is determined that the slot is not the corresponding slot (step S36). If the control unit 55 determines that the reference slot is not a corresponding slot, the control unit 55 determines whether or not there is an unreferenced slot in the slot storage unit 52 (step S37). When there is an unreferenced slot (Yes at Step S37), the control unit 55 proceeds to Step S31 to refer to the unreferenced slot.
  • Step S37 the control unit 55 notifies the client terminal 20 of a session ID error related to the Activate Session request (Step S38), and ends the processing operation of FIG. If the Active flag 52C is not “OFF” (No at Step S32), the control unit 55 proceeds to Step S36.
  • the session management unit 44 when the session management unit 44 receives the Activate Session request, it determines whether or not the session ID of the request and the session ID 52B registered in the reference slot are the same. If the session IDs are the same, the session with the client terminal 20 that uses the session is opened. In the Activate Session request reception process, if the session ID is not the same, the session with the client terminal 20 using the session is not opened. As a result, the server device 3 first requested the Get Session Challenge request by avoiding a situation in which the same slot is allocated to a plurality of client terminals 20 that competed for the Get Session Challenge request. Nevertheless, a situation in which the session is intercepted by another client terminal 20 requested later can be avoided. Then, the server management system 1A can realize a smooth session opening.
  • FIG. 11 is a flowchart showing the processing operation of the session management unit 44 related to the Close Session command reception process.
  • the Close Session command reception process shown in FIG. 11 is a process for closing the session with the client terminal 20 in response to the Close Session command from the client terminal 20.
  • the control unit 55 when receiving the Close Session command, the control unit 55 refers to the slot from the slot storage unit 52 (step S41), and determines whether or not the Active flag 52C registered in the reference slot is “ON”. (Step S42). When the Active flag 52C of the reference slot is “ON” (Yes at Step S42), the control unit 55 determines whether or not the session ID 52B registered in the reference slot is the same as the session ID added to the Close Session command. Determination is made (step S43).
  • the information registration unit 54 clears the session ID 52B registered in the reference slot to zero (Step S44). Furthermore, the information registration unit 54 clears the IP address 52E registered in the reference slot to zero (step S45). Further, the information registration unit 54 registers the active flag 52C of the reference slot as “OFF” (step S46), and ends the processing operation of FIG. As a result, the control unit 55 closes the session with the client terminal 20 that has issued the Close Session command.
  • the control unit 55 determines that the reference slot is not a slot to be allocated to the client terminal 20 that issued the Close Session command (Step S47). ). Then, the control unit 55 determines whether or not there is an unreferenced slot in the slot storage unit 52 (step S48). When there is no unreferenced slot (No at Step S48), the control unit 55 notifies the client terminal 20 of a session ID error related to the Close Session command (Step S49), and ends the processing operation of FIG.
  • Step S48 when there is an unreferenced slot (Yes at Step S48), the control unit 55 proceeds to Step S41 so as to refer to the unreferenced slot. If the session ID 52B registered in the reference slot is not the same as the session ID added to the Close Session command (No at Step S43), the control unit 55 proceeds to Step S47 to determine that the reference slot is not the corresponding slot. Transition.
  • FIG. 12 is a sequence diagram showing a processing operation of the server management system 1A involved in a session open conflict.
  • the client terminal 20A issues a Get Session Challenge request, and notifies the Get Session Challenge request to the command processing unit 42 via the LAN 4 (Step S51).
  • the command processing unit 42 requests the session management unit 44 to generate a new session ID for the session to be used (step S52).
  • the session management unit 44 When the session management unit 44 receives a request for generating a new session ID, the session management unit 44 generates a new session ID (step S53). Further, the session management unit 44 assigns the empty slot “1” with the Active flag 52C “OFF” and the Establishment flag 52D “OFF” to the client terminal 20A that issued the Get Session Challenge request. Furthermore, the information registration unit 54 registers the IP address 52E “xxA” and the new session ID 52B “1” of the client terminal 20A that issued the Get Session Challenge request in the empty slot “1” (step S54). Further, the information registration unit 54 registers “ON” in the establishment flag 52D of the empty slot “1” (step S54).
  • the information registration unit 54 registers the IP address 52E “xxA”, the new session ID 52B “1”, and the establishment flag 52D “ON” in the empty slot “1”.
  • the slot “1” is a slot corresponding to the session ID “1” used by the client terminal 20A.
  • the session management unit 44 reads the new session ID “1” registered in the slot “1” (step S54A). The session management unit 44 then returns a Get Session Challenge response to the Get Session Challenge request to the client terminal 20A (Step S55). In the example of FIG. 12, the new session ID “1” registered in step S54 is added to the Get Session Challenge response.
  • the client terminal 20B issues a Get Session Challenge request and sends the Get Session Challenge request to the command processing unit 42 via the LAN 4. Notification is made (step S56).
  • the command processing unit 42 requests the session management unit 44 to generate a new session ID for the session to be used (step S57).
  • the session management unit 44 When the session management unit 44 receives a request for generating a new session ID, the session management unit 44 generates a new session ID (step S58). Further, since the establishment flag 52D registered in the slot “1” previously assigned to the client terminal 20A is “ON”, the assignment control unit 53 makes an empty slot “for the client terminal 20B that issued the Get Session Challenge request”. 1 ”assignment is prohibited. As a result, the allocation control unit 53 allocates the empty slot “2” in which the Active flag 52C is “OFF” and the Establishment flag 52D is “OFF” to the client terminal 20B that issued the Get Session Challenge request.
  • the information registration unit 54 registers the IP address 52E “xxB” and the new session ID 52B “2” of the client terminal 20B that issued the Get Session Challenge request in the empty slot “2” (step S59). Further, the information registration unit 54 registers “ON” in the establishment flag 52D of the empty slot “2” (step S59). That is, the information registration unit 54 registers the IP address 52E “xxB”, the new session ID 52B “2”, and the establishment flag 52D “ON” in the empty slot “2”. As a result, the slot “2” is a slot corresponding to the session ID “2” used by the client terminal 20B.
  • the session management unit 44 reads the new session ID “2” registered in the slot “2” (step S59A). The session management unit 44 then returns a Get Session Challenge response to the Get Session Challenge request to the client terminal 20B (Step S60). In the example of FIG. 12, the new session ID “2” registered in step S59 is added to the Get Session Challenge response. As a result, the Get Session Challenge request competes with the client terminals 20A and 20B.
  • the client terminal 20B issues an Activate Session request prior to the client terminal 20A, and notifies the Session Manager 44 of the Activate Session request via the command processor 42 (Step S61).
  • the client terminal 20B adds the session ID “2” added to the Get Session Challenge response to the Activate Session request.
  • the information registration unit 54 When receiving the Activate Session request from the client terminal 20B, the information registration unit 54 refers to the slot “2” in which the session ID “2” added to the request has been registered (step S62). Further, the information registration unit 54 registers “ON” in the Active flag 52C of the reference slot “2” and registers “OFF” in the Establishment flag 52D (Step S62).
  • the control unit 55 In the slot “2”, the session ID 52B “2”, the Active flag 52C “ON”, the Establishment flag 52D “OFF”, and the IP address 52E “xxB” of the client terminal 20B are registered in association (step). S62). Then, in response to the completion of registration of the slot “2” (Step S62A), the control unit 55 returns an Activate Session response to the Activate Session request to the client terminal 20B via the command processing unit 42 (Step S63). As a result, the control unit 55 opens the session with the session ID “2” for the client terminal 20B.
  • the client terminal 20A issues an activate session request and notifies the session management unit 44 of the activate session request via the command processing unit 42 (step S64).
  • the client terminal 20A issues an Activate Session request, the session ID “1” added to the Get Session Challenge response is added to the Activate Session request.
  • the information registration unit 54 When receiving the Activate Session request from the client terminal 20A, the information registration unit 54 refers to the slot “1” in which the session ID “1” added to the request is registered. The information registration unit 54 registers “ON” in the Active flag 52C of the reference slot “1”, and registers “OFF” in the Establishment flag 52D (Step S65).
  • the control unit 55 In the slot “1”, the session ID 52B “1”, the Active flag 52C “ON”, the Establishment flag 52D “OFF”, and the IP address 52E “xxA” of the client terminal 20A are registered in association with each other (Step). S65). Then, in response to the completion of registration of the slot “1” (step S65A), the control unit 55 returns an Activate Session response to the Activate Session request to the client terminal 20A via the command processing unit 42 (step S66). As a result, the control unit 55 opens the session with the session ID “1” for the client terminal 20A.
  • the server device 3 when a Get Session Challenge request is issued from the client terminal 20, the session ID 52B, Active flag 52C, Establishment flag 52D, and IP address 52E of each slot are referred to. Therefore, even if Get Session Challenge requests of a plurality of client terminals 20 compete, the server device 3 avoids a situation where the same slot is allocated to the plurality of client terminals 20. Further, it is possible to avoid a situation in which the session is intercepted by another client terminal 20 requested later although the client terminal 20 requests the Get Session Challenge request first.
  • the server management system 1 can realize a smooth session open.
  • the client terminal 20A issues a Get Session Challenge request, and issues an Activate Session request through the processing operations of Steps S51 to S55.
  • the client terminal 20A issues a Get Session Challenge request again for some reason, without issuing an Activate Session request, even though it has issued a Get Session Challenge request.
  • the allocation control unit 53 reuses the slot by allocating the slot having the same IP address 52E to the client terminal 20A, with the Active flag 52C being “OFF”, the Establishment flag 52D being “ON”, and the IP address 52E. become.
  • the server apparatus 3 can prevent a situation in which different slots are sequentially assigned to the same client terminal 20, thereby preventing the conventional number of sessions from being exceeded.
  • the slots are sequentially referred to, and it is determined whether or not the Active flag 52C registered in the reference slot is “OFF”. Further, in the second embodiment, when the Active flag 52C is “OFF”, it is determined whether or not the Establishment flag 52D registered in the reference slot is “OFF”. Further, in the second embodiment, when the establishment flag 52D is “OFF”, the reference slot is allocated to the client terminal 20 that has issued the Get Session Challenge request. Further, in the second embodiment, the session ID 52B and the IP address 52E of the session are registered in the slot allocated to the client terminal 20, and “ON” is registered in the establishment flag 52D.
  • the slot allocation to the client terminal 20 that issued the Get Session Challenge request is controlled based on the reference result of the Active flag 52C and Establishment flag 52D for each slot.
  • the server device 3 can avoid the duplicate allocation of the same slot to the plurality of client terminals 20 with which the Get Session Challenge request has competed.
  • the slots are sequentially referred to, and it is determined whether or not the session ID 52B registered in the reference slot is the same as the session ID included in the request. To do.
  • the session IDs are the same, the session with the client terminal 20 that issued the Activate Session request is opened using the session ID 52B registered in the reference slot.
  • the server device 3 avoids duplicate allocation of the same slot to a plurality of client terminals 20 with which the Get Session Challenge request competes, so that the client terminal 20 requests the Get Session Challenge request first. It is possible to avoid a situation in which the session is intercepted by another client terminal 20 requested later. And a smooth session opening can be realized.
  • the server apparatus 3 when the IP addresses are the same, the slot is assigned to the client terminal 20 that issued the request. That is, even if the server apparatus 3 receives the Get Session Challenge request again from the same client terminal 20 without completing the Activate Session, the server apparatus 3 reuses the slot allocated to the client terminal 20. As a result, the server device 3 can avoid a situation in which a plurality of slots are sequentially assigned to the same client terminal 20.
  • the server device 3 can avoid a situation in which the same slot is allocated to a plurality of client terminals 20 that compete for Get Session Challenge requests.
  • Example 2 when the Activate Session request is received, the slots are sequentially referred to, and it is determined whether or not the session ID 52B registered in the reference slot is the same as the session ID added to the request. In the second embodiment, when the session IDs are the same, the session with the client terminal 20 using the session is set in an open state.
  • Example 2 when the Close Session command is received from the client terminal 20, the slots are sequentially referred to, and it is determined whether or not the session ID registered in the reference slot is the same as the session ID added to the Close Session command.
  • the client terminal 20 and the session with the session ID are closed.
  • FIG. 13 is an explanatory diagram showing an example of a V2.0 IPMI session sequence.
  • the V2.0 specification RMCP + Open Session shown in FIG. 13 corresponds to the V1.5 specification Get Session Challenge as a session start request.
  • RAKP Message1, RAKP Message2, RAKP Message3, and RAKP Message4 of V2.0 specification correspond to V1.5 Activate Session as a session execution request.
  • the allocation control unit 53 of the session management unit 44 receives an RMCP + Open Session request from the client terminal 20, it allocates an empty slot with an Active flag “OFF” and an Establishment flag “OFF”.
  • the information registration unit 54 registers a new session ID and IP address in the slot, and registers “ON” in the establishment flag 52D.
  • the assignment control unit 53 assigns a slot whose establishment flag 52 D is registered to “OFF” to a plurality of client terminals 20.
  • the allocation control unit 53 can avoid redundant allocation of slots in which the establishment flag 52D is registered to “ON” for a plurality of client terminals 20.
  • the session is established by executing the two-stage IPMI command of Get Session Challenge and Activate Session
  • the present invention is not limited to IPMI, and a similar effect can be obtained if the system establishes a session by executing a two-stage command.
  • each component of each part illustrated does not necessarily need to be physically configured as illustrated.
  • the specific form of distribution / integration of each part is not limited to the one shown in the figure, and all or a part thereof may be functionally or physically distributed / integrated in arbitrary units according to various loads and usage conditions. Can be configured.
  • each device is all or any part of it on a CPU (Central Processing Unit) (or a micro computer such as MPU (Micro Processing Unit) or MCU (Micro Controller Unit)). You may make it perform.
  • CPU Central Processing Unit
  • MPU Micro Processing Unit
  • MCU Micro Controller Unit
  • Various processing functions may be executed entirely or arbitrarily on a program that is analyzed and executed by a CPU (or a microcomputer such as an MPU or MCU) or hardware based on wired logic. Needless to say.
  • FIG. 14 is an explanatory diagram of a computer that executes a session establishment program.
  • a computer 200 as a session establishment program is configured by connecting a hard disk drive (HDD) 210, a random access memory (RAM) 220, a read only memory (ROM) 230, and a CPU 240 via a bus 250.
  • HDD hard disk drive
  • RAM random access memory
  • ROM read only memory
  • the ROM 230 stores in advance a session establishment program that exhibits the same function as in the above embodiment.
  • the session establishment program includes an information determination program 231, a storage program 232, an assignment control program 233, an information registration program 234, and a control program 235.
  • the programs 231 to 235 may be appropriately integrated or distributed as in the case of each component of the session establishment device 1 shown in FIG.
  • the CPU 240 reads these programs 231 to 235 from the ROM 230 and executes them.
  • the programs 231 to 235 function as an information determination process 241, a storage process 242, an assignment control process 243, an information registration process 244, and a control process 245.
  • the CPU 240 determines whether or not there is a session indicating that the established information is not established. Further, when there is a session that has not been established, the CPU 240 determines whether or not the in-establishment information corresponding to the session indicates that the establishment process is not being performed. Further, the CPU 240 registers session identification information and terminal identification information in association with a session that is not being established, and registers that the session establishment information is being established. That is, the computer 200 controls allocation of a session to the terminal device that has issued the session start request based on the reference result of the established information and the information being established for each session. As a result, the computer 200 refers to the registered in-establishment information, established information, session identification information, and terminal identification information even if the session start request conflicts, and the same session is assigned to a plurality of terminal devices. Can be avoided.
  • the CPU 240 determines whether there is a session having the same session identification information as the session identification information included in the session execution request. Further, when there is a session having the same session identification information, the CPU 240 establishes a session with the terminal device that issued the session execution request using the session identification information. As a result, the computer 200 avoids duplicate assignment of the same session to a plurality of terminal devices with which the session start request has competed, so that the terminal device may request the session start request in advance. It is possible to avoid a situation where the session is intercepted by the terminal device. Then, the computer 200 can realize a smooth session establishment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

 端末装置(2)が使用するセッション毎に確立済み情報及び確立中情報を対応付けて記憶する記憶部(12)と、端末装置からセッション開始要求を受信すると、確立済みでない旨を確立済み情報が示すセッションが記憶部内にある場合、確立済みでないセッションがある場合に、セッションに対応した確立中情報が確立処理中でない旨を示しているか否かを判定する情報判定部(11)と、セッションに対応した確立中情報が確立処理中でない旨を示している場合、当該セッション開始要求を発行した端末装置に対して当該セッションを割り当てる割当制御部(13)と、端末装置に対して当該セッションを割り当てた場合、当該セッションに対応付けてセッション識別情報及び端末識別情報を登録すると共に、当該セッションに対応した確立中情報を確立処理中である旨に登録する情報登録部(14)とを有する。

Description

セッション確立装置、セッション確立方法及びセッション確立プログラム
 本発明は、セッション確立装置、セッション確立方法及びセッション確立プログラムに関する。 
 近年、インテリジェントプラットフォーム管理インタフェース(Intelligent Platform Management Interface:以下、単にIPMIと称する)を使用してサーバ装置の内部装置の状態情報をクライアント端末側で管理可能にしたサーバ管理システムが知られている。尚、IPMIは、サーバ装置内の各内部装置の状態情報を監視可能にした標準インタフェースである。図15は、サーバ管理システムを示すブロック図である。図15に示すサーバ管理システム100は、サーバ装置110と、クライアント端末120と、サーバ装置110とクライアント端末120との間を接続するLAN(Local Area Network)130とを有する。
 サーバ装置110は、例えば、CPU(Central Processing Unit)及びメモリを搭載したシステムボード111A、電源111B、IO(Input Output)装置111Cやファン111D等の内部装置111を内蔵している。更に、各内部装置111は、自己の状態を検出するセンサ112を備えている。更に、サーバ装置110は、複数の内部装置111と、システム制御部113と、内部装置111とシステム制御部113との間を接続するI2Cバス114とを有する。システム制御部113は、IPMIを使用して各内部装置111のセンサ112で検出した状態情報を収集する。クライアント端末120は、IPMIを使用してLAN130経由でシステム制御部113と通信接続し、サーバ装置110内の各内部装置111の状態情報を監視可能にする。
 システム制御部113は、ポート部141と、ドライバ部142と、IPMI制御部143とを有する。ポート部141は、LAN130と接続するインタフェースである。ドライバ部142は、I2Cバス114と接続するインタフェースである。IPMI制御部143は、論理チャネル部151と、コマンド処理部152と、デバイス部153と、セッション管理部154とを有する。
 論理チャネル部151は、ポート部141とコマンド処理部152との間の通信に使用するチャネルを論理的に関連付ける部位である。コマンド処理部152は、クライアント端末120からIPMIに準拠したコマンドを受信すると、コマンドに対応するコマンド処理を実行する。尚、コマンドとしては、例えば、各内部装置111のセンサ112で検出した状態情報の収集を指示するコマンドや、センサ112の設定変更を指示するコマンド等がある。デバイス部153は、コマンド処理部152で実行するコマンド処理に応じてセンサ112等の各種デバイスにアクセスする部位である。
 クライアント端末120とIPMI制御部143との間の通信は、通信開始から通信切断までをセッション単位で維持される。尚、V1.5のIPMIでは、Get Session Challenge及びActivate Sessionの一連の2コマンドを実行することで、クライアント端末120とIPMI制御部143との間のセッションをオープン状態にする。また、IPMIでは、Close Sessionを実行することでクライアント端末120とIPMI制御部143との間のセッションをクローズ状態にする。
 セッション管理部154は、クライアント端末120が使用するセッションのスロット161を記憶するスロット記憶部160を有する。スロット記憶部160は、クライアント端末120が使用するセッションを識別するセッションID161Aと、セッション確立済みであるか否かを示すActiveフラグ161Bとを対応付けてスロット161単位で記憶する。尚、セッション確立済みとは、クライアント端末120とIPMI制御部143との間のセッションが確立済みであることを示す。
 図16は、セッションオープン時及びセッションクローズ時に関わるサーバ管理システム100の一連の処理動作を示すシーケンス図である。クライアント端末120は、Get Session Challengeリクエストを発行し、そのGet Session ChallengeリクエストをLAN130経由でコマンド処理部152に通知する(ステップS111)。コマンド処理部152は、Get Session Challengeリクエストを受信すると、使用するセッションを識別する新規セッションIDの生成をセッション管理部154に依頼する(ステップS112)。セッション管理部154は、新規セッションIDの生成依頼を受信すると、新規セッションIDを生成する(ステップS113)。更に、セッション管理部154は、Activeフラグ161Bが“OFF”に登録済みのスロット161を割り当て、当該スロット161に新規セッションIDを登録する(ステップS114)。すなわち、スロット161には、例えば、新規セッションID161A“1”と、Activeフラグ161B“OFF”とを対応付けて登録する。
 更に、セッション管理部154は、スロット161に登録した新規セッションIDを読み出す(ステップS114A)。そして、セッション管理部154は、Get Session Challengeリクエストに対するGet Session Challengeレスポンスに新規セッションIDを付加し、このレスポンスをコマンド処理部152経由でクライアント端末120に返信する(ステップS115)。尚、図16の例では、Get Session Challengeレスポンスには、ステップS114で登録した新規セッションID“1”を付加する。クライアント端末120は、Get Session Challengeリクエストに後続する、セッションを確立するためのActivate Sessionリクエストをコマンド処理部152経由でセッション管理部154に通知する(ステップS116)。尚、Activate Sessionリクエストには、Get Session Challengeレスポンスに付加したセッションID“1”を付加する。
 セッション管理部154は、Activate Sessionリクエストを受信すると、当該リクエストに付加されたセッションID161Aを登録済みのスロット161のActiveフラグ161Bに“ON”を登録する(ステップS117)。すなわち、当該スロット161には、セッションID161A“1”と、Activeフラグ161B“ON”とを対応付けて登録する。
 そして、セッション管理部154は、当該スロット161の登録完了に応じて(ステップS117A)、Activate Sessionリクエストに対するActivate Sessionレスポンスをコマンド処理部152経由でクライアント端末120に返信する(ステップS118)。その結果、セッション管理部154は、クライアント端末120とIPMI制御部143との間のセッションをオープン状態にする。
 クライアント端末120は、IPMI制御部143とのセッションがオープン状態となった後、LAN130経由でIPMIに準拠した一般コマンドを発行し、その一般コマンドをコマンド処理部152に通知する(ステップS119)。尚、一般コマンドは、例えば、各内部装置111のセンサ112で検出した状態情報の収集を指示するコマンドや、センサ112の設定変更を指示するコマンド等である。コマンド処理部152は、一般コマンドに対応するコマンド処理を実行し、そのコマンドの実行完了をLAN130経由でクライアント端末120に返信する(ステップS120)。
 クライアント端末120は、現在使用中のセッションをクローズすべく、セッションIDを付加したClose SessionコマンドをLAN130経由でコマンド処理部152に通知する(ステップS121)。コマンド処理部152は、セッションIDを付加したClose Sessionコマンドを受信すると、当該セッションID161Aを登録済みのスロット161からのセッションID破棄をセッション管理部154に依頼する(ステップS122)。
 セッション管理部154は、セッションID破棄の依頼に応じて該当スロット161内のセッションID161Aをゼロクリアすると共に、該当スロット161内のActiveフラグ161Bに“OFF”を登録する(ステップS123)。すなわち、当該スロット161は、セッションID161A“0”と、Activeフラグ161B“OFF”とを対応付けて登録する。
 セッション管理部154は、当該スロット161の登録完了に応じて(ステップS123A)、Close Sessionコマンドに対するClose Sessionレスポンスをコマンド処理部152及びLAN130経由でクライアント端末120に返信する(ステップS124)。その結果、セッション管理部154は、クライアント端末120とIPMI制御部143との間のセッションをクローズ状態にする。
 上記サーバ管理システム100では、スロット記憶部160内の複数のスロット161を使用して複数のクライアント端末120とのセッションを管理できる。
特開2007-201688号公報 特開2002-359637号公報
 サーバ管理システム100では、IPMI制御部143にアクセスするクライアント端末120の台数が増加した場合、クライアント端末120とのセッションオープン中に他のクライアント端末120からのセッションオープンが競合してしまうことがある。
 例えば、クライアント端末120AからGet Session Challengeリクエストを受信した場合、セッション管理部154は、“OFF”のActiveフラグ161Bを登録済みのスロット“1”をクライアント端末120Aに割り当てる。更に、セッション管理部154は、当該スロット“1”に新規セッションIDを登録する。すなわち、スロット“1”には、セッションID161A“1”と、Activeフラグ161B“OFF”とを対応付けて登録することになる。
 クライアント端末120Aから先に発行したGet Session Challengeリクエストに後続するActivate Sessionリクエストを受信する前に、セッション管理部154がクライアント端末120BからGet Session Challengeリクエストを受信したとする。この際、セッション管理部154は、クライアント端末120AからのActivate Sessionリクエストが未受信のため、そのActiveフラグ161Bは“OFF”のままである。従って、セッション管理部154は、クライアント端末120BからのGet Session Challengeリクエストを受信すると、Activeフラグ161Bが“OFF”のスロット“1”をクライアント端末120Bに対して再度割り当てしまう。その結果、クライアント端末120Bで使用するセッションID“1”を当該スロット“1”に重複登録してしまうことになる。
 つまり、セッション管理部154は、クライアント端末120A及び120Bで使用するセッションが競合してしまうことになる。この状態でセッション管理部154が、クライアント端末120Aよりも先に、クライアント端末120BからActivate Sessionリクエストを受信したとする。この場合、セッション管理部154は、クライアント端末120Bに対してセッションID“1”のセッションをオープン状態にしてしまう。その結果、先にGet Session Challengeリクエストを発行したクライアント端末120AからActivate Sessionリクエストを受信したとしても、そのセッションがクライアント端末120Bで使用中のため、セッションエラーが生じてしまう。
 つまり、クライアント端末120Aは、Get Session Challengeリクエストを先に要求したにも関わらず、後で要求したクライアント端末120Bによってセッションが横取りされてしまうといった事態が生じる。
 そこで、このような事態に対処すべく、複数のクライアント端末120からGet Session Challengeリクエストが競合したとしても、各クライアント端末120に別のスロットを割り当てることが考えられる。しかしながら、障害等で同一クライアント端末120からGet Session Challengeリクエストを連続的に受信した場合に、その都度、同一クライアント端末120に別のスロットが順次割り当てられてしまう。その結果、セッション確立の限度数を超えたセッション数オーバが生じる。
 開示技術は上記点に鑑みてなされたものであり、その目的とするところは、複数のセッション要求が競合したとしても、セッションを円滑に確立できるセッション確立装置、セッション確立方法及びセッション確立プログラムを提供することにある。
 本願の開示するセッション確立装置は、一つの態様において、端末装置が使用するセッション毎に、当該セッションが確立済みであるか否かを示す確立済み情報と、当該セッションが確立処理中であるか否かを示す確立中情報とを対応付けて記憶する記憶部と、前記端末装置からセッション開始要求を受信すると、確立済みでない旨を前記確立済み情報が示すセッションが前記記憶部内にあるか否かを判定し、確立済みではないセッションがある場合に、当該セッションに対応した確立中情報が確立処理中でない旨を示しているか否かを判定する情報判定部と、前記セッションに対応した確立中情報が前記確立処理中でない旨を示している場合、当該セッション開始要求を発行した端末装置に対して当該セッションを割り当てる割当制御部と、前記セッション開始要求を発行した端末装置に対して当該セッションを割り当てた場合、当該セッションに対応付けて、当該セッションを識別するセッション識別情報及び当該端末装置を識別する端末識別情報を登録すると共に、当該セッションに対応した確立中情報を確立処理中である旨に登録する情報登録部と、端末装置からセッション実行要求を受信すると、当該セッション実行要求に含まれるセッション識別情報と同一のセッション識別情報のセッションが前記記憶部内にあるか否かを判定し、同一セッション識別情報を持つセッションがある場合、当該セッション識別情報を使用して当該セッション実行要求を発行した端末装置とのセッションを確立する制御部とを有するようにした。
 本願の開示するセッション確立装置の一つの態様では、複数のセッション要求が競合したとしても、セッションを円滑に確立できるという効果を奏する。
図1は、実施例1のセッション確立装置を示すブロック図である。 図2は、実施例2のサーバ管理システムを示すブロック図である。 図3は、Get Session Challengeリクエストのフォーマットを示す説明図である。 図4は、Get Session Challengeレスポンスのフォーマットを示す説明図である。 図5は、Activate Sessionリクエストのフォーマットを示す説明図である。 図6は、Activate Sessionレスポンスのフォーマットを示す説明図である。 図7は、Close Sessionコマンドのフォーマットを示す説明図である。 図8は、Close Sessionレスポンスのフォーマットを示す説明図である。 図9は、Get Session Challengeリクエスト受信処理に関わるセッション管理部の処理動作を示すフローチャートである。 図10は、Activate Sessionリクエスト受信処理に関わるセッション管理部の処理動作を示すフローチャートである。 図11は、Close Sessionコマンド受信処理に関わるセッション管理部の処理動作を示すフローチャートである。 図12は、セッションオープン競合時に関わるサーバ管理システムの処理動作を示すシーケンス図である。 図13は、V2.0のIPMIのセッションシーケンスの一例を示す説明図である。 図14は、セッション確立プログラムを実行するコンピュータを示す説明図である。 図15は、サーバ管理システムを示すブロック図である。 図16は、セッションオープン時及びセッションクローズ時に関わるサーバ管理システムの一連の処理動作を示すシーケンス図である。
 以下、図面に基づいて、本願の開示するセッション確立装置、セッション確立方法及びセッション確立プログラムの実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。
 図1は、実施例1のセッション確立装置を示すブロック図である。図1に示すセッション確立装置1は、複数の端末装置2と接続可能となっている。セッション確立装置1は、情報判定部11と、記憶部12と、割当制御部13と、情報登録部14と、制御部15とを有する。
 記憶部12は、端末装置2が使用するセッション毎に、確立済み情報12C及び確立中情報12Dを対応付けて記憶する。尚、確立済み情報12Cは、セッションが確立済みであるか否かを示す情報である。確立中情報12Dは、セッションが確立処理中であるか否かを示す情報である。尚、確立処理中とは、セッションを確立するための処理が継続中で未確立の状態である。これに対して、確立済みとは、セッションが確立した状態である。
 情報判定部11は、端末装置2からセッション開始要求を受信すると、確立済み情報12Cが確立済みでない旨を示しているセッションが記憶部12内にあるか否かを判定する。更に、情報判定部11は、確立済みではないセッションが記憶部12内にある場合、当該セッションに対応した確立中情報12Dが確立処理中でない旨を示しているか否かを判定する。割当制御部13は、セッションに対応した確立中情報12Dが確立処理中でない旨を示している場合、セッション開始要求を発行した端末装置2に対して当該セッションを割り当てる。
 また、割当制御部13は、確立済み情報12Cが確立済みでない旨を示しているセッションが記憶部12内にない場合、セッション開始要求を発行した端末装置2に対する当該セッションの割当を禁止する。また、割当制御部13は、セッションに対応した確立中情報12Dが確立処理中でない旨を示していない場合、セッション開始要求を発行した端末装置2に対する当該セッションの割当を禁止する。
 情報登録部14は、セッション開始要求を発行した端末装置2に対してセッションを割り当てた場合、割り当てたセッションに対応付けて、セッションを識別するセッション識別情報12B及びセッション開始要求を発行した端末装置2を識別する端末識別情報12Eを記憶部12に登録する。更に、情報登録部14は、当該セッションに対応する確立中情報12Dを確立処理中である旨に登録する。
 制御部15は、端末装置2からセッション実行要求を受信すると、セッション実行要求に含まれるセッション識別情報と同一のセッション識別情報12Bを持つセッションが記憶部12内にあるか否かを判定する。制御部15は、同一セッション識別情報を持つセッションが記憶部12内に登録されている場合、当該セッション識別情報を使用して当該セッション実行要求を発行した端末装置2とのセッションを確立する。
 また、制御部15は、同一セッション識別情報を持つセッションが記憶部12内にない場合、当該セッション識別情報を使用しての当該セッション実行要求を発行した端末装置2とのセッション確立を禁止する。
 実施例1では、端末装置2からセッション開始要求を受信すると、確立済み情報12Cがセッション確立済みでない旨を示すセッションが記憶部12内にあるか否かを判定する。更に、確立済みではないセッションが記憶部12内にある場合、当該セッションに対応した確立中情報12Dが確立処理中でない旨を示しているか否かを判定する。記憶部12内のセッションに対応した確立中情報12Dが確立処理中でない場合、当該セッション開始要求を発行した端末装置2に対して当該記憶部12内のセッションを割り当てる。更に、実施例1では、割り当てられたセッションに対応付けて、そのセッションのセッション識別情報12B及び端末装置2の端末識別情報12Eを登録し、割り当てられたセッションに対応する確立中情報12Dを確立処理中である旨に登録する。
 例えば、記憶部12内に登録済みの確立済み情報12Cがセッション確立済みでない場合及び確立中情報12Dが確立処理中でない場合、割当制御部13は、セッション開始要求を発行した端末装置2に対する当該記憶部12に登録済みのセッションを割り当てる。これに対して、確立済み情報12Cがセッション確立済みである場合、又は確立中情報12Dが確立処理中である場合、割当制御部13は、セッション開始要求を発行した端末装置2に対する当該記憶部12に登録済みのセッションの割当を禁止する。
 つまり、セッション確立装置1は、セッション毎の確立済み情報12C及び確立中情報12Dの参照結果に基づき、セッション開始要求を発行した端末装置2に対するセッションの割当を制御する。その結果、セッション確立装置1は、セッション開始要求が競合した複数の端末装置2に対する同一セッションの重複割当を回避できる。
 更に、実施例1では、端末装置2からセッション実行要求を受信すると、セッション実行要求に含まれるセッション識別情報と同一のセッション識別情報12Bのセッションが記憶部12内にあるか否かを判定する。更に、実施例1では、同一セッション識別情報を持つセッションが記憶部12内にある場合、当該セッション識別情報を使用してセッション実行要求を発行した端末装置2とのセッションを確立する。その結果、セッション確立装置1は、セッション開始要求が競合した複数の端末装置2に対する同一セッションの重複割当を回避することで、端末装置2がセッション開始要求を先に要求したにも関わらず、後で要求した他の端末装置2によってセッションが横取りされてしまうような事態を回避できる。そして、セッション確立装置1は、円滑なセッションの確立を実現できる。
 図2は、実施例2のサーバ管理システムを示すブロック図である。図2に示すサーバ管理システム1Aは、サーバ装置3と、複数台のクライアント端末20と、サーバ装置3とクライアント端末20とを接続するLAN4とを有する。サーバ管理システム1Aは、IPMIを使用してサーバ装置3の内部装置の状態情報をクライアント端末20側で管理可能にした。
 サーバ装置3は、複数の内部装置21と、システム制御部22と、内部装置21とシステム制御部22との間を接続するI2Cバス23とを有する。内部装置21は、例えば、CPU及びメモリを搭載したシステムボード21A、電源21B、IO装置21Cやファン21D等に相当する。更に、各内部装置21は、自己の状態を検出するセンサ21Eを内蔵している。
 システム制御部22は、IPMIを使用して各内部装置21のセンサ21Eで検出した状態情報を収集する。クライアント端末20は、IPMIを使用してLAN4経由でシステム制御部22と通信接続し、サーバ装置3内の各内部装置21の状態情報を監視可能にする。
 システム制御部22は、ポート部31と、ドライバ部32と、IPMI制御部33とを有する。ポート部31は、LAN4と接続するインタフェースである。ドライバ部32は、I2Cバス23と接続するインタフェースである。IPMI制御部33は、論理チャネル部41と、コマンド処理部42と、デバイス部43と、セッション管理部44とを有する。論理チャネル部41は、ポート部31とコマンド処理部42との間の通信に使用するチャネルを論理的に関連付ける部位である。コマンド処理部42は、クライアント端末20からIPMIに準拠したコマンドを受信すると、コマンドに対応するコマンド処理を実行する。尚、コマンドとしては、例えば、各内部装置21のセンサ21Eで検出した状態情報の収集を指示するコマンドや、各センサ21Eの設定変更を指示するコマンド等である。デバイス部43は、コマンド処理部42で実行するコマンド処理に応じてセンサ21E等の各種デバイスにアクセスする部位である。
 クライアント端末20とIPMI制御部33との間の通信は、通信開始から通信切断までをセッション単位で維持される。尚、V1.5のIPMIでは、Get Session Challenge及びActivate Sessionの一連の2コマンドを実行することで、クライアント端末20とIPMI制御部33との間のセッションをオープン状態にする。また、IPMIでは、Close Sessionを実行することでクライアント端末20とIPMI制御部33との間のセッションをクローズ状態にする。
 セッション管理部44は、情報判定部51と、スロット記憶部52と、割当制御部53と、情報登録部54と、制御部55とを有する。セッション管理部44は、クライアント端末20からのGet Session Challengeリクエストに対して応答した後、同一クライアント端末20からのActivate Sessionリクエストに対して応答すると、クライアント端末20とのセッションをオープン状態にする。
 スロット記憶部52は、クライアント端末20が使用するセッションに割り当てられたスロット52A毎に、セッションID52Bと、Activeフラグ52Cと、Establishmentフラグ52Dと、IPアドレス52Eとを対応付けて記憶する。セッションID52Bは、クライアント端末20が使用するセッションを識別するIDである。Activeフラグ52Cは、クライアント端末20が使用するセッションがオープン済み、すなわち確立済みであるか否かを示すフラグである。Activeフラグ52Cは、セッションが確立済みの場合を“ON”、セッションが確立済みでない場合を“OFF”とする。
 Establishmentフラグ52Dは、クライアント端末20が使用するセッションがオープン前の確立処理中であるか否かを示すフラグである。尚、確立処理中とは、セッションオープン前の処理、すなわち後述するGet Session Challengeリクエスト受信処理が完了し、後述するActivate Sessionが未完の状態である。Establishmentフラグ52Dは、セッションを確立処理中の場合を“ON”、セッションを確立処理中でない場合を“OFF”とする。IPアドレス52Eは、クライアント端末20を識別する端末識別情報である。
 情報判定部51は、クライアント端末20からGet Session Challengeリクエストを受信すると、スロット記憶部52内からスロットを順次参照し、参照スロットに登録済みのActiveフラグ52Cが“OFF”であるか否かを判定する。情報判定部51は、参照スロットに登録済みのActiveフラグ52Cが“OFF”の場合、参照スロットに登録済みのEstablishmentフラグ52Dが“OFF”であるか否かを判定する。また、情報判定部51は、参照スロットに登録済みのActiveフラグ52Cが“ON”の場合、参照スロットは使用中であると判断し、未参照スロットを検索する。
 また、割当制御部53は、参照スロットに登録済みのEstablishmentフラグ52Dが“OFF”である場合、当該Get Session Challengeリクエストを発行したクライアント端末20に対して当該スロットを割り当てる。また、割当制御部53は、参照スロットに登録済みのEstablishmentフラグ52Dが“ON”である場合、参照スロットに登録済みのIPアドレス52Eと、当該リクエストを発行したクライアント端末20のIPアドレスとを使用して当該クライアント端末20に対するスロット割当の成否を識別する。
 また、情報登録部54は、Get Session Challengeリクエストを発行したクライアント端末20に対してスロットを割り当てた場合、当該スロットに対応付けて、そのセッションのセッションID52B及びクライアント端末20のIPアドレス52Eを登録する。更に、情報登録部54は、当該スロットのEstablishmentフラグ52Dに“ON”を登録する。
 制御部55は、クライアント端末20からActivate Sessionリクエストを受信すると、スロット記憶部52内からスロットを順次参照する。更に、制御部55は、参照スロットに登録済みのセッションID52BがActivate Sessionリクエストに含まれるセッションIDと同一であるか否かを判定する。制御部55は、セッションIDが同一の場合、そのセッションIDのセッションを使用してActivate Sessionリクエストを発行したクライアント端末20とのセッションをオープン状態にする。
 制御部55は、参照スロットに登録済みのセッションID52Bが、Activate Sessionリクエストに含まれるセッションIDと同一でない場合、そのセッションIDのセッションを使用してActivate Sessionリクエストを実行したクライアント端末20に対するセッションオープンを禁止する。
 情報登録部54は、参照スロットに登録済みのセッションID52BがActivate Sessionリクエストに含まれるセッションIDと同一の場合、参照スロットのEstablishmentフラグ52Dに“OFF”を登録する。更に、情報登録部54は、当該スロットのActiveフラグ52Cに“ON”を登録する。
 また、割当制御部53は、端末判定部53Aを有する。端末判定部53Aは、Get Session Challengeリクエスト受信時に任意のスロットを参照する。更に、端末判定部53Aは、参照スロットに登録済みのEstablishmentフラグ52Dが“ON”の場合、参照スロットに登録済みのIPアドレス52EがGet Session Challengeリクエストを発行したクライアント端末20のIPアドレスと同一であるか否かを判定する。
 割当制御部53は、端末判定部53AにてIPアドレスが同一と判定された場合、Activate Session未完のまま、クライアント端末20が再度Get Session Challengeリクエストを発行したものと判断する。更に、割当制御部53は、そのGet Session Challengeリクエストを発行したクライアント端末20に対して当該スロットを再度割り当てる。また、割当制御部53は、端末判定部53AにてIPアドレスが同一でない場合、そのGet Session Challengeリクエストを発行したクライアント端末20に対する当該スロットの割り当てを禁止する。
 制御部55は、クライアント端末20からClose Sessionコマンドを受信すると、スロット記憶部52内からスロットを順次参照する。更に、制御部55は、参照スロットに登録済みのセッションID52Bが当該Close Sessionコマンドに含まれるセッションIDと同一であるか否かを判定する。制御部55は、同一セッションIDの場合、当該スロットに登録済みのセッションID52Bに関わるクライアント端末20とのセッションを切断する。情報登録部54は、受信したClose Sessionコマンドが有するセッションID52Bを登録済みのスロットがある場合、当該スロットに登録済みのセッションID52B及びIPアドレス52Eをゼロクリアする。更に、情報登録部54は、当該スロットのActiveフラグ52Cに“OFF”を登録する。
 また、制御部55は、セッションIDが同一でない場合、参照スロットがClose Sessionコマンドを発行したクライアント端末20のスロットではないものと判断し、更なる未参照スロットを参照することになる。
 次に、図3乃至図8に基づき、IPMIで使用するセッションコマンドのフォーマットについて説明する。図3は、Get Session Challengeリクエストのフォーマットを示す説明図、図4は、Get Session Challengeレスポンスのフォーマットを示す説明図、図5は、Activate Sessionリクエストのフォーマットを示す説明図である。更に、図6は、Activate Sessionレスポンスのフォーマットを示す説明図、図7は、Close Sessionコマンドのフォーマットを示す説明図、図8は、Close Sessionレスポンスのフォーマットを示す説明図である。
 図3に示すGet Session Challengeリクエスト61は、認証タイプの有無61A、セッションシーケンス番号61B、セッションID61C、認証コードの有無61D、リクエストされた認証タイプ61E及び、ユーザ名61F等を含む。尚、Byteは、データを格納するバイト単位の格納番号に相当する。認証タイプの有無61A、セッションシーケンス番号61B、セッションID61C及び認証コードの有無61DはByte“0”に格納する。リクエストされた認証タイプ61Eは、Byte“1”に格納する。ユーザ名61Fは、Byte“2”~“17”に格納する。
 図4に示すGet Session Challengeレスポンス62は、認証タイプの有無62A、セッションシーケンス番号62B、セッションID62C及び認証コードの有無62Dを含む。更に、Get Session Challengeレスポンス62は、完了コード62E、テンポラリセッションID62F及びチャレンジデータ62G等を含む。尚、テンポラリセッションID62Fは、Get Session Challengeリクエストを実行したクライアント端末20に新規に割り当てられた、Activate Sessionリクエストで使用するセッションIDに相当する。チャレンジデータ62Gは、Activate Sessionリクエストで使用する文字列に相当する。認証タイプの有無62A、セッションシーケンス番号62B、セッションID62C及び認証コードの有無62DはByte“0”に格納する。完了コード62EはByte“1”に格納する。テンポラリセッションID62FはByte“2”~“5”に格納する。チャレンジデータ62GはByte“6”~“21”に格納する。
 図5に示すActivate Sessionリクエスト63は、認証タイプ63A、セッションシーケンス番号63B、セッションID(テンポラリセッションID)63C、指定アルゴリズムで算出したID63Dを含む。尚、セッションID63Cは、Get Session Challengeレスポンス62から得たテンポラリセッションID62Fに相当する。更に、Activate Sessionリクエスト63は、セッションの認証タイプ63E、権限レベル63F、文字列63G及びシーケンス番号63H等を含む。尚、文字列63Gは、Get Session Challengeレスポンス62のチャレンジデータ62Gで得た文字列に相当する。尚、認証タイプ63A、セッションシーケンス番号63B、セッションID63C及び、指定アルゴリズムで算出したID63DはByte“0”に格納する。セッションの認証タイプ63EはByte“1”に格納する。権限レベル63FはByte“2”に格納する。文字列63GはByte“3”~“18”に格納する。シーケンス番号63HはByte“19”~“22”に格納する。
 図6に示すActivate Sessionレスポンス64は、セッションID64A、認証タイプ64B、シーケンス番号64C、指定アルゴリズムで算出したID64D及び、セッションオープン完了を示す完了コード64Eを含む。尚、セッションID64Aは、Activate Sessionリクエストで要求したセッションIDに相当する。更に、Activate Sessionレスポンス64は、セッションオープン後の認証タイプ64F、セッションID64G、シーケンス番号64H及び権限レベル64I等を含む。尚、認証タイプ64A、認証タイプ64B、シーケンス番号64C及び指定アルゴリズムで算出したID64DはByte“0”に格納する。完了コード64EはByte“1”に格納する。セッションオープン後の認証タイプ64FはByte“2”に格納する。セッションID64GはByte“3”~“6”に格納する。シーケンス番号64HはByte“7”~“10”に格納する。権限レベル64IはByte“11”に格納する。
 図7に示すClose Sessionコマンド65は、セッションクローズ対象のセッションID65Aを含む。尚、セッションクローズ対象のセッションID65AはByte“1”~“4”に格納する。図8に示すClose Sessionレスポンス66は、セッションクローズ完了を示す完了コード66Aを含む。尚、完了コード66AはByte“1”に格納する。
 次に実施例2のサーバ管理システム1Aの動作について説明する。図9は、Get Session Challengeリクエスト受信処理に関わるセッション管理部44の処理動作を示すフローチャートである。図9に示すGet Session Challengeリクエスト受信処理は、クライアント端末20から受信したGet Session Challengeリクエストに応じてセッションオープン前の事前処理を実行する処理である。図9においてセッション管理部44の情報判定部51は、スロット記憶部52内のスロットを順次参照し(ステップS11)、参照スロットに登録済みのActiveフラグ52Cが“ON”であるか否かを判定する(ステップS12)。情報判定部51は、参照したスロットのActiveフラグ52Cが“ON”でない場合(ステップS12否定)、すなわちActiveフラグ52Cが“OFF”の場合、参照スロットに登録済みのEstablishmentフラグ52Dが“ON”であるか否かを判定する(ステップS13)。
 割当制御部53は、参照スロットに登録済みのEstablishmentフラグ52Cが“ON”でない場合(ステップS13否定)、すなわちEstablishmentフラグ52Cが“OFF”である場合、参照スロットを空きスロットとして利用する(ステップS14)。セッション管理部44の情報登録部54は、当該空きスロットに新たなセッションID52Bを登録し(ステップS15)、更に、当該スロット内に当該クライアント端末20を識別するIPアドレス52Eを登録する(ステップS16)。更に、情報登録部54は、当該スロット内の“OFF”のEstablishmentフラグ52Dに“ON”を登録し(ステップS17)、図9の処理動作を終了する。
 端末判定部53Aは、参照スロット内のEstablishmentフラグ52Dが“ON”である場合(ステップS13肯定)、クライアント端末20のIPアドレスと参照スロットに登録済みのIPアドレスとが同一であるか否かを判定する(ステップS18)。割当制御部53は、IPアドレスが同一である場合(ステップS18肯定)、Activate Session未完のまま、再度、Get Session Challengeリクエストを発行したクライアント端末20であると判断する。更に、割当制御部53は、Activate Session未完のまま、再度、Get Session Challengeリクエストを発行したクライアント端末20であると判断すると、当該クライアント端末20に当該参照スロットを再利用し(ステップS19)、図9の処理動作を終了する。尚、Activate Session未完のまま、再度、Get Session Challengeリクエストを発行したクライアント端末20に対して複数の参照スロットが割り当てられるような事態が回避できる。
 また、割当制御部53は、IPアドレスが同一でない場合(ステップS18否定)、参照スロットが他のクライアント端末20で使用中と判断し(ステップS20)、未参照スロットがスロット記憶部52内にあるか否かを判定する(ステップS21)。割当制御部53は、未参照スロットがある場合(ステップS21肯定)、当該未参照スロットを参照すべく、ステップS11に移行する。また、割当制御部53は、未参照スロットがない場合(ステップS21否定)、セッション確立可能な上限数を超えたセッション数オーバのエラーメッセージをクライアント端末20に通知し(ステップS22)、図9の処理動作を終了する。
 割当制御部53は、参照スロットに登録済みのActiveフラグ52Cが“ON”である場合(ステップS12肯定)、参照スロットが他のクライアント端末20で使用中と判断する(ステップS23)。続いて、割当制御部53は、未参照スロットがスロット記憶部52内にあるか否かを判定する(ステップS24)。割当制御部53は、未参照スロットがある場合(ステップS24肯定)、未参照スロットを参照すべく、ステップS11に移行する。また、割当制御部53は、未参照スロットがない場合(ステップS24否定)、セッション数オーバのエラーメッセージをクライアント端末20に通知し(ステップS25)、図9の処理動作を終了する。
 図9に示すGet Session Challengeリクエスト受信処理では、セッション管理部44がGet Session Challengeリクエストを受信すると、Activeフラグ52Cが“OFF”、Establishmentフラグ52Dが“OFF”に登録済みのスロットを、Get Session Challengeリクエストを発行したクライアント端末20に割り当てる。更に、Get Session Challenge受信処理では、クライアント端末20に割り当てたスロットにセッションID52B及びIPアドレス52Eを登録すると共に、当該スロットのActiveフラグ52Cに“ON”を登録する。
 例えば、Activeフラグ52Cが“OFF”、Establishmentフラグ52Dが“OFF”に登録済みのスロットの場合、割当制御部53は、当該スロットをGet Session Challengeリクエストを発行したクライアント端末20に割り当てる。これに対して、Activeフラグ52Cが“ON”に登録済みのスロットの場合、割当制御部53は、Get Session Challengeリクエストを発行したクライアント端末20に対する当該スロットの割当を禁止する。つまり、サーバ装置3は、スロット毎のActiveフラグ52C及びEstablishmentフラグ52Dの参照結果に基づき、Get Session Challengeリクエストを発行したクライアント端末20に対するスロットの割当を制御した。その結果、サーバ装置3は、Get Session Challengeリクエストが競合した複数のクライアント端末20に対して同一スロットの重複割当を回避できる。
 更に、セッション管理部44がGet Session Challengeリクエストを受信したとき、スロットのActiveフラグ52Cが“OFF”、Establishmentフラグ52Dが“ON”の場合には、当該スロットに登録済みのIPアドレスとリクエストを発行したクライアント端末20のIPアドレスが同一であるか否かを判定する。同一IPアドレスの場合、Get Session Challengeリクエストを発行したクライアント端末20に当該スロットを割り当てる。つまり、サーバ装置3は、同一クライアント端末20からActivate Session未完のまま、再度、Get Session Challengeリクエストを受信したとしても、当該クライアント端末20に割当済みのスロットを再利用することになる。その結果、サーバ装置3は、同一クライアント端末20に対して複数のスロットを順次割り当ててしまうような事態を回避できる。
 更に、サーバ装置3は、スロットに登録済みのIPアドレスとGet Session Challengeリクエストを発行したクライアント端末20のIPアドレスとが同一ではない場合、当該リクエストを発行したクライアント端末20に別のスロットを割り当てる。その結果、サーバ装置3は、Get Session Challengeリクエストが競合した複数のクライアント端末20に対して同一スロットが割り当てられてしまうような事態を回避できる。
 図10は、Activate Sessionリクエスト受信処理に関わるセッション管理部44の処理動作を示すフローチャートである。図10に示すActivate Sessionリクエスト受信処理は、クライアント端末20からのActivate Sessionリクエストに応じてセッションをオープン状態にする処理である。図10において制御部55は、スロット記憶部52からスロットを参照し(ステップS31)、参照スロットに登録済みのActiveフラグ52C が“OFF”であるか否かを判定する(ステップS32)。
 制御部55は、Activeフラグ52C が“OFF”である場合(ステップS32肯定)、参照スロットに登録済みのセッションID52BがActivate Sessionリクエストに付加されたセッションIDと同一であるか否かを判定する(ステップS33)。
 情報登録部54は、セッションIDが同一の場合(ステップS33肯定)、参照スロットに登録済みのActiveフラグ52Cに“ON”を登録する(ステップS34)。更に、情報登録部54は、参照スロットに登録済みのEstablishmentフラグ52Dを“OFF”登録し(ステップS35)、図10の処理動作を終了する。その結果、制御部55は、Activate Sessionリクエストを発行したクライアント端末20とのセッションをオープン状態にする。
 更に、制御部55は、参照スロットに登録済みのセッションID52BがActivate Sessionリクエストに付加されたセッションIDと同一でない場合(ステップS33否定)、参照スロットがActivate Sessionリクエストを発行したクライアント端末20に割り当てるべき該当スロットではないと判断する (ステップS36)。そして、制御部55は、参照スロットが該当スロットではないと判断すると、未参照スロットがスロット記憶部52内にあるか否かを判定する(ステップS37)。制御部55は、未参照スロットがある場合(ステップS37肯定)、未参照スロットを参照すべく、ステップS31に移行する。
 また、制御部55は、未参照スロットがない場合(ステップS37否定)、Activate Sessionリクエストに関わるセッションIDエラーをクライアント端末20に通知し(ステップS38)、図10の処理動作を終了する。また、制御部55は、Activeフラグ52Cが“OFF”でない場合(ステップS32否定)、ステップS36に移行する。
 図10に示すActivate Sessionリクエスト受信処理では、セッション管理部44がActivate Sessionリクエストを受信すると、当該リクエストのセッションIDと参照スロットに登録済みのセッションID52Bとが同一であるか否かを判定する。セッションIDが同一の場合、当該セッションを使用したクライアント端末20とのセッションをオープン状態にする。また、Activate Sessionリクエスト受信処理では、セッションIDが同一でない場合、当該セッションを使用したクライアント端末20とのセッションをオープンにしない。その結果、サーバ装置3は、Get Session Challengeリクエストが競合した複数のクライアント端末20に対して同一スロットが割り当てられるような事態を回避することで、クライアント端末20がGet Session Challengeリクエストを先に要求したにも関わらず、後で要求した他のクライアント端末20によってセッションが横取りされてしまうような事態を回避できる。そして、サーバ管理システム1Aは、円滑なセッションのオープンを実現できる。
 図11は、Close Sessionコマンド受信処理に関わるセッション管理部44の処理動作を示すフローチャートである。図11に示すClose Sessionコマンド受信処理は、クライアント端末20からのClose Sessionコマンドに応じてクライアント端末20とのセッションをクローズ状態にする処理である。図11において制御部55は、Close Sessionコマンドを受信すると、スロット記憶部52からスロットを参照し(ステップS41)、参照スロットに登録済みのActiveフラグ52Cが“ON”であるか否かを判定する(ステップS42)。制御部55は、参照スロットのActiveフラグ52Cが“ON”である場合(ステップS42肯定)、参照スロットに登録済みのセッションID52BがClose Sessionコマンドに付加されたセッションIDと同一であるか否かを判定する(ステップS43)。
 情報登録部54は、セッションIDが同一の場合(ステップS43肯定)、参照スロットに登録済みのセッションID52Bをゼロクリアする(ステップS44)。更に、情報登録部54は、参照スロットに登録済みのIPアドレス52Eをゼロクリアする(ステップS45)。更に、情報登録部54は、参照スロットのActiveフラグ52Cを“OFF”登録し(ステップS46)、図11の処理動作を終了する。その結果、制御部55は、Close Sessionコマンドを発行したクライアント端末20とのセッションをクローズ状態にする。
 また、制御部55は、参照スロットのActiveフラグ52Cが“ON”でない場合(ステップS42否定) 、参照スロットがClose Sessionコマンドを発行したクライアント端末20に割り当てるべき該当スロットではないと判断する(ステップS47)。そして、制御部55は、未参照スロットがスロット記憶部52内にあるか否かを判定する(ステップS48)。制御部55は、未参照スロットがない場合(ステップS48否定)、Close Sessionコマンドに関わるセッションIDエラーをクライアント端末20に通知し(ステップS49)、図11の処理動作を終了する。
 また、制御部55は、未参照スロットがある場合(ステップS48肯定)、未参照スロットを参照すべく、ステップS41に移行する。また、制御部55は、参照スロットに登録済みのセッションID52BがClose Sessionコマンドに付加されたセッションIDと同一でない場合(ステップS43否定)、参照スロットが該当スロットではないと判断すべく、ステップS47に移行する。
 図11に示すClose Sessionコマンド受信処理では、Close Sessionコマンドに応じて、当該コマンドを発行したクライアント端末20とのセッションをクローズ状態にする。
 図12は、セッションオープン競合時に関わるサーバ管理システム1Aの処理動作を示すシーケンス図である。尚、説明の便宜上、クライアント端末20A及び20BからのGet Session Challengeリクエストが競合した状態を想定する。クライアント端末20Aは、Get Session Challengeリクエストを発行し、そのGet Session ChallengeリクエストをLAN4経由でコマンド処理部42に通知する(ステップS51)。コマンド処理部42は、クライアント端末20AからGet Session Challengeリクエストを受信すると、使用するセッションの新規セッションIDの生成をセッション管理部44に依頼する(ステップS52)。
 セッション管理部44は、新規セッションIDの生成依頼を受信すると、新規セッションIDを生成する(ステップS53)。更に、セッション管理部44は、Activeフラグ52Cが“OFF”及びEstablishmentフラグ52Dが“OFF”の空きスロット“1”を、Get Session Challengeリクエストを発行したクライアント端末20Aに割り当てる。更に、情報登録部54は、空きスロット“1”に、Get Session Challengeリクエストを発行したクライアント端末20AのIPアドレス52E“xxA”及び新規セッションID52B“1”を登録する(ステップS54)。更に、情報登録部54は、当該空きスロット“1”のEstablishmentフラグ52Dに“ON”を登録する(ステップS54)。つまり、情報登録部54は、IPアドレス52E“xxA”、新規セッションID52B“1”及び Establishmentフラグ52D“ON”を空きスロット“1”に登録する。その結果、当該スロット“1”は、クライアント端末20Aが利用するセッションID“1”対応のスロットとなる。
 セッション管理部44は、スロット“1”に登録した新規セッションID“1”を読み出す(ステップS54A)。そして、セッション管理部44は、Get Session Challengeリクエストに対するGet Session Challengeレスポンスをクライアント端末20Aに返信する(ステップS55)。尚、図12の例では、Get Session Challengeレスポンスには、ステップS54で登録した新規セッションID“1”を付加する。
 次に、クライアント端末20AがGet Session Challengeリクエストに後続するActivate Sessionリクエストを発行する前に、クライアント端末20Bは、Get Session Challengeリクエストを発行し、そのGet Session ChallengeリクエストをLAN4経由でコマンド処理部42に通知する(ステップS56)。コマンド処理部42は、クライアント端末20BからGet Session Challengeリクエストを受信すると、使用するセッションの新規セッションIDの生成をセッション管理部44に依頼する(ステップS57)。
 セッション管理部44は、新規セッションIDの生成依頼を受信すると、新規セッションIDを生成する(ステップS58)。更に、割当制御部53は、クライアント端末20Aに先に割り当てたスロット“1”に登録済みのEstablishmentフラグ52Dが“ON”のため、Get Session Challengeリクエストを発行したクライアント端末20Bに対して空きスロット“1”の割当を禁止する。その結果、割当制御部53は、Activeフラグ52Cが“OFF”及びEstablishmentフラグ52Dが“OFF”の空きスロット“2”を、Get Session Challengeリクエストを発行したクライアント端末20Bに割り当てる。情報登録部54は、空きスロット“2”にGet Session Challengeリクエストを発行したクライアント端末20BのIPアドレス52E“xxB”及び新規セッションID52B“2”を登録する(ステップS59)。更に、情報登録部54は、空きスロット“2”のEstablishmentフラグ52Dに“ON”を登録する(ステップS59)。つまり、情報登録部54は、IPアドレス52E“xxB”、新規セッションID52B“2”及び Establishmentフラグ52D“ON”を空きスロット“2”に登録する。その結果、当該スロット“2”は、クライアント端末20Bが利用するセッションID“2”対応のスロットとなる。
 セッション管理部44は、スロット“2”に登録した新規セッションID“2”を読み出す(ステップS59A)。そして、セッション管理部44は、Get Session Challengeリクエストに対するGet Session Challengeレスポンスをクライアント端末20Bに返信する(ステップS60)。尚、図12の例では、Get Session Challengeレスポンスには、ステップS59で登録した新規セッションID“2”を付加する。この結果、クライアント端末20A及び20BによってGet Session Challengeリクエストが競合した状態となる。
 この際、クライアント端末20Bは、クライアント端末20Aよりも先にActivate Sessionリクエストを発行し、Activate Sessionリクエストをコマンド処理部42経由でセッション管理部44に通知したものとする(ステップS61)。尚、クライアント端末20Bは、Activate Sessionリクエストを発行する際、Get Session Challengeレスポンスに付加されたセッションID“2”をActivate Sessionリクエストに付加する。
 情報登録部54は、クライアント端末20BからActivate Sessionリクエストを受信すると、当該リクエストに付加されたセッションID“2”が登録済みのスロット“2”を参照する(ステップS62)。更に、情報登録部54は、参照スロット“2”のActiveフラグ52Cに“ON”を登録すると共に、Establishmentフラグ52Dに“OFF”を登録する(ステップS62)。
 当該スロット“2”には、セッションID52B“2”と、Activeフラグ52C“ON”と、Establishmentフラグ52D“OFF”と、クライアント端末20BのIPアドレス52E“xxB”とを対応付けて登録する(ステップS62)。そして、制御部55は、当該スロット“2”の登録完了に応じて(ステップS62A)、Activate Sessionリクエストに対するActivate Sessionレスポンスをコマンド処理部42経由でクライアント端末20Bに返信する(ステップS63)。この結果、制御部55は、クライアント端末20Bに対するセッションID“2”のセッションをオープン状態とする。
 そして、クライアント端末20BがActivate Sessionが完了してオープン状態にした後、クライアント端末20Aは、Activate Sessionリクエストを発行し、Activate Sessionリクエストをコマンド処理部42経由でセッション管理部44に通知する(ステップS64)。尚、クライアント端末20Aでは、Activate Sessionリクエストを発行する際、Get Session Challengeレスポンスに付加されたセッションID“1”をActivate Sessionリクエストに付加する。
 情報登録部54は、Activate Sessionリクエストをクライアント端末20Aから受信すると、当該リクエストに付加されたセッションID“1”が登録済みのスロット“1”を参照する。情報登録部54は、参照スロット“1”のActiveフラグ52Cに“ON”を登録すると共に、Establishmentフラグ52Dに“OFF”を登録する(ステップS65)。
 当該スロット“1”には、セッションID52B“1”と、Activeフラグ52C“ON”と、Establishmentフラグ52D“OFF”と、クライアント端末20AのIPアドレス52E“xxA”とを対応付けて登録する(ステップS65)。そして、制御部55は、当該スロット“1”の登録完了に応じて(ステップS65A)、Activate Sessionリクエストに対するActivate Sessionレスポンスをコマンド処理部42経由でクライアント端末20Aに返信する(ステップS66)。この結果、制御部55は、クライアント端末20Aに対するセッションID“1”のセッションをオープン状態とする。
 図12では、クライアント端末20からGet Session Challengeリクエストが発行された場合、各スロットのセッションID52B、Activeフラグ52C、Establishmentフラグ52D及びIPアドレス52Eを参照する。そのため、複数のクライアント端末20のGet Session Challengeリクエストが競合したとしても、サーバ装置3は、複数のクライアント端末20に対して同一スロットが割り当てられるような事態を回避する。更に、クライアント端末20がGet Session Challengeリクエストを先に要求したにも関わらず、後で要求した他のクライアント端末20によってセッションが横取りされてしまうような事態が回避できる。そして、サーバ管理システム1は、円滑なセッションオープンを実現できる。
 また、例えば、クライアント端末20Aは、Get Session Challengeリクエストを発行し、ステップS51~ステップS55の処理動作を経て、Activate Sessionリクエストを発行する。しかしながら、クライアント端末20Aは、Get Session Challengeリクエストを発行したにもかかわらず、Activate Sessionリクエストを発行せず、何等かの原因でGet Session Challengeリクエストを再度発行したとする。このような場合でも、割当制御部53は、Activeフラグ52Cが“OFF”、Establishmentフラグ52Dが“ON”及びIPアドレス52Eが同一のスロットをクライアント端末20Aに割り当てることで当該スロットを再利用することになる。その結果、サーバ装置3は、Get Session Challengeリクエストを受信する都度、同一クライアント端末20に対して異なるスロットを順次割り当てしまうような事態を回避することで、従来のようなセッション数オーバを防止できる。
 実施例2では、クライアント端末20からGet Session Challengeリクエストを受信すると、スロットを順次参照し、参照スロットに登録済みのActiveフラグ52Cが“OFF”であるか否かを判定する。更に、実施例2では、Activeフラグ52Cが“OFF”の場合、参照スロットに登録済みのEstablishmentフラグ52Dが“OFF”であるか否かを判定する。更に、実施例2では、Establishmentフラグ52Dが“OFF”の場合、Get Session Challengeリクエストを発行したクライアント端末20に対して当該参照スロットを割り当てる。更に、実施例2では、クライアント端末20に割り当てられたスロットに、そのセッションのセッションID52B及びIPアドレス52Eを登録し、Establishmentフラグ52Dに“ON”を登録する。つまり、実施例2では、スロット毎のActiveフラグ52C及びEstablishmentフラグ52Dの参照結果に基づき、Get Session Challengeリクエストを発行したクライアント端末20に対するスロットの割当を制御した。その結果、サーバ装置3は、Get Session Challengeリクエストが競合した複数のクライアント端末20に対する同一スロットの重複割当を回避できる。
 更に、実施例2では、クライアント端末20からActivate Sessionリクエストを受信すると、スロットを順次参照し、参照スロットに登録済みのセッションID52Bと当該リクエストに含まれるセッションIDとが同一であるか否かを判定する。実施例2では、セッションIDが同一の場合、参照スロットに登録済みのセッションID52BのセッションIDを使用してActivate Sessionリクエストを発行したクライアント端末20とのセッションをオープン状態にする。その結果、サーバ装置3は、Get Session Challengeリクエストが競合した複数のクライアント端末20に対する同一スロットの重複割当を回避することで、クライアント端末20がGet Session Challengeリクエストを先に要求したにも関わらず、後で要求した他のクライアント端末20によってセッションが横取りされてしまうような事態を回避できる。そして、円滑なセッションオープンを実現できる。
 実施例2では、参照スロットに登録済みのEstablishmentフラグ52Dが“ON”の場合、参照スロットに登録済みのIPアドレスがGet Session Challengeリクエストを発行したクライアント端末20のIPアドレスと同一であるか否かを判定する。実施例2では、IPアドレスが同一の場合、当該リクエストを発行したクライアント端末20に対して当該スロットを割り当てる。つまり、サーバ装置3は、同一クライアント端末20からActivate Session未完のまま、再度、Get Session Challengeリクエストを受信したとしても、当該クライアント端末20に割当済みのスロットを再利用することになる。その結果、サーバ装置3は、同一クライアント端末20に対して複数のスロットを順次割り当ててしまうような事態を回避できる。
 更に、実施例2では、スロットに登録済みのIPアドレスがGet Session Challengeリクエストを発行したクライアント端末20のIPアドレスとが同一ではない場合、当該リクエストを発行したクライアント端末20に別のスロットを割り当てる。その結果、サーバ装置3は、Get Session Challengeリクエストが競合した複数のクライアント端末20に対して同一スロットが割り当てられてしまうような事態を回避できる。
 実施例2では、Activate Sessionリクエストを受信すると、スロットを順次参照し、参照スロットに登録済みのセッションID52Bがリクエストに付加されたセッションIDと同一であるか否かを判定する。実施例2では、セッションIDが同一の場合、当該セッションを使用したクライアント端末20とのセッションをオープン状態にする。
 実施例2では、クライアント端末20からClose Sessionコマンドを受信すると、スロットを順次参照し、参照スロットに登録済みのセッションIDがClose Sessionコマンドに付加したセッションIDと同一であるか否かを判定する。実施例2では、同一セッションIDの場合、当該クライアント端末20と当該セッションIDのセッションをクローズ状態にする。
 尚、上記実施例2では、V1.5のIPMI仕様のセッションを例に挙げて説明したが、V2.0のIPMI仕様のセッションに採用しても良い。図13は、V2.0のIPMIのセッションシーケンスの一例を示す説明図である。図13に示すV2.0仕様のRMCP+Open Sessionは、セッション開始要求としてV1.5仕様のGet Session Challengeに相当する。更に、V2.0仕様のRAKP Message1、RAKP Message2、RAKP Message3及びRAKP Message4は、セッション実行要求としてV1.5のActivate Sessionに相当する。セッション管理部44の割当制御部53は、クライアント端末20からRMCP+Open Sessionリクエストを受信した場合、Activeフラグ“OFF”及びEstablishmentフラグ“OFF”の空きスロットを割り当てる。更に、情報登録部54は、スロットに新規セッションID及びIPアドレスを登録すると共に、Establishmentフラグ52Dに“ON”を登録する。この結果、他のクライアント端末20からRMCP+Open Sessionリクエストを受信したとしても、割当制御部53は、複数のクライアント端末20に対してEstablishmentフラグ52Dが“OFF”登録済みのスロットを割り当てる。更に、割当制御部53は、複数のクライアント端末20に対してEstablishmentフラグ52Dが“ON”登録済みのスロットの重複割当を回避できる。
 また、上記実施例2では、Get Session Challenge及びActivate Sessionの二段構えのIPMIコマンドを実行してセッションを確立する場合を例に挙げて説明した。しかしながら、IPMIに限定することなく、二段構えのコマンドを実行してセッションを確立するシステムであれば、同様の効果が得られる。
 また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
 更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
 ところで、本実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図14を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図14は、セッション確立プログラムを実行するコンピュータを示す説明図である。
 図14に示すように、セッション確立プログラムとしてのコンピュータ200は、HDD(Hard Disk Drive)210、RAM(Random Access Memory)220、ROM(Read Only Memory)230及びCPU240をバス250で接続して構成される。
 そして、ROM230には、上記の実施例と同様の機能を発揮するセッション確立プログラムが予め記憶されている。セッション確立プログラムとしては、図14に示すように、情報判定プログラム231、記憶プログラム232、割当制御プログラム233、情報登録プログラム234及び制御プログラム235である。尚、プログラム231~235については、図1に示したセッション確立装置1の各構成要素と同様、適宜統合又は分散してもよい。
 そして、CPU240が、これらのプログラム231~235をROM230から読み出して実行する。そして、図14に示すように、各プログラム231~235は、情報判定プロセス241、記憶プロセス242、割当制御プロセス243、情報登録プロセス244及び制御プロセス245として機能するようになる。
 CPU240は、端末装置からセッション開始要求を受信すると、確立済み情報が確立済みではないことを示すセッションがあるか否かを判定する。更に、CPU240は、確立済みではないセッションがある場合、当該セッションに対応した確立中情報が確立処理中でない旨を示しているか否かを判定する。更に、CPU240は、確立処理中でないセッションに対応付けて、セッション識別情報及び端末識別情報を登録し、当該セッションの確立中情報を確立処理中である旨に登録する。つまり、コンピュータ200は、セッション毎の確立済み情報及び確立中情報の参照結果に基づき、セッション開始要求を発行した端末装置に対するセッションの割当を制御する。その結果、コンピュータ200は、セッション開始要求が競合したとしても、登録済みの確立中情報、確立済み情報、セッション識別情報及び端末識別情報を参照して、同一セッションが複数の端末装置に重複割当されてしまうような事態を回避できる。
 更に、CPU240は、端末装置からセッション実行要求を受信すると、セッション実行要求に含まれるセッション識別情報と同一のセッション識別情報のセッションがあるか否かを判定する。更に、CPU240は、同一セッション識別情報を持つセッションがある場合、当該セッション識別情報を使用して当該セッション実行要求を発行した端末装置とのセッションを確立する。その結果、コンピュータ200は、セッション開始要求が競合した複数の端末装置に対する同一セッションの重複割当を回避することで、端末装置がセッション開始要求を先に要求したにも関わらず、後で要求した他の端末装置によってセッションが横取りされてしまうような事態を回避できる。そして、コンピュータ200は、円滑なセッションの確立を実現できる。
 1 セッション確立装置
 1A サーバ管理システム
 2 端末装置
 11 情報判定部
 12 記憶部
 13 割当制御部
 14 情報登録部
 15 制御部
 20 クライアント端末
 20A クライアント端末
 20B クライアント端末
 51 情報判定部
 52 スロット記憶部
 53 割当制御部
 53A 端末判定部
 54 情報登録部
 55 制御部

Claims (7)

  1.  端末装置が使用するセッション毎に、当該セッションが確立済みであるか否かを示す確立済み情報と、当該セッションが確立処理中であるか否かを示す確立中情報とを対応付けて記憶する記憶部と、
     前記端末装置からセッション開始要求を受信すると、確立済みでない旨を前記確立済み情報が示すセッションが前記記憶部内にあるか否かを判定し、確立済みではないセッションがある場合に、当該セッションに対応した確立中情報が確立処理中でない旨を示しているか否かを判定する情報判定部と、
     前記セッションに対応した確立中情報が前記確立処理中でない旨を示している場合、当該セッション開始要求を発行した端末装置に対して当該セッションを割り当てる割当制御部と、
     前記セッション開始要求を発行した端末装置に対して当該セッションを割り当てた場合、当該セッションに対応付けて、当該セッションを識別するセッション識別情報及び当該端末装置を識別する端末識別情報を登録すると共に、当該セッションに対応した確立中情報を確立処理中である旨に登録する情報登録部と、
     端末装置からセッション実行要求を受信すると、当該セッション実行要求に含まれるセッション識別情報と同一のセッション識別情報のセッションが前記記憶部内にあるか否かを判定し、同一セッション識別情報を持つセッションがある場合、当該セッション識別情報を使用して当該セッション実行要求を発行した端末装置とのセッションを確立する制御部と
    を有することを特徴とするセッション確立装置。
  2.  前記割当制御部は、
     前記セッションに対応した確立中情報が前記確立処理中である旨を示す場合、当該セッションに対応した端末識別情報が前記セッション開始要求を発行した端末装置の端末識別情報と同一であるか否かを判定する端末判定部を有し、
     前記端末識別情報が同一の場合、当該セッション開始要求を発行した端末装置に対して当該セッションを割り当て、前記端末識別情報が同一でない場合、当該セッション開始要求を発行した端末装置に対する当該セッションの割り当てを禁止することを特徴とする請求項1記載のセッション確立装置。
  3.  前記情報登録部は、
     前記制御部が、前記セッション実行要求に含まれるセッション識別情報と同一のセッション識別情報のセッションがあると判定した場合、当該セッションに対応した確立中情報を確立処理中でない旨に登録し、当該セッションに対応した確立済み情報を確立済みである旨に登録することを特徴とする請求項1又は2記載のセッション確立装置。
  4.  前記制御部は、
     前記端末装置からセッション終了要求を受信すると、当該セッション終了要求に含まれるセッション識別情報に対応したセッションが前記記憶部内にあるか否かを判定し、当該セッションがある場合、当該セッションに関わる前記セッション終了要求を発行した端末装置とのセッションを切断し、
     前記情報登録部は、
     前記セッション終了要求に含まれるセッション識別情報に対応したセッションが前記記憶部内にある場合、当該セッションに対応した端末識別情報及びセッション識別情報を消去し、当該セッションに対応した確立済み情報を確立済みでない旨に登録することを特徴とする請求項1又は2記載のセッション確立装置。
  5.  前記セッション開始要求及び前記セッション実行要求は、
     インテリジェントプラットフォーム管理インタフェースの仕様に準拠した、前記端末装置とのセッション確立を要求するコマンドであることを特徴とする請求項1又は2記載のセッション確立装置。
  6.  端末装置からセッション開始要求を受信すると、記憶部に記憶されている、セッションが確立済みであるか否かを示す確立済み情報を参照して、前記確立済み情報が確立済みではないことを示すセッションが前記記憶部内にあるか否かを判定し、
    確立済みではないことを示すセッションが前記記憶部にある場合に、前記記憶部に記憶されている、セッションが確立処理中であるか否かを示す確立中情報を参照して、当該セッションが確立処理中であるか否かを判定し、
     当該セッションに対応した前記確立中情報が前記確立処理中でない旨を示している場合、当該セッション開始要求を発行した端末装置に対して当該セッションを割り当て、
     前記セッション開始要求を発行した端末装置に対して当該セッションを割り当てた場合、当該セッションを識別するセッション識別情報及び当該端末装置を識別する端末識別情報を当該セッションに対応付けて登録すると共に、当該セッションに対応した確立中情報を確立処理中である旨に登録し、
     端末装置からセッション実行要求を受信すると、当該セッション実行要求に含まれるセッション識別情報と同一のセッション識別情報のセッションが前記記憶部内にあるか否かを判定し、同一セッション識別情報を持つセッションが前記記憶部内にある場合、当該セッション識別情報を使用して当該セッション実行要求を発行した端末装置とのセッションを確立することを特徴とするセッション確立方法。
  7.  端末装置が使用するセッション毎に、当該セッションが確立済みであるか否かを示す確立済み情報と、当該セッションが確立処理中であるか否かを示す確立中情報とを対応付けて記憶部に記憶する記憶手順と、
     前記端末装置からセッション開始要求を受信すると、確立済みでない旨を前記確立済み情報が示すセッションが前記記憶部内にあるか否かを判定し、確立済みではないセッションがある場合に、当該セッションに対応した確立中情報が確立処理中でない旨を示しているか否かを判定する情報判定手順と、
     前記セッションに対応した確立中情報が前記確立処理中でない旨を示している場合、当該セッション開始要求を発行した端末装置に対して当該セッションを割り当てる割当制御手順と、
     前記セッション開始要求を発行した端末装置に対して当該セッションを割り当てた場合、当該セッションに対応付けて、当該セッションを識別するセッション識別情報及び当該端末装置を識別する端末識別情報を登録すると共に、当該セッションに対応した確立中情報を確立処理中である旨に登録する情報登録手順と、
     端末装置からセッション実行要求を受信すると、当該セッション実行要求に含まれるセッション識別情報と同一のセッション識別情報のセッションが前記記憶部内にあるか否かを判定し、同一セッション識別情報を持つセッションがある場合、当該セッション識別情報を使用して当該セッション実行要求を発行した端末装置とのセッションを確立する制御手順と
    を含むプログラムをコンピュータ装置に実行させることを特徴とするセッション確立プログラム。
PCT/JP2010/064640 2010-08-27 2010-08-27 セッション確立装置、セッション確立方法及びセッション確立プログラム WO2012026042A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP10856444.4A EP2610756A4 (en) 2010-08-27 2010-08-27 SESSION ESTABLISHING APPARATUS, SESSION SETTING METHOD, AND SESSION SETTING PROGRAM
PCT/JP2010/064640 WO2012026042A1 (ja) 2010-08-27 2010-08-27 セッション確立装置、セッション確立方法及びセッション確立プログラム
JP2012530499A JP5534014B2 (ja) 2010-08-27 2010-08-27 セッション確立装置、セッション確立方法及びセッション確立プログラム
US13/777,029 US20130173814A1 (en) 2010-08-27 2013-02-26 Session establishing device, session establishing method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/064640 WO2012026042A1 (ja) 2010-08-27 2010-08-27 セッション確立装置、セッション確立方法及びセッション確立プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/777,029 Continuation US20130173814A1 (en) 2010-08-27 2013-02-26 Session establishing device, session establishing method, and recording medium

Publications (1)

Publication Number Publication Date
WO2012026042A1 true WO2012026042A1 (ja) 2012-03-01

Family

ID=45723069

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/064640 WO2012026042A1 (ja) 2010-08-27 2010-08-27 セッション確立装置、セッション確立方法及びセッション確立プログラム

Country Status (4)

Country Link
US (1) US20130173814A1 (ja)
EP (1) EP2610756A4 (ja)
JP (1) JP5534014B2 (ja)
WO (1) WO2012026042A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021085259A1 (ja) * 2019-10-31 2021-05-06 日本電気株式会社 無線端末及びその方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002359637A (ja) 2001-03-27 2002-12-13 Fujitsu Ltd パケット中継処理装置
JP2006191541A (ja) * 2004-12-08 2006-07-20 Hitachi Communication Technologies Ltd パケット転送装置
JP2007201688A (ja) 2006-01-25 2007-08-09 Konica Minolta Business Technologies Inc データ通信装置及びデータ通信処理プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097597A1 (en) * 2003-10-31 2005-05-05 Pedlow Leo M.Jr. Hybrid storage of video on demand content
JP4168052B2 (ja) * 2005-04-01 2008-10-22 株式会社日立製作所 管理サーバ
US7899024B2 (en) * 2007-02-28 2011-03-01 Intel Corporation Method and apparatus to support VoIP calls in an IEEE 802.16 interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002359637A (ja) 2001-03-27 2002-12-13 Fujitsu Ltd パケット中継処理装置
JP2006191541A (ja) * 2004-12-08 2006-07-20 Hitachi Communication Technologies Ltd パケット転送装置
JP2007201688A (ja) 2006-01-25 2007-08-09 Konica Minolta Business Technologies Inc データ通信装置及びデータ通信処理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2610756A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021085259A1 (ja) * 2019-10-31 2021-05-06 日本電気株式会社 無線端末及びその方法
JP7448279B2 (ja) 2019-10-31 2024-03-12 日本電気株式会社 無線端末及びその方法

Also Published As

Publication number Publication date
JPWO2012026042A1 (ja) 2013-10-28
US20130173814A1 (en) 2013-07-04
JP5534014B2 (ja) 2014-06-25
EP2610756A1 (en) 2013-07-03
EP2610756A4 (en) 2014-03-26

Similar Documents

Publication Publication Date Title
US7287077B2 (en) Reservation of TCP/UDP ports using UID, GID or process name
US10445476B2 (en) License sharing method and apparatus
US8184631B2 (en) Method for specifying a MAC identifier for a network-interface-device
EP2950484B1 (en) Device control method, network device, and network system
JP2002026944A (ja) 装置共用および調停のための方法および装置
JP5477047B2 (ja) 情報処理装置、仮想計算機接続方法、プログラム及び記録媒体
CN111464454B (zh) 一种数据中心内虚拟bras设备负载分担方法及系统
CN104683295B (zh) 数据包过滤规则配置方法、装置及系统
KR100953595B1 (ko) 홈네트워크 서비스 품질 관리 시스템
KR20190091636A (ko) 디바이스의 정보 획득 장치 및 방법
US20230115472A1 (en) Device isolation service
CN101841813A (zh) 防攻击的无线控制系统
JP5534014B2 (ja) セッション確立装置、セッション確立方法及びセッション確立プログラム
JP3562995B2 (ja) サービス品質管理装置
KR100431372B1 (ko) 파이버 채널 중재 루프에서의 공정한 가변 액세스 방법
CN113014565B (zh) 实现防端口扫描的零信任架构及服务端口访问方法和设备
US7461140B2 (en) Method and apparatus for identifying IPsec security policy in iSCSI
EP1244265A2 (en) Integrated policy implementation service for communication network
US20080082664A1 (en) Resource selection
CN113438781A (zh) 控制方法、控制装置及照明系统
US8730811B2 (en) Managing network traffic
WO2018016798A1 (ko) 클라이언트 단말의 보안성을 관리하는 보안 관리 장치 및 보안 관리 방법
KR102202009B1 (ko) L2 스위치의 자동개통 방법 및 이를 이용하는 ip a-sdn
US7346767B2 (en) Method and apparatus for managing resource access in configuring a plurality of computers
US20050162424A1 (en) Computer product, session management method, and session management apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10856444

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012530499

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2010856444

Country of ref document: EP