(57)【要約】【課題】  イメージに基づいてフォームを処理するための方法を提供する。【解決手段】  フォームはイメージとして取込まれる。イメージにおけるそのフォーム内の多数のフィールド識別子およびフィールド値が検知される。多数のフィールド識別子およびフィールド値がイメージ・メタデータに格納される。  別の実施例では、フォームに対するアクセス要求が検知される。フォームが多くの格納されたイメージにおける１つの格納されたイメージに対応するかどうかに関する判断が行われる。フォームが１つの格納されたイメージに対応する場合、その格納されたイメージに関連したメタデータが検索される。メタデータは、そのフォームに対応する多くのフィールド値および関連するテキスト・データを含む。フォームが、格納されたイメージに関連するメタデータから多数のフィールド値および関連するテキスト・データを移植される。【選択図】  図８
2011028737.tif 000002
【特許請求の範囲】
【請求項１】
イメージに基づいてフォームを処理するための方法であって、
プロセッサ・ユニットにより、フォームをイメージとして取込むステップと、
前記プロセッサ・ユニットにより、前記イメージとしての前記フォーム内の複数のフィールド値を検知するステップと、
前記複数のフィールド値をイメージ・メタデータに格納するステップと
を含む、方法。
【請求項２】
前記複数のフィールド値は、テキスト・データ、プライベートなテキスト・データ、チェック・ボックス・セレクション、およびリスト・ボックス・セレクションの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記検知するステップは、前記イメージとしての前記フォーム内の複数のフィールド値におけるテキスト・データを検知するステップを更に含む、請求項１に記載の方法。
【請求項４】
前記テキスト・データは光学的文字認識を使用して検知される、請求項３に記載の方法。
【請求項５】
前記検知するステップは、
前記イメージとしての前記フォーム内の複数のフィールド値におけるプライベートなテキスト・データを検知するステップと、
前記プライベートなテキスト・データを含む前記複数のフィールド値における各フィールド値とセキュア・フィールド値を関連付けるステップと
を更に含む、請求項１に記載の方法。
【請求項６】
前記関連付けるステップに対応して、前記プライベートなテキスト・データのない前記複数のフィールド値を前記イメージ・メタデータに格納するステップを更に含む、請求項５に記載の方法。
【請求項７】
イメージに基づいてフォームを処理するためにコンピュータを利用する方法であって、
プロセッサ・ユニットにより、フォームに対するアクセス要求を検知するステップと、
前記プロセッサ・ユニットにより、前記フォームが複数の格納されたイメージにおける１つの格納されたイメージに対応するかどうかを判断するステップと、
前記複数の格納されたイメージにおける前記１つの格納されたイメージに対応するフォームに対応して、前記フォームに対応する複数のフィールド値および関連したテキスト・データを含む、前記格納されたイメージに関連付けられたメタデータを検索するステップと、
前記格納されたイメージに関連付けられたメタデータからの前記複数のフィールド値および前記関連したテキスト・データを、フォームに移植するステップと
含む、方法。
【請求項８】
前記判断するステップは、
ブラウザ内のウィンドウ・タイトルを識別するステップと、
前記ウィンドウ・タイトルが、前記複数の格納されたイメージの１つにおいて取込まれた事前にアクセスされたフォームに対応するかどうかを判断するステップと
を更に含む、請求項７に記載の方法。
【請求項９】
フォームをイメージとして取込むためのコンピュータ使用可能プログラム・コードと、
前記イメージとしての前記フォーム内の複数のフィールド値を検知するためのコンピュータ使用可能プログラム・コードと、
前記複数のフィールド値をイメージ・メタデータに格納するためのコンピュータ使用可能プログラム・コードと
を含む、コンピュータ・プログラム。
【請求項１０】
前記複数のフィールド値は、テキスト・データ、プライベートなテキスト・データ、チェック・ボックス・セレクション、およびリスト・ボックス・セレクションの少なくとも１つを含む、請求項９に記載のコンピュータ・プログラム。
【請求項１１】
前記検知するためのコンピュータ使用可能プログラム・コードは、前記イメージとしての前記フォーム内の複数のフィールド値におけるテキスト・データを検知するためのコンピュータ使用可能プログラム・コードを更に含む、請求項９に記載のコンピュータ・プログラム。
【請求項１２】
前記テキスト・データは光学的文字認識を使用して検知される、請求項１１に記載のコンピュータ・プログラム。
【請求項１３】
前記検知するためのコンピュータ使用可能プログラム・コードは、
前記イメージとしての前記フォーム内の複数のフィールド値におけるプライベートなテキスト・データを検知するためのコンピュータ使用可能プログラム・コードと、
前記プライベートなテキスト・データを含む前記複数のフィールド値における各フィールド値とセキュア・フィールド値を関連付けるためのコンピュータ使用可能プログラム・コードと
を更に含む、請求項９に記載のコンピュータ・プログラム。
【請求項１４】
前記プライベートなテキスト・データを含む前記複数のフィールド値における各フィールド値とセキュア・フィールド値を関連付けることに対応して、前記プライベートなテキスト・データのない前記複数のフィールド値を前記イメージ・メタデータに格納するためのコンピュータ使用可能プログラム・コードを更に含む、請求項１３に記載のコンピュータ・プログラム。
【請求項１５】
フォームに対するアクセス要求を検知するためのコンピュータ使用可能プログラム・コードと、
前記フォームが複数の格納されたイメージにおける１つの格納されたイメージに対応するかどうかを判断するためのコンピュータ使用可能プログラム・コードと、
前記複数の格納されたイメージにおける前記１つの格納されたイメージに対応するフォームに対応して、前記フォームに対応する複数のフィールド値および関連したテキスト・データを含む、前記格納されたイメージに関連付けられたメタデータを検索するためのコンピュータ使用可能プログラム・コードと、
前記格納されたイメージに関連付けられたメタデータからの前記複数のフィールド値および前記関連したテキスト・データを、フォームに移植するためのコンピュータ使用可能プログラム・コードと
含む、コンピュータ・プログラム。
【請求項１６】
前記判断するためのコンピュータ使用可能プログラム・コードは、
ブラウザ内のウィンドウ・タイトルを識別するためのコンピュータ使用可能プログラム・コードと、
前記ウィンドウ・タイトルが、前記複数の格納されたイメージの１つにおいて取込まれた事前にアクセスされたフォームに対応するかどうかを判断するためのコンピュータ使用可能プログラム・コードと
を更に含む、請求項１５に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはコンピュータ・スクリーンからの情報の取込みに関し、更に詳しく云えば、エンド・ユーザによりウェブ・ベースのフォームで入力されたデータに関する情報を格納することに関する。
【背景技術】
【０００２】
スクリーン・キャプチャ技術およびコンピュータ・ベースのフォームは、その分野では周知の別個の技術である。スクリーン・キャプチャ・ソフトウェア・プログラムは、コンピュータ・スクリーンの静的なコピー、或いは領域または特定のウィンドウのようなコンピュータ・スクリーンのサブセットを作成し、それらを、ユーザ間で容易に共用することができるジョイント・フォトグラフィック・エキスパーツ・グループ（ＪＰＥＧ）またはタグ・イメージ・フォーマット・ファイル（ＴＩＦＦ）のようなバイナリ・イメージ・データとして、一般的なフォーマットでデジタル的に格納する。これらのファイル・フォーマットは、多くの場合メタデータとも呼ばれるイメージに関する更なる情報を含むこともある。メタデータは、イメージのロケーションを記述し、イメージ内の特定の位置を指し、イメージが作成された時間を指定し得る。
【０００３】
コンピュータ・ベースのフォームは、そのフォーム自体におけるプロンプトに応答して情報を入力するための手段をユーザに提供する。情報は、例えば、エントリ・フィールド、選択ボックス、およびチェック・ボックスを使って入力され得る。フォームは、情報を収集するために使用されたり、ユーザ入力を処理するサーバまたはクライアント・ベースのアプリケーションにその情報を送るために使用されたりする。フォームの例は、オンライン・オーダ・フォームまたは予約フォーム、およびローカル・データベース・フォームまたはスプレッドシート・フォームであってもよい。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、イメージに基づいてフォームを処理するための方法を提供することにある。
【課題を解決するための手段】
【０００５】
フォームはイメージとして取込まれる。そのイメージにおけるフォーム内の多くのフィールド識別子およびフィールド値が検知される。その多くのフィールド識別子およびフィールド値がイメージ・メタデータに格納される。
【０００６】
別の実施例では、フォームに対するアクセス要求が検知される。そのフォームが多くの格納されたイメージにおける１つの格納されたイメージに対応するかどうかに関する判断が行われる。フォームが１つの格納されたイメージに対応する場合、その格納されたイメージに関連したメタデータが検索される。メタデータは、そのフォームに対応する多くのフィールド値および関連するテキスト・データを含む。そのフォームは、格納されたイメージに関連するメタデータから、多くのフィールド値および関連するテキスト・データを移植(populate)される。
【図面の簡単な説明】
【０００７】
【図１】本実施例を具現化し得るデータ処理システムのネットワークの概略図である。
【図２】本実施例を具現化し得るデータ処理システムのブロック図である。
【図３】本実施例を具現化し得る、機能拡張されたスクリーン・キャプチャ・プログラムのブロック図である。
【図４】本実施例を具現化し得る、別の機能拡張されたスクリーン・キャプチャ・プログラムのブロック図である。
【図５】本実施例を具現化し得る、更に別のスクリーン・キャプチャ・プログラムのブロック図である。
【図６】本実施例を具現化し得る、フォーム・メタデータを用いた機能拡張されたスクリーン・キャプチャのブロック図である。
【図７】本実施例を具現化し得る、フォーム移植のための格納されたイメージの検索のブロック図である。
【図８】本実施例を具現化し得る、イメージ内のフォームを取込むためのプロセスを表わすフローチャートである。
【図９】本実施例を具現化し得る、取込まれたフォームにおけるセキュア・データを保護するためのプロセスを表わすフローチャートである。
【図１０】本実施例を具現化し得る、フォームのフィールド値を移植するためのプロセスを表わすフローチャートである。
【発明を実施するための形態】
【０００８】
当業者には明らかなように、本発明の各側面は、システム、方法、またはコンピュータ・プログラムとして具現化することが可能である。従って、本発明の各側面は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例（ファームウェア、駐在ソフトウェア、マイクロコード等を含む）、または本明細書では一般的に「回路」、「モジュール」、または「システム」と呼ばれるソフトウェアおよびハードウェアの側面を組合わせた実施例の形態をとり得る。更に、本発明の各側面は、コンピュータ可読プログラム・コードを組み込んだ１つまたは複数個のコンピュータ可読媒体において具現化されたコンピュータ・プログラムの形態をとり得る。
【０００９】
１つまたは複数個のコンピュータ可読媒体の任意の組合せを利用することも可能である。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってもよい。例えば、コンピュータ可読記憶媒体は、電子的、磁気的、光学的、電磁気的、赤外線もしくは半導体システム、装置、またはデバイスであってもよく、或いは上記のものの任意の適当な組合せであってもよいが、それらに限定されない。コンピュータ可読記憶媒体の更に具体的な例（例示的なリスト）は、下記のもの、即ち、１つまたは複数個のワイヤを有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ（ＣＤＲＯＭ）、光学的記憶装置、磁気記憶装置、または上記のものの任意の適当な組合せを含む。本明細書に関連して、コンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、或いはそれに関連して使用するためのプログラムを含み得る、または格納し得る任意の実体的な媒体であってもよい。
【００１０】
コンピュータ可読信号媒体は、例えば、ベースバンドでまたは搬送波の一部として組み込まれたコンピュータ可読プログラム・コードを有する伝播されたデータ信号を含み得る。そのような伝播された信号は、電磁的信号、光学的信号、またはそれらの任意の適切な組合せを含むがそれに限定されない任意の種々の形態を取り得る。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではないコンピュータ可読媒体であって、命令実行システム、装置、またはデバイスによる使用或いはそれらに関連した使用のためにプログラムを伝送、伝播、または搬送し得る任意のコンピュータ可読媒体であってもよい。
【００１１】
コンピュータ可読媒体において具体化されたプログラム・コードは、無線、有線、光通信ケーブル、ＲＦ(Radiofrequency)等、またはそれらの任意の適当な組合せを含むがそれらに限定されない任意の適切な媒体を使用して送られることが可能である。
【００１２】
本発明の各側面に対してオペレーションを実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++等のようなオブジェクト指向プログラミング言語および「C」プログラミング言語または同様の従来の手続き的プログラミング言語を含む１つまたは複数個のプログラミング言語で書かれることも可能である。プログラム・コードは、ユーザのコンピュータ上で全体的に、独立型ソフトウェア・パッケージとしてユーザのコンピュータ上で部分的に、ユーザのコンピュータ上で部分的におよびリモート・コンピュータ上で部分的に、またはリモート・コンピュータもしくはサーバ上で全体的に実行し得る。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、或いは、その接続は、外部コンピュータに（例えば、インターネット・サービス・プロバイダを使ったインターネットを介して）行われてもよい。
【００１３】
本発明の諸局面は、本発明の実施例に従って方法、装置（システム）、およびコンピュータ・プログラムのフローチャートおよび／またはブロック図を参照して後述される。フローチャートおよび／またはブロック図の各ブロック、およびフローチャートおよび／またはブロック図におけるブロックの組合せがコンピュータ・プログラム命令によって具現化することができるということは明らかであろう。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブルなデータ処理装置のプロセッサによって実行される命令がフローチャートおよび／またはブロック図のブロックにおいて指定された機能／動作を実施するための手段を作成するようなマシンを製造するために、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに与えられてもよい。
【００１４】
これらのコンピュータ・プログラム命令はコンピュータ可読媒体に格納され、そのコンピュータ可読媒体に格納された命令が、フローチャートおよび／またはブロック図のブロックにおいて指定された機能／動作を具現化する命令を含む製品をもたらすよう、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに特定の態様で機能するように指示し得る。
【００１５】
コンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル装置において実行される命令が、フローチャートおよび／またはブロック図のブロックにおいて指定された機能／動作を実施するためのプロセスを提供するようなコンピュータ実装プロセスを形成するべく、コンピュータまたは他のプログラマブル・データ処理装置もしくは他のデバイス上で一連の動作ステップを遂行させるために、コンピュータまたは他のプログラマブル装置にロードされてもよい。
【００１６】
次に、図面、特に図１および図２を参照すると、実施例を具現化し得るデータ処理環境の概略図が示される。図１および図２は単なる例示であって、種々の実施例を具現化し得る環境に関する如何なる限定を主張または意味することを意図しない、ということは明らかであろう。図示の環境に対する多くの修正を行うことが可能である。
【００１７】
図１は、実施例を具現化し得るデータ処理システムのネットワークの概略図を示す。ネットワーク・データ処理システム１００は実施例を具現化し得るコンピュータのネットワークである。ネットワーク・データ処理システム１００はネットワーク１０２を含み、それは、ネットワーク・データ処理システム１００内のともに接続された種々の装置とコンピュータとの間の通信リンクを提供するために使用される媒体である。ネットワーク１０２は、ワイヤ、無線通信リンク、または光ファイバ・ケーブルのような接続機器を含み得る。
【００１８】
図示の例では、サーバ１０４およびサーバ１０６が、記憶装置１０８と共にネットワーク１０２に接続している。更に、クライアント１１０、１１２、および１１４がネットワーク１０２に接続している。クライアント１１０、１１２、および１１４は、例えば、パーソナル・コンピュータまたはネットワーク・コンピュータであってもよい。図示の例では、サーバ１０４は、ブートファイルのようなデータ、オペレーティング・システム・イメージ、並びに電子メール・アプリケーションおよびカレンダ・アプリケーションのようなアプリケーションをクライアント１１０、１１２、および１１４に提供する。クライアント１１０、１１２、および１１４は、この例におけるサーバ１０４に対するクライアントである。ネットワーク・データ処理システム１００は、図示されてない更なるサーバ、クライアント、および他の装置を含み得る。
【００１９】
図示の例では、ネットワーク・データ処理システム１００は、ネットワーク１０２が、相互に通信するためにプロトコルの伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）スイートを使用するネットワークおよびゲートウエイのワールドワイド集合体を表わす、インターネットである。そのインターネットの中心には、主要ノードまたはホスト・コンピュータ間の高速データ通信回線のバックボーンがあり、それは、データおよびメッセージの経路指定をする数千個の商的、行政機関用、教育機関用、およびその他のコンピュータ・システムを含む。もちろん、ネットワーク・データ処理システム１００は、例えば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、または広域ネットワーク（ＷＡＮ）のように多くの種々なタイプのネットワークとして具現化し得る。図１は、１つの例として意図され、種々の実施例に対するアーキテクチャ上の限定として意図されてない。
【００２０】
次に図２を参照すると、実施例を具現化し得るデータ処理システムのブロック図が示される。データ処理システム２００は、図１におけるサーバ１０４またはクライアント１１０のようなコンピュータの一例であり、そこには実施例のためのプロセスを具現化するコンピュータ使用可能プログラム・コードまたは命令が置かれている。この実施例では、データ処理システム２００は通信ファブリック２０２を含み、それは、プロセッサ・ユニット２０４、メモリ２０６、永続的記憶装置２０８、通信ユニット２１０、入出力（Ｉ／Ｏ）ユニット２１２、ディスプレイ２１４、およびミーティング・マネージャー２２２の間の通信を提供する。
【００２１】
プロセッサ・ユニット２０４は、メモリ２０６にロードされ得るソフトウェアのための命令を実行するように働く。プロセッサ・ユニット２０４は、特定の実施態様に依存して、１つまたは複数個のプロセッサのセットであってもよく、或いはマルチプロセッサ・コアであってもよい。更に、プロセッサ・ユニット２０４は、単一のチップ上に主プロセッサが二次プロセッサと共に存在する１つまたは複数個の異種プロセッサ・システムを使用して具現化されてもよい。別の実施例でとして、プロセッサ・ユニット２０４は、同じタイプの多数のプロセッサを含む対称型マルチプロセッサ・システムであってもよい。
【００２２】
メモリ２０６は、これらの例では、例えばランダム・アクセス・メモリまたは任意の他の適当な揮発性もしくは不揮発性記憶装置であってもよい。永続的記憶装置２０８は、特定の実施態様に依存して種々な形態をとり得る。例えば、永続的記憶装置２０８は、１つまたは複数個のコンポーネントまたはデバイスを含み得る。例えば、永続的記憶装置２０８は、ハード・ドライブ、フラッシュ・メモリ、書換え可能光ディスク、書換え可能磁気テープ、または上記のものの組合せであってもよい。永続的記憶装置２０８によって使用される媒体は取り外し可能なものであってもよい。例えば、永続的記憶装置２０８として取り外し可能ハード・ドライブが使用されてもよい。
【００２３】
通信ユニット２１０は、これらの例では、他のデータ処理システムまたは装置との通信に備える。これらの例では、通信ユニット２１０はネットワーク・インターフェース・カードである。通信ユニット２１０は、物理的通信リンクおよび無線通信リンクのいずれかまたは両方の使用を通じて通信を提供し得る。
【００２４】
入出力ユニット２１２は、データ処理システム２００に接続される他の装置とのデータの入出力を可能にする。例えば、入出力ユニット２１２は、キーボードおよびマウスを介したユーザ入力のための接続を提供し得る。更に、入出力ユニット２１２はプリンタに出力を送り得る。ディスプレイ２１４は、ユーザに情報を表示するための機構を提供する。
【００２５】
オペレーティング・システムおよびアプリケーションのための命令またはプログラムが永続的記憶装置２０８に置かれる。これらの命令は、プロセッサ・ユニット２０４による実行のためにメモリ２０６にロードされる。種々の実施例のプロセスが、メモリ２０６のようなメモリに置かれたコンピュータ実装の命令を使用してプロセッサ・ユニット２０４により遂行される。これらの命令は、プロセッサ・ユニット２０４におけるプロセッサによって読み取られ及び実行され得るプログラム・コード、コンピュータ使用可能プログラム・コード、またはコンピュータ可読プログラム・コードと呼ばれる。種々の実施例におけるプログラム・コードは、メモリ２０６または永続的記憶装置２０８のような種々の物理的または実体的なコンピュータ可読媒体において具現化され得る。
【００２６】
プログラム・コード２１６は、選択的に取り外し可能であるコンピュータ可読媒体２１８上に動作する形態で置かれ、プロセッサ・ユニット２０４による実行のためにデータ処理システム２００上にロードまたは転送され得る。プログラム・コード２１６およびコンピュータ可読媒体２１８は、これらの例では、コンピュータ・プログラム製品２２０を形成する。１つの例では、コンピュータ可読媒体２１８は、永続的記憶装置２０８の一部であるハード・ドライブのような記憶装置上に転送するために、その永続的記憶装置２０８の一部であるドライブまたは他の装置に挿入または設置された光学的または磁気的ディスクのような実体的な形態のものであってもよい。実体的な形態では、コンピュータ可読媒体２１８は、データ処理システム２００に接続されるハード・ドライブ、サム・ドライブ、またはフラッシュ・メモリのような永続的記憶装置の形態をとり得る。コンピュータ可読媒体２１８の実体的な形態は、コンピュータ記録可能記憶媒体とも呼ばれる。或る例では、コンピュータ可読媒体２１８は取り外し可能なものでなくてもよい。
【００２７】
代替方法として、プログラム・コード２１６は、コンピュータ可読媒体２１８から、通信ユニット２１０への通信リンクおよび／または入出力装置２１２への接続を介してデータ処理システム２００に転送されてもよい。その通信リンクおよび／または接続は、本実施例では物理的または無線のものであってもよい。コンピュータ可読媒体は、プログラム・コードを含む通信リンクまたは無線伝送機器のような非実体的な媒体の形態もとり得る。
【００２８】
データ処理システム２００のための例示された種々のコンポーネントは、種々の実施例を具現化し得る方法に対するアーキテクチャ上の限定を与えることを意味しない。種々の実施例は、データ処理システム２００のための例示されたコンポーネントに追加するコンポーネント、またはそれらの代わりのコンポーネントを含むデータ処理システムにおいて具現化され得る。図２に示される他のコンポーネントは図示の例から変更されてもよい。
【００２９】
１つの例として、データ処理システム２００における記憶装置は、データを格納し得る任意のハードウェア装置である。メモリ２０６、永続的記憶装置２０８、およびコンピュータ可読媒体２１８は、実体的な形態における記憶装置の例である。
【００３０】
別の例では、バス・システムは、通信ファブリック２０２を具現化するために使用されてもよく、システム・バスまたは入出力バスのような１つまたは複数個のバスで構成することが可能である。もちろん、バス・システムは、そのバス・システムに接続された種々のコンポーネントまたは装置の間のデータ転送に備える任意の適切なタイプのアーキテクチャを使用して具現化することが可能である。更に、通信ユニットは、モデムまたはネットワーク・アダプタのような、データを送信および受信するために使用される１つまたは複数個の装置を含み得る。更に、メモリは、例えば、通信ファブリック２０２に存在し得るインターフェースおよびメモリ・コントローラ・ハブで見られるようなメモリ２０６またはキャッシュであってもよい。
【００３１】
本実施例は、同じユーザまたは別のユーザのために１つのフォームに移植するために後で抽出されることがあり得る、フォーム・データを取込んでいるメタデータをイメージ内に組み込むことにより、フォーム移植を自動化する必要性を認識する。先進的な実施例では、これらの方法は、人間がスクリーン・キャプチャ機能に基づいてフォーム記入を自動化することを可能にする。１つの実施例では、支援担当者または低レベル情報技術担当者が、問題を解決するためにまたはシステムを形成するためには、数ステップもユーザをウオーク・スルーする多くのスクリーン・ショットを含むドキュメンテーションを見るということが一般的である。これは、多くの場合、ウェブ・ブラウザ・インターフェースの使用によって行われる。
【００３２】
現在の方法は、フィールド識別子および値が、スクリプトとして共用されるフォームから抽出されるというフィールド取込みを作成するが、スクリプトはグラフィカル・エレメントを含まないということを、本実施例は認める。従って、現在の方法は、ユーザがプレビューし得るグラフィカル・エレメントを送ることまたは格納することを可能にせず、コンテキストは異なるがフォームが同じまたは似ているとき、メタデータを使用する機会を認識できるようにしていない。例えば、現在の方法は、ユーザがデータベース・レコード・エントリ・スクリーンのスクリーン・キャプチャを、ウェブ・フォームのような種々のデータベース・スクリーン、種々のデータベース、または種々のプラットフォームにそのスクリーン・キャプチャを適用することを許していない。現在の方法は、スクリーンまたはウィンドウの静的コピーを作成するとき、静的コピーは、取込まれたイメージのコンテンツに関するコンテキストまたはメタデータを含まない。スクリーンまたはウィンドウのコピーがフォームを含む場合、現在の方法は、取込まれた瞬間に表示されるイメージのバイナリ表示を取込むだけであるが、フォームまたはそれのコンテンツに関する如何なる情報も取込まない。
【００３３】
従って、本実施例は、イメージに基づいてフォームを処理するために方法およびコンピュータ・プログラムを提供する。フォームはイメージとして取込まれ、そのイメージにおけるフォーム内の多くのフィールド識別子および値が検知される。多くのフィールド識別子および値がイメージ・メタデータに格納される。更に、センシティブな情報を、必要に応じて保護するための方法を次に説明する。
【００３４】
別の実施例では、フォームに対するアクセス要求が検知される。そのフォームが多くの格納されたイメージにおける１つの格納されたイメージに対応するかどうかに関する判断が行われる。そのフォームが或る格納されたイメージに対応する場合、その格納されたイメージに関連するメタデータが検索される。メタデータは、そのフォームに対応する多くのフィールド値および関連するテキスト・データを含む。そのフォームは、その格納されたイメージに関連するメタデータからの多くのフィールド値およびその関連するテキスト・データを移植される。
【００３５】
次に図３を参照すると、本実施例を具現化し得る機能強化されたスクリーン・キャプチャ・プログラムのブロック図が示される。機能強化されたスクリーン・キャプチャ・プログラム３００は、図２におけるデータ処理システム２００のようなデータ処理システムにおいて具現化することが可能である。
【００３６】
機能強化されたスクリーン・キャプチャ・プログラム３００は、フィールド抽出器３０２、スクリーン・キャプチャ・モジュール３０４、および起動モジュール検知器３０６を含む。フィールド抽出器３０２は、コンピュータ・ベースのフォームの多くのフィールドにおけるテキスト・データおよび他の値を検知し、それらのフィールドからテキスト・データおよび他の値を抽出する。スクリーン・キャプチャ・モジュール３０４は、コンピュータ・ベースのフォームのバイナリ表示を取込む。起動モジュール検知器３０６は、コンピュータ・ベースのフォームの取込まれたバイナリ表示を含むアプリケーションを検知する。或る実施例では、起動モジュール検知器３０６は、アプリケーションをフォームに対応する状態にセットするためのコマンドを検知し得る。１つの実施例では、フォームがウェブ・フォームである場合、そのフォームのウェブ・ブラウザ・アプリケーションおよびＵＲＬが起動モジュール検知器３０６によって検知され得る。
【００３７】
次に図４を参照すると、実施例を具現化し得る機能強化されたスクリーン・キャプチャ・プログラムのブロック図が示される。機能強化されたスクリーン・キャプチャ・プログラム４００は、図２におけるデータ処理システム２００のようなデータ処理システムにおいて具現化することが可能である。
【００３８】
機能強化されたスクリーン・キャプチャ・プログラム４００はスクリーン・キャプチャ・データ・ストア４０２、フォーム検知器４０４、起動モジュール４０６、およびスクリーン・キャプチャ・ツー・フォーム検知器４０８を含む。スクリーン・キャプチャ・データ・ストア４０２は、例えば、ローカルまたはリモートの機能強化されたスクリーン・キャプチャ・プログラム３００からの格納されたスクリーン・キャプチャを含む。フォーム検知器４０４は、例えば、ウェブ・ブラウザ内またはフォームを含むアプリケーションのようなフォームの存在を検知する。起動モジュール４０６は、コンピュータ・ベースのフォームの取込まれたバイナリ表示に対応するアプリケーションを起動する。或る実施例では、起動モジュール４０６は、アプリケーションをフォームに対応する状態にセットするためのコマンドを含む。１つの実施例では、フォームがウェブ・フォームである場合、そのフォームのユニバーサル・レコード・ロケータ（ＵＲＬ）を含むコマンド・ライン・アーギュメントによってウェブ・ブラウザが起動され得る。スクリーン・キャプチャ・ツー・フォーム検知器は、アプリケーション内のフォームがスクリーン・キャプチャ・データ・ストア４０２における格納されたフォームと一致するかどうかを検知する。
【００３９】
次に図５を参照すると、実施例を具現化し得るスクリーン・キャプチャ・プログラムのブロック図が示される。スクリーン・キャプチャ・プログラム５００は、図２におけるデータ処理システム２００のようなデータ処理システムにおいて具現化することが可能である。
【００４０】
ユーザ５０２が、ユーザ入力を必要とするコンピュータ・ベースのフォーム５０４を提供するコンピュータ・プログラムを稼動する。この実施例では、ユーザ５０２は人間のユーザであるが、ユーザ５０２は、人間のユーザ、プログラム、または図２におけるデータ処理システム２００のような装置を実行させる他のプロセスを、それらに限定することなく、含む任意のタイプのユーザであってもよい。或る実施例では、ユーザ５０２がプロセスである場合、機能強化されたスクリーン・キャプチャ・プログラム５０６が、例えば、フォームを起動するスケジュールされたタスクのようなシステム・イベントによって呼び出されてもよい。
【００４１】
或る実施例では、コンピュータ・ベースのフォーム５０４は、例えば、問題解決、問題確認、ソフトウェア構成、オーダ・エントリ、フィードバック、調査等のようなプロセスの一部であってもよい。コンピュータ・ベースのフォーム５０４は、ウィザード、オープン・ダイアログ・ボックス等のような処理すべきフォームを伴う任意のアプリケーションに拡張し得る。ユーザ５０２がコンピュータ・ベースのフォーム５０４にデータを入力した後、ユーザ５０２は機能強化されたスクリーン・キャプチャ・プログラム５０６を呼び出す。機能強化されたスクリーン・キャプチャ・プログラム５０６は、コンピュータ・ベースのフォーム５０４のバイナリ表示であるコンピュータ・ベース・フォーム・バイナリ５０８、並びに、コンピュータ・ベースのフォーム５０４のフィールド値およびそのフィールド値内に任意の関連するテキスト・データを含むテキスト・データ５１０を取込む。コンピュータ・ベースのフォーム・バイナリ５０８およびテキスト・データ５１０は、フォーム・メタデータを備えた機能強化されたスクリーン・キャプチャ５１２として格納される。関連するテキスト・データは、それらが一連のものである場合には、他のスクリーン・キャプチャへのリンク、コンピュータ・ベースのフォームのフィールド・ラベル、フォーム・テキスト、ＣＲＣ、および、使用時に同じフォームまたは類似のフォームを識別するために使用し得る他のフォーム・データ、を含み得る。
【００４２】
或る実施例では、フォーム・メタデータを備えた、機能強化されたスクリーン・キャプチャ５１２が、ＪＰＥＧファイル、ＴＩＦＦファイル、Graphics Interchange Format（ＧＩＦ）ファイル、PortableDocument Format（ＰＤＦ）ファイル等のようなイメージ・ファイルとして、格納され得るがそれらに限定されない。フォーム・メタデータを備えた、機能強化されたスクリーン・キャプチャ５１２は、単一ファイル、複数ファイル、他のファイルに対する参照またはリンクを備えた単一ファイル、データベース・エンティティ、または他の複合データ・タイプとして、含む多くの方法で格納され得るがそれらに限定されない。フォーム・メタデータを備えた、機能強化されたスクリーン・キャプチャ５１２は、ローカル・ファイル、ローカル・データ・ストア、リモート・データ・ストア、電子メッセージに対するＭＩＭＥアタッチメント、Lotus Notes（登録商標）文書内のイメージ等のような多くのロケーションに、それらに限定することなく、格納され得る。フォーム・メタデータを備えた、機能強化されたスクリーン・キャプチャ５１２が外部的にまたは遠隔的に格納される場合、イメージ・メタデータをカタログ化し、イメージを対応するメタデータに索引付けるために追加のステップが必要となるであろう。このカタログ化ステップは、例えば、巡回冗長検査機能を使用して実行され得る。２つの異なるイメージ・ファイルに対応する２つの巡回冗長検査値を有することが可能である。このために、巡回冗長検査の使用は、イメージ・メタデータに関連したデータ・タグに対応するイメージ・ファイルに固有の識別子の割り当てを伴うことも可能である。
【００４３】
ユーザ５１４はユーザ５０２と同じであってもよく、異なるユーザであってもよい。ユーザ５１４は、ユーザ入力を必要とするコンピュータ・ベースのフォーム５０４を提供する同じコンピュータ・プログラムを稼動する。ユーザ５１４は、機能強化されたスクリーン・キャプチャ・プログラム５０６によって以前に格納されたフォーム・メタデータを備えた機能強化されたスクリーン・キャプチャ５１２を検索することができる。その後、ユーザ５１４は、テキスト・データ５１０を使用して、ユーザ５０２がコンピュータ・ベースのフォーム５０４に入力したのと同じデータをそのフォームに移植し得る。別の実施例では、ユーザ５１４は、コンピュータ・ベースのフォーム５０４にユーザ５０２が入力したのと同じデータをコンピュータ・ベースのフォーム５０４に自動的に移植するよう、機能強化されたスクリーン・キャプチャ・プログラム５０６にさせるオートフィル機能を呼び出し得る。機能強化されたスクリーン・キャプチャ・プログラム５０６は、既知の方法を活用することによっても使用され得る。例えば、或る実施例では、フォーム・メタデータを備えた、機能強化されたスクリーン・キャプチャ５１２が、空のフォームと共にウェブ・ブラウザ上にドラッグされ、ウェブ・ブラウザ内のプラグ・インが、フォーム・メタデータを備えた、機能強化されたスクリーン・キャプチャ５１２に関連したテキスト・データ５１０を抽出し、そのフォームを完成し得るであろう。別の実施例では、ユーザ５１４は、変換処理プログラムを呼び出し、フォーム・メタデータを備えた、機能強化されたスクリーン・キャプチャ５１２を変換処理プログラムにロードし、別のプログラム上のフォームに記入するためにその変換処理プログラムを使用し得る。
【００４４】
次に図６を参照すると、実施例を具現化し得る、フォーム・メタデータを備えた機能強化されたスクリーン・キャプチャのブロック図が示される。フォーム・メタデータを備えた、機能強化されたスクリーン・キャプチャ６００は、図５におけるコンピュータ・ベースのフォーム・バイナリ５０８の例である。
【００４５】
フォーム・メタデータを備えた、機能強化されたスクリーン・キャプチャ６００は、バイナリ・イメージ・データ６０２並びにエントリ・フィールド１データ６０６およびエントリ・フィールド２データ６０８を取込む方法を含む。バイナリ・イメージ・データ６０２は、例えば、フォームを含むコンピュータ・スクリーンまたはウィンドウであってもよいウェブ・ページ６０４のイメージである。エントリ・フィールド１データ６０６はフィールド６１０に対するフィールド値を検知し、一方、エントリ・フィールド２データ６０８はフィールド６１２に対するフィールド値を検知する。検知は、特殊なフォームまたはフォーム・ソフトウェア・パッケージ、フォーム言語、光学的文字認識の理解を通して、またはイメージ検知の先進的手段を通して達成され得る。或る実施例では、ユーザは、イメージ・メタデータに格納されるべきフォーム・フィールド値、および／または、データを選択し得る。別の実施例では、すべてのフォーム・フィールド値がイメージ・メタデータに格納される。そのフィールド値は、例えば、テキスト・データ、プライベートなテキスト・データ、チェック・ボックス選択、またはリスト・ボックス選択であってもよい。
【００４６】
図５における機能強化されたスクリーン・キャプチャ・プログラム５０６は、更に、どのフォーム・フィールド値がプライベートなものであるかを検知し得る。プライベートなものであるフォーム・フィールド値は、パスワードまたはパスワード・オブジェクト・タグのような、制限なく、プライベートなテキスト・データを含む。プライベートなテキスト・データを含んでいるフォーム・フィールド値は、セキュア・フィールドとして表わされるであろうし、オリジナル値またはプライベートなテキスト・データはイメージ・メタデータに格納されないであろう。
【００４７】
次に図７を参照すると、実施例を具現化し得るフォーム移植のための格納されたイメージ検索のブロック図が示される。フォーム移植７００は、図５におけるスクリーン・キャプチャ・プログラム５００のような機能強化されたスクリーン・キャプチャ・プログラムによって具現化される。
【００４８】
コンピュータ・ベースのフォーム７０２は、１つのコンピュータ・ベースのフォームがウェブ・ブラウザを介してアクセスされる実施例の一例である。コンピュータ・ベースのフォーム７０２は、ユニバーサル・レコード・ロケータ７０４、フィールド７０６、およびフィールド７０８を含む。コンピュータ・ベースのフォーム７０２が、例えば、図５におけるユーザ５１４のようなユーザまたはプロセスによってアクセスされるとき、図４におけるスクリーン・キャプチャ・ツー・フォーム検知器はコンピュータ・ベースのフォーム７０２を検知し、スクリーン・キャプチャ・データ・ストア７１０における一致する格納されたフォームを識別する。スクリーン・キャプチャ・データ・ストア７１０は、図４におけるスクリーン・キャプチャ・データ・ストア４０２の実施態様の一例であってもよい。検知は、コンピュータ・ベースのフォーム７０２の特性を解析すること、およびイメージ７１２、７１４、７１６、および７１８のようなスクリーン・キャプチャ・データ・ストア７１０における１つまたは複数個の格納されたフォームの特性と比較することによって行われ得る。解析のための種々の手段は、アプリケーションおよびフォーム・タイトル、並びにアプリケーション・プログラミング・インターフェース（ＡＰＩ）コールを介してアクセスし得るＵＲＬまたはウィンドウの識別子のような他の識別子を比較することを含むがこれに限られない。スクリーン・キャプチャ・データ・ストア７１０への問い合わせを減らすために、アプリケーション起動時に、スクリーン・キャプチャ・データ・ストア７１０は、アプリケーションから何らかのレコードに関して問い合わされ、何も存在しない場合、図４におけるスクリーン・キャプチャ・ツー・フォーム検知器４０８のようなスクリーン・キャプチャ・ツー・フォーム検知器はフォームのためにアプリケーションをモニタすることを止め得る。
【００４９】
スクリーン・キャプチャ・データ・ストア７１０は、イメージ７１２、イメージ７１４、イメージ７１６、およびイメージ７１８を含む。イメージ７１２、７１４、７１６、および７１８は、図５におけるスクリーン・キャプチャ・プログラム５００のような機能強化されたスクリーン・キャプチャ・プログラムによって作成された関連のイメージ・メタデータを備えた格納されたイメージの例である。イメージ７１４は、コンピュータ・ベースのフォーム７０２の機能強化されたスクリーン・キャプチャである。コンピュータ・ベースのフォーム７０２がユーザによってアクセスされるとき、スクリーン・キャプチャ・データ・ストア７１０も、コンピュータ・ベースのフォーム７０２に相関する格納されたイメージがスクリーン・キャプチャ・データ・ストア７１０に格納されるかどうか判断するためにアクセスされる。或る実施例では、ウェブ・ブラウザがユニバーサル・レコード・ロケータ７０４を以前にアクセスされて格納されたコンピュータ・ベースのフォームとして認識するとき、ウェブ・ブラウザは、同じユニバーサル・レコード・ロケータ７０４を用いてスクリーン・キャプチャ・データ・ストア７１０からイメージ７１４を引き出し、イメージ７１４からのデータをコンピュータ・ベースのフォーム７０２に移植するというオプションをユーザに与え得る。例えば、イメージ７１４におけるフィールド７０６はテキスト・データ７２０を含み、イメージ７１４におけるフィールド７０８はテキスト・データ７２２を含む。その後、１つまたは複数個の選択されたテキスト・データまたは他のデータは、選択されたテキスト・データまたは他のデータに対応するフィールドを移植するために、ウェブ・ページのドキュメント・オブジェクト・モデル（ＤＯＭ）にデータを送るというようなアプリケーション・プログラム・インターフェース（ＡＰＩ）コールを使用して、ウェブ・ブラウザに渡され得る。供給されたＡＰＩがない実施例では、使用し得る別の技術は、アプリケーションを選択するためにオペレーティング・システム・コールを送り、しかる後、アプリケーションにキー・コマンドを送ることである。例えば、ウェブ・ブラウザを選択する際、２つのタブ・キーが送られ、それに続いてその選択されたテキスト・データに対応するキーを送り、更にそれに続いてエンタ・キーを送る。それは、そのフォームにおける第２のフィールドを選択すること、フォーム・データをタイプすること、しかる後、フォーム・サブミット・ボタンをクリックすることと同じ効果を有するであろう。入力装置操作およびボタン対話のような他の同様の技術を使用することも可能である。
【００５０】
次に図８を参照すると、実施例を具現化し得るフォームをイメージで取込むためのプロセスを表わすフローチャートが示される。そのプロセスは、図５における機能強化されたスクリーン・キャプチャ・プログラム５０６において具現化することが可能である。
【００５１】
そのプロセスは、イメージとしてフォームを取込むという要求を受け取ることによって始まる（ステップ８０２）。この要求は、図５における機能強化されたスクリーン・キャプチャ・プログラム５０６を呼び出すユーザ５０２のような、ユーザ、プログラム、またはプロセスによって呼び出されてもよい。プロセスは、イメージとしてフォームを取込み（ステップ８０４）、フォーム内の多くのフィールド値を検知する（ステップ８０６）。フィールド値は、例えば、テキスト・データ、個人のテキスト・データ、チェックボックス選択、またはリスト・ボックス選択であってもよい。次に、イメージ・メタデータにフィールド値を格納し（ステップ８０８）、しかる後、プロセスは終了する。
【００５２】
次に図９を参照すると、本発明の実施例を具現化し得る、取込まれたフォームにおけるセキュア・データを保護するためのプロセスを表わすフローチャートが示される。そのプロセスは、図５における機能強化されたスクリーン・キャプチャ・プログラム５０６において具現化することが可能である。
【００５３】
そのプロセスは、イメージとしてフォームを取込むことによって始まる（ステップ９０２）。プロセスは、フィールド値内のプライベートなテキスト・データを検知する（ステップ９０４）。プライベートなテキスト・データは、例えば、パスワードまたはパスワード・オブジェクト・タグであってもよい。しかる後、プロセスは、プライベートなテキスト・データを含むフィールド値とセキュア・フィールド値を関連させる（ステップ９０６）。プロセスは、プライベートなテキスト・データのないフィールド値をイメージ・メタデータに格納し（ステップ９０８）、しかる後、プロセスは終了する。
【００５４】
次に図１０を参照すると、実施例を具現化し得る、フォームフィールド値を移植するプロセスを表わすフローチャートが示される。そのプロセスは、図５における機能強化されたスクリーン・キャプチャ・プログラム５０６において具現化することが可能である。
【００５５】
プロセスは、フォームにアクセスするという要求を受け取ることによって始まる（ステップ１００２）。実施例では、要求は、例えば、図５におけるユーザ５１４のようなユーザ、プロセス、またはプログラムによって行われてもよい。プロセスは、フォームが、図５におけるコンピュータ・ベースのフォーム・バイナリ５０８のような格納されたイメージに対応するかどうかを判断する（ステップ１００４）。フォームがその格納されたイメージに対応しない場合、プロセスは終了する。フォームが格納されたイメージに対応する場合、プロセスは、格納されたイメージに対するイメージ・メタデータを検索する（ステップ１００６）。プロセスは検索されたイメージ・メタデータを使用してそのフォームを移植し（ステップ１００８）、しかる後、プロセスは終了する。
【００５６】
図におけるフローチャートおよびブロック図は、本発明の様々な実施例に従って、システム、方法、およびコンピュータ・プログラムの可能な実施態様のアーキテクチャ、機能性、およびオペレーションを表わす。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理的機能を具現化するための１つまたは複数個の実行可能な命令を含むモジュール、セグメント、またはコード部分を表わし得る。或る代替の実施態様では、ブロックに示された機能が図に示された順序から外れて生じることがあるということに留意されたい。例えば、連続して示された２つのブロックが、実際には、実質的に同時に実行されることもあり、或いは、それらのブロックが、ときには、関連の機能次第で逆順に実行されることもある。更に、ブロック図および／またはフローチャートの各ブロック、およびブロック図および／またはフローチャートにおけるブロックの組合せが、指定された機能または動作を遂行する特殊目的のハードウェア・ベースのシステム、または特殊目的ハードウェアおよびコンピュータ命令の組合せによって具現化されてもよい。
【００５７】
従って、実施例は、イメージに基づいてフォームを処理するための方法およびコンピュータ・プログラムを提供する。フォームはイメージとして取込まれ、イメージにおけるフォーム内の多くのフィールド値が検知される。その多くのフィールド値はイメージ・メタデータに格納される。更に、センシティブなデータまたはプライベートなデータを含むフィールド値が検知され、セキュア・フィールドとして識別される。識別されたセキュア・フィールド内のデータはイメージ・メタデータに格納されない。これは、或る実施例ではフォーム内の１つまたは複数個のフィールド値において見られることがあるパスワードのようなセンシティブな情報に対するセキュリティを提供する。
【００５８】
更に実施例は、フォームに対するアクセス要求を検知するための方法およびコンピュータ・プログラムを提供する。そのフォームが多くの格納されたイメージにおける１つの格納されたイメージに対応するかどうかに関する判断が行われる。フォームが格納されたイメージに対応する場合、その格納されたイメージに関連したメタデータが検索される。メタデータは、フォームに対応する多くのフィールド値および関連するテキスト・データを含む。フォームは、格納されたイメージに関連するメタデータからの多くのフィールド値および関連するテキスト・データを移植される。
【００５９】
本明細書において使用される用語は、特定の実施例のみを説明するためのものであり、本発明を限定することを意図するものではない。本明細書で使用される用語「含む」は、記述された特徴、整数、ステップ、オペレーション、要素、および／またはコンポーネントの存在を指定するが、１つまたは複数個の他の特徴、整数、ステップ、オペレーション、要素、コンポーネント、および／またはそれのグループの存在または追加を妨げるものではない、ということは当然である。
【００６０】
本願の「特許請求の範囲」におけるすべての手段またはステップおよび機能要素の対応する構造、材料、動作、および均等物は、その「特許請求の範囲」における他の要素と結合して機能を遂行するための任意の構造、材料、または動作を含むことを意図している。本発明に関する記載は図解および説明の目的として示されたが、網羅的であることまたは開示された形態の発明に限定されることを意図するものではない。本発明の範囲および主旨を逸脱することなく、多くの修正および変更が当業者には明らかであろう。実施例は、発明の原理および実用的な応用を最もよく説明するために、および、意図された特定の用途に適するように種々の修正を伴う種々の実施例に関して、当業者が本発明を理解することを可能にするために、選ばれそして記述された。
【００６１】
本発明は、全体的にハードウェアの実施例、全体的にソフトウェア実施例、またはハードウェア要素およびソフトウェア要素の両方を含む実施例の形態を取ることが可能である。好適な実施例では、本発明はソフトウェアで具現化され、それは、ファームウェア、駐在のソフトウェア、マイクロコード等を含むが、それに限定されない。
【００６２】
更に、本発明は、コンピュータまたは任意の命令実行システムによってまたはそれに関連して使用するためのプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセスし得るコンピュータ・プログラムの形態をとり得る。この説明のために、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、或いはそれに関連して使用するためにプログラムを含み、格納し、通信し、伝播し、または搬送し得る任意の有形の装置であってもよい。
【００６３】
媒体は、電子的、磁気的、光学的、電磁気的、赤外線、または半導体システム（装置もしくはデバイス）、或いは伝播媒体であってもよい。コンピュータ可読媒体の例は、半導体またはソリッド・ステート・メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、固定磁気ディスク、および光ディスクを含む。光ディスクの現用の例は、コンパクト・ディスク・リード・オンリ・メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク・リード・ライト（ＣＤ−Ｒ／Ｍ）、およびＤＶＤを含む。
【００６４】
プログラム・コードを格納および／または実行するに適したデータ処理システムは、システム・バスを介してメモリ素子に直接または間接的に連結された少なくとも１つのプロセッサを含むであろう。メモリ素子は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量記憶装置、及び、実行中に、プログラム・コードが大容量記憶装置から検索される回数を減らすために少なくとも幾つかのプログラム・コードの一時的記憶装置を提供するキャッシュ・メモリを含み得る。
【００６５】
入出力装置またはＩ／Ｏ装置（キーボード、ディスプレイ、ポインティング・デバイス等を含むが、それらに限定されない）は、システムに直接または介在するＩ／Ｏコントローラを介して結合され得る。
【００６６】
ネットワーク・アダプタも、データ処理システムが介在の専用ネットワークまたは公衆ネットワークを介して他のデータ処理システムまたはリモート・プリンタもしくは記憶装置に結合されることを可能にするために、システムに結合され得る。モデム、ケーブル・モデム、およびイーサネット・カードは、現在利用可能なタイプのネットワーク・アダプタのほんの一例である。
【００６７】
本発明に関する記述は例示および説明を目的として示されたが、網羅的であることまたは開示された形態の発明に限定されることを意図するものではない。当業者には、多くの修正および変更が明らかであろう。実施例は、本発明の原理および実用的な応用例を最もよく説明するために、および、当業者が、意図する特定の用途に適するような種々の修正を伴う種々の実施例に関して本発明を理解することを可能にするために、選ばれ且つ記述された。
【図１】
2011028737.tif 000003
【図２】
2011028737.tif 000004
【図３】
2011028737.tif 000005
【図４】
2011028737.tif 000006
【図５】
2011028737.tif 000007
【図６】
2011028737.tif 000008
【図７】
2011028737.tif 000009
【図８】
2011028737.tif 000010
【図９】
2011028737.tif 000011
【図１０】
2011028737.tif 000012