(57)【特許請求の範囲】
【請求項１】
コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための方法であって、
少なくとも１つのアプリケーションの識別を識別するステップと、
前記少なくとも１つのアプリケーションの少なくとも２つの入力フィールドの各識別を識別するステップと、
ユーザから提供される前記少なくとも１つのアプリケーションの前記少なくとも２つの入力フィールドの各入力値を識別するステップと、
前記少なくとも１つのアプリケーションの前記識別と、前記少なくとも１つのアプリケーションの前記少なくとも２つの入力フィールドの前記各識別と、前記少なくとも１つのアプリケーションの前記少なくとも２つの入力フィールドの前記各入力値との間の連関関係を定め、該連関関係を外部制約として事前生成するステップと、
現在使用中のアプリケーションの識別を識別するステップと、
前記現在使用中のアプリケーションの少なくとも１つの入力フィールドの識別を識別するステップと、
前記現在使用中のアプリケーションの前記少なくとも１つの入力フィールドの入力値を取得するステップと、
前記現在使用中のアプリケーションの前記識別と、前記現在使用中のアプリケーションの前記少なくとも１つの入力フィールドの前記識別と、前記現在使用中のアプリケーションの前記少なくとも１つの入力フィールドの前記入力値と、に基づいて、前記現在使用中のアプリケーションの前記少なくとも１つの入力フィールドの前記入力値と関連付けられ前記外部制約で定義される他の入力フィールドのデータを入力データとしてユーザに提供するステップと、
を含む方法。
【請求項２】
データを入力データとしてユーザに提供する前記ステップは、
前記入力データを使用することによって前記現在使用中のアプリケーションの前記少なくとも１つの入力フィールドと外部制約関係を有する少なくとも１つの他の入力フィールドの修正又は自動入力を行うステップ
を含む、請求項１に記載の方法。
【請求項３】
データを入力データとしてユーザに提供する前記ステップは、
少なくとも１つの現在使用中のアプリケーションの少なくとも１つの入力フィールドの入力値を処理し、前記入力値に関連する情報をそれぞれ前記少なくとも１つの現在使用中のアプリケーションの少なくとも１つの対応する入力フィールドに出力するステップ
を含む、請求項１に記載の方法。
【請求項４】
コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための装置であって、
少なくとも１つのアプリケーションの識別を識別する手段と、
前記少なくとも１つのアプリケーションの少なくとも２つの入力フィールドの各識別を識別する手段と、
ユーザから提供される前記少なくとも１つのアプリケーションの前記少なくとも２つの入力フィールドの各入力値を識別する手段と、
前記少なくとも１つのアプリケーションの前記識別と、前記少なくとも１つのアプリケーションの前記少なくとも２つの入力フィールドの前記各識別と、前記少なくとも１つのアプリケーションの前記少なくとも２つの入力フィールドの前記各入力値との間の連関関係を定め、該連関関係を外部制約として事前生成する手段と、
現在使用中のアプリケーションの識別を識別する手段と、
前記現在使用中のアプリケーションの少なくとも１つの入力フィールドの識別を識別する手段と、
前記現在使用中のアプリケーションの前記少なくとも１つの入力フィールドの入力値を取得する手段と、
前記現在使用中のアプリケーションの前記識別と、前記現在使用中のアプリケーションの前記少なくとも１つの入力フィールドの前記識別と、前記現在使用中のアプリケーションの前記少なくとも１つの入力フィールドの前記入力値と、に基づいて、前記現在使用中のアプリケーションの前記少なくとも１つの入力フィールドの前記入力値と関連付けられ前記外部制約で定義される他の入力フィールドのデータを入力データとしてユーザに提供する手段と、
を備える装置。
【請求項５】
データを入力データとしてユーザに提供する前記手段は、
前記入力データを使用することによって前記現在使用中のアプリケーションの前記少なくとも１つの入力フィールドと外部制約関係を有する少なくとも１つの他の入力フィールドの修正又は自動入力を行う修正入力手段
を備える、請求項４に記載の装置。
【請求項６】
データを入力データとしてユーザに提供する前記手段は、
少なくとも１つの現在使用中のアプリケーションの少なくとも１つの入力フィールドの入力値を処理し、前記入力値に関連する情報をそれぞれ前記少なくとも１つの現在使用中のアプリケーションの少なくとも１つの対応する入力フィールドに出力する手段
を備える、請求項４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の諸実施形態は、データ処理の分野に関するものであり、より詳細には、コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための方法及び装置に関するものである。
【背景技術】
【０００２】
コンピュータ技術の急速な進歩により、様々なタイプのアプリケーションが人間の仕事や生活の他、様々な側面に浸透してきている。人々は、日常の職務と日々の生活の両面で様々なアプリケーションに接し、キーボードやマウスのようなコンピュータ周辺機器を利用してアプリケーションの入力フィールドに対して入力を行う必要がある。
【０００３】
通常、様々なアプリケーションの入力フィールドの入力値には多くの制限が存在する。例えば、北京のある地域を対象とする電話番号の入力フィールドの入力値は、「+86-10」から始まる８桁の整数に制限される。同じ又は異なるアプリケーションの異なる入力フィールドにおいて、これらの入力値は互いに連関関係（association relationship）を有する可能性がある。例えば、「product number」（製品番号）や「manufacturer」（製造業者）のような情報をオーダー・システムに入力し、その後同じ情報を別の財務システムに入力する必要がある。このため手動のコピー／ペースト操作が必要となる。一方、「product unit price」（製品単価）及び「amount」（量）という２つの入力フィールドを含むアプリケーションと、「product total price」（製品総額）という１つのフィールドのみを含む別のアプリケーションとが存在する別の状況も考えられる。この場合は、入力値が「product total price」＝「product unit price」×「amount」を満足することが望まれる。ここでも手動による計算及び入力が必要となる。
【０００４】
様々なアプリケーションに対して日々繰り返されるデータ入力作業は、単調で時間のかかる作業である。入力エラーによって注文が無効になることや、他のエラーによって膨大な損失が生じる恐れもある。更に、人々は、効率が悪いだけでなくエラーも生じやすい手動による非効率的なコピー／ペースト手順にかなりの時間を費やすことになる。
【０００５】
従来技術にはメモリ機能を有する複数の入力方法が既に存在するが、これらの入力方法は、ユーザによって最近頻繁に使用される語彙を記憶すること、又はよく使用されるいくつかの単語のショートカット・キーを手動で構成することにより、ユーザ入力の入力内容候補に関するプロンプトを出すものにすぎない。一方、このようなプロンプトによってユーザに提供される入力支援はごく限られたものである。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術の入力方法又はプログラムは、入力フィールド自体の内容にも複数の入力フィールド間の関連関係にも何ら制約を課すことができない。
【０００７】
それ故、入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための方法及び装置が必要とされている。これらの方法及び装置は、特定の入力フィールドに関するコンテキスト・アウェアな入力データを提供すること、入力効率を高めながら入力データの有効性を検証すること、更には各入力フィールド間のより複雑な制約を提供することが可能であることが望ましい。
【課題を解決するための手段】
【０００８】
本発明の一実施形態では、コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための方法が提供される。前記方法は、少なくとも１つのアプリケーションの少なくとも１つの入力フィールドに関する外部制約を事前生成するステップと、前記外部制約に基づいてコンテキスト・アウェアな入力データを現在使用中のアプリケーションの少なくとも１つの入力フィールドに提供するステップと、を含む。
【０００９】
本発明の別の実施形態において、前記外部制約を事前生成するステップは、前記少なくとも１つのアプリケーションの単一の入力フィールドの入力データに関する第１の外部制約を事前生成するステップ、及び前記少なくとも１つのアプリケーションの少なくとも２つの入力フィールドの入力データ間の関連付けに関する第２の外部制約を事前生成するステップのうちの少なくとも１つを含む。
【００１０】
本発明の一実施形態では、コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための装置が提供される。前記装置は、少なくとも１つのアプリケーションの少なくとも１つの入力フィールドに関する外部制約を事前生成する生成コンポーネントと、前記外部制約に基づいてコンテキスト・アウェアな入力データを現在使用中のアプリケーションの少なくとも１つの入力フィールドに提供する提供コンポーネント（provision component）と、を備える。
【００１１】
本発明の別の実施形態において、前記生成コンポーネントは、前記少なくとも１つのアプリケーションの単一の入力フィールドの入力データに関する第１の外部制約を事前生成する第１の生成コンポーネント、及び前記少なくとも１つのアプリケーションの少なくとも２つの入力フィールドの入力データ間の関連付けに関する第２の外部制約を事前生成する第２の生成コンポーネントのうちの少なくとも１つを備える。
【図面の簡単な説明】
【００１２】
本発明の特徴、利点、及び他の態様は、以下の詳細な説明を添付図面と併せて読めば明らかとなるだろう。
【００１３】
【図１】本発明の一実施形態に係る方法が実施され得るアプリケーション環境の概要を示す概略図である。
【図２】典型的なアプリケーションの様々な入力フィールドの例を示す概略図である。
【図３】典型的なアプリケーションの様々な入力フィールドの例を示す概略図である。
【図４】典型的なアプリケーションの様々な入力フィールドの例を示す概略図である。
【図５】典型的なアプリケーションの様々な入力フィールドの例を示す概略図である。
【図６】本発明の一実施形態に係る典型的なデバイスの操作手順を示す概略図である。
【図７】本発明の一実施形態に従って入力データ候補に関するプロンプトがユーザに出される様子を示す概略図である。
【図８】本発明の一実施形態に従って現在の入力フィールドに自動入力される入力データの概要を示す概略図である。
【図９】本発明の一実施形態に従って現在のユーザの入力値の有効性を検証する様子を示す概略図である。
【図１０】本発明の一実施形態に従って異なるアプリケーション間の各入力フィールドの内容を処理／出力する様子を示す概略図である。
【図１１】本発明の一実施形態に係るコンテキスト・アウェアな入力データを提供するための方法を示す概略フローチャートである。
【図１２】図１１に示した外部制約を生成するステップの一実施形態の詳細を示す概略フローチャートである。
【図１３】図１１に示した入力データを提供するステップの一実施形態の詳細を示す概略フローチャートである。
【図１４】図１１に示した入力データを提供するステップの一実施形態の詳細を示す概略フローチャートである。
【発明を実施するための形態】
【００１４】
本発明の諸実施形態によれば、コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための方法及び装置が提供される。以下、添付図面を参照しながら本発明の各実施形態について詳細に説明する。
【００１５】
様々なアプリケーションの入力フィールドに対して毎日入力を行う必要がある特定のユーザがアプリケーションに対する情報入力を長い時間にわたって繰り返し実行するときは、ユーザの入力挙動が予測可能であること、即ち、特定の期間中にユーザによって入力されるデータが類似性を有することが想定される。理想的には、ユーザによってアプリケーションに入力されるデータが高い類似性を有すること、あるいは手動入力又はオペレーティング・システムの「Ctrl+C/Ctrl+V」コピー／ペースト操作に完全に依存するのではなく各入力が「入力データ・プール」から選択可能となることが想定され得る。
【００１６】
本発明のいくつかの実施形態に係る方法は、少なくとも１つのアプリケーションの少なくとも１つの入力フィールドに関する外部制約を事前生成するステップと、前記外部制約に基づいてコンテキスト・アウェアな入力データを現在使用中のアプリケーションの少なくとも１つの入力フィールドに提供するステップと、を含む。本例で述べる外部制約とは、単一の入力フィールドに関する入力データに課される事前生成される外部制約、及び２つ以上の入力フィールドに関する入力データ間の連関関係に課される事前生成される外部制約を指す。事前生成されるこれらの外部制約は、アプリケーションに局所的に記憶することも、他のユーザと共用するために専用サーバ又は汎用サーバのデータベースに記憶することもできる。
【００１７】
図１は、本発明の一実施形態に係る方法が実施され得るアプリケーション環境の概要１００を示す概略図である。図１に示すように、ユーザは、デスクトップ・コンピュータ１１０‐１、ラップトップ・コンピュータ１１０‐２、パネル・コンピュータ１１０‐３、携帯情報端末（ＰＤＡ）１１０‐４、モバイル端末１１０‐ｎのような様々なタイプのユーザ端末において本発明に係る方法を利用することができる。
【００１８】
本発明の諸実施形態によれば、事前生成される外部制約は、様々なアプリケーションを実行するユーザ端末に局所的に記憶することができ、更には各ユーザが各々のユーザ端末１１０‐１〜１１０‐ｎからネットワーク１３０を介して外部制約にアクセスすることが可能となるように専用サーバ１２０に記憶することもできることに留意していただきたい。更に、本発明の諸実施形態によれば、外部制約は、ユーザ端末の外部に存在する少なくとも１つの専用サーバ又は汎用サーバ内に集中的に配置することも分散的に配置することも可能であることに留意していただきたい。
【００１９】
以下では図２乃至図５を参照して、本発明の諸実施形態に従って入力データを提供する操作について詳細に説明する。図２乃至図５は、典型的なアプリケーションの様々な入力フィールドの例を示す概略図である。本発明の一実施形態によれば、入力フィールドは、図２に示すようなアプリケーション内のテキスト入力ボックス２０２であってよい。この場合、入力フィールドは、データ入力用のテキスト入力ボックスに限定されるわけではなく、必ずしもそれだけに限定されるわけではないが、ラジオ・ボタン（図３の２０４）、チェック・ボックス、ドロップ・ダウン・メニュー（図３の２０６）、選択メニュー、テキスト入力フィールド、データ入力用の様々なデータ・フィールド、アプリケーション内の各ページ（図４のタブ２０８）、及び個々の電子データ・シート（例えば図５に示すＥｘｃｅｌシート２１０や電子作表ツールの他の任意のシート）を含む可能性がある。
【００２０】
本発明に係る方法は、様々な言語インターフェースのアプリケーションに適用可能であることに留意していただきたい。例えば、入力フィールド「国家」及び入力フィールド「country」は、異なるアプリケーションで実際には同じ意味を表すため、これらの入力フィールド間の外部制約を事前定義することが可能となる。即ち、本発明に係る方法は、各アプリケーションで使用される言語又はユーザによって入力される言語のタイプに限定されない。そうではなく、本発明に係る方法は、１つ又は複数のアプリケーションの１つ又は複数の入力フィールドに課される外部制約がユーザによって事前定義されている限り、任意の言語に適用可能である。
【００２１】
図６は、本発明の一実施形態に係る典型的なデバイスの操作手順３００を示す概略図である。ブロック３１０‐１〜３１０‐ｍは、複数のアプリケーションを示す。本発明に係るデバイスは、これらの複数のアプリケーションの入力フィールドに関するデータを提供することができる。図６の右側に示すように、本発明に係るデバイスは、２つの部分、即ち提供コンポーネント３２０及び生成コンポーネント３３０を備えることができる。生成コンポーネント３３０は、第１の外部制約を生成する第１の生成コンポーネント３３２と、第２の外部制約を生成する第２の生成コンポーネント３３４と、を備える。構成データ・レポジトリ３３６及び入力データ・レポジトリ３３８は、生成コンポーネント３３０内に位置することもリモート・サーバ内に位置することもある。
【００２２】
本発明の一実施形態によれば、第１の生成コンポーネント３３２及び第２の生成コンポーネント３３４は、外部制約の事前生成手順においてアプリケーション３１０‐１〜３１０‐ｍに関する入力を取得する（矢印Ａ参照）。入力の取得手法は複数存在する。例えば、１）キーボード・イベントを監視することによってユーザ入力が取得される、即ち、ユーザがキーボード・キーを押下するたびに押下されたキーに関する情報が同時に又は即時に取得され、押下された各キーに関する情報を組み合わせて現在の入力フィールドに関する入力が形成される；２）現在の入力フィールドのすべての内容がユーザによって入力された後、現在の入力フィールドから全体の入力情報が取得される。２つ目の手法を採用する利点は、ユーザがキーを押下するたびに取得される情報を保存又は処理する必要がないこと、及びユーザが入力を完了させた後にすべての入力データが一時に収集されることである。このようにすれば、ユーザが入力フィールドに最終的に入力したい情報を煩雑な文字入力なしに取得することが可能となる。この利点は、例えばユーザが中国語入力方法を利用する状況で極めて顕著となる。ユーザが「中国」と入力したいときは、頭文字による簡易ピンインをサポートするいくつかの入力方法で「zhongg」と入力しスペース・バーを押下するだけで、入力値「中国」を取得することが可能となる。この時点で監視されるキーボード・イベントは、５つの連続する文字「zhongg」及びスペース・バーの押下というイベントである。
【００２３】
本発明の諸実施形態によれば、外部制約を事前生成するステップは更に、アプリケーションの識別を識別するステップと、入力フィールドの識別を識別するステップと、を含む。例えば、Ｗｉｎｄｏｗｓ（Ｒ）ＡＰＩ又は他の手段を使用することにより、アプリケーションＩＤ及び入力フィールドＩＤを識別として取得することができる。後続の処理手順において、アプリケーションＩＤと入力フィールドＩＤは共に入力フィールドを区別する識別子として使用される。更に、本発明の諸実施形態によれば、アプリケーション内のページの識別も取得され得る。
【００２４】
図６に示す第１の生成コンポーネント３３２は、単一の入力フィールドに対する入力データに関する第１の外部制約を事前生成するのに使用される。第１の外部制約とは、アプリケーション内の入力フィールドの内容に課される制限を指す。例えば、入力フィールド「product model」（製品モデル）の入力値は、製品リスト内に存在する特定のモデルに制限され、入力フィールド「zip code」（郵便番号）の入力値は、数値型の６桁の整数に制限され、入力フィールド「country」（国）の入力値は、特定の国名に制限される。
【００２５】
第２の生成コンポーネント３３４は、２つ以上の入力フィールドの入力データ間の関連付けに関する第２の外部制約を事前生成するのに使用される。第２の外部制約とは、（同じ又は異なるアプリケーションにおける）異なる入力フィールド間の関係に課される制限を指す。例えば、同じアプリケーションは、「City」（都市）、「Country」（国）、「Area Code」（市外局番）、「Zip Code」（郵便番号）といった入力フィールドを含む可能性がある。これらの入力フィールドは関連性を有することが理解されるだろう。フィールド「City」の入力値が判定されると、入力フィールド「Country」、「Area Code」、及び「Zip Code」の内容を判定することが可能となる。これらの入力フィールド間の第２の外部制約を定義することが可能となる。別の例として、中国語インターフェースでは、あるアプリケーションは「城市」（都市）、「国家」（国）、
【数１】
0005924859.tif 000002
（市外局番）、及び、
【数２】
0005924859.tif 000003
（郵便番号）といった入力フィールドを有し、別のアプリケーションは「City」、「Country」、「Area Code」、及び「Zip Code」という入力フィールドを有する。そのため、これらの２つのアプリケーションの対応するフィールドに関する第２の外部制約を定義することが可能となる。例えば、第２の外部制約は、以下の表１の形で定義される。表１は単なる例示であり、外部制約は、本発明の諸実施形態に従って実行可能なものであればどのような形で定義されてもよいことを理解していただきたい。
【表１】
0005924859.tif 000004
【００２６】
特定の入力フィールドについては、第１／第２の外部制約が存在しないことも、より多くの第１／第２の外部制約が存在することもあることに留意していただきたい。例えば、入力フィールド
【数３】
0005924859.tif 000005
（郵便番号）は、以下の制約、即ち、入力データを６桁の整数として定義する第１の外部制約と、
【数４】
0005924859.tif 000006
（郵便番号）と「城市」（都市）、「国家」（国）、及び、
【数５】
0005924859.tif 000007
（市外局番）とを関連付ける第２の外部制約と、
【数６】
0005924859.tif 000008
（郵便番号）と別のアプリケーションの入力フィールド「Zip Code」とを関連付ける第３の外部制約と、を有する可能性がある。
【００２７】
本発明の諸実施形態によれば、構成データ・レポジトリ３３６は、事前生成された外部制約を記憶するのに使用され、入力データ・レポジトリ３３８は、正規ベンダーのリストのようなユーザ入力された履歴レコード又は事前定義されたデータ・レポジトリ、即ちアプリケーション内の入力フィールドに関してユーザによって入力されたデータを記憶するのに使用される。生成手順において、第１の生成コンポーネント３３２及び第２の生成コンポーネント３３４は、図６の矢印Ｂで示されるように、生成された外部制約及び取得された履歴入力データをそれぞれ構成データ・レポジトリ３３６及び入力データ・レポジトリ３３８に保存する。
【００２８】
本例で述べる外部制約は事前生成されるため、本発明に係る方法を使用して入力データが提供されるたびに初期化手順を実行しなければならないわけではないことに留意していただきたい。事前生成される外部制約は、複数のユーザと共用するためにリモート・サーバに保存することができる。ユーザの様々なユーザ・クラスに関して様々な外部制約が生成され得る。更に、ユーザは、リモート・サーバから共通の外部制約にアクセスする一方で、自身の個人情報に従ってカスタマイズされるプライベート外部制約をクライアント端末のローカルに保存することもできる。
【００２９】
本発明の諸実施形態によれば、外部制約が生成された後、現在のアプリケーションの使用中に当該アプリケーションに関する外部制約の構成を動的に修正することができ、例えば新しい外部制約を追加すること、古くなった外部制約を削除すること、既存の外部制約を更新すること等が可能となる。また、外部制約は、終始変更されないわけではなく、むしろ本発明に係る方法の使用手順全体にわたって継続的に完成され得るものである。即ち、外部制約の生成手順は、何度も修正を受ける周期的な更新手順であり得る。
【００３０】
次に図６を参照して、外部制約に基づいてコンテキスト・アウェアな入力データを現在のアプリケーションの少なくとも１つの入力フィールドに提供する手順について説明する。図６に示すように、提供コンポーネント３２０は、各アプリケーションからアプリケーションＩＤ、入力フィールドＩＤ、及び現在のユーザ入力値を取得するためにアプリケーション３１０‐１〜３１０‐ｍと結合されている。提供コンポーネント３２０は、矢印Ｃで示されるように構成データベース３３６及び入力データベース３３８の照会を行った後、コンテキスト・アウェアな入力データを矢印Ｄで示される方向にアプリケーション３１０‐１〜３１０‐ｍの対応する入力フィールドに提供する。
【００３１】
次に図７乃至図１０を参照して、本発明の様々な実施形態に従ってコンテキスト・アウェアな入力データをアプリケーションの入力フィールドに提供する手法に関する操作インターフェースについて詳細に説明する。入力データを提供するステップは、アプリケーションの識別及び現在の入力フィールドの識別を識別し、現在の入力値を取得するステップと、上記データに基づいて現在の入力値と関連付けられ外部制約で定義されるデータを入力データとして提供するステップと、を含む。入力データを提供する本手順では、識別されたアプリケーションの識別、入力フィールドの識別、及び現在の入力値は、対応する外部制約を検索するキーワードとして使用され得る。
【００３２】
また、アプリケーションが複数のページを含む（例えば図４に示すように複数のタブを含む）場合は、アプリケーションのページ識別を識別する必要があり、入力データは、アプリケーションの識別、ページ識別、入力フィールドの識別、及び現在の入力値に基づいて提供される。他のアプリケーションでは、現在の入力フィールドの場所を一意に突き止める目的で、アプリケーションの識別及び入力フィールドの識別以外の識別を識別することが必要となる可能性もある。
【００３３】
図７は、本発明の一実施形態に従って入力データ候補に関するプロンプトがユーザに出される様子を示す概略図である。特定の入力フィールドに関するプロンプトは、例えば複雑な文字列又は覚えづらい文字列を覚えやすいフレーズを使用して表現することにより、又は比較的長い入力を略語を使用して表現することにより、外部制約間で事前構成することができる。
【００３４】
例えば、オーダー・システムでは、フィールド「Vendor ID」の入力値は特定のベンダーの番号に制限されるが、これらの番号は覚えるのが困難である可能性がある。本発明に係る方法では、文字列「CompanyA」及び「CompanyB」はそれぞれベンダー番号「9878987」及び「1273645」を表すことが外部制約において事前定義される。図７に示すように、入力フィールド「Vendor ID」に「Company」が入力されたことが検出されたときは、そのユーザ入力に対応するベンダー番号がユーザ選択候補としてプロンプト・ボックス４０２内に示される。
【００３５】
本発明の一実施形態において、ユーザは、プロンプト表示される入力データを利用することにより、例えば選択用の数字キー又は上下キーを使用して現在の入力フィールドの修正又は入力を行うことが可能となる。
【００３６】
本発明の一実施形態では、上記入力データを利用して、現在の入力フィールド及び現在の入力フィールドと外部制約関係を有する少なくとも１つの他の入力フィールドの修正又は自動入力を行うことができる。具体的には、図８は、本発明の一実施形態に従って現在の入力フィールドに自動入力される入力データの概要を示す概略図である。上述のように、アプリケーション内のフィールド「City」、「Country」、「Telephone」、及び「Zip Code」に関する外部制約は、事前に定められている。即ち、これらの入力フィールドは連関関係を有する。ユーザがこれらのフィールドのいずれかに入力値を入力したときは、外部制約から他のフィールドの入力位置を突き止めることができ、他の入力フィールドの自動入力を行うことが可能となる。
【００３７】
例えば、図８に示すように、ユーザはフィールド「City」に「Beijing」を入力する。外部制約から、「Beijing」は中国の都市であること、市外局番は「+86-010」であること、郵便番号は「100000」であることが分かる。それ故、これらの入力値を対応する入力フィールドに自動入力することが可能となる（自動入力後のインターフェースは図８に示すとおり）。ユーザがいずれかの入力フィールドに対して入力を行った後は、インターフェース内の入力フィールドの順序に関わらず、当該入力フィールドに関連する他の入力フィールドの入力値の「関連付け」を行うことができることに留意していただきたい。例えば、ユーザが「Zip Code」に「100000」を入力したときは、外部制約に従って「100000」が「Beijing」の郵便番号であること、「Beijing」が中国の都市であること、市外局番が「+86-010」であることが分かる。したがって、これらの値は対応する入力フィールドに自動入力される。
【００３８】
本発明の諸実施形態によれば、「関連付け」を利用することにより、入力された入力値を修正すること、あるいは現在の入力データに存在する可能性があるエラーに関するプロンプトを出すことが可能となる。
【００３９】
本発明の一実施形態によれば、現在のユーザ入力値の有効性を検証することができる。内容が厳格に制限されるいくつかの入力フィールドに関しては、入力値の正当性を保証する必要があり、したがって入力が有効であるかどうかを検証するツールを提供する必要がある。入力の有効性の検証は、強制的（mandatory）検証と、示唆的（suggestive）検証又は他の検証様式とに分類することができる。強制的検証は、製品番号やベンダー番号等、比較的制約が厳しい入力フィールドについて使用され得る。ユーザ入力値が無効である場合は、入力値が無効であることを知らせるプロンプトがユーザに出され（図９のプロンプト・ボックス４０４参照）、このプロンプトはユーザが有効な値を入力するまで維持される。示唆的検証は、比較的制約が緩い入力フィールドについて使用され得る。無効なユーザ入力が存在する可能性があることが検出されたときは、現在の入力値が正しいかどうかをチェックするようユーザに促すアラートがユーザに出される。
【００４０】
本発明の一実施形態によれば、第１のアプリケーション内の少なくとも１つの入力フィールドの入力値を処理し、その入力値に関連する情報を第２のアプリケーション内の少なくとも１つの対応する入力フィールドに対して処理／出力することが可能となる。図１０は、本発明の一実施形態に従って異なるアプリケーション間の各入力フィールドの内容を処理／出力する様子を示す概略図である。
【００４１】
インターフェース４１０及び４２０は、それぞれ第１のアプリケーション及び第２のアプリケーションのインターフェースを示す。これらの２つのアプリケーション内の各入力フィールドに関する外部制約は、事前定義されている。即ち、これらの２つのアプリケーションでは、同じ名前を有する入力フィールドは同じ入力データを有すると考えられる。それ故、外部制約を有し且つユーザによって第１のアプリケーションに入力されるすべての入力値を第２のアプリケーション内の対応する入力フィールドに対して完全に処理／出力することが可能となる。複数のアプリケーションの入力フィールドの名前は、必ずしも互いに同一であるとは限らないことを理解していただきたい（例えば「telephone」（電話）と「telephonenumber」（電話番号）である可能性もある）。
【００４２】
インターフェース４３０は、第１のアプリケーション４１０からの入力データの処理／出力結果として得られるインターフェースを示す。ユーザは、ショートカット・キー、ファンクション・ボタン、又は他の様式を利用して、外部制約を有する入力フィールド間の入力データの処理／出力を行うことができる。例えば、図１０は、処理／出力前後の入力フィールド「telephone」４１２、４２２、及び４３２の入力値を示している。
【００４３】
上記の実施形態の「処理／出力（process/output）」操作は、従来技術の「コピー／ペースト」操作よりも多くの機能を実現する「スーパー・コピー／ペースト」操作としてある程度解釈することができる。本発明の上記の実施形態に係る「処理／出力」操作は、例えばＷｉｎｄｏｗｓオペレーティング・システムの「Ctrl+C/Ctrl+V」機能に限定されるものではなく、事前定義される外部制約に従って実施される複雑な操作も含むことができる。本発明の諸実施形態によれば、アプリケーション内の入力データを処理し、処理されたデータを関連する入力フィールドに対して処理／出力することが可能となる。本発明の「処理／出力」操作の他の例示的な実施例を以下に示す。
【００４４】
（実施例１）
第１のアプリケーションは、入力フィールド「unit price」（単位価格）及び「amount」（量）を含み、第２のアプリケーションは、入力フィールド「total price」（総額）のみを含む。このとき、これらのアプリケーションの入力フィールド間の外部制約は、入力値が次式を満足するように定めることができる。
totalprice＝unit price×amount
【００４５】
ユーザが第１のアプリケーションの「unit price」に「100」を入力し、「amount」に「10」を入力した場合に、ユーザが「処理／出力」操作を実行したときは、第２のアプリケーションの入力フィールド「total price」に「1000」が入力され得る。
【００４６】
（実施例２）
第１のアプリケーションは、２つの入力フィールド、即ち「area code」及び「telephone number」を含み、第２のアプリケーションは、入力フィールド「telephone」のみを含む。このとき、これらの２つのアプリケーションの入力フィールド間の外部制約は、第２のアプリケーションのフィールド「telephone」の入力データが第１のアプリケーションの２つのフィールド「area code」及び「telephone number」の入力データの文字列接続となり、ダッシュ「-」を分離文字として使用するように定めることができる。
【００４７】
ユーザが第１のアプリケーションの「area code」に「+86-010」を入力し、「telephone number」に「12345678」を入力した場合に、ユーザが「処理／出力」操作を実行したときは、第２のアプリケーションの入力フィールド「telephone」に入力データ「+86-010-12345678」が入力され得る。
【００４８】
（実施例３）
第１のアプリケーションは、英語インターフェース表示を利用することができ、入力フィールド「City」を含み、第２のアプリケーションは、中国語インターフェース表示を利用することができ、入力フィールド「城市」を含む。これらの２つのアプリケーションの入力フィールド間の外部制約は、ユーザがフィールド「City」に英語の都市名を入力したときに、入力された都市の中国語名が第２のアプリケーションのフィールド「城市」に自動入力されるように定めることができる。
【００４９】
例えば、ユーザがフィールド「City」に「Beijing」を入力したときは、フィールド「城市」（City）に「北京」（Beijing）が自動入力される。
【００５０】
上記の例は、本発明に従って実施され得る「処理／出力」操作の非限定的な例を示すものにすぎないことに留意していただきたい。第１のアプリケーションの入力フィールドをある操作の入力として使用し、第２のアプリケーションの対応する入力フィールドに対する結果の出力を他の外部制約に基づいて行うことも可能である。このような操作には、必ずしもそれだけに限定されるわけではないが、数学的操作、論理的操作、文字操作、及び他のタイプの実行可能な操作が含まれる。本発明の諸実施形態によれば、少なくとも１つのアプリケーションの入力フィールドの入力値が入力として使用され、且つコンテキスト・アウェアな入力データが少なくとも１つのアプリケーションの入力フィールドに提供されるように、複数のアプリケーションの入力フィールド間の外部制約を定めることができる。
【００５１】
図１１は、本発明の一実施形態に係るコンテキスト・アウェアな入力データを提供するための方法を示す概略フローチャート５００である。図１１に示すように、ステップＳ５０２で、少なくとも１つのアプリケーションの少なくとも１つの入力フィールドに関する外部制約が事前生成される。外部制約を生成する本ステップは、現在のユーザとは独立した管理者又は他の人物によって実行され得る前処理ステップであってもよいことに留意していただきたい。生成された外部制約は、ユーザがアクセス可能なストレージ位置に記憶される。
【００５２】
ステップＳ５０４では、これらの外部制約に基づいて、コンテキスト・アウェアな入力データが現在使用中のアプリケーションの少なくとも１つの入力フィールドに提供される。本発明の諸実施形態によれば、コンテキスト・アウェアな入力データは、図７乃至図１０を参照して上述したように、入力データ候補を提供すること、現在の入力フィールドの修正又は自動入力を行うこと、現在の入力値の有効性を検証すること、及び「処理／出力」プロセスを含めた様々な様式で提供することができる。
【００５３】
図１２は、図１１に示した外部制約を生成するステップＳ５３０の一実施形態の詳細を示す概略フローチャート６００である。外部制約はそれぞれ、入力フィールド自体に関する第１の外部制約、及び入力フィールド間の関連付けに関する第２の外部制約とすることができる。比較的単純な第１の外部制約は、フィールド内容自体の制限に関するものであり、当業者なら第１の外部制約の様々な実施形態を容易に実現することができるだろう。それ故、以下では第２の外部制約を定めるコンテキストにおいて外部制約を事前生成する手順について説明する。
【００５４】
まず、ステップＳ６０２で、少なくとも１つのアプリケーションの識別が識別される。ステップＳ６０４で、少なくとも１つのアプリケーションの少なくとも２つの入力フィールドの識別が識別される。ステップＳ６０６で、少なくとも１つのアプリケーションの少なくとも２つの入力フィールドの各入力値が識別される。ステップＳ６０８で、少なくとも１つのアプリケーションの識別と、少なくとも１つのアプリケーションの少なくとも２つの入力フィールドの各識別と、少なくとも１つのアプリケーションの少なくとも２つの入力フィールドの各入力値との間の連関関係が定められる。本発明の一実施形態では、ページ識別を取得する追加的な操作が必要となることに留意していただきたい。
【００５５】
以下、複雑な「処理／出力」プロセスのコンテキストにおいて入力データを提供する、本発明の諸実施形態に係る操作手順について詳細に説明する。「処理／出力」操作と比べると、コンテキスト・アウェアな入力データを提供する他の方法は比較的単純である。それ故、本明細書を読んだ当業者であれば他の実施形態の実施も容易であるだろう。
【００５６】
ここで再び「処理／出力」操作に関する図１０を参照する。図１０に示すように、例えば第１のアプリケーション４１０の入力フィールド「Telephone」４１２と、第２のアプリケーション４２０の入力フィールド「Telephone」４２２とが識別され、これらの２つの入力フィールド間の「処理／出力」の外部制約が以下の表に示すように定められる。
【表２】
0005924859.tif 000009
【表３】
0005924859.tif 000010
【表４】
0005924859.tif 000011
【００５７】
上記の表２乃至表４は、第１のアプリケーション４１０の入力フィールド４１２を第２のアプリケーション４２０の入力フィールド４２２に対して処理／出力するための外部制約を示す。また、各外部制約は、第１及び第２のアプリケーション内の他の入力フィールドの場合と同様に、それらの外部制約を使用することによって第１のアプリケーション内のすべての入力フィールドを第２のアプリケーション内の対応するフィールドに対して「処理／出力」することが可能となるように定義することができる。
【００５８】
次に図１３及び図１４を参照して、一実施形態における「処理／出力」操作のフローを説明する。「処理／出力」外部制約が定義された後は、入力内容を第１のアプリケーションから第２のアプリケーションに対して「処理／出力」することが可能となる。図１３は、（「スーパー・コピー」としてある程度理解される）「処理」操作の一実施形態の詳細を示す概略フローチャートである。このフローは、本発明に係る「処理／出力」プロセスを開始するためのステップＳ７０２ａに示されるホット・キー処理から開始する。本例で述べるホット・キー処理は、本発明の諸実施形態に従って定義されるショートカット・キー（例えばオペレーティング・システムのショートカット・キー「Ctrl+C」と区別するために「Ctrl+Shift+C」又は他のショートカット・キーとして定義され得る）の処理であっても、「処理」機能をアクティブ化する他のボタン又はメニューの処理であってもよいことに留意していただきたい。
【００５９】
次にステップＳ７０４ａで、アプリケーション識別及びページ識別、本例ではそれぞれ「App-001」及び「Page-001」が取得される。ステップＳ７０６ａで、現在のページの処理／出力に関する外部制約が存在するか否かがチェックされる。存在しない場合には操作フローは終了し、存在する場合にはステップＳ７０８ａに進んで現在のページに関連する処理／出力データが外部制約に基づいてロードされる。
【００６０】
図１３に示すフローチャートの終了時点の状態は、ユーザが単に様々な入力フィールドの入力データをロードしただけである（オペレーティング・システムの「クリップボードにコピー」操作と同様）。図１４は、「出力」操作の一実施形態の詳細を示す概略フローチャートである。ステップＳ７０２ａにおけるホット・キーの出力の場合と同様に、ステップＳ７０２ｂでホット・キー出力機能が開始される。続いてステップＳ７０４ｂで、アプリケーション識別及びページ識別、即ち（現在アクティブ状態にある）第２のアプリケーションのアプリケーションＩＤ「App-002」及びページ識別「Page-002」が取得される。次にステップＳ７０６ｂで、ターゲット・ページの処理／出力に関する外部制約が存在するか否かがチェックされる。存在しない場合にはフローは終了し、存在する場合にはステップＳ７０８ｂに進む。
【００６１】
上述のとおり、外部制約は現在の処理／出力プロセスに既に存在するので（表３参照）、ステップＳ７０８ｂの外部制約で示されるように、データ・ソース（即ち、ソース・アプリケーション「App-001」、ソース・ページ「Page-001」、ソース・フィールド「Telephone」）からデータが取得される。ステップＳ７０１ｂで、取得されたデータは、それぞれターゲット・アプリケーション、即ちターゲット・アプリケーション「App-002」、ターゲット・ページ「Page-002」、及びターゲット・フィールド「Telephone」の対応する各入力フィールドに提供される。この時点で、第２のアプリケーション内のフィールド「Telephone」の入力値は、第１のアプリケーション内のフィールド「Telephone」の入力値、即ち「1234567890」（図１０参照）と同じになる。
【００６２】
アプリケーション内の他の入力フィールドの「処理／出力」操作に関しても、操作フローは上述したのと同様であるため、詳細な説明は省略する。本発明の一実施形態によれば、例えば処理／出力対象となる入力フィールドをグループに分け、各グループの処理／出力操作を定義することにより、アプリケーション内の複数の入力フィールドの処理／出力手順を最適化することができる。
【００６３】
本発明の諸実施形態に係る「処理／出力」操作は、従来の意味での単なるコピーではなく、事前定義される外部制約に基づくアプリケーションの各入力フィールド間のマッピング関係を有することに留意していただきたい。２つのアプリケーションの入力フィールド間の１対１の対応において入力データを処理／出力する例を提示したが、本発明に係る処理／出力プロセスは、必ずしもそれだけに限定されるわけではないが、数学的操作、論理的操作、文字操作、及び他のタイプの実行可能な操作を含み得ることを理解していただきたい。
【００６４】
図１３及び図１４の「ホット・キー処理」操作及び「ホット・キー出力」操作は、因果関係を有する２つの順次操作であることを理解していただきたい。ユーザが第１のアプリケーションのホット・キー処理機能をトリガすると、外部制約が定義された第１のアプリケーション内の入力フィールドの入力データがロードされる。ユーザが第２のアプリケーションに切り替えたときは、ホット・キーをトリガすることによりロードされた入力データを第２のアプリケーションの対応する入力フィールドに提供することが可能となる。
【００６５】
本発明の一実施形態によれば、「双方向」マークを設定することにより第１のアプリケーションと第２のアプリケーションとの間でデータを処理／出力することが可能となる、即ち、処理／出力が双方向で実施されるようになることを理解していただきたい。
【００６６】
図１３及び図１４に示す上記の「処理／出力」操作は、「スーパー・コピー」及び「スーパー・ペースト」として理解することができる。本発明の諸実施形態によれば、「スーパー・コピー」操作及び「スーパー・ペースト」操作は、少なくとも１つのアプリケーションの複数の入力フィールドの入力値に関して実施することができる。当業者なら、図１３及び図１４に示す各ステップを参照すればこれらの操作を実行することができるだろう。
【００６７】
例えば、第１のアプリケーションのページが入力フィールド「unit price」及び「amount」を含み、ユーザは、第１のアプリケーションの「unit price」に「100」を入力し、「amount」に「10」を入力する。また、ユーザは、入力データ「1000」が第２のアプリケーションの入力フィールド「total price」に自動入力されることを望むとする。図１３のステップＳ７０６ａと同様に、ここでも現在のページの「処理／出力」に関する外部制約が存在するか否かがチェックされ、また、外部制約が「total price = unit price × amount」であることは既知である。図１３のステップＳ７０８ａと同様に、現在のページの「処理／出力」に関連するマッピング・データ（即ち、100 × 10 = 1000）がロードされる。図１４に示すステップと同様に、入力データ「1000」は、第２のアプリケーションのページ内の入力フィールド「total price」に入力される。ここでは詳細な説明は省略する。
【００６８】
本発明の諸実施形態によれば、スタンドアロン・ツールを利用してコンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための方法を提供することが可能となる。このスタンドアロン・ツールは、ユーザのクライアント端末で使用することができる。
【００６９】
本発明は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれらの組み合わせの形で実施することができる。本発明は、任意の適切なデータ処理システムで使用される信号搬送媒体上に配置されるコンピュータ・プログラム製品の形で実施することも可能であることが当業者には理解されるだろう。かかる信号搬送媒体は、機械読取り可能な情報用に使用される磁気媒体、光媒体、又は他の適切な媒体を含めた伝送媒体又は記録可能媒体であってよい。記録可能媒体の例としては、ハード・ディスク・ドライブ内のフレキシブル・ディスク又は磁気ディスク、光学ドライブ用の光ディスク、磁気テープ、及び当業者によって考えられ得る他の媒体が挙げられる。伝送媒体の例としては、音声通信に使用される電話ネットワーク、及びイーサネット（Ｒ）やインターネット・プロトコル及びワールド・ワイド・ウェブによって通信するネットワークのようなデジタル・データ通信ネットワークが挙げられる。
【００７０】
上記の説明を読めば、本発明の真の趣旨から逸脱しない限り本発明の各実施形態に様々な修正及び変更を施すことが可能であることが理解されるはずである。本明細書の説明は、例示的なものであって限定的なものではない。本発明の範囲は、添付の特許請求範囲によってのみ限定されるものである。
【符号の説明】
【００７１】
１１０‐１〜１１０‐ｎ  ユーザ端末
１２０  専用サーバ
１３０  ネットワーク
２０２  テキスト入力ボックス
２０４  ラジオ・ボタン
２０６  ドロップ・ダウン・メニュー
２０８  タブ
２１０  Ｅｘｃｅｌシート
３１０‐１〜３１０‐ｍ  アプリケーション
３２０  提供コンポーネント
３３０  生成コンポーネント
３３２  第１の生成コンポーネント
３３４  第２の生成コンポーネント
３３６  構成データ・レポジトリ
３３８  入力データ・レポジトリ
４０２、４０４  プロンプト・ボックス
４１０、４２０、４３０  インターフェース
４１２、４２２、４３２  入力フィールド
【図１】
0005924859.tif 000012
【図２】
0005924859.tif 000013
【図３】
0005924859.tif 000014
【図４】
0005924859.tif 000015
【図５】
0005924859.tif 000016
【図６】
0005924859.tif 000017
【図７】
0005924859.tif 000018
【図８】
0005924859.tif 000019
【図９】
0005924859.tif 000020
【図１０】
0005924859.tif 000021
【図１１】
0005924859.tif 000022
【図１２】
0005924859.tif 000023
【図１３】
0005924859.tif 000024
【図１４】
0005924859.tif 000025