(57)【特許請求の範囲】
【請求項１】
エージェント表示手段に関連するエージェントのデータ処理デバイス（４００）とエンドユーザ表示手段に関連するエンドユーザのデータ処理デバイス（１００）との間の通信を可能にするクライアント／サーバモードで動作するネットワーク（１７０）上でアシスタンスセンターのエージェント（４００）からのアシスタンスをエンドユーザソフトウェアアプリケーション（２００、１２０）のエンドユーザに提供する方法であって、エンドユーザソフトウェアアプリケーション（２００、１２０）は、エンドユーザがエンドユーザセッションを確立できるようにし、前記方法は、少なくとも１つのデータプロセッサによって実行され、
−  エージェントのデータ処理デバイス（４００）でデスクトップ共有アプリケーションのサーバサイド（４３０）をインストールするステップと、
−  エンドユーザによって開始されたアクションを記録するコンテキストデータベース（１６０）をデータ格納手段に格納するステップであって、前記アクションは、エンドユーザセッションを特徴付ける、格納するステップと、
−  前記アクションに基づきエージェントソフトウェアアプリケーション（２００、４５０）を動作することによって前記エンドユーザセッションの複製を取得し、前記複製をエージェントのデータ処理デバイス（４００）の表示手段に提供するステップと、
−  ネットワーク（１７０）を介してエージェントのデータ処理デバイス（４００）とエンドユーザのデータ処理デバイス（１００）との間の通信を確立するステップと、
−  エージェント表示手段上に表示されているものをエンドユーザ表示手段上で見ることを可能にするために、デスクトップ共有アプリケーションのクライアントサイド（９０）をエンドユーザのデータ処理デバイス（１００）で起動するステップと、
エージェントとエンドユーザとの間のアシスタンスセッション（４２８）を開始するステップと
を具備することを特徴とする方法。
【請求項２】
前記エンドユーザセッションの複製を取得するステップは、エンドユーザ表示手段上に現在表示されるエンドユーザセッションのページ（１２１）上にエンドユーザによって既に行われた全ての入力であって、エンドユーザソフトウェア（２００、１２０）によって未だ処理されていない全ての入力（１２５）を複製するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
エンドユーザセッションの複製を取得するステップは、エンドユーザのデータ処理デバイス（１００）からエージェントのアシスタンスを要求するステップを必要とし、アシスタンスを要求するステップは、
−  エンドユーザ表示手段上に表示されるエンドユーザセッションのページ（１２１）に埋め込まれたヘルプ要求手段（２０）を起動するステップと、
−  実行可能なリンクを要求し、エンドユーザのデータ処理デバイス（１００）で前記実行可能なリンクを受信し、前記実行可能なリンクにアクセスするステップと
のうち１つのステップを含むことを特徴とする請求項１または２に記載の方法。
【請求項４】
通信を確立するステップは、エージェント表示手段上に表示されているものをエンドユーザ表示手段上に表示するために、デスクトップ共有アプリケーションのサーバサイド（４３０）とデスクトップ共有アプリケーションのクライアントサイド（９０）との間のトンネルを構成するステップを具備することを特徴とする請求項１〜３の何れか１項に記載の方法。
【請求項５】
アシスタンスサービスアプリケーションは、エージェントのデータ処理デバイス（４００）でクライアントサイド（７０）とエンドユーザのデータ処理デバイス（１００）からリモート位置にあるサーバサイド（３００）とを有し、エージェントのデータ処理デバイス（４００）とエンドユーザのデータ処理デバイス（１００）とに対しネットワーク（１７０）を介して通信し、アシスタンスサービスアプリケーションのサーバサイド（３００）は、
−  アシスタンスの要求をエンドユーザのデータ処理デバイス（１００）から受信するステップと、
−  アシスタンス割り当ての要求をアシスタンスサービスアプリケーションのクライアントサイド（７０）に送信するステップと、
−  アシスタンスサービスアプリケーションのクライアントサイド（７０）から割り当ての許可を受信するステップと、
−  エージェント表示手段上に表示されているものをエンドユーザ表示手段上に表示するために、デスクトップ共有アプリケーションのサーバサイド（４３０）とデスクトップ共有アプリケーションのクライアントサイド（９０）との間の通信を確立するステップと
を実行することを特徴とする請求項１〜４の何れか１項に記載の方法。
【請求項６】
通信を確立するステップは、
−  エージェントのデータ処理デバイス（４００）でトンネリングサーバ（４４０）を配置するステップと、
−  デスクトップ共有アプリケーションのサーバサイド（４３０）でトンネリングプロキシ（６０）を配置するステップと、
−  前記トンネリングサーバ（４４０）と前記トンネリングプロキシ（６０）とを接続するステップと
を実行することによって、デスクトップ共有アプリケーションのサーバサイド（４３０）とクライアントサイド（９０）との間のトンネルを構成するステップを具備することを特徴とする請求項５に記載の方法。
【請求項７】
アシスタンスサービスアプリケーションのサーバサイド（３００）は、
−  アシスタンスの要求を受信してからアシスタンス割り当ての要求を送信するまで、エンドユーザによって実行された全ての入力であって、未だ処理されず、または前記エンドユーザソフトウェアアプリケーション（２００、１２０）に送信されていない全ての入力を取り出すステップと、
−  割り当ての許可を受信した後、エンドユーザによって実行された全ての入力であって、未だ処理されず、または前記エンドユーザソフトウェアアプリケーション（２００、１２０）に送信されていないアシスタンスサービスアプリケーションのクライアントサイド（７０）に送信するステップと
を実行することを特徴とする請求項５または６に記載の方法。
【請求項８】
アシスタンスサービスアプリケーションのサーバサイド（３００）は、
−  アシスタンスの要求を受信してからアシスタンス割り当ての要求を送信するまで、エンドユーザのセッションを固有に定義するコンテキスト識別子をアトリビュート（attribute）するステップと、
−  割り当ての許可を受信した後、エンドユーザのセッションを固有に定義するコンテキスト識別子をアシスタンスサービスアプリケーションのクライアントサイド（７０）に送信するステップと
を実行するように構成されることを特徴とする請求項５〜７の何れか１項に記載の方法。
【請求項９】
アシスタンスサービスアプリケーションのサーバサイド（３００）は、
−  アシスタンスの要求をエンドユーザのデータ処理デバイス（１００）から受信した後、デスクトップ共有アプリケーションのクライアントサイド（９０）を埋め込むアプレットを備えたページをエンドユーザのデータ処理デバイス（１００）に送信するステップ  を実行するように構成されることを特徴とする請求項５〜８の何れか１項に記載の方法。
【請求項１０】
アシスタンスサービスアプリケーションのサーバサイド（３００）は、
−  アシスタンスの要求をエンドユーザのデータ処理デバイス（１００）から受信した後、エンドユーザセッションに関連するパスワードであって、ユーザのデータ処理デバイス（１００）にエージェントのデータ処理デバイス（４００）を接続するのに必要なパスワードをエンドユーザのデータ処理デバイス（１００）に送信するステップ
を実行するように構成されることを特徴とする請求項５〜９の何れか１項に記載の方法。
【請求項１１】
アシスタンスサービスアプリケーションは、エージェントのデータ処理デバイス（４００）でクライアントサイド（７０）とエンドユーザのデータ処理デバイス（１００）からリモート位置にあるアシスタンスサービスアプリケーションのサーバサイド（３００）とを有し、エージェントのデータ処理デバイス（４００）とエンドユーザのデータ処理デバイス（１００）とに対しネットワーク（１７０）を介して通信し、アシスタンスサービスアプリケーションのクライアントサイド（７０）は、
−  アシスタンス割り当ての要求をアシスタンスサービスアプリケーションのサーバサイド（３００）から受信するステップと、
−  アシスタンス割り当ての前記要求を許可または拒絶する手段をエージェントのデータ処理デバイス（４００）に提供するステップと、
−  エージェントがアシスタンス割り当ての前記要求を許可する場合、エージェント表示手段上に表示されているものをエンドユーザ表示手段上に表示するために、デスクトップ共有アプリケーションのクライアントサイド（９０）とデスクトップ共有アプリケーションのサーバサイド（４３０）との間の通信を確立するステップと
を実行することを特徴とする請求項１〜１０の何れか１項に記載の方法。
【請求項１２】
前記エンドユーザソフトウェアアプリケーション（２００）は、エンドユーザのデータ処理デバイス（１００）からリモート位置にあるソフトウェアアプリケーションサーバ（１５０）上で動作されることを特徴とする請求項１〜１１の何れか１項に記載の方法。
【請求項１３】
前記エンドユーザソフトウェアアプリケーション（２００）および前記エージェントソフトウェアアプリケーション（２００）は、同じソフトウェアアプリケーション（２００）であることを特徴とする請求項１〜１２の何れか１項に記載の方法。
【請求項１４】
前記エンドユーザソフトウェアアプリケーション（２００）は、ウェブサーバ（１５０）から動作するウェブベースアプリケーションであることを特徴とする請求項１２または１３に記載の方法。
【請求項１５】
アシスタンスサービスアプリケーションのサーバサイド（３００）はまた、前記ソフトウェアアプリケーションサーバ（１５０）上で動作されることを特徴とする請求項１２〜１４の何れか１項に記載の方法。
【請求項１６】
アシスタンスサービスアプリケーションのサーバサイド（３００）とエンドユーザソフトウェアアプリケーション（２００）とは、異なるサーバ上で動作されることを特徴とする請求項１２または１４に記載の方法。
【請求項１７】
前記エンドユーザソフトウェアアプリケーション（１２０）は、エンドユーザのデータ処理デバイス（１００）上で動作され、エージェントソフトウェアアプリケーション（４５０）は、エージェントのデータ処理デバイス（４００）上で動作されることを特徴とする請求項１〜１１の何れか１項に記載の方法。
【請求項１８】
前記エンドユーザソフトウェアアプリケーション（１２０）は、エンドユーザのデータ処理デバイス（１００）上で動作され、エンドユーザのデータ処理デバイス（１００）は、コンテキストデータベース（１６０）を格納する手段を具備し、前記エンドユーザソフトウェアアプリケーション（１２０）は、コンテキストデータベース（１６０）にリンクされ、コンテキストデータベース（１６０）でエンドユーザによって開始されたアクションを記録するように機能的であることを特徴とする請求項１〜１１の何れか１項に記載の方法。
【請求項１９】
請求項１〜１８の何れか１項に記載の方法を少なくとも１つのコンピュータに動作させるコンピュータ読取可能なコード手段を具備することを特徴とする、非一時的なコンピュータ読取可能な格納媒体上に格納されるコンピュータプログラム。
【請求項２０】
クライアント／サーバモードで動作するアシスタンスセンターのエージェント（４００）からのアシスタンスをエンドユーザソフトウェアアプリケーション（２００、１２０）のエンドユーザに提供するためのシステムであって、エンドユーザソフトウェアアプリケーション（２００、１２０）は、エンドユーザがエンドユーザセッションを確立できるようにし、エンドユーザ表示手段に関連するエンドユーザのデータ処理デバイス（１００）と、エージェント表示手段に関連するエージェントのデータ処理デバイス（４００）と、サーバサイド（４３０）およびクライアントサイド（９０）を含むデスクトップ共有アプリケーションと、前記エンドユーザソフトウェアアプリケーション（２００、１２０）、エンドユーザのデータ処理デバイス（１００）、およびエージェントのデータ処理デバイス（４００）間の通信を可能にするよう構成されたネットワーク（１７０）とを具備し、
デスクトップ共有アプリケーションのサーバサイド（４３０）は、エージェントのデータ処理デバイス（４００）にインストールされ、デスクトップ共有アプリケーションのクライアントサイドは、エンドユーザのデータ処理デバイス（１００）にインストールされ、前記システムは、
−  エンドユーザによって開始されたアクションを記録するように構成されるコンテキストデータベース（１６０）を含むデータ格納手段であって、前記アクションは、エンドユーザセッションを特徴付ける、データ格納手段と、
−  アシスタンスサービスアプリケーションを動作するように構成される少なくとも１つのプロセッサと、を具備し、アシスタンスサービスアプリケーションは、
−  前記アクションに基づきエージェントソフトウェアアプリケーション（２００、４５０）を動作することによって前記エンドユーザセッションの複製を取得し、
−  前記複製をエージェントのデータ処理デバイス（４００）の表示手段に提供し、
−  エージェント表示手段上に表示されているものをエンドユーザ表示手段上で見ることができるように、ネットワーク（１７０）を介してエージェントのデータ処理デバイス（４００）とエンドユーザのデータ処理デバイス（１００）との間の通信を確立し、故にアシスタンスセッションを開始する
ように配置されることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、洗練されたソフトウェアアプリケーションのエンドユーザにアシスタンスを提供するヘルプデスクおよび他のコールセンターに関する。より具体的に、エンドユーザとアシスタンスセンターのエージェントとの間の効率的な双方向通信チャンネルを可能にしながら、エンドユーザのＰＣでソフトウェアの任意の面倒または複雑なインストールを必要としないアシスタンスを提供する方法を説明する。
【背景技術】
【０００２】
近年のオンラインコマーシャルアプリケーションの拡散は、サービスおよび商品の多様なプロバイダによる高度にインタラクティブかつ洗練されたソフトウェアアプリケーションの展開を引起している。インターネットのクライアント／サーバモデルに基づき、アプリケーションは、リモートサーバ上で動作され、ブラウザまたはナビゲータとして知られるいくつかの自由に利用可能なクライアントソフトウェアアプリケーションのうち任意の１つを動作するパーソナルコンピュータ（ＰＣ）等のカスタマーのデータ処理デバイスからリモートサーバに接続するカスタマーによってアクセスされる。これらのサーバはまた、アプリケーションサーバによって本願において指定される。世界中からアクセスされうる、無数のサーバおよびその数えきれないエンドユーザは、インターネットとして広く言及されるものを形成する相互接続されたプライベートおよびパブリックネットワークの混合を介して接続を確立するワールドワイドウェブ、即ち単なるウェブを構成する。
【０００３】
図１ａに示す通り、このコンピューティングおよびネットワーキング環境において、カスタマーは単にＰＣ１００から、サーバで動作されてカスタマーがサービスを得ようとしている任意の特定のソフトウェアアプリケーションへのアクセスを有するために、ウェブサイトを実装するリモートサーバ１５０に接続する必要がある。そのようなウェブサイトは例えば、トラベルサービスプロバイダおよびエアラインカンパニーによって設定され、旅行者が旅行代理店を訪問する必要なく、オンラインで飛行機旅行を予約およびその支払いができる。
【０００４】
従来のウェブサイトは、使用が単純であり、時々更新されうる静的情報を提供する一組のページに対する単なる相談に多くの場合限定されていた一方、洗練されたインタラクティブウェブサイトは、上記トラベルサービスプロバイダ等の、商品およびサービスを販売する商業組織によって主に、その後開発されてきた。また、全ての種類の機関および政府は、ウェブサイトを設定し、例えばオンラインによる支払いと共に納税申告書の電子入力を含む複雑な管理タスクを完了できるようにしている。
【０００５】
そのようなインタラクティブウェブサイトによって現在扱われるタスクの複雑性により、カスタマー、および一般にはこれらソフトウェアアプリケーションのエンドユーザが、サーバとクライアントアプリケーションとの間で全ての必要な電子トランザクションを問題なく完了させるために問題を経験することが多い。全ての種類の問題は潜在的に、例えばエンドユーザが、アプリケーションによって戻された電子フォームの全てのフィールドへ適切に入力できないために直面する。例えば、エンドユーザは、回答がフォーマットされなければならない正確なフォームが何なのかを知らないことがあり、またはどのような情報が提供されるべきか理解できない。また、多数の非互換性は潜在的に、サーバアプリケーションとクライアントソフトウェアバージョンとの間に存在することがあり、あるタスクの完了を困難にし、ウェブサイトの一時的ユーザは、一人で解決できないことがある。また、多数のコマーシャルアプリケーションは、クライアントインタフェースの使用を簡単かつ単純に維持するために、提供しているサービスまたは配信している商品に対する全ての可能なオプションを意図的に実装しない。
【０００６】
ウェブアプリケーションだけでなく、ローカルで動作されているがリモート位置のサーバ上にはないソフトウェアアプリケーションで問題が生じることもある。実際、ローカルで動作するソフトウェアアプリケーションのユーザはまた、ソフトウェアアプリケーションをインストールまたは動作させる時に困難に直面することがある。
【０００７】
結果として、ウェブサイトを設定し、またはローカルで動作するソフトウェアを開発するいくつかの組織は、エンドユーザが問題に直面した時にアシスタンスを要求するための手段を提供し、ユーザインタフェースに埋め込まれないカスタマー要求を扱う。これはほとんどの場合、ヘルプデスクまたはコールセンターの形式をとり、エンドユーザは、これらのウェブサイトのエンドユーザおよびオンラインカスタマーがフィールドで直面した問題のほとんどを扱うのに十分なレベルの専門知識を有する利用可能なエージェントのグループのうち任意の１人からアシスタンスを得るために電話する必要がある。
【０００８】
大規模な商業的および機関的組織によって特に導入される現代のヘルプデスクは、受信する電話の扱いを促進するために、かなり洗練されたツールを使用する。使用においてかなり効率的な手法は、電話を開始したエンドユーザまたはカスタマーのＰＣ上で表示されるものを、最終的にヘルプデスクエージェントの有する端末上で見られるようにすることである。エージェントは次いで、アプリケーションサーバのエンドユーザによって開かれたセッションにおける問題をもたらすのが何なのかをより迅速に理解することができる。
【０００９】
１つまたは複数のサードパーティコンピュータにリモートコンピュータデスクトップを表示させるツールは実際、ヘルプデスクおよびリモートアシスタンスの分野に限定されない多くのエリアで広く積極的に使用されている。バーチャルネットワークコンピューティングを表すＶＮＣは、デスクトップ共有に広く使用されるグラフィカルツールのようなものである。どんな場合でも、それは、プログラムを使用して１つのコンピュータデスクトップをインターネット上のどこかにあるもう１つのコンピュータデスクトップ上で見てインタラクティブ通信可能にするリモートコントロールソフトウェアである。しかし、図１ｂに示す通り、ソフトウェアの重要でない部分のＶＮＣビューアーは、エージェントのコンピュータ４００上にある一方、ＶＮＣサーバソフトウェアコンポーネントは、見るべきコンピュータ１００、即ちヘルプを要求したエンドユーザまたはカスタマーのコンピュータのうち１つの上にインストールされなければならない。故に、ＶＮＣがデスクトップをリモート表示するのにかなり効率的である場合、このタイプのアシスタンスの利点を得られるようにするために、エンドユーザが自分のコンピュータ上にＶＮＣサーバソフトウェアを先ずインストールしておかなければならないことを意味する。ＶＮＣサーバの機能に類似した機能を有するコンポーネントは、デスクトップ共有アプリケーションのサーバによってアプリケーションで指定される。
【００１０】
既存の解決策で生じる問題は、ＶＮＣサーバが潜在的に、特定のカスタマー環境で動作し、かつ、接続しているネットワークからの多数の攻撃対象である間に安全が保たれるように構成されていない限り、カスタマーウェブクライアントアプリケーションを保護するように基本的に設けられるカスタマーファイアウォール１１０の後ろでリスクにさらされることである。未だ、全てのＰＣユーザがコンピュータに詳しくはなく、エンドユーザのコンピュータのセキュリティに関して既存の解決策が多くの場合リスクになる。
【００１１】
従って、エンドユーザのコンピュータセキュリティを高める必要なく、または複雑な構成を予め必要とせずに、ヘルプを提供する解決策の必要性がある。
【００１２】
本発明のさらなる目的、特徴および利点は、添付図面を参照して以下の説明の検証により当業者にとって明らかになる。任意の追加の利点は、本明細書中に組込まれることが意図される。
【発明の概要】
【課題を解決するための手段】
【００１３】
１つの実施形態によると、本発明は、エンドユーザ表示手段に関連するエンドユーザのデータ処理デバイスと、エンドユーザがエンドユーザセッションを確立できるようにするエンドユーザソフトウェアアプリケーションと、エージェント表示手段に関連するエージェントのデータ処理デバイス（ＰＣ）との間の通信を可能にする、クライアント／サーバモードで動作するネットワーク上でアシスタンスセンターのエージェントからアシスタンスをエンドユーザソフトウェアアプリケーションのエンドユーザに提供する方法を説明する。方法は、少なくとも１つのデータプロセッサで実行される
−  エージェントのデータ処理デバイスにデスクトップ共有アプリケーションのサーバサイドをインストールするステップと、
−  好ましくはエンドユーザソフトウェアアプリケーションにリンクされるコンテキストデータベースをデータ格納手段に格納するステップであって、コンテキストデータベースは、エンドユーザによって開始されたアクションを記録し、アクションは、エンドユーザセッションを特徴とする、格納するステップと、
−  エージェントソフトウェアアプリケーションを動作することによって、および前記アクションに基づき前記エンドユーザセッションの複製を取得することによって、エージェントのデータ処理デバイスでエンドユーザセッションの複製としても言及されるクローン（clone）を得るステップと、
−  エンドユーザセッションのクローンをエージェント表示手段上で表示するステップと、
−  ネットワークを介してエージェントのデータ処理デバイスとエンドユーザのデータ処理デバイスとの間の通信を確立するステップと、
−  エージェント表示手段上に表示されるものをエンドユーザ表示手段上で見られるようにするため、デスクトップ共有アプリケーションのクライアントサイドをエンドユーザのデータ処理デバイスで起動するステップと、
−  エージェントとエンドユーザとの間のアシスタンスセッションを開始するステップと、を含む。
【００１４】
故に、本発明は、リモート位置にあるエージェントと通信する一方、エンドユーザが自分のコンピュータ上でＶＮＣサーバをインストールする必要がないという解決策を提供する。エンドユーザのコンピュータのセキュリティは故に、アシスタンスを可能にする一方で低減されない。
【００１５】
従って、デスクトップ共有アプリケーションのクライアントサイドをエンドユーザのデータ処理デバイスでインストールすることは、デスクトップ共有アプリケーションのサーバサイドをインストールするよりも簡単に扱われることができる。未だ、既存の解決策では、ＶＮＣまたは任意の等しいツールの効率性は、面倒なソフトウェアアプリケーション、即ちＶＮＣサーバサイドをカスタマーのＰＣ上に先ずインストールする必要があるために著しく損なわれる。実際、全てのＰＣユーザがコンピュータに詳しくはなく、多くの場合、普段明らかに必要のない任意の新たなソフトウェアをインストールしたがらない。
【００１６】
従って、本発明は、クライアントインストールに関して面倒な修正アーキテクチャまたはプリインストールを必要とせずに、ホットラインサポートをエンドユーザに提供することを可能にする。
【００１７】
エンドユーザソフトウェアアプリケーションは、エンドユーザのデータ処理デバイス上でローカルに動作されるソフトウェアアプリケーションでもよい。エンドユーザソフトウェアアプリケーションはまた、ウェブサーバ等のリモート位置にあるプロセッサによって動作されるオンラインソフトウェアアプリケーションでもよい。通常、エンドユーザソフトウェアアプリケーションは、輸送サービスのオンライン予約または指定を可能にするオンラインソフトウェアでもよい。
【００１８】
本発明では、エンドユーザセッションは、エンドユーザがエンドユーザソフトウェアアプリケーションを使用するセッションである。エンドユーザソフトウェアアプリケーションがローカルで動作され、即ちエンドユーザのデータ処理デバイスによって動作されることができ、またはリモートで動作され、通常リモート位置にあるサーバによって動作されるので、用語「セッション」は、パブリックまたはプライベートネットワーク上のセッションと同じローカル作業セッションを具体化する。
【００１９】
本発明では、エンドユーザのデータ処理手段とエージェントのデータ処理手段とは例えば、各々パーソナルコンピュータ（ＰＣ）、スマートフォン、個人用デジタル補助装置（ＰＤＡ）等でもよい。
【００２０】
本発明のもう１つの利点は、既存のアシスタンス解決策によって達成できるものよりも簡単かつ効率的にユーザをヘルプし、通知する方法を提供する点にある。
【００２１】
実際、既存の解決策は、ユーザ画面上に表示されるものをヘルプデスクエージェントが見られるようにするが、全ては、サポートされたウェブサイトまたはローカルエンドユーザソフトウェアアプリケーションにより開始されたトランザクションを問題なく完了することをヘルプデスクエージェントが望んで、エンドユーザに対し電話を介して口頭で説明される必要がある。故に、既存のヘルプデスクによって提供されるこの部分のアシスタンスは未だ、あまり効率的ではない。ユーザの画面上に表示されているものをエージェントが見ることを可能にすることにより、本発明は、ヘルプデスクアシスタンスの効率性をかなり高める。
【００２２】
好ましくは、本発明による方法は、以下の任意の特徴のうち少なくとも１つを含む。
−  エンドユーザセッションのクローンを得ることは、エンドユーザのデータ処理デバイス上で表示されるページまたはインタフェースを識別することを含む。ページまたはインタフェースは、エンドユーザによって行われた入力を含むかまたは含まなくてもよい。好ましくは、エンドユーザセッションのクローンを得ることは、エンドユーザ表示手段上に現在表示されるエンドユーザセッションのページ上にエンドユーザによって既にインプット(input)された全ての入力であって、かつエンドユーザソフトウェアアプリケーションによって未だ処理されていない全ての入力を複製することを含む。故に、エンドユーザによって開始され、エンドユーザセッションを特徴とするアクションはまた、エンドユーザソフトウェアアプリケーションによって既に処理された、インプット（input）とも呼ばれる入力と、エンドユーザソフトウェアアプリケーションによって未だ処理されていない入力とを含む。
【００２３】
−  本願では、エンドユーザセッションを複製すること、またはエンドユーザセッションのクローンを得ることは、エンドユーザのデータ処理手段の表示手段上に現在表示されるページが複製されることを意味する。故に、必要に応じて、先のページ上で行われた、現在表示されるページを取得するために必須の全てのアクションは、エンドユーザセッションを複製するために、記録されたコンテキストに基づき再生される。好ましい非限定的な実施形態では、エンドユーザによって既に行われているが未だに処理されていない入力でも複製される。
【００２４】
−  アシスタンスセッションは、エンドユーザ表示手段上に表示されるように、エージェントのデータ処理デバイスにおいて電子形式で利用可能な各種ファイル、ドキュメント、およびビデオを開くことを含む。これは、エンドユーザのデータ処理デバイス上でこれらのファイルを開くために、任意の特定のアプリケーションのインストールを必要としないことができる。
【００２５】
−  エンドユーザセッションのクローンを得ることは、エンドユーザデータ処理デバイスからエージェントのアシスタンスを要求することを必要とする。第１の実施形態によると、アシスタンスの要求は、エンドユーザ表示手段上に表示されるエンドユーザセッションのページに埋め込まれたヘルプ要求手段を起動することを含む。第２の実施形態によると、アシスタンスを要求することは、実行可能なリンクを要求すること、エンドユーザデータ処理デバイスで前記実行可能なリンクを受信すること、および前記実行可能なリンクにアクセスすることを含む。前記実行可能なリンクは通常、ＵＲＬリンクである。好ましくは、実行可能なリンクを要求することは、エージェントに電話をかけること、またはメッセージを送信することを意味する。
【００２６】
−  好ましくは、通信を確立するステップは、エージェント表示手段上に表示されるものをエンドユーザのディスプレイ手段上に表示するために、デスクトップ共有アプリケーションのサーバサイドとデスクトップ共有アプリケーションのクライアントサイドとの間のトンネルを構成することを含む。
【００２７】
−  アシスタンスサービスアプリケーションは、エージェントのデータ処理デバイスのクライアントサイドとエンドユーザのデータ処理デバイスからリモート位置にあるサーバサイドとを有し、エージェントのデータ処理デバイスおよびエンドユーザのデータ処理デバイスに対してネットワークを介して通信する。アシスタンスサービスアプリケーションのサーバサイドは、
−  アシスタンスの要求をエンドユーザのデータ処理デバイスから受信するステップと、
−  アシスタンス割り当て（assistance  assignment）の要求をアシスタンスサービスアプリケーションのクライアントサイドに送信するステップと、
−  アシスタンスサービスアプリケーションのクライアントサイドから割り当ての許可を受信するステップと、
−  エージェント表示手段上に表示されるものをエンドユーザ表示手段上に表示するために、デスクトップ共有アプリケーションのサーバサイドとデスクトップ共有アプリケーションのクライアントサイドとの間の通信を確立するステップと、を実行する。
【００２８】
−  通信を確立するステップは、
−  エージェントのデータ処理デバイスでトンネリングサーバを配置するステップと、
−  デスクトップ共有アプリケーションのサーバサイドでトンネリングプロキシを配置するステップと、
−  前記トンネリングサーバと前記トンネリングプロキシとを接続するステップと、を実行することによって、デスクトップ共有アプリケーションのサーバサイドとクライアントサイドとの間のトンネルを構成することを含む。
【００２９】
−  好ましくは、アシスタンスサービスアプリケーションのサーバサイドは、エージェントのデータ処理デバイスがエンドユーザのデータ処理デバイスと通信する準備が整っていることを示す通知を、アシスタンスサービスアプリケーションのクライアントサイドから受信する。
【００３０】
−  アシスタンスサービスアプリケーションのサーバサイドは、
−  アシスタンスの要求を受信してからアシスタンス割り当ての要求を送信するまで、エンドユーザによって実行された、未だ処理またはエンドユーザソフトウェアアプリケーションへ送信されていない全ての入力を取り出すステップと、
−  割り当ての許可を受信した後、エンドユーザによって実行された、未だ処理またはエンドユーザソフトウェアアプリケーションへ送信されていない全ての入力をアシスタンスサービスアプリケーションのクライアントサイドに送信するステップと、を実行するように構成される。
【００３１】
−  前記全ての入力またはインプットは、クエリストリングで収集され、アシスタンスサービスアプリケーションのサーバサイドは、アシスタンスサービスアプリケーションのクライアントサイドにクエリストリングを送信する。
【００３２】
−  アシスタンスサービスアプリケーションのサーバサイドは、アシスタンスの要求を受信してからアシスタンス割り当ての要求を送信するまで、エンドユーザのセッションを固有に定義するコンテキスト識別子をアトリビュート（attribute）するステップと、割り当ての許可を受信した後、エンドユーザのセッションを固有に定義するコンテキスト識別子をアシスタンスサービスアプリケーションのクライアントサイドに送信するステップとを実行するように構成される。
【００３３】
−  アシスタンスサービスアプリケーションのサーバサイドは、アシスタンスの要求をエンドユーザのデータ処理デバイスから受信した後、待ちページをエンドユーザのデータ処理デバイスに送信するステップを実行するように構成される。
【００３４】
−  アシスタンスサービスアプリケーションのサーバサイドは、アシスタンスの要求をエンドユーザのデータ処理デバイスから受信した後、デスクトップ共有アプリケーションのクライアントサイドを埋め込むアプレットを備えたページをエンドユーザのデータ処理デバイスに送信するステップを実行するように構成される。実行時、アプレットは、デスクトップ共有アプリケーションのクライアントサイドを読み込む。故に、デスクトップ共有アプリケーションのサーバサイドのみが、エージェントのデータ処理デバイスにある。煩わしい、または面倒なアプリケーションは、エンドユーザによってインストールまたはプリインストールされる必要がない。
【００３５】
−  アシスタンスサービスアプリケーションのサーバサイドは、アシスタンスの要求をエンドユーザのデータ処理デバイスから受信した後、エンドユーザセッションに関連し、エージェントのデータ処理デバイスに接続するのに必要なパスワードを、エンドユーザのデータ処理デバイスに送信するステップを実行するように構成される。パスワードは、アシスタンスサービスアプリケーションのクライアントサイドから受信される。有利な点として、前記パスワードは、新たなアシスタンス要求毎にランダムに変更される。
【００３６】
−  全ての入力を複製するステップは、一度実行されると、エンドユーザ表示手段上に現在表示されるエンドユーザセッションのページ上でエンドユーザによって既に行われた全ての入力であって、エンドユーザソフトウェアアプリケーションによって未だ処理されていない全ての入力を収集するように配置される、実行可能なアプレットをエンドユーザに提供することを含む。
【００３７】
−  アシスタンスサービスアプリケーションは、エージェントのデータ処理デバイスでクライアントサイドとエンドユーザのデータ処理デバイスからリモート位置にあるサーバサイドとを有し、エージェントのデータ処理デバイスとエンドユーザのデータ処理デバイスとに対しネットワークを介して通信する。アシスタンスサービスアプリケーションのクライアントサイドは、
−  アシスタンス割り当ての要求をアシスタンスサービスアプリケーションのサーバサイドから受信するステップと、
−  アシスタンス割り当ての前記要求を許可または拒絶するための手段をエージェントに提供するステップと、
−  エージェントがアシスタンス割り当ての前記要求を許可した場合、エージェント表示手段上に表示されるものをエンドユーザ表示手段上に表示するために、デスクトップ共有アプリケーションのクライアントサイドとデスクトップ共有アプリケーションのサーバサイドとの間の通信を確立するステップと、を実行する。
【００３８】
−  通信を確立するステップは、エージェント表示手段上に表示されるものをエンドユーザ表示手段上に表示するために、デスクトップ共有アプリケーションのサーバサイドとデスクトップ共有アプリケーションのクライアントサイドとの間のトンネルを構成することを含む。
【００３９】
−  トンネルを構成するステップは、デスクトップ共有アプリケーションのサーバサイドにおけるトンネリングプロキシにエージェントのデータ処理デバイスのトンネリングサーバを接続することを含む。
【００４０】
第１の実施形態によると、本発明はまた、以下の任意の特徴のうち任意の１つを含むことができる。
−  エンドユーザソフトウェアアプリケーションは、エンドユーザのデータ処理デバイスからリモート位置にあるソフトウェアアプリケーションサーバ上で動作される。
【００４１】
−  エンドユーザソフトウェアアプリケーションは、ウェブサーバから動作するウェブベースのアプリケーションである。故に、エンドユーザソフトウェアアプリケーションは、オンラインソフトウェアアプリケーションである。好ましくは、エンドユーザのデータ処理デバイスは、ウェブブラウザを介してウェブサーバにアクセスする。
【００４２】
−  例示的な実施形態によると、エンドユーザソフトウェアアプリケーションは、例えばトラベルサービスプロバイダによって操作されるウェブサーバから動作するウェブベースのトラベルアプリケーションであり、エンドユーザは、ウェブブラウザがインストールされたデータ処理デバイスを介してトラベルサービスに関する情報を予約、購入、または取得するためにウェブサーバにアクセスするカスタマーである。
【００４３】
−  実施形態によると、ソフトウェアアプリケーションサーバはまた、アシスタンスサービスアプリケーションのサーバサイドである。より具体的に、ソフトウェアアプリケーションサーバとアシスタンスサービスアプリケーションのサーバサイドとは、同じマシン上で動作される。代替の実施形態によると、ソフトウェアアプリケーションサーバとアシスタンスサービスアプリケーションのサーバサイドとは、異なる（distinct）サーバである。好ましくは、ソフトウェアアプリケーションサーバとアシスタンスサービスアプリケーションのサーバサイドとは、遠隔に位置する。通常、それらは、異なるエンティティによって動作される。例えば、ソフトウェアアプリケーションサーバは、作業、レジャー活動、トラベル、および観光旅行のためにトラベルサービスのプロバイダまたは任意のデスクトップソフトウェアアプリケーションのプロバイダによって操作され、アシスタンスサービスアプリケーションのサーバサイドは、ソフトウェアアシスタンスを提供する企業によって操作される。
【００４４】
−  前記ソフトウェアアプリケーションサーバは、コンテキストデータベースにリンクされる。
【００４５】
−  エンドユーザのデータ処理デバイスから、またはエージェントのデータ処理デバイスからエンドユーザソフトウェアアプリケーションを動作するためのネットワークは、エンドユーザとエージェントとの間の通信を確立するためのネットワークと同じであるのが好ましい。もう１つの実施形態では、エンドユーザのデータ処理デバイスから、またはエージェントのデータ処理デバイスからエンドユーザソフトウェアアプリケーションを動作するためのネットワークは、エンドユーザとエージェントとの間の通信を確立するためのものとは異なる。
【００４６】
第２の実施形態によると、本発明は、以下の任意の特徴のうち任意の１つをさらに含むことができる。
−  エンドユーザソフトウェアアプリケーションは、エンドユーザのデータ処理デバイス上で動作される。エンドユーザのデータ処理デバイスは、コンテキストデータベースを格納するための格納手段を含む。エンドユーザソフトウェアアプリケーションは、コンテキストデータベースにリンクされる。
【００４７】
−  エンドユーザソフトウェアアプリケーションは、エンドユーザによって開始されるアクションをコンテキストデータベースに記録するように機能的（instrumented）である。従って、エンドユーザソフトウェアアプリケーションは、ローカルに、即ちエンドユーザの処理デバイスでエンドユーザセッションのコンテキストを記録するように構成される。
【００４８】
−  通常、エンドユーザソフトウェアアプリケーションは、デスクトップアプリケーションである。
【００４９】
−  エンドユーザソフトウェアアプリケーションは、コンテキストデータベースに未だ記録されていない全ての入力をアシスタンスサービスアプリケーションのサーバサイドに送信するように機能的である。
【００５０】
−  デスクトップ共有アプリケーションのサーバサイドは、エンドユーザセッションのコンテキストを取り出すことができる。故に、デスクトップ共有アプリケーションのサーバサイドは、エージェントの処理デバイスで、および前記コンテキストに基づき、エンドユーザソフトウェアアプリケーションを動作することができる。従って、エンドユーザセッションは、エージェントの処理デバイスで複製できる。
【００５１】
本発明はまた、以下の任意の特徴のうち任意の１つを含むことができる。
−  特定の実施形態では、エンドユーザソフトウェアアプリケーションは、グラフィックソフトウェアツール一式または任意のオフィスソフトウェアツール一式である。それは、ＰＣオペレーティングシステム、即ち例えばWindows(登録商標)の制御下で動作できる。
【００５２】
−  特定の実施形態では、前記エンドユーザセッションの複製を取得するために動作されるエージェントソフトウェアアプリケーションは、エンドユーザソフトウェアアプリケーションのものと同じソフトウェアアプリケーションである。これは、エージェントソフトウェアアプリケーションおよびエンドユーザソフトウェアアプリケーションがソフトウェアの同じ部分であることを意味する。それは、単一のマシンから、または単一のマシンプールから動作されてもよい。もう１つの実施形態では、前記エンドユーザセッションの複製を取得するために動作されるエージェントソフトウェアアプリケーションは、エンドユーザソフトウェアアプリケーションとは異なる。その後者の場合、エージェントソフトウェアアプリケーションは、以下の何れかでありうる。
【００５３】
−  エンドユーザソフトウェアアプリケーションのコピーである。その場合、エンドユーザソフトウェアアプリケーションおよびエージェントソフトウェアアプリケーションは、ソフトウェアの２つの部分である。それらは、２つの異なるマシンから動作されるのが好ましい。
【００５４】
−  エージェントソフトウェアアプリケーションは、少なくともエンドユーザソフトウェアアプリケーションの機能性を有する一方で異なる。好ましくは、エンドユーザソフトウェアアプリケーションで利用可能な全てのアクションは、エージェントソフトウェアアプリケーションで利用可能である。エンドユーザソフトウェアアプリケーションおよびエージェントソフトウェアプリケーションは、ソフトウェアアプリケーションの２つのバージョンにすることができ、第１のバージョンは、エンドユーザ専用であり、第２のバージョンは、エージェント専用である。
【００５５】
−  カスタマーはここでは、洗練されたウェブアプリケーションを使用していると考えられ、即ちウェブサイトからサーバサイドとクライアントサイドとの間における高レベルのインタラクションが考えられ、一般にフォームが満たされる必要がある。好ましくは、エンドユーザソフトウェアアプリケーションにより、商品またはサービスを予約または購入すること、納税申告等の経営上の申告を満たすこと、情報の要求を満たすこと、のアクションのうち少なくとも１つを可能にする。エンドユーザソフトウェアアプリケーションはまた、トラベルおよび観光産業に関することができる。次いで、エンドユーザソフトウェアアプリケーションは、トラベルプロダクトに関する商品またはサービスの予約または購入、チェックイン処理、チケット予約、チケット又は予約の修正等を可能にする。エンドユーザソフトウェアアプリケーションはまた、作業またはエンターテイメント専用のローカルアプリケーションでもよい。次いで、エンドユーザソフトウェアアプリケーションは、計算、描画、タイピング、ゲームプレイ等を可能にする。
【００５６】
もう１つの実施形態では、本発明は、非一時的なコンピュータ読取可能な記録媒体上に格納されたコンピュータプログラム製品を提供し、少なくとも１つのコンピュータに上記特徴の任意の１つによる方法を操作させるように適合されたコンピュータ読取可能なコード手段を含む。
【００５７】
もう１つの実施形態によると、本発明は、エージェント表示手段に関するエージェントのデータ処理デバイスとエンドユーザ表示手段に関するエンドユーザのデータ処理デバイスとの間の通信を可能にする、クライアント／サーバモードで動作するネットワーク上でアシスタンスセンターのエージェントからのアシスタンスをエンドユーザソフトウェアアプリケーションのエンドユーザに提供する方法に関し、エンドユーザソフトウェアアプリケーションは、エンドユーザがエンドユーザセッションを確立できるようにし、前記方法は、少なくとも１つのデータプロセッサで実行される
−  エンドユーザによって開始されたアクションを記録するコンテキストデータベースをデータ格納手段に格納するステップであって、前記アクションは、エンドユーザセッションを特徴とする、格納するステップと、
−  前記アクションに基づきエージェントソフトウェアアプリケーションを動作することによって前記エンドユーザセッションの複製を取得し、前記複製をエージェントのデータ処理デバイスの表示手段に提供するステップと、
−  ネットワークを介してエージェントのデータ処理デバイスとエンドユーザのデータ処理デバイスとの間の通信を確立するステップと、
−  エージェント表示手段上に表示されるものをエンドユーザ表示手段上で見られるように、デスクトップ共有アプリケーションのサーバサイドをエージェントのデータ処理デバイスで起動するステップと
を含むことを特徴とする。
【００５８】
もう１つの実施形態によると、本発明は、非一時的なコンピュータ読取可能な格納媒体上に格納されたコンピュータプログラム製品を提供し、少なくとも１つのコンピュータに上記方法を操作させるために適合されたコンピュータ読取可能なコード手段を含む。
【００５９】
もう１つの実施形態によると、本発明は、エンドユーザソフトウェアアプリケーションとエージェント表示手段に関連するエージェントのデータ処理デバイス（ＰＣ）とエンドユーザ表示手段に関連するエンドユーザのデータ処理デバイスとの間の通信を可能にする、クライアント／サーバモードで動作するネットワーク上でアシスタンスセンターのエージェントからエンドユーザソフトウェアアプリケーションのエンドユーザにアシスタンスを提供する方法に関し、前記方法は、少なくとも１つのデータプロセッサで実行される
−  エンドユーザによって開始された、エンドユーザセッションを特徴とするアクションを記録するコンテキストデータベースをデータ格納手段に格納するステップと、
−  エンドユーザセッションの複製をエージェントのデータ処理デバイスに提供するステップであって、前記複製は、前記アクションに基づく、提供するステップと、
−  ネットワークを介してエージェントのデータ処理デバイスとエンドユーザのデータ処理デバイスとの間の通信を確立するステップと、
−  エージェント表示手段上で表示されるものをエンドユーザ表示手段上で見られるように、デスクトップ共有アプリケーションのクライアントサイドをエンドユーザのデータ処理デバイスで起動するステップと、
−  エージェントとエンドユーザとの間のアシスタンスセッションを開始するステップと
を含むことを特徴とする。
【００６０】
もう１つの実施形態によると、本発明は、非一時的なコンピュータ読取可能な格納媒体上に格納されたコンピュータプログラム製品を提供し、少なくとも１つのコンピュータに上記方法を操作させるように適合されたコンピュータ読取可能なコード手段を含む。
【００６１】
もう１つの実施形態によると、本発明は、エンドユーザソフトウェアアプリケーションとエージェント表示手段に関連するデータ処理デバイス（ＰＣ）とエンドユーザ表示手段に関連するエンドユーザのデータ処理デバイスとの間の通信を可能にする、クライアント／サーバモードで動作するネットワーク上でアシスタンスセンターのエージェントからエンドユーザソフトウェアアプリケーションのエンドユーザにアシスタンスを提供する方法に関し、前記方法は、少なくとも１つのデータプロセッサで実行される
−  エンドユーザによって開始されたアクションをエンドユーザのデータ処理デバイスから受信するステップであって、前記アクションは、エンドユーザセッションを特徴とする、受信するステップと、
−  エンドユーザによって開始されたアクションを記録するコンテキストデータベースをデータ格納手段に格納するステップと、
−  エンドユーザセッションの複製をエージェントのデータ処理デバイスに提供するステップであって、前記複製は、前記アクションに基づく、提供するステップと
を含むことを特徴とする。
【００６２】
好ましくは、前記方法はさらに、
−  ネットワークを介してエージェントのデータ処理デバイスとエンドユーザのデータ処理デバイスとの間の通信を確立するステップと、
−  エージェント表示手段上に表示されるものをエンドユーザ表示手段上で見られるように、デスクトップ共有アプリケーションのクライアントサイドをエンドユーザのデータ処理デバイスで起動するステップであって、故にエージェントとエンドユーザとの間のアシスタンスセッションを開始できるようにする、起動するステップと
を含む。
【００６３】
実施形態によると、この方法は、エンドユーザのデータ処理デバイスからリモート位置にあるサーバで実行される。サーバとエンドユーザのデータ処理デバイスとは、インターネット等のネットワークを介して通信する。
【００６４】
もう１つの実施形態によると、エンドユーザによって開始されるアクションを格納するステップは少なくとも、エンドユーザのデータ処理デバイス上で、場合によってはエンドユーザソフトウェアアプリケーションによって実行される。
【００６５】
もう１つの実施形態によると、本発明は、非一時的なコンピュータ読取可能な格納媒体上に格納されたコンピュータプログラム製品を提供し、少なくとも１つのコンピュータに上記方法を操作させるように適合されたコンピュータ読取可能なコード手段を含む。
【００６６】
もう１つの実施形態によると、本発明は、エンドユーザソフトウェアアプリケーションとエージェント表示手段に関連するエージェントのデータ処理デバイス（ＰＣ）とエンドユーザ表示手段に関連するエンドユーザのデータ処理デバイスとの間の通信を可能にする、クライアント／サーバモードで動作するネットワーク上でアシスタンスセンターのエージェントからエンドユーザソフトウェアアプリケーションのエンドユーザにアシスタンスを提供する方法に関し、前記方法は、少なくとも１つのデータプロセッサで実行される
−  エンドユーザによって開始され、エンドユーザセッションを特徴とするアクションを受信するステップと、
−  前記アクションに基づき、エージェントソフトウェアアプリケーションを動作することによって、および前記エンドユーザセッションの複製を取得することによって、エージェントのデータ処理デバイスでエンドユーザセッションの、複製としても言及されるクローンを得るステップと、
−  エンドユーザセッションのクローンをエージェント表示手段上に表示するステップと、
−  ネットワークを介してエージェントのデータ処理デバイスとエンドユーザのデータ処理デバイスとの間の通信を確立するステップと、
−  エージェント表示手段上に表示されるものをエンドユーザ表示手段に送信するステップであって、故にエージェントとエンドユーザとの間のアシスタンスセッションを開始できるようにする、送信するステップと
を含むことを特徴とする。
【００６７】
もう１つの実施形態によると、本発明は、非一時的なコンピュータ読取可能な格納媒体上に格納されたコンピュータプログラム製品を提供し、少なくとも１つのコンピュータに上記特徴のうち任意の１つによる方法を操作させるように適合されたコンピュータ読取可能なコード手段を含む。
【００６８】
もう１つの実施形態によると、本発明は、エンドユーザソフトウェアアプリケーションとエンドユーザのデータ処理デバイスとエージェントのデータ処理デバイスとの間の通信を可能にするように構成されたサーバサイドとクライアントサイドとネットワークとを含む、エンドユーザ表示手段に関連するエンドユーザのデータ処理デバイスとエージェント表示手段に関連するエージェントのデータ処理デバイスとデスクトップ共有アプリケーションとを含む、クライアント／サーバモードで動作するアシスタンスセンターのエージェントからのアシスタンスをエンドユーザソフトウェアアプリケーションのエンドユーザに提供するためのシステムに関する。デスクトップ共有アプリケーションのサーバサイドは、エージェントのデータ処理デバイスにインストールされ、デスクトップ共有アプリケーションのクライアントサイドは、エンドユーザのデータ処理デバイスにインストールされる。本発明のシステムは、
−  エンドユーザソフトウェアアプリケーションにリンクされるのが好ましく、エンドユーザによって開始された、エンドユーザセッションを特徴とするアクションを記録するように構成されたコンテキストデータベースを含むデータ格納手段と、
−  アシスタンスサービスアプリケーションを動作するように構成された少なくとも１つのプロセッサと、を含み、アシスタンスサービスアプリケーションは、
−  前記アクションに基づきエージェントソフトウェアアプリケーションを動作することにより、前記エンドユーザセッションの複製をエージェントのデータ処理デバイスに提供し、
−  エンドユーザセッションの複製をエージェント表示手段上に表示し、
−  エージェント表示手段上に表示されるものをエンドユーザ表示手段上で見られるように、ネットワークを介してエージェントのデータ処理デバイスとエンドユーザのデータ処理デバイスとの間の通信を確立し、それによりアシスタンスセッションを開始する
ように配置される。
【００６９】
より具体的に、エンドユーザソフトウェアアプリケーションのエンドユーザによって開始された全てのトランザクションは、カスタマーＰＣ上で専ら動作するに対してはローカルで、オンラインまたはウェブアプリケーションに対してはリモートで、コンテキストデータベースに記録される。機能的ページまたはインタフェースは、アプリケーションサーバから、またはローカルアプリケーションから各々エンドユーザに配信される。それらは各々、ヘルプ要求手段を含む。デスクトップ共有アプリケーションのサーバサイドは、エージェントのＰＣにインストールされる。エンドユーザがヘルプ要求手段を起動することによりアシスタンスを要求する時、現在の機能的ページまたはインタフェース上でエンドユーザによって既に行われた全ての入力は、アプリケーションサーバにアップロードされる。待ちページおよびクライアントのデスクトップ共有アプリケーションはまた、エンドユーザのＰＣにダウンロードされる。アシストされるべきエンドユーザは、利用可能なエージェントが割り当てられる。次いで、エージェントのＰＣは、エンドユーザによって既に行われた全ての入力を含む現在の機能的ページのクローンをアプリケーションサーバのコンテキストデータベースから得る。エージェントとエンドユーザとの間のセキュア通信トンネルは、パブリックネットワークを介して確立される。デスクトップ共有アプリケーションのクライアントサイドは最終的に起動され、エンドユーザにエージェントのＰＣのデスクトップを見せて、エージェントとエンドユーザとの間のアシスタンスセッションを開始できるようにする。クライアントＰＣ上に任意のソフトウェアをプリインストールしないで全てが行われる。
【図面の簡単な説明】
【００７０】
【図１ａ】図１ａは、従来技術のアシスタンスセンターを示す。
【図１ｂ】図１ｂは、従来技術のアシスタンスセンターを示す。
【図２ａ】図２ａは、エンドユーザがエージェントのデスクトップを見ることができるようにする、本発明の実施形態に従って体系化されたアシスタンスセンターを示す。この図は、本発明の特定の実施形態を示すが限定的な実施形態を示すものではなく、エンドユーザソフトウェアアプリケーションは、エンドユーザのコンピュータからリモート位置にあるサーバから動作される。
【図２ｂ】図２ｂは、エンドユーザがアシスタンスを要求したページのクローンをエージェントが見ることができるようにする、本発明の実施形態に従って体系化されたアシスタンスセンターを示す。この図は、本発明の特定の実施形態を示すが限定的な実施形態を示すものではなく、エンドユーザソフトウェアアプリケーションは、エンドユーザのコンピュータからリモート位置にあるサーバから動作される。
【図３ａ】図３ａは、本発明に従うシステムのコンポーネントを示し、アシスタンスは、ウェブサーバ等の、エンドユーザのコンピュータからリモート位置にあるサーバ上で動作するリモートアプリケーションに関してエンドユーザによって要求される。
【図３ｂ】図３ｂは、本発明に従うシステムのコンポーネントを示し、アシスタンスは、エンドユーザのコンピュータ上で動作するローカルアプリケーションに関してエンドユーザによって要求される。
【図４】図４は、インスタントメッセージングウィンドウおよびウェブカメラウィンドウを含む、エンドユーザによって見られるエージェントのデスクトップの一例を示す。
【図５】図５は、ヘルプ要求手段を備える機能的ページの一例と、エージェントがエンドユーザをヘルプするタスクについて割り当てられる間に待ちページが表示される一例とを示す。
【図６ａ】図６ａは、エンドユーザのコンピュータ上で動作するオンラインエンドユーザソフトウェアアプリケーションのエンドユーザをアシスタンスセンターのエージェントがヘルプする方法のステップ例を示す。
【図６ｂ】図６ｂは、エンドユーザのコンピュータ上で動作する機能的なローカルエンドユーザソフトウェアアプリケーションのエンドユーザをアシスタンスセンターのエージェントがヘルプする方法のステップ例を示す。
【発明を実施するための形態】
【００７１】
本発明の以下の詳細な説明は、添付図面に言及し、全ての上記図における同じ番号は、同じ機能および要素に言及する。記載は、例示的な実施形態を含む一方、他の実施形態が可能であり、変更は、本発明の精神および範囲から逸脱しないで、説明された実施形態に対して行うことができる。
【００７２】
図２ａおよび２ｂは、本発明の具体的ではあるが限定的ではない実施形態によるヘルプデスクまたはカスタマーサポートセンターシステムの全体的な説明であり、エージェントは、エージェントがサポートしているエンドユーザソフトウェアアプリケーション２００のエンドユーザおよびカスタマーにヘルプを提供することに取り組む。エンドユーザソフトウェアアプリケーション２００は、エンドユーザの表示手段上にウェブページ１２１を表示するクライアントサイドおよびサーバサイドを有する。この実施形態では、エンドユーザソフトウェアアプリケーション２００は、オンラインソフトウェアアプリケーションである。
【００７３】
サポートされたリモートサーバアプリケーション１５０にアクセスしたエンドユーザまたはカスタマー１００がエンドユーザソフトウェアアプリケーション２００を使用するのに困難でない限り、あらゆる種類のオンラインアプリケーションを実装する他の正規のウェブサイトで生ずるものと比較して、クライアントサイド上で違いがないように見える。
【００７４】
しかし、図２ａに示す通り、本発明によるヘルプデスクまたはカスタマーサポートセンターによってサポートされるリモートサーバソフトウェアアプリケーションまたはウェブサイトに関して、違いは、コンテキストデータベース１６０が、サポートされたアプリケーションのエンドユーザまたはカスタマー１００によって開かれる全てのセッションに対するバックグラウンド（background）において常に更新され続ける点にある。本発明では、これらのセッションはまた、エンドユーザセッションとして言及される。それ以外に、サーバサイドとクライアントサイドとの間の全てのトランザクションは、プライベートおよびパブリックネットワーク、即ちインターネット１７０の組合せを介して起こり、標準の保護がファイアウォール１１０、３１０、４１０という形式で一般に導入され、パブリックネットワークからの攻撃を防ぎ、トランザクションを安全かつセキュアに維持する、正規のトランザクションである。コンテキストデータベース１６０の役割は、全ての入力されたデータと共にエンドユーザソフトウェアアプリケーションのエンドユーザによって開かれるエンドユーザセッションを、必要な時に複製するために必要な全てを記録することである。次いで、コンテキストデータベース１６０は、同一の複製されたページに必要な時にいつでも到達できるようにするため、エンドユーザソフトウェアアプリケーション２００のエンドユーザによって行われる全てのアクションを追跡する。これらのアクションは例えば、認証、履歴ページ、テキストボックスへの入力、ラジオボタン等に言及することができる。
【００７５】
次いで、エンドユーザソフトウェアアプリケーション２００のエンドユーザが困難に直面する場合、またはカスタマーがコマーシャルサイトを使用しながらサポートセンターからのヘルプを求める場合、エンドユーザおよびカスタマーには、アシスタンス要求手段が提供される。本発明のアプリケーションにより、これは、以下の説明でより検討される異なる方法で達成することができる。しかし、最終結果は、ヘルプデスクのエージェント４００が、要求を開始したエンドユーザまたはカスタマーをヘルプすることに最終的に取り組む。
【００７６】
その後、通信チャンネルは、バックグラウンドセクションにおいて検討したＶＮＣ等のデスクトップ共有アプリケーションを使用してエージェントとエンドユーザまたはカスタマーとの間に確立される。そのようなデスクトップ共有アプリケーションは、デスクトップ共有アプリケーションのクライアントサイドによって、およびデスクトップ共有アプリケーションのサーバサイドによって、本発明において各々指定されるクライアントサイドおよびサーバサイドを含むことが分かる。しかし、図１ｂに示すＶＮＣの標準の使用とは反対に、これは、デスクトップ共有アプリケーションのクライアントサイドであって、ここではエンドユーザのコンピュータ（ＰＣ）上で操作される必要があるビューアー部分である。ＶＮＣビューアーは、ソフトウェアの重要でない部分であり、任意の事前インストールを必要とせず、例えばブラウザによって実行可能なアプレットの形式でダウンロードすることができる。通常、そのようなアプレットは、エンドユーザまたはカスタマーのＰＣ１１０によって動作されるウェブブラウザによってフェッチされる対応するウェブページに埋め込まれる。故に、これは、ヘルプデスクからのアシスタンスを要求する前に、エンドユーザまたはカスタマーのＰＣで任意の一部のソフトウェアのインストールを必要としないという、本発明の重要な目的を果たす。
【００７７】
この通信チャンネルを介して、アシスタンスセッションは、エージェントとエンドユーザとの間で開始される。
【００７８】
デスクトップ共有アプリケーションのサーバサイドは故に、エージェントのＰＣ上にインストールされる。エージェントおよびヘルプデスクの専門家は、ファイアウォール４１０の後ろで安全に操作できるように、デスクトップ共有アプリケーションのサーバサイドを構成するのに必要な技術レベルを有することが当然考えられる。反対に、エンドユーザまたはカスタマーは、ヘルプデスクエージェントからアシスタンスを要求する必要がある場合、コンピュータに詳しい必要がない。トランザクションをセキュアにし、何者かがエージェントのＰＣに接続するのを防ぐために、新たな固有のパスワードは、新たなカスタマーセッションが確立される毎に生成される。次いで、その新たなカスタマーのみが、エージェントのＰＣにアクセスする権利を一時的に与えられる。これはまた、前のカスタマーが接続し続けるかまたは再接続すること、および新たなカスタマーのデータを見ることを防ぐ。これは、図６で示され、さらに検討される。
【００７９】
結果として、これは、エンドユーザＰＣの画面上で単に見ることができる、デスクトップ共有アプリケーションのサーバサイドを操作するヘルプデスクエージェントの指定される画面ビューであるデスクトップである。エージェントは次いで、単なる電話の会話を介して達成できるものと比べて、エンドユーザの関心に対してより迅速かつ良好な回答をもたらす可能性のある様々なドキュメント、プレゼンテーション、およびビデオを自分のＰＣから見る全ての自由を有する。ヘルプデスクエージェントは、エンドユーザデスクトップを見ることができることによって直面する問題を迅速に理解できなければならないだけでなく、技術的な困難に直面する場合にトランザクションを完了することをヘルプする視覚的な補助（ドキュメント、チュートリアル、プレゼンテーション、ビデオ等）の任意形式をこのエンドユーザに直接示す方法を有し、または上記トラベルサービスプロバイダによって設定されるもののように、オンラインコマーシャルアプリケーションのカスタマーによって尋ねられる問題に良好に回答しなければならない。エンドユーザのＰＣは、対応するソフトウェアアプリケーションがエージェントのＰＣ上で実行され、エージェントの制御下にあるので、対応するソフトウェアアプリケーションをインストールする必要がない。また、エンドユーザのＰＣ上にダウンロードされたＶＮＣビューアーのおかげでリモートでも見られるエージェントのＰＣの唯一のデスクトップであるため、最も洗練されたアプリケーションがエージェントによって使用され、カスタマーに示すことができる。
【００８０】
ヘルプデスクまたはカスタマーサポートセンターを操作するこの方法は、バックグラウンドセクションにおいて説明した従来のヘルプデスクの利点を保ち、かつ伸ばし、ＶＮＣまたは類似の製品を使用するエージェントは、エンドユーザおよびカスタマーの関心が何であるかをより迅速かつ良好に理解できるように、エンドユーザデスクトップを見ることができる。
【００８１】
図２ｂに示す通り、この部分は、上記説明されたコンテキストデータベース１６０から、および本発明によるヘルプデスクまたはカスタマーサポートセンターによってサポートされたサーバ上で動作する対応するソフトウェアアプリケーションのヘルプで達成される。サポートされたサーバ１５０を問合せることによって、エージェントは次いで、エンドユーザおよびカスタマーが自分の関心を表現している時の全体のコンテキストを取り出すことができる。エンドユーザセッションは故に、エンドユーザがアシスタンスを要求することを決定するまで、エンドユーザによって入力された全てのデータを含んでエージェントのために複製できる。これはまた、本発明のアプリケーションの各種例を介して以下の説明において説明される。
【００８２】
図２ｂは、単一のサーバがエンドユーザセッションの複製をエージェントに提供し、アシスタンスサービスアプリケーションを動作する実施形態を示すが、本発明はまた、複数のサーバがエンドユーザセッションの複製をエージェントに提供する実施形態を含む。もう１つの実施形態では、アシスタンスサービスアプリケーションおよびエンドユーザソフトウェアアプリケーション２００を動作するサーバは、異なるサーバ上で動作される。
【００８３】
図３ａに図示され、以下でオンラインインタラクティブトラベルエージェンシ（onlineinteractive  travel  agency）（ＯＬＩＴＡ）として言及される、本発明の第１のアプリケーションは実際に、カスタマーとトラベルエージェントとの間で多数のインタラクションを可能にするオンライントラベルシステムを説明する。図３ａはより一般的に、カスタマーが自分のＰＣから、この例では任意の普遍性（generality）を失うことなくオンライントラベルアプリケーションと考えられる様々なオンラインエンドユーザソフトウェアアプリケーション２００を使用しながらヘルプを求める場合を示す。エージェントは、‘Travel@Home’、または本願明細書および図３ａおよび３ｂでアシスタンスサービスアプリケーション３００および７０として言及される、本発明の目的である、もう１つの特定のサーバアプリケーションからカスタマーをサポートしている。このアシスタンスサービスアプリケーションおよびオンラインエンドユーザソフトウェアアプリケーション２００は、図２ｂにおいて考えられるサーバと同じサーバ上に必ずしもホストされない。一般的な場合、２つのアプリケーションは、その各々のサービスプロバイダによって所有される異なるサーバ上で動作される。アシスタンスサービスアプリケーションは、カスタマー要求に応じてトラベルエージェントを選択すること、およびカスタマーが困難を経験するサポートされたエンドユーザソフトウェアアプリケーション２００のカスタマーセッションコンテキストを取り出すことのように、アシスタンスセッションを管理することを目的とする。アシスタンスサービスアプリケーションはまた、異なるサーバ上でのアプリケーションの間に接続を確立しながら、カスタマーとエージェントとを接続することを担当する。
【００８４】
サーバサイド３００としてアシスタンスサービスアプリケーションはまたアシスタンスサービスアプリケーションサーバを指定し、クライアントサイド７０はまたアシスタンスサービスアプリケーションクライアント７０を指定した。
【００８５】
インターネット上で利用可能な多数の標準オンライントラベルサイトとは反対に、本発明は、エージェントが旅行者に対処し、旅行者の要求を扱い、旅行者の代わりに旅行の予約をする、正規の旅行代理店を訪問する旅行者の間に存在しうる同じレベルのインタラクティビティ（interactivity）を提供すると考えられる。正規の旅行代理店のように、本発明によるサービスセンターに接続されたカスタマーは、電子形式で利用可能な全ての種類のドキュメントをリモート位置のエージェントによって示されることができ、エージェントのＰＣのデスクトップを見ることによってトラベル商品およびオプションの中から選択することができる。ＰＣ１００、インターネット接続、およびＰＣにインストールされたブラウザからウェブサーバに接続する機能を有する必要とは別に、カスタマーが特定の技術を持つことは考えられない。そうではなく、アシスタンス過程は、以下に説明するように自動化される。
【００８６】
カスタマーが特定のトラベル商品を予約する前に詳細な情報（ホテルの写真、地図上の位置等）について検討および見る必要がある場合、カスタマーは、上記オンライントラベルサービス２００をサポートするアシスタンスセンターに電話をする必要があり、そこからトラベルエージェントは最終的に、発呼側のカスタマーをヘルプするタスクが割り当てられる。エージェントに対する電話および割り当ては、多数の異なる方法で達成することができ、それらの例は、以下の説明でさらに検討される。従来の方法は、例えばサポートされたエンドユーザソフトウェアアプリケーション２００の各ページ上に大きく広告された特定の番号を場合によってはフリーダイアルでカスタマーが電話することである。
【００８７】
割り当てられたエージェントに連絡をとる時、カスタマーは、電話の目的を簡単に説明することができる。次いで、エージェントは、アシスタンスサービスサーバ上でウェブページの生成をアシスタンスサービスアプリケーションのクライアントサイド７０から自分のＰＣ上で開始する。例えば‘customerxx.html’９０と呼ばれるページは故に、ウェブサイト‘www.TravelHome.com’からアクセス可能になる。本発明のこのアプリケーションでは、その時カスタマーから予測される唯一のアクションは、上記インターネットアドレスまたはＵＲＬ（uniform  resource  locator）で自分のＰＣのブラウザを立ち上げることである。
【００８８】
発呼側のカスタマー向けの上記ウェブページを生成する前に、アシスタンスサービスアプリケーションをサポートするエージェントはまた、リモートコントロールサーバ４３０、例えばＶＮＣサーバとセキュリティのためにエージェントトンネリングサーバ４４０とを自分のＰＣから開始する。既に検討した通り、リモートコントロールパスワードは、新たな接続要求毎にアシスタンスサービスアプリケーションのクライアントサイド７０によって自動的に変更および設定される。リモートコントロールパスワードは次いで、エージェントのＶＮＣサーバパスワードで既に設定されたリモートコントロールクライアントアプレットで‘www.TravelHome.com’サイト上でカスタマー専用ページ‘customerxx.html’を生成する前に、アシスタンスサービスアプリケーションのサーバサイド３００に送信される。アシスタンスサービスアプリケーションのサーバサイド３００は次いで、カスタマーリモートコントロールアプレットからエージェントトンネリングサーバ４４０へメッセージを転送し、次にエージェントリモートコントロールサーバ４３０にメッセージを転送し、ウェブページ９０を生成するために、トンネルプロキシ６０を設定することができる。
【００８９】
故に、カスタマーが自分のＰＣ上でエージェントによって生成されたページを読み込む時、リモートコントロールクライアントアプレットはまた、読み込まれ、エージェントリモートＶＮＣサーバに自動的に接続し、図４に示す通り、エージェントデスクトップ４２８の複製をカスタマーのＰＣの画面上に表示する。エージェントのＰＣは例えば、エージェントの顔４２２を表示するためにウェブカメラを備える。また、タイピング（例えば、インスタントメッセージ）またはボイスを使用して通信チャンネルを確立するチャットアプリケーションは、４２４で開始することができる。既に検討した通り、エージェントは次いで、自分のＰＣ４２０上で様々なファイル（ＰＤＦ冊子、ＰｏｗｅｒＰｏｉｎｔプレゼンテーション、ビデオ等）を開くことができ、それによりカスタマーは、対応するビューアプリケーションが自分のＰＣ上にダウンロードされていなくても、ダウンロードしたクライアントアプレットにより４２６でファイルを見ることができる。また、エージェントは、カスタマーによってさらにダウンロード可能である１つまたは複数のウェブページを生成するために、アシスタンスサービスアプリケーションサーバ上に冊子、契約書、販売条件等の任意のドキュメントをアップロードすることができる。
【００９０】
カスタマーが満足し、全ての自分の質問に回答してもらった時、エージェントは、アシスタンスサービスアプリケーションクライアント７０から、トンネルを閉め、リモートコントロールサーバ４３０を停止し、パスワードを無効にする。オプションとして、エージェントはまた、カスタマーが同意する場合にカスタマーに代わって任意のトランザクションを完了することができる。
【００９１】
本発明のもう１つのアプリケーションは、ヘルプデスクおよびホットラインによる使用をさらに重視し、ウェブエンドユーザソフトウェアアプリケーション２００におけるかなり正確な時点でリモートカスタマーのＰＣに単純かつ自動的にアクセス可能にし、ここではカスタマーは、自分がヘルプを得ないままさらに進行することができなかったと判断している。これはまた、リモートカスタマーのＰＣ上にソフトウェアの任意の事前インストールを要求しないで行うことができる。
【００９２】
ここで、カスタマーは、洗練されたウェブエンドユーザソフトウェアアプリケーション２００を使用していると考えられ、即ちウェブサイトから、サーバとクライアントサイドとの間で高レベルのインタラクションが考えられ、一般的にここでは、フォームが満たされる必要がある。これは、オンライントラベルサービスプロバイダおよび旅行代理店からのサイト、商品およびサービスを配信するコマーシャルサイト、および例えば納税申告に使用される行政および政府組織のサイトを含む。先に検討した通り、本発明によるヘルプデスクによってサポートされるサーバ上で動作する任意のアプリケーションは、カスタマー毎にエンドユーザセッションを生成し、ここでコンテキストは、更新され続ける。この実施形態によると、エージェントソフトウェアアプリケーション２００はまた、エンドユーザソフトウェアアプリケーション２００であり、エンドユーザソフトウェアアプリケーションと同じサーバ上で動作し、またはサーバのプール上で動作する。エンドユーザソフトウェアアプリケーションまたはエージェントソフトウェアアプリケーションは次いで、ウェブソフトウェアアプリケーション２００として言及される。また、エージェントは、図５に示す通り、カスタマーが機能的（instrumented）ウェブページ１２１上に位置する‘ヘルプボタン’２０上をクリックすることによりヘルプを求める時を条件に、コンテキストＩＤと呼ばれる固有のコンテキスト識別子でウェブソフトウェアアプリケーション２００への接続が許可される。このアクションはまた、カスタマーによって現在のページ上に入力された、サーバによって未だ知られていない全ての入力された情報、即ちテキストおよびチェックボックス、ラジオボタン、ドロップダウンリスト等の１２５を収集する。この目的のため、アシスタンスサービスアプリケーションサーバ３００は、待ちサーブレット３０および同期サーブレット５０を含む。コンテキスト識別子および現在のページに入力された全てのものは、ヘルプデスクへの要求を開始するアシスタンスサービスアプリケーションサーバ３００の待ちサーブレット３０に自動的に送信される。要求が処理されている間、待ちページ８０は、図５に示す通りカスタマーに戻される。
【００９３】
要求を扱うことに取り組むヘルプデスクエージェントは、自分の‘アシスタンスサービスアプリケーションクライアント７０’を立ち上げることによって要求の扱いを開始する。これは、先に検討したＯＬＩＴＡのケースと同じ接続過程を開始する。アシスタンスサービスアプリケーションクライアントはまた、カスタマーが‘ヘルプボタン’２０上をクリックした時に場合によってはインプットされた入力フィールドと共に、ウェブソフトウェアアプリケーション２００のカスタマーコンテキストを固有に識別する識別子を戻すアシスタンスサービスアプリケーション同期サーブレット５０への要求をトリガする。次いで、アシスタンスサービスアプリケーションは、場合によっては、既にインプットされた入力を含むエージェント向けの複製されたセッションを生成することができ、それによりエージェントのＰＣは、カスタマーのＰＣ上のものと同じページを正確に表示する。これらの特徴はまた、先に説明したＯＬＩＴＡを使用する場合に利用可能であり、それによりエンドユーザセッションの全てのコンテキスト、状態、およびインプットされたデータを複製し、カスタマーがエージェントによって送信されたＵＲＬ上をクリックする時、エージェントＰＣでそれらを利用可能にする。従って、ヘルプボタンおよびＵＲＬリンクは、ヘルプ要求手段とみなすことができる。
【００９４】
ＶＮＣまたは任意の対等なデスクトップ共有システムを使用してエージェントに接続される時、カスタマーはまた、自分の画面と同じ状態で、同じウェブソフトウェアアプリケーション２００のページを含むエージェントデスクトップ９０のコピーを、ＯＬＩＴＡアプリケーションにあるように自分の画面上で見る。エージェントはまた、ウェブカメラを使用して、場合によっては直面した問題の議論をするためにチャットアプリケーションを使用して、および／またはカスタマーがエージェント環境を再生成できるようにエージェント環境で何をするかを示す、多数の方法でカスタマーを効率的にサポートできる。アプリケーションに依存して、既に上記説明した通り、カスタマーはまた、自分の代わりに一部またはすべての過程をエージェントに完了させることができ、この場合、承認ステップは、エージェントのアクションを承認するようカスタマーに促すことが追加される必要がありうる。ＯＬＩＴＡと同様に、全ての種類のドキュメント、写真、およびビデオは、エージェントによって開かれ、カスタマーによって見られ、および／またはこのカスタマーがダウンロードするためにサーバに送信されることができる。
【００９５】
図３ｂは、自分のコンピュータの制御下で完全に動作するエンドユーザソフトウェアアプリケーション１２０に対するアシスタンスを要求するカスタマーの場合を示す。そのようなローカルエンドユーザソフトウェアアプリケーション１２０は例えば、ＰＣオペレーティングシステム、即ちほとんどの場合Windows(登録商標)の制御下で動作するグラフィックソフトウェアツール一式または任意のオフィスソフトウェアツール一式である。サポートされたローカルエンドユーザソフトウェアアプリケーション１２０は、図３ａのサポートされたウェブソフトウェアアプリケーション２００と同じレベルの機能性を提供するように、その開発者によって機能的にされる必要がある。特に、本発明は、機能的ローカルエンドユーザソフトウェアアプリケーション１２０がまた、ローカルデータベース１６０でエンドユーザセッションのコンテキストを記録することができると考えられる。実装に依存して、ローカルデータベースは、サポートされたエンドユーザソフトウェアアプリケーション１２０を動作しながら、エンドユーザによって実行された全てのアクションを記録する単一のテキストファイルを含む各種形式をとることができる。コンテキストデータベース１６０は、エンドユーザのコンピュータ１００のデータ格納手段に格納されるのが好ましい。ローカルエンドユーザソフトウェアアプリケーション１２０はまた、機能的ウェブページのようなヘルプボタン２０を備える。次いで、上記説明したアシスタンス手法は、無条件にこの場合にも適用される。エージェントは、エージェントソフトウェアアプリケーション４５０を介して、およびアシスタンスサービスアプリケーション３００の制御下で、サーバから動作されるオンラインサポートされたエンドユーザソフトウェアアプリケーション２００の場合に関して先に議論されたものと同じ条件で、カスタマーセッションを再生することができる。この目的のため、機能的ローカルエンドユーザソフトウェアアプリケーション１２０はまた、エージェントのＰＣ４００上にインストールされる。エンドユーザによって動作されるエンドユーザソフトウェアアプリケーション１２０のコンテキストは、ローカルデータベース１６０から受信される。
【００９６】
従って、従来のホットラインとヘルプデスクとの間の主な違いは：
−  アプリケーションおよびアーキテクチャを全く修正することなく、ヘルプデスクおよびホットラインサポートは、正規のソフトウェアアプリケーション上で行うことができる。
−  エージェントおよびカスタマーは、同じ時間における同じページ上で作業を行い、同じセッションコピー上で作業しない。エージェントおよびカスタマーは、他のパーティが何を行っているかをリアルタイムに見ることができる。
【００９７】
本発明の可能なアプリケーションは、本発明を説明するための上記例で使用されたホットライン、ヘルプデスク、およびサービスセンターに限定されない。本発明はまた、２つまたは複数の地理的に離れた個人の間、例えば２つの異なるＩＴ（情報技術）組織または部門に属する２人の開発者間で各々のＩＴインフラストラクチャに対する任意の変更を必要とせずに、全ての種類の共同作業への門戸を開く。例えば、１人は、配信されたエンドユーザソフトウェアアプリケーションが適切に作業するか否かをチェックすることを担当する、経験のあるユーザでもよい。経験のあるユーザは、例えば品質部門、マーケティングまたはカスタマーカンパニーで作業してもよく、またはエンドユーザソフトウェアアプリケーションの開発を確認することを担当してもよい。次いで、チェックすべきソフトウェアアプリケーションが、同じコンテキストでもう１つのセッションを開始するのに必要な全てのアクションを記録する本発明の一部を実装するとすれば、もう１つの地理的に離れた個人、例えばチェックされているコードの開発者は、誰がエンドユーザソフトウェアアプリケーションのチェックを担当するかによってもたらされることのある関心または問題の解消をヘルプすることに関与することができる。故に、そのような共同作業に関する使用の場合、エンドユーザがエージェントによって行われた作業の確認を担当するので、‘ユーザ’は、‘エージェント’よりもスキルが高い。
【００９８】
本発明（ＯＬＩＴＡ、ヘルプデスク）を説明するために用いた上記例で説明されたすべての機能性は、パーティが地理的に離れていて場合によって全く異なるＩＴインフラストラクチャ上であっても、関与するパーティ間でかなり効率的な共同作業セッションを確立可能にすることを適用する。
【００９９】
以下は、共同作業の一例を示す。
【０１００】
この使用の場合、エンドユーザは、配信されたアプリケーションが適切に作動するかをチェックすることを担当する、経験のあるユーザである。エンドユーザソフトウェアアプリケーション２００、１２０は、アシスタンスサービスアプリケーションの要求時、同じコンテキストでもう１つのセッションを開始するのに必要なすべてのアクションを記録する。エージェントは、エンドユーザによってチェックされるコードを担当するソフトウェア開発者である。１度エンドユーザは、アプリケーションが適切に作動しないことを発見する。それは、整列していないフィールド等のマイナーな問題でもよい。エンドユーザは、ここでは‘Incident（事故）’とラベル表示される、エンドユーザソフトウェアアプリケーション２００、１２０の各々の機能的ページ１２１上に提供されたヘルプボタン２０上をクリックする。このアクションは、ソフトウェアアプリケーションサーバから未だ知られていない現在のページ１２１上に入力された情報の一部を収集し、アシスタンスサービスサーバ３００にこの情報を送信し、サポート要求を開始する。そのアクションはまた、Mozilla組織によるBugzilla等のバグ追跡システムで追跡タグ（tracking  ticket）を生成することができ、ボタンがクリックされ、アプリケーションサーバセッションからのコンテキストデータが要求者の識別子と共に自動的に記録された時、データが収集される。
【０１０１】
エンドユーザは、エージェントが要求を扱う時までに待ちページが戻される。
【０１０２】
エージェントは、アシスタンスサービスアプリケーションのクライアントサイド７０で要求を扱うことを選び、“オンラインインタラクティブトラベルエージェンシ”と同じ接続過程を開始する。アシスタンスサービスアプリケーションのクライアントサイド７０は、エンドユーザソフトウェアアプリケーション２００、１２０のエンドユーザのコンテキストを固有に識別する識別子とエンドユーザがヘルプボタン２０を押した時に収集された情報の新たな一部とを戻す同期サーブレット５０に対する要求を開始する。次いで、アシスタンスサービスアプリケーションのクライアントサイド７０は、以下を使用して、エンドユーザのＰＣ１００上で、エージェントのＰＣ４００と同じページを表示する。
−コンテキストを設定するための識別子、および
−エンドユーザのキーストロークを再生成するための情報の新たな一部
【０１０３】
接続時、エンドユーザは、自分の画面上で、同じ状態である自分の画面と同じページ１２１を含むエージェントの画面のコピーを見る。
【０１０４】
任意にエージェントは、２つの画面を有することができ、１つは、エンドユーザの画面上で再生成され、もう１つでは、エージェントは、参照データ、スクリプト、およびカスケーディングスタイルシート等のいくつかのパラメータを変更でき、またはシンボリックデバッガを動作させて何が起こっているかを診断できる。
【０１０５】
任意にエージェントおよびエンドユーザは、管理者を招待することができる。管理者は、エンドユーザのようにエージェントの画面のコピーを管理者が見ることができるようにするアプレットを含むページのＵＲＬが提供される。
【０１０６】
次いで、場合によっては、エージェントは、エンドユーザの問題を解決でき、エージェントは、エンドユーザの問題に対する解決策を提案でき、エージェントおよびエンドユーザは、問題の見解に同意できる。エージェントおよびエンドユーザの管理者は、承認を与えることができる。追跡タグは、相応して更新される。
【０１０７】
以下は、アプリケーションのエンドユーザに対して、およびアプリケーションをサポートするリモートヘルプデスク、ホットラインまたはサービスセンターのエージェントに対して、サーバおよびクライアントサイド上の、本発明の各種ソフトウェアコンポーネントの役割を要約する。
【０１０８】
エンドユーザ１００の処理デバイス
−エンドユーザは、ブラウザがインストールされた自分のＰＣを使用して、サポートされたリモートサイト２００（例えば、オンライン旅行代理店またはＯＬＴＡ）上のページにアクセスする。
−ウェブ機能のページ１２１は全て、問題を経験しているかまたはアシストを必要とするカスタマーがクリックできるヘルプボタン２０を備える。
−ヘルプボタンがクリックされた後、待ちページは、カスタマーＰＣ１００上に表示される。
−カスタマーをヘルプするタスクがエージェントに割り当てられた時、リモートコントロールクライアントアプレットが読み込まれ、エージェントのデスクトップ、即ち接続されたページ９０を自動的に表示する。
【０１０９】
エージェント４００の処理デバイス
−エージェントは、未決タスク（即ち、未決のカスタマーヘルプ要求）を表示するクライアントアプリケーション７０を有する。エージェントは、未決タスク上をクリックしてそれを自分に割り当てる。
−新たなリモートコントロールパスワードは、エージェントのＰＣ４００のリモートコントロールサーバ４３０のために生成される。リモートコントロールサーバ４３０は、新たに生成されたパスワードで開始または再開および構成される。
−エージェントソフトウェアアプリケーション２００は、エンドユーザセッションを特徴付けるエンドユーザのアクションが提供された時、エンドユーザのセッションを再生することができる。カスタマーの画面上に表示されたページは、エージェントの画面上にクローン化または複製される。
−カスタマーの画面上に表示された待ちページは、新たに開かれたトンネルを介してエージェントのリモートコントロールサーバに自動的に接続するために、エージェントパスワードおよびパラメータで構成されたリモートコントロールクライアントアプレットで更新される。
【０１１０】
オンラインウェブエンドユーザソフトウェアアプリケーション２００
−これは、正規のウェブエンドユーザソフトウェアアプリケーション２００であり、本発明の２つの以下の機械的部分を実装する。全てのページ１２１は、各アクションを追跡するように機能的である。
−ヘルプボタン２０は、上記説明の通り、機能的ページ上に追加される。クリックされた時、現在のページに入力した全ての情報をパースし、アシスタンスサービスアプリケーションサーバ３００に送信し、サポートを要求し、未だページコンテキストと共に格納されていないものをアプリケーションに提供する。この機能は例えば、ウェブページに埋め込まれた実行可能なスクリプトまたはアプレットによって実装され、カスタマーがヘルプボタン上をクリックする時にトリガされる。この情報は、ＵＲＬのパラメータとして送信され、次いでエージェントのＰＣ４００上で分析され、機能的ウェブページ１２１のクローン１２２を生成し、故にカスタマーによってインプットされた情報を含む。
−オンラインウェブエンドユーザソフトウェアアプリケーション２００のコンテキスト機能１０は、コンテキストデータベース１６０に、カスタマークライアントアプリケーションとオンラインウェブアプリケーションとの間の交換（exchange）毎にセッションコンテキストを格納する。
−単一のエンドユーザソフトウェアアプリケーション２００に関して、セッションがないかまたは必要な情報が現在のページに含まれ、および／またはＵＲＬを介してパラメータとして渡される場合、コンテキストは、必要とされなくてもよい。この場合、コンテキストデータベースは、必要ない。また、認証およびセキュリティ機構は、カスタマーの具体的なコンテキスト情報にアクセスする権利をアシスタンスサービスアプリケーションに与えるように実装される。
【０１１１】
カスタマー待ちページ８０
−カスタマーがヘルプボタン上をクリックする時、新たなブラウザウィンドウがカスタマーのＰＣ上で開始され、カスタマーをヘルプするタスクがエージェントに割り当てられるまで、アシスタンスサービスアプリケーションサーバ３００によって提供されたページを表示する。
【０１１２】
アシスタンスサービスアプリケーション３００
−ヘルプ要求が受信された時はいつでも、新たなセッションがサーバアプリケーションで生成される。新たなセッションは、エージェントのアシスタンスサービスアプリケーションクライアント７０で表示されるタスクリストに記録される。エージェントがリストからタスクを選択する時、アシスタンスサービスアプリケーションサーバ３００は待ちページ８０を、接続されたページ９０に変更し、エージェントのＰＣ４００の画面（デスクトップ）を自動的に表示するアプレットが埋め込まれる。
【０１１３】
トンネリングアプリケーション６０
トンネルは、アシスタンスサービスアプリケーションサーバ３００からエージェントのＰＣ４００へ自動的に設定され、ファイアウォールを介してカスタマーとエージェントとの間でセキュア接続を可能にする。
【０１１４】
アシスタンスサービスアプリケーション７０
エージェントがタスクリストからヘルプ要求を選択する時、以下の過程が行われる。
−タスクがアシスタンスサービスアプリケーションサーバ３００で割り当てられたことを記録する。
−ローカルリモートコントロールサーバのためのパスワードを生成する。セキュリティのため、パスワードは、電話毎にランダムに変更される。現在の要求処理の完了時にリセットされる。
−ローカルリモートコントロールサーバ４３０、例えばＶＮＣ等のデスクトップ共有ソフトウェアのサーバサイドを開始する。
−リモートコントロールクライアントアプレットを設定するために、アシスタンスサービスアプリケーションサーバ３００に新たなパスワードを送信する。
−カスタマーがエージェントのＰＣに接続され、‘welcome  message（ウェルカムメッセージ）’を表示するまで待つ。
−例えば、ウェブカメラ４２２および／またはチャットアプリケーション４２４を介して通信を開始する。
【０１１５】
いつでも、エージェントは、中止ボタン７４を押し、トンネルをやめてリモートコントロールサーバを停止することができる。リモートコントロール接続は、受動的、即ちエージェントのＰＣ上でカスタマーからのアクションができないか、または共同的、即ちエージェントのＰＣ上でカスタマーが例えば自分のマウスを動かして一連のテキストをタイプすることにより項目を示すことができる。
【０１１６】
本発明の方法のステップは、図６ａに先ず示され、この場合において、カスタマーは、オンラインウェブエンドユーザソフトウェアアプリケーション２００から機能的ウェブページ１２１を読み込む。過程は、カスタマーがエンドユーザソフトウェアアプリケーション２００で困難を経験し、サポートを求め、各機能的ウェブページ上に提供されたヘルプボタン２０上をクリックする時に開始する。
【０１１７】
カスタマーがヘルプボタン上をクリックする時に起動される埋め込まれたスクリプトまたはアプレットは、現在のウェブページのテキストボックス、ラジオボタン等１２５でカスタマーによって行われた入力から作られたコンテキストＩＤおよびクエリストリングで、アシスタンスサービスアプリケーションの待ちサーブレット３０を呼出す。
【０１１８】
待ちサーブレット３０は、要求を開始したカスタマーをヘルプするタスクをエージェントに割り当てるまで、待ちサーブレット３０上をリフレッシュする待ちページ８０を戻す。
【０１１９】
タスクを割り当てるために、エージェントは、ヘルプ要求を尋ねるために、同期サーブレット５０を呼出すアシスタンスサービスアプリケーションクライアント７０の選定取得ボタン７２上をクリックする必要がある。次いで、同期サーブレット５０は、
−コンテキストＩＤおよびクエリストリングをアシスタンスサービスアプリケーションクライアント７０に戻す。
−エージェントのＰＣへのトラフィックをトンネルで通す（tunnel）ためにトンネリングプロキシ６０を構成する。
【０１２０】
また、アシスタンスサービスアプリケーションクライアント７０は、
−リモートコントロールサーバのパスワードを変更する。
−リモートコントロールサーバ４３０を開始する。
−トンネリングサーバ４４０を開始する。
−以下によりエージェントを呼出す。
−カスタマーがヘルプボタン２０上をクリックしたＵＲＬ
−カスタマーのコンテキストＩＤ
−カスタマーのクエリストリング
【０１２１】
故に、エンドユーザによって使用されるウェブアプリケーションであるオンラインウェブエージェントソフトウェアアプリケーション２００は、エンドユーザのコンテキストでページを戻す。ページが読み込まれる時、スクリプト機能またはアプレットは、クエリストリングからそれを追加(populate)するために呼出され、故にそれは、カスタマーの画面上に表示されるページ１２１のクローン１２２になる。
【０１２２】
最後に、アシスタンスサービスアプリケーションクライアント７０は、同期サーブレット５０を呼出し、先のステップが問題なく完了し、ヘルプがカスタマーに提供できることを通知する。
【０１２３】
次いで、トンネリングサーバ４４０は、トンネリングプロキシ６０に接続する。待ちページを戻し続ける代わりに、ヘルプがアシスタンスサービスアプリケーションクライアント７０から提供できるという通知を同期サーブレット５０が受け取る時、待ちサーブレット３０は、リモートコントロールクライアントを実装し、アシスタンスサービスアプリケーションクライアント７０によって生成された一時的パスワードを含むパスワードパラメータで設定されたアプレット、例えばＶＮＣクライアントソフトウェアまたはビューアーと共に接続されたページを戻す。アプレットは、トンネリングプロキシ６０とトンネリングサーバ４４０との間のトンネルを介してリモートコントロールサーバ４３０に接続し、それによりエージェントのＰＣの画面を表示する。
【０１２４】
本発明の方法のステップはまた、図６ｂに示され、この場合において、カスタマーは、自分のＰＣ上で動作するエンドユーザソフトウェアアプリケーション１２０に関するヘルプを要求している。そのようなアプリケーションは、ローカルエンドユーザソフトウェアアプリケーション１２０として言及される。方法のステップは、考慮すべきウェブエンドユーザソフトウェアアプリケーション２００がないことを除いて同じである。代わりに、先に説明した通り、ローカルエンドユーザソフトウェアアプリケーション１２０がカスタマーによって動作されるコンテキストは、ローカル１６０で格納される。そのコンテンツは、エージェントソフトウェアアプリケーション４５０を動作するエージェントのＰＣ４００に転送される。エージェントソフトウェアアプリケーション４５０は、エンドユーザソフトウェアアプリケーション１２０のコピーまたは同じ機能性を有するので、カスタマーＰＣ１００上で発生した内容のクローン１２２は、エージェントのＰＣ４００上で再生成できる。エージェントは故に、上記説明した通り、同じ条件でエンドユーザを十分にサポートすることができる。
【０１２５】
故に、この実施形態において、過程は、カスタマーがローカルソフトウェアアプリケーション１２０で困難を経験し、ローカルエンドユーザソフトウェアアプリケーション１２０の各機能的ページ１２１上に提供されたヘルプボタン２０上をクリックする時に開始する。
【０１２６】
カスタマーがヘルプボタン上をクリックした時に起動される、埋め込まれたスクリプトまたはアプレットは、現在のページのテキストボックス、ラジオボタン等１２５でユーザによって行われた入力から作られたコンテキストＩＤおよびクエリストリングで、アシスタンスサービスアプリケーションの待ちサーブレット３０を呼出す。
【０１２７】
待ちサーブレット３０は、要求を開始したカスタマーをヘルプするタスクをエージェントに割り当てるまで、待ちサーブレット３０上でリフレッシュする待ちページ８０を戻す。
【０１２８】
タスクを割り当てるために、エージェントは、ヘルプ要求を尋ねるために同期サーブレット５０を呼出すアシスタンスサービスアプリケーションクライアント７０の選定取得ボタン上をクリックする必要がある。次いで、同期サーブレット５０は、
−アシスタンスサービスアプリケーションクライアント７０にコンテキストＩＤおよびクエリストリングを戻す。
−エージェントのＰＣへのトラフィックをトンネルで通すためにトンネリングプロキシ６０を構成する。
【０１２９】
また、アシスタンスサービスアプリケーションクライアント７０は、
−リモートコントロールサーバのパスワードを変更する。
−リモートコントロールサーバ４３０を開始する。
−トンネリングサーバ４４０を開始する。
−カスタマーのコンテキストＩＤとカスタマーのクエリストリングとでエージェントのコンピュータ４００上にインストールされたローカルエージェントソフトウェアアプリケーション４５０を動作する。
【０１３０】
故に、ローカルエージェントソフトウェアアプリケーション４５０は、カスタマーのコンテキストでページをエージェントの表示手段上に戻す。ページが読み込まれる時、スクリプト機能またはアプレットは、クエリストリングからそれを追加するために呼出され、故にそれは、カスタマーの画面上に表示されるページ１２１のクローン１２２になる。
【０１３１】
最後に、アシスタンスサービスアプリケーションクライアント７０は、同期サーブレット５０を呼出し、先のステップが問題なく完了し、ヘルプがカスタマーに提供できることを通知する。
【０１３２】
次いで、トンネリングサーバ４４０は、トンネリングプロキシ６０に接続する。待ちページを戻し続ける代わりに、ヘルプがアシスタンスサービスアプリケーションクライアント７０から提供できるという通知を同期サーブレット５０が受け取る時、待ちサーブレット３０は、リモートコントロールクライアントを実装し、アシスタンスサービスアプリケーションクライアント７０によって生成された一時的パスワードを含むパスワードパラメータで設定されるアプレット、例えばＶＮＣクライアントソフトウェアまたはビューアーと共に接続されたページを戻す。アプレットは、トンネリングプロキシ６０とトンネリングサーバ４４０との間のトンネルを介してリモートコントロールサーバ４３０に接続し、それによりエージェントのＰＣの画面を表示する。
【０１３３】
本発明は、パブリックネットワークを介してアシスタンスを提供するように特に適合されるが、プライベートネットワークを介して実装することもできる。
【０１３４】
上記使用の場合において、本発明は、コンピュータのセキュリティに関係なく、およびコンピュータに任意の面倒で特定のソフトウェアアプリケーションを予めインストールすることを必要とせずに、効率的なヘルプをエンドユーザに提供できるようにする。故に、本発明は、クライアントが例えば電話を介してアシスタンスを要求した後に、ヘルプボタン上をクリックすることにより、またはＵＲＬリンク上をクリックすることによりアシスタンスを要求しても、既存のオンラインアシスタンスおよび共同作業の解決策をかなり改善する。
【符号の説明】
【０１３５】
１００  カスタマーＰＣ
２００  オンラインウェブアプリケーション
３００  アシスタンスサービスウェブアプリケーション
４００  エージェントＰＣ
【図１ａ】
0005893641.tif 000002
【図１ｂ】
0005893641.tif 000003
【図２ａ】
0005893641.tif 000004
【図２ｂ】
0005893641.tif 000005
【図３ａ】
0005893641.tif 000006
【図３ｂ】
0005893641.tif 000007
【図４】
0005893641.tif 000008
【図５】
0005893641.tif 000009
【図６ａ】
0005893641.tif 000010
【図６ｂ】
0005893641.tif 000011