説明

コンテキスト・アウェアな入力データを提供するための方法及び装置

【課題】コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための方法を提供する。
【解決手段】方法は、少なくとも1つのアプリケーションの少なくとも1つの入力フィールドに関する外部制約を事前生成するステップと、前記外部制約に基づいてコンテキスト・アウェアな入力データを現在使用中のアプリケーションの少なくとも1つの入力フィールドに提供するステップと、を含む。別の実施形態は、コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための装置を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の諸実施形態は、データ処理の分野に関するものであり、より詳細には、コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための方法及び装置に関するものである。
【背景技術】
【0002】
コンピュータ技術の急速な進歩により、様々なタイプのアプリケーションが人間の仕事や生活の他、様々な側面に浸透してきている。人々は、日常の職務と日々の生活の両面で様々なアプリケーションに接し、キーボードやマウスのようなコンピュータ周辺機器を利用してアプリケーションの入力フィールドに対して入力を行う必要がある。
【0003】
通常、様々なアプリケーションの入力フィールドの入力値には多くの制限が存在する。例えば、北京のある地域を対象とする電話番号の入力フィールドの入力値は、「+86-10」から始まる8桁の整数に制限される。同じ又は異なるアプリケーションの異なる入力フィールドにおいて、これらの入力値は互いに連関関係(association relationship)を有する可能性がある。例えば、「product number」(製品番号)や「manufacturer」(製造業者)のような情報をオーダー・システムに入力し、その後同じ情報を別の財務システムに入力する必要がある。このため手動のコピー/ペースト操作が必要となる。一方、「product unit price」(製品単価)及び「amount」(量)という2つの入力フィールドを含むアプリケーションと、「product total price」(製品総額)という1つのフィールドのみを含む別のアプリケーションとが存在する別の状況も考えられる。この場合は、入力値が「product total price」=「product unit price」×「amount」を満足することが望まれる。ここでも手動による計算及び入力が必要となる。
【0004】
様々なアプリケーションに対して日々繰り返されるデータ入力作業は、単調で時間のかかる作業である。入力エラーによって注文が無効になることや、他のエラーによって膨大な損失が生じる恐れもある。更に、人々は、効率が悪いだけでなくエラーも生じやすい手動による非効率的なコピー/ペースト手順にかなりの時間を費やすことになる。
【0005】
従来技術にはメモリ機能を有する複数の入力方法が既に存在するが、これらの入力方法は、ユーザによって最近頻繁に使用される語彙を記憶すること、又はよく使用されるいくつかの単語のショートカット・キーを手動で構成することにより、ユーザ入力の入力内容候補に関するプロンプトを出すものにすぎない。一方、このようなプロンプトによってユーザに提供される入力支援はごく限られたものである。
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来技術の入力方法又はプログラムは、入力フィールド自体の内容にも複数の入力フィールド間の関連関係にも何ら制約を課すことができない。
【0007】
それ故、入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための方法及び装置が必要とされている。これらの方法及び装置は、特定の入力フィールドに関するコンテキスト・アウェアな入力データを提供すること、入力効率を高めながら入力データの有効性を検証すること、更には各入力フィールド間のより複雑な制約を提供することが可能であることが望ましい。
【課題を解決するための手段】
【0008】
本発明の一実施形態では、コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための方法が提供される。前記方法は、少なくとも1つのアプリケーションの少なくとも1つの入力フィールドに関する外部制約を事前生成するステップと、前記外部制約に基づいてコンテキスト・アウェアな入力データを現在使用中のアプリケーションの少なくとも1つの入力フィールドに提供するステップと、を含む。
【0009】
本発明の別の実施形態において、前記外部制約を事前生成するステップは、前記少なくとも1つのアプリケーションの単一の入力フィールドの入力データに関する第1の外部制約を事前生成するステップ、及び前記少なくとも1つのアプリケーションの少なくとも2つの入力フィールドの入力データ間の関連付けに関する第2の外部制約を事前生成するステップのうちの少なくとも1つを含む。
【0010】
本発明の一実施形態では、コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための装置が提供される。前記装置は、少なくとも1つのアプリケーションの少なくとも1つの入力フィールドに関する外部制約を事前生成する生成コンポーネントと、前記外部制約に基づいてコンテキスト・アウェアな入力データを現在使用中のアプリケーションの少なくとも1つの入力フィールドに提供する提供コンポーネント(provision component)と、を備える。
【0011】
本発明の別の実施形態において、前記生成コンポーネントは、前記少なくとも1つのアプリケーションの単一の入力フィールドの入力データに関する第1の外部制約を事前生成する第1の生成コンポーネント、及び前記少なくとも1つのアプリケーションの少なくとも2つの入力フィールドの入力データ間の関連付けに関する第2の外部制約を事前生成する第2の生成コンポーネントのうちの少なくとも1つを備える。
【図面の簡単な説明】
【0012】
本発明の特徴、利点、及び他の態様は、以下の詳細な説明を添付図面と併せて読めば明らかとなるだろう。
【0013】
【図1】本発明の一実施形態に係る方法が実施され得るアプリケーション環境の概要を示す概略図である。
【図2】典型的なアプリケーションの様々な入力フィールドの例を示す概略図である。
【図3】典型的なアプリケーションの様々な入力フィールドの例を示す概略図である。
【図4】典型的なアプリケーションの様々な入力フィールドの例を示す概略図である。
【図5】典型的なアプリケーションの様々な入力フィールドの例を示す概略図である。
【図6】本発明の一実施形態に係る典型的なデバイスの操作手順を示す概略図である。
【図7】本発明の一実施形態に従って入力データ候補に関するプロンプトがユーザに出される様子を示す概略図である。
【図8】本発明の一実施形態に従って現在の入力フィールドに自動入力される入力データの概要を示す概略図である。
【図9】本発明の一実施形態に従って現在のユーザの入力値の有効性を検証する様子を示す概略図である。
【図10】本発明の一実施形態に従って異なるアプリケーション間の各入力フィールドの内容を処理/出力する様子を示す概略図である。
【図11】本発明の一実施形態に係るコンテキスト・アウェアな入力データを提供するための方法を示す概略フローチャートである。
【図12】図11に示した外部制約を生成するステップの一実施形態の詳細を示す概略フローチャートである。
【図13】図11に示した入力データを提供するステップの一実施形態の詳細を示す概略フローチャートである。
【図14】図11に示した入力データを提供するステップの一実施形態の詳細を示す概略フローチャートである。
【発明を実施するための形態】
【0014】
本発明の諸実施形態によれば、コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための方法及び装置が提供される。以下、添付図面を参照しながら本発明の各実施形態について詳細に説明する。
【0015】
様々なアプリケーションの入力フィールドに対して毎日入力を行う必要がある特定のユーザがアプリケーションに対する情報入力を長い時間にわたって繰り返し実行するときは、ユーザの入力挙動が予測可能であること、即ち、特定の期間中にユーザによって入力されるデータが類似性を有することが想定される。理想的には、ユーザによってアプリケーションに入力されるデータが高い類似性を有すること、あるいは手動入力又はオペレーティング・システムの「Ctrl+C/Ctrl+V」コピー/ペースト操作に完全に依存するのではなく各入力が「入力データ・プール」から選択可能となることが想定され得る。
【0016】
本発明のいくつかの実施形態に係る方法は、少なくとも1つのアプリケーションの少なくとも1つの入力フィールドに関する外部制約を事前生成するステップと、前記外部制約に基づいてコンテキスト・アウェアな入力データを現在使用中のアプリケーションの少なくとも1つの入力フィールドに提供するステップと、を含む。本例で述べる外部制約とは、単一の入力フィールドに関する入力データに課される事前生成される外部制約、及び2つ以上の入力フィールドに関する入力データ間の連関関係に課される事前生成される外部制約を指す。事前生成されるこれらの外部制約は、アプリケーションに局所的に記憶することも、他のユーザと共用するために専用サーバ又は汎用サーバのデータベースに記憶することもできる。
【0017】
図1は、本発明の一実施形態に係る方法が実施され得るアプリケーション環境の概要100を示す概略図である。図1に示すように、ユーザは、デスクトップ・コンピュータ110‐1、ラップトップ・コンピュータ110‐2、パネル・コンピュータ110‐3、携帯情報端末(PDA)110‐4、モバイル端末110‐nのような様々なタイプのユーザ端末において本発明に係る方法を利用することができる。
【0018】
本発明の諸実施形態によれば、事前生成される外部制約は、様々なアプリケーションを実行するユーザ端末に局所的に記憶することができ、更には各ユーザが各々のユーザ端末110‐1〜110‐nからネットワーク130を介して外部制約にアクセスすることが可能となるように専用サーバ120に記憶することもできることに留意していただきたい。更に、本発明の諸実施形態によれば、外部制約は、ユーザ端末の外部に存在する少なくとも1つの専用サーバ又は汎用サーバ内に集中的に配置することも分散的に配置することも可能であることに留意していただきたい。
【0019】
以下では図2乃至図5を参照して、本発明の諸実施形態に従って入力データを提供する操作について詳細に説明する。図2乃至図5は、典型的なアプリケーションの様々な入力フィールドの例を示す概略図である。本発明の一実施形態によれば、入力フィールドは、図2に示すようなアプリケーション内のテキスト入力ボックス202であってよい。この場合、入力フィールドは、データ入力用のテキスト入力ボックスに限定されるわけではなく、必ずしもそれだけに限定されるわけではないが、ラジオ・ボタン(図3の204)、チェック・ボックス、ドロップ・ダウン・メニュー(図3の206)、選択メニュー、テキスト入力フィールド、データ入力用の様々なデータ・フィールド、アプリケーション内の各ページ(図4のタブ208)、及び個々の電子データ・シート(例えば図5に示すExcelシート210や電子作表ツールの他の任意のシート)を含む可能性がある。
【0020】
本発明に係る方法は、様々な言語インターフェースのアプリケーションに適用可能であることに留意していただきたい。例えば、入力フィールド「国家」及び入力フィールド「country」は、異なるアプリケーションで実際には同じ意味を表すため、これらの入力フィールド間の外部制約を事前定義することが可能となる。即ち、本発明に係る方法は、各アプリケーションで使用される言語又はユーザによって入力される言語のタイプに限定されない。そうではなく、本発明に係る方法は、1つ又は複数のアプリケーションの1つ又は複数の入力フィールドに課される外部制約がユーザによって事前定義されている限り、任意の言語に適用可能である。
【0021】
図6は、本発明の一実施形態に係る典型的なデバイスの操作手順300を示す概略図である。ブロック310‐1〜310‐mは、複数のアプリケーションを示す。本発明に係るデバイスは、これらの複数のアプリケーションの入力フィールドに関するデータを提供することができる。図6の右側に示すように、本発明に係るデバイスは、2つの部分、即ち提供コンポーネント320及び生成コンポーネント330を備えることができる。生成コンポーネント330は、第1の外部制約を生成する第1の生成コンポーネント332と、第2の外部制約を生成する第2の生成コンポーネント334と、を備える。構成データ・レポジトリ336及び入力データ・レポジトリ338は、生成コンポーネント330内に位置することもリモート・サーバ内に位置することもある。
【0022】
本発明の一実施形態によれば、第1の生成コンポーネント332及び第2の生成コンポーネント334は、外部制約の事前生成手順においてアプリケーション310‐1〜310‐mに関する入力を取得する(矢印A参照)。入力の取得手法は複数存在する。例えば、1)キーボード・イベントを監視することによってユーザ入力が取得される、即ち、ユーザがキーボード・キーを押下するたびに押下されたキーに関する情報が同時に又は即時に取得され、押下された各キーに関する情報を組み合わせて現在の入力フィールドに関する入力が形成される;2)現在の入力フィールドのすべての内容がユーザによって入力された後、現在の入力フィールドから全体の入力情報が取得される。2つ目の手法を採用する利点は、ユーザがキーを押下するたびに取得される情報を保存又は処理する必要がないこと、及びユーザが入力を完了させた後にすべての入力データが一時に収集されることである。このようにすれば、ユーザが入力フィールドに最終的に入力したい情報を煩雑な文字入力なしに取得することが可能となる。この利点は、例えばユーザが中国語入力方法を利用する状況で極めて顕著となる。ユーザが「中国」と入力したいときは、頭文字による簡易ピンインをサポートするいくつかの入力方法で「zhongg」と入力しスペース・バーを押下するだけで、入力値「中国」を取得することが可能となる。この時点で監視されるキーボード・イベントは、5つの連続する文字「zhongg」及びスペース・バーの押下というイベントである。
【0023】
本発明の諸実施形態によれば、外部制約を事前生成するステップは更に、アプリケーションの識別を識別するステップと、入力フィールドの識別を識別するステップと、を含む。例えば、Windows(R)API又は他の手段を使用することにより、アプリケーションID及び入力フィールドIDを識別として取得することができる。後続の処理手順において、アプリケーションIDと入力フィールドIDは共に入力フィールドを区別する識別子として使用される。更に、本発明の諸実施形態によれば、アプリケーション内のページの識別も取得され得る。
【0024】
図6に示す第1の生成コンポーネント332は、単一の入力フィールドに対する入力データに関する第1の外部制約を事前生成するのに使用される。第1の外部制約とは、アプリケーション内の入力フィールドの内容に課される制限を指す。例えば、入力フィールド「product model」(製品モデル)の入力値は、製品リスト内に存在する特定のモデルに制限され、入力フィールド「zip code」(郵便番号)の入力値は、数値型の6桁の整数に制限され、入力フィールド「country」(国)の入力値は、特定の国名に制限される。
【0025】
第2の生成コンポーネント334は、2つ以上の入力フィールドの入力データ間の関連付けに関する第2の外部制約を事前生成するのに使用される。第2の外部制約とは、(同じ又は異なるアプリケーションにおける)異なる入力フィールド間の関係に課される制限を指す。例えば、同じアプリケーションは、「City」(都市)、「Country」(国)、「Area Code」(市外局番)、「Zip Code」(郵便番号)といった入力フィールドを含む可能性がある。これらの入力フィールドは関連性を有することが理解されるだろう。フィールド「City」の入力値が判定されると、入力フィールド「Country」、「Area Code」、及び「Zip Code」の内容を判定することが可能となる。これらの入力フィールド間の第2の外部制約を定義することが可能となる。別の例として、中国語インターフェースでは、あるアプリケーションは「城市」(都市)、「国家」(国)、
【数1】


(市外局番)、及び、
【数2】


(郵便番号)といった入力フィールドを有し、別のアプリケーションは「City」、「Country」、「Area Code」、及び「Zip Code」という入力フィールドを有する。そのため、これらの2つのアプリケーションの対応するフィールドに関する第2の外部制約を定義することが可能となる。例えば、第2の外部制約は、以下の表1の形で定義される。表1は単なる例示であり、外部制約は、本発明の諸実施形態に従って実行可能なものであればどのような形で定義されてもよいことを理解していただきたい。
【表1】

【0026】
特定の入力フィールドについては、第1/第2の外部制約が存在しないことも、より多くの第1/第2の外部制約が存在することもあることに留意していただきたい。例えば、入力フィールド
【数3】


(郵便番号)は、以下の制約、即ち、入力データを6桁の整数として定義する第1の外部制約と、
【数4】


(郵便番号)と「城市」(都市)、「国家」(国)、及び、
【数5】


(市外局番)とを関連付ける第2の外部制約と、
【数6】


(郵便番号)と別のアプリケーションの入力フィールド「Zip Code」とを関連付ける第3の外部制約と、を有する可能性がある。
【0027】
本発明の諸実施形態によれば、構成データ・レポジトリ336は、事前生成された外部制約を記憶するのに使用され、入力データ・レポジトリ338は、正規ベンダーのリストのようなユーザ入力された履歴レコード又は事前定義されたデータ・レポジトリ、即ちアプリケーション内の入力フィールドに関してユーザによって入力されたデータを記憶するのに使用される。生成手順において、第1の生成コンポーネント332及び第2の生成コンポーネント334は、図6の矢印Bで示されるように、生成された外部制約及び取得された履歴入力データをそれぞれ構成データ・レポジトリ336及び入力データ・レポジトリ338に保存する。
【0028】
本例で述べる外部制約は事前生成されるため、本発明に係る方法を使用して入力データが提供されるたびに初期化手順を実行しなければならないわけではないことに留意していただきたい。事前生成される外部制約は、複数のユーザと共用するためにリモート・サーバに保存することができる。ユーザの様々なユーザ・クラスに関して様々な外部制約が生成され得る。更に、ユーザは、リモート・サーバから共通の外部制約にアクセスする一方で、自身の個人情報に従ってカスタマイズされるプライベート外部制約をクライアント端末のローカルに保存することもできる。
【0029】
本発明の諸実施形態によれば、外部制約が生成された後、現在のアプリケーションの使用中に当該アプリケーションに関する外部制約の構成を動的に修正することができ、例えば新しい外部制約を追加すること、古くなった外部制約を削除すること、既存の外部制約を更新すること等が可能となる。また、外部制約は、終始変更されないわけではなく、むしろ本発明に係る方法の使用手順全体にわたって継続的に完成され得るものである。即ち、外部制約の生成手順は、何度も修正を受ける周期的な更新手順であり得る。
【0030】
次に図6を参照して、外部制約に基づいてコンテキスト・アウェアな入力データを現在のアプリケーションの少なくとも1つの入力フィールドに提供する手順について説明する。図6に示すように、提供コンポーネント320は、各アプリケーションからアプリケーションID、入力フィールドID、及び現在のユーザ入力値を取得するためにアプリケーション310‐1〜310‐mと結合されている。提供コンポーネント320は、矢印Cで示されるように構成データベース336及び入力データベース338の照会を行った後、コンテキスト・アウェアな入力データを矢印Dで示される方向にアプリケーション310‐1〜310‐mの対応する入力フィールドに提供する。
【0031】
次に図7乃至図10を参照して、本発明の様々な実施形態に従ってコンテキスト・アウェアな入力データをアプリケーションの入力フィールドに提供する手法に関する操作インターフェースについて詳細に説明する。入力データを提供するステップは、アプリケーションの識別及び現在の入力フィールドの識別を識別し、現在の入力値を取得するステップと、上記データに基づいて現在の入力値と関連付けられ外部制約で定義されるデータを入力データとして提供するステップと、を含む。入力データを提供する本手順では、識別されたアプリケーションの識別、入力フィールドの識別、及び現在の入力値は、対応する外部制約を検索するキーワードとして使用され得る。
【0032】
また、アプリケーションが複数のページを含む(例えば図4に示すように複数のタブを含む)場合は、アプリケーションのページ識別を識別する必要があり、入力データは、アプリケーションの識別、ページ識別、入力フィールドの識別、及び現在の入力値に基づいて提供される。他のアプリケーションでは、現在の入力フィールドの場所を一意に突き止める目的で、アプリケーションの識別及び入力フィールドの識別以外の識別を識別することが必要となる可能性もある。
【0033】
図7は、本発明の一実施形態に従って入力データ候補に関するプロンプトがユーザに出される様子を示す概略図である。特定の入力フィールドに関するプロンプトは、例えば複雑な文字列又は覚えづらい文字列を覚えやすいフレーズを使用して表現することにより、又は比較的長い入力を略語を使用して表現することにより、外部制約間で事前構成することができる。
【0034】
例えば、オーダー・システムでは、フィールド「Vendor ID」の入力値は特定のベンダーの番号に制限されるが、これらの番号は覚えるのが困難である可能性がある。本発明に係る方法では、文字列「CompanyA」及び「CompanyB」はそれぞれベンダー番号「9878987」及び「1273645」を表すことが外部制約において事前定義される。図7に示すように、入力フィールド「Vendor ID」に「Company」が入力されたことが検出されたときは、そのユーザ入力に対応するベンダー番号がユーザ選択候補としてプロンプト・ボックス402内に示される。
【0035】
本発明の一実施形態において、ユーザは、プロンプト表示される入力データを利用することにより、例えば選択用の数字キー又は上下キーを使用して現在の入力フィールドの修正又は入力を行うことが可能となる。
【0036】
本発明の一実施形態では、上記入力データを利用して、現在の入力フィールド及び現在の入力フィールドと外部制約関係を有する少なくとも1つの他の入力フィールドの修正又は自動入力を行うことができる。具体的には、図8は、本発明の一実施形態に従って現在の入力フィールドに自動入力される入力データの概要を示す概略図である。上述のように、アプリケーション内のフィールド「City」、「Country」、「Telephone」、及び「Zip Code」に関する外部制約は、事前に定められている。即ち、これらの入力フィールドは連関関係を有する。ユーザがこれらのフィールドのいずれかに入力値を入力したときは、外部制約から他のフィールドの入力位置を突き止めることができ、他の入力フィールドの自動入力を行うことが可能となる。
【0037】
例えば、図8に示すように、ユーザはフィールド「City」に「Beijing」を入力する。外部制約から、「Beijing」は中国の都市であること、市外局番は「+86-010」であること、郵便番号は「100000」であることが分かる。それ故、これらの入力値を対応する入力フィールドに自動入力することが可能となる(自動入力後のインターフェースは図8に示すとおり)。ユーザがいずれかの入力フィールドに対して入力を行った後は、インターフェース内の入力フィールドの順序に関わらず、当該入力フィールドに関連する他の入力フィールドの入力値の「関連付け」を行うことができることに留意していただきたい。例えば、ユーザが「Zip Code」に「100000」を入力したときは、外部制約に従って「100000」が「Beijing」の郵便番号であること、「Beijing」が中国の都市であること、市外局番が「+86-010」であることが分かる。したがって、これらの値は対応する入力フィールドに自動入力される。
【0038】
本発明の諸実施形態によれば、「関連付け」を利用することにより、入力された入力値を修正すること、あるいは現在の入力データに存在する可能性があるエラーに関するプロンプトを出すことが可能となる。
【0039】
本発明の一実施形態によれば、現在のユーザ入力値の有効性を検証することができる。内容が厳格に制限されるいくつかの入力フィールドに関しては、入力値の正当性を保証する必要があり、したがって入力が有効であるかどうかを検証するツールを提供する必要がある。入力の有効性の検証は、強制的(mandatory)検証と、示唆的(suggestive)検証又は他の検証様式とに分類することができる。強制的検証は、製品番号やベンダー番号等、比較的制約が厳しい入力フィールドについて使用され得る。ユーザ入力値が無効である場合は、入力値が無効であることを知らせるプロンプトがユーザに出され(図9のプロンプト・ボックス404参照)、このプロンプトはユーザが有効な値を入力するまで維持される。示唆的検証は、比較的制約が緩い入力フィールドについて使用され得る。無効なユーザ入力が存在する可能性があることが検出されたときは、現在の入力値が正しいかどうかをチェックするようユーザに促すアラートがユーザに出される。
【0040】
本発明の一実施形態によれば、第1のアプリケーション内の少なくとも1つの入力フィールドの入力値を処理し、その入力値に関連する情報を第2のアプリケーション内の少なくとも1つの対応する入力フィールドに対して処理/出力することが可能となる。図10は、本発明の一実施形態に従って異なるアプリケーション間の各入力フィールドの内容を処理/出力する様子を示す概略図である。
【0041】
インターフェース410及び420は、それぞれ第1のアプリケーション及び第2のアプリケーションのインターフェースを示す。これらの2つのアプリケーション内の各入力フィールドに関する外部制約は、事前定義されている。即ち、これらの2つのアプリケーションでは、同じ名前を有する入力フィールドは同じ入力データを有すると考えられる。それ故、外部制約を有し且つユーザによって第1のアプリケーションに入力されるすべての入力値を第2のアプリケーション内の対応する入力フィールドに対して完全に処理/出力することが可能となる。複数のアプリケーションの入力フィールドの名前は、必ずしも互いに同一であるとは限らないことを理解していただきたい(例えば「telephone」(電話)と「telephonenumber」(電話番号)である可能性もある)。
【0042】
インターフェース430は、第1のアプリケーション410からの入力データの処理/出力結果として得られるインターフェースを示す。ユーザは、ショートカット・キー、ファンクション・ボタン、又は他の様式を利用して、外部制約を有する入力フィールド間の入力データの処理/出力を行うことができる。例えば、図10は、処理/出力前後の入力フィールド「telephone」412、422、及び432の入力値を示している。
【0043】
上記の実施形態の「処理/出力(process/output)」操作は、従来技術の「コピー/ペースト」操作よりも多くの機能を実現する「スーパー・コピー/ペースト」操作としてある程度解釈することができる。本発明の上記の実施形態に係る「処理/出力」操作は、例えばWindowsオペレーティング・システムの「Ctrl+C/Ctrl+V」機能に限定されるものではなく、事前定義される外部制約に従って実施される複雑な操作も含むことができる。本発明の諸実施形態によれば、アプリケーション内の入力データを処理し、処理されたデータを関連する入力フィールドに対して処理/出力することが可能となる。本発明の「処理/出力」操作の他の例示的な実施例を以下に示す。
【0044】
(実施例1)
第1のアプリケーションは、入力フィールド「unit price」(単位価格)及び「amount」(量)を含み、第2のアプリケーションは、入力フィールド「total price」(総額)のみを含む。このとき、これらのアプリケーションの入力フィールド間の外部制約は、入力値が次式を満足するように定めることができる。
totalprice=unit price×amount
【0045】
ユーザが第1のアプリケーションの「unit price」に「100」を入力し、「amount」に「10」を入力した場合に、ユーザが「処理/出力」操作を実行したときは、第2のアプリケーションの入力フィールド「total price」に「1000」が入力され得る。
【0046】
(実施例2)
第1のアプリケーションは、2つの入力フィールド、即ち「area code」及び「telephone number」を含み、第2のアプリケーションは、入力フィールド「telephone」のみを含む。このとき、これらの2つのアプリケーションの入力フィールド間の外部制約は、第2のアプリケーションのフィールド「telephone」の入力データが第1のアプリケーションの2つのフィールド「area code」及び「telephone number」の入力データの文字列接続となり、ダッシュ「-」を分離文字として使用するように定めることができる。
【0047】
ユーザが第1のアプリケーションの「area code」に「+86-010」を入力し、「telephone number」に「12345678」を入力した場合に、ユーザが「処理/出力」操作を実行したときは、第2のアプリケーションの入力フィールド「telephone」に入力データ「+86-010-12345678」が入力され得る。
【0048】
(実施例3)
第1のアプリケーションは、英語インターフェース表示を利用することができ、入力フィールド「City」を含み、第2のアプリケーションは、中国語インターフェース表示を利用することができ、入力フィールド「城市」を含む。これらの2つのアプリケーションの入力フィールド間の外部制約は、ユーザがフィールド「City」に英語の都市名を入力したときに、入力された都市の中国語名が第2のアプリケーションのフィールド「城市」に自動入力されるように定めることができる。
【0049】
例えば、ユーザがフィールド「City」に「Beijing」を入力したときは、フィールド「城市」(City)に「北京」(Beijing)が自動入力される。
【0050】
上記の例は、本発明に従って実施され得る「処理/出力」操作の非限定的な例を示すものにすぎないことに留意していただきたい。第1のアプリケーションの入力フィールドをある操作の入力として使用し、第2のアプリケーションの対応する入力フィールドに対する結果の出力を他の外部制約に基づいて行うことも可能である。このような操作には、必ずしもそれだけに限定されるわけではないが、数学的操作、論理的操作、文字操作、及び他のタイプの実行可能な操作が含まれる。本発明の諸実施形態によれば、少なくとも1つのアプリケーションの入力フィールドの入力値が入力として使用され、且つコンテキスト・アウェアな入力データが少なくとも1つのアプリケーションの入力フィールドに提供されるように、複数のアプリケーションの入力フィールド間の外部制約を定めることができる。
【0051】
図11は、本発明の一実施形態に係るコンテキスト・アウェアな入力データを提供するための方法を示す概略フローチャート500である。図11に示すように、ステップS502で、少なくとも1つのアプリケーションの少なくとも1つの入力フィールドに関する外部制約が事前生成される。外部制約を生成する本ステップは、現在のユーザとは独立した管理者又は他の人物によって実行され得る前処理ステップであってもよいことに留意していただきたい。生成された外部制約は、ユーザがアクセス可能なストレージ位置に記憶される。
【0052】
ステップS504では、これらの外部制約に基づいて、コンテキスト・アウェアな入力データが現在使用中のアプリケーションの少なくとも1つの入力フィールドに提供される。本発明の諸実施形態によれば、コンテキスト・アウェアな入力データは、図7乃至図10を参照して上述したように、入力データ候補を提供すること、現在の入力フィールドの修正又は自動入力を行うこと、現在の入力値の有効性を検証すること、及び「処理/出力」プロセスを含めた様々な様式で提供することができる。
【0053】
図12は、図11に示した外部制約を生成するステップS530の一実施形態の詳細を示す概略フローチャート600である。外部制約はそれぞれ、入力フィールド自体に関する第1の外部制約、及び入力フィールド間の関連付けに関する第2の外部制約とすることができる。比較的単純な第1の外部制約は、フィールド内容自体の制限に関するものであり、当業者なら第1の外部制約の様々な実施形態を容易に実現することができるだろう。それ故、以下では第2の外部制約を定めるコンテキストにおいて外部制約を事前生成する手順について説明する。
【0054】
まず、ステップS602で、少なくとも1つのアプリケーションの識別が識別される。ステップS604で、少なくとも1つのアプリケーションの少なくとも2つの入力フィールドの識別が識別される。ステップS606で、少なくとも1つのアプリケーションの少なくとも2つの入力フィールドの各入力値が識別される。ステップS608で、少なくとも1つのアプリケーションの識別と、少なくとも1つのアプリケーションの少なくとも2つの入力フィールドの各識別と、少なくとも1つのアプリケーションの少なくとも2つの入力フィールドの各入力値との間の連関関係が定められる。本発明の一実施形態では、ページ識別を取得する追加的な操作が必要となることに留意していただきたい。
【0055】
以下、複雑な「処理/出力」プロセスのコンテキストにおいて入力データを提供する、本発明の諸実施形態に係る操作手順について詳細に説明する。「処理/出力」操作と比べると、コンテキスト・アウェアな入力データを提供する他の方法は比較的単純である。それ故、本明細書を読んだ当業者であれば他の実施形態の実施も容易であるだろう。
【0056】
ここで再び「処理/出力」操作に関する図10を参照する。図10に示すように、例えば第1のアプリケーション410の入力フィールド「Telephone」412と、第2のアプリケーション420の入力フィールド「Telephone」422とが識別され、これらの2つの入力フィールド間の「処理/出力」の外部制約が以下の表に示すように定められる。
【表2】


【表3】


【表4】

【0057】
上記の表2乃至表4は、第1のアプリケーション410の入力フィールド412を第2のアプリケーション420の入力フィールド422に対して処理/出力するための外部制約を示す。また、各外部制約は、第1及び第2のアプリケーション内の他の入力フィールドの場合と同様に、それらの外部制約を使用することによって第1のアプリケーション内のすべての入力フィールドを第2のアプリケーション内の対応するフィールドに対して「処理/出力」することが可能となるように定義することができる。
【0058】
次に図13及び図14を参照して、一実施形態における「処理/出力」操作のフローを説明する。「処理/出力」外部制約が定義された後は、入力内容を第1のアプリケーションから第2のアプリケーションに対して「処理/出力」することが可能となる。図13は、(「スーパー・コピー」としてある程度理解される)「処理」操作の一実施形態の詳細を示す概略フローチャートである。このフローは、本発明に係る「処理/出力」プロセスを開始するためのステップS702aに示されるホット・キー処理から開始する。本例で述べるホット・キー処理は、本発明の諸実施形態に従って定義されるショートカット・キー(例えばオペレーティング・システムのショートカット・キー「Ctrl+C」と区別するために「Ctrl+Shift+C」又は他のショートカット・キーとして定義され得る)の処理であっても、「処理」機能をアクティブ化する他のボタン又はメニューの処理であってもよいことに留意していただきたい。
【0059】
次にステップS704aで、アプリケーション識別及びページ識別、本例ではそれぞれ「App-001」及び「Page-001」が取得される。ステップS706aで、現在のページの処理/出力に関する外部制約が存在するか否かがチェックされる。存在しない場合には操作フローは終了し、存在する場合にはステップS708aに進んで現在のページに関連する処理/出力データが外部制約に基づいてロードされる。
【0060】
図13に示すフローチャートの終了時点の状態は、ユーザが単に様々な入力フィールドの入力データをロードしただけである(オペレーティング・システムの「クリップボードにコピー」操作と同様)。図14は、「出力」操作の一実施形態の詳細を示す概略フローチャートである。ステップS702aにおけるホット・キーの出力の場合と同様に、ステップS702bでホット・キー出力機能が開始される。続いてステップS704bで、アプリケーション識別及びページ識別、即ち(現在アクティブ状態にある)第2のアプリケーションのアプリケーションID「App-002」及びページ識別「Page-002」が取得される。次にステップS706bで、ターゲット・ページの処理/出力に関する外部制約が存在するか否かがチェックされる。存在しない場合にはフローは終了し、存在する場合にはステップS708bに進む。
【0061】
上述のとおり、外部制約は現在の処理/出力プロセスに既に存在するので(表3参照)、ステップS708bの外部制約で示されるように、データ・ソース(即ち、ソース・アプリケーション「App-001」、ソース・ページ「Page-001」、ソース・フィールド「Telephone」)からデータが取得される。ステップS701bで、取得されたデータは、それぞれターゲット・アプリケーション、即ちターゲット・アプリケーション「App-002」、ターゲット・ページ「Page-002」、及びターゲット・フィールド「Telephone」の対応する各入力フィールドに提供される。この時点で、第2のアプリケーション内のフィールド「Telephone」の入力値は、第1のアプリケーション内のフィールド「Telephone」の入力値、即ち「1234567890」(図10参照)と同じになる。
【0062】
アプリケーション内の他の入力フィールドの「処理/出力」操作に関しても、操作フローは上述したのと同様であるため、詳細な説明は省略する。本発明の一実施形態によれば、例えば処理/出力対象となる入力フィールドをグループに分け、各グループの処理/出力操作を定義することにより、アプリケーション内の複数の入力フィールドの処理/出力手順を最適化することができる。
【0063】
本発明の諸実施形態に係る「処理/出力」操作は、従来の意味での単なるコピーではなく、事前定義される外部制約に基づくアプリケーションの各入力フィールド間のマッピング関係を有することに留意していただきたい。2つのアプリケーションの入力フィールド間の1対1の対応において入力データを処理/出力する例を提示したが、本発明に係る処理/出力プロセスは、必ずしもそれだけに限定されるわけではないが、数学的操作、論理的操作、文字操作、及び他のタイプの実行可能な操作を含み得ることを理解していただきたい。
【0064】
図13及び図14の「ホット・キー処理」操作及び「ホット・キー出力」操作は、因果関係を有する2つの順次操作であることを理解していただきたい。ユーザが第1のアプリケーションのホット・キー処理機能をトリガすると、外部制約が定義された第1のアプリケーション内の入力フィールドの入力データがロードされる。ユーザが第2のアプリケーションに切り替えたときは、ホット・キーをトリガすることによりロードされた入力データを第2のアプリケーションの対応する入力フィールドに提供することが可能となる。
【0065】
本発明の一実施形態によれば、「双方向」マークを設定することにより第1のアプリケーションと第2のアプリケーションとの間でデータを処理/出力することが可能となる、即ち、処理/出力が双方向で実施されるようになることを理解していただきたい。
【0066】
図13及び図14に示す上記の「処理/出力」操作は、「スーパー・コピー」及び「スーパー・ペースト」として理解することができる。本発明の諸実施形態によれば、「スーパー・コピー」操作及び「スーパー・ペースト」操作は、少なくとも1つのアプリケーションの複数の入力フィールドの入力値に関して実施することができる。当業者なら、図13及び図14に示す各ステップを参照すればこれらの操作を実行することができるだろう。
【0067】
例えば、第1のアプリケーションのページが入力フィールド「unit price」及び「amount」を含み、ユーザは、第1のアプリケーションの「unit price」に「100」を入力し、「amount」に「10」を入力する。また、ユーザは、入力データ「1000」が第2のアプリケーションの入力フィールド「total price」に自動入力されることを望むとする。図13のステップS706aと同様に、ここでも現在のページの「処理/出力」に関する外部制約が存在するか否かがチェックされ、また、外部制約が「total price = unit price × amount」であることは既知である。図13のステップS708aと同様に、現在のページの「処理/出力」に関連するマッピング・データ(即ち、100 × 10 = 1000)がロードされる。図14に示すステップと同様に、入力データ「1000」は、第2のアプリケーションのページ内の入力フィールド「total price」に入力される。ここでは詳細な説明は省略する。
【0068】
本発明の諸実施形態によれば、スタンドアロン・ツールを利用してコンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための方法を提供することが可能となる。このスタンドアロン・ツールは、ユーザのクライアント端末で使用することができる。
【0069】
本発明は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれらの組み合わせの形で実施することができる。本発明は、任意の適切なデータ処理システムで使用される信号搬送媒体上に配置されるコンピュータ・プログラム製品の形で実施することも可能であることが当業者には理解されるだろう。かかる信号搬送媒体は、機械読取り可能な情報用に使用される磁気媒体、光媒体、又は他の適切な媒体を含めた伝送媒体又は記録可能媒体であってよい。記録可能媒体の例としては、ハード・ディスク・ドライブ内のフレキシブル・ディスク又は磁気ディスク、光学ドライブ用の光ディスク、磁気テープ、及び当業者によって考えられ得る他の媒体が挙げられる。伝送媒体の例としては、音声通信に使用される電話ネットワーク、及びイーサネット(R)やインターネット・プロトコル及びワールド・ワイド・ウェブによって通信するネットワークのようなデジタル・データ通信ネットワークが挙げられる。
【0070】
上記の説明を読めば、本発明の真の趣旨から逸脱しない限り本発明の各実施形態に様々な修正及び変更を施すことが可能であることが理解されるはずである。本明細書の説明は、例示的なものであって限定的なものではない。本発明の範囲は、添付の特許請求範囲によってのみ限定されるものである。
【符号の説明】
【0071】
110‐1〜110‐n ユーザ端末
120 専用サーバ
130 ネットワーク
202 テキスト入力ボックス
204 ラジオ・ボタン
206 ドロップ・ダウン・メニュー
208 タブ
210 Excelシート
310‐1〜310‐m アプリケーション
320 提供コンポーネント
330 生成コンポーネント
332 第1の生成コンポーネント
334 第2の生成コンポーネント
336 構成データ・レポジトリ
338 入力データ・レポジトリ
402、404 プロンプト・ボックス
410、420、430 インターフェース
412、422、432 入力フィールド

