JPS59163659A - ワ−ド・プロセシング・システムにおけるデ−タ・セツトのアクセス方式 - Google Patents

ワ−ド・プロセシング・システムにおけるデ−タ・セツトのアクセス方式

Info

Publication number
JPS59163659A
JPS59163659A JP58036087A JP3608783A JPS59163659A JP S59163659 A JPS59163659 A JP S59163659A JP 58036087 A JP58036087 A JP 58036087A JP 3608783 A JP3608783 A JP 3608783A JP S59163659 A JPS59163659 A JP S59163659A
Authority
JP
Japan
Prior art keywords
index
record
node
data set
page
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.)
Pending
Application number
JP58036087A
Other languages
English (en)
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 JP58036087A priority Critical patent/JPS59163659A/ja
Priority to EP84101736A priority patent/EP0121072A3/en
Priority to US06/586,594 priority patent/US4620295A/en
Publication of JPS59163659A publication Critical patent/JPS59163659A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔開示の概要〕 開示されたワード・プロセシング・システムは直接アク
セス記憶デバイス(DAsD)e有しており、ここには
後の再呼出し及び編集に備えてテキスト・ストリームが
記憶される。テキスト・ストリームは文書へ編成され、
データ・セットとしてDASDに記憶される。データ・
セットは、インデックス部分とテキスト・レコード部分
から成る。インデックス部分は複数のノードへ分割され
、そのうち主要なノードはルート・ノードと呼ばれる。
操作員がその使用のために成るデータ・セット2指定す
る場合、ルート・ノードが取出されて°システム・メモ
リに保持されるので、谷アクセスごとにDASDからル
ート・ノードを取出すことが不要となる。文書の複製動
作のように複数の順次レコードがアクセスされる場合、
これらの順次レコードのうち最初のレコードについてだ
けインデックスが完全に探索される。残りのレコードは
既にシステム・メモリに存在するインデックス・ノード
を通して位置付けられるからである。後続のインデック
ス・ノードは、現インデックス・ノード中の最後のイン
デックス・エントリがアクセスされた場合にだけ、DA
SDから取出される。
複数の順次レコードがDASDに書込ま肚る場合、最初
のレコードに対する挿入点についてだけインデックスが
完全に探索される。残りのレコードについては、同じイ
ンデックス・ノードが更新される。DASDへ書込まれ
る最新レコードのインデックス・エントリを収容するス
ペースが不足する場合には、インデックス・ノードが分
割され、上位レベルにあるインデックスのインデックス
・エンドIJが前述のように更新される。
〔発明の背景〕
本発明はワード・プロセシング・システムに係り、更に
詳細に説明すれば直接アクセス記憶デバイス(DASD
)に記憶された多重レコードのアクセスを行う際のシス
テム性に’Qk改良することに係る。
本発明に関係する先行技術には、次の工うなものがある
(a)  I B M  OS / 6システムは、デ
ィスケットに文書を記憶し且つディスケット上の文書を
探し出すために、非常に簡単なフォーマツtf使用し7
ている。各ディスケットでは正確に32個のデータ・セ
ット(ジョブ)が常に利用可能であり、その割振りはデ
ィスケットのトラックに応じて行われるようになってい
る。ディスケット上の文書全探し出すために使用される
ディスケット・インデックスの全体は十分に小さいので
、これ全システム・メモリに一度に保持することができ
る。具体的には、、IBM  O8/6システムのディ
スケット・インデックスは、ディスケットがその駆動機
構へ挿入されるとき、システム・メモリへコピーされる
ようになっている。従って、このインデックスを検索す
る動作は、性能上の問題全惹起しない。
このアプローチの1つの問題は、1デイスケツトあたり
正確に62個のジョブが利用可能でなければならないと
いう点にある。一般に、ワード・プロセシング・システ
ムは可変数のデータ・セントラ所与のディスケットに記
憶すること全必要とするものであり、従って52個以上
のデータ・セットが操作員に利用可能でなければならな
い。
このアプローチの他の問題は、ディスケット上のスペー
スが各トラック単位で特定のデータ・セットへ割振られ
る、という点にある。つまり平均的な状況では、ディス
ケット上の無駄なスペース(割振られてはいるがデータ
を実際に記憶するように使用されていないスペース)は
実際に使用されている各ジョブあた。;1/2トラツク
にも達する。云いかえれば、所与のディスケットで利用
可能な701−ランクのうち最大16トラソクが無駄と
なるのである。
(b)IBMディスプレイライター・システムは、拡張
ヘッダ・ラベル(EHL)と呼ばれるディスケット・イ
ンデックスとデータ・セット・ラベル(DSL)と呼ば
れるデータ・セット・インデックスから成る2レベルの
ディスケット・インデックスを利用している。EI(L
はディスケット上にあるデータ・セットの位置を示し、
DSLは既存の各データ・セットごとに1つずつ設けら
れる。
EHLは一定サイズであり、常にシステム・メモリ中に
保持される。DSLのサイズは対応するデータ・セント
のサイズに依存する。DSLのブロックは、必要に応じ
てシステム・メモリへ取出される。文書の成るページを
探し出すVC,は、該当するDSLの開始点から適当な
点まで探索することにより、このページがディスケット
のどこに置かれているかを確認することが必要である。
成るデータ・セラトラ順次にアクセスして該デ−タ・セ
ント中の連続レコードを読取るために、IBMディスプ
レイライター・システムは特別のアクセス方式全実現し
ており、これにエリ通常のレコード(情報検索の巣立)
及びページをアクセスする場合に比較してシステム性能
を相当改良するようにしている。
このアプローチの問題は、前記アクセス方式に必要なプ
ログラムがシステム・メモリのかなりの部分を占有し、
し力)も該プログラムがデータ・セットの型(文書、レ
コード、システム・セットアツプ等)ごとに各別に存在
しなければならないという点にある。
(c)IBM  ろ760は、データ・セット・インデ
ックス全データとともに揮発性の作業記憶に分散式に記
憶させている。各データ・ブロックは制御領域を有し、
この制御領域には前のブロック及び次のブロックの位置
情報が保持されている。このように現ブロックは常に前
のブロック及び次のブロックを指定しているので、順次
アクセスについてはこれを非常に高速に行うことができ
る。
このアプローチの問題は、(データ・セントの中間部に
1力・れたブロックを直接的に参照するような)ランダ
ム・アクセスが遅いという点にある。
というのは、そうするため添は先行するすべてのブロッ
クを読取らねばならない力・らである。従って、ランダ
ム・アクセス時の性能全向上させるには、ランダム・ア
クセス用に設定された他のデータ・セット・インデック
スを必要とすることになろう。
〔発明の概要〕
従って、本発明の目的は、ワード・プロセシング・シス
テムの柔軟性を制限することなく、シかも直接アクセス
記憶デバイス(DASD)に記憶されたデータのタイプ
とは関係なく、該データに対する順次アクセス時の性能
全改良することにある。
前記及び他の目的並びに利点は本発明によって達成され
る。簡単に云えば、本発明に従った方法及び装置は、情
報をアクセスする際に、即ちDASDから情報を取出す
が又はDASDへ情報を書込む際に、データ・セット・
インデックスに対するアクセスの回H2減少させること
ができるように編成されている。性能の改良は次の2つ
のファクタを通して達成される。第1のファクタは、D
ASD上の最初のレコードが探し出される場合、データ
・セット・インデックスは各レコードごとにアクセスさ
れるのではなく、現ブロックが不十分である場合にのみ
アクセスされる、というものである。第2の、ファクタ
は、DASD上のデータ・セット・インデックスの位置
が、通常の場合情報自体力・ら物理的に離れている、と
いうものである。テーダセット・インデックスに対する
アクセス全減少させることにより、DAsDの読取り/
書込みヘッドをアクセスすべき情報の近傍に物理的に維
持することが可能となり、従ってレコード・アクセス間
の時間を減少させることができるようになる。
〔実施態様の説明〕
第1崗を参照するに、図示されたワード・プロセシング
・システム10はキーボード12を含み、これは入力さ
れたテキスト及び指令をチャネル14を介してプロセッ
サ16へ転送スる。プOセッサ16はメモリ・バス18
へ接続され、該メモリ・バスId、 CRT fイスグ
レイ2o1ディスケット又はハード・ディスクの如き1
以上の直接アクセス記憶デバイス(以下DASDと略す
)22、プリンタ24及びランダム・アクセス式のシス
テム・メモリ(以下メモリと略す)26へ接続される。
操作員かキーボード12を介してテキスト・ストリーム
全入力すると、このテキストの各ページはメモリ26に
記憶され且つそこで処理される。
テキスト・ストリームがメモリ26に受取られる場合、
このストリームはディスプレイ2oにも供給される。キ
ーボード12を介して入力された後、テキストはDAS
D  22に記憶されるが又はプリンタ24によって印
刷されうる。
メモリ26は多数のデータ領域金倉み、また記憶された
テキスH−処理するための複数の機能プログラムを含ん
でいる。テキスト及びそれに関係する制御機能はテキス
ト記憶バッファ(以下TSBと略す)28に記憶される
TSB制御ブロック60はTSB  28のデータ領域
として使用され、チャネル62を介してTSB  28
へ接続される。キーボード12全介して各文字が入力さ
れる場合、この文字はキーストローク・サービス・ルー
チンの集合64を介してメモリ26に受取られる。キー
ストローク制御ブロック′56は1つのデータ領域であ
って、受取られた文字を処理するための所定のキースト
ローク・サービス・ルーチンを決定する。このため、キ
ースミローフ制御ブロック制御ブロックろ6はチャネル
38を介してキーストローク・サービス・ルーチン64
へ連結される。さらにキーストローク・サービス・ルー
テン64はチャネル40t=介してTSB、28へ連結
され、そしてチャネル42を介してTSB制御ブロック
60へ連結される。
テキストがTSB  28へ移動されるか又はそこから
移動されねばならないこと1TsB制御ブロツク30が
指示する場合、この移動要求はチャネル46を介して記
憶アクセス方式(以下SAMと略す)ルーテン44へ通
知される。SAMルーチン44は、DASD  22と
メモリ26との間のすべてのデータ移動を制御するため
に使用される。(キーボード12、ディスプレイ20又
はプリンタ24との通信が必要とされる場合には、SA
Mルーチン44の代わりにそれぞれのアクセス方式ルー
テノが使用されるが、これらは本発明の要旨に関係ない
ので以下省略する。)キーストローク・サービス・ルー
テン64は、チャネル48及びSAMインタフェース制
御ブロック50’に介して、SAMルーテノ44へ他の
制御情報及びデータ全通信する。(キーボード12、デ
ィスプレイ20又はプリンタ24との通信が必要とされ
る場合には、SAMインタフェース制御制御ソロ725
00代にそれぞれのアクセス方式に対応するインタフェ
ース制御ブロックが使用される。)このSAMサービス
要求を完了した場合、sAMインタフェース制御ブロッ
ク50は処理を継続するためにキーストローク・サービ
ス・ルーチン54に−よって使用されるべき他の情報及
びデータ全保持している。SAMインクフェース制御ブ
ロック50はチャネル52を介してSAMルーチン44
へ接続される。
SAMブロック54はメモリ・バス18を介してDAS
D  22と接続され、DASD  22とメモリ26
との間のデータ転送に対する転送点として使用される。
(キーボード12、ディスプレイ20又はプリンタ24
との通信が必要とされる場合には、SAMブロック54
の代わりにそれぞれのアクセス方式に対応するブロック
が使用される。)SAMブロック54はチャネル56を
介してTSB28と接続される。SAM)l/−チン4
4はチャネル58を介してSAMブロック54中のデー
タをアクセスすることができる。SAMブロック54は
チャネル60を介してSAMインタフェース制御ブロッ
ク50へ連結されているが、こレバキーストローク・サ
ービス・ルーチン34へ情報及びデータを通信するため
である。
SAM内部制御ブロック62は、DASD’22に関す
る現在のステータス及び情報全保持するために設けられ
ている。(キーボード12、ディスプレイ20又はプリ
ンタ24との通信が必要とされる場合には、ブロック6
2の代わりにそれぞれの対応ブロックが使用される。)
DASD  22とSAM内部制御ブロック62との間
の情報転送は、チャネル64及びSAMブロック54を
介して行われる。SAM内部制御ブロック62中の情報
はチャネル66を介してSAMルーチン44へ通信され
、該ルーチンによって管理される。SAM内部制御ブロ
ック62は、SAMルーチン44及びSAMブロック5
4の動作に必要なフラグ及びステータス情報全記憶する
ために使用される。
ここで、第1図全参照してワード・プロセシング・ンス
テム10の動作全簡単に説明すると、操作員がキーボー
ド12を介して各キーストロークを入力する場合、これ
に対応する信号がナヤネル14を介してプロセッサ16
へ転送され、かくて該プロセッサはこのキーストローク
指令をメモリ26へ記入する。このようにしてキースト
ローク指令を受取ると、キーストローク・サービス・ル
ーチン64のうちでこの特定の指令を処理すべき所定の
ルーテンが選択される。当該キーストローク指令はそれ
が制御指令又はグラフィック・エントリのどちらである
かに応じて処理され、そしてその処理結果はTSB 2
8へ記入される。これらのグラフィック及び指令がTS
B  28に順次に累積される間、テキスト情報はディ
スプレイ20に供給される。TSB  28が必要なテ
キスF及び指令を保持するに十分でない危険がある場合
、キーストローク・サービス・ルーチンろ4 ハS A
Mインタフェース制御ブロック50に制御情報全記憶す
ることにより、SAMルーチン44をしてDASD 2
2へ情報ブロック(レコード)全転送させるようにする
操作員は、制御指令を通して、メモリ26、ディスプレ
イ20、I)ASD  、、22及びプリンタ24の間
で情報を転送させることができる。また選択されたベー
ンをDASD  2.2からメモリ26へ呼出すことが
できるので、操作員はテキスト情報更及び訂正してこれ
1DAsD  22へ再び記入したり、プリンタ24で
印刷させることができる。
第2図には、プロセッサ16の代表的なノ・−ドウエア
要素が詳細に図示されている。プロセッサ16は市販さ
れているものでよく、りとえばインテル社のマイクロプ
ロセッサ8086’i使用することができる。
このようなプロセッサ16は制御ユニメト80ヲ含み、
該ユニットはキーボード12、DAS、D22又はプリ
ンタ24からデバイス・ノくス82に生ぜられるような
割込信号に応答する。また、制御ユニット80はデータ
及びアドレス転送用の内部バス84へ接続され、該バス
はプロセッサ16の他のユニットへ相互接続されている
制御ユニット80はメモリ26からの取出命令に応答し
て制御信号kR生し、該制御信号をプロセッサ16の他
のユニットへ供給する。これらの制御信号は制御線86
を介して種々のユニツ1へ供給されるが、第2図では制
御線86は演算論理ユニット(ALU)88へ直接的に
接続されるように図示されているに過ぎない。制御ユニ
ット8Dと他のユニットとの同期動作は、外部クロック
源(図示せず)からプロセッサ16へ供給されるクロッ
ク・パルス入力によって達成される。外部クロック源に
よって発生されたクロック・パルスは、バス90を介し
て他のユニットへそれぞれ転送される。
プロセッサ16で処理すべきデータ及び命令は、バス制
御ユニット92を介して入力される。また処理すべきデ
ータがプログラムI10制御ユニット94から入力され
ることもある。バス制御ユニット92はメモリ26の記
憶要素を相互接続するとともに、I10制御ユニット9
4又はメモリ26から受取られたデータを処理するため
の命令を受取る。かくて、I10制御ユニット94はキ
ーボード12、DASD  22又はメモリ26からの
データを受取るのに対し、ノ・ス制御ユニット92はメ
モリ26から命令及び/又はデータを受取る。しかしな
がら、メモリ26の互いに異なるセクションを命令メモ
リ及びデータ・メモリとして使用することも可能である
という点に注意すべきで・ある。
プロセッサ16からのデバイス制御情報は、プログラム
j10制御ユニット94を介してI10データ・バス9
8に供給される。キーボード12又は他のデバイスから
j10テータ・バス98に供給される入力データは、メ
モリ・バス18及び内部バス84を介して制御ユニット
80へ供給される命令の制御下で、ALU、88によっ
て最初に処理される。ALU  88は線86上の制御
信号に応答してこの命令に従った演算全遂行するととも
に、その結果をスクラッチ・レジスタ102に記憶する
ことができる。
もちろん、ALU 88と他のユニッ・トとの間で他の
種々のデータ転送を行うことも可能である。
たとえば、ALU88から内部バス84を介しプログラ
ム・カワンタ104、データ・ポインタ・レジスタ10
6又はステータス・レジスタ110へデータ全転送する
ことが可能である。
プロセッサ16の特定の動作は、メモリ・バス18にあ
る命令及びデータと双方向性のI10データ・バス98
にある入力データとによって決定される。たとえば、プ
ロセッサ16は受取られた命令に応答して、スクラッチ
・レジスタ102中の記憶データを、レジスタ106.
108又は110のうち任意のレジスタへ転送する。第
2図に図示されているプロセッサ16のかかる動作は当
業者には明らかであるし、またこれは本究明の要旨には
関係がないので、以下では各動作の説明全省略する。
DASD  22上の記憶媒体に記憶されたページは、
複数のレコード(適当なサイズを有するテキスト単位)
へ区分される。レコードは最大のサイズを有する。かく
て、各ページは少くとも1つのレコードから成シ、多く
の場合はそれ以上のレコードから成る。各ページ中のレ
コード数及び各文書中のべ一/数は不定であジ、当該デ
ータ・セツトヲ記憶すべき記憶ボリュームの容量によっ
て制限されるに過ぎない。ワード・プロセシング・シス
テム10では、各データ・セットはD A S I)2
2中の単一のディスケットに記憶されるか又はハード・
ティスフに記憶される。もしワード・プロセシング・シ
ステム10へ記入中の成る文書が単一のディスケットに
収まりきらなければ、操作員は現在のディスケラ1又は
・・−ド・ディスゲに対する記入動作を終了するととも
に、他のテイスケシト上の別のデータ・セットにこの文
fk継続して記入するようにしなければならない。
DASD  22上の記憶媒体は、当技術分野では周知
のように、複数のセクタへ区分される。セクタの概念は
当技術分野では周知であると考えられるので、本発明を
理解するのにその詳細な説明は不要であろう。ワード・
プロセシング・システム10では、記憶媒体上の各セク
タは一意的な論理セクタ番号を割振られている。但し、
これらの論理セクタ番号はゼロ力・ら始まる連続的な正
の整数である。論理セクタ番号の各々が記憶ボリューム
上にある唯1つの物理領域に対応する限り、特定の論理
セクタ番号が記憶媒体上のどの物理領域に対応するかと
いうことは、本発明を理解する上で重要なことでは々い
。複数の論理セクタ番号が連続的な整数である場合は、
これらの論理セクタは連続的であるとみなされる。
第6図には、成るテキスト文書がDASD  22上の
1つのデータ・セット120へ編成されている1つの例
が示されている。例示したデータ。
セット120は、データ・セット・インデックス122
と6つのテキスト・ページ、即ちページ1(124)、
ページ2 (126)及びページ3(128)から成る
。ページ1(124)は6つのレコード、即ちレコード
D(150)、レコード1(132)及びレコード2(
134)を有する。
ページ2(126)は単一のレコード0(1ろ0)全有
するに過ぎない。ページ3(128)は2つのレコード
、即チレコー)”0(136)及びレコード1(13B
)を有する。
データ・セント・インテックス122は、データ・セッ
ト120の前記ペー・/が置かれている記憶媒体上の立
置を決定するために第2図のSAMルーチン44によっ
て1更用される。データ・セント・インデックス122
は文書の各ページごとに1つのインデックス・エントリ
を含み、この例ではペー71ないしページ乙にそれぞれ
対応するインデックス・エントリ140,142及び1
44を含んでいる。
所望のべ一/を速かに探し出すことができるように、各
ページ・インデックス・エントリは該エンドIJに工っ
て参照さ2するベーンを識別するための1つのページ・
キーを含む。かくて、この例では、ペー・7/トキー1
46、ページ2°キー148及びページろ°キー150
が含まれている。たとえば、ページ2126)k探し出
すためには、そのキーとページトキー146金単に比較
するだけでベージトインデックス・エン計り140が適
切でないことがわかる。ワード・プロセシング・システ
ム10では、各データ・セット・インデノクス中のすべ
てのべ−7・キーは一意的でなければならない。
成るペー/の各レコードは、そのインデックス・エント
リのレコード記述子全通して探し出される。各レコード
は、記憶ボリュームにある連続旧な1組の論理セクタに
記憶される。成るレコードに割振られる論理セクタの数
は、このレコードを保持するに必要なセクタの最小の数
に対応する。
これらのセクタは全体としてそのまま割振られるのであ
る。レコード記述子は、当該レコードを保持する記憶媒
体上の論理セクタのうち、最小の論理セクタ番号を有す
る論理セクタ位置を指示する。
またレコード記述子は、当該レコードの長さも指示する
。たとえば第6図では、ベージトレコード0(130)
に対するレコード記述子は、べ一ジトインデックス・エ
ントリ140においてレコードO・記述子152として
設けられている。
ベージ1(124)の残すのレコードハ、レコードト記
述子154及びレコード2・記述子156によって記述
される。単一のレコードを保持するベーン2(126)
の記憶媒体上の位置は、ベージ2・インデックス・エン
トリ142に設けられたレコードO・記述子158によ
って決定される。
前述と同様に、ベージ6・インデックス・エントリ14
4はレコード0・記述子160及びレコードト記述子1
62全含み、これらによってベージ乙のレコード0(1
3<S)及びレコード1(138)をそれぞれ探し出す
ワード・プロセシング・システム10のDASD−22
に記憶されたデータ・セットのデータ・セット・インデ
ックス122は、複数のノード(節)へ区分される。こ
のようにして区分さ肚た各インデックス・ノードは、そ
れぞれ1つの論理セクタに記憶される。もし、当該デー
タ・セットへテキストに追加したとき1つのインデック
ス・ノードに置かれる情報の量が1つの論理セクタに記
憶可能な量を越えるようになれば、このインデックス・
ノードを2つ以上のインデックス・ノードへ分割し1、
そして分割後の各インデックス・ノードをそれぞれ1つ
の論理セクタに保持させるようにすることができる。す
べてのデータ・セットはそれぞれ少くとも1つのインデ
ックス・ノードを有する。
各データ・セットごとに、ルート・ノード(根幹の節)
と呼ばれる一意的な1つのインデックス・ノードがある
。これに対し、リーフ・ノード(葉の節)と呼ばれるイ
ンデックス・ノードかあるが、このリーフ・ノードはそ
のインデックス・エントリに裏ってベージ全直接的に参
照するようなものである。第4A図に例示されたデータ
・セット・インデックスは十分に小さく、必要とされる
単一のリーフ・ノードとルート・ノードが同じノードで
あるので、ルート/リーフ・ノード170と呼ばれる。
ルート/リーフ・ノード170は、データ・セット・プ
ロフィル172とインデックス構成要素174を含む。
データ・セット・プロフィル172は、全体として当該
データ・セットに関係する情報及びステータス全保持す
る。データ・セット名176は、操作員がアクセスすべ
き文書を選択することを可能にするようなテキスト・グ
ラフィックを保持する。データ・セント・コメント17
8は当該文書に関する記述情報の追加スペースを与える
ので、操作員がデータ・セット名176の1部として記
入したくない情報をことに置くことができる。
第4B図では、ルート/リーフ・ノード170のインデ
ックス構成要素174に関する一層詳細な情報が示され
ている。リーフ・ノードのインデックス構成要素180
は、当該文書のべ−7を直接的にポイントするような複
数のインデックス・エントリを含む。図示の例では、イ
ンデックス構成要素180は、ベージNトインデックス
・エントリ182及びベージN2・インデックス・エン
トリ184i含む。但し、N1及びN2は当該文書にお
ける1対の連続ベーンのベージ番号を表わす。ベージN
トインデックス・エントリ182は、ベージNトキー1
86とページN1中の各レコードごとに1つのレコード
記述子、即ちこの例ではレコード0・記述子188及び
レコードト記述子190を保持する。同様に、ページN
2・インデックス・エントリ184はページN2・キー
192を保持し、そしてレコード0・記述子194及び
レコードト記述子196を保持する。
所与のインデックス構成要素では、そのインデックス・
エントリはページ・キーの昇順に記憶されている。従っ
て、もし当該文書中のページN1及びN2が同じリーフ
・ノードで参照され、そしてページN1の直後にページ
N2が続くのであれば、ベージNトインデックス・エン
ドIJ 182の直後にページN2・インデックス・エ
ントリ184が続くように配列される。
操作員が当該文書に多くのテキスト・レコード及びベー
ジ全追加する場合には、ルート/リーフ・ノード170
のインデックス構成要素174は結果的にこれらのエン
トリを保持することができなくなる。このような場合、
ルート/リーフ・ノード170は適当に分割され、たと
えば第5A図に示すように、1つのルート・ノード20
0,1つのリーフ・ノードA’(202)及び1つのり
一フ・ノードB(2o4)へ分割される。ルート・ノー
ド200は、ルート/リーフ・ノード170ト同シテー
タ・セント・プロフィル172.!:ルート/中間イン
デックス構成要素205’i含む。リーフ・ノードA(
202)はリーフ・ノード・チェーン206及びインデ
ックス構成要素208全含み、一方、リーフ・ノードB
(204)はり−フ・ノート・−f−x−ン210及び
インデックス構成要素212全含む。
リーフ・ノードA(202)及びリーフ・ノードB(2
04)のインデックス構成要素208及び212は、第
4A図におけるルート/リーフ・ノード170のインデ
ックス構成要素174(詳細については第4B図のイン
デックス構成要素180i参照のこと)と同じ情報を保
持する。第5A図の例では、インデックス構成要素18
0は2つのインテックス構成要素208及び212に分
割されており、ページN1及びその前にあるすべてのペ
ージのインデックス°エントリがリーフ・ノードA(2
02)のインデックス構成要素208に記憶されるのに
対し、ページN2ないしZ(当該文書の最終ベージ)の
インデックス・エントリはリーフ・ノードB(204)
のインデックス構成要素212に記憶される。このこと
は、ページNトインデックス・エントリ182がインデ
ックス構成要素208中の最後のインデックス・エント
リであり、そしてページN2・インデックス・エントリ
184がインデックス構成要素212中の最後のインデ
ックス・エントリであることを暗示する。
この例では、ページZは当該文書の最終ページであるか
ら、ページZ・インデックス・エントリ214はインデ
ックス構成要素212の最後のインデックス・エントリ
である。
第5A図及び第5B図に示されたインテックス構造に、
cnば、所望のページに対するリーフ・ノード全速かに
選択することができる。ルート・ノードのインデックス
構成要素を探索し且つ所望のページのキーを各インデッ
クス・エントリのキーと比較する間、所望のページのキ
ーよりも大きいページ・キー全保持するルート・ノード
200中の最初のインデックス・エンi IJは、所望
のページ(但し、当該技術文書中に存在するものとする
)を探し出すに必要なインデックス・エンドりを保持す
べき特定のリーフ・ノード全参照する。
一般にスクローリングと呼ばれるような文書の順次印な
表示又は訂正を容易にするために、リーフ・ノード・チ
ェーンが設けられている。これによれば、衣示点又は訂
正点が適切なリーフ・ノードのインデックス構成要素の
終りで参照されるレコードに到達する場合は、当該文書
のルート・ノードを参照することなく次位(又は前位)
のリーフ・ノードを探し出すことができる。リーフ・ノ
ードA(202)のリーフ・ノード・チェーン206は
2つの論理セクタ番号(LSN)、即ち前位リーフ・L
SN  216及び次位リーフ・LSN  21El含
む。第5A図の例では、リーフ・ノードA(202)は
当該文書の第1ページに対するインデックス・エントリ
を保持するので、その前aIJ−フは存在しない。従っ
て、その前a IJ−フ・LSN  216は、SAM
ルーテン44によって無効な論理セクタ番号として認識
されるような1直にセントされる。リーフ・ノードA(
202)の次位リーフ・LSN  218は、リーフ・
ノードB(204)の論理セクタ番号を保拉する。
同様に、リーフ・ノードB(204)のリーフ・ノード
・チェーン210にある前位リーフ・LSN 220は
リーフ・ノードA(202)の論理セクタ番号を保持す
る。また、リーフ・ノードB(204)は当該文書の最
終ページに対するインデックス・エンドlJ’を保持し
ているので、次位リーフ・LSN  222は無効な論
理セクタ番号を保持する。
ルート・ノード200は、当該データ・セットのインデ
ックスの開始点である。従って、ルート/中間インデッ
クス構成要素216のインデックス・エントリは、記憶
ボリュームに置かれタリーフ・ノードA(202)及び
リーフ・ノードB(2o4)k探し出すことを可能にす
る。リーフ・ノードA(202)ては、ベージNトイン
デックス・エントリ182はリーフ・ノードA(202
)によって参照される最終ページを参照する。
このことは、ページNトキー186(第4B図)がイン
デックス構成要素208中で最大のキーであること全意
味する。従って、これはリーフ・ノードA(202)の
ノ・イ・キーと呼ばれる。同様に、リーフ・ノードB(
204)のページZ・インデックス・エントリ214に
置かれたキーはそのインデックス構成要素212中のい
ずれのキー工りも大きいので、このページZ・キーかり
7フ・ノードB(204)のノ・イ・キーとなる。
第5B図は、ルート・ノード200のルート/中間イン
デックス構成要素216を一層詳細に示す。
第5A図の例では2つのリーフ・ノードが存在するから
、ルート/中間インデックス構成要素216にも2つの
インデックス・エントリが存在する。
リーフ・ノードAのインデックス・エンドす224はペ
ージNトキー186及びリーフ・ノードAのLSN  
2261c含み、後者はリーフ・ノードA(202)の
論理セクタ番号を保持する。同様に、リーフ・ノードB
のインデックス・エントリ2ろ2には、ページZ・キー
228及びリーフ・ノードBのLSN230が含まれる
ここで、リーフ・ノードA及びBのインデックス・エン
トリ224及び232は第6図のレコード記述子とは異
なり、し占−ドに関する情報やインデックス・ノードの
長さ全保持していない、ということを注意すべきである
。インデックス・ノードは常に単一の論理セクタであり
、そしてルート/中間インデックス構成要素216は常
にインデックス・ノード(第5A図のリーフ・ノード)
全参照するから、これらのインデックス・ノードの長さ
は常に同じであシ、従って前述のような情報をインデッ
クス・エンドリカ・ら省略することができる。
所与のリーフ・ノードでは、既存のインデックス・エン
トリへ新しいページ又はレコードのインデックス・エン
トリ全挿入したり又は追加することが頻繁に起こる。従
って、新しいレコード又はべ・−ジを追加する場合には
、既存のリーフ・ノードのスペースが不足することがあ
る。このようにスペースか不足するリーフ・ノードは、
分割と呼ばれるSAM動作によって2つのリーフ・ノー
ドと置換されることになる。ルート・ノードのインデッ
クス構成要素は、分割前にはリーフ・ノードごとに1つ
のインデックス・エントリ(たとえば、リーフ・ノード
Bのインデックス・エントリ262)を保持する。分割
後には、このインデックス・エントリは2つのインデッ
クス・エントリ、即ち新しい2つのリーフ・ノードの各
々ごとに1つのインデックス・エントリによって置換さ
れねばならない、この動作は1つのルート・ノードを1
つのルート・ノードと2つのリーフ・ノードへ分割する
動作の搬なる拡張にすぎないので、以下ではその説明を
省略する。
操作員が非常に大きな文書を作成するためにグラフィッ
ク文字及び指令全記入すると、相当量のリーフ・ノード
が追加されることがあるが、このような場合にはルート
・ノードのインデックス構成要素216におけるスペー
スが足りなくなって、他のリーフ・ノードのインデック
ス・エントリ’に収容しきれなくなる。従って、この時
点でルートノード20C1再び分割しなければならない
なぜなら、ルート・ノード200はリーフ・ノードを参
照しているので、新しいリーフ・ノードを作成すること
ができないからである(リーフ・ノードはそのリーフ・
ノード・チェーンの外部にある他のリーフ・ノードを参
照しない)。その代わりに、中間ノードと呼ばれる他の
型のノードが作成されるのである。
第6図を参照するに、図示されたルート・ノード240
は第5A図のルート・ノード200に置換わったもので
あり、これは第5B図のものと同じ構造のルート/中間
インデックス構成要素242を含んでいる。しかしなが
ら、このインデックス構成要素242のインデックス・
エントリはリーフ・ノードの論理セクタ番号を保持する
かわりに、中間ノードI(244)及び中間ノードJの
論理セクタ番号を保持している。中間ノードエ(244
)にはインデックス構成要素248があり、これはリー
フ・ノードB’(256’)、リーフ・イードC(25
8)及びリーフ・ノードD(260)全参照するための
リーフ・インデックス・エンド1J250.252及び
254をそれぞれ含んでいる。インデックス構成要素2
48中のインデックス・エントリは、第5B図に示した
リーフ・ノードAのインデックス・エントリ224と同
じ構造を有する。中間ノードJ(’246)中のインテ
ックス構成要素262は、インデックス構成要素248
と同様の構造を有する。
第6図の隣接するリーフ・ノード間の接続264は、第
5A図の206及び210の如きリーフ・ノード・チェ
ーンを表わす。
従って、第6図に示された一般的なインデックス構造に
よれば、SAMルーチン44は2つの異なる方法で、即
ち文書の表示又は訂正方法に応じて、所望のページ又は
レコードを探し出すことができる。たとえば、リーフ・
ノードD(’260)で参照される成るページの最初の
レコードを探し出すために、S ’A Mルーテン44
はDASD  22からルート・ノード240ケ取出し
且つそのインデックス構成要素242を探索することに
より、中間ノードI(244)が該当する中間ノードで
あることを決定する。次いで、中間ノード■(244)
が記憶媒体力・ら取出され、そしてリーフ・ノードD(
260)が前述と同様に適切なリーフ・ノードとして選
択される。記憶媒体がらリーフ・ノードDc260’)
’e取出した後、所望のページのキーを探し出すために
リーフ・ノードD(260)のインデックス構成要素が
探索される。
一方、もし操作員がリーフ・ノードC(258)で参照
される最終レコードの終りにあって、テキストの次のレ
コード(リーフ・ノードDで参照される)へのスクロー
ルを望んでいれば、記憶媒体上のリーフ・ノードD(2
60)’!r直接直接用すためにリーフ・ノードC(2
58)中のリーフ・ノード・チェーンを使用することが
できる。即ち、この場合にはルート・ノード及び中間ノ
ード全再び取出したり、探索することは全く必要ないの
である。
第7図には、第1南のSAM内部制御ブロック(以下U
C8と略す)62が別の参照番号280全付けて詳細に
図示されている。UC8280ハチバイス・ステータス
、動作ステータス及び制御情報全保持するとともに、デ
ータ・セット及び   −ボリューム・インデックスを
アクセス及び更新するためのバッファ領域金与える。こ
こで、ボリュームトハ、ワード・プロセシング・システ
ム10へ接続された単一のディスケット又はハード・デ
ィスクの如きDASD  22’fi=意味する。ワー
ド・プロセシング・システム10の処理に利用可能な各
ボリュームは、それ自体のU・C828Cl有する。
デバイス・ステータス領域282は、DAsD22に対
する実際のI10動作全制御するために、SAMルーチ
ン44によってf更用されるデータ及び制御情報を保持
する。またこの領域282は、キーストローク・サービ
ス・ルーテン34からの要求を処理している間にアクセ
スすべき利用可能ナホIJニームを決定するために、S
AMルーチン44によって使用される。
ボリューム・データ・セット・インデックス284は、
アンカー(anchor)と呼ばれる第ルベルのボリュ
ーム・インデックスを保持する。データ・セット・イン
デックスが文書のページ及ヒレコードに対するインデッ
クスとして使用されると同様に、このボリューム・イン
デックスは利用可能なデータ・セットに対するインデッ
クスとして使用される。アンカーはメモリ26に維持さ
れるが、これはボリューム上で成るデータ・セツH−探
し出さねばならない場合にDASD  22からの入力
動作を排除するためである。ボリューム・インデックス
中のキーがデータ・セントの型(例えば、テキスト文書
)及びデータ・セット名(第4A図の176を参照)か
ら成る場合には、ボリューム上の成るデータ・七ツ)k
探し出す動作はデータ・セット中の成るページを探し出
す動作に非常に似ている。
参照番号286.288及び290によって識別される
インデックス・ノード・バッファ1乃至7.3はバッフ
ァ領域であって、DASD 22との転送が行われてい
る間にデータ・セット・インデックス・ノード又はボリ
ューム・インテックス。
ノード全処理するために使用さ肚る。インデックス・ノ
ード・バッファ1乃至6の各々は、1つのインデックス
・ノードを保持することができる。
1以上のインデックス・ノード・バッファが設けられて
いるのは、インデックスの探索及び分割動作を容易にす
るためである。
UC8280の残りの領域は内部ステータス及び制御情
報を保持するとともに、中間口な種々の計算結果等を保
持するために使用される。この種の動作は本発明の要旨
に関係ないので、以下ではその説明全省略する。
第8図には、第1図のSAMインタフェース制御ブロッ
ク50が詳細に示されている。SAMルーテン44によ
って与えられる動作のうち本発明に関係する動作は、ア
クセスに際しデータ・セットをオープンすること、DA
SD 22からメモリ26へ1以上のレコードを読取る
こと、そしてメモリ26からDA、SD、22へ1以上
のレコードを書込むことである。
キーストローク・サービス・ルーチン34によって要求
されるSAMルーチン44の各サービスごとに、1つの
記憶事象制御ブロック(以下5ECBと略す)600が
必要である。実際に5ECB  300に割振られるメ
モリ26中の領域は、要求を行うキーストローク・サー
ビス・ルーチン64によって決定される。第1図のチャ
ネル46は、このようにして割振られた5ECB  3
00の領域ks AMルーチン44へ渡すために使用さ
れる。
5ECB  300では、要求された特定の動作を開始
するためにSAMルーチン44に必要なすべての情報を
見出すことができる。指令及びオプション指示領域60
2は要求された主要な動作指令(例えば、レコード読取
り)を指示するとともに、当該要求を修正しうる指令オ
プション(例えば、このサービス要求中に多重レコード
又は単一レコードのいずれが処理されるべきであるかと
いうこと)を指示する。指令及びオプション指示領域6
02は、特定の指令全処理すべきSAMサービス・ルー
チン音生ずるために使用される。
領域304は記憶アクセス制御ブロック(以下5ACB
と略す)ろ06の位置を保持する。5FCB ろ00と
同様に、5ACB  506へ実際に割振られるメモリ
26中の領域はキーストローク・サービス・ルーテン6
4によって選択される。
データ・セットのアクセスに関連するすべての指令(オ
ープン1 レコード読取り、レコード書込み等)は、有
効な1つの5ACB  30’6’に必要とする。SA
C’B  ろ06中のデータ・セット制御及ヒステータ
ス領域608は、アクセスすベキデータ・セットのステ
ータス及び制御情報を保持するとともに、5ACB 6
06自体のステータス情報をも保持する。ルート・ノー
ド・バッファろ10はオープン指令が成功裡に完了した
とき当該データ・セットのルート・ノードを保持し、か
くて当該データ・セットのアクセスに備えてこのデータ
・セット及びUC828o金準備させる。
レコード・バッファ記述子ろ12は、描該デーり・セン
トのレコードをバッファするために使用されるレコード
・バッファのメモリ26における位置を指示する。レコ
ード・バッファの1例としては、第1図のテギスト記憶
バッファ(T S 13 )28がある。またレコード
・バッファ記述子612は、当該指令の処理中にレコー
ド・バッファに割振られるメモリ26の量(レコード・
バッファの長さ)を指示する。レコード長バッファ記述
子314はメモリ26中のバッファに関する同様の情報
を与゛えるが、これは多重レコードの処理が要求された
場合にSAMルーテン44によって処理される個々のレ
コードの長さを指示する。
初期レコード記述子316は、選択されたレコードを転
送するために、当該データ・セントの適切なリーフ・ノ
ードにおける適切なインデックス・エンドIJ及びレコ
ード記述子を探し出すのに必要な情報を保持する。初期
レコード記述子316は、適切なページを選択するため
にそのページ・キーの位置及びこのページにおけるレコ
ードの相対レコード番号を保持する。こで第3図を再び
参照するに、例えば図示されたページ1124)の第6
レコード164をアクセスするためには、キーはページ
トキー146と等しくなければならず、そして相対レコ
ード番号は2でなければならない。
レコード読取り又はレコード書込み指令が指定キワ、そ
して多重レコードの処理が要求されたことかオプション
指示によって示される場合、多重レコード・カウント・
バッファ318はこれらのレコードの数全指定する。こ
れらのバッファのうち1つのバッファは、当該動作が終
了する前にSAMルーチン44がエラーなしで処理しな
ければならないレコードの最大数を保持する。他のバッ
ファは、当該動作が終了する前に実際に処理されたレコ
ードの数をキーストローク・サービス・ルーチン64へ
通知するために、SAMルーチン44によって使用され
る。
レコード・バッファとDASD  22との間で多重レ
コードを転送する場合、1以上のページから複数のレコ
ードを転送することがありうる。各ページ中のレコード
の数はそのページの現状態に依存するから、レコードと
ページの対応関係を指示する手段が必要となる。この対
応関係の指示は、実際には転送キー・バッファ620を
介して行われる。転送キー・バッファ320は、レコー
ド・バッファ中のレコードのうち各ページの第ルコード
に相当するレコードごとに1つの転送キー・エントリろ
22を保持する。転送キー・エントリ322中の転送キ
ー324は当該レコードのページ・キーであり、そして
相対レコード番号(RRN)326はこの転送キー62
4が関係するし・コード・バッファ中の相対レコードを
識別する。DASD  22に記憶された文書では、各
ページの第ルコードの相対レコード番号は0である。し
かしながら、転送キー・エントリ622中の相対レコー
ド番号ろ26は、メモリ26に設けられたレコード・バ
ッファ中の相対レコードを識別する。
複数の転送キー・エン) ’J 322は、その相対レ
コード番号626の昇順で転送キー・バッファ620に
置かれている。さらに、成るレコードは当該文書中の1
つのページにし力・属することができないので)転送キ
ー・バッファ320中の相対レコード番号626は単一
の指令要求全処理している間は一意的でなければならな
い。かくて、高々1つノ転送キー・エントリろ22が相
対レコード番号626のIff Oを有するのにすぎな
いのであって、もし成る転送キー・エンドIJ 322
がその相対レコード番号626として値o1有するなら
ば、こレバ転送キー・バッファ320中の最初のエント
リでなければならない。転送キー・バッファ320の位
置及び長さは、5ECB  300中の転送キー・バッ
ファ記述子328で見出される。
第9A図及び第9B図には、アクセスに際しデータ・セ
ラトラオーブンすることに関係する本発明の論理的動作
が流れ図の形式で示されている。
第9A図にはインデックス垂直スキャン動作が示されて
おり、この動作ではインデックスの最高レベル(ルート
・ノード)かう最低レベル(IJ−7・ノード)ヘスキ
ャンすることにより指定されたキー瞳に該当するインデ
ックス・エントリが探索される。この手順は、インデッ
クス垂直スキャン・サービス・ルーチン・ステップ33
0で開始スる。ステップ631では、sAM制御ブロッ
ク50又は62に置かれた現ノードの、インデックス構
成要素中のインデックス・エントリが探索される。
オープン指令については、最初のインデックス・ノード
はUC8280のボリューム・データ・セットインデッ
クス284に置かれたアンカー・ノードである。現イン
デックス・ノードで適切なインデックス要素が探し出さ
れ1ζ場合、このインデックス・ノードがリーフ・ノー
ド(ルート/リーフ・ノードはリーフ・ノードであると
みなされる)であるか否かを決定するために、このイン
デックス・ノードの型がステップろ32でテストされる
。もし現ノードがリーフ・ノードでなければ、このイン
デックスの他のレベルが探索されねばならない。ステッ
プ636では、現ノードで選択されたインデックス・エ
ントリ中の論理セクタ番号(LSN)を使用して下位レ
ベルのノードが取出され、これに続いてステップ331
が反復される。
もし現インデックス・ノードかリーフ・ノードであれば
、ステップ6ろ5ではキーが一致するか否かがテストさ
れる。もし入カキ−が選択されたインデックス・エント
リ中のキーと一致しなければ、キー不在信号がステップ
3ろ6中の戻すコードを介して戻され、かくて次の垂直
スキャンが必要となるまでこの手順はステップろろ8で
完了する。戻りコードは当該技術分野では周知であるば
かりか、本発明の要旨にも関係ないので、以下ではその
説明全省略する。
もし所望のページ・キーとの一致が見出されたならば、
ステップ′540における他の手順によって使用するた
めに、そのインデックス要素のl1ff置がSAM内部
制御ブロック62中のデータ領域へ転送される。ステッ
プ341ではキー存在信号が戻され、続いてステップ6
68でこの手順か終了する。
第9B図には、アクセスに際しデータ・セットをオープ
ンするSAM指令に関係する本発明の論理的動作が流れ
図の形式で示されている。この手順は、ステップろ5D
のオープン・ルーチンで開始する。インデックス垂直ス
キャン手順は、ステップ352で行われる。この手順に
必要なキーは、データ・セット名及びオープンすべきデ
ータ・セットの型である。SAM制御制御クロック中初
のインデックス・ノードは、ボリューム・データ・セッ
ト・インデックス284におけるアンカー・ノードとし
て指定される。この手順の戻りコードは、当該データ・
セットがボリューム上で探し出されたか否かを決定する
ために、ステップ353でテストされる。もし見出され
なければ、ステップ655はボリューム上でデータ・セ
ラ・トか見出されなかったことを通知するように戻り4
ゴードを設定する。かくて、アクセスに際しデータ・セ
ット會オープンするための次の要求がSAMルーテン4
4へ与えられるまで、この手順はステップ657で終了
する。
もしボリュームのデータ・セット・インデックスを垂直
スキャンすることによって候補となるデータ・セットの
ルート・ノードが探し出されたならば、このルート・ノ
ードはステップ360でSp、CB  306のルート
・ノード・バッファ610へ取出される。ステップろ6
1では、ルート・ノード170(第4A図参照)中の実
際のデータ・セット名176をチェックすることによっ
て、データ・セットの一致検査が完全に行われる。もし
ステップ362でこのデータ・セットが所望のものでな
いことが決定されるならば、ステップ655では前述の
ようにこのデータ・セットがボリューム上に存在しない
ことが通知され、そしてステップ357でこの手順が終
了する。
もし探し出されたデータ・セットが所望のものであれば
、ステップ364ではこれがオープンされた有効なデー
タ・セットであること及びこのデータ・セットの型を指
示するように、Sへ〇B30乙のデータ・セット制御及
びステータス領域308がセットされる。UC8280
中のデバイス・ステータス領域282はオープンされた
データ・セラトラ指示するようにセットされ、かくてワ
ード・プロセシング・システム10へ挿入すれる特定の
ディスケット又はノ・−ド・ディスクのために物理DA
SD  22に予約する。ステップ667は、当該オー
プンを要求したキーストローク・サービスに対し、デー
タ・セットがオープンされて以後のアクセスに利用可能
であることを指示する。
SAMルーチン44に対する1つのインタフェース規則
は、一旦成るデータ・セットがそのアクセスのためにオ
ープンされると、対応するクローズ指令が要求されるま
で、ルート・ノードを有する5ACB  306はSA
M/L’−テンに対し継続的に利用可能でなければなら
ない、というものである。また5ACB  ろ06は、
メモリ26におけるその最初の位置からメモリ26中の
他の位置へ移動されてはならない。このことは、SAM
ルーチン44による当該データ・セットのアクセス動作
のために、ルート・ノード170のコピーがメモリ26
で利用可能であることを意味する。各データ・セットの
任意のアクセスにおいては、このルート・ノードは所望
のレコード全裸し出すために探索しなければならないよ
うな最初のインデックス・ノードである。このように、
5ACB306のルート・ノード・バッファろ10でル
ート・ノードを利用可能にすると、DASD  22か
らの少くとも1つのセクタ取出動作を排除することがで
きるので、これによりデータ・セラトラアクセスする動
作の性能全改良することができるようになる。もしデー
タ・セットが十分に小さくてそのインデックス全体を1
つのルー計/リーフ・ノードに保持することが可能であ
れば、ボリューム上でレコードを探し出すためにDAS
D  22からの入力動作を行うことは不要となる。
第10A図乃至第10C図には、レコード読取指令に関
係する本発明の論理的動作が流れ図の形式で示されてい
る。
第10A図はレコード読取サービスの手順を示し、この
手順はレコード読取サービス・ルーチン・ステップ57
0で開始する。ここで、読取るべきレコードは他の手順
によって探し出され、そしてそのレコード・インデック
ス・エントリの位置を当該手順へ通知したものと仮定す
る。ステップ671では、取出すべきレコードの長さが
、5ECB  300中のレコード・バッファ記述子3
12によって指定されたレコード・バッファの残存スベ
、−ス量と比較される。もしステップ′572及び67
4のテストによって当該レコードが残存スペースに適合
しないことがわかれば、ステップろ76中の戻りコード
によってレコード・バッファの充満状態が通知され、そ
して次のレコード読取要求までこの手順の動作がステッ
プ678で終了する。ステップ372及び674のテス
トが行われる理由は、SAMルーチン44が部分レコー
ドの書込み金許さないので、レコード読取指令のオプシ
ョンとして多重レコードの処理が要求された場合は、レ
コード読取機能により当該レコード全体をレコード・バ
ッファへ転送しなければならない、という点にある。
もしステップ674のテストによって多重レコードの処
理が要求されていないことがわかれば、当該レコードか
ら取出すべきデータの長さはステップ676でレコード
・バッファ中の残存スペースの長さと等しくセットされ
る。さもなげ扛は、即ちステップ372のテストにより
レコード・バッファ中の残存スペースが当該レコードの
全体を保持するに十分であることがわかれば、当該レコ
ードから取出すべきデータの長さは当該レコード全体の
長さに等しくセットされる。
ステップ380では、DASD  22からレコード・
バッファへ当該レコードが取出される。この時点で、レ
コード・バッファ中の残存スペースを表わす内部指示は
、記憶ボリュームから取出されたデータの長さだけ減少
される。
レコード・インデックス・エントリは、当該レコードが
成るページの第ルコードであるか否かを決定するために
、ステップ381で検査される。
もしこのレコードが成るページの第ルコードで々けわば
、この手順ではそれ以上の処理は必要ない。レコード読
取りの成功はステップ385で戻シコードとして通知さ
れ、そして前述のようにステップ378でこの手順が終
了する。もし、当該レコードが成るページの第ルコード
であるとステップ381で決定されたにも拘わらず、キ
ーストローク・サービス・ルーチン64によって転送キ
ー・バッファが与えらiなかつたこと’1sEcB  
300中の転送キー・バッファ記述子628がステップ
685で通知するならば、この手順は前述のようにステ
ップ686及び67Bを通して終了する。
もし転送キー・バッファが与えられておυ、そして転送
キーを記憶すべきであれば、該バッファ中の残存スペー
スが十分であるか否かを決定するために、ステップ38
7ではこの残存スペースが転送キー・エントリの長さと
比較される。もしこの残存スペースが不十分であれば、
この手順は前述のようにステップ676及び678を通
して終了する。
もし転送キー・バッファ中にこの転送キー・エントリを
保持するに十・分なスペースがあれば、とのエントリは
ステップ388で転送キー・バックアヘコピーさ肚る。
次いで、この手順はステップ68ろ及び678を通して
前述のように終了する。
レコード読取指令サービスに使用される他のサービス・
ルーテン手順は次のレコード検索手順であり、これは第
10B図に示されている。この手順は次のレコード・サ
ービス・ルーチン・ステップ690で開始する。もしス
テップ691で多重レコード処理のオプションが要求さ
ねていないことがわかれば、ステップ695の戻りコー
ドによって読取完了が通知されるので、次のレコード検
索要求が生ずるまでこの手順はステップ395で終了す
る。
もし多重レコード処理が要求さr′l−たならば、実際
に処理さ扛たレコードのカウントがステップi97で増
大される。もしステップ698の比較により最大数のレ
コードが既に転送されたことがわかれば、この手順は前
述と同様にステップ695及び695全通して終了する
。さもなければ、ステップ400で現リーフ・ノード中
の次のレコード・インデックス・エントリを検索するこ
とが行われる。もしステップ401で決定されるように
後続のレコード・インデックス・エントリがあれば、ス
テップ403の戻りコードによって読取継続が通知され
、そしてこの手順は前述のようにステップ695で終了
する。
もし現リーフ・ノードにそれ以上のエントリがなければ
、現リーフが当該データ・セットの最終レコードのイン
デックス・エントリを保持するか否かを決定するために
、リーフ・ノード・チェーン206(第5A図)の次位
リーフ・LSN  218がテストされる。もしこの次
位リーフ・LSN 218が現記憶ボリューム上で無効
なLSN値を保持しているならば、データ!セットの終
り(所謂ファイルの終りと同義)がステップ409で通
知され、そしてこの手順がステップろ95で終了する。
最後に、もし現リーフ中にもはやそれ1以上のインデッ
クス・エントリが存在せず、次位リーフ・ノードだけが
存在するのであれば、該リーフ・ノードがステップ40
9でUC8280中の1つのインデックス・ノード・バ
ッファへ取出され、読取継続がステップ405で通知さ
れ、そしてこの手順がステップ695で終了する。
第1DC図に示した読取制御手順は、レコード読取指令
の処理を制御するためのものである。まず、ステップ4
11では多重レコード処理のオプションが要求されてい
るか否かがテストさ扛、そのテスト結果に応じて、内部
的な最大レコード・カウントは5ECB  500中の
多重レコード・カウント・バッファ618からセットさ
れるか(ステップ412)又は定数1に等しくセットさ
れる(ステップ416)。次に、実際に処理され之レコ
ードのカウントがステップ415でOに初期設定され、
続いて処理すべき最初のレコード・インデックス・エン
ドl)の位置を決定するためにステップ417でインデ
ックスの垂直スキャンが行われる。もしステップ418
のテストによって要求レコードの不在が決定されるなら
ば、インデックス垂直スキャン手順からの信号がステッ
プ420の戻りコードとして通知され、かくてキースト
ローラ サービス ルーチン34からの次の要求がSA
Mルーチン44によって受取られるまでこの手順はステ
ップ422で終了する。
もしステップ418で決定されるように最初のレコード
が探し出さ肚たならば、ステップ424でレコード読取
手順が行われる。この結果はステップ425でチェック
される。もしこのレコードが適正に読取られなかったな
らば、レコード読取手順から戻される信号がステップ4
27で通知され、かくて前述と同様にステップ427で
この手順が終了される1、 もしこのレコードが適正に読取られたならば)ステップ
429で次のレコード検索手順が行われる。もしステッ
プ460の読取継続信号により次のレコードを読取るべ
きであることが決定されるならば、前述のように次のレ
コードがステップ424で読取られる゛。さもなければ
、次のレコード検索手順から戻される信号が戻りコード
として与えられ、そしてこの手順はステップ422で終
了する。
かくて、第10A図乃至第10C図は、成るデータ・セ
ットから複数の順次レコードを読取る際の性能を改良す
るために、通常のレコード読取サービス手順をどのよう
に拡張できるかということを示す。インデックス・ノー
ドがアクセスされるのは現リーフ・ノード中の指定レコ
ードの処理が完了した場合だけであり、その後は次のリ
ーフ・ノードが直接的にアクセスされるにすぎない。こ
れは次に説明するような性能上の改良に結びつく。
即ち、2レベルのデータ・セット・インデックス(ルー
ト・ノード及びリーフ・ノード)を仮定するものとすれ
ば、多重レコード処理のオプションを選択した場合には
、各レコード読取りごとにDASD  22からの1つ
の入力動作を排除するととができるのである。単一レベ
ルのデータ・セット(ルート/リーフ・ノードのみ)に
ついては、第9A図及びi9B図に示したデータ・セッ
トのオープン手順を仮定すると、多重レコード処理と比
較した場合の単一レコード読取りの性能は両者とも同じ
である(性能の測定項目としてI10動作を1更用する
場合)。しかしながら、第6図に示すように、複数のリ
ーフ・ノード、複数の中間ノード及び1つのルート・ノ
ードラ有スる6レベルのデータ・セットについては、各
レコード読取りごとに最大2つのI10動作全排除する
ことができる。6レベルのデータ・セントとしては、た
とえば数千種類にも及ぶ漢字の文字フオンri保持する
ためのデータ・セットがある。このようなデータ・セン
トに使用する場合には、その読取動作の性能がワード・
プロセシング・システム10の性能にもろに影響する。
というのは、操作員か、キーボード12を介してテキス
ト記憶ノくツファ(TSB)28へ記入したテキスト’
にディスプレイ20に表示するためには、データ・セッ
トからこれらの文字フォント・レコードを読取ることが
必・要となるからである。
前述のような環境では、第9A図乃至第9C図の手順は
非常に小さ寿データ・セット、りとえば複製の如き順次
動作の性能がさほど問題とならないようなデータ・セッ
トにつ(・では性能ゲインは殆んどないが、性能の改良
か最も必要な大きなデータ・セットについては相当な性
能ゲインを可NUにする。この性能ゲインは、メモリ2
6中のインタフェース・バッファ・スペース−に拡大1
こ、!:を代償として得られるものである。しかしな力
Sら、ワード・プロセシング・システム10では、多重
レコードの処理によって性能か改良される場8¥には、
メモリ26中で利用可能なスペースは追加)くツファの
要請全容易にサポートするのが普通である。
順次レコードの読取りに対するSへM/レーテン44の
手順を示す第1OA図乃至Hioc図に対応して、第1
1A図乃至第11E囚にはレコード書込指令の処理に関
係する本発明の論理的動作力玉流れ図の形式で示されて
いる。第11A図乃至第11、E図は、成るデータ・セ
ットへ複数のレコードを挿入する1つの例を示す。
まず全体的な書込制御手順を示す日口へ図を参照するに
、この手順は書込制御ル−テン・ステ:、/プ44Dで
開始する。ステップ441では多重レコード処理のオプ
ションが要求されているか否かがテストされ、そのテス
ト結果に応じて、内部的な最大レコード・カウントは5
FCB  300中の多重レコード・カウント・バッフ
ァ618からセットされるか(ステップ442)、又は
定数1に等しくセットされる(ステップ443)。次に
、処理された実際のレコードのカウントがステップ44
5で0に初期設定され、そしてステップ447でインデ
ックス垂直スキャン(第9A図参照)を行うことによっ
て変更又は挿入すべき最初のインデックス要素に相当す
るインデックス・エントリの位置が探し出される。もし
ステップ448のテストにより要求されたレコードの挿
入点が見出されなかったことがわかれば、インデックス
垂直スキャンから戻される信号がステップ450で戻り
コードとして与えられ、そしてこの手順はキースト「−
り・サービス・ルーチン64からの次の要求がSAMル
ーチン44によって受取られるまでステップ452で終
了する。
もし最初の挿入点が適正に探し出されたならば、レコー
ド・バッファ中のレコードがステップ454で記憶ボリ
ュームへ書込まれる。続くステップ456では、レコー
ド書込手順によって構成されたインデックス・エントリ
更新値ヲこのインデックスへ挿入することが行われる。
もしステップ457で挿入エラーが検出されたならば、
インデックス・エンドIJ挿入手順によって通知された
エラーがステップ459全介して供給され、かくてこの
手順は前述と同様にステップ452で終了する。
もしインデックス・エントリの挿入が成功すれば、レコ
ードの実際のカウント及び最大力ワントか比較される。
もしすべての指定レコードが書込まれたならば、書込完
了がステップ463の戻りコードによって通知され、ぞ
してこの手順は前述のようにステップ452で終了する
。もしボリュームに書込むべきレコードがまだ残ってお
れば、次のレコードがステップ454で前述のように書
込まれる。
次に、レコード書込手順を示す第11B図全参照するに
、この手順はレコード書込サービス・ルーテン・ステッ
プ470で開始する。ステップ471では書込むべき現
レコードがレコード・バッファで探し出され、ステップ
472では現レコードの長さが探し出される。多重レコ
ード処理が要求された場合、この現レコードの長さを探
し出す動作には、既に処理されたレコードの数を使用し
てレコード長バッファ中のオフセラ11発生することが
含まれる。次いで、現レコードはステップ473で記憶
ボリュームへ書込まれる。然る後、成るリーフ・ノード
へ挿入すべきレコード・インデックス・エントリがステ
ップ474で構成される。
ステップ475では、有効な転送キー・バッファが存在
するか否かを決定するために、5BCB300中の転送
キー・バッファ記述子628がテストされる。もし存在
しなければ、この手順は次のレコード書込要求までステ
ップ477で終了する。さもなければ、ステップ479
で現在の転送キー・エントリが探し出される。
ステップ480では、転送キー要素がこのようにして書
込まれた現レコード全参照するものであるか否かを決定
するために、転送キー・ノくソファ320中の相対レコ
ード番号(RRN)326が既に処理されたレコードの
数と比較される。もし両者が一致しなければ、この手順
は前述のようにステップ477で終了する。さもなけれ
ば、転送キー・バッファ320中の転送キー624のコ
ピーがステップ474で構成されたインデックス・エン
ドIJへ挿入される。最後に、次の転送キーがステップ
484で探し出されるが、これはこの手順をステップ4
77で終了させる前に書込むべき次のレコードを準備し
ておくためである。
挿入手順を示す第11CID’e参照するに、この手順
は挿入サービス・ルーチン・ステップ49’(3で開始
する。ステップ491では、キーの存在を決定するため
に挿入エンドIJがチェックされる。
もしこのエントリにキーがあれば、ステップ49ろでは
この挿入点の前後にあるキーが取出され、そしてステッ
プ496ではこれらのキーが挿入エントリ・キーと比較
される。これは前のキーが挿入エントリ・キーより小さ
く且つ後のキーが挿入エントリ・キーより大きいことを
確認するために行われる。こうすることにより、当該デ
ータ・セットの複数のキーが一意的であって、しかもイ
ンデックス・ノード中で適正に順序づけられていること
を確認することができる。ここで、かかる比較動作はリ
ーフ・ノードへ挿入を行う場合にのみ必要となるにすぎ
ないことを注意すべきである。
というのは、上位レベルのノード(中間ノード又はルー
ト・ノード)にあるキーは、リーフ・/ −ド中のハイ
・キーから導かれるがらである。もしステップ495に
おいてこのキーがリーフ・ノード中の現挿入点に対し有
効でないことがわかれば、ステップ497の戻りコード
によって挿入キー・エラーが通知され、かくてこの手順
は次の挿入要求が受取られるまでステップ499で終了
する。
もし挿入すべきキーが有効であるか、又はインデックス
・エントリ中にキーが存在しなければ、インデックス・
ノード中の残存スペースがステップ501でチェックさ
れる。もし挿入エントリ全保1寺するに十分なスペース
があれば、このエントリはステップ503で挿入される
。さもなければ、現ノードを分割して挿入スペースを作
るために、ステップ505で分割手順が行われる。分割
手順は、その動作の一部として、挿入全も行う。
ステップ507では、当該ノードへ新しいノ・イ・キー
が挿入されたか否かを決定するために、挿入点がチェッ
クされる。もし挿入されていなければ、ステップ509
の戻りコードによって挿入成功が通知され、そしてこの
手順はステップ499で終了する。もし現ノードの・・
イ・キーがこの挿入によって変更されたならば、現ノー
ドを直接的に参照するインデックス・エントリを保持す
る工うな上位レベルのノードがステップ511で取出さ
オt1そしてステップ512ではこのインデックス・エ
ントリを探し出すために該ノードが探索される。このイ
ンデックス・エントリはステップ516で削除される。
上位レベルのノードで挿入を行うために、この挿入手順
はそれ自体に対し要求を行う。この型の手順は、再帰的
手順として知られている。ルート・ノードのハイ・キー
はそれよりも上位レベルのボリューム・インデックスに
は影響しないから、ルート・ノードが以前に分割されて
いなけ2tばその分割後に、この手順の呼出しが結局完
了されることになる。再帰的な挿入要求が終了した後、
現要求は前述のようにステップ499で終了する。
レコード書込指令サービスに使用されるもう1つのサー
ビス・ルーチン手順は分割手順であって、これは第11
D図の流れ図に示されている。この手順は分割サービス
・ルーチン・ステップ520で開始する。ステップ52
1では、ルート・ノードが分割されようとしているのか
否かを決定するために、分割の対象として指定されたノ
ードの型がテヌトされる。もしこれがルート・ノードで
なければ、ステップ522で非ルート分割手順が行われ
、かくてこの手順は次の分割要求が受取られるまでステ
ップ524で終了する。
もしルート・ノードが分割されようとしているのであれ
ば、これはルート/リーフ・ノードであるか否かを決定
するためにステップ526でチェックされる、このテス
ト結果に応じて、新しい1つのリーフ・ノード又は新し
い1つの中間ノードが作成される。この新しいノードは
現ルートのすべてのインデックス要素を保持する。これ
に必要な挿入は新しいノードを作成する動作の一部とし
て行われる。新しいノードを1つだけ作成するのは、デ
ータ・セットのグロフィルがルート 7  rすしたけ
存在するという理由による。これらのインデックス要素
全中間ノード又はリーフ・ノードへ転送すると、ワード
・プロセシング・システム10では度々生じうるような
、最大の単一更新値全保持するに十分なスペースを作成
することができる。
このようにして新しいノードが作成されると、これはス
テップ5ろ0で記憶ボリュームに記憶される。次いで、
新しいエントリがルート・ノードのインデックス構成要
素における唯1つのエントリとして記憶される。ステッ
プ535でルート・ノードの制御情報を更新(たとえば
、インデックス中のレベルの数を増大)した後、この手
順は前述のようにステップ524で終了する。
最後のサービス・ルーテン手順は非ルート分割手順であ
り、これは第11E図の流れ図に示されている。この手
順は非ルート分割サービス・ルーテン・ステップ540
で開始する。この手順は、以前に1つのノードだけが存
在していた現レベルに2つのノードを作成しなければな
らないので、ステップ541では現ノードのインデック
ス構成要素が2つの新しいインデックス・ノードに分割
される。ステップ542では挿入エンド17が処理され
、ステップ546では新しいノードがボリュームに書込
まれる。
ステップ545では、リーフ・ノードが分割されようと
しているのか否かを決定するために、ノード・レベルが
チェックされる。もしそうであれば、隣接ノードのチェ
ーンがステップ547及び548で更新される。左リー
フ、右リーフ及びチェーンの例については、第6図を参
照されたい。
もし前述のステップでリーフ・ノードC(258)が分
割されようとしているのであれば、リーフ・ノードB(
256)が左リーフとなジ、リーフ゛ノードD(260
)が右リーフとなる。第5A図は、前位リーフ・LSN
、216及び次位リーフ・LSN  218i有するリ
ーフ・。ノード・チェーン206を示している。
第11E図を再び参照するに、ステップ550では2つ
のノードに対する新しいインデックス・エントリが構成
される。ステップ552では、分割された現ノードを直
接的に参照するようなインデックス・エントリ全保持す
る一層上位のインデックス・ノードが取出され、続くス
テップ554では不要となったエンド17が削除される
。最後の動作としては、新しいインデックス・エントリ
を一層上位のノードへ(必要に応じて分割を行いつつ)
挿入するために、挿入手順が行われる。
以上詳述したように、本願に従った方法及び装置は、テ
キスH−ディスケット又はノ・−ド・ディスクへ記憶し
、このテキスト訂正再び呼出すとともに、ボリュームの
データ・セット・インデックスを管理するように編成さ
れているので、通常のテキスト訂正、文書の複製、漢字
をディスプレイ上に表示するために使用される文字フォ
ントの取出しの如き種々の機能に対する性能を改善する
ことができる。
【図面の簡単な説明】
第1図は本発明全実現したワード・プロセシング・7ス
テムのブロック図、第2図は第1図のプロセッサを詳細
に示すブロック図、第6図はディスケット又はハード・
ディスクの如き直接アクセス記憶デバイスに置かれた文
書(データ・セット)中のテキストの編成に示す図、第
4A図及び第4B図はルート/リーフ・インデックス・
ノードだけを含む比較的小さなデータ・セットに対する
データ・セット・インデックスを示す図、第5A図及び
第5B図は1つのルート・ノード及び2つのリーフ・ノ
ードを含む一層大きなデータ・セットに対するデータ・
セット・インデックスを示す図、第6図は1つのルート
・ノード、2つの中間ノード及び多数のリーフ・ノード
を含むデータ・セット・インデックスを示す図、第7図
は第1図の記憶アクセス方式(S AM )内部制御ブ
ロックを詳細に示す図、第8図は第1図のSAMインタ
フェース制御ブロック全詳細に示す図、第9A図及び第
9B図はデータ・セットのオープンに関係する本発明の
動作を示す流れ図、第1OA図乃至第10C図はレコー
ド読取りに関係する本発明の動作を示す流れ図、第11
A図乃至第11E図はレコード書込みに関係する本発明
の動作を示す流れ図である。 出願人  インターナショナノいビジネス・マンーンズ
・コ−iレーション第4A図 第4B図 第7図 旧− 第11A図 第LID図

Claims (1)

  1. 【特許請求の範囲】 システム・メモリ及び直接アクセス記憶デバイスを含み
    、入力されたテキストヲ該直接アクセス記憶デバイスに
    記憶するとともに、該テキスト’4訂正する際はこれを
    前記直接アクセス記憶デバイスから選択しうるようにし
    たワード・プロセシング・システムにおいて、 所望のデータ・セットの存否を確認するために該データ
    ・セットの名称及び型に基いて現ボリューム・インデッ
    クスを探索し、前記データ・セットが存在する場合には
    該データ・セットのルート・ノードを前記システム・メ
    モリ中に設けられた記憶アクセス方式制御ブロックと呼
    ばれるインタフェース制御ブロックへ取出し、前記デー
    タ・セットのクローズ動作が行われるまで該データ・セ
    ットに対するそれ以後のすべてのアクセスについて前記
    記憶アクセス方式制御ブロックが利用できるように該ブ
    ロックを前記システム・メモリに常駐させ、前記データ
    ・セットのインデックスに対するそれ以後のすべての探
    索及び更新について前記記憶アクセス方式制御ブロック
    に記憶されたルート・ノードを使用するようにしたこと
    を特徴とする、ワード・プロセシング・システムにおけ
    るデータ・セットのアクセス方式。
JP58036087A 1983-03-07 1983-03-07 ワ−ド・プロセシング・システムにおけるデ−タ・セツトのアクセス方式 Pending JPS59163659A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP58036087A JPS59163659A (ja) 1983-03-07 1983-03-07 ワ−ド・プロセシング・システムにおけるデ−タ・セツトのアクセス方式
EP84101736A EP0121072A3 (en) 1983-03-07 1984-02-20 Method for accessing a data set in a word processing system
US06/586,594 US4620295A (en) 1983-03-07 1984-03-06 Method for accessing a data set in a word processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58036087A JPS59163659A (ja) 1983-03-07 1983-03-07 ワ−ド・プロセシング・システムにおけるデ−タ・セツトのアクセス方式

Publications (1)

Publication Number Publication Date
JPS59163659A true JPS59163659A (ja) 1984-09-14

Family

ID=12459962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58036087A Pending JPS59163659A (ja) 1983-03-07 1983-03-07 ワ−ド・プロセシング・システムにおけるデ−タ・セツトのアクセス方式

Country Status (3)

Country Link
US (1) US4620295A (ja)
EP (1) EP0121072A3 (ja)
JP (1) JPS59163659A (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4959769A (en) * 1983-10-03 1990-09-25 Wang Laboratories, Inc. Structures and methods for representing and processing documents
US4996662A (en) * 1983-10-03 1991-02-26 Wang Laboratories, Inc. Method for generating document using tables storing pointers and indexes
US4855907A (en) * 1985-08-01 1989-08-08 International Business Machines Corporation Method for moving VSAM base clusters while maintaining alternate indices into the cluster
US5008820A (en) * 1987-03-30 1991-04-16 International Business Machines Corporation Method of rapidly opening disk files identified by path names
DE3817139A1 (de) * 1987-05-20 1988-12-01 Hitachi Ltd Verfahren und vorrichtung zum suchen einer zeichenfolge
US5157783A (en) * 1988-02-26 1992-10-20 Wang Laboratories, Inc. Data base system which maintains project query list, desktop list and status of multiple ongoing research projects
US5829002A (en) * 1989-02-15 1998-10-27 Priest; W. Curtiss System for coordinating information transfer and retrieval
JPH02236668A (ja) * 1989-03-10 1990-09-19 Hitachi Ltd 入出力処理方法
US5228121A (en) * 1989-09-29 1993-07-13 Digital Equipment Corporation Document generation using information engineering
JPH0776950B2 (ja) * 1990-06-22 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理方法及び装置
US5307445A (en) * 1991-12-02 1994-04-26 International Business Machines Corporation Query optimization by type lattices in object-oriented logic programs and deductive databases
US5398310A (en) * 1992-04-13 1995-03-14 Apple Computer, Incorporated Pointing gesture based computer note pad paging and scrolling interface
US5748952A (en) * 1995-05-10 1998-05-05 International Business Machines Corporation System and method for avoiding complete index tree traversals in sequential and almost sequential index probes
US5809496A (en) * 1997-02-20 1998-09-15 International Business Machines Corporation Hybrid search
US5941972A (en) 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6772141B1 (en) 1999-12-14 2004-08-03 Novell, Inc. Method and apparatus for organizing and using indexes utilizing a search decision table
US20080027941A1 (en) * 2006-07-28 2008-01-31 International Business Machines Corporation Method and System For Providing A Searchable Virtual Information Center
US9015197B2 (en) 2006-08-07 2015-04-21 Oracle International Corporation Dynamic repartitioning for changing a number of nodes or partitions in a distributed search system
US20080033943A1 (en) * 2006-08-07 2008-02-07 Bea Systems, Inc. Distributed index search
CN101582091B (zh) * 2009-06-10 2012-04-18 凌阳科技股份有限公司 一种词库创建方法和系统,及相应的单词查询方法和系统
US8180739B2 (en) * 2009-07-27 2012-05-15 International Business Machines Corporation Duplicate filtering in a data processing environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4310883A (en) * 1978-02-13 1982-01-12 International Business Machines Corporation Method and apparatus for assigning data sets to virtual volumes in a mass store
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
US4441829A (en) * 1981-09-24 1984-04-10 International Business Machines Method for performing a multiple page get operation in a text processing system

Also Published As

Publication number Publication date
EP0121072A2 (en) 1984-10-10
US4620295A (en) 1986-10-28
EP0121072A3 (en) 1987-07-15

Similar Documents

Publication Publication Date Title
JPS59163659A (ja) ワ−ド・プロセシング・システムにおけるデ−タ・セツトのアクセス方式
US4598357A (en) Cache/disk subsystem with file number for recovery of cached data
US5530794A (en) Method and system for handling text that includes paragraph delimiters of differing formats
US4750106A (en) Disk volume data storage and recovery method
KR940005775B1 (ko) 디스크 파일 개방 방법
US4601012A (en) Zone partitioning in volume recovery system
JP2635023B2 (ja) フアイルデータ用ラベル書き込み方法
US5276840A (en) Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation
CA2218270C (en) Text index registration and retrieval method
US6691136B2 (en) Fast data retrieval based upon contiguous consolidation of records according to frequency of access
US8271504B2 (en) Systems for performing an external (disk-based) sort of a large data file which take advantage of “presorted” data already present in the input
JPS58155464A (ja) 順次デ−タ・ストリ−ムの検出方法
JPS60250449A (ja) デ−タ記録方法
EP0591520A1 (en) Disk storage system
JPH06289999A (ja) ディスク制御システム
US5293618A (en) Method for controlling access to a shared file and apparatus therefor
US6108285A (en) Directory structure for worm optical media
US6715030B1 (en) Apparatus and method for storing track layout information for performing quick write operations
KR100224524B1 (ko) 파티션 기록보관 상태 어레이와 파티션 맵 모두를 이용하여 주저장매체를 기록보관 저장매체로 증분적으로 기록보관하기 위한 방법
US5133066A (en) Method for selecting multiple versions of data in a reduced record units text editing system
JPS58105365A (ja) デイスクキヤツシユ制御装置を用いた磁気デイスク書込み方式
JP3335919B2 (ja) ディスクキャッシュ制御装置
JPH02151944A (ja) データ処理装置
JP2701271B2 (ja) 画像ファイル記録方法
JPH04370847A (ja) 順ファイルへのトランザクション同期アクセス方法