JP4585039B2 - アプリケーションからの視覚的形式の情報をデータベースに格納しデータベースから検索する情報格納および検索システム - Google Patents

アプリケーションからの視覚的形式の情報をデータベースに格納しデータベースから検索する情報格納および検索システム Download PDF

Info

Publication number
JP4585039B2
JP4585039B2 JP2010047785A JP2010047785A JP4585039B2 JP 4585039 B2 JP4585039 B2 JP 4585039B2 JP 2010047785 A JP2010047785 A JP 2010047785A JP 2010047785 A JP2010047785 A JP 2010047785A JP 4585039 B2 JP4585039 B2 JP 4585039B2
Authority
JP
Japan
Prior art keywords
data
database
metafile
report
text
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2010047785A
Other languages
English (en)
Other versions
JP2010170568A (ja
Inventor
ナグラル,アジト・エス
ブッシュ,フィッツヒュー・ゴードン,ザ・サード
ベイアテス,エドワード・ローレンス
グレゴリー,ケアリー・エドウィン
ドスサントス,カール
カウルグド,ミリンド・エム
Original Assignee
ニュージェネシス・テクノロジーズ・コーポレーション
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26754797&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP4585039(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by ニュージェネシス・テクノロジーズ・コーポレーション filed Critical ニュージェネシス・テクノロジーズ・コーポレーション
Publication of JP2010170568A publication Critical patent/JP2010170568A/ja
Application granted granted Critical
Publication of JP4585039B2 publication Critical patent/JP4585039B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/913Multimedia
    • Y10S707/915Image
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/917Text
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Description

本発明は、情報格納および検索システムに関するものであり、特に、アプリケーションからの視覚的形式の情報をデータベースに格納しデータベースから検索する情報格納および検索システムに関する。
一般に、コンピュータプログラムは、多種のフォーマットでデータを保持する。通常、生データが永続的に格納される各コンピュータプログラムに対し、一意の、一般にプロプラエタリ(proprietary)の一つのフォーマットがある。このフォーマットは、通常、実際に格納される情報の量を低減するよう、場合によっては、第三者がデータにアクセスする能力を制限するよう設計されている。このフォーマットのデータは、概して、コンピュータプログラムの「保存(save、セーブ)」ファンクションによって生成される。セーブファンクションは、生データをフォーマットし、そのフォーマットされた生データは、コンピュータプログラムが設計されている対象のオペレーティングシステムによって定義される「ファイル(file)」と呼ばれる更に他のフォーマットで、格納される。コンピュータプログラムによって処理されているデータは、「データ構造(data structure)」と呼ばれる一般にプロプラエタリの別のフォーマットで格納され、このデータは概してそのコンピュータプログラムの実行中に揮発性または作業メモリに格納される。通常、データ構造は、データを表現するために必要なメモリの量を最小限にする一方で、データがコンピュータプログラムによって効率的に処理されることができるように設計されている。
多くのコンピュータプログラムを用いるとき、ユーザの立場から最も有用なデータの形式は、その視覚的形式、例えば、コンピュータディスプレイに表示されるものまたは印刷されるもの等である。しかしながら、このデータの形式はしばしば、それがプリントされそのプリントされた形式が電子的に走査されない限り、永久的または永続的な記憶装置に取込まれない。特に、コンピュータプログラムによって使用されるファイルフォーマットは、いくつかの理由によりしばしば視覚的形式でデータを保持しない。概して、視覚的形式のデータは、より多くの情報を表現する必要があり、表現する必要のある情報が少ない生データから再構成することができる。従って、概して、視覚的形式のデータを保存する必要は不要であると考えられている。
コンピュータプログラムによって生成される視覚的形式のデータの一部は、例えば、環境データ(日付および時間等)から又は処理中のユーザ選択のデータから生成され、ファイルフォーマットからは回復不可能であり、コンピュータプログラムのデータ構造からのみ回復可能である。データ構造によっては視覚的形式のデータを表すが、しばしば、プリント以外の方法で視覚的形式のデータを保持する機構が無い。オペレーションシステムによっては、「カット・アンド・ペースト(cut-and-paste)」オペレーションを用いて、表示されたデータを1つのコンピュータプログラムから他のコンピュータプログラムにコピーすることができるものもあるが、このオペレーションは概して、他のコンピュータプログラムが同じマシン上で動作中であることを必要とする。また、コンピュータプログラムによっては、ユーザが利用可能なこれらオペレーションを有していないものもある。いくつかのコンピュータプログラムについては、表示データではなくプリント形式のデータが最も有用であり、このオペレーションは、プリントされたデータに対するアクセスを提供しない。
コンピュータプログラムからの視覚的形式のデータが格納される場合であっても、コンピュータプログラムの新たなバージョンが使用される場合や、あるいはコンピュータプログラムがもはや使用できない場合には、そのデータへのアクセスが妨げられる。また、そのデータがプロプラエタリフォーマットで格納されている場合、他のコンピュータプログラムもそのデータにアクセスすることができない。
このようにコンピュータプログラムからの視覚的形式のデータにアクセスすることができないことにより、この形式のデータが複数のデータ源から複合文書を作成するために要求される時、特に、データが、複数の異なるユーザによって地理的に分散している複数の異なるコンピュータプログラムを用いてある期間にわたって生成され、使用され、共有されている場合に、多種の問題が発生する。特定の例として、製薬業界において、データが、非常に長い期間にわたって、地理的に分散した研究所の多くの実験器械から取得され、その後、例えば法規遵守に対しての報告書を作成するために組み合わされる場合がある。中央で、これら器械からの電子的な視覚的形式のデータにアクセスすることができないことにより、法規遵守に対してのかなりのコストが加わることになる。
かかる文書(ドキュメント)に対する共有される電子的なアクセスを提供するための電子的に走査するプリントされた文書には、いくつかの欠点がある。第1に、走査は、時間と人員の努力を含むかなりの資源を消費する。第2に、文書の生成と、他者が利用可能となるまでの間にかなりの時間的遅延が発生する可能性がある。第3に、走査によって作成されるビットマップ画像は、スケーリングされるか、回転されるか、または他の方法で変換される場合に、ゆがむことになる。第4に、走査された文書においてテキストのサーチを可能にするために、走査された文書を光学式文字認識(OCR)ソフトウェアによって処理しなければならない。
データの格納に伴う他の問題は、データが格納された時と、データが使用される時との間で、故意にまたは偶発的にデータの完全性が損なわれる(折衷される)場合があるということである。規制または行政の認可を得るためにデータが使用されている場合、そのデータの完全性はある程度保証されることが要求される。
視覚的形式のデータは、コンピュータプログラムから受取られ、データベースに格納されることが可能である。視覚的形式のデータは、例えば、コンピュータプログラムまたはオペレーションのカット・アンド・ペーストシーケンス等の他のオペレーションまたは他のアプリケーションへのデータの送出によるプリントオペレーションに応答して、受取ることが可能である。視覚的形式のデータは、スケーラビリティ(スケーリング性)を可能にするベクトル画像として格納することができる。視覚的形式のデータは、データベースのサーチを容易にするために、他の識別情報またはタグと共にデータベースに格納される。データベース内のデータは、データの完全性を保証し、データが折衷にされた時の検出を可能にする方法で符号化されることが可能である。1つの実施の形態では、データベースのデータの符号化および復号化を実行することによりデータベースへのアクセスを制御するためにサービスレイヤアプリケーションが提供される。サービスレイヤは、多くのアプリケーションがデータベースにアクセスすることができるようにするアプリケーションプログラミングインタフェースを有することができる。データベースからの視覚的形式のデータにアクセスするため、および他のコンピュータプログラムへこのデータを提供するために、別のアプリケーションが提供されてもよい。かかるアプリケーションにより、ユーザは、他のコンピュータプログラムを使用してデータベース内のデータから複合文書を作成することができる。
従って、以下では、本発明の態様のいくつかを単独であるいは或る組合せで表している。本発明の多種の態様は、コンピュータが実現するプロセス、コンピュータシステム、または具体的な情報記録または送信媒体に符号化されたコンピュータ読出し可能コードを備えたコンピュータプログラム製品とすることができる。本発明の更に他の態様は、一例としての実現方法の以下の詳細な説明およびそれに対する変更態様から明らかとなろう。
一態様において、視覚的形式の情報は、コンピュータ上で実行されるアプリケーションからデータベースに取込まれる。視覚的形式のデータは、アプリケーションから受取られる。その視覚的形式のデータに対応するタグもまた受取られる。ベクトル画像としての視覚的形式のデータおよびタグは、データベースに格納される。
他の態様において、コンピュータ上で実行されるアプリケーションからの視覚的形式のデータを格納するデータベースは、視覚的形式のデータに対応するタグとその視覚的形式のデータに対する参照を格納する第1のテーブルと、視覚的形式のデータをベクトル画像としてその視覚的形式のデータに対する参照と共に格納する第2のテーブルとを含むことができる。
他の態様において、1または複数のコンピュータ上で実行されるアプリケーションからの視覚的形式のデータがベクトル画像として格納されるデータベースが、アクセスされる。このデータベースは、1または複数のベクトル画像を識別するためにサーチすることができるものである。識別されたベクトル画像は、その識別されたベクトル画像に関連するタグに従ってソートされる。ユーザは、識別されたベクトル画像のうちの1または複数を選択することができ、それらはその後表示される。表示されたベクトル画像はスケーリングされることができ、そのスケーリングされたベクトル画像が表示される。選択されたベクトル画像内のテキストもまた、サーチすることができる。
他の態様において、視覚的形式のデータの選択された部分は、第1のアプリケーションから第2のアプリケーションにへ送られる。視覚的形式のデータの選択された領域の指示は、第1のアプリケーションにおいて受取られる。第2のアプリケーションの指示もまた、受取られる。データを第2のアプリケーションにペーストするための第2のアプリケーションにおけるキーストロークが、決定される。視覚的形式のデータの選択された領域を表すデータが決定され、第2のアプリケーションがデータをペーストするメモリ領域へ転送される。その決定されたキーストロークは、第2のアプリケーションへ送出される。
他の態様において、視覚的形式のテキストデータが、表形式構造に挿入するために、文字区切りされた(character delimited)テキストデータに変換される。視覚的形式のデータの選択された領域の指示が受取られる。テキストのすべての行に対しての水平方向の範囲に沿っての選択された領域内のテキストの存在を表すデータが、初期設定される。初期設定されたデータは、テキストのすべての行についての水平方向の範囲に沿っての選択された領域内のテキストの存在を示すよう変更される。文字区切りデータ(文字区切りされたデータ)は、行におけるテキストとその行において識別されたカラムの境界とに従って生成される。
他の態様において、テキストとそのテキストを配置するための水平座標および垂直座標とを識別するコマンドを含むベクトル画像内のテキストが、サーチされる。ベクトル画像におけるコマンドは、垂直座標に従ってソートされ、次に水平座標に従ってソートされる。順序付けられたコマンドからのテキストの順序付けを表すリスト構造が生成される。このリスト構造は、二重連係リストであってもよい。このリスト構造は、互いに近接するテキストストリングを組合せ、それによって、テキストが複数のテキストレコードにわたって分割されていても、そのテキストを配置することができる。選択された各メタファイルのテキストは処理されて順序付けされたリストとなり、それによってワードを、各メタファイル内にそれらが現れる順序でサーチすることが可能となる。また、かかる順序付けによって、メタファイル内およびメタファイルのセット間で、前の又は次のワード又は他の文字(キャラクタ)ストリングの発生を識別することが可能となる。この技術を用いて、多くの異なるアプリケーションからの文書(ドキュメント)を一緒にサーチすることができる。
他の態様において、サービスレイヤによってデータベースへのアクセスが制御される。データベースにデータを格納するための要求に応答して、データが符号化され、そのデータに対してエラーチェック計算が実行される。その符号化されたデータおよびエラーチェック計算の結果は、データベースに格納される。データベースからデータを読出すための要求に応答して、読出されたデータが復号化され、その読出されたデータに対してエラーチェック計算が実行される。その読出されたデータのエラーチェック計算の結果は、格納されたデータに対して実行されたエラーチェック計算の格納された結果と比較されることにより、あらゆる不一致が識別される。復号化された読出しデータと、格納されたデータと読出されたデータとの間で識別されるあらゆる不一致の指示とが提供される。
他の態様では、視覚的形式のデータをその視覚的形式のデータを識別する対応するタグと共に格納するデータベースである。アプリケーションを実行する複数のコンピュータの各々は、複数の異なるアプリケーションのうちの1つからの視覚的形式のデータと、その視覚的形式のデータに対応するタグとを受取る。ベクトル画像としての視覚的形式のデータと対応するタグとは、データベースに格納される。複数のコンピュータのうちの1つにおけるアプリケーションは、データベースに対するクエリに応答して、データベースからのタグおよび視覚的形式のデータにアクセスする。別のアプリケーションを用いて、データベースから検索された視覚的形式のデータを含む文書を生成し、それをデータベースに格納してもよい。
他の態様において、ベクトル画像が処理されることにより、ベクトル画像のテキストのスケーリングが可能となる。テキストに対応するベクトル画像のコマンドが識別される。識別されたコマンドにおける指定されたフォントを、拡大縮小可能(スケーラブル)フォントに変更することができる。文字間余白(文字間スペース)もまた付加することができる。テキストの回転およびスケーリング(拡大縮小)もまた変更することができる。
他の態様において、データベースに格納されたコンピュータ上で実行されるアプリケーションからの視覚的形式のデータから、複合文書を生成することができる。アプリケーションからの視覚的形式の情報は、アプリケーションから視覚的形式のデータを受取り、視覚的形式のデータに対応するタグを受取り、ベクトル画像としての視覚的形式のデータとタグとをデータベースに格納することにより、データベースに取込まれる。アプリケーションからの視覚的形式の情報は、データベースから検索される。複合文書は、データベースから検索される視覚的形式の情報から生成される。視覚的形式の複合文書は、アプリケーションから視覚的形式の複合文書を受取り、視覚的形式の複合文書に対応するタグを受取り、ベクトル画像としての視覚的形式の複合文書とタグとをデータベースに格納することにより、データベースに取込まれる。
図1は、アプリケーションからの視覚的形式のデータをデータベースに格納するための情報格納および検索システムを示すブロック図である。 図2は、Windows(登録商標)環境におけるプリントプロセスのオペレーションを示すブロック図である。 図3は、データベースに対するデータベーステーブル構造の略図である。 図4は、データベースに対する他のデータベーステーブル構造の略図である。 図5は、データベースに対する他のデータベーステーブル構造の略図である。 図6は、データベースに対する他のデータベーステーブル構造の略図である。 図7は、データベースへのアクセスを調整するサービスレイヤを有する図1の情報格納および検索システムを示すブロック図である。 図8は、データベースのソートおよびフィルタリングを示すデータフロー図である。 図9は、データベースにおけるレコードのコピーを示すデータフロー図である。 図10は、データベースからのレコードの削除を示すデータフロー図である。 図11は、クエリインタフェースからのレポートの印刷、プレビューまたは送出を示すデータフロー図である。 図12は、レポートのプレビューを示すデータフロー図である。 図13は、他のアプリケーションへのレポートの送出を示すデータフロー図である。 図14は、スプールファイルの処理を説明するフローチャートである。 図15A〜図15Bはスプールファイルのフォント処理を説明するフローである。 図15A〜図15Bはスプールファイルのフォント処理を説明するフローである。 図16は、スプールファイルのテキスト処理を説明するフローチャートである。 図17は、テキストデータをいかに、文字区切りデータ、特にスプレッドシート用のテーブルに挿入するためのタブ区切りデータに変換することができるかを説明するフローチャートである。
コンピュータプログラムから視覚的形式のデータを受取ることにより、およびそれをデータベースに格納することにより、多くの利点を得ることができる。アプリケーションまたはコンピュータプログラムからの視覚的形式のデータは、表示または印刷のために、アプリケーションまたはコンピュータプログラムによってデータから生成されるあらゆる画像またはその一部である。画像は、あらゆる表示または印刷装置において表示または印刷されるピクチャエレメント(画素)のマトリクスを定義するあらゆるデータである。概して、各画素は、グレイスケールまたはカラーパレットのいずれかからデータにより定義される。ベクトル画像は、描画コマンドによって指定される画像である。形状の例には、ライン、ポリゴン、オブジェクトおよびテキストがある。描画コマンドが目的の表示または印刷装置に関して解釈されることにより、画素のマトリクスに対して値が生成される。概して、ベクトル画像は、例えばスケーリング、回転またはフリップ等のような変換を施すことができる。ビットマップ画像は、画像の各画素を指定するマトリクス値によって指定された画像である。また、ビットマップ画像は、ラスタ画像としても知られている。ビットマップ画像は、ベクトル画像内に含まれることができる。
概して、大抵のアプリケーションは、データを、表示装置に表示するためにベクトル画像またはビットマップ画像のいずれかとして視覚的形式に変換する。また、アプリケーションは、オペレーティングシステムに対するファンクションコールを用いて、視覚的形式のデータを印刷する。これらファンクションコールに応答して、一般に、オペレーティングシステムは、プリンタを制御するためにプリンタによってビットマップ画像に翻訳されるベクトル画像を生成する。
ここで図1を参照して、アプリケーションからの視覚的形式のデータをデータベースに取込む情報格納および検索システムについて説明する。図1において、アプリケーション50は、汎用コンピュータ上で実行され、ユーザにより、表示または印刷することができる視覚的形式を有する情報を生成するために使用される。この視覚的形式は、汎用コンピュータのオペレーティングシステム54によって定義されるフォーマットで、情報格納および検索システムにおいてデータベース64に取込まれる。アプリケーション50は、オペレーティングシステム54に対し、視覚的形式(ビジュアルフォーム)のデータを表すデータ56を生成させるファンクションコール52を行う。概して、かかるデータ56は、ベクトル画像の形式である。概して、かかるファンクションコールは、オペレーティングシステム54によって、アプリケーション50等のアプリケーションがプリンタに対してデータを印刷することができるようにするために提供される。それにより、データベース格納モジュール58によってデータ56が読出され、レポート60としてタグ62と共にデータベース64に格納される。タグ62は、以下により詳細に述べるように、レポートに対する識別情報を含み、該レポートはユーザ入力57によって提供される情報を含むことも可能である。
印刷などの一般的なオペレーションを実行するプロセスにおいて、アプリケーションによって作成されるファンクションコールからウインドウズ(Windows(登録商標))オペレーティングシステムへの出力により、データベース格納モジュールは、複数のアプリケーションからのプロプラエタリ(proprietary)データフォーマットを処理するよう設計される必要はない。概して、いかなるオペレーティングシステムに対しても、印刷などの標準フォーマットにおいて、あるアプリケーションから他のアプリケーションへのオペレーションの出力を取込んで標準形式でデータベースに格納することができる。アプリケーション50等のアプリケーションは、視覚的形式のデータをデータベースに格納するためにデータベースとの通信を処理するよう設計される必要はない。
レポート60がデータベースに格納された後、データベース検索モジュール66は、クエリ68を通してデータベースにアクセスすることにより、1つまたは複数のレポート70と1つまたは複数のタグ72を検索する。データベース検索モジュール66は、後により詳細に説明するように、データベースレコードの変更、コピー、移動、削除、読出、および他の方法での処理等の、任意の数のデータベース管理タスクをサポートするよう実現することができる。クエリインタフェース76により、ユーザは、データベースにおいてレポートをサーチ、ソート、フィルタリングするためのパラメータを入力することができる。フィルタリングされたまたはソートされたレポートに関連するタグの集合は、ユーザがレビューするためにクエリインタフェース76に供給される。選択されたレポートは、クエリインタフェース76を通して使用可能なコマンドにより、レポートプレビューワ80または他のアプリケーション84に供給することができる。
レポートプレビューワ80は、データベース検索モジュール66を介して、ユーザに対してレポートを表示するためのレポート78およびタグ74を受取る。後により詳細に説明するように、レポートプレビューワ(previewer)により、ユーザは、他のアプリケーション84に伝達または送信されるレポートまたはレポートの一部82を選択するために入力81を与えることができる。この他のアプリケーション84を使用することにより、データベースに格納されデータベースから検索される多くのレポートから、複合ドキュメント(文書)をコンパイルすることができる。また、この複合文書も、アプリケーション50がデータベースにデータを格納するのと同じ方法でデータベース64に格納することができる。
図1に示すような情報格納および検索システムの多種の構成要素は、汎用コンピュータシステムを用いるコンピュータプログラムとして実現することができる。一般に、かかるコンピュータシステムは、ユーザに情報を表示する出力装置とユーザから入力を受取る入力装置との両方に接続されたメインユニットを有する。概して、メインユニットは、相互接続機構を介してメモリシステムに接続されたプロセッサを有している。また、入力装置および出力装置も、相互接続機構を介してプロセッサおよびメモリシステムに接続されている。
なお、コンピュータシステムには、1つまたは複数の出力装置を接続することができる。出力装置の例には、陰極線管(CRT)ディスプレイ、液晶ディスプレイ(LCD)および他のビデオ出力装置、プリンタ、モデム等の通信装置、ディスクまたはテープ等の記憶装置がある。なお、コンピュータシステムには1つまたは複数の入力装置を接続することができる。入力装置の例には、キーボード、キーパッド、トラックボール、マウス、ペンおよびタブレット、通信装置、データ入力装置がある。
コンピュータシステムは、「C++」、Visual Basic、JAVA(登録商標)、あるいはスクリプト言語またはアセンブリ言語等の他の言語等のコンピュータプログラミング言語を用いてプログラム可能な汎用コンピュータシステムとすることができる。汎用コンピュータシステムにおいて、プロセッサは、一般に、Intel(登録商標)(インテル)から入手可能なx86シリーズ、Pentium(登録商標)(ペンティアム)およびCerelon(登録商標)(セルロン)プロセッサ、AMDおよびCyrix(サイリックス)からの同様の装置、Motorola(登録商標)(モトローラ)から入手可能な680X0シリーズのマイクロプロセッサ、IBM(登録商標)からのPowerPC(登録商標)マイクロプロセッサ等の、商業的に入手可能なプロセッサである。多くの他のプロセッサが使用可能である。かかるマイクロプロセッサは、オペレーティングシステムと呼ばれるプログラムを実行する。Windows(登録商標)NT、Windows(登録商標)95または98、UNIX(登録商標)、Linux、Solaris、OS/2、DOS、VMS、MacOS(登録商標)およびOS8がその例であり、これは他のコンピュータプログラムの実行を制御し、スケジューリング、デバッギング、入力/出力制御、アカウンティング、コンパイル、記憶域割当て、データ管理およびメモリ管理、通信制御および関連するサービスを提供する。プロセッサおよびオペレーティングシステムは、高水準プログラミング言語のアプリケーションプログラムが書かれている対象であるコンピュータプラットフォームを定義する。
一般に、メモリシステムには、コンピュータ読出し可能および書込み可能の不揮発性記録媒体があり、磁気ディスク、フラッシュメモリおよびテープがその例である。ディスクは、フロッピディスクとして知られるように取り外し可能でもよく、ハードドライブとして知られるように常置でもよい。ディスクは、信号が一般にバイナリ形式、すなわち1および0のシーケンスとして解釈される形式で格納される多くのトラックを有している。かかる信号は、マイクロプロセッサによって実行されるアプリケーションプログラムか、またはアプリケーションプログラムによって処理されるディスクに格納される情報を定義することができる。一般に、動作中、プロセッサは、不揮発性記録媒体から、一般にダイナミックランダムアクセスメモリ(DRAM)またはスタティックメモリ(SRAM)等の揮発性ランダムアクセスメモリである集積回路メモリ素子にデータが読出されるようにする。集積回路メモリ素子は、プロセッサにより、ディスクよりも高速に情報へアクセスすることができるものである。概して、プロセッサは、集積回路メモリ内のデータを処理した後、処理が完了した時にそのデータをディスクにコピーする。ディスクと集積回路メモリ素子との間のデータの移動を管理するための多種の機構が知られており、本発明はそれに限定されるものではない。また、本発明は、特定のメモリシステムに限定されるものでもない。
かかるシステムは、ソフトウェア、ハードウェア、ファームウェア、またはその3つの組合せで実現することができる。システムの多種の要素は、個々にあるいは組合せで、コンピュータプロセッサによって実行されるために機械読出し可能記憶装置に具体的に実現されたコンピュータプログラム製品として実現することができる。プロセスの多種のステップは、コンピュータ読出し可能媒体で具体的に実現されたプログラムを実行するコンピュータプロセッサにより実行して、入力に処理を行い、出力を生成することによりファンクションを実行する。かかるシステムを実現するために適したコンピュータプログラミング言語には、手続き型プログラミング言語と、オブジェクト指向プログラミング言語と、その2つの組合せとがある。
なお、本発明は、特定のコンピュータプラットフォーム、特定のプロセッサまたは特定のプログラミング言語に限定されるものではない。更に、コンピュータシステムは、マルチプロセッサコンピュータシステムであってもよく、あるいはコンピュータネットワークを介して接続された複数のコンピュータを含むものでもよい。なお、図1に示す構成要素および残りの図面に示すそれらの副構成要素は、コンピュータプログラムの個別のモジュールであってもよく、あるいは別個のコンピュータ上で動作可能な別個のコンピュータプログラムであってもよい。これら構成要素によって生成されるデータは、メモリシステムに格納されてもよく、あるいはコンピュータシステム間で送信されてもよい。
図1に示すシステムはコンピュータネットワークを用いて実現することができ、それによってアプリケーション50、オペレーティングシステム54およびデータベース格納モジュール58が1つのコンピュータ上で実行され、データベース64が他のコンピュータ上で実行され、データベース検索モジュール66、リポートプレビューワ80および他のアプリケーション84が更に別のコンピュータ上で実行されるようにできる。データベース検索モジュール66を備えた多くのコンピュータ、データベース格納モジュール58を備えた多くのコンピュータおよび多くのデータベース64がある。1つのコンピュータが、そのアプリケーション50、84と共に使用するためのデータベース検索モジュールとデータベース格納モジュールとの両方を有することができる。また、1つのコンピュータが、アプリケーション50、84と共に、データベース検索モジュールとデータベース格納モジュールとデータベースとを有することができる。ネットワークにおける多種の可能なコンピュータの構成により、データが、複数の異なるユーザにより地理的に分散された複数の異なるコンピュータプログラムを用いてある期間にわたって生成され、使用され、共有される場合であっても、多くのユーザが複数のデータ源から複合文書を生成することができる。
ここで、図1の多種のモジュールをより詳細に説明する。アプリケーション50、84は、汎用コンピュータのオペレーティングシステム54によって実行することができるいかなるアプリケーションともすることができる。アプリケーションの種類の例には、限定されないが、研究所の器械制御およびデータ分析プログラム、ワードプロセシングプログラム、グラフィクスプログラム、スプレッドシートプログラムがある。
データベース64は、リレーショナルデータベース、オブジェクト指向データベース、非構造化データベースまたは他のデータベースを含むあらゆる種類のデータベースとすることができる。リレーショナルデータベースの例には、カリフォルニア州レッドウッドシティのオラクル社(Oracle(登録商標) Corporation)からのOracle(登録商標) 8i、カリフォルニア州メンロパークのインフォミックスソフトウエア社(Informix Software,Inc.)からのInformix Dynamic Server、ニューヨーク州ヨークタウンハイツのインターナショナルビジネスマシンズ(International Business Machines)からのDB2、ワシントン州レッドモンドのマイクロソフトコーポレーション(Microsoft Corporation)からのAccessがある。オブジェクト指向データベースの例は、マサチューセッツ州バーリントンのオブジェクトデザイン(Object Design)からのObjectStoreである。非構造化データベースの例は、マサチューセッツ州ケンブリッジのロータスコーポレーション(Lotus Corporation)からのNotesである。また、データベースは、フラットファイルシステムを用いて、例えば、以前はボーランドインターナショナル社(Borland International Corp.)であるカリフォルニア州スコッツバレーのインプライズ社(Inprise Corp.)からのVisual dBASEとして現在知られているdBASEの初期のバージョンにおけるような、文字区切り(character-delimited)フィールドを有するファイルを用いることにより、構成することもできる。
オペレーティングシステム54は、例えば、マイクロソフト社のWindows(登録商標)95、Windows(登録商標)98またはWindows(登録商標)NTとすることができる。このオペレーティングシステムを用いて、データベース64は、オープン・データベース・コネクション(ODBC)プロトコルを通してアクセスすることができる。他のオペレーティングシステムの例は上述されている。本発明は、いかなる特定のオペレーティングシステムにも、本明細書で述べられたものにも限定されない。いかなる特定の実施形態で使用されるオペレーティングシステムも、オペレーティングシステムがプリントドライバまたは他のアプリケーションによってアクセスされるための視覚的形式のデータを生成するようにいずれのコマンドをアプリケーションが使用するかに、影響を与える。以下の説明において、Windows(登録商標)95、Windows(登録商標)98およびWindows(登録商標)NTオペレーティングシステムは単に例示的なものである。他のオペレーティングシステムを、それらの出力がどのように使用されるか、およびオペレーティングシステムの仕様に従ってシステムのモジュール間でどのように制御が調整されるかに対する対応する変更を行って使用してもよい。以下の説明は、アプリケーションからWindows(登録商標)オペレーティングシステムへのファンクションコール、例えば、プリントコマンドをいかに使用して、アプリケーションからデータベースにデータを転送するかを示す。オペレーティングシステムに対する他のファンクションコールもまた、使用することができる。視覚的形式のデータを、標準形式で、あるアプリケーションから他のアプリケーションに転送する他の機構もまた使用することができる。
Windows(登録商標)95、Windows(登録商標)98およびWindows(登録商標)NTオペレーティングシステムを用いて、データをプリントするためのアプリケーションからのファンクションコールに応答してオペレーティングシステムによって出力される視覚的形式のデータを表すデータ56は、マイクロソフトによるWindows(登録商標) Metafile(ウインドウズメタファイル)フォーマットである。メタファイルは、ベクトル画像か、または、コマンド、描画オブジェクト、テキストおよびスタイルを制御するコマンドのリストである。理論上、メタファイルはいかなるWindows(登録商標)アプリケーションにおいても使用することができる。Windows(登録商標)メタファイル(WMF)は、Windows(登録商標)3.1によってサポートされる16ビットメタファイルである。エンハンスドメタファイル(EMF)は、Windows(登録商標)95、Windows(登録商標)98およびWMFコマンドのスーパセットを有するWindows(登録商標)NTによってサポートされる32ビットエンハンスドメタファイルである。
ここで図2を参照すると、Windows(登録商標)オペレーティングシステムにおけるプリントのオペレーションと、アプリケーションからデータベースへの視覚的形式のデータを取込むためのその使用とが説明される。Windows(登録商標)環境においてプリンタでプリントするために、そのプリンタは関連するプリントドライバ90を有している。プリンタがインストールされると、オペレーティングシステムには、プリントドライバの位置、すなわちそのファイル名が通知される。プリントドライバは、プリンタの特性をオペレーティングシステムに指定する。
アプリケーション50(図1におけるような)により、ユーザは、メニューを有するグラフィカルユーザインタフェース等のユーザインタフェースを通してプリンタを選択することができる。また、選択されたプリンタは、選択が可能な多種のプリントオプションを有していてもよい。ユーザ入力に応じてアプリケーションによって作成されるファンクションコールを介して、ユーザは、ユーザに対しユーザ情報およびプリントプリファレンスの指定を可能にするプリントドライバについてのユーザインタフェース94を呼び出すことができる。選択されたプリンタ、プリファレンスおよびプリント(印刷)対象の情報が与えられると、アプリケーション50は、Windows(登録商標)オペレーティングシステムの一部であるグラフィクス・デバイス・インタフェース(Graphics Device Interface)(GDI−32)92へファンクションコールを発行する。GDI−32は、選択されたプリントドライバ90およびそのユーザインタフェスに対しプリンタに関する情報を要求し、その情報はアプリケーション50に戻され、GDI−32によって保持されることにより、選択された情報を印刷するためにオペレーティングシステムに対するファンクションコールの正確なシーケンスを生成する処理を補助する。
GDI−32は、スプールファイル98にデータを出力し、スプールファイルの名前を含むファンクションコールをスプーラプロセス96に対して行うことにより、それら指定されたプリンタに印刷するためにスプールファイルを待ち行列に入れる。Windows(登録商標)オペレーティングシステムにおけるスプールファイルは、マイクロソフトによりWindows(登録商標)メタファイルとして設計されている。しかしながら、実際には、プリンタスプールファイルは、あらゆる参照されたまたは組込まれたメタファイルに加えてプリンタセットアップデータを含むため、真のメタファイルではない。Windows(登録商標)95では、スプールファイルは、あらゆるメタファイルのファイル名を含む。Windows(登録商標)NTでは、メタファイルはスプールファイルに組込まれる。両方の場合において、印刷文書毎に1つのスプールファイルがあり、文書の各ページは別個のメタファイルを有している。
スプーラプロセス96には、選択されたプリンタドライバ90に関連するプリントプロセッサ100の位置に関して通知がなされる。スプーラプロセス96はプリントプロセッサを呼出すことにより、スプーラプロセスがプリントプロセッサに対して待ち行列に入れた何れのスプールファイルも処理する。概して、一般的なプリントプロセッサは、スプーラプロセス96からスプールファイル98を受取り、それを、プリンタ制御言語(PCL)、PostScript等のプリンタによって使用されるフォーマット、一般にプロプラエタリフォーマットに変換する。印刷の代りに、図2のプリントプロセッサ100により、オペレーティングシステムによって作成されたベクトル画像データがフォーマットされ、タグに関連付けられ、データベースに格納されるようにする。
メタファイル、プリントドライバ、プリントプロセッサ、スプーラプロセスおよびスプールファイルに関する更なる詳細は、インターネットを介してアクセス可能なマイクロソフトデベロッパネットワーク(Microsoft Developer Network)およびマイクロソフトデベロップメントネットワークライブラリ(Microsoft Development Network Library)を通して入手することができる。
図2に示す1つの実現例では、プリントプロセッサ100は、2つのプロセスをもたらす。第1のプロセスは、タグデータ獲得(取得)プロセス104であり、図7に関連して詳細は後述するが、データベースに格納されているレポートについてユーザからタグ情報を獲得する。このプロセスは、ユーザに対してユーザインタフェースを提供することにより、ユーザがタグについてデータを入力することができるようにし、そのタグを予め決められた名前を有するファイル105に格納する。ユーザは、各レポートについてタグを入力してもよく、またはバッチ印刷に対する要求を示してもよい。この場合、タグデータ取得プロセスは、タグの初期セットを用いて、ユーザとの対話無しでデータベースに格納される各レポートに対するタグを計算する。第2のプロセスは、データベースアクセスプロセス106であり、図7に関連して詳細は後述するが、ファイル105を通してタグデータ取得プロセス104からタグ情報を取得すると共に、格納されたメタファイル108の名前も取得する。タグおよびメタファイルは処理されてデータベース64に送信される。
プリントプロセッサ100はスプールファイルからデータを読出してそのデータをタグと共にデータベースに格納するが、或る場合によっては、スプールファイルのベクトル画像、例えばWindows(登録商標)メタファイルはスケーリング可能(scalable)でないことが知られている。上述した他の方法では、スプールファイルはまた真のWindows(登録商標)メタファイルではない。従って、メタファイルプロセッサ102は、図14乃至図16に関連してより詳細に後述するが、プリントプロセッサ100からのファンクションコールに応答して、スプールファイルを処理してメタファイル108にし、それらのスケーラビリティを向上させ、さもなければスプールファイルを再フォーマットして、印刷されるレポートまたは文書の各ページに対して1づつの1つまたは複数のWindows(登録商標)メタファイルにする。スプールファイルの処理の結果得られるメタファイル108のファイル名は、プリントプロセッサ100を介するかまたはメタファイルプロセッサ102により直接に、データベースアクセスプロセス106に対して利用可能となる。
プリントドライバ90、プリントドライバユーザインタフェース94、プリントプロセッサ100、メタファイルプロセッサ102、タグデータ取得プロセス104およびデータベースアクセスプロセス106は、図1におけるデータベース格納モジュール58を形成する。
ここではプリントドライバとプリントプロセッサが、アプリケーションから視覚的形式のデータをいかにしてデータベースに格納するかを説明したが、次に、このデータが格納されるデータベースについてより詳細に説明する。データベースは、選択されたデータベースのタイプに適当な構成を用いてレポートおよびタグを格納する。格納される情報の種類、すなわちタグには、例えば、レポートに関する情報、コンピュータ環境情報、ユーザ情報、編成情報、日付および時間情報などのいかなる組合せをも含むことができる。また、多種の他の情報も、所望されるように、データベース構成に適当な変更を行って格納することができる。レポートに関する情報の例には、レポート名、ページ数およびそのレポートが準備されるプロジェクトと、ユーザコメントと、ソースアプリケーションと、あらゆるバッチ識別子とがある。コンピュータ環境情報の例には、レポートを生成したアプリケーションの名前および/またはバージョン、マシン識別子、マシン位置、オペレーティングシステム、マシンについてのあらゆるグループ名またはドメイン名がある。ユーザ情報の例には、ログイン名等のユーザ識別子、コンタクト情報がある。編成情報の例には、ユーザのタイトル、そのユーザが所属するグループ名がある。
図3乃至図6は、リレーショナルデータベースにレポートおよびタグを格納するデータベース方式の例を示す。なお、他のいかなるデータベース方式を使用してもよく、以下の例は単に例示的なものである。オラクル(Oracle(登録商標))およびマイクロソフトアクセス(Microsoft(登録商標) Access)のデータベースに対して変数型が指定されている。なお、他のデータベースを使用することも可能であり、これら変数型は他のデータベースの仕様および動作に従って定義されるものである。
図3は、各レポートに対するタグ情報を有するレコードを含むメインテーブル300を示す。このテーブルにおいて、各レポートは、データベースにプリントされ、レコードとして付加される。各レコードには、一意の識別子LTIdが割当てられている。LTIdは、以下に説明する図6のフィールド602に格納された値、LTLastIdを増分し更新することにより生成される。メインテーブル300は、フィールド1、302、LTIdに、Access(登録商標)(アクセス)およびOracle(登録商標)(オラクル)の両方においてレポート識別番号である整数型の変数を含む。フィールド2、304において、LTVersonは、アクセスおよびオラクルの両方において整数型変数であり、レコードがデータベースに挿入された時に使用されるデータベース方式のバージョンである。フィールド3、306において、LTPrjDescは、アクセスおよびオラクルの両方においてVarchar(50)型の変数であり、プロジェクトの50文字記述である。フィールド4、308において、LTRepNmeは、アクセスおよびオラクルの両方においてVarchar(30)型変数であり、レポート名の30文字記述である。フィールド5、310において、LTRepIdは、アクセスおよびオラクルの両方においてVarchar(150)型変数であり、レポート識別名の150文字記述である。フィールド6、312において、LTBtchIdは、アクセスおよびオラクルの両方において、Varchar(30)型変数であり、バッチ識別の30文字記述である。フィールド7、314において、LTUsrNmeは、アクセスおよびオラクルの両方においてVarchar(30)型変数であり、ユーザ名の30文字記述である。フィールド8、316において、LTUsrCmntは、アクセスおよびオラクルの両方においてVarchar(254)型変数であり、あらゆるユーザコメントの254文字記述である。ユーザは、後の検索を容易にするために、このフィールドにキーワードまたは他の情報を挿入することができる。フィールド9、318において、LTPrtDatは、アクセスおよびオラクルの両方においてVarchar(30)型変数であり、プリント日付を識別する30までの文字である。フィールド10、320において、LTPrtTimは、アクセスおよびオラクルの両方においてVarchar(30)型変数であり、プリント時間を識別する30までの文字である。フィールド11、322において、LTPrtAppは、アクセスおよびオラクルの両方においてVarchar(50)型変数であり、ソースアプリケーションの名前の50文字記述である。フィールド12、324において、LTMachNmeは、アクセスおよびオラクルの両方においてVarchar(50)型変数であり、ソースアプリケーションが実行されたマシン名の50文字記述である。フィールド13、326において、LTDomnNmeは、アクセスおよびオラクルの両方においてVarchar(50)型変数であり、マシンが位置しているドメイン名またはワークグループ名の50文字記述である。フィールド14、328において、LTLogNmeは、アクセスおよびオラクルの両方におけるVarchar(50)型変数であり、ソースアプリケーションのユーザのログイン名の50文字記述である。フィールド15、330において、LTXExtntは、アクセスおよびオラクルの両方における整数変数型であり、レポートにおけるページのXエクステントである。フィールド16、332において、LTYExtntは、アクセスおよびオラクルの両方において整数変数であり、レポートにおけるページのYエクステントである。フィールド17、334において、LTNumOfPgは、アクセスおよびオラクルの両方において整数型変数であり、レポートのページの数である。1つの実施形態において、このフィールドがブランクのままである場合、ページの数は、図4のテーブルからLTIdについて計算される。フィールド18、336において、LRCRC32は、アクセスとオラクルの両方において整数型変数であり、レコードのタグおよび数値データのCRCである。1つの実施形態において、CRCの計算された値が格納された値と一致しない場合、これは、データが破壊されていることを示す。
図4はページテーブル400を示す。ページテーブル400は、レポートにおけるページの数の識別を助けるレコードを含む。1つの実施形態において、各ページはページ番号を用いて識別される。この場合、ページ番号のシーケンスは1から始まる。1つの実施形態において、テーブルは、LTId、レコード1、302とページ番号とを組合せることによってインデクスされる。フィールド1、302において、LTIdは、アクセスおよびオラクルの両方において整数型変数であり、レポート識別番号である。フィールド2、402において、LTPgNumは、アクセスおよびオラクルの両方において整数変数型であり、レコードのページ番号を表す。1つの実施形態において、LTIdおよびLTPgNumは一意のレコード識別子を構成する。フィールド3、404において、LTPgInfoは、アクセスおよびオラクルの両方においてVarchar(100)型変数であり、ページ情報の50文字記述である。このレコードは省略してもよい。
図5は、メタファイルデータテーブル500を示す。メタファイルデータテーブル500は、メタファイルを保持するレコードを含む。1つの実施形態において、プリントされた各ページは、このテーブルに格納されるメタファイルである。1つの実施形態において、メタファイルは、圧縮され符号化されることが可能であり、これは、バッファタイプを識別する特定のレコードによって識別される。データテーブル500は、フィールド1、302、LTIdにおいて、アクセスおよびオラクルの両方において整数型変数を含むことができ、これはレポート識別番号である。フィールド2、402において、LTPgNumは、アクセスおよびオラクルの両方において整数変数型であり、レコードのページ番号を表す。フィールド3、502において、LTMFRNumは、Access(登録商標)とOracle(登録商標)の両方において整数変数型であり、メタファイルレコード番号を表す。1つの実施形態において、LTId、LTPgNumおよびLTMFRNumは、一意のレコード識別子を構成する。フィールド4、504において、LTMFBfTYは、アクセスおよびオラクルの両方において整数変数型であり、メタファイルバッファ型を表す。1つの実施形態において、バッファ型は、特に、格納されたメタファイルレコードの型を識別するために使用され、1つの実施形態では、メタファイルレコードの、標準、エンハンスド、ベース64符号化、または他の形式とすることができる。フィールド5、506において、LTMFBfLnは、アクセスおよびオラクルの両方において整数変数型であり、LTMFBufr、フィールド6、508におけるデータの長さを表す。フィールド6、508において、LTMFBufrは、アクセスではメモ(memo)変数型であり、オラクルでは長変数型であり、ブロックに格納されたメタファイルレコードの一片を含む。各ブロックは16Kバイト等のサイズを有する。
図6は、コントロールテーブル600を示す。コントロールテーブル600は、フィールド1、602において、LTLastIdを含み、それは、アクセスおよびオラクルの両方において整数変数であり、データベースに挿入された最後のLTIdを表す。この値は、レコードが減分されずに削除される場合に、同じまま保持される。この値は、新たなエントリが1から開始するようにすべてのレコードが削除される場合に、0にリセットされる。この値は、4,294,967,295等の最大値を有することができる。
ここでは、データベースおよびそれがいかに構成されているかを説明したが、次に、情報を格納および検索するためのデータベースへのアクセスについて説明する。いくつかの理由により、「サービスレイヤ」と呼ばれるプログラムが提供され、これを通して他のアプリケーションがデータベースをアクセスする。例えば、サービスレイヤは、多種のデータベースオペレーションを実行するためにサービスレイヤに対して他のアプリケーションが行う単純なファンクションコールを提供することにより、アプリケーションをデータベースの複雑性から分離する。サービスレイヤは、アプリケーションからのファンクションコールに応答して、例えばODBCコールを介して、データベースに対するオペレーションを実行する。また、サービスレイヤにおいてエラーチェックおよびデータ符号化を提供することにより、データベースにおける変更されたデータを検出することができる。
図7は、図7において「プリントドライバ」204として示されている、図2のプリントドライバ90、プリントプロセッサ100、メタファイルプロセッサ102、プリントドライバユーザインタフェース94が、どのようにサービスレイヤ200と対話するかをより詳細に示している。データベースから情報を検索する時のサービスレイヤ200のオペレーションは、図8乃至図13に関連してより詳細に述べる。図7において、サービスレイヤ200は、プリントドライバ204が生成するレポート(メタファイル108)と、レポートに対するメタファイルデータを含むファイル108のタグと名前とを指定するファイル105からデータベースアクセスプロセス106を介してタグデータとを受取る。このデータは、ODBCレイヤ206へのコールを介してサービスレイヤによりデータベース64に格納される。ここで、プリントドライバ204、データベースアクセスプロセス106およびタグデータ取得104のサービスレイヤ200との対話についてより詳細に説明する。
概して、上述したように、プリントドライバ204により、メタファイル108は、スプールファイル98から生成され、メタファイル名はファイル105に格納される。また、タグデータは、タグデータ取得プロセス104によってファイル105に格納される。タグデータ取得プロセスは、プリントドライバ204によって、このレポートに対しユーザからタグデータを取得するために発生される。タグデータ取得モジュールは、2つのオペレーションモード、すなわちバッチとマニュアルとを有する。このオペレーションモードは、所定のアプリケーションかまたはすべてのアプリケーションに対し、プリントドライバユーザインタフェース94を介してユーザが設定することができる。このセットアップ情報はファイル105に格納される。タグデータ取得プロセスが発生されると、プリント状態がセットアップパラメータから検索される。このアプリケーションに対するプリント状態がバッチプリントである場合、タグのセットは、このアプリケーションに対して予め格納されたタグから計算される。それ以外の場合は、ユーザに対してダイアログボックスが表示され、ユーザに対してタグ情報の入力が要求される。ユーザがタグ情報を入力した後、または、タグ情報が計算された後、このアプリケーションに対するタグ情報はファイル105に格納される。
プリントドライバ204により、タグおよびメタファイルをデータベースに格納するためにデータベースアクセスモジュール106が発生(スポーン(spawn))される。特に、データベースアクセスモジュール106は、データベースをオープンし、データベースによって要求されるあらゆる認証を処理する。このオペレーションを実行するために、データベースアクセスプロセス106は、サービスレイヤ200に対して要求を発行し、それによりサービスレイヤ200は、ODBCレイヤ206を介して、データベースに対し、オープンしユーザをそのデータベースに対し認証して、データベーストランザクションを開始するための要求を発行する。適切にオープンして認証した後、データベースアクセスプロセス106は、サービスレイヤ200に対して、ファイル105からのメタファイル名によって指定されるメタファイルを格納するためのリクエスト(要求)を発行する。この要求に応答して、サービスレイヤは、データベースアクセスプロセス106から受取ったメタファイル名に対応するメタファイル108を検索し、ODBCレイヤ206を介して要求を発行することにより、データベースのメタファイルテーブルにそれらを格納する。データベースアクセスプロセス106は、サービスレイヤに対し、そのサービスレイヤ200にタグを供給することにより、タグ情報を格納するよう要求する。サービスレイヤ200は、ODBCレイヤ206を介して要求を発行することにより、データベースのメインテーブルにタグ情報を書込む。データベースアクセスプロセス106は、サービスレイヤ200に対して要求を発行することにより、データベースをクローズする。そして、サービスレイヤ200は、データベースのトランザクションを実行し、ODBCレイヤ206に対する要求を介してデータベースをクローズする。
また、サービスレイヤ200は、データベースにレポートおよびタグを格納する一方で、より有効な格納とデータ完全性チェックとの両方も提供することができる。例えば、図7に示すように、入力される視覚的形式のデータは、データ圧縮アルゴリズムを用いて圧縮することができる。このアルゴリズムのいくつかは、本技術分野において周知である。例えばDCマイクロデベロップメント(DC Micro Development)からのクラッシャ(Crusher)ソフトウェアライブラリにおいて入手可能であるもののような無損失圧縮アルゴリズムが好ましい。循環冗長検査(CRC)オペレーション等のエラーチェック計算を用いて、圧縮データに対するCRC値を計算することができる。データベースからデータを読出す時、読出されたデータについてのCRC値を計算し、格納された値と比較することにより、そのデータが破壊されているか否かを検出することができる。また、タグデータを処理することにより、タグデータに対してCRC値を計算することができる。データベースからタグデータを読出す時、CRC値が検査されることにより、そのタグデータの完全性が検証される。また、圧縮された視覚的形式のデータを符号化して、8ビットバイナリデータの格納をサポートしていないデータベースに格納することができる。符号化技術の例は、ベース(base)64符号化である。符号化されたデータは16キロバイトのブロックに分割される。データベースレコードは、符号化されたデータの各ページの各ブロックに対して書込まれる。
また、サービスレイヤは、アプリケーションとデータベースとの間の中間物として作用することにより、アプリケーションが、ユーザのクエリに応じてデータベースを探索し、データベースからデータを検索するようにすることができる。ここで、サービスレイヤを用いる2つの他のアプリケーションに関連するサービスレイヤのオペレーションを、図8乃至図13に関連してより詳細に説明する。
概して、サービスレイヤ200は、データがデータベースに書込まれた時にデータに対して実行されるオペレーションを逆に行う。例えば、サービスレイヤは、データを復号化し、データ完全性を確実にするためにCRC値を検査し、データを他のアプリケーションに渡す前に圧縮解除する。同様に、タグデータが検索され、CRC値が、タグデータが他のアプリケーションに渡される前に検査される。また、サービスレイヤは、他のアプリケーションから提供されるクエリに従ってデータベースに問合せる。
図8は、ユーザが見るデータベースを選択してそのデータベースレコードに対して適用されるソートまたはフィルタオペレーションを指定する時の、クエリインタフェース76(図1)とサービスレイヤ200(図7)とデータベースとの間のインタラクション(対話)を示している。クエリ(問合せ)インタフェース76は、ユーザからデータベースをオープンするための要求を受取る。これに応答して、クエリインタフェース76は、サービスレイヤにそのリクエスト(要求)を渡す。サービスレイヤは、ODBCレイヤに対して、各々が名前を有するデータベースのリストを取得するための要求を発行する。サービスレイヤはこのリストを受取り、それをユーザに表示しユーザが選択するためにディスプレイに提示する。
ユーザがデータベースを選択し、オプションでフィルタまたはソートオペレーションを指定した後、クエリインタフェースは、サービスレイヤに対してデータベースをオープンするための要求を発行する。データベース構成およびデータベースにアクセスするために使用されるクエリ言語に従って、あらゆるフィルタまたはソートオペレーションが定義されることが可能である。サービスレイヤは、ODBCレイヤ206を介してデータベースに対し、このユーザに対してデータベースをオープンするための要求を発行する。データベースはユーザに対し、ユーザ名とパスワードとの入力を促すことができる。サービスレイヤは、ユーザによって指定されるソートまたはフィルタパラメータに基づいてクエリを準備する。このクエリはデータベースに対して発行され、メインテーブルに適用される。レコードのセットは、サービスレイヤによってデータベースから受取られ、タグのCRC値が検証される。レコードのセットがリストに配置される。ここで、各エントリは、更に、レコードに対するタグのCRC値が適切であったか否かを示すフラグを有している。このリストは、ユーザに提示するためにクエリインタフェースに戻される。表示される時、クエリインタフェースは、ユーザに対し、CRCフラグに基づいていずれかのレコードが変更されたかを示す視覚的指示を与える。このリストは、限られた数のエントリを有していてもよく、その場合、サービスレイヤは、データベースからのレコードの読出しを停止し、リストが一杯になった時にカーソルをセーブする。
ユーザは、例えば、リストをスクロールすることにより、あるいは、リストのページをスクロールすることにより、リストをナビゲートすることができる。ユーザからのスクロールコマンドに応じて、クエリインタフェースは、サービスレイヤに対し、必要に応じてデータベースから更なるレコードをアクセスするよう要求する。また、ユーザは、リストをリフレッシュするよう決定することができる。クエリインタフェースは、リフレッシュコマンドに応じて、サービスレイヤに対しリフレッシュコマンドを発行する。これにより、サービスレイヤは、セーブされたカーソルを無効にし、上述した方法と同じようにレコードの新たなリストを生成する。
また、ユーザは、ソートまたはフィルタパラメータを変更するよう決定することができる。ソートまたはフィルタパラメータの変更に応答して、クエリインタフェースは、新たなパラメータをサービスレイヤに送信し、サービスレイヤはパラメータを格納する。そして、クエリインタフェースは、サービスレイヤに対してリフレッシュコマンドを発行し、新たなタグのセットを受取る。
ユーザは、データベースをクローズすることによりクエリインタフェースの使用を終了することができ、それによってサービスレイヤに対してクエリインタフェースにより要求が送信される。次に、サービスレイヤは、格納されたカーソルを無効にし、ODBCレイヤを介してデータベースに対してクローズコマンドを発行する。
ソートおよびフィルタコマンドを用いてデータベースを探索するだけでなく、ユーザは、他のデータベース管理機能を実行することができる。かかる機能には、或るデータベースから他のデータベースへのレコードのコピー、データベースからのレコードの削除、1つのデータベースから他のデータベースへのレコードの移動(レコードをコピーし、それらを削除することにより実行される)、およびデータベースのマージ(すべてのレコードを複数のデータベースから他のデータベースにコピーすることによって実行される)がある。
ここで、図9に関連して、或るデータベースから他のデータベースへのレコードのコピーについて説明する。ユーザはすでにデータベースをオープンしており、レポートのセットを表示しているものと仮定する。クエリインタフェース76は、1つまたは複数のレコードのユーザの選択と、ユーザからの選択されたレコードをデータベースにコピーするというコマンドとを受取る。選択されたレコードは、クエリインタフェースによりサービスレイヤに示される。そして、ディスプレイは、上述した方法により、ユーザに対してオープンするデータベース名を催促する。レコードがコピーされるデータベースはサービスレイヤを介してオープンされ、そのデータベースは、ユーザに対し認証を催促する。
クエリインタフェースは、サービスレイヤに対し、選択されたレコードをコピーするための要求を発行する。それに応じて、サービスレイヤは、セーブされたカーソルを無効にし、フィルタとして選択されたレポートおよびページに基づいてクエリステートメントを準備する。クエリは、データベースのメタファイル、ページおよびメインテーブルに対して実行される。メインテーブルにおける各レコードに対し、新たなレポート識別子が、そのコントロールテーブルを用いて宛先データベースに対して計算される。データベースから検索されるレコードは、宛先データベースの対応するメインテーブル、ページテーブルおよびメタファイルページテーブルにコピーされる。処理時間を節約するために、メタファイルは圧縮解除も復号化もされない。新たなタグを宛先データベースに送信する前に、レポートに対する新たな識別子を考慮するために、タグフィールドに対し新たなCRC値が計算される。現データベースからのレポートリストは、上述した方法によりクエリインタフェースにおいてリフレッシュされる。
ここで、図10に関連して、データベースからのレコードの削除について説明する。ユーザはすでにデータベースをオープンしており、レポートのセットを表示しているものと仮定する。クエリインタフェース76は、1つまたは複数のレコードのユーザの選択と、ユーザからの現在オープンしているデータベースから選択されたレコードを削除するというコマンドとを受取る。選択されたレコードは、クエリインタフェースによりサービスレイヤに示される。データベースがオープンされた時にユーザによって使用された認証は、ユーザにより検証される。データベースは、ユーザに対し、新たな認証を催促することができる。
クエリインタフェースは、サービスレイヤに対し、選択されたレコードを削除するための要求を発行する。これに応じて、サービスレイヤは、セーブされたカーソルを無効にし、フィルタとして選択されたレポートおよびページに基づいてデータベースに対して発行される削除ステートメントを準備する。クエリが、データベースのメタファイルおよびページテーブルに対して実行されることによりレコードが削除される。削除ステートメントは、フィルタとして選択されたレポートを用いてデータベースのメインテーブルに対して用意される。このステートメントがメインテーブルに対して実行されることにより、レポートについてのレコードが削除される。次に、現データベースからのレポートリストが、上述した方法でクエリインタフェースにおいてリフレッシュされる。
ユーザがデータベースを既にオープンした後にレポートのセットを表示しているとき、ユーザは、プリントするか、プレビューするかまたは他のアプリケーションに送信する1つまたは複数のレポートを選択することができる。ここで、かかるデータベースからのレポートのプリント、プレビューおよび送信について、図11乃至図13に関連して説明する。クエリインタフェース76は、1つまたは複数のレコードのユーザの選択と、ユーザからの選択されたレコードに関連するレポートをプリント、プレビューまたは送信するためのコマンドとを受取る。選択されたレコードは、クエリインタフェースによりサービスレイヤに示される。そして、選択されたレコードに対するメタファイルが、クエリインタフェースによりサービスレイヤから要求される。
サービスレイヤは、セーブされたカーソルを無効にし、フィルタとして、選択されたレポートとページとを用いてクエリステートメントを準備する。クエリは、データベースのメタファイルテーブルに対して実行される。ページに対するレコードのすべてが読出されると、レコードの何片かが再アセンブルされ、復号化され、圧縮解除され、ページに対するCRC値が検証される。各レポートの各ページに対するメタファイルは、78で示されるような名前付きテンポラリファイルに格納される。レポート識別子、ページ番号およびメタファイル名のリストが構成され、クエリインタフェースに戻される。クエリインタフェースは、コマンドが、ここで説明される方法によって、印刷か、プレビューかまたは送信かに従ってリストを処理する。
コマンドがプリントであった場合、ディスプレイは、オペレーティングシステムを用いて指定されたプリンタに対してのデバイスコンテキストに対しテンポラリメタファイル(1または複数)を単にプレイ(play)する。
コマンドがプレビューであった場合、クエリインタフェースは、図12に関連してより詳細に説明する方法で動作する。特定的には、予め決められた名前を有するコントロールファイル1200が生成され、それはプレビューされる各レポートの各ページに対してのメタファイルを含むテンポラリファイルの名前およびタグを含む。クエリインタフェースは、レポートプレビューワ80という別個のプログラムをもたらし、そのプログラムは、次に、レポートを読出し表示するためにコントロールファイルにアクセスする。レポートプレビューワ80は、ディスプレイのためにデバイスコンテキストに対してメタファイルをプレイすることにより、すなわち、オペレーティングシステムにプレイメタファイルコマンドを発行することにより、レポートを表示する。
プレビューワは、ユーザがディスプレイをスクロールしてレポートの異なるページを表示することができるようにすることを含む、プレイされたメタファイルデータに対する多くの種類のオペレーションを実行することができる。また、プレビューワは、ユーザがレポート内の指定されたテキストのインスタンスを見付けることができるようにすることができる。しかしながら、メタファイルにおけるTEXTOUTコマンドが、表示時に対応するテキストが現れる順序と同じ順序でメタファイル内で発生しない場合があるという事実のため、メタファイルにおいて特定の順序のテキストを探索することが複雑化する。従って、レポートプレビューワは、選択された夫々のメタファイルのテキストを処理して順序付けされたリストとすることにより、各メタファイル内に現れる順序でワードをサーチすることができるようになる。また、かかる順序付けにより、メタファイル内およびメタファイルのセット間で、ワードまたは他の文字列の前の又は次の発生を識別することが可能となる。この技術を用いて、多くの異なるアプリケーションからの文書を同時にサーチすることができる。
メタファイルにおけるテキストの順序付けは、以下の方法で実行される。各TEXTOUTコマンドがメタファイルにおいて識別され、その対応する座標が取得される。そして、種々のTEXTOUTコマンドが、ページ(すなわち、メタファイル)により、その後ディスプレイ領域におけるY位置により、更にディスプレイにおけるX位置によりソートされる。ソートされたコマンドは、ディスプレイにおけるテキストストリングとテキストストリングの位置のレコードの二重連係リストに変換される。テキスト高さの或るパーセンテージ内で互いに近接しているテキストストリングが、この構造において一繋がりになることができる。このソート情報を実行するために、あらゆる有効なソートアルゴリズムを使用することができる。例えば、挿入(insertion)ソートを使用することができる。
クエリインタフェースとレポートプレビューワとの両方により、ユーザはメタファイル78(またはプレビューワの場合、メタファイル82の選択された部分)を他のアプリケーション84へ送信することができる。また、送信オペレーションは、すべてグラフィクスを含むか、テキストのみを含むか、またはテーブルに変換されるテキストを含むレポートを送信することができる(図17に関連してより詳細は後に説明する)。ここで、このオペレーションについて、図13に関連して説明する。このオペレーションにより、データを選択し、他のアプリケーションを用いて書かれている文書に挿入することができる。
クエリインタフェースから、レポートを送信するプロセスは、プレビューと同様である。更に、ユーザは、メタファイルが送信される宛先アプリケーションの名前を催促される。コントロールファイル1300は、メタファイル名と、宛先アプリケーションの名前と、宛先アプリケーションにおいていかにペーストが実行されるかを定義するキーストロークのセットとを用いて生成される。レポートプレビューワの代りに、「送出(Send)」と呼ばれる別のコンピュータプログラム1302が実行される。これは、上述したような方法でコントロールファイル1300に作用することにより、宛先アプリケーション84において現在オープンされている文書中のレポートをペーストする。
また、「送出」プログラムは、レポートプレビューワ80によって実行することも可能である。ユーザは、宛先アプリケーションの名前を供給する。レポートプレビューワは、上述した方法で、ユーザの選択に基づいて新たなテンポラリメタファイル82を生成する。クエリインタフェースによって生成されるコントロールファイル1300と同様のコントロールファイル1304が生成され、「送出」プログラム1302が同様に実行される。
宛先アプリケーションへ発行するための送出プログラムに対しての適当なキーストロークは、多くの方法で決定することができる。例えば、アプリケーションのメニューのコマンド「ペースト(Paste)」をサーチすることにより、対応するキーストロークを識別してもよい。あるいは、多種のアプリケーションに対するキーストロークを前もって決定し、送出プログラムによってアクセス可能なファイルに保存してもよい。デフォルトとして、標準Windows(登録商標)アプリケーションのユーザインタフェースにおけるペースト機能のキーストロークがCtrl−Vであるため、このキーストロークもまた使用することもできる。
ここで、レポートプレビューワがメタファイルの一部のユーザの選択に基づいて、どのようにして新たなメタファイルを生成するかを説明する。一般に、ユーザの選択は、メタファイルが表示される領域における矩形を定義する座標によって表される。そして、メタファイルの各コマンドは、定義された座標と比較される。関連した座標を有していないコマンドは全て、自動的に新たなメタファイルに配置される。指定された座標の外側で表示情報を生成するコマンドはすべて破棄される。指定された座標内で表示情報を生成するコマンドはすべて保持される。場合によっては、コマンドは、指定された座標の内側と外側との両方の表示情報を生成することがある。ラインセグメントおよびビットマップ等のようなこれらコマンドは、周知の技術を用いて、指定された座標内に入るように容易に変更することができる。結果としてのメタファイルコマンドのセットは、ファイル名がコントロールファイルにリストされている名前付きテンポラリファイルに格納される。
ここで、「送出」プログラムについて説明する。まず、このプログラムは、その予め決められた名前を用いてコントロールファイル1300または1304を読出す。「送出」プログラム1302は、それがクエリインタフェース76によって呼出されたかレポートプレビューワ80によって呼出されたかを知る必要はない。コントロールファイルにおいて指定された32ビットメタファイル(EMF)はすべて、メタファイルプロセッサ1306に対する要求を介して16ビットメタファイル(WMF)1310に変換することができる。また、変換は、EMFファイルのみがクリップボードに配置されている場合には、自動的にWindows(登録商標)のGDI−32によって実行することができる。メタファイルプロセッサ1306によって実行される変換は、「色空間(カラースペース)」レコードと、「TEXTOUT」レコード(後述する)における全ての文字間余白と、不法パラメータ値を含む「モディファイワールドトランスフォーム(modify world transform)」レコードとを削除する。
また、Windows(登録商標)95によって生成されるクリッピングレコードも変更することができる。特に、ビューポートおよびウインドウの原点は、現在値を維持するために追跡される。クリッピング領域の境界は、現在のビューポイントおよびウインドウの原点を考慮するために、周知の技術を用いて調整される。また、クリッピングレコードによっては、メタファイルがプレイされる時にテキストが不適当に隠されるようにされる場合もある。テキストレコードに影響するクリッピングレコードは、テキストが不適切に隠されないようにするために、必要である場合には、変更されるかまたは取り除かれる。
16ビットメタファイルおよび32ビットメタファイルは共に、オペレーティングシステムに対するファンクションコールを行うクリップボード配置1312を通じて「クリップボード(Clipboard)」1308に配置される。クリップボードは、データを一時的に格納することができ、いかなるアプリケーションによってもデータを読出すことができるメモリの領域である。クリップボードにデータを配置するために、「カット(cut)」または「コピー(copy)」等のコマンドが使用される。「ペースト」ファンクションは、概して、大抵のアプリケーションにより提供され、そのアプリケーションによって現在処理されている文書の現位置にデータを配置するようクリップボードからデータを読み出す。
送出プログラムは、次に、オペレーティングシステムを介して宛先アプリケーションへキーストロークを送出し、それによってアプリケーションが、キーボードからその現文書にデータをペーストする。
図13に関連して説明する送出オペレーションは、示される実現例に限定されず、多くの方法によって提供することができる。例えば、クエリインタフェースおよびレポートプレビューワは、所定のアプリケーションに対してキーストロークのセットを決定するものとして上述されている。また、これらキーストロークを、送出プログラムにより直接に、コントロールファイル1300または1304を介さずに、決定またはアクセスすることができる。あるいは、送出プログラム1302のすべてを、クエリインタフェース76およびレポートプレビューワ80において実現するようにしてもよい。また、ソースアプリケーションにより、第三者が、ソースアプリケーションのメニューまたはツールバーに新たな機能を追加するために「プラグイン(plug-in)」のマクロまたはライブラリを開発することができる場合、或るソースアプリケーションから他の宛先アプリケーションへメタファイルを送出すために、送出オペレーションを提供するようにしてもよい。かかる能力を有するソースアプリケーションの例には、マイクロソフト社からのWord(ワード)がある。かかるアプリケーションでは、プレビューワまたはクエリインタフェースと送出プログラムとの組合された機能性が、ソースアプリケーションによって呼出されることにより、メタファイルデータが宛先アプリケーションへ直接に送信される。
上述したように、スプールファイル98は真のメタファイルではない。アプリケーションに応答してオペレーティングシステムによって提供される視覚的形式のデータもまた、例えば印刷を通してのものも、変換される場合、例えば、スケーリングまたは回転される場合には、ゆがめられる可能性がある。一般に、かかるゆがみは、例えばプリントコマンドに応答してのオペレーティングシステムの出力は一般に変換されることを意図されていない、という事実に要因がある。一般に、アプリケーションは、オペレーティングシステムの出力に応答してのプリンタの出力が視覚的形式のデータに一致するよう実現されている。概して、アプリケーションは、プリンタに送信されるコマンドがゆがみ無しにスケーリングすることができるか否かについてテストされない。従って、オペレーティングシステム54によって出力される視覚的形式のデータ56(図1を参照)は、ゆがみを発生することなく変換されることができるメタファイルの適切な形式に変換される必要があり得る。
ここで、再び例としてWindows(登録商標)オペレーティングシステムおよびWindows(登録商標) Metafileを用いて、かかる変換について図14乃至図16に関連して説明する。ここで図14を参照すると、ステップ800において、スプールファイル98がメタファイルプロセッサ102によって受取られる。ステップ802において、メタファイルプロセッサは、新たなメタファイル(1または複数)が格納されるスプールファイルにおける各ページに対し新たなファイルをオープンする。ステップ804においてこの新たなファイルにプライベートレコードを挿入し、バージョン情報を供給する。例えば、アプリケーションがプリントされたオペレーティングシステムとメタファイルプロセッサプログラムのバージョンとを格納することができる。この情報により、バージョン情報に従ってメタファイルを種々に処理することができる。
ステップ806において、Windows(登録商標)において入手可能な「DEVMODE」構造が、メタファイルのプライベートレコードにコピーおよび格納される。このデータ構造は、プリンタの特徴と、ページサイズ、解像度および方向付けを含むプリントジョブとのすべてを記述する。他のオペレーティングシステムから入手可能なあらゆる同様の情報もまた、格納することができる。このレコードは、情報が、スプーラプロセスから受取られるメタファイル(1または複数)のヘッダに正確にかつ完全に供給される場合には、省略することも可能である。
ステップ808において、スプールファイルから取得されるページのメタファイルは、後に詳述する方法で、マイクロソフト社によって提供されるこれらデータフォーマットの仕様に従ってそのスケーラビリティを向上させるために、ページに対しての修正されたメタファイルに変換される。このステップの間、メタファイルプロセッサは、変更された又は新たなコマンドが後に続くオリジナルのコマンドを含むコメントレコードを、出力ファイル中に挿入する。オリジナルコマンドを保持することにより、他のフォーマットへの変換のためにオリジナルを再構成することが容易となる。
ステップ810において、メタファイルプロセッサは、エンハンスドメタファイルデータの終端において、エンド−オブ−ファイル・コメントレコードを挿入する。エンド−オブ−ファイル・コメントレコードは、他のメタファイル内に含まれるメタファイル間の境界を明確に示すために使用される。かかるメタファイルは、「ネストされたメタファイル」として考えることができる。処理される時に、メタファイルは、それが生成されたオペレーティングシステムのプラットフォームおよびアプリケーションに応じて、異なるプロパティおよび特徴を有することができる。例えば、Windows(登録商標) NTで生成されるメタファイルは、Windows(登録商標) 95で生成されるものと異なる特徴を有することができる。適当な処理を保証するために、ネストされた各ファイルの開始点および終了点は、ステップ804および810で挿入されるレコードによって提供される。
ステップ812において、メタファイルプロセッサは、新たなメタファイルファイルをクローズし、ファイル105のファイル名を格納するファイルを提供する。
ここで、ステップ808において実行されるメタファイルにおけるコマンドの変換について詳細に説明する。異なるオぺレーティングシステムに対するメタファイルタイプ間の違いにより、および異なるアプリケーションによるプリントによって生成されるメタファイルが一般にスケール化が可能なようには設計されず、従って、時としてスケール化されないため、多種の変更が行われる。
フォント作成または他の作成コマンド等のメタファイルがプレイされている時にリソースの漏れを発生する可能性のあるコマンドが識別される。これらコマンドは、リソースが適正に自由にされる(フリーアップ、free up)されることを保証するよう処理されることができる。
アプリケーションによっては、負のY軸方向や互換性の無いマッピングモード等のような、スケーリング、回転、又はその他の変換されたテキストの適当な表示とは互換性の無い座標変換空間において、テキストの表示を試みるメタファイルを生成する。その結果、テキストは、垂直および/または水平方向に不適当に方向付けされるか不適当にスケーリングされる。メタファイルプロセッサは、負のY軸または互換性の無いマッピングモードを含むコマンドを識別することによって、この状態を検出する。テキストを表示するレコードの前に、メタファイルレコードが付加されることにより、座標変換空間が一時的に変更される。新たな座標変換は、周知の技術を用いて、指定された変換、配置されるテキストの座標、指定されるフォント方向付け、アスペクト比およびマッピングモードから決定される。座標変換空間は、意図された位置、方向およびアスペクト比を保存するように変更される。テキストを表示するレコードの後に他のメタファイルレコードが付加されることにより、座標変換空間がその元の状態にリセットされる。
Windows(登録商標) NTで実行されるアプリケーションによって生成されるメタファイルによっては「マイタリミット(miter limits)をセットする」レコードを含む。メタファイルプロセッサはこれらのレコードを取り除く。なぜなら、それらはWindows(登録商標)95のGDI−32によって認識されないからである。結果としての画像に対する影響は無視できる程度である。
メタファイルによっては、カラーパレットを含む16、24または32ビットのカラービットマップを含む。メタファイルプロセッサは、カラーパレットを取除くことによってビットマップレコードを変更する。なぜなら、それらは必要とされないためであり、また、それらは表示された時にビットマップのゆがみをもたらすためである。
メタファイルによっては、現カーソル位置に対して位置合せされたテキストを表示する。それにより、そのテキスト位置がビューワプログラムにおいて誤って判定されることとなり、テキストがいくつかの装置でプリントされるときに消えることとなる。メタファイルプロセッサは、相対座標ではなく絶対座標に基づいて、アライメントを指定するテキストアラインメントレコードを変更し、テキストを表示する各メタファイルレコードを変更して、正確な絶対座標を含むようにする。これは、現カーソル位置から周知の技術を用いて決定することができ、これはWindows(登録商標)に対するファンクションコールを介して取得することができる。
また、概して、フォントおよびテキストコマンドは、図15A〜Bおよび図16に関連して以下に説明する方法で、それらのスケーラビリティを向上するよう処理される。
フォント処理は、図15Aおよび図15Bにおいて説明されている。アプリケーションによっては、非スケーラブル(スケーリングできない)フォントを用いるメタファイルを生成する。これらメタファイルは、1枚の用紙に印刷される場合には正確に見えるが、プリンタのそれと異なるスケーリングで表示される場合、またはプリンタ以外の装置で表示される場合にゆがめられる。メタファイルプロセッサは、メタファイルレコードを付加することにより、このゆがみを防ぐためにスケーラブル(スケーリングできる)フォントを指定する。ステップ1602〜1608において、一連の判断ポイントは、メタファイルにおいてTrueTypeフォントが使用されたか否かを判断する。ステップ1602において、メタファイルにおいてフォントが指定されていない場合、ステップ1610において、デフォルトのTrueTypeフォントが選択される。ステップ1604において、Systemフォントが選択されている場合、ステップ1610において、それに取って代るためにTrueTypeフォントが選択される。ステップ1606において、ビットマップフォントが選択されている場合、ステップ1610において、ビットマップフォントに取って代るためにTrueTypeフォントが選択される。ステップ1608において、アプリケーションがWindows(登録商標)のSeletObjectファンクションを通じてフォント(時に、ストックフォント(stock fonts)と呼ばれる)を選択する場合、ステップ1610において、SelectObjectを通じて選択されたフォントに取って代るためにTrueTypeフォントが選択される。ステップ1602〜1610の完了後、メタファイルの2つのフラグが真にセットされ、ステップ1612においてプルーフ品質(proof quality)のTrueTypeフォントのみが使用されるべきであることを示す。ステップ1614において、フォントサイズが指定されていなかった場合、ステップ1616において、デフォルトのフォントサイズが選択される。ユーザは、予め、デフォルト値以外のフォントサイズおよび字体名を選択しておいてもよい。それらの値をデフォルト値の代りに使用することができる。ステップ1618において、ゆがんだ出力グラフィックをもたらす可能性のある軸回転またはフォント回転が行われる場合、ステップ1620において、回転(1または複数)の新たな値が上述した方法で計算される。
ここで、図16に関連してテキスト処理について説明する。アプリケーションによっては、文字間余白を指定しないテキストレコードを含むメタファイルを生成する。メタファイルプロセッサは、適当な文字間余白値を計算し、このプロセスを用いてテキストレコードを変更する。各メタファイルコマンドが評価されることにより、それがTEXTOUTレコードであるか否かが判断される。TEXTOUTレコードは、文字余白値のアレイを含むものとして指定される。すなわち、プリントされるストリングの各文字に対し、それと次の文字との間に残す余白の量を示す値が供給される。この距離値は無い場合がある。従って、距離値無しのTEXTOUTレコードに遭遇した場合、ステップ1704において、例えばGDI−32に対するファンクションコールにより、適切な距離値が取得される。ステップ1712において、古いTEXTOUTレコードが、新たに計算されたデータと置換えられる。この新たなレコードは追加のフィールドを含みそれが付加されたレコードであることを示す。
また、メタファイルのテキストをインデクスし、かかるインデクスをレポートの追加のタグ情報としてデータベースに格納するために、追加のテキスト処理を実行してもよい。このインデクスもまた、二重連係リストとして表すことができ、それが上述したレポートプレビューワ80によって使用されることにより、プレビューワ内でのテキストのサーチが可能になる。
この場合にはレポートプレビューワ80により実行されるものであるが、実行可能なテキスト処理の他の形態は、メタファイルからTEXTOUTによって生成されるようなテキストデータの、タブ区切りデータ等の文字区切りデータへの変換である。これは次に、テーブルまたはスプレッドシートに変換される。この処理は、図17に関連して述べられているが、限定する訳ではないが、TEXTOUTコマンド内のメタファイルからのテキストデータを含む、任意の形式のテキストデータに対しても使用することができる。このプロセスは、ユーザによって指定されるもの、例えば、ディスプレイ上に表示されるテキストを選択するときにユーザによって生成されるような、選択座標を受取ることを含む。概して、選択座標は、表示領域内の矩形を定義する。ステップ1800において選択座標が受取られた後、ステップ1802において、選択された座標内のテキストコンテントが識別される。このステップは、各メタファイルコマンドをプレイして各コマンドの座標を選択矩形と比較することにより、あるいは、以下に説明する二重連係リスト等の或るデータ構造内の座標を検査することにより、実行することができる。
次に、選択されたテキストによって定義されるカラムが検出される。これらカラムは、まず、例えばブール値のアレイであり得る選択された矩形に対するカラム検出データ構造を初期設定することにより検出される。ここで、各ブール値は、ディスプレイ上の水平論理座標または文字ストリングの1文字に対応する。このアレイは、概して、テーブルの水平寸法を表す。このアレイは、選択された矩形の頂部から底部までの「余白(white space)」またはテキストが存在しないことを検出するために使用される。ステップ1806において、選択座標内の各コマンドまたはテキストストリングに対し、このカラム検出データ構造が変更される。特に、ブール値のアレイにおける各座標または文字に対するブール値は、テキストが、選択矩形内で識別されるテキストコンテントの何れかからのその座標において存在する場合に、真にセットされる。ステップ1806の最終的な結果は、1つまたは複数の隣接する偽の値が現れるとそのそれぞれがカラム境界を示す、ということである。ステップ1808において、各テキストアイテムのY座標を用いて、各行のテキストが識別される。次に、テーブルの各行の終端においてキャリッジリターンを有し、タブ文字によって分離されたセル値のストリング、例えばASCIIストリング等のストリング、が構築される。所定の行の各テキストアイテムに対し、そのX座標がカラム検出構造と比較され、それが属するカラムが判定される。各行について挿入されるタブの数の現カウントが保持される。各セルが付加される際に、それに先行するタブ文字の正確な数を計算することができる。このオペレーションは、必要に応じて余分のタブを挿入することにより、空のセルを正確に考慮する。ステップ1810において、このオペレーションを用いてテキストコマンドからタブ区切りテキストが生成される。タブ区切りテキストから、他のアプリケーションがかかるテキストをテーブルに容易に変換することができ、あるいは、スプレッドシートアプリケーションがスプレッドシートの個々のセルに値を挿入することができる。
アプリケーションからの視覚的形式のデータの標準フォーマットがデータベースに取込まれる上述したシステムを提供することにより、地理的に分散されている複数の異なるコンピュータプログラムを用いて複数の異なるユーザによってある期間にわたって生成され、使用され、共有されたデータが、それらデータを生成するアプリケーションとは無関係の方法で、中央で編成され、管理され、アクセスされることが可能となる。また、データベースは、データが、他のアプリケーションに対し表示、プリントまたはコピーのためにサーチおよび読出されることが可能な単一のフォーマットである、中央のリポジトリ(貯蔵場所)も提供する。単一の標準フォーマットを使用することにより、データを表示した元のアプリケーションが無くてもデータを表示することができる。また、ユーザは、データが最初に生成されたアプリケーションにアクセスする必要なく、複数のデータ源から複合文書を生成することができる。
ここでは、いくつかの実施形態を説明したが、当業者には、上述したことが単に例示的なものであり、単に例として提示されたものであり、この限りではないことが明らかである。多くの変更を行うことができる。
例えば、上述した例においてプリントコマンドが使用される。なぜなら、大抵のアプリケーションが少なくともそれらが処理し表示する視覚的形式のデータをプリントする能力を有しているためである。「カット・アンド・ペースト(cut and paste)」シーケンス等の一般にアプリケーションで使用される他のファンクションもまた、例えばWindows(登録商標)の「クリップボード(Clipboard)」や「オブジェクトのリンクおよび埋め込み(Object linking and embedding(OLE))サーバ」のような一時記憶手段において、1つのアプリケーションから異なる標準フォーマットへとデータを翻訳するために、オペレーティングシステムへのファンクションコールが関与する。このデータは、他のアプリケーションにより一時記憶手段から検索されることが可能である。これらおよび他のオペレーティングシステムのファンクションを用いて、標準フォーマットデータへのアクセスを提供することができ、その後そのデータはデータベースに格納することができる。
また、クエリインタフェースまたはレポートプレビューワから他のアプリケーションへレポートを転送する上述した送出オペレーションを用いて、ソースアプリケーションからのデータを、データをデータベースに取り込む宛先アプリケーションへ配置することも可能である。
また、他のオペレーティングシステムを使用することも可能である。例えば、Unix(登録商標)(ユニックス)、PostScript(ポストスクリプト)データをアプリケーションから取り込み、データベースに格納してもよい。PostScriptデータは、メタファイルフォーマットに変換してもよい。あるいは、プリントドライバは、いかなるオペレーティングシステムに対しても準備することができる。
これらおよび他の実施形態は、本技術分野における通常の技術の1つの範囲内にあり、本発明の範囲内にあるものと考えられる。

Claims (10)

  1. タグと関連する視覚的形式のデータを見るための、コンピュータにより行われる方法であって、
    複数のレポートを含むデータベースを選択するステップであって、各レポートは、プリント形式のデータ又は表示形式のデータの1つに対応する視覚的形式のデータの表現を含むものであり、各レポートは、1又は複数の関連するタグを有するものであり、前記関連するタグのそれぞれは、それぞれの前記レポートに対する識別情報を含むものであり、前記タグの少なくとも1つのタグは、前記視覚的形式のデータに含まれるものであり、水平座標および垂直座標が、前記視覚的形式のデータにおける少なくとも1つのテキスト・エレメントの位置を特定するものである、ステップと、
    1又は複数のページを含む少なくとも1つのレポートを選択するステップと、
    前記少なくとも1つのレポートの各ページについて、前記各ページに対応するメタファイル・データを含むメタファイルのための名前付きテンポラリ・ファイルを構築するステップと、
    前記各ページに対応する前記名前付きテンポラリ・ファイルに含まれる前記メタファイル・データにより表される前記視覚的形式のデータを見るためにコントロール・ファイルへアクセスするプレビューワ・プログラムを実行するステップであって、前記コントロール・ファイルは、前記少なくとも1つのタグと、前記少なくとも1つのレポートの1つのページに対応するメタファイルに対する前記名前付きテンポラリ・ファイルの名前とを含むものであり、前記プレビューワ・プログラムは、前記各ページに対応する前記メタファイルに含まれる前記メタファイル・データをプレイすることにより、前記少なくとも1つのレポートの各ページに対する前記視覚的形式のデータを得るものであり、前記プレビューワ・プログラムは、プレイされたメタファイル・データに対してオペレーションを行うことにより、前記少なくとも1つのレポートにおける指定されたテキストのインスタンスについてのサーチを行うステップを行うように動作するものである、ステップと、
    を備え、前記サーチを行うステップは、
    前記少なくとも1つのレポートの1又は複数のメタファイルにおける各テキスト・コマンドと、前記各テキスト・コマンドと関連するテキスト・ストリングにおけるテキストの位置を特定する座標とを、特定するステップと、
    テキスト・コマンドを、ページにより、ディスプレイ内のY座標位置により、および前記ディスプレイ内のX座標位置により、ソートするステップと、
    ソートされた前記テキスト・コマンドからレコードのリストを形成するステップであって、各レコードは、テキスト・ストリングと、前記ディスプレイにおける前記テキスト・ストリングの位置とに関連するものである、ステップと、
    前記リストからの前記テキスト・ストリングのうちの第1のテキスト・ストリングと、前記リストからの前記テキスト・ストリングのうちの第2のテキスト・ストリングとが、テキスト高さの所定のパーセンテージ内にある場合に、前記第1のテキスト・ストリングと前記第2のテキスト・ストリングとを連結するステップと
    を備える、
    方法。
  2. 請求項1に記載の方法であって、オペレーティンク・システムへ、メタファイルをプレイするためのプレイ・メタファイル・コマンドを発行することにより、前記視覚的形式のデータを見るために、前記名前付きテンポラリ・ファイルをプレイするステップを更に備える方法。
  3. 請求項1に記載の方法であって、少なくとも1つのレポートを選択する前記ステップの後に、
    前記少なくとも1つのレポートを、プリントするか、プレビューするか、又は他のアプリケーションへ送信するかのうちの1つを選択するステップを更に備え、
    前記プリントすることは、前記名前付きテンポラリ・ファイルをプリンタ・デバイスへ送ることを含み、前記少なくとも1つのレポートを他のアプリケーションへ前記送信することは、
    1又は複数のタグと、メタファイル名と、宛先アプリケーションと関連する名前と、前記宛先アプリケーションにおいていかにペースト・オペレーションが実行されるかを定義するキーストロークのセットとを含む送出コントロール・ファイルを作るステップと、
    前記宛先アプリケーションにおける予め定めた位置に前記少なくとも1つのレポートをペーストするために前記送出コントロール・ファイルを用いる別のプログラムを、実行するステップと
    を含む、
    方法。
  4. 請求項1に記載の方法であって、
    前記レポートのリストと関連する前記データベースのレコードに対して適用されるソートおよびフィルタのオペレーションの1つを選択するステップと、
    表示される各レコードに対して、前記各レコードに対するタグの循環冗長コードに基づいて前記各レコードが変更されているを示す視覚的指示を決定するステップと
    を更に備える方法。
  5. 請求項1に記載の方法であって、
    フィルタ・パラメータに従って選択された前記データベースへクエリを行うステップと、
    クエリ・インターフェースからサービス・レイヤへ少なくとも1つの選択されたレコードを示すステップであって、少なくとも1つの選択された前記レコードは、選択された前記少なくとも1つのレポートに対応するものである、ステップと、
    前記サービス・レイヤに、少なくとも1つの選択された前記レコードと関連するメタファイルを要求するステップと、
    前記サービス・レイヤで、少なくとも1つの選択された前記レコードと関連する前記少なくとも1つのレポートおよび前記少なくとも1つのレポートのページをフィルタとして用いて、クエリ・ステートメントを準備するステップと、
    前記データベースと関連するメタファイル・テーブルで前記クエリ・ステートメントを実行するステップと、
    テンポラリ・ファイル内の前記少なくとも1つのレポートの各ページに対するメタファイルを記憶するステップと、
    レポート識別子、ページ番号、およびメタファイル名のうちの1又は複数のものを含むリストを構築するステップと、
    前記少なくとも1つのレポートをプリントするかプレビューするか又は他のアプリケーションへ送信するかのうちの1つを選択することに従って所定の様式で前記リストを処理するために、前記リストを前記クエリ・インターフェースへ提供するステップと
    を更に備える方法。
  6. 請求項1に記載の方法であって、選択された前記データベースを開いた後に、選択された前記データベースから別のデータベースへレコードをコピーするステップを更に含み、前記コピーするステップは、
    クエリ・インターフェースで1又は複数のレコードのユーザ選択を受け取るステップと、
    前記クエリ・インターフェースでコピー・コマンドを受け取るステップと、
    宛先のデータベースが開かれるように促すステップと、
    前記1又は複数のレコードを前記宛先のデータベースにコピーするステップと
    を更に含む、
    方法。
  7. 請求項1に記載の方法であって、
    前記プレビューワ・プログラムを用いて、選択されたメタファイルの一部を選択するステップと、
    前記の選択されたメタファイルの一部を選択することに従って、新たなメタファイルを形成するステップと、
    矩形状の形状を定める座標を用いて、前記選択されたメタファイルの前記一部の選択を表すステップと、
    前記選択されたメタファイルの各コマンドと前記座標とを比較するステップであって、前記各コマンドが、関連する座標を持たず、前記座標により形成される形状内に表示情報を作り出すものの1つである場合、前記各コマンドは前記新たなメタファイルに含まれるものである、ステップと、
    前記各コマンドが、前記座標により形成される前記形状の内側および外側の双方にある表示情報を作り出す場合、前記座標内に制限されるように前記各コマンドを変更するステップと
    を更に備える方法。
  8. 請求項1に記載の方法であって、前記複数のレポートのうちの少なくとも1つのレポートは、オブジェクトを描くため、線を描くため、形状を描くため、テキストを描くため、およびレポートに含まれる少なくとも1つのエレメントのスタイルを制御するため、のうちの少なくとも1つのためのコマンドを含み、前記コマンドは、表示又はプリントのエリアの一部と関連する、方法。
  9. 請求項1に記載の方法であって、前記視覚的形式のデータはベクトル画像又はメタファイルとして表される、方法。
  10. コンピュータ読取可能な記録媒体であって、請求項1ないし9の何れかに記載の方法の処理をコンピュータに実行させるプログラムを記録した記録媒体。
JP2010047785A 1998-02-04 2010-03-04 アプリケーションからの視覚的形式の情報をデータベースに格納しデータベースから検索する情報格納および検索システム Expired - Lifetime JP4585039B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US7370198P 1998-02-04 1998-02-04
US09/213,019 US6260044B1 (en) 1998-02-04 1998-12-16 Information storage and retrieval system for storing and retrieving the visual form of information from an application in a database

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000530871A Division JP2002503004A (ja) 1998-02-04 1999-01-28 アプリケーションからの視覚的形式の情報をデータベースに格納しデータベースから検索する情報格納および検索システム

Publications (2)

Publication Number Publication Date
JP2010170568A JP2010170568A (ja) 2010-08-05
JP4585039B2 true JP4585039B2 (ja) 2010-11-24

Family

ID=26754797

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000530871A Pending JP2002503004A (ja) 1998-02-04 1999-01-28 アプリケーションからの視覚的形式の情報をデータベースに格納しデータベースから検索する情報格納および検索システム
JP2010047785A Expired - Lifetime JP4585039B2 (ja) 1998-02-04 2010-03-04 アプリケーションからの視覚的形式の情報をデータベースに格納しデータベースから検索する情報格納および検索システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000530871A Pending JP2002503004A (ja) 1998-02-04 1999-01-28 アプリケーションからの視覚的形式の情報をデータベースに格納しデータベースから検索する情報格納および検索システム

Country Status (10)

Country Link
US (3) US6260044B1 (ja)
EP (1) EP1051685B1 (ja)
JP (2) JP2002503004A (ja)
KR (1) KR100670083B1 (ja)
AT (1) ATE227863T1 (ja)
AU (1) AU764320B2 (ja)
CA (1) CA2319374C (ja)
DE (1) DE69903919T2 (ja)
NO (1) NO315726B1 (ja)
WO (1) WO1999040525A2 (ja)

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6980325B1 (en) * 1999-01-27 2005-12-27 Mitsubishi Denki Kabushiki Kaisha Automated color property adaptation in computer output devices
JP2000238338A (ja) * 1999-02-23 2000-09-05 Matsushita Electric Ind Co Ltd 画像処理装置
US8321411B2 (en) 1999-03-23 2012-11-27 Microstrategy, Incorporated System and method for management of an automatic OLAP report broadcast system
US6718334B1 (en) * 1999-05-28 2004-04-06 Inter American Data, L.L.C. Computer implemented document and image management system
US6626959B1 (en) * 1999-06-14 2003-09-30 Microsoft Corporation Automatic formatting of pivot table reports within a spreadsheet
US7243236B1 (en) * 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US6591295B1 (en) * 1999-11-05 2003-07-08 Oracle International Corp. Methods and apparatus for using multimedia data stored in a relational database in web applications
US6772156B1 (en) * 1999-11-29 2004-08-03 Actuate Corporation Method and apparatus for creating and displaying a table of content for a computer-generated report having page-level security
US6859805B1 (en) * 1999-11-29 2005-02-22 Actuate Corporation Method and apparatus for generating page-level security in a computer generated report
US6606103B1 (en) * 1999-11-30 2003-08-12 Uhc Llc Infinite resolution scheme for graphical user interface object
US6466945B1 (en) * 1999-12-20 2002-10-15 Chartered Semiconductor Manufacturing Ltd Accurate processing through procedure validation in software controlled environment
US7082436B1 (en) 2000-01-05 2006-07-25 Nugenesis Technologies Corporation Storing and retrieving the visual form of data
US20030188261A1 (en) * 2000-03-17 2003-10-02 Smith Peter Thomas Form production system
US7448000B2 (en) 2000-03-17 2008-11-04 Schlucktronix Llc Methods and devices for reconstructing visual stimuli observed through browser-based interfaces over time
US7243310B2 (en) 2000-03-17 2007-07-10 Schlucktronix Llc Methods and devices for recording changes in visual stimuli observed through browser-based interfaces
US6847466B1 (en) * 2000-04-27 2005-01-25 Hewlett-Packard Development Company, L.P. Printing method
US6959429B1 (en) * 2000-05-16 2005-10-25 Watterson-Prime Software, Inc. System for developing data collection software applications
US20020059233A1 (en) * 2000-07-13 2002-05-16 International Business Machines Corporation Method and system in an electronic spreadsheet for applying user-defined options
US6763934B2 (en) 2000-08-31 2004-07-20 Ishida Co., Ltd. Electromagnetically driven transport device and weighing apparatus using the same
US6557009B1 (en) * 2000-09-01 2003-04-29 American Management Systems, Inc. Environmental permit web portal with data validation capabilities
US6760728B1 (en) * 2000-09-27 2004-07-06 Palmsource, Inc. Method and apparatus for importing and exporting directory and calendar information to and from personal information management applications
US20020040311A1 (en) * 2000-10-04 2002-04-04 John Douglass Web browser page rating system
US7296219B1 (en) * 2000-10-16 2007-11-13 International Business Machines Corporation Client side, web-based calculator
US6774921B1 (en) * 2000-11-17 2004-08-10 Unisys Corporation Method and apparatus for dynamically saving/restoring the properties of controls in a screen dialog
US6665587B2 (en) * 2000-11-29 2003-12-16 Xerox Corporation Product template for a personalized printed product incorporating workflow sequence information
US7076485B2 (en) 2001-03-07 2006-07-11 The Mitre Corporation Method and system for finding similar records in mixed free-text and structured data
US7200271B2 (en) * 2001-03-29 2007-04-03 The Boeing Company Method, computer program product, and system for performing automated text recognition and text search within a graphic file
US7054878B2 (en) * 2001-04-02 2006-05-30 Accenture Global Services Gmbh Context-based display technique with hierarchical display format
BR0116971B1 (pt) * 2001-04-11 2012-09-04 método para imprimir documentos que requerem segurança usando folhas com identificadores.
US7213039B2 (en) * 2001-09-07 2007-05-01 Extended System, Inc. Synchronizing differing data formats
US7072879B2 (en) * 2001-10-22 2006-07-04 Siemens Building Technologies, Inc. Partially embedded database and an embedded database manager for a control system
US20030076512A1 (en) * 2001-10-23 2003-04-24 Laughlin John D. System and method to automatically scale preformatted text within an electronic document for printing
US6991761B2 (en) * 2001-10-26 2006-01-31 3M Innovative Properties Company Information management and material distribution for sterilization facilities
US8274719B2 (en) * 2001-11-30 2012-09-25 Canon Kabushiki Kaisha Printing system, print preview method, and preview method using a printer driver
US7315848B2 (en) * 2001-12-12 2008-01-01 Aaron Pearse Web snippets capture, storage and retrieval system and method
US7246102B2 (en) * 2001-12-21 2007-07-17 Agere Systems Inc. Method of improving the lookup performance of three-type knowledge base searches
US7996492B2 (en) * 2002-02-20 2011-08-09 Hewlett-Packard Development Company, L.P. System for providing information regarding network resources
US7376695B2 (en) * 2002-03-14 2008-05-20 Citrix Systems, Inc. Method and system for generating a graphical display for a remote terminal session
US8671213B2 (en) 2002-03-14 2014-03-11 Citrix Systems, Inc. Methods and apparatus for generating graphical and media displays at a client
US7808673B2 (en) * 2002-03-22 2010-10-05 Laser Substrates, Inc. Method and system for sending notification of an issued draft
US7379203B2 (en) * 2002-03-22 2008-05-27 Laser Substrates, Inc. Data capture during print process
US20030193582A1 (en) * 2002-03-29 2003-10-16 Fuji Photo Film Co., Ltd. Method for storing an image, method and system for retrieving a registered image and method for performing image processing on a registered image
US6961072B2 (en) * 2002-04-19 2005-11-01 Infologic, Inc. Method and system for viewing chromatographic peaks over a network
US7272605B1 (en) * 2002-05-13 2007-09-18 Netezza Corporation Network interface for distributed intelligence database system
US20030210834A1 (en) * 2002-05-13 2003-11-13 Gregory Hitchcock Displaying static images using spatially displaced sampling with semantic data
US7698338B2 (en) * 2002-09-18 2010-04-13 Netezza Corporation Field oriented pipeline architecture for a programmable data streaming processor
US7539940B2 (en) * 2002-10-09 2009-05-26 Microsoft Corporation System and method for converting between text formatting or markup language formatting and outline structure
US7437760B2 (en) * 2002-10-10 2008-10-14 International Business Machines Corporation Antiviral network system
US7370271B2 (en) * 2002-10-30 2008-05-06 Actuate Corporation Methods and apparatus for generating a spreadsheet report template
GB0228873D0 (en) * 2002-12-11 2003-01-15 Unilever Plc Process and apparatus for keeping records
US7363313B2 (en) * 2003-08-07 2008-04-22 International Business Machines Corporation Method, system, and program product for rebasing an application
US8515923B2 (en) * 2003-11-17 2013-08-20 Xerox Corporation Organizational usage document management system
US8548170B2 (en) 2003-12-10 2013-10-01 Mcafee, Inc. Document de-registration
US8656039B2 (en) 2003-12-10 2014-02-18 Mcafee, Inc. Rule parser
US7984175B2 (en) 2003-12-10 2011-07-19 Mcafee, Inc. Method and apparatus for data capture and analysis system
US20050131854A1 (en) * 2003-12-11 2005-06-16 International Business Machines Corporation Dynamic command line user interface
JP2005223863A (ja) * 2004-02-09 2005-08-18 Konica Minolta Business Technologies Inc 画像処理装置、画像処理方法ならびに画像処理プログラムおよびこれを記録したコンピュータ読み取り可能な記録媒体
US20050203976A1 (en) * 2004-02-11 2005-09-15 University Of California Systems, tools and methods for transferring files and metadata to and from a storage means
KR100585312B1 (ko) * 2004-05-21 2006-06-01 삼성전자주식회사 웹페이지 인쇄 방법
US7949849B2 (en) * 2004-08-24 2011-05-24 Mcafee, Inc. File system for a capture system
US7925658B2 (en) * 2004-09-17 2011-04-12 Actuate Corporation Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report
CN1791070B (zh) * 2004-12-17 2010-04-28 腾讯科技(深圳)有限公司 一种在网络上传输文档的方法
US7870480B1 (en) 2005-03-14 2011-01-11 Actuate Corporation Methods and apparatus for storing and retrieving annotations accessible by a plurality of reports
US20060225037A1 (en) * 2005-03-30 2006-10-05 Microsoft Corporation Enabling UI template customization and reuse through parameterization
US20060224962A1 (en) * 2005-03-30 2006-10-05 Microsoft Corporation Context menu navigational method for accessing contextual and product-wide choices via remote control
US20060221382A1 (en) * 2005-04-05 2006-10-05 Microsoft Corporation Supporting a filter pipeline for a spooling module
US8214754B2 (en) * 2005-04-15 2012-07-03 Microsoft Corporation Registration of applications and complimentary features for interactive user interfaces
US7602972B1 (en) * 2005-04-25 2009-10-13 Adobe Systems, Incorporated Method and apparatus for identifying white space tables within a document
US7840610B2 (en) * 2005-05-11 2010-11-23 International Business Machines Corporation Apparatus, system, and method for map definition generation
US7725476B2 (en) * 2005-06-14 2010-05-25 International Business Machines Corporation System and method for automated data retrieval based on data placed in clipboard memory
US8156079B1 (en) 2005-06-30 2012-04-10 Emc Corporation System and method for index processing
US7966292B1 (en) 2005-06-30 2011-06-21 Emc Corporation Index processing
US20080201689A1 (en) * 2005-06-30 2008-08-21 Freescale Semiconductor, Inc. Vector Crc Computatuion on Dsp
US8161005B1 (en) 2005-06-30 2012-04-17 Emc Corporation Efficient index processing
US7809777B2 (en) * 2005-07-01 2010-10-05 Qnx Software Systems Gmbh & Co. Kg File system having deferred verification of data integrity
US8959125B2 (en) * 2005-07-01 2015-02-17 226008 Ontario Inc. File system having inverted hierarchical structure
US7873683B2 (en) 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US7970803B2 (en) 2005-07-01 2011-06-28 Qnx Software Systems Gmbh & Co. Kg Optimized startup verification of file system integrity
US7907608B2 (en) 2005-08-12 2011-03-15 Mcafee, Inc. High speed packet capture
US7627609B1 (en) 2005-09-30 2009-12-01 Emc Corporation Index processing using transformed values
US7698325B1 (en) 2005-09-30 2010-04-13 Emc Corporation Index processing for legacy systems
US7752211B1 (en) * 2005-09-30 2010-07-06 Emc Corporation Adaptive index processing
US20070118566A1 (en) * 2005-11-18 2007-05-24 International Business Machines Corporation Method and Apparatus for File Attribute Selection into a System Clipboard
US8196055B2 (en) 2006-01-30 2012-06-05 Microsoft Corporation Controlling application windows in an operating system
US20070219986A1 (en) * 2006-03-20 2007-09-20 Babylon Ltd. Method and apparatus for extracting terms based on a displayed text
US7725495B2 (en) 2006-04-11 2010-05-25 Microsoft Corporation Implementing referential integrity in a database hosting service
US7958227B2 (en) 2006-05-22 2011-06-07 Mcafee, Inc. Attributes of captured objects in a capture system
US20070285723A1 (en) * 2006-05-26 2007-12-13 Laser Substrates, Inc. Method and system for managing bank drafts
US7908276B2 (en) 2006-08-25 2011-03-15 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache
US8566503B2 (en) 2006-08-25 2013-10-22 Qnx Software Systems Limited Multimedia filesystem having unified representation of content on diverse multimedia devices
US9141627B2 (en) * 2006-09-26 2015-09-22 Sony Corporation Providing a user access to data files distributed in a plurality of different types of user devices
US7650365B2 (en) * 2006-12-20 2010-01-19 The Boeing Company System and method for delivering updated data information
US20080270401A1 (en) * 2007-04-26 2008-10-30 Kristin Petersen Method and Apparatus for Displaying Sorted Test Data Entries
US20090021514A1 (en) * 2007-05-22 2009-01-22 Mark Klusza Handling raster image 3d objects
US20080320596A1 (en) * 2007-06-22 2008-12-25 Feng Chi Wang Distributed digital rights management system and methods for use therewith
WO2009025022A1 (ja) * 2007-08-20 2009-02-26 Konica Minolta Medical & Graphic, Inc. 情報処理システム、およびプログラム
US9053168B2 (en) * 2007-10-04 2015-06-09 Konica Minolta Medical & Graphic, Inc. Database system and program
JP5006764B2 (ja) * 2007-11-08 2012-08-22 キヤノン株式会社 画像処理装置、画像処理方法、プログラム、および記憶媒体
US9253154B2 (en) 2008-08-12 2016-02-02 Mcafee, Inc. Configuration management for a capture/registration system
US8850591B2 (en) 2009-01-13 2014-09-30 Mcafee, Inc. System and method for concept building
US8706709B2 (en) 2009-01-15 2014-04-22 Mcafee, Inc. System and method for intelligent term grouping
US8473442B1 (en) 2009-02-25 2013-06-25 Mcafee, Inc. System and method for intelligent state management
US8447722B1 (en) 2009-03-25 2013-05-21 Mcafee, Inc. System and method for data mining and security policy management
US8204900B2 (en) * 2009-05-21 2012-06-19 Bank Of America Corporation Metrics library
CN101989215A (zh) * 2009-07-29 2011-03-23 鸿富锦精密工业(深圳)有限公司 电子装置及在电子装置中窗口进程调用的方法
US9165043B2 (en) * 2009-11-25 2015-10-20 Maobing Jin Logical object search framework and application programming interface
KR101043238B1 (ko) * 2009-11-25 2011-06-30 주식회사 바우압텍 고전압용 정전기 방전 보호 소자
JP5316393B2 (ja) * 2009-12-15 2013-10-16 三菱マテリアル株式会社 プラズマ処理装置用電極板
US9355282B2 (en) * 2010-03-24 2016-05-31 Red Hat, Inc. Using multiple display servers to protect data
US10805331B2 (en) 2010-09-24 2020-10-13 BitSight Technologies, Inc. Information technology security assessment system
US9830569B2 (en) * 2010-09-24 2017-11-28 BitSight Technologies, Inc. Security assessment using service provider digital asset information
US8806615B2 (en) 2010-11-04 2014-08-12 Mcafee, Inc. System and method for protecting specified data combinations
US9349130B2 (en) 2010-11-17 2016-05-24 Eloqua, Inc. Generating relative and absolute positioned resources using a single editor having a single syntax
US8559765B2 (en) * 2011-01-05 2013-10-15 International Business Machines Corporation System and method for image storage and analysis
US9021353B2 (en) * 2011-11-16 2015-04-28 Jonathan Zornow Systems and methods for camouflaging an information stream
US20130166550A1 (en) * 2011-12-21 2013-06-27 Sap Ag Integration of Tags and Object Data
US20130246334A1 (en) 2011-12-27 2013-09-19 Mcafee, Inc. System and method for providing data protection workflows in a network environment
US8938428B1 (en) 2012-04-16 2015-01-20 Emc Corporation Systems and methods for efficiently locating object names in a large index of records containing object names
US20130288207A1 (en) * 2012-04-27 2013-10-31 Jed Murdock Ostrom Method of Preparing Letter Art
US20140149470A1 (en) * 2012-11-27 2014-05-29 Sandeep Rawal Systems and methods for storing and populating forms
CN103136365A (zh) * 2013-03-15 2013-06-05 山东浪潮齐鲁软件产业股份有限公司 烟草行业不同系统之间交互数据的方法
US9680858B1 (en) 2013-09-09 2017-06-13 BitSight Technologies, Inc. Annotation platform for a security risk system
US9438615B2 (en) 2013-09-09 2016-09-06 BitSight Technologies, Inc. Security risk management
US10698723B2 (en) * 2014-03-31 2020-06-30 Oracle International Corporation Dropping an index without blocking locks
US20150324333A1 (en) * 2014-05-06 2015-11-12 Level 3 Communications, Llc Systems and methods for automatically generating hyperlinks
US10380115B2 (en) 2015-01-06 2019-08-13 International Business Machines Corporation Cross column searching a relational database table
US9928055B1 (en) 2015-10-23 2018-03-27 Sprint Communications Company L.P. Validating development software by comparing results from processing historic data sets
US9912547B1 (en) * 2015-10-23 2018-03-06 Sprint Communications Company L.P. Computer platform to collect, marshal, and normalize communication network data for use by a network operation center (NOC) management system
WO2017136867A1 (en) * 2016-02-11 2017-08-17 Global Software Innovation Pty Ltd Systems and methods for securing an entity-relationship system
US11182720B2 (en) 2016-02-16 2021-11-23 BitSight Technologies, Inc. Relationships among technology assets and services and the entities responsible for them
US10015089B1 (en) 2016-04-26 2018-07-03 Sprint Communications Company L.P. Enhanced node B (eNB) backhaul network topology mapping
US10425380B2 (en) 2017-06-22 2019-09-24 BitSight Technologies, Inc. Methods for mapping IP addresses and domains to organizations using user activity data
US10257219B1 (en) 2018-03-12 2019-04-09 BitSight Technologies, Inc. Correlated risk in cybersecurity
US10812520B2 (en) 2018-04-17 2020-10-20 BitSight Technologies, Inc. Systems and methods for external detection of misconfigured systems
US11200323B2 (en) 2018-10-17 2021-12-14 BitSight Technologies, Inc. Systems and methods for forecasting cybersecurity ratings based on event-rate scenarios
US10521583B1 (en) 2018-10-25 2019-12-31 BitSight Technologies, Inc. Systems and methods for remote detection of software through browser webinjects
US11080547B2 (en) * 2018-12-28 2021-08-03 Konica Minolta Laboratory U.S.A., Inc. Augmented reality document processing
US10726136B1 (en) 2019-07-17 2020-07-28 BitSight Technologies, Inc. Systems and methods for generating security improvement plans for entities
US11956265B2 (en) 2019-08-23 2024-04-09 BitSight Technologies, Inc. Systems and methods for inferring entity relationships via network communications of users or user devices
US10848382B1 (en) 2019-09-26 2020-11-24 BitSight Technologies, Inc. Systems and methods for network asset discovery and association thereof with entities
US11032244B2 (en) 2019-09-30 2021-06-08 BitSight Technologies, Inc. Systems and methods for determining asset importance in security risk management
US10791140B1 (en) 2020-01-29 2020-09-29 BitSight Technologies, Inc. Systems and methods for assessing cybersecurity state of entities based on computer network characterization
US10893067B1 (en) 2020-01-31 2021-01-12 BitSight Technologies, Inc. Systems and methods for rapidly generating security ratings
US10764298B1 (en) 2020-02-26 2020-09-01 BitSight Technologies, Inc. Systems and methods for improving a security profile of an entity based on peer security profiles
US11023585B1 (en) 2020-05-27 2021-06-01 BitSight Technologies, Inc. Systems and methods for managing cybersecurity alerts
US11122073B1 (en) 2020-12-11 2021-09-14 BitSight Technologies, Inc. Systems and methods for cybersecurity risk mitigation and management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08161467A (ja) * 1994-12-05 1996-06-21 Canon Inc 電子ファイル装置並びに電子ファイルシステム

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4493868A (en) * 1982-12-14 1985-01-15 Kimberly-Clark Corporation High bulk bonding pattern and method
US4941125A (en) 1984-08-01 1990-07-10 Smithsonian Institution Information storage and retrieval system
US4800510A (en) 1985-07-31 1989-01-24 Computer Associates International, Inc. Method and system for programmed control of computer generated graphics layout
US4852019A (en) 1986-01-31 1989-07-25 Computer Associates International, Inc. Method and system for retrieval of stored graphs
US5083262A (en) 1986-04-28 1992-01-21 International Business Machines Corporation Language bindings for graphics functions to enable one application program to be used in different processing environments
JPS6381574A (ja) 1986-09-25 1988-04-12 Toshiba Corp 図形デ−タベ−ス入力装置
JPS63174122A (ja) * 1987-01-05 1988-07-18 コンピュータ・エツクス・インコーポレーテツド コンピユーターヒューマンインタフエース
JP2753260B2 (ja) * 1987-05-13 1998-05-18 株式会社日立製作所 マージ方法
JPH0827800B2 (ja) 1987-05-15 1996-03-21 株式会社日立製作所 情報検索装置
US4943868A (en) 1988-03-01 1990-07-24 Kabushiki Kaisha Toshiba Handy image data filing apparatus
US5060135A (en) 1988-09-16 1991-10-22 Wang Laboratories, Inc. Apparatus for manipulating documents in a data processing system utilizing reduced images of sheets of information which are movable
WO1989011693A1 (en) 1988-05-27 1989-11-30 Wang Laboratories, Inc. Document annotation and manipulation in a data processing system
US4933880A (en) 1988-06-15 1990-06-12 International Business Machines Corp. Method for dynamically processing non-text components in compound documents
US5231578A (en) 1988-11-01 1993-07-27 Wang Laboratories, Inc. Apparatus for document annotation and manipulation using images from a window source
JP2664240B2 (ja) * 1989-03-17 1997-10-15 株式会社日立製作所 画像データの登録検索方式
US5119465A (en) 1989-06-19 1992-06-02 Digital Equipment Corporation System for selectively converting plurality of source data structures through corresponding source intermediate structures, and target intermediate structures into selected target structure
JPH03142678A (ja) 1989-10-30 1991-06-18 Toshiba Corp 電子ファイリングシステム
JPH03202958A (ja) 1989-12-28 1991-09-04 Toshiba Corp 画像情報記憶検索装置
US5521722A (en) * 1990-01-31 1996-05-28 Thomas De La Rue Limited Image handling facilitating computer aided design and manufacture of documents
US5379376A (en) 1990-06-04 1995-01-03 International Business Machines Corporation Bi-directional graphics attribute conversion profile
US6152369A (en) * 1990-09-11 2000-11-28 Metrologic Instruments, Inc. System for storing, accessing and displaying html encoded
US5467444A (en) * 1990-11-07 1995-11-14 Hitachi, Ltd. Method of three-dimensional display of object-oriented figure information and system thereof
WO1992009965A1 (en) * 1990-11-30 1992-06-11 Cambridge Animation Systems Limited Animation
JPH04275684A (ja) 1991-03-01 1992-10-01 Fuji Xerox Co Ltd 図形情報データベース構築方法およびその方法が適用される装置
US5448692A (en) * 1991-03-27 1995-09-05 Ricoh Company, Ltd. Digital image processing device involving processing of areas of image, based on respective contour line traces
DE69230985T2 (de) * 1991-06-11 2000-10-05 Canon Kk Bildverarbeitungssystem mit mehreren Speicheranordnungen
CA2066559A1 (en) 1991-07-29 1993-01-30 Walter S. Rosenbaum Non-text object storage and retrieval
JPH0554087A (ja) 1991-08-23 1993-03-05 Fujitsu Ltd 図形処理方式
US5546572A (en) 1991-08-28 1996-08-13 Hitachi, Ltd. Method for retrieving database of image information
US5418865A (en) 1992-03-20 1995-05-23 Xerox Corporation Mark sensing on a form
US5416895A (en) 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
FR2696852B1 (fr) * 1992-10-12 1994-12-23 Bull Sa Procédé d'aide à l'optimisation d'une requête d'un système de gestion de base de données relationnel.
US5579471A (en) 1992-11-09 1996-11-26 International Business Machines Corporation Image query system and method
FR2697930B1 (fr) 1992-11-09 1995-01-13 Commissariat Energie Atomique Procédé de réalisation d'une image de référence synthétisée pour l'inspection d'objets.
US5630121A (en) 1993-02-02 1997-05-13 International Business Machines Corporation Archiving and retrieving multimedia objects using structured indexes
US5517605A (en) 1993-08-11 1996-05-14 Ast Research Inc. Method and apparatus for managing browsing, and selecting graphic images
JP3697276B2 (ja) * 1993-10-27 2005-09-21 ゼロックス コーポレイション 画像ディスプレイ方法及び画像ディスプレイ装置並びに画像スケーリング方法
JPH07146871A (ja) 1993-11-24 1995-06-06 Hitachi Ltd 静止画検索装置および静止画検索方法
JP3171744B2 (ja) 1994-03-15 2001-06-04 シャープ株式会社 音声及び動画の検索装置
US5781714A (en) * 1994-05-27 1998-07-14 Bitstream Inc. Apparatus and methods for creating and using portable fonts
US5528734A (en) 1994-05-31 1996-06-18 Canon Information Systems, Inc. Printer control system with copier type document handling
US5577188A (en) * 1994-05-31 1996-11-19 Future Labs, Inc. Method to provide for virtual screen overlay
US5687254A (en) 1994-06-06 1997-11-11 Xerox Corporation Searching and Matching unrecognized handwriting
US5519818A (en) 1994-09-19 1996-05-21 Taligent, Inc. Object-oriented graphic picking system
US5802361A (en) * 1994-09-30 1998-09-01 Apple Computer, Inc. Method and system for searching graphic images and videos
JP3175498B2 (ja) 1994-10-14 2001-06-11 セイコーエプソン株式会社 インクジェット式カラー印刷のための黒色領域識別方式
US5907835A (en) 1994-11-18 1999-05-25 Canon Kabushiki Kaisha Electronic filing system using different application program for processing drawing commands for printing
US5546390A (en) * 1994-12-29 1996-08-13 Storage Technology Corporation Method and apparatus for radix decision packet processing
US5857064A (en) * 1995-04-03 1999-01-05 Object Technology Licensing Corporation System for imaging complex graphical images
US5630041A (en) 1995-06-23 1997-05-13 Dell Usa, L.P. System for permanently retaining multi dimensional CAD part information in the form of a tag within a part file
US5659742A (en) 1995-09-15 1997-08-19 Infonautics Corporation Method for storing multi-media information in an information retrieval system
US5664182A (en) 1995-09-18 1997-09-02 Actuate Software Corporation Persistent storage of report objects
US5737442A (en) 1995-10-20 1998-04-07 Bcl Computers Processor based method for extracting tables from printed documents
US5933823A (en) * 1996-03-01 1999-08-03 Ricoh Company Limited Image database browsing and query using texture analysis
US5983237A (en) * 1996-03-29 1999-11-09 Virage, Inc. Visual dictionary
US6038309A (en) * 1996-06-13 2000-03-14 Northern Telecom Limited Apparatus and method for externally controlling processing of a service call
US5899999A (en) * 1996-10-16 1999-05-04 Microsoft Corporation Iterative convolution filter particularly suited for use in an image classification and retrieval system
US5893908A (en) 1996-11-21 1999-04-13 Ricoh Company Limited Document management system
US5978477A (en) 1996-11-21 1999-11-02 Ricoh Company Limited Automatic and transparent document archiving
US6199073B1 (en) 1997-04-21 2001-03-06 Ricoh Company, Ltd. Automatic archiving of documents during their transfer between a peripheral device and a processing device
US6147767A (en) * 1997-09-05 2000-11-14 Comtec Informations Systems, Inc. Computer system for a printer which stores and operates multiple application programs
US6006226A (en) 1997-09-24 1999-12-21 Ricoh Company Limited Method and system for document image feature extraction
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US5987456A (en) * 1997-10-28 1999-11-16 University Of Masschusetts Image retrieval by syntactic characterization of appearance
US6031623A (en) * 1997-12-11 2000-02-29 Hewlett-Packard Company Computer system with evolving printer
US6003069A (en) 1997-12-16 1999-12-14 Lexmark International, Inc. Client/server printer driver system
US6072904A (en) * 1997-12-31 2000-06-06 Philips Electronics North America Corp. Fast image retrieval using multi-scale edge representation of images
US6070164A (en) 1998-05-09 2000-05-30 Information Systems Corporation Database method and apparatus using hierarchical bit vector index structure
US6020970A (en) * 1998-10-27 2000-02-01 First Data Corporation AFP to PostScript conversion method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08161467A (ja) * 1994-12-05 1996-06-21 Canon Inc 電子ファイル装置並びに電子ファイルシステム

Also Published As

Publication number Publication date
US7143109B2 (en) 2006-11-28
EP1051685A2 (en) 2000-11-15
KR100670083B1 (ko) 2007-01-17
ATE227863T1 (de) 2002-11-15
AU2564899A (en) 1999-08-23
DE69903919D1 (de) 2002-12-19
NO20003923D0 (no) 2000-08-02
US20010044798A1 (en) 2001-11-22
KR20010040685A (ko) 2001-05-15
NO20003923L (no) 2000-10-04
EP1051685B1 (en) 2002-11-13
JP2002503004A (ja) 2002-01-29
CA2319374A1 (en) 1999-08-12
CA2319374C (en) 2005-07-12
WO1999040525A3 (en) 1999-11-18
JP2010170568A (ja) 2010-08-05
AU764320B2 (en) 2003-08-14
US20070038676A1 (en) 2007-02-15
NO315726B1 (no) 2003-10-13
DE69903919T2 (de) 2003-07-10
US6260044B1 (en) 2001-07-10
US7587413B2 (en) 2009-09-08
WO1999040525A2 (en) 1999-08-12

Similar Documents

Publication Publication Date Title
JP4585039B2 (ja) アプリケーションからの視覚的形式の情報をデータベースに格納しデータベースから検索する情報格納および検索システム
US7467134B2 (en) Storing and retrieving the visual form of data
US6591295B1 (en) Methods and apparatus for using multimedia data stored in a relational database in web applications
US20130174268A1 (en) Method and system for document data security management
US20060179080A1 (en) System for management of source and derivative data
US8171389B2 (en) Method of hierarchical processing of a document and system therefor
US8645344B2 (en) Document processing system and method therefor
US20130179774A1 (en) Method and apparatus for processing document conforming to docbase standard
US6915303B2 (en) Code generator system for digital libraries
US20030090531A1 (en) Digital data preservation system
US9854109B2 (en) Document output processing
US20080263333A1 (en) Document processing method
WO1999023584A2 (en) Information component management system
EP1235162A2 (en) Information storage and retrieval system for storing and retrieving the visual form of information from an application in a database
JP2003345787A (ja) 電子文書作成システムおよび電子文書管理装置
US20040267811A1 (en) Host initiated display, host initiated display application program interface, and host initiated display method

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100805

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100902

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term