図面 (/)

技術 ビューアクライアントにおける文書の高忠実度レンダリング

出願人 マイクロソフトコーポレーション
発明者 スガンダースデッシュクマールカプールラルフアブドジェンジュンツーユライゴットウェイズ
出願日 2009年4月3日 (11年8ヶ月経過) 出願番号 2011-507517
公開日 2011年9月8日 (9年3ヶ月経過) 公開番号 2011-525001
状態 不明
技術分野
  • -
主要キーワード 携帯コンピュータシステム 拡大変形 結合ブロック 任意回数 コンピュータ制御装置 プラグインコンポーネント 位置メタデータ 思い起こす
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2011年9月8日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (9)

課題・解決手段

ツールと技術がビューアクライアントにおける文書高忠実度レンダリングに関して説明される。これらのツール及び技術によって提供される方法は、クライアントシステムが高忠実度コンテンツをレンダリングするためにインストールされるプラグインを有しているかを検出することができる。所定のクライアントシステムにレンダリングプラグインがインストールされているということの検出に応答して、これらの方法は、当該クライアントシステムにおけるコンテンツのレンダリングのためのプラグインと互換性のある第1の高忠実度フォーマットを選択することができる。一方、クライアントシステムにレンダリングプラグインがインストールされていないことの検出に応答して、当該方法は、当該クライアントシステムにプラグインをインストールせずに、当該クライアントシステムにおいてコンテンツをレンダリングするための第2の高忠実度フォーマットを選択することができる。これらの方法は、クライアントシステムにおいて選択されたフォーマットでレンダリングするために、文書のページを要求することもでき、当該選択されたフォーマットで文書のページの少なくとも1つのサブセットを受信することができる。

概要

背景

様々な異なる環境において働いているユーザは、異なるアプリケーションに関連付けられているだろうあらゆる文書アクセスしたいと願うだろう。従来の技術においては、ユーザが所定の文書を開きたいと願う場合、ユーザはクライアントシステムにその文書のためのアプリケーションをインストールして、その後に適切なアプリケーション内で当該所定の文書を開いていた。さらに最近の技術においては、ビューアクライアント(例えばブラウザ)がクライアントシステムにインストールされており、このクライアントオンラインで文書を見ることをユーザに可能とするだろう。しかし、これらのビューアクライアントは、オンライン文書の比較的低い忠実度の表示を提供し得、このビューアクライアントを用いて仕事をする際に、総合ユーザ経験は、全機能を有するアプリケーションを使用して仕事をする場合と比較して劇的に異なるだろう。例えば、完全なアプリケーションによってサポートされているいくつかのフォーマットは、ビューアクライアントでは維持されず、ビューアクライアントにおいてレンダリングされたコンテンツは、完全なアプリケーションによってレンダリングされたコンテンツと異なって表示されるだろう。

概要

ツールと技術がビューアクライアントにおける文書の高忠実度レンダリングに関して説明される。これらのツール及び技術によって提供される方法は、クライアントシステムが高忠実度コンテンツをレンダリングするためにインストールされるプラグインを有しているかを検出することができる。所定のクライアントシステムにレンダリングプラグインがインストールされているということの検出に応答して、これらの方法は、当該クライアントシステムにおけるコンテンツのレンダリングのためのプラグインと互換性のある第1の高忠実度フォーマットを選択することができる。一方、クライアントシステムにレンダリングプラグインがインストールされていないことの検出に応答して、当該方法は、当該クライアントシステムにプラグインをインストールせずに、当該クライアントシステムにおいてコンテンツをレンダリングするための第2の高忠実度フォーマットを選択することができる。これらの方法は、クライアントシステムにおいて選択されたフォーマットでレンダリングするために、文書のページを要求することもでき、当該選択されたフォーマットで文書のページの少なくとも1つのサブセットを受信することができる。

目的

コンピュータ可読媒体116は、クライアント側ビューア118を提供する

効果

実績

技術文献被引用数
- 件
牽制数
- 件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

該当するデータがありません

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータによって実行される際に、文書コンテンツレンダリングするプラグインクライアントシステム(102)にインストールせずに、前記クライアントシステムにおいて前記文コンテンツ高忠実度レンダリングを提供する方法をコンピュータに実行させるコンピュータ実行可能命令(118)を格納した少なくとも1つのコンピュータ可読記憶媒体(116)であって、前記方法が、前記クライアントシステムに前記レンダリングするプラグインがインストールされているかを検出するステップ(302)と、前記クライアントシステムに前記レンダリングするプラグインがインストールされているとの検出に応答して、前記コンテンツをレンダリングするプラグインと互換性のある第1の高忠実度フォーマットを選択するステップ(308)と、前記クライアントシステムに前記レンダリングするプラグインがインストールされていないとの検出に応答して、クライアントシステムに前記プラグインをインストールせずに、前記クライアントシステムにおける前記コンテンツのレンダリングのために第2の高忠実度フォーマットを選択するステップ(312)と、前記クライアントシステムにいて前記選択されたフォーマットでレンダリングするために、複数のページを有する少なくとも1つの文書を要求するステップ(314)と、前記選択されたフォーマットで前記文書のページのサブセット(326)を受信するステップ(330)と、を含むことを特徴とするコンピュータ可読記憶媒体。

請求項2

前記第2の高忠実度フォーマットを選択するステップのための命令が画像フォーマットを選択する命令を含むことを特徴とする請求項1に記載の記憶媒体。

請求項3

前記第2の高忠実度フォーマットを選択するステップのための命令がPNG(PortableNetworkGraphics)フォーマットを選択する命令を含むことを特徴とする請求項1に記載の記憶媒体。

請求項4

前記サブセット内に含まれない前記文書の少なくとも1つの追加ページを要求する命令と、前記記憶媒体が前記少なくとも1つの追加ページを受信する命令とをさらに含むことを特徴とする請求項1に記載の記憶媒体。

請求項5

前記クライアントシステムにおいて前記文書のページのサブセットを表示する命令と、前記クライアントシステムとサーバとの間の往復メッセージフローを必要とせずに、前記クライアントシステムにおいて拡大機能をローカルに提供する命令とをさらに含むことを特徴とする請求項1に記載の記憶媒体。

請求項6

前記拡大機能を提供する命令が、ブラウザサポートされているスケーリングを使用して拡大変形を適用する命令を含むことを特徴とする請求項5に記載の記憶媒体。

請求項7

前記拡大機能を提供する命令が、前記プラグインにサポートされている機能を使用して拡大変形を適用する命令を含むことを特徴とする請求項5に記載の記憶媒体。

請求項8

前記コンテンツに関して演算された位置ベースメタデータを受信する命令をさらに含むことを特徴とする請求項1に記載の記憶媒体。

請求項9

前記位置ベースのメタデータを参照することによってユーザ命令に応答する命令をさらに含むことを特徴とする請求項8に記載の記憶媒体。

請求項10

