しかし、装置の保守作業を定期的に行う場合、保守作業前に装置の劣化等が生じることがあり、一方保守作業の周期を短くすると、余分な保守作業により装置の運用コストが増えるという問題がある。
上記課題を解決するために、本発明の第1の態様においては、計画装置が提供される。計画装置は、対象機器の状態を取得する状態取得部を備えてよい。計画装置は、対象機器の状態に基づいて対象機器のメンテナンスおよび交換の少なくとも一方の保守作業を行う時期の変更案を出力する保守時期モデルを用いて、保守作業を行う時期の変更案を生成する変更案生成部を備えてよい。計画装置は、変更案を出力する変更案出力部を備えてよい。
また、保守時期モデルは、状態取得部が取得した対象機器の状態に基づいて、予め定められた第1期間の後に予定されている保守作業を延期および前倒しの少なくとも一方により変更してよいか否かを提案してよい。変更案生成部は、保守作業の延期および前倒しの少なくとも一方を提案することを条件として、保守作業の周期の変更を提案してよい。計画装置は、対象機器の状態および保守作業を行う時期の目標変更案を含む学習データを用いて保守時期モデルを学習により更新する保守時期モデル更新部を備えてよい。計画装置は、対象機器の稼働状況を取得する稼働状況取得部を備えてよい。計画装置は、対象機器の稼働状況に基づいて対象機器の異常発生を予測する異常予測モデルを用いて、対象機器の異常予測を生成する異常予測生成部を備えてよい。計画装置は、異常予測生成部が生成した対象機器の異常予測に基づいて、対象機器の保守計画を生成する保守計画生成部を備えてよい。計画装置は、保守計画を出力する保守計画出力部を備えてよい。変更案生成部は、保守計画において計画された保守作業を行う時期の変更案を生成してよい。計画装置は、対象機器の稼働状況および対象機器の異常発生状況を含む学習データを用いて、異常予測モデルを学習により更新する異常予測モデル更新部を備えてよい。計画装置は、対象機器の異常予測および目標とすべき対象機器の保守計画を含む学習データを用いて、保守計画モデルを学習により更新する保守計画モデル更新部を備えてよい。保守計画生成部は、保守計画モデルを用いて、対象機器の保守計画を生成してよい。保守計画モデルは、保守作業を行う作業員のスキル、実績、および配置の少なくとも1つに更に基づいて、対象機器の保守計画を生成してよい。対象機器は、電解装置を含んでよい。対象機器は、電気分解により水素を発生する水素発生装置を含んでよい。
上記課題を解決するために、本発明の第2の態様においては、計画方法が提供される。コンピュータが、対象機器の状態を取得してよい。コンピュータが、対象機器の状態に基づいて対象機器のメンテナンスおよび交換の少なくとも一方の保守作業を行う時期の変更案を出力する保守時期モデルを用いて、保守作業を行う時期の変更案を生成してよい。コンピュータが、変更案を出力してよい。
上記課題を解決するために、本発明の第3の態様においては、計画プログラムが提供される。計画プログラムは、コンピュータにより実行され、コンピュータを、対象機器の状態を取得する状態取得部として機能させてよい。計画プログラムは、コンピュータにより実行され、コンピュータを、対象機器の状態に基づいて対象機器のメンテナンスおよび交換の少なくとも一方の保守作業を行う時期の変更案を出力する保守時期モデルを用いて、保守作業を行う時期の変更案を生成する変更案生成部として機能させてよい。計画プログラムは、コンピュータにより実行され、コンピュータを、変更案を出力する変更案出力部として機能させてよい。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係るシステム10を示す。システム10は、保守計画を生成し、稼働中の対象機器20の状態に応じて当該保守計画の保守作業の時期の変更を行う。システム10は、対象機器20と、保守管理装置40と、計画装置30とを備える。
対象機器20は、計画装置30に接続される。対象機器20は、電解装置または電解装置を含むシステムであってよく、一例として、電気分解により水素を発生する水素発生装置または水素発生装置を含むシステムである。対象機器20は、例えば、食塩電解またはアルカリ水電解を行う水素発生装置である。食塩電解を行う水素発生装置は、一例として、陽極が配置された陽極室と、陰極が配置された陰極室と、陽極および陰極室を隔てるイオン交換膜等の隔膜とを備え、塩化アルカリ水溶液等の水溶液の電気分解によって水素を発生する装置である。また、アルカリ水電解を行う水素発生装置は、一例として、陽極と陰極との間に隔膜が配置され、水酸化カリウム水溶液または水酸化ナトリウム水溶液等の電解液の電気分解によって水素を発生する装置である。対象機器20は、例えば、稼働に伴い生じる、単位時間当たりの生成物の生成量の低下等の異常動作、または故障等を回避するために、保守作業が行われる。
保守管理装置40は、計画装置30に接続される。保守管理装置40は、対象機器20を保守および管理する事業者または作業員等が有する装置であってよい。保守管理装置40は、保守を行う作業員等から対象機器20の状態および保守に関する情報が入力されてよい。
計画装置30は、対象機器20の保守計画を生成して出力し、稼働中の対象機器20の状態に応じて当該保守計画の保守作業を行う時期を変更する。計画装置30は、機械学習により生成したモデルを用いて、保守計画およびその変更案を生成してよい。計画装置30は、生成した保守計画を出力して、保守管理装置40に供給し、当該保守管理装置40の画面等に表示させてよい。計画装置30は、パーソナルコンピュータ、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。計画装置30は、コンピュータのCPU、GPU(Graphics Processing Unit)、および/またはTPU(Tensor Processing Unit)における処理によって保守計画および変更案を生成してよい。また、計画装置30は、サーバコンピュータにより提供されるクラウド上で各種の処理を行うものであってよい。計画装置30は、取得部100と、記憶部110と、学習部120と、生成部130と、出力部140とを備える。
取得部100は、対象機器20と保守管理装置40と記憶部110とに接続され、対象機器20および/または保守管理装置40から、学習に用いるパラメータ等を取得してよい。取得部100は、予め定められた期間毎に、情報を取得して更新してよい。取得部100は、取得すべき情報に応じて、略同一または異なる期間毎に取得して、それぞれ追加または更新してよい。また、取得部100は、ネットワーク等に接続され、当該ネットワークを介してデータを取得してもよい。取得部100は、取得すべきデータの少なくとも一部が外部のデータベース等に記憶されている場合、当該データベース等にアクセスし、取得してよい。取得部100は、取得したデータを、記憶部110に供給する。
記憶部110は、学習部120と生成部130とに接続され、取得部100が取得した情報および生成部130で生成した情報を記憶する。記憶部110は、当該計画装置30が処理するデータを記憶してよい。記憶部110は、計画装置30が保守計画および変更案を生成する過程で算出する(または利用する)中間データ、算出結果、およびパラメータ等をそれぞれ記憶してもよい。また、記憶部110は、計画装置30内の各部の要求に応じて、記憶したデータを要求元に供給してよい。記憶部110は、一例として、学習部120の要求に応じて、記憶したデータを当該学習部120に供給する。
学習部120は、生成部130に接続される。学習部120は、1または複数の学習モデルを生成して、当該学習モデルを学習して更新する。学習部120は、記憶部110に記憶された学習データに基づいて、生成した学習モデルを学習してよい。学習部120は、強化学習を実行して、学習モデルを更新してよい。学習部120は、更新した学習モデルを生成部130に供給する。
生成部130は、出力部140に接続される。生成部130は、学習部120が更新した学習モデルに基づいて、対象機器20の異常予測、保守計画、および変更案を生成する。生成部130は、生成した対象機器20の保守計画および変更案を出力部140に供給する。また、生成部130は、生成した異常予測、保守計画、および変更案の少なくとも1つを記憶部110に記憶させてよい。
ここで、対象機器20の異常予測は、将来の対象機器20の異常動作の発生を予測した結果を含む。異常予測は、将来の異常動作の発生日および異常動作の内容のうちの少なくとも1つを含んでよい。異常予測は、例えば、将来の1または複数の期間(例えば、所定の日数以内、所定の月数以内、または所定の年数以内)に対象機器20の異常動作が生じる確率、および将来の対象機器20の異常動作が生じる確率が閾値を超える期間のうちの少なくとも1つを含む。また、対象機器20の異常動作は、対象機器20が通常動作ではないことを意味する。対象機器20の異常動作は、例えば、対象機器20の単位時間当たりの生成物の生成量が閾値以下にまで低下すること、対象機器20の部品等の劣化、故障等により対象機器20が稼働停止すること、対象機器20の温度が温度閾値を超えて高温になること、および対象機器20の温度が温度閾値未満となって低温になることのうちの少なくとも1つを含む。
対象機器20の異常予測は、対象機器20が食塩電解を行う水素発生装置である場合には、水素発生装置における、陰極または陽極の劣化による電圧上昇、陰極室と陽極室を隔てる隔膜のピンホールによる電圧変化、電流効率の低下、生成物の純度低下、並びに隔膜に水溶液中の不純物が蓄積することによる電圧上昇および電流効率低下のうちの少なくとも1つを含んでよい。
また、対象機器20の異常予測は、対象機器20がアルカリ水電解を行う水素発生装置である場合には、水素発生装置における、電極の劣化、短絡、冷却能力低下、ガスリーク、液リーク、調整弁の不良、配管閉塞、純水供給弁不良、電解液の漏洩、供給水純度不良、隔膜破れ、調整弁劣化、冷却水温度上昇、陽極側で生成される水素の圧力と陰極側で生成される酸素の圧力との間の差圧異常、水素発生装置の電解槽の後段におけるミスト量増加、および水素発生装置の電解槽の後段におけるミストのトラップ不良のうちの少なくとも1つを含んでよい。
また、保守計画は、対象機器20に対して保守作業する将来の計画を含む。保守計画は、例えば、対象機器20の保守作業を行う時期、保守作業の内容、保守作業に用いる装置、保守作業を行う作業員の数、スキル、実績、および配置のうちの少なくとも1つを計画するものである。また、保守作業は、対象機器20またはその部品のメンテナンス(例えば、対象機器20の整備、点検、および手入れ等)および交換の少なくとも一方を含んでよい。
また、変更案は、保守計画において計画された保守作業を行う時期を変更する提案であってよい。変更案は、保守作業を行う時期を延期または前倒しすることを提案するものであってよい。また、変更案は、保守作業を行う周期を変更することを提案するものであってもよい。また、変更案は、保守計画において計画された保守作業のうちの一部の保守作業のみについての実施時期の変更を提案するものであってよい。また、変更案は、保守作業の時期とともに、保守計画において計画された保守作業の内容、作業員、作業員の数、または作業員の配置等を変更することを提案するものであってもよい。
出力部140は、保守管理装置40に接続され、生成部130において生成された保守計画および変更案を、保守管理装置40に出力する。
以上の本実施形態の計画装置30によれば、対象機器20の保守計画を生成し、当該保守計画の実行中に、対象機器20の状態を取得して、取得した状態により保守計画を変更できる。このような計画装置30のより具体的な構成例について、次に説明する。
図2は、本実施形態に係る計画装置30の構成例を示す。図2の計画装置30において、図1に示された本実施形態に係る計画装置30の動作と略同一のものには同一の符号を付け、説明を省略する。
計画装置30は、稼働状況取得部200、異常予測モデル生成部210、異常予測モデル更新部220、および異常予測生成部230を備え、将来の対象機器20の異常発生を予測する。計画装置30は、保守情報取得部240、保守計画モデル生成部250、保守計画モデル更新部260、保守計画生成部270、および保守計画出力部280を備え、将来の対象機器20の保守計画を生成して出力する。計画装置30は、状態取得部290、保守時期モデル生成部300、保守時期モデル更新部310、変更案生成部320、および変更案出力部330を備え、保守計画の変更案を生成して出力する。ここで、記憶部110は、取得部100が取得した第1因子、第2因子、および第3因子を記憶する。
第1因子(異常予測因子)は、対象機器20の異常発生に影響を及ぼす情報を含んでよい。第1因子は、異常予測する対象期間よりも前の対象機器20の稼働率等の稼働状況を含む。第1因子は、対象機器20の過去に発生した劣化等の異常動作の履歴を含んでよい。第1因子は、例えば、劣化等の異常動作の発生時間、修理期間、異常動作が発生した時間の前後の対象機器20の稼働率、および異常動作の内容等を含む。また、第1因子は、対象機器20の部品メーカが推奨する部品の交換時期の情報、対象機器20の部品の使用時間、または当該部品を対象機器20に搭載してから経過した時間等の情報を含んでよい。また、第1因子は、対象機器20に取り付けられたセンサ等から得られる対象機器20の自己診断結果を含んでよい。第1因子は、対象機器20の生成効率等の対象機器20の運用状態を示すパラメータを含んでよい。
第1因子は、対象機器20が食塩電解を行う水素発生装置である場合には、水素発生装置における、陰極および/または陽極の電圧値、電圧変化、電流効率、並びに生成物の純度の少なくとも1つを含んでよい。
また、第1因子は、対象機器20がアルカリ水電解を行う水素発生装置である場合には、水素発生装置における、陰極および/または陽極の電圧値(例えば電圧変化等)、電流値、温度、圧力(陽極側で生成される水素の圧力、陰極側で生成される酸素の圧力、またはこれらの差圧)、電解液密度、生成物の純度、電解液の流量、計装空気圧、ガス温度、電解液量(例えばタンクレベル等)、並びに水素発生装置の電解槽の後段(例えば、水封または洗浄塔等)のpHのうちの少なくとも1つを含んでよい。
一例として、水素発生装置における電極の電圧値および電流値の少なくとも一つは、電極劣化および短絡の少なくとも一つを含む異常予測に、因子として用いられてよい。水素発生装置のいずれかの構成の温度は、電極劣化および冷却能力低下の少なくとも一つを含む異常予測に、因子として用いられてよい。圧力は、ガスリーク、液リーク、調整弁の不良、および配管閉塞の少なくとも一つを含む異常予測に、因子として用いられてよい。電解液密度は、純水供給不良および電解液漏洩の少なくとも一つを含む異常予測に、因子として用いられてよい。生成物の純度は、供給水純度不良および隔膜破れの少なくとも一つを含む異常予測に、因子として用いられてよい。電解液の流量は、ガスリーク、液リーク、調整弁の不良、および配管閉塞の少なくとも一つを含む異常予測に、因子として用いられてよい。計装空気圧は、配管閉塞および調整弁劣化の少なくとも一つを含む異常予測に、因子として用いられてよい。ガス温度は、冷却能力低下および冷却水温度上昇の少なくとも一つを含む異常予測に、因子として用いられてよい。電解液量は、配管閉塞、調整弁劣化、および差圧異常の少なくとも一つを含む異常予測に、因子として用いられてよい。水素発生装置の電解槽の後段のpHは、ミスト量増加およびトラップ不良の少なくとも一つを含む異常予測に、因子として用いられてよい。
第2因子(保守予測因子)は、対象機器20の保守に関する情報を含んでよい。第2因子は、異常予測生成部230により生成された異常予測を含んでよい。また、第2因子は、対象機器20の過去の保守計画を含んでよい。第2因子は、対象機器20の保守作業を実行できる作業員、保守作業を実行できる装置、および対象機器20の交換部品等の配置の情報を含んでよい。また、第2因子は、過去に対象機器20の保守作業を実行した時期、期間、内容、および保守作業による対象機器20の稼働率の変化等の情報を含んでよい。また、取得部100は、外部等から対象機器20の異常動作を予測する予測データを取得して第2因子の情報として記憶部110に記憶してよい。この場合、予測データは、過去の対象機器20が稼働してから異常動作が発生するまでの期間と同等の期間で、次の異常動作が発生することを予測したものであってよい。また、予測データは、異なる同型の対象機器を稼働させた結果、取得された異常動作の履歴を、対象機器20の予測データとして用いられたものであってもよい。
第3因子(状態予測因子)は、対象機器20または保守管理装置40から受け取る、対象機器20の状態に関する情報を含んでよい。第3因子は、対象機器20の点検結果およびメンテナンス結果による、対象機器20の部品等の摩耗、疲労、および劣化の度合い等の情報を含んでよい。第3因子は、保守作業時の作業員による入力を含んでよい。第3因子は、対象機器20の単位時間当たりの生成物の生成量(生成効率)の情報、または対象機器20の稼働率を含んでよい。第3因子は、対象機器20に取り付けられたセンサ等から得られる対象機器20の自己診断結果を含んでよい。第3因子は、対象機器20の状態を示す状態レジスタの値等を含んでよい。また、第3因子は、保守計画生成部270により生成された保守計画を含んでよい。
第3因子は、対象機器20が食塩電解を行う水素発生装置である場合には、水素発生装置における、陰極および/または陽極の電圧値、電圧変化、電流効率、並びに生成物の純度の少なくとも1つを含んでよい。
また、第3因子は、対象機器20がアルカリ水電解を行う水素発生装置である場合には、水素発生装置における、陰極および/または陽極の電圧値(例えば電圧変化等)、電流値、温度、圧力(陽極側で生成される水素の圧力、陰極側で生成される酸素の圧力、またはこれらの差圧)、電解液密度、生成物の純度、電解液の流量、計装空気圧、ガス温度、電解液量(例えばタンクレベル等)、並びに水素発生装置の電解槽の後段の水封または洗浄塔等のpHのうちの少なくとも1つを含んでよい。
第1因子、第2因子、および第3因子の情報は、略一定時間毎の時系列の情報でよい。第1因子、第2因子、および第3因子の情報は、時間の経過と共にそれぞれ追加または更新されてよい。例えば、第1因子、第2因子、および第3因子の情報は、外部の装置等から供給される情報を含んでよい。
稼働状況取得部200は、記憶部110に接続され、対象機器20の稼働状況(第1因子)を取得して記憶部110に記憶させる。稼働状況取得部200は、対象機器20から、または当該対象機器20のメーカ等のデータベースから、稼働状況を取得してよい。
異常予測モデル生成部210は、異常予測モデル更新部220に接続される。異常予測モデル生成部210は、対象機器20の稼働状況に基づいて対象機器20の異常発生を予測する異常予測モデルを生成する。異常予測モデル生成部210は、予測する対象期間よりも過去の情報を用いて、事前学習またはオフライン学習等と呼ばれる処理により、異常予測モデルを生成してよい。異常予測モデル生成部210は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等を用いて、異常予測モデルを生成する。また、異常予測モデルとして、例えば、LSTM(Long short−term memory)、RNN(Recurrent Neural Network)、およびその他の記憶を有するモデルを使用すれば、第1因子の時系列から異常動作を予測することもできる。異常予測モデル生成部210は、生成した異常予測モデルを異常予測モデル更新部220に供給する。
異常予測モデル更新部220は、異常予測生成部230に接続される。異常予測モデル更新部220は、対象機器20の稼働状況および対象機器20の異常発生状況を含む学習データを用いて、異常予測モデルを学習により更新する。異常予測モデル更新部220は、例えば、過去期間における第1因子の値と、過去期間以降の現実に生じた異常発生状況とに基づいて、異常予測モデルを学習により更新してよい。異常予測モデル更新部220は、例えば、予め定められた第1更新期間毎にまたは現実に生じた異常発生毎に、学習により新たな異常予測モデルに更新してよい。これに代えて、異常予測モデル更新部220は、予め定められた回数だけ学習したこと、または学習による誤差差分が予め定められた閾値を下回ったこと等の諸条件に応じて、異常予測モデルを更新してもよい。
異常予測モデル更新部220は、適応学習またはオンライン学習等と呼ばれる処理により、異常予測モデルを学習してよい。異常予測モデル更新部220は、例えば、任意の機械学習モデルを識別モデルとして、強化学習を実行することによって、異常予測モデルを学習する。このような機械学習を行うことにより、異常予測モデル更新部220は、第1因子を入力として、第1因子に応じた異常動作を、適用するモデルに応じた精度で予測することができるようになる。
異常予測モデル更新部220は、異常予測モデル生成部210が異常予測モデルの生成に用いた第1因子の情報よりも時間的に後の情報を更に用いて学習することが望ましい。異常予測モデル更新部220は、実際に生じた異常動作によって更新された第1因子の情報を用いて、異常予測モデルを学習する。異常予測モデル更新部220は、第1因子の情報が更新されたことに応じて、異常予測モデルの学習を実行してよい。異常予測モデル更新部220は、第1更新期間の間に、1または複数回の学習を実行してよい。異常予測モデル更新部220は、更新した異常予測モデルを異常予測生成部230に供給する。
異常予測生成部230は、記憶部110に接続される。異常予測生成部230は、異常予測モデルを用いて、対象機器20の異常予測を生成する。異常予測生成部230は、例えば、予め定められた期間毎に、将来における当該予め定められた期間における対象機器20の異常動作の発生を予測する。異常予測生成部230は、異常予測モデルと第1因子の情報とを用いて、異常動作の発生を予測する。異常予測生成部230は、例えば、異常動作を予測すべき期間の直前までの期間における第1因子の情報を、異常予測モデルに適用して対象機器20の異常動作を予測する。異常予測生成部230は、予測結果を記憶部110に供給し、第2因子として記憶させる。また、異常予測生成部230は、予測結果を保守計画生成部270に直接供給してよい。
保守情報取得部240は、記憶部110に接続され、対象機器20の保守に関する情報(第2因子)を取得する。保守情報取得部240は、対象機器20から、または当該対象機器20を保守する事業者等のデータベースから、保守状況を取得してよい。保守情報取得部240は、対象機器20の保守に関する情報を取得して、記憶部110に記憶させる。
保守計画モデル生成部250は、保守計画モデル更新部260に接続される。保守計画モデル生成部250は、第1因子および第2因子に基づいて、保守計画モデルを生成してよい。保守計画モデルは、学習により、対象機器20の異常予測、保守作業を行う作業員のスキル、実績、および配置の少なくとも1つに基づいて、対象機器20の保守計画を生成するモデルであってよい。保守計画モデル生成部250は、過去の情報を用いて、事前学習またはオフライン学習等と呼ばれる学習処理により、保守計画モデルを生成してよい。
保守計画モデル生成部250は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等の任意の機械学習モデルを識別モデルとして、強化学習を実行することによって、保守計画モデルを生成する。また、保守計画モデルとして、例えば、LSTM、RNN、およびその他の記憶を有するモデルを使用すれば、第2因子の時系列から対象機器20の保守計画等を予測することもできる。保守計画モデル生成部250は、生成した保守計画モデルを保守計画モデル更新部260に供給する。
保守計画モデル更新部260は、保守計画生成部270に接続される。保守計画モデル更新部260は、対象機器20の異常予測および目標とすべき対象機器20の保守計画を含む学習データを用いて、保守計画モデルを学習により更新する。ここで、目標とすべき対象機器20の保守計画は、過去の実データから導出された理想の保守計画であってよい。一例として、過去期間に対象機器20の異常予測に応じて設定された時期の保守作業より前に、対象機器20の異常動作が生じた場合は、目標とすべき対象機器20の保守計画は、当該異常動作の発生の前日または数日前を、保守作業の時期に設定する保守計画である。保守計画モデル更新部260は、さらに他の第2因子を用いて、保守計画生成モデルを学習により更新してもよい。
保守計画モデル更新部260は、例えば、予め定められた第2更新期間毎に、学習した新たな保守計画モデルに更新してよい。これに代えて、保守計画モデル更新部260は、予め定められた回数だけ学習したこと、または学習による誤差差分が予め定められた閾値を下回ったこと等の諸条件に応じて、保守計画モデルを更新してもよい。
保守計画モデル更新部260は、適応学習またはオンライン学習等と呼ばれる処理により、保守計画モデルを学習してよい。保守計画モデル更新部260は、例えば、任意の機械学習モデルを識別モデルとして、強化学習を実行することによって、保守計画生成モデルを学習する。このような機械学習を行うことにより、保守計画モデル更新部260は、第2因子を入力として、第2因子に応じた値を、適用するモデルに応じた精度で予測することができるようになる。
保守計画モデル更新部260は、保守計画モデル生成部250が保守計画モデルの生成に用いた情報よりも時間的に後の情報を更に用いて学習することが望ましい。例えば、保守計画モデル更新部260は、実際の対象機器20の保守作業等によって更新された第2因子の情報を用いて、保守計画モデルを学習する。
保守計画モデル更新部260は、第2因子の情報が更新されたことに応じて、保守計画モデルの学習を実行してよい。保守計画モデル更新部260は、第2更新期間の間に、1または複数回の学習を実行する。保守計画モデル更新部260は、更新した保守計画モデルを保守計画生成部270に供給する。
保守計画生成部270は、保守計画出力部280に接続される。保守計画生成部270は、異常予測生成部230が生成した対象機器20の異常予測に基づいて、対象機器20の保守計画を生成する。保守計画生成部270は、保守計画モデルを用いて、対象機器20の保守計画を生成してよい。保守計画生成部270は、対象期間における対象機器20の異常予測を含む第2因子の値に基づいて、当該対象期間における対象機器20の保守計画を生成してよい。
保守計画生成部270は、例えば、予め定められた期間毎に、将来における当該予め定められた期間の保守計画を生成する。保守計画生成部270は、例えば、将来の予め定められた期間が開始する直前までの期間における第2因子の情報を、保守計画モデルに適用して保守計画を生成する。保守計画生成部270は、例えば、数日または十数日、1または数週間、1または数ヶ月、1または数年といった期間における保守計画を生成する。保守計画生成部270は、一例として、N日分の保守計画を生成する。保守計画生成部270は、生成した保守計画を保守計画出力部280に供給する。保守計画生成部270はさらに、生成した保守計画を記憶部110に供給して第3因子として記憶させてよい。
保守計画出力部280は、対象機器20に接続される。保守計画出力部280は、保守計画生成部270において生成された保守計画を保守管理装置40に出力する。
状態取得部290は、記憶部110に接続され、対象機器20の状態(第3因子)を取得する。状態取得部290は、対象機器20から、または当該対象機器20を保守する事業者等のデータベースから、対象機器20の状態の情報を取得してよい。状態取得部290は、対象機器20の状態に関する情報を取得して、記憶部110に第3因子として記憶させる。
保守時期モデル生成部300は、保守時期モデル更新部310に接続される。保守時期モデル生成部300は、第3因子に基づいて、保守時期モデルを生成する。保守時期モデルは、学習により、対象機器20の状態に基づいて対象機器20のメンテナンスおよび交換の少なくとも一方の保守作業を行う時期の変更案を出力するモデルであってよい。保守時期モデルは、例えば、状態取得部290が取得した対象機器20の状態に基づいて、予め定められた第1期間の後に予定されている保守作業を延期および前倒しの少なくとも一方により変更してよいか否かを提案するモデルである。
保守時期モデル生成部300は、過去の情報を用いて、事前学習またはオフライン学習等と呼ばれる学習処理により、保守時期モデルを生成してよい。保守時期モデル生成部300は、例えば、回帰分析、ベイズ推論、ニューラルネットワーク、ガウシアン混合モデル、および隠れマルコフモデル等の任意の機械学習モデルを識別モデルとして、強化学習を実行することによって、保守時期モデルを生成する。また、保守時期モデルとして、例えば、LSTM、RNN、およびその他の記憶を有するモデルを使用すれば、第3因子の時系列から対象機器20の保守時期を予測することもできる。保守時期モデル生成部300は、生成した保守時期モデルを保守時期モデル更新部310に供給する。
保守時期モデル更新部310は、変更案生成部320に接続される。保守時期モデル更新部310は、対象機器20の状態および保守作業を行う時期の目標変更案を含む学習データを用いて保守時期モデルを学習により更新する。ここで、保守作業を行う時期の目標変更案は、過去の実データから導出された理想の変更案であってよい。一例として、過去に、対象機器20の状態に応じて生成した変更案で変更した保守作業の時期の前に、対象機器20の異常動作が生じた場合は、目標変更案は、保守作業の時期を、当該異常動作が生じた日の1または複数日前に変更する変更案となる。また、過去に、対象機器20の状態に応じて生成した変更案で変更した時期の保守作業が、対象機器20の劣化が小さく不要であったと作業員等により判断された場合は、目標変更案は、保守作業の時期を、当該変更した時期より後の日(例えば1または複数日後)に変更する変更案となる。目標変更案は、第1因子、第2因子、および第3因子の少なくとも1つから導出されてよい。
保守時期モデル更新部310は、例えば、予め定められた第3更新期間毎に、学習した新たな保守時期モデルに更新してよい。これに代えて、保守時期モデル更新部310は、予め定められた回数だけ学習したこと、または学習による誤差差分が予め定められた閾値を下回ったこと等の諸条件に応じて、保守時期モデルを更新してもよい。
保守時期モデル更新部310は、適応学習またはオンライン学習等と呼ばれる処理により、保守時期モデルを学習してよい。保守時期モデル更新部310は、例えば、任意の機械学習モデルを識別モデルとして、強化学習を実行することによって、保守時期モデルを学習する。このような機械学習を行うことにより、保守時期モデル更新部310は、第3因子を入力として、第3因子に応じた値を、適用するモデルに応じた精度で予測することができるようになる。
保守時期モデル更新部310は、保守時期モデル生成部300が保守時期モデルの生成に用いた第3因子の情報よりも時間的に後の情報を更に用いて学習することが望ましい。保守時期モデル更新部310は、実際の対象機器20の保守作業等によって更新された第3因子の情報を用いて、保守時期モデルを学習する。
保守時期モデル更新部310は、第3因子の情報が更新されたことに応じて、保守時期モデルの学習を実行してよい。保守時期モデル更新部310は、保守時期モデル更新部310の第3更新期間の間に、1または複数回の学習を実行する。保守時期モデル更新部310は、更新した保守時期モデルを変更案生成部320に供給する。
変更案生成部320は、変更案出力部330に接続される。変更案生成部320は、保守時期モデルを用いて、対象機器20の保守作業を行う時期の変更案を生成する。変更案生成部320は、保守作業の延期および前倒しの少なくとも一方を提案することを条件として、保守作業の周期の変更を提案してよい。変更案生成部320は、記憶部110に記憶された第3因子の値に基づいて、保守作業の時期の変更案を生成してよい。
変更案生成部320は、例えば、予め定められた期間毎に、将来における当該予め定められた期間の変更案を生成する。変更案生成部320は、例えば、将来の予め定められた期間が開始する直前までの期間における第3因子の情報を、保守時期モデルに適用して変更案を生成する。変更案生成部320は、保守計画における保守作業の複数の時期をそれぞれ変更する複数の変更案を生成してよい。変更案生成部320は、生成した変更案を変更案出力部330に出力する。
変更案出力部330は、対象機器20に接続される。変更案出力部330は、変更案生成部320において生成された変更案を保守管理装置40に出力する。
以上の本実施形態に係る計画装置30は、学習により生成したモデルを用いて、対象機器20の保守計画を生成し、対象機器20の現在の状態に応じて、当該保守計画の保守作業の時期を変更する。このような計画装置30の動作について、次に説明する。
図3は、本実施形態に係る計画装置30の保守計画生成フローの一例を示す。
取得部100は、対象機器20の稼働状況および対象機器20の保守についての過去のトレンドとなる第1因子および第2因子の情報を取得する(S310)。取得部100は、例えば、時刻t0から時刻t1における、第1因子および第2因子の情報を取得する。取得部100は、取得した第1因子および第2因子の情報を記憶部110に記憶させる。また、取得部100は、第1因子および第2因子の情報を学習部120および生成部130に直接供給してもよい。
次に、学習部120は、学習モデルを生成する(S320)。学習部120は、時刻t0から時刻t1の期間における第1因子および第2因子の値に基づき学習モデルを生成する。例えば、異常予測モデル生成部210は、時刻t0から時刻t1の期間における第1因子の値を用いて、異常予測モデルを生成する。保守計画モデル生成部250は、時刻t0から時刻t1の期間における第2因子の値を用いて、保守計画モデルを生成する。
また、異常予測モデル生成部210および保守計画モデル生成部250は、対象機器20の物理モデルに基づく仮想データを予測データとし、当該予測データおよび過去の対象機器20の稼働において取得された実データを比較することにより、保守計画モデルおよび異常予測モデルを生成してよい。例えば、異常予測モデル生成部210および保守計画モデル生成部250は、予測データと、過去の実データから導出された目標データとの誤差が、誤差最小(例えば、0)または予め定められた値未満となるように、強化学習を実行してモデルを生成する。
異常予測モデル生成部210および保守計画モデル生成部250は、一例として、時刻t0から時刻t1の期間におけるM日間の期間を仮想的な予測期間とする。なお、M日間は、例えば、数日または十数日、1または数週間といった期間でよい。そして、異常予測モデル生成部210および保守計画モデル生成部250は、時刻t0から時刻t1の期間における予測期間よりも前の期間の第1因子および第2因子の値に基づく予測期間の予測結果と、予測期間の実データまたは仮想データとの誤差が、最小となるように強化学習する。
なお、このような学習部120による学習モデルの生成は、対象機器20の稼働に伴って計画装置30が当該対象機器20の実データを取得する前に、実行されてよい。
次に、学習部120は、生成した学習モデルを適応学習する(S330)。ここで、取得部100は、第1因子および第2因子の情報をさらに取得してよい。取得部100は、例えば、時刻t2から時刻t3における、第1因子および第2因子の情報を取得する。なお、時刻t2から時刻t3の間の期間は、時刻t0から時刻t1の期間の後の期間とする。学習部120は、取得部100が新たに取得した第1因子および第2因子の情報を用いて適応学習してよい。
例えば、異常予測モデル更新部220は、第1因子の値に基づき、異常予測モデルを適応学習する。異常予測モデル更新部220は、時刻t2から時刻t3の期間における、対象機器20の稼働状況および対象機器20の異常発生状況の少なくとも1つを用いて、異常予測モデルを適応学習してよい。異常予測モデル更新部220は、異常予測モデルを用いて時刻t2から時刻t3の期間における対象機器20の異常動作を予測した結果が、取得した時刻t2から時刻t3の期間の対象機器20の稼働状況または異常発生状況と一致するように強化学習してよい。
異常予測モデル更新部220は、一例として、時刻t2から時刻t3の期間におけるM日間の期間を仮想的な予測期間とする。なお、M日間は、例えば、数日または十数日、1または数週間、1または数ヶ月、1または数年といった期間でよい。異常予測モデル更新部220は、一例として、時刻t2から時刻t3の期間における予測期間よりも前の期間の第1因子の値に基づく予測期間の予測結果と、予測期間の実データとの誤差が、誤差最小(例えば、0)または予め定められた値未満となるように強化学習する。
また、保守計画モデル更新部260は、第1因子および第2因子の値に基づき、保守計画モデルを適応学習してよい。例えば、保守計画モデル更新部260は、時刻t2から時刻t3の期間における、対象機器20の異常予測および目標とすべき対象機器20の保守計画を含む学習データを用いて、保守計画モデルを学習してよい。保守計画モデル更新部260は、保守計画モデルを用いて時刻t2から時刻t3の期間における対象機器20の保守状況(例えば、保守作業の時期等)を予測した結果と、取得した時刻t2から時刻t3の期間の実データ(または実データから導出された目標値)との誤差が、誤差最小(例えば、0)または予め定められた値未満となるように、強化学習を実行してよい。
保守計画モデル更新部260は、一例として、時刻t2から時刻t3の期間におけるM日間の期間を仮想的な予測期間とする。なお、M日間は、例えば、数日または十数日、1または数週間、1または数ヶ月、1または数年といった期間でよい。そして、保守計画モデル更新部260は、時刻t2から時刻t3の期間における予測期間よりも前の期間の第1因子および第2因子の値に基づく予測期間の保守状況の予測結果と、予測期間の実データ(または実データから導出された目標値)との誤差が、誤差最小(例えば、0)または予め定められた値未満となるように強化学習する。
次に、学習部120は、学習モデルを更新する(S340)。学習部120は、予め定められた時間毎に学習モデルを更新してよい。例えば、学習部120は、適応学習を開始してから更新に必要な初期更新期間だけ適応学習を継続させてから、学習モデルの最初の更新を実行し、その後、一定の期間毎に更新を繰り返す。ここで、初期更新期間は、生成すべき保守計画で計画する期間(または保守計画の出力から最初の保守作業までの期間等)であるN日以上であることが望ましい。また、更新を繰り返す一定の期間は、数時間、十数時間、1日、数十時間、または数日等でよい。
例えば、異常予測モデル更新部220は、初期更新期間後、異常予測モデルを第1更新期間毎に更新する。また、保守計画モデル更新部260は、初期更新期間後、保守計画モデルを第2更新期間毎に更新する。第1更新期間および第2更新期間は、一例として1日、1ヶ月、または1年である。
次に、異常予測生成部230は、更新した異常予測モデルを用いて対象機器20の異常予測を生成する(S350)。例えば、異常予測生成部230は、更新された異常予測モデルおよび第1因子の値を用いて、時刻t4から時刻t5における対象機器20の異常動作の発生を予測する。なお、時刻t4から時刻t5の間の期間は、時刻t2から時刻t3の期間の後の期間であり、予測時点の将来の期間であってよい。異常予測生成部230は、一例として、初期更新期間に取得部100が取得したN日分の第1因子の値を異常予測モデルに適用して、初期更新期間の後のN日間での異常発生を予測する。異常予測生成部230は、生成した異常予測を記憶部110に供給して、第2因子として記憶させてよい。
次に、保守計画生成部270は、更新された学習モデルを用いて、対象機器20の保守計画を生成する(S360)。保守計画生成部270は、異常予測生成部230が生成した異常予測を含む第2因子の値を、更新された保守計画モデルに適用して、時刻t4から時刻t5における保守計画を生成してよい。保守計画生成部270は、一例として、初期更新期間に取得部100が取得したN日分の第2因子の値を、保守計画モデルに適用して、初期更新期間の後のN日分の保守計画を生成する。
保守計画生成部270は、時刻t4から時刻t5において、異常予測生成部230が生成した異常予測で異常動作が発生すると予測された時点より前の日に保守作業を行うように保守計画を生成してよい。保守計画生成部270は、異常予測で予測された異常動作の種類または規模等に応じて、保守作業の内容、作業員、作業員のスキル、作業員の数、保守作業の期間、および交換部品等の少なくとも1つを設定する保守計画を生成してよい。
また、保守計画生成部270は、複数の対象機器20のそれぞれに対する保守計画を生成してよい。保守計画生成部270は、複数の対象機器20が略同一である場合は、略同一の保守計画をそれぞれ生成してよい。また、保守計画生成部270は、異なる種類の対象機器20、異なる時期に購入した対象機器20、異なる製造メーカの対象機器20、またはこれらの組み合わせを含む複数の対象機器20のそれぞれに対応して、異なる保守計画を生成してよい。
この場合、保守計画モデル生成部250は、複数の対象機器20毎にまたは複数の対象機器20の組み合わせ毎にそれぞれ対応する複数の保守計画モデルを生成してよい。また、保守計画モデル更新部260は、複数の保守計画生成モデルをそれぞれ学習し、それぞれ更新してよい。
出力部140は、保守計画生成部270が生成した保守計画を出力する(S370)。これにより、保守作業を行う事業者等は、保守管理装置40で受け取った保守計画に従って対象機器20を保守することができる。
計画装置30が保守計画の出力後または時刻t4から時刻t5の期間の経過後に、保守計画の生成を継続する場合(S380:No)、S330に戻り、学習部120は学習モデルを適応学習する。この場合、取得部100は、当該時刻t4から時刻t5の期間において対象機器20の稼働によって推移する第1因子および第2因子の情報を順次取得し、記憶部110に順次記憶させる。即ち、計画装置30は、時刻t4から時刻t5の期間の情報を過去の情報に含め、予測すべき対象期間を時刻t4から時刻t5の期間よりも後の期間とする。
そして、計画装置30は、モデルの適応学習を繰り返し、一定期間の経過に応じてモデルを更新して、保守計画を生成して出力する。このように、本実施形態に係る計画装置30は、対象機器20の対象期間の保守計画の生成と、当該対象期間の稼働および保守とを繰り返すことにより、学習モデルを更新しつつ対象機器20の保守計画を継続して出力できる。
以上の計画装置30の動作フローにおいて、時刻t0〜t5の順に、計画装置30を時系列に動作させる例を説明した。ここで、各期間は、時間的に連続した期間でよい。
本実施形態に係る計画装置30は、対象機器20の異常動作を学習によって予測し、適切な保守計画を作成できる。次に、対象機器20の保守計画を変更する変更案の生成について説明する。
図4は、本実施形態に係る計画装置30の変更案生成フローの一例を示す。
取得部100は、対象機器20の状態についての過去のトレンドとなる第3因子の情報を取得する(S410)。取得部100は、例えば、時刻t10から時刻t11における、第3因子の情報を取得する。取得部100は、取得した第3因子の情報を記憶部110に記憶させる。また、取得部100は、第3因子の情報を学習部120および生成部130に直接供給してもよい。
次に、保守時期モデル生成部300は、保守時期モデルを生成する(S420)。保守時期モデル生成部300は、時刻t10から時刻t11の期間における第3因子の値に基づき学習モデルを生成する。
また、保守時期モデル生成部300は、対象機器20の物理モデルに基づく仮想データを予測データとし、当該予測データおよび過去の対象機器20の稼働において取得された実データを比較することにより、保守時期モデルを生成してよい。例えば、保守時期モデル生成部300は、予測データと、過去の実データから導出された目標データとの誤差が、誤差最小(例えば、0)または予め定められた値未満となるように、強化学習を実行してモデルを生成する。
保守時期モデル生成部300は、一例として、時刻t10から時刻t11の期間におけるM日間の期間を仮想的な予測期間とする。なお、M日間は、例えば、数日または十数日、1または数週間、1または数年といった期間でよい。そして、保守時期モデル生成部300は、時刻t10から時刻t11の期間における予測期間よりも前の期間の第3因子の値に基づく予測期間の予測結果と、予測期間の実データとの誤差が、最小となるように強化学習する。
次に、保守時期モデル更新部310は、生成した保守時期モデルを適応学習する(S430)。ここで、取得部100は、第3因子の情報をさらに取得してよい。取得部100は、例えば、時刻t12から時刻t13における、第3因子の情報を取得する。なお、時刻t12から時刻t13の間の期間は、時刻t10から時刻t11の期間の後の期間とする。保守時期モデル更新部310は、取得部100が新たに取得した第3因子の情報を用いて適応学習してよい。
例えば、保守時期モデル更新部310は、時刻t12から時刻t13の期間において取得された、対象機器20の状態および保守作業を行う時期の目標変更案を含む学習データを用いて、保守時期モデルを学習してよい。保守時期モデル更新部310は、保守時期モデルを用いて時刻t12から時刻t13の期間における対象機器20の保守が必要な時期を予測した結果と、取得した時刻t12から時刻t13の期間の実データ(または実データから導出された目標値)との誤差が、誤差最小(例えば、0)または予め定められた値未満となるように、強化学習を実行してよい。
保守時期モデル更新部310は、一例として、時刻t12から時刻t13の期間におけるM日間の期間を仮想的な予測期間とする。なお、M日間は、例えば、数日または十数日、1または数週間、1または数ヶ月、1または数年といった期間でよい。そして、保守時期モデル更新部310は、時刻t12から時刻t13の期間における予測期間よりも前の期間の第3因子の値に基づく予測期間の保守が必要な時期の予測結果と、予測期間の実データ(または実データから導出された目標値)との誤差が、誤差最小(例えば、0)または予め定められた値未満となるように強化学習する。
次に、保守時期モデル更新部310は、保守時期モデルを更新する(S440)。保守時期モデル更新部310は、予め定められた時間毎に保守時期モデルを更新してよい。例えば、保守時期モデル更新部310は、適応学習を開始してから更新に必要な初期更新期間だけ適応学習を継続させてから、学習モデルの最初の更新を実行し、その後、一定の期間毎に更新を繰り返す。ここで、初期更新期間は、保守計画の生成から当該保守計画の最初の保守作業までの期間であるN日以上であることが望ましい。また、更新を繰り返す一定の期間は、数時間、十数時間、1日、数十時間、または数日等でよい。
例えば、保守時期モデル更新部310は、初期更新期間後、保守時期モデルを第3更新期間毎に更新する。第1更新期間、第2更新期間、および第3更新期間は、異なる期間でよく、これに代えて、略同一の期間でもよい。第3更新期間は、一例として1日、1ヶ月、または1年である。
次に、変更案生成部320は、更新された保守時期モデルを用いて、対象機器20の保守計画において計画された保守作業を行う時期の変更案を生成する(S460)。変更案生成部320は、第3因子に含まれる、時刻t12からt13の期間の対象機器20の状態、前回の保守作業から現在までの期間の対象機器20の状態、および/または、現時点における対象機器20の状態を、更新された保守時期モデルに適用して、予め定められた第1期間の後の時刻t14に予定されている保守作業の時期の変更案を生成してよい。例えば、時刻t14は、時刻t12から時刻t13の期間の後の期間であってよい。
変更案生成部320は、保守計画における連続する保守作業の間に変更案を生成してよい。変更案生成部320は、保守計画における直近の保守作業の時期の変更案を生成してよい。
変更案生成部320は、例えば、保守作業の予定時刻t14の前に対象機器20に異常動作が生じると予測すると、当該予測された異常発生時点または時刻t14より前の日に保守作業を行うように保守計画の保守作業を前倒しする変更案を生成してよい。また、変更案生成部320は、例えば、時刻t14の後に対象機器20に異常動作が生じると予測すると、当該予測された異常発生時点の前で、かつ時刻t14より後の日に保守作業を行うように保守計画の保守作業を延期する変更案を生成してよい。
変更案出力部330は、変更案生成部320が生成した変更案を出力する(S370)。これにより、対象機器20を所有する事業者または対象機器20の保守作業を行う事業者等は、変更案により変更された保守計画に従って対象機器20を保守することができる。
計画装置30が変更案の出力後、更なる変更案の生成を継続する場合(S470:No)、S430に戻り、学習部120は学習モデルを適応学習する。この場合、取得部100は、対象機器20の稼働によって推移する第3因子の情報を取得し、記憶部110に記憶させる。
以上の本実施形態の計画装置30は、保守計画に沿って保守されている対象機器20について、当該対象機器20の現在の状態に応じて保守計画を変更することができ、異常動作の発生および余分なメンテナンスを回避して対象機器20の運用コストを低減することができる。
なお、計画装置30は、稼働状況取得部200、異常予測モデル生成部210、異常予測モデル更新部220、異常予測生成部230、保守情報取得部240、保守計画モデル生成部250、保守計画モデル更新部260、保守計画生成部270、および保守計画出力部280の少なくとも1つを備えていなくともよい。この場合、計画装置30は、対象機器20のメーカ等の外部から入力された保守計画または予め定められた保守計画について、保守作業の時期を変更する変更案を生成してもよい。
また、異常予測モデル生成部210、異常予測モデル更新部220、異常予測生成部230、保守計画モデル生成部250、保守計画モデル更新部260、保守計画生成部270、保守時期モデル生成部300、保守時期モデル更新部310、および変更案生成部320は、モデルの生成、モデルの更新、異常予測の生成、保守計画の生成、または変更案の生成等のために、記憶部110に記憶された第1因子、第2因子、および第3因子のいずれも用いることができる。
また、計画装置30は、保守管理装置40に計画および変更案を出力することなく、計画および変更案を出力して当該計画装置30の画面上に表示するものであってもよい。
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、Python、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
図5は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1900の例を示す。コンピュータ1900にインストールされたプログラムは、コンピュータ1900に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ1900に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1900に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU2000によって実行されてよい。
本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びDVDドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フラッシュメモリ・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部を備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、DVDドライブ2060を接続する。通信インターフェイス2030は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信インターフェイスは、通信を行うハードウェアとして機能する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。DVDドライブ2060は、DVD2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フラッシュメモリ・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フラッシュメモリ・ドライブ2050は、フラッシュメモリ2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フラッシュメモリ・ドライブ2050を入出力コントローラ2084へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フラッシュメモリ2090、DVD2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。これらのプログラム内に記述される情報処理は、コンピュータ1900に読み取られ、ソフトウェアと、上記様々なタイプのハードウェア資源との間の協働をもたらす。装置または方法が、コンピュータ1900の使用に従い情報の操作または処理を実現することによって構成されてよい。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フラッシュメモリ2090、又はDVD2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、DVDドライブ2060(DVD2095)、フラッシュメモリ・ドライブ2050(フラッシュメモリ2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020及び外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。
本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすか否かを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
また、実施形態の説明において複数の要素が列挙された場合には、列挙された要素以外の要素を用いてもよい。例えば、「Xは、A、B及びCを用いてYを実行する」と記載される場合、Xは、A、B及びCに加え、Dを用いてYを実行してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。