JP3809870B2 - 容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置 - Google Patents

容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置 Download PDF

Info

Publication number
JP3809870B2
JP3809870B2 JP2003279799A JP2003279799A JP3809870B2 JP 3809870 B2 JP3809870 B2 JP 3809870B2 JP 2003279799 A JP2003279799 A JP 2003279799A JP 2003279799 A JP2003279799 A JP 2003279799A JP 3809870 B2 JP3809870 B2 JP 3809870B2
Authority
JP
Japan
Prior art keywords
capacity
free
storage device
offset value
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003279799A
Other languages
English (en)
Other versions
JP2005044264A (ja
Inventor
泰史 塚本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2003279799A priority Critical patent/JP3809870B2/ja
Priority to US10/898,513 priority patent/US20050038971A1/en
Publication of JP2005044264A publication Critical patent/JP2005044264A/ja
Application granted granted Critical
Publication of JP3809870B2 publication Critical patent/JP3809870B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置に関する。特に本発明は、記憶装置を使用するアプリケーションプログラムに認識させる記憶装置の空き容量を変更し、アプリケーションプログラムが誤って記憶装置の空きがないと認識することを防止する容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置に関する。
情報処理装置上で動作するアプリケーションプログラムは、ファイルを記憶装置に格納したり、新たなアプリケーションをインストールしたりする場合等に、当該情報処理装置上で動作するオペレーティングシステムの関数を呼び出して記憶装置の空き容量を取得する。そして、記憶装置の空き容量が十分でない場合に、ファイルの格納やアプリケーションのインストールを中断する。
近年の技術の進歩に伴い、ハードディスク・ドライブ等の記憶装置の容量は急速に増加しており、1台で100GBを超えるハードディスク・ドライブが出荷されている。このため、古いオペレーティングシステムでは記憶装置の空き容量を32ビット整数で表現していたものも存在したが、近年のオペレーティングシステムでは64ビット整数で表現するのが一般的となっている(非特許文献1参照。)。
マイクロソフト社、「GetDiskFreeSpaceEx」、[online]、2001年、マイクロソフト社ホームページ、[平成15年7月10日検索]、インターネット<URL:http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_getdiskfreespaceex.htm>
アプリケーションプログラムによっては、記憶装置の空き容量を判断する場合に、オペレーティングシステムの関数の戻り値を本来のビット幅より小さいビット幅の変数に代入し、この値に基づいて空き容量を認識するものがある。例えばオペレーティングシステムが64ビット整数を用いて空き容量32.1GBを返した場合、32ビット符号無し整数の変数に代入すると4GB(2の32乗バイト)の倍数部分が無視されてしまい、空き容量0.1GBと認識してしまう。
このため、アプリケーションプログラムは、十分な空き容量があるにもかかわらず記憶装置の空き容量が不足していると認識し、エラー等を発生してしまうという問題が生じる。
そこで本発明は、上記の課題を解決することのできる容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
本発明の第1の形態によると、情報処理装置上で動作し記憶装置を使用するアプリケーションプログラムに認識させる前記記憶装置の空き容量を、前記情報処理装置により変更させる容量変更プログラムであって、前記情報処理装置を、前記記憶装置の空き容量の値を取得する空き容量取得部と、前記空き容量が予め定められた規定容量の第1の整数倍より第1オフセット値大きい第1容量である場合に、前記規定容量の第2の整数倍に前記第1オフセット値より大きく前記規定容量未満の第2オフセット値を加えた第2容量に前記空き容量を減少させる空き容量変更部として機能させる容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明によれば、記憶装置を使用するアプリケーションプログラムが誤って記憶装置の空き容量が不足していると認識することを防止することができる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る情報処理装置100のハードウェア構成の一例を示す。本実施形態に係る情報処理装置100には、オペレーティングシステム110及びアプリケーションプログラム120に加えて容量変更プログラム130がインストールされる。そして、容量変更プログラム130は、記憶装置を使用するアプリケーションプログラム120が誤って記憶装置の空き容量が不足していると認識するのを防ぐことを目的として、アプリケーションプログラム120が認識する記憶装置の空き容量を変更する。
本実施形態に係る情報処理装置100は、ホスト・コントローラ1082により相互に接続されるCPU1000、RAM1020、グラフィック・コントローラ1075、及び表示装置1080を有するCPU周辺部と、入出力コントローラ1084によりホスト・コントローラ1082に接続される通信インターフェイス1030、記憶装置1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスク・ドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
ホスト・コントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィック・コントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ1075は、CPU1000等がRAM1020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィック・コントローラ1075は、CPU1000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ1084は、ホスト・コントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、記憶装置1040、CD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して他の装置と通信する。記憶装置1040は、情報処理装置100内のCPU1000が使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020を介して記憶装置1040に提供する。
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスク・ドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、情報処理装置100が起動時に実行するブート・プログラムや、情報処理装置100のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、RAM1020を介して記憶装置1040に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
RAM1020を介して記憶装置1040に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM1020を介して情報処理装置100内の記憶装置1040にインストールされ、CPU1000において実行される。
ハードディスク・ドライブ等の記憶装置1040は、情報処理装置100上で動作する各種プログラムの基本動作環境を提供するオペレーティングシステム110、オペレーティングシステム110上で動作し記憶装置1040を使用するアプリケーションプログラム120、及びアプリケーションプログラム120に認識させる記憶装置1040の空き容量を情報処理装置100により変更させる容量変更プログラム130等の各種プログラムがインストールされる。ここでアプリケーションプログラム120は、ワードプロセッサや表計算ソフトウェア等のアプリケーションプログラムであってよく、これに代えてアプリケーションプログラムをインストールするセットアッププログラム等のアプリケーションプログラムであってもよい。
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置100に提供してもよい。
図2は、オペレーティングシステム110、1又は複数のアプリケーションプログラム120、及び容量変更プログラム130を情報処理装置100上で動作させることにより実現される情報処理装置100の機能構成を示す。情報処理装置100は、機能構成としてハードウェア機能200、オペレーティングシステム機能210、1又は複数のアプリケーション機能220、及び容量変更処理部230を備える。
ハードウェア機能200は、情報処理装置100が備えるCPU1000、ROM1010、RAM1020、通信インターフェイス1030、記憶装置1040、フレキシブルディスク・ドライブ1050、CD−ROMドライブ1060、入出力チップ1070、グラフィック・コントローラ1075、表示装置1080、及びホスト・コントローラ1082等のハードウェア資源である。
オペレーティングシステム機能210は、情報処理装置100上でオペレーティングシステム110を動作させることにより実現される機能であり、アプリケーション機能220や容量変更処理部230等のプログラムがハードウェア機能200等を使用する基本動作環境をシステム関数等により提供する。ここでオペレーティングシステム機能210は、記憶装置1040の空き容量の値を取得する要求をアプリケーション機能220又は容量変更処理部230から受けて、記憶装置の空き容量を要求元のアプリケーション機能220又は容量変更処理部230に返す。この機能は、オペレーティングシステム110に実装されたGetDiskFreeSpaceEx関数等のシステム関数を情報処理装置100が実行することにより実現されてよい。アプリケーション機能220は、情報処理装置100上でアプリケーションプログラム120を動作させることにより情報処理装置100上に実現される。
容量変更処理部230は、情報処理装置100上で容量変更プログラム130を動作させることにより情報処理装置100上に実現される機能であり、空き容量取得部240及び空き容量変更部250を有する。空き容量取得部240は、オペレーティングシステム機能210の関数を呼び出して記憶装置1040の空き容量の値を取得する。空き容量変更部250は、取得した空き容量及びアプリケーション機能220に認識させるべき空き容量から削減すべき空き容量である削減容量を調整する削減容量調整部260と、記憶装置1040の空き容量を削減容量分減少させることによりアプリケーション機能220に認識させる空き容量を変更する容量削減部270を含む。
以上において、情報処理装置100にインストールされ情報処理装置100を容量変更処理部230として機能させる容量変更プログラム130は、空き容量取得モジュールと、削減容量調整モジュール及び容量削減モジュールを有する空き容量変更モジュールとを備える。これらのプログラム及びモジュールは、情報処理装置100を、空き容量取得部240と、削減容量調整部260及び容量削減部270を有する空き容量変更部250としてそれぞれ機能させる。
図3は、本実施形態に係る容量変更プログラム130による空き容量の変更原理を示す。本実施形態においてオペレーティングシステム110は、記憶装置1040の空き容量を、情報処理装置100における第1の整数表現、すなわち例えば64ビット整数等により表わす。一方、アプリケーションプログラム120は、表現可能な最大の整数が第1の整数表現より小さい第2の整数表現、すなわち例えば32ビット符号無し整数等により空き容量を認識する。
例えば空き容量が32.1GBの場合、空き容量を示す64ビット整数のうちの上位部分(上位32ビット部分)には4GBの倍数部分、すなわち空き容量を4GBで割った商である8が記録される。また、空き容量を示す64ビット整数のうちの下位部分(下位32ビット部分)には4GBの倍数部分以外の値、すなわち空き容量を4GBで割った剰余である0.1GBが記録される。
アプリケーションプログラム120が記憶装置1040の空き容量を32ビット符号なし整数により認識する場合、空き容量を示す64ビット整数のうち下位部分のみを認識する。すなわち、アプリケーションプログラム120は、記憶装置1040の空き容量を、第2の整数表現で表すことができる最大値+1の容量による剰余値として認識する。このため、本例においてアプリケーションプログラム120は空き容量を0.1GBと認識し、0.1GBを超えるファイルの格納やアプリケーションのインストール等を中止してしまう。
そこで、容量変更プログラム130により実現される空き容量変更部250は、空き容量が予め定められた規定容量Huの第1の整数n倍より予め定められた第1オフセット値O大きい第1容量である場合に、規定容量Huの第2の整数n倍に第1オフセット値Oより大きく規定容量Hu未満の第2オフセット値Oを加えた第2容量に空き容量を減少させる。すなわち空き容量変更部250は、空き容量が第1容量(=Hu×n+O)の場合に、空き容量を第2容量(=Hu×n+O(O<O<Hu))に減少させる。ここで、規定容量Huは、第1の整数表現の上位部分の単位となる値であって第2の整数表現の最大値+1である値、すなわち第2の整数表現が32ビット符号無し整数の場合4GBに設定される。
上記の処理の結果、空き容量変更部250は、空き容量が第1容量である場合に空き容量を第2容量に減少させ、アプリケーションプログラム120に空き容量が第2オフセット値であると認識させる。より具体的には、空き容量変更部250は、空き容量の第1の整数表現が第1容量である場合に空き容量の第1の整数表現を第2容量に減少させ、空き容量の第2の整数表現が第2オフセット値であるとアプリケーションプログラム120が認識するように空き容量を第2容量に変更する。これによりアプリケーションプログラム120が認識する空き容量を、OからOに増加させることができる。
例えば空き容量が第1容量である32.1GB(Hu=4GB、n=8、O=0.1GB)である場合、空き容量変更部250は、空き容量を第2容量である31.9GB(Hu=4GB、n=7、O=3.9GB)に減少させる。これによりアプリケーションプログラム120が認識する空き容量を、0.1GBから3.9GBに増加させることができる。
以上の処理により、空き容量変更部250は、アプリケーションプログラム120に認識される空き容量がOの場合に、アプリケーションプログラム120に認識させる空き容量をOに変更することができる。このようにして容量変更プログラム130は、情報処理装置100上で動作することにより、アプリケーションプログラム120が誤って記憶装置1040の空きが不足していると認識するのを防止することができる。
図4は、本実施形態に係る容量変更プログラム130の動作フローを示す。
まず、空き容量取得部240は、情報処理装置100上で動作するオペレーティングシステム110により提供される関数を呼び出して記憶装置1040の空き容量の値を取得する(S400)。ここで、記憶装置1040の空き容量を減少させるために容量削減部270がダミーファイルを記憶装置1040に格納している場合、空き容量取得部240は、ダミーファイルを除いた記憶装置1040の空き容量を取得する。
空き容量取得部240は、S400において、記憶装置1040の空き容量を予め定められた時間間隔で監視してよい。これに代えて、S400において記憶装置1040に格納された記憶内容が変更された場合に、空き容量取得部240は、記憶装置1040の空き容量の値を取得してもよい。より具体的には、空き容量取得部240は、例えば新たなファイルが記憶装置1040に書き込まれた場合、記憶装置1040に格納されたファイルが一部追加又は一部削除等により変更された場合、又は記憶装置1040に格納されたファイルが削除された場合に、記憶内容が変更されたことを示すイベント通知をオペレーティングシステム機能210から受けて記憶内容が変更されたことを認識し、記憶装置1040の空き容量の値を取得してよい。これにより容量変更処理部230は、空き容量の変更が必要となった場合にのみ動作することができ、記憶装置1040の空き容量に変更がない場合にCPU1000等のハードウェア資源を無駄に使用するのを防ぐことができる。
削減容量調整部260は、空き容量の値が変化していない場合、処理をS400へ進める(S410)。
S410において空き容量の値が変化している場合、削減容量調整部260は、記憶装置1040の空き容量から削減すべき削減容量を算出する(S420)。例えば削減容量調整部260は、記憶装置1040の空き容量である第1容量における第1オフセット値が規定容量未満の下限しきい値より小さい場合に、空き容量を第2容量に減少させるべく第1容量から第2容量を減じた削減容量を算出する。一方、第1オフセット値が下限しきい値以上の場合に、空き容量を第1容量のまま維持するべく削減容量を0とする。
記憶装置1040の空き容量を減少させるために容量削減部270が記憶装置1040に格納するファイルであるダミーファイルの容量が削減容量と略等しい場合(S430:No、S470:No)、削減容量調整部260は、処理をS400へ進め、空き容量の監視を継続させる。
一方、ダミーファイルの容量が削減容量より小さい場合、削減容量調整部260は、ダミーファイルの容量を増加させる指示を容量削減部270に与える(S430:Yes)。この指示を受けて、容量削減部270は、ダミーファイルを未格納である場合(S440:No)に、空き容量である第1容量から第2容量を減じた大きさである削減容量のファイルをダミーファイルとして記憶装置1040に格納し、空き容量を第2容量に減少させる。ここで本実施形態に係る削減容量調整部260は、ダミーファイルとして、規定容量より小さいファイルを記憶装置1040に格納する。そして、容量削減部270は、処理をS400へ進め、空き容量の監視を継続させる。
ダミーファイルを既に格納している場合(S440:Yes)、容量削減部270は、ダミーファイルの容量が削減容量となるようにダミーファイルを拡大する(S460)。ここで容量削減部270は、新たなダミーファイルを記憶装置1040に更に格納して、元の1又は複数のダミーファイル及び新たに格納したダミーファイルの合計容量が削減容量となるようにしてもよい。そして容量削減部270は、処理をS400へ進め、空き容量の監視を継続させる。
また、S430においてダミーファイルの容量が削減容量より大きい場合(S430:No、S470:Yes)、削減容量調整部260は、ダミーファイルの容量を減少させる指示を容量削減部270に与える。この指示を受けて、容量削減部270は、ダミーファイルの容量が削減容量となるようにダミーファイルを縮小する(S480)。ここで容量削減部270は、記憶装置1040に格納された複数のダミーファイルの一部を削除して、残りの複数のダミーファイルの合計容量が削減容量となるようにしてもよい。そして容量削減部270は、処理をS400へ進め、空き容量の監視を継続させる。
以上のS450、S460及びS480に示した処理により、削減容量調整部260は、S400における監視の結果空き容量である第1容量の第1オフセット値が、予め定められた、規定容量未満の下限しきい値より小さくなった場合に、第1容量から第2容量を減じた大きさのファイルを記憶装置1040に格納し、空き容量を第2容量に減少させることができる。
図5及び図6は、本実施形態に係る容量変更プログラム130による空き容量の変更形態を示す。図5(a)は第1の変更形態、図5(b)は第2の変更形態、図5(c)は第3の変更形態、図5(d)は第4の変更形態、図6(a)は第5の変更形態、図6(b)は第6の変更形態をそれぞれ示す。
第1の変更形態(図5(a))において、空き容量変更部250内の削減容量調整部260は、記憶装置1040の空き容量である第1容量の第1オフセット値Oが下限しきい値Tより小さい場合に、第2オフセット値Oが第1オフセット値Oより大きく規定容量Hu未満である第2容量に空き容量を減少させるべく削減容量を設定する(図4のS400)。ここで下限しきい値Tは、予め定められた、規定容量Hu未満の値である。そして、空き容量変更部250内の容量削減部270は、削減容量のダミーファイルを記憶装置1040に格納し、記憶装置1040の空き容量を第2容量に減少させる(図4のS450、S460、又はS480)。
より好ましくは、空き容量変更部250は、図5(a)に示すように、第2オフセット値Oが下限しきい値T以上規定容量Hu未満である第2容量に空き容量を減少させる。ここで、空き容量変更部250は、第2容量として、第2オフセット値Oが規定容量に近い規定容量Hu未満の値を選択し、アプリケーションプログラム120が認識する空き容量をできるだけ大きく確保する。
これにより空き容量変更部250は、例えば下限しきい値Tを0.1GBとした場合において、アプリケーションプログラム120が認識する記憶装置1040の空き容量が0.1GBより小さくなる場合に、アプリケーションプログラム120が認識する空き容量を0.1GB以上となるように変更することができる。
第2の変更形態(図5(b))において、空き容量変更部250内の削減容量調整部260は、記憶装置1040の空き容量である第1容量の第1オフセット値Oが下限しきい値Tより小さい場合、又は、第1オフセット値Oが上限しきい値Tより大きい場合に、第2オフセット値Oが下限しきい値T以上上限しきい値T以下である第2容量に空き容量を減少させるべく削減容量を設定する(図4のS400)。ここで下限しきい値Tは、予め定められた規定容量Hu未満の値であり、上限しきい値Tは、下限しきい値T以上規定容量Hu未満の値である。そして、空き容量変更部250内の容量削減部270は、削減容量のダミーファイルを記憶装置1040に格納し、記憶装置1040の空き容量を第2容量に減少させる(図4のS450、S460、又はS480)。ここで、空き容量変更部250は、第2容量として、第2オフセット値Oが上限しきい値Tに近い上限しきい値T以下の値を選択し、アプリケーションプログラム120が認識する空き容量をできるだけ大きく確保する。
これにより空き容量変更部250は、例えば下限しきい値Tを0.1GB、上限しきい値Tを3.9GBとした場合において、アプリケーションプログラム120が認識する記憶装置1040の空き容量が0.1GBより小さくなる場合及び3.9GBより大きくなる場合に、アプリケーションプログラム120が認識する空き容量を0.1GB以上3.9GB以下に変更することができる。このようにして空き容量を上限しきい値以下に抑えることにより、記憶装置1040の空き容量が瞬時に増加した場合においても、アプリケーションプログラム120が認識する空き容量が下限しきい値Tより小さくなる可能性を低減することができる。
第3の変更形態(図5(c))において、空き容量変更部250内の削減容量調整部260は、記憶装置1040の空き容量である第1容量の第1オフセット値Oが規定容量Huの半分未満である場合に、第2オフセット値Oが規定容量Huの半分以上規定容量Hu未満である第2容量に空き容量を減少させるべく削減容量を設定する(図4のS400)。そして、空き容量変更部250内の容量削減部270は、削減容量のダミーファイルを記憶装置1040に格納し、記憶装置1040の空き容量を第2容量に減少させる(図4のS450、S460、又はS480)。
例えば空き容量変更部250は、規定容量Huが4GBの場合において、第1オフセット値Oが規定容量Huの半分未満である場合、すなわち空き容量である第1容量が4GB以上6GB未満、8GB以上10GB未満、…の場合に、空き容量を2GB以上4GB未満、6GB以上8GB未満、…にそれぞれ設定する。この結果アプリケーションプログラム120が認識する記憶装置1040の空き容量は、2GB未満から2GB以上4GB未満に変更される。
このように空き容量変更部250は、アプリケーションプログラム120が認識する記憶装置1040の空き容量が規定容量Huの1/2より小さくなる場合に、アプリケーションプログラム120が認識する空き容量を規定容量Huの1/2以上に保つことができる。
第4の変更形態(図5(d))において、空き容量変更部250内の削減容量調整部260は、記憶装置1040の空き容量が第1容量である場合に、第2オフセット値Oが第1オフセット値Oと比較し規定容量Huの半分により近い第2容量に空き容量を減少させるべく削減容量を設定する(図4のS400)。そして、空き容量変更部250内の容量削減部270は、削減容量のダミーファイルを記憶装置1040に格納し、記憶装置1040の空き容量を第2容量に減少させる(図4のS450、S460、又はS480)。これにより空き容量変更部250は、アプリケーションプログラム120が認識する記憶装置1040の空き容量を規定容量Huの半分程度に保つことができる。
第5の変更形態(図6(a))において、空き容量変更部250内の容量削減部270は、記憶装置1040の空き容量が第1容量である場合に、第1容量から第2容量を減じた容量である削減容量を空き容量から減じて空き容量を第2容量に変更する(図4のS450、S460、又はS480)。次に、空き容量が更に減少して規定容量Huの第1の整数倍に近づいた場合に、空き容量変更部250内の削減容量調整部260は、削減容量を減少させて第2容量の減少量を第1容量の減少量と比較し小さくする(図4のS400)。
例えば容量削減部270は、規定容量Huが4GBの場合において、空き容量である第1容量が8GB+O(図中A)の場合に、空き容量を第2容量4GB+O(図中A’)に減少させる。次に、空き容量が更に減少して8GBに近づき、これに伴い第1オフセット値Oが減少した場合、削減容量調整部260は、削減容量を減少させて第2容量及び第2オフセット値Oの減少量を第1容量及び第1オフセット値Oの減少量と比較し小さくする。より好ましくは、削減容量調整部260は、空き容量が更に減少して規定容量Huの第1の整数倍に近づいた場合に、削減容量を空き容量の減少分減少させて第2容量及び第2オフセット値Oを一定に保つ。
これにより空き容量変更部250は、空き容量である第1容量が減少した場合においても、アプリケーションプログラム120に認識させる空き容量を比較的大きく保つことができる。
第6の変更形態(図6(b))において、空き容量変更部250内の容量削減部270は、記憶装置1040の空き容量が第1容量である場合に、第1容量から第2容量を減じた容量である削減容量を空き容量から減じて空き容量を第2容量に変更する(図4のS450、S460、又はS480)。次に、空き容量が更に増加した場合に、空き容量変更部250内の削減容量調整部260は、削減容量を増加させて第2容量の増加量を第1容量の増加量と比較し小さくする(図4のS400)。
例えば容量削減部270は、規定容量Huが4GBの場合において、空き容量である第1容量が8GB+O(図中A)の場合に、空き容量を第2容量4GB+O(図中A’)に減少させる。次に、空き容量が更に増加し、これに伴い第1オフセット値Oが増加した場合、削減容量調整部260は、削減容量を増加させて第2容量及び第2オフセット値Oの増加量を第1容量及び第1オフセット値Oの増加量と比較し小さくする。より好ましくは、削減容量調整部260は、空き容量が更に増加した場合に、削減容量を空き容量の増加分増加させて第2容量及び第2オフセット値Oを一定に保つ。
削減容量調整部260は、上記の処理を、空き容量である第1容量の第1オフセット値Oが増加し、規定容量Hu未満の下限しきい値Tを超えるまで行ってよい。そして削減容量調整部260は、第1オフセット値Oが増加し下限しきい値Tを超えた場合に、削減容量を0としてよい。これにより、容量削減部270は、ダミーファイルを削除し空き容量である第1容量と同一の第2容量をアプリケーションプログラム120に与える結果、下限しきい値Tを超える空き容量をアプリケーションプログラム120に認識させることができる。
図7は、オペレーティングシステム110、1又は複数のアプリケーションプログラム120、及び容量変更プログラム130を情報処理装置100上で動作させることにより実現される、本実施形態の変形例に係る情報処理装置100の機能構成を示す。情報処理装置100は、機能構成としてハードウェア機能200、オペレーティングシステム機能210、アプリケーション機能220a〜b、及び容量変更処理部230を備える。ここで、ハードウェア機能200、オペレーティングシステム機能210、及びアプリケーション機能220a〜bは、図2に示したハードウェア機能200、オペレーティングシステム機能210、及びアプリケーション機能220とそれぞれ同様の機能を有するため、以下相違点を除き説明を省略する。
本変形例において、アプリケーション機能220aは、記憶装置1040の空き容量を、オペレーティングシステム機能210により表現された空き容量の値通りに認識することができる。一方、アプリケーション機能220bは、図2に示したアプリケーション機能220と同様に、第2の整数表現により記憶装置1040の空き容量を認識する結果、記憶装置1040の空き容量を規定容量による剰余値として認識する。
容量変更処理部230は、情報処理装置100上で容量変更プログラム130を動作させることにより情報処理装置100上に実現される機能であり、空き容量取得部240、空き容量変更部250及び起動処理部700を有する。本変形例において、容量変更処理部230における空き容量取得部240及び空き容量変更部250の組は、アプリケーション機能220bが空き容量の値の取得を要求する場合にアプリケーション機能220bから呼び出される。
空き容量取得部240は、アプリケーション機能220bから呼び出された場合に、情報処理装置100上で動作するオペレーティングシステム110であるオペレーティングシステム機能210の関数を呼び出して空き容量の値を取得する。空き容量変更部250は、オペレーティングシステム110から取得した空き容量が第1容量である場合に、空き容量を第2容量に減少させた値を記憶装置1040の空き容量の戻り値としてアプリケーションプログラム120を実行するアプリケーション機能220bに返す。本変形例において空き容量変更部250は、図2に示した削減容量調整部260及び容量削減部270とほぼ同様の機能を有する削減容量調整部260及び容量削減部270を有し、図2に示した削減容量調整部260及び容量削減部270と同様にして削減容量を算出し、空き容量を第2容量に削減してもよい。
ここで、本変形例に係る削減容量調整部260は、記憶装置1040の空き容量を監視せず、アプリケーション機能220bから呼び出された場合に動作する。また、本変形例に係る容量削減部270は、記憶装置1040にダミーファイルを格納せず、アプリケーション機能220bに返す空き容量の値を変更し記憶装置1040の空き容量を擬似的に減少させてよい。この場合、図4中のS430、S440、S450、S460、S470、及びS480に代えて、容量削減部270は、S420において算出された削減容量を空き容量から減じた値を、記憶装置1040の空き容量としてアプリケーション機能220bに返す。
起動処理部700は、複数のアプリケーションプログラム120のそれぞれを情報処理装置100に起動させ、アプリケーション機能220a〜bとして動作させる。起動処理部700は、例えば複数のアプリケーションプログラム120を順次起動するバッチファイルにより実現されてもよい。起動処理部700は、ダイレクト起動部710及びフック起動部720を含む。
ダイレクト起動部710は、規定容量Huより大きい空き容量を認識する第1のアプリケーションプログラム120を実行するアプリケーション機能220aが空き容量の取得を要求する場合に、第1のアプリケーションプログラム120を実行するアプリケーション機能220aからオペレーティングシステム110の関数を呼び出させて空き容量の値を取得させるように第1のアプリケーションプログラム120を起動させる。例えば、ダイレクト起動部710は、起動処理部700を実現するバッチファイル中に設けた、第1のアプリケーションプログラム120を起動させるコマンドラインにより実現される。
フック起動部720は、記憶装置1040の空き容量を規定容量Huによる剰余値として認識する第2のアプリケーションプログラム120を実行するアプリケーション機能220bが空き容量の値の取得を要求する場合に、第2のアプリケーションプログラム120を実行するアプリケーション機能220bから容量変更プログラム130を呼び出させて、空き容量変更部250により変更されて出力される空き容量を取得させるように、第2のアプリケーションプログラム120を起動させる。例えば、フック起動部720は、起動処理部700を実現するバッチファイル中に設けたコマンドラインにより実現されてよく、当該コマンドラインはアプリケーション機能220bのシステム関数呼び出しを容量変更処理部230内の空き容量取得部240及び空き容量変更部250にフックさせる形態でアプリケーション機能220b、空き容量取得部240及び空き容量変更部250を起動するコマンドを含んでよい。
以上において、情報処理装置100にインストールされ情報処理装置100を容量変更処理部230として機能させる容量変更プログラム130は、空き容量取得モジュールと、削減容量調整モジュール及び容量削減モジュールを有する空き容量変更モジュールとを備える。これらのプログラム及びモジュールは、情報処理装置100を、空き容量取得部240と、削減容量調整部260及び容量削減部270を有する空き容量変更部250としてそれぞれ機能させる。また容量変更プログラム130は、情報処理装置100を起動処理部700として機能させる起動プログラムを更に備える。
以上に示した変形例に係る情報処理装置100の機能構成によれば、規定容量以上の空き容量を正しく認識しないアプリケーションプログラム120のみに対して、容量変更プログラム130により空き容量を変更して認識させることができる。また、空き容量変更部250は、ダミーファイルを記憶装置1040に格納することなくアプリケーション機能220bに認識させる空き容量の値を変更することができ、ダミーファイル格納に伴う情報処理装置100の処理負荷の増加を防止することができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
例えば図2又は図7に示した空き容量取得部240及び空き容量変更部250は、オペレーティングシステム機能210の一部の機能として提供されてもよい。
また、空き容量変更部250内の容量削減部270は、ダミーファイルを記憶装置1040に格納する代わりに、情報処理装置100に常駐されて動作する常駐プログラムの数や常駐プログラムが確保するメモリ領域のサイズを変えて、オペレーティングシステム110が記憶装置1040に格納するページファイルの容量を変更することにより記憶装置1040の空き容量を変更してもよい。
以上に説明した実施形態によれば、以下の各項目に示す容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置が実現される。
(項目1) 情報処理装置上で動作し記憶装置を使用するアプリケーションプログラムに認識させる前記記憶装置の空き容量を、前記情報処理装置により変更させる容量変更プログラムであって、前記情報処理装置を、前記記憶装置の空き容量の値を取得する空き容量取得部と、前記空き容量が予め定められた規定容量の第1の整数倍より第1オフセット値大きい第1容量である場合に、前記規定容量の第2の整数倍に前記第1オフセット値より大きく前記規定容量未満の第2オフセット値を加えた第2容量に前記空き容量を減少させる空き容量変更部として機能させる容量変更プログラム。
(項目2) 前記アプリケーションプログラムは、前記記憶装置の空き容量を、前記規定容量による剰余値として認識し、前記空き容量変更部は、前記空き容量が前記第1容量である場合に前記空き容量を前記第2容量に減少させ、前記アプリケーションプログラムに前記空き容量が前記第2オフセット値であると認識させる項目1記載の容量変更プログラム。
(項目3) 前記記憶装置の空き容量は、前記情報処理装置における第1の整数表現により表され、前記アプリケーションプログラムは、表現可能な最大の整数が前記第1の整数表現より小さい第2の整数表現により前記空き容量を認識し、前記空き容量変更部は、前記空き容量の前記第1の整数表現が前記第1容量である場合に前記空き容量の前記第1の整数表現を前記第2容量に減少させ、前記アプリケーションプログラムに前記空き容量の前記第2の整数表現が前記第2オフセット値であると認識させる項目1記載の容量変更プログラム。
(項目4) 前記空き容量変更部は、前記第1オフセット値が予め定められた前記規定容量未満の下限しきい値より小さい場合に前記空き容量を前記第2容量に減少させ、前記第1オフセット値が前記下限しきい値以上の場合に前記空き容量を前記第1容量のまま維持する項目1記載の容量変更プログラム。
(項目5) 前記空き容量変更部は、前記空き容量が前記第1容量である場合に、前記第1容量から前記第2容量を減じた大きさのファイルを前記記憶装置に格納し、前記空き容量を前記第2容量に減少させる項目1記載の容量変更プログラム。
(項目6) 前記空き容量変更部は、前記空き容量が前記第1容量である場合に、前記第1容量から前記第2容量を減じた大きさの、前記規定容量より小さいファイルを前記記憶装置に格納し、前記空き容量を前記第2容量に減少させる項目5記載の容量変更プログラム。
(項目7) 前記空き容量取得部は、前記記憶装置の前記空き容量を予め定められた時間間隔で監視し、前記空き容量変更部は、監視の結果前記空き容量である前記第1容量の前記第1オフセット値が予め定められた前記規定容量未満のしきい値より小さくなった場合に、前記第1容量から前記第2容量を減じた大きさのファイルを前記記憶装置に格納し、前記空き容量を前記第2容量に減少させる項目4記載の容量変更プログラム。
(項目8) 前記記憶装置に格納された情報が変更された場合に、前記空き容量取得部は、前記記憶装置の空き容量の値を取得する項目1記載の容量変更プログラム。
(項目9) 当該容量変更プログラムは、前記アプリケーションプログラムが前記空き容量の値の取得を要求する場合に前記アプリケーションプログラムから呼び出され、前記空き容量取得部は、前記アプリケーションプログラムから呼び出された場合に、前記情報処理装置上で動作するオペレーティングシステムの関数を呼び出して前記空き容量の値を取得し、前記空き容量変更部は、前記オペレーティングシステムから取得した前記空き容量が前記第1容量である場合に、前記空き容量を前記第2容量に減少させた値を前記記憶装置の前記空き容量の戻り値として前記アプリケーションプログラムに返す項目1記載の容量変更プログラム。
(項目10) 前記容量変更プログラムは、複数の前記アプリケーションプログラムのそれぞれを、前記情報処理装置に起動させる起動プログラムを更に備え、前記起動プログラムは、前記情報処理装置を、前記規定容量より大きい前記空き容量を認識する第1の前記アプリケーションプログラムが前記空き容量の取得を要求する場合に、前記第1のアプリケーションプログラムから前記オペレーティングシステムの関数を呼び出させて前記空き容量の値を取得させるように前記第1のアプリケーションプログラムを起動させるダイレクト起動部と、前記記憶装置の前記空き容量を前記規定容量による剰余値として認識する第2の前記アプリケーションプログラムが前記空き容量の値の取得を要求する場合に、前記第2のアプリケーションプログラムから当該容量変更プログラムを呼び出させて、前記空き容量変更部により出力される前記空き容量を取得させるように前記第2のアプリケーションプログラムを起動させるフック起動部として機能させる項目9記載の容量変更プログラム。
(項目11) 前記空き容量変更部は、前記空き容量が前記第1容量である場合に、前記第1容量から前記第2容量を減じた容量である削減容量を前記空き容量から減じて前記空き容量を前記第2容量に変更する容量削減部と、前記空き容量が更に減少して前記規定容量の前記第1の整数倍に近づいた場合に、前記削減容量を減少させて前記第2容量の減少量を前記第1容量の減少量と比較し小さくする削減容量調整部とを有する項目1記載の容量変更プログラム。
(項目12) 前記削減容量調整部は、前記空き容量が更に減少して前記規定容量の前記第1整数倍に近づいた場合に、前記削減容量を前記空き容量の減少分減少させる項目11記載の容量変更プログラム。
(項目13) 前記空き容量変更部は、前記空き容量が前記第1容量である場合に、前記第1容量から前記第2容量を減じた容量である削減容量を前記空き容量から減じて前記空き容量を前記第2容量に変更する容量削減部と、前記空き容量が更に増加した場合に、前記削減容量を増加させて前記第2容量の増加量を前記第1容量の増加量と比較し小さくする削減容量調整部とを有する項目1記載の容量変更プログラム。
(項目14) 前記削減容量調整部は、前記空き容量が更に増加した場合に、前記削減容量を前記空き容量の増加分増加させる項目13記載の容量変更プログラム。
(項目15) 前記空き容量変更部は、前記空き容量である前記第1容量の前記第1オフセット値が予め定められた前記規定容量未満の下限しきい値より小さい場合、又は、前記第1オフセット値が予め定められた前記下限しきい値以上前記規定容量未満の上限しきい値より大きい場合に、前記第2オフセット値が前記下限しきい値以上前記上限しきい値以下である前記第2容量に前記空き容量を減少させる項目1記載の容量変更プログラム。
(項目16) 前記空き容量変更部は、前記空き容量である前記第1容量の前記第1オフセット値が前記規定容量の半分未満である場合に、前記第2オフセット値が前記規定容量の半分以上前記規定容量未満である前記第2容量に前記空き容量を減少させる項目1記載の容量変更プログラム。
(項目17) 前記空き容量変更部は、前記空き容量が前記第1容量である場合に、前記第2オフセット値が前記第1オフセット値と比較し前記規定容量の半分により近い前記第2容量に前記空き容量を減少させる項目1記載の容量変更プログラム。
(項目18) 情報処理装置上で動作し記憶装置を使用するアプリケーションプログラムに認識させる前記記憶装置の空き容量を、前記情報処理装置により変更させる容量変更プログラムを記録した記録媒体であって、当該容量変更プログラムは、前記情報処理装置を、前記記憶装置の空き容量の値を取得する空き容量取得部と、前記空き容量が予め定められた規定容量の第1の整数倍より第1オフセット値大きい第1容量である場合に、前記規定容量の第2の整数倍に前記第1オフセット値より大きく前記規定容量未満の第2オフセット値を加えた第2容量に前記空き容量を減少させる空き容量変更部として機能させる記録媒体。
(項目19) 情報処理装置上で動作し記憶装置を使用するアプリケーションプログラムに認識させる前記記憶装置の空き容量を変更する情報処理装置であって、前記記憶装置の空き容量の値を取得する空き容量取得部と、前記空き容量が予め定められた規定容量の第1の整数倍より第1オフセット値大きい第1容量である場合に、前記規定容量の第2の整数倍に前記第1オフセット値より大きく前記規定容量未満の第2オフセット値を加えた第2容量に前記空き容量を減少させる空き容量変更部とを備える情報処理装置。
(項目20) 情報処理装置上で動作し記憶装置を使用するアプリケーションプログラムに認識させる前記記憶装置の空き容量を、前記情報処理装置により変更させる容量変更方法であって、前記記憶装置の空き容量の値を取得する空き容量取得段階と、前記空き容量が予め定められた規定容量の第1の整数倍より第1オフセット値大きい第1容量である場合に、前記規定容量の第2の整数倍に前記第1オフセット値より大きく前記規定容量未満の第2オフセット値を加えた第2容量に前記空き容量を減少させる空き容量変更段階とを備える容量変更方法。
本発明の実施形態に係る情報処理装置100のハードウェア構成を示す。 本発明の実施形態に係る情報処理装置100の機能構成を示す。 本発明の実施形態に係る容量変更プログラム130による空き容量の変更原理を示す。 本発明の実施形態に係る容量変更プログラム130の動作フローを示す。 本発明の実施形態に係る容量変更プログラム130による空き容量の変更形態を示す。図5(a)は第1の変更形態、図5(b)は第2の変更形態、図5(c)は第3の変更形態、図5(d)は第4の変更形態をそれぞれ示す。 本発明の実施形態に係る容量変更プログラム130による空き容量の変更形態を示す。図6(a)は第5の変更形態、図6(b)は第6の変更形態をそれぞれ示す。 本発明の実施形態の変形例に係る情報処理装置100の機能構成を示す。
符号の説明
100 情報処理装置
110 オペレーティングシステム
120 アプリケーションプログラム
130 容量変更プログラム
200 ハードウェア機能
210 オペレーティングシステム機能
220a〜b アプリケーション機能
230 容量変更処理部
240 空き容量取得部
250 空き容量変更部
260 削減容量調整部
270 容量削減部
700 起動処理部
710 ダイレクト起動部
720 フック起動部
1000 CPU
1010 ROM
1020 RAM
1030 通信インターフェイス
1040 記憶装置
1050 フレキシブルディスク・ドライブ
1060 CD−ROMドライブ
1070 入出力チップ
1075 グラフィック・コントローラ
1080 表示装置
1082 ホスト・コントローラ
1084 入出力コントローラ
1090 フレキシブルディスク
1095 CD−ROM

Claims (20)

  1. 情報処理装置上で動作し記憶装置を使用するアプリケーションプログラムに認識させる前記記憶装置の空き容量を、前記情報処理装置により変更させる容量変更プログラムであって、
    前記情報処理装置を、
    前記記憶装置の空き容量の値を取得する空き容量取得部と、
    前記空き容量が予め定められた規定容量の第1の整数倍より第1オフセット値大きい第1容量である場合に、前記規定容量の第2の整数倍に前記第1オフセット値より大きく前記規定容量未満の第2オフセット値を加えた第2容量に前記空き容量を減少させる空き容量変更部と
    して機能させる容量変更プログラム。
  2. 前記アプリケーションプログラムは、前記記憶装置の空き容量を、前記規定容量による剰余値として認識し、
    前記空き容量変更部は、前記空き容量が前記第1容量である場合に前記空き容量を前記第2容量に減少させ、前記アプリケーションプログラムに前記空き容量が前記第2オフセット値であると認識させる
    請求項1記載の容量変更プログラム。
  3. 前記記憶装置の空き容量は、前記情報処理装置における第1の整数表現により表され、
    前記アプリケーションプログラムは、表現可能な最大の整数が前記第1の整数表現より小さい第2の整数表現により前記空き容量を認識し、
    前記空き容量変更部は、前記空き容量の前記第1の整数表現が前記第1容量である場合に前記空き容量の前記第1の整数表現を前記第2容量に減少させ、前記アプリケーションプログラムに前記空き容量の前記第2の整数表現が前記第2オフセット値であると認識させる
    請求項1記載の容量変更プログラム。
  4. 前記空き容量変更部は、前記第1オフセット値が予め定められた前記規定容量未満の下限しきい値より小さい場合に前記空き容量を前記第2容量に減少させ、前記第1オフセット値が前記下限しきい値以上の場合に前記空き容量を前記第1容量のまま維持する請求項1記載の容量変更プログラム。
  5. 前記空き容量変更部は、前記空き容量が前記第1容量である場合に、前記第1容量から前記第2容量を減じた大きさのファイルを前記記憶装置に格納し、前記空き容量を前記第2容量に減少させる請求項1記載の容量変更プログラム。
  6. 前記空き容量変更部は、前記空き容量が前記第1容量である場合に、前記第1容量から前記第2容量を減じた大きさの、前記規定容量より小さいファイルを前記記憶装置に格納し、前記空き容量を前記第2容量に減少させる請求項5記載の容量変更プログラム。
  7. 前記空き容量取得部は、前記記憶装置の前記空き容量を予め定められた時間間隔で監視し、
    前記空き容量変更部は、監視の結果前記空き容量である前記第1容量の前記第1オフセット値が予め定められた前記規定容量未満のしきい値より小さくなった場合に、前記第1容量から前記第2容量を減じた大きさのファイルを前記記憶装置に格納し、前記空き容量を前記第2容量に減少させる
    請求項4記載の容量変更プログラム。
  8. 前記記憶装置に格納された記憶内容が変更された場合に、前記空き容量取得部は、前記記憶装置の空き容量の値を取得する請求項1記載の容量変更プログラム。
  9. 当該容量変更プログラムは、前記アプリケーションプログラムが前記空き容量の値の取得を要求する場合に前記アプリケーションプログラムから呼び出され、
    前記空き容量取得部は、前記アプリケーションプログラムから呼び出された場合に、前記情報処理装置上で動作するオペレーティングシステムの関数を呼び出して前記空き容量の値を取得し、
    前記空き容量変更部は、前記オペレーティングシステムから取得した前記空き容量が前記第1容量である場合に、前記空き容量を前記第2容量に減少させた値を前記記憶装置の前記空き容量の戻り値として前記アプリケーションプログラムに返す
    請求項1記載の容量変更プログラム。
  10. 前記容量変更プログラムは、複数の前記アプリケーションプログラムのそれぞれを、前記情報処理装置に起動させる起動プログラムを更に備え、
    前記起動プログラムは、前記情報処理装置を、
    前記規定容量より大きい前記空き容量を認識する第1の前記アプリケーションプログラムが前記空き容量の取得を要求する場合に、前記第1のアプリケーションプログラムから前記オペレーティングシステムの関数を呼び出させて前記空き容量の値を取得させるように前記第1のアプリケーションプログラムを起動させるダイレクト起動部と、
    前記記憶装置の前記空き容量を前記規定容量による剰余値として認識する第2の前記アプリケーションプログラムが前記空き容量の値の取得を要求する場合に、前記第2のアプリケーションプログラムから当該容量変更プログラムを呼び出させて、前記空き容量変更部により出力される前記空き容量を取得させるように前記第2のアプリケーションプログラムを起動させるフック起動部と
    して機能させる請求項9記載の容量変更プログラム。
  11. 前記空き容量変更部は、
    前記空き容量が前記第1容量である場合に、前記第1容量から前記第2容量を減じた容量である削減容量を前記空き容量から減じて前記空き容量を前記第2容量に変更する容量削減部と、
    前記空き容量が更に減少して前記規定容量の前記第1の整数倍に近づいた場合に、前記削減容量を減少させて前記第2容量の減少量を前記第1容量の減少量と比較し小さくする削減容量調整部と
    を有する請求項1記載の容量変更プログラム。
  12. 前記削減容量調整部は、前記空き容量が更に減少して前記規定容量の前記第1の整数倍に近づいた場合に、前記削減容量を前記空き容量の減少分減少させる請求項11記載の容量変更プログラム。
  13. 前記空き容量変更部は、
    前記空き容量が前記第1容量である場合に、前記第1容量から前記第2容量を減じた容量である削減容量を前記空き容量から減じて前記空き容量を前記第2容量に変更する容量削減部と、
    前記空き容量が更に増加した場合に、前記削減容量を増加させて前記第2容量の増加量を前記第1容量の増加量と比較し小さくする削減容量調整部と
    を有する請求項1記載の容量変更プログラム。
  14. 前記削減容量調整部は、前記空き容量が更に増加した場合に、前記削減容量を前記空き容量の増加分増加させる請求項13記載の容量変更プログラム。
  15. 前記空き容量変更部は、前記空き容量である前記第1容量の前記第1オフセット値が予め定められた前記規定容量未満の下限しきい値より小さい場合、又は、前記第1オフセット値が予め定められた前記下限しきい値以上前記規定容量未満の上限しきい値より大きい場合に、前記第2オフセット値が前記下限しきい値以上前記上限しきい値以下である前記第2容量に前記空き容量を減少させる請求項1記載の容量変更プログラム。
  16. 前記空き容量変更部は、前記空き容量である前記第1容量の前記第1オフセット値が前記規定容量の半分未満である場合に、前記第2オフセット値が前記規定容量の半分以上前記規定容量未満である前記第2容量に前記空き容量を減少させる請求項1記載の容量変更プログラム。
  17. 前記空き容量変更部は、前記空き容量が前記第1容量である場合に、前記第2オフセット値が前記第1オフセット値と比較し前記規定容量の半分により近い前記第2容量に前記空き容量を減少させる請求項1記載の容量変更プログラム。
  18. 情報処理装置上で動作し記憶装置を使用するアプリケーションプログラムに認識させる前記記憶装置の空き容量を、前記情報処理装置により変更させる容量変更プログラムを記録した記録媒体であって、
    当該容量変更プログラムは、前記情報処理装置を、
    前記記憶装置の空き容量の値を取得する空き容量取得部と、
    前記空き容量が予め定められた規定容量の第1の整数倍より第1オフセット値大きい第1容量である場合に、前記規定容量の第2の整数倍に前記第1オフセット値より大きく前記規定容量未満の第2オフセット値を加えた第2容量に前記空き容量を減少させる空き容量変更部と
    して機能させる記録媒体。
  19. 情報処理装置上で動作し記憶装置を使用するアプリケーションプログラムに認識させる前記記憶装置の空き容量を変更する情報処理装置であって、
    前記記憶装置の空き容量の値を取得する空き容量取得部と、
    前記空き容量が予め定められた規定容量の第1の整数倍より第1オフセット値大きい第1容量である場合に、前記規定容量の第2の整数倍に前記第1オフセット値より大きく前記規定容量未満の第2オフセット値を加えた第2容量に前記空き容量を減少させる空き容量変更部と
    を備える情報処理装置。
  20. 情報処理装置上で動作し記憶装置を使用するアプリケーションプログラムに認識させる前記記憶装置の空き容量を、前記情報処理装置により変更させる容量変更方法であって、
    前記記憶装置の空き容量の値を取得する空き容量取得段階と、
    前記空き容量が予め定められた規定容量の第1の整数倍より第1オフセット値大きい第1容量である場合に、前記規定容量の第2の整数倍に前記第1オフセット値より大きく前記規定容量未満の第2オフセット値を加えた第2容量に前記空き容量を減少させる空き容量変更段階と
    を備える容量変更方法。
JP2003279799A 2003-07-25 2003-07-25 容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置 Expired - Fee Related JP3809870B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003279799A JP3809870B2 (ja) 2003-07-25 2003-07-25 容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置
US10/898,513 US20050038971A1 (en) 2003-07-25 2004-07-23 Adjustment of free storage capacity for improved usage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003279799A JP3809870B2 (ja) 2003-07-25 2003-07-25 容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置

Publications (2)

Publication Number Publication Date
JP2005044264A JP2005044264A (ja) 2005-02-17
JP3809870B2 true JP3809870B2 (ja) 2006-08-16

Family

ID=34131469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003279799A Expired - Fee Related JP3809870B2 (ja) 2003-07-25 2003-07-25 容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置

Country Status (2)

Country Link
US (1) US20050038971A1 (ja)
JP (1) JP3809870B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831459B2 (en) * 2004-03-26 2010-11-09 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for balancing production capacity
US7913043B2 (en) * 2004-05-14 2011-03-22 Bakbone Software, Inc. Method for backup storage device selection
CN102023924B (zh) * 2009-09-21 2012-11-14 鸿富锦精密工业(深圳)有限公司 整合接收设备的存储空间征用的装置及方法
US20150324088A1 (en) * 2014-05-09 2015-11-12 Lyve Minds, Inc. Thumbnail image creation
US9678677B2 (en) 2014-12-09 2017-06-13 Intel Corporation Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device
US20190075501A1 (en) * 2017-09-05 2019-03-07 Industrial Technology Research Institute Control method for network communication system and multi-access edge computing ecosystem device

Also Published As

Publication number Publication date
US20050038971A1 (en) 2005-02-17
JP2005044264A (ja) 2005-02-17

Similar Documents

Publication Publication Date Title
JP3857661B2 (ja) 情報処理装置、プログラム、及び記録媒体
US8386611B2 (en) Information system, load control method, load control program and recording medium
US10826980B2 (en) Command process load balancing system
US6631515B1 (en) Method and apparatus to reduce code size and runtime in a Java environment
JP5911892B2 (ja) ハイバネイトからの多段レジューム
JP3761544B2 (ja) 設定装置、情報処理装置、設定方法、プログラム、及び記録媒体
US7975268B2 (en) Grid computing system, management server, processing server, control method, control program and recording medium
JP3580630B2 (ja) 消費電力を管理するシステム及び電源を管理する方法
JP5127722B2 (ja) アプリケーションの遅延起動
KR20080024156A (ko) 검색을 위한 백-오프 메커니즘
CA2143492A1 (en) Portable pcmcia interface for a host computer
US20090070740A1 (en) System for storing and managing objects
JP2008225765A (ja) ネットワークストレージ・システムとその管理方法及び制御プログラム
JP3809870B2 (ja) 容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置
JP2005234826A (ja) プログラム、記録媒体、制御方法、及び情報処理装置
CN101441551B (zh) 计算机、外存储器以及处理外存储器中数据信息的方法
US6473840B2 (en) Data processing system having a network and method for managing memory by storing discardable pages in a local paging device
EP3367243B1 (en) Information processing system, and information processing method
US6564276B1 (en) Access restriction of environmental circuits
US7017018B1 (en) Method and apparatus for a virtual memory file system
US20180335994A1 (en) Image forming apparatus, information processing method, storage medium storing program
JP6200100B2 (ja) 計算機システム
JPH0793198A (ja) コンピュータシステム
JP2005122602A (ja) キャッシュシステム、情報処理システム、キャッシュ方法、プログラム、及び記録媒体
KR100490388B1 (ko) 가상캐쉬메모리의엑세스속도향상방법

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060502

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20060510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060516

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees