(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-20
(45)【発行日】2023-07-28
(54)【発明の名称】サーバ装置及びネットワークシステム
(51)【国際特許分類】
G06F 11/14 20060101AFI20230721BHJP
G06F 11/34 20060101ALI20230721BHJP
G06F 11/30 20060101ALI20230721BHJP
G06F 3/06 20060101ALI20230721BHJP
【FI】
G06F11/14 664
G06F11/34 176
G06F11/30 140A
G06F3/06 304Z
(21)【出願番号】P 2019051465
(22)【出願日】2019-03-19
【審査請求日】2021-09-16
(73)【特許権者】
【識別番号】000136136
【氏名又は名称】株式会社PFU
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】中山 兼史朗
【審査官】坂東 博司
(56)【参考文献】
【文献】特開2001-325124(JP,A)
【文献】特開2005-301857(JP,A)
【文献】特開2010-141105(JP,A)
【文献】再公表特許第2016/129275(JP,A1)
【文献】特開2015-069328(JP,A)
【文献】特開2007-102649(JP,A)
【文献】特開2008-123444(JP,A)
【文献】特開2004-005068(JP,A)
【文献】特開2014-029619(JP,A)
【文献】再公表特許第2013/145222(JP,A1)
【文献】特開2018-164179(JP,A)
【文献】特開2014-186624(JP,A)
【文献】特開2014-170379(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/14
G06F 11/34
G06F 11/30
G06F 3/06
(57)【特許請求の範囲】
【請求項1】
第一サーバ装置及び第二サーバ装置と接続されたサーバ装置であって、
オペレーティングシステムを実行する第一プロセッサと、
前記第一プロセッサによって使用される第一記憶部であって、第一記憶容量を有する前記第一記憶部と、
前記サーバ装置を管理する管理プログラムを実行する第二プロセッサと、
前記第二プロセッサによって使用される第二記憶部であって、前記第一記憶容量より小さい第二記憶容量を有する前記第二記憶部と、を具備し、
前記第二プロセッサは、
前記第二記憶部に記憶されている記憶データの退避が必要であるときに前記第一サーバ装置及び前記第二サーバ装置と通信を行い、
前記記憶データの退避先である退避先サーバ装置を選定する際に、前記第一サーバ装置及び前記第二サーバ装置を含む他のサーバ装置のうち、過去に前記退避先サーバ装置として選定したことがあ
り、かつ、プロセッサ使用率及びメモリ使用率の双方が閾値未満のサーバ装置を今回の前記退避先サーバ装置として選定し、
選定した前記退避先サーバ装置へ前記記憶データを送信する、
サーバ装置。
【請求項2】
第一サーバ装置と、第二サーバ装置と、第三サーバ装置とが互いに接続されたネットワークシステムであって、
前記第一サーバ装置は、前記第一サーバ装置に記憶されている第一データの退避が必要であるときに前記第二サーバ装置及び前記第三サーバ装置と通信を行い、
前記第一データの退避先である退避先サーバ装置を選定する際に、前記第二サーバ装置及び前記第三サーバ装置を含む他のサーバ装置のうち、過去に前記退避先サーバ装置として選定したことがあ
り、かつ、プロセッサ使用率及びメモリ使用率の双方が閾値未満のサーバ装置を今回の前記退避先サーバ装置として選定し、選定した前記退避先サーバ装置へ前記第一データを送信し、
前記退避先サーバ装置は、前記第一データを受信し、受信した前記第一データを保存する、
ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、サーバ装置及びネットワークシステムに関する。
【背景技術】
【0002】
オペレーティングシステムを実行する第一プロセッサと、自装置を管理するプログラム(以下では「管理プログラム」と呼ぶことがある)を実行する第二プロセッサとの2つのプロセッサを有するサーバ装置が知られている。オペレーティングシステムの一例としてLinux(登録商標)が挙げられ、管理プログラムの一例としてBMC(Base Management Controller)が挙げられる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2001-325124号公報
【文献】特開2013-109722号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、管理プログラムを実行する第二プロセッサによって使用されるメモリ(以下では「第二メモリ」と呼ぶことがある)の記憶容量は小さいため、第二メモリに多くのデータを残すことは困難である。
【0005】
開示の技術は、上記に鑑みてなされたものであって、第二メモリに記憶されているデータを安全に退避することを目的とする。
【課題を解決するための手段】
【0006】
開示の態様では、第一サーバ装置及び第二サーバ装置と接続されたサーバ装置は、第一プロセッサと、第一記憶部と、第二プロセッサと、第二記憶部とを有する。前記第一プロセッサは、オペレーティングシステムを実行する。前記第二記憶部は、前記第一プロセッサによって使用され、第一記憶容量を有する。前記第二プロセッサは、前記サーバ装置を管理する管理プログラムを実行する。前記第二記憶部は、前記第二プロセッサによって使用され、前記第一記憶容量より小さい第二記憶容量を有する。前記第二プロセッサは、前記第二記憶部に記憶されている記憶データの退避が必要であるときに前記第一サーバ装置及び前記第二サーバ装置と通信を行い、前記通信の通信結果に基づいて、前記第一サーバ装置及び前記第二サーバ装置の中から前記記憶データの退避先である退避先サーバ装置を選定する。そして、前記第二プロセッサは、選定した前記退避先サーバ装置へ前記記憶データを送信する。
【発明の効果】
【0007】
開示の態様によれば、第二メモリに記憶されているデータを安全に退避することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施例1のネットワークシステムの構成例を示す図である。
【
図2】
図2は、実施例1のサーバ装置の構成例を示す図である。
【
図3】
図3は、実施例1のネットワークシステムの処理シーケンスの一例を示す図である。
【
図4】
図4は、実施例1のネットワークシステムの処理シーケンスの一例を示す図である。
【発明を実施するための形態】
【0009】
以下に、本願の開示するサーバ装置及びネットワークシステムの実施例を図面に基づいて説明する。なお、この実施例により本願の開示するサーバ装置及びネットワークシステムが限定されるものではない。また、実施例において同一の機能を有する構成には同一の符号を付す。
【0010】
[実施例1]
<ネットワークシステムの構成>
図1は、実施例1のネットワークシステムの構成例を示す図である。
図1において、ネットワークシステム100は、例えば、サーバ装置SA,SB,SC,SD,SE,SFの6台のサーバ装置を有する。サーバ装置SA,SB,SC,SD,SE,SFはLAN(Local Area Network)101を介して相互に接続されており相互に通信することが可能である。
【0011】
<サーバ装置の構成>
図2は、実施例1のサーバ装置の構成例を示す図である。
図2に示すように、サーバ装置SA,SB,SC,SD,SE,SFは同一の構成を採る。
【0012】
すなわち、サーバ装置SAは、NIC(Network Interface Card)5Aと、第一プロセッサP1Aと、ディスクドライブ7Aと、第一メモリM1Aと、第二プロセッサP2Aと、第二メモリM2Aとを有する。第一プロセッサP1Aはオペレーティングシステムを実行し、第二プロセッサP2Aは管理プログラムを実行する。第一プロセッサP1Aと第二プロセッサP2Aとは、NIC5Aを介して相互に通信可能である。また、NIC5Aは、LAN101と、第一プロセッサP1Aと、第二プロセッサP2Aとに接続され、第一プロセッサP1A及び第二プロセッサP2Aは、NIC5Aを介して他のサーバ装置SB,SC,SD,SE,SFと通信可能である。ディスクドライブ7A及び第一メモリM1Aは、第一プロセッサP1Aによって使用され、第二メモリM2Aは、第二プロセッサP2Aによって使用される。第一メモリM1A及び第二メモリM2Aの記憶容量は、ディスクドライブ7Aの記憶容量より小さい。
【0013】
また、サーバ装置SBは、NIC5B、第一プロセッサP1Bと、ディスクドライブ7Bと、第一メモリM1Bと、第二プロセッサP2Bと、第二メモリM2Bとを有する。第一プロセッサP1Bはオペレーティングシステムを実行し、第二プロセッサP2Bは管理プログラムを実行する。第一プロセッサP1Bと第二プロセッサP2Bとは、NIC5Bを介して相互に通信可能である。また、NIC5Bは、LAN101と、第一プロセッサP1Bと、第二プロセッサP2Bとに接続され、第一プロセッサP1B及び第二プロセッサP2Bは、NIC5Bを介して他のサーバ装置SA,SC,SD,SE,SFと通信可能である。ディスクドライブ7B及び第一メモリM1Bは、第一プロセッサP1Bによって使用され、第二メモリM2Bは、第二プロセッサP2Bによって使用される。第一メモリM1B及び第二メモリM2Bの記憶容量は、ディスクドライブ7Bの記憶容量より小さい。
【0014】
また、サーバ装置SCは、NIC5C、第一プロセッサP1Cと、ディスクドライブ7Cと、第一メモリM1Cと、第二プロセッサP2Cと、第二メモリM2Cとを有する。第一プロセッサP1Cはオペレーティングシステムを実行し、第二プロセッサP2Cは管理プログラムを実行する。第一プロセッサP1Cと第二プロセッサP2Cとは、NIC5Cを介して相互に通信可能である。また、NIC5Cは、LAN101と、第一プロセッサP1Cと、第二プロセッサP2Cとに接続され、第一プロセッサP1C及び第二プロセッサP2Cは、NIC5Cを介して他のサーバ装置SA,SB,SD,SE,SFと通信可能である。ディスクドライブ7C及び第一メモリM1Cは、第一プロセッサP1Cによって使用され、第二メモリM2Cは、第二プロセッサP2Cによって使用される。第一メモリM1C及び第二メモリM2Cの記憶容量は、ディスクドライブ7Cの記憶容量より小さい。
【0015】
また、サーバ装置SDは、NIC5D、第一プロセッサP1Dと、ディスクドライブ7Dと、第一メモリM1Dと、第二プロセッサP2Dと、第二メモリM2Dとを有する。第一プロセッサP1Dはオペレーティングシステムを実行し、第二プロセッサP2Dは管理プログラムを実行する。第一プロセッサP1Dと第二プロセッサP2Dとは、NIC5Dを介して相互に通信可能である。また、NIC5Dは、LAN101と、第一プロセッサP1Dと、第二プロセッサP2Dとに接続され、第一プロセッサP1D及び第二プロセッサP2Dは、NIC5Dを介して他のサーバ装置SA,SB,SC,SE,SFと通信可能である。ディスクドライブ7D及び第一メモリM1Dは、第一プロセッサP1Dによって使用され、第二メモリM2Dは、第二プロセッサP2Dによって使用される。第一メモリM1D及び第二メモリM2Dの記憶容量は、ディスクドライブ7Dの記憶容量より小さい。
【0016】
また、サーバ装置SEは、NIC5E、第一プロセッサP1Eと、ディスクドライブ7Eと、第一メモリM1Eと、第二プロセッサP2Eと、第二メモリM2Eとを有する。第一プロセッサP1Eはオペレーティングシステムを実行し、第二プロセッサP2Eは管理プログラムを実行する。第一プロセッサP1Eと第二プロセッサP2Eとは、NIC5Eを介して相互に通信可能である。また、NIC5Eは、LAN101と、第一プロセッサP1Eと、第二プロセッサP2Eとに接続され、第一プロセッサP1E及び第二プロセッサP2Eは、NIC5Eを介して他のサーバ装置SA,SB,SC,SD,SFと通信可能である。ディスクドライブ7E及び第一メモリM1Eは、第一プロセッサP1Eによって使用され、第二メモリM2Eは、第二プロセッサP2Eによって使用される。第一メモリM1E及び第二メモリM2Eの記憶容量は、ディスクドライブ7Eの記憶容量より小さい。
【0017】
また、サーバ装置SFは、NIC5F、第一プロセッサP1Fと、ディスクドライブ7Fと、第一メモリM1Fと、第二プロセッサP2Fと、第二メモリM2Fとを有する。第一プロセッサP1Fはオペレーティングシステムを実行し、第二プロセッサP2Fは管理プログラムを実行する。第一プロセッサP1Fと第二プロセッサP2Fとは、NIC5Fを介して相互に通信可能である。また、NIC5Fは、LAN101と、第一プロセッサP1Fと、第二プロセッサP2Fとに接続され、第一プロセッサP1F及び第二プロセッサP2Fは、NIC5Fを介して他のサーバ装置SA,SB,SC,SD,SEと通信可能である。ディスクドライブ7F及び第一メモリM1Fは、第一プロセッサP1Fによって使用され、第二メモリM2Fは、第二プロセッサP2Fによって使用される。第一メモリM1F及び第二メモリM2Fの記憶容量は、ディスクドライブ7Fの記憶容量より小さい。
【0018】
以下では、第一プロセッサP1A,P1B,P1C,P1D,P1E,P1Fを「第一プロセッサP1」と総称し、第二プロセッサP2A,P2B,P2C,P2D,P2E,P2Fを「第二プロセッサP2」と総称することがある。また以下では、ディスクドライブ7A,7B,7C,7D,7E,7Fを「ディスクドライブ7」と総称し、第一メモリM1A,M1B,M1C,M1D,M1E,M1Fを「第一メモリM1」と総称し、第二メモリM2A,M2B,M2C,M2D,M2E,M2Fを「第二メモリM2」と総称することがある。また以下では、NIC5A,5B,5C,5D,5E,5Fを「NIC5」と総称することがある。また以下では、サーバ装置SA,SB,SC,SD,SE,SFを「サーバ装置SS」と総称することがある。
【0019】
第一プロセッサP1が実行するオペレーティングシステムの一例としてLinux(登録商標)が挙げられ、第二プロセッサP2が実行する管理プログラムの一例としてBMCが挙げられる。また、ディスクドライブ7の一例として、HDD(Hard Disk Drive)、SSD(Solid State Drive)等が挙げられる。また、第一メモリM1及び第二メモリM2の一例として、SDRAM(Synchronous Dynamic Random Access Memory)等のRAM(Random Access Memory)、フラッシュメモリ等が挙げられる。また、ディスクドライブ7は、第一メモリM1及び第二メモリM2より記憶容量が大きい記憶部の一例であり、第一メモリM1及び第二メモリM2は、ディスクドライブ7より記憶容量が小さい記憶部の一例である。
【0020】
また、第一メモリM1に記憶されるデータ(以下では「第一記憶データ」と呼ぶことがある)の一例として、第一プロセッサP1により取得されたBIOSのイベントログのデータ(以下では「BIOSログデータ」と呼ぶことがある)が挙げられる。また、第二メモリM2に記憶されるデータ(以下では「第二記憶データ」と呼ぶことがある)の一例として、第一プロセッサP1によって第一メモリM1から転送されたBIOSログデータが挙げられる。
【0021】
また、第一プロセッサP1は、サーバ装置SSのDC電源がオンにされていなければ動作できないのに対し、第二プロセッサP2は、サーバ装置SSにAC電源が供給されていればサーバ装置SSのDC電源がオンにされていなくても(つまり、DC電源がオフであっても)動作可能である。
【0022】
また、第二プロセッサP2は、第一プロセッサP1の動作を監視して第一プロセッサP1によるオペレーティングシステムの起動が成功したか否かを判定することが可能である。
【0023】
<ネットワークシステムの処理>
図3及び
図4は、実施例1のネットワークシステムの処理シーケンスの一例を示す図である。
図3及び
図4は符号(1)~(10)によって左右で結合され、一体としてネットワークシステム100の処理シーケンスの一例を示す。
図3及び
図4において、「(B)」はブロードキャスト通信を示し、「(U)」はユニキャスト通信を示す。
【0024】
また、
図3及び
図4において、サーバ装置SAは、第二記憶データの退避元のサーバ装置である。
図3及び
図4に示す処理シーケンスは、サーバ装置SAの電源ボタンがオペレータによってオンにされることによりサーバ装置SAのDC電源がオンにされたときに開始される。
【0025】
ステップS201では、第二プロセッサP2Aが、第二メモリM2Aに記憶されている第二記憶データの退避が必要であるか否かを判定するための条件(以下では「退避条件CA」と呼ぶことがある)に合致するか否かを判定する。退避条件CAの一例として、第二メモリM2Aの空き容量が閾値TH2未満であること、または、サーバ装置SAのDC電源がオンにされたにもかかわらず第一プロセッサP1Aによるオペレーティングシステムの起動が失敗したことが挙げられる。第二プロセッサP2Aは、第二メモリM2Aの空き容量が閾値TH2未満である場合、または、サーバ装置SAのDC電源がオンにされたにもかかわらず第一プロセッサP1Aによるオペレーティングシステムの起動が失敗した場合には(ステップS201:Yes)、処理をステップS203へ進める。一方で、第二メモリM2Aの空き容量が閾値TH2以上であり、かつ、サーバ装置SAのDC電源がオンにされたことにより第一プロセッサP1Aによるオペレーティングシステムの起動が成功した場合には、ステップS203以降の処理は行われず、DC電源がオンにされた状態でサーバ装置SAは待機する。
【0026】
ステップS203では、第二プロセッサP2Aは、第二記憶データの退避要求パケット(B)01をブロードキャストで送信する。退避要求パケット(B)01には退避要求パケット(B)01の送信元を示す情報としてサーバ装置SAのIPアドレスが含まれる。退避要求パケット(B)01は、サーバ装置SB,SC,SD,SE,SFによって受信される。ここで、サーバ装置SB,SC,SDのDC電源はオフの状態にあり、サーバ装置SE,SFのDC電源はオンの状態にあるとする。よって、サーバ装置SBでは、第二プロセッサP2Bが退避要求パケット(B)01を受信し、サーバ装置SCでは、第二プロセッサP2Cが退避要求パケット(B)01を受信し、サーバ装置SDでは、第二プロセッサP2Dが退避要求パケット(B)01を受信する。また、サーバ装置SEでは、第一プロセッサP1Eが退避要求パケット(B)01を受信し、サーバ装置SFでは、第一プロセッサP1Fが退避要求パケット(B)01を受信する。
【0027】
ここで、サーバ装置SA,SB,SC,SD,SE,SFのうち、サーバ装置SA,SB,SC,SD,SEについては、他のサーバ装置に記憶されている第二記憶データの退避先の候補になることが可能なサーバ装置(以下では「退避先候補サーバ装置」と呼ぶことがある)であることがディスクドライブ7または第一メモリM1、及び、第二メモリM2に予め設定されている。一方で、サーバ装置SFは、退避先候補サーバ装置に設定されていない。
【0028】
そこで、ステップS205では、第二プロセッサP2Bが、退避要求パケット(B)01に対する退避応答パケット(U)02をユニキャストでサーバ装置SAへ送信する。退避応答パケット(U)02には退避応答パケット(U)02の送信元を示す情報としてサーバ装置SBのIPアドレスが含まれる。
【0029】
また、ステップS207では、第二プロセッサP2Cが、退避要求パケット(B)01に対する退避応答パケット(U)03をユニキャストでサーバ装置SAへ送信する。退避応答パケット(U)03には退避応答パケット(U)03の送信元を示す情報としてサーバ装置SCのIPアドレスが含まれる。
【0030】
また、ステップS209では、第二プロセッサP2Dが、退避要求パケット(B)01に対する退避応答パケット(U)04をユニキャストでサーバ装置SAへ送信する。退避応答パケット(U)04には退避応答パケット(U)04の送信元を示す情報としてサーバ装置SDのIPアドレスが含まれる。
【0031】
また、ステップS211では、第一プロセッサP1Eが、退避要求パケット(B)01に対する退避応答パケット(U)05をユニキャストでサーバ装置SAへ送信する。退避応答パケット(U)05には退避応答パケット(U)05の送信元を示す情報としてサーバ装置SEのIPアドレスが含まれる。
【0032】
一方で、サーバ装置SFは退避先候補サーバ装置ではないため、第一プロセッサP1Fは、退避要求パケット(B)01に対する退避応答を送信しない。以降、サーバ装置SFについての処理の説明は省略する。
【0033】
退避応答パケット(U)02、退避応答パケット(U)03、退避応答パケット(U)04、及び、退避応答パケット(U)05は、第二プロセッサP2Aによって受信される。
【0034】
次いで、ステップS213では、ステップS205で退避応答パケット(U)02を受信した第二プロセッサP2Aは、起動要求パケット(U)02をユニキャストでサーバ装置SBへ送信し、起動要求パケット(U)02は第二プロセッサP2Bによって受信される。起動要求パケット(U)02には起動要求パケット(U)02の送信元を示す情報としてサーバ装置SAのIPアドレスが含まれる。
【0035】
また、ステップS215では、ステップS207で退避応答パケット(U)03を受信した第二プロセッサP2Aは、起動要求パケット(U)03をユニキャストでサーバ装置SCへ送信し、起動要求パケット(U)03は第二プロセッサP2Cによって受信される。起動要求パケット(U)03には起動要求パケット(U)03の送信元を示す情報としてサーバ装置SAのIPアドレスが含まれる。
【0036】
また、ステップS217では、ステップS209で退避応答パケット(U)04を受信した第二プロセッサP2Aは、起動要求パケット(U)04をユニキャストでサーバ装置SDへ送信し、起動要求パケット(U)04は第二プロセッサP2Dによって受信される。起動要求パケット(U)04には起動要求パケット(U)04の送信元を示す情報としてサーバ装置SAのIPアドレスが含まれる。
【0037】
また、ステップS219では、ステップS211で退避応答パケット(U)05を受信した第二プロセッサP2Aは、起動要求パケット(U)05をユニキャストでサーバ装置SEへ送信し、起動要求パケット(U)05は第一プロセッサP1Eによって受信される。起動要求パケット(U)05には起動要求パケット(U)05の送信元を示す情報としてサーバ装置SAのIPアドレスが含まれる。
【0038】
ステップS221では、第二プロセッサP2Bは、起動要求パケット(U)02に応じて、サーバ装置SBのDC電源をオンにする。
【0039】
また、ステップS223では、第二プロセッサP2Cは、起動要求パケット(U)03に応じて、サーバ装置SCのDC電源をオンにする。
【0040】
また、ステップS225では、第二プロセッサP2Dは、起動要求パケット(U)04に応じて、サーバ装置SDのDC電源をオンにする。
【0041】
一方で、サーバ装置SEのDC電源は既にオンの状態にあるため、第一プロセッサP1Eは、起動要求パケット(U)05を受信した場合には、処理をステップS237へ進める。
【0042】
次いで、ステップS227では、第二プロセッサP2Bは、第二メモリM2Bに記憶されている第二記憶データの退避が必要であるか否かを判定するための条件(以下では「退避条件CB」と呼ぶことがある)に合致するか否かを判定する。退避条件CBの一例として、第二メモリM2Bの空き容量が閾値TH2未満であること、または、サーバ装置SBのDC電源がオンにされたにもかかわらず第一プロセッサP1Bによるオペレーティングシステムの起動が失敗したことが挙げられる。第二プロセッサP2Bは、第二メモリM2Bの空き容量が閾値TH2以上であり、かつ、サーバ装置SBのDC電源がオンにされたことにより第一プロセッサP1Bによるオペレーティングシステムの起動が成功した場合には(ステップS227:No)、処理をステップS233へ進める。一方で、第二メモリM2Bの空き容量が閾値TH2未満である場合、または、サーバ装置SBのDC電源がオンにされたにもかかわらず第一プロセッサP1Bによるオペレーティングシステムの起動が失敗した場合には、これ以降、サーバ装置SBでは、サーバ装置SDの以下の処理と同様の処理が行われる。
【0043】
また、ステップS229では、第二プロセッサP2Cは、第二メモリM2Cに記憶されている第二記憶データの退避が必要であるか否かを判定するための条件(以下では「退避条件CC」と呼ぶことがある)に合致するか否かを判定する。退避条件CCの一例として、第二メモリM2Cの空き容量が閾値TH2未満であること、または、サーバ装置SCのDC電源がオンにされたにもかかわらず第一プロセッサP1Cによるオペレーティングシステムの起動が失敗したことが挙げられる。第二プロセッサP2Cは、第二メモリM2Cの空き容量が閾値TH2以上であり、かつ、サーバ装置SCのDC電源がオンにされたことにより第一プロセッサP1Cによるオペレーティングシステムの起動が成功した場合には(ステップS229:No)、処理をステップS235へ進める。一方で、第二メモリM2Cの空き容量が閾値TH2未満である場合、または、サーバ装置SCのDC電源がオンにされたにもかかわらず第一プロセッサP1Cによるオペレーティングシステムの起動が失敗した場合には、これ以降、サーバ装置SCでは、サーバ装置SDの以下の処理と同様の処理が行われる。
【0044】
また、ステップS231では、第二プロセッサP2Dが、第二メモリM2Dに記憶されている第二記憶データの退避が必要であるか否かを判定するための条件(以下では「退避条件CD」と呼ぶことがある)に合致するか否かを判定する。退避条件CDの一例として、第二メモリM2Dの空き容量が閾値TH2未満であること、または、サーバ装置SDのDC電源がオンにされたにもかかわらず第一プロセッサP1Dによるオペレーティングシステムの起動が失敗したことが挙げられる。第二プロセッサP2Dは、第二メモリM2Dの空き容量が閾値TH2未満である場合、または、サーバ装置SDのDC電源がオンにされたにもかかわらず第一プロセッサP1Dによるオペレーティングシステムの起動が失敗した場合には(ステップS231:Yes)、第二プロセッサP2Dは、ステップS241で選定結果パケット(B)01が受信されるまで待機する。一方で、第二メモリM2Dの空き容量が閾値TH2以上であり、かつ、サーバ装置SDのDC電源がオンにされたことにより第一プロセッサP1Dによるオペレーティングシステムの起動が成功した場合には、これ以降、サーバ装置SDでは、サーバ装置SB,SCの以下の処理と同様の処理が行われる。ここでは、DC電源がオンにされたにもかかわらず第一プロセッサP1Dによるオペレーティングシステムの起動が失敗したものとする。
【0045】
ステップS221でサーバ装置SBのDC電源がオンにされたため、ステップS233では、オペレーティングシステムの起動に成功した第一プロセッサP1Bが、サーバ装置SBの情報を含む装置情報パケット(U)02をユニキャストでサーバ装置SAへ送信し、装置情報パケット(U)02は第二プロセッサP2Aによって受信される。装置情報パケット(U)02には装置情報パケット(U)02の送信元を示す情報としてサーバ装置SBのIPアドレスが含まれる。また、装置情報パケット(U)02には、サーバ装置SBのシリアル番号、サーバ装置SBに搭載されているBIOSの版数、サーバ装置SBに搭載されているBMCの版数、第一プロセッサP1Bのプロセッサ使用率、第一メモリM1Bのメモリ使用率、及び、ディスクドライブ7Bの空き容量を示す情報が含まれる。
【0046】
また、ステップS223でサーバ装置SCのDC電源がオンにされたため、ステップS235では、オペレーティングシステムの起動に成功した第一プロセッサP1Cが、サーバ装置SCの情報を含む装置情報パケット(U)03をユニキャストでサーバ装置SAへ送信し、装置情報パケット(U)03は第二プロセッサP2Aによって受信される。装置情報パケット(U)03には装置情報パケット(U)03の送信元を示す情報としてサーバ装置SCのIPアドレスが含まれる。また、装置情報パケット(U)03には、サーバ装置SCのシリアル番号、サーバ装置SCに搭載されているBIOSの版数、サーバ装置SCに搭載されているBMCの版数、第一プロセッサP1Cのプロセッサ使用率、第一メモリM1Cのメモリ使用率、及び、ディスクドライブ7Cの空き容量を示す情報が含まれる。
【0047】
また、ステップS219で起動要求パケット(U)05を受信した第一プロセッサP1Eは、ステップS237において、サーバ装置SEの情報を含む装置情報パケット(U)05をユニキャストでサーバ装置SAへ送信し、装置情報パケット(U)05は第二プロセッサP2Aによって受信される。装置情報パケット(U)05には装置情報パケット(U)05の送信元を示す情報としてサーバ装置SEのIPアドレスが含まれる。また、装置情報パケット(U)05には、サーバ装置SEのシリアル番号、サーバ装置SEに搭載されているBIOSの版数、サーバ装置SEに搭載されているBMCの版数、第一プロセッサP1Eのプロセッサ使用率、第一メモリM1Eのメモリ使用率、及び、ディスクドライブ7Eの空き容量を示す情報が含まれる。
【0048】
次いで、ステップS239では、第二プロセッサP2Aは、装置情報パケット(U)02、装置情報パケット(U)03、及び、装置情報パケット(U)05に基づいて、第二メモリM2Aに記憶されている第二記憶データの退避先となるサーバ装置(以下では「退避先サーバ装置」と呼ぶことがある)を、装置情報パケット(U)02、装置情報パケット(U)03、及び、装置情報パケット(U)05の送信元であるサーバ装置SB、サーバ装置SC、及び、サーバ装置SEの中から選定する。
【0049】
例えば、第二プロセッサP2Aは、以下の選定基準C1,C2,C3に従って退避先サーバ装置を選定する。
【0050】
<選定基準C1>
第二プロセッサP2Aは、ディスクドライブ7の空き容量が閾値THD以上で、第一プロセッサP1のプロセッサ使用率が閾値THP未満で、かつ、第一メモリM1のメモリ使用率が閾値TH1未満であるサーバ装置SSを退避先サーバ装置として選定する。
【0051】
<選定基準C2>
第二プロセッサP2Aは、選定基準C1に従って選定した退避先サーバ装置が複数存在する場合には、選定した複数の退避先サーバ装置の中で、第二プロセッサP2Aが最も早く受信した装置情報パケット(U)の送信元のサーバ装置SSを最終的な退避先サーバ装置として選定する。
【0052】
<選定基準C3>
第二プロセッサP2Aは、選定基準C1に従って選定した退避先サーバ装置が複数存在する場合には、選定した複数の退避先サーバ装置の中で過去に退避先サーバ装置として選定したことがあるサーバ装置SSを今回の最終的な退避先サーバ装置として選定する。
【0053】
なお、第二プロセッサP2Aは、選定基準C1,C2,C3のうち、選定基準C1のみに従って、最終的に複数の退避先サーバ装置を選定しても良い。
【0054】
また、第二プロセッサP2Aは、選定基準C1において、ディスクドライブ7の空き容量、第一プロセッサP1のプロセッサ使用率、及び、第一メモリM1のメモリ使用率のうち少なくとも一つに基づいて退避先サーバ装置を選定しても良い。
【0055】
また、第二プロセッサP2Aは、選定基準C2または選定基準C3の何れかを選定基準C1と組み合わせて用いると良い。
【0056】
また、第二プロセッサP2Aは、選定基準C3に従って、最終的に複数の退避先サーバ装置を選定しても良い。
【0057】
また、第二プロセッサP2Aは、選定基準C3に従って選定した退避先サーバ装置が複数存在する場合には、選定基準C3に従って選定した複数の退避先サーバ装置にさらに選定基準C2を適用して最終的に1つの退避先サーバ装置を選定しても良い。
【0058】
ここでは、第二プロセッサP2Aにより、サーバ装置SB,SC,SEのうちサーバ装置SBが退避先サーバ装置として選定されたものとする。そこで、ステップS241では、第二プロセッサP2Aは、ステップS239での選定結果を示す選定結果パケット(B)01をブロードキャストで送信し、選定結果パケット(B)01は、第一プロセッサP1B、第一プロセッサP1C、第二プロセッサP2D、及び、第1プロセッサP1Eによって受信される。また、選定結果パケット(B)01には選定結果パケット(B)01の送信元を示す情報としてサーバ装置SAのIPアドレスが含まれる。また、選定結果パケット(B)01には、退避先サーバ装置を示す情報として、サーバ装置SBのシリアル番号、サーバ装置SBに搭載されているBIOSの版数、及び、サーバ装置SBに搭載されているBMCの版数が含まれる。なお、サーバ装置SSに搭載されているBIOSの版数、及び、サーバ装置SSに搭載されているBMCの版数は、通常、サーバ装置SSの機種毎に相違する。また、サーバ装置SSのシリアル番号は、サーバ装置SS毎に固有の番号である。よって、サーバ装置SBのシリアル番号、サーバ装置SBに搭載されているBIOSの版数、及び、サーバ装置SBに搭載されているBMCの版数により、各サーバ装置SSは、サーバ装置SA,SB,SC,SD,SE,SFの中から、退避先サーバ装置であるサーバ装置SBを一意に特定可能である。
【0059】
ステップS241で選定結果パケット(B)01を受信した第一プロセッサP1B、第一プロセッサP1C、第二プロセッサP2D、及び、第1プロセッサP1Eは、受信した選定結果パケット(B)01を参照することにより、サーバ装置SBが退避先サーバ装置として選定されたことを知る。
【0060】
そこで、ステップS243では、ステップS235で装置情報パケット(U)03を送信したにもかからず退避先サーバ装置として選定されなかったサーバ装置SCの第一プロセッサP1Cは、サーバ装置SCのDC電源をオフにする。これにより、サーバ装置SCの処理は終了する。
【0061】
同様に、ステップS245では、ステップS237で装置情報パケット(U)05を送信したにもかからず退避先サーバ装置として選定されなかったサーバ装置SEの第一プロセッサP1Eは、サーバ装置SEのDC電源をオフにする。これにより、サーバ装置SEの処理は終了する。
【0062】
一方で、ステップS247では、退避先サーバ装置として選定されたサーバ装置SBの第一プロセッサP1Bは、選定結果パケット(B)01に応じて、サーバ装置SB以外の他のサーバ装置SSからサーバ装置SBへの第二記憶データの送信を許可することを示す許可応答パケット(B)02をブロードキャストで送信する。許可応答パケット(B)02には許可応答パケット(B)02の送信元を示す情報としてサーバ装置SBのIPアドレスが含まれる。また、許可応答パケット(B)02には、退避先サーバ装置を示す情報として、サーバ装置SBのシリアル番号、サーバ装置SBに搭載されているBIOSの版数、及び、サーバ装置SBに搭載されているBMCの版数が含まれる。許可応答パケット(B)02は、第二プロセッサP2A及び第二プロセッサP2Dによって受信される。
【0063】
ステップS247で許可応答パケット(B)02を受信した第二プロセッサP2Aは、ステップS249において、第二メモリM2Aに記憶されている第二記憶データを含むデータパケット(U)01をユニキャストでサーバ装置SBへ送信する。第二プロセッサP2Aから送信されたデータパケット(U)01は、第一プロセッサP1Bによって受信される。第二プロセッサP2Aから送信されるデータパケット(U)01には、データパケット(U)01の送信元を示す情報としてサーバ装置SAのIPアドレスが含まれる。また、第二プロセッサP2Aから送信されるデータパケット(U)01には、サーバ装置SAのシリアル番号、サーバ装置SAに搭載されているBIOSの版数、及び、サーバ装置SAに搭載されているBMCの版数が含まれる。
【0064】
また、DC電源がオンにされたにもかかわらず第一プロセッサP1Dによるオペレーティングシステムの起動が失敗したものとステップS231で判定し、かつ、ステップS247で許可応答パケット(B)02を受信した第二プロセッサP2Dは、ステップS251において、第二メモリM2Dに記憶されている第二記憶データを含むデータパケット(U)04をユニキャストでサーバ装置SBへ送信する。第二プロセッサP2Dから送信されたデータパケット(U)04は、第一プロセッサP1Bによって受信される。第二プロセッサP2Dから送信されるデータパケット(U)04には、データパケット(U)04の送信元を示す情報としてサーバ装置SDのIPアドレスが含まれる。また、第二プロセッサP2Dから送信されるデータパケット(U)04には、サーバ装置SDのシリアル番号、サーバ装置SDに搭載されているBIOSの版数、及び、サーバ装置SDに搭載されているBMCの版数が含まれる。
【0065】
次いで、ステップS253では、第一プロセッサP1Bは、ステップS249でサーバ装置SAから受信したデータパケット(U)01からサーバ装置SAの第二記憶データを抽出し、抽出した第二記憶データを、サーバ装置SAのシリアル番号、サーバ装置SAに搭載されているBIOSの版数、及び、サーバ装置SAに搭載されているBMCの版数と対応付けてディスクドライブ7Bに保存する。また、ステップS253では、第一プロセッサP1Bは、ステップS251でサーバ装置SDから受信したデータパケット(U)04からサーバ装置SDの第二記憶データを抽出し、抽出した第二記憶データを、サーバ装置SDのシリアル番号、サーバ装置SDに搭載されているBIOSの版数、及び、サーバ装置SDに搭載されているBMCの版数と対応付けてディスクドライブ7Bに保存する。
【0066】
次いで、ステップS255では、第一プロセッサP1Bは、サーバ装置SAから受信した第二記憶データの保存を完了したことを示す保存完了パケット(U)01をユニキャストでサーバ装置SAへ送信する。保存完了パケット(U)01には保存完了パケット(U)01の送信元を示す情報としてサーバ装置SBのIPアドレスが含まれる。
【0067】
また、ステップS257では、第一プロセッサP1Bは、サーバ装置SDから受信した第二記憶データの保存を完了したことを示す保存完了パケット(U)04をユニキャストでサーバ装置SDへ送信する。保存完了パケット(U)04には保存完了パケット(U)04の送信元を示す情報としてサーバ装置SBのIPアドレスが含まれる。
【0068】
第一プロセッサP1Bは、保存完了パケット(U)01及び保存完了パケット(U)04の送信後、ステップS259において、サーバ装置SBのDC電源をオフにする。これにより、サーバ装置SBの処理は終了する。
【0069】
次いで、ステップS261では、ステップS255で保存完了パケット(U)01を受信した第二プロセッサP2Aは、第二メモリM2Aに記憶されている第二記憶データを消去する。そして、ステップS263では、第二プロセッサP2Aは、サーバ装置SAのDC電源をオフにする。これにより、サーバ装置SAの処理は終了する。
【0070】
また、ステップS265では、ステップS257で保存完了パケット(U)04を受信した第二プロセッサP2Dは、第二メモリM2Dに記憶されている第二記憶データを消去する。そして、ステップS267では、第二プロセッサP2Dは、サーバ装置SDのDC電源をオフにする。これにより、サーバ装置SDの処理は終了する。
【0071】
なお、第二プロセッサP2Aは、ステップS249でデータパケット(U)01をサーバ装置SBへ送信してから所定時間以内(例えば、1分以内)にサーバ装置SBから保存完了パケット(U)01が受信されない場合には、データパケット(U)01をサーバ装置SBへ再送しても良い。
【0072】
以上のように、実施例1では、ネットワークシステム100において、サーバ装置SA,SB,SC,SD,SE,SFはLAN101を介して相互に接続されている。サーバ装置SAは、第一プロセッサP1Aと、ディスクドライブ7Aと、第二プロセッサP2Aと、第二メモリM2Aとを有する。第一プロセッサP1Aは、オペレーティングシステムを実行する。ディスクドライブ7Aは、第一プロセッサP1Aによって使用される。第二プロセッサP2Aは、管理プログラムを実行する。第二メモリM2Aは、第二プロセッサP2Aによって使用される。第二メモリM2Aの記憶容量は、ディスクドライブ7Aの記憶容量より小さい。第二プロセッサP2Aは、第二メモリM2Aに記憶されている第二記憶データの退避が必要であるときに複数の他のサーバ装置と通信を行い、通信結果に基づいて、複数の他のサーバ装置の中から退避先サーバ装置を選定し、選定した退避先サーバ装置へ、第二メモリM2Aに記憶されている第二記憶データを送信する。
【0073】
このように、サーバ装置SAは、第二メモリM2Aに記憶されている第二記憶データの退避が必要であるときに複数の他のサーバ装置と通信することにより複数の他のサーバ装置の中から退避先サーバ装置を選定する。このため、サーバ装置SAは、第二記憶データの退避が必要であるときの他のサーバ装置の状況に応じて退避先サーバ装置を動的に選定することができる。よって、サーバ装置SAは、第二記憶データを安全に退避することができる。
【0074】
また、実施例1では、第二プロセッサP2Aは、第二メモリM2Aの空き容量が閾値TH2未満であるときに、第二記憶データの退避が必要であると判定する。
【0075】
こうすることで、第二メモリM2Aのオーバーフローを防止できる。
【0076】
また、実施例1では、第二プロセッサP2Aは、サーバ装置SAのDC電源がオンにされときにオペレーティングシステムが起動しない場合に、第二記憶データの退避が必要であると判定する。
【0077】
こうすることで、サーバ装置SAの故障の発生に伴って第二記憶データが失われてしまうことを防止できる。
【0078】
また、実施例1では、第二プロセッサP2Aは、他のサーバ装置の各々のディスクドライブ7の空き容量、プロセッサ使用率、及び、メモリ使用率の少なくとも一つに基づいて退避先サーバ装置を選定する。
【0079】
こうすることで、退避先サーバ装置として最適なサーバ装置を退避先サーバ装置として選定することができる。
【0080】
また、実施例1では、第二プロセッサP2Aは、装置情報パケット(U)をサーバ装置SAへ送信する他のサーバ装置のうち、第二プロセッサ2Aが最も早く受信した装置情報パケット(U)の送信元のサーバ装置を退避先サーバ装置として選定する。
【0081】
こうすることで、サーバ装置SAは、第二メモリM2Aに記憶されている第二記憶データを迅速に退避することができる。
【0082】
また、実施例1では、第二プロセッサP2Aは、過去に退避先サーバ装置として選定したことがあるサーバ装置を今回の退避先サーバ装置として選定する。
【0083】
こうすることで、サーバ装置SAの第二記憶データが複数回に渡って退避先サーバ装置に退避された場合でも、サーバ装置SAの第二記憶データを同一の退避先サーバ装置に退避することができるため、退避された第二記憶データの管理が容易になる。
【0084】
また、実施例1では、第二プロセッサP2Aは、複数のサーバ装置を退避先サーバ装置として選定する。
【0085】
こうすることで、同一の第二記憶データを複数の退避先サーバ装置に退避することが可能になるため、退避された第二記憶データの安全性を高めることができる。
【0086】
また、実施例1では、第二プロセッサP2Aは、第二メモリM2Aに記憶されている第二記憶データを退避先サーバ装置へ送信した後に、第二メモリM2Aから第二記憶データを消去する。
【0087】
こうすることで、退避により第二メモリM2Aに記憶しておくことが不要となった第二記憶データが第二メモリM2Aから消去されるため、新たなデータのために第二メモリM2Aの記憶容量を確保することができる。
【0088】
また、実施例1では、第一プロセッサP1Bは、サーバ装置SAが記憶する第二記憶データの退避先としてサーバ装置SBがサーバ装置SAから選定された場合に、サーバ装置SAから受信した第二記憶データをディスクドライブ7Bに保存する。
【0089】
こうすることで、サーバ装置SBでは、サーバ装置SAから送信された第二記憶データが、第一メモリM1B及び第二メモリM2Bより記憶容量が大きいディスクドライブ7Bに保存されるため、退避先サーバ装置として選定された場合でも、第一メモリM1B及び第二メモリM2Bの空き容量が減少してしまうことを防止できる。
【0090】
また、実施例1では、第二プロセッサP2Dは、退避要求パケット(B)01をサーバ装置SAから受信したときに、第二メモリM2Dに記憶されている第二記憶データの退避が必要であるか否かを判定し、第二メモリM2Dに記憶されている第二記憶データの退避が必要であるときに、サーバ装置SAが選定した退避先サーバ装置へ、第二メモリM2Dに記憶されている第二記憶データを送信する。
【0091】
こうすることで、サーバ装置SDは、サーバ装置SAの第二記憶データの退避に便乗して、サーバ装置SDの第二記憶データを退避することができる。
【0092】
以上、実施例1について説明した。
【0093】
[実施例2]
サーバ装置SSでの上記説明における各処理の全部または一部は、各処理に対応するプログラムを第一プロセッサP1または第二プロセッサP2に実行させることによって実現しても良い。例えば、上記説明における各処理に対応するプログラムがディスクドライブ7、第一メモリM1、または、第二メモリM2に記憶され、プログラムが第一プロセッサP1または第二プロセッサP2によって、ディスクドライブ7、第一メモリM1、または、第二メモリM2から読み出されて実行されても良い。また、プログラムは、任意のネットワークを介してサーバ装置SSに接続されたプログラムサーバに記憶され、そのプログラムサーバからサーバ装置SSにダウンロードされて実行されたり、サーバ装置SSが読み取り可能な記録媒体に記憶され、その記録媒体から読み出されて実行されても良い。サーバ装置SSが読み取り可能な記録媒体には、例えば、メモリカード、USBメモリ、SDカード、フレキシブルディスク、光磁気ディスク、CD-ROM、DVD、及び、Blu-ray(登録商標)ディスク等の可搬の記憶媒体が含まれる。また、プログラムは、任意の言語や任意の記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。また、プログラムは必ずしも単一的に構成されるものに限られず、複数のモジュールや複数のライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものも含む。
【0094】
以上、実施例2について説明した。
【符号の説明】
【0095】
100 ネットワークシステム
SA,SB,SC,SD,SE,SF サーバ装置
5A,5B,5C,5D,5E,5F NIC
P1A,P1B,P1C,P1D,P1E,P1F 第一プロセッサ
7A,7B,7C,7D,7E,7F ディスクドライブ
M1A,M1B,M1C,M1D,M1E,M1F 第一メモリ
P2A,P2B,P2C,P2D,P2E,P2F 第二プロセッサ
M2A,M2B,M2C,M2D,M2E,M2F 第二メモリ