JP2004013902A - ウィザードインタフェースを提供するための方法及びコンピュータサーバ装置並びに記録媒体 - Google Patents

ウィザードインタフェースを提供するための方法及びコンピュータサーバ装置並びに記録媒体 Download PDF

Info

Publication number
JP2004013902A
JP2004013902A JP2003158567A JP2003158567A JP2004013902A JP 2004013902 A JP2004013902 A JP 2004013902A JP 2003158567 A JP2003158567 A JP 2003158567A JP 2003158567 A JP2003158567 A JP 2003158567A JP 2004013902 A JP2004013902 A JP 2004013902A
Authority
JP
Japan
Prior art keywords
package
wizard
computer
container
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003158567A
Other languages
English (en)
Other versions
JP2004013902A5 (ja
Inventor
Andrew G Bybee
アンドリュー ジー.バイビー
Christopher A Evans
クリストファー エー.エバンス
Chad C Neff
チャド シー.ネフ
Pritvinath Obla
プリビナス オブラ
Leslie S Yeh
レスリー エス.イェー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004013902A publication Critical patent/JP2004013902A/ja
Publication of JP2004013902A5 publication Critical patent/JP2004013902A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

【課題】エンドユーザに動的なウィザードインタフェースを提供する。
【解決手段】一実施形態では、クライアント装置300は、リモートサーバ400から、自己記述データフォーマットを使用するいくつかのパッケージをカプセル化するコンテナを取り出す。上記クライアント装置300上のウィザードエンジンは、このコンテナおよびパッケージを解釈し、ウィザードインタフェースを生成する。好ましくは、本発明は、ウィザードインタフェースに関する取込み情報を受け取り、保存し、送るために互換データ構造を使用する。
【選択図】    図2

Description

【0001】
【発明の属する技術分野】
本発明は、一般にはユーザインタフェースに関連したウィザードインタフェースを提供するための方法及びコンピュータサーバ装置並びに記録媒体に関する。詳細には、エンドユーザに動的なウィザードインタフェースを提供するウィザードインタフェースを提供するための方法、所望のウィザードインタフェースを記述するウィザードコンテナを動的に提供するための方法、コンピュータサーバ装置及び記録媒体に関する。
【0002】
【従来の技術】
通信ネットワークは、コンピュータ通信の分野で周知である。定義によると、ネットワークは、通信機構又は通信リンクで接続された一群のコンピュータおよび関連する装置のことである。ネットワーク通信は、ケーブル経由のような常設型でよく、又は電話リンク又はワイヤレスリンクを介して行われる接続などの一時的な性質のものでよい。ネットワークのサイズは、少数のコンピュータ又はワークステーションと、関係する装置とからなるローカルエリアネットワーク(「LAN」)から、地理的に分散しているコンピュータとLANを相互接続するワイドエリアネットワーク(「WAN」)や、一時的通信リンクを介してリモートコンピュータを相互接続するリモートアクセスサービス(「RAS」)まで異なる。インターネットワークは、様々なネットワークからのデータ転送および変換を容易にするゲートウェイ又はルータによって、複数のコンピュータネットワーク(類似のコンピュータネットワークと異なるコンピュータネットワークの両方)を結合したものである。インターネットワークという用語の周知の略語は、「インターネット(internet)」である。現在理解されているように、大文字の用語「インターネット(Internet)」は、インターネットプロトコル(「IP」)を、伝送制御プロトコル/インターネットプロトコル(「TCP/IP」)又はユニフォームデータグラムパケット/インターネットプロトコル(「UDP/IP」)などのより上位のプロトコルと共に使用して、互いに通信するネットワークとルータの集合を指す。
【0003】
インターネットは、世界中に位置するコンピュータをリンクすることができることにより、近年爆発的に成長した。他の対話型環境には、マイクロソフトネットワーク(MSN)又は他のオンラインサービスプロバイダによって提供されるような独自の環境や、様々なワイヤレスネットワーキングプロバイダ、特に携帯電話業界のワイヤレスネットワーキングプロバイダによって提供される「ワイヤレスウェブ」を含めることができる。以下の説明から理解するであろうが、本発明はそのようなどんな対話型環境にも適用することができる。しかし、解説の都合上、本発明を実装するための例示的な対話型環境としてインターネットを用いる。
【0004】
インターネットは、主に情報を様々なフォーマットで送達することができるために、急速に、情報を配布する一般的な方法となった。インターネットを介して情報を入手可能にするために、ユーザは一般に、文書および/又はデータを格納するための大容量記憶機構を有し、かつ格納された文書を求める要求を処理するための管理ソフトウェアを動作させる、インターネットに接続されたサーバ上に常駐する文書又は他のデータを作成する。文書をアドレス指定するための一般的な方法は、インターネットに接続されたサーバ上のリンクされた文書の正確な位置を与える、関連するユニフォームリソースロケータ(「URL」)による方法である。
【0005】
インターネットの開始時には、インターネット上に格納された情報は、一般に静的なものであり、サーバ上の文書に含まれる情報を変更したい場合、文書を書き直すことによって文書を手動で構成することが必要であった。しかし、インターネットの現在の開発状況では、多くのサーバが、ユーザの消費者向け装置とサーバとの間でのユーザの対話に応じて変化する、動的なコンテンツを提供する。
【0006】
インターネットの開発と並行して、コンピュータシステム用のグラフィカルユーザインタフェース(「GUI」)にいくつかの拡張が行われた。そのようなGUIは、ウィザードインタフェースと呼ばれ、ある場合にはアシスタントインタフェースとも呼ばれる。ウィザードインタフェースは一般に、ウィザードエンジンと対話してユーザが結果を生成できるようにする、構造化された一連のページ又はダイアログである。本明細書では、ウィザードインタフェースおよびウィザードエンジンをウィザードと総称する。チュートリアルやオンラインヘルプ画面などの他の形態のGUIとは異なり、ウィザードは1つ又は複数のタスクも実施する。ウィザードインタフェースが紹介されて以来、ウィザードインタフェースは、複雑なタスク中を手引きしてエンドユーザを案内する方法として広く受け入れられてきた(特許文献1参照)。ウィザードインタフェースがますます受け入れられるようになるにつれて、ウィザードに実行を求めるタスクの複雑さも増大してきた。加えて、使用法が増大することにより、様々なタイプの人々が、ウィザードの作成に貢献するように求められている。
【0007】
従来のウィザードインタフェースは一般に、設計するのにかなりのソフトウェア開発経験を必要とするハードコード化されたグラフィカルユーザインタフェース構成要素である。ウィザードの必要が増すにつれて、ウィザードインタフェースを作成し、かつ/又はウィザードインタフェースの作成を管理できる経験のある開発者の供給は、それに比例して増加しなかった。したがって、経験のあるソフトウェア開発者を必要とせずにウィザードを設計するための方法が求められている。
【0008】
従来のウィザードインタフェースは、完全な形であるときは、ナビゲートが容易であり、経験の浅いエンドユーザであっても使用が容易である。しかし、ウィザードインタフェースのページを追加、削除、又は変更することによってウィザードインタフェースを変更することにより、実施が困難な複数のレベルの変更が引き起こされる。例えば、ウィザードインタフェースに別の分岐ページを加えることにより、新しいページ順序を反映させるために、前のページおよび/又は後続のページすべてを更新することが必要となる可能性がある。加えて、ウィザードインタフェース中の全ページに関する全構成要素をあらかじめ決定し、ウィザードと共にパッケージすることが必要となる。それぞれ3つの可能な分岐がある、5つの分岐ページを有するウィザードインタフェースは、200個の可能なページノードを有し、潜在的には、わずか5番目のページでも100を超えるバリエーションを有する。複雑なウィザードインタフェース中に含まれる、より多数のページが追加されるとき、およびウィザードがページ中に4つ以上の選択肢を提供するとき、この複雑さは悪化するだけである。さらに、ライブデータ(例えば、利用可能なサーバのリストや他のリアルタイム情報)を従来のウィザードに組み込む能力は、ウィザードインタフェースのページを動的に変更することが困難なことによって限定される。むしろ、すべての可能な組合せをあらかじめ決定する必要がある。これにより必然的に、従来のウィザードの開発および配置がさらに大規模かつ厄介なものとなり、又は単に、効率的に応答/対話するウィザードの能力が妨げられる。以前に開発したウィザードインタフェースで必要な複雑さおよび/又は資源を増大させることなくウィザードインタフェースを機能強化する、使用が容易なシステムおよび方法を有することが望ましい。
【0009】
【特許文献1】
米国特許第5301326号明細書
【0010】
【発明が解決しようとする課題】
従来のシステムには上述したような種々の問題があり、さらなる改善が望まれている。
【0011】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、ウィザードインタフェースの効率および操作性を改善するように動的なウィザード構成要素を提供できる、ウィザードインタフェースを提供するための方法及びコンピュータサーバ装置並びに記録媒体を提供することにある。
【0012】
【課題を解決するための手段】
本発明は、ウィザードエンジンに動的なウィザードインタフェースを提供することを対象とする。一実施形態では、サーバコンピュータは動的なウィザードを求める要求を受け取り、その動的なウィザードインタフェースに含めるべきいくつかのパッケージを決定する。初期パッケージはコンテナ内にカプセル化され、そのコンテナが、通常は別のコンピューティング装置上に位置するウィザードエンジンに送られ、解釈され、ウィザードインタフェースに変換される。コンテナおよびパッケージは、その構成要素を記述するのにXML(eXtensible Markup Language)などの自己記述データフォーマットを使用する。本発明の1つの特定の実施形態では、パッケージおよびコンテナ内の構成要素を記述するのに特定の1組の用語を使用する。この一群の用語は、エクスペリエンス生成言語(「XGL(experience generation language)」)と呼ばれる。一般には、パッケージは、ウィザードインタフェースをさらに記述するページおよびオブジェクトを含む。
【0013】
本発明の追加の態様によれば、エンドユーザは、ある形態の識別情報をウィザードインタフェースに与える。動的なウィザードは、この識別情報を使用して、関連するユーザデータを取り出し、ウィザードインタフェースの既知の部分を事前充填する。この事前充填は一般に、パッケージ内の自己記述データフィールドを、ユーザの情報を含むデータ構造中の自己記述データフィールドとマッチングすることを含む。
【0014】
本発明の別の態様によれば、初期カプセル化コンテナは、1組の初期パッケージを含む。好ましくは、この1組の初期パッケージは、次のパッケージ又は次のページへの論理分岐経路を有さないパッケージである。例えば、あるパッケージを、名前情報を収集するように設計し、次のパッケージを、アドレス情報を収集するように設計し、その次のパッケージを、コンピュータ装置の詳細を収集するように設計した場合、これらのパッケージを使用して取り出した情報のすべては関連する情報であるので、何らかの別のタイプのパッケージに分岐する必要はない。一方、あるページがクレジットカードの支払か、それとも小切手の支払かに関する決定を含む場合、ユーザの決定に基づいて、必要なのは小切手、又はクレジットカード情報だけであると想定することはもっともなことである。その結果、ウィザードのフローは、この決定点で分岐することになる。
【0015】
一実施形態で、この1組の初期パッケージ内に分岐が存在しない場合であっても、分岐が含まれる場合、即ちいずれにしても他のパッケージが分岐を含む場合、エンドユーザが行った選択を介して、エンドユーザが順方向と逆方向の両方向にナビゲートできることが望ましい。したがって、本発明の一実施形態では、パッケージ内に含まれる各ページと、他のパッケージ内のページへの参照とは、順方向ポインタと逆方向ポインタを共に含む。順方向ポインタは、いくつかの相異なる可能な次のページおよび/又はパッケージを含むことができるが、逆方向ポインタは常に単一の「前の」ページをポイントする。もちろん、ウィザードインタフェースの第1ページは、前のページへのリンクを有さない。
【0016】
本発明のさらに別の態様によれば、ウィザード中をナビゲートするプロセスの間に、分岐で、新しいパッケージが必要であると判定される場合、分岐の判定に基づいて、要求が次の1つ又は複数のパッケージに送られる。
【0017】
本発明のさらに別の態様によれば、あるパッケージは、ライブデータを含むサブパッケージを含むことができ、又はそれをカプセル化することができる。ライブデータを含むサブパッケージに含まれる情報は、エンドユーザがウィザードインタフェースを閲覧しているときに取り出される。このような使用法の一例は、ユーザが本発明に従って形成された動的なウィザードインタフェースを閲覧しながら、特定のサーバを選択して対話することである。このような使用法では、ライブデータが対話するのに利用可能なサーバのリストを提供し、それによってエンドユーザが、選択を行う際に使用するための最新の情報を有することになることが保証される。
【0018】
本発明のさらに別の態様によれば、分岐点から取り出すべき次のパッケージがキャッシュされる。この態様は、ウィザードインタフェースの特定のページが3つの異なる支払の種類についての選択肢をエンドユーザに与える場合に有用である。このような状況では、決定に至った後に、選んだパッケージを動的にダウンロードするよりも、3つのすべての選択肢を含むパッケージをダウンロードしてキャッシュする方が時間効率が良いことがあり、それによって、パッケージを後にダウンロードすることにより生じるどんな遅延も解消される。このことは、例えばエンドユーザが低帯域幅接続を有するためにエンドユーザの接続速度が低速であるときに特に有用である。
【0019】
本発明のさらに別の態様によれば、初期コンテナに関するパッケージは事前決定される。初期コンテナをウィザードエンジンに供給することは、複数のコンテナのうちのどれが所望のウィザードを実施するかを判定することを伴い、それによって、初期コンテナ内に含めるパッケージを決定する必要が緩和される。
【0020】
以上の概要から容易に理解するであろうが、本発明は、ウィザードインタフェースの効率および操作性を改善するように動的なウィザード構成要素を提供する、新しい改良型の方法、並びに関係するシステムとコンピュータ可読媒体を提供する。
【0021】
本発明の上記の態様や、本発明に伴う利点の多くは、添付の図面を参照しながら以下の詳細な説明を参照することによって、容易に理解されよう。
【0022】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【0023】
以下の詳細な説明は、主に、プロセッサと、プロセッサ用のメモリ記憶装置と、接続されたディスプレイ装置と、入力装置とを含む従来型コンピュータ構成要素によるプロセスと、オペレーションの記号による表現によって表される。さらに、これらのプロセスおよびオペレーションは、リモートファイルサーバ、コンピュータサーバ、およびメモリ記憶装置を含む異機種分散コンピューティング環境内の従来型コンピュータ構成要素を使用することができる。これらの従来型分散コンピューティング構成要素はそれぞれ、プロセッサによって、通信ネットワークを介してアクセス可能である。
【0024】
先に述べたように、大文字の用語「Internet」は、相互の通信を使用するネットワークおよびルータの集合を指す。図1にインターネット100の代表的部分を示す。従来技術、より具体的には図1に示すインターネット100の代表的部分は、ルータ110a〜110cによって相互接続された複数のLAN120a〜120cおよびWAN130a、130bを含む。ルータ110a〜110cは一般に、あるLAN又はWANを別のLAN又はWANとインタフェースするのに使用される特殊目的コンピュータである。LAN内の通信リンクは、ツイストペア線、同軸ケーブル、あるいは、ワイヤレス技術を含むその他の周知のどんな通信リンケージ技術でも形成することができる。ネットワーク間の通信リンクは、56kbpsアナログ電話回線、あるいは1MbpsデジタルT−1回線および/又は45MbpsT−3回線、あるいはワイヤレス技術を含むその他の周知のどんな通信リンケージ技術でも形成することができる。さらに、コンピュータと、他の関係する電子装置140a〜140fは、モデムや、ワイヤレス電話リンクを含む一時的電話リンクを介して、LAN120a〜120c又はWAN130a、130bにリモートに接続することができる。図1では、このようなコンピュータおよび電子装置140a〜140fを、LAN120a〜120cのうちの1つに接続されているものとして図示する。インターネット100が、膨大な数のこのような相互接続されたネットワーク、コンピュータ、およびルータを含むこと、およびインターネット100の小さい代表的部分だけを図1に図示していることを理解されよう。
【0025】
図2に、動的なウィザードインタフェースを提供するシステム200の機能ブロック図を示す。システム200は一般に、ネットワーク(インターネット100など)を介して相互接続された個々のコンピュータシステムを含む分散コンピューティング環境で動作するが、システム200は、同様に単一のスタンドアロンコンピュータシステムとしても動作できることを当業者は理解されよう。図2に示すシステム200は、インターネット100などのインターネットワークを介して相互接続されたクライアント装置300、XGLサーバ400、およびユーザデータベース210を含む。図2には、XGLサーバ400と通信するXGLデータベース449も示す。XGLデータベース449はXGLサーバ400上に常駐することができ、又は別のコンピューティング装置上に常駐できることを当業者は理解されよう。以下で、クライアント装置300およびXGLサーバ400を、それぞれ図3および4に関してさらに説明する。加えて、1つのクライアント装置300だけを図示しているが、多数のクライアント装置300をシステム200内に含めることができることを理解されよう。
【0026】
図3に、クライアント装置300を形成するのに適した例示的コンピューティングシステムを示す。このコンピューティングシステムは、適切なコンピューティング環境の一例に過ぎず、本発明の使用範囲又は機能範囲に関して何らかの制限を示すことを意図するものではない。このコンピューティング環境が、例示的動作環境に図示する構成要素のいずれか1つ又はそれらの組合せに関する依存要件を有すると解釈すべきでもない。
【0027】
本発明は、他の多数の汎用コンピューティングシステム環境又は構成、あるいは他の多数の特殊目的コンピューティングシステム環境又は構成で動作可能である。本発明を実装するのに適した周知のコンピューティングシステム、環境、および/又は構成の例には、限定はしないが、パーソナルコンピュータ、サーバコンピュータ、ラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、ネットワークPC(personal computer)、ミニコンピュータ、メインフレームコンピュータ、並びに上記のシステムのいずれかを含む分散コンピューティング環境などが含まれる。
【0028】
本発明で使用するクライアント装置は、図3に図示し、以下で説明するタイプのコンピュータ320によって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的状況で説明することができる。一般に、プログラムモジュールは、特定のタスクを実行し、又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカル記憶媒体とリモート記憶媒体のどちらにも位置することができる。
【0029】
図3を参照すると、本発明を実装するのに適した例示的クライアント装置300は、コンピュータ320の形態の汎用コンピューティング装置である。コンピュータ320の構成要素には、限定はしないが、プロセッサ322と、システムメモリ324と、ディスプレイ390と、システムメモリ324を含む様々なシステム構成要素をプロセッサ322に結合するシステムバス326とが含まれる。システムバス326は、メモリバス又はメモリコントローラと、周辺バスと、様々なバスアーキテクチャのうちのいずれかを使用するローカルバスとを含むいくつかのタイプのバス構造のいずれでもよい。例えば、限定はしないが、このようなアーキテクチャには、ISA(industry standard architecture)バス、MCA(microchannel architecture)バス、EISA(enhanced ISA)バス、VESA(video electronic standards association)ローカルバス、メザニンバスとも呼ばれるPCI(peripheral component interconnect)バス、およびAGP(accelerated graphics port)バスが含まれる。
【0030】
コンピュータ320は、一般に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ320でアクセスすることができる入手可能などんな媒体でもよく、揮発性媒体と不揮発性媒体の両方、リムーバル媒体とノンリムーバル媒体の両方が含まれる。例えば、限定はしないが、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体には、限定はしないが、RAM(random access memory)、ROM(readonly memory)、EEPROM(electrically erasable PROM)、フラッシュメモリ又は他のメモリ技術、CD(compact disc [disk])−ROM、デジタル多用途ディスク(「DVD」)又は他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、あるいは所望の情報を格納又は通信するのに使用することができ、かつコンピュータ320でアクセスすることができる他の任意の媒体が含まれる。
【0031】
通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを、搬送波又は他の典型的な移送機構などの被変調データ信号で具体化し、任意の情報送達媒体を含む。用語「被変調データ信号」とは、その特性集合のうちの1つ又は複数を有する信号、又は情報を信号中に符号化する方式で変化する信号を意味する。例えば、限定はしないが、通信媒体には、有線ネットワーク又は直接配線接続などの有線媒体、並びに音響、無線周波、赤外線、および他のワイヤレス媒体などのワイヤレス媒体が含まれる。上記のいずれの組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【0032】
システムメモリ324は、読み取り専用メモリ(「ROM」)328およびランダムアクセスメモリ(「RAM」)330など、揮発性メモリおよび不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ320内の要素間で情報を転送する助けとなる基本ルーチンを含む基本入出力システム332(「BIOS」)は、通常ROM328に格納される。RAM330は通常、プロセッサ322から即座にアクセス可能であり、かつ/又はプロセッサ322によって現在操作されているデータおよび/又はプログラムモジュールを含む。例えば、限定はしないが、図3に、オペレーティングシステム346、アプリケーションプログラム348、動的なウィザードを処理するウィザードエンジン349、他のプログラムモジュール350、およびプログラムデータ352を示す。コンピュータ320は、リムーバル/ノンリムーバルな揮発性/不揮発性のコンピュータ記憶媒体も含むことができる。単なる例に過ぎないが、図3に、ノンリムーバルな不揮発性の磁気媒体336を読み書きするハードディスクドライブ334、リムーバルな不揮発性の磁気ディスク340を読み書きする磁気ドライブ338、およびCD−ROM又は他の光媒体などのリムーバルな不揮発性の光ディスク344を読み書きする光ドライブ342を示す。この例示的動作環境で使用することが可能な他のリムーバル/ノンリムーバルな揮発性/不揮発性のコンピュータ記憶媒体には、限定はしないが、磁気テープカセット、フラッシュメモリカード、DVD、デジタルビデオテープ、固体RAM、および固体ROMなどが含まれる。ハードディスクドライブ334、磁気ディスクドライブ338、および光ディスクドライブ342は、それぞれハードディスクドライブインタフェース354、磁気ディスクドライブインタフェース356、および光ドライブインタフェース360によってシステムバス326に接続することができる。あるいは、ハードディスクドライブ334、磁気ディスクドライブ338、又は光ディスクドライブ342は、SCSI(small computer system interface)によってシステムバス326に接続することもできる。
【0033】
上記で論じ、図3に示すドライブと、関連するコンピュータ記憶媒体は、コンピュータ320からのコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶を実現する。図3では、例えば、ハードディスクドライブ334は、オペレーティングシステム346、アプリケーションプログラム348、ウィザードエンジン349、他のプログラムモジュール350、およびプログラムデータ352も格納することができる。これらの構成要素は、オペレーティングシステム346、他のプログラムモジュール350、およびプログラムデータ352と同一にすることができ、あるいはそれらとは異なるものにすることができることに留意されたい。ユーザは、キーボード360、および/又はマウス、トラックボール、もしくはタッチパッドと一般に呼ばれるポインティングデバイス362などの入力装置を介してコマンドおよび情報をコンピュータ320に入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、又はスキャナなどを含めることができる。これらの入力装置や他の入力装置は、しばしばユーザ入力インタフェース364を介してシステムバス326に接続され、かつパラレルポート、シリアルポート、ゲームポート、ユニバーサルシリアルバス(「USB」)、又は他のインタフェースなどの他のインタフェースおよびバス構造によって接続することができる。
【0034】
コンピュータ320は、1つ又は複数のリモートコンピュータ140a〜140fへの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ140a〜140fは、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、あるいは他の共通ネットワークノードでよく、通常は上記でコンピュータ320に関して説明した要素のうちの多数あるいはすべてを含む。図3に示す論理接続は、LAN120およびWAN130を含むが、他のネットワークも含む。このようなネットワーク環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的なものである。
【0035】
LANネットワーク環境で使用するとき、コンピュータ320はネットワークインタフェース368を介してLAN120に接続される。WANネットワーク環境で使用するとき、コンピュータは通常、モデム、あるいはインターネット100などのWAN130を介して通信を確立する、ネットワークインタフェース368を含む他の手段を含む。モデム369は内蔵でも外付けでもよく、ユーザ入力インタフェース364又は他の適切な機構を介してシステムバス326に接続することができる。図示したネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されよう。コンピュータ320の他の多くの内部構成要素を図示していないが、そのような構成要素と、その相互接続は周知であることを当業者は理解されよう。したがって、本発明に関連して、コンピュータ320の内部構造に関する追加の詳細を開示する必要はない。
【0036】
オペレーティングシステム346、アプリケーションプログラム348、ウィザードエンジン349、およびデータ352などのプログラムモジュールは、コンピュータ320のメモリ記憶装置のうちの1つを介してコンピュータ320に供給され、メモリ記憶装置には、ROM328、RAM330、ハードディスク334、磁気ディスクドライブ338、又は光ディスクドライブ342を含めることができることを当業者は理解されよう。ハードディスクドライブ334は、データ352と、オペレーティングシステム346およびアプリケーションプログラム348を含むプログラムとを格納するのに使用する。
【0037】
コンピュータ320をオンにし、又はリセットするとき、ROM内に格納されるBIOS332は、ハードディスクドライブ334からRAM330にオペレーティングシステム346をロードするようにプロセッサ322に指令する。オペレーティングシステム346をRAM330にロードした後、プロセッサ322はオペレーティングシステムコードを実行し、オペレーティングシステムのユーザインタフェースに関連する視覚的要素をモニタ上に表示させる。アプリケーションプログラム348がユーザによってオープンされるとき、プログラムコードと、関連するデータがハードディスクドライブ334から読み取られ、RAM330内に格納される。
【0038】
単一の従来型汎用コンピューティング装置に一般に適合する例示的クライアント装置300を説明したが、クライアント装置300は、実際には、ネットワークを介してXGLサーバ400と通信するように調整されたコンピューティング装置又は構成要素の組合せとすることができることを当業者は理解されよう。
【0039】
図4を参照すると、本発明を実装するのに適した例示的サーバ400もまた、コンピュータ420の形態の汎用コンピューティング装置である。コンピュータ420の構成要素には、限定はしないが、プロセッサ422と、システムメモリ424と、ディスプレイ490と、システムメモリ424を含む様々なシステム構成要素をプロセッサ422に結合するシステムバス426とが含まれる。システムバス426は、メモリバス又はメモリコントローラと、周辺バスと、様々なバスアーキテクチャのうちのいずれかを使用するローカルバスとを含むいくつかのタイプのバス構造のいずれでもよい。例えば、限定はしないが、このようなアーキテクチャには、ISAバス、MCAバス、EISAバス、VESAローカルバス、メザニンバスとも呼ばれるPCIバス、およびAGPバスが含まれる。
【0040】
コンピュータ420は、一般に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ420でアクセスすることができる入手可能などんな媒体でもよく、揮発性媒体と不揮発性媒体の両方、リムーバル媒体とノンリムーバル媒体の両方が含まれる。例えば、限定はしないが、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体には、限定はしないが、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD−ROM、DVD又は他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、あるいは所望の情報を格納又は通信するのに使用することができ、かつコンピュータ420でアクセスすることができる他の任意の媒体が含まれる。
【0041】
通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを、搬送波又は他の典型的な移送機構などの被変調データ信号で具体化し、任意の情報送達媒体を含む。用語「被変調データ信号」とは、その特性集合のうちの1つ又は複数を有する信号、又は情報を信号中に符号化する方式で変化した信号を意味する。例えば、限定はしないが、通信媒体には、有線ネットワーク又は直接配線接続などの有線媒体、並びに音響、無線周波、赤外線、および他のワイヤレス媒体などのワイヤレス媒体が含まれる。上記のいずれの組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【0042】
システムメモリ424は、ROM428およびRAM430など、揮発性メモリおよび不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ420内の要素間で情報を転送する助けとなる基本ルーチンを含むBIOSシステム432は、通常ROM428に格納される。RAM430は通常、プロセッサ422から即座にアクセス可能であり、かつ/又はプロセッサ422によって現在操作されているデータおよび/又はプログラムモジュールを含む。例えば、限定はしないが、図4に、オペレーティングシステム446、アプリケーションプログラム448、他のプログラムモジュール450、およびプログラムデータ452を示す。XGLデータベース449もまた、システムメモリ424内に常駐するものとして示す。
【0043】
コンピュータ420はまた、リムーバル/ノンリムーバルな揮発性/不揮発性のコンピュータ記憶媒体も含むことができる。単なる例に過ぎないが、図4に、ノンリムーバルな不揮発性の磁気媒体436を読み書きするハードディスクドライブ434、リムーバルな不揮発性の磁気ディスク440を読み書きする磁気ドライブ438、およびCD−ROM又は他の光媒体などのリムーバルな不揮発性の光ディスク444を読み書きする光ドライブ442を示す。この例示的動作環境で使用することが可能な他のリムーバル/ノンリムーバルな揮発性/不揮発性のコンピュータ記憶媒体には、限定はしないが、磁気テープカセット、フラッシュメモリカード、DVD、デジタルビデオテープ、固体RAM、および固体ROMなどが含まれる。ハードディスクドライブ434、磁気ディスクドライブ438、および光ディスクドライブ442は、それぞれハードディスクドライブインタフェース454、磁気ディスクドライブインタフェース456、および光ドライブインタフェース460によってシステムバス426に接続することができる。あるいは、ハードディスクドライブ434、磁気ディスクドライブ438、又は光ディスクドライブ442は、SCSI接続によってシステムバス426に接続することもできる。
【0044】
上記で解説し、図4に示すドライブと、関連するコンピュータ記憶媒体は、コンピュータ420からのコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶を実現する。図4では、例えば、ハードディスクドライブ434は、オペレーティングシステム446、アプリケーションプログラム448、他のプログラムモジュール450、プログラムデータ452、XGLデータベース449も格納することができる。これらの構成要素は、オペレーティングシステム446、他のプログラムモジュール450、およびプログラムデータ452と同一にすることができ、あるいはそれらとは異なるものにすることができることに留意されたい。ユーザは、キーボード460、および/又はマウス、トラックボール、もしくはタッチパッドと一般に呼ばれるポインティングデバイス462などの入力装置を介してコマンドおよび情報をコンピュータ420に入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、又はスキャナなどを含めることができる。これらの入力装置や他の入力装置は、しばしばユーザ入力インタフェース464を介してシステムバス426に接続され、かつパラレルポート、シリアルポート、ゲームポート、USB、又は他のインタフェースなどの他のインタフェースおよびバス構造によって接続することができる。
【0045】
コンピュータ420は、1つ又は複数のリモートコンピュータ140a〜140fへの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ140a〜140fは、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、あるいは他の共通ネットワークノードでよく、通常は上記でコンピュータ420に関して説明した要素のうちの多数あるいはすべてを含む。図4に示す論理接続は、LAN120およびWAN130を含むが、他のネットワークも含む。このようなネットワーク環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネット100で一般的なものである。
【0046】
LANネットワーク環境で使用するとき、コンピュータ420はネットワークインタフェース468を介してLAN120に接続される。WANネットワーク環境で使用するとき、コンピュータは通常、モデム、あるいはインターネット100などのWAN130を介して通信を確立するネットワークインタフェース468を含む他の手段を含む。モデム469は内蔵でも外付けでもよく、ユーザ入力インタフェース464又は他の適切な機構を介してシステムバス426に接続することができる。図示したネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されよう。コンピュータ420の他の多くの内部構成要素を図示していないが、そのような構成要素と、その相互接続は周知であることを当業者は理解されよう。したがって、本発明に関連して、コンピュータ420の内部構造に関する追加の詳細を開示する必要はない。
【0047】
オペレーティングシステム446、アプリケーションプログラム448、およびデータ452などのプログラムモジュールは、コンピュータ420のメモリ記憶装置のうちの1つを介してコンピュータ420に供給され、メモリ記憶装置には、ROM428、RAM430、ハードディスク434、磁気ディスクドライブ438、又は光ディスクドライブ442を含めることができることを当業者は理解されよう。ハードディスクドライブ434は、データ452と、オペレーティングシステム446およびアプリケーションプログラム448を含むプログラムとを格納するのに使用する。
【0048】
コンピュータ420をオンにし、又はリセットするとき、ROM内に格納されるBIOS432は、ハードディスクドライブ434からRAM430にオペレーティングシステム446をロードするようにプロセッサ422に指令する。オペレーティングシステム446をRAM430にロードした後、プロセッサ422はオペレーティングシステムコードを実行し、オペレーティングシステムのユーザインタフェースに関連する視覚的要素をモニタ上に表示させる。アプリケーションプログラム448がユーザによってオープンされるとき、プログラムコードと、関連するデータがハードディスクドライブ434から読み取られ、RAM430内に格納される。
【0049】
単一の従来型汎用コンピューティング装置に一般に適合する例示的XGLサーバ400を説明したが、XGLサーバ400は、実際には、ネットワークを介してクライアント装置300と通信するように調整されたコンピューティング装置又は構成要素の組合せとすることができることを当業者は理解されよう。
【0050】
本発明に従って形成される動的なウィザードインタフェースの動作を示すために、図5に、図2に示したシステム200の装置間の対話の、あるシーケンスを示す。図5に示すシステム200の装置には、クライアント装置300、XGLサーバ400、およびユーザデータベース210が含まれる。この様々な装置の対話、およびこの様々な装置によって実行されるルーチンを、図6および9〜17を参照しながらより詳細に例示し、説明する。
【0051】
図5に戻ると、動的なウィザードの準備および解釈は、クライアント装置300がウィザード要求502をXGLサーバ400に送るときに開始する。XGLサーバ400がウィザード要求502を受け取った後、XGLサーバは、ユーザデータベース210内に含まれる関連する任意の部品表(「BOM(bill of material)」)504を要求する。部品表は、ウィザードインタフェース中のフィールドを完成するのに使用することができる、ローカルに格納されたデータ又はリモート装置上のデータである。ある実施形態では、格納データはユーザ固有である。BOMデータ構造は、ウィザードインタフェース中のフィールドの名前と、BOMデータ構造中のフィールドの名前とが対応関係を有するようなデータ構造である。
【0052】
ユーザデータベース210中に情報が存在すると仮定すると、BOM506がXGLサーバ400に返される。したがって、XGLサーバは、ウィザードの初期パッケージを記述するXGLコンテナを、BOMと共にクライアント装置300に返す(508)。次いで、ウィザードエンジン349を利用するクライアント装置300は、XGLコンテナとそのコンテンツを解析する(510)。次に、クライアント装置は、解析したXGLコンテナからウィザードインタフェースを作成し、その後、BOM内の一致する任意のフィールドで、ウィザードインタフェースをポピュレート(populate)する(514)。次いで、ウィザードインタフェースをクライアント装置300上に描画する(516)。任意のユーザ選択を受け取る(518)。ユーザ選択が、分岐要求などから追加のパッケージを要求する場合、新しいパッケージの要求をXGLサーバ400に送る(520)。それに応答して、XGLサーバ400は、要求されたパッケージを有するXGLコンテナ522をクライアント装置300に返す。再びXGLコンテナおよびコンテンツを解析し(524)、追加の解析情報でウィザードインタフェースを更新する(526)。次に、ウィザード中の追加の情報のいずれかがBOM内のフィールドと一致する場合、一致するフィールドでウィザードをポピュレートする(528)。次いで、更新後のウィザードインタフェースをクライアント装置300上に描画する(530)。エンドユーザがウィザードとの対話を完了するとき、エンドユーザは完了を指示する(532)。その後、クライアント装置300は、XGLサーバ400を介して更新後のBOM534内の任意の追加の情報をユーザデータベース210に送り、ユーザデータベース210に更新後のBOMを格納する(536)。一方、XGLサーバ400は更新後のBOMを解析し、処理が必要などんな情報に関しても処置を行う。例えば、ユーザがアカウントに登録する場合、XGLサーバ400は、ユーザから受け取ったすべてのアカウント情報をチェックすることができ、確認した後、確認540をクライアント装置300に戻す。
【0053】
図5が、システム200の装置間の例示的な1組の対話を表すことを当業者は理解されよう。したがって、追加のパッケージ要求および/又はパッケージ要求のキャッシングをこのような対話内に含めることができることも理解されよう。さらに、取り出したパッケージのいずれかがライブデータを含むと仮定すると、ライブデータ中の表示すべきそのような情報を提供するために1つ又は複数の装置(図示せず)との追加の通信がある可能性がある。さらに、図5に示すアクションは、別の順序で実施することができ、又は各アクションを組み合わせることができることを当業者は理解されよう。例えば、XGLコンテナおよびコンテンツの解析は、ウィザードのポピュレート、およびフィールドのマッチングと組み合わせることができる。
【0054】
図2、4、および5で示すように、本明細書で説明する動的なウィザードシステム200の実施形態は、クライアント装置300によって要求されるときにウィザードインタフェースを記述するコンテナおよびパッケージを提供するのに使用するXGLサーバ400を含む。本発明の一実施形態に従ってXGLサーバ400で実施されるウィザード準備ルーチン600を示す流れ図を図6に示す。ウィザード準備ルーチン600はブロック601で開始して、ブロック605に進み、ブロック605で、ウィザード要求をクライアント装置300から受け取る。次に、ブロック610では、任意のBOM情報をユーザデータベース210から取り出す。次いで、判定ブロック615では、BOM情報が利用可能であったかどうかについて判定を行う。BOM情報が利用可能であった場合、ブロック620で、ウィザードインタフェースに関する初期パッケージを含むXGLコンテナとBOMとをクライアントに送る。判定ブロック615で判定されるようにBOMが利用可能でなかった場合、ブロック625で、XGLサーバ400は、XGLコンテナだけをクライアントに送る。次いで、判定ブロック630で示すように、XGLサーバ400は、クライアント装置300、すなわち更新BOMを受け取る装置からの次の通信を待機する。判定ブロック630で、更新後BOMを受け取ったと判定される場合、ルーチン600はブロック635に進み、ブロック635で、XGLサーバ400が更新後BOMに関して処置を行う。次いで、ブロック640で示すように、更新後BOMをユーザデータベース210に転送する。次いでルーチン600はブロック699で終了する。しかし、更新後BOMを受け取っておらず、それによって上述のようにルーチン600が終了したと判定ブロック630で判定される場合、判定ブロック645で、パッケージ要求を受け取ったかどうかについて判定を行う。パッケージ要求を受け取らなかった場合、処理ループは判定ブロック630にループバックし、パッケージ要求を受け取った場合、処理はブロック650に進み、ブロック650で、要求されたパッケージをコンテナとしてクライアント装置300に送り戻す。ルーチン600は判定ブロック630にループバックする。
【0055】
当業者や他の人は理解するであろうが、ウィザード準備ルーチン600は、単一のクライアント装置とXGLサーバ400との間の通信を示す。多くの環境では、ルーチン600は、多数のクライアント装置300と共に、XGLサーバ400上の複数のスレッド又はプロセスとして行われることになることを理解されたい。
【0056】
本発明に従って形成される動的なウィザードインタフェースの動作をさらに例示するために、図7に、図2に示すシステム200の装置間の対話の別のシーケンスを示す。図7に示すシステム200の装置には、クライアント装置300、XGLサーバ400、XGLデータベース449、およびユーザデータベース210が含まれる。この様々な装置の対話、およびこの様々な装置によって実行されるルーチンを、図8および9〜17を参照しながらより詳細に例示し、説明する。
【0057】
図7に戻ると、動的なウィザードの準備および解釈は、クライアント装置300がウィザード要求702をXGLサーバ400に送るときに開始する。XGLサーバ400がウィザード要求702を受け取った後、XGLサーバは、どのパッケージを初期パッケージとしてウィザードコンテナ内に含めるべきかを決定する(703)。次いで、XGLサーバ400は、XGLデータベース449にパッケージを要求し(704)、XGLデータベース449は、要求された初期パッケージを返す(705)。次いで、XGLサーバは、ユーザデータベース210に任意のBOM情報を要求する(706)。ユーザデータベース210内に関連する情報が存在しないと仮定すると、BOM対話の欠如707がXGLサーバ400に返される。したがって、XGLサーバは、ウィザードの初期パッケージを記述するXGLコンテナ708をクライアント装置300に返す。
【0058】
次いでクライアント装置300は、XGLコンテナとそのコンテンツを解析する(710)。次に、クライアント装置は、解析したXGLコンテナからウィザードインタフェースを作成する(712)。その後、新しいBOMを作成する(714)。次いでウィザードインタフェースをクライアント装置300上に描画する(716)。次に、任意のユーザ選択を受け取る(718)。ユーザ選択が、分岐要求などから追加のパッケージを要求する場合、新しいパッケージの要求をXGLサーバ400に送る(720)。それに応答して、XGLサーバ400は、要求されたパッケージを有するXGLコンテナ722をクライアント装置300に返す。再びXGLコンテナおよびコンテンツを解析し(724)、追加の解析情報でウィザードインタフェースを更新する(726)。次いで、更新後のウィザードインタフェースをクライアント装置300上に描画する(730)。エンドユーザがウィザードとの対話を完了するとき、エンドユーザはこの完了を指示する(732)。その後、クライアント装置300は、XGLサーバ400を介して更新後のBOM734内の任意の追加の情報をユーザデータベース210に送り、次いで更新後のBOMがユーザデータベース210に格納される(736)。一方、XGLサーバ400は更新後のBOMを解析し、処理が必要などんな情報に関しても処置を行う。例えば、ユーザがアカウントに登録する場合、XGLサーバ400は、ユーザから受け取ったすべてのアカウント情報をチェックし、確認した後、確認740をクライアント装置300に戻す。
【0059】
図7が、システム200の装置間の例示的な1組の対話を表すことを当業者は理解されよう。したがって、追加のパッケージ要求および/又はパッケージ要求のキャッシングをこのような対話内に含めることができることも理解されよう。さらに、取り出したパッケージのいずれかがライブデータを含むと仮定すると、ライブデータ中の表示すべきそのような情報を提供するために1つ又は複数の装置(図示せず)との追加の通信がある可能性がある。加えて、図7に示すアクションは、別の順序で実施することができ、又は各アクションを組み合わせることができることを当業者は理解されよう。例えば、ウィザードインタフェースの作成は、BOMの作成と組み合わせることができる。
【0060】
図2、4、および5に示すように、本明細書で説明する動的なウィザードシステム200の実施形態は、クライアント装置300によって要求されるときにウィザードインタフェースを記述するコンテナおよびパッケージを提供するのに使用するXGLサーバ400を含む。本発明の1つの代替実施形態による、XGLサーバ400で実装される代替のウィザード準備ルーチン800を示す流れ図を図8に示す。ウィザード準備ルーチン800はブロック801で開始して、ブロック805に進み、ブロック805で、ウィザード要求をクライアント装置300から受け取る。次いでブロック810では、初期の1組のパッケージを決定する。一実施形態では、この初期の1組のパッケージは、初期のウィザードインタフェースの組を形成するすべての非分岐パッケージの組である。次いで、ブロック815で、これらの初期パッケージをXGLデータベース449から取り出す。次に、ブロック820では、任意のBOM情報をユーザデータベース210から取り出す。次いで、判定ブロック825では、任意のBOM情報が利用可能であったかどうかについて判定を行う。BOM情報が利用可能であった場合、ブロック830で、ウィザードインタフェースに関する初期パッケージを含むXGLコンテナとBOMとをクライアントに送る。ブロック825でBOMが利用可能でなかった場合、ブロック825で、XGLサーバ400は、XGLコンテナだけをクライアントに送る。次いで、XGLサーバ400は、クライアント装置300からの次の通信を待機する。判定ブロック830で、更新後BOMを受け取ったと判定される場合、ルーチン800はブロック845に進み、ブロック845で、XGLサーバ400が更新後BOMに関して処置を行うことができ、ブロック850で、更新後BOMをユーザデータベース210に転送する。次いでルーチン800はブロック899で終了する。しかし、判定ブロック840で、更新後BOMを受け取らなかったと判定される場合(例えば、ルーチン800の終了)、判定ブロック855で、新しいパッケージの要求を受け取ったかどうかについて判定を行う。パッケージ要求を受け取らなかった場合、処理ループは判定ブロック830にループバックし、パッケージ要求を受け取った場合、処理はブロック860に進み、ブロック860で、要求されたパッケージをXGLデータベース499から取り出す。次に、パッケージをコンテナとしてクライアント装置300に送り戻し、ルーチン800は判定ブロック840に進む。
【0061】
当業者や他の人は理解するであろうが、ウィザード準備ルーチン800は、単一のクライアント装置とXGLサーバ400との間の通信を示す。多くの環境では、ルーチン800は、多数のクライアント装置300と共に、XGLサーバ400上の複数のスレッド又はプロセスとして行われることになることを理解されたい。
【0062】
図9に、ウィザードエンジン349の一部としてクライアント装置300上に実装されるウィザードルーチン900を示す。ウィザードルーチン900は、ブロック901で開始して、ブロック905に進み、ブロック905で、クライアント装置300が初期ウィザードコンテナと、BOMデータなどの任意の追加のデータとを受け取る。次にサブルーチンブロック1000では、ウィザードコンテナを処理する。サブルーチン1000については、図10に関して以下でより詳細に説明する。次に、フローは、サブルーチンブロック1600に進み、サブルーチンブロック1600で、コンテナからのページを表示する。やはり、サブルーチンブロック1600については、図16に関して以下でより詳細に説明する。ページを表示した後、サブルーチンブロック1700は、任意のユーザ入力を受け取り、処理する。サブルーチン1700については、図17に関して以下でより詳細に説明する。ユーザ入力を受け取り、かつ/又は処理した後、フローは、判定ブロック910に進み、判定ブロック910で、終了信号を受け取ったかどうかについて判定を行う。終了信号を受け取った場合、処理はブロック915に進み、ブロック915で、最終的なBOMをXGLサーバ400に送る。次いでルーチン900はブロック999で終了する。
【0063】
判定ブロック910で、終了信号を受け取らなかったと判定した場合、処理は判定ブロック920に進み、判定ブロック920で、キャンセル信号を受け取ったかどうかについて判定を行う。キャンセル信号を受け取った場合、処理はブロック999で終了する。キャンセル信号を受け取った場合、エンドユーザはウィザードで入力を承認しなかったので、BOMはXGLサーバに送られないことに留意されたい。
【0064】
判定ブロック920で、キャンセル信号を受け取らなかったと判定した場合、判定ブロック925で、「戻る(back)」信号を受け取ったかどうかについて判定を行う。戻る信号を受け取った場合、このロジックはブロック930に進み、ブロック930で、ウィザードはウィザードフロー中の1ページ前のポインタをたどる。次いで処理はサブルーチンブロック1600にループバックし、サブルーチンブロック1600で、従来のページを再度表示する。
【0065】
判定ブロック925で、戻る信号を受け取らなかったと判定した場合、判定ブロック935で、「次へ」信号を受け取ったかどうかについて判定を行う。次へ信号を判定ブロック935で受け取った場合、このロジックは判定ブロック940に進み、判定ブロック940で、次へ信号が分岐命令を開始したかどうかについて判定を行う。上記で触れたように、分岐命令は、ウィザードフローを続行するのに1つ又は複数の他のパッケージおよび/又はページが必要である分岐点を現在のパッケージが有するときである。
【0066】
分岐命令が指示された場合、ブロック945で、分岐で要求される条件に適合するパッケージを有する新しいコンテナをXGLサーバ400から取り出す。次いで、サブルーチンブロック1000にループバックすることにより、その新しいコンテナを処理する。
【0067】
判定ブロック940で、次へ信号が分岐命令を開始しなかったと判定される場合、ブロック955で、現ページへのポインタを保存し、次のページを取り出す(ブロック960)。次いでプロセスは、次のページを表示するためにサブルーチンブロック1600にループバックする。しかし、判定ブロック935で次へ信号を受け取らなかった場合、ブロック950で、ルーチン900は、サブルーチンブロック1700にループバックすることにより、別のユーザ入力を待機する。
【0068】
図9では、従来の終了、キャンセル、戻る、およびネクストの選択又はコマンドだけがルーチン900に含まれるものとして説明したが、他のコマンドもウィザードインタフェース内に含めることができることを当業者は理解されよう。したがって、ルーチン900は、限定的なものではなく例示的なものとみなすべきである。
【0069】
図10に、コンテナ処理サブルーチン1000を示す。サブルーチン1000は、ブロック1001で開始して、ブロック1005に進み、ブロック1005で、パッケージをコンテナから抽出する。次いで抽出後のパッケージをパッケージ処理サブルーチン1100で処理する。このパッケージ処理サブルーチン1100については、図11に関して以下でより詳細に説明する。処理の後、コンテナが別のパッケージを有するかどうかについて判定ブロック1010で新しい判定を行う。判定ブロック1010で、コンテナが別のパッケージを含むと判定される場合、処理ループはブロック1005に戻り、ブロック1005で、別のパッケージをコンテナから抽出する。判定ブロック1010で、コンテナに別のパッケージが含まれていないと判定される場合、判定ブロック1015で、コンテナに付随してBOMが利用可能であるか、又はコンテナの一部としてBOMが利用可能であるかについて判定を行う。判定ブロック1015で、BOMが利用可能でないと判定される場合、サブルーチンブロック1500で新しいBOMを作成する。このサブルーチンブロック1500については、図15に関して以下でより詳細に説明する。次いで処理はブロック1099で終了する。判定ブロック1015で、BOMが利用可能であると判定される場合、処理はサブルーチンブロック1400に進み、サブルーチンブロック1400で、BOM内の対応するフィールドを有するウィザード内のデータ構成要素を、この新たに利用可能となったデータでポピュレートする。このサブルーチンブロック1400については、図14に関して以下でより詳細に説明する。いずれにしても、サブルーチン1000は、ブロック1099で、呼び出されたルーチンに戻ることによって終了する。
【0070】
図11に、例示的パッケージ解析サブルーチン1100を示す。サブルーチン1100は、ブロック1101で開始して、判定ブロック1105に進み、判定ブロック1105で、パッケージがライブデータを含むかどうかについて判定を行う。判定ブロック1105で、パッケージがライブデータを含むと判定される場合、処理はブロック1110に進み、ブロック1110で、XGL情報のライブパッケージをXGLサーバ400からダウンロードする。次に、ライブパッケージを処理するためにサブルーチン1100を繰り返し呼び出す。次いで、処理はサブルーチンブロック1200に進む。判定ブロック1105で、パッケージがライブデータを含まないと判定される場合、処理はやはりサブルーチンブロック1200に進み、サブルーチンブロック1200で、レイアウトユーザインタフェース構成要素を、XGLパッケージから1つ又は複数のウィザードに変換する。サブルーチン1200については、図12に関して以下でより詳細に説明する。XGLからユーザインタフェース構成要素のレイアウトを変換した後、処理はサブルーチン1300に進み、サブルーチンブロック1200で以前に変換したレイアウト構成要素に従ってレイアウトされる通りに、サブルーチン1300で、XGLパッケージ内のオブジェクトをユーザインタフェース構成要素に変換する。サブルーチン1300については、図13に関して以下でより詳細に説明する。レイアウトと構成要素を共に変換することにより、1組のマークアップページが得られ、この1組のマークアップページは、ブロック1199でパッケージ解析サブルーチン1100を呼び出したルーチンに返される。
【0071】
図12に、例示的なレイアウト変換サブルーチン1200を示す。レイアウト変換サブルーチン1200は、ブロック1201で開始して、ブロック1205に進み、ブロック1205で、ユーザインタフェース構成要素を配置するためにXGLレイアウトデータを検討する。次に、判定ブロック1210で、検査すべき何らかの構成要素がまだ残っているかを確認するためにテストを行う。検査すべき構成要素が残っていない場合、ブロック1299で、レイアウトマークアップページを、サブルーチン1200を呼び出したルーチンに返す。判定ブロック1210で、別のレイアウト構成要素が残っていると判定される場合、ブロック1215で、次の構成要素を配置する。位置決めの間、判定ブロック1220で、次の構成要素を位置決めするのに特定のテンプレートを使用すべきかについて判定を行う。特定のテンプレートを使用すべきであると判定される場合、ブロック1225で、次の構成要素の位置は、オブジェクト指定のレイアウトテンプレートの記述に基づく。これは、特定のタイプのウィザードおよび/又はウィザード内の構成要素に対して特別なレイアウトが必要であるときに使用することができる。次いで、処理は判定ブロック1210にループバックする。判定ブロック1220で、特定のテンプレートは不要と判定される場合、ブロック1230に示すように、構成要素の位置は、クライアント装置300上のウィザードエンジンで使用される標準レイアウトテンプレートに従って、標準オブジェクトレイアウトテンプレートのXGL記述に基づく。この場合も、処理は判定ブロック1210にループバックし、判定ブロック1210で、レイアウトに関して何らかの構成要素が残っているかどうかについて判定を行う。
【0072】
図13に、XGLオブジェクト変換サブルーチン1300の1つの例示的実施形態を示す。サブルーチン1300は、ブロック1301で開始し、ブロック1305に進み、ブロック1305で、XGLパッケージを解析して、オブジェクトの階層リストを得る。次に、判定ブロック1310で、リスト中に何らかのオブジェクトが残っているかどうかについて判定を行う。リスト中にオブジェクトが残っていない場合、ブロック1399で、サブルーチン1300は、ウィザードに関する何らかのユーザインタフェース構成要素を返す。
【0073】
判定ブロック1310で、リスト中にオブジェクトがまだ残っていることが判明した場合、ブロック1315で、次のオブジェクトを抽出する。すなわち次のオブジェクトをリストから除去する。次いで、判定ブロック1320で、抽出後のオブジェクトに関して利用可能なサブタイプが存在するかどうかについてテストを行う。サブタイプが利用可能である場合、処理はブロック1325に進み、ブロック1325で、オブジェクトのサブタイプを識別する。判定ブロック1320で、サブタイプが利用可能でないと判定される場合、又はオブジェクトのサブタイプをブロック1325で識別した後、処理は判定ブロック1330に進み、判定ブロック1330で、そのオブジェクトに関するクラスが利用可能かどうかについて判定を行う。クラスが利用可能である場合、処理はブロック1335に進み、ブロック1335で、オブジェクトのクラスを識別する。ブロック1335でオブジェクトのクラスを識別した後、又は判定ブロック1330でクラスが利用可能でないことが判明した場合、処理ループは判定ブロック1310までループバックし、判定ブロック1310で、オブジェクトがリスト上に残っているかどうかについて判定を行う。
【0074】
上記で指摘したように、図14に、BOMからウィザード内のデータフィールドに書き込むためのウィザードポピュレーションサブルーチンを示す。サブルーチン1400は、ブロック1401で開始して、判定ブロック1405に進み、判定ブロック1405で、ウィザードの構成要素をポピュレートするために何らかのデータが利用可能であるかどうかについて判定を行う。データが利用可能でない場合、処理はブロック1498に進み、ブロック1498は、呼出しルーチンが使用できる構成要素が存在しないという警告を返す。しかし、判定ブロック1405で、構成要素をポピュレートするためのデータが存在すると判定される場合、ブロック1410で、BOM内のデータ名とウィザード内のデータ名を比較してマッチングする。次に、ブロック1415では、BOM内の名前に一致するウィザード構成要素のデータ部分を、BOMのデータフィールド内の値でポピュレートする。次いでブロック1499で、これらの新たにポピュレートした構成要素を呼出しルーチンに返す。
【0075】
図15に、新BOM作成サブルーチン1500を示す。サブルーチン1500はブロック1501で開始して、ブロック1505に進み、ブロック1505で、ウィザードを作成するのに使用する1つ又は複数のコンテナを、BOMに格納すべきデータフィールドを有するオブジェクトに関して解析する。次に、ブロック1510では、格納すべきすべてのデータフィールドに関して、BOM内にエントリを作成する。次いで、ブロック1515で、BOMをローカルにセーブし、ブロック1599で、サブルーチン1500が終了し、呼び出されたルーチンに戻る。
【0076】
図16に、ウィザードページ表示サブルーチン1600を示す。サブルーチン1600はブロック1601で開始して、ブロック1605に進み、ブロック1605で、ページをページマークアップフォーマットの形で受け取る。次いで、ブロック1610では、ページ内のマークアップ言語を解釈する。次に、ブロック1615では、フォーマットしたページをクライアント装置300上に描画する(図18A〜Cと以下の説明で、ウィザードインタフェースの例示的ページを図示し、説明する。)。ルーチン1600はブロック1699で終了し、呼び出されたルーチンに戻る。
【0077】
図17に、ユーザ入力を処理するためのサブルーチンを示す。ユーザ入力処理サブルーチン1700はブロック1701で開始して、ブロック1705に進み、ブロック1705で、このサブルーチンはユーザ入力を待機する。次に、判定ブロック1710では、ユーザが情報の入力を終了したかどうかについて判定を行う。ユーザが情報の入力を終了していない場合、処理はブロック1705にループバックし、ブロック1705で、ルーチン1700は次のユーザ入力を待機する。しかし、判定ブロック1710で、ユーザが入力を終了したと判定される場合、ブロック1715で、サブルーチン1700は、ユーザが標準ウィザードボタンのうち1つをクリック又は押下してページを切り換えることなどのトリガを待機する。判定ブロック1720で、トリガを受け取ったと判定される場合、処理は判定ブロック1725に進む。しかし、判定ブロック1720で、トリガを受け取らなかったことが判明した場合、処理はブロック1715にループバックし、ブロック1715で、ルーチン1700はトリガを待機する。
【0078】
判定ブロック1725では、受け取ったトリガが「キャンセルトリガ」であったかどうかについて判定を行う。受け取ったトリガが「キャンセルトリガ」であった場合、処理はブロック1799に進み、ブロック1799で、トリガを呼出しルーチンに返す。しかし、判定ブロック1725で、キャンセルトリガを受け取らなかったと判定される場合、処理は判定ブロック1730に進み、判定ブロック1730で、別の入力が必要かどうか、又はユーザの入力内に誤りが存在するかどうかについて判定を行う。別の入力が必要であるか、又はユーザの入力内に誤りが存在する場合、処理はブロック1705にループバックする。しかし、別の入力が不要であり、かつユーザの入力内に誤りが存在しない場合、処理はブロック1735に進み、ブロック1735で、ウィザードページ内の入力をBOMのローカルコピーに保存する。次いで処理はブロック1799で終了し、ブロック1799で、処理を終了させたトリガを呼出しルーチンに返す。
【0079】
図7〜17と上記の説明から当業者や他の人は容易に理解するであろうが、本発明のあるタイプの実施形態では、クライアント装置300は、検索時に作成および/又はカスタマイズすることができる、動的に作成されたウィザードを取り出すことができ、それによって、ウィザードインタフェースは、その形成元の利用可能なパッケージと同じく最新となる。
【0080】
加えて、好ましくは動的なウィザードインタフェースがXGLコンテナおよびパッケージから構築されるので、本発明のこの態様を利用する本発明の実施形態は、ユーザインタフェースのナビゲートを効率的(格納と伝送の両方の点で)かつ容易にする。
【0081】
図18A〜Cに、本発明の例示的実施形態で作成される、例示的ウィザードインタフェースページを示す。図18Aに、ウィザードページフレーム1810内に位置する次へボタン1844、キャンセルボタン1848、左側パネル1820、および右側パネル1830を含む初期ウィザードページ1850を示す。図18Bに、ウィザードページ1855を示す。図18Bが戻るボタン1842も含むことを除いて、図18Bは図18Aと同様である。図18Cに、最終ウィザードページ1860を示す。図18Bに示す次へボタン1844を終了ボタン1846で置き換えたことを除いて、図18Cは図18Bと同様である。図18A〜Cに示した構成要素以外の他の多くの構成要素をウィザードインタフェース内に含めることができることを当業者は理解されよう。この例示的実施形態では、ウィザードインタフェースページは、ウィザードインタフェース内のページを前方又は後方に移動するための移動ボタンを含む。したがって、初期ページから戻る場所はないので、図18Aは戻るボタンを含まない。図18Bは中間点を示すので、図18Bは戻るボタンと次へボタンを含む。図18Cは最終ページを示すので、図18Cは終了ボタン1846を含む。
【0082】
当業者や他の人は容易に理解するであろうが、構成要素のローディングおよびアンローディングは、本発明の動的なウィザードインタフェースを改良するのに使用できるイベントをトリガする。図19〜22に、そのように生成されたイベントからのアクションの処理および/又はトリガリングを実施する本発明の代替の例示的実施形態を示す。図19に、イベントを検出するためのルーチン1900を示す。ルーチン1900はブロック1901で開始して、ブロック1905に進み、ブロック1905で、コンテナロードイベントを検出する。次に、判定ブロック1910では、そのコンテナ内、又は以前にロードした任意のコンテナ内の任意の命令がアクションを生成するためのコンテナロードイベントを観測しているかどうか、について判定を行う。そうである場合、処理はサブルーチンブロック2200に進み、サブルーチンブロック2200で、適切な1つ又は複数のアクションを処理する。サブルーチン2200については、図22に関して以下でより詳細に説明する。サブルーチン2200が終了した後、処理はサブルーチンブロック2000に進む。あるいは、判定ブロック1910で、コンテナロードイベントアクションが見つからなかった場合、処理はサブルーチンブロック2000に直接進み、サブルーチンブロック2000で、パッケージイベントを検出し、処理する。サブルーチン2000については、図20を参照しながら以下でより詳細に解説する。
【0083】
サブルーチン2000が終了した後、処理はブロック1915に進む。ブロック1915では、コンテナのアンローディングを検出する。コンテナアンロードイベントが、関連するアクションを有するXGLコードによって観測されている場合、判定ブロック1920は、サブルーチン2200に別の呼出しを行うことによってそのアクションを処理する。サブルーチン2200が終了した後、処理は判定ブロック1925に進む。あるいは、コンテナアンロードイベントアクションが観測されない場合(判定ブロック1920)、処理は判定ブロック1925に直接進む。判定ブロック1925では、別のコンテナをロードすべきかどうかについて判定を行う。例えば、このイベントルーチン1900は、動的なウィザードをロードし、実行する間に、連続的に処理することができる。別のコンテナをロードすべきである場合、判定ブロック1925は、動的なウィザードが終了し、又は取消されたときなど、別のコンテナが来ないという確実な答えが得られるまで、プロセスを待機させる。別のコンテナが利用可能となる場合、処理はブロック1905にループバックする。判定ブロック1925で、別のコンテナが利用可能ではないと判定される場合、処理はブロック1999で終了する。
【0084】
図20に、パッケージイベント処理サブルーチン2000を示す。上述のように、サブルーチン2000は、パッケージイベントを検出および処理する。サブルーチン2000はブロック2001で開始して、ブロック2005に進み、ブロック2005で、パッケージロードイベントを検出する。次いで処理は判定ブロック2010に進み、判定ブロック2010で、検出したパッケージロードイベントに関連する何らかのアクションが存在するかどうかについて判定を行う。何らかのアクションが存在する場合、このアクションをサブルーチン2200で処理する。上記で指摘したように、サブルーチン2200を図22に図示し、以下で説明する。サブルーチン2200から戻った後、又はパッケージロードイベントにアクションが関連しない場合(判定ブロック2010)、処理はサブルーチンブロック2100に進み、サブルーチンブロック2100で、ページイベントを処理する。サブルーチン2100については、図21を参照しながら以下でより詳細に説明する。サブルーチン2100から戻った後、処理はブロック2015に進み、ブロック2015で、パッケージアンロードイベントを検出する。
【0085】
次に、判定ブロック2020では、検出したパッケージアンロードイベントに関連する何らかのアクションがあるかどうかについてテストを行う。アクションがある場合、処理はサブルーチン2200に進み、サブルーチン2200で、アクションを処理する。サブルーチンブロック2200から戻った後、又はパッケージアンロードイベントに関連するアクションが見つからなかった場合(ブロック2020)、処理は判定ブロック2025に進み、判定ブロック2025で、別のパッケージが利用可能であるかどうかについて判定を行う。別のパッケージが利用可能である場合、処理はブロック2005にループバックし、別のパッケージが利用可能でない場合、処理はブロック2099で終了し、ブロック2099で、サブルーチン2000は、呼び出されたルーチンに戻る。
【0086】
図21に、図20に示すパッケージイベント処理サブルーチン2000と同様のページイベント処理サブルーチン2100を示す。サブルーチン2100はブロック2101で開始して、ブロック2105に進み、ブロック2105で、ページロードイベントを検出する。次に、ブロック2110では、何らかのアクションが、検出したページロードイベントに関連するかどうかについて判定を行う。そうである場合、処理はサブルーチン2200に進み、サブルーチン2200で、これらのアクションを処理する。サブルーチンブロック2200から戻った後、又は検出したページロードイベントに関連するアクションが見つからなかった場合、処理はブロック2115に進み、ブロック2115で、ページアンロードイベントを検出する。次に、判定ブロック2120では、検出したページアンロードイベントに関連する何らかのアクションがあるかどうかについてテストを行う。アクションがある場合、処理はサブルーチン2200に進み、サブルーチン2200で、これらのアクションを処理する。サブルーチン2200から戻った後、又は検出したパッケージアンロードイベントに関連するアクションが見つからなかった場合、処理は判定ブロック2125に進み、判定ブロック2125で、別のパッケージを処理すべきかどうかについて判定を行う。別のパッケージを処理すべき場合、処理はブロック2105にループバックする。そうでない場合、処理はブロック2199で終了し、サブルーチン2100は、呼び出されたルーチンに戻る。
【0087】
図22に、アクション処理サブルーチン2200を示す。サブルーチン2200はブロック2201で開始して、ブロック2205に進み、ブロック2205で、アクションに関するスクリプトをXGLアクションオブジェクトから抽出する。XGLアクションオブジェクトは、XGLウィザードエンジン内のクライアント装置300側にダウンロードし、実行することができるプログラムおよび/又はスクリプトを含む特別なXGLオブジェクトである。実行すべきスクリプトは、様々なスクリプト言語および/又はスクリプト形式のうちのいずれでもよいことを当業者は理解されよう。例えばJava(登録商標)script、VBscript、C#(「Cシャープ」)などである。スクリプトをXGLアクションオブジェクトから抽出した後、ブロック2210では、スクリプトを解釈し、実行する。次いで判定ブロック2215では、別のアクションがトリガされたかどうかについて判定を行う。別のアクションがトリガされた場合、処理はブロック2205にループバックする。しかし、判定ブロック2215で、別のアクションがトリガされなかったと判定される場合、サブルーチン2200はブロック2299で終了し、処理は、アクション処理サブルーチン2200を呼び出したルーチンに戻る。
【0088】
本明細書で説明する本発明の例示的実施形態を説明するために構成要素ローディングイベントおよび構成要素アンローディングイベントを使用したが、ウィザードインタフェースでアクションをトリガするために、無数の他のタイプのイベントも使用できることを当業者は理解されよう。例えば、イベントは、妥当性検査の失敗、入力の誤り、および/又はユーザアクションによってトリガすることができる。これらの例は、限定的なものでなく、例示的なものとみなすべきである。
【0089】
ウィザードインタフェースを動的に作成することに加えて、本発明はまた、ウィザードインタフェースとのユーザの対話を追跡することなど、計測のために使用することができる。図23に、本発明に従って形成された動的なウィザードインタフェースとのユーザの対話を追跡するための例示的計測ルーチンを示す。ルーチン2300は、ブロック2301で開始して、ブロック2305に進み、ブロック2305で、イベントを検出する。次に、判定ブロック2310では、このイベントがあるウィザード構成要素に関するロードイベントであったかどうかについて判定を行う。そうである場合、ブロック2315では、計測ルーチン2300は、ロードイベントに関連するユーザ活動のロギングを開始する。例えば、ユーザがウィザードインタフェース内のページをロードする場合、そのページに対する活動のロギングは、ページロードイベントと共に開始する。次いで、処理はブロック2305にループバックし、次のイベントを検出するまで待機する。
【0090】
判定ブロック2310で、ロードイベントを検出しなかったと判定される場合、判定ブロック2320では、検出したイベントがアンロードイベントであったかどうかについて判定を行う。検出したイベントがアンロードイベントであった場合、ブロック2325では、そのアンロードイベントにより、ルーチン2300は、そのアンロードイベントに対応するロードイベントに関するユーザ活動のロギングを停止する。例えば、ユーザがパッケージをロードし、次いでパッケージをアンロードした場合、パッケージのアンローディングにより、パッケージをロードしたときに作成したロギングは停止する。次に、ブロック2330では、ロギングしたデータを、そのユーザに関連するセッションログに保存する。次いで処理はブロック2305にループバックする。
【0091】
判定ブロック2320で、アンロードイベントを検出しなかったと判定される場合、処理は判定ブロック2335に進み、判定ブロック2335で、イベントが終了イベントであったかどうかについて判定を行う。イベントが終了イベントでなかった場合、ブロック2340でイベントデータをロギングし、処理はブロック2305にループバックして、新しいイベントが検出されるのを待機する。しかし、判定ブロック2335で終了イベントを検出した場合、処理はブロック2345に進み、ブロック2345で、すべてのロギングを停止する。次に、ブロック2350では、すべてのロギングしたデータを保存し、次いで、処理はブロック2399で終了する。
【0092】
本明細書で説明する本発明の例示的実施形態に従って形成された動的なウィザードインタフェースのXGL構造は、動的なウィザードインタフェースのカスタマイズ、ローカライズ、およびアクセスビリティを著しく改善する。例えば、図24Aに、本発明に従って形成された例示的ウィザードページ2400を示す。このページは、左側パネル2410、右側パネル2430と共に、戻るボタン2442、次へボタン2444、キャンセルボタン2448を含み、そのすべてはウィザードページフレーム2405によって取り囲まれる。左側パネル2410には、説明文2412が含まれる。右側パネル2430は、いくつかの符号を付けたフィールド2420を含む。図24Aに示すウィザードページ2400は、ウィザードインタフェースのほとんどのユーザが容易に理解することができるが、特別な要望を持つ一部のユーザは、このようなウィザードインタフェースと対話するユーザの能力を改善するための拡張を必要とするかもしれない。したがって、図24Bに、図24Aに示すウィザードページ2400の高コントラストバージョン2450を示す。この高コントラストウィザードページ2450は、左側パネル2410のテキスト2412aが有色の背景を用いずに提示され、フォントサイズが大きくなっていることを除いて、本質的に図24Aに示すウィザードページ2400と同じ情報を含む。これらの変更はどちらも、コントラストを改善し、可読性を向上させるように設計されている。同様に、高コントラストウィザードページ2450の右側パネル2430の符号を付けたフィールド2420aは、高コントラストに提示される。加えて、戻るボタン2442a、次へボタン2444a、およびキャンセルボタン2448a中のテキストも、視覚性を向上させるためにフォントサイズが大きくなっている。動的なウィザードインタフェース構成要素をXGLに符号化することにより、ウィザードエンジンのクライアント側が、どのテンプレートを使用するかを判定することが可能となり、それによって、動的なウィザードをエンドユーザに提示する方法を規定することが可能となる。
【0093】
図24A〜24Bに示した例よりも目覚ましい例であっても、本発明の範囲に包含されることを当業者は理解されよう。例えば、ウィザードパッケージがコンテナ内に組み上げられるとき、クライアント装置300はXGLサーバ400と通信しているので、クライアント装置300上に位置するウィザードエンジンの部分の特定のニーズに適合する、ページおよび/又はパッケージを収集することができる。クライアント装置が言語の選択としてフランス語を使用している場合、動的なウィザードのXGLコンテナ内に集められるパッケージは、動的なウィザードインタフェースで表示するフランス語を含むことになる。ローカライズおよびカスタマイズの一部は、単に、どのテンプレートおよび/又はウィザードエンジンがクライアント装置300上に常駐しているかによって決定することができる。既に触れた通り、高コントラストテンプレートをクライアント装置に常駐させることができる。追加のテンプレートには、クライアント装置300上に置かれた、テキスト−オーディオコンバータ、又は点字(Braille)変換テンプレートへの視覚的表示を含めることができる。これらの機能強化はいずれも、ユーザに提示する動的なウィザードインタフェースを形成するのにどのパッケージおよび/又はページを組み上げるかには影響を及ぼさない。むしろ、これらの機能強化は、単に、エンドユーザがより便利に使用できる形にその提示を微調整する。
【0094】
本発明の好ましい実施形態を図示し、説明したが、本発明の趣旨および範囲から逸脱することなく、本発明の好適実施形態に様々な変更を行うことができることを理解されよう。
【0095】
【発明の効果】
以上説明したように本発明によれば、ウィザードインタフェースの効率および操作性を改善するように動的なウィザード構成要素を提供できる。
【図面の簡単な説明】
【図1】従来技術のインターネットなどのインターネットワークの代表的部分を示す図である。
【図2】本発明の実施形態のウィザードインタフェースをクライアント装置に提供する、インターネットワークに接続されたいくつかの装置の図である。
【図3】本発明の実施形態の例示的クライアント装置を提供するパーソナルコンピュータのブロック図である。
【図4】本発明の実施形態の例示的サーバを提供するコンピュータのブロック図である。
【図5】本発明の実施形態のウィザードインタフェースをクライアント装置に提供するために、クライアント装置、XGLサーバ、およびユーザデータベースの取るアクションを示すダイアグラムの図である。
【図6】本発明の実施形態のウィザードインタフェースをクライアント装置に提供するために、サーバによって実装されるウィザード準備ルーチンを示す概略的な流れ図である。
【図7】本発明の実施形態のウィザードインタフェースをクライアント装置に提供するために、クライアント装置、XGLサーバ及びXGLデータベース、並びにユーザデータベースが取るアクションを示すダイアグラムの図である。
【図8】本発明の実施形態のウィザードをクライアント装置に提供するためにXGLサーバで実装されるウィザード準備ルーチンを示す概略的な流れ図である。
【図9】本発明の実施形態のウィザードインタフェースをエンドユーザに提供するためにクライアント装置で実装されるウィザードインタフェースルーチンを示す概略的な流れ図である。
【図10】本発明の実施形態のクライアント装置で実装されるコンテナ処理サブルーチンを示す概略的な流れ図である。
【図11】本発明に従ってクライアント装置で実装されるパッケージ解析サブルーチンを示す概略的な流れ図である。
【図12】本発明の実施形態のクライアント装置で実装されるレイアウトサブルーチンを示す概略的な流れ図である。
【図13】本発明の実施形態のクライアント装置で実装されるオブジェクト変換サブルーチンを示す概略的な流れ図である。
【図14】本発明の実施形態のクライアント装置で実装されるデータフィールドポピュレーティングサブルーチンを示す概略的な流れ図である。
【図15】本発明の実施形態のクライアント装置で実装される部品表作成サブルーチンを示す概略的な流れ図である。
【図16】本発明の実施形態のクライアント装置で実装されるウィザードページ表示サブルーチンを示す概略的な流れ図である。
【図17】本発明の実施形態のクライアント装置で実装される、ユーザ入力を処理するサブルーチンを示す概略的な流れ図である。
【図18A】本発明の実施形態の例示的ウィザードインタフェースページを示す図である。
【図18B】本発明の実施形態の例示的ウィザードインタフェースページを示す図である。
【図18C】本発明の実施形態の例示的ウィザードインタフェースページを示す図である。
【図19】本発明の実施形態のクライアント装置で実装されるイベント検出ルーチンを示す概略的な流れ図である。
【図20】本発明の実施形態のクライアント装置で実装されるパッケージイベント検出サブルーチンを示す概略的な流れ図である。
【図21】本発明の実施形態のクライアント装置で実装されるページイベント検出サブルーチンを示す概略的な流れ図である。
【図22】本発明の実施形態のクライアント装置で実装されるアクションオブジェクト処理サブルーチンを示す概略的な流れ図である。
【図23】本発明の実施形態のクライアント装置で実装される計測ルーチンを示す概略的な流れ図である。
【図24A】本発明の実施形態の例示的ウィザードインタフェースページを示す図である。
【図24B】本発明の実施形態のアクセス可能性が向上した例示的ウィザードインタフェースページを示す図である。
【符号の説明】
100 インターネット
200 動的なウィザードインタフェースを提供するシステム
210 ユーザデータベース
300 クライアント装置
320 コンピュータ
322 プロセッサ
324 システムメモリ
326 システムバス
328 読み取り専用メモリ
330 ランダムアクセスメモリ
332 BIOS
334 ハードディスクドライブ
336 磁気媒体
338 磁気ドライブ
340 磁気ディスク
342 光ドライブ
344 光ディスク
346 オペレーティングシステム
348 アプリケーションプログラム
349 ウィザードエンジン
350 他のプログラムモジュール
352 プログラムデータ
354 ハードディスクドライブインタフェース
356 磁気ディスクドライブインタフェース
358 光ドライブインタフェース
360 キーボード
362 ポインティングデバイス
364 ユーザ入力インタフェース
368 ネットワークインタフェース
369 モデム
390 ディスプレイ
400 XGLサーバ
420 コンピュータ
422 プロセッサ
424 システムメモリ
426 システムバス
428 読み取り専用メモリ
430 ランダムアクセスメモリ
432 BIOS
434 ハードディスクドライブ
436 磁気媒体
438 磁気ドライブ
440 磁気ディスク
442 光ドライブ
444 光ディスク
446 オペレーティングシステム
448 アプリケーションプログラム
449 XGLデータベース
450 他のプログラムモジュール
452 プログラムデータ
454 ハードディスクドライブインタフェース
456 磁気ディスクドライブインタフェース
458 光ドライブインタフェース
460 キーボード
462 ポインティングデバイス
464 ユーザ入力インタフェース
468 ネットワークインタフェース
469 モデム
490 ディスプレイ
449 XGLデータベース
1810 ウィザードページフレーム
1820 左側パネル
1830 右側パネル
1842 戻るボタン
1844 次へボタン
1846 終了ボタン
1848 キャンセルボタン
1850 初期ウィザードページ
1855 ウィザードページ
1860 最終ウィザードページ
2400 ウィザードページ
2405 ウィザードページフレーム
2410 左側パネル
2412、2412a 説明文
2420、2420a フィールド
2430 右側パネル
2442、2442a 戻るボタン
2444、2444a 次へボタン
2448、2448a キャンセルボタン
2450 高コントラストウィザードページ

Claims (63)

  1. ウィザードインタフェースを提供するためのコンピュータ実行方法であって、
    ウィザードインタフェースの一部を作成するためのパッケージを判定するステップと、
    前記パッケージをコンテナ内にカプセル化するステップと、
    前記ウィザードインタフェースに変換するために、前記コンテナをウィザードエンジンに送達するステップと
    を備えたことを特徴とする方法。
  2. 前記コンテナおよび前記パッケージは自己記述データフォーマットで提示されることを特徴とする請求項1に記載の方法。
  3. 前記自己記述データフォーマットはXMLであることを特徴とする請求項2に記載の方法。
  4. 前記パッケージは、前記ウィザードインタフェースを記述するページおよびオブジェクトを含むことを特徴とする請求項1に記載の方法。
  5. 前記オブジェクトは、自己記述データフォーマットの形で提示されることを特徴とする請求項4に記載の方法。
  6. 前記ページは、前記ページ間の順方向フローおよび逆方向フローを保持する順方向ポインタおよび逆方向ポインタを含むことを特徴とする請求項4に記載の方法。
  7. 前記オブジェクトはアクションオブジェクトを含むことを特徴とする請求項4に記載の方法。
  8. 前記ウィザードインタフェースを事前充填するために、前記ウィザードインタフェースでユーザを識別し、関連するユーザデータを取り出すステップ
    をさらに備えたことを特徴とする請求項1に記載の方法。
  9. 前記ウィザードインタフェースを事前充填することは、データ構造中の自己記述データフィールドを、前記パッケージ内の自己記述オブジェクトとマッチングすることを備えたことを特徴とする請求項7に記載の方法。
  10. パッケージを判定するステップは、前記コンテナ内にカプセル化すべき多数のパッケージを、第1の分岐するパッケージまで、第1の分岐するパッケージを含めて収集するステップを備えたことを特徴とする請求項1に記載の方法。
  11. 分岐パッケージを前記ウィザードエンジンに送達した後、送達した前記パッケージが選択されるときに送達した前記分岐パッケージを再利用することを特徴とする請求項10に記載の方法。
  12. 前記コンテナ内に前記複数の分岐パッケージをさらにカプセル化することにより、前記複数の分岐パッケージをキャッシュすることができることを特徴とする請求項11に記載の方法。
  13. 前記第1の分岐するパッケージは、複数の分岐パッケージへのポインタを含むことを特徴とする請求項10に記載の方法。
  14. 前記ウィザードインタフェース内の選択に応答して、前記分岐パッケージのうちの1つが分岐コンテナ内にカプセル化され、前記ウィザードエンジンに送達されることを特徴とする請求項13に記載の方法。
  15. カプセル化された前記分岐パッケージは、前記選択が行われたところの選択オブジェクトを含む前記分岐するパッケージ内のページへのポインタを含むことを特徴とする請求項14に記載の方法。
  16. 前記パッケージは追加のパッケージをカプセル化することを特徴とする請求項1に記載の方法。
  17. 前記追加のパッケージはライブデータオブジェクトを含むことを特徴とする請求項16に記載の方法。
  18. 前記追加のパッケージは分岐するパッケージであり、前記ライブデータオブジェクトは選択オブジェクトであり、選択オブジェクトの選択により、どの分岐パッケージが前記ウィザードエンジンに送達されるか判定されることを特徴とする請求項17に記載の方法。
  19. 所望のウィザードインタフェースを記述するウィザードコンテナを動的に提供するためのコンピュータ実行方法であって、
    前記ウィザードコンテナを求める要求を受け取るステップと、
    複数のコンテナのうちのどれが前記所望のウィザードインタフェースを実施するかを前記要求から識別するステップと、
    前記所望のウィザードインタフェースに変換するために、識別した前記コンテナを前記複数のコンテナからウィザードエンジンに送達するステップと
    を備えたことを特徴とする方法。
  20. 前記コンテナは、前記所望のウィザードインタフェースをさらに変換するために補助コンテナを要求することができるパッケージを含むことを特徴とする請求項19に記載の方法。
  21. 前記コンテナは、複数の自己記述パッケージを含み、前記自己記述パッケージは、所望のウィザードインタフェースの構成要素を記述するページおよびオブジェクトを含むことを特徴とする請求項19に記載の方法。
  22. プロセッサと、ウィザードインタフェースを提供する実行可能命令を含むメモリとを有するコンピュータサーバ装置であって、
    ウィザードインタフェースの部分を生成するためのパッケージを判定し、
    複数のパッケージを含むデータベースから前記パッケージを取り出し、
    前記パッケージをコンテナ内にカプセル化し、
    前記ウィザードインタフェースに変換するために、ウィザードエンジンを含むクライアント装置に前記コンテナを送達する
    ように動作可能であることを特徴とするコンピュータサーバ装置。
  23. 前記コンテナおよび前記パッケージは、自己記述データフォーマットの形で提供されることを特徴とする請求項22に記載のコンピュータサーバ装置。
  24. 前記自己記述データフォーマットはXMLであることを特徴とする請求項23に記載のコンピュータサーバ装置。
  25. 前記パッケージは、前記ウィザードインタフェースをさらに記述するページおよびオブジェクトを含むことを特徴とする請求項22に記載のコンピュータサーバ装置。
  26. 前記オブジェクトは自己記述データフォーマットの形で提示されることを特徴とする請求項25に記載のコンピュータサーバ装置。
  27. 前記ページは、前記ページ間の順方向フローおよび逆方向フローを保持する順方向ポインタおよび逆方向ポインタを含むことを特徴とする請求項25に記載のコンピュータサーバ装置。
  28. 前記オブジェクトはアクションオブジェクトを含むことを特徴とする請求項25に記載のコンピュータサーバ装置。
  29. 前記ウィザードインタフェースを事前充填するために、前記ウィザードインタフェースでユーザを識別し、関連するユーザデータを取り出す
    ようにさらに動作可能であることを特徴とする請求項22に記載のコンピュータサーバ装置。
  30. 前記ウィザードインタフェースを事前充填することは、データ構造中の自己記述データフィールドを、前記パッケージ内の自己記述オブジェクトとマッチングすることを含むことを特徴とする請求項29に記載のコンピュータサーバ装置。
  31. パッケージを判定することは、前記コンテナ内にカプセル化すべき多数のパッケージを、第1の分岐するパッケージまで、第1の分岐するパッケージを含めて収集することを備えたことを特徴とする請求項22に記載のコンピュータサーバ装置。
  32. 送達した前記パッケージが選択されるときに、送達した前記分岐パッケージが再利用され、分岐パッケージが既に前記ウィザードエンジンに送達されていることを特徴とする請求項31に記載のコンピュータサーバ装置。
  33. 前記コンテナ内に前記複数の分岐パッケージをさらにカプセル化することにより、前記複数の分岐パッケージをキャッシュすることができることを特徴とする請求項32に記載のコンピュータサーバ装置。
  34. 前記第1の分岐するパッケージは、複数の分岐パッケージへのポインタを含むことを特徴とする請求項31に記載のコンピュータサーバ装置。
  35. 前記ウィザードインタフェース内の選択に応答して、前記分岐パッケージのうちの1つが分岐コンテナ内にカプセル化され、前記ウィザードエンジンに送達されることを特徴とする請求項34に記載のコンピュータサーバ装置。
  36. カプセル化された前記分岐パッケージは、前記選択が行われたところの選択オブジェクトを含む前記分岐するパッケージ内のページへのポインタを含むことを特徴とする請求項35に記載のコンピュータサーバ装置。
  37. 前記パッケージが追加のパッケージをカプセル化することを特徴とする請求項22に記載のコンピュータサーバ装置。
  38. 前記追加のパッケージはライブデータオブジェクトを含むことを特徴とする請求項37に記載のコンピュータサーバ装置。
  39. 前記追加のパッケージは分岐するパッケージであり、前記ライブデータオブジェクトは選択オブジェクトであり、選択オブジェクトの選択により、前記ウィザードエンジンに送達される分岐パッケージが判定されることを特徴とする請求項38に記載のコンピュータサーバ装置。
  40. プロセッサと、命令を含むメモリとを有するコンピュータサーバ装置であって、
    ウィザードコンテナを求める要求を受け取り、
    複数の自己記述コンテナのうちのどれが所望のウィザードインタフェースを実施するかを前記要求から識別し、
    記所望のウィザードインタフェースに変換するために、識別した前記コンテナをウィザードエンジンに送達する
    ことによって、前記所望のウィザードインタフェースを記述する前記ウィザードコンテナを動的に提供するように動作可能であることを特徴とするコンピュータサーバ装置。
  41. 前記コンテナは、前記所望のウィザードインタフェースをさらに変換するために補助コンテナを要求することができるパッケージを含むことを特徴とする請求項40に記載のコンピュータサーバ装置。
  42. 前記コンテナは、複数の自己記述パッケージを含み、前記自己記述パッケージは、前記所望のウィザードインタフェースの構成要素を記述するページおよびオブジェクトを含むことを特徴とする請求項40に記載のコンピュータサーバ装置。
  43. ウィザードインタフェースの一部を作成するためのパッケージを判定するステップと、
    前記パッケージをコンテナ内にカプセル化するステップと、
    前記ウィザードインタフェースに変換するために、前記コンテナをウィザードエンジンに送達するステップと
    によって前記ウィザードインタフェースの構成要素を提供するコンピュータ実行可能コードを備えたことを特徴とするコンピュータ読み取り可能な記録媒体。
  44. 前記コンテナおよび前記パッケージは自己記述データフォーマットの形で提示されることを特徴とする請求項43に記載のコンピュータ読み取り可能な記録媒体。
  45. 前記自己記述データフォーマットはXMLであることを特徴とする請求項44に記載のコンピュータ読み取り可能な記録媒体。
  46. 前記パッケージは、前記ウィザードインタフェースをさらに記述するページおよびオブジェクトを含むことを特徴とする請求項43に記載のコンピュータ読み取り可能な記録媒体。
  47. 前記ページは、前記ページ間の順方向フローおよび逆方向フローを保持する順方向ポインタおよび逆方向ポインタを含むことを特徴とする請求項46に記載のコンピュータ読み取り可能な記録媒体。
  48. 前記オブジェクトはアクションオブジェクトを含むことを特徴とする請求項46に記載のコンピュータ読み取り可能な記録媒体。
  49. 前記オブジェクトは自己記述データフォーマットの形で提示されることを特徴とする請求項46に記載のコンピュータ読み取り可能な記録媒体。
  50. 前記ウィザードインタフェースを事前充填するために、前記ウィザードインタフェースのユーザを識別し、関連するユーザデータを取り出すステップ
    のためのコンピュータ実行可能コードをさらに備えたことを特徴とする請求項49に記載のコンピュータ読み取り可能な記録媒体。
  51. 前記ウィザードインタフェースを事前充填することは、データ構造中の自己記述データフィールドを、前記パッケージ内の自己記述オブジェクトとマッチングすることを含むことを特徴とする請求項47に記載のコンピュータ読み取り可能な記録媒体。
  52. パッケージを判定するステップは、前記コンテナ内にカプセル化すべきパッケージを、第1の分岐するパッケージまで、第1の分岐するパッケージを含めて収集するステップを備えたことを特徴とする請求項43に記載のコンピュータ読み取り可能な記録媒体。
  53. 送達した前記パッケージが選択されたときに、送達した前記分岐パッケージを再利用して、分岐パッケージは既に前記ウィザードエンジンに送達されていることを特徴とする請求項52に記載のコンピュータ読み取り可能な記録媒体。
  54. 前記第1の分岐するパッケージは、複数の分岐パッケージへのポインタを含むことを特徴とする請求項53に記載のコンピュータ読み取り可能な記録媒体。
  55. 前記コンテナ内に前記分岐パッケージをさらにカプセル化することにより、前記分岐パッケージをキャッシュすることができることを特徴とする請求項54に記載のコンピュータ読み取り可能な記録媒体。
  56. 前記ウィザードインタフェース内の選択に応答して、前記分岐パッケージのうちの1つが分岐コンテナ内にカプセル化され、前記ウィザードエンジンに送達されることを特徴とする請求項54に記載のコンピュータ読み取り可能な記録媒体。
  57. 前記カプセル化された分岐パッケージは、前記選択が行われたところの選択オブジェクトを含む前記分岐するパッケージ内のページへのポインタを含むことを特徴とする請求項55に記載のコンピュータ読み取り可能な記録媒体。
  58. 前記パッケージは追加のパッケージをカプセル化することを特徴とする請求項43に記載のコンピュータ読み取り可能な記録媒体。
  59. 前記追加のパッケージはライブデータオブジェクトを含むことを特徴とする請求項58に記載のコンピュータ読み取り可能な記録媒体。
  60. 前記追加のパッケージは分岐するパッケージであり、前記ライブデータオブジェクトは選択オブジェクトであり、選択オブジェクトの選択により、前記ウィザードエンジンに送達される分岐パッケージが判定されることを特徴とする請求項59に記載のコンピュータ読み取り可能な記録媒体。
  61. ウィザードコンテナを求める要求を受け取るステップと、複数の自己記述コンテナのうちのどれが所望のウィザードインタフェースを実施するかを前記要求から識別するステップと、
    前記所望のウィザードインタフェースに変換するために、識別した前記コンテナをウィザードエンジンに送達するステップと
    によって、前記所望のウィザードインタフェースを記述する前記ウィザードコンテナを動的に提供するコンピュータ実行可能コードを備えたことを特徴とするコンピュータ読み取り可能な記録媒体。
  62. 前記コンテナは、前記所望のウィザードインタフェースをさらに変換するために補助コンテナを要求することができる追加のパッケージを含むことを特徴とする請求項61に記載のコンピュータ読み取り可能な記録媒体。
  63. 前記コンテナは、複数の自己記述パッケージを含み、前記自己記述パッケージは、所望のウィザードインタフェースの構成要素を記述するページおよびオブジェクトを含むことを特徴とする請求項61に記載のコンピュータ読み取り可能な記録媒体。
JP2003158567A 2002-06-03 2003-06-03 ウィザードインタフェースを提供するための方法及びコンピュータサーバ装置並びに記録媒体 Pending JP2004013902A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/161,961 US7290215B2 (en) 2002-06-03 2002-06-03 Dynamic wizard interface system and method

Publications (2)

Publication Number Publication Date
JP2004013902A true JP2004013902A (ja) 2004-01-15
JP2004013902A5 JP2004013902A5 (ja) 2006-07-20

Family

ID=22583557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003158567A Pending JP2004013902A (ja) 2002-06-03 2003-06-03 ウィザードインタフェースを提供するための方法及びコンピュータサーバ装置並びに記録媒体

Country Status (17)

Country Link
US (1) US7290215B2 (ja)
EP (1) EP1380940A3 (ja)
JP (1) JP2004013902A (ja)
KR (1) KR100835688B1 (ja)
CN (1) CN100375010C (ja)
AU (1) AU2003204382B2 (ja)
BR (1) BR0302013A (ja)
CA (1) CA2428478C (ja)
DE (1) DE10309620A1 (ja)
GB (1) GB2389680A (ja)
MX (1) MXPA03004889A (ja)
MY (1) MY135656A (ja)
NO (1) NO20032492L (ja)
PL (1) PL360429A1 (ja)
RU (1) RU2317582C2 (ja)
TW (1) TWI313417B (ja)
ZA (1) ZA200303730B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014178856A (ja) * 2013-03-14 2014-09-25 Nec Corp 画面表示システム、画面表示方法及びプログラム
US20220091863A1 (en) * 2020-09-18 2022-03-24 Red Hat, Inc. Dynamically generating guided tours for software

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9632995B2 (en) * 2002-11-22 2017-04-25 Extreme Networks, Inc. Method and apparatus for navigating through a task on a computer
EP1569109A1 (en) * 2004-02-27 2005-08-31 Research In Motion Limited A system and method for mapping between message and data domains using a metadata defined mapping
US7827565B2 (en) * 2004-03-12 2010-11-02 Microsoft Corporation Integration architecture for non-integrated tools
US20060123342A1 (en) * 2004-12-08 2006-06-08 International Business Machines Corporation System and method for creating generic, reusable, and dynamic application program configuration wizards
US20060271913A1 (en) * 2005-05-31 2006-11-30 Erf Franklin K Method and system for providing a field configurable guide
US20070028160A1 (en) * 2005-07-29 2007-02-01 Microsoft Corporation Re-use wizard
US20070168349A1 (en) * 2005-09-30 2007-07-19 Microsoft Corporation Schema for template based management system
KR100855698B1 (ko) 2006-10-04 2008-09-03 에스케이 텔레콤주식회사 사용자 인터페이스 변경 시스템 및 방법
US8281234B2 (en) * 2007-03-20 2012-10-02 Microsoft Corporation Definable application assistant
US8587826B2 (en) * 2007-07-24 2013-11-19 Ricoh Production Print Solutions Methods, apparatus, and articles of manufacture for improved processing of embedded ICC profiles
US8074199B2 (en) * 2007-09-24 2011-12-06 Microsoft Corporation Unified messaging state machine
JP5252910B2 (ja) * 2007-12-27 2013-07-31 キヤノン株式会社 入力装置、入力装置の制御方法、及びプログラム
US9009585B1 (en) * 2008-03-18 2015-04-14 Avaya Technology Llc Software wizard interface
US8756526B2 (en) * 2008-06-13 2014-06-17 Telefonaktiebolaget L M Ericsson (Publ) Wizard in a wizard engine
FR2933215B1 (fr) * 2008-06-26 2011-01-14 Peugeot Citroen Automobiles Sa Procede, boitier passerelle et outil de telechargement d'un fichier
EP2141588A1 (en) * 2008-07-02 2010-01-06 Alcatel, Lucent A method for generating a wizard application, corresponding device, and computer program product therefore
US9317274B2 (en) * 2008-08-06 2016-04-19 Lenovo (Singapore) Pte. Ltd. Apparatus, system and method for integrated customization of multiple disk images independent of operating system type, version or state
US20100299619A1 (en) * 2009-05-20 2010-11-25 Microsoft Corporation Model for Reusable User Interface and Logic for Software Wizards
US9285987B2 (en) * 2009-08-31 2016-03-15 Kyocera Mita Corporation Operating device and image forming apparatus with display format receiver for receiving instructions from a user for selecting a display format
JP2011060237A (ja) * 2009-09-14 2011-03-24 Ricoh Co Ltd プログラム導入支援装置、プログラム導入支援システム、表示制御方法、表示制御プログラム、及びそのプログラムを記録した記録媒体
US20110145736A1 (en) * 2009-12-14 2011-06-16 Sap Ag Systems and Methods for Designing a Universal User Interface
US10114621B2 (en) * 2011-01-11 2018-10-30 Entit Software Llc Methods and apparatus to generate a wizard application
US9329851B2 (en) * 2011-09-09 2016-05-03 Microsoft Technology Licensing, Llc Browser-based discovery and application switching
CN102541563A (zh) * 2011-12-31 2012-07-04 山东中创软件商用中间件股份有限公司 一种监控界面生成方法及系统
CN105955833B (zh) * 2016-06-06 2021-09-21 腾讯科技(深圳)有限公司 引擎调用方法和装置
CN107832114A (zh) * 2017-11-17 2018-03-23 上海瀚银信息技术有限公司 一种对应用模块进行配置的方法

Family Cites Families (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US581067A (en) * 1897-04-20 fletcher
USRE31006E (en) * 1968-09-24 1982-08-03 Akzona Incorporated Process for the demonstration and determination of reaction components having specific binding affinity for each other
US3654090A (en) * 1968-09-24 1972-04-04 Organon Method for the determination of antigens and antibodies
NL154598B (nl) * 1970-11-10 1977-09-15 Organon Nv Werkwijze voor het aantonen en bepalen van laagmoleculire verbindingen en van eiwitten die deze verbindingen specifiek kunnen binden, alsmede testverpakking.
US4016043A (en) * 1975-09-04 1977-04-05 Akzona Incorporated Enzymatic immunological method for the determination of antigens and antibodies
US4219335A (en) * 1978-09-18 1980-08-26 E. I. Du Pont De Nemours And Company Immunochemical testing using tagged reagents
US4491632A (en) * 1979-10-22 1985-01-01 The Massachusetts General Hospital Process for producing antibodies to hepatitis virus and cell lines therefor
US4444887A (en) * 1979-12-10 1984-04-24 Sloan-Kettering Institute Process for making human antibody producing B-lymphocytes
US4342566A (en) * 1980-02-22 1982-08-03 Scripps Clinic & Research Foundation Solid phase anti-C3 assay for detection of immune complexes
EP0043718B1 (en) * 1980-07-07 1984-11-28 National Research Development Corporation Improvements in or relating to cell lines
US4341761A (en) * 1980-07-25 1982-07-27 E. I. Du Pont De Nemours And Company Antibodies to immunogenic peptides and their use to purify human fibroblast interferon
US4324633A (en) * 1980-10-20 1982-04-13 Lovejoy Curtis N Electrolytic apparatus for treating continuous strip material
US4466917A (en) * 1981-02-12 1984-08-21 New York University Malaria vaccine
US4493890A (en) * 1981-03-23 1985-01-15 Miles Laboratories, Inc. Activated apoglucose oxidase and its use in specific binding assays
US4451570A (en) * 1981-03-26 1984-05-29 The Regents Of The University Of California Immunoglobulin-secreting human hybridomas from a cultured human lymphoblastoid cell line
US4534899A (en) * 1981-07-20 1985-08-13 Lipid Specialties, Inc. Synthetic phospholipid compounds
US4426330A (en) * 1981-07-20 1984-01-17 Lipid Specialties, Inc. Synthetic phospholipid compounds
US4399121A (en) * 1981-11-04 1983-08-16 Miles Laboratories, Inc. Iodothyronine immunogens and antibodies
US4427783A (en) * 1981-12-14 1984-01-24 Hoffmann-La Roche Inc. Immunoassay of thymosin α1
GB8308235D0 (en) * 1983-03-25 1983-05-05 Celltech Ltd Polypeptides
US4816567A (en) * 1983-04-08 1989-03-28 Genentech, Inc. Recombinant immunoglobin preparations
US5972629A (en) * 1984-08-17 1999-10-26 The Scripps Research Institute Method for characterizing antigenic reactivity of biological sample
US4493795A (en) * 1983-10-17 1985-01-15 Syntex (U.S.A.) Inc. Synthetic peptide sequences useful in biological and pharmaceutical applications and methods of manufacture
US5034506A (en) * 1985-03-15 1991-07-23 Anti-Gene Development Group Uncharged morpholino-based polymers having achiral intersubunit linkages
US4908773A (en) * 1987-04-06 1990-03-13 Genex Corporation Computer designed stabilized proteins and method for producing same
US4981784A (en) * 1987-12-02 1991-01-01 The Salk Institute For Biological Studies Retinoic acid receptor method
WO1990009152A1 (en) * 1989-02-15 1990-08-23 Microtek Medical, Inc. Biocompatible material and prosthesis
WO1991010149A1 (en) * 1989-12-26 1991-07-11 Allied-Signal Inc. Method for forming optically active waveguides
US5284746A (en) * 1990-02-08 1994-02-08 Zymogenetics, Inc. Methods of producing hybrid G protein-coupled receptors
US5665710A (en) * 1990-04-30 1997-09-09 Georgetown University Method of making liposomal oligodeoxynucleotide compositions
US5462856A (en) * 1990-07-19 1995-10-31 Bunsen Rush Laboratories, Inc. Methods for identifying chemicals that act as agonists or antagonists for receptors and other proteins involved in signal transduction via pathways that utilize G-proteins
US5602240A (en) * 1990-07-27 1997-02-11 Ciba Geigy Ag. Backbone modified oligonucleotide analogs
DE69132546T2 (de) * 1990-09-13 2001-10-04 Duke University, Durham Expression von an g-protein gekoppelten rezeptoren in hefe
US5569824A (en) * 1991-01-04 1996-10-29 Baylor College Of Medicine Transgenic mice containing a disrupted p53 gene
JP3220180B2 (ja) * 1991-05-23 2001-10-22 三菱化学株式会社 薬剤含有タンパク質結合リポソーム
US5719262A (en) * 1993-11-22 1998-02-17 Buchardt, Deceased; Ole Peptide nucleic acids having amino acid side chains
US5714331A (en) * 1991-05-24 1998-02-03 Buchardt, Deceased; Ole Peptide nucleic acids having enhanced binding affinity, sequence specificity and solubility
US5539082A (en) * 1993-04-26 1996-07-23 Nielsen; Peter E. Peptide nucleic acids
JPH0812596B2 (ja) * 1991-08-19 1996-02-07 インターナショナル・ビジネス・マシーンズ・コーポレイション 単一のパネル定義ファイルから複数のパネル・バージョンを生成する方法及びシステム
US5301326A (en) 1991-09-24 1994-04-05 Microsoft Corporation Method and system for controlling the execution of an application program
CA2120518C (en) * 1991-10-01 1998-10-13 Monika Konig A method of identifying ligands and antagonists of ligands
US5352660A (en) * 1991-10-31 1994-10-04 Mount Sinai Hospital Corporation Method for assaying for a substance that affects a SH2-phosphorylated ligand regulatory system
US5324633A (en) * 1991-11-22 1994-06-28 Affymax Technologies N.V. Method and apparatus for measuring binding affinity
US5670113A (en) * 1991-12-20 1997-09-23 Sibia Neurosciences, Inc. Automated analysis equipment and assay method for detecting cell surface protein and/or cytoplasmic receptor function using same
US6096756A (en) * 1992-09-21 2000-08-01 Albert Einstein College Of Medicine Of Yeshiva University Method of simultaneously enhancing analgesic potency and attenuating dependence liability caused by morphine and other bimodally-acting opioid agonists
USRE36547E (en) * 1992-09-21 2000-02-01 Albert Einstein College Of Medicine Of Yeshiva University Method of simultaneously enhancing analgesic potency and attenuating dependence liability caused by exogenous and endogenous opioid agonists
US5597699A (en) * 1992-09-30 1997-01-28 Lanzara; Richard G. Method for determining drug compositions to prevent desensitization of cellular receptors
US6103492A (en) * 1993-03-08 2000-08-15 Indiana University Polynucleotide encoding mu opioid receptor
US5912122A (en) * 1993-06-04 1999-06-15 Sibia Neurosciences, Inc. Nucleic acids encoding and method for detecting nucleic acid encoding human metabotropic glutamate receptor subtype mGluR6
US5882944A (en) * 1993-06-23 1999-03-16 The Regents Of The University Of California Methods for G protein coupled receptor activity screening
US5491084A (en) * 1993-09-10 1996-02-13 The Trustees Of Columbia University In The City Of New York Uses of green-fluorescent protein
US5532151A (en) * 1993-09-17 1996-07-02 Icos Corporation G protein-coupled receptor kinase GRK6
US5658783A (en) * 1993-11-08 1997-08-19 State Of Oregon, Acting By And Through The Oregon State Board Of Higher Education On Behalf Of The Oregon Health Sciences University, A Non-Profit Organization Mammalian methadone-specific opioid receptor gene and uses
AU1297995A (en) * 1993-11-26 1995-06-13 Lawrence B Hendry Design of drugs involving receptor-ligand-dna interactions
AU1812595A (en) * 1994-02-28 1995-09-11 Max-Planck-Gesellschaft Zur Forderung Der Wissenschaften E.V. Cell lines for the identification of substances affecting insulin receptor mediated signal transduction
US5627039A (en) * 1994-03-18 1997-05-06 Baylor College Of Medicine Mortalin and methods for determining complementation group assignment of cancer cells
US5569827A (en) * 1994-06-06 1996-10-29 Universite De Montreal Transgenic mouse for the neuronal expression of HIV gp160
US5750566A (en) * 1994-08-12 1998-05-12 Eli Lilly And Company Synthetic excitatory amino acids
US5777079A (en) * 1994-11-10 1998-07-07 The Regents Of The University Of California Modified green fluorescent proteins
US5625048A (en) * 1994-11-10 1997-04-29 The Regents Of The University Of California Modified green fluorescent proteins
US5744313A (en) * 1994-12-09 1998-04-28 The Regents Of The University Of California Assay employing novel protein domain which binds tyrosine phosphorylated proteins
US5958713A (en) * 1995-01-31 1999-09-28 Novo Nordisk A/S Method of detecting biologically active substances by using green fluorescent protein
US6025129A (en) * 1995-04-25 2000-02-15 Irori Remotely programmable matrices with memories and uses thereof
US6100026A (en) * 1995-04-25 2000-08-08 Irori Matrices with memories and uses thereof
US6017496A (en) * 1995-06-07 2000-01-25 Irori Matrices with memories and uses thereof
US5545531A (en) * 1995-06-07 1996-08-13 Affymax Technologies N.V. Methods for making a device for concurrently processing multiple biological chip assays
US6199082B1 (en) 1995-07-17 2001-03-06 Microsoft Corporation Method for delivering separate design and content in a multimedia publishing system
US5767337A (en) * 1995-07-31 1998-06-16 Duke University Creation of human apolipoprotein E isoform specific transgenic mice in apolipoprotein deficient "knockout" mice
US5801692A (en) 1995-11-30 1998-09-01 Microsoft Corporation Audio-visual user interface controls
US5770176A (en) * 1995-12-08 1998-06-23 Chiron Diagnostics Corporation Assays for functional nuclear receptors
US5874304A (en) * 1996-01-18 1999-02-23 University Of Florida Research Foundation, Inc. Humanized green fluorescent protein genes and methods
US6027890A (en) * 1996-01-23 2000-02-22 Rapigene, Inc. Methods and compositions for enhancing sensitivity in the analysis of biological-based assays
US5804387A (en) * 1996-02-01 1998-09-08 The Board Of Trustees Of The Leland Stanford Junior University FACS-optimized mutants of the green fluorescent protein (GFP)
US5790796A (en) 1996-06-14 1998-08-04 Symantec Corporation Polymorphic package files to update software components
US5802530A (en) 1996-07-01 1998-09-01 Sun Microsystems, Inc. Web document based graphical user interface
US5912137A (en) * 1996-07-16 1999-06-15 The Regents Of The University Of California Assays for protein kinases using fluorescent
US5912138A (en) * 1996-07-25 1999-06-15 Cold Spring Harbor Laboratory Substrate trapping protein tyrosine phosphatases
US6087115A (en) * 1997-01-22 2000-07-11 Cornell Research Foundation, Inc. Methods of identifying negative antagonists for G protein coupled receptors
US5859637A (en) * 1997-02-13 1999-01-12 International Business Machines Corporation Non-programming method and apparatus for creating wizards with a script
US5864004A (en) * 1997-03-27 1999-01-26 Samyang Corporation Flame retardant polymer resin composition having improved heat distortion temperature and mechanical properties
US5891646A (en) * 1997-06-05 1999-04-06 Duke University Methods of assaying receptor activity and constructs useful in such methods
US5966532A (en) * 1997-07-10 1999-10-12 National Instruments Corporation Graphical code generation wizard for automatically creating graphical programs
US5924101A (en) * 1997-10-14 1999-07-13 International Business Machines Corporation User interface for creating class definitions and implementations for datastore persistent objects
US6239800B1 (en) * 1997-12-15 2001-05-29 International Business Machines Corporation Method and apparatus for leading a user through a software installation procedure via interaction with displayed graphs
US6493870B1 (en) 1998-03-20 2002-12-10 Sun Microsystems, Inc. Methods and apparatus for packaging a program for remote execution
US6735767B1 (en) * 1998-04-10 2004-05-11 International Business Machines Corporation Installation planning window
US6107324A (en) * 1998-04-14 2000-08-22 Arena Pharmaceuticals Inc. 5-HT2A receptor inverse agonists
JP3912895B2 (ja) * 1998-04-15 2007-05-09 富士通株式会社 構造化データ管理システム、構造化データ管理プログラムを記録したコンピュータ読み取り可能な記録媒体、及び構造化データ管理方法
US6140509A (en) * 1998-06-26 2000-10-31 Arena Pharmaceuticals, Inc. Non-endogenous, constitutively activated human serotonin receptors and small molecule modulators thereof
US6263382B1 (en) * 1998-07-29 2001-07-17 Compaq Computer Corporation Sizer for interactive computer system configuration
US6342907B1 (en) * 1998-10-19 2002-01-29 International Business Machines Corporation Specification language for defining user interface panels that are platform-independent
US6161176A (en) 1998-11-20 2000-12-12 Microsoft Corporation System and method for storing configuration settings for transfer from a first system to a second system
RU2169437C1 (ru) * 1998-12-29 2001-06-20 Свисском Мобиле Аг Способ предоставления пользователям телекоммуникационной сети доступа к объектам
US6476828B1 (en) * 1999-05-28 2002-11-05 International Business Machines Corporation Systems, methods and computer program products for building and displaying dynamic graphical user interfaces
US6564375B1 (en) * 1999-07-23 2003-05-13 Cisco Technology, Inc. Reusable components for customization of wizard-based applications
WO2001014959A2 (en) 1999-08-16 2001-03-01 Z-Force Corporation System of reusable software parts and methods of use
US6806890B2 (en) * 1999-08-17 2004-10-19 International Business Machines Corporation Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system
US6356933B2 (en) * 1999-09-07 2002-03-12 Citrix Systems, Inc. Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
US6833847B1 (en) * 1999-12-21 2004-12-21 International Business Machines Corporation Visual wizard launch pad
US6678889B1 (en) * 2000-05-05 2004-01-13 International Business Machines Corporation Systems, methods and computer program products for locating resources within an XML document defining a console for managing multiple application programs
US6750887B1 (en) 2000-06-02 2004-06-15 Sun Microsystems, Inc. Graphical user interface layout manager
AUPQ808700A0 (en) * 2000-06-09 2000-07-06 Honeywell Limited Human-machine interface
KR20020031201A (ko) * 2000-10-19 2002-05-01 지성재 인터넷을 이용한 소프트웨어 원클릭 업그레이드방법
US20020087966A1 (en) 2000-11-30 2002-07-04 Morris Wiginton Methods and apparatuses for building installation software
US20020078103A1 (en) * 2000-12-20 2002-06-20 Gorman William Phillip Wizard development kit
US20020105546A1 (en) 2000-12-28 2002-08-08 Hamilton Scientific, Ltd. Browser container for hypertext application
US7917888B2 (en) * 2001-01-22 2011-03-29 Symbol Technologies, Inc. System and method for building multi-modal and multi-channel applications
US6968505B2 (en) * 2001-04-27 2005-11-22 International Business Machines Corporation Use of conceptual diagrams to support relationships between launchpads and its wizards
US20020188941A1 (en) * 2001-06-12 2002-12-12 International Business Machines Corporation Efficient installation of software packages
US6948151B2 (en) * 2001-06-29 2005-09-20 International Business Machines Corporation System and method for dynamic packaging of component objects
US6912710B2 (en) * 2002-01-31 2005-06-28 International Business Machines Corporation Round-trip maintenance of software configuration
US6941521B2 (en) * 2002-03-29 2005-09-06 Intel Corporation Method for dynamically generating a user interface from XML-based documents
US20030222898A1 (en) * 2002-06-03 2003-12-04 International Business Machines Corporation Integrated wizard user interface

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014178856A (ja) * 2013-03-14 2014-09-25 Nec Corp 画面表示システム、画面表示方法及びプログラム
US20220091863A1 (en) * 2020-09-18 2022-03-24 Red Hat, Inc. Dynamically generating guided tours for software
US11609772B2 (en) * 2020-09-18 2023-03-21 Red Hat, Inc. Dynamically generating guided tours for software

Also Published As

Publication number Publication date
RU2317582C2 (ru) 2008-02-20
PL360429A1 (en) 2003-12-15
NO20032492L (no) 2003-12-04
AU2003204382A1 (en) 2003-12-18
GB0305314D0 (en) 2003-04-09
AU2003204382B2 (en) 2009-09-17
EP1380940A2 (en) 2004-01-14
ZA200303730B (en) 2003-12-24
US20030222908A1 (en) 2003-12-04
TW200404225A (en) 2004-03-16
NO20032492D0 (no) 2003-06-02
CN100375010C (zh) 2008-03-12
TWI313417B (en) 2009-08-11
CN1475901A (zh) 2004-02-18
KR20030093927A (ko) 2003-12-11
CA2428478C (en) 2012-01-10
EP1380940A3 (en) 2006-11-29
MY135656A (en) 2008-06-30
US7290215B2 (en) 2007-10-30
MXPA03004889A (es) 2005-02-14
KR100835688B1 (ko) 2008-06-09
DE10309620A1 (de) 2003-12-11
CA2428478A1 (en) 2003-12-03
BR0302013A (pt) 2004-08-24
GB2389680A (en) 2003-12-17

Similar Documents

Publication Publication Date Title
JP2004013902A (ja) ウィザードインタフェースを提供するための方法及びコンピュータサーバ装置並びに記録媒体
US7930364B2 (en) Persistence of inter-application communication patterns and behavior under user control
US8682636B2 (en) Non-client-specific testing of applications
US7890604B2 (en) Client-side callbacks to server events
CA2438176C (en) Xml-based multi-format business services design pattern
US6675193B1 (en) Method and system for remote control of a local system
US20040107404A1 (en) Web page communications using parameters and events
CN112363699B (zh) 一种应用于多语言开发平台的交互方法及装置
US20090063661A1 (en) Method, system and apparatus for presenting forms and publishing form data
JP2008538428A (ja) ネットワークアプリケーションプログラム間で要求されたデータを生成および通信するためのシステムおよび方法
MXPA06000085A (es) Puerta de refrigerador y refrigerardor con la misma.
US20070094372A1 (en) Integration of legacy applications
US7533114B2 (en) Mobile device having extensible software for presenting server-side applications, software and methods
US7213212B2 (en) XGL and multi-platform user interface engine
MXPA06000106A (es) Arquitectura de aplicacion web.
US7240295B2 (en) XGL and dynamic accessibility system and method
US7814457B2 (en) System and method for revising flow diagrams displaying a process
CN115600028A (zh) 一种日志可视化处理方法、装置、系统及介质
CA2592399C (en) Facilitating access to application data at an application server by a wireless communication device
JP2003141076A (ja) Webアプリケーション処理性能測定方法及びWebアプリケーションサーバ
CA2360959A1 (en) Tester for url addressable computer applications
JPH06243020A (ja) ファイル変換装置
Serain Java RMI and Java Beans

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060601

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090724

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090814