[go: up one dir, main page]

JP3974161B2 - データ同期処理のための通信方法および電子機器 - Google Patents

データ同期処理のための通信方法および電子機器 Download PDF

Info

Publication number
JP3974161B2
JP3974161B2 JP2006317254A JP2006317254A JP3974161B2 JP 3974161 B2 JP3974161 B2 JP 3974161B2 JP 2006317254 A JP2006317254 A JP 2006317254A JP 2006317254 A JP2006317254 A JP 2006317254A JP 3974161 B2 JP3974161 B2 JP 3974161B2
Authority
JP
Japan
Prior art keywords
data
data synchronization
master
slave
priority
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 - Fee Related
Application number
JP2006317254A
Other languages
English (en)
Other versions
JP2007122736A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006317254A priority Critical patent/JP3974161B2/ja
Publication of JP2007122736A publication Critical patent/JP2007122736A/ja
Application granted granted Critical
Publication of JP3974161B2 publication Critical patent/JP3974161B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は複数の機器間でデータ同期処理を行うための通信方法および電子機器に関し、
特に機器構成が動的に変化するような有線または無線のネットワークに適したデータ同期
処理を行えるように改良された通信方法および電子機器に関する。
一般に、パーソナルコンピュータ(PC)や携帯情報機器などの電子機器間では、同じ
データをオフィスの他に自宅や外出先でも使用できるようにするために、複製データを用
いたデータの共有が行われている。共有された複数のデータの整合性を維持するための技
術としては、データ同期が知られている。例えばパーソナルコンピュータ(PC)と携帯
情報機器の間で住所録やスケジュールなどの個人データを共有したいような場合には、各
機器にデータの複製が作成される。
それらのデータに対して変更などがあった場合に、それら機器間で変更データをやり取り
することによってデータの一貫性を保つ方法がデータ同期である。
データ同期のための代表的なコンピュータプログラムとしては、Intelli Sy
nc(Intelli Sync ユーザーズガイド Rev3.1 Puma TEC
HNOLOGY 1999)が知られている。これは、PCとPCの間、もしくはPCと
携帯情報機器の間でデータの同期化を実現するものである。このプログラムは、1台のP
Cと1台の携帯情報機器間、あるいは2台のPCと1台の携帯情報機器間、あるいは1台
のPCと複数台の携帯情報機器間、という構成で、データ同期化の設定を行うことができ
るが、この場合、実際のデータ同期に際しては、構成機器のいずれか1台がサーバとなり
、そのサーバの役割を果たす機器と他の機器との間で同期化が行われる。
Intelli Sync(Intelli Sync ユーザーズガイド Rev3.1 Puma TECHNOLOGY 1999)
しかし、この方式の場合、データ同期時には、サーバの役割を果たす機器が常にデータ
同期処理に参加する必要があるので、3台以上の機器に対して複製データを持たせた場合
には、サーバを除く他の2台の機器間でデータ同期を行うことはできないという制約があ
る。このため、例えばオフィス内のネットワークに接続されたPCをサーバとして使用し
、その複製データを2台の携帯情報機器に持たせた場合においては、外出先などで一方の
携帯情報機器内にある更新後の複製データを他の携帯情報機器で使用したい場合であって
も、それら携帯情報機器のみではデータ同期処理を行うことができない。
また、従来のデータ同期方法は、基本的にはケーブルによる1対1の接続、モデムによ
るサーバとの間の1対1の接続、あるいは赤外線によるサーバとの間の1対1の接続、を
前提としている。これは、データ同期のための通信相手を一意に特定できるようにするた
めである。
しかし、バス型の有線ネットワークや、指向性のない無線のネットワークにおいてデー
タ同期を行う場合には、1対1の接続の場合とは異なり、ネットワーク上の機器の中から
データ同期の相手をなんらかの方法で一意に識別する必要がある。特に、機器構成が動的
に変化するような有線または無線のネットワークの場合には、各機器のネットワークアド
レスは固定ではなく、ネットワーク接続時等にネットワークアドレスが動的に付与される
場合が多い。このため、通信相手のネットワークアドレスは、データ同期のための通信相
手を特定するための静的な識別情報として使用することができない。よって、機器構成が
動的に変化するような有線または無線のネットワークにおいてもデータ同期の相手を一意
に識別できようにするための新たな技術が要求されている。
そしてまた、1対1での接続においては仮定されないことであるが、バス型の有線ネッ
トワークや、指向性のない無線ネットワークにおいては、データ同期対象の機器以外の機
器、例えば、悪意ある第三者も同じネットワーク内に存在する可能性がある。このため、
データの秘匿性を確保し、同時に成りすまし等によるデータ漏洩を防ぐことも必要となる
。特に、無線ネットワークにおいては、無線の届く範囲内に機器を配置するだけでその機
器を容易にネットワークに入れることができてしまう可能性が高いため、秘匿化のための
対策は重要となる。また、悪意が無くとも、無線の届く範囲内に存在する同期化対象以外
の他の機器のデータが、無線による機器間のデータ同期処理により誤って変更されてしま
うという危険もある。
また、逆にこれらのネットワークにおいては、データ同期時に必ずしも全てのデータ同
期相手が揃っているというわけではなく、機器の電源が入っていない場合や、無線の届か
ない通信圏外である機器等に対してはデータ同期を行うことはできない。
また、通常、データ同期に先立って行う設定として、データ同期相手に対する通信の設
定、同期データの種類に関する設定、データ競合時の解決方法の設定が必要となるが、こ
れらの設定は、従来では、PCや携帯情報機器の表示装置に表示された設定画面を通じて
、ユーザが直接に該PCや携帯情報機器の入力装置を操作してデータを入力することによ
って行われている。これはつまり、設定機器には、少なくとも携帯情報機器程度の表示装
置および入力装置が必要であることを意味している。そのため、従来の方法では、例えば
腕時計のような、機器の大きさの制約や、その他機器固有の制約から、限られた入力装置
、表示装置しか持たない機器においては、データ同期の設定を行うことは非常に困難とな
る。
本発明は上述の事情に鑑みてなされたものであり、限られた入力装置および表示装置し
か持たない機器に対してもデータ同期のための設定が可能で、且つ機器構成が動的に変化
するような有線または無線のネットワークにおいても任意の機器間で安全にデータ同期の
ための通信を行うことが可能な通信方法および電子機器を提供することを目的とする。
上述の課題を解決するため、本発明は、複数の機器間で任意のデータに関するデータ同
期処理を、無線あるいは有線のネットワークを用いて行うための通信方法において、ユー
ザによりマスターとして指定されたマスター機器が、該ユーザにより該マスターのスレー
ブとして指定されたスレーブ機器に、該スレーブ機器が前記データ同期処理を行うグルー
プに属することを示す証明書と、該スレーブ機器が前記データ同期処理を行う際に用いる
べき優先度とを送出し、該スレーブ機器を、前記データ同期処理を行うグループのメンバ
として登録する機器登録ステップと、あるスレーブ機器と、該あるスレーブ機器と無線あ
るいは有線により通信可能な状態である別の1台以上のスレーブ機器との間で、該あるス
レーブ機器と該別のスレーブ機器とが前記データ同期処理を行うグループに属するか否か
を前記証明書を用いて判断し、該グループに属すると判断されたスレーブ機器間で、前記
優先度に従った前記データ同期処理を無線あるいは有線の通信により行うデータ同期ステ
ップと、前記データ同期処理を行うグループに属するスレーブ機器同士で互いの優先度を
交換する優先度交換ステップとを具備することを特徴とする。
この通信方法においては、実際にデータ同期処理を行うデータ同期ステップとは別に、
データ同期を行う機器を特定するための機器登録ステップが設けられており、この機器登
録ステップにて、マスターとして指定された機器からスレーブとして指定された機器に証
明書と優先度を送出することにより、そのスレーブ機器をデータ同期処理を行うグループ
のメンバとして登録することができる。各メンバに証明書と優先度を持たせることにより
、同一のデータ同期処理グループに登録された機器同士であれば、たとえマスターがいな
くても、スレーブ機器間のみで簡単にデータ同期を行うことができる。
この場合、グループに属するスレーブ同士であるか否かについては、無線あるいは有線
により通信可能な状態のスレーブ機器間で証明書を交換することにより確認されるので、
マスターが存在せずとも、確実且つ安全にスレーブ機器同士でのデータ同期を行うことが
できる。スレーブ間のデータ同期処理で競合が生じた場合には、機器登録ステップにて各
スレーブに割り当てられた優先度によりその競合を解決することができる。したがって、
各スレーブは自身に割り当てられた証明書と優先度のみを保持すれば良く、データ同期の
ための通信相手に関する情報等の設定は一切不要となる。よって、限られた入力装置およ
び表示装置しか持たない機器についても同期対象の機器として使用することができる。さ
らに、機器構成が動的に変化するような有線または無線のネットワークなどのように、デ
ータ同期の通信相手を静的に特定するための情報を持つことが困難な環境下で使用する場
合であっても、デー同期の相手となる機器を確実に特定することが可能となる。
データ同期ステップは、スレーブ同士のみならず、データ同期処理を行う同一のグルー
プに属することを示す証明書を持つ、1台のマスターと1台以上の任意のスレーブ機器と
の間で行うこともできる。
また、マスターおよびスレーブの指定は機器単位で行う必要はなく、データ同期対象と
すべきデータ毎に、任意の機器をそのデータの同期処理グループのマスターまたはスレー
ブとして指定することができる。一台の機器があるデータについてはその同期処理グルー
プのスレーブとして機能し、別のデータについてはその同期処理グループのマスターとし
て機能しても良いし、また一台の機器が異なる2つのデータに対応する2つの同期処理グ
ループそれぞれのスレーブとして機能してもよい。
このようにマスターおよびスレーブを同期対象のデータ毎に個々に指定した場合には、
機器登録ステップも、各データについてそのデータ同期処理の対象とすべきデータのデー
タ同期処理グループのマスターとして指定された機器と該マスターのスレーブとして指定
された機器との間で実行される。このため、証明書および優先度の送出についても、その
送出もとのマスターと送出先のスレーブはデータ毎に設定されることになり、データ毎に
証明書および優先度の設定が行われる。
また、上述の機器登録ステップおよびデータ同期ステップに加え、マスター権限引き継
ぎステップを設けることにより、現在のデータ同期処理グループの機能・構成をそのまま
維持した状態で、マスターの機能のみを他の機器に移すことができる。よって、新たに購
入した機器をマスターとして使用したり、外出先などでのマスターとしての使用を目的に
、一時的にスレーブ機器をマスターとして使用する等の運用が可能となる。
また、スレーブ機器間同士で互いの優先度を交換する優先度交換ステップをさらに設け
ることが好ましい。これにより、機器登録ステップで登録された優先度を後で変更するこ
とができるようになり、より柔軟にスレーブ機器同士間でのデータ同期処理を実現できる
マスター権限引き継ぎステップおよび優先度交換ステップについても、安全性を考慮し
て、マスター権限引き継ぎステップまたは優先度交換ステップを実行するためのモードに
設定された2つの機器以外に、そのモードに設定された他の機器が存在しないことを確認
した後に行うことが好ましい。
また、同期処理グループのメンバの変更等を容易に実現できるようにするため、マスタ
ー機器またはスレーブ機器を、データ同期処理を行うグループの登録から解除する機器登
録解除ステップをさらに設けることが好ましい。スレーブ機器の機器登録解除ステップに
ついてはそのスレーブ機器単独で行えばよいが、マスター機器の機器登録解除ステップに
ついては、マスター機器の機器登録解除ステップと連動して、そのマスター機器と通信可
能な状態にあるスレーブ機器の機器登録解除ステップも一緒に実行させるようにすること
が望ましい。これにより、一度の操作で、マスターを含む複数の機器を登録解除すること
が可能となる。
本発明によれば、限られた入力装置および表示装置しか持たない機器に対してもデータ
同期のための設定が可能で、且つ機器構成が動的に変化するような有線または無線のネッ
トワークにおいても任意の機器間で安全にデータ同期のための通信を行うことが可能とな
る。更に、機器間で設定情報をやりとりする際には、特定の2台のみで同時に設定操作を
行い、設定機器が2台であることを保証してから情報のやりとりを行うことで、安全に設
定を行うことができる。
以下、図面を参照して、本発明の一実施形態に係るデータ同期処理のための通信方法に
ついて説明する。
(データ同期ネットワーク)
データ同期とは、複製された複数の情報のまとまりに対して、各々独立して非同期にそ
の情報の一部が更新されていく場合に、それら複製された複数の情報が同じになるように
する処理のことである。例えば今Aという機器の持っている情報のまとまり(データセッ
ト)を、Bという機器に複製したとする。この時、AのデータセットとBのデータセット
を同一に保つ処理が同期処理となる。前回同期処理が行われた時刻よりも後に、Aのもっ
ているデータセットの、一部のデータフィールドが変更されると、Bの対応するデータフ
ィールドが、次の同期処理時に更新される。
もしも前回の同期処理以降、AとBの同じデータフィールドに対して変更が加えられる
と、このデータフィールドを同一にするためには、データ同期処理時に、どちらのデータ
フィールドの値を優先するかを選択する必要がある。このように同じデータフィールドの
データに対して、前回の同期処理時以降に、複数の機器で変更が加えられた状態を、デー
タの競合という。
本実施形態では、情報機器間のデータ同期処理は無線あるいは有線のネットワークを介
して行われる。ここで、無線あるいは有線を使ってデータ通信をし得る情報機器のうち、
データ同期を行いたい機器同士で構成されるネットワークを、データ同期ネットワークと
呼ぶこととする。つまり、データ同期処理を行うべき機器同士から構成されるデータ同期
処理グループが、データ同期ネットワークである。この場合、データ同期ネットワークの
構成の単位は、必ずしも機器毎である必要はなく、データ同期をすることが可能なデータ
セット毎にデータ同期ネットワークを構成することができる。つまり、各情報機器は、そ
の中で管理し得るデータセットの数だけ、データ同期ネットワークの構成要素になり得る
また、情報機器は、腕時計のような限られた用途に用いられる機器でも良いし、パーソ
ナルコンピュータのような複数の機能をもつ機器でも良い。またこれら情報機器は、その
大きさや、入出力装置、表示装置等の形態や機能等にしばられるものではない。データ同
期ネットワークは複数の情報機器で構成されるが、あるデータ同期ネットワークを構成す
る機器をそのデータ同期ネットワークのメンバと呼ぶ。
データ同期ネットワークは恒常的な概念である。データ同期処理が行われる都度、デー
タ同期ネットワークが構成されるのではなく、あらかじめ構成したデータ同期ネットワー
クのメンバに対してデータ同期処理が行われる。
(データ同期ネットワークによる通信)
データ同期ネットワークにおける通信方法は、機器登録ステップと、データ同期ステッ
プから構成される。これを示したのが図1である。
機器登録ステップは、データ同期ネットワークにメンバを追加する際に行うステップで
ある。この機器登録ステップでは、ユーザによりマスターとして指定された機器から、ユ
ーザが新たにスレーブとして登録したい機器に対して、証明書と優先度とが送出される。
証明書は、それを受け取った機器がマスターと同じデータ同期処理グループ(データ同期
ネットワーク)に属することを示すものである。優先度は、それを受け取った機器がデー
タ同期処理を行う場合に使用するものであり、データ競合の解決に用いられる。
データ同期ステップは、データ同期ネットワークを構成するメンバの中の、任意の複数
のメンバ同士がデータの同期処理を行うステップである。
図1において、Mはデータ同期ネットワークのマスターである。マスターMは、データ
同期ネットワークの中心であり、一つのデータ同期ネットワーク中に一つのみ存在し、そ
のデータ同期ネットワークにメンバを追加する権限を持つ。S1 〜S4 はデータ同期ネッ
トワークのスレーブである。スレーブは、一つのデータ同期ネットワークに一つ以上存在
し、そのデータ同期ネットワークのマスターMとの間で、後述するデータ同期メンバの登
録処理を行うことで、そのデータ同期ネットワークのメンバとなる。
マスターおよびスレーブの指定は必ずしも機器単位で行う必要はなく、データ同期対象
とすべきデータセット毎に、任意の機器をそのデータセットに対応するデータ同期ネット
ワークのマスターまたはスレーブとして指定することができる。一台の機器があるデータ
についてはそのデータ同期ネットワークのスレーブとして機能し、別のデータについては
そのデータ同期ネットワークのマスターとして機能しても良いし、また一台の機器が異な
る2つのデータに対応する2つのデータ同期ネットワークそれぞれのスレーブとして機能
してもよい。
(機器登録ステップ)
機器登録ステップは、データ同期ネットワークのマスターとなる機器と、そのデータ同
期ネットワークに新規に参加するスレーブとなる機器とが1対1で通信を行うことによっ
て実行される。マスターMに、はじめのスレーブS1 を登録した段階でデータ同期ネット
ワークの構成メンバの数は2となり、以後マスターMと新規に登録したいスレーブS2 〜
S4それぞれとの間で、同様に機器登録ステップを行うことで、データ同期ネットワーク
の構成メンバは増えて行く。機器登録ステップはデータ同期の都度行われるのではなく、
一度機器登録を行うと、以後明示的に解除を行わない限り、登録された機器はデータ同期
ネットワークのメンバであり続ける。
(データ同期ステップ)
データ同期ステップでは、データ同期ネットワークに属しているメンバ機器間のデータ
を同期化する。ここでは、すべてのメンバが一度にデータ同期処理を行っても良いし、任
意のメンバが任意の台数でデータ同期処理を行っても良い。またデータ同期処理時の機器
構成はマスターMが含まれていても良いし、スレーブ同士だけの場合にも、データ同期処
理を行うことができる。各々別のメンバで構成される2つの同期処理は各々任意の時点で
独立に行うことができ、またそれら2つの同期処理が別の場所で同時に行われても良い。
例えば、図1に示されているように、データ同期ネットワークを構成するメンバがマス
ターMとスレーブS1 だけの場合には、データ同期ステップはそれら2台の機器、つまり
マスターMとスレーブS1 の間でのみ実行されるが、スレーブS2 が新たにメンバとし
て登録された状態においては、データ同期ステップは、マスターMとスレーブS1 との間
のみならず、マスターMとスレーブS2 との間、スレーブS1 とスレーブS2 との間、
あるいはマスターMとスレーブS1,S2 から構成される全てのメンバ間で、実行するこ
ともできる。
(各メンバの構成)
次に、図2および図3を参照して、マスターおよびスレーブの各機器に設定する情報お
よび機能構成について説明する。
各機器が保持する設定情報には、識別データ、証明データ、優先度データ、カウンタの
値がある。
識別データとは、あるデータ同期ネットワークにおいてメンバを一意に特定するための
データであり、証明データを生成する鍵として使用される。この識別データは、ある機器
をデータ同期ネットワークのスレーブとして登録させるとき、あるいは後述のマスター宣
言によってある機器をマスターとして動作させるときに、それら各機器内で生成される。
証明データとは、前述した証明書に相当するものであり、あるデータ同期ネットワーク
に所属していることを証明するために用いられる。
例えば、データ同期時に、同一のデータ同期ネットワークに属している機器同士である
かどうかの認証と、認証後の同期データの暗号化を、公開鍵暗号方式で行う場合を想定す
る。この時、識別データと証明データは、認証と暗号化の仕組みの中で次のように用いら
れる。
まず、マスター、スレーブの各々は秘密鍵と公開鍵を生成する。これら秘密鍵と公開鍵
のペアが各機器の識別データとなる。他の機器に識別データを送信する際には、識別デー
タの一部である公開鍵のみを送信する。データ同期ネットワークの登録時には、スレーブ
が自身の識別データとして公開鍵をマスターに渡すと、マスターは、このスレーブの公開
鍵を自分の秘密鍵で暗号化したものを証明書として返し、更にマスターの公開鍵をスレー
ブに渡す。これによって、スレーブは自分の秘密鍵と公開鍵、そしてマスターに証明して
もらった証明書とマスターの公開鍵を持つ。ここで、この証明書とマスターの公開鍵を合
わせて証明データとする。
実際の認証と暗号化の際には、認証を行う側の機器は相手の証明書を受け取ると、これ
を自分の持っているマスターの公開鍵で復号化し、正しく復号化できれば相手側の機器が
同じデータ同期ネットワークに属していることになる。その後、復号化したデータから相
手の公開鍵を抜き出して、この相手の公開鍵で同期データを暗号化して送信すれば、安全
にデータのやり取りを行うことができる。
なお、証明データはデータ同期ネットワークに属していることを確実に証明できるもの
であればよく、上述の方法に限らず、他の良く知られた様々な方法にて生成してもよい。
優先度データは、前述したようにデータ同期の競合解決時に利用されるものであり、競
合解決のための順序関係(つまり優先順位)を決定するためのデータである。
カウンタの値は、マスターがこれまで登録したスレーブの数をカウントし、次のスレー
ブの登録時に、そのスレーブに対する優先度を決定するために使用されるデータである。
マスターの優先度は最も高い値“1”である。そして、スレーブの登録の度にカウンタの
値はカウントアップされ、登録の順に優先度“2”、“3”、……がスレーブに対して与
えられていく。カウンタはマスターのみが使用する。
データセット毎にデータ同期ネットワークを構成する場合、証明データ、識別データ、
優先度データ、カウンタの値はそれら各データセット毎に用意され、管理される。すなわ
ち、複数のデータセットを持つ機器においては、証明データ、識別データ、優先度データ
、カウンタの値は一次元的に管理するのではなく、図2のように二次元的、つまりデータ
セット毎に管理される。図2は、「アドレス帳」、「時刻」、「メール」の3種類のデー
タセットそれぞれに対応する3つのデータ同期ネットワークが構成されている場合の例を
示している。この場合、これら3種類のデータセットを持つ機器においては、マスター/
スレーブのどちらとして動作するのかを示す情報が、データセット毎に対応づけて管理さ
れる。カウンタの値は、マスターとして動作するデータ同期ネットワークのデータセット
に対してのみ有効となる。また、前述の機器登録ステップはデータ同期ネットワーク毎に
行われるので、証明データ、識別データ、優先度データ、カウンタの値は、それぞれデー
タセット毎に独立したものとなる。識別データを構成する秘密鍵と公開鍵は例えば乱数な
どを用いることにより、機器登録ステップ毎に生成されるが、機器登録ステップでメンバ
となったデータ同期グループから抜けるまで、その識別データの値は保持され続ける。
このように、データセット毎にデータ同期ネットワークの設定情報を管理する場合にお
いては、後述するデータ同期メンバの登録、データ同期処理、マスター宣言、データ同期
メンバの解除、マスター引き継ぎ、優先度交換、の各機能を行う場合には、その機能の呼
び出しの前に、図2の行方向のデータセットの中から対象となるデータセットをユーザに
選択させるようなステップが実行されることになる。
図3には、各機器の機能構成が示されている。この機器の構成は、マスター機器にもス
レーブ機器にもなり得る機器構成の一例である。
図3に示されているように、各機器には、通信部11、通信制御部12、機器入出力部
13、機器入出力制御部14、認証部15、データ同期ネットワーク設定管理部16、デ
ータ同期処理部17、および同期データ記憶部18が設けられている。
通信部11は他の機器との間の通信を無線又は有線のネットワークによって行う部分で
あり、他の機器へのデータの送信、他の機器からのデータの受信を行う。無線ネットワー
クとしては、例えばBluetooth(登録商標。以下同様)などの、電波を用いた指
向性のないネットワークを利用することができる。また、有線のネットワークとしてはイ
ーサネット(登録商標。以下同様)などのバス型のLANを利用することができる。無線
、有線のどちらにおいても、ネットワークの機器構成は静的に決定されている必要はなく
、機器構成が動的に変化するようなネットワークに適用することができる。
通信制御部12は通信部11によるデータの送受信を制御するものであり、通信部11
で受け取ったデータと要求を判断する機能、機器入出力制御部14との間で処理要求およ
び応答を授受する機能、通信部11へデータの送受信を要求する機能、認証部15、デー
タ同期ネットワーク設定管理部16、データ同期処理部17それぞれとの間で要求と応答
を授受する機能を有している。
機器入出力部13は、自機器の入力装置、表示装置である。
機器入出力制御部14は、機器入出力部13に対するデータと要求の送受信の制御を行
う部分であり、機器入出力部13で受け取ったデータと要求を判断する機能、通信制御部
12への処理要求機能、通信制御部12からの処理要求受け取り機能、同期データ記憶部
18に対するデータ書き込み、読み取り、削除などの処理を行う管理機能、データ同期ネ
ットワーク設定管理部16に対しての要求と応答を行う機能からなる。
認証部15は、通信制御部12からの認証要求に対して、他の機器から受け取った証明
データを、データ同期ネットワーク設定管理部16を通じて証明データ管理部161の持
つ自機器の証明データと照らし合わせて認証し、他の機器が自分の属しているデータ同期
ネットワークに属しているかどうか、すなわち双方がデータ同期処理を行う同一のグルー
プに属しているかどうかを判断する。
データ同期ネットワーク設定管理部16は、データ同期ネットワークの設定全般の管理
を行う部分であり、証明データ管理部161および優先度管理部162を有している。デ
ータ同期ネットワーク設定管理部16は、証明データ管理部161および優先度管理部1
62を用いて自身の設定状態を管理しており、通信制御部12、認証部15、機器入出力
制御部14、データ同期処理部17と、優先度管理部162および証明データ管理部16
1との間の、データ受け渡しや処理要求の受け渡しを行う。
証明データ管理部161は、自機器のマスターによって証明された証明データを格納す
る領域、および証明データの元となる識別データを格納する領域を持ち、証明データおよ
びその証明データを作成するための識別データの管理を行う。
これはデータ同期ネットワーク設定管理部16からの要求により、証明データの元となる
識別データおよび証明データを生成、削除、設定する機能からなる。
優先度管理部162は、自機器の優先度データを格納する領域と、マスターにおいて優
先度を発行する際に変更されるカウンタの値を格納する領域、そしてカウンタ装置を持ち
、データ同期ネットワーク設定管理部16からの優先度データの生成、設定、削除、受け
渡しの要求を処理する機能と、カウンタ装置のリセット、インクリメントを行う機能から
なる。
データ同期処理部17は、同期対象のデータセット(同期データ)に対して同期処理を
行う部分であり、同期データ記憶部18に対する読み取り、書き込み、削除などを行う機
能と、自機器の優先度と他の同期機器の優先度を加味してデータ競合を解決する機能と、
通信制御部12からの要求を処理しデータの受け渡しを行う機能からなる。
同期データ記憶部18は、同期データが格納される部分であり、データを格納するため
の領域を持つ。
この機器の構成は、マスター機器にもスレーブ機器にもなり得る機器構成の一例である
が、スレーブにしかすることができない機器(メンバ)があっても良いし、またマスター
にしかすることができない機器(メンバ)があっても良い。その場合にはそれぞれ、スレ
ーブにのみ必要な機能や構成、マスターにのみ必要な機能や構成を省いた構成をとること
ができる。例えば、証明データの生成機能、カウンタ装置およびその制御機能などは、マ
スターとして動作可能な機器にのみ設ければ良く、スレーブとしてのみ機能する機器には
不要である。
ではここから、データ同期ネットワークの管理、運用について説明する。
はじめに、図4を参照して、データ同期ネットワーク内の各機器が持つ全機能について
説明する。
データ同期ネットワークを構成することのできる機器には、全部で6つの機能があり、
他の機器との通信を行わずに処理される機能と、ある機器と別の機器との間の1対1の通
信を必要とする機能と、1対複数での通信を伴う機能とがある。「マスター宣言」機能は
、他の機器との通信を行わずに処理されるスタンドアロンの機能であり、「データ同期メ
ンバの登録」、「マスター引き継ぎ」、「優先度交換」機能は、1対1の通信を伴って処
理される機能である。「データ同期処理」機能は、2台以上の機器間で行われる処理であ
り、「データ同期メンバの解除」機能は、スレーブにおいてはスタンドアロンの処理であ
り、マスターにおいては、場合により1台以上のスレーブとの通信を伴って処理される機
能である。以下、各機能の詳細を説明する。
(1)「データ同期メンバの登録」
データ同期ネットワークに新たなメンバを追加する場合に、「データ同期メンバの登録
」処理を行う。この処理は、前述の機器登録ステップを実現するためのものであり、デー
タ同期ネットワークのマスターと、新規にスレーブとして追加したいメンバとの間とでデ
ータ通信をすることで行われる。マスターと登録するメンバは、共に電源が入っている状
態で、なお且つお互いに無線又は有線のネットワークを介して通信できる状態であること
を条件とする。ユーザは、該マスターと、該登録したいメンバに対して、各々「データ同
期メンバの登録」機能を呼び出す。それに続いて、該マスターと該登録したいメンバの各
々をデータ同期登録モードに入れる。データ同期登録モードに入るためには、例えばマス
ターと新規メンバのそれぞれで、登録ボタンをユーザが押し続けて、通信の有効な範囲内
に、データ同期登録モードの機器が2台のみ存在する場合にのみ登録を許可するといった
、ユーザインタラクションと他の機器に対する排他制御を併用して、登録時のセキュリテ
ィ認証とする。
データ同期登録モードの機器が2台のみであるか否かは、例えばマスターからのブロー
ドキャストに対する応答を調べることによって検出することができる。
また通信の有効な範囲内とは、無線ネットワークにおいては無線の届く範囲内を意味す
るが、有線ネットワークにおいては、ブロードキャストが有効となる例えばサブネットな
どの限られたネットワークエリアを意味する。つまり、第3者による通信の傍受などの危
険がある範囲内に、メンバ登録対象の機器とマスターとの2台の機器以外にデータ同期登
録モードに設定された他の機器が存在しないことを条件に、データ同期メンバの登録処理
が開始される。
ではここで、データ同期メンバの登録を行う機能の詳細について、説明することとする
。はじめに、データ同期メンバの登録処理に伴って行われる、マスターとスレーブの通信
処理を図5に示す。
まず、マスターとスレーブの双方で、データ同期メンバの登録要求を相手に送信し、そ
の後マスターはスレーブに対して自分がマスターである旨の通知を行う。スレーブは通知
を受け取ると、識別データをマスターに送信し、マスターはこれを使って生成した証明デ
ータと、優先度データとをスレーブに送信し、通信処理は完了する。
次に、各機器における処理ステップを詳しくみていくこととする。マスター機器が、ス
レーブ機器をデータ同期ネットワークのメンバとして登録する時のマスターの処理ステッ
プを、図6に示し、図3と合わせて説明する。
まず、ユーザによる「データ同期メンバの登録」機能の呼び出しが、機器入出力制御部
14に伝えられると(ステップS11)、現在のデータ同期ネットワークの設定を、デー
タ同期ネットワーク設定管理部16にて判断する(ステップS12)。自機器が、後述す
るマスター宣言の機能によって、マスターに設定されているならば、ユーザに登録処理の
実行要求を促し、スレーブに設定されている時は処理を終了する。何も設定されていない
場合には、後述の新規登録メンバとしての動作を行う。
ユーザからの登録処理の実行要求を、機器入出力部にて受け取ると(ステップS13)
、通信部11よりデータ同期メンバの登録要求をブロードキャスト送信し(ステップS1
4)、通信部11にて新規メンバからの登録要求を待ち受ける。登録要求が一定の時間な
かった場合には、処理はタイムアウトで終了する。新規メンバからの登録要求を受け取る
と(ステップS15)、登録機器が自機器と新規メンバの2台のみであるかを判断する(
ステップS16)。つまり、相手機器との間でデータ同期メンバの登録要求を送信し合い
、データ同期メンバの登録要求を送信してきた相手機器が1台のみであれば、登録機器が
自機器と新規メンバの2台のみであると判定される。
この時点で登録状態の機器が自機器と、新規メンバの2台のみでなかった場合には(ス
テップS16のNO)、処理を終了し、2台のみであった場合には(ステップS16のY
ES)、新規メンバに対して自分がマスターである旨を通信部11より通知する(ステッ
プS17)。その後新規メンバからの証明データの元になる識別データを、通信部11よ
り受け取ると(ステップS18)、このデータを元にして証明データと新規メンバに渡す
優先度データを、データ同期ネットワーク設定管理部16にて生成し(ステップS19,
S20)、更に登録機器の台数をカウントするカウンタの値を1増加させる(ステップS
21)。
そして最後に、生成した証明データと、優先度データを新規メンバに通信部11より送
信する(ステップS22,S23)。優先度データは、ここではカウンタの値を直接用い
ているが、発行の都度異なった値を生成し、それら生成した値の間で優劣を一意に判断で
きるような、順序関係を定義できるものであれば、どのような方式で優先度を決定しても
良い。
次に、新規にデータ同期ネットワークに参加したい機器(メンバ)が、マスター機器に
データ同期ネットワークのメンバとして登録される時の新規メンバの処理ステップを、図
7に示し、図3と合わせて説明する。
まず、機器入出力部13が、ユーザによる「データ同期メンバの登録」要求を受け取る
と、図6の場合と同様に、データ同期ネットワーク設定管理部16において、現在のデー
タ同期ネットワークの設定を判断する。自機器がマスターとして設定されている場合には
上述のマスターによる「データ同期メンバの登録」となる。自機器がすでにスレーブとし
て設定されている場合には終了する。データ同期ネットワークの設定がまだなされていな
いならば、ユーザに登録処理の実行要求を促す。ユーザが、登録処理の実行要求を、機器
入出力部13に対して行うと(ステップS31)、通信部11より登録要求を送信し(ス
テップS32)、更に通信部11において、マスターからの応答を待ち受ける。マスター
からの応答がない場合はタイムアウトで終了する。応答を受け取ると(ステップS33)
、登録状態の機器が自機器と、マスターの2台のみであるかを判断し(ステップS34)
、2台のみであった場合には、相手からのマスター通知を待ち受けることにより、相手が
マスターであることを確認した後(ステップS35)、証明データの元となる識別データ
をデータ同期ネットワーク設定管理部16において生成し、これをマスターに送信する(
ステップS36,S37)。
その後マスターから証明データと優先度データを通信部にて待ち受け、これらを受信す
ると、データ同期ネットワーク設定管理部を通じて証明データと優先度データを設定し、
登録処理が完了する(ステップS38,S39)。
データ同期メンバの登録処理に際しては、証明データと優先度を発行するマスターと、
登録される新規メンバとの間で、同じ種類のデータセットを持つ必要があり、尚かつ異な
る種類のデータセット同士を登録しようとした場合には、登録が行えなくなるようにする
必要がある。この照合ステップは、図6の「データ同期メンバの登録要求送信」時、およ
び図7の「データ同期メンバの登録要求送信」時に、例えば予めデータセット毎にアドレ
ス帳ならば01、時刻ならば02、スケジュールならば03、というように識別子を付け
ておき、この識別子をマスターと新規メンバ間で送信し合い、同じ識別子であるかどうか
を判断することによって行うことができる。
一度、あるデータ同期ネットワークに属するマスターとスレーブが同じ種類のデータセ
ットを持つことが保証されれば、データ同期処理など、他の機能を使用する際には、同じ
データ同期ネットワークに属するかどうかの認証が行われるので、異なる種類のデータセ
ットが混在する状態は起こり得ない。それはたとえ複数のデータセットを持つ機器であっ
ても、その機器内のデータセットは、それぞれ全く別の、独立したデータ同期ネットワー
クを構成しているため、異種のデータセットと、処理が混同されることはない。
(2)データ同期処理
次にデータ同期処理について説明する。
データ同期メンバの登録処理によりデータ同期ネットワークの各メンバに証明データと
優先度データが与えられると、実際のデータ同期処理は、最低限この2つの情報を用いて
、任意のメンバ間で行うことができる。
同期処理時には、初めにお互いが同じデータ同期ネットワークに属するメンバであるか
を認証し、その後データ同期を行う。互いに競合しないデータは、メンバ間でそれぞれマ
ージされ、いくつかのデータに関して競合が起きた場合には、競合が起きたメンバ中で一
番優先度の高いメンバのデータが競合解決のデータとして採用される。
今、図8に示すように、A,B,C,D,Eの5つのメンバで構成され、Aがマスター
となるようなデータ同期ネットワークがあったとする。
すべてのメンバが揃っている状態でデータ同期処理が行われる場合、まずお互いに自分
の証明データを相手に渡し、相手から証明データを受け取り、互いが同じデータ同期ネッ
トワークのメンバであるかを認証する。この時、証明データの受け渡しおよび認証は、例
えば、すべてのメンバがすべての相手と証明データをやり取りして、個々のメンバがそれ
ぞれ受け取った証明データを使って認証するという方法がある。つまりAからEのメンバ
の中で、異なる2メンバの同士の組み合わせ分だけ、証明データのやり取りと、認証をし
ても良い。
またあるいは、例えば図9のように、優先度の一番高いメンバ(ここではA)と、他の
メンバとの間でのみ証明データをやり取りしてもよい。つまりAとB、AとC、AとD、
AとEのようにあるメンバがサーバの役割をして認証を行う方法である。AからEの各メ
ンバが、それぞれ同じデータ同期ネットワークのメンバであると認証された後、実際のデ
ータ同期の処理は、優先度の一番高いメンバ(ここではA)が、他のすべてのメンバとあ
るデータフィールドの同期データをやり取りし、競合の判定、優先度による競合の解決、
データの更新を行って、次のデータフィールドの同期データへと順次処理していくことが
できる。
データ同期処理時の競合は、例えば図10のように、あるデータフィールドxについて
、A,C,Eは前回の同期処理時から変更されておらず、B,Dのメンバのもつあるデー
タが共に更新されている場合等に生じる。そしてこの時、このデータ(conflict
data)の競合を解決する手段は、B,Dの中でもっとも高い優先度をもつBのデー
タを採用することである。なぜなら5つのメンバのうちで一番優先度の高いメンバはAで
あるが、データが変更されているメンバはBとDのみであるからである。ただしここで、
データが変更されていてもいなくても、一番優先度の高いメンバAのデータで同期処理時
の競合解決を行うようにしても良い。
次にこのデータ同期ネットワークのメンバであるA,B,Cのみがデータ同期する場合
について考えてみる。このような状況は、例えばD,Eの電源が入っていないとか、A,
B,Cのみを外に持ち出した等の状況が考えられる。認証してデータ同期するところまで
は上記と同様であり、B,Cのもつあるデータが競合したとする(B,Cのもつ同じデー
タフィールドのデータが前回の同期以降に更新された状態)。この時競合はB,Cの中で
より高い優先度を持つメンバのデータで解決され、その結果、A,B,Cのデータは同期
状態となる。また別の場所で、残っているD,Eのみがデータ同期する場合を考えてみる
と、A,B,Cの場合と同様に、競合が発生した場合は、D,Eの中でより優先度の高い
データで競合が解決され、DとEはデータ同期状態となる。
以上のように、データ同期処理は、データ同期処理を行う同一のグループに属すること
を示す証明書を持つ、1台のマスターと1台以上の任意のスレーブ機器との間のみならず
、スレーブ同士の間でも行うことができる。この場合でも、無線あるいは有線により通信
可能な状態の機器間で証明データを交換することにより同一のデータ同期グループに属す
るもの同士であることが確認されるので、相手を一意に特定するための専用の情報を持つ
ことなく、証明データのみで安全にデータ同期を行うことができる。
データ同期処理は、例えば
(a)データ同期処理モードに設定された機器から、通信可能な範囲内に存在する他の
機器にデータ同期処理要求をブロードキャストで送信し、
(b)それら機器間で証明書を交換して、同じデータ同期ネットワークに属する機器同
士であるか否かを相互に認証し、
(c)同じデータ同期ネットワークに属する機器同士であれば、対応するデータセット
についてのデータ同期処理を各々の優先度に従って実行する
という手順で行うことができる。
この場合、図6、図7で説明したデータ同期メンバの登録処理のようにマスターと新規
登録対象メンバの2台のみという制限はなく、通信可能な範囲内にそれぞれに存在し、且
つ同一データ同期ネットワークに属する2台以上の任意の機器間でデータ同期処理を行う
ことができる。同期させたい機器全てをユーザによりデータ同期処理モードに設定しても
よいし、1台の機器のみをデータ同期処理モードに設定し、その機器からデータ同期処理
要求を受けた他の機器をその要求に応じて自動的にデータ同期処理モードに移行させるよ
うにしても良い。
また、実際のデータ同期処理に際しては、データ同期ネットワークが設定されたデータ
セットの中でデータ同期処理を行うべきデータセットをユーザが指定しても良いし、或い
はデータ同期ネットワークが設定された全てのデータセットのそれぞれについて、同一の
データ同期ネットワークに属するか否かを判断し、同一のデータ同期ネットワークに属す
ることが確認されたデータセットについて、それらの同期処理を一度に実行することも可
能である。認証データはデータ同期ネットワークが設定されたデータセット毎に存在する
ので、例えば全ての認証データを交換し合うことで、相手の機器と自機器が共に属してい
るデータ同期ネットワークを調べることができる。もちろん、データセット毎に用意され
た識別子を送り合うことによって、認証すべきデータ同期ネットワークを特定するように
しても良い。
(3)マスター宣言
次に自機器をデータ同期ネットワークのマスターとして設定する「マスター宣言」の機
能について説明する。
データ同期ネットワークを新規に構築する場合、マスターとなるメンバを決定する必要
があるが、これを実現するのが「マスター宣言」の機能である。「マスター宣言」は、ど
のデータ同期ネットワークにも属していないデータセットを持つメンバのみが、自分がこ
れから作るデータ同期ネットワークのマスターになるという設定をすることができる。こ
の時、設定はスタンドアロンで行われ、他のメンバとの通信は行われない。
既存のデータ同期ネットワークにおいて、該データ同期ネットワークに属さないメンバ
や、スレーブであったメンバの「データ同期メンバの解除」を行って、該データ同期ネッ
トワークに、後からマスターを追加するために「マスター宣言」をすることはできない。
その場合には、「マスター宣言」を行ったメンバをマスターとする、まったく別の新しい
データ同期ネットワークが定義される。「マスター宣言」はいつでも新しいデータ同期ネ
ットワークを作成する場合のみに使用される。
新規メンバを、「マスター宣言」によって新たなデータ同期ネットワークのマスターに
する、「マスター宣言」の処理ステップを図11に示す。
まず、ユーザが機器入出力部13を通じて「マスター宣言」の機能呼び出し操作をある
データセットに対して行うと(ステップS41)、そのデータセットについて、自機器に
おける現在のデータ同期ネットワークの設定をデータ同期ネットワーク設定管理部16で
判断する(ステップS42)。既にマスターであるか、あるいはスレーブとして設定され
ている場合には処理を終了する。もしデータ同期ネットワークの定義がなされていない状
態であるならば、まずデータ同期ネットワークの識別データをデータ同期ネットワーク設
定管理部16で生成し(ステップS43)、これを元に自機器に対する証明データを生成
する(ステップS44)。
更にデータ同期ネットワーク設定管理部16において、優先度カウンタをリセットして
、自分の優先度としてカウンタの初期の値を優先度データに設定した後(ステップS45
,S46)、カウンタを更新し処理を終了する。
(4)データ同期メンバの解除
データ同期ネットワークから登録メンバを解除する際に、「データ同期メンバの解除」
を行う。この動作はマスターとスレーブで異なった役割を持つため、スレーブの場合とマ
スターの場合についてそれぞれ説明する。
まず、スレーブをデータ同期ネットワークのメンバから解除する場合であるが、例えば
あるデータ同期ネットワークに参加しているスレーブをその同期ネットワークのメンバか
ら除外した状態で使用する場合や、スレーブを廃棄する場合などに、この機能を使用する
。「データ同期メンバの解除」は、スタンドアロンの動作であり、マスターや他の機器と
の通信は必要としない。またそれによって既存のデータ同期ネットワークに影響が及ぶこ
ともない。唯一、解除されたスレーブの持っていた優先度データは「データ同期メンバの
登録」で再利用されることはないため欠番となるが、これによってデータ同期ネットワー
クの一貫性が壊れるものではない。
ここでスレーブにおいて「データ同期メンバの解除」を行う場合の処理ステップを図1
2に示す。
まず、ユーザによりあるデータセットについての「データ同期メンバの解除」要求が機
器入出力部13になされると(ステップS51)、そのデータセットについて、自機器に
おける現在のデータ同期ネットワークの設定状態をデータ同期ネットワーク設定管理部1
6にて判断する(ステップS52)。そして自機器がスレーブである時には、データ同期
ネットワーク設定管理部16の該当する優先度データ、証明データ、識別データを消去す
る(ステップS53,S54,S55)。
マスターをデータ同期ネットワークのメンバから解除する場合は、「データ同期メンバ
の解除」が行われる際に、データ同期ネットワークのスレーブのうち、マスターと現在通
信可能なメンバが存在すれば、このスレーブもデータ同期ネットワークのメンバから解除
される。これはマスターを他のメンバに引き継ぐことなしに、データ同期ネットワークの
メンバから解除するという状況が、通常はデータ同期ネットワークの設定自体を解除した
い場合であることからである。また通信可能なスレーブのみが、同時にデータ同期ネット
ワークから解除されるのは、マスターがデータ同期ネットワークのメンバを把握できない
ことと、スレーブの買い替え、廃棄、故障、盗難など、あるいは単に他の場所においてあ
ることにより、データ同期ネットワークの全メンバが揃う状況は必ずしも仮定されないこ
とからである。この場合、その場にいなかったスレーブは以前のデータ同期ネットワーク
に参加したままであるが、その場にいなかったスレーブ同士で引き続きデータ同期をする
こともできる。ただし、この場合はマスターが既にいない状態であるため、新規にデータ
同期メンバの登録を行って、データ同期ネットワークのメンバを増やすことはできない。
マスターにおいて、「データ同期メンバの解除」を行う場合の処理ステップを図13に
示す。ユーザによりあるデータセットについての「データ同期メンバの解除」要求が機器
入出力部13へ出されると、図12で説明したように、データ同期ネットワーク設定管理
部において、そのデータセットについて、自機器における現在のデータ同期ネットワーク
の設定状態が判断される。自機器がマスターである場合には、現在通信可能なスレーブを
検索する(ステップS61)。これは例えば、ブロードキャストによって送信したデータ
に対するスレーブからの応答などによって判断すればよい。そしてその後、現在通信可能
な範囲にいるスレーブに対して、マスターの証明データと、「データ同期メンバの解除」
要求を送信する(ステップS62,S63)。
この要求を受け取ったスレーブは、マスターの証明データを使って認証を行い、その後
スレーブにおける「データ同期メンバの解除」と同様に自身の設定を解除する。
マスターはその後、自機器の優先度データ、証明データ、識別データ、カウンタの値を
消去し、カウンタのリセットを行って処理を終了する(ステップS64〜S67)。
(5)マスター引き継ぎ
「マスター引き継ぎ」の機能は、既存のデータ同期ネットワークにおいて、データ同期
ネットワークはそのままの状態で存続させ、マスターである権利のみを現マスターから他
のメンバに委譲する処理である。これは例えば、新しく購入した機器を既存のデータ同期
ネットワークのマスターにしたい場合、マスターであった機器を廃棄する場合、マスター
である機器を買い換えたい場合、移動できないデスクトップPCなどをマスターにしてい
るが、外出先にて「データ同期メンバの登録」を一時的に行いたい場合など、データ同期
ネットワークの機能、構成をそのままに、マスターを他の機器に移したい場合に使用する
。これは既存のデータ同期ネットワークにおけるスレーブとマスターの権限を交換するも
のであるが、「データ同期メンバの登録」と組み合わせて自動化することでデータ同期ネ
ットワークのメンバでないメンバに対して、マスター権限の委譲を行っても良い。
この処理ではまず、マスターと、マスターを引き継ぐスレーブの各々の機器で、「マス
ターの引き継ぎ」機能を呼び出す。そして、「データ同期メンバの登録」と同様な方法で
、マスターの保持している設定情報をスレーブに移し、スレーブに保持している設定情報
をマスターに移す。マスターとスレーブ1台の情報をそのまま交換し、また個々のメンバ
は互いに他の機器に関する情報を持っていないことから、他のデータ同期ネットワークの
メンバには影響を与える事はなく、「データ同期メンバの登録」と同様に安全且つ簡単に
処理を行うことができる。
ではここで、「マスター引き継ぎ」機能の詳細について、説明することとする。はじめ
に、「マスター引き継ぎ」の処理に伴って行われる、マスターとスレーブの通信処理を図
14を用いて説明する。
まず、マスターとスレーブ双方で、マスター引き継ぎ要求を相手に送信し、要求を受け
取ると双方で機器認証のための証明データを送信する。認証処理後、マスターはスレーブ
に識別データ、優先度データ、カウンタ値を送信し、スレーブは優先度データ、識別デー
タを送信して、通信処理は完了する。
次に、各機器における処理ステップを詳しくみていくこととする。図15は「マスター
引き継ぎ」機能のマスター側における処理ステップを示したものであり、図3とあわせて
説明する。
まず、機器入出力部13がユーザからの「マスター引き継ぎ」要求を受け取ると(ステ
ップS71)、自機器において現在のデータ同期ネットワークの設定を、データ同期ネッ
トワーク設定管理部16で判断する(ステップS72)。マスターである場合には、引き
続きユーザから処理実行の要求を機器入出力部13で待ち受ける。機器入出力部13で処
理実行要求を受け取ると(ステップS73)、通信部11よりマスター引き継ぎの処理要
求をブロードキャスト送信する(ステップS74)。そして通信部11にて、相手機器か
らの引き継ぎの処理要求を待ち受け、相手機器からの要求が到着すると(ステップS75
)、現在処理実行状態の機器が自機器と、該相手機器のみであることを通信部11および
通信制御部12で判断する(ステップS76)。
2台のみであった場合には(ステップS76のYES)、該相手機器に証明データを通
信部11から送信する。なお証明データの送信と、処理実行状態の機器数を判断するステ
ップの順序は、逆でもかまわない。そして、相手機器からの証明データを通信部11にて
受け取ると(ステップS78)、相手機器の認証を認証部15およびデータ同期ネットワ
ーク設定管理部16にて行い、相手機器がマスターと同一のデータ同期ネットワークに存
在する機器であることを確認する(ステップS79)。認証が失敗した場合は終了し(ス
テップS79のNO)、成功した場合には(ステップS79のYES)、データ同期ネッ
トワーク設定管理部16と通信制御部12、通信部11にて、スレーブに対して自機器の
持っている識別データ、優先度データ、カウンタの値を送信する(ステップS80,S8
1,S82)。その後スレーブからの優先度データ、識別データを通信部11で受け取り
(ステップS83,S84)、データ同期ネットワーク設定管理部16にて、スレーブか
ら受け取った優先度データ、証明データ、識別データを自身の優先度データ、証明データ
、識別データとして設定し(ステップS85)、カウンタをリセットして処理は終了する
(ステップS86)。
なお、自機器の持っている優先度データ、カウンタの値、証明データ、識別データを送
信するタイミングと、スレーブからの優先度データ、証明データ、識別データを受け取る
タイミングは任意の順序で良い。
スレーブ側の動作もおおむねマスター側の動作と同様になるが、この処理ステップを図
16に示す。
まず、機器入出力部13が、ユーザからの「マスター引き継ぎ」要求を受け取ると、図
15で説明したように、自機器において現在のデータ同期ネットワークの設定をデータ同
期ネットワーク設定管理部で判断する。設定がなされていない場合には終了し、マスター
である場合には、前述のマスターの動作となる。スレーブであると判断された場合には、
ユーザからのマスター引き継ぎの処理実行要求を機器入出力部13で待ち受け、機器入出
力部13がこれを受け取ると(ステップS91)、通信部11にて、マスター引き継ぎ要
求をブロードキャスト送信する(ステップS92)。そして、マスターからの引き継ぎ要
求を待ち受け、引き継ぎ要求を受け取ると(ステップS92)、現在「マスター引き継ぎ
」の実行状態である機器の数を、通信部11および通信制御部12で判断し(ステップS
94)、処理実行状態である機器が自機器の他に1台のみであった場合には(ステップS
94のYES)、以下の処理に進む。
まず、マスターとの間で証明データを授受する(ステップS95,S96)。
そして、認証部15およびデータ同期ネットワーク設定管理部16にて、相手の認証を行
う(ステップS97)。認証後、通信相手が自分の属するデータ同期ネットワークのマス
ターでない場合には処理は終了し(ステップS97のNO)、マスターである場合には(
ステップS97のYES)、マスターの持っている優先度データ、カウンタの値、識別デ
ータを通信部11より受信する(ステップS99,S100,S101)。その後自機器
の持っている、優先度データ、識別データを通信部11より送信した後(ステップS10
1,S102)、受信したマスターの識別データ、証明データ、優先度データ、カウンタ
の値をデータ同期設定管理部16にて自身のデータとして設定し(ステップS103,S
104)、処理は終了する。
なお、データ同期ネットワークのマスターとして機能するデータセットを複数持つ機器
の場合には、マスター引き継ぎ処理は、ユーザから指定された特定のデータセットに関す
る設定情報についてのみ行うようにしても良い。もちろん、引き継ぎ先のスレーブ機器も
複数のデータセットを有するものであれば、マスター機器の持つ全てのデータセットに関
するマスター権限をスレーブ機器に一度に引き継がせるようにすることもできる。
(6)優先度交換
「優先度交換」機能は、2つのスレーブ間で、自分の持っている優先度をお互いに交換
するものである。データ同期時に競合が起こると、より優先度の高いスレーブのデータで
解決される。また優先度はマスターから登録順に与えられるため、後から登録したスレー
ブのデータを、先に登録したスレーブのデータよりも優先させたい場合が生じ得る。優先
度をデータ同期メンバの登録時に選択できるようにしても良いが、マスターあるいはスレ
ーブに優先度を選択するための表示インターフェースが必要となるため、ここでは登録順
に番号が振られることとする。「優先度交換」の時にも、セキュリティ上の理由から、「
データ同期メンバの登録」や「マスター引き継ぎ」の場合と同様に、設定機器が2つであ
る時にのみ、処理がなされるものとする。
でははじめに、スレーブ同士で優先度を交換する場合の通信処理ステップを図17を用
いて説明する。
まず、優先度を交換したいスレーブ同士が、共に優先度交換要求を相手に送信し、要求
を受け取ると双方で証明データを送信し合う。同一データ同期グループに属するスレーブ
機器同士であることが確認された後、双方が優先度データを交換して通信処理は終了する
次に、優先度を交換する各スレーブ機器における「優先度交換」の処理ステップを図1
8に示す。
まず、機器入出力部13がユーザからの「優先度交換」要求を受け取ると(ステップS
101)、自機器において現在のデータ同期ネットワークの設定をデータ同期ネットワー
ク設定管理部16にて判断する。設定がなされていない場合、またマスターである場合に
は処理は終了し、スレーブの場合にはユーザからの処理実行要求を機器入出力部13で待
ち受ける。機器入出力部13が処理実行要求を受け取ると(ステップS103)、通信部
11にて「優先度交換」の処理要求をブロードキャスト送信し、優先度を交換する相手か
らの「優先度交換」の処理要求を待ち受ける。そして、相手から「優先度交換」の処理要
求を受け取ると(ステップS105)、現在「優先度交換」の実行状態である機器数を通
信部11からのデータによって通信制御部12で判断し(ステップS106)、「優先度
交換」の実行状態である機器が、自機器の他に1台のみであった場合に(ステップS10
6のYES)、データ同期ネットワーク設定管理部16、通信制御部12、通信部11に
よって、証明データの送受信を行う(ステップS107,S108)。もし実行状態であ
る機器が通信可能な範囲内に3台以上あるならば(ステップS106のNO)、処理を終
了する。
証明データの送受信後、通信部11にて受信した認証データを元に、認証部15とデー
タ同期ネットワーク設定管理部16で認証を行う(ステップS109)。相手機器が、同
じデータ同期ネットワークのメンバであると証明されたら(ステップS109のYES)
、自優先度データの送信と、相手の優先度データの受信を行い(ステップS110,S1
11)、データ同期ネットワーク設定管理部16にて、各々自分の優先度を、受け取った
優先度で書き換え終了する(ステップS112)。
なお、データ同期ネットワークのスレーブとして機能するデータセットを複数持つ機器
の場合には、ユーザから優先度交換が指定されたデータセットに対して図18の処理を行
えばよい。
(7)機器設定の方法
「データ同期メンバの登録」、「優先度交換」、「マスターの引き継ぎ」の各処理時に
は、設定に伴って行われるデータ通信の安全性を確保する必要がある。
そのため、実際の設定データをやり取りする前に、設定を行う2台の機器を共に処理実行
要求の状態に移行させ、処理実行要求の状態にある機器が、通信可能な範囲内に2台のみ
であるかどうかによって、設定を続行するかを決定する。この一連の処理をもう少し詳し
く説明する。
まずこの処理に付随して各機器は、設定モードと実行モードを持つ。設定モードは「デ
ータ同期メンバの登録」、「優先度の変更」、「マスターの引き継ぎ」といった呼び出し
機能を特定する役割を持つ。そして実行モードは、設定モードで呼び出された機能の実際
の処理を開始し、必要であれば設定相手とのデータ通信を行う役割を持つ。ここでこの実
行モードが処理実行要求の状態ということになる。
「データ同期メンバの登録」、「優先度の変更」、「マスターの引き継ぎ」をしたい場
合、図19のように、ユーザはまず設定を行う2つの機器(機器1と機器2)を設定モー
ドへと移行させる。すると各機器では、呼び出された機能がなんであるかを判断し、その
機能が自機器の現在の設定において、有効な機能であるかを調べる。例えば「データ同期
メンバの登録」を行いたい場合には、呼び出された機能が「データ同期メンバの登録」で
あること、そして自分がマスターであるか、スレーブであるか、何も設定されていないの
かを調べる。呼び出された機能が有効な機能であれば、実行モードへ移行できるが、実行
モードへの移行にもユーザの介入を必要とする。
ユーザは2台の機器を同じ機能に対する実行モードへ同時(厳密には1秒程度の誤差Δ
tを許容する)に移行させる。実行モードにおいて相手との通信が確立される前の段階で
は、各機器は他の機器から実行モードであることを示すデータを待ち受け、それと同時に
実行モードであることを告げるデータを伝送路に送出する。このデータの送出は、例えば
一定時間間隔でデータのブロードキャスト送信を繰り返せば良い。それぞれの機器で相手
の実行モードであることを示すデータを受け取ると、他にこのモードである機器は存在せ
ず、なおかつ機器1と機器2が通信しようとしていることを互いに確認した後、設定情報
の通信を開始する。設定情報の通信に際しては、例えば前述した公開鍵暗号方式などの暗
号方式を用いて、他の機器に設定情報が漏洩しないような暗号化を施すことができる。他
に実行モードの機器が存在する場合には、設定情報に関する通信は一切行わず、処理は中
断し終了する。
ここまで、データ同期ネットワークの構成法と、各機器が持つ機能について説明してき
た。次にデータ同期ネットワークを構成する機器の具体的な実現例について見ていくこと
とする。
図20は、本通信方法のための仕組みを腕時計に適用した例であり、図21は携帯情報
機器に適用した例である。
図20の腕時計においては、データ同期に関わる部分は、2つのボタンと、4つの表示
部である。ボタンについては、データ同期ネットワークの設定を行うための各機能の実行
要求とデータ同期処理の開始の指示を行うために用いられる左上のボタンと、データ同期
ネットワークの設定を行う各機能を選択する左下のボタンとがある。そして表示部につい
ては、データ同期ネットワークの設定を行う各機能を表示するモード表示部と、マスター
/スレーブを表す「M」または「S」の文字を表示する表示部と、優先度データの数値を
示す表示部と、データ同期ネットワークの設定が現在なされているかどうかを示す表示部
がある。では、使用法の説明のために、「データ同期メンバの登録」と「データ同期処理
」の2つの代表的な機能の実行手続きについて考察する。
まず、「データ同期メンバの登録」であるが、はじめに、左下のボタンを使って、「デ
ータ同期メンバの登録」のモードを呼び出す。この時、モード表示部には「データ同期メ
ンバの登録」の機能を呼び出したことが表示される。次にこの呼び出しが有効であれば、
左上のボタンを押しつづけ、「データ同期メンバの登録」に対する要求実行を行う。この
例で、この腕時計があるマスターに対してメンバ登録してもらうのであれば、マスターと
なる機器においても同様の手続きを行い、両機器が要求実行状態の間に、前述した「デー
タ同期メンバの登録」処理が成功すると、登録処理は完了する。「データ同期処理」の場
合には、最初に左上のボタンを押すことによって、同期処理開始の機能が実行され、腕時
計と通信可能な範囲内に存在し、且つ同期処理の実行が可能な、同じデータ同期ネットワ
ークに属する機器が1台以上いれば、データ同期の処理が実際に開始される。データ同期
処理の開始は、このようにデータ同期ネットワークに属している機器のうち、どれか一台
がその機能を呼び出すことによって実行されてもよいし、またあるいは、実際にその時デ
ータ同期処理を行いたいすべての機器が、同時にデータ同期処理開始の機能を呼び出すこ
とによって、実行されるようにしても良い。
腕時計のもつデータセットは通常は時刻データ(時計データ)のみであるので、腕時計
との間でデータ同期処理を行う対象となる機器は、腕時計と通信可能な範囲内に存在する
機器の中で、時刻データ(時計データ)についてのデータ同期ネットワークに属する機器
となる。
図21には、携帯情報機器のデータ同期設定の画面例が示されている。これは、時計デ
ータに関するデータ同期設定画面の例である。この画面は、左上部に設けられた各機能を
呼び出すための「設定メニュー」と、現在の設定状態を表示する設定状態の表示部と、そ
して右下部に設けられたデータ同期処理開始の実行ボタンとから構成される。現在この携
帯情報機器と通信可能な範囲内に存在して、同期処理の実行が可能な、同じデータ同期ネ
ットワークに属する機器とデータ同期を行いたい場合には、右下部の同期ボタンを押すこ
とによってデータ同期処理の機能が呼び出される。また、設定メニューの「データ同期メ
ンバの登録」を選択することによって、データ同期メンバの登録画面が表示され、この画
面に備えられた実行ボタンを押しつづけることによって、前述の腕時計の例と同様に、デ
ータ同期メンバの登録の機能を実行することができる。
以上のように、本実施形態の通信方法によれば、データ同期の通信相手に関する設定情
報を持つ必要が無く、基本的には証明書(証明データ)と優先度のみで安全・確実にデー
タ同期処理を行うことができる。しかも、同期処理開始を指示するだけで、通信可能な範
囲内に存在する他の機器との間で、同一データ同期グループに属するデータセットについ
ての同期処理が自動実行されるので、腕時計や携帯電話などのように限られたユーザイン
ターフェイスしか持たず、通信相手に関する設定が困難な機器においても、機器構成が動
的に変換するようなネットワーク環境下で容易にデータ同期を行うことができる。また、
マスターが存在せずとも、任意のスレーブ同士間でデータ同期処理を行うことができるの
で、特に、外出先で無線を用いて通信するような機器への適用に好適である。
なお、以上説明した本実施形態の通信方法は、コンピュータプログラムによって実現す
ることができるので、そのコンピュータプログラムをコンピュータ読み取り可能なCD−
ROMなどの記録媒体に記録してコンピュータに導入したり、あるいはROMなどの記録
媒体に記録して電子機器に組み込むだけで、通常の電子機器にて本実施形態と同様の効果
を得ることが可能となる。
本発明の一実施形態に係る通信方法で用いられる機器登録ステップとデータ同期ステップを説明するための図。 同実施形態で用いられる各機器の設定情報の一例を示す図。 同実施形態で用いられる各機器の構成を示すブロック図。 同実施形態で用いられる各機器に用意される機能を設定時の通信形態によって分類した図。 同実施形態のデータ同期メンバ登録処理におけるマスターとスレーブのデータのやりとりを示す図。 同実施形態のデータ同期メンバ登録処理におけるマスターの処理手順を示すフローチャート。 同実施形態のデータ同期メンバ登録処理におけるスレーブの処理手順を示すフローチャート。 同実施形態における証明データ受け渡しおよび同期処理時の通信形態の一例を示す図。 同実施形態における証明データ受け渡しおよび同期処理時の通信形態の他の例を示す図。 同実施形態におけるデータ競合時の処理例を示す図。 同実施形態におけるマスター宣言処理の処理手順を示すフローチャート。 同実施形態のデータ同期メンバ解除処理におけるスレーブの処理手順を示すフローチャート。 同実施形態のデータ同期メンバ解除処理におけるマスターの処理手順を示すフローチャート。 同実施形態のマスター引き継ぎ処理におけるマスターとスレーブのデータのやりとりを示す図。 同実施形態のマスター引き継ぎ処理におけるマスターの処理手順を示すフローチャート。 同実施形態のマスター引き継ぎ処理におけるスレーブの処理手順を示すフローチャート。 同実施形態における優先度交換時の機器間のデータのやりとりを示す図。 同実施形態の優先度交換処理における機器の処理手順を示すフローチャート。 同実施形態に適用される設定モードと実行モードのタイミングを示す図。 同実施形態の通信方法が適用される腕時計のインターフェースの一例を示す図。 同実施形態の通信方法が適用される携帯情報端末のインターフェースの一例を示す図。
符号の説明
11…通信部
12…通信制御部
13…機器入出力部
14…機器入出力制御部
15…認証部
16…データ同期ネットワーク設定管理部
17…データ同期処理部
18…同期データ記憶部

Claims (3)

  1. 複数の機器間で任意のデータに関するデータ同期処理を、無線あるいは有線のネットワー
    クを用いて行うための通信方法において、
    ユーザによりマスターとして指定されたマスター機器が、該ユーザにより該マスターの
    スレーブとして指定されたスレーブ機器に、該スレーブ機器が前記データ同期処理を行う
    グループに属することを示す証明書と、該スレーブ機器が前記データ同期処理を行う際に
    用いるべき優先度とを送出し、該スレーブ機器を、前記データ同期処理を行うグループの
    メンバとして登録する機器登録ステップと、
    あるスレーブ機器と、該あるスレーブ機器と無線あるいは有線により通信可能な状態で
    ある別の1台以上のスレーブ機器との間で、該あるスレーブ機器と該別のスレーブ機器と
    が前記データ同期処理を行うグループに属するか否かを前記証明書を用いて判断し、該グ
    ループに属すると判断されたスレーブ機器間で、前記優先度に従った前記データ同期処理
    を無線あるいは有線の通信により行うデータ同期ステップと、
    前記データ同期処理を行うグループに属するスレーブ機器同士で互いの優先度を交換す
    る優先度交換ステップとを具備することを特徴とする通信方法。
  2. 前記優先度交換ステップは、前記優先度交換ステップを実行するためのモードに設定され
    た2台の機器外に、前記優先度交換ステップを実行するためのモードに設定された他の機
    器が存在しないことを確認した後に行われることを特徴とする請求項1記載の通信方法。
  3. ユーザによりマスターとして指定された場合には、該ユーザにより自装置のスレーブとし
    て指定された機器に、該スレーブがデータ同期処理を行うグループに属することを示す証
    明書と、該スレーブが前記データ同期処理を行う際に用いるべき優先度とを発行し、送信
    する手段と、
    ユーザによりスレーブとして指定された場合には、自装置が前記データ同期処理を行う
    グループに属することを示す証明書と、自装置が前記データ同期処理を行う際に用いるべ
    き優先度とを、該ユーザにより自装置のマスターとして指定された機器から受信し、記憶
    する手段と、
    自装置と無線あるいは有線により通信可能な状態である別の1台以上のスレーブ機器が
    、前記データ同期処理を行うグループに属するか否かを該スレーブ機器が有する証明書を
    用いて判断し、該グループに属すると判断されたスレーブ機器との間で、前記優先度に従
    った前記データ同期処理を無線あるいは有線の通信により行う手段と、
    ユーザにより前記スレーブとして指定された場合、前記自装置と、前記データ同期処理
    を行うグループに属する他のスレーブ機器との間で、互いの優先度を交換する優先度交換
    手段とを具備することを特徴とする電子機器。
JP2006317254A 2006-11-24 2006-11-24 データ同期処理のための通信方法および電子機器 Expired - Fee Related JP3974161B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006317254A JP3974161B2 (ja) 2006-11-24 2006-11-24 データ同期処理のための通信方法および電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006317254A JP3974161B2 (ja) 2006-11-24 2006-11-24 データ同期処理のための通信方法および電子機器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP33023599A Division JP3963417B2 (ja) 1999-11-19 1999-11-19 データ同期処理のための通信方法および電子機器

Publications (2)

Publication Number Publication Date
JP2007122736A JP2007122736A (ja) 2007-05-17
JP3974161B2 true JP3974161B2 (ja) 2007-09-12

Family

ID=38146430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006317254A Expired - Fee Related JP3974161B2 (ja) 2006-11-24 2006-11-24 データ同期処理のための通信方法および電子機器

Country Status (1)

Country Link
JP (1) JP3974161B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012019442A (ja) * 2010-07-09 2012-01-26 Hitachi Consumer Electronics Co Ltd プロジェクタシステムおよびプロジェクタ
US8868500B2 (en) * 2011-01-14 2014-10-21 Apple Inc. Data synchronization
US9197700B2 (en) 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
US9124637B2 (en) 2013-01-18 2015-09-01 Apple Inc. Data protection for keychain syncing
JP7020317B2 (ja) * 2018-06-26 2022-02-16 株式会社リコー 共有端末、設定情報同期方法、プログラム、設定情報同期システム

Also Published As

Publication number Publication date
JP2007122736A (ja) 2007-05-17

Similar Documents

Publication Publication Date Title
JP3963417B2 (ja) データ同期処理のための通信方法および電子機器
CN101668290B (zh) 一种wlan网络配置方法及装置
JP4756865B2 (ja) セキュリティグループ管理システム
JP4029629B2 (ja) 通信機器、通信方法およびプログラム
JP3544918B2 (ja) 無線通信装置及びユーザ認証方法
EP1855440B1 (en) Personal domain controller
JP5278017B2 (ja) ネットワーク接続制御システム及び方法
JP4382659B2 (ja) ネットワークセキュリティ
JP2008236719A (ja) プライベートネットワークシステム及び方法
JP2006060589A (ja) グループ管理装置及び情報処理装置及び情報通信システム
JP2007523551A (ja) 無線マルチホップアドホックネットワークにおける機器登録
JP2008500607A (ja) デバイス組分け及び組分けデバイス同士の会話を実現する方法
JP2006120121A (ja) 機器ネットワーク運用方法
WO2011032399A1 (zh) 一种蓝牙设备间快速认证的系统及方法
JP3974161B2 (ja) データ同期処理のための通信方法および電子機器
US12259697B2 (en) Coordinating modifications by multiple users to a shared automated environment by initiating a pair setup process with an accessory
WO2015200749A1 (en) Providing secure seamless access to enterprise devices
JP6558279B2 (ja) 情報処理システム、情報処理装置、情報処理方法、情報処理プログラム
JP4984009B2 (ja) 情報管理方法および情報管理プログラム
JP2011076506A (ja) アプリケーションサービス提供システム及びアプリケーションサービス提供方法
JP2007258941A (ja) 自動更新システム、自動更新方法
JP4667178B2 (ja) 安全なアドホックネットワークを構築するシステム、方法及びコンピュータプログラム
JP2018033003A (ja) 情報処理装置、その制御方法、及びプログラム
JP4487801B2 (ja) 会議システム及び会議管理方法
JP6415865B2 (ja) ネットワークシステム、通信制御装置及び通信装置

Legal Events

Date Code Title Description
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: 20070612

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070613

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

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees