JP4405812B2 - 第1データ記憶部と第2データ記憶部との間で同期を取るための方法および装置 - Google Patents

第1データ記憶部と第2データ記憶部との間で同期を取るための方法および装置 Download PDF

Info

Publication number
JP4405812B2
JP4405812B2 JP2003581039A JP2003581039A JP4405812B2 JP 4405812 B2 JP4405812 B2 JP 4405812B2 JP 2003581039 A JP2003581039 A JP 2003581039A JP 2003581039 A JP2003581039 A JP 2003581039A JP 4405812 B2 JP4405812 B2 JP 4405812B2
Authority
JP
Japan
Prior art keywords
data
folder
message
client
data storage
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.)
Expired - Lifetime
Application number
JP2003581039A
Other languages
English (en)
Other versions
JP2005521946A (ja
JP2005521946A5 (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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of JP2005521946A publication Critical patent/JP2005521946A/ja
Publication of JP2005521946A5 publication Critical patent/JP2005521946A5/ja
Application granted granted Critical
Publication of JP4405812B2 publication Critical patent/JP4405812B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Description

本発明は、卓上カレンダーおよび電子メール等の1つまたは2つ以上のアプリケーションのデータ項目を記憶している異なるデータ記憶部(データ記憶装置)の間で同期を取るための方法に関し、特に本発明は、このようなデータ記憶部のデータ構造間の同期を取るための方法に関する。
今日、ビジネスマンが、携帯電話または手の平サイズ(ハンドヘルド型)のコンピュータ(または他の移動端末)上で(予約を記録しておくための)電子メールアプリケーションやカレンダーアプリケーションを利用し、ビジネスマンの代わりに補助装置が送受信した電子メールや予約を記録するためにデスクトップコンピュータ上で上記の電子メールアプリケーションやカレンダーアプリケーションを補助装置に使用させることによって、ビジネスマンのために予約を記録しておくことが可能になっている。このような構成ではよくあることであるが、電子メールアプリケーションのデータ項目(ここでは、データユニットとも呼ばれる)やカレンダーのデータ項目が、携帯電話やデスクトップ型の他のデータ記憶部に保存されることがある。それゆえに、それぞれ電子メールおよびカレンダーの双方のアプリケーションのデータ項目を含むデータ記憶部のうち、いずれかのデータ記憶部に対して変更が加えられた場合、これらのデータ記憶部間の同期を取る必要が生じる。異なる機器で動作する2個のアプリケーションによってそれぞれ使用されるデータ記憶部間の同期を取る際(すなわち、2台のデータ記憶部のデータ項目およびデータ構造の双方の同期を取る際)に、最後の同期以後の変更が伝達されるプロトコルに基づいて2台のデータ記憶部の内容がお互いに対応するように設定され、(ある方針に従って)各々の機器に対してなされた変更間の衝突は解消され、2台のデータ記憶部の一方または双方のデータ項目または上記構成のいずれかまたはその双方に対して変更が加えられる。
このようなデータ記憶部間の同期を取るための機能が、いわゆるSyncML Initiative(SyncMLイニシアティブ)にて開発されているような、いわゆるSyncML(Syncマークアップ言語)に基づいて開発されつつある(SyncMLの基準および仕様を含むSncMLの情報を含むSyncMLの情報、および、SyncML Initiative(SyncMLイニシアティブ)の情報、特にSyncML Representation Protocol(SyncML表現プロトコル)およびSyncML Sync Protocol(SyncML同期プロトコル)の情報については、http://www.syncml.org/を参照のこと)。SyncMLは、遠隔データ(例えば、異なる機器および異なるデータ記憶部に記憶されているデータ項目)および多数のネットワーク、プラットフォームおよび装置間の個人的情報の全般的な同期のための共通言語の公開された工業基準である。SyncMLにより、例えば全体としてまたは一部で無線通信または有線通信を行うことができるようなUniversal Mobile Telecommunications System(ユニバーサル・モービル・テレコミュニケーションズ・システム)(UMTS)、Radio Access Network(ラジオ・アクセス・ネットワーク)(UTRAN)およびInternet(インターネット)を含む1つまたは2つ以上の相互接続用のネットワークを介して接続された異なる装置上で、データ項目(まだデータ構造ではない)の同期を取ることができる。このように、例えば固定ネットワーク(無線ネットワークを含む)、赤外線、ケーブルまたはBluetooth(ブルートゥース)を介して異なる装置間で通信を行うことが可能である。
SyncML(すなわち言語)は、データ記憶部間の同期を取る目的の他に、装置管理のために使用される。特に、クライアントと当該クライアントの管理サーバとの間の管理動作を転送するために使用される。仕様書すなわちSyncML装置管理プロトコルを探すには、http:// www.syncml.org/を参照していただきたい。SyncMLは、管理対象上で管理命令を実行させ、SyncML同期プロトコルおよびSyncML表現プロトコルと同様のパッケージフォーマットを利用する。管理対象は、装置用の一揃いの構成パラメータを反映することがある。この管理対象に対する動作には、読み取りパラメータおよび設定パラメータが含まれることがある。他の管理対象として、装置上のソフトウェアアプリケーションの実行時環境であることもある。この種の管理対象に対して行われる動作としては、ソフトウェア要素のインストール、ソフトウェア要素の更新、またはソフトウェア要素のアンインストールが含まれる。その動作は、SyncML表現プロトコルの装置管理使用方法にて記述されているSyncML管理プロトコルにより表される。ここで使用されるコマンドおよびメッセージ構造は、SyncML同期プロトコルのものにまさしく対応する。(このように、管理プロトコルのいわゆる文書型の定義は、SyncML同期プロトコルからの文書型の定義である。)
今まで、移動データの同期の進歩は、いくつかの制約によって多くのことが決定されてきた。データ記憶部の同期は、一揃いの異なる所有権付きのプロトコルに基づいてなされており、このプロトコルはそれぞれ、ごく限られた数の装置、システムおよびデータ型に対してのみ機能する。このような相互運用性のない技術のために、ユーザ、製造業者、サービスプロバイダおよび開発者の業務が複雑になってきた。さらに、所有権を有する異なるデータ記憶部の同期のプロトコルが増加すると、携帯装置の使用の拡大に障害となり、データアクセスやデータの配信が制限されると共に、ユーザの移動性が制限されてきた。
モバイル計算機や移動通信機器の人気が高まるにつれ、ユーザは、手に入る機器は何でも利用し、どこにいても、更新された情報やアプリケーションに対するアクセスを行うことを望んでおり、SyncML等の公開基準の必要性が高まる。
SyncMLは、World Wide Consortium(ワールドワイドコンソーシアム)(W3C)のXML Activity(XMLアクティビィティ)(ウェブサイトhttp://www.w3.org.)の製品であるExtensible Markup言語(拡張マークアップ言語:XML)1.0に示された、いわゆる拡張マークアップ言語(XML)のシンタックスを使用している。XMLの情報については、http://www.w3.org.XMLを参照していただきたい。
ここで使用されているように、データ項目またはデータユニットという専門用語は、いわゆるディレクトリ構造やデータ構造を順次形成するようないわゆるフォルダに構成されたデータの単位のことをいう。図4を参照すると、それぞれ1つまたは2つ以上のデータユニットを含むことが可能な種々のフォルダを含むディレクトリ構造が示されている。
ディレクトリ構造またはデータ構造という用語およびフォルダという用語は、広い意味に解釈されるものとする。まず、フォルダは、データユニットの任意のコンテナという意味に解釈されなければならない。このように、例えば、種々のオペレーティングシステム(マイクロソフトから入手可能なウィンドウズ(Windows)等)においてフォルダと呼ぶものは、ここで使用されるフォルダという用語の意味に理解されるものとするが、リレーショナルデータベースのテーブルにおけるレコードはデータユニットであるフィールドを含むために、リレーショナルデータベースのテーブルにおけるレコードにおいてもそのようにする。フィールドはデータユニットとみなすことのできる文字、数字およびその他の要素を含むため、このようなフィールドでさえもフォルダとみなされる。したがって、フィールドの各々がフォルダである。
ディレクトリ構造またはデータ構造という用語は、例えばデータユニットがファイルされる場合のオペレーティングシステムによって維持されるディレクトリの中のフォルダの木構造(tree structure)のような、データ記憶部におけるフォルダの構成を表す。しかしながら、ディレクトリ構造またはデータ構造という用語は、アプリケーションによって内部にて維持されるディレクトリ構造、すなわちオペレーティングシステムによって維持されないが、オペレーティングシステムによって動作するアプリケーションによって維持されるディレクトリ構造をも包含するものとして理解されるべきである。1つの例は、通常少なくとも2つのフォルダ、すなわち受信メールフォルダ(受信箱)と送信メールフォルダ(送信済み)とを含むほとんどすべての電子メールによって維持されるディレクトリ構造の例である。さらに、ディレクトリ構造またはデータ構造という専門用語は、(ディレクトリ構造が一個のアプリケーションの内部にのみ存在するものではなく、数個のアプリケーションであって、通常はインタフェースが良好でいずれもディレクトリ構造に対して変更を加えるようなアプリーションに内在するように)異なるアプリケーションにより共有される内部データ構造を含むように理解されなければならない。さらに、ディレクトリ構造すなわちデータ構造という用語は、システムディレクトリ構造および内部ディレクトリ構造の意味としても理解されなければならない。電子メールアプリケーションにより維持される内部ディレクトリの場合には、データユニットとは、内部ファイルの一種である電子メールである。いずれの型のディレクトリ構造においても、一般的に、フォルダは、異なるアプリケーションに属するデータユニットを含み、上記のアプリケーションは、データユニットに関連して保持される属性、または自分自身に属するデータユニットのすべての専用テーブルを保持するアプリケーションのいずれかに基づいて、当該データユニットがどこに配置されていても自分自身または他のアプリケーションに属するデータユニットを認識している。また一方で、既に説明したように、フォルダは例えば、データベースのテーブル内のレコードまたはそのようなレコード内のフィールドさえも表すことができるので、ディレクトリ構造すなわちデータ構造という専門用語は、データベース構造(フォルダがレコードの場合)やレコード構造(フォルダがフィールドの場合)さえも包含するものと理解されるべきである。フォルダという用語は、データユニットのすべてのコンテナを表すために、上記のように拡大して使用されていると解釈されることが重要であり、ディレクトリ構造またはデータユニットという専門用語はこれに対応して拡大された意味を有している。
アプリケーションのユーザは、データ項目の保存方法の変更(例えば、新規フォルダの追加、および、いくつかのデータユニットを既存のフォルダから新規フォルダへ移動すること)のみならず、当該アプリケーションに属する双方のデータユニットに変更を加えることが可能であり(例えば、新規データの追加、または、ユーザがデータユニットの内容を変更するためにアプリケーションを使用したことによって当該データユニットを更新したバージョンに置き換えること等)、すなわち、フォルダのみならずデータユニットに対しても変更を加えることができる(すなわち、ディレクトリ構造全体)。しかしながら、SyncMLに関する従来の技術によれば、ユーザが装置上のフォルダに変更を加えた場合、当該装置上のデータ記憶部と他の装置上で維持されるような対応するデータ記憶部との同期を取るために、SyncMLを利用することができなかった。SyncMLに関する従来の技術では、データユニットに変更を加えることに関してのみ同期を取ることができる。
SyncMLメッセージはネスト構造(nested structure)であり、1つまたは2つ以上のSyncMLメッセージは、いわゆるSyncMLパッケージに関連付けることができる。SyncMLメッセージは、それぞれ1つまたは2つ以上の要素型の1つまたは2つ以上の要素からなる個別のXML文書である。この文書は、SyncHdr(Syncヘッダ)の要素型により指定されるヘッダ、およびSyncBody(Syncボディ)の要素型により指定される本体から構成される。SyncMLのヘッダは、SyncMLメッセージのルーティング(routing )およびバージョニング(versioning)に関する情報を指定する。SyncML本体は、1つまたは2つ以上のSyncMLコマンドのコンテナである。SyncMLコマンドは、個々の要素タイプにより指定される。SyncMLコマンドは、すべてのデータまたはメタ情報を含め、SyncMLコマンドの仕様を記述した他の要素タイプのコンテナとして作用する。
SyncMLでは、要求コマンドおよび応答コマンドを規定している。要求コマンドには以下のものが含まれる。例えば、add(発信側に対し、受信側にアクセスすることが可能なデータに1つまたは2つ以上のデータユニットの追加を要求させるコマンド)、alert(発信側が受信側に対し、状態を通知させるコマンド)、copy(発信側に対し、受信側にアクセスすることが可能な1つまたは2つ以上のデータユニットのコピーを要求させるコマンド)、delete(発信側に対し、受信側にアクセスすることが可能な1つまたは2つ以上のデータユニットの削除または保存を要求させるコマンド)、get(発信側に対し、受信側からの1つまたは2つ以上のデータユニットを要求させるコマンド)、およびsearch(受信側にアクセスすることが可能な1つまたは2つ以上のデータユニットに対し、供給されたクエリー(query )を実行させることを発信側に要求させるコマンド)が含まれる。現在、応答コマンドは以下のものだけである。すなわち、status(動作の完了状況を示すコマンド、または以前の要求を処理している最中にエラーが発生したことを示すコマンド)およびresults(SyncMLのGetコマンドまたはSearchコマンドのいずれか一方のデータ結果を返送するために使用されるコマンド)である。
データユニットまたはフォルダを識別するために、SyncMLは識別子を使用する。この識別子は、いわゆるソースおよびターゲットの要素型に含まれ、Uniform Resource Identifiers(ユニフォーム・リソース・アイデンティファイア:URI)、Uniform Resource Names(ユニフォーム・リソース・ネーム:URN)の組み合わせであり得る。(International Mobile Equipment Indentifier(インターナショナル・モービル・イクィップメント・アイデンティファイア:IMEI)を表すために、SyncMLはIMEI URNの要素型を使用する。このIMEI URNは、有効15桁のIMEIを指定する。その上、SyncMLは、SyncML指定名スペースおよび一意名(unique name )を識別するために、SyncML URNの要素型を使用する。また一方で、他のURNの要素型は、LocURIの要素型において使用することができる。)
既に述べたように、SyncML表現プロトコル(すなわちSyncMLメッセージ)は、XML要素型からなる文書マークである。要素型は、その目的または用途、親要素、コンテントまたは使用に対するすべての規制、およびコンテントモデルにより規定される。要素型には、いわゆる共用要素、メッセージコンテナ要素、データ記述要素、プロトコル管理要素およびプロトコルコマンド要素が含まれる。
共用要素型は、他のSyncMLで使用される要素型で、例えば、deleteコマンドで指定されるデータがdeleteコマンドの受信側によって削除ではなく保存されるべきであることを示すアーカイブ(archive )を含む。このように、deleteコマンドはアーカイブ共用要素を使用することが可能であり、この関係でアーカイブ共用要素型の親要素であるといわれる。他の要素型として、Cmdの要素型があり、これはStatusの要素型により参照されるSyncMLコマンドを規定するために使用される(よって、この関係でStatusの要素型は親要素である)。他の要素型として、CmdIdの要素型があり、これはSyncMLメッセージ一意コマンド識別子を指定するために使用され、Add、Alert、Atomic、Copy,Delete、Exec、Get、Map、Put、Replace、Results、Search、Sequence、StatusおよびSyncを含む種々の親要素を持つことが可能である。
本発明に関して特に注目すべき点は、共通要素型LocName、LocURI、SourceおよびTargetである。LocNameは、ターゲットまたはソースアドレスの表示名を指定するために用いられ、TargetまたはSourceの親要素として持つことが可能である。LocURIは、ターゲットまたはソース指定アドレスを指定し、同様にTargetまたはSourceの親要素として持つことが可能である。共通要素型Sourceは、ソースのルーティング情報またはマッピング情報を指定するために用いられ、その親要素はItem、Map、MapItem、Search、SyncおよびSyncHdrを含む。Targetは、ターゲットのルーティング情報またはマッピング情報を指定するために使用され、その親要素はItem、Map、MapItem、Search、SyncおよびSyncHdを含む。
メッセージコンテナの要素型は、SyncMLメッセージのための基本的なコンテナサポートを提供する。このようなメッセージコンテナの要素型としては、以下の3つの要素型がある。第1の要素型はSyncMLであり、これはSyncMLメッセージのコンテナを指定し、いわゆるルート要素または文書要素であるために親を持たない。第2の要素型はSyncHdrであり、これはSyncMLメッセージ中における修正情報またはルーティング情報(あるいは両者)のためのコンテナを指定し、SyncML要素を親要素として持つ。第2の要素型はSyncBodyであり、これはSyncMLメッセージの本体またはコンテンツのためのコンテナを指定し、これもまたSyncML要素を親要素として持つ。
データ記述要素は、SyncMLメッセージにおいて交換されたデータのコンテナ要素として使用され、このデータ記述要素は以下の要素型を含む。第1の要素型は、Dataであり、これは離散型SyncMLデータを指定し、(親要素)Alert、Cred、Item、Status、およびSearchの要素型により使用される。第2の要素型は、Itemであり、これは項目データのコンテナを指定するために使用され、(親要素)Add、Alert、Copy、Delete、Exec、Get、Put、Replace、ResultsおよびStatusにより使用される。第3の要素型は、Metaであり、これは親要素型に関するメタ情報を指定するために使用され、(親要素)Add、Atomic、Chal、Copy、Cred、Delete、Get、Item、Map、Put、Replace、Results、Search、SequenceおよびSyncにより使用される。
現在、プロトコル管理要素は、表示されたSyncコマンドのための要求ステータスコードを指定するStatusの要素型のみを含み、(親要素)SyncBodyにより使用される。
最後にプロトコルコマンド要素を説明する。これらのプロトコルコマンド要素には、既に述べたコマンド要素が含まれる。すなわち、当該コマンド要素には、例えば、Addが含まれており、これはデータがデータ集合に付加されることを指定し、(親要素)Atomic、Sequence、SyncおよびSyncBodyにより使用される。その他のコマンド要素には、DeleteおよびReplace等が含まれる。
上記の要素型はすべて、基準であるSyncML表現プロトコルに記載されており、インターネット(http://www.syncml.org/docs/syncml_represent_v11_20020215.pdf.)上で入手可能である。
同一のアプリケーションが同期プロトコルに従ってデータの取り扱いおよび通信の取り扱いを処理する場合には、ディレクトリ構造における通信の変更は問題にはならない。しかしながら、各々の装置において、数個のアプリケーションがディレクトリ構造として構成された一台のデータ記憶部を共有し、当該アプリケーションのそれぞれのデータユニットを一個以上のディレクトリ構造のフォルダに保存するといったような、より一般的な問題の場合には、データユニットだけでなくフォルダをどのように配置したら最良であるかということ、すなわち、そのためには同期プロトコルをどのように構成したら最良であるかということが明らかになっていない。公開基準、すなわちSync Initiative(Syncイニシアティブ)の製品であるSyncML Synchronization Protocol(SyncML同期プロトコル)によれば、(あらゆる点において)同期される各々のデータ記憶部を有する2台の遠隔装置の各装置は、同期(Sync)エージェント(装置1台につき1個、使用される多くの異なるアプリケーションについても同様)および1つまたは2つ以上のアプリケーション実体を含み、以下の同期プロトコル(すなわち、公開基準中に記載された同期プロトコルに従って通信を行うこと)は、アプリケーションではなく、同期エージェントに責任がある。(アプリケーションではなく、同期エージェントのみがSyncMLを解釈する。)しかしながら、アプリケーションだけが、データユニットが直近に実行された同期以後に変更されたかどうかを認識している。同期エージェント中で符号化されたもののように、SyncML同期プロトコル中にSyncMLの知識を要求するSyncML同期プロトコルをどのように展開するかといったようないくつかの選択肢と、同期エージェントに対して、異なるアプリケーションが行っている方法により、データユニットの解釈を要求するいくつかの選択肢がある。
SyncML(または、同様の同期言語)が、同期エージェントおよびアプリケーション上の要求を最小化し、これによって、符号情報およびフォルダ情報の複製の必要性を回避するような方法で、ディレクトリ構造中のフォルダ等のデータ構造の状況を参照することが必要である。
上記問題点を解決するために、本発明の第1の態様において、第1データ記憶部に関連して動作する第1同期エージェントおよび第2データ記憶部に関連して動作する第2同期エージェントにより使用するための方法であって、第1データ記憶部は第2データ記憶部に同期されており、第1データ記憶部および第2データ記憶部の各々は、第1同期エージェントおよび第2同期エージェントとはそれぞれ異なる第1アプリケーションおよび第2アプリケーションによりデータをデータユニットとしてフォルダに記憶するために使用され、このフォルダは互いに組み合わされてデータ構造を定義する方法が提供される。この方法は、第1同期エージェントおよび第2同期エージェントが、上記第1同期エージェントおよび第2同期エージェント間の通信を可能にするトランスポート接続を確立するステップと、第2同期エージェントが、トランスポート接続を介してメッセージを第1同期エージェントに送信するステップとを有しており、当該メッセージはマークアップ言語を用いて表現され、少なくとも1つのデータ識別要素を有する(ここで使用される「データ識別要素」という用語は、SyncMLの中でTarget(ターゲット)の要素と呼ばれるもの、またはSyncMLの中でSource(ソース)の要素と呼ばれるもののいずれか一方を示すために使用されているが、SyncMLと同様のすべてのマークアップ言語における同様の要素を包含するものと理解されるべきであって、データ識別要素という用語はデータ要素との対比の中にあり、当該データ識別要素という用語は、SyncMLまたはデータユニットを含む同様の言語における要素に言及する)。上記の方法において、第1データ記憶部または第2データ記憶部のデータ構造の変更に関する情報は、上記メッセージにおいて送信され、さらに、上記の第1データ記憶部または第2データ記憶部のデータ構造の変更に関する情報は、少なくとも1つのデータ識別要素にて設定される。
本発明の第1の態様において、少なくとも1つのデータ識別要素はデータ要素(すなわち、SyncMLマークアップ言語のデータ記述要素の特定の型またはSyncMLマークアップ言語と同様の言語における同様の要素)の外部に備えること(すなわち、当該データ要素に含まれないこと)が可能である。さらに、本発明の第1の態様において、第1データ記憶部および第2データ記憶部のデータ構造の変更に関する情報は、フォルダの識別子を含んでいてもよい。さらにまた、少なくとも1つのデータ識別要素は、ターゲット要素またはソース要素であってよい。さらにまた、データ識別要素は、プロトコルコマンド要素に含まれていてよく、このプロトコルコマンド要素は、データ識別要素と組み合わされて、第1データ記憶部または第2データ記憶部のデータ構造の変更に関する情報を表示してよい。さらにまた、データ識別要素は、第2同期エージェントにより割り当てられた(マークアップ言語SyncMLにおける)いわゆるLocURIの要素(または同様のマークアップ言語における同様の要素)を含んでいてよく、第1データ記憶部または第2データ記憶部のデータ構造の変更に関する情報は、LocURI内で提供されるものであってよい。
さらに、本発明の第1の態様において、第1装置は、第1データ記憶部のみならず第1同期エージェントおよび第1アプリケーションのホストであってよく、および第2装置は、第2同期エージェント、第2データ記憶部および第2アプリケーションのホストであってよい。さらに、第1装置は、クライアント/サーバプロトコルにおいて、クライアントとして機能することが可能であり、第2装置は、クライアント/サーバプロトコルにおいて、サーバとして機能することが可能であり、メッセージが、クライアントからサーバへ提供され得る。さらにまた、第1装置は、クライアント/サーバプロトコルにおいて、サーバとして機能することが可能であり、第2装置は、クライアント/サーバプロトコルにおいて、クライアントして機能することが可能であり、メッセージが、サーバからクライアントへ提供され得る。メッセージを伝達するステップは、クライントメッセージに応答してよく、(さらに)サーバがホストであるデータ記憶部に関するクライアントメッセージが引き起こす任意の衝突に対する解決策を含んでいてもよい。
さらに、本発明の第1の態様において、第1アプリケーションはメッセージに含まれる任意のデータ要素に応答してよく、第1同期エージェントはデータ識別要素に応答してよく、また一方で、メッセージに含まれる任意のデータ要素により伝達される情報に基づいて、第1アプリケーションがデータ記憶部のデータユニットに何らかの変更を加える前に、第1同期エージェントは、データ識別要素により伝達される情報に基づいて、第1データ記憶部のデータ構造に変更を加えてよい。また一方で、第2同期エージェントは、データ識別要素において、第1データ記憶部または第2データ記憶部のデータ構造の変更に関する情報を提供することが可能であり、第2アプリケーションは、データ要素において、第1データ記憶部または第2データ記憶部のデータユニットの変更に関する情報を提供することが可能である。さらにまた、第1同期エージェントは、メッセージに応答して、データ構造の変更に関する情報をデータ識別要素から抽出してよく、当該情報を同期エンジンまたはアプリケーション実体に提供してよい。
本発明の第2の態様において、第1装置の動作および第2装置の動作に関連して、本発明の第1の態様に応じて動作する装置が提供される。本発明の第2の態様によれば、当該装置は無線通信端末であってよい。また一方で、当該装置は、無線通信端末ではなく、有線通信端末であってよい。さらにまた、当該装置は、クライアント/サーバモデルにおいてサーバとして機能することが可能であり、メッセージによって引き起こされる衝突を解消するための同期エンジンを含んでいてよい。
本発明の第3の態様において、本発明の第2の態様による第1装置を備え、当該第1装置は、クライアント/サーバモデルにおいてサーバとして機能し、メッセージによって引き起こされる衝突を解消するための同期エンジンを含んでいることを特徴とするシステムであって、さらに、本発明の第2の態様による第2装置を備え、当該第2装置は、クライアント/サーバモデルにおいてクライアントとして機能することを特徴とするシステムが提供される。
本発明の第4の態様において、電気通信装置(11、12)が第1装置および第2装置に関連して本発明の第1の態様に応じて動作するように、電気通信装置(11、12)のための動作命令を示すコンピュータプログラムが提供される。
本発明の第5の態様において、同期エージェントが第1同期エージェントおよび第2同期エージェントに関連して本発明の第1の態様に応じて動作するように、同期エージェントに対して動作命令を示すコンピュータプログラムが提供される。
このように、本発明は、フォルダ変更のためのデータ記憶部や、ユーザデータまたは装置管理のいずれか一方に関するアプリケーションにより使用され得るデータ記憶部の間で同期を取る方法を提供するために、SyncMLを拡張する。ここで、1台のデータ記憶部におけるフォルダの変更およびデータユニットの変更は、双方とも他のデータ記憶部に反映させることができる。
本発明は、SyncMLを解釈するために装置における各アプリケーションを符号化する必要性を無くすのではなく、単にサーバ上の装置の同期エージェントおよび同期エンジンを連動させるという利点を有する。その上、本発明では、各々の装置の同期エージェントにおいて、他の装置の対応するデータ記憶部に同期させるためのデータ記憶部を共有する種々のアプリケーションのデータユニットを解釈する方法に関するいかなる知識をも含んでいる必要性が回避される。
本発明の上記の目的および他の目的、特徴および効果は、添付図面(図1〜図4)に関連して提供されるような以下の詳細な説明を検討することにより明らかになるであろう。
図1は、本発明による、それぞれのデータ記憶部の間の同期を取るためにSyncMLメッセージを交換するクライアントおよびサーバのブロック図およびフロー図である。
ここで図1を参照すると、クライアントデータ記憶部11cとサーバ12中の対応するサーバデータ記憶部12cとの間の同期を取るクライアント11が示されている(データ記憶部は、装置管理またはユーザデータ(例えば電子メール)の保持のために利用することができる)。一般的に、データ記憶部は、図4に図示されるような任意のディレクトリ構造により、データ記憶部は1つの(またはそれ以上)のシステムディレクトリ構造を含むことが可能であり、さらに、おそらくは、1つまたは2つ以上の内部ディレクトリ構造(すなわち、オペレーティングシステムに対向する1つ以上のアプリケーションによって維持される内部ディレクトリ構造)を保持することができるであろう。この結果、ディレクトリ構造はフォルダの木構造となり、各フォルダは、1つまたは2つ以上のデータユニット(ファイル、すなわちシステムディレクトリ構造において維持されるデータのユニット、または電子メールアプリケーションにより維持される電子メール等の内部ディレクトリにおけるアプリケーションによって維持されるデータのユニット)、および木構造の1つまたは2つ以上の他のフォルダを含むことができる。
同様の構造を有する言語または類似の言語によるメッセージも使用することができるけれども、同期はSyncMLメッセージの交換を介して発生する。交換されたSyncMLメッセージの中には、データユニットに関してデータ記憶部11c、12c間の同期を取るものもあり、データ構成に関して同期を取るものもある。換言すれば、結果として、双方のデータ記憶部はフォルダに関して等価構造を有し、少なくともアプリケーションが関係するものの範囲に関する限り、同期は実行されている。クライアント11は、クライアント/サーバモデルにおいて、SyncMLプロトコルに従ってクライアントとしての役割を果たす任意の種類の装置であって、クライアント(通常、ラップトップ型または携帯電話またはその他の携帯端末)は、クライアント/サーバモデルにおいてサーバとしての役割を持つ装置(通常は、例えば、デスクトップコンピュータ)であるサーバ12に対し、当該データ記憶部11c中のデータのすべての変更を送出する。(通常、装置自体のそれぞれのデータ記憶部の同期を取る2台の装置のうち、より高い演算能力を有する装置がサーバの役割を果たす。)
クライアント11およびサーバ12は、1つまたは2つ以上のそれぞれのアプリケーション実体を含み、さらに、(一般的な、すなわち、特定のアプリケーションに対して特殊化されない)それぞれの同期エージェント11b、12bを含む。サーバアプリケーション実体12aは、上記のサーバ同期エージェントばかりでなくサーバ同期エンジン12fに対してもインタフェースを可能にするという点で、クライアントアプリケーション実体11aとは異なっており、クライアント11には上記のサーバアプリケーション実体に相当するものがない。同様に、サーバ同期エージェント12cは、サーバ同期エンジン12fに対してもインタフェースを行うという点で、クライアント同期エージェント11cとは異なっている。クライアント/サーバアプリケーション実体11a、12aは、例えば、ビジネスマンが予約を記録しておくために利用するカレンダーアプリケーションである。予約がクライアント装置上で処理されると、予約情報がクライアント記憶部11cに新規ファイルとして記憶される。後に、クライアント11からの要求またはサーバ12からの指示があったときに、データ記憶部12cは、新規データ(すなわち新規ファイル)に関して、クライアントデータ記憶部11cと同期する。さらに、クライアントデータ記憶部11cのディレクトリ構造に変更が加えられた場合、ここでは、ディレクトリ構造に関して、その後再び、クライアントデータ記憶部11cおよびサーバデータ記憶部12c間の同期を取る必要がある(この場合、ディレクトリ構造に関して、すなわち、アプリケーションのデータを保持するためにどのフォルダを使用するかに関して)。また一方で、サーバデータ記憶部12cに対して、アプリケーション11a、12aのフォルダまたはデータユニットのいずれか一方に対する変更を含むような任意の変更を加えるときは、SyncMLメッセージの交換により、クライアントデータ記憶部11cおよびサーバデータ記憶部12c間の同期を取る必要がある。
さらに図1を参照すると、SyncMLメッセージは、例えばhypertext transport protocol(ハイパーテキスト・トランスポート・プロトコル:HTTP)、wireline session protocol(ワイヤライン・セッション・プロトコル:WSP)およびobject exchange protocol(オブジェクト・エクスチェンジ・プロトコル:OBEX)を含む種々のトランスポート接続14に従って通信することができる。(トランスポート接続は、無線接続または有線接続のいずれかを含むような任意の物理層接続を用いて提供してよい。)図に示すように、サーバ12がSyncMLメッセージをクライアント11(あるいはその逆)に伝達するとき、サーバ同期エージェント12bは、トランスポート接続14を介してSyncMLメッセージを順次クライアント11に送出するサーバ同期アダプタ12eに対してメッセージを送出するために、同期インタフェース(I/F)を使用する。クライアント同期アダプタ11eは、受信端においてSyncMLメッセージを受信し、このメッセージを順次クライアント同期エージェント11bに送出するクライアント同期I/Fに対して、当該メッセージを送出する。
ここでは、(同一データユニットが各々の装置の同一または相当するフォルダに存在するようにし、かつ、対応する各々のデータユニットの内容も同一となるように)データユニットだけでなくフォルダの変更に関してデータ記憶部11c、12c間の同期を取ることとする。このために、本発明は、データユニットの変更に使用されるものと同一のコマンドであって、フォルダに変更を加えるコマンドを使用するSyncMLを有している。これによって、演算要素(プロトコル命令要素)を搬送するメッセージを発行することによりフォルダに変更を加える。この演算要素としては、影響を受けるフォルダがここでいうデータ識別要素内で参照されるSync、Add、ReplaceおよびDeleteが挙げられ、上記データ識別要素は、データ要素の外部にあるターゲット要素またはソース要素のいずれかを意味する。データユニットに変更を加えるためには、従来技術によるSyncMLでは、演算要素におけるデータ要素内のデータユニットを参照するメッセージを必要とする。本発明が、影響を受けるフォルダを参照するための他の考えられる構成より有利な点は、データ要素(すなわち、データ記述要素)の外部の影響を受けるフォルダの参照を利用するという点にある(すなわち、SyncMLが各アプリケーションによって解析することを可能にする符号を複製する必要がなく、それぞれ異なるアプリケーションのデータユニットを解釈するための符号を、各同期エージェント内に含む必要がない点)。
ここで、図2を参照すると、本発明によれば、データ記憶部11c、12cを同期させる過程で影響を受けるフォルダ(および当該フォルダによるディレクトリに関するデータ構成)は、データ要素28、29(すなわちデータ記述要素の特定の型)の外部の(すなわち、データ要素28、29に含まれない)プロトコルコマンド要素25(Replace等)のソース要素26およびターゲット要素27のLocURI中で識別されて表示される。ターゲットおよびソース要素は両者とも、ここでいう識別要素であって、データユニットを含むデータ要素28、29と対比される。一般的に、本発明によるデータ識別要素は、プロトコルコマンド要素24に順次埋め込まれた非データ要素コンテナ(項目要素等)に埋め込まれる。プロトコルコマンド要素24は、SyncHdrコンテナ要素22とともにSyncBodyコンテナ要素23の一部として搬送され、両者はSyncMLコンテナ要素すなわちSyncMLメッセージ21に含まれる。
データユニットおよびフォルダの双方に変更が加えられた場合は、まずフォルダの同期を取り、最初にフォルダに変更を加えた後にデータユニットに変更を加えるようにメッセージを定式化しなければならない。(データユニットまたはフォルダに対する)変更はそれぞれ、演算要素を介して実行される。フォルダに対する変更が、データユニットに対するいかなる変更よりも先になされるように構成しなければならない。
このように、本発明によれば、メッセージ中のフォルダの変更を送出したとき、例えばクライアントに新規フォルダを付加したときは、演算要素“add”のデータ要素(すなわち、データ記述要素の特定の型)は空白(empty )の状態にされるか、または、このような演算要素(“add”)はメッセージ中に表示されず、フォルダ情報(フォルダIDまたはフルパス(full path )名)は、すべてのデータ要素の外部にあるデータ識別要素(ソース要素またはターゲット要素)のLocURI内で搬送される。
以下の〔表1〕のSycnMLメッセージフラグメントは、Replaceコマンド中で、識別子7を有するフォルダであって識別子1を有するフォルダ内に配置されたフォルダのアドレス指定を行う方法を示す。
Figure 0004405812
(フォルダ自体とは異なる)フォルダ内のデータユニットのアドレス指定を行うと、フォルダの識別子およびディレクトリ構造のルートに関するフォルダのパス(木構造の場合)は、演算要素すなわちプロトコルコマンド要素(ReplaceまたはDelete等)のターゲットおよびソース共通要素型のLocURI内に転送される。下記の〔表2〕の例は、フォルダ7が識別子1を有するフォルダ内に配置されたとき、識別子7を有するフォルダにおける123の局所固有識別子(locally unique identifier:LUID)を有する項目のアドレス指定を行う方法を示す。
Figure 0004405812
下記の〔表3〕は、本発明によるSyncMLメッセージの一例を示し、このメッセージは、(クライアントまたはサーバのいずれかである)受信側端フォルダ情報を作成するために用いられる演算要素(コマンド)を含む。この例の中ではクリアテキスト(clear text:XML)が使用されている。無線環境においては、クリアテキストXMLは使用されず、代わりにWBXML(無線バイナリXML)が使用されるであろう。
Figure 0004405812
上記のSyncMLメッセージのフラグメントは、「マイフォルダ(My folder)」という名称を得るために、./100/のLocURIを有するフォルダの名称を新たに付与する。
同期
本発明によれば、(双方向)同期は、例えば以下のように増補した仕様であるSyncML同期プロトコルのバージョン1.1に記述されているように行うことができる。
前述の同期後にクライアントのフォルダへの修正が存在する場合は、同期要素内の演算要素(例えば、Replace、AddおよびDelete)に関する下記の要求事項を満たさなければならない。
第1に、フォルダ情報の送出は、メッセージオブジェクトの送出前に行わなければならない。換言すれば、フォルダ情報の送出は、メッセージオブジェクトに対する任意の修正を規定したコマンドを指定する前に、Replaceコマンドを修正パッケージの中で指定しなければならない。
データ要素は、Item(項目)の要素に対して指定してはならない。
動作が削除でない場合、Itemの要素のメタ(meta)要素内のMark(マーク)の要素は、フォルダに関する情報(例えば、フォルダの型)を伝達するために使用されなければならない。
動作が削除でない場合、Itemの要素のソース(source)要素内のLocNameの要素は、表示可能なフォルダ名を指定しなければならない。
Itemの要素のソース要素内のLocNameの要素は、フォルダ識別子およびフォルダのパス全体を指定しなければならない。すなわち、すべての可能なサブフォルダ識別子もまた、LocURIの要素内で指定されなければならない。フォルダ識別子はスラッシュ文字(‘/’)で区切らなければならない。
前述の同期後のクライアント中のメッセージオブジェクトに修正がある場合には、同期要素内の演算要素に関する下記の要求事項を満たさなければならない。
動作が削除でない場合、Itemの要素のソース要素内のLocNameの要素は、表示可能なメッセージ名を指定しなければならない。
動作が削除でない場合、Itemの要素のメタ要素内のMarkの要素は、メッセージ(例えば、読み取り/非読み取り情報)の状況に関する情報を伝達するために使用されなければならない。
Itemの要素のソース内のLocURIは、パス全体を含む項目の識別子を指定しなければならない。すなわち、すべての可能なフォルダおよびサブフォルダの識別子もまた、LocURIの要素内で指定されなければならない。項目識別子(すなわち、LUID)は常に、LocURIの要素内の最終値として提示されなければならない。フォルダ識別子はスラッシュ(‘/’)で区切らなければならない。
下記の〔表4〕および〔表5〕に示すものは、修正をサーバに送出するクライアントの例である。
Figure 0004405812
Figure 0004405812
前述の同期後のサーバのフォルダ構造に修正がある場合には、同期要素内の演算要素に関する下記の要求事項を満たさなければならない。
フォルダ情報の送出は、全てのメッセージオブジェクトの送出前に行わなければならない。換言すれば、フォルダ情報の送出は、メッセージオブジェクトに対する修正を規定したコマンドを指定する前に、Replaceコマンドを修正パッケージの中で指定しなければならない。
データ要素は、項目要素に対して指定してはならない。
動作が削除でない場合、Itemの要素のメタ要素内のMarkの要素は、フォルダに関する情報(例えば、フォルダの型)を伝達するために使用されなければならない。
動作が削除でない場合、Itemの要素のTarget(ターゲット)内のLocNameの要素は、表示可能なフォルダ名を指定しなければならない。
動作が追加である場合、ソース要素のLocNameの要素は、表示可能なフォルダ名を指定しなければならない。
Itemの要素のターゲット内のLocURIは、クライアント側フォルダ識別子およびフォルダのパス全体を指定しなければならない。すなわち、すべての可能なサブフォルダの識別子もまた、LocURIの要素内で指定されなければならない。フォルダ識別子はスラッシュ文字(‘/’)で区切らなければならない。
動作が追加である場合、ソース要素のLocURIはサーバ側フォルダ識別子およびパスを指定しなければならない。ターゲット要素のLocURIはクライアントのフォルダパスを指定しなければならない。フォルダ識別子はターゲットLocURI内で指定されてはならない。前述の同期後のサーバのメッセージオブジェクトに何らかの修正がある場合には、同期要素内の演算要素に関する以下の要求事項を満たさなければならない。
動作が追加である場合、Itemの要素のソース要素内のLocNameの要素は、表示可能なメッセージ名を指定しなければならない。Itemの要素のソース要素内のLocNameの要素は、パス全体を含む項目の識別子を指定しなければならない。すなわち、すべての可能なフォルダおよびサブフォルダの識別子もまた、LocURIの要素内で指定されなければならない。項目識別子(すなわち、LUID)は常に、LocURIの要素内の最終値として提示されなければならない。フォルダ識別子はスラッシュ(‘/’)で区切らなければならない。ターゲット要素のLocURIはクライアントのフォルダパスを指定しなければならないが、項目識別子はTargetのLocURI内で指定されてはならない。
動作が修正である場合、Itemの要素のターゲット要素内のLocNameの要素は、表示可能なメッセージ名を指定しなければならない。Itemの要素のターゲット要素内のLocNameの要素は、パス全体を含む項目識別子を指定しなければならない。すなわち、すべての可能なフォルダおよびサブフォルダの識別子もまた、LocURIの要素内で指定されなければならない。項目識別子(すなわち、LUID)は常に、LocURIの要素内の最終値として提示されなければならない。フォルダ識別子はスラッシュ(‘/’)で区切らなければならない。
動作が削除である場合、Itemの要素のソース要素内のLocURIは、クライアントのパス全体を含むクライアント側項目識別子を指定しなければならない。すなわち、すべての可能なフォルダおよびサブフォルダの識別子もまた、LocURIの要素内で指定されなければならない。フォルダ識別子はスラッシュ(‘/’)で区切らなければならない。
動作が削除でない場合、Itemの要素のメタ要素内のMarkの要素は、メッセージ(例えば、読み取り/非読み取り情報)の状況に関する情報を伝達するために使用されなければならない。
下記の〔表6〕および〔表7〕に示すものは、修正をクライアントに送出するサーバの例である。
Figure 0004405812
Figure 0004405812
コマンド識別子(ID)5を有する上記コマンドにおいて、サーバは、「マイオウンメッセージ(My Own Messages)」という名称のフォルダに関する./4044/223/のglobally unique identifier(グローバリ・ユニーク・アイデンティファイア:GUID)を使用する。SyncML同期プロトコル(基準)のバージョン1.1の5.3項の説明のように、クライアント同期エージェントは、フォルダに対しLUIDを割り当て、その後、(クライアントの)LUIDが(サーバの)GUIDとどのような関係を有しているかについて示すマップを、サーバに返送する(5.3.1項の例を参照のこと)。
いくつかのフォルダ処理
既に説明したように、フォルダは、同期セッションにおける単なる他のオブジェクトにすぎない。ユーザがクライアント装置(例えば、ラップトップまたは携帯電話)において新規フォルダを作成した場合を例にとると、結果として、クライアントは、次の同期セッションにおいて新規フォルダに関する情報を含むReplaceコマンドを送出しなければならない。本発明によれば、このReplaceコマンドの送出は、以下の〔表8〕のSyncMLメッセージで行われる。
Figure 0004405812
受信側がデータ要素を含まない動作(すなわち、ReplaceまたはAdd)を受信した場合、この受信側は、上記動作はフォルダ処理の動作であると推定しなければならない。
フォルダの作成
フォルダの作成は、ReplaceまたはAddコマンドを指定することにより行われる。以下の〔表9〕の例は、(識別子1011を有するクライアント側受信箱フォルダを有する)クライアントの受信箱における、フォルダ識別子7を有する新規フォルダを作成する方法である。
Figure 0004405812
クライアントはサーバに対して、サーバがサーバフォルダの識別子をクライアントサーバの識別子に関連付ける方法を示すマッピング情報を返送しなければならない。さらに、サーバは、クライアントのフォルダ識別子を使用してフォルダを識別しなければならない。これによって、サーバから送られた演算要素のItem内のターゲット要素は、常にクライアント側フォルダパスを含んでいなければならない。
サーバ上で新規フォルダが作成されてメッセージがフォルダに追加された場合、サーバは、サーバ修正パッケージ中の第1メッセージ中のフォルダ演算(すなわち、フォルダ情報を含むAddコマンド)を送出しなければならない。ただし、最終フラグは、メッセージ中で指定されてはならない。クライアントはサーバに対し、フォルダ識別子マッピング情報を返送することができなければならない。この結果、サーバは、実際のメッセージを含むAdd演算のTarget内のクライアントフォルダ識別子を指定することができる。
フォルダ名の再付与
フォルダの表示名はLocNameの要素内で転送されるため、フォルダ名の再付与のための特別な動作はない。したがって、表示可能なフォルダ名が変更されたときは、Replaceコマンドを送出しなければならない。さらに、LocNameの要素はフォルダの新しい表示可能な名称を含んでいなければならない。
フォルダの移動
フォルダのパス全体はLocURIの要素内で転送されるため、フォルダ移動のための特別な動作はない。したがって、フォルダが他のフォルダに移動したときは、Replaceコマンドを送出しなければならない。さらに、新規フォルダパスはLocURIに含まれなければならない。新規フォルダがサーバ上で作成されて既存のフォルダが新規フォルダ内に移動した場合、まず、サーバはクライアントに新規フォルダを追加し、フォルダ識別子のマッピング情報を受信した後、さらに、既存のフォルダを移動させなければならない。すなわち、サーバは、新規クライアント側フォルダパスを含むReplaceコマンドを送出しなければならない。
アプリケーション要素、同期エレメントおよび同期エンジン間の協働関係
図1および図3に、データ構成(ディレクトリ構造)の変更に対応するためにクライアントおよびサーバアプリケーション11a、11b、同期要素11b、12bおよびサーバ同期エンジン12が協働する可能な1つの方式を示すが、これらの方式は本発明の主題ではない。理解すべき重要なことは、本発明が、クライアント同期要素およびサーバ同期要素11b、12bがデータ構成において変更せずに済むような情報を抽出するために、SyncMLメッセージをデータ要素レベルにまで解析する必要はないということを規定し、かつ、サーバおよびクライアントアプリケーション11a、11bが、データを追加したり交換したり削除したりすることができるようなそれぞれのデータ記憶部11c、12cにアクセスするために、ディレクトリ構造について何も理解する必要はないということを規定していることである。
しかしながら、図1および図3を再度参照すると、2台のデータ記憶部11c、12cの同期を取るための1つの構成では、第1のステップ31aにおいて、サーバ同期エージェント12bは、クライアント同期エージェント11bとのトランスポート接続を確立する(クライアント同期エージェントが行う逆の動作については、図3では触れていない)。次のステップ31bにおいて、クライアントアプリケーション11aは、クライアントデータ記憶部11cにおける最後の同期以後のクライアントデータ記憶部11cの変更を決定し(同一のデータ記憶部を共有するアプリケーションは1個以上あり得るが、1個のアプリケーションしかないと仮定する)、クライアント同期エージェントはデータ記憶部11cにおいて、同様の処理を実行する。さらに、次のステップ31cにおいて、同期エージェントは、上記に説明したように、データエレメントの外部のデータ識別要素により、影響を受けるフォルダを引用するために、データ識別要素を用いて、コマンド(プロトコルコマンド要素)にフォルダの変更を設定する。次に、ステップ31dにおいて、アプリケーションは、データ記述要素(データ、項目またはメタ要素)を用いて、コマンドにデータユニット変更を設定する。次に、ステップ31eにおいて、同期エージェントはサーバ12に対し、データ記述要素およびデータ識別要素(すべてのデータ要素の外部にある)によりメッセージ包含コマンドを送出する。
次に、サーバ12で、次のステップ31fにおいて、同期エージェント12bは、すべてのデータ要素の外部にあるクライアントデータ識別要素により、任意のコマンドからフォルダ変更を抽出し、どのコマンドがクライアントデータ識別子を含んでいるかに基づいて、同期エンジン12fに対し、最後の同期後にどのような変更がクライアントデータ記憶部に対してなされたかを表示する。次のステップ31gにおいて、同期エンジンはフォルダの衝突を解消し、サーバ同期エージェント12bに対してネットフォルダ変更を提供し、サーバ同期エージェント12bは、サーバデータ記憶部12cに対して対応するフォルダ変更を提供し、その後、サーバ同期エージェントは(サーバ)同期エンジンに対して(クライアントによる任意のデータユニット変更を伝達する)メッセージの残りの部分を提供する。
次のステップ31hにおいて、同期エンジン12fは、クライアントデータ記憶部11cに対する変更がすべてサーバデータ記憶部12cに対して加えられた場合に発生するような、サーバデータ記憶部によるいかなるデータユニットの衝突をも解消し、サーバアプリケーション12aに対して、ネットデータユニット変更を提供する。次のステップ31iにおいて、サーバアプリケーションはサーバデータ記憶部12cに対し、表示されたデータユニット変更を加え、適切なコマンドにおいて、クライアントデータ記憶部11cに対してネットデータ変更を設定する。その後、次のステップ31jにおいて、サーバ同期エージェントは、クライアントデータ記憶部11cにおいてフォルダに加えられるべきネット変更を収集し、データ識別要素がメッセージ内のデータ要素の外部に設定された状態で、影響を受けるフォルダを表示するデータ識別要素を含むような対応するコマンドを付加する(その後、メッセージはクライアントに送出される)。
クライアント11がサーバメッセージを受信すると、次のステップ31kにおいて、クライアント同期エージェント11bは、コマンドを解析することにより、コマンドに含まれるいかなるデータ要素をも含まずに、すべてのフォルダ変更を抽出する。これによって、クライアント同期エージェント11bはクライントデータ記憶部11cを変更し、アプリケーション11aに対してデータユニット変更のためのすべてのコマンドを提供する。最後にステップ31mにおいて、アプリケーション11aは、クライアント同期エージェント11bにより提供されたコマンドに従って、クライアントデータ記憶部11cを変更する。
発明の範囲
これまで述べた構成は本発明の原理の実施例にすぎないことを理解されたい。本発明の範囲から逸脱することなく、非常に多くの変形および代替的な構成を当業者により考え出すことが可能である。また一方で、特許請求の範囲の従属形式の請求項は、このような変形および代替的な構成の範囲を含むように意図されたものである。
本発明による、それぞれのデータ記憶部の間の同期を取るためにSyncMLメッセージを交換するクライアント(携帯電話等)およびサーバ(ネットワークサーバまたはパーソナルコンピュータ等)のブロック図およびフロー図である。 本発明によるSyncMLメッセージの概略図である。 本発明に従って構成されたメッセージを使用して同期を取る際のクライアントおよびサーバの複数の構成要素間の協働関係の構成を示すフローチャートである。 (従来技術による)ディレクトリ構造の概略図である。

Claims (27)

  1. 第1装置により、第1装置の第1データ記憶部にデータを格納するために使うことができるフォルダと関連した修正を示す情報を含むメッセージを準備するステップであって、前記メッセージは、各々が1つ以上要素を含んだヘッダとボディを含み、前記第1データ記憶部を第2装置の第2データ記憶部と同期させることに結びついたコマンドを提供するのに使用できるボディ要素を有し、また、第1データ記憶部からデータを伝達するためにも使うことができる、ステップと、
    前記フォルダと結びついた前記修正に関して、前記第2装置の第2データ記憶部を同期させるために、前記第1装置により、前記第2装置にメッセージを送るステップであって、前記フォルダと結びついた前記修正を示す前記情報が、前記フォルダをユニークに識別する識別要素を含みデータを含まないコマンドを含む、ステップと、
    を含む方法。
  2. 前記識別要素は、前記コマンドのフィールドに置かれている、請求項1に記載の方法。
  3. 前記修正が、前記フォルダではなく、むしろデータと結びついている場合には、前記第1データ記憶部のデータは、前記コマンドのフィールドに置かれる、請求項1に記載の方法。
  4. 前記識別要素は、目標要素とソース要素のうちの少なくとも1つを備える、請求項1に記載の方法。
  5. 前記メッセージがsyncMLメッセージであり、前記コマンドがsyncMLプロトコル・コマンド要素である、請求項1に記載の方法。
  6. 前記識別要素がLocURI要素を含む、請求項5に記載の方法。
  7. 前記第1装置は、クライアント/サーバプロトコルにおいて、クライアントとして機能し、前記第2装置は、前記クライアント/サーバプロトコルにおいて、サーバとして機能する、請求項1に記載の方法。
  8. 前記第1装置は、クライアント/サーバプロトコルにおいて、サーバとして機能し、前記第2装置は前記クライアント/サーバプロトコルにおいて、クライアントとして機能し、前記メッセージを準備する際に、前記第1装置が、第2装置からのクライアントメッセージに応答し、前記第1データ記憶部に関して、前記クライアントメッセージが引き起こすいかなる衝突をも解消することを含む、請求項1に記載の方法。
  9. 前記第1データ記憶部および前記第1データ記憶部に記憶されている前記データは、前記装置および前記第2装置がホストであるアプリケーションによる装置管理のために使用される、請求項1に記載の方法。
  10. 前記第1データ記憶部および前記第1データ記憶部に記憶されている前記データは、前記第1装置および前記第2装置がホストであるアプリケーションによるユーザデータとして使用される、請求項1に記載の方法。
  11. コンピュータプロセッサによる実行に使用されるコンピュータプログラムコードを具体化したコンピュータ読み取り可能な記憶構造体を有し、前記コンピュータプログラムコードが下記ステップを実行すべき旨の命令を含む、コンピュータプログラムであって、該コンピュータプログラムは、
    第1装置に、第1装置の第1データ記憶部にデータを格納するために使うことができるフォルダと関連した修正を示す情報を含むメッセージを準備させるステップであって、前記メッセージは、各々が1つ以上要素を含んだヘッダとボディを含み、前記第1データ記憶部を第2装置の第2データ記憶部と同期させることに結びついたコマンドを提供するのに使用できるボディ要素を有し、また、第1データ記憶部からデータを伝達するためにも使うことができる、ステップと、
    前記フォルダと結びついた前記修正に関して、前記第2装置の第2データ記憶部を同期させるために、前記第1装置に、前記第2装置へメッセージを送らせるステップであって、前記フォルダと結びついた前記修正を示す前記情報が、前記フォルダをユニークに識別する識別要素を含みデータを含まないコマンドを含む、ステップと、
    を実行させる、コンピュータプログラム。
  12. データを格納するために使うことができるフォルダを格納するためのデータ記憶部と、
    前記データ記憶部内のフォルダを示す情報を含むメッセージを準備するための手段であって、前記メッセージは、各々が1つ以上要素を含んだヘッダとボディを含み、前記データ記憶部を別の装置の別のデータ記憶部と同期させることに結びついたコマンドを提供するのに使用できるボディ要素を有し、また、前記データ記憶部からデータを伝達するためにも使うことができる、手段と、
    を備える装置であって、
    前記フォルダと結びついた前記修正を示す前記情報が、前記フォルダをユニークに識別する識別要素を含みデータを含まないコマンドを含む、装置。
  13. 前記装置は、無線通信端末または有線通信端末のいずれか一方である、請求項12に記載の装置。
  14. クライアント/サーバモデルにおいて、クライアントとして機能するように構成される請求項12に記載の装置。
  15. 前記装置は、クライアント/サーバモデルにおいて、サーバとして機能するように構成され、
    前記装置は、さらに、前記別の装置から同期させるべき旨の要求を受け取って、前記同期させるべき旨の要求に応答して、前記メッセージを伝達する手段を備える、請求項12に記載の装置。
  16. 前記別の装置から前記別のデータ記憶部のフォルダを示す情報を含むメッセージを受信する手段をさらに備える請求項12に記載の装置であって、
    前記メッセージは、各々が1つ以上要素を含んだヘッダとボディを含み、前記別のデータ記憶部を前記装置の前記データ記憶部と同期させることに結びついたコマンドを提供するのに使用できるボディ要素を有し、また、データ記憶部からデータを伝達するためにも使うことができ、
    前記装置は、クライアント/サーバモデルにおいて、サーバとして機能するように構成され、前記メッセージが引き起こすいかなる衝突をも解消する手段を備える、装置。
  17. 前記データ記憶部の前記データは、前記装置にホストされるアプリケーションにより装置管理のために使用される、請求項12に記載の装置。
  18. 前記データ記憶部のデータが、前記装置にホストされるアプリケーションにより利用者データとして使用される、請求項12に記載の装置。
  19. 請求項12に記載の装置を備え、前記別のデータ記憶部をホストする前記別の装置をも備える、システム。
  20. 前記装置は、クライアント/サーバモデルにおいて、サーバとして機能するように構成され、前記別の装置は、クライアント/サーバモデルにおいて、クライアントとして機能する、請求項19に記載のシステム。
  21. 前記装置は、前記別の装置から送出される前記別の装置に同期させるべき旨の要求に応答して、前記別の装置にメッセージを送るように構成される、請求項20に記載のシステム。
  22. データを格納するために使うことができるフォルダを格納するためのデータ記憶部と、
    前記データ記憶部内のフォルダを示す情報を含むメッセージを準備する同期エージェントであって、前記メッセージは、各々が1つ以上要素を含んだヘッダとボディを含み、前記データ記憶部を別の装置の別のデータ記憶部と同期させることに結びついたコマンドを提供するのに使用できるボディ要素を有し、また、前記データ記憶部からデータを伝達するためにも使うことができる、同期エージェントと、
    を備える装置であって、
    前記フォルダと結びついた前記修正を示す前記情報が、前記フォルダをユニークに識別する識別要素を含みデータを含まないコマンドを含む、装置。
  23. 前記装置は、無線通信端末または有線通信端末のいずれかである、請求項22に記載の装置。
  24. 前記装置は、クライアント/サーバモデルにおいて、クライアントとして機能するように構成される、請求項22に記載の装置。
  25. 前記装置は、クライアント/サーバモデルにおいて、サーバとして機能するように構成され、
    前記装置は、さらに、前記別の装置から同期させるべき旨の要求を受け取って、次に、前記同期させるべき旨の要求に応答して、前記メッセージを伝達する同期アダプタを備える、請求項22に記載の装置。
  26. 前記同期アダプタは、前記別のデータ記憶部のフォルダを示す情報を含むメッセージを前記第2装置から受信するように構成され、
    前記メッセージは、また、各々が1つ以上要素を含んだヘッダとボディを含み、前記別のデータ記憶部を前記装置の前記データ記憶部と同期させることに結びついたコマンドを提供するのに使用できるボディ要素を有し、また、前記別のデータ記憶部からデータを伝達するためにも使うことができ、
    クライアント/サーバモデルにおいて、前記装置は、サーバとして機能し、かつ、前記同期エージェントは、前記メッセージが引き起こす衝突を解消するように構成される、請求項22に記載の装置。
  27. 前記データ記憶部の前記データは、前記装置にホストされるアプリケーションにより装置管理のために使用される、請求項22に記載の装置。
JP2003581039A 2002-04-02 2003-03-26 第1データ記憶部と第2データ記憶部との間で同期を取るための方法および装置 Expired - Lifetime JP4405812B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/115,268 US6721871B2 (en) 2002-04-02 2002-04-02 Method and apparatus for synchronizing data stores with respect to changes in folders
PCT/IB2003/001097 WO2003083684A1 (en) 2002-04-02 2003-03-26 Method and apparatus for synchronizing how data is stored in different data stores

Publications (3)

Publication Number Publication Date
JP2005521946A JP2005521946A (ja) 2005-07-21
JP2005521946A5 JP2005521946A5 (ja) 2006-03-23
JP4405812B2 true JP4405812B2 (ja) 2010-01-27

Family

ID=28673745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003581039A Expired - Lifetime JP4405812B2 (ja) 2002-04-02 2003-03-26 第1データ記憶部と第2データ記憶部との間で同期を取るための方法および装置

Country Status (8)

Country Link
US (2) US6721871B2 (ja)
EP (1) EP1490779A4 (ja)
JP (1) JP4405812B2 (ja)
KR (1) KR100994139B1 (ja)
CN (1) CN1656468B (ja)
AU (1) AU2003212573A1 (ja)
RU (1) RU2337398C2 (ja)
WO (1) WO2003083684A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9686205B2 (en) 2013-11-29 2017-06-20 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US9871860B2 (en) 2008-11-26 2018-01-16 Calgary Scientific Inc. Method and system for providing remote access to a state of an application program
US9986012B2 (en) 2011-08-15 2018-05-29 Calgary Scientific Inc. Remote access to an application program
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US11310348B2 (en) 2015-01-30 2022-04-19 Calgary Scientific Inc. Highly scalable, fault tolerant remote access architecture and method of connecting thereto

Families Citing this family (179)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
KR100317303B1 (ko) * 2000-01-10 2001-12-22 구자홍 방송 프로그램 녹화 및 재생시 a/v와 데이터간 동기화장치
EP1225516A1 (en) * 2001-01-22 2002-07-24 Sun Microsystems, Inc. Storing data of an XML-document in a relational database
US7743119B2 (en) 2001-08-07 2010-06-22 Motorola, Inc. System and method for mapping identification codes
US7596565B2 (en) * 2001-08-07 2009-09-29 Good Technology System and method for maintaining wireless file folders at a wireless device
US7962622B2 (en) 2001-08-07 2011-06-14 Motorola Mobility, Inc. System and method for providing provisioning and upgrade services for a wireless device
US7155483B1 (en) 2001-08-07 2006-12-26 Good Technology, Inc. Apparatus and method for conserving bandwidth by batch processing data transactions
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
US8290505B2 (en) 2006-08-29 2012-10-16 Telecommunications Systems, Inc. Consequential location derived information
US7426380B2 (en) 2002-03-28 2008-09-16 Telecommunication Systems, Inc. Location derived presence information
US8126889B2 (en) 2002-03-28 2012-02-28 Telecommunication Systems, Inc. Location fidelity adjustment based on mobile subscriber privacy profile
US9154906B2 (en) 2002-03-28 2015-10-06 Telecommunication Systems, Inc. Area watcher for wireless network
US8027697B2 (en) * 2007-09-28 2011-09-27 Telecommunication Systems, Inc. Public safety access point (PSAP) selection for E911 wireless callers in a GSM type system
US8918073B2 (en) 2002-03-28 2014-12-23 Telecommunication Systems, Inc. Wireless telecommunications location based services scheme selection
US7447799B2 (en) * 2002-04-24 2008-11-04 Good Technology, Inc. System and method for automatically updating a wireless device
US7076567B1 (en) * 2002-04-25 2006-07-11 Oracle International Corporation Simplified application object data synchronization for optimized data storage
US7606881B2 (en) * 2002-04-25 2009-10-20 Oracle International Corporation System and method for synchronization of version annotated objects
US7747561B1 (en) * 2002-05-02 2010-06-29 Palmsource Inc. Synchronization protocol for synchronizing data between nodes
US7428544B1 (en) 2002-06-10 2008-09-23 Microsoft Corporation Systems and methods for mapping e-mail records between a client and server that use disparate storage formats
US7031973B2 (en) * 2002-06-10 2006-04-18 Microsoft Corporation Accounting for references between a client and server that use disparate e-mail storage formats
US9813514B2 (en) 2002-06-12 2017-11-07 Good Technology Holdings Limited Information repository system including a wireless device and related method
US20030236842A1 (en) * 2002-06-21 2003-12-25 Krishnamurti Natarajan E-mail address system and method for use between disparate client/server environments
WO2004004276A1 (en) * 2002-06-28 2004-01-08 Nokia Corporation Method and device for retrieving data store access information
US8516034B1 (en) 2002-07-08 2013-08-20 Good Technology Software, Inc System and method for modifying application behavior based on network bandwidth
US7222139B2 (en) * 2002-07-30 2007-05-22 International Business Machines Corporation Method, system and program for synchronizing data
US7787489B2 (en) * 2002-10-07 2010-08-31 Oracle International Corporation Mobile data distribution
WO2004046963A1 (en) * 2002-11-21 2004-06-03 Nokia Corporation Method and device for defining objects allowing to establish a device management tree for mobile communication devices
US7216133B2 (en) * 2003-07-29 2007-05-08 Microsoft Corporation Synchronizing logical views independent of physical storage representations
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7401104B2 (en) * 2003-08-21 2008-07-15 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US20050055698A1 (en) * 2003-09-10 2005-03-10 Sap Aktiengesellschaft Server-driven data synchronization method and system
US7389324B2 (en) 2003-11-07 2008-06-17 Plaxo, Inc. Viral engine for network deployment
US7080104B2 (en) 2003-11-07 2006-07-18 Plaxo, Inc. Synchronization and merge engines
US20070180127A1 (en) 2003-11-11 2007-08-02 Nokia Corporation Preconfigured syncml profile categories
US7424293B2 (en) 2003-12-02 2008-09-09 Telecommunication Systems, Inc. User plane location based service using message tunneling to support roaming
US7260186B2 (en) 2004-03-23 2007-08-21 Telecommunication Systems, Inc. Solutions for voice over internet protocol (VoIP) 911 location services
US20080126535A1 (en) 2006-11-28 2008-05-29 Yinjun Zhu User plane location services over session initiation protocol (SIP)
US20080090546A1 (en) 2006-10-17 2008-04-17 Richard Dickinson Enhanced E911 network access for a call center using session initiation protocol (SIP) messaging
US7797386B2 (en) * 2004-02-27 2010-09-14 Research In Motion Limited System and method for remotely configuring a desktop mailbox
US7433936B2 (en) * 2004-03-11 2008-10-07 Microsoft Corporation Connectivity objects under a mobile device management tree
US20050240680A1 (en) * 2004-04-27 2005-10-27 Jose Costa-Requena Method and apparatus for a life management server
US7778962B2 (en) * 2004-04-30 2010-08-17 Microsoft Corporation Client store synchronization through intermediary store change packets
US7395446B2 (en) * 2004-05-03 2008-07-01 Microsoft Corporation Systems and methods for the implementation of a peer-to-peer rule-based pull autonomous synchronization system
US20050262166A1 (en) * 2004-05-05 2005-11-24 Microsoft Corporation Method and system for synchronizing data between electronic devices
US20050273472A1 (en) * 2004-06-04 2005-12-08 Prakash Reddy Verifying incremental updates to hierarchicaly structured information
US7672978B2 (en) * 2004-08-20 2010-03-02 Nokia Corporation Handling of content in a data processing device
US7702669B2 (en) 2004-09-02 2010-04-20 Ringcentral, Inc. Synchronization in unified messaging systems
US6985105B1 (en) 2004-10-15 2006-01-10 Telecommunication Systems, Inc. Culled satellite ephemeris information based on limiting a span of an inverted cone for locating satellite in-range determinations
US7629926B2 (en) 2004-10-15 2009-12-08 Telecommunication Systems, Inc. Culled satellite ephemeris information for quick, accurate assisted locating satellite location determination for cell site antennas
US20060136473A1 (en) * 2004-12-20 2006-06-22 Lamb James A Service data organization
CN100388209C (zh) * 2005-01-05 2008-05-14 英业达股份有限公司 防止数据处理混乱的方法
US7996493B2 (en) * 2005-03-10 2011-08-09 Microsoft Corporation Framework for managing client application data in offline and online environments
US20060212543A1 (en) * 2005-03-21 2006-09-21 Dexterra, Inc. Modular applications for mobile data system
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
US8117277B2 (en) * 2005-04-27 2012-02-14 Microsoft Corporation Component based infrastructure for sharing files
US7634514B2 (en) * 2005-05-09 2009-12-15 Microsoft Corporation Synchronizing file system directories
US7734737B2 (en) * 2005-05-26 2010-06-08 Nokia Corporation Device management with configuration information
NO20052719D0 (no) * 2005-06-06 2005-06-06 Ericsson Telefon Ab L M Synkronisering av informasjonsenheter med tilhorende referanser
US8849968B2 (en) 2005-06-20 2014-09-30 Microsoft Corporation Secure and stable hosting of third-party extensions to web services
US8401002B2 (en) 2005-06-22 2013-03-19 Research In Motion Limited Exchange and use of globally unique device identifiers for circuit-switched and packet switched integration
US8626128B2 (en) 2011-04-07 2014-01-07 Microsoft Corporation Enforcing device settings for mobile devices
US8660573B2 (en) 2005-07-19 2014-02-25 Telecommunications Systems, Inc. Location service requests throttling
CA2513010A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method for detecting state changes between data stored in a first computing device and data retrieved from a second computing device
CA2513022A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited System and method for communicating state management between a browser user-agent and a mobile data server
CA2513016A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A secure method of synchronizing cache contents of a mobile browser with a proxy server
CA2513019A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method for communicating state information between a server and a mobile device browser with version handling
CA2513014A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited A method of controlling delivery of multi-part content from an origin server to a mobile device browser via a proxy server
CA2513018A1 (en) * 2005-07-22 2007-01-22 Research In Motion Limited Method for training a proxy server for content delivery based on communication of state information from a mobile device browser
US20070049288A1 (en) * 2005-08-24 2007-03-01 Lamprecht Leslie J Creating optimum temporal location trigger for multiple requests
US20070077920A1 (en) * 2005-09-15 2007-04-05 Phillip Weeks Methods, systems and computer program products for aggregating communications and media data
US9282451B2 (en) 2005-09-26 2016-03-08 Telecommunication Systems, Inc. Automatic location identification (ALI) service requests steering, connection sharing and protocol translation
US7825780B2 (en) 2005-10-05 2010-11-02 Telecommunication Systems, Inc. Cellular augmented vehicle alarm notification together with location services for position of an alarming vehicle
US7907551B2 (en) 2005-10-06 2011-03-15 Telecommunication Systems, Inc. Voice over internet protocol (VoIP) location based 911 conferencing
US8467320B2 (en) 2005-10-06 2013-06-18 Telecommunication Systems, Inc. Voice over internet protocol (VoIP) multi-user conferencing
US8074231B2 (en) 2005-10-26 2011-12-06 Microsoft Corporation Configuration of isolated extensions and device drivers
CN1956452B (zh) * 2005-10-27 2012-02-29 华为技术有限公司 一种实现数据同步的方法、系统、客户端及服务器
CN1794724A (zh) * 2005-10-27 2006-06-28 华为技术有限公司 在SyncML层实现数据同步的方法
US8015319B2 (en) * 2005-10-27 2011-09-06 Huawei Technologies Co., Ltd. Method, system, client and server for implementing data sync
KR100705238B1 (ko) * 2005-11-15 2007-04-06 엘지전자 주식회사 에러 체크 코드를 이용한 데이터 동기화 방법과 이를 위한이동 통신 단말기 및 서버
US8291101B1 (en) * 2005-12-08 2012-10-16 Juniper Networks, Inc. Synchronization of mutually shared data stored on network devices
US7653650B2 (en) * 2005-12-13 2010-01-26 International Business Machines Corporation Apparatus, system, and method for synchronizing change histories in enterprise applications
US7739234B1 (en) * 2005-12-15 2010-06-15 Teradata Us, Inc. Techniques for synchronizing data store tables
KR100765770B1 (ko) * 2006-01-23 2007-10-15 삼성전자주식회사 가상 장치를 이용한 휴대용 기기의 데이터 관리 방법, 장치및 사용자 인터페이스 방법
CN100493090C (zh) * 2006-01-25 2009-05-27 中国移动通信集团公司 移动终端与服务器之间的数据同步方法
US8150363B2 (en) 2006-02-16 2012-04-03 Telecommunication Systems, Inc. Enhanced E911 network access for call centers
US8059789B2 (en) 2006-02-24 2011-11-15 Telecommunication Systems, Inc. Automatic location identification (ALI) emergency services pseudo key (ESPK)
US7620392B1 (en) 2006-02-27 2009-11-17 Good Technology, Inc. Method and system for distributing and updating software in wireless devices
US7471236B1 (en) 2006-03-01 2008-12-30 Telecommunication Systems, Inc. Cellular augmented radar/laser detector
US7899450B2 (en) 2006-03-01 2011-03-01 Telecommunication Systems, Inc. Cellular augmented radar/laser detection using local mobile network within cellular network
US9167553B2 (en) 2006-03-01 2015-10-20 Telecommunication Systems, Inc. GeoNexus proximity detector network
CN100391168C (zh) * 2006-03-08 2008-05-28 华为技术有限公司 一种管理同步标记语言终端设备的方法、系统及终端
CN100450108C (zh) * 2006-03-23 2009-01-07 华为技术有限公司 一种采用数据同步处理电子邮件的系统、装置及方法
KR100782858B1 (ko) * 2006-04-11 2007-12-06 삼성전자주식회사 홈 네트워크 디바이스들의 컨텐츠를 동기화하는 방법 및장치
US8208605B2 (en) 2006-05-04 2012-06-26 Telecommunication Systems, Inc. Extended efficient usage of emergency services keys
CN101083537B (zh) * 2006-05-31 2011-10-05 华为技术有限公司 一种实现设备管理的方法、装置和系统
US7958270B2 (en) * 2006-06-09 2011-06-07 Laurent Frederick Sidon Distribution of files from mobile devices
US7577691B2 (en) * 2006-08-02 2009-08-18 Microsoft Corporation Extending hierarchical synchronization scopes to non-hierarchical scenarios
US20080057902A1 (en) * 2006-08-30 2008-03-06 Laurent Frederick Sidon Distribution of customized ringtones for mobile devices
US7966013B2 (en) 2006-11-03 2011-06-21 Telecommunication Systems, Inc. Roaming gateway enabling location based services (LBS) roaming for user plane in CDMA networks without requiring use of a mobile positioning center (MPC)
US7774464B2 (en) * 2006-12-28 2010-08-10 Nokia Corporation Automatic syncML client profile creation for new servers
US7761414B2 (en) * 2007-01-07 2010-07-20 Apple Inc. Asynchronous data synchronization amongst devices
US7660831B2 (en) * 2007-01-07 2010-02-09 Apple Inc. Synchronization methods and systems
US7778971B2 (en) 2007-01-07 2010-08-17 Apple Inc. Synchronization methods and systems
US8239504B2 (en) * 2007-01-07 2012-08-07 Apple Inc. Synchronization methods and systems
US7805403B2 (en) * 2007-01-07 2010-09-28 Apple Inc. Synchronization methods and systems
US20080163743A1 (en) * 2007-01-07 2008-07-10 Freedman Gordon J Synchronization methods and systems
US7739410B2 (en) * 2007-01-07 2010-06-15 Apple Inc. Synchronization methods and systems
US7751807B2 (en) * 2007-02-12 2010-07-06 Oomble, Inc. Method and system for a hosted mobile management service architecture
US8050386B2 (en) 2007-02-12 2011-11-01 Telecommunication Systems, Inc. Mobile automatic location identification (ALI) for first responders
US7716281B2 (en) * 2007-02-12 2010-05-11 Oomble, Inc. Method and system for transferring content from the web to mobile devices
US8024400B2 (en) 2007-09-26 2011-09-20 Oomble, Inc. Method and system for transferring content from the web to mobile devices
US20080195962A1 (en) * 2007-02-12 2008-08-14 Lin Daniel J Method and System for Remotely Controlling The Display of Photos in a Digital Picture Frame
US8789063B2 (en) 2007-03-30 2014-07-22 Microsoft Corporation Master and subordinate operating system kernels for heterogeneous multiprocessor systems
US8375086B2 (en) * 2007-05-31 2013-02-12 International Business Machines Corporation Shared state manager and system and method for collaboration
US8209540B2 (en) 2007-06-28 2012-06-26 Apple Inc. Incremental secure backup and restore of user settings and data
CN101355726A (zh) * 2007-07-25 2009-01-28 国际商业机器公司 基于多媒体消息传递服务的数据库同步方法和系统
US8185494B2 (en) * 2007-09-14 2012-05-22 Microsoft Corporation Data-driven synchronization
US8185087B2 (en) 2007-09-17 2012-05-22 Telecommunication Systems, Inc. Emergency 911 data messaging
US9130963B2 (en) 2011-04-06 2015-09-08 Telecommunication Systems, Inc. Ancillary data support in session initiation protocol (SIP) messaging
US7929530B2 (en) 2007-11-30 2011-04-19 Telecommunication Systems, Inc. Ancillary data support in session initiation protocol (SIP) messaging
US8068587B2 (en) 2008-08-22 2011-11-29 Telecommunication Systems, Inc. Nationwide table routing of voice over internet protocol (VOIP) emergency calls
US8892128B2 (en) 2008-10-14 2014-11-18 Telecommunication Systems, Inc. Location based geo-reminders
WO2010044837A1 (en) 2008-10-14 2010-04-22 Telecommunication Systems, Inc. Location based proximity alert
KR100935831B1 (ko) 2008-11-17 2010-01-08 우용태 복수의 이벤트 식별자가 포함된 데이타구조체를 이용한 데이타동기화 방법 및 상기 방법을 이용한 데이타 백업솔루션
US8799214B2 (en) 2008-11-21 2014-08-05 At&T Intellectual Property I, L.P. Methods, computer program products, and systems for automatically synchronizing directory structures across different applications
US8051209B2 (en) * 2008-11-26 2011-11-01 Microsoft Corporation Minimizing conflicts when synchronizing interrelated data between two systems
CN101778486B (zh) * 2008-11-27 2012-09-05 华为终端有限公司 设备管理服务器、客户端及目标操作对象定位方法
US20100153335A1 (en) 2008-12-12 2010-06-17 Microsoft Corporation Synchronizing multiple classes with disparate schemas in the same collection
US9301191B2 (en) 2013-09-20 2016-03-29 Telecommunication Systems, Inc. Quality of service to over the top applications used with VPN
US8867485B2 (en) 2009-05-05 2014-10-21 Telecommunication Systems, Inc. Multiple location retrieval function (LRF) network having location continuity
US20110145187A1 (en) * 2009-12-16 2011-06-16 Sap Ag Conflict framework for guided structure synchronization
US9026582B2 (en) * 2010-03-23 2015-05-05 Htc Corporation Device management methods and related apparatus for enhancing applicability of status messages in response to commands
US8315599B2 (en) 2010-07-09 2012-11-20 Telecommunication Systems, Inc. Location privacy selector
US8336664B2 (en) 2010-07-09 2012-12-25 Telecommunication Systems, Inc. Telematics basic mobile device safety interlock
US8942743B2 (en) 2010-12-17 2015-01-27 Telecommunication Systems, Inc. iALERT enhanced alert manager
US8688087B2 (en) 2010-12-17 2014-04-01 Telecommunication Systems, Inc. N-dimensional affinity confluencer
WO2012087353A1 (en) 2010-12-22 2012-06-28 Telecommunication Systems, Inc. Area event handling when current network does not cover target area
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
WO2012141762A1 (en) 2011-02-25 2012-10-18 Telecommunication Systems, Inc. Mobile internet protocol (ip) location
JP5548825B2 (ja) * 2011-02-28 2014-07-16 株式会社日立製作所 情報処理装置
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
US10600139B2 (en) * 2011-04-29 2020-03-24 American Greetings Corporation Systems, methods and apparatus for creating, editing, distributing and viewing electronic greeting cards
JP6164747B2 (ja) 2011-08-15 2017-07-19 カルガリー サイエンティフィック インコーポレイテッド 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法
US8649806B2 (en) 2011-09-02 2014-02-11 Telecommunication Systems, Inc. Aggregate location dynometer (ALD)
US9479344B2 (en) 2011-09-16 2016-10-25 Telecommunication Systems, Inc. Anonymous voice conversation
EP2761808A4 (en) 2011-09-30 2015-05-20 Calgary Scient Inc DECOUPLED APPLICATION WITH EXTENSIONS INTERACTIVE DIGITAL SURFACE LAYER FOR COLLABORATIVE REMOTE COMMON USE OF APPLICATIONS AND ANNOTATION
WO2013048551A1 (en) 2011-09-30 2013-04-04 Telecommunication Systems, Inc. Unique global identifier for minimizing prank 911 calls
RU2477884C1 (ru) * 2011-10-13 2013-03-20 Открытое акционерное общество "Концерн "Созвездие" Способ повышения скорости поиска данных с использованием адаптивных носителей данных
SG11201402546WA (en) 2011-11-23 2014-06-27 Calgary Scient Inc Methods ans systems for collaborative remote application sharing and conferencing
US9313637B2 (en) 2011-12-05 2016-04-12 Telecommunication Systems, Inc. Wireless emergency caller profile data delivery over a legacy interface
US9264537B2 (en) 2011-12-05 2016-02-16 Telecommunication Systems, Inc. Special emergency call treatment based on the caller
US8984591B2 (en) 2011-12-16 2015-03-17 Telecommunications Systems, Inc. Authentication via motion of wireless device movement
US9384339B2 (en) 2012-01-13 2016-07-05 Telecommunication Systems, Inc. Authenticating cloud computing enabling secure services
CA2865707A1 (en) 2012-03-02 2013-09-06 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (dll) injection
US8688174B2 (en) 2012-03-13 2014-04-01 Telecommunication Systems, Inc. Integrated, detachable ear bud device for a wireless phone
US9307372B2 (en) 2012-03-26 2016-04-05 Telecommunication Systems, Inc. No responders online
US9544260B2 (en) 2012-03-26 2017-01-10 Telecommunication Systems, Inc. Rapid assignment dynamic ownership queue
US9575816B2 (en) * 2012-03-29 2017-02-21 Via Technologies, Inc. Deadlock/livelock resolution using service processor
US9338153B2 (en) 2012-04-11 2016-05-10 Telecommunication Systems, Inc. Secure distribution of non-privileged authentication credentials
US9729673B2 (en) 2012-06-21 2017-08-08 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
CN110543461A (zh) * 2012-07-27 2019-12-06 三星电子株式会社 执行数据同步的终端及其方法
US9313638B2 (en) 2012-08-15 2016-04-12 Telecommunication Systems, Inc. Device independent caller data access for emergency calls
US9208346B2 (en) 2012-09-05 2015-12-08 Telecommunication Systems, Inc. Persona-notitia intellection codifier
CN103780464A (zh) * 2012-10-19 2014-05-07 深圳市中兴微电子技术有限公司 一种家庭网络内容处理方法和装置
US9456301B2 (en) 2012-12-11 2016-09-27 Telecommunication Systems, Inc. Efficient prisoner tracking
US9727268B2 (en) 2013-01-08 2017-08-08 Lyve Minds, Inc. Management of storage in a storage network
US8983047B2 (en) 2013-03-20 2015-03-17 Telecommunication Systems, Inc. Index of suspicion determination for communications request
US9282169B1 (en) * 2013-07-12 2016-03-08 Oxygen Cloud, Inc. Real-time user interaction-based alterations to the scope of data synchronization between client and remote devices
US9408034B2 (en) 2013-09-09 2016-08-02 Telecommunication Systems, Inc. Extended area event for network based proximity discovery
US9516104B2 (en) 2013-09-11 2016-12-06 Telecommunication Systems, Inc. Intelligent load balancer enhanced routing
US9479897B2 (en) 2013-10-03 2016-10-25 Telecommunication Systems, Inc. SUPL-WiFi access point controller location based services for WiFi enabled mobile devices
US9678678B2 (en) 2013-12-20 2017-06-13 Lyve Minds, Inc. Storage network data retrieval
US10243891B2 (en) * 2014-08-14 2019-03-26 Oath Inc. Cross-device integration system and method
CN105634925B (zh) * 2016-01-20 2018-11-09 北京乐动卓越科技有限公司 一种用户间可扩展的通信方法及系统
US11310314B1 (en) * 2017-07-28 2022-04-19 Zero Cognitive Systems, Inc. Automatic data synchronization across applications installed on multiple devices via mail server
RU2750642C2 (ru) * 2019-11-27 2021-06-30 Акционерное общество "Лаборатория Касперского" Система и способ регистрации уникального идентификатора мобильного устройства

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592664A (en) 1991-07-29 1997-01-07 Borland International Inc. Database server system with methods for alerting clients of occurrence of database server events of interest to the clients
US5392390A (en) 1992-04-10 1995-02-21 Intellilink Corp. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
CA2120381C (en) 1993-04-05 2005-07-26 Gregory Barton Vatt Distributed multi-outlet paging
US5758354A (en) 1995-04-28 1998-05-26 Intel Corporation Application independent e-mail synchronization
US5647002A (en) 1995-09-01 1997-07-08 Lucent Technologies Inc. Synchronization of mailboxes of different types
US5774717A (en) * 1995-12-15 1998-06-30 International Business Machines Corporation Method and article of manufacture for resynchronizing client/server file systems and resolving file system conflicts
US5806074A (en) * 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US5778389A (en) * 1996-05-23 1998-07-07 Electronic Data Systems Corporation Method and system for synchronizing computer file directories
US5948059A (en) 1997-03-21 1999-09-07 International Business Machines Corporation Method and apparatus for synchronizing multimedia messages in different servers
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US6018762A (en) 1998-03-31 2000-01-25 Lucent Technologies Inc. Rules-based synchronization of mailboxes in a data network
KR100521332B1 (ko) 1998-07-14 2006-03-09 삼성전자주식회사 외부 전자 장치들과 통신 가능한 카드 타입의 개인 정보 관리시스템 및 그의 통신 방법
GB2342258B (en) 1998-09-30 2003-07-23 Sony Uk Ltd Data symbol counting device synchronising device and method
US6480953B1 (en) * 1999-12-13 2002-11-12 International Business Machines Corporation Method and apparatus for ensuring system configuration data structure coherency across multiple controllers in a data storage system
KR100541756B1 (ko) 1999-12-17 2006-01-10 주식회사 케이티 무선통신 시스템에서 대용량 데이터 전송방법
US6820088B1 (en) * 2000-04-10 2004-11-16 Research In Motion Limited System and method for synchronizing data records between multiple databases
US6697805B1 (en) * 2000-04-14 2004-02-24 Microsoft Corporation XML methods and systems for synchronizing multiple computing devices
US20050055382A1 (en) * 2000-06-28 2005-03-10 Lounas Ferrat Universal synchronization
US20020059299A1 (en) * 2000-07-14 2002-05-16 Frederic Spaey System and method for synchronizing databases
US20020090934A1 (en) * 2000-11-22 2002-07-11 Mitchelmore Eliott R.D. Content and application delivery and management platform system and method
US8463744B2 (en) 2001-01-03 2013-06-11 International Business Machines Corporation Method and system for synchronizing data
US6941326B2 (en) * 2001-01-24 2005-09-06 Microsoft Corporation Accounting for update notifications in synchronizing data that may be represented by different data structures
US7395281B2 (en) * 2001-03-27 2008-07-01 British Telecommunications Public Limited Company File synchronisation
US6839564B2 (en) 2001-04-25 2005-01-04 Nokia Corporation Synchronization of database data
US20040093342A1 (en) * 2001-06-27 2004-05-13 Ronald Arbo Universal data mapping system
US20030078890A1 (en) * 2001-07-06 2003-04-24 Joachim Schmidt Multimedia content download apparatus and method using same
US7058948B2 (en) * 2001-08-10 2006-06-06 Hewlett-Packard Development Company, L.P. Synchronization objects for multi-computer systems
US7149813B2 (en) * 2001-08-14 2006-12-12 Microsoft Corporation Method and system for synchronizing mobile devices
US7526575B2 (en) * 2001-09-28 2009-04-28 Siebel Systems, Inc. Method and system for client-based operations in server synchronization with a computing device
US7570668B2 (en) * 2001-10-03 2009-08-04 Nokia Corporation Data synchronization
US7155521B2 (en) * 2001-10-09 2006-12-26 Nokia Corporation Starting a session in a synchronization system
KR100959019B1 (ko) 2003-02-14 2010-05-24 주식회사 케이티 SIP 기반의 프락시 서버에서의 SIP 메시지forking을 이용한 실시간 과금 데이터 수집 방법

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9871860B2 (en) 2008-11-26 2018-01-16 Calgary Scientific Inc. Method and system for providing remote access to a state of an application program
US10334042B2 (en) 2008-11-26 2019-06-25 Calgary Scientific Inc. Method and system for providing remote access to a state of an application program
US10965745B2 (en) 2008-11-26 2021-03-30 Calgary Scientific Inc. Method and system for providing remote access to a state of an application program
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US9986012B2 (en) 2011-08-15 2018-05-29 Calgary Scientific Inc. Remote access to an application program
US9992253B2 (en) 2011-08-15 2018-06-05 Calgary Scientific Inc. Non-invasive remote access to an application program
US10693940B2 (en) 2011-08-15 2020-06-23 Calgary Scientific Inc. Remote access to an application program
US9686205B2 (en) 2013-11-29 2017-06-20 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US9979670B2 (en) 2013-11-29 2018-05-22 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US10728168B2 (en) 2013-11-29 2020-07-28 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework
US11310348B2 (en) 2015-01-30 2022-04-19 Calgary Scientific Inc. Highly scalable, fault tolerant remote access architecture and method of connecting thereto

Also Published As

Publication number Publication date
CN1656468A (zh) 2005-08-17
US6721871B2 (en) 2004-04-13
US9594821B2 (en) 2017-03-14
KR20040099392A (ko) 2004-11-26
AU2003212573A1 (en) 2003-10-13
US20040225731A1 (en) 2004-11-11
JP2005521946A (ja) 2005-07-21
CN1656468B (zh) 2010-06-23
RU2337398C2 (ru) 2008-10-27
KR100994139B1 (ko) 2010-11-15
EP1490779A4 (en) 2008-06-18
WO2003083684A1 (en) 2003-10-09
US20030191827A1 (en) 2003-10-09
RU2004131856A (ru) 2005-05-10
EP1490779A1 (en) 2004-12-29

Similar Documents

Publication Publication Date Title
JP4405812B2 (ja) 第1データ記憶部と第2データ記憶部との間で同期を取るための方法および装置
US6694335B1 (en) Method, computer readable medium, and system for monitoring the state of a collection of resources
US8255359B2 (en) System and methods for asynchronous synchronization
US7738503B2 (en) Multi-way, peer-to-peer synchronization
US7865469B2 (en) Method and system for supporting off-line mode of operation and synchronization
US7877682B2 (en) Modular distributed mobile data applications
JP4658950B2 (ja) 電子メッセージのための階層的スキーマ
CN1656480B (zh) 允许同步具备不同能力的不同设备中的数据的方法和设备
EP1845688B1 (en) Method, system, client terminal and server for realizing data synchronization
EP1623558B1 (en) Accessing data in a computer network
US20040054652A1 (en) Data filtering for adapting data delivery to diverse client devices
US7031973B2 (en) Accounting for references between a client and server that use disparate e-mail storage formats
US20160080514A1 (en) Information repository system including a wireless device and related method
KR100597586B1 (ko) 세션 관리 기능을 이용한 데이터 동기화 방법
KR100693588B1 (ko) 멀티미디어 데이터 동기화 방법 및 그 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090402

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090706

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

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

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

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4405812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131113

Year of fee payment: 4

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term