JPH0816369A - クラスタリング方法及びシステム - Google Patents

クラスタリング方法及びシステム

Info

Publication number
JPH0816369A
JPH0816369A JP6144443A JP14444394A JPH0816369A JP H0816369 A JPH0816369 A JP H0816369A JP 6144443 A JP6144443 A JP 6144443A JP 14444394 A JP14444394 A JP 14444394A JP H0816369 A JPH0816369 A JP H0816369A
Authority
JP
Japan
Prior art keywords
cluster
file
storage medium
clustering
computer system
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.)
Granted
Application number
JP6144443A
Other languages
English (en)
Other versions
JP3433842B2 (ja
Inventor
Tamiya Onodera
民也 小野寺
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 JP14444394A priority Critical patent/JP3433842B2/ja
Publication of JPH0816369A publication Critical patent/JPH0816369A/ja
Application granted granted Critical
Publication of JP3433842B2 publication Critical patent/JP3433842B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 ファイル別クラスタリングの空間的効率を向
上させること。 【構成】 本発明の多重版別クラスタリングによれば、
1つのソース・ファイルのプログラム情報に加えられる
修正による差分は、当初、もとのソース・ファイルのプ
ログラム情報と同一のクラスタに累加される。そのこと
は、ファイル別クラスタリングと同様の処理である。し
かし、ファイル別クラスタリングとは異なるのは、差分
が累加される毎に、その累加の量が、例えばバイト数単
位で判断されることである。そうして、差分の累加の量
がある予定の量を超えたことに応答して、本発明によれ
ば、別のクラスタが作成され、その段階で、その別のク
ラスタには、差分でなく、修正されたソース・ファイル
のプログラム情報全体が格納される。そして、それ以降
の修正による差分は、旧クラスタではなく、新たなクラ
スタに対して累加される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、一般的に、コンピュ
ータによってアクセスされるディスクなどの記憶媒体に
おけるクラスタリング方法及びシステムに関し、より詳
しくは、プログラムの開発及び保守のために利用される
プログラム・データベースのクラスタリング技法に関す
るものである。
【0002】
【従来の技術】一般に、1つのプログラムは複数のファ
イルから構成され、1つのファイルは多数のプログラム
要素を含んでおり、プログラム要素間には種々の複雑な
関係が存在する。プログラム要素とは、たとえば、関数
や変数やクラスやクラスのメンバなどのことであり、関
係には、たとえば、クラスAはクラスBの親である、あ
るいは、メンバmはクラスCに所属する、あるいは、変
数vは関数fにおいて参照されている、といったものが
ある。
【0003】これらのプログラム要素間の関係を把握す
ることはプログラムの開発・理解・保守において重要で
ある。しかし、プログラムが巨大なものになるに従い、
関係の把握はますます重要となるが、同時に、一層困難
なものとなる。この関係の把握という作業を容易にする
ために、「ソースコード・ブラウザ」に代表される支援
ツールが設計実装されてきた。
【0004】これら支援ツールの基盤として存在するの
が「プログラム・データベース」で、プログラム要素群
とその関係を格納するものである。「クライアント」で
ある支援ツールは、ユーザの要求に応じて、このデータ
ベースを適宜参照し必要な情報を取り出す。
【0005】ところで最近は特に、オブジェクト指向技
術に基づいてプログラム・データベースを作成すること
が考えられるようになってきた。この場合、データベー
スのなかでは、1つのプログラム要素が概ね1つの「オ
ブジェクト」として、要素間の関係はオブジェクト間の
「リンク」として表現される。このデータベースをC+
+言語で実装する場合を考えると、オブジェクトは「ク
ラスのインスタンス」として、リンクは「ポインタ」と
して実現されることになる。図2は、このようなプログ
ラム・データベースの例であって、これは図1のC++
プログラムのプログラム情報を表現している。すなわ
ち、図1のプログラムによれば、aという変数は、クラ
スAのメンバ変数であり、クラスBは、クラスAから派
生(derive)され、bという変数は、クラスBの
メンバ変数になっている。
【0006】以上の説明において、オブジェクトには
「出身地」なるものを考えることができる。すなわち、
オブジェクトが表現するプログラム要素を含んでいるフ
ァイルをオブジェクトの出身地という。
【0007】次に、クラスタリングに関する一般的な説
明を行なう。この説明は、プログラム・データベースに
固有のものではなく、より一般的なディスク管理技術に
関するものである。
【0008】通常、データベースはハードディスクとい
った2次記憶上に格納され、クライアントがデータベー
ス中のデータにアクセスする際にはそのデータを、RA
Mなどの1次記憶上に持ってくることになる。通常、2
次記憶は4Kないし8Kバイトのブロックの集まりとし
て管理されており、1次記憶との間の転送はこのブロッ
ク単位で行なわれる。一般的に、コンピュータシステム
全体の中で、この2次記憶と1次記憶間のブロック転送
は相対的にかなり低速である。従って、もしも、あるプ
ログラムが2次記憶と1次記憶間で激しくデータをやり
とりするようになったならば、そのプログラムは実行時
間のほとんどすべてをこのブロック転送に費消し続け、
本来の作業は少しも進行しなくなる。これが「スラッシ
ング」という現象である。
【0009】「クラスタリング」とは、時間的に連続し
てアクセスされる可能性のあるオブジェクト群を、互い
に物理的に近接するように配置することである。また、
そのように近接配置されたデータ群は「クラスタ」を形
成しているという。ここで、オブジェクトAとオブジェ
クトBを近接配置するとはいかなることなのか、具体的
に定義すると、次のようになる。
【0010】1) 同じブロックに配置する。 2) 1)が可能でない場合は、Aが配置されたブロックか
らBが配置されたブロックへのシーク時間がなるべく最
小になるようにする。
【0011】これによりブロック転送の回数を少なくす
る、ないし、転送時間を短くすることができ、アプリケ
ーションの効率を向上させることができる。
【0012】次に、一般的なクラスタリングの実現方法
について説明する。これもまた特に、プログラムデータ
ベースに関係したものではないが、本発明の背景技術と
なるものである。
【0013】上述したように、クラスタとは、2次記憶
上の「連続」したブロックの集まりである。ここで、連
続しているという意味は、たとえば、ハードディスクの
場合は最小のシーク時間で次のブロックに到達できると
いうことを意味する。
【0014】このようなクラスタの実現方法としては、
代表的には次の3通りが考えられる。 1) 2次記憶装置を直接制御する。 2) オペレーティングシステムのファイルシステムを利
用する。たとえば、AIX(IBMの商標)のファイル
システム、MS−DOS(マイクロソフトの登録商標)
及びOS/2(IBMの商標)のFAT、あるいは、O
S/2のHPFSなどのファイルシステムのファイルと
してデータベースを作成する。これらのファイルシステ
ムでは、通常、1つのファイルを2次記憶上に構成する
にあたって、シークエンシャルアクセスが高速になるよ
うに配慮している。したがって、2つのデータを近接配
置するということは「ファイルの先頭からのオフセッ
ト」の差が小さくになるように配置することを意味す
る。 3) データベース管理システムを使用する。この場合、
通常、管理システムはデータ群をクラスタリングするた
めの命令を提供しているのでこれを用いることになる。
あとは管理システムが面倒をみてくれる。
【0015】次に、ファイル別クラスタリングについて
説明する。これは、プログラム・データベースにおける
クラスタリング技法として有力なものであり、これによ
れば、つぎのようなクラスタが形成される。
【0016】1) 共有クラスタ: データベース1つあた
り1つ存在する。複数のファイル間で共有されるオブジ
ェクトがこのクラスタに配置される。例えば、C言語な
らば、関数を表すオブジェクト、あるいは、大域変数を
表すオブジェクトがこれに当たる。 2) ファイルクラスタ: 1つのファイルに対応して1つ存
在する。ファイル間で共有されないオブジェクトは、そ
のオブジェクトの出身地に対応するファイルクラスタに
配置される。例えば、C言語でいえば、関数の本体の中
で宣言された局所変数をあらわすオブジェクト、あるい
は、クラスのメンバがこれに当たる。
【0017】図3にファイル別クラスタリングの例を示
す。すなわち図3で、a.outというプログラムが、a.c、
b.c及びa.hという3つのソース・ファイルからなるとし
たとき、ファイル別クラスタリングに従い、a.c、b.c及
びa.hがそれぞれ個別のクラスタに格納されている様子
が示されている。
【0018】ファイル別クラスタリングの特徴的な得失
を要約すると、次のようになる。 a) 生成時間が短い。 b) オブジェクト管理が簡単で時間的効率がよい。 c) オブジェクト管理の空間的効率が悪い。
【0019】以下では、これらの点について詳しく述べ
る。
【0020】まず、ファイル別クラスタリングでデータ
ベースの生成時間が短い、というのは、あるファイルの
複数の版の間でオブジェクトの共有が促進されるからで
ある。データベースに新規にオブジェクトを作るのは必
ずしも安価な操作ではなく、既存のオブジェクトを共有
して使えるならばそのほうが良い。もう少し詳しく述べ
ると、あるファイルFが修正されたとし、修正前の版を
Fb、修正後の版をFaとしよう。ファイル別クラスタ
リングでは、FbからのオブジェクトもFbからのオブ
ジェクトも,ファイルFに対応するクラスタCに配置さ
れることになる。ここで、多くの場合、ファイルFへの
修正はその一部に加えられることを考慮すると、Faの
プログラム情報はFbのプログラム情報とほとんど同じ
である場合が多い。Faに対応するプログラム情報をク
ラスタCに作成する際に、Fbに対応するプログラム情
報との差分のみをクラスタCに新たに作成するようにす
れば、プログラム情報の生成を時間的に効率が良く行な
うことができる。
【0021】図4に、1つのファイルが部分的に8回、
反復修正された場合のデータベースの状態の例を示す。
すなわち、図3において、ソース・ファイルa.cに修正
が加えられていくにつれて、図4に示すように、a.cが
格納されているのと同じクラスタに、修正前と後の差分
が順次累加されてゆくことになる。
【0022】次に、オブジェクト管理との関連でファイ
ル別クラスタリングの特徴を述べる。データベースにお
けるオブジェクト管理とは、不要になったオブジェクト
を消去することである。すなわち、プログラムが変化し
進化していく過程で、不要なオブジェクトがデータベー
ス中に出現するが、プログラムの変化進化とは、大きく
はプログラムのファイル編成が変化することであり、小
さくはファイルに含まれているプログラム要素が修正、
追加ないし除去されることである。
【0023】ファイル別クラスタリングでは、大きな変
化、つまり、ファイル編成の変化という時機をとらえ
て、オブジェクト管理を行なうことができる。すなわ
ち、あるファイルがプログラムから除かれた場合、その
ファイルを出身地とするオブジェクトはすべて不要なも
のとなり、これらを一網打尽的に回収することが行われ
る。これは、1つのクラスタに、1つのファイルしか含
まれていないからである。つまり、ファイル別クラスタ
リングでは、「オブジェクト管理」は「クラスタ管理」
となるのである。
【0024】この意味するところは、オブジェクト管理
の実現が容易になるということであり、さらに、通常、
オブジェクト指向データベースではクラスタの消去の命
令が用意されているため、小さなコストで大量のオブジ
ェクトを消去することができ、オブジェクト管理は極め
て時間的効率のよいものとなる。
【0025】ここで、ファイル編成が変らずに、ファイ
ルが反復編集されていく場合を考えてみよう。正確にい
えば、ファイル編成から脱落するファイルがない状態で
のファイルの反復編集であるが、このような場合は、回
収は起動されることなく不要なオブジェクトは放置され
てしまう。これは決して特殊な場合ではなく、比較的長
期間にわたって継続することもしばしばある。不要なオ
ブジェクトが長期にわたて回収されずに残留することは
大きな問題である。
【0026】このことは、図4の例からも見て取れる。
すなわち、図4において、1回目から8回目までの修正
によって差分としてクラスタに追加された部分には、そ
れ以降の修正でソースコードからは消えてしまったプロ
グラム部分を表すオブジェクトも含まれ得るが、そのよ
うなものも、依然としてa.cのクラスタのなかに存在し
続ける。
【0027】
【発明が解決しようとする課題】この発明の目的は、フ
ァイル別クラスタリングに関連する上記問題点を解決す
ることにある。この発明の別の目的は、複数の版のファ
イルのプログラム情報を1つのクラスタに配置しつつ、
ファイル別クラスタリングを改善することにより、空間
的効率を向上させることにある。
【0028】
【課題を解決するための手段】ファイル別クラスタリン
グの1つの極端な変形として、「版別クラスタリング」
というものを考慮すると、これによれば、ソース・プロ
グラムを編集する度に、その更新されたソース・プログ
ラム毎に新しくクラスタが用意されるので、この段階で
クラスタの消費は大きい。しかし一方、この技法によれ
ば、個別の版が個別のクラスタとして格納されているの
で、不要になった古い版を一掃することは容易である。
【0029】本発明は、ファイル別クラスタリングと、
このような版別クラスタリングの長所を組み合わせ、い
わば、多重版別クラスタリングという技法を提供するも
のである。すなわち、本発明の多重版別クラスタリング
によれば、1つのソース・ファイルに加えられる修正に
よる差分は、当初、もとのソース・ファイルと同一のク
ラスタに累加される。そのことは、ファイル別クラスタ
リングと同様の処理である。しかし、ファイル別クラス
タリングとは異なるのは、差分が累加される毎に、その
累加の量が、例えばバイト数単位で判断されることであ
る。そうして、差分の累加の量がある予定の量を超えた
ことに応答して、本発明によれば、別のクラスタが作成
され、その段階で、その別のクラスタには、差分でな
く、修正されたソース・ファイル全体が格納される。そ
して、それ以降の修正による差分は、旧クラスタではな
く、新たなクラスタに対して累加されることになる。
【0030】このような多重版別クラスタリングによっ
て、プログラムに修正が加えられる毎に、新たなクラス
タが生成されるという版別クラスタリングの短所が克服
されるとともに、十分に古い版のプログラムが存在する
クラスタは、最新の版のプログラムが存在するクラスタ
とは個別に存在するため、そのような古い版のプログラ
ムを一網打尽に除去することも容易となって、ファイル
別クラスタリングの欠点も解消されるのである。
【0031】
【実施例】
1.ハードウェア構成 先ず、図5を参照して、本発明を実施するためのハード
ウェア構成について説明する。このハードウェア構成
は、演算・入出力を制御するためのプロセッサ502
と、バス504を介してプロセッサ502と接続され、
プログラムをロードしたり計算のためのワーク領域やキ
ャッシュ領域を与えるメイン・メモリ506と、ディス
プレイ・コントローラ508を介してバス504に接続
され、プロセッサ502の制御によってオペレータに対
して、キャラクタ・ベースまたは、マルチウインドウな
どのグラフィック・ベースの表示を与えるディスプレイ
510と、バス504を介してプロセッサ502に接続
され、AIX、OS/2などのオペレーティング・シス
テムや、コンパイラ、デバッガ、エディタなどのアプリ
ケーション・プログラムを格納するハードディスク51
2と、プロセッサ502に対するコマンド文字ストリン
グを入力するためのキーボード514と、主としてマル
チウインドウ環境で、ディスプレイ510に表示された
所望の位置をポイントすることにより、プロセッサ50
2に対して指示を与えるマウス516からなる通常の構
成である。
【0032】この実施例の構成は特に、プログラム開発
環境に向けられたものであり、従って、ハードディスク
512には、プログラム・データベースがあり、プログ
ラム・データベースには複数のソース・ファイルのプロ
グラム情報があり、プログラム情報は、本発明の技法に
従い、クラスタ管理される。このため、ハードディスク
のファイル・システムとしては、AIX用のファイル・
システム、OS/2用のHPFS、OS/2及びMS−
DOS(マイクロソフトの登録商標)で採用されている
FATなどの、クラスタ管理を許容する任意のファイル
・システムを使用することができる。要するに、本発明
は、特定のオペレーティング・システムと特定のファイ
ル・システムに限定されるものではなく、クラスタ管理
を許容するファイル・システムをもつ任意のオペレーテ
ィング・システムの下で実現可能であることに留意され
たい。
【0033】また、クラスタ管理を行うための媒体も、
ハードディスクのような固定記憶媒体に限定されず、光
磁気ディスクなどの可搬な記録媒体であってもよく、読
み書き可能な任意の媒体上でも実現可能である。
【0034】2.システム構成要素 この実施例に係るシステムを構成するために、図5のハ
ードディスク512には、次のものが含まれる。
【0035】(1) コンパイラ520。尚、コンパイラに
は、make、リンカ、デバッガなどの機能も含むもの
と考える。コンパイラは、本来的には、1つ以上のソー
スファイルをコンパイルしてオブジェクト・プログラム
を作成する働きを有するものであるが、このコンパイラ
514は、そのような通常の機能に加えて、プログラム
要素などのオブジェクトを、本発明の多重版別クラスタ
リングに従い、データベースに格納する機能も併せも
つ。
【0036】(2) ソース・ファイルのプログラム情報
を、クラスタ管理により格納するデータベース522。
【0037】(3) データベース522のプログラム要素
にアクセスするソースコード・ブラウザ524。これ
は、データベース522中の所定のプログラム情報を呼
び出して、ブラウズすることを可能ならしめるものであ
る。また、C++などのオブジェクト指向言語における
クラス継承のダイアグラムを表示する機能ももつ。
【0038】(4) ソース・ファイルを編集するためのプ
ログラム・エディタ526。
【0039】3.版別クラスタリング 本発明の多重版別クラスリングについて説明する前提と
して、先ず、ファイル別クラスタリングの1つの極端な
変形としての、「版別クラスタリング」について図6を
参照して説明する。図6は、図3のファイル別クラスタ
リングを、版別クラスタリングで置き換えたものであ
る。版別クラスタリングでは、ファイルの版毎に新たな
クラスタが割り当てられる。図6において、ファイルa.
cが修正されたとし、修正前の版をFb、修正後の版をFa
とすると、Fbから出身するオブジェクトは、1つのクラ
スタCbに、Faから出身するオブジェクトは別のクラスタ
Caに配置されるようにするのである。これにより、Faが
出来上がりCa中にオブジェクトが配置された段階でCbは
不要なクラスタとなり、オブジェクトの回収率は確かに
高まる。つまり、オブジェクト管理の空間的効率は大幅
に改善する。しかし、新しい版ができるたびに、その版
の情報をすべて最初から格納することになってしまい、
対応するデータベースの生成時間は大きく悪化すること
になる。
【0040】4.多重版別クラスタリング 有力なる折衷案が、本発明によって提示される多重版別
クラスタリングである。この技法では、1つのファイル
の複数の版からのオブジェクトを1つのクラスタが保持
することになる。これにより、1)いくつかの版の間での
オブジェクトはかなりの程度共有され、かつ、2) プロ
グラムのファイル編成が変わらない場合でも、クラスタ
が不要なオブジェクトを抱えたまま長く生き続けるとい
うこともなくなる。
【0041】図7に、多重版別クラスタリングの例を示
す。この例は、図6と同様反復修正を行なった後のデー
タベースの状態である。説明の便宜上、ここでは、1つ
のファイル・クラスタは最大5つの版のプログラム情報
を保持するとしている。すなわち、ファイルa.cのクラ
スタCaには、4番目の修正による差分までが累加される
が、5番目の修正が行われた段階で、新たなクラスタCb
が作成され、5番目の修正の結果が反映されたソース・
ファイルa.cがクラスタCbに格納され、この後の修正に
よる差分は、クラスタCbに累加されることになる。この
例からもわかるように、版別クラスタリングと異なり、
新たな版ができるたびに新らしいクラスタを生成する必
要はない。また、ファイル別クラスタリングと異なり、
5番目の修正が終った段階で、最初のa.Cクラスタはゴミ
となり回収することができる。
【0042】この例では、1つのファイルクラスタが5
つの版まで保持できるということにしている。そのよう
な、版の数に基づく管理でも、限定された条件では有効
であると思われる。しかし、より実際であるのは、版数
を固定するのではなく、クラスタの大きさの増分で制御
することである。つまり、最初の版を保持した際のクラ
スタCの大きさをSバイトとすると、Cの大きさが(1+a)乗
ずるところのSバイトとなるまで、CはファイルFの新た
な版を保持し続けるのである。aは正の値である。aが小
さいほど回収率は上がるが生成時間は大きくなり、aが
大きいほど生成時間は小さくなるが回収率は下がるとい
う特徴がある。この点を考慮し、システムの要求に合わ
せて具体的な値を決めることになる。一般的には、好ま
しいaの値は、0.5 < a < 1である。
【0043】5.データベースへオブジェクトを格納す
る処理手順 コンパイラがコンパイル処理を行うためには、個別のソ
ース・ファイルを読み、そのソース・ファイルに含まれ
るオブジェクトについて処理を行う必要があるが、本発
明に従い、コンパイラが、ファイルa.cを処理しそのプ
ログラム情報を格納する手順を、C言語に似た擬似コー
ドであらわすと、次のようになる。
【0044】(1) a.cを出身地とするオブジェクトのた
めのクラスタを次のようにみつけ、Caとする。
【表1】
【0045】(2) 上記の処理によってファイルa.cのク
ラスタCaが見つかると、次に、a.cのプログラム情報を
表す各オブジェクトoに対して、それを所定のクラスタ
に格納するために、次の擬似コードで示されるような処
理が繰り返される。
【表2】
【0046】
【発明の効果】以上説明したように、本発明によれば、
多重版別クラスタリングを採用したことによって、十分
に古い版のプログラムが存在するクラスタは、最新の版
のプログラムが存在するクラスタとは個別に存在するた
め、そのような古い版のプログラムを一網打尽に除去す
ることが容易となって、ファイル別クラスタリングの欠
点が解消される。
【0047】尚、上記実施例では、プログラム・データ
ベースに関して説明を行ったが、本発明の適用範囲は、
プログラム・データベースに限定されるものではなく、
編集・変更による差分を格納するためにコンピュータ記
憶媒体のクラスタ管理を行う任意のシステムに適用可能
である。
【図面の簡単な説明】
【図1】 C++のプログラム例を示す図である。
【図2】 図1のプログラムの情報を、オブジェクトで
表現した例の図である。
【図3】 3つのファイルからなるプログラムの情報
を、ファイル別クラスタリングを用いて格納した場合形
成されるクラスタ群を示す図である。
【図4】 図3で、a.cに対して修正が8回繰り返され
た後の状態を示す図である。
【図5】 ハードウェア構成のブロック図である。
【図6】 版別クラスタリングによって、クラスタが作
成される様子を示す図である。
【図7】 本発明に従う多重版別クラスタリングによっ
て、クラスタに差分が累加され、またクラスタが作成さ
れる様子を示す図である。

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】コンピュータによって読み書き可能にアク
    セスされる記憶媒体におけるクラスタリング方法であっ
    て、(a) 1つのファイルの内容を、上記記憶媒体の1つ
    のクラスタに格納する段階と、(b) 上記ファイルに対す
    る変更の差分を上記1つのクラスタに累加する段階と、
    (c) 上記1つのクラスタに対して累加された差分が所定
    の量に達したことに応答して、上記1つのクラスタとは
    別のクラスタを上記記憶媒体中に生成し、該別のクラス
    タに、変更されたファイルの内容全体を格納する段階を
    有する、 クラスタリング方法。
  2. 【請求項2】上記段階(c)における所定の量が、上記1
    つのクラスタに最初に格納される所定のファイルのバイ
    ト数をSとし、aを正の実数とするとき、S(1+a)
    である、請求項1に記載のクラスタリング方法。
  3. 【請求項3】上記aが、0.5以上で1以下の実数であ
    る、請求項2に記載のクラスタリング方法。
  4. 【請求項4】上記記憶媒体が、ハードディスクである、
    請求項1に記載のクラスタリング方法。
  5. 【請求項5】コンピュータによって読み書き可能にアク
    セスされる記憶媒体におけるクラスタリング方法であっ
    て、(a) 1つのファイルの内容を、上記記憶媒体の1つ
    のクラスタに格納する段階と、(b) 上記ファイルに対す
    る変更の差分を上記1つのクラスタに累加する段階と、
    (c) 上記1つのクラスタに対して行われる変更の回数が
    所定の数に達したことに応答して、上記1つのクラスタ
    とは別のクラスタを上記記憶媒体中に生成し、該別のク
    ラスタに、変更されたファイルの内容全体を格納する段
    階を有する、 クラスタリング方法。
  6. 【請求項6】読み書きアクセス可能であり、且つクラス
    タリング可能な記憶媒体をもつコンピュータ・システム
    において、(a) 上記記憶媒体の1つのクラスタに、1つ
    のファイルを格納する手段と、(b) 上記1つのクラスタ
    に格納されたファイルに対して変更を行う手段と、(c)
    上記変更が行われたことに応答して、上記1つのクラス
    タに、該変更によって生じた差分を累加する手段と、
    (d) 上記累加された差分が所定の量に達したことに応答
    して、上記1つのクラスタとは別のクラスタを上記記憶
    媒体中に生成し、該別のクラスタに、変更されたファイ
    ルの内容全体を格納する手段とを具備する、 コンピュータ・システム。
  7. 【請求項7】上記手段(d)における所定の量が、上記1
    つのクラスタに最初に格納される所定のファイルのバイ
    ト数をSとし、aを正の実数とするとき、S(1+a)
    である、請求項6に記載のコンピュータ・システム。
  8. 【請求項8】上記aが、0.5以上で1以下の実数であ
    る、請求項7に記載のコンピュータ・システム。
  9. 【請求項9】上記記憶媒体が、ハードディスクである、
    請求項6に記載のコンピュータ・システム。
  10. 【請求項10】コンピュータによって読み書き可能にア
    クセスされる記憶媒体におけるクラスタリング方法であ
    って、(a) 複数のファイルの各々を、上記記憶媒体の個
    別のクラスタに格納する段階と、(b) 上記複数のファイ
    ルのうちのどれかのファイルに対する変更の差分を、上
    記該ファイルが格納されているクラスタに累加する段階
    と、(c) 上記ファイルを格納している複数クラスタのう
    ちのどれかのクラスタに対して累加された差分が所定の
    量に達したことに応答して、上記複数のクラスタとは別
    の新たなクラスタを上記記憶媒体中に生成し、該別のク
    ラスタに、差分が所定の量に達した、変更されたファイ
    ルの内容全体を格納する段階と、(d) 上記差分が所定の
    量に達した、変更されたファイルに対しては、以下の変
    更による差分は、上記新たなクラスタに累加するととも
    に、累加された差分が所定の量に達したかどうかの判断
    は、以前のクラスタではなく上記新たなクラスタに対し
    て行う段階を有する、 クラスタリング方法。
  11. 【請求項11】上記段階(c)及び(d)における所定の量
    が、上記1つのクラスタに最初に格納される所定のファ
    イルのバイト数をSとし、aを正の実数とするとき、S
    (1+a)である、請求項10に記載のクラスタリング
    方法。
  12. 【請求項12】上記aが、0.5以上で1以下の実数で
    ある、請求項11に記載のクラスタリング方法。
  13. 【請求項13】上記記憶媒体が、ハードディスクであ
    る、請求項10に記載のクラスタリング方法。
  14. 【請求項14】読み書きアクセス可能であり、且つクラ
    スタリング可能な記憶媒体をもつコンピュータ・システ
    ムにおいて、(a) 複数のファイルに対して、上記記憶媒
    体に個別のクラスタを1つずつ生成し、そのクラスタ
    に、該複数のファイルを1つずつ格納する手段と、(b)
    オペレータをして、上記個別のクラスタに格納されたフ
    ァイルのどれかに対して変更を行うことを可能ならしめ
    る手段と、(c) 上記どれかのファイルに対して変更が行
    われたことに応答して、該変更が行われたファイルが格
    納されているクラスタに、該変更によって生じた差分を
    累加する手段と、(d) 上記複数のクラスタの各々につい
    て上記累加された差分の量を監視し、上記累加された差
    分が所定の量に達したことに応答して、新たなクラスタ
    を上記記憶媒体中に生成し、該新たなクラスタに、変更
    されたファイルの内容全体を格納する手段と、(e) ある
    クラスタに対して新たなクラスタが生成されたことに応
    答して、上記手段(c)をして、上記累加された差分の量
    を監視し、該あるクラスタではなく、該新たなクラスタ
    に対して行わせる手段とを具備する、 コンピュータ・システム。
  15. 【請求項15】上記手段(d)における所定の量が、上記
    1つのクラスタに最初に格納される所定のファイルのバ
    イト数をSとし、aを正の実数とするとき、S(1+
    a)である、請求項14に記載のコンピュータ・システ
    ム。
  16. 【請求項16】上記aが、0.5以上で1以下の実数で
    ある、請求項15に記載のコンピュータ・システム。
  17. 【請求項17】上記記憶媒体が、ハードディスクであ
    る、請求項14に記載のコンピュータ・システム。
  18. 【請求項18】複数のソース・ファイルを管理し、コン
    パイルすることによってプログラムを作成するためのプ
    ログラム作成支援システムであって、(a) 複数のソース
    ・ファイルのプログラム情報を、読み書きアクセス可能
    な記憶媒体の個別のクラスタに保持するプログラム・デ
    ータベースと、(b) コンパイル処理時に、処理すべきソ
    ース・ファイルを出身地とするオブジェクトが格納され
    ている上記プログラム・データベースにおけるクラスタ
    を見出す手段と、(c) 上記クラスタが見出されたことに
    応答して、該見出だされたクラスタのサイズを判断し、
    該サイズが所定のサイズを超えていることに応答して、
    上記プログラム・データベースにおいて新たなクラスタ
    を作成し上記処理すべきソース・ファイルと関連付ける
    手段と、(d) 上記処理すべきソース・ファイルのプログ
    ラム情報をあらわす各オブジェクトについて、該ソース
    ・ファイルに関連付けられたクラスタに、該オブジェク
    トが含まれているかどうかを判断し、もしそうでないな
    ら、該クラスタに該オブジェクトを格納する手段とを具
    備する、 プログラム作成支援システム。
  19. 【請求項19】上記手段(c)における所定のサイズが、
    上記1つのクラスタに最初に格納される所定のファイル
    のバイト数をSとし、aを正の実数とするとき、S(1
    +a)である、請求項18に記載のコンピュータ・シス
    テム。
  20. 【請求項20】上記aが、0.5以上で1以下の実数で
    ある、請求項19に記載のコンピュータ・システム。
  21. 【請求項21】上記記憶媒体が、ハードディスクであ
    る、請求項18に記載のコンピュータ・システム。
JP14444394A 1994-06-27 1994-06-27 クラスタリング方法及びシステム Expired - Fee Related JP3433842B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14444394A JP3433842B2 (ja) 1994-06-27 1994-06-27 クラスタリング方法及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14444394A JP3433842B2 (ja) 1994-06-27 1994-06-27 クラスタリング方法及びシステム

Publications (2)

Publication Number Publication Date
JPH0816369A true JPH0816369A (ja) 1996-01-19
JP3433842B2 JP3433842B2 (ja) 2003-08-04

Family

ID=15362344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14444394A Expired - Fee Related JP3433842B2 (ja) 1994-06-27 1994-06-27 クラスタリング方法及びシステム

Country Status (1)

Country Link
JP (1) JP3433842B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1124972A (ja) * 1997-06-30 1999-01-29 Fujitsu Ltd 業務用電子マニュアル提供装置及びプログラム記憶媒体
JP2002008379A (ja) * 2000-06-12 2002-01-11 Shijin Kogyo Sakushinkai フラッシュメモリの消去回数減少可能なデータアクセス方法と該方法を使用するデータ補修及びアクセス装置
JP2003513355A (ja) * 1999-10-25 2003-04-08 ネットワーク・アプライアンス・インコーポレイテッド 異なるファイルシステム間におけるファイルシステムイメージトランスファー

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62147542A (ja) * 1985-12-23 1987-07-01 Nec Corp テキストデ−タ管理方式
JPS6376031A (ja) * 1986-09-19 1988-04-06 Fujitsu Ltd フアイル差分算出処理方式
JPS63150745A (ja) * 1986-12-16 1988-06-23 Nec Corp 複数パ−ジヨン管理システム
JPS63273961A (ja) * 1987-05-01 1988-11-11 Nec Corp 複数バ−ジヨン管理システム
JPH0452755A (ja) * 1990-06-14 1992-02-20 Personal Joho Kankyo Kyokai 状態復元方式
JPH0561744A (ja) * 1991-09-05 1993-03-12 Nec Corp ソフトウエア資産の世代管理方式
JPH05108437A (ja) * 1991-10-14 1993-04-30 Nec Corp プログラムフアイル変更履歴管理方法
JPH05324424A (ja) * 1992-05-20 1993-12-07 Fujitsu Ltd データ復元方法
JPH05334151A (ja) * 1992-06-01 1993-12-17 Fujitsu Ltd 版数可視化装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62147542A (ja) * 1985-12-23 1987-07-01 Nec Corp テキストデ−タ管理方式
JPS6376031A (ja) * 1986-09-19 1988-04-06 Fujitsu Ltd フアイル差分算出処理方式
JPS63150745A (ja) * 1986-12-16 1988-06-23 Nec Corp 複数パ−ジヨン管理システム
JPS63273961A (ja) * 1987-05-01 1988-11-11 Nec Corp 複数バ−ジヨン管理システム
JPH0452755A (ja) * 1990-06-14 1992-02-20 Personal Joho Kankyo Kyokai 状態復元方式
JPH0561744A (ja) * 1991-09-05 1993-03-12 Nec Corp ソフトウエア資産の世代管理方式
JPH05108437A (ja) * 1991-10-14 1993-04-30 Nec Corp プログラムフアイル変更履歴管理方法
JPH05324424A (ja) * 1992-05-20 1993-12-07 Fujitsu Ltd データ復元方法
JPH05334151A (ja) * 1992-06-01 1993-12-17 Fujitsu Ltd 版数可視化装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1124972A (ja) * 1997-06-30 1999-01-29 Fujitsu Ltd 業務用電子マニュアル提供装置及びプログラム記憶媒体
JP2003513355A (ja) * 1999-10-25 2003-04-08 ネットワーク・アプライアンス・インコーポレイテッド 異なるファイルシステム間におけるファイルシステムイメージトランスファー
JP2002008379A (ja) * 2000-06-12 2002-01-11 Shijin Kogyo Sakushinkai フラッシュメモリの消去回数減少可能なデータアクセス方法と該方法を使用するデータ補修及びアクセス装置

Also Published As

Publication number Publication date
JP3433842B2 (ja) 2003-08-04

Similar Documents

Publication Publication Date Title
US8566810B2 (en) Using database knowledge to optimize a computer program
JP5147280B2 (ja) 異機種マルチプロセッサ・システムにおけるガーベッジ・コレクションのためのシステムおよび方法
US6757893B1 (en) Version control system for software code
KR20000069474A (ko) 가비지 수집기를 추적하는 공간 한정된 표시구조
KR20010007010A (ko) 컴퓨터 메모리에서 데이터 관리 방법, 장치 및 프로그램제품
JP2011513853A (ja) 連想ストレージのシステムと方法
JP2004062869A (ja) コンピュータ・システムでのトランザクションの選択的キャッシングの方法および装置
US5634120A (en) Computer system supporting utilization of utility functions applicable to concurrently executing jobs by monitoring job excution characteristics and determining eligible job combinations for utility function
US5062039A (en) Sharing of workspaces in interactive processing using workspace name tables for linking of workspaces
Zhu et al. WolfGraph: The edge-centric graph processing on GPU
CN102326151B (zh) 存储系统
US11775527B2 (en) Storing derived summaries on persistent memory of a storage device
US5745749A (en) Method and system of file version clustering of object blocks using a compiler and database and having a predetermined value
JP3433842B2 (ja) クラスタリング方法及びシステム
Scherger Design of an in-memory database engine using Intel Xeon Phi coprocessors
US20230006814A1 (en) Method and apparatus for implementing changes to a file system that is emulated with an object storage system
US10747515B2 (en) Fields hotness based object splitting
US6625614B1 (en) Implementation for efficient access of extended attribute data
JP2641399B2 (ja) フアイル管理装置
Shen et al. A high-performance application data environment for large-scale scientific computations
EP3944101A1 (en) Information processing program, information processing method, and information processing device
Liu et al. Data-preservation in scientific workflow middleware
WO2022164419A1 (en) Distributed semantic-aware cache
JP2912657B2 (ja) ファイルアクセス処理装置
JP2023531000A (ja) サブトライデータ構造を有するトライデータ構造

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080530

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080530

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090530

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100530

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110530

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110530

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120530

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120530

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130530

Year of fee payment: 10

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130530

Year of fee payment: 10

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140530

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees