(57)【要約】【課題】本発明は、メモリリークによるハングアップが回避でき、かつ、クライアントに対する情報サービスを継続して提供できる情報管理システムを提供することを目的とする。【解決手段】本発明は、クライアント端末と、前記クライアント端末に通信手段を介して接続される複数の情報管理サーバを有する情報管理システムにおいて、順次実行される前記情報管理サーバの再起動時期は、メモリリーク等によるハングアップの予想発生時期以前で、かつ再起動が互いに時間的に重ならないようにし、再起動中の情報管理サーバの業務処理を、他の情報管理サーバが代行することを特徴とする。【選択図】図１
2008117268.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末と、前記クライアント端末に通信手段を介して接続される複数の情報管理サーバを有する情報管理システムにおいて、
順次実行される前記情報管理サーバの再起動時期は、メモリリーク等によるハングアップの予想発生時期以前で、かつ再起動が互いに時間的に重ならないことを特徴とする情報管理システム。
【請求項２】
請求項１記載の情報管理システムにおいて、
再起動中の情報管理サーバの業務処理は、他の情報管理サーバが代行することを特徴とする情報管理システム。
【請求項３】
請求項１記載の情報管理システムにおいて、
データベース機構を備えない情報管理サーバは、データベース機構を備える情報管理サーバのデータを通信手段を介して保存、参照を行い、
前記データベース機構を有する情報管理サーバが再起動中は、前記データベース機構を備えない情報管理サーバがデータを一次的に保持し、前記データベース機構を有する情報管理サーバが再起動を終えたら前記一次的に保持したデータを前記データベース機構が備わる情報管理サーバに転送して前記データベース機構に保存を行うことを特徴とする情報管理システム。
【請求項４】
請求項１記載の情報管理システムにおいて、
前記クライアント端末と通信接続中の情報管理サーバが再起動時期に至った場合には、当該クライアント端末との通信接続を別の情報管理サーバが担うように割り当てることを特徴とする情報管理システム。
【請求項５】
請求項１記載の情報管理システムにおいて、
データベース機構を有する情報管理サーバについては、過去に保存されたデータベース内容を参照して業務処理を行う時間帯をはずして、再起動のタイミングの割当てを行うことを特徴とする情報管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製造業界向に用いられる情報管理システムに関するものである。
【０００２】
製造業向け情報管理システムでは、最低１回／日の電源切断をするのが普通である通常のコンピュータを２４時間３６５日無停止で製造業向け情報管理システムの情報管理サーバとして用いる。
【背景技術】
【０００３】
製造業向けの情報管理システムにおいては、信頼性上の枢要な要素はシステムの中核に位置するサーバコンピュータ群である。これらのサーバコンピュータ群が故障すると情報管理システム系全体の情報管理、システム運用等に重大な影響が及ぶため、これらのサーバコンピュータ群はクラスタ構成等の冗長化手法による高信頼化が図られるのが通例である（例えば、特許文献１参照）。
【０００４】
【特許文献１】特開２０００−１５５６９８号公報
【特許文献２】特開２００４−２１３１２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ハードウェアを冗長化したとしても、コンピュータが使用したメモリ領域の開放命令の欠如等が原因でメモリ等のリソースを次第に食い潰す不具合に起因して、システムがハングアップに至るケースが多い。
【０００６】
これは、１回／日は電源の切断が行われる一般のビジネス用途のコンピュータ等と異なり、製造業向け等のヘビーデューティシステムは、２４時間３６５日、無停止運用が通例で、１回／日の電源切断で解消される筈のメモリリーク現象が何日も何ヶ月も継続するため、ある日、突然に、ハングアップとなって顕在化するものである。
【０００７】
この、メモリリーク等のリソース食い潰しを原因とするハングアップは、いつ起きるとも判然とせず、又、ハードウェアの二重化、三重化等による冗長化の対策を施しても、複数の処理装置において同時期に発生する可能性も低くなく、ハードウェアの冗長化による高信頼化では十分でない面があった。
【０００８】
なお、メモリリークは、コンピュータの動作中に、使用可能なメモリ容量がだんだん減っていく現象である。ＯＳやアプリケーション・ソフトが処理のために占有したメモリ領域を、なんらかの理由で開放しないまま放置してしまうために起きる。多くの場合、ＯＳのメモリ管理方法に問題があったり、アプリケーション・ソフトに不具合(バグ)が残っていたりすることが原因である。メモリリークにより利用可能なメモリ領域が減少すると、システムの性能が低下したり、不安定になったりする。
【０００９】
また、特許文献２に示されるサーバシステムでは、サーバを再起動してハングアップの防止をしている。サーバの再起動タイミングは、サーバの稼動状況に関係するメモリリークのしきい値に基づいてしている。
【００１０】
しかし、サーバの再起動時には、サーバはクライアントに対する情報サービスの提供ができなくなる。クライアントに対し複数のサーバを用いて対応しているが、メモリリークのしきい値による再起動タイミングが重なってしまうと、クライアントに対する情報サービスの提供ができなくなる。
【００１１】
本発明は、上記の問題に鑑み、メモリリークによるハングアップが回避でき、かつ、クライアントに対する情報サービスを継続して提供できる情報管理システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、クライアント端末と、前記クライアント端末に通信手段を介して接続される複数の情報管理サーバを有する情報管理システムにおいて、順次実行される前記情報管理サーバの再起動時期は、メモリリーク等によるハングアップの予想発生時期以前で、かつ再起動が互いに時間的に重ならないことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、メモリリークによるハングアップが回避でき、かつ、クライアントに対する情報サービスを継続して提供できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施例を、図１〜図７を引用して説明する。
【００１５】
まず、図７を引用して製造業向けの業務システムについて説明する。
【００１６】
製造業向けの業務システムは、二つの情報管理サーバ７０１、製造情報ＬＡＮ７０４、業務情報ＬＡＮ７０２、計測・制御ＬＡＮ７０８、クライアント端末７０３などを有する。
【００１７】
計測・制御装置７０９は、製造装置７１０から計測・制御信号をスキャンして個々の機器を動かす。その過程での生産に関する各種のデータを業務システムの情報管理サーバ７０１が製造業務用操作卓７０５を経由して収集し、入力情報、出力情報としての蓄積・管理を行う。
【００１８】
又、業務システムサーバは、製造装置７１０のみならず、現場操作卓７０６、秤量器７０７などの動きを含めて製造全体を統括する役割を果たす。このため、業務システムサーバは通常、冗長化構成が適用される。
【００１９】
製造業における業務システムは、従来、計測・制御装置７０９、計測・制御ＬＡＮ７０８及び製造業務用操作卓７０５を中心に、計測・制御を重点に構築されてきた製造システムを、原料の入荷から製造、品質管理、製品の出荷までの一連の製造実行システムのレベルまで拡大し、全体の業務を効率化するというものである。
【００２０】
この一貫として、業務システムの情報管理サーバ７０１が、全体を最適に動かす業務処理を行う。
【００２１】
図１を引用して情報管理システムについて説明する。
【００２２】
オペレータが操作するクライアント端末１０１は、モニタ１０４、キーボード１０５、及びマウス１０６が接続されている。オペレータは、クライアント端末１０１を介して、情報管理サーバＡ１０２、あるいは情報管理サーバＢ１０３の業務処理や情報交換を行う。
【００２３】
クライアント端末１０１は、クライアントＯＳ部１０７、ＧＵＩ処理部１０８、接続管理部１０９、通信制御部１１０を有する。
【００２４】
情報管理サーバＡ１０２は、サーバＯＳ部１１１、通信制御部１１２、業務処理部１１３、一時保存用データファイル部１１４、リセット制御処理部１１５を有する。
【００２５】
情報管理サーバＢ１０３は、サーバＯＳ部１１６、通信制御部１１８、業務処理部１１７、リセット制御処理部１２０、ＤＢ管理部１１９、ＤＢ部（データベース機構）１２１を有する。
【００２６】
クライアント端末１０１、情報管理サーバＡ１０２、情報管理サーバＢ１０３は、ＬＡＮを含む通信手段を介して接続される。
【００２７】
オペレータの操作により、クライアント端末１０１のＧＵＩ処理部１０８が通信制御部１１０を通じて、情報管理サーバＡ１０２の通信制御部、あるいは情報管理サーバＢ１０３の通信制御部１１８との通信接続ルートを介して、業務処理部１１３、あるいは業務処理部１１７と情報交信が行なわれる。
【００２８】
情報管理サーバＡ１０２の業務処理部１１３は、通信制御部１１２、１１８、及びＤＢ管理部１１９のルートでＤＢ部１２１へのデータの保存、及びＤＢ部１２１からのデータの参照を行う。
【００２９】
情報管理サーバＢ１０３の業務処理部１１７は、直接、ＤＢ管理部１１９の経由でＤＢ部１１２へのデータの保存、及びＤＢ部１１２からのデータの参照を行う。
【００３０】
情報管理サーバＡ１０２のリセット制御処理部１１５は、情報管理サーバＡ１０２本体が起動して、メモリリーク等のリソース食い潰しを起因とするシステムのハングアップが起こる時間間隔より短い時間範囲内で、適切な再起動タイミングを計数する。
【００３１】
そして、その再起動タイミングが来たら通信制御部１１２を介してクライアント端末１０１に自身が自動再起動移行の時期であることを伝え、かつ、サーバＯＳ部１１１に自動再起動に移行するよう指令を出す。
【００３２】
サーバＯＳ部１１１は、業務処理部１１３、及び通信制御部１１２の処理を停止させ、再起動処理に移行する。
【００３３】
同様にして情報管理サーバＢ１０３のリセット処理部１２０も自動再起動のタイミングが来たら通信制御部１１８を介してクライアント端末１０１に自身が自動再起動移行のタイミングであることを伝え、かつ、サーバＯＳ部１１６に自動再起動に移行するよう指令を出す。
【００３４】
そして、サーバＯＳ部１１６は業務処理部１１７、及び通信制御部１１８の処理を停止させ、再起動処理に移行することになる。
【００３５】
情報管理サーバＢ１０３本体が起動してからメモリリーク等のリソース食い潰しを起因とするシステムのハングアップが起こる時間間隔より短く設定する起動タイミングは、情報管理サーバＡ１０２の自動再起動処理とのオーバーラップを生じない、適当な時間差を付け、かつ、ＤＢ部に保存されている過去のデータを参照する業務処理が働く時間帯を避けるように適切に計算される。
【００３６】
この再起動処理とのオーバーラップ回避は、情報管理サーバＡ１０２と情報管理サーバＢ１０３が互いに連絡をとって行なわれる。
【００３７】
このように情報管理サーバＡ１０２と情報管理サーバＢ１０３は、メモリリークによるシステムのハングアップが生じる前に再起動処理が行なわれので、ハングアップによるシステムダウンを防止することができる。
【００３８】
また、情報管理サーバＡ１０２と情報管理サーバＢ１０３の再起動処理が重複しないように処置されるので、クライアントに対する情報管理サーバＡ１０２と情報管理サーバＢ１０３の情報サービスは、継続して提供することができる。
【００３９】
又、情報管理サーバＢ１０３の自動再起動処理中は、情報管理サーバＡ１０２の業務処理部１１３は情報管理サーバＢ１０３の業務処理部１１７の業務も代行し、かつ業務処理中に発生するデータを一時保存用データファイル部１１４に保存する。
【００４０】
そして、情報管理サーバＢ１０３が自動再起動処理を完了したら通信制御部１１２、及び１１８、ＤＢ管理部１１９を経由して、一時保存用データファイル部１１４から保存データをＤＢ部１２１に転送する。
【００４１】
また、自動再起動処理が実行されているときは、自動再起動処理中の情報管理サーバＡ１０２または情報管理サーバＢ１０３とクライアント端末１０１との接続が回避されるようになっている。
【００４２】
すなわち、クライアント端末１０１では、接続管理部１０９が通信制御部１１０を通じて情報管理サーバＡ１０２のリセット制御処理部１１５からの情報、又は情報管理サーバＢ１０３のリセット制御処理部１２０からの情報を得て、ＧＵＩ処理部１０８と情報管理サーバＡ１０２、又は情報管理サーバＢ１０３との通信の接続ルートを、自動再起動処理を実行中のサーバとの接続を回避するように調整する。
【００４３】
図１の情報管理システムの処理フローについて、図２〜図６に沿って説明する。
【００４４】
図２は情報管理サーバＡ１０２の業務処理部１１３の業務処理フローを示している。
【００４５】
本処理のメインの業務は、原料の入荷から製造、品質管理、製品の出荷までの一連の製造実行システムとしての情報管理業務である。本フローでは本発明の主要部であるサーバの高信頼化に関する部分のみのフローに限定している。
【００４６】
まず、サーバ情報管理Ｂ１０３の状況掌握処理ステップ２０１では、通信制御部１１２を介して情報管理サーバＢの状況を掌握し、その情報に基づいて情報管理サーバＢの状況判定処理ステップ２０２で情報管理サーバＢが自動再起動処理中であるかどうかを判定する。
【００４７】
自動再起動処理中であれば、収集データの一時保存処理ステップ２０３に移行して本サーバでの収集データを自サーバ内の一時保存用データファイル部１１４に保存するようにし、次に情報管理サーバＢの、業務代行移行処理ステップ２０４にて、以後、情報管理サーバＢの業務を、その自動再起動処理が完了するまで代行するようにする。
【００４８】
又、情報管理サーバＢの状況判定処理ステップ２０２で情報管理サーバＢが自動再起動処理中でないと判定した場合、情報管理サーバＢの自動再起動完了判定ステップ２０５に移行し、情報管理サーバＢが自動再起動処理を完了した時点にあるか判定する。
【００４９】
処理完了時点であれば、一時保存データの情報管理サーバＢのＤＢへの転送処理ステップ２０６へ移行し、一時保存用データファイル部１１４の内容を通信制御部１１２、１１８、及びＤＢ管理部１２１を通じて情報管理サーバＢのＤＢ部１２１に転送する。
【００５０】
続いて、情報管理サーバＢの業務代行中止の処理ステップ２０７に移行し、情報管理サーバＢの業務の代行を以後、中止する。
【００５１】
図３は、情報管理サーバＢ１０３の業務処理のフローを示す。
【００５２】
本フローにおいても製造実行システムとしての情報管理業務については省略し、本発明の主要部であるサーバの高信頼化に関する部分のみのフローに限定している。
【００５３】
フロー的には図２の情報管理サーバＡの業務処理と同等であるが、情報管理サーバＡと異なり情報管理サーバＢはＤＢ部１２１を有するため、一時保存用データファイル部１１４が必要でなく、その分、フローがシンプルとなる。
【００５４】
まず、サーバＢの状況掌握処理ステップ３０１で通信制御部１１８を介して情報管理サーバＡの状況を掌握し、その情報に基づいて情報管理サーバＢの状況判定処理ステップ３０２で情報管理サーバＡが自動再起動処理中であるかどうかを判定し、自動再起動処理中であれば、情報管理サーバＡの業務代行移行処理ステップ３０３にて、以後、情報管理サーバＡの業務を、その自動再起動処理が完了するまで代行するようにする。
【００５５】
又、情報管理サーバＡの状況判定処理ステップ３０２で情報管理サーバＡが自動再起動処理中でないと判定した場合、情報管理サーバＡの自動再起動完了判定ステップ３０４に移行し、情報管理サーバＡが自動再起動処理を完了した時点にあるか判定し、処理完了時点であれば情報管理サーバＡの業務代行中止の処理ステップ３０５へ移行し、情報管理サーバＡの業務の代行を以後、中止する。
【００５６】
図４は、情報管理サーバＡ１０２のリセット制御処理のフローを示す。
【００５７】
まず、自身の自動再起動タイミングの計算処理ステップ４０１で、情報管理サーバＡの自動再起動のタイミングを計算する。
【００５８】
続いて、自動再起動への移行の判定処理ステップ４０２において、現時点が自動再起動のタイミングであるかどうかを判定し、合致するなら、自動再起動移行処理ステップ４０３でサーバＯＳ部１１１に対し、再起動を要求し、かつ通信制御部を通じ、クライアント端末１１１の接続管理部１０９に自動再起動開始を通知する。
【００５９】
図５は、情報管理サーバＢ１０３のリセット制御処理のフローを示す。
【００６０】
フロー的には、図４の情報管理サーバＡのリセット制御務処理と同等であるが、情報管理サーバＡと異なり、情報管理サーバＢはＤＢ部１２１を有するため、データベース内の過去の保存内容を参照するような業務が走る時間帯は自動再起動処理を避ける必要があり、その分、フローが複雑となる。
【００６１】
まず、自身の自動再起動タイミングの計算処理ステップ５０１において、情報管理サーバＢの自動再起動のタイミングを計算する。
【００６２】
次に、時間差付与ステップ５０２に移行し、情報管理サーバＡの自動再起動タイミングの時間に対し必要十分なる時間差を付加する。
【００６３】
そして、データベース内過去保存データ参照業務との時間衝突判定ステップ５０３に移行し、求めた自動再起動タイミングの時間が過去のデータベース保存内容を参照する業務処理の時間帯と重ならないかをチェックする。
【００６４】
重なるようであれば、自身の自動再起動タイミングの計算処理ステップ５０１に戻って再計算する、という具合にして重なることの無い自動再起動タイミングを求め、自動再起動への移行の判定処理ステップ５０４に移り、現時点が自動再起動のタイミングであるかどうかを判定する。合致するなら、自動再起動移行処理ステップ５０５でサーバＯＳ部１１６に対し、再起動を要求し、かつ通信制御部を通じ、クライアント端末１０１の接続管理部１０９に自動再起動開始を通知する。
【００６５】
図６は、クライアント端末１０１における接続管理部１０９のフローを示す。
【００６６】
まず、情報管理サーバＡ，Ｂの自動再起動の状態把握処理ステップ６０１において、通信制御部１１２、又は１１８から通信制御部１１０を通じて送られてくる情報管理サーバＡ、又はＢの自動再起動の状況を掌握する。
【００６７】
続いて、いずれかのサーバの自動再起動移行の判定処理ステップ６０２で、情報管理サーバＡ、又はＢのいずれかで自動再起動処理が始まったかどうかを判定し、始まったならば、ＧＵＩ処理部の通信接続ルートの調整処理ステップ６０３に移行し、ＧＵＩ処理部１０８が通信制御部１１０を介して情報管理サーバＡ、又はＢの通信制御部１１２、又は１１８と接続するルートを自動再起動処理を実行中でない方に設定する。
【００６８】
上述した本発明の実施例に係わる主な特徴を列挙する。
（１）．複数の情報管理サーバを重複しないように時間差を設けて１台ずつ順次に再起動させることにより、単なる情報管理サーバの冗長化構成では防止し難いメモリリーク現象等のリソース食い潰しに起因するハングアップの発生を未然に防ぐことができ、情報管理システムの信頼性をより高めることができる。
（２）．ある１台の情報管理サーバの再起動中、別の情報管理サーバが業務を代行するため、情報管理システム全体をダウンさせることなく継続稼働させる能力、即ち可用性を高めることができる。
（３）．複数台の情報管理サーバの内１台にデータベース機構を持たせ、これに対し、他のサーバが情報通信によってデータの保存、参照を行い、又、データベース機構を有するサーバの自動再起動中は他のサーバ自体でデータを保持し、再起動完了時にデータベースに集約する方式を提案した。
【００６９】
すなわち、データベース機構を有する情報管理サーバを１台で運用する形式であるため、冗長化もデータ一致化も不要となり、シンプルにシステムを構成でき、信頼性・保守性が向上する。
（４）．クライアントの端末がある情報管理サーバと通信接続関係を維持中に情報管理サーバの再起動に至った場合、別な情報管理サーバが自動的に割り当てられ、速やかに通信接続関係を確立し、クライアントの画面表示・操作の動作中断は発生しないため、システム運用面で可用性向上の効果がある。
（５）．システム運用上、データベース機構を有する情報管理サーバにおいて、過去に保存されたデータベース内容を参照して行う業務処理が多くなる時間帯をはずして、再起動のタイミングの計算が行われるため、システム運用面で可用性向上の効果がある。
【００７０】
本実施例によれば、メモリリーク等のリソース食い潰しに起因するハングアップの発生を未然に防ぐことができ、又、複数台の情報管理サーバを運用するシステム構成ながら、データベース機構を抱える情報管理サーバを１台で運用することができて、全体としてシステムの信頼性向上、可用性向上の効果がある。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施例に係わるもので、クライアント端末、二つの情報管理サーバ（Ａ・Ｂ）により構成された情報管理システムの概要を示す図である。
【図２】本発明の実施例に係わるもので、情報管理サーバＡの処理フローを示した図である。
【図３】本発明の実施例に係わるもので、情報管理サーバＢの処理フローを示した図である。
【図４】本発明の実施例に係わるもので、情報管理サーバＡのリセット制御処理を示した図である。
【図５】本発明の実施例に係わるもので、情報管理サーバＢのリセット制御処理を示した図である。
【図６】本発明の実施例に係わるもので、クライアント端末の管理処理フローを示した図である。
【図７】本発明の実施例に係わるもので、製造業務システムのハードウェア構成を示した図である。
【符号の説明】
【００７２】
１０１…クライアント端末、１０２…情報管理サーバＡ、１０３…情報管理サーバＢ、１０７…クライアントＯＳ部、１０８…ＧＵＩ処理部、１０９…接続管理部、１１０…通信制御部、１１１…サーバＯＳ部、１１２…通信制御部、１１３…業務処理部、１１４…一時保存用データファイル部、１１５…リセット制御処理部、１１６…サーバＯＳ部、１１７…業務処理部、１１８…通信制御部、１１９…ＤＢ管理部、１２０…リセット制御処理部、１２１…ＤＢ部、２０１…情報管理サーバＢの状況掌握処理ステップ、２０２…情報管理サーバＢの状況判定処理ステップ、２０３…収集データの一時保存処理ステップ、２０４…情報管理サーバＢの業務代行移行処理ステップ、２０５…情報管理サーバＢの自動再起動完了判定処理ステップ、２０６…一時保存データの情報管理サーバＢのＤＢへの転送処理ステップ…２０７…情報管理サーバＢの業務代行中止の処理ステップ、３０１…情報管理サーバＡの状況掌握処理ステップ、３０２…情報管理サーバＡの状況判定処理ステップ、３０３…情報管理サーバＡの業務代行移行処理ステップ、３０４…情報管理サーバＡの自動再起動完了判定処理ステップ、３０５…情報管理サーバＡの業務代行中止の処理ステップ、４０１…自身の自動再起動タイミングの計算処理ステップ、４０２…自動再起動への移行の判定処理ステップ、４０３…自動再起動移行処理ステップ、５０１…自身の自動再起動タイミングの計算処理ステップ、５０２…時間差付与ステップ、５０３…データベース内過去保存データ参照業務との時間帯衝突判定ステップ、５０４…自動再起動への移行の判定処理ステップ、５０５…自動再起動移行処理ステップ、６０１…情報管理サーバＡ、Ｂの自動再起動の状況把握処理ステップ、６０２…いずれかのサーバの自動再起動移行の判定処理ステップ、６０３…ＧＵＩ処理部の通信接続ルートの調整処理ステップステップ、７０１…業務システムサーバ、７０２…業務情報ＬＡＮ、７０３…業務システムクライアント、７０４…製造情報ＬＡＮ、７０５…製造業務用操作卓、７０６…現場操作卓、７０７…秤量器、７０８…計測・制御ＬＡＮ、７０９…計測・制御装置、７１０…製造装置。
【図１】
2008117268.tif 000003
【図２】
2008117268.tif 000004
【図３】
2008117268.tif 000005
【図４】
2008117268.tif 000006
【図５】
2008117268.tif 000007
【図６】
2008117268.tif 000008
【図７】
2008117268.tif 000009