説明

情報処理装置の制御方法、情報処理装置、及び情報処理装置の制御プログラム

【課題】 システムダウンした情報処理装置が、OSのシステムダウン情報を他の情報処理装置に対して直接送信することができる情報処理装置の制御方法、情報処理装置、及び情報処理装置の制御プログラムを提供する。
【解決手段】 オペレーティングシステムとカーネルとが動作するプロセッサと、プロセッサからアクセス可能なメモリと、他の情報処理装置と接続するネットワークインタフェースと、を有する情報処理装置の制御方法であって、メモリに格納されたオペレーティングシステムのシステムダウン情報を、オペレーティングシステムがカーネルに通知する工程と、ネットワークインタフェースに接続されている他の情報処理装置から受信したパケットに含まれるインターネットプロトコルの種類をカーネルが判別する工程と、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、情報処理装置の制御方法、情報処理装置、及び情報処理装置の制御プログラムに関する。
【背景技術】
【0002】
従来、情報処理装置においてOS(Operating System)がシステムダウンの発生を検出した場合、OSは、現在動作中の処理を早急に停止する。
【0003】
このようなOSのシステムダウンの発生時に、情報処理装置が他の情報処理装置と相互にデータ通信を行っている場合、例えば所定の時間間隔で行われる他の情報処理装置からのパケット通信に対する応答が出来なくなる。そのため、他の情報処理装置において、OSのシステムダウンの検出が遅延する問題が発生する。OSのシステムダウンの検出が遅延するため、他の情報処理装置の使用者によって実施される情報処理装置のOSの復旧、又は情報処理装置に対する運用変更等の対策が遅延してしまう。
【0004】
また、このような情報処理装置は、他の情報処理装置とのデータ通信の管理等を行うカーネルを実装している。カーネルとしてモノリシックカーネルが使用されている場合、OSにシステムダウンが発生すると、OSのシステムダウンに伴ってモノシリックカーネルの動作が停止してしまう。そのため、情報処理装置はネットワークに対するアクセスができなくなる。従って、情報処理装置は、OSのシステムダウンが発生した場合に、他の情報処理装置に対して、自らのOSのシステムダウン情報を自発的に送信する機能を設けることができない。ゆえに、前述したように、他の情報処理装置は、情報処理装置からパケット通信の応答が無いことを検出するまで、OSにシステムダウンが発生したことを検出することができなかった。
【0005】
近年、カーネルとして、OSの動作とは独立して動作可能なマイクロカーネルが採用されている。マイクロカーネルは、情報処理装置のOSにシステムダウンが発生した場合でも、停止することなく自己の動作の継続が可能である。つまり、マイクロカーネルは、OSのシステムダウンに関係無く、他の情報処理装置からのパケット通信に対する応答を継続してしまう。
従って、他の情報処理装置は、情報処理装置からパケット通信の応答が無いことを検出してOSのシステムダウンを検出する方法をとることができず、情報処理装置のOSにシステムダウンが発生したことを認識することができなかった。
【0006】
また、システム管理者及び保守員が遠隔地にあるリモートコンソールにOSのシステムダウン情報を表示させて、情報処理装置を保守する技術が知られている。具体的には、制御ドライバを用いてOSのシステムダウン発生時にOSが出力したシステムダウン情報の表示データを圧縮し、専用の遠隔装置に送信する。遠隔装置は、受信した表示データを伸張し、リモートコンソールにOSのシステムダウン情報を表示する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2004−30337号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、OSが作成したシステムダウン情報を遠隔装置に送信するためには、情報処理装置に専用の制御ドライバやOSの改版が要求される。また、遠隔装置を使用する方法は遠隔装置を準備するためのコストが発生するため、近年の低価格化した情報処理装置では手軽に使用できない。
【0009】
更に、遠隔装置に代えて、他の情報処理装置が、独自にシステムダウン情報を受信するためには専用の受信装置及びOSの改版が要求される。従って、既存の情報処理装置及び他の情報処理装置を利用して、システムダウン情報を送受信することができなかった。
【0010】
開示の技術は、システムダウンした情報処理装置が、OSのシステムダウン情報を他の情報処理装置に対して直接送信することができる情報処理装置の制御方法、情報処理装置、及び情報処理装置の制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の課題を解決するため、開示の技術の第1の側面によれば、
オペレーティングシステムとカーネルとが動作するプロセッサと、前記プロセッサからアクセス可能なメモリと、他の情報処理装置と接続するネットワークインタフェースと、を有する情報処理装置の制御方法であって、
前記メモリに格納された前記オペレーティングシステムのシステムダウン情報を、前記オペレーティングシステムが前記カーネルに通知する工程と、
前記ネットワークインタフェースに接続されている前記他の情報処理装置から受信したパケットに含まれるインターネットプロトコルの種類を前記カーネルが判別する工程と、
判別した前記インターネットプロトコルの種類に従って、前記システムダウンを通知するためのパケットを前記カーネルが生成する工程と、
生成した前記パケットを、前記カーネルが前記ネットワークインタフェースを介して前記他の情報処理装置に送信する工程と、
を含むことを特徴とする情報処理装置の制御方法が提供される。
【0012】
本発明の課題を解決するため、開示の技術の第2の側面によれば、
オペレーティングシステムとカーネルとが動作するプロセッサと、前記プロセッサからアクセス可能なメモリと、他の情報処理装置と接続するネットワークインタフェースと、を有し、
前記プロセッサは、
前記メモリに格納された前記オペレーティングシステムのシステムダウン情報を、前記オペレーティングシステムから前記カーネルに通知し、
前記ネットワークインタフェースに接続されている前記他の情報処理装置から受信したパケットに含まれるインターネットプロトコルの種類を判別し、
判別した前記インターネットプロトコルの種類に従って、前記システムダウン情報を含むパケットを生成し、
生成した前記パケットを、前記ネットワークインタフェースを介して前記他の情報処理装置に送信する、
ことを特徴とする情報処理装置が提供される。
【0013】
本発明の課題を解決するため、開示の技術の第3の側面によれば、
オペレーティングシステムとカーネルとが動作するプロセッサと、前記プロセッサからアクセス可能なメモリと、他の情報処理装置と接続するネットワークインタフェースと、を有する情報処理装置の制御プログラムであって、
コンピュータに、
前記メモリに格納された前記オペレーティングシステムのシステムダウン情報を、前記オペレーティングシステムが前記カーネルに通知する工程と、
前記ネットワークインタフェースに接続されている前記他の情報処理装置から受信したパケットに含まれるインターネットプロトコルの種類を前記カーネルが判別する工程と、
判別した前記インターネットプロトコルの種類に従って、前記システムダウンを通知するためのパケットを前記カーネルが生成する工程と、
生成した前記パケットを、前記カーネルが前記ネットワークインタフェースを介して前記他の情報処理装置に送信する工程と、
を実行させることを特徴とする情報処理装置の制御プログラムが提供される。
【発明の効果】
【0014】
開示の技術によれば、OSがシステムダウンしても、カーネルを動作させることで情報処理装置のOSのシステムダウン情報を他の情報処理装置に対して直接送信することができる。そのため、他の情報処理装置は、情報処理装置のOSのシステムダウン情報を遅延無く検出できる。又、カーネルが送信先のインターネットプロトコルに対応したシステムダウン情報を含むパケットを送信するので、他の情報処理装置は専用のハードウェアの追加、及びOSの改版をすることなく、情報処理装置のシステムダウンを認識できる。
【図面の簡単な説明】
【0015】
【図1】図1は、本実施例に係る情報処理装置の構成を示す図である。
【図2】図2は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【図3】図3は、本実施例に係る情報処理装置の動作例を示すシーケンス図である。
【図4】図4は、本実施例に係る情報処理装置のカーネルに搭載されるプロトコルの層構造におけるソケット処理部の位置付けを説明する図である。
【図5】図5は、本実施例に係る情報処理装置に搭載されるソケット処理部及びソケット管理情報の構成例を説明する図である。
【図6】図6は、本実施例に係る情報処理装置のフローチャートである。
【図7】図7は、本実施例に係る情報処理装置のフローチャートである。
【図8】図8は、本実施例に係る情報処理装置のフローチャートである。
【図9】図9は、本実施例に係る情報処理装置のフローチャートである。
【図10】図10は、本実施例に係る情報処理装置のフローチャートである。
【発明を実施するための形態】
【0016】
以下、開示の技術に係る情報処理装置の制御方法、情報処理装置、及び情報処理装置の制御プログラムが説明される。ただし、開示の技術は本実施例に限定されるものではない。
【0017】
図1は、本実施例に係る情報処理装置100の構成図を示す。情報処理装置100は、メモリ110、CPU(Central Processing Unit)120、I/O(Input/Output)ポート130、ディスク140、及びネットワークカード150を有する。
【0018】
メモリ110は、OS(Operating System)111、カーネル112、及びアプリケーションプログラム115を有する。カーネル112は、階層構造として設計されたOS111の中核となる部分である。カーネル112は、OS111の資源を管理し、情報処理装置100のハードウェア及びソフトウェア間のデータの送受信を制御する。アプリケーションプログラム115は、情報処理装置100の各種アプリケーションプログラムを格納する。
【0019】
なお、OS111のシステムダウンが発生すると、OS111の制御が停止する。OS111の制御が停止した場合でも、情報処理装置100において、カーネル112、CPU120、I/Oポート130、ディスク140、及びネットワークカード150はOS111から独立して動作する。カーネル112には、マイクロカーネルが使用される。マイクロカーネルを使用すると、情報処理装置100のOS111及びカーネル112は、それぞれ独立して動作する。カーネル112に、マイクロカーネルが使用されることにより、情報処理装置100のOS111にシステムダウンが発生した場合でも、カーネル112が独立して動作が可能である。そのため、図2に後述する機能ブロックのうち、プロトコル処理部112A及びカーネルメモリ領域112A3をOS111から独立して動作させることができる。カーネル112はOS111から独立して動作するため、OS111の制御が停止してもカーネル112は動作可能である。なお、本実施例に係る情報処理装置100のシステムダウンは、情報処理装置100のシャットダウンも含む。
【0020】
CPU120は、情報処理装置100の各種処理を実行する。
【0021】
I/Oポート130は、CPU120及びディスク140間のデータの送受信を行うインタフェースの機能を提供する。
【0022】
ディスク140は、CPU120が実行するOS111のプログラム、アプリケーションプログラム115、情報処理装置100を制御するプログラム140A、及びネットワーク定義ファイル111Cの少なくとも一部を一時的に記憶する。また、ディスク140は、CPU120における処理に必要な各種データを記憶する。ネットワーク定義ファイル111Cについての説明は図2に後述する。
【0023】
なお、プログラム140Aは、ディスク140以外の記憶媒体に保持してもよい。プログラム140Aは、例えば、情報処理装置100に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク及びICカードなどの「可搬用の物理的記憶媒体」に記憶される。プログラム140Aは、情報処理装置100の内外に備えられるディスク装置、あるいはLAN(Local Area Network)200、ネットワーク、公衆回線、インターネット、WANなどを介して情報処理装置100に接続される「他のコンピュータ(またはサーバ)」が保持する不図示の記憶媒体に記憶される。CPU120は、ディスク140からプログラム140Aを読み出し、プログラム140Aを実行する。
【0024】
ネットワークカード150は、LAN200との接続に係るインタフェースの機能を提供する。情報処理装置100はLAN200を介してCE(Customer Engneer:システム管理者)端末300、相手端末400及び相手端末400Aと接続する。
【0025】
CE端末300は、LAN200を介して、情報処理装置100の使用者であるCEとの間でデータの送受信を行う。
【0026】
相手端末400及び相手端末400Aは、LAN200を介して、情報処理装置100との間でデータの送受信を行う。相手端末400及び相手端末400Aは、情報処理装置100に対し、TCP(Transmission Control Protocol)/IP(Internet Protocol)通信、UDP(User Datagram Protocol)/IP通信、又はICMP(Internet Control Message Protocol)通信等、複数のインターネットプロトコルのうち何れかを使用してデータの送受信を行う。図1に示すように、情報処置装置100は、複数の相手端末400及び相手端末400Aに接続されている。
【0027】
図2は、本実施例に係る情報処理装置100の構成を示す機能ブロック図である。なお、図2において、図1で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
【0028】
図2に示すように、OS111は、ネットワーク制御部111A、システムダウン制御部111B、ネットワーク定義ファイル111C、及びOSメモリ領域111Dを有する。
【0029】
ネットワーク制御部111Aは、第1設定フラグ111A1を有する。ネットワーク制御部111Aは、カーネル112及びOS111間のデータの送受信を行う。ネットワーク制御部111Aは、カーネル112に対して、ネットワーク定義ファイル111Cの情報を送信する。ネットワーク制御部111Aは、カーネル112内のプロトコル処理部112Aを起動又は停止させる処理を実行する。ネットワーク制御部111Aは、カーネル112からエラーが通知された際に、CE端末300に対してエラーログの出力を行う。
【0030】
第1設定フラグ111A1は、OS111のシステムダウンが発生した際、ネットワーク定義ファイル111Cのネットワークエラー通知機能を有効にするために、CEによるCE端末300からの指示によりオンに設定される。第1設定フラグ111A1の設定をCE端末300からの指示により切替えることができるため、CEは、相手端末400及び相手端末400Aに対するシステムダウン情報の送信の可否を切替えることができる。
【0031】
システムダウン制御部111Bは、OS111にシステムダウンが発生した場合、OS111が停止する前に、メモリダンプ処理としてメモリダンプ情報をカーネル112に出力する。メモリダンプ処理は、例えば、OS111が不正に終了した時に、終了時点におけるメモリ110に格納されたデータ内容を、カーネル112の不揮発領域であるカーネルメモリ領域112A3に格納(ダンプ)する処理をいう。メモリダンプ情報は、メモリダンプ処理の際にダンプされるデータ内容である。メモリダンプ情報は、例えば、システムダウンの原因を解析する際、使用されたプログラム140Aの問題を分析するために利用される。システムダウン制御部111Bは、OS111にシステムダウンが発生した場合、設定処理部112A1に、カーネル112の起動を指示する。
【0032】
ネットワーク定義ファイル111Cは、情報処理装置100、CE端末300、相手端末400及び相手端末400Aの各情報を定義するファイルである。ネットワーク定義ファイル111Cは、例えば、図1で示したネットワークカード150で設定されるデータ通信速度、情報処理装置100、CE端末300、相手端末400及び相手端末400Aの各IPアドレス及びゲートウェイアドレスの情報を含む。ネットワーク定義ファイル111Cは、情報処理装置100が、ネットワークカード150及びLAN200を介してCE端末300、相手端末400及び相手端末400Aとネットワーク接続し、データの送受信を行う際に使用される。OS111は、ディスク140からネットワーク定義ファイル111Cを取得する。
【0033】
OSメモリ領域111Dは、OS111のデータを一時的に格納する。OS111のシステムダウンの際、システムダウン制御部111Bは、OSメモリ領域111Dに格納されたOS111のデータを取得してメモリダンプ情報を作成する。
【0034】
なお、OSメモリ領域111Dは、プログラム140Aが動作するときに使用するデータ及びプログラム140Aが格納されるメモリ領域である。OS111のシステムダウン時において、OSメモリ領域111Dは、ディスク140のシステムダウンファイルを格納する。OSメモリ領域111Dに格納されるシステムダウンファイルは、OS111の再起動時に消去される。
【0035】
カーネル112は、プロトコル処理部112Aを有する。プロトコル処理部112Aは、相手端末400及び相手端末400Aから受信した受信パケットに含まれるプロトコルの種類を判別する。プロトコル処理部112Aは、TCP/IP、UDP/IP、又はICMPのうち、判別されたインターネットプロトコルの種類に応じてシステムダウン情報を含む送信パケットを作成する。プロトコル処理部112Aは、作成した送信パケットを、相手端末400及び相手端末400Aに送信する。
【0036】
プロトコル処理部112Aは、設定処理部112A1、応答処理部112A2、及びカーネルメモリ領域112A3を有する。
【0037】
設定処理部112A1は、カーネルメモリ領域112A3の第2設定フラグ112A3−1に対して、エラー通知機能のオン又はオフを設定する。設定処理部112A1は、CEによるCE端末300からの要求により、OS111のシステムダウン中であっても、相手端末400及び相手端末400Aに対してパケット応答を行う機能を保障できるように設けられている。設定処理部112A1は、エラー通知機能をオンに設定して、相手端末400及び相手端末400Aに対する情報処理装置100のシステムダウン情報の送信を行う。
【0038】
応答処理部112A2は、ソケット処理部112A2−2、及び通知処理部112A2−3を有する。応答処理部112A2は、システムダウン制御部111Bから通知されたOS111のシステムダウン情報を処理してTCP/IP、UDP/IP、又はICMPのうち何れかのインターネットプロトコルを使用して作成された送信パケットを作成する。応答処理部112A2は、作成した送信パケットを、ネットワークカード150及びLAN200を介して相手端末400及び相手端末400Aに送信する。
【0039】
ソケット処理部112A2−2は、TCP応答処理部112A2−2A、UDP応答処理部112A2−2B、ICMP応答処理部112A2−2C、及びテーブル112A2−2Dを有する。ソケットとは、TCP/IP通信、又はUDP/IP通信を行う情報処理装置100が有するネットワーク内でのIPアドレスと、IPアドレスのサブアドレスであるポート番号を組み合わせたネットワークアドレスのことをいう。ソケット処理部112A2−2は、OS111のシステムダウン情報を含む送信パケットを作成し、相手端末400及び相手端末400Aに対して応答するためのソケット情報を作成する。ソケット情報は、相手端末400及び相手端末400Aに対する応答開始時に作成され、応答終了後に削除される。
【0040】
TCP応答処理部112A2−2Aは、相手端末400及び相手端末400Aから受信した受信パケットがTCP/IPを用いて作成されている場合、後述する図7〜図8の処理に従い、OS111のシステムダウン情報を含む送信パケットをTCP/IPを用いて作成する。TCP応答処理部112A2−2Aは、作成した送信パケットを、ネットワークカード150及びLAN200を介して相手端末400及び相手端末400Aに送信する。
【0041】
UDP応答処理部112A2−2Bは、相手端末400及び相手端末400Aから受信した受信パケットがUDP/IPを用いて作成されている場合、後述する図7及び図9の処理に従い、システムダウン情報を含む送信パケットをICMPを用いて作成する。UDP応答処理部112A2−2Bは、作成した送信パケットを、ネットワークカード150及びLAN200を介して相手端末400及び相手端末400Aに送信する。
【0042】
ICMP応答処理部112A2−2Cは、相手端末400及び相手端末400Aから受信した受信パケットがICMPを用いて作成されている場合、後述する図7及び図10の処理に従い、システムダウン情報を含む送信パケットを、ICMPを用いて作成する。ICMP応答処理部112A2−2Cは、作成した送信パケットを、ネットワークカード150及びLAN200を介して相手端末400及び相手端末400Aに送信する。なお、テーブル112A2−2Dの説明は、図5に後述する。
【0043】
通知処理部112A2−3は、システムダウン制御部111Bからシステムダウン情報を処理する。通知処理部112A2−3は、通知されたシステムダウン情報をソケット処理部112A2−2に通知する。通知処理部112A2−3は、OS111からシステムダウン情報が通知されたことを示すフラグ情報を、カーネルメモリ領域112A3の認識フラグ112A3−2に通知する。
【0044】
カーネルメモリ領域112A3は、第2設定フラグ112A3−1及び認識フラグ112A3−2を有する。カーネルメモリ領域112A3は、カーネル112のデータを一時的に格納する。カーネルメモリ領域112A3は、ネットワーク定義ファイル111Cを格納する。カーネルメモリ領域112A3は、OS111から出力されたメモリダンプ情報を格納する。
【0045】
第2設定フラグ112A3−1は、設定処理部112A1から通知された第1設定フラグ111A1のオン/オフ切替え指示に基づいて、オン又はオフが切替えられる。第1設定フラグ111A1がオンの場合、設定処理部112A1は第2設定フラグ112A3−1をオンに設定する。図8〜図10に後述するように、第2設定フラグ112A3−1がオンに設定される場合、OS111のシステムダウン発生後に相手端末400及び相手端末400Aからパケット情報を受信した時、応答処理部112A2は、ソケット処理部112A2−2を用いて相手端末400及び相手端末400Aにシステムダウン情報を送信できる。
【0046】
認識フラグ112A3−2は、通知処理部112A2−3から通知されたOS111のシステムダウン情報に基づいて、オン又はオフが切替えられる。認識フラグ112A3−2は、OS111のシステムダウン情報が通知処理部112A2−3から通知された場合、認識フラグ112A3−2はオンに設定される。図8〜図10に後述するように、認識フラグ112A3−2がオンに設定される場合、OS111のシステムダウン発生後に相手端末400及び相手端末400Aからパケット情報を受信した時、応答処理部112A2は、ソケット処理部112A2−2を用いて相手端末400及び相手端末400Aにシステムダウン情報を送信できる。
【0047】
図3は、本実施例に係る情報処理装置100の動作例を示すシーケンス図である。図3に示す処理は、CEがCE端末300を用いて、OS111のシステムダウン情報を相手端末400及び相手端末400Aに送信するための環境設定処理を示す。図3に示す処理は、CEがCE端末300を用いて、各種指示などを行う。なお、図3において、図1〜図2で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
【0048】
図3に示すように、CEは、CE端末300を用いて、ネットワーク定義ファイル111Cにネットワークエラー通知機能を有効とするか指定する(OP1)。ネットワークエラー通知機能を有効とした場合、CEは、CE端末300を用いて、ネットワーク制御部111Aの第1設定フラグ111A1をオンに設定する。CEは、CE端末300を用いて、カーネル112の起動を指示する(OP2)。
【0049】
OS111は、CE端末300からのカーネル112の起動の指示が通知されると、ディスク140からネットワーク定義ファイル111Cの情報を取得する(OP3)。OS111のシステムダウン制御部111Bは、設定処理部112A1に、カーネル112の起動を指示する(OP4)。
【0050】
カーネル112の設定処理部112A1は、システムダウン制御部111Bからカーネル112の起動の指示が通知されると、カーネル112全体を起動させる(OP5)。設定処理部112A1は、OS111から送信されたネットワーク定義ファイル111Cをカーネルメモリ領域112A3に格納する(OP6)。設定処理部112A1は、カーネルメモリ領域112A3の第2設定フラグ112A3−1をオンに設定する(OP7)。通知処理部112A2−3は、OS111のシステムダウン時に、カーネルメモリ領域112A3の認識フラグ112A3−2をオンに設定する(OP7)。
【0051】
図4は、本実施例に係る情報処理装置100のカーネル112に搭載されているプロトコルの層構造におけるソケット処理部112A2−2の位置付けを説明するための図である。なお、図4において、図1〜図3で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
【0052】
図4に示すように、情報処理装置100に搭載されているプロトコルは、アプリケーション層、トランスポート層、ネットワーク層及びリンク層を有する。アプリケーション層は、例えば、FTP(File Transfer Protocol)サーバ、WWW(World Wide Web)サーバ等を含む。トランスポート層は、TCP、UDP等を有する。ネットワーク層は、IP、ICMP、IGMP(Internet Group Message Protocol)等を含む。リンク層は、各種デバイスドライバを有する。ソケット処理部112A2−2は、アプリケーション層及びトランスポート層との間に設けられており、周知のソケットインタフェースによる機能を提供する。
【0053】
図5は、本実施例に係る情報処理装置100に搭載されるソケット処理部112A2−2及びソケット管理情報の構成例を説明する図である。なお、図5において、図1〜図4で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
【0054】
図5に示すように、ソケット処理部112A2−2は、相手端末400及び相手端末400Aからパケットの受信を開始した時刻に、作成したソケット情報をテーブル112A2−2Dに格納されるソケット番号と連鎖させて格納する。ソケット処理部112A2−2は、相手端末400及び相手端末400Aからパケットの受信を終了した時刻に、作成したソケット情報をテーブル112A2−2Dから削除してテーブル112A2−2Dを更新する。なお、ソケット処理部112A2−2は、相手端末400又は相手端末400A毎と連鎖させたソケット番号を作成してテーブル112A2−2Dに格納する。
【0055】
なお、テーブル112A2−2Dは、相手端末400及び相手端末400Aからの受信パケットのソケットタイプを含むソケット管理情報を各々のソケット番号と連鎖させて格納する。ソケット処理部112A2−2は、テーブル112A2−2Dに格納されている相手端末400及び相手端末400Aのソケット管理情報が有するソケットタイプを参照に、受信パケットがTCP/IP又はUDP/IPを用いて作成されているか判断する。例えば、ソケット処理部112A2−2は、相手端末400と連鎖したソケット管理情報410Aのソケットタイプがストリームである場合、受信パケットがTCP/IPを用いて作成されていると判断する。又、ソケット処理部112A2−2は、相手端末400と連鎖したソケット管理情報410Bのソケットタイプがデータグラムである場合、受信パケットがUDP/IPを用いて作成されていると判断する。又、ソケット処理部112A2−2は、相手端末400Aと連鎖したソケット管理情報410Cのソケットタイプがストリームである場合、受信パケットがTCP/IPを用いて作成されていると判断する。
【0056】
なお、ソケット処理部112A2−2は、テーブル112A2−2Dに格納されているソケット番号のうち、ソケット番号1からソケット番号Nまで、テーブル112A2−2Dの上方向から下方向へソケット番号を順次参照する。ソケット番号Nは、テーブル112A2−2Dに格納されているソケット番号のうち、最終のソケット番号である。テーブル112A2−2Dに格納されているソケット番号のうち、情報処理装置100と不図示の相手端末との通信終了のために欠番が発生した場合、ソケット処理部112A2−2は、欠番の下側にあるソケット番号を順次参照する。ソケット処理部112A2−2は、ソケット番号Nの参照を終了したとき、テーブル112A2−2Dの参照工程を終了する。
【0057】
ソケット処理部112A2−2は、TCP応答処理部112A2−2A、UDP応答処理部112A2−2B、及びICMP応答処理部112A2−2Cを用い、テーブル112A2−2Dを参照して、相手端末400及び相手端末400Aから受信した受信パケットのインターネットプロトコルの種類に従ってシステムダウン情報を作成できる。そのため、他の情報処理装置である相手端末400及び相手端末400Aは、専用のハードウェアの追加、及びOS111の改版をすることなく、情報処理装置100のOS111のシステムダウン情報を受信できる。
【0058】
図6は、本実施例に係る情報処理装置100の動作を示すフローチャートである。図6は、OS111のシステムダウンが発生した時の、相手端末400及び相手端末400Aに対する通信処理を説明する。図6は、OS111のシステムダウン情報が、カーネル112へ送信された際に行われる処理を説明する。なお、図6において、図1〜図5で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
【0059】
図6に示すように、OS111のシステムダウンが発生した場合、通知処理部112A2−3は、カーネルメモリ領域112A3の認識フラグ112A3−2をオンに設定する(OP11)。次いで、応答処理部112A2は、第2設定フラグ112A3−1がオンに設定されているか判断する(OP12)。第2設定フラグ112A3−1がオンである場合(OP12 YES)、ソケット処理部112A2−2は、テーブル112A2−2Dを参照にして、参照するソケット番号が最終であるか判断する(OP13)。第2設定フラグ112A3−1がオンでは無い場合(OP12 NO)、情報処理装置100は相手端末400又は相手端末400Aに対する通信処理を終了する。
【0060】
ソケット処理部112A2−2は、ソケット番号が最終ではない場合(OP13 NO)、ソケット処理部112A2−2は、テーブル112A2−2Dを参照にして、参照するソケット番号とソケット管理情報との間に連鎖があるか判断する(OP14)。参照するソケット番号とソケット管理情報との間に連鎖がある場合(OP14 YES)、ソケット処理部112A2−2は、テーブル112A2−2Dを参照にして、情報処理装置100がTCPを用いて相手端末400と通信中であるか判断する(OP15)。参照するソケット番号とソケット管理情報との間に連鎖が無い場合(OP14 NO)、ソケット処理部112A2−2は、OP13の処理に戻る。
【0061】
情報処理装置100がTCPを用いて相手端末400又は相手端末400Aと通信中である場合(OP15 YES)、TCP応答処理部112A2−2AはRESETパケットを作成する(OP16)。RESETパケットとは、相手端末400又は相手端末400Aに対して、通信のリセットを要求するパケットである。情報処理装置100がTCPを用いて相手端末400又は相手端末400Aと通信中ではない場合(OP15 NO)、ソケット処理部112A2−2は、テーブル112A2−2Dを参照にして、情報処理装置100がUDPで相手端末400又は相手端末400Aと通信中であるか判断する(OP19)。
【0062】
TCP応答処理部112A2−2Aは、RESETパケットを作成すると(OP16)、
相手端末400に対してRESETパケットを送信する(OP17)。次いで、ソケット処理部112A2−2は、テーブル112A2−2Dを参照する(OP18)。その後、ソケット処理部112A2−2は、OP13の処理に戻る。
【0063】
情報処理装置100がUDPを用いて相手端末400又は相手端末400Aと通信中である場合(OP19 YES)、UDP応答処理部112A2−2Bは、到達不可のICMPパケットを作成する(OP20)。到達不可のICMPパケットとは、相手端末400又は相手端末400Aから送信されたパケットが、情報処理装置100に到達できなかった状態を示すパケットである。UDPを用いて相手端末400又は相手端末400Aと通信中ではない場合(OP19 NO)、ソケット処理部112A2−2は、テーブル112A2−2Dを参照にする(OP22)。その後、ソケット処理部112A2−2は、OP13の処理に戻る。
【0064】
UDP応答処理部112A2−2Bは、到達不可のICMPパケットを作成すると(OP20)、相手端末400又は相手端末400Aに対して到達不可のICMPパケットを送信する(OP21)。次いで、ソケット処理部112A2−2は、テーブル112A2−2Dを参照にする(OP22)。その後、ソケット処理部112A2−2は、OP13の処理に戻る。
【0065】
なお、RESETパケット、及び到達不可のICMPパケットは、公知のパケットである。そのため、ソケット処理部112A2−2は、インターネットプロトコルの種類に従い、公知のパケットを使用してシステムダウン情報を伝達できる。そのため、公知のパケットを受信することで、他の情報処理装置である相手端末400又は相手端末400Aは専用のハードウェアの追加、及びOS111の改版をすることなく、情報処理装置100のシステムダウンを認識できる。
【0066】
図7〜図10は、本実施例に係る情報処理装置100の動作を示すフローチャートである。特に、図8〜図10は、OS111のシステムダウン発生後、相手端末400からパケットを受信した際に行われる処理を説明する。図7のAに示す処理は図8のAに続いている。図7のBに示す処理は図9のBに続いている。図7のCに示す処理は図10のCに続いている。なお、図7〜図10において、図1〜図6で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
【0067】
図7に示すように、OS111のシステムダウンが発生した場合、ソケット処理部112A2−2は、相手端末400又は相手端末400Aからの受信パケットの解析を行う(OP31)。ソケット処理部112A2−2は、受信パケット解析結果に基づいて、TCP応答処理部112A2−2A、UDP応答処理部112A2−2B、又はICMP応答処理部112A2−2Cの呼出しを行う(OP32)。ソケット処理部112A2−2は、相手端末400からの受信パケットのプロトコルがTCPであるか判断する(OP33)。
【0068】
受信パケットのプロトコルがTCPである場合(OP33 YES)、ソケット処理部112A2−2は、図8のAに示す処理に移行する。受信パケットのプロトコルがTCPでは無い場合(OP33 NO)、ソケット処理部112A2−2は、相手端末400又は相手端末400Aからの受信パケットのプロトコルがUDPであるか判断する(OP34)。
【0069】
受信パケットのプロトコルがUDPである場合(OP34 YES)、ソケット処理部112A2−2は、図9のBに示す処理に移行する。受信パケットのプロトコルがUDPでは無い場合(OP34 NO)、ソケット処理部112A2−2は、相手端末400又は相手端末400Aからの受信パケットのプロトコルがICMPであるか判断する(OP35)。
【0070】
受信パケットのプロトコルがICMPである場合(OP35 YES)、ソケット処理部112A2−2は、図10のCに示す処理に移行する。受信パケットのプロトコルがICMPでは無い場合(OP35 NO)、情報処理装置100は相手端末400又は相手端末400Aに対する通信処理を終了する。なお、図7に示す動作は、OS111のシステムダウンが発生していない通常状態でも行われる。
【0071】
図8において、第1設定フラグ111A1がオンである場合(OP41 YES)、ソケット処理部112A2−2は、認識フラグ112A3−2がオンであるか判断する(OP42)。第1設定フラグ111A1がオンでは無い場合(OP41 NO)、情報処理装置100は相手端末400又は相手端末400Aに対する通信処理を終了する。
【0072】
認識フラグ112A3−2がオンである場合(OP42 YES)、TCP応答処理部112A2−2AはRESETパケットを作成する(OP43)。認識フラグ112A3−2がオンでは無い場合(OP42 NO)、情報処理装置100は相手端末400又は相手端末400Aに対する通信処理を終了する。
【0073】
TCP応答処理部112A2−2Aは、RESETパケットを作成すると(OP43)、相手端末400又は相手端末400Aに対してRESETパケットを送信する(OP44)。その後、情報処理装置100は相手端末400又は相手端末400Aに対する通信処理を終了する。
【0074】
図9において、第1設定フラグ111A1がオンである場合(OP51 YES)、ソケット処理部112A2−2は、認識フラグ112A3−2がオンであるか判断する(OP52)。第1設定フラグ111A1がオンでは無い場合(OP51 NO)、情報処理装置100は相手端末400又は相手端末400Aに対する通信処理を終了する。
【0075】
認識フラグ112A3−2がオンである場合(OP52 YES)、UDP応答処理部112A2−2Bは到達不可のICMPパケットを作成する(OP53)。認識フラグ112A3−2がオンでは無い場合(OP52 NO)、情報処理装置100は相手端末400又は相手端末400Aに対する通信処理を終了する。
【0076】
UDP応答処理部112A2−2Bは、到達不可のICMPパケットを作成すると(OP53)、相手端末400に対して到達不可のICMPパケットを送信する(OP54)。その後、情報処理装置100は相手端末400又は相手端末400Aに対する通信処理を終了する。
【0077】
図10において、第1設定フラグ111A1がオンである場合(OP61 YES)、ソケット処理部112A2−2は、認識フラグ112A3−2がオンであるか判断する(OP62)。第1設定フラグ111A1がオンでは無い場合(OP61 NO)、情報処理装置100は相手端末400又は相手端末400Aに対する通信処理を終了する。
【0078】
認識フラグ112A3−2がオンである場合(OP62 YES)、ICMP応答処理部112A2−2Cは到達不可のICMPパケットを作成する(OP63)。認識フラグ112A3−2がオンでは無い場合(OP62 NO)、情報処理装置100は相手端末400又は相手端末400Aに対する通信処理を終了する。
【0079】
ICMP応答処理部112A2−2Cは、到達不可のICMPパケットを作成すると(OP63)、相手端末400又は相手端末400Aに対して到達不可のICMPパケットを送信する(OP64)。その後、情報処理装置100は相手端末400又は相手端末400Aに対する通信処理を終了する。
【0080】
開示の技術によれば、OS111がシステムダウンしても、カーネル112を動作させることで情報処理装置100のOS111のシステムダウン情報を他の情報処理装置である相手端末400に対して直接送信することができる。そのため、相手端末400又は相手端末400Aは、情報処理装置100のOS111のシステムダウン情報を遅延無く検出できる。又、カーネル112が送信先のインターネットプロトコルに対応したシステムダウン情報を含むパケットを送信するので、相手端末400又は相手端末400Aは専用のハードウェアの追加、及びOS111の改版をすることなく、情報処理装置100のシステムダウンを認識できる。
【0081】
(付記1)
オペレーティングシステムとカーネルとが動作するプロセッサと、前記プロセッサからアクセス可能なメモリと、他の情報処理装置と接続するネットワークインタフェースと、を有する情報処理装置の制御方法であって、
前記メモリに格納された前記オペレーティングシステムのシステムダウン情報を、前記オペレーティングシステムが前記カーネルに通知する工程と、
前記ネットワークインタフェースに接続されている前記他の情報処理装置から受信したパケットに含まれるインターネットプロトコルの種類を前記カーネルが判別する工程と、
判別した前記インターネットプロトコルの種類に従って、前記システムダウンを通知するためのパケットを前記カーネルが生成する工程と、
生成した前記パケットを、前記カーネルが前記ネットワークインタフェースを介して前記他の情報処理装置に送信する工程と、
を含むことを特徴とする情報処理装置の制御方法。
【0082】
(付記2)
生成した前記パケットを、前記カーネルが前記ネットワークインタフェースを介して前記他の情報処理装置に送信する工程は、前記システムダウン情報が、前記オペレーティングシステムから前記カーネルに通知される際に行われる、又は、前記他の情報処理装置から前記ネットワークインタフェースを介して前記パケットを受信した際に行われることを特徴とする付記1記載の情報処理装置の制御方法。
【0083】
(付記3)
前記カーネルは、前記オペレーティングシステムから前記システムダウン情報を受信したとき、前記オペレーティングシステムの動作状況を示す動作フラグを、前記システムダウン情報が通知されたことを示す状態に設定する工程を有することを特徴とする付記1又は付記2記載の情報処理装置の制御方法。
【0084】
(付記4)
前記システムダウン情報は、前記オペレーティングシステムが作成するメモリダンプ情報であることを特徴とする付記1乃至付記3のいずれか1つに記載の情報処理装置の制御方法。
【0085】
(付記5)
前記インターネットプロトコルの種類は、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)、又は、ICMP(Internet Control Message Protocol)であることを特徴とする付記1又は付記2記載の情報処理装置の制御方法。
【0086】
(付記6)
オペレーティングシステムとカーネルとが動作するプロセッサと、前記プロセッサからアクセス可能なメモリと、他の情報処理装置と接続するネットワークインタフェースと、を有し、
前記プロセッサは、
前記メモリに格納された前記オペレーティングシステムのシステムダウン情報を前記オペレーティングシステムから前記カーネルに通知し、
前記ネットワークインタフェースに接続されている前記他の情報処理装置から受信したパケットに含まれるインターネットプロトコルの種類を判別し、
判別した前記インターネットプロトコルの種類に従って、前記システムダウン情報を含むパケットを生成し、
生成した前記パケットを、前記ネットワークインタフェースを介して前記他の情報処理装置に送信する、
ことを特徴とする情報処理装置。
【0087】
(付記7)
前記プロセッサは、生成した前記パケットを、前記ネットワークインタフェースを介して前記他の情報処理装置に送信する、又は、前記他の情報処理装置から前記ネットワークインタフェースを介して前記パケットを受信した際に、生成された前記パケットを、前記カーネルから前記ネットワークインタフェースを介して前記他の情報処理装置に送信することを特徴とする付記6記載の情報処理装置。
【0088】
(付記8)
前記プロセッサは、前記オペレーティングシステムから前記システムダウン情報を受信したとき、前記オペレーティングシステムの動作状況を示す動作フラグを、前記システムダウンが通知されたことを示す状態に設定することを特徴とする付記6又は付記7記載の情報処理装置。
【0089】
(付記9)
前記システムダウン情報は、前記オペレーティングシステムが作成するメモリダンプ情報であることを特徴とする付記6乃至付記8のいずれか1つに記載の情報処理装置。
【0090】
(付記10)
前記インターネットプロトコルの種類は、TCP、UDP、又はICMPであることを特徴とする付記6又は付記7記載の情報処理装置。
【0091】
(付記11)
オペレーティングシステムとカーネルとが動作するプロセッサと、前記プロセッサからアクセス可能なメモリと、他の情報処理装置と接続するネットワークインタフェースと、を有する情報処理装置の制御プログラムであって、
コンピュータに、
前記メモリに格納された前記オペレーティングシステムのシステムダウン情報を、前記オペレーティングシステムが前記カーネルに通知する工程と、
前記ネットワークインタフェースに接続されている前記他の情報処理装置から受信したパケットに含まれるインターネットプロトコルの種類を前記カーネルが判別する工程と、
判別した前記インターネットプロトコルの種類に従って、前記システムダウンを通知するためのパケットを前記カーネルが生成する工程と、
生成した前記パケットを、前記カーネルが前記ネットワークインタフェースを介して前記他の情報処理装置に送信する工程と、
を実行させることを特徴とする情報処理装置の制御プログラム。
【0092】
(付記12)
生成した前記パケットを、前記カーネルが前記ネットワークインタフェースを介して前記他の情報処理装置に送信する前記工程は、前記システムダウン情報が、前記オペレーティングシステムから前記カーネルに通知される際に行われる、又は、前記他の情報処理装置から前記ネットワークインタフェースを介して前記パケットを受信した際に行われることを特徴とする付記11記載の情報処理装置の制御プログラム。
【0093】
(付記13)
前記カーネルは、前記オペレーティングシステムから前記システムダウン情報を受信したとき、前記オペレーティングシステムの動作状況を示す動作フラグを、前記システムダウン情報が通知されたことを示す状態に設定する工程を有することを特徴とする付記11又は付記12記載の情報処理装置の制御プログラム。
【0094】
(付記14)
前記システムダウン情報は、前記オペレーティングシステムが作成するメモリダンプ情報であることを特徴とする付記11乃至付記13のいずれか1つに記載の情報処理装置の制御プログラム。
【0095】
(付記15)
前記インターネットプロトコルの種類は、TCP、UDP、又はICMPであることを特徴とする付記11又は付記12記載の情報処理装置の制御プログラム。
【符号の説明】
【0096】
100 情報処理装置
110 メモリ
111 OS
111A ネットワーク制御部
111A1 第1設定フラグ
111B システムダウン制御部
111C ネットワーク定義ファイル
111D OSメモリ領域
112 カーネル
112A プロトコル処理部
112A1 設定処理部
112A2 応答処理部
112A2−2 ソケット処理部
112A2−2A TCP応答処理部
112A2−2B UDP応答処理部
112A2−2C ICMP応答処理部
112A2−3 通知処理部
112A3 カーネルメモリ領域
112A3−1 第2設定フラグ
112A3−2 認識フラグ
115 アプリケーションプログラム
120 CPU
130 I/Oポート
140 ディスク
140A プログラム
150 ネットワークカード
200 LAN
300 CE端末
400 相手端末
400A 相手端末
410A ソケット管理情報
410B ソケット管理情報
410C ソケット管理情報

【特許請求の範囲】
【請求項1】
オペレーティングシステムとカーネルとが動作するプロセッサと、前記プロセッサからアクセス可能なメモリと、他の情報処理装置と接続するネットワークインタフェースと、を有する情報処理装置の制御方法であって、
前記メモリに格納された前記オペレーティングシステムのシステムダウン情報を、前記オペレーティングシステムが前記カーネルに通知する工程と、
前記ネットワークインタフェースに接続されている前記他の情報処理装置から受信したパケットに含まれるインターネットプロトコルの種類を前記カーネルが判別する工程と、
判別した前記インターネットプロトコルの種類に従って、前記システムダウンを通知するためのパケットを前記カーネルが生成する工程と、
生成した前記パケットを、前記カーネルが前記ネットワークインタフェースを介して前記他の情報処理装置に送信する工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項2】
生成した前記パケットを、前記カーネルが前記ネットワークインタフェースを介して前記他の情報処理装置に送信する工程は、前記システムダウン情報が、前記オペレーティングシステムから前記カーネルに通知される際に行われる、又は、前記他の情報処理装置から前記ネットワークインタフェースを介して前記パケットを受信した際に行われることを特徴とする請求項1記載の情報処理装置の制御方法。
【請求項3】
前記カーネルは、前記オペレーティングシステムから前記システムダウン情報を受信したとき、前記オペレーティングシステムの動作状況を示す動作フラグを、前記システムダウン情報が通知されたことを示す状態に設定する工程を有することを特徴とする請求項1又は請求項2記載の情報処理装置の制御方法。
【請求項4】
前記システムダウン情報は、前記オペレーティングシステムが作成するメモリダンプ情報であることを特徴とする請求項1乃至請求項3のいずれか1項記載の情報処理装置の制御方法。
【請求項5】
前記インターネットプロトコルの種類は、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)、又は、ICMP(Internet Control Message Protocol)であることを特徴とする請求項1又は請求項2記載の情報処理装置の制御方法。
【請求項6】
オペレーティングシステムとカーネルとが動作するプロセッサと、前記プロセッサからアクセス可能なメモリと、他の情報処理装置と接続するネットワークインタフェースと、を有し、
前記プロセッサは、
前記メモリに格納された前記オペレーティングシステムのシステムダウン情報を、前記オペレーティングシステムから前記カーネルに通知し、
前記ネットワークインタフェースに接続されている前記他の情報処理装置から受信したパケットに含まれるインターネットプロトコルの種類を判別し、
判別した前記インターネットプロトコルの種類に従って、前記システムダウン情報を含むパケットを生成し、
生成した前記パケットを、前記ネットワークインタフェースを介して前記他の情報処理装置に送信する、
ことを特徴とする情報処理装置。
【請求項7】
前記プロセッサは、生成した前記パケットを、前記ネットワークインタフェースを介して前記他の情報処理装置に送信する、又は、前記他の情報処理装置から前記ネットワークインタフェースを介して前記パケットを受信した際に、生成された前記パケットを、前記カーネルから前記ネットワークインタフェースを介して前記他の情報処理装置に送信することを特徴とする請求項6記載の情報処理装置。
【請求項8】
前記プロセッサは、前記オペレーティングシステムから前記システムダウン情報を受信したとき、前記オペレーティングシステムの動作状況を示す動作フラグを、前記システムダウンが通知されたことを示す状態に設定することを特徴とする請求項6又は請求項7記載の情報処理装置。
【請求項9】
オペレーティングシステムとカーネルとが動作するプロセッサと、前記プロセッサからアクセス可能なメモリと、他の情報処理装置と接続するネットワークインタフェースと、を有する情報処理装置の制御プログラムであって、
コンピュータに、
前記メモリに格納された前記オペレーティングシステムのシステムダウン情報を、前記オペレーティングシステムが前記カーネルに通知する工程と、
前記ネットワークインタフェースに接続されている前記他の情報処理装置から受信したパケットに含まれるインターネットプロトコルの種類を前記カーネルが判別する工程と、
判別した前記インターネットプロトコルの種類に従って、前記システムダウンを通知するためのパケットを前記カーネルが生成する工程と、
生成した前記パケットを、前記カーネルが前記ネットワークインタフェースを介して前記他の情報処理装置に送信する工程と、
を実行させることを特徴とする情報処理装置の制御プログラム。
【請求項10】
生成した前記パケットを、前記カーネルが前記ネットワークインタフェースを介して前記他の情報処理装置に送信する前記工程は、前記システムダウン情報が、前記オペレーティングシステムから前記カーネルに通知される際に行われる、又は、前記他の情報処理装置から前記ネットワークインタフェースを介して前記パケットを受信した際に行われることを特徴とする請求項9記載の情報処理装置の制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate