JPH02297229A - データベース・システム - Google Patents

データベース・システム

Info

Publication number
JPH02297229A
JPH02297229A JP2045364A JP4536490A JPH02297229A JP H02297229 A JPH02297229 A JP H02297229A JP 2045364 A JP2045364 A JP 2045364A JP 4536490 A JP4536490 A JP 4536490A JP H02297229 A JPH02297229 A JP H02297229A
Authority
JP
Japan
Prior art keywords
database
client
document
program
translation
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
JP2045364A
Other languages
English (en)
Inventor
Steven B Putz
スティーヴン ビー パッツ
Mark D Weiser
マーク ディー ウィーザー
Alan J Demers
アレン ジェイ デイマース
A Lawrence Spitz
エイ ローレンス スピッツ
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.)
Xerox Corp
Original Assignee
Xerox 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 Xerox Corp filed Critical Xerox Corp
Publication of JPH02297229A publication Critical patent/JPH02297229A/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/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

【発明の詳細な説明】 光」9j所 本発明は分散型コンピュータ・システムのための文書デ
ータベースに関し、特に電子文書への共有アクセスをパ
ーソナル・コンピュータと専門ワークステーション(以
下、併せて「ワークステーション」という)のユーザに
、ワークステーションのハードウェア構成とソフトウェ
ア操作環境中の相違にもかかわらず、電子文書のコード
フォーマットと、ネットワーク環境の移送と通信プロト
コールを提供するための方法と手段に関する。
溌」厖q背1 異なったハードウェア構成と異なったソフトウェア操作
環境を有するコンピュータ上で文書を作成し編集するた
めに、様々なテキストと合成画像エディターが開発され
ている。残念ながら、そのようなエディタの多数は、そ
のようなフォーマットの構造と内容をコード化するため
に異なった文書記載言語(DDL)を使用しているため
、特定のコンピュータ・システムによってそのフォーマ
ットを操作し翻訳することはできるが、その他のコンピ
ュータ・システムによって操作し翻訳することはできな
い。例えば、WYSIWYG (“What YouS
ee 1sWhat You Get ” r見るもの
が手に入る」)テキスト・エディタは、一般に、システ
ム特有のコードフォーマットを有するDDLに基づいて
いる。
そのような文書コードフォーマントが相違している結果
、「文書交換システム」の問題が存在し、その問題が、
異なったコンピュータ・ハードウェア構成および/また
は異なったソフトウェア演算環境を使用するユーザによ
る電子文書の共用を妨げている。ユーザは、時には、共
用したいと堕む文書のための、ASCII コードのよ
うな平文テキスト・コードを使用することによって、ま
たは、異なったコードフォーマットを有する文書をフォ
ーマット変換装置に通して実行させることによって、こ
の問題に対処することができる。ただし、平文テキスト
・コードは、著者が意図した外形を電子文書に与えるた
めに要求されるフォーマ・ノド情報の多くを犠牲にする
。他方、フォーマット変換プログラムは、そのプログラ
ムが常駐するホスト・コンピュータのオペレーティング
システムによって限定されるだけでなく、通常は、その
プログラムを実行するために利用することができる実質
的な計算能力をホスト・コンピュータが持っていること
が必要である。さらに、公知のフォーマット変換装置は
、一般に、文書の原フォーマットと所望のフォーマット
の両方の入り狗−す−知識を必要とするため、そのよう
なフォーマット変換装置はこの問題の部分的解決である
に過ぎない。
Filenetのような画像データベースは、文書外形
の要素の一部と文書の記載を結合する。そのデータベー
スは画像の記憶と検索のために設計されたものであるが
、記憶された画像すなわち「外形」は、所定のただ一つ
の書式の中でしか検索することができない。そのため、
そのようなデータベースから検索する画像の翻訳のため
に、クライアントがカスタム・デイスプレーおよび/ま
たはカスタム・ソフトウェアを必要とすることが多い。
代表的な場合、そのようなデータベースには、記憶され
た各画像についての個別の質問可能な(queriab
le)情報が含まれているが、従来この説明情報は、ユ
ーザの要求に合わせるために補足することができる無制
限の画像記述を提供するよりはむしろ、少数の所定のフ
ィールドに限定されている。
さらに、すべての画像説明をそのようなデータベースの
同じレベルに記憶させることが標準的方法であるため、
一つの記述が他の記述を示すことはできない。
本発明を実行するためには、拡張型遠隔手続き呼出しく
RPC)演算を使用する。したがって、呼び出された手
続きが実行されている間、クライアントからの定期的コ
ールバック(すなわち、クライアントによるサーバ・ポ
ーリング)を必要とする拡張型RPC演算の他にも、ク
ライアントが呼び出した手続きが完了に達したとき、ク
ライアントにサーバ・コールバックを提供するための公
知の拡張型RPC演算が存在することを理解すべきであ
る。ただし、そのような公知のRPC演算のサーバ・コ
ールバックは、クライアントに部分的な結果を与えない
。さらに、公知のクライアント・ポーリング方法は、呼
び出された手続きが開始された後におけるサーバの状態
の変化を考慮に入れていない。
光囲■!對 本発明によれば、異なったコードフォーマットによって
そのような文書を表示するため、および、異なったファ
イル伝送プロトコールを使用してそのような文書を伝送
するため、異なったハードウェア構成と異なったソフト
ウェア演算環境を有するコンピュータの間で、完全にフ
ォーマツティングされた電子文書の視覚的に忠実な翻訳
を交換するためのデータベース・システムが、提供され
る。
そのようなコンピュータの間のそのような文書の伝送に
含まれるすべての書式変換とその他の活動は、本質的に
ユーザには明白であり、ユーザのいずれかの側が、他の
ユーザのいずれかの計算および/またはネットワーク環
境に関する先験的知識を持っていることを要求しない。
本発明のさらに詳細な特長を保持するに際し、すべての
データベース演算は、クライアントのアプリケーション
が、データベースの演算が作業を完了するのを待つこと
なく、比較的迅速に演算から部分的結果を得ることがで
きるようにする遠陪手続き呼出しプロトコールによって
開始され、データベース演算の進捗はそのプロトコール
によって点検される。このデータベース演算は、主サー
バ・、プログラムによって子プロセスとして分岐されて
いるので、別のデータベース演算プログラムを追加する
ことによって、このデータベース・システムの機能を容
易に拡張することができる。
本発明の追加目的と長所は、添付図面を参照して下記の
詳細な説明を読むと、明らかになるであろう。
−された   の  な 以下、図示された実施例を具体的に参照して本発明の詳
細な説明するが、本発明をその実施例に限定する意図で
はないことを理解すべきである。
反対に、添付請求項によって定義された通り、本発明の
精神と範囲に属するすべての修正、代替及び均等物を本
発明中に包含させることを狙いとしている。
■、a能的概観 A、外形+記述としての電子文書 本発明によれば、電子文書は、個別に記憶、操作、検索
される「外形」と「記述」の2部分に分割されている。
文書記述には、文書記述が関係する文書に関する記号情
報すべてが含まれている。
したがって、そのような記述は、通常のデータベース照
会を使用して規定される探索のための一次情報源である
(外形内容に整合する全体パターンを除く)。他方、文
書外形には、文書外形が関係する文書を視認者が認識す
るため必須である精神物理学的に重要な情報すべてが含
まれている。外形も記述も、所定の電子文書を規定する
ために十分でないが文書を十分に規定するために結合し
ている。外形と記述は互いに結合する。外形と記述が相
互に結合するのは、各記述が関係する外形の識別子また
は「ハンドル」が常に各記述に含まれているからである
。しかし、一部の記述が、文書のページや図書の章のよ
うに複合的な外形に関係していることがあり、そのため
、そのような記述は複合ハンドルを含むことができる。
また、記述が(外形に対向するような)記述に関係する
ことがある。その場合、記述は、その記述が関係する記
述のハンドルを含むことになる。
B0文書の記憶と検索 すべての外形は固定されているが、外形の表示すなわち
「翻訳」は様々であり、個々の視認者の個人的ニーズに
合わせて誂えることができる。したがって、文書外形は
、入力装置のコードフォーマットを改編することなく、
どの「クライアント」のワークステーションまたは入力
スキャナー用サーバのような入力サーバからでも、本発
明のデータベース・システム中に入力させることができ
る。
同様に、どのクライアント・コンピュータ・デイスプレ
ー・スクリーンまたは電子プリンタ・サーバでも、記憶
されたどの外形にでもアクセスすることができ、その外
形をクライアントが規定したフォーマントに翻訳するこ
とができる。
例えば、第1図に示す通り、ペーパー文書22を強度サ
ンプルフォーマットの非圧縮または圧縮アレーに従って
コード化される対応電子ビットマツプに変換するために
、はぼ従来の入力スキャナ−21を使用することができ
る。このビットマツプは、1つまたは複数の外形データ
ベース24中に外形として記憶される。その上、以下に
さらに十分に記載する通り、そのビットマツプは、記憶
された外形に指定された独特な名称またはハンドルのA
SCIIIIテキストコードを含む記述を作るため、2
5においてのように、標準文字認識方法を使用して処理
される。示されているように、代表的な場合、そのよう
な文書記述は、データベース・システムによって自動的
に、および/またはクライアントの管理の下で追加され
る補足情報によって増大される。次に、記述は1つまた
は複数のデータベース26中に記憶される。クライアン
トのワークステーション28上で作成された電子文書の
外形と記述をそれぞれ外形データベース24と記述デー
タベース26に入ツノするためには、同様な、ただしよ
り直接的な手順が使用される。
第2図を参照すると、クライアントワークステーション
28のユーザは、32において、データベースが規定す
る照会との整合のために1つまたは複数の記述データベ
ース26を探索するため、直接的なデータベース照会ツ
ールを実行することができることが理解される。そのよ
うな照会を選択された記述データベース26に向けるた
めには、33における適当なルーティング方法を使用す
ることができる。照会マツチング記述のリストをユーザ
に提供するため、照会32に整合する記述はクライアン
ト28に戻される。
第3図において、クライアントのワークステーション2
8のユーザは、クライアントのワークステーション28
のハンドルを1つまたは複数の外形データベース24に
提供することにより、また、外形が翻訳されることにな
る装置と外形を翻訳デバイスに送るときのデータ・コー
ドフォーマットを定義する翻訳仕様を提供することによ
って、外形にアクセスする。選択された外形のためのハ
ンドルは、上記で説明した通り、探索照会整合記述から
得ることができ、または、ユーザがセーブしておいたか
、そのような検索に頼ることなく取得したハンドルとす
ることができる。代表的には、外形を翻訳することにな
る装置は、その装置の解像度、所望の翻訳の幅と高さ、
および、翻訳装置のグレースケールとカラー特性に関し
て翻訳仕様が規定する。翻訳仕様にはまた、例えば、コ
ンピュータ・デイスプレー上で外形を翻訳しなければな
らない場合における周辺照明条件のような、人間の目に
対する外形の認識に影響を与えることがある環境条件に
関するその他の情報も含めることができる。概して、そ
のような翻訳仕様は、クライアントのワークステーショ
ン28の上に存在するアプリケーション・プログラムと
コンパチブルであるデータ・コードフォーマットを要求
する。
例えば、MacintoshのクライアントはMacP
aintフォーマットを、PCのクライアントはTlF
Fフォーマットを、Viewpointのクライアント
はRESフォーマットを、それぞれ規定するはずである
所定の外形のすべての翻訳は、同じハンドルによって識
別される。したがって、特定の外形の所望の翻訳が外形
データベース24のいずれかにおいて入手することがで
きるか否かを決定するために、ユーザが供給した外形ハ
ンドルと翻訳仕様を使用することができる。有利なこと
であるが、作られたすべての翻訳は、41において、外
形データベース24によって、例えば24時間のような
所定の時間の間、キャッシュされるので、頻繁に要求さ
れる翻訳を要求するクライアントは、そのような翻訳の
中間フォーマット変換またはその他の処理をすることな
く、その翻訳を直接入手することができる。ただし、ユ
ーザが規定した外形の翻訳を利用することができない場
合は、適当なフォーマット変換プログラム42を呼び出
すため、選択された外形が外形データベース24内に存
在するときのフォーマットを、ユーザが規定したフォー
マットと比較する。代表的には、フォーマント変換プロ
グラム42を選択するためにフォーマソト変換のマトリ
ックスMi織表43を使用する。
記jfJされフォーマット変換された翻訳を要求するク
ライアントは、クライアントが規定したファイル伝送プ
ロトコルの使用を介して、データベース・ファイル・サ
ーバ44を経由して、その翻訳を検索することができる
C9適時かつ最善努力翻訳の有意性 上記で説明した抜粋翻訳仕様を使用することは、記憶さ
れた外形がワークスチー、ジョン28のデイスプレー・
モニタまたはプリンタ46のような出力装置上に出現す
る直前に、翻訳(すなわち、記tαされた外形の精神物
理学的に等価である表現)を作ることができることを意
味する。その結果、翻訳を作っている間に、翻訳を見る
ときの照明条件、出力装置のコントラストとカラー領域
、および、コントラストとカラーに対するユーザの感受
性のような変数を含め、翻訳に対する人間の知覚に悪影
響を及ぼす環境とユーザ規定の変数を考慮することがで
きる。実行されるそのような翻訳仕様と適時の翻訳は、
異なったクライアントが同じ外形の異なった翻訳を取得
することができるようにする。また、あるクライアント
が、異なった時期に、1つの外形の異なった翻訳を取得
することができるようにする。換言すると、クライアン
トは、自己の用件を満足させるように翻訳を誂えること
ができる。
したがって、本発明が意図するクライアントを中心とし
た翻訳が、外形が1つまたは複数である特定のフォーマ
ットの外形データベース24に入力された時から、クラ
イアントによってその書式または異なった書式で検索さ
れるまで、異なった多数の変形を外形に加えることがで
きるようにすることは明らかであろう。ただし、そのよ
うな変形は、文書の著作者が伝えたいと意図した視覚情
報に忠実なのであるから、その視覚情報すなわち「外形
」を規定するために当初使用されたコードフォーマット
が何であっても、そのような変形はすべて相互関係を有
している。どの翻訳であっても、記憶された外形の精神
物理学的に等価である表示を作るための、「最善努力」
による意図なのである。ただし、精神物理学的に等価で
ある表示は、記憶された外形とその外形の翻訳との間の
ビット毎の対応を必要としない。むしろ、必要であるの
は、翻訳が、原外形すなわち記憶された外形と、人間の
知覚レベルにおいて密接に一致することだけである。こ
のことは、例えば、外形を、再操作による検索に備えて
、例えばマイクロフィルムの上に、アナログ情報として
記憶させることができることを意味する。また、形状の
視覚角度ひずみを補償するため、視覚変形の角度を幾何
学的形状を代表するピクセル・パターンに適用すること
ができることを意味する。例えば、四角形を表示させる
ための非四角形のピクセル・パターンを作り、その結果
、斜めの角度で見られたとき、そのピクセル・パターン
が人間の目には四角形に見えるようにするために、その
ような変形を使用することができる。
D、照会と翻訳の管理 本発明の重要な特長を保持するため、いずれかのクライ
アントのためのすべてのデータベース演算は、所望のデ
ータベースの演算を開始させるための一つの部分(以下
、[位置付けJ RPCという)と、演算の進捗を点検
するための他の一つの部分(以下、[再位置付けJ R
PCという)とで構成された遠隔手続き呼出しくRPC
)によって呼出される。そのような呼出しは、両方とも
、データベース・サーバに、呼出された演算から入手す
ることができる結果を発見することができるファイル位
置、演算の完了に向かってなされた進捗の表示、演算の
完了が予期される時期の推定、および、呼出された演算
が追加作業を行ったときのみに変化する「進捗鼓動」に
ついての同じ情報をクライアントに戻させる。この情報
は、「実行−サーバー推定」によって提供される。この
推定は、下記を与えるための整数値を含む4つのフィー
ルドで構成されている: (1)結果ファイルの位置(
ファイル位置が未知である場合、−1値をこのフィール
ドに入力する’) 、(2)まだベンディングである作
業の推定(代表的には、値が0であることはすべての作
業が行われたことを示し、値が−1であることは推定が
ないことを示す)(3)完了までに予測される時間(秒
1社位)(この場合も、値が−1であることは値が未知
であることを示す)、(4)その他の結果を利用するこ
とができるようになるまでの推定時間(秒単位)(この
場合も、値が−1であることは値が未知であることを示
す)。
そのような、いわゆる実行−サーバー推定には3つの重
要な用途がある。第1に、クライアントは部分的結果に
アクセスすることができる。このことは、翻訳が作られ
ている間特に有用であるが、それは、翻訳が時間を要す
る手続きだからである。
第2に、その推定は、なされている進捗に関するフィー
ドバックをクライアントに提供する。さらに、そのよう
な推定は、クライアントが選択した最適化規準に基づく
サーバ結果のためのクライアントによる最適化ポーリン
グを容易にする。例えば、データベース演算との関与を
最低にしたいと望むクライアントは、予測された完了時
刻において結果を求めるためにデータベースを呼出すこ
とができる。したがって、クライアントが結果を求めた
とき演算が完了していない場合、クライアントは、適切
なコールバック時刻を決定するためその呼出しに応えて
戻された、最新化された完了推定を使用することができ
る。逆に、データベース演算上でなされている進捗にさ
らに密接に従いたいと希望するクライアントは、サーバ
をさらに頻繁に呼出すことができるが、重複呼出しがあ
まりにも頻繁になされたため、1つの呼出しから他の呼
出しに報告する進捗がない(すなわち、進捗の鼓動に変
化がない)場合、そのような重複実行サーバー推定はそ
のクライアントに戻される。
E1文書ハンドル すでに指摘したとおり、いずれかの外形データベース2
4に入力された各所しい外形について独特な文書ハンド
ルが作られる。単一のハンドルが、ある与えられた外形
の、可能性のあるすべての翻訳に集合的に照会される。
そのようなハンドルには持久性があるので、クライアン
トは、外形の検索に際して後日使用するため、ハンドル
を無期限にセーブすることができる。さらに、分散型フ
ァイル・システムは、ハンドルのための中央レジストリ
ーまたはデータベースを使用することなく、分散型ファ
イル・システムに入力される異なった外形のための全く
独自な文書ハンドルを、独立して作る。
各文書ハンドルには、例えば8−ビットのバイト32個
のシーケンスで構成された2進コードと、例えば2進コ
ード化されたバイトのそれぞれを代表するため、16進
数字2つで構成されたテキスト・コード(スペースを節
約するため、2進コードのすべてのトレーリング・ゼロ
・バイトをテキスト・コードから落とすことができる)
の2つのコードがある。以下でさらに詳細に説明する通
り、文書ハンドルの2進コードは、データベース・サー
バのための遠隔手続き呼出しインターフェイスにおいて
使用することができ、一方、テキスト・コードは、対応
する記述の中の文書外形を参照するために使用される(
クライアントとサーバ・ソフトウェアによる使用を容易
にするため、文書記述にはテキストだけしか含めること
ができない)。
文書ハンドルは、階層形識別子スペースを提供する。そ
の提供のため、文書ハンドル可変数のフィールドに分割
されており、各フィールドは、直前のフィールドによっ
て設定された文脈節に基づいた解釈を受けることができ
る。クライアントはそのようなハンドルを単一の識別子
として使用するので、クライアントがハンドルの内容を
解釈する必要はない。ただし、データベース・サーバは
、ハンドルの内容を解釈して、外形の記憶位置のような
、関連する外形についての抜粋コード化情報にする。さ
らに特定すると、単一の外形データベースを有する単純
なシステムのためのサーバは、典型的な場合、局所的に
知られたすべてのデータベース・ハンドルのインデック
スを維持するだけであるが、さらに高度化したデータベ
ース・システムのためのサーバは、対応する外形がい(
つかの局所的データベースの1つに記憶されているか否
か、または、外形を得るために他のサーバにも接触しな
ければならなか否かを決定するために、文書ハンドルを
使用することができるはずである。
基本文書ハンドルのために適した内部フォーマットは下
記の通りである(可変でない場合、2進フイールドの長
さのビット数が示されている):<documenth
andle  l  256>=<handle  t
ype  l 8><field>、、、、  <fi
eld> 上記の式において、 <field>=<field type l 16>
<field bytes> ;<field  ty
pe  l  16>=<uniqueness  r
ule  l  ID<field  length 
 l 5  >  i<field length>は
、<field bytes>中のバイト数であり、<
handle type> = 1である。
予想される通り、さらに洗練されたシステムにおいては
1個以上のハンドル・タイプが要求されることがあり、
その場合には、<handle type>が1に等し
くないことがある。適当な場合、与えられたハンドル内
にそれ以上のフィールドがないことを示すため、すべて
のゼロを含む<field type>が保存される。
文書ハンドルのための一意性規則の代表的なセットを2
進フイールドフオーマツトと共に下記に列記するが、さ
らに洗練されたデータベース・システムのためのサーバ
が必要とするデータベースと文書位置についてのヒント
を文書ハンドルがコード化することができるようにする
ためには、フィールド・タイプの追加が要求されること
になることを理解しなければならない: 規則1 : <registered host l 
16><timestamp l 32>[<tie−
breaker>] 規則2  : <Sun  host l 32>  
[<tie−breaker>]規則3 : <rp 
host id l 32><timestamp l
 32>[<tie−breaker>] 規則4 : <either host id l 4
B><tin+estamp l 32>[<tie−
breaker>] 規則5 :<relative id>  (前のフィ
ールドに対して独自) 規則6 : <date offset l 32><
relative id>]規則7 : <data 
offset ! 32><date length 
l 32>[<relative id>] 規則8 : <Pup host id l 16> 
<timestamp l 32>[<tie−bre
aker>] 規貝り9  : <handle  5ubtype 
 l 8  >  [<relative  id>]
現在までに定義されているハンドル。サブタイプ(一意
性規則9)は下記の通りである:0x01 :  文書
は不変である。
0x02 :  文書は記述である。
すでに指摘した通り、文書ハンドルはテキスト・コード
も持っているため、代表的な例のアバケース16進テキ
スト・コードを、そのフィールドの説明と共に、下記に
規定する: ハンドル: 01012103Q10?5922228
648B25C上記において、 01は、ハンドル・タイプ1を意味し、0121は、一
意性規則またはフィールド・タイプ9、長さlを意味す
る。
03は、ハンドル・サブタイプが0x03  (不変記
述)であることを意味する。
0107は、一意性規則またはフィールド・タイプ8、
長さ7を意味する。
5922は、P叶アドレス:131142flを意味す
る。
228648E2は、1988年5月9日(月曜日)1
7時16分34秒についてのUnix会議タイムスタン
プである。
5Cは、タイムスタンプに追加解像力を提供するための
ブレーカ−整数値である。
(00,、、,00)は省略されている(すなわち、1
3ビトが使用されており、19バイトが使用されていな
い。) ■、実施例の詳細 A、序論 第4図を参照すると、遠隔クライアント・アプリケーシ
ョン・プログラム52−54との通信のための標準5u
nRPCインターフエイスを備えたSunワークステー
ション(図示されていない)上でLlnixデータベー
スを実行することにより、本発明のデータベース・シス
テム51が都合よく実行されている。クライアント・ア
プリケーション52−54は、文書記憶と検索アプリケ
ーション、データベー・ス探索アプリケーション、入力
スキャナ・サーバ・プログラムとプリント・サーバ・プ
ログラムを含む様々なフォーマットを取ることができる
。データベース・システム51のためのサーバ・プログ
ラムは、rpcgen、 CとC−5hellプログラ
ム言語で書かれており、文書の記述と外形は、Unix
ファイル・ディレクトリ−の階層を使用するデータベー
スが記憶する。
図示されているとおり、データベース・システム51に
は、5unRI’Cインターフエイスを経由して遠隔ク
ライアント・アプリケーション52−54と通信するた
めの主サーバ・プログラム55が含まれている。この主
サーバ・プログラム55は、3つの遠隔手続きプロトコ
ル、すなわち、Locate。
しocate MoreとRe1easeOpを使用す
る基本データベース・プロトコルを実行するに過ぎない
NcwDocDesc演算プログラム56、Rende
r演算プログラム57やDesc riptionse
arch演算プログラム58のような特定のデータベー
ス演算は、独立したLlnixプロセスとして主サーバ
・プログラム55から呼び出される個々のプログラムに
よって扱われる。次に、演算プログラム56−58は、
標(表出力装置を経由して、主サーバ・プログラム55
に結果を伝える。したがって、ユーザが誂えた探索と変
換演算のためのような別のデータベース演算プログラム
を追加することによって、データベース・システム51
の機能性を容易に拡張することができることは明らかで
あろう。すでに指摘したとおり、ファイルは、クライア
ントが規定した伝達プロトコルの使用を通して、1つま
たは複数のネ・ノドワーク・ファイル・サーバ44を経
由し、クライアント・アプリケーション5254とデー
タベース・システムのデータベース59の間で両方向に
伝送される。他方、主サーバ・プログラム55は、60
においてのように、外形と記述データベース59内の一
時的フアイルと永久ファイルに直接アクセスすることが
できる。
A、主サーバ・プログラム 第5図を参照すると、主サーバ・プログラム55がクラ
イアント・アプリケーション5255から遠隔手続き呼
出しを受け、クライアントのために要求されたデータベ
ース演算を実行するための適当なデータベース演算を呼
出し、クライアントが要求したデータベース演算の進捗
を追跡し、演算の結果を、その演算を要求したクライア
ントに戻すことを知ることができる。主サーバ・プログ
ラム55は、rpcgenとCプログラム言語を使用し
て適当に実行される。
すでに説明した通り、本発明を実行するために使用され
たR P Cプロトコルは、Locates Loca
teMoreとRe1easeOρの3つの遠隔手続き
を定義する。
Loca teとLocateMore手続きは、クラ
イアントが要求するデータベース演算からの部分的結果
をクライアントが迅速に得ることができるようにする。
具体的にいえば、そのような手続きは、演算が完了する
までクライアントに結果を待つことを求めるよりは、要
求されたデータベースの演算が行われている間に部分的
結果を利用することができるようにすることが多い。そ
の目的のため、要求されたデータベース演算の各結果と
共に、演算“id”すなわちハンドルがクライアントに
戻される。このハンドルは、要求された演算の進捗に関
する追加の結果と最新化状態情報を得るため同じ演算に
ついての、クライアントの次に呼出しにおいて使用され
る。そのような演算ハンドルそれぞれはクライアントに
戻される結果ストリーム中の1つの位置を占めるだけで
あるため、後で作られた結果が返送された後であっても
各演算ハンドルを再使用することができる。例えば、結
果の伝送を要求するために演算ハンドルを再使用するこ
とができる。また、後で更に詳細に説明する通り、異な
った「結果タイプ」を規定することにより、異なった方
法で結果をフィルターするためにそのようなハンドルを
再使用することができる。
主サーバ・プログラム55は、データベース位置とその
他の値(“N”と名付けられたSun NFSファイル
伝送プロトコルをArpaホスト名スペ名入ペース内n
se1.. parc、 xerox、 coIII 
″と名付けられたサーバ上で実行する、“System
 33 ”として知られるデータベース・システムにつ
いての代表的な省略値は、括弧に入れて示す)を設定す
るため、下記のUnix環境変数を使用する:533S
ERVER−プロトコールとサーバ名(Nansel)
S33DBDIR−データベース・ディレクトリ−(/
ansel104/sys tem33)533BIN
DER−プログラム・ディレクトリ−(/ansel1
04/sys tem33/bin/3.5)S33D
EBUG−デバグ・フラグの整数コード(Ox5F) S33GROIJP−限定演算に対するアクセスを認可
されているUnixのIロ (33) S33CTIME−クライアント・タイムアウトの間の
秒数(600) S33STIME−付加演算プログラム・タイムアウト
の間の秒数(300) データベース演算プログラム56−58 (第4図)は
また、そのような環境変数にアクセスすることができる
1、  Locate手続き Loca te手続きは、その手続きを呼出すクライア
ントから、下記のアーギュメントを取る:クライアント
識別ストリング、演算プログラム名とストリング・アー
ギュメントのリストを含む演算プログラム・アーギュメ
ント、32−バイト・ドキュメント・ハンドル、ファイ
ル・プロトコルのリストとサーバ名、書式名のリスト、
整数タイムリミツト、整数結果バッファー・サイズ、お
よび、整数結果のタイプ。図示された実施例において、
アーギュメントは、Unixの“argv”メカニズム
によってデータベース演算プログラム56−58(第4
図)に送られる。
代表的には、クライアント識別ストリング(Locat
eArgs、 userName ” )には、データ
ベース・システム51にアクセスする個人の登録名が含
まれている。プログラム・アーギュメント中の第1のス
トリング(” LocateArgs、 Locate
Spec″)は演算プログラム名であるため、実行され
るデータベース演算を決定する。プログラム・アーギュ
メント中の残りのストリングとその他の手続きアーギュ
メントの解釈は命名されたデータベース演算に基づいて
行われるので、命名された演算が必要としない場合、そ
のようなアーギュメントの一部が空またはゼロであるこ
とがある。第5図に示されている通り、Loca te
手続きは、61においてのように、命名されたデータベ
ース演算に対応する実行可能なUnixファイルについ
てのプログラムの点検を主サーバ・プログラム55に行
わせる。
そのようなファイルが発見された場合、62においての
ように、主サーバ・プログラム55は、子プロセスとし
て、命名された演算プログラム63をフォークし、残り
の演算プログラム・アーギュメントを命名された演算プ
ログラム63に送る。
その他の手続きアーギュメントを簡単に検討すると、ク
ライアントは、Loca te手続きを呼出すとき、そ
のデータベース内に記憶された特定の文書(すなわち、
記述または外形)を識別するための検索演算には文書ハ
ンドル・アーギュメント(LocateArgs、 d
ocld”)を使用することを理解しなければならない
と規定することができる。このアーギュメントはまた、
新しい記述または既存の外形の新しいバージョンのいず
れかをデータベースに付加するために要求される場合は
、記憶演算のために使用することができる。サーバ/プ
ロトコル名称アーギュメント・アレー(“しocate
Args。
1ocFilters、 5ervers”)は1デー
タベースから文書を検索するためにクライアントが使用
することができるファイル伝送プロトコルおよび/また
はサーバを識別するための役に立つだけでなく、文書の
記憶演算のためにデータベースがクライアントのファイ
ルにアクセスするために使用することができるプロトコ
ルとサーバを規定するためにも役に立つ。同様に、フォ
ーマット名アーギュメント (LocateArgs、
IocFilters、  timeLimt”)は、
 (a)クライアントが受入れたいと望む文書コード化
フォーマットを規定する演算が検索するため、および、
(b)クライアントのファイルのコード化フォーマット
を規定する記憶演算のために使用することができる。次
に、タイムリミツト・アーギュメントじLocateA
rgs、 1ocPilters、 timeLimi
t”)の価は、(alネットワーク・ファイル・サーバ
44(第4図)の演算上に検索演算の結果を維持してい
たいとクライアントが望む期間と、(b)記憶演算のた
めにクライアントのファイルが有効である期間を、クラ
イアントが規定することができるようにする。
さらに、結果バッファ・サイズ・アーギュメント(“L
ocateArgs、bufferSize”)は、単
一の返信パケット(ネットワーク・パケット・オーバー
ヘッドを除く)内で受領したいとクライアントが望む結
果データ・バイトの最大数をクライアントが規定するこ
とができるようにする。
Loca te手続きについての結果タイプ・アーギュ
メント(”LocateArgs、 IocateSp
ec”)は、クライアントが要求している結果のフォー
マットを規定する。発見された突合せの数のみの戻し、
突合せの文書ハンドルの戻し、突合せのファイル位置の
戻し、時間見積りのみの戻しを含め、このアーギュメン
トによって様々なオプションをコード化することができ
るが、命名されたデータベース演算、突合せの位置とフ
ァイル長さ両方の戻し、文書ハンドルのみおよび/また
は発見された最初の突合せのファイル位置の戻しは行わ
ず、戻されたファイル位置は、ゼロ・オフセットなしで
ファイルを規定することができる。
再び第5図に注目すると、命名されたデータベース演算
63を開始するために主サーバ・プログラム55が子プ
ロセスを呼出した後、主す−ノしプログラム55のLo
ca te手続きがその手続きのための演算ハンドルを
作り、67において示された通り、その演算ハンドルを
ジョブ・テーブル64に入力する。その後、Loca 
te手続きは、69においてのように、その演算ハンド
ルが入力されたことを確認するため、68においてのよ
うに、ジョブ・テーブル64の中でその演算ハンドルを
調べる。入力が発見されない場合、エラー・メソセージ
がクライアントに戻される。ただし、演算ハンドルが発
見された場合、Loca te手続きは、71において
示されている通り、データベース・サーバが識別された
位置にデータベース演算63のための結果ファイル66
を制定するようにさせる。
すでに説明した通り、データベース演算63は、標準出
力装置を通して、その特定の演算のための結果ファイル
66に、その結果(作っている進捗の実行−サーバー推
定を含む)を伝送する。次に、Loca te手続きは
、結果ファイル66から現行の実行−サーバー推定を、
72において示されているような、文書ファイルおよび
/またはファイル位置のような、利用することができる
その他の結果と共に読出す。その後、その手続きは、7
3においてのように、次の手続きのための演算ハンドル
を作り、74において示されているように、そのハンド
ルと現行の実行−サーバー推定をジョブ・テーブル64
に入力する。最後に、Loca le手続きを完了させ
るため、結果がクライアントに戻される。
結果は、代表的には、データベース・サーバ・エラーが
発生していないときは「ノー・エラー」値(例えば、0
)を有するエラー・コード、上記に挙げた実行−サーバ
ー推定の最新化された値のための整数コード、戻される
結果の数の整数コード(「整合の数」と呼ばれることが
ある)、次の手続きのための8−ビット演算ハンドル(
このハンドルはまた、特定の呼出しに応えて戻されてい
る結果の数を識別する)で構成される結果ストリーム中
でクライアントに適当に戻される。その上、クライアン
トが規定した結果タイプに基づき、戻される整合に対応
する文書ハンドルのリスト、サーバ・ファイル位置およ
び/またはサーバ・ファイル位置とファイル長さを、戻
される結果に含めることができる。クライアントは、ク
ライアントに戻された演算ハンドルを解釈しない。それ
よりも、クライアントは、ハンドルと共に戻された実行
−サーバー推定がデータベース演算63が終了したこと
を示しているか否かに基づいて、データベース演算63
から、または、データベース演算63を終了させるため
のRe1easeOp手続きからその他の結果を得るた
め、ハンドルをLoca teMore手順に伝えるだ
けである。
2、  LocateMore手続き すでに説明した通り、この手続きは、追加結果を得るた
め、または、同じもしくは異なった結果タイプ・フィル
ターを使用してすでに戻された結果を検討するために使
用される。その目的のため、Loca teMore手
続きは下記のアーギュメントを取る:演算ハンドル(“
LocateMoreArgas、 handle”)
、整数結果バッツ7’サイズ(” LocateMor
eArgas。
BufferSize’)、整数結果タイプ(Loca
 teMoreArgas+resultType”)
 。LocateMore手続きは、68においてのよ
うに、ジョブ・テーブル64を点検するためにその手続
きに届けられた演算ハンドルを、データベース演算63
のための結果ファイル66の位置付けのために使用する
。そのため、この手続きは、72においてのように、結
果ファイル66から新しい結果を読み出し、73におい
てのように他の1つの演算ハンドルを作り、74におい
てのようにジョブ・テーブル64を最新化し、Loca
 te手続きに関してすでに説明した方法と本質的に同
じ方法で結果をクライアントに戻すことができる。
3、Re1easeOp手続き この手続きは、データベース演算を終了させるため、お
よび、関連演算ハンドルを無効にさせることによって、
特定の演算のために結果ファイル66に割り当てられた
メモリー資源をデータベース・システム51が解放する
ことができるようにさせるために呼出される。この手続
きは、データベース演算が完了する前または後に呼出す
ことができるので、クライアントのオプションによって
演算を放棄するために使用することができる。
Re1easeOpは、アーギュメントとして、ターゲ
ットとしたデータベース演算(すなわち、終了させなけ
ればならないデータベース演算)のための演算ハンドル
を取るので、Re1easeOρは、75と76におい
て示されている通り、ジョブ・テーブル64の中で調べ
ることによって、その演算のための結果ファイル66の
位置決めを行うことができる。ターゲットとされたデー
タベース演算のための現行の実行−サーバー推定が、7
7においてまだ演算が実行されていることを示す場合、
Re1easeOp手続きは78におけるその演算のた
めの子プロセスを放棄させる。さらに、ターゲットとさ
れたデータベース演算が完成したか否かに係わらず、R
e1easeOp手続きは、79においてのように、そ
の結果ファイル66を削除し、80においてのように、
そのターゲットとされた演算のための入力をジョブ・テ
ーブルから取り除く (その演算ハンドルを無効化する
)。
B1代表的なりライアント・アプリケーション・プログ
ラム 第6図を参照すると、クライアント・アプリケーション
52−54 (第4図)が、81においてのように、そ
のクライアント・アプリケーションのために実行される
ことになる演算63(第5図)のような、各データベー
ス演算のためのRPCアーギュメントを支給することが
回想されるであろう。したがって、データベース演算を
開始するためには、所望のデータベース演算の名称(例
えば、NewDocDese ” 、  ” Desc
riptionSearch″“Render″等)を
含め、クライアントが規定したRPCアーギュメントを
主サーバ・プログラム55(第5図)に通すため、82
において、Loca te手続き(第5図)が呼出され
る。RPCエラーが発生しない場合、主サーバ・プログ
ラム55は、命名されたデータベース演算を実行するた
めの実行可能なプログラムがデータベース・サーバのプ
ログラム・ディレクトリ−によってリストされているか
否かを決定するための演算名称アーギュメントを取る。
規定された演算プログラムのためにディレクトリ−・リ
ストが発見された場合は、上記の通り、命名されたデー
タベース演算が呼出される。反対に、リストが発見され
ない場合、または、83において決定される通り、サー
バ・エラーが発生したことを示すエラー・コードがLo
ca te手続きによって戻された結果に含まれている
場合、このクライアント・プログラムは、84において
のようにエラー・メツセージを出力した後、ニゲジフト
する。
Loca te手続きが有効な結果を戻した場合、クラ
イアント・プ・ログラムは85において戻された整合の
数を出力した後、86において示されている通り、戻さ
れた結果のリストを処理する準備を行う。「整合の数の
み」結果タイプをクライアントが規定した場合は空であ
るが、このリストは、すストされたすべての結果の処理
が終わったか否かを決定するため、87において点検を
受ける。処理が終っていない場合は、リスト上の次の結
果のための“id”すなわちハンドルが88において抽
出され、その後、その結果は、抽出されたハンドルによ
って識別された文書のためのファイル位置を含んでいる
か否かを決定するため、89において点検を受ける。処
理が終わっている場合は、91において示されている通
り、クライアントは、データベース演算が不完全なこと
があり、主題文書がデータベース演算の究極の作業結果
の部分的な表示にすぎないことがあっても、規定された
ファイル・サーバ44 (第4図)を経由してデータベ
ース・システム59内の主題文書にアクセスするために
そのファイル位置を使用することができる。Locat
e手続きによって戻されたすべての結果の処理が終わっ
たことをクライアント・プログラムが87において確認
した後、クライアント・プログラムは、92においての
ように、作業ベンディングの実行−サーバー推定を点検
し、その後、要求されたデータベース演算が完了したか
否かに基づいてRe1easeOp RP C96また
はLoca teMoreRPC97のいずれかを作る
さらに特定すると、さらに実行しなければならない作業
をデータベース演算が持っている場合、クライアント・
プログラムは、101においてのように、Locate
More RP C97を作る前に休止することにより
、その後の結果を作るための追加時間をデータベース演
算に与える。休止101の継続時間は、102において
決定される通り、その他の結果を利用することができる
ようになるまでの時間の推定が含まれている場合、事前
の呼出しに応じて戻された実行−サーバー推定によって
決定される。そうでない場合、所定の休止時間103が
使用される。適当な1II1間休止した後、クライアン
ト・プログラムは、104において示されている通り、
事前の呼出しに応えて戻された結果から、次の呼出しの
ための演算ハンドルを抽出する。その後、そのハンドル
は、LocateMore RPC97のアーギュメン
トとして、Loca teMore手続き(第5図)に
届けられる。
要求されたデータベース演算の結果すべてを得るために
、クライアントがいくつかのLoca teMoreR
PC97を作らなければならないことがある。
したがって、核Loca teMore手続きによって
クライアントに戻された部分的結果が、上記の通り、1
、ocate手続きによって戻された部分的結果の処理
に関して処理されることを理解しなければならない。こ
のことは、クライアントが、Locate結果がら抽出
する場合と同じタイプの情報をLoca teMore
結果から抽出することができることを意味する。
普通の過程においては、クライアント・プログラムは、
要求されたデータベース演算がその作業を完了した子と
を先ず92において決定し、次に、その特定の演算のた
めの結果ファイル66を削除し、ジョブ・テーブル64
から関連入力を取り除くためにRe1easeOp R
P C96を作った後に終了する(第5図参照)。
C0代表的なデータベース演算プログラム第5図に示さ
れている通り、すべてのデータベース演算プログラム6
3は、主サーバ・プログラム55の子プロセスとして呼
出される。その結果、特定のクライアント・アプリケー
ションおよび/またはユーザの独特な要件を満足させる
ために設計されたデータベース演算を実行するために誂
えられたプログラムとして、データベース・サーバに別
のデータベース演算プログラムを容易に追加することが
できる。事実、データベース演算プ■コグラムの種類を
、事実上無制限にすることができるので、一部の代表的
な例を提供するため、い(つかの基本的データベース演
算プログラムを説明することにする。
クライアント・アプリケーション52−54(第5図)
によって、様々なデータベース演算のためのアーギュメ
ントを、主サーバ・プログラム55に都合よく伝えるこ
とができる。Loca teMore手続きとRe1e
aseOp手続きは比較的少数のアーギュメントを取る
ので、そのような手続きのアーギュメントのMi織は比
較的重置である。ただし、Loca te手続きはもっ
と多数のアーギュメントを取るため、Loca te手
続きの適当な組繊をf’J ?Mに規定することが役に
立つであろう。理解される通り、有利なことに、Loc
a te手続きのための初期アーギュメントの一つには
、クライアントが実行したいと望むデータベース演算の
ためのプログラム名が含まれている。その後、そのアー
ギュメントの後に、プログラム・アーギュメント(すな
わち、命名されたデータベース演算プログラムにサーバ
・プログラム55が届けるアーギュメント)が続き、次
に、その後に、クライアントのために翻訳しなければな
らないデータベース文書のハンドルのような、その後の
クライアント要件を識別する追加手続きアーギュメント
、クライアントとの間で文書をやり取りするための受諾
することができるサーバおよび/またはファイル伝送プ
ロトコル(利用することができるいずれかのサーバとフ
ァイル伝送プロトコルが受諾することができるものであ
る場合、このストリングは空であることがある)、ター
ライアントが使用するかクライアントが受諾することが
できる文書コード化フォーマット (それぞれ、記憶ま
たは翻訳しなければならない文書のための)と、クライ
アントが要求した結果タイプが続く。
1、データベースに対する文書と記述の追加第7図には
、クライアントが、新しい文書および/または新しい記
述を、それぞれ外形データベースと記述データベースに
追加することができるようにするためのNewDocD
escプログラム63aが示されている。その目的のた
め、クライアントがこのプログラムのサービスを要求す
る場合、NewDocDescは、131と同様に、ク
ライアントが規定した文書および/または記述ファイル
132を一時フアイル133中にコピーする。このコピ
ーによって、136と同様にサーバが作った記述フィー
ルドはクライアントが供給した記述フィールドと併合す
る。その後、新しい文書および/または記述ファイルは
、137において、−時ファイル133からさらに永久
的なデータベース・ファイル位置59に伝送される。図
示された実施例においては、143と同様に、データベ
ース記述インデックス142を新しい記述の内容で最新
化するため、子プロセスは141において親NewDo
cDescプロセスから呼び出され、その後、子プロセ
スは終了される。その上、記述インデックス142が最
新化されている間、親プロセスは、145において示さ
れている通り、演算結果ファイル66中に新しく追加さ
れた文書および/または記述の識別ハンドルとファイル
位置を記録した後、親プロセスは終了する。
新しい文書をデータベースに追加しなければならない場
合において、代表的な場合、NewDocDescプロ
セスのためのプログラム・アーギュメントの中の第1の
ストリングは文書のコピーをクライアントが利用すると
きのファイル名であり、次のストリングは空である。さ
らに、文書と記述の両方をデータベースに追加しなけれ
ばならない場合、両方のストリングの後に別の空ストリ
ング、または、新しい記述に含めなければならない記述
ファイルの名称のいずれかが続く。データベース内に現
存する記述のためにクライアントが規定した探索ドメイ
ンを次のストリングに含めることができ、そのストリン
グの後に、残りのプログラム・アーギュメントすべてが
、現存する記述中に挿入しなければならないクライアン
トが規定した属性名称と値のベアであることを示す空ス
トリングを続けることができる。また別の例を提供する
ため、すでにデータベース内に常駐する文書のために新
しい記述を追加する場合、プログラム・アーギュメント
は、現存する文書または常駐文書のハンドルを追加して
規定するが、その他の点では、プログラム・アーギュメ
ントは、−aに、新しい文書を追加する場合と同じであ
る。
NewDocDescデータベースの演算を実施する間
、データベースは、クライアントが供給した(すなわち
、現存する文書のための新しい記述を追加するため)文
書ハンドルをベリファイする(図示されていない手段で
)か、または、クライアントが命名したファイルから新
しいデータベース文書を作る。さらに、データベースに
新しい文書が追加される場合は常に、凭−バは、その文
書のための独特なハンドルおよび/またはファイル位置
を、ハンドルおよび/またはファイル位置がクライアン
トに戻されたか否かを決定する、クライアントが規定し
たと共に、主サーバ・プログラム55(第5図)に戻す
データベースに新しい文書記述が追加される場合は常に
、サーバは、新しい記述の下記のフィールドを完成させ
る:  DesclD、 Th1sDesclD、 D
escCreateDate、 DescCreato
r、 DoclD、 DocFormat(新しい文書
のための記述にのみ追加される)。
その上、データベースに新しい記述を追加する間、サー
バは、フライアンl−が命名した記述ファイルからのフ
ィールドはもちろん、プログラム・アーギュメント中の
属性からのフィールドをサーバに付加する。有利なこと
に、データベース中には各記述の可変バージョンと不変
バージョンが記憶されているので、そのような記述を作
った後、サーバは、可変バージョン(例えば、Desc
lD )と不変バージョン(例えば、Th1sDesc
ID )の両方のための文書ハンドルおよび/またはフ
ァイル位置を戻す。
2、 データベース探索 第8A図と第8B図に示されている通り、クライアント
が規定した1つまたは複数の探索パターンとの整合のた
め、クライアントが規定した探索ドメイン(例えば、命
名されたデータベース)内に位置するデータベース記述
の、クライアントが規定した1つまたは複数のフィール
ドを探索するため、また、DescriptionSe
arch演算がある。代表的な場合、「パターン・タイ
プ」アーギュメントは、パターン整合の様々な程度を規
定する探索照会をクライアントが制定することができる
ようにするために使用される。例えば、正確な整合が要
求されていることを示すために、「均等な」検索タイプ
・アーギュメントを使用することができ、規定された探
索パターンが前置した整合を識別するために「前置」ア
ーギュメントを使用することができ、また、探索パター
ン内で何ががいずれがのワイルドカード(“*”)と整
合していることを示すために、「ワイルドカード」アー
ギュメントを使用することができる。
代表的な場合、この演算のための処理プログラム・アー
ギュメントは探索ドメインであり、残りのプログラム・
アーギュメントは、探索照会中に内蔵された次々の「探
索フィルター」のためのパターン・タイプ、フィールド
名と探索パターンを規定する3−ビット・バイトである
のが好都合である。予期される通り、上記で説明した結
果タイプ・アーギュメントは、戻された結果をクライア
ントの具体的なニーズに合わせて誂えることができるよ
うにするので、データベース探索を行う間、特に有利で
ある。
第8A図を詳細に調べると、クライアントがクライアン
トの探索照会内に複数の探索パターンを規定したか否か
を決定するため、DescriptionSearch
プログラム150が、121においてそのプログラムの
アーギュメントを点検することが示されている。1つだ
けの探索パターンが規定されている場合、データベース
のための記述インデックス(第7図)のクライアントが
規定したフィールドは、整合のため、152において探
索され、整合記述の識別ハンドルとファイル位置は、結
果ファイル66 (第5図)への記録のため、153に
おいて出力される。ただし、探索照会が複数の探索パタ
ーンを規定した場合(すなわち、第2またはより高い順
位の結果のフィルタリングが必要である場合) 、5e
archFilterプログラム161(第8B図参照
)を呼び出すため、155において、親プロセスから子
プロセスがフォークされる。
その後、親DescriptionSearchプログ
ラム150は、第1の探索パターン(すなわち、第1順
位のフィルターリング)に整合している記述のために探
索142を行うが、5earchF i l terプ
ログラム161による追加フィルタリングのため、gl
lDescription 5earchプログラム1
50は、153において示されている通り、発見した整
合記述のハンドルとファイル位置を出力した後に終了す
る。
第8B図に示されている通り、探索結果の高順位フィル
タリングを実行するため、5earchF i l t
erプログラム161は、探索照会の順番の高順位探索
フィルターにしたがって、DescriptionSe
archプログラム150から受けとった部分的結果を
フィルターする。その目的のため、探索照会に1つだけ
の追加探索パターン(すなわち、それまでに結果に対し
て突き合わされたことがない探索パターン)しか含まれ
ていないことが162において決定された場合、5ea
rchF t l terプログラムは、このすでに突
き合わされたことがないパターンに対して試験しなけれ
ばならない部分的結果が存在するか否かを決定するため
、163において点検する。部分的結果がない場合、プ
ログラムは終了する。ただし、1つまたは複数の記述が
低い順位のフィルタリング(すなわち、第1順位のフィ
ルタリング)を満足させる場合、そのような記述の次々
のハンドルとファイル位置が165において入力される
ので、次に高い順位のフィルターを対応記述が満足させ
るか否かを決定するため、166において対応記述を再
試験することができる。高い順位のフィルターと整合す
る記述のハンドルとファイル位置は、結果ファイル66
中に記録するため、または下記に説明する通り、探索照
会が探索結果のそれ以上のフィルタリングを要求してい
るか否かに応じて、5earchFilterプログラ
ム161によってさらにフィルターするため、167に
おいて出力される。
探索の結論を出すため、5earchP i I te
rプログラム161のいくつかの再帰を要求することが
できる。さらに具体的にいえば、探索照会が、1つまた
は複数の高い順位の探索パターンに従ってDescri
ptionsearchプログラム150の結果のフィ
ルタリングを要求していることが162において決定さ
れた場合は、上記の通り、次に高い順位の(すなわち、
第2順位)探索フィルターを満足さ゛せる記述のため、
5earchFilterプログラム161が、第1順
位のフィルター済み結果をスクリーンする。ただし、こ
の状況において、5earchFilterプログラム
が167において出力する結果はまだ部分的にしかフィ
ルターされていないため、プログラムは、169におい
て示されている通り、自身を再帰的に呼出すため、16
8において子プロセスをフォークする。5earchF
 i 1 terプログラムの再帰は、記述が次に高い
順位の探索フィルターを満足させるか否かを決定するた
め、対応記述に連続的にアクセスするために親5ear
chF i l terプログラム161が167にお
いて出力したハンドルとファイル位置を次々に利用する
。その結果、この高順位のフィルタリングを満足させる
ことが発見された記述のハンドルとファイル位置は、結
果ファイル66中に記憶させるための完全にフィルター
された結果、または、5earchF if terプ
ログラム161のその後の再帰のための部分的にフィル
クーされた結果のいずれかとして出力される。認められ
る通り、探索結果が結果ファイル66中に記録されるの
は、対応記述が探索照会に忠実に応答したことが確認さ
れた後に限られるが、完全にフィルターされた結果の一
部は、他の部分的にフィルターされた結果が試験されて
いる間に、クライアントに戻すために利用することがで
きる。
3、文書外形の検索 次に第9図を参照すると、翻訳演算170は、データベ
ース中の対応文書の位置決めのために文書ハンドルを使
用し、必要であり可能であれば、クライアントが要求し
た表示または「翻訳」にその文書を伝送する。最初のア
ーギュメントが演算プログラム名(「翻訳」)を定め、
次のストリング・グループには翻訳演算のためのオプシ
ョナル・プログラム・アーギュメントが含まれている(
また、示されている通り、省略翻訳プロセスを使用する
ことをユーザーが希望する場合、空とすることができる
)。この演算のための代表的結果タイプ・オプションに
は、翻訳された文書のファイル位置の戻し、規定された
変形を実行するが変換は実行しないために要求される時
間の推定の戻しと、ファイル位置を伴うファイル長さの
戻しが含まれる。
図示されている通り、翻訳演算プログラム170が呼出
された場合、子のプログラムは先ず、プログラム名に続
く第1のアーギュメントが専門化された翻訳プログラム
すなわち誂えられた翻訳プログラム172を規定してい
るか否かを決定するため、171において点検する。専
門化された翻訳プログラム172が規定されている場合
を除き、翻訳演算は、省略プロセスを呼出す。省略プロ
セスの間に、翻訳演算は、対応文書のデータベースに記
憶された翻訳の位置を173と同様に決めるために、ク
ライアントが提供した文書ハンドルを使用する(すでに
記載した通り、データベースは、同じハンドル名の下に
、同じ文書の複数の翻訳を含むことができる。これは、
すべての翻訳が、例えば24時間のような所定の期間の
間、記憶されるからである)。その後、このプロセスは
、174と同様に、このプロセスが位置付けした翻訳の
フォーマットを、クライアントが規定した翻訳フォーマ
ントに対して比較する。受諾することができるフォーマ
ットを有する翻訳が記憶されていることが発見された場
合、そのファイル名と位置が、プロセス結果ファイル6
6中への記録のため、175において出力され、その後
、翻訳プログラム170は終了する。反対に、受諾する
ことができる書式の翻訳が発見されない場合、翻訳プロ
グラム170は、177と同様に、利用することができ
る翻訳のいずれかをクライアントが要求するフォーマッ
トに変換することができるか否かを決定するため、調査
テーブルを点検する。翻訳することができない場合、翻
訳プログラム170は、178と同様に、「翻訳不能」
エラーを報告した後、終了する。もちろん、要求される
場合、翻訳プログラム170に追加変換を追加すること
ができるので、追加変化が含まれていることを保証する
ために十分な頻度で変換が要求される場合、追加変換を
提供することができ、追加変換を含めるために調査テー
ブルを最新化することができる。
クライアントのためにフォーマント変換文書の翻訳を準
備するため、図示された省略翻訳プロセスは、変換され
た翻訳のためのサーバ割り当てファイル名が付いた一時
フアイル180をデータベース・サーバに作らせる。こ
の−時ファイルの名称と位置は、結果ファイル66中に
記録するため、181において出力される。その後、外
形データベース24(第3図)から変換しなければなら
ない文書を省略プロセスが検索し、183において、所
要のフォーマットへ変換させ始める。文書の、フォーマ
ットされ、変換され、コード化された表示は、作られて
いる間に一時フアイル180中に書き込まれるので、文
書が十分に変換される前であっても、クライアントは変
換の部分的結果を利用することができる。変換183が
完了すると、翻訳プロセス170は、結果ファイル66
中への記録のため、変化の完了を報告し、186におい
て示されている通り、変換された翻訳を外形データベー
ス(第3図)の記憶メモリ一部分41に記憶する。
個々のユーザーまたはユーザー・グループは、自己が検
索する翻訳を自己の要件に合わせて誂えるため、専門化
された翻訳プログラム172を使用することができる。
翻訳は「適時」方式で作ることができるので、外形デー
タベース24(第3図)のために過度の文書記憶容量を
必要とすることなく、事実上無制限の種類の翻訳を提供
することができる。事実、ユーザ/クライアントは、ユ
ーザが翻訳を見たいと願う異なった環境状態、または、
異なった出力装置が置かれている環境状態に対して幾分
なりと最適化された翻訳を作るために、異なった時にお
いて異なった専門化翻訳プログラム172を呼出すとい
う、翻訳プログラム170の「適時」翻訳能力を利用す
ることができる。
例えば、文書のビットマツプ翻訳を誂えるために、比較
的率直な専門化翻訳プログラム172を提供することが
できる。代表的な場合、この翻訳オプションは、プログ
ラム・アーギュメントの第1のストリングとして、その
オプションの名称(すなわち、「ラスタシュリンク」)
を規定することによって呼出されることになる。そのオ
プションはまた、誂えられたビットマツプ翻訳の最適、
最低と最高のピクセル内容をx、  yと2軸に沿って
規定するため、9つのその他の整数アーギュメント (
独立した10進八5CIIストリングとしてコード化さ
れた)を必要とすることになる。ラスタシュリンク翻訳
オプションは、そのようなアーギュメントを、下記の順
序で解釈することができる:  width、 hei
ght、 deptb、 m1nWidth、 min
lleight。
m1nDepth、 maxWidth、 maxHe
iHhtとmaxDapth 。
その場合・アーギュメント(render、 rast
ershrink+150、150.1.64.64.
1.200.200.1)を伝えることによって、(6
4x64xl)と(200x200xl)の間のビクセ
ルを含むxyz境界ボックスを有するビットマツプ翻訳
を準備するために、翻訳演算プログラム170が要求さ
れることがある。xyz境界ボックスの望ましいサイズ
は、(150x150xl)ピクセルであると規定され
ている。
D、ユーザ・インターフェイスの倒 木発明を利用するため、様々なユーザ・インターフェイ
スを使用することができる。データベース・システムの
特定の用途のために、一部のユーザ・インターフェイス
を専門化することができ、他のユーザ・インターフェイ
スをさらに一般化したものとすることができる。下記に
いくつかのウィンドウ型インターフェイスを説明するが
、それらの例は、少数のインターフェイス・オプション
を図示するだけであることを理解しなければならない。
第10図は、Sunワークステーションのユーザが、(
a)関連入力スキャナーをセットし、走査人力された映
像のビットマツプ表示を1つのウィンドウ202内で見
ること、(b)常駐文字認識プロセスのためのオプショ
ンをセットし、認識されたテキストを第2のウィンドウ
203内で見ること、および、((J新しい文書および
/または新しい記述を本発明のデータベースに入力する
ためのオプションをセントし、そのような外形の、サー
バを作りクライアントが規定したフィールドを、第3の
ウィンドウ204内で見ることができるようにするため
に、Sun [In1x ”5untools”環境に
おいて実行されるユーザ・インターフェイス201を示
す。
次に、第11図は、他の1つのユーザ・インターフェイ
ス211を示す。このユーザ・インターフェイス211
は、Sun Unix  5untools″環境を基
礎としており、ユーザが、(a)本発明のデータベース
に探索照会を入力し、探索の結果をスプリット・ウィン
ドウ213の上部212にデイスプレーすること、(b
l照会突き合わせ記述をウィンドウ213の下部214
内で走りまたは拾い読み(ブロース)すること、および
、(C)対応文書外形を他のウィンドウ215内でデイ
スプレーすることができるようにする。
第12図は第11図に類似しているが、ただし、ユーザ
・インターフェイス221はSmalltalk−80
環境内で実行されることと、完全な解像度とサイズでデ
イスプレーする(すなわち、翻訳する)だけ十分な興味
があるか否かを決定するためなどの目的で、222にお
いてのように、縮小された解像度/縮小されたサイズの
外形の表示をプレビューする機会をユーザに与えるとい
う追加機能を有していることが第11図とは相違してい
る。
結論 上記を考慮すれば、本発明が、異なった文書コードフォ
ーマットを利用する計算環境にコンピュータ・ユーザが
属している場合であってさえ、コンピュータ・ユーザが
、電子文書を人間の知覚レベル(すなわち、外形レベル
)において交換し、共有することができるようにするこ
とが理解されるであろう。必要なフォーマット変換はす
べて、ユーザ・クライアントの局部計算資源に負荷を課
すことなく、また、クライアント・アプリケーションの
側にユーザが翻訳したいと望む文書のコードフォーマッ
トに関する先旦麹左知識を要求することなく、ユーザ・
クライアント・アプリケーションのために実行される。
さらに、提供される翻訳は、一般に、翻訳される文書の
オリジナル外形に忠実であるため、原文書の精神物理学
的に重要な情報内容を木質的に保存する。
また、本発明を実行するために提供された遠隔手続き呼
出しプロトコルが、クライアントが、クライアントが呼
出した遠隔手続きの完了を待つことを要求され′ること
なく、クライアントが呼出した遠隔手続きの部分的結果
を迅速に取得することができるようにすることが認めら
れるであろう。
遠隔手続き呼出しとともにクライアントに戻される実行
〜サーバー推定は、クライアントが、クライアントの個
々の要件を最高に満足させる参加レベルに基づいてクラ
イアントが呼出す遠隔手続きによって、クライアントの
参加を最適にすることができるようにする。
【図面の簡単な説明】
第1図は機能ブロック図であって、本発明の1つの局面
にしたがった、外形と記述としての文書の記録を示して
おり、文書と記述データの流れは実線で、演算アーギュ
メントの流れは右向き矢印が付いた破線で、結果データ
の流れは、左向き矢印が付いた破線で、それぞれ示され
ている。 第2図は機能ブロック図であって、本発明の他の局面に
従った記述データベース探索を図示するため、第1図の
場合と同じタイプの線を使用している。 第3図は機能ブロック図であって、本発明のまた別の局
面に従った文書外形の翻訳を図示するため、やはり、第
1図の場合と同じタイプの線を使用している。 第4図はブロック図であって、本発明の特定の実行を図
示している。 第5図はフローチャートであって、第4図に示された実
行のための主サーバを図示しており、プログラムの制御
流れは実線で、結果データの流れは破線で、ジョブ・テ
ーブル・アクセスは点線で、それぞれ示されている。 第6A及び6B図はフローチャートであって、第4図に
示された実行のための代表的なりライアント・アプリケ
ーション・プログラムを図示しており、プログラム制御
流れは実線で、データ流れは破線で、それぞれ示されて
いる。 第7図はフローチャートであって、第4図に示された実
行のデータベースに新しい文書および/または記述を追
加するためのNewDocDescを図示しており、プ
ログラム流れは実線で、結果データ流れは点線で、文書
データ流れは破線で、それぞれ示されている。 第8A図はフローチャートであって、第4図に示された
実行のためのDescriptionSearch演算
を図示しており、プログラム流れは実線で、データ流れ
は、単一探索パターンの場合が点線で、複数探索パター
ンの場合が破線で、それぞれ示されている。 第8B図はフローチャートであって、第4図に示された
実行のためのDescriptionSearch演算
を図示しており、プログラム制御流れは実線で、第2順
位とより高い順位のフィルタリングのためのデータ流れ
は点線と破線で、それぞれ示されている。 第9A及び9B図のフローチャートであって、第4図に
示された実行のためのDescriptionSBar
ch演算を図示しており、プログラム制御流れは実線で
、結果と文書データ流れは点線と破線で、それぞれ示さ
れている。 第10図は、本発明に従って文書を走査し、文書のテキ
ストを認識し、文書のテキストとその記述をデータベー
スに人力するためのユーザ・インターフェイス・ツール
を図示する。 第11図は、本発明に従って文書記述を探索し、そのよ
うな記述とそのような記述の対応外形をデイスプレーし
拾い読み(ブロース)するためのユーザ・インターフェ
イス・ツールを図示する。 第12図は、文書記述を探索、デイスプレー拾い読み(
ブロース)するため、および、大きさと解像度の異なる
文書外形をデイスプレーし、拾い読み(ブロース)する
ためのユーザ・インターフェイス・ツールを図示する。

Claims (1)

  1. 【特許請求の範囲】 別種のハードウェア構成と別種のソフトウェア演算環境
    を有するコンピュータ上で実行されているクライアント
    ・アプリケーションとインターフェイス接続され、上記
    コンピュータ中の各異なったコンピュータは完全にフォ
    ーマットされた電子文書の読み出しと書き込みのために
    いくつかの異なったコードフォーマットを利用している
    データベース・システムにおいて、 上記クライアント・アプリケーションのいずれかの要求
    に基づいて上記コードフォーマットのいずれかに書き込
    まれた電子文書を記憶するための外形データベースと、 上記クライアント・アプリケーションのいずれかの要求
    に基づいて上記データベースに記憶された電子文書のい
    ずれかにアクセスするために上記データベースに結合さ
    れている翻訳手段とで構成されており、上記翻訳手段に
    は、上記データベースに記憶された、少なくともいくつ
    かの文書のコードフォーマットを、利用中のコンピュー
    タ上で実行されているクライアント・アプリケーション
    のための他のコードフォーマットに変換する手段が含ま
    れ、上記他のコードフォーマットを利用しているコンピ
    ュータによる検索のために、上記文書の精神物理学的に
    等価である翻訳を提供することを特徴とするデータベー
    ス・システム。
JP2045364A 1989-03-03 1990-02-26 データベース・システム Pending JPH02297229A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31858789A 1989-03-03 1989-03-03
US318587 1989-03-03

Publications (1)

Publication Number Publication Date
JPH02297229A true JPH02297229A (ja) 1990-12-07

Family

ID=23238798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2045364A Pending JPH02297229A (ja) 1989-03-03 1990-02-26 データベース・システム

Country Status (3)

Country Link
EP (1) EP0388050B1 (ja)
JP (1) JPH02297229A (ja)
DE (1) DE69030833T2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778380A (en) * 1994-03-24 1998-07-07 Ncr Corporation Intelligent resource transformation engine for translating files
WO1996013781A1 (en) * 1994-10-31 1996-05-09 Moore Business Forms, Inc. Method and system for checking print orders for short run printing applications
EP0731414A1 (en) * 1995-03-09 1996-09-11 Ncr International Inc. An information retrieval system
GB2293036B (en) * 1995-09-08 1996-09-04 Omnimedia Plc System for providing information in compatible formats
FI115566B (fi) 1997-06-02 2005-05-31 Ericsson Telefon Ab L M Menetelmä ja järjestely selailuun
JP5220974B2 (ja) 1999-10-14 2013-06-26 ブルアーク ユーケー リミテッド ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58165161A (ja) * 1982-03-25 1983-09-30 Fujitsu Ltd 簡易デ−タ・ベ−ス・システム
JPS63109551A (ja) * 1986-10-28 1988-05-14 Nec Corp 異機種間異種デ−タベ−ス転送方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58165161A (ja) * 1982-03-25 1983-09-30 Fujitsu Ltd 簡易デ−タ・ベ−ス・システム
JPS63109551A (ja) * 1986-10-28 1988-05-14 Nec Corp 異機種間異種デ−タベ−ス転送方式

Also Published As

Publication number Publication date
EP0388050A2 (en) 1990-09-19
DE69030833T2 (de) 1997-12-04
EP0388050B1 (en) 1997-06-04
EP0388050A3 (en) 1993-03-10
DE69030833D1 (de) 1997-07-10

Similar Documents

Publication Publication Date Title
US5210824A (en) Encoding-format-desensitized methods and means for interchanging electronic document as appearances
US8271512B2 (en) Presenting digitized content on a network using a cross-linked layer of electronic documents derived from a relational database
Cornillon et al. OPeNDAP: Accessing data in a distributed, heterogeneous environment
CA1273714A (en) Method and system for retrieval of stored graphs
US7970599B2 (en) Translation leveraging
US6449620B1 (en) Method and apparatus for generating information pages using semi-structured data stored in a structured manner
US6581062B1 (en) Method and apparatus for storing semi-structured data in a structured manner
US6553367B2 (en) Method for obtaining a unified information graph from multiple information resources
EP0753821B1 (en) Information management apparatus providing efficient management of multimedia titles in a client-server network
US7246114B2 (en) System and method for presenting a query expressed in terms of an object model
KR960014180B1 (ko) 양방향 그래픽스 속성 변환 시스템 및 방법
EP1128277A2 (en) Data processing method and system, program for realizing the method, and computer readable storage medium storing the program
US7272792B2 (en) Kana-to-kanji conversion method, apparatus and storage medium
JP2001142908A (ja) 文書検索のための方法、装置及びシステム、記録媒体
US7913164B1 (en) Serving an image in multiple formats from a photohosting website
JP3651768B2 (ja) 文書ファイル検索システム
JPH02297229A (ja) データベース・システム
JP3671765B2 (ja) 異種情報源問い合わせ変換方法及び装置及び異種情報源問い合わせ変換プログラムを格納した記憶媒体
JP3998794B2 (ja) ブラウジングクライアントサーバーシステム
JP2009193200A (ja) 文書管理システム、端末装置、文書管理方法およびプログラム
JP3560258B2 (ja) フォーマット変換装置
JP2001084169A (ja) 文書データベースアクセス装置
JPH11232301A (ja) 画像データベース異種性解消検索方法および装置と画像データベース異種性解消検索プログラムを記録した記録媒体
CN117271576A (zh) 一种查询优化方法、存储介质与计算机设备
JP2004021672A (ja) 文書管理システム、文書管理方法、プログラムおよび記録媒体