(57)【要約】【課題】エンドユーザに動的なウィザードインタフェースを提供する。【解決手段】一実施形態では、クライアント装置３００は、リモートサーバ４００から、自己記述データフォーマットを使用するいくつかのパッケージをカプセル化するコンテナを取り出す。上記クライアント装置３００上のウィザードエンジンは、このコンテナおよびパッケージを解釈し、ウィザードインタフェースを生成する。好ましくは、本発明は、ウィザードインタフェースに関する取込み情報を受け取り、保存し、送るために互換データ構造を使用する。【選択図】　　　　図２
2004013902.tif 000002
【特許請求の範囲】
【請求項１】
ウィザードインタフェースを提供するためのコンピュータ実行方法であって、
ウィザードインタフェースの一部を作成するためのパッケージを判定するステップと、
前記パッケージをコンテナ内にカプセル化するステップと、
前記ウィザードインタフェースに変換するために、前記コンテナをウィザードエンジンに送達するステップと
を備えたことを特徴とする方法。
【請求項２】
前記コンテナおよび前記パッケージは自己記述データフォーマットで提示されることを特徴とする請求項１に記載の方法。
【請求項３】
前記自己記述データフォーマットはＸＭＬであることを特徴とする請求項２に記載の方法。
【請求項４】
前記パッケージは、前記ウィザードインタフェースを記述するページおよびオブジェクトを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記オブジェクトは、自己記述データフォーマットの形で提示されることを特徴とする請求項４に記載の方法。
【請求項６】
前記ページは、前記ページ間の順方向フローおよび逆方向フローを保持する順方向ポインタおよび逆方向ポインタを含むことを特徴とする請求項４に記載の方法。
【請求項７】
前記オブジェクトはアクションオブジェクトを含むことを特徴とする請求項４に記載の方法。
【請求項８】
前記ウィザードインタフェースを事前充填するために、前記ウィザードインタフェースでユーザを識別し、関連するユーザデータを取り出すステップ
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項９】
前記ウィザードインタフェースを事前充填することは、データ構造中の自己記述データフィールドを、前記パッケージ内の自己記述オブジェクトとマッチングすることを備えたことを特徴とする請求項７に記載の方法。
【請求項１０】
パッケージを判定するステップは、前記コンテナ内にカプセル化すべき多数のパッケージを、第１の分岐するパッケージまで、第１の分岐するパッケージを含めて収集するステップを備えたことを特徴とする請求項１に記載の方法。
【請求項１１】
分岐パッケージを前記ウィザードエンジンに送達した後、送達した前記パッケージが選択されるときに送達した前記分岐パッケージを再利用することを特徴とする請求項１０に記載の方法。
【請求項１２】
前記コンテナ内に前記複数の分岐パッケージをさらにカプセル化することにより、前記複数の分岐パッケージをキャッシュすることができることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記第１の分岐するパッケージは、複数の分岐パッケージへのポインタを含むことを特徴とする請求項１０に記載の方法。
【請求項１４】
前記ウィザードインタフェース内の選択に応答して、前記分岐パッケージのうちの１つが分岐コンテナ内にカプセル化され、前記ウィザードエンジンに送達されることを特徴とする請求項１３に記載の方法。
【請求項１５】
カプセル化された前記分岐パッケージは、前記選択が行われたところの選択オブジェクトを含む前記分岐するパッケージ内のページへのポインタを含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記パッケージは追加のパッケージをカプセル化することを特徴とする請求項１に記載の方法。
【請求項１７】
前記追加のパッケージはライブデータオブジェクトを含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記追加のパッケージは分岐するパッケージであり、前記ライブデータオブジェクトは選択オブジェクトであり、選択オブジェクトの選択により、どの分岐パッケージが前記ウィザードエンジンに送達されるか判定されることを特徴とする請求項１７に記載の方法。
【請求項１９】
所望のウィザードインタフェースを記述するウィザードコンテナを動的に提供するためのコンピュータ実行方法であって、
前記ウィザードコンテナを求める要求を受け取るステップと、
複数のコンテナのうちのどれが前記所望のウィザードインタフェースを実施するかを前記要求から識別するステップと、
前記所望のウィザードインタフェースに変換するために、識別した前記コンテナを前記複数のコンテナからウィザードエンジンに送達するステップと
を備えたことを特徴とする方法。
【請求項２０】
前記コンテナは、前記所望のウィザードインタフェースをさらに変換するために補助コンテナを要求することができるパッケージを含むことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記コンテナは、複数の自己記述パッケージを含み、前記自己記述パッケージは、所望のウィザードインタフェースの構成要素を記述するページおよびオブジェクトを含むことを特徴とする請求項１９に記載の方法。
【請求項２２】
プロセッサと、ウィザードインタフェースを提供する実行可能命令を含むメモリとを有するコンピュータサーバ装置であって、
ウィザードインタフェースの部分を生成するためのパッケージを判定し、
複数のパッケージを含むデータベースから前記パッケージを取り出し、
前記パッケージをコンテナ内にカプセル化し、
前記ウィザードインタフェースに変換するために、ウィザードエンジンを含むクライアント装置に前記コンテナを送達する
ように動作可能であることを特徴とするコンピュータサーバ装置。
【請求項２３】
前記コンテナおよび前記パッケージは、自己記述データフォーマットの形で提供されることを特徴とする請求項２２に記載のコンピュータサーバ装置。
【請求項２４】
前記自己記述データフォーマットはＸＭＬであることを特徴とする請求項２３に記載のコンピュータサーバ装置。
【請求項２５】
前記パッケージは、前記ウィザードインタフェースをさらに記述するページおよびオブジェクトを含むことを特徴とする請求項２２に記載のコンピュータサーバ装置。
【請求項２６】
前記オブジェクトは自己記述データフォーマットの形で提示されることを特徴とする請求項２５に記載のコンピュータサーバ装置。
【請求項２７】
前記ページは、前記ページ間の順方向フローおよび逆方向フローを保持する順方向ポインタおよび逆方向ポインタを含むことを特徴とする請求項２５に記載のコンピュータサーバ装置。
【請求項２８】
前記オブジェクトはアクションオブジェクトを含むことを特徴とする請求項２５に記載のコンピュータサーバ装置。
【請求項２９】
前記ウィザードインタフェースを事前充填するために、前記ウィザードインタフェースでユーザを識別し、関連するユーザデータを取り出す
ようにさらに動作可能であることを特徴とする請求項２２に記載のコンピュータサーバ装置。
【請求項３０】
前記ウィザードインタフェースを事前充填することは、データ構造中の自己記述データフィールドを、前記パッケージ内の自己記述オブジェクトとマッチングすることを含むことを特徴とする請求項２９に記載のコンピュータサーバ装置。
【請求項３１】
パッケージを判定することは、前記コンテナ内にカプセル化すべき多数のパッケージを、第１の分岐するパッケージまで、第１の分岐するパッケージを含めて収集することを備えたことを特徴とする請求項２２に記載のコンピュータサーバ装置。
【請求項３２】
送達した前記パッケージが選択されるときに、送達した前記分岐パッケージが再利用され、分岐パッケージが既に前記ウィザードエンジンに送達されていることを特徴とする請求項３１に記載のコンピュータサーバ装置。
【請求項３３】
前記コンテナ内に前記複数の分岐パッケージをさらにカプセル化することにより、前記複数の分岐パッケージをキャッシュすることができることを特徴とする請求項３２に記載のコンピュータサーバ装置。
【請求項３４】
前記第１の分岐するパッケージは、複数の分岐パッケージへのポインタを含むことを特徴とする請求項３１に記載のコンピュータサーバ装置。
【請求項３５】
前記ウィザードインタフェース内の選択に応答して、前記分岐パッケージのうちの１つが分岐コンテナ内にカプセル化され、前記ウィザードエンジンに送達されることを特徴とする請求項３４に記載のコンピュータサーバ装置。
【請求項３６】
カプセル化された前記分岐パッケージは、前記選択が行われたところの選択オブジェクトを含む前記分岐するパッケージ内のページへのポインタを含むことを特徴とする請求項３５に記載のコンピュータサーバ装置。
【請求項３７】
前記パッケージが追加のパッケージをカプセル化することを特徴とする請求項２２に記載のコンピュータサーバ装置。
【請求項３８】
前記追加のパッケージはライブデータオブジェクトを含むことを特徴とする請求項３７に記載のコンピュータサーバ装置。
【請求項３９】
前記追加のパッケージは分岐するパッケージであり、前記ライブデータオブジェクトは選択オブジェクトであり、選択オブジェクトの選択により、前記ウィザードエンジンに送達される分岐パッケージが判定されることを特徴とする請求項３８に記載のコンピュータサーバ装置。
【請求項４０】
プロセッサと、命令を含むメモリとを有するコンピュータサーバ装置であって、
ウィザードコンテナを求める要求を受け取り、
複数の自己記述コンテナのうちのどれが所望のウィザードインタフェースを実施するかを前記要求から識別し、
記所望のウィザードインタフェースに変換するために、識別した前記コンテナをウィザードエンジンに送達する
ことによって、前記所望のウィザードインタフェースを記述する前記ウィザードコンテナを動的に提供するように動作可能であることを特徴とするコンピュータサーバ装置。
【請求項４１】
前記コンテナは、前記所望のウィザードインタフェースをさらに変換するために補助コンテナを要求することができるパッケージを含むことを特徴とする請求項４０に記載のコンピュータサーバ装置。
【請求項４２】
前記コンテナは、複数の自己記述パッケージを含み、前記自己記述パッケージは、前記所望のウィザードインタフェースの構成要素を記述するページおよびオブジェクトを含むことを特徴とする請求項４０に記載のコンピュータサーバ装置。
【請求項４３】
ウィザードインタフェースの一部を作成するためのパッケージを判定するステップと、
前記パッケージをコンテナ内にカプセル化するステップと、
前記ウィザードインタフェースに変換するために、前記コンテナをウィザードエンジンに送達するステップと
によって前記ウィザードインタフェースの構成要素を提供するコンピュータ実行可能コードを備えたことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項４４】
前記コンテナおよび前記パッケージは自己記述データフォーマットの形で提示されることを特徴とする請求項４３に記載のコンピュータ読み取り可能な記録媒体。
【請求項４５】
前記自己記述データフォーマットはＸＭＬであることを特徴とする請求項４４に記載のコンピュータ読み取り可能な記録媒体。
【請求項４６】
前記パッケージは、前記ウィザードインタフェースをさらに記述するページおよびオブジェクトを含むことを特徴とする請求項４３に記載のコンピュータ読み取り可能な記録媒体。
【請求項４７】
前記ページは、前記ページ間の順方向フローおよび逆方向フローを保持する順方向ポインタおよび逆方向ポインタを含むことを特徴とする請求項４６に記載のコンピュータ読み取り可能な記録媒体。
【請求項４８】
前記オブジェクトはアクションオブジェクトを含むことを特徴とする請求項４６に記載のコンピュータ読み取り可能な記録媒体。
【請求項４９】
前記オブジェクトは自己記述データフォーマットの形で提示されることを特徴とする請求項４６に記載のコンピュータ読み取り可能な記録媒体。
【請求項５０】
前記ウィザードインタフェースを事前充填するために、前記ウィザードインタフェースのユーザを識別し、関連するユーザデータを取り出すステップ
のためのコンピュータ実行可能コードをさらに備えたことを特徴とする請求項４９に記載のコンピュータ読み取り可能な記録媒体。
【請求項５１】
前記ウィザードインタフェースを事前充填することは、データ構造中の自己記述データフィールドを、前記パッケージ内の自己記述オブジェクトとマッチングすることを含むことを特徴とする請求項４７に記載のコンピュータ読み取り可能な記録媒体。
【請求項５２】
パッケージを判定するステップは、前記コンテナ内にカプセル化すべきパッケージを、第１の分岐するパッケージまで、第１の分岐するパッケージを含めて収集するステップを備えたことを特徴とする請求項４３に記載のコンピュータ読み取り可能な記録媒体。
【請求項５３】
送達した前記パッケージが選択されたときに、送達した前記分岐パッケージを再利用して、分岐パッケージは既に前記ウィザードエンジンに送達されていることを特徴とする請求項５２に記載のコンピュータ読み取り可能な記録媒体。
【請求項５４】
前記第１の分岐するパッケージは、複数の分岐パッケージへのポインタを含むことを特徴とする請求項５３に記載のコンピュータ読み取り可能な記録媒体。
【請求項５５】
前記コンテナ内に前記分岐パッケージをさらにカプセル化することにより、前記分岐パッケージをキャッシュすることができることを特徴とする請求項５４に記載のコンピュータ読み取り可能な記録媒体。
【請求項５６】
前記ウィザードインタフェース内の選択に応答して、前記分岐パッケージのうちの１つが分岐コンテナ内にカプセル化され、前記ウィザードエンジンに送達されることを特徴とする請求項５４に記載のコンピュータ読み取り可能な記録媒体。
【請求項５７】
前記カプセル化された分岐パッケージは、前記選択が行われたところの選択オブジェクトを含む前記分岐するパッケージ内のページへのポインタを含むことを特徴とする請求項５５に記載のコンピュータ読み取り可能な記録媒体。
【請求項５８】
前記パッケージは追加のパッケージをカプセル化することを特徴とする請求項４３に記載のコンピュータ読み取り可能な記録媒体。
【請求項５９】
前記追加のパッケージはライブデータオブジェクトを含むことを特徴とする請求項５８に記載のコンピュータ読み取り可能な記録媒体。
【請求項６０】
前記追加のパッケージは分岐するパッケージであり、前記ライブデータオブジェクトは選択オブジェクトであり、選択オブジェクトの選択により、前記ウィザードエンジンに送達される分岐パッケージが判定されることを特徴とする請求項５９に記載のコンピュータ読み取り可能な記録媒体。
【請求項６１】
ウィザードコンテナを求める要求を受け取るステップと、複数の自己記述コンテナのうちのどれが所望のウィザードインタフェースを実施するかを前記要求から識別するステップと、
前記所望のウィザードインタフェースに変換するために、識別した前記コンテナをウィザードエンジンに送達するステップと
によって、前記所望のウィザードインタフェースを記述する前記ウィザードコンテナを動的に提供するコンピュータ実行可能コードを備えたことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項６２】
前記コンテナは、前記所望のウィザードインタフェースをさらに変換するために補助コンテナを要求することができる追加のパッケージを含むことを特徴とする請求項６１に記載のコンピュータ読み取り可能な記録媒体。
【請求項６３】
前記コンテナは、複数の自己記述パッケージを含み、前記自己記述パッケージは、所望のウィザードインタフェースの構成要素を記述するページおよびオブジェクトを含むことを特徴とする請求項６１に記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にはユーザインタフェースに関連したウィザードインタフェースを提供するための方法及びコンピュータサーバ装置並びに記録媒体に関する。詳細には、エンドユーザに動的なウィザードインタフェースを提供するウィザードインタフェースを提供するための方法、所望のウィザードインタフェースを記述するウィザードコンテナを動的に提供するための方法、コンピュータサーバ装置及び記録媒体に関する。
【０００２】
【従来の技術】
通信ネットワークは、コンピュータ通信の分野で周知である。定義によると、ネットワークは、通信機構又は通信リンクで接続された一群のコンピュータおよび関連する装置のことである。ネットワーク通信は、ケーブル経由のような常設型でよく、又は電話リンク又はワイヤレスリンクを介して行われる接続などの一時的な性質のものでよい。ネットワークのサイズは、少数のコンピュータ又はワークステーションと、関係する装置とからなるローカルエリアネットワーク（「ＬＡＮ」）から、地理的に分散しているコンピュータとＬＡＮを相互接続するワイドエリアネットワーク（「ＷＡＮ」）や、一時的通信リンクを介してリモートコンピュータを相互接続するリモートアクセスサービス（「ＲＡＳ」）まで異なる。インターネットワークは、様々なネットワークからのデータ転送および変換を容易にするゲートウェイ又はルータによって、複数のコンピュータネットワーク（類似のコンピュータネットワークと異なるコンピュータネットワークの両方）を結合したものである。インターネットワークという用語の周知の略語は、「インターネット（ｉｎｔｅｒｎｅｔ）」である。現在理解されているように、大文字の用語「インターネット（Ｉｎｔｅｒｎｅｔ）」は、インターネットプロトコル（「ＩＰ」）を、伝送制御プロトコル／インターネットプロトコル（「ＴＣＰ／ＩＰ」）又はユニフォームデータグラムパケット／インターネットプロトコル（「ＵＤＰ／ＩＰ」）などのより上位のプロトコルと共に使用して、互いに通信するネットワークとルータの集合を指す。
【０００３】
インターネットは、世界中に位置するコンピュータをリンクすることができることにより、近年爆発的に成長した。他の対話型環境には、マイクロソフトネットワーク（ＭＳＮ）又は他のオンラインサービスプロバイダによって提供されるような独自の環境や、様々なワイヤレスネットワーキングプロバイダ、特に携帯電話業界のワイヤレスネットワーキングプロバイダによって提供される「ワイヤレスウェブ」を含めることができる。以下の説明から理解するであろうが、本発明はそのようなどんな対話型環境にも適用することができる。しかし、解説の都合上、本発明を実装するための例示的な対話型環境としてインターネットを用いる。
【０００４】
インターネットは、主に情報を様々なフォーマットで送達することができるために、急速に、情報を配布する一般的な方法となった。インターネットを介して情報を入手可能にするために、ユーザは一般に、文書および／又はデータを格納するための大容量記憶機構を有し、かつ格納された文書を求める要求を処理するための管理ソフトウェアを動作させる、インターネットに接続されたサーバ上に常駐する文書又は他のデータを作成する。文書をアドレス指定するための一般的な方法は、インターネットに接続されたサーバ上のリンクされた文書の正確な位置を与える、関連するユニフォームリソースロケータ（「ＵＲＬ」）による方法である。
【０００５】
インターネットの開始時には、インターネット上に格納された情報は、一般に静的なものであり、サーバ上の文書に含まれる情報を変更したい場合、文書を書き直すことによって文書を手動で構成することが必要であった。しかし、インターネットの現在の開発状況では、多くのサーバが、ユーザの消費者向け装置とサーバとの間でのユーザの対話に応じて変化する、動的なコンテンツを提供する。
【０００６】
インターネットの開発と並行して、コンピュータシステム用のグラフィカルユーザインタフェース（「ＧＵＩ」）にいくつかの拡張が行われた。そのようなＧＵＩは、ウィザードインタフェースと呼ばれ、ある場合にはアシスタントインタフェースとも呼ばれる。ウィザードインタフェースは一般に、ウィザードエンジンと対話してユーザが結果を生成できるようにする、構造化された一連のページ又はダイアログである。本明細書では、ウィザードインタフェースおよびウィザードエンジンをウィザードと総称する。チュートリアルやオンラインヘルプ画面などの他の形態のＧＵＩとは異なり、ウィザードは１つ又は複数のタスクも実施する。ウィザードインタフェースが紹介されて以来、ウィザードインタフェースは、複雑なタスク中を手引きしてエンドユーザを案内する方法として広く受け入れられてきた（特許文献１参照）。ウィザードインタフェースがますます受け入れられるようになるにつれて、ウィザードに実行を求めるタスクの複雑さも増大してきた。加えて、使用法が増大することにより、様々なタイプの人々が、ウィザードの作成に貢献するように求められている。
【０００７】
従来のウィザードインタフェースは一般に、設計するのにかなりのソフトウェア開発経験を必要とするハードコード化されたグラフィカルユーザインタフェース構成要素である。ウィザードの必要が増すにつれて、ウィザードインタフェースを作成し、かつ／又はウィザードインタフェースの作成を管理できる経験のある開発者の供給は、それに比例して増加しなかった。したがって、経験のあるソフトウェア開発者を必要とせずにウィザードを設計するための方法が求められている。
【０００８】
従来のウィザードインタフェースは、完全な形であるときは、ナビゲートが容易であり、経験の浅いエンドユーザであっても使用が容易である。しかし、ウィザードインタフェースのページを追加、削除、又は変更することによってウィザードインタフェースを変更することにより、実施が困難な複数のレベルの変更が引き起こされる。例えば、ウィザードインタフェースに別の分岐ページを加えることにより、新しいページ順序を反映させるために、前のページおよび／又は後続のページすべてを更新することが必要となる可能性がある。加えて、ウィザードインタフェース中の全ページに関する全構成要素をあらかじめ決定し、ウィザードと共にパッケージすることが必要となる。それぞれ３つの可能な分岐がある、５つの分岐ページを有するウィザードインタフェースは、２００個の可能なページノードを有し、潜在的には、わずか５番目のページでも１００を超えるバリエーションを有する。複雑なウィザードインタフェース中に含まれる、より多数のページが追加されるとき、およびウィザードがページ中に４つ以上の選択肢を提供するとき、この複雑さは悪化するだけである。さらに、ライブデータ（例えば、利用可能なサーバのリストや他のリアルタイム情報）を従来のウィザードに組み込む能力は、ウィザードインタフェースのページを動的に変更することが困難なことによって限定される。むしろ、すべての可能な組合せをあらかじめ決定する必要がある。これにより必然的に、従来のウィザードの開発および配置がさらに大規模かつ厄介なものとなり、又は単に、効率的に応答／対話するウィザードの能力が妨げられる。以前に開発したウィザードインタフェースで必要な複雑さおよび／又は資源を増大させることなくウィザードインタフェースを機能強化する、使用が容易なシステムおよび方法を有することが望ましい。
【０００９】
【特許文献１】
米国特許第５３０１３２６号明細書
【００１０】
【発明が解決しようとする課題】
従来のシステムには上述したような種々の問題があり、さらなる改善が望まれている。
【００１１】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、ウィザードインタフェースの効率および操作性を改善するように動的なウィザード構成要素を提供できる、ウィザードインタフェースを提供するための方法及びコンピュータサーバ装置並びに記録媒体を提供することにある。
【００１２】
【課題を解決するための手段】
本発明は、ウィザードエンジンに動的なウィザードインタフェースを提供することを対象とする。一実施形態では、サーバコンピュータは動的なウィザードを求める要求を受け取り、その動的なウィザードインタフェースに含めるべきいくつかのパッケージを決定する。初期パッケージはコンテナ内にカプセル化され、そのコンテナが、通常は別のコンピューティング装置上に位置するウィザードエンジンに送られ、解釈され、ウィザードインタフェースに変換される。コンテナおよびパッケージは、その構成要素を記述するのにＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）などの自己記述データフォーマットを使用する。本発明の１つの特定の実施形態では、パッケージおよびコンテナ内の構成要素を記述するのに特定の１組の用語を使用する。この一群の用語は、エクスペリエンス生成言語（「ＸＧＬ（ｅｘｐｅｒｉｅｎｃｅ　ｇｅｎｅｒａｔｉｏｎ　ｌａｎｇｕａｇｅ）」）と呼ばれる。一般には、パッケージは、ウィザードインタフェースをさらに記述するページおよびオブジェクトを含む。
【００１３】
本発明の追加の態様によれば、エンドユーザは、ある形態の識別情報をウィザードインタフェースに与える。動的なウィザードは、この識別情報を使用して、関連するユーザデータを取り出し、ウィザードインタフェースの既知の部分を事前充填する。この事前充填は一般に、パッケージ内の自己記述データフィールドを、ユーザの情報を含むデータ構造中の自己記述データフィールドとマッチングすることを含む。
【００１４】
本発明の別の態様によれば、初期カプセル化コンテナは、１組の初期パッケージを含む。好ましくは、この１組の初期パッケージは、次のパッケージ又は次のページへの論理分岐経路を有さないパッケージである。例えば、あるパッケージを、名前情報を収集するように設計し、次のパッケージを、アドレス情報を収集するように設計し、その次のパッケージを、コンピュータ装置の詳細を収集するように設計した場合、これらのパッケージを使用して取り出した情報のすべては関連する情報であるので、何らかの別のタイプのパッケージに分岐する必要はない。一方、あるページがクレジットカードの支払か、それとも小切手の支払かに関する決定を含む場合、ユーザの決定に基づいて、必要なのは小切手、又はクレジットカード情報だけであると想定することはもっともなことである。その結果、ウィザードのフローは、この決定点で分岐することになる。
【００１５】
一実施形態で、この１組の初期パッケージ内に分岐が存在しない場合であっても、分岐が含まれる場合、即ちいずれにしても他のパッケージが分岐を含む場合、エンドユーザが行った選択を介して、エンドユーザが順方向と逆方向の両方向にナビゲートできることが望ましい。したがって、本発明の一実施形態では、パッケージ内に含まれる各ページと、他のパッケージ内のページへの参照とは、順方向ポインタと逆方向ポインタを共に含む。順方向ポインタは、いくつかの相異なる可能な次のページおよび／又はパッケージを含むことができるが、逆方向ポインタは常に単一の「前の」ページをポイントする。もちろん、ウィザードインタフェースの第１ページは、前のページへのリンクを有さない。
【００１６】
本発明のさらに別の態様によれば、ウィザード中をナビゲートするプロセスの間に、分岐で、新しいパッケージが必要であると判定される場合、分岐の判定に基づいて、要求が次の１つ又は複数のパッケージに送られる。
【００１７】
本発明のさらに別の態様によれば、あるパッケージは、ライブデータを含むサブパッケージを含むことができ、又はそれをカプセル化することができる。ライブデータを含むサブパッケージに含まれる情報は、エンドユーザがウィザードインタフェースを閲覧しているときに取り出される。このような使用法の一例は、ユーザが本発明に従って形成された動的なウィザードインタフェースを閲覧しながら、特定のサーバを選択して対話することである。このような使用法では、ライブデータが対話するのに利用可能なサーバのリストを提供し、それによってエンドユーザが、選択を行う際に使用するための最新の情報を有することになることが保証される。
【００１８】
本発明のさらに別の態様によれば、分岐点から取り出すべき次のパッケージがキャッシュされる。この態様は、ウィザードインタフェースの特定のページが３つの異なる支払の種類についての選択肢をエンドユーザに与える場合に有用である。このような状況では、決定に至った後に、選んだパッケージを動的にダウンロードするよりも、３つのすべての選択肢を含むパッケージをダウンロードしてキャッシュする方が時間効率が良いことがあり、それによって、パッケージを後にダウンロードすることにより生じるどんな遅延も解消される。このことは、例えばエンドユーザが低帯域幅接続を有するためにエンドユーザの接続速度が低速であるときに特に有用である。
【００１９】
本発明のさらに別の態様によれば、初期コンテナに関するパッケージは事前決定される。初期コンテナをウィザードエンジンに供給することは、複数のコンテナのうちのどれが所望のウィザードを実施するかを判定することを伴い、それによって、初期コンテナ内に含めるパッケージを決定する必要が緩和される。
【００２０】
以上の概要から容易に理解するであろうが、本発明は、ウィザードインタフェースの効率および操作性を改善するように動的なウィザード構成要素を提供する、新しい改良型の方法、並びに関係するシステムとコンピュータ可読媒体を提供する。
【００２１】
本発明の上記の態様や、本発明に伴う利点の多くは、添付の図面を参照しながら以下の詳細な説明を参照することによって、容易に理解されよう。
【００２２】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００２３】
以下の詳細な説明は、主に、プロセッサと、プロセッサ用のメモリ記憶装置と、接続されたディスプレイ装置と、入力装置とを含む従来型コンピュータ構成要素によるプロセスと、オペレーションの記号による表現によって表される。さらに、これらのプロセスおよびオペレーションは、リモートファイルサーバ、コンピュータサーバ、およびメモリ記憶装置を含む異機種分散コンピューティング環境内の従来型コンピュータ構成要素を使用することができる。これらの従来型分散コンピューティング構成要素はそれぞれ、プロセッサによって、通信ネットワークを介してアクセス可能である。
【００２４】
先に述べたように、大文字の用語「Ｉｎｔｅｒｎｅｔ」は、相互の通信を使用するネットワークおよびルータの集合を指す。図１にインターネット１００の代表的部分を示す。従来技術、より具体的には図１に示すインターネット１００の代表的部分は、ルータ１１０ａ〜１１０ｃによって相互接続された複数のＬＡＮ１２０ａ〜１２０ｃおよびＷＡＮ１３０ａ、１３０ｂを含む。ルータ１１０ａ〜１１０ｃは一般に、あるＬＡＮ又はＷＡＮを別のＬＡＮ又はＷＡＮとインタフェースするのに使用される特殊目的コンピュータである。ＬＡＮ内の通信リンクは、ツイストペア線、同軸ケーブル、あるいは、ワイヤレス技術を含むその他の周知のどんな通信リンケージ技術でも形成することができる。ネットワーク間の通信リンクは、５６ｋｂｐｓアナログ電話回線、あるいは１ＭｂｐｓデジタルＴ−１回線および／又は４５ＭｂｐｓＴ−３回線、あるいはワイヤレス技術を含むその他の周知のどんな通信リンケージ技術でも形成することができる。さらに、コンピュータと、他の関係する電子装置１４０ａ〜１４０ｆは、モデムや、ワイヤレス電話リンクを含む一時的電話リンクを介して、ＬＡＮ１２０ａ〜１２０ｃ又はＷＡＮ１３０ａ、１３０ｂにリモートに接続することができる。図１では、このようなコンピュータおよび電子装置１４０ａ〜１４０ｆを、ＬＡＮ１２０ａ〜１２０ｃのうちの１つに接続されているものとして図示する。インターネット１００が、膨大な数のこのような相互接続されたネットワーク、コンピュータ、およびルータを含むこと、およびインターネット１００の小さい代表的部分だけを図１に図示していることを理解されよう。
【００２５】
図２に、動的なウィザードインタフェースを提供するシステム２００の機能ブロック図を示す。システム２００は一般に、ネットワーク（インターネット１００など）を介して相互接続された個々のコンピュータシステムを含む分散コンピューティング環境で動作するが、システム２００は、同様に単一のスタンドアロンコンピュータシステムとしても動作できることを当業者は理解されよう。図２に示すシステム２００は、インターネット１００などのインターネットワークを介して相互接続されたクライアント装置３００、ＸＧＬサーバ４００、およびユーザデータベース２１０を含む。図２には、ＸＧＬサーバ４００と通信するＸＧＬデータベース４４９も示す。ＸＧＬデータベース４４９はＸＧＬサーバ４００上に常駐することができ、又は別のコンピューティング装置上に常駐できることを当業者は理解されよう。以下で、クライアント装置３００およびＸＧＬサーバ４００を、それぞれ図３および４に関してさらに説明する。加えて、１つのクライアント装置３００だけを図示しているが、多数のクライアント装置３００をシステム２００内に含めることができることを理解されよう。
【００２６】
図３に、クライアント装置３００を形成するのに適した例示的コンピューティングシステムを示す。このコンピューティングシステムは、適切なコンピューティング環境の一例に過ぎず、本発明の使用範囲又は機能範囲に関して何らかの制限を示すことを意図するものではない。このコンピューティング環境が、例示的動作環境に図示する構成要素のいずれか１つ又はそれらの組合せに関する依存要件を有すると解釈すべきでもない。
【００２７】
本発明は、他の多数の汎用コンピューティングシステム環境又は構成、あるいは他の多数の特殊目的コンピューティングシステム環境又は構成で動作可能である。本発明を実装するのに適した周知のコンピューティングシステム、環境、および／又は構成の例には、限定はしないが、パーソナルコンピュータ、サーバコンピュータ、ラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、ネットワークＰＣ（ｐｅｒｓｏｎａｌ　ｃｏｍｐｕｔｅｒ）、ミニコンピュータ、メインフレームコンピュータ、並びに上記のシステムのいずれかを含む分散コンピューティング環境などが含まれる。
【００２８】
本発明で使用するクライアント装置は、図３に図示し、以下で説明するタイプのコンピュータ３２０によって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的状況で説明することができる。一般に、プログラムモジュールは、特定のタスクを実行し、又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカル記憶媒体とリモート記憶媒体のどちらにも位置することができる。
【００２９】
図３を参照すると、本発明を実装するのに適した例示的クライアント装置３００は、コンピュータ３２０の形態の汎用コンピューティング装置である。コンピュータ３２０の構成要素には、限定はしないが、プロセッサ３２２と、システムメモリ３２４と、ディスプレイ３９０と、システムメモリ３２４を含む様々なシステム構成要素をプロセッサ３２２に結合するシステムバス３２６とが含まれる。システムバス３２６は、メモリバス又はメモリコントローラと、周辺バスと、様々なバスアーキテクチャのうちのいずれかを使用するローカルバスとを含むいくつかのタイプのバス構造のいずれでもよい。例えば、限定はしないが、このようなアーキテクチャには、ＩＳＡ（ｉｎｄｕｓｔｒｙ　ｓｔａｎｄａｒｄ　ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（ｍｉｃｒｏｃｈａｎｎｅｌ　ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（ｅｎｈａｎｃｅｄ　ＩＳＡ）バス、ＶＥＳＡ（ｖｉｄｅｏ　ｅｌｅｃｔｒｏｎｉｃ　ｓｔａｎｄａｒｄｓ　ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、メザニンバスとも呼ばれるＰＣＩ（ｐｅｒｉｐｈｅｒａｌ　ｃｏｍｐｏｎｅｎｔ　ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、およびＡＧＰ（ａｃｃｅｌｅｒａｔｅｄ　ｇｒａｐｈｉｃｓ　ｐｏｒｔ）バスが含まれる。
【００３０】
コンピュータ３２０は、一般に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ３２０でアクセスすることができる入手可能などんな媒体でもよく、揮発性媒体と不揮発性媒体の両方、リムーバル媒体とノンリムーバル媒体の両方が含まれる。例えば、限定はしないが、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体には、限定はしないが、ＲＡＭ（ｒａｎｄｏｍ　ａｃｃｅｓｓ　ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄｏｎｌｙ　ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ　ｅｒａｓａｂｌｅ　ＰＲＯＭ）、フラッシュメモリ又は他のメモリ技術、ＣＤ（ｃｏｍｐａｃｔ　ｄｉｓｃ　［ｄｉｓｋ］）−ＲＯＭ、デジタル多用途ディスク（「ＤＶＤ」）又は他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、あるいは所望の情報を格納又は通信するのに使用することができ、かつコンピュータ３２０でアクセスすることができる他の任意の媒体が含まれる。
【００３１】
通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを、搬送波又は他の典型的な移送機構などの被変調データ信号で具体化し、任意の情報送達媒体を含む。用語「被変調データ信号」とは、その特性集合のうちの１つ又は複数を有する信号、又は情報を信号中に符号化する方式で変化する信号を意味する。例えば、限定はしないが、通信媒体には、有線ネットワーク又は直接配線接続などの有線媒体、並びに音響、無線周波、赤外線、および他のワイヤレス媒体などのワイヤレス媒体が含まれる。上記のいずれの組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【００３２】
システムメモリ３２４は、読み取り専用メモリ（「ＲＯＭ」）３２８およびランダムアクセスメモリ（「ＲＡＭ」）３３０など、揮発性メモリおよび不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ３２０内の要素間で情報を転送する助けとなる基本ルーチンを含む基本入出力システム３３２（「ＢＩＯＳ」）は、通常ＲＯＭ３２８に格納される。ＲＡＭ３３０は通常、プロセッサ３２２から即座にアクセス可能であり、かつ／又はプロセッサ３２２によって現在操作されているデータおよび／又はプログラムモジュールを含む。例えば、限定はしないが、図３に、オペレーティングシステム３４６、アプリケーションプログラム３４８、動的なウィザードを処理するウィザードエンジン３４９、他のプログラムモジュール３５０、およびプログラムデータ３５２を示す。コンピュータ３２０は、リムーバル／ノンリムーバルな揮発性／不揮発性のコンピュータ記憶媒体も含むことができる。単なる例に過ぎないが、図３に、ノンリムーバルな不揮発性の磁気媒体３３６を読み書きするハードディスクドライブ３３４、リムーバルな不揮発性の磁気ディスク３４０を読み書きする磁気ドライブ３３８、およびＣＤ−ＲＯＭ又は他の光媒体などのリムーバルな不揮発性の光ディスク３４４を読み書きする光ドライブ３４２を示す。この例示的動作環境で使用することが可能な他のリムーバル／ノンリムーバルな揮発性／不揮発性のコンピュータ記憶媒体には、限定はしないが、磁気テープカセット、フラッシュメモリカード、ＤＶＤ、デジタルビデオテープ、固体ＲＡＭ、および固体ＲＯＭなどが含まれる。ハードディスクドライブ３３４、磁気ディスクドライブ３３８、および光ディスクドライブ３４２は、それぞれハードディスクドライブインタフェース３５４、磁気ディスクドライブインタフェース３５６、および光ドライブインタフェース３６０によってシステムバス３２６に接続することができる。あるいは、ハードディスクドライブ３３４、磁気ディスクドライブ３３８、又は光ディスクドライブ３４２は、ＳＣＳＩ（ｓｍａｌｌ　ｃｏｍｐｕｔｅｒ　ｓｙｓｔｅｍ　ｉｎｔｅｒｆａｃｅ）によってシステムバス３２６に接続することもできる。
【００３３】
上記で論じ、図３に示すドライブと、関連するコンピュータ記憶媒体は、コンピュータ３２０からのコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶を実現する。図３では、例えば、ハードディスクドライブ３３４は、オペレーティングシステム３４６、アプリケーションプログラム３４８、ウィザードエンジン３４９、他のプログラムモジュール３５０、およびプログラムデータ３５２も格納することができる。これらの構成要素は、オペレーティングシステム３４６、他のプログラムモジュール３５０、およびプログラムデータ３５２と同一にすることができ、あるいはそれらとは異なるものにすることができることに留意されたい。ユーザは、キーボード３６０、および／又はマウス、トラックボール、もしくはタッチパッドと一般に呼ばれるポインティングデバイス３６２などの入力装置を介してコマンドおよび情報をコンピュータ３２０に入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、又はスキャナなどを含めることができる。これらの入力装置や他の入力装置は、しばしばユーザ入力インタフェース３６４を介してシステムバス３２６に接続され、かつパラレルポート、シリアルポート、ゲームポート、ユニバーサルシリアルバス（「ＵＳＢ」）、又は他のインタフェースなどの他のインタフェースおよびバス構造によって接続することができる。
【００３４】
コンピュータ３２０は、１つ又は複数のリモートコンピュータ１４０ａ〜１４０ｆへの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ１４０ａ〜１４０ｆは、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、あるいは他の共通ネットワークノードでよく、通常は上記でコンピュータ３２０に関して説明した要素のうちの多数あるいはすべてを含む。図３に示す論理接続は、ＬＡＮ１２０およびＷＡＮ１３０を含むが、他のネットワークも含む。このようなネットワーク環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的なものである。
【００３５】
ＬＡＮネットワーク環境で使用するとき、コンピュータ３２０はネットワークインタフェース３６８を介してＬＡＮ１２０に接続される。ＷＡＮネットワーク環境で使用するとき、コンピュータは通常、モデム、あるいはインターネット１００などのＷＡＮ１３０を介して通信を確立する、ネットワークインタフェース３６８を含む他の手段を含む。モデム３６９は内蔵でも外付けでもよく、ユーザ入力インタフェース３６４又は他の適切な機構を介してシステムバス３２６に接続することができる。図示したネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されよう。コンピュータ３２０の他の多くの内部構成要素を図示していないが、そのような構成要素と、その相互接続は周知であることを当業者は理解されよう。したがって、本発明に関連して、コンピュータ３２０の内部構造に関する追加の詳細を開示する必要はない。
【００３６】
オペレーティングシステム３４６、アプリケーションプログラム３４８、ウィザードエンジン３４９、およびデータ３５２などのプログラムモジュールは、コンピュータ３２０のメモリ記憶装置のうちの１つを介してコンピュータ３２０に供給され、メモリ記憶装置には、ＲＯＭ３２８、ＲＡＭ３３０、ハードディスク３３４、磁気ディスクドライブ３３８、又は光ディスクドライブ３４２を含めることができることを当業者は理解されよう。ハードディスクドライブ３３４は、データ３５２と、オペレーティングシステム３４６およびアプリケーションプログラム３４８を含むプログラムとを格納するのに使用する。
【００３７】
コンピュータ３２０をオンにし、又はリセットするとき、ＲＯＭ内に格納されるＢＩＯＳ３３２は、ハードディスクドライブ３３４からＲＡＭ３３０にオペレーティングシステム３４６をロードするようにプロセッサ３２２に指令する。オペレーティングシステム３４６をＲＡＭ３３０にロードした後、プロセッサ３２２はオペレーティングシステムコードを実行し、オペレーティングシステムのユーザインタフェースに関連する視覚的要素をモニタ上に表示させる。アプリケーションプログラム３４８がユーザによってオープンされるとき、プログラムコードと、関連するデータがハードディスクドライブ３３４から読み取られ、ＲＡＭ３３０内に格納される。
【００３８】
単一の従来型汎用コンピューティング装置に一般に適合する例示的クライアント装置３００を説明したが、クライアント装置３００は、実際には、ネットワークを介してＸＧＬサーバ４００と通信するように調整されたコンピューティング装置又は構成要素の組合せとすることができることを当業者は理解されよう。
【００３９】
図４を参照すると、本発明を実装するのに適した例示的サーバ４００もまた、コンピュータ４２０の形態の汎用コンピューティング装置である。コンピュータ４２０の構成要素には、限定はしないが、プロセッサ４２２と、システムメモリ４２４と、ディスプレイ４９０と、システムメモリ４２４を含む様々なシステム構成要素をプロセッサ４２２に結合するシステムバス４２６とが含まれる。システムバス４２６は、メモリバス又はメモリコントローラと、周辺バスと、様々なバスアーキテクチャのうちのいずれかを使用するローカルバスとを含むいくつかのタイプのバス構造のいずれでもよい。例えば、限定はしないが、このようなアーキテクチャには、ＩＳＡバス、ＭＣＡバス、ＥＩＳＡバス、ＶＥＳＡローカルバス、メザニンバスとも呼ばれるＰＣＩバス、およびＡＧＰバスが含まれる。
【００４０】
コンピュータ４２０は、一般に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ４２０でアクセスすることができる入手可能などんな媒体でもよく、揮発性媒体と不揮発性媒体の両方、リムーバル媒体とノンリムーバル媒体の両方が含まれる。例えば、限定はしないが、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体には、限定はしないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ又は他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ又は他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、あるいは所望の情報を格納又は通信するのに使用することができ、かつコンピュータ４２０でアクセスすることができる他の任意の媒体が含まれる。
【００４１】
通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを、搬送波又は他の典型的な移送機構などの被変調データ信号で具体化し、任意の情報送達媒体を含む。用語「被変調データ信号」とは、その特性集合のうちの１つ又は複数を有する信号、又は情報を信号中に符号化する方式で変化した信号を意味する。例えば、限定はしないが、通信媒体には、有線ネットワーク又は直接配線接続などの有線媒体、並びに音響、無線周波、赤外線、および他のワイヤレス媒体などのワイヤレス媒体が含まれる。上記のいずれの組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【００４２】
システムメモリ４２４は、ＲＯＭ４２８およびＲＡＭ４３０など、揮発性メモリおよび不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ４２０内の要素間で情報を転送する助けとなる基本ルーチンを含むＢＩＯＳシステム４３２は、通常ＲＯＭ４２８に格納される。ＲＡＭ４３０は通常、プロセッサ４２２から即座にアクセス可能であり、かつ／又はプロセッサ４２２によって現在操作されているデータおよび／又はプログラムモジュールを含む。例えば、限定はしないが、図４に、オペレーティングシステム４４６、アプリケーションプログラム４４８、他のプログラムモジュール４５０、およびプログラムデータ４５２を示す。ＸＧＬデータベース４４９もまた、システムメモリ４２４内に常駐するものとして示す。
【００４３】
コンピュータ４２０はまた、リムーバル／ノンリムーバルな揮発性／不揮発性のコンピュータ記憶媒体も含むことができる。単なる例に過ぎないが、図４に、ノンリムーバルな不揮発性の磁気媒体４３６を読み書きするハードディスクドライブ４３４、リムーバルな不揮発性の磁気ディスク４４０を読み書きする磁気ドライブ４３８、およびＣＤ−ＲＯＭ又は他の光媒体などのリムーバルな不揮発性の光ディスク４４４を読み書きする光ドライブ４４２を示す。この例示的動作環境で使用することが可能な他のリムーバル／ノンリムーバルな揮発性／不揮発性のコンピュータ記憶媒体には、限定はしないが、磁気テープカセット、フラッシュメモリカード、ＤＶＤ、デジタルビデオテープ、固体ＲＡＭ、および固体ＲＯＭなどが含まれる。ハードディスクドライブ４３４、磁気ディスクドライブ４３８、および光ディスクドライブ４４２は、それぞれハードディスクドライブインタフェース４５４、磁気ディスクドライブインタフェース４５６、および光ドライブインタフェース４６０によってシステムバス４２６に接続することができる。あるいは、ハードディスクドライブ４３４、磁気ディスクドライブ４３８、又は光ディスクドライブ４４２は、ＳＣＳＩ接続によってシステムバス４２６に接続することもできる。
【００４４】
上記で解説し、図４に示すドライブと、関連するコンピュータ記憶媒体は、コンピュータ４２０からのコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶を実現する。図４では、例えば、ハードディスクドライブ４３４は、オペレーティングシステム４４６、アプリケーションプログラム４４８、他のプログラムモジュール４５０、プログラムデータ４５２、ＸＧＬデータベース４４９も格納することができる。これらの構成要素は、オペレーティングシステム４４６、他のプログラムモジュール４５０、およびプログラムデータ４５２と同一にすることができ、あるいはそれらとは異なるものにすることができることに留意されたい。ユーザは、キーボード４６０、および／又はマウス、トラックボール、もしくはタッチパッドと一般に呼ばれるポインティングデバイス４６２などの入力装置を介してコマンドおよび情報をコンピュータ４２０に入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、又はスキャナなどを含めることができる。これらの入力装置や他の入力装置は、しばしばユーザ入力インタフェース４６４を介してシステムバス４２６に接続され、かつパラレルポート、シリアルポート、ゲームポート、ＵＳＢ、又は他のインタフェースなどの他のインタフェースおよびバス構造によって接続することができる。
【００４５】
コンピュータ４２０は、１つ又は複数のリモートコンピュータ１４０ａ〜１４０ｆへの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ１４０ａ〜１４０ｆは、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、あるいは他の共通ネットワークノードでよく、通常は上記でコンピュータ４２０に関して説明した要素のうちの多数あるいはすべてを含む。図４に示す論理接続は、ＬＡＮ１２０およびＷＡＮ１３０を含むが、他のネットワークも含む。このようなネットワーク環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネット１００で一般的なものである。
【００４６】
ＬＡＮネットワーク環境で使用するとき、コンピュータ４２０はネットワークインタフェース４６８を介してＬＡＮ１２０に接続される。ＷＡＮネットワーク環境で使用するとき、コンピュータは通常、モデム、あるいはインターネット１００などのＷＡＮ１３０を介して通信を確立するネットワークインタフェース４６８を含む他の手段を含む。モデム４６９は内蔵でも外付けでもよく、ユーザ入力インタフェース４６４又は他の適切な機構を介してシステムバス４２６に接続することができる。図示したネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されよう。コンピュータ４２０の他の多くの内部構成要素を図示していないが、そのような構成要素と、その相互接続は周知であることを当業者は理解されよう。したがって、本発明に関連して、コンピュータ４２０の内部構造に関する追加の詳細を開示する必要はない。
【００４７】
オペレーティングシステム４４６、アプリケーションプログラム４４８、およびデータ４５２などのプログラムモジュールは、コンピュータ４２０のメモリ記憶装置のうちの１つを介してコンピュータ４２０に供給され、メモリ記憶装置には、ＲＯＭ４２８、ＲＡＭ４３０、ハードディスク４３４、磁気ディスクドライブ４３８、又は光ディスクドライブ４４２を含めることができることを当業者は理解されよう。ハードディスクドライブ４３４は、データ４５２と、オペレーティングシステム４４６およびアプリケーションプログラム４４８を含むプログラムとを格納するのに使用する。
【００４８】
コンピュータ４２０をオンにし、又はリセットするとき、ＲＯＭ内に格納されるＢＩＯＳ４３２は、ハードディスクドライブ４３４からＲＡＭ４３０にオペレーティングシステム４４６をロードするようにプロセッサ４２２に指令する。オペレーティングシステム４４６をＲＡＭ４３０にロードした後、プロセッサ４２２はオペレーティングシステムコードを実行し、オペレーティングシステムのユーザインタフェースに関連する視覚的要素をモニタ上に表示させる。アプリケーションプログラム４４８がユーザによってオープンされるとき、プログラムコードと、関連するデータがハードディスクドライブ４３４から読み取られ、ＲＡＭ４３０内に格納される。
【００４９】
単一の従来型汎用コンピューティング装置に一般に適合する例示的ＸＧＬサーバ４００を説明したが、ＸＧＬサーバ４００は、実際には、ネットワークを介してクライアント装置３００と通信するように調整されたコンピューティング装置又は構成要素の組合せとすることができることを当業者は理解されよう。
【００５０】
本発明に従って形成される動的なウィザードインタフェースの動作を示すために、図５に、図２に示したシステム２００の装置間の対話の、あるシーケンスを示す。図５に示すシステム２００の装置には、クライアント装置３００、ＸＧＬサーバ４００、およびユーザデータベース２１０が含まれる。この様々な装置の対話、およびこの様々な装置によって実行されるルーチンを、図６および９〜１７を参照しながらより詳細に例示し、説明する。
【００５１】
図５に戻ると、動的なウィザードの準備および解釈は、クライアント装置３００がウィザード要求５０２をＸＧＬサーバ４００に送るときに開始する。ＸＧＬサーバ４００がウィザード要求５０２を受け取った後、ＸＧＬサーバは、ユーザデータベース２１０内に含まれる関連する任意の部品表（「ＢＯＭ（ｂｉｌｌ　ｏｆ　ｍａｔｅｒｉａｌ）」）５０４を要求する。部品表は、ウィザードインタフェース中のフィールドを完成するのに使用することができる、ローカルに格納されたデータ又はリモート装置上のデータである。ある実施形態では、格納データはユーザ固有である。ＢＯＭデータ構造は、ウィザードインタフェース中のフィールドの名前と、ＢＯＭデータ構造中のフィールドの名前とが対応関係を有するようなデータ構造である。
【００５２】
ユーザデータベース２１０中に情報が存在すると仮定すると、ＢＯＭ５０６がＸＧＬサーバ４００に返される。したがって、ＸＧＬサーバは、ウィザードの初期パッケージを記述するＸＧＬコンテナを、ＢＯＭと共にクライアント装置３００に返す（５０８）。次いで、ウィザードエンジン３４９を利用するクライアント装置３００は、ＸＧＬコンテナとそのコンテンツを解析する（５１０）。次に、クライアント装置は、解析したＸＧＬコンテナからウィザードインタフェースを作成し、その後、ＢＯＭ内の一致する任意のフィールドで、ウィザードインタフェースをポピュレート（ｐｏｐｕｌａｔｅ）する（５１４）。次いで、ウィザードインタフェースをクライアント装置３００上に描画する（５１６）。任意のユーザ選択を受け取る（５１８）。ユーザ選択が、分岐要求などから追加のパッケージを要求する場合、新しいパッケージの要求をＸＧＬサーバ４００に送る（５２０）。それに応答して、ＸＧＬサーバ４００は、要求されたパッケージを有するＸＧＬコンテナ５２２をクライアント装置３００に返す。再びＸＧＬコンテナおよびコンテンツを解析し（５２４）、追加の解析情報でウィザードインタフェースを更新する（５２６）。次に、ウィザード中の追加の情報のいずれかがＢＯＭ内のフィールドと一致する場合、一致するフィールドでウィザードをポピュレートする（５２８）。次いで、更新後のウィザードインタフェースをクライアント装置３００上に描画する（５３０）。エンドユーザがウィザードとの対話を完了するとき、エンドユーザは完了を指示する（５３２）。その後、クライアント装置３００は、ＸＧＬサーバ４００を介して更新後のＢＯＭ５３４内の任意の追加の情報をユーザデータベース２１０に送り、ユーザデータベース２１０に更新後のＢＯＭを格納する（５３６）。一方、ＸＧＬサーバ４００は更新後のＢＯＭを解析し、処理が必要などんな情報に関しても処置を行う。例えば、ユーザがアカウントに登録する場合、ＸＧＬサーバ４００は、ユーザから受け取ったすべてのアカウント情報をチェックすることができ、確認した後、確認５４０をクライアント装置３００に戻す。
【００５３】
図５が、システム２００の装置間の例示的な１組の対話を表すことを当業者は理解されよう。したがって、追加のパッケージ要求および／又はパッケージ要求のキャッシングをこのような対話内に含めることができることも理解されよう。さらに、取り出したパッケージのいずれかがライブデータを含むと仮定すると、ライブデータ中の表示すべきそのような情報を提供するために１つ又は複数の装置（図示せず）との追加の通信がある可能性がある。さらに、図５に示すアクションは、別の順序で実施することができ、又は各アクションを組み合わせることができることを当業者は理解されよう。例えば、ＸＧＬコンテナおよびコンテンツの解析は、ウィザードのポピュレート、およびフィールドのマッチングと組み合わせることができる。
【００５４】
図２、４、および５で示すように、本明細書で説明する動的なウィザードシステム２００の実施形態は、クライアント装置３００によって要求されるときにウィザードインタフェースを記述するコンテナおよびパッケージを提供するのに使用するＸＧＬサーバ４００を含む。本発明の一実施形態に従ってＸＧＬサーバ４００で実施されるウィザード準備ルーチン６００を示す流れ図を図６に示す。ウィザード準備ルーチン６００はブロック６０１で開始して、ブロック６０５に進み、ブロック６０５で、ウィザード要求をクライアント装置３００から受け取る。次に、ブロック６１０では、任意のＢＯＭ情報をユーザデータベース２１０から取り出す。次いで、判定ブロック６１５では、ＢＯＭ情報が利用可能であったかどうかについて判定を行う。ＢＯＭ情報が利用可能であった場合、ブロック６２０で、ウィザードインタフェースに関する初期パッケージを含むＸＧＬコンテナとＢＯＭとをクライアントに送る。判定ブロック６１５で判定されるようにＢＯＭが利用可能でなかった場合、ブロック６２５で、ＸＧＬサーバ４００は、ＸＧＬコンテナだけをクライアントに送る。次いで、判定ブロック６３０で示すように、ＸＧＬサーバ４００は、クライアント装置３００、すなわち更新ＢＯＭを受け取る装置からの次の通信を待機する。判定ブロック６３０で、更新後ＢＯＭを受け取ったと判定される場合、ルーチン６００はブロック６３５に進み、ブロック６３５で、ＸＧＬサーバ４００が更新後ＢＯＭに関して処置を行う。次いで、ブロック６４０で示すように、更新後ＢＯＭをユーザデータベース２１０に転送する。次いでルーチン６００はブロック６９９で終了する。しかし、更新後ＢＯＭを受け取っておらず、それによって上述のようにルーチン６００が終了したと判定ブロック６３０で判定される場合、判定ブロック６４５で、パッケージ要求を受け取ったかどうかについて判定を行う。パッケージ要求を受け取らなかった場合、処理ループは判定ブロック６３０にループバックし、パッケージ要求を受け取った場合、処理はブロック６５０に進み、ブロック６５０で、要求されたパッケージをコンテナとしてクライアント装置３００に送り戻す。ルーチン６００は判定ブロック６３０にループバックする。
【００５５】
当業者や他の人は理解するであろうが、ウィザード準備ルーチン６００は、単一のクライアント装置とＸＧＬサーバ４００との間の通信を示す。多くの環境では、ルーチン６００は、多数のクライアント装置３００と共に、ＸＧＬサーバ４００上の複数のスレッド又はプロセスとして行われることになることを理解されたい。
【００５６】
本発明に従って形成される動的なウィザードインタフェースの動作をさらに例示するために、図７に、図２に示すシステム２００の装置間の対話の別のシーケンスを示す。図７に示すシステム２００の装置には、クライアント装置３００、ＸＧＬサーバ４００、ＸＧＬデータベース４４９、およびユーザデータベース２１０が含まれる。この様々な装置の対話、およびこの様々な装置によって実行されるルーチンを、図８および９〜１７を参照しながらより詳細に例示し、説明する。
【００５７】
図７に戻ると、動的なウィザードの準備および解釈は、クライアント装置３００がウィザード要求７０２をＸＧＬサーバ４００に送るときに開始する。ＸＧＬサーバ４００がウィザード要求７０２を受け取った後、ＸＧＬサーバは、どのパッケージを初期パッケージとしてウィザードコンテナ内に含めるべきかを決定する（７０３）。次いで、ＸＧＬサーバ４００は、ＸＧＬデータベース４４９にパッケージを要求し（７０４）、ＸＧＬデータベース４４９は、要求された初期パッケージを返す（７０５）。次いで、ＸＧＬサーバは、ユーザデータベース２１０に任意のＢＯＭ情報を要求する（７０６）。ユーザデータベース２１０内に関連する情報が存在しないと仮定すると、ＢＯＭ対話の欠如７０７がＸＧＬサーバ４００に返される。したがって、ＸＧＬサーバは、ウィザードの初期パッケージを記述するＸＧＬコンテナ７０８をクライアント装置３００に返す。
【００５８】
次いでクライアント装置３００は、ＸＧＬコンテナとそのコンテンツを解析する（７１０）。次に、クライアント装置は、解析したＸＧＬコンテナからウィザードインタフェースを作成する（７１２）。その後、新しいＢＯＭを作成する（７１４）。次いでウィザードインタフェースをクライアント装置３００上に描画する（７１６）。次に、任意のユーザ選択を受け取る（７１８）。ユーザ選択が、分岐要求などから追加のパッケージを要求する場合、新しいパッケージの要求をＸＧＬサーバ４００に送る（７２０）。それに応答して、ＸＧＬサーバ４００は、要求されたパッケージを有するＸＧＬコンテナ７２２をクライアント装置３００に返す。再びＸＧＬコンテナおよびコンテンツを解析し（７２４）、追加の解析情報でウィザードインタフェースを更新する（７２６）。次いで、更新後のウィザードインタフェースをクライアント装置３００上に描画する（７３０）。エンドユーザがウィザードとの対話を完了するとき、エンドユーザはこの完了を指示する（７３２）。その後、クライアント装置３００は、ＸＧＬサーバ４００を介して更新後のＢＯＭ７３４内の任意の追加の情報をユーザデータベース２１０に送り、次いで更新後のＢＯＭがユーザデータベース２１０に格納される（７３６）。一方、ＸＧＬサーバ４００は更新後のＢＯＭを解析し、処理が必要などんな情報に関しても処置を行う。例えば、ユーザがアカウントに登録する場合、ＸＧＬサーバ４００は、ユーザから受け取ったすべてのアカウント情報をチェックし、確認した後、確認７４０をクライアント装置３００に戻す。
【００５９】
図７が、システム２００の装置間の例示的な１組の対話を表すことを当業者は理解されよう。したがって、追加のパッケージ要求および／又はパッケージ要求のキャッシングをこのような対話内に含めることができることも理解されよう。さらに、取り出したパッケージのいずれかがライブデータを含むと仮定すると、ライブデータ中の表示すべきそのような情報を提供するために１つ又は複数の装置（図示せず）との追加の通信がある可能性がある。加えて、図７に示すアクションは、別の順序で実施することができ、又は各アクションを組み合わせることができることを当業者は理解されよう。例えば、ウィザードインタフェースの作成は、ＢＯＭの作成と組み合わせることができる。
【００６０】
図２、４、および５に示すように、本明細書で説明する動的なウィザードシステム２００の実施形態は、クライアント装置３００によって要求されるときにウィザードインタフェースを記述するコンテナおよびパッケージを提供するのに使用するＸＧＬサーバ４００を含む。本発明の１つの代替実施形態による、ＸＧＬサーバ４００で実装される代替のウィザード準備ルーチン８００を示す流れ図を図８に示す。ウィザード準備ルーチン８００はブロック８０１で開始して、ブロック８０５に進み、ブロック８０５で、ウィザード要求をクライアント装置３００から受け取る。次いでブロック８１０では、初期の１組のパッケージを決定する。一実施形態では、この初期の１組のパッケージは、初期のウィザードインタフェースの組を形成するすべての非分岐パッケージの組である。次いで、ブロック８１５で、これらの初期パッケージをＸＧＬデータベース４４９から取り出す。次に、ブロック８２０では、任意のＢＯＭ情報をユーザデータベース２１０から取り出す。次いで、判定ブロック８２５では、任意のＢＯＭ情報が利用可能であったかどうかについて判定を行う。ＢＯＭ情報が利用可能であった場合、ブロック８３０で、ウィザードインタフェースに関する初期パッケージを含むＸＧＬコンテナとＢＯＭとをクライアントに送る。ブロック８２５でＢＯＭが利用可能でなかった場合、ブロック８２５で、ＸＧＬサーバ４００は、ＸＧＬコンテナだけをクライアントに送る。次いで、ＸＧＬサーバ４００は、クライアント装置３００からの次の通信を待機する。判定ブロック８３０で、更新後ＢＯＭを受け取ったと判定される場合、ルーチン８００はブロック８４５に進み、ブロック８４５で、ＸＧＬサーバ４００が更新後ＢＯＭに関して処置を行うことができ、ブロック８５０で、更新後ＢＯＭをユーザデータベース２１０に転送する。次いでルーチン８００はブロック８９９で終了する。しかし、判定ブロック８４０で、更新後ＢＯＭを受け取らなかったと判定される場合（例えば、ルーチン８００の終了）、判定ブロック８５５で、新しいパッケージの要求を受け取ったかどうかについて判定を行う。パッケージ要求を受け取らなかった場合、処理ループは判定ブロック８３０にループバックし、パッケージ要求を受け取った場合、処理はブロック８６０に進み、ブロック８６０で、要求されたパッケージをＸＧＬデータベース４９９から取り出す。次に、パッケージをコンテナとしてクライアント装置３００に送り戻し、ルーチン８００は判定ブロック８４０に進む。
【００６１】
当業者や他の人は理解するであろうが、ウィザード準備ルーチン８００は、単一のクライアント装置とＸＧＬサーバ４００との間の通信を示す。多くの環境では、ルーチン８００は、多数のクライアント装置３００と共に、ＸＧＬサーバ４００上の複数のスレッド又はプロセスとして行われることになることを理解されたい。
【００６２】
図９に、ウィザードエンジン３４９の一部としてクライアント装置３００上に実装されるウィザードルーチン９００を示す。ウィザードルーチン９００は、ブロック９０１で開始して、ブロック９０５に進み、ブロック９０５で、クライアント装置３００が初期ウィザードコンテナと、ＢＯＭデータなどの任意の追加のデータとを受け取る。次にサブルーチンブロック１０００では、ウィザードコンテナを処理する。サブルーチン１０００については、図１０に関して以下でより詳細に説明する。次に、フローは、サブルーチンブロック１６００に進み、サブルーチンブロック１６００で、コンテナからのページを表示する。やはり、サブルーチンブロック１６００については、図１６に関して以下でより詳細に説明する。ページを表示した後、サブルーチンブロック１７００は、任意のユーザ入力を受け取り、処理する。サブルーチン１７００については、図１７に関して以下でより詳細に説明する。ユーザ入力を受け取り、かつ／又は処理した後、フローは、判定ブロック９１０に進み、判定ブロック９１０で、終了信号を受け取ったかどうかについて判定を行う。終了信号を受け取った場合、処理はブロック９１５に進み、ブロック９１５で、最終的なＢＯＭをＸＧＬサーバ４００に送る。次いでルーチン９００はブロック９９９で終了する。
【００６３】
判定ブロック９１０で、終了信号を受け取らなかったと判定した場合、処理は判定ブロック９２０に進み、判定ブロック９２０で、キャンセル信号を受け取ったかどうかについて判定を行う。キャンセル信号を受け取った場合、処理はブロック９９９で終了する。キャンセル信号を受け取った場合、エンドユーザはウィザードで入力を承認しなかったので、ＢＯＭはＸＧＬサーバに送られないことに留意されたい。
【００６４】
判定ブロック９２０で、キャンセル信号を受け取らなかったと判定した場合、判定ブロック９２５で、「戻る（ｂａｃｋ）」信号を受け取ったかどうかについて判定を行う。戻る信号を受け取った場合、このロジックはブロック９３０に進み、ブロック９３０で、ウィザードはウィザードフロー中の１ページ前のポインタをたどる。次いで処理はサブルーチンブロック１６００にループバックし、サブルーチンブロック１６００で、従来のページを再度表示する。
【００６５】
判定ブロック９２５で、戻る信号を受け取らなかったと判定した場合、判定ブロック９３５で、「次へ」信号を受け取ったかどうかについて判定を行う。次へ信号を判定ブロック９３５で受け取った場合、このロジックは判定ブロック９４０に進み、判定ブロック９４０で、次へ信号が分岐命令を開始したかどうかについて判定を行う。上記で触れたように、分岐命令は、ウィザードフローを続行するのに１つ又は複数の他のパッケージおよび／又はページが必要である分岐点を現在のパッケージが有するときである。
【００６６】
分岐命令が指示された場合、ブロック９４５で、分岐で要求される条件に適合するパッケージを有する新しいコンテナをＸＧＬサーバ４００から取り出す。次いで、サブルーチンブロック１０００にループバックすることにより、その新しいコンテナを処理する。
【００６７】
判定ブロック９４０で、次へ信号が分岐命令を開始しなかったと判定される場合、ブロック９５５で、現ページへのポインタを保存し、次のページを取り出す（ブロック９６０）。次いでプロセスは、次のページを表示するためにサブルーチンブロック１６００にループバックする。しかし、判定ブロック９３５で次へ信号を受け取らなかった場合、ブロック９５０で、ルーチン９００は、サブルーチンブロック１７００にループバックすることにより、別のユーザ入力を待機する。
【００６８】
図９では、従来の終了、キャンセル、戻る、およびネクストの選択又はコマンドだけがルーチン９００に含まれるものとして説明したが、他のコマンドもウィザードインタフェース内に含めることができることを当業者は理解されよう。したがって、ルーチン９００は、限定的なものではなく例示的なものとみなすべきである。
【００６９】
図１０に、コンテナ処理サブルーチン１０００を示す。サブルーチン１０００は、ブロック１００１で開始して、ブロック１００５に進み、ブロック１００５で、パッケージをコンテナから抽出する。次いで抽出後のパッケージをパッケージ処理サブルーチン１１００で処理する。このパッケージ処理サブルーチン１１００については、図１１に関して以下でより詳細に説明する。処理の後、コンテナが別のパッケージを有するかどうかについて判定ブロック１０１０で新しい判定を行う。判定ブロック１０１０で、コンテナが別のパッケージを含むと判定される場合、処理ループはブロック１００５に戻り、ブロック１００５で、別のパッケージをコンテナから抽出する。判定ブロック１０１０で、コンテナに別のパッケージが含まれていないと判定される場合、判定ブロック１０１５で、コンテナに付随してＢＯＭが利用可能であるか、又はコンテナの一部としてＢＯＭが利用可能であるかについて判定を行う。判定ブロック１０１５で、ＢＯＭが利用可能でないと判定される場合、サブルーチンブロック１５００で新しいＢＯＭを作成する。このサブルーチンブロック１５００については、図１５に関して以下でより詳細に説明する。次いで処理はブロック１０９９で終了する。判定ブロック１０１５で、ＢＯＭが利用可能であると判定される場合、処理はサブルーチンブロック１４００に進み、サブルーチンブロック１４００で、ＢＯＭ内の対応するフィールドを有するウィザード内のデータ構成要素を、この新たに利用可能となったデータでポピュレートする。このサブルーチンブロック１４００については、図１４に関して以下でより詳細に説明する。いずれにしても、サブルーチン１０００は、ブロック１０９９で、呼び出されたルーチンに戻ることによって終了する。
【００７０】
図１１に、例示的パッケージ解析サブルーチン１１００を示す。サブルーチン１１００は、ブロック１１０１で開始して、判定ブロック１１０５に進み、判定ブロック１１０５で、パッケージがライブデータを含むかどうかについて判定を行う。判定ブロック１１０５で、パッケージがライブデータを含むと判定される場合、処理はブロック１１１０に進み、ブロック１１１０で、ＸＧＬ情報のライブパッケージをＸＧＬサーバ４００からダウンロードする。次に、ライブパッケージを処理するためにサブルーチン１１００を繰り返し呼び出す。次いで、処理はサブルーチンブロック１２００に進む。判定ブロック１１０５で、パッケージがライブデータを含まないと判定される場合、処理はやはりサブルーチンブロック１２００に進み、サブルーチンブロック１２００で、レイアウトユーザインタフェース構成要素を、ＸＧＬパッケージから１つ又は複数のウィザードに変換する。サブルーチン１２００については、図１２に関して以下でより詳細に説明する。ＸＧＬからユーザインタフェース構成要素のレイアウトを変換した後、処理はサブルーチン１３００に進み、サブルーチンブロック１２００で以前に変換したレイアウト構成要素に従ってレイアウトされる通りに、サブルーチン１３００で、ＸＧＬパッケージ内のオブジェクトをユーザインタフェース構成要素に変換する。サブルーチン１３００については、図１３に関して以下でより詳細に説明する。レイアウトと構成要素を共に変換することにより、１組のマークアップページが得られ、この１組のマークアップページは、ブロック１１９９でパッケージ解析サブルーチン１１００を呼び出したルーチンに返される。
【００７１】
図１２に、例示的なレイアウト変換サブルーチン１２００を示す。レイアウト変換サブルーチン１２００は、ブロック１２０１で開始して、ブロック１２０５に進み、ブロック１２０５で、ユーザインタフェース構成要素を配置するためにＸＧＬレイアウトデータを検討する。次に、判定ブロック１２１０で、検査すべき何らかの構成要素がまだ残っているかを確認するためにテストを行う。検査すべき構成要素が残っていない場合、ブロック１２９９で、レイアウトマークアップページを、サブルーチン１２００を呼び出したルーチンに返す。判定ブロック１２１０で、別のレイアウト構成要素が残っていると判定される場合、ブロック１２１５で、次の構成要素を配置する。位置決めの間、判定ブロック１２２０で、次の構成要素を位置決めするのに特定のテンプレートを使用すべきかについて判定を行う。特定のテンプレートを使用すべきであると判定される場合、ブロック１２２５で、次の構成要素の位置は、オブジェクト指定のレイアウトテンプレートの記述に基づく。これは、特定のタイプのウィザードおよび／又はウィザード内の構成要素に対して特別なレイアウトが必要であるときに使用することができる。次いで、処理は判定ブロック１２１０にループバックする。判定ブロック１２２０で、特定のテンプレートは不要と判定される場合、ブロック１２３０に示すように、構成要素の位置は、クライアント装置３００上のウィザードエンジンで使用される標準レイアウトテンプレートに従って、標準オブジェクトレイアウトテンプレートのＸＧＬ記述に基づく。この場合も、処理は判定ブロック１２１０にループバックし、判定ブロック１２１０で、レイアウトに関して何らかの構成要素が残っているかどうかについて判定を行う。
【００７２】
図１３に、ＸＧＬオブジェクト変換サブルーチン１３００の１つの例示的実施形態を示す。サブルーチン１３００は、ブロック１３０１で開始し、ブロック１３０５に進み、ブロック１３０５で、ＸＧＬパッケージを解析して、オブジェクトの階層リストを得る。次に、判定ブロック１３１０で、リスト中に何らかのオブジェクトが残っているかどうかについて判定を行う。リスト中にオブジェクトが残っていない場合、ブロック１３９９で、サブルーチン１３００は、ウィザードに関する何らかのユーザインタフェース構成要素を返す。
【００７３】
判定ブロック１３１０で、リスト中にオブジェクトがまだ残っていることが判明した場合、ブロック１３１５で、次のオブジェクトを抽出する。すなわち次のオブジェクトをリストから除去する。次いで、判定ブロック１３２０で、抽出後のオブジェクトに関して利用可能なサブタイプが存在するかどうかについてテストを行う。サブタイプが利用可能である場合、処理はブロック１３２５に進み、ブロック１３２５で、オブジェクトのサブタイプを識別する。判定ブロック１３２０で、サブタイプが利用可能でないと判定される場合、又はオブジェクトのサブタイプをブロック１３２５で識別した後、処理は判定ブロック１３３０に進み、判定ブロック１３３０で、そのオブジェクトに関するクラスが利用可能かどうかについて判定を行う。クラスが利用可能である場合、処理はブロック１３３５に進み、ブロック１３３５で、オブジェクトのクラスを識別する。ブロック１３３５でオブジェクトのクラスを識別した後、又は判定ブロック１３３０でクラスが利用可能でないことが判明した場合、処理ループは判定ブロック１３１０までループバックし、判定ブロック１３１０で、オブジェクトがリスト上に残っているかどうかについて判定を行う。
【００７４】
上記で指摘したように、図１４に、ＢＯＭからウィザード内のデータフィールドに書き込むためのウィザードポピュレーションサブルーチンを示す。サブルーチン１４００は、ブロック１４０１で開始して、判定ブロック１４０５に進み、判定ブロック１４０５で、ウィザードの構成要素をポピュレートするために何らかのデータが利用可能であるかどうかについて判定を行う。データが利用可能でない場合、処理はブロック１４９８に進み、ブロック１４９８は、呼出しルーチンが使用できる構成要素が存在しないという警告を返す。しかし、判定ブロック１４０５で、構成要素をポピュレートするためのデータが存在すると判定される場合、ブロック１４１０で、ＢＯＭ内のデータ名とウィザード内のデータ名を比較してマッチングする。次に、ブロック１４１５では、ＢＯＭ内の名前に一致するウィザード構成要素のデータ部分を、ＢＯＭのデータフィールド内の値でポピュレートする。次いでブロック１４９９で、これらの新たにポピュレートした構成要素を呼出しルーチンに返す。
【００７５】
図１５に、新ＢＯＭ作成サブルーチン１５００を示す。サブルーチン１５００はブロック１５０１で開始して、ブロック１５０５に進み、ブロック１５０５で、ウィザードを作成するのに使用する１つ又は複数のコンテナを、ＢＯＭに格納すべきデータフィールドを有するオブジェクトに関して解析する。次に、ブロック１５１０では、格納すべきすべてのデータフィールドに関して、ＢＯＭ内にエントリを作成する。次いで、ブロック１５１５で、ＢＯＭをローカルにセーブし、ブロック１５９９で、サブルーチン１５００が終了し、呼び出されたルーチンに戻る。
【００７６】
図１６に、ウィザードページ表示サブルーチン１６００を示す。サブルーチン１６００はブロック１６０１で開始して、ブロック１６０５に進み、ブロック１６０５で、ページをページマークアップフォーマットの形で受け取る。次いで、ブロック１６１０では、ページ内のマークアップ言語を解釈する。次に、ブロック１６１５では、フォーマットしたページをクライアント装置３００上に描画する（図１８Ａ〜Ｃと以下の説明で、ウィザードインタフェースの例示的ページを図示し、説明する。）。ルーチン１６００はブロック１６９９で終了し、呼び出されたルーチンに戻る。
【００７７】
図１７に、ユーザ入力を処理するためのサブルーチンを示す。ユーザ入力処理サブルーチン１７００はブロック１７０１で開始して、ブロック１７０５に進み、ブロック１７０５で、このサブルーチンはユーザ入力を待機する。次に、判定ブロック１７１０では、ユーザが情報の入力を終了したかどうかについて判定を行う。ユーザが情報の入力を終了していない場合、処理はブロック１７０５にループバックし、ブロック１７０５で、ルーチン１７００は次のユーザ入力を待機する。しかし、判定ブロック１７１０で、ユーザが入力を終了したと判定される場合、ブロック１７１５で、サブルーチン１７００は、ユーザが標準ウィザードボタンのうち１つをクリック又は押下してページを切り換えることなどのトリガを待機する。判定ブロック１７２０で、トリガを受け取ったと判定される場合、処理は判定ブロック１７２５に進む。しかし、判定ブロック１７２０で、トリガを受け取らなかったことが判明した場合、処理はブロック１７１５にループバックし、ブロック１７１５で、ルーチン１７００はトリガを待機する。
【００７８】
判定ブロック１７２５では、受け取ったトリガが「キャンセルトリガ」であったかどうかについて判定を行う。受け取ったトリガが「キャンセルトリガ」であった場合、処理はブロック１７９９に進み、ブロック１７９９で、トリガを呼出しルーチンに返す。しかし、判定ブロック１７２５で、キャンセルトリガを受け取らなかったと判定される場合、処理は判定ブロック１７３０に進み、判定ブロック１７３０で、別の入力が必要かどうか、又はユーザの入力内に誤りが存在するかどうかについて判定を行う。別の入力が必要であるか、又はユーザの入力内に誤りが存在する場合、処理はブロック１７０５にループバックする。しかし、別の入力が不要であり、かつユーザの入力内に誤りが存在しない場合、処理はブロック１７３５に進み、ブロック１７３５で、ウィザードページ内の入力をＢＯＭのローカルコピーに保存する。次いで処理はブロック１７９９で終了し、ブロック１７９９で、処理を終了させたトリガを呼出しルーチンに返す。
【００７９】
図７〜１７と上記の説明から当業者や他の人は容易に理解するであろうが、本発明のあるタイプの実施形態では、クライアント装置３００は、検索時に作成および／又はカスタマイズすることができる、動的に作成されたウィザードを取り出すことができ、それによって、ウィザードインタフェースは、その形成元の利用可能なパッケージと同じく最新となる。
【００８０】
加えて、好ましくは動的なウィザードインタフェースがＸＧＬコンテナおよびパッケージから構築されるので、本発明のこの態様を利用する本発明の実施形態は、ユーザインタフェースのナビゲートを効率的（格納と伝送の両方の点で）かつ容易にする。
【００８１】
図１８Ａ〜Ｃに、本発明の例示的実施形態で作成される、例示的ウィザードインタフェースページを示す。図１８Ａに、ウィザードページフレーム１８１０内に位置する次へボタン１８４４、キャンセルボタン１８４８、左側パネル１８２０、および右側パネル１８３０を含む初期ウィザードページ１８５０を示す。図１８Ｂに、ウィザードページ１８５５を示す。図１８Ｂが戻るボタン１８４２も含むことを除いて、図１８Ｂは図１８Ａと同様である。図１８Ｃに、最終ウィザードページ１８６０を示す。図１８Ｂに示す次へボタン１８４４を終了ボタン１８４６で置き換えたことを除いて、図１８Ｃは図１８Ｂと同様である。図１８Ａ〜Ｃに示した構成要素以外の他の多くの構成要素をウィザードインタフェース内に含めることができることを当業者は理解されよう。この例示的実施形態では、ウィザードインタフェースページは、ウィザードインタフェース内のページを前方又は後方に移動するための移動ボタンを含む。したがって、初期ページから戻る場所はないので、図１８Ａは戻るボタンを含まない。図１８Ｂは中間点を示すので、図１８Ｂは戻るボタンと次へボタンを含む。図１８Ｃは最終ページを示すので、図１８Ｃは終了ボタン１８４６を含む。
【００８２】
当業者や他の人は容易に理解するであろうが、構成要素のローディングおよびアンローディングは、本発明の動的なウィザードインタフェースを改良するのに使用できるイベントをトリガする。図１９〜２２に、そのように生成されたイベントからのアクションの処理および／又はトリガリングを実施する本発明の代替の例示的実施形態を示す。図１９に、イベントを検出するためのルーチン１９００を示す。ルーチン１９００はブロック１９０１で開始して、ブロック１９０５に進み、ブロック１９０５で、コンテナロードイベントを検出する。次に、判定ブロック１９１０では、そのコンテナ内、又は以前にロードした任意のコンテナ内の任意の命令がアクションを生成するためのコンテナロードイベントを観測しているかどうか、について判定を行う。そうである場合、処理はサブルーチンブロック２２００に進み、サブルーチンブロック２２００で、適切な１つ又は複数のアクションを処理する。サブルーチン２２００については、図２２に関して以下でより詳細に説明する。サブルーチン２２００が終了した後、処理はサブルーチンブロック２０００に進む。あるいは、判定ブロック１９１０で、コンテナロードイベントアクションが見つからなかった場合、処理はサブルーチンブロック２０００に直接進み、サブルーチンブロック２０００で、パッケージイベントを検出し、処理する。サブルーチン２０００については、図２０を参照しながら以下でより詳細に解説する。
【００８３】
サブルーチン２０００が終了した後、処理はブロック１９１５に進む。ブロック１９１５では、コンテナのアンローディングを検出する。コンテナアンロードイベントが、関連するアクションを有するＸＧＬコードによって観測されている場合、判定ブロック１９２０は、サブルーチン２２００に別の呼出しを行うことによってそのアクションを処理する。サブルーチン２２００が終了した後、処理は判定ブロック１９２５に進む。あるいは、コンテナアンロードイベントアクションが観測されない場合（判定ブロック１９２０）、処理は判定ブロック１９２５に直接進む。判定ブロック１９２５では、別のコンテナをロードすべきかどうかについて判定を行う。例えば、このイベントルーチン１９００は、動的なウィザードをロードし、実行する間に、連続的に処理することができる。別のコンテナをロードすべきである場合、判定ブロック１９２５は、動的なウィザードが終了し、又は取消されたときなど、別のコンテナが来ないという確実な答えが得られるまで、プロセスを待機させる。別のコンテナが利用可能となる場合、処理はブロック１９０５にループバックする。判定ブロック１９２５で、別のコンテナが利用可能ではないと判定される場合、処理はブロック１９９９で終了する。
【００８４】
図２０に、パッケージイベント処理サブルーチン２０００を示す。上述のように、サブルーチン２０００は、パッケージイベントを検出および処理する。サブルーチン２０００はブロック２００１で開始して、ブロック２００５に進み、ブロック２００５で、パッケージロードイベントを検出する。次いで処理は判定ブロック２０１０に進み、判定ブロック２０１０で、検出したパッケージロードイベントに関連する何らかのアクションが存在するかどうかについて判定を行う。何らかのアクションが存在する場合、このアクションをサブルーチン２２００で処理する。上記で指摘したように、サブルーチン２２００を図２２に図示し、以下で説明する。サブルーチン２２００から戻った後、又はパッケージロードイベントにアクションが関連しない場合（判定ブロック２０１０）、処理はサブルーチンブロック２１００に進み、サブルーチンブロック２１００で、ページイベントを処理する。サブルーチン２１００については、図２１を参照しながら以下でより詳細に説明する。サブルーチン２１００から戻った後、処理はブロック２０１５に進み、ブロック２０１５で、パッケージアンロードイベントを検出する。
【００８５】
次に、判定ブロック２０２０では、検出したパッケージアンロードイベントに関連する何らかのアクションがあるかどうかについてテストを行う。アクションがある場合、処理はサブルーチン２２００に進み、サブルーチン２２００で、アクションを処理する。サブルーチンブロック２２００から戻った後、又はパッケージアンロードイベントに関連するアクションが見つからなかった場合（ブロック２０２０）、処理は判定ブロック２０２５に進み、判定ブロック２０２５で、別のパッケージが利用可能であるかどうかについて判定を行う。別のパッケージが利用可能である場合、処理はブロック２００５にループバックし、別のパッケージが利用可能でない場合、処理はブロック２０９９で終了し、ブロック２０９９で、サブルーチン２０００は、呼び出されたルーチンに戻る。
【００８６】
図２１に、図２０に示すパッケージイベント処理サブルーチン２０００と同様のページイベント処理サブルーチン２１００を示す。サブルーチン２１００はブロック２１０１で開始して、ブロック２１０５に進み、ブロック２１０５で、ページロードイベントを検出する。次に、ブロック２１１０では、何らかのアクションが、検出したページロードイベントに関連するかどうかについて判定を行う。そうである場合、処理はサブルーチン２２００に進み、サブルーチン２２００で、これらのアクションを処理する。サブルーチンブロック２２００から戻った後、又は検出したページロードイベントに関連するアクションが見つからなかった場合、処理はブロック２１１５に進み、ブロック２１１５で、ページアンロードイベントを検出する。次に、判定ブロック２１２０では、検出したページアンロードイベントに関連する何らかのアクションがあるかどうかについてテストを行う。アクションがある場合、処理はサブルーチン２２００に進み、サブルーチン２２００で、これらのアクションを処理する。サブルーチン２２００から戻った後、又は検出したパッケージアンロードイベントに関連するアクションが見つからなかった場合、処理は判定ブロック２１２５に進み、判定ブロック２１２５で、別のパッケージを処理すべきかどうかについて判定を行う。別のパッケージを処理すべき場合、処理はブロック２１０５にループバックする。そうでない場合、処理はブロック２１９９で終了し、サブルーチン２１００は、呼び出されたルーチンに戻る。
【００８７】
図２２に、アクション処理サブルーチン２２００を示す。サブルーチン２２００はブロック２２０１で開始して、ブロック２２０５に進み、ブロック２２０５で、アクションに関するスクリプトをＸＧＬアクションオブジェクトから抽出する。ＸＧＬアクションオブジェクトは、ＸＧＬウィザードエンジン内のクライアント装置３００側にダウンロードし、実行することができるプログラムおよび／又はスクリプトを含む特別なＸＧＬオブジェクトである。実行すべきスクリプトは、様々なスクリプト言語および／又はスクリプト形式のうちのいずれでもよいことを当業者は理解されよう。例えばＪａｖａ（登録商標）ｓｃｒｉｐｔ、ＶＢｓｃｒｉｐｔ、Ｃ＃（「Ｃシャープ」）などである。スクリプトをＸＧＬアクションオブジェクトから抽出した後、ブロック２２１０では、スクリプトを解釈し、実行する。次いで判定ブロック２２１５では、別のアクションがトリガされたかどうかについて判定を行う。別のアクションがトリガされた場合、処理はブロック２２０５にループバックする。しかし、判定ブロック２２１５で、別のアクションがトリガされなかったと判定される場合、サブルーチン２２００はブロック２２９９で終了し、処理は、アクション処理サブルーチン２２００を呼び出したルーチンに戻る。
【００８８】
本明細書で説明する本発明の例示的実施形態を説明するために構成要素ローディングイベントおよび構成要素アンローディングイベントを使用したが、ウィザードインタフェースでアクションをトリガするために、無数の他のタイプのイベントも使用できることを当業者は理解されよう。例えば、イベントは、妥当性検査の失敗、入力の誤り、および／又はユーザアクションによってトリガすることができる。これらの例は、限定的なものでなく、例示的なものとみなすべきである。
【００８９】
ウィザードインタフェースを動的に作成することに加えて、本発明はまた、ウィザードインタフェースとのユーザの対話を追跡することなど、計測のために使用することができる。図２３に、本発明に従って形成された動的なウィザードインタフェースとのユーザの対話を追跡するための例示的計測ルーチンを示す。ルーチン２３００は、ブロック２３０１で開始して、ブロック２３０５に進み、ブロック２３０５で、イベントを検出する。次に、判定ブロック２３１０では、このイベントがあるウィザード構成要素に関するロードイベントであったかどうかについて判定を行う。そうである場合、ブロック２３１５では、計測ルーチン２３００は、ロードイベントに関連するユーザ活動のロギングを開始する。例えば、ユーザがウィザードインタフェース内のページをロードする場合、そのページに対する活動のロギングは、ページロードイベントと共に開始する。次いで、処理はブロック２３０５にループバックし、次のイベントを検出するまで待機する。
【００９０】
判定ブロック２３１０で、ロードイベントを検出しなかったと判定される場合、判定ブロック２３２０では、検出したイベントがアンロードイベントであったかどうかについて判定を行う。検出したイベントがアンロードイベントであった場合、ブロック２３２５では、そのアンロードイベントにより、ルーチン２３００は、そのアンロードイベントに対応するロードイベントに関するユーザ活動のロギングを停止する。例えば、ユーザがパッケージをロードし、次いでパッケージをアンロードした場合、パッケージのアンローディングにより、パッケージをロードしたときに作成したロギングは停止する。次に、ブロック２３３０では、ロギングしたデータを、そのユーザに関連するセッションログに保存する。次いで処理はブロック２３０５にループバックする。
【００９１】
判定ブロック２３２０で、アンロードイベントを検出しなかったと判定される場合、処理は判定ブロック２３３５に進み、判定ブロック２３３５で、イベントが終了イベントであったかどうかについて判定を行う。イベントが終了イベントでなかった場合、ブロック２３４０でイベントデータをロギングし、処理はブロック２３０５にループバックして、新しいイベントが検出されるのを待機する。しかし、判定ブロック２３３５で終了イベントを検出した場合、処理はブロック２３４５に進み、ブロック２３４５で、すべてのロギングを停止する。次に、ブロック２３５０では、すべてのロギングしたデータを保存し、次いで、処理はブロック２３９９で終了する。
【００９２】
本明細書で説明する本発明の例示的実施形態に従って形成された動的なウィザードインタフェースのＸＧＬ構造は、動的なウィザードインタフェースのカスタマイズ、ローカライズ、およびアクセスビリティを著しく改善する。例えば、図２４Ａに、本発明に従って形成された例示的ウィザードページ２４００を示す。このページは、左側パネル２４１０、右側パネル２４３０と共に、戻るボタン２４４２、次へボタン２４４４、キャンセルボタン２４４８を含み、そのすべてはウィザードページフレーム２４０５によって取り囲まれる。左側パネル２４１０には、説明文２４１２が含まれる。右側パネル２４３０は、いくつかの符号を付けたフィールド２４２０を含む。図２４Ａに示すウィザードページ２４００は、ウィザードインタフェースのほとんどのユーザが容易に理解することができるが、特別な要望を持つ一部のユーザは、このようなウィザードインタフェースと対話するユーザの能力を改善するための拡張を必要とするかもしれない。したがって、図２４Ｂに、図２４Ａに示すウィザードページ２４００の高コントラストバージョン２４５０を示す。この高コントラストウィザードページ２４５０は、左側パネル２４１０のテキスト２４１２ａが有色の背景を用いずに提示され、フォントサイズが大きくなっていることを除いて、本質的に図２４Ａに示すウィザードページ２４００と同じ情報を含む。これらの変更はどちらも、コントラストを改善し、可読性を向上させるように設計されている。同様に、高コントラストウィザードページ２４５０の右側パネル２４３０の符号を付けたフィールド２４２０ａは、高コントラストに提示される。加えて、戻るボタン２４４２ａ、次へボタン２４４４ａ、およびキャンセルボタン２４４８ａ中のテキストも、視覚性を向上させるためにフォントサイズが大きくなっている。動的なウィザードインタフェース構成要素をＸＧＬに符号化することにより、ウィザードエンジンのクライアント側が、どのテンプレートを使用するかを判定することが可能となり、それによって、動的なウィザードをエンドユーザに提示する方法を規定することが可能となる。
【００９３】
図２４Ａ〜２４Ｂに示した例よりも目覚ましい例であっても、本発明の範囲に包含されることを当業者は理解されよう。例えば、ウィザードパッケージがコンテナ内に組み上げられるとき、クライアント装置３００はＸＧＬサーバ４００と通信しているので、クライアント装置３００上に位置するウィザードエンジンの部分の特定のニーズに適合する、ページおよび／又はパッケージを収集することができる。クライアント装置が言語の選択としてフランス語を使用している場合、動的なウィザードのＸＧＬコンテナ内に集められるパッケージは、動的なウィザードインタフェースで表示するフランス語を含むことになる。ローカライズおよびカスタマイズの一部は、単に、どのテンプレートおよび／又はウィザードエンジンがクライアント装置３００上に常駐しているかによって決定することができる。既に触れた通り、高コントラストテンプレートをクライアント装置に常駐させることができる。追加のテンプレートには、クライアント装置３００上に置かれた、テキスト−オーディオコンバータ、又は点字（Ｂｒａｉｌｌｅ）変換テンプレートへの視覚的表示を含めることができる。これらの機能強化はいずれも、ユーザに提示する動的なウィザードインタフェースを形成するのにどのパッケージおよび／又はページを組み上げるかには影響を及ぼさない。むしろ、これらの機能強化は、単に、エンドユーザがより便利に使用できる形にその提示を微調整する。
【００９４】
本発明の好ましい実施形態を図示し、説明したが、本発明の趣旨および範囲から逸脱することなく、本発明の好適実施形態に様々な変更を行うことができることを理解されよう。
【００９５】
【発明の効果】
以上説明したように本発明によれば、ウィザードインタフェースの効率および操作性を改善するように動的なウィザード構成要素を提供できる。
【図面の簡単な説明】
【図１】従来技術のインターネットなどのインターネットワークの代表的部分を示す図である。
【図２】本発明の実施形態のウィザードインタフェースをクライアント装置に提供する、インターネットワークに接続されたいくつかの装置の図である。
【図３】本発明の実施形態の例示的クライアント装置を提供するパーソナルコンピュータのブロック図である。
【図４】本発明の実施形態の例示的サーバを提供するコンピュータのブロック図である。
【図５】本発明の実施形態のウィザードインタフェースをクライアント装置に提供するために、クライアント装置、ＸＧＬサーバ、およびユーザデータベースの取るアクションを示すダイアグラムの図である。
【図６】本発明の実施形態のウィザードインタフェースをクライアント装置に提供するために、サーバによって実装されるウィザード準備ルーチンを示す概略的な流れ図である。
【図７】本発明の実施形態のウィザードインタフェースをクライアント装置に提供するために、クライアント装置、ＸＧＬサーバ及びＸＧＬデータベース、並びにユーザデータベースが取るアクションを示すダイアグラムの図である。
【図８】本発明の実施形態のウィザードをクライアント装置に提供するためにＸＧＬサーバで実装されるウィザード準備ルーチンを示す概略的な流れ図である。
【図９】本発明の実施形態のウィザードインタフェースをエンドユーザに提供するためにクライアント装置で実装されるウィザードインタフェースルーチンを示す概略的な流れ図である。
【図１０】本発明の実施形態のクライアント装置で実装されるコンテナ処理サブルーチンを示す概略的な流れ図である。
【図１１】本発明に従ってクライアント装置で実装されるパッケージ解析サブルーチンを示す概略的な流れ図である。
【図１２】本発明の実施形態のクライアント装置で実装されるレイアウトサブルーチンを示す概略的な流れ図である。
【図１３】本発明の実施形態のクライアント装置で実装されるオブジェクト変換サブルーチンを示す概略的な流れ図である。
【図１４】本発明の実施形態のクライアント装置で実装されるデータフィールドポピュレーティングサブルーチンを示す概略的な流れ図である。
【図１５】本発明の実施形態のクライアント装置で実装される部品表作成サブルーチンを示す概略的な流れ図である。
【図１６】本発明の実施形態のクライアント装置で実装されるウィザードページ表示サブルーチンを示す概略的な流れ図である。
【図１７】本発明の実施形態のクライアント装置で実装される、ユーザ入力を処理するサブルーチンを示す概略的な流れ図である。
【図１８Ａ】本発明の実施形態の例示的ウィザードインタフェースページを示す図である。
【図１８Ｂ】本発明の実施形態の例示的ウィザードインタフェースページを示す図である。
【図１８Ｃ】本発明の実施形態の例示的ウィザードインタフェースページを示す図である。
【図１９】本発明の実施形態のクライアント装置で実装されるイベント検出ルーチンを示す概略的な流れ図である。
【図２０】本発明の実施形態のクライアント装置で実装されるパッケージイベント検出サブルーチンを示す概略的な流れ図である。
【図２１】本発明の実施形態のクライアント装置で実装されるページイベント検出サブルーチンを示す概略的な流れ図である。
【図２２】本発明の実施形態のクライアント装置で実装されるアクションオブジェクト処理サブルーチンを示す概略的な流れ図である。
【図２３】本発明の実施形態のクライアント装置で実装される計測ルーチンを示す概略的な流れ図である。
【図２４Ａ】本発明の実施形態の例示的ウィザードインタフェースページを示す図である。
【図２４Ｂ】本発明の実施形態のアクセス可能性が向上した例示的ウィザードインタフェースページを示す図である。
【符号の説明】
１００　インターネット
２００　動的なウィザードインタフェースを提供するシステム
２１０　ユーザデータベース
３００　クライアント装置
３２０　コンピュータ
３２２　プロセッサ
３２４　システムメモリ
３２６　システムバス
３２８　読み取り専用メモリ
３３０　ランダムアクセスメモリ
３３２　ＢＩＯＳ
３３４　ハードディスクドライブ
３３６　磁気媒体
３３８　磁気ドライブ
３４０　磁気ディスク
３４２　光ドライブ
３４４　光ディスク
３４６　オペレーティングシステム
３４８　アプリケーションプログラム
３４９　ウィザードエンジン
３５０　他のプログラムモジュール
３５２　プログラムデータ
３５４　ハードディスクドライブインタフェース
３５６　磁気ディスクドライブインタフェース
３５８　光ドライブインタフェース
３６０　キーボード
３６２　ポインティングデバイス
３６４　ユーザ入力インタフェース
３６８　ネットワークインタフェース
３６９　モデム
３９０　ディスプレイ
４００　ＸＧＬサーバ
４２０　コンピュータ
４２２　プロセッサ
４２４　システムメモリ
４２６　システムバス
４２８　読み取り専用メモリ
４３０　ランダムアクセスメモリ
４３２　ＢＩＯＳ
４３４　ハードディスクドライブ
４３６　磁気媒体
４３８　磁気ドライブ
４４０　磁気ディスク
４４２　光ドライブ
４４４　光ディスク
４４６　オペレーティングシステム
４４８　アプリケーションプログラム
４４９　ＸＧＬデータベース
４５０　他のプログラムモジュール
４５２　プログラムデータ
４５４　ハードディスクドライブインタフェース
４５６　磁気ディスクドライブインタフェース
４５８　光ドライブインタフェース
４６０　キーボード
４６２　ポインティングデバイス
４６４　ユーザ入力インタフェース
４６８　ネットワークインタフェース
４６９　モデム
４９０　ディスプレイ
４４９　ＸＧＬデータベース
１８１０　ウィザードページフレーム
１８２０　左側パネル
１８３０　右側パネル
１８４２　戻るボタン
１８４４　次へボタン
１８４６　終了ボタン
１８４８　キャンセルボタン
１８５０　初期ウィザードページ
１８５５　ウィザードページ
１８６０　最終ウィザードページ
２４００　ウィザードページ
２４０５　ウィザードページフレーム
２４１０　左側パネル
２４１２、２４１２ａ　説明文
２４２０、２４２０ａ　フィールド
２４３０　右側パネル
２４４２、２４４２ａ　戻るボタン
２４４４、２４４４ａ　次へボタン
２４４８、２４４８ａ　キャンセルボタン
２４５０　高コントラストウィザードページ
【図１】
2004013902.tif 000003
【図２】
2004013902.tif 000004
【図３】
2004013902.tif 000005
【図４】
2004013902.tif 000006
【図５】
2004013902.tif 000007
【図６】
2004013902.tif 000008
【図７】
2004013902.tif 000009
【図８】
2004013902.tif 000010
【図９】
2004013902.tif 000011
【図１０】
2004013902.tif 000012
【図１１】
2004013902.tif 000013
【図１２】
2004013902.tif 000014
【図１３】
2004013902.tif 000015
【図１４】
2004013902.tif 000016
【図１５】
2004013902.tif 000017
【図１６】
2004013902.tif 000018
【図１７】
2004013902.tif 000019
【図１８Ａ】
2004013902.tif 000020
【図１８Ｂ】
2004013902.tif 000021
【図１８Ｃ】
2004013902.tif 000022
【図１９】
2004013902.tif 000023
【図２０】
2004013902.tif 000024
【図２１】
2004013902.tif 000025
【図２２】
2004013902.tif 000026
【図２３】
2004013902.tif 000027
【図２４Ａ】
2004013902.tif 000028
【図２４Ｂ】
2004013902.tif 000029