(57)【要約】  発行者と加入者との間の、リアリーシンプルシンジケーション（ＲＳＳ）形式を介したウェブシンジケーション項目の同期に関する。発行者は、ウェブシンジケーション項目に関連づけられたメディアコンテンツを含めることによって、ウェブシンジケーション項目を作成する。同期メタデータは、作成されたウェブシンジケーション項目に関連づけられた第１の仮想クロック値を含むように定義される。第１の仮想クロック値は、ウェブシンジケーション項目が最後にアップデートされたときを示す。発行されたウェブシンジケーション項目への加入を求めるリクエストが、加入者から受け取られる。受け取ったリクエストに応答して、発行されたウェブシンジケーション項目が、発行者から離れているとともに加入者によってアクセス可能な場所に送信される。第１の仮想クロック値は、ウェブシンジケーション項目に関連づけられたメディアコンテンツを加入者が修正する際に加入者によって第１の仮想クロック値を修正するのに使用するために加入者に提供される。
2009545815.tif 000002
【特許請求の範囲】
【請求項１】
発行者と加入者との間で、リアリーシンプルシンジケーション（ＲＳＳ）形式を介してウェブシンジケーション項目（１１０）の同期をとる方法であって、
前記発行者によって、前記ウェブシンジケーションに関連づけられたメディアコンテンツを含む前記ウェブシンジケーション（１１０）項目を発行するステップと、
前記発行されたウェブシンジケーション項目（１１０）に関連づけられた第１の仮想クロック値を含む同期メタデータ（２０２）を定義するステップと、
ここで、前記第１の仮想クロック値は、前記ウェブシンジケーション項目（１１０）が最後にアップデートされたときを示し、
前記加入者から、前記発行されたウェブシンジケーション項目（１１０）への加入を求めるリクエストを受け取るステップと、
前記受け取ったリクエストに応答して、前記発行されたウェブシンジケーション項目（１１０）を、前記発行者から離れているとともに前記加入者によってアクセス可能な場所に送信するステップと、
前記第１の仮想クロック値を含む前記同期メタデータ（２０２）を前記加入者に提供するステップと、
前記加入者が、前記発行者から離れた前記場所で前記メディアコンテンツを修正するとき、前記加入者が前記第１の仮想クロック値を修正することを許可するステップと
を具えたことを特徴とする方法。
【請求項２】
前記ウェブシンジケーション項目（１１０）に関連づけられた前記メディアコンテンツを前記加入者が修正するときに対応する別の仮想クロック値を挿入することによって、前記第１の仮想クロック値への前記修正を、前記同期メタデータ（２０２）に前記加入者が保存することを許可するステップをさらに具えたことを特徴とする請求項１記載の方法。
【請求項３】
前記発行されたウェブシンジケーション項目（１１０）が前記場所に送信されるとき、前記発行者から離れた前記場所で前記ウェブシンジケーション項目（１１０）のバージョンを検出するステップをさらに具え、
前記ウェブシンジケーション項目（１１０）の前記バージョンは、前記第１の仮想クロック値とは異なるときに前記発行されたウェブシンジケーション項目（１１０）の前記メディアコンテンツが修正されていることを示す第２の仮想クロック値を前記同期メタデータ（２０２）中に含むことを特徴とする請求項１記載の方法。
【請求項４】
発行されたウェブシンジケーション項目が、前記発行者から離れた前記場所で、前記ウェブシンジケーション項目（１１０）の前記バージョンとの衝突を起こすかどうか判定するステップをさらに具え、
前記衝突は、前記ウェブシンジケーション項目（１１０）の前記メディアコンテンツが前記第１の仮想クロック値、前記第２の仮想クロック値および前記発行されたウェブシンジケーションコンテンツの前記メディアコンテンツを最後にアップデートするユーザの機能に応じて異なることを示すことを特徴とする請求項３記載の方法。
【請求項５】
判定するステップは、前記第１の仮想クロック値を前記第２の仮想クロック値と比較するステップを含むことを特徴とする請求項４記載の方法。
【請求項６】
請求項５の前記比較するステップに応答して、競合解決オプションのリストを前記加入者に提供するステップをさらに具えたことを特徴とする請求項５記載の方法。
【請求項７】
前記判定するステップに基づいて、修正履歴のリストを前記加入者に提示するステップをさらに具えたことを特徴とする請求項３記載の方法。
【請求項８】
修正履歴の前記リストに従って、１つまたは複数のバージョンを前記加入者に提供するステップをさらに具えたことを特徴とする請求項７記載の方法。
【請求項９】
１つまたは複数のコンピュータ可読媒体は、請求項１に記載の方法を実行するコンピュータ実行可能命令を有することを特徴とする請求項１記載の方法。
【請求項１０】
リアリーシンプルシンジケーション（ＲＳＳ）形式によるウェブシンジケーションチャネル（１０６）をアップデートする方法であって、
ウェブシンジケーション項目（１１０）の第１のバージョンおよび前記ウェブシンジケーション項目（１１０）の第２のバージョンを受け取るステップと、
ここで、前記ウェブシンジケーション項目（１１０）の前記第１のバージョンは、前記ウェブシンジケーション項目（１１０）に対する第１のアップデートを示し、前記ウェブシンジケーション項目（１１０）の前記第２のバージョンは、前記ウェブシンジケーション項目（１１０）に対する第２のアップデートを示し、
前記ウェブシンジケーションチャネル用のシンジケーションサマリ（２３０）を定義するステップと、
ここで、前記定義されたシンジケーションサマリ（２３０）は、前記ウェブシンジケーション項目（１１０）に関連づけられた情報を記述し、
前記シンジケーションサマリ（２３０）中の前記ウェブシンジケーション項目（１１０）の第１のバージョンおよび前記第２のバージョンに関連づけられたウェブ同期メタデータ（２０２）をアグリゲートするステップと、
前記指示されたアップデートの機能に応じて、前記シンジケーションサマリ（２３０）中の前記バージョンの前記アグリゲートされたウェブ同期メタデータ（２０２）の順序を決定するステップと、
前記１つまたは複数のアグリゲートされたバージョンがユーザに提供されるように、決定された順序に従って、前記シンジケーションサマリ（２３０）をアップデートするステップと
を具えたことを特徴とする方法。
【請求項１１】
前記決定するステップは、前記ウェブシンジケーション項目（１１０）の前記第１のバージョンおよび前記第２のバージョンに関連づけられた同期メタデータ（２０２）を分析するステップを含み、
前記同期メタデータ（２０２）は、前記ウェブシンジケーション項目（１１０）のバージョンに対応する仮想クロック値を含むことを特徴とする請求項１０記載の方法。
【請求項１２】
前記分析するステップは、前記ウェブシンジケーション項目（１１０）の前記バージョンそれぞれの前記仮想クロック値それぞれを比較して、前記シンジケーションサマリ（２３０）中の前記１つまたは複数のアグリゲートされたバージョンの順序を決定するステップを含むことを特徴とする請求項１１記載の方法。
【請求項１３】
前記ウェブシンジケーション項目（１１０）の前記第１のバージョンと前記第２のバージョンとの間の衝突を検出するステップをさらに具え、
ここで、前記衝突は、前記ウェブシンジケーション項目（１１０）の前記バージョンが前記第１のバージョン、前記第２のバージョン、前記第１の仮想クロック値、前記第２の仮想クロク値および前記ウェブシンジケーション項目（１１０）を最後にアップデートするユーザの機能に応じて異なることを示すことを特徴とする請求項１０記載の方法。
【請求項１４】
前記アップデートするステップは、衝突がない場合、前記ウェブシンジケーションサマリ（２３０）中で、前記第１のバージョンの前記ウェブ同期メタデータ（２０２）を、前記第２のバージョンの前記ウェブ同期メタデータ（２０２）とマージするステップを含むことを特徴とする請求項１３記載の方法。
【請求項１５】
ユーザによって実施される競合解決の結果をユーザに提供するステップをさらに具えたことを特徴とする請求項１３記載の方法。
【請求項１６】
ウェブシンジケーション加入に基づいて送信されるウェブシンジケーション項目（１１０）の同期をとるシステムであって、
前記ウェブシンジケーション加入のためのウェブシンジケーションサマリ（３０６）および前記ウェブシンジケーション項目（１１０）の１つまたは複数のバージョン向けのウェブ同期メタデータ（２０２）を格納するデータ記憶手段と、
コンピュータ実行可能命令を実行するように構成されたプロセッサ（３０８）と
を具え、
該プロセッサは、
前記ウェブシンジケーション加入のための前記シンジケーションサマリ（２３０）を、前記ウェブシンジケーション項目（１１０）に関連づけられた情報を含むように定義する手段と、
前記ウェブシンジケーションサマリ（２３０）中の、ユーザからの前記ウェブシンジケーション項目（１１０）の前記１つまたは複数のバージョンの前記ウェブ同期メタデータ（２０２）をアグリゲートする手段と、
ここで、前記１つまたは複数のバージョンは、様々な期間での前記ユーザによる１つまたは複数のアップデートを示し、
前記指示されたアップデートおよび前記様々な期間の機能に応じて、前記シンジケーションサマリ（２３０）中の前記バージョンの前記１つまたは複数のアグリゲートされたウェブ同期メタデータ（２０２）の順序を決定する手段と、
前記１つまたは複数のアグリゲートされたバージョンが前記ユーザに提供されるように、決定された順序に従って、前記ウェブシンジケーションサマリ（２３０）をアップデートする手段と
を含むことを特徴とするシステム。
【請求項１７】
前記１つまたは複数のアグリゲートされたバージョンを決定された順序で、前記ユーザに提供するユーザインターフェイス（ＵＩ）（３１０）をさらに具えたことを特徴とする請求項１６記載のシステム。
【請求項１８】
前記ウェブシンジケーション項目（１１０）の前記バージョンはそれぞれ、前記ユーザによる前記ウェブシンジケーション項目（１１０）に対するアップデートの履歴を記述する前記ウェブ同期メタデータ（２０２）を含むことを特徴とする請求項１６記載のシステム。
【請求項１９】
前記ウェブ同期メタデータ（２０２）は、前記ウェブシンジケーション項目（１１０）を最後にアップデートするユーザを識別するメタデータ、および前記最終アップデートが実行されるときの期間を記述するメタデータを含むことを特徴とする請求項１６記載のシステム。
【請求項２０】
前記プロセッサ（３０８）は、前記１つまたは複数のバージョンの前記ウェブ同期メタデータ（２０２）を、前記ウェブシンジケーションサマリ（２３０）中の前記ウェブシンジケーション項目（１１０）とマージするように構成されることを特徴とする請求項１６記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブシンジケーションを介した双方向マルチマスタ同期に関する。
【背景技術】
【０００２】
リアリーシンプルシンジケーション（Ｒｅａｌｌｙ  Ｓｉｍｐｌｅ  Ｓｙｎｄｉｃａｔｉｏｎ：ＲＳＳ）プロトコル、Ａｔｏｍプロトコル、またはＲＳＳプロトコルの他の支流などのウェブシンジケーション形式は、他の人達が消費するデータを記述するための非常に単純な仕様を用いて、メディアコンテンツが異質のエンドポイントから送信されることを可能にする。単純な例において、ユーザＡが、自分の写真撮影コレクションを他のユーザと共有することを望むとする。ユーザＡは、ＲＳＳチャネルを介して自分の写真を発行することになる。ユーザＢは、ＲＳＳチャネルに加入して、ユーザＡから写真を受け取ることができる。
【０００３】
元の発行者でも加入者でもよいが、ウェブシンジケーション項目のユーザは、頻繁に、（１つまたは複数の）フィード項目をアップデートし、（１つまたは複数の）アップデートされたバージョンを発行することを望む場合がある。たとえば、ユーザＡの立場では、１枚または複数の写真が不適当である場合があったり、写真の一部の記述に誤字があったりする。アップデートされた写真を新規項目または「エピソード」として提出するのではなく、発行者は、既存のシンジケーション項目をアップデートすることを望む場合がある。同様に、加入者は、既存の項目に対するアップデートを寄稿し提供することを望む場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在、発行者は、アップデートを提供することができない。また、アップデートが可能な場合であっても、加入者（たとえば、ユーザＢ）は、アップデートされたシンジケーション項目を加入者が既に受け取っているかどうか判定することができない。さらに、ウェブシンジケーション項目に関連づけられた現在のＲＳＳメタデータがこのような同期を明らかにすることができないので、現在のＲＳＳプロトコルは、ウェブ同期項目の同期アップデートを提供することができない。さらに、既存のＲＳＳプロトコルは、発行者または加入者に、現在のある特定のウェブシンジケーション項目がどのようになっているかを知らせるための統一または不偏的クロックを提供しない。
【課題を解決するための手段】
【０００５】
本発明の実施形態は、各ウェブシンジケーション項目向けの同期メタデータを定義することによって、既存の慣行およびウェブシンジケーション方式を強化する。各ウェブシンジケーション項目に同期メタデータを含ませることによって、ユーザ（発行者および加入者両方）は、ウェブシンジケーション項目を便利かつ効率的に発行し、アップデートし、加入し、または管理することができる。本発明の態様はまた、ウェブシンジケーション項目のバージョンの間の衝突を検出し解決するように同期メタデータを構成する。さらに、本発明の代替実施形態は、シンジケーションチャネルに関連づけられた１つまたは複数のウェブシンジケーション項目に対するアップデートの履歴を提供するための、シンジケーションチャネル用の同期サマリを提供する。
【０００６】
本発明の態様はさらに、発行者と加入者との間の、リアリーシンプルシンジケーション（ＲＳＳ）形式を介したウェブシンジケーション項目の同期に関する。発行者は、ウェブシンジケーション項目に関連づけられたメディアコンテンツを含めることによって、ウェブシンジケーション項目を作成する。同期メタデータは、作成されたウェブシンジケーション項目に関連づけられた第１の仮想クロック値を含むように定義される。第１の仮想クロック値は、ウェブシンジケーション項目が最後にアップデートされたときを示す。発行されたウェブシンジケーション項目への加入を求めるリクエストが、加入者から受け取られる。受け取ったリクエストに応答して、発行されたウェブシンジケーション項目が、発行者から離れているとともに加入者によってアクセス可能な場所に送信される。第１の仮想クロック値は、ウェブシンジケーション項目に関連づけられたメディアコンテンツを加入者が修正する際に加入者によって第１の仮想クロック値を修正するのに使用するために加入者に提供される。
【０００７】
この概要は、詳細な説明において後でさらに説明する概念一式を、簡略化された形で紹介するためのものである。この概要は、本特許請求対象の主要な特徴または本質的な特徴を識別することは意図しておらず、本特許請求対象の範囲を決定する一助として使われることも意図していない。
【０００８】
他の特徴は、これ以降において一部は明らかになり、一部は指摘される。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態による、発行者と加入者との間の、ウェブシンジケーションチャネルを介したウェブシンジケーション項目のアップデートを示す図である。
【図２Ａ】本発明の一実施形態による、同期メタデータおよびアップデートメタデータの例示的な実装形態を示すブロック図である。
【図２Ｂ】本発明の一実施形態による、同期メタデータおよびアップデートメタデータの例示的な実装形態を示すブロック図である。
【図２Ｃ】本発明の一実施形態による、同期メタデータおよびアップデートメタデータの例示的な実装形態を示すブロック図である。
【図３】本発明の一実施形態による、ウェブシンジケーションチャネルの同期サマリをアップデートするシステムを示すブロック図である。
【図４Ａ】本発明の一実施形態による、ウェブシンジケーション項目およびウェブシンジケーションチャネルの同期化を示すフローチャートである。
【図４Ｂ】本発明の一実施形態による、ウェブシンジケーション項目およびウェブシンジケーションチャネルの同期化を示すフローチャートである。
【図４Ｃ】本発明の一実施形態による、ウェブシンジケーション項目およびウェブシンジケーションチャネルの同期化を示すフローチャートである。
【図５】本発明の一実施形態による、ウェブシンジケーション項目の同期を可能にするデータ構造を示すブロック図である。
【図６】本発明の態様を格納することができる例示的なコンピュータ可読媒体を示すブロック図である。
【図７】本発明の態様を格納することができる例示的なコンピュータ可読媒体を示すブロック図である。
【発明を実施するための形態】
【００１０】
対応する参照符号は、図面を通して対応する部分を示す。
【００１１】
最初に図１を参照すると、ブロック図は、本発明の一実施形態による、発行者と加入者との間でウェブシンジケーションチャネルを介してウェブシンジケーション項目をアップデートするシステム１００を示す。例示的な例では、システム１００は、発行者Ａによって操作される第１のデバイス１０２と、加入者Ｂによって操作される第２のデバイス１０４とを示す。第１のデバイス１０２および第２のデバイス１０４は、コンピュータ、モバイルコンピューティングデバイス（たとえば、携帯情報端末（ＰＤＡ）、セルラーホン、携帯ゲーム機など）、またはその組合せなどの一般的なコンピューティングデバイスでよい。たとえば、第１のデバイス１０２は、コンピュータ実行可能な命令、コード、ルーチン、アプリケーション、ソフトウェアなどを処理することが可能なプロセッサ（１１２）を含み得る。第１のデバイス１０２は、コンピュータ記憶媒体１１６、およびユーザインターフェイス（ＵＩ）１１４も含む。
【００１２】
たとえば、コンピュータ記憶媒体１１６は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは所望の情報を格納するのに用いることができるとともに汎用コンピュータ（たとえば、サーバコンピュータ１０４やクライアントデバイス１０８）によってアクセスすることができる他のどの媒体も含む。また、第１のデバイス１０２は、通常はコンピュータ可読命令、データ構造、プログラムモジュール、または搬送波や他の移送機構など、変調データ信号として他のデータを実施する通信媒体を含むとともにどの情報配信媒体も含み得る。当業者によれば、信号中に情報をエンコードするようにその特性の１つまたは複数を設定させ、または変更させる変調データ信号については周知である。有線ネットワークや直接有線接続などの有線媒体、および音響、ＲＦ、赤外線などの無線媒体、ならびに他の無線媒体が、通信媒体の例である。上記のいずれの組合せも、コンピュータ可読媒体１１６の範囲に含まれる。
【００１３】
図１をさらに参照すると、発行者Ａは、メディアコンテンツを加入者Ｂに対して提供可能にすることができる。たとえば、発行者Ａは、ある記事に興味をもち得る他の人達とその記事を共有させることができる。したがって、発行者Ａは、シンジケーションチャネル１０６を介して加入者Ｂに対してシンジケーション項目（たとえば、記事）１１０を利用可能にするために、シンジケーションチャネル（たとえば、ＲＳＳフィード）１０６を確立する。これに対して、加入者Ｂは、シンジケーションチャネル１０６に加入して、シンジケーション項目１１０を受け取る。さらに別の例では、発行者Ａは、同じシンジケーションチャネル１０６を介して１つまたは複数の項目（たとえば、同期項目１１０−２および同期項目１１０−３）を発行し、または投稿することができる。共通通信ネットワーク１０８（たとえば、インターネット、イントラネットなど）を介して第１のデバイス１０２から第２のデバイス１０４にシンジケーション項目１１０が送信されると、加入者Ｂは、発行者Ａによって発行されたシンジケーション項目１１０のコピーを受け取ることができる。
【００１４】
たとえば、加入者Ｂが直接加入することができる加入用のシンジケーションチャネル（たとえば、ＲＳＳフィード）を発行者Ａが提供するウェブサイトを、発行者Ａは操作することができる。別の例では、発行者Ａは、加入者Ｂなど他のユーザがシンジケーションチャネル１０６に加入することができるように、ウェブシンジケーションアグリゲーションウェブサイトまたはサービスにシンジケーション項目１１０を提供／発行することができる。ＲＳＳプロトコルを用いて本発明の実施形態の例を説明するが、本発明の範囲から逸脱することなく、他のウェブシンジケーション形式またはプロトコルを用いることができることを理解されたい。
【００１５】
ここで図２Ａ〜２Ｃを参照すると、ブロック図は、本発明の一実施形態による同期メタデータ２０２、アップデートメタデータ２２８、および同期サマリ２３０の例示的な実装形態を示す。たとえば、図１に示したように、加入者Ｂは、発行者Ａによって発行され、または投稿されたシンジケーション項目１１０を受け取る。ただし、加入者Ｂが、発行者Ａが発行した記事に誤字があることに気づき、記事をアップデートし、または修正したいとする。現在のプロトコルまたは慣行では、誤字があることを発行者Ａに知らせるコメントをシンジケーションチャネル１０６に加入者Ｂが投稿することを許可するだけであろう。したがって、既存のプロトコルは、発行者Ａが、ウェブシンジケーション項目１１０中に含まれるメディアコンテンツを修正し、またはアップデートすることができる単なる個人である単一マスタ単方向システムを許可する。加入者Ｂが、記事を受け取り、第２のデバイス１０４に格納したときに記事を修正することを望む場合、既存のウェブシンジケーションプロトコルは、アップデートされ、または修正された記事の、発行者Ａへの同期送信を許可しない。
【００１６】
ここで、シンジケーション項目それぞれ（たとえば、シンジケーション項目１１０−１）における同期メタデータ２０２の確立または定義の実装形態を示す図２Ａを参照する。本発明の態様では、シンジケーション項目への効率的な同期アップデートを達成するために、同期メタデータ２０２を各シンジケーション項目１１０に適用する。この例では、同期メタデータ２０２は、表１における以下のフィールド、およびそれに対応する説明を含む。
【００１７】
【表１】
2009545815.tif 000003
【００１８】
一実施形態では、同期メタデータ２０２は、ＲＳＳ形式の下で拡張マークアップ言語（ＸＭＬ）の「＜ｈｉｓｔｏｒｙ＞」タグを使って実装することができる。一実施形態では、ウェブシンジケーション項目は、それに関連づけられたメディアコンテンツを記述するための、データ２２６など、他のデータまたはメタデータを含む。たとえば、ＲＳＳプロトコルの下の各ウェブシンジケーション項目は、「＜ｉｔｅｍ＞」要素を用い、同期メタデータ２０２は、「＜ｈｉｓｔｏｒｙ＞」子要素の下に含まれることになる。各＜ｈｉｓｔｏｒｙ＞子要素は、少なくともｉｔｅｍＩＤフィールド２０４、「ｌａｓｔＵｐｄａｔｅｒ」フィールド２０６、および任意選択で「ｄｅｌｅｔｅｄ」フィールド２０８を含む。一実施形態では、各ウェブシンジケーション項目１１０は、それに関連づけられたただ１つの＜ｈｉｓｔｏｒｙ＞子要素を含む。
【００１９】
以前の記事を実例として用いて、発行者Ａは、ｉｔｅｍＩＤフィールド２０４において記事を「０００００００００００００００１」として識別することができ、「ｌａｓｔＵｐｄａｔｅｒ」フィールド２０６は、発行者Ａを識別する。発行者Ａは、「ｄｅｌｅｔｅｄ」フィールド２０８が任意選択のフィールドなので、フィールド２０８を空白にしておくことを望む場合がある。
【００２０】
各＜ｈｉｓｔｏｒｙ＞子要素中で、ウェブシンジケーション項目１１０に対する変更または修正を行った一意のエンドポイント（たとえば、発行者Ａまたは加入者Ｂ）の数に等しいアップデートメタデータ２２８の１つまたは複数のインスタンス。アップデートメタデータ２２８の各組は、「ｂｙ」フィールド２１０および「ｓｎ」時間フィールド２１２を含む。たとえば、表２は、アップデートメタデータ２２８をさらに詳しく記述する。
【００２１】
【表２】
2009545815.tif 000004
【００２２】
たとえば、初期段階で、発行者Ａがウェブシンジケーション項目１１０を最初に発行するとき、「ｂｙ」フィールド２１０は「発行者Ａ」を含んでよく、「ｓｎ」時間フィールド２１２は、アップデートまたは変更が記録されるときを示す時間値を含んでよい。一実施形態では、「ｓｎ」時間フィールド２１２は、イベントに対する論理クロックを用いる分散型システムにおいてイベントを順序づけるのに使われるデータ構造であるクロックベクトル（または、ベクトルクロックとしても知られる）からの値でよい。言い換えると、「ｓｎ」時間フィールド２１２は、発行者Ａがウェブシンジケーション項目１１０をアップデートした、第１のデバイス１０２内のクロック（たとえば、２００６年７月１２日（水）５：０５ＰＭ  ＧＭＴ）に直接関連づけることはできない。さらに別の実施形態では、「ｓｎ」時間フィールド２１２は、仮想または論理クロック値でよい。本発明の範囲から逸脱することなく、他の仮想または論理クロック値表現を使ってもよい。
【００２３】
同期メタデータ２０２およびアップデートメタデータ２２８を定義することによって、本発明の実施形態は、ユーザまたはエンドポイント（たとえば、発行者Ａおよび加入者Ｂ）がＲＳＳを介して効率的に任意のデータの同期をとることを可能にする。さらに、本発明の態様は、同期メタデータ２０２およびアップデートメタデータ２２８（すなわち、「ｓｎ」時間フィールド２１２を含む）を、図２Ｂに示すユーザインターフェイス（ＵＩ）などのウェブシンジケーション項目１１０中のメディアコンテンツをユーザが修正するときにユーザに提示する。本代替実施形態において、ダイアログウィンドウ２１４は、ウェブシンジケーション項目がアップデートされる（または初めて作成される）と、同期メタデータ２０２およびアップデートメタデータ２２８をアップデートするダイアログウィンドウ２１４をユーザに提示することができることを示す。たとえば、ユーザは、発行されるべきウェブシンジケーション項目１１０に対応するｉｔｅｍＩＤフィールド２０４を確認することも修正することもできる。同様に、ユーザは、「ｌａｓｔＵｐｄａｔｅｒ」フィールド２０６に、ユーザを識別する識別値を入力する。ユーザは、任意選択で、「ｄｅｌｅｔｅｄ」フィールド２０８に適切な情報を入力することもできる。アップデートメタデータ２２８において、ユーザは、「ｂｙ」フィールド２１０に適切に入力を行い、「ｓｎ」フィールド２１２を増分することができる。
【００２４】
操作中、発行者Ａは、メディアコンテンツ（たとえば、ドキュメント記事）をウェブシンジケーション項目１１０に関連づけることによって、第１のデバイス１０２でウェブシンジケーション項目１１０を作成する。ウェブシンジケーション項目１１０を作成すると、発行者Ａは、ｉｔｅｍＩＤ、「ｌａｓｔＵｐｄａｔｅｒ」、および／または「ｄｅｌｅｔｅｄ」などの値を含むように同期メタデータ２０２を定義する。発行者Ａは、他のユーザ（たとえば、加入者Ｂ）がウェブシンジケーションチャネル１０６に加入するためのウェブシンジケーションチャネル（たとえば、ウェブシンジケーションチャネル１０６）を介してウェブシンジケーション項目１１０を発行する。
【００２５】
したがって、発行者Ａは、加入者Ｂから加入リクエストを受け取り、発行されたウェブシンジケーション項目１１０を加入者Ｂに送信する。同期メタデータ２０２およびアップデートメタデータ２２８は、最初は空でよく、加入者Ｂがウェブシンジケーション項目１１０を修正し、またはアップデートするときに加入者Ｂに提供される。加入者Ｂおよび他の加入者がウェブシンジケーション項目１１０のメディアコンテンツの修正に寄与するとき、本発明の実施形態は、ウェブシンジケーションチャネルを用いる双方向マルチマスタ（たとえば、コンテンツ修正権をもつマルチユーザ）通信を提供する。また、ウェブシンジケーションの発行者または加入者に、ウェブシンジケーション項目に関連づけられた不必要なメタデータを殺到させることなく、本発明の態様は、方式を簡単にし、所望の結果を遂行するための最も適切な情報を提供する。
【００２６】
説明した同期メタデータ２０２およびアップデートメタデータ２２８中のフィールドは、一定のキャラクタ長またはデータタイプ（たとえば、１６バイトや「ｓｔｒｉｎｇ」データタイプ）を必要とするが、他のデータタイプ、要件、またはデータ表示を、本発明の範囲から逸脱することなく用いて実装してもよい。
【００２７】
一実施形態では、ウェブシンジケーション項目の衝突検出および競合解決を実施形態が可能にする。たとえば、加入者Ｂが発行者Ａからウェブシンジケーション項目１１０を受け取った後、加入者Ｂが、メディアコンテンツを修正する（たとえば、誤字を訂正する）ことによって、ウェブシンジケーション項目をアップデートすることを望むとする。加入者Ｂは続いて、メディアコンテンツに対する変更を行い、同期メタデータ２０２に適切な情報を入力することができる（たとえば、「ｌａｓｔＵｐｄａｔｅｒ」＝加入者Ｂ）、アップデートメタデータ２２８（たとえば、「ｂｙ」＝加入者Ｂ、「ｓｎ」＝５０）。この情報／変更を、発行者Ａまたは同じウェブシンジケーションチャネル１０６に加入している他のユーザに折り返し伝達するために、加入者Ｂは続いて、アップデートされたウェブシンジケーション項目を発行することができる。
【００２８】
ここで図２Ｃを参照すると、ブロック図は、ウェブシンジケーションチャネル１０６用の同期サマリ２３０の例示的な実装形態を示す。一実施形態では、同期サマリ２３０は、所与のフィードに対する全項目向けのデータ、メタデータ、および／または他の情報を含む。別の実施形態では、同期サマリ２３０は、ウェブシンジケーションチャネル１０６に関連づけられた全ウェブシンジケーション項目に対して行われた全アップデートも含む。代替実施形態および例外的ケースでは、同期サマリ２３０は、ベクトル情報をもち得る項目に関連づけられたデータ、メタデータ、および／または情報を含むことができない。言い換えると、各シンジケーション項目は、各シンジケーション項目およびそれ関連づけられた他の情報に対して行われたアップデートを記載する同期サマリをもつことになる。
【００２９】
限定ではなく例示の目的でのみ、シンジケーションチャネル１０６が１つのシンジケーション項目だけを含むとき、図２Ｃの同期サマリ２３０は、図２Ａに示すアップデートメタデータと合致する。同期サマリ２３０を用いて、発行者Ａおよび加入者Ｂを含むユーザは、ウェブシンジケーションチャネル１０６に属すウェブシンジケーション項目のアップデート履歴を吟味することができる。
【００３０】
一実施形態では、ウェブシンジケーション項目が加入者Ｂによってアップデートされると、アップデートされた情報は、自動的に送信され、同期サマリ２３０中でアップデートされる。たとえば、発行者Ａによって発行された記事に対する変更を加入者Ｂが完了した後、アップデート情報（たとえば、「ｌａｓｔＵｐｄａｔｅｒ」＝加入者Ｂ、「ｓｎ」＝５０）は、ウェブシンジケーションチャネルの同期サマリ２３０と同期される。一実施形態では、ウェブシンジケーションチャネル向けの同期サマリ２３０は最初に、同一のサマリコンテンツがウェブシンジケーション項目のアップデートメタデータ２２８に既に含まれているかどうか判定するために分析される。含まれない場合、同期サマリ２３０は、アップデートメタデータ２２８中の情報でアップデートされる。
【００３１】
代替実施形態では、発行者Ａが加入者Ｂからアップデートされたメディアコンテンツを受け取ると、本発明の実施形態は、アップデートメタデータ２２８および同期メタデータ２０２に応じて、メディアコンテンツの２つのバージョンの間に衝突があるかどうか、発行者Ａが判定することを可能にする。この例では、加入者Ｂからアップデートされたメディアコンテンツを受け取ると、発行者Ａは、加入者Ｂからのアップデートされたメディアコンテンツ中の「ｌａｓｔＵｐｄａｔｅｒ」中の値を、自分がウェブシンジケーション項目に含めた元のメディアコンテンツ中の「ｌａｓｔＵｐｄａｔｅｒ」値と比較する。値が互いと同一である場合、発行者Ａは次に、仮想クロック値（たとえば、「ｓｎ」値）を比較して、どちらのバージョンが後からアップデートされたか判定することができる。アップデートされたメディアコンテンツの「ｓｎ」値が元のメディアコンテンツの「ｓｎ」値より大きい場合、アップデートされたメディアコンテンツが、メディアコンテンツのアップデートされたバージョンである。アップデートされたメディアコンテンツの「ｓｎ」値が元のメディアコンテンツの「ｓｎ」値以下の場合、元のメディアコンテンツが、加入者Ｂからのバージョンより最新である。
【００３２】
あるいは、「ｌａｓｔＵｐｄａｔｅｒ」値が異なる場合、発行者Ａは続いて、アップデートメタデータ２２８がアップデートされたメディアコンテンツにある、バージョン中の「ｌａｓｔＵｐｄａｔｅｒ」情報と合致する情報（たとえば、「ｂｙ」値）を含むか、それともその反対であるか評価することができる。含まれる場合、どちらのバージョンがより直近のものであるかに関して衝突はない。含まれない場合、どちらのバージョンが最も直近のものであるかに関して衝突がある。
【００３３】
発行者Ａによって作成された記事の例では、加入者Ｂが元のメディアコンテンツに対する変更を行ったので、「ｌａｓｔＵｐｄａｔｅｒ」は異なる。発行者Ａは、アップデートされたメディアコンテンツのアップデートメタデータ２２８を調べると、加入者Ｂがメディアコンテンツをアップデートする前に自分がメディアコンテンツを作成したことに気がつくはずである。したがって、衝突はなく、同期サマリ２３０は、メディアコンテンツの完全なアップデート履歴を正しく含み、元のメディアコンテンツは、アップデートされたメディアコンテンツで置き換えられる。
【００３４】
衝突がある状況において、一実施形態では、発行者には、ＵＩ（たとえば、ＵＩ３１０）を介して衝突を解決する任意の選択肢のリストを提示することができる。一例では、２つのエンドポイントまたはユーザが、他方による変更を知らずにウェブシンジケーション項目に対して独自の変更を行ったとき、結果として衝突が生じる。衝突を検出する一例は、同期メタデータ２０２中の「ｌａｓｔＵｐｄａｔｅｒ」フィールド（図４Ｃで詳しく説明する）およびアップデートメタデータ２２８の「ｂｙ」フィールドを調べることであり得る。本発明の範囲から逸脱することなく、他の衝突検出機構または方法を利用してもよい。本発明の別の態様では、衝突検出機構を不能にしてよい。さらに別の代替実施形態では、衝突検出機構は、ウェブシンジケーション項目、ウェブシンジケーションチャネル、または両方に関連づけられたそれ以外および追加のメタデータまたは情報を評価することができる。本発明の範囲から逸脱することなく、他の衝突検出および／または解像度機構および方式を用いることもできる。
【００３５】
衝突が検出されると、ユーザには、メディアコンテンツのどちらのバージョンがウェブシンジケーション項目の優先バージョンとして使われるべきか選択するためのオプションのリストを提供することができる。たとえば、オプションは、以下を含み得る。
【００３６】
１．ローカルバージョンが常に優先する、
２．リモートバージョンが常に優先する、
３．リモートバージョンの「ｌａｓｔＵｐｄａｔｅｒ」値が元の発行者に等しい場合、リモートバージョンが優先する。それ以外の場合、ローカルバージョンが優先する。本発明の範囲から逸脱することなく、ユーザによって他の競合解決を構成しカスタマイズすることもできる。
【００３７】
衝突が解決されると、優先バージョンが、アップデートメタデータ２２８、同期メタデータ２０２、および同期サマリ２３０中でアップデートされる。代替実施形態では、競合解決技法により、ある特定のバージョンが選ばれ、または選ばれなかったことを示すように、任意選択の衝突メタデータが提供される。
【００３８】
別の代替実施形態では、発行者Ａがウェブシンジケーション項目のメディアコンテンツを消去することを望む場合、発行者Ａは、任意選択で、「ｄｅｌｅｔｅｄ」フィールド２０８に情報を入力することができ、同期メタデータ２０２は、このような消去情報も含むことになる。
【００３９】
ここで図３を参照すると、ブロック図は、本発明の一実施形態による、ウェブシンジケーションチャネルの同期サマリをアップデートするシステム３００を示す。この例示において、１人または複数のウェブシンジケーションユーザ３０２が、ウェブシンジケーションチャネル（たとえば、ＲＳＳフィード）３０４に加入し、または寄与する。たとえば、ウェブシンジケーションユーザはウェブシンジケーション項目１１０をアップデートすることができるので、ウェブシンジケーションユーザ３０２は、発行者および加入者両方になり得る。ウェブシンジケーション項目１１０は、最初に発行された後、データストア３０６に格納し、サーバコンピュータ３１２で利用可能にすることができる。たとえば、ウェブシンジケーション項目１１０は、発行者によって維持されるウェブサイトで利用可能になってよく、プロセッサ３０８が、ウェブシンジケーションユーザ３０２とウェブシンジケーション項目１１０との間の対話を処理するコンピュータ実行可能命令を実行する。
【００４０】
別の実施形態では、プロセッサ３０８は、ウェブシンジケーションユーザ３０２とウェブシンジケーション項目１１０との間の対話を提供するユーザインターフェイス（ＵＩ）３１０を管理するように構成される。たとえば、ＵＩ３１０は、ウェブシンジケーションユーザ３０２に図２Ｂのウィンドウ２１４などのダイアログウィンドウを提示することもトリガすることもできる。別の実施形態では、ＵＩ３１０は、ウェブシンジケーション項目１１０に対する同期アップデートに影響を与えるように、ウェブシンジケーションユーザ３０２にアップデートメタデータ２２８または同期メタデータ２０２の一部を投射することができる。ウェブシンジケーションユーザ３０２はそれぞれ、サーバコンピュータ３１２または他のウェブシンジケーションユーザ３０２から離れた場所に物理的に配置してよいことも理解されよう。
【００４１】
ウェブシンジケーション項目１１０の様々なバージョンがある場合、同期サマリ２３０は、ウェブシンジケーション項目１１０の各バージョンのアップデートメタデータ２２８および同期メタデータ２０２中で指示された情報を正しく含む。たとえば、ウェブシンジケーション項目の第１のバージョンおよびウェブシンジケーション項目の第２のバージョンが（たとえば、第１のデバイス１０２、第２のデバイス１０４、またはサーバコンピュータ３１２で）受け取られるとする。ウェブシンジケーション項目の第１のバージョンは、ウェブシンジケーション項目の第１のアップデートを示し、ウェブシンジケーション項目の第２のバージョンは、ウェブシンジケーション項目の第２のアップデートを示す。ウェブシンジケーションチャネル向けに同期サマリ２３０が（まだ定義されていない場合は）定義され、同期サマリ２３０は、所与のウェブシンジケーションチャネル向けの全ウェブシンジケーション項目に関連づけられた履歴を記述する。ウェブシンジケーション項目１１０のバージョンそれぞれに対する同期メタデータ２０２がアグリゲート（ａｇｇｒｅｇａｔｅ）され、アグリゲートされた同期メタデータの順序が決定される。次に、同期サマリ２３０が、ウェブシンジケーション項目のバージョンから、決定された同期メタデータの順序でアップデートされる。
【００４２】
一実施形態では、同期サマリ２３０は、ウェブシンジケーション項目の全バージョンにある同期メタデータをマージ（ｍｅｒｇｅ）する。この例では、同期サマリ２３０が、ウェブシンジケーション項目１１０の２つのバージョンにある同期メタデータ２０２をマージしている最中であるとし、２つのバージョンの一方が他方に優先すると（たとえば、上述した１つまたは複数の競合解決技法を用いて）既に判定されているとする。同期サマリ２３０は最初に、同期サマリ２３０中の「ｌａｓｔＵｐｄａｔｅｒ」値を、優先「ｌａｓｔＵｐｄａｔｅｒ」に等しくなるように設定する。次に、２つのバージョンのアップデートメタデータ２２８中の各アップデートエントリごとに、同期サマリ２３０は、共通の「ｂｙ」属性をもつ、両方のバージョンにある各アップデートエントリを含め、２つのバージョンにある大きい方の「ｓｎ」値を同期サマリ２３０に適用する。
【００４３】
たとえば、両方のバージョンが、そのアップデートメタデータ中に、発行者Ａが「ｂｙ」フィールドの１つにあることを含む場合、優先バージョンが２５０の「ｓｎ」値をもち、非優先バージョンは、２００の「ｓｎ」値をもつ。この状況において、同期サマリは、「ｂｙ」＝「発行者Ａ」、「ｓｎ」＝「２５０」というエントリをもつことになる。
【００４４】
また、同期サマリ２３０は、両方のバージョンには共通しない、アップデートメタデータ２２８中の残りのアップデートエントリを追加する。
【００４５】
さらに別の実施形態では、ユーザがウェブシンジケーション項目１１０の様々なバージョンを選択することができるように、サーバコンピュータ３１２は、同期サマリ２３０中に列挙される、ウェブシンジケーション項目１１０のバージョンそれぞれのコピーを含み得る。
【００４６】
ここで図４Ａ〜４Ｃは、本発明の一実施形態による、ウェブシンジケーション項目とウェブシンジケーションチャネルとの同期をとる操作を示すフローチャートである。図４Ａは、その中に同期メタデータを組み込むウェブシンジケーション項目を作成するフローチャートを示す。４０２で、ユーザ（たとえば、発行者Ａ）が、メディアコンテンツ（たとえば、ドキュメント記事）を関連づけ、またはウェブシンジケーション項目（たとえば、ＲＳＳフィード項目）中に含めることによって、ウェブシンジケーション項目を準備する。４０４で、ユーザは、ウェブシンジケーション項目に関連づけられた適切なメタデータを作成し、または生成する。たとえば、ユーザは、同期メタデータ中のフィールド（たとえば、＜ｈｉｓｔｏｒｙ＞子要素＞中のフィールド）に入力を行うことができる。４０６で、ウェブシンジケーション項目のアップデートメタデータを調べることによって、ウェブシンジケーション項目が初めて作成されるのかどうか判定されることになる。ウェブシンジケーション項目が初めて作成される場合、４１０でアップデートメタデータが作成される。ユーザは、４１２で、「ｂｙ」フィールドおよび「ｓｎ」値など、アップデートメタデータに適切な情報を入力する。ユーザは次に、４１４でウェブシンジケーション項目を発行する。
【００４７】
ウェブシンジケーション項目が新規作成された項目ではないと判定された場合、図４Ｂは、ユーザが４０８にどのように進んで、ウェブシンジケーション項目に関連づけられたメタデータをアップデートする操作をさらに実施するかを示す。たとえば、ユーザは、発行者Ａまたは加入者Ｂのどちらでもよいが、ウェブシンジケーション項目の既存のメディアコンテンツをアップデート済みである可能性がある。したがって、４１６で、ウェブシンジケーション項目がアップデート済みであるかどうか判定されることになる。アップデートが必要とされない場合、ユーザは、４１８で図４Ａの４１４に戻る。ウェブシンジケーション項目がアップデート済みである場合、４２０で同期メタデータが識別される。
【００４８】
たとえば、本発明の実施形態による同期メタデータは、少なくとも＜ｈｉｓｔｏｒｙ＞子要素および＜ｕｐｄａｔｅ＞要素のリスト（追加詳細については、上の図２Ａを参照）を含む。識別されると、ユーザは、４２２でウェブシンジケーション項目のアップデートメタデータおよび同期メタデータをアップデートすることができる。たとえば、ユーザは、「ｂｙ」値、「ｓｎ」値、および「ｌａｓｔＵｐｄａｔｅｒ」値などの情報を入力することになる。任意選択で、ユーザは、ウェブシンジケーション項目が消去されるべきかどうかを示すための情報を入力してよい。
【００４９】
ここで図４Ｃを参照すると、フローチャートは、本発明の一実施形態による、同期メタデータおよびアップデートメタデータに応じてウェブシンジケーション項目の１つまたは複数のバージョンの同期をとる操作を示す。限定ではなく例示の目的でのみ、ローカル同期項目４４６が、ウェブシンジケーション項目のあるバージョンを表し、リモート同期項目が、ウェブシンジケーション項目の別のバージョンを表す。４２４で、ユーザ（たとえば、発行者Ａ、加入者Ｂ、またはサーバコンピュータ３１２）は、リモート同期項目を受け取る。４２６で、ローカル同期項目４４６の同期メタデータは、リモート同期項目の同期メタデータと比較される。４２８で、リモート同期項目の「ｌａｓｔＵｐｄａｔｅｒ」値がローカル同期項目の「ｌａｓｔＵｐｄａｔｅｒ」値と等しいかどうか判定されることになる。値が同じ場合、衝突がないと判定される。次のステップは、どちらのバージョンが優先バージョンとして使われるべきか４３２で判定することである。一技法によると、ローカル同期項目の「ｓｎ」値がリモート同期項目の「ｓｎ」値以下の場合、４３４でリモート同期項目が優先バージョンになる。リモート同期項目の「ｓｎ」値がローカル同期項目の「ｓｎ」値以下の場合、４３６でローカル同期項目が優先するべきである。
【００５０】
一方、ローカルおよびリモート同期項目の「ｌａｓｔＵｐｄａｔｅｒ」値が同じでない場合、ローカル同期項目の「ｌａｓｔＵｐｄａｔｅｒ」がリモート同期項目のアップデートメタデータ中にあるかどうか、４３０で判定されることになる。たとえば、ローカル同期項目の「ｌａｓｔＵｐｄａｔｅｒ」がリモート同期項目のアップデートメタデータ中にあるかどうか判定する際、ローカル同期項目の「ｓｎ」フィールド（たとえば、仮想クロック値）は、リモート同期項目の「ｓｎ」フィールドと比較される。別の例では、仮想または論理クロック値を、どちらのバージョン（すなわち、ローカル同期項目またはリモート同期項目）が優先するべきか判定するためのクロックベクトル包含チェックとして使うことができるように、他の仮想または論理クロック値または表現を使うことができる。
【００５１】
判定が肯定的な場合、４４０でリモート同期項目が優先バージョンになる。一方、リモート同期項目の「ｌａｓｔＵｐｄａｔｅｒ」がローカル同期項目のアップデートメタデータ中にある場合、ローカル同期項目が優先バージョンになる。ウェブシンジケーション項目のどちらかのバージョンのアップデートメタデータ中に「ｌａｓｔＵｐｄａｔｅｒ」値が見つからない場合は、衝突があり、ユーザは、４３８で衝突を解決するための様々なオプションを提示される。優先バージョンが判定され、または衝突が解決されると、同期メタデータおよびアップデートメタデータは、４４４で、優先バージョンにある適切な情報を含むようにアップデートされる。
【００５２】
図５は、本発明の一実施形態による、ウェブシンジケーション項目の同期を可能にするデータ構造５００を示す。一例では、シンジケーションチャネル５３０は、シンジケーション項目５０２など、１つまたは複数のシンジケーション項目を含み得る。シンジケーション項目５０２は、メディアコンテンツ５３２およびメディアコンテンツ５３２に関連づけられた関連データまたはメタデータを含む。データ構造５００は、ＸＭＬタグの形などの、１組の標準メタデータ５０４をも含む。データ構造５００は、メディアコンテンツ５３２のバージョンの同期をとる同期メタデータ５０６を含む。たとえば、同期メタデータ５０６は、ＸＭＬ形式の＜ｈｉｓｔｏｒｙ＞子要素として表され、ｉｔｅｍＩＤフィールド５１０、ｌａｓｔＵｐｄａｔｅｒフィールド５１２、および任意選択のｄｅｌｅｔｅｄフィールド５１４というフィールドを含む。同期メタデータ５０６は、１つまたは複数のアップデートフィールド５１６を含むアップデートメタデータ５０８も含む。各アップデートフィールド５１６は、「ｂｙ」および「ｓｎ」という下位フィールドを含む。
【００５３】
シンジケーションチャネル５３０は、１つまたは複数のアップデートフィールド５２４をさらに含む同期サマリ５２２（および図２Ｃに示す標準メタデータ２３０）も含む。各シンジケーション項目５０２は、同期サマリを含み、同期サマリは、シンジケーション項目５０２に対して行われた全アップデートを含む。アップデートフィールド５２４はそれぞれ、「ｂｙ」および「ｓｎ」という下位フィールドも含む。
【００５４】
図６は、本発明の態様を格納することができる例示的なコンピュータ可読媒体６０２を示すブロック図である。たとえば、コンピュータ可読媒体６０２は、それに関連づけられたメディアコンテンツを含むウェブシンジケーション項目を発行する発行者コンポーネント６０４を含む。定義コンポーネント６０６が、発行されたウェブシンジケーション項目に関連づけられた第１の仮想クロック値を含む同期メタデータを定義し、前記第１の仮想クロック値は、ウェブシンジケーションが最後にアップデートされたときを示す。コンピュータ可読媒体６０２は、加入者からの、発行されたウェブシンジケーション項目への加入を求めるリクエストを受け取るインターフェイスコンポーネント６０８も含む。通信コンポーネント６１０が、受け取ったリクエストに応答して、発行されたウェブシンジケーション項目を、発行者から離れているとともに加入者によってアクセス可能な場所に送信する。インターフェイスコンポーネント６０８は、第１の仮想クロック値を含むシンジケーションメタデータを加入者に提供し、同期コンポーネント６１２は、加入者が、発行者から離れた場所でメディアコンテンツを修正するときに第１の仮想クロック値を修正する（たとえば、増分する）ことを許可する。
【００５５】
一実施形態では、同期コンポーネント６１２は、加入者が修正の代わりに新規仮想クロック値を追加することを許可する。さらに別の実施形態では、衝突コンポーネント６１４が、発行されたウェブシンジケーション項目が発行者から離れた場所に送信されるときにその場所でウェブシンジケーション項目のバージョンを検出し得る。代替実施形態では、衝突コンポーネント６１４は、発行されたウェブシンジケーション項目が、衝突コンポーネント６１４によって検出される、発行者から離れた場所でウェブシンジケーション項目のバージョンとの衝突を起こすかどうか判定することができる。衝突コンポーネント６１４は、衝突を解決するための１つまたは複数の選択肢を加入者に提示することも、自動化または予め設定された好みにより、判定された衝突を解決することもできる。さらに別の代替実施形態では、バージョンコンポーネント６１６が、同期メタデータに含まれる修正履歴のリストにより、加入者に１つまたは複数のバージョンを提供し得る。
【００５６】
図７は、本発明の代替態様を格納することができる例示的なコンピュータ可読媒体７０２を示すブロック図である。たとえば、コンピュータ可読媒体７０２は、ウェブシンジケーションチャネルを介して、ウェブシンジケーション加入のためのシンジケーションサマリおよびウェブシンジケーション項目の１つまたは複数のバージョン向けのウェブ同期メタデータを定義するメモリコンポーネント７０４を含む。アグリゲーションコンポーネント７０６が、ウェブシンジケーションサマリ中のユーザからの、ウェブシンジケーション項目の１つまたは複数のバージョンのウェブ同期メタデータをアグリゲートする。たとえば、ウェブシンジケーション項目の１つまたは複数のバージョンは、ユーザによる１つまたは複数のアップデートおよび様々な期間を含み、これらは、アップデートに関連づけられたウェブシンジケーションメタデータに含まれ得る。
【００５７】
コンピュータ可読媒体７０２は、指示されたアップデートおよび様々な期間に応じてシンジケーションサマリ中のバージョンのアグリゲートされた１つまたは複数のウェブ同期メタデータの順序を決定する決定コンポーネント７０８も含む。１つまたは複数のアグリゲートされたバージョンがユーザに提供されるように、アップデートコンポーネント７１０が、決定された順序によって、ウェブシンジケーションサマリをアップデートする。代替実施形態では、ＵＩコンポーネント７１２が、１つまたは複数のアグリゲートされたバージョンを、決定された順序でユーザに提供する。
【００５８】
本明細書において示し説明した本発明の実施形態における実行の順序または操作の実施は、別段の指定がない限り、本質的でない。つまり、操作は、別段の指定がない限り、どの順序で実施してもよく、本発明の実施形態は、追加または本明細書で開示したものより少ない操作を含んでよい。たとえば、ある特定の動作を別の動作の前に、それと同時に、またはその後で実行しまたは実施することも、本発明の態様の範囲内であることが企図される。
【００５９】
本発明の実施形態は、コンピュータ実行可能命令を用いて実装することができる。コンピュータ実行可能命令は、１つまたは複数のコンピュータ実行可能コンポーネントまたはモジュールに編成することができる。本発明の態様は、任意の数または編成によるこのようなコンポーネントまたはモジュールで実装することができる。たとえば、本発明の態様は、図面に示し本明細書において説明した具体的なコンピュータ実行可能命令あるいは具体的なコンポーネントまたはモジュールに限定されない。本発明の他の実施形態は、本明細書において示し説明したものより多くの、またはより少ない機能性を有する異なるコンピュータ実行可能命令またはコンポーネントを含み得る。
【００６０】
本発明の態様またはその実施形態の要素を引き合いに出した際、冠詞「ａ」、「ａｎ」、「ｔｈｅ」、および「前記」は、要素の１つまたは複数があることを意味することを意図している。「備える」、「含む」、および「有する」という用語は、包含的であるとともに記載した要素以外の追加要素があり得ることを意味することを意図している。
【００６１】
本発明の態様を詳しく説明したが、添付の特許請求の範囲で定義される本発明の態様の範囲から逸脱することなく、修正形態および変形形態が可能であることが明らかであろう。本発明の態様の範囲から逸脱することなく、上記構造、製品、および方法において様々な変更を行うことができるので、上記説明に含まれるとともに添付の図面に示す全内容は、例示的であり限定的意味ではないと解釈されるべきであることを意図するものである。
【図１】
2009545815.tif 000005
【図２Ａ】
2009545815.tif 000006
【図２Ｂ】
2009545815.tif 000007
【図２Ｃ】
2009545815.tif 000008
【図３】
2009545815.tif 000009
【図４Ａ】
2009545815.tif 000010
【図４Ｂ】
2009545815.tif 000011
【図４Ｃ】
2009545815.tif 000012
【図５】
2009545815.tif 000013
【図６】
2009545815.tif 000014
【図７】
2009545815.tif 000015
【国際調査報告】
2009545815.tif 000016
2009545815.tif 000017