コンピュータ(108)によって実行される際に、文書コンテンツをレンダリングするプラグインをクライアントシステム(102)にインストールせずに、前記クライアントシステムにおいて前記文書コンテンツの高忠実度レンダリングを提供する方法をコンピュータに実行させるコンピュータ実行可能命令(128)を格納した少なくとも1つのコンピュータ可読記憶媒体(116)であって、前記方法が、複数のページを有する少なくとも1つの選択された文書(134)の要求(316)であって前記クライアントシステムによってサポートされている少なくとも2つの高忠実度レンダリングフォーマットのうちの1つを指定する要求(316)を受信するステップと、前記指定されたレンダリングフォーマットで前記ページのサブセットをフォーマットするステップ(322)と、レンダリングのために前記クライアントシステムに前記ページのサブセット(326)を送信するステップ(324)と、前記ページのサブセットに含まれていない少なくとも1つの追加のページ(420)を要求する第2の要求(414)を受信するステップ(416)と、前記指定されたレンダリングフォーマットで少なくとも前記追加のページをフォーマットするステップ(328)と、レンダリングのために前記クライアントシステムに少なくとも前記追加ページを送信するステップ(418)と、を含み、前記レンダリングフォーマットのうちの第1のレンダリングフォーマットは前記プラグインと互換性があり、前記レンダリングフォーマットのうちの第2のレンダリングフォーマットは前記クライアントシステムに前記プラグインをインストールせずに前記クライアントシステムにおいて前記コンテンツをレンダリングするためのものであることを特徴とする記憶媒体。

請求項11

前記文書内に含まれているコンテンツに関する位置ベースのメタデータを生成する命令をさらに含むことを特徴とする請求項8に記載の記憶媒体。

請求項12

前記位置ベースのメタデータを生成する命令は、前記文書内の段落を順序づける命令を含むことを特徴とする請求項9に記載の記憶媒体。

請求項13

前記位置ベースのメタデータを生成する命令は、前記文書内の表要素を順序づける命令を含むことを特徴とする請求項9に記載の記憶媒体。

請求項14

前記位置ベースのメタデータを生成する命令は、前記文書内の少なくとも1つのテキストラン外接矩形を調べる命令を含むことを特徴とする請求項9に記載の記憶媒体。

請求項15

前記位置ベースのメタデータを生成する命令は、前記文書内の少なくとも1つのハイパーリンクの外接矩形を調べる命令を含むことを特徴とする請求項9に記載の記憶媒体。

請求項16

前記クライアントシステムに前記位置ベースのメタデータを送信する命令をさらに含むことを特徴とする請求項9に記載の記憶媒体。

請求項17

前記文書内に存在する少なくとも1つのテキストランにおける配置を実行する命令をさらに含むことを特徴とする請求項8に記載の記憶媒体。

請求項18

コンピュータ(108)によって実行される際に、文書コンテンツ(130)をレンダリングするプラグインをクライアントシステム(102)にインストールせずに、前記クライアントシステム上の前記文書コンテンツの高忠実度レンダリングを提供する方法をコンピュータに実行させるコンピュータ実行可能命令(128)を格納した少なくとも1つのコンピュータ可読記憶媒体(126)であって、前記方法が、サーバシステム(108)にアップロードされた複数の文書(134)内の少なくとも1つの語(808)を検索する要求であって前記クライアントシステムによってサポートされている少なくとも2つの高忠実度レンダリングフォーマットのうちの1つ(810)を指定する要求を前記クライアントシステムから受信するステップ(812)と、前記文書内の前記語を検索するステップ(814)と、前記文書の少なくとも1つ内における前記語の少なくとも1つの存在を発見することに応答して、前記指定されたレンダリングフォーマットで文書プレビューを生成して、前記文書内の当該検索語の存在を少なくとも示すステップと、前記文書内のどこに前記検索語が存在するかを示す検索結果(820)を生成するステップと、前記文書プレビュー及び前記検索結果を前記クライアントシステムに送信するステップ(818)とを含むステップとを含み、前記レンダリングフォーマットのうちの第1のレンダリングフォーマットは前記プラグインと互換性があり、前記レンダリングフォーマットのうちの第2のレンダリングフォーマットは前記クライアントシステムに前記プラグインをインストールせずに前記クライアントシステムにおいて前記コンテンツをレンダリングするためのものであることを特徴とする記憶媒体。

請求項19

前記少なくとも1つの文書に関して演算された位置ベースのメタデータを前記クライアントシステムに送信する命令をさらに含むことを特徴とする請求項18に記載の記憶媒体。

請求項20

前記文書プレビューに対する少なくとも1つのユーザ命令に応答して前記メタデータを参照する命令をさらに含むことを特徴とする請求項19に記載の記憶媒体。

技術分野

0001

本発明は、ビューアクライアントにおける文書高忠実度レンダリングに関する。

背景技術

0002

様々な異なる環境において働いているユーザは、異なるアプリケーションに関連付けられているだろうあらゆる文書にアクセスしたいと願うだろう。従来の技術においては、ユーザが所定の文書を開きたいと願う場合、ユーザはクライアントシステムにその文書のためのアプリケーションをインストールして、その後に適切なアプリケーション内で当該所定の文書を開いていた。さらに最近の技術においては、ビューアクライアント(例えばブラウザ)がクライアントシステムにインストールされており、このクライアントオンラインで文書を見ることをユーザに可能とするだろう。しかし、これらのビューアクライアントは、オンライン文書の比較的低い忠実度の表示を提供し得、このビューアクライアントを用いて仕事をする際に、総合ユーザ経験は、全機能を有するアプリケーションを使用して仕事をする場合と比較して劇的に異なるだろう。例えば、完全なアプリケーションによってサポートされているいくつかのフォーマットは、ビューアクライアントでは維持されず、ビューアクライアントにおいてレンダリングされたコンテンツは、完全なアプリケーションによってレンダリングされたコンテンツと異なって表示されるだろう。

0003

ツール及び技術はビューアクライアントにおける文書の高忠実度レンダリングに関して説明される。これらのツール及び技術によって提供される方法は、クライアントシステムが高忠実度のコンテンツをレンダリングするためにインストールされているプラグインを有しているかを検出し得る。所定のクライアントシステムにレンダリングプラグインがインストールされていることの検出に応答して、これらの方法は、クライアントシステムにおけるコンテンツのレンダリングのためのプラグインと互換性のある第1の高忠実度フォーマットを選択し得る。一方、所定のクライアントシステムにレンダリングプラグインがインストールされていないことの検出に応答して、これらの方法は、クライアントシステムにプラグインをインストールせずに、クライアントシステムにおけるコンテンツのレンダリングのための第2の高忠実度フォーマットを選択し得る。これらの方法は、クライアントシステムにおいて選択されたフォーマットでレンダリングするために、文書のページを要求し、当該選択されたフォーマットで文書のページの少なくとも1つのサブセットを要求し得る。

0004

上述の本発明は、方法、コンピュータ制御装置コンピュータ処理コンピュータシステム、またはコンピュータ可読媒体等の製品として実施される。これらおよび様々な特徴は、以下の発明を実施するための形態及び添付の図面から明らかになるだろう。

0005

この発明の概要は、発明を実施するための形態において以下でさらに説明される概念の1つを単純な形式紹介するために提供されている。この発明の概要は、本発明の重要な特徴または本質的な特徴を特定することは意図されておらず、この発明の概要が本発明の範囲を限定するために使用されることも意図されていない。さらに、本発明は、本開示の全ての部分に記載されているいくつかまたは全ての欠点を解決する実施例に限定されない。

図面の簡単な説明

0006

ビューアクライアントにおける文書の高忠実度レンダリングを可能とするシステムまたは動作環境を示す結合ブロック図及びフロー図である。
クライアントシステムまたはシステムがこのようなデバイスにおける高忠実度表示のために特定の文書を要求するプロセスを示すフロー図である。
図2に示されたプロセスに続く処理を示すフロー図である。
図2及び図3に示されたプロセスに続く処理を示すフロー図である。
クライアント側ビューアに対してページをフォーマットするプロセスを示すフロー図である。
クライアント側ビューアに提供されるコンテンツのユーザ選択に応答するプロセスを示すフロー図である。
追加のユーザ命令に応答するプロセスを示すフロー図である。
クライアント側ビューアにより、クライアントシステムが、クライアントシステムから離れて配置されているコンテンツ内を検索することを可能とするプロセスを示すフロー図である。

実施例

0007

以下の詳細な説明は、ビューアクライアントにおける文書の高忠実度のレンダリングのための技術に関している。本明細書に記載されている本発明は、コンピュータシステムにおいてオペレーティングシステム及びアプリケーションプログラムの実行とともに実行するプログラムモジュールの一般的な状況において示されているが、当業者は、他のタイプのプログラムモジュールとともに実行され得る他の実施例を理解するだろう。一般的に、プログラムモジュールは、ルーチンプログラムコンポーネントデータ構造、及び他のタイプの構造であって、特定のタスクを実行するかまたは特定の抽象データ型実装するものを含む。さらに、当業者には、本明細書に記載されている本発明が、ハンドヘルドデバイスマルチプロセッサシステムマイクロプロセッサベース家電プログラム可能家電、マイクロコンピュータメインフレームコンピュータ等を含む他のコンピュータシステム構成を用いて実現されてもよいことが理解されるだろう。

0008

以下の詳細な説明において、参照符号は、本明細書の一部を形成する添付図面に対して付され、これらは、特定の実施形態または実施例を説明するために示される。同様の参照符号により同様の要素を表す図面を参照して、ビューアクライアントにおけるドキュメントの高忠実度のレンダリングのためのツール及び技術特徴が説明されるだろう。

0009

図1は、全体として100で示される、ビューアクライアントにおける文書の高忠実度レンダリングを可能とするシステムまたは動作環境を示している。これらのシステム100は、適切な命令106を発行して、1または複数のサーバシステム108に文書をアップロードすることを1または複数のユーザ104に可能とさせる1または複数のクライアントシステム102を含み得る。図1は、明確さ及び例示のためだけに、1人のユーザ、1つのクライアントシステム及び1つのサーバシステムを含む例を示す。しかし、本明細書の詳細な説明の実施例は、任意の数のユーザ、クライアントシステム及びサーバシステムを含む。

0010

クライアントシステム102及びそのサーバシステム108は、1または複数の中間通信ネットワーク110を介して通信し得る。これらのネットワークは、地球規模地域的局所的、または個人的な性質を有していてもよく、様々な実装例において適切な様々なプロトコルを用い得る。

0011

図1で用いられているクライアントシステム及びサーバシステムを示すための図形要素は、単に説明を容易にするために選択されており、本明細書内の説明の可能な実施例を限定するものではない。さらに具体的には、図1は、サーバシステム108が集中型コンピュータシステムであり、2以上のクライアントシステムによって共有され得る例を示している。クライアントシステム102は、相対的に固定されているデスクトップシステムであり得、携帯コンピュータシステムラップトップノートブック、または他のタイプの携帯コンピュータシステム)でもあり得る。さらに、クライアントシステム102は、ワイヤレス通信機能を有しかつ本明細書に記載されている様々なツール及び技術を実行するためにインストールされているソフトウェアコンポーネントを有するPDA(personal digital assistant)であってもよい。しかし、本明細書内の説明は、クライアントシステム及びサーバシステムの他の形態も意図しており、図1に示されているクライアントシステム及びサーバシステムの形態を含むがこれに限定されない。

0012

クライアントシステム102を詳細にみると、このクライアントシステムは、1または複数のプロセッサ112を含み、これらは特定のタイプまたはアーキテクチャを有し得、特定の実施例に対して適切に選択される。プロセッサ112は、プロセッサ112との互換性に関して選択される1または複数のバスシステム114に結合され得る。

0013

クライアントシステム102は、バスシステム114に結合されているコンピュータ可読記憶媒体116の1または複数のインスタンスも含み得る。このバスシステムは、プロセッサ112がコード及び/またはデータをコンピュータ可読記憶媒体116へ書き込む/から読み出すことを可能にし得る。媒体116は、任意の適切な技術を用いて実装される記憶要素を表していてもよく、当該記憶要素には、限定するわけではないが、半導体磁気材料光学媒体等を含む。媒体116は、RAM、ROM、フラッシュ、または他のタイプとして分類されるメモリコンポーネントを含み得、ハードディスクドライブを示していてもよい。

0014

記憶媒体116は、プロセッサ112に読み込まれて実行された際、クライアントシステム102に、本説明においてクライアントシステム102に配置されているビューアクライアントにおける文書の高忠実度レンダリングのための様々な技術を実行させる命令の1または複数のモジュールを含み得る。この発明説明全体で詳述されているように、クライアントシステム102及びサーバシステム108は、協同して本明細書に記載されている様々なサービスを提供し得る。

0015

