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