"無線または有線により接続される接続先装置が保存するデータと同期を行う情報処理装置であって、前記接続先装置からデータを取得する通信手段と、データを格納する記憶手段と、前記接続先装置から取得したデータの識別情報と前記記憶手段にあるデータの識別情報とを比較し、各識別情報が一致すれば、いずれか一方の識別情報をユニークな識別情報に変更し、これら識別情報とともに各データを前記記憶手段に格納する処理手段と、を備えることを特徴とする情報処理装置。前記識別情報はデータ更新時刻であり、前記ユニークな識別情報は前記データ更新時刻と異なる時刻情報であることを特徴とする請求項1に記載の情報処理装置。前記処理手段は、前記接続先装置が前記記憶手段に無いデータを保持している場合には該データを前記記憶手段にある前記データに複写し、同一の更新時刻からなる識別情報を持つデータを複写する場合には該更新時刻を変更することによりユニークな識別情報として前記接続先装置との間で各データを整合させることを特徴とする請求項1または2に記載の情報処理装置。前記記憶手段は、前記データを格納するデータテーブルと、前記接続先装置との同期情報を格納する同期管理テーブルとを備えることを特徴とする請求項1、2または3のいずれかに記載の情報処理装置。無線または有線により接続される接続先装置が保存するデータと同期を行う情報処理装置に実行させる同期制御プログラムであって、前記接続先装置から取得したデータの識別情報と記憶手段にあるデータの識別情報とを比較し、各識別情報が一致すれば、いずれか一方の識別情報をユニークな識別情報に変更し、これら識別情報とともに各データを前記記憶手段に格納し、処理を前記情報処理装置に実行させる同期制御プログラム。接続先装置が保存するデータと同期を行う同期制御方法であって、前記接続先装置から取得したデータの識別情報と記憶手段にあるデータの識別情報とを比較し、各識別情報が一致すれば、いずれか一方の識別情報をユニークな識別情報に変更し、これら識別情報とともに各データを前記記憶手段に格納する、ことを特徴とする同期制御方法。無線または有線により接続される接続先装置が保存するデータと同期を行う同期制御システムであって、前記接続先装置からデータを取得する通信手段と、データを格納する記憶手段と、前記接続先装置から取得したデータの識別情報と前記記憶手段にあるデータの識別情報とを比較し、各識別情報が一致すれば、いずれか一方の識別情報をユニークな識別情報に変更し、これら識別情報とともに各データを前記記憶手段に格納する処理手段と、を備えることを特徴とする同期制御システム。ところで、家族間や友人間情報の共有者利用者で情報を共有し、その保有データを複写する場合がある。斯かるシチュエーションでは、保存データの並び順序や重複データの存在よりも、各保存データの処理負荷の軽減が重要である。つまり、データが内容的に一致し、データ間の衝突があっても、データの更新日時が異なれば、各データを保存することが有用である。内容的に一致していても、そのデータを消去してしまうと、データの推移を残留データからは確認や判断をすることができない。また、複数の利用者がデータ更新を行う場合では、一の利用者がデータを取得してから更新するまでの間に行われたデータ更新が消去されることになる。データ間の衝突を回避するためにデータの内容の一致、不一致を判断すれば、その処理負荷が大きくなるという課題がある。そこで、本発明の目的は、斯かる課題に鑑み、データのレプリケーションに関し、データが衝突した場合の処理負荷を軽減することにある。上記目的を達成するため、本開示の情報処理装置、その同期制御プログラム、その同期制御方法および同期制御システムは、無線または有線により接続される接続先装置が保存するデータと同期を行う。通信手段は接続先装置からデータを取得する。データは識別情報によって識別され、記憶手段に格納される。そして、処理手段は、接続先装置から取得したデータの識別情報が記憶手段にあるデータの識別情報と一致すれば、いずれか一方の識別情報をユニークな識別情報に変更し、これら識別情報とともに各データを記憶手段に格納する。本開示の情報処理装置、その同期制御プログラム、その同期制御方法または同期制御システムによれば、次のいずれかの効果が得られる。同期した際に、接続先装置のデータと保存データの識別情報が一致すれば、いずれか一方の識別情報をユニークな識別情報に変更するので、該識別情報とともに各データを複写して保存できる。一致した識別情報をユニークな識別情報に変更して各データを保存すれば、データの識別フィールドが不要であるので、データ量を削減できる。識別情報が衝突したデータ識別のための処理や処理時間が不要であり、データの処理時間を短縮できる。情報処理装置が携帯装置のようにストレージ容量が小さい場合や、プロセッサ能力が低い場合であっても、効率よくデータ複写をすることができる。そして、本発明の他の目的、特徴及び利点は、添付図面及び各実施の形態を参照することにより、一層明確になるであろう。第1の実施の形態図1は第1の実施の形態に係る同期制御システムを示している。図1に示す構成は一例であり、係る構成に本開示の情報処理装置、その同期制御プログラム、その同期制御方法または同期制御システムが限定されるものではない。図1に示す同期制御システム2は、本開示の情報処理装置、その同期制御プログラム、その同期制御方法または同期制御システムの一例であり、情報処理端末4-1と、接続先装置として情報処理端末4-2を備えている。これら情報処理端末4-1、4-2はネットワーク6により接続されている。情報処理端末4-1、4-2は本開示の情報処理装置の一例であり、ネットワーク6により接続され、同期処理により各自の保持データを複写する。ネットワーク6は、情報処理端末4-1、4-2間を接続するネットワークであり、インターネットInternetでもよいし、イントラネットIntranetやLANLocalAreaNetworkでもよい。通信媒体は無線でもよいし有線でもよい。この情報処理端末4-1は、通信部8、メモリ10およびプロセッサ12を備えている。通信部8は通信手段の一例であり、接続により情報処理端末4-2からデータを取得する。メモリ10は、データを格納する記憶手段の一例であり、例えば、データの更新時刻を識別情報に用いて複数のデータを保存する。プロセッサ12はデータを処理する処理手段の一例であり、少なくともデータ複写機能、データ衝突回避機能を備えている。データ複写機能は、情報処理端末4-2との接続を契機に、同期処理を媒介としてメモリ10に保存中のデータを複写する機能である。つまり、既述のデータのレプリケーション機能である。データ衝突回避機能は、このレプリケーションに際し、データ間の衝突を回避する。情報処理端末4-2がメモリ10に無いデータを保持している場合には、該データでメモリ10にあるデータを更新する。データの識別情報に更新時刻を用いた場合には、同一の更新時刻からなる識別情報を持つデータが更新されれば、該更新時刻を変更することによりユニークな識別情報として情報処理端末4-2との間でデータの整合性を確立する。この結果、データ間の衝突が回避される。情報処理端末4-1に対する接続先装置である情報処理端末4-2は本開示の情報処理装置の一例であり、既述の情報処理端末4-1と有線または無線により接続される単一または複数の通信先のひとつである。この情報処理端末4-2の構成は情報処理端末4-1と同一でもよく異なってもよい。図2は情報処理端末4で実行する同期制御の処理手順の一例を示している。この処理手順は、本開示の同期制御プログラムの一例である。この処理手順では、接続先装置情報処理端末4-2との通信を確立させS11、データの更新処理に移行する。通信の確立はデータの更新処理の契機であり、通信は無線または有線により情報処理端末4-2と接続により実行される。通信の確立の後、接続先装置情報処理端末4-2から提供されるデータと保存中のデータの識別情報の比較を行うS12。この識別情報の比較では、提供されるデータと保存中のデータの識別情報が一致しているか否かを判定するS13。つまり、情報処理端末4-1は取得したデータの識別情報とメモリ10にあるデータの識別情報とが一致しているか否かを判定する。識別情報が一致していればS13のYES、データ間で識別情報が衝突している。このため、衝突回避処理として識別情報の変更を行ないS14、識別情報の衝突回避をする。つまり、この衝突回避処理では、識別情報が一致すれば、何れか一方の識別情報を変更し、ユニークな識別情報に更新する。例えば、識別情報にデータ更新時刻を用いている場合には、この更新時刻をインクリメントまたはディクリメントすることにより、ユニークな識別情報に変更する。具体的には識別情報を構成する更新時刻に更新時間単位として例えば、1秒を追加して変更すれば、識別情報がユニークな識別情報に更新されることになる。この衝突回避処理の実行の後、データの複写レプリケーションを実行するS15。ユニークな識別情報とともに各データをメモリ10に格納し、この処理を終了する。S13において、識別情報が一致していなければS13のNO、データ間の衝突がないので、識別情報の衝突回避処理は不要であるから、識別情報の変更S14を行うことなく、データの複写S15を実行する。斯かる構成によれば、データのレプリケーションに際し、識別情報が一致したデータが存在していれば、いずれか一方のデータの識別情報をユニークな識別情報に変更し、これら識別情報とともに各データをメモリ10に格納することができる。第1の実施の形態の効果データ複写レプリケーションの際に、データの識別情報に衝突一致がある場合、接続先装置から提供されるデータまたは自機側の情報処理端末4-1の保存データのいずれか一方の識別情報を変更するので、識別情報の衝突を回避できる。変更した識別情報により各データを複写して保存できる。識別情報を変更するので、データの識別フィールドをプラスする必要がなく、データ量を削減でき、データ複写の処理の簡略化とともに、処理時間を短縮できる。情報処理端末4-1が携帯型機器のようにストレージ容量が小さく、かつ、プロセッサ能力の小さな機器でも効率よくデータ複写をすることができる。第2の実施の形態図3は第2の実施の形態に係る同期制御システムを示している。図3に示す構成は一例であり、本開示の情報処理装置、その同期制御プログラム、同期制御方法および同期制御システムに限定されるものではない。図3に示す同期制御システム2は、屋内システムであり、家屋14の内部屋内に設置されている。ルータ16はスイッチ18を介してインターネット20に接続されている。このルータ16はインターネット20と接続するための中継装置の一例である。このルータ16には屋内に配置された有線LANLocalAreaNetwork22が接続されている。この有線LAN22は既述のネットワーク6図1の一例である。この有線LAN22にはWi-FiWirelessFidelityアクセスポイントAP24、デスクトップPCパーソナルコンピュータ26およびテレビ受像機28が接続されている。Wi-FiAP24は無線でルータ16にオンライン接続するための中継装置の一例である。Wi-FiAP24には無線により接続される無線LANLocalAreaNetwork30が構成されている。この無線LAN30はたとえば、Wi-Fiネットワークである。この無線LAN30は既述のネットワーク6図1の一例である。この無線LAN30には無線接続される機器の一例として複数の情報処理端末4-1、4-2、4-3が設けられている。この実施の形態では、情報処理端末4-1はノートPC、情報処理端末4-2はスマートフォン、情報処理端末4-3はタブレット端末である。図中破線はオンライン状態を示している。情報処理端末4-1、4-2、4-3は携帯機器であり、携行する利用者により、無線LAN30とオンラインまたはオフラインとなる。つまり、無線LAN30のサービスエリア内の屋内使用時にオンラインとなり、サービスエリア外の屋外使用時にオフラインとなる。この実施の形態では、無線LAN30を備えているので、各情報処理端末4-1、4-2、4-3は屋内使用時にオンラインとなっている。これに対し、オフライン利用を前提とした構成であってもよい。その場合、各情報処理端末4-1、4-2、4-3が個別にインターネット20に接続し、インターネット20とのオンラインでWebページの利用ができる。この場合も、各情報処理端末4-1、4-2、4-3間で同期、データの共用を実現できる。図4はWebページ利用時の一般的なシステム構成を示している。このシステム構成は本開示の構成と比較のために例示したものである。屋内使用で情報処理端末間のデータやサービスの同期または共用する利用形態がある。これに対し、この実施の形態では、クラウドサービスなど、インターネット側でのサービスを利用していない。つまり、屋内システムの閉じられたサービスとして、動的Webページの同期、共用を実現している。動的Webページは、静的なファイル、プログラムおよびデータベースで構成される。静的なファイルにはたとえば、HTMLHyperTextMarkupLanguageファイルや、CSSCascadingStyleSheetsファイルが用いられる。プログラムにはJava登録商標や、PerlPracticalExtractionandReportLanguage:テキスト処理言語などのプログラム言語が用いられる。Webサーバ39はインターネット20上に開設され、インターネット20上のクライアントに対してWebページなどのサービスを提供する。このWebサーバ39には複数のクライアント装置クライアント142-1、クライアント装置クライアント242-2、クライアント装置クライアント342-3が接続される。クライアント装置42-1、42-2、42-3は情報処理装置の一例であり、通信や情報処理の機能を備えている。各クライアント装置42-1、42-2、42-3はインターネット20を通じてWebサーバ39に対してアクセスし、Webサーバ39に開設されている動的Webページ44図5を利用する。動的Webページ44はたとえば、図5に示すように、Webサーバシステム46で構成されている。図5は動的Webページ44およびWebサーバシステム46の一例を示している。Webサーバシステム46は、Webサーバ39、プログラム実行環境48、データベースエンジン50および動的Webページ44で構成される。プログラム実行環境48はプログラムを実行可能な処理環境を提供する。データベースエンジン50はデータベース管理システムやデータベースソフトに用いられ、データベース運用の中核プログラムであり、システムの管理運用や、検索更新訂正などの処理を実行する。この動的Webページ44には、静的なファイル52、プログラムファイル54およびデータベース56が設置される。これら静的なファイル52、プログラムファイル54およびデータベース56のレプリケーションでは、静的なファイル52やプログラムファイル54が比較的容易であり、データベース56は難しい。複数のマスターが存在するシステムではレプリケーションは可能であるが、その自動化は極めて難しい。図6は動的Webページの構成と、そのレプリケーションを示している。図6において、Webサーバシステム46の構成は既述のとおりであるので、同一符号を付し、その説明を割愛する。これに対し、クライアント装置クライアント142-1ではWebサーバ58および静的なファイル60を備えている。また、クライアント装置クライアント242-2では、Webサーバ58および静的なファイル60に加え、プログラム実行環境62やプログラムファイル64を備えている。この場合、クライアント1では静的なファイル52と静的なファイル60のレプリケーションのみのレプリケーションが可能である。これに対し、プログラム実行環境62が搭載されたクライアント2では、静的なファイル52と静的なファイル60のレプリケーションに加え、プログラムファイル54とプログラムファイル64のレプリケーションが可能である。クライアント2のようにプログラム実行環境62を搭載すれば、クライアント1においてもプログラムファイルのレプリケーションが可能となる。つまり、図3に示す同期制御システム2において、スマートフォン34、ノートPC36、タブレット端末38などの複数の情報処理端末でそれぞれのデータベースを更新する場合には、データベース管理上は複数のマスター更新が行える構成となる。このため、複数の情報処理端末4-1、4-2、4-3がデータベース56の更新作業を独立して行うと、各データベース56のレプリケーション時に、レコードの衝突が生じる。各情報処理端末4-1、4-2、4-3が異なるレコードを更新した場合には、レコードが衝突する問題はないが、同じレコードを更新した場合には、いずれのレコードの更新を有効とするか、または、更新処理そのものをエラーとすべきかの問題が生じる。このレコード更新について、レプリケーション例1図7およびレプリケーション例2図8を参照する。図7に示すレプリケーション例1は、複数のマスターがあるデータベースのレプリケーションを示している。ホスト装置ホスト140-1、ホスト装置ホスト240-2は、既述の情報処理端末4-1、4-2、4-3の何れでもよく、ネットワーク6図1で接続されて同期処理を行う関係にある。ホスト1およびホスト2にはそれぞれが複数のマスターがあるデータベース66-1、66-2が備えられている。各データベース66-1、66-2のレコードが個別に独立して更新されている。更新されたレコードが異なっていれば、レコードのレプリケーションを行っても、互いにレコードが複写され、レプリケーションに成功する。つまり、各レコードが複写されて各データベース66-1、66-2に保存されることになる。これに対し、図8に示すレプリケーション例2では、各データベース66-1、66-2のレコードが個別に独立して更新されているが、更新されたレコードが同一である場合を示している。レコードが同一である場合、各レコードの更新を独自に行っても、レプリケーションを行うと、ホスト1、2間で一方のレコードに修正され、双方のレコードを保存することができない。つまり、レコードのレプリケーションが失敗となる。このようなレプリケーションの失敗を回避するため、図9に示すホスト装置40では、レコードの衝突を回避するレプリケータ機能を備えている。このホスト装置40はたとえば、情報処理端末4-1、4-2、4-3、デスクトップPC26図3で構成される。このホスト装置40は、図9に示すように、データベース66、データベースエンジン68、レプリケータ70および同期管理テーブル72を備える。データベースエンジン68は、プログラムによるデータ管理、処理などを決定するシステムである。レプリケータ70はデータベースエンジン68の複数のマスターのレプリケータ機能図10のBを構成する。このレプリケータ70のレプリケータ機能はレコードの衝突を回避し、レコードのレプリケーションを実行する。データベース66にはレコード73を格納するテーブル74が設けられ、このテーブル74とともにmidフィールド76が設けられている。midはレプリケーションマスタ識別子である。midフィールド76は、midを記録するエリアである。同期管理テーブル72には既述のmidおよび最終同期日時を記録するテーブル77が設けられ、このテーブル77にはmidを格納するフィールド78、最終同期日時を格納するフィールド80が設定されている。このホスト装置40のソフトウェアおよび機能について、図10を参照する。図10のAに示すホスト装置40のソフトウェアの構成では、OSOperatingSystem79をベースとして実行するデータベースエンジン68、レプリケータ70、Webサーバ58およびWebブラウザ82を備えている。Webサーバ58は、Webページの検索取得などの処理を行うプログラムである。Webブラウザ82はWebページを閲覧するためのソフトウェアである。レプリケータ70には、図10のBに示すように、レプリケータ機能として、ネットワーク接続検出機能84、デバイス検出機能86、タイマー機能88、同期実行処理機能90、同期応答処理機能92、同期管理機能93および同期処理用データベース95を備えている。ネットワーク接続検出機能84はネットワークとの接続を検出する。デバイス検出機能86は接続されたデバイスを検出し、そのデバイスを認識する。タイマー機能88はレコードの更新日時など、時間を計時する。同期実行処理機能90は接続先装置94のデバイスと同期処理を実行する。同期応答処理機能92は、同期処理を実行している接続先装置94のデバイスに対し、応答処理を実行する。同期管理機能93は同期処理の実行や応答を管理する。また、同期処理用データベース95は同期処理に用いる各種データをデータベースによって保存する。このレプリケータ70がレプリケーションを開始する契機は次の通りである。自デバイスが起動したときにネットワーク接続が確立した場合自デバイスがスリープから復帰したときにネットワーク接続が確立した場合新しくネットワーク接続が確立した場合ネットワーク接続している間に、新しいデバイスを発見した場合ネットワーク接続している間に、一定時間が経過した場合このような契機の何れかにより、レプリケータ70がレプリケーションを開始し、実行する。このようなレプリケーション機能などの各種の情報処理を実行するホスト装置40を構成する情報処理端末4には図11に示すハードウェアを備えている。図11に示すハードウェア構成では、プロセッサ96、通信部98、記憶部100およびRAMRandomAccessMemory102を備えるコンピュータを構成している。プロセッサ96は記憶部100のプログラム記憶部104にある既述のOS79やレプリケータ70などのプログラムを実行する。通信部98は、ネットワーク6図1、図3を介して他の情報処理端末つまり、他のホスト装置と通信を行う。記憶部100には既述のプログラム記憶部104およびデータ記憶部106が備えられている。プログラム記憶部104には、OS79や本開示の同期制御プログラムなどが格納され、同期制御プログラムとして具体的にはデータベースエンジン68、レプリケータ70が格納されている。また、データ記憶部106には既述のデータベース66や同期管理テーブル72などのレコードデータが格納され、保存されている。この保存データはレプリケーションによって更新可能である。RAM102はワークエリアを構成する。<レプリケーションの処理手順>このレプリケータ70のレプリケーションの処理手順は以下のとおりである。通信可能な複数のデバイスがある場合には、デバイスの選択を行う。最終同期日時が古いデバイスまたは、優先度が高いデバイスが選択される。接続を開始した後、接続先装置から同期管理テーブルの全体を取得する。接続先装置の同期管理テーブルに記録された自デバイスの最終更新日時を判断する。この処理では、最終更新日時が閾値よりも古いか否かを判断する。最終更新日時が閾値よりも古い場合には、最終更新日時が閾値よりも古いために生じている自デバイスのデータベースの差分を接続先装置に送信する。接続先装置の同期管理テーブルと自デバイスの同期管理テーブルを比較し、閾値よりも古い場合には、相手デバイスと自デバイスのデータベースの差分を接続先装置に要求する。これにより差分のレコードを取得する。このようなレプリケーションの後、相手デバイスとの接続を終了する。図12はレコードのレプリケーションの処理手順を示している。この処理手順は、本開示の同期制御プログラムまたは同期制御方法の一例である。この処理手順では、レコードのレプリケーションを行う接続先装置対象の選択を行うS101。選択された対象との接続を行ないS102、その対象から同期管理テーブルを取得するS103。取得した同期管理テーブルを参照し、情報データの新旧を対比するS104。このS104では、対象側レコードと自装置側レコードを比較し、対象側レコードに対して自装置側レコードが古いか否かを判断する。対象側レコードに対して自装置側レコードが古い場合にはS104のYES、対象側レコードと自装置側レコードの差分を求め、この差分を接続中の対象に送信するS105。この送信の後、または対象側レコードに対して自装置側レコードが古くない場合にはS104のNO、ステップS106に移行する。S106では、取得した同期管理テーブルと自装置側の同期管理テーブルとを比較し、自装置側の同期管理テーブルが取得した同期管理テーブルより古いか否かを判断する。自装置側の同期管理テーブルが取得した同期管理テーブルより古い場合にはS106のYES、新しいレコードを保持している対象から差分のレコードを受信するS107。この受信の後、または自装置側の同期管理テーブルが取得した同期管理テーブルより古くない場合にはS106のNOステップS108に移行する。S108では、データの送信または受信をした対象の接続を切断する。つまり、上記対象とのレプリケーションが終了し、接続中の対象が残っているか否かを判断するS109。レプリケーションをしていない対象が残っていればS109のYES、S101ないしS109の処理を継続し、対象が残っていなければS109のNO、全てのレプリケーションを終了する。<レプリケーションの具体的な処理>図13、図14、図15、図16および図17は、レプリケーション処理の具体的な処理手順を示している。図13、図14、図15、図16および図17において、図9と同一部分には同一符号を付してある。このレプリケーションには図13に示すように、4つのホスト装置ホスト1、ホスト2、ホスト3およびホスト440-1、40-2、40-3、40-4が用いられている。ホスト装置40-1、40-2、40-3、40-4は既述のノートPC、スマートフォン、タブレット端末などの情報処理端末4-1、4-2、4-3、4-4で構成される。ホスト1のデータベース66-1にあるテーブル74-1には、ホスト1の更新レコード108-1、ホスト1以外の更新レコード110-1が格納されている。また、ホスト2のデータベース66-2にあるテーブル74-2には、ホスト1の更新レコード108-2、ホスト1以外の更新レコード110-2が格納されている。この場合、ホスト1は、レプリケーション直前にホスト4と同期してホスト4からレコードを取得し、ホスト1以外の更新レコード110-1にホスト2よりも新しいレコードを保存しているものとする。また、ホスト2は、レプリケーション直前にホスト3と同期してホスト3からレコードを取得し、ホスト1以外の更新レコード110-2にホスト1よりも新しいレコードを保存しているものとする。また、ホスト1以外の更新レコード110-2には、ホスト1よりも古いレコードホスト4のレコードを保存しているものとする。このようなレコードの新旧関係を前提にレプリケーションの処理手順を説明する。レプリケーション開始に先立ち、ホスト1は図13に示すように、ホスト2との接続を開始する。データ取得では図14に示すように、ホスト1はホスト2の同期管理テーブル72のテーブル77をホスト2から取得する。データ送信では、ホスト1は図15に示すように、ホスト2が保存しているホスト1のデータベース16-1の最終同期日時以降のレコードつまり、ホスト1による更新レコードをホスト2に対して送信する。データ受信では、ホスト1は、ホスト2が保存しているホスト1以外のデータベースの差分を受信する。これにより図16に示すように、ホスト1はホスト2からホスト3のレコードを取得する。この場合、ホスト2がホスト1よりホスト3の最終同期日時が新しい場合には、ホスト1はホスト2からホスト3の差分を取得する。ホスト1がホスト2よりホスト4の最終同期日時が新しい場合には、ホスト1はホスト2からホスト4のレコードを取得しない。レプリケーションの終了は図17に示すように、ホスト1がホスト2との接続を終了させる。このレプリケーションにより、ホスト1は、ホスト1とホスト2から得られるホスト1~ホスト4の最新レコードを収集することができる。そして、同期時にデータの識別情報である更新日時が衝突した場合つまり、更新日時が同一である場合の衝突回避処理を行い、レコードの識別情報である更新日時の衝突を回避している。<レコードの構成と同期による変化例1>図18はレコードの構成と同期による変化例1を示している。同期前のホスト1は、図18のAに示すように、主キーid=1に対し、一例であるデータdataは12340000であり、副キーmid=1である。midは既述のとおりレプリケーションマスタ識別子である。これに対し、同期前のホスト2は、図18のAに示すように、主キーid=1に対し、dataは23450000であり、副キーmid=2である。副キーmidはデバイス毎に異なる値である。これらホスト1、2が同期し、レプリケーションを行う。同期後のホスト1は、図18のBに示すように、主キーid=1に対し、data=12340000、ホスト2から主キーid=1、data=23450000が複写される。同様に、同期後のホスト2は、図18のBに示すように、主キーid=1に対し、dataは23450000、ホスト1から主キーid=1、data=12340000が複写されている。このレプリケーションにより、ホスト1、2の各レコードが共通化される。この場合、mid=1と、mid=2により、異なるレコードとして記録される。更新日時の衝突時はIDフィールドの値例:日時フィールドdateをインクリメントし、更新日時の衝突を回避して各レコードを保存するので、各レコードの整合性が取られる。なお、主キーPrimarykey:プライマリキーは、リレーショナルデータベースにおいて、レコード組の識別子として利用するのに最も好ましいものとして、リレーションテーブル毎にただ一つ、設計者により選択され定義された候補キーをいう。つまり、リレーションに格納されたレコードを一意に識別するための属性列、アトリビュートまたはその集合のうち、そのために通常利用されるべき特定の一つをいう。この主キーにはNULLの存在が許されないが、候補キーには許されるという差がある。<レコード構成と同期による変化例2>図19、図20および図21はレコード構成と2回の同期によるホスト1、2のレコード変化例2を示している。このレコード変化例2は、1回目の同期のループloop1、1回目のloop2、2回目の同期のloop1、2回目の同期のloop2の処理結果であり、各テーブル74-1、74-2のレコード変化を示している。同期前図19のAは1回目の同期前のホスト1およびホスト2のレコード構成を示している。ホスト1およびホスト2にはid=2011/05/0110:00:00で一致するdata=100ホスト1、data=120ホスト2が存在している。つまり、各dataは同期前、識別情報である更新日時が一致し、衝突を生じている。1回目の同期のloop1の処理後図19のBは1回目の同期のloop1の処理後のレコード構成を示している。ホスト2には、ホスト1から1つのレコードが複写コピーされている。既述の衝突回避処理により、ホスト1のidコラムの値が変更1され、つまり、id=2011/05/0110:00:01に変更され、data=100ホスト1が独立したレコードとしてホスト2に記録されている。これにより、ホスト2にあるid=2011/05/0110:00:00のdata=120との衝突が回避され、各レコードが独立したレコードとして保存されている。ホスト2にあるmid=1はホスト1からの複写レコードであることを表している。1回目の同期のloop2の処理後図20のAは1回目の同期のloop2の処理後のレコード構成を示している。ホスト1には、ホスト2から2つのレコードが複写されている。ホスト2のid=2011/05/0109:55:00のdata=90のレコードは同期前、ホスト1には存在しないので、ホスト1にそのまま複写されている。その順序は、ホスト1にあるレコードより更新日時が古いので、もっとも古い時系列位置に保存されている。ホスト1にあるmid=2は、ホスト2からの複写レコードであることを表している。また、ホスト2のid=2011/05/0110:00:00のdata=120は同期前、ホスト1に存在するレコードと更新日時が一致している。このため、既述の衝突回避処理により、ホスト2のidコラムの値が変更1され、つまり、id=2011/05/0110:00:01に変更され、data=120ホスト2が独立したレコードとしてホスト1に記録されている。これにより、ホスト1にあるid=2011/05/0110:00:00のdata=100との衝突が回避され、それぞれが独立したレコードとして保存されている。2回目の同期前図20のBは、2回目の同期前のレコード構成を示している。ホスト1、2では、独自にdataを更新しており、1回目の同期のloop2の処理後からレコードの記録数が増加している。つまり、ホスト1、ホスト2には独自にレコードが複写されたため、id=2011/05/0110:40:00で一致するdata=170ホスト1、data=160ホスト2が存在している。つまり、レコード間に衝突を生じている。2回目の同期のloop1の処理後図21のAは2回目の同期のloop1の処理後のレコード構成を示している。ホスト2には、ホスト1から2つのレコードが複写されている。ホスト1のid=2011/05/0110:10:00のdata=130のレコードは同期前、ホスト2に存在しないので、ホスト2にそのまま複写されている。レコードの順序は時系列位置に沿っている。また、ホスト1のid=2011/05/0110:40:00のdata=170は同期前、ホスト2のレコードと更新日時が一致している。既述の衝突回避処理により、ホスト1のidコラムの値が変更1され、つまり、id=2011/05/0110:40:01に変更され、data=170ホスト1が独立したレコードとしてホスト2に記録されている。これにより、ホスト2にあるid=2011/05/0110:40:00のdata=160との衝突が回避され、それぞれが独立したレコードとして保存されている。2回目の同期のloop2の処理後図21のBは2回目の同期のloop2の処理後を示している。ホスト1には、ホスト2から2つのレコードが複写されている。ホスト2のid=2011/05/0110:20:00のdata=150のレコードは同期前、ホスト1に存在しないので、ホスト1にそのまま複写されている。レコードの順序は時系列位置に沿っている。また、ホスト2のid=2011/05/0110:40:00のdata=160は同期前、ホスト1のレコードと更新日時が一致している。既述の衝突回避処理により、ホスト2のidコラムの値が変更1され、つまり、id=2011/05/0110:40:01に変更され、data=160ホスト2が独立したレコードとしてホスト1に記録されている。これにより、ホスト1にあるid=2011/05/0110:40:00のdata=170との衝突が回避され、それぞれが独立したレコードとして保存されている。<同期管理テーブルを用いない場合のレコードの構成と同期による変化例>図22は同期管理テーブルを用いない場合のレコードの構成と同期による変化例を示している。同期前図22のAは同期前のホスト1およびホスト2のレコード構成を示している。ホスト1およびホスト2にはid=2011/05/0110:00:00で一致するdata=100ホスト1、data=120ホスト2が存在している。つまり、各dataは同期前、識別情報である更新日時が一致し、衝突を生じている。同期後図22のBは同期後のレコード構成を示している。ホスト2には、ホスト1から1つのレコードが複写コピーされている。既述の衝突回避処理により、ホスト1のidコラムの値が変更1され、つまり、id=2011/05/0110:00:01に変更され、data=100ホスト1が独立したレコードとしてホスト2に記録されている。これにより、ホスト2にあるid=2011/05/0110:00:00のdata=120との衝突が回避され、各レコードが独立したレコードとして保存されている。ホスト1には、ホスト2から2つのレコードが複写されている。ホスト2のid=2011/05/0109:55:00のdata=90のレコードは同期前、ホスト1には存在しないので、ホスト1にそのまま複写されている。その順序は、ホスト1にあるレコードより更新日時が古いので、もっとも古い時系列位置に保存されている。また、ホスト2のid=2011/05/0110:00:00のdata=120は同期前、ホスト1に存在するレコードと更新日時が一致している。このため、既述の衝突回避処理により、ホスト2のidコラムの値が変更1され、つまり、id=2011/05/0110:00:01に変更され、data=120ホスト2が独立したレコードとしてホスト1に記録されている。これにより、ホスト1にあるid=2011/05/0110:00:00のdata=100との衝突が回避され、それぞれが独立したレコードとして保存されている。このように、ホスト1およびホスト2では、更新時刻の一致によるレコードの衝突が回避され、それぞれが独立したレコードとして保存されている。また、この場合、同期管理テーブル72が存在していないため、レプリケーションマスタ識別子midが省略され、これを格納するフィールドも不要である。<レコードの同期前後および出力>図23はホスト1、2間のレプリケーションによる同期前後および出力を示している。図23では説明を容易にするため数値を簡略化して示している。図23において、図13と同一部分には同一符号を付してある。図23のAおよびBは同期前後のホスト1のテーブル74-1、ホスト2のテーブル74-2を示している。同期前、衝突していたレコードは既述の衝突回避処理によって更新時刻の変更により整合化され、それぞれ共通のレコードが記録されている。このように整合化されたレコードは、たとえば、データ出力タブのSQL文SELECTdate,value,midFROMtableORDERBYdateDESCLIMIT5;を用いることにより出力することができる。図23のCはホスト1、ホスト2の各レコードの出力を示している。出力されたレコードは更新日時が異なり、変更された更新日時を識別情報とするレコードはmid=1、mid=2によりいずれのホスト1、ホスト2から複写されたものかを識別することができる。これに対し、従来のレプリケーションでは、図24のAおよびBに示すように、識別子idを必要としている。このようなレコードを出力するには、SQL実行命令がSELECTdate,value,midFROMtableORDERBYdate,midDESCLIMIT5;となる。つまり、従来のレプリケーションでは、date、value、mid列はテーブルの各行を完全に一意に識別できないので、プライマリキーとして列を追加する必要が生じる。つまり、整合性制約がある。また、ORDERBYで2以上の列を指定しないと、SQL実行の都度、出力結果の並び順が不定になるおそれがある。レコードの列が増えることや、ORDERBY列で2以上の列を指定することで、記憶容量やSQL実行時間が増加するデメリットがある。これに対し、本開示のレプリケーション処理では次のような効果が得られる。dateフィールドの内容をユニークにするため、プライマリーキー列として利用できる。ORDERBYで1つの列の指定で、並び順が安定した出力結果を得られる。記憶容量とSQL実行時間を削減できる。なお、既述のORDERBY、SELECT文および整合性制約は、以下の通りである。ORDERBY句は、SELECT文において特定列の値に応じて行の並べ替えを行うことである。SELECT文で作成される表の行の出現順番を指定したい場合にORDERBY句が利用される。このORDERBY句がSELECT文に指定されなかった場合の行の出現順番は不定となる。このORDERBY句では、列ごとに昇順、降順の並べ替えを指定することができる。SELECT文は、リレーショナルデータベースのテーブル表の行を読み取るためのSQL文である。SELECT文では、複数のテーブルの結合JOINや条件を指定しての行の絞込みWHERE句、同一の値を持つ列のグループ化GROUPBY句、列の値による並べ替えORDERBY句など、目的に応じたデータの取り出しを行うことができる。整合性制約は、データベースが備えねばならない整合性の条件を実現するものであり、特にデータそのものの性質に基づく整合性についてのものである。たとえば、ある関係モデルにおいて、ある属性は一意性を保っていなければならないという条件があるとすれば、それは整合性制約で実現する。これに対して、データベースのトランザクション制御などで並行処理をうまく行なうことによって保たねばならないようなものは、一貫性制約と呼ばれる。一意性制約や参照制約、検査制約などは整合性制約の一つである。<データの記憶容量>図25は本開示のテーブル74と従来テーブルに要するデータの記憶容量を示している。図25のAはテーブル構成を示している。従来のレプリケーションでは、date、valueおよびmidに加え、識別子idが必要である。これに対し、本開示のレプリケーションでは、テーブル74のレコードにdate、valueおよびmidで構成される。図25のBはデータサイズを示している。従来のレプリケーションでは、idはINT型であり、そのサイズは4バイトである。dateはTIMESTAMP型であり、そのサイズは4バイトである。valueはTEXT型であり、そのサイズはL2バイトである。また、midはINT型であり、そのサイズは、4バイトである。各サイズを合計すると、全サイズはL14バイトとなり、たとえば、L=30であれば、L14=44バイトとなる。これに対し、本開示のレプリケーションに用いられるテーブル74では、識別子idを用いていないので、各サイズを合計すると、全サイズはL10バイトとなり、たとえば、L=30であれば、L10=40バイトとなる。このため、本開示のレプリケーションに必要なデータサイズは、従来構成に比較し40/44≒91となり、9だけ削減される。<更新時刻の変更によるユニークな識別情報>更新時刻で構成されたユニークな識別情報としての時刻IDが衝突する確率は、ホスト毎の平均更新間隔とホスト数から導かれる。利用状況からすれば、ホスト毎の平均更新間隔がホスト数よりも十分に大きければよい。たとえば、平均更新間隔が10分でホスト数が3であればケース1、600個のスロット中の3個が使われる=スロット使用率0.5ので、衝突可能性は十分に低い状況と判断できる。ここで、スロットとは、スロット=時刻ID=レコードを指定可能な場所である。時刻IDの精度が秒の場合、1分間あたり60個のスロットがある。つまり、最大60のレコードを生成できる。平均更新間隔が2分でホスト数が12であればケース2、120個のスロット中の12個が使われる=スロット使用率10ので、衝突可能性は認められるものの衝突を回避可能な状況であると判断できる。つまり、データは十分に近いスロットに記録できる。平均更新間隔が30秒でホスト数が60であればケース3、30個の空きスロットに対して60個のスロットが必要となる=スロット使用率200ので、衝突はほとんど不可避であり、衝突回避が不可能な状況であると判断できる。つまり、すべてのデータをスロットに記録できない。時刻IDの精度最小単位では、OSOperatingSystemやプログラミング言語で提供されるシステム時刻の精度は1秒、1ミリ秒、1マイクロ秒などがあり、これらから選択すればよい。時刻IDの範囲はプログラム例えば、Unix登録商標の場合は1970年1月1日から2038年1月19日までとなっている。本開示の内容では、時刻IDは、4バイト長で表現される1970年1月1日を起点とする秒数、あるいは8バイト長で表現される1970年1月1日等を起点とするマイクロ秒数で取り扱えばよい。<ホストにおけるデータベース、同期管理テーブルおよびレコードの構成例>図26はホストにおけるデータベース、同期管理テーブルおよびレコードの構成例を示している。既述のデータベースエンジン68図13は複数のデータベース66を保持する。アプリケーションは1つ以上のデータベースアプリ1用データベース66を利用する。図26のAに示すように、各データベース66は通常1つ以上のテーブルを含んでいる。つまり、アプリ1用データベース66-1にはテーブルテーブル174-11、テーブルテーブル274-12を備えている。同期管理用データベース95は、同期管理テーブル72を備えている。同期管理機能93図10のBは、図26のBに示すように、1つのデータベースとして同期管理用データベース95を利用する。この同期管理用データベース95は、1つ以上のテーブルを含み、このテーブルには同期管理テーブル72が含まれる。なお、同期管理テーブル72を用いない場合には図26のAに示す構成のみとなる。図27はレプリケーションのテーブルを示している。既述のテーブル1には、図27のAに示すように、複数のレコード1、レコード2レコード8が格納される。つまり、各レコード1~Nは、アプリケーションが必要とする数だけ作成される。同期管理テーブル72は、図27のBに示すように、複数のレコード1、レコード2レコード5が格納される。各レコード1~Nは、各機器が認識した機器の数だけ作成される。つまり、ある機器が5つの機器を認識すれば、5つのレコードが作成される。同期管理テーブル72を用いない場合には図27のAに示す構成のみとなる。図28はテーブル1および同期管理テーブル72の構成例を示している。アプリケーションのテーブルに格納されるレコードは、複数のコラム列で構成される。各レコードのテーブルには、idコラムおよびmidコラムが含まれる。さらに、アプリケーションが必要とする1つ以上のコラムを含む。図28のAに示すように、テーブル1では、idコラムを先頭にデータ1、データ2、データ3およびmidコラムが格納されている。同期管理テーブル72のレコードは、図28のBに示すように、2つのコラム列で構成される。各レコードには、midコラムと、最終同期日時コラムの2つのコラムが含まれている。<テーブル1のレコードにおけるコラムの構成例>アプリケーションのレコードでは、idコラムはデータの作成日時を保存し、midコラムはデータを作成した機器の識別子を保存する。同期管理テーブル72のレコードでは、midコラムは機器の識別子を保存する。最終同期日時コラムは、その機器とmidで識別される機器との間で最後に同期処理をした日時を保存する。未同期の場合は0である。図29はテーブル1および同期管理テーブルのレコードのコラム構成を示している。図29のAに示すテーブル1のレコードのコラム構成では、コラム名、データ型、サイズ、説明および初期値が格納される。コラム名には一例として、id、データ1、データ2、データ3およびmidが格納される。idには、データ型がTIMESTAMP、DATETIME他日時であること、サイズが4バイトまたは8バイトである。その説明にはデータの作成日時、初期値は現在の日時であることが格納される。データ1、データ2およびデータ3について、データ型は任意であること、サイズは任意であること、その説明にはアプリケーションを利用すること、初期値は任意であることが格納される。midには、データ型がINT整数であること、サイズが4バイトであること、その説明には同期対象となる機器の識別子であること、初期値には指定が必須であることが明示されている。図29のBに示す同期管理テーブル72のレコードには、同様に、コラム名、データ型、サイズ、説明および初期値が格納される。コラム名には、mid、最終同期日時が格納されている。midには、データ型がINT整数であること、サイズが4バイトであること、その説明には同期対象となる機器の識別子であること、初期値には指定が必須であることが格納されている。最終同期日時には、データ型がTIMESTAMP、DATETIME他日時であること、サイズが4バイトまたは8バイトであること、その説明には最後に同期処理をした日時、初期値には現在の日時が格納されている。なお、同期管理テーブル72を用いない場合には、図29のAのみの構成となる。<起動によるネットワーク接続の確立>図30および図31はレプリケータサービスの処理手順を示している。この処理手順は、本開示の同期制御プログラムまたは同期制御方法の一例である。図30および図31において、A、Bはフローチャート間の結合子を示している。この処理手順では、電源オンで初期化を行ないS201、全レプリケーションを実行するS202。エラー発生を監視しS203、エラーが発生すればS203のYES、そのエラーをログに記録するS204。このログ記録S204またはエラー発生がなければS203のNO、終了か否かを判定するS205。終了でなければS205のNO、ウェイト状態としS206、S202に戻る。このウェイト時間は一定時間とし、たとえば、30分のウェイト状態となる。また、終了であればS205のYES、この処理を終了する。図31はレプリケータサービスの処理手順のうち、例外処理の処理手順を示している。図31では、スリープに係る処理を例外処理としている。この例外の処理手順では、スリープか否かを判定しS211、スリープであればS211のYES、HALTに移行する。スリープでなければS211のNO、スリープからの復帰か否かを判定するS212。スリープからの復帰であればS212のYES、図30に示す処理手順のS202全レプリケーションに移行する。スリープからの復帰でなければS212のNO、シャットダウンか否かを判定するS213。シャットダウンであればS213のYES、図30に示す処理手順の終了レプリケータサービスの終了に移行する。また、シャットダウンでなければS213のNO、例外処理の処理手順を終了する。図32は既述の全レプリケーションS202:図30のサブルーチンの処理手順を示している。この全レプリケーションを開始すると、一時記憶niにネットワークインタフェースのリストを生成させるS221。この一時記憶niにデータがあるか否かを判定しS222、一時記憶niにデータがあればS222のYES、IFレプリケーションを実行するS223。このIFレプリケーションは一時記憶niの先頭要素に対して行う。このIFレプリケーションS223の後、一時記憶niの先頭要素を削除しS224、S222に戻る。一時記憶niにデータがなければS222のNO、この処理を終了し、既述のS203図30に遷移する。図33は既述のIFレプリケーションS223:図32のサブルーチンの処理手順を示している。このIFレプリケーションでは、一時記憶niにネットワークインタフェースを格納する。このIFレプリケーションを開始すると、一時記憶niにデータがあるか否かを判定しS231、一時記憶niにデータがあればS231のYES、一時記憶svに一時記憶niにインタフェースで登録済みホストのリストを生成させるS232。一時記憶svにデータがあるか否かを判定しS233、一時記憶svにデータがあればS233のYES、一時記憶svの先頭のホストに接続可能か否かを判定するS234。接続可能であればS234のYES、レプリケーションを実行しS235、一時記憶svの先頭要素を削除しS236、S233に戻る。S234において、接続不可であればS234のNO、レプリケーションS235を実行することなく、一時記憶svの先頭要素を削除するS236。一時記憶niにデータがない場合S231のNO、または一時記憶svにデータがない場合S233のNOには、IFレプリケーションを終了する。このようにして、登録済みホストのレプリケーションを順に行ない、接続可能な全てのホストについて、レプリケートを行なう。<新しいネットワーク接続の確立>図34および図35はネットワーク検出サービスの処理手順を示している。各処理手順において、C、Dはフローチャート間の結合子を示している。この処理手順では、電源オンで初期化を開始するS241。この初期化の後、一時記憶nibakを空にしS242、ウェイト状態に移行するS243。このウェイト時間は一定時間たとえば、1分である。このウェイト状態において、一時記憶niにネットワークインタフェースのリストを生成しS244、一時記憶difに一時記憶niから一時記憶nibakの要素を取り除いたリストを生成させるS245。一時記憶difに要素がある否かを判定しS246、要素があればS246のYES、IFレプリケーションを実行するS247。このIFレプリケーションは一時記憶difの先頭要素について行ない、このS247の後、一時記憶difの先頭要素を削除しS248、S246に戻る。IFレプリケーションは、niの先頭要素に代えてdifの先頭要素を行なう他はIFレプリケーション図32、S223と同様である。一時記憶difに要素がなければS246のNO、一時記憶nibakを一時記憶niで更新しS249、終了か否かを判定するS250。終了でなければS250のNO、S243に復帰し、ウェイト状態に遷移する。また、終了であればS250のYES、このネットワーク検出処理を終了する。このようにして、一定時間間隔でnibakにあるインタフェースからの差分のインタフェースについてレプリケートを行なう。図35はネットワーク検出サービスの処理手順のうち、例外処理の処理手順を示している。この例外の処理手順では、スリープか否かを判定しS251、スリープであればS251のYES、HALTに移行する。スリープでなければS251のNO、スリープからの復帰か否かを判定するS252。スリープからの復帰であればS252のYES、図34に示す処理手順のS243ウェイトに移行する。スリープからの復帰でなければS252のNO、シャットダウンか否かを判定するS253。シャットダウンであればS253のYES、図34に示す処理手順の終了ネットワーク検出サービスの終了に移行する。また、シャットダウンでなければS253のNO、例外処理の処理手順を終了する。<新接続先装置新デバイスの発見の処理>図36はレプリケータホスト検出サービスの処理手順を示している。この処理手順では、一時記憶niにネットワークインタフェースのリストを生成させるS261。一時記憶niにデータがるか否かを判定しS262、データがあればS262のYES、一時記憶niの先頭インタフェースにブロードキャスト送信をするS263。一時記憶dscvrにブロードキャストの応答ホストのリストを生成させるS264。一時記憶dscvrにデータがあるか否かを判定しS265、一時記憶dscvrにデータがあればS265のYES、一時記憶dscvrの先頭は登録済みホストか否かを判定するS266。dscvrの先頭が登録済みホストでなければS266のNO、インタフェース登録ホストに一時記憶dscvrの先頭を設定しS267、レプリケーションを実行するS268。このレプリケーションの後、一時記憶dscvrの先頭要素を削除しS269、S265に戻る。S265において、一時記憶dscvrにデータがなければS265のNO、一時記憶niの先頭要素を削除しS270、S262に戻る。一時記憶niにデータがなければS262のNO、終了か否かを判断しS271、終了でなければS271のNO、ウェイト状態に移行しS272、S261に戻る。この場合ウェイト時間は一定時間であり、たとえば、5分である。S271において、終了であればS271のYES、このレプリケータホスト検出サービスの処理手順を終了する。このようにして、各ネットワークインタフェース中の登録済みでない応答ホストについて、レプリケートを行なう。<レプリケーションのシーケンス>図37は、PCと情報処理端末とを対峙させ、PCと情報処理端末との間で実行されるレプリケーションのシーケンスを示している。情報処理端末4-1からPC26に同期管理テーブル72が要求されS281、PC26から情報処理端末4-1に同期管理テーブル72が送信されるS282。情報処理端末4-1では同期対象のmidを決定しS283、loop1に移行する。loop1では、情報処理端末4-1からPC26に対してデータベース更新要求を行ないS284、PC26ではデータベースの更新を行うS285。PC26はこのデータベース更新の後、情報処理端末4-1に対し応答が発せられるS286。loop1ではこのような処理を繰り返して行い、PC26側のデータベースの更新の後、loop2に移行する。loop2では、情報処理端末4-1からPC26にデータベース取得要求を行ないS287、情報処理端末4-1ではデータベースの更新を行うS288。PC26から情報処理端末4-1に対し、データベース結果の送信を行なうS289。loop2ではこのような処理を繰り返して行う。情報処理端末4-1のデータベースの更新の後、情報処理端末4-1からPC26に終了を通知しS290、PC26から情報処理端末4-1にその応答が通知されるS291。図38は同期対象の決定処理の処理手順を示している。この処理手順では一時記憶curに同期管理テーブルのレコードのリストを格納しS301、一時記憶itblに取得した同期管理テーブルを格納するS302。一時記憶impに一時記憶itblのレコードのリストを格納するS303。一時記憶umidを空にしS304、impがあるか否かを判定するS305。一時記憶impがなければS305のNO、この処理を終了する。一時記憶impがあればS305のYES、impの先頭のmidが自midであるか否かを判定しS306、一時記憶curにimpの先頭のmidがあるか否かを判定するS307。一時記憶curにimpの先頭のmidがあればS307のYES、imp側の最終同期日時-一時記憶cur側日時≧閾値であるか否かを判定するS308。閾値は一定時間たとえば、30分である。impのmidを一時記憶umidに追加しS309、一時記憶impの先頭要素を削除しS310、S305に戻る。このようにして、itblのレコードのリストから自midのデータと最終同期からの経過時間が閾値以下のデータを除外して、一時記憶umidに記憶して、同期対象を決定する。図39は同期対象を決定する動作例を示している。この動作例では情報処理端末4-1側mid=1の同期管理テーブル72-1と、PC26mid=2の同期管理テーブル72-2との推移を示している。この動作例では、mid=1、3、5が無視され、mid=2、4、6が取得対象である。つまり、umid=2、4、6となる。図40は、既述のシーケンス図37のloop1の処理手順を示している。この処理手順の開始により、現在時刻-imp側最終同期日時≧閾値であるか否かを判定するS321。これは自midについて判断し、閾値は一定時間たとえば、30分である。現在時刻-imp側最終同期日時≧閾値でなければS321のNO、このloop1の処理を終了する。現在時刻-imp側最終同期日時≧閾値であればS321のYES、一時記憶dblにデータベースのリストを生成しS322、一時記憶dblにデータがあるか否かを判定するS323。一時記憶dblにデータがなければS323のNO、この処理を終了する。一時記憶dblにデータがあればS323のYES、一時記憶tblに一時記憶dblの先頭データベースのテーブルのリストを展開するS324。一時記憶tblにデータがあるか否かを判断しS325、データがあればS325のYES、一時記憶rclに一時記憶tblから条件を抽出したレコードのリストを展開するS326。抽出条件は、id>imp側最終同期日時ANDmidが自midとし、idがimp側最終同期日時を有する自midのレコードを抽出する。一時記憶rclにデータがあるか否かを判断しS327、一時記憶rclにデータがあればS327のYES、データベースの更新要求を行なうS328。更新要求の後、または一時記憶rclにデータが無い場合S327のNO、一時記憶tblの先頭要素を削除しS329、S325に戻る。一時記憶tblにデータがなければS325のNO、一時記憶dblの先頭要素を削除しS330、S323に戻る。図41は、既述のシーケンス図37のloop2の処理手順を示している。この処理手順の開始により、データベースの取得要求を行ないS341、データベースの結果送信を行うS342。umidがあるか否かを判断しS343、umidがなければS343のNO、この処理を終了する。umidがあればS343のYES、一時記憶idblに取得したデータベースのリストを展開しS344、一時記憶idblにデータがあるか否かを判定するS345。一時記憶idblにデータがなければS345のNO、この処理を終了する。一時記憶idblにデータがあればS345のYES、一時記憶itbl2に一時記憶idblの先頭データベースのテーブルのリストを展開するS346。一時記憶itbl2にデータがあるか否かを判断しS347、データがあればS347のYES、一時記憶irclに一時記憶itbl2から条件を抽出したレコードのリストを展開するS348。抽出条件は、id>imp側のmid最終同期日時ANDmidがumidのいずれかを含むとする。一時記憶irclにデータがあるか否かを判断しS349、一時記憶irclにデータがあればS349のYES、データベースの更新および衝突回避処理irclを行なうS350。データベースの更新および衝突回避の処理、または一時記憶irclにデータが無い場合S349のNO、一時記憶itbl2の先頭要素を削除しS351、S347に戻る。一時記憶itbl2にデータがなければS347のNO、一時記憶idblの先頭要素を削除しS352、S345に戻る。このようにしてid>imp側のmid最終同期日時であって、midがumidのいずれかを含むデータの更新を行なう。<データベースの更新およびデータの衝突回避>図42はデータベース更新とデータ衝突の回避処理の処理手順を示している。この処理手順では、開始により、一時記憶irclに引数で受け取ったレコードのリストを展開するS361。この場合引数は、データベース名、テーブル名、更新レコードリストである。一時記憶irclがあるか否かを判断するS362。一時記憶irclがなければS362のNO、この処理を終了する。一時記憶irclがあればS362のYES、一時記憶ircに一時記憶irclの先頭を展開するS363。一時記憶rcにデータベースのデータテーブルからirc->idを抽出するS364。rcにデータがあるか否かを判断しS365、rcにデータがあればS365のYES、irc->id←irc->id1の処理を実行しS366、irc->idの値を1大きくし、S364に戻る。rcのデータがなくなるまでS364~S366の処理を継続的に行う。一時記憶rcにデータがなければS365のNO、データベースのテーブルに一時記憶ircを展開しS367、一時記憶irclの先頭要素を削除しS368、S362に戻る。irc->idは一時記憶rcにはない値データに設定されるので、irc->idがユニークなidに設定される。<ホスト1側の処理手順およびデータベースのレコード変化>図43、図44、図45および図46はホスト1のレプリケーションの処理手順を示している。この処理手順は図42と同様であり、動作ステップを太線で示している。この処理手順では、データベースのテーブルに示すように、処理手順の開始により、一時記憶irclにホスト2のレコードのリストを展開するS361。一時記憶irclがあるか否かを判断するS362。この場合、一時記憶irclがあるのでS362のYES、一時記憶ircに一時記憶irclの先頭を展開するS363。一時記憶rcにデータベースのデータテーブルからirc->idを抽出しS364、rcにデータがあるか否かを判断するS365。この場合、一時記憶rcにデータがないのでS365のNO、データベースのテーブルに一時記憶ircを展開するS367。そして、一時記憶irclの先頭要素を削除しS368、図44のS362に遷移する。S362では一時記憶irclがあるか否かを判断するS362。この場合、一時記憶irclがあるのでS362のYES、一時記憶ircに一時記憶irclの先頭を展開するS363。一時記憶rcにデータベースのデータテーブルからirc->idを抽出するS364。一時記憶rcにデータがあるか否かを判断するS365。この場合、一時記憶rcにデータがあるのでS365のYES、irc->id←irc->id1の処理を実行しS366、図45のS364に遷移する。図45のS364では一時記憶rcにデータベースのデータテーブルからirc->idを抽出しS364、一時記憶rcにデータがあるか否かを判断するS365。この場合、一時記憶rcにデータがないのでS365のNO、データベースのテーブルに一時記憶ircを展開するS367。一時記憶irclの先頭要素を削除しS368、図46のS362に遷移する。図46のS362では、一時記憶irclがあるか否かを判断するS362。この場合、一時記憶irclがないのでS362のNO、この処理を終了する。<ネットワークインタフェースのリスト>図47はネットワークインタフェースのリスト、ネットワークインタフェースの構成、接続状態を示す一時記憶niのデータ構造を示している。レプリケータホスト検出機能図36ではネットワークインタフェースのリストが用いられる。このリストはネットワークに対応するポートであり、一時記憶niが用いられる。この一時記憶niは、メインメモリ上に配置され、リスト構造を持っている。この一時記憶niには、ホスト装置が持つネットワークインタフェースのうち、接続状態のネットワークインタフェースを表す名前、ネットワークインタフェース名が保存される。図47のAは一時記憶niの構成例を示している。この一時記憶niには、ネットワークインタフェース名1、ネットワークインタフェース名2、ネットワークインタフェース名3が格納されている。図47のBはホスト装置のネットワークインタフェースの一例を示している。ホスト装置ホスト40には、無線LAN30により他の機器114が無線により接続されているワイヤレスネットワーク接続。また、ホスト装置40には有線LANLAN122-1によりインターネット20に接続されているローカルエリア接続1。ホスト装置40の有線LANLAN222-2は未接続である。つまり、ローカルエリア接続2側は未接続状態にある。図48は、ネットワークインタフェースの接続状態を示す一時記憶niのデータ構造を示している。有線LAN22-1および無線LAN30が接続状態であれば、図48のAに示すように、一時記憶niにはローカルエリア接続1およびワイヤレスネットワーク接続が格納される。また、有線LAN22-1、22-2および無線LAN30が接続状態であれば、図48のBに示すように、一時記憶niにはローカルエリア接続1、ローカルエリア接続2およびワイヤレスネットワーク接続が格納される。また、全てのネットワークインタフェースが非接続状態であれば、一時記憶niの内容は空となる。<一時記憶sv:一時記憶niのインタフェースで登録済みホストのリスト>図49は、一時記憶svの構成例、ネットワークインタフェースの構成、接続状態を示す一時記憶svのデータ構造を示している。一時記憶sv図33は、メインメモリ上に配置され、リスト構造を持っている。この一時記憶svには、ホスト装置40の指定されたネットワークインタフェースに接続された記録があるホスト名およびMACMediaAccessControlアドレスが保存される。MACアドレスは、ネットワーク機器のハードウェアに割り当てられる物理アドレスで、その表現形式は48ビット符号である。図49のAに示す一時記憶svには、ホスト名1、ホスト名2、ホスト名3に対応するMACアドレス1、MACアドレス2、MACアドレス3が格納されている。図49のBは、ホスト装置40と複数のクライアントの接続例を示している。ホスト装置40にクライアントhost01116-1とクライアントhost02116-2が無線LAN30により接続されているワイヤレスネットワーク接続。ホスト装置40には既述の有線LAN有線LAN122-1と有線LAN有線LAN222-2とが設けられている。有線LAN有線LAN122-1にはインターネット20およびクライアントhost03116-3が接続されているローカルエリア接続1。また、有線LAN有線LAN222-2にはクライアントhost04116-4およびクライアントhost05116-5が接続されているローカルエリア接続2。図50は、LAN接続を表す一時記憶svのデータ構造を示している。図50のAはワイヤレスネットワーク接続の指定時であり、一時記憶svにはhost01に対して111111111111、host02に対して222222222222が格納されている。図50のBはローカルエリア接続1の指定時であり、一時記憶svにはhost03に対して333333333333が格納されている。図50のCはローカルエリア接続2の指定時であり、一時記憶svにはhost04に対して444444444444、host05に対して555555555555が格納されている。<一時記憶dif:一時記憶niの一時記憶nibakの要素を除いたリスト>図51は、一時記憶dif図34の構成例およびネットワーク構成の変化を示している。一時記憶difは、メインメモリ上に配置され、リスト構造を持っている。この一時記憶difには、ホスト装置40が持つネットワークインタフェースのうち、前回から今回にかけて接続状態に変化したネットワークインタフェース名が保存される。図51のAに示す一時記憶difは、複数のネットワークインタフェース名としてネットワークインタフェース名1、ネットワークインタフェース名2、ネットワークインタフェース名3を格納している。図51のBは変化前前回の状態のネットワーク構成を示している。この変化前の構成では、ホスト装置40の無線LAN30は非接続であり、ワイヤレスネットワーク接続はない。ホスト装置40の有線LAN有線LAN122-1にはインターネット20のみが接続されている。つまり、ローカルエリア接続1にはネットワークが接続されている。有線LAN有線LAN222-2は未接続であり、ローカルエリア接続2はオープン状態である。これに対し、図51のCは変化後現在の状態のネットワーク構成を示している。変化後の構成では、他の機器114が無線LAN30により接続されているワイヤレスネットワーク接続。ホスト装置40には既述の有線LAN有線LAN122-1によりインターネット20が接続されているローカルエリア接続1。有線LAN有線LAN222-2は前回同様に未接続であり、ローカルエリア接続2は非接続状態である。図52は現在の一時記憶nibak、ni、difの各内容を示している。図52のAに示す一時記憶nibakは現在、ローカルエリア接続1となっている。図52のBに示す一時記憶niは現在、ローカルエリア接続1およびワイヤレスネットワーク接続となっている。図52のCに示す一時記憶difは現在、ワイヤレスネットワーク接続となっている。<一時記憶dscvr一時記憶niで応答したホストのリスト>図53は、一時記憶dscvrのデータ構造、接続状態を示している。一時記憶dscvrは、メインメモリ上に配置され、リスト構造を持っている。この一時記憶dscvrには、ホスト装置40の指定されたネットワークインタフェースで発見されたホストを表すホスト名とMACアドレスが保存される。図53のAに示す一時記憶dscvrでは、複数のホスト名としてホスト名1、ホスト名2、ホスト名3とともに、MACアドレス1、MACアドレス2、MACアドレス3が格納されている。図53のBはワイヤレスネットワーク接続が未接続から接続への変化例を示している。図51のBに示す状態ワイヤレスネットワーク接続=未接続から図53のBに示すように、ホスト装置40の無線LAN30側にクライアントhost01116-1が接続されているワイヤレスネットワーク接続。図53のCは、この場合の一時記憶dscvrの内容を示している。一時記憶dscvrには、接続状態を表すhost01とともに111111111111が格納されている。<一時記憶cur:同期管理テーブルのレコードのリスト>図54は一時記憶curのデータ構造および複写動作を示している。一時記憶curは、メインメモリ上に配置され、リスト構造を持っている。この一時記憶curのコピー元にあたる同期管理テーブル72はホスト装置40のデータベース上に保存されている。図54のAは一時記憶curのデータ構造を示している。この一時記憶curでは、mid1、mid2、mid3とともに、最終更新日時1、最終更新日時2、最終更新日時3が保存されている。図54のBは、一時記憶curのコピー動作および内容例を示している。同期管理テーブル72にはmidの番号とともに、日時情報が保存されている。したがって、これをコピーした一時記憶curには同様にmidの番号とともに、日時情報が保存される。<一時記憶itbl取得した同期管理テーブル>図55は、一時記憶itblの構成例および内容を示している。一時記憶itblは、データベース上に保存されるか、またはメインメモリ上に配置され、リスト構造を持っている。この一時記憶itblは同期対象装置の同期管理テーブル72であり、同期対象装置のデータベース上に保存されている。図55のAに示す一時記憶itblではmid1、mid2、mid3とともに、最終更新日時1、最終更新日時2、最終更新日時3が保存されている。図55のBに示す一時記憶itblの内容ではmidの番号とともに、具体的な更新日時が保存されている。<一時記憶imp:一時記憶itblのレコードのリスト>図56は一時記憶impの構成および内容を示している。一時記憶impは、メインメモリ上に配置され、リスト構造を持っている。この一時記憶impは作業用の変数リストであり、初期化時に一時記憶itblの内容がコピーされ、先頭要素から順番に利用される。図56のAに示す一時記憶impではmid1、mid2、mid3とともに、最終更新日時1、最終更新日時2、最終更新日時3が保存されている。図56のBは、一時記憶impのコピー動作および内容例を示している。一時記憶itblにはmidの番号とともに、日時情報が保存されている。したがって、これをコピーした一時記憶impには、同様にmidの番号とともに、日時情報が保存される。<一時記憶dblの構成>図57は一時記憶dblの構成例、データベースの構成、一時記憶dblのデータ構造を示している。一時記憶dblは、通常メインメモリ上に配置される一時記憶で、リスト構造を持つ。この一時記憶dblにはホスト装置40のデータベースに含まれるデータベース名が保存される。図57のAに示す一時記憶dblには、データベース名1、データベース名2、データベース名3が格納されている。図57のBに示すホスト装置40のデータベースは、3個のアプリ用のデータベース118-1、118-2、118-3と同期管理用データベース120を持ち、それぞれappl1_dbアプリ1用データベース、appl2_dbアプリ2用データベース、appl3_dbアプリ3用データベース、syncmgr_db同期管理用データベースという名前を有する。これに対応し、図57のCに示す一時記憶dblにはappl1_db、appl2_db、appl3_dbが格納されている。<一次記憶tbl:一次記憶dblの先頭データベースのテーブルのリスト>図58は、一次記憶tblの構成、ホスト装置のデータテーブルの構成例を示している。一次記憶tblは、メインメモリ上に配置され、リスト構造を持っている。この一次記憶tblにはホスト装置のデータベース名で指定されたデータベースに含まれるテーブル名が保存される。図58のAに示す一次記憶tblでは、テーブル名1、テーブル名2、テーブル名3が保存されている。この場合、図58のBに示すホスト同士のデータベースのテーブル構成ではアプリ1用データベースappl1_dbには2つのテーブルaaa_tblと、テーブルbbb_tblを備えている。アプリ2用データベースappl2_dbは内部に2つのテーブルccc_tblと、テーブルddd_tblを備えている。アプリ3用データベースappl3_dbは内部に2つのテーブルeee_tblとテーブルfff_tblを備えている。そして、同期管理用データベースsyncmgr_dbはテーブルsyncmgr_tblを備えている。図59は、一次記憶tblの初期化およびその内容を示している。図59のAは一次記憶tblの初期化動作と内容の例1であり、一次記憶dblが初期動作でテーブル名appl1_db、appl2_dbappl3_dbを備えている。これに対し、一時記憶tblでは、先頭のデータベースのテーブル名をコピーし、テーブル名がaaa_tbl、bbb_tblになる。図59のBは一次記憶tblの初期化動作と内容の例2であり、一次記憶dblが初期動作でテーブル名appl2_db、appl3_dbを備えている。これに対し、一時記憶tblでは、先頭のデータベースのテーブル名をコピーし、テーブル名がccc_tbl、ddd_tblになる。図59のCは一次記憶tblの初期化動作と内容の例3であり、一次記憶dblが初期動作でテーブル名appl3_dbを備えている。これに対し、一時記憶tblでは、先頭のデータベースのテーブル名をコピーし、テーブル名がeee_tbl、fff_tblになる。<一次記憶rcl:一次記憶tblから条件抽出したレコードのリスト>図60は、一次記憶rclの構成例およびレコードの構成を示している。一次記憶rclは、メインメモリ上に配置され、リスト構造を持っている。この一次記憶rclには、指定されたテーブルに含まれるレコードからの抽出結果が保存される。図60のAに示す一次記憶rclの構成例では、レコード1、レコード2、レコード3が保存されている。図60のBは各レコードの構成例を示している。各レコードは、id、midおよびdataで構成されている。図61は一次記憶tblおよび一時記憶rclの内容を示している。図61のAに示す一次記憶tblでは、時刻情報を含むデータ構造を備えている。図61のBに示す一次記憶rclは時刻情報を含むデータ構造を備えている。これは、2011/05/0109:00:00は最終同期時刻であり、自mid=mid1の場合に、図61のAに示す一時記憶tblから条件抽出して得られる。<一時記憶idbl取得したデータベースのリストと一時記憶itbl2一時記憶itbl:取得した一時記憶idblの先頭のテーブルのリストの関係を表すリスト>図62は、一時記憶idblの構成、ホストのデータベースの構成および一時記憶idblの内容を示している。一時記憶idblは、メインメモリ上に配置され、リスト構造を持っている。この一時記憶idblにはデータベース名が保存される。図62のAに示す一時記憶idblではデータベース名1、データベース名2、データベース名3が保存されている。図62のBに示す同期対象装置のデータベースの構成例では、同期対象装置に3つアプリ用のデータベースと一つの同期管理用データベースを持っている。appl1_dbはアプリ1用データベース名、appl2_dbはアプリ2用データベース名、appl3_dbはアプリ3用データベース名を表している。また、syncmgr_dbは同期管理用データベース名を表している。これに対応し、図62のCに示す一時記憶idblでは、appl1_db、appl2_db、appl3_dbが保存されている。図63は、一時記憶itbl2の構成およびデータベースのテーブル構成を示している。一時記憶itbl2はメインメモリ上に配置され、リスト構造を持っている。この一時記憶itbl2には同期対象装置のデータベース名で指定されたデータベースに含まれるテーブル名が保存される。図63のAに示す一時記憶itbl2ではデータベース名1、データベース名2、データベース名3が保存されている。図63のBに示す同期対象装置のデータベースの構成例では、appl1_dbアプリ1用データベースは内部に2つのテーブルaaa_tbl、、bbb_tblを持っている。appl2_dbアプリ2用データベースは内部に2つのテーブルccc_tbl、ddd_tblを持っている。appl3_dbアプリ3用データベースは内部に2つのテーブルeee_tbl、fff_tblを持っている。図64は一時記憶itbl2の初期化および内容を示している。図64のAに示す一次記憶idblは初期動作でデータベース名appl1_db、appl2_dbappl3_dbを備えている。これに対し、一時記憶itbl2では、先頭のデータベースのテーブル名をコピーし、テーブル名がaaa_tbl、bbb_tblになる。図64のBは一次記憶itbl2の初期化動作と内容の例2であり、一次記憶idblが初期動作でデータベース名appl2_db、appl3_dbを備えている。これに対し、一次記憶itbl2では、先頭のデータベースのテーブル名をコピーし、テーブル名がccc_tbl、ddd_tblになる。図64のCは一次記憶itbl2の初期化動作と内容の例3であり、一次記憶idblが初期動作でデータベース名appl3_dbを備えている。これに対し、一次記憶itbl2では、先頭のデータベースのテーブル名をコピーし、テーブル名がeee_tbl、fff_tblになる。<一時記憶ircl:取得したitbl2から条件抽出したレコード>図65は一時記憶irclの構成、レコード構成を示している。一時記憶irclは、メインメモリ上に配置され、リスト構造を持っている。この一時記憶irclには指定されたテーブルに含まれるレコードからの抽出結果が保存される。図65のAに示す一時記憶irclには、レコード1、レコード2、レコード3が保存されている。図65のBに示すレコード構成では、id、mid、dataを備えている。図66は一時記憶itbl2および一時記憶irclの内容を示している。図66のAに示す一時記憶itbl2には日時情報やデータ内容が格納されている。図66のBに示す一時記憶irclには日時情報やデータ内容が格納されている。これは、2011/05/0109:00:00が最終同期日時であり、同期先mid=mid2の場合に、図66のAに示すitbl2から条件抽出して得られる。<インタフェース別登録ホスト>図67はインタフェース別登録ホストの構成例、レコードの構成例および内容を示している。インタフェース別登録ホストは、通常データベース上に保存されるデータベースでありテーブルレコード構造を持っている。図67のAはインタフェース別登録ホストの構成を示している。インタフェース別登録ホストにはレコード1、レコード2、レコード3を備えている。図67のBはインタフェース別登録ホストのレコードの構成を示している。このインタフェース別登録ホストでは、インタフェース、ホスト名1、MACアドレス1を備えている。図67のCは既述の図49および図50の例を元にしたインタフェース別登録ホストの内容を示している。このインタフェース別登録ホストには、ワイヤレスネットワーク接続に対してhost01およびhost02が存在し、host01は111111111111、host02は222222222222である。また、host03、host04およびhost05が存在し、host03はローカルエリア接続1、host04およびhost05はローカルエリア接続2を構成している。各host03の内容は333333333333であり、host04の内容は444444444444であり、また、host05の内容は555555555555である。<他の装置の間でmidを一致させるメカニズム>汎用一意識別子UUID方式内部外部共通レプリケーション機能を搭載する機器の初期設定時に汎用一意識別子UUIDを生成し、これを当該機器のmidとする方法がある。各機器の内部利用、外部への通信ともUUIDを利用する。16バイト128ビットの数値で表現され、他の機器と重複しないことが期待できる。汎用一意識別子UniversallyUniqueIdentifier:UUIDとは、DCEDistributedComputingEnvironmentの一部としてOSFOpenSoftwareFoundationが標準化した一意に識別するための識別子である。UUIDは、分散システム上でどこかが統制を取らずとも、一意に特定可能な識別子の作成を目的としている。このUUIDは重複や偶然の一致が起こりえないと確信して用いることができる。なお、UUIDの実装として最も広く使われているのは、グローバル一意識別子GloballyUniqueIdentifier:GUID:マイクロソフトである。UUIDは16バイトの数値で表され、550e8400-e29b-41d4-a716-446655440000のように表現する。よく利用されるのは乱数に基づくUUIDUUIDversion4で、この形式のUUIDは2122通りおよそ5.3×1036通り存在する。UUIDはISO/IEC11578:1996Informationtechnology--OpenSystemsInterconnection--RemoteProcedureCall:RPCの一部として文書化されている。なお、IETFはUUIDに関してRFC4122を公開している。汎用一意識別子UUID方式内部コード変換方式本機能を搭載する機器の初期設定時にUUIDを生成して、装置間で情報交換する際はこのUUIDを利用し、機器の内部では例えば、32ビットで表現する内部コードに変換する。図68はUUID内部コード変換方式の構成を示している。ホスト装置ホスト140-1およびホスト装置ホスト240-2の内部コードを32ビットとし、これらホスト40-1、40-2間では128ビットの交換用符号としてUUIDを生成し、LANにより内部コードを変換する。<レプリケーションの例>このようなレコードのレプリケーションはたとえば、図69に示す複数の情報処理端末間のメッセージデータの送受信に利用可能である。図69に示す同期制御システム2では一例として利用者P1が持つ情報処理端末4-1、利用者P2が持つ情報処理端末4-2、利用者P3が持つ情報処理端末4-3がネットワーク6によって接続されている。情報処理端末4-1にはレコード112-1があり、情報処理端末4-2にはレコード112-2があり、情報処理端末4-3にはレコード112-3があるとする。これらレコード112-1、112-2、112-3は更新時刻を識別情報とし、この識別情報を構成する更新時刻が一致している場合を想定する。この場合、情報処理端末4-1が情報処理端末4-2、4-3と接続によって同期され、レプリケーションを実行したとする。更新時刻が一致しているレコード112-2、112-3は、衝突回避処理の更新時刻がインクリメントにより変更され、ユニークな識別情報に変更される。この結果、情報処理端末4-1は情報処理端末4-2からレコード112-2、情報処理端末4-3からレコード112-3を取得し、異なる更新時刻からなる識別情報により識別されて保存される。このような構成によれば、各利用者P1、P2、P3が個別にメッセージを送り、応答メッセージを受信することができる。たとえば、利用者P1、P2、P3間でのテキストデータなど、メッセージ送受信に利用可能であり、厳密な日時は必要ではないが、大体の時刻がわかればよいなどの状況でのレコードのレプリケーションに利用できる。第2の実施の形態の特徴または効果各機器のレコードの主キーとして更新時刻を設定し、データの複写レプリケーション時に、その更新時刻が衝突していた場合は、相手から提供されるデータの更新時刻をインクリメントして自分のデータとして複写し、相手の機器が自分のデータを複写して保持する場合は、相手の機器が提供されたデータの更新時刻をインクリメントして保持することによって、各々のデータベース上のデータを複写し合う。この処理方法を採用すると、データの識別フィールドをプラスする必要がなくなり、結果としてデータの量を少なくでき、また、衝突データの識別のために時間データをずらすという簡単な手法の為、処理時間の短縮を図ることが可能となる。これにより、携帯型機器のようなストレージの小さく、かつ、プロセッサ能力の小さな機器でも効率よくデータの複写をすることが可能となる。データを更新した装置の識別子と、データの競合発生時の解決方法を指定する識別子を有する。接続先装置が自装置以外の他装置に関する最新のデータを保持している場合は、当該データで自装置のデータをアップデートする。更新時刻をレコードIDに用いて、他装置で同一時刻に同一レコードが更新された場合は、アプリケーションに影響を与えない時刻範囲内で更新時刻を変更することによりユニークなIDに変更し、データの整合性を確保している。インターネット接続がないか、インターネットと切断された家庭内ネットワークにおいても、家庭内ネットワークに接続した複数の情報機器同士でデータやサービスを同期したり共用できる。特に、動的Webページの同期共用という新機能を提供することができる。既述のdate、value、mid列はテーブルの各行を完全に一意に識別できない場合にも、プライマリキーとして列を追加する必要は生じない。つまり、既述の整合性制約は生じない。この整合性制約はデータベースでのデータの整合性に関するものである。つまり、整合性制約は、データベースが備えねばならない整合性の条件を実現するものであり、特にデータそのものの性質に基づく整合性についてのものである。たとえば、ある関係モデルにおいて、ある属性が一意性を保っていなければならないという条件があるとすれば、それは整合性制約で実現される。これに対し、データベースのトランザクション制御などで並行処理を行なうことによって保たねばならないようなものは一貫性制約と呼ばれる。一意性制約、参照制約、検査制約などが整合性制約の一つである。既述のORDERBYで1つの列の指定で、並び順が安定した出力結果を得られる。つまり、従来のようなORDERBYで2つ以上の列を指定する必要はなく、SQL実行の都度、出力結果の並び順が不定になる不都合は生じない。記憶容量やSQL実行時間を削減できる。つまり、列が増えること、およびORDERBY列で2つ以上の列を指定する必要はなく、記憶容量を増加することなく、また、SQL実行時間の増加はない。dateフィールドの内容をユニーク化するので、プライマリキー列として利用できる。他の実施の形態上記実施の形態では、同期が可能な電子機器としてデスクトップPC26、ノートPC36、スマートフォン34、タブレット端末38を例示したが、データ記憶機能を備え、通信接続により同期が可能であれば、これらの機器に限定されない。PDAPersonalDigitalAssistant、テレビ受像機、ゲーム機、カメラであってもよい。以上説明したように、本開示の情報処理装置、その同期制御プログラム、その同期制御方法および同期制御システムの最も好ましい実施の形態等について説明した。本発明は、上記記載に限定されるものではなく、特許請求の範囲に記載され、又は発明を実施するための形態に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能であることは勿論である。斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。"