(57)【要約】  種々のプラットフォームおよび機能バージョンにまたがった文書へのアクセスおよび協同作業が支援されるシステムが提供される。クライアント機器が、元のファイル形式に関係なく文書を表示し、表示された文書の修正を元の文書に再統合することを可能にする変換およびマージサービスが記載される。表示された文書（全体または一部）がインポートされ、元の文書のファイル形式に変換された後、変更を比較し、元の文書にマージすることができる。ハイライト、コメント、または書式設定などの特定の作業を行うアプリケーションプログラミングインターフェースのセットも提供される。
2016517051.tif 000002
【特許請求の範囲】
【請求項１】
機能の第１のバージョンを文書内で表示する工程と、
マージサービスを呼び出して、前記文書に行われた修正をマスター文書とマージすることを要求する工程であって、前記マスター文書は前記機能の第２のバージョンをサポートし、前記機能の前記第２のバージョンはクライアント機器でサポートされない、工程と
を含む方法。
【請求項２】
前記マージサービスを呼び出す工程が、修正要求と、段落識別子、行識別子、文字識別子、および部分識別子の少なくとも１つなどの場所の識別子とを送信する工程を含む、請求項１に記載の方法。
【請求項３】
前記修正要求は、前記マスター文書の前記場所の識別子で識別される場所に、ハイライト、コメントの付加、またはコンテンツの追加、削除、もしくは置き換えなどの１つまたは複数の特定の修正を行うことを求める要求を含み、
前記１つまたは複数の特定の修正を行うことを求める要求は、任意選択により、前記１つまたは複数の特定の修正の各々に対応するサービスを呼び出すことを含む、請求項２に記載の方法。
【請求項４】
前記マージサービスを呼び出す工程が、前記修正を有する前記文書を提供する工程を含む、請求項１に記載の方法。
【請求項５】
エディタに適した第１の形式で編集のために文書を表示する工程と、
マージサービスを呼び出して、前記文書に行われた修正をマスター文書とマージすることを要求する工程であって、前記マスター文書は前記第１の形式と異なる第２の形式をサポートする、工程と
を含む方法。
【請求項６】
前記マージサービスを呼び出す工程が、修正要求と、段落識別子、行識別子、文字識別子、または部分識別子などの場所の識別子とを送信する工程を含み、
前記修正要求は任意選択により、前記マスター文書の前記場所の識別子で識別される場所に、ハイライト、コメントの付加、またはコンテンツの追加、削除、もしくは置き換えなどの１つまたは複数の特定の修正を行うことを求める要求を含む、請求項５に記載の方法。
【請求項７】
前記マージサービスを呼び出す工程が、前記修正を有する前記文書を提供する工程を含む、請求項５に記載の方法。
【請求項８】
コンピューティング機器によって実行されると、
機能の第１のバージョンをサポートする編集済み文書に行われた修正を、前記機能の第２のバージョンをサポートするマスター文書とマージする要求を受け取るのに応答して、前記機能の前記第１のバージョンをサポートする前記編集済み文書に行われた修正を判定し、前記修正を、前記機能の前記第２のバージョンをサポートする前記マスター文書にマージする工程と、
第１の形式をサポートする編集済み文書に行われた修正を、前記第１の形式と異なる第２の形式をサポートするマスター文書とマージする要求を受け取るのに応答して、前記第１の形式をサポートする前記編集済み文書に行われた修正を判定し、前記修正を、前記第２の形式をサポートする前記マスター文書にマージする工程と
を含む方法を行う命令が記憶されているコンピュータ読取り可能記憶媒体。
【請求項９】
前記修正をマージする要求が、前記修正を有する前記文書を含み、前記修正を判定する工程が、前記文書の前記形式または機能バージョンを、前記マスター文書の形式または機能バージョンに変換し、変換後の文書と前記マスター文書との差分を判定する工程を含む、請求項８に記載の媒体。
【請求項１０】
前記修正をマージする要求が、前記マスター文書の特定の編集を求める要求を含む、請求項８に記載の媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
協同作業ソフトウェアの向上に伴って協同作業やファイルの共有が容易になりつつある。しかし、すべての機器が協同作成や協同作業に対応可能である訳ではない。機器の中には協同作業に対応できないものや、デジタルコンテンツにアクセスし、修正を加えるすべてのシステムが同じプログラムを実行することを必要とするものがある。人がデジタルコンテンツにアクセスし、共有し、協同作成する能力は、一部には、デジタルコンテンツを閲覧、修正し、その修正を伝搬させて別の者（または別のプラットフォームにある同じ人物）がアクセスした時にデジタルコンテンツの一部として修正を反映させることができるように、デジタルコンテンツの形式を認識する適切なソフトウェアプログラムとそのプログラムを実行することができる装置とを有するかどうかに依存する可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
種々のプラットフォームを使用した機器が普及するのに伴い、ある形式のコンテンツを、別の形式へのアクセスおよび表示だけが可能なプログラムや、機能の以前のバージョンでのみコンテンツの編集が可能なプログラムを実行している機器で共有、アクセス、および編集することが難しい場合がある。また、あるアプリケーションの新しいバージョンに新しい機能が追加されると、新しいバージョンは後方互換性に対応しなければならず、および／または将来のバージョンに対応するための拡張性を組み込まなければならない。
【課題を解決するための手段】
【０００３】
複数のエディタまたは機能の複数のバージョンを使用した協同作業を容易にする変換およびマージサービスが記載される。
【０００４】
一実施形態によると、変換およびマージサービスを行うシステムによってクライアントに提供される文書は、体験のセットおよびその内部にあるコンテンツである。文書は、システムから取り出すことが可能な場所に第１のファイル形式でマスター文書として記憶され、クライアントから要求されると、文書を適切なファイル形式に変換し、クライアントに提供することができる。提供される文書は、クライアントでサポートされる機能のバージョンも考慮することができる。
【０００５】
提供される文書は、クライアント機器で表示することができる。本発明のサービスは、文書の到達範囲を（各種プラットフォームにまたがる機器に）広げ、クライアント機器に適したその文書の体験を作り出す。文書は、各クライアントで全く同じに見える必要はない。代わりに、文書は、ユーザの体験のために、機器に合わせてカスタマイズすることができる。文書がクライアント機器で表示されると、ユーザはローカルに文書に修正を加えることができる。修正は、コンテンツの修正ならびに文書に関連付けられたデータの修正を含むことができる。例えば、注釈、コメント、テキストの編集、画像の編集、およびその他の修正を加えることができる。そしてユーザはその修正をサーバに戻して保存することができる。ユーザが修正を加えた文書が異なるファイル形式である場合、または機能のいくつかの異なるバージョンを含んでいる場合でも、サーバは修正をマージすることができる。
【０００６】
一態様によると、第１のファイル形式の文書を第１のファイル形式と異なる第２のファイル形式の文書に変換することができる変換サービスが提供される。別の態様によると、文書のコンテンツを１つのバージョンから別のバージョンに変換することができる変換サービスが提供される。さらに他の態様によると、この変換サービスは、クライアントの制約および能力に基づいて追加的な適合を提供することができる。さらに別の態様によると、種々のファイル形式またはバージョンの文書に行われた修正をマージするマージサービスが提供される。
【０００７】
変換サービスは、文書のコンテンツをその文書が閲覧される各クライアントに合わせてカスタマイズすることができ、マージサービスは、文書に行われた修正をマスター文書に再統合することを可能にする。マスター文書は、コンテンツと文書に行われた修正とを集約したものとすることができる。場合によっては、マスター文書は最も忠実度が高い文書として見える。そのため、忠実度がより低いエディタから行われた修正、または以前のバージョンの機能を使用して行われた修正がマスター文書に再統合される時に、マージサービスは忠実度の復元を行うことができる。
【０００８】
この概要は、以下の詳細な説明でさらに説明する概念の一部を簡略化した形で紹介するために提供した。この概要は、特許請求の主題の主要な特徴または必須の特徴を明らかにするものでも、特許請求の主題の範囲を限定するために使用すべきものでもない。
【図面の簡単な説明】
【０００９】
【図１】特定の実施形態を実施することができる動作環境の図である。
【図２】本発明の一実施形態によるエンドポイントの動作環境を示す図である。
【図３】本発明の一実施形態によるコンピューティング環境を示す図である。
【図４】本発明の一実施形態による変換およびマージサービスの例示的な処理フローを示す図である。
【図５Ａ】変換およびマージサービスの例示的なシナリオを説明する図である。
【図５Ｂ】変換およびマージサービスの例示的なシナリオを説明する図である。
【図５Ｃ】変換およびマージサービスの例示的なシナリオを説明する図である。
【図５Ｄ】変換およびマージサービスの例示的なシナリオを説明する図である。
【図６】本発明の一実施形態によるエディタによって実行される処理の図である。
【図７】本発明の一実施形態による複数のエディタを使用して文書の協同作業を行う方法の処理の流れ図である。
【図８】一部の実施形態で使用されるコンピューティング機器の構成要素を示すブロック図である。
【発明を実施するための形態】
【００１０】
各種のプラットフォームを介したアクセス可能性および協同作業を可能にするコンテンツアクセスサービスが開示される。コンテンツアクセスサービスを通じて、コンテンツを消費者に提供することができ、消費者は、そのコンテンツが実際には、自身の機器を介して通常使用または閲覧できるファイル形式と異なるファイル形式である可能性があることを意識せずに済む。特定の実施形態によると、ファイル形式の変化から消費者を隔離し、場合によっては、種々のプラットフォームからコンテンツを閲覧、アクセス、および修正する際の制約から隔離することができる。本明細書に記載される技術、インターフェース、および方法を使用することにより、ユーザ体験を、ファイルおよび形式から、シナリオに応じて作り出される体験に移行することを助けることができる。
【００１１】
電子文書は、一般に紙の文書に相当するデジタルの文書と理解され、文書エディタを用いて、コンテンツの作成、注釈付加、修正、そして近年では共有および協同作業を容易にすることができる。
【００１２】
修正は、コンテンツへの修正ならびに文書に関連するデータへの修正を含むことができる。例えば、コメント、文章の編集、画像の編集、およびその他の修正を加えることができる。ファイルへの修正は、内容を足す動作、内容を減らす動作、追加的なコンテンツやリッチコンテンツを提供する動作、コメントを追加する動作、および画像エディタ内で画像に修正を加える動作を含むことができる。
【００１３】
本発明の特定の実施形態は、「サービスとしての文書」という新しい特徴を文書に追加し、文書は、体験のセットとその内部にあるコンテンツを提供する。体験のセットは、変換およびマージサービスのうちコンテンツアクセスサービスを含むサービスのセットに相当する。変換サービスは、文書が閲覧されるクライアントごとに文書の内容をカスタマイズすることを可能にし、マージサービスは、文書に加えた修正をマスター文書と再統合することを可能にする。マスター文書は、コンテンツ、メタデータ、および文書に加えられた修正（コンテンツの修正およびメタデータの修正を含む）を集約したものである。場合によっては、マスター文書は最も忠実度が高い文書として見える。
【００１４】
そのため、より忠実度が低いエディタから行われた修正、または機能の以前のバージョンを使用して行われた修正がマスター文書に再統合される時に、本サービスは忠実度の復元を行うことができる。
【００１５】
忠実度の復元とは、機能の以前のバージョン、すなわち機能性がより少ないエディタを有するファイル形式で修正されたコンテンツを取得し、そのコンテンツを、完全な機能性を持つ最新の機能バージョンに戻すことを言う。一例として、リッチな図表（3Dの図表など）を有する第１のバージョンと、図表を静的な画像としてしか解釈することができない第２のバージョンの２つのバージョンのグラフ機能を仮定すると、第２のバージョンをサポートするエディタでコンテンツが編集された後に、静的な画像を復元して、第１のバージョンをサポートするエディタで閲覧／編集するための３Ｄの図表に戻すことができる。例えば、第１のバージョンは機能の将来または後のバージョンであり、第２のバージョンは同じ機能の以前のバージョンまたはより古いバージョンである。他の場合には、両方のバージョンが同時に公開されるが、利用可能な機能性を意図的に異ならせる場合がある。
【００１６】
マスター文書は文書と呼ばれるが、マスター文書は、コンテンツと最新の編集機能を追跡するのに適した任意の形式で記憶することができる。
【００１７】
上記のサービスを通じて、消費者機器は、クライアント側ソフトウェアや消費機器に複雑性を増すことなく、各種プラットフォームからコンテンツにアクセスし、修正を加えることができる。
【００１８】
ファイル形式（文書または他のコンテンツおよび関連情報についての）とは、ファイルのコンテンツ（および場合によってはそれに関連付けられた情報）に関連する情報が符号化され、コンピュータ読取り可能媒体に記憶される方式を言う。「ファイルタイプ」は「ファイル形式」と同義で使用される場合があるが、一般にはファイル形式の分類法を指す。例えば、ファイルタイプは文書のファイルタイプであり、文書のファイルタイプには、ハイパーテキストマークアップ言語（HTML）、ＡＤＯＢＥポータブル文書フォーマット（PDF）、ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ文書（DOC）、オフィスオープン拡張可能マークアップ言語（OOXML）形式（DOCX）等のファイル形式が含まれる。ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤはＭｉｃｒｏｓｏｆｔ社の登録商標であり、ＡＤＯＢＥ  ＰＤＦはＡｄｏｂｅ  Ｓｙｓｔｅｍｓ社の登録商標である。
【００１９】
本明細書で使用される場合、「消費形式」は、特定の機器またはソフトウェアプログラムでサポートされるファイル形式を言う（例えば「サポートされるファイル形式」）。サポートされるファイル形式であることに加えて、消費形式は、機器（またはプログラム）が種々に変化させたユーザ体験をどのように支援するかに関連する、ファイルサイズ、機能性等に関連する特性を含むことができる。
【００２０】
サービスとしての文書の枠組みに戻ると、変換およびマージサービスを含むコンテンツアクセスサービスは、クラウドサービス体験の一部として提供することができる。そのようにして、ある形式でコンテンツを作成した後、そのコンテンツの消費者にシームレスな体験をもたらすような形でどのプラットフォームからでもそのコンテンツにアクセスし、編集することができる。
【００２１】
図１は、特定の実施形態を実施することが可能な動作環境の図である。
【００２２】
図１を参照すると、動作環境は１つまたは複数のクラウドサービスまたはウェブサービスを含むことができる。本明細書に記載されるコンテンツアクセスサービス１００は、クラウドサービスまたはウェブサービスとすることができる。
【００２３】
クラウドサービスとは、一般に、拡大縮小性のある処理および記憶能力を提供する、ホストされたサービスを言う。クラウドコンピューティングはしばしば仮想化されたリソースを含むことがある。クライアントコンピューティングによって与えられるリソースはそれ自体がサービスとして提供され、クライアントコンピューティングの消費者は、物理的な基盤設備を所有する第３者の提供者からリソースの使用を代価を支払って借りる。
【００２４】
クラウドサービスによってウェブサービスが提供および／またはホストされる場合がある（例えば大規模な分散コンピューティング環境の一部として）。ウェブサービスは、ネットワークを通じた相互動作可能なマシン間対話を支援し、ソフトウェアが他のソフトウェアアプリケーションに接続することを可能にするソフトウェアシステムである。
【００２５】
ウェブサービスは、技術標準およびプロトコルの集まりを提供する。例えば、ウェブサービスは、メッセージを送受信するソフトウェアまたはハードウェアエージェントによって実装することが可能なファンクションを提供する（例えば、コンピューティングプラットフォームが特定のサービスを要求し、提供する）。アプリケーションは、ハイパーテキスト転送プロトコル（HTTP）、ＸＭＬ、ＪａｖａＳｃｒｉｐｔオブジェクト表記（JSON）、およびＳＯＡＰ（元々は「simple object access protocol」の頭字語）などの広く使用されるウェブプロトコルおよびデータ形式を介してウェブサービスにアクセスすることができる。
【００２６】
Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ（REST）プロトコルは、名前付けされたリソースにアクセスする場合に有用であり、本発明の特定の実施形態で使用することができる。本発明の他の実施形態ではＳＯＡＰを利用することができる。場合によっては、Ｍｉｃｒｏｓｏｆｔ社のＦｉｌｅ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｓｅｒｖｉｃｅ  ｖｉａ  ＳＯＡＰ  ｏｖｅｒ  ＨＴＴＰ（FSSHTTP）を使用することもできる。
【００２７】
コンテンツアクセスサービス１００は、ネットワークを介して通信する１つまたは複数の物理的なサーバおよび／または仮想的なサーバを使用して実装することができる。ネットワークは、これらに限定されないが、セルラーネットワーク（例えばワイヤレス電話）、２地点間ダイヤルアップ接続、衛星ネットワーク、インターネット、ローカルエリアネットワーク（LAN）、ワイドエリアネットワーク（WAN）、ＷｉＦｉネットワーク、アドホックネットワーク、またはそれらの組み合わせを含むことができる。そのようなネットワークは、ハブ、ブリッジ、ルータ、スイッチ、サーバ、およびゲートウェイなどの各種ネットワーク要素を接続するために広く使用されている。ネットワークは、インターネットなどの公衆ネットワーク、および／またはセキュリティ保護された企業の私設ネットワークなどの私設ネットワークを含む、１つまたは複数の接続されたネットワーク（例えばマルチネットワーク環境）を含むことができる。ネットワークへのアクセスは、当業者に理解されるように、１つまたは複数の有線または無線のアクセスネットワークを介して提供することができる。
【００２８】
コンテンツアクセスサービス１００はインポート／変換部１０２および表現／変換部１０４を含むことができる。各種供給元１０６からの文書をコンテンツアクセスサービス１００にインポートすることができる。インポート／変換部１０２は、コンテンツをリーダに要求される特定の形式にすることに関する制約を軽減または解消することにより、自費出版を容易にすることができる。例えば、作成者が指定されたファイル形式で作業することを必要とすることなく、書店あるいは他の保管場所または店舗への自費出版を実現することができる。作成者がより容易に自身の作品を出版できるようにすることにより、リーダのユーザはより多くのコンテンツを利用することができる。
【００２９】
「リーダ」とは、主として電子書籍（e-book）および／または他の電子コンテンツを読むことを目的として設計されたソフトウェアアプリケーションおよび／または電子機器を指す。リーダは、しばしば、注釈の付加、ハイライト、ブックマーク、および書き込みなどの少なくともいくつかの基本的な編集能力を含む。
【００３０】
ソフトウェアの電子書籍リーダ（またはeリーダ）の例には、Ｇｏｏｇｌｅ社のＧＯＯＧＬＥ  ＲＥＡＤＥＲアプリケーション、Ａｐｐｌｅ社のＡＰＰＬＥ  ｉＢＯＯＫＳアプリケーション、Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ社のＡＤＯＢＥ  ＡＣＲＯＢＡＴ  ＥＢＯＯＫ  ＲＥＡＤＥＲアプリケーション、およびＭｉｃｒｏｓｏｆｔ社のＭＩＣＲＯＳＯＦＴ  ＲＥＡＤＥＲアプリケーションがある。ハードウェアの電子書籍リーダ（またはeリーダ）の例には、Ａｍａｚｏｎ．ｃｏｍ社のＡＭＡＺＯＮ  ＫＩＮＤＬＥブランドのｅリーダ、およびＢａｒｎｅｓ＆Ｎｏｂｌｅ社から入手可能なＢＡＲＮＥＳ  ＡＮＤ  ＮＯＢＬＥ  ＮＯＯＫブランドのｅリーダタブレットがある。電子書籍は、電子書籍リーダで読むことができる、テキストおよび／または画像を用いたデジタル形態の出版物である。コンテンツを作成し、出版するために使用される電子書籍およびデジタルコンテンツの形式には、ｅｌｅｃｔｒｏｎｉｃ  ｐｕｂｌｉｃａｔｉｏｎ（ePub）、ＨＴＭＬ、ＰＤＦ、プリンタコマンド言語（PCL）、および拡張可能マークアップ言語（XML）など各種の形式が存在する。
【００３１】
場合によっては、（例えばインポート／変換部１０２を通じて）インポートされた文書を、クラウド（１０８）の一部として記憶する、または記憶されたように見せることができる（アドレスまたはユニフォームリソース識別子を記憶させることにより）。コンテンツアクセスサービス１００は、ストレージ１０８に対する操作に依拠するか、または特定の操作を別のサービス（ストレージ１０８に直接または間接的にアクセスすることができる）に委託することができる。
【００３２】
文書ファイルは、コンテンツアクセスサービス１００からエクスポートすることができる。エクスポートの前に、リーダ１１０、プリンタ１１２、第３者のサイト１１４、および２次変換サービス１１６などのエンドポイントで、インポートされた文書の１つなどの文書ファイルを消費のために各種形式に変換することができる（例えば、表示、対話、修正、または印刷やさらなる変換を含む追加的な動作のために表現する）。
【００３３】
エンドポイントとは、消費者がサービスにアクセスするための手段を指し、すなわち対話の入口点である。各種実施形態によると、エンドポイントのカスタマイズが提供され、それにより到達範囲を広げ、コンテンツが消費される方式を機器に基づいて変える。
【００３４】
エンドポイントは、１つまたは複数の消費者機器である場合がある。
【００３５】
消費者機器とは、サービスまたは供給元から取得または購入したデータや文書を消費する（すなわち閲覧／閲読、編集、または注釈の付加を行うために使用する）ために使用されるコンピューティング機器を言う。消費者機器は、電子書籍を読むために使用される主に単一目的のコンピューティング機器（しばしば「リーダ」と呼ばれる）である場合も、電子書籍や他の電子／デジタルコンテンツを読むためのリーダまたはビューワソフトウェアが提供される多目的のコンピューティング機器である場合もある。
【００３６】
「ビューワ」とは、特定のプログラムに関連付けられた形式またはファイルタイプで文書やデータを表示する、または表示しているように見せることが可能なソフトウェアまたはハードウェアのアプリケーションを言う。特定のファイル形式用のビューワは、その特定のファイル形式を理解し、ファイルの視覚化を提示することができる。通例、あるファイル形式の「ビューワ」は、そのファイル形式を高忠実度で視覚的に提示して、作者の当初の意図を保つ能力を持つことが想定される。「リーダ」はビューワの一種であり、ページのめくりを動画として提供する、最後に読んだ場所を記憶する、単語を調べるための辞書を提供する等、主として「読む」体験に関連する機能性を含む。
【００３７】
本発明のサービスは、（各種プラットフォームを介した機器への）文書の到達範囲を広げ、クライアント機器に適したその文書の体験を作り出す。文書は、各クライアントで全く同じに見える必要はない。代わりに、文書は、ユーザの体験のために、機器に合わせてカスタマイズすることができる。
【００３８】
機器を把握することにより、システムはカスタマイズされたファイルの書式設定を（例えばサービス１００を通じて）提供することができる。
【００３９】
例示的なシナリオとして、ＮＯＯＫリーダまたはＫＩＮＤＬＥリーダのユーザは、その機器を使用して、読むために利用可能なコンテンツを探すことができる。サービス１００は、使用されている機器を判定し、それに応じてコンテンツの提示を調整することができる。例えば、ＮＯＯＫリーダにはｅＰｕｂ２またはｅＰｕｂ３形式を送信し、ＫＩＮＤＬＥリーダにはＡＺＷ形式を送信することができる。
【００４０】
カスタマイズされたファイルが機器に送信されると、ファイルは（サービス１００を介して）サーバに戻して保存することができる。例えば、クライアントに提供されたファイルに対して特定の動作（NOOKリーダ、KINDLEリーダ、またはエディタアプリケーションを実行しているタブレット上で注釈を付加したり編集したりするなどの修正）を行うことができ、その修正をファイルのマスター文書にマージすることができる。
【００４１】
さらに他の実施形態では、ユーザも把握することにより（例えば、ユーザが機器から自身のアカウントにログインする時等にユーザから識別子を受け取ることによる）、システムはさらに、ユーザが自身の機器が扱うことができるバージョンやファイル形式を気にすることなく、多種の機器からネットワークを通じて自身のファイルにアクセスできるようにすることができる（例えばサービス１００を通じて）。ユーザが自身のファイルにアクセスできるようにすることに加えて、ユーザを把握することにより、本システムは、ユーザに関連付けられた作業に関連する文書内で特定のコンテンツを提示するファイルをカスタマイズすることができる。例えば、ユーザがある段落を校閲する作業を課されている場合は、その段落を、その文書にアクセスすることが可能なすべてのユーザではなく、識別された当該ユーザに提供することができる。
【００４２】
エンドポイントは、サービス１００との間の通信に２つの広いカテゴリを有することができる。一つは双方向のリッチな体験であり、もう一方はより制限された体験である。どちらの場合でも、本発明の実施形態を使用することにより、エンドポイントはファイル形式の変換を扱う必要がなく、すべての形式を表現することができ、またはコンテンツを協同作成するための層を含むことができる。
【００４３】
様々なリッチ度のエンドポイントを本発明の各種実施形態によって支援することができる。本明細書で使用される場合、「リッチ度」とは、アプリケーションで利用可能な体験と、それが特定のコンテンツおよび機能性をユーザに与える能力の範囲を言う。例えば、最もリッチ度の高い消費体験は、コンテンツの編集と操作が可能な完全な機能を持つアプリケーションをサポートする機器（例えばエンドポイントエディタ１１８）を通じて得ることができる。より制限された体験には、コンテンツを編集および操作するためのいくらかの機能性が維持されたバイトサイズのオーサリングツール（例えば制限のあるエンドポイントエディタ１２０）が含まれる。制限のある体験（または「軽量の編集」）と完全な機能を持つエディタ（または「重い編集」）との差は、軽量の編集では注釈の付加とコメントの付加だけがサポートされる場合がある点である。
【００４４】
コンテンツが閲覧されるリーダ（例えば消費者機器１２２）は、一定範囲のサポートされるリッチ度を有することができる。すべてのエディタの種類ならびに機能のバージョンをサポートすることができる。
【００４５】
アクセスサービス１００によって提供される変換およびマージサービスは、クライアント機器または別のサーバ（例えばリーダ１１０や消費機器１２２、エンドポイントエディタ１１８、制限のある消費エンドポイントエディタ１２０）から直接要求することができる。実施形態によっては、サーバ（図２に関して説明するものなど）または第３者のサイト（例えば１１４）もしくは２次変換サービス（例えば１１６）がクライアント機器に代わってサービス１００にアクセスすることができる。プリンタ１１２も、変換およびマージサービス１００から直接、または別のクライアント機器を通じて、コンテンツを受け取ることができる。
【００４６】
エンドポイントエディタ１１８がウェブサービス（例えばサービス１００）と通信することができるフレームワークの１つは、ＦＳＳＨＴＴＰアプリケーションプログラミングインターフェース（API）を使用して、クライアントアプリケーションが、サーバで実行されている文書およびファイル管理および協同作業プログラムと効率的に変更を同期できるようにするフレームワークを介するものであり、そのようなフレームワークにはＭＩＣＲＯＳＯＦＴ  ＳＨＡＲＥＰＯＩＮＴウェブアプリケーションプラットフォームなどがある。ＦＳＳＨＴＴＰプロトコルのクライアント側は通過型（pass-through）である。例えば、アプリケーション層などの上位層プロトコルによって行われた呼び出しは直接トランスポート層に渡され、トランスポート層から返された結果は、直接上位層プロトコルまたはアプリケーションに渡される。
【００４７】
ＡＰＩは一般に、２つ以上のアプリケーションが相互と通信することを可能にするためのプログラミング命令および標準のセットであり、通例は、ＨＴＴＰ要求メッセージのセットおよび応答メッセージのための指定された形式または構造として実装される。メッセージは情報リソースを含むことができる。リソースは、ユニフォームリソース識別子（URI）で識別することができる情報であり、ファイル、動的に生成されるクエリ結果、共通ゲートウェイインターフェース（CGI）スクリプトの出力、数種の言語で利用できる文書等である。
【００４８】
変換およびマージサービス１００は、より広いクラウドサービス１３０ならびにウェブアプリケーションコンポーネント（WAC）１３２に関連付けることができる。ＷＡＣは、ユーザがブラウザ内で文書を閲覧、編集することを可能にするコンポーネントである。ＷＡＣは、コンテンツを消費および編集することによりエンドポイントとして機能すると共に、多少のマージおよび変換サービスの機能性を提供することによりサービスとしても機能することができる。そのような実施形態では、ユーザは、基盤設備およびプラットフォームを管理するクラウド上にあるアプリケーションソフトウェアおよびデータベースにアクセスすることができる。エンドユーザは、ブラウザまたはアプリ（スマートフォンやタブレットなどのモバイル機器向けに設計されたアプリケーション）を通じて、クラウドにホストされたソフトウェアアプリケーションにアクセスすることができる。一例を図２を参照して説明する。
【００４９】
図２は、本発明の一実施形態によるエンドポイントの動作環境を示す。図２を参照すると、クライアント２１０とサーバ２２０がネットワーク２３０を介して通信する。
【００５０】
ネットワーク２３０は、インターネット、イントラネット、またはエクストラネットであり、これらに限定されないが、セルラー（例えばワイヤレス電話）ネットワーク、インターネット、ローカルエリアネットワーク（LAN）、ワイドエリアネットワーク（WAN）、ＷｉＦｉネットワーク、アドホックネットワーク、またはそれらの組み合わせを含む適切な通信ネットワークを用いることができる。
【００５１】
上記のように、そのようなネットワークは、ハブ、ブリッジ、ルータ、スイッチ、サーバ、およびゲートウェイなどのネットワーク要素の接続を伴う場合がある。ネットワーク２３０は、インターネットなどの公衆ネットワーク、および／またはセキュリティ保護された企業の私設ネットワークなどの私設ネットワークを含む、１つまたは複数の接続されたネットワーク（例えばマルチネットワーク環境）を含むことができる。ネットワーク２３０へのアクセスは、当業者に理解されるように、１つまたは複数の有線または無線のアクセスネットワーク（図示せず）を介して提供することができる。
【００５２】
クライアント２１０およびサーバ２２０は、１つまたは複数の中央演算処理装置（CPU）、メモリ、大容量記憶装置、およびＩ／Ｏ装置（例えばネットワークインターフェース、ユーザ入力装置）を備えて構成されたコンピューティングシステムを伴う場合がある。コンピューティングシステムの要素はバスを介して相互と通信することができる。コンピューティングシステムのハードウェアプラットフォームは多くの形態で実施することができ、それらには、これらに限定されないが、パーソナルコンピュータ、サーバコンピュータ、手持ち型またはラップトップ機器、マルチプロセッサシステム、マイクロプロセッサを使用したシステム、プログラム可能な消費者電子製品、上記のシステムおよび機器を含む分散コンピューティング環境（例えばクラウド型のコンピューティングシステム）（分散環境では、アプリケーション機能性、メモリ、データの記憶および検索、ならびに各種の処理ファンクションを、インターネットやイントラネットなどの分散コンピューティングネットワークを通じて相互から遠隔から操作することができる）が含まれる。
【００５３】
特定の実施形態では、クライアント２１０は、これらに限定されないが、パーソナルコンピュータ、タブレット、リーダ、モバイル機器、携帯情報端末（PDA）、スマートフォン、ラップトップ（またはノートブックもしくはネットブック）コンピュータ、ゲーム装置もしくはゲーム機、デスクトップコンピュータ、またはスマートテレビを含むコンピューティング機器として実施することができる。
【００５４】
特定の実施形態では、サーバ２２０は、これらに限定されないが、サーバコンピュータ、企業コンピュータ、パーソナルコンピュータ、マルチプロセッサシステム、マイクロプロセッサを使用したシステム、およびそれらの組み合わせを含むコンピューティング機器として実施することができる。クライアントコンピューティング機器およびサーバコンピューティング機器の上記一覧は制限的なものではなく、クライアントとサーバは同じ形態で実施される場合も、異なる形態で実施される場合もあることを理解されたい。
【００５５】
クライアントコンピューティング機器２１０は、オペレーティングシステム２１１と、図示する実施形態では、文書処理もしくはエディタアプリケーション２１２、ウェブブラウザアプリケーション２１３、および／または１つまたは複数の他のアプリケーションなどの１つまたは複数のアプリケーションプログラムとを実行するように構成される。
【００５６】
オペレーティングシステム２１１は、クライアントコンピューティング機器２１０の動作を制御するコンピュータプログラムである。アプリケーションプログラムは、オペレーティングシステム２１１の上で実行されて、本明細書に記載される機能などの各種機能性を提供するように構成された実行可能プログラムである。文書処理アプリケーションは、一般にはタイプ入力、編集、書式設定、保存、印刷、およびコメントの付加を助けるように構成されたアプリケーションプログラムである。エディタアプリケーションは、編集または注釈付加のツールを提供する任意のアプリケーションであり、Ｍｉｃｒｏｓｏｆｔ社から入手可能なＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ、Ｇｏｏｇｌｅ社から入手可能なＧＯＯＧＬＥ  ＤＯＣＳ、Ａｐａｃｈｅ  Ｓｏｆｔｗａｒｅ  Ｆｏｕｎｄａｔｉｏｎから入手可能なＡＰＡＣＨＥ  ＯＰＥＮＯＦＦＩＣＥ、またはＺｏｈｏ社から入手可能なＺＯＨＯ  ＯＦＦＩＣＥなどの文書処理アプリケーションまたは他の生産性アプリケーションである。
【００５７】
生産性アプリケーションには、これらに限定されないが、文書処理プログラム、協同作業プログラム、プレゼンテーションプログラム、表計算プログラム、および物語／ノート取りプログラムが含まれる。
【００５８】
ウェブブラウザアプリケーション２１３は、ワールドワイドウェブ（「Web」）上の情報リソース、ならびにネットワーク２３０を介して私設ネットワーク上のウェブサーバによって提供されるリソースを検索し、リソース内を移動し、その情報リソースをユーザに提示する（例えば表示のために表現する）アプリケーションプログラムである。さらに、ウェブブラウザアプリケーション２１３は、ユーザがサーバから提供される情報および各種ファンクションにアクセスすることを可能にする。
【００５９】
図のサーバコンピュータ２２０は、サーバオペレーティングシステム２２１、サーバ文書処理もしくはエディタアプリケーション２２２、および／または１つまたは複数の他のアプリケーションなどの１つまたは複数のアプリケーションプログラムを実行するように構成されている。サーバ２２０はサービスをホストしている場合もある（かつ、図１で説明したWACなどのＷＡＣ１３２を内蔵する）。
【００６０】
サーバオペレーティングシステム２２１は、サーバコンピュータ２２０の動作を制御するコンピュータプログラムであり、アプリケーションプログラムは、サーバオペレーティングシステム２２１の上で実行されて本明細書に記載の各種機能性を提供するように構成された実行可能プログラムである。サーバ文書処理またはエディタアプリケーション２２２は、実施形態によっては、上記の文書処理またはエディタアプリケーション２１２と同様に構成されたウェブベースのアプリケーションプログラムである。サーバ文書処理またはエディタアプリケーション２２２は、文書処理またはエディタアプリケーション２１２と全く同じ機能性を提供することができる。
【００６１】
実施形態によっては、サーバコンピュータ２２０はサーバ文書処理またはエディタアプリケーション２２２を実行するように構成され、クライアントコンピューティング機器２１０は、クライアント／サーバ構成でサーバコンピュータ２２０にアクセスしてサーバ文書処理またはエディタアプリケーション２２２と対話するように構成される。
【００６２】
クライアント−サーバ関係にあるコンピューティング機器間の通信は、クライアントがサーバに要求を送信して、特定のリソースへのアクセスまたは行いたい特定の作業を要求することによって開始することができる。その後、サーバは、要求された動作を行い、クライアントに応答を送り返すことができる。
【００６３】
一実施形態では、ウェブベースの文書処理またはエディタアプリケーション１２２にアクセスするために、クライアントのウェブブラウザアプリケーション２１３を使用してサーバ、例えばサーバ２２０に接続する。
【００６４】
クライアント２１０およびサーバ２２０は、ネットワーク２３０を通じて変換およびマージサービス２４０にアクセスすることができる。クライアント２１０およびサーバ２２０で実行されるアプリケーションは、ＨＴＴＰ、ＸＭＬ、ＪＳＯＮおよびＳＯＡＰ、またはＦＳＳＨＴＴＰプロトコルなどの広く使用されるウェブプロトコルおよびデータ形式を介してサービス２４０にアクセスすることができる。
【００６５】
図３は本発明の一実施形態によるコンピューティング環境を示す。図３に示すように、ユーザ３００のコンピューティング環境は、複数のクライアント３１０（デスクトップ３１１、ラップトップ３１２、スマートフォン３１３、タブレット３１４、リーダ（図示せず）、ゲーム機（図示せず）、スマートテレビ（図示せず）等）、およびネットワーク３３０を通じて接続されたサーバ３２０を含むことができる。
【００６６】
図２のネットワーク２３０に関して上述したように、ネットワーク３３０は、インターネット、イントラネット、またはエクストラネットであり、これらに限定されないが、セルラー（例えばワイヤレス電話）ネットワーク、インターネット、ローカルエリアネットワーク（LAN）、ワイドエリアネットワーク（WAN）、ＷｉＦｉネットワーク、アドホックネットワーク、またはそれらの組み合わせを含む適切な通信ネットワークを用いることができる。
【００６７】
クライアント３１０およびサーバ３２０は、クライアント２２０およびサーバ２３０に関して説明したように構成されたコンピューティングシステムを伴う場合がある。
【００６８】
各クライアント３１０は、コンテンツアクセスサービスを通じてサーバ３２０から提供された文書（およびそのコンテンツ）３４０を閲覧および編集（および／または注釈を付加）するためのソフトウェアアプリケーションを含むことができる。
【００６９】
ユーザ３００は、複数のクライアント３１０（例えば職場のデスクトップコンピュータ３１１、自宅のラップトップ３１２、および携帯電話／スマートフォン３１３）を有することができ、それらのクライアント３１０で実行されるソフトウェアの電子書籍リーダまたは文書ビューワまたはエディタを使用して、サーバ３２０から取得した電子書籍およびその他のデジタルコンテンツを読み、コンテンツを編集したり、注釈を付加したりすることができる。
【００７０】
サーバ３２０は、（コンテンツアクセスサービスの一部として）変換サービスおよびマージサービスを提供するように構成されたハードウェア機器および／またはソフトウェアプログラムである。変換サービスで、ユーザは、そのコンテンツにアクセスするためにユーザが使用している特定のクライアント３１０で直接サポートされないファイル形式である可能性のあるコンテンツ（ユーザ自身のコンテンツである場合もある）にアクセスすることができ、マージサービスは、ユーザ３００によって行われた変更をデータベース３５０に記憶されたマスター文書３４５に再統合する。
【００７１】
サーバ３２０によって提供されるサービス（またはファンクション）の１つまたは複数は、クラウドコンピューティング環境で実行することができる。また、サーバ３２０は、ＡＰＩを通じて公開されるアプリケーションを含む（および／またはサービスをホストする）ことができる。
【００７２】
特定の実施形態によると、クライアント３１０またはデータベース（データベース３５０など）から文書をインポートすることができる、サーバ３２０を含むシステムを提供することができる。インポートされた文書をマスター文書３４５と見なすか、またはインポートした文書からマスター文書３４５を作成し、例えばサーバ３２０に関連付けられたデータベース３５０に記憶することができる。
【００７３】
サーバ３２０は文書３４５を変換して、消費者機器（例えばデスクトップ３１１、ラップトップ３１２、スマートフォン３１３、タブレット３１４、リーダ（図示せず）、ゲーム機（図示せず）等）に適した形式にすることができる。
【００７４】
ユーザ３００は、各機器（例えば３１１、３１２、３１３、３１４）から適切なバージョンのマスター文書３４５（例えば文書３４０の形態）にアクセスすることができる。例えば、文書３４０はどの機器およびプラットフォームからでも表示することができる。例えばラップトップ３１２上であるプログラム内で文書３４０を作業しているユーザ３００が、文書と共に変更を保存することができる。文書を保存するとマージサービスを呼び出すことができる。例えば、図５Ｂ〜図５Ｄに示すように、文書全体（図５Ｂ）、変更（デルタ）（図５Ｃ）、または特定の修正（図５Ｄ）をマスター文書にマージするためにサーバに戻すことができる。
【００７５】
実際の物理的なファイルはクラウドに（データベース３５０などのクラウドストレージの一部として）記憶される場合も、されない場合もある。ファイルは、サーバもしくはコンピュータ、またはネットワークを介して本サービスからアクセスできる任意の記憶場所に記憶することができる。マスター文書（または他のインポートされたファイル）は、アドレス指定することが可能なファイルの集まりとしてサーバ３２０に記憶することができ、要求があるとファイルをインポートし、変換することができる。
【００７６】
クライアント機器（ラップトップ３１６など）にある別のユーザ３６０、またはタブレット３１４などの第２の機器にある第１のユーザ３００が文書３４０を開くことができ、それらユーザの体験は、文書３４０が機器３１６（または第１のユーザ３００が文書にアクセスしている第２の機器３１４）内で作業することが可能な文書になるというものになる。そして、機器３１６を使用している第２のユーザ３６０（または第２の機器の第１のユーザ３００）が編集後に文書を保存し、サービスが変更をマージする。
【００７７】
各実施形態によると、各クライアント３１０は、そのクライアントに適した形式で記憶されたファイルを所有していると認識する。ファイルを開き、データにアクセスするために、クライアントでファイルを変更する必要はない。例えば、アプリケーションは予期したように文書を開くことができ、クライアントが適切なファイル形式を受け取るかどうかはサーバが対応する。クライアント３１０で、ユーザ（３００、３６０）は、予想されたプロセスに従って文書を開き、変更し、保存する。サーバはエンドポイントの制約を理解しており、適切な形式を機器に提供する。
【００７８】
サーバ３２０と消費者／クライアント機器３１０は、システムがクライアント３１０で利用可能な機器またはソフトウェアの種類を把握し、それに応じてユーザ体験を調整するような形で通信する。
【００７９】
サーバ３２０は、エンドポイントのユーザエージェント／クライアントの特性を識別するように構成することができる。この識別は、エンドポイント（例えばクライアント３１０）からサーバ３２０に送られる能動的な通知または暗黙的な通知に基づいて行うことができる。サーバ３２０はさらに、クライアント体験だけでなく持続的な体験（例えばマスター文書の記憶されたコピー）を調整するように構成することができる。
【００８０】
特定の実施形態によると、提供される文書３４０は、より小さい（または大きい）ディスプレイサイズに対応するようにリフロー（reflow）されるだけでなく、追加的な適合も行うことができる。
【００８１】
リフローとは、制限のあるディスプレイまたはウィンドウに合わせてコンテンツの閲覧を適合させることを言い、テキストは読みやすいように元の大きさに保たれるが、画像は一目で見ることができるように大きさを縮小する。
【００８２】
追加的な適合の一例として、高解像度の機器には高解像度のコンテンツ（フォームファクタが高いほどより多くのオブジェクトを受け取ることができる）を提供し、対して電話機は（例えば文書に含まれる１２メガピクセルバージョンのピクチャの代わりに）低解像度の画像を受け取ることができる。また、タッチ対応型の機器には、文書にタッチに応答する機能を付加することができる。さらにカスタマイズされたエンドポイントサービスも提供することができ（例えばAPIを通じて公開される）、そのようなサービスには、これらに限定されないが、文書へのコメント付加やワークフロー要素（作業項目など）の追加を可能にするサービスが含まれる。セキュリティ設定および著作権の管理もクライアントに合わせて調整することができる。例えば、古いバージョンまたは任意のファイル形式がクライアントに提供される場合には、読み取り専用で機能するように文書を提供して、忠実度の低いバージョンで保存する場合の破壊性を最小に抑えるが、文書をマスターとは別のコピーとして保存することができるようにする。
【００８３】
提供される文書３４０を、特定の消費者機器で表現するのに適した形式にする（さらにはカスタマイズする）だけでなく、文書３４０に行われた修正をマスター文書３４５と再統合することができる。サーバ３２０は、クライアントで利用可能な機器および／またはソフトウェアの種類を把握することにより、修正を再統合することができる。例えば、各クライアント機器が異なるプラットフォーム（およびファイル形式）を使用する場合、サーバ３２０は、変換で失われる可能性のある忠実性を把握し、変更が行われた場合はサーバで変更を再構築することができる。
【００８４】
同様に、各クライアント機器がある機能の異なるバージョンを使用している場合、サーバ３４０は使用されているバージョンを把握し、それに応じて調整することができる。機能には、これらに限定されないが、テキスト、図表、数式、テキスト効果、およびグラフィック（MICROSOFT SMARTARTグラフィックを含む）、デジタルコンテンツ（映像を含む）、参考文献スタイル、スレッド形式のコメント付加、スペルチェック、辞書、言語を操作および編集するためのユーティリティ、ならびにグラフィックを操作および編集するためのユーティリティが含まれる。
【００８５】
本発明のサービスは後方互換性および前方互換性を提供することができる。
【００８６】
例えば、最近のバージョンのＭＩＣＲＯＳＯＦＴ  ＷＯＲＤの文書を、以前のバージョンのＭＩＣＲＯＳＯＦＴ  ＷＯＲＤを実行しているクライアントに提供することができ、クライアントは以前のバージョンへの変換を行う必要がない。さらに、（忠実度の低いバージョンを再保存することに伴う問題を回避するために）読み取り専用のバージョンを提供する代わりに、以前のバージョンを実行しているクライアントで文書を編集することができる。これは、サーバが、その以前のバージョンが完全な忠実度のバージョンに対してどのような破壊性があるか（および高忠実度のコンテンツの代わりに使用されている画像が表す内容）を把握しており、サーバ上でデータを再構築する（すなわち忠実度の復元を行う）ことができるためである。
【００８７】
コンテンツが提供された形態と、そのファイルが特定のファイル形式にある時にファイルに対して実施され得る特定の制約および動作をサーバが把握しているため、忠実度の復元をサーバで行うことができる。
【００８８】
図４は、本発明の一実施形態による変換およびマージサービスの例示的な処理フローを示す。図４を参照すると、動作（４０２）でサーバがマージ要求を受信すると、その要求および文書を提供することができる。サーバは、その文書が新しい文書であるか、またはシステムに存在するかを判定することができる（４０４）。文書が新しい文書（または新しいコピー）である場合、システムは文書からマスターを作成することができる（４０６）。マスターは、その文書とする（同じファイル形式および機能バージョンを使用する）か、または文書を特定のファイル形式および機能バージョンに変換することによりマスター文書を作成することができる。
【００８９】
マスター文書を作成することにより、特定の実施形態ではユーザに対して「サービスとしての文書」の体験を作り出すことができる。詳細には、マスター文書は、マスター文書を構成するコンテンツと共に、作成者およびその他の者が文書に対して行うことができる動作のセットを含む。カスタマイズされた体験を消費者にもたらすことができ、コンテンツを編集する能力をサービスの一部として公開することができる。
【００９０】
動作（４０４）に戻ると、（例えばシステムにすでにマスター文書が存在するために）文書が新しい文書ではないと判定された場合、サーバは、文書がマスター文書と同じファイル形式であるか、異なるファイル形式であるかを判定することができる（４０８）。ファイル形式が異なると判定されると、サーバは、文書のファイル形式をマスター文書のファイル形式またはシステムによって理解される他の形式に変換し（４１０）、次いで、文書とマスター文書間の差分を自動的に判定し（４１２）、差分（デルタ）をマージしてマスターを更新することができる（４１４）。デルタをマスター文書にマージすることにより、ある機器のユーザが文書に何らかの動作を行い、その変更を文書に関連付けることが可能になり、文書にアクセスした次の人物（または第２の機器にある同じ人物）は、その第２の人物（または第２の機器）が受け取る文書にそれらの変更が反映されているのを見ることができる。
【００９１】
動作（４０８）に戻ると、ファイル形式が同じである場合は、その文書でサポートされる機能バージョンがマスターでサポートされる機能バージョンと同じであるかどうかを判定することができる（４１６）。機能バージョンが異なると判定されると、サーバは、文書とマスター間の機能に関係しない差分（デルタ）を判定し（４１８）、判定されたデルタを使用して、忠実性を失うことなくマスターを更新することができる（４２０）。
【００９２】
ファイル形式および／または機能バージョンを判定することにより、ある文書を別の文書に変換する、またはあるバージョンのコンテンツを別のバージョンに変換するために、ファイル全体とファイル内のコンテンツを分析することができる。文書とマスターの間にファイル形式および機能バージョンの違いがない場合は、マスターで差分を自動的に更新する（４２２）か、マスターを当該文書に置き換えることができる。
【００９３】
図５Ａ〜図５Ｄは、変換およびマージサービスの例示的なシナリオを示す。図５Ａを参照すると、変換サービス５０５はデータベース５１０にある文書にアクセスし、その文書を、サポートされるファイル形式で、例えば表示された文書５２０としてクライアントに提供することができる。表示された文書５２０のコンテンツの実際の形式（データベース５１０に記憶されている）は、これらに限定されないが、ＰＤＦ、ＤＯＣ、ＤＯＣＸ、およびｅＰｕｂを含む可能性があるが、変換サービス５０５は、クライアントでサポートされる形式で、さらにはエンドポイントのためにカスタマイズしてコンテンツを提供することができる。
【００９４】
実施形態は、ユーザが閲覧（または編集）のために文書を選択する時点まで文書が実際にはその形式またはバージョンで存在しない場合でも、文書が特定のクライアントに必要とされる形式であるかのようにユーザに提示されるシステムを提供する。サーバに記憶されたすべてのファイルをあらゆる種類のファイル形式に予め変換しておくのではなく、ユーザから要求があると、文書に対応する特定の形式が送付される。
【００９５】
各実施形態は、コンテンツを消費することができる到達範囲を広げ、そのコンテンツが提供される機器（またはクライアント）に適したコンテンツの体験を作り出すことができる。本サービスは、機器および能力を解釈して、その特定の機器でコンテンツを閲覧するのに望ましい方式、または適切な方式を判定することができる。サービスが考慮することが可能な機能には、これらに限定されないが、ディスプレイの寸法、機器のユーザ入力能力、ネットワーク接続の速度および／または帯域幅、ならびにオペレーティングシステムおよびアプリケーションの制約が含まれる。
【００９６】
例えば、文書によっては、ラップトップでは良好に表示されるが、電話機やタブレットなどの小さな画面では使用性が落ちるものがある。クライアントの種類を判定することにより（クライアントに適した消費形式を判定するなど）、サービスは、機器（またはソフトウェア）に基づいて消費体験を変えることができる。
【００９７】
クライアントで、サービス５１０から提供された文書５２０が編集される可能性がある。この例では、編集された文書５２５を再度マスター文書とマージして、異なるエディタおよび機能バージョンにまたがる協同作業を容易にすることができる。マージサービスを提供するには、協同作業およびマージサービスのための一般的なＡＰＩまたは複数のＡＰＩを使用することができる。ＡＰＩを使用すると、クライアントは複数のプラットフォームにまたがって文書への変更をマージすることができる。また、本サービスは、例えば独自の形式や新しい形式が開発される場合など、認識可能なファイル形式への中間変換が行われる場合のある状況では、サードパーティのアダプタに合わせて拡張可能にすることができる。
【００９８】
図５Ｂ〜図５Ｄは、編集後の文書５２５を再度マスター文書とマージする各種シナリオを示す。
【００９９】
図５Ｂは、修正５３０が行われた文書全体がマージサービス５４０に提供される場合を示す。図５Ｂを参照すると、一般的なＡＰＩを使用することができる。一実施形態では、クライアントが変更と共に文書全体を（文書５３０として）サーバ（例えばサービス５４０）に送信することができる。サービス５３０は文書５３０を解釈し、差分を判定し、そして自動的にマージする。マージは、編集された文書がマスター文書と異なるファイル形式である場合にも行うことができる。文書５３０はサービス５４０により特定の形式に変換して、マージを容易にすることができる。
【０１００】
図５Ｃは、文書５２０と編集された文書５２５との差分（デルタ５５０）が（一般ＡＰＩを介して）マージサービス５６０に提供される場合を示す。サービス５６０はデルタ５５０を解釈し、自動的にマージする。マージは、編集された文書がマスター文書と異なるファイル形式である場合にも行うことができる。
【０１０１】
図５Ｄは複数のＡＰＩが使用される場合を示す。ＡＰＩは、コンテンツをマージするための軽量のオプションの一部としてバンドルすることができる。ＡＰＩは、個々の修正ファンクションとすることができ、これらに限定されないが、ハイライトのＡＰＩ、フォントのＡＰＩ、段落のＡＰＩ、スタイルのＡＰＩ、翻訳のＡＰＩ、数式のＡＰＩ、表を作成または編集するＡＰＩ、画像を挿入、作成、または編集するＡＰＩ、色のＡＰＩ、コメントのＡＰＩ等を含むことができる。それらのＡＰＩの１つまたは複数が、特定のクライアントで利用できる可能性がある。
【０１０２】
例えば、クライアントがハイライトのＡＰＩを呼び出し、段落識別子またはテキストを渡し、サービスがハイライト処理を行う。クライアントがコメントのＡＰＩを呼び出し、コメントを挿入する文章、段落、または単語を、コメントとして挿入したいテキストと共に提供することができる。機器は文書のファイル形式を理解する必要はない。例えば、文書はＤＯＣＸファイルとして記憶することができるが、クライアントはその文書をＰＤＦファイルまたはｅＰＵＢファイルとして閲覧（および編集）する。
【０１０３】
別の実施形態によると、クライアントがコメントのＡＰＩを呼び出し、コメントのＡＰＩがコメント付加サービスを提供することができる。コメント付加サービスは（例えばコメントのAPIを介して）、制限のあるエンドポイントが、完全な文書にマージするために文書の場所に関するコメントをサービスに送信できるようにする。コメント付加サービスは、コメントおよびそのコメントが関連付けられた文書の場所を示す指示を受け取り、コメントを含むように完全な文書に修正を加えることができる。
【０１０４】
図５Ｄに示す例では、編集後の文書は、第１の段落のハイライト、第３段落のテキストの修正、および文書に関連付けられたメタデータに追加された署名を含んでいる。ハイライトＡＰＩの場合、クライアントは、ハイライトＡＰＩを呼び出し、段落識別子５７０をハイライトサービス５７５に渡すことができる。誤記を修正するには、クライアントは、場所の識別子（例えば第３段落の第１文）および置き換え用のテキスト５８０をテキスト編集サービス５８５に渡すことができる。署名を追加するには、クライアントは、場所の識別子（例えばメタデータ）および署名５９０を署名サービス５９５に渡すことができる。
【０１０５】
場所の識別子には、これらに限定されないが、文書内の段落を識別する段落識別子、文書内の行を識別する行識別子、文書内の文字を識別する文字識別子、および文書の部分を識別する部分識別子が含まれる。部分識別子は、文書コンテンツ、コメントコンテンツ、スタイルコンテンツ等、文書の部分間の違いを区別する場所の識別を提供することができる。部分識別子で識別される文書の部分は、文書内で構造的に表されたコンテンツとすることもできる。一実施形態では、部分の識別子は、関連付けられたメタデータで構造的マークアップを通じて修正されている文書部分を識別する。構造的に表されたコンテンツの一例を以下に示す。
ここから１つの段落。
<fill-in region>ユーザが編集してから
サーバに送り返してマージすることができる何らかのコンテンツ</fill-in region>
次の段落。
【０１０６】
コンテンツコントロールの外観を有する上記の例では、ユーザにより修正を加えることが可能なコンテンツは、識別された「fill-in region」のマークアップの間の段落内に置かれる。実施形態によっては、修正が行われる文書の部分は、文書内の構造的マークアップを通じて、例えば「fill-in region」として識別することができる。
【０１０７】
実施形態によっては、テキストを渡し、テキストを受け取って指定の書式設定を追加することができるＡＰＩを呼び出すことにより、プレーンテキストのファイル形式をサポートするクライアントからのコンテンツが、本サービスを通じてファイルにリッチコンテンツを付加することができる。同様に、メタデータにコンテンツを追加するサービスを呼び出すことにより、メタデータにコンテンツを追加することができる。
【０１０８】
図６は、本発明の一実施形態によるエディタによって実行される処理の図である。エディタとは、テキスト、画像、または音声を編集するためのツールを備えたクライアント（ハードウェアまたはソフトウェア）を指す。エディタは、例えば文書処理アプリケーションを含む生産性アプリケーションである。
【０１０９】
図６を参照すると、動作（６０２）で、エディタが文書を要求することができる。この要求は、クラウドデータベース６０４にあるファイルを開く要求とすることができる。文書はエディタでサポートされるファイル形式と同じファイル形式であるとは限らないので、文書の要求で、変換サービスを提供するアクセスサービス６０８を呼び出すことができる。アクセスサービス６０８はデータベース６０４から文書を取得し、文書を変換して、エディタに適したファイル形式にすることができる。動作（６０８）で、エディタが、変換された文書をアクセスサービス６０６から受け取り、受け取った文書を表示のために表現することができる。
【０１１０】
データベース６０４から取得される文書は、マスター文書である場合もある。エディタが使用される過程で、ユーザが受け取った文書に修正を加える可能性がある。受け取った文書に修正が加えられると（６１０）、マージサービスを呼び出すことによりその修正をマスター文書にマージすることができる（６１２）。
【０１１１】
マージサービスを呼び出すと（６１２）、アクセスサービス６１４のマージサービスが呼び出される。マージサービスの呼び出しは、ユーザから保存の指令を受け取るのに応答して行うことができる。別の実施形態では、マージサービスの呼び出しはワークフローの一部として行うことができる。例えば、マージサービスの呼び出しは、システムから行われる自動的な保存など特定のイベントによって行わせることができる。
【０１１２】
任意選択により、検証処理（６１６、６１８）を含めることにより、ユーザの識別に基づく文書および／またはアクセスサービスへのアクセスを提供することができる。例えば、ＯＡＴＨトークンを使用して、サインインしたユーザをアクセスサービスに対して確認することができる（６０６、６１４）。トークンは、エディタからクラウドデータベースおよび／またはアクセスサービスに送信され、それによりユーザを認証し、文書にアクセスすることができる。
【０１１３】
さらに他の実施形態では、識別マネジャを利用して、本サービスがユーザの識別およびユーザが関心を持つ文書を把握するのを助けることができる。ユーザの識別を把握することにより、本サービスは、複数の機器（例えばユーザのコンピュータ、ラップトップ、タブレット、スマートフォン、電子書籍リーダ等）にまたがってユーザのコンテンツ（例えば文書）を取得し、サービス（例えば、Dropbox社のDROPBOXサービスやMicrosoft社のMICROSOFT SKYDRIVEなどのファイルホスティングサービス）をユーザに代わって取得することができる。
【０１１４】
また、文書が提供されるクライアントを把握することにより、システムは、ある形式で文書を取り出し、文書を変換して、ユーザに使用されているクライアントに合わせてカスタマイズされた形式にすることができる。例えば、ユーザがＭＩＣＲＯＳＯＦＴ  ＷＯＲＤで文書の作業をしており、自身の電子書籍リーダからその文書にアクセスしたいとする。そのような場合、本サービスは、ユーザが電子書籍リーダから利用可能なファイルを閲覧する時に、ユーザにその文書を提示することができる（それにより例えばユーザは電子書籍リーダでその文書を読むことができる）。これにより、現在（文書を適切な形式に変換するために）ユーザが文書を電子書籍リーダに送信するために必要な工程を不要にすることができる。
【０１１５】
ファイルは、リーダ機器でアプリを開くと利用可能な状態になる。アプリには、そのリーダで実行することが可能な文書のハブを関連付けることができる。別の実施形態では、ユーザが本発明の特定の実施形態のアクセスサービスから文書にアクセスできるように、Ｋｉｎｄｌｅリーダ向けにＡｍａｚｏｎ．ｃｏｍによって提供されるサービスなど、リーダによって提供されるサービスが、拡張層を介してユーザの体験を組み込むことができる。
【０１１６】
一実施形態によると、ユーザは、単に文書で作業し、文書（または文書のアドレス）を保存し、ファイルを閉じることができる。識別マネジャがユーザの識別を把握し、したがって文書を利用可能にする対象プラットフォームを把握することにより、文書は、同じクライアントまたは別のクライアントから再度アクセスされた時に適切な形式でユーザに提示される。
【０１１７】
図７は、本発明の一実施形態による複数のエディタを使用して文書の協同作業を行う方法の処理の流れ図を示す。協同作業の方法は、アクセスサービスによって管理されるマスター文書７００に基づくことができる。第１のエディタ（エディタ１）が動作（７１０）でアクセスサービスに文書７００を要求することができる。マスター文書７００は、アクセスサービスに関連付けられたデータベースに記憶されるか、またはアクセスサービスに知られている場所から取得することができる。この例では、第１のエディタはｅＰｕｂ形式をサポートするリーダであり、マスター文書はＤＯＣＸ形式であるとする。アクセスサービスは、第１のエディタに適した形式を判定し（７１５）、文書を第１のエディタに提供する（７２０）ことができる。第１のエディタはｅＰｕｂ形式をサポートしており、マスター文書のＤＯＣＸ形式はサポートしていないので、本サービスは、ｅＰｕｂ形式で第１のエディタに文書を提供することができる。
【０１１８】
第１のエディタはｅＰｕｂ形式の文書を受信し（７２５）、文書を表示する（７３０）ことができる。第１のエディタのユーザは、例えばコメントを含めることにより、ｅＰｕｂ文書に修正を加える（７３０）ことができる。保存の指令（または他の指定された条件）が発生すると、第１のエディタがアクセスサービスにマージを要求することができる（７４０）。この要求は、修正が加えられたｅＰｕｂ文書全体（例えば文書とコメント）、または修正の場所の識別子および修正内容（例えばコメントの場所と、コメントとして付加するテキスト）を含むことができる。
【０１１９】
アクセスサービスはマージ要求を受け取り（７４５）、修正をマスター文書にマージする動作を行う（７５０）ことができる。マスター文書は元の形式およびバージョンを保つことができる。
【０１２０】
第２のエディタがアクセスサービスに文書を要求する（７５５）。この例では、第２のエディタは、「ＤＯＣＸ」のファイル拡張子を、マスター文書とは異なる機能バージョンでサポートするコンピューティング機器である。例示として、マスター文書はバージョン５であるが、第２のエディタはバージョン１であるとする。動作（７６０）に進み、アクセスサービスは、第２のエディタに適した形式を判定し、文書を第２のエディタに提供することができる（７６５）。第２のエディタはＤＯＣＸ（機能バージョン１）形式の文書を受け取り（７７０）、文書を表示する（７７５）ことができる。第２のエディタのユーザが文書に修正を加えることができる（７８０）。保存の指令（または他の指定された条件）が発生すると、第１のエディタはアクセスサービスにマージを要求することができる（７８５）。
【０１２１】
アクセスサービスはマージ要求を受け取り（７９０）、修正をマスター文書にマージする動作を行うことができる（７９５）。修正は、両方のバージョンでサポートされる機能を使用したコンテンツの一部に対する修正である可能性がある。第２のエディタは古いバージョンのＤＯＣＸをサポートしているが、新しい方のバージョンはサポートしていないので、本サービスを使用することにより新しい方のバージョンへの忠実度の復元を実行することができ、新しい機能を使用したコンテンツがマージによって破壊されることはない。
【０１２２】
修正が、両方のバージョンにサポートされていない機能を使用してコンテンツの一部分に行われた場合は、ユーザに代わって行われる変更やユーザの決定に応答して行われる変更など、任意の適切な方法で衝突を解消することができる。例えば、場合によっては、修正をどのように取り込むか、どこに取り込むか、および修正を取り込むかどうかに関して、サービスによる決定を行うことができる。決定で決定を行うことができない（または決定を行うように設定されていない）場合、本サービスは、すべての衝突および可能性を見る選択肢を１つまたは複数の機器に与えることができる。そして、衝突を解決するための選択肢をユーザが選ぶことができる。
【０１２３】
アクセスサービスは、複数のエディタが同じファイルを閲覧、編集することを可能にする。さらに、第２のエディタと第１のエディタは、両者ともマスター文書にアクセスしているが、異なるプラットフォームから文書にアクセスしている。
【０１２４】
以下の例示的なシナリオは、本発明の特定の実施形態およびその多くの効果をよりよく理解できるように提示されるものである。以下の例示的なシナリオは、単に本発明の実施形態の応用例および変形例のいくつかを例示するものである。言うまでもなく、本発明を限定するものとは決して解釈すべきでない。
【０１２５】
例示的シナリオＡ
ＫＩＮＤＬＥリーダまたはＮＯＯＫリーダのユーザが文書を読んでおり、コメントの付加、誤記の修正、ハイライト、または何らかの他の修正や注釈を行うことにより、文書に寄与したいとする。そのようなリーダは、基本的にはエディタではないものの多少の編集能力を有する。そのため、本発明の特定の実施形態では、ユーザが例えば注釈の付加や編集能力などのリーダの能力を利用し、その後修正を文書にマージすることができる。各機器またはアプリケーションが協同作成能力を備えなければならないのではなく、「サービスとしての文書」のマージサービスは、異種のプラットフォームからでも編集／コンテンツを自動的に文書に再マージすることができる。
【０１２６】
一実施形態では、マージは、リーダが同期動作（ユーザが、実現される最も遠い場所からデジタルコンテンツを取得しながら、複数の機器からデジタルコンテンツを読めるようにするため等に使用される）を行う時に実現することができる。そのような一事例では、同期サービスへの位置を更新する呼び出しの際に、文書に行われた修正を本発明の一実施形態の変換およびマージサービスに送信することができる。
【０１２７】
別の実施形態では、例えばユーザが文書の保存を選択した時など、ユーザが能動的な工程を行うと、リーダが変換およびマージサービスを呼び出すことができる。さらに別の実施形態では、自動保存機能を使用して変更を保存することができる。
【０１２８】
クライアントは、協同作成を理解し実行することができる層を含む必要がないため、機器はより「低能力（dumb）」になることができ、または機器のリソースを他のアプリケーションやファンクションに振り向けることができる。
【０１２９】
例示的シナリオＢ
Ｍｉｃｒｏｓｏｆｔ社から入手可能なＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ文書および文書処理ソフトウェアの最近のバージョンに対応するＤＯＣＸ形式で文書が作成されるが、作者は、ｅＰｕｂファイル形式を使用する可能性のあるＮＯＯＫリーダや、独自開発のＡＺＷおよびＫＦ８形式を使用する可能性のあるＡＭＡＺＯＮ  ＫＩＮＤＬＥリーダなどのリーダでその文書を閲覧し、場合によってはコメントの付加や編集を行いたいとする。本サービスを使用することにより、作者はＮＯＯＫリーダまたはＫＩＮＤＬＥリーダに適した形式で文書にアクセスし、例えばいくつかのコメントを追加することにより、文書に変更を加えることができる。コメントはマスターファイルに再度保存することができ、この場合のマスターファイルはＤＯＣＸファイル形式である。
【０１３０】
例示的シナリオＣ
現在は、文書を作成する際に使用されたバージョンと異なるバージョンでＭＩＣＲＯＳＯＦＴ  ＷＯＲＤの文書ファイルを開くと、文書にすべての機能は表示されない場合がある。例えば、特定のフォントや書式設定が変化し、例えば脚注能力や一部のマクロなどのリッチな機能または複雑な機能が表示されない場合がある。場合によっては、ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ９７（「DOC」のファイル形式拡張子を使用する）とＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ２０１０（「DOCX」のファイル形式拡張子を使用する）などの場合のように、バージョンが変わるとファイル形式も変わる。他の場合には、バージョンが変わると、ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ２００７とＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ２０１０の場合のように、追加的な機能性および／または機能が提供される。
【０１３１】
それに比べると、文書が古いバージョンで作成された後により新しいバージョンで開かれる場合は問題は少ないが、後のバージョンでは機能が消える、完全にサポートされないなどのエラーが生じる可能性がある。文書を開くために使用されるバージョンと異なるバージョンで作成された文書を表示することに伴う問題に加えて、後のバージョンで作成された文書が以前のバージョンで開かれ、保存される場合には、文書を後のバージョンで開き直しても後のバージョンの機能が失われる場合がある。例えば、ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ２０１０文書処理アプリケーションは、グラフィックを作成および操作する機能を備えている。ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ２０１０で凝ったグラフィックを使用して文書を作成したが、文書の最初のページのテキストの誤記を修正するためにＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ９７で開き、その後保存した場合、保存された文書は古い方のバージョン（ファイル形式拡張子「DOC」）に戻り、凝ったグラフィックが失われてしまう。１つの単語が変更されたために、文書全体が古いバージョンのグラフィック画像に戻ってしまう。
【０１３２】
特定の実施形態によると、ユーザが古いバージョン内で意図した変更を認識して、新しい機能を維持するような方式で新しいバージョンでサポートされる文書にマージすることができる。
【０１３３】
例示的シナリオＤ
コンテンツアクセスサービスを使用することにより、既存製品の古いバージョンに合わせてコンテンツを調整することができる。例えば、ユーザ（最も新しいプログラムを実行している、またはその逆）が受け取るファイルはエンドポイントに基づいて調整することができるので、ユーザは、ソフトウェアアプリケーションの最新バージョンへのアップグレードを遅らせる、または古い／新しいファイル形式の拡張子を読むために次のバージョンが後方互換性を備えることを要求することができる。
【０１３４】
例えば、ＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ２０１３を実行しているクライアントは利用可能なすべての機能を含む完全なビューを受け取ることができるが、同じ文書がＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ２００７を実行しているクライアントから開かれる時には、本サービスは、消費ビューのためのコンテンツをＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ２００７向けに最適化してパッケージすることができる。最適化は、特定の機能を該当する忠実度の機能に置き換えることを含むことができる。一例として、あるバージョンで提供される数式エディタは後方互換性がない場合がある。したがって、本サービスは、文書パッケージ中の数式を、その数式の画像、または当該文書が提供されるバージョンに適した数式エディタで編集可能な形態に置き換えることができる。
【０１３５】
文書処理アプリケーションを含む他の生産性アプリケーションでも同様の体験を提供することができる。例えば、ＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ２０１３を実行しているクライアントは利用可能なすべての機能を含む完全なビューを受け取ることができるが、同じ文書が、Ｇｏｏｇｌｅ社から入手可能なＧＯＯＧＬＥ  ＤＯＣＳソフトウェア、  Ａｐａｃｈｅ  Ｓｏｆｔｗａｒｅ  Ｆｏｕｎｄａｔｉｏｎから入手可能なＡＰＡＣＨＥ  ＯＰＥＮＯＦＦＩＣＥ、Ｚｏｈｏ社から入手可能なＺＯＨＯ  ＯＦＦＩＣＥなどの別の生産性アプリケーションを実行しているクライアントから開かれる時には、本サービスは、消費ビューのためのコンテンツをＧＯＯＧＬＥ  ＤＯＣＳ、ＯＰＥＮＯＦＦＩＣＥ、またはＺＯＨＯ  ＯＦＦＩＣＥ向けに最適化してパッケージすることができる。
【０１３６】
例示的シナリオＥ
マスターファイルは最も忠実度が高い形式で記憶することができる。例えば、マスター文書は最新バージョンのＭＩＣＲＯＳＯＦＴ  ＷＯＲＤで記憶される場合がある。以前のバージョンのＭＩＣＲＯＳＯＦＴ  ＷＯＲＤを実行しているクライアントには、ＤＯＣＸ形式ではなくＤＯＣ形式のファイルを提供することができる。ユーザがＤＯＣ文書に変更を加え、文書を保存する（自動保存の一部として、または能動的な工程により）と、ＤＯＣ文書に行われた変更はＤＯＣＸ形式で再度マスターファイルに保存される。一実施形態では、サーバでＤＯＣ文書全体がＤＯＣＸ形式に復元される。別の実施形態では、ユーザによって修正された部分だけ（単に、クライアントにDOCファイルを提供する時にコンテンツに加えられた違いの一部ではなく）が保存時にサーバに戻される。そして、その部分を完全な忠実度の文書に再度関連付けることができる。
【０１３７】
例示的シナリオＦ
実施形態は、同一製品の異なるバージョン間の前方互換性および後方互換性を容易にすることができる。現在、ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤプログラムで保存されるファイルは複数の対象に対して保存される。例えば、数式用の更新後の機能バージョンがファイル中で使用され、そのファイルが保存される時には、元の数式データが保存され（それにより編集のために対応する忠実度で再度読み出すことができる）、また数式のピクチャが保存されることにより、以前のバージョンのワードプロセッサで数式エディタがサポートされていなくても数式がどのように見えるかを表示することができる。古いバージョンは、新しいバージョンでどのようにして完全な忠実度を取り戻させるかについての情報を含むことができる。例えば、古いバージョンは表示モードにあり、編集が可能でない場合がある。
【０１３８】
ワードプロセッサの各バージョンは、将来のバージョンが機能の完全な忠実度を取り戻せるように、特定の機能をどのようにラウンドトリップ（round-trip）するかについての情報を含んでいる。ラウンドトリップとは、文書があるバージョンから別のバージョンになり、その後元のバージョンに戻ることを言う。例えば、機能ＡがバージョンＸであるが、バージョンＹでは機能Ａは機能Ａ’として表現される。機能Ａ’がバージョンＸから閲覧またはアクセスされると、機能はＡに戻る。この仕組みでは、以前のバージョンがその機能をどのようにラウンドトリップするかに基づいてレベルを下げた互換性を作り出すことを将来のバージョンに強制すると共に、場合によっては追加的なデータの保存を必要とする。
【０１３９】
本発明の実施形態は、各種機能をどのようにラウンドトリップするかを各バージョンに把握させることを強制しないか、または最小に抑えると共に、複数のバージョンをサポートするために保存されるデータ量を減らす。実施形態は、古いバージョンの製品が同じ製品の新しいバージョンからコンテンツを読み込み、維持することを可能にする。
【０１４０】
例示的シナリオＧ
リッチテキストフォーマット（RTF）は、多種の文書処理アプリケーションに適したプラットフォーム間の文書の交換として使用するために、各種文書、テキストおよびグラフィックの書式設定属性を符号化するファイル形式である。現在、ＲＴＦファイルは、可能性のあるファイルのクライアント／消費者をサポートするために、ピクチャの複数の別個のバージョンをファイルに保存する。例えば、あるファイルが現在のバージョンのピクチャを提供し、第２の（またはさらに多くの）ファイルが１つまたは複数の以前のバージョンのピクチャを提供し、別のファイルがＷＯＲＤ２．０のバージョンを提供し、さらに別のファイルがＷＯＲＤＰＡＤバージョンを提供する。変換およびマージサービスを提供することにより、文書処理アプリケーションが多くのファイル形式をサポートする、または同じコンテンツの複数のファイルを持つ必要がなくなる。
【０１４１】
例示的シナリオＨ
マージサービスを適用することにより、電子メールで送信された文書内の変更を自動的にマージすることができる。そのような場合は、電子メールサービスまたはサーバがマージサービスと通信することができる。マージサービスは、電子メールサービス（または電子メールサーバ）がエディタであるかのようにマージを管理することができる。
【０１４２】
例えば、何人かの人からなるグループが文書の協同作業を行うとする。グループの１人がオフラインで行った変更を電子メールの添付ファイルとして他の者に電子メールで送信する。本サービスおよびシステムは、文書の識別子を把握しているため、電子メールサービスまたは電子メールサービスがマージサービスと通信するように構成されている受信者に電子メール送信する動作により、ユーザに代わって自動的に変更をマスター文書にマージすることができる。
【０１４３】
別の例では、グループの１人が第１の電子メールサービスに関連付けられた電子メールアカウントを使用して他の者に電子メールを送信し、文書を添付することができる。受信者の一部は、第１の電子メールサービスと接続されていない第２の電子メールサービスを使用している可能性がある。例えば、第１の電子メールサービスはＭｉｃｒｏｓｏｆｔ社のＨＯＴＭＡＩＬ電子メールサービスであり、第２の電子メールサービスはＧｏｏｇｌｅ社のＧＭＡＩＬ電子メールサービスである。
【０１４４】
第１の電子メールサービスに接続されていない第２の電子メールサービスのユーザの１人が文書を編集し、編集した文書を添付して返信すると、第１の電子メールサービスはその変更（オフラインで行われた）をマスター文書に再度マージすることができる。第１の電子メールサービスが添付ファイルを受け取り、文書（および文書の系統）を識別すると、第１の電子メールサービスはマージサービスとの通信を開始することができる。マージサービスは、第１の電子メールサービスがエディタであるかのようにマージを管理することができる。
【０１４５】
例示的シナリオＩ
ユーザが、限られた演算能力と限られた帯域幅（待ち時間等のため）を有する可能性のある機器（電話機など）を使用して校閲するために文書を受け取る。現在は、ユーザがそのような環境で文書にコメントしたい場合は、コメントまたは変更が１か所だけであっても文書全体がサーバに送り返される。一実施形態によると、アクセスサービスは、ユーザの機器の制限に対応する適合を提供し、変更を承認するかについてのコメントチェックボックス（「yes」または「no」）を組み込むことができる。そして、チェックボックスの回答の指示だけをサーバに返すことができる。そのようにして、機器は、必要とするデータをサービスから入手し、再度サービスを呼び出して、コメントを承認された状態に更新することができる。本サービスは、その指示を受け取り、高忠実度の修正および／またはコメントの挿入を行うことができる。制限のある機器のユーザは完全な協同作成体験をしたと感じ、協同作成ソフトウェア／技術全体を機器に送付する代価はかからない。
【０１４６】
例示的シナリオＪ
消費者機器のためのコンテンツの適合の一例は、消費者機器がタッチ対応型の機器であるが、文書がタッチに対応していない場合である。本サービスは、文書を増強して、例えばズームまたは拡大機能を設けることにより、文書をよりタッチに対応した状態にすることができる。説明のための例として、元は画面の大きな機器で作成されたものの、画面の小さい機器で表現するために提供されようとしている文書中の表に、（閲覧のために）表をズームすることができるタッチ態様を追加することができる。
【０１４７】
それに代えて、またはそれに加えて、小型機器の寸法を考慮することにより、本サービスは、３列からなる表のうち１列分のスペースしかないことを判断することができ、小型の画面に適した形態で表を提示する。これは、ズーム機能を追加するか、または一度に一列だけを表示することを含むことができる。
【０１４８】
図８は、一部の実施形態で使用されるコンピューティング機器の構成要素を示すブロック図である。例えば、システム８００は、１つまたは複数のアプリケーションを実行することができる、デスクトップもしくはノートブックコンピュータまたはタブレットもしくはスマートフォン等の形態のクライアント機器、エディタ、またはリーダを実装する際に使用することができる。実施形態によっては、システム８００は、一体型ＰＤＡやワイヤレス電話などの一体型コンピューティング機器である。本明細書に記載されるシステムの態様は、モバイルコンピュータおよび従来のデスクトップコンピュータと、サーバコンピュータおよび他のコンピュータシステムの両方に適用可能であることを理解されたい。例えば、タッチ画面またはタッチ対応機器（これらに限定されないがタッチ対応型のトラックパッドやマウスを含む）は、モバイル機器とデスクトップ機器の両方に適用できる可能性がある。
【０１４９】
システム８００は、１つまたは複数のアプリケーションプログラム８１０、および／またはオペレーティングシステム８２０の命令に従ってデータを処理するプロセッサ８０５を含む。プロセッサ８０５は、システムオンチップ（SoC）であるか、またはその中に含まれ、センサ（例えば磁力計、周辺光センサ、近接センサ、加速度計、ジャイロスコープ、全地球測位システムセンサ、温度センサ、衝撃センサ）やネットワーク接続の構成要素（例えば無線／ネットワークインターフェース８３５を含む）など、１つまたは複数の他の構成要素を伴う。
【０１５０】
１つまたは複数のアプリケーションプログラム８１０はメモリ８１５にロードされ、オペレーティングシステム８２０上で実行されるか、またはオペレーティングシステム８２０との関連で実行することができる。アプリケーションプログラムの例には、電話発信プログラム、電子メールプログラム、ＰＩＭプログラム、文書処理プログラム、表計算プログラム、インターネットブラウザプログラム、メッセージングプログラム、ゲームプログラム等が含まれる。各種のクライアントおよびサーバアプリケーションを含む他のアプリケーションがメモリ８１５にロードされ、機器で実行することができる。
【０１５１】
メモリ８１５は、内蔵メモリ構成要素および取り外し可能メモリ構成要素を含む１つまたは複数のメモリ構成要素を伴う場合があり、そのようなメモリ構成要素の１つまたは複数がオペレーティングシステムを記憶できることが理解できよう。各種実施形態によると、オペレーティングシステムには、これらに限定されないが、Ｓｙｍｂｉａｎ社のＳＹＭＢＩＡＮ  ＯＳ、Ｍｉｃｒｏｓｏｆｔ社のＷＩＮＤＯＷＳ  ＭＯＢＩＬＥ  ＯＳ、Ｍｉｃｒｏｓｏｆｔ社のＷＩＮＤＯＷＳ  ＰＨＯＮＥ  ＯＳ、Ｍｉｃｒｏｓｏｆｔ社のＷＩＮＤＯＷＳ、Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ社のＰＡＬＭ  ＷＥＢＯＳ、Ｒｅｓｅａｒｃｈ  Ｉｎ  Ｍｏｔｉｏｎ社のＢＬＡＣＫＢＥＲＲＹ  ＯＳ、Ａｐｐｌｅ社のＡＰＰＬＥ  ＩＯＳ、およびＧｏｏｇｌｅ社のＧＯＯＧＬＥ  ＡＮＤＲＯＩＤ  ＯＳが含まれる。他のオペレーティングシステムも企図される。
【０１５２】
システム８００は、メモリ８１５の内部に不揮発性ストレージ８２５も含む。不揮発性ストレージ８２５は、システム８００の電源が切断された場合に失われてはならない永続的な情報を記憶するために使用することができる。アプリケーションプログラム８１０は、不揮発性ストレージ８２５の情報を使用し、生産性アプリケーション等におけるコンテンツの作成や修正中に実行されたコマンドの記録などの情報を記憶することができる。ホストコンピュータシステム（サーバなど）上の対応する同期アプリケーションと対話して、不揮発性ストレージ８２５の情報をホストコンピュータシステムに記憶された対応する情報と同期された状態に保つために、アプリケーションプログラム８１０の一部として同期アプリケーションも含め、常駐させることができる。
【０１５３】
システム８００は電源８３０を有し、これは、１つまたは複数のバッテリおよび／またはエネルギー生成装置（harvester）（環境放熱、光電、圧電、熱電、静電等）として実装することができる。電源８３０はさらに、ＡＣアダプタや、バッテリを補助または充電する電源付きドッキングクレードルなどの外部電源を含むことができる。
【０１５４】
システム８００は、無線周波通信の送受信ファンクションを行う無線／ネットワークインターフェース８３５も含むことができる。無線／ネットワークインターフェース８３５は、通信事業者またはサービスプロバイダを介したシステム８００と「外界」との間のワイヤレス接続を容易にする。無線／ネットワークインターフェース８３５との間の送信はオペレーティングシステム８２０の制御下で行われ、オペレーティングシステム８２０は、無線／ネットワークインターフェース８３５で受信された通信をアプリケーションプログラム８１０に伝え、その逆も行う。
【０１５５】
無線／ネットワークインターフェース８３５は、システム８００が、ネットワークを介してサーバコンピューティング機器および他のクライアント機器を含む他のコンピューティング機器と通信することを可能にする。
【０１５６】
オーディオインターフェース８４０を使用して、ユーザに可聴信号を提供し、ユーザから可聴信号を受け取ることができる。例えば、オーディオインターフェース８４０をスピーカに結合して可聴出力を提供し、マイクロフォンに結合して可聴入力を受け取り、それにより電話での会話等を容易にすることができる。ユーザが音声コマンドを介してコンピューティング機器と対話できるように、スピーカが内蔵される場合もある。
【０１５７】
システム８００はさらに、任意選択のカメラ（図示せず）で静止画像、映像ストリーム等を記録する動作を可能にするビデオインターフェース８４５を含むことができる。カメラを使用して、コンピューティング機器と対話するために使用されるジェスチャを撮影することもできる。
【０１５８】
タッチ画面ディスプレイ８５５を介して視覚的出力を提供することができる。場合によっては、ディスプレイはタッチ画面ではなく、ボタン、キー、ローラホイール等のユーザ入力要素が使用されて、ディスプレイ８５５にグラフィカルユーザインターフェースの一部として表示される項目を選択する。
【０１５９】
キーパッド８６０もユーザ入力のために含めることができる。キーパッド８６０は、物理的キーパッドであっても、タッチ画面ディスプレイ８５５上に生成されるソフトキーパッドであってもよい。実施形態によっては、ディスプレイとキーパッドを一体にすることができる。実施形態によっては、オーディオインターフェース８４０およびビデオインターフェース８４５を含む２つ以上の入出力（I/O）構成要素を一体にすることができる。個別のプロセッサをＩ／Ｏ構成要素と共に含めるか、または処理機能をプロセッサ８０５に内蔵することができる。
【０１６０】
ディスプレイ８５５は、グラフィカルユーザインターフェース（「GUI」）要素、予測型状況ツールバーユーザインターフェース、テキスト、画像、映像、通知、仮想ボタン、仮想キーボード、メッセージングデータ、インターネットコンテンツ、機器のステータス、時刻、日付、カレンダーデータ、設定、地図情報、位置情報、および視覚的形態で提示可能な他の情報を提示することができる。実施形態によっては、ディスプレイ８５５は、任意の能動または受動マトリクス技術および任意のバックライト技術（使用される場合）を利用した液晶ディスプレイ（「LCD」）である。実施形態によっては、ディスプレイ８５５は有機発光ダイオード（「OLED」）ディスプレイである。言うまでもなく他のディスプレイ種類も企図される。
【０１６１】
タッチ画面（ディスプレイに関連付けることができる）は、タッチの存在および場所を検出するように構成された入力装置である。タッチ画面としては、抵抗膜式タッチ画面、静電容量式タッチ画面、表面弾性波式タッチ画面、赤外線式タッチ画面、光学イメージング式タッチ画面、分散信号式タッチ画面、音響パルス認識式タッチ画面を用いることができ、または他のタッチ画面技術を利用することができる。実施形態によっては、タッチ画面が透明な層としてディスプレイの上部に組み込まれて、ユーザは１回または複数回のタッチを使用してディスプレイに提示されたオブジェクトや他の情報と対話することができる。
【０１６２】
他の実施形態では、ディスプレイを備えないコンピューティング機器の表面上にタッチパッドを組み込むことができる。例えば、コンピューティング機器は、ディスプレイの上面にタッチ画面を組み込み、ディスプレイの反対側の面にタッチパッドを組み込むことができる。
【０１６３】
実施形態によっては、タッチ画面はシングルタッチのタッチ画面である。他の実施形態では、タッチ画面はマルチタッチのタッチ画面である。実施形態によっては、タッチ画面は、個別のタッチ、シングルタッチジェスチャ、および／またはマルチタッチジェスチャを検出するように構成される。それらを本明細書では便宜上「ジェスチャ」と総称する。以下数種のジェスチャについて説明する。それらのジェスチャは例示であり、添付の特許請求の範囲を限定するものではないことを理解されたい。さらに、記載されるジェスチャ、さらに他のジェスチャ、および／または代替ジェスチャをタッチ画面で使用するためにソフトウェアで実装することができる。そのため、開発者は特定のアプリケーションプログラムに固有のジェスチャを作成することができる。
【０１６４】
実施形態によっては、タッチ画面は、ユーザがディスプレイに提示された項目の場所でタッチ画面を１回叩くタップのジェスチャをサポートする。タップのジェスチャは、これらに限定されないが、ユーザがタップする対象を開く、または起動することを含む各種の理由で使用される。実施形態によっては、タッチ画面は、ユーザがディスプレイに提示された項目の場所でタッチ画面を２回叩くダブルタップのジェスチャをサポートする。ダブルタップのジェスチャは、これらに限定されないが、段階的な拡大または縮小やテキストの単語を選択するなどの各種理由で使用される。実施形態によっては、タッチ画面は、ユーザがタッチ画面を叩き、少なくとも所定の時間にわたって接触を維持する、タップアンドホールドのジェスチャをサポートする。タップアンドホールドのジェスチャは、これらに限定されないが、状況に応じたメニューを開くなどの各種理由で使用される。
【０１６５】
実施形態によっては、タッチ画面は、ユーザがタッチ画面上に指を置き、タッチ画面との接触を保ったままタッチ画面上で指を移動させるパンのジェスチャをサポートする。パンのジェスチャは、これらに限定されないが、制御された速度での画面、画像、またはメニュー間の移動などの各種理由で使用される。複数の指を用いたパンジェスチャも企図される。実施形態によっては、タッチ画面は、ユーザが画面を動かしたい方向に指をさっと動かすフリックジェスチャをサポートする。フリックジェスチャは、これらに限定されないが、メニューやページ間を横方向または縦方向にスクロールするなどの各種理由で使用される。実施形態によっては、タッチ画面は、ユーザがタッチ画面上で２本の指（例えば親指と人差し指）でつまむ動作を行う、または２本の指を動かして離す、ピンチアンドストレッチのジェスチャをサポートする。ピンチアンドストレッチのジェスチャは、これらに限定されないが、ウェブサイト、地図、または写真を徐々に拡大または縮小するなどの各種理由で使用される。
【０１６６】
上記のジェスチャはそのジェスチャを行うために１本または複数本の指の使用する例を参照して説明したが、足の指、鼻、あごなどの他の身体部分や、スタイラスなどの物体を使用してタッチ画面と対話することもできる。そのため、上記のジェスチャは例示と理解すべきであり、決して制限的なものとは解釈すべきでない。
【０１６７】
システム８００を実装するモバイル機器またはデスクトップコンピューティング機器が有する機能または機能性の数は、本明細書に記載されるよりも多い場合も少ない場合もあり、本明細書に記載される構成に限定されないことを理解されたい。
【０１６８】
例えば、実施形態によっては、ユーザインターフェースおよび各種の情報が、ユーザインターフェースおよび各種の情報が投影される壁面に表示され、それと対話することができる。
【０１６９】
各種実装で、システム８００を介して記憶されるデータ／情報は、機器でローカルに記憶されるデータキャッシュを含むことができ、または、データは、無線／ネットワークインターフェース８３５を介して、または、機器と機器に関連付けられた別のコンピューティング機器、例えばインターネットなどの分散コンピューティングネットワーク上のサーバコンピュータとの間の有線接続を介して機器からアクセスできる、任意数の記憶媒体に記憶することができる。理解されるように、そのようなデータ／情報には、無線インターフェース８３５または分散コンピューティングネットワークを介して、機器を通じてアクセスすることができる。同様に、そのようなデータ／情報は、電子メールおよび協同作業データ／情報供給システムを含む周知のデータ／情報転送および記憶手段に従って、記憶および使用のためにコンピューティング機器間で容易に転送することができる。
【０１７０】
本明細書に述べられる特定の技術は、１つまたは複数のコンピューティング機器によって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラムモジュールには、特定の作業を行うか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造が含まれる。
【０１７１】
実施形態は、コンピュータプロセス、コンピューティングシステム、または、コンピュータプログラム製品やコンピュータ読取り可能媒体などの製造品として実施することができる。本明細書に記載される特定の方法および処理は、１つまたは複数のコンピュータ読取り可能媒体に記憶することが可能なコードおよび／またはデータとして実施することができる。本発明の特定の実施形態は、命令のセットが実行されるとコンピュータシステムに上記の方法論の１つまたは複数を実行させることができるコンピュータシステムの形態の機械を使用することを企図する。特定のコンピュータプログラム製品は、コンピュータシステムにより読み取ることが可能で、コンピュータプロセスを実行するための命令のコンピュータプログラムを符号化した１つまたは複数のコンピュータ読取り可能記憶媒体とすることができる。
【０１７２】
コンピュータ読取り可能媒体は、コンピュータシステムからアクセスできる任意の利用可能なコンピュータ読取り可能記憶媒体または通信媒体とすることができる。
【０１７３】
通信媒体には、例えばコンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを含んでいる通信信号が１つのシステムから別のシステムに送信されるために使用される媒体が含まれる。通信媒体は、ケーブルや電線（例えば光ファイバー、同軸ケーブル等）などの誘導伝送媒体と、音響、電磁、ＲＦ、マイクロ波および赤外線など、エネルギー波を伝搬することができるワイヤレス（非誘導伝送）媒体とを含む。コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータは、例えば、スペクトル拡散技術の一部として用いられるような搬送波や同様の機構などのワイヤレス媒体中に変調データ信号として実施することができる。用語「変調データ信号」とは、信号中に情報を符号化するような形で特性の１つまたは複数を変更または設定した信号を意味する。変調は、アナログ、デジタル、または混合変調技術を用いることができる。通信媒体、特にコンピュータシステムで使用できるデータを含む搬送波や他の伝搬信号は、コンピュータ読取り可能記憶媒体には含まれない。
【０１７４】
限定ではなく例示として、コンピュータ読取り可能記憶媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための方法または技術で実装された、揮発性および不揮発性、取り外し可能および取り外し不能の媒体を含むことができる。例えば、コンピュータ読取り可能記憶媒体には、これらに限定されないが、ランダムアクセスメモリ（RAM、DRAM、SRAM）などの揮発性メモリと、フラッシュメモリ、各種の読み取り専用メモリ（ROM、PROM、EPROM、EEPROM）、磁気および強磁性／強誘電性メモリ（MRAM、FeRAM）、磁気および光学記憶装置（ハードドライブ、磁気テープ、CD、DVD）などの不揮発性メモリと、コンピュータシステムで使用するためにコンピュータ読取り可能な情報／データを記憶することができる現在知られている、または今後開発される他の媒体とが含まれる。「コンピュータ読取り可能記憶媒体」は、搬送波または伝搬信号からは構成されない。
【０１７５】
また、本明細書に記載の方法および処理は、ハードウェアモジュールとして実装することもできる。例えば、ハードウェアモジュールは、これらに限定されないが、特定用途集積回路（ASIC）チップ、利用者書き換え可能ゲートアレイ（FPGA）、および現在知られている、または今後開発される他のプログラム可能ロジック装置を含み得る。そのようなハードウェアモジュールが起動されると、ハードウェアモジュールはそのハードウェアモジュール内に含まれる方法および処理を行う。
【０１７６】
本明細書における「一実施形態」、「実施形態」、「例示的実施形態」等の言及は、その実施形態に関連して説明される特定の特徴、構造、または特性が本発明の少なくとも１つの実施形態に含まれることを意味する。本明細書の様々な場所でそのような語句が出現する場合、必ずしもそのすべてが同じ実施形態を指すとは限らない。また、本明細書に開示される発明またはその実施形態の要素または限定事項は、任意の要素、または限定事項および／もしくはすべての他の要素または限定事項（個別に、または任意の組み合わせで）、または本明細書に開示される他の発明またはその実施形態と組み合わせることができ、そのようなすべての組み合わせは制限を加えることなく本発明の範囲にあることが企図される。
【０１７７】
本明細書に記載される例および実施形態は単に説明を目的とするものであり、それに照らした各種の改変または変更が当業者に示唆され、それらは本願の主旨および範囲に包含されることを理解されたい。
【図１】
2016517051.tif 000003
【図２】
2016517051.tif 000004
【図３】
2016517051.tif 000005
【図４】
2016517051.tif 000006
【図５Ａ】
2016517051.tif 000007
【図５Ｂ】
2016517051.tif 000008
【図５Ｃ】
2016517051.tif 000009
【図５Ｄ】
2016517051.tif 000010
【図６】
2016517051.tif 000011
【図７】
2016517051.tif 000012
【図８】
2016517051.tif 000013
【手続補正書】
【提出日】平成27年4月13日(2015.4.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
サーバコンピューティング機器を操作する方法であって、
機能の第１のバージョンをサポートする編集済み文書に行われた修正を、前記機能の第２のバージョンをサポートするマスター文書とマージする要求をクライアントコンピューティング機器から受け取る工程であって、前記機能の前記第２のバージョンは前記クライアントコンピューティング機器ではサポートされない、工程と、
前記文書と前記マスター文書との間の機能に関連しない差分を判定する工程と、
前記判定された差分を使用して、前記文書に行われた修正を前記マスター文書にマージすることにより前記マスター文書を更新する工程と
を含む方法。
【請求項２】
前記修正要求と、段落識別子、行識別子、文字識別子、および部分識別子の少なくとも１つなどの場所の識別子とを受け取る工程をさらに含む、請求項１に記載の方法。
【請求項３】
前記修正要求が、前記マスター文書の前記場所の識別子で識別される場所に、ハイライト、コメントの付加、またはコンテンツの追加、削除、もしくは置き換えなどの１つまたは複数の特定の修正を行うことを求める要求を含む、請求項２に記載の方法。
【請求項４】
前記修正を有する前記文書を受け取る工程をさらに含む、請求項１に記載の方法。
【請求項５】
サーバコンピューティング機器であって、
エディタに適した第１の形式をサポートする編集済み文書に行われた修正を、前記第１の形式と異なる第２の形式をサポートするマスター文書にマージする要求をクライアントコンピューティング機器から受け取り、
前記文書の前記第１の形式を前記マスター文書の前記第２の形式に変換し、
前記文書と前記マスター文書との間の形式に関連しない差分を判定し、
前記差分をマージして前記マスター文書を更新する
ように構成されたサーバコンピューティング機器。
【請求項６】
前記修正要求と、段落識別子、行識別子、文字識別子、および部分識別子などの場所の識別子とを受け取るようにさらに構成され、
前記修正要求は任意選択により、前記マスター文書の前記場所の識別子で識別される場所に、ハイライト、コメントの付加、またはコンテンツの追加、削除、もしくは置き換えなどの１つまたは複数の特定の修正を行うことを求める要求を含む、
請求項５に記載のサーバコンピューティング機器。
【請求項７】
前記修正を有する前記文書を受け取るようにさらに構成される、請求項５に記載のサーバコンピューティング機器。
【請求項８】
コンピューティング機器によって実行されると、
機能の第１のバージョンをサポートする編集済み文書に行われた修正を、前記機能の第２のバージョンをサポートするマスター文書とマージする要求を受け取るのに応答して、前記機能の前記第１のバージョンをサポートする前記編集済み文書に行われた修正を判定し、前記修正を、前記機能の前記第２のバージョンをサポートする前記マスター文書にマージする工程であって、前記文書と前記マスター文書との間の機能に関連しない差分が判定され、前記判定された差分が使用されて前記マスター文書を更新する、工程と、
第１の形式をサポートする編集済み文書に行われた修正を、前記第１の形式と異なる第２の形式をサポートするマスター文書とマージする要求を受け取るのに応答して、前記第１の形式をサポートする前記編集済み文書に行われた修正を判定し、前記修正を、前記第２の形式をサポートする前記マスター文書にマージする工程であって、前記文書の前記第１の形式が前記マスター文書の前記第２の形式に変換され、前記変換後の文書と前記マスター文書との間の形式に関連しない差分が判定され、その差分がマージされて前記マスター文書を更新する、工程と
を含む方法を行う命令が記憶されているコンピュータ読取り可能記憶媒体。
【請求項９】
前記修正をマージする要求が、前記マスター文書の特定の編集を求める要求を含む、請求項８に記載の媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１７７
【補正方法】変更
【補正の内容】
【０１７７】
本明細書に記載される例および実施形態は単に説明を目的とするものであり、それに照らした各種の改変または変更が当業者に示唆され、それらは本願の範囲に包含されることを理解されたい。
【国際調査報告】
2016517051.tif 000014
2016517051.tif 000015
2016517051.tif 000016