JP2012501586A - 装置およびウェブサービスに対するマルチ・マスタ・オフラインと協調に必要な最小限拡張 - Google Patents

装置およびウェブサービスに対するマルチ・マスタ・オフラインと協調に必要な最小限拡張 Download PDF

Info

Publication number
JP2012501586A
JP2012501586A JP2011525088A JP2011525088A JP2012501586A JP 2012501586 A JP2012501586 A JP 2012501586A JP 2011525088 A JP2011525088 A JP 2011525088A JP 2011525088 A JP2011525088 A JP 2011525088A JP 2012501586 A JP2012501586 A JP 2012501586A
Authority
JP
Japan
Prior art keywords
data
devices
web service
synchronization
user
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.)
Withdrawn
Application number
JP2011525088A
Other languages
English (en)
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 JP2012501586A publication Critical patent/JP2012501586A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Telephonic Communication Services (AREA)

Abstract

請求項に記載されている主題は、複数の装置と関連してデータ整合性を管理することを容易にするシステムおよび/または方法を提供する。装置の集合をユーザに関連付けることができる。ウェブサービスは、インタフェース・コンポーネントを介して少なくとも1つの装置からデータの一部を受け取ることができ、ウェブサービスはそのデータの一部をホストし、そのデータの一部を前記ユーザに関するアカウントと関連付けることができる。マスタ同期コンポーネントは、前記ユーザに関連付けられた装置の集合のうち2つまたはそれ以上の装置、または、ウェブサービスによってホストされたアカウントとユーザに関連付けられた装置の集合のうち2つまたはそれ以上の装置、のうち少なくとも1つの間でデータ整合性を維持するために、少なくとも1つの装置からのコンピューティング・リソースを利用することができる。

Description