【特許請求の範囲】
【請求項1】
コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための方法であって、
少なくとも1つのアプリケーションの少なくとも1つの入力フィールドに関する外部制約を事前生成するステップと、
前記外部制約に基づいてコンテキスト・アウェアな入力データを現在使用中のアプリケーションの少なくとも1つの入力フィールドに提供するステップと、
を含む方法。
【請求項2】
前記外部制約を事前生成するステップは、
前記少なくとも1つのアプリケーションの単一の入力フィールドの入力データに関する第1の外部制約を事前生成するステップ、及び
前記少なくとも1つのアプリケーションの少なくとも2つの入力フィールドの入力データ間の連関関係に関する第2の外部制約を事前生成するステップ
のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記第1の外部制約を事前生成するステップは、
前記少なくとも1つのアプリケーションの識別を識別するステップと、
前記少なくとも1つのアプリケーションの前記単一の入力フィールドの識別を識別するステップと、
前記少なくとも1つのアプリケーションの前記単一の入力フィールドに関する事前定義された第1の外部制約を提供するステップと、
を含む、請求項2に記載の方法。
【請求項4】
前記第2の外部制約を事前生成するステップは、
前記少なくとも1つのアプリケーションの識別を識別するステップと、
前記少なくとも1つのアプリケーションの少なくとも2つの入力フィールドの各識別を識別するステップと、
ユーザから提供される前記少なくとも1つのアプリケーションの前記少なくとも2つの入力フィールドの各入力値を識別するステップと、
前記少なくとも1つのアプリケーションの前記識別と、前記少なくとも1つのアプリケーションの前記少なくとも2つの入力フィールドの前記各識別と、前記少なくとも1つのアプリケーションの前記少なくとも2つの入力フィールドの前記各入力値との間の連関関係を定めるステップと、
を含む、請求項2に記載の方法。
【請求項5】
前記入力データを提供するステップは、
前記現在使用中のアプリケーションの識別を識別するステップと、
前記現在使用中のアプリケーションの少なくとも1つの入力フィールドの識別を識別するステップと、
前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドの入力値を取得するステップと、
前記現在使用中のアプリケーションの前記識別と、前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドの前記識別と、前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドの前記入力値と、に基づいて、前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドの前記入力値と関連付けられ前記外部制約で定義されるデータを入力データとしてユーザに提供するステップと、
を含む、請求項1乃至4のいずれか一項に記載の方法。
【請求項6】
データを入力データとしてユーザに提供する前記ステップは、
前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドに関する入力データ候補を前記ユーザにプロンプト表示するステップ
を含む、請求項5に記載の方法。
【請求項7】
データを入力データとしてユーザに提供する前記ステップは、
前記入力データを使用することによって前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドの修正又は自動入力を行うステップ
を含む、請求項5に記載の方法。
【請求項8】
前記修正又は自動入力を行うステップは、
前記入力データを使用することによって前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドと外部制約関係を有する少なくとも1つの他の入力フィールドの修正又は自動入力を行うステップ
を含む、請求項7に記載の方法。
【請求項9】
データを入力データとしてユーザに提供する前記ステップは、
前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドの前記入力値の有効性を検証し、前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドに有効な入力データを提供するステップ
を含む、請求項5に記載の方法。
【請求項10】
データを入力データとしてユーザに提供する前記ステップは、
少なくとも1つの現在使用中のアプリケーションの少なくとも1つの入力フィールドの入力値を処理し、前記入力値に関連する情報をそれぞれ前記少なくとも1つの現在使用中のアプリケーションの少なくとも1つの対応する入力フィールドに出力するステップ
を含む、請求項5に記載の方法。
【請求項11】
コンテキスト・アウェアな入力データをコンピュータ・システム上で実行されるアプリケーションに提供するための装置であって、
少なくとも1つのアプリケーションの少なくとも1つの入力フィールドに関する外部制約を事前生成する生成コンポーネントと、
前記外部制約に基づいてコンテキスト・アウェアな入力データを現在使用中のアプリケーションの少なくとも1つの入力フィールドに提供する提供コンポーネントと、
を備える装置。
【請求項12】
前記生成コンポーネントは、
前記少なくとも1つのアプリケーションの単一の入力フィールドの入力データに関する第1の外部制約を事前生成する第1の生成コンポーネント、及び
前記少なくとも1つのアプリケーションの少なくとも2つの入力フィールドの入力データ間の連関関係に関する第2の外部制約を事前生成する第2の生成コンポーネント
のうちの少なくとも1つを備える、請求項11に記載の装置。
【請求項13】
前記第1の生成コンポーネントは、
前記少なくとも1つのアプリケーションの識別を識別する手段と、
前記少なくとも1つのアプリケーションの前記単一の入力フィールドの識別を識別する手段と、
前記少なくとも1つのアプリケーションの前記単一の入力フィールドに関する事前定義された第1の外部制約を提供する手段と、
を備える、請求項12に記載の装置。
【請求項14】
前記第2の生成コンポーネントは、
前記少なくとも1つのアプリケーションの識別を識別する手段と、
前記少なくとも1つのアプリケーションの少なくとも2つの入力フィールドの各識別を識別する手段と、
ユーザから提供される前記少なくとも1つのアプリケーションの前記少なくとも2つの入力フィールドの各入力値を識別する手段と、
前記少なくとも1つのアプリケーションの前記識別と、前記少なくとも1つのアプリケーションの前記少なくとも2つの入力フィールドの前記各識別と、前記少なくとも1つのアプリケーションの前記少なくとも2つの入力フィールドの前記各入力値との間の連関関係を定める手段と、
を備える、請求項12に記載の装置。
【請求項15】
前記提供コンポーネントは、
前記現在使用中のアプリケーションの識別を識別する手段と、
前記現在使用中のアプリケーションの少なくとも1つの入力フィールドの識別を識別する手段と、
前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドの入力値を取得する手段と、
前記現在使用中のアプリケーションの前記識別と、前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドの前記識別と、前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドの前記入力値と、に基づいて、前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドの前記入力値と関連付けられ前記外部制約で定義されるデータを入力データとしてユーザに提供する手段と、
を備える、請求項11乃至14のいずれか一項に記載の装置。
【請求項16】
データを入力データとしてユーザに提供する前記手段は、
前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドに関する入力データ候補を前記ユーザにプロンプト表示する手段
を備える、請求項15に記載の装置。
【請求項17】
データを入力データとしてユーザに提供する前記手段は、
前記入力データを使用することによって前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドの修正又は自動入力を行う修正入力手段
を備える、請求項15に記載の装置。
【請求項18】
前記修正入力手段は、
前記入力データを使用することによって前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドと外部制約関係を有する少なくとも1つの他の入力フィールドの修正又は自動入力を行う手段
を備える、請求項17に記載の装置。
【請求項19】
データを入力データとしてユーザに提供する前記手段は、
前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドの前記入力値の有効性を検証し、前記現在使用中のアプリケーションの前記少なくとも1つの入力フィールドに有効な入力データを提供する手段
を備える、請求項15に記載の装置。
【請求項20】
データを入力データとしてユーザに提供する前記手段は、
少なくとも1つの現在使用中のアプリケーションの少なくとも1つの入力フィールドの入力値を処理し、前記入力値に関連する情報をそれぞれ前記少なくとも1つの現在使用中のアプリケーションの少なくとも1つの対応する入力フィールドに出力する手段
を備える、請求項15に記載の装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2011−146034(P2011−146034A)
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願番号】特願2010−260479(P2010−260479)
【出願日】平成22年11月22日(2010.11.22)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】