(57)【特許請求の範囲】
【請求項１】
コラボレーション・サーバ上に格納されたドキュメントを、クライアント・コンピュータ・デバイスに提示するための方法であって、
前記ドキュメントの要求を、前記クライアント・コンピュータ・デバイスから受信する要求受信工程と、
前記要求に応じて、前記ドキュメントを前記クライアント・コンピュータ・デバイスに送信する工程であって、前記ドキュメントは、前記ドキュメントの外観を少なくとも部分的に定義するコンテンツ・データ・オブジェクトの１つまたは複数のセットによって定義され、１つまたは複数の補足ドキュメント・リソース・オブジェクトを含む、工程と、
前記要求と前記要求に含まれる前記クライアント・コンピュータ・デバイスの識別の評価とに応じてラスタ画像データの１つまたは複数の第１のセットを前記クライアント・コンピュータ・デバイスに選択的に送信する工程であって、ラスタ画像データの前記１つまたは複数の第１のセットの各々は前記ドキュメントのうちの特定のセグメントを表す、工程と、を備える方法。
【請求項２】
前記要求は、前記クライアント・コンピュータ・デバイスを前記コンテンツ・データ・オブジェクトに対して低減されたレンダリング能力を有するものとする指定を含む、請求項１に記載の方法。
【請求項３】
ラスタ画像データの前記１つまたは複数の第１のセットは、前記要求受信工程より前に生成される、請求項１に記載の方法。
【請求項４】
ラスタ画像データの前記１つまたは複数の第１のセットは、前記コラボレーション・サーバの第１のデータ・リポジトリに格納され、
前記ドキュメントは、前記第１のデータ・リポジトリとは異なる前記コラボレーション・サーバの第２のデータ・リポジトリから送信される、請求項１に記載の方法。
【請求項５】
ラスタ画像データの前記１つまたは複数の第１のセットおよび前記ドキュメントは、前記コラボレーション・サーバ上に格納される、請求項１に記載の方法。
【請求項６】
ラスタ画像データの前記１つまたは複数の第１のセットは、ラスタ画像データの前記１つまたは複数の第１のセットのうちの１つを前記クライアント・コンピュータ・デバイス上の表示にスケーリングすることに基づく第１の事前定義された解像度を有する、請求項１に記載の方法。
【請求項７】
ラスタ画像データの１つまたは複数の第２のセットを前記クライアント・コンピュータ・デバイスに送信する工程であって、ラスタ画像データの前記１つまたは複数の第２のセットの各々は、前記ドキュメントの特定のセグメントを表し、ラスタ画像データの前記１つまたは複数の第１のセットの前記第１の事前定義された解像度とは異なる第２の事前定義された解像度を有する、工程をさらに備える、請求項６に記載の方法。
【請求項８】
前記第２の事前定義された解像度は、前記ドキュメントの１つのページのラスタ画像データの前記１つまたは複数の第２のセットの各々をクライアント・コンピュータ・デバイス上の前記表示にスケーリングすることに基づく、請求項７に記載の方法。
【請求項９】
前記ドキュメントに対する更新を前記クライアント・コンピュータ・デバイスから受信する工程と、
前記更新を前記コラボレーション・サーバ上に格納されている前記ドキュメントに適用する工程と、
前記コラボレーション・サーバ上のラスタ画像データの１つまたは複数の更新済みの第１のセットを生成する工程であり、ラスタ画像データの更新済みの前記１つまたは複数の第１のセットの各々は、適用された前記更新を伴う前記ドキュメントの更新済みバージョンの特定のセグメントを表す、工程と、をさらに備える請求項１に記載の方法。
【請求項１０】
ラスタ画像データの前記１つまたは複数の更新済みの第１のセットを前記クライアント・コンピュータ・デバイスに送信する工程をさらに備える、請求項９に記載の方法。
【請求項１１】
ラスタ画像データの前記１つまたは複数の更新済みの第１のセットは、前記クライアント・コンピュータ・デバイスからの要求に応じて前記クライアント・コンピュータ・デバイスに対し送信される請求項１０に記載の方法。
【請求項１２】
複数のクライアント上でのドキュメントの提示を最適化するための方法であって、前記ドキュメントはサーバ上に格納されており、
前記サーバ上の前記ドキュメントの要求を第１のクライアントおよび第２のクライアントから受信する工程であって、前記要求は、前記第１のクライアントおよび前記第２のクライアントのそれぞれの識別を含み、前記ドキュメントは、前記ドキュメントの外観を少なくとも部分的に定義するコンテンツ・データ・オブジェクトの１つまたは複数のセットによって定義され、１つまたは複数の補足ドキュメント・リソース・オブジェクトを含む、工程と、
前記サーバから前記第１のクライアントに、前記要求に応じて、その前記識別の評価に基づいて、前記ドキュメントを送信する工程と、
前記サーバから前記第２のクライアントに、前記要求に応じて、その前記識別の評価に基づいて、前記ドキュメントおよびラスタ画像データの１つまたは複数の第１のセットを送信する工程であって、ラスタ画像データの前記１つまたは複数の第１のセットの各々は、前記ドキュメントの特定のセグメントを表す、工程と、
コンテンツ・データ・オブジェクトの前記１つまたは複数のセットと１つまたは複数の補足ドキュメント・リソース・オブジェクトとを含む前記第１のクライアントの表示上で前記ドキュメントをレンダリングする工程と、
ラスタ画像データの前記１つまたは複数の第１のセットのビューを前記第２のクライアントの表示上に生成する工程と、
前記ドキュメントから抽出された前記１つまたは複数の補足ドキュメント・リソース・オブジェクトを、ラスタ画像データの前記１つまたは複数の第１のセットの前記ビューに対しオーバーレイする工程と、を備える方法。
【請求項１３】
前記第１のクライアントの前記識別は、前記コンテンツ・データ・オブジェクトの低減されていない能力を指定し、
前記第２のクライアントの前記識別は、前記コンテンツ・データ・オブジェクトの低減されたレンダリング能力を指定する、請求項１２に記載の方法。
【請求項１４】
前記ドキュメントに対する更新を前記第１のクライアントから受信する工程と、
前記更新を前記サーバ上に格納されている前記ドキュメントに適用する工程と、をさらに備える請求項１２に記載の方法。
【請求項１５】
前記ドキュメントに関連付けて前記第２のクライアントの前記識別を格納する工程と、
前記ドキュメントに関連付けられている前記第２のクライアントの前記識別の評価に基づいて、前記サーバ上のラスタ画像データの１つまたは複数の更新済みの第１のセットを生成する工程であって、ラスタ画像データの前記１つまたは複数の更新済みの第１のセットの各々は、適用された前記更新を伴う前記ドキュメントの更新済みバージョンの特定のセグメントを表す、工程と、をさらに備える請求項１４に記載の方法。
【請求項１６】
ラスタ画像データの前記１つまたは複数の更新済みの第１のセットを前記第２のクライアントに送信する工程と、
ラスタ画像データの前記１つまたは複数の更新済みの第１のセットのビューを前記第２のクライアントの表示上に生成する工程と、をさらに備える請求項１４に記載の方法。
【請求項１７】
クライアント・コンピュータ・デバイス上にドキュメントをレンダリングするための方法であって、
前記ドキュメントの要求を、前記クライアント・コンピュータ・デバイスから、前記ドキュメントが格納されているリモート・システムに送信する工程であって、前記要求は、前記クライアント・コンピュータ・デバイスの識別を含む、工程と、
前記クライアント・コンピュータ・デバイス上で前記ドキュメントを受信する工程であって、前記ドキュメントは、前記ドキュメントの外観を少なくとも部分的に定義するコンテンツ・データ・オブジェクトの１つまたは複数のセットによって定義され、ドキュメント位置属性を各々有する１つまたは複数の補足ドキュメント・リソース・オブジェクトを含む、工程と、
ラスタ画像データの１つまたは複数の第１のセットを前記クライアント・コンピュータ・デバイス上で受信する工程であって、ラスタ画像データの前記１つまたは複数の第１のセットの各々は前記ドキュメントのうちの特定のセグメントを表し、第１の事前定義された解像度を有し、ラスタ画像データの前記１つまたは複数の第１のセットは、前記クライアント・コンピュータ・デバイスの前記識別の評価に少なくとも部分的に基づいて受信される、工程と、
前記１つまたは複数の補足ドキュメント・リソース・オブジェクトを前記ドキュメントから抽出する工程と、
ラスタ画像データの前記１つまたは複数の第１のセットのビューを前記クライアント・コンピュータ・デバイスの表示上に生成するビュー生成工程と、
前記ドキュメントから抽出された前記１つまたは複数の補足ドキュメント・リソース・オブジェクトをラスタ画像データの前記１つまたは複数の第１のセットの前記ビューに対しオーバーレイする工程であって、前記１つまたは複数の補足データ・リソース・オブジェクトは、その対応するドキュメント位置属性にしたがって配置される、工程と、を備える方法。
【請求項１８】
前記識別は、前記クライアント・コンピュータ・デバイスを前記コンテンツ・データ・オブジェクトに対して低減されたレンダリング能力を有するものと指定する請求項１７に記載の方法。
【請求項１９】
ラスタ画像データの前記１つまたは複数の第１のセットは、前記リモート・システムの第１のデータ・リポジトリから受信され、
前記ドキュメントは、前記第１のデータ・リポジトリとは異なる前記リモート・システムの第２のデータ・リポジトリから受信される請求項１７に記載の方法。
【請求項２０】
前記１つまたは複数の補足ドキュメント・リソース・オブジェクトは、アノテーション、ブックマーク、ハイパーリンク、およびサムネイルからなるグループから選択される、請求項１７に記載の方法。
【請求項２１】
前記第１の事前定義された解像度は、ラスタ画像データの前記１つまたは複数の第１のセットのうちの１つを前記表示上の生成された前記ビューにスケーリングすることに基づく、請求項１７に記載の方法。
【請求項２２】
ラスタ画像データの１つまたは複数の第２のセットを前記クライアント・コンピュータ・デバイス上で受信する工程であって、ラスタ画像データの前記１つまたは複数の第２のセットの各々は、前記ドキュメントの特定のセグメントを表し、ラスタ画像データの前記１つまたは複数の第１のセットの前記第１の事前定義された解像度とは異なる第２の事前定義された解像度を有する、工程をさらに備える、請求項１７に記載の方法。
【請求項２３】
前記第２の事前定義された解像度は、前記ドキュメントの１つのページのラスタ画像データの前記１つまたは複数の第２のセットの各々を前記表示上の生成された前記ビューにスケーリングすることに基づく、請求項２２に記載の方法。
【請求項２４】
前記ビュー生成工程の後、前記ドキュメントの更新済みのバージョンを受信する工程をさらに備える、請求項１７に記載の方法。
【請求項２５】
前記ドキュメントの前記更新済みバージョンのコンテンツ・データ・オブジェクトの前記１つまたは複数のセットと１つまたは複数の補足ドキュメント・リソース・オブジェクトとを含む前記クライアント・コンピュータ・デバイスの前記表示上で前記ドキュメントの前記更新済みバージョンのビューを生成する工程をさらに備える、請求項２４に記載の方法。
【請求項２６】
前記ドキュメントの前記更新済みのバージョンは、前記クライアント・コンピュータ・デバイスで入力された前記ドキュメントに対する修正の結果として受信される、請求項２５に記載の方法。
【請求項２７】
前記ドキュメントに対する前記修正は、ページ回転、ページ挿入、ページ並び替え、ページ削除、ページフラット化、およびマークアップのフラット化からなるグループから選択される、請求項２６に記載の方法。
【請求項２８】
ラスタ画像データの前記１つまたは複数の更新済みの第１のセットを前記クライアント・コンピュータ・デバイス上で受信する工程であって、ラスタ画像データの前記１つまたは複数の更新済みの第１のセットの各々は、前記ドキュメントの前記更新済みバージョンの特定のセグメントを表す、工程と、
前記１つまたは複数の補足ドキュメント・リソース・オブジェクトを前記更新済みのドキュメントから抽出する工程と、
ラスタ画像データの前記１つまたは複数の更新済みの第１のセットのビューを前記クライアント・コンピュータ・デバイスの前記表示上に生成する工程と、
前記更新済みのドキュメントから抽出された前記１つまたは複数の補足ドキュメント・リソース・オブジェクトを、ラスタ画像データの前記１つまたは複数の更新済みの第１のセットの前記ビューに対しオーバーレイする工程と、をさらに備える請求項２４に記載の方法。
【請求項２９】
クライアント・コンピュータ・システムによって可読な非一時的プログラム記憶媒体を備える物品であって、前記媒体は、前記クライアント・コンピュータ・システム上でドキュメントをレンダリングするための方法を実行するために前記クライアント・コンピュータ・システムによって実行可能な命令からなる１つまたは複数のプログラムを有形に具現し、前記方法は、
前記ドキュメントの要求を、前記クライアント・コンピュータ・システムから、前記ドキュメントが格納されているリモート・システムに送信する工程であって、前記要求は、前記クライアント・コンピュータ・システムの識別を含む、工程と、
前記クライアント・コンピュータ・システムで前記ドキュメントを受信する工程であって、前記ドキュメントは、前記ドキュメントの外観を少なくとも部分的に定義するコンテンツ・データ・オブジェクトの１つまたは複数のセットによって定義され、ドキュメント位置属性を各々有する１つまたは複数の補足ドキュメント・リソース・オブジェクトを含む、工程と、
ラスタ画像データの１つまたは複数の第１のセットを前記クライアント・コンピュータ・システム上で受信する工程であって、ラスタ画像データの前記１つまたは複数の第１のセットの各々は前記ドキュメントのうちの特定のセグメントを表し、ラスタ画像データの前記１つまたは複数の第１のセットは、前記クライアント・コンピュータ・システムの前記識別の評価に少なくとも部分的に基づいて受信される、工程と、
前記１つまたは複数の補足ドキュメント・リソース・オブジェクトを前記ドキュメントから抽出する工程と、
ラスタ画像データの前記１つまたは複数の第１のセットのビューを前記クライアント・コンピュータ・システムの表示上に生成するビュー生成工程と、
前記ドキュメントから抽出された前記１つまたは複数の補足ドキュメント・リソース・オブジェクトをラスタ画像データの前記１つまたは複数の第１のセットの前記ビューに対しオーバーレイする工程であって、前記１つまたは複数の補足データ・リソース・オブジェクトは、その対応するドキュメント位置属性にしたがって配置される、工程と、を備える物品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、ドキュメントの共有およびコラボレーションに関し、さらに詳細には、ドキュメント・ラスタ表現によるクライアント・デバイス上での共有ドキュメントのレンダリングを最適化することに関する。
【背景技術】
【０００２】
現代のビジネスの中核は情報であり、情報の作成、配信、および管理は基本的な機能となっている。情報またはコンテンツは、ワードプロセッシング・ドキュメント、スプレッドシート、グラフィックス、写真、機械製図、建築設計図などを含む、多種多様な方法で提示され得る。電子形態において、これらはすべて、ドキュメントと一般に称されており、それらに固有のソフトウェア・アプリケーションによって生成され得る。企業における通常のワークフローは、そのようなドキュメントを作成、レビュー、および／または編集するためにコラボレーションするさまざまな人員を伴い、高速データ通信およびコンピューティング能力の進歩により、それらのプロセスは、リモート人員を伴うこともできる。
【０００３】
多種多様なオペレーティング・システム、アプリケーション・プログラム、ならびに処理およびグラフィック表示機能を有する多くのさまざまなコンピューティング・プラットフォームの存在により、そのような交換を容易にするためには、デバイスに依存せず、解像度に依存しないファイル・フォーマットが必要であることが、当業者によって認識された。この必要性に応じて、他の競合するフォーマットの中でも特にポータブル・ドキュメント・フォーマット（ＰＤＦ：Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）が開発された。
【０００４】
ＰＤＦ規格は、簡易化されたポストスクリプト（ＰｏｓｔＳｃｒｉｐｔ）インタープリタ・サブシステム、フォント埋め込みサブシステム、およびストレージ・サブシステムを含むいくつかの技術の組合せである。当業者が認識するように、ポストスクリプトは、ドキュメントのレイアウトおよびグラフィックスを生成するためのページ記述言語である。さらに、ＰＤＦストレージ・サブシステムの要件によれば、本明細書において集合的にグラフィック要素と称される、テキスト、ベクタ・グラフィックス、およびラスタ（ビットマップ）・グラフィックスを含むドキュメントのすべての要素は、単一のファイルにカプセル化される。グラフィック要素は、固有のオペレーティング・システム、ソフトウェア・アプリケーション、またはハードウェアにエンコードされないが、そのようなデータを書き込みまたは読み取るシステムに関連する固有性には関わりなく、同じ方法でレンダリングされるように設計される。ＰＤＦのクロスプラットフォーム能力は、その幅広い採用に役立ってきたが、現在では、事実上のドキュメント交換規格になっている。本来はプロプラエタリーであったが、ＰＤＦは、国際標準化機構（ＩＳＯ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ）によりＩＳＯ／ＩＥＣ３２００−１：２００８として公開されたオープン規格としてリリースされた。現在、ＰＤＦは、主としてテキストからなるもの、ならびに主としてベクタおよびラスタ・グラフィックスからなるものを含む、多種多様なドキュメント・タイプをエンコードするために利用される。ＰＦＤフォーマットのファイルは、その多用途性および普遍性を備えているので、固有のアプリケーションのより特定化されたファイル・フォーマットよりも好まれることが多い。そのようなものとして、ドキュメントは、ＰＤＦフォーマットに変換される。
【０００５】
ユーザ・インタフェースの観点からは、ＰＤＦドキュメントは通常、静的にレンダリン
グされるので、テキスト、ピクチャー、およびその他の要素のような個々の要素は編集可能ではない。しかし、ＰＤＦリーダー、ライター、およびスタンダード自体の初期リリース以来行われてきた複数の改良のうちの１つは、基本ドキュメントにアノテーションを加えるためのサポートである。そのようなアノテーションは、基礎となるドキュメントに対しグラフィカルにオーバーレイ、または「配置され」、配置はユーザによって正確に制御される。したがって、機能性は、カーソルを望みの位置にナビゲートし、後続の入力を行って配置を永続的にすることによって、さまざまなオブジェクトがドキュメント・キャンバス上に配置され得る、グラフィック・イラストレーション／デザインおよび画像加工アプリケーションと類似している。カーソルを配置する前に、幾何プリミティブ、テキストボックスなどのような、配置されるべきオブジェクトが選択される。
【０００６】
アノテーション・フィーチャの従来型実施態様は、直線的なワークフローを容易にするために使用され、ここで１人のユーザはドキュメントの初期バージョンを作成し、同ドキュメントをレビュー、コメント、および改訂のために仲間に配信／電子メール送信する。その後、コメントおよび訂正を受信すると、主要作成者は、それらをドキュメントに組み入れて、第２の改訂サイクルで再度ドキュメントを配信する。基本的な電子メールおよびコンピューティング・インフラストラクチャしか必要とされない。この反復的改訂サイクルの改良は、追加の参加者、参加者が複数の並行する改訂ダイアログを続行する多対多へのワークフロー階層の変更などに関連付けられた課題を克服するために開発されてきた。特に、単一の正式なバージョンが中央サーバまたはクラウドベースのストレージによって保持された状態で、散在する位置の複数ユーザがリアルタイムでドキュメントを編集することができるコラボレーション・プラットフォームがある。Ｂｌｕｅｂｅａｍ  Ｓｔｕｄｉｏを含む、ＰＤＦに特化したさまざまなコラボレーション・プラットフォームもまた、当技術分野において知られている。
【０００７】
コラボレーション・セッションへの参加者数の増大に伴って、そのような参加者によって利用されるコンピューティング・デバイスの多様性も高まる。多数の競合するデバイスがさまざまな製品カテゴリにおいて使用可能であり、その選択は一般に、特定のユーザのモビリティ要件に左右される。たとえば、最もモバイル性が高く、しかも最小のフットプリント（ひいては、最小の表示および入力デバイス占有面積）のデバイスは、スマートフォンである。わずかに大きいが、より高い処理パワーを備えているのは、Ａｐｐｌｅ  ｉＰａｄ（登録商標）、Ｓａｍｓｕｎｇ  Ｇａｌａｘｙなどのような、スマートフォン・オペレーティング・システム・ベースのタブレットである。さらに大きく、従来型デスクトップおよびモバイル（ラップトップ）・コンピュータのパフォーマンス・レベルにほぼ達するのは、従来型のデスクトップ・オペレーティング・システムを動作させるＭｉｃｒｏｓｏｆｔ  Ｓｕｒｆａｃｅ  Ｐｒｏのような中間デバイスである。一部パフォーマンスの低下が生じることもあるが、最も要求の厳しいタスク以外のすべてのタスクは、デスクトップまたはモバイル／ラップトップコンピュータによって完了され得る。コラボレーション環境において、参加者は各々、いずれかのデバイスにより達成し得るさまざまなコンピューティングの必要性を有する場合がある。さらに、モバイル性のある、常に使用可能な作業人員と共に、所与の参加者が利用し得る特定のデバイスは、時間および位置に左右されることが多い。
【０００８】
デスクトップまたはモバイル／ラップトップコンピュータ、さらに中間タブレット・コンピュータ・デバイスにおいてＰＤＦドキュメントをレンダリングすることは通常、ありふれたことである。ＰＤＦドキュメントは、ＰｏｓｔＳｃｒｉｐｔページ記述言語において説明されているように構成されたテキスト・ストリームおよびベクタおよび／またはラスタ・グラフィックス・データからなる。ＰＤＦファイル内のデータは、レンダリングのために解釈される必要があるので、ある程度の処理が要求される。この処理は、従来型のデスクトップ・コンピュータ・システムおよび同様の能力のその他のデバイス上で最小負
荷のコンピューティング・リソースによって完了されてもよい。しかし、タブレットのようなそれほどパワフルではないデバイス上で同様のタスクを遂行するために必要とされる時間は、大幅に延びる可能性があるので、ドキュメントの一部領域は、制限のあるプロセッサがそれらの部分をレンダリングしようと試みて、長期間にわたり空白になってしまうこともあり得る。
【０００９】
したがって、当技術分野において、複数のクライアント・デバイスにわたるドキュメント、特に共有されるドキュメントのレンダリングを最適化する必要性がある。さらに、遅延が最小となるように、比較的低い処理能力で、タブレットおよびその他のデバイス上でのドキュメントの提示を改良する必要性もある。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本開示は、さまざまなコンピュータ・デバイス上でのドキュメントのレンダリングを最適化することに向けられる。デスクトップ・コンピュータ・システム上のユーザが、共有ドキュメントにアノテーションを付けることができ、別のユーザが、タブレット・デバイスから同様にアノテーションを付けることができることが企図される。デスクトップ・コンピュータ・システムはしたがって、最適化されたドキュメントを有することになり、タブレットはしたがって、同様に最適化されたドキュメントを有することになる。
【課題を解決するための手段】
【００１１】
本開示の１つの実施形態は、コラボレーション・サーバ上に格納されているドキュメントを、クライアント・コンピュータ・デバイスに提示するための方法に向けられる。方法は、ドキュメントの要求を、クライアント・コンピュータ・デバイスから受信する工程を含むことができる。加えて、方法は、要求に応じて、ドキュメントをクライアント・コンピュータ・デバイスに送信する工程を含むことができる。ドキュメントは、ドキュメントの外観を少なくとも部分的に定義するコンテンツ・データ・オブジェクトの１つまたは複数のセットによって定義されてもよい。ドキュメントはまた、１つまたは複数の補足ドキュメント・リソース・オブジェクトを含むことができる。方法はまた、要求と要求に含まれるクライアント・コンピュータ・デバイスの識別の評価とに応じてラスタ画像データの１つまたは複数の第１のセットをクライアント・コンピュータ・デバイスに選択的に送信する工程を含むことができる。ラスタ画像データの１つまたは複数の第１のセットの各々は、ドキュメントの特定のセグメントを表すものであってもよい。
【００１２】
もう１つの実施形態は、複数のクライアント上でのドキュメントの提示を最適化するための方法に向けられ、ここでドキュメントはサーバ上に格納される。方法は、サーバ上でドキュメントの要求を第１のクライアントおよび第２のクライアントから受信する工程を含むことができる。要求は、第１のクライアントおよび第２のクライアントのうちのそれぞれ１つの識別を含むことができ、ドキュメントは、ドキュメントの外観を少なくとも部分的に定義するコンテンツ・データ・オブジェクトの１つまたは複数のセットによって定義されてもよい。ドキュメントはまた、１つまたは複数の補足ドキュメント・リソース・オブジェクトを含むことができる。
【００１３】
方法は、要求に応じて、ドキュメントをサーバから第１のクライアントに送信する工程をさらに含むことができる。第１のクライアントの識別の評価はまた、ドキュメントを第１のクライアントに送信するための基準としての役割も果たすことができる。要求に応じて、ドキュメントおよびラスタ画像データの１つまたは複数の第１のセットを、第２のクライアントに送信する工程があってもよい。ラスタ画像データの１つまたは複数の第１のセットの各々は、ドキュメントの特定のセグメントを表す。第２のクライアントの識別の評価はまた、この工程を実行するための基準であってもよい。
【００１４】
方法は、ドキュメントを第１のクライアントのディスプレイ上にレンダリングする工程をさらに含むことができる。これは、コンテンツ・データ・オブジェクトの１つまたは複数のセット、および１つまたは複数の補足ドキュメント・リソース・オブジェクトをレンダリングする工程を包含することができる。これらに沿って、第２のクライアントのディスプレイ上にラスタ画像データの１つまたは複数の第１のセットのビューを生成する工程があってもよく、その後に、ラスタ画像データの１つまたは複数の第１のセットのビューに対しドキュメントから抽出された１つまたは複数の補足ドキュメントリソースをオーバーレイする工程が続いてもよい。
【００１５】
もう１つの実施形態において、クライアント・コンピュータ・デバイス上にドキュメントをレンダリングするための方法が企図される。方法は、ドキュメントの要求を、クライアント・コンピュータ・デバイスから、ドキュメントが格納されているリモート・システムに送信する工程を含むことができる。次いで、クライアント・コンピュータ・デバイス上でドキュメントを受信する工程があってもよい。ドキュメントは、ドキュメントの外観を少なくとも部分的に定義するコンテンツ・データ・オブジェクトの１つまたは複数のセットによって定義されてもよい。加えて、ドキュメントは、各々ドキュメント位置属性を有する、１つまたは複数の補足ドキュメント・リソース・オブジェクトを含むことができる。方法はまた、クライアント・コンピュータ・デバイス上でラスタ画像データの１つまたは複数の第１のセットを受信する工程を含むことができる。ラスタ画像データの１つまたは複数の第１のセットの各々は、ドキュメントの特定のセグメントを表すものであり、第１の事前定義された解像度を有するものであってもよい。１つまたは複数の補足ドキュメント・リソース・オブジェクトをドキュメントから抽出する工程があってもよい。さらに、クライアント・コンピュータ・デバイスのディスプレイ上にラスタ画像データの１つまたは複数の第１のセットのビューを生成して、ラスタ画像データの１つまたは複数の第１のセットのビューに対しドキュメントから抽出された１つまたは複数の補足ドキュメント・リソース・オブジェクトをオーバーレイする工程があってもよい。１つまたは複数の補足データ・リソース・オブジェクトは、その対応するドキュメント位置属性に従って配置されてもよい。
【００１６】
これらの方法は、クライアント・コンピュータ・デバイスおよびリモート・システムによって実行可能であり、非一時的プログラム記憶媒体において有形に具現される命令の１つまたは複数のプログラムとして実施されてもよい。本発明は、添付の図面と併せて以下の詳細な説明を参照することにより、深く理解されよう。
【００１７】
本明細書において開示されるさまざまな実施形態のこれらおよびその他の特徴および利点は、以下の説明および図面に関してさらに深く理解されるであろう。
【図面の簡単な説明】
【００１８】
【図１】コラボレーション・プラットフォームおよび１つまたは複数のクライアント・コンピュータ・デバイスを含む例示的な環境を示すブロック図。
【図２】クライアント・コンピュータ・デバイスで実施される、クライアント・コンピュータ・デバイス上にドキュメントをレンダリングするための方法の１つの実施形態を示すフローチャート。
【図３】コラボレーション・プラットフォーム上で実施される、クライアント・コンピュータ・デバイスにドキュメントを提示するための方法の実施形態を示すフローチャート。
【図４Ａ】本開示の１つの実施形態によるラスタ画像データのセットへのドキュメントのセグメンテーションを示す図。
【図４Ｂ】本開示の１つの実施形態によるラスタ画像データのセットへのドキュメントのセグメンテーションを示す図。
【図４Ｃ】本開示の１つの実施形態によるラスタ画像データのセットへのドキュメントのセグメンテーションを示す図。
【図５】１つの事前定義された解像度においてラスタ化されたドキュメントの例を示す図。
【図６】もう１つの事前定義された解像度においてラスタ化されたドキュメントのもう１つの例を示す図。
【図７】ラスタ画像データのビューに対しオーバーレイされたドキュメントからの補足ドキュメント・リソース・オブジェクトのレイヤの例を示す図。
【発明を実施するための形態】
【００１９】
同一の要素を指し示すために、図面および発明を実施するための形態全体を通じて共通の参照番号が使用される。
本開示は、さまざまなクライアント・デバイス上での共有ドキュメントの最適化されたレンダリングに向けられる。この目的のために、クライアント・コンピュータ・デバイス上でドキュメントをレンダリングし、コラボレーション・プラットフォーム上に格納されているドキュメントをクライアント・コンピュータ・デバイスに提示し、複数のクライアント・コンピュータ・デバイス上でのドキュメントの提示を最適化するためのさまざまな方法が企図される。これらの方法が、非一時的データ記憶媒体に格納され得る１つまたは複数のコンピュータ実行可能命令として実施されてもよいことを理解されたい。
【００２０】
添付の図面に関連して以下に記載される発明を実施するための形態は、これらの方法の特定の実施形態の説明として意図されており、開発または利用され得る形態のみを提示することを意図されるものではない。説明は、例示される実施形態に関連してさまざまな機能を記載するが、同一または等価の機能が、本開示の範囲内に包含されると意図されるさまざまな実施形態によって達成され得ることを理解されたい。上部および下部、第１および第２などのような関係語の使用が、そのようなエンティティ間の任意の実際のそのような関係または順序を必ずしも要求または暗示することなく、あるエンティティと別のエンティティを区別するためにのみ使用されることをさらに理解されたい。
【００２１】
図１のブロック図は、ドキュメントの最適化されたレンダリングのさまざまな実施形態が実施され得る例示的な環境１０を示す。ネットワーク１６を介して１つまたは複数のクライアント・コンピュータ・デバイス１４ａ〜１４ｂと通信するコラボレーション・プラットフォーム１２がある。ネットワーク１６は、リモートに位置するクライアント・コンピュータ・デバイス１４と相互接続し、したがってインターネットまたはその他のタイプのワイドエリアネットワークであってもよいことが企図されるが、ローカルエリアの実施態様もまた企図される。したがって、ネットワーク接続１６ａ〜１６ｃは、伝送制御プロトコル（ＴＣＰ）コンポーネントおよびユーザ・データグラム・プロトコル（ＵＤＰ）・コンポーネントを備えるインターネット・プロトコル・スイート準拠であってもよい。伴うサービスの必要性に応じて、ＴＣＰ接続を通じて可能なデータの（たとえ遅くとも）より信頼性の高い順序付けられた配信のほうがより適切であってもよいか、またはＵＤＰ接続を通じてデータのより高速であるが信頼性は高くない配信のほうがより適切であってもよい。クライアント・コンピュータ・デバイス１４からコラボレーション・プラットフォーム１２へ、およびその逆に、データを転送するためにネットワーク・モダリティが利用され得るが、プロトコル選択が特定の必要性に合わせて調整される場合、特定の改良が実現され得ることが理解されよう。これらに沿って、特定のネットワーク・トポロジがほんの一例として提示されるが、任意の他のタイプの構成が置き換えられてもよい。
【００２２】
コラボレーション・プラットフォーム１２は、コラボレーション・サーバ１８、ドキュメント・リポジトリ２０、ラスタ画像処理サブシステム２２、およびラスタ画像リポジト
リ２４を含む複数のコンポーネントに分離されてもよい。これらの部品の各々の機能性は、以下においてさらに詳細に説明される。１つの実施形態によれば、コラボレーション・プラットフォーム１２は、Ｂｌｕｅｂｅａｍ  Ｓｔｕｄｉｏ製品であってもよい。コラボレーション・プラットフォーム１２のさまざまな部品のすべては、企図される方法の命令を実行することができるプロセッサ、ならびに命令およびその他の関連データを格納するためのメモリを有する従来型サーバ・コンピュータ・システム２６上で実施されてもよい。一部の実施形態においてネットワーク１６を介してクライアント・コンピュータ・デバイス１４と通信するその機能性の一部として、コラボレーション・サーバ１８は、市販のアプリケーションを含むＷｅｂサーバ、またはワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＷＩＮＤＯＷＳ（登録商標）  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎ（ＷＣＦ）のようなＷｅｂサービス・コンポーネントであってもよい。
【００２３】
あるいは、コラボレーション・サーバ１８およびラスタ画像処理サブシステム２２は、別個のハードウェア・デバイス上で実施されてもよく、データベース／データ・リポジトリ２４は、さらにもう１つの別個のハードウェア・デバイス上で実施されてもよい。説明される分割は、ほんの一例として提示されており、限定的なものではなく、任意の適切なハードウェア／機能性の実施が、本開示の範囲を逸脱することなく置き換えられてもよいことが、当業者には理解されるであろう。この点において、コラボレーション・プラットフォーム１２とコラボレーション・サーバ１８は、同義的に参照されてもよい。
【００２４】
クライアント・コンピュータ・デバイス１４ａの第１の例示的な実施形態は、概してシステム・ユニット２８、表示デバイス３０、およびさまざまな入力デバイスからなる従来型デスクトップ・コンピュータ・システム２７であってもよい。表示デバイス３０は、システム・ユニット２８によって実行されるデータ処理操作からの出力をグラフィカルに表示し、システム・ユニット２８は、中央演算処理装置、ランダム・アクセスメモリ（ＲＡＭ）、ハードディスク・ドライブなどを含むものと考えられる。キーボード３２およびマウス３４のようなデバイスは、データ処理操作に入力を提供するために利用され、周辺インタフェース・ポートを介してシステム・ユニット２８に接続される。プリンター、マイクロフォン、スピーカなどを含むその他の入力および出力デバイスは、システム・ユニット２８に接続されてもよい。
【００２５】
第１のクライアント・コンピュータ・デバイス１４ａは、ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＷＩＮＤＯＷＳ（登録商標）、カリフォルニア州クパティーノのＡｐｐｌｅ、Ｉｎｃ．のＭＡＣ  ＯＳ、Ｘ−Ｗｉｎｄｏｗｓウィンドウ・システムを備えるＵＮＩＸ（登録商標）のさまざまなバージョンなどのような、グラフィカル・ユーザ・インタフェース（ＧＵＩ）を有する任意のオペレーティング・システムを利用することができる。システム・ユニット２８は、１つまたは複数のコンピュータ・プログラムを実行し、その結果は表示デバイス３０上に表示される。一般に、オペレーティング・システムおよびコンピュータ・プログラムは、たとえば、固定および／または取り外し可能データ記憶デバイスの１つまたは複数のような、コンピュータ可読媒体に有形に具現される。オペレーティング・システムおよびコンピュータ・プログラムは共に、中央演算処理装置による実行のために前述のデータ記憶デバイスからＲＡＭにロードされてもよい。コンピュータ・プログラムは、中央演算処理装置によって読み取られ実行されるとき、中央演算処理装置に、本開示において記載されるさまざまな実施形態の工程または特徴（フィーチャ）を遂行または実行させる命令を備えることができる。
【００２６】
ユーザは、第１のクライアント・コンピュータ・デバイス１４ａと、具体的には、マウス３４を介して、表示デバイス３０上に表示されるグラフィックスと対話することができる。表示デバイス３０上に生成されるカーソルの動きは、マウス３４の動きと結び付けら
れ、さらなる対話はマウスボタンからの入力と共にもたらされる。キーボード３２からの入力もまた、クライアント・コンピュータ・デバイス１４との対話をもたらす。
【００２７】
ネットワーク接続１６ｂを確立して、ネットワーク１６を介して接続される他のシステムと通信するために、第１のクライアント・コンピュータ・デバイス１４ａは、たとえば前述のネットワーキング規格に準拠するさまざまなデータ通信モダリティを含むものと理解される。さらに詳細には、第１のクライアント・コンピュータ・デバイス１４ａは、有線接続のためのイーサネット（登録商標）・モジュール、および／または無線接続のためのＷＬＡＮ（無線ＬＡＮ）モジュールを含むことができる。
【００２８】
クライアント・コンピュータ・デバイス１４ｂのもう１つの第２の例示的な実施形態は、一体型タッチ入力ディスプレイ３８を含むタブレット３６であってもよい。デスクトップ・コンピュータ・システム２７と同様に、タブレット３６は、中央演算処理装置およびメモリ、ならびにモビリティの理由により通常は無線モダリティに制限されるネットワーク接続コンポーネントを含む。タッチ入力ディスプレイ３８は、中央プロセッサによって実行される処理操作からの出力をグラフィカルに表示し、データ処理操作において利用される入力を受け入れる。一部のタブレット３６は、ＷＩＮＤＯＷＳ（登録商標）のようなデスクトップ・オペレーティング・システムを利用することができるが、多くの商用実施態様において、タブレット・フォームファクタに最適化されるＡｎｄｒｏｉｄ（登録商標）またはｉＯＳのような専用モバイル・オペレーティング・システムのほうがより一般的である。タブレット３６は、本開示のさまざまな方法を実施するためにプロセッサによって実行される実行可能命令からなるコンピュータ・プログラム（アプリ（ａｐｐ）と称される）をロードされてもよい。
【００２９】
前述のクライアント・コンピュータ・デバイス１４ａ、１４ｂは、本発明の態様を実施するために適切な例示的な装置を表すに過ぎない。そのようなものとして、クライアント・コンピュータ・デバイス１４は、多くのさまざまな構成およびアーキテクチャを有することができ、任意のそのような構成またはアーキテクチャは容易に置き換えられてもよい。
【００３０】
本開示は、複数のクライアント・コンピュータ・デバイス１４上での共有ドキュメント４０の最適化されたレンダリングを企図する。１つの例示的な実施形態によれば、ドキュメント４０は、テキスト・ストリーム、フォント、グラフィックス（ベクタおよびラスタの両方）、およびそのようなテキストおよびグラフィックスの提示を指図するページ記述／レイアウト情報を含むポータブル・ドキュメント・フォーマット（ＰＤＦ）ファイル形式である。このデータは、クライアント・コンピュータ・デバイス１４に視覚的にレンダリングされ、概してコンテンツ・データ・オブジェクト４２と称され、特定の位置における、特定のサイズのメモリの連続ブロックに対応する概念的エンティティであると理解される。
【００３１】
ドキュメント４０はまた、アノテーション、ブックマーク、ハイパーリンク、サムネイル、および独立したドキュメントの一部ではないのでコンテンツ・データ・オブジェクト４２ではないその他の要素のような基礎となるドキュメント４０に関連付けられている補足ドキュメント・リソース・オブジェクト４４を含むことができる。アノテーションは、レンダリングされる時にその視覚的特性を定義する１つまたは複数のプロパティによって定義されてもよく、点、線、楕円、多角形などのような幾何プリミティブ、およびコールアウト・ボックスのような専用の要素を含むことができる。アノテーションのフィーチャをさらに定義するため、大きさ、色、線幅、位置決め座標、およびそのアノテーション・タイプに固有のその他のものなどさまざまなパラメータ属性が関連付けられてもよい。ブックマークは、ドキュメント内、またはドキュメントもしくは別のドキュメントのページ
内の特定の位置を参照するものと理解される。ハイパーリンクは、他のドキュメントまたはリソースを参照するものと理解され、そのアクティブ化は、参照先のドキュメントがアクセスされるようにすることができる。
【００３２】
ドキュメント４０の最適化されたレンダリングの詳細は、ＰＤＦドキュメントに関して説明される。しかし、開示される特徴が、ワードプロセッシング・ドキュメント、スプレッドシート、写真、グラフィックス・レイアウト、３次元モデル、ビデオ、医療Ｘ線画像などのグラフィカル・コンテンツのようなその他のドキュメントに採用され得ることが理解されよう。
【００３３】
クライアント・コンピュータ・デバイス１４からドキュメント４０を閲覧して加工することは通常、そこで動作している別個のアプリケーション４６を伴う。アプリケーション４６は、それが動作しているプラットフォーム／オペレーティング・システムに固有であるので、第１のクライアント・コンピュータ・デバイス１４ａには第１のアプリケーション４６ａがあり、第２のクライアント・コンピュータ・デバイス１４ｂには第２のアプリケーション４６ｂがある。デスクトップコンピュータおよびタブレット向けの多種多様なＰＤＦ閲覧および編集アプリケーションが市販されており、本開示の特徴は、そこに容易に組み入れられてもよい。しかし、コラボレーション・プラットフォーム１２と直接インタフェースを行うことができる固有のアプリケーション４６もまた、利用されてもよい。アプリケーション４６は、コラボレーション・サーバ１８から規定されたドキュメント４０にアクセスし、それにより、ドキュメント・リポジトリ２０からファイルを取り出すことができる。
【００３４】
上記で示されるように、ＰＤＦドキュメント４０は、画面サイズおよび解像度に非常に多くの差異があるので、ほとんどの場合、意図されたとおりに表示されるようにあるレベルの処理が要求されるデータからなる。アプリケーション４６のレンダリング・エンジンは、コンテンツ・データ・オブジェクト４２および補足ドキュメント・リソース・オブジェクト４４を解釈して、すべてのクライアント・プラットフォームにわたり整合性のある方法でドキュメント４０の表示を生成する。この処理は、クライアント・コンピュータ・デバイス１４に応じて、リソース集約的になり得ることが理解されよう。通常のデスクトップ・コンピュータ・システム２７は、リアルタイムレンダリングが可能であるように十分な処理パワーを有するが、これはタブレット３６の場合にはあてはまらないこともある。それほど多くのコンピューティング・パワーおよびメモリ・リソースを備えていなければ、ドキュメント４０、特に多くのベクタ・グラフィックスおよび複雑なレイアウトを含むようなドキュメントをレンダリングすることで、タブレット３６および同様の能力を持つ他のデバイスは、理想的なパフォーマンスには至らない場合もある。したがって、本開示は、処理パワーが低減されたクライアント・コンピュータ・デバイス１４上でラスタ化表現４８またはドキュメント４０のビットマップのシームレスな配信およびレンダリングを企図する。当業者によって理解されるように、ドキュメント４０のラスタ化表現４８のレンダリングは、それほどリソース集約的でなく、より低速な処理装置を持つタブレット３６のようなデバイスであっても、リアルタイムで達成され得る。
【００３５】
上記で言及されるように、クライアント・コンピュータ・デバイス１４上で実施される１つの実施形態、およびコラボレーション・プラットフォーム１２上で実施されるもう１つの実施形態を含む、ドキュメント４０のレンダリングを最適化するためのさまざまな方法が企図される。ただし、本開示が、これらの実施形態に限定されることは意図されていないことが理解されよう。クライアント・コンピュータ・デバイス１４上で実施される方法は、そこで実行可能であり、それにより可読な非一時的プログラム記憶媒体に格納される命令の１つまたは複数のプログラムとして具現されてもよい。同様に、コラボレーション・プラットフォーム１２／コラボレーション・サーバ１８上で実施される方法は、そこ
で実行可能であり、それにより可読である非一時的プログラム記憶媒体に格納される命令の１つまたは複数のプログラムとして具現されてもよい。
【００３６】
図２のフローチャートを参照すると、クライアント・コンピュータ・デバイス１４上、詳細には第２のクライアント・コンピュータ・デバイス１４ｂまたはタブレット３６上でドキュメント４０をレンダリングするための方法は、工程２００、つまりドキュメント４０の要求を、概してリモート・システムと称されるコラボレーション・プラットフォーム１２に送信する工程で開始する。要求は、具体的にはコラボレーション・サーバ１８に対して行われてもよく、コラボレーション・サーバ１８はドキュメント・リポジトリ２０に格納されているドキュメント４０を管理する。ドキュメント４０の要求は、ユーザがコラボレーション・プラットフォーム１２に最初にログインした後、ユーザの介入なしで行われてもよい。図３のフローチャートは、ドキュメント４０を提示するための方法を例示し、要求をクライアント・コンピュータ・デバイス１４から受信する対となる工程３００を含むことができる。
【００３７】
要求は、送出元クライアント・コンピュータ・デバイス１４の指定を含むことができる。要求が第１のクライアント・コンピュータ・デバイス１４ａから送出される場合、指定は、過度の負荷を負わせることなく同ドキュメントをレンダリングすることができるので、ドキュメント４０のみが必要とされるコラボレーション・サーバ１８を示すことができる。要求が、実際に制限されている第２のクライアント・コンピュータ・デバイス１４ｂから送出される場合、これは、コンテンツ・データ・オブジェクト４２に対して低減された処理／レンダリング能力を有するものとして指定されてもよい。これは、たとえばラスタ化表現４８など、追加のデータもまた要求されていることをコラボレーション・サーバ１８に示すものと想定される。結果としてラスタ化表現４８が提供される発信元クライアント・コンピュータ・デバイス１４の指定から、制限されたデバイス能力が暗示される必要はないことが理解されよう。低減された処理パワーにもかかわらずレンダリング時間を短縮する以外の目的でラスタ化表現４８が要求される実施形態は、明示的に企図される。
【００３８】
要求を受信すると、その要求に応じて、工程３１０において、コラボレーション・サーバ１８は、要求されたドキュメント４０をクライアント・コンピュータ・デバイス１４に送信する。これ以降、図２のフローチャートに戻って参照すると、クライアント・コンピュータ・デバイス１４上でドキュメント４０を受信する対となる工程２１０がある。ドキュメント４０が補足ドキュメント・リソース・オブジェクト４４を含むので、たとえクライアント・コンピュータ・デバイス１４がコンテンツ・データ・オブジェクト４２を最終的に使用しないかまたは必要としない場合であっても、なお送信される。
【００３９】
ドキュメント４０を送信／受信する工程と同時に、工程の後に、または工程の前に、図３のフローチャートに図示されたドキュメント４０を提示するための方法は、ラスタ化表現４８をクライアント・コンピュータ・システム１４に選択的に送信する工程３２０を含む。したがって、ドキュメント４０を送信／受信する工程と、ラスタ化表現４８を送信／受信する工程は、相互に独立しているものと理解される。１つの実施形態は、図１に示されるように、ラスタ化表現４８が、ドキュメント・リポジトリ２０とは別個のラスタ画像リポジトリ２４上に格納されていると企図する。この場合、クライアント・コンピュータ・デバイス１４は、ドキュメント４０を要求し、次いでコラボレーション・サーバ１８は、ラスタ化表現４８およびドキュメント４０が要求されていることを認識して、この要求をラスタ画像処理サブシステム２２に中継する。要求されたラスタ化表現４８は、ラスタ画像リポジトリ２４から取り出され、クライアント・コンピュータ・デバイス１４に送信するためにコラボレーション・サーバ１８に渡される。これは、ラスタ化表現４８がクライアント・コンピュータ・デバイス１４に提供され得る唯一の可能な方法である。たとえば、ドキュメント４０およびそのラスタ化表現４８を共に単一のデータ・ストレージ・シ
ステム上に格納することも可能であってもよい。当業者は、そのような代替的構成を容易に認識するであろうから、したがって本開示の範囲内に含まれるものと見なされる。
【００４０】
図２のフローチャートに示されるドキュメント４０をレンダリングするための方法において、ラスタ化表現４８を受信する対となる工程２２０がある。さらに明らかになるように、ラスタ化表現４８はまた、ラスタ画像データの１つまたは複数の第１のセットと称されてもよい。ラスタ画像データの第１のセットの各々は、ドキュメント４０の特定のセグメントを表すものであり、第１の事前定義された解像度を有するものと理解される。
【００４１】
ビットマップをレンダリングすることに関連する比較的低い処理パワー要件により、タブレット３６でのその提示は、遅延が低減され、さらに滑らかな視覚化および対話による大幅なパフォーマンスの改善を達成すると企図される。さらに、デスクトップ・コンピュータ・システム２７は、パフォーマンスの低下を生じることなくドキュメント４０を十分にレンダリングすることができるので、ラスタ化表現４８は不要であると考えられる。ラスタ化表現４８を送信するかどうかの決定は、上記で説明されるように、ドキュメント４０の要求に含まれる特定のクライアント・コンピュータ・デバイス１４の識別に基づいて、コラボレーション・サーバ１８によって行われてもよい。言い換えれば、コラボレーション・サーバ１８／コラボレーション・プラットフォーム１２は、十分なレンダリング能力を持つクライアント・コンピュータ・デバイス１４ａがいつドキュメント４０を要求したか、および十分なレンダリング能力を持たないクライアント・コンピュータ・デバイス１４ｂがいつ同様のことを行ったかを認識する。後者の場合、コラボレーション・サーバ１８は、さらなるユーザの介入を伴うことなく自動的に、ラスタ化表現４８をラスタ画像リポジトリ２４から取り出す。
【００４２】
図４Ａは、線、弧などのような、多数のベクタ・グラフィック要素を含むドキュメント４０の例を例示する。上記で示されているように、ドキュメント４０の１つのページから、ラスタ画像データの複数のセットが生成され、各セットはページの異なるセクションに対応する。図４Ｂは、１つの実施形態において、ページが、第１のサブセクション５０ａ、第２のサブセクション５０ｂ、第３のサブセクション５０ｃ、および第４のサブセクション５０ｄを含む４つの別個のサブセクションに分離されることを示す。これらのサブセクションの各々は、ラスタ画像データのセットとして称されているが、タイルと称されてもよい。タイルの１つのセット、つまりドキュメント４０のラスタ化表現４８は、第１の解像度において生成される。これは、パニングおよびその他の対話が、その解像度またはズームレベルにおいて遅延を生じることなくページの全体にわたり行われるようになっているからである。タイルのもう１つのセットは、ページの全体のより良好な概観をもたらすことができる異なる第２の解像度において生成されてもよい。
【００４３】
タイルの各々は、ページ・ピクセル幅およびページ・ピクセル高さの決定に基づいて生成されてもよい。さらに詳細には、任意の計測単位が利用されてもよいが、たとえば画面にレンダリングされるドキュメントについて７２ＤＰＩなど、ドキュメントの標準ドット／インチ（ＤＰＩ）設定で乗算されたインチ単位のページ幅は、ページ・ピクセル幅に対応する。さらに、標準７２ＤＰＩで乗算されたページ高さは、ページ・ピクセル高さに対応する。たとえば、９１．４４ｃｍ（３６インチ）×６０．９６ｃｍ（２４インチ）のページでは、ページ・ピクセル幅は２５９２であり、ページ・ピクセル高さは１７２８である。ページ・ピクセル幅またはページ・ピクセル高さのより大きいほうの値は、ページ・ピクセル寸法であると理解される。例を続けると、例示のページ・ピクセル幅の２５９２のほうが大きいので、これはページ・ピクセル寸法として確立される。次に、スケーリング・ファクタは、ページ・ピクセル寸法およびあらかじめ決定されているタイル・ピクセル寸法に基づいて決定される。タイル・ピクセル寸法は、ターゲットの表示デバイスに最適化された任意の値であってもよいが、１つの例示の実施形態において、１０２４×１０
２４ピクセルである。スケーリング・ファクタは、ピクセル寸法をページ・ピクセル寸法で除算した値から求められ、例示されている例においては、０．３９５である。
【００４４】
このページ・ピクセル寸法でページをラスタ化することで、たとえば１０２４×１０２４ピクセルの、タイル・ピクセル寸法幅および高さの１つのタイル内に収まる、ドキュメント４０のページ全体をもたらす。このスケーリング／ラスタ化の例は、図５に示される。コンテンツ領域の実際の幅は、１０２４×６８３ピクセルであると理解される。これは、１×のズームタイル５２を表すものと理解される。したがって、第１の事前定義された解像度は、ラスタ画像データの１つまたは複数の第１のセットのうちの１つをスケーリングすることに基づいてもよい。
【００４５】
４×ズーム・ファクタもまた、そこから適切なタイルが生成されるように、設定されてもよい。これは単に、前述のページ・ピクセル寸法の乗算、たとえば０．３９５×４、を伴い、これは４０９６×２７３２ピクセルの単一画像をもたらす。次いで、この画像は、図６に示されるように、個々の１０２４×１０２４ピクセル・タイルに分離される。１つの実施形態において、ページは、最大でも１６のタイルに分割されるが、これは一例に過ぎず、限定的なものではない。例をさらに続けると、画像の寸法に基づいて、横方向に４つのタイルおよび下方向に３つのタイルで合計１２のタイル５４があり、その各タイルはラスタ画像データの前述の第１のセットに対応する。ラスタ画像データのこの第２のセットは、第１の事前定義された解像度とは異なる第２の事前定義された解像度に基づいて生成されてもよい。
【００４６】
この特定の解像度またはズームレベルは、後段においてさらに詳細に説明されるように、ドキュメントのページの実際のサイズに基づく。ドキュメント４０が、図４Ｃに示されるように、そのサイズが大きいためさらに分割される必要がある程度まで、サブセクション５０ａ〜ｄは、第１のサブセクション５０ａ内のサブセクション５０ａ−１、５０ａ−２、５０ａ−３、および５０ａ−４を含む、その追加のサブセクションにさらに分割されてもよい。
【００４７】
１つの例示的な実施形態において、ドキュメント４０のラスタ化表現４８、つまり、ラスタ画像データまたはタイルのセットは、したがってクライアント・コンピュータ・デバイス１４からの要求に先だって生成される。これは、そのようなラスタ化表現４８を必要とする第２のクライアント・コンピュータ・デバイス１４ｂによってアクセスされることが知られているドキュメント４０の定期的バッチ処理を含むことができる。能力の高くない、第２のクライアント・コンピュータ・デバイス１４ｂが過去にドキュメント４０にアクセスしたというフラグを追加することを含む、これを追跡するさまざまなモダリティが企図される。タブレット３６からの初期アクセス時に、コラボレーション・サーバ１８は、ラスタ化表現４８を効果的に準備するラスタ画像処理サブシステム２２に要求を生成することができる。
【００４８】
図２のフローチャートに戻ると、第２のクライアント・コンピュータ・デバイス１４ｂがドキュメント４０およびラスタ化表現４８を受信すると、方法は、ドキュメント４０から、たとえばアノテーションなどの補足ドキュメント・リソース・オブジェクト４４を抽出する工程２３０を続行することができる。加えて、工程２４０によれば、ラスタ画像データの１つまたは複数の第１のセット、つまりドキュメント４０のラスタ化表現４８は、第２のクライアント・コンピュータ・デバイス１４ｂのタッチ入力ディスプレイ３８上に生成される。
【００４９】
コンテンツ・データ・オブジェクト４２は、ラスタ化表現４８が受信されている場合には、ロードまたはレンダリングされない。第２のクライアント・コンピュータ・デバイス
１４ｂ上で動作しているアプリケーション、たとえばタブレット３６は、ラスタ化表現４８が受信される場合に、そのディスプレイが、パフォーマンスに損失を与えてドキュメント４０の・データをレンダリングしようと試みるのではなく、デフォルトで進行することを認識するように構成されてもよい。工程２５０によれば、ドキュメント４０からの１つまたは複数の補足ドキュメント・リソース・オブジェクト４４は、ラスタ化表現４８のビューに対しオーバーレイされる。図７に示されるように、ビューは、基本ラスタ化表現４８を含み、その上に、補足ドキュメント・リソース・オブジェクト４４の別のレイヤがある。補足ドキュメント・リソース・オブジェクト４４の各々の配置は、座標およびレイヤ指定のような、その対応するドキュメント位置属性に従うものと理解される。
【００５０】
クライアント・コンピュータ・デバイス１４上でドキュメント４０を提示するさまざまな特徴を考慮してきたが、これ以降、編集および更新機能に関する追加の特徴が説明される。コラボレーション・プラットフォームの実施形態によれば、アノテーションが追加される場合、たとえば補足ドキュメント・リソース・オブジェクト４４がクライアント・コンピュータ・デバイス１４の１つからドキュメント４０に付加される場合、基礎となるドキュメントが何らかの方法で修正される場合、たとえばコンテンツ・データ・オブジェクト４２が追加、削除、または改訂される場合、もしくはさらに一般的には、ドキュメント４０の任意の態様が変更される場合、その変更は最初にドキュメント４０のローカルバージョンに反映され、次いで、コラボレーション・プラットフォームを介してリモート・クライアント・コンピュータ・デバイス１４上にあるその他のバージョンに伝搬される。
【００５１】
対応するラスタ化表現４８に関して、コラボレーション・サーバ１８がレンダリング能力の低減された第２のクライアント・コンピュータ・デバイス１４ｂによるドキュメント４０への以前のアクセスを追跡した場合、ラスタ化表現４８の更新済みバージョンは、上記で説明される方法と同じ方法で生成されてもよい。一部の実施形態において、ドキュメント４０の更新はプッシュされず、クライアント側がプル操作で更新を要求する場合に限り伝搬される。しかし、クライアント・コンピュータ・デバイス１４がアクティブなコラボレーション・セッションに参加している一部の例では、更新を、その対応するラスタ化表現４８と共にドキュメント４０にプッシュすることが可能である。
【００５２】
ドキュメント・レベルの修正がタブレット３６、つまりラスタ化表現４８を使用するクライアント・コンピュータ・デバイス１４上で行われる場合、付随的なパフォーマンスの低下を伴うが、ドキュメント４０のレンダリングに切替えることが可能である。これらの修正は、取り出され表示されたラスタ化表現４８を古いものにする、ページ回転、ページ挿入、ページ並び替え、ページ削除、レイヤおよびマークアップのフラット化などを含む。加えて、クライアント・コンピュータ・デバイス１４が、コラボレーション・プラットフォーム１８からラスタ化表現４８にアクセスすることができない場合、同様の切替えが行われる。遷移は、シームレスであると理解され、ユーザの介入を必要としない。実際、ユーザは、遷移について通知されることは全くない。いかなる場合でも、ドキュメント４０の多くの最新の有効なバージョンの表示は、保証されてもよい。
【００５３】
本明細書において示される事項は、例示的な説明のための一例に過ぎず、本開示に記載されるさまざまな実施形態の原理および概念的態様の最も有用かつ容易に理解された説明であると見られているものを提供するために提示される。この点において、さまざまな実施形態のさまざまな特徴、それらが実際にどのように実施され得るかを当業者に明らかにする図面と共に記述された説明の基本的な理解のために必要である以上の詳細を示すために、いかなる試みも行われてはならない。
【図１】
0006543692.tif 000002
【図２】
0006543692.tif 000003
【図３】
0006543692.tif 000004
【図４Ａ】
0006543692.tif 000005
【図４Ｂ】
0006543692.tif 000006
【図４Ｃ】
0006543692.tif 000007
【図５】
0006543692.tif 000008
【図６】
0006543692.tif 000009
【図７】
0006543692.tif 000010