(57)【要約】【課題】実装コストを抑制しつつ、メモリ使用量を抑制して性能の向上を図ることができる情報処理装置を提供する。【解決手段】主メモリ上で所定のプロセスを実行する情報処理装置であって、主メモリ上で実行中のプロセスのイメージを、当該実行中のプロセスに応じた圧縮ルールに基づいて圧縮するプロセス圧縮手段を備えた。【選択図】図１
2008225818.tif 000002
【特許請求の範囲】
【請求項１】
主メモリ上で所定のプロセスを実行する情報処理装置であって、
前記主メモリ上で実行中のプロセスのイメージを、当該実行中のプロセスに応じた圧縮ルールに基づいて圧縮するプロセス圧縮手段を備えた、
ことを特徴とする情報処理装置。
【請求項２】
前記プロセス毎の前記圧縮ルールを表す圧縮辞書データを記憶した圧縮辞書記憶手段と、
圧縮対象となる前記実行中のプロセスに対応する前記圧縮辞書データを選定する圧縮辞書選定手段と、を備え、
前記プロセス圧縮手段は、選定された前記圧縮辞書データを用いて前記実行中のプロセスのイメージを圧縮する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
圧縮対象となる前記実行中のプロセス毎に応じた前記圧縮ルールを表す圧縮辞書データを生成する圧縮辞書生成手段を備え、
前記プロセス圧縮手段は、生成した前記圧縮辞書データを用いて前記実行中のプロセスのイメージを圧縮する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記プロセス圧縮手段にて圧縮された圧縮データを、所定の記憶装置に格納する圧縮データ格納手段を備えた、
ことを特徴とする請求項１，２又は３記載の情報処理装置。
【請求項５】
前記圧縮データ格納手段は、前記圧縮データを所定の補助記憶装置に格納する、
ことを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記圧縮データ格納手段は、前記圧縮データを圧縮前のイメージと比較して所定の割合以下に圧縮できた場合には前記圧縮データを前記主メモリ装置に格納し、それ以外には前記圧縮データを所定の補助記憶装置に格納する、
ことを特徴とする請求項４記載の情報処理装置。
【請求項７】
前記圧縮ルールは、前記実行中のプロセスの種別に応じて設定されている、ことを特徴とする請求項１，２，３，４，５又は６記載の情報処理装置。
【請求項８】
前記圧縮ルールは、前記実行中のプロセスに設定された仮想アドレスに応じて設定されている、ことを特徴とする請求項１，２，３，４，５，６又は７記載の情報処理装置。
【請求項９】
前記プロセスは、当該プロセス毎に固有の情報を一部に有するプロセスである、ことを特徴とする請求項１，２，３，４，５，６，７又は８記載の情報処理装置。
【請求項１０】
情報処理装置が、主メモリ上で実行する所定のプロセスを圧縮するプロセス圧縮方法であって、
前記主メモリ上で実行中のプロセスのイメージを、当該実行中のプロセスに応じた圧縮ルールに基づいて圧縮するプロセス圧縮工程を有する、
ことを特徴とするプロセス情報処理装置。
【請求項１１】
前記情報処理装置が前記プロセス毎の前記圧縮ルールを表す圧縮辞書データを予め記憶しており、圧縮対象となる前記実行中のプロセスに対応する前記圧縮辞書データを選定する圧縮辞書選定工程を有し、
前記プロセス圧縮工程は、選定された前記圧縮辞書データを用いて前記実行中のプロセスのイメージを圧縮する、
ことを特徴とする請求項１０記載のプロセス圧縮方法。
【請求項１２】
圧縮対象となる前記実行中のプロセス毎に応じた前記圧縮ルールを表す圧縮辞書データを生成する圧縮辞書生成工程を有し、
前記プロセス圧縮工程は、生成した前記圧縮辞書データを用いて前記実行中のプロセスのイメージを圧縮する、
ことを特徴とする請求項１０記載のプロセス圧縮方法。
【請求項１３】
前記プロセス圧縮工程にて圧縮された圧縮データを、所定の記憶装置に格納する圧縮データ格納工程を有する、
ことを特徴とする請求項１０，１１又は１２記載のプロセス圧縮方法。
【請求項１４】
前記圧縮データ格納工程は、前記圧縮データを圧縮前のイメージと比較して所定の割合以下に圧縮できた場合には前記圧縮データを前記主メモリ装置に格納し、それ以外には前記圧縮データを所定の補助記憶装置に格納する、
ことを特徴とする請求項１３記載のプロセス圧縮方法。
【請求項１５】
主メモリ上で所定のプロセスを実行する情報処理装置に、
前記主メモリ上で実行中のプロセスのイメージを、当該実行中のプロセスに応じた圧縮ルールに基づいて圧縮するプロセス圧縮手段、を実現させるためのプログラム。
【請求項１６】
前記情報処理装置が前記プロセス毎の前記圧縮ルールを表す圧縮辞書データを予め記憶しており、前記情報処理装置に、圧縮対象となる前記実行中のプロセスに対応する前記圧縮辞書データを選定する圧縮辞書選定手段を実現させると共に、
前記プロセス圧縮手段は、選定された前記圧縮辞書データを用いて前記実行中のプロセスのイメージを圧縮する、
ことを特徴とする請求項１５記載のプログラム。
【請求項１７】
前記情報処理装置に、圧縮対象となる前記実行中のプロセス毎に応じた前記圧縮ルールを表す圧縮辞書データを生成する圧縮辞書生成手段を実現させると共に、
前記プロセス圧縮手段は、生成した前記圧縮辞書データを用いて前記実行中のプロセスのイメージを圧縮する、
ことを特徴とする請求項１５記載のプログラム。
【請求項１８】
前記情報処理装置に、前記プロセス圧縮手段にて圧縮された圧縮データを所定の記憶装置に格納する圧縮データ格納手段を実現させる、ことを特徴とする請求項１５，１６又は１７記載のプログラム。
【請求項１９】
前記圧縮データ格納手段は、前記圧縮データを圧縮前のイメージと比較して所定の割合以下に圧縮できた場合には前記圧縮データを前記主メモリ装置に格納し、それ以外には前記圧縮データを所定の補助記憶装置に格納する、
ことを特徴とする請求項１８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置にかかり、特に、プロセスの圧縮を行う情報処理装置に関する。
【背景技術】
【０００２】
従来より、ネットワークファイルサーバなどにおいて、クライアントごとに処理を行う場合に、サーバ側ではその応対を行うためのプロセスをクライアントとの通信パスごとに立ち上げる実装方式がよく用いられる。このような実装方式では、個々のプロセスの独立性のために、他の応対を行っているプロセスのことを考えずに済むため、開発の難易度が低くなり開発効率がよい。その反面、個々のプロセスが保有するデータ量が大きくなる傾向があり、数十のプロセスならば問題とならないものの、数千個のプロセスを要するような規模のサーバの場合には、そのメモリ空間の保持が難しくなる。
【０００３】
そして、プロセスの圧縮処理方法として、多くの場合は、二次記憶装置に対するスワップ処理が用いられる。例えば、特許文献１では、プロセスイメージを圧縮してサイズを縮小し、二次記憶装置にスワップアウトする、という技術が開示されている。
【０００４】
【特許文献１】特開２０００−２７６３６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したようなスワップを用いた圧縮処理では、装置の性能の劣化、特に応答時間の劣化を招く。つまり、二次記憶装置にスワップアウトしたプロセスを復帰させる場合には、比較的低速な二次記憶装置から読み出して復元処理を実行する必要があり、処理に遅延が生じる、という問題があった。一方で、上記問題を解消するために、データ空間を極力小さくしたり、プロセス間での共有データを管理したりするなどの手法があるが、開発難易度が上がり、開発効率や障害発生率も上がってしまう、という問題があった。
【０００６】
このため、本発明では、上記従来例の有する不都合を改善し、特に、実装コストを抑制しつつ、メモリ使用量を抑制して性能の向上を図ることができる情報処理装置を提供する、ことをその目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明の一形態は、主メモリ上で所定のプロセスを実行する情報処理装置であって、主メモリ上で実行中のプロセスのイメージを、当該実行中のプロセスに応じた圧縮ルールに基づいて圧縮するプロセス圧縮手段を備えた、ことを特徴としている。
【０００８】
上記発明によると、まず、主メモリ上でプロセスが実行されている場合に、メモリ領域が逼迫されるなどの状況等において、実行中のプロセスを圧縮する必要が生じる。そのような場合に、実行中のプロセスに応じた圧縮ルールを利用してプロセスを圧縮する。これにより、プロセスの特徴に応じて圧縮率の高い圧縮を実現でき、主メモリの効率的な利用を図ることができる。さらには、高圧縮率であるため、圧縮データを主メモリに残しておいてもメモリ容量を逼迫せず、かつ、高速にプロセスを復帰させることができる。
【０００９】
また、上記情報処理装置は、プロセス毎の圧縮ルールを表す圧縮辞書データを記憶した圧縮辞書記憶手段と、圧縮対象となる実行中のプロセスに対応する圧縮辞書データを選定する圧縮辞書選定手段と、を備え、上記プロセス圧縮手段は、選定された圧縮辞書データを用いて実行中のプロセスのイメージを圧縮する、ことを特徴としている。また、上記情報処理装置は、圧縮対象となる実行中のプロセス毎に応じた圧縮ルールを表す圧縮辞書データを生成する圧縮辞書生成手段を備え、プロセス圧縮手段は、生成した圧縮辞書データを用いて実行中のプロセスのイメージを圧縮する、ことを特徴としている。
【００１０】
これにより、実行中のプロセスに応じて予め用意された圧縮辞書データや、圧縮処理前に実行中のプロセスに応じて生成される圧縮辞書データを使用して、圧縮処理を実行する。従って、より効率的、かつ、高速に、圧縮処理を実行することができる。
【００１１】
また、上記情報処理装置は、上記プロセス圧縮手段にて圧縮された圧縮データを、所定の記憶装置に格納する圧縮データ格納手段を備えた、ことを特徴としている。そして、この圧縮データ格納手段は、圧縮データを所定の補助記憶装置に格納する、ことを特徴としている。特に、上記圧縮データ格納手段は、圧縮データを圧縮前のイメージと比較して所定の割合以下に圧縮できた場合には圧縮データを主メモリ装置に格納し、それ以外には圧縮データを所定の補助記憶装置に格納する、ことを特徴としている。
【００１２】
これにより、上述したようにプロセスを圧縮した圧縮データを、補助記憶装置などの所定の記憶装置に格納することで、主メモリを効率的に利用することができる。特に、圧縮率が高い場合には、圧縮データを主メモリに残しておいたとしても、主メモリの使用容量を抑制しつつ、その後、高速に圧縮データを読み出してプロセスを復帰させることができる。
【００１３】
また、本発明において、上記圧縮ルールは、実行中のプロセスの種別に応じて設定されている、ことを特徴としている。さらに、上記圧縮ルールは、実行中のプロセスに設定された仮想アドレスに応じて設定されている、ことを特徴としている。また、上記プロセスは、当該プロセス毎に固有の情報を一部に有するプロセスである、ことを特徴としている。
【００１４】
これにより、個々のプロセス毎の特徴に応じた圧縮ルールにて圧縮することができ、より効率的な圧縮を実現できる。特に、プロセス内に固有の情報を有している同種のプロセスに対しては、少なくとも固有情報部分を含むよう圧縮すればよいため、さらに効率的な圧縮を実現することができる。
【００１５】
また、本発明の他の形態は、情報処理装置が、主メモリ上で実行する所定のプロセスを圧縮するプロセス圧縮方法であって、主メモリ上で実行中のプロセスのイメージを、当該実行中のプロセスに応じた圧縮ルールに基づいて圧縮するプロセス圧縮工程を有する、ことを特徴としている。
【００１６】
また、上記プロセル圧縮方法は、情報処理装置がプロセス毎の圧縮ルールを表す圧縮辞書データを予め記憶しており、圧縮対象となる実行中のプロセスに対応する圧縮辞書データを選定する圧縮辞書選定工程を有し、上記プロセス圧縮工程は、選定された圧縮辞書データを用いて実行中のプロセスのイメージを圧縮する、ことを特徴としている。また、上記プロセス圧縮方法は、圧縮対象となる実行中のプロセス毎に応じた圧縮ルールを表す圧縮辞書データを生成する圧縮辞書生成工程を有し、上記プロセス圧縮工程は、生成した圧縮辞書データを用いて実行中のプロセスのイメージを圧縮する、ことを特徴としている。
【００１７】
また、上記プロセス圧縮工程にて圧縮された圧縮データを、所定の記憶装置に格納する圧縮データ格納工程を有する、ことを特徴としている。特に、圧縮データ格納工程は、圧縮データを圧縮前のイメージと比較して所定の割合以下に圧縮できた場合には圧縮データを主メモリ装置に格納し、それ以外には圧縮データを所定の補助記憶装置に格納する、ことを特徴としている。
【００１８】
さらに、本発明の他の形態であるプログラムは、主メモリ上で所定のプロセスを実行する情報処理装置に、主メモリ上で実行中のプロセスのイメージを、当該実行中のプロセスに応じた圧縮ルールに基づいて圧縮するプロセス圧縮手段、を実現させる、ことを特徴としている。
【００１９】
そして、上記プログラムは、情報処理装置がプロセス毎の圧縮ルールを表す圧縮辞書データを予め記憶しており、情報処理装置に、圧縮対象となる実行中のプロセスに対応する圧縮辞書データを選定する圧縮辞書選定手段を実現させると共に、上記プロセス圧縮手段は、選定された圧縮辞書データを用いて実行中のプロセスのイメージを圧縮する、ことを特徴としている。また、上記プログラムは、情報処理装置に、圧縮対象となる実行中のプロセス毎に応じた圧縮ルールを表す圧縮辞書データを生成する圧縮辞書生成手段を実現させると共に、上記プロセス圧縮手段は、生成した圧縮辞書データを用いて実行中のプロセスのイメージを圧縮する、ことを特徴としている。
【００２０】
さらに、上記プログラムは、情報処理装置に、プロセス圧縮手段にて圧縮された圧縮データを所定の記憶装置に格納する圧縮データ格納手段を実現させる、ことを特徴としている。特に、圧縮データ格納手段は、圧縮データを圧縮前のイメージと比較して所定の割合以下に圧縮できた場合には圧縮データを主メモリ装置に格納し、それ以外には圧縮データを所定の補助記憶装置に格納する、ことを特徴としている。
【００２１】
上述した構成の方法及びプログラムの発明であっても、上記情報処理装置と同様に作用するため、上述した本発明の目的を達成することができる。
【発明の効果】
【００２２】
本発明は、以上のように構成され機能するので、これによると、プロセスの特徴に応じて圧縮率の高い圧縮を実現できるため、主メモリの効率的な利用を実現できると共に、圧縮データを主メモリに残しておいてもメモリ容量を逼迫せず、高速にプロセスを復帰させることができる、という従来にない優れた効果を有する。
【発明を実施するための最良の形態】
【００２３】
本発明は、プロセスの特徴に応じて、プロセスイメージを圧縮することに特徴を有する。以下、具体的な構成及び動作を実施例にて説明する。
【実施例１】
【００２４】
本発明の第１の実施例を、図１乃至図５を参照して説明する。図１乃至図２は、コンピュータの構成を示す機能ブロック図であり、図３は、プロセスを示す図である。図４乃至図５は、コンピュータの動作を示すフローチャートである。
【００２５】
［構成］
図１及び図２に示すコンピュータ１は、ネットワークに接続されたファイルサーバなどのサーバコンピュータであり、複数のプロセスを実行可能なコンピュータである。その構成としては、まず、演算装置であるＣＰＵ１０と、各処理のワークスペースとなる主メモリ２０と、補助記憶装置であるハードディスクドライブ３０（ＨＤＤ）と、を備えている。なお、補助記憶装置は、いかなる種類の記憶装置であってもよい。ここで、図１及び図２に示すコンピュータ１は、同一のコンピュータであり、説明の都合上、２つの図に分けて示している。
【００２６】
そして、ＣＰＵ１０には、所定のプログラムが組み込まれることで、図１に示すように、プロセス実行処理部１１と、圧縮辞書選定処理部１２と、圧縮処理部１３と、圧縮データ格納処理部１４と、が構築されている。また、このＣＰＵ１０には、図２に示すように、プロセス復元処理部１５も構築されている。また、主メモリ２０内には、実行されるプロセス２１が生成され、また、後述する圧縮データを記憶する圧縮データ記憶部２２が形成されている。さらに、ＨＤＤ３０には、圧縮辞書記憶部３１と、圧縮データ記憶部３２と、が形成されている。以下、各構成について詳述する。
【００２７】
まず、上記プロセス実行処理部１１は、主メモリ２０内の仮想空間にプロセス２１を生成して、当該プロセス２１を実行する。ここで、本実施例では、ネットワークサーバであるコンピュータ１が実行するプロセスは、ネットワークからアクセスしてきた各クライアント端末に対して個別に生成されるプロセスであることとする。特に、この各クライアントに対するプロセスは、同一種類のプロセスであって、単一のプロセスのコピーから生成され、そのプロセス内に、プロセス種別、プロセス内仮想アドレス、相手先アドレスなどプロセス毎の固有情報、を有している。なお、プロセスの一例を図３に示す。この図に示すように、プロセスＡ及び同種類の複数のプロセスが主メモリ上の仮想アドレス空間に生成される場合に、プロセスＡの所定の仮想アドレス部分には、プロセス毎に固有の情報が格納された状態となっている。
【００２８】
そして、上記プロセス実行処理部１１は、実行しているプロセス数が増え、主メモリ２０領域が逼迫されてきたときに、使用されていないプロセスを圧縮対象として特定し、この特定したプロセスの主メモリ２０上におけるイメージ（内容）、プロセス種別、プロセス内仮想アドレスを抽出して、圧縮辞書選定処理部１２に通知する。また、図２に示すように、プロセス実行処理部１１は、一旦圧縮したプロセスを復帰させる場合に、そのプロセスを特定する情報をプロセス復元処理部１５に通知する。
【００２９】
上記圧縮辞書選定処理部１２（圧縮辞書選定手段）は、ＨＤＤ３０の圧縮辞書記憶部３１（圧縮辞書記憶手段）内に記憶されている圧縮辞書データを、圧縮対象となる実行中のプロセスに応じて選定する。ここで、圧縮辞書記憶部３１に記憶されている圧縮辞書データは、プロセスの種別、及び／又は、プロセス内の仮想アドレス、に対応して予め設定された圧縮ルールを表すデータである。つまり、プロセスの構造、特徴に応じて、高圧縮できるよう設定された圧縮辞書である。例えば、本実施例では、プロセスが単一のプロセスのコピーから生成されているため、各プロセスの構成は同一種類であればほとんど同一であり、異なるのは、例えば、そのプロセスが有する相手先アドレスなどの固有情報だけである。従って、記憶されている圧縮辞書データは、プロセス毎に、例えば、プロセス内のどの仮想アドレスにどのデータが記憶されているか、という仮想アドレス情報に基づいて、少なくともプロセス種別、プロセス内仮想アドレス、固有情報などを圧縮データに保持するよう当該圧縮データを生成するための辞書データである。そして、同種のプロセスで共通する部分のデータについては、圧縮辞書データに保持しておくことで、圧縮データの容量をより低減させることができる。
【００３０】
以上のような圧縮辞書データが予め用意されており、圧縮辞書選定処理部１２は、プロセス実行処理部１１から通知された圧縮対象とされたプロセスのプロセス種別及びプロセス内仮想アドレスに基づいて、対応する圧縮辞書データを圧縮辞書記憶部３１内から検索して読み出す。そして、この圧縮辞書データと、上記プロセス実行処理部１１から通知された圧縮対象のプロセスイメージを圧縮処理部１３に渡す。
【００３１】
圧縮処理部１３（プロセス圧縮手段）は、上記圧縮辞書選定処理部１２から渡された圧縮辞書データとプロセスイメージとを受け付けて、このプロセスイメージを、圧縮辞書データを用いて圧縮して圧縮データを生成する処理を実行する。このとき、プロセスイメージは、大部分が同種のプロセスイメージと同一であるため、他の部分と共通する部分は圧縮データに含めず、上述したように、少なくとも圧縮種別、プロセス内仮想アドレス、固有情報を含むよう、圧縮して圧縮データを生成する。つまり、プロセスの共通する部分については圧縮辞書データに含めておき、圧縮前のプロセスイメージを圧縮データから復元可能な必要最低限の情報を含むよう圧縮して圧縮データを生成する。そして、生成した圧縮データを圧縮データ格納処理部１４に渡す。
【００３２】
圧縮データ格納処理部１４（圧縮データ格納手段）は、上記生成された圧縮データを、主メモリ内、あるいは、ＨＤＤ内に格納する。なお、本実施例では、圧縮データの圧縮率に応じて、圧縮データの格納先を設定する。例えば、圧縮データの容量を、元のプロセスイメージに対して半分以下に圧縮できた場合には、圧縮率が高いため、メモリ領域をそれほど逼迫しないと考えられ、主メモリ２０内にそのまま保持しておく。つまり、主メモリ２０の圧縮データ記憶部２２内に格納する。一方、圧縮データの容量を、元のプロセスイメージに対して半分以下に圧縮できない場合には、ＨＤＤ３０といった補助記憶装置（二次記憶装置）の圧縮データ記憶部３２内に格納する。なお、圧縮データの格納先の決定基準として、他の値の圧縮率を設定してもよい。例えば、３分の１以下に圧縮できた場合に、圧縮データを主メモリ２０に格納するよう設定してもよく、主メモリ２０やＨＤＤ３０の容量に応じて任意に設定可能である。
【００３３】
プロセス復元処理部１５は、一旦、圧縮したプロセスを復帰させる処理である。具体的には、プロセス実行処理部１１から通知を受けたプロセスを特定し、そのプロセスの圧縮データを、主メモリ２０の圧縮データ記憶部２２あるいはＨＤＤ３０の圧縮データ記憶部３２内のいずれかから取り出す。また、このプロセスに対応する圧縮辞書データを取り出す。そして、この圧縮辞書データに基づいて、圧縮データを復元する。つまり、圧縮データに含まれる個別データを、新たに生成したプロセス内に組み込むことで、復帰対象となっている特定のプロセスを復帰させることができる。
【００３４】
［動作］
次に、上記構成のコンピュータにおけるプロセス圧縮動作、及び、プロセス復元動作を、図４乃至図５のフローチャートを参照して説明する。なお、図４にプロセス圧縮動作を示し、図５にプロセス復元動作を示す。
【００３５】
まず、コンピュータ１の主メモリ２０上で多数のプロセス２１が実行されており、当該主メモリ２０が逼迫された場合には（ステップＳ１）、使用していないプロセスイメージを圧縮する処理が開始される。すると、圧縮対象となるプロセスが特定され（ステップＳ２）、そのプロセスのプロセスイメージ、プロセス種別、プロセス内仮想アドレス、が抽出される（ステップＳ３）。
【００３６】
続いて、通知されたプロセス種別とプロセス内仮想アドレスに基づいて、圧縮対象となっているプロセスの特徴に対応する圧縮辞書データを、圧縮辞書記憶部３１内から検索して選定する（ステップＳ４、圧縮辞書選定工程）。そして、この選定した圧縮辞書データを用いて、圧縮対象となっているプロセスイメージを圧縮し、圧縮データを生成する（ステップＳ５、プロセス圧縮工程）。
【００３７】
そして、上記圧縮処理により、プロセスイメージを半分以下に圧縮できた場合には（ステップＳ６でイエス）、圧縮データを主メモリ２０内に残して格納する（ステップＳ７、圧縮データ格納工程）。一方、半分以下に圧縮できなかった場合には（ステップＳ６でノー）、圧縮データをＨＤＤ２０に書き出して格納する（ステップＳ８、圧縮データ格納工程）。
【００３８】
その後、プロセス実行処理部１１にて、既に圧縮したプロセスが必要であると判断されると（ステップＳ１１でイエス）、復元するプロセスを特定して、そのプロセスの圧縮データの格納位置、つまり、主メモリ２０に格納されているか、あるいは、ＨＤＤ３０に格納されているか否かを判別する（ステップＳ１２）。そして、圧縮データを読み出すと共に（ステップＳ１３）、そのプロセスに対応した圧縮辞書を選定し（ステップＳ１４）、主メモリ２０上にプロセスを復元して実行する（ステップＳ１５）。なお、上記ステップ１３にて、圧縮データが主メモリ２０内に格納されていた場合には、その圧縮データを高速に読み出してプロセスを復元することができる。
【００３９】
以上のように、本発明によると、プロセスの特徴に応じた圧縮辞書データを使用して高圧縮率にて圧縮を行うことができるため、圧縮データの容量を小さく抑制でき、当該圧縮データを主メモリに格納したとしても、当該主メモリの容量を逼迫せずに済む。従って、比較的にデータの入出力速度が低速なハードディスクドライブなどの二次記憶装置へのスワップアウトを抑制することができるため、その後のプロセスの復元などの処理を高速に実行することができる。その結果、コンピュータ自体の性能の向上を図ることができる。
【００４０】
さらに、本発明では、主メモリ２０とＨＤＤ３０との間に、上述したような圧縮処理部１３等の構成を新たに追加して実装すればよいため、システムの他の要素に影響を与えることなく、容易に実現することができる。その結果、通常のメモリ使用量削減などは各個のプログラムの見直しなどによって行われなければならないところが、そのような見直しを行うことなく、低コストにてメモリの効率的利用を実現できる機能を実装することができる。
【実施例２】
【００４１】
次に、本発明の第２の実施例を、図６乃至図７を参照して説明する。図６は、本実施例におけるコンピュータ１の構成を示す機能ブロック図であり、図７は、その動作を示すフローチャートである。
【００４２】
［構成］
図６に示すように、本実施例におけるプロセス圧縮機能を有するコンピュータ１は、上述した実施例１におけるコンピュータ１とほぼ同様の構成を採っている。具体的な相違点としては、本実施例では、圧縮辞書記憶部３１’内に圧縮辞書データが予め記憶されておらず、コンピュータ１が圧縮処理を行う際に、圧縮対象となっているプロセスの特徴に基づいて当該プロセスに好適な圧縮辞書データを生成する圧縮辞書生成処理部１２’（圧縮辞書生成手段）を備えている。そして、この生成した圧縮辞書データを用いて、圧縮処理部１３がプロセスの圧縮処理を実行するよう構成されている。
【００４３】
ここで、圧縮辞書生成処理部１２’は、例えば、上述したプロセス実行処理部１１から通知された圧縮対象となっているプロセスイメージ自体の構造、種別、プロセス内アドレス、固有情報などに基づいて、このプロセスを圧縮するために最適な圧縮辞書データを生成する。具体的には、プロセスイメージの構造を表す仮想アドレスに基づいて、プロセス固有の情報や、同種のプロセスで共通の部分を特定し、その構造を解析した結果に基づいて、圧縮辞書データを生成する。例えば、共通部分は圧縮辞書データが保持し、プロセス種別や構造を表すプロセス内アドレス、固有情報などは圧縮データに含めるよう生成する、という圧縮ルールを表す圧縮辞書データを生成する。そして、圧縮辞書生成処理部１２’は、この生成した圧縮辞書データを、今後の復元時や、同種類のプロセスの圧縮時に利用するために、圧縮辞書記憶部３１’内に記憶しておく。
【００４４】
［動作］
次に、実施例２におけるコンピュータ１のプロセス圧縮動作を、図７のフローチャートを参照して説明する。なお、全体的には、ほぼ実施例１と同様であるため、簡単に説明する。
【００４５】
まず、コンピュータ１の主メモリ２０上で多数のプロセス２１が実行されており、当該主メモリ２０が逼迫された場合には（ステップＳ１）、使用していないプロセスイメージを圧縮する処理が開始される。すると、圧縮対象となるプロセスが特定され（ステップＳ２）、そのプロセスのプロセスイメージ、プロセス種別、プロセス内仮想アドレス、が抽出される（ステップＳ３）。
【００４６】
続いて、通知されたプロセス種別とプロセス内仮想アドレスに基づいて、圧縮対象となっているプロセスの特徴に対応する圧縮辞書データを新たに生成する（ステップＳ４’、圧縮辞書生成工程）。そして、この生成した圧縮辞書データを用いて、圧縮対象となっているプロセスイメージを圧縮し、圧縮データを生成する（ステップＳ５、プロセス圧縮工程）。このとき、使用した圧縮辞書データは、圧縮辞書データ記憶部３１’に格納しておく。
【００４７】
そして、上記圧縮処理により、プロセスイメージを半分以下に圧縮できた場合には（ステップＳ６でイエス）、圧縮データを主メモリ２０内に残して格納する（ステップＳ７、圧縮データ格納工程）。一方、半分以下に圧縮できなかった場合には（ステップＳ６でノー）、圧縮データをＨＤＤ２０に書き出して格納する（ステップＳ８、圧縮データ格納工程）。
【実施例３】
【００４８】
次に、本発明の第３の実施例を、図８乃至図９を参照して説明する。図８、図９は、それぞれコンピュータ１の構成を示す機能ブロック図である。
【００４９】
まず、図８に示す構成のコンピュータ１は、上述した実施例１のコンピュータ１とほぼ同様の構成を採っている。具体的な相違点としては、本実施例では、ＨＤＤに替えてフラッシュメモリなどの補助メモリ１３０を装備しており、この中に圧縮辞書記憶部１３１と、圧縮データ記憶部１３２と、が形成されている。そして、圧縮データ格納処理部１４’が、圧縮した全てのデータを、二次記憶装置である補助メモリ１３０に書き出す、という構成を採っている。
【００５０】
このような構成によると、主メモリ２０には圧縮データを書き出さないため、例えば、主メモリ２０の容量が少ないコンピュータに有効である。また、本発明では、上述したように圧縮効率が高いため、圧縮データの容量も従来と比較して少なく、補助メモリ１３０に要する容量を低減することもできる。
【００５１】
また、図９は、コンピュータ１の他の例を示す。この図に示すコンピュータ１も、上述した実施例１のコンピュータ１とほぼ同様の構成を採っている。具体的な相違点としては、本実施例では、ＨＤＤに替えてＲＯＭ２３０を装備しており、この中に圧縮辞書記憶部１３１が形成されている。そして、圧縮データ格納処理部１４”が、圧縮した全てのデータを、主メモリ２０に書き出す、という構成を採っている。
【００５２】
このような構成によると、フラッシュメモリやＨＤＤなどの補助記憶装置が装備されていない組み込み型機器といったコンピュータであっても、主メモリ２０に書き出される圧縮データは圧縮効率が高いため、当該主メモリ２０の逼迫を抑制しつつ、当該メモリの効率的な使用を実現できる。
【００５３】
なお、上記図８及び図９に示す構成において、圧縮辞書データは予め用意されていてもよく、実施例２で説明したように、圧縮対象となるプロセスの構造等に基づいて、圧縮辞書データを生成して、圧縮処理に利用してもよい。
【産業上の利用可能性】
【００５４】
本発明は、多数の同種のプロセスを実行するネットワークサーバや、二次記憶を備えていない組み込み型機器、などのあらゆる情報処理装置に利用可能であり、産業上の利用可能性を有する。
【図面の簡単な説明】
【００５５】
【図１】実施例１におけるコンピュータの構成を示す機能ブロック図である。
【図２】実施例１におけるコンピュータの構成を示す機能ブロック図である。
【図３】プロセスの構成を示す図である。
【図４】実施例１におけるコンピュータによるプロセス圧縮処理の動作を示すフローチャートである。
【図５】実施例１におけるコンピュータによるプロセス復元処理の動作を示すフローチャートである。
【図６】実施例２におけるコンピュータの構成を示す機能ブロック図である。
【図７】実施例１におけるコンピュータによるプロセス圧縮処理の動作を示すフローチャートである。
【図８】実施例３におけるコンピュータの構成の一例を示す機能ブロック図である。
【図９】実施例３におけるコンピュータの構成の一例を示す機能ブロック図である。
【符号の説明】
【００５６】
１  コンピュータ
１１  プロセス実行処理部
１２  圧縮辞書選定処理部
１３  圧縮処理部
１４  圧縮データ格納処理部
１５  プロセス復元処理部
２１  プロセス
２２，３２  圧縮データ記憶部
３１  圧縮辞書記憶部
【図１】
2008225818.tif 000003
【図２】
2008225818.tif 000004
【図３】
2008225818.tif 000005
【図４】
2008225818.tif 000006
【図５】
2008225818.tif 000007
【図６】
2008225818.tif 000008
【図７】
2008225818.tif 000009
【図８】
2008225818.tif 000010
【図９】
2008225818.tif 000011