(57)【特許請求の範囲】
【請求項１】
方法であって、
クライアント・デバイスからのネイティブ・ドキュメントのプレビューの要求であって、前記ネイティブ・ドキュメントを該ネイティブ・ドキュメントのファイル・フォーマット以外のファイル・フォーマットで表す前記プレビューの要求を受信することと、
ドキュメント・マッピング・モジュールが、前記ネイティブ・ドキュメント内の異なる単語とそれぞれが関連づけられる、ユニーク・ロケータ（ＵＲＬ）を含むユニークなリンクのセットを、プレビューのレンダリングに先立って前記ネイティブ・ドキュメント内に挿入することと、
ドキュメント・レンダリング・モジュールが、前記ネイティブ・ドキュメントを前記ネイティブ・ドキュメントのプレビューにレンダリングすることで、前記ユニークなリンクのセットにおける前記ユニークなリンクのそれぞれについて、境界領域を生成することと、
表示のために前記クライアント・デバイスに前記プレビューを提供することと
を含み、
前記境界領域は、前記プレビュー上のページ及び画素の位置を、前記ユニークなリンクを介して、前記ユニークなリンクと関連づけられた前記ネイティブ・ドキュメント内の前記単語にマッピングする、方法。
【請求項２】
前記ネイティブ・ドキュメント内のコメントを識別することと、
前記ネイティブ・ドキュメント内の前記コメントと関連付けられた少なくとも１つの単語を決定することと、
前記コメントと関連付けられた前記少なくとも１つの単語の前記リンクの前記境界領域と組み合わせることにより、前記コメントのための境界領域を決定することと、
前記コメントと前記コメントのための前記境界領域とを、前記プレビューにより表示するために前記クライアント・デバイスに提供することと、
を更に含み、
前記プレビューは前記単語の表示を含む、請求項１に記載の方法。
【請求項３】
前記プレビューにコメントを追加する要求であって、前記コメントのための前記プレビューにおける選択部分を指示する要求を受信することと、
前記プレビューにおける前記選択部分の前記プレビュー上の位置を識別することと、
前記位置に対応する単語のセットの識別を、前記位置を、識別される前記単語のセットと関連付けられた前記リンクの境界領域と照合することにより行うことと、
前記識別された単語のセットの前記位置において、前記ネイティブ・ドキュメントに前記コメントを挿入することと、
を更に含む請求項１または２に記載の方法。
【請求項４】
前記ユニークなリンクのセットにおける前記リンクは、前記単語のためのユニークなコードを有するハイパーリンクである、請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記ユニークなリンクのセットにおける前記リンクは、フラグ、ヘッダ、または、特別な命令からなるグループのうちから選択される、請求項１から３のいずれか１項に記載の方法。
【請求項６】
方法であって、
クライアント・デバイスからのネイティブ・ドキュメントのプレビューの要求であって、前記ネイティブ・ドキュメントを該ネイティブ・ドキュメントのファイル・フォーマット以外のファイル・フォーマットで表す前記プレビューの要求を受信することと、
ドキュメント・マッピング・モジュールが、前記ネイティブ・ドキュメント内の異なるネイティブ・オブジェクトとそれぞれが関連づけられる、ユニーク・ロケータ（ＵＲＬ）を含むユニークなレンダリング・マーカーのセットを、プレビューのレンダリングに先立って前記ネイティブ・ドキュメント内に挿入することと、
ドキュメント・レンダリング・モジュールが、前記ネイティブ・ドキュメントを前記ネイティブ・ドキュメントのプレビューにレンダリングすることで、前記ユニークなレンダリング・マーカーのセットにおける前記ユニークなレンダリング・マーカーのそれぞれについて、境界領域を生成することと、
表示のために前記クライアント・デバイスに前記プレビューを提供することと
を含み、
前記ネイティブ・オブジェクトは前記ネイティブ・ドキュメントのレンダリング可能な部分を含み、
前記境界領域は、前記プレビュー上のページ及び画素の位置を、前記ユニークなレンダリング・マーカーを介して、前記ユニークなレンダリング・マーカーと関連づけられた前記ネイティブ・オブジェクトにマッピングする、方法。
【請求項７】
前記ネイティブ・ドキュメント内のコメントを識別することと、
前記ネイティブ・ドキュメント内の前記コメントと関連付けられた少なくとも１つのネイティブ・オブジェクトを決定することと、
前記コメントと関連付けられた前記少なくとも１つのネイティブ・オブジェクトの前記レンダリング・マーカーの前記境界領域と組み合わせることにより、前記コメントのための境界領域を決定することと、
前記コメントと前記コメントのための前記境界領域とを、前記プレビューにより表示するために前記クライアント・デバイスに提供することと、
を更に含み、
前記プレビューは前記ネイティブ・オブジェクトの表示を含む、請求項６に記載の方法。
【請求項８】
前記プレビューにコメントを追加する要求であって、前記コメントのための前記プレビューにおける選択部分を指示する要求を受信することと、
前記プレビューにおける前記選択部分の前記プレビュー上での位置を識別することと、
前記位置に対応するネイティブ・オブジェクトのセットの識別を、前記位置を、識別される前記ネイティブ・オブジェクトのセットと関連づけられた前記レンダリング・マーカーの境界領域と照合することにより行うことと、
前記識別された前記ネイティブ・オブジェクトのセットの前記位置において、前記ネイティブ・ドキュメントに前記コメントを挿入することと
を更に含む請求項６または７に記載の方法。
【請求項９】
前記レンダリング・マーカーがハイパーリンクである、請求項６から８のいずれか１項に記載の方法。
【請求項１０】
前記ネイティブ・オブジェクトは、文字、単語及び文からなるグループから選択される、請求項６から９のいずれか１項に記載の方法。
【請求項１１】
前記プレビューはＰＤＦドキュメントである、請求項６から１０のいずれか１項に記載の方法。
【請求項１２】
コンピュータ・プログラムであって、プロセッサで実行可能な命令群を含み、前記命令群は前記プロセッサに、
クライアント・デバイスからのネイティブ・ドキュメントのプレビューの要求であって、前記ネイティブ・ドキュメントを該ネイティブ・ドキュメントのファイル・フォーマット以外のファイル・フォーマットで表す前記プレビューの要求を受信するステップと、
ドキュメント・マッピング・モジュールが、前記ネイティブ・ドキュメント内の異なる単語とそれぞれが関連づけられるユニーク・ロケータ（ＵＲＬ）を含むユニークなリンクのセットを、プレビューのレンダリングに先立って前記ネイティブ・ドキュメント内に挿入するステップと、
ドキュメント・レンダリング・モジュールが、前記ネイティブ・ドキュメントを前記ネイティブ・ドキュメントのプレビューにレンダリングすることで、前記ユニークなリンクのセットにおける前記ユニークなリンクのそれぞれについて、境界領域を生成するステップと、
表示のために前記クライアント・デバイスに前記プレビューを提供するステップと
を実行させ、
前記境界領域は、前記プレビュー上のページ及び画素の位置を、前記ユニークなリンクを介して、前記ユニークなリンクと関連づけられた前記ネイティブ・ドキュメント内の前記単語にマッピングする、コンピュータ・プログラム。
【請求項１３】
前記命令群は前記プロセッサに、
前記ネイティブ・ドキュメント内のコメントを識別するステップと、
前記ネイティブ・ドキュメント内の前記コメントと関連付けられた少なくとも１つの単語を決定するステップと、
前記コメントと関連付けられた前記少なくとも１つの単語の前記リンクの前記境界領域と組み合わせることにより、前記コメントのための境界領域を決定するステップと、
前記コメントと前記コメントのための前記境界領域とを、前記プレビューにより表示するために前記クライアント・デバイスに提供するステップと、
を更に実行させ、
前記プレビューは前記単語の表示を含む、請求項１２に記載のコンピュータ・プログラム。
【請求項１４】
前記命令群は前記プロセッサに、
前記プレビューにコメントを追加する要求であって、前記コメントのための前記プレビューにおける選択部分を指示する要求を受信するステップと、
前記プレビューにおける前記選択部分の前記プレビュー上での位置を識別するステップと、
前記位置に対応する単語のセットの識別を、前記位置を、識別される前記単語のセットと関連づけられた前記リンクの境界領域と照合することにより行うステップと、
前記識別された単語のセットの前記位置において、前記ネイティブ・ドキュメントに前記コメントを挿入するステップと
を更に実行させる請求項１２または１３に記載のコンピュータ・プログラム。
【請求項１５】
コンピュータ・プログラムであって、プロセッサで実行可能な命令群を含み、前記命令群は前記プロセッサに、
クライアント・デバイスからのネイティブ・ドキュメントのプレビューの要求であって、前記ネイティブ・ドキュメントを該ネイティブ・ドキュメントのファイル・フォーマット以外のファイル・フォーマットで表す前記プレビューの要求を受信するステップと、
ドキュメント・マッピング・モジュールが、前記ネイティブ・ドキュメント内の異なるネイティブ・オブジェクトとそれぞれが関連づけられるユニーク・ロケータ（ＵＲＬ）を含むユニークなレンダリング・マーカーのセットを、プレビューのレンダリングに先立って前記ネイティブ・ドキュメント内に挿入するステップと、
ドキュメント・レンダリング・モジュールが、前記ネイティブ・ドキュメントを前記ネイティブ・ドキュメントのプレビューにレンダリングすることで、前記ユニークなレンダリング・マーカーのセットにおける前記ユニークなレンダリング・マーカーのそれぞれについて、境界領域を生成するステップと、
表示のために前記クライアント・デバイスに前記プレビューを提供するステップと
を実行させ、
前記ネイティブ・オブジェクトは前記ネイティブ・ドキュメントのレンダリング可能な部分を含み、
前記境界領域は、前記プレビュー上のページ及び画素の位置を、前記ユニークなレンダリング・マーカーを介して、前記ユニークなレンダリング・マーカーと関連づけられた前記ネイティブ・オブジェクトにマッピングする、コンピュータ・プログラム。
【請求項１６】
前記命令群は前記プロセッサに、
前記ネイティブ・ドキュメント内のコメントを識別するステップと、
前記ネイティブ・ドキュメント内の前記コメントと関連付けられた少なくとも１つのネイティブ・オブジェクトを決定するステップと、
前記コメントと関連付けられた前記少なくとも１つのネイティブ・オブジェクトの前記レンダリング・マーカーの前記境界領域と組み合わせることにより、前記コメントのための境界領域を決定するステップと、
前記コメントと前記コメントのための前記境界領域とを、前記プレビューにより表示するために前記クライアント・デバイスに提供するステップと、
を更に実行させ、
前記プレビューは前記ネイティブ・オブジェクトの表示を含む、請求項１５に記載のコンピュータ・プログラム。
【請求項１７】
前記命令群は前記プロセッサに、
前記プレビューにコメントを追加する要求であって、前記コメントのための前記プレビューにおける選択部分を指示する要求を受信するステップと、
前記プレビューにおける前記選択部分の前記プレビュー上での位置を識別するステップと、
前記位置に対応するネイティブ・オブジェクトのセットの識別を、前記位置を、識別される前記ネイティブ・オブジェクトのセットと関連づけられた前記レンダリング・マーカーの境界領域と照合することにより行うステップと、
前記識別された前記ネイティブ・オブジェクトのセットの前記位置において、前記ネイティブ・ドキュメントに前記コメントを挿入するステップと
を更に実行させる、請求項１５または１６に記載のコンピュータ・プログラム。
【請求項１８】
前記レンダリング・マーカーがハイパーリンクである、請求項１５から１７のいずれか１項に記載のコンピュータ・プログラム。
【請求項１９】
前記ネイティブ・オブジェクトは、文字、単語及び文からなるグループから選択される、請求項１５から１８のいずれか１項に記載のコンピュータ・プログラム。
【請求項２０】
前記プレビューはＰＤＦドキュメントである、請求項１５から１９のいずれか１項に記載のコンピュータ・プログラム。
【請求項２１】
方法であって、
クライアント・デバイスからのネイティブ・ドキュメントのプレビューの要求であって、前記ネイティブ・ドキュメントを該ネイティブ・ドキュメントのファイル・フォーマット以外のフォーマットで表す前記プレビューの要求を受信することと、
ドキュメント・マッピング・モジュールが、前記ネイティブ・ドキュメント内の異なるネイティブ・オブジェクトとそれぞれが関連づけられ、ユニーク・ロケータ（ＵＲＬ）を含むユニークなリンクのセットを、プレビューのレンダリングに先立って前記ネイティブ・ドキュメント内に挿入することと、
ドキュメント・レンダリング・モジュールが、前記ネイティブ・ドキュメントを前記ネイティブ・ドキュメントのプレビューにレンダリングすることと、
前記ユニークなリンクのそれぞれのための境界領域であって、前記ユニークなリンクと関連づけられた前記ネイティブ・ドキュメント内の前記ネイティブ・オブジェクトの前記プレビューにおけるページ及び画素の位置を示す前記境界領域を判定することと、
コメントを前記プレビューに追加する要求であって、前記コメントのための前記プレビューにおける選択部分を指示する要求を受信することと、
前記プレビューにおける前記選択部分の前記プレビュー上での位置を識別することと、
前記位置に対応するネイティブ・オブジェクトのセットの識別を、前記位置を、識別される前記ネイティブ・オブジェクトのセットと関連づけられた前記リンクの境界領域と照合することにより行うことと、
前記識別されたネイティブ・オブジェクトのセットの前記位置において、前記ネイティブ・ドキュメントに前記コメントを挿入することと
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にはドキュメントのプレビューに関連する。特には、ドキュメントのプレビューからドキュメント内のコメントを参照し、編集することに関連する。
【背景技術】
【０００２】
ユーザは、ドキュメントを、多くの異なるユーザや、異なるデバイスによりそれらがアクセス可能となる、オンラインに格納する。ユーザがこれらのドキュメントを参照するためにブラウジングする場合、ユーザはドキュメントをダウンロードして、ユーザ・デバイス上のネイティブ・アプリケーションを利用してアクセスしない限り、当該ドキュメントをレビューしたりコメントしたりすることは典型的には困難である。例えば、これらのネイティブ・ドキュメントはワープロ文書、スプレッドシート、プレゼンテーション、及び、ソースコードを含んでいてもよく、これらは典型的には、クライアント・デバイス上の専用のフル・サービスアプリケーションにより修正される。また、システムがドキュメントのユーザにプレビューを提供する場合、当該プレビューはドキュメントの重要な側面、典型的にはテキストやドキュメントの他のコンテンツに直接には反映されないコメントや他のドキュメントに関する補充的データ等を、しばしば省略しかねない。
【発明の概要】
【０００３】
ドキュメント・プレビュー・システムは、ドキュメントを、そのネイティブ・フォーマットにて格納し、ウェブ・ブラウザのような非ネイティブ形式において当該ネイティブ・ドキュメントのプレビューを、ドキュメント・プレビュー・システムにアクセスするユーザに提供する。ドキュメント・プレビュー・システムは、プレビュー内の正確な位置でドキュメントへのコメントや他のマークアップを参照することをユーザに可能にし、また、ユーザにプレビュー内でコメントの追加や修正を可能にする。プレビュー内でユーザがハイライトした位置で、これらの追加、修正されたコメントがネイティブ・ドキュメント内に挿入される。
【０００４】
コメント表示、及び、ドキュメントへのコメント挿入を正確に行うために、ドキュメント・プレビュー・システムは、ネイティブ・ドキュメントの部分に対応するレンダリング（描画）されたプレビュー内の位置を識別する。これらの位置を識別するために、ドキュメント・プレビュー・システムは、各ネイティブ・オブジェクトと関連づけられたレンダリング・マーカーをネイティブ・ドキュメント内に挿入する。ネイティブ・オブジェクトは、ネイティブ・アプリケーション内のオブジェクトであって、文字、単語、文、或いは、段落といった、レンダリング可能なコンテンツの特定のピースを表す。ある実施形態では、単語はそれぞれ、ドキュメント・プレビュー・システムによりネイティブ・オブジェクトと識別される。レンダリング・マーカーは、ユニークなマーカーであって、関連付けられたネイティブ・オブジェクトを識別し、レンダリング時にはドキュメントの表示に影響を与えることはない。ある実施形態では、レンダリング・マーカーは、ネイティブ・オブジェクトのそれぞれと関連づけられたハイパーテキスト・リンクである。レンダリング・マーカーは、ネイティブ・オブジェクトのそれぞれのためにネイティブ・ドキュメントに追加される。ネイティブ・ドキュメントがプレビューにレンダリングされると、ドキュメント・プレビュー・システムは、各レンダリング・マーカーの識別子を生成し、プレビュー内でレンダリング・マーカーを登場させる位置のための境界領域を生成する。境界領域は、レンダリング・マーカーのページや画素の位置を示す。レンダリング・マーカーと境界領域とは、マッピング・テーブルにおいてネイティブ・オブジェクトと関連づけられる。各レンダリング・マーカー（及び、関連ネイティブ・オブジェクト）の境界領域を識別することにより、ドキュメント・プレビュー・システムは、レンダリングされたプレビュー内の位置と、ネイティブ・ドキュメント内のネイティブ・オブジェクトとの関係を識別することができる。
【０００５】
クライアント・デバイスがブラウザ内でネイティブ・ドキュメントのプレビューを要求する場合、ドキュメント・プレビュー・システムは、ネイティブ・ドキュメントにアクセスし、ネイティブ・ドキュメント内のコメントを、コメントと関連づけられたネイティブ・オブジェクトと共に取得する。ドキュメント・プレビュー・システムは、各コメントと関連づけられたネイティブ・オブジェクトの境界領域を識別し、それらを結合して、コメントの境界領域を識別する。ドキュメント・プレビュー・システムは、クライアント・デバイスによる表示のためにプレビューを提供する。また、クライアント・デバイスのユーザ・インタフェース・ディスプレイ内でコメントを正確に配置するために、コメント及び、関連するコメント境界領域を提供する。ユーザがプレビューとインタラクトして、コメントを追加する場合、ユーザのコンテンツ選択は、ドキュメント・プレビュー・システムに提供される。コンテンツ選択を解析してユーザが選択した境界領域を判定し、マッピング・テーブル内の境界領域と照合して、選択により指定されたネイティブ・オブジェクトを識別する。追加コメントは、ユーザ選択により指示されたネイティブ・オブジェクトを指定して、ネイティブ・ドキュメント内に挿入される。
【図面の簡単な説明】
【０００６】
【図１】図１は、タスク管理を利用して、コンテンツ管理システムによりドキュメント・プレビューを提供するための環境の実施形態を示す図である。
【図２】図２は、実施形態に対応するドキュメント・プレビュー・システムの構成要素を示す図である。
【図３】図３は、ディスプレイに示されるネイティブ・ドキュメント及び関連マッピング・テーブルの一例を示す図である。
【図４】図４は、プレビューにおけるネイティブ・オブジェクトの位置を識別し、ネイティブ・ドキュメントのためのコメントを表示し、修正するための方法の一例を示す図である。  図面は、本発明の様々な実施形態を専ら例示的に示すものである。本明細書に示す構造や方法の代替的な実施形態を、記述される発明の原理から逸脱することなく採用可能であることは当業者であれば、以下の議論から直ちに理解するであろう。
【発明を実施するための形態】
【０００７】
図１は、タスク管理を利用して、コンテンツ管理システムによりドキュメント・プレビューを提供するための環境の実施形態を示す図である。図１は、クライアント・デバイス１１０Ａ及び１１０Ｂ（以下、一般化してクライアント・デバイス１１０という。）、ドキュメント・プレビュー・システム１００、及び、ネットワーク１２０を含む。２つのクライアント・デバイス１１０は例示目的でのみ示されており、実際には当該環境内には任意の数のクライアント・デバイスが存在していてもよい。同様に、本明細書を通して記述され、図解される他のモジュールや構成要素は、実施者の必要に応じて、かつ、一般性を喪失することなく、単一または複数の場合を含みうる。ドキュメント・プレビュー・システム１００は、ネイティブ・ドキュメントを格納し、ネイティブ・ドキュメント及び、当該ネイティブ・ドキュメントのプレビューをクライアント・デバイス１１０に提供する。ネイティブ・ドキュメントは、アプリケーションプログラムを用いて生成されたドキュメントであり、クライアント・デバイス１１０上の表示のために特定の書式設定及びアプリケーションプログラムのレンダリング（描画）機能を利用する。例えば、これらのネイティブ・ドキュメントはワープロ文書、スプレッドシート、プレゼンテーション、及び、ソースコードを含んでいてもよく、これらは典型的には、クライアント・デバイス上の専用のフル・サービスアプリケーションにより生成され、修正される。これらのネイティブ・ドキュメントは、クライアント・デバイス１１０上にドキュメントのローカルコピーとして保存されてもよいし、或いは、クライアント・デバイス１１０で処理され、ドキュメント・プレビュー・システム１００で遠隔で保存されてもよい。ドキュメント・プレビュー・システム１００は、ユーザへの表示のためにクライアント・デバイス１１０にドキュメントのプレビューを提供する。プレビューは、ドキュメントの表示であり、ネイティブ・ドキュメントとは別のファイル形式、例えば、写真、画像、ＰＤＦ（Portable Document Format）、或いは、類似の形式であって、様々なクライアント・デバイスにより直ちに参照することを可能としつつ、ネイティブ・ドキュメントそのものの修正を典型的には許容しないもの等により行われても良い。
【０００８】
クライアント・デバイス１１０は、ドキュメント・プレビュー・システム１００に保存されているドキュメントを参照し、修正するための任意の適切なコンピューティング・デバイスとすることができる。クライアント・デバイス１１０はまた、クライアント・デバイス１１０にローカルに保存されているドキュメントを、ドキュメント・プレビュー・システム１００と同期させることができる。ドキュメントを同期する場合、クライアント・デバイス１１０のドキュメントに対する変更や修正は、ドキュメント・プレビュー・システム１００へ送信され、ドキュメント・プレビュー・システム１００に保存されているドキュメントに反映される。逆の場合も同様である。ドキュメント・プレビュー・システム１００及び本明細書に記載するドキュメント・プレビュー技術の実施形態によっては、ドキュメントは同期されなくてもよい。他の実施形態では、ドキュメント・プレビュー・システム１００の特徴は、中央集権型のドキュメント・プレビュー・システム１００無しに、クライアント・デバイス１１０において実行され、他のクライアント・デバイス１１０にプレビューが提供される。デバイスは例えば、デスクトップ・コンピュータ、ラップトップ・コンピュータ、携帯型移動体デバイス、タブレット・コンピュータ、及び、他のコンピューティング・デバイスを含む。様々な実施形態におけるクライアント・デバイス１１０の動作については、以下更に詳細に説明する。
【０００９】
クライアント・デバイス１１０は、様々なアプリケーションや他の実行可能なプログラムを実行する。図１に示すように、クライアント・デバイス１１０Ａは、コンテンツ・ブラウザ・アプリケーションを含み、クライアント・デバイス１１０Ｂはネイティブ・ドキュメント・アプリケーションを含む。クライアント・デバイス１１０は、いくつかあるアプリケーションやクライアント１１０の特徴の中でも特に、これらのアプリケーションの片方又は両方を含むことができる。コンテンツ・ブラウザは、ドキュメント・プレビュー・システム１００からネイティブ・ドキュメントのプレビューにアクセスし、ユーザにプレビューを表示する。典型的なコンテンツ・ブラウザは、マークアップ言語を解釈し、ユーザに表示を提供するウェブ・ブラウザであるが、様々な他のタイプのブラウザをコンテンツ・ブラウザとして実装してもよい。コンテンツ・ブラウザは、ユーザへのコメントをドキュメントのプレビュー内で表示するための命令をドキュメント・プレビュー・システムから受信してもよい。当該命令は、コメントの内容を示すと共に、当該コメントを表示すべきプレビューの部分を示す。また、コンテンツ・ブラウザはユーザに対し、プレビューに対するコメントを挿入したり修正したりするためのインタフェースを表示してもよい。コメントの追加のために、コンテンツ・ブラウザはユーザからプレビューの部分の選択を、コメント共に受付ける。プレビュー部分の選択及びコメントは、ネイティブ・ドキュメントに取り込むためにドキュメント・プレビュー・システム１００へ送信される。
【００１０】
ネイティブ・ドキュメント・アプリケーションは、クライアント・デバイス１１０上でネイティブ・ドキュメントを生成し、修正する。そのようなネイティブ・ドキュメント・アプリケーションは、生成アプリケーションを含む。例えば、ワープロ・アプリケーション、スプレッドシート・アプリケーション、プレゼンテーション・アプリケーション、例えば、ソースコードを修正するための開発用プラットフォーム等のクライアント・デバイス１１０により修正されるネイティブ・ドキュメントの種類に応じた他のアプリケーション等である。クライアント・デバイス１１０がドキュメント・プレビュー・システム１００と同期する場合、ネイティブ・ドキュメント・アプリケーションにより実行されたネイティブ・ドキュメントに対する修正は、ドキュメント・プレビュー・システム１００と同期される。
【００１１】
各クライアント・デバイス１１０は、ネットワーク１２０を介してドキュメント・プレビュー・システム１００と通信する。ネットワーク１２０は、任意の適切なネットワークであって、ローカル・ネットワーク、企業ネットワーク、グローバル・ネットワーク、及びこれらの任意の組み合わせを含むことができる。典型的構成では、クライアント・デバイス１１０は有線又は無線の通信ネットワークを介して、ローカル・ネットワーク・サービス・プロバイダと通信し、インターネットを介してドキュメント・プレビュー・システム１００と通信する。ある構成では、クライアント・デバイス１１０Ａ及び１１０Ｂは、図１で点線で示すように、ネットワーク１２０を利用せずに互いに直接に通信する。例としてデバイス１１０は、例えばBluetooth接続を介した無線接続、或いは、ＵＳＢを介した有線接続等の、有線又は無線の接続を介して通信してもよい。
【００１２】
ドキュメント・プレビュー・システム１００は、ドキュメントを格納し、ドキュメント・プレビューをクライアント・デバイス１１０に提供する。ドキュメント・プレビュー・システム１００は、ネイティブ・ドキュメントのプレビューを提供して、クライアント・デバイス１１０の操作者にネイティブ・ドキュメントにアクセスし修正する前に、プレビューを参照することを可能にする。ネイティブ・ドキュメントのプレビューでは、ドキュメント・プレビュー・システム１００は、ネイティブ・ドキュメント内に存在するコメントを、ネイティブ・ドキュメント内のコメントの位置で提供し、プレビュー・インタフェースからネイティブ・ドキュメントに対するコメントの修正、追加をユーザに可能にする。ドキュメント・プレビュー・システム１００は、ネイティブ・ドキュメント内のコメントの修正、追加を、これらの修正を、ネイティブ・ドキュメントにアクセスするネイティブ・ドキュメント・アプリケーションにより参照可能とし、修正可能とするために、保存する。
【００１３】
図２は、実施形態に対応するドキュメント・プレビュー・システム１００の構成要素を示す図である。ドキュメント・プレビュー・システム１００は、クライアント・デバイス１１０にプレビューを提供するために、様々なモジュールとデータ格納部とを含む。そのようなモジュールは、ドキュメント・マッピング・モジュール２００、ドキュメント・レンダリング・モジュール２１０、ドキュメント・プレビュー・モジュール２２０、ドキュメント操作インタフェース２３０、及び同期モジュール２４０を含む。本実施形態に含まれるデータ格納部は、ネイティブ・ドキュメント格納部２５０、マッピング・テーブル格納部２６０及びプレビュー格納部２７０である。ネイティブ・ドキュメントへのコメントを正確に表示し、受け付けるために、ドキュメント・プレビュー・システム１００は、ネイティブ・ドキュメント内のネイティブ・オブジェクトを識別し、ネイティブ・ドキュメントのプレビューのために、ネイティブ・オブジェクトと関連づけられた境界領域を識別する。ネイティブ・オブジェクトは、ネイティブ・アプリケーション内のオブジェクトであって、文字、単語、文、或いは、段落といった、レンダリング可能なコンテンツの特定のピースを表す。同一タイプのドキュメントにおけるネイティブ・オブジェクトを識別するために、実施形態毎に、異なる精度で様々に実装することができる。例えば、ワープロ・ドキュメントは、文字や単語を含め、これらのレベルのいずれでもネイティブ・オブジェクトを有するものとして取り扱うことができる。以下、ネイティブ・オブジェクトのための境界領域の識別について更に記載する。
【００１４】
ネイティブ・ドキュメント格納部２５０は、ネイティブ・ドキュメントを格納する。マッピング・テーブル格納部２６０は、ネイティブ・ドキュメント格納部におけるネイティブ・ドキュメントについて、ネイティブ・ドキュメント内のネイティブ・オブジェクトを、ドキュメントのプレビューの境界領域と関連づけるマッピング・テーブルを保持する。プレビュー格納部２７０は、生成されたネイティブ・ドキュメントのプレビューを格納する。
【００１５】
ドキュメント操作インタフェース２３０は、ネイティブ・ドキュメント格納部２５０内のネイティブ・ドキュメントを操作し、構文解析するためのインタフェースである。ある実施形態では、ネイティブ・ドキュメントは、独自仕様のフォーマットで保持されるか、さもなくば、直接に操作することが困難な状態で保持される。ドキュメント操作インタフェース２３０は、ネイティブ・ドキュメント２５０とインタラクトするために、種々のモジュール用のアプリケーション・プログラミング・インタフェースを提供する。ドキュメント操作インタフェース２３０は、例えば、レンダリング・マーカーを挿入したり、コメントを識別したり、ネイティブ・ドキュメントにコメントを挿入したりするための命令を受け取る。
【００１６】
ネイティブ・ドキュメントがクライアント・デバイス１１０と同期する実施形態では、同期モジュール２４０が当該同期を管理する。ネイティブ・ドキュメント格納部２５０内のネイティブ・ドキュメントに修正が行なわれた場合、同期モジュール２４０は、マッピング・モジュール２００からのプレビュー格納部２７０内に格納されたドキュメントのプレビューの更新を要求する。そして、修正ドキュメントを、ネイティブ・ドキュメントと同期しているクライアント・デバイス１１０に配信する。ネイティブ・ドキュメントに対する修正は、ドキュメント・プレビュー・モジュール２２０を介してコメントを修正するユーザよって実行されてもよい。或いは、ネイティブ・ドキュメントに変更を行ったクライアント・デバイス１１０から受信してもよい。
【００１７】
ドキュメント・マッピング・モジュール２００は、ネイティブ・ドキュメントについてマッピング・テーブルを生成する。マッピング・テーブルの生成には、ドキュメント・マッピング・モジュールが、ネイティブ・ドキュメントを解析し、ネイティブ・ドキュメント内のネイティブ・オブジェクトを識別する。ドキュメント・マッピング・モジュールは、構文解析（パーサ：parser）を適用して、ネイティブ・オブジェクトの書式設定を解釈し、ユーザに表示されるネイティブ・ドキュメントの部分を識別する。例えば、ドキュメント・マッピング・モジュール２００により実行される構文解析は、例えば、文字や単語などのドキュメント内のネイティブ・オブジェクトを識別するために、フォントサイズ、スタイル、及び、他の書式設定を無視してもよい。ある実施形態では、マッピング・モジュールは、例えば、改行、或いは、改ページ等の、所定の書式設定をネイティブ・オブジェクトとして識別する。
【００１８】
ネイティブ・ドキュメント内のネイティブ・オブジェクトの識別の後、ドキュメント・マッピング・モジュール２００は、ドキュメント内の各ネイティブ・オブジェクトについてレンダリング・マーカーを生成する。レンダリング・マーカーは、ユニークなマーカーであって、関連付けられたネイティブ・オブジェクトを識別し、レンダリング時にはドキュメントの表示に影響を与えることはない。例えば、ある実施形態におけるレンダリング・マーカーは、適用されるネイティブ・オブジェクトのユニーク・コードを有するハイパーリンクである。また、別の実施形態では、レンダリング・マーカーはフラグ、ヘッダ、或いは、ドキュメント・レンダリング・モジュール２１０に適用可能な特別な命令である。ドキュメント・マッピング・モジュールは、各レンダリング・マーカーをネイティブ・ドキュメントの各ネイティブ・オブジェクトの位置に挿入する。
【００１９】
次に、ドキュメント・マッピング・モジュール２００は、プレビューにレンダリングするためにネイティブ・ドキュメントをドキュメント・レンダリング・モジュール２１０に提供する。ドキュメント・レンダリング・モジュール２１０は、ネイティブ・ドキュメントをＰＤＦ等のプレビュー形式に変換することにより、ネイティブ・ドキュメントのプレビューを生成する。ドキュメント・レンダリング・モジュール２１０がレンダリングを実行する場合、ドキュメント・レンダリング・モジュール２１０は、レンダリングされたドキュメントについて様々なメタデータも生成する。このメタデータは、ネイティブ・ドキュメント内の各レンダリング・マーカーの境界領域の識別子を含む。境界領域は、レンダリングされたビュー上で、例えばページや画素の範囲により、各レンダリング・マーカーの位置を識別する。生成されたプレビューは、プレビュー格納部２７０に保存されてもよい。また、結果として得られるメタデータ及び境界領域は、関連レンダリング・マーカーと共に、ドキュメント・マッピング・モジュール２００に提供される。ドキュメント・マッピング・モジュール２００は、各レンダリング・マーカーの境界領域をネイティブ・ドキュメントのマッピング・テーブルに保存する。ハイパーリンクをレンダリング・マーカーとして用いる実施形態では、ドキュメント・マッピング・モジュール２００の出力として、プレビューはＰＤＦドキュメントとして生成され、ハイパーリンク（レンダリング・マーカー）のための境界領域の識別子を含む。
【００２０】
図３は、ディスプレイ３００に示されるネイティブ・ドキュメント及び関連マッピング・テーブル３１０の一例を示す図である。ネイティブ・アプリケーション・ディスプレイ３００は、クライアント・デバイス１１０上で実行されるネイティブ・ドキュメント・アプリケーションで表示されるであろう形態で、ドキュメントを表示する。ネイティブ・ドキュメントがドキュメント・マッピング・モジュール２００及びドキュメント・レンダリング・モジュール２１０によりマッピングされると、例示するようなマッピング・テーブル３１０が生成される。本例では、ネイティブ・ドキュメント内の各単語が、ネイティブ・オブジェクトとして取り扱われている。レンダリング・マーカーは、ネイティブ・アプリケーション内の個々のネイティブ・オブジェクトと関連づけられるユニーク・リンクとして挿入される。プレビューがレンダリングされると、ドキュメント・レンダリング・モジュール２１０は、各レンダリング・マーカーのための、該レンダリング・マーカー及びネイティブ・オブジェクトとマッピング・テーブル３１０で関連づけられた境界領域を生成する。このマッピング・テーブル３１０は、ネイティブ・ドキュメント内に格納されているネイティブ・オブジェクトと、プレビューにおいて実際にユーザに対して示される境界領域との関連を提供する。また、境界領域はレンダリング処理により生成されるので、境界領域は、書式設定、ページ変更、及び、ネイティブ・ドキュメントがネイティブ・アプリケーションにより参照されている場合には考慮されなかったであろう、ネイティブ・ドキュメントをプレビューへ変換する場合の他の影響を考慮するものである。
【００２１】
図２に戻ると、ドキュメント・プレビュー・モジュール２２０は、ネイティブ・ドキュメントのプレビューを当該ネイティブ・ドキュメントと関連づけられた任意のコメントと共に、クライアント・デバイス１１０に提供する。ユーザがネイティブ・ドキュメントのプレビューを要求すると、ドキュメント・プレビュー・モジュール２２０は、プレビュー格納部２７０からレンダリングされたプレビューを取得する。ドキュメント・プレビュー・モジュール２２０は、ドキュメント操作インタフェース２３０にアクセスし、ネイティブ・ドキュメント内の任意のコメントを取得する。ドキュメント操作インタフェース２３０から取得されたコメントは、各コメントが適用されるネイティブ・オブジェクトの識別子を含んでいる。例えば、コメントは特定の単語グループに適用されることを示していてもよい。ドキュメント・プレビュー・モジュール２２０は、コメントと関連づけられたネイティブ・オブジェクトを判定し、マッピング・テーブル内の関連ネイティブ・オブジェクトの境界領域と紐付けることにより、コメントと関連づけられた境界領域を識別する。ドキュメント・プレビュー・モジュール２２０は、ユーザへの表示のために要求を行ったクライアント・デバイス１１０に対して、プレビューをコメントの境界領域と共に提供する。要求を行ったクライアント・デバイス１１０は、プレビューとコメントとをドキュメント・プレビュー・モジュール２２０から受信し、クライアント・デバイス１１０の操作者に対してプレビューを提供する。クライアント・デバイス１１０はまた、ドキュメント・プレビュー・モジュール２２０により提供されたコンテンツのための境界領域により示された位置にコメントを表示する。
【００２２】
クライアント・デバイス１１０はまた、プレビューに対するコメントの追加を行うためのインタフェースをユーザに提供する。ユーザは、プレビューにおける部分を選択し、当該インタフェースを利用してプレビューに対するコメントを追加する。コメントを受付けると、クライアント・デバイス１１０はコメントと選択をドキュメント・プレビュー・モジュール２２０に提供する。ドキュメント・プレビュー・モジュール２２０は、当該選択の位置情報と、マッピング・テーブル内のネイティブ・オブジェクトとを照合することにより、コメントに対応するネイティブ・オブジェクトを識別する。コメント領域の選択と一致した境界領域を有するネイティブ・オブジェクトは、コメントと関連するネイティブ・オブジェクトとして選択される。コメントを組込むために、ドキュメント・プレビュー・モジュール２２０は、ネイティブ・オブジェクトの識別子とコメントとをドキュメント操作インタフェース２３０に提供し、ドキュメント操作インタフェース２３０は、ネイティブ・ドキュメントにコメントを挿入する。ネイティブ・ドキュメントはコメントの追加により更新され、同期モジュール２４０は、同期しているクライアント・デバイス１１０の全てに当該変更を配信する。このようにして、ユーザはコンテンツ・ブラウザを介してプレビューに対してコメントの修正や追加を行うことができる。コメントに対する修正は、別のクライアント・デバイス１１０上のネイティブ・ドキュメント・アプリケーションにも現れるようにしてもよい。これにより、ネイティブ・ドキュメント・アプリケーションのユーザに、コンテンツ・ブラウザで成されたコメントをネイティブ・ドキュメント・アプリケーションで直接に確認することを許容しつつ、ユーザにネイティブ・ドキュメント・アプリケーションのロードを要求することなく、コンテンツ・ブラウザ・インタフェースを介して、迅速で簡単なコメントの参照及び修正が可能となる。
【００２３】
図４は、プレビューにおけるネイティブ・オブジェクトの位置を識別し、ネイティブ・ドキュメントのためのコメントを表示し、修正するための方法の一例を示す図である。本方法は、上述のドキュメント・プレビュー・システム１００の様々な構成要素により実行されてもよい。まず、４００では、ドキュメント・プレビュー・システム１００は、クライアント・デバイス１１０からネイティブ・ドキュメントのプレビュー要求を受信する。次に、４１０では、ユニークなレンダリング・マーカーが、ネイティブ・ドキュメント内の各ネイティブ・オブジェクトに挿入される。そして、４２０では、ネイティブ・ドキュメントのプレビューがレンダリング・マーカーと共にレンダリングされ、各レンダリング・マーカーと関連づけられた境界領域のセットが生成される。４３０では、ドキュメント・プレビュー・システム１００は、ネイティブ・オブジェクトと関連づけられたレンダリング・マーカーの境界領域として、ネイティブ・オブジェクトの境界領域を識別する。４３５では、ユーザにプレビューを送信する前に、ドキュメント・プレビュー・システム１００は、プレビューと共にレンダリングすべき既存のコメントがあるかどうかを判定する。コメントが無い場合に、４６０では、ネイティブ・ドキュメントのプレビューが、要求を行ったクライアント・デバイス１１０に提供される。
【００２４】
ネイティブ・ドキュメント内にコメントがある場合、４４０では、ドキュメント・プレビュー・システム１００は、これらのネイティブ・オブジェクトの中から、どのネイティブ・オブジェクトがコメントと関連境界領域とに関連づけられているかを判定する。次に、コメントと関連づけられたネイティブ・オブジェクトの境界領域を紐付けることにより、コメントのコメント位置が判定される。４４０、４５０では、各コメントについて、ネイティブ・オブジェクトとコメント位置とが判定され、４６０では、ネイティブ・ドキュメントのプレビューが、コメントと関連コメント位置と共に提供される。
【００２５】
別の実施形態では、要求からプレビューの表示までの間に実行される処理を削減するために、これらのステップの幾つかが、プレビュー要求を受信する前に実行されてもよい。これらのステップは、例えば周期的原則（例えば、１日１回）に従い実行されてもよいし、或いは、ネイティブ・ドキュメントの修正に応じて実行されてもよい。例えば、プレビュー要求よりも前に、ユニークなレンダリング・マーカーが挿入され、プレビューが生成され、コメントの境界領域が識別されてもよい。
【００２６】
クライアント・デバイス１１０は、ネイティブ・ドキュメントに対するコメント追加のユーザ要求を提供してもよい。これは、４７０でドキュメント・プレビュー・システム１００により受付けられる。４８０では、ドキュメント・プレビュー・システム１００は、コメントの追加要求におけるプレビュー内の選択位置と一致するネイティブ・オブジェクトの境界領域を識別することにより、要求に対応するネイティブ・オブジェクトを識別する。４９０では、ドキュメント・プレビュー・システム１００は、識別されたネイティブ・オブジェクトを用いて、ネイティブ・ドキュメント内の、要求について識別されたネイティブ・オブジェクトにコメントを挿入する。
【００２７】
ある実施形態では、ドキュメント・レンダリング・モジュール２１０は、レンダリング・マーカーをドキュメント・プレビューに挿入する場合に、レンダリング・マーカーと関連する境界領域を判定するためにネイティブ・ドキュメントの複製を生成する。この実施形態では、ネイティブ・オブジェクトと関連する境界領域を識別する際に元々のネイティブ・ドキュメントは変更されない。この実施形態では、２つのプレビューが生成されてもよい。１つのプレビューには、ネイティブ・オブジェクトの境界領域を生成するためにレンダリング・マーカーが組込まれ、もう１つのプレビューは、未修正のネイティブ・ドキュメントに基づくものである。この実施形態では、元々のネイティブ・ドキュメントは境界領域の識別子により修正されることはない。別の実施形態では、ドキュメント・プレビュー・システム１００は、クライアント・デバイス１１０とネイティブ・ドキュメントを同期するのに先立ってネイティブ・ドキュメントからレンダリングオブジェクトを除去する。また、さもなくば、ユーザにネイティブ・ドキュメントを取得することを可能とする。
【００２８】
上記の発明の実施形態に関する記述は、説明の目的において提示されたものであって、記載された形式そのものに発明を限定したり、それ以外のものを除外する意図はない。関連技術分野における当業者であれば、上記の開示を踏まえて多くの修正や変更が可能であることを理解することができる。
【００２９】
本記述の一部は、アルゴリズムや情報に対する動作の象徴的表現の観点から発明の実施形態を記述している。これらのアルゴリズム的記述及び表現は、他の当業者に対して自身の研究の実態を効果的に伝達するためにデータ処理分野における当業者により共通に使用される。これらの動作は、機能的、計算的、或いは、論理的に記述される一方で、コンピュータ・プログラムや、等価の電気回路、マイクロコード等により実装されてもよいことは理解されよう。さらに、一般性を失うことなく、これらの動作の構成をモジュールと呼ぶことが時には便利であることが判明している。記述された動作及び関連モジュールは、ソフトウェア、ファームウェア、ハードウェア、或いはそれらの任意の組み合わせにおいて実施されてもよい。
【００３０】
本明細書に記載のステップ、動作、或いは、処理は、１以上のハードウェアやソフトウェア・モジュールを単体で、或いは、他のデバイスとの組み合わせて使用することで、実行または実現してもよい。ある実施形態では、ソフトウェア・モジュールは、記載したステップ、動作、或いは、処理の一部または全てを実行するためにコンピュータ・プロセッサにより実行可能なコンピュータ・プログラム・コードを含むコンピュータ可読媒体を有するコンピュータ・プログラム製品を用いて実装されてもよい。
【００３１】
発明の実施形態はまた、記載の動作を実行する装置と関連していてもよい。本装置は、必要な目的のために特別に構成することができ、および/またはコンピュータに格納されたコンピュータ・プログラムによって選択的に起動または再構成された汎用コンピューティング・デバイスを含むことができる。このようなコンピュータ・プログラムは、非一時的な、有形のコンピュータ可読記憶媒体、またはコンピュータシステムバスに結合することができる電子命令を格納するのに適した任意のタイプの媒体に格納することができる。さらに、本明細書で言及される任意のコンピューティングシステムは、単一のプロセッサを含むことができ、またはコンピューティング能力を高めるために複数のプロセッサ設計を採用するアーキテクチャであってもよい。
【００３２】
本発明の実施形態はまた、本明細書で説明されるコンピューティング・プロセスによって生成される製品に関連し得る。そのような製品は、計算プロセスから生じる情報を含むことができ、当該情報は非一時的で有形のコンピュータ可読記憶媒体に格納され、本明細書に記載のコンピュータ・プログラム製品または他のデータの組み合わせの任意の実施形態を含むことができる。
【００３３】
最後に、本明細書で使用されている言語は、主に読みやすさと教授目的から選択されており、発明の主題を説明し、または明確化するようには選択されていないかもしれない。よって、本発明の範囲は、この詳細な説明によって限定されるのではなく、本明細書に基づく出願の任意の請求項により限定されることが意図される。従って、発明の実施形態の開示は、以下の請求項で述べる発明の範囲を例示するものであって、限定するものではない。
【図１】
0006527227.tif 000002
【図２】
0006527227.tif 000003
【図３】
0006527227.tif 000004
【図４】
0006527227.tif 000005