JP4306991B2 - データ処理装置及び方法、並びに、コンピュータプログラム及び記憶媒体 - Google Patents

データ処理装置及び方法、並びに、コンピュータプログラム及び記憶媒体 Download PDF

Info

Publication number
JP4306991B2
JP4306991B2 JP2001347673A JP2001347673A JP4306991B2 JP 4306991 B2 JP4306991 B2 JP 4306991B2 JP 2001347673 A JP2001347673 A JP 2001347673A JP 2001347673 A JP2001347673 A JP 2001347673A JP 4306991 B2 JP4306991 B2 JP 4306991B2
Authority
JP
Japan
Prior art keywords
filter
user interface
data
sequence
filters
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 - Fee Related
Application number
JP2001347673A
Other languages
English (en)
Other versions
JP2002244849A (ja
Inventor
ウィリアム マクリーン アリステア
リチャード ポートマン マーティン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of JP2002244849A publication Critical patent/JP2002244849A/ja
Application granted granted Critical
Publication of JP4306991B2 publication Critical patent/JP4306991B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2805Home Audio Video Interoperability [HAVI] networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Description

【0001】
本発明は、カスタム化アプリケーションを使用してデータを処理し、且つそのアプリケーションがここではフィルタと呼ばれる、ユーザが選択する複数の処理モジュールから組み立てられているような、プログラム可能コンピュータを使用するデータ処理に関する。
【0002】
本発明のある面は、アプリケーションを形成するためのフィルタの選択及びアセンブリがグラフィカルユーザインタフェースを使用して図式的に表現され、それにより、フィルタのアセンブリに加えられる変更がフィルタの表示表現における対応する変化として視覚的に表現されるような、視覚的プログラミング環境の作成にも関する。
【0003】
本発明の別の面は、グラフィカルユーザインタフェースを使用してデータオブジェクトが視覚化される方式にも関する。
【0004】
データオブジェクトがスターフィールド表示パターンとして表示され、且つ、そのスターフィールド表示により表現されるデータベースのデータに対して関連するフィルタが動的問い合わせを適用するように表示画面における「動作監視領域」を操作することができる、グラフィカルユーザインタフェースを提供することが米国特許第5、841、437号によって知られている。
【0005】
また、米国特許第5,913,038号により、フィルタグラフのアーキテクチャ内で組み合わされるいくつかのフィルタを使用してマルチメディアデータの処理を実行する提案がなされていることも知られている。フィルタグラフ中のフィルタは、1つのフィルタの出力が通常は次のフィルタに対する入力となり、それにより、マルチメディアデータのストリームをそれぞれ異なるフィルタコンポーネントにより読み取り、互いに分割し、復号し且つレンダリングすることができるように接続可能である。
【0006】
更に、英国特許公開第2247597号により、ユーザがコンポーネント処理要素から複雑な処理アプリケーションを組み立てることができるように、一連のアイコンにより図形表現される一連の連続する処理動作によって画像データを処理することも知られている。
【0007】
本発明は、データを処理する改善された方法及び処理システムを提供することを目的としている。
【0008】
上記の目的に応じて、利用可能フィルタのライブラリから選択され且つデータ経路でフィルタを結合するように動作環境にロードされる、ここではフィルタと呼ばれる複数の処理要素によりデータオブジェクトが処理されるシステムが開示される。フィルタのうち少なくとも1つは、典型的には表示装置に対する出力の形態でユーザに情報を提示するための出力を有する。これは、選択されたフィルタの間の動作関係の視覚表現を更に提示すると共に、各フィルタを構成するための対話型環境を提供する。
【0009】
以下、添付の図面を参照して、単なる一例として提示される本発明の実施形態を説明する。
【0010】
図1は、デスクトップパーソナルコンピュータで実現されるシステムを示している。システムコントローラ1はユーザインタフェース2を介して受信されたユーザ指令に応答して、ユーザ選択フィルタ3を動作環境4にロードする。フィルタは動作環境4においてユーザが決定した順序で配列される。
【0011】
選択されたフィルタ3は、システムコントローラ1に対してアクセスできる利用可能フィルタのライブラリ5から選択される。
【0012】
順に配列された選択フィルタにより処理されるべきデータを含むデータメモリ6は、図1に示すシーケンスの第1のフィルタ31にデータチャネル7により結合されている。データチャネル7は、データメモリ6を第1のフィルタ31のみならず、シーケンス中の後続するフィルタ32から3nに順に接続している。動作環境4にロードされるフィルタの総数nは可変であり、ユーザの選択により決定される。また、各々のフィルタからユーザインタフェースコントローラ10を介して表示制御データをグラフィカルユーザインタフェース2へ通信するための表示制御チャネル8も図示されている。
【0013】
動作環境内部のユーザ選択フィルタのシーケンス3i(i=1からn)は互いに組み合わされて1つのアプリケーションを形成する。特定のシーケンスの選択を定義する情報を後の使用に備えてアプリケーションメモリ9にセーブしておいても良い。このようにしておけば、所要のフィルタのアセンブリを定義する情報が既にセーブされている場合には、その特定の選択を定義する情報はユーザが選択フィルタをアセンブルするときに必ずしも必要ではなくなる。
【0014】
システムコントローラ1は後述するヘルプ文書のライブラリ11をもアクセスする。
【0015】
下記の例におけるユーザインタフェース2はグラフィカルユーザインタフェースである。図2は、グラフィカルユーザインタフェース2によりユーザに対して提示される典型的な表示画面20を概略的に示す。表示画面20はデータ表示領域21を含み、データベース検索の結果であるデータオブジェクトの集合体を表示するためにシステムを使用する例においては、データ表示領域21内では個々のデータオブジェクトをそれぞれ対応するデータアイコン23により表現する。図2の例では、データアイコン22がデータ表示領域21に無作為に分布するように、個々のデータオブジェクトと関連する位置情報を無作為に生成するスキャッタプロット形態(scatterplot)でデータオブジェクトを表現している。
【0016】
表示画面20は、その時点で動作環境4にロードされている選択フィルタ31から3nの各々を対応するフィルタボックス24i(i=1からn)により表現するフィルタディスプレイウィンドウ23を更に含む。
【0017】
各々のフィルタボックスは、表示画面では、所定のウィンドウについてフィルタボックスが関連対応するフィルタのアイデンティティと、そのフィルタを制御するための制御パラメータと、フィルタ又はフィルタシーケンスの動作を制御するためにインタフェースを介してユーザから入力されたデータとを指示するように図形(グラフィックス)及びテキストを表示するウィンドウとして作成される。
【0018】
フィルタディスプレイウィンドウ23の中で、データメモリ6からのデータの流れをフィルタボックス24iのスタックを通る下向きの流れとして目で見て識別できるように、選択フィルタ3iの間の動作連結の順序はフィルタディスプレイウィンドウ23の表示に保存される。
【0019】
ユーザは、利用可能フィルタのライブラリ5の中から別のフィルタを選択できるためのフィルタセレクタウィンドウ25内部の対話型表示を利用し、シーケンスに更なる追加フィルタを追加しても良い。各々の新たなフィルタはシーケンスの該当する位置に追加され、スタック中の対応する位置に新たなフィルタボックス24nにより表現される。更に、スタックからフィルタを除去する機能又はフィルタの順序を変更する機能などの追加機能も設けられているが、図2には示されていない。
【0020】
この例では、図3に示すように特許データベース30の特許文書を求める検索の結果から選択的情報を管理し、取り出すためにフィルタ3iのシーケンスを使用するシステムを説明する。この例においては、図1に示すシステムは、表示装置32を有し、ローカルネットワーク33を介してサーバ34に接続するパーソナルコンピュータ31により動作される。モデム35はローカルネットワーク33をインターネット36を介してデータベース30に接続する。
【0021】
データベース30中の特許文書を求めて実行される検索の結果、サーバ34の検索結果ファイル37にデータが累積され、ユーザがそのデータを表示するためにコンピュータ31へのアクセス可能とする。
【0022】
検索結果を見るため、ユーザは表示装置32を含むグラフィカルユーザインタフェース2を使用し、利用可能フィルタのライブラリ5からフィルタ3を選択することにより、データを処理するためのアプリケーションを構築する。特に、図4に更に詳細に示すようにフィルタセレクタウィンドウ25に設けられた選択機能を利用する。
【0023】
フィルタセレクタウィンドウ25は、各々が1つの対応するフィルタのクラスと関連する一連のタブ40から44を表示する。コンピュータ31のディスプレイカーソル及びマウスを使用してタブ40から44のうちいずれか1つを選択すると、図4にタブ43を選択した場合に応答したフィルタアイコン45から50の表示により示すように、選択したクラスに含まれるフィルタのメニューが表示される。フィルタアイコン45から50のうちいずれか1つを選択すると、選択したフィルタは動作環境4におけるフィルタのシーケンスに追加され、フィルタ表示ウィンドウ23に表示されるフィルタボックスのスタックにも対応するフィルタボックス24が追加される。
【0024】
この例では、タブ40から44と関連するフィルタのクラスは次の通りである。
【0025】
タブ40はデータオブジェクトをフィルタのシーケンスへインポートする働きをするフィーダフィルタに対応する。
【0026】
タブ41はデータオブジェクトを修正するワーカフィルタに対応する。
【0027】
タブ42は「フィルタ」という用語の純粋な意味の通りフィルタリング機能を実行し、選択されたデータオブジェクトのみをシーケンス中の連続するフィルタに通すリミットフィルタに対応する。
【0028】
タブ43はシステムフィルタを選択する。
【0029】
タブ44は、情報をデータ表示領域21に表示させるという結果をもたらす表示出力を有するディスプレイフィルタを選択する。
【0030】
図5は、フィルタボックス51から54により表現されるようにこの例のユーザ選択フィルタに対応するグラフィカルユーザインタフェース2の一例を示している。図6は、この特定のユーザ選択の結果として動作環境4にロードされた対応するフィルタ56から59のシーケンスを示している。入力フィルタ56はユーザによりコンピュータ31のキーボードを介して入力されたURL(ユニフォームリソースロケータ)の入力に応答して、ローカルネットワーク33を介して検索結果ファイル37の内容を検索する。
【0031】
データメモリ6からのデータストリームはシステムコントローラ1からの指令によって開始され、一連のデータ要素を入力フィルタ56に入力する。各データ要素は、データベース30から検索される特定の特許項目に関連する情報を検索を実行すべき検索エンジンにより指示されるフォーマットで含んでいる。
【0032】
図5に示すようなフィルタボックス52は、シーケンス中で入力フィルタ56に続く次のフィルタであり且つ入力フィルタから出力されるデータ要素のストリームを受信する、図6に示すようなコンバータフィルタ57に対してグラフィカルインタフェースを形成する。コンバータフィルタ57は各々のデータ要素を取り上げて、それらをシーケンス中の後続フィルタによる処理に適するフォーマットのそれぞれ対応するJavaオブジェクトに変換する。
【0033】
図5に示すgrepフィルタボックス53は、シーケンス中の次のフィルタであり且つコンバータフィルタ57から出力されるデータオブジェクトを受信する、図6に示すようなgrepフィルタ58に対してグラフィカルインタフェースを形成する。grepフィルタ58は、図4のタブ42を選択した後にユーザが選択を行うために利用できる「リミットフィルタ」の1つである。grepフィルタ58の機能は、grepフィルタボックス53に設けられているインタフェースを介してユーザにより定義された検索基準に適合するデータオブジェクトのみを通過させることである。grepフィルタ58はユーザにより定義されたテキストストリングを捜索するように設計されている。特許文書の検索という意味での一例として、ユーザが入力した所定の名称の特許譲受人に関連するデータオブジェクトのみをユーザが要求した場合を考える。grepフィルタ58はこの基準に適合するデータオブジェクトのみを通過させ、その他のオブジェクトがシーケンス中の次のフィルタへ送り出されるのを阻止することにより応答する。
【0034】
しかし、grepフィルタ58は、ユーザが選択を実行するためにデータオブジェクトの利用可能な属性からどれを選び出すかをあらかじめ知っておくことはできないので、grepフィルタは、第1のデータオブジェクトが受信され、そのデータオブジェクトから利用可能な属性のリストが抽出された時点で初めてそのユーザインタフェース、すなわち、grepフィルタボックス53の外観を構築するように構成されている。この機能は、生成するデータオブジェクトに関してそれぞれ異なるフォーマットを有するいくつかの利用可能なコンバータフィルタ57のうちいずれか1つをユーザが選択している可能性があるために必要とされるのである。
【0035】
図7A及び図7Bはgrepフィルタボックス53の典型的な表示例を示し、ユーザが検索目標を識別するテキストストリングを入力できる検索ターゲットボックス70を含む。図7Aは検索できる属性のメニュー71を示し、図7Bは特定の属性を「inventor(発明者)」として選択した結果を示す。選択された属性は選択属性ボックス72に入ることになる。
【0036】
選択属性を選択した後、grepフィルタ58がデータオブジェクトのストリームを処理して、発明者として「Smith」の名前を有するデータオブジェクトのみを出力するように、ユーザは検索ターゲットボックス70に「Smith」などの発明者名を入力し、SEARCHボタン73を選択する。
【0037】
あるいは、ユーザは「S*th*」などの一定表現パターンを入力しても良いが、その場合、grepフィルタはその入力に応答して、Smith、Sutherlandなどのパターンに整合するテキストを検索することになるであろう。
【0038】
図6のシーケンスにおける最後のフィルタは、図5に示すようにディスプレイフィルタボックス54により形成される対応するインタフェースを有するディスプレイフィルタ59である。ディスプレイフィルタ59は、図4のディスプレイタブ44の選択後、ユーザにより利用可能なディスプレイフィルタのメニューから選択される。この例では、ユーザは、grepフィルタを使用して選択された結果をデータ表示領域21に表示させるために、grepフィルタ58の下流側に来るべきディスプレイフィルタ59を選択する必要がある。図5においては、grepフィルタ58により選択されたデータオブジェクトはデータ表示領域21の中にそれぞれ対応するアイコン22として表示されている。データ表示領域21内部に無作為に割り当てられた2次元画像座標をプロッティングさせるため、スキャッタグラフ機能を有するディスプレイフィルタ54を選択することにより、アイコン22の位置を無作為に分布させることができる。
【0039】
後述するように、例えば、オブジェクトの特性によって決まる彩色、及びユーザが特定のデータアイコンを選択したときに見ることができる関連テキスト・画像ディスプレイボックスを追加するために、各々のアイコン22により提示される情報も同様に適切なディスプレイフィルタの選択によって制御されても良い。
【0040】
[ユーザインタフェースチャネルを介するユーザインタフェースの制御]
次に、フィルタの対話型制御のためにユーザインタフェースがフィルタディスプレイ23にどのようにフィルタボックス24を提示するかを説明する。
【0041】
図8は、データ要素の集合体80を処理するための特定のユーザ選択アプリケーションを構成するフィルタの選択の一例を示す。便宜上、先に説明した特許文書の検索の例をここでも利用する。従って、この例においても、データ要素の集合体はデータメモリ6に格納された特許データオブジェクトにより構成されている。
【0042】
図8のフィルタのシーケンスはデータメモリ6からデータオブジェクトの集合体80をインポートするためのインポートフィルタ81と、第1の処理フィルタ82と、第1のディスプレイフィルタ83と、第2の処理フィルタ84と、ユーザインタフェースフィルタ85と、第3の処理フィルタ86と、第2のディスプレイフィルタ87とから構成されている。表示情報は第1及び第2のディスプレイフィルタ83及び87からデータディスプレイチャネル93を介してユーザインタフェースコントローラ89へ通信されて、データ表示領域20にデータを表示させることができる。
【0043】
上記のフィルタの各々はデータチャネル88を介してデータオブジェクトの入力を受信し、データチャネルを介してデータオブジェクトをシーケンス中の次に続くフィルタへ出力する。シーケンス中の最後のフィルタである第2のディスプレイフィルタ87はその他のフィルタには接続しておらず、概念上はデータシンク(data sink)に接続するとみなしても良い。
【0044】
フィルタ81から87はそれぞれユーザインタフェース制御データを生成し、このデータは、この例では図2のフィルタディスプレイウィンドウ23におけるフィルタボックス24の外観により構成されるフィルタユーザインタフェース810を制御するユーザインタフェースコントローラ89に入力される。ユーザインタフェースコントローラ89は表示画面20のデータ表示領域21にあるデータアイコン22の表示も制御する。
【0045】
ユーザインタフェース制御データはシーケンス中の隣接するフィルタの間で通信されると共に、ユーザインタフェースチャネル811を介して最後のフィルタ87とユーザインタフェースコントローラ89との間でも通信される。ユーザインタフェース制御データはインポートフィルタ81により作成されるユーザインタフェース記述オブジェクトにより構成されており、これはXML(eXtendable Markup Language)で書かれた文書の形態をとるコードである。従って、ユーザインタフェース記述オブジェクトはインポートフィルタ81から出力された時点ではマークアップ言語で記述されたコードであるが、ユーザインタフェースコントローラ89はこのコードを対応するフィルタボックス24をフィルタディスプレイウィンドウ23に表示させるような方式で解釈することができる。例えば、このコードはフィルタのクラス(すなわち、フィルタがフィーダフィルタであるか、ワーカフィルタであるか、リミットフィルタであるか、システムフィルタであるか、又はディスプレイフィルタであるかの区別)を定義し、且つフィルタボックスに表示されるべきフィルタの名称を指示する。また、コードはユーザデータ入力のために表示されるべきテキストボックスと、ユーザが選択するために表示されるべきボタン、あるいはユーザがマウス又はキーボードなどの従来通りの指示装置を使用して対話形式で操作できる類似の制御要素とを定義する。
【0046】
このユーザインタフェース記述オブジェクトはユーザインタフェースチャネル811を介して第1の処理フィルタ82へ通信され、第1の処理フィルタ82は、それがフィルタユーザインタフェース810において表現されるべき方式の記述を追加するようにコードを修正する。同様に、シーケンス中の後続する各フィルタも、それぞれ対応する要素を含めるようにユーザインタフェース記述オブジェクトのコードを修正し、その結果、最終的にユーザインタフェースコントローラ89へ出力されるオブジェクトはこの特定のフィルタのシーケンスについて要求されるフィルタユーザインタフェース810を完璧に定義する情報を含むことになる。各要素は一般にフィルタボックスの1つずつにそれぞれ対応する。
【0047】
次に、図9に示す選択フィルタのシーケンスを含み、対応するユーザインタフェースが図10のフィルタディスプレイウィンドウ23の内容により表現されるようなアプリケーションについて、コードがどのようにして生成され、修正されるかの一例を説明する。
【0048】
図9のフィルタのシーケンスはデータオブジェクトの集合体の形態をとる特許情報をロードする特許ローダフィルタ90と、ユーザが選択色を選択するのに応答してフィルタを通過する各データオブジェクトの固有色を判定する色選択フィルタ91と、データ表示領域21の、各オブジェクトにより搬送される位置情報により判定される2次元位置にデータを表示するために、入力されて来る全てのデータオブジェクトに関する表示情報を出力するディスプレイフィルタ92とを含む。表示情報はデータディスプレイチャネル93によりユーザインタフェースコントローラ89へ通信される。
【0049】
これらのフィルタの各々に対応するユーザインタフェースは図10に概略的に示されており、特許ローダフィルタボックス100と、色選択フィルタボックス101と、ディスプレイフィルタボックス102とから構成されている。
【0050】
特許ローダフィルタにより作成されるユーザインタフェース記述オブジェクトは付録1にコードにより示すようなこのフィルタの記述を含む。(以下に挙げる付録は、全て、実際に利用されるXMLコードを代表してはいるが、それに厳密には対応していない擬似コードを採用することにより簡略化されている。)このコードは、最終的には、コードをパージングするパーサを含むユーザインタフェースコントローラ89により読み取られるべきものである。パーサは<filter>を読み取るときはフィルタ定義を期待し、<class>を読み取るときには、この例ではインポートフィルタであると指示されているフィルタクラスを読み取る。
【0051】
次に、パーサは<name>を読み取り、フィルタID及びフィルタ名を判定する。
【0052】
次に、パーサは<controls>を読み取り、その後、<textbox>をパージングするときに与えられる、このケースにおいてはテキストボックス記述子であると指示されているフィルタのユーザインタフェースの定義を期待する。そこで、コントローラ89はこの情報を使用して、特許ローダフィルタボックス100を特許ローダフィルタ90と関連付けても良い。
【0053】
次に、パーサは<size>を読み取ることにより、テキストボックスが表示する文字の数、この場合は20を獲得する。
【0054】
次に、パーサは<UIconstraints>を読み取って、一連の制約を判定する。この例では、フィルタボックス100でテキストボックスを見ることができるように制約「visible」を真に設定すると共に、フィルタとの対話を可能にするためにユーザインタフェースがイネーブルされるように制約「enabled」も真に設定する。
【0055】
これに対し、制約(constraint)「visible」が偽に設定されていれば、フィルタは依然として存在しているにもかかわらず、フィルタボックス100は表示されなくなるであろう。「enabled」が偽に設定されていれば、フィルタボックス100により提供されるユーザインタフェースはディスエーブルされるであろう。次に、パーサは定義<button>を読み取る。この定義は、フィルタボックス100に表示されたときのボタン(104)の幅を定義する<size>を含む。
【0056】
従って、このコードは、データオブジェクトの集合体に対するポインタを定義するためにユーザがテキストボックス103にテキストを入力して、ボタン104を選択することにより集合体のロードを開始させることができるように、特許ローダフィルタ100を定義する。
【0057】
特許ローダフィルタ90から出力されたユーザインタフェース記述オブジェクトはユーザインタフェースチャネル811を介してシーケンス中の次のフィルタ、図9のこの例では色選択フィルタ91へ通信される。色選択フィルタ91はユーザインタフェース記述オブジェクトに、図10には色選択フィルタボックス101として示されている色選択フィルタのユーザインタフェースを定義するコードを追加する。このコードは付録2に示されている。ユーザインタフェースコントローラ89のパーサによりパージングされたとき、このコードはフィルタが処理クラスのフィルタであり且つ「colour chooser」という名称であることを指示する。<controls>定義は、大きさ(50画素幅)及び色(赤)に関して定義された色選択アイコンを規定する。
【0058】
追加されたユーザインタフェース記述オブジェクトは色選択フィルタ91からユーザインタフェースチャネル811を介してディスプレイフィルタ92へ出力される。ディスプレイフィルタ92は図10のディスプレイフィルタボックス102を記述するための独自のコードを追加する。
【0059】
最後に、ユーザインタフェース記述オブジェクトはユーザインタフェースコントローラ89へ出力され、ユーザインタフェースコントローラ89はコードをパージングし、フィルタユーザインタフェースウィンドウ810を生成するために別のデータチャネル812を介して表示装置32へ出力されるデータを生成する。
【0060】
この例におけるデータオブジェクトの集合体をロードするということの効果は、それらのデータオブジェクトが赤色に着色されて表示されることである。ユーザがフィルタボックス100及び101に表示されているパラメータに変更を加えると、コントローラ89はそれらの変更を実現するためのメッセージをフィルタへ送信し、それに応じてフィルタディスプレイウィンドウ23内部の表示が更新されるように、新たなユーザインタフェース記述オブジェクトが生成される。
【0061】
図11の例に示すように、別の処理フィルタが追加される新たなアプリケーションを形成するために追加フィルタを追加することを選択しても良い。この例では、色選択フィルタ91の後に「白黒」フィルタ110を追加しており、この「白黒」フィルタはこのフィルタを通過する各データオブジェクトから全ての色情報を除去するという機能を有する。図12に示すように、フィルタディスプレイウィンドウ23にはこれに対応するフィルタボックス120が現われ、このフィルタボックスはチェックボックス121を含む。ユーザがシーケンス中の先行するカラーフィルタをオーバライドすることを要求する場合に、このチェックボックスを選択することによりチェックを行なうことができる。
【0062】
従って、チェックボックス121を選択しなければ、白黒フィルタは、シーケンス中の白黒フィルタの上流側にあるカラーフィルタにより先にカラーコード化されていないデータオブジェクトのみを白黒に変更する効果を有する。これに対し、チェックボックス121を選択した場合には、シーケンス中のカラーフィルタにより追加された色属性も白黒フィルタによりオーバライドされることになる。
【0063】
図11及び図12の例において、色選択フィルタ91は白黒フィルタ110の上流側に配置されているので、図12に示すように、白黒フィルタにシーケンス中の先行するカラーフィルタをオーバライドさせるようにユーザがチェックボックス121を選択した場合には、色選択フィルタのフィルタボックス101がこのフィルタを通過するデータオブジェクトに適用されるべき色の設定をユーザに求めることは不適切であろう。従って、このような状況においては、白黒フィルタ110は色選択フィルタ91に対応するフィルタボックス101により規定されるユーザインタフェースを自動的にディスエーブルする。これは、色選択フィルタ91のユーザインタフェースを判定するコードを搬送するユーザインタフェース記述オブジェクトが白黒フィルタ110を通過しなければならないために可能である。白黒フィルタ110は、色選択フィルタ91の<controls>定義の中で制約「enabled」を偽に設定することによりコードを変更する。その結果、白黒フィルタ110から出力されるユーザインタフェース記述オブジェクト中のコードを付録3に示す。図12では、「enabled」パラメータを偽に設定した結果として、色選択フィルタボックス101は、色選択フィルタ91がディスエーブルされたことをユーザに指示するためのディスエーブルアイコン122を示している。
【0064】
次に、図13及び図14を参照して、シーケンス中の先行するフィルタからユーザインタフェースチャネル811により通信されたユーザインタフェース記述オブジェクトを書き換え、その後、修正形態のインタフェース記述オブジェクトを選択フィルタのシーケンス中の後続するフィルタへ送り出すことを唯一の目的とするユーザインタフェースフィルタについて一例を説明する。
【0065】
この例では、いくつかの他のフィルタのユーザインタフェースをツールバーフィルタユーザインタフェースボックス141に加えてフィルタディスプレイウィンドウ23内に表示される1つのツールバー140に圧縮する効果を有するツールバーフィルタ130を説明する。図13に示すように、ツールバーフィルタ130は選択フィルタのシーケンスの、ディスプレイフィルタ92の下流側に挿入され、ユーザインタフェースチャネル811を介してローダフィルタ90、色選択フィルタ91、白黒フィルタ110及びディスプレイフィルタ92のユーザインタフェースを定義するユーザインタフェース制御データを含むユーザインタフェース記述オブジェクトを入力として受信する。ツールバーフィルタボックス141は一連のチェックボックス142を表示し、ユーザはツールバー140と置き換えるべきフィルタユーザインタフェースを選択することができる。この例では、特許ローダ、色選択及び白黒の各フィルタについてユーザはチェックしているが、ディスプレイフィルタについてはチェックしていない。
【0066】
従って、この結果、フィルタディスプレイウィンドウ23に表示されるのはツールバー140と、ディスプレイフィルタボックス102と、ツールバーフィルタボックス141である。
【0067】
ツールバーフィルタ130がユーザインタフェース記述オブジェクトのコードをどのようにして修正するかは、コードの関連部分を含む付録4の修正コードとして示されている。
【0068】
ユーザインタフェースコントローラ89はコードをパージングし、スタックの初めの3つのフィルタがツールバーTB1のメンバーであると判定する。パラメータはツールバーでそれらのIDを定義し、ポップアップ要素は、ユーザがマウス及びカーソルを使用して特許ローダフィルタ、色選択フィルタ及び白黒フィルタをそれぞれ表現する一連のアイコン143、144及び145のうち1つを選択したときに何が示されるかを定義する。コードは、そのような選択の結果として実行されるアクションを元のフィルタユーザインタフェースを図10及び図12のフィルタボックス100、101及び120に対応する形態で出現させる動作として定義する。
【0069】
ツールバーフィルタ130などのユーザインタフェースフィルタは、アプリケーションメモリ9を使用して後の使用に備えてセーブされる様々なアプリケーションを開発させるための開発ツールであるとみなされることが多い。そのようなアプリケーションの場合、アプリケーション開発中に開発ツールとしてのみ使用されるフィルタをユーザに対して表示することが望ましくないこともある。例えば、ツールバーフィルタボックス141を見えなくするための機能をツールバーフィルタ130に与えたとする。ツールバーフィルタボックス141で「Display」ボックスの選択を解除することによりこの機能を選択すると、ツールバーフィルタ130からのユーザインタフェース記述オブジェクトにおけるコード記述出力の制約「visible」が偽に設定される結果となる。その結果得られた、フィルタのシーケンスを含むアプリケーションを定義する情報を格納しても良い。後にこの機能を再び使用すると、フィルタディスプレイウィンドウ23の見かけは、図15に示すように、図14のツールバーフィルタボックス141が見えないように隠された状態になる。同様に、アプリケーション開発に使用される他のフィルタも利用後、アプリケーションのセーブ前に隠されても良い。
【0070】
別の例においては、フィルタボックス内に提示されるユーザインタフェースの一部を選択的に隠すようにユーザインタフェースフィルタを構成しても良い。例えば、フィルタボックスが通常はユーザ選択のためのボタンのような制御特徴を表示するか、又はフィルタの構成を制御するパラメータを表示している場合、それらの特徴を隠しても良い。これは、例えば、システム開発担当者により使用されている特徴をエンドユーザがアクセスできないように隠すという目的のために望まれるであろう。
【0071】
ユーザインタフェースフィルタ85のもう1つの例は、図16に示すような「データコントロール追加」フィルタ160である。このフィルタは、図17でデータコントロール追加フィルタボックス170により表現されているユーザインタフェースを有する。
【0072】
“データコントロール追加”フィルタの効果は、表示される各データアイコン22が関連する制御アイコン171を有するようにデータ表示領域21に更にコントロールを追加することである。この例では、ユーザがアイコン171を選択した場合に、データアイコン22と関連する文書のプリントアウトが得られるように、ユーザは表示される全データ要素にプリント制御アイコン171を付随させるオプションを選択している。
【0073】
データコントロール追加フィルタ160によりユーザインタフェース記述オブジェクトに追加されるコードを付録5に示す。まず、コードは「データコントロール追加」フィルタ160自体を記述し、その制御はデータコントロール追加フィルタボックス170に示す通りである。データコントロール追加フィルタボックス170は、表示装置からユーザが選択した文書をセーブできるように、データアイコン22に付随するボタンと関連する「セーブ」などの機能を提供するものであっても良い。あるいは、ユーザはデータ表示領域21内部で「データコントロール追加」フィルタにより提供されるコントロールを使用して選択を行うことにより、ヘルプフィルタ、grepフィルタまたは色選択フィルタを呼び出すことも可能であろう。
【0074】
付録5のコードの後半部分は、ディスプレイチャネル811を介して受信された表示データを処理するときにユーザインタフェースコントローラ89に何が要求されるかを記述している。コードは、ユーザインタフェースコントローラ89が各要素独自の記述にボタン171の記述を追加しなければならないと判定する。
【0075】
各データ要素アイコン171は、例えば、付録6に示すような独自のユーザインタフェース記述コードを有していても良い。データディスプレイチャネル93を介して通信されるこれらのコードオブジェクトはユーザインタフェースコントローラ89によりパージングされ、各データ要素は小さな矩形としてレンダリングされても良い。先に説明したように、データコントロール追加フィルタを所定の場所に配置すると、各データ要素の記述は付録7に示すような記述に修正されるであろう。
【0076】
ユーザインタフェースコントローラ89によりパージングされると、コントローラは各データ要素が上端部にボタンが配置された矩形としてレンダリングされると判定する。ボタンはID=FID6のフィルタを源としており、これにより、ユーザインタフェースコントローラ89はこのボタンを選択するアクションをデータコントロール追加フィルタ160により定義される対応する方法にリンクすることができる。
【0077】
図18及び図19は、フィルタを使用してアプリケーションを構築する上述の技法を利用できる更に別の例を示す。この例では、パーソナルコンピュータ31を使用して作成されるアプリケーションを、例えば、パームトップコンピュータ又はプロセッサ及び表示画面を具備する携帯電話などのポータブルコンピュータ装置180の形態をとる外部装置へダウンロードする。図18に示すように、ポータブルコンピュータ装置180をプリンタ181に接続することにより、ユーザはポータブルコンピュータ装置にその時点で保持されているデータを印刷することができる。
【0078】
図19は、図1のシステムを使用して著述され、その後、ポータブルコンピュータ装置180にダウンロードされたアプリケーションに対するフィルタシーケンスを示す。このフィルタシーケンスはポータブル印刷装置の動作環境4で動作している。この場合、アプリケーションは、ケーブル又は無線チャネルを介して接続されているプリンタ181を制御するためにポータブルコンピュータ装置180の表示画面32に表示されるプリンタユーザインタフェース195を生成するように設計されたプリンタ制御アプリケーションである。図19には、表示画面32に表示され、シーケンス中のフィルタに対応するフィルタボックスから構成されるポータブルコンピュータ装置ユーザインタフェース196も示されている。ポータブルコンピュータ装置180は様々に異なる動作パラメータを有する任意の数の異なるプリンタに接続できるので、プリンタユーザインタフェース195は各プリンタ181の必要条件に従って生成されるのが好ましい。そのため、図19のフィルタのシーケンスは、ポータブルコンピュータ装置180が接続されているプリンタにより送信され、ポータブルコンピュータ装置の入力ソケット197により受信されるデータに応答することにより、アプリケーションがプリンタ181に対して適切なプリンタユーザインタフェース195を構築するように構成されている。
【0079】
従って、図19のフィルタのシーケンスは、ポータブルコンピュータ装置180の入力ソケット197を介して受信されるデータをのがすまいとし、受信したデータをいずれもシーケンス中の次のフィルタへ出力するソケットリスナフィルタ190を含む。
【0080】
シーケンス中の次のフィルタはユーザインタフェースビルダフィルタ191である。このフィルタはデータチャネル88により受信されるデータに応答してプリンタ181のユーザインタフェースを構築するタスクを有し、データチャネル88を介してシーケンス中の次のフィルタへプリンタユーザインタフェースオブジェクトを出力する。
【0081】
シーケンス中の次のフィルタは、出力ソケット194を介してプリンタへ送信されるべきデータを出力する機能を有するソケットライタフィルタ192である。次のディスプレイフィルタ198は、ユーザインタフェースコントローラ89にデータ表示領域21に表示されるべきプリンタユーザインタフェース195に対する表示信号を生成させることができるようにするために、プリンタユーザインタフェースオブジェクトから生成されるディスプレイオブジェクトをディスプレイチャネル93に出力する機能を有する。最後に、ユーザインタフェースフィルタ193は、アプリケーションの開発者にシーケンス中のフィルタに対応するフィルタボックスをポータブルコンピュータ装置ユーザインタフェース196の表示から選択的に隠すことを可能にさせる機能を有する。図20に示すように、アプリケーションの作成中、ソケットリスナフィルタボックス200と、ユーザインタフェースビルダフィルタボックス201と、ソケットライタフィルタボックス202と、ディスプレイフィルタボックスと205と、ユーザインタフェースフィルタボックス203とがフィルタディスプレイウィンドウ23に表示される。そこで、開発者はユーザインタフェースフィルタ193に、アプリケーションの実行時にフィルタボックス200、201、202及び203が表示されないようにユーザインタフェース記述オブジェクトを修正するように命令する。その後、アプリケーションが格納され、ポータブルコンピュータ装置180にダウンロードされるとき、フィルタボックスが表示されないため、装置のユーザはそのアプリケーションに内在するフィルタシーケンスに気づくことはない。表示される唯一の項目は、ユーザインタフェースビルダフィルタ201により(この場合)作成され、出力されたデータオブジェクトである。
【0082】
ポータブルコンピュータ装置180をプリンタ181に接続した場合、プリンタにより送信されるハンドシェーク信号はコンピュータ装置のソケットにより受信され、コンピュータ装置は適切なハンドシェーク信号によって応答する。次に、プリンタ181はその機能性とユーザインタフェース要件を定義するためにデータをコンピュータ装置にダウンロードする。ポータブルコンピュータ装置180で実行中のアプリケーションは上記のフィルタシーケンスを使用してこのデータに応答し、フィルタシーケンスにおいては、ユーザインタフェースビルダフィルタ191がコンピュータ装置に接続する特定のプリンタ181の機能性とユーザインタフェース要件に対応する適切なユーザインタフェース記述オブジェクトを生成する。
【0083】
図21は、プリンタが白黒プリンタである場合にポータブルコンピュータ装置180により表示されるプリンタユーザインタフェース210を示している。
【0084】
図22は、カラープリンタである別のプリンタに接続された場合にポータブルコンピュータ装置180により表示されるプリンタユーザインタフェース220を示している。
【0085】
例えば、プリントボタンを選択するなど、プリンタユーザインタフェースに応答してユーザから何らかの入力が行われると、その結果、対応するデータがユーザインタフェースビルダフィルタ191に入力される。ユーザインタフェースビルダフィルタ191は対応するデータをソケットライタフィルタ192へ出力する。図19に示すように、ソケットライタフィルタはソケット194を介してプリンタ181へデータを出力する。
【0086】
プリンタ181はユーザにより選択された印刷機能を実行することによって応答することになる。
【0087】
ポータブルコンピュータ装置180を同様にファクシミリ装置などの別の外部装置に接続しても良い。ファクシミリ装置の場合、ユーザインタフェースビルダフィルタ191により生成されるユーザインタフェース230は図23の例に示すような表示になるであろう。
【0088】
別の構成では、ユーザインタフェースビルダフィルタ191は、ユーザインタフェースチャネルを介して通信され且つフィルタディスプレイウィンドウ23に表示されるユーザインタフェース記述オブジェクトとしてプリンタユーザインタフェースを生成しても良い。
【0089】
従って、より一般的には、生成されるオブジェクトは、ポータブルコンピュータ装置(またはアプリケーションを実行するその種の他の何らかの外部装置)が使用中に接続される周辺装置の制御のためにユーザインタフェースを定義する周辺装置制御オブジェクトであるとみなされても良い。
【0090】
例えば、周辺装置の動作にユーザの好みを適用するために、フィルタのシーケンスは周辺装置制御オブジェクトを修正する更に別のフィルタを任意に含んでいても良い。例えば、周辺装置がプリンタである場合、用紙サイズの選択肢をA4サイズに限定するためのフィルタを追加できる。
【0091】
そのような外部装置とポータブルコンピュータ装置180とが互いに機能し合うためには、ポータブルコンピュータ装置180との間でデータを交換する際に共通のプロトコル、すなわち、通信規格を利用することが必要になる。先に示した通り、このプロトコルは、データがポータブルコンピュータ装置180の表示画面を介してユーザに提示されるべきユーザインタフェースを定義することを要求すると良い。あるいは、データプロトコルは、このユーザインタフェース情報が厳密には定義されず、例えば、単純にポータブルコンピュータ装置180の機能性の定義を含むだけのものであっても良い。その場合、ユーザインタフェースビルダフィルタ191はポータブルコンピュータ装置180の機能性の知識から適切なユーザインタフェースを構成する。例えば、プリンタ機能プロトコルがプリンタ181は白黒印刷とカラー印刷の双方を支援すると定めている場合には、ユーザインタフェースビルダフィルタ191はこの装置機能プロトコルを2つの選択肢を伴う、すなわち、単色動作又はカラー動作を選択するためのコンボボックスに対応するユーザインタフェース要素にマッピングすることを要求される。
ポータブルコンピュータ装置がプリンタ181などの周辺装置に結合されたとき、プリンタがユーザインタフェースの修正を必要とするより優れた機能を有するようにグレードアップされたとしても、グレードアップ後のプリンタが所定のプロトコルに従って所要のデータを出力するならば、先に図19を参照して説明したようなフィルタのシーケンスを有するアプリケーションにより、ポータブルコンピュータ装置は適切なユーザインタフェースを生成することができる。
【0092】
[ヘルプフィルタ]
上記のフィルタシステムを使用するアプリケーションのユーザには、図24に示すようなヘルプフィルタ240によってヘルプ情報が提供されても良い。図24は、特許データベース検索の結果を処理するために使用されるいくつかのフィルタを含むアプリケーションの一例を示す。
【0093】
図25は、図24のフィルタのシーケンスに対応するフィルタディスプレイウィンドウ23を示している。フィルタディスプレイウィンドウ23はフィルタボックス250、251、252及び102のスタックを含む。
【0094】
図24のフィルタのシーケンスはコレクタフィルタ241と、IPC(国際特許分類)フィルタ242と、ヘルプフィルタ240と、ディスプレイフィルタ92とを含む。フィルタのシーケンスは外部源からのデータオブジェクトをも入力するデータチャネル88に接続されていると共に、ユーザインタフェースデータオブジェクトをユーザインタフェースコントローラ89に通信するユーザインタフェースチャネル811にも接続している。ディスプレイフィルタ92は、データ表示領域21に表示するためにユーザインタフェースコントローラ89へディスプレイオブジェクトを出力するデータディスプレイチャネル93にも接続している。
【0095】
上記のフィルタのシーケンスは動作環境4内部で先に図1を参照して説明したように機能する。
【0096】
図25では、フィルタのシーケンスはフィルタディスプレイウィンドウ23でコレクタフィルタボックス250と、IPCフィルタボックス251と、ヘルプフィルタボックス252と、ディスプレイフィルタボックス102とにより表現されている。
【0097】
ヘルプフィルタボックス252はHELPボタン253、PREVIOUSボタン254、ALLボタン255及びDATAボタン256を含むユーザが選択するための一連のボタンを提示している。
【0098】
図24のフィルタのシーケンスは、コレクタフィルタ241と、IPCフィルタ242と、ディスプレイフィルタ92とを含むアプリケーションのユーザがヘルプ画面の形の援助を必要とし、図4のフィルタセレクタウィンドウ25を使用してディスプレイタブ44を選択し、その後、ライブラリ5の利用可能ディスプレイフィルタの中からヘルプフィルタの挿入を選択した場合に現れる。ユーザはドラッグ&ドロップ技法を使用して図24のフィルタのシーケンスの所望の場所にヘルプフィルタ240を挿入する。この場合、フィルタ選択ウィンドウ25のフィルタアイコンをドラッグし、フィルタディスプレイウィンドウ23のフィルタボックスのスタックの中の所望の場所にそれをドロップすることになる。図25に示すように、ヘルプフィルタボックス252はIPCフィルタボックス251とディスプレイフィルタボックス152との間に挿入されているので、その結果、ヘルプフィルタ240は図24に示すような位置に挿入されることになる。
【0099】
ヘルプフィルタ240を挿入すると、直ちに、全てのデータオブジェクトがデータチャネル88を介してシーケンス中の次のフィルタであるディスプレイフィルタ92に到達する流れが停止される。従って、先にデータ表示領域21に表示されていた全てのデータが消える。
【0100】
そこで、ユーザはヘルプフィルタ240をいくつかのオプションに従って利用することができる。第1のオプションはヘルプボタン253の選択である。この選択に応答して、ヘルプフィルタ240はデータチャネル88を介して単一ヘルプ文書オブジェクトを出力し、このオブジェクトはディスプレイフィルタ92により受信され、その結果、データディスプレイチャネル93を介して対応する出力がユーザインタフェースコントローラ89に送信される。データ表示領域21は図26に示すような単一ヘルプオブジェクトアイコン260を表示する。ユーザがこのアイコン260を選択すると、データ表示領域21にヘルプフィルタの全機能を記述したヘルプ文書が表示される。
【0101】
ユーザが利用できる第2の機能はヘルプフィルタボックス252内部のPREVIOUSボタン254の選択である。ヘルプフィルタ240はこの選択に応答して、システムコントローラ1からフィルタのシーケンス中の先行するフィルタ、この場合にはIPCフィルタ242のアイデンティティを要求する。この情報が与えられると、ヘルプフィルタ240は単一ヘルプ文書オブジェクトを出力する。このオブジェクトはディスプレイフィルタ92により処理されて、図26に示すようなヘルプアイコン260を表示させる。ユーザがアイコン260を選択すると、その結果、図27に示すようなヘルプ文書270が表示される。図27のヘルプ文書はいくつかの適切なフィールドでテキストを使用してIPCフィルタを記述すると共に、IPCフィルタの使用中に得られる典型的な表示の図形例示271をユーザに提示する。
【0102】
ユーザが利用できる第3のオプションはALLボタン255の選択である。この選択に応答して、ヘルプフィルタ240はシステムコントローラ1から利用可能フィルタ5のライブラリに保持されているフィルタを含むシステム中の全てのフィルタのリストを要求し、この情報が与えられると、ヘルプフィルタはライブラリ中の利用可能フィルタの数に相当する数のヘルプ文書オブジェクトの集合体を出力する。各ヘルプ文書オブジェクトはディスプレイフィルタ92により受信され、ディスプレイチャネル93を介して出力される。そこで、データ表示領域21は図28に示すようないくつかのヘルプオブジェクトアイコン260を表示する。ユーザは適切なヘルプ文書を見るためにヘルプオブジェクトアイコン260のいずれか1つを選択すれば良い。アイコン260は、利用可能フィルタの各々の名称をユーザに指示するための識別情報を含む。
【0103】
このように、ユーザは、シーケンス中の所望のフィルタを使用しやすくするため、又は既存のシーケンスにライブラリからフィルタを追加すべきか否かを決定するという目的のために、どのフィルタに関してもヘルプ情報に対するアクセスを獲得することができる。
【0104】
ユーザが利用できる第4のオプションはDATAボタン256の選択である。ヘルプフィルタ240はこの選択に応答して、データチャネル88を介してヘルプフィルタにその時点で入力されているデータオブジェクトの型を問い合わせ、この情報が与えられると、ヘルプフィルタはデータの型に対応するヘルプ文書オブジェクトを出力する。その結果、データ表示領域21にはデータの型に対応する1つ以上のヘルプアイコン260が表示されるので、ユーザは1つのヘルプアイコンを選択して、そのデータに関連する適切なヘルプページを見ることができる。
【0105】
図24の例においては、ヘルプフィルタにより出力されるヘルプ文書オブジェクトの各々はHTML(ハイパーテキストマークアップ言語)で格納されているヘルプ文書を指示するポインタを含む。ユーザインタフェース2におけるオブジェクトの表示を容易にするために、ユーザインタフェースコントローラ89はヘルプ文書オブジェクトに含まれるポインタを使用して、システムコントローラ1を介して図1に示すようなヘルプ文書のライブラリ11から要求されているヘルプ文書を検索する。
【0106】
別の実施形態では、ヘルプフィルタ240はフィルタのライブラリ5に対応する各ヘルプ文書を定義するコードを含み、そのため、図1に示すヘルプ文書のライブラリ11は不要である。この例においては、ヘルプ文書オブジェクトはヘルプページを定義するHTMLコードを含み、ユーザインタフェースコントローラ89はデータディスプレイチャネル93を介してこのデータを受信したのに応答して、ページをデータ表示領域21へ出力する。
【0107】
ユーザの要求に適合するヘルプを獲得した後、ユーザはシーケンスからヘルプフィルタ240を除去しても良く、これにより、ディスプレイフィルタ92に至るデータオブジェクトの流れを再開することができ、これと共に、フィルタディスプレイウィンドウ23からも図25のヘルプフィルタボックス252は除去される。
【0108】
図29は、フィルタのシーケンスに適応ヘルプフィルタ290が挿入され、システムコントローラ1からシーケンス中の他のフィルタのアイデンティティ及び位置に関する情報を獲得する別の構成を示す。この情報から、適応ヘルプフィルタ290は知識ベース291を参照することにより、データ表示領域21を介してこのフィルタの出力をユーザに知的に適応させる。そのような知識ベース291から利用可能なヘルプ情報は、例えば、フィルタの順序を変更するか又はフィルタの1つをより適切なフィルタと置き換えることによりフィルタのシーケンスを再構成する方法のアドバイスを含むこともできるであろう。
【0109】
ヘルプフィルタのもう1つの例は図30に示すトレースフィルタである。トレースフィルタ300はフィルタのシーケンスに挿入される。フィルタのシーケンスにトレースフィルタ300を含めることにより、シーケンス中の各フィルタにより出力されるデータオブジェクトの数に関してデータをコレートすることができるようになり、例えば、フィルタのシーケンスにより定義されるアプリケーションにおけるボトルネックを検出するための診断ツールとしてこれを利用できる。トレースフィルタは、ディスプレイフィルタ92により処理されたときに、図31に示すような一連の同心円を使用して、データディスプレイチャネル93へのディスプレイオブジェクトの出力にシーケンス中のフィルタを通るデータオブジェクトの流れを図形的に表現させるヘルプ文書オブジェクトを出力する。最も外側の円310はシーケンス中の第1のフィルタ31を表し、このフィルタから出力されるデータオブジェクトの数を指示する数が付されている。同様に、次に内側の円311は第2のフィルタ32を表し、同様に数が付されている。最も内側の円312は第3のフィルタ33を表す。この例では、シーケンス中の各フィルタを出るデータオブジェクトの数はそれぞれ100、50、10である。
【0110】
円の表示はディスプレイフィルタからのデータオブジェクトの表示の上に重なり合っていても良い。
【0111】
[双方向フィルタ]
図1のフィルタシステムにおけるフィルタ3のシーケンスは、データオブジェクトがフィルタからフィルタへと通過して行く方向に対応する順方向を定義する順序で配列されている。状況によっては、フィルタは制御オブジェクトをフィルタからフィルタへ逆方向に、すなわち、先に定義された順方向とは反対の方向に通過させるほうが有利な場合もある。
【0112】
データオブジェクト及び制御オブジェクトを順方向と逆方向にそれぞれ転送する能力を有するフィルタを以下の実施形態で説明するが、そのようなフィルタを双方向フィルタと呼ぶ。
【0113】
図32はそのような双方向フィルタ320を概略的に示す。この場合、データチャネル88はデータオブジェクトを順方向に搬送し、制御チャネル321は制御オブジェクトを逆方向に搬送する。
【0114】
場合によっては、図33に示すように双方向フィルタを1対のサブフィルタ330及び331から構成し、それらのサブフィルタに共有状態332、すなわち、サブフィルタ330及び331のいずれか一方によりアクセス可能な共有メモリをもたせるほうが適切なこともあるだろう。
【0115】
図34は、シーケンス中の各フィルタが双方向フィルタであるようなフィルタのシーケンスの一例を示す。この例では、フィルタのシーケンスは文書処理(ワードプロセッシング)を実行するためのアプリケーションを形成している。シーケンスはインタフェースフィルタ340と、スペルチェッカフィルタ341と、フォーマッティングフィルタ342と、テキスト処理フィルタ343とを含む。
【0116】
インタフェースフィルタ340は1対のサブフィルタ、すなわち、セーバサブフィルタ344と、ローダサブフィルタ345とにより形成されている。テキスト処理フィルタ343は1対のサブフィルタ、すなわち、テキスト捕捉サブフィルタ346と、テキストレンダリングサブフィルタ347とにより形成されている。
【0117】
フィルタ340、341、342及び343は、各々が1つのデータオブジェクトを構成する複数のテキストファイルを含むファイルシステム348からデータチャネル88を介して通信されるデータオブジェクトのストリームを処理する。
【0118】
図35には、これに対応するグラフィカルユーザインタフェースが概略的に示されており、フィルタディスプレイウィンドウ23はフィルタ340、341、342及び343の各々に対応するフィルタボックスを対応するフィルタシーケンスにおける順序と同じ順序で表示し、データ表示領域21はユーザに選択されたときにテキストファイルの1つを形成するテキストを表示する。
【0119】
表示されている、インタフェースフィルタ340に対応するグラフィカルユーザインタフェースはセーバフィルタボックス350と、ローダフィルタボックス351とを含む。ローダフィルタボックス351はLOADボタン357を含み、セーバフィルタボックスはSAVEボタン352を備えている。
【0120】
スペルチェッカフィルタボックス353はスペルチェッカフィルタ341に対するユーザインタフェースを提供し、フォーマッタフィルタボックス354はフォーマッティングフィルタ342に対するユーザインタフェースを提供する。
【0121】
テキストレンダラフィルタボックス355はテキスト処理フィルタ343のテキストレンダリングサブフィルタ347に対するユーザインタフェースを提供し、テキストキャプチャラフィルタボックス356はテキスト捕捉サブフィルタ346に対するユーザインタフェースを提供する。
【0122】
ローダサブフィルタ345はユーザに対して、ファイルシステム348からテキストファイルを選択的にロードできるようにする。このローディング機能は図35のローダフィルタボックス351にあるLOADボタン357をユーザが選択するのに応答して実行される。ローダサブフィルタ345はセーバサブフィルタ344と共通する共有状態349を有し、この共有状態を使用して、ファイルシステム348からロードされたファイルを格納する。制御チャネル321により、ユーザはユーザインタフェースコントローラ89のマウス及びキーボード339を介して指令を入力することができ、共有状態349に格納されているファイルの編集を可能にするため、編集指令がフィルタシーケンスを介して逆方向に通信される。ローダサブフィルタ345は共有状態349に格納された編集済みテキストを含むデータオブジェクトを生成し、このデータオブジェクトはフィルタシーケンスを介して順方向に通信される。テキストレンダリングフィルタ347はデータディスプレイチャネル93を介してディスプレイオブジェクトの出力を生成することにより、図35に示すように、データ表示領域21にテキスト358を表示させる。テキストが正しく編集されたことにユーザが満足すれば、ユーザはセーバフィルタボックス350のSAVEボタン352を選択することにより編集済みファイルをセーブすることを選択すれば良く、これに応答して、セーバサブフィルタ344は、適切なテキストファイルをユーザの編集に従って更新させるために、制御オブジェクトを制御チャネル321を介してファイルシステム348へ逆方向に出力する。
【0123】
図35の例では、表示されるテキストファイルは、ユーザが語「the illustrated text」及びイタリック体の語「up」を追加することにより編集することを希望するテキストのブロック358を含んでいる。ユーザは所要のフレーズをキーボード339から入力し、キーボードのコントロールキーを使用するか、又はマウスを使用して表示アイコン(図示せず)を選択することによりイタリック体を選択する。テキスト捕捉サブフィルタ346はユーザインタフェースコントローラ89から制御チャネル321を介して対応する編集指令を受信する。この指令はキーボード事象又はマウス事象に対応する一連のオブジェクトに相当する。テキスト捕捉サブフィルタ346はオブジェクトをフォーマッティングフィルタ342へ送り出し、フォーマッティングフィルタ342は編集指令に含まれている文字を完全な言葉の形に統合する。その後、フォーマッティングフィルタ342はフォーマッティング済み制御オブジェクトをスペルチェッカフィルタ341へ出力し、スペルチェッカフィルタ341は各々の語のスペルチェックを実行する。フォーマッティングフィルタ342の出力は、例えば、文字がイタリック体体で表されているか否かを示すために、適切なマークアップ言語を含む。
【0124】
スペルチェッカフィルタ341は、スペルミスの場所を報知すると共に、その後の正しいスペリングを指示するために、スペルミスがあるとわかった語に追加マークアップ言語を付随させる。この情報はセーバサブフィルタ344の共有状態349に格納され、後にローダサブフィルタ345により出力されて、スペルチェッカフィルタ341、フォーマッティングフィルタ342、テキストレンダリングサブフィルタ347及びユーザインタフェースコントローラ89を通過し、データ表示領域21に表示される。
【0125】
そこで、ユーザはスペルチェッカフィルタ341により提案される修正を実現する機会を得る。
【0126】
図35では、ユーザは語「up」及び語「ilustrated」(スペルミス)を挿入することによりテキスト358編集したところである。以下は、この際に起こる一連の事象を示している。
【0127】
1.ユーザはスペルミスを含む語「ilustrated」の入力を終え、キーボードのスペースキーを押して、カーソル359を語境界から離れるように移動させる。
【0128】
2.その編集はテキスト捕捉フィルタにより他の制御事象と共に捕捉される。そのような制御事象の一例は、編集において、ユーザが「up」をイタリック体で出現させるべきであることを指示するために「Control−i」とキーボードで入力することなどである。これらの制御事象は関連する入力テキストと共に送信される。
【0129】
3.フォーマッティングフィルタ342は制御事象と、制御事象が適用される何らかのテキストとを受信し、それに従ってテキストをマークアップする。イタリック体の例をそのまま利用すると、フォーマッティングフィルタは新たなテキスト文字のxを含むストリング<i>x</i>を出力することになるであろう。フォーマッティングフィルタ342は更に語及び段落をグループ分けし、マークアップされたどのデータ及び事象をシーケンス中の次のフィルタへ逆方向に送信すべきかを決定する。例えば、フォーマッティングフィルタは全ての文字入力を通過させるのではなく、1つの語全体が入力されるまで待ち、その後に語を通過させるのである。図35の例では、フォーマッティングフィルタによる出力は
<word location=1><i>up</i></word>;<word location=m>ilustrated</word>
を含む。
【0130】
4.スペルチェッカフィルタ341はこのマークアップデータを受信する。スペルチェッカフィルタ341はwordマークアップの事例を捜索し、そのような要素のデータ内容を処理する。そこで、「up」は受け入れられるが、「ilustrated」は不合格となる。スペルチェッカフィルタ341はスペルミスを含む全ての語をマークアップする。従って、出力は、
<misspelled><wordlocation=m>ilustrated</word></misspelled>
となる。
【0131】
5.セーバサブフィルタ344はこのデータを受信し、それをこの双方向フィルタの共有「状態」349にキャッシュする。このようにして、入力データの新たな部分が到着するたびに編集済みテキストファイルの全体を構築することができる。ユーザがSAVEボタン352を選択すると、このキャッシュファイルはファイルシステム348へ出力される。ユーザがLOADボタンを押すと、ファイルシステム348から新たなファイルが共有状態349にロードされる。
【0132】
6.順方向のデータの流れを再び考えてみる。データのスペルチェックがまだ実行されていなければ、スペルチェッカフィルタ341は先に説明したように機能する。これは、ユーザがファイルシステム348からロードされるべき新たなテキストファイルを選択した場合に起こるであろう。スペルチェッカフィルタ341はこのマークアップテキストを取り出し、<misspelled>語の全ての発生時例を何らかのフォーマッティング命令と置き換える。この例では、スペルチェッカフィルタ341は問題のある語に赤色の背景を表示するためのマークアップを適用する。例えば、スペルチェッカフィルタ341は、
<word location>=m><colour background=red>ilustrated</colour></word>
を出力する。
【0133】
7.フォーマッティングフィルタ342はフォーマッティング命令でマークアップされたデータを検査し、それらのデータを、文書に対するフォーマッティング命令(ページサイズ、文書スタイルなど)も考慮に入れて、テキストレンダリングサブフィルタ347が理解する制御文字に変換する。この例では、これをHTMLへの単純な変換であるとする。より精巧なフォーマッタであれば、スタイルシート又はよりハイレベルなリーディング調整及びカーニング調整を伴うワードブレーキングアルゴリズムを使用できると考えられる。
【0134】
8.テキストレンダリングサブフィルタ347は新たなデータを取り上げ、それをデータ表示領域21にレンダリングする。この例では、これはHTMLを理解するjavaJEditorコンポーネントへの挿入の使用によって行われるであろう。ユーザはスペルミスした語が赤色の背景によってハイライティングされている様子を見て取ることができる。
【0135】
図36は、双方向フィルタのシーケンスの別の例を示す。この場合、双方向フィルタのシーケンスは線図を編集する機能を実行し、図37に概略的に表されるようなグラフィカルユーザインタフェースを有する。先の図の要素に対応する要素については、先の図の図中符号に対応する図中符号を付してある。
【0136】
図36のフィルタシーケンスは、ファイルシステム348からデータオブジェクトを入力するローダサブフィルタ345と、編集済みファイルをファイルシステムにセーブするセーバサブフィルタ344から成るインタフェースフィルタ340を含む。
【0137】
ローダサブフィルタ345とセーバサブフィルタ344は、編集中にデータをキャッシングするための共有状態349をアクセスする。
【0138】
ローダサブフィルタ345はデータオブジェクトを順方向にマニピュレーションフィルタ360へ出力し、マニピュレーションフィルタ360はデータオブジェクトを内部状態361に格納する。マニピュレーションフィルタ360はデータオブジェクトを順方向に線図処理フィルタ362へ出力する。線図処理フィルタ362はレンダリングサブフィルタ363と、選択サブフィルタ364とを含み、これらのサブフィルタは受信したデータオブジェクトを格納する共有状態365を有する。
【0139】
レンダリングサブフィルタ363はマニピュレーションフィルタ360からデータオブジェクトを受信し、ディスプレイチャネル93を介してディスプレイオブジェクトをユーザインタフェースコントローラ89へ出力することにより、表示領域21に図7に示す円370のような線図オブジェクトの表現を表示させる。
【0140】
選択サブフィルタ364は制御チャネル321を介して逆方向に通信される制御オブジェクトを受信して、ユーザインタフェースコントローラ89のマウス及びキーボード339を介するユーザ入力に応答して表示データを編集する。
【0141】
通常、ユーザはマウスとカーソルを使用して表示されているオブジェクトの1つを選択し、その後、例えば、オブジェクトの大きさ、向き又は位置を変更することによりオブジェクトを操作するための編集指令を適用することにより、線図を編集することを望む。まず、表示されているオブジェクトのどれがマウス操作によって選択されたかを判定することが必要であり、このタスクが選択サブフィルタ364により実行される。選択サブフィルタ364は選択が実行されたカーソル位置を共有状態365に含まれている表示オブジェクトの詳細な格納内容と関連付け、選択された線図オブジェクトを識別する。選択サブフィルタ364は選択された線図オブジェクトを識別するマークアップ済みデータを編集指令と共に逆方向に出力し、この情報はマニピュレーションフィルタ360により状態361に内部格納される。
【0142】
状態361は表示されている線図オブジェクトに関連する格納データを既に含んでおり、選択された線図オブジェクトに要求された変換を適用するために編集指令を解釈する。通常、これは変換データをもたらす幾何学的変換を含み、変換済みデータは逆方向にセーバサブフィルタ344へ出力され、そこで共有状態349に格納される。
【0143】
ローダサブフィルタ345は、変換済みオブジェクトデータを含めて、共有状態349に含まれる編集済みデータから表示されている線図オブジェクトを自動的に更新し、編集済みデータは順方向に送り出されて、ユーザに対して表示される前にマニピュレーションフィルタ360及びレンダリングサブフィルタ363に格納される。
【0144】
選択サブフィルタ364は編集すべきオブジェクトの選択を識別するが、この選択情報は共有状態365を介してレンダリングサブフィルタ363でも利用可能となり、レンダリングサブフィルタ363はデータディスプレイチャネル93を介して出力されるデータをユーザに対して選択されたオブジェクトを指示するための選択標識を追加することにより修正する。この標識は、例えば、選択された線図オブジェクトに追加される選択ハンドル381又は選択フレームの形態をとる。これは図38A、図38B及び図38Cに次のように示されている。図38Aでは、ユーザは編集したいオブジェクト370の上にカーソル380を置き、マウスをクリックすることによりそのオブジェクトを選択する。
【0145】
この選択は選択サブフィルタ364により検出され、オブジェクト370が識別され、レンダリングサブフィルタ363へ通信される。レンダリングサブフィルタ363は選択ハンドル381を作成し、選択ハンドル381は図38Bに示すように選択されたオブジェクトの上に重なるように表示される。
【0146】
そこで、ユーザはカーソルの位置を使用して選択されたオブジェクト370を図38Cに示すように新たな位置までドラッグする。このマウスドラッグアクションは、マニピュレーションフィルタ360により解釈される指令として解釈される。マニピュレーションフィルタ360は、オブジェクト370が表示されるべき座標への平行移動という形の適切な変換を適用する。
【0147】
この例では、セレクタサブフィルタ364から出力されるマークアップ済みデータは次のような形態をとると考えられる。
<selected><object id = o1/></selected><event><mousedrag from =10,10 to =5,5/></event>
マニピュレーションフィルタ360により適用される変換の効果は、
<object id =o1><shape><circle x = 10,y = 10,r=2/></shape></object>
から元のオブジェクトデータを
<object id = o1><shape><circle x=5,y= 5,r = 2/></shape></object>
に変更するというものである。
【0148】
ユーザは、セーブボタン352を選択することにより、ファイルシステム348中のファイルを編集済みデータによって更新することを選択しても良い。
これにより、選択サブフィルタ364、マニピュレーションフィルタ360及びセーバサブフィルタ344を介して逆方向の制御オブジェクトの流れを使用してデータを編集できる。
【0149】
図39に示すように、アンドゥーフィルタ390を含むように図36のフィルタシーケンスを変形しても良い。アンドゥーフィルタ390は、制御チャネル321を介して逆方向に受信された編集指令を格納する内部状態391を含む。図40に示す、これに対応するグラフィカルユーザインタフェースは、アンドゥーボタン401と、リドゥーボタン402とを含むアンドゥーフィルタボックス400を含む。ユーザがアンドゥーボタン401を選択するのに応答して、アンドゥーフィルタ390は編集無効指令を生成し、この指令は逆方向にマニピュレーションフィルタ360へ出力される。マニピュレーションフィルタ360は、線図が先に受信された編集指令以前の形態に戻るように編集打ち消しを実現する。
【0150】
ユーザがリドゥーボタン402を選択するのに応答して、アンドゥーフィルタ390は先に実行されなかった編集指令に対応する編集指令を生成し、その指令をマニピュレーションフィルタ360へ出力する。そこで、マニピュレーションフィルタ360は編集を再実行するために必要な変換を実行する。
【0151】
テキスト捕捉サブフィルタ346から編集指令を受信し、適切な編集無効指令を逆方向にフォーマッティングフィルタ342へ出力するように、対応するアンドゥーフィルタを図34のワード処理アプリケーションのフィルタシーケンスに挿入することが可能である。
【0152】
別の実施形態においては、例えば、アンドゥー機能が単にメモリから未編集バージョンを検索することだけを要求するように、編集の前後でそのたびに完全状態を格納することによりアンドゥー機能とリドゥー機能を実現する。
【0153】
[フィルタの実現]
以上説明したようなフィルタを使用してアプリケーションを作成する方法はいくつかの異なる方法で実現できるであろうが、現時点で好ましい態様においては、XML要素により表現されるデータオブジェクト、制御オブジェクト及び制御事象と共にJavaインプリメンテーリョンを利用している。このインプリメンテーリョンでは、フィルタは、各々がXMLストリームからXML要素を読み取り、別のXMLストリームにXML要素を書き込むJavaオブジェクトになる。
【0154】
システムは、低レベルでは、パーサと、アプリケーションプログラミングインタフェースとを含むXMLプロセッサの形態をとるカーネルにより実現される。パーサは、XML要素がフィルタが作用しうる要素であるか否かを各フィルタが判定できるようにすると共に、各フィルタが必要なデータを抽出できるようにするために、各フィルタにより要求される。
【0155】
より高いレベルでは、入力ストリームと出力ストリームが定義され、通常は入力と出力を処理するためにいくつかのストリームが必要とされる。
【0156】
ストリームを作成し、それにフィルタを適用し、フィルタのシーケンスの出力を出力装置に結合するなどのタスクはカーネルの責務である。また、カーネルは、利用可能な入力ファイルシステムがどのようなものであっても、そこからのXML要素の一貫したストリームを維持する働きもする。一貫したストリームとは、例えば、XML要素のストリームにより表現されるXML文書の場合のように、セッション間で状態を保持するストリームである。標準型パーソナルコンピュータの場合、システムにより提供されるストリームはマウス状態(位置及びボタン)と、キーボードストリームと、システムクロックストリームと、ネットワークソケットを介してシステムに入力するデータなどの他のデータストリームとを含む。
【0157】
上記の入力ストリームは、ディスプレイストリームと、音声出力ストリームと、ネットワークソケットを介してシステムから出力されるデータのデータストリームとを含む出力ストリームにより相補される。
【0158】
以上説明した実施形態は従来のパーソナルコンピュータを使用して、ハードウェアの変形なく実現できる。Javaを使用して実現される好ましい実施形態は、Javaプログラムをコンパイルすることにより得られるバイトコードを解釈し且つ実行するためにJavaプログラム及びJava仮想機械により使用するためのJavaクラスを定義するJavaプラットフォームをパーソナルコンピュータにロードすることを必要とする。例えば、ストリング整合に使用されるユーティリティなどの表現ユーティリティを含む正規表現ライブラリに加えて、システムは、パーサ、及びユーザインタフェース要素を処理するためのソフトウェアモジュールを含むUIML(ユーザインタフェースマークアップ言語)ライブラリなどのユーティリティを含むXMLライブラリを必要とする。
【0159】
システムの開発者は、表示領域が提示されるウィンドウを定義するフレームコンポーネントなどの1組のJavaユーザインタフェースコンポーネント、フィルタセレクタウィンドウ25に表示される利用可能フィルタのパレットを作成するための初期設定オブジェクト、及び動作環境4内部のフィルタのシーケンスにフィルタを導入するためのハンドリングソフトウェアを作成しなければならない。また、シーケンス中のフィルタを所要の方法で動作接続するためのソフトウェアを開発しなければならない。これは、動作環境の一部を形成する事象ハンドリングソフトウェアにより実現されるのが好ましい。例えば、シーケンス中の所定の1つのフィルタについて、そのフィルタの出力は出力すべきデータオブジェクトと、動作環境の事象ハンドリングソフトウェアにより検出される事象を生成するための事象開始ソフトウェアを含むバッファに相当する。シーケンス中の次のフィルタはバッファ内容を受け入れることによりそのような事象に応答する。
【0160】
フィルタディスプレイウィンドウ23にフィルタボックス24が表示される方式を定義するために、対応するデータ構造が存在している。このデータ構造は、フィルタディスプレイウィンドウ23の表示を更新するためにデータ構造がユーザにより更新されるたびにパージングされるツリーの形態をとる。このデータ構造の変更は、動作環境のデータ構造の対応するツリーにおける変化に反映される。その結果、フィルタの動作接続にも変更が起こる。先に説明した通り、ユーザインタフェースとしての各フィルタボックスの実際の内容は、フィルタ自体により作成されるユーザインタフェースオブジェクトによって定義される。
【0161】
システムのエンドユーザは言うまでもなくJava又はプログラミングの知識を必要とせず、システムは従来のデスクトップコンピュータと組み合わせて使用するためのソフトウェアパッケージとして販売されると考えられる。このソフトウェアパッケージは、例えば、システムコントローラ1と、動作環境4と、基本フィルタライブラリ5とを定義するシステムソフトウェアであっても良い。この場合、例えば、グラフィックデザイン、デスクトップ出版、音声視覚マスタリング、文書アーカイブの格納及び検索、データベース検索及びインターネット検索等の新たな問題に対処するようにシステムの能力を拡張する目的のために、ライブラリに追加すべき追加フィルタがユーザに提供されることになるであろう。
【0162】
フィルタは入れ換えや、再利用が可能なように設計されているため、フィルタのライブラリの追加、削除により既存のフィルタと更新用の新たなフィルタとの交換は容易に行えるであろう。
【0163】
次に、上述のフィルタに加えてライブラリに含めることができるフィルタの例を挙げる。
【0164】
フォルダフィルタは、1組のデータオブジェクトを個別のアイコンとして表示領域に表示するのではなく、1つのフォルダアイコンが現れるように、データオブジェクトを1つのフォルダにまとめるために使用されても良い。マウスとカーソルを使用してフォルダアイコンを選択することにより、個々のデータオブジェクトをアクセスし、表示させることができる。
【0165】
クロックフィルタはシステムフィルタの一例である。フィルタシーケンスに挿入されると、クロックフィルタは表示領域に時刻を表示する。このフィルタは、クロックを更新するために要求される、絶えず変化しているXMLデータのストリームに応答する。
【0166】
リビジョンフィルタは、数人のユーザの間で共用されているシステムにおいて、ユーザが処理中の文書の変更を行う場合に使用されても良い。リビジョンフィルタは他のユーザが行った変更を異なる色で表示させる。
【0167】
バージョンコントロールフィルタは文書処理に使用される。バージョンコントロールフィルタをフィルタシーケンスに挿入すると、バージョン追跡を可能にする属性を含むようにデータオブジェクトを修正することができる。また、バージョンコントロールフィルタは、先に修正されたバージョンを必要に応じて検索できるように、文書の各バージョンを保持しておく。
【0168】
読み取り専用フィルタは、後にデータオブジェクトの定義済みフィールドの編集を阻止するようなデータオブジェクトの属性を定義するためにフィルタシーケンスに挿入される。
【0169】
暗号化フィルタ及び暗号解読フィルタも使用できる。遠隔場所へ送信すべき文書を作成する場合、データオブジェクトを暗号化するために暗号化フィルタをフィルタシーケンスに挿入すれば良い。遠隔場所では、データオブジェクトを解読するために暗号解読フィルタを含むフィルタシーケンスを具備するアプリケーションを使用して、受信したデータを処理する。
【0170】
画像処理フィルタは、画像から成るデータオブジェクトに様々な種類の画像処理を適用するために利用される。
【0171】
画面セーバフィルタは、所定の期間にわたるアクティビティの欠落を検出し、画面に表示されるべきアニメーションの形態をとる画面セーブを生成することによりこれに応答するために、ディスプレイフィルタに近接してフィルタシーケンスに挿入される。このフィルタはアクティビティの検出に応答して、画面セーバを停止し、データ表示に戻る。
【0172】
選択されたデータオブジェクトを印刷できるようにするためにプリントフィルタを設けても良い。
【0173】
ユーザがアプリケーションに含めるためにライブラリから選択できるフィルタの数に制限はない。その時点で処理中であるデータオブジェクトの種類に現実に適合しないフィルタがあっても、フィルタはこの事象において本質的には透明であるように構成されているため、そのこと自体は問題ではない。例えば、その時点で画像データを含まない文書を処理しているアプリケーションに画像処理フィルタが含まれていた場合でも、データオブジェクトは何の影響も受けずに画像処理フィルタを通過するだけであろう。これは、何らかのアクションが可能であるか又は適切であるかを判定するために、フィルタがデータオブジェクトのメタデータをパージングするからである。
【0174】
上述の例は、情報が視覚表示されるグラフィカルユーザインタフェースの形態をとるユーザインタフェースに関する。情報の音声視覚提示又は純粋な音声提示を含めた他の形態のユーザインタフェースも可能である。
【0175】
以上説明したように、本発明は、上述の方法を実行すべくプロセッサを制御するためのプロセッサ実現可能な命令の形態をとるコンピュータプログラムを提供されるコンピュータを使用して実現できる。そのようなプログラムは記憶媒体に格納されれば良く、従って、本発明の1つの面は、上述の方法のいずれか1つ又はその組み合わせを実行すべくプロセッサを制御するためのプロセッサ実現可能な命令を格納する記憶媒体を提供する。
【0176】
コンピュータプログラムは、例えば、インターネットなどのネットワークを介してコードをダウンロードすることにより電子形態で獲得されても良い。このため、本発明の別の面によれば、上述の方法のいずれか1つ又はその組み合わせを実行すべくプロセッサを制御するためのプロセッサ実現可能な命令を搬送する電気信号が提供される。
【0177】
本発明のシステム及び方法を動作させることにより得られるアプリケーションも同様に記憶媒体に格納されるか、又は電子信号として通信されても良い。従って、そのようなアプリケーションがプロセッサ実現可能な命令、記憶媒体に格納された命令又は電子信号として通信される命令の形態をとるとき、それは本発明の別の面を構成する。
【0178】
上述の方法のいずれか1つを実行するためのアルゴリズムの格納又は送信のためのキャリアは、例えば、この目的のための論理を定義するハードワイヤード回路を含めて、本発明の1つの面を構成すると考えられる。
【0179】
以上説明したシステム及び方法は、フィルタのシーケンスが分岐を含まないノードの直線的シーケンスを定義する実施形態に関する。本発明の範囲内で、フィルタのシーケンスが分割し、再び組み合わされて、並列処理構造又はより複雑な処理構造を形成する複数の分岐を伴うツリー構造に対応するような別の実施形態も考えられる。そのような構造は、例えば、双方向フィルタ、ユーザインタフェース制御オブジェクトにより制御されるユーザインタフェース、及びユーザがシステムを開発、使用するのを補助するためのヘルプオブジェクト発生器を有するという特徴を含むであろう。
【0180】
付録1
Figure 0004306991
付録2
Figure 0004306991
付録3
Figure 0004306991
付録4
Figure 0004306991
付録4の続き
Figure 0004306991
付録5
Figure 0004306991
付録5の続き
Figure 0004306991
付録6
Figure 0004306991
付録7
Figure 0004306991

【図面の簡単な説明】
【図1】システムの基本構造を示す概略図である。
【図2】図1のシステムのグラフィカルユーザインタフェースの表示画面を示す図である。
【図3】データベースを検索するためのインターネットを介するシステムの接続を示す図である。
【図4】図2の表示画面のフィルタセレクタウィンドウの概略図である。
【図5】図3のデータベースから特許文書を検索する例において使用されるグラフィカルユーザインタフェースの概略図である。
【図6】図3から図5の例で使用されるフィルタ構成から形成されるアプリケーションの概略図である。
【図7A】検索できる属性のメニューを示すgrepフィルタボックスの図である。
【図7B】検索に際して特定の属性を選択した後の図7Aのgrepフィルタボックスを示す図7Aに対応する図である。
【図8】データ要素の集合体を処理するためのフィルタの選択の一例を示す図である。
【図9】フィルタシーケンスの概略図である。
【図10】図9のフィルタシーケンスに対応するフィルタディスプレイウィンドウを示す図である。
【図11】別のフィルタシーケンスを示す図である。
【図12】図11のフィルタシーケンスに対応するフィルタディスプレイウィンドウを示す図である。
【図13】ツールバーフィルタを含むフィルタシーケンスの別の例を示す図である。
【図14】図13のフィルタシーケンスに対応するフィルタディスプレイウィンドウを示す図である。
【図15】ツールバーフィルタボックスを見えなくするように制約した後の図13のフィルタシーケンスに対応するフィルタディスプレイウィンドウを示す図である。
【図16】「データコントロール追加」フィルタを含む別のフィルタシーケンスを示す図である。
【図17】フィルタディスプレイウィンドウ及び図16のフィルタシーケンスに対応するデータディスプレイウィンドウの一部を示す図である。
【図18】ポータブルコンピュータ装置にダウンロードされるアプリケーションの概略図である。
【図19】プリンタ制御アプリケーションの場合のフィルタシーケンスを示す図である。
【図20】プリンタユーザインタフェースに対するアプリケーションを開発するために使用されるグラフィカルユーザインタフェースを示す図である。
【図21】白黒プリンタの場合のプリンタユーザインタフェースを示す図である。
【図22】カラープリンタの場合のユーザインタフェースを示す図である。
【図23】ファクシミリ装置の場合のユーザインタフェースを示す図である。
【図24】ヘルプフィルタを含むフィルタシーケンスを示す図である。
【図25】図24のフィルタシーケンスに対応するフィルタディスプレイウィンドウを示す図である。
【図26】ヘルプボタンを選択した場合のデータ表示を示す図である。
【図27】ヘルプ文書を示す図である。
【図28】ALLボタンを選択したときのデータ表示を示す図である。
【図29】適応ヘルプフィルタを含むフィルタシーケンスを示す図である。
【図30】トレースフィルタを含むフィルタシーケンスを示す図である。
【図31】図30のトレースフィルタの出力に対応するデータ表示を示す図である。
【図32】双方向フィルタの概略図である。
【図33】図32のフィルタのサブフィルタ構造の概略図である。
【図34】双方向フィルタを含むフィルタシーケンスを示す図である。
【図35】ワード処理アプリケーションに対するグラフィカルユーザインタフェースを示す図である。
【図36】線図を編集するためのアプリケーションに対するフィルタシーケンスを示す図である。
【図37】図36の線図編集アプリケーションに対するグラフィカルユーザインタフェースを示す図である。
【図38A】線図編集操作のオブジェクト選択の時点における表示領域を示す図である。
【図38B】選択ハンドルを示す、選択後の図38Aの表示領域を示す図である。
【図38C】選択されたオブジェクトの移動後の図38A及び図38Bの表示領域を示す図である。
【図39】アンドゥーフィルタを有する線図編集アプリケーションに対するフィルタシーケンスを示す図である。
【図40】図39の線図編集アプリケーションに対するグラフィカルユーザインタフェースを示す図である。
【図41】コンピュータ装置を示す図である。

Claims (16)

  1. コンピュータが処理可能な、アプリケーションを形成するための処理モジュールであって、データチャネルを介して通信されるデータオブジェクトを処理又は修正し、且つユーザインタフェースチャネルを介して通信されるユーザインタフェース制御オブジェクトを修正するためのフィルタを複数格納したライブラリと、
    前記ライブラリに格納された複数のフィルタそれぞれに対応するフィルタアイコンを表示し、表示中のフィルタアイコンの中からユーザにより選択指示されたフィルタアイコンに対応するフィルタを、前記ライブラリから動作環境のメモリにロードして、該動作環境において配列されたフィルタのシーケンスに追加する選択手段と、
    前記ユーザインタフェースチャネルを介して通信されるマークアップ言語で記述された前記ユーザインタェース制御オブジェクトに対して、前記フィルタのシーケンスに従って当該配列されている各フィルタにおいて当該各フィルタに対応するユーザインタェースの要素のコードを含めるように修正する修正手段と、
    前記修正手段で前記配列されている各フィルタに対応するユーザインタェースの要素のコードを含めるように修正された前記マークアップ言語記述のユーザインタェース制御オブジェクトのコードを、少なくともパーサを含むユーザインタフェースコントローラで解釈することによって、前記配列されている各フィルタに対応するユーザインタェースの要素を表示装置に表示するための表示用データを生成する生成手段と、
    を有し、
    更に、前記データチャネルを介して通信される前記データオブジェクトは、前記フィルタのシーケンスに従って、当該配列されている各フィルタにおいて処理又は修正されることを特徴とするデータ処理装置。
  2. 前記修正手段は、前記メモリにおけるフィルタのシーケンスに従って当該配列されている各フィルタにおいて、当該各フィルタに対応するユーザインタェースの要素のコードを前記ユーザインタェース制御オブジェクトに追記していくことを特徴とする請求項1に記載のデータ処理装置。
  3. 前記修正手段は、前記ユーザインタェース制御オブジェクトに対して追記されたフィルタに対応するユーザインタェースの要素のコードを変更することを特徴とする請求項2に記載のデータ処理装置。
  4. 前記生成された表示用データが前記表示装置に出力されることにより、前記選択されたフィルタに対応するユーザインタェースの要素は、前記フィルタのシーケンスに対応する順序で前記表示装置に表示されることを特徴とする請求項1に記載のデータ処理装置。
  5. 前記フィルタは、前記配列されたフィルタに対応するユーザインタェースの要素の表示可否をユーザに設定させるためのコードを含むことを特徴とする請求項1に記載のデータ処理装置。
  6. 前記フィルタは、他の配列されたフィルタに対応するユーザインタェースの要素を1つのツールバー上に表示させるためのツールバーフィルタを含むことを特徴とする請求項1に記載のデータ処理装置。
  7. 前記マークアップ言語はXMLであることを特徴とする請求項1に記載のデータ処理装置。
  8. コンピュータが処理可能な、アプリケーションを形成するための処理モジュールあって、データチャネルを介して通信されるデータオブジェクトを処理又は修正し、且つユーザインタフェースチャネルを介して通信されるユーザインタフェース制御オブジェクトを修正するためのフィルタを複数格納したライブラリを有するデータ処理装置を制御するデータ処理方法であって、
    前記データ処理装置が有する選択手段が、前記ライブラリに格納された複数のフィルタそれぞれに対応するフィルタアイコンを表示し、表示中のフィルタアイコンの中からユーザにより選択指示されたフィルタアイコンに対応するフィルタを、前記ライブラリから動作環境のメモリにロードして、該動作環境において配列されたフィルタのシーケンスに追加する選択ステップと、
    前記データ処理装置が有する修正手段が、前記ユーザインタフェースチャネルを介して通信されるマークアップ言語で記述された前記ユーザインタェース制御オブジェクトに対して、前記フィルタのシーケンスに従って当該配列されている各フィルタにおいて当該各フィルタに対応するユーザインタェースの要素のコードを含めるように修正する修正ステップと、
    前記データ処理装置が有する生成手段が、前記修正ステップで前記配列されている各フィルタに対応するユーザインタェースの要素のコードを含めるように修正された前記マークアップ言語記述のユーザインタェース制御オブジェクトのコードを、少なくともパーサを含むユーザインタフェースコントローラで解釈することによって、前記配列されている各フィルタに対応するユーザインタェースの要素を表示装置に表示するための表示用データを生成する生成ステップと、
    の各ステップを含み、
    更に、前記データチャネルを介して通信される前記データオブジェクトは、前記フィルタのシーケンスに従って、当該配列されている各フィルタにおいて処理又は修正されることを特徴とするデータ処理方法。
  9. コンピュータが処理可能な、アプリケーションを形成するための処理モジュールであって、データチャネルを介して通信されるデータオブジェクトを処理又は修正し、且つユーザインタフェースチャネルを介して通信されるユーザインタフェース制御オブジェクトを修正するためのフィルタを複数格納したライブラリを有するデータ処理装置を制御するための、コンピュータ実行可能なコンピュータプログラムであって、
    前記データ処理装置に対して、前記ライブラリに格納された複数のフィルタそれぞれに対応するフィルタアイコンを表示し、表示中のフィルタアイコンの中からユーザにより選択指示されたフィルタアイコンに対応するフィルタを、前記ライブラリから動作環境のメモリにロードして、該動作環境において配列されたフィルタのシーケンスに追加する選択ステップと、
    前記データ処理装置に対して、前記ユーザインタフェースチャネルを介して通信されるマークアップ言語で記述された前記ユーザインタェース制御オブジェクトに対して、前記フィルタのシーケンスに従って当該配列されている各フィルタにおいて当該各フィルタに対応するユーザインタェースの要素のコードを含めるように修正する修正ステップと、
    前記データ処理装置に対して、前記修正ステップで前記配列されている各フィルタに対応するユーザインタェースの要素のコードを含めるように修正された前記マークアップ言語記述のユーザインタェース制御オブジェクトのコードを、少なくともパーサを含むユーザインタフェースコントローラで解釈することによって、前記配列されている各フィルタに対応するユーザインタェースの要素を表示装置に表示するための表示用データを生成する生成ステップと
    して機能させ
    更に、前記データチャネルを介して通信される前記データオブジェクトは、前記フィルタのシーケンスに従って、当該配列されている各フィルタにおいて処理又は修正されることを特徴とするコンピュータプログラム。
  10. 前記修正ステップは、前記メモリにおけるフィルタのシーケンスに従って当該配列されている各フィルタにおいて、当該各フィルタに対応するユーザインタェースの要素のコードを前記ユーザインタェース制御オブジェクトに追記していくことを特徴とする請求項9に記載のコンピュータプログラム。
  11. 前記修正ステップは、前記ユーザインタェース制御オブジェクトに対して追記されたフィルタに対応するユーザインタフェースの要素のコードを変更することを特徴とする請求項10に記載のコンピュータプログラム。
  12. 前記生成された表示用データが前記表示装置に出力されることにより、前記選択されたフィルタに対応するユーザインタェースの要素は、前記フィルタのシーケンスに対応する順序で前記表示装置に表示されることを特徴とする請求項9に記載のコンピュータプログラム。
  13. 前記フィルタは、前記配列されたフィルタに対応するユーザインタェースの要素の表示可否をユーザに設定させるためのコードを含むことを特徴とする請求項9に記載のコンピュータプログラム。
  14. 前記フィルタは、他の配列されたフィルタに対応するユーザインタェースの要素を1つのツールバー上に表示させるためのツールバーフィルタを含むことを特徴とする請求項9に記載のコンピュータプログラム。
  15. 前記マークアップ言語はXMLであることを特徴とする請求項9に記載のコンピュータプログラム。
  16. 請求項9乃至15のいずれか1項に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
JP2001347673A 2000-11-13 2001-11-13 データ処理装置及び方法、並びに、コンピュータプログラム及び記憶媒体 Expired - Fee Related JP4306991B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0027685.7A GB0027685D0 (en) 2000-11-13 2000-11-13 Filter based authoring tool
GB0027685.7 2000-11-13

Publications (2)

Publication Number Publication Date
JP2002244849A JP2002244849A (ja) 2002-08-30
JP4306991B2 true JP4306991B2 (ja) 2009-08-05

Family

ID=9903078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001347673A Expired - Fee Related JP4306991B2 (ja) 2000-11-13 2001-11-13 データ処理装置及び方法、並びに、コンピュータプログラム及び記憶媒体

Country Status (4)

Country Link
US (1) US20020124115A1 (ja)
EP (1) EP1205844A3 (ja)
JP (1) JP4306991B2 (ja)
GB (2) GB0027685D0 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1207461A1 (en) * 2000-11-17 2002-05-22 Siemens Aktiengesellschaft Method and device for performing a query on a markup document
US7650566B1 (en) 2002-06-28 2010-01-19 Microsoft Corporation Representing list definitions and instances in a markup language document
US7562295B1 (en) * 2002-06-28 2009-07-14 Microsoft Corporation Representing spelling and grammatical error state in an XML document
US7523394B2 (en) 2002-06-28 2009-04-21 Microsoft Corporation Word-processing document stored in a single XML file that may be manipulated by applications that understand XML
US7533335B1 (en) 2002-06-28 2009-05-12 Microsoft Corporation Representing fields in a markup language document
US7584419B1 (en) 2002-06-28 2009-09-01 Microsoft Corporation Representing non-structured features in a well formed document
US7565603B1 (en) 2002-06-28 2009-07-21 Microsoft Corporation Representing style information in a markup language document
US7607081B1 (en) 2002-06-28 2009-10-20 Microsoft Corporation Storing document header and footer information in a markup language document
US20040025141A1 (en) * 2002-08-05 2004-02-05 Full Circle Technologies, Inc. Vectoreyes web-viewer
US20040117494A1 (en) * 2002-12-16 2004-06-17 Mitchell Larry J. Method and system for dynamically reconfiguring pervasive device communication channels
US7509321B2 (en) * 2003-01-21 2009-03-24 Microsoft Corporation Selection bins for browsing, annotating, sorting, clustering, and filtering media objects
US7117453B2 (en) * 2003-01-21 2006-10-03 Microsoft Corporation Media frame object visualization system
US7904797B2 (en) * 2003-01-21 2011-03-08 Microsoft Corporation Rapid media group annotation
US20060130070A1 (en) * 2004-11-22 2006-06-15 Graf Lars O System and method of event correlation
PL1666074T3 (pl) 2004-11-26 2008-10-31 Baestarro Gmbh & Co Kg Lampa bakteriobójcza
US7739612B2 (en) 2005-09-12 2010-06-15 Microsoft Corporation Blended editing of literal and non-literal values
US7328199B2 (en) * 2005-10-07 2008-02-05 Microsoft Corporation Componentized slot-filling architecture
US7606700B2 (en) * 2005-11-09 2009-10-20 Microsoft Corporation Adaptive task framework
US20070106496A1 (en) * 2005-11-09 2007-05-10 Microsoft Corporation Adaptive task framework
US7822699B2 (en) * 2005-11-30 2010-10-26 Microsoft Corporation Adaptive semantic reasoning engine
US7933914B2 (en) * 2005-12-05 2011-04-26 Microsoft Corporation Automatic task creation and execution using browser helper objects
US7831585B2 (en) * 2005-12-05 2010-11-09 Microsoft Corporation Employment of task framework for advertising
US20070130134A1 (en) * 2005-12-05 2007-06-07 Microsoft Corporation Natural-language enabling arbitrary web forms
US7788499B2 (en) * 2005-12-19 2010-08-31 Microsoft Corporation Security tokens including displayable claims
US20070203852A1 (en) * 2006-02-24 2007-08-30 Microsoft Corporation Identity information including reputation information
US8117459B2 (en) * 2006-02-24 2012-02-14 Microsoft Corporation Personal identification information schemas
US8104074B2 (en) * 2006-02-24 2012-01-24 Microsoft Corporation Identity providers in digital identity system
US20070203869A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Adaptive semantic platform architecture
US7996783B2 (en) * 2006-03-02 2011-08-09 Microsoft Corporation Widget searching utilizing task framework
US8135605B2 (en) * 2006-04-11 2012-03-13 Bank Of America Corporation Application risk and control assessment tool
US8078880B2 (en) * 2006-07-28 2011-12-13 Microsoft Corporation Portable personal identity information
US8621373B2 (en) * 2006-08-31 2013-12-31 Microsoft Corporation Desktop assistant for multiple information types
US8407767B2 (en) 2007-01-18 2013-03-26 Microsoft Corporation Provisioning of digital identity representations
US8087072B2 (en) * 2007-01-18 2011-12-27 Microsoft Corporation Provisioning of digital identity representations
US8689296B2 (en) 2007-01-26 2014-04-01 Microsoft Corporation Remote access of digital identities
US20080289020A1 (en) * 2007-05-15 2008-11-20 Microsoft Corporation Identity Tokens Using Biometric Representations
US7979524B2 (en) * 2007-05-23 2011-07-12 International Business Machines Corporation System and method for disclosing relations between entities in support of information technology system visualization and management
US8060831B2 (en) * 2007-06-29 2011-11-15 Microsoft Corporation User interface visual cue for use with literal and non-literal values
JP4767309B2 (ja) * 2008-11-28 2011-09-07 キヤノンItソリューションズ株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム
US20120030572A1 (en) * 2010-08-02 2012-02-02 International Business Machines Corporation Network visualization system
US8589536B2 (en) 2010-08-02 2013-11-19 International Business Machines Corporation Network monitoring system
KR101357262B1 (ko) * 2010-08-13 2014-01-29 주식회사 팬택 필터 정보를 이용한 객체 인식 장치 및 방법
US9251128B2 (en) * 2012-06-05 2016-02-02 International Business Machines Corporation Replacing a designated character string, or styling within the designated scope of tagged edited content in a document
US9069646B2 (en) * 2012-12-17 2015-06-30 Sap Se Automatic documentation generator
CN104969187A (zh) * 2013-11-22 2015-10-07 株式会社日立制作所 用户界面生成***及生成方法
US10229201B2 (en) * 2014-07-31 2019-03-12 International Business Machines Corporation Interface for simultaneous display of selected items from search engine results
JP6174825B2 (ja) 2015-01-16 2017-08-02 株式会社日立製作所 サービスを作成する管理システム
EP3329366B1 (en) * 2015-07-31 2021-07-07 WiseTech Global Limited Systems and methods for executable content and executable content flow creation
US10025564B2 (en) * 2015-11-25 2018-07-17 International Business Machines Corporation Intuitive frames of task appropriate frames of reference for multiple dimensions of context for related sets of objects within an IDE
US11269907B1 (en) * 2019-11-15 2022-03-08 Palantir Technologies Inc. Object-centric data analysis system and graphical user interface

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737622A (en) * 1986-04-14 1998-04-07 National Instruments Corporation Method and apparatus for more efficient function synchronization in a data flow program
US5481741A (en) * 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing attribute nodes in a graphical data flow environment
US5504917A (en) * 1986-04-14 1996-04-02 National Instruments Corporation Method and apparatus for providing picture generation and control features in a graphical data flow environment
US4914568A (en) * 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US4860204A (en) * 1987-02-05 1989-08-22 Softron, Inc. Computer based workstation for development of graphic representation of computer programs
US5301301A (en) * 1991-01-30 1994-04-05 National Instruments Corporation Polymorphic dataflow block diagram system and method for programming a computer
US5479603A (en) * 1993-07-21 1995-12-26 Xerox Corporation Method and apparatus for producing a composite second image in the spatial context of a first image
US5862372A (en) * 1994-11-16 1999-01-19 Morris; Robert M. Visually oriented computer implemented application development system utilizing standardized objects and multiple views
US5572525A (en) * 1995-05-31 1996-11-05 National Instruments Corporation GPIB extender with find listener protocol capabilities
US5913038A (en) * 1996-12-13 1999-06-15 Microsoft Corporation System and method for processing multimedia data streams using filter graphs
US6393493B1 (en) * 1998-04-20 2002-05-21 National Instruments Corporation System and method for optimizing serial USB device reads using virtual FIFO techniques
US6968539B1 (en) * 1999-09-30 2005-11-22 International Business Machines Corporation Methods and apparatus for a web application processing system

Also Published As

Publication number Publication date
GB0126200D0 (en) 2002-01-02
JP2002244849A (ja) 2002-08-30
EP1205844A3 (en) 2004-12-08
GB0027685D0 (en) 2000-12-27
US20020124115A1 (en) 2002-09-05
EP1205844A2 (en) 2002-05-15

Similar Documents

Publication Publication Date Title
JP4306991B2 (ja) データ処理装置及び方法、並びに、コンピュータプログラム及び記憶媒体
KR101099272B1 (ko) 외부 프로그램 테마를 사용하는 웹페이지 렌더링을 위한 테마 적용 방법
US6826553B1 (en) System for providing database functions for multiple internet sources
US7406664B1 (en) System for integrating HTML Web site views into application file dialogs
US20020156815A1 (en) Method and apparatus for the separation of web layout, logic, and data when used in server-side scripting languages
US20110185273A1 (en) System and method for extracting content elements from multiple Internet sources
EP1927922A1 (en) Data managing apparatus, data editing apparatus, data browsing apparatus, data managing method, data editing method, and data browsing method
US20040268229A1 (en) Markup language editing with an electronic form
EP2136292A1 (en) Service program generation technology
JP2003345717A (ja) ウェブ・ドキュメントを再編集して再配布する方法及び装置
KR101913780B1 (ko) 웹 데이터 수집 장치 및 방법
JP2003186673A (ja) コンピュータシステム構成要素の統合方法、およびコンフィギュレーションシステム
US7296222B1 (en) Method and system for preparing and displaying page structures for web sites
EP1816586A1 (en) Data processing system, data processing method, and management server
US20010032084A1 (en) Multimedia information structuring and application generating method and apparatus
WO2006051975A1 (ja) 文書処理装置
WO2006051958A1 (ja) 情報配信システム
EP1826682A1 (en) Document managing device and document managing method
US20100269032A1 (en) Advanced text completion, such as for markup languages
JP4723511B2 (ja) 文書処理装置及び文書処理方法
WO2006051959A1 (ja) 文書処理装置及び文書処理方法
WO2006051716A1 (ja) 文書処理装置及び文書処理方法
EP1821220A1 (en) Data processing device, document processing device, and document processing method
WO2006051714A1 (ja) 文書処理装置及び文書処理方法
KR102191458B1 (ko) 웹 데이터 수집 장치 및 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050415

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050909

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050921

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20051028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090324

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: 20090428

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: 20120515

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees