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

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

Info

Publication number
JP5534014B2
JP5534014B2 JP2012530499A JP2012530499A JP5534014B2 JP 5534014 B2 JP5534014 B2 JP 5534014B2 JP 2012530499 A JP2012530499 A JP 2012530499A JP 2012530499 A JP2012530499 A JP 2012530499A JP 5534014 B2 JP5534014 B2 JP 5534014B2
Authority
JP
Japan
Prior art keywords
session
establishment
established
information
request
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2012530499A
Other languages
English (en)
Other versions
JPWO2012026042A1 (ja
Inventor
朋憲 間瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2012026042A1 publication Critical patent/JPWO2012026042A1/ja
Application granted granted Critical
Publication of JP5534014B2 publication Critical patent/JP5534014B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

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

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 (10)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPWO2012026042A1 JPWO2012026042A1 (ja) 2013-10-28
JP5534014B2 true JP5534014B2 (ja) 2014-06-25

Family

ID=45723069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012530499A Expired - Fee Related JP5534014B2 (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)

Families Citing this family (1)

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

Citations (6)

* 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 パケット転送装置
JP2006309698A (ja) * 2005-04-01 2006-11-09 Hitachi Ltd アクセス制御サービス及び制御サーバ
JP2007510360A (ja) * 2003-10-31 2007-04-19 ソニー エレクトロニクス インク ビデオオンデマンドコンテンツのハイブリッドストレージ
JP2007201688A (ja) * 2006-01-25 2007-08-09 Konica Minolta Business Technologies Inc データ通信装置及びデータ通信処理プログラム
JP2010519830A (ja) * 2007-02-28 2010-06-03 インテル コーポレイション Ieee802.16インタフェースでvoip呼をサポートする方法及び装置

Patent Citations (6)

* 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 パケット中継処理装置
JP2007510360A (ja) * 2003-10-31 2007-04-19 ソニー エレクトロニクス インク ビデオオンデマンドコンテンツのハイブリッドストレージ
JP2006191541A (ja) * 2004-12-08 2006-07-20 Hitachi Communication Technologies Ltd パケット転送装置
JP2006309698A (ja) * 2005-04-01 2006-11-09 Hitachi Ltd アクセス制御サービス及び制御サーバ
JP2007201688A (ja) * 2006-01-25 2007-08-09 Konica Minolta Business Technologies Inc データ通信装置及びデータ通信処理プログラム
JP2010519830A (ja) * 2007-02-28 2010-06-03 インテル コーポレイション Ieee802.16インタフェースでvoip呼をサポートする方法及び装置

Also Published As

Publication number Publication date
US20130173814A1 (en) 2013-07-04
JPWO2012026042A1 (ja) 2013-10-28
EP2610756A4 (en) 2014-03-26
WO2012026042A1 (ja) 2012-03-01
EP2610756A1 (en) 2013-07-03

Similar Documents

Publication Publication Date Title
EP2950484B1 (en) Device control method, network device, and network system
US7287077B2 (en) Reservation of TCP/UDP ports using UID, GID or process name
US7590873B2 (en) Power control method and system wherein a management server does not transmit a second power control request to an identified blade server when a management information indicates that a failure is detected in the identified blade server
US8184631B2 (en) Method for specifying a MAC identifier for a network-interface-device
CN108984266B (zh) 一种虚拟机的管理方法、装置及系统
JP5477047B2 (ja) 情報処理装置、仮想計算機接続方法、プログラム及び記録媒体
WO2010137066A1 (ja) 管理システム
US9794154B2 (en) Selective IP address allocation for probes that do not have assigned IP addresses
CN111464454B (zh) 一种数据中心内虚拟bras设备负载分担方法及系统
JP2002026944A (ja) 装置共用および調停のための方法および装置
WO2013078814A1 (zh) Ip地址的分配方法及装置
US9432474B2 (en) Control method, control device, and processor in software defined network
EP4177742A1 (en) Multitenancy management method and apparatus
JP5534014B2 (ja) セッション確立装置、セッション確立方法及びセッション確立プログラム
JP3562995B2 (ja) サービス品質管理装置
CN113014565B (zh) 实现防端口扫描的零信任架构及服务端口访问方法和设备
US7461140B2 (en) Method and apparatus for identifying IPsec security policy in iSCSI
US8438259B2 (en) Web application usage of accessory device directly connected to electronic device in non-networked manner
US20120257502A1 (en) Managing Network Traffic
KR102202009B1 (ko) L2 스위치의 자동개통 방법 및 이를 이용하는 ip a-sdn
CN113647075B (zh) 设备激活方法、终端设备及计算机存储介质
CN116389173B (zh) 一种企业生产网自组网实现方法、系统、介质及设备
EP4149062A1 (en) Deployment method and apparatus for virtualized network service
US7346767B2 (en) Method and apparatus for managing resource access in configuring a plurality of computers
US20220158868A1 (en) Setting apparatus, communication system, setting method, and program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131010

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140401

R150 Certificate of patent or registration of utility model

Ref document number: 5534014

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140414

LAPS Cancellation because of no payment of annual fees