JP2009545815A - ウェブシンジケーションを介した双方向マルチマスタ同期 - Google Patents

ウェブシンジケーションを介した双方向マルチマスタ同期 Download PDF

Info

Publication number
JP2009545815A
JP2009545815A JP2009522817A JP2009522817A JP2009545815A JP 2009545815 A JP2009545815 A JP 2009545815A JP 2009522817 A JP2009522817 A JP 2009522817A JP 2009522817 A JP2009522817 A JP 2009522817A JP 2009545815 A JP2009545815 A JP 2009545815A
Authority
JP
Japan
Prior art keywords
web
item
web syndication
syndication
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009522817A
Other languages
English (en)
Other versions
JP2009545815A5 (ja
JP5007339B2 (ja
Inventor
コスラヴィ ムー
アール.クラーク マイケル
リー オリバー
ノヴィック レブ
プフェニング トーマス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009545815A publication Critical patent/JP2009545815A/ja
Publication of JP2009545815A5 publication Critical patent/JP2009545815A5/ja
Application granted granted Critical
Publication of JP5007339B2 publication Critical patent/JP5007339B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Abstract

発行者と加入者との間の、リアリーシンプルシンジケーション(RSS)形式を介したウェブシンジケーション項目の同期に関する。発行者は、ウェブシンジケーション項目に関連づけられたメディアコンテンツを含めることによって、ウェブシンジケーション項目を作成する。同期メタデータは、作成されたウェブシンジケーション項目に関連づけられた第1の仮想クロック値を含むように定義される。第1の仮想クロック値は、ウェブシンジケーション項目が最後にアップデートされたときを示す。発行されたウェブシンジケーション項目への加入を求めるリクエストが、加入者から受け取られる。受け取ったリクエストに応答して、発行されたウェブシンジケーション項目が、発行者から離れているとともに加入者によってアクセス可能な場所に送信される。第1の仮想クロック値は、ウェブシンジケーション項目に関連づけられたメディアコンテンツを加入者が修正する際に加入者によって第1の仮想クロック値を修正するのに使用するために加入者に提供される。

Description

本発明は、ウェブシンジケーションを介した双方向マルチマスタ同期に関する。
リアリーシンプルシンジケーション(Really Simple Syndication:RSS)プロトコル、Atomプロトコル、またはRSSプロトコルの他の支流などのウェブシンジケーション形式は、他の人達が消費するデータを記述するための非常に単純な仕様を用いて、メディアコンテンツが異質のエンドポイントから送信されることを可能にする。単純な例において、ユーザAが、自分の写真撮影コレクションを他のユーザと共有することを望むとする。ユーザAは、RSSチャネルを介して自分の写真を発行することになる。ユーザBは、RSSチャネルに加入して、ユーザAから写真を受け取ることができる。
元の発行者でも加入者でもよいが、ウェブシンジケーション項目のユーザは、頻繁に、(1つまたは複数の)フィード項目をアップデートし、(1つまたは複数の)アップデートされたバージョンを発行することを望む場合がある。たとえば、ユーザAの立場では、1枚または複数の写真が不適当である場合があったり、写真の一部の記述に誤字があったりする。アップデートされた写真を新規項目または「エピソード」として提出するのではなく、発行者は、既存のシンジケーション項目をアップデートすることを望む場合がある。同様に、加入者は、既存の項目に対するアップデートを寄稿し提供することを望む場合がある。
現在、発行者は、アップデートを提供することができない。また、アップデートが可能な場合であっても、加入者(たとえば、ユーザB)は、アップデートされたシンジケーション項目を加入者が既に受け取っているかどうか判定することができない。さらに、ウェブシンジケーション項目に関連づけられた現在のRSSメタデータがこのような同期を明らかにすることができないので、現在のRSSプロトコルは、ウェブ同期項目の同期アップデートを提供することができない。さらに、既存のRSSプロトコルは、発行者または加入者に、現在のある特定のウェブシンジケーション項目がどのようになっているかを知らせるための統一または不偏的クロックを提供しない。
本発明の実施形態は、各ウェブシンジケーション項目向けの同期メタデータを定義することによって、既存の慣行およびウェブシンジケーション方式を強化する。各ウェブシンジケーション項目に同期メタデータを含ませることによって、ユーザ(発行者および加入者両方)は、ウェブシンジケーション項目を便利かつ効率的に発行し、アップデートし、加入し、または管理することができる。本発明の態様はまた、ウェブシンジケーション項目のバージョンの間の衝突を検出し解決するように同期メタデータを構成する。さらに、本発明の代替実施形態は、シンジケーションチャネルに関連づけられた1つまたは複数のウェブシンジケーション項目に対するアップデートの履歴を提供するための、シンジケーションチャネル用の同期サマリを提供する。
本発明の態様はさらに、発行者と加入者との間の、リアリーシンプルシンジケーション(RSS)形式を介したウェブシンジケーション項目の同期に関する。発行者は、ウェブシンジケーション項目に関連づけられたメディアコンテンツを含めることによって、ウェブシンジケーション項目を作成する。同期メタデータは、作成されたウェブシンジケーション項目に関連づけられた第1の仮想クロック値を含むように定義される。第1の仮想クロック値は、ウェブシンジケーション項目が最後にアップデートされたときを示す。発行されたウェブシンジケーション項目への加入を求めるリクエストが、加入者から受け取られる。受け取ったリクエストに応答して、発行されたウェブシンジケーション項目が、発行者から離れているとともに加入者によってアクセス可能な場所に送信される。第1の仮想クロック値は、ウェブシンジケーション項目に関連づけられたメディアコンテンツを加入者が修正する際に加入者によって第1の仮想クロック値を修正するのに使用するために加入者に提供される。
この概要は、詳細な説明において後でさらに説明する概念一式を、簡略化された形で紹介するためのものである。この概要は、本特許請求対象の主要な特徴または本質的な特徴を識別することは意図しておらず、本特許請求対象の範囲を決定する一助として使われることも意図していない。
他の特徴は、これ以降において一部は明らかになり、一部は指摘される。
本発明の一実施形態による、発行者と加入者との間の、ウェブシンジケーションチャネルを介したウェブシンジケーション項目のアップデートを示す図である。 本発明の一実施形態による、同期メタデータおよびアップデートメタデータの例示的な実装形態を示すブロック図である。 本発明の一実施形態による、同期メタデータおよびアップデートメタデータの例示的な実装形態を示すブロック図である。 本発明の一実施形態による、同期メタデータおよびアップデートメタデータの例示的な実装形態を示すブロック図である。 本発明の一実施形態による、ウェブシンジケーションチャネルの同期サマリをアップデートするシステムを示すブロック図である。 本発明の一実施形態による、ウェブシンジケーション項目およびウェブシンジケーションチャネルの同期化を示すフローチャートである。 本発明の一実施形態による、ウェブシンジケーション項目およびウェブシンジケーションチャネルの同期化を示すフローチャートである。 本発明の一実施形態による、ウェブシンジケーション項目およびウェブシンジケーションチャネルの同期化を示すフローチャートである。 本発明の一実施形態による、ウェブシンジケーション項目の同期を可能にするデータ構造を示すブロック図である。 本発明の態様を格納することができる例示的なコンピュータ可読媒体を示すブロック図である。 本発明の態様を格納することができる例示的なコンピュータ可読媒体を示すブロック図である。
対応する参照符号は、図面を通して対応する部分を示す。
最初に図1を参照すると、ブロック図は、本発明の一実施形態による、発行者と加入者との間でウェブシンジケーションチャネルを介してウェブシンジケーション項目をアップデートするシステム100を示す。例示的な例では、システム100は、発行者Aによって操作される第1のデバイス102と、加入者Bによって操作される第2のデバイス104とを示す。第1のデバイス102および第2のデバイス104は、コンピュータ、モバイルコンピューティングデバイス(たとえば、携帯情報端末(PDA)、セルラーホン、携帯ゲーム機など)、またはその組合せなどの一般的なコンピューティングデバイスでよい。たとえば、第1のデバイス102は、コンピュータ実行可能な命令、コード、ルーチン、アプリケーション、ソフトウェアなどを処理することが可能なプロセッサ(112)を含み得る。第1のデバイス102は、コンピュータ記憶媒体116、およびユーザインターフェイス(UI)114も含む。
たとえば、コンピュータ記憶媒体116は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは所望の情報を格納するのに用いることができるとともに汎用コンピュータ(たとえば、サーバコンピュータ104やクライアントデバイス108)によってアクセスすることができる他のどの媒体も含む。また、第1のデバイス102は、通常はコンピュータ可読命令、データ構造、プログラムモジュール、または搬送波や他の移送機構など、変調データ信号として他のデータを実施する通信媒体を含むとともにどの情報配信媒体も含み得る。当業者によれば、信号中に情報をエンコードするようにその特性の1つまたは複数を設定させ、または変更させる変調データ信号については周知である。有線ネットワークや直接有線接続などの有線媒体、および音響、RF、赤外線などの無線媒体、ならびに他の無線媒体が、通信媒体の例である。上記のいずれの組合せも、コンピュータ可読媒体116の範囲に含まれる。
図1をさらに参照すると、発行者Aは、メディアコンテンツを加入者Bに対して提供可能にすることができる。たとえば、発行者Aは、ある記事に興味をもち得る他の人達とその記事を共有させることができる。したがって、発行者Aは、シンジケーションチャネル106を介して加入者Bに対してシンジケーション項目(たとえば、記事)110を利用可能にするために、シンジケーションチャネル(たとえば、RSSフィード)106を確立する。これに対して、加入者Bは、シンジケーションチャネル106に加入して、シンジケーション項目110を受け取る。さらに別の例では、発行者Aは、同じシンジケーションチャネル106を介して1つまたは複数の項目(たとえば、同期項目110−2および同期項目110−3)を発行し、または投稿することができる。共通通信ネットワーク108(たとえば、インターネット、イントラネットなど)を介して第1のデバイス102から第2のデバイス104にシンジケーション項目110が送信されると、加入者Bは、発行者Aによって発行されたシンジケーション項目110のコピーを受け取ることができる。
たとえば、加入者Bが直接加入することができる加入用のシンジケーションチャネル(たとえば、RSSフィード)を発行者Aが提供するウェブサイトを、発行者Aは操作することができる。別の例では、発行者Aは、加入者Bなど他のユーザがシンジケーションチャネル106に加入することができるように、ウェブシンジケーションアグリゲーションウェブサイトまたはサービスにシンジケーション項目110を提供/発行することができる。RSSプロトコルを用いて本発明の実施形態の例を説明するが、本発明の範囲から逸脱することなく、他のウェブシンジケーション形式またはプロトコルを用いることができることを理解されたい。
ここで図2A〜2Cを参照すると、ブロック図は、本発明の一実施形態による同期メタデータ202、アップデートメタデータ228、および同期サマリ230の例示的な実装形態を示す。たとえば、図1に示したように、加入者Bは、発行者Aによって発行され、または投稿されたシンジケーション項目110を受け取る。ただし、加入者Bが、発行者Aが発行した記事に誤字があることに気づき、記事をアップデートし、または修正したいとする。現在のプロトコルまたは慣行では、誤字があることを発行者Aに知らせるコメントをシンジケーションチャネル106に加入者Bが投稿することを許可するだけであろう。したがって、既存のプロトコルは、発行者Aが、ウェブシンジケーション項目110中に含まれるメディアコンテンツを修正し、またはアップデートすることができる単なる個人である単一マスタ単方向システムを許可する。加入者Bが、記事を受け取り、第2のデバイス104に格納したときに記事を修正することを望む場合、既存のウェブシンジケーションプロトコルは、アップデートされ、または修正された記事の、発行者Aへの同期送信を許可しない。
ここで、シンジケーション項目それぞれ(たとえば、シンジケーション項目110−1)における同期メタデータ202の確立または定義の実装形態を示す図2Aを参照する。本発明の態様では、シンジケーション項目への効率的な同期アップデートを達成するために、同期メタデータ202を各シンジケーション項目110に適用する。この例では、同期メタデータ202は、表1における以下のフィールド、およびそれに対応する説明を含む。
Figure 2009545815
一実施形態では、同期メタデータ202は、RSS形式の下で拡張マークアップ言語(XML)の「<history>」タグを使って実装することができる。一実施形態では、ウェブシンジケーション項目は、それに関連づけられたメディアコンテンツを記述するための、データ226など、他のデータまたはメタデータを含む。たとえば、RSSプロトコルの下の各ウェブシンジケーション項目は、「<item>」要素を用い、同期メタデータ202は、「<history>」子要素の下に含まれることになる。各<history>子要素は、少なくともitemIDフィールド204、「lastUpdater」フィールド206、および任意選択で「deleted」フィールド208を含む。一実施形態では、各ウェブシンジケーション項目110は、それに関連づけられたただ1つの<history>子要素を含む。
以前の記事を実例として用いて、発行者Aは、itemIDフィールド204において記事を「0000000000000001」として識別することができ、「lastUpdater」フィールド206は、発行者Aを識別する。発行者Aは、「deleted」フィールド208が任意選択のフィールドなので、フィールド208を空白にしておくことを望む場合がある。
各<history>子要素中で、ウェブシンジケーション項目110に対する変更または修正を行った一意のエンドポイント(たとえば、発行者Aまたは加入者B)の数に等しいアップデートメタデータ228の1つまたは複数のインスタンス。アップデートメタデータ228の各組は、「by」フィールド210および「sn」時間フィールド212を含む。たとえば、表2は、アップデートメタデータ228をさらに詳しく記述する。
Figure 2009545815
たとえば、初期段階で、発行者Aがウェブシンジケーション項目110を最初に発行するとき、「by」フィールド210は「発行者A」を含んでよく、「sn」時間フィールド212は、アップデートまたは変更が記録されるときを示す時間値を含んでよい。一実施形態では、「sn」時間フィールド212は、イベントに対する論理クロックを用いる分散型システムにおいてイベントを順序づけるのに使われるデータ構造であるクロックベクトル(または、ベクトルクロックとしても知られる)からの値でよい。言い換えると、「sn」時間フィールド212は、発行者Aがウェブシンジケーション項目110をアップデートした、第1のデバイス102内のクロック(たとえば、2006年7月12日(水)5:05PM GMT)に直接関連づけることはできない。さらに別の実施形態では、「sn」時間フィールド212は、仮想または論理クロック値でよい。本発明の範囲から逸脱することなく、他の仮想または論理クロック値表現を使ってもよい。
同期メタデータ202およびアップデートメタデータ228を定義することによって、本発明の実施形態は、ユーザまたはエンドポイント(たとえば、発行者Aおよび加入者B)がRSSを介して効率的に任意のデータの同期をとることを可能にする。さらに、本発明の態様は、同期メタデータ202およびアップデートメタデータ228(すなわち、「sn」時間フィールド212を含む)を、図2Bに示すユーザインターフェイス(UI)などのウェブシンジケーション項目110中のメディアコンテンツをユーザが修正するときにユーザに提示する。本代替実施形態において、ダイアログウィンドウ214は、ウェブシンジケーション項目がアップデートされる(または初めて作成される)と、同期メタデータ202およびアップデートメタデータ228をアップデートするダイアログウィンドウ214をユーザに提示することができることを示す。たとえば、ユーザは、発行されるべきウェブシンジケーション項目110に対応するitemIDフィールド204を確認することも修正することもできる。同様に、ユーザは、「lastUpdater」フィールド206に、ユーザを識別する識別値を入力する。ユーザは、任意選択で、「deleted」フィールド208に適切な情報を入力することもできる。アップデートメタデータ228において、ユーザは、「by」フィールド210に適切に入力を行い、「sn」フィールド212を増分することができる。
操作中、発行者Aは、メディアコンテンツ(たとえば、ドキュメント記事)をウェブシンジケーション項目110に関連づけることによって、第1のデバイス102でウェブシンジケーション項目110を作成する。ウェブシンジケーション項目110を作成すると、発行者Aは、itemID、「lastUpdater」、および/または「deleted」などの値を含むように同期メタデータ202を定義する。発行者Aは、他のユーザ(たとえば、加入者B)がウェブシンジケーションチャネル106に加入するためのウェブシンジケーションチャネル(たとえば、ウェブシンジケーションチャネル106)を介してウェブシンジケーション項目110を発行する。
したがって、発行者Aは、加入者Bから加入リクエストを受け取り、発行されたウェブシンジケーション項目110を加入者Bに送信する。同期メタデータ202およびアップデートメタデータ228は、最初は空でよく、加入者Bがウェブシンジケーション項目110を修正し、またはアップデートするときに加入者Bに提供される。加入者Bおよび他の加入者がウェブシンジケーション項目110のメディアコンテンツの修正に寄与するとき、本発明の実施形態は、ウェブシンジケーションチャネルを用いる双方向マルチマスタ(たとえば、コンテンツ修正権をもつマルチユーザ)通信を提供する。また、ウェブシンジケーションの発行者または加入者に、ウェブシンジケーション項目に関連づけられた不必要なメタデータを殺到させることなく、本発明の態様は、方式を簡単にし、所望の結果を遂行するための最も適切な情報を提供する。
説明した同期メタデータ202およびアップデートメタデータ228中のフィールドは、一定のキャラクタ長またはデータタイプ(たとえば、16バイトや「string」データタイプ)を必要とするが、他のデータタイプ、要件、またはデータ表示を、本発明の範囲から逸脱することなく用いて実装してもよい。
一実施形態では、ウェブシンジケーション項目の衝突検出および競合解決を実施形態が可能にする。たとえば、加入者Bが発行者Aからウェブシンジケーション項目110を受け取った後、加入者Bが、メディアコンテンツを修正する(たとえば、誤字を訂正する)ことによって、ウェブシンジケーション項目をアップデートすることを望むとする。加入者Bは続いて、メディアコンテンツに対する変更を行い、同期メタデータ202に適切な情報を入力することができる(たとえば、「lastUpdater」=加入者B)、アップデートメタデータ228(たとえば、「by」=加入者B、「sn」=50)。この情報/変更を、発行者Aまたは同じウェブシンジケーションチャネル106に加入している他のユーザに折り返し伝達するために、加入者Bは続いて、アップデートされたウェブシンジケーション項目を発行することができる。
ここで図2Cを参照すると、ブロック図は、ウェブシンジケーションチャネル106用の同期サマリ230の例示的な実装形態を示す。一実施形態では、同期サマリ230は、所与のフィードに対する全項目向けのデータ、メタデータ、および/または他の情報を含む。別の実施形態では、同期サマリ230は、ウェブシンジケーションチャネル106に関連づけられた全ウェブシンジケーション項目に対して行われた全アップデートも含む。代替実施形態および例外的ケースでは、同期サマリ230は、ベクトル情報をもち得る項目に関連づけられたデータ、メタデータ、および/または情報を含むことができない。言い換えると、各シンジケーション項目は、各シンジケーション項目およびそれ関連づけられた他の情報に対して行われたアップデートを記載する同期サマリをもつことになる。
限定ではなく例示の目的でのみ、シンジケーションチャネル106が1つのシンジケーション項目だけを含むとき、図2Cの同期サマリ230は、図2Aに示すアップデートメタデータと合致する。同期サマリ230を用いて、発行者Aおよび加入者Bを含むユーザは、ウェブシンジケーションチャネル106に属すウェブシンジケーション項目のアップデート履歴を吟味することができる。
一実施形態では、ウェブシンジケーション項目が加入者Bによってアップデートされると、アップデートされた情報は、自動的に送信され、同期サマリ230中でアップデートされる。たとえば、発行者Aによって発行された記事に対する変更を加入者Bが完了した後、アップデート情報(たとえば、「lastUpdater」=加入者B、「sn」=50)は、ウェブシンジケーションチャネルの同期サマリ230と同期される。一実施形態では、ウェブシンジケーションチャネル向けの同期サマリ230は最初に、同一のサマリコンテンツがウェブシンジケーション項目のアップデートメタデータ228に既に含まれているかどうか判定するために分析される。含まれない場合、同期サマリ230は、アップデートメタデータ228中の情報でアップデートされる。
代替実施形態では、発行者Aが加入者Bからアップデートされたメディアコンテンツを受け取ると、本発明の実施形態は、アップデートメタデータ228および同期メタデータ202に応じて、メディアコンテンツの2つのバージョンの間に衝突があるかどうか、発行者Aが判定することを可能にする。この例では、加入者Bからアップデートされたメディアコンテンツを受け取ると、発行者Aは、加入者Bからのアップデートされたメディアコンテンツ中の「lastUpdater」中の値を、自分がウェブシンジケーション項目に含めた元のメディアコンテンツ中の「lastUpdater」値と比較する。値が互いと同一である場合、発行者Aは次に、仮想クロック値(たとえば、「sn」値)を比較して、どちらのバージョンが後からアップデートされたか判定することができる。アップデートされたメディアコンテンツの「sn」値が元のメディアコンテンツの「sn」値より大きい場合、アップデートされたメディアコンテンツが、メディアコンテンツのアップデートされたバージョンである。アップデートされたメディアコンテンツの「sn」値が元のメディアコンテンツの「sn」値以下の場合、元のメディアコンテンツが、加入者Bからのバージョンより最新である。
あるいは、「lastUpdater」値が異なる場合、発行者Aは続いて、アップデートメタデータ228がアップデートされたメディアコンテンツにある、バージョン中の「lastUpdater」情報と合致する情報(たとえば、「by」値)を含むか、それともその反対であるか評価することができる。含まれる場合、どちらのバージョンがより直近のものであるかに関して衝突はない。含まれない場合、どちらのバージョンが最も直近のものであるかに関して衝突がある。
発行者Aによって作成された記事の例では、加入者Bが元のメディアコンテンツに対する変更を行ったので、「lastUpdater」は異なる。発行者Aは、アップデートされたメディアコンテンツのアップデートメタデータ228を調べると、加入者Bがメディアコンテンツをアップデートする前に自分がメディアコンテンツを作成したことに気がつくはずである。したがって、衝突はなく、同期サマリ230は、メディアコンテンツの完全なアップデート履歴を正しく含み、元のメディアコンテンツは、アップデートされたメディアコンテンツで置き換えられる。
衝突がある状況において、一実施形態では、発行者には、UI(たとえば、UI310)を介して衝突を解決する任意の選択肢のリストを提示することができる。一例では、2つのエンドポイントまたはユーザが、他方による変更を知らずにウェブシンジケーション項目に対して独自の変更を行ったとき、結果として衝突が生じる。衝突を検出する一例は、同期メタデータ202中の「lastUpdater」フィールド(図4Cで詳しく説明する)およびアップデートメタデータ228の「by」フィールドを調べることであり得る。本発明の範囲から逸脱することなく、他の衝突検出機構または方法を利用してもよい。本発明の別の態様では、衝突検出機構を不能にしてよい。さらに別の代替実施形態では、衝突検出機構は、ウェブシンジケーション項目、ウェブシンジケーションチャネル、または両方に関連づけられたそれ以外および追加のメタデータまたは情報を評価することができる。本発明の範囲から逸脱することなく、他の衝突検出および/または解像度機構および方式を用いることもできる。
衝突が検出されると、ユーザには、メディアコンテンツのどちらのバージョンがウェブシンジケーション項目の優先バージョンとして使われるべきか選択するためのオプションのリストを提供することができる。たとえば、オプションは、以下を含み得る。
1.ローカルバージョンが常に優先する、
2.リモートバージョンが常に優先する、
3.リモートバージョンの「lastUpdater」値が元の発行者に等しい場合、リモートバージョンが優先する。それ以外の場合、ローカルバージョンが優先する。本発明の範囲から逸脱することなく、ユーザによって他の競合解決を構成しカスタマイズすることもできる。
衝突が解決されると、優先バージョンが、アップデートメタデータ228、同期メタデータ202、および同期サマリ230中でアップデートされる。代替実施形態では、競合解決技法により、ある特定のバージョンが選ばれ、または選ばれなかったことを示すように、任意選択の衝突メタデータが提供される。
別の代替実施形態では、発行者Aがウェブシンジケーション項目のメディアコンテンツを消去することを望む場合、発行者Aは、任意選択で、「deleted」フィールド208に情報を入力することができ、同期メタデータ202は、このような消去情報も含むことになる。
ここで図3を参照すると、ブロック図は、本発明の一実施形態による、ウェブシンジケーションチャネルの同期サマリをアップデートするシステム300を示す。この例示において、1人または複数のウェブシンジケーションユーザ302が、ウェブシンジケーションチャネル(たとえば、RSSフィード)304に加入し、または寄与する。たとえば、ウェブシンジケーションユーザはウェブシンジケーション項目110をアップデートすることができるので、ウェブシンジケーションユーザ302は、発行者および加入者両方になり得る。ウェブシンジケーション項目110は、最初に発行された後、データストア306に格納し、サーバコンピュータ312で利用可能にすることができる。たとえば、ウェブシンジケーション項目110は、発行者によって維持されるウェブサイトで利用可能になってよく、プロセッサ308が、ウェブシンジケーションユーザ302とウェブシンジケーション項目110との間の対話を処理するコンピュータ実行可能命令を実行する。
別の実施形態では、プロセッサ308は、ウェブシンジケーションユーザ302とウェブシンジケーション項目110との間の対話を提供するユーザインターフェイス(UI)310を管理するように構成される。たとえば、UI310は、ウェブシンジケーションユーザ302に図2Bのウィンドウ214などのダイアログウィンドウを提示することもトリガすることもできる。別の実施形態では、UI310は、ウェブシンジケーション項目110に対する同期アップデートに影響を与えるように、ウェブシンジケーションユーザ302にアップデートメタデータ228または同期メタデータ202の一部を投射することができる。ウェブシンジケーションユーザ302はそれぞれ、サーバコンピュータ312または他のウェブシンジケーションユーザ302から離れた場所に物理的に配置してよいことも理解されよう。
ウェブシンジケーション項目110の様々なバージョンがある場合、同期サマリ230は、ウェブシンジケーション項目110の各バージョンのアップデートメタデータ228および同期メタデータ202中で指示された情報を正しく含む。たとえば、ウェブシンジケーション項目の第1のバージョンおよびウェブシンジケーション項目の第2のバージョンが(たとえば、第1のデバイス102、第2のデバイス104、またはサーバコンピュータ312で)受け取られるとする。ウェブシンジケーション項目の第1のバージョンは、ウェブシンジケーション項目の第1のアップデートを示し、ウェブシンジケーション項目の第2のバージョンは、ウェブシンジケーション項目の第2のアップデートを示す。ウェブシンジケーションチャネル向けに同期サマリ230が(まだ定義されていない場合は)定義され、同期サマリ230は、所与のウェブシンジケーションチャネル向けの全ウェブシンジケーション項目に関連づけられた履歴を記述する。ウェブシンジケーション項目110のバージョンそれぞれに対する同期メタデータ202がアグリゲート(aggregate)され、アグリゲートされた同期メタデータの順序が決定される。次に、同期サマリ230が、ウェブシンジケーション項目のバージョンから、決定された同期メタデータの順序でアップデートされる。
一実施形態では、同期サマリ230は、ウェブシンジケーション項目の全バージョンにある同期メタデータをマージ(merge)する。この例では、同期サマリ230が、ウェブシンジケーション項目110の2つのバージョンにある同期メタデータ202をマージしている最中であるとし、2つのバージョンの一方が他方に優先すると(たとえば、上述した1つまたは複数の競合解決技法を用いて)既に判定されているとする。同期サマリ230は最初に、同期サマリ230中の「lastUpdater」値を、優先「lastUpdater」に等しくなるように設定する。次に、2つのバージョンのアップデートメタデータ228中の各アップデートエントリごとに、同期サマリ230は、共通の「by」属性をもつ、両方のバージョンにある各アップデートエントリを含め、2つのバージョンにある大きい方の「sn」値を同期サマリ230に適用する。
たとえば、両方のバージョンが、そのアップデートメタデータ中に、発行者Aが「by」フィールドの1つにあることを含む場合、優先バージョンが250の「sn」値をもち、非優先バージョンは、200の「sn」値をもつ。この状況において、同期サマリは、「by」=「発行者A」、「sn」=「250」というエントリをもつことになる。
また、同期サマリ230は、両方のバージョンには共通しない、アップデートメタデータ228中の残りのアップデートエントリを追加する。
さらに別の実施形態では、ユーザがウェブシンジケーション項目110の様々なバージョンを選択することができるように、サーバコンピュータ312は、同期サマリ230中に列挙される、ウェブシンジケーション項目110のバージョンそれぞれのコピーを含み得る。
ここで図4A〜4Cは、本発明の一実施形態による、ウェブシンジケーション項目とウェブシンジケーションチャネルとの同期をとる操作を示すフローチャートである。図4Aは、その中に同期メタデータを組み込むウェブシンジケーション項目を作成するフローチャートを示す。402で、ユーザ(たとえば、発行者A)が、メディアコンテンツ(たとえば、ドキュメント記事)を関連づけ、またはウェブシンジケーション項目(たとえば、RSSフィード項目)中に含めることによって、ウェブシンジケーション項目を準備する。404で、ユーザは、ウェブシンジケーション項目に関連づけられた適切なメタデータを作成し、または生成する。たとえば、ユーザは、同期メタデータ中のフィールド(たとえば、<history>子要素>中のフィールド)に入力を行うことができる。406で、ウェブシンジケーション項目のアップデートメタデータを調べることによって、ウェブシンジケーション項目が初めて作成されるのかどうか判定されることになる。ウェブシンジケーション項目が初めて作成される場合、410でアップデートメタデータが作成される。ユーザは、412で、「by」フィールドおよび「sn」値など、アップデートメタデータに適切な情報を入力する。ユーザは次に、414でウェブシンジケーション項目を発行する。
ウェブシンジケーション項目が新規作成された項目ではないと判定された場合、図4Bは、ユーザが408にどのように進んで、ウェブシンジケーション項目に関連づけられたメタデータをアップデートする操作をさらに実施するかを示す。たとえば、ユーザは、発行者Aまたは加入者Bのどちらでもよいが、ウェブシンジケーション項目の既存のメディアコンテンツをアップデート済みである可能性がある。したがって、416で、ウェブシンジケーション項目がアップデート済みであるかどうか判定されることになる。アップデートが必要とされない場合、ユーザは、418で図4Aの414に戻る。ウェブシンジケーション項目がアップデート済みである場合、420で同期メタデータが識別される。
たとえば、本発明の実施形態による同期メタデータは、少なくとも<history>子要素および<update>要素のリスト(追加詳細については、上の図2Aを参照)を含む。識別されると、ユーザは、422でウェブシンジケーション項目のアップデートメタデータおよび同期メタデータをアップデートすることができる。たとえば、ユーザは、「by」値、「sn」値、および「lastUpdater」値などの情報を入力することになる。任意選択で、ユーザは、ウェブシンジケーション項目が消去されるべきかどうかを示すための情報を入力してよい。
ここで図4Cを参照すると、フローチャートは、本発明の一実施形態による、同期メタデータおよびアップデートメタデータに応じてウェブシンジケーション項目の1つまたは複数のバージョンの同期をとる操作を示す。限定ではなく例示の目的でのみ、ローカル同期項目446が、ウェブシンジケーション項目のあるバージョンを表し、リモート同期項目が、ウェブシンジケーション項目の別のバージョンを表す。424で、ユーザ(たとえば、発行者A、加入者B、またはサーバコンピュータ312)は、リモート同期項目を受け取る。426で、ローカル同期項目446の同期メタデータは、リモート同期項目の同期メタデータと比較される。428で、リモート同期項目の「lastUpdater」値がローカル同期項目の「lastUpdater」値と等しいかどうか判定されることになる。値が同じ場合、衝突がないと判定される。次のステップは、どちらのバージョンが優先バージョンとして使われるべきか432で判定することである。一技法によると、ローカル同期項目の「sn」値がリモート同期項目の「sn」値以下の場合、434でリモート同期項目が優先バージョンになる。リモート同期項目の「sn」値がローカル同期項目の「sn」値以下の場合、436でローカル同期項目が優先するべきである。
一方、ローカルおよびリモート同期項目の「lastUpdater」値が同じでない場合、ローカル同期項目の「lastUpdater」がリモート同期項目のアップデートメタデータ中にあるかどうか、430で判定されることになる。たとえば、ローカル同期項目の「lastUpdater」がリモート同期項目のアップデートメタデータ中にあるかどうか判定する際、ローカル同期項目の「sn」フィールド(たとえば、仮想クロック値)は、リモート同期項目の「sn」フィールドと比較される。別の例では、仮想または論理クロック値を、どちらのバージョン(すなわち、ローカル同期項目またはリモート同期項目)が優先するべきか判定するためのクロックベクトル包含チェックとして使うことができるように、他の仮想または論理クロック値または表現を使うことができる。
判定が肯定的な場合、440でリモート同期項目が優先バージョンになる。一方、リモート同期項目の「lastUpdater」がローカル同期項目のアップデートメタデータ中にある場合、ローカル同期項目が優先バージョンになる。ウェブシンジケーション項目のどちらかのバージョンのアップデートメタデータ中に「lastUpdater」値が見つからない場合は、衝突があり、ユーザは、438で衝突を解決するための様々なオプションを提示される。優先バージョンが判定され、または衝突が解決されると、同期メタデータおよびアップデートメタデータは、444で、優先バージョンにある適切な情報を含むようにアップデートされる。
図5は、本発明の一実施形態による、ウェブシンジケーション項目の同期を可能にするデータ構造500を示す。一例では、シンジケーションチャネル530は、シンジケーション項目502など、1つまたは複数のシンジケーション項目を含み得る。シンジケーション項目502は、メディアコンテンツ532およびメディアコンテンツ532に関連づけられた関連データまたはメタデータを含む。データ構造500は、XMLタグの形などの、1組の標準メタデータ504をも含む。データ構造500は、メディアコンテンツ532のバージョンの同期をとる同期メタデータ506を含む。たとえば、同期メタデータ506は、XML形式の<history>子要素として表され、itemIDフィールド510、lastUpdaterフィールド512、および任意選択のdeletedフィールド514というフィールドを含む。同期メタデータ506は、1つまたは複数のアップデートフィールド516を含むアップデートメタデータ508も含む。各アップデートフィールド516は、「by」および「sn」という下位フィールドを含む。
シンジケーションチャネル530は、1つまたは複数のアップデートフィールド524をさらに含む同期サマリ522(および図2Cに示す標準メタデータ230)も含む。各シンジケーション項目502は、同期サマリを含み、同期サマリは、シンジケーション項目502に対して行われた全アップデートを含む。アップデートフィールド524はそれぞれ、「by」および「sn」という下位フィールドも含む。
図6は、本発明の態様を格納することができる例示的なコンピュータ可読媒体602を示すブロック図である。たとえば、コンピュータ可読媒体602は、それに関連づけられたメディアコンテンツを含むウェブシンジケーション項目を発行する発行者コンポーネント604を含む。定義コンポーネント606が、発行されたウェブシンジケーション項目に関連づけられた第1の仮想クロック値を含む同期メタデータを定義し、前記第1の仮想クロック値は、ウェブシンジケーションが最後にアップデートされたときを示す。コンピュータ可読媒体602は、加入者からの、発行されたウェブシンジケーション項目への加入を求めるリクエストを受け取るインターフェイスコンポーネント608も含む。通信コンポーネント610が、受け取ったリクエストに応答して、発行されたウェブシンジケーション項目を、発行者から離れているとともに加入者によってアクセス可能な場所に送信する。インターフェイスコンポーネント608は、第1の仮想クロック値を含むシンジケーションメタデータを加入者に提供し、同期コンポーネント612は、加入者が、発行者から離れた場所でメディアコンテンツを修正するときに第1の仮想クロック値を修正する(たとえば、増分する)ことを許可する。
一実施形態では、同期コンポーネント612は、加入者が修正の代わりに新規仮想クロック値を追加することを許可する。さらに別の実施形態では、衝突コンポーネント614が、発行されたウェブシンジケーション項目が発行者から離れた場所に送信されるときにその場所でウェブシンジケーション項目のバージョンを検出し得る。代替実施形態では、衝突コンポーネント614は、発行されたウェブシンジケーション項目が、衝突コンポーネント614によって検出される、発行者から離れた場所でウェブシンジケーション項目のバージョンとの衝突を起こすかどうか判定することができる。衝突コンポーネント614は、衝突を解決するための1つまたは複数の選択肢を加入者に提示することも、自動化または予め設定された好みにより、判定された衝突を解決することもできる。さらに別の代替実施形態では、バージョンコンポーネント616が、同期メタデータに含まれる修正履歴のリストにより、加入者に1つまたは複数のバージョンを提供し得る。
図7は、本発明の代替態様を格納することができる例示的なコンピュータ可読媒体702を示すブロック図である。たとえば、コンピュータ可読媒体702は、ウェブシンジケーションチャネルを介して、ウェブシンジケーション加入のためのシンジケーションサマリおよびウェブシンジケーション項目の1つまたは複数のバージョン向けのウェブ同期メタデータを定義するメモリコンポーネント704を含む。アグリゲーションコンポーネント706が、ウェブシンジケーションサマリ中のユーザからの、ウェブシンジケーション項目の1つまたは複数のバージョンのウェブ同期メタデータをアグリゲートする。たとえば、ウェブシンジケーション項目の1つまたは複数のバージョンは、ユーザによる1つまたは複数のアップデートおよび様々な期間を含み、これらは、アップデートに関連づけられたウェブシンジケーションメタデータに含まれ得る。
コンピュータ可読媒体702は、指示されたアップデートおよび様々な期間に応じてシンジケーションサマリ中のバージョンのアグリゲートされた1つまたは複数のウェブ同期メタデータの順序を決定する決定コンポーネント708も含む。1つまたは複数のアグリゲートされたバージョンがユーザに提供されるように、アップデートコンポーネント710が、決定された順序によって、ウェブシンジケーションサマリをアップデートする。代替実施形態では、UIコンポーネント712が、1つまたは複数のアグリゲートされたバージョンを、決定された順序でユーザに提供する。
本明細書において示し説明した本発明の実施形態における実行の順序または操作の実施は、別段の指定がない限り、本質的でない。つまり、操作は、別段の指定がない限り、どの順序で実施してもよく、本発明の実施形態は、追加または本明細書で開示したものより少ない操作を含んでよい。たとえば、ある特定の動作を別の動作の前に、それと同時に、またはその後で実行しまたは実施することも、本発明の態様の範囲内であることが企図される。
本発明の実施形態は、コンピュータ実行可能命令を用いて実装することができる。コンピュータ実行可能命令は、1つまたは複数のコンピュータ実行可能コンポーネントまたはモジュールに編成することができる。本発明の態様は、任意の数または編成によるこのようなコンポーネントまたはモジュールで実装することができる。たとえば、本発明の態様は、図面に示し本明細書において説明した具体的なコンピュータ実行可能命令あるいは具体的なコンポーネントまたはモジュールに限定されない。本発明の他の実施形態は、本明細書において示し説明したものより多くの、またはより少ない機能性を有する異なるコンピュータ実行可能命令またはコンポーネントを含み得る。
本発明の態様またはその実施形態の要素を引き合いに出した際、冠詞「a」、「an」、「the」、および「前記」は、要素の1つまたは複数があることを意味することを意図している。「備える」、「含む」、および「有する」という用語は、包含的であるとともに記載した要素以外の追加要素があり得ることを意味することを意図している。
本発明の態様を詳しく説明したが、添付の特許請求の範囲で定義される本発明の態様の範囲から逸脱することなく、修正形態および変形形態が可能であることが明らかであろう。本発明の態様の範囲から逸脱することなく、上記構造、製品、および方法において様々な変更を行うことができるので、上記説明に含まれるとともに添付の図面に示す全内容は、例示的であり限定的意味ではないと解釈されるべきであることを意図するものである。

Claims (20)

  1. 発行者と加入者との間で、リアリーシンプルシンジケーション(RSS)形式を介してウェブシンジケーション項目(110)の同期をとる方法であって、
    前記発行者によって、前記ウェブシンジケーションに関連づけられたメディアコンテンツを含む前記ウェブシンジケーション(110)項目を発行するステップと、
    前記発行されたウェブシンジケーション項目(110)に関連づけられた第1の仮想クロック値を含む同期メタデータ(202)を定義するステップと、
    ここで、前記第1の仮想クロック値は、前記ウェブシンジケーション項目(110)が最後にアップデートされたときを示し、
    前記加入者から、前記発行されたウェブシンジケーション項目(110)への加入を求めるリクエストを受け取るステップと、
    前記受け取ったリクエストに応答して、前記発行されたウェブシンジケーション項目(110)を、前記発行者から離れているとともに前記加入者によってアクセス可能な場所に送信するステップと、
    前記第1の仮想クロック値を含む前記同期メタデータ(202)を前記加入者に提供するステップと、
    前記加入者が、前記発行者から離れた前記場所で前記メディアコンテンツを修正するとき、前記加入者が前記第1の仮想クロック値を修正することを許可するステップと
    を具えたことを特徴とする方法。
  2. 前記ウェブシンジケーション項目(110)に関連づけられた前記メディアコンテンツを前記加入者が修正するときに対応する別の仮想クロック値を挿入することによって、前記第1の仮想クロック値への前記修正を、前記同期メタデータ(202)に前記加入者が保存することを許可するステップをさらに具えたことを特徴とする請求項1記載の方法。
  3. 前記発行されたウェブシンジケーション項目(110)が前記場所に送信されるとき、前記発行者から離れた前記場所で前記ウェブシンジケーション項目(110)のバージョンを検出するステップをさらに具え、
    前記ウェブシンジケーション項目(110)の前記バージョンは、前記第1の仮想クロック値とは異なるときに前記発行されたウェブシンジケーション項目(110)の前記メディアコンテンツが修正されていることを示す第2の仮想クロック値を前記同期メタデータ(202)中に含むことを特徴とする請求項1記載の方法。
  4. 発行されたウェブシンジケーション項目が、前記発行者から離れた前記場所で、前記ウェブシンジケーション項目(110)の前記バージョンとの衝突を起こすかどうか判定するステップをさらに具え、
    前記衝突は、前記ウェブシンジケーション項目(110)の前記メディアコンテンツが前記第1の仮想クロック値、前記第2の仮想クロック値および前記発行されたウェブシンジケーションコンテンツの前記メディアコンテンツを最後にアップデートするユーザの機能に応じて異なることを示すことを特徴とする請求項3記載の方法。
  5. 判定するステップは、前記第1の仮想クロック値を前記第2の仮想クロック値と比較するステップを含むことを特徴とする請求項4記載の方法。
  6. 請求項5の前記比較するステップに応答して、競合解決オプションのリストを前記加入者に提供するステップをさらに具えたことを特徴とする請求項5記載の方法。
  7. 前記判定するステップに基づいて、修正履歴のリストを前記加入者に提示するステップをさらに具えたことを特徴とする請求項3記載の方法。
  8. 修正履歴の前記リストに従って、1つまたは複数のバージョンを前記加入者に提供するステップをさらに具えたことを特徴とする請求項7記載の方法。
  9. 1つまたは複数のコンピュータ可読媒体は、請求項1に記載の方法を実行するコンピュータ実行可能命令を有することを特徴とする請求項1記載の方法。
  10. リアリーシンプルシンジケーション(RSS)形式によるウェブシンジケーションチャネル(106)をアップデートする方法であって、
    ウェブシンジケーション項目(110)の第1のバージョンおよび前記ウェブシンジケーション項目(110)の第2のバージョンを受け取るステップと、
    ここで、前記ウェブシンジケーション項目(110)の前記第1のバージョンは、前記ウェブシンジケーション項目(110)に対する第1のアップデートを示し、前記ウェブシンジケーション項目(110)の前記第2のバージョンは、前記ウェブシンジケーション項目(110)に対する第2のアップデートを示し、
    前記ウェブシンジケーションチャネル用のシンジケーションサマリ(230)を定義するステップと、
    ここで、前記定義されたシンジケーションサマリ(230)は、前記ウェブシンジケーション項目(110)に関連づけられた情報を記述し、
    前記シンジケーションサマリ(230)中の前記ウェブシンジケーション項目(110)の第1のバージョンおよび前記第2のバージョンに関連づけられたウェブ同期メタデータ(202)をアグリゲートするステップと、
    前記指示されたアップデートの機能に応じて、前記シンジケーションサマリ(230)中の前記バージョンの前記アグリゲートされたウェブ同期メタデータ(202)の順序を決定するステップと、
    前記1つまたは複数のアグリゲートされたバージョンがユーザに提供されるように、決定された順序に従って、前記シンジケーションサマリ(230)をアップデートするステップと
    を具えたことを特徴とする方法。
  11. 前記決定するステップは、前記ウェブシンジケーション項目(110)の前記第1のバージョンおよび前記第2のバージョンに関連づけられた同期メタデータ(202)を分析するステップを含み、
    前記同期メタデータ(202)は、前記ウェブシンジケーション項目(110)のバージョンに対応する仮想クロック値を含むことを特徴とする請求項10記載の方法。
  12. 前記分析するステップは、前記ウェブシンジケーション項目(110)の前記バージョンそれぞれの前記仮想クロック値それぞれを比較して、前記シンジケーションサマリ(230)中の前記1つまたは複数のアグリゲートされたバージョンの順序を決定するステップを含むことを特徴とする請求項11記載の方法。
  13. 前記ウェブシンジケーション項目(110)の前記第1のバージョンと前記第2のバージョンとの間の衝突を検出するステップをさらに具え、
    ここで、前記衝突は、前記ウェブシンジケーション項目(110)の前記バージョンが前記第1のバージョン、前記第2のバージョン、前記第1の仮想クロック値、前記第2の仮想クロク値および前記ウェブシンジケーション項目(110)を最後にアップデートするユーザの機能に応じて異なることを示すことを特徴とする請求項10記載の方法。
  14. 前記アップデートするステップは、衝突がない場合、前記ウェブシンジケーションサマリ(230)中で、前記第1のバージョンの前記ウェブ同期メタデータ(202)を、前記第2のバージョンの前記ウェブ同期メタデータ(202)とマージするステップを含むことを特徴とする請求項13記載の方法。
  15. ユーザによって実施される競合解決の結果をユーザに提供するステップをさらに具えたことを特徴とする請求項13記載の方法。
  16. ウェブシンジケーション加入に基づいて送信されるウェブシンジケーション項目(110)の同期をとるシステムであって、
    前記ウェブシンジケーション加入のためのウェブシンジケーションサマリ(306)および前記ウェブシンジケーション項目(110)の1つまたは複数のバージョン向けのウェブ同期メタデータ(202)を格納するデータ記憶手段と、
    コンピュータ実行可能命令を実行するように構成されたプロセッサ(308)と
    を具え、
    該プロセッサは、
    前記ウェブシンジケーション加入のための前記シンジケーションサマリ(230)を、前記ウェブシンジケーション項目(110)に関連づけられた情報を含むように定義する手段と、
    前記ウェブシンジケーションサマリ(230)中の、ユーザからの前記ウェブシンジケーション項目(110)の前記1つまたは複数のバージョンの前記ウェブ同期メタデータ(202)をアグリゲートする手段と、
    ここで、前記1つまたは複数のバージョンは、様々な期間での前記ユーザによる1つまたは複数のアップデートを示し、
    前記指示されたアップデートおよび前記様々な期間の機能に応じて、前記シンジケーションサマリ(230)中の前記バージョンの前記1つまたは複数のアグリゲートされたウェブ同期メタデータ(202)の順序を決定する手段と、
    前記1つまたは複数のアグリゲートされたバージョンが前記ユーザに提供されるように、決定された順序に従って、前記ウェブシンジケーションサマリ(230)をアップデートする手段と
    を含むことを特徴とするシステム。
  17. 前記1つまたは複数のアグリゲートされたバージョンを決定された順序で、前記ユーザに提供するユーザインターフェイス(UI)(310)をさらに具えたことを特徴とする請求項16記載のシステム。
  18. 前記ウェブシンジケーション項目(110)の前記バージョンはそれぞれ、前記ユーザによる前記ウェブシンジケーション項目(110)に対するアップデートの履歴を記述する前記ウェブ同期メタデータ(202)を含むことを特徴とする請求項16記載のシステム。
  19. 前記ウェブ同期メタデータ(202)は、前記ウェブシンジケーション項目(110)を最後にアップデートするユーザを識別するメタデータ、および前記最終アップデートが実行されるときの期間を記述するメタデータを含むことを特徴とする請求項16記載のシステム。
  20. 前記プロセッサ(308)は、前記1つまたは複数のバージョンの前記ウェブ同期メタデータ(202)を、前記ウェブシンジケーションサマリ(230)中の前記ウェブシンジケーション項目(110)とマージするように構成されることを特徴とする請求項16記載のシステム。
JP2009522817A 2006-07-31 2007-07-26 ウェブシンジケーションを介した双方向マルチマスタ同期 Expired - Fee Related JP5007339B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/461,351 2006-07-31
US11/461,351 US7653640B2 (en) 2006-07-31 2006-07-31 Two-way and multi-master synchronization over web syndications
PCT/US2007/017006 WO2008016560A1 (en) 2006-07-31 2007-07-26 Two-way and multi-master synchronization over web syndications

Publications (3)

Publication Number Publication Date
JP2009545815A true JP2009545815A (ja) 2009-12-24
JP2009545815A5 JP2009545815A5 (ja) 2010-07-29
JP5007339B2 JP5007339B2 (ja) 2012-08-22

Family

ID=38997471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009522817A Expired - Fee Related JP5007339B2 (ja) 2006-07-31 2007-07-26 ウェブシンジケーションを介した双方向マルチマスタ同期

Country Status (7)

Country Link
US (1) US7653640B2 (ja)
EP (1) EP2047382B1 (ja)
JP (1) JP5007339B2 (ja)
KR (1) KR101485613B1 (ja)
CN (1) CN101496000B (ja)
TW (1) TWI363996B (ja)
WO (1) WO2008016560A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334723A (ja) * 2006-06-16 2007-12-27 Yokogawa Electric Corp 情報配信システム
US8370423B2 (en) * 2006-06-16 2013-02-05 Microsoft Corporation Data synchronization and sharing relationships
JP5106943B2 (ja) * 2006-08-21 2012-12-26 株式会社リコー 電子装置、システムおよび制御方法
US8453066B2 (en) * 2006-11-06 2013-05-28 Microsoft Corporation Clipboard augmentation with references
US8751442B2 (en) 2007-02-12 2014-06-10 Microsoft Corporation Synchronization associated duplicate data resolution
US7933296B2 (en) * 2007-03-02 2011-04-26 Microsoft Corporation Services for data sharing and synchronization
US7900203B2 (en) * 2007-04-24 2011-03-01 Microsoft Corporation Data sharing and synchronization with relay endpoint and sync data element
US7725456B2 (en) * 2007-04-27 2010-05-25 Microsoft Corporation Item management with data sharing and synchronization
US20080288983A1 (en) 2007-05-18 2008-11-20 Johnson Bradley G System and Method for Providing Sequential Video and Interactive Content
US20090049380A1 (en) * 2007-08-16 2009-02-19 Joshua Allen Rehling Page Modules and States
US8302013B2 (en) * 2007-08-16 2012-10-30 Yahoo! Inc. Personalized page modules
US9401957B2 (en) * 2007-09-14 2016-07-26 International Business Machines Corporation System and method for synchronization between servers
US8386387B2 (en) * 2007-12-21 2013-02-26 Utrom Processing Co. L.L.C. System and method for tracking syndication of internet content
US8185495B2 (en) * 2008-02-01 2012-05-22 Microsoft Corporation Representation of qualitative object changes in a knowledge based framework for a multi-master synchronization environment
US20090199242A1 (en) * 2008-02-05 2009-08-06 Johnson Bradley G System and Method for Distributing Video Content via a Packet Based Network
US8296671B2 (en) 2008-05-01 2012-10-23 Microsoft Corporation Enabling access to rich data by intercepting paste operations
US20090282100A1 (en) * 2008-05-12 2009-11-12 Kim Sang J Method for syndicating blogs and communities across the web
US8265990B2 (en) * 2008-05-15 2012-09-11 Utrom Processing Co. L.L.C. Method and system for selecting and delivering media content via the internet
US20100131940A1 (en) * 2008-11-26 2010-05-27 Microsoft Corporation Cloud based source code version control
US8341099B2 (en) 2010-03-12 2012-12-25 Microsoft Corporation Semantics update and adaptive interfaces in connection with information as a service
CN101867605A (zh) * 2010-05-21 2010-10-20 中兴通讯股份有限公司 提高rss业务同步效率的方法、装置和系统
CN101931624B (zh) * 2010-08-06 2014-09-10 中兴通讯股份有限公司 一种rss订阅方法、rss移动终端及订阅服务器
CN101977217A (zh) * 2010-10-15 2011-02-16 中兴通讯股份有限公司 Widget更新方法、系统、Widget客户端及Widget服务器
US9058333B2 (en) * 2011-03-02 2015-06-16 Microsoft Technology Licensing, Llc Publishable metadata for content management and component testing
US9247272B2 (en) * 2011-10-05 2016-01-26 Timothy Murphy Network of collaborative online shows
CN103220336B (zh) * 2013-03-21 2016-01-27 中国科学院计算技术研究所 一种文件同步中向量时钟的实现方法及系统
CN103634410B (zh) * 2013-12-12 2017-01-11 北京奇安信科技有限公司 基于内容分发网络cdn的数据同步方法,客户端及服务器
US9953033B2 (en) * 2014-05-29 2018-04-24 Apple Inc. Wireless content synchronization
US10051020B2 (en) * 2015-06-26 2018-08-14 Microsoft Technology Licensing, Llc Real-time distributed coauthoring via vector clock translations
CN113778329B (zh) * 2021-06-30 2023-12-22 济南浪潮数据技术有限公司 一种数据聚合方法、装置、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005089336A2 (en) * 2004-03-15 2005-09-29 Yahoo! Inc. Integration of personalized portals with web content syndication
JP2005284334A (ja) * 2004-03-26 2005-10-13 Oki Electric Ind Co Ltd Webページ更新通知方法及び装置
JP2006059032A (ja) * 2004-08-18 2006-03-02 Business Online:Kk 商品情報の提供装置、提供方法、提供プログラム及びそのプログラムを記録した記録媒体
JP2006099341A (ja) * 2004-09-29 2006-04-13 Bank Of Tokyo-Mitsubishi Ufj Ltd 更新履歴生成装置及びプログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098078A (en) * 1995-12-29 2000-08-01 Lucent Technologies Inc. Maintaining consistency of database replicas
US6023708A (en) * 1997-05-29 2000-02-08 Visto Corporation System and method for using a global translator to synchronize workspace elements across a network
ID28134A (id) 1997-11-26 2001-05-03 Taylor Trust As Sistem dan metode untuk melaksanakan lelang pada jaringan komputer
US6324587B1 (en) * 1997-12-23 2001-11-27 Microsoft Corporation Method, computer program product, and data structure for publishing a data object over a store and forward transport
US6493720B1 (en) * 1998-01-26 2002-12-10 International Business Machines Corporation Method and system for synchronization of metadata in an information catalog
US6185608B1 (en) * 1998-06-12 2001-02-06 International Business Machines Corporation Caching dynamic web pages
US7024430B1 (en) * 1998-12-08 2006-04-04 Starfish Software, Inc. Method and system for implementing a filter in a data synchronization system
AU2773301A (en) * 2000-01-06 2001-07-16 Hd Media, Inc. System and method for distributing and controlling the output of media in publicspaces
US20010027472A1 (en) * 2000-03-27 2001-10-04 Feng Guan Dynamic information sharing based on unique individual ID
US7013316B1 (en) * 2000-07-13 2006-03-14 Microsoft Corporation System and method for synchronizing multiple database files
US6917950B2 (en) * 2001-01-10 2005-07-12 Intel Corporation Modifying a shared resource
US6643670B2 (en) * 2001-02-27 2003-11-04 Microsoft Corporation Efficient replication of an expanded partial database
JP2002259676A (ja) * 2001-03-06 2002-09-13 Hitachi Ltd 文書管理・ediシステム連携装置、文書管理・ediシステム連携方法、情報記録媒体及び文書処理プログラム
TW579463B (en) * 2001-06-30 2004-03-11 Ibm System and method for a caching mechanism for a central synchronization server
US20040153473A1 (en) * 2002-11-21 2004-08-05 Norman Hutchinson Method and system for synchronizing data in peer to peer networking environments
US20040193952A1 (en) * 2003-03-27 2004-09-30 Charumathy Narayanan Consistency unit replication in application-defined systems
US7251669B1 (en) * 2003-03-31 2007-07-31 Microsoft Corporation System and method for database versioning
US7177881B2 (en) * 2003-06-23 2007-02-13 Sony Corporation Network media channels
EP2273361B1 (en) * 2003-06-23 2012-09-19 Red Bend Ltd. Method and system for updating versions of content stored in a storage device
US8200775B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US8825502B2 (en) 2003-09-30 2014-09-02 Epic Systems Corporation System and method for providing patient record synchronization in a healthcare setting
GB2407176A (en) * 2003-10-14 2005-04-20 Boc Group Plc Remote monitoring of equipment
WO2005098675A1 (en) * 2004-03-26 2005-10-20 Alex Mashinski Exchange of newly-added information over the internet
US20060064470A1 (en) * 2004-09-23 2006-03-23 Sargent Antony J Method, system, and computer program product for improved synchronization efficiency for mobile devices, including database hashing and caching of web access errors
US7530077B2 (en) * 2004-10-07 2009-05-05 International Business Machines Corporation Dynamic update of changing data in user application via mapping to broker topic
KR20050012881A (ko) 2005-01-13 2005-02-02 (주)씽크비즈 웹 브라우저 기반 알에스에스/에이티오엠 규격 문서실시간 구독 시스템 및 그 방법
US20060282822A1 (en) * 2005-04-06 2006-12-14 Guoqing Weng System and method for processing RSS data using rules and software agents
KR100573037B1 (ko) 2005-10-20 2006-05-03 (주)인트로모바일 알에스에스 기반의 컨텐츠 추출 서버와 방법 및 그 서버관리 장치, 이를 이용하는 이동통신 단말장치의 대기화면 제공 시스템
KR20060069369A (ko) * 2006-02-16 2006-06-21 (주)오픈데이타컨설팅 알에스에스를 이용한 다자간 통신시스템 및 그 방법
US20070219908A1 (en) * 2006-03-02 2007-09-20 Yahoo! Inc. Providing syndicated media to authorized users

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005089336A2 (en) * 2004-03-15 2005-09-29 Yahoo! Inc. Integration of personalized portals with web content syndication
JP2005284334A (ja) * 2004-03-26 2005-10-13 Oki Electric Ind Co Ltd Webページ更新通知方法及び装置
JP2006059032A (ja) * 2004-08-18 2006-03-02 Business Online:Kk 商品情報の提供装置、提供方法、提供プログラム及びそのプログラムを記録した記録媒体
JP2006099341A (ja) * 2004-09-29 2006-04-13 Bank Of Tokyo-Mitsubishi Ufj Ltd 更新履歴生成装置及びプログラム

Also Published As

Publication number Publication date
KR20090034898A (ko) 2009-04-08
US20080126364A1 (en) 2008-05-29
KR101485613B1 (ko) 2015-01-23
EP2047382A4 (en) 2011-04-20
TW200813870A (en) 2008-03-16
TWI363996B (en) 2012-05-11
EP2047382A1 (en) 2009-04-15
WO2008016560A1 (en) 2008-02-07
CN101496000A (zh) 2009-07-29
EP2047382B1 (en) 2016-04-27
JP5007339B2 (ja) 2012-08-22
US7653640B2 (en) 2010-01-26
CN101496000B (zh) 2011-05-25

Similar Documents

Publication Publication Date Title
JP5007339B2 (ja) ウェブシンジケーションを介した双方向マルチマスタ同期
US11233851B2 (en) System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
JP5559140B2 (ja) 計算環境の表現
US9298747B2 (en) Deployable, consistent, and extensible computing environment platform
US7930629B2 (en) Consolidating local and remote taxonomies
US8370423B2 (en) Data synchronization and sharing relationships
US7484219B2 (en) Synchronizing centralized data store from distributed independent data stores using fixed application programming interfaces
EP2028599B1 (en) Synchronising data
US7933871B2 (en) Discovering and updating templates
US20080141136A1 (en) Clipping Synchronization and Sharing
JP4996685B2 (ja) コンテンツ同期化方法及び装置
AU2010256703B2 (en) Synchronizing file partitions utilizing a server storage model
CN104519120B (zh) 业务对象附件和过期统一资源定位符
US8051128B2 (en) Using feed usage data in an access controlled team project site environment
KR20140038988A (ko) 효율적 상태 조정 기법
CN101395593A (zh) Rss数据处理对象
US20080243874A1 (en) Lightweight Schema Definition
WO2010062862A2 (en) Open entity extraction system
US9876776B2 (en) Methods for generating and publishing a web site based on selected items and devices thereof
WO2014120220A1 (en) Providing access to information across multiple computing devices
US20110320927A1 (en) Methods and Apparatus Utilizing XooML: Cross (X) Tool Markup Language

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100520

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100520

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120427

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120528

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees