(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-12-12
(45)【発行日】2023-12-20
(54)【発明の名称】管理システム及びサブ基板
(51)【国際特許分類】
G06F 1/26 20060101AFI20231213BHJP
G06F 1/24 20060101ALI20231213BHJP
G06F 11/07 20060101ALI20231213BHJP
G06F 11/14 20060101ALI20231213BHJP
H04L 43/0876 20220101ALI20231213BHJP
【FI】
G06F1/26
G06F1/24 Z
G06F11/07 193
G06F11/14 638
H04L43/0876
(21)【出願番号】P 2023083972
(22)【出願日】2023-05-22
【審査請求日】2023-05-22
【早期審査対象出願】
(73)【特許権者】
【識別番号】000163419
【氏名又は名称】株式会社きんでん
(74)【代理人】
【識別番号】110002527
【氏名又は名称】弁理士法人北斗特許事務所
(72)【発明者】
【氏名】寺川 明宏
【審査官】白石 圭吾
(56)【参考文献】
【文献】特開2015-226141(JP,A)
【文献】特開2018-094720(JP,A)
【文献】特開2006-048496(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/26-1/3296
G06F 1/24
G06F 11/07
G06F 11/14
H04L 43/0876
H04L 12/00-12/22;12/50-12/66;45/00-49/9057
(57)【特許請求の範囲】
【請求項1】
コンピュータと、
前記コンピュータと通信する機能を有するサブ基板と、を備え、
前記サブ基板は、
第1方式で第1機器と通信する機能と、
前記第1方式とは異なる第2方式で第2機器と通信する機能と、を有し、
前記サブ基板は、
前記第1方式での通信の状態の監視を行う処理である第1通信監視処理と、
前記第2方式での通信の状態の監視を行う処理である第2通信監視処理と、
前記第1通信監視処理及び前記第2通信監視処理のうち少なくとも1つの通信監視処理の結果が所定の条件を満たした場合に、少なくとも前記コンピュータを再起動させる処理を含む再起動処理と、を実行
し、
前記再起動処理は、
前記所定の条件が満たされた場合に、前記コンピュータに再起動を命じる再起動命令を送信する第1再起動処理と、
前記第1再起動処理によって前記再起動命令が送信された後も、前記所定の条件が満たされたままである場合に、前記コンピュータの電源をオフ及びオンさせる第2再起動処理と、を含む、
管理システム。
【請求項2】
前記再起動処理は、前記第2再起動処理によって前記コンピュータの電源がオフ及びオンされた後も、前記所定の条件が満たされたままである場合に、前記コンピュータへの給電を停止及び再開させる第3再起動処理を更に含む、
請求項1に記載の管理システム。
【請求項3】
前記再起動処理は、前記第3再起動処理によって前記コンピュータへの給電が停止及び再開された後も、前記所定の条件が満たされたままである場合に、前記サブ基板を再起動する第4再起動処理を更に含む、
請求項2に記載の管理システム。
【請求項4】
前記再起動処理は、前記所定の条件が満たされている状態が継続している期間に、前記コンピュータがシャットダウンされた回数を計数し、計数結果に基づいて、前記第1再起動処理、前記第2再起動処理、前記第3再起動処理及び前記第4再起動処理を順次実行する、
請求項3に記載の管理システム。
【請求項5】
前記サブ基板は、前記コンピュータと少なくともUSB方式で通信する機能を有し、
前記再起動処理は、前記コンピュータから前記USB方式で供給されるバスパワーの変化に基づいて前記コンピュータがシャットダウンされたことを検知する処理を更に含む、
請求項4に記載の管理システム。
【請求項6】
前記サブ基板は、前記コンピュータと、USB方式及びLAN方式の各々で通信する機能を更に有し、
前記第1方式は、RS485方式であり、
前記第2方式は、前記LAN方式であり、
前記第1通信監視処理は、前記RS485方式での通信の有無の監視を行う処理であるRS485通信監視処理であり、
前記第2通信監視処理は、前記LAN方式での通信の有無の監視を行う処理であるLAN通信監視処理であり、
前記所定の条件は、所定時間以上に渡って通信がない無通信状態を検知した、という無通信条件であり、
前記再起動処理は、前記RS485通信監視処理及び前記LAN通信監視処理のうち少なくとも1つの通信監視処理の結果が前記無通信条件を満たした場合に、前記コンピュータを再起動させる処理を含む、
請求項1~5のいずれか一項に記載の管理システム。
【請求項7】
前記サブ基板は、前記USB方式で第3機器と通信する機能を更に有し、
前記サブ基板は、前記USB方式での通信の状態の監視であるUSB通信監視処理を更に実行し、
前記再起動処理は、前記RS485通信監視処理、前記LAN通信監視処理及び前記USB通信監視処理のうち少なくとも1つの通信監視処理の結果が前記無通信条件を満たした場合に、前記コンピュータを再起動させる処理を含む、
請求項6に記載の管理システム。
【請求項8】
前記再起動処理は、
前記RS485通信監視処理の結果が前記無通信条件を満たした場合には、前記LAN方式及び前記USB方式の少なくとも1つの方式での通信によって前記コンピュータを再起動させ、
前記LAN通信監視処理の結果が前記無通信状態を満たした場合には、前記USB方式での通信によって前記コンピュータを再起動させ、
前記USB通信監視処理の結果が前記無通信条件を満たした場合には、前記LAN方式での通信によって前記コンピュータを再起動させる処理を含む、
請求項7に記載の管理システム。
【請求項9】
前記再起動処理は、前記RS485通信監視処理及び前記LAN通信監視処理のうち少なくとも1つの通信監視処理の結果が前記無通信条件を満たした場合に、前記コンピュータを再起動させる処理であり、
前記サブ基板は、前記USB方式で第3機器と通信する機能を更に有し、
前記コンピュータは、
前記USB方式での通信の状態の監視であるUSB通信監視処理を実行し、
前記USB通信監視処理の結果が前記無通信条件を満たした場合に、前記サブ基板から前記第3機器への前記USB方式による給電を停止及び再開させる、
請求項8に記載の管理システム。
【請求項10】
コンピュータと通信する機能を有するサブ基板であって、
前記サブ基板は、
第1方式で第1機器と通信する機能と、
前記第1方式とは異なる第2方式で第2機器と通信する機能と、を有し、
前記サブ基板は、
前記第1方式での通信の状態の監視を行う処理である第1通信監視処理と、
前記第2方式での通信の状態の監視を行う処理である第2通信監視処理と、
前記第1通信監視処理及び前記第2通信監視処理のうち少なくとも1つの通信監視処理の結果が所定の条件を満たした場合に、少なくとも前記コンピュータを再起動させる処理を含む再起動処理と、を実行し、
前記再起動処理は、
前記所定の条件が満たされた場合に、前記コンピュータに再起動を命じる再起動命令を送信する第1再起動処理と、
前記第1再起動処理によって前記再起動命令が送信された後も、前記所定の条件が満たされたままである場合に、前記コンピュータの電源をオフ及びオンさせる第2再起動処理と、を含む、
サブ基板。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、管理システム及びサブ基板に関し、より詳細には、コンピュータを備える管理システム、及びコンピュータと通信するサブ基板に関する。
【背景技術】
【0002】
特許文献1には、CPUへの負荷が高くなった場合に自己リブートを行うことで、内部情報を初期化して正常動作を継続する機能、を実装したルータが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載のルータでは、CPU(コンピュータ)の動作が停止した場合、自己リブートは困難となる。
【0005】
また、コンピュータには一般に、複数の機器がLAN又はUSBといった各種の方式で通信可能に接続されており、コンピュータは自己リブートを行うほど不安定になっていなくても、機器側の動作が不安定となる場合がある。このような場合に、コンピュータを再起動することで、機器側の動作が安定化し、ひいてはコンピュータの動作もより安定化する可能性がある。
【0006】
本開示の目的は、少なくともコンピュータの動作の安定化を図ることができる管理システム及びサブ基板を提供することである。
【課題を解決するための手段】
【0007】
本開示の一態様に係る管理システムは、コンピュータとサブ基板とを備える。前記サブ基板は、前記コンピュータと通信する機能を有する。前記サブ基板は、第1方式で第1機器と通信する機能と、第2方式で第2機器と通信する機能と、を有する。前記第2方式は、前記第1方式とは異なる方式である。前記サブ基板は、第1通信監視処理と第2通信監視処理と再起動処理とを実行する。前記第1通信監視処理は、前記第1方式での通信の状態の監視を行う処理である。前記第2通信監視処理は、前記第2方式での通信の状態の監視を行う処理である。前記再起動処理は、前記第1通信監視処理及び前記第2通信監視処理のうち少なくとも1つの通信監視処理の結果が所定の条件を満たした場合に、少なくとも前記コンピュータを再起動させる処理を含む。前記再起動処理は、前記所定の条件が満たされた場合に、前記コンピュータに再起動を命じる再起動命令を送信する第1再起動処理と、前記第1再起動処理によって前記再起動命令が送信された後も、前記所定の条件が満たされたままである場合に、前記コンピュータの電源をオフ及びオンさせる第2再起動処理と、を含む。
【0008】
本開示の一態様に係るサブ基板は、コンピュータと通信する機能を有する。前記サブ基板は、第1方式で第1機器と通信する機能と、第2方式で第2機器と通信する機能と、を有する。前記第2方式は、前記第1方式とは異なる方式である。前記サブ基板は、第1通信監視処理と第2通信監視処理と再起動処理とを実行する。前記第1通信監視処理は、前記第1方式での通信の状態の監視を行う処理である。前記第2通信監視処理は、前記第2方式での通信の状態の監視を行う処理である。前記再起動処理は、前記第1通信監視処理及び前記第2通信監視処理のうち少なくとも1つの通信監視処理の結果が所定の条件を満たした場合に、少なくとも前記コンピュータを再起動させる処理を含む。前記再起動処理は、前記所定の条件が満たされた場合に、前記コンピュータに再起動を命じる再起動命令を送信する第1再起動処理と、前記第1再起動処理によって前記再起動命令が送信された後も、前記所定の条件が満たされたままである場合に、前記コンピュータの電源をオフ及びオンさせる第2再起動処理と、を含む。
【発明の効果】
【0009】
本開示の管理システム及びサブ基板は、少なくともコンピュータの動作の安定化を図ることができる、という効果がある。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本開示の第1実施形態に係る端末(管理システム)、を含むコンピュータシステムのブロック図である。
【
図2】
図2は、同上の端末を構成するPC(コンピュータ)及びサブ基板、のブロック図である。
【
図3】
図3は、同上のサブ基板の処理を説明するフローチャートである。
【
図4】
図4は、同上の処理に含まれる再起動処理を説明するフローチャートである。
【
図5】
図5は、同上のPCの処理を説明するフローチャートである。
【
図6】
図6は、本開示の第2実施形態に係る端末、を構成するサブ基板の処理の一部を説明するフローチャートである。
【
図7】
図7は、同上の処理の他の一部を説明するフローチャートである。
【
図8】
図8は、同上のPCの処理を説明するフローチャートである。
【
図9】
図9は、同上の端末の変形例のブロック図である。
【発明を実施するための形態】
【0011】
(1)第1実施形態
以下の説明で挙げる通信の具体的な方式、具体的な処理の手順、及び各種の閾値の具体的な数値などは、いずれも例示に過ぎず、適宜変更され得る。
【0012】
(1-1)コンピュータシステム
本開示の第1実施形態に係る端末10は、例えば、
図1に示すようなコンピュータシステム100に用いられる。コンピュータシステム100は、端末10、LTE(Long Term Evolution)ルータ20、サーバ30、第1機器101、第2機器102及び第3機器103を備える。第1機器101はRS485コネクタを有し、第2機器102はLAN(Local Area Network)コネクタを有し、第3機器103はUSB(Universal Serial Bus)コネクタを有する。
【0013】
(1-2)端末
端末10は、コンピュータ1及びサブ基板2を備える。なお、コンピュータ1は、例えば、パーソナルコンピュータ(PC)であり、以下では「PC1」と記す場合がある。ただし、コンピュータ1は、個人用に限らない。
【0014】
サブ基板2は、USB方式及びLAN方式の各々でコンピュータ1と通信する機能を有する。また、サブ基板2は、RS485方式で第1機器と、LAN方式で第2機器と、USB方式で第3機器103と、それぞれ通信する機能を更に有する。
【0015】
なお、LANは通常、配線方式を意味するが、本開示では、LAN方式の配線で使用される通信方式、の意味で用いることとする。LAN方式は、通常、有線LAN方式(例えば、Ethernet(登録商標)方式)であるが、無線LAN方式でもよい。
【0016】
本実施形態では、サブ基板2は、コンピュータ1に、USB方式及びLAN方式の各々で通信可能に接続されている。従って、PC1は、サブ基板2と常時通信可能である。また、サブ基板2には、RS485方式で第1機器101が、LAN方式で第2機器102が、USB方式で第3機器103が、それぞれ通信可能に接続されている。従って、PC1は、サブ基板2を介して、第1機器101、第2機器102及び第3機器103の各々とも、常時通信可能である。
【0017】
また、サブ基板2は、LTEルータ20にLAN方式で通信可能に接続されている。LTEルータ20は、サーバ30にVPN方式で通信可能に接続され得る。従って、LTEルータ20がサーバ30にVPN方式で通信可能に接続されると、PC1は、サブ基板2及びLTEルータ20を介して、サーバ30と通信可能になる。
【0018】
(1-2-1)コンピュータ
PC1は、
図2に示すように、第1CPU11、メモリ12、SSD13、LANコネクタ14、2つ以上のUSBコネクタ15、チップセット17、及びDC電源18を備える。PC1には、電源スイッチSW1が設けられている。
【0019】
第1CPU11は、メモリ12、SSD13、LANコネクタ14、及び2つ以上のUSBコネクタ15の各々と、チップセット17を介して通信可能である。
【0020】
DC電源18は、ACアダプタ3及びサブ基板2を介して商用電源40に接続されており、第1CPU11、メモリ12、SSD13及びチップセット17の各々が動作するための直流電力を供給する。また、DC電源18は、2つ以上のUSBコネクタ15の各々にバスパワーを供給し、それによってサブ基板2を介した第3機器103へのUSB給電が実現される。
【0021】
第1CPU11は、チップセット17を介して、PC1と、サブ基板2ひいては第3機器103と、の間のUSB方式での通信(以下、「USB通信」と記す場合がある)の有無を監視する監視処理(以下、「USB通信監視処理」と記す場合がある)を行う。
【0022】
通信の有無の監視は、通信の有無の判断を含む。第1CPU11が行うUSB通信の有無の判断は、例えば、チップセット17によって無通信状態(後述)が検出されたか否か、の判断である。例えば、メモリ12(又はSSD13)に、USB通信監視処理を実行するタイミングに関する第1タイミング情報が記憶されている。第1CPU11は、現在時刻が監視タイミングか否かの判断を、第1CPU11の内蔵時計から取得される現在時刻情報と、メモリ12に記憶されている第1タイミング情報との比較を基に行い、USB通信監視処理及びその他の処理を並列的に(例えば、第1CPU11を構成する複数のコアが並列に、又は単一のコアが時分割で)実行する。
【0023】
電源スイッチSW1は、DC電源18から第1CPU11、メモリ12、SSD13、チップセット17及び2つ以上のUSBコネクタ15の各々への直流電力の供給(以下、「PC1への給電」と記す場合がある)を、手動操作に応じて開始及び停止させる。また、電源スイッチSW1は、サブ基板2からの信号に応じて、PC1への給電を停止及び再開させる機能を更に有する。
【0024】
すなわち、PC1は、端末10のコンセントが商用電源40に接続された状態で、電源スイッチSW1がオンされると起動され、電源スイッチSW1がオフされると動作停止する。また、PC1は、動作中にサブ基板2からの命令を受け、再起動される。ここでの再起動は、PC1のオペレーティングシステム(OS)を終了させ、PC1の電源をオフする通常のシャットダウン、を行った後に、PC1の電源をオンする、一連の動作である。
【0025】
なお、詳細は後述するが、このような通常の再起動に加えて、PC1は、動作中にサブ基板2から電源スイッチSW1を介して、強制シャットダウン及び再起動され得る。さらに、PC1は、動作中にサブ基板2からACアダプタ3への給電が停止及び再開されるのに応じて、動作停止及び再起動され得る。
【0026】
(1-2-2)サブ基板
サブ基板2は、
図2に示すように、第2CPU21、AC/DCコンバータ22、リレー23、通信部24、2つ以上のRS485コネクタ25、LANコネクタ26、LANハブ27、2つ以上のLANコネクタ271、USBハブ28、2つ以上のUSBコネクタ281、再起動ボタンBT1及びシャットダウンボタンBT2を備える。
【0027】
第2CPU21は、AC/DCコンバータ22、リレー23、通信部24、LANハブ27、USBハブ28、再起動ボタンBT1及びシャットダウンボタンBT2の各々と通信可能に接続されている。
【0028】
AC/DCコンバータ22は、商用電源40に接続され、商用電源40からの交流電力の一部を直流電力に変換し、変換した直流電力を第2CPU21及びLTEルータ20の各々に供給する。商用電源40からの交流電力の他の一部は、リレー23を介してACアダプタ3に供給される。ACアダプタ3は、リレー23を介して供給される交流電力を直流電力に変換し、変換した直流電力をDC電源18に給電する。
【0029】
リレー23は、第2CPU21の制御下で、ACアダプタ3への交流電力の供給を停止及び再開させる。それに伴い、ACアダプタ3からPC1への直流電力の供給(以下、「PC1への給電」と記す場合がある)も停止及び再開される。
【0030】
2つ以上のLANコネクタ271の各々は、LANハブ27を介して、PC1側のLANコネクタ14と接続されている。2つ以上のLANコネクタ271の少なくとも1つには、LANケーブルを介して第2機器102が接続されている。USBハブ28は、第2CPU21の制御下で、USBコネクタ281に接続されている第3機器103を、PC1と通信可能に接続する。
【0031】
2つ以上のUSBコネクタ281の各々は、USBハブ28を介して、PC1側の2つ以上のUSBコネクタ15のうち1つ(USBコネクタ151)と接続されている。2つ以上のUSBコネクタ281の各々には、LANケーブルを介して第2機器102が接続可能である。USBハブ28は、第2CPU21の制御下で、2つ以上のUSBコネクタ281の各々に接続されている第3機器103を、PC1と通信可能に接続する。
【0032】
2つ以上のRS485コネクタ25の各々は、通信部24を介して、PC1側の2つ以上のUSBコネクタ15のうち他の1つ(USBコネクタ152)と接続されている。2つ以上のRS485コネクタ25の各々には、第1機器101が接続可能である。通信部24は、2つ以上のRS485コネクタ25の各々に接続されている第1機器101からRS485方式で送信された信号を受信し、受信した信号をUSB方式の信号に変換し、変換した信号をPC1に送信する。また、通信部24は、PC1からUSB方式で第1機器101宛てに送信された信号を受信し、受信した信号をRS485方式の信号に変換する。そして、通信部24は、変換した信号を、第2CPU21の制御下で、2つ以上のRS485コネクタ25のうち、PC1からの信号の宛先である第1機器101に対応するRS485コネクタ25、に出力する。こうして、通信部24がUSB方式とRS485方式との間の変換を行うことによって、2つ以上のRS485コネクタ25の各々に接続されている第1機器101は、PC1と通信を行うことができる。
【0033】
第2CPU21は、通信部24を介して、サブ基板2と第1機器101との間のRS485方式での通信(以下、「RS485通信」と記す場合がある)の有無を監視する監視処理(以下、「RS485通信監視処理」と記す場合がある)を行う。なお、第2CPU21が行うRS485通信の有無の監視(無通信状態か否かの判断)は、例えば、通信部24によって無通信状態が検出されたか否か、の判断である。
【0034】
また、第2CPU21は、LANハブ27を介して、PC1と、サブ基板2ひいては第2機器102と、の間のLAN方式での通信(以下、「LAN通信」と記す場合がある)の有無を監視する監視処理(以下、「LAN通信監視処理」と記す場合がある)を更に行う。なお、第2CPU21が行うLAN通信の有無の監視(無通信状態か否かの判断)は、例えば、LANハブ27によって無通信状態が検出されたか否か、の判断である。
【0035】
そして、第2CPU21は、RS485通信監視処理及びLAN通信監視処理のうち少なくとも1つの監視結果が、所定の条件を満たす場合に、再起動処理を実行する。
【0036】
例えば、第2CPU21の内蔵メモリに、RS485通信監視処理及びLAN通信監視処理の各々を実行するタイミングに関する第2タイミング情報が記憶されている。第2CPU21は、現在時刻がRS485方式及びLAN方式の各々の監視タイミングか否かの判断を、第2CPU21の内蔵時計から取得される現在時刻情報と、内蔵メモリに記憶されている第2タイミング情報との比較を基に行い、RS485通信監視処理及びLAN通信監視処理を並列的に実行する。
【0037】
(1-2-3)所定の条件:無通信条件
所定の条件は、本実施形態では、無通信条件である。無通信条件は、例えば、所定時間以上継続して無通信状態である、という条件である。
【0038】
(1-2-4)無通信状態
無通信状態とは、所定時間以上継続して通信がない状態である。通信がない状態は、例えば、単位時間当たりの通信量(通信速度)が0の状態であるが、通信速度が0であるとみなし得るほど遅い場合も含んでもよい。
【0039】
(1-2-5)再起動処理
再起動処理は、本実施形態では、第1再起動処理、第2再起動処理、第3再起動処理及び第4再起動処理を含む。
【0040】
第1再起動処理は、ソフトウェアリブートに相当する処理であるが、手動操作によらず、サブ基板2により自動で行われる。なお、一般的なコンピュータのソフトウェアリブートでは、例えば、OSの終了メニューからの再起動の選択、又はソフトウェアによる再起動ボタンBT1の押下、といった手動操作に応じて、再起動命令がPC1に送信される。また、詳細は後述するが、本実施形態では、再起動命令は、サブ基板2に設けられたハードウェアによる再起動ボタンBT1、の押下に応じて送信され得る。
【0041】
第2再起動処理は、ハードウェアリブートに相当する処理であるが、手動操作によらず、サブ基板2により自動で行われる。なお、一般的なコンピュータのハードウェアリブートでは、例えば、電源ボタンの長押しによる強制的なシャットダウンの後、電源ボタンの短押しによる電源オン、が行われる。また、詳細は後述するが、本実施形態では、シャットダウンは、サブ基板2に設けられたハードウェアによるシャットダウンボタンBT2、の押下に応じて実行され得る。
【0042】
第3再起動処理は、コンセントの抜き差しに相当する処理であるが、手動操作によらず、サブ基板2により電源スイッチSW1を介して自動で行われる。なお、一般的なコンピュータでは、ACアダプタ3のAC側のコンセントが商用電源40に接続され、ACアダプタ3のDC側がコンピュータに接続されており、コンセントを商用電源40に対して抜き差しすることで、コンピュータへの給電が停止及び再開される。
【0043】
第4再起動処理は、コンピュータの自己リブートに相当する処理であるが、リブートの主体及び対象がサブ基板2の第2CPU21であり、第2CPU21自身によって自動で行われる。なお、第4再起動処理では、第2CPU21の自己リブートに加えて、第2CPU21以外のデバイス(通信部24、LANハブ27及びUSBハブ28等)、も再起動されることが好ましい。
【0044】
サブ基板2では、無信号条件が満たされているか否かが、第2CPU21によって反復的に判断される。そして、無信号条件が満たされていると判断されたとき、第1再起動処理が未実行であれば、第1再起動処理が実行される。また、無信号条件が満たされていると判断されたとき、第1再起動処理が実行済みであり、かつ第2再起動処理が未実行であれば、第2再起動処理が実行される。さらに、無信号条件が満たされていると判断されたとき、第2再起動処理が実施済みであり、かつ第3再起動処理が未実行であれば、第3再起動処理が実行される。そして、無信号条件が満たされていると判断されたとき、第3再起動処理が実施済みであり、かつ第4再起動処理が未実行であれば、第4再起動処理が実行される。
【0045】
本実施形態では、上記のような第1再起動処理~第4再起動処理の実行のタイミング(順序)は、第1フラグ~第4フラグによって管理される。詳しくは、無通信条件を満たすと判断されたとき、第1フラグがリセット状態であれば、第1再起動処理が実行される。また、無通信条件を満たすと判断されたとき、第1フラグがセット状態かつ第2フラグがリセット状態であれば、第2再起動処理が実行される。さらに、無通信条件を満たすと判断されたとき、第2フラグがセット状態かつ第3フラグがリセット状態であれば、第3再起動処理が実行される。そして、無通信条件を満たすと判断されたとき、第3フラグがセット状態かつ第4フラグがリセット状態であれば、第4再起動処理が実行される。
【0046】
(1-2-6)アラート発信
第3再起動処理を行っても、無通信条件を満たすと判断との判断結果のままである場合、第2CPU21は、サーバ30に向けてアラートを発信する。アラートには、PC1の動作が不安定になっている可能性がある旨の警告情報、サブ基板2による再起動処理を実行済みである旨の通知情報、及び端末10を識別する識別情報、が含まれる。
【0047】
サーバ30は、アラートを受信し、受信したアラートを出力する。コンピュータシステム100の管理者は、サーバ30から出力されたアラートを基に、端末10においてPC1の動作が不安定化していること、及びサブ基板2による再起動処理を受けてもPC1が安定化しなかったこと、を認識する。これによって、管理者は、端末10のメンテナンス等の対策をいち早く行うことができる。
【0048】
第2CPU21は、通信部24と、PC1側のUSBコネクタ152と、の間の信号線(USBケーブル)に電気的に接続されており、USBコネクタ152から供給される電力(以下、「USBバスパワー」と記す場合がある)を監視し、USBバスパワーの変化(例えば、PC1のシャットダウンを検知)を基に、PC1のシャットダウンを検知する。
【0049】
詳しくは、PC1がシャットダウンされると、USBコネクタ152からの電力供給が停止し、USBバスパワーの電圧は、例えば5Vから0Vに低下する。そこで、第2CPU21は、USBバスパワーの電圧の5Vから0Vへの変化を基に、PC1のシャットダウンを検知できる。
【0050】
再起動ボタンBT1が押下されると、第2CPU21は、LANハブ27又はUSBハブ28を介して、PC1に再起動命令を送信する。PC1は、再起動命令を受信し、再起動を行う。つまり、PC1は、サブ基板2側の再起動ボタンBT1を介した手動操作によっても、再起動可能である。したがって、端末10では、PC1に対し、サブ基板2によって自動的に実行される第1再起動処理と、再起動ボタンBT1による通常の再起動と、の両方が可能である。
【0051】
シャットダウンボタンBT2が押下されると、第2CPU21は、LANハブ27又はUSBハブ28を介して、PC1にシャットダウン命令を送信する。つまり、PC1は、サブ基板2側のシャットダウンボタンBT2を介した手動操作によっても、シャットダウン可能である。したがって、端末10では、PC1に対し、サブ基板2によって自動的に実行される第2再起動処理と、シャットダウンボタンBT2による通常のシャットダウン及び電源スイッチSW1による電源オンと、の両方が可能である。
【0052】
(1-3)動作例
(1-3-1)サブ基板の動作例
サブ基板2(第2CPU21)は、例えば、
図3及び
図4に示すフローチャートに従って動作する。なお、
図3及び
図4の処理は、サブ基板2の起動に応じて開始され、動作停止に応じて終了される。サブ基板2は、例えば、端末10のコンセントが商用電源40に接続されると起動される。
【0053】
図3に示すように、最初に、サブ基板2(第2CPU21)は、各フラグのリセットを行う(ステップS1)。各フラグとは、第1フラグ~第4フラグの各々である。
【0054】
第1フラグは、PC1の再起動が実行済みであることを示すフラグである。第2フラグは、PC1の強制シャットダウンが実行済みであることを示すフラグである。第3フラグは、PC1への給電の停止及び再開が実行済みであることを示すフラグである。第4フラグは、サブ基板2自身の再起動が実行済みであることを示すフラグである。
【0055】
次に、サブ基板2(第2CPU21)は、内蔵メモリに記憶されている第2タイミング情報を基に、RS485通信の監視を行うタイミングであるか否かを判断する(ステップS2)。RS485通信の監視を行うタイミングでない(ステップS2でNo)と判断された場合、処理はステップS4に進む。
【0056】
ステップS2でRS485通信の監視を行うタイミングである(Yes)と判断された場合、サブ基板2(第2CPU21)は、RS485通信監視処理を実行する(ステップS3)。その後、処理はステップS6に進む。
【0057】
ステップS2でRS485通信の監視を行うタイミングでない(No)と判断された場合、サブ基板2(第2CPU21)は、第2タイミング情報を基に、LAN通信の監視を行うタイミングであるか否かを判断する(ステップS4)。LAN通信の監視を行うタイミングである(ステップS4でYes)と判断された場合、サブ基板2(第2CPU21)は、LAN通信監視処理を実行する(ステップS5)。その後、処理はステップS6に進む。
【0058】
ステップS6では、サブ基板2(第2CPU21)は、ステップS3のRS485通信監視処理及びステップS5のLAN通信監視処理の少なくとも1つによって無通信状態が検出されたか否かを判断する(ステップS6)。RS485通信監視処理及びLAN通信監視処理のいずれによっても無通信状態が検出されていない(ステップS6でNo)と判断された場合、処理はステップS1に戻る。
【0059】
ステップS6で、RS485通信監視処理及びLAN通信監視処理の少なくとも1つによって無通信状態が検出された(Yes)と判断された場合、サブ基板2(第2CPU21)は、第4フラグがセット状態であるか否かを判断する(ステップS7)。第4フラグがセット状態である(ステップS7でYes)と判断された場合、処理は終了する。
【0060】
ステップS7で第4フラグがセット状態でない(No:つまり第4フラグがリセット状態である)と判断された場合、サブ基板2(第2CPU21)は、再起動処理を実行する(ステップS8)。その後、処理はステップS2に戻る。
【0061】
ステップS4でLAN通信の監視を行うタイミングでない(No)と判断された場合、サブ基板2(第2CPU21)は、PC1からのUSBリセットコマンドの有無(USBリセットコマンドを受信したか否か)を判断する(ステップS9)。PC1からのUSBリセットコマンドを受信していない(ステップS9でNo)と判断された場合、処理はステップS2に戻る。
【0062】
ステップS9でUSBリセットコマンドを受信した(Yes)と判断された場合、サブ基板2(第2CPU21)は、USBハブ28を介して第3機器103へのUSB給電の停止及び再開(第3機器103のUSBコネクタ281に対する抜き差しに相当する処理)を実行する(ステップS10)。これにより、USBコネクタ281に接続されている第3機器103が再起動される。その後、処理はステップS2に戻る。
【0063】
上記ステップS8の再起動処理は、例えば、
図4のフローチャートに従って実行される。
【0064】
再起動処理では、最初に、サブ基板2(第2CPU21)は、第1フラグがセット状態であるか否かを判断する(ステップS801)。第1フラグがセット状態である(ステップS801でYes)と判断された場合、処理はステップS804に進む。
【0065】
ステップS801で第1フラグがセット状態でない(No:つまり第1フラグがリセット状態である)と判断された場合、サブ基板2(第2CPU21)は、PC1の再起動(ソフトウェアリブートに相当する処理)を行う(ステップS802)。次に、サブ基板2(第2CPU21)は、第1フラグをセットする(ステップS803)。その後、処理は上位のフローチャート(
図3参照)に戻る。
【0066】
ステップS801で第1フラグがセット状態である(Yes)と判断された場合、サブ基板2(第2CPU21)は、第2フラグがセット状態であるか否かを判断する(ステップS804)。第2フラグがセット状態である(ステップS804でYes)と判断された場合、処理はステップS807に進む。
【0067】
ステップS804で第2フラグがセット状態でない(No:つまり第2フラグがリセット状態である)と判断された場合、サブ基板2(第2CPU21)は、PC1の強制シャットダウン及び起動(ハードウェアリブートに相当する処理)を行う(ステップS805)。次に、サブ基板2(第2CPU21)は、第2フラグをセットする(ステップS806)。その後、処理は上位のフローチャート(
図3参照)に戻る。
【0068】
ステップS804で第2フラグがセット状態である(Yes)と判断された場合、サブ基板2(第2CPU21)は、第3フラグがセット状態であるか否かを判断する(ステップS807)。第3フラグがセット状態である(ステップS807でYes)と判断された場合、処理はステップS810に進む。
【0069】
ステップS807で第3フラグがセット状態でない(No:つまり第3フラグがリセット状態である)と判断された場合、サブ基板2(第2CPU21)は、PC1への給電の停止及び再開(コンセントの抜き差しに相当する処理)を行う(ステップS808)。次に、サブ基板2(第2CPU21)は、第3フラグをセットする(ステップS809)。その後、処理は上位のフローチャート(
図3参照)に戻る。
【0070】
ステップS807で第3フラグがセット状態である(Yes)と判断された場合、サブ基板2(第2CPU21)は、サーバ30に向けてアラートを発信する(ステップS810)。次に、サブ基板2(第2CPU21)は、サブ基板2自身の再起動(自己リブート)を行い(ステップS811)、第4フラグをセットする(ステップS812)。その後、処理は上位のフローチャート(
図3参照)に戻る。
【0071】
(1-3-2)PCの動作例
PC1(第1CPU11)は、例えば、
図5に示すフローチャートに従って動作する。なお、
図5の処理は、PC1の起動に応じて開始され、動作停止に応じて終了される。
【0072】
最初に、PC1(第1CPU11)は、メモリ12に記憶されている第1タイミング情報を基に、USB通信の監視を行うタイミングであるか否かを判断する(ステップS11)。USB通信の監視を行うタイミングでない(ステップS11でNo)と判断された場合、処理はステップS15に進む。
【0073】
ステップS11でUSB通信の監視を行うタイミングである(Yes)と判断された場合、PC1(第1CPU11)は、USB通信監視処理を実行する(ステップS12)。次に、PC1(第1CPU11)は、ステップS11のUSB通信監視処理によって無通信状態が検出されたか否かを判断する(ステップS13)。USB通信監視処理によって無通信状態が検出されていない(ステップS13でNo)と判断された場合、処理はステップS11に戻る。
【0074】
ステップS13で無通信状態が検出された(Yes)と判断された場合、PC1(第1CPU11)は、サブ基板2にUSBリセットコマンドを送信する(ステップS14)。その後、処理はステップS11に戻る。
【0075】
ステップS11でUSB通信の監視を行うタイミングでない(No)と判断された場合、PC1(第1CPU11)は、他の処理(USB通信監視処理以外の処理)を実行する(ステップS15)。その後、処理はステップS11に戻る。
【0076】
(1-3-3)第1実施形態の変形例
以下では、既出事項の説明は省略又は簡略化し、第1実施形態との相違点を詳しく説明する。
【0077】
この変形例において、第2CPU21は、通信部24を介してRS485通信の有無を監視し、かつLANハブ27を介してLAN通信の有無を監視するのに加えて、USBハブ28を介してUSB通信の有無を更に監視する。なお、第2CPU21が行うUSB通信の有無の監視(無通信状態か否かの判断)は、例えば、USBハブ28によって無通信状態が検出されたか否か、の判断である。
【0078】
そして、第2CPU21は、RS485方式、LAN方式及びUSB方式のうち少なくとも1つの方式での通信に関する監視結果が、所定の条件(無通信条件)を満たす場合に、再起動処理を実行する。
【0079】
また、
図4の再起動処理において、ステップS810のアラート発信は、ステップS807で第3フラグがセット状態であると判断された時点ではなく、例えば、ステップS812で第4フラグがセットされた後、に実行されてもよい。この場合、アラートに含まれる通知情報には、サブ基板2の自己リブートも実行済みである旨が追記されてもよい。これによって、コンピュータシステム100の管理者は、端末10においてPC1の動作が不安定化していること、及び、サブ基板2による再起動処理を受け、更にサブ基板2自身が再起動(自己リブート)を行っても、PC1が安定化しなかったこと、を認識する。これによって、サブ基板2の自己リブートでPC1が安定化した場合に、管理者は、端末10のメンテナンスを行う必要がなくなる。
【0080】
また、この変形例において、RS485方式は、例えば、RS422方式、又はRS232Cなどの、他のシリアル通信方式に置き換えられてもよい。
【0081】
また、この変形例において、通信の有無の監視(無通信状態か否かの判断)に代えて又はこれに加えて、通信エラーの有無の監視が行われてもよい。サブ基板2(第2CPU21)は、例えば、単位時間当たりの通信エラーの発生量が閾値以上である場合に、再起動処理を行ってもよい。または、サブ基板2(第2CPU21)は、例えば、無通信状態である場合、及び単位時間当たりの通信エラーの発生量が閾値以上である場合、の各々に再起動処理を行ってもよい。
【0082】
なお、この変形例において、商用電源40は、商用以外の交流電源に置き換えられてもよい。また、サブ基板2に内蔵されたAC/DCコンバータ22は、サブ基板2に外付けされた電源ブロック、に置き換えられてもよい。
【0083】
また、この変形例において、LTEルータ20は、LTE以外のルータ(例えば、5Gに対応するルータなど)に置き換えられてもよい。また、サーバ30とLTEルータ20との間の通信は、VPN以外の方式(例えば、一般的なインターネットに対応する方式など)で行われてもよい。
【0084】
(1-4)第1実施形態の利点
この実施形態によれば、第1機器101及び第2機器102に対応するRS485方式及びLAN方式の各々での通信の状態に基づいて、PC1を再起動することで、PC1を備える端末10において、少なくともPC1の動作の安定化を効果的に図ることができる。
【0085】
また、この実施形態では、RS485方式及びLAN方式の各々での通信の監視(RS485通信及びLAN通信の各々が無通信状態か否かの判断)をサブ基板2が行い、USB方式での通信の監視(USB通信が無通信状態か否かの判断)をPC1が行う。PC1は、USB通信が無通信状態となった場合に、第3機器103へのUSB方式による給電を停止及び再開させることで、第3機器103の再起動ひいてはPC1の安定化を図ることができる。
【0086】
また、PC1の電源のオフ及びオン(ハードウエアリブートに相当する動作)の前に、再起動命令の送信(ソフトウエアリブートに相当する動作)を行うことで、PC1へのダメージを抑制しつつ、PC1の動作の安定化を図ることができる。
【0087】
また、PC1の電源のオフ及びオンを行ってもPC1の動作が安定化しなかった場合には、PC1への給電の停止及び再開(コンセントの抜き差しに相当する動作)を行うことで、PC1の動作の安定化を図ることができる。
【0088】
また、RS485方式及びLAN方式のいずれが無通信状態となっても、PC1の再起動を図ることができる。
【0089】
(2)第2実施形態
以下では、第1実施形態との共通点についての説明は省略又は簡略化し、相違点を詳しく説明する。
【0090】
相違点の1つは、サブ基板2が、RS485通信及びLAN通信に加えてUSB通信についても監視を行い、RS485通信、LAN通信及びUSB通信の少なくとも1つが無通信状態となった場合に、再起動処理を実行する点である。
【0091】
相違点の他の1つは、再起動処理に含まれる4種類の処理(PC1に対するソフトウェアリブート、PC1に対するハードウェアリブート、PC1に対するコンセントの抜き差し、及びサブ基板2の自己リブート、に対応する4種類の処理:
図4参照)を実行するタイミング及び回数を、サブ基板2は、PC1のシャットダウン回数を基に管理する点である。
【0092】
シャットダウン回数とは、無通信条件が連続して満たされている期間(つまり、無通信状態が継続している期間)内に、PC1がシャットダウンされた回数である。シャットダウン回数は、初期値が0であり、無通信状態が継続している状態でPC1がシャットダウンされる度にインクリメントされ、無通信状態でなくなると0にリセットされる。
【0093】
相違点のその他の1つは、PC1が、USB通信監視処理及びそれによって無通信状態が検出された場合のUSBリセットコマンドの送信(
図5の処理)に代えて、サブ基板2側の第2CPU21の死活監視(
図8の処理)を行う点である。
【0094】
(2-1)サブ基板
第2CPU21は、通信部24を介してRS485通信の有無を監視し、かつLANハブ27を介してLAN通信の有無を監視するのに加えて、USBハブ28を介して、PC1と、サブ基板2ひいては第3機器103と、の間のUSB方式での通信(以下、「USB通信」と記す場合がある)の有無を更に監視する。
【0095】
そして、第2CPU21は、RS485方式、LAN方式及びUSB方式のうち少なくとも1つの方式での通信に関する監視結果が、所定の条件(無通信条件)を満たす場合に、再起動処理を実行する。
【0096】
第2CPU21は、USBバスパワーの変化を基にPC1のシャットダウンを検知するのに加えて、無信号条件が連続して満たされている期間内に、PC1がシャットダウンした回数(シャットダウン回数n)を計数する。そして、第2CPU21は、シャットダウン回数nを基に、第1再起動処理、第2再起動処理、第3再起動処理及び第4再起動処理の各々の実行のタイミング(順序)及び回数を制御する。
【0097】
詳しくは、第2CPU21は、無信号条件が満たされていると判断したときのシャットダウン回数nが、例えば、1回以下(つまり0又は1回)の場合は第1再起動処理を、2回の場合は第2再起動処理を、3回の場合は第3再起動処理を、4回の場合は第4再起動処理を、それぞれ実行する。
【0098】
これによって、無信号条件に関する判断結果が、無信号条件が満たされていないとの判断結果から、無信号条件が満たされているとの判断結果に変化したことに応じて、まず第1再起動処理が実行される。こうして1回目の第1再起動処理が実行されても、無信号条件が満たされているとの判断結果のままである場合、2回目の第1再起動処理が実行される。また、第2再起動処理が実行されても、無信号条件が満たされているとの判断結果のままである場合、第3再起動処理が実行される。そして、第3再起動処理が実行されても、無信号条件が満たされているとの判断結果のままである場合、第4再起動処理が実行される。
【0099】
このように、サブ基板2では、無信号条件が満たされているか否かが、第2CPU21によって反復的に判断される。そして、無信号条件が満たされていると判断されたときのシャットダウン回数nが、1以下(n=0又は1n=1)であれば第1再起動処理が、n=2であれば第2再起動処理が、n=3であれば第3再起動処理が、n=4であれば第4再起動処理が、第2CPU21によって実行される。
【0100】
したがって、無信号条件が満たされている状態に変化がなければ、第1再起動処理が2回、第2再起動処理が1回、第3再起動処理が1回、第4再起動処理が1回、順次実行される結果となる。
【0101】
(2-2)PC
第1CPU11は、USB通信監視処理、及びUSB通信監視処理によって無通信状態が関した場合のUSBリセットコマンドの送信、代えて、サブ基板2側の第2CPU21の死活監視を行う。例えば、メモリ12に、第2CPU21の死活監視を行うタイミングに関する第3タイミング情報が更に記憶されている。
【0102】
(2-3)動作例
(2-3-1)サブ基板の動作例
サブ基板2(第2CPU21)は、RS485通信に関して、
図6及び
図7に示すフローチャートに示す処理(つまりRS485通信監視・再起動処理)を実行する。
【0103】
図6に示すように、最初に、サブ基板2(第2CPU21)は、シャットダウン回数nに初期値0をセットする(ステップS21)。次に、サブ基板2(第2CPU21)は、RS485通信の有無を判断し(ステップS22)、RS485通信あり(ステップS22でYes)と判断された場合、ステップS22に戻る。
【0104】
ステップS22でRS485通信なし(No)と判断された場合、サブ基板2(第2CPU21)は、RS485通信に関する無通信時間t1の計時を行う。無通信時間t1は、例えば、RS485通信の検出終了に応じてタイマをリセット及びスタートすることで計時可能である。次に、サブ基板2(第2CPU21)は、無通信時間t1が所定時間(例えば5分)以上であるか否かを判断する(ステップS24)。無通信時間t1が5分以上でない(ステップS24でNo:つまり5分未満である)と判断された場合、処理はステップS22に戻る。
【0105】
ステップS24で5分以上である(Yes)と判断された場合、
図7に示すように、サブ基板2(第2CPU21)は、シャットダウン回数nが所定回数以下(例えば2回以下:n≦2)であるか否かを判断する(ステップS25)。シャットダウン回数nが2回以下でない(ステップS25でNo:つまりn≧3である)と判断された場合、処理はステップS33に進む。
【0106】
ステップS25でシャットダウン回数nが2回以下である(Yes)と判断された場合、サブ基板2(第2CPU21)は、PC1のシャットダウンを行う(ステップS26)。なお、ステップS26では、PC1のシャットダウンに加えて、サブ基板2以外のデバイス(例えば、サブ基板2のUSBコネクタ281に接続されている第3機器103など)の電源オフ及びオン(例えば、USB給電の停止及び再開)を行うことが好適である。
【0107】
次に、サブ基板2(第2CPU21)は、USBバスの電圧Vが所定値以下(所定値は、例えば0V、又は0Vとみなし得るほど小さい値)であるか否かを判断する(ステップS27)。電圧Vが所定値以下である(ステップS27でYes)と判断された場合、処理はステップS31に進む。
【0108】
ステップS27で電圧Vが所定値以下でない(No:つまり電圧Vが所定値を超えている)と判断された場合、サブ基板2(第2CPU21)は、無通信時間t1が所定値を超えている(例えば、t1>10分)か否かを判断する(ステップS28)。無通信時間t1が所定値を超えていない(ステップS28でNo:つまりt1≦10分)と判断された場合、処理はステップS27に戻る。
【0109】
ステップS28で無通信時間t1が所定値を超えている(Yes)と判断された場合、サブ基板2(第2CPU21)は、シャットダウン回数nが1回以下(n≦1)であるか否かを判断する(ステップS29)。シャットダウン回数nが1回以下でない(ステップS29でNo:つまりn=2)と判断された場合、処理はステップS32に進む。
【0110】
ステップS29でシャットダウン回数nが1回以下である(Yes)と判断された場合、サブ基板2(第2CPU21)は、PC1を強制シャットダウンする(ステップS30)。なお、この処理において、無通信状態の検知対象はRS485通信であり、PC1とサブ基板2との間ではUSB通信及びLAN通信のいずれも行えるため、ステップS30の強制シャットダウンは、USB通信及びLAN通信の少なくとも1つ(例えば、USB通信)で行われる。その後、処理はステップS31に進む。
【0111】
ステップS31では、サブ基板2(第2CPU21)は、スイッチSW1を介してPC1の電源をオンする。その後、処理はステップS35に進む。
【0112】
ステップS29でシャットダウン回数nが1回以下でない(No:つまりn=2)と判断された場合、サブ基板2(第2CPU21)は、リレー23を介して、PC1への給電を停止及び再開する(ステップS32)。その後、処理はステップS35に進む。
【0113】
ステップS25でシャットダウン回数nが2回以下でない(No:つまりn≧3)と判断された場合、サブ基板2(第2CPU21)は、シャットダウン回数nが3回(n=3)か否かを判断する(ステップS33)。シャットダウン回数nが3回でない(ステップS33でNo:つまりn≧4)と判断された場合、処理はステップS36に進む。
【0114】
ステップS35では、サブ基板2(第2CPU21)は、シャットダウン回数nをインクリメントする。その後、処理はステップS22(
図6参照)に戻る。
【0115】
ステップS36では、サブ基板2(第2CPU21)は、サーバ30に対してアラート発信を行う。その後、処理は終了する。
【0116】
また、サブ基板2(第2CPU21)は、LAN通信に関して上記と同様の処理、つまり、
図6及び
図7に示すフローチャートにおいて「RS485」を「LAN」に読み替えた処理(LAN通信監視・再起動処理)、を更に実行する。ただし、LAN通信監視・再起動処理において、無通信状態の検知対象はLAN通信であり、PC1とサブ基板2との間ではUSB通信しか行えない可能性があるため、ステップS30の強制シャットダウンは、USB通信で行われる。
【0117】
また、サブ基板2(第2CPU21)は、USB通信に関して上記と同様の処理、つまり(
図6及び
図7に示すフローチャート)において「RS485」を「USB」に読み替えた処理(USB通信監視・再起動処理)、を更に実行する。ただし、USB通信監視・再起動処理において、無通信状態の検知対象はUSB通信であり、PC1とサブ基板2との間ではLAN通信しか行えない可能性があるため、ステップS30の強制シャットダウンは、LAN通信で行われる。
【0118】
なお、RS485通信監視・再起動処理、LAN通信監視・再起動処理、及びUSB通信監視・再起動処理は、例えば、第2CPU21の単一のコア又は複数のコア、で並列的に実行される。
【0119】
(2-3-2)サブ基板の動作例
PC1(第1CPU11)は、例えば、
図8に示すフローチャートに従って動作する。なお、
図8の処理は、PC1の起動に応じて開始され、動作停止に応じて終了される。
【0120】
最初に、PC1(第1CPU11)は、メモリ12に記憶されている第3タイミング情報を基に、第2CPU21の死活監視を行うタイミングであるか否かを判断する(ステップS41)。第2CPU21の死活監視を行うタイミングでない(ステップS41でNo)と判断された場合、処理はステップS46に進む。
【0121】
ステップS41で第2CPU21の死活監視を行うタイミングである(Yes)と判断された場合、PC1(第1CPU11)は、以下のステップS42~S44の死活監視処理を通じて、第2CPU21の死活監視を行う。すなわち、PC1(第1CPU11)は、第2CPU21からの信号の有無を判断する(ステップS42)。第2CPU21からの信号あり(ステップS42でYes)と判断された場合、処理はステップS46に進む。
【0122】
ステップS42で第2CPU21からの信号なし(No)と判断された場合、PC1(第1CPU11)は、無信号時間t2の計時を行う(ステップS43)。無信号時間t2は、例えば、第2CPU21からの信号の検出終了に応じてタイマをリセット及びスタートすることで計時可能である。次に、PC1(第1CPU11)は、無信号時間t2が所定時間以上(例えば、t2≧6分30秒)であるか否かを判断する(ステップS44)。無信号時間t2が所定時間以上でない(ステップS44でNo:つまりt2<6分30秒)であると判断された場合、処理はステップS42に戻る。
【0123】
ステップS44で無信号時間t2が所定時間以上である(Yes)と判断された場合、PC1(第1CPU11)は、第2CPU21を再起動する(ステップS45)。なお、第2CPU21の再起動は、例えば、LAN通信及びUSB通信の少なくとも1つを通じた再起動命令の、第1CPU11から第2CPU21への送信によって行われる。その後、処理はステップS41に戻る。
【0124】
ステップS41で第2CPU21の死活監視を行うタイミングでない(No)と判断された場合、PC1(第1CPU11)は、他の処理(死活監視処理以外の処理:例えば、後述するエネルギーマネジメントに関連する処理など)を実行する(ステップS46)。その後、処理はステップS41に戻る。
【0125】
(2-4)第2実施形態の変形例
以下では、既出事項の説明は省略又は簡略化し、第2実施形態との相違点を詳しく説明する。
【0126】
この変形例では、
図9に示すように、サブ基板2が自己リブート用チップ29を更に備えており、
図8の処理は、自己リブート用チップ29によって実行される。なお、この場合、
図8の処理において、ステップS46の「他の処理」は、サブ基板2の内部的な処理となる(何の処理も行われなくてもよい)。これによって、PC1とサブ基板2との間のUSB通信及びLAN通信が共に無通信状態となっても、サブ基板2の自己リブートが可能となる。
【0127】
なお、自己リブート用チップ29は、例えば、ウォッチドッグタイマ(以下、「ウォッチドッグタイマ29と記す」)でもよい。この場合、第2CPU21は、ウォッチドッグタイマ29に向けて、所定の周期(例えば3分に1回の周期)で信号(例えば、第2CPU21自身の生存を示す信号)を送信する。ウォッチドッグタイマ29は、例えば、
図8の処理において、ステップS41及びステップS46を除いた処理、を実行する。
【0128】
詳しくは、ウォッチドッグタイマ29は、最初、ステップS42で、第2CPU21からの信号の有無の判断を行う。ステップS42での判断結果が信号あり(Yes)の場合、処理はステップS42に戻る。ステップS42での判断結果が信号なし(No)の場合、ステップS43~S45が実行される。そして、ステップS45の実行の後、処理はステップS42に戻る。これによって、第2CPU21からの信号がない無信号時間t2が、第2CPU21から信号が送信される周期の2倍に相当する時間(6分)に所定時間(例えば30秒)を加算した時間(例えば6分30秒)に達すると、第2CPU21はウォッチドッグタイマ29によって再起動される。
【0129】
また、この変形例において、PC1(第1CPU11)は、USB通信監視処理の結果が無通信状態を示す場合に、USBリセットコマンドの送信(第1実施形態で行った
図5の処理に相当する処理)を更に行ってもよい。サブ基板2(第2CPU21)は、USBリセットコマンドに応じたUSB給電の停止及び再開、を更に行ってもよい。
【0130】
また、この変形例において、サブ基板2(第2CPU21)は、RS485通信監視・再起動処理、及びLAN通信監視・再起動処理を行い、USB通信監視・再起動処理を行わなくてもよい。または、サブ基板2(第2CPU21)は、RS485通信監視・再起動処理のみを行い、LAN通信監視・再起動処理、及びUSB通信監視・再起動処理を行わなくてもよい。一般には、サブ基板2(第2CPU21)は、RS485通信監視・再起動処理、LAN通信監視・再起動処理、及びUSB通信監視・再起動処理のうち、いずれか1つのみを行ってもよいし、いずれか2つを行ってもよい。
【0131】
また、この変形例における端末10は、PC1(第1CPU11)が、サブ基板2(第2CPU21)への再起動命令の送信だけでなく、サブ基板2(第2CPU21)の強制シャットダウン、更にはサブ基板2への給電の停止及び再開、を行えるように構成されてもよい。その場合、ステップS45において、第2CPU21の再起動は、例えば、再起動命令の送信、強制シャットダウン、及びサブ基板2への給電の停止及び再開、によって段階的に行われてもよい。
【0132】
(2-5)第2実施形態の利点
この実施形態によれば、第1機器101、第2機器102及び第3機器103に対応するRS485方式、LAN方式及びUSB方式、の各々での通信の状態に基づいて、PC1を再起動することで、PC1を備える端末10において、少なくともPC1の動作の安定化を、より効果的に図ることができる。
【0133】
また、PC1の電源のオフ及びオン(ハードウエアリブートに相当する動作)の前に、再起動命令の送信(ソフトウエアリブートに相当する動作)を行うことで、PC1へのダメージを抑制しつつ、PC1の動作の安定化を図ることができる。
【0134】
また、PC1の電源のオフ及びオンを行ってもPC1の動作が安定化しなかった場合には、PC1への給電の停止及び再開(コンセントの抜き差しに相当する動作)を行うことで、PC1の動作の安定化を図ることができる。
【0135】
また、PC1への給電の停止及び再開を行ってもPC1の動作が安定化しなかった場合には、サブ基板2自身の再起動(自己リブートに相当する動作)を行うことで、サブ基板2ひいてはPC1の動作の安定化を試みることができる。
【0136】
また、RS485方式、LAN方式及びUSB方式のいずれが無通信状態となっても、PC1の再起動を図ることができる。
【0137】
また、シャットダウン回数nを基に、第1~第4の4種類の再起動処理(S26及びS31,S30及びS31,S32並びにS34)について、実行順序及び実行回数の管理を可能化できる。
【0138】
また、PC1からのUSBバスパワーを監視することで、PC1のシャットダウンの検知の容易化を図ることができる。
【0139】
(3)具体例
(3-1)第1具体例
第1実施形態又は第2実施形態のコンピュータシステム100は、例えば、コンビニエンスストア等の小規模店舗におけるエネルギーマネジメントを行うシステム(エネルギーマネジメントシステム)である。
【0140】
サーバ30は、例えば、複数の店舗を統括する本部に設置される。端末10は、LTEルータ20及び第1機器101~第3機器103と共に、複数の店舗の各々に設置される。第1機器101は、例えば空調機器であり、第2機器102は、例えば保冷機器であり、第3機器は、例えば事務機器である。端末10を構成するPC1は、例えばAIコントローラ(以下、「AIコントローラ1」と記す)である。AIコントローラ1は、サーバ30と協働して、又は単独で、端末10が設置されている店舗のエネルギーマネジメント(例えば、消費電力を抑制しつつ店内環境の快適化を図ること等)を行う。端末10を構成するサブ基板2は、AIコントローラ1が不安定となったときに、AIコントローラ1に対して、ソフトウェアリブート、ハードウェアリブート、コンセントの抜き差し、に対応する3種類の再起動処理、を段階的に実行する。これによって、端末10において、AIコントローラ1へのダメージを抑制しつつ、AIコントローラ1の安定化を図ることができる。
【0141】
また、AIコントローラ1に対する上記再起動処理を行ってもAIコントローラ1が安定化しない場合には、サブ基板2の自己リブートを更に行うことで、AIコントローラ1の安定化の可能性をより高めることができる。併せて、サーバ30に向けてアラートを発信することで、管理者が店舗に出向いて端末10のメンテナンスを行う、といった人為的な対処の支援を図ることができる。
【0142】
なお、エネルギーマネジメントの対象は、小規模店舗に限らず、大規模店舗でもよいし、店舗以外(例えば、オフィス等)でも構わない。
【0143】
(3-2)第2具体例
第1実施形態又は第2実施形態のコンピュータシステム100は、例えば、デジタルサイネージを制御する制御システムでもよい。
【0144】
サーバ30は、例えば、デジタルサイネージによる広告を行う広告代理店に設置される。端末10は、LTEルータ20と共に、例えば、広告主の店舗に設置され、第1機器101~第3機器103は、店舗の内外に設置される。第1機器101は、例えば屋外の大型電子看板であり、第2機器102は、例えば屋内の小型電子看板であり、第3機器は、例えばタブレット端末である。端末10を構成するPC1は、例えばAIコントローラ1であり、AIコントローラ1は、サーバ30と協働して、又は単独で、端末10に接続されているデジタルサイネージを制御する。端末10のサブ基板2は、AIコントローラ1が不安定となったとき、AIコントローラ1に対する3種類の再起動処理、及びサブ基板2の自己リブートを、必要に応じて段階的に行い、併せて、適宜なタイミングでサーバ30に向けたアラートを発信する。これによって、デジタルサイネージの不具合への自動的な対処、更には人為的な対処の支援、を図ることができる。その結果、例えば、デジタルサイネージの管理に関する広告主の負担の軽減が図られる。
【0145】
(4)その他の変形例
以上の説明において、端末10は、PC1とサブ基板2とを備える管理システム(以下では、「管理システム10」と記す)であってもよい。管理システム10では、PC1とサブ基板2とは別体であってもよい。つまり、PC1とサブ基板2とは、単一の筐体に収納されていなくてもよい。サブ基板2は、例えば、PC1に外付けされてもよいし、PC1から離れた場所に設置されてもよい。
【符号の説明】
【0146】
10 端末(管理システム)
1 コンピュータ
2 サブ基板
101 第1機器
102 第2機器
103 第3機器
【要約】
【課題】少なくともコンピュータの動作の安定化を図ることができる管理システムを提供することである。
【解決手段】管理システム10は、コンピュータ(PC)1とサブ基板2とを備える。サブ基板2は、PC1と通信する機能を有する。サブ基板2は、第1方式で第1機器101と通信する機能と、第1方式とは異なる第2方式で第2機器102と通信する機能と、を有する。サブ基板2は、第1通信監視処理と第2通信監視処理と再起動処理とを実行する。第1通信監視処理は、第1方式での通信の状態の監視を行う処理であり、第2通信監視処理は、第2方式での通信の状態の監視を行う処理である。再起動処理は、第1通信監視処理及び第2通信監視処理のうち少なくとも1つの通信監視処理の結果が所定の条件を満たした場合に、少なくともPC1を再起動させる処理を含む。
【選択図】
図1