(57)【要約】【課題】  ホストされているアプリケーションをオンラインで利用するためにターミナルサービス（ＴＳ）アカウントおよびセッションを管理するためのシステム等を提供する。【解決手段】  システムは、利用可能なＴＳアカウントの供給をモニタし、この利用可能なＴＳアカウントの供給が最小数を下回っていることを検出すると、これに応答してＴＳアカウントを作成するように動作する。ＴＳセッションへのアクセス要求が検出されると、システムは、ユーザが信用証明書を入力することなくＴＳセッションへすぐにアクセスできるようにＴＳアカウントを提供する。提供されたＴＳアカウントは、アクセスを提供し、一意のプロファイルに関連付けられている。【選択図】  図５
2006107489.tif 000002
【特許請求の範囲】
【請求項１】
ホストされているアプリケーションをオンラインで利用するためにターミナルサービス（ＴＳ）アカウントを管理するための方法において、
利用可能なＴＳアカウントの供給、ＴＳアカウントに対する需要、およびそれぞれのＴＳアカウントのステータスのうちの少なくとも１つをモニタすることと、
利用可能なＴＳアカウントの前記供給がバッファレベルを下回っていることを検出したことに応答して１つまたは複数のＴＳアカウントを作成することであって、前記バッファレベルは、利用可能のステータスを有するＴＳアカウントの最小数を含むことと、
前記ホストされているアプリケーションのオンラインでの使用を提供するＴＳセッションにアクセスする際にＴＳアカウントを使用に供することであって、それぞれの提供されたＴＳアカウントは、一意のプロファイルに関連付けられていることと
を含み、
利用可能なＴＳアカウントの前記供給は、前記バッファレベルを下回るたびに補充され、これによって、オンラインのＴＳセッションを介して前記ホストされているアプリケーションを利用している複数のユーザに対して、ＴＳアカウントが利用可能である状態が保証されることを特徴とする方法。
【請求項２】
ＴＳセッションメトリクスを受信して保存することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ＴＳセッションが閉じられるときに前記ＴＳアカウントを使用状態から引き上げることをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記ＴＳアカウントを管理するためのアカウント制御パラメータ、時間パラメータ、およびアカウント情報パラメータのうちの少なくとも１つを受信して保存することをさらに含み、前記アカウント制御パラメータは、
作成されたそれぞれのＴＳアカウントに関連付けられている言語、
前記バッファレベル、および
利用可能なＴＳアカウントの前記供給が前記バッファレベルを下回っている場合に作成される複数のＴＳアカウントを含む一括作成値のうちの少なくとも１つを含み、
前記時間パラメータは、
アカウントを作成するためのＴＳアカウントの定期的な問合せ間における時間間隔の値を含む第１のポーリング頻度、
アカウントを消去するためのＴＳアカウントの定期的な問合せ間における時間間隔の値を含む第２のポーリング頻度、
ＴＳアカウントが提供されてから前記ＴＳアカウントが削除されるまでのタイムスパンを含むＴＳアカウント持続時間、
ＴＳアカウントが提供されてからＴＳセッション中にユーザに警告を提供するまでのタイムスパンを含む警告時間、および
ＴＳセッションの接続が解除される制限時間を含むＴＳセッション持続時間のうちの少なくとも１つを含み、
前記アカウント情報パラメータは、
利用可能、使用中、および消去のうちの１つを含む、作成されたそれぞれのＴＳアカウントに関連付けられているステータスであって、使用中のステータスは、前記ＴＳアカウントが提供されていることを示しており、消去のステータスは、前記アカウントに削除用としてタグが付けられていることを示しているステータス、
ＴＳアカウントに対する前記需要に応じて作成され、提供されたＴＳアカウントに関連付けられたユーザ名、
前記ＴＳアカウントに関連付けられ、前記ＴＳアカウント上で行われた削除の試行回数を追跡記録するために使用される「削除−再試行」フィールド、および
ＴＳアカウントに対する前記需要に応じて生成され、暗号化され、前記提供されたＴＳアカウントに関連付けられたパスワードのうちの少なくとも１つを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記ＴＳアカウントを作成することは、前記ホストされているアプリケーションが利用可能であるそれぞれの言語ごとに、言語用の利用可能なＴＳアカウントの供給が前記バッファレベルを下回っている場合に、その言語に関連付けられたＴＳアカウントを作成することを含むことを特徴とする請求項４に記載の方法。
【請求項６】
それぞれの言語は、別々の構成ユニットに関連付けられ、それぞれの構成ユニットごとに別々の制御パラメータおよび時間パラメータが受信され保存されることを特徴とする請求項５に記載の方法。
【請求項７】
前記ＴＳアカウントを作成することは、
前記第１のポーリング頻度を検出することと、
前記ホストされているアプリケーションが利用可能であるそれぞれの言語ごとに、
前記言語に関連付けられている前記バッファレベルを検索することと、
前記言語に関連付けられている前記ＴＳアカウントに前記第１のポーリング頻度で問合せを行うことと、
利用可能のステータスを有し、前記言語に関連付けられているＴＳアカウントの供給が、前記言語に関連付けられている前記バッファレベルを下回っているかどうかを判定することと、
前記言語に関連付けられ、利用可能のステータスを有するＴＳアカウントの前記供給が、前記言語に関連付けられている前記バッファレベルを下回っていることに応答して、前記言語に関連付けられている前記一括作成値に従ってＴＳアカウントを作成することと、
作成された前記ＴＳアカウントに関連付けられているアカウント情報を保存することと
をさらに含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記ＴＳアカウントを提供することは、ＴＳアカウントに対する前記需要に応じて前記ＴＳアカウントを提供することであって、前記需要は、前記ホストされているアプリケーションへのアクセス要求を含むことを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ＴＳアカウントを提供することは、
前記要求の言語と一致する言語に関連付けられているＴＳアカウントを探して、利用可能なＴＳアカウントの前記供給に問合せを行うことと、
前記言語に関連付けられている前記ＴＳアカウントのうちの１つのステータスを利用可能から使用中へ変更することと、
前記変更されたステータスを有する前記ＴＳアカウントの提供先となるＩＰアドレスを識別することと、
前記要求を行っているユーザのために信用証明書を提供および保存することと、
前記信用証明書を前記ユーザ用の一意のプロファイルに関連付けることと、
前記信用証明書を前記ＩＰアドレスへ送信することと、
前記信用証明書が前記ＩＰアドレスへ送信される時間を識別して保存することと
をさらに含み、
これによってユーザは、ＴＳアカウントにサインアップする必要なく、また認証を待つことなく、自分自身のプロファイルをすぐに作成させることを特徴とする請求項８に記載の方法。
【請求項１０】
前記ＴＳアカウントを使用状態から引き上げることは、
消去のステータスを有するＴＳアカウントを探して、前記ＴＳアカウント情報に問合せを行うことと、
前記消去のステータスを有するＴＳアカウントを検出したことに応答して、前記ＴＳアカウントのローミングプロファイルを削除し、前記ＴＳアカウントを削除することと、
使用中のステータスを有するＴＳアカウントを検出したことに応答して、前記使用中のステータスを有する前記ＴＳアカウント用の前記ＴＳセッションの持続時間が削除のタイムスパンに到達しているかどうかを判定することと、
前記ＴＳセッションの前記持続時間が前記削除のタイムスパンに到達していると判定したことに応答して、前記使用中のステータスを有する前記ＴＳアカウントのローミングプロファイルを削除し、前記使用中のステータスを有する前記ＴＳアカウントを削除することと
を含むことを特徴とする請求項３に記載の方法。
【請求項１１】
ホストされているアプリケーションをオンラインで利用するためにターミナルサービス（ＴＳ）アカウントを管理することをコンピュータに行わせるための制御論理を内部に保存したコンピュータ使用可能メディアを含むコンピュータプログラム製品であって、前記制御論理は、
利用可能なＴＳアカウントの供給、ＴＳアカウントに対する需要、およびそれぞれのＴＳアカウントのステータスのうちの少なくとも１つをモニタすることと、
利用可能なＴＳアカウントの前記供給がバッファレベルを下回っていることを検出したことに応答して１つまたは複数のＴＳアカウントを作成することであって、前記バッファレベルは、利用可能のステータスを有するＴＳアカウントの最小数を含み、利用可能なＴＳアカウントの前記供給は、前記バッファレベルを下回るたびに補充されることと
を前記コンピュータに行わせるためのコンピュータ可読プログラムコード手段を含むことを特徴とするコンピュータプログラム製品。
【請求項１２】
前記制御論理は、前記ホストされているアプリケーションのオンラインでの使用を提供するＴＳセッションにアクセスする際にＴＳアカウントを使用に供することであって、それぞれの提供されたＴＳアカウントは、一意のプロファイルに関連付けられていることを前記コンピュータに行わせるためのコンピュータ可読プログラムコード手段をさらに含むことを特徴とする請求項１１に記載のコンピュータプログラム製品。
【請求項１３】
前記制御論理は、
前記ＴＳセッションが閉じられるときに前記ＴＳアカウントを使用状態から引き上げることと、
ＴＳセッションメトリクスを受信して保存することと
を前記コンピュータに行わせるためのコンピュータ可読プログラムコード手段をさらに含むことを特徴とする請求項１２に記載のコンピュータプログラム製品。
【請求項１４】
前記ＴＳアカウントを作成することを前記コンピュータに行わせるための前記コンピュータ可読プログラムコード手段は、前記ホストされているアプリケーションが利用可能であるそれぞれの言語ごとに、言語用の利用可能なＴＳアカウントの供給が前記バッファレベルを下回っている場合に、その言語に関連付けられたＴＳアカウントを作成することを前記コンピュータに行わせるためのコンピュータ可読プログラムコード手段を含むことを特徴とする請求項１１に記載のコンピュータプログラム製品。
【請求項１５】
ホストされているアプリケーションをオンラインで利用するためにターミナルサービス（ＴＳ）アカウントを管理するためのシステムにおいて、
利用可能なＴＳアカウントの供給、ＴＳアカウントに対する需要、およびそれぞれのＴＳアカウントのステータスのうちの少なくとも１つをモニタすることと、
利用可能なＴＳアカウントの前記供給がバッファレベルを下回っていることを検出したことに応答して１つまたは複数のＴＳアカウントを作成することであって、前記バッファレベルは、利用可能のステータスを有するＴＳアカウントの最小数を含むことと、
前記ホストされているアプリケーションのオンラインでの使用を提供するＴＳセッションにアクセスする際にＴＳアカウントを使用に供することであって、それぞれの提供されたＴＳアカウントは、一意のプロファイルに関連付けられていることと
を行うように動作する第１のコンピュータを含み、
利用可能なＴＳアカウントの前記供給は、前記バッファレベルを下回るたびに補充され、これによって、オンラインのＴＳセッションを介して前記ホストされているアプリケーションを利用している複数のユーザに対して、ＴＳアカウントが利用可能である状態が保証されることを特徴とするシステム。
【請求項１６】
前記第１のコンピュータは、ＴＳセッションメトリクスを受信して保存することと、前記ＴＳセッションが閉じられるときに前記ＴＳアカウントを使用状態から引き上げることとを行うようにさらに動作することを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記第１のコンピュータは、前記ＴＳアカウントを管理するためのアカウント制御パラメータ、時間パラメータ、およびアカウント情報パラメータのうちの少なくとも１つを受信して保存することを行うようにさらに動作し、前記アカウント制御パラメータは、
作成されたそれぞれのＴＳアカウントに関連付けられている言語、
前記バッファレベル、および
利用可能なＴＳアカウントの前記供給が前記バッファレベルを下回っている場合に作成される複数のＴＳアカウントを含む一括作成値のうちの少なくとも１つを含み、
前記時間パラメータは、
アカウントを作成するためのＴＳアカウントの定期的な問合せ間における時間間隔の値を含む第１のポーリング頻度、
アカウントを消去するためのＴＳアカウントの定期的な問合せ間における時間間隔の値を含む第２のポーリング頻度、
ＴＳアカウントが提供されてから前記ＴＳアカウントが削除されるまでのタイムスパンを含むＴＳアカウント持続時間、
ＴＳアカウントが提供されてからＴＳセッション中にユーザに警告を提供するまでのタイムスパンを含む警告時間、および
ＴＳセッションの接続が解除される制限時間を含むＴＳセッション持続時間のうちの少なくとも１つを含み、
前記アカウント情報パラメータは、
利用可能、使用中、および消去のうちの１つを含む、作成されたそれぞれのＴＳアカウントに関連付けられているステータスであって、使用中のステータスは、前記ＴＳアカウントが提供されていることを示しており、消去のステータスは、前記アカウントに削除用としてタグが付けられていることを示しているステータス、
ＴＳアカウントに対する前記需要に応じて作成され、提供されたＴＳアカウントに関連付けられたユーザ名、および
ＴＳアカウントに対する前記需要に応じて生成され、暗号化され、前記提供されたＴＳアカウントに関連付けられたパスワードのうちの少なくとも１つを含むことを特徴とする請求項１５に記載のシステム。
【請求項１８】
前記第１のコンピュータは、前記ホストされているアプリケーションが利用可能であるそれぞれの言語ごとに、言語用の利用可能なＴＳアカウントの供給が前記バッファレベルを下回っている場合に、その言語に関連付けられたＴＳアカウントを作成することを行うように動作することを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記第１のコンピュータは、前記ＴＳアカウントを作成する際に、
前記第１のポーリング頻度を検出することと、
前記ホストされているアプリケーションが利用可能であるそれぞれの言語ごとに、
前記言語に関連付けられている前記バッファレベルを検索することと、
前記言語に関連付けられている前記ＴＳアカウントに前記第１のポーリング頻度で問合せを行うことと、
利用可能のステータスを有し、前記言語に関連付けられているＴＳアカウントの供給が、前記言語に関連付けられている前記バッファレベルを下回っているかどうかを判定することと、
前記言語に関連付けられ、利用可能のステータスを有するＴＳアカウントの前記供給が、前記言語に関連付けられている前記バッファレベルを下回っていることに応答して、前記言語に関連付けられている前記一括作成値に従ってＴＳアカウントを作成することと、
作成された前記ＴＳアカウントに関連付けられているアカウント情報を保存することと
を行うように動作することを特徴とする請求項１７に記載のシステム。
【請求項２０】
前記第１のコンピュータは、ＴＳアカウントに対する前記需要に応じて前記ＴＳアカウントを提供することであって、前記需要は、前記ホストされているアプリケーションへのアクセス要求を含むことを行うことを特徴とする請求項１５に記載のシステム。
【請求項２１】
前記第１のコンピュータは、前記ＴＳアカウントを提供する際に、
前記要求の言語と一致する言語に関連付けられているＴＳアカウントを探して、利用可能なＴＳアカウントの前記供給に問合せを行うことと、
前記言語に関連付けられている前記ＴＳアカウントのうちの１つのステータスを利用可能から使用中へ変更することと、
前記変更されたステータスを有する前記ＴＳアカウントの提供先となるＩＰアドレスを識別することと、
前記要求を行っているユーザの一意のプロファイルに関連付けられた信用証明書を提供および保存することと、
前記信用証明書を前記ＩＰアドレスへ送信することと、
前記信用証明書が前記ＩＰアドレスへ送信される時間を識別して保存することと
を行うようにさらに動作することを特徴とする請求項２０に記載のシステム。
【請求項２２】
第２のコンピュータをさらに含み、前記第２のコンピュータは、
ウェブページを介して前記ホストされているアプリケーションへの前記アクセス要求を受信することと、
前記ＩＰアドレスへ送信される前記信用証明書を復号することと、
前記ウェブページを介してユーザに前記信用証明書を提供することと
を行うように動作し、これによってＴＳアカウントが提供され、ＴＳセッションは、ユーザが信用証明書を入力することなく、前記ホストされているアプリケーションへのアクセスを提供することを特徴とする請求項２１に記載のシステム。
【請求項２３】
第３のコンピュータをさらに含み、前記第３のコンピュータは、ユーザの前記一意のプロファイルを受信して保存することを行うように動作することを特徴とする請求項２２に記載のシステム。
【請求項２４】
ホストされているアプリケーションをオンラインで評価するためにターミナルサービス（ＴＳ）セッションおよびＴＳアカウントを管理するための方法において、
前記ホストされているアプリケーションを評価するためにＴＳセッションへのアクセスを要求しているユーザに割り当てられたユーザ名を検出することと、
前記割り当てられたユーザ名に関連付けられている使用中のＴＳアカウントを特定することと、
前記特定されたＴＳアカウントに関連付けられている言語を識別することであって、前記言語は、前記ユーザがアクセスを要求した際の言語を含むことと、
特定されたＴＳアカウントに関連付けられている前記言語で前記ホストされているアプリケーションを起動することと
を含むことを特徴とする方法。
【請求項２５】
前記ホストされているアプリケーションの指定された特性および指定された機能を制限することをさらに含むことを特徴とする請求項２４に記載の方法。
【請求項２６】
前記ユーザが前記ＴＳセッションへのアクセスを要求した日付および時間のうちの少なくとも１つを検出することをさらに含むことを特徴とする請求項２４に記載の方法。
【請求項２７】
前記ホストされているアプリケーション用のエントリポイントとして機能するアセットを識別することと、前記識別されたアセットに基づいてヘルプコンテンツおよび前記ホストされているアプリケーションのうちの少なくとも１つを起動することとをさらに含むことを特徴とする請求項２４に記載の方法。
【請求項２８】
前記特定されたＴＳアカウントに関連付けられている時間パラメータを検出することをさらに含み、前記時間パラメータは、
前記ＴＳアカウントが提供されてから前記ＴＳアカウントが削除されるまでのタイムスパンを含むＴＳアカウント持続時間、
ＴＳアカウントが提供されてからＴＳセッション中にユーザに警告を提供するまでのタイムスパンを含む警告時間、および
ＴＳセッションの接続が解除される制限時間を含むＴＳセッション持続時間のうちの少なくとも１つを含むことを特徴とする請求項２４に記載の方法。
【請求項２９】
前記特定されたＴＳアカウントに関連付けられている前記言語に基づいてダイアログ情報を検索することと、前記ユーザが、前記制限されている指定された特性および前記制限されている指定された機能のうちの少なくとも１つの使用を試みたことに応答して、前記ダイアログ情報を前記ユーザに提供することと
をさらに含むことを特徴とする請求項２５に記載の方法。
【請求項３０】
前記ホストされているアプリケーションが起動される時間を検出することをさらに含むことを特徴とする請求項２６に記載の方法。
【請求項３１】
前記ホストされているアプリケーションが閉じられているかどうかを判定することと、
前記ホストされているアプリケーションが閉じられていることに応答して、前記ＴＳセッションの接続を解除することと、
前記ＴＳアカウントのステータスを使用中から消去へ変更することと
をさらに含むことを特徴とする請求項３０に記載の方法。
【請求項３２】
前記ホストされているアプリケーションが閉じられていることに応答して、
前記ＴＳセッションの接続が解除される時間を検出することと、
前記ユーザが前記ＴＳセッションへのアクセスを要求した時間と前記ホストされているアプリケーションが起動される時間との時間差を計算することと、
セッションメトリクスを保存することと、
前記ＴＳセッションからログアウトすることと
をさらに含むことを特徴とする請求項３１に記載の方法。
【請求項３３】
前記ＴＳセッション持続時間に到達しているかどうかを判定することと、
前記ＴＳ持続時間に到達していると判定したことに応答して、前記ホストされているアプリケーションを閉じることと
をさらに含むことを特徴とする請求項２８に記載の方法。
【請求項３４】
前記警告時間に到達しているかどうかを判定することと、
前記警告時間に到達していると判定したことに応答して、警告メッセージを提供することとをさらに含むことを特徴とする請求項２８に記載の方法。
【請求項３５】
前記セッションメトリクスを保存することは、
前記ユーザが前記ＴＳセッションへのアクセスを要求した日付、
前記ユーザが前記ＴＳセッションへのアクセスを要求した時間、
前記ＴＳアカウントが提供された時間、
前記ホストされているアプリケーションが起動される時間、
前記ユーザが前記ＴＳセッションへのアクセスを要求した時間と、前記ホストされているアプリケーションが起動される時間との時間差、
前記ＴＳセッションの接続が解除される時間、
前記ＴＳセッションの接続が解除される時間と、前記ユーザが前記ＴＳセッションへのアクセスを要求した時間との時間差、
前記特定されたＴＳアカウントに関連付けられている言語、
前記ＴＳアカウントを特定する前記アセットの識別子、
前記ユーザが前記ＴＳセッションにアクセスした際の起点であるＩＰアドレス、および
前記ＴＳセッション用に利用されたターミナルサーバの名前のうちの少なくとも１つを保存することを含むことを特徴とする請求項３２に記載の方法。
【請求項３６】
ホストされているアプリケーションをオンラインで利用するためにターミナルサービス（ＴＳ）セッションおよびＴＳアカウントを管理することをコンピュータに行わせるための制御論理を内部に保存したコンピュータ使用可能メディアを含むコンピュータプログラム製品であって、前記制御論理は、
前記ホストされているアプリケーションを評価するためにＴＳセッションへのアクセスを要求しているユーザに割り当てられたユーザ名を検出することと、
前記割り当てられたユーザ名に関連付けられている使用中のＴＳアカウントを特定することと、
前記特定されたＴＳアカウントに関連付けられている言語を識別することであって、前記言語は、前記ユーザがアクセスを要求した際の言語を含むことと、
特定されたＴＳアカウントに関連付けられている前記言語で前記ホストされているアプリケーションを起動することと
を前記コンピュータに行わせるためのコンピュータ可読プログラムコード手段を含むことを特徴とするコンピュータプログラム製品。
【請求項３７】
前記制御論理は、前記ホストされているアプリケーションの指定された特性および指定された機能を制限することを前記コンピュータに行わせるためのコンピュータ可読プログラムコード手段をさらに含むことを特徴とする請求項３６に記載のコンピュータプログラム製品。
【請求項３８】
前記制御論理は、前記ユーザが前記ＴＳセッションへのアクセスを要求した日付および時間のうちの少なくとも１つを検出することを前記コンピュータに行わせるためのコンピュータ可読プログラムコード手段をさらに含むことを特徴とする請求項３６に記載のコンピュータプログラム製品。
【請求項３９】
前記制御論理は、前記ホストされているアプリケーション用のエントリポイントとして機能するアセットを識別することと、前記識別されたアセットに基づいてヘルプコンテンツおよび前記ホストされているアプリケーションのうちの少なくとも１つを起動することとを前記コンピュータに行わせるためのコンピュータ可読プログラムコード手段をさらに含むことを特徴とする請求項３６に記載のコンピュータプログラム製品。
【請求項４０】
前記制御論理は、前記特定されたＴＳアカウントに関連付けられている時間パラメータを検出することを前記コンピュータに行わせるためのコンピュータ可読プログラムコード手段をさらに含み、前記時間パラメータは、
前記ＴＳアカウントが提供されてから前記ＴＳアカウントが削除されるまでのタイムスパンを含むＴＳアカウント持続時間、
ＴＳアカウントが提供されてからＴＳセッション中にユーザに警告を提供するまでのタイムスパンを含む警告時間、および
ＴＳセッションの接続が解除される制限時間を含むＴＳセッション持続時間のうちの少なくとも１つを含むことを特徴とする請求項３６に記載のコンピュータプログラム製品。
【請求項４１】
前記制御論理は、前記特定されたＴＳアカウントに関連付けられている前記言語に基づいてダイアログ情報を検索することと、前記ユーザが、前記制限されている指定された特性および前記制限されている指定された機能のうちの少なくとも１つの使用を試みたことに応答して、前記ダイアログ情報を前記ユーザに提供することとを前記コンピュータに行わせるためのコンピュータ可読プログラムコード手段をさらに含むことを特徴とする請求項３７に記載のコンピュータプログラム製品。
【請求項４２】
前記制御論理は、
前記ホストされているアプリケーションが起動される時間を検出することと、
前記ホストされているアプリケーションが閉じられているかどうかを検出することと、
前記ホストされているアプリケーションが閉じられていることに応答して、前記ＴＳセッションの接続を解除することと、
前記ＴＳアカウントのステータスを使用中から消去へ変更することと
を前記コンピュータに行わせるためのコンピュータ可読プログラムコード手段をさらに含むことを特徴とする請求項３８に記載のコンピュータプログラム製品。
【請求項４３】
前記制御論理は、前記ホストされているアプリケーションが閉じられていることに応答して、
前記ＴＳセッションの接続が解除される時間を検出することと、
前記ユーザが前記ＴＳセッションへのアクセスを要求した時間と前記ホストされているアプリケーションが起動される時間との時間差を計算することと、
セッションメトリクスを保存することと、
前記ＴＳセッションからログアウトすることと
を前記コンピュータに行わせるためのコンピュータ可読プログラムコード手段をさらに含むことを特徴とする請求項４２に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、１つまたは複数のターミナルサービス用のターミナルサービスセッションおよびアカウントを管理することに関する。より詳細には、本発明は、ユーザがアカウントにサインアップすることなく、および／またはホストされているアプリケーションをユーザのコンピュータにダウンロードすることなく、ホストされているアプリケーションのオンラインでの評価または試用を管理することに関する。
【背景技術】
【０００２】
潜在的な顧客に対してソフトウェアアプリケーションを評価または試用する機会を提供することは、ソフトウェアメーカにとって売上高の増大につながる可能性がある。しかしソフトウェア製品の体験版を入手およびインストールするのに要する労力のために、潜在的な購入者は、時間やシステムリソースを投入することを思いとどまる可能性がある。さらにユーザは、自分のシステムに対する潜在的なリスクのために、不慣れなソフトウェアをインストールすることを躊躇する場合が多い。これは、潜在的な購入者が、ある製品のバージョンに関する知識をあまり持ち合わせておらず、その期待できる価値について確信を持てそうにない場合に、特に当てはまる。アプリケーションの体験版を提供するための１つの選択肢は、体験版のＣＤを郵送することである。この選択肢は、通常は高価であり、拡張性がなく、著作権の侵害に対する脆弱性をソフトウェアに残すことになる。ＣＤの別の欠点は、ターゲットのユーザのうちどの程度の割合が体験版の製品を受け取り、実際にインストールしたかを追跡把握するための手段が提供されないことである。
【０００３】
ターミナルサービス（ＴＳ）は、クライアントと連携して機能し、処理負荷の多くがクライアントからサーバへ移行されるネットワークベースのクライアント／サーバコンピューティング環境を提供する。クライアントおよびターミナルサーバは、いわゆるシンクライアントコンピューティング環境において動作する。ＴＳは、サーバのオペレーティングシステムの一コンポーネントであり、これによってサーバへのリモートアクセスが可能となる。この環境におけるサーバは、複数のユーザ用のＴＳセッションおよびアプリケーションを同時に管理しなければならない。しかし従来のＴＳプラットフォームでは、ユーザは、アカウントにサインアップするために登録を行うか、またはソフトウェアの体験版を自己認証してダウンロードする必要がある。
【０００４】
従来のＴＳプラットフォームでは、それぞれのユーザからサインアップの入力を受け取ってユーザごとに個人的なプロファイルを確立するのではなく、複数のユーザが同じプロファイルを共有する必要がある。したがって同じデスクトップ環境および／または同じプロファイルフォルダを使用している複数のユーザは、互いのドキュメントに相互に影響を与えること、および互いの不審なコンテンツを送信することを開始することができる。同じプロファイルを使用している複数のユーザに関連するウイルスなどの他のセキュリティリスクも存在する。従来のＴＳプラットフォームでは、カスタムコード化されたメトリクス(custom-coded metrics)を分析用に記録させる機能も提供されない。
【０００５】
従来のＴＳプラットフォームの別の欠点は、ウェブページからＴＳセッションへカスタムデータを渡す機能も提供されず、ロックダウンされたセッション(locked down session)も提供されないことである。ロックダウンされたセッションによって、ユーザは、ホストされているアプリケーションが実行されているシステムに影響を与えることができない。ＴＳでは、アカウントを作成して、ユーザに与えなければならない。次いでユーザは、信用証明書(credentials)を打ち込み、接続をクリックし、適切なサーバを指し示さなければならない。従来のＴＳプラットフォームはコード化することができ、これによってＴＳのフロントページは所与のサーバを指し示し、アカウントはハードコード化(hard coded)することができる。しかしそのページにヒットするすべてのユーザが同じアカウントおよび同じプロファイルを使用するという問題は、依然として存在する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上述の考察およびその他の考察に関連して作成されたものである。
【課題を解決するための手段】
【０００７】
本発明の実施形態は、ホストされているアプリケーションをオンラインで利用または評価するためにターミナルサービス（ＴＳ）アカウントおよびセッションを管理するための方法、システム、およびコンピュータ可読メディアを提供する。本発明は、ＴＳ対応型のアクティブディレクトリアカウント(TS-enabled Active Directory account)を事前に自動的に作成して提供するアカウント管理システム（ＡＭＳ）に関する。このシステムは、任意の所与の言語で利用可能なアカウントの数をモニタするアカウントモニタリングサービスを有する。環境内において任意の所与の言語で利用可能なアカウントが少なくなっていることをアカウントモニタリングサービスが検出すると、ＡＭＳは、その該当する言語用に複数のアカウントを自動的に作成および構成する。
【０００８】
第２に、本発明の実施形態は、オンラインでホストされるアプリケーションサービスを提供し、これによって、ホストされているアプリケーションの機能をブロックし、セッションメトリクスを追跡記録して保存し、ＴＳセッションの長さを制限し、警告時にカスタムメッセージを提供することができる。このオンラインでホストされるアプリケーションサービスはまた、ＴＳアカウントデータベースを更新して、消去の準備が整っているものとしてアカウントにフラグを立てる。アカウントは、ユーザがログインした直後に無効にされる。したがってユーザは、自分のセッションが終了した後、アカウントが消去される前に、再びアカウントにログインすることはできない。この機能は、すべてのＴＳセッション内で実行されるよう強制されるＴＳアプリケーションによって提供される。このＴＳコントローラによって、ホストされている評価ＴＳセッション(hosted evaluation TS sessions)中にロックダウンされたＴＳセッション要素(locked down TS session elements)のきめ細かい制御が可能となる。
【０００９】
１つの実施形態は、ホストされているアプリケーションをオンラインで利用するためにＴＳアカウントを管理する方法である。この方法は、利用可能なＴＳアカウントの供給、ＴＳアカウントに対する需要、および／またはそれぞれのＴＳアカウントのステータスをモニタするステップを含む。利用可能なＴＳアカウントの供給が、利用可能のステータスを有するＴＳアカウントの最小数を下回っていることを検出すると、これに応答して、より多くのＴＳアカウントが作成される。利用可能のステータスを有するＴＳアカウントの最小数は、バッファレベルと呼ばれる。利用可能なアカウントの数が所与の言語用のバッファレベルを下回るたびに、その言語用に事前に設定された数のアカウントが一括して作成される。したがってオンラインのＴＳセッションを介してホストされているアプリケーションを利用している複数のユーザに対して、ＴＳアカウントの利用可能度が保証される。
【００１０】
この方法はまた、ＴＳセッションにアクセスする際に使用するためのＴＳアカウントを提供するステップを含み、提供されたそれぞれのＴＳアカウントは、ユーザのために作成された一意のプロファイルに関連付けられている。このＴＳセッションは、ホストされているアプリケーションのオンラインでの使用を提供する。この方法はまた、ＴＳセッションが閉じられるときにＴＳアカウントを使用状態から引き上げる(de-provision)ステップを含むことができる。
【００１１】
別の実施形態は、ホストされているアプリケーションをオンラインで利用するためにＴＳアカウントを管理するためのシステムである。このシステムは、利用可能なＴＳアカウントの供給、ＴＳアカウントに対する需要、および／またはそれぞれのＴＳアカウントのステータスをモニタするように動作する第１のコンピュータを含む。この第１のコンピュータはまた、利用可能なＴＳアカウントの供給が、利用可能のステータスを有するＴＳアカウントの最小数であるバッファレベルを下回っていることを検出すると、これに応答してＴＳアカウントを作成するように動作する。利用可能なＴＳアカウントの供給は、バッファレベルを下回るたびに補充される。またさらに、ホストされているアプリケーションを使用するためにＴＳセッションにアクセスしたいというユーザからの要求が検出されると、第１のコンピュータは、そのユーザが信用証明書を入力したり何らかの認証が長引いたりすることなくＴＳセッションにすぐにアクセスできるようＴＳアカウントを提供するように動作する。ＴＳセッションは、ホストされているアプリケーションのオンラインでの使用を提供する。提供されたＴＳアカウントは、ＴＳセッションへのアクセスを提供し、一意のプロファイルに関連付けられている。
【００１２】
さらにこのシステムは、ウェブページを介してホストされているアプリケーションへのアクセス要求を受信し、ユーザのためにＩＰアドレスへ送信される信用証明書を復号するように動作する第２のコンピュータを含む。そしてこの第２のコンピュータは、ウェブページを介してユーザに信用証明書を提供する。ＴＳセッションにアクセスするためにＴＳアカウントが提供され、このＴＳセッションは、ユーザが信用証明書を入力することなく、ホストされているアプリケーションへのアクセスを提供する。このシステムはまた、ユーザのアクセス要求に応答して提供されるＴＳアカウントに関連付けられたユーザの一意のプロファイルを受信して保存するように動作する第３のコンピュータを含むこともできる。
【００１３】
さらに別の実施形態は、ホストされているアプリケーションをオンラインで評価するためにＴＳセッションおよびＴＳアカウントを管理するための方法である。この方法は、ホストされているアプリケーションを評価するためにＴＳセッションへのアクセスを要求しているユーザに割り当てられたユーザ名を読み取るステップを含む。この方法は、割り当てられたユーザ名に関連付けられている使用中のＴＳアカウントを特定するステップと、特定されたＴＳアカウントに関連付けられている言語を識別するステップとをさらに含む。この言語は、ユーザがアクセスを要求した際の、およびホストされているアプリケーションがユーザに提供される際の言語を含む。そしてこの方法は、特定されたＴＳアカウントに関連付けられている言語でホストされているアプリケーションを起動するステップを含む。
【００１４】
本発明の態様は、コンピュータプロセス、コンピューティングシステム、あるいはコンピュータプログラム製品やコンピュータ可読メディアなどの製品として実装することができる。このコンピュータプログラム製品は、コンピュータシステムによって読み取ることができ、コンピュータプロセスを実行するための命令のコンピュータプログラムをコード化しているコンピュータストレージメディアとすることができる。このコンピュータプログラム製品は、コンピュータシステムによって読み取ることができ、コンピュータプロセスを実行するための命令のコンピュータプログラムをコード化している、搬送波上で伝搬される信号とすることもできる。
【００１５】
本発明を特色付けるこれらおよび他の特徴ならびに利点は、以降の詳細な説明を読み、関連する図面を検討すれば、明らかになるであろう。前述の概要および後述の詳細な説明は、双方とも例示的かつ説明的なものにすぎず、特許請求される本発明を限定するものではないことを理解されたい。
【発明を実施するための最良の形態】
【００１６】
簡単に前述したように、本発明の実施形態は、ホストされているアプリケーションをオンラインで利用および／または評価するためにＴＳアカウントおよびセッションを管理するためのシステム、方法、およびコンピュータ可読メディアを対象とする。以降の詳細な説明では、本明細書の一部を形成する添付の図面を参照し、そこには実例として具体的な実施形態や実施例が示されている。本発明の趣旨や範囲から逸脱することなく、これらの実施形態を組み合わせることができ、他の実施形態を利用することができ、また構造的な変更を実施することができる。したがって以降の詳細な説明は、限定的な意味に解釈すべきではなく、本発明の範囲は、添付の特許請求の範囲およびその均等物によって定義される。
【００１７】
図面では、複数の図を通じて同様の数字は同様の要素を表しており、次いでこれらの図面を参照して、本発明の態様および例示的な動作環境について説明する。図１〜４および以降の考察は、本発明の実施形態を実装できる適切なコンピューティング環境の簡潔な概要を提供することを意図している。ホストされているアプリケーションをオンラインで利用および／または評価するためにＴＳアカウントおよびセッションを管理する上で実行するプログラムモジュールという一般的なコンテキストにおいて本発明を説明するが、本発明は他のプログラムモジュールと組み合わせて実装することもできることを当業者なら認識するであろう。
【００１８】
一般にプログラムモジュールは、特定のタスクを実行したり特定の抽象データ型を実装したりするルーチン、オペレーション、プログラム、コンポーネント、データ構造、および他のタイプの構造を含む。さらに本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成と共に実施できることを当業者なら理解するであろう。本発明は、通信ネットワークを介してリンクされるリモート処理デバイスによってタスクが実行される分散コンピューティング環境において実施することもできる。分散コンピューティング環境では、プログラムモジュールは、ローカルメモリストレージデバイスおよびリモートメモリストレージデバイスの双方に配置することができる。
【００１９】
図１は、本発明の例示的な一実施形態によるアカウント管理システム（ＡＭＳ）サーバ１０７とターミナルサービス（ＴＳ）環境１００の間の対話を示すハイレベルな図である。ＴＳ環境１００は、ＴＳサーバ１１０ａを有するターミナルサーバファーム１１０と、ＡＭＳバックアップサーバ１０７’を有するＡＭＳサーバ１０７と、ローミングプロファイル１１４を保管するユーザプロファイルファイルストレージサーバ１１２と、ウェブサーバ１０４とを含む。ウェブサーバ１０４は、ウェブページ１１７をフロントエンド１０５に提供し、フロントエンド１０５では、ユーザ１０２が、自分のコンピューティングデバイスおよびポート１０８を介してネットワーク経由でウェブページ１１７とインターフェースで接続されている。ウェブページ１１７によって、ユーザ１０２は、フロントエンドネットワーク１２０を介してターミナルサーバファーム１１０にアクセスすることができる。ウェブページ１１７は、ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎによるＭｉｃｒｏｓｏｆｔ  ＡＳＰ  ＮＥＴのファイルである「ａｓｐｘ」などのアクティブサーバページ（ＡＳＰ）である。ウェブページ１１７は、ユーザ１０２用に提供された適切な言語の利用可能なＴＳアカウントを自動的に検索し、それらの提供されたＴＳアカウントを使用して、ホストされているアプリケーション１１１が常駐するターミナルサーバファーム１１０にアクセスする。ＴＳサーバファーム１１０およびＡＭＳ１０７を使用するユーザ１０２用のローミングプロファイル１１４は、バックエンドネットワーク１２２を介してアクセスされるファイルサーバ１１２上に保存される。ローミングプロファイル１１４は、とりわけレジストリの設定、アプリケーションデータ、およびユーザのドキュメントを含む。ローミングプロファイル１１４はまた、標準的なプロファイルが含むものは何でも、何らかのサンプルドキュメントを追加して含むことができる。利用可能な、すなわち「空いている」ＴＳアカウントを作成するステップ、およびＴＳアカウントを使用に供するステップに関するさらなる詳細については、図５〜７に関連して後述する。
【００２０】
次に図２を参照して、本発明の例示的な一実施形態によるＡＭＳサーバ１０７用のコンピューティングシステムアーキテクチャについて説明する。ＡＭＳサーバ１０７は、ＴＳアカウントおよび関連するデータを保存するデータベース２１８、たとえばＳＱＬデータベースと、中央処理装置（ＣＰＵ）２１０と、システムメモリ２０２と、システムメモリ２０２を処理装置２１０に結合するシステムバス２５２とを含むＳＱＬサーバなどのコンピューティングシステムである。システムメモリ２０２は、読み取り専用メモリ（ＲＯＭ）２０６およびランダムアクセスメモリ（ＲＡＭ）２０４を含む。起動中などにＲＭＳ１６０内の要素間における情報伝達を補助する基本ルーチンを含む基本入出力システム２０８（ＢＩＯＳ）が、ＲＯＭ２０６内に格納されている。ＡＭＳサーバ１０７は、オペレーティングシステム２１６と、アカウントマネージャアプリケーション２５０と、データベースパラメータ用に許可された値を記述するためのドメインコントローラ２２７とを格納するための大容量ストレージデバイス（ＭＳＤ）２１４をさらに含む。
【００２１】
ＭＳＤ２１４はまた、構成ユニット（ＯＵ）ファイル２２０ａ〜２２０ｎを保存するデータベース２１８を格納することができる。ここでのｎは、ＡＭＳがサポートするホストされているアプリケーション間におけるそれぞれの言語および／またはバリエーションごとに存在する個々の構成ユニットの数である。アクティブディレクトリアカウントオブジェクトは、構成ユニットのそれぞれにおいて作成される。この設計によって、必要に応じて所与の言語および／またはバリエーションでの迅速なアカウント作成が可能となる。それぞれの構成ユニットファイル２２０は、ＯＵファイル２２０ａ用のアカウントオブジェクト２１９ａ〜２１９ｘなど、それぞれのＴＳアカウントごとにアカウントオブジェクトを保存する。ＯＵファイル２２０はまた、ＴＳアカウントがサポートする言語、ＴＳアカウントがいくつ作成されるか、より多くのＴＳアカウントが作成される前に許可されているＴＳアカウントの最小数はいくつかなど、アカウントの特徴を指定するためのアカウント制御パラメータ２２４ａ〜２２４ｎを保存する。アカウント制御パラメータに関するさらなる詳細については、図４および６に関連して後述する。
【００２２】
データベース２１８はまた、制限時間、および／または利用可能なＴＳアカウントの量、ＴＳセッションおよびＴＳアカウント用の制限持続時間、ならびに警告通知前のＴＳセッションの使用をチェックするためにＯＵファイル２２０をポーリングする頻度などのアカウントを管理する頻度を指定するための時間パラメータ２２５を保存する。データベース２１８はまた、セッションメトリクス２２８およびアカウント情報パラメータを保存する。時間パラメータ２２５、セッションメトリクス２２８、およびアカウント情報パラメータに関するさらなる詳細については、図４、７、８ａ〜８ｂ、および９に関連して後述する。
【００２３】
ＭＳＤ２１４は、システムバス２５２に接続された大容量ストレージコントローラ（図示せず）を介してＣＰＵ２１０に接続されている。ＭＳＤ２１４およびその関連するコンピュータ可読メディアは、ＡＭＳサーバ１０７用の不揮発性の記憶を提供する。本明細書に含まれるコンピュータ可読メディアの説明は、ハードディスクやＣＤ−ＲＯＭドライブなどの大容量ストレージデバイスを指しているが、コンピュータ可読メディアは、ＣＰＵ２１０がアクセスできる利用可能な任意のメディアとすることができることを当業者なら理解するはずである。
【００２４】
たとえばコンピュータ可読メディアは、コンピュータストレージメディアおよび通信メディアを含むことができるが、それらには限定されない。コンピュータストレージメディアは、コンピュータ可読命令、データ構造、プログラムモジュール、他のデータなどの情報を記憶するための任意の方法または技術において実装される揮発性メディアおよび不揮発性メディア、ならびに取り外し式メディアおよび固定式メディアを含む。コンピュータストレージメディアは、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のソリッドステートメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ、または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは希望の情報を記憶するために使用可能で、ＣＰＵ２１０によってアクセス可能な他の任意のメディアを含むが、これらには限定されない。
【００２５】
通信メディアは通常、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波や他の伝送メカニズムなどの変調されたデータ信号内の他のデータを具体化し、任意の情報伝達メディアを含む。「変調されたデータ信号」という用語は、情報をその信号内で符号化するような方法で設定または変更されたその特性の１つまたは複数を有する信号を意味する。たとえば通信メディアは、有線ネットワークや直接有線接続などの有線メディアと、音波メディア、ＲＦメディア、赤外線メディア、および他の無線メディアなどの無線メディアとを含むが、これらには限定されない。また上記のいずれの組合せも、コンピュータ可読メディアの範囲内に含まれるものである。コンピュータ可読メディアは、コンピュータプログラム製品と呼ばれることもある。
【００２６】
本発明のさまざまな実施形態によれば、ＡＭＳサーバ１０７は、インターネット、イントラネット、ローカルエリアネットワーク（ＬＡＮ）などのネットワーク１２０および１２２を介したリモートコンピュータへの論理接続を使用して、図１に示されているようなネットワーク化された環境内で動作する。ＡＭＳ１０７は、システムバス２５２に接続されたネットワークインターフェースユニット２１２を介してネットワーク１２０に接続することができる。ネットワークインターフェースユニット２１２は、他のタイプのネットワークおよびリモートコンピュータシステムに接続するために利用することもできることが理解できるはずである。ＡＭＳ１０７は、キーボードやマウス（図示せず）を含む複数の他のデバイスから入力を受け取って処理するための入力／出力コントローラ２２４を含むこともできる。同様に入力／出力コントローラ２２４は、ディスプレイスクリーン、プリンタ、あるいは他のタイプの出力デバイスに出力を提供することができる。ＡＭＳサーバ１０７の動作に関するさらなる詳細については、図３〜９に関連して後述する。
【００２７】
図３は、本発明の例示的な一実施形態による図２のＡＭＳサーバ１０７と通信状態にあるサーバファーム１１０内のＴＳサーバ１１０ａ用のコンピューティングシステムアーキテクチャを示す図である。ＴＳサーバ１１０ａは、図２に関連して前述したコンポーネントと同様のコンポーネントを含むＴＳコンピューティングシステムである。ＴＳサーバ１１０ａはまた、オペレーティングシステム３１６と、ターミナルサービスコントローラ３０７と、ホストされているアプリケーション１１１と、ホストされているアプリケーション１１１をユーザに提供する際に適切な言語を適用するための言語パック３０２とを格納するＭＳＤ３１４を含む。
【００２８】
個々のＯＵは、ホストされているアプリケーション１１１のローカライズされたそれぞれのバージョンに適用されるグループポリシーに対するきめ細かい制御を可能にするために、サポートされる言語ごとに作成される。これは多くの場合に有用であり、依然としてＴＳサーバ１１０のセットを活用してすべての言語を提供しつつも、ホストされているアプリケーション１１１が提供される際に使用されるそれぞれの言語のニーズにマッチするカスタマイズされた経験を可能とする。この機能の１つの具体例は、言語パック３０２を適用するために、それぞれのＯＵごとにログインスクリプトを作成することである。この結果、適切な言語の言語パックが、それぞれのＯＵ内のユーザＴＳアカウントに適用される。詳細に前述したＯＵの設計をログオンスクリプト機能と組み合わせれば、所与のＴＳファームを活用して、サポートされるすべての言語のユーザにサービスを提供できることになる。この設計によって、空いているすなわち利用可能なＴＳアカウントは、そのＴＳアカウントを必要としているユーザのいずれのセットにも割り当てることができ、これによってハードウェアの使用を最適化することができる。サポートされる言語用の言語パック１１１は、ＴＳサーバファーム１１０内のそれぞれのＴＳサーバ上にインストールされる。
【００２９】
簡単に前述したように、ＴＳサーバ１１０ａは、ＴＳコントローラ３０７を格納している。ＴＳコントローラ３０７は、ＴＳサーバファーム１１０内のそれぞれのＴＳサーバ上に格納されていることが理解できるはずである。ＴＳコントローラ３０７は、オンラインＴＳでホストされるアプリケーションであり、これは、ホストされているアプリケーション１１１の機能をブロックし、セッションメトリクスを追跡記録し、ＴＳセッションの長さを制限し、警告時にカスタムメッセージを提供し、アカウントデータベースを更新して、消去の準備が整っているものとしてアカウントにフラグを立てることができる。この機能は、すべてのＴＳセッションでＴＳコントローラ３０７を始動するようにグループポリシーを設定することによって提供することができる。ＴＳコントローラは、同じサーバ上の別々のホストされているアプリケーション用に別々に割り当てられた制限時間を管理するように動作する。グループポリシーは、所与のホストされているアプリケーションに関してサーバごとに異なる制限時間を許可するが、試用または使用ごとに異なる制限時間は許可しない。したがって別々のマーケティング用の試用は、ＴＳコントローラを使用して別々の制限時間をそれぞれ指定することができる。ＴＳコントローラは、見えないように実行され、いかなるユーザ入力も受け付けないように設計されている。ＴＳコントローラ３０７に関するさらなる詳細については、図８ａ〜８ｂに関連して後述する。
【００３０】
次に図４を参照して、本発明の例示的な一実施形態によるＡＭＳデータベース２１８のパラメータフィールドを示すブロック図について説明する。図２に関連して簡単に前述したように、データベース２１８は、それぞれのＯＵ用のアカウント制御パラメータ２２４、時間パラメータ２２５、アカウント情報パラメータ２２２、およびセッションメトリクス２２８を保存する。以降は、ＴＳアカウントのデータ要素を保存するためのパラメータフィールドに関する詳細な説明である。
【００３１】
（ＴＳアカウント制御パラメータ）
アカウント制御パラメータ、たとえば２２０ａは、言語パラメータ４０２を含み、これは、ホストされているアプリケーション１１１が、ユーザが信用証明書によってＴＳセッションにログインする際にＡＭＳによって提供される上で、またデータベース２１８内のレコードの所与のフィールド内の言語パラメータによって記述される上で使用される言語を表す。ＡＭＳがより多くのＴＳアカウントを作成する前にＯＵ内に存在できる利用可能のステータスを有するＴＳアカウントの最小数を表すバッファレベル４０４も含まれる。またさらに、アカウント制御パラメータは一括作成パラメータ(bulk create parameter)４０５も含む。この一括作成パラメータ４０５は、より多くのＴＳアカウントを作成する必要があることをＡＭＳが検出した場合に所与のＯＵおよび／または言語用に作成されるＴＳアカウントの数を表す。
【００３２】
時間パラメータ２２５は、より多くのＴＳアカウントを作成すべきかどうかを検知するためにＴＳアカウントの定期的な問合せをどの程度の時間間隔で行うかの値を表すポーリング頻度４０７と、いずれかのＴＳアカウントを消去すなわち削除すべきかどうかを検知するためにＴＳアカウントの定期的な問合せをどの程度の時間間隔で行うかの値を表すポーリング頻度４０８と、ＴＳアカウントが提供されてからその提供されたＴＳアカウントが削除されるまでのタイムスパンを表すＴＳアカウント持続時間４１０とを含む。時間パラメータ２２５は、ＴＳアカウントが提供されてからＴＳセッション中にユーザに警告を提供するまでのタイムスパンを表す警告時間４１２と、ＴＳセッションの接続が解除される制限時間を表すＴＳセッション持続時間４１４とをさらに含む。
【００３３】
（アカウント情報パラメータ）
アカウント情報パラメータ２２２は、それぞれのアカウントに関連付けられたレコードまたはテーブルを構成する。アカウント情報パラメータは、作成されたＴＳアカウントに関連付けられているステータス４１８を含み、これは、そのＴＳアカウントが利用可能か、使用中か、または消去用として指定されているかを表す。「空いている」というステータスは、そのＴＳアカウントが使用に供する上で空いているすなわち利用可能であることを示しており、「使用中」というステータスは、そのＴＳアカウントが提供されていることを示しており、「消去」というステータスは、そのＴＳアカウントに削除用としてタグが付けられていることを示している。アカウント情報パラメータ２２２はまた、ＴＳアカウントに対する需要に応じて作成され、提供されたＴＳアカウントに関連付けられたユーザ名４１５と、ＴＳアカウントに対する需要に応じて生成され、暗号化され、提供されたＴＳアカウントに関連付けられたパスワード４１７とを含む。前述の言語パラメータ４０２も、アカウント情報パラメータとして含むことができる。「削除−再試行」フィールド４４４が存在し、すべてのアカウントに対してＡＭＳ１０７が行った削除の試行回数を追跡記録するために使用される。
【００３４】
（セッションメトリクス）
セッションメトリクス２２８は、ＴＳコントローラ３０７によって収集し、データベース２１８に保存することができる。セッションメトリクス２２８は、ユーザがＴＳセッションへのアクセスを要求した日付を表すログオン日付４２５と、前述の提供時間４２２と、ホストされているアプリケーションがロードされてＴＳセッションが開始することによってユーザがそのホストされているアプリケーションを使用できるようになる時間を表すログオン時間４２７とを含む。セッションメトリクスはまた、ホストされているアプリケーション１１１が起動される時間を表すアプリケーション開始時間４３０と、ユーザがＴＳセッションへのアクセスを要求した時間とホストされているアプリケーションが起動される時間との時間差を表す初期化時間４２８と、ＴＳセッションの接続状態が解除されたことが検出される時間を表す接続解除時間４３２とを含むことができる。
【００３５】
またさらにセッションメトリクス２２８は、特定されたＴＳアカウントに関連付けられている前述の言語４０２と、ＴＳセッションの接続が解除される時間とＴＳセッションがロードされてユーザがホストされているアプリケーションを使用できるようになった時間との時間差を表すセッションの長さ４３４と、ユーザがそのＴＳセッション内で使用したアセット(asset)の識別子４２０とを含むことができる。アセットＩＤ４２０は、ホストされる評価用のエントリポイントとして提供されるアセットの一意のＩＤである。エントリポイントのアセットは、ウェブページ１１７上にホストされる。最後にセッションメトリクス２２８は、ユーザがＴＳセッションにアクセスした際の起点であるＩＰアドレス４２４と、ＴＳセッション用に利用されたターミナルサーバの名前４２５とを含むことができる。ターミナルサーバ名４２５は、名前−ＩＤマッピングテーブル内のサーバ識別子からマップすることができる。
【００３６】
次に図２、図３、および図５を参照して、本発明の例示的な一実施形態によるホストされているアプリケーションをオンラインで利用および／または評価するためにＴＳアカウントおよびセッションを管理するためのオペレーショナルフロー図について説明する。オペレーショナルフロー５００は、オペレーション５０２において開始し、ＡＭＳは、ＴＳアカウントを管理するためにそれぞれのＯＵおよび／または言語ごとに制御パラメータ、たとえば２２４ａを設定する。次いでオペレーショナルフロー５００は、オペレーション５０４へと続き、ＡＭＳ１０７は、ＴＳアカウントの供給、需要、およびステータスをモニタする。そしてオペレーショナルフロー５００は、後述のオペレーション５０５、５０８、および５０７へと続く。
【００３７】
オペレーション５０５では、ＡＭＳ１０７は、利用可能なＴＳアカウントの供給がＯＵおよび／または言語用の最小の値またはレベルを下回っていることを検出すると、そのＯＵおよび／または言語用のＴＳアカウントを作成する。次いでオペレーショナルフロー５００は、オペレーション５１２へと続き、オペレーショナルフローは、前述のオペレーション５０４へ戻るように指示される。オペレーショナルフロー５００は、継続的に実行されているオペレーティングシステムサービスである。所与の言語用のＴＳアカウントが十分にあることを検証または検出することなど、特定のオペレーションが、事前に設定された頻度で実行される。オペレーション５０５に関するさらなる詳細については、図６に関連して後述する。
【００３８】
オペレーション５０８では、ＡＭＳ１０７は、アクセス要求を検出したことに基づいてＴＳセッションにアクセスする際に利用可能なＴＳアカウントを使用に供する。オペレーション５０８に関するさらなる詳細については、図７に関連して後述する。次いでオペレーショナルフロー５００は、オペレーション５０８からオペレーション５１０へと続き、ＴＳコントローラ３０７はＴＳセッションを管理し、セッションメトリクス２２８を収集して、ＡＭＳ１０７に保存する。そしてオペレーショナルフロー５００は、前述のオペレーション５１２へと続く。オペレーション５１０に関するさらなる詳細については、図８ａ〜８ｂに関連して後述する。
【００３９】
オペレーション５０７では、ＡＭＳは、削除用として識別されたそれぞれのＴＳアカウントを引き上げる。そしてオペレーショナルフロー５００は、前述のオペレーション５１２へと続く。オペレーション５０７に関するさらなる詳細については、図９に関連して後述する。
【００４０】
次に図２、４、および６を参照して、本発明の例示的な一実施形態による利用可能なＴＳアカウントを作成するためのオペレーショナルフロー図について説明する。オペレーショナルフロー６００は、オペレーション６０２において開始し、ＡＭＳ１０７は、利用可能なＴＳアカウントがどの程度あるかを検出するためにデータベース２１８に定期的に問合せを行うポーリング頻度４０７を検出する。たとえばポーリング頻度がゼロの場合、ＡＭＳには、アカウントの供給を作り出すための問合せを行わないよう指示することになる。このタイプの設定は、テストの目的で利用することができる。
【００４１】
次いでオペレーショナルフロー６００は、オペレーション６０４へと続き、データベース２１８内のそれぞれの言語および／またはＯＵごとにバッファレベル４０４を検索する。バッファレベルは、より多くのＴＳアカウントが作成される前に許可されている利用可能なアカウントの最小数である。そしてオペレーショナルフロー６００は、オペレーション６０５へと続き、データベース２１８に対して、ポーリング頻度４０７に従って利用可能なＴＳアカウントに関する問合せを行う。次いでオペレーショナルフロー６００は、検出オペレーション６０７へと続き、利用可能なＴＳアカウントの数がバッファレベル４０４を下回っているかどうかをそれぞれのＯＵごとに判定する。利用可能のステータスを有するＴＳアカウントの数が、そのＯＵ用のバッファレベル４０４以上である場合、オペレーショナルフローは、リターンオペレーション６１４へと続き、制御は前述のオペレーション５１２に渡される。
【００４２】
ＡＭＳ１０７が、ＯＵ用のバッファレベル４０４を下回る複数のＴＳアカウントを検出した場合、オペレーショナルフロー６００は、オペレーション６０８へと続き、一括作成値４０５が検出される。一括作成値４０５は、バッファレベル４０４が満たされていない場合に作成されるＴＳアカウントの数である。そしてオペレーショナルフロー６００は、オペレーション６１０へと続き、ＡＭＳ１０７は、バッファレベル４０４未満の利用可能なＴＳアカウントしか有していないＯＵ用に、一括作成値４０５に従ってＴＳアカウントを作成する。次いでＡＭＳ１０７は、オペレーション６１２において、作成されたそれぞれのＴＳアカウントごとにデータベース２１８にレコードを追加する。そしてオペレーショナルフロー６００は、前述のリターンオペレーション６１４へと続く。
【００４３】
次に図１、４、および７を参照して、本発明の例示的な一実施形態によるＴＳアカウントを使用に供するためのオペレーショナルフロー図について説明する。オペレーショナルフロー７００は、オペレーション７０１において開始され、ウェブサーバ１０４は、ホストされているアプリケーションを利用するためにＴＳセッションにアクセスしたいというユーザからの要求を受信する。オペレーショナルフロー７００は、オペレーション７０２へと続き、セッションページａｓｐｘなどのウェブページ１１７は、ＴＳセッションを開始したいというユーザの要求を検出する。ウェブページ１１７は、その中でＴＳセッションがユーザに表示されるページである。
【００４４】
次いでオペレーション７０４では、要求を検出したことに応答して、ウェブページ１１７は、その要求の言語と一致するアカウント言語４０２と、「空いている」すなわち利用可能のステータスを有するステータス４１８とを有するＴＳアカウントを探して、アカウント情報パラメータ２２２に問合せを行う。
【００４５】
オペレーション７０５では、ウェブページ１１７が呼び出すＳＱＬストアードプロシージャは、特定されたアカウントのステータス４１８を「使用中」に変更し、前述の提供時間４２２を設定する。そしてウェブページ１１７は、オペレーション７０７において、提供時間４２２、アセット識別子４２０、および信用証明書の返送先となるＩＰアドレス４２４を保存する。
【００４６】
次いでオペレーショナルフロー７００は、オペレーション７０７からオペレーション７０８へと続き、ウェブページ１１７は、信用証明書、ユーザ名４１５、およびパスワード４１７を、ＩＰアドレス４２４フィールド内で識別されたＩＰアドレスへ送信する。パスワード４１７は、データベース２１８内で暗号化することができる。オペレーション７１０において、ウェブサーバ１０４は信用証明書を受信し、復号する。次いでオペレーション７１２において、ウェブサーバは、復号した信用証明書を、セッションウェブページ１１７を介して提供する。そこでウェブページ１１７は、アカウントを復号し、次いでターミナルサービスセッションを起動し、そのアカウント用の信用証明書をターミナルサービス認証ダイアログに自動的に入力する。これによって、いったん要求が行われれば、それ以降の経緯にはユーザからの入力はいっさい不要となる。そしてオペレーショナルフロー７００は、リターンオペレーション７１４へと続き、制御は、図５を参照して前述したオペレーション５１０に渡される。
【００４７】
次に図１、３、４、および８ａ〜８ｂを参照して、本発明の例示的な一実施形態によるＴＳセッションおよびＴＳアカウントを管理するためのオペレーショナルフロー図について説明する。オペレーショナルフロー８００は、オペレーション８０２において開始し、ＴＳコントローラ３０７は、ホストされているアプリケーション１１１へのアクセスを要求しているユーザに割り当てられたユーザ名を検出する。ＴＳコントローラ３０７はまた、ユーザがＴＳセッションにログインしたログイン日付およびログイン時間も検出する。
【００４８】
次いでフロー８００は、オペレーション８０４へと続き、ＴＳコントローラは、ユーザ名を、使用中のＴＳアカウントに関連付けられているユーザ名４１５にマッチさせるためにアカウント情報パラメータ２２２に問合せを行う。ＴＳコントローラ３０７はまた、特定されたＴＳアカウントに関連付けられているアセット識別子４２０および言語４０２を識別する。ＴＳコントローラ３０７およびログインスクリプトは、さまざまな顧客用の「ローカライズされた体験」をセットアップするであろう。日本語およびドイツ語などのさまざまな言語用として、ユーザは、自分のキーボードと、日付／時間フォーマット、通貨フォーマット、および他の言語固有の機能用にローカライズされた言語設定とを使用できるであろう。これは、さまざまな言語用に特定の登録キー値(reg-key value)を設定するログインスクリプトと、特定のユーザ用に使用されているキーボードのタイプを切り替えるＴＳコントローラ３０７とを介して達成される。
【００４９】
次いでオペレーション８０５では、ＴＳコントローラは、ホストされているアプリケーション１１１を起動するための起動コマンドを探して、セッション構成情報に問合せを行う。そしてオペレーション８０８では、ＴＳコントローラは、特定されたＴＳアカウントに関連付けられているセッション警告時間４１２およびＴＳセッション持続時間４１４などの制限時間パラメータを検出する。
【００５０】
次いでオペレーショナルフロー８００は、オペレーション８０８からオペレーション８１０へと続き、警告用などの適切なダイアログが、特定されたＴＳアカウントに関連付けられている言語で検索される。そしてオペレーション８１２では、ＴＳコントローラ３０７は、適切な言語パック３０２（図３）を適用することによって、識別された言語でホストされているアプリケーション１１１を起動する。ＴＳコントローラはまた、オペレーション８１４において、ホストされているアプリケーションが起動またはロードされた時間を検出する。
【００５１】
次いでオペレーショナルフロー８００は、オペレーション８１４からオペレーション８１７へと続き、ＴＳコントローラは、ホストされているアプリケーション１１１の指定された特性および／または機能を制限する。たとえば最小化ボタンおよび／または元に戻す機能を制限することができ、ユーザがこうした特性および／または機能の使用を試みる場合に関してカスタムダイアログを作成することができる。
【００５２】
図８ｂを参照すると、オペレーショナルフローは、オペレーション８１７から検出オペレーション８２０へと続き、ホストされているアプリケーション１１１が閉じられているかどうかを判定する。ホストされているアプリケーションが閉じられている場合、オペレーショナルフロー８００は、後述のオペレーション８２８へと続く。ホストされているアプリケーションがまだ開いている場合、オペレーショナルフロー８００は、検出オペレーション８２２へと続く。
【００５３】
検出オペレーション８２２では、セッション持続時間４１４の時間に到達しているかどうかを判定する。セッション持続時間４１４の時間に到達している場合、オペレーショナルフロー８００は、オペレーション８２７へと続き、ホストされているアプリケーション１１１は閉じられる。次いでオペレーショナルフローは、後述のオペレーション８２８へと続く。オペレーション８２２において、ＴＳセッション持続時間に到達していないと判定された場合、オペレーショナルフロー８００は、検出オペレーション８２４へと続く。
【００５４】
検出オペレーション８２４では、警告時間４１２に到達しているかどうかを判定する。警告時間に到達している場合、オペレーション８２５は、警告メッセージをユーザに提供し、次いで制御は、前述の検出オペレーション８２０に渡される。警告時間に到達していない場合、オペレーショナルフローは、検出オペレーション８２４から前述の検出オペレーション８２０に戻る。
【００５５】
オペレーション８２８では、ＴＳセッションの接続が解除され、接続解除時間がセッションメトリクス用に検出される。そしてオペレーショナルフロー８００は、オペレーション８３０へと続き、使用中のＴＳアカウントのステータス４１８は、使用中から消去へと変更される。次いでオペレーション８３２において、初期化時間４２８が計算される。初期化時間は、ユーザがＴＳセッションへのアクセスを要求した時間と、ホストされているアプリケーション１１１が起動される時間の時間差を表している。
【００５６】
次いでオペレーション８３４において、セッションメトリクス２２８は、ＡＭＳ１０７のデータベース２１８に保存される。そしてＴＳコントローラ３０７は、オペレーション８３７においてＴＳセッションからログアウトする。オペレーション８３４はまた、作成されるレポートの形式でセッションメトリクスを報告できることが理解できるはずである。次いでオペレーショナルフロー８００は、リターンオペレーション８３８へと続き、制御は前述のオペレーション５１２に渡される。
【００５７】
次に図１、４、および９を参照して、本発明の例示的な一実施形態による提供されたＴＳアカウントを引き上げるためのオペレーショナルフロー図について説明する。オペレーショナルフロー９００は、オペレーション９０２において開始し、ＡＭＳ１０７は、削除の表示を探してＴＳアカウントに問合せを行う。ＴＳアカウントは、前述のポーリング頻度４０８で削除用の問合せを受ける。次いで検出オペレーション９０４において、ステータスパラメータ４１８が消去としてマークまたは設定されているかどうかを判定する。ステータスパラメータ４１８が消去に設定されている場合、オペレーショナルフロー９００は、オペレーション９１０へと続く。
【００５８】
オペレーション９１０において、ＡＭＳ１０７は、消去のステータスを有するＴＳアカウントに関連付けられているローミングプロファイル１１４をプロファイルストレージサーバ１１２から削除する。次いでオペレーション９１２では、ＡＭＳ１０７は、そのＴＳアカウントを表すアクティブディレクトリＴＳアカウントオブジェクトをデータベース２１８から削除する。何らかの理由でアカウントを削除できない場合、ＡＭＳ１０７システムは、事前に設定された再試行回数、たとえば５回までアカウントの削除を再試行することが理解できるはずである。簡単に概略を前述したように、ＡＭＳ１０７はまた、ユーザがログインした後にアカウントを無効にし、これによってそのユーザは、後日そのアカウント情報を使用して再びログインすることはできない。ＡＭＳは、まずはユーザがログインした時点でアカウントを無効にし、次いでユーザがログアウトした後にアカウント情報を削除する。これは、データベースをモニタして、いつアカウントが使用中であるかを把握することによって行われる。そしてオペレーショナルフロー９００は、検出オペレーション９０７へと続き、問合せを行うべきＴＳアカウントがさらに存在するかどうかを判定する。
【００５９】
オペレーション９０７において、問合せを行うべきＴＳアカウントがさらに存在する場合、オペレーショナルフロー９００は、前述のオペレーション９０２へ戻る。問合せを行うべきＴＳアカウントがもはや存在しない場合、オペレーショナルフロー９００は、リターンオペレーション９０８へと続き、制御は前述のオペレーション５１２に渡される。
【００６０】
検出オペレーション９０４において、ステータス４１８が消去に設定されていない場合、オペレーショナルフロー９００は、検出オペレーション９０５へと続く。検出オペレーション９０５では、強制削除用のＴＳセッション持続時間４１４に到達しているかどうかを判定する。ＴＳセッションによってＴＳセッション持続時間４１４に到達している場合、オペレーショナルフローは、前述のオペレーション９１０へと続く。ＴＳセッション持続時間４１４に到達していない場合、オペレーショナルフロー９００は、前述の検出オペレーション９０７へと続く。
【００６１】
したがって本発明は、現時点では、ホストされているアプリケーションをオンラインで利用するためにターミナルサービス（ＴＳ）アカウントおよび／またはセッションを管理するためのコンピュータプログラムをコード化する方法、システム、コンピュータプログラム製品、またはコンピュータ可読メディアとして具体化される。
【００６２】
本発明の範囲から逸脱することなく上記のシステム要素、ソフトウェアモジュール、および方法にさまざまな変更を実施できるため、添付の図面に示されているように上記の説明に含まれるすべての内容は、例示として解釈すべきであり、限定的な意味に解釈すべきではないことを意図している。本発明の趣旨および範囲から逸脱することなく本発明の多くの実施形態を構成できるため、本発明は、添付の特許請求の範囲の中に存在する。
【図面の簡単な説明】
【００６３】
【図１】本発明の例示的な一実施形態によるアカウント管理システム（ＡＭＳ）サーバとターミナルサービス（ＴＳ）環境の間の対話を示すハイレベルな図である。
【図２】本発明の例示的な一実施形態によるアカウント管理システムサーバ用のコンピューティングシステムアーキテクチャを示す図である。
【図３】本発明の例示的な一実施形態による図２のＡＭＳサーバと通信状態にあるサーバファーム内のＴＳサーバ用のコンピューティングシステムアーキテクチャを示す図である。
【図４】本発明の例示的な一実施形態によるＡＭＳデータベースのパラメータフィールドを示すブロック図である。
【図５】本発明の例示的な一実施形態によるホストされているアプリケーションをオンラインで利用および／または評価するためにＴＳアカウントおよびセッションを管理するためのオペレーショナルフロー図である。
【図６】本発明の例示的な一実施形態による利用可能なＴＳアカウントを作成するためのオペレーショナルフロー図である。
【図７】本発明の例示的な一実施形態によるＴＳアカウントを使用に供するためのオペレーショナルフロー図である。
【図８Ａ】本発明の例示的な一実施形態によるＴＳセッションおよびＴＳアカウントを管理するためのオペレーショナルフロー図である。
【図８Ｂ】本発明の例示的な一実施形態によるＴＳセッションおよびＴＳアカウントを管理するためのオペレーショナルフロー図である。
【図９】本発明の例示的な一実施形態による提供されたＴＳアカウントを引き上げるためのオペレーショナルフロー図である。
【符号の説明】
【００６４】
１０２  ネットワーク上のユーザ
１０４  ウェブサーバ
１０７、１０７’  ＡＭＳサーバおよびバックアップ
１０８  ポートＴＰＣ
１１０  サーバファーム
１１１  ホストされているアプリケーション
１１２  プロファイルストレージサーバ
１１４  ローミングプロファイル
１１７  ウェブページ
１２０  フロントエンドネットワーク
１２２  バックエンドネットワーク
【図１】
2006107489.tif 000003
【図２】
2006107489.tif 000004
【図３】
2006107489.tif 000005
【図４】
2006107489.tif 000006
【図５】
2006107489.tif 000007
【図６】
2006107489.tif 000008
【図７】
2006107489.tif 000009
【図８Ａ】
2006107489.tif 000010
【図８Ｂ】
2006107489.tif 000011
【図９】
2006107489.tif 000012