本発明は、装置およびウェブサービスに対するマルチ・マスタ・オフラインと協調に必要な最小限拡張に関する。
コンピュータ技術(例えば、マイクロプロセッサの速度、メモリ容量、データ転送帯域幅、ソフトウェア機能、等)の進歩により、一般に、様々な業界においてコンピュータ・アプリケーションが増加することとなった。これまで以上に強力なサーバ・システムは、しばしばサーバ・アレイとして構成されるが、例えばワールドワイドウェブ(World Wide Web)等の外部ソースから生ずるサービス要求に対して提供されるのが一般的である。
かかる進歩を考慮すると、利用可能な電子データの量は増加しており、ユーザ・フレンドリで、迅速なデータの検索と取出しを容易にするデータを、管理しやすい方法で格納することがより重要となる。今日では、1つまたは複数のデータベースまたはデータ・ストアに電子データを格納することが一般的なアプローチである。一般に、典型的なデータ・ストアは、例えば、コンピュータ・プログラムが所望のデータを迅速に検索して選択できるように構成されたデータを有する編成された情報集合と呼ぶことができる。一般に、データ・ストアの中のデータは1つまたは複数のテーブルを介して編成される。かかるテーブルは行と列からなる配列として構成される。
一般に、各データは、単体ではあまり有益ではない。データ・ストア・アプリケーションはデータをより有用なものとするが、なぜならば、データ・ストア・アプリケーションはユーザがデータを編成して処理することを支援するからである。データ・ストア・アプリケーションにより、ユーザはデータを比較し、ソートし、順序付け、マージし、分離し、相互接続して、有用な情報をデータから生成しデータによって提示することができる。データベースの容量と多様性は信じられないほど増大し、データベースを利用する事実上無限の記憶容量を可能としている。しかし、典型的なデータベース・システムでは、効率的かつ合理的に情報または細部を伝達する点で限界がある。例えば、ファイル名、ファイル・サイズ、作成日、アクセス日、修正日、位置、属性等のような情報を提供するためには、細かな視点でデータファイルを選択しなければならない。
エンド・ユーザが継続的にますますデータを作成すると、かかるデータを発見し、関連付け、操作し、格納するというようなことに関わる問題と困難が増大する。エンド・ユーザは、文章を書き、写真を保存し、CDからの音楽をリッピングし、メールを受信し、送信済みメールのコピーを保管する等を行う。例えば、音楽CDを作成するという単純な処理において、エンド・ユーザは何メガバイトものデータを作成する可能性がある。CDから音楽をリッピングし、適切なフォーマットにファイルを変換し、ジュエル・ケースのカバーを作成し、CDのラベルをデザインするには、すべてデータの作成が必要である。
さらに、開発者および/またはユーザに関わる無限のデータで、異種のマシンおよび/またはシステム間のデータ整合性を保つことは、複雑で手のつけようのない作業となりうる。例えば、ユーザは様々な装置(例えば、ラップトップ・マシン、デスクトップ、等)を利用することができるが、この場合、データの整合性および/または同期が重大な問題である。特に、各装置が大量のデータを生成すると、かかるデータを同期することは極めて困難な趣旨のものである。
以下では、本明細書で記載した幾つかの態様の基本的理解を提供するために発明の簡単な概要を提示する。この概要は請求項に記載されている主題の広範囲な概要ではない。本要約は、請求項に記載されている主題の主要または重要な要素を特定するものではなく、本発明の範囲を画するものでもない。本要約の唯一の目的は、後に提示するより詳細な説明に対する前置きとして、請求項に記載されている主題のいくつかの概念を簡潔に提示することである。
本発明は、複数の装置とウェブサービスとの間のデータの同期を容易にするシステムおよび/または方法に関する。マスタ同期コンポーネントは、2つまたはそれ以上の装置間でのシームレスかつ普遍的なデータ同期を可能にすることができる。特に、マスタ同期コンポーネントは、専ら2つまたはそれ以上の装置のうち少なくとも1つに関するコンピューティング・リソースを活用することで、当該装置間のデータ整合性をもたらすことができる。さらに、マスタ同期コンポーネントは、ウェブサービスと2つまたはそれ以上の装置との間でデータ変更および/または更新を提供することができる。アイテム・レベルのメタデータとコレクション・レベルのメタデータを利用し実行することにより、マスタ同期コンポーネントは、複数の装置および/またはウェブサービスに対してシームレスかつノンイントルーシブにデータ同期を提供することができる。
さらに、本発明により、正しい衝突検出と解像度伝播を可能とすることができる。一般に、ウェブサービスを再構築する必要なしにピアツーピア機能またはオフライン機能を可能とするためにそのウェブサービスが実装できるアルゴリズムが提供される。請求項に記載されている主題の他の態様では、特定のエンティティに関連付けられた複数の装置間のデータ整合性を管理することを容易にする方法が提供される。
以下の説明および添付の図面では、請求項に記載されている主題の特定の例示的態様を詳細に説明する。しかし、これらの態様は、発明の原理を使用できる様々な方法のうちの一部を示すにすぎず、請求項に記載されている主題はすべてのかかる態様とその均等物を含むことを意図している。請求項に記載されている主題の他の利点および新規な特徴は、図面と関連して検討すると、以下の本発明の詳細な説明から明らかになろう。
複数の装置とウェブサービスとの間のデータ同期を容易にする例示的なシステムのブロック図である。 ウェブサービスに関連するデータ変更を検出した際にユーザ装置間のデータ整合性を維持することを容易にする例示的なシステムのブロック図である。 2つまたはそれ以上のユーザ装置の間でシームレスかつ普遍的にデータ同期するようにウェブサービスを適合させることを容易にする例示的なシステムのブロック図である。 特定のエンティティに関連付けられた複数の装置間でのデータ整合性の管理を容易にする例示的なシステムのブロック図である。 データの更新の特定を強化し、様々な装置および/またはウェブサービスにかかる更新を行き渡らせることを容易にする例示的なシステムのブロック図である。 複数の装置および/またはウェブサービスの間でのデータ同期を自動的に管理することを容易にする例示的なシステムのブロック図である。 特定のエンティティに関連付けられた複数の装置間のデータ整合性を管理する例示的な方法を示す図である。 2つまたはそれ以上のユーザ装置の間でシームレスかつ普遍的にデータ同期するようにウェブサービスを適合させることを容易にする例示的な方法を示す図である。 請求項に記載されている主題の新規な態様を使用できる例示的なネットワーク環境を示す図である。 請求項に記載されている主題に従って使用できる例示的な動作環境を示す図である。
請求項に記載されている主題について図面を参照して説明するが、全体を通して、同一の参照番号は同一の要素を参照する。以下の記載では、説明のため、本発明の徹底的な理解を提供するために多数の具体的な詳細を説明する。しかし、これらの具体的な詳細がなくとも請求項に記載されている主題を実施できることは明らかであろう。他の例では、本発明の説明を容易にするために、公知の構造および装置をブロック図で示す。
本明細書で用いられる「コンポーネント」、「システム」、「データ・ストア」、「サービス」、「クラウド」、「装置」、「アカウント」、「ハンドラ」、「レゾルバ」、「エンティティ」等の用語は、コンピュータ関連のエンティティ、すなわち、ハードウェア、(例えば実行中の)ソフトウェア、および/またはファームウェアを指すものである。例えば、コンポーネントは、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行可能ファイル、プログラム、関数、ライブラリ、サブルーチン、および/またはコンピュータまたはソフトウェアとハードウェアの組合せとすることができる。例として、サーバで実行されるアプリケーションとサーバの両方がコンポーネントとすることができる。1つまたは複数のコンポーネントが1プロセス内に存在することができ、コンポーネントを1台のコンピュータに配置するか、および/または、2つまたはそれ以上のコンピュータの間で分散することができる。所与の2者の同期において複数のマスタが存在することができ、データをほぼ任意のトポロジ(例えば、少なくとも1つのマスタとのペア)で同期できることは理解されよう。
さらに、請求項に記載されている主題を、開示された主題を実装するようにコンピュータを制御するためのソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せを作成するための標準的なプログラミング技法および/またはエンジニアリング技法を用いて、方法、装置、または製品として実装してもよい。本明細書で用いられる「製品」という用語は、任意のコンピュータ読取可能装置、キャリア、または媒体からアクセス可能なコンピュータ・プログラムを含むものである。例えば、コンピュータ読取可能媒体には、磁気記憶装置(例えば、ハードディスク、フロッピー(登録商標)・ディスク、磁気ストリップ、等)、光ディスク(例えば、CD(compact disk)、DVD(digital versatile disk)等)、スマートカード、およびフラッシュメモリ装置(例えば、カード、スティック、キードライブ等)が含まれるが、それらに限定されない。さらに、電子メールの送受信またはインターネットまたはLAN(local area network)のようなネットワークにアクセスする際に用いられるような、コンピュータ読取可能な電子データを運ぶために搬送波を使用できることは理解されよう。もちろん、請求項に記載されている主題の範囲または趣旨から逸脱しない多くの修正をこの構成に加えうることは、当業者には認識されよう。さらに、「例示的」という用語は、本明細書では例、事例、または例示を意味するように用いられる。「例示的」として本明細書で説明したいかなる態様または設計も、必ずしも他の態様または設計に対して好適または有利であるとは解釈されない。
ここで図を参照する。図1は、複数の装置とウェブサービスとの間でデータ同期を容易にするシステム100を示す。システム100は、2つまたはそれ以上の装置106の間、および/またはウェブサービス104と2つまたはそれ以上の装置106との間で、データ整合を実現できるマスタ同期コンポーネント102を含むことができる。一般に、複数の装置とウェブサービス104との間のデータ同期と同様に、複数装置のデータ同期を、マスタ同期コンポーネント102によって使用することができる。特に、マスタ同期コンポーネント102は、2つまたはそれ以上の装置106内のデータ整合性を維持するために、少なくとも1台の装置に関連付けられたコンピューティング・リソースを活用することができる。さらに、マスタ同期コンポーネント102は、2つまたはそれ以上の装置106に関するコンピューティング・リソースを利用することにより、ウェブサービス104と2つまたはそれ以上の装置106との間のデータ同期を実装することができる。換言すれば、システム100はシームレスかつウェブサービスから独立してデータ同期を提供できる。
例えば、ユーザは、データ(例えば、ファイル、写真、画像、ビデオ、オーディオ、等)を格納するためにスマートフォン、ラップトップ・コンピュータ、およびデスクトップ・コンピュータを所有するか、または利用することができる。本発明によって、スマートフォン、ラップトップ・コンピュータ、デスクトップ・コンピュータ間のデータの一貫性を保つことができる。換言すれば、ユーザ設定(例えば、どの装置を含めるか、どのデータを同期するか、等)に基づき、以下を保証するために装置および各データを評価することができる。すなわち、スマートフォン上のデータがラップトップ・コンピュータとデスクトップ・コンピュータに含まれていること、ラップトップ・コンピュータ上のデータがスマートフォンとデスクトップ・コンピュータに含まれていること、および、デスクトップ・コンピュータ上のデータがスマートフォンとラップトップ・コンピュータに含まれていること、である。
別の例では、ユーザは装置(例えば、スマートフォン、ラップトップ・コンピュータ、およびデスクトップ・コンピュータ)を利用して、画像などのデータを収集し、キャプチャし、保存することができ、かかるデータを、画像に関連付けられたウェブサービスと関連させて利用することができる。ウェブサービスにより、ユーザはアカウントを設定して、画像を参照、共有、編集、等のためにアップロードすることができる。さらに、画像をスマートフォン、ラップトップ、および/またはデスクトップ・コンピュータのような様々な装置に点在または格納することができる。装置のコンピュータ・リソースを活用することによって、データ同期を提供してウェブサービスと独立したデータ整合性を保証することができる。換言すれば、ウェブサービスが以下のような正確な複製されたデータを有することを保証することができる。すなわち、ユーザ向けのウェブサービス上のデータがスマートフォン、ラップトップ・コンピュータ、およびデスクトップ・コンピュータに含まれていること、スマートフォン上のデータがユーザ向けのウェブサービス、デスクトップ・コンピュータ、およびラップトップ・コンピュータに含まれていること、ラップトップ・コンピュータ上のデータがユーザ向けのウェブサービス、スマートフォン、およびデスクトップ・コンピュータに含まれていること、デスクトップ・コンピュータ上のデータがユーザ向けのウェブサービス、スマートフォン、およびラップトップ・コンピュータに含まれているということである。
さらに、システム100は、任意の適切なおよび/または必要なインタフェース・コンポーネント108(本明細書では「インタフェース108」と称する)を含むことができ、インタフェース108は、マスタ同期コンポーネント102を事実上任意のオペレーティング・システム(複数可)および/またはデータベース・システム(複数可)に統合し、ならびに/またはその両方と統合するための、様々なアダプタ、コネクタ、チャンネル、通信経路、等を提供する。さらに、インタフェース108は、マスタ同期コンポーネント102、ウェブサービス104、装置106の集合のうち少なくとも1台の装置、システム100に関連付けられた他の任意の装置および/またはコンポーネントとの相互作用を提供する様々なアダプタ、コネクタ、チャンネル、通信経路等を提供することができる。
図2はウェブサービスに関連するデータ変更を検出した際にユーザ装置間のデータ整合性を維持することを容易にするシステム200を示す。システム200は、2つまたはそれ以上の装置106の間、ならびに2つまたはそれ以上の装置106とウェブサービス104の間でデータ同期を行うことができるマスタ同期コンポーネント102を含むことができる。一般に、システム100は、2つまたはそれ以上の装置106および/またはウェブサービス104と関連付けられたデータが実質的に同一であることを保証するためのデータ複製技法を利用することができる。ウェブサービス104は、特定のユーザに関連付けられたユーザ・アカウント202を含むことができる。特定のユーザは、ウェブサービス104にアクセスするために安全な情報または証明書(例えば、ユーザ名、パスワード等)を提供することができる。特定のユーザが、データの一部をウェブサービス104へ通信して係るウェブサービスを使用できることは理解されよう。
装置1から装置Nのような、任意の適切な数の装置が存在することができ、ここでNが正の整数であることは理解されよう。装置は、スマートフォン、ラップトップ、デスクトップ、コンピュータ、マシン、PDA(portable digital assistant)、セルラー装置、ページャ、双方向通信、ハンドヘルド、モバイル装置、ブラウジング装置、ワイヤレス装置、携帯用ゲーム装置、ゲーミング・コンソール、メディア・プレーヤ、携帯型メディア・プレーヤ、ペンドライブ、ハードドライブ、データ・ストア、デジタルカメラ、画像収集装置、ビデオ収集装置、ビデオカメラ、音声収集装置、オーディオ・レコーダ、GPS(global positioning system)、携帯用ウェブ・ブラウザ、等であるがこれらに限られない。さらに、本発明では、データ同期を任意の適切なウェブサービスに提供できることは理解されよう。このウェブサービスは、イメージ・ウェブサービス、ビデオ・ウェブサービス、ストレージ・ウェブサービス、オーディオ・ファイル・ウェブサービス、データ・バックアップ・ウェブサービス、ソーシャル・ネットワーク・サービス、等でありうるがこれらに限られない。
システム200は、さらに、マスタ同期コンポーネント102、ウェブサービス104、2つまたはそれ以上の装置106、インタフェース108、等によって利用および/またはアクセスされる任意の適切なデータを含みうるデータ・ストア204を含むことができる。例えば、データ・ストア204は、同期データ、同期設定、ユーザの好み、タイム・スタンプ・データ、バージョニング・データ、ウェブサービス設定、装置リスト、アイテム・メタデータ要件、アイテム・メタデータ要件の集合、更新アルゴリズム、衝突検出技法、衝突解決技法、更新データ(例えば、時間、ソース、位置、等)等を含むことができるがこれらに限られない。さらに、データ・ストア204はスタンドアロンのコンポーネントとして示されているが、データ・ストア204は、マスタ同期コンポーネント102に組み込んだスタンドアロンのコンポーネント、装置、インタフェース108、および/またはそれらの任意の適切な組合せでありうることは理解されよう。
データ・ストア204は、例えば、揮発性メモリまたは不揮発性メモリのいずれかとすることができ、または、揮発性メモリと不揮発性メモリの両方を含むことができることは理解されよう。限定ではなく例として、不揮発性メモリは、ROM(read only memory)、PROM(programmable ROM)、EPROM(electrically programmable ROM)、EEPROM(electrically erasable programmable ROM)、またはフラッシュメモリを含むことができる。揮発性メモリは、外部キャッシュメモリとして動作するRAM(random access memory)を含むことができる。限定ではなく例として、RAMは、SRAM(static RAM)、DRAM(dynamic RAM)、SDRAM(synchronous DRAM)、DDR SDRAM(double data rate SDRAM)、ESDRAM(enhanced SDRAM)、SLDRAM(Synchlink DRAM)、RDRAM(Rambus direct RAM)、DRDRAM(direct Rambus dynamic RAM)、RDRAM(Rambus dynamic RAM)などの多くの形式で利用可能である。本発明のシステムと方法のデータ・ストア204は、これらおよび他の任意の適切な種類のメモリを含むことを意図しているが、これらに限らない。さらに、データ・ストア204は、サーバ、データベース、ハードドライブ、ペンドライブ、外部ハードドライブ、携帯用ハードドライブ、等でありうることは理解されよう。
図3は2つまたはそれ以上のユーザ装置の間でシームレスかつ普遍的にデータ同期するようにウェブサービスを適合させることを容易にするシステム300を示す。システム300は2つまたはそれ以上の装置106の間、または、ウェブサービス104と2つまたはそれ以上の装置106の間にデータ同期を供給できるマスタ同期コンポーネント102を含むことができる。システム300は、完全接続型メッシュ内の複数のエンドポイント(例えば、装置、コンポーネント、等)間のオフライン・シナリオまたは協働作業シナリオにウェブサービス104を拡張できるマルチマスタ同期機能を提供することができる。例えば、ウェブサービス104により、リッチ・クライアントは、様々な場所(例えば、職場、家、車、休暇先、等)で、複数の装置と同期状態にあることができる。
マスタ同期コンポーネント102により、エンドポイントはマルチマスタ同期システムで必要とされる同期メタデータを解釈することができる。特に、ウェブサービス104は、APIを提供するか、または既存のAPIを利用でき、ここで、係るAPIはアイテム・レベルおよびコレクション・レベルの同期メタデータを実現(enforce)することができる。アイテム・レベルおよびコレクション・レベルの同期メタデータを使用することによって、ウェブサービス104は、かかるウェブサービス104を再構築(例えば、クライアント側の独立したデータ同期)をすることなく、ピアツーピア(P2P)機能またはオフライン機能(データ同期を含む)を提供することができる。
システム300は、アイテム(例えば、写真、個人の連絡先、画像ファイル、データの一部、映像の一部、音声の一部、グラフィックの一部、テキストの一部、等)に対してメタデータの特徴を実現できるアイテム・コンポーネント302を含むことができる。アイテム・コンポーネント302は、同期メタデータの格納と取出し(例えば、同期メタデータをトークン、小さなブロブ、等として扱うこと)を可能にすることができる。アイテム・レベルのメタデータは、更新バージョンの構造を示す組(例えば、第1の数、第2の数、小さな数、大きな数、等)を含むことができる。例えば、更新バージョンの構造は、最後の更新者(例えば、データを変更/更新したエンティティ)、およびその変更を行ったエンドポイントのローカル・タイムで仮想的な更新時刻を含むことができる。例えば、アイテム・コンポーネント302は、(例えば、後に詳細に論ずる)具体的な衝突解決、検出シナリオ、およびツームストーンのクリーンアップで使用できる作成バージョンを利用することができる。別の例では、アイテム・コンポーネント302は、ブール値を削除フラグまたはツームストーン・マーカのうちの少なくとも一つとして利用することができる。
システム300はさらに、同期されたアイテム(例えば、アルバム、アドレス・ブック、フォルダ、等)の集合に対してメタデータの特徴を実現できるコレクション・ハンドラ304を含むことができる。コレクション・ハンドラ304は、クライアントが変更列挙および衝突検出の基礎として使用できるシリアル化された同期データの格納と取出しを可能とすることができる。1つの例では、ツームストーンのクリーンアップを、(例えば、データ・ストアから)リモート削除されたものをクリーンアップするための戦略として利用することができる。このコレクション・レベルのメタデータは、クロック・ベクトルのようなマルチマスタの同期システムで利用できるトークンとすることができる。コレクション・ハンドラ304は、バージョンのベクトルを拡張された情報とともに利用して、部分的な更新、割込み、フィルタリング、等を可能とすることができる。
システム300は、更新アルゴリズムを利用して正確な衝突検出と解決伝播を可能とする衝突レゾルバ306を含むことができる。衝突レゾルバ306は、ウェブサービス104が同期に参加できるようにし、更新が衝突した場合に、エンドポイントが合理化することを可能にするアルゴリズムを使用することができる。更新が非同期可能クライアント(例えば、ウェブ・ユーザ・インタフェース、既存のアプリケーション、サードパーティ、等)によって行われた場合、衝突レゾルバ306は、メタデータの残り(例えば、作成日のバージョン)を保持しながら、更新されているアイテムに関する更新バージョン情報を消去することができる。これにより、アイテムが更新されたかどうかをエンドポイントが判定できることは理解されよう(例えば、ユーザが、既に「見た」アイテムを更新する)。同期可能エンドポイントがアイテムを更新すると、衝突レゾルバ306はエンドポイントのAPIを利用してアイテムのバージョン情報を設定することができる。ウェブサービス104はこのエントリを尊重して、かかるバージョン情報を修正または操作しないことができる。衝突レゾルバ306はさらに削除およびツームストーンを扱うことができる。特に、衝突レゾルバ306は、同期メタデータのコピーを保持し、アイテムが削除されたときに削除アイテムに対するアクセスを提供することができる。さらに、衝突レゾルバ306は、更新時刻から割り当てられた追加の同期メタデータに対するアクセスを提供することができる。さらに、同期可能エンドポイントは、同期のスナップショットとして取得されたコレクション・レベルのメタデータのコピーを作成することもできる。
図4は、特定のエンティティに関連付けられた複数の装置間でのデータ整合性の管理を容易にするシステム400を例示する。システム400は、複数の装置404に対するデータ同期を保証するためにアイテムおよびアイテム集合に対してメタデータ要件を実現できるマスタ同期コンポーネント102を含むことができる。特に、複数の装置404をユーザ402に関連付けることができる。例えば、複数の装置404がユーザ402によって利用、アクセス、所有等され得る。さらに、ユーザ402は、少なくとも1つの装置と相互作用または通信できる任意の適切なエンティティでありうることは理解されよう。例えば、エンティティは、人、人のグループ、マシン、ウェブサイト、会社、企業、コミュニティ、家族、ネットワーク、サーバ、等とすることができるがこれらに限られない。
ユーザ402は、データおよび/またはアイテムを収集、操作、管理、通信、閲覧、編集、等するために様々な装置と対話し様々な装置を利用することができる。この特定の例では、複数の装置404は、デスクトップ・コンピュータ406、ラップトップ・マシン408、デジタルカメラ410、タブレットコンピュータ412、スマートフォン414、PDA(portable digital assistant)416、ビデオカメラ418、携帯電話420を含むことができる。マスタ同期コンポーネント102は、複数の装置404のうち2つまたはそれ以上の間でのデータ整合性とデータ同期を可能とすることができる。かかる2つまたはそれ以上の装置がデータと同期できるようにすることで、ユーザ402はデータをシームレスで普遍的に管理することができる。換言すれば、各装置上のデータが整合しており、それにより各装置に対して実質的に同一なデータを提供することができる。さらに、ユーザ402がユーザの好みおよび/または設定を提供できることは理解されよう。かかるカスタマイズされた設定には、どのデータを同期するか、どの装置と同期するか、セキュリティ設定(例えば、ユーザ名、パスワード、等)、同期の頻度、および/またはデータ整合性に関連付けられた他の任意の適切な設定を含めることができる。
図5は、データ更新の特定を強化し、様々な装置および/またはウェブサービスにかかる更新を行き渡らせることを容易にするシステム500を示す。システム500はさらに、注釈集約器102、POI(図示せず)、インタフェース108、特定されたPOIデータ付きマップ504、および/またはそれらの任意の適切な組合せのうち少なくとも1つを取り込むことができるクラウド502を利用することができる。クラウド502が、本発明に関連付けられた任意の適切なコンポーネント、装置、ハードウェア、および/またはソフトウェアを含みうることは理解されよう。クラウド502は、パーティ(例えば、オフサイト、オンサイト、サードパーティ、等)によって維持され、特定されたユーザ504がネットワーク(例えば、インターネット、無線、LAN、セルラー、Wi−Fi、WAN、等)上でアクセス可能な任意のリソース集合(例えば、ハードウェア、ソフトウェア、それらの組合せ、等)を指すことができる。クラウド502は、任意のサービス、ネットワークサービス、クラウドサービス、リソース集合、等を含むものであり、特定されたユーザがネットワークを介してクラウド502にアクセスすることができる。例えば、2人またはそれ以上のユーザ(例えば、ユーザ504)はクラウド502にアクセス、参加、および/またはクラウド502と相互作用することができ、同様に、マスタ同期コンポーネント102、インタフェース108、および/またはそれらの任意の適切な組合せのうち少なくとも1つにアクセス、参加、および/またはそれらと相互作用することができる。例えば、ユーザ504はクラウド502と通信して、ウェブサービス集合506からウェブサービスにアクセスすることができる。さらに、かかるウェブサービス506との通信中に、クラウド502はマスタ同期コンポーネント102を介してデータ同期を提供することができる。さらに、クラウド502は、任意の適切な数のサービス(複数可)を任意の適切な数のユーザ(複数可)および/またはクライアント(複数可)に提供することができる。特に、クラウド502は、ユーザに関連付けられた2つまたはそれ以上の装置間、またはウェブサービスとユーザに関連付けられた2つまたはそれ以上の装置との間でデータ整合性を提供するリソースおよび/またはサービスを含むことができる。特に、クラウド502は、データ同期を提供するために少なくとも1つの装置と関連付けられたリソースを利用することができ、ここで、クラウド502は、ウェブサービスからのリソースと独立してデータ整合性を自動的かつ動的に保証することができる。
図6は、複数の装置および/またはウェブサービスの間でのデータ同期を管理することを容易にするためのインテリジェンスを使用したシステム600を示す。システム600は、マスタ同期コンポーネント102、2つまたはそれ以上の装置106、ウェブサービス104、およびインタフェース108を含むことができ、これらは前の図で説明した各コンポーネント、装置、サービス、およびインタフェースと実質的に同一とすることができる。システム600はさらに、インテリジェント・コンポーネント602を含む。マスタ同期コンポーネント102がインテリジェント・コンポーネント602を利用して、データの同期を容易にすることができる。例えば、インテリジェント・コンポーネント602は、アイテムに対するメタデータの特徴、アイテム集合に対するメタデータの特徴、同期設定、衝突検出、衝突解決、アイテム・レベル・メタデータに関連付けられたトークン・データ、集合レベル・メタデータに関連付けられたトークン・データ、更新バージョンの構造、メタデータの組、シリアル化された同期メタデータ、クロック・ベクトル・データ、バージョン・データのベクトル、エンドポイントのデータ、等を推論することができる。
インテリジェント・コンポーネント602は、同期するのに最適なデータおよびそれに関連付けられた優先度を特定するために、情報値(VOI)計算を使用することができる。例えば、VOI計算を利用することにより、最も理想的および/または適切なデータを、2つまたはそれ以上の装置106の間で、またはウェブサービス104と2つまたはそれ以上の装置106の間で同期することができる。さらに、インテリジェント・コンポーネント602は、イベントおよび/またはデータを介して捕捉した1組の観測結果から、システム、環境、および/またはユーザの状態を推論または推測できることは理解されよう。例えば、推論を使用して、具体的なコンテキストまたはアクションを特定することができ、または、状態に関する確率分布を生成することができる。推論は確率的、すなわち、データおよびイベントを考慮して着目する状態の確率分布を計算したものとすることができる。推論はまた、1組のイベントおよび/またはデータから高レベルのイベントを構成するために使用される技法を指すことができる。かかる推論により、イベントが時間的に近接して相関しているか否かに関わらず、およびイベントおよびデータが1つまたは幾つかのイベント・ソースおよびデータ・ソースから来たものであるか否かに関わらず、1組の観測されたイベントおよび/または格納されたイベント・データから新たなイベントまたはアクションが構築される。様々な(明示的および/または暗黙的にトレーニングされた)分類方式および/またはシステム(例えば、サポート・ベクタ・マシン、ニューラル・ネットワーク、エキスパート・システム、ベイジアン・ネットワーク、ファジー・ロジック、データ・フュージョン・エンジン・・・)を、請求項に記載されている主題と関連付けて自動的な動作および/または推論された動作を実施することと関連して使用することができる。
分類器は、入力属性ベクトル、x=(x1,x2,x3,x4,xn)を、入力が分類に属する信頼度にマップする関数、即ち、f(x)=confidence(class)である。かかる分類は、確率および/または統計ベースの分析(例えば、分析ユーティリティおよびコストへの因数分解)を利用して、ユーザが自動実行を希望する動作を予知または推論することができる。サポートベクトルマシン(SVM)は、利用可能な分類器の例である。SVMは可能な入力の空間内に超曲面を発見するように動作し、超曲面は非トリガ形式のイベントからトリガ基準を分離することを試みる。直感的には、これによりトレーニングデータと同一ではないがそれに類似したテストデータに対する分類が正確になる。他の有向および非有向モデル分類アプローチには、例えば、ナイーブベイズ、ベイジアン・ネットワーク、決定木、ニューラル・ネットワーク、ファジーロジックモデルが含まれ、様々なパターンの独立性を与える確率分類モデルを利用することができる。本明細書で用いる分類には、優先度モデルの展開に利用される統計的回帰も含まれる。
マスタ同期コンポーネント102はさらに、様々な種類のユーザ・インタフェースを提供してユーザとマスタ同期コンポーネント102に結合された任意のコンポーネントとの間の相互作用を容易にするプレゼンテーション・コンポーネント604を利用することができる。示したように、プレゼンテーション・コンポーネント604は、マスタ同期コンポーネント102とともに利用可能な別個のエンティティである。しかし、プレゼンテーション・コンポーネント604および/または同様なビュー・コンポーネントをマスタ同期コンポーネント102および/またはスタンドアロンのユニットに組み込むことができることは理解されよう。プレゼンテーション・コンポーネント604は、1つまたは複数のGUI(graphical user interface)、コマンド・ライン・インタフェース、等を提供することができる。例えば、ロード、インポート、読み込み、等を行うための領域または手段、データをユーザに提供するGUIを表示することができ、かかるGUIは上記の結果を表示するための領域を含むことができる。これらの領域は、ダイアログ・ボックス、スタティック・コントロール、ドロップダウン・メニュー、リスト・ボックス、ポップアップ・メニュー、エディット・コントロール、コンボ・ボックス、ラジオ・ボタン、チェック・ボックス、プッシュ・ボタン、およびグラフィック・ボックスを含む既知のテキスト領域および/またはグラフィック領域を備えることができる。さらに、ナビゲート用の垂直および/または水平なスクロール・バー、領域が参照可能かどうかを判定するためのツールバー・ボタンのようなプレゼンテーションを容易にするためのユーティリティを使用することができる。例えば、ユーザは、マスタ同期コンポーネント102に結合および/または組み込まれた1つまたは複数のコンポーネントと相互作用することができる。
ユーザはまた、例えば、マウス、ローラー・ボール、タッチパッド、キーパッド、キーボード、タッチ・スクリーン、ペンおよび/または音声駆動、ボディ・モーション検出、のような様々な装置を介して情報を選択し提供するための領域と相互作用することができる。一般に、キーボード上のプッシュ・ボタンまたはエンター・キーのような機構を情報の入力後に使用することができる。しかし、請求項に記載されている主題はそのように限定されないことは理解されよう。例えば、単にチェック・ボックスをハイライトすることで情報伝達を開始することができる。別の例では、コマンド・ライン・インタフェースを使用することができる。例えば、コマンド・ライン・インタフェースは(例えば、ディスプレイ上のテキスト・メッセージおよびオーディオ・トーンを介して)テキスト・メッセージを提供して情報を入力するようユーザに促すことができる。ユーザは次いで、インタフェース・プロンプト内に提供されたオプションに対応する英数字入力またはプロンプト内に提示された質問に対する答えのような、適切な情報を提供することができる。コマンド・ライン・インタフェースをGUIおよび/またはAPIと関連して使用できることは理解されよう。さらに、コマンド・ライン・インタフェースを、限られたグラフィック・サポート、および/または低帯域幅の通信チャネルを有するハードウェア(例えば、ビデオ・カード)および/またはディスプレイ(例えば、白黒、EGA、VGA、SVGA、等)と関連して使用することができる。
図7〜8は、請求項に記載されている主題に従う方法および/または流れ図を示す。簡単に説明するため、かかる方法を一連の動作として図示および説明してある。本発明は図示した動作および/または動作の順序によって限定されないことは理解されよう。例えば、動作を様々な順序で、および/または並行して行うことができ、本明細書で提示および説明していない他の動作とともに行うことができる。さらに、図示した動作の全てが請求項に記載されている主題に従う方法を実施するために必要なわけではない。さらに、状態図またはイベントを介して方法を一連の相関する状態として代替的に表現できることは当業者には理解されよう。さらに、以降および本明細書を通して開示された方法を製品に格納してかかる方法をコンピュータに伝送および転送することを容易にすることができることは理解されよう。本明細書で使用する製品という用語は、任意のコンピュータ読取可能装置、キャリア、または媒体からアクセス可能なコンピュータ・プログラムを含むものである。
図7は、特定のエンティティと関連付けられた複数の装置間のデータ整合性を管理することを容易にする方法700を示す。参照番号702で、2つまたはそれ以上の装置を、接続されたメッシュ内のエンドポイントとして定義することができる。例えば、かかる装置は、スマートフォン、ラップトップ、コンピュータ、マシン、PDA(portable digital assistant)、携帯装置、ページャ、ツーウェイ、ハンドヘルド、モバイルデバイス、ブラウジング装置、無線装置、携帯ゲーム機、ゲーミング・コンソール、メディア・プレーヤ、ポータブル・メディア・プレイヤ、ペンドライブ、ハードドライブ、データ・ストア、デジタルカメラ、画像収集装置、ビデオ収集装置、ビデオカメラ、音声収集装置、オーディオ・レコーダ、GPS(global positioning system)、ポータブル・ウェブ・ブラウザ、等とすることができるがこれらに限られない。
参照番号704で、少なくとも1つの装置に関連付けられたデータの一部に、データ変更を適用することができる。例えば、データ変更は、データの追加、データの削除、データの操作、データの編集、および/またはデータの他の任意の適切な修正とすることができる。参照番号706で、装置の少なくとも1つからのリソースを利用して、収集メッシュ内の2つまたはそれ以上の装置に対して、データ変更を実施することができる。例えば、装置のリソースを利用して、接続メッシュ内の2つまたはそれ以上の装置にわたってデータ同期を行うことができる。別の例では、データ同期を、ウェブサービスと接続メッシュ内の2つまたはそれ以上の装置の間で行うことができる。さらに、ウェブサービスからのコンピューティング・リソースを、ウェブサービスとのデータ同期を提供するために利用する必要はないことは理解されよう。
図8は、2つまたはそれ以上のユーザ装置の間でシームレスかつ普遍的にデータ同期するようにウェブサービスを適合させるための方法800を示す。参照番号802で、アイテム・レベルの同期メタデータを実現してアイテム更新に対する更新バージョン構造を表すことができる。アイテムは例えば、写真、個人の連絡先、画像ファイル、データの一部、映像の一部、音声の一部、グラフィックの一部、テキストの一部、等とすることができる。特に、アイテム・レベルの同期メタデータは、第1の数および第2の数(例えば、小さな数、大きな数、等)のような組とすることができる。さらに、バージョン構造は、直近の更新者、およびその変更またはアイテム更新を行ったエンドポイントのローカル・タイムで仮想的な更新時刻を含むことができる。
参照番号804で、変更列挙および衝突検出のために、アイテム・レベルの同期メタデータをシリアル化し、クロック・ベクトルとして使用することができる。例えば、シリアル化されたアイテム・レベルの同期メタデータを、変更列挙および衝突検出の基礎としてクライアントにより利用することができる。さらに、シリアル化されたアイテム・レベルの同期メタデータを、拡張された情報とともにバージョンのベクトルとして定義して、部分的な更新、割込み、フィルタリング、等を可能とすることができる。
参照番号806で、更新が非同期可能クライアントによって行われた場合は、更新されているアイテムの更新バージョン情報を削除することができる。換言すれば、見ているアイテムまたはアクセスしているアイテムが更新されたかどうかをエンドポイント(例えば、装置、等)が判定できるようにするために、更新バージョン構造に関連する情報を削除することができる。例えば、非同期可能クライアントは、ウェブUI、既存のアプリケーション、サードパーティ、等とすることができるがこれらに限られない。参照番号808で、エンドポイントを利用して、同期可能エンドポイントによって更新されているアイテムの(例えば、更新バージョン構造に関連する)バージョン情報を設定することができる。一例では、エンドポイントに関連するAPIを利用して、アイテムが更新されたときにアイテムのバージョン情報を設定することができる。
請求項に記載されている主題の様々な態様を実装するための追加のコンテキストを提供するため、図9〜10および以下の議論は、本発明の様々な態様を実装できる適切なコンピューティング環境の簡潔で一般的な説明を提供するものである。例えば、前の図で説明したように、複数の装置間でデータ同期するための普遍的なアルゴリズムを利用するマスタ同期コンポーネントをかかるコンピューティング環境で実装することができる。請求項に記載されている主題を、ローカル・コンピュータおよび/またはリモート・コンピュータ上で実行されるコンピュータ・プログラムのコンピュータ実行可能命令の一般的なコンテキストで上述したが、本発明を他のプログラム・モジュールと組合せて実装してもよいことは当業者には理解されよう。一般に、プログラム・モジュールは、特定のタスクを実施しおよび/または特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造、等を含む。
さらに、本発明の方法をシングル・プロセッサまたはマルチ・プロセッサのコンピュータ・システム、ミニコンピュータ、メインフレーム・コンピュータ、ならびにパーソナル・コンピュータ、ハンドヘルド・コンピューティング装置、マルチプロセッサ・ベースおよび/またはプログラム可能な消費家電、等を含む、他のコンピュータ・システム構成で実現してもよく、それらの各々は1つまたは複数の関連付けられた装置と動作可能に通信することができることは当業者には理解されよう。例示した請求項に記載されている主題の態様を分散コンピューティング環境で実施してもよく、その環境では、特定のタスクが、通信ネットワークを介して接続されたリモート処理装置により実施される。しかし、本発明の態様のうち全部ではないにしても一部をスタンドアロン・コンピュータ上で実施してもよい。分散コンピューティング環境では、プログラム・モジュールをローカルメモリ記憶装置および/またはリモートメモリ記憶装置に配置してもよい。
図9は、請求項に記載されている主題が相互作用できるサンプルのコンピューティング環境900の略ブロック図である。システム900は1つまたは複数のクライアント910を含む。クライアント(複数可)910はハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、コンピューティング装置)とすることができる。システム900はまた、1つまたは複数のサーバ920を含む。サーバ(複数可)920はハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、コンピューティング装置)とすることができる。サーバ920は、例えば、本発明を使用することにより変換を実施するためのスレッドを包含することができる。
クライアント910とサーバ920の間の可能な通信の1つは、2つまたはそれ以上のコンピュータ・プロセス間で送信されるよう適合されたデータ・パケットの形式で可能である。システム900は、クライアント(複数可)910とサーバ(複数可)920の間の通信を容易にするために使用できる通信フレームワーク940を含む。クライアント(複数可)910は、クライアント(複数可)910に局所的な情報を格納するために使用できる1つまたは複数のクライアント・データ・ストア(複数可)950に動作可能に接続される。同様に、サーバ(複数可)920は、サーバ920に局所的な情報を格納するために使用できる1つまたは複数のサーバ・データ・ストア(複数可)930に動作可能に接続される。
図10を参照すると、請求項に記載されている主題の様々な態様を実装するための例示的な環境1000がコンピュータ1012を含む。コンピュータ1012は処理装置1014、システム・メモリ1016、およびシステム・バス1018を含む。システム・バス1018はシステム・コンポーネントを処理装置1014に接続し、そのシステム・コンポーネントにはシステム・メモリ1016が含まれるがこれに限られない。処理装置1014は様々な利用可能なプロセッサのうち任意のものとすることができる。デュアル・マイクロプロセッサおよび他のマルチ・プロセッサのアーキテクチャを処理装置1014として使用することができる。
システム・バス1018は、メモリバスまたはメモリ・コントローラ、周辺機器用バスまたは外部バス、および/または、任意の種類の利用可能なバス構成を用いるローカル・バスを含む、任意の数種類のバス構造(複数可)のいずれかとすることができ、それは、限定しないが、ISA(Industrial Standard Architecture)、 MSA(Micro−Channel Architecture)、EISA(Extended ISA )、IDE(Intelligent Drive Electronics )、VLB(VESA Local Bus )、 PCI(Peripheral Component Interconnect)、カード・バス、 USB(Universal Serial Bus)、AGP(Advanced Graphics Port)、PCMCIA(Personal Computer Memory Card International Association bus)、ファイヤーワイヤ (IEEE 1394)、および SCSI(Small Computer Systems Interface)を含む。
システム・メモリ1016は揮発性メモリ1020と不揮発性メモリ1022を含む。起動中等、基本的なルーチンを含み、コンピュータ1012中の要素間に情報を転送する基本的な入力/出力システム(BIOS)は、不揮発性メモリ1022に格納される。限定ではなく例として、不揮発性メモリ1022は、ROM(read only memory)、PROM(programmable ROM)、EPROM(electrically programmable ROM)、EEPROM(electrically erasable programmable ROM)、またはフラッシュメモリを含むことができる。揮発性メモリ1020は、外部キャッシュメモリとして動作するRAM(random access memory)を含む。限定ではなく例として、RAMは、SRAM(static RAM)、DRAM(dynamic RAM)、SDRAM(synchronous DRAM)、DDR SDRAM(double data rate SDRAM)、ESDRAM(enhanced SDRAM)、SLDRAM(Synchlink DRAM)、RDRAM(Rambus direct RAM)、DRDRAM(direct Rambus dynamic RAM)、RDRAM(Rambus dynamic RAM)のような、多くの形で利用可能である。
コンピュータ1012はまた、取外し可能/取外し不能、揮発性/不揮発性のコンピュータ記憶媒体を含む。図10は、例えば、ディスク記憶装置1024を示す。ディスク記憶装置1024には、磁気ディスクドライブ、フロッピーディスクドライブ、テープドライブ、ジップドライブ、LS−100ドライブ、フラッシュメモリカード、またはメモリスティックが含まれるがこれらに限られない。さらに、ディスク記憶装置1024は記憶媒体を、他の記憶媒体と独立してまたは他の記憶媒体と組合せて含むことができ、かかる記憶媒体には、CD−ROM(compact disk ROM)装置、CD−R(CD recordable)ドライブ、CD−RW(CD rewritable)ドライブまたはDVD−ROM(digital versatile disk ROM)ドライブが含まれるがこれらに限られない。ディスク記憶装置1024のシステム・バス1018に対する接続を容易にするために、インタフェース1026のような取外し可能または取外し不能なインタフェースが一般に用いられる。
図10が、ユーザと適切な動作環境1000に記載した基本的なコンピュータ・リソースとの間で媒介として動作するソフトウェアを示すことは理解されよう。かかるソフトウェアにはオペレーティング・システム1028が含まれる。オペレーティング・システム1028は、ディスク記憶装置1024に記憶することができ、コンピュータ・システム1012のリソースを制御し割り当てるように動作する。システム・アプリケーション1030は、システム・メモリ1016内またはディスク記憶装置1024上のいずれかに格納されたプログラム・モジュール1032およびプログラム・データ1034を介して、オペレーティング・システム1028によりリソースの管理を利用する。請求項に記載されている主題を様々なオペレーティング・システムまたはオペレーティング・システムの組合せで実装できることは理解されよう。
ユーザは入力装置(複数可)1036を介してコマンドまたは情報をコンピュータ1012に入力する。入力装置1036には、マウスのようなポインティングデバイス、トラックボール、スタイラス、タッチパッド、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナ、TVチューナ・カード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラ、等が含まれるがこれらに限られない。これらおよび他の入力装置は、インタフェース・ポート(複数可)1038を介してシステム・バス1018を通じて処理装置1014に接続する。例えば、インタフェース・ポート(複数可)1038には、シリアル・ポート、パラレル・ポート、ゲーム・ポート、およびUSB(universal serial bus)が含まれる。出力装置(複数可)1040は、入力装置(複数可)1036と同種のポートのうち幾つかを使用する。従って、例えば、USBポートを使用して入力をコンピュータ1012に与え、情報をコンピュータ1012から出力装置1040に出力することができる。他の出力装置1040の中でもモニタ、スピーカ、プリンタのような幾つかの出力装置1040があることを示すため、出力アダプタ1042が提供されており、かかる出力装置1040は特殊なアダプタを要する。出力アダプタ1042には、限定ではなく例として、出力装置1040とシステム・バス1018の間の接続手段を提供するビデオ・カードおよびサウンド・カードが含まれる。リモート・コンピュータ(複数可)1044のような他の装置および/または装置システムが入力機能および出力機能の両方を提供することに留意されたい。
コンピュータ1012は、リモート・コンピュータ(複数可)1044のような1つまたは複数のリモート・コンピュータに対する論理接続を用いてネットワーク化された環境で動作することができる。リモート・コンピュータ(複数可)1044はパーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサ・ベースの機器、ピア・デバイスまたは他の共通ネットワーク・ノード等とすることができ、一般にコンピュータ1012に関して説明した要素の多くまたは全てを含む。簡潔さのため、メモリ記憶装置1046のみをリモート・コンピュータ(複数可)1044とともに示してある。リモート・コンピュータ(複数可)1044はネットワーク・インタフェース1048を介してコンピュータ1012に論理的に接続され、次いで通信接続部1050を介して接続される。ネットワーク・インタフェース1048はLAN(local−area netowork)およびWAN(wide−area network)のような有線および/または無線の通信ネットワークを含む。LAN技術には、FDDI(Fiber Distributed Data Interface)、CDDI(Copper Distributed Data Interface)、イーサネット、トークン・リング、等が含まれる。WAN技術には、ポイント・ツー・ポイント・リンク、ISDN(Integrated Services Digital Network)のような回線交換ネットワークおよびその変形、パケット交換ネットワーク、DSL(Digital Subscriber Lines)が含まれるがこれらに限られない。
通信接続部(複数可)1050はネットワーク・インタフェース1048をバス1018に接続するために使用されるハードウェア/ソフトウェアを指す。明確な説明のため通信接続部1050をコンピュータ1012の内部に示しているが、通信接続部1050はコンピュータ1012の外部にあることもできる。ネットワーク・インタフェース1048との接続に必要なハードウェア/ソフトウェアには、通常の電話用モデム、ケーブルモデムおよびDSLモデムを含むモデム、ISDNアダプタ、ならびにイーサネット・カードのような内部技術および外部技術が含まれるがこれらは例示の目的にすぎない。
上述したことには本発明の例が含まれる。もちろん、請求項に記載されている主題を説明する目的で、構成要素または方法論の全ての考えうる組合せを説明することは不可能であるが、本発明のさらに多くの組合せと置換えが可能であることは当業者には理解されよう。従って、請求項に記載されている主題は、添付の特許請求の範囲の趣旨および範囲から逸脱しないすべての上記変更、修正、および変形を含むものである。
特に、上述のコンポーネント、装置、回路、システム、等によって実行される様々な機能に関して、かかるコンポーネントを説明するために用いた用語(「手段」に対する言及を含む)は、特に記載のない限り、説明したコンポーネント(例えば、機能的な均等物)の具体的な機能を実行する任意のコンポーネントに対応するものであり、かかるコンポーネントは、開示した構造と構造的に等価でないにしても、本明細書で示した請求項に記載されている主題の例示的な態様における機能を実施する。この点で、本発明が、請求項に記載されている主題の様々な方法の動作および/またはイベントを実行するためのコンピュータ実行可能命令を有するシステムならびにコンピュータ読取可能媒体を含むことは理解されよう。
本発明を実装する多数の方法があり、例えば、アプリケーションおよびサービスが本発明の広告技法を使用できるようにする適切なAPI、ツールキット、ドライバコード、オペレーティング・システム、コントロール、スタンドアロンまたはダウンロード可能なソフトウェア・オブジェクト、等である。請求項に記載されている主題は、API(または他のソフトウェア・オブジェクト)の観点からの使用だけでなく、本発明による広告技法に従って動作するソフトウェア・オブジェクトまたはハードウェア・オブジェクトの観点からの使用を考慮している。したがって、本明細書に記載された発明の様々な実装形態は、全体としてハードウェアである態様、一部がハードウェアで一部がソフトウェアである態様、ならびにソフトウェアである態様、を有してもよい。
上述のシステムを幾つかのコンポーネントとの相互作用に関して説明した。係るシステムとコンポーネントがこれらのコンポーネントまたは特定のサブコンポーネント、指定されたコンポーネントまたはサブコンポーネントのうちのいくつか、および/または追加のコンポーネント、およびそれらの様々な置換えと組合せによるものを含むことができることは理解されよう。また、サブコンポーネントを、親コンポーネント内に(階層的)に含まれるのではなく他のコンポーネントと通信可能に結合されたコンポーネントとして実装することができる。さらに、1つまたは複数のコンポーネントを、集約機能を提供する単一のコンポーネントに結合するか、またはいくつかの別々のサブコンポーネントに分割でき、統合機能を提供するために、管理層のような任意の1つまたは複数の中間層を提供してかかるサブコンポーネントと通信可能に結合できることに留意されたい。本明細書で説明した任意のコンポーネントはまた、本明細書では具体的に説明していないが当業者には一般に公知である1つまたは複数の他のコンポーネントと相互作用することができる。
さらに、本発明の特定の機能を幾つかの実装形態のうち1つだけに関して開示したが、かかる特徴を、任意の所与のアプリケーションまたは特定のアプリケーションに対して望ましく有利なように他の実装形態の1つまたは複数の他の特徴と組み合わせることができる。さらに、「含む」、「備える」、「有する」、「包含する」といった用語、それらの変形、および他の同様な言葉を詳細な説明または特許請求の範囲の何れかで使用する限りでは、かかる用語は、いかなる追加または他の要素も除外することなく、開放された移行語としての用語「備える」と同様に包括的であるものである。

