(57)【要約】【課題】  ＩＷＢ上の共同を管理するアプローチを提供する。【解決手段】  ＩＷＢ上の共同を管理するアプローチは、異なる第三者共同サービスのユーザがＩＷＢ上の共同会議に参加することを可能にする。本アプローチは、ユーザが異なる第三者共同サービスを使用していても、ユーザが、注釈のようなＩＷＢにより提供される共同機能を使用し、互いに通信できるようにする。本アプローチは、ライセンスキー及びトークン管理、クロスライセンス共同、ユーザ管理及び会議管理を含む、「単一のラッパ」アプリケーションプログラムインタフェース（ＡＰＩ）及び共同会議の中央管理を提供する共同マネジャを使用する。共同マネジャは、異なる第三者共同サービスのＡＰＩを扱う仲介層として機能し、異種共同クライアントを使用するユーザが共同会議に参加できるようにする。【選択図】  図１
2018101418.tif 000002
【特許請求の範囲】
【請求項１】
機器であって、
１又は複数のプロセッサと、
命令を格納する１又は複数のメモリと、
を有し、前記命令は、前記１又は複数のプロセッサにより処理されると、管理サービスに、
対話型ホワイトボード（ＩＷＢ）機器で実行しているアプリケーションから、前記機器及び前記ＩＷＢ機器で実行しているアプリケーションの両者の外部にある第１共同サービス上でコンテンツ共同機能を実行するための第１要求を受信させ、前記第１要求は、前記管理サービスによりサポートされ且つ前記第１共同サービスによりサポートされない共通アプリケーションプログラムインタフェース（ＡＰＩ）に従い、
前記ＩＷＢ機器及び前記機器の両方の外部にある第１共同サービス上で共同機能を実行するための前記第１要求と、前記第１共同サービスのＡＰＩの要件を定める前記管理サービスにより管理されるＡＰＩデータとに基づき、前記ＩＷＢ機器及び前記機器の両方の外部にある前記第１共同サービス上で前記コンテンツ共同機能を実行するための第２要求を生成させ、前記第２要求は、前記第１共同サービスによりサポートされる前記ＡＰＩの要件を満たし且つ前記管理サービスによりサポートされる前記共通ＡＰＩの要件を満たさず、
前記第１共同サービス上で前記コンテンツ共同機能を実行するための前記第２要求を、処理のために前記第１共同サービスへ送信させる、
機器。
【請求項２】
前記ＩＷＢ機器及び前記機器の両方の外部にある第１共同サービス上で共同機能を実行するための前記第１要求と、前記第１共同サービスのＡＰＩの要件を定める前記管理サービスにより管理されるＡＰＩデータとに基づき、前記ＩＷＢ機器及び前記機器の両方の外部にある前記第１共同サービス上で前記コンテンツ共同機能を実行するための第２要求を生成させることは、第１共同サービス上のコンテンツ共同機能を実行するための前記第１要求から、１又は複数のコマンド、データ、又は引数を抽出することを含む、請求項１に記載の機器。
【請求項３】
前記管理サービスにより管理される前記ＡＰＩデータは、前記第１共同サービスの前記ＡＰＩのデータプロトコル又はフォーマットを定め、
前記管理サービスにより生成される前記第２要求は、前記第１共同サービスの前記ＡＰＩの前記管理サービスにより管理される前記ＡＰＩデータにより定められる前記データプロトコル又はデータフォーマットに従う、
請求項１に記載の機器。
【請求項４】
前記管理サービスにより管理される前記ＡＰＩデータは、前記第１共同サービスの前記ＡＰＩの複数のバージョンについて要件を定め、
第１共同サービス上でコンテンツ共同機能を実行する前記第１要求は、前記第１共同サービスの前記ＡＰＩのバージョンを指定せず、
前記管理サービスは、前記第１共同サービスの前記ＡＰＩの規定又は好適バージョンを決定し、
前記管理サービスは、前記第１共同サービスの前記ＡＰＩの前記規定又は好適バージョンについて定められた要件に基づき、前記第２要求を生成する、
請求項１に記載の機器。
【請求項５】
第１共同サービス上でコンテンツ共同機能を実行する前記第１要求は、前記第１共同サービスの前記ＡＰＩの特定バージョンを指定し、
前記管理サービスにより管理される前記ＡＰＩデータは、前記第１共同サービスの前記ＡＰＩの前記特定バージョンについて要件を定め、
前記管理サービスは、前記第１共同サービスの前記ＡＰＩの前記特定バージョンについて前記管理サービスにより管理される前記ＡＰＩデータにより定められる前記要件に基づき、前記第２要求を生成する、
請求項１に記載の機器。
【請求項６】
前記ＩＷＢ上で実行している前記アプリケーションは、スタンドアロンプロセス、プラグインモジュール、ウィジェット、又はライブラリのうちの１又は複数である、請求項１に記載の機器。
【請求項７】
前記ＩＷＢ上で実行している前記アプリケーションは、前記第１共同サービスを含む複数のコンテンツ共同サービスにより提供される複数の電子会議サービスにアクセスする共通グラフィカルユーザインタフェースを提供する、請求項１に記載の機器。
【請求項８】
前記ＩＷＢ上で実行している前記第１共同サービスは、電子会議サービスである、請求項１に記載の機器。
【請求項９】
前記第１共同サービス上でコンテンツ共同機能を実行する前記第１要求から前記管理サービスにより抽出された１又は複数のコマンドは、ログインコマンド、会議生成コマンド、会議参加コマンド、又は会議状態要求、のうちの１又は複数を含む、請求項１に記載の機器。
【請求項１０】
命令を格納する１又は複数の非一時的コンピュータ可読媒体であって、前記命令は、１又は複数のプロセッサにより処理されると、
１又は複数のコンピューティング装置で実行している管理サービスに、
対話型ホワイトボード（ＩＷＢ）機器で実行しているアプリケーションから、前記１又は複数のコンピューティング装置及び前記ＩＷＢ機器で実行しているアプリケーションの両方の外部にある第１共同サービス上でコンテンツ共同機能を実行するための第１要求を受信させ、前記第１要求は、前記管理サービスによりサポートされ且つ前記第１共同サービスによりサポートされない共通アプリケーションプログラムインタフェース（ＡＰＩ）に従い、
前記ＩＷＢ機器及び前記１又は複数のコンピューティング装置の両方の外部にある第１共同サービス上で共同機能を実行するための前記第１要求と、前記第１共同サービスのＡＰＩの要件を定める前記管理サービスにより管理されるＡＰＩデータとに基づき、前記ＩＷＢ機器及び前記１又は複数のコンピューティング装置の両方の外部にある前記第１共同サービス上で前記コンテンツ共同機能を実行するための第２要求を生成させ、前記第２要求は、前記第１共同サービスによりサポートされる前記ＡＰＩの要件を満たし且つ前記管理サービスによりサポートされる前記共通ＡＰＩの要件を満たさず、
前記第１共同サービス上で前記コンテンツ共同機能を実行するための前記第２要求を、処理のために前記第１共同サービスへ送信させる、
１又は複数の非一時的コンピュータ可読媒体。
【請求項１１】
前記ＩＷＢ機器及び前記１又は複数のコンピューティング装置の両方の外部にある第１共同サービス上で共同機能を実行するための前記第１要求と、前記第１共同サービスのＡＰＩの要件を定める前記管理サービスにより管理されるＡＰＩデータとに基づき、前記ＩＷＢ機器及び前記１又は複数のコンピューティング装置の両方の外部にある前記第１共同サービス上で前記コンテンツ共同機能を実行するための第２要求を生成させることは、第１共同サービス上のコンテンツ共同機能を実行するための第１要求から、１又は複数のコマンド、データ、又は引数を抽出することを含む、請求項１０に記載の１又は複数の非一時的コンピュータ可読媒体。
【請求項１２】
前記管理サービスにより管理される前記ＡＰＩデータは、前記第１共同サービスの前記ＡＰＩのデータプロトコル又はフォーマットを定め、
前記管理サービスにより生成される前記第２要求は、前記第１共同サービスの前記ＡＰＩの前記管理サービスにより管理される前記ＡＰＩデータにより定められる前記データプロトコル又はデータフォーマットに従う、
請求項１０に記載の１又は複数の非一時的コンピュータ可読媒体。
【請求項１３】
前記管理サービスにより管理される前記ＡＰＩデータは、前記第１共同サービスの前記ＡＰＩの複数のバージョンについて要件を定め、
第１共同サービス上でコンテンツ共同機能を実行する前記第１要求は、前記第１共同サービスの前記ＡＰＩのバージョンを指定せず、
前記管理サービスは、前記第１共同サービスの前記ＡＰＩの規定又は好適バージョンを決定し、
前記管理サービスは、前記第１共同サービスの前記ＡＰＩの前記規定又は好適バージョンについて定められた要件に基づき、前記第２要求を生成する、
請求項１０に記載の１又は複数の非一時的コンピュータ可読媒体。
【請求項１４】
第１共同サービス上でコンテンツ共同機能を実行する前記第１要求は、前記第１共同サービスの前記ＡＰＩの特定バージョンを指定し、
前記管理サービスにより管理される前記ＡＰＩデータは、前記第１共同サービスの前記ＡＰＩの前記特定バージョンについて要件を定め、
前記管理サービスは、前記第１共同サービスの前記ＡＰＩの前記特定バージョンについて前記管理サービスにより管理される前記ＡＰＩデータにより定められる前記要件に基づき、前記第２要求を生成する、
請求項１０に記載の１又は複数の非一時的コンピュータ可読媒体。
【請求項１５】
前記ＩＷＢ上で実行している前記アプリケーションは、スタンドアロンプロセス、プラグインモジュール、ウィジェット、又はライブラリのうちの１又は複数である、請求項１０に記載の１又は複数の非一時的コンピュータ可読媒体。
【請求項１６】
前記ＩＷＢ上で実行している前記アプリケーションは、前記第１共同サービスを含む複数のコンテンツ共同サービスにより提供される複数の電子会議サービスにアクセスする共通グラフィカルユーザインタフェースを提供する、請求項１０に記載の１又は複数の非一時的コンピュータ可読媒体。
【請求項１７】
前記ＩＷＢ上で実行している前記第１共同サービスは、電子会議サービスである、請求項１０に記載の１又は複数の非一時的コンピュータ可読媒体。
【請求項１８】
前記第１共同サービス上でコンテンツ共同機能を実行する前記第１要求から前記管理サービスにより抽出された１又は複数のコマンドは、ログインコマンド、会議生成コマンド、会議参加コマンド、又は会議状態要求、のうちの１又は複数を含む、請求項１０に記載の１又は複数の非一時的コンピュータ可読媒体。
【請求項１９】
コンピュータにより実施される方法であって、
１又は複数のコンピューティング装置で実行している管理サービスが、
対話型ホワイトボード（ＩＷＢ）機器で実行しているアプリケーションから、前記１又は複数のコンピューティング装置及び前記ＩＷＢ機器で実行しているアプリケーションの両方の外部にある第１共同サービス上でコンテンツ共同機能を実行するための第１要求を受信し、前記第１要求は、前記管理サービスによりサポートされ且つ前記第１共同サービスによりサポートされない共通アプリケーションプログラムインタフェース（ＡＰＩ）に従い、
前記ＩＷＢ機器及び前記１又は複数のコンピューティング装置の両方の外部にある第１共同サービス上で共同機能を実行するための前記第１要求と、前記第１共同サービスのＡＰＩの要件を定める前記管理サービスにより管理されるＡＰＩデータとに基づき、前記ＩＷＢ機器及び前記１又は複数のコンピューティング装置の両方の外部にある前記第１共同サービス上で前記コンテンツ共同機能を実行するための第２要求を生成し、前記第２要求は、前記第１共同サービスによりサポートされる前記ＡＰＩの要件を満たし且つ前記管理サービスによりサポートされる前記共通ＡＰＩの要件を満たさず、
前記第１共同サービス上で前記コンテンツ共同機能を実行するための前記第２要求を、処理のために前記第１共同サービスへ送信させる、
コンピュータにより実施される方法。
【請求項２０】
前記ＩＷＢ機器及び前記１又は複数のコンピューティング装置の両方の外部にある第１共同サービス上で共同機能を実行するための前記第１要求と、前記第１共同サービスのＡＰＩの要件を定める前記管理サービスにより管理されるＡＰＩデータとに基づき、前記ＩＷＢ機器及び前記１又は複数のコンピューティング装置の両方の外部にある前記第１共同サービス上で前記コンテンツ共同機能を実行するための第２要求を生成することは、第１共同サービス上のコンテンツ共同機能を実行するための第１要求から、１又は複数のコマンド、データ、又は引数を抽出することを含む、請求項１９に記載のコンピュータにより実施される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］
本願は、米国特許出願第ｘｘｘ号（代理人管理番号第４９９８６−０８８４号）、名称「APPROACH  FOR  ACCESSING  THIRD−PARTY  CONTENT  COLLABORATION  SERVICES  ON  INTERACTIVE  WHITEBOARD  APPLIANCE  USING  CROSS−LICENSE  AUTHENTICATION」、２０１６年１２月１９日出願、及び米国特許出願第ｘｘｘ号（代理人管理番号第４９９８６−０８８５号）、名称「APPROACH  FOR  ACCESSING  THIRD−PARTY  CONTENT  COLLABORATION  SERVICES  ON  INTERACTIVE  WHITEBOARD  APPLIANCES  BY  AN  APPLICATION  USING  A  WRAPPER  APPLICATION  PROGRAM  INTERFACE」、２０１６年１２月１９日出願、に関連する。これらの米国特許出願の全部は、参照によりあらゆる目的で全内容が本願明細書に完全に記載されたように組み込まれる。
【０００２】
［技術分野］
実施形態は、概して、コンピュータネットワークを介して行われる電子会議に関する。提案されるグループ技術ユニット：２６２５、提案される分類：３５８。
【背景技術】
【０００３】
この章に記載されるアプローチは、達成しようとされた可能性のあるアプローチであるが、必ずしも従前に考案され又は達成されたアプローチではない。したがって、特に示されない限り、本章に記載されるアプローチは、本願の請求項に対する従来技術ではなく、この章に含まれることにより従来技術と見なされるものではない。
【０００４】
対話型ホワイトボード（Interactive  whiteboard：ＩＷＢ）機器は、ユーザが、文書及びファイルのような電子情報を共有し、他のＩＷＢ、クライアント装置、モバイルアプリケーション、及び第三者ソリューションとリアルタイムに共同できるようにする。ＩＷＢの幾つかの優れた特徴は、注釈、ファイル共有及び同期、ＯＣＲ、並びにローカル機能を含む。例えば、異なる地理的位置にいるユーザは、電子文書をリアルタイムに閲覧し、議論し、注釈を付けることができる。ＩＷＢは、リアルタイム共同を更に実現するために、第三者ビデオ会議ソリューションも構成されて良い。第三者ビデオ会議ソリューションは、通常、所謂「浅い統合（shallow  integration）」を用いて、つまり、ＩＷＢのグラフィカルユーザインタフェースを介して開始されるホワイトボードの上の別個のプロセスとして、ＩＷＢ上に実装される。
【０００５】
この種の「浅い統合」は、ＩＷＢ機能を第三者ビデオ会議ソリューションに統合する限られた能力、膨大な数の第三者ビデオ会議ソリューションをサポートし及び管理する際の困難及び複雑性の追加、を含む幾つかの望ましくない特徴を有する。例えば、ＩＷＢは、もしかすると、膨大な数の第三者ビデオ会議ソリューションを管理しなければならない。これは、必要な計算リソースの量を増大し、第三者ビデオ会議ソリューション毎の制御によりグラフィカルユーザインタフェースを混乱させ得る。さらに、第三者ビデオ会議ソリューションのグラフィカルユーザインタフェースの見た目及び感じが互いに、及びＩＷＢの本来のグラフィカルユーザインタフェースの見た目及び感じと、異なる。また、「浅い統合」は、エンタープライズクライアントアプリケーションにより生じる複雑性及びユーザインタフェース（ＵＩ）の混乱のために、モバイルアプリケーション上のエンタープライズクライアントアプリケーションを管理するために使用することもできない。さらに、ユーザは、異なるビデオ会議ソリューションを介して互いに通信できず、ユーザ認証は、各ビデオ会議ソリューションにより別個に実行されなければならない。
【発明の概要】
【０００６】
機器は、１又は複数のプロセッサと、命令を格納する１又は複数のメモリとを有し、前記命令は、前記１又は複数のプロセッサにより処理されると、管理サービスに、対話型ホワイトボード（ＩＷＢ）機器上で実行しているアプリケーションから、前記ＩＷＢ機器で実行している前記アプリケーション及び前記機器の両方の外部にある第１共同サービス上のコンテンツ共同機能を実行するための第１要求を受信させる。前記第１要求は、管理サービスによりサポートされ且つ前記第１共同サービスによりサポートされない共通アプリケーションプログラムインタフェース（ＡＰＩ）に従う。前記管理サービスは、前記ＩＷＢ機器及び前記装置の両方の外部にある第１共同サービス上で共同機能を実行するための前記第１要求と、前記第１共同サービスのＡＰＩの要件を定める前記管理サービスにより管理されるＡＰＩデータとに基づき、前記ＩＷＢ及び前記機器の両方の外部にある前記第１共同サービス上で前記コンテンツ共同機能を実行するための第２要求を生成する。前記第２要求は、前記第１共同サービスによりサポートされる前記ＡＰＩの要件を満たし、且つ前記管理サービスによりサポートされる前記共通ＡＰＩを満たさない。前記管理サービスは、前記第１共同サービス上の前記コンテンツ共同機能を実行するための前記第２要求を、処理のために前記第１共同サービスへ送信させる。本アプローチは、１又は複数のプロセッサにより実行されると機能を実行させる命令を格納する１又は複数の非一時的コンピュータ可読媒体により実施されても良い。本アプローチは、１又は複数のコンピュータにより実施される方法により実施されても良い。
【図面の簡単な説明】
【０００７】
添付の図面中、同様の参照符号は同様の要素を表す。
【図１】対話式ホワイトボード（ＩＷＢ）装置上の共同を管理する例示的な構成を示すブロック図である。
【図２Ａ】ＯｎｅＬａｕｎｃｈアプリケーションの実施により表示される「ＯｎｅＬａｕｎｃｈパネル」として本願明細書で参照される初期画面を示す。
【図２Ｂ】ユーザがＯｎｅＬａｕｎｃｈパネルから「ログイン（Ｌｏｇｉｎ）」オプションを選択することに応答して、ＯｎｅＬａｕｎｃｈアプリケーションにより表示されるログイン画面を示す。
【図２Ｃ】選択された第三者共同サービスのユーザＩＤ及びパスワードの形式でユーザ認証情報をユーザが入力できるユーザ認証画面を示す。
【図２Ｄ】現在ログインしているユーザがＯｎｅＬａｕｎｃｈパネルから「発呼（Ｃａｌｌ）」オプションを選択することに応答して、ＯｎｅＬａｕｎｃｈアプリケーションにより表示される例示的な電子会議画面を示す。
【図２Ｅ】ユーザがＯｎｅＬａｕｎｃｈパネルから「会議室（Ｒｏｏｍｓ）」オプションを選択することに応答して、ＯｎｅＬａｕｎｃｈアプリケーションにより表示される会議室画面を示す。
【図２Ｆ】ユーザがＯｎｅＬａｕｎｃｈパネルから「会議（Ｍｅｅｔｉｎｇｓ）」オプションを選択することに応答して、ＯｎｅＬａｕｎｃｈアプリケーションにより表示される例示的な会議管理画面を示す。
【図２Ｇ】ユーザがＯｎｅＬａｕｎｃｈパネルから「連絡先（Ｃｏｎｔａｃｔｓ）」オプションを選択することに応答して、ＯｎｅＬａｕｎｃｈアプリケーションにより表示される例示的な連絡先画面を示す。
【図２Ｈ】ユーザがＯｎｅＬａｕｎｃｈパネルから「共有（Ｓｈａｒｅ）」オプションを選択することに応答して、ＯｎｅＬａｕｎｃｈアプリケーションにより表示される例示的な共有画面を示す。
【図３】ＯｎｅＬａｕｎｃｈＡＰＩによりサポートされる例示的なコマンド及び対応する引数を指定するテーブルを示す。
【図４Ａ】ＯｎｅＬａｕｎｃｈマネジャのＯｎｅＬａｕｎｃｈＡＰＩ及びＡＰＩマネジャが第三者共同サービスに統一ＡＰＩ呼び出しを提供する構成を示す。
【図４Ｂ】ＯｎｅＬａｕｎｃｈマネジャのＯｎｅＬａｕｎｃｈＡＰＩ及びＡＰＩマネジャが、ＯｎｅＬａｕｎｃｈＡＰＩによりサポートされる１又は複数のデータプロトコル及びフォーマットと第三者共同サービスにより要求されるデータプロトコル及びフォーマットとの間でデータ変換サービスを提供する構成を示す。
【図４Ｃ】第三者共同サービスが複数のＡＰＩバージョンをサポートし、ＡＰＩマネジャが各第三者共同サービスのために使用するのに適切なＡＰＩバージョンを決定する、構成を示す。
【図４Ｄ】サービスＢがバージョン１．０、２．０、３．０を含む３つのＡＰＩバージョンをサポートする構成を示す。
【図５】第三者共同サービスのＡＰＩ属性を指定する例示的なＡＰＩデータを示すテーブルである。
【図６Ａ】第三者共同サービス１０８のライセンスキーを格納するライセンスキーテーブルを示す。
【図６Ｂ】第三者共同サービスのユーザサブスクリプションデータを格納するユーザサブスクリプションテーブルを示す。
【図６Ｃ】異なる第三者共同サービスに関連する機能／動作を認証するために使用される認証トークンを格納する認証トークンテーブルを示す。
【図６Ｄ】異なる第三者共同サービスを使用するユーザ間の共同をサポートするためにＯｎｅＬａｕｎｃｈマネジャにより使用されるクロスライセンス認証トークンを格納するクロスライセンス認証トークンテーブルである。
【図６Ｅ】異なる第三者共同サービスのユーザサブスクリプションデータを格納するユーザ状態テーブルである。
【図６Ｆ】共同会議の状態情報を格納する会議状態テーブルである。
【図７Ａ】ユーザが異なる第三者共同サービスを使用して電子的に共同することを可能にするクロスライセンス共同の論理的概略を示すブロック図である。
【図７Ｂ】クロスライセンス認証トークンを使用するアプローチを示すフロー図である。
【図８】ログイン手順の間の種々の要素間の例示的な総合作用を示すメッセージはしご図である。
【図９】実施形態が実装され得るコンピュータシステムのブロック図である。
【発明を実施するための形態】
【０００８】
以下の説明では、説明を目的として、本発明の実施形態の完全な理解を提供するために、多くの詳細事項が説明される。しかしながら、当業者は、本発明がそのような特定の詳細にかかわらず実施できることを理解するだろう。他の例では、良く知られた構造及び装置が、本発明を不必要に不明瞭にしないために、ブロック図で示される。本発明の種々の態様は、以下の章で記載される。
【０００９】
Ｉ．概略
ＩＩ．アーキテクチャ
ＩＩＩ．ＯｎｅＬａｕｎｃｈユーザインタフェース
Ａ．ログイン（Login）
Ｂ．発呼（Call）
Ｃ．会議室（Rooms）
Ｄ．送信（Send）
Ｅ．チャット（Chat）
Ｆ．会議（Meetings）
Ｇ．連絡先（Contacts）
Ｈ．共有（Share）
ＩＶ．ＡＰＩ管理
Ｖ．ライセンスキー管理
ＶＩ．クロスライセンス共同
ＶＩＩ．動作例
ＶＩＩＩ．実装例
Ｉ．概略
ＩＷＢ上の共同を管理するアプローチは、異なる第三者共同サービスのユーザがＩＷＢ上の共同会議に参加することを可能にする。本アプローチは、ユーザが異なる第三者共同サービスを使用していても、ユーザが、注釈のようなＩＷＢにより提供される共同機能を使用し、互いに通信できるようにする。本アプローチは、ライセンスキー及びトークン管理、クロスライセンス共同、ユーザ管理及び会議管理を含む、「単一のラッパ」アプリケーションプログラムインタフェース（ＡＰＩ）及び共同会議の中央管理を提供する共同マネジャを使用する。共同マネジャは、異なる第三者共同サービスのＡＰＩを扱う仲介層として機能し、異種共同クライアントを使用するユーザが共同会議に参加できるようにする。
【００１０】
ＩＩ．アーキテクチャ
図１は、ＩＷＢ上の共同を管理する例示的な構成１００を示すブロック図である。図１に示す例では、構成１００は、ＩＷＢ１０２及びクライアント装置１０４の形式のクライアント装置、ＯｎｅＬａｕｎｃｈマネジャ１０６、及び第三者共同サービス１０８を含む。これらの要素は、例えばインターネットを含む１又は複数の有線又は無線ネットワーク接続、及び１又は複数の直接有線又は無線ネットワーク接続を介して通信可能に結合されて良い。実施形態は、図１に示した特定の例示的な構成１００に限定されず、個々の実装に依存してより少ない又は追加の要素を有して良い。
【００１１】
ＩＷＢ１０２及びクライアント装置１０４は、それぞれ、ＯｎｅＬａｕｎｃｈマネジャ１０６を介して第三者共同サービス１０８へのアクセスを提供するＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２により構成される。第三者共同サービス１０８は、任意の種類の共同サービス、例えば、オーディオ／ビデオ会議サービス、メッセージサービス、チャットサービス、デスクトップ、アプリケーション及びデータ共有サービス、等であって良い。
【００１２】
ＩＷＢ１０２は、１又は複数のプロセッサ、１又は複数のメモリ、及びユーザインタフェースを含む。ユーザインタフェースは、ユーザへの連絡先を表示し、情報を表示し且つ例えばメニュー項目を選択するユーザ入力を受け付けるタッチスクリーンにより実装され、ＩＷＢ１０２上に表示されたコンテンツに注釈を付ける、等して良い。ＩＷＢ１０２は、１又は複数の有線又は無線ネットワークを介して他の装置と通信する有線及び無線インタフェースを含んで良い。一実施形態によると、ＩＷＢ１０２は、スタンドアロン装置として実装される。クライアント装置１０４は、任意の種類のクライアント装置により実装されて良い。クライアント装置１０４の例示的な実装は、限定ではなく、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティング装置、パーソナルデジタルアシスタント（ＰＤＡ）、モバイル装置、スマートフォン、多機能周辺機器（ＭＦＰ）、スキャニング装置、等を含む。
【００１３】
ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２は、それぞれ、ＯｎｅＬａｕｎｃｈマネジャ１０６により提供される機能及びデータへのアクセスを提供するＯｎｅＬａｕｎｃｈアプリケーションプログラムインタフェース（ＡＰＩ）１２０を介して、ＯｎｅＬａｕｎｃｈマネジャ１０６にアクセスするよう構成される共同アプリケーションである。ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２は、ＡＰＩのような第三者共同サービス１０８の詳細を実装する必要がなく、ＯｎｅＬａｕｎｃｈマネジャ１０６のＯｎｅＬａｕｎｃｈＡＰＩ１２０を介して任意の数の第三者共同サービス１０８にアクセスする、所謂「シンクライアント」として実装されて良い。したがって、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２は、ＩＷＢ１０２及びクライアント装置１０４に第三者共同サービス１０８の各々のために別個のクライアントをインストールする必要無しに、第三者共同サービス１０８へのクライアント側アクセスを提供する。用語「アプリケーション」は、説明目的でのみ本願明細書において使用され、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２は、スタンドアロンアプリケーション自体に限定されない。ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２は、それぞれ、スタンドアロンプロセス、プラグインモジュール、ウィジェット、ライブラリ、等として実装されて良い。別の例として、ＩＷＢ１０２上で、ＯｎｅＬａｕｎｃｈアプリケーション１１０はＧＵＩウインドウとして実装されて良い。ＩＷＢ１０２及びクライアント装置１０４は、特定の実装に依存して変化し得る、他のアプリケーション及びプロセスにより構成されて良い。一実施形態によると、ＩＷＢ１０２は、ＩＷＢ１０２の１又は複数のユーザが、ＩＷＢ１０２のユーザインタフェースに表示される電子文書、集計表、電子メール、オーディオ／ビデオコンテンツ、等のような電子コンテンツに注釈を付けることができるようにする注釈アプリケーションにより構成されて良い。
【００１４】
ＯｎｅＬａｕｎｃｈマネジャ１０６は、本願明細書では「管理サービス」として参照され、ＩＷＢ１０２及びクライアント装置１０４の代わりに第三者共同サービス１０８を実施する１又は複数のプロセスである。この方法では、ＯｎｅＬａｕｎｃｈマネジャ１０６は、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２と第三者共同サービス１０８との間の仲介層として動作し、データ及び通信を集中的方法で管理する。以下に更に詳述するように、一実施形態によると、ＯｎｅＬａｕｎｃｈマネジャ１０６は、第三者共同サービス１０８のためのソフトウェア開発キット（ＳＤＫ）、ＡＰＩ、及びライブラリを実装することにより、所謂「深い統合（deep  integration）」を用いる。深い統合は、ユーザ、機能、及びエンドエンドユーザ経験全体を管理する、第三者共同サービス１０８のより粒度の細かい制御を提供し、さらにＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２上のＵＩ混乱を低減する。ＯｎｅＬａｕｎｃｈマネジャ１０６は、ライセンスキーの中央管理を含むクロスライセンス共同も提供し、第三者共同サービスの異種セットに渡りユーザの大規模且つ異種セットが接続できるようにする。
【００１５】
ＯｎｅＬａｕｎｃｈマネジャ１０６は、コンピュータソフトウェア、コンピュータハードウェア、又はコンピュータハードウェア及びソフトウェアの任意の組合せで実装されて良い。ＯｎｅＬａｕｎｃｈマネジャ１０６は、ＩＷＢ１０２及びクライアント装置１０４により呼び出されるスタンドアロンプロセス、プラグイン、ライブラリ、等として実装されて良い。幾つかの実施形態は、説明の目的で単一プロセスとしてＯｎｅＬａｕｎｃｈマネジャ１０６の文脈で本願明細書に記載される。しかし、実施形態はこの例示的な実装に限定されない。ＯｎｅＬａｕｎｃｈマネジャ１０６は、ＩＷＢ１０２及びクライアント装置１０４を含む１又は複数のコンピューティング装置又はネットワーク要素上で実行して良い。
【００１６】
図１に示すように、ＯｎｅＬａｕｎｃｈマネジャ１０６は、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２により使用されるＯｎｅＬａｕｎｃｈＡＰＩ１２０を含む。ＯｎｅＬａｕｎｃｈマネジャ１０６は、ＯｎｅＬａｕｎｃｈＡＰＩ１２０に従うＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２から要求を受信するサーバ１２２も含み、該要求を管理プロセス１３０へルーティングする。サーバ１２２は、データ１５０へのアクセス、データ変換の実行、等のような他の機能も実行して良い。例えば、サーバ１２２は、ＯｎｅＬａｕｎｃｈＡＰＩ１２０によりサポートされるデータフォーマットと第三者共同サービス１０８によりサポートされるデータフォーマットとの間のデータ変換を実行して良い。管理プロセス１３０は、ＡＰＩマネジャ１３２、ユーザマネジャ１３４、識別マネジャ１３６、会議マネジャ１３８、ライセンスマネジャ１４０、存在マネジャ１４２を含む。これらの管理プロセスは、説明の目的でのみ別個のプロセスとして図１に示される。これらのマネジャにより提供される機能は、特定の実装に依存して変化し得る任意の数のプロセスに編成され実装されて良い。ＡＰＩマネジャ１３２は、第三者共同サービスのＡＰＩ要件を満たす要求を生成する。ユーザマネジャ１３４は、ユーザデータ１５４に格納された、ユーザに関する種々のデータを保持する。識別マネジャ１３６は、認証トークン及びクロスライセンス認証トークンを管理する。会議マネジャ１３８は、共同会議を管理し、会議データ１５８を保持する。ライセンスマネジャ１４０は、第三者共同サービスのライセンスキーを管理する。存在マネジャ１４２は、ユーザデータ１５４の部分として保持されて良いユーザ状態データを管理する。
【００１７】
ＯｎｅＬａｕｎｃｈマネジャ１０６は、ＡＰＩデータ１５２、ユーザデータ１５４、認証（ａｕｔｈ）データ１５６、会議データ１５８、ライセンスデータ１６０及び存在データ１６２を含む種々のデータ１５０を管理するアドミニストレータ１４５も含む。このデータの１又は複数の部分は、管理者のようなＯｎｅＬａｕｎｃｈマネジャ１０６のユーザにより生成され管理されて良い。ユーザデータ１５４は、複数のユーザの各々に対応する１又は複数の第三者共同サービス１０８を指定して良い。例えば、ユーザデータ１５４は、第１ユーザが特定ベンダにより提供される第三者共同サービス１０８のユーザであることを指定して良い。ユーザデータ１５４は、各々のユーザの連絡先も指定して良い。
【００１８】
ＩＩＩ．ＯｎｅＬａｕｎｃｈユーザインタフェース
一実施形態によると、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２は、ＯｎｅＬａｕｎｃｈマネジャ１０６を介して第三者共同サービス１０８にアクセスするための共通グラフィカルユーザインタフェースを実装する。共通グラフィカルユーザインタフェースは、特定の実装に依存して変化し得る広範な種類の方法で実装されて良い。例えば、共通グラフィカルユーザインタフェースは、アプリケーションに基づくユーザインタフェースとして、ウェブに基づくユーザインタフェースとして、又は任意のアプリケーション又はシステムにプラグイン可能なプラガブルアーキテクチャ等として、実装されて良い。これは、複数の第三者共同サービスに渡り共通の「見た目及び感じ」を共通グラフィカルユーザインタフェースに提供することにより、より好ましいユーザ経験を提供する。例えば、ウインドウ及び制御の位置及び配置、並びに色及び多の視覚的効果が、使用されている第三者共同サービスに関わらず、同一である。さらに、共通グラフィカルユーザインタフェースの「見た目及び感じ」は、組織内の複数のクライアント装置に渡り特定の「見た目及び感じ」を提供するために、例えば所謂「スキン（skins）」を用いて特定の実装のために調整されて良い。以下に示され及び議論される種々のグラフィカルユーザインタフェース画面の「見た目及び感じ」及び機能は、図２Ｂに関して以下に更に詳述するように、ログインプロセス中にユーザにより選択される特定の第三者共同サービスに基づき変更されて良い。これは、例えば、異なる第三者共同サービスのロジックに基づき、異なるウインドウ、制御、等を表示することを含み得る。
【００１９】
図２Ａは、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２の実施により表示される「ＯｎｅＬａｕｎｃｈパネル」として本願明細書で参照される初期画面を示す。ＯｎｅＬａｕｎｃｈパネル２００は、第三者共同サービス１０８により提供される種々の共同機能にアクセスする制御を提供する。一実施形態によると、これらの制御は、ＩＷＢ機器１０２で使用されている任意の第三者共同サービスに渡り共通である。したがって、ＯｎｅＬａｕｎｃｈパネル２００は、任意の共同サービスへのインタフェースの一部として機能する。図２Ａに示す例では、制御は、ＯｎｅＬａｕｎｃｈサービスにログインする「ログイン」制御、音声／ビデオ呼を開始する「発呼」制御、会議室にアクセスし及び管理する「会議室」制御、他のユーザ又は会議参加者へ電子情報を送信する「送信」制御、チャットセッションを開始する「チャット」制御、現行会議を閲覧し及び参加する「会議」制御、連絡先にアクセスする「連絡先」制御、会議参加者と電子情報を共有する「共有」制御、を含む。これらの機能は、ＩＷＢ機器上で共通に実施されるが、実施形態はこれらの例に限定されず、本願明細書に記載のアプローチは、ＩＷＢ機器上で実施され得る任意の種類の機能に適用可能である。これらの機能の各々は、以下に詳細に説明される。ＯｎｅＬａｕｎｃｈパネル２００上で提供され及び／又は有効にされる特定のオプションは、各々の第三者共同サービス１０８により提供されるサービスに依存して変化し得る。例えば、「チャット」制御は、ユーザが、チャットサービスを提供しない特定の第三者共同サービス１０８にログインすると、無効にされて良い。
【００２０】
Ａ．ログイン
ログイン機能は、ユーザがＯｎｅＬａｕｎｃｈサービスにログインできるようにする。図２Ｂは、ユーザがＯｎｅＬａｕｎｃｈパネルから「ログイン」オプションを選択することに応答して、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２により表示されるログイン画面２１０を示す。ログイン画面２１０は、ユーザが、ユーザの登録されている任意の第三者共同サービスにログインできるようにする。図２Ｃは、選択された第三者共同サービスのユーザＩＤ及びパスワードの形式でユーザ認証情報をユーザが入力できるユーザ認証画面２２０を示す。ユーザ認証画面２２０は一例として提供され、特定の第三者共同サービスの要件に依存して、他のユーザ認証がユーザからクエリされて良い。制御２２２は、ユーザが、入力したユーザ認証情報を確認し、又は取り消して図２ＡのＯｎｅＬａｕｎｃｈパネル２００に戻ることを可能にする。一実施形態によると、ユーザが任意の第三者共同サービスのアカウントを有しない場合、ユーザは、ソーシャルネットワークサービス、例えばＧｏｏｇｌｅ＋、Ｆａｃｅｂｏｏｋ、等のような識別情報プロバイダを用いてログインして良い。例えば、制御２２２は、選択されると、ユーザが選択した識別情報プロバイダに彼らのログイン識別情報を供給することにより識別情報プロバイダにログインできるようにするオプションを有して良い。
【００２１】
ユーザ識別情報が入力され確認されると、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２は、ユーザ識別情報を、使用されるべき特定の第三者共同サービスを識別するデータ及び任意的に機械パラメータのような他の情報と一緒に、ＯｎｅＬａｕｎｃｈＡＰＩ１２０を介してＯｎｅＬａｕｎｃｈマネジャ１０６へ渡す。ＯｎｅＬａｕｎｃｈマネジャ１０６は、一方で、選択された第三者共同サービスのＡＰＩを用いて、ユーザ識別情報をユーザ認証のために選択された第三者共同サービスに提供する。ユーザが第三者共同サービスにより認証されると、ＯｎｅＬａｕｎｃｈマネジャ１０６は認証データ１５６を更新する。ユーザが予め認証されており、前の認証が依然として有効であるという状況が存在し得る。この状況では、ユーザは、第三者共同サービスにより再認証される必要がなく、ＯｎｅＬａｕｎｃｈマネジャ１０６は、ユーザを第三者共同サービスにログインさせるために認証データ１５６を使用できる。代替で、ＯｎｅＬａｕｎｃｈマネジャ１０６は、必要な認証データを要求するために、選択された第三者共同サービスへ要求を送信し、次に、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２に通知して良い。したがって、この情報は、ユーザからクエリされ得る。ユーザ認証の成功の後に、以下に更に詳述されるように、連絡先画面が表示されて良い。代替で、ユーザは、ＯｎｅＬａｕｎｃｈパネル２００に戻されて良い。
【００２２】
Ｂ．発呼
発呼機能は、ユーザが１又は複数の他のユーザとの音声／ビデオ呼を開始できるようにする。図２Ｄは、現在ログインしているユーザがＯｎｅＬａｕｎｃｈパネル２００から「発呼」オプションを選択することに応答して、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２により表示される例示的な電子会議画面２３０を示す。ログインしていないユーザによる「発呼」オプションの選択は、ログイン画面２１０を表示させる。
【００２３】
電子会議画面２３０は、電子文書、オーディオ／ビデオ情報、デスクトップ及び画面コンテンツ、等のような電子情報及びコンテンツ２３４を表示し及び共有するための表示／共有領域２３２を含む。電子会議画面２３０は、呼の参加者が選択され得る又は既に選択されている連絡先セット２３６も含む。したがって、連絡先２３６は、呼の候補参加者、現在参加者、又は候補参加者及び現在参加者の両者を含んで良い。参加者は、呼の間にいつでも追加できる。ユーザは、連絡先２３６から特定の連絡先を選択し、「呼に追加する」制御を選択して選択した連絡先を呼に追加して良い。例えば視覚的指示の形式の追加情報が、連絡先２３６の各々の状態を示すために提供されて良い。現在ログイン中のユーザは、会議ホスト又は主催者として指定されて良い。
【００２４】
電子会議画面２３０は、ビデオコンテンツ及び／又はビデオ会議ウインドウを表示するビデオ領域２３８、電子チャットセッションを行うチャット領域２４０、イベント履歴を表示するイベントログ２４２も含む。「戻る」制御２４４は、ユーザが図２ＡのＯｎｅＬａｕｎｃｈパネル２００に戻ることを可能にする。実施形態は、図２Ｄに示す例示的な電子会議画面２３０に限定されず、電子会議画面２３０の特定の構成、シーケンス及びコンテンツは特定の実装に依存して変化して良い。
【００２５】
Ｃ．会議室
会議室制御は、ユーザが会議室にアクセスし及び管理することを可能にする。本願明細書で用いられるとき、用語「会議室」は、２以上の参加者間の非公開会議を表す。会議室は、公衆に知られ又は可視でなくて良く、参加者だけに知られて良い。会議室は、ユーザ認証を要求して良く、一方で、会議はユーザ認証を要求しなくて良い。図２Ｅは、ユーザがＯｎｅＬａｕｎｃｈパネル２００から「会議室」オプションを選択することに応答して、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２により表示される会議室画面２５０を示す。会議室画面２５０は、現在会議室セットを表示する。ユーザは、選択した会議室に参加するために、会議室画面２５０から会議室を選択して良い。ユーザが会議室に参加するために必要な証明情報又は認証を有する場合、ユーザは選択した会議室に参加することを許可される。その他の場合、会議室に参加するユーザの要求は、選択された会議室の主催者へ送信される。選択された会議室の主催者が要求を認めた場合、ユーザは選択した会議室にアクセスすることを許される。幾つかの実装では、会議室は、特定の第三者共同サービスに固有であって良く、全ての第三者共同サービスに対して有効でなくて良い。一実施形態によると、ＯｎｅＬａｕｎｃｈパネル２００内の会議室」オプションは、会議室サービスをサポートする第三者共同サービスにユーザがログインしているときにのみ、有効にされる。
【００２６】
会議室画面２５０は、本例では、ユーザが会議室及びユーザに関する種々の機能を実行できるようにする制御２５２を含む。これは、会議室への参加、新規会議室の生成、既存会議室の削除、既存会議室からのユーザの削除、既存会議室へのユーザの追加、又は会議室情報のコピー、を含む。例えば、例えばマウスのようなポインティングデバイスを用いて会議室画面２５０から特定の会議室を選択した後に、ユーザは、選択した会議室に参加するために「会議室への参加」制御２５２を選択し、選択した会議室を削除するために「会議室の削除」制御を選択し、選択した会議室からユーザを削除するために「会議室からのユーザの削除」制御２５２を選択し、選択した会議室にユーザを追加するために「会議室へのユーザの追加」制御を選択し、又は選択した会議室から会議室情報をコピーするために「会議室」情報のコピー制御２５２を選択して良い。「会議室からのユーザの削除」制御２５２を選択することに応答して、ユーザは、選択した会議室の現在ユーザのリストを提示され、ユーザは、現在ユーザのうちの、会議室から削除されるべき１又は複数のユーザを選択して良い。「会議室へのユーザの追加」制御２５２を選択することに応答して、ユーザは、連絡先から、ユーザのリストを提示され、ユーザは、選択した会議室に追加されるべき１又は複数のユーザを選択して良い。「新規会議室の生成」制御２５２を選択することに応答して、名称、許可、等のような新規会議室の属性をユーザが指定できるようにするダイアログボックスが提示される。会議室情報のコピー機能は、会議室内で共有されるコンテンツを、例えばＵＲＬにより別の会議室にコピーできるようにする。「戻る」制御２５４は、ユーザが図２ＡのＯｎｅＬａｕｎｃｈパネル２００に戻ることを可能にする。
【００２７】
Ｄ．送信
送信機能は、ユーザが、電子文書又は他のコンテンツのような電子情報を、１又は複数の他のユーザ及び／又は会議参加者へ送信できるようにする。ユーザがＯｎｅＬａｕｎｃｈパネル２００から「送信」オプションを選択することに応答して、ユーザが送信されるべき電子情報を選択できるようにするナビゲーションウインドウが表示されて良い。送信されるべき電子情報が選択されると、ユーザは、連絡先及び／又は会議リストから、１又は複数の受信者を選択して良い。電子情報を会議参加者へ送信するために、ユーザは、会議にログインしている又は会議内に居なければならない。
【００２８】
Ｅ．チャット
チャット機能は、ユーザが会議内の１又は複数の他の参加者とチャットすることを可能にする。例えば、ログインし電子会議画面２３０により提示された後、ユーザは、チャットセッションに関連する制御セットにアクセスするためにチャット領域２４０を選択して良い。制御は、ユーザが、既存チャットに参加し、又は会議内の１又は複数の参加者との新規チャットを生成することを可能にできる。ユーザは、会議内の選択されたユーザ、会議内の全部のユーザ、又は特定の第三者共同サービス１０８からのユーザを含んで良い。例えば、ユーザは、新規チャットに含むために、１又は複数のＩＢＭ  Ｓａｍｅｔｉｍｅユーザ、又は（Ｃｉｓｃｏ  Ｊａｂｂｅｒユーザのみとのチャットを有効にする）特定共同サービスからのユーザを選択して良い。
【００２９】
Ｆ．会議
会議機能は、ユーザが現在及び将来の会議にアクセスすることを可能にする。図２Ｆは、ユーザがＯｎｅＬａｕｎｃｈパネル２００から「会議」オプションを選択することに応答して、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２により表示される例示的な会議管理画面２６０を示す。会議管理画面２６０は、行われている現在電子会議画面、並びに、会議名、会議ホスト、会議室及び時間を含む各電子会議の情報、を表示する。会議は、公開又は非公開であって良く、会議の公開又は非公開状態は、会議管理画面２６０上に視覚的に示されて良い。参加／招待要求（招待）制御は、ユーザが電子会議に参加するまたはそれへの招待を要求することを可能にする。参加／招待要求制御の選択は、既に招待され／認証されているユーザが電子会議に参加することを可能にする。電子会議への参加は、「発呼」オプションに関して前述したように、選択された電子会議の電子会議画面２３０（図２Ｄ）を表示させて良い。電子会議に参加するよう未だ招待され／認証されていないユーザについては、参加／招待要求制御の選択は、会議主催者又はホストへ要求を送信させる。会議主催者又はホストが要求を受け付けるか否かを決定すると、指示が提供されて良い。
【００３０】
会議管理画面２６０は、将来電子会議、並びに、会議名、会議ホスト、会議室及び日時を含む各将来電子会議の情報も表示する。招待要求（招待）制御は、ユーザが将来電子会議への招待を要求することを可能にする。招待要求制御の選択は、会議主催者又はホストへ要求を送信させる。「戻る」制御２６２は、ユーザが図２ＡのＯｎｅＬａｕｎｃｈパネル２００に戻ることを可能にする。
【００３１】
Ｇ．連絡先
連絡先機能は、ユーザが連絡先及び彼らの状態を閲覧することを可能にする。図２Ｇは、ユーザがＯｎｅＬａｕｎｃｈパネル２００から「連絡先」オプションを選択することに応答して、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２により表示される例示的な連絡先画面２７０を示す。連絡先画面２７０は、連絡先のリスト、及び各連絡先の現在状態を示す。一実施形態によると、連絡先は、ユーザデータ１５４の部分としてＯｎｅＬａｕｎｃｈマネジャ１０６により保持される。連絡先は、ユーザマネジャ１３４により生成され管理されて良い。これは、ユーザが複数の第三者共同サービス１０８に跨り連絡先を閲覧することを可能するという利益を提供する。図２Ｇに示す例では、現在状態は、異なるシンボルにより視覚的に示される。しかし、これは単なる一例であり、状態は、特定の実装に依存して変化し得る種々の方法で視覚的に示されて良い。例えば、現在状態は、色、陰影、特定視覚効果、等を用いて視覚的に示されて良い。一実施形態によると、現在状態は、オンラインで対応可能、オンラインで会議中、オンラインで離席中、オンラインで着信拒否、オフラインで対応不可、例えばユーザにより指定可能なカスタム状態であって良い。実施形態は、これらの状態に限定されず、他の状態が使用されて良い。閲覧制御２７２は、ユーザが利用可能なビューのリストからビューを選択することを可能にする。ビューは、ユーザが多数の連絡先を有する状況で有用であり得る、連絡先をフィルタリングする方法を提供する。例示的なビューは、限定ではなく、オンライン連絡先、特定会議内の連絡先、及びＧｏｏｇｌｅ  Ｈａｎｇｏｕｔｓ、ＭＳ  Ｌｙｎｃ、ＩＢＭ  Ｓａｍｅｔｉｍｅなどのような特定の第三者共同サービス１０８に登録された連絡先のような、特定の状態を有する連絡先を含む。「戻る」制御２７４は、ユーザが図２ＡのＯｎｅＬａｕｎｃｈパネル２００に戻ることを可能にする。
【００３２】
Ｈ．共有
共有機能は、ユーザが電子会議内の他のユーザと、加工物、文書、画面、又は任意の他の電子情報を共有することを可能にする。図２Ｈは、ユーザがＯｎｅＬａｕｎｃｈパネル２００から「共有」オプションを選択することに応答して、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２により表示される例示的な共有画面２８０を示す。共有画面２８０は、ユーザが共有オプションを選択することを可能にする。ここで、各共有オプションは、共有されるべき電子情報の種類に対応する。図２Ｈに示す例では、オプションは、アプリケーション、ウインドウ、及び画面を含む。実施形態は、本例に限定されず、他の種類の電子情報の共有を可能にして良い。図２Ｈに示す例では、ユーザは、会議内の他のユーザとアプリケーションを共有することを選択しており、この選択に応答して、共有され得るアプリケーションのリストが表示される。ユーザは、彼らのウェブブラウザを共有することを選択しており、制御２８２は、ユーザが個の選択を確認する又は取り消すことを可能にする。アイテムが共有することを確認されると、ユーザは、選択された情報が共有されるべき特定電子会議を選択するオプションを提供される。例えば、現在電子会議のリストが、特定電子会議を選択する制御と共に表示されて良い。制御は、共有を停止するために提供されても良い。
【００３３】
ＩＶ．ＡＰＩ管理
ＯｎｅＬａｕｎｃｈマネジャ１０６は、「深い統合」を用いて、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２が第三者共同サービス１０８のＡＰＩの詳細を認識する又は実装することなく、第三者共同サービス１０８により提供されるサービスにアクセスすることを可能にする単一ラッパＯｎｅＬａｕｎｃｈＡＰＩ１２０を提供する。一実施形態によると、ＡＰＩマネジャ１３２は、第三者共同サービス１０８、データ変換、及びバージョン管理にアクセスするために統一ＡＰＩ呼び出しを提供することにより、この機能を提供する。ＯｎｅＬａｕｎｃｈマネジャ１０６は、ＯｎｅＬａｕｎｃｈＡＰＩ１２０に従う要求を処理し、第三者共同サービス１０８に、第三者共同サービス１０８のＡＰＩに従う要求を提供する。これは、特定の実施形態に依存して変化して良い広範な種類の処理を用いて達成されて良い。例えば、ＡＰＩマネジャ１３２は、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２から受信した要求を、最小限の処理で又は全く処理せずに、第三者共同サービス１０８へ転送して良い。これは、例えば、ＯｎｅＬａｕｎｃｈＡＰＩ１２０に従う要求が最小限の処理で又は全く処理せずに第三者共同サービス１０８のＡＰＩの要件を満たす状況で、生じ得る。代替で、ＡＰＩマネジャ１３２は、第三者共同サービス１０８のＡＰＩの要件を満たす要求を生成するために、種々の処理を実行して良い。例えば、ＡＰＩマネジャ１３２は、ＯｎｅＬａｕｎｃｈＡＰＩ１２０の要件を満たす要求から、コマンド、パラメータ、引数、値、等のようなデータを調べ抽出し、次に、第三者共同サービス１０８のＡＰＩの要件を満たし且つＯｎｅＬａｕｎｃｈＡＰＩ１２０の要件を満たす要求から抽出したデータの一部又は全部を含む要求を生成して良い。これは、ＯｎｅＬａｕｎｃｈＡＰＩ１２０の要件を満たす要求から抽出したデータの１又は複数の部分を変形する又は変換することを含んで良い。ＡＰＩマネジャ１３２は、ＡＰＩキー及びＵＲＬのマッピングのような他の機能を実行して良い。第三者共同サービス１０８のＡＰＩの要件を満たす呼び出しの生成は、ＡＰＩマネジャ１３２により実装されるロジックにより達成されて良い。
【００３４】
ＯｎｅＬａｕｎｃｈＡＰＩ１２０によりサポートされる特定の機能は、特定の実装に依存して変化して良く、実施形態は、任意の特定の実装に限定されない。図３は、ＯｎｅＬａｕｎｃｈＡＰＩ１２０によりサポートされる例示的なコマンド及び対応する引数を指定するテーブル３００示す。図３に示すように、コマンドは、概して、電子会議、オーディオ／ビデオ呼、及びコンテンツ共有に関するコンテンツ共同機能の実行に関連する。実施形態は、これらのコンテキストに限定されず、他のコンテキストにも適用可能である。さらに、特定の実装に依存して、より少数の又は追加のコマンドがサポートされて良く、実施形態は、図３に示す例示的なコマンドをサポートするＯｎｅＬａｕｎｃｈＡＰＩ１２０に限定されない。テーブル３００のコンテンツは、非構造又は構造型データとして、任意のフォーマットで、例えばＡＰＩデータ１５２に格納されて良い。
【００３５】
図４Ａは、ＯｎｅＬａｕｎｃｈマネジャ１０６のＯｎｅＬａｕｎｃｈＡＰＩ１２０及びＡＰＩマネジャ１３２が第三者共同サービス１０８に統一ＡＰＩ呼び出しを提供する構成４００を示す。図４Ａに示す例では、第三者共同サービス１０８は、サービスＡ、サービスＢ、サービスＣを含む。ＯｎｅＬａｕｎｃｈＡＰＩ１２０は、第三者共同サービス１０８のＡＰＩの要件を満たす呼び出しを生成するためにＡＰＩマネジャ１３２により必要とされるコマンド、データ、パラメータ、引数、及び任意の他の情報を定める。
【００３６】
図４Ａに示す例では、ＯｎｅＬａｕｎｃｈアプリケーション１１０は、ＯｎｅＬａｕｎｃｈＡＰＩ１２０のログインＡＰＩ４０２に従うログイン要求を生成する。ログイン要求は、特定の第三者共同サービス１０８により要求されるユーザ証明と共に、アクセスされるべき特定の第三者共同サービス１０８を指定する。本例では、要求がＷｅｂｅｘ、及びユーザＩＤ（「ＪａｃｋＤ」）及びパスワード（「ｄｏｇｈｏｕｓｅ」）の形式のユーザ証明を指定すると仮定する。例えば、ログイン要求は、「Login/service=webex&user=JackD&password=doghouse」の形式を取って良い。ログイン要求は、ＯｎｅＬａｕｎｃｈマネジャ１０６により受信され、サーバ１２２によりＡＰＩマネジャ１３２へルーティングされる。サーバ１２２は、例えばデータ１５０にアクセスする及び種々のロジック及び決定を実施する要求に基づき処理を実行して良い。図４Ａ〜４Ｄに具体的に示されないが、ＯｎｅＬａｕｎｃｈマネジャ１０６により受信された要求は、先ずサーバ１２２により処理され、処理のために管理プロセス１３０のうちの１つへルーティングされる。
【００３７】
本例では、ＡＰＩマネジャ１３２は、ログイン要求を受信し処理して、サービスＡのＡＰＩに従う処理済み要求又は新しい要求を生成する。一実施形態によると、ＡＰＩマネジャ１３２は、ＡＰＩデータ１５２を使用して、処理済み要求又は新しい要求を生成する。ＡＰＩデータ１５２は、各第三者共同サービス１０８のＡＰＩを記述するデータを含み、つまり、各第三者共同サービスの１又は複数のＡＰＩ属性を定める。
【００３８】
図５は、第三者共同サービス１０８のＡＰＩ属性を指定する例示的なＡＰＩデータを示すテーブル５００である。本例では、テーブル５００は、サービスプロバイダ、サービス、機能、ＡＰＩを記述するデータへのリンクの形式であって良いＡＰＩを記述するデータ、ＡＰＩによりサポートされるプロトコル又はフォーマット、バー所名、状態、特定バージョンがＡＰＩの規定バージョンであるか否か、及び例えば特定バージョンが好適バージョンであるか否かを示し得るコメント、を指定する。例えば、テーブル５００の第１行は、Ｃｉｓｃｏにより提供される「Ｗｅｂｅｘ」サービスの「ログイン」機能を実行するためのＡＰＩデータを指定する。ＡＰＩデータは、「ログイン」機能を実行するためのＵＲＬアドレス及び引数を指定するデータを含む。第１行は、「ＲＥＳＴ」のようなフォーマット、「２．０」のようなＡＰＩデータのバージョン、「Ａｃｔｉｖｅ」のような状態、特定のＡＰＩバージョンが規定バージョンか否か、及びバージョン２．０が好適バージョンであることを示す無コメント、も指定する。前述の例を参照すると、ＡＰＩマネジャ１３２は、サービス名、ユーザＩＤ及びパスワードを受信した要求から抽出し、ＣｉｓｃｏＷｅｂｅｘＡＰＩの要件を満たす要求を生成する。例えば、要求は、「https://server.cisco.com/Login/user=JackD&password=doghouse」であって良い。別の例として、ユーザが最近にログインし及び以下に更に詳述される認証トークンが認証トークンテーブル６２０内で利用可能である場合、要求は「https://server.cisco.com/Login/authentication=SomeAuthenticationToken」であって良い。
【００３９】
一実施形態によると、規定又は好適として指定されるＡＰＩバージョンは、要求が使用すべきＡＰＩのバージョンを指定しないとき、使用される。「好適」又は規定バージョンと一致しないＡＰＩバージョンは、要求が第三者共同サービス１０８のうちの１つについてＡＰＩの特定バージョンを指定する状況で使用されて良い。例えば、プロバイダ「ＡＢＣ」のためのＡＰＩデータ１５２は、「会議」サービスの「ログイン」機能を実行するＡＰＩの３つのバージョン（Ｖ１、Ｖ３、Ｖ４）を含む。バージョンＶ３及びＶ４がより新しいバージョンであっても、バージョンＶ１が好適」バージョンとして指定される。ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２から受信された「ＡＢＣ会議」サービスに対する「ログイン」要求は、特定ＡＰＩバージョンを指定しなくて良い。この状況では、ＡＰＩマネジャ１３２は、ＡＰＩデータ１５２に基づき、バージョンＶ１が「ＡＢＣ会議」サービスのＡＰＩの好適バージョンであると決定し、特定第三者共同サービスに提供される要求がＡＰＩのバージョンＶ１の要件を満たすことを保証する方法で要求を処理する。代替で、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２から受信した要求は、「ＡＢＣ会議」サービスについてＶ３又はＶ４のＡＰＩを指定して良く、ＡＰＩマネジャ１３２は、特定第三者共同サービスに提供される要求が、要求の中で指定された特定第三者共同サービスの特定ＡＰＩのバージョンの要件を満たすことを保証する方法で、要求を処理する。この方法では、ＡＰＩマネジャ１３２は、テーブル５００から適切なＡＰＩを選択し、クライアント及びサーバ側におけるエラーを最小限にし、ＡＰＩが生成された要求に対してシームレスに動作することを可能にする。
【００４０】
テーブル５００のコンテンツは、第三者共同サービス１０８によりサポートされるＡＰＩの現在バージョンがテーブル５００内に提示されることを保証するために、管理者のようなユーザにより生成され維持されて良い。したがって、ＡＰＩマネジャ１３２は、ＡＰＩデータ１５２を使用して、処理済み要求又は新しい要求が、サービスＡのためのＡＰＩの現在サポートされているバージョンに適正に従うことを保証する。ＡＰＩマネジャ１３２は、次に、処理済みログイン要求をサービスＡへ転送する。一実施形態によると、テーブル５００のコンテンツは、ＡＰＩが古くなるのを回避するために及びエラーを防ぐために、最新ＡＰＩデータにより定期的に維持される。
【００４１】
ＯｎｅＬａｕｎｃｈマネジャ１０６から受信すると、指定サービスは、ログイン要求を処理し、指定サービスのＡＰＩに従う要求をＡＰＩマネジャ１３２に提供する。ＡＰＩマネジャ１３２は、応答を処理し、ＯｎｅＬａｕｎｃｈＡＰＩ１２０に従う処理済み応答を生成し、元の要求を送信したエンティティへ処理済み応答を転送する。該エンティティは、本例ではＯｎｅＬａｕｎｃｈアプリケーション１１０である。この方法では、ＯｎｅＬａｕｎｃｈマネジャ１０６は、統一された単一のラッパＡＰＩをＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２に提供し、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２と第三者共同サービス１０８との間の要求及び応答のフロー及び処理を扱う。
【００４２】
一実施形態によると、ＡＰＩマネジャ１３２は、異なるデータプロトコル、言語、及び／又はデータフォーマットを扱う能力を含む。これは、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２が、第三者共同サービス１０８により要求されるデータプロトコル及びフォーマットをサポートする必要が無く、ＯｎｅＬａｕｎｃｈＡＰＩ１２０によりサポートされるデータプロトコル及びフォーマットのみをサポートすることを可能にする。図４Ｂは、ＯｎｅＬａｕｎｃｈマネジャ１０６のＯｎｅＬａｕｎｃｈＡＰＩ１２０及びＡＰＩマネジャ１３２が、ＯｎｅＬａｕｎｃｈＡＰＩ１２０によりサポートされる１又は複数のデータプロトコル及びフォーマットと第三者共同サービス１０８により要求されるデータプロトコル及びフォーマットとの間でデータ変換サービスを提供する構成４００を示す。
【００４３】
図４Ｂに示す例では、ＯｎｅＬａｕｎｃｈマネジャ１０６のＯｎｅＬａｕｎｃｈＡＰＩ１２０は、ＲＥＳＴ（Representational  State  Transfer）をサポートし、一方で、サービスＡはＳＯＡＰ（Simple  Object  Access  Protocol）し、サービスＢはＲＥＳＴをサポートし、サービスＣはＸＭＬ（Extensible  Markup  Language）をサポートする。ＡＰＩマネジャ１３２は、目標第三者共同サービス１０８に依存して、要求をＲＥＳＴからＳＯＡＰ、ＲＥＳＴ、又はＸＭＬへ変換するよう構成される。ＡＰＩマネジャ１３２は、応答をＳＯＡＰ、ＲＥＳＴ、又はＸＭＬからＲＥＳＴへ変換するようにも構成される。この方法では、ＯｎｅＬａｕｎｃｈマネジャ１０６は、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２に代わってデータプロトコル及びフォーマット変換サービスを提供する。したがって、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２は、第三者共同サービス１０８により要求されるデータプロトコル及びデータフォーマットをサポートする必要がない。これは、多数の別個の第三者共同サービスが、それらのサポートするデータフォーマット及びプロトコルに関わらず、接続されることを可能にする。
【００４４】
幾つかの状況では、第三者共同サービス１０８は、複数のＡＰＩバージョンをサポートする。一実施形態によると、ＡＰＩマネジャ１３２は、第三者共同サービス１０８について適切なＡＰＩバージョンを選択し、次に該ＡＰＩバージョンに合致する変換サービスを実行する能力を含む。図４Ｃは、第三者共同サービス１０８が複数のＡＰＩバージョンをサポートし、ＡＰＩマネジャ１３２が各第三者共同サービス１０８のために使用するのに適切なＡＰＩバージョンを決定する、構成４００を示す。図４Ｃに示す例では、ＡＰＩマネジャ１３２は、ＡＰＩのバージョン３．０がサービスＡのために使用されるべきであり、ＡＰＩのバージョン２．０がサービスＢのために使用されるべきであり、ＡＰＩのバージョン１．０がサービスＣのために使用されるべきであることを決定する。
【００４５】
図４Ｄは、サービスＢがバージョン１．０、２．０、３．０を含む３つのＡＰＩバージョンをサポートする構成４００を示す。図４Ｄに示すように、ＡＰＩマネジャ１３２は、バージョン２．０がサービスＢのために使用されるべき適切なＡＰＩバージョンであることを決定している。第三者共同サービス１０８の好適なＡＰＩバージョンは、例えば管理者により構成されて良いＡＰＩデータ１５２により指定されて良い。一実施形態によると、ＡＰＩマネジャ１３２は、エラーハンドリングサービスを提供するよう構成される。これは、例えば、目標第三者共同サービス１０８について、サポートするＡＰＩが存在しない、又はサポートするＡＰＩが古いことを決定することを含んで良い。例えば、ＯｎｅＬａｕｎｃｈマネジャ１０６は、サービスＡを用いてチャットサービスを開始するためん、ＯｎｅＬａｕｎｃｈアプリケーション１１０から要求を受信して良い。要求の処理中に、ＡＰＩマネジャ１３２は、サービスＡについて、サポートするＡＰＩが存在しない、又はサポートするＡＰＩが不適切であることを決定する。この決定を行うことに応答して、ＡＰＩマネジャ１３２は、サービスＡについてサポートするＡＰＩが存在しないこと又はサポートするＡＰＩが不適切であることを示すエラーメッセージを生成し、ＯｎｅＬａｕｎｃｈアプリケーション１１０へ送信する。
【００４６】
Ｖ．ライセンスキー管理
認証されるべきユーザに彼らのサービスを使用するよう要求することは、第三者共同サービスにとって珍しいことではない。認証は、特定の実施形態に依存して変化して良い広範な種類のメカニズムにより提供されて良い。一例では、第三者共同サービスは、要求に対応するユーザがサービスを使用するために認証されることを保証するために、ライセンスキーの使用を要求して良い。例えば、ユーザは、特定の第三者共同サービスを使用するために有効なライセンスキーの下で認証されることを要求される場合がある。一実施形態によると、ＯｎｅＬａｕｎｃｈマネジャ１０６は、ユーザが現在ライセンス付与されていることを要求する第三者共同サービス１０８を介する共同をサポートするために、種々のライセンスデータ、ユーザサブスクリプションデータ、ユーザ状態データ、及び会議データを管理する。
【００４７】
図６Ａは、第三者共同サービス１０８のライセンスキーを格納するライセンスキーテーブル６００を示す。ライセンスキーテーブル６００の各行は、ビジネス組織のような組織に発行されるライセンスキーに対応し、サービスプロバイダ、組織名、ライセンスキー、ライセンスキーの使用を認可された組織内のユーザ数、ライセンスキーの有効期限、ライセンスキーの状態、及びライセンスキーに関するコメント、を指定する。図６Ａに示す例では、全てのデータは組織「ＸＹＺ」及び３つの異なるサービスのためのものであるが、実際には、ライセンスキーテーブル６００は、任意の数の組織及びサービスのためのデータを含んで良い。ライセンスキーテーブル６００は、ＯｎｅＬａｕｎｃｈマネジャ１０６の管理者のようなユーザにより生成され維持され、第三者共同サービス１０８へ要求を発行する前に、要求が対応する有効なライセンスキーを有するか否かを決定するためにライセンスマネジャ１４０により使用されて良い。ライセンスキーテーブル６００は、ライセンスデータ１６０の部分として維持されて良い。
【００４８】
図６Ｂは、第三者共同サービス１０８のユーザサブスクリプションデータを格納するユーザサブスクリプションテーブル６１０を示す。ユーザサブスクリプションテーブル６１０の各行は、ユーザに対応し、サービスプロバイダ、サービス、組織名、ユーザのユーザＩＤ、ユーザの連絡先番号、現在のサブスクリプション状態（「サブ状態」）及びコメントを指定する。連絡先番号は、説明の目的でのみ使用され、特定の実装に依存して他の種類の連絡先情報が使用されて良い。図６Ｂに示す例では、全てのデータは組織「ＸＹＺ」及び３つの異なるサービス及び３人のユーザのためのものであるが、実際には、ユーザサブスクリプションテーブル６１０は、任意の数の組織、サービス及びユーザのためのデータを含んで良い。ユーザサブスクリプションテーブル６１０は、ＯｎｅＬａｕｎｃｈマネジャ１０６の管理者のようなユーザにより生成され維持され、ユーザが特定の第三者共同サービスを現在購読しているか否かを決定するためにユーザマネジャ１３４により使用されて良い。この情報は、多くの異なる目的で、例えば特定の第三者共同サービス１０８に現在ログインしている他のユーザをユーザに示すために、使用されて良い。ユーザサブスクリプションテーブル６１０は、ユーザデータ１５４の部分として維持されて良い。
【００４９】
図６Ｃは、異なる第三者共同サービス１０８に関連する機能／動作を認証するために使用される認証トークンを格納する認証トークンテーブル６２０を示す。認証トークンテーブル６２０の各行は、ユーザに対応し、サービスプロバイダ、サービス、組織名、ユーザＩＤ、認証トークン、トークン状態、期限までの日数（「Ｅｘｐｉｒｙ  ｉｎ」）、ユーザの存在又は状態、及びコメントを指定する。図６Ｃに示す例では、全てのデータは組織「ＸＹＺ」及び３つの異なるサービス及び３人の異なるユーザのためのものであるが、実際には、認証トークンテーブル６２０は、任意の数の組織、サービス及びユーザのためのデータを含んで良い。認証トークンは、ユーザにより、例えばＯｎｅＬａｕｎｃｈマネジャ１０６の管理者により、手動で指定されて良い。これは、例えば、ユーザ証明が特定の第三者共同サービス１０８に別個に登録される状況で行われて良い。これらの状況では、登録の完了により第三者共同サービス１０８により発行された登録トークンは、認証データ１５６に手動で入力されて良い。代替で、認証トークンは、ユーザがＯｎｅＬａｕｎｃｈマネジャ１０６を介して第三者共同サービス１０８にログインした後に、第三者共同サービス１０８によりユーザ毎に発行されて良い。例えば、識別マネジャ１３８は、第三者共同サービス１０８から受信したログイン応答から、認証トークンを抽出して良い。認証トークンは、限られた寿命を有し、特定の第三者共同サービス１０８に基づき（又は管理ユーザにより手動で指定されるように）最終的には終了し、置換されなければならない。認証トークンテーブル６２０は、ＯｎｅＬａｕｎｃｈマネジャ１０６の管理者のようなユーザにより、認証データ１５６の中で生成され維持されて良く、異なる第三者共同サービス１０８に関する機能／動作を管理するために識別マネジャ１３６により使用される。特定の第三者共同サービス１０８のための認証トークンの数は、特定の第三者共同サービス１０８のためのライセンスキーにより認可されたユーザの数と等しい。認証トークンテーブル６２０は、識別マネジャ１３６により認証データ１５６の部分として維持されて良い。
【００５０】
一実施形態によると、ＯｎｅＬａｕｎｃｈマネジャ１０６が要求、例えば特定ユーザが特定第三者共同サービスにアクセスするログイン要求を、第三者共同サービス１０８から受信すると、ライセンスマネジャ１４０は、先ず、ライセンスデータ１６０に基づきユーザの組織が現在ライセンスキーを有するか否かを検証する。有する場合、ライセンスマネジャ１４０は、ユーザデータ１５４に基づき、特定ユーザが特定第三者共同サービスへのアクティブなサブスクリプションを有するか否かを検証する。有する場合、ライセンスマネジャ１４０は、認証トークンテーブル６２０から、特定第三者共同サービスに関する特定ユーザの認証トークンを読み出す。読み出した認証トークンは、特定第三者共同サービスのＡＰＩにアクセスするためにＡＰＩマネジャ１３２により使用される。
【００５１】
ＶＩ．クロスライセンス共同
認証トークンは、通常、特定ユーザ及び特定第三者共同サービスの両方に固有である。これは、通常、ユーザが、ユーザの使用したい第三者共同サービス毎に認証トークンを有しなければならないことを意味する。例えば、特定ユーザが第三者共同サービスＡ及びＢの両方を使用する場合、ある認証トークンがサービスＡに関して特定ユーザに利用可能でなければならず、別の認証トークンがサービスＢに関して特定ユーザに利用可能でなければならない。さらに、ユーザは、同じ第三者共同サービスを使用しなければならず、これは、第三者共同サービスＡのユーザが第三者共同サービスＢのユーザと共同できないことを意味する。これは、発行され維持されなければならない認証トークンの数を大幅に増大させ、ライセンスキーの認可ユーザの数も増大させる。
【００５２】
これらの問題を解決するために、ＯｎｅＬａｕｎｃｈマネジャ１０６は、本願明細書で「クロスライセンス共同」として参照されるものをサポートする。これは、ユーザが異なる第三者共同サービスを用いて電子的に共同することを可能にする。例えば、サービスＡ、例えばＣｉｓｃｏＪａｂｂｅｒのユーザは、サービスＢ、例えばＩＢＭ  Ｓａｍｅｔｉｍｅのユーザと共同することができる。さらに、これは、第三者共同サービス毎にユーザ固有認証トークンを必要とすることなく、達成される。一実施形態によると、ＯｎｅＬａｕｎｃｈマネジャ１０６は、特定第三者共同サービスに固有であるが特定ユーザに固有でない、したがって複数ユーザに跨り使用できるクロスライセンス認証トークンを使用する。これは、異なる第三者共同サービスのユーザが互いに共同することを可能にする。
【００５３】
図６Ｄは、異なる第三者共同サービス１０８を使用するユーザ間の共同をサポートするためにＯｎｅＬａｕｎｃｈマネジャ１０６により使用されるクロスライセンス認証トークンを格納するクロスライセンス認証トークンテーブル６３０である。クロスライセンス認証トークンテーブル６３０の各行は、ビジネス組織のような組織に対応し、サービスプロバイダ、サービス、組織名、認証トークン、トークン状態、期限までの日数（「Ｅｘｐｉｒｙ  ｉｎ」）、及びコメントを指定する。図６Ｄに示す例では、全てのデータは組織「ＸＹＺ」及び３つの異なるサービスのためのものであるが、実際には、クロスライセンス認証トークンテーブル６３０は、任意の数の組織及びサービスのためのデータを含んで良い。管理者のようなユーザは、組織又は他の論理的グループのために維持されるべきクロスライセンス認証トークンの数を確立して良い。
【００５４】
クロスライセンス認証テーブル６３０内の認証トークンは、例えばＯｎｅＬａｕｎｃｈマネジャ１０６の管理ユーザにより手動で指定されて良い。認証トークンは、例えば組織の管理ユーザの汎用又は一般的ユーザ証明を用いて、第三者共同サービス１０８から得られて良い。認証トークンは、次に、クロスライセンス認証テーブル６３０に手動で入力される。クロスライセンス認証テーブル６３０内の認証トークンは、組織内の任意の数の論理エンティティについて取得されて良い。例えば、認証トークンは、部門、部署、プロジェクト、チーム、等について取得されて良い。クロスライセンス認証トークンテーブル６３０は、識別マネジャ１３６により認証データ１５６の部分として維持されて良い。一実施形態によると、クロスライセンストークンを同時に使用できるユーザの数は、ライセンスキー制約により制限される。
【００５５】
図６Ｅは、第三者共同サービス１０８のユーザサブスクリプションデータを格納するユーザ状態テーブル６４０を示す。テーブル６１０の各行は、ユーザに対応し、サービスプロバイダ、サービス、組織名、ユーザのユーザＩＤ、ユーザの連絡先番号、ユーザの現在状態、例えば「オンライン」、「オフライン」、「ビジー」、「離籍」、等、及びコメントを指定する。上述のユーザサブスクリプションテーブル６１０におけるように、連絡先番号は、説明の目的でのみ使用され、特定の実装に依存して他の種類の連絡先情報が使用されて良い。図６Ｅに示す例では、全てのデータは組織「ＸＹＺ」及び３つの異なるサービス及び３人のユーザのためのものであるが、実際には、ユーザサブスクリプションテーブル６１０は、任意の数の組織、サービス及びユーザのためのデータを含んで良い。ユーザ状態テーブル６４０は、ＯｎｅＬａｕｎｃｈマネジャ１０６の管理者のようなユーザにより生成され維持されて良い。ユーザ状態テーブル６４０は、特定ユーザが使用しているサービスを決定するためにＡＰＩマネジャ１３２により使用されて良い。ユーザ状態テーブル６４０は、ユーザデータ１５４の部分として維持されて良い。
【００５６】
図６Ｆは、共同会議の状態情報を格納する会議状態テーブル６５０を示す。会議状態テーブル６５０の各行は、会議に対応し、会議ＩＤ、説明、サービス、組織名、会議主催者又は会議ホストのユーザＩＤ、会議の現在状態、例えば「次回」、「進行中」、「完了」、等、及びコメントを指定する。図６Ｆに示す例では、全ての会議は組織「ＸＹＺ」及び３つの異なるサービスのためのものであるが、実際には、会議状態テーブル６５０は、任意の数の組織及びサービスのためのデータを含んで良い。会議状態テーブル６５０は、ＯｎｅＬａｕｎｃｈマネジャ１０６の管理者のようなユーザにより生成され維持されて良い。ユーザ状態テーブル６４０は、電子会議を管理するためにＯｎｅＬａｕｎｃｈマネジャ１０６により、及び第三者共同サービス１０８へのＡＰＩ呼び出しを生成するためにＡＰＩマネジャ１３２により、使用されて良い。会議状態テーブル６５０は、会議データ１５８の一部として、会議マネジャ１３８により維持されて良い。
【００５７】
図７Ａは、ユーザが異なる第三者共同サービスを使用して電子的に共同することを可能にするクロスライセンス共同アプローチの論理的概略を示すブロック図７００である。図７Ａに示す例では、ユーザＡは、ユーザＢと電子的に共同する。ユーザＡは、サービスＡサーバ７２０によりホストされるサービスＡ７１０を使用し、ユーザＢは、サービスＢサーバ７４０によりホストされるサービスＢ７３０を使用する。本例では、サービスＡ７１０及びサービスＢ７３０は、オーディオ／ビデオ会議サービス、デスクトップ共有、アプリケーション共有、又はデータ共有サービス、等のような共同サービスである。さらに、サービスＡ７１０及びサービスＢ７３０は異なるＡＰＩをサポートする。
【００５８】
一実施形態によると、例えばチャットセッション、ビデオ会議セッション、デスクトップ、アプリケーション又はコンテンツ共有セッション等、共同がユーザ間で実行されるとき、ＡＰＩマネジャ１３２は、１より多くの種類の第三者共同サービスが関与するか否かを決定する。ＡＰＩマネジャ１３２は、例えばユーザ状態テーブル６４０又はユーザデータ１５４内の他のデータを調べることにより、この決定を行って良い。共同に参加しているユーザが同じ第三者共同サービスを使用している場合、ＡＰＩマネジャ１３２は、認証トークンテーブル６２０からユーザ固有認証トークンを使用する。例えば、ＡＰＩマネジャ１３２は、識別マネジャ１３６から、特定第三者共同サービス、組織、及びユーザのための認証トークンを要求して良い。
【００５９】
１より多くの種類の第三者共同サービスが共同のために使用される場合、第三者共同サービスのＡＰＩにアクセスするためにユーザ固有認証トークンを使用する代わりに、ＡＰＩマネジャ１３２は、特定ユーザに固有ではない、クロスライセンス認証トークンテーブル６３０からの認証トークンを使用する。より詳細には、ＡＰＩマネジャ１３２は、特定第三者共同サービスのＡＰＩにアクセスするとき、特定第三者共同サービスのためのクロスサービス認証トークンを含む。
【００６０】
図７Ａに示す例を参照すると、サービスＡ７１０への呼び出しを行うとき、ＡＰＩマネジャ１３２は、サービスＡ７１０及び組織に固有の認証トークンを使用する。これは、ＡＰＩマネジャ１３２が、サービスＡ７１０のＡＰＩの要件を満たす要求を生成することを可能にする。更に、ＡＰＩマネジャ１３２は、本例ではサービスＡ７１０である目標第三者共同サービス１０８に対応する適切なＡＰＩデータを使用する。同様に、サービスＢ７３０への呼び出しを行うとき、ＡＰＩマネジャ１３２は、サービスＢ７３０及び組織に固有の認証トークンを使用する。さらに、ＡＰＩマネジャ１３２は、サービスＢ７３０に対応する適切なＡＰＩデータ１５２を使用する。一実施形態によると、この方法でユーザ固有認証トークンの代わりにクロスサービス認証トークンを使用することは、共同に参加しているユーザが他の第三者共同サービス１０８のための有効な個人認証トークンを有するか否かに拘わらず行われる。クロスサービス認証トークンが期限切れに近いとき、新しいクロスサービス認証トークンが取得できるように、管理者へ通知が発行されて良い。
【００６１】
図７Ｂは、クロスライセンス認証トークンを使用するアプローチを示すフロー図７５０である。ステップ７５２で、ＯｎｅＬａｕｎｃｈマネジャ１０６は、共同機能を実行するための第１要求を受信する。第１要求は、ＯｎｅＬａｕｎｃｈマネジャ１０６によりＯｎｅＬａｕｎｃｈアプリケーション１１０から受信されて良く、共同機能が第１共同サービス上の第１ユーザ及び第２共同サービス上の第２ユーザに関して実行されることを要求する。共同機能は、特定の実施形態に依存して変化して良い広範な種類の共同機能であって良い。本例では、第１ユーザはサービスＡ７１０のユーザであり、第２ユーザはサービスＢ７３０のユーザであること、及び共同機能は、それぞれサービスＡ７１０及びサービスＢ７３０を介して第１ユーザから第２ユーザへのメッセージを送信する要求であると仮定する。
【００６２】
ステップ７５４で、ＯｎｅＬａｕｎｃｈマネジャ１０６、及び具体的にはＡＰＩマネジャ１３２は、ユーザが同じ共同サービスを使用しているか否かを決定する。本例では、ＡＰＩマネジャ１３２は、第１ユーザにより使用されるサービスＡ７１０が第２ユーザにより使用されるサービスＢ７３０と同じであるか否かを決定する。この決定は、例えばユーザ状態テーブル６４０又はユーザデータ１５４内の他のデータを調べることにより、行われて良い。
【００６３】
ステップ７５４で、ユーザが同じ共同サービスを使用していることが決定されると、ステップ７５６で、ＯｎｅＬａｕｎｃｈマネジャ１０６は、第１ユーザ又は第２ユーザに固有の認証トークンを含む共同機能を実行するための第２要求を生成する。例えば、ＡＰＩマネジャ１３２は、サービスＢ７３０のＡＰＩ、並びに第１ユーザ及び第２ユーザの両者に固有の認証トークンを指定する、ＡＰＩデータ１５２からのデータを使用して、第１ユーザから第２ユーザへメッセージを送信するための第２要求を生成する。第２要求は、サービスＢ７３０のＡＰＩを満たし、認証トークンは第１ユーザに固有である。例えば、サービスＢのための認証トークンテーブル６２０からの認証トークンが使用されて良い。
【００６４】
ステップ７５４で、ユーザが異なる共同サービスを使用していることが決定されると、ステップ７５８で、ＯｎｅＬａｕｎｃｈマネジャ１０６は、第１ユーザ又は第２ユーザに固有ではない認証トークンを含む共同機能を実行するための第２要求を生成する。例えば、ＡＰＩマネジャ１３２は、サービスＢ７３０のＡＰＩ、並びにサービスＢ７３０に固有であるが第１ユーザ又は第２ユーザのいずれかに固有ではない認証トークンを定める、ＡＰＩデータ１５２からのデータを使用して、第１ユーザから第２ユーザへメッセージを送信するための第２要求を生成する。第２要求は、サービスＢ７３０のＡＰＩを満たし、認証トークンは、サービスＢ７３０のクロスライセンス認証トークンテーブル６３０からのものであって良い。本例により実証されるように、ＯｎｅＬａｕｎｃｈマネジャ１０６は、ＯｎｅＬａｕｎｃｈＡＰＩ１２０の要件を満たす要求を受信し、目標共同サービスのＡＰＩの要件を満たす要求を生成する。ＯｎｅＬａｕｎｃｈマネジャ１０６は、ＯｎｅＬａｕｎｃｈアプリケーション１１０、１１２に代わり、ユーザが異なる共同サービスを使用する状況でクロスライセンス認証トークンを使用することを含む、ライセンスキー管理も扱う。
【００６５】
認証トークンは、ユーザにより、例えばＯｎｅＬａｕｎｃｈマネジャ１０６の管理者により、手動で指定されて良い。これは、例えば、ユーザ証明が特定の第三者共同サービス１０８に別個に登録される状況で行われて良い。これらの状況では、登録の完了により第三者共同サービス１０８により発行された登録トークンは、認証データ１５６に手動で入力されて良い。代替で、認証トークンは、ユーザがＯｎｅＬａｕｎｃｈマネジャ１０６を介して第三者共同サービス１０８にログインした後に、第三者共同サービス１０８によりユーザ毎に発行されて良い。例えば、識別マネジャ１３８は、第三者共同サービス１０８から受信したログイン応答から、認証トークンを抽出して良い。認証トークンは、限られた寿命を有して良く、特定の第三者共同サービスに基づき（又は管理ユーザにより手動で指定されるように）最終的には終了し、置換されなければならない。認証トークンテーブル６２０は、ＯｎｅＬａｕｎｃｈマネジャ１０６の管理者のようなユーザにより、認証データ１５６の中で生成され維持されて良く、異なる第三者共同サービス１０８に関する機能／動作を管理するために識別マネジャ１３６により使用される。特定の第三者共同サービス１０８のための認証トークンの数は、特定の第三者共同サービス１０８のためのライセンスキーにより認可されたユーザの数と等しい。
【００６６】
ＶＩＩ．動作例
図８は、ログイン手順の間の構成１００の種々の要素間の例示的な相互作用を示すメッセージはしご図８００である。ステップ８０２で、ユーザは、ＯｎｅＬａｕｎｃｈアプリケーション１１０によりログイン手順を開始する。例えば、図２Ｂに関して本願明細書に前述したように、ユーザは、ログインすべき特定の第三者共同サービスを選択し、図２Ｃではユーザ証明を入力する。本例では、組織名「ＸＹＺ」に関連付けられる特定ユーザ、つまりユーザＡは、第三者共同サービス、つまりサービスＡにアクセスすることを要求すると仮定する。ＯｎｅＬａｕｎｃｈアプリケーション１１０は、ユーザＡのユーザ証明を、使用されるべき特定の第三者共同サービス、つまりサービスＡ、ユーザに関連付けられる組織、つまり「ＸＹＺ」を識別するデータ及び任意的に機械パラメータのような他の情報と一緒に、ＯｎｅＬａｕｎｃｈＡＰＩ１２０を介してＯｎｅＬａｕｎｃｈマネジャ１０６へ渡す。
【００６７】
ステップ８０４で、サーバ１２２は、ＯｎｅＬａｕｎｃｈアプリケーション１１０により送信されたデータを受信し処理する。これは、ステップ８０４で、ライセンスチェックを実行することを含む。一実施形態によると、これは、ライセンスマネジャ１４０により、有効なライセンスキーがユーザに関連付けられる組織のために利用可能か否かを決定することを含む。本例では、ライセンスマネジャ１４０は、ライセンスキーテーブル６００が第三者共同サービスであるサービスＡ及び組織「ＸＹＺ」のために有効なライセンスキーを含むか否かを決定する。ライセンスマネジャ１４０は、チェック結果、つまりライセンスキーテーブル６００が第三者共同サービスであるサービスＡ及び組織「ＸＹＺ」のために有効なライセンスキーを含むか否か、を含む応答を生成し、サーバ１２２へ送信する。ライセンスマネジャ１４０からの応答が、第三者共同サービスであるサービスＡ及び組織「ＸＹＺ」のために有効なライセンスキーが存在しないことを示す場合、サーバ１２２は、この状態を示すメッセージを生成し、ＯｎｅＬａｕｎｃｈアプリケーション１１０へ送信する。
【００６８】
ライセンスマネジャ１４０からの応答が、第三者共同サービスであるサービスＡ及び組織「ＸＹＺ」のために有効なライセンスキーが存在することを示す場合、ステップ８０６で、サーバ１２２は、サブスクリプションチェックを実行する。一実施形態によると、これは、ユーザマネジャ１３４により、ユーザが第三者共同サービスの現在のサブスクリプションを有するか否かを決定することを含む。本例では、ユーザマネジャ１３４は、ユーザサブスクリプションテーブル６１０が、ユーザＡがサービスＡの現在サブスクリプションを有することを示すか否かを決定する。ユーザマネジャ１３４は、チェック結果、つまりユーザサブスクリプションテーブル６１０がユーザＡはサービスＡの現在サブスクリプションを有することを示すか否か、示す応答を生成し、サーバ１２２へ送信する。ユーザマネジャ１３４からの応答が、ユーザＡがサービスＡの現在サブスクリプションを有しないことを示す場合、サーバ１２２は、この状態を示すメッセージを生成し、ＯｎｅＬａｕｎｃｈアプリケーション１１０へ送信する。
【００６９】
ユーザマネジャ１３４からの応答が、ユーザＡがサービスＡの現在サブスクリプションを有することを示す場合、ステップ８０８で、サーバ１２２は、ユーザのための認証トークンを取得する。一実施形態によると、これは、サーバ１２２が、識別マネジャ１３６から、サービスＡ及び組織「ＸＹＺ」に関してユーザＡのための認証トークンを要求することを含む。識別マネジャ１３６は、認証トークンテーブル６２０がサービスＡ、組織「ＸＹＺ」、及びユーザＡに対応するエントリを有するか否かを決定する。
【００７０】
識別マネジャ１３６は、チェック結果、つまり認証トークンテーブル６２０がサービスＡ、組織「ＸＹＺ」、及びユーザＡに対応するエントリを有するか否かを示す応答を生成し、サーバ１２２へ送信する。このようなエントリが存在する場合、応答は、認証トークンを含む。
【００７１】
ユーザＡがサービスＡ以外の異なる第三者共同サービスを用いて他のユーザと共同することが知られている状況では、識別マネジャ１３６は、本願明細書に前述したように、クロスライセンス認証トークンテーブル６３０からクロスライセンス認証トークンを提供して良い。識別マネジャ１３６からの応答が、認証トークン６２０がサービスＡ、組織「ＸＹＺ」及びユーザＡに対応するエントリを含まないことを示す場合、サーバ１２２は、この状態を示すメッセージを生成し、ＯｎｅＬａｕｎｃｈアプリケーション１１０へ送信する。
【００７２】
識別マネジャ１３６からの応答が、サービスＡ、組織「ＸＹＺ」及びユーザＡの認証トークン６２０を含む場合、サーバ１２２は、第三者共同サービスのＡＰＩ情報を取得し、ＡＰＩマネジャ１３２が、第三者共同サービスのＡＰＩの要件を満たす要求を生成できるようにする。本例では、サーバ１２２は、例えばテーブル５００により、サービスＡのＡＰＩを定める情報を取得する。
【００７３】
ステップ８１２で、サーバ１２２は、ユーザがログインしていることを示すために、ユーザの状態を更新する。これは、例えば、識別マネジャ１３６が、ユーザＡがサービスＡにログインしていることを示すよう存在データ１６２を更新することを含む。
【００７４】
ＶＩＩＩ．実装例
本願のフロー図は特定のステップのセットを特定の順序で示すが、他の実装は、図示したものより少ない又は多くのステップを同じ又は異なる順序で使用して良い。
【００７５】
一実施形態によると、本願明細書に記載した技術は、１又は複数の特定目的コンピュータ装置により実施される。特定目的コンピュータ装置は、この技術を実行するためにハードウェアに組み込まれても良く、この技術を実行するよう永続的にプログラムされた１又は複数の特定用途向け集積回路（ＡＳＩＣ）若しくはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のようなデジタル電子装置を有して良く、この技術を実行するようプログラム命令に従ってファームウェア、メモリ、他の記憶若しくは組合せでプログラムされた１又は複数の汎用目的ハードウェアプロセッサを有して良い。このような特定目的コンピュータ装置は、この技術を達成するために、カスタムハードワイヤードロジック、ＡＳＩＣ又はＦＰＧＡをカスタムプログラミングと組み合わせて良い。特定目的コンピュータ装置は、デスクトップコンピュータシステム、ポータブルコンピュータシステム、ハンドヘルド装置、ネットワーク装置、又はこの技術を実施するためのハードワイヤードロジック及び／又はプログラムロジックを組み込んだ任意の他の装置であって良い。
【００７６】
図９は、実施形態が実装され得る例示的なコンピュータシステム９００を示すブロック図である。コンピュータシステム９００は、バス９０２又は情報を通信する他の通信機構、及びバス９０２に結合され情報を処理するプロセッサ９０４を有する。コンピュータシステム９００は、また、ランダムアクセスメモリ（ＲＡＭ）又は他のダイナミック記憶素子のような、バス９０２に結合され情報及びプロセッサ９０４により実行されるべき命令を格納する主記憶９０６も有する。主記憶９０６は、プロセッサ９０４により実行されるべき情報の実行中に、一時変数又は他の中間的情報を格納するために用いられて良い。コンピュータシステム９００は、バス９０２に結合され、静的情報及びプロセッサ９０４のための命令を格納する読み出し専用メモリ（ＲＯＭ）９０８又は他の静的記憶装置を更に有する。情報及び命令の格納のために、磁気ディスク又は光ディスクのような記憶装置９１０が設けられバス９０２に結合される。
【００７７】
コンピュータシステム９００は、バス９０２を介して、陰極線管（ＣＲＴ）のような、コンピュータユーザに情報を表示するディスプレイ９１２に結合されて良い。バス９０２は単一のバスとして図示されるが、バス９０２は１又は複数のバスを有して良い。例えば、バス９０２は、プロセッサ９０４がコンピュータシステム９００内の他の装置を制御する制御バス、プロセッサ９０４が実行のために命令のメモリ位置を指定するアドレスバス、又はコンピュータシステム９００のコンポーネント間でデータ又は信号を転送するための任意の他の種類のバスを有して良いが、これらに限定されない。
【００７８】
入力装置９１４は、英数字及び他のキーを有し、バス９０２に結合され、プロセッサ９０４に情報及びコマンド選択を伝達する。別の種類のユーザ入力装置は、マウス、トラックボール又はカーソル方向キーのようなカーソル制御９１６であり、プロセッサ９０４に方向情報及びコマンド選択を伝達し、ディスプレイ９１２上のカーソルの移動を制御する。この入力装置は、通常、２軸、つまり第１の軸（例えばＸ）及び第２の軸（例えばＹ）における２度の自由度を有し、装置に平面内の位置を指定させる。
【００７９】
コンピュータシステム９００は、本願明細書に記載した技術を、カスタマイズハードワイヤードロジック、１又は複数のＡＳＩＣ若しくはＦＰＧＡ、コンピュータシステムと組み合わせて、コンピュータシステム９００を特定用途向け機械にする若しくはプログラムするファームウェア及び／又はプログラムロジック若しくはコンピュータソフトウェアを用いて実装して良い。一実施形態によると、上述の技術は、プロセッサ９０４が主記憶９０６に格納された命令を処理することに応答して、コンピュータシステム９００により実行される。このような命令は、記憶装置９０６のような別の非一時的コンピュータ可読媒体から主記憶９１０に読み込まれて良い。主記憶９０６に含まれる命令の処理は、プロセッサ９０４に本願明細書に記載した機能を実行させる。代替の実施形態では、ハードワイヤード回路が、実施形態を実施するソフトウェア命令の代わりに又はそれと組み合わせて用いられて良い。このように、実施形態は、ハードウェア回路とソフトウェアのいかなる特定の組合せにも限定されない。
【００８０】
本願明細書で用いられる用語「非一時的コンピュータ可読媒体」は、コンピュータを特定の方法で動作させるデータを提供する際に関与する任意の非一時的媒体を表す。コンピュータシステム９００を用いて実施される実施形態では、種々のコンピュータ可読媒体が、例えば命令をプロセッサ９０４に実行するために提供する際に、関与する。このような媒体は、不揮発性及び揮発性非一時的媒体を含む多くの形態を取ることができ、これらに限定されない。不揮発性非一時的媒体は、例えば、記憶装置９１０のような光又は磁気ディスクを含む。揮発性非一時的媒体は、主記憶９０６のような動的記憶を含む。非一時的コンピュータ可読媒体の共通形態は、限定ではなく、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープ、又は任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光学媒体、ＲＡＭ，ＰＲＯＭ及びＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、任意の他のメモリチップ若しくはメモリカートリッジ、メモリスティック、又はコンピュータが読み取れる任意の他の媒体を含む。
【００８１】
様々な形式の非一時的コンピュータ可読媒体は、プロセッサ９０４による処理のための命令を格納することに関与して良い。例えば、命令は、始めに、リモートコンピュータの記憶媒体に格納され、１又は複数の通信リンクを介してコンピュータシステム９００へ送信されて良い。バス９０２は、データを主記憶９０６に伝達する。主記憶９０４から、プロセッサ１５０４が命令を読み出し処理する主記憶９０６により受信された命令は、任意的に、プロセッサ９０４により処理される前又は後に、記憶装置９１０に格納されて良い。
【００８２】
コンピュータシステム９００は、バス９０２に結合された通信インタフェース９１８も含む。通信インタフェース９１８は、ローカルネットワーク９２２に接続されるネットワークリンク９２０への通信結合を提供する。例えば、通信インタフェース９１８は、電話線へのデータ通信接続を提供するためにモデムであって良い。別の例として、通信インタフェース９１８は、互換性のあるＬＡＮへのデータ通信接続を提供するＬＡＮ（Local  Area  Network）カードであって良い。無線リンクも実装されて良い。任意のこのような実装で、通信インタフェース９１８は、種々の情報を表すデジタルデータストリームを伝達する電気、電磁気又は光信号を送信及び受信する。
【００８３】
ネットワークリンク９２０は、通常、１又は複数のネットワークを通じて他のデータ装置へのデータ通信を提供する。例えば、ネットワークリンク９２０は、ローカルネットワーク９２２を通じてホストコンピュータ９２４への又はＩＳＰ（Internet  Service  Provider）９２６により稼働されるデータ機器への接続を提供できる。ＩＳＰ９２６は、また、現在一般的に「インターネット」９２８と称される世界的規模のパケットデータ通信ネットワークを通じてデータ通信サービスを提供する。ローカルネットワーク９２２及びインターネット９２８の両者は、デジタルデータストリームを伝達する電気、電磁気又は光信号を用いる。
【００８４】
コンピュータシステム９００は、ネットワーク、ネットワークリンク９２０及び通信インタフェース９１８を通じて、プログラムコードを含む、メッセージを送信し及びデータを受信できる。インターネットの例では、サーバ９３０は、インターネット９２８、ＩＳＰ９２６、ローカルネットワーク９２２及び通信インタフェース９１８を通じてアプリケーションプログラムのために要求されたコードを送信し得る。受信されたコードは、受信されるとプロセッサ９０４により処理され、及び／又は後の実行のために記憶装置９１０若しくは他の不揮発性記憶に格納され得る。
【００８５】
上述の明細書では、本発明の実施形態は、実施形態毎に変化し得る多数の特定の詳細を参照し説明された。したがって本発明の、および本出願者により発明であるように意図したものの唯一の指標は、特許請求の範囲が由来する特定の形式の、いかなる今後の補正も含む本出願に由来する一組の特許請求の範囲である。したがって請求項内で明示的に記述されない限界、要素、特性、特徴、利点、または属性がこのような特許請求項の範囲を決して制限してはならない。したがって本明細書と添付図面は限定的ではなく例示的であると解釈すべきである。
【符号の説明】
【００８６】
１０２  対話型ホワイトボード（ＩＷＢ）機器
１０４  クライアント装置
１０６  ＯｎｅＬａｕｎｃｈマネジャ
１０８  第三者コンテンツ共同サービス
１１０  ＯｎｅＬａｕｎｃｈアプリケーション
１１２  ＯｎｅＬａｕｎｃｈアプリケーション
１２０  ＯｎｅＬａｕｎｃｈ  ＡＰＩ
１２２  サーバ
１３０  管理プロセス
１３２  ＡＰＩマネジャ
１３４  ユーザマネジャ
１３６  識別マネジャ
１３８  会議マネジャ
１４０  ライセンスマネジャ
１４２  存在マネジャ
１４５  管理者
１５０  データ
１５２  ＡＰＩデータ
１５４  ユーザデータ
１５６  認証データ
１５８  会議データ
１６０  ライセンスデータ
１６２  存在データ
【図１】
2018101418.tif 000003
【図２Ａ】
2018101418.tif 000004
【図２Ｂ】
2018101418.tif 000005
【図２Ｃ】
2018101418.tif 000006
【図２Ｄ】
2018101418.tif 000007
【図２Ｅ】
2018101418.tif 000008
【図２Ｆ】
2018101418.tif 000009
【図２Ｇ】
2018101418.tif 000010
【図２Ｈ】
2018101418.tif 000011
【図３】
2018101418.tif 000012
【図４Ａ】
2018101418.tif 000013
【図４Ｂ】
2018101418.tif 000014
【図４Ｃ】
2018101418.tif 000015
【図４Ｄ】
2018101418.tif 000016
【図５】
2018101418.tif 000017
【図６Ａ】
2018101418.tif 000018
【図６Ｂ】
2018101418.tif 000019
【図６Ｃ】
2018101418.tif 000020
【図６Ｄ】
2018101418.tif 000021
【図６Ｅ】
2018101418.tif 000022
【図６Ｆ】
2018101418.tif 000023
【図７Ａ】
2018101418.tif 000024
【図７Ｂ】
2018101418.tif 000025
【図８】
2018101418.tif 000026
【図９】
2018101418.tif 000027