(57)【要約】【課題】本発明は、先行技術の欠点に対処するために、代表的にはインターネットのブラウズセッション中にユーザに要求される面倒な対話の多くを自動化するためのシステムを提供すること。【解決手段】インターネットを介して発生する対話を自動化するための記録済みデータを実行するための方法およびシステムは、データベースを維持するように適合化された中央のＷｅｂサーバにデータを格納するステップを含む。データを要求するプログラムスクリプトに応答して、中央サーバにおけるコンピュータプログラムコードは、データベースから格納済みのデータを選択的に抽出し、要求に応じてデータを操作し、要求側プログラムスクリプトによって望まれる書式において操作済みのデータを供給する。【選択図】図２
2004501426.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータサーバ間のデータトランザクションを自動化するためのシステムであって、当該システムが、
そこに記録される格納済みデータを有するデータベースを維持する第一コンピュータサーバと、
要求に応答して当該格納済みデータを選択的に抽出することによって抽出済みデータを作成するためのプログラムコードと、
− 空白フォームを取得し、
−  当該空白フォームの少なくとも一部に記入するために使用すべき当該抽出済みデータを識別し、そして
−ファジー記入手順を使用して当該フォームを記入する、
うちの１つ以上のための追加のプログラムコードであって、それがリモートコンピュータ端末からの要求に応答するプログラムコードとを
有するシステム。
【請求項２】
当該抽出済みデータが、当該空白フォーム内の全フィールドのデータを含む、請求項１のシステム。
【請求項３】
当該空白フォームが、第二コンピュータサーバから取得される、請求項１のシステム。
【請求項４】
当該空白フォームがログインフォームである、請求項１のシステム。
【請求項５】
当該空白フォームが登録フォームである、請求項１のシステム。
【請求項６】
当該第一コンピュータサーバが、当該抽出済みデータを使用して当該空白フォームを記入することによって記入済みフォームを作成することを可能にする、請求項１のシステム。
【請求項７】
当該プログラムコードが、当該記入済みフォームを第二コンピュータサーバに送信するための命令を含む、請求項６のシステム。
【請求項８】
当該第一コンピュータサーバに維持される追加のデータベースであって、当該追加データベースが、そこに記録される格納済みフォームデータを有し、当該格納済みフォームデータが、少なくとも１つの他のコンピュータサーバによって要求されるフォームに関連する、データベース
を、さらに、有する、請求項１のシステム。
【請求項９】
当該追加プログラムコードが、当該空白フォーム内のデータフィールドと、当該追加データベースに記録されている当該格納済みフォームデータとを比較するための命令を含む、請求項８のシステム。
【請求項１０】
当該ファジー記入手順を使用して当該空白フォームを記入することによって記入済みフォームを作成するために、当該空白フォーム内のデータフィールドと当該格納済みフォームデータとの当該比較の結果を使用する、フォーム記入プログラム命令
をさらに、有する、請求項９のシステム。
【請求項１１】
当該記入済みフォームを第二コンピュータサーバに自動的に送信するために、当該フォーム記入プログラム命令の結果を使用する、フォーム送信プログラム命令
を、さらに、有する、請求項１０のシステム。
【請求項１２】
当該格納済みフォームデータが、当該少なくとも１つの他のコンピュータサーバからの解析済みフォームデータを含む、請求項８のシステム。
【請求項１３】
当該追加プログラムコードが、さらに、
当該空白フォームの少なくとも一部に記入するために使用すべき当該抽出済みデータを識別するために、当該空白フォームを解析するための命令
を含む、請求項１のシステム。
【請求項１４】
コンピュータサーバ間のデータトランザクションを自動化する方法であって、当該方法が、
そこに記録される格納済みデータを有するデータベースを第一コンピュータサーバに維持するステップと、
要求に応答して当該格納済みデータを選択的に抽出するステップと、
空白フォームを取得するステップと、
当該空白フォームの少なくとも一部に記入するために使用すべき当該格納済みデータを識別するために、当該空白フォームを解析するステップと、
当該抽出の結果を使用して当該空白フォームのフィールドに記入することによって記入済みフォームを作成するステップであって、当該記入済みフォームの作成がオプションとしてファジー記入手順を使用する、ステップと、
を有する、方法。
【請求項１５】
当該抽出するステップが、当該空白フォーム内の全フィールドのデータを抽出するステップを含む、請求項１４の方法。
【請求項１６】
空白フォームを取得する当該ステップが、第二コンピュータサーバからフォームデータを受信するステップを含む、請求項１４の方法。
【請求項１７】
空白フォームを取得する当該ステップが、第二コンピュータサーバからログインフォームデータを受信するステップを含む、請求項１４の方法。
【請求項１８】
空白フォームを取得する当該ステップが、第二コンピュータサーバから登録フォームデータを受信するステップを含む、請求項１４の方法。
【請求項１９】
当該記入済みフォームを第二コンピュータサーバに自動的に送信するステップを、さらに、有する、請求項１４の方法。
【請求項２０】
当該第一コンピュータサーバに追加データベースを維持するステップであって、当該追加データベースが、そこに記録される格納済みフォームデータを有し、当該格納済みフォームデータが、少なくとも１つの他のコンピュータサーバによって要求されるフォームに関連する、ステップ
を、さらに、有する、請求項１４の方法。
【請求項２１】
当該解析するステップが、当該空白フォーム内のデータフィールドと、当該追加データベースに記録されている当該格納済みフォームデータとを比較するステップを含む、請求項２０の方法。
【請求項２２】
追加データベースを維持する当該ステップが、当該少なくとも１つの他のコンピュータサーバからのフォームデータを解析するステップを含む、請求項２０の方法。
【請求項２３】
コンピュータ間のデータトランザクションを自動化するためのシステムであって、当該システムが、
そこに記録される格納済みデータを有するデータベースを維持する第一コンピュータと、
第二コンピュータからの要求に応答して当該格納済みデータを選択的に抽出することによって抽出済みデータを作成するための、当該第一コンピュータにおけるプログラムコードと、
− 空白フォームを取得し、
−当該空白フォームの少なくとも一部に記入するために使用すべき当該抽出済みデータを識別し、
−当該空白フォームと当該抽出済みデータを当該第二コンピュータに転送し、そして
−ファジー記入手順を使用して当該空白フォームを記入する、
うちの１つ以上のための、当該第一コンピュータにおける追加のプログラムコードであって、当該空白フォームが第三コンピュータから取得される、プログラムコードとを、
を有する、システム。
【請求項２４】
当該追加プログラムコードが、
当該空白フォームの少なくとも一部に記入するために使用すべき当該抽出済みデータを識別するために、当該空白フォームを解析するための命令
を含む、請求項２３のシステム。
【請求項２５】
当該抽出済みデータが、当該空白フォーム内の全フィールドのデータを含む、請求項２３のシステム。
【請求項２６】
当該空白フォームが、ファジー記入手順を使用して記入される、請求項２３のシステム。
【請求項２７】
当該空白フォームがログインフォームである、請求項２３のシステム。
【請求項２８】
当該空白フォームが登録フォームである、請求項２３のシステム。
【請求項２９】
当該空白フォームを記入するために当該抽出済みデータを使用して記入済みフォームを作成するための、当該第二コンピュータにおけるプログラムコードをさらに有する、請求項２３のシステム。
【請求項３０】
当該第二コンピュータにおける当該プログラムコードが、当該記入済みフォームを当該第三コンピュータに送信するための命令を含む、請求項２９のシステム。
【請求項３１】
当該第一コンピュータに維持される追加データベースであって、当該追加データベースが、そこに記録される格納済みフォームデータを有し、当該格納済みフォームデータが、少なくとも１つのコンピュータサーバによって要求されるフォームに関連する、追加データベース
を、さらに、有する、請求項２３のシステム。
【請求項３２】
当該空白フォーム内のデータフィールドと、当該追加データベースに記録されている当該格納済みフォームデータとを比較するための、当該第一コンピュータにおける追加プログラムコードをさらに有する、請求項３１のシステム。
【請求項３３】
当該格納済みフォームデータが、当該少なくとも１つのコンピュータサーバからの解析済みフォームデータを含む、請求項３１のシステム。
【請求項３４】
当該ファジー記入手順を使用して当該空白フォームを記入することによって記入済みフォームを作成するために、当該空白フォーム内のデータフィールドと当該格納済みフォームデータの比較の結果を使用する、当該第二コンピュータにおけるフォーム記入プログラム命令
を、さらに、有する、請求項３２のシステム。
【請求項３５】
当該記入済みフォームを当該第三コンピュータに自動的に送信するために、当該フォーム記入プログラム命令の結果を使用する、当該第二コンピュータにおけるフォーム送信プログラム命令
を、さらに、有する、請求項３４のシステム。
【発明の詳細な説明】
【０００１】
本出願は、同時出願中の米国特許出願、シリアル番号０９／５１６，０４８（２０００年３月１日提出）、発明の名称「インターネットインタフェースシステム（ＡＮ ＩＮＴＥＲＮＥＴ ＩＮＴＥＲＦＡＣＥ ＳＹＳＴＥＭ）」に関連し、この開示は、全体が本文書に参考文献として組み込まれている。
【０００２】
【発明が属する技術分野】
本発明は、一般には、インターネットのブラウズ中のデータの転送に関し、より具体的には、インターネット上に発生する対話とトランザクションを自動化するための、記録済みデータを実行する方法およびシステムに関する。
【０００３】
【従来の技術】
現在、多くのコンピュータユーザは、ＷＷＷ（Ｗｏｒｌｄ Ｗｉｄｅ ＷｅｂまたはＷｅｂ）にアクセスするためと、電子メール（Ｅメール）により情報交換するために、主としてインターネットブラウザアプリケーションを使用している。代表的なブラウザは、ユーザがＷｅｂ上のサイトから別のサイトにナビゲートできるようにする手段としての役割を果たし、さらに、提供される情報コンテンツとさまざまなサービスにアクセスすることによってユーザがそれらのサイトと対話できるようにするインタフェースとしての役割を果たす。
【０００４】
インターネット探索のセッション中、すなわち「Ｗｅｂサーフィン」中、ユーザは、サイトの能力すべてにアクセスするためには事前の登録が必要とされるサイトに遭遇することがよくある。実際に、登録が必要とされるサイトは、日増しに増加している。例えば、電子商取引（ｅコマース）を行うＷｅｂサイトは、代表的には、特定のユーザが買い物を行う、または品目をオークションに出品するためには、事前の登録が必要となる。別の例として、電子メールサービスをホストするＷｅｂサイトは、着信メールを正しい受信者に配信するためには必ず登録を必要とする。
【０００５】
登録プロセスは、１つまたは２つのフィールドにデータを入力する非常に簡単なものから、社会保障番号、クレジットカードの有効期限などを入力する非常に複雑なものまで、その複雑さは多様である。いずれにしても、ユーザは、サイトの登録ページにナビゲートし、登録に必要な情報を提供することによってフォームを完成させる必要がある。実際問題として、登録手順の相対的な複雑さに関係なく、提供した情報を記録または記憶するという負担はユーザにかかる。Ｗｅｂサイトに登録するには、最小限の場合において、サイトにユーザ名または「ログイン」名とパスワードを入力する。このデータは、それ以降にそのユーザがログインするたびにユーザを識別する目的でサイトによって使用され、逆に、ログイン時に正しいアカウント情報が入力されないと、特定のアカウントへのアクセスが拒否または制限される。
【０００６】
さらに、ユーザは、登録プロセスが完了したサイトの記録を保持する必要もあり、また、同じサイトに複数のアカウントを不注意に開いてしまい、混乱につながる危険性もある。ユーザが意図的に同じサイトに複数のアカウントを同時に開く場合についても、さまざまなアカウントにアクセスするために、ユーザはユーザ名とパスワードの正確の記録を維持する必要がある。
【０００７】
必要な情報すべての正確な記録をユーザが維持している場合でさえも、そのサイトにアクセスするたびに正しいユーザ名とパスワード情報を提供する必要がある。代表的には、特定のＷｅｂサイトの登録済みユーザは、サイトの全機能にアクセスするためには、そのサイトの「ログインページ」までナビゲートし、必要なデータを提供することによってフォームを完成させる必要がある。この点において、正確な記録も、それを使用してアクセスできなければ価値はない。例えば、ユーザが都合よく家庭用コンピュータ外の近くに登録情報を保管している場合、そのユーザがオフィス、図書館、またはインターネットカフェなど別の場所におけるコンピュータからアカウントにアクセスしようとしても、その記録は価値がない。現在では、ワイヤレスデバイスさえもインターネットを利用できるので、ユーザは実質的にあらゆる場所からＷｅｂまたは電子メールのアカウントにアクセスすることができる。このようなユーザは、膨大なユーザ名とパスワードを暗記するか、または常にメモ書きを手の届く範囲に維持しておかない限り、注意深く記録を維持する習慣も、最終的にはその有用性は限られたものになってしまう。
【０００８】
さらに、多数のＷｅｂサイトでは、ユーザは、登録またはログインプロセスと関係なくフォームを記入するプロセスにより、データを供給するように要求される。ブラウズ中のユーザは、郵送先住所、請求先住所、クレジットカード情報、電子メールアドレスなどの情報を送信することが、しばしば、要求される。インターネットの上の活動が増大し、ｅコマースが急速に成長するに伴い、ユーザの個人アカウント情報を編成し、より重要なこととしてＷｅｂのブラウズ中にその情報を実行するための、便利かつ効率的なシステムの必要性が日増しに高まりつつある。
【０００９】
このようなシステムにおいて考慮されるべき事実として、現在多くのユーザは、複数の場所および複数のコンピュータ端末またはワークステーションからインターネットにアクセスしており、今後このようにアクセスするユーザの割合は増加すると考えられる。さらに、ユーザのアカウント情報を編成および実行するシステムは、最大の利便性と有用性を提供するためには、現在は手動で完了される対話の多くを自動化する必要がある。
【００１０】
【課題を解決するための手段】
本発明は、代表的にはインターネットのブラウズセッション中にユーザに要求される面倒な対話の多くを自動化するためのシステムを提供することによって、先行技術の前述およびその他の欠点に対処する。
【００１１】
要約すると、一実施例の場合、本発明のシステムは、登録されたユーザの個人アカウント情報を、インターネットを利用できる任意のデバイスから単一のユーザ名とパスワードによってアクセスできる安全かつ暗号化された中央データベースに格納するステップを含む。例えば、ユーザ名とパスワードは、特定のＷｅｂサイトにおけるアカウントに関連付けて、そのサイトのログインページのＵＲＬ（Ｕｎｉｖｅｒｓａｌ Ｒｅｓｏｕｒｃｅ Ｌｏｃａｔｏｒ）と共に格納することができる。ユーザは、第二のＷｅｂサイトにおける第二アカウント用に異なるユーザ名と異なるパスワードを選択し、この情報も、同様に、第二のＷｅｂサイトのログインページのＵＲＬと一緒に中央データベースに格納することができる。本発明のシステムにログインすると、登録済みユーザは、このシステムによって提供される独自のインタフェースの機能上の能力すべてと、さまざまなＷｅｂサイトにおけるユーザの固有なアカウントに関するアカウント情報すべてにアクセスできる。このシステムにおいては、理想的なことに、複数の異なるＷｅｂサイトに維持されている固有のアカウントの数に関係なく、単一のユーザ名と単一のパスワードさえ覚えておけばよい。
【００１２】
具体的には、本発明は、前述の中央データベースと、インターネットのブラウズ中にユーザが訪れるさまざまなＷｅｂサイトとの間のインタフェースを提供するシステムに関する。ユーザの標準ブラウザのナビゲーションウィンドウに、ユーティリティウィンドウまたはナビゲーションバーを付加することができ、これらを使用することにより、システムとのインタフェース処理を行い、システムの能力にアクセスすることができる。このようなユーティリティウィンドウの中に具体化されてユーティリティウィンドウにより呼び出されるプログラミングスクリプトは、通常はユーザが手動で完了するタスクの多くを自動化することによって、標準ブラウザの能力を拡張する。
【００１３】
例えば、本発明の一実施例によると、アカウントの開設に関連付けられている登録フォームを自動的に完成させることができるように、中央データベースに格納されているユーザの個人情報がシステムによってアクセスされる。例えば、各登録ページのＵＲＬと各登録フォームの性質および書式など、一般的なＷｅｂサイトの大規模なデータベースを維持するように、システムを個別に適合化することができる。例えば、対応付けされたＷｅｂサイトにユーザが登録を希望する場合には、システムに具体化されるプログラムコードが適切なサイトと通信して、ユーザ側の介入なしに登録フォームの適切なセクションを完成させるように、システムへのログイン時に、前述のユーティリティウィンドウにより便利なハイパーリンクをユーザに提示することができる。さらに、ユーザがＷｅｂサイトへの登録を望み、フォームを含むページにシステムとは独立してナビゲートする場合、以前に記録されていない登録アカウントをユーザが作成しようとしてることを認識して、必要であれば登録情報を記録するように促すように、システムを適合化することができる。
【００１４】
さらに、本発明のフォーム記入機能は、登録フォームに限定されない。インターネット世界には多数の他のタイプのフォームが存在し、本発明は、ユーザが遭遇することの多い実質的に任意のタイプのフォームの記入時に、記録されているユーザデータにアクセスし、そのユーザデータを実行するように適合化されている。特に、定期的に記入される一般的なタイプのフォームとして、ログインフォームがあげられる。
【００１５】
本発明の別の実施例によると、ユーザは、２回目以降に訪れるたびにユーザ名とパスワードを再入力する必要なく、Ｗｅｂサイトに迅速かつ容易にログインすることができる。前述されているように、ユーザによって維持される各アカウントそれぞれに関連付けられている固有のユーザ名とパスワードを中央データベースに格納しておくことができる。ユーザが固有のＷｅｂサイトにおける特定のアカウントへのアクセスを望むとき、本発明のインタフェースは、ブラウザを使用して正しいサイトにナビゲートし、データベース内の適切なユーザ名とパスワード情報にアクセスし、Ｗｅｂサイトのログインページに提示されるフォームにそれらの情報を提供し、そのフォームを自動的に送信し、これによりユーザはそのサイトにおけるアカウントにログインする。さらに、システムは、中央データベースにまだ記録されていないアカウントにユーザが手動でログインしようとしているときにそのことを認識して、必要であればアカウント情報を記録するようにユーザに促すように適合化されている。これにより、ユーザは、Ｗｅｂサイトにおけるどのアカウントにどのパスワードが関連付けられているかを覚えておく必要がなくなる。
【００１６】
本発明の１つの重要な観点は、本発明の動作が、場所、または特定のコンピュータ端末またはワークステーションに限定されないことである。システムに最初に登録すると、それ以降にユーザは、インターネットを利用できる実質的にあらゆるコンピュータ端末からシステムの機能にアクセスできる。
【００１７】
本発明の上記およびその他の利点は、本発明の望ましい実施例の以下の詳細な説明を図面を参照しながら検討することによって、より明らかになるであろう。
【００１８】
【発明を実施するための形態】
次に図面であるが、図１は、代表的なインターネットユーザと、ユーザが少なくとも１つの登録済みアカウントを維持できるいくつかのサイトの間に現在必要である対話の、単純化された線図である。従来、ユーザは、デスクトップ型パーソナルコンピュータ（ＰＣ）またはワークステーション、ラップトップ型、ノート型、サブノート型、モバイル型、ワイヤレスモバイル型などのコンピュータ端末１１０によってインターネットに接続する。インターネットに接続すると、ユーザは、電子メールアカウントにアクセスし、Ｗｅｂブラウザなどの１つ以上のソフトウェアアプリケーションを使用して、例えば参照数字１２１〜１２５によって表されているＷｅｂサーバまたはサイトを訪れる。インターネット世界を形成する膨大なサイトを訪れる中で、ユーザは特定のサイトにアカウントを登録する、またはアカウントを開くようにしばしば促される。この登録は、Ｗｅｂサーバがユーザを識別できるようにするためと、ユーザが以降に訪れるときにサイトとの対話の特定の側面を単純化するという２つの役割を果たす。
【００１９】
例えば、インターネットを介してオークション、商品の販売、サービス指向の商取引など（ｅコマース）を専門に扱うサイトでは、そのサイトによって提供されるサービスの使用を許可される前に、サイトに登録済みアカウントを維持することがユーザに要求されることがしばしばある。サイトに維持されるユーザのアカウント情報の量とタイプは、行われるビジネスの性質によってかなり異なる。登録時にユーザに要求される情報の種類の例として、氏名、誕生日、住所、性別、社会保障番号、クレジットカード番号および有効期限、母親の旧姓などがあげられる。請求先アドレスと希望の発送先住所は、商品の販売を専門とするｅコマースサイトによって一般に要求されるデータである。理論的には、サイトが登録ユーザのこのような情報のデータベースを維持することにより、ユーザが以降にそのＷｅｂサイトを訪れたときに利便性と効率がもたらされる。
【００２０】
しかしながら、実際には、Ｗｅｂサイトに登録することは、ユーザにとって大きな負担となることがしばしばある。必須またはオプションとして要求される情報をサイトに提供するためには、一般にフォームを完成させて送信する必要がある。このようなフォームを完成させることは面倒であり、送信する各フォームについてスペルミスや数字の記入ミスなどの誤りが混入することは避けられない。さらに、フォームを送信して登録プロセスが完了すると、その登録済みアカウントにアクセスするのに必要なユーザ名とパスワードはユーザが覚えておく必要がある。
【００２１】
図１をよく見ると、ユーザが複数のサイトにおいてアカウントを維持することの結果は明らかである。図１におけるサイト１２１〜１２５などのＷｅｂサイトに登録するには、少なくともアカウントを作成することが必要となり、このアカウントには、ログイン時に正しいユーザ名とパスワードを入力することによってのみアクセスできる。すなわち、以降に訪れるときにその特定のサイトにおいて提供されるサービスのすべてにアクセスするためには、ユーザは、最初の登録プロセス時に選択したユーザ名とパスワードをコンピュータ端末１１０により送信する必要がある。
【００２２】
図１の検討から明らかなように、サイト１２１〜１２５それぞれに個別のアカウントを有するユーザは、少なくとも５つの個別のユーザ名とパスワードの正確な記録を維持する必要がある。特定のユーザ名とパスワードは複数のアカウントで使用できるが、セキュリティ上の理由から、ユーザは各アカウントごとにユーザ名とパスワードが異なることが望ましいと感じることが多い。
【００２３】
代表的なＷｅｂブラウズセッション中、ユーザは、特定のＷｅｂサイト、例えば、図１におけるサイト１２１における登録済みアカウントにログインすることを望む。サイト１２１にログインするためには、ユーザは、サイト１２１に関連付けられている正しいログインページに最初にナビゲートする必要がある。このログインページにクセスするためには、このフォームに正しいユーザ名とパスワードを入力する必要がある。フォームが完成して送信されると、ユーザはサイト１２１における該当するアカウントにログインする。次いで、ユーザが、例えば、図１におけるサイト１２２などの別のＷｅｂサイトにおける別の登録済みアカウントにログインすることを望む場合、サイト１２２の該当するログインページにおいて上記のプロセスを繰り返す必要がある。
【００２４】
ユーザが、例えば、図１におけるサイト１２３の、特定サイトに登録されていない場合には、利用可能なサービスすべてを利用する前にユーザ登録が必要となることがある。サイト１２３に登録するためには、ユーザは、サイト１２３に関連付けられている正しい登録ページに最初にナビゲートする必要がある。登録ページに到達すると、代表的にはユーザにフォームが提示され、ユーザは、アカウントを作成するためにこのフォームに各種の登録情報を入力する必要がある。フォームが完成して送信されると、それ以降、ユーザは、新たに作成されたアカウントに、例えば、前述されている方法によってログインすることができる。
【００２５】
いずれにしても、ユーザが特定のアカウントにログインすることを望むたびに、ユーザの端末１１０とさまざまなサイト１２１〜１２５との間でアカウントデータを転送する必要がある。このデータ転送対話は、図１において矢印によって表されている。「便利さ」と言う名のもとに要求されるユーザとＷｅｂサイト間の対話は、結局のところ面倒であり、誤りが混入する危険性が避けられない。さらに、前述したように、登録手順とログイン手順中に要求されるデータは、代表的には各アカウントごとに一意であるため、ユーザはこのようなデータを覚えているか、または便利かつ安全な場所に記録しておく必要がある。
【００２６】
図２は、ユーザとさまざまなサイトの間の中間層として機能する本発明のシステムと、ユーザが少なくとも１つの登録済みアカウントを維持できるインターネットユーザとの間に必要な対話の、単純化された線図である。図２に示されているように、ユーザのコンピュータ端末２１０は、図１に示されているコンピュータ端末１１０に相当する。前述されているように、このコンピュータ端末２１０は、インターネットを利用できる如何なるタイプのマシンでもよい。重要なことは、コンピュータ端末２１０がインターネットに接続される方法または手段が本質的ではないことである。接続は、従来の陸線電話「ダイヤルアップ」サービス、デジタル加入者線（ＤＳＬ）サービス、光ファイバまたはケーブルモデム接続、ワイヤレスまたは衛星通信、Ｔ−１、Ｔ−３、ＩＳＤＮ、ネットワークなどによるものでよい。
【００２７】
インターネットとの接続が確立されると、その方法に関係なく、ユーザは、例えば、コンピュータ端末２１０にインストールされているＷｅｂブラウザなどのソフトウェアアプリケーションを使用して、サーバおよびデータベースをホストする中央のＷｅｂサイト（例えば、参照数字２９９によって示されているもの）にナビゲートできる。本発明のいくつかの実施例においては、ユーザは、中央のＷｅｂベースのサーバ２９９に登録済みアカウントを開くことができる。この登録手順は、代表的なＷｅｂサイトの登録の場合と同じであり、ユーザは、自身の識別とセキュリティを目的としてそれぞれユーザ名とパスワードを選択する必要がある。中央サーバ２９９に登録すると、それ以降に訪れるときにユーザは、正しいユーザ名とパスワードとによってログインフォームを完成させて送信することによって、登録済みアカウントにログインできる。上記の手順は、通常のＷｅｂサイトで要求される代表的な登録手順およびログイン手順と実質的に相違しない。しかしながら、本発明は、ユーザが中央サーバ２９９における登録済みアカウントにログインした後に、利便性と有用性の観点において実質的な利点を提供する。
【００２８】
例えば、図２に示されているように、ユーザは、１回のＷｅｂブラウズセッション中、中央サーバ２９９に一度だけログインすればよい。さまざまなその他のサイトにおける以降のフォーム記入手順とログイン手順において、ユーザ側に必要とされる対話は、わずかであるかまったくない。例えば、フォーム記入手順またはログイン手順に関して、中央サーバ２９９は、すべてのデータ入力を処理し、フォームを自動的に完成させることができる。ユーザが行なうことは、情報が正しいか否かを確認して、完成したフォームを送信することのみである。２２１〜２２５など他のＷｅｂサーバにおける登録済みアカウントへの以降のログイン手順に関して、中央サーバ２９９は、ナビゲーション、データ入力、ログインフォーム送信の各タスクを自動的に処理することができ、ユーザは、実質的に必要なアクションなしに、特定のＷｅｂサイトにおける目的のアカウントにログインできる。
【００２９】
中央サーバ２９９は、ユーザによって供給される膨大な個人情報など、ユーザの詳細なデータベースを維持するように適合化されている。この場合、一般的なデータとアカウントに固有なデータの両方を記録できる。例えば、一般的、またはグローバルな情報として、名字および名前、主請求先住所、社会保障番号などがあげられる。これらの情報は、アカウントが維持されるＷｅｂサイトに関係なく一般に一定である。アカウントに固有な情報の例としては、ユーザ名およびパスワード、アカウントのログインページのＵＲＬ、好きな文学のジャンルなどがあげられる。これらの情報は、アカウントが維持される特定のＷｅｂサイトにもっとも関与する情報に応じて異なる。
【００３０】
重要な点として、データベースに記録される前述の一般情報とアカウントに固有な情報は、中央サーバ２９９によるログインによりユーザから容易にアクセス可能であり、以下に詳細に説明されるシステムの機能により必要なときに自動的に転送することができる。この点において、中央サーバ２９９へのユーザの登録済みアカウントに関連付けられているユーザ名とパスワードはグローバルなものになる。ユーザはこれら２つの情報項目を覚えておくのみで、本発明のシステムが中央サーバ２９９により他のインターネット世界とのインタフェースの役割を果たすことができる。従って、ユーザは、例えば、サイトのログインページのＵＲＬと、そのサイトにおける特定のアカウント用に選択したユーザ名とパスワードを覚えておく負担から解放される。
【００３１】
本発明の一実施例の場合は、システムの機能にアクセスするための独自のインタフェースが提供される。図３は、本発明の拡張インタフェースを含むように修正された、通常のＷｅｂブラウザアプリケーションによって提示されるグラフィカルユーザインタフェース（ＧＵＩ）の単純化された図である。従来のＷｅｂブラウザアプリケーションは、インターネットとの対話を可能にするＧＵＩ ３１０をユーザに提供する。標準的な構成においては、ＧＵＩ ３１０は、ブラウザソフトウェアと対話するためのメニューバー３１１と、ナビゲーション、データ管理などの目的のためのコントロールバー３１２と、例えば、目的のＷｅｂサイトのＵＲＬなどのテキストを入力するためのテキストボックス３１３とを含むことができる。これらの要素は、この業界において一般的である。ブラウザＧＵＩ ３１０の主要素は、ナビゲーションウィンドウ３１４であり、このウィンドウには、さまざまなＷｅｂサイトとページのコンテンツが表示される。Ｗｅｂサイトのコンテンツとしては、例えば、テキスト、ビデオ、他のＷｅｂサイトへのハイパーリンク、完成させて送信する必要のある対話式フォームがあげられる。
【００３２】
図３の下部に示されているように、本発明による修正されたＷｅｂブラウザＧＵＩ ３１０は、ナビゲーションウィンドウ３１４に付加されたユーティリティウィンドウ３５０を含む。この実施例においては、ユーティリティウィンドウ３５０は、システムのさまざまな能力にアクセスするためのインタフェースとしての役割を果たす。ユーティリティウィンドウ３５０を含めるようにブラウザの能力を拡張するために必要なコードは、例えば、図２における中央サーバ２９９への登録時に、ユーザのコンピュータ端末２１０に自動的にダウンロードしてインストールすることができる。代替方法として、例えば、ユーザが登録済みアカウントをすでに作成した後に、ユーティリティウィンドウ３５０のソフトウェアがまだインストールされていないコンピュータからそのアカウントにアクセスを望むときなど、登録プロセスに関係なくブラウザソフトウェアを修正することもできる。
【００３３】
代表的なＷｅｂブラウザソフトウェアアプリケーションでは、このようにブラウザまたはＧＵＩ ３１０の能力を拡張するサードパーティのソフトウェアコードを含めることがサポートされる。このサポートにより、プログラマは、例えば、ＪａｖａＳｃｒｉｐｔ＆ｒｅｇ；または他のプログラミング言語において具体化される標準的なプログラミング技法を使用して、本発明のユーティリティウィンドウ３５０などの機能要素をＧＵＩ ３１０に追加するなど、ブラウザソフトウェアのオリジナルコードを限定された範囲だけ修正することができる。このコードは、例えば、ユーザがナビゲーションウィンドウ３１４を移動する、サイズ変更する、または最大化するときなどの、特定のイベントを認識するように書くことができる。この実施例においては、ユーティリティウィンドウ３５０は、ユーザのコンピュータディスプレイ上のナビゲーションウィンドウ３１４に「従う」ことができ、それぞれのイベント時に必要に応じてサイズ変更または移動される。代替方法として、ユーティリティウィンドウ３５０は、ブラウザのナビゲーションウィンドウ３１４の通常の使用時に行われるサイズ変更や移動イベンドに関係なく、定置式とするように適合化できる。これに代えて、ユーティリティウィンドウ３５０がブラウザＧＵＩ ３１０自体の内側に埋め込まれるように、ブラウザソフトウェアのオリジナルコードを修正することもできる。
【００３４】
図３に示されているように、ユーティリティウィンドウ３５０は、システムによってサポートされるさまざまな機能にユーザがアクセスできるようにする、例えば、複数の操作ボタン３５１またはドロップダウンメニュー３５２を含むことができる。図３に示されている特定の構成は、具体例を示す目的としてのみ示されていて、ユーティリティウィンドウ３５０によってサポートされる機能と、これらの機能がボタン３５１またはドロップダウンメニュー３５２の挿入により表示される方式と、さらにはナビゲーションウィンドウ３１４に対するユーティリティウィンドウの相対的な位置についても、アプリケーションまたはプレファレンスに適合するように変更できる。この点において、ユーティリティウィンドウ３５０の機能は、ユーザのコンピュータ端末２１０自体ではなく中央サーバ２９９におけるプログラムコードによってサポートされることが望ましい。
【００３５】
当業者には、ナビゲーションウィンドウ３１４にユーティリティウィンドウ３５０を付加することは、例えば、簡単なスクリプトなどの小さなプログラムコードをブラウザソフトウェアに挿入することであることは理解されるであろう。しかしながら、ユーティリティウィンドウ３５０によりアクセス可能なインタフェースの下層機能が、ユーザのマシンにインストールされるコードに埋め込まれる場合、コードの改良とアップデートはユーザがダウンロードしてインストールする必要がある。また、ユーティリティウィンドウ３５０自体の完全に新しいバージョンまたはアップデートバージョンは、システムにアクセスするコンピュータ端末（例えば、図２に示されている２１０）ごとにインストールする必要がある。しかしながら、本発明のシステムは単純化されていて、コンピュータ端末２１０にインストールされるコードは、ユーティリティウィンドウ３５０を作成するためと、場合によっては前述されているようにナビゲーションウィンドウに「従う」機能をサポートするためにブラウザソフトウェアを修正するのみである。その一方で、インタフェースの真の機能は、中央のＷｅｂベースサーバ２９９におけるプログラミングの中に提供され、システムへの各ログイン時にユーティリティウィンドウ３５０にインポートされるのみである。
【００３６】
前述したように、ユーティリティウィンドウ３５０は、ユーザとシステムの間のフロントエンドインタフェースの役割を果たす。この場合、システムは、図２の中央サーバ２９９と、ユーザが訪れるさまざまなサイトとの間のインタフェースを提供し、Ｗｅｂのブラウザ中に一般的に遭遇する特定の面倒なタスクを自動化する。実質的にシステムによって提供される機能は、具体的には、有効な汎用インターネットＩＤおよび電子メールのフィルタリングと、Ｗｅｂのブラウズ中に遭遇する実質的にあらゆるフォームの自動的なフォーム記入と、登録済みアカウントが維持されているサイトへの自動的なログインである。システムのこれらの機能の観点については、以下に詳細に説明される。
【００３７】
図２を参照して説明されたように、中央サーバ２９９への登録時、ユーザは有効な汎用ユーザ名とパスワードを取得する。中央サーバ２９９への登録済みアカウントにログインした後は、ユーザは、アカウントを登録または維持する目的でさまざまなＷｅｂサイト２２１〜２２５に指定されている追加のパスワードまたはその他の情報を思い出す必要はない。必要な情報は、中央サーバ２９９に格納されていて、システムにログインしたユーザによって容易にアクセスできる。多量の情報を記憶して整理する負担から解放されることに加えて、本発明のシステムのユーザのもう１つの利点は、汎用ユーザ名とパスワードによって電子メールのフィルタリングが容易になることである。
【００３８】
図４は、本発明の中央サーバ４９９と、ユーザが登録済みアカウントを維持するいくつかの電子メールサーバ４８１〜４８３との間の対話の単純化された線図である。中央サーバ４９９は、図２において参照数字２９９によって表されている中央サーバに相当し、ユーザのコンピュータ端末４１０は、図２において参照数字２１０によって表されているコンピュータ端末に相当する。図４には、さまざまなＷｅｂサイト４２１〜４２５と、サーバ４８１〜４８３として表されている複数の電子メールサーバとが示されている。電子メールサーバ４８１〜４８３は、例えば、それぞれ、ユーザの家庭用の電子メールアカウント、学校の電子メールアカウント、仕事の電子メールアカウントに対応する。この場合、ユーザが維持できる電子メールアカウントの数は３つに限られないことと、単一の電子メールサーバにおいて複数の電子メールアカウントを維持できることが理解される。従って、図４の配置は、具体例を示す目的としてのみ示されている。
【００３９】
本発明の一実施例によると、中央サーバ４９９への登録時に、ユーザに汎用「仮想」電子メールアドレスを与えることができる。この汎用電子メールアドレスは、仮想であることを特徴とする。その理由は、システムは、ユーザのすべてのサービス電子メールアカウントを中央サーバ４９９に実際に維持しなくてもよく、着信メールを、ユーザによって指定される複数の電子メールサーバのうちの１つ以上のサーバにおける複数の登録済み電子メールアカウントのうちの１つ以上のアカウントに転送するように機能するのみでよいためである。例えば、サーバ４９９におけるユーザの汎用仮想電子メールアドレスに配信される電子メールを、電子メールサーバ４８１における単一のアカウントのみに選択的に転送したり、または電子メールサーバ４８１〜４８３すべてにおける１つ以上の登録済みアカウントに選択的に転送することができる。いずれにしても、ユーザの友人、親類、仕事上の連絡先、およびインターネット世界全体を表すその他の人々は、中央サーバ４９９における単一のアドレスに電子メールを送信することになり、中央サーバ４９９において電子メールをユーザのプレファレンスに応じて転送できる。
【００４０】
着信電子メールを、遠隔の電子メールサーバ４８１〜４８３に維持されるアカウントに単純に転送することに加えて、例えば、着信メールを解析して、その送信元を調べることもできる。このようにして、例えば、特定のドメインから送信された電子メールを、ユーザによって指定される第一アカウントに転送し、別のドメインから送信された電子メールを第二の指定されるアカウントに転送することができる。
【００４１】
このような汎用仮想電子メールアドレスの有用性は、着信電子メールを転送する先の１つ以上の電子メールアドレスや、そのような転送が必要とされるときの条件など、特定のオプションをユーザが操作できるようにする追加機能によってより使いやすいものにできることが理解されるであろう。例えば、中央サーバ４９９によるログイン時に、指定されたアドレスを変更したり、特定のドメインから送信された電子メールの宛先を再割当するためのアクセスをすべてユーザに許可することができる。転送先アドレスは、中央サーバ４９９において変更できるため、ユーザは、インターネットサービスプロバイダ（ＩＳＰ）の変更、または電子メールアドレスの変更が必要となるその他の事態をインターネット上のすべての連絡先に通知する負担から開放される。理想的なことに、例えば、特定の場所から送信された全メールが送信者に戻される、またはそれ以降に拒否されるように、ユーザが特定の一方的な電子メール（「スパム」）の受理を完全に拒否できるようにすることができる。
【００４２】
これらの電子メールプレファレンスは、中央サーバ４９９における特定の汎用仮想電子メールアドレスに関連付けられるユーザプロファイルデータベース記録として格納することができる。登録済みのユーザは、（図３を参照して上述された）ユーティリティウィンドウ３５０によりこのデータにアクセスしてデータを変更できるプログラムコードを呼び出すことができる。
【００４３】
前述の機能は、中央サーバ４９９におけるプログラムコードにより実行できる。動作時、ユーザの汎用仮想電子メールアドレスにアドレッシングされた着信電子メールは、中央サーバ４９９に到着した時点で解析できる。一般には、電子メールを正しく配信できるように、電子メールパケットの送信元および宛先アドレスヘッダは、電子メールサーバによって解析することができる。しかしながら、本発明のこの実施例によると、解析されたデータは、中央サーバ４９９におけるデータベースに格納されている汎用仮想電子メールアドレスに関連付けられているユーザプレファレンスとさらに比較され、比較の結果に応じて、アドレスヘッダは変更することができる。この比較とアドレスヘッダの変更が完了した時点で、ユーザによって指定された宛先に電子メールを転送することが可能になる。
【００４４】
Ｗｅｂサイトでは、ブラウズ中のユーザが情報を供給するように要求されることがよくあり、最も有名なＷｅｂサイト、特にｅコマースを行うＷｅｂサイトの多くでは、実際に多くの情報が必要とされる。この結果、Ｗｅｂのブラウズセッション中にフォームの記入という面倒な作業にしばしば直面する。図５は、インターネットのブラウズセッション中にユーザが遭遇することがある代表的なフォーム５８０の単純化された図である。
【００４５】
図５は、フォーム５８０自体に加えて、ブラウザＧＵＩ ５１０全体も示す。ブラウザＧＵＩ ５１０は、標準的なメニュー５１１と、コントロールバー５１２と、テキストボックス５１３と、フォーム５８０が表示されるナビゲーションウィンドウ５１４とを備えている。図５に示されているＧＵＩ ５１０は、ユーティリティウィンドウ５５０を含むように修正されている。このユーティリティウィンドウにより、サーバ２９９または４９９などの中央サーバにサポートされるさまざまな機能へのアクセスが可能になる。特に、ユーティリティウィンドウ５５０は、ボタン５５５など、本発明の自動フォーム記入機能にアクセスできる少なくとも１つの操作ボタンを含む。代替方法として、ボタン以外の手段、例えば、５５６などのドロップダウンメニューによって、自動フォーム記入機能へのアクセスを、提供することもできる。
【００４６】
図５に示されているフォーム５８０は代表的な一例に過ぎず、たとえこの図と同じデータを要求するフォームであっても、このデータを別の書式で送信することが必要なことがある。例えば、フォームによっては、名字、名前、ミドルネームに対応する３種類のフィールドによって名前のデータが要求されることがあるため、「Ｎａｍｅ」（名前）フィールド５８１を分割することができる。同様に、「Ｐｈｏｎｅ」（電話）フィールド５８２は、エリアコード、局番、最後の４桁に対応する３種類のフィールドに分割でき、内線番号の４番目のフィールドを含めることもできる。同様に、さまざまなフォームには、さらにドロップダウンメニューまたはラジオボタンが含まれ、ユーザは、例えば、年齢範囲、職業または肩書き、使用するクレジットカードの種類をリストから選択するように要求される。
【００４７】
前述したように、本発明のシステムは、登録プロセス中と登録後の両方においてユーザが提供した情報の詳細な記録をユーザの判断で維持する。すなわち、ユーザが中央サーバに登録済みアカウントを作成すると、中央サーバは、その特定のユーザのデータベース記録を作成し、さまざまなユーザデータを保持することができる。サーバは、できるだけ細分化された書式でユーザから情報を要求することができる。すなわち、例えば、電話番号は、エリアコード、市外局番、完全な電話番号、および内線に対応する少なくとも４つのフィールドに分けることができる。別の例として、名前は、単一のフィールドとしてではなく、名字、ミドルネーム、名前という書式でサーバに格納することができる。このようにして、本発明のシステムは、多数の書式のうちの１つの書式でデータを要求するさまざまなフォームにデータを提供するように適合化させることができる。
【００４８】
Ｗｅｂの探検中に遭遇するフォームは、ユーザがブラウズ中に訪れるＨＴＭＬ（Ｈｙｐｅｒ−Ｔｅｘｔ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）文書またはページ内にバックグラウンドによって符号化される。１つのＨＴＭＬページが、下層ＨＴＭＬコードにおいて区別される１つ以上のフォームを含むことがある。本発明のシステムは、ユーザのブラウザがページからページにナビゲートするときにＨＴＭＬページを解析するために、中央サーバにおけるプログラムコードを利用する。このプログラムコードは、ＨＴＭＬコードに埋め込まれているフォームを表すＨＴＭＬコード内のテキスト文字列を識別するように適合化されていて、各フォームは、システムが認識できる１つ以上の「メタタイプ」を含む。各メタタイプは、有意的かつ論理的に関係付けられた１つ以上の情報フィールドを有する論理的なデータブロックを表す。各情報フィールドは、それに関連付けられた特定の書式を有する。上記のフォーム要素の階層は、フォーム記入プロセス中に、細分化されたユーザデータをフォーム内の正しい位置に割り当てるうえで役立つ。
【００４９】
この点から、さまざまなタイプのデータをメタタイプに従って分類することにより、システムオーバヘッドとユーザの不便が最小になる効率的な方法で、システムが、フォームを完成させるタスクを処理できることは、理解されるであろう。フォーム記入プロセスの前またはプロセス中、例えば、各メタタイプ全体と、そのフィールドを記入するのに使用される特定のデータとを独立して選択することができる。すなわち、ユーザは、ドロップダウンメニュー、またはユーティリティウィンドウに提供されている他のＧＵＩメカニズムを使用して、メタタイプ内の以前に格納された複数のデータから選択することができる。ユーティリティウィンドウにおけるインタフェースは、例えば、各メタタイプ用のドロップダウンメニューを含めることによって、このような選択に対応するように適合化させることができる。
【００５０】
中央サーバにおけるデータベースは、各メタタイプの複数のデータ「プロファイル」を記録することができる。各プロファイルは、一意の略称によって識別でき、ユーティリティウィンドウインタフェースによりアクセス可能である。例えば、ユーザは、クレジットカードのメタタイプとして「ＣｒｅｄｉｔＣａｒｄ１」（クレジットカード１）と「ＣｒｅｄｉｔＣａｒｄ２」（クレジットカード２）という略称の２つのクレジットカードプロファイルを記録したり、発送先住所のメタタイプとして「Ｈｏｍｅ」（家庭）と「Ｗｏｒｋ」（仕事）という略称の２つの発送先住所を記録することができる。ユーティリティウィンドウにおけるインタフェースから特定のプロファイルを選択することによって、そのプロファイルに関連付けられているデータは、すべて、そのメタタイプのデータの一部またはすべてを要求しているフォーム内の正しいフィールドに挿入される。
記入するフォームが提示されると、ユーザは、請求先住所、クレジットカード、発送先住所の個々のメタタイプに使用するデータを独立して選択することができる。同様に、記入されたフォームが確認のためにユーザに提示されたときに、ユーザは、ユーティリティウィンドウインタフェースにおいて異なるプロファイルを選択することによって、１つのメタタイプ全体に関連付けられたデータを変更し、その一方で、記入されたフォームのそれ以外のデータを変更されないままにすることができる。例えば、フォームに必要な請求先住所とクレジットカード情報が記入されているが、フォームを送信する前にユーザが発送先住所を変更することに決めた場合には、ユーザはインタフェース内のオプションを使用することにより、以前に記録された複数の発送先住所プロファイルの１つから選択できる。同様に、以前に記録された複数の請求先住所またはクレジットカードの１つからユーザが選択できるようにもできる。
上述した階層を念頭において図５のフォーム５８０をよく見ると、フィールド５８１〜５８８など、任意の特定のフォームにおいて要求されるさまざまなフィールドを、関連データとして本発明のシステムに認識させることができることが理解されるであろう。例として、「Ａｄｄｒｅｓｓ」（住所）フィールド５８３、「Ｃｉｔｙ」（市）フィールド５８４、「Ｓｔａｔｅ」（州）フィールド５８５、および「ＺＩＰ」（郵便番号）フィールド５８６は、一括して住所メタタイプに関連付けることができる。なぜなら、これら論理的に関連するフィールドは、固有の郵送先住所を定義するためにすべて必要であるからである。同様に、「Ｃｒｅｄｉｔ Ｃａｒｄ Ｎｕｍｂｅｒ」（クレジットカード番号）フィールド５８７と「Ｅｘｐｉｒａｔｉｏｎ Ｄａｔｅ」（有効期限）フィールド５８８は、クレジットカードメタタイプに結合させることができる。さらに、メタタイプは、１つ以上の定義済みサブタイプを有することができる。例えば、請求先住所情報と発送先住所情報は、同じ一般データ要素を有する２つの異なるサブタイプとして認識させることができる。
【００５１】
この具体例のフォーム５８０に類似するフォームの場合、情報は、さまざまな書式の１つにおいて要求させることができる。例えば、「Ｓｔａｔｅ」（州）フィールド５８５に関して、フォームが、州名を完全なスペルで記入するよう要求したり、または州の２文字の略語を要求することがある。あるいは、例えば、ドロップダウンメニューまたはその他のタイプのリストから州を選択させることも可能である。本発明のシステムは、完成したフォームの送信先のサーバによって受理されるように、フォームに必要な特定の書式を認識することによって、必要な情報を正しい構成において提供するように適合化されている。
【００５２】
本発明の一実施例によると、中央サーバに格納されているユーザデータは、データベースから抽出され、フォームの書式上の要件に従うように、サーバにおけるプログラムソフトウェアによって操作される。次いで、正しく書式化されたユーザデータは、ユーザのコンピュータ端末に転送される。コンピュータ端末においては、ユーザが情報を手動で入力する必要がないように、転送されたデータを使用して必要なフォームを記入することができる。ユーザがインターネット上で遭遇することのあるフォームの数、タイプ、および書式は、フォームを完成するように要求するＷｅｂサイトの数だけ多様であるが、本発明のシステムは、すべてのフォームを２つの大きなカテゴリ、すなわちシステムのデータベースに対応付けされているフォームと、対応付けされていないフォームのいずれか一方に入るものと認識する。
【００５３】
本発明のシステムは、中央のＷｅｂベースサーバにユーザ情報のデータベースを維持することに加えて、Ｗｅｂをブラウズ中のユーザが最も頻繁に遭遇する多数のフォームに関連するフォームデータのデータベースを維持するように適合化されている。これらのフォーム（例えば、最も有名または最も頻繁にユーザが訪れたＷｅｂサイトに必須またはオプションとして要求されるフォーム）は、対応付けすることができる。対応付けされたフォームは、例えば、そのフォームを含むＷｅｂページの下層ＨＴＭＬコードを読み取るように適合化されているソフトウェアスクリプトによって解析済みである。
【００５４】
対応付けプロセスによって、システムは、以前に対応付けされているフォームに以降に遭遇したときに、そのフォームを認識することができる。特定のフォームのフィールドと構造を認識することにより、サーバにおけるプログラムコードは、正しいユーザデータを正しい書式において効率的かつ系統的に各フィールドに入力することができる。従って、フォームの対応付けは、以下のすべてのステップ、すなわち、フォームの構造と配置を解析する目的で下層ＨＴＭＬコードを調べるステップ、必須フィールド、オプションのフィールド、および各フィールドの要求されている書式を識別するステップ、フォームフィールドとそれらに対応するデータベース内のユーザデータフィールドとを一致させるステップ、システムがその特定のフォームをあらかじめ識別するための一意の識別子文字列の元に、上記の情報すべてを記録するステップを、含むことができる。
【００５５】
対応付けプロセスの要素の一部またはすべてに、プログラムソフトウェアとオペレータ介入の両方を組み込むことができる。例えば、ソフトウェアスクリプトによってＨＴＭＬを解析してフィールドのリストを自動的に得ることができる一方で、特定のフォームの構造内の特定のフィールドを必須ではなくオプションとして識別するために人による入力を必要とするようにできる。別の例として、フォーム全体が対応付けされた後に、フォームの構造が以降に変更された事実を検出するように、サーバにおけるソフトウェアコードが、自動的に動作するようにプログラムすることができるが、変更の範囲の評価、または中央のフォームデータベース内のフォームの記録の更新は、オペレータが行う必要があるようにすることができる。
【００５６】
ＨＴＭＬコードが中央サーバにおいて解析された後は、コードを分析することによってフォームの構造を知ることができる。フォームに要求されるフィールドと書式は、コードにおいて識別して一致させることができる。すなわち、フォームを含むＷｅｂページの検討とそれに関連するＨＴＭＬの分析時に、要求される情報のタイプおよび性質と、その情報が要求される書式とを、詳細に判断することができる。このようにして、システムは、フォームにおいて「誕生日」フィールドがＭＭ／ＤＤ／ＹＹ書式で記入されるように求められているのか、またはＭＭ／ＤＤ／ＹＹＹＹ書式で記入されるように求められているのかを判断するように適合化できる。これに応じて、特定のフォームの「誕生日」フィールドをデータベースに対応付けすることができる。
【００５７】
当然ながら、ＨＴＭＬは、フォームを含むページのＵＲＬを含み、そのＵＲＬは、特に、Ｗｅｂサイトのドメイン名を表す文字列を含む。ＨＴＭＬを解析するタスクが割り当てられているプログラムスクリプトは、分析されるフォームに一意の識別子を割り当てることが望ましい。この一意の識別子は、例えば、ドメイン名などＵＲＬから抽出される文字列に加えて、フォームによって必要とされるすべてのフィールドの文字列を含むことができる。フォームにおいて必須またはオプションとして要求される分析済みのフィールドと書式は、中央サーバにおけるフォームデータベースに一意のフォーム識別子の元に格納される。
【００５８】
上術の対応付け操作の最終的な結果として、特定のフォームが解析され、その構造が分析され、システムが以降にそのフォームを認識できるように識別子文字列が作成されて割り当てられる。識別子文字列は、フォーム内の必須フィールドすべてと、フォーム内のオプションフィールドすべてと、ドメイン名と（これらはすべてＨＴＭＬコードから抽出される）の連結を有するテキスト文字列を含むことが望ましい。システムは、存在しているメタタイプおよびサブタイプと、それぞれに関連付けられているフィールドと、各フィールドに必要な特定の書式など、フォーム構造の詳細な記録を維持する。フォームがこの詳細度のレベルに対応付けされた後は、フォームのデータフィールドとデータベースに格納されている細分化されたユーザデータとを一致させ、正しい情報を正しいフィールドに適切な書式で挿入することは、簡単なことである。
ユーザが遭遇するフォームの中には、全体またはその一部が対応付けされていない、または対応付けできないものがある。インターネット世界におけるフォームの膨大な数を考えれば、すべてのフォームを対応付けしたカタログを維持できるシステムは存在しそうにない。さらに、一部のフォームは動的であるので、有意の対応付け関係を作成することは意味がない。例えば、ｅコマースサイトにおいて購入を目的としてさまざまな品目を選択しているユーザを考える。ユーザが選択プロセスを完了すると、ｅコマースＷｅｂサイトの「勘定計算」ページに、代表的には、請求先住所、発送先住所、その他などのフィールドを含むフォームが表示される。さらに、フォームには、通常、以下のうちの１つ以上に関連するフィールドが含まれる。これらは、選択された品目の必要な数量を変更するオプションをユーザに提供することと、ユーザの過去の実績に基づく割引価格で追加的な品目をユーザに提示することと、特別提供品などである。これらの追加のフィールドは、フォームの標準的な構造に常に存在するわけではなく、そのサイトにおいてユーザが行う内容に応じて可変であるという点において動的である。
当業者には、特に動的なフォームの場合においては、フォームの下層ＨＴＭＬが、対応付けプロセスにおいてほとんどまたは全く役に立たないことが理解されるであろう。場合によっては、ＨＴＭＬにおいて１つ以上のフィールドに名前が割り当てられていない、または複数のフィールドに同じ名前が割り当てられている、または１つ以上のフィールドに動的な名前が割り当てられるように、フォームが構造化されていることがある。このことは、その大部分が、Ｗｅｂサイトを構成するＨＴＭＬ文書の作成の責任者であるＷｅｂデザイナー側のプログラミングスタイルと好みの問題である。このようなフォームの静的な部分は、システムによって対応付けさせることができる。これに代えて、フォームにおける相対的なポジションまたは位置に従ってフィールドを対応付けさせることもできる。しかしながら、フォームの構造が変化すると、対応付けは不正確になる。
【００５９】
動作時、本発明のフォーム記入機能は、中央サーバにおけるプログラムコードと、ユーザのコンピュータ端末に提供される改良されたインタフェースの下層コードの両方を使用する。図６は、本発明の中央サーバ６９９とコンピュータ端末６１０におけるユーザが訪れる代表的なＷｅｂサイトのフォームページの間の対話の、単純化された線図である。図６において、フォーム６８０は、図５を参照して前述されたフォーム５８０に相当する。標準のインターネットブラウザの能力は、ユーティリティウィンドウ６５０（ユーティリティウィンドウ３５０に相当する）を含むように拡張されている。図３を参照して前述されたように、中央サーバ６９９によるログイン時に、ユーティリティウィンドウ６５０の外観と動作に作用することができる特定のシステムユーティリティが、プログラムコードによってユーティリティウィンドウ６５０にインポートされる。
【００６０】
本発明のこの特定の実施例の場合、フォーム記入機能を有するユーザインタフェースを使用可能にし、例えば、ボタン３５１などの操作ボタンの形式で、またはメニュー内の操作オプションとして、提示することができる。ユーザは、フォーム６８０を含むページに、異なる方法で到達することもできる。例えば、ユーザは単にブラウズ中であり、インターネットのセッションを行う中でフォームを含むページに達することがある。あるいは、ユーザは、ユーティリティウィンドウ６５０に提供されているハイパーリンクをたどることにより、フォームを含むページに自動的にナビゲートすることがある。
ユーザがフォームを完成させることを決めると、ユーティリティウィンドウ６５０によりフォーム記入機能を呼び出すことができる。フォーム記入ソフトウェアを呼び出すと、ＵＲＬを表すテキスト文字列を含むページとフォーム６８０のＨＴＭＬを解析するためのプログラムスクリプトが開始される。このプログラムスクリプトは、サーバ６９９によるログイン時にユーティリティウィンドウ６５０にインポートされたものである。フォームに含まれるすべてのフィールドを表すテキスト文字列がドメイン名と連結され（これらはすべてＨＴＭＬから抽出される）、識別子文字列が作成される。この識別子文字列は、中央サーバ６９９に転送され、中央サーバ６９９において、この識別子文字列と、データベースに記録されている複数の識別子文字列とが比較され、そのフォームが以前に対応付けされているか否かが判断される。
【００６１】
フォームが対応付けされている場合、ユーザのコンピュータ端末６１０から転送された識別子文字列は、サーバ６９９におけるデータベース内の識別子文字列の１つに正確に一致し、システムはユーザのコンピュータ６１０に返すデータを準備することができる。中央サーバ６９９におけるプログラミングルーチンは、ユーザのコンピュータ端末６１０にデータを適切な書式で返す前に、データベース内のユーザデータに対して必要な機能を実行することができる。例えば、記入するフォームにおいて「名前」情報が単一のフィールドとして書式化されている場合には、サーバ６９９は、データベースから抽出される名字、ミドルネーム、名前の各フィールドを連結して、各テキスト文字列の間にスペースを追加することができる。これにより、最終的にフォームを送信する先のサーバによって予期される書式にデータが配置される。
【００６２】
フォームが以前に対応付けされていないか、または最後の対応付け以降にフォームが修正されている場合には、ユーザのコンピュータ端末６１０から中央サーバ６９９に転送された識別子文字列は、データベース内のどの識別子文字列とも一致しない。しかしながら、認識されない識別子文字列は保存することができ、システムは以下に説明されているように逆対応付けを試みることができる。
【００６３】
認識されない識別子文字列に遭遇すると、中央サーバ６９９におけるプログラムコードは、最初に識別子文字列を分析し、既知のフィールド名を表す部分文字列を識別するように試みる。例えば、以前に対応付けされているフォームの構造または配置が、ホスト側Ｗｅｂサイトによって最近少し変更され、識別子文字列がデータベース内のどの識別子文字列とも正確に一致しない場合でも、その識別子文字列を分析することによって、大部分またはすべてのフィールドが認識可能であるがシステムが以前に遭遇していない順序で提示されていることが、最終的に明らかになることがある。同様に、対応付けされていないフォームが、すでに対応付けされているフォームと構造が類似して、同じフィールド名を含むことがある。これは、例えば、両方のフォームが、同じエンティティによってホストされる各Ｗｅｂサイト、または同じＷｅｂデザイナーによって作成された各Ｗｅｂサイトに含まれる場合である。いずれにしても、既知のフィールド名には、データベースから抽出されて正しく書式化された適切なユーザデータを記入することができる。
【００６４】
次に、システムに具体化されるプログラムコードは、識別可能なフィールド名から論理的なデータブロックの潜在的なメタタイプを識別することを試みる。これによって、合理的に確実なことに基づいた未識別のフォームの構造全体に関する合理的な推論が形成される。
例えば、以前にＨＴＭＬフォームの中で遭遇したフィールド名とこれらのフィールド名が対応するユーザデータの実行中ログを維持するように、システムを適合化させることができる。従って、システムは、フォーム内で遭遇する「Ｓｕｒｎａｍｅ」（姓）、「ＬａｓｔＮａｍｅ」（姓）、および「ｌａｓｔ＿ｎａｍｅ」（姓）が、いずれもユーザの名字に対応するデータベース内の同じフィールドを表すことを認識できる。未識別のフォームがこれらの名字の１つ、または類似するフィールド（例えば、「ｎａｍｅＬＡＳＴ」（姓））を有するフィールドを含む場合、本発明のシステムは、そのフィールドを認識し、従って、未知のフォームのその部分を対応付けすることができる。さらに、システムは、存在する既知のフィールドに基づいて完全なメタタイプを再構築することを試みることができる。例えば、この特定の例において、「ｎａｍｅＬＡＳＴ」（姓）に近接するフィールドは、名前またはミドルネームを表す可能性が高い。「ｎａｍｅＬＡＳＴ」（姓）と「ｎａｍｅＦＩＲＳＴ」（姓）が識別されていて、その間のフィールドが未知の場合には、本発明のシステムは、フォームのＨＴＭＬにおいてその中間フィールドに割り当てられている名前が認識されなくても、中間フィールドにミドルネームまたはイニシャルを記入しようと試みることができる。
【００６５】
当業者には、上記の「ファジー」記入手順は、ＨＴＭＬの識別子文字列内のフィールド名文字列またはその一部を分析し、それらの文字列および部分文字列と、対応付けされているフォームに関してデータベースにすでに記録されている情報とを比較するように適合化されている発見的アルゴリズムの形式において実行できることが理解されるであろう。前述したように定義されるフォームの階層構造により、システムは、データベースに格納されている大量の情報と、最も頻繁に遭遇する状況におけるその情報の代表的な配置とに基づいて、既知のデータ片をつなぎ合わせて論理的なメタタイプを得ることができる。従って、以前に未知のフォームの構造全体をリアルタイムで決定できる可能性がある。
【００６６】
動作時、中央サーバ６９９におけるプログラムコードは、識別できるフィールドに記入するために、フォーム識別子文字列を調べて、ユーザデータに対する必要な操作を完了する。フォームを完成できる程度は、主として、ＨＴＭＬ構造から確実に識別できるフィールド、または容易に推論されるフィールドに基づく。対応付けされているフォームの場合、すなわちフォーム全体の各フィールドをシステムによって完成させることができる場合においてさえも、実際にフォームがシステムによって送信されないようにすることができる。
【００６７】
例えば、１つの望ましい実施例においては、中央サーバ６９９におけるプログラミングコードは、フォーム６８０に記入するために、データベース記録から適切なユーザデータを単純に抽出して、そのデータをユーザのコンピュータ端末６１０に返すことができる。次いで、完全または部分的に記入されたフォーム６８０をユーザに表示し、ユーザは、情報を選択的に変更、削除、または追加することができる。この実施例は、特に２つの利点を提供する。すなわち、ユーザは、データベースに記録されているままに提供したくないオプションの情報を削除または修正する機会を有する。また、以前に対応付けされていないフォームを、ユーザが提供する情報に従って対応付けできる。
【００６８】
対応付けされていないフォームの場合、ユーザのコンピュータ端末におけるプログラムコードは、フォームページがアンロードされたときにＨＴＭＬを解析するように適合化できる。「アンロード時」イベントの肯定応答時（これはユーザがフォームの送信を試みているときを意味する）、ユーザのコンピュータにおけるプログラムコードは、ユーザによって送信されたデータを取得し、次いでそのデータをサーバに転送することができる。次いで、サーバにおけるプログラムルーチンは、ユーザによって各フィールドに提供されたデータを使用し、容易に推論できるフィールドに基づいてフォームの構造を逆行分析することができる。
【００６９】
同様に、フォームの構造が対応付けされている場合においてさえも、場合によっては、以前にユーザによってサーバに供給されていない情報が、フォームに必要となることがある。この場合、そのフォームを完成させるために必要なすべてのデータは、中央データベースにおいて容易に得ることができない。このような入力をユーザに促すインタフェースを提供して、そのデータを利用してフォームを完成することに加えて、ユーザのデータベース記録内の適切な位置にそのデータを保存するようにシステムを適合化することができる。
【００７０】
さらに別の処理手順においては、ブラウズ中にすでに対応付けられているフォームに遭遇したユーザは、必須またはオプションとして要求されるユーザデータを手動で入力してフォームを送信するように選ぶことができる。「アンロード時」イベントの認識時、ＨＴＭＬを解析して、ユーザが手動で記入したデータを中央サーバに転送することができる。フォームが対応付けされているため、システムは、フィールド名とそれに関連付けられる対応するユーザデータを認識することができる。データベースにまだ記録されていないデータをユーザが送信する場合には、中央サーバにおけるプログラムスクリプトは、ユーザによって提供されたデータと既知のフィールド名とを一致させ、新たに提供されたユーザデータを、ユーザが承認した場合に、データベース記録内の適切な位置に格納することができる。
【００７１】
あるいは、現在データベースに記録されているが、ユーザが供給したくない特定のオプションデータがフォームで要求されることがある。前述した実施例に関して説明したように、フォーム記入機能がフォームを可能な範囲まで完成させるのみで、完成したフォームを実際に送信しないようにすることができる。ユーザはすべてのフィールドを手動で記入する負担から解放されていて、完成したフォームに誤りがないか確認して、そのときにオプションのデータを削除したり、フィールドに提供された情報を変更することが必要となる。これに代えて、システムが自動的にフォームを送信するように適合化されている場合には、ユーザが自身の判断でオプションのデータを選択的に供給するように促されることが望ましい。
【００７２】
上記の説明から、ユーザが中央サーバにおける登録済みアカウントにログインした後、フォーム記入機能が大きな利便性を提供することが理解されるであろう。ユーザは、ユーティリティウィンドウからフォーム記入オプションを単に選択することによって、ほとんどまたはまったく手動で入力せずに、フォームの全体または一部を自動的に完成することができる。さらに、特定のページがアンロードされるとき、すなわちユーザによって手動で記入されたフォームがフォーム記入機能とは独立して送信されるときに、システムはユーザからの入力を認識することができる。このようにして、システムはユーザの経験を「学習」し、それ以降に他のユーザによって呼び出されるフォーム記入操作のためにフォームを対応付けすることができる。
【００７３】
また、ユーザが、例えば、電子メールサーバまたはｅコマースＷｅｂサイトにおける特定の登録済みアカウントにログインすることを望むときにも、本発明のシステムはかなりの利便性を提供する。代表的なＷｅｂブラウザアプリケーションでは、ユーザが最も頻繁に訪れたＷｅｂサイトの編集可能なリストが提供される。一般的に実行されているように、「ブックマーク」または「お気に入り」リストは、ブラウザＧＵＩのテキストボックスにサイトのＵＲＬを入力する必要なく、ユーザが特定のサイトにナビゲートできるようにするのみである。すなわち、ブックマークは、サイバースペースにおける指定のアドレスにブラウザを導くことができる単なるナビゲーションツールにすぎない。
【００７４】
これに対して、本発明は、代表的なブックマークのナビゲーションユーティリティと、前述したようなタイプのカスタマイズされたフォーム記入操作とを組み合わせる。この組合せの結果として「賢い」ブックマークが得られる。このブックマークは、指定されたアカウントのログインページにユーザをナビゲートするのみならず、ログインフォームを完成させて送信する。これによりユーザは、自身のさらなる介入なしに登録済みアカウントにログインすることができる。
【００７５】
このログイン機能用のインタフェースは、図３を参照して前述したように、中央サーバによるログイン時にユーティリティウィンドウにインストールさせるようにすることができる。この特定の場合、インタフェースは、例えば、ドロップダウンメニューを有することができる。このドロップダウンメニューには、メニュー内の独立した選択肢として表示されるアカウントを設定するための操作オプションを含ませることができる。
【００７６】
同様に、ユーザは、単一の電子メールサーバに複数の電子メールアカウントを維持することがあり、またユーザは、他のタイプのサーバ、例えば、ｅコマースＷｅｂサイトに複数の登録済みアカウントを維持することができる。本発明のシステムは、同じドメイン内の複数のアカウントに関する必要なデータ（例えば、同じサーバにおける家庭用アカウントと仕事用アカウントに対応するデータ）を記録することに適応する。逆に、１つのサイトにおけるアカウントによって、まったく別のドメイン内の異なるＷｅｂサイト（おそらくは同じエンティティまたは提携パートナーによって運営されるサイト）にログインする権限が登録済みユーザに与えられることがある。すなわち、１つのＷｅｂサイトにアカウントを作成すると、登録済みユーザには、異なる場所におけるそのＷｅｂサイトのパートナーサイトに、そのユーザが登録されているサイトによって認識されるものと同じユーザ名とパスワードを使用してアクセスする権限が与えられることがある。本発明のシステムは、少なくとも対応付けされているサイトに関し、このようなパートナーシップアカウントのタイプを認識することができる。
【００７７】
例えば、ユーティリティウィンドウに提供されるインタフェースにより複数のアカウントにアクセスすることができるため、ログイン機能が呼び出される対象の各アカウントに、アカウントを識別するための一意の識別子、または略称を割り当てて、これらをメニューまたはリストに表示することができる。ユーザが、同じドメイン内の２番目またはそれ以降のアカウントに関するデータの送信を試みている場合においては、ユーザのコンピュータ端末におけるインタフェースコードにより動作中の、中央サーバにおけるプログラムコードは、選択されたサイトにアカウントが既に存在することをユーザに知らせて、新しいアカウント用の新しいユーザ名およびパスワードと、異なる略称とを確認するように入力を促すことができる。
【００７８】
前述したように、Ｗｅｂのブラウズセッション中に、選択された登録済みアカウントにユーザをログインさせるプログラムスクリプトを呼び出すためにユーザが行う必要があることは、例えば、ドロップダウンメニューからアカウントを選択することのみである。しかしながら、ログイン機能を有効にする対象のアカウントをシステムに認識させるために、最初に該当するアカウントを入力する必要がある。ユーザの観点からは、アカウントをいったん設定することによって以降にそのアカウントに関してログイン機能が完全に動作するようにするために、ログイン機能を有するインタフェースが必要となる処理手順は、３つある。すなわち、ログインフォームが既に対応付けされている場合か、Ｗｅｂサイトのアカウントを設定するためにユーザが「カスタム追加」機能を呼び出す場合か、または、ユーザがログイン機能とは独立してアカウントへのログインを試みる場合である。
【００７９】
最初の場合、特定のＷｅｂサイトのログインフォームは、フォーム記入機能に関して前述したように、既にシステムに対応付けされている。従って、システムは、ログインページのＵＲＬとログインフォームの構造を既に認識している。この情報は、前述したように固有のフォーム識別子文字列に関連付けられたフォームデータベース記録に格納されている。既に対応付けされたログインフォームを有する認識済みのＷｅｂサイトのリストを、ユーティリティウィンドウ内でユーザが利用できるようにすることができ、ユーザは、有効なオプションの１つを選択することによって、特定のサイトのログインページにナビゲートできる。
【００８０】
この実施例の場合、ユーザのコンピュータ端末にインポートされたプログラムコードは、ログインページのＨＴＭＬを解析し、「ロード時」イベント（ユーザのブラウザにページが到着したことを示す）を識別する。「ロード時」イベントの検出時に、前述したフォーム記入機能を呼び出すことができる。これにより、ＨＴＭＬが解析され、一意のフォーム識別子文字列が中央サーバに転送され、サーバにおけるプログラムコードが、ユーザのデータベース記録を調べて、識別された記入するログインフォームのユーザ名とパスワードが記録されているか否かを判断する。アカウントが以前にシステムに記録されていない場合には、フォーム記入ルーチンは、その特定のアカウントに関連付けられたユーザ名とパスワードを入力するようにユーザに促す。システムは、ユーザによって提供されたデータによってフォームを完成させるのみならず、そのデータを一意のフォーム識別子文字列と関連付けてユーザのデータベース記録に格納する。これにより、そのフォーム全体を予測的に記入するための必要なデータすべてが、フォーム記入ルーチンに提供される。
【００８１】
本発明のログイン機能は、望ましくは、フォームを実際に送信する追加ステップを含む。ユーザのコンピュータ端末におけるプログラムコードは、フォームを送信するプログラムスクリプトを実行する。フォームを含むＨＴＭＬページは、通常、送信スクリプトを実行するための操作ボタンまたは他のメカニズムを含む。この送信スクリプトは、ページをアンロードし、フォームを要求しているサーバにＨＴＭＬデータを配信する。ログイン機能は、ＨＴＭＬページ内の操作ボタンの選択をシミュレートするプログラムコードを含むことができる。従って、フォームをソフトウェアの制御下で送信し、これにより、選択されたアカウントにユーザにログインさせることができる。この時点では必要なアカウントデータのすべてが中央サーバに格納されているため、以降のログイン操作は、ユーティリティウィンドウインタフェース内で単にアカウントを選択することのみである。
例えば、フォームを送信するためのＨＴＭＬ内のボタンの選択を単にシミュレートするプログラムスクリプトを作成することは、比較的簡単である。しかしながら、フォームのアクションがより高度である場合には、必要なパラメータの挿入とフォームの送信をシミュレートするためのプログラムスクリプトは、相応に複雑である。場合によっては、Ｗｅｂサーバにフォームを送信するためのメカニズムが、ソフトウェア介入により、またはプログラム的にフォームを送信することに容易には対応しない。例えば、送信が行われる方法を示すために、フォームを要求しているサーバに返されるＨＴＭＬコードに、機能パラメータが埋め込まれていることが必要な場合がある。これらのパラメータが存在しないと、ログイン試行が失敗する。
【００８２】
本発明のシステムは、フォームの複雑なアクションを認識するように適合化されていて、送信するフォームのアクションを変更するためのプログラムコードを含むことができる。フォームのアクションを変更する場合、システムによって作成される送信内容に、より単純なスクリプト（ボタンの選択を単にシミュレートするスクリプトなど）を使用してフォームがプログラム的に送信される場合には省略される必要なパラメータを含むことができる。当業者には、このようにフォームのアクションを修正することは、最初にＨＴＭＬを解析して必要なパラメータを識別し、それに応答して、フォームデータと共に送信されるＨＴＭＬ内のパラメータを表すテキストフィールドを含めることであることが理解されるであろう。
【００８３】
Ｗｅｂサイトのアカウントを設定する２番目の場合においては、ログインフォームは以前に対応付けされていないが、ユーザはユーティリティウィンドウから「カスタム追加」機能を呼び出す。カスタム追加機能を選択すると、必要な３項目の情報として、ログインページのＵＲＬと、登録済みアカウントが維持されるユーザ名と、アカウントに関連付けられたパスワードとを入力するようにユーザに促すプログラムスクリプトが開始される。さらに、ユーザは、アカウントを識別するためにメニューまたはリストに表示させる名前を入力することができる。これに代えて、システムは、ログインページのＵＲＬ内のドメイン名に基づいて、ユーザの了承のもとに、アカウントの名前を割り当てるかまたは提案することができる。
【００８４】
ブラウザはログインページのＵＲＬにナビゲートされ、ＨＴＭＬが解析され、そして一意のフォーム識別子文字列がサーバに転送される。しかしながら、この状況においては、ログインフォームが対応付けされていないため、中央サーバにおけるプログラムコードは、以前に対応付け済みのフォームに識別子文字列を一致させることができない。従って、ログインフォームの構造または配置に関する情報は、システムに存在しない。ユーザによって提供されたＵＲＬにおけるログインフォームの性質と構造を識別するための発見的アルゴリズムが、中央サーバで実行される。
このアルゴリズムは、ＨＴＭＬを解析して、ＨＴＭＬコードに埋め込まれているユーザ名とパスワードのフィールドを有するログインフォームを検索する。ＨＴＭＬページにはそのコードに複数のフォームが埋め込まれていることがあるため、アルゴリズムは、最初は、相対的に少ない数のフィールド（例えば４つ以下）を有するフォームのみを識別するように試みる。ほとんどのログインフォームはユーザ名とパスワードを必要とするのみであるため、このことは妥当である。「パスワード」フィールドはＨＴＭＬコードの中で特有であるため、アルゴリズムは、次いでパスワードフィールドの存在を識別し、複数のパスワードフィールドを有するフォームを無視する。後者のようなフォームは、ログインフォームではなく、ほとんどの場合において登録フォーム（代表的には確認のためにパスワードを再入力するようにユーザに求める）である。単一のパスワードフィールドを有する短いフォームが識別されると、アルゴリズムは、パスワードフィールドの前のフィールドがユーザ名フィールドであると想定する。
【００８５】
上記の発見的アルゴリズムが完了すると、ログインフォームは、フォーム記入ルーチンが正確にフォームを記入できる程度に十分に詳細に調べられていて、処理手順は、第一の状況、すなわちログインフォームが以前に対応付けされている状況まで進む。フォーム記入スクリプトが呼び出され、ユーザ名とパスワードデータ（これらは、次いでユーザのデータベース記録に格納されることが望ましい）を入力するようにユーザに促すことができ、フォームを送信することができる。代替の実施例においては、カスタム追加機能は、ログインフォームを自動的に送信するのではなく、発見的アルゴリズムが正しくフォームを対応付けしたか否かと、ユーザ名とパスワードデータが正しい位置に記入されているか否かとを確認する機会をユーザに与えるように適合化させることができる。
【００８６】
Ｗｅｂサイトのアカウントを設定する３番目の場合においては、ユーザは、ログイン機能とは独立してアカウントへのログインを試みる。この状況においては、ユーザのコンピュータ端末におけるプログラムコードは、「アンロード時」イベントをキャッチして、ＨＴＭＬを解析し、一意のフォーム識別子文字列を調べることによって、ユーザがログインフォームを送信しているか否かを判断する。フォームは、以前に対応付けされている（この場合に処理手順は前述されている最初の状況に類似する）か、または対応付けされていない（この場合に処理手順は前述されているカスタム追加状況として扱われる）かのいずれかである。
【００８７】
ログイン機能によって機能するように登録済みアカウントが設定される方法に関係なく、必要なデータのすべてが中央サーバに提供された後は、登録済みアカウントへの以降のログインは、ユーティリティウィンドウインタフェース内で必要なアカウントを選択した時点で自動的に行うようにできる。ユーザのコンピュータ端末におけるプログラムスクリプトによって、ブラウザはログインページのＵＲＬにナビゲートする。「ロード時」イベントのキャッチ時、フォーム記入ルーチンが呼び出され、ルーチンはログインフォームのデータを中央サーバに送り、そのログインフォームの識別子文字列に関連付けられている適切なデータベース記録からユーザ名とパスワードのデータを抽出し、ユーザのコンピュータ端末におけるプログラムスクリプトを使用してそのユーザデータをフォームに挿入する。最後に、フォームがＷｅｂサーバに送信されるように、プログラムスクリプトがログインページにおける送信オプションの選択をシミュレートし、ユーザは選択された登録済みアカウントに自動的にログインする。
【００８８】
上述の説明から、本発明によって設計されたシステムは、特定の用途を目的として、具体的には、通常は完全に手動で行う必要のある対話を自動化することに関して、通常のＷｅｂブラウザの能力の汎用的、効果的、かつ個人的な拡張を提供することが理解できる。本文書に開示されている望ましい実施例は、具体例を示す目的としてのみ説明、図解されている。本発明は、これらに制限されることはない。当業者には、上記の詳細な開示から、本発明のその他の変更とバリエーションが明らかであろう。本文書には本発明の特定の実施例のみが具体的に説明されているが、本発明のコンセプトと範囲から逸脱せずに、これらの実施例に多数の変更を行えることが明らかであろう。
【図面の簡単な説明】
【図１】インターネットユーザと、ユーザが登録済みアカウントを維持できるいくつかのサイトの間に現在必要な対話の、単純化された線図である。
【図２】インターネットユーザと、ユーザが登録済みアカウントを維持できるいくつかのサイトの間に必要な対話と、中間層（ｉｎｔｅｒｍｅｄｉａｒｙ）として機能する本発明のシステムの、単純化された線図である。
【図３】本発明のインタフェースの一実施例を含むように修正された、通常のＷｅｂブラウザアプリケーションによって提示されるグラフィカルユーザインタフェースの単純化された図である。
【図４】本発明の中央サーバと、ユーザが登録済みアカウントを維持できるいくつかの電子メールサーバの間の対話の、単純化された線図である。
【図５】インターネットのブラウズセッション中にユーザが遭遇することのある代表的なフォームの単純化された図である。
【図６】本発明の中央サーバと代表的なＷｅｂサイトのフォームページの間の対話の単純化された線図である。
【符号の説明】
１１０  コンピュータ端末
１２１〜１２５  Ｗｅｂサイト
２１０  コンピュータ端末
２２１〜２２５  Ｗｅｂサイト
２９９  中央Ｗｅｂベースサーバ
３１０  ブラウザＧＵＩ
３１１  メニューバー
３１２  コントロールバー
３１３  テキストボックス
３１４  ナビゲーションウィンドウ
３５０  ユーティリティウィンドウ
３５１  操作ボタン
３５２  ドロップダウンメニュー
４１０  コンピュータ端末
４２１〜４２５  Ｗｅｂサイト
４８１〜４８３  電子メールサーバ
４９９  中央サーバ
５１０  ブラウザＧＵＩ
５１１  メニュー
５１２  コントロールバー
５１３  テキストボックス
５１４  ナビゲーションウィンドウ
５５０  ユーティリティウィンドウ
５５５  ボタン
５５６  ドロップダウンメニュー
５８０  フォーム
５８１〜５８８  フィールド
５８１  「Ｎａｍｅ」（名前）  フィールド
５８２  「Ｐｈｏｎｅ」（電話）  フィールド
５８３  「Ａｄｄｒｅｓｓ」（住所）  フィールド
５８４  「Ｃｉｔｙ」（市）  フィールド
５８５  「Ｓｔａｔｅ」（州）  フィールド
５８６  「ＺＩＰ」（郵便番号）  フィールド
５８７  「Ｃｒｅｄｉｔ Ｃａｒｄ Ｎｕｍｂｅｒ」（クレジットカード番号）フィールド
５８８  「Ｅｘｐｉｒａｔｉｏｎ Ｄａｔｅ」（有効期限）フィールド
６１０  コンピュータ端末
６５０  ユーティリティウィンドウ
６８０  フォーム
【図１】
2004501426.tif 000003
【図２】
2004501426.tif 000004
【図３】
2004501426.tif 000005
【図４】
2004501426.tif 000006
【図５】
2004501426.tif 000007
【図６】
2004501426.tif 000008
【国際公開パンフレット】
2004501426.tif 000009
2004501426.tif 000010
2004501426.tif 000011
2004501426.tif 000012
2004501426.tif 000013
2004501426.tif 000014
2004501426.tif 000015
2004501426.tif 000016
2004501426.tif 000017
2004501426.tif 000018
2004501426.tif 000019
2004501426.tif 000020
2004501426.tif 000021
2004501426.tif 000022
2004501426.tif 000023
2004501426.tif 000024
2004501426.tif 000025
2004501426.tif 000026
2004501426.tif 000027
2004501426.tif 000028
2004501426.tif 000029
2004501426.tif 000030
2004501426.tif 000031
2004501426.tif 000032
2004501426.tif 000033
2004501426.tif 000034
2004501426.tif 000035
2004501426.tif 000036
2004501426.tif 000037
2004501426.tif 000038
2004501426.tif 000039
2004501426.tif 000040
2004501426.tif 000041
2004501426.tif 000042
2004501426.tif 000043
2004501426.tif 000044
2004501426.tif 000045
2004501426.tif 000046
2004501426.tif 000047
2004501426.tif 000048
2004501426.tif 000049
2004501426.tif 000050
2004501426.tif 000051
2004501426.tif 000052
2004501426.tif 000053
2004501426.tif 000054
2004501426.tif 000055
2004501426.tif 000056
2004501426.tif 000057
2004501426.tif 000058
2004501426.tif 000059
2004501426.tif 000060
2004501426.tif 000061
2004501426.tif 000062
2004501426.tif 000063
【国際公開パンフレット（コレクトバージョン）】
2004501426.tif 000064
2004501426.tif 000065
【国際公開パンフレット（コレクトバージョン）】
2004501426.tif 000066
2004501426.tif 000067
【国際調査報告】
2004501426.tif 000068
2004501426.tif 000069
2004501426.tif 000070