コンピュータ可読媒体116は、クライアント側ビューア118を提供する1または複数のモジュールを含み得る。クライアント側ビューア118は、本明細書に記載されているような機能を用いて強化されたブラウザソフトウェアを含んで、クライアントシステムにおいて文書コンテンツをレンダリングする際に複数の高忠実度フォーマットをサポートする。いくつかの例において、クライアントシステムは、所定のレンダリングフォーマットを使用してクライアントにおいて高忠実度でコンテンツをレンダリングすることをビューアに可能とさせるプラグインソフトウェアを含み得る。このようなプラグインソフトウェアの例には、アドビシステムから入手可能なFLASH(登録商標マルチメディア技術、本件出願人から入手可能なSILVERLIGHT(登録商標)ブラウザプラグイン、または同様の機能を提供する他のブラウザプラグインが含まれ得る。

0016

他の例において、クライアントシステムは、このようなプラグインを含まなくともよい。それにもかかわらず、この発明を実施するための形態において提供されているツール及び技術は、クライアントシステムに当該プラグインをインストールせずに、クライアントシステムにおいて高忠実度で文書コンテンツをレンダリング可能である。この後者の状況において、クライアントシステムは、ビットマップ画像フォーマット(例えば、ポータブルネットワークグラフクスすなわちPNG、または利用可能なブラウザクライアントによってサポート可能な他の適切な画像フォーマット)を使用してもよい。

0017

最初に、クライアント側ビューアは、1または複数の文書をネットワーク110を介してサーバシステム108にアップロードするための命令106を受信し得る。図1は、クライアントシステムからサーバシステムへ転送される際のアップロード文書を全体として120で示す。

0018

サーバシステム108をさらに詳しくみると、サーバシステムは、特定のタイプまたはアーキテクチャを有し得、特定の実施例に対して適切に選択される1または複数のプロセッサ122を含み得る。プロセッサ122は、プロセッサ112と同一のタイプまたはアーキテクチャを有していても有していなくともよい。プロセッサ122は、プロセッサ122との互換性に関して選択される1または複数のバスシステム124と結合され得、バスシステム114と同一のタイプまたはアーキテクチャを有していても有していなくともよい。

0019

サーバシステム108は、バスシステム124と結合されているコンピュータ可読記憶媒体126の1または複数のインスタンスを含んでいてもよい。このバスシステムは、プロセッサ122が、コード及び/またはデータをコンピュータ可読記憶媒体126へ書き込む/から読み出すことを可能とし得る。この媒体126は、限定するわけではないが、半導体、磁気材料、光学媒体等を含み、任意の適切な技術を用いて実装される記憶媒体を表し得る。媒体126は、RAM、ROM、フラッシュ、または他のタイプとして分類されるメモリコンポーネントを含み得、ハードディスクドライブを示していてもよい。

0020

記憶媒体126は、プロセッサ122に読み込まれて実行された際に、本説明においてサーバシステム108に配置されているビューアクライアントにおける文書の高忠実度レンダリングのための様々な技術をサーバシステム108に実行させる命令の1または複数のモジュールを含み得る。本説明全体で詳述されているように、クライアントシステム102及びサーバシステム108は、協同して本明細書に記載されている様々なサービスを提供し得る。

0021

コンピュータ可読媒体126は、全体として128で示されている文書プレビューサービス及び文書検索サービスを提供する1または複数のサーバ側モジュールを含み得る。最初に、これらのサービス128は、後にユーザ104または他のユーザ(図示せず)に参照されるためにアップロード文書120を文書ストア130に保存し得る。図1は、文書ストアにアップロードされる際の文書を132で示す。文書ストア130は、様々な異なるユーザ104及びクライアントシステム102のために複数の文書134を保存し得る。

0022

文書134は、文書処理、表演算解析データベース支援、メールもしくは通信、またはスケジューリング等を実行するアプリケーションであるかどうかに関係なく、様々な異なる各々のアプリケーションによって読み込み可能な文書を示す。いくつかの場合において、これらのアプリケーションのいくつかまたは全ては、グループにされてまとめて販売され得る。例えば、本件出願人は、OFFICE(商標)でこのようなアプリケーションの一揃いを提供するが、他のソフトウェアメーカーは、本説明の全てまたは一部を実施し得る他の一揃いのアプリケーションを提供し得る。

0023

本説明全体を通してさらに詳しく説明されているように、本明細書において提供されているツール及び技術は、文書134を開いて編集するために通常使用されるアプリケーションを起動することなく、クライアントシステムが文書134の少なくとも一部を高忠実度でレンダリングすることを可能とする。用語「高忠実度」は、本明細書において用語「完全な忠実度」と区別するために使用されている。後者の用語は、ビューア118において表示された場合と比べて完全な、適切なアプリケーションで開かれた際に表示される文書の間の100%の忠実度を意味する。

0024

説明及び図の簡潔さのみのために、図1は、1つのサーバがアップロードされた文書120を受信し、クライアントシステムにおいて当該文書をレンダリングするのに適切なように当該文書を変換する例を提供している。しかし、本説明の実施例は、各々割り当てられた機能を実行する多数の異なるサーバを含み得る。例えば、1または複数のサーバの第1のグループが、様々なクライアントシステムのために、アップロードされた文書を受信して保存し得る。1または複数のサーバの他のグループは、クライアントシステムにおいてこれらの文書をレンダリングするのに適切な任意の変換を実行し得る。換言すれば、アップロードされた文書を受信するサーバは、クライアントシステムにおいて当該文書のレンダリングをサポートするサーバと同一でなくともよい。

0025

図1においてシステムまたは動作環境100を説明してきたが、クライアントシステムが当該クライアントシステムにおける高忠実度表示のために特定の文書を要求し得るプロセスフローの説明に移る。本説明は、図2を用いて行われる。

0026

図2は、全体として200で示されているプロセスフローを図示しており、当該プロセスフローによってクライアントシステムが当該デバイスにおける高忠実度表示のために特定の文書を要求し得る。参照及び説明の容易化のために、可能な実装例を制限するわけではないが、図2は前図からのいくつかの要素を持ち越し、それらを同一の参照符号で表している。例えば、プロセスフロー200は、クライアントビューア118並びにサーバ側文書プレビュー及び検索サービス128と関連付けて記載されている。しかし、本説明の実施例は、本発明の範囲及び精神を逸脱することなく、他のコンポーネントにおいてプロセスフロー200を実行してもよい。

0027

プロセスフロー200をさらに詳しくみると、ブロック202が全体として検索及び表示のためにサーバシステムにおいて利用可能な文書のリストの要求を示している。例えば、クライアントシステム102は、ユーザ104からの命令に応答してブロック202を実行する。図2は、文書リスト要求を204で示している。

0028

サーバにおいて、ブロック206が全体として文書リスト要求の受信を示している。次に、検索サービス128が文書ストア130を参照してどの文書134がユーザ104へのアクセスに使用可能かを判定する。

0029

ブロック208は、全体としてクライアント側ビューア118における表示のためにクライアントシステムに利用可能な文書の表示の送信を示している。図2は、これらの利用可能文書の表示を全体として210で示している。

0030

クライアントシステムにおいて、ブロック212は、要求したユーザに利用可能であってサーバシステム上に保存されている文書の表示を受信することを全体として示している。次に、クライアント側ビューア118は、全体としてブロック214で表されているように、利用可能文書のリストをユーザに示し得る。ユーザは、全体としてブロック216に示されているように利用可能文書のリストを見てクライアントシステムにおける表示のために所与の文書を選択してもよい。

0031

説明の明確さのため、可能な実施例を限定するわけではないが、ページ外参照符号218で示されているようにプロセスフロー200は図3に続いている。説明は図3に続く。

0032

図3は、全体として300で示されているプロセスフローを示していて、このフローは、ページ外参照符号302に示されているように、図2に示されているプロセスフロー200を引き継いでいる。クライアント側ビューア118並びに文書プレビューサービス及び文書検索サービス128は、図3内に引き継がれている。

0033

判定ブロック304は、所定のクライアントシステムに所定の高忠実度レンダリングフォーマットに関するプラグインコンポーネントがインストールされているかどうか評価することを全体として示している。上述したように、これらのプラグインの例には、FLASH、SILVERLIGHTで提供されているソフトウェアコンポーネントまたは同様の機能を有する他のコンポーネントを含み得る。

0034

ブロック304から、所定のクライアントシステムに当該プラグインコンポーネントがインストールされている場合、プロセスフロー300は、「はい」の分岐を選んでブロック308に進み得る。ブロック308は、クライアントビューア118によって表示されるクライアントシステム上のレンダリングコンテンツのためのプラグインによってサポートされているフォーマットの選択を示している。

0035

判定ブロック304を見ると、所定のクライアントシステムにプラグインコンポーネントがインストールされていない場合、プロセスフロー400は「いいえ」の分岐を選んでブロック312へ進み得る。ブロック312は、クライアントシステムにおける高忠実度の文書コンテンツレンダリングのための画像フォーマットを選択することを全体として示している。上述の説明は、PNG画像フォーマットを使用する例を示しているが、他の画像フォーマットも他の実施例において適切であり得る。例えば、所定のページのコンテンツの大部分が画像である場合、その所定のページはJPG画像としてレンダリングされてさらに高い画像品質及びさらに高い圧縮率をもたらすだろう。

0036

ブロック314は、ブロック216において選択された文書のプレビューを要求することを全体として示している。ブロック314において、文書プレビューを判定ブロック304によって決定されたフォーマットで表示することを要求してもよい。図3は、クライアントシステムによってサポートされているフォーマットの指示に従って選択された文書に対する要求を全体として316で示す。

0037

サーバシステムにおいて、ブロック318は、選択された文書に対する要求316を受信することを全体として示している。ブロック318は、クライアントシステムによってサポートされているフォーマットの指示の受信することを含んでいてもよい。

0038

ブロック320は、要求316への応答における選択された文書を取得することを全体として示している。ブロック320は、要求された文書を文書ストア(例えば図1の130)からの取得することを含んでいてもよい。

0039

ブロック322は、選択された文書内のページをクライアントビューアに適切とするようにフォーマットすることを全体として示している。例えば、ブロック322は、ページを画像表示またはXAML表示に変換すること、またはレンダリングすることを含んでもよい。例えば、この変換プロセスは、クライアントアプリケーションと共有されている.dllファイルを使用して、文書のページを書き込み及び/または読み出し、文書のコンテンツをページ、スライドまたは他の便利な表示内レイアウトすることを含んでもよい。この変換は、拡張メタファイルフォーマット(例えばEMF、以下でさらに詳細に説明される)に対するエミュレートされた(emulated)印刷プロセスを実行すること、及びページにEMFを使用して当該所定のページに関する画像表示またはXAML表示のいずれかを得ることを含んでもよい。以下でさらに詳細に説明されるように、この変換プロセスは、本説明において提供される選択/発見動作において用いられる位置ベースメタデータを生成してもよい。

0040

ブロック322が要求された文書内のページのいくつかのサブセットをフォーマットすると、ブロック324は、要求するクライアントシステムにフォーマットされたページのサブセットを送信する。図3は、フォーマットされたページのサブセットを全体として326で示す。

0041

クライアントシステムにページのサブセットを送信するブロック324と並行して、ブロック322は、矢印328によって全体として示されている様に、文書の追加ページをフォーマットし続けてもよい。この態様において、以下でさらに詳細に説明されるように、プレビュー及び検索サービス128は、サーバが残りの文書を適切なフォーマットに変換し続けている一方で、クライアント側ビューア118がページの先行のセットの表示を開始することを許容してもよい。従って、クライアントシステムは、文書内のコンテンツの少なくともいくつかを見るのに、サーバが全ての文書をフォーマットするまでは待たない。換言すれば、本明細書内の要因により、クライアントシステム及びサーバが文書コンテンツの増分表示(incremental view)を提供することを可能とする。

0042

クライアントビューア118を見ると、ブロック330が、フォーマットされたページのサブセット326を受信することを全体として示している。続いて、ブロック332がビューア118を介したこのサブセットの表示を示している。この態様にて、ブロック332は、ユーザ(例えば104)が、サーバが所定の文書全体をフォーマットまたは変換するのを待つことなく、例えば所定の文書内の最初に数ページを、選択された高忠実度フォーマットでプレビューすることを可能とする。

0043

例示及び説明の明確さのために、可能な実施例を限定するわけではないが、例示のプロセスフロー300に説明は、ページ外参照符号334によって示されている様に、図4に続く。これらのプロセスフローの説明は図4と共に進められる。

0044

図4は、図2及び図3から引き継いでいるプロセスフローの続きの状況を全体として400で示して図示している。図4は、ページ外参照符号402を含んで、プロセスフロー400と図3のプロセスフロー300とを関連付けている。参照及び説明の簡易化のため、可能な実施例を限定するわけではないが、図4は、前の図面からいくつかの要素を引き継いでおり、それらを同一の参照符号で示している。例えば、図4は、クライアント側ビューア並びにサーバ側文書プレビュー及び検索サービス128を引き継いでいる。

0045

プロセスフロー400をさらに詳細にみると、ブロック404が、ブロック332においてすでに表示されたページに関するユーザ命令に応答することを全体として示している。これらの命令は、例えば、ナビゲーションまたはスクロール命令を含んでいてもよく、これらの命令によってユーザは所定の文書に関して送信されたページの最初のサブセットを見ることができる。

0046

判定ブロック406は、ユーによって発せられた命令がクライアント側ビューアに現時点で利用可能でないページを要求するかどうかの判定を示す。換言すれば、ブロック406は、ユーザが、図3の326において示されている送信されかつフォーマットされたページの最初のサブセットに含まれていない文書コンテンツのページを要求しているかを判定してもよい。判定ブロック406が、ユーザの要求がクライアント側ビューアに現時点で利用可能であるページで満足していると判定した場合、プロセスフロー400は、「いいえ」の分岐408を選択して上述のブロック404に戻る。

0047

判定ブロック406を再度みると、ユーザによって発せられた命令がページの最初のサブセット326に含まれていないページを要求する場合、プロセスフロー400は、「はい」の分岐410を選択してブロック412に進む。ブロック412は、全体として414で示されている要求を用いた、サーバにある文書の追加ページの要求を示している。要求414は、要求しているクライアントのレンダリングフォーマットを示してもよく、文書内の残りの未送信のページを送信するかどうか、または残りの未送信のページのいくつかのサブセットを送信するかどうかを示してもよい。

0048

サーバにおいて、ブロック416は、所定の文書の追加ページに関する要求414の受信することを全体として示している。図3の328に示されているように、クライアントビューアが、フォーマットされて送信された先行するページのサブセット326を表示している一方で、サーバシステムは、結果として起こるクライアントビューアへの送信及び表示のための追加ページのフォーマットを同時に行う。従って、追加ページに対する要求414がクライアントビューアから到達する場合、サーバシステムは、418で全体として示されているようにクライアントビューアへ追加のページを送信することができる。ブロック418は、文書内の残りの未送信ページの全てを送信すること含んでいてもよいし、これらの残りのページのうちの別のサブセットを送信することを含んでいてもよい。図4は、これらの追加ページを全体として420で示している。

0049

クライアントシステムを再度みると、ブロック422が、要求414に応答した追加ページ420を受信することを全体として示している。次に、ブロック424がクライアント側ビューア118における追加ページを表示することを示している。ブロック424とブロック404を接続している矢印によって示されているように、プロセスフロー400は、ブロック404に戻って待機してブロック424において表示された追加のページに関するユーザ命令に応答してもよい。

0050

図2図3及び図4に示されるプロセスフローを説明してきたが、ここで説明は、クライアントビューアのためのページフォーマットに関する追加の詳細説明に移る。本説明は、図5と共に行われる。

0051

図5は全体として500で示されているプロセスフローを示しており、当該プロセスフローはクライアントビューアのためのページフォーマットに関する追加の詳細説明を提供する。参照及び説明の簡易化のために、可能な実施例を限定するわけではないが、図5は、前の図から要素を引き継いで、それらを同一の参照符号で示している。例えば、図5は、サーバ側文書プレビュー及び検索サービス128を引き継いでいる。特に、プロセスフロー500は、図3に示されているプロセスブロック322を詳しく説明している。

0052

プロセスフロー500をさらに詳細にみると、ブロック502が所定の文書内の様々なページのコンテンツに関する位置ベースのメタデータを生成することを示している。ブロック502は、コンテンツを高い忠実度でレンダリングするプラグインコンポーネントがクライアントシステムにインストールされているかにかかわらず、一定の態様でメタデータを生成することを含んでいてもよい。以下でさらに詳しく説明されるように、クライアントビューアは、このメタデータを使用して、限定するわけではないが、コンテンツの選択、コンテンツのコピー、所定の文書内の特定のコンテンツの検索、文書内に存在するハイパーリングの保存等を含む機能を実装する。

0053

いくつかの実施例において、位置メタデータは、XMLフォーマットで生成され得る。さらに、この位置メタデータは、クライアントビューアのための文書のページのフォーマットまたは変換における中間ステップとしてサーバシステムによって生成される拡張メタファイル(EMF)表示から得られてもよい。EMF表示が例として挙げられているが、この発明を実施するための形態の実施例は、EMFと同様の特徴または機能をもたらす他の同等な表示も用い得る。例えば、これらの表示に関連付けられているコメント記録は、文書構造を指定し得、テキストがどこから始まってどこで終了するかを示す意味情報(semantic information)をもたらす。この意味情報は、文書のページ内に存在する内部ハイパーリンク及び外部ハイパーリングも識別し得る。EMF表示は、文書の内のどこに図または画像が存在するかも示し得る。

0054

上述の構造情報及び意味情報を図または画像情報と組み合わせることによって、ブロック502は、所定の文書に関連する異なるタイプの情報を構築することができ、この情報を文書内のページ対して生成されたメタデータ内に含めることができる。例えば、ブロック504は、所定の文書内の段落を順序づけることを示している。さらに具体的に言えば、ブロック504は、段落が文書内で他の段落、表、図、画像等に対して現れる順序を示す番号を文書内の様々な段落に対して指定することを含んでもよい。

0055

ブロック506は、文書内に存在する表内の要素を順序づけることを示す。さらに具体的に言えば、ブロック508は、表が文書の中において他の段落、表、図、画像等に対して現れる順序を示す番号を所定の文書内の様々な表に対して指定することを示す。さらに、ブロック510は、所定の表内の様々な表の行を順序づけることを示し、ブロック512は、所定の表内の所定の行内の様々なセルを順序づけることを示している。

0056

ブロック514は、文書内の行内に存在する所定のテキストラン(text run)の外接矩形を演算することを全体として示している。例えば、ブロック514は、外接矩形の長さ及び高さと共に当該矩形の左上角座標を演算することを含んでもよい。いくつかの実施例において、ブロック514は、テキストラン内のグリフを表すユニコード文字列を定義することを含んでもよい。外接矩形は、ピクセル表現されてもよく、テキストランが存在するページの左上に対して定義されてもよい。いくつかの実施例がこれらの外接矩形を演算し得るが、他の実施例は、テキストラン内の特定のグリフまたは文字の位置を演算し、クライアント側ビューアにこれらの位置を伝えてもよい。これらの後者の実施例は、個々の文字のレベルにおいて選択を可能とし得る。

0057

用語「テキストラン」は、共通の書式、共通のフォントまたは他の共通の特徴を共有する文字の並びをいう。テキストランは、上述の様々な特徴における変化を呈する文字によって破壊され得る。さらに、テキストランはテキストの所定の行内に存在し得るが、(いくつかの実施例において)段落内の2以上の行にわたることはない。

0058

ブロック516は、文書内のページ内に存在するハイパーリンクのソースの各々の外接矩形を演算することを示す。ハイパーリンクが文書の外部の対象を参照する場合、ブロック516はメタデータ内に対象のURLを含み得る。ハイパーリンクが所定の文書内の内部対象を参照する場合、ブロック516はメタデータ内に対象ページ番号及び対象の座標を含み得る。

0059

ブロック518は、テキストランにおける配置を行い段落内の行に関する情報を生成することを示している。さらに具体的には、ブロック518は、段落内に存在するテキストランの外接矩形を解析してどのテキストランが同一の行内にあるかを判定することを含んでいてもよい。ブロック518は、テキストランを行にまとめることを含んでいてもよい。なぜならば、通常のユーザは、文字のテキストランよりもテキストの行をさらに容易に理解するからである。

0060

文書プレビュー及び検索サービス128は、クライアント側ビューア(例えば118)による使用のために位置ベースのメタデータをクライアントシステムに提供する。例えば、このメタデータは、図3及び図4に示されている様に、ページ326及び/または420の一部として各々含まれ得る。以下のXMLは位置メタデータの例を提供するが、当該例はここにおける説明のためだけに提供され、本説明の可能な実施例を限定するものではない。

0061

0062

クライアントビューアに対するページのフォーマットに関する追加の詳細説明を提供するプロセスフロー500を説明してきたが、ここで説明は、クライアント側ビューアが応答する異なるタイプのユーザ命令のさらに詳細な説明に移る。本説明は、図6と共に行われる。

0063

図6は、全体として600で示されるプロセスフローを示しており、このプロセスフローは、クライアントビューアに提供されるコンテンツのユーザ選択への応答に関する追加の詳細説明を提供する。参照及び説明の容易化のために、可能な実施例を限定するわけではないが、図6は前の図の要素を引き継ぎ、それらを同一の参照符号で示す。例えば、図6は、クライアント側ビューア118を引き継いでいる。さらに具体的には、プロセスフロー600は、図4に示されているプロセスブロック404を詳しく説明している。

0064

プロセスフロー600をさらに詳しくみると、図5において説明されておりかつクライアント側ビューア118に提供される位置ベースのメタデータにより、ビューアが様々な異なるユーザ命令に応答することを可能とし得ることが、全体としてブロック404に示されている。例えば、ユーザはビューア内に表示されている特定のコンテンツを選択してもよく、このことは全体として602に示されている。このコンテンツは、ビューア内に示されるテキストの表示を含んでもよく、ビューア内に示される表、図、形状、画像その他のタイプのコンテンツの表示を含んでいてもよい。この選択動作602は、レンダリングされたコンテンツの所定のページ内のある位置においてユーザがクリック、またはポインタデバイスを動作させてコンテンツのある部分にわたってポイントドラッグすることでこのようなコンテンツのブロックを選択することを含んでもよい。選択動作602は、ページ内のコンテンツ(所定の単語、段落、表、画像等)上におけるユーザの複数回のクリックを含んでいてもよい。

0065

選択動作への応答において、ブロック604は、ページ内の選択動作が起きた位置を含むページ内のコンテンツを認識することを示す。この選択されたコンテンツの例には、上述のテキストラン、行、段落、形状、表、画像等を含み得る。例えば、所定のページ内のある位置おいてユーザがクリックした指示が受信されると、ブロック604は、このページに関する位置ベースのメタデータを検索して、ページ内の行及び/または段落内でこのクリックが行われたかどうかを判定し、クリックが行われていた場合、ユーザによってクリックされた行及び/または段落を識別することを含んでいてもよい。図5の説明を思い起こすと、ブロック514は、様々なテキストランの外接矩形を演算することを示しているので、ブロック604は、所定のクリックの座標を用いてこれらの外接矩形の表示を検索して、これらの座標がいずれかの外接矩形内に存在するどうかを判定することを含んでいてもよい。

0066

ブロック606は、例えばクリック−ドラッグ動作を使用してユーザによって選択されたコンテンツの行の座標を演算または認識することを全体として示している。例えば、所定のクリック動作が、位置ベースのメタデータ内に示されるテキストの行の外接矩形内に存在すると仮定した場合、ブロック606は、この外接矩形を定義する座標を認識することを含んでもよい。

0067

ブロック608は、ブロック606において演算された座標を有する選択矩形視覚表示を形成することを全体として示している。例えば、ブロック608は、適切な透明性のある背景(青色の背景)を用いて、選択されたコンテンツを強調することを含んでもよい。さらに具体的には、ブロック608は、選択矩形範囲を有するHTML「div」を生成して、選択されたコンテンツに背景を重ね合わせることを含んでいてもよい。この強調は、当該コンテンツが現時点で選択されていることをユーザに示すことができる。

0068

クライアントシステムに高忠実度コンテンツをレンダリングするためのプラグイン(例えば、SILVERLIGHT)がインストールされている実装例において、HTML「div」は、高忠実度レンダリングに関連付けられているコントロールに重ね合わせられてもよい。従って、ブロック604−608は、所定のクライアントシステムにプラグインがインストールされていてもされていなくとも、同様に動作し得る。

0069

ブロック610は、ブロック608において生成された選択矩形内のコンテンツに向けられるべきユーザ命令を待つことを全体として示している。限定しない例として、ユーザは、全体として612で示されているようにコピー命令を発行してもよい。この例示のコピー命令に応答して、プロセスフロー600は、ブロック614に進み得る。ブロック614は、選択されたコンテンツの1または複数の行内の任意のコンテンツを結合することを全体として示している(ユーザがコンテンツの複数の行をブロック選択したとする)。次に、ブロック616は、選択されたコンテンツをシステムクリップボードまたは他の適切なデータ構造にコピーする。ここにおいて、コンテンツは所定のアプリケーション内で切り取られ及び/またはコピーされるか、または異なるアプリケーション間で切り取られ及び/またはコピーされてもよい。

0070

図6のブロック404に戻ると、ブロック404は、全体として618で示されるコンテンツの所定のページ内のクリックまたは他の同等な動作を受信することも含む。このクリック動作618は、602で示されているクリック−ドラッグまたは他のブロック選択動作とは区別される。例えば、クリック動作618は、コンテンツのページ内でのシングルクリックを含んでもよい。

0071

判定ブロック620は、コンテンツのページ内で定義されているハイパーリンク上でユーザがクリックしたか否かを判定することを全体として示している。上記の図5の説明を思い起こすと、ブロック516は、コンテンツの所定のページ内の任意のハイパーリンクの外接矩形を演算することを示している。従って、ブロック620は、クリックの座標とページ内に存在するハイパーリンクの外接矩形の座標とを比較して、クリックがハイパーリンクの任意の外接矩形内であるかどうかを判定することを含んでもよい。

0072

コンテンツのあるブロックを選択するクリック−ドラッグ動作ではなくて、クリックがハイパーリンク上であった場合、プロセスフロー600は、ブロック608に示されている透明性のある背景を有する「強調」HTML divの生成をしなくともよい。別の例では、ユーザがハイパーリンク上をクリックしても、コンテンツのブロックを選択しても、選択過程全てが同様に動作する。いくつかの場合、ユーザはクリック−ドラッグを行って、ハイパーリンクのテキストを選択またはアクティブにする。

0073

判定ブロック620から、クリックがハイパーリンク上で行われたならば、プロセスフローは「はい」の分岐を選択して、位置ベースのメタデータ内のハイパーリンクによって指定されている対象を識別することを示すブロック624に進み得る。上述のように、ハイパーリンクの対象は、所定の文書の外部であってもよい(例えば外部URL)。さらに、ハイパーリンクの対象は所定の文書の内部であってもよい(例えば、所定のページ内の別の行へのリンク、他のページへのリンク等)。次に、ブロック626は、ハイパーリンクの内部または外部対象へ移動することを示している。

0074

判定ブロック620に戻ると、ユーザクリックがハイパーリンク上で行われなかった場合、プロセスフロー600は、「いいえ」の分岐628を選択してブロック630に進み得る。ブロック630は、ユーザがクリックしてポイントにコンテンツ内にテキストカーソルまたは他の同様のUI要素を置くことを含んでもよい。ブロック630から、プロセスフロー600は、ブロック610に進み、このシナリオにおいてキーボード操作または他の適切な過程によって入力される選択または移動動作であり得る次のユーザ命令またはユーザ動作を待ってもよい。

0075

図6においてユーザのコンテンツ選択への応答の追加的な態様を説明してきたが、ここで説明はクライアント側ビューアが応答し得る追加の命令の説明に進む。本説明は図7を用いて提供される。

0076

図7は、全体として700で示されるプロセスを示しており、このプロセスは、クライアント側ビューアが応答し得る追加の命令がある場合を示している。参照及び説明の容易化のために、可能な実施例を限定するわけではないが、図7は、以前の図から要素を引き継ぎ、これらは同様の参照符号で示されている。例えば、図7は、クライアント側ビューア118を引き継いでいる。さらに具体的には、プロセスフロー700は、図4に示されているプロセスブロック404をさらに詳しく説明している。

0077

プロセスフロー700をさらに詳しくみると、図7は、702に示されるように、ユーザが発見または検索命令(以下、「発見」命令という)をクライアント側ビューアに発行し得る例示のシナリオを示している。なお、プロセスフロー700は、検索エンジンウェブページから発せられた検索命令に応答して開始し得る。これらのプロセスフローは、電子メールアプリケーションによって発せられた検索命令に応答して開始してもよい。例えば、所定のユーザは、所定の検索文字列について自分の電子メールを検索したいと思うだろう。他の例において、企業環境内において、プロセスフロー700は、文書共有または文書提携環境内で発せられる検索または発見命令に応答して開始してもよい。

0078

発見命令は、全体として704で示される1または複数の検索語を参照することができる。発見命令に応答して、ブロック706は、入力検索語をクライアント側ビューアによってレンダリングされた所定のページ内のコンテンツと比較してもよい。例えば。ブロック706は、ページ内の異なる行について、ユニコードテキストに対する検索語の文字列比較を実行することを含んでいてもよい。次に、判定ブロック708が、入力した検索語がページコンテンツ内に存在するかを判定し得る。入力検索語がページコンテンツ内に存在しない場合、プロセスフロー700は、「いいえ」の分岐710を選択して、検索語が発見されなかったことを報告することを示しているブロック712に進み得る。

0079

判定ブロック708に戻ると、入力検索語がページコンテンツ内で少なくとも1つ存在した場合、プロセスフロー700は、「はい」の分岐714を選択して、マッチングしたページコンテンツの外接矩形を演算することを示しているブロック716に進む。図5の以前の説明を思い起こすと、ブロック514で演算された位置ベースのメタデータは、異なるテキストランの外接矩形を含み得る。これらのテキストラン内の文字が入力語とマッチングした場合において、ブロック716は、マッチングしたテキストに対応するメタデータから外接矩形を抽出することを含んでいてもよい。

0080

ブロック718は、所定のページコンテンツ内に存在するマッチングしたコンテンツを強調することを全体として示している。ブロック718は、図6のブロック608を用いて上述した技術を使用して、ページコンテンツのマッチングした部分に重ね合わせられる選択矩形を生成してもよい。

0081

クライアント側ビューアを対象とした様々なユーザ命令に応答することを示しているブロック404に戻ると、ユーザは、全体として720で示されている拡大命令を発行してもよい。拡大命令の受信に応答して、プロセスフロー700は、クライアント側ビューアを実行しているクライアントシステムに高忠実度コンテンツをレンダリングするプラグインがインストールされているかを判定することを示している判定ブロック722に進み得る。クライアント側ビューア118は、クライアントシステムに当該プラグインがインストールされていてもいなくとも、拡大機能を提供し得る。また、このビューアは、クライアントシステムにプラグインがインストールされているか否かに依存して、別の技術を使用して拡大機能を提供してもよい。

0082

判定ブロック722から、クライアントシステムにプラグインがインストールされている場合、プロセスフロー700は、「はい」の分岐724を選択して、当該プラグインによってサポートされている変形操作を使用した拡大機能の適用を全体として示しているブロック726に進み得る。例えば、当該プラグインがSILVERLIGHTブラウザプラグインであるとするならば、ブロック726はレンダリング変形XAML要素を用いてページキャンバス(canvas)のコンテンツに拡大変形を適用することを含んでもよい。しかし、これらの例は、例示のためにのみ提供され、様々なプラグイン及び当該プラグインによってサポートされる様々な変形動作を含み得る可能な実施例を限定するものではない。通常、プロセスフロー700は、クライアントシステムとサーバとの間の往復メッセージを必要とせずに、クライアントシステムにおいてローカルにこの機能を有効にすることができる。

0083

判定ブロック722に戻ると、クライアントシステムにプラグインがインストールされていない場合、プロセスフロー700は、「いいえ」の分岐728を選択して、ブラウザにサポートされている画像拡大縮小機能を使用して拡大操作を適用することを示すブロック730に進み得る。プラグインがインストールされているか否かにかかわらず、クライアント側ビューア118は、所定の範囲(例えば約33%から約400%)にわたる様々な異なるズームレベルを提供することができる。例示のシナリオにおいて、クライアント側ビューア118は、100%の拡大率でページコンテンツを表示してもよい。

0084

図6及び図7において上述の異なる命令の実施例を提供してきたが、これらの実施例は、例示であって、本質を限定するものではないことに留意する。さらに具体的には、この発明を実施するための形態の実施例は、本発明の範囲及び精神から逸脱することなく、これらの例において提供された命令以外の命令を含むことができる。

0085

図7のプロセスフロー700を説明してきたが、ここで説明は、クライアント側ビューアがクライアントシステムから離れて配置されているコンテンツ内の検索をクライアントシステムに可能とさせ得るプロセスフローの説明に移る。本説明は図8を用いて提供される。

0086

図8は、全体として800で示されている例示のプロセスフローを示しており、クライアント側ビューアにより、クライアントシステムが当該クライアントシステムから離れて配置されているコンテンツ内を検索することを可能とし得るプロセスフローを提供している。参照及び説明の容易化のために、可能な実施例を限定するわけではないが、図8は、以前の図の要素を引き継ぎ、それらを同様の参照符号で示している。例えば、図8は、クライアント側ビューア118、並びに文書プレビュー及び検索サービス128を引き継いでいる。さらに、本説明のために、可能な実施例を限定するわけではないが、図8の構成は、クライアント側ビューア並びに文書プレビュー及び検索サービスによって実行されるプロセスフロー800の特定の部分を示している。しかし、本発明の他のコンポーネントも、本発明の範囲及び精神から逸脱することなくプロセスフロー800の一部を実行可能である。

0087

プロセスフロー800をさらに詳しくみると、ブロック802は、クライアント側ビューアが1または複数の検索語を受信することを示している。ブロック802は、ユーザによって提供された検索語を受信することを含んでもよい(例えば、図1の104)。次に、ブロック804が、検索のために文書プレビュー及び検索サービス128に検索要求806を送信することを示している。この検索要求806は、1または複数の入力検索語808を含んでもよく、クライアントシステム上のレンダリングコンテンツ内で用いられる高忠実度フォーマット810を指定してもよい。

0088

文書プレビュー及び検索サービス128において、ブロック812は、入力検索語及びレンダリングフォーマットを受信することを示している。次に、ブロック814は、文書プレビュー及び検索サービスにアクセス可能な少なくとも1つのデータストアにおいて入力語を検索することを示す。以前の図1の説明を思い起こすと、文書プレビュー及び検索サービス128は、複数の文書134を含む文書ストア130を保持していてもよく、ブロック814は、1または複数のこのような文書ストア内において入力語を検索することを含んでもよい。

0089

ブロック816は、ブロック814において検索された1または複数の文書内に存在する入力検索語がどこにあるかを示す文書プレビューを生成することを全体として示している。ブロック816は、検索要求806内で指定されているレンダリングフォーマット810に基づいて文書プレビューを生成することを含んでいてもよい。以前の説明を思い起こすと、異なるシナリオにおいて、クライアント側ビューアを実行しているクライアントシステムに、当該ビューアにおけるコンテンツの高忠実度レンダリングをサポートするプラグインコンポーネントがインストールされていてもよく、インストールされていなくともよい。レンダリングフォーマット810は、クライアント側ビューアにプラグインがインストールされているか否かを示してもよい。

0090

ブロック816は、検索結果のリストを生成することを含んでもよいし、1または複数の文書内に検索結果が存在した場合の検索結果のプレビューを生成することを含んでもよい。さらに具体的には、ブロック816は、クライアント側ビューアにおいて特定のフォーマットでレンダリングされるプレビューを生成することを含んでもよい。プレビューの生成の一部として、ブロック816は、ヒットが存在する文書対して演算された位置ベースのメタデータを参照することを含んでもよい。次に、ブロック818は、全体として820で示される検索結果及び関連する文書プレビューを、クライアント側ビューアに送信することを全体として示す。文書に関する位置ベースのメタデータが、クライアント側ビューアにまだ送信されていない場合、検索結果及びプレビュー820は、クライアント側ビューアが使用するためにこのメタデータを含んでもよい。

0091

クライアント側ビューアにおいて、ブロック822は、検索結果及び文書プレビュー820を受信することを示している。クライアント側ビューアが、ヒットを含む文書の位置ベースのメタデータをまだ含んでいない場合、ブロック822は、検索結果及びプレビュー820をともなった当該メタデータを受信することを含んでいてもよい。

0092

ブロック824は、クライアント側ビューア内で検索結果を提示することを示し、ブロック826は、特定の検索語808を含んでいる1または複数の文書内に存在する「ヒット」のプレビューをレンダリングすることを示す。実施例において、検索結果は、文書内のどこに検索語が存在していたかを表すプレビューのそばに各々提供され得る。ブロック826は、文書内に配置されている検索語を強調することを含み得る。さらに、ブロック826は、最初のヒットが存在するページに文書内でスクロールすることを含んでもよい。

0093

ブロック828は、ブロック824及び826において示された検索結果及び/または文書プレビューに関するユーザからの命令を受信することを全体として示している。例えば、ユーザは、入力検索語の1または複数を含むと認識されている文書をクライアント側ビューア内で開くことを選択し得る。この例において、「ヒット」に適用される強調は、文書が開かれている際に維持されていてもよい。他の例の場合、ユーザは、検索結果及び/または文書プレビューにわたって移動またはスクロールしてもよい。これらの命令の例は、例示としてかつ本質を限定しないと理解され、本説明の実施例は他の命令を含んでもよい。

0094

ブロック830は、ブロック828において受信された命令を実行または遂行することを示している。いくつかの場合、ブロック830は、これらの命令を実行する際に位置ベースのメタデータを参照することを含んでもよい。例えば、ブロック830は、このメタデータを参照して、図8に示されている検索環境内において、図6及び図7に示されている任意の他の機能を実行してもよい。

0095

図8は、本説明のためにプロセスフロー800の1つの繰り返しを示しているが、このプロセスフローの実行は、異なる検索語に関して任意回数反復してもよいことに留意する。さらに、プロセスフロー800は、任意の数のクライアントシステム(例えば102)及び対応するクライアント側ビューア(例えば118)において実行されてもよい。

0096

本明細書において、本発明は、コンピュータの構造特徴方法論的動作及びコンピュータ可読媒体に関して説明してきたが、添付の特許請求の範囲において画定される本発明は、本明細書に記載されたこれらの特定の特徴、動作または媒体に必ずしも限定されないことが理解されるべきである。むしろ、これらの特定の特徴、動作及び媒体は、特許請求の範囲に記載の発明を実施する例として開示されている。

0097

上述の説明は、様々なプロセスを示すために1または複数のフローチャートまたはフロー図と組み合わせて提供され得る。これらのプロセスは、本発明の説明を容易にするためのみに、提供された順序において進行する様に示されており、これは可能な実施例を限定するものではない。さらに具体的に言えば、これらのプロセス、またはこれらのプロセスの構成要素は、本発明の範囲及び精神から逸脱することなく、本明細書において示された順序以外の順序で進行してもよい。

0098

上述の本発明は、例示のためのみに提供され、限定として解釈されるべきではない。様々な変形及び変更は、図示されて説明された例示の実施形態及び応用例に従うことなく、かつ添付の特許請求の範囲に記載される本発明の真の精神及び範囲から逸脱することなく、本明細書に記載された本発明になされ得る。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

この 技術と関連性が強い技術

該当するデータがありません

この 技術と関連性が強い法人

該当するデータがありません

この 技術と関連性が強い人物

該当するデータがありません

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