(57)【特許請求の範囲】
【請求項１】
複数ユーザコンピューティング環境のログオンユーザインタフェースにおいて使用するための方法であって、
ログオンプロセス中に、認証されるユーザごとにデスクトップスレッドを作成し、
各デスクトップスレッドに関連するデスクトップを作成し、
作成されたデスクトップスレッドのリストを保持し、
前記作成されたデスクトップのうちの第１のデスクトップからログオンスクリーンに切り換えること
を備え、前記認証されたユーザの操作に応じてログオフイベントが生成されずに前記第１のデスクトップから前記ログオンスクリーンに切り換わった場合、前記リストは更新されず、前記リストに保持されたデスクトップスレッドのうちの、前記第１のデスクトップに関連するデスクトップスレッドは、実行され続けることを備えることを特徴とする方法。
【請求項２】
各デスクトップに関連する別個のユーザ環境を確立することをさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
各デスクトップに関連する別個のユーザシェルを起動することをさらに備えることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記切り替えることは、前記第１のデスクトップから前記ログオンスクリーンに選択的に切り換えることを含むことを特徴とする請求項１ないし３のいずれかに記載の方法。
【請求項５】
前記切り替えることは、前記第１のデスクトップに関連するデスクトップスレッドを終了することなく、前記第１のデスクトップから前記ログオンスクリーンに自動的に切り換えることを含み、前記方法は、
前記ログオンスクリーンから第２のデスクトップに切り替え、
前記第２のデスクトップに関連する別個のユーザシェルを起動することをさらに備えることを特徴とする請求項１ないし３のいずれかに記載の方法。
【請求項６】
前記第１のデスクトップから前記ログオンスクリーンに自動的に切り換えることは、定義されたユーザ不活動期間後に行われることを特徴とする請求項５に記載の方法。
【請求項７】
ユーザがログオフするときにデスクトップスレッドを前記デスクトップスレッドのリストから選択的に除去することをさらに備えることを特徴とする請求項１ないし６のいずれかに記載の方法。
【請求項８】
請求項１ないし７のいずれかに記載の方法を実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項９】
オペレーティングシステムの少なくとも一部が記憶されたメモリと、
前記メモリに動作可能に結合され、前記オペレーティングシステムに応答して、ログオンプロセス中に認証されるユーザごとにデスクトップスレッドを作成し、各デスクトップスレッドに関連するデスクトップを作成し、作成されたデスクトップスレッドのリストを保持し、前記作成されたデスクトップのうちの第１のデスクトップからログオンスクリーンに切り換えるプロセッサとを備え、前記認証されたユーザの操作に応じてログオフイベントが生成されずに前記ログオンスクリーンに切り換わった場合、前記リストは更新されず、前記リストに保持されたデスクトップスレッドのうちの、前記第1のデスクトップに関連するデスクトップスレッドは、実行され続けることを特徴とする装置。
【請求項１０】
前記プロセッサは、各デスクトップに関連する別個のユーザ環境を確立することにより前記オペレーティングシステムにさらに応答することを特徴とする請求項９に記載の装置。
【請求項１１】
前記プロセッサは、各デスクトップに関連する別個のユーザシェルを起動することにより前記オペレーティングシステムにさらに応答することを特徴とする請求項９または１０に記載の装置。
【請求項１２】
前記プロセッサは、前記第１のデスクトップから前記ログオンスクリーンに選択的に切り換えることにより前記オペレーティングシステムにさらに応答することを特徴とする請求項９ないし１１のいずれかに記載の装置。
【請求項１３】
前記プロセッサは、前記第１のデスクトップに関連するデスクトップスレッドを終了することなく、前記第１のデスクトップから前記ログオンスクリーンに自動的に切り換え、前記第ログオンスクリーンから第２のデスクトップに切り替え、前記第２のデスクトップに関連する別個のユーザシェルを起動することにより前記オペレーティングシステムにさらに応答することを特徴とする請求項９ないし１１のいずれかに記載の装置。
【請求項１４】
前記第１のデスクトップから前記ログオンスクリーンに自動的に切り換えることは、定義されたユーザ不活動期間後に行われることを特徴とする請求項１３に記載の装置。
【請求項１５】
前記プロセッサは、ユーザがログオフするときにデスクトップスレッドを前記デスクトップスレッドのリストから選択的に除去することにより前記オペレーティングシステムにさらに応答することを特徴とする請求項９ないし１４のいずれかに記載の装置。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明はコンピュータおよびソフトウェアに関し、より詳細には、共用コンピューティング環境内で別個かつ同時のデスクトップおよびワークスペースを複数提供するための方法および装置に関する。
【０００２】
（発明の背景）
複数の人が単一のコンピュータを共用したいと思う状況は数多い。例えば家庭には、家族が共用する単一のパーソナルコンピュータ（ＰＣ）がある場合がある。これらのユーザが自分のアプリケーションおよびデータファイルのために固有の構成、プライバシー、および／またはセキュリティを望む場合には、このような共用コンピューティング環境がこれらにうまく対応できないことがある。
【０００３】
例えば、ほとんどのオペレーティングシステムでは、各ユーザが単一のワークスペースを共用する。残念ながら、こうすることにより、ユーザのワークスペースまたはユーザ間のデータセキュリティを個人化することができない。一定のオペレーティングシステムでは、ユーザがユーザのデータを複数の「プロファイル」または「アカウント」に分けることができる。この方式の欠点の一つは、あるユーザがコンピュータを使用しており別のユーザが自分のファイルにアクセスしたい場合、最初のユーザは、他方のユーザがシステムにログオンして自分のデータにアクセスできるようにするために、開いているすべてのアプリケーションを閉じなければならないことである。したがって、最初のユーザのアプリケーション状態は失われる。アプリケーション状態を失うことに加えて、前のユーザの状態を閉じて新しいユーザの状態を再確立するのに必要な時間のため、ユーザが不便を感じる。
【０００４】
いくつかの解決法、例えばＭｉｃｒｏｓｏｆｔ  Ｏｕｔｌｏｏｋ  Ｅｘｐｒｅｓｓバージョン５．０で利用可能な「アイデンティティマネージャ（Ｉｄｅｎｔｉｔｙ  Ｍａｎａｇｅｒ）」などでは、ユーザ切換え中にアプリケーション状態すべてを失うことなく、ある種のユーザデータを別々のユーザ間で共用することができる。しかし、アイデンティティマネージャは、ユーザデータの小さいサブセットを管理するだけである。例えばテキスト文書は、各ユーザについて別々に記憶されない。さらに、ワークスペースの個人化はほとんど利用可能とされず、ユーザデータは他のユーザからのアクセスに対して安全にされない。
【０００５】
したがって、複数ユーザコンピューティング環境で使用するための改良された方法および装置が必要とされている。この方法および装置は、共用コンピューティング環境内で複数のデスクトップおよびワークスペースを別個に、かつ同時に可能にすることが好ましい。
【０００６】
（発明の概要）
本発明は、複数ユーザコンピューティング環境で使用するための改良された方法および装置を提供する。これらの方法および装置は、共用コンピューティング環境内で複数のデスクトップおよびワークスペースを別個に、かつ同時に可能にするように構成することができる。
【０００７】
前述の必要性およびその他は、例えば、複数ユーザコンピューティング環境のログオンユーザインタフェースにおいて使用するための方法によって満たされる。この方法は、ログオンプロセス中に認証されるユーザごとに別個のデスクトップスレッドを作成すること、各デスクトップスレッドに関連する別個のデスクトップを作成すること、および、作成されたデスクトップスレッドのリストを維持することを含む。このようにして、何人かのユーザが同時にログオンすることができる。いくつかの実装形態では、この方法はさらに、各デスクトップに関連する別個のユーザ環境を確立すること、および、各デスクトップに関連する別個のユーザシェルを起動することを含む。デスクトップスレッドのリストは、第１のデスクトップに関連するデスクトップスレッドを終了せずに、第１のデスクトップから第２のデスクトップに選択的に切り換えることを可能にする。実際、いくつかの実装形態では、この方法は、関連するデスクトップスレッドを終了せずに、あるデスクトップから別のデスクトップに自動的に切り換えることを含む。例えばこれは、ユーザが非活動の構成可能に定義される期間後に行われるものとすることができる。この方法はさらに、ユーザがログオフしたとき、適切なデスクトップスレッドをデスクトップスレッドのリストから選択的に除去することも含む。
【０００８】
本発明の様々な方法および装置に関するより完全な理解は、添付の図面と共に以下の詳細な説明を参照することによって得ることができる。
【０００９】
（好ましい実施形態の詳細な説明）
図１に示すように、コンピュータ２０は、１つまたは複数のプロセッサまたは処理装置２１と、システムメモリ２２と、システムメモリ２２を含めた様々なシステムコンポーネントをプロセッサ２１に結合するバス２３とを備える。バス２３は、いくつかのタイプのバス構造のいずれか１つまたは複数を表し、様々なバスアーキテクチャのいずれかを用いた、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッド・グラフィック・ポート（ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）、プロセッサバスまたはローカルバスを含む。
【００１０】
システムメモリは、読出し専用メモリ（ＲＯＭ）２４およびランダムアクセスメモリ（ＲＡＭ）２５を備える。ＲＯＭ２４には、起動中などにコンピュータ２０内の要素間で情報を転送するのを助ける基本ルーチンを含むＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）２６が記憶されている。
【００１１】
コンピュータ２０はさらに、ハードディスク（図示せず）に対して読み書きを行うためのハードディスクドライブ２７と、取外し可能磁気ディスク２９に対して読み書きを行うための磁気ディスクドライブ２８と、ＣＤ  ＲＯＭやＤＶＤ  ＲＯＭやその他の光学媒体など取外し可能光ディスク３１に対して読み書きを行うための光ディスクドライブ３０も含む。ハードディスクドライブ２７、磁気ディスクドライブ２８、および光ディスクドライブ３０はそれぞれ、適切なインタフェース３２、３３、および３４それぞれによってバス２３に接続されている。
【００１２】
これらのドライブおよび関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性記憶域をコンピュータ２０に供給する。本明細書で述べる例示的な環境は、ハードディスク、取外し可能磁気ディスク２９、および取外し可能光ディスク３１を採用しているが、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）など、コンピュータからアクセス可能なデータを記憶できる他のタイプのコンピュータ可読媒体をこの例示的な動作環境で使用することもできることは、当業者には理解されるであろう。
【００１３】
ハードディスク、磁気ディスク２９、光ディスク３１、ＲＯＭ２４、またはＲＡＭ２５には、オペレーティングシステム３５、１つまたは複数のアプリケーションプログラム３６、その他のプログラムモジュール３７、およびプログラムデータ３８を含めた、いくつかのプログラムモジュールを記憶することができる。ユーザは、キーボード４０やポインティングデバイス４２などの入力デバイスを介してコンピュータ２０にコマンドおよび情報を入力することができる。その他の入力デバイス（図示せず）には、マイクロホン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナなどを含めることができる。これらおよび他の入力デバイスは、バス２３に結合されたインタフェース４６を介して処理装置２１に接続される。
【００１４】
モニタ４７または他のタイプの表示デバイスもまた、ビデオアダプタ４８などのインタフェースを介してバス２３に接続されている。モニタに加えて、パーソナルコンピュータは通常、スピーカやプリンタなど他の周辺出力デバイス（図示せず）も備える。
【００１５】
コンピュータ２０は、リモートコンピュータ５０など１つまたは複数のリモートコンピュータとの論理接続を用いて、ネットワーク化された環境で動作することができる。リモートコンピュータ５０は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、またはその他の一般的なネットワークノードとすることができ、通常、コンピュータ２０に関して先に述べた要素の多数またはすべてを含む。図２に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）５１およびワイドエリアネットワーク（ＷＡＮ）５２を含む。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットによくあるものである。
【００１６】
ＬＡＮネットワーキング環境で使用されるときは、コンピュータ２０は、ネットワークインタフェースまたはアダプタ１５６を介してローカルネットワーク５１に接続される。ＷＡＮネットワーキング環境で使用されるときは、コンピュータ２０は通常、インターネットなどのワイドエリアネットワーク５２を介した通信を確立するためのモデム５４または他の手段を備える。モデム５４は、内蔵でも外付けでもよく、インタフェース４６を介してバス２３に接続される。ネットワーク化された環境では、パーソナルコンピュータ２０に関して示したプログラムモジュール、またはそれらの一部を、リモートのメモリ記憶デバイスに記憶することもできる。図示のネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立する他の手段を使用することもできることを理解されたい。
【００１７】
次に図２を参照するが、図２には、コンピュータ２０のオペレーティングシステムに対してユーザを識別する際に使用するのに適した例示的なグラフィカルユーザインタフェース（ＧＵＩ）表示を示してある。ここで、図示のログオンスクリーン１００は、ログオンスクリーン１００を識別する第１のタイトル領域１０２を有する。ログオンスクリーン１００は、表示装置４７の全画面またはその一部を占める場合がある。図示のように、第１のタイトル領域１０２は、任意のグラフィカル特徴（例えばビットマップ、写真、ビデオ、テキストなど）を含むことができる。
【００１８】
ログオンスクリーン１００は、複数ユーザログオン領域１０４も含む。この領域では、選択可能なユーザ識別子および関連情報がユーザに提示され、ユーザは何らかのデータを入力することができる。この例では、ログオン領域１０４は異なる５人のユーザ、すなわちビリー、クリストファー、パット、スージー、ウィリアムについて構成されており、それぞれテキスト識別子１１０および／またはグラフィカル識別子１１２で識別される。したがって、ウィリアムは、テキスト識別子１１０および／またはグラフィカル識別子１１２を選択することによってオペレーティングシステムへのログオンを開始することができる。ウィリアムが既定のパスワードを有する場合は、パスワード入力フィールド１１４が表示されて、彼のパスワードを受け取るように構成される。ウィリアムのパスワードが認証されると、ウィリアムはログオンされる。ウィリアムが既定のパスワードを有しない場合は、ウィリアムはテキスト識別子１１０またはグラフィカル識別子１１２を選択した後でログオンされることになる。ログオンスクリーン１００はまた、ユーザに関するその他の情報１１６をユーザに表示するように構成することもできる。この例では、ユーザに関する情報１１６は、スージーに１０通の新しいメッセージがあることを識別している。
【００１９】
この例では、ログオンスクリーン１００の左側境界に沿って第２のタイトル領域１０６が示されている。ここでは、第２のタイトル領域１０６は、このコンピュータを「Ｄｅｎ  Ｃｏｍｐｕｔｅｒ」と識別している。ユーザがコンピュータをシャットダウンできるように、選択可能なシャットダウン機構１０８も設けられている。
【００２０】
ログオンスクリーン１００は、この記述では例として、コンピュータ２０の共用コンピューティング環境内で複数のデスクトップおよびワークスペースを別個に、かつ同時に可能にする様々な方法および装置の起点である。後でより詳細に述べ、かつ図３〜４のフローチャートに示すが、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）ＮＴまたはＷｉｎｄｏｗｓ（登録商標）２０００で使用するためのデスクトップ切換え方式が実施される。ただし、このデスクトップ切換え方式が他のオペレーティングシステムやコンピュータなどにも適用可能であることは、当業者なら理解するであろう。例えば、本明細書では、この方式がＷｉｎＳｔａｔｉｏｎ切換えも含むようにさらに拡張され、それぞれはデスクトップ切換えをも含むことができる。
【００２１】
本明細書に提示する例示的な実装形態は、Ｗｉｎｄｏｗｓ（登録商標）ＮＴで利用可能なＤｅｓｋｔｏｐアプリケーションプログラミングインタフェース（ＡＰＩ）を利用して、ログオンスクリーン１００を介して対話式にログオンするユーザごとに別個のワークスペースを作成する。Ｗｉｎｄｏｗｓ（登録商標）ＮＴプロファイルを使用すると、ユーザのデータは他のユーザのデータから切り離され、ユーザまたはコンピュータ管理者の選好に応じて、他のユーザのデータへのアクセスを安全にすることができる。ユーザごとに別個のデスクトップを使用することにより、複数のユーザが同時にコンピュータにログオンすることができる。ユーザの切換えは、単にデスクトップ切換えなので非常に早い。アプリケーションはデスクトップのコンテキスト内で稼動し、相互から完全に切り離されているので、切換え中にアプリケーション状態が失われることはない。
【００２２】
ユーザがたまたま自分のワークステーションを安全にすることなくコンピュータから離れる場合、ユーザのログオンセッションを他のユーザから保護するために、オペレーティングシステムは、ユーザによって構成可能なタイムアウト時間の後で自動的に再度ログオンデスクトップに切り換える。ログオンデスクトップは、ユーザデスクトップから安全にされており、オペレーティングシステム内の認証エンティティによってユーザが識別された場合にのみ再度ユーザデスクトップに切り換わることができる。
【００２３】
以上を念頭に置いて、図３のフローチャートに注目してみる。ここで、プロセス２００は、コンピュータがログオンスクリーン１００を表示することから始まる。ステップ２０２で、ユーザは、ログオンに必要な入力をユーザ認証方式の一部として提供する。例えばユーザは、テキスト識別子１１０またはグラフィカル識別子１１２を選択し、続いてパスワード入力フィールド１１４にパスワードを入力する。決定ステップ２０４で示すように、認証プロセスがオペレーティングシステム中で行われる。認証が成功しなかった場合は、プロセス２００はステップ２０４（ＮＯ）に従ってログオンスクリーン１００に戻る。認証が成功した場合は、プロセス２００はステップ２０４（ＹＥＳ）に従って決定ステップ２０６に進む。
【００２４】
決定ステップ２０６では、ステップ２０４からの認証ユーザがすでにログインされているかどうか決定する。これは、オープンデスクトップリスト（ＯＤＬ）２０８をチェックすることによって行う。ステップ２０６（ＮＯ）により認証ユーザがまだログインされていない場合は、ステップ２１０に従って、このユーザ用の新しいデスクトップスレッドを作成する。次いでステップ２１４で、スレッドおよびデスクトップの情報を、ＯＤＬ２０８内の現在ログオンしているユーザのリストに追加する。ユーザのスレッドはまた、ステップ２１６でユーザ環境をセットアップし、ステップ２１８で、新たに作成されたユーザのデスクトップ上でユーザシェルを起動する。ステップ２２０で、ログオンプログラムはユーザの新しいデスクトップ２２２に切り換わる。この時点で、ログオンプロセスは完了する。
【００２５】
決定ステップ２０６に戻るが、ＯＤＬ２０８中の関連エントリによって示されるようにユーザ用のデスクトップがすでに開いている場合は、ステップ２００はステップ２０６（ＹＥＳ）によってステップ２２４に進む。ステップ２２４で、既存のデスクトップスレッドへの切換えを行い、続いてステップ２２０で、適切なデスクトップ２２２への切換えを行う。図３では、デスクトップ２２２ａ〜ｃで表すようにＮ＞１個のデスクトップがある。
【００２６】
次に図４を参照するが、この図では、デスクトップ２２２のログオフのプロセス２４０をフローチャートに示してある。この例では、ユーザが「ログオフ」状態になる方式が３つある。第１の方式はステップ２４２で行われるが、この方式ではユーザが意図的かつ完全にログオフする。このようなログオフイベントがステップ２４２で生成された場合は、ステップ２４４で、デスクトップをクリーンアップし、ＯＤＬ２０８を更新し、スレッドを終了する。ステップ２４４の後、プロセス２４０はログオンスクリーン１００に戻る。
【００２７】
ユーザが「ログオフ」状態になる第２の方式をステップ２４６に提供するが、この方式ではユーザが手動でデスクトップを切り換える。ログオフ前の任意の時点で、ユーザは動作を開始（例えばユーザ入力によって）することができ、これによりユーザは、ログオフを行ったことをユーザのスレッドにシグナリングせずにログオンスクリーン１００に戻ることになる。これが起こったとき、ユーザのデスクトップは稼動したままであり、このデスクトップ上で起動されたすべてのアプリケーションは実行され続ける。しかし、ユーザのデスクトップは本質的に隠れているので、ユーザはこれらのアプリケーションのどれも見ることはできない。この時点で、デスクトップは「スイッチアウト」されていると言えるが、まだアクティブである。アクティブなデスクトップを「スイッチイン」するためには、ユーザはプロセス２００に従って再度ログオンする必要がある。
【００２８】
ユーザが「ログオフ」状態になることのできる第３の方式をステップ２４８に示すが、この方式では、ユーザによって構成可能な非活動の期間（例えばマウスの動作またはキーボード入力がない期間）の後、オペレーティングシステムは、ユーザがしばらくコンピュータ上での作業を中止したとみなし、自動的に再度ログオンスクリーン１００に切り換わる。このことは、ユーザがコンピュータをもはや使用していないと思われるときにユーザのデスクトップを安全にすることにより、セキュリティを高めるのに役立つ。このことはまた、他のユーザが別のユーザのセッションを終了する心配なくコンピュータを利用するのを容易にする。
【００２９】
デスクトップの代わりにリモートプロセス、例えばＷｉｎＳｔａｔｉｏｎなどを切り換えることにより、共用コンピューティング環境内で別個かつ同時の環境を複数提供することも可能である。論理的には、ＷｉｎＳｔａｔｉｏｎは複数のデスクトップを含む。ユーザごとのＷｉｎＳｔａｔｉｏｎを作成し、ユーザがログオンしたときまたはログオンスクリーン１００に再度切り換えたときにアクティブなＷｉｎＳｔａｔｉｏｎを切り換えることは、前述の機構と同じ機構を実施することができる。
【００３０】
本発明の様々な方法および装置の好ましい実施形態のいくつかを、添付の図面に示し、以上の詳細な説明に記述したが、本発明は、開示した例示的な実施形態に限定したものではなく、頭記の特許請求の範囲に記述および定義する本発明の趣旨を逸脱することなく多くの再構成、修正、および代用が可能であることを理解されたい。
【図面の簡単な説明】
【図１】  例示的なコンピュータシステムを示すブロック図である。
【図２】  図１のコンピュータシステム中で使用するのに適した例示的なログオンスクリーン表示である。
【図３】  ユーザを識別し、別個かつ同時のデスクトップまたはリモートプロセスを複数作成して維持するための例示的なプロセスを示すフローチャートである。
【図４】  デスクトップ間またはリモートプロセス間で切り換えるための例示的なプロセスを示すフローチャートである。
【図１】
0004549602.tif 000002
【図２】
0004549602.tif 000003
【図３】
0004549602.tif 000004
【図４】
0004549602.tif 000005