Claims (15)

  1. 複数の装置と関連してデータ整合性を管理することを容易にするシステムであって、
    ユーザに関連付けられた装置の集合(106)と、
    インタフェース・コンポーネント(108)を介して少なくとも1つの装置からデータの一部を受け取り、前記データの一部をホストし、前記データの一部を前記ユーザに関するアカウントと関連付けるウェブサービス(104)と、
    前記ユーザに関連付けられた前記装置の集合のうち2つまたはそれ以上の装置、または
    前記ウェブサービスによってホストされた前記アカウントと前記ユーザに関連付けられた前記装置の集合のうち2つまたはそれ以上の装置
    のうち少なくとも1つの間でデータ整合性を維持するために、少なくとも1つの装置からのコンピューティング・リソースを利用するマスタ同期コンポーネント(102)と
    を備えることを特徴とするシステム。
  2. 前記装置は、スマートフォン、ラップトップ、デスクトップ、コンピュータ、マシン、PDA(portable digital assistant)、携帯装置、ページャ、ツーウェイ、ハンドヘルド、モバイルデバイス、ブラウジング装置、無線装置、携帯ゲーム機、ゲーミング・コンソール、メディア・プレーヤ、ポータブル・メディア・プレイヤ、ペンドライブ、ハードドライブ、データ・ストア、デジタルカメラ、画像収集装置、ビデオ収集装置、ビデオカメラ、音声収集装置、オーディオ・レコーダ、GPS(global positioning system)、ポータブル・ウェブ・ブラウザ、のうち少なくとも1つであることを特徴とする請求項1に記載のシステム。
  3. 前記ウェブサービスは、イメージ・ウェブサービス、ビデオ・ウェブサービス、ストレージ・ウェブサービス、オーディオ・ファイル・ウェブサービス、データ・バックアップ・ウェブサービス、またはソーシャル・ネットワーク・ウェブサービスのうち少なくとも1つであることを特徴とする請求項1に記載のシステム。
  4. 前記ユーザに関連付けられた前記装置の集合は完全に接続されたメッシュ内のエンドポイントの集合であることを特徴とする請求項1に記載のシステム。
  5. 前記ウェブサービスは、複数のエンドポイントの間のオフライン・データ同期、または複数のエンドポイント間の協調シナリオのうち少なくとも1つを拡張することを特徴とする請求項4に記載のシステム。
  6. 前記2つまたはそれ以上の装置は、同期メタデータの一部をシームレスに解釈し、前記同期メタデータには、アイテム・レベルの同期メタデータとコレクション・レベルの同期メタデータが含まれることを特徴とする請求項1に記載のシステム。
  7. メタデータの特徴をアイテムに対して実現するアイテム・コンポーネントをさらに備え、前記アイテムは写真、個人の連絡先、画像ファイル、データの一部、映像の一部、音声の一部、グラフィックの一部、テキストの一部のうち少なくとも1つであることを特徴とする請求項1に記載のシステム。
  8. 前記メタデータの特徴は同期メタデータの一部であり、前記同期メタデータ一部はペアまたはトークンのうち少なくとも1つであることを特徴とする請求項7に記載のシステム。
  9. 前記同期メタデータの一部は更新バージョン構造を示し、前記更新バージョン構造は、最終更新に関連するデータ、変更を行った装置のローカル・タイムでの仮想的な更新時刻、または変更を行ったエンティティのうち少なくとも1つを含むことを特徴とする請求項8に記載のシステム。
  10. 前記同期メタデータの一部をシリアル化して、クライアントが変更列挙または衝突検出のうち少なくとも1つを利用できるようにするコレクション・ハンドラをさらに備えることを特徴とする請求項8に記載のシステム。
  11. 前記シリアル化された同期メタデータの一部は、少なくとも1つのツームストーンのクリーンアップを使用して、前記ウェブサービスからのリモート削除をクリーンアップすることを特徴とする請求項10に記載のシステム。
  12. 前記コレクション・ハンドラは、前記シリアル化された同期メタデータの一部をクロック・ベクトルとして利用し、係るクロック・ベクトルはバージョンのベクトルとして定義されることを特徴とする請求項11に記載のシステム。
  13. 衝突レゾルバをさらに備え、前記衝突レゾルバは、
    更新が非同期可能クライアントによって行われた場合は、更新されているアイテムに対する前記更新バージョン構造内の前記更新バージョン情報の一部を削除すること、
    同期可能装置によって更新されているアイテムに対する前記更新バージョン構造内の前記更新バージョン情報の一部を設定する装置を使用すること、または、
    アイテムが削除されたときに前記同期メタデータの一部のコピーを保持し、削除されたアイテムに対し、前記更新時刻から割り当てられた追加の同期メタデータを有する削除済みアイテムリストへのアクセスを提供すること、
    のうち少なくとも1つを実現することを特徴とする請求項12に記載のシステム。
  14. 複数の装置とウェブサービスとの間のデータ整合性の維持を容易にするコンピュータ実行型の方法であって、
    2つまたはそれ以上の装置を、接続メッシュ内のエンドポイントとして定義するステップ(702)と、
    少なくとも1つの装置に関連付けられたデータの一部にデータ変更を加えるステップと(704)と、
    前記装置の少なくとも1つからのリソースのみを利用して、前記接続メッシュ内の前記2つまたはそれ以上の装置に対して、前記データ変更を実施するステップ(706)と、
    前記装置の少なくとも1つからのリソースのみを利用して、ウェブサービスに対する前記データ変更を実施するステップ(706)と
    を含むことを特徴とする方法。
  15. ウェブサービスと複数の装置との間のオフライン・シナリオまたは協調シナリオに対するデータ同期の使用を容易にするコンピュータ実行型のシステムであって、
    特定のエンティティに関連する複数の装置のメッシュ接続を特定する手段(102、702)と、
    少なくとも1つの装置とウェブサービスとの間でデータを通信する手段(108、106、104、704)と、
    前記ウェブサービス内の前記データをホストする手段(104)と、
    前記データを前記特定のエンティティに対するアカウントと関連付ける手段(102、104)と、
    前記データ内の変更を検出する手段であって、前記変更は、前記メッシュ接続内の少なくとも1つの前記ウェブサービスまたは少なくとも1つの前記装置の内部で実行される、手段(102、106、104、704、806、808)と、
    前記ユーザに関連付けられた前記装置の集合内の2つまたはそれ以上の装置、または
    前記ウェブサービスによってホストされるアカウントと前記ユーザに関連付けられた前記装置の集合内の2つまたはそれ以上の装置
    のうち少なくとも1つの間でデータ整合性を維持するために少なくとも1つの装置からのコンピューティング・リソースを利用する手段(102、106、706)と、
    を備えることを特徴とするコンピュータ実行型のシステム。
JP2011525088A 2008-08-26 2009-08-18 装置およびウェブサービスに対するマルチ・マスタ・オフラインと協調に必要な最小限拡張 Withdrawn JP2012501586A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/198,181 2008-08-26
US12/198,181 US8458128B2 (en) 2008-08-26 2008-08-26 Minimal extensions required for multi-master offline and collaboration for devices and web services
PCT/US2009/054223 WO2010027653A2 (en) 2008-08-26 2009-08-18 Minimal extensions required for multi-master offline and collaboration for devices and web services

Publications (1)

Publication Number Publication Date
JP2012501586A true JP2012501586A (ja) 2012-01-19

Family

ID=41726879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011525088A Withdrawn JP2012501586A (ja) 2008-08-26 2009-08-18 装置およびウェブサービスに対するマルチ・マスタ・オフラインと協調に必要な最小限拡張

Country Status (5)

Country Link
US (2) US8458128B2 (ja)
EP (1) EP2318952A4 (ja)
JP (1) JP2012501586A (ja)
CN (1) CN102132270B (ja)
WO (1) WO2010027653A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9977823B2 (en) 2012-07-06 2018-05-22 Panasonic Intellectual Property Corporation Of America Content control method, content control apparatus, and program
US10019169B2 (en) 2015-02-03 2018-07-10 Fujitsu Limited Data storage apparatus, data control apparatus, and data control method

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326814B2 (en) 2007-12-05 2012-12-04 Box, Inc. Web-based file management system and service
US8458128B2 (en) 2008-08-26 2013-06-04 Microsoft Corporation Minimal extensions required for multi-master offline and collaboration for devices and web services
SE533007C2 (sv) 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
US9152644B2 (en) * 2008-12-30 2015-10-06 Novell, Inc. Systems and methods for providing collaborative editing
US20110225074A1 (en) * 2010-03-12 2011-09-15 Microsoft Corporation System and method for providing information as a service via web services
US8341099B2 (en) * 2010-03-12 2012-12-25 Microsoft Corporation Semantics update and adaptive interfaces in connection with information as a service
EP2712149B1 (en) 2010-04-23 2019-10-30 Compuverde AB Distributed data storage
US9406043B1 (en) 2010-12-15 2016-08-02 A9.Com, Inc. Techniques for peer-to-peer communication
US8966595B1 (en) * 2010-12-15 2015-02-24 A9.Com, Inc. Techniques for peer-to-peer communication using a “shared secret”
WO2012099617A1 (en) 2011-01-20 2012-07-26 Box.Net, Inc. Real time notification of activities that occur in a web-based collaboration environment
JP5740529B2 (ja) * 2011-06-03 2015-06-24 アップル インコーポレイテッド クラウドストレージ
US9015601B2 (en) 2011-06-21 2015-04-21 Box, Inc. Batch uploading of content to a web-based collaboration environment
US9063912B2 (en) 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
EP2729877A4 (en) 2011-07-08 2015-06-17 Box Inc DESKTOP APPLICATION FOR ACCESS AND INTERACTION WITH JOBS IN A CLOUD-BASED CONTENT MANAGEMENT SYSTEM AND SYNCHRONIZATION MECHANISMS THEREFOR
GB2503625A (en) 2011-07-08 2014-01-01 Box Inc Collaboration sessions in a workspace on cloud-based content management system
US8769138B2 (en) 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
US8645978B2 (en) 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
US10091290B1 (en) * 2011-09-23 2018-10-02 Pear Software, Llc Methods for synchronizing files in a cloud network
US9197718B2 (en) 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US8515902B2 (en) 2011-10-14 2013-08-20 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
WO2013062599A1 (en) 2011-10-26 2013-05-02 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
WO2013082320A1 (en) 2011-11-29 2013-06-06 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US9019123B2 (en) 2011-12-22 2015-04-28 Box, Inc. Health check services for web-based collaboration environments
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
JP6047487B2 (ja) * 2012-01-17 2016-12-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America コンテンツ管理装置、コンテンツ管理方法及びプログラム
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
KR101928915B1 (ko) * 2012-02-24 2019-03-12 삼성전자 주식회사 휴대단말기의 데이터 처리 장치 및 방법
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US8725821B1 (en) * 2012-03-14 2014-05-13 Comindware Ltd. System and method for project and process management by synchronizing custom objects between ms outlook and external server
US9565246B1 (en) * 2012-03-14 2017-02-07 Comindware Ltd. System and method for project and process management by synchronizing custom objects between an application and external server
US10474728B2 (en) * 2012-03-21 2019-11-12 Oath Inc. Seamless browsing between devices
US9054919B2 (en) 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US9027108B2 (en) 2012-05-23 2015-05-05 Box, Inc. Systems and methods for secure file portability between mobile applications on a mobile device
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US9021099B2 (en) 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
US9087020B1 (en) * 2012-07-05 2015-07-21 A9.Com, Inc. Managing and retrieving content from a shared storage
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
US9792320B2 (en) 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
US9473532B2 (en) 2012-07-19 2016-10-18 Box, Inc. Data loss prevention (DLP) methods by a cloud service including third party integration architectures
US8868574B2 (en) 2012-07-30 2014-10-21 Box, Inc. System and method for advanced search and filtering mechanisms for enterprise administrators in a cloud-based environment
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US9369520B2 (en) 2012-08-19 2016-06-14 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US8745267B2 (en) 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
CN103634894A (zh) * 2012-08-23 2014-03-12 中兴通讯股份有限公司 同步web UI终端的时间的方法、接入设备及系统
US9558202B2 (en) 2012-08-27 2017-01-31 Box, Inc. Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US8635373B1 (en) * 2012-09-22 2014-01-21 Nest Labs, Inc. Subscription-Notification mechanisms for synchronization of distributed states
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9705967B2 (en) 2012-10-04 2017-07-11 Box, Inc. Corporate user discovery and identification of recommended collaborators in a cloud platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US9628268B2 (en) 2012-10-17 2017-04-18 Box, Inc. Remote key management in a cloud-based environment
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9507795B2 (en) 2013-01-11 2016-11-29 Box, Inc. Functionalities, features, and user interface of a synchronization client to a cloud-based environment
EP2757491A1 (en) 2013-01-17 2014-07-23 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
CN103986742B (zh) * 2013-02-08 2018-08-31 纬创资通股份有限公司 文件同步的方法及相关电子装置
US20140229438A1 (en) * 2013-02-12 2014-08-14 Dropbox, Inc. Multiple platform data storage and synchronization
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US9633037B2 (en) 2013-06-13 2017-04-25 Box, Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US10229134B2 (en) 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in a cloud-based platform
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US20150066853A1 (en) * 2013-08-30 2015-03-05 U-Me Holdings LLC Templates and mappings for user settings
GB2518298A (en) 2013-09-13 2015-03-18 Box Inc High-availability architecture for a cloud-based concurrent-access collaboration platform
US9704137B2 (en) 2013-09-13 2017-07-11 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US9213684B2 (en) 2013-09-13 2015-12-15 Box, Inc. System and method for rendering document in web browser or mobile device regardless of third-party plug-in software
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
US10212143B2 (en) * 2014-01-31 2019-02-19 Dropbox, Inc. Authorizing an untrusted client device for access on a content management system
CN103927288B (zh) * 2014-04-30 2018-12-07 惠州Tcl移动通信有限公司 一种移动设备之间信息转移和共享的方法及系统
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US9602514B2 (en) 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
CN104123361B (zh) * 2014-07-18 2018-03-06 北京金山安全软件有限公司 导航页面的配置方法、装置
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
CN104468767B (zh) * 2014-12-01 2017-12-12 无锡清华信息科学与技术国家实验室物联网技术中心 一种云存储数据冲突检测方法及系统
US9736311B1 (en) 2016-04-29 2017-08-15 Rich Media Ventures, Llc Rich media interactive voice response
US10275529B1 (en) 2016-04-29 2019-04-30 Rich Media Ventures, Llc Active content rich media using intelligent personal assistant applications
CN107222558A (zh) * 2017-06-30 2017-09-29 胡玥莹 一种移动客户端与计算机网页端信息同步的方法与系统
CN115328997B (zh) * 2022-07-15 2023-04-07 深圳市数帝网络科技有限公司 数据同步方法、系统、设备及存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU7863600A (en) * 1999-10-05 2001-05-10 Zapmedia, Inc. System and method for distributing media assets to user devices and managing user rights of the media assets
US7162499B2 (en) * 2000-06-21 2007-01-09 Microsoft Corporation Linked value replication
US7689510B2 (en) * 2000-09-07 2010-03-30 Sonic Solutions Methods and system for use in network management of content
US7359920B1 (en) * 2001-04-18 2008-04-15 Intellisync Corporation Communication protocol for synchronization of personal information management databases
US7743022B2 (en) * 2003-02-28 2010-06-22 Microsoft Corporation Method and system for synchronizing data shared among peer computing devices
US7756825B2 (en) * 2003-07-31 2010-07-13 Microsoft Corporation Synchronization peer participant model
US7440985B2 (en) * 2003-07-31 2008-10-21 Microsoft Corporation Filtered replication of data stores
US6973299B2 (en) * 2003-08-01 2005-12-06 Microsoft Corporation Unified contact list
US8131739B2 (en) * 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US7401104B2 (en) * 2003-08-21 2008-07-15 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
CA2540264C (en) * 2003-09-27 2014-06-03 Electronics And Telecommunications Research Institute Package metadata and targeting/synchronization service providing system using the same
US7444278B2 (en) * 2004-03-19 2008-10-28 Microsoft Corporation Method and system for synchronizing the user interface language between a software application and a web site
CN101142573A (zh) * 2004-10-25 2008-03-12 恩鲍尔技术公司 全局数据同步的系统和方法
WO2006047650A2 (en) * 2004-10-25 2006-05-04 Empower Technologies, Inc. System and method for global data synchronization
US7930346B2 (en) * 2005-08-24 2011-04-19 Microsoft Corporation Security in peer to peer synchronization applications
US8776216B2 (en) * 2005-10-18 2014-07-08 Intertrust Technologies Corporation Digital rights management engine systems and methods
US20070094276A1 (en) * 2005-10-20 2007-04-26 Isaac Emad S Method for obtaining and managing restricted media content in a network of media devices
US7631017B2 (en) * 2005-12-08 2009-12-08 Motorola, Inc. Method and system for maintaining current data for wireless devices
US7860825B2 (en) * 2006-05-08 2010-12-28 Palm, Inc. Method for synchronizing software application and user data for asynchronous client-server and peer to peer computer networks
US20070271338A1 (en) * 2006-05-18 2007-11-22 Thomas Anschutz Methods, systems, and products for synchronizing media experiences
KR100851665B1 (ko) 2006-12-29 2008-08-13 (주)제하시스템 오프라인 시 홈페이지 컨텐츠 사용 기능을 제공하는무선인터넷 시스템 및 휴대용 멀티미디어 플레이어 장치 및그 방법
US20080168185A1 (en) * 2007-01-07 2008-07-10 Robbin Jeffrey L Data Synchronization with Host Device in Accordance with Synchronization Preferences
US8458128B2 (en) 2008-08-26 2013-06-04 Microsoft Corporation Minimal extensions required for multi-master offline and collaboration for devices and web services

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9977823B2 (en) 2012-07-06 2018-05-22 Panasonic Intellectual Property Corporation Of America Content control method, content control apparatus, and program
US10019169B2 (en) 2015-02-03 2018-07-10 Fujitsu Limited Data storage apparatus, data control apparatus, and data control method

Also Published As

Publication number Publication date
US8458128B2 (en) 2013-06-04
WO2010027653A3 (en) 2010-05-06
EP2318952A4 (en) 2012-12-05
WO2010027653A2 (en) 2010-03-11
US9009108B2 (en) 2015-04-14
US20130198132A1 (en) 2013-08-01
CN102132270B (zh) 2014-03-12
US20100057785A1 (en) 2010-03-04
CN102132270A (zh) 2011-07-20
EP2318952A2 (en) 2011-05-11

Similar Documents

Publication Publication Date Title
JP2012501586A (ja) 装置およびウェブサービスに対するマルチ・マスタ・オフラインと協調に必要な最小限拡張
US11354328B2 (en) Shared folder backed integrated workspaces
JP6928644B2 (ja) コンテンツ管理システムにおけるプロジェクトの作成
AU2017203690C1 (en) File-level commenting
JP6248182B2 (ja) プレースホルダを用いるファイル管理
US20150326620A1 (en) Media presentation in a virtual shared space
US20220164743A1 (en) Managing projects in a content management system
WO2023235470A1 (en) Digital asset (da) move options between personal and shared da libraries

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20121106