JP2010533389A - 無線環境においてデータセットを同期するための方法および機器 - Google Patents

無線環境においてデータセットを同期するための方法および機器 Download PDF

Info

Publication number
JP2010533389A
JP2010533389A JP2010513421A JP2010513421A JP2010533389A JP 2010533389 A JP2010533389 A JP 2010533389A JP 2010513421 A JP2010513421 A JP 2010513421A JP 2010513421 A JP2010513421 A JP 2010513421A JP 2010533389 A JP2010533389 A JP 2010533389A
Authority
JP
Japan
Prior art keywords
synchronization
data set
network device
version number
wireless device
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
JP2010513421A
Other languages
English (en)
Other versions
JP5065482B2 (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2010533389A publication Critical patent/JP2010533389A/ja
Application granted granted Critical
Publication of JP5065482B2 publication Critical patent/JP5065482B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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

Abstract

無線装置上、およびネットワークサーバやネットワークデータベースなどのネットワーク装置において記憶されるデータセットを無線で同期するための方法、機器、システム、およびコンピュータプログラム製品を提供する。本態様は、無線装置とネットワーク装置との間の単一往復の無線通信で同期を完了することができる、単純化され、効率的な同期プロセスを提供する。単一往復の同期は、より少ないネットワーク資源の使用、より短い全体的な同期サイクル時間、および同期プロセスの失敗を引き起こす呼切断、等などの無線ネットワーク障害の可能性を低下させることをもたらす。さらに、ネットワークデータセットが無線装置データセットから独立していることを可能にする、すなわち、ネットワークサーバが完全な変更履歴を要求せず、ネットワークサーバが無線装置のデータセットバージョンを知ることを要求されない同期プロセスを作り出すことにより、単純化および効率性がさらに実現される。この同期は、ネットワークベースのゲーム用途に適用することができる。

Description

米国特許法第119条に基づく優先権の主張
特許のための本出願は、2007年6月19日に出願され、本譲受人に譲渡され、参照により本明細書に明示的に組み込まれる「METHODS AND APPARATUS FOR DATASET SYNCHRONIZATION IN A WIRELESS ENVIRONMENT」と題された仮出願第60/945,088号の優先権を主張するものである。
開示する諸態様は無線通信装置に関し、より具体的には、対応するデータセットがネットワークサイトにおいて記憶された状態で、無線通信装置上に記憶されるデータセットを無線で同期するためのシステム、方法、および機器に関する。
同期とは、他の場合はデータセットと呼ばれる単一ファイルが2つ以上の装置間で同期されるプロセスである。このプロセスは、データセットが装置間で全体的に等しくなるまで、装置間で自動的に変更をやり取りしてコピーすることによって行われる。
ファイルまたはデータセットの同期は、無線環境において、より一般的になっている。例えば1台の無線装置上に記憶されたあるユーザの連絡先リストを、他の無線装置またはネットワークデータベースに同期させることができる。データセットの同期は、データ交換をトリガするオンラインモードに移る前にアプリケーションをオフラインモードで使用する事例において特に有益である。例示的なアプリケーションには、ユーザがオフラインモード中にeメールを入力し、その後、装置がオンラインモードに戻るときにそのeメールがネットワークデータベースに送信される電子メール(eメール)が含まれる。この同期プロセスは、複数のユーザが共有ネットワークデータベースを介して対話する、コミュニティタイプの環境でも実施される。例えば、無線環境では、ユーザがリアルタイムのビデオゲームに参加することを可能にするゲームコミュニティも、ゲーム情報を中央ネットワークデータベースに記憶し、共有することを行う。そのようなコミュニティ活動は、ユーザが自身のローカルに記憶されたデータベースに変更を加えることができ、そのユーザがオンラインモードに移るときにその変更がネットワークデータベースに同期される、オフラインモードで使用される傾向もある。
一手法では、PDA(携帯情報端末)等の無線装置をパーソナルコンピュータへのシリアル接続を有するドッキング装置にドッキングすることにより、ローカルに同期することができる。この種の同期は、無線装置とコンピュータとが互いに極めて接近することを必要とする。しかし、より強力な無線装置が出現したことで、無線ネットワークを介してデータセットをリモートで同期できるようになった。
データのリモート同期は、無線ネットワーク用の共通のデータ同期プロトコルを提供するSyncML(Synchronization Markup Language:同期マークアップ言語)によって達成されている。SyncMLは、無線の同期(「sync」)セッション中に生じるすべてのSyncML通信について基礎をなすキャリアプロトコルとしてXML(拡張マークアップ言語)に依拠する。そのようなものとして、1つの任意のsyncセッション中に、無線装置とネットワークサーバとの間で複数のメッセージが送信される。さらに、各メッセージのデータ構造は大きく、結果としてメッセージを交換するための高帯域要件をもたらす。したがってSyncMLは、複数のメッセージの交換を必要とし、大量のネットワーク帯域幅を要求し、完了するために相対的に長時間を要する、相対的に複雑な同期プロセスである。セルラネットワークの制限(例えば、潜在的な信号の損失、帯域幅の制限、等)とあいまったこのSyncMLプロセスの複雑さは、同期プロセスを高信頼とは言えないものにする。例えば、この同期プロセス中に接続を行うことを失敗し、または接続を断つと、多くの場合、完全同期プロセスを行う必要があることになる。完全同期プロセスの間、発生した変更だけであることとは対照的に、全データセットが無線装置またはネットワークに伝えられる。
したがって、現在の無線ソリューションよりも単純で、より効率的で、より堅牢な、無線発展のための同期プロセスを発展させる需要が存在する。
この点について、単純性は、現在の無線syncプロセスよりも少ないネットワーク資源を使用し、履歴データに関してより少なく要求する本態様によって実現することができる。より少ないネットワーク資源を使用することは、syncサイクルを完了する時間が減り得るので、より効率的なsyncプロセスをもたらすことができる。さらに、記載の同期プロセスは、サーバと無線装置との間でデータセットを完全同期する必要性を要求することなく無線ネットワーク障害が生じることを許す。
具体的には、本態様は、無線装置上、およびネットワークサーバやネットワークデータベースなどのネットワーク装置において記憶されるデータセットを無線で同期するための方法、装置、システム、およびコンピュータプログラム製品を提供する。本態様は、無線装置とネットワーク装置との間の単一往復の無線通信で同期を完了することができる、単純化され、効率的な同期プロセスを提供する。単一往復の通信は、より少ないネットワーク資源の使用、より短い全体的な同期サイクル時間、および同期プロセスの失敗を引き起こす呼切断、等などの無線ネットワーク障害の可能性を低下させることをもたらす。さらに、ネットワークデータセットが無線装置データセットから独立していることを可能にする、すなわち、ネットワークサーバが完全な変更履歴を要求しない可能性があり、ネットワークサーバが無線装置のデータセットバージョンを知ることを要求されない可能性がある同期プロセスを作り出すことにより、単純化および効率性がさらに実現される。本態様は、データセットの完全同期を実施する必要なく、通信障害がこの同期プロセスの再適用を許すような堅牢な同期プロセスも提供する。この点について、本態様は、無線ゲームコミュニティ、等などの無線コミュニティタイプの環境、またはeメール、ゲーム、等など、オフラインモード使用を提供する用途で使用されるデータセットを同期するのに適している。
一態様では、無線装置上のデータセットを同期するための方法を定義する。この方法は、現在の無線装置のデータセットバージョンを含むデータセット用の同期要求メッセージを生成することと、その同期要求メッセージをネットワーク装置に無線で伝えることと、その同期要求メッセージを伝えることに応答して、ネットワーク装置のデータセットバージョン番号を含む同期確認メッセージを無線で受信することとを含む。この同期要求メッセージおよび同期確認メッセージは、無線装置とネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする。一部の態様では、この方法は、確認メッセージ内のネットワークデータセットのバージョン番号が現在の無線装置のバージョン番号と異なる場合に、現在の無線装置のバージョン番号をネットワークデータセットのバージョン番号に変更することを含むことができる。さらにこの同期確認メッセージは、同期状況標識および/またはネットワーク装置データセット内の1つまたは複数の変更されたデータ項目を含むネットワーク装置変更リストを含むことができ、したがってこの方法は、このネットワーク装置変更リストに従って無線装置データセットを変更することを含むことができる。
この方法の一部の態様では、同期要求メッセージを生成することは、無線装置データセット内のデータ項目ごとの変更標識の状況を確認することと、変更を示すデータ項目のうちの1つまたは複数に関する変更標識に基づいて、1つまたは複数の変更されたデータ項目を含む無線装置変更リストをコンパイルすることと、その無線装置変更リストを同期要求メッセージ内に含めることとをさらに含むことができる。
一部の態様では、この同期要求メッセージおよび同期確認メッセージは、JSON(Java(登録商標) Script Object Notation)プロトコルなどの軽量データ交換キャリアプロトコルによって伝えられる。
一部の態様では、同期状況標識が同期の失敗を示す場合、この方法は、同期失敗標識に基づいて無線装置とネットワーク装置との間で完全同期を開始することをさらに含むことができる。他の態様では、所定の期間を過ぎて無線装置が同期確認メッセージを受信しそこなう場合、同期要求メッセージを生成し、通信することにより新しい同期セッションを開始することができる。
さらなる関連態様が、少なくとも1個のプロセッサによって提供される。このプロセッサは、現在の無線装置のデータセットバージョン番号を含むデータセット用の同期要求メッセージを生成するための第1のモジュールと、その同期要求メッセージをネットワーク装置に無線で伝えるための第2のモジュールと、その同期要求メッセージを伝えることに応答して、ネットワーク装置のデータセットバージョン番号を含む同期確認メッセージを無線で受信するための第3のモジュールとを含むように構成される。この同期要求メッセージおよび同期確認メッセージは、無線装置とネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする。
別の関連態様は、コンピュータ可読媒体を含むコンピュータプログラム製品によって定義される。この媒体は、コンピュータに現在の無線装置のデータセットバージョン番号を含むデータセット用の同期要求メッセージを生成させるための少なくとも1つの命令と、コンピュータにその同期要求メッセージをネットワーク装置に無線で通信させるための少なくとも1つの命令と、その同期要求メッセージの通信に応答して、コンピュータにネットワーク装置のデータセットバージョン番号を含む同期確認メッセージを無線で受信させるための少なくとも1つの命令とを含む。この同期要求メッセージおよび同期確認メッセージは、無線装置とネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする。
さらに別の関連態様は、機器によって定義される。この機器は、現在の無線装置のデータセットバージョン番号を含むデータセット用の同期要求メッセージを生成するための手段と、その同期要求メッセージをネットワーク装置に無線で伝えるための手段と、その同期要求メッセージを伝えることに応答して、ネットワーク装置のデータセットバージョン番号を含む同期確認メッセージを無線で受信するための手段とを含む。この同期要求メッセージおよび同期確認メッセージは、無線装置とネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする。
さらなる態様が、無線通信装置によって提供される。この装置は、メモリおよび少なくとも1個のプロセッサを含むコンピュータプラットフォームと、そのメモリ内に記憶され、複数のデータ項目を含むデータセットと、そのメモリ内に記憶され、その少なくとも1個のプロセッサによって実行可能な同期モジュールとを含む。この同期モジュールは、現在の無線装置のデータセットバージョン番号を含むデータセット用の同期要求メッセージを生成し、その同期要求メッセージをネットワーク装置に通信し、その同期要求メッセージの通信に応答して、ネットワーク装置のデータセットバージョン番号を含む同期確認メッセージを受信するように動作可能である。この同期要求メッセージおよび同期確認メッセージは、無線装置とネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする。この同期モジュールは、確認メッセージ内のネットワーク装置のデータセットバージョン番号が現在の無線装置のバージョン番号と異なる場合に、現在の無線装置のバージョン番号をネットワークデータセットのバージョン番号に変更するようにさらに動作可能であり得る。この同期モジュールは、同期状況標識および/またはネットワーク装置データセット内の1つまたは複数の変更されたデータ項目を含むネットワーク装置変更リストを含む同期確認メッセージを受信するようにさらに動作可能であることができ、この機器は、このネットワーク装置変更リストに従って無線装置データセットを変更するように動作可能であり得る。
代替態様では、この同期モジュールは、無線装置データセット内のデータ項目ごとの変更標識の状況を確認し、状況変更標識に基づいて、1つまたは複数の変更されたデータ項目を含む無線装置変更リストをコンパイルし、その無線装置変更リストを同期要求メッセージ内に含めるようにさらに動作可能である。
この無線装置の一部の態様では、この同期要求メッセージおよび同期確認メッセージは、JSON(Java(登録商標) Script Object Notation)プロトコルなどの軽量データ交換キャリアプロトコルによって伝えられる。
この無線装置の一部の態様では、この同期モジュールは、同期失敗標識を含む同期確認メッセージを受信するようにさらに動作可能であり、無線装置とネットワーク装置との間で完全同期を開始するようにさらに動作可能である。
さらに別の態様は、ネットワーク装置上のデータセットを同期するための方法によって提供される。この方法は、無線装置のデータセットバージョン番号を含む同期要求メッセージをネットワーク装置において無線で受信することと、無線装置のデータセットバージョン番号と現在のネットワーク装置のデータセットバージョン番号とを比較することと、無線装置のデータセットバージョン番号がネットワーク装置のデータセットバージョン番号と異なることをその比較が示す場合に、1つまたは複数の変更されたデータ項目を含むネットワーク装置データセット変更リストをコンパイルすることと、現在のネットワーク装置のデータセットバージョン番号およびコンパイルされた任意のネットワーク装置データセット変更リストを含む、同期確認メッセージを生成することと、その同期確認メッセージを無線で伝えることとを含む。この同期要求メッセージおよび同期確認メッセージは、無線装置とネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする。
この方法の一部の態様では、同期要求メッセージを受信することは、1つまたは複数の変更されたデータ項目を含む無線装置データセット変更リストを含む同期要求メッセージを受信することと、その無線装置データセット変更リスト内に含まれる変更されたデータ項目を、ネットワーク装置データセット内で変更することとをさらに含むことができる。この方法の一部の態様では、ネットワーク装置データセットに変更を加えることは、無線装置データセット上で削除されているデータ項目に対して、そのデータ項目をネットワーク装置データセットから削除せずに削除標識を与えることを含み得る。
この方法の一部の態様は、データ項目の変更に基づいてデータ項目のバージョン番号を更新することと、最も高く順番付けられた変更されたデータ項目のバージョン番号を反映するためにネットワーク装置のデータセットバージョン番号を更新することとをさらに含むことができる。そのような態様では、同期確認メッセージを生成することは、更新されたネットワーク装置のデータセットバージョン番号およびコンパイルされた任意のネットワーク装置データセット変更リストを含む、同期確認メッセージを生成することを含むことができる。
この方法の一部の態様では、この同期要求メッセージおよび同期確認メッセージは、JSON(JavaScript Object Notation)プロトコルなどの軽量データ交換キャリアプロトコルによって伝えられる。
さらなる態様が、少なくとも1個のプロセッサによって提供される。このプロセッサは、無線装置のデータセットバージョン番号を含む同期要求メッセージをネットワーク装置において無線で受信するための第1のモジュールと、無線装置のデータセットバージョン番号と現在のネットワーク装置のデータセットバージョン番号とを比較するための第2のモジュールと、無線装置のデータセットバージョン番号がネットワーク装置のバージョン番号と異なることをその比較が示す場合に、1つまたは複数の変更されたデータ項目を含むネットワーク装置データセット変更リストをコンパイルするための第3のモジュールと、現在のネットワーク装置のデータセットバージョン番号およびコンパイルされた任意のネットワーク装置データセット変更リストを含む、同期確認メッセージを生成するための第4のモジュールと、その同期確認メッセージを無線で伝えるための第5のモジュールとを含む。この同期要求メッセージおよび同期確認メッセージは、無線装置とネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする。
別の関連態様は、コンピュータ可読媒体を含むコンピュータプログラム製品によって定義される。この媒体は、コンピュータに無線装置のデータセットバージョン番号を含む同期要求メッセージをネットワーク装置において無線で受信させるための少なくとも1つの命令と、コンピュータに無線装置のデータセットバージョン番号と現在のネットワーク装置のデータセットバージョン番号とを比較させるための少なくとも1つの命令と、無線装置のデータセットバージョン番号がネットワーク装置のデータセットバージョン番号と異なることをその比較が示す場合に、コンピュータに1つまたは複数の変更されたデータ項目を含むネットワーク装置データセット変更リストをコンパイルさせるための少なくとも1つの命令とを含む。この媒体は、コンピュータに現在のネットワーク装置のデータセットバージョン番号およびコンパイルされた任意のネットワーク装置データセット変更リストを含む、同期確認メッセージを生成させるための少なくとも1つの命令と、コンピュータにその同期確認メッセージを無線で通信させるための少なくとも1つの命令とをさらに含む。この同期要求メッセージおよび同期確認メッセージは、無線装置とネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする。
さらに別の態様は、機器によって提供される。この機器は、無線装置のデータセットバージョン番号を含む同期要求メッセージをネットワーク装置において無線で受信するための手段と、無線装置のデータセットバージョン番号と現在のネットワーク装置のデータセットバージョン番号とを比較するための手段と、無線装置のデータセットバージョン番号がネットワーク装置のデータセットバージョン番号と異なることをその比較が示す場合に、1つまたは複数の変更されたデータ項目を含むネットワーク装置データセット変更リストをコンパイルするための手段とを含む。この機器は、現在のネットワーク装置のデータセットバージョン番号およびコンパイルされた任意のネットワーク装置データセット変更リストを含む、同期確認メッセージを生成するための手段と、その同期確認メッセージを無線で伝えるための手段とをさらに含む。この同期要求メッセージおよび同期確認メッセージは、無線装置とネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする。
一態様がネットワーク装置によっても提供される。このネットワーク装置は、メモリおよび少なくとも1個のプロセッサを含むコンピュータプラットフォームと、そのメモリ内に記憶され、複数のデータ項目を含むデータセットと、そのメモリ内に記憶され、その少なくとも1個のプロセッサによって実行可能な同期モジュールとを含む。この同期モジュールは、無線装置のデータセットバージョン番号を含む同期要求メッセージを受信し、無線装置のデータセットバージョン番号と現在のネットワーク装置のデータセットバージョン番号とを比較し、無線装置のデータセットバージョン番号がネットワーク装置のデータセットバージョン番号と異なることをその比較が示す場合に、1つまたは複数の変更されたデータ項目を含むネットワーク装置データセット変更リストをコンパイルし、現在のネットワーク装置のデータセットバージョン番号およびコンパイルされた任意のネットワーク装置データセット変更リストを含む、同期確認メッセージを生成し、その同期確認メッセージを無線で伝えるように動作可能である。この同期要求メッセージおよび同期確認メッセージは、無線装置とネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする。
したがって本態様の1つまたは複数は、無線装置上、およびネットワークサーバやネットワークデータベースなどのネットワーク装置において記憶されるデータセットを無線で同期することを提供する。説明したように、本態様は、無線装置とネットワーク装置との間の単一往復の無線通信で同期を完了することができる、単純化され、効率的な同期プロセスを提供する。単一往復の通信は、より少ないネットワーク資源の使用、より短い全体的な同期サイクル時間、および同期プロセスの失敗を引き起こす呼切断、等などの無線ネットワーク障害の可能性を低下させることをもたらす。さらに、ネットワークデータセットが無線装置データセットから独立していることを可能にする、すなわち、ネットワークサーバが完全な変更履歴を要求せず、ネットワークサーバが無線装置のデータセットバージョンを知ることを要求されない同期プロセスを作り出すことにより、単純化および効率性がさらに実現される。本態様は、データセットの完全同期を実施する必要なく、通信障害がこの同期プロセスの再適用を許すような堅牢な同期プロセスも提供する。
一態様による1台または複数台の無線装置上に記憶されるデータセット、およびネットワーク装置に記憶される対応するデータセットを無線で同期するためのシステムのブロック図。 一態様による同期のための無線装置データセットのブロック図。 一態様による同期のためのネットワーク装置データセットのブロック図。 一態様によるデータセットを同期するために構成された無線通信装置のブロック図。 一態様によるデータセットを同期するために構成されたネットワーク装置のブロック図。 一態様による無線通信ネットワークのブロック図。 一態様によるデータセット同期の一例を示す図。 別の態様によるデータセット同期の別の例を示す図。 一態様による無線通信装置上のデータセット同期に関する方法の流れ図。 一態様によるネットワーク装置上のデータセット同期に関する方法の流れ図。
本装置、機器、方法、コンピュータ可読媒体、およびプロセッサを、本発明の諸態様を図示する添付の図面を参照しながら以下により完全に説明する。ただし、本装置、機器、方法、コンピュータ可読媒体、およびプロセッサは、多くの異なる形態で実施することができ、本明細書に記載の諸態様に限定されるものとして解釈すべきでなく、むしろこれらの態様は、本開示が徹底的かつ完璧となるように、かつ本発明の範囲を当業者に完全に伝えるように提供するものである。全体を通じて同じ番号は同じ要素を指す。
本明細書で使用するとき、「例示的」という言葉は「例、事例、または例証であること」を意味する。本明細書で「例示的」として記載されるどんな態様も、他の態様よりも好ましいまたは有利であるとは必ずしも解釈すべきでない。
本明細書に記載の1つまたは複数の態様は無線通信装置に関する。無線通信装置は、加入者局、加入者ユニット、移動局、モバイル、リモート局、アクセスポイント、リモート端末、アクセス端末、ユーザ端末、ユーザエージェント、ユーザ装置、またはユーザ機器と呼ぶこともできる。加入者局は、携帯電話、コードレス電話、SIP(セッション開始プロトコル)電話、WLL(無線ローカルループ)局、PDA(携帯情報端末)、無線接続機能を有するハンドヘルド装置、または無線モデムに接続される他の処理装置とすることができる。
本態様の1つまたは複数は、無線装置上、およびネットワークサーバやネットワークデータベースなどのネットワーク装置において記憶されるデータセットを無線で同期するための方法、システム、機器、およびコンピュータプログラム製品を提供する。本態様の1つまたは複数は、無線装置とネットワーク装置との間の単一往復の無線通信で同期を完了することができる、単純化され、効率的な同期プロセスを提供する。さらに、ネットワークデータセットが無線装置データセットから独立していることを可能にする、すなわち、ネットワークサーバが完全な変更履歴を要求しない可能性があり、ネットワークサーバが各無線装置についての無線装置のデータセットバージョンを知り、または追跡することを要求されない可能性がある同期プロセスを作り出すことにより、単純化および効率性がさらに実現される。本態様は、データセットの完全同期を実施する必要なく、通信障害がこの同期プロセスの再適用を許すような堅牢な同期プロセスも提供する。この点について、本態様の1つまたは複数は、無線ゲームコミュニティ、等などの無線コミュニティタイプの環境、またはeメール、ゲーム、等など、オフラインモード使用を提供する用途で使用されるデータセットを同期するのに適している。
図1を参照すると、本態様による無線でデータセットを同期するためのシステムのブロック図表現が示されている。このシステム10は、1台または複数台の無線装置12と、無線ネットワーク16を介して無線通信する、対応するデータベースを有するネットワークサーバなどのネットワーク装置14とを含む。無線装置12およびネットワーク装置14のうちの1台または複数台が、同期を必要とするデータセット18および48を記憶する。一部の態様では、例えば無線コミュニティタイプの環境では、ネットワーク装置14は、受信したデータセットを無線装置データセット18として記憶する1台または複数台の無線装置12に対して、最初にネットワーク装置データセット48を配信することができる。ある期間にわたって、ネットワークサーバ14および1台または複数台の無線装置12のいずれかもしくは両方が自らの個々のデータセット48および18を更新することができる。そのようなものとして、システム10は、1台または複数台の無線装置12およびネットワーク装置14が自らの個々のデータセット18および48を、無線通信を介して同期できるようにする機器および方法を提供する。
無線装置12は、プロセッサ22およびメモリ24を有するコンピュータプラットフォーム20を含む。無線装置12のメモリ24は、データセット18および48を同期するように動作可能な同期モジュール26を含む。この同期モジュール26は、同期プロセスを無線装置12とネットワーク装置14との間の単一往復の無線通信に限定するために、キャリアプロトコルとして軽量データ交換プロトコルに依拠することができる。軽量データ交換プロトコルは、名前/対の値の集合、および値の順序付きリストという2つの構造上に特徴として構築され得る。この名前/値の対は、オブジェクト、記録、構造、辞書、ハッシュテーブル、キーリスト(keyed list)、連想配列、等を含むことができる。値の順序付きリストは、配列、ベクトル、リスト、順番、またはこのリストを含むことができる。軽量データ交換プロトコルの一例が、JavaScript(商標)Object Notation(JSON)である。JSONでは、オブジェクトは1組の順序付けられていない名前/値の対であり、配列は値の順序付けられた集合であり、値はストリング、数、真/偽/ヌル標識、オブジェクト、または配列とすることができる。他のデータ交換プロトコルとは異なり、JSONは配列をサポートし、そのようなものとしてより単純な構文およびより少ないマークアップを要求する。組み込まれた数および配列のサポートとあいまって、JSONの正規構文構造および単純な構文構造は、より単純な構文解析、より近接したデータ構造の表現、およびより小さいサイズに作られるメッセージの点で他のデータ交換プロトコルを上回る、より優れた利点を提供する。
この同期モジュール26は、ネットワーク装置14に伝送され、ネットワーク装置14とのデータセット同期を要求するように機能する同期要求メッセージ30を生成するように動作可能である。同期要求メッセージ30は、この単一往復の同期プロセスの最初の一区切りを形成する。一部の態様では、同期モジュール26は、前の同期プロセスの後にデータセット18に加えられた変更を示す無線装置変更リスト28をさらにコンパイルすることができる。変更には、データセット18への追加、挿入、および/または削除が含まれてよい。この同期モジュール26は、例えば同期要求メッセージ30内で、無線装置変更リスト28をネットワーク装置14に伝えるようにも動作可能である。この同期モジュール26は、単一往復の同期プロセスの第2の一区切りを形成する同期確認メッセージ32を受信するようにも動作可能である。同期確認メッセージ32は、syncプロセスの完了を確認する役割を果たす。さらに同期確認メッセージ32は、前の同期プロセスの後に、対応するネットワークデータセット48に加えられた変更を示すネットワーク装置変更リスト34を含むことができる。したがって、システム10は、無線装置データセット18とネットワーク装置データセット48との間の同期を、同期要求メッセージ30および同期確認メッセージ32による単一往復で有利に行う。
無線装置データセット18は、ネットワークデータベースとの最後の同期からのネットワークデータベースバージョンに相当するデータセットバージョンを示す、バージョン番号19を特徴として有する。さらに、各無線装置データセット18は、1つまたは複数のデータ項目36を含む。データ項目36は、1つまたは複数のデータフィールド38を含むことができる。図示するデータ項目36は様々な数のデータフィールドを含むが、どんなデータ項目36も任意の数のデータフィールド38を含むことができることに留意すべきである。一部の態様によれば、データセットに加えられる変更は、データフィールド38とは対照的にデータ項目36に関して反映され、例えば個々のデータ項目の任意のフィールドが変更される場合、その個々のデータ項目が変更されたとみなされる。したがって、無線装置データセットへの変更が、ネットワークデータセットおよび/または別の無線装置データセットへの同じ変更をもたらすことを意味する冪等性を有する同期プロセスを提供するために、無線装置変更リスト28はデータ項目に関する変更を含む。したがって、この無線装置変更リスト28は、追加されもしくは削除されている、または対応するデータフィールドがそれに追加され、削除され、もしくは変更されている任意のデータ項目の全てを含む。
ネットワーク装置14は、プロセッサ42およびメモリ44を有するコンピュータプラットフォーム40を含む。ネットワーク装置14のメモリ44は、ネットワーク装置データセット48を1つまたは複数の無線装置データセット18に同期するように動作可能な同期モジュール46を含む。無線装置12上の同期モジュール26と同様に、この同期モジュール46は、帯域幅を低減し、同期プロセスを無線装置12とネットワーク装置14との間の単一往復の無線通信で行えるようにするために、キャリアプロトコルとして同じ軽量データ交換プロトコルを利用することができる。
この同期モジュール46は、同期要求メッセージ30を受信し、この要求メッセージ30内の任意の無線装置変更リスト28を実施するように動作可能である。この同期モジュール46は、個々の無線装置12によって行われる前の同期プロセスの後にネットワークデータセット48に加えられた変更を示すネットワーク変更リスト34をコンパイルするようにも動作可能である。つまり、ネットワーク装置変更リスト34は、受信した無線装置のデータセットバージョン19とネットワークデータセットバージョン50との差に基づく、ネットワークデータセット48の「変量」または純変化を備える。この同期モジュール46は、ネットワーク装置変更リスト34を、要求無線装置12に対して同期確認メッセージ32内で伝えるようにさらに動作可能である。
本態様によれば、ネットワークデータセット48は、どのように変更が示されるのかに関して、対応する無線装置データセット18とは異なる。ネットワークデータセット48は特徴として、ネットワークデータセットのバージョンを示すバージョン番号50を有する。各データセット48は、1つまたは複数のデータ項目52を含む。無線装置データセット18を形成するデータ項目36と同様に、各データ項目52は1つまたは複数のデータフィールド54を含むことができる。本態様によれば、ネットワークデータセット48に加えられる変更はデータ項目32に関して反映され、1つまたは複数のデータフィールド54への変更を示す。
ネットワークデータセット48内の各データ項目50は、現在のデータ項目のバージョンを示す対応するバージョン番号56を有する。一態様では、データ項目のバージョン番号56はすべてのデータ項目にわたって一意であり、個々のデータ項目に加えられる変更に基づいて更新される。例えば一部の態様では、このネットワークデータセットのバージョン番号50は、最も高い番号が付けられたデータ項目バージョン番号56を反映する。そのようなものとして、一態様では、ネットワーク装置14が、現在の無線装置のデータセットバージョン番号19を示す同期要求メッセージ30を受信し、任意の無線装置変更リスト28を実行後、同期モジュール46がネットワーク装置のデータセットバージョン番号50と無線装置のバージョン番号19とを比較し、無線装置のバージョン番号19よりも大きい(すなわち現在の無線装置のデータセットバージョン番号19と、現在のネットワーク装置のデータセットバージョン番号50との間の変量)バージョン番号56を有するデータ項目52を含むネットワーク装置変更リスト34をコンパイルする。一態様では、無線装置変更リスト28の実行後に純変化のみを個々の無線装置12に提供し、それによりメッセージサイズをさらに低減するために、無線装置変更リスト28に基づく変量のうちバージョン56を有する任意のデータ項目52は、ネットワーク装置変更リスト34に含まれない。そのような場合、個々の無線装置12は、無線装置の無線装置データセット18内に個々のデータ項目の最新値をすでに有する。データ項目バージョン番号56、およびネットワーク装置変更リスト34をコンパイルするためにそれらの番号をどのように使用するのかについてのさらなる説明を以下に論じる。
図2は、本態様による無線装置データセット18のブロック図表現である。このデータセット18は、データセットのid/名前を示すデータセット識別子70と、現在のデータセットのバージョン番号を示すデータセットバージョン番号19とを含む。データセットバージョン番号19は、この同期プロセスが成功裏に完了したときに更新することができる。このデータセット18は、1つまたは複数のデータフィールド38をそれぞれが有する、1つまたは複数のデータ項目36も含む。前に言及したように、データセットに加えられる変更は、データフィールド38とは対照的にデータ項目36に関して反映することができる。したがって、無線装置データセットへの変更が、ネットワークデータセットおよび/または別の無線装置データセットへの同じ変更をもたらすことを意味する、この同期プロセスの冪等性を確実にするために、無線装置変更リストはデータ項目の形式の変更を含む。データセット18は、前の同期プロセスの後にデータ項目に変更が生じたかどうかを示す、各データ項目についての変更標識72も含む。一態様では、この変更標識フィールド72は、データ項目への変更を示すためにダーティビットを備えることができる。このダーティビットは、変化または変更に基づいてデータ項目に印を付けまたはフラグを立てることをもたらす。
例えば一態様では、前の同期プロセスの後に、関連するデータ項目にどんな変更もなされていない場合、この変更標識72は「0」の値を有し得る。さらに、関連するデータ項目が更新(例えばデータ項目の挿入、削除、または変更)され、または個々のデータ項目が新しく追加されたデータ項目である場合、この変更標識72は「1」の値を有し得る。さらに、個々のデータ項目が削除されている場合、この変更標識72は「2」の値を有し得る。この変更標識は、(図1に示すような)無線装置変更リスト28をコンパイルする際に使用される。変更標識72が変更を示す場合、例えば標識が「1」または「2」に設定される場合、対応するデータ項目が無線装置変更リスト28内に含められる。同期プロセスが成功裏に完了すると、変更標識のすべてがリセットされて変更が加えられていないことを示す。例えば「0」にリセットされる。
一態様によれば、更新されまたは追加されているデータ項目(例えば「1」に設定された変更標識を有するデータ項目)と、削除されているデータ項目(例えば「2」に設定された変更標識を有するデータ項目)とを対比して、変更標識72によって区別する必要があり得る。これは、ネットワークデータセットがデータ項目の削除をデータ項目への変更またはデータ項目の追加とは異なるように扱い、したがって、データ項目が削除されているかどうかを変更リスト28によってこのネットワークが知らされる必要があるからである。
図3は、本態様によるネットワーク装置データセット48のブロック図表現である。このネットワーク装置データセット48は、データセットのid/名前を示すネットワーク装置データセット識別子80と、現在のデータセットのバージョン番号を示すデータセットバージョン番号50とを含む。このネットワーク装置データセット48は、1つまたは複数のデータフィールド54をそれぞれが有する複数のデータ項目52も含む。各データ項目は、対応するデータ項目バージョン番号56を有する。
データ項目52に割り当てられた最も高いバージョン番号56を反映するデータセットバージョン番号50は、変更されているデータ項目のバージョン番号56を改定する(図1に示す)無線装置変更リスト28を実施する際に更新することができる。例えば、無線装置変更リスト28が3つのデータ項目への変更を含み、現在のネットワーク装置のデータセットバージョン番号50が「16」である場合、この変更の実施は、3つのデータ項目52に「17」、「18」、および「19」のデータ項目バージョン番号56がそれぞれ割り当てられ、ネットワークデータセットのバージョン番号が「19」(すなわち、ネットワーク装置データセット48内のデータ項目52に割り当てられる最も高いバージョン番号56)に更新されることになる。
このネットワーク装置データセット48は、一例ではトゥームストーンと呼ばれる削除標識82も含むことができる。トゥームストーン標識82は、関連するデータ項目52がデータセットから削除されていることを示すように設定される。ただし、削除されたデータ項目52は、アプリケーションがそれを命令する場合にネットワーク装置において前のバージョンのデータセットを再現するための手段を提供するために、典型的には少なくとも所定の期間にわたりデータセット48内に保たれる。さらに、データ項目52が削除されていることを示すトゥームストーン82を提供することにより、トゥームストーンされたデータ項目52を更新しまたは別様に変更する後続の試みが無視される。
図4を参照すると、一態様により、無線装置12の詳細なブロック図表現が示されている。この無線装置12には、携帯電話、PDA(携帯情報端末)、双方向テキストページャ、ポータブルコンピュータ、さらに無線通信ポータルを有し、ネットワークまたはインターネットへの有線接続も有し得る単独のコンピュータプラットフォームなど、任意のタイプのコンピュータ化された通信装置が含まれ得る。この無線通信装置は、リモートセンサ、診断ツール、データ中継、等など、エンドユーザを有さないが、データを無線ネットワーク上で単に伝えるリモートスレーブまたは他の装置とすることができる。したがって、データセットを同期するための本機器および方法は、無線モデム、PCMCIAカード、アクセス端末、デスクトップコンピュータ、またはその任意の組合せもしくは2次組合せを限定することなく含む無線通信ポータルを含む、任意形式の無線通信装置または無線コンピュータモジュール上で実施することができる。
無線装置12は、無線ネットワーク上でデータを伝送でき、ルーチンおよびアプリケーションを受信し、実行することができるコンピュータプラットフォーム20を含む。コンピュータプラットフォーム20は、RAMおよびROM(読み取り専用メモリおよび/またはランダムアクセスメモリ)、EPROM、EEPROM、フラッシュカード、コンピュータプラットフォームに一般的な任意のメモリなどの揮発性メモリおよび不揮発性メモリを備え得る、メモリ24を含む。さらに、メモリ24は、1つまたは複数のフラッシュメモリセルを含むことができ、または磁気媒体、光媒体、テープ、ソフトディスク、ハードディスクなどの任意の2次もしくは3次記憶装置とすることができる。
さらに、コンピュータプラットフォーム20は、「ASIC」(特定用途向けIC)または他のチップセット、プロセッサ、論理回路、もしくは他のデータ処理装置とすることができるプロセッサ22も含む。プロセッサ22またはASICなどの他のプロセッサは、無線装置12のメモリ24内に記憶される同期モジュール26など、任意の常駐プログラムとインタフェースする「API」(アプリケーションプログラミングインタフェース)層100を実行することができる。API100は、典型的には個々の無線装置上で実行されるランタイム環境である。そのようなランタイム環境の1つが、カリフォルニア州サンディエゴのQUALCOMM Incorporatedによって開発されたBREW(登録商標)(Binary Runtime Environment for Wireless(登録商標))ソフトウェアである。例えば無線コンピューティング装置上のアプリケーションの実行を制御するように動作する、他のランタイム環境を利用することもできる。
プロセッサ22は、通信装置12の機能性、およびこの通信装置の無線ネットワーク上での運用性を有効にする、ハードウェア、ファームウェア、ソフトウェア、およびその組合せに実施される様々な処理サブシステム102を含む。例えば処理サブシステム100は、他のネットワーク装置との通信を開始/維持し、データを交換することを可能にする。この通信装置を携帯電話として定義する諸態様では、通信プロセッサ22は、音、不揮発性メモリ、ファイルシステム、伝送、受信、サーチャー、レイヤ1、レイヤ2、レイヤ3、主制御、リモート手順、ハンドセット、パワーマネージメント、デジタル信号プロセッサ、メッセージング、呼マネージャ、Bluetooth(登録商標)システム、Bluetooth(登録商標)LPOS、位置エンジン、ユーザインタフェース、スリープ、データサービス、セキュリティ、認証、USIM/SIM、音声サービス、グラフィックス、USB、MPEGなどのマルチメディア、GPRS、等など(明瞭にするためにそのすべては個別に図2に記載しない)、処理サブシステム100の1つまたは組合せをさらに含むことができる。開示した態様に関して、プロセッサ22の処理サブシステム100は、同期モジュール26と対話する任意のサブシステム構成要素を含むことができる。
コンピュータプラットフォーム20は、無線通信装置12の様々な構成要素間、ならびに通信装置12と無線ネットワーク16との間の通信を可能にする、ハードウェア、ファームウェア、ソフトウェア、およびその組合せに実施される通信モジュール108をさらに含む。記載の態様では、この通信モジュール108は、無線通信装置12とネットワーク装置14との間のすべての同期対応の通信を可能にする。この通信モジュール108は、無線ネットワーク通信接続を確立するために必要なハードウェア、ファームウェア、ソフトウェア、および/またはその組合せを含むことができる。
さらに、無線通信装置12は、通信装置への入力を生むための入力機構118と、通信装置のユーザが消費するための情報を生成するための出力機構120とを有する。例えば、入力機構102には、キーやキーボード、マウス、タッチスクリーンディスプレイ、マイクロフォン、等などの機構が含まれ得る。特定の態様では、この入力機構118は、同期プロセスを開始するためのユーザ入力を可能にする。さらに、出力機構120には、例えばディスプレイ、音声スピーカ、触覚フィードバック機構、等が含まれ得る。図示した態様では、出力機構104は、同期が開始、進行中、成功裏に完了、および/または失敗した、等を知らせるメッセージを表示するように動作可能なディスプレイを含むことができる。
コンピュータプラットフォーム20のメモリ24は、データセット18を同期するように動作可能な同期モジュール26を含む。この同期モジュール26は所定のユーザ動作、所定の装置動作、および/または所定の時間によって開始することができる。ユーザ動作には、無線装置上の指定のキーパッドやボタンなどの所定のユーザインタフェースに携わることが含まれ得る。所定の装置動作には、オフラインモード中にデータセットに加えられた変更を調整するために装置がオンラインモードにトリガされるたびに同期が行われるように、無線ネットワーク信号を活動化することが含まれ得る。
この同期モジュール26は、同期プロセスを無線装置12とネットワーク装置14との間の単一往復の無線通信に限定するために、キャリアプロトコルとして軽量データ交換プロトコルに依拠することができる。軽量データ交換プロトコルは、名前/対の値の集合、および値の順序付きリストという2つの構造上に特徴として構築され得る。この名前/値の対は、オブジェクト、記録、構造、辞書、ハッシュテーブル、キーリスト、連想配列、等を含むことができる。値の順序付きリストは、配列、ベクトル、リスト、順番、またはこのリストを含むことができる。軽量データ交換プロトコルの一例が、JavaScript(商標)Object Notation(JSON)である。JSONでは、オブジェクトは1組の順序付けられていない名前/値の対であり、配列は値の順序付けられた集合であり、値はストリング、数、真/偽/ヌル標識、オブジェクト、または配列とすることができる。
この同期モジュール26は、同期要求メッセージ30を生成し、伝えるように動作可能な同期要求メッセージ生成部104を含む。同期要求メッセージは、現在のデータセットバージョン番号19と、前の同期セッションの後にデータセット18に対して任意の変更が生じている場合は、無線装置変更リスト28とを含む。そのようなものとして、この同期要求メッセージ生成部104は、前の同期セッションの後に変更されているデータセット18内のデータ項目36の変更リスト28をコンパイルするように動作可能な変更リストコンパイラ106を含む。この点について、このコンパイラ106は、変更が生じたかどうかを確認するためにダーティビット、等などの変更標識72を検査する。変更標識72が変更を示す場合、変更リスト28にデータ項目が追加される。前に言及したように、一部の態様ではこの同期プロセスは、(図1に示すような)データフィールド38と呼ばれる、データ項目の部分集合とは対照的に、データ項目36に関する。したがって、変更された全てのデータ項目36が変更リスト28に含められる。ただし一部の態様では、個々のデータフィールド38、および対応するデータ項目36への参照のみが変更リスト28に含められ得ることに留意すべきである。
前に言及したように、変更標識72は、追加されたデータ項目、データ項目への挿入、データ項目に対する削除、データ項目への変更、または削除されたデータ項目を示すことができる。ネットワーク装置14において変更が適当に組み入れられることを確実にするために、この変更標識72は、追加されまたは変更されたデータ項目と削除されたデータ項目とを区別することができる。例えば、追加されまたは変更されたデータ項目には「1」のビット値を割り当てることができ、削除されたデータ項目には「2」の値を割り当てることができる。
同期要求メッセージ生成部104が同期要求メッセージ30を生成すると、その同期要求メッセージ30の無線通信を助けるために、無線装置12が通信モジュール108を実施する。同期要求メッセージの通信は、本態様による同期プロセスを完了するために必要な単一往復の通信の最初の一区切りを形成する。
この同期モジュール26は、ネットワーク装置14から同期確認メッセージ32を受信し、そのメッセージを相応に処理するように動作可能な同期確認メッセージ実施部110をさらに含む。この同期確認メッセージ32は、同期プロセスを完了するために必要な単一往復の通信の第2の一区切りを形成する。一部の態様では、この同期確認メッセージ32は、同期がネットワーク装置レベルで成功したかどうかを示す同期状況標識、および(図1に示す)ネットワーク装置のデータセットバージョン番号50を含むことができる。他の態様では、この同期確認メッセージ32はそれ自体として成功裏のsyncセッションの標識を備える。
一部の応用例では、同期確認メッセージ32は、変更されており、無線装置データセット18への組み入れを必要とする、(図1に示す)対応するネットワーク装置データセット48内の(図1に示す)データ項目52に対応するネットワーク装置変更リスト34を含むことができる。そのようなものとして、同期確認メッセージ実施部110は、受信したネットワーク装置変更リスト34に従ってデータセット19内のデータ項目36に変更を加えるように動作可能なデータセット更新部112を含む。さらに、同期確認メッセージ32内で示されるものとしての現在のネットワーク装置のバージョン番号50を反映するために、データセット更新部112は、無線装置データセット18のバージョン番号19を更新するように動作可能なバージョン更新部116を含む。このデータセット更新部112は、同期プロセスが成功裏に完了した通知の際に「変更なし」状態を示すために、変更標識72のすべてをリセットするように動作可能な変更標識リセット部116を含む。
図5を参照すると、別の態様により、データセットを同期するように動作可能なネットワーク装置14のブロック図が示されている。このネットワーク装置14は、任意のタイプのハードウェア、サーバ、パーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータ、または専用コンピューティング装置もしくは汎用コンピューティング装置である任意のコンピューティング装置のうちの少なくとも1つを備えることができる。さらに、ネットワーク装置14上で動作し、またはネットワーク装置14によって実行されるものとして本明細書に記載のモジュールおよびアプリケーションは、専らネットワーク装置14上で実行することができ、あるいは他の態様では、当事者にデータを使用可能な形式で提供し、かつ/または無線装置12とネットワーク装置14によって実行されるモジュールおよびアプリケーションとの間のデータフローに独立した制御の層を提供するために、別個のサーバ、データベース、またはコンピュータ装置が協調して動作することができる。
ネットワーク装置14は、(図1に示す)無線ネットワーク16上でデータを送受信でき、ルーチンおよびアプリケーションを実行することができるコンピュータプラットフォーム40を含む。コンピュータプラットフォーム40は、RAMおよびROM(読み取り専用メモリおよび/またはランダムアクセスメモリ)、EPROM、EEPROM、フラッシュカード、コンピュータプラットフォームに一般的な任意のメモリなどの揮発性メモリおよび不揮発性メモリを備え得る、メモリ42を含む。さらに、メモリ42は、1つまたは複数のフラッシュメモリセルを含むことができ、または磁気媒体、光媒体、テープ、ソフトディスク、ハードディスクなどの任意の2次もしくは3次記憶装置とすることができる。
さらに、コンピュータプラットフォーム40は、「ASIC」(特定用途向けIC)または他のチップセット、論理回路、もしくは他のデータ処理装置とすることができるプロセッサ44も含む。プロセッサ44は、ネットワーク装置14の機能性、およびこのネットワーク装置の無線ネットワーク上での運用性を有効にする、ハードウェア、ファームウェア、ソフトウェア、およびその組合せに実施される様々な処理サブシステム130を含む。例えば処理サブシステム130は、他のネットワーク装置との通信を開始/維持し、データを交換することを可能にする。開示した態様に関して、プロセッサ44の処理サブシステム130は同期モジュール46と対話する任意のサブシステム構成要素を含むことができる。
このコンピュータプラットフォーム40は、ネットワーク装置14の様々な構成要素間ならびにネットワーク装置14と無線通信装置12との間の通信を可能にする、ハードウェア、ファームウェア、ソフトウェア、およびその組合せに実施される通信モジュール132をさらに含む。この通信モジュール132は、無線通信接続を確立するために必要なハードウェア、ファームウェア、ソフトウェア、および/またはその組合せを含むことができる。通信モジュール132は、無線ネットワーク16上を伝えられる同期要求メッセージ30を受信し、同期確認メッセージ32を無線ネットワーク16上で伝えるように動作可能である。
ネットワーク装置14のメモリ42は、同期要求メッセージ30を受信および処理し、その要求メッセージ30に応答して同期確認メッセージ32を生成し、伝えるように動作可能な同期モジュール46を含む。そのようなものとして、この同期モジュール46は、要求メッセージ30を受信し、そのメッセージを相応に処理するように動作可能な同期要求メッセージ実施部134を含む。(図1および図4に示す)無線装置データセット18が、前の同期セッションの後に(図1および図4に示す)データ項目36の変更を受けている場合、同期要求メッセージ30は、変更されているデータ項目を含む無線装置変更リスト28を含むことになる。
同期要求メッセージ実施部134は、無線装置変更リスト28に従ってネットワーク装置上の対応するデータセット48を更新するように動作可能なデータセット更新部136をさらに含む。そのようなものとして、このデータセット更新部136は、無線装置変更リスト28内の変更されたデータ項目に従って、データ項目への追加、データ項目からの削除、データ項目の変更、データ項目の追加、データ項目の削除など、データ項目52を変更する。このデータセット更新部136は、データ項目への変更に基づいてデータ項目52のバージョン番号56を更新するように動作可能なデータ項目バージョン更新部138を含む。各データ項目52にはバージョン番号56が割り当てられ、データ項目52へのどんな変更も新しいバージョン番号56を要求する。バージョン番号56は、現在のネットワーク装置のデータセットバージョン番号50の後の次の番号から始まって順番に割り当てられる。例えば、無線装置変更リスト28が4つのデータ項目への変更を含み、現在のデータセットバージョン番号50が「20」である場合、データ項目52には「21」、「22」、「23」、および「24」の更新されたバージョン番号56が割り当てられる。このデータセット更新部136は、データセット48内の任意のデータ項目52への変更に基づいて、ネットワーク装置データセット48のバージョン番号50を更新するように動作可能なデータセットバージョン更新部140をさらに含む。一例では、このデータセットバージョン番号48は最も高いデータ項目バージョン番号56に等しい。したがって、4つのデータ項目52が変更され、「21」、「22」、「23」、および「24」の更新されたバージョン番号56が割り当てられた、前に提示した例では、このネットワーク装置のデータセットバージョン番号50が「20」から「24」へと更新される。
さらにこのデータセット更新部136は、データセット48から削除されている任意のデータ項目52に対して、他の場合はトゥームストーンと呼ばれる削除標識82を設定するように動作可能な削除標識設定部142を含む。この点について、削除されているデータ項目52には更新されたバージョン番号56が割り当てられ、削除標識82が設定される。この削除標識82は、削除された項目52に削除されたものとして印をつけるが、データセット48内に別様に保つことを提供する。削除されたデータ項目52をデータセット48内に保つことにより、ネットワーク装置は同期セッションがそのように許可する場合に前のバージョンのデータセットを再現し、個々のトゥームストーンされたデータ項目52を更新する将来の試みを防ぐことができる。
同期モジュール46は、同期状況標識(例えば同期成功、同期失敗、等)、ならびにネットワーク装置データセット48の更新されたおよび/または現在のバージョン番号50を含む、同期確認メッセージ32を生成するように動作可能な同期確認メッセージ生成部144をさらに含む。この同期確認メッセージ32は、ネットワーク装置データセット48のデータ項目52が要求無線装置12との前の同期セッションの後に変更されている場合に、ネットワーク装置変更リスト34をさらに含むことができる。そのようなものとして、この同期確認メッセージ生成部144は、ネットワーク装置変更リスト34をコンパイルするための変更リストコンパイラ146を含む。ネットワーク装置変更リスト34は、同期要求メッセージ30内に示される無線装置12のバージョン番号19よりも大きく、ネットワーク装置データセット48を更新する前のネットワーク装置データセット48のバージョン番号50(すなわち、同期要求メッセージ30の受信時のネットワーク装置データセット48のバージョン番号50)以下のバージョン番号56を有するデータ項目52を含む。
同期確認メッセージ32が生成されると、そのメッセージが通信モジュール132を介して要求無線装置12に伝えられる。同期要求メッセージ30と同様に、この同期確認メッセージ32は、JSON(JavaScript Object Notation)プロトコルなどの軽量データ交換キャリアプロトコルによって伝えることができる。
図6は、セルラネットワークのブロック図を表す。無線ネットワーク16にはセルラネットワークが含まれてよく、そのようなものとして、同期要求メッセージ30をネットワーク装置14に伝え、同期確認メッセージ32をネットワーク装置14から受信するように実装することができる。図6を参照すると、一態様では、無線装置12には携帯電話などの無線通信装置が含まれる。本態様では、無線通信装置は、セルラネットワーク150を介して通信するように構成される。このセルラネットワーク150は、同期要求メッセージ30をネットワーク装置14に伝え、同期確認メッセージ32をネットワーク装置14からそれぞれ受信する機能を無線通信装置12に提供する。この携帯電話ネットワーク150は、キャリアネットワーク154を介して有線ネットワーク152に接続される無線ネットワーク16を含むことができる。図6は、本システムの一態様の、無線通信ネットワークの諸構成要素および諸要素の相互関係をより完全に示す代表図である。携帯電話ネットワーク150は単に例示的であり、無線通信装置12などのリモートモジュールが互いに無線で通信し、かつ/または無線ネットワークキャリアおよび/もしくはサーバを含むがこれだけに限定されない、無線ネットワーク16の諸構成要素との間で無線通信する任意のシステムを含むことができる。
ネットワーク150では、ネットワークサーバなどのネットワーク装置14は、有線ネットワーク152(例えばローカルエリアネットワーク、LAN)を介して、データセット48を記憶するための独立したネットワークデータベース156と通信することができる。さらに、データ管理サーバ158は、後処理機能、データフロー制御、等を提供するためにネットワーク装置14と通信することができる。ネットワーク装置14、ネットワークデータベース156、およびデータ管理サーバ158は、携帯電話通信サービスを提供するために必要な他の任意のネットワーク構成要素とともに携帯電話ネットワーク150上に存在してよい。ネットワーク装置14および/またはデータ管理サーバ158は、インターネット、安全なLAN、WAN、他のネットワークなどのデータリンクとすることができるデータリンク160および162を介してキャリアネットワーク154と通信する。キャリアネットワーク154は、「MSC」(移動交換センタ)164に送信されるメッセージ(概してデータパケットである)を制御する。さらに、キャリアネットワーク154は、インターネットおよび/またはPOTS(「単純旧式電話サービス」)などのネットワーク162によってMSC164と通信する。典型的には、ネットワーク162では、ネットワークまたはインターネット部分がデータを転送し、POTS部分が音声情報を転送する。MSC164は、データ転送用のデータネットワークおよび/またはインターネット部分、ならびに音声情報用のPOTS部分などの別のネットワーク168によって複数の「BTS」(基地局)166に接続することができる。BTS166は最終的には、任意の許容できる無線方法により、メッセージを無線通信装置12に無線でブロードキャストする。
図7および図8は、本態様によるデータセット同期の例を提供する。同期セッションの前の図7を参照すると、無線装置データセット200はバージョン「3」であり、対応するネットワークサーバデータセット300はバージョン「4」である。無線装置データセット200のバージョン「3」は、「profile.im」、「profile.tagline」、および「profile avatar」と題された3つのデータ項目210を含む。各データ項目210は対応する値220を有し、「profile.im」の値は「PLAYER45」であり、「profile.tagline」の値は「GO TIME!」であり、「profile avatar」の値は「Abc.png」である。各データ項目210は、対応する変更標識フィールド230を有する。この変更標識フィールド230は、「profile.im」および「profile avatar」と題されたデータ項目210には前の同期セッションの後にどんな変更も加えられておらず、「profile.tagline」と題されたデータ項目210には前の同期セッションの後に変更が加えられたことを示す。
ネットワークサーバデータセット300のバージョン「4」は、「profile.im」、「profile.tagline」、「profile.age」、および「profile avatar」と題された4つのデータ項目310を含む。各データ項目310は対応する値320を有し、「profile.im」の値は「PLAYER45」であり、「profile.tagline」の値は「THE BEST!」であり、「profile.age」の値は「22」であり、「profile avatar」の値は「Abc.png」である。各データ項目310には対応するバージョン番号340があり、「profile.im」はバージョン「1」であり、「profile.tagline」はバージョン「3」であり、「profile.age」はバージョン「4」であり、「profile avatar」はバージョン「2」である。さらに、各データ項目310は、個々のデータ項目が個々のデータセットから削除されていることを示すために、他の場合はトゥームストーンと呼ばれる、対応する削除標識350を有することができる。データセット300ではデータ項目310のうちのいずれも削除されておらず、したがって削除を示すためのトゥームストーンは設定されていない。
無線装置データセット200とネットワークサーバデータセット300との間の同期は、同期要求メッセージ30に基づいた結果として起きる。具体的には、無線装置12が、同期要求メッセージ30をネットワーク装置14に対して生成し、送信する。該当する場合、無線装置12は変更リスト28をコンパイルし、この場合、この変更リスト28は「1」の値を有する変更標識230に基づき、データ項目「profile.tagline」および対応する値「LET’S PLAY!」を含む。そのようなものとして、この場合、無線装置変更リスト28および現在の無線装置データセットバージョン19、すなわちバージョン「3」が、ネットワークサーバに伝えられる同期要求メッセージ30に含められる。これを受けて、イベント355で、ネットワークサーバ14が同期要求メッセージ30を受信し、該当する場合は変更リスト28内の変更を実施し、対応する変更されたデータ項目バージョン番号340を更新し、ネットワークサーバのデータセットバージョン番号50を更新する。
ネットワークサーバデータセット360は、無線装置変更リスト内の変更が実施され、データ項目バージョン番号が改定され、ネットワークサーバのデータセットバージョン番号が改定された後のデータセットを示す。具体的には、無線装置変更リスト28に基づいて「GO TIME!」の値を反映するように、「profile.tagline」と題されたデータ項目310が変更されている。さらに、「profile.tagline」と題されたデータ項目310に関するデータ項目バージョン番号340がバージョン「3」からバージョン「5」に更新され、ネットワークサーバのデータセットバージョン番号50がバージョン「4」からバージョン「5」に更新されており、ただしバージョン「5」は最も高い順番が付けられたデータ項目バージョン340に相当する。
さらに、同期要求メッセージ30を受信することに応答して、ネットワークサーバ14は要求無線装置12に対して同期確認メッセージ32を生成し、送信する。同期確認メッセージ32は、最新の無線装置データセットバージョン50を含み、該当する場合は、要求無線装置を個々のデータセットの最新バージョンに同期するためのネットワーク装置変更リスト34を含むことができる。この場合、例えば無線装置の変更がネットワークサーバにおいて実施されると、そのネットワークサーバは、同期確認メッセージ32に入れるためのネットワークサーバ変更リスト34をコンパイルし、その確認メッセージを無線装置に伝える。このネットワーク装置変更リスト34は、ネットワークサーバデータセットの現在のバージョン番号までの受信した無線装置のデータセットバージョン番号から無線装置変更リスト28によってもたらされる任意の変更を引いたもの、例えば最新のネットワーク装置データセットバージョンと現在の無線装置データセットバージョンとの間の変量、よりも大きいバージョン番号を有するすべてのデータ項目を含む。したがって図7の例では、対応するデータ項目のバージョン番号が無線装置のバージョン番号「3」よりも大きい「4」であるため、ネットワークサーバ変更リスト34は「22」の値を有する「profile.age」と題されたデータ項目310を含むが、「profile.tagline」と題されたデータ項目310の値「GO TIME!」は、このデータ項目のバージョンが無線装置変更リスト28に基づくものであったため含まない。さらに一部の態様では、この同期確認メッセージ32は、同期状況標識を含むことができる。したがって、図示した例では、この同期確認メッセージは、ネットワークサーバデータセットバージョン番号「5」とネットワーク装置変更リスト34とを含み、「同期成功」標識を含むことができる。
無線装置データセット240は、同期確認メッセージ32が受信され、ネットワーク装置変更リスト34が実施され、無線装置のバージョン番号19が改定された後のデータセットを示す。具体的には、「22」の値を有する「profile.age」と題されたデータ項目210がデータセット240に加えられ、データセットバージョン番号19が「3」から「5」に更新されている。
図8を参照すると、前の例に続き、無線装置データセット250を使用する一応用例の運用に基づいて、「profile.tagline」と題されたデータ項目210に対応する値220がクリアされまたは削除されている。そのようなものとして、同期セッションの前に、無線装置データセット250は「5」の値のバージョン19を有し、対応するネットワークサーバデータセット360は「5」の値のバージョン50を有する。無線装置データセット250のバージョン「5」は、「profile.im」、「profile.tagline」、「profile.age」、および「profile avatar」と題された4つのデータ項目210を含む。各データ項目210は対応する値220を有し、「profile.im」の値は「PLAYER45」であり、「profile.tagline」の値はヌルまたは削除済みであり、「profile.age」の値は「22」であり、「profile avatar」の値は「Abc.png」である。各データ項目210は、対応する変更標識フィールド230を有する。この変更標識フィールド230は、「profile.im」、「profile.age」、および「profile avatar」と題されたデータ項目210には前の同期セッションの後に変更が加えられておらず、「profile.tagline」と題されたデータ項目210は前の同期セッションの後に削除されていることを示す。この場合、データ項目210の削除は、変更標識230に対応するビットを「2」に設定することによって示される。
ネットワーク装置データセット370のバージョン「5」は、「profile.im」、「profile.tagline」、「profile.age」、および「profile avatar」と題された4つのデータ項目310を含む。各データ項目310は対応する値320を有し、「profile.im」の値は「PLAYER45」であり、「profile.tagline」の値は「Go TIME!」であり、「profile.age」の値は「22」であり、「profile avatar」の値は「Abc.png」である。さらに、各データ項目310には対応するバージョン番号340があり、「profile.im」はバージョン「1」であり、「profile.tagline」はバージョン「5」であり、「profile.age」はバージョン「4」であり、「profile avatar」はバージョン「2」である。さらに、各データ項目310は、個々のデータ項目がデータセットから削除されていることを示すために、他の場合はトゥームストーン350と呼ばれる、対応する削除標識を有することができる。ネットワーク装置データセット370に関しては、データ項目310のうちのいずれも削除されておらず、したがって削除を示すためのトゥームストーン350は設定されていない。
無線装置データセット250とネットワークサーバデータセット370との間の同期は、個々の無線装置12によって生成され、個々のネットワーク装置14に送信される同期要求メッセージ30に基づいた結果として起きる。この場合、この無線装置は、データ項目「profile.tagline」および対応する変更標識230用の「2」の値を含み、それにより無線装置データセット250から個々のデータ項目が削除されたことを表す無線装置変更リスト28をコンパイルする。
この無線装置変更リスト28および無線装置データセットバージョン19の現在の値、例えばこの場合バージョン「5」が、対応するネットワーク装置データセットを有するネットワーク装置14に伝えられる同期要求メッセージ30に含められる。これを受けて、そのネットワーク装置が同期要求メッセージ30を受信し、イベント375で、無線装置変更リスト28内の変更を実施し、個々の変更されたデータ項目バージョン番号340を更新し、ネットワークサーバのデータセットバージョン番号50を更新する。
ネットワークサーバデータセット380は、無線装置変更リスト30内の変更が実施され、データ項目バージョン番号が改定され、ネットワークサーバのデータセットバージョン番号が改定された後のデータセットを示す。具体的には、「profile.tagline」と題されたデータ項目310は、値、および個々のデータ項目がネットワーク装置データセットから削除されていることを指示する、この事例では「X」で更新されるトゥームストーン標識350を有する。さらに、データ項目への変更を反映するために「profile.tagline」と題されたデータ項目310に関するデータ項目バージョン番号340がバージョン「5」からバージョン「6」に更新されており、ネットワークサーバデータセットバージョン番号がバージョン「5」からバージョン「6」に更新されており、ただしバージョン「6」は最も高い順番付けられたデータ項目バージョン340である。
変更が実施されると、このネットワークサーバは同期確認メッセージ32を生成し、その確認メッセージを無線装置に伝える。前の同期セッションの後にネットワーク装置データセット380に変更が生じなかったため、ネットワークサーバ変更リスト34はコンパイルされず、したがってネットワークサーバ変更リスト34は同期確認メッセージに含まれない。そのようなものとして、この図8の例では、この同期確認メッセージ32は、更新されたネットワークサーバデータセットバージョン番号50を含む。したがってこの図示した例では、同期確認メッセージ32は、「6」のネットワークサーバデータセットバージョン番号を含む。
無線装置データセット260は、同期確認メッセージ32が受信され、無線装置のバージョン番号19が改定された後のデータセットを示す。この場合、前のバージョンの無線装置データセットが、データ項目が削除されたことを示したので、無線装置12は、同期確認メッセージ32を受信したときに無線装置データセットから個々のデータ項目を削除することができる。具体的には、「profile.tagline」と題されたデータ項目210が無線装置データセット260から削除され、データセットバージョン番号19が「5」から「6」へと更新されている。
無線装置データセットからデータ項目を削除するために他の方法を利用することができることに留意すべきである。例えば、データ項目の削除は重大なタイプの更新または変更とみなすことができるため、このシステムは、無線装置データセットから個々のデータ項目を削除することが適当であることを無線装置に対して確認するために、ネットワーク装置変更リスト32にトゥームストーン標識350を含めることなどにより、ネットワーク装置が削除を確認できるようにすることができる。
図9を参照すると、無線装置におけるデータセット同期のための方法の流れ図が示されている。イベント400で、この同期セッションが無線装置において開始される。この同期セッションの開始は、所定のキーパッドに携わることなどの所定のユーザ動作、オンラインモードをトリガするなどの所定のイベント、所定の時間、および/または、等によって実現することができる。イベント410で、同期モジュールがデータセット内の各データ項目についての変更標識を検査し、イベント420で、その変更標識のうちのいずれかがデータ項目への変更、データ項目の追加、またはデータ項目の削除を示すように設定されているかどうかに関しての判定が行われる。
変更標識のうちの1つまたは複数がデータ項目への変更を示すように設定されていると判定される場合、イベント430で、その変更標識の設定に基づいて無線装置変更がコンパイルされる。例えば、データ項目への変更またはデータ項目の追加を示す変更標識は、コンパイルされた変更リスト内に変更されまたは追加されたデータ項目が組み入れられることを要求する。さらに、データ項目の削除を示す変更標識は、そのデータ項目の識別、およびコンパイルされた変更リスト内の変更の削除標識を要求する。
イベント440で、現在の無線装置のデータセットバージョン番号、および該当する場合は無線装置変更リストを含む同期要求メッセージが生成される。イベント450で、この同期要求メッセージがネットワーク装置に伝えられる。一部の態様では、この同期要求メッセージは、JSON(JavaScript Object Notation)プロトコル、等などの軽量データ交換キャリアプロトコルによって伝えられる。
イベント460で、この無線装置は所定の時間が経過したかどうかを判定する。この所定の時間は、同期確認メッセージを受信するために許容できる時間について定めるために典型的には定義される。所定の時間が経過した場合、そのセッションは、同期要求メッセージを含んだ通信が失敗したか、同期確認メッセージを含む通信が失敗したと想定する。所定の時間が経過した場合、この方法はイベント400に戻り、新しい同期セッションが開始される。そのようなものとして、本態様は、「完全」同期手順(すなわち、無線装置またはネットワーク装置において記憶される全データセットの交換および置換)を実施する必要なく、新しい「ソフト」同期セッションを開始することを通信障害がもたらす、堅牢な同期方法を可能にする。ただし、「完全」同期は、以下に言及するように、例えば所定回数の「ソフト」sync失敗の後に、および/またはネットワーク装置からエラーメッセージを受信することに基づいて実施できることに留意すべきである。
イベント470で、この所定の時間が経過していない、つまりこの同期セッションが依然として許容できる時間制限内にある場合、この無線装置は、他の場合はsynch/同期サーバと呼ばれるネットワーク装置から同期確認メッセージを受信する。この同期確認メッセージは、現在のネットワーク装置のデータセットバージョン番号、同期状況標識、および任意の該当するネットワーク装置変更リストを含む。オプションで、イベント480で、ネットワーク装置において同期が成功裏に実施されたかどうかを判定するために、この同期状況標識が検査される。同期が不成功であった場合、イベント490で、この無線装置は「完全」同期手順を開始する。一態様では、完全同期は、無線装置が全データセットを完全同期のためにネットワーク装置に伝えることを要求する。
この同期状況標識が、ネットワーク装置において同期が成功したことを示す場合、イベント500で、無線装置が、同期確認メッセージにネットワーク装置変更リストが含まれるかどうかを判定する。確認メッセージに変更リストが含まれる場合、イベント510で、データ項目への変更、データ項目の追加、および/またはデータセットからのデータ項目の削除を含む適当な変更がデータセットに実施される。データセットへの変更が実施されると、イベント520で、この確認メッセージ内に示されるものとしてのネットワーク装置データセットのバージョン番号を反映するために無線装置のデータセットバージョン番号が更新される。イベント530で、「変更なし」を示すためにすべてのデータ項目変更標識がリセットされ、イベント400で新しいsyncセッションが開始されるまでこの無線装置は待機する。
イベント500で、この無線装置が、同期確認メッセージに変更リストが含まれていないと判定する場合、イベント540で、この確認メッセージ内に示されるものとしてのネットワーク装置のデータセット改定番号と、現在の無線装置のデータセットバージョン番号とが異なるかどうかについての判定が行われる。データセットバージョン番号が異なる場合、イベント520で、この確認メッセージ内に示されるものとしてのネットワーク装置のデータセットバージョン番号を反映するために無線装置のデータセットバージョン番号が更新され、イベント530で、「変更なし」を示すためにすべてのデータ項目の変更標識がリセットされ、イベント400で新しいsyncセッションが開始されるまでこの無線装置は待機する。データセットのバージョン番号が異ならない場合、イベント530で、「変更なし」を示すためにすべてのデータ項目の変更標識がリセットされ、イベント400で新しいsyncセッションが開始されるまでこの無線装置は待機する。
図10を参照すると、ネットワーク装置におけるデータセット同期のための方法の流れ図が示されている。イベント600で、ネットワーク装置が無線装置から同期要求メッセージを受信する。イベント610で、その要求メッセージに無線装置変更リストが含まれるかどうかについての判定が行われる。要求メッセージに変更リストが含まれる場合、イベント620で、そのリスト内の任意の変更がデータ項目の削除に相当するかどうかについての判定が行われる。変更が削除に相当する場合、イベント630で、削除されたデータ項目に関してトゥームストーン/削除標識が設定され、イベント640で、その削除された項目に関するデータ項目バージョン番号が更新される。この更新されるデータ項目バージョン番号は、最も高いデータ項目バージョン番号の後の次の順番付けられた番号を反映する。
イベント650で、この変更リスト内で追加のデータ項目の削除が定められているかどうかについての判定が行われる。変更リスト内に追加の削除が含まれる場合、このプロセスはイベント630に戻り、その追加の削除されたデータ項目に関してトゥームストーン/削除標識が提供され、イベント640で、その削除された項目に関するデータ項目バージョン番号が更新される。イベント650で、変更リスト内に追加の削除が含まれないという判定がなされる場合、イベント660で、そのリスト内の任意の変更がデータ項目の変更および/またはデータ項目の追加に相当するかどうかについての判定が行われる。
変更が追加/変更に相当する場合、イベント670で、変更されているデータ項目がネットワーク装置データセット内にトゥームストーン/削除標識を有し、それにより個々のデータ項目に対してさらなる更新を行えないことを示しているかどうかについての判定が行われる。変更されているそのデータ項目がトゥームストーン/削除標識を有する場合、イベント680でこのプロセスはイベント710に進んで、更新/追加のある任意の残りの項目が変更リスト内にあるかどうかを判定し、ある場合は上述のようにイベント670に戻る。変更されているそのデータ項目がトゥームストーン/削除標識を有さない場合、イベント690で、現在のネットワーク装置データセット内のデータ項目を変更リスト内のデータ項目で置換することにより該当するデータ項目の変更が行われ、または該当するデータ項目の追加がそのデータセットに行われる。イベント700で、変更されまたは追加されたデータ項目に関するデータ項目バージョン番号が更新される。この更新されるデータ項目バージョン番号は、最も高いデータ項目バージョン番号の後の次の順番付けられた番号を反映する。
イベント710で、変更リスト内に任意の追加のデータ項目の変更または追加が残っているかどうかについての判定が行われる。変更リスト内に追加の変更/追加が存在する場合、このプロセスはイベント670に戻る。変更リスト内に追加の変更/追加が存在しない場合、イベント720で、ネットワーク装置のデータセットバージョン番号が、最も高いデータ項目バージョン番号に設定される。さらにイベント660で、その変更リストがどんな変更/追加も含まない場合、イベント720で、ネットワーク装置のデータセットバージョン番号が、最も高いデータ項目バージョン番号に設定される。
イベント730で、無線装置が、要求メッセージ内に示されるものとしての自らのバージョン番号よりも大きく、要求メッセージを受信する直前のネットワーク装置のデータセットバージョン番号までのバージョン番号を有するデータ項目についてのネットワーク装置変更リストをコンパイルする。
オプションで、イベント740で、同期プロセスが成功したかどうかについての判定が行われる。一事例では、同期プロセスが成功しないことは、ネットワーク装置におけるデータベース障害、メモリ空間を作成するためのトゥームストーンされた項目の消去、または無線装置が長期間無線ネットワークに接続されていなかった場合など、無線装置が完全同期を実施することを要求し得る他の任意の原因を含むがこれだけに限定されない様々な原因の結果である可能性がある。同期が成功しない場合、イベント750で、同期エラーメッセージが生成され、イベント760で、その同期エラーメッセージが要求無線装置に伝えられる。
同期プロセスが成功したと判定される場合、イベント770で、現在のネットワーク装置のデータセットバージョン番号、同期状況標識、および該当する場合はネットワーク装置変更リストを含む同期確認メッセージが生成される。イベント780で、この同期確認メッセージが要求無線装置に伝えられる。
イベント610で、同期要求メッセージが無線装置変更リストを含まないという判定が行われる場合、イベント790で、無線装置のデータセットバージョン番号が現在のネットワーク装置のデータセットバージョン番号と異なるかどうかについての判定が行われる。無線装置のデータセットバージョン番号が現在のネットワーク装置のデータセットバージョン番号と異ならない場合、イベント750で、このネットワーク装置は、現在のネットワーク装置のデータセットバージョン番号および同期状況標識を含む同期確認メッセージを生成する。
無線装置のデータセットバージョン番号が現在のネットワーク装置のデータセットバージョン番号と異なる場合、イベント730で、無線装置が、要求メッセージ内に示されるものとしての自らのバージョン番号よりも大きく、要求メッセージを受信する直前のネットワーク装置のデータセットバージョン番号までのバージョン番号を有するデータ項目についてのネットワーク装置変更リストをコンパイルする。イベント740で、同期プロセスが成功したかどうかについての判定が行われる。同期が成功しない場合、イベント750で、同期エラーメッセージが生成され、イベント760で、その同期エラーメッセージが要求無線装置に伝えられる。
同期プロセスが成功したと判定される場合、イベント770で、現在のネットワーク装置のデータセットバージョン番号、同期状況標識、および該当する場合はネットワーク装置変更リストを含む同期確認メッセージが生成される。イベント780で、この同期確認メッセージが要求無線装置に伝えられる。
本明細書で開示した諸実施形態に関連して記載した様々な説明的な論理、論理ブロック、モジュール、および回路は、汎用プロセッサ、DSP(デジタル信号プロセッサ)、ASIC(特定用途向けIC)、FPGA(書替え可能ゲートアレイ)や他のプログラム可能な論理装置、ディスクリートゲートやトランジスタ論理、ディスクリートハードウェア構成要素、または本明細書に記載の諸機能を実行することを意図するその任意の組合せを用いて実装し、または実行することができる。汎用プロセッサはマイクロプロセッサとすることができるが、別の方法では、このプロセッサは任意の従来型のプロセッサ、コントローラ、マイクロコントローラ、または状態機械とすることができる。プロセッサは、例えばDSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連動する1個または複数個のマイクロプロセッサ、他の任意のそのような構成など、コンピューティング装置の組合せとして実施することもできる。さらに、少なくとも1個のプロセッサは、上述のステップおよび/または動作のうちの1つまたは複数を実行するように動作可能な1つまたは複数のモジュールを備えることができる。
さらに、本明細書で開示した諸態様に関連して記載した方法またはアルゴリズムのステップおよび/または動作は、個別的にまたは任意の組合せで、ハードウェアに、プロセッサによって実行されるソフトウェアモジュールに、またはこの2つの組合せに直接実施することができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または当技術分野で知られている他の任意の形式の記憶媒体中に存在することができる。例示的な記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、その記憶媒体に情報を書き込めるように、プロセッサに結合することができる。別の方法では、この記憶媒体はプロセッサと一体とすることができる。さらに、一部の態様では、このプロセッサおよび記憶媒体はASIC中に存在することができる。さらに、このASICはユーザ端末内に存在することができる。別の方法では、このプロセッサおよび記憶媒体は、ユーザ端末内のディスクリートコンポーネントとして存在することができる。さらに、一部の態様では、方法またはアルゴリズムのステップおよび/または動作は、コンピュータプログラム製品に組み入れることができる、機械可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せもしくはセットとして存在することができる。
前述の開示が説明的な諸態様および/または諸実施形態を示す一方で、添付の特許請求の範囲によって定義される、記載した諸態様および/または諸実施形態の範囲から逸脱することなく、本明細書に様々な変更および修正を加えることができることに留意すべきである。さらに、記載した諸実施形態の各要素を単数形で記載しまたは請求した可能性があるが、単数形に限定することが明確に述べられていない限り複数形も意図される。さらに、特に指定のない限り、任意の態様および/または実施形態のすべてもしくは一部分を、他の任意の態様および/または実施形態のすべてもしくは一部分とともに利用することができる。
したがって、本態様は、無線装置上、およびネットワークサーバやネットワークデータベースなどのネットワーク装置において記憶されるデータセットを無線で同期するための方法、装置、システム、およびコンピュータプログラム製品を提供する。説明したように、本態様は、無線装置とネットワーク装置との間の単一往復の無線通信で同期を完了することができる、単純化され、効率的な同期プロセスを提供する。単一往復の通信は、より少ないネットワーク資源の使用、より短い全体的な同期サイクル時間、および同期プロセスの失敗を引き起こす呼切断、等などの無線ネットワーク障害の可能性を低下させることをもたらす。さらに、ネットワークデータセットが無線装置データセットから独立していることを可能にする、すなわち、ネットワークサーバが完全な変更履歴を要求せず、ネットワークサーバが無線装置のデータセットバージョンを知ることを要求されない同期プロセスを作り出すことにより、単純化および効率性がさらに実現される。本態様は、データセットの完全同期を実施する必要なく、通信障害がこの同期プロセスの再適用を許すような堅牢な同期プロセスも提供する。
前述の説明および関連する図面に提示した教示の利益を有する、本発明が関係する当業者なら多くの修正形態および他の態様を思いつくであろう。したがって、この態様は開示した具体的な態様に限定すべきでなく、修正形態および他の態様も添付の特許請求の範囲に記載の範囲内に含まれることを意図することを理解されたい。本明細書では特定の用語が使用されているが、これらは一般的な意味および説明的な意味において使用されているにすぎず、限定する目的では使用されていない。したがって、説明した諸態様は、添付の特許請求の範囲に記載の趣旨および範囲内に含まれるそのようなすべての代替形態、修正形態、および改変形態を含むことを意図する。さらに、用語「含む(include)」が発明を実施するための形態、または特許請求の範囲中で使用される範囲では、こうした用語は、「備える(comprising)」が請求項の移行語(transitional word)として使用されるときに解釈されるように、用語「備える」と同様に包含的なものである。

Claims (42)

  1. 無線装置上のデータセットを同期するための方法であって、
    現在の無線装置のデータセットバージョン番号を含むデータセットについての同期要求メッセージを生成することと、
    前記同期要求メッセージをネットワーク装置に無線で伝えることと、
    前記同期要求メッセージを前記伝えることに応答して、ネットワーク装置のデータセットバージョン番号を含む同期確認メッセージを無線で受信することと
    を備え、前記同期要求メッセージおよび前記同期確認メッセージは、前記無線装置と前記ネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする、方法。
  2. 同期要求メッセージを生成することが、
    前記無線装置データセット内のデータ項目ごとの変更標識の状況を確認することと、
    変更を示す前記データ項目のうちの1つまたは複数に関する前記変更標識に基づいて、1つまたは複数の変更されたデータ項目を含む無線装置変更リストをコンパイルすることと、
    前記無線装置変更リストを前記同期要求メッセージ内に含めることとをさらに備える、請求項1に記載の方法。
  3. 前記確認メッセージ内の前記ネットワーク装置のデータセットバージョン番号が前記現在の無線装置のバージョン番号と異なる場合に、前記現在の無線装置のバージョン番号を前記ネットワーク装置のデータセットバージョン番号に変更することをさらに備える、請求項1に記載の方法。
  4. 同期確認メッセージを無線で受信することが、前記ネットワーク装置データセット内の1つまたは複数の変更されたデータ項目を含むネットワーク装置変更リストを受信することをさらに備える、請求項1に記載の方法。
  5. 前記ネットワーク装置変更リストに従って前記無線装置データセットを変更することをさらに備える、請求項4に記載の方法。
  6. 前記同期要求メッセージおよび前記同期確認メッセージが、軽量で、配列をサポートするデータ交換キャリアプロトコルによって伝えられる、請求項1に記載の方法。
  7. 前記同期要求メッセージおよび前記同期確認メッセージが、JSON(JavaScript Object Notation)プロトコルによって伝えられる、請求項6に記載の方法。
  8. 同期確認メッセージを無線で受信することが、同期成功標識および同期失敗標識からなる群から選択される同期状況標識をさらに備える、請求項1に記載の方法。
  9. 同期失敗標識を含む同期確認メッセージを無線で受信することが、前記同期失敗標識に基づいて前記無線装置と前記ネットワーク装置との間での完全同期を開始することをさらに備える、請求項8に記載の方法。
  10. 前記現在の無線装置データセットを前記ネットワーク装置に伝えることと、前記ネットワーク装置データセットを受信することと、前記現在の無線装置データセットを前記ネットワーク装置データセットに変更することとをさらに備える、請求項9に記載の方法。
  11. データセットを同期するために構成される少なくとも1個のプロセッサであって、
    現在の無線装置のデータセットバージョン番号を含むデータセット用の同期要求メッセージを生成するための第1のモジュールと、
    前記同期要求メッセージをネットワーク装置に無線で伝えるための第2のモジュールと、
    前記同期要求メッセージを前記伝えることに応答して、ネットワーク装置のデータセットバージョン番号を含む同期確認メッセージを無線で受信するための第3のモジュールとを備え、
    前記同期要求メッセージおよび前記同期確認メッセージは、前記無線装置と前記ネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする、少なくとも1個のプロセッサ。
  12. データセットを同期するためのコンピュータプログラム製品であって、
    コンピュータに現在の無線装置のデータセットバージョン番号を含むデータセット用の同期要求メッセージを生成させるための少なくとも1つの命令と、
    前記コンピュータに前記同期要求メッセージをネットワーク装置に無線で通信させるための少なくとも1つの命令と、
    前記同期要求メッセージの前記通信に応答して、前記コンピュータにネットワーク装置のデータセットバージョン番号を含む同期確認メッセージを無線で受信させるための少なくとも1つの命令と
    を備えるコンピュータ可読媒体を備え、
    前記同期要求メッセージおよび前記同期確認メッセージは、前記無線装置と前記ネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする、コンピュータプログラム製品。
  13. 現在の無線装置のデータセットバージョン番号を含むデータセット用の同期要求メッセージを生成するための手段と、
    前記同期要求メッセージをネットワーク装置に無線で伝えるための手段と、
    前記同期要求メッセージを前記伝えることに応答して、ネットワーク装置のデータセットバージョン番号を含む同期確認メッセージを無線で受信するための手段とを備え、
    前記同期要求メッセージおよび前記同期確認メッセージは、前記無線装置と前記ネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする、機器。
  14. メモリおよび少なくとも1個のプロセッサを含むコンピュータプラットフォームと、
    前記メモリ内に記憶され、複数のデータ項目を含むデータセットと、
    前記メモリ内に記憶され、前記少なくとも1個のプロセッサによって実行可能であり、現在の無線装置のデータセットバージョン番号を含む前記データセット用の同期要求メッセージを生成し、前記同期要求メッセージをネットワーク装置に通信し、前記同期要求メッセージの前記通信に応答して、ネットワーク装置のデータセットバージョン番号を含む同期確認メッセージを受信するように動作可能な同期モジュールとを備える無線通信装置であって、
    前記同期要求メッセージおよび前記同期確認メッセージは、前記無線装置と前記ネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする、無線通信装置。
  15. 前記同期モジュールが、前記無線装置データセット内のデータ項目ごとの変更標識の状況を確認し、前記状況変更標識に基づいて、1つまたは複数の変更されたデータ項目を含む無線装置変更リストをコンパイルし、前記無線装置変更リストを前記同期要求メッセージ内に含めるようにさらに動作可能である、請求項14に記載の装置。
  16. 前記同期モジュールが、前記確認メッセージ内の前記ネットワーク装置のデータセットバージョン番号が前記現在の無線装置のバージョン番号と異なる場合に、前記現在の無線装置のバージョン番号を前記ネットワーク装置のデータセットバージョン番号に変更するようにさらに動作可能である、請求項14に記載の装置。
  17. 前記同期モジュールが、前記ネットワーク装置データセット内の1つまたは複数の変更されたデータ項目を含むネットワーク装置変更リストを含む同期確認メッセージを無線で受信するようにさらに動作可能である、請求項14に記載の装置。
  18. 前記同期モジュールが、前記ネットワーク装置変更リストに従って前記無線装置データセットを変更するようにさらに動作可能である、請求項17に記載の装置。
  19. 前記同期要求メッセージおよび前記同期確認メッセージが、軽量で、配列をサポートするデータ交換キャリアプロトコルによって伝えられる、請求項14に記載の装置。
  20. 前記同期要求メッセージおよび前記同期確認メッセージが、JSON(JavaScript Object Notation)プロトコルによって伝えられる、請求項19に記載の装置。
  21. 前記同期確認メッセージが、同期成功標識および同期失敗標識からなる標識の群から選択される同期状況標識をさらに備える、請求項14に記載の装置。
  22. 同期状況標識を含む同期確認メッセージを無線で受信するように動作可能な前記同期モジュールが、前記同期失敗標識に基づいて前記無線装置と前記ネットワーク装置との間での完全同期を開始するようにさらに動作可能である、請求項21に記載の装置。
  23. 前記同期モジュールが、前記現在の無線装置データセットを前記ネットワーク装置に伝え、前記現在の無線装置データセットを伝えることに応答して前記ネットワーク装置データセットを受信し、前記現在の無線装置データセットを前記ネットワーク装置データセットに変更するようにさらに動作可能である、請求項22に記載の装置。
  24. ネットワーク装置上のデータセットを同期するための方法であって、
    無線装置のデータセットバージョン番号を含む同期要求メッセージをネットワーク装置において無線で受信することと、
    前記無線装置のデータセットバージョン番号と現在のネットワーク装置のデータセットバージョン番号とを比較することと、
    前記無線装置のデータセットバージョン番号が前記ネットワーク装置のデータセットバージョン番号と異なることを前記比較が示す場合に、1つまたは複数の変更されたデータ項目を含むネットワーク装置データセット変更リストをコンパイルすることと、
    前記現在のネットワーク装置のデータセットバージョン番号およびコンパイルされた任意のネットワーク装置データセット変更リストを含む、同期確認メッセージを生成することと、
    前記同期確認メッセージを無線で伝えることとを備え、
    前記同期要求メッセージおよび前記同期確認メッセージは、無線装置と前記ネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする、方法。
  25. 同期要求メッセージを受信することが、1つまたは複数の変更されたデータ項目を含む無線装置データセット変更リストを受信することをさらに備える、請求項24に記載の方法。
  26. 前記無線装置データセット変更リスト内に含まれる前記変更されたデータ項目を、前記ネットワーク装置データセット内で変更することをさらに備える、請求項25に記載の方法。
  27. 前記変更されたデータ項目を前記ネットワーク装置データセット内で変更することが、前記無線装置データセット上で削除されているデータ項目に対して、前記データ項目を前記ネットワーク装置データセットから削除せずに削除標識を与えることをさらに備える、請求項25に記載の方法。
  28. 前記データ項目の前記変更に基づいてデータ項目のバージョン番号を更新することと、最も高く順番付けられた変更されたデータ項目の前記バージョン番号を反映するために前記ネットワーク装置のデータセットバージョン番号を更新することとをさらに備える、請求項26に記載の方法。
  29. 同期確認メッセージを生成することが、前記更新されたネットワーク装置のデータセットバージョン番号およびコンパイルされた任意のネットワーク装置データセット変更リストを含む、同期確認メッセージを生成することをさらに備える、請求項28に記載の方法。
  30. 前記同期要求メッセージおよび前記同期確認メッセージが、軽量で、配列をサポートするデータ交換キャリアプロトコルによって伝えられる、請求項24に記載の方法。
  31. 前記同期要求メッセージおよび前記同期確認メッセージが、JSON(JavaScript Object Notation)プロトコルによって伝えられる、請求項30に記載の方法。
  32. 前記同期要求メッセージを受信する前は、前記ネットワーク装置が前記無線装置のデータセットバージョン番号を知らない、請求項24に記載の方法。
  33. データセットを同期するために構成される少なくとも1個のプロセッサであって、
    無線装置のデータセットバージョン番号を含む同期要求メッセージをネットワーク装置において無線で受信するための第1のモジュールと、
    前記無線装置のデータセットバージョン番号と現在のネットワーク装置のデータセットバージョン番号とを比較するための第2のモジュールと、
    前記無線装置のデータセットバージョン番号が前記ネットワーク装置のデータセットバージョン番号と異なることを前記比較が示す場合に、1つまたは複数の変更されたデータ項目を含むネットワーク装置データセット変更リストをコンパイルするための第3のモジュールと、
    前記現在のネットワーク装置のデータセットバージョン番号およびコンパイルされた任意のネットワーク装置データセット変更リストを含む、同期確認メッセージを生成するための第4のモジュールと、
    前記同期確認メッセージを無線で伝えるための第5のモジュールとを備え、
    前記同期要求メッセージおよび前記同期確認メッセージは、無線装置と前記ネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする、少なくとも1個のプロセッサ。
  34. データセットを同期するためのコンピュータプログラム製品であって、
    コンピュータに無線装置のデータセットバージョン番号を含む同期要求メッセージをネットワーク装置において無線で受信させるための少なくとも1つの命令と、
    前記コンピュータに前記無線装置のデータセットバージョン番号と現在のネットワーク装置のデータセットバージョン番号とを比較させるための少なくとも1つの命令と、
    前記無線装置のデータセットバージョン番号が前記ネットワーク装置のデータセットバージョン番号と異なることを前記比較が示す場合に、前記コンピュータに1つまたは複数の変更されたデータ項目を含むネットワーク装置データセット変更リストをコンパイルさせるための少なくとも1つの命令と、
    前記コンピュータに前記現在のネットワーク装置のデータセットバージョン番号およびコンパイルされた任意のネットワーク装置データセット変更リストを含む、同期確認メッセージを生成させるための少なくとも1つの命令と、
    前記コンピュータに前記同期確認メッセージを無線で通信させるための少なくとも1つの命令と
    を備えるコンピュータ可読媒体を備え、
    前記同期要求メッセージおよび前記同期確認メッセージは、無線装置と前記ネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする、コンピュータプログラム製品。
  35. 無線装置のデータセットバージョン番号を含む同期要求メッセージをネットワーク装置において無線で受信するための手段と、
    前記無線装置のデータセットバージョン番号と現在のネットワーク装置のデータセットバージョン番号とを比較するための手段と、
    前記無線装置のデータセットバージョン番号が前記ネットワーク装置のデータセットバージョン番号と異なることを前記比較が示す場合に、1つまたは複数の変更されたデータ項目を含むネットワーク装置データセット変更リストをコンパイルするための手段と、
    前記現在のネットワーク装置のデータセットバージョン番号およびコンパイルされた任意のネットワーク装置データセット変更リストを含む、同期確認メッセージを生成するための手段と、
    前記同期確認メッセージを無線で伝えるための手段とを備え、
    前記同期要求メッセージおよび前記同期確認メッセージは、無線装置と前記ネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする、機器。
  36. メモリおよび少なくとも1個のプロセッサを含むコンピュータプラットフォームと、
    前記メモリ内に記憶され、複数のデータ項目を含むデータセットと、
    前記メモリ内に記憶され、前記少なくとも1個のプロセッサによって実行可能であり、無線装置のデータセットバージョン番号を含む同期要求メッセージを受信し、前記無線装置のデータセットバージョン番号と現在のネットワーク装置のデータセットバージョン番号とを比較し、前記無線装置のデータセットバージョン番号が前記ネットワーク装置のデータセットバージョン番号と異なることを前記比較が示す場合に、1つまたは複数の変更されたデータ項目を含むネットワーク装置データセット変更リストをコンパイルし、前記現在のネットワーク装置のデータセットバージョン番号およびコンパイルされた任意のネットワーク装置データセット変更リストを含む、同期確認メッセージを生成し、前記同期確認メッセージを無線で伝えるように動作可能な同期モジュールとを備え、
    前記同期要求メッセージおよび前記同期確認メッセージは、無線装置と前記ネットワーク装置との間の単一往復の通信に基づいて同期を行う働きをする、ネットワーク装置。
  37. 前記同期モジュールが、1つまたは複数の変更されたデータ項目を含む無線装置データセット変更リストを含む同期要求メッセージを受信するようにさらに動作可能である、請求項36に記載の装置。
  38. 前記同期モジュールが、前記無線装置データセット変更リスト内に含まれる前記変更されたデータ項目を、前記ネットワーク装置データセット内で変更するようにさらに動作可能である、請求項37に記載の装置。
  39. 同期モジュールが、前記無線装置データセット上で削除されているデータ項目に対して、前記データ項目を前記ネットワーク装置データセットから削除せずに削除標識を与えるようにさらに動作可能である、請求項37に記載の装置。
  40. 前記同期モジュールが、前記データ項目の前記変更に基づいてデータ項目のバージョン番号を更新し、最も高く順番付けられた変更されたデータ項目の前記バージョン番号を反映するために前記ネットワーク装置のデータセットバージョン番号を更新するようにさらに動作可能である、請求項37に記載の装置。
  41. 前記同期モジュールが、前記更新されたネットワーク装置のデータセットバージョン番号およびコンパイルされた任意のネットワーク装置データセット変更リストを含む、同期確認メッセージを生成するようにさらに動作可能である、請求項40に記載の装置。
  42. 前記同期要求メッセージを受信する前は、前記ネットワーク装置が前記無線装置のデータセットバージョン番号を知らない、請求項36に記載の装置。
JP2010513421A 2007-06-19 2008-06-19 無線環境においてデータセットを同期するための方法および機器 Expired - Fee Related JP5065482B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US94508807P 2007-06-19 2007-06-19
US60/945,088 2007-06-19
PCT/US2008/067565 WO2008157735A2 (en) 2007-06-19 2008-06-19 Methods and apparatus for dataset synchronization in a wireless environment

Publications (2)

Publication Number Publication Date
JP2010533389A true JP2010533389A (ja) 2010-10-21
JP5065482B2 JP5065482B2 (ja) 2012-10-31

Family

ID=40045493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010513421A Expired - Fee Related JP5065482B2 (ja) 2007-06-19 2008-06-19 無線環境においてデータセットを同期するための方法および機器

Country Status (9)

Country Link
US (1) US9143560B2 (ja)
EP (1) EP2163075A2 (ja)
JP (1) JP5065482B2 (ja)
KR (1) KR101134214B1 (ja)
CN (1) CN101743736B (ja)
BR (1) BRPI0812543A2 (ja)
CA (1) CA2687883C (ja)
RU (1) RU2438263C2 (ja)
WO (1) WO2008157735A2 (ja)

Families Citing this family (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003209194A1 (en) 2002-01-08 2003-07-24 Seven Networks, Inc. Secure transport for mobile communication network
US9134989B2 (en) 2002-01-31 2015-09-15 Qualcomm Incorporated System and method for updating dataset versions resident on a wireless device
US20040068724A1 (en) * 2002-08-30 2004-04-08 Gardner Richard Wayne Server processing for updating dataset versions resident on a wireless device
US9092286B2 (en) 2002-12-20 2015-07-28 Qualcomm Incorporated System to automatically process components on a device
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US8468126B2 (en) 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US8626146B2 (en) 2003-10-29 2014-01-07 Qualcomm Incorporated Method, software and apparatus for performing actions on a wireless device using action lists and versioning
US8010082B2 (en) * 2004-10-20 2011-08-30 Seven Networks, Inc. Flexible billing architecture
WO2006045102A2 (en) 2004-10-20 2006-04-27 Seven Networks, Inc. Method and apparatus for intercepting events in a communication system
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
US7752633B1 (en) 2005-03-14 2010-07-06 Seven Networks, Inc. Cross-platform event engine
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US8793305B2 (en) * 2007-12-13 2014-07-29 Seven Networks, Inc. Content delivery to a mobile device from a content service
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
CN101516131B (zh) * 2008-02-18 2012-04-04 华为技术有限公司 一种数据同步的方法、系统和装置
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8078645B2 (en) * 2008-07-09 2011-12-13 Yahoo! Inc. Operations on multi-level nested data structure
US8135670B2 (en) * 2008-07-22 2012-03-13 International Business Machines Corporation Embedded change logging for data synchronization
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8832319B2 (en) * 2008-11-18 2014-09-09 Amazon Technologies, Inc. Synchronization of digital content
US20100179980A1 (en) * 2009-01-14 2010-07-15 Movidilo S.L. Cache system for mobile communications devices
US8266102B2 (en) 2010-05-26 2012-09-11 International Business Machines Corporation Synchronization of sequential access storage components with backup catalog
GB2495066B (en) 2010-07-26 2013-12-18 Seven Networks Inc Mobile application traffic optimization
EP3651028A1 (en) 2010-07-26 2020-05-13 Seven Networks, LLC Mobile network traffic coordination across multiple applications
US9077630B2 (en) 2010-07-26 2015-07-07 Seven Networks, Inc. Distributed implementation of dynamic wireless traffic policy
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
GB2499534B (en) 2010-11-01 2018-09-19 Seven Networks Llc Caching adapted for mobile application behavior and network conditions
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
WO2012060997A2 (en) 2010-11-01 2012-05-10 Michael Luna Application and network-based long poll request detection and cacheability assessment therefor
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8204953B2 (en) 2010-11-01 2012-06-19 Seven Networks, Inc. Distributed system for cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
WO2012071283A1 (en) 2010-11-22 2012-05-31 Michael Luna Aligning data transfer to optimize connections established for transmission over a wireless network
GB2501416B (en) 2011-01-07 2018-03-21 Seven Networks Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
WO2012145544A2 (en) 2011-04-19 2012-10-26 Seven Networks, Inc. Device resource sharing for network resource conservation
GB2504037B (en) 2011-04-27 2014-12-24 Seven Networks Inc Mobile device which offloads requests made by a mobile application to a remote entity for conservation of mobile device and network resources
WO2012149434A2 (en) 2011-04-27 2012-11-01 Seven Networks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US20120317234A1 (en) * 2011-06-09 2012-12-13 International Business Machines Corporation Managing data access in mobile devices
EP2737741A4 (en) 2011-07-27 2015-01-21 Seven Networks Inc SURVEILLANCE OF MOBILE APPLICATION ACTIVITIES IN SEARCH OF MALICIOUS TRAFFIC ON A MOBILE DEVICE
TWI439873B (zh) * 2011-08-08 2014-06-01 Dimerco Express Taiwan Corp Data synchronization method
CN102970314A (zh) * 2011-08-29 2013-03-13 中菲行航空货运承揽股份有限公司 数据同步方法
US20130097116A1 (en) * 2011-10-17 2013-04-18 Research In Motion Limited Synchronization method and associated apparatus
WO2013069946A1 (ko) * 2011-11-13 2013-05-16 엘지전자 주식회사 제어 장치, 제어 타겟 장치 및 이들의 컨텐트 정보 전송 방법
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
EP2789138B1 (en) 2011-12-06 2016-09-14 Seven Networks, LLC A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation
WO2013086447A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
EP2788889A4 (en) 2011-12-07 2015-08-12 Seven Networks Inc FLEXIBLE AND DYNAMIC INTEGRATION SCHEMES OF A TRAFFIC MANAGEMENT SYSTEM WITH VARIOUS NETWORK OPERATORS TO REDUCE NETWORK TRAFFIC
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
WO2013090212A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
WO2013090821A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
EP2801236A4 (en) 2012-01-05 2015-10-21 Seven Networks Inc DETECTION AND MANAGEMENT OF USER INTERACTIONS WITH FRONT PANEL APPLICATIONS ON A MOBILE DEVICE IN DISTRIBUTED CACHE STORES
WO2013116856A1 (en) 2012-02-02 2013-08-08 Seven Networks, Inc. Dynamic categorization of applications for network access in a mobile network
WO2013116852A1 (en) 2012-02-03 2013-08-08 Seven Networks, Inc. User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US10263899B2 (en) 2012-04-10 2019-04-16 Seven Networks, Llc Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network
US9990378B2 (en) 2012-06-27 2018-06-05 Microsoft Technology Licensing, Llc Opportunistic clearing of sync states associated with a database
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9542379B1 (en) 2012-09-19 2017-01-10 Amazon Technologies, Inc. Synchronizing electronic publications between user devices
US8635373B1 (en) 2012-09-22 2014-01-21 Nest Labs, Inc. Subscription-Notification mechanisms for synchronization of distributed states
US9112885B2 (en) 2012-10-02 2015-08-18 Nextbit Systems Inc. Interactive multi-tasker
US9210203B2 (en) 2012-10-02 2015-12-08 Nextbit Systems Inc. Resource based mobile device application streaming
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9268655B2 (en) 2012-10-02 2016-02-23 Nextbit Systems Inc. Interface for resolving synchronization conflicts of application states
US9717985B2 (en) 2012-10-02 2017-08-01 Razer (Asia-Pacific) Pte. Ltd. Fragment-based mobile device application streaming utilizing crowd-sourcing
US9600552B2 (en) 2012-10-02 2017-03-21 Nextbit Systems Inc. Proximity based application state synchronization
US8977723B2 (en) 2012-10-02 2015-03-10 Nextbit Systems Inc. Cloud based application fragmentation
US9654556B2 (en) 2012-10-02 2017-05-16 Razer (Asia-Pacific) Pte. Ltd. Managing applications on an electronic device
US10425471B2 (en) 2012-10-02 2019-09-24 Razer (Asia-Pacific) Pte. Ltd. Multi-tasker
US9747000B2 (en) 2012-10-02 2017-08-29 Razer (Asia-Pacific) Pte. Ltd. Launching applications on an electronic device
US8892693B2 (en) 2012-10-02 2014-11-18 Nextbit Systems Inc. Enabling fragment-based mobile device application streaming
US9776078B2 (en) 2012-10-02 2017-10-03 Razer (Asia-Pacific) Pte. Ltd. Application state backup and restoration across multiple devices
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US9424125B2 (en) 2013-01-16 2016-08-23 Google Inc. Consistent, disk-backed arrays
US9197700B2 (en) * 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US9326185B2 (en) 2013-03-11 2016-04-26 Seven Networks, Llc Mobile network congestion recognition for optimization of mobile traffic
US10123189B2 (en) 2013-03-21 2018-11-06 Razer (Asia-Pacific) Pte. Ltd. Electronic device system restoration by tapping mechanism
US8954611B2 (en) 2013-03-21 2015-02-10 Nextbit Systems Inc. Mechanism for sharing states of applications and devices across different user profiles
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
USD768162S1 (en) 2013-09-30 2016-10-04 Nextbit Systems Inc. Display screen or portion thereof with graphical user interface
CN103873567B (zh) * 2014-03-03 2018-09-04 北京智谷睿拓技术服务有限公司 基于任务的数据传输方法及数据传输装置
RU2643429C2 (ru) * 2014-03-31 2018-02-01 Общество С Ограниченной Ответственностью "Яндекс" Способ управления синхронизацией файлов (варианты), электронное устройство (варианты) и машиночитаемый носитель
EP3161685B1 (en) * 2014-06-24 2022-06-08 Google LLC Processing mutations for a remote database
US20150379310A1 (en) * 2014-06-27 2015-12-31 Kabushiki Kaisha Toshiba Electronic Apparatus, Control Method and Storage Medium
US9742839B2 (en) * 2014-09-12 2017-08-22 Sonos, Inc. Cloud queue item removal
CN104394195B (zh) * 2014-10-31 2018-05-11 杭州华为企业通信技术有限公司 数据更新方法及装置
US10120765B1 (en) 2014-12-19 2018-11-06 EMC IP Holding Company LLC Restore process using incremental inversion
US10235463B1 (en) 2014-12-19 2019-03-19 EMC IP Holding Company LLC Restore request and data assembly processes
US10095707B1 (en) 2014-12-19 2018-10-09 EMC IP Holding Company LLC Nearline cloud storage based on FUSE framework
US9753814B1 (en) * 2014-12-19 2017-09-05 EMC IP Holding Company LLC Application level support for selectively accessing files in cloud-based storage
US10095710B1 (en) 2014-12-19 2018-10-09 EMC IP Holding Company LLC Presenting cloud based storage as a virtual synthetic
US9992258B2 (en) * 2015-01-13 2018-06-05 Whatsapp Inc. Techniques for managing a remote web client from an application on a mobile device
JP6748411B2 (ja) * 2015-08-31 2020-09-02 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
US10250437B2 (en) * 2015-10-29 2019-04-02 Arista Networks, Inc. Method and system for configuring network devices
US10740297B2 (en) * 2015-12-17 2020-08-11 Box, Inc. Adaptive tool selection for conflict resolution in a multi-session collaboration setting
CN106131137A (zh) * 2016-06-26 2016-11-16 乐视控股(北京)有限公司 数据同步方法、系统及用于数据同步的用户终端和服务端
CN106230927A (zh) * 2016-07-29 2016-12-14 努比亚技术有限公司 联系人同步方法、装置及系统
US10825266B2 (en) * 2017-01-10 2020-11-03 Cummins Inc. Wireless ECU configuration updating
CN110915223B (zh) * 2017-07-21 2022-10-21 索尼公司 发送设备、发送方法、接收设备、接收方法和程序
WO2019039958A1 (ru) * 2017-08-25 2019-02-28 Константин Андреевич МАЛЫШЕВ Способ описания составного типа данных
KR20210038207A (ko) * 2019-09-30 2021-04-07 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 로그인 기반 장치 데이터 동기화
US20230195696A1 (en) * 2021-12-21 2023-06-22 Amadeus S.A.S. Devices, system and method for synchronizing changes, deletions or additions to fields at databases

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005174048A (ja) * 2003-12-12 2005-06-30 Internatl Business Mach Corp <Ibm> データセット更新装置、端末装置、データセット更新方法、およびプログラム

Family Cites Families (193)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155847A (en) 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
DE68926345T2 (de) 1989-08-03 1996-11-07 Ibm Datenverarbeitungsnetzwerk
US5473772A (en) 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
JPH08106393A (ja) 1994-10-06 1996-04-23 Matsushita Electric Ind Co Ltd 携帯端末システム
US5761618A (en) 1994-12-22 1998-06-02 Bell Atlantic Mobile Systems, Inc. Updating technique for downloading new system identification (SID) list into a handset
US5612961A (en) * 1995-04-27 1997-03-18 International Business Machines Corporation Method and system for verification of the baud rate for an asynchronous serial device residing within a data processing system
US5612682A (en) 1995-05-30 1997-03-18 Motorola, Inc. Method and apparatus for controlling utilization of a process added to a portable communication device
FI955188A (fi) 1995-10-30 1997-06-24 Nokia Telecommunications Oy Matkaviestimen ohjelmiston ylläpito
US6748209B2 (en) 1995-10-30 2004-06-08 At&T Wireless Services, Inc. Method and apparatus for storing activation data in a cellular telephone
DE19543843C2 (de) 1995-11-24 2001-02-08 Acer Peripherals Inc Verfahren zur Aktualisierung der Software in einem mikrocomputergestützten Telefon
US5845077A (en) 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
US5920821A (en) 1995-12-04 1999-07-06 Bell Atlantic Network Services, Inc. Use of cellular digital packet data (CDPD) communications to convey system identification list data to roaming cellular subscriber stations
WO1997029606A1 (en) 1996-02-12 1997-08-14 British Telecommunications Public Limited Company Telephone system
US6074434A (en) 1996-06-07 2000-06-13 International Business Machines Corporation Selection of code updates, data updates or new data for client
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
JPH1021061A (ja) 1996-07-05 1998-01-23 Nec Corp クライアントソフトウェア自動バージョンアップシステム
JPH1049354A (ja) 1996-08-05 1998-02-20 Fuji Xerox Co Ltd 情報処理システム
US6308061B1 (en) 1996-08-07 2001-10-23 Telxon Corporation Wireless software upgrades with version control
US5848064A (en) 1996-08-07 1998-12-08 Telxon Corporation Wireless software upgrades with version control
US6643506B1 (en) 1996-08-07 2003-11-04 Telxon Corporation Wireless software upgrades with version control
US6006034A (en) 1996-09-05 1999-12-21 Open Software Associates, Ltd. Systems and methods for automatic application version upgrading and maintenance
US5926624A (en) 1996-09-12 1999-07-20 Audible, Inc. Digital information library and delivery system with logic for generating files targeted to the playback device
GB9623298D0 (en) 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US6799037B1 (en) 1996-12-12 2004-09-28 Verizon Airfone Inc. Method and apparatus for communication with a mobile unit
US6009274A (en) 1996-12-13 1999-12-28 3Com Corporation Method and apparatus for automatically updating software components on end systems over a network
US6564048B1 (en) 1996-12-18 2003-05-13 Sony Corporation Radio communication system and method and mobile communication terminal device
US5995756A (en) 1997-02-14 1999-11-30 Inprise Corporation System for internet-based delivery of computer applications
US6023620A (en) 1997-02-26 2000-02-08 Telefonaktiebolaget Lm Ecrisson Method for downloading control software to a cellular telephone
DE19708021C1 (de) 1997-02-27 1998-08-13 Siemens Ag Verfahren zur Regelung eines Zugriffs von Rechnern auf Daten eines zentralen Rechners
US6314565B1 (en) 1997-05-19 2001-11-06 Intervu, Inc. System and method for automated identification, retrieval, and installation of multimedia software components
US5913213A (en) 1997-06-16 1999-06-15 Telefonaktiebolaget L M Ericsson Lingering locks for replicated data objects
TW503368B (en) 1997-06-30 2002-09-21 Inst Information Industry Automatic software version updating method
EP0907285A1 (en) 1997-10-03 1999-04-07 CANAL+ Société Anonyme Downloading data
JPH11110197A (ja) 1997-10-06 1999-04-23 Sanyo Electric Co Ltd ソフトウェア管理装置
KR100258969B1 (ko) 1997-11-20 2000-06-15 윤종용 무선 통신기기의 펌웨어 업그레이드 방법 및 기지국에서의펌웨어 업그레이드 지원방법
US6151708A (en) 1997-12-19 2000-11-21 Microsoft Corporation Determining program update availability via set intersection over a sub-optical pathway
GB2333864B (en) 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
DE69938547T2 (de) 1998-03-03 2009-06-18 Siebel Systems, Inc., San Mateo Verfahren, system, gerät und programm zur verteilung und einführung von software-upgrade
US7080371B1 (en) 1998-03-03 2006-07-18 Siebel Systems, Inc. Method, system, apparatus and program product for distribution and instantiation of software upgrades
JPH11331937A (ja) 1998-03-09 1999-11-30 Sony Corp 情報システム
US6167567A (en) 1998-05-05 2000-12-26 3Com Corporation Technique for automatically updating software stored on a client computer in a networked client-server environment
EP0959635A1 (en) 1998-05-20 1999-11-24 Alcatel Connectionless downloading of software to wireless terminals
DE69931692T2 (de) 1998-05-27 2007-05-31 Nec Corp. Funkkommunikationsgerät mit Aktualisierungsmitteln eines Dienstenmenüs mit Wahlinformation
US6735625B1 (en) 1998-05-29 2004-05-11 Cisco Technology, Inc. System and method for automatically determining whether a product is compatible with a physical device in a network
US6272333B1 (en) 1998-06-12 2001-08-07 Motorola, Inc. Method and apparatus in a wireless communication system for controlling a delivery of data
US6381742B2 (en) 1998-06-19 2002-04-30 Microsoft Corporation Software package management
US6272677B1 (en) 1998-08-28 2001-08-07 International Business Machines Corporation Method and system for automatic detection and distribution of code version updates
US6418554B1 (en) 1998-09-21 2002-07-09 Microsoft Corporation Software implementation installer mechanism
JP2000132397A (ja) 1998-10-22 2000-05-12 Hitachi Ltd クライアントとサーバおよびそれらを用いたソフトウェア配布システム
JP2000132355A (ja) 1998-10-28 2000-05-12 Fujitsu Ltd 情報処理装置及び情報処理方法並びにコンピュータ読み取り可能な記録媒体
US6590881B1 (en) 1998-12-04 2003-07-08 Qualcomm, Incorporated Method and apparatus for providing wireless communication system synchronization
AU763524B2 (en) 1999-03-02 2003-07-24 Flexera Software Llc Data file synchronisation
US6735766B1 (en) 1999-03-03 2004-05-11 Microsoft Corporation Method and computer-readable medium for installing an upgrade to an application program
JP2000276335A (ja) 1999-03-29 2000-10-06 Nec Soft Ltd プログラム自動更新システム
JP3254434B2 (ja) 1999-04-13 2002-02-04 三菱電機株式会社 データ通信装置
WO2000070465A1 (fr) 1999-05-14 2000-11-23 Fujitsu Limited Systeme informatique reparti et procede d'application de donnees de maintenance
US6675382B1 (en) 1999-06-14 2004-01-06 Sun Microsystems, Inc. Software packaging and distribution system
US6381618B1 (en) 1999-06-17 2002-04-30 International Business Machines Corporation Method and apparatus for autosynchronizing distributed versions of documents
US6966060B1 (en) 1999-07-02 2005-11-15 Microsoft Corporation Method and system for remote client installation
JP2001043073A (ja) 1999-08-02 2001-02-16 Nippon Telegr & Teleph Corp <Ntt> 通信装置のソフトウェア変更方法及び通信装置
JP3562393B2 (ja) 1999-08-11 2004-09-08 日本電気株式会社 移動通信システム及びそれに用いるプログラムダウンロード方法
JP3669619B2 (ja) 1999-09-06 2005-07-13 富士通株式会社 無線端末装置のソフトウェア更新方法及びその装置
JP2001075785A (ja) 1999-09-09 2001-03-23 Nec Corp データ更新システム
US6493871B1 (en) 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
JP4501185B2 (ja) 1999-09-30 2010-07-14 セイコーエプソン株式会社 サーバシステムおよび端末
US6742025B2 (en) 1999-09-30 2004-05-25 International Business Machines Corp. System and method for server managed modification of operating system data stored within a network device
TW448404B (en) 1999-10-28 2001-08-01 Inventec Corp Intellectualized method for installing hardware
US6754894B1 (en) 1999-12-03 2004-06-22 Command Audio Corporation Wireless software and configuration parameter modification for mobile electronic devices
US6816944B2 (en) 2000-02-02 2004-11-09 Innopath Software Apparatus and methods for providing coordinated and personalized application and data management for resource-limited mobile devices
US6928467B2 (en) 2000-02-02 2005-08-09 Inno Path Software, Inc. Apparatus and methods for providing data synchronization by facilitating data synchronization system design
JP2001223799A (ja) 2000-02-10 2001-08-17 Nec Corp 移動体通信システムおよびプログラム伝送方法
JP4479040B2 (ja) 2000-03-07 2010-06-09 ソニー株式会社 通信装置及び通信方法
JP2001256053A (ja) 2000-03-09 2001-09-21 Toshiba Corp ソフトウェアモジュール転送方法、クライアントコンピュータ、及びクライアントサーバコンピュータシステム
US6560604B1 (en) 2000-03-10 2003-05-06 Aether Systems, Inc. System, method, and apparatus for automatically and dynamically updating options, features, and/or services available to a client device
JP2001268026A (ja) 2000-03-17 2001-09-28 Hitachi Ltd 情報送受信方法及びその装置
US6820088B1 (en) * 2000-04-10 2004-11-16 Research In Motion Limited System and method for synchronizing data records between multiple databases
JP3833045B2 (ja) 2000-04-14 2006-10-11 シャープ株式会社 プログラムダウンロードシステム及びプログラムダウンロード方法
US6751794B1 (en) 2000-05-25 2004-06-15 Everdream Corporation Intelligent patch checker
JP2001337832A (ja) 2000-05-26 2001-12-07 Nec Corp 端末装置
US7140013B2 (en) 2000-06-01 2006-11-21 Aduva, Inc. Component upgrading with dependency conflict resolution, knowledge based and rules
US6725452B1 (en) 2000-06-01 2004-04-20 Aduoa, Inc. Method for resolving dependency conflicts among multiple operative entities within a computing environment
AU2001262259A1 (en) 2000-06-09 2001-12-17 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for providing support to a mobile communications unit
JP2001356912A (ja) 2000-06-12 2001-12-26 Fujitsu Ltd ソフトウェアのインストール/アップデート/アンインストールシステム
GB2348721A (en) 2000-07-15 2000-10-11 Ideagen Software Limited Automated software or data updating in distributed computing system
KR20020009741A (ko) 2000-07-26 2002-02-02 황보영철 휴대전화단말기의 오퍼레이팅 기반환경 구축장치 및 이를이용한 응용프로그램의 무선 업그레이드 방법
US20040003266A1 (en) 2000-09-22 2004-01-01 Patchlink Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
WO2002041147A1 (en) 2000-11-17 2002-05-23 Biftone Corporation System and method for updating and distributing information
US6832373B2 (en) 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
US7149792B1 (en) 2000-11-20 2006-12-12 Axeda Corporation Device registration mechanism
WO2002044892A2 (en) 2000-11-28 2002-06-06 4Thpass Inc. Method and system for maintaining and distributing wireless applications
WO2002046914A2 (en) 2000-12-07 2002-06-13 Aduva Inc. Improved method for resolving dependency conflicts among multiple operative entities within a computing environment
US6959436B2 (en) 2000-12-15 2005-10-25 Innopath Software, Inc. Apparatus and methods for intelligently providing applications and data on a mobile device system
US7143406B2 (en) 2001-01-23 2006-11-28 Wildtangent, Inc. Asynchronous software update
JP2002215692A (ja) 2001-01-24 2002-08-02 Canon Inc 情報処理装置及び方法
US7127712B1 (en) 2001-02-14 2006-10-24 Oracle International Corporation System and method for providing a java code release infrastructure with granular code patching
JP2002278754A (ja) 2001-03-15 2002-09-27 Toshiba Corp ソフトウェア部品ライブラリ管理システム、その方法およびソフトウェア部品ライブラリ管理プログラム
JP2002278767A (ja) 2001-03-16 2002-09-27 Kenwood Corp ネットワーク通信システム、サーバ装置、携帯端末、通信方法及びプログラム
EP1372063A4 (en) 2001-03-19 2008-03-19 Sony Corp "SOFTWARE UPDATE SYSTEM, SOFTWARE UPDATE PROCESS, AND SOFTWARE UPGRADE PROGRAM"
US20040015953A1 (en) 2001-03-19 2004-01-22 Vincent Jonathan M. Automatically updating software components across network as needed
US20020157090A1 (en) 2001-04-20 2002-10-24 Anton, Jr. Francis M. Automated updating of access points in a distributed network
US6957212B2 (en) 2001-04-24 2005-10-18 Innopath Software, Inc. Apparatus and methods for intelligently caching applications and data on a gateway
US20030023516A1 (en) 2001-05-17 2003-01-30 Sharrow Sherry L. Inventory management database
US20020177437A1 (en) 2001-05-23 2002-11-28 David Chesavage System and method for maintaining a distributed object system
US7178141B2 (en) 2001-07-30 2007-02-13 International Business Machines Corporation Method and system for identifying compatibility between firmware images
US7962622B2 (en) 2001-08-07 2011-06-14 Motorola Mobility, Inc. System and method for providing provisioning and upgrade services for a wireless device
US7243163B1 (en) * 2001-08-07 2007-07-10 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a messaging system
KR100557022B1 (ko) 2001-10-06 2006-03-03 주식회사 비즈모델라인 무선 바이러스 차단 방법 및 시스템
US20030078036A1 (en) 2001-10-19 2003-04-24 Yuan-Jung Chang Device and method for automatically installing software by wireless identification
KR20030033396A (ko) 2001-10-22 2003-05-01 주식회사 지트랜코리아 무선 단말기의 업그레이드 방법
US20030100297A1 (en) 2001-11-27 2003-05-29 Riordan Kenneth B. Method of software configuration assurance in programmable terminal devices
US20030145315A1 (en) 2002-01-23 2003-07-31 Tuomo Aro Exchange of data between components of distributed software having different versions of software
US9134989B2 (en) 2002-01-31 2015-09-15 Qualcomm Incorporated System and method for updating dataset versions resident on a wireless device
EP1493086A4 (en) 2002-03-29 2006-09-20 Good Technology Inc SYSTEM AND METHOD FOR COMPLETE WIRELESS SYNCHRONIZATION BETWEEN A DATA PROCESSING DEVICE AND A DATA SERVICE
US20070169073A1 (en) 2002-04-12 2007-07-19 O'neill Patrick Update package generation and distribution network
US7281245B2 (en) 2002-06-05 2007-10-09 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US8233893B2 (en) 2002-08-22 2012-07-31 Hewlett-Packard Development Company, L.P. Mobile handset update package generator that employs nodes technique
US20040068724A1 (en) 2002-08-30 2004-04-08 Gardner Richard Wayne Server processing for updating dataset versions resident on a wireless device
US7669197B1 (en) 2002-09-12 2010-02-23 Hewlett-Packard Development Company, L.P. Embedded system employing component architecture platform
US10176476B2 (en) 2005-10-06 2019-01-08 Mastercard Mobile Transactions Solutions, Inc. Secure ecosystem infrastructure enabling multiple types of electronic wallets in an ecosystem of issuers, service providers, and acquires of instruments
EP1563436A4 (en) 2002-11-21 2010-01-20 Hewlett Packard Development Co UPDATE NETWORK PROVIDING LIFE CYCLE MANAGEMENT OF UPDATE AND MOBILE COMBINATION PROGRAMS
US20040117785A1 (en) 2002-12-13 2004-06-17 Samsung Electronics Co., Ltd. Component download manager for a wireless mobile station and method of operation
US9092286B2 (en) 2002-12-20 2015-07-28 Qualcomm Incorporated System to automatically process components on a device
US20040188510A1 (en) 2002-12-20 2004-09-30 Sprigg Stephen A. System for registry-based automatic installation and component handling on a device
US7149508B2 (en) 2003-02-05 2006-12-12 Samsung Electronics Co., Ltd. System and method for delta-based over-the-air software upgrades for a wireless mobile station
US20040230965A1 (en) 2003-02-28 2004-11-18 Harri Okkonen Mobile handset network that facilitates interaction between a generic intelligent responsive agent and a service broker server
US20040181790A1 (en) 2003-03-12 2004-09-16 Herrick Joseph W. System and method for maintaining installed software compliance with build standards
US20040224674A1 (en) 2003-04-07 2004-11-11 O'farrell Robert System and method for context sensitive mobile data and software update
JP3987460B2 (ja) 2003-04-22 2007-10-10 株式会社日立コミュニケーションテクノロジー 無線通信装置及び無線通信網
US7987449B1 (en) 2003-05-22 2011-07-26 Hewlett-Packard Development Company, L.P. Network for lifecycle management of firmware and software in electronic devices
US7974613B1 (en) 2003-06-16 2011-07-05 Hewlett-Packard Development Company, L.P. Device capability determination for a mobile device
CA2476156A1 (en) * 2003-07-30 2005-01-30 J2X Technologies Inc. System, computer product and method for enabling wireless data synchronization
US7512638B2 (en) * 2003-08-21 2009-03-31 Microsoft Corporation Systems and methods for providing conflict handling for peer-to-peer synchronization of units of information manageable by a hardware/software interface system
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7752626B1 (en) 2003-09-30 2010-07-06 Oracle America, Inc. System and method for RMI-IIOP request load balancing
US8626146B2 (en) 2003-10-29 2014-01-07 Qualcomm Incorporated Method, software and apparatus for performing actions on a wireless device using action lists and versioning
US7415706B1 (en) 2003-12-01 2008-08-19 Cisco Technology, Inc. Dynamic handling of multiple software component versions for device management
US20050132357A1 (en) 2003-12-16 2005-06-16 Microsoft Corporation Ensuring that a software update may be installed or run only on a specific device or class of devices
BRPI0508244B1 (pt) 2004-03-12 2017-10-10 Microsoft Technology Licensing, Llc Update service node having an application programming interface
US7971199B1 (en) 2004-05-03 2011-06-28 Hewlett-Packard Development Company, L.P. Mobile device with a self-updating update agent in a wireless network
US7657886B1 (en) 2004-06-03 2010-02-02 Hewlett-Packard Development Company, L.P. Mobile device with a MMU for faster firmware updates in a wireless network
US7788662B2 (en) 2004-07-28 2010-08-31 Microsoft Corporation Automatic upgrade of pluggable components
AU2005256112B9 (en) * 2004-07-30 2008-09-25 Blackberry Limited Method and system for coordinating device setting between a communications client and its host device
US7530065B1 (en) 2004-08-13 2009-05-05 Apple Inc. Mechanism for determining applicability of software packages for installation
US7516451B2 (en) 2004-08-31 2009-04-07 Innopath Software, Inc. Maintaining mobile device electronic files including using difference files when upgrading
US7844964B2 (en) 2004-09-23 2010-11-30 Hewlett Packard Development Company, L.P. Network for mass distribution of configuration, firmware and software updates
US7698698B2 (en) 2004-09-30 2010-04-13 Smith Micro Software, Inc. Method for over-the-air firmware update of NAND flash memory based mobile devices
CN1288199C (zh) 2004-12-08 2006-12-06 中国科学院长春应用化学研究所 催化成炭提高聚烯烃纳米复合材料的阻燃性能的方法
US7457826B2 (en) * 2004-12-20 2008-11-25 Microsoft Corporation Systems and methods for synchronization of items without snapshots
JP2008536344A (ja) 2005-01-31 2008-09-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データを自動的に同期させる方法
EP1859636A2 (en) 2005-03-01 2007-11-28 Mfoundry Systems and methods for application program and application program update deployment to a mobile device
US20060206888A1 (en) 2005-03-11 2006-09-14 Microsoft Corporation Checking for and accessing software component updates through a common content manager
US7970386B2 (en) * 2005-06-03 2011-06-28 Good Technology, Inc. System and method for monitoring and maintaining a wireless device
EP1739552A1 (en) 2005-06-21 2007-01-03 Hewlett-Packard Development Company, L.P. Software installation method and computer system
US9332424B2 (en) 2005-08-05 2016-05-03 Qualcomm Incorporated Centrally managed solution for all device management activities
US7958502B2 (en) 2005-08-05 2011-06-07 Hewlett-Packard Development Company, L.P. Efficient generator of update packages for mobile devices that uses non-ELF preprocessing
US7676806B2 (en) 2005-09-27 2010-03-09 Microsoft Corporation Deployment, maintenance and configuration of complex hardware and software systems
US7596720B2 (en) 2005-09-27 2009-09-29 Microsoft Corporation Application health checks
US20080148250A1 (en) 2005-10-28 2008-06-19 Giovanni Motta Update package generation employing matching technique with controlled number of mismatches
CN1852309A (zh) 2005-11-16 2006-10-25 华为技术有限公司 数据同步处理方法及其客户端
US7529780B1 (en) * 2005-12-30 2009-05-05 Google Inc. Conflict management during data object synchronization between client and server
US7747567B2 (en) * 2005-12-30 2010-06-29 Microsoft Corporation Separation of conflict resolution from synchronization
JP4864557B2 (ja) 2006-06-15 2012-02-01 富士通株式会社 ソフトウェアの更新処理プログラム及び更新処理装置
US20070293212A1 (en) * 2006-06-16 2007-12-20 Neltura Technology, Inc. System and methods for using online community identities of users to establish mobile communication sessions
US8707297B2 (en) 2006-07-26 2014-04-22 Dell Products L.P. Apparatus and methods for updating firmware
CN100461702C (zh) * 2006-08-29 2009-02-11 中国移动通信集团公司 网络社区好友同步管理方法
US20130047145A1 (en) 2006-08-29 2013-02-21 Quan-Jie Cui Match analysis for encoding optimized update packages
US7870412B2 (en) * 2006-09-28 2011-01-11 Oracle International Corporation Passing client or server instructions via synchronized data objects
US20100242034A1 (en) 2006-11-01 2010-09-23 Microsoft Corporation Distributing software products as an executable containing script logic with external resources
US7725456B2 (en) * 2007-04-27 2010-05-25 Microsoft Corporation Item management with data sharing and synchronization
US20080281828A1 (en) * 2007-05-11 2008-11-13 Daniel Swartz Variable Data Replacement Technique For An Electronic Communication System
US8635608B2 (en) 2007-09-04 2014-01-21 Teradata Us, Inc. Software update system and method
JP2009134589A (ja) 2007-11-30 2009-06-18 Toyota Motor Corp 運転支援装置
US8762977B2 (en) 2008-04-10 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Mobile device software management method and apparatus
US8612961B2 (en) 2008-12-31 2013-12-17 Motorola Mobility Llc System and method for downloading software upgrades
US8340635B2 (en) 2009-03-16 2012-12-25 Apple Inc. Capability model for mobile devices
US8495621B2 (en) 2009-06-15 2013-07-23 Microsoft Corporation Catalog-based software component management
US8522232B1 (en) 2009-07-06 2013-08-27 Arris Enterprises, Inc. Decoupling software loads for customer premise equipment
US8316224B2 (en) 2009-08-31 2012-11-20 Red Hat, Inc. Systems and methods for tracking a history of changes associated with software packages and configuration management in a computing system
US8443361B2 (en) 2009-08-31 2013-05-14 Red Hat, Inc. Systems and methods for tracking a history of changes associated with software packages in a computing system
US9003387B2 (en) 2009-09-25 2015-04-07 Fisher-Rosemount Systems, Inc. Automated deployment of computer-specific software updates
US20120280037A1 (en) * 2010-02-06 2012-11-08 Yang Pan Credit Card with E-paper Display for Advertisement and with Optical Communication and Power Transfer Modules
US8612398B2 (en) 2010-03-11 2013-12-17 Microsoft Corporation Clean store for operating system and software recovery
US8578366B2 (en) 2010-04-13 2013-11-05 Avaya Inc. Application store
JP5559001B2 (ja) 2010-10-15 2014-07-23 株式会社日立ソリューションズ 組込プログラム更新方法、組込プログラム更新プログラム、電子機器、ネットワークシステム
JP2012091840A (ja) 2010-10-28 2012-05-17 Matsuda Gijutsu Kenkyusho:Kk 断熱パネル及びこれを用いた輸送用コンテナ
US8595715B2 (en) 2010-12-31 2013-11-26 International Business Machines Corporation Dynamic software version selection
US8893109B2 (en) 2011-08-02 2014-11-18 Roche Diagnostics Operations, Inc. Software distribution amongst medical devices taking into account dependencies between devices
US20130139139A1 (en) 2011-11-28 2013-05-30 Wyse Technology Inc. Automatic updating of an application or a driver on a client device using a deployment configuration file
US8612516B2 (en) 2011-11-28 2013-12-17 Wyse Technology Inc. Deployment of a driver or an application on a client device having a write-filter
US9110754B2 (en) 2012-05-31 2015-08-18 Microsoft Technology Licensing, Llc Computing device update control
US9766873B2 (en) 2012-08-17 2017-09-19 Tripwire, Inc. Operating system patching and software update reconciliation
US20140208306A1 (en) 2013-01-23 2014-07-24 Caterpillar Inc. Control system having automatic component software management
US8918775B1 (en) 2013-07-12 2014-12-23 Ca, Inc. Dynamic release control of software application version changes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005174048A (ja) * 2003-12-12 2005-06-30 Internatl Business Mach Corp <Ibm> データセット更新装置、端末装置、データセット更新方法、およびプログラム

Also Published As

Publication number Publication date
CA2687883C (en) 2014-07-08
BRPI0812543A2 (pt) 2015-09-29
CN101743736B (zh) 2014-07-30
JP5065482B2 (ja) 2012-10-31
RU2438263C2 (ru) 2011-12-27
CN101743736A (zh) 2010-06-16
WO2008157735A2 (en) 2008-12-24
RU2010101323A (ru) 2011-07-27
KR101134214B1 (ko) 2012-04-09
KR20100031623A (ko) 2010-03-23
CA2687883A1 (en) 2008-12-24
EP2163075A2 (en) 2010-03-17
US9143560B2 (en) 2015-09-22
WO2008157735A3 (en) 2009-02-12
US20090077263A1 (en) 2009-03-19

Similar Documents

Publication Publication Date Title
JP5065482B2 (ja) 無線環境においてデータセットを同期するための方法および機器
US8600363B2 (en) Synchronization in unified messaging systems
US8850031B2 (en) Pairing system, pairing management device, pairing method, and program
US6952708B2 (en) Method and system for using a sync key
EP2306347A1 (en) Method of synchronizing information across multiple computing devices
US20200142908A1 (en) Database synchronization
JP2005216313A (ja) クライアント端末装置とサーバーとの間のセッション再設定のためのシステム及び方法
JP2005222552A (ja) 複数の同期ソースのクロスポリネーション
US20080228852A1 (en) Synchronization of Information Items with References
CN105677380B (zh) 一种双主控隔离的逐板升级的方法及装置
CN103795754A (zh) 多系统间的数据同步方法和系统
CN102742303A (zh) 具有本地pim集成的基于消息的移动对象
CN103544303A (zh) 一种数据同步方法、系统和设备
KR20120055166A (ko) 네트워크로 연결 가능한 기기에서 데이터를 동기화하기 위한 장치 및 방법
US20100095217A1 (en) Server-based data management system and method for mobile communication system
CN103825632B (zh) 应用近场通信的信息快速同步方法
JP2005537579A (ja) 中断された同期プロセスに対処してデータを同期させる方法、装置、システム
JP2013230226A (ja) ゲーム管理サーバ装置、ゲーム管理サーバ装置用プログラム、および、端末装置用プログラム
CN114221985A (zh) 设备控制方法、装置、电子设备和计算机可读存储介质
CN111159179A (zh) 表分区方法及相关设备、计算机可读存储介质
CN111901388B (zh) 区块链多链系统、用于区块链多链系统的方法、电子设备
JPWO2012164830A1 (ja) 通信制御装置
JP2014006735A (ja) 情報提供装置、情報提供方法及び情報提供プログラム
KR20070077734A (ko) 통신 단말과 서버와의 데이터베이스 동기화 방법
KR20120050077A (ko) 동기화 프로토콜 자동 설정 시스템 및 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120424

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120502

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120524

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120619

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: 20120710

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: 20120809

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

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