(57)【要約】ネイティブ・クライアントにわたるアプリケーション内およびウェブ・アプリケーション内のドキュメントまたは他のコンテンツの、ユーザーのビューについての情報を同期するための汎用手段が提供される。オンライン・ブロードキャストの参加者は、自身のアプリケーション内で、発表者が見ているものを見ることができるようにされる。更に、ミーティングの時間やノートなどのような、ミーティングに特有の情報を同期させることができ、ほぼリアル・タイムの同期を可能とする。更に、参加者が、参加者自身のアプリケーション内で、呈示されるドキュメントを見ることができるようにすることにより、参加者は、そのアプリケーションの提供する能力、例えば、ドキュメントを通して手動でナビゲーションすることなどの能力を有するようにされる。
2014532938.tif 000002
【特許請求の範囲】
【請求項１】
オンライン・ブロードキャストにおいてドキュメント・プレゼンテーション・データを同期させるための、少なくとも部分的に計算デバイスにおいて行われる方法であって、
複数の参加者へコンテンツを提供するステップと、
発表者から、前記発表者と関連するクライアント・アプリケーションにおける前記コンテンツの状態に基づいて状態情報のアップデートを、受け取るステップと、
前記状態情報のアップデートを、前記複数の参加者へ提供するステップと、
前記状態情報のアップデートを用いて、前記発表者と前記参加者との間でのリアル・タイムの同期を維持して、前記参加者と関連するそれぞれのクライアント・アプリケーションにおいて、前記複数の参加者が前記コンテンツを見ることを可能にするステップと
を含む方法。
【請求項２】
請求項１に記載の方法であって、前記コンテンツを、前記参加者のそれぞれのクライアント・アプリケーションにおいて、前記発表者から独立して、前記参加者がナビゲーションおよび制御することを可能にするステップを更に含む方法。
【請求項３】
請求項２に記載の方法であって、前記参加者のそれぞれのクライアント・アプリケーションにおいて前記コンテンツを見ることを、前記状態情報のアップデートを用いて、前記参加者が前記発表者と再同期することを可能にするステップを更に含む方法。
【請求項４】
請求項１に記載の方法であって、前記参加者の前記それぞれのクライアント・アプリケーションは、ウェブ・アプリケーションへアクセスするために、リッチ・クライアント・アプリケーションおよびブラウザーのうちの１つを含む、方法。
【請求項５】
請求項１に記載の方法であって、前記ブロードキャストの期間に前記ブロードキャストを容易にするサーバーのメモリ内ストアにおいて前記状態情報を格納するステップを更に含む方法。
【請求項６】
請求項１に記載の方法であって、前記発表者側のクライアント・アプリケーションにおけるコンテンツの状態の変化に応じての前記状態情報のアップデートを、前記発表者から受け取るステップを更に含む方法。
【請求項７】
請求項１に記載の方法であって、前記コンテンツは、ワード・プロセッシング・ドキュメント、スプレッドシート・ドキュメント、プレゼンテーション・ドキュメント、オーディオ・メディア、ビデオ・メディア、グラフィック・プレゼンテーション、Ｅメール、およびテキスト・ドキュメントおよび／またはグラフィック・ドキュメントのうちの１以上のものを含む、方法。
【請求項８】
オンライン・ブロードキャストにおけるドキュメント・プレゼンテーション・データの同期を容易にするためのサーバーであって、
メモリと、
前記メモリと結合され、ホスト・アプリケーションを実行するプロセッサーと
を含み、
前記ホスト・アプリケーションは、
複数の参加者へコンテンツを提供し、
発表者から、前記発表者と関連するクライアント・アプリケーションにおける前記コンテンツの状態に基づいて状態情報のアップデートを、受け取り、
前記状態情報のアップデートを、前記複数の参加者へ提供し、
前記状態情報のアップデートを用いて、前記発表者と前記参加者との間でのリアル・タイムの同期を維持するために、前記複数の参加者が、前記参加者と関連するそれぞれのクライアント・アプリケーションにおいて、前記コンテンツを見ることを可能にし、
前記コンテンツを、前記参加者のそれぞれのクライアント・アプリケーションにおいて、前記発表者から独立して、前記参加者がナビゲーションおよび制御することを可能にし、
前記参加者のそれぞれのクライアント・アプリケーションにおいて前記コンテンツを見ることを、前記状態情報のアップデートを用いて、前記参加者が前記発表者と再同期することを可能にする
ように構成される、
サーバー。
【請求項９】
請求項８に記載のサーバーであって、前記サーバーは、更に、
ブロードキャスト・セッションを開始および停止するための機能および前記プレゼンテーションの現在状態をアップロードするための機能を含む発表者サービスを公開する
ように構成されるコンテンツ共有サービスを、容易にする、
サーバー。
【請求項１０】
請求項８に記載のサーバーであって、前記ホスト・アプリケーションは、更に、
前記発表者がネイティブのリッチ・クライアント・アプリケーションから呈示することを可能にする
ように構成される、
サーバー。
【請求項１１】
請求項８に記載のサーバーであって、前記ホスト・アプリケーションは、更に、
前記発表者に、呈示されるドキュメントが該ドキュメントの現在状態にあることと、前記呈示されるドキュメントが前記ブロードキャストの１つの期間は変更されないこととの確信を提供するために、前記コンテンツのデータ・インテグリティを保証する
ように構成される、
サーバー。
【請求項１２】
請求項８に記載のサーバーであって、前記状態情報はデータ構造としてモデル化される、サーバー。
【請求項１３】
請求項８に記載のサーバーであって、前記ホスト・アプリケーションは、マルチモーダル・オンライン通信サービス、オンライン・コラボレーション・サービス、およびウェブ・サービスのうちの１つと関連する、サーバー。
【請求項１４】
オンライン・ブロードキャストにおけるドキュメント・プレゼンテーション・データの同期のための命令を格納するコンピューター読取可能メモリ・デバイスであって、
前記命令は、
複数の参加者へコンテンツを提供することと、
発表者と関連するクライアント・アプリケーションにおける前記コンテンツの状態に基づいて、前記発表者のクライアント・アプリケーションにおいて処理されたときの、タイミングと、位置情報と、メディアのフローとの組からの少なくとも１つのものと関連するデータを含む状態情報のアップデートを前記発表者から受け取ることと、
前記状態情報のアップデートを、前記複数の参加者へ提供することと、
前記状態情報のアップデートを用いて、前記発表者と前記参加者との間でのリアル・タイムの同期を維持するために、前記複数の参加者が、前記参加者と関連するそれぞれのクライアント・アプリケーションにおいて、前記コンテンツを見ることを可能にすることと、
前記コンテンツを、前記参加者のそれぞれのクライアント・アプリケーションにおいて、前記発表者から独立して、前記参加者がナビゲーションおよび制御することを可能にすることと、
前記参加者のそれぞれのクライアント・アプリケーションにおいて前記コンテンツを見ることを、前記状態情報のアップデートを用いて、前記参加者が前記発表者と再同期することを可能にすることと
を含む、
コンピューター読取可能メモリ・デバイス。
【請求項１５】
請求項１４に記載のコンピューター読取可能メモリ・デバイスであって、
前記命令は更に、前記発表者から別の発表者への切り替えに応じて、前記別の発表者から状態情報のアップデートを受け取ることを継続することを含み、前記状態情報のアップデートは、前記別の発表者のアイデンティフィケーションを更に含む、
コンピューター読取可能メモリ・デバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  ドキュメントや他のデジタル・コンテンツが、インターネットや他の類似のプライベート・ネットワークを介して共有されることが増えている。典型的に、発表者は、１以上の他のユーザーとのオンライン・ミーティングを開始し、コンテンツを生成する。このコンテンツは、発表者が、オンライン・ミーティングの１以上の参加者との共有を望み得るものである。典型的なオンライン・ミーティングでは、共有されるコンテンツは、ビデオ・ストリームと似たように、発表者（通常はサーバーを通じて）から参加者へ送られ、プレゼンテーションの流れは発表者により制御される。従って、参加者は、発表者のペースおよび傾向で呈示される素材を見ることに関して、受動的な役割を担う。
【０００２】
[0002]  従来のプレゼンテーションは、典型的には、スライド・ショーやオーディオ・メディアやビデオ・メディアを含む。画面共有は、別の一般的な技術である。画面共有では、発表者のスクリーンまたはアプリケーションのコンテンツ全体が、グラフィックで参加者へ送られる。参加者は、スクリーンとインタラクションすることができる。幾つかのアプリケーションは、参加者が制御を行うことを可能にするが、これは一度に１つだけのみであり、全参加者のエクスペリエンスに影響を及ぼす。様々なコンテンツ・タイプを混合した様式で用いることができるが、プレゼンテーションの全体は、通常は、発表者により制御される１つの方向の流れに従う。更に、オンライン・プレゼンテーションは、典型的には、オンライン・ミーティング・アプリケーションを通じて開始され、呈示されるコンテンツは、様々な方法を通じてプレゼンテーション・ユーザー・インターフェースへ埋め込まれる。例えば、ワード・プロセッシング・ドキュメントまたはスプレッドシート・ドキュメントをコンテンツの一部として用いられる場合、それぞれのコンテンツは、そのネイティブ・アプリケーションからのドキュメントの外観のみを残して、プレゼンテーションへインポートされる。ネイティブ・アプリケーションの能力の何れも、そのプレゼンテーションには受け継がれない。
【発明の概要】
【０００３】
[0003]  この概要は、以下の詳細な説明で更に説明する概念のうちの選択したものを、簡素化した形で紹介するものである。この概要は、特許請求の範囲に記載の主題事項の鍵となる特徴や本質的な特徴を排他的に特定することを意図しておらず、また、特許請求の範囲に記載の主題事項の範囲を決定する際の支援として用いることを意図していない。
【０００４】
[0004]  実施形態は、ネイティブ・クライアントにわたるアプリケーション内およびウェブ・アプリケーション内のドキュメントまたは他のコンテンツの、ユーザーのビューについての情報を同期するための汎用手段に関し、それにより、オンライン・ブロードキャストの参加者が、自身のアプリケーション内で、発表者が見ているものを見ることができるようにする。更に、ミーティングの時間やノートなどのような、ミーティングに特有の情報を同期させることができ、ほぼリアル・タイムの同期を可能とする。更に、参加者が、参加者自身のアプリケーション内で、呈示されるドキュメントを見ることができるようにすることにより、参加者は、そのアプリケーションの提供する能力、例えば、ドキュメントを通して手動で独立してナビゲーションすることなどの能力を有するようにされ、それにより、参加者により行われるアクションは、ミーティングにおける他の参加者のエクスペリエンスに影響を及ぼさないようにする。
【０００５】
[0005]  これら及び他の構成や利点は、以下の詳細な説明を読み、添付の図面を検討することにより、明らかになるであろう。上記の一般的な説明と下記の詳細な説明との双方が例示であり、特許請求される構成を制限しないことは、理解される。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態に従ったリアル・タイムのドキュメント・プレゼンテーション・データの同期を提供するシステムの例示的なアーキテクチャーを示す。
【図２】図２は、リアル・タイムのドキュメント・プレゼンテーション・データの同期を可能にするための、主なコンポーネントと、例示的なシステムにおけるそれらコンポーネントのインタラクションとを示す。
【図３】図３は、実施形態に従った例示的なシステムにおいての呈示されるドキュメントの流れの概念的な図である。
【図４】図４は、実施形態に従ったシステムを実施することができるネットワーク化された環境である。
【図５】図５は、実施形態を実施することができる例示的な計算動作環境のブロック図である。
【図６】図６は、実施形態に従ったリアル・タイムのドキュメント・プレゼンテーション・データの同期を提供するためのプロセス６００の論理的フロー図を示す。
【発明を実施するための形態】
【０００７】
[0012]  上記で簡単に説明したように、ドキュメントに関しての発表者の現在のビューに関する情報は、発表者と参加者との間で共有することができ、それにより、ビューをリアル・タイムで共有して、ドキュメント内を移動するときに参加者が発表者をフォローできるようにすることができる。更に、ユーザーは、ユーザーのクライアント・マシン上のネイティブ・アプリケーションを通して、呈示されるドキュメントを見るが、そのアプリケーションにより提供される能力の全てを有することができ、例えば、ドキュメントを通じて手動でナビゲーションする能力を有することができる。
【０００８】
[0013]  以下の詳細な説明では、この説明の一部となる添付の図面を参照するが、図面では、特定の実施形態や例が、例示目的で示されている。本開示の精神や範囲から離れずに、それらの構成は組み合わせることができ、また、他の構成を用いることもでき、また、構成の変更を行うこともできる。従って、下記の詳細な説明は、限定を意識するものと理解すべきではなく、本発明の範囲は、特許請求の範囲およびその等価物により定められる。実施形態は、計算デバイスのオペレーティング・システム上で実行されるアプリケーション・プログラムと関連して実行されるプログラム・モジュールの一般的コンテキストで説明されるが、当業者は、他のプログラム・モジュールとの組み合わせで構成を実施できることも、理解するであろう。
【０００９】
[0014]  一般に、プログラム・モジュールは、ルーチン、プログラム、コンポーネント、データ構造、および特定のジョブを行ったり特定の抽象データ型を実施したりする他のタイプの構造を含む。更に、当業者は、手持ち型デバイス、マルチプロセッサー・システム、マイクロプロセッサー・ベースまたはプログラマブルの消費者用電子機器、マイクロコンピューター、メインフレーム・コンピューター、および同等のデバイスを含む他のコンピューター・システム構成を用いて実施形態を実施できることも、理解するであろう。分散型コンピューティング環境では、プログラム・モジュールは、ローカルおよびリモートの双方のメモリ・ストレージ・デバイスに配されることができる。
【００１０】
[0015]  実施形態は、コンピューターによりインプリメントされるプロセス（方法）、計算システム、またはコンピューター・プログラム製品やコンピューター読取可能媒体などのような製品として、実施することができる。コンピューター・プログラム製品は、コンピューター・システムにより読み取ることができ、コンピューター・プログラムをエンコードするコンピューター・ストレージ媒体とすることができ、コンピューター・プログラムは、コンピューターまたはコンピューター・システムに例示のプロセス（１以上）を行わせる命令を含む。コンピューター読取可能ストレージ媒体は、例えば、揮発性コンピューター・メモリ、不揮発性メモリ、ハード・ドライブ、フラッシュ・ドライブ、フロッピー(登録商標)・ディスク、またはコンパクト・ディスク、および同等の媒体のうちの１以上のものを介して、実施することができる。
【００１１】
[0016]  この明細書を通して、「プラットフォーム」という用語は、汎用サービスを通してのリアル・タイムのドキュメント・プレゼンテーション・データの同期を可能にするための、ソフトウェア・コンポーネントとハードウェア・コンポーネントとの組み合わせであり得る。プラットフォームの例は、複数のサーバーを介して実行されるホストされるサービス、１つの計算デバイスで実行されるアプリケーション、および同等のシステムを含むが、これらには限定されない。「サーバー」という用語は、一般に、典型的にはネットワーク化された環境で１以上のソフトウェア・プログラムを実行する計算デバイスのことを言う。しかし、サーバーは、１以上の計算デバイスで実行されてネットワーク上の１つのサーバーとして見られる仮想サーバー（ソフトウェア・プログラム）として、実施することもできる。これらの技術および例示的な動作についての詳細は以下で提供する。
【００１２】
[0017]  図１は、実施形態に従ったリアル・タイムのドキュメント・プレゼンテーション・データの同期を提供するシステムの例示的なアーキテクチャーを示す。図１００に示すように、マルチモーダル・オンライン通信サービス１１０、オンライン・コラボレーション・サービス１１２、およびウェブ・サービス１１４は、ホスト１０８として働くことができ、リアル・タイムのドキュメント・プレゼンテーション・データの同期のエクスペリエンスを得られるオンライン・ミーティングが、ホストされる。ホストを行うことは、パブリック・インターフェースを用いて達成される。ホスト１０８は、パブリック・インターフェースをインプリメントすることによりコンテンツ共有サービス１０６により公開される、発表者および参加者のエクスペリエンス（１１６、１１８、１２０）と、通信することができる。ホスト１０８は、ビューイング・サービス（viewing service）およびブロードキャスティング機能セット（broadcasting functional set）のために、そのインターフェースをサポートすることができる。それらのインターフェースをサポートするホスト１０８は、発表者および参加者のエクスペリエンスを、それら自体のウェブ・ページ内またはリッチ・クライアント・アプリケーション１２２に対するコントロール内で、ホストすることもできる。
【００１３】
[0018]  幾つかの実施形態では、ホスト１０８は、ユーザー・エクスペリエンスを制御せず、単に、発表者フレームまたは参加者フレームをロード（再ロード）するだけの場合もある。コンテンツ共有サービス１０６は、それらのページに対して異なるモードを提供することができ、例えば、全てのユーザー・インターフェースを有するフル・モード、埋め込みモードを提供することができ、埋め込みモードは、最小限のユーザー・インターフェースを示し、ホストがキー・イベントに応答することを可能にする。発表者サービスおよび参加者サービスは、コンテンツ共有サービス１０６により公開することができる。これらは、呈示するときにリッチ・クライアント１２２により、および参加者ウェブ・ページ（ブラウザー１２６）により、呼び出すことができる。ホスト１０８はまた、これらのサービスを呼び出すことができる。
【００１４】
[0019]  リッチ・クライアント１２２は、発表者に対して高忠実度のユーザー・エクスペリエンスを提供することが多い。例えば、プレゼンテーション・ドキュメント（例えば、ワシントン州レドモンドのマイクロソフト（登録商標）・コーポレーションのＰｏｗｅｒＰｏｉｎｔ（登録商標）のドキュメント）を用いるとき、発表者に対して、多数のコントロールや、非常に魅力的な画面切り替え効果（transition）やアニメーションが提供される。アプリケーション・サービス１０４と共にデータ・センター１０２に配されるコンテンツ共有サービス１０６は、発表者が、それの好むエクスペリエンス、即ち、リッチ・クライアントまたはウェブ・クライアントのもの、にとどまることを可能にすることができ、ブロードキャストの完全な制御を有することができる。これを可能にするために、コンテンツ共有サービス１０６は発表者サービスを公開することができ、発表者サービスは、ブロードキャスト・セッションを開始および停止するための機能およびプレゼンテーションの現在の状態をアップロードするための機能を含むことができる。
【００１５】
[0020]  幾つかの実施形態に従うと、リッチ・クライアントはまた、それらのリッチ・クライアントがそれらの状態をコンテンツ共有データの現在状態に同期する方法を提供するかぎり、参加者エクスペリエンスとしても見られることができる。リッチ・クライアントの参加を含み得る他のシナリオは、ノート作成構成（ノート・エクスペリエンス１２８）を含むことができる。ノート・エクスペリエンス１２８内でリッチ・クライアント１３０およびウェブ・クライアント１３２を通して、ノートを、ブロードキャストされているドキュメントとハイパーリンクすることができる。ドキュメントとその現在状態とは知られているので、ノートとブロードキャスト・ドキュメントとの間でのリッチなハイパーリンクおよび接続を確立することができる。これは、進行中のブロードキャスト・セッションを結合するための機能と、プレゼンテーションの現在状態を取り出すための機能とを持つ参加者サービスを公開することにより、達成することができる。
【００１６】
[0021]  ホスト１０８はファイルのデータ・インテグリティを保証することができ、発表者に、それらが現在状態のドキュメントを呈示していることと、それがブロードキャストの１つの期間は変更されないこととの確信を与える。これを達成する１つの方法は、ファイルのコピーを作成してそのコピーをブロードキャストすることである。ホストは、インターフェースをインプリメントすることができ、リッチ・クライアントは、それを用いてコピーを作り、ファイルをアップロードすることができる。ホスト１０８はまた、データ・インテグリティを保証するための代替の機構を使用することを、選択することができる。
【００１７】
[0022]  他の実施形態に従うと、参加者は、発表者から独立してドキュメントをナビゲーションすることを許可され得、各参加者の状態が追跡され得る。更に、参加者のアイデンティティ、作成されている個人のノートの位置なども、追跡することができる。例えば、リアル・タイムで共有されるリンクおよび他のコメントを参加者が見ることを可能にする注釈サポートを提供することができ、注釈と関連するデータを同期することもできる。
【００１８】
[0023]  同期させられている各ドキュメントに対して、コンテンツ共有サービス１０６は、発表者が所与の時点にあるときの、ページ、スライド、パラグラフ、ラインなどのような現在状態を追跡することができる。現在状態はまた、オーディオ・メディアまたはビデオ・メディアのプレゼンテーションにおける発表者の地点（位置情報）、アニメーション・フィーチャーの位置、呈示されるテーブルのセル／行／コラムなどのような、他のコンテンツと関連する情報を含むことができる。状態情報はまた、進行中のミーティングに関して格納および追跡を行うことができる。従って、状態ストアは、サーバーのメモリ内ストレージとすることができ、これはミーティングの期間は維持する（ミーティングの終了後に短期間維持することもできる）。状態データの幾つかは、一定的に変化するものであり得（例えば、発表者が何れのスライドをオンにしているか）、また、状態データの幾つかは、固定であり得る（例えば、呈示されているオリジナル・ファイルの名前および場所）。
【００１９】
[0024]  状態ストアは、サーバーの故障およびリブートから回復する復元性のあるストアとすることができる。これは、クライアントが現在のサービスを規則的間隔でピングすることにより達成することができ、それにより、特定のバック・エンド・サーバーがダウンする場合に、ロード・バランサーが新たなバック・エンド・マシンへリクエストをリダイレクトすることができ、次に、その新たなバック・エンド・マシンは、発表者のリッチ・クライアントからの次のピングで、ミーティング状態によりリハイドレート（rehydrate）されることができる。リハイドレートのためのデータの量は少なく、常に使用可能である。更に、ブロードキャスト・セッションに対しての存在する参加者は、ブロードキャストにおける中断を経験しないであろう（即ち、例えば、参加者の画面はブランクにならず、新たなマシンがバックアップして新たな状態でハイドレート（hydrate）されるまで、最新の成功裏に格納および取得（retrieve）される状態を、続けて見ることができる）。
【００２０】
[0025]  図２は、リアル・タイムでのドキュメント・プレゼンテーション・データの同期を可能にするための例示のシステムにおける主なコンポーネントと、それらのインタラクションとを示す。図２００に示すように、ウェブ・アプリケーション２４８は、ブロードキャストされるコンテンツを、ページ２４４により例示されているネットワーク化されたストレージ２４２へ提供することができる。ブロードキャスト・ホスト・サービス２５０は、ブロードキャスト・セッションを、単に、発表者のページをロードして、ブロードキャストされるファイルへのリンクを提供することにより、開始することができる。
【００２１】
[0026]  発表者のリッチ・クライアント２５４は、次に、プレゼンテーションの状態と関連する状態アップデートを送ることができる。参加者は、参加者ページ２５２をロードすることができ、それは、呈示されるドキュメント・タイプ（例えば、プレゼンテーション・アプリケーション、ワード・プロセッシング・アプリケーション、スプレッドシート・アプリケーション、ノート作成アプリケーションなど）と関連する個々のウェブ・アプリケーション・コンポーネントを含むことができる。コンポーネントは、パブリック・インターフェースを介して、クラウド・ベースのストレージ２４６からブロードキャスト・ドキュメントをロードすることができ、参加者は、ブロードキャストが継続されると、アップデートされた状態に関してポーリングを行うことができる。
【００２２】
[0027]  従って、サーバーは、ブロードキャスト・ドキュメントを格納しないが、プレゼンテーションの現在状態を一時的ストアに格納する。通常の状況では、発表者のクライアント・アプリケーションにおいて状態が変わると、状態情報は、発表者からサーバーへ送られ、続いて、参加者へ送られ得る。サーバーの故障の場合において、ブロードキャストの復元性（resilience）を保証するために、状態情報はまた、サーバーへ周期的に送られることができ、それにより、オンライン・プレゼンテーションを中断させることなく、バックアップ・サーバーを、故障したサーバーの役割を引き継いだ後に、迅速に持ち出せるようにする。図２に示すシナリオおよび構成は単なる例示を目的とするものであり、実施形態に対しての限定を行うものではない。
【００２３】
[0028]  図３は、実施形態に従った例示のシステムにおける、呈示されるドキュメントの流れの概念的な図３００を示す。実施形態に従ったシステムでは、対象とするアプリケーション（１以上）に関しての同期される必要のある情報は、最初に定義することができる。次に、その情報を表すデータ構造または他の手段と、交換プロセスを機能させるために必要な追加の情報とを、生成することができる。情報を作成および消費するアプリケーション３６２および３６６は、それらがそのように行えることを確かめるために、検査され得る。次に、複数のアプリケーションの間で情報を交換するウェブ・サーバー３６４または他の手段を、作成することができる。
【００２４】
[0029]  同期させられる必要のあるデータは、対象とするアプリケーションやコンテンツのタイプに応じたものとなる。例えば、プレゼンテーション・ドキュメントでは、現在のスライド番号および現在のアニメーション・ステップは、参加者がドキュメントにおける発表者の場所をフォローするために、同期させる必要があり得る。同様に、ワード・プロセッシング・ドキュメントでは、発表者により現在呈示されているページ／パラグラフ／ラインを、状態データに含めることができる。
【００２５】
[0030]  同期を必要とするデータを決定した後、実行者（implementer）は、そのデータの表し方を決定することができる。状態データは、データ構造としてモデル化することができるが、別の形で表すこともできる。発表者および参加者により使用されるアプリケーション３６２および３６６は、関連するデータを、それぞれ、生成および消費できる必要がある。アプリケーションは、ネイティブ・アプリケーションまたはウェブ・アプリケーションとすることができる。アプリケーション間でデータを交換するために、サーバー３６４またはそれと似たエンティティを作成することができる。サービス３６４は、異なる場所からアプリケーションにより接触できるものである必要があり、新たなミーティング・データをアップロードすることと、ミーティング・データを取り出すこととの双方をサポートする必要がある。サービス３６４はまた、有る期間に関しての、何らかの形のコンテンツの一部に対してのミーティング・データを、格納できる必要がある。データは、ディスク上やメモリ内などのように、様々な形で格納することができる。
【００２６】
[0031]  幾つかの実施形態では、参加者の認証（authentication）および許可（authorization）は、状態データを送る前に行うことができる。他の実施形態では、ホストは、発表者が「悪い」ものであり得ること、および発表者を信頼すべきではないことを、ブロードキャスト中の或る時点で通知することを可能にすることができる。その時点で、発表者の許可（permission）権利を更新すること、および準じたアクションを行うことができる。更に、実施形態に従ったオンライン・ブロードキャストでは、発表者は切り替えることができる。プレゼンテーションは、状態データに基づいてクライアント側で見られるので、ブロードキャストは、発表者が変わる場合でも中断せず、継続することができる。１つの発表者からの状態データの送信に続いて、次の状態データが別の発表者から入来し、参加者に対しては、移行をシームレスにする。そのような場合、状態データはまた、新たな発表者を参加者に対して明らかにするために、発表者のアイデンティフィケーションを含むことができる。
【００２７】
[0032]  実施形態に従ったシステムでは、任意のタイプのコンテンツを、リアル・タイムのドキュメント・プレゼンテーション・データの同期を用いて、ブロードキャストすることができる。例えば、ワード・プロセッシング・ドキュメント、スプレッドシート・ドキュメント、プレゼンテーション・ドキュメント、オーディオ・メディア、ビデオ・メディア、グラフィック・プレゼンテーション、更にはＥメールやそれらと似たテキストおよび／またはグラフィック・ドキュメントを、参加者を発表者と同期させるために、状態データを用いてブロードキャストすることができる。
【００２８】
[0033]  図１ないし図３の例示のシステムを、特定の構成、アプリケーション、およびインタラクションを用いて説明した。実施形態は、これらの例に従ったシステムには限定されない。リアル・タイムのドキュメント・プレゼンテーション・データの同期を可能にするシステムは、より少ない又は追加のコンポーネントを用いる構成および別のタスクを行う構成で、インプリメントすることができる。更に、特定のプロトコルおよび／またはインターフェースを、ここで説明した原理を用いて類似の様式で、インプリメントすることができる。
【００２９】
[0034]  図４は、例示のネットワーク化された環境であり、その環境において実施形態をインプリメントすることができる。汎用サービスを通してリアル・タイムのドキュメント・プレゼンテーション・データの同期を可能にするシステムは、ホストされるサービスなどのような１以上のサーバー４１４を介して実行されるソフトウェアを介して、インプリメントすることができる。プラットフォームは、ウェブ・ベースのサービスまたはアプリケーション、クラウド・ベースのサービスまたはアプリケーション、および類似のものを含むことができ、ネットワーク（１以上）４１０を介して、スマート・フォン４１３、ラップトップ・コンピューター４１２、デスクトップ・コンピューター４１１（「クライアント・デバイス」）などのような個々の計算デバイスのクライアント・アプリケーションと、通信することができる。ウェブ・ベースのサービスの１つの例は、ワード・プロセッシング、スプレッドシート、通信、スケジューリング、プレゼンテーション、およびこれらと似たアプリケーションを、クライアント・デバイスのブラウザー・インターフェースを通じてクライアントに提供する生産性スィートであり得る。そのようなサービスは、ユーザーに対して、上記のリアル・タイムのドキュメント・プレゼンテーション・データの同期を可能にする。
【００３０】
[0035]  クライアント・デバイス４１１〜４１３の何れで実行されるクライアント・アプリケーションも、サーバー４１４により又は個別のサーバー４１６で実行されるアプリケーション（１以上）を介しての通信を容易にすることができる。サーバーのうちの１つにより実行されるアプリケーションは、発表者からのプレゼンテーション・コンテンツおよび状態情報のブロードキャストを容易にする。クライアント・デバイス４１１〜４１３を用いる参加者は、コンテンツの流れを、クライアント・デバイスのネイティブ・アプリケーションを用いて、見たり、ナビゲーションしたり、制御したりすることができ、また、状態情報を通じて発表者と再同期することができる。この容易にするアプリケーションは、関連するデータを、データ・ストア（１以上）４１９から直接に又はデータベース・サーバー４１８を通じて取り出すことができ、要求されたサービス（例えば、ドキュメントの編集）を、クライアント・デバイス４１１〜４１３を通じてユーザー（１以上）へ提供することができる。
【００３１】
[0036]  ネットワーク（１以上）４１０は、任意のトポロジーのサーバー、クライアント、インターネット・サービス・プロバイダー、および通信媒体を含むことができる。実施形態に従ったシステムは、静的または動的なトポロジーを有することができる。ネットワーク（１以上）４１０は、エンタープライズ・ネットワークなどのようなセキュア・ネットワークや、ワイヤレス・オープン・ネットワークなどのような非セキュア・ネットワークや、インターネットを含むことができる。ネットワーク（１以上）４１０はまた、公衆電話交換回線網（ＰＳＴＮ）やセルラー・ネットワークなどのような他のネットワークを介しての通信を調整することができる。更に、ネットワーク（１以上）４１０は、Ｂｌｕｅｔｏｏｔｈ（登録商標）やそれと似たものなどのような、短距離ワイヤレス・ネットワークを含むことができる。ネットワーク（１以上）４１０は、ここで説明するのノード間での通信を提供する。限定ではなく例として、ネットワーク（１以上）４１０は、音響、ＲＦ、赤外線、および他のワイヤレス媒体などのようなワイヤレス媒体を含むことができる。
【００３２】
[0037]  計算デバイス、アプリケーション、データ・ソース、およびデータ配信システムの多くの他の構成を、汎用サービスを通じてのリアル・タイムのドキュメント・プレゼンテーション・データの同期を可能にするためのプラットフォームをインプリメントするために、用いることができる。更に、図４で説明したネットワーク化された環境は、例示のみを目的としている。実施形態は、例示のアプリケーションや、モジュールや、プロセスに限定されない。
【００３３】
[0038]  図５と、それに関連する説明とは、実施形態をインプリメントすることができる適切な計算環境の簡単な一般的な説明を提供することを意図している。図５を参照すると、計算デバイス５００などのような、実施形態に従ったアプリケーションのための例示の計算動作環境のブロック図が示されている。基本的構成では、計算デバイス５００は、リアル・タイムのドキュメント・プレゼンテーション・データの同期を伴っての、ドキュメントのオンライン・ブロードキャティングを容易にする任意の計算デバイスとすることができ、少なくとも１つの処理装置５０２とシステム・メモリ５０４とを含むことができる。計算デバイス５００はまた、プログラムの実行の際に共に働く複数の処理装置を含むことができる。計算デバイスの正確な構成およびタイプに応じて、システム・メモリ５０４は、揮発性（ＲＡＭなど）、不揮発性（ＲＯＭやフラッシュ・メモリなど）、またはそれら２種の何らかの組み合わせにすることができる。システム・メモリ５０４は、典型的には、プラットフォームの動作の制御に適したオペレーティング・システム５０５を含み、オペレーティング・システムは、例えば、ワシントン州レドモンドのマイクソフト（登録商標）・コーポレーションからのＷＩＮＤＯＷＳ（登録商標）オペレーティング・システムとすることができる。システム・メモリ５０４はまた、ホスト・アプリケーション５２２などのような１以上のソフトウェア・アプリケーションとドキュメント共有モジュール５２４とを含むことができる。
【００３４】
[0039]  ホスト・アプリケーション５２２は、ドキュメントおよび任意のタイプのコンテンツを含むプレゼンテーションのオンライン・ブロードキャスティングを可能にする。ドキュメント共有モジュール５２４を通じて、ブロードキャストの参加者は、状態情報アップデートを発表者から受け取ることができ、そりにより、参加者は、プレゼンテーションにおける発表者のビューを、ローカルで、プレゼンテーションを通して独立してナビゲーションを行う能力、フローを制御する能力、および発表者と再同期する能力を用いて、フォローできるようになる。ホスト・アプリケーション５２２およびドキュメント共有モジュール５２４は、分離したアプリケーションとすること、またはホスト・サービスの統合されたモジュールとすることができる。基本的構成は、、図５において、破線５０８内のコンポーネントにより示されている。
【００３５】
[0040]  計算デバイス５００は、追加の構成または機能を有することができる。例えば、計算デバイス５００はまた、追加のデータ・ストレージ・デバイス（取り外し可能および／または取り外し不可能）、例えば、磁気ディスクや光ディスクやテープなどを含むことができる。そのような追加のストレージは、図５において、取り外し可能ストレージ５０９および取り外し不可能ストレージ５１０により示されている。コンピューター読取可能ストレージ媒体は、揮発性および不揮発性、および取り外し可能および取り外し不可能である媒体を含み、その媒体は、コンピュータ読取可能命令、データ構造、プログラム・モジュール、および他のデータなどのような情報を記憶するための任意の方法や技術で実現される。システム・メモリ５０４、取り外し可能ストレージ５０９、および取り外し不可能ストレージ５１０の全ては、コンピューター読取可能ストレージ媒体の例である。コンピューター読取可能ストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ、または他のメモリ技術、ＣＤ−ＲＯＭ、デジタル・バーサタイル・ディスク（ＤＶＤ）、または他の光記憶装置、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置、または望まれる情報を記憶するために使用でき且つ計算デバイス５００によりアクセスできる他の媒体を含むが、これらには限定されない。そのようなコンピューター読取可能ストレージ媒体の任意のものを、計算デバイス５００の一部とすることができる。計算デバイス５００はまた、入力デバイス（１以上）５１２、例えば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、およびそれらと同等の入力デバイスなどを含むことができる。出力デバイス（１以上）５１４、例えば、ディスプレイ、スピーカー、プリンター、および他のタイプの出力デバイスも含むことができる。これらのデバイスは、当該分野では良く知られており、ここでの長い説明は不要である。
【００３６】
[0041]  計算デバイス５００はまた、このデバイスが他のデバイス５１８と通信することを可能にする通信接続５１６を含むことができ、この通信は、分散型計算環境、衛星リンク、セルラー・リンク、短距離ネットワーク、およびそれらと同等のものにおける有線またはワイヤレスのネットワークを介する。他のデバイス５１８は、通信アプリケーションを実行するコンピューター・デバイス（１以上）、ウェブ・サーバー、およびそれらと同等のデバイスを、含むことができる。通信接続（１以上）５１６は、通信媒体の一例である。通信媒体は、その中に、コンピューター読取可能命令、データ構造、プログラム・モジュール、または他のデータを含むことができる。限定ではなく例として、通信媒体は、有線ネットワークや直接有線接続などのような有線媒体と、音響、ＲＦ、赤外線、および他の無線媒体などのようなワイヤレス媒体とを含む。
【００３７】
[0042]  例示の実施形態はまた、方法を含む。それらの方法は、この文書で説明する構造を含めての、任意の幾つかの方法でインプリメントすることができる。１つのそのような方法は、この文書で説明するタイプのデバイスの機械動作によるものである。
【００３８】
[0043]  別のオプションの方法は、方法の個々の動作のうちの１以上のものを、それを行う１以上の人間の操作者と関連して行うことである。それら人間の操作者は、互いに配する必要はないが、それぞれの操作者は、プログラムの一部を行う機械とのみ配することができる。
【００３９】
[0044]  図６は、実施形態に従った、リアル・タイムのドキュメント・プレゼンテーション・データの同期を提供するためのプロセス６００の論理フロー図を示す。プロセス６００は、プロセッサーを通じて命令を実行することができる計算デバイス又はそれと似た電子デバイスで、インプリメントすることができる。
【００４０】
[0045]  プロセス６００はオペレーション６１０で開始し、オペレーション６１０では、参加者へコンテンツが提供される。コンテンツは、ネットワーク化したストレージへアップロードすることができ、それにより、ブロードキャスト・セッションの間に、コンテンツは、クライアント・アプリケーション（リッチまたは汎用）によりアクセス／取得（retrieve）されることができる。幾つかの実施形態では、コンテンツは、クライアント側にキャッシュ記憶してセッションの間に見ることができる。オペレーション６２０において、発表者クライアントのうちの１つ（リッチまたはシン）により、オンライン・プレゼンテーションを容易にするサーバーと通信することにより、ブロードキャスト・セッションが開始される。オペレーション６３０で示すように、ブロードキャスト・セッションの間に、オンライン・プレゼンテーションを容易にするサーバーは、発表者から状態アップデートを受け取る。システムの復元性を保証するために、状態アップデートを、発表者側での状態の変化に応答して、または周期的に、受け取ることができる。
【００４１】
[0046]  オペレーション６４０において、参加者は、発表者から受け取られた状態アップデートの提供を受けることができ、オペレーション６５０において、発表者から独立してブロードキャスト・ドキュメントを見ることを可能とされる。例えば、参加者は、マルチメディア・コンテンツの再生や低速再生や高速再生、アニメーションのペースの変更、ワード・プロセッシング・ドキュメント上やスプレッドシート・ドキュメント上での別の位置への変更などを、行うことができる。オペレーション６３０および６４０は、ループで実行することができ、ブロードキャスト・ドキュメントを通して、アップデートが発表者から受け取られ、参加者へ提供されるようにする。オプションのオペレーション６６０において、参加者は、サーバーから参加者へ送られている状態アップデートを用いて、発表者と再同期することを可能とされ得る。
【００４２】
[0047]  参加者の観点からは、参加者は、ホスト・サービスから受け取ったリンク（例えば、ＵＲＬ）をフォローし、ブロードキャスト・セッションに参加し、参加者のクライアント・デバイス上でレンダリングされたドキュメントのビューを（ブラウザーを介して）有するであろう。参加者は、発表者から（ホスト・サービスを通じて）状態アップデートを、周期的におよび／または発表者側で変更があったときに受け取ることができ、発表者との同期を維持するために、そのドキュメントのビューを自動的にナビゲーションすることができる。参加者はまた、発表者から独立してドキュメントを手動でナビゲーションを行い、受け取った状態アップデートに基づいて発表者と再び同期させることもできる。
【００４３】
[0048]  発表者の観点からは、ブロードキャスト・セッションが開始され、ブロードキャストへのリンクを参加者へ送ることにより参加者は招待されることができる。発表者は、呈示されるドキュメントを通してナビゲーションすることを可能にされ得、呈示されるドキュメントは、ホスト・サービスを通じて参加者へ送られる状態アップデートに基づいて、それぞれの参加者に対して再生される。発表者はまた、任意の点でブロードキャストを終了することができる。
【００４４】
[0049]  プロセス６００に含まれるオペレーションは、例示を目的としたものである。実施形態に従ったリアル・タイムのドキュメント・プレゼンテーション・データの同期は、ここで説明した原理を用いて、より少ないまたは追加のステップを持つ類似のプロセスにより、また、オペレーションを別の順序にして、インプリメントすることができる。
【００４５】
[0050]  上記の仕様、例、およびデータは、実施形態の構成物の製造および使用のための完全な説明を提供する。主題事項を、構造的な特徴や方法論的な動作に対して特定的な言語で記載したが、特許請求の範囲において定める主題事項が必ずしも上記の特定の特徴や動作に限定されるものではないことは、理解される。むしろ、上記の特定の特徴や動作は、特許請求の範囲および実施形態をインプリメントするための例示的に形として開示されたものである。
【図１】
2014532938.tif 000003
【図２】
2014532938.tif 000004
【図３】
2014532938.tif 000005
【図４】
2014532938.tif 000006
【図５】
2014532938.tif 000007
【図６】
2014532938.tif 000008
【国際調査報告】
2014532938.tif 000009
2014532938.tif 000010
2014532938.tif 000011