(57)【要約】  カンファレンスルームエンドポイント機能(conference room endpoint facility)によると、ユーザは、セントラルデータストアにカンファレンス固有情報をセーブしなくても直接にカンファレンスをスケジュールすることを可能にするカンファレンスルームエンドポイント機能が開示されている。スケジュールされた各々のカンファレンスごとに、カンファレンスルームエンドポイント機能はカンファレンスデータをブロッブ(blob)にストアすることができ、このブロッブは招待される各々のカンファレンス出席者と共にローカルにストアされる。スケジュールされたカンファレンスに参加する時点で、各々の出席者はミーティングデータを収めているブロッブの各自のコピーをカンファレンスルームエンドポイント機能に提示する。カンファレンスルームエンドポイント機能はカンファレンスデータの有効性を検査し、カンファレンスデータの有効性検査を終えると、申し出たカンファレンス出席者がカンファレンスに入ることを許可する。
2008546052.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ読取可能な記録媒体であって、該コンピュータ読取可能な記録媒体は、
ミーティングをスケジュールする要求をクライアントから受信し、
前記要求されたミーティングに固有の情報を前記クライアントから受信し、
前記要求とミーティングに固有の情報を受信したことに応答して、
前記スケジュールされたミーティングに対応するトークンを生成し、該トークンはミーティング固有情報を含んでおり、
前記トークンに署名し、
前記署名されたトークンを前記クライアントに返送し、前記署名されたトークンは前記スケジュールされたミーティングの分散管理を可能にすることを、
コンピュータに行わせる内容を記憶していることを特徴とするコンピュータ読取可能な記録媒体。
【請求項２】
請求項１に記載のコンピュータ読取可能な記録媒体において、前記ミーティング固有情報はミーティングパスワードを含むことを特徴とするコンピュータ読取可能な記録媒体。
【請求項３】
請求項１に記載のコンピュータ読取可能な記録媒体において、前記ミーティング固有情報は出席者と許可（permission）とのリストを含むことを特徴とするコンピュータ読取可能な記録媒体。
【請求項４】
請求項１に記載のコンピュータ読取可能な記録媒体において、前記ミーティング固有情報は、前記出席者リスト内の少なくとも一人の出席者が、前記スケジュールされたミーティングに他の出席者を招待することを許可されている（authorized to）ことを示していることを特徴とするコンピュータ読取可能な記録媒体。
【請求項５】
請求項１に記載のコンピュータ読取可能な記録媒体において、前記ミーティング固有情報は、前記出席者リスト内の少なくとも一人の出席者がスケジュールされたミーティングを変更する権限を与えられていることを示していることを特徴とするコンピュータ読取可能な記録媒体。
【請求項６】
請求項１に記載のコンピュータ読取可能な記録媒体において、前記ミーティング固有情報は、前記トークンが生成された時刻を示すタイムスタンプを含むことを特徴とするコンピュータ読取可能な記録媒体。
【請求項７】
請求項１に記載のコンピュータ読取可能な記録媒体において、前記ミーティング固有情報は繰り返し情報（recurrence information）を含むことを特徴とするコンピュータ読取可能な記録媒体。
【請求項８】
請求項１に記載のコンピュータ読取可能な記録媒体において、
トークンとスケジュールされたミーティングに参加する要求とを第２クライアントから受信し、前記スケジュールされたミーティングに参加する要求はミーティング参加者のＩＤを含んでおり、
前記ミーティング出席者が前記スケジュールされたミーティングに参加することを許可されていることを検証するために前記トークンをチェックし、
前記ミーティング出席者が許可されたミーティング出席者である場合は、前記スケジュールされたミーティングがすでに開始されているかどうかを判断し、
前記スケジュールされたミーティングがまだ開始されていないと判断されたときはそれに応答して、許可されたミーティング出席者が待機エリアに入ることを許可し、
前記スケジュールされたミーティングがすでに開始されていると判断したときはそれに応答して、許可されたミーティング出席者のトークンに収められた少なくとも１つのタイムスタンプが前記スケジュールされたミーティングを開始するために使用されたトークンに収められた少なくとも１つのタイムスタンプと同じであることを検証し、前記許可されたミーティング出席者のトークンに収められた少なくとも１つのタイムスタンプが前記スケジュールされたミーティングを開始するために使用されたトークンに収められた少なくとも１つのタイムスタンプと同じであれば、前記許可されたミーティング出席者が前記スケジュールされたミーティングに入ることを許可することを、
コンピュータに行わせる内容をさらに記憶していることを特徴とするコンピュータ読取可能な記録媒体。
【請求項９】
請求項６に記載のコンピュータ読取可能な記録媒体において、前記許可されたミーティング出席者のトークンに収められた少なくとも１つのタイムスタンプが、前記スケジュールされたミーティングを開始するために使用されたトークンに収められた少なくとも１つのタイムスタンプと同じでない場合は、前記許可されたミーティング出席者が前記スケジュールされたミーティングに入ることを許可しないことを、さらに含むことを特徴とするコンピュータ読取可能な記録媒体。
【請求項１０】
請求項６に記載のコンピュータ読取可能な記録媒体において、
トークンと前記スケジュールされたミーティングに１または２以上の他の参加者を含める要求とを第２クライアントから受信し、前記スケジュールされたミーティングに前記１または２以上の参加者を含める要求はミーティング出席者のＩＤを含み、
ミーティング出席者が前記１または２以上の他の出席者を前記スケジュールされたミーティングに招待することを許可されていることを検証するためにトークンをチェックし、
前記ミーティング出席者が他の出席者を前記スケジュールされたミーティングに招待することを許可されている場合は、
前記スケジュールされたミーティングに対応する転送トークンを生成し、該転送トークンは１または２以上の他の出席者を特定する転送される出席者のリストを含み、
前記転送トークンに署名し、
前記署名された転送トークンを前記第２クライアントに返送し、
前記署名された転送トークンは前記１または２以上の他の出席者を前記スケジュールされたミーティングに招待するために使用されるようにしたことを、
さらに含むことを特徴とするコンピュータ読取可能な記録媒体。
【請求項１１】
スケジュールされたミーティングのための署名されたトークンを集合的に収めている１または２以上のコンピュータメモリであって、前記署名されたトークンは前記スケジュールされたミーティングに固有の情報を含み、
前記署名されたトークンの内容は、前記署名されたトークンを提出したユーザを前記スケジュールされたミーティングの許可された出席者として認証するために使用されるようにしたことを特徴とする１または２以上のコンピュータメモリ。
【請求項１２】
請求項１１に記載のコンピュータメモリにおいて、前記署名されたトークンは前記スケジュールされたミーティングのための第２の署名されたトークンを作成するために使用することができ、該第２の署名されたトークンは前記署名されたトークンに収められたスケジュールされたミーティングに固有の情報と前記スケジュールされたミーティングに固有の追加情報を含むことを特徴とするコンピュータメモリ。
【請求項１３】
請求項１２に記載のコンピュータメモリにおいて、前記第２の署名されたトークンは第１ユーザから第２ユーザに渡すことが可能であり、さらに、第１ユーザと第２ユーザのどちらも、前記第２の署名されたトークンを使用して前記スケジュールされたミーティングに参加できることを特徴とするコンピュータメモリ。
【請求項１４】
請求項１１に記載のコンピュータメモリにおいて、前記署名されたトークンは第１ユーザから第２ユーザに渡すことが可能であり、さらに、前記第１ユーザと前記第２ユーザのどちらも、前記署名されたトークンを使用して前記スケジュールされたミーティングに参加できることを特徴とするコンピュータメモリ。
【請求項１５】
コンピューティングシステムにおいて、カンファレンス固有情報をストアするためにセントラルストアの使用を不要にしてカンファレンスをスケジュールするための方法であって、該方法は、
カンファレンスをスケジュールする要求をクライアントから受信し、
前記要求されたカンファレンスに固有の情報を前記クライアントから受信し、
前記要求と前記カンファレンスに固有の情報を受信したことに応答して、前記スケジュールされたカンファレンスに対応するブロッブを生成し、該ブロッブは前記カンファレンス固有情報を収めており、
前記ブロッブに署名し、
前記署名されたブロッブを前記クライアントに返送すること、
を含むことを特徴とする方法。
【請求項１６】
請求項１５に記載の方法において、前記ミーティング固有情報は、前記スケジュールされたカンファレンスに参加するために要求されるカンファレンスパスワードを含むことを特徴とする方法。
【請求項１７】
請求項１５に記載の方法において、前記ミーティング固有情報は、許可されたミーティング出席者が前記スケジュールされたカンファレンスに入ることを許可する際に使用されるタイムスタンプを含むことを特徴とする方法。
【請求項１８】
請求項１５に記載の方法において、前記ミーティング固有情報は、前記スケジュールされたカンファレンスのために要求された少なくとも１つのサービスを含むことを特徴とする方法。
【請求項１９】
請求項１５に記載の方法において、前記ミーティング固有情報は、他の参加者を前記スケジュールされたカンファレンスに招待することを許可されたユーザのＩＤを含むことを特徴とする方法。
【請求項２０】
請求項１５に記載の方法において、前記ミーティング固有情報は、前記スケジュールされたカンファレンスを変更することを許可されたユーザのＩＤを含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ここで説明しているテクノロジは、一般的には、通信システムを目的とし、さらに具体的には、分散カンファレンススケジューリング(distributed conference scheduling)のための技法を目的としている。
【背景技術】
【０００２】
コンピュータの豊富化およびインターネットの出現に伴い、特に、ワールドワイドウェブ(World Wide Web - Web)の成熟に伴い、コンピュータシステムを介した会話参加者間のリアルタイム会話はますます普及化している。これらの会話は、コンピュータネットワーク上でバーチャルに行われるため、従来のフェースツーフェースミーティング(face-to-face meeting)に取って代わろうとしている。
【０００３】
ウェブカンファレンシングアプリケーション(Web conferencing application)は、これらのバーチャルミーティングを実施するためにますます利用されている。代表例として、ミーティングを実施することを望んでいる人は、ミーティングにおける「プレゼンタ(presenter)」とも呼ばれ、カンファレンシングサービスを提供するカンファレンシングアプリケーションのホストとなるカンファレンシングサーバとのミーティングをスケジュールしている。カンファレンシングサーバは、他のコンポーネントの中でも、特に予約システム(reservation system)とデータストアを備えている。ある人がクライアントアプリケーションを利用してカンファレンシングサーバとのミーティングをスケジュールするとき、予約システムは要求されたミーティングのスケジューリングと、ミーティング固有データ(meeting-specific data)すべてをデータストアにストアすることを調整する。ミーティング固有データは、ミーティングまたはカンファレンスのスケジュールされた時間、出席者リスト、特権とルール、スケジュールされたミーティング期間に要求されたサービス（例えば、ホワイトボード(white boarding)、オーディオ／ビデオ、ドキュメントシェアリングなど）などの情報を含んでいる。従来のカンファレンシングサーバの欠点は、これらのバーチャルミーティングの使用が増加を続けるのに伴い、必要とする予約システムが複雑化し、データストアがますます大型化していることである。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ミーティング固有情報をセントラルストアにセーブしておかなくても、バーチャルミーティングのスケジューリング、変更および削除を可能にする技法が望まれている。
【課題を解決するための手段】
【０００５】
カンファレンスルームエンドポイント機能(conference room endpoint facility)（以下では、「機能」、「カンファレンスルームエンドポイント」、または「ミーティングエンドポイント」）と呼ばれることもある）を使用すると、ユーザは、カンファレンス固有データをセントラルストアにセーブしておかなくても、カンファレンス（以下では、「ミーティング」と呼ばれることもある）を直接にスケジュールし、スケジュールされたミーティングを非同期方式で管理することを可能にするカンファレンスルームエンドポイント機能を提供している。スケジュールされた各々のミーティングごとに、ミーティングデータは招待された各々のミーティング出席者と共にローカルにストアされる。スケジュールされたミーティングに参加する時点で、各参加者はミーティングデータの各自のコピーをカンファレンスルームエンドポイント機能に提示する。カンファレンスルームエンドポイント機能はミーティングデータの有効性を検査し、ミーティングデータの有効性検査を終えると、申し出たミーティング参加者がミーティングに入ることを許可する。
【発明を実施するための最良の形態】
【０００６】
一部の実施形態では、ミーティングエンドポイントはカンファレンシングサーバのコンポーネントとして実現されており、ミーティングオルガナイザ(meeting organizer)がミーティングをスケジュールし、許可されたミーティング出席者がスケジュールされたミーティングに参加するのを認証して許可するロジックを備えている。例えば、カンファレンスをスケジュールすることを望んでいるカンファレンスオルガナイザは、カンファレンスをスケジュールする要求を、クライアントを使用してミーティングエンドポイントに送信することができる。クライアントはカンファレンス固有詳細情報もエンドポイントに送信する。要求を受信すると、ミーティングエンドポイントはカンファレンス固有詳細情報を、トークンとも呼ばれる「ブロッブ(blob)」に入れる。そのあと、ミーティングエンドポイントはトークンに署名し、署名したトークンをクライアントに送り返す。
【０００７】
これを受けて、カンファレンスオルガナイザは、ミーティング招待状と一緒にトークンをすべてのカンファレンス出席者に送信または転送することができる。一部の実施形態では、カンファレンスオルガナイザは、MICROSOFT OUTLOOK（登録商標）などの、従来のカレンダリング(calendaring)ソフトウェアアプリケーションを使用して、ミーティングエンドポイントと通信すると共に、カンファレンス出席者を招待することもできる。ミーティングエンドポイントとの通信をカレンダリングソフトウェアアプリケーションに組み込んでおくと、エンドユーザからの通信を抽象化することができる。
【０００８】
カンファレンスに招待された各人（招待者）は、ミーティング招待状とトークンをカンファレンスオルガナイザから受信する。カンファレンスに参加または出席するために、各招待者はトークンをミーティングエンドポイントに提示する。トークンを受信すると、ミーティングエンドポイントはトークンをオープンし、トークンを提出した招待者の有効性を検査する。トークンを提出した招待者の有効性検査を終えると、ミーティングエンドポイントは招待者を出席者としてカンファレンスに入ることを許可する。
【０００９】
一部の実施形態では、ミーティングエンドポイントは、指定されたカンファレンスがまだ始まっていない場合には、ロビーなどの「待ちエリア(waiting area)」を利用して招待者を待たせておく。例えば、カンファレンスは、カンファレンスオルガナイザまたはオルガナイザが指名した参加者がカンファレンスに参加したとき開始することができる。ある招待者がカンファレンス開始前にトークンを提示したときは、ミーティングエンドポイントは、指定されたカンファレンスが開始されるまでその招待者を待ちエリアに置いておく。指定されたカンファレンスが開始すると、ミーティングエンドポイントは招待者を、例えば、出席者としてカンファレンスに入ることを許可する。
【００１０】
図１は、ミーティングエンドポイントの種々の実施形態を実現することができるコンピュータシステムの少なくともいくつかに組み込まれているのが代表的である、選択されたコンポーネントを示すブロック図である。これらのコンピュータシステム１００は、コンピュータプログラムを実行するための１または２以上の中央処理ユニット(central processing unit  CPU)１０２、プログラムとデータ（データ構造を含む）を、その使用中にストアしておくコンピュータメモリ１０４、ハードドライブのように、プログラムとデータを永続的にストアしておく永続的ストレージデバイス１０６、ＣＤ−ＲＯＭドライブのように、コンピュータ読取可能な媒体上にストアされたプログラムとデータを読み取るためのコンピュータ読取可能な媒体ドライブ１０８、およびコンピュータシステムをインターネットなどを介して、他のコンピュータシステムに接続し、プログラムおよび／またはデータ（データ構造を含む）をやりとりするためのネットワークコネクション１１０を装備することができる。当然に理解されるように、コンピュータシステム１００は、ビデオモニタやＬＣＤのように、プログラムのアウトプットを表示する１または２以上のディスプレイデバイス、およびキーボード、マイクロホン、またはマウスなどのポインティングデバイスのように、ユーザのインプットを受信する１または２以上のインプットデバイスを装備することも可能である。
【００１１】
ミーティングエンドポイントの実施形態は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラマブルコンシューマエレクトロニクス、デジタルカメラ、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システムまたはデバイスのいずれかを含む分散コンピューティング環境などを含む種々の動作環境で実現することができる。コンピュータシステムは、セル電話、パーソナルデジタルアシスタント、スマート電話、パーソナルコンピュータ、プログラマブルコンシューマエレクトロニクス、デジタルカメラなど、とすることができる。
【００１２】
ミーティングエンドポイントは、プログラムモジュールのように、コンピュータシステム１００または他のデバイスによって実行されるコンピュータ読取可能な命令の一般的コンテキストの中で説明することができる。一般的に、プログラムモジュールとしては、特定のタスクを実行し、あるいは特定の抽象データタイプを実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などがある。メモリ１０４と永続的ストレージ１０６は、ミーティングエンドポイントを実現する命令を収めることが可能なコンピュータ読取可能な媒体である。当然に理解されるように、メモリ１０４と永続的ストレージ１０６には、ミーティングエンドポイントを実現する命令に加えて、他の種々内容を収めておくことができる。
【００１３】
図２は、ミーティングエンドポイントを動作できる環境を示すブロック図である。図示のように、この環境は、ネットワーク２０６を通して複数のクライアント２０４に結合されたカンファレンシングサーバ(conferencing server)２０２を含んでいる。本明細書の中で用いられている「接続された(connected)」、「結合された(coupled)」という用語、またはそのさまざまな表現はいずれも、直接的であるか間接的であるかに関係なく、２またはそれ以上のエレメント間の任意のコネクションまたは結合を意味しており、これらのエレメント間のコネクションの結合は物理的、論理的またはその組み合わせにすることができる。
【００１４】
一般的に、カンファレンシングサーバは、オーディオ、ビデオ、データシェアリング、ホワイトボード(white boarding)、インスタントメッセージング(instant messaging)などの、カンファレンシングサービスを提供する。図２に示すように、カンファレンシングサーバはカンファレンシングアプリケーション２０８とミーティングエンドポイント２１０を備えている。カンファレンシングアプリケーションは、バーチャルミーティングなどのカンファレンシングセッションの「ホスト」となって、カンファレンスまたはミーティング参加者にカンファレンシングサービスを提供する。ミーティングエンドポイントは、ミーティングオルガナイザと出席者がミーティングをスケジュールし、参加するのを認証し、許可する認証当局(authentication authority)の働きをする。一部の実施形態では、ミーティングエンドポイントはミーティング固有情報を収めているトークンを発行し、許可し、これらのトークンはクライアントに配布されることによってカンファレンススケジューリングと管理の分散化を達成している。
【００１５】
一般的に、クライアントは、カンファレンシングサーバ、特にミーティングエンドポイントに接続して、アクセスできるようにするアプリケーションである。これらのアプリケーションはカンファレンシングサーバの種々のコンポーネントを利用して、提供されたカンファレンシングオペレーションを実行する。動作時には、ユーザはクライアントを使用してカンファレンシングサーバに接続し、カンファレンシングサーバによって提供されるサービスを利用する。例えば、クライアントは、MICROSOFT OUTLOOK（登録商標）などの、ウェブブラウザ(web browser)アプリケーションやカレンダリング(calendaring)アプリケーションにすることも、カンファレンシングサーバおよびミーティングエンドポイントに接続して、通信するのに適している他のインタフェースアプリケーションにすることもできる。
【００１６】
ネットワークは、例えば、接続されたコンピュータ相互間のエレクトロニックコンテンツの転送を容易にする通信リンクである。一実施形態では、ネットワークはインターネットを含んでいる。当然に理解されるように、ネットワークは、ローカルエリアネットワーク、ワイドエリアネットワーク、ポイントツーポイントダイアルアップコネクション(point-to-point dial-up connection)、セル電話ネットワークなどのように、１または２以上の種類のネットワークで構成することができる。
【００１７】
以下の説明では、ミーティングエンドポイントの種々実施形態を、種々の図例と関連付けて詳しく説明する。当然に理解されるように、ミーティングエンドポイントの実施形態は、さまざまな観点でこれらの例とは大幅に異なる状況で使用されることがある。
【００１８】
図３は、一部の実施形態によるマスタトークン(master token)３００のエレメントを示す図である。ミーティングエンドポイントは、スケジュールされた各々のカンファレンスごとにカンファレンス固有情報を収めているマスタトークンを作成する。図示のように、マスタトークンに収められたカンファレンス固有情報としては、ミーティングＩＤ３０２、ミーティング固有情報３０４、出席者と許可のリスト３０６、開始時間３０８、終了時間３１０、ミーティングパスワード３１２、繰り返し情報(recurrence information)３１４、およびマスタトークンタイムスタンプ３１６がある。
【００１９】
ミーティングＩＤは、特定のマスタトークンによって表わされたミーティングを特定するユニーク識別子である。ミーティング固有情報は、ミーティングの名前、ミーティングの簡単な説明、ミーティングのために要求されたサービスのリスト（例えば、オーディオ、ビデオ、データシェアリング、ホワイトボード、インスタントメッセージングなど）、およびミーティングに関係する他のデータを指定することができる。出席者と許可のリストは、ミーティングに出席し、参加することが許可された人（例えば、出席者）リストおよび出席者の役割と許可（もしあれば）を示している。ミーティングオルガナイザは、ミーティングをスケジュールしおよび／または変更する時点で、ミーティングに参加することが許可されたリスト中の１または２以上の出席者に役割と許可を指定することができる。例えば、ミーティングをスケジュールする時点で、ミーティングオルガナイザは、リスト中の１または２以上の出席者に「転送(forward)」のみの許可を与えることができる。この許可が与えられた出席者は、ミーティング要求を他のミーティング出席者に転送すること、すなわち、追加の参加者をミーティングに招待することが許される。同様に、ミーティングオルガナイザは、リスト中の１または２以上の出席者に「カンファレンス変更」許可を与えることができる。この許可が与えられた出席者は、スケジュールされたミーティングを変更することが許される。ミーティングオルガナイザは、リスト中の出席者に役割（例えば、プレゼンタ、出席者など）を割り当てることもできる。
【００２０】
開始時間は、ミーティングが開始する予定の時刻を示している。終了時間は、ミーティングが終了する予定の時刻を示している。ミーティングパスワードは任意であり、存在するときは、ミーティングへの許可を得るために要求されるパスワードを指定している。例えば、ミーティングオルガナイザは、ミーティングをスケジュールおよび／または変更する時点で、セキュアで、パスワードで保護されたミーティングをスケジュールして実施するためにパスワードを指定していることがある。ミーティングエンドポイントは、ミーティングに参加するために出席者がパスワードをマスタトークンと一緒に与えることを要求する。一部の実施形態では、ミーティングエンドポイントは、パスワードを暗号化してから、パスワードをマスタトークンに入れるようしている。一部の実施形態では、ミーティングパスワードはパスワードハッシュ(password hash)にすることができる。
【００２１】
繰り返し情報は任意であり、存在するときは、ミーティングのスケジュールが繰り返されることを指定している。例えば、ミーティングオルガナイザは、ある時間にわたって（例えば、毎週金曜日の午前１０時から午前１１時まで）繰り返されるミーティングをスケジュールすることができ、ミーティングエンドポイントは繰り返されるスケジュールを繰り返し情報の中に指定する。マスタトークンタイムスタンプは、ミーティングエンドポイントがマスタトークンを作成した時刻を示している。ミーティングエンドポイントは出席者リストの内容とマスタトークンタイムスタンプとを使用して、出席者がミーティングに入るのを許可する。一部の実施形態では、出席者リストに組み入れるほかに、ミーティングエンドポイントは、ミーティングオルガナイザまたはミーティングを開始することを許可された他のミーティング出席者によって提出されたトークンに収められたタイムスタンプ（例えば、マスタトークンタイムスタンプまたは転送トークンタイムスタンプのどちらか）と同じであるタイムスタンプ（例えば、マスタトークンタイムスタンプまたは転送トークンタイムスタンプのどちらか）を収めているトークンを提出した出席者だけをミーティングに入ることを許可する。転送トークンと転送トークンタイムスタンプについては、以下で詳しく説明する。
【００２２】
一部の実施形態では、ミーティングエンドポイントはタイムスタンプを使用して、古いトークンの起り得る誤用を防止する。例えば、ある人が古いトークンを提示すると、ミーティングエンドポイントは、新しいトークン（つまり、タイムスタンプが古いトークンのタイムスタンプ以後であるトークン）を持つミーティング出席者（例えば、ミーティングオルガナイザまたはミーティングを開始することを許可された他の出席者）がミーティングに参加または開始する時点まで、ミーティングの待ちエリアにその人を置いておくことができる。その時点で、ミーティングエンドポイントは、古いトークンを提出した人に対して然るべきアクションをとることができる。例えば、ミーティングエンドポイントは、古いトークンを提出した人を待ちエリアから取り除くことができる。他の実施形態では、ミーティングエンドポイントは、古いトークンを提出した１または２以上の人が、その古いトークンで指定されたミーティングに出席することを許可する。
【００２３】
この分野の精通者ならば理解されるように、マスタトークンには、上述したエレメントの１つまたは２つ以上が省かれている。さらに、マスタトークンには、上述したエレメントとは別のエレメントを含めることができる。
【００２４】
図４は、一部の実施形態による転送トークン４００のエレメントを示す図である。ミーティングエンドポイントは、許可されたミーティング出席者が使用して、他の参加者をスケジュールされたミーティングに招待するための転送トークンを作成する。図示のように、転送トークンはマスタトークンと転送情報４０２を含み、転送情報は転送される出席者４０４のリストと転送トークンタイムスタンプ４０６を含んでいる。転送される出席者のリストは、ミーティングに参加することを許可された追加出席者のリストを示している。転送される出席者のリストは、もしあれば、追加出席者の役割と許可を特定することもできる。転送トークンタイムスタンプは、ミーティングエンドポイントが転送トークンを作成した時刻を示している。転送トークンタイムスタンプは、マスタトークンタイムスタンプより以後の時刻を示している。転送トークンの場合には、転送される出席者のリストに組み込まれることのほかに、ミーティングエンドポイントは、（１）転送トークンに収められたマスタトークンタイムスタンプより以後の転送トークンタイムスタンプを収めている転送トークン、および（２）ミーティングオルガナイザまたはミーティングを開始することを許可された他の出席者によって提出されたトークンに収められたマスタトークンタイムスタンプと同じであるマスタトークンタイムスタンプを収めている転送トークンを提出した出席者がミーティングに入ることを許可する。ミーティングエンドポイントは、スケジュールされたミーティングに対応するマスタトークンに転送情報を付加することによって、スケジュールされたミーティングのための転送トークンを作成することができる。
【００２５】
一部の実施形態では、ミーティングエンドポイントは、対称鍵(symmetric key)を使用してトークン（つまり、マスタトークンと転送トークン）に署名してから、そのトークンを、例えば、カンファレンスオルガナイザに提出または返送する。トークンに署名することにより、ミーティングエンドポイントは、例えば、トークンがミーティングに参加する要求と共に提出されたとき、ミーティングエンドポイントがオリジナルにそのトークンを作成して発行したこと、およびそのトークンが変更されていないことを検証することができる。ミーティングエンドポイントは、トークンに署名するために使用された鍵を定期的にリフレッシュすることができる。一部の実施形態では、ミーティングエンドポイントは、種々の周知暗号化技術のいずれかを使用してトークンを暗号化することができる。ミーティングエンドポイントは、トークンに収められた他の情報を暗号化することもできる。例えば、ミーティングエンドポイントは、パスワードで保護されたミーティング用のミーティングパスワード（またはパスワードハッシュ）を暗号化することができる。
【００２６】
図５は、一部の実施形態に従ってミーティングをスケジュールし参加するために、エンドユーザとミーティングエンドポイントとの間のやりとりを示す図である。例を挙げて説明すると、ユーザＡはクライアントを使用して、ユーザＢとのミーティングを許可された出席者としてスケジュールする要求をミーティングエンドポイントに送信する（ステージ１）。ユーザＡは、ミーティングの時刻、ミーティングの継続時間、ミーティングのために要求されたカンファレンシングサービス、ミーティングがパスワードで保護されていればなんらかのパスワード、なんらかの役割または許可などの、他のミーティングに固有の情報をミーティングエンドポイントに送信することができる。ミーティングエンドポイントは、ミーティングが要求通りにスケジュール可能であるかをチェックして判断する。ミーティングがスケジュール可能であれば、ミーティングエンドポイントは要求されたミーティングのためのマスタトークンを作成し、そのマスタトークンに署名し、署名されたマスタトークンをユーザＡに返送する（ステージ２）。
【００２７】
マスタトークンを受信すると、ユーザＡはミーティングに出席する招待状とマスタトークンをユーザＢに送信する（ステージ３）。例えば、ユーザＡはマスタトークンをアタッチメントとして付けてＥメールをユーザＢに送信し、ミーティングに出席するようにユーザＢを招待する。ミーティングがパスワードで保護されていれば、ユーザＡは必要なパスワードをコールまたは他の方法でユーザに伝えることができる。他の実施形態では、ユーザＡは、例えば、インスタントメッセージング、電話、フェースツーフェース、テキストメッセージングなどの他の形式のコミュニケーションや、他の形式のインバンド(in-band)とアウトオブバンド(out-of-band)コミュニケーションを利用して、ミーティングに出席するようにユーザＢを招待することができる。ユーザＡは、ユーザＢを招待する時点でマスタトークンを与えることも、別のコミュニケーションの中でマスタトークンをユーザＢに与えることもできる。一部の実施形態では、ユーザＡはこのトークンを周知ロケーションで公表することができるので、公表すると、だれでもその周知ロケーションに行き、トークンを使用してミーティングに参加することができる。これは、「公開ミーティング」で利用すると便利である。例えば、マーケッティングが、ミーティングで、ある製品の特徴をデモンストレーションしたい場合、関心のあるすべての人が参加できるようにしたい場合がある。この場合には、トークンには、そのトークンを提示した人はだれでも、ミーティングへの参加が許可されることを示すフラグを入れておくことができる。例えば、ユーザＡは、ミーティングをスケジュールすることを要求するとき、この機能、例えば、このフラグを組み入れることを要求する。
【００２８】
スケジュールされたミーティングの凡その時点で、ユーザＢはクライアントを使用し、マスタトークンをミーティングエンドポイントに提示し、ミーティングに参加することを要求する（ステージ４）。ミーティングエンドポイントはマスタトークンをオープンし、ユーザＢが出席者リストに入っていること、従って、要求されたミーティングに参加することが許可されていることを検証する（ステージ５）。ミーティングエンドポイントは、要求されたミーティングがすでに開始しているかどうか、つまり、ミーティングが進行中であるかどうかをチェックして判断する。要求されたミーティングがまだ開始されていないと判断したときは、ミーティングエンドポイントは、ユーザＢが要求されたミーティングの指定の待ちエリアに入ることを許可する（ステップ６）。
【００２９】
他の実施形態では、例えば、待ちエリアが設けられていない実施形態では、ミーティングエンドポイントは要求されたミーティングにユーザＢが入ることを許可する。ある場合には、このミーティングに参加することを要求している出席者が他にいなければ、ユーザＢがこのミーティングの唯一の参加者であることがある。例えば、ミーティングオルガナイザ（ユーザＡ）は、例えば、ユーザＢをミーティング出席者リストから取り除くことによってミーティングを変更し、新ミーティングＩＤを持つ新マスタトークンを取得している場合がある。ここでは、旧ミーティングＩＤを持つマスタトークンを持つ人はまだ特定のミーティングに参加できるが、新マスタトークンを受信した人とは別のミーティングにいることになる。そのため、ユーザＡがユーザＢをミーティングから取り除いて、参加時に新トークンをユーザＣとＤに再配布していれば、ユーザＡ、ＣおよびＤは１つのミーティングＩＤでミーティングに参加することになり、ユーザＢは旧ミーティングＩＤでミーティングにいることになり、これらはすべて自身で行なわれることになる。従って、ユーザＢが非合法にマスタトークンを取得し、ミーティングへの許可を得た場合でも、ミーティングオルガナイザがミーティングを変更した結果、新または異なるミーティングＩＤをもつ新マスタトークンを取得し、ミーティングを変更したことを希望の出席者に通知している限り、すなわち、新マスタトークンを希望の出席者に発行している限り、ミーティングのセキュリティが危険にさらされることはない。
【００３０】
そのあと、ユーザＡはクライアントを使用し、マスタトークンをミーティングエンドポイントに提示してミーティングに参加することを要求する（ステージ７）。ミーティングエンドポイントはマスタトークンをオープンし、ユーザＡが出席者リストに含まれること、従って、要求されたミーティングに参加することを許可されていることを検証する（ステージ８）。また、ミーティングエンドポイントは、ユーザＡがミーティングオルガナイザであることを、例えば、割り当てられた役割から判断して、要求されたミーティングを開始する（ステージ９）。ミーティングエンドポイントは待ちエリアをチェックし、ユーザＢがミーティングの開始を待っていると判断する。ミーティングエンドポイントは、ユーザＢのマスタトークンのタイムスタンプがユーザＡの（例えばミーティングオルガナイザの）マスタトークンのタイムスタンプと同じであることを検証し、ユーザＢが待ちエリアからミーティングに入ることを許可する。
【００３１】
他の実施形態では、ミーティングエンドポイントは、ミーティングに参加することを要求するユーザ、例えば、出席者を認証して、そのユーザが意図する人であることを検証することができる。例えば、ミーティングエンドポイントは、例えば、Kerberosなどの種々の周知認証技法のいずれかを使用して、ユーザが意図する人であり、詐欺師でないことを確かめることができる。別の方法として、認証固有情報をトークンにストアしておくこともできる。
【００３２】
ある実施形態では、トークンのサイズが問題となる場合には、トークンの署名をクライアントによって配布し、ストアしておくことができる。そのあと、クライアントは、例えば、参加時にトークンを作成し、作成され、署名されたトークンを署名と一緒にミーティングエンドポイントに提示することができる。これを受けて、エンドポイントは、そのトークンを署名と突き合わせて有効性検査することによってトークンの正確性を有効性検査する。一部の実施形態では、トークンは種々の周知圧縮技法のいずれかを用いて圧縮することができる。
【００３３】
この分野の精通者ならば理解されるように、本明細書の中で開示されている上記および他のプロセス、やりとりおよびメソッドでは、これらのプロセス、やりとりおよびメソッドで実行される関数は、異なる順序で実現することが可能である。さらに、概説したステップは単なる例示であり、これらのステップの一部は、本発明の本質から逸脱しない限り、オプションにすることも、結合してステップを少なくすることも、ステップを増やすことも可能である。
【００３４】
図６は、一部の実施形態に従って転送トークンを取得するためにエンドユーザとミーティングエンドポイントとの間のやりとりを示す図である。例を挙げて説明すると、ユーザＡはクライアントを使用して、許可された出席者としてユーザＢ、ユーザＣ、およびユーザＤとのミーティングをスケジュールする要求をミーティングエンドポイントに送信し、そこでは、ユーザＤは他の出席者をミーティングに招待することが許可されている（ステージ１）。これを受けて、ミーティングエンドポイントは、ミーティングが要求された通りにスケジュール可能であるかをチェックして判断し、ミーティングがスケジュール可能であれば、ミーティングエンドポイントは要求されたミーティングのためのマスタトークンを作成し、そのマスタトークンに署名し、署名したマスタトークンをユーザＡに返送する（ステージ２）。
【００３５】
マスタトークンを受信すると、ユーザＡはミーティングに出席する招待状とマスタトークンをユーザＢ、ＣおよびＤの各々に送信する（ステージ３）。そのあと、ユーザＤが別の出席者、つまり、ユーザＥをミーティングに招待することを望んでいるときは、ユーザＤはマスタトークンをミーティングエンドポイントに提示し、ユーザＥをミーティングの許可された出席者として含めることを要求する（ステージ４）。ミーティングエンドポイントはマスタトークンをオープンし、ユーザＤが他の出席者をミーティングに招待することを許可されていることを、例えば、出席者と役割リストから検証する（ステージ５）。ミーティングエンドポイントは、要求されたミーティングのための転送トークンを作成し、その転送トークンに署名し、署名した転送トークンをユーザＤに返送する（ステージ６）。一部の実施形態では、転送トークンはユーザＥが、例えば、転送される出席者リストの中でミーティングの許可された出席者であることを示している。他の実施形態では、転送トークンの中の転送される出席者リストは、ミーティングのすべての許可された出席者、例えば、ユーザＡ、ユーザＢ、ユーザＣ、ユーザＤ、およびユーザＥを示すことができる。
【００３６】
転送トークンを受信すると、ユーザＤはミーティングに出席する招待状と転送トークンをユーザＥに送信する（ステージ７）。そのあと、例えば、スケジュールされたミーティングの凡その時刻に、ユーザＡ、ＢおよびＣの各々は、マスタトークンをミーティングエンドポイントに提示し、ミーティングに参加することを要求することができ、ユーザＤとＥの各々は転送トークンをミーティングエンドポイントに提示し、ミーティングに参加することを要求することができる。
【００３７】
図７は、ある実施形態に従い、スケジュールされたミーティングを変更するためにエンドユーザとミーティングエンドポイントとの間のやりとりを示す図である。例を挙げて説明すると、ユーザＡはクライアントを使用して、ユーザＢ、ユーザＣ、およびユーザＤとのミーティングを許可された出席者としてスケジュールする要求をミーティングエンドポイントに送信し、そこでは、ユーザＡはミーティングを変更することを許可されている（ステージ１）。ミーティングエンドポイントは、ミーティングが要求された通りにスケジュール可能であるかをチェックして判断し、ミーティングがスケジュール可能であれば、ミーティングエンドポイントは要求されたミーティングのためのマスタトークンＡを作成し、マスタトークンＡに署名し、署名したマスタトークンＡをユーザＡに返送する（ステージ２）。
【００３８】
マスタトークンＡを受信すると、ユーザＡはミーティングに出席する招待状とマスタトークンＡをユーザＢ、ＣおよびＤの各々に送信する（ステージ３）。そのあと、ユーザＡがスケジュールされたミーティングを変更したいときは、ユーザＡはマスタトークンＡをミーティングエンドポイントに提示し、スケジュールされたミーティング、すなわち、マスタトークンＡによって表されたミーティングを変更することを要求する。具体的には、ユーザＡは、ユーザＤを許可された出席者として削除し、ユーザＥをミーティングの許可された出席者として含めるために、スケジュールされたミーティングを変更することを要求する（ステージ４）。ミーティングエンドポイントはマスタトークンＡをオープンし、ユーザＡがミーティングを変更することを許可されていることを、例えば、出席者と役割リストから検証する。ユーザＡがミーティングを変更することを許可されていることを検証したあと、ミーティングエンドポイントは変更されたミーティングのための新マスタトークンＢを作成し、マスタトークンＢに署名し、署名されたマスタトークンＢをユーザＡに返送する（ステージ５）。マスタトークンＢを受信すると、ユーザＡは変更されたミーティングに出席する招待状とマスタトークンＢをユーザＢ、ＣおよびＥの各々に送信する（ステージ６）。ユーザＡは、以前にスケジュールされたミーティングが変更されたことを、ユーザＢ、ＣおよびＥに通知することができる。ユーザＡは、マスタトークンＡによって表されている、オリジナルにスケジュールされたミーティングがすでにキャンセルされ、実施されないことをユーザＤに通知することもできる。
【００３９】
そのあと、例えば、スケジュールされたミーティングの凡その時刻に、ユーザＡ、Ｂ、Ｃ、およびＥの各々は、マスタトークンＢをミーティングエンドポイントに提示し、ミーティングに参加することを要求することができる。ユーザＤがマスタトークンＡをミーティングエンドポイントに提示し、ミーティング、すなわち、マスタトークンＡによって表わされたミーティングに参加することを要求した場合には、ミーティングエンドポイントは、ユーザＤが唯一の参加者であるミーティングを作成することができる。ここでは、ユーザＤは、ユーザＡ、Ｂ、Ｃ、およびＥが参加しているミーティング、すなわち、マスタトークンＢによって表わされたミーティングとは別のミーティング、すなわち、マスタトークンＡによって表わされたミーティングに置かれる。
【００４０】
例えば、ミーティングエンドポイントが待ちルームを利用するような他の実施形態では、ユーザＤを待ちルームに置いておくことができる。ミーティングエンドポイントは、例えば、要求されたミーティングがあらかじめ決めた時間量以内に開始しない場合には、あとでユーザＤを待ちルームから取り除くことができる。
【００４１】
当業者ならば理解されるように、ミーティング変更の役割または権限はミーティングオルガナイザに限定されることなく、任意の１または２以上の許可されたミーティング出席者に与えることができる。
【００４２】
一部の実施形態では、ミーティングエンドポイントは、ある程度のリソース管理と予約ベースのブッキングを行なうために、限られたデータストアを維持することができる。例えば、ミーティングエンドポイントは、１タイムスロットでミーティングの「二重ブッキング」を避けるために空き／使用中(free/busy)情報をストアすることができる。別の例では、ミーティングエンドポイントは、バンド幅最適化、ネットワークトラフィックなどの、コンフィギュレーション情報をストアすることができる。例えば、カンファレンシングサーバアドミニストレータ(conference server administrator)は、どの時間でも最大１０ミーティングを実施するように、あるいはどの時点でもミーティングの出席者が最大１００人になるようにカンファレンシングサーバを構成することができる。ミーティングエンドポイントはこのコンフィギュレーション情報をそのデータストアにストアしておけば、カンファレンシングサーバがその特定コンフィグレーションに従って動作していることを確かめることができる。
【００４３】
一部の実施形態では、ミーティングエンドポイント機能を使用すると、種々のカレンダリング機能を統合化することが容易になる。例えば、この機能を使用すると、MICROSOFT OUTLOOK（登録商標）などの、カレンダリングアプリケーションに用意されている「新時間提案(propose new time)」機能を組み込むことができる。これは、ミーティング変更要求としてこの機能に組み入れておくだけで、すべての出席者には、スケジュールされたミーティングに対して新時間を提案する許可がデフォルトで与えられることになる。
【００４４】
当業者ならば理解されるように、上記のやりとりの例に示すユーザの数、例えば、ミーティング出席者の数は専ら説明を簡略化し、容易化したものであり、ミーティング出席者の実際の数を制限するものではなく、ミーティング出席者の数は異なることができる。また、この分野の精通者ならば理解されるように、上記のやりとり例に示す転送トークン要求および／またはミーティング変更の数は専ら説明を簡略化し、容易化したものであり、行なわれることのある転送トークン要求および／またはミーティング変更の数を制限するものではなく、転送トークン要求の数および／またはミーティング変更の数は異なることができる。
【００４５】
以上の説明から理解されるように、本発明の実施形態は例示を目的に説明したものであり、本発明の精神と範囲から逸脱しない限り種々態様に変更することが可能である。従って、本発明は特許請求の範囲に明示的に列挙されているエレメントに従う場合を除き、制限されるものではない。
【図面の簡単な説明】
【００４６】
【図１】ミーティングエンドポイントの種々の実施形態を実現することができるコンピュータシステムの少なくともいくつかに一般的に組み込まれている、選択されたコンポーネントを示すブロック図である。
【図２】ミーティングエンドポイントを動作させることができる環境を示すブロック図である。
【図３】一部の実施形態によるマスタトークンのエレメントを示す図である。
【図４】一部の実施形態による転送トークンのエレメントを示す図である。
【図５】一部の実施形態に従いミーティングをスケジュールし、参加するためにエンドユーザとミーティングエンドポイントとの間のやりとりを示す図である。
【図６】一部の実施形態に従い転送トークンを取得するためにエンドユーザとミーティングエンドポイントとの間のやりとりを示す図である。
【図７】一部の実施形態に従いスケジュールされたミーティングを変更するためにエンドユーザとミーティングエンドポイントとの間のやりとりを示す図である。
【図１】
2008546052.tif 000003
【図２】
2008546052.tif 000004
【図３】
2008546052.tif 000005
【図４】
2008546052.tif 000006
【図５】
2008546052.tif 000007
【図６】
2008546052.tif 000008
【図７】
2008546052.tif 000009