(57)【特許請求の範囲】
【請求項１】
フィンガープリント技術の実現方法であって、
データ要素の長さが予め定められた長さより大きいか等しいことを判定すること、
前記データ要素の長さが前記予め定められた長さより大きいか等しい場合には、前記データ要素に対してフィンガープリント計算を実行し、得られたフィンガープリントであって、データ項目としてフィンガープリント長さを有するフィンガープリントをデータ受信側に送信すること、
前記データ要素の長さが前記予め定められた長さより小さい場合には、更に、前記データ要素の長さが、前記フィンガープリント長さと等しいか否かを判定し、
前記データ要素の長さが、前記フィンガープリント長さと等しくない場合、データ項目として前記データ要素を前記データ受信側へ送信し、
前記データ要素の長さが、前記フィンガープリント長さと等しい場合、前記データ要素の長さが前記予め定められた長さになるまで前記データ要素に０を追加して、前記追加されたデータ要素を取得し、データ項目として前記追加されたデータ要素を前記データ受信側へ送信すること、を含み、
前記予め定められた長さは、前記フィンガープリント長さより大きい
フィンガープリント技術の実現方法。
【請求項２】
前記データ送信側と前記データ受信側とが、その両者でサポートされるフィンガープリントアルゴリズムのセットに関してネゴシエーションを行い、
前記データ要素に対してフィンガープリント計算を行う必要がある場合、両者でサポートされる前記フィンガープリントアルゴリズムのセットの中から前記データ送信側によって１つのフィンガープリントアルゴリズムが選択されてデータ要素を計算する、
ことを更に含み、
前記データ要素に対する前記フィンガープリント計算に使用するアルゴリズム型は、識別情報により示される、
請求項１に記載の方法。
【請求項３】
データ送信側からデータ項目を受信し、
前記データ項目がフィンガープリントであるかデータ要素であるかを既定規則に基づいて判定し、
前記データ項目がフィンガープリントであれば、前記フィンガープリントを格納されているフィンガープリントと比較し、比較結果に従って後続のプロセスを実装し、
前記データ項目がデータ要素であれば、前記データ要素を格納されているデータ要素と比較し、比較結果に従って後続のプロセスが実装する、
ことを含むフィンガープリント技術の実現方法であって、
前記データ項目がフィンガープリントであるかデータ要素であるかを前記既定規則に基づいて判定するステップが、
前記データ項目の長さが、フィンガープリント計算の後にフィンガープリントの長さに等しいかどうかを判定することを含み、
前記データ項目の長さが、前記フィンガープリントの長さに等しい場合には、前記データ項目はフィンガープリント計算によって得られたフィンガープリントであると判定され、
前記データ項目の長さが、前記フィンガープリントの長さに等しくない場合には、更に、前記データ項目の長さが、予め定められた長さと等しいか否かが判定され、
前記データ項目の長さが、前記予め定められた長さと等しくない場合、前記データ項目はデータ要素であると判定され、
前記データ項目の長さが、前記予め定められた長さと等しい場合、前記データ項目は、前記フィンガープリント長さとなるように切り捨てられ、切り捨てられたデータ項目が、前記データ要素として判定され、
前記予め定められた長さは、前記フィンガープリント長さより大きい
フィンガープリント技術の実現方法。
【請求項４】
前記フィンガープリントを前記格納されたフィンガープリントと比較し、比較結果に従って後続の処理を実装するステップが、
前記フィンガープリントを前記格納されたフィンガープリントと比較し、
前記２つのフィンガープリントが同一である場合には、前記データ受信側に格納されたデータ要素は更新する必要がなく、
前記２つのフィンガープリントが異なる場合には、前記データ送信側の前記データ要素が変更されたことを示し、衝突検知戦略を検査し、前記データ送信側がデータ要素を送信することが必要であるか否かを判定する、
ことを含む請求項３に記載の方法。
【請求項５】
前記衝突検知戦略を検査し、前記データ送信側がデータ要素を送信する必要があるか否かを判定するステップが、
前記衝突検知戦略を検査し、
前記衝突検知戦略が前記データ受信側上のデータ要素に基づくものであれば、前記データ送信側は前記データ項目を送信する必要がないと判定し、
前記衝突検知戦略が前記データ送信側上のデータ要素に基づくものであれば、前記データ送信側は前記データ要素を送信する必要があると判定し、かつ前記データ送信側は前記データ要素を送信するように指示される、
ことを含む請求項４に記載の方法。
【請求項６】
データ要素の長さが予め定められた長さより大きいか等しいことを判定し、前記データ要素の長さが前記予め定められた長さより小さい場合には、更に、前記データ要素の長さが、前記フィンガープリント長さと等しいか否かを判定するように構成された判定モジュールと、
前記判定モジュールが、前記データ要素の前記長さが前記予め定められた長さより大きいか等しいと判定した場合、前記データ要素に応じて対応するフィンガープリントであって、フィンガープリント長さを有するフィンガープリントを生成するように構成されたフィンガープリント計算モジュールと、
前記判定モジュールが、前記データ要素の前記長さが前記予め定められた長さより大きいか等しいと判定した場合、前記フィンガープリント計算モジュールにより生成された前記フィンガープリントをデータ項目としてデータ受信装置に送信するか、又は前記判定モジュールが、前記データ要素の前記長さが前記予め定められた長さより小さく、更に前記フィンガープリント長さと等しくないと判定した場合、データ項目として前記データ要素を前記データ受信装置へ送信するか、又は前記判定モジュールが、前記データ要素の長さが、前記予め定められた長さより小さく、更に前記フィンガープリント長さと等しいと判定した場合、前記データ要素の長さが前記予め定められた長さになるまで前記データ要素に０を追加することにより得られた、前記追加されたデータ要素を、データ項目として前記データ受信装置へ送信するように構成された、データ送信モジュールと、
を備え、
前記予め定められた長さは、前記フィンガープリント長さより大きい
データ送信装置。
【請求項７】
前記フィンガープリント計算モジュールは、
データ送信装置とデータ受信装置の両者でサポートされるフィンガープリントアルゴリズムのセットに関して前記データ受信装置とネゴシエートするように構成された、アルゴリズムネゴシエーションユニットと、
データ要素に対してフィンガープリント計算の実行が必要な場合にデータ要素を計算するために、両者でサポートされる前記フィンガープリントアルゴリズムのセットから１つのフィンガープリントアルゴリズムを選択するように構成されたアルゴリズム選択ユニットと、
前記アルゴリズム選択ユニットにより選択された前記アルゴリズムを用いてフィンガープリント生成を必要とするデータ要素に対するフィンガープリント計算を実行するように構成された、フィンガープリント計算ユニットと、
を含み、
前記フィンガープリント計算を実行する際に、前記データ要素のアルゴリズム型は識別情報で指示される、
請求項６に記載のデータ送信装置。
【請求項８】
データ送信装置により送信されたデータ項目を受信するように構成された、データ受信モジュールと、
前記データ受信モジュールにより受信された前記データ項目が、フィンガープリントであるかデータ要素であるかを既定の規則に基づいて判定するように構成された、データ判定モジュールと、
データ要素又はフィンガープリントを格納するように構成されたデータ格納モジュールと、
受信した前記データ項目がフィンガープリントであることを前記データ判定モジュールが判定した場合に、前記受信したフィンガープリントを前記格納されたフィンガープリントと比較し、比較結果に従って後続処理を実装するように構成され、又は、受信した前記データ項目がデータ要素であることをデータ判定モジュールが判定した場合に、前記受信したデータ要素を格納されたデータ要素と比較し、比較結果に従って後続処理を実装するように構成された、データ処理モジュールと、
を含み、
前記データ受信モジュールにより受信された前記データ項目がフィンガープリントであるかデータ要素であるかを前記既定の規則に基づいて判定することが、
前記データ項目の長さが、フィンガープリント計算の後にフィンガープリントの長さに等しいかどうかを判定することを含み、
前記データ項目の長さが、前記フィンガープリントの長さに等しい場合には、前記データ項目はフィンガープリント計算によって得られたフィンガープリントであると判定され、
前記データ項目の長さが、前記フィンガープリントの長さに等しくない場合には、更に、前記データ項目の長さが、予め定められた長さと等しいか否かが判定され、
前記データ項目の長さが、前記予め定められた長さと等しくない場合、前記データ項目はデータ要素であると判定され、
前記データ項目の長さが、前記予め定められた長さと等しい場合、前記データ項目は、前記フィンガープリント長さとなるように切り捨てられ、切り捨てられたデータ項目が、前記データ要素として判定され、
前記予め定められた長さは、前記フィンガープリント長さより大きい
データ受信装置。
【請求項９】
前記データ処理モジュールは、
前記受信したデータ項目がフィンガープリントであることを前記データ判定モジュールが判定した場合に、前記受信したフィンガープリントと格納されたフィンガープリントとを比較し、比較結果に従って後続処理を実装するように構成された、フィンガープリント処理ユニットと、
前記受信したデータ項目がデータ要素であることを前記データ判定モジュールが判定した場合に、前記受信したデータ要素と格納されたデータ要素とを比較し、比較結果に従って後続処理を実装するように構成された、データ処理ユニットと、
を含む、
請求項８に記載のデータ受信装置。
【請求項１０】
前記フィンガープリント処理ユニットは、
前記受信したデータ項目がフィンガープリントであることを前記データ判定モジュールが判定した場合に、前記受信したフィンガープリントを前記格納されたフィンガープリントと比較する様に構成されたフィンガープリント比較サブユニットであって、前記２つのフィンガープリントが同一である場合には前記データ受信装置内に格納されている前記データ要素は更新の必要がなく、前記２つのフィンガープリントが異なる場合には前記データ送信装置の前記データ要素は変更されていることが示されることを特徴とする、フィンガープリント比較サブユニットと、
衝突検知戦略を検査し、前記データ送信装置が  前記データ要素を送信する必要があるか否かを判定するように構成された、判定サブユニットであって、前記衝突検知戦略が前記データ受信装置上のデータ要素に基づく場合には、前記データ送信装置は前記データ要素を送信する必要がないことを特徴とする、判定サブユニットと、
前記２つのフィンガープリントが異なり、かつ前記衝突検知戦略が前記データ送信装置上のデータ要素に基づいている場合に、前記データ送信装置に前記データ要素の送信を指示するように構成された、指示サブユニットと、
前記格納されたデータ要素を前記受信したデータ要素に更新するように構成された、データ更新サブユニットと、
を含む、請求項９に記載のデータ受信装置。
【請求項１１】
前記データ処理ユニットは、
前記受信したデータ要素がデータ要素であることを前記データ判定モジュールが判定した場合に、前記受信したデータ要素を前記格納されたデータ要素と比較する様に構成されたデータ比較サブユニットであって、前記２つのデータ要素が同一である場合にはデータ受信側に格納されているデータ要素は更新の必要がなく、前記２つのデータ要素が異なる場合には前記データ送信装置の前記データ要素は変更されていることが示されることを特徴とするデータ比較サブユニットを含み、
また、前記データ処理ユニットは更に、
前記衝突検知戦略を検査し、前記データ受信装置に格納された前記データ要素を更新する必要があるか否かを判定するように構成された、判定サブユニットであって、前記衝突検知戦略が前記データ受信装置上のデータ要素に基づく場合には、前記データ受信装置上の前記データ要素は更新の必要がないことを特徴とする判定サブユニットと、
前記２つのフィンガープリントが異なり、かつ前記衝突検知戦略が前記データ送信装置上のデータ要素に基づいている場合に、前記データ受信装置内に格納された前記データ要素を前記受信したデータ要素に更新するように構成された、データ更新サブユニットと、
を含む、
請求項１０に記載のデータ受信装置。
【請求項１２】
フィンガープリント技術の実現システムであって、
請求項６又は７記載のデータ送信装置と、
請求項８〜請求項１１の何れか１項記載のデータ受信装置と、
を含む、フィンガープリント技術の実現システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２００８年１２月３０日出願の国際出願ＰＣＴ／ＣＮ２００８／０７３８５１号の継続出願であり、２００８年１月２４日に出願された中国特許出願第２００８１００２６００９．４号の優先権を主張する。両者の開示全体が参照により本明細書中に取り込まれるものとする。
【０００２】
本発明はデータ同期（ＤＳ）技術に関し、より具体的には、フィンガープリント技術の実現方法及びシステム、データ送信装置、及びデータ受信装置に関する。
【背景技術】
【０００３】
現代社会は情報社会である。ユーザはいつでも、どこでも情報の受信、送信をすることができ、又、携帯端末でアプリケーション・プログラムを実行することも可能である。データのやり取りや、アプリケーション・プログラムの結果は携帯端末中に格納されることが必要であり、また他のデータ装置とデータの型が一致することが必要である。１つの装置のデータが変化すると、他の装置のデータもそれに応じて変化し得る。これはデータ同期（ＤＳ）と呼ばれる。
【０００４】
ＤＳ技術はフィンガープリントと呼ばれる方法を利用する。これはあるアルゴリズムを通して処理される一連のデータから得られる値である。データの任意の変化は異なるフィンガープリントとなって現れ、その結果、フィンガープリントによりデータを効果的に識別することができる。データ要素からデータベースまでの任意のデータに基づいて、対応するフィンガープリントを生成することができる。サーバはフィンガープリントを利用して、端末から受信したデータがサーバに格納されているデータと同じかどうかを判定する。サーバ上であれ、端末上であれ、データが変化すると、フィンガープリントは変わる。受信したフィンガープリントが格納されているフィンガープリントと同一であれば、それはサーバ及び端末上のデータが同一であることを示しており、端末はデータを送信する必要がない。フィンガープリントが異なっている場合には、データが変更されたことを示している。この時は、衝突検知戦略がチェックされ、戦略がサーバ上のデータに基づいていれば、端末はこの場合もデータを送信する必要がない。このようにして、フィンガープリントを比較することにより、不要なデータ送信を防ぐことができ、その結果トラフィックが節約される。更に、フィンガープリントはレジューム可能なダウンロードに利用されてもよい。
【０００５】
様々なアルゴリズムがフィンガープリント用に採用される。交信する双方のパーティが同一のアルゴリズムを使用するために、アルゴリズムのネゴシエーションが必要である。片方のパーティがサポートされた一連のアルゴリズムを相手方のパーティに送信し、相手方のパーティはサポートされるフィンガープリントアルゴリズムを見つけて相方に通知する。こうしてアルゴリズムネゴシエーションが完了する。現在利用されている同期のフローは図１に示す通りである。
【０００６】
１）フィンガープリントの使用方式に関するネゴシエーションがＰＫＧ１とＰＫＧ２に加えられる。
【０００７】
２）データのＩＤとフィンガープリントがＰＫＧ３で送信される。
【０００８】
３）ＰＫＧ３を受信した後、サーバがフィンガープリントを比較し、クライアントがＰＫＧ４を介して送信する必要のあるデータ要素の識別を示す。
【０００９】
４）ＰＫＧ４を受信した後、クライアントはサーバの指示に従って、要求されたデータ要素をＰＫＧ５で送信する。
【００１０】
５）ＰＫＧ５を受信した後、サーバは受信状態に関する情報をＰＫＧ６で戻す。そして、自由選択によりサーバ上で変更されたデータを送信する。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明の実装において、発明者らは既存のフィンガープリント技術に以下のような欠点があることを見出した。
【００１２】
フィンガープリントは長いデータ要素を短いフィンガープリントで置き換え、その結果として伝送されるデータ量を減少させるように構成されている。しかしながら、比較をしてみると、アルゴリズムによっては、得られたフィンガープリントが対応するデータより長いものがある。この場合、フィンガープリントを計算し送信することは無意味である。フィンガープリントが計算されて送信される場合には、装置（とくにクライアントの装置）での計算量が増大する。更には、データ項目のあるものに対してはクライアントとサーバとの間で余計な相互作用が生じ、エアインタフェースリソースの浪費となってしまう。現在のところ、この欠点を克服する技術は提案されていない。
【課題を解決するための手段】
【００１３】
本発明は、フィンガープリント技術の実現方法及びシステム、データ送信装置、及びデータ受信装置を対象とし、長さの短いデータ項目に対するフィンガープリント計算と、ＤＳ時の不要のデータ伝送を避けるためのものである。従って、ＤＳ効率が改善される。
【００１４】
１つの実施形態において、本発明はフィンガープリント技術の実現方法を提供する。それは以下のステップを含む。
【００１５】
データ要素の長さが最小長さより大きいか等しいことが判定される。
【００１６】
データ要素の長さが最小長さより大きいか等しい場合には、データ要素に対してフィンガープリント計算が実行され、得られたフィンガープリントはデータ受信側に送信される。あるいはデータ項目の長さが最小長さより小さい場合には、データ要素がデータ受信側へ送信される。
【００１７】
１つの実施形態において、本発明は更にフィンガープリント技術の実現方法を提供する。それは以下のステップを含む。
【００１８】
データ項目がデータ送信側から受信される。
【００１９】
そのデータ項目がフィンガープリントであるかデータ要素であるかが、既定規則に基づいて判定される。データ項目がフィンガープリントであれば、そのフィンガープリントが格納されているフィンガープリントと比較され、比較結果に従って後続のプロセスが実装される。データ項目がデータ要素であれば、そのデータ要素が格納されているデータ要素と比較されて、比較結果に従って後続のプロセスが実装される。
【００２０】
１つの実施形態において本発明は更にデータ送信装置を提供する。そこには、判定モジュール、フィンガープリント計算モジュール及びデータ送信モジュールが含まれる。
【００２１】
判定モジュールは、データ要素の長さが既定の最小長さより大きいか等しいことを判定するように構成されている。
【００２２】
フィンガープリント計算モジュールは、データ要素の長さが既定の最小長さより大きいか等しいことを判定モジュールが判定すると、データ要素に応じて対応するフィンガープリントを生成するように構成されている。
【００２３】
データ送信モジュールは、フィンガープリント計算モジュールにより生成されたフィンガープリントをデータ受信装置に送信するか、又は判定モジュールが、データ要素の長さが既定の最小長さより小さいと判定した場合には、データ要素をデータ受信装置へ送信するように構成されている。
【００２４】
従って、実施形態において本発明は更にデータ受信装置を提供し、そこにはデータ格納モジュールと、データ受信モジュールと、データ判定モジュールと、データ処理モジュールとが含まれる。
【００２５】
データ格納モジュールは、データ又はフィンガープリントを格納するように構成される。
【００２６】
データ受信モジュールは、データ送信装置により送信されたデータ項目を受信するように構成されている。
【００２７】
データ判定モジュールは、データ受信モジュールにより受信されたデータ項目が、フィンガープリントであるかデータ要素であるかを既定の規則に基づいて判定するように構成されている。
【００２８】
データ処理モジュールは、受信データ項目がフィンガープリントであるとデータ判定モジュールが判定した場合には、受信したフィンガープリントを格納されたフィンガープリントと比較し、比較結果に従って後続処理を実装するように構成され、又は、受信データ項目がデータ要素であるとデータ判定モジュールが判定した場合には、受信したデータ要素を格納されたデータ要素と比較し、比較結果に従って後続処理を実装するように構成されている。
【００２９】
ある実施形態では本発明は更に、フィンガープリント技術を実現するシステムを提供し、そこにはデータ送信装置とデータ受信装置とが含まれる。
【００３０】
データ送信装置はデータ要素の長さが最小長さより大きいか等しいことを判定するように構成されており、データ要素の長さが最小長さより大きいか等しい場合には、データ要素に対してフィンガープリント計算が実行され、得られたフィンガープリントはデータ受信装置へ送信される。あるいは、データ項目の長さが最小長さより小さい場合には、データ要素がデータ受信装置へ送信される。
【００３１】
データ受信装置は、データ送信装置からデータ項目を受信し、そのデータ項目がフィンガープリントであるかデータ要素であるかを既定の規則に基づいて判定するように構成されている。データ項目がフィンガープリントであれば、そのフィンガープリントが、格納されているフィンガープリントと比較され、比較結果に従って後続プロセスが実装される。データ項目がデータ要素であれば、そのデータ要素が、格納されているデータ要素と比較されて、比較結果に従って後続プロセスが実装される。
【００３２】
本発明の実施形態は、以下のような有益な効果を持つ。
【００３３】
フィンガープリント計算を必要とするデータに対する最小長さを事前に設定することにより、そのデータ項目に対してフィンガープリントを生成することが必要かどうかが判定され、それに応じて、フィンガープリントとデータ項目のいずれを送信すべきかが判定される。このように、長さの短いデータ項目に対するフィンガープリント計算と、ＤＳ時の不要データ伝送とが回避され、従って、ＤＳの効率が改善される。
【００３４】
本発明における技術ソリューションを明確にするために、本発明の実施形態又は従来技術を説明する添付の図面の概略を以下に述べる。明らかに、添付の図面は例示を目的とするものであり、当業者であれば、なんらの創造的努力なしに、これらの添付図面から他の図面を派生させることができるであろう。
【図面の簡単な説明】
【００３５】
【図１】従来技術におけるフィンガープリント技術実現の模式的フローチャートである。
【図２】本発明の実施形態による、フィンガープリント技術実現の模式的フローチャートである。
【図３】本発明の実施形態による、フィンガープリント技術実現システムの模式的構造図である。
【図４】本発明の実施形態による、データ送信装置の模式的構造図である。
【図５】本発明の実施形態による、データ受信装置の模式的構造図である。
【図６】図５に示すデータ受信装置内のデータ処理モジュールの模式的構造図である。
【発明を実施するための形態】
【００３６】
以下の詳細な説明は、添付の図面を参照した本発明の技術ソリューションを対象としている。しかし、説明する実施形態は、本発明の実施形態のいくつかに過ぎない。当業者であれば本明細書に記載の実施形態から創造的努力なしに他の実施形態を派生させることは可能である。そのような実施形態はすべて本発明の保護範囲に含まれる。
【００３７】
実施形態において本発明は、長さの短いデータ項目に対するフィンガープリント計算と、ＤＳ時における不要のデータ伝送とを避け、ＤＳの効率を改善するための、フィンガープリント技術の実現方法及びシステム、データ送信装置、及びデータ受信装置を提供する。
【００３８】
図２は本発明による、フィンガープリント技術実現のための第１の実施形態の模式的フローチャートである。
【００３９】
本発明の実施形態においては、クライアント及びサーバを通信の両当事者として記述する。即ち、クライアントはデータ送信側であり、サーバはデータ受信側である。
【００４０】
まず最初に、最小長さの値がクライアント上に前以って設定され、識別ＦＰＬｉｍｉｔにより示される。ＦＰＬｉｍｉｔは整数のデータであり、データ項目の長さがＦＰＬｉｍｉｔで特定される長さより長いか等しい場合にのみ、データ項目に対するフィンガープリント計算が実行されることを示す。ＦＰＬｉｍｉｔが存在しない場合には、すべてのデータ項目に対してフィンガープリント計算が実行される。識別情報は、装置に関係するＤｅｖｉｃｅ  Ｉｎｆｏ内に格納され、スキーマは次のようになる。
【００４１】
＜ｘｓ：ｅｌｅｍｅｎｔ  ｎａｍｅ＝”ＦＰＬｉｍｉｔ”  ｔｙｐｅ＝”ｘｓ：ｉｎｔ”ｍｉｎＯｃｃｕｒｓ＝”０”／＞
【００４２】
識別情報はＤＳ  ＭＯにも格納されてもよい。この場合、ＤＳ  ＭＯに新たに付加される木構造は以下のようである。
【００４３】
【表１】
0005416135.tif 000002
【００４４】
フィンガープリント計算を必要とするデータ項目の最小長さはＦＰＬｉｍｉｔ内に記録されている。
【００４５】
＜ｘ＞／ＦＰ
【表２】
0005416135.tif 000003
＜ｘ＞／ＦＰは中間ノードであり、ＤＳクライアントのフィンガープリント関連情報を記録する。
【００４６】
＜ｘ＞／ＦＰ／ＦＰＬｉｍｉｔ
【表３】
0005416135.tif 000004
ノード、＜ｘ＞／ＦＰ／ＦＰＬｉｍｉｔ、は、ＤＳ処理時にフィンガープリント計算を必要とするデータ項目の最小長さを定義する。
【００４７】
ステップ１００で、クライアントがＰＫＧ１をサーバへ送信する。ＰＫＧ１は初期パッケージであり、同期方向、同期挙動、ＩＤ妥当性、ＣｈａｎｇｅＬｏｇ妥当性、等の同期ネゴシエーションパラメータに関する情報を伝送する。これらは同業者には周知の事柄であり、詳細は本明細書では述べない。本発明のこの実施形態においては、クライアントからサーバへ送信されたＰＫＧ１は更にＦＰＬｉｍｉｔも含む。
【００４８】
ステップ１０１で、サーバがＰＫＧ１を受信し、ＦＰＬｉｍｉｔを格納する。既定の規則に基づいて判定した後、サーバは、同意された、あるいは変更された、同期方向、同期挙動、ＩＤ妥当性、ＣｈａｎｇｅＬｏｇ妥当性、等を含む同期パラメータを返信し、クライアントにデータ項目を送信するように指示する。
【００４９】
ステップ１０２で、サーバの指示と既定のデータ最小長さとに従って、クライアントは送信されるデータ項目の長さが既定の最小長さより大きいか又は等しいか、を判定する。送信されるデータ項目の長さが既定の最小長さより大きいか又は等しい場合には、データ項目に応じて対応するフィンガープリントが生成され、即ち、そのデータ項目に対してフィンガープリント計算が実行され、得られた既定のフィンガープリント長さを有するフィンガープリントがサーバへ送信される。送信されるデータ項目の長さが、既定の最小長さより短い場合には、データ要素（即ち、データ項目）がサーバへ送信される。データ項目の長さが既定のフィンガープリント長さに等しい場合には、そのデータ項目にいくつかの０を追加して、長さが既定の最小長さに等しくなるようにしてから、データ項目をサーバへ送信する。
【００５０】
サーバがクライアントからデータ項目を受信した後、受信したデータ項目が既定のフィンガープリント長さより短いか、既定のフィンガープリント長さより長いが既定の最小長さよりは短い場合、それはデータ項目、即ちデータ要素であることが直接判定され、サーバに格納されているデータと直接比較される。データ長さが既定のフィンガープリント長さである場合には、データ項目はフィンガープリントと比較される。データ長さが既定の最小長さである場合には、データ項目は既定のフィンガープリント長さにまで切り詰められて、サーバに格納されているデータと直接比較される。
【００５１】
データ要素であると判定されたデータ項目は、サーバに格納されたデータ項目と比較される。２つのデータ項目が同一である場合は、サーバのデータとクライアントのデータとは同一であり、クライアントはデータを送信する必要がない。２つのデータが異なっている場合には、データが変更されたことを示している。この時は、衝突検知戦略がチェックされ、戦略がサーバ上のデータに基づいていれば、サーバはこの場合もデータを更新する必要がない。戦略がクライアント上のデータに基づいていれば、サーバはクライアントから送信されたデータ項目に応じて、格納されたデータを更新する。
【００５２】
フィンガープリントであると判定されたデータ項目は、サーバのフィンガープリントと比較されて、後続処理が実装される。２つのデータ項目が同一である場合は、サーバのデータとクライアントのデータとは同一であり、端末はデータを送信する必要がない。２つのデータが異なっている場合には、データが変更されたことを示している。この時は、衝突検知戦略がチェックされ、戦略がサーバ上のデータに基づいていれば、クライアントはこの場合もデータを送信する必要がない。
【００５３】
戦略がクライアントのデータに基づいていれば、ステップ１０３において、サーバがクライアントにデータ項目を送信するように指示する。このようにして、フィンガープリントを比較することにより、不要なデータ送信が回避され、その結果トラフィックが節約される。
【００５４】
任意選択で、クライアントからサーバに送信されたデータ項目に、識別ＦＰＦｌａｇが追加されてもよい。ＦＰＦｌａｇは整数のデータである。ＦＰＦｌａｇ＝０であれば、データ項目が送信予定であることが示される。ＦＰＦｌａｇ≠０であれば、データ項目のフィンガープリントが送信予定であることが示される。ＦＰＦｌａｇの様々な値で、様々なフィンガープリントアルゴリズムが識別されるようになっている。
【００５５】
クライアントとサーバの双方でサポートされるフィンガープリントアルゴリズムのセットは、ネゴシエーションを通して事前に決定されてもよいことに留意されたい。この場合、ＤＳ  ＭＯに新たに付加される構造は次のとおりである。
【００５６】
【表４】
0005416135.tif 000005
【００５７】
＜ｘ＞／ＦＰ／＜ｘ＞
【表５】
0005416135.tif 000006
＜ｘ＞／ＦＰ／＜ｘ＞は中間ノードであり、ＤＳクライアントによりサポートされる１つまたは複数のフィンガープリントアルゴリズムを記録する。
【００５８】
＜ｘ＞／ＦＰ／＜ｘ＞／Ａｌｇｏｒｉｔｈｍ
【表６】
0005416135.tif 000007
＜ｘ＞／ＦＰ／＜ｘ＞／アルゴリズムは葉ノードであり、ＤＳクライアントによりサポートされるフィンガープリントを記録する。以下に番号の定義を示す。
【００５９】
【表７】
0005416135.tif 000008
当然ながら、情報はＤｅｖｉｃｅ  Ｉｎｆｏに格納されてもよい。フィンガープリント生成アルゴリズムのスキーマは以下の通りである。
【００６０】
＜ｘｓ：ｅｌｅｍｅｎｔ  ｎａｍｅ＝”ＦＰＡｌｇｏｒｉｔｈｍ”  ｔｙｐｅ＝”ｘｓ：ｉｎｔｅｇｅｒ”／＞
【００６１】
値はフィンガープリントアルゴリズムのタイプを示すようになっており、値の定義は上記の表と同じである。
【００６２】
ＤＳ時においてクライアントとサーバは、サポートされたフィンガープリントアルゴリズムのセットの中から、両者でサポートされるフィンガープリントアルゴリズムのサブセットを選択することに留意されたい。クライアント上でデータ項目に対してフィンガープリント計算が必要とされる場合、計算実行のためのフィンガープリント計算アルゴリズムがサブセットから選択され、ＦＰＦｌａｇにより識別される。得られたフィンガープリントはサーバに送信される。
【００６３】
クライアントからデータ項目を受信した後、サーバは、データ項目の識別ＦＰＦｌａｇに従って、データ項目がフィンガープリントであるかデータ項目であるかを判定する。サーバがデータ項目を受信した場合は、そのデータ項目は格納されたデータ項目と比較され、比較結果に従って後続の処理が実装される。２つのデータ項目が同一である場合は、サーバのデータとクライアントのデータとは同一であり、サーバはデータを更新する必要がない。２つのデータが異なっている場合には、データが変更されたことを示している。この時は、衝突検知戦略がチェックされ、戦略がサーバ上のデータに基づいていれば、サーバはこの場合もデータを更新する必要がない。戦略がクライアント上のデータに基づいていれば、サーバはクライアントから送信されたデータ項目に応じて、格納されたデータを更新する。
【００６４】
サーバがフィンガープリントを受信する場合、サーバは受信したフィンガープリントと格納されているフィンガープリントとを比較し、比較結果に従って後続プロセスが実装される。２つのフィンガープリントが同一である場合は、サーバのデータとクライアントのデータとは同一であることを示しており、端末はデータを送信する必要がない。フィンガープリントが異なっている場合には、データが変更されたことを示している。この時は、衝突検知戦略がチェックされ、戦略がサーバ上のデータに基づいていれば、クライアントはこの場合もデータを送信する必要がない。
【００６５】
戦略がクライアント上のデータに基づいている場合、ステップ１０３において、サーバはクライアントが送信しなければならないデータ要素の識別情報を示す。
【００６６】
ステップ１０４において、サーバにより指示されたデータ要素をクライアントが送信する。
【００６７】
ステップ１０５において、サーバは受信状態に関する情報をクライアントへ返し、任意選択で変更されたデータを返す。
【００６８】
ステップ１０６において、クライアントはデータ受信状態をクライアントに返し、マッピング命令をサーバに送信する。
【００６９】
ステップ１０７において、サーバはマッピング命令に対する状態情報をクライアントへ返す。ステップ１０８において、クライアントはＤＳ結果をユーザへ返す。
【００７０】
本発明の実施形態で提供されるフィンガープリント技術の実現方法においては、フィンガープリント計算を必要とするデータの最小長さを事前に設定することにより、データ項目に対し対応するフィンガープリントの生成が必要かどうかが判定され、それによってフィンガープリントを送信するかデータ項目を送信するかが判定される。更に、個々のデータ項目について識別情報が設定されて、送信したのはフィンガープリントであるかデータ項目であるかを受信側に通知し、かつ利用したフィンガープリントアルゴリズムを受信側に通知する。このように、長さの短いデータ項目に対するフィンガープリント計算と、ＤＳ時の不要データ伝送とが回避され、ＤＳの効率が改善される。
【００７１】
図２は本発明によるフィンガープリント技術実現のための第２の実施形態の模式的フローチャートである。
【００７２】
図２に示すように、表８のデータはクライアント上の送信を必要とするデータであり、フィンガープリントアルゴリズムの後のフィンガープリントの長さは８バイトであり、かつＦＰＬｉｍｉｔは２０バイトに設定されるものとする。表８の第３列はフィンガープリントであり、フィンガープリント計算は、ＦＰＬｉｍｉｔ（２０バイト）より長いか等しいデータ項目に対してのみ実行されることに留意されたい。データ項目が８バイトの場合、データが２０バイトになるまでゼロを追加することにも留意されたい。サーバが２０バイトのデータを見つけると、データをそのまま切り捨てて８バイトとし、データ要素として処理する。
【００７３】
【表８】
0005416135.tif 000009
【００７４】
ステップ１００において、クライアントがＰＫＧ１をサーバへ送信する。ＰＫＧ１は初期パッケージであり、同期方向、同期挙動、ＩＤ妥当性、ＣｈａｎｇｅＬｏｇ妥当性、等の同期ネゴシエーションパラメータに関する情報を伝送する。これらは同業者には周知の事柄であり、詳細は本明細書では述べない。本発明のこの実施形態においては、クライアントからサーバへ送信されたＰＫＧ１は更にＦＰＬｉｍｉｔも含む。
【００７５】
Ｐｋｇ＃１：
＜ＦＰＬｉｍｉｔ＞２０＜／ＦＰＬｉｍｉｔ＞
【００７６】
ステップ１０１において、サーバがＰＫＧ１を受信し、ＦＰＬｉｍｉｔを格納する。既定の規則に基づいて判定した後に、サーバは合意された、又は変更された同期パラメータを返す。
【００７７】
ステップ１０２においてクライアントはＰＫＧ３を送信し、表８に従って、フィンガープリントがある場合にはＩＤとフィンガープリントとを送信し、フィンガープリントがない場合にはＩＤとデータ項目とを送信する。
【００７８】
サーバがＰＫＧ３を受信した後、受信したデータ項目の長さが、フィンガープリントの長さ（８バイト）より短いか、８バイトより長いが２０バイトよりは短い場合には、それがデータ項目であることを直接に判定することが可能であり、サーバに格納されているデータ項目と直接比較される。データ長が８バイトの場合、データ項目はサーバに格納されているフィンガープリントと比較される。長さが２０バイトの場合は、データ項目は８バイトに切り捨てられ、サーバに格納されているデータ項目と直接比較される。
【００７９】
データ項目１０１２と１０１４はデータ項目として判定され、サーバに格納されたデータ項目と比較される。２つのデータ項目が異なり、かつ衝突戦略においてクライアントが優先される場合、後続の処理が直ちに実行され、サーバは、クライアントにこの２つのデータ項目をＰＫＧ４を介して送信するように通知する必要がない。
【００８０】
２０バイト長のデータ項目１０１７に関しては、データ項目１０１７が切り捨てられて８バイトとされ、データ項目と比較されて、その後で後続処理が実装される。２つのデータ項目が同一である場合は、サーバのデータとクライアントのデータとは同一であることを示しており、サーバはデータを更新する必要がない。データ項目が異なっている場合には、データが変更されたことを示している。この時は、衝突検知戦略がチェックされ、戦略がサーバ上のデータに基づいていれば、サーバはこの場合もデータを更新する必要がない。戦略がクライアント上のデータに基づいていれば、サーバはクライアントから送信されたデータ項目に応じて、格納されたデータを更新する。
【００８１】
データ項目１０１３と１０１５に関しては、データ項目のデータ長が８バイトであるから、データ項目はサーバにあるフィンガープリントと比較され、後続処理が実装される。フィンガープリントが同一である場合は、サーバのデータとクライアントのデータは同一であることを示しており、端末はデータを送信する必要がない。フィンガープリントが異なっている場合には、データが変更されたことを示している。この時は、衝突検知戦略がチェックされ、戦略がサーバ上のデータに基づいていれば、クライアントはこの場合もデータを送信する必要がない。
【００８２】
戦略がクライアントのデータに基づいていれば、ステップ１０３において、サーバがクライアントにデータ項目を送信するように指示する。このようにして、フィンガープリントを比較することにより、不要なデータ送信が回避され、その結果トラフィックが節約される。
【００８３】
これ以降のステップは第１の実施形態の場合と同一であり、同業者にはこれも周知である。従ってここでは詳細を述べない。
【００８４】
図２は本発明による、フィンガープリント技術実現のための第３の実施形態の模式的構造図である。
【００８５】
表９のデータはクライアントに送信されるべきものとする。表９の第３列は識別ＦＰＦｌａｇであり、列中の値は装置によって設定される。「０」はデータ項目を示し、他の値はフィンガープリントが送信されることを表し、異なるフィンガープリントアルゴリズムを示す。表１０は、ネゴシエーションを通してクライアントとサーバによってサポートされるフィンガープリントアルゴリズムのセットを示す。
【００８６】
【表９】
0005416135.tif 000010
【表１０】
0005416135.tif 000011
【００８７】
ステップ１００において、クライアントがＰＫＧ１をサーバへ送信する。ＰＫＧ１は初期パッケージであり、同期方向、同期挙動、ＩＤ妥当性、ＣｈａｎｇｅＬｏｇ妥当性、等の同期ネゴシエーションパラメータに関する情報を伝送する。これらは同業者には周知の事柄であり、詳細はここでは述べない。
【００８８】
Ｐｋｇ＃１：
＜ＦＰＬｉｍｉｔ＞２０＜／ＦＰＬｉｍｉｔ＞
【００８９】
ステップ１０１において、既定の規則に基づいて判定した後に、サーバは合意された、又は変更された同期パラメータを返す。
【００９０】
ステップ１０２において、クライアントはＰＫＧ３を送信する。これはデータ項目を含む。表９によれば、ＦＰＦｌａｇ≠０であればデータ項目に対してフィンガープリント計算が実行され、ＩＤとフィンガープリントが送信される。ＦＰＦｌａｇ＝０であれば、ＩＤとデータ項目が送信される。ＦＰＦｌａｇの値は、データ項目の長さが既定の最小長さより大きいか又は等しいかどうかによって判定されるということに留意されたい。
【００９１】
ＰＫＧ３を受信した後、サーバは、１０１２、１０２４、１０１７がＦＰＦｌａｇの値に従ってデータ項目を受信するように判定する。データ項目をサーバ上に格納されているものと比較して、２つのデータ項目が異なり、かつ衝突戦略においてクライアントが優先される場合、後続の処理が直ちに実行され、サーバは、クライアントにデータ項目をＰＫＧ４を通して送信するように通知する必要がない。
【００９２】
１０１３と１０１５がフィンガープリントを受信する。ここで、１０１３はＣｈａｎｇｅ  Ｌｏｇアルゴリズムを介して取得したフィンガープリントを受信し、１０１５はＨａｓｈアルゴリズムを介して取得してフィンガープリントを受信する。従って、フィンガープリントはサーバに格納されているものと比較されて、後続処理が実行される。２つのフィンガープリントが同一である場合は、サーバのデータとクライアントのデータとは同一であることを示しており、端末はデータを送信する必要がない。２つのフィンガープリントが異なっている場合には、データが変更されたことを示している。この時は、衝突検知戦略がチェックされ、戦略がサーバ上のデータに基づいていれば、クライアントはこの場合もデータを送信する必要がない。
【００９３】
戦略がクライアントのデータに基づいていれば、ステップ１０３において、サーバがクライアントにデータ項目を送信するように指示する。このようにして、フィンガープリントを比較することにより、不要なデータ送信が回避され、その結果トラフィックが節約される。
【００９４】
これ以降のステップは第１の実施形態の場合と同一であり、同業者にはこれも周知である。従ってここでは詳細を述べない。
【００９５】
図３は本発明の実施形態による、フィンガープリント技術実現システムの模式的構造図である。
【００９６】
図３に示すように、このシステムはデータ送信装置１とデータ受信装置２とを含む。
【００９７】
データ送信装置１は、データ項目に応じて対応するフィンガープリントを生成する必要があるか否かを既定の規則に基づいて判定するように構成されている。データ項目に応じて対応するフィンガープリントを生成する必要があると判定されると、そのデータ項目に対してフィンガープリント計算が実行され、得られたフィンガープリントがデータ受信装置２へ送信される。対応するフィンガープリントを生成することが不要であると判定されると、データ要素がデータ受信装置２へ送信される。
【００９８】
特に、データ送信装置１は、判定モジュール１０とフィンガープリント計算モジュール１１とデータ送信モジュール１２とを含む。その構造と機能については図４を用いて以下で詳細に説明する。
【００９９】
データ受信装置２は、データ送信装置１からデータ項目を受信し、そのデータ項目がフィンガープリントであるかデータ要素であるかを既定の規則に基づいて判定するように構成されている。データ項目がフィンガープリントであれば、そのフィンガープリントが格納されているフィンガープリントと比較され、比較結果に従って後続プロセスが実装される。データ項目がデータ要素であれば、そのデータ要素が格納されているデータ要素と比較されて、比較結果に従って後続プロセスが実装される。
【０１００】
特に、データ受信装置２は、データ格納モジュール２０とデータ受信モジュール２１とデータ判定モジュール２２とデータ処理モジュール２３とを含む。その構造と機能については図５を用いて以下で詳細に説明する。
【０１０１】
図４は本発明の実施形態による、データ送信装置の模式的構造図である。
【０１０２】
本発明の実施形態では、クライアントをデータ送信装置として説明する。
【０１０３】
図４に示すようにクライアントは、判定モジュール１０とフィンガープリント計算モジュール１１とデータ送信モジュール１２とを含む。
【０１０４】
判定モジュール１０は、送信されたデータ項目の長さが既定の最小長さより大きいか等しいことを判定するように構成されている。サーバ上の既定の最小長さは識別ＦＰＬｉｍｉｔで指示されていることに留意されたい。ＦＰＬｉｍｉｔは整数のデータであり、データ項目の長さがＦＰＬｉｍｉｔで特定される長さより長いか等しい場合にのみ、データ項目に応じて対応するフィンガープリントが生成されることを示す。
【０１０５】
フィンガープリント計算モジュール１１は、データ項目に応じて対応するフィンガープリントを生成するように構成されている。即ち、データ項目の長さが既定の最小長さより大きいか等しいことを判定モジュールが判定すると、データ項目に対してフィンガープリント計算を実行するように構成されている。クライアントとサーバとによってサポートされるフィンガープリントアルゴリズムのセットは、ネゴシエーションを通して決定される。ＤＳ時においてクライアントとサーバは、サポートされたフィンガープリントアルゴリズムのセットの中から、両者でサポートされるフィンガープリントアルゴリズムのサブセットを選択する。データ項目に対するフィンガープリント計算が必要な場合には、サブセットの中からフィンガープリントアルゴリズムが選択されてフィンガープリント計算が実行され、得られたフィンガープリントがサーバに送信される。
【０１０６】
データ送信モジュール１２は、フィンガープリント計算モジュール１１で生成されたフィンガープリントをデータ受信装置へ送信するか、又は、データ項目の長さが既定の最小長さよりも小さいと判定モジュール１０が判定した場合にはデータ項目（即ちデータ要素）をデータ受信装置へ送信するように構成されている。データ項目の長さが既定のフィンガープリント長さに等しい場合には、そのデータ項目にいくつかの０を追加して、長さが既定の最小長さＦＰＬｉｍｉｔに等しくなるようにしてから、データ項目をデータ受信装置へ送信する。ここで、データ受信装置とはサーバである。
【０１０７】
任意選択により、データ送信装置（即ちクライアント１）は、データ送信モジュール１２によりデータ受信装置へ送信されるデータ項目に識別ＦＰＦｌａｇを追加するように構成された識別モジュール１３を更に含む。識別ＦＰＦｌａｇは、データ項目がフィンガープリント計算により得られたフィンガープリントであるか、データ項目であるかを示す。
【０１０８】
フィンガープリント計算モジュール１１は、アルゴリズムネゴシエーションユニット１１０と、アルゴリズム選択ユニット１１１と、フィンガープリント計算ユニット１１２とを含む。
【０１０９】
アルゴリズムネゴシエーションユニット１１０は、両者でサポートされるフィンガープリントアルゴリズムのセットに関してデータ受信装置とネゴシエートするように構成されている。クライアントとサーバとのネゴシエーションの結果、両者でサポートされるフィンガープリントアルゴリズムのセットは、表１０に示されている。
【０１１０】
アルゴリズム選択ユニット１１１は、データ項目に対してフィンガープリント計算の実行が必要な場合に、データ項目を計算するために、両者でサポートされるフィンガープリントアルゴリズムのセットから１つのフィンガープリントアルゴリズムを選択するように構成されている。
【０１１１】
フィンガープリント計算ユニット１１２は、アルゴリズム選択ユニット１１１により選択されたアルゴリズムを用いてフィンガープリント生成を必要とするデータ項目に対するフィンガープリント計算を実行するように構成されている。フィンガープリント計算が実行される際のデータ項目のアルゴリズム型は識別情報により示される。
【０１１２】
図５は本発明の実施形態による、データ受信装置の模式的構造図である。
【０１１３】
本発明の実施形態では、サーバをデータ受信装置として説明する。
【０１１４】
図５に示すように、サーバは、データ格納モジュール２０と、データ受信モジュール２１と、データ判定モジュール２２と、データ処理モジュール２３とを含んでいる。
【０１１５】
データ格納モジュール２０は、データ又はフィンガープリントを格納するように構成されている。そこで、データ又はフィンガープリントは、受信されたデータ要素又はフィンガープリントと比較されて、受信されたデータ要素又はフィンガープリントに変更があるかどうかが判定される。
【０１１６】
データ受信モジュール２１は、データ送信装置（即ち、クライアント）から送信されたデータ項目を受信するように構成されている。
【０１１７】
データ判定モジュール２２は、データ受信モジュール２１により受信されたデータ項目が、フィンガープリントであるかデータ項目であるかを判定するように構成されている。受信したデータ項目の長さが既定のフィンガープリント長さより短いか、または既定のフィンガープリント長さより長いが既定の最小長さよりは短い場合に、それがデータ項目、即ちデータ要素であることを直に判定することができる。データ長さが既定のフィンガープリント長さである場合、データ項目はフィンガープリントであると判定される。データ長さが既定の最小長さである場合、データ項目はデータ要素（即ちデータ項目）であると判定されて、データ項目は既定のフィンガープリント長さまで切り捨てられ、データ格納モジュール２０内に格納されているデータと直に比較される。
【０１１８】
クライアントとサーバの双方でサポートされるフィンガープリントアルゴリズムのセットは、ネゴシエーションを通して決定されてもよいことに留意されたい。クライアントとサーバは、サポートされたフィンガープリントアルゴリズムのセットの中から、両者でサポートされるフィンガープリントアルゴリズムのサブセットを選択する。データ項目に対してフィンガープリント計算が必要とされる場合、計算実行のためフィンガープリント計算アルゴリズムがサブセットから選択され、任意選択でＦＰＦｌａｇにより識別される。得られたフィンガープリントはサーバに送信される。ＦＰＦｌａｇは整数のデータである。ＦＰＦｌａｇ＝０であれば、データ項目が送信予定であることが示される。ＦＰＦｌａｇ≠０であれば、データ項目のフィンガープリントが送信予定であることが示される。ＦＰＦｌａｇの様々な値で、様々なフィンガープリントアルゴリズムが識別されるようになっている。
【０１１９】
データ処理モジュール２３は、受信したデータ項目がフィンガープリントであるとデータ判定モジュール２２が判定すると、そのフィンガープリントを格納されたフィンガープリントと比較するように構成され、比較結果に従って、後続処理が実装される。データ項目がデータ要素であれば、データ要素は、データ格納モジュール２０に格納されているデータと比較される。データ項目の長さが最小の現在の長さである場合には、データ長さは切り詰められて既定のフィンガープリント長さとされて、データ格納モジュール２０の中に格納されたデータと直に比較され、比較結果に従って後続処理が実装される。
【０１２０】
図６は、図５に示すデータ受信装置２内のデータ処理モジュール２３の模式的構造図である。図６に示すように、データ処理モジュール２３は、フィンガープリント処理ユニット２３０とデータ処理ユニット２３１とを含んでいる。
【０１２１】
フィンガープリント処理ユニット２３０は、データ受信モジュール２１により受信されたデータ項目がフィンガープリントであるとデータ判定モジュール２２によって判定された場合、フィンガープリントをデータ格納モジュール２０内に格納されたものと比較し、その比較結果に従って後続処理を実装するように構成されている。
【０１２２】
データ処理ユニット２３１は、データ受信モジュール２１により受信されたデータ項目がデータ要素（即ちデータ項目）であるとデータ判定モジュール２２によって判定された場合、データ項目をデータ格納モジュール２０内に格納されたデータと比較し、その比較結果に従って後続処理を実装するように構成されている
【０１２３】
フィンガープリント処理ユニット２３０は、フィンガープリント比較サブユニット２３００を含む。
【０１２４】
フィンガープリント比較サブユニット２３００は、受信されたデータ項目がフィンガープリントであるとデータ判定モジュール２２によって判定された場合、フィンガープリントを格納されたフィンガープリントと比較するように構成されている。２つのフィンガープリントが同一であれば、データ格納モジュール２０中に格納されたデータは更新する必要がない。２つのフィンガープリントが異なる場合には、データ送信装置のデータ項目は変更されたことを示している。
【０１２５】
フィンガープリント処理ユニット２３０は、衝突検知戦略を検査し、データ送信装置がデータ項目を送信する必要があるかどうかを判定するように構成された、判定サブユニット２３０１を更に含んでいる。衝突検知戦略がデータ受信装置上のデータに基づいている場合には、データ送信装置はデータ項目を送信する必要がない。衝突検知戦略がデータ送信装置上のデータに基づいている場合には、フィンガープリント処理ユニット２３０が、指示サブユニット２３０２とデータ更新サブユニット２３０３とを更に含んでいる。
【０１２６】
指示サブユニット２３０２は、データ送信装置にデータ要素の送信を指示するように構成されている。
【０１２７】
データ更新サブユニット２３０３は、データ格納ユニット２０内に格納されたデータを受信したデータ要素に更新するように構成されている。
【０１２８】
データ処理ユニット２３１は、データ比較サブユニット２３１０を含む。
【０１２９】
データ比較サブユニット２３１０は、受信されたデータ項目がデータ要素であるとデータ判定モジュール２２によって判定された場合、データ要素をデータ格納モジュール２０中に格納されたデータと比較するように構成されている。２つのフィンガープリントが同一であれば、データ格納モジュール２０中に格納されたデータは更新する必要がない。２つのフィンガープリントが異なる場合には、データ送信装置のデータ項目は変更されたことを示している。
【０１３０】
データ処理ユニット２３１は、衝突検知戦略を検査し、データ送信装置がデータ項目を送信する必要があるかどうかを判定するように構成されている判定サブユニット２３１１を更に含んでいる。衝突検知戦略がデータ受信装置上のデータに基づいている場合には、データ格納装置２０内に格納されているデータは更新の必要がない。衝突検知戦略がデータ送信装置上のデータに基づいている場合には、データ処理ユニット２３１はデータ更新サブユニット２３１２を更に含む。
【０１３１】
データ更新サブモジュール２３１２は、データ格納装置２０内に格納されたデータを受信したデータ要素に更新するように構成されている。
【０１３２】
前記の実施形態の説明を通じて、当業者は、本発明がハードウェアのみによって、又はソフトウェアと必要な一般的なハードウェアプラットフォームとによって実装され得ることを理解するであろう。そのような理解に基づき、先行技術に寄与する本発明における技術ソリューションのすべて又は一部は、ソフトウェア製品の形態で本質的に実現されてもよい。ソフトウェア製品は、磁気ディスク、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、読み出し専用メモリ（ＲＯＭ）、又はランダムアクセスメモリ（ＲＡＭ）等の記憶媒体中に格納されてもよい。ソフトウェア製品には、本発明の実施形態で提供された方法をコンピュータ装置（パーソナルコンピュータ、サーバ、又はネットワーク装置）に実行させるいくつかの命令が含まれる。
【０１３３】
本発明の実施形態におけるフィンガープリント技術を実現するための方法及びシステム、データ送信装置、及びデータ受信装置において、フィンガープリント計算を必要とするデータの最小長さを事前に設定することにより、データ項目に対して対応するフィンガープリントを生成する必要があるかどうか、又フィンガープリントとデータ項目のいずれを送信するかが適宜に判定される。更に、個々のデータ項目について識別情報が設定されて、送信したのがフィンガープリントであるかデータ項目であるかを受信側に通知し、かつ利用したフィンガープリントアルゴリズムを受信側に通知する。このように、長さの短いデータ項目に対するフィンガープリント計算と、ＤＳ時の不要データ伝送とが回避され、ＤＳの効率が改善される。
【０１３４】
上記の説明は、単に本発明の好適な実施形態であって、当業者が本発明の精神から乖離することなしに種々の改良及び改善を成しうることに留意されたい。そのような修正及び改善のすべては本発明に含まれることが意図される。
【図１】
0005416135.tif 000012
【図２】
0005416135.tif 000013
【図３】
0005416135.tif 000014
【図４】
0005416135.tif 000015
【図５】
0005416135.tif 000016
【図６】
0005416135.tif 000017