(57)【特許請求の範囲】
【請求項１】
整合処理を行なう外部装置を指定する第１指定手段と、
整合処理を行なうデータベースの種別を指定する第２指定手段と、
第１データベースを格納するためのデータベース格納手段と、
前記第１データベースのデータを前記第１指定手段で指定された外部装置に格納され前記第２指定手段で指定された種別の第２データベースのデータで置き換えるとともに、前記外部装置に対して前記第２のデータベースのデータを前記第１のデータベースのデータで置き換えるように指示することにより、対応するデータの整合性をとるための整合処理手段と、
前記第１データベースと前記第２データベースとの間で、前回整合処理を行なった時期を示す整合処理時期情報と、前記第１データベースに含まれる各データに対応付けられ、各前記データが変更された時期を示すデータ変更時期情報とに基づいて、前記第１データベースに含まれるデータの中から変更された時期が前回整合処理を行なった時期より新しいデータを整合性をとるべきデータとして決定する一方、前記データ変更時期情報がない場合は全データを整合性をとるべきデータとして決定するためのデータ決定手段とを含み、
前記整合処理手段は、前記第１データベースのデータを前記第２指定手段で指定された種別の２以上の第２データベースのデータで置き換えるとともに、前記外部装置に対して前記２以上の第２データベースのデータを前記第１データベースのデータで置き換えるように指示することにより、対応するデータの整合性をとり、
前記データ決定手段は、前記第１データベースと前記２以上の第２データベースとの間で、前回整合処理を行なった時期を示す整合処理時期情報と、前記第１データベースに含まれる各データに対応付けられ、各前記データが変更された時期を示すデータ変更時期情報とに基づいて、前記第１データベースに含まれるデータの中から変更された時期が前回整合処理を行なった時期より新しいデータを整合性をとるべきデータとして決定する一方、前記データ変更時期情報がない場合は全データを整合性をとるべきデータとして決定し、
前記第１指定手段は、予め定められた優先順位に従って、前記決定されたデータの整合性をとる対象である前記２以上の第２データベースの順序を決定するためのデータベース決定手段を含む、情報管理装置。
【請求項２】
前記データベース決定手段は、前記整合処理時期情報により表わされる前記整合処理を行なった時期の早い順および遅い順のいずれかの順序により表わされる優先順位に従って、前記決定されたデータの整合性をとる対象である前記２以上の第２データベースの順序を決定するための手段を含む、請求項１に記載の情報管理装置。
【請求項３】
前記情報管理装置は、前記優先順位を記憶するための優先順位記憶手段をさらに含み、
前記データベース決定手段は、前記優先順位記憶手段に記憶された優先順位に従って、前記決定されたデータの整合性をとる対象である前記２以上の第２データベースの順序を決定するための手段を含む、請求項１に記載の情報管理装置。
【請求項４】
前記情報管理装置は、
前記２以上の第２データベースの各々を第２データベース毎に格納した２以上の装置と通信するための通信手段と、
前記通信手段により通信できる状態になった時刻を記憶するための時刻記憶手段とをさらに含み、
前記データベース決定手段は、前記時刻記憶手段に記憶された時刻に従って、前記決定されたデータの整合性をとる対象である前記２以上の第２データベースの順序を決定するための手段を含む、請求項１に記載の情報管理装置。
【請求項５】
前記情報管理装置は、前記２以上の第２データベースの各々を格納した２以上の装置の中の第１の装置と通信している間、前記２以上の装置の中の前記第１の装置以外の第２の装置と通信できる状態を保持するための保持手段をさらに含む、請求項４に記載の情報管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、別々に格納された互いに対応するデータの整合性をとることができる情報管理技術に関し、特に、データベースのデータ量を増大させることなく、２以上の装置の間でデータの整合性をとる情報管理技術に関する。
【０００２】
【従来の技術】
近年、情報処理装置は広く普及しており、個人が複数の情報処理装置、たとえば、サーバ等の共有の情報処理装置、デスクトップ・パソコン等の個人用の情報処理装置、および携帯情報端末等の携帯用の情報処理装置等において、アドレス帳やスケジュール帳等のデータベースを利用する機会が増えている。このような場合には、何れかの情報処理装置にて更新されたデータと、他の情報処理装置に保存されている、更新されたデータに対応するデータとが同一の内容となること、つまり各情報処理装置間でデータの整合性がとられていることが求められる。情報処理装置の間においてデータの整合性をとるための処理を「シンクロナイズ処理」という。
【０００３】
特開平１１−３２７９８７号公報は、情報処理装置間でデータの整合性をとるためのデータベース管理装置を開示する。このデータベース管理装置は、複数のデータベース管理装置と、同期処理よりも前に、対応するデータが格納される共有範囲を各データベース間で指定する共有設定回路と、互いに通信可能になったデータベース管理装置に格納されたデータベース間で、対応するデータの内容を一致させる同期処理回路とを含むデータベースシステムを構成するために設けられる。このデータベース管理装置は、前回の同期処理から次回の同期処理まで非同期期間中に、互いに対応するデータのうちで複数のデータが変更された場合に優先側を決定する回路と、同期処理回路に指示して、優先側のデータ内容で非優先側のデータ内容を置き換えさせる優先側決定回路とを含む。
【０００４】
特開平１１−３２７９８７号公報に開示されたデータベース管理装置によると、互いに対応するデータが、複数のデータベース管理装置で更新された場合（データが衝突した場合）、予め選択された優先側決定手段によって優先側が決定され、優先側のデータ内容で、非優先側のデータ内容が置き換えられる。この結果、データベースのデータ数の増大を防止できると共に、同期処理の際に伝送されたり、処理されたりするデータ量を削減できる。
【０００５】
具体的には、特開平１１−３２７９８７号公報に開示されたデータベース管理装置は、２つの情報処理装置のそれぞれにおいて、データ１件単位で（たとえばアドレス帳においては名前、住所、電話番号等からなる一人分のアドレス帳データ単位）、各データに対して「ダーティビット」が対応付けられており、各データに関するダーティビットの集合が各情報処理装置において「ダーティビットリスト」と称されるテーブルとして記憶されている。このダーティビットは、各情報処理装置間でシンクロナイズ処理を行なった時点を基準として、それ以降に各情報処理装置において各データの更新が行われたか否か等を示す。そして、この技術では、ダーティビットに基づいて整合性をとる対象となるデータ、つまり前回のシンクロナイズ処理を行なった時点以降に更新されたデータを抽出し、そのデータに対してシンクロナイズ処理を行なうことにより、効率よく各情報処理装置間でデータの整合性をとるようにしている。
【０００６】
また、特開平９−６６９３号公報は、情報処理装置間での同期処理を高速、確実かつ自動的に行なうことができる情報処理方法を開示する。この情報処理方法は、情報処理装置の間で送受信されるデータに対して、データに対する操作状態を表わす操作属性情報とデータ固有の同一データ認識属性情報とを付加するステップと、情報処理装置の間でデータの同期処理を行なうステップと、各データに付加された前記操作属性情報および同一データ認識属性情報に基づいて、前回の同期処理を行なってから変化のあったデータを検索し、検索して得られたデータについて、そのデータに付加された操作属性情報および同一データ認識属性情報に基づいて、同期処理を制御するステップとを含む。
【０００７】
特開平９−６６９３号公報に開示された情報処理方法によると、一対一で接続された情報処理装置の間で、前回の同期処理を行なってから変化のあったデータを検索し、検索して得られたデータについて、そのデータに付加されている小容量化された付加情報に基づいて同期処理を高速化することができる。
【０００８】
【発明が解決しようとする課題】
特開平１１−３２７９８７号公報に開示されている技術では、たとえば装置Ａおよび装置Ｂの２つの情報処理装置間で上記のような関係が形成されている場合に、ダーティビットリストを有しない装置Ｃを単純に追加した３つの情報処理装置間でデータを利用しようとすると、図１４に示すように、全体としてデータの整合性がとれなくなるといった問題が生じることになる。図１４は、３つの情報処理装置間でデータの整合性がとれていない状態を示す概念図である。
【０００９】
図１４においては、装置Ａ、装置Ｂおよび装置Ｃで利用されるデータαについて示している。この場合、時刻ｔ０では各装置に同じデータα０が記憶され、時刻ｔ１で装置Ｃにてデータα１に更新され、時刻ｔ２で装置Ａにてデータα２に更新され、時刻ｔ３で装置Ａと装置Ｂとの間でシンクロナイズ処理が行われ、時刻ｔ４で装置Ａと装置Ｃとの間でシンクロナイズ処理が行われる。なお、ここでは、装置Ａを中心としてシンクロナイズ処理を行なうものとし、装置Ｂと装置Ｃとの間ではシンクロナイズ処理が行われないものと想定する。
【００１０】
図１４の更新情報とは、ダーティビットが示すデータαについての更新情報である。「○」はデータαが更新されてからシンクロナイズ処理が行われたことを示し、「×」はデータαが更新されてからシンクロナイズ処理が未だ行われていないことを示している。この更新情報は、上記のように装置Ａと装置Ｂとの関係において定義されているものであるため、たとえ時刻ｔ４で装置Ａと装置Ｃとの間でシンクロナイズ処理を行なったとしても、その時点ではすでに装置Ａのデータαに関する更新情報が「○」となっている。そのため、装置Ａでの更新内容は装置Ｃには反映されない。このように、単純に装置Ｃを追加するだけでは全体としてデータの整合性がとれない。
【００１１】
一方、装置Ｃを追加するにあたって装置Ａと装置Ｃとの関係における更新情報、すなわち装置Ａと装置Ｃとの間でシンクロナイズ処理を行なった時点を基準とした更新情報を示すダーティビットを装置Ａおよび装置Ｃに記憶させることも考えられる。しかし、このような場合には、装置Ｃを追加する際に、装置Ａおよび装置Ｃにおいてダーティビットリストを作成することが必要になるため、新たな装置間でデータを利用するための処理が繁雑になる。
【００１２】
特開平９−６６９３号公報に開示されている技術では、一対一で接続された情報処理端末の間で、同期処理を高速化することができても、不定期的に接続される３台以上の情報処理装置の間で、それぞれが互いに同期化することができない。
【００１３】
本発明は、上記の課題に鑑みて成されたものであり、その目的は新たな装置の間でデータを利用する際の処理がより容易な情報管理装置、情報管理プログラム、およびそのプログラムが記録されたコンピュータ読み取り可能な記録媒体を提供することである。さらに、本発明の目的は、新たな３台以上の装置の間でデータを利用する際の処理がより容易な情報管理装置、情報管理プログラム、およびそのプログラムが記録されたコンピュータ読み取り可能な記録媒体を提供することである。
【００１４】
【課題を解決するための手段】
第１の発明に係る情報管理装置は、整合処理を行なう外部装置を指定する第１指定手段と、
整合処理を行なうデータベースの種別を指定する第２指定手段と、
第１データベースを格納するためのデータベース格納手段と、
前記第１データベースと、前記第１指定手段で指定された外部装置に格納され前記第２指定手段で指定された種別の第２データベースとの間で、データを置き換えることにより、対応するデータの整合性をとるための整合処理手段と、
前記第１データベースと前記第２データベースとの間で、前回整合処理を行なった時期を示す整合処理時期情報と、前記第１データベースに含まれる各データに対応付けられ、各前記データが変更された時期を示すデータ変更時期情報とに基づいて、前記第１データベースに含まれるデータの中から変更された時期が前回整合処理を行なった時期より新しいデータを整合性をとるべきデータとして決定する一方、前記データ変更時期情報がない場合は全データを整合性をとるべきデータとして決定するためのデータ決定手段とを含み、
前記整合処理手段は、前記第２指定手段で指定された種別の２以上の第２データベースとの間で、データを置き換えることにより、対応するデータの整合性をとり、
前記データ決定手段は、前記第１データベースと前記２以上の第２データベースとの間で、前回整合処理を行なった時期を示す整合処理時期情報と、前記第１データベースに含まれる各データに対応付けられ、各前記データが変更された時期を示すデータ変更時期情報とに基づいて、前記第１データベースに含まれるデータの中から変更された時期が前回整合処理を行なった時期より新しいデータを整合性をとるべきデータとして決定する一方、前記データ変更時期情報がない場合は全データを整合性をとるべきデータとして決定し、
前記第１指定手段は、予め定められた優先順位に従って、前記決定されたデータの整合性をとる対象である前記２以上の第２データベースの順序を決定するためのデータベース決定手段を含む。
【００１５】
第１の発明によると、第１データベースおよび第２データベース間での整合処理時期情報と、前記第１データベースに含まれる各データに対応付けられ、各前記データが変更された時期を示すデータ変更時期情報とに基づいて、前記第１データベースに含まれるデータの中から変更された時期が前回整合処理を行なった時期より新しいデータが整合性をとるべきデータとして決定される一方、前記データ更新時期情報がない場合は全データが整合性をとるべきデータとして決定される。これにより、本情報管理装置にて変更された内容を他の情報管理装置に格納されているデータベースに反映させることが可能になる。このとき、整合処理手段は、第１データベースとは別の第２データベースとの間で、データを置き換えることにより、対応するデータの整合性をとるため、整合処理によりデータ量が増大することはない。また、データ変更時期情報は、一般にデータに対して付与されている更新日時等を利用することができる。また、整合処理時期情報は、第１データベースを格納する情報管理装置、または第２データベースを格納する他の情報管理装置に格納しておけばよく、格納されていない場合にはそのデータベース間では初めて整合処理を行なうものとして扱い、整合処理完了後にその日時等を何れかの情報管理装置に格納するようにすればよい。このため、新たなデータベースとの間で整合処理を行なう際に、上記従来の技術のようにダーティビットリスト等の作成作業が必要なく、新たなデータベースとの間でのデータの利用が容易になる。したがって、より容易に多数の情報管理装置間でデータの利用が可能になる。また、前記２以上の第２データベースの中で、前回整合性をとった時期の古い順（または新しい順）、予め記憶された優先順、データベースをそれぞれ含む装置との接続状態を形成した順などに基づいて、データの整合性をとるデータベースの順序を決定できる。これにより、ユーザが要求する優先順位に従って、データの整合性をとることができる。
【００３２】
第２の発明に係る情報管理装置は、第１の発明の構成に加えて、データベース決定手段は、整合処理時期情報により表わされる整合処理を行なった時期の早い順および遅い順のいずれかの順序により表わされる優先順位に従って、決定されたデータの整合性をとる対象である前記２以上の第２データベースの順序を決定するための手段を含む。
【００３３】
第２の発明によると、前記２以上の第２データベースの中で、前回整合性をとった時期の古い順（または新しい順）に基づいて、データの整合性をとるデータベースの順序を決定できる。
【００３４】
第３の発明に係る情報管理装置は、第１の発明の構成に加えて、優先順位を記憶するための優先順位記憶手段をさらに含む。データベース決定手段は、優先順位記憶手段に記憶された優先順位に従って、決定されたデータの整合性をとる対象である前記２以上の第２データベースの順序を決定するための手段を含む。
【００３５】
第３の発明によると、前記２以上の第２データベースの中で、予め記憶された優先順に基づいて、データの整合性をとるデータベースの順序を決定できる。
【００３６】
第４の発明に係る情報管理装置は、第１の発明の構成に加えて、前記２以上の第２データベースの各々を第２データベース毎に格納した２以上の装置と通信するための通信手段と、前記通信手段により通信できる状態になった時刻を記憶するための時刻記憶手段とをさらに含み、前記データベース決定手段は、前記時刻記憶手段に記憶された時刻に従って、前記決定されたデータの整合性をとる対象である前記２以上の第２データベースの順序を決定するための手段を含む。
【００３７】
第４の発明によると、前記２以上の第２データベースの中で、データベースをそれぞれ含む装置との接続状態を形成した順に基づいて、データの整合性をとるデータベースの順序を決定できる。
【００３８】
第５の発明に係る情報管理装置は、第４の発明の構成に加えて、前記２以上の第２データベースの各々を格納した２以上の装置の中の第１の装置と通信している間、前記２以上の装置の中の前記第１の装置以外の第２の装置と通信できる状態を保持するための保持手段をさらに含む。
【００３９】
第５の発明によると、保持手段により２以上の装置との通信状態が保持される。第１の装置と通信してデータの整合性をとって、第１の装置と通信できる状態を保持したまま第２の装置と通信してデータの整合性をとって、再度第１の装置とデータの整合性をとるときに、第１の装置と通信できる状態が保持されているので、第１の装置との通信を確立させる必要がない。これにより、２以上の装置と間でデータの整合性をとる場合に、処理時間を短くすることができる。
【００４４】
【発明の実施の形態】
＜第１の実施の形態＞
以下、本発明の第１の実施の形態について説明する。
【００４５】
図１は、本実施の形態に係る情報処理装置の制御ブロック図である。この情報処理装置１は、情報管理装置２、データ処理装置３、入力装置４および出力装置５を含む。
【００４６】
情報処理装置１は、複数のデータベースの間において、それぞれ対応するデータの整合性をとるシンクロナイズ処理（整合処理）を行なう。これら複数のデータベースは、たとえば、複数のうちの１のデータベースが情報処理装置１に格納されており、他が別の情報処理装置に格納されている。データベースの数が３以上である場合、１のデータベースが情報処理装置１に格納され、他の２以上のデータベースが２以上の情報処理装置にそれぞれ格納されていてもよい。情報処理装置１には、少なくとも１つのデータベースが格納されていればよく、複数のデータベースが格納されていてもよい。
【００４７】
ここで、「データベース」とは、たとえばアドレス帳、スケジュール帳、メールボックス等のように同種の情報の集合をいう。「データ」とは、データベースを構成する情報の単位である。「データ」は、アドレス帳における１件（１人）当たりのアドレスデータ、スケジュール帳における１件（１行事）あたりのスケジュールデータ、メールボックスの中の１件（１用件）当たりのメールデータ等である。なお、以下におけるデータは、特に言及しない限り、データベースに含まれているものとする。
【００４８】
「整合性をとる」とは、あるデータベースの中のあるデータが変更された場合に、そのデータに対応する他のデータベースの中のデータに対して、その変更を反映させることをいう。具体的には、変更後のデータに同一化することをいう。「シンクロナイズ処理」とは、データベース間で各データの整合性をとるための処理をいう。
【００４９】
情報管理装置２は、データ指定部１２、通信部１４、シンクロナイズ処理部１６、データ管理部１８、データ更新部２０、データ格納部２２、データ抽出部２４、日時情報処理部２６、日時情報管理部２８、日時情報更新部３０、日時情報格納部３２、日時情報抽出部３４および日時情報発生部３６を含む。
【００５０】
データ指定部１２は、シンクロナイズ処理を行なうべき対象となるデータベースを指定する。通信部１４は、他の情報処理装置との通信を制御する。シンクロナイズ処理部１６は、整合性をとるべきデータの送受信やシンクロナイズ処理全体の管理を行なう。データ格納部２２には、データが格納されている。データ管理部１８は、データ格納部２２に格納されているデータの新規作成・更新・削除やデータの並べ替え等の管理を行なう。データ更新部２０は、データ管理部１８からの指示に基づいてデータ格納部２２の中のデータの新規作成・更新・削除等の処理を行なう。データ抽出部２４は、データ管理部１８にて指定されたデータをデータ格納部２２から抽出する。
【００５１】
日時情報格納部３２には、日時情報が格納されている。ここで、日時情報とは、他のデータベースと前回シンクロナイズ処理を実行した日時を示すシンクロナイズ処理日時情報およびデータ格納部２２の中の各データに対応付けられた新規作成日時、更新日時、削除日時を示すデータ日時情報である。日時情報管理部２８は、日時情報の更新等を管理する。日時情報更新部３０は、日時情報管理部２８からの指定に基づいて日時情報格納部３２の中の日時情報を更新等する。日時情報抽出部３４は、日時情報管理部２８にて指定された日時情報を日時情報格納部３２から抽出する。日時情報処理部２６は、各日時情報をもとに整合性をとるべきデータの決定等を行なう。日時情報発生部３６は、現在の日時に関する情報を発生する。
【００５２】
データ処理装置３は、データ格納部２２からデータを読出し、そのデータを処理して、処理後のデータをデータ管理部１８およびデータ更新部２０を介して、データ格納部２２に保存することにより、データの更新等を行なう。データ処理装置３は、データを新規作成してデータ格納部２２の中へ保存する機能およびデータ格納部２２の中のデータを削除する機能を有する。データ処理装置３でのデータ処理は、キーボードや手書き入力装置等の入力装置４からの入力に基づいて行われる。出力装置５は、処理結果等が出力されるディスプレイ等である。
【００５３】
図２に、データ格納部２２に格納されている、またはデータ格納部２２に格納されていた、各データに関するデータ日時情報を示す。図２に示すように、データ日時情報は、各データと対応付けられて日時情報格納部３２に格納される。図２は、日時情報格納部３２に格納されるデータ日時情報の一例を示す概念図である。データ日時情報は、各データの付加情報（データベース種類、データ番号）、新規作成日時、更新日時および削除日時を含む。
【００５４】
このデータベース種類およびデータ番号は、日時情報格納部３２に含まれるデータ日時情報と、データ格納部２２に含まれるデータとを関連付ける。さらに、このデータベース種類およびデータ番号は、情報処理装置１の中に格納されているデータと、相手装置６の中に格納されているデータとが対応するように関連付ける。なお、「対応するデータ」とは、たとえばアドレス帳データにおける同一人物に関するデータを指し、本来同一の内容であるべきデータのことをいう。
【００５５】
ここではデータとデータ日時情報とが別々に格納されているものとしているが、これらがまとめて格納されていてもよい。また、データ日時情報の新規作成日時、更新日時および削除日時は、データに付与される。付与されたこれらの日時情報は、この情報管理装置２を制御するために使用できる。
【００５６】
シンクロナイズ処理日時情報は、日時情報格納部３２に格納されている。このシンクロナイズ処理日時情報は、情報処理装置１の中の各データベースに対して、相手装置６となりうる装置に格納されているデータベースごとに定義される。情報処理装置１の中の１つのデータベースと、相手装置６となりうる装置に格納されている１つのデータベースとの組合せごとに、シンクロナイズ処理日時情報が定義される。
【００５７】
図３は、日時情報格納部３２に格納されるシンクロナイズ処理日時情報の一例を示す概念図である。図３は、情報処理装置１の中の１つのデータベースに関するシンクロナイズ処理日時情報を示す。シンクロナイズ処理日時情報は、データベースを格納する相手装置６の付加情報（装置番号、装置固有番号、装置名、装置情報）、そのデータベース種類および前回のシンクロナイズ処理日時を含む。装置番号は、情報処理装置１に割り当てられた番号であり、装置固有番号は、ネットワーク上のアドレス等である。
【００５８】
情報管理装置２の各部の機能について、さらに詳しく説明する。
通信部１４は、相手装置６と接続された場合に、その相手装置６との間でのデータの通信等を制御する。通信部１４は、相手装置６が複数接続された場合、つまり１対複数の接続関係にある場合にも通信を制御できる。なお、接続形態は無線および有線のいすれでもよい。通信部１４には、タイマが備えられており、このタイマは相手装置６からの応答待ちのタイムアウト処理に用いられる。
【００５９】
データ更新部２０は、データ管理部１８からデータを受取り、受取ったデータに対応するデータ（データ格納部２２の中のデータ）に上書きしてデータを更新する。データ更新部２０は、データ管理部１８からデータを削除する指示を受けると、指示されたデータ（データ格納部２２の中のデータ）を削除する。
【００６０】
データ抽出部２４は、データ管理部１８にて指定されたデータをデータ格納部２２から抽出して、データ管理部１８に伝える。
【００６１】
データ管理部１８は、シンクロナイズ処理部１６やデータ処理装置３から受取ったデータをデータ更新部２０に伝える。データ管理部１８は、シンクロナイズ処理部１６から指定されたデータをデータ抽出部２４に伝える。
【００６２】
データ管理部１８は、データ抽出部２４にて抽出されたデータをシンクロナイズ処理部１６に伝える。データ管理部１８は、データ処理装置３からデータを削除する指示を受取ると、その指示をデータ更新部２０に伝える。データ管理部１８は、データ処理装置３からの指示またはシンクロナイズ処理により、データの新規作成・更新・削除の処理（以下、「データ変更」という。）を行なったとき、日時情報発生部３６からその時点での日時情報を取得する。データ管理部１８は、データ変更の対象となったデータを指定して、データ変更の内容とともに、取得した日時情報をデータ日時情報として日時情報管理部２８に伝える。なお、シンクロナイズ処理の際にシンクロナイズ処理部１６から受取ったデータが新規作成日時、更新日時、または削除日時の情報を含む場合には、データ管理部１８は、日時情報発生部３６からの日時情報に代えてそのデータに含まれる日時情報を伝える。
【００６３】
日時情報更新部３０は、日時情報管理部２８からシンクロナイズ処理日時情報を受取り、そのシンクロナイズ処理の相手となったデータベースに関するシンクロナイズ処理日時情報を更新する。日時情報更新部３０は、日時情報管理部２８からデータ変更の内容とともにデータ日時情報を受取り、そのデータ変更の対象となったデータに関するデータ日時情報を更新する。
【００６４】
日時情報抽出部３４は、日時情報管理部２８にて指定されたデータに関するデータ日時情報や、日時情報管理部２８にて指定されたデータベースに関するシンクロナイズ処理日時情報を、日時情報格納部３２から抽出し、日時情報管理部２８に伝える。
【００６５】
日時情報管理部２８は、データ管理部１８や日時情報処理部２６から受取ったデータ日時情報やシンクロナイズ処理日時情報を、日時情報更新部３０に伝える。日時情報管理部２８は、日時情報処理部２６から指定されたデータ日時情報やシンクロナイズ処理日時情報を、日時情報抽出部３４に抽出させて日時情報処理部２６に伝える。
【００６６】
日時情報処理部２６は、シンクロナイズ処理の相手となるデータベースに関するシンクロナイズ処理日時情報と、そのデータベースに対応するデータ格納部２２の中のデータベースに含まれる各データのデータ日時情報とに基づいて、データ格納部２２に格納されているデータの中から整合性をとるべきデータを決定する。日時情報処理部２６は、その決定結果を、シンクロナイズ処理部１６に伝える。
【００６７】
このとき、シンクロナイズ処理日時情報とデータ日時情報とを比較し、シンクロナイズ処理日時より後にデータ変更が行われたデータを、整合性をとるべきデータとして決定する。これにより、シンクロナイズ処理の相手となるデータベースと前回シンクロナイズ処理を行なってからデータ変更されたデータ、すなわち、整合性をとる必要があるデータのみをピックアップすることができる。このシンクロナイズ処理日時情報は、日時情報管理部２８に指示して日時情報格納部３２から取得してもよいが、シンクロナイズ処理部１６を介して相手装置６から取得してもよい。
【００６８】
データ日時情報は、日時情報管理部２８に指示して日時情報格納部３２から取得する。なお、シンクロナイズ処理の対象としている相手装置６のデータベースに関するシンクロナイズ処理日時情報が日時情報格納部３２や相手装置６にない場合には、日時情報処理部２６は、そのデータベースと初めてシンクロナイズ処理を行なうものと判断し、データ指定部１６にて指定されているデータベースに含まれる全てのデータをシンクロナイズ処理の対象とする。
【００６９】
シンクロナイズ処理部１６は、日時情報処理部２６からの決定結果に基づいて、整合性をとるべきデータをデータ管理部１８から受取り、通信部１４を介して相手装置６へ送信する。シンクロナイズ処理部１６は、相手装置６から整合性をとるべきデータとして送信されたデータを、通信部１４を介して受信する。
【００７０】
シンクロナイズ処理部１６は、受信したデータをデータ管理部１８に伝えてそのデータに関してデータ変更を指示する。なお、データ格納部２２の中に対応するデータがない場合には、データ格納部２２の中にそのデータの新規作成を指示する。シンクロナイズ処理部１６は、相手装置６からシンクロナイズ処理日時情報を取得して日時情報処理部２６に伝える。シンクロナイズ処理部１６は、シンクロナイズ処理の完了後、日時情報発生部３６からその時点での日時情報を取得して日時情報処理部２６に伝えて、日時情報格納部３２の中のシンクロナイズ処理日時情報を更新させる。
【００７１】
なお、シンクロナイズ処理の対象となったデータベースに関するシンクロナイズ処理日時情報が日時情報格納部３２の中に存在しないときには、そのデータベースに関するシンクロナイズ処理日時情報を新たに作成して格納する。
【００７２】
データ指定部１２にて指定されたデータベースが相手装置６に格納されていない場合には、シンクロナイズ処理部１６は、指定されたデータベース全体を相手装置６に複写する。したがって、情報管理装置２に格納されているデータベースと相手装置６に格納されているデータベースとが全て１対１に対応していなくてもよい。つまり、一部のデータベースが対応していてもよく、対応するデータベースがなくてもよい。
【００７３】
以上のように、情報管理装置２は、少なくとも１つのデータベース（第１データベース）を格納し、相手装置６に格納されたデータベース（第２データベース）との間で対応するデータの整合性をとるシンクロナイズ処理を行なうことが可能である。日時情報処理部２６により、第１データベースと第２データベースとの間で前回シンクロナイズ処理を行なった日時を示すシンクロナイズ処理日時情報と、第１データベースに含まれる各データに対応付けられ、そのデータが変更された日時を示すデータ日時情報とに基づいて、第１データベースに含まれるデータの中から変更された日時が前回シンクロナイズ処理を行なった日時より新しいデータを整合性をとるべきデータとして決定する。
【００７４】
これにより、情報管理装置２では、第１データベースと第２データベースとの間で前回シンクロナイズ処理を行なってから、第１データベースの中のデータが変更された場合に、その変更されたデータを整合性をとるべきデータとして決定することができる。これにより、情報管理装置２にて変更された内容を第２データベースに反映させることが可能になる。
【００７５】
データ日時情報は、一般にデータに対して付与されている更新日時等を利用することができる。シンクロナイズ処理日時情報は、情報管理装置２または相手装置６に格納すればよく、何れにも格納されていない場合にはこれらのデータベース間では初めてシンクロナイズ処理を行なうものとして扱う。この場合、シンクロナイズ処理完了後に、その時点での日時情報を情報管理装置２または相手装置６の何れかに格納すればよい。これにより、新たなデータベースとの間で容易にシンクロナイズ処理を行なうことができる。
【００７６】
なお、情報管理装置２やデータ処理装置３を構成する制御ブロック（データ格納部２２や日時情報格納部３２を除く）は、ＣＰＵ（Central Processing Unit）などが、ＲＯＭ（Read Only Memory）やＲＡＭ(Random Access Memory)などの記録媒体に格納されたプログラムを実行することで実現されるものでもよいし、同様の処理を行なうハードウェアであってもよい。また、処理の一部を行なうハードウェアと、このハードウェアの制御やその他の処理を行なうプログラムを実行するＣＰＵとを組合せても実現することができる。さらに、ＣＰＵは単体であってもよいし、装置内部のバスや種々の通信路を介して接続された複数のＣＰＵが共同してプログラムを実行してもよい。
【００７７】
本発明が対象とするのは、このようなプログラムそのものであってもよく、このプログラムを格納したコンピュータ読取り可能な記録媒体であってもよい。この記録媒体は、情報処理装置１に含まれるメモリ（たとえばＲＯＭ）のようなそのものであってもよく、情報処理装置１の外部記憶装置としてプログラム読取り装置が設けられ、その外部記憶装置からプログラムが読取られる記録媒体であってもよい。いずれの場合においても、格納されているプログラムはＣＰＵがアクセスして実行させる構成であってもよく、ＣＰＵがプログラムを読出し、読出されたプログラムが情報処理装置１の中のプログラム記憶エリアにロードされてそのプログラムが実行される方式であってもよい。このロード用のプログラムは、予め情報処理装置１に格納されているものとする。
【００７８】
ここで、外部記憶装置に挿入することでプログラムが読み取られる記録媒体は、情報処理装置１と分離可能に構成される記録媒体である。この記録媒体には、たとえば磁気テープやカセットテープ等のテープ系、フロッピー（Ｒ）ディスクやハードディスク等の磁気ディスク系、ＣＤ−ＲＯＭ（Compact Disc−Read Only Memory）／ＭＯ（Magneto Optical Disk）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disc）等の光ディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ、ＥＰＲＯＭ（Erasable and Programmable ROM）、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）、フラッシュＲＯＭ等の半導体メモリ系等の、プログラムを記録する媒体を全て含む。なお、記録媒体に格納されている内容としては、プログラムのみに限られず、データが含まれていてもよい。
【００７９】
情報処理装置１は、インターネットを含む通信ネットワークと接続可能なシステム構成でもよく、プログラムを通信ネットワークからダウンロードしてもよい。なお、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予め情報処理装置１に格納されるか、あるいは別の記録媒体からインストールされる。
【００８０】
プログラムとしては、ＣＰＵで機能ブロックを実現させるプログラムそのものでもよく、情報処理装置１の中で処理することによりこのような機能ブロックを実現させるプログラムを作成するためのプログラムデータ等であってもよい。これらのプログラムやプログラムデータは、インターネットを含む通信ネットワークを介してアクセスすることで取り込める。さらに、インターネットから取込めたものも該当し、情報処理装置１からインターネットに送出するものも該当する。
【００８１】
図４は、情報処理装置１を用いてシンクロナイズ処理を行なう場合の一例を示す概念図である。なお、ここでは、情報処理装置１としての携帯型情報端末５０に格納されたデータベースと、相手装置６としてのパーソナルコンピュータ（以下、パソコンという。）５２、サーバ５４、および携帯電話機５６にそれぞれ格納されたデータベースとの間でシンクロナイズ処理を行なう場合を示す。
【００８２】
携帯型情報端末５０は、入力装置４および出力装置５としてのタッチパネル式ディスプレイ５０ａを有している。
【００８３】
このタッチパネル式ディスプレイ５０ａには、現在接続中の相手装置が表示されている。タッチパネル式ディスプレイ５０ａは、携帯型情報端末５０に格納しているデータベースを表示する。ユーザは、このタッチパネル式ディスプレイ５０ａを用いて、表示されたデータベースの中からシンクロナイズ処理を行なう対象とするデータベースを指定する。したがって、タッチパネル式ディスプレイ５０ａはデータ指定部１２としても機能する。図４では、アドレス帳を指定した場合を示している。
【００８４】
なお、携帯型情報端末５０、パソコン５２、サーバ５４、携帯電話機５６には、アドレス帳以外のデータベースが格納されていてもよい。また、ユーザによるデータベースの指定を行わない場合、タッチパネル式ディスプレイ５０ａの指定データベースの部分には図５に示すように「全データ」と表示される。図５は、携帯型情報端末５０のタッチパネル式ディスプレイ５０ａの表示の一例である。
【００８５】
図４では、携帯型情報端末５０がアドレス帳に関して前回シンクロナイズ処理を行なったのは、パソコン５２との間では１月１日、サーバ５４との間では２月１日、携帯電話機５６との間では１月３０日であったと仮定している。この場合、携帯型情報端末５０は、アドレス帳に含まれるデータのうち、パソコン５２との間では１月１日以降にデータ変更を行なったデータを、サーバ５４との間では２月１日以降にデータ変更を行なったデータを、携帯電話機５６との間では１月３０日以降にデータ変更を行なったデータを、それぞれシンクロナイズ処理の対象とする。
【００８６】
携帯型情報端末５０と、パソコン５２、サーバ５４、および携帯電話機５６とは、同時に接続することができる。そして、携帯型情報端末５０は、たとえば、パソコン５２、サーバ５４、携帯電話機５６の順でそれぞれとシンクロナイズ処理を行なう。なお、たとえばパソコン５２とシンクロナイズ処理を行なった後、パソコン５２との接続を切断せずに携帯電話機５６とのシンクロナイズ処理を行なうことができる。ここでいう「接続」とは、各装置間が通信可能となり、シンクロナイズ処理を行なうことが可能な状態を指す。
【００８７】
図６を参照して、本実施の形態に係る情報処理装置１としての携帯型情報端末５０におけるシンクロナイズ処理の制御構造を説明する。以下の説明では、図４に示した状態であると想定し、図１および図６に基づくシンクロナイズ処理について説明する。
【００８８】
ステップ（以下、ステップをＳと示す。）１にて、ユーザによりタッチパネル式ディスプレイ５０ａを介して、シンクロナイズ処理の対象とするデータベースが指定される。このとき、たとえばアドレス帳が指定データベースとして指定される。携帯型情報端末５０が格納する全データベースに対してシンクロナイズ処理を行なうのであれば、このステップは必要ない。
【００８９】
Ｓ２にて、相手装置６である、たとえばパソコン５２と接続される。Ｓ３にて、日時情報処理部２６が、アドレス帳に含まれるデータのデータ日時情報を取得する。Ｓ４にて、パソコン５２におけるアドレス帳とのシンクロナイズ処理日時情報が取得される。このシンクロナイズ処理日時情報は、日時情報格納部３２に格納されているものでもよいが、日時情報格納部３２がシンクロナイズ処理日時情報を格納していない場合には、パソコン５２から取得してもよい。
【００９０】
この場合、図７に示すＳ１１にて、シンクロナイズ処理部１６がパソコン５２に対してシンクロナイズ処理日時情報を要求して、Ｓ１２にてパソコン５２からシンクロナイズ処理日時情報を受信する。
【００９１】
Ｓ５にて、日時情報処理部２６が、取得したデータ日時情報とシンクロナイズ処理日時情報とを比較する。データ日時情報がより新しいデータをピックアップする。つまり、パソコン５２のアドレス帳と前回シンクロナイズ処理を行なった日（１月１日）以降に携帯型情報端末５０にてデータ変更されたデータを、整合性をとるべきデータとしてピックアップする。Ｓ５にて、パソコン５２のアドレス帳に関するシンクロナイズ処理日時情報が日時情報格納部３２、パソコン５２のいずれにも格納されていない場合には、日時情報処理部２６は、パソコン５２のアドレス帳とシンクロナイズ処理を行なうのは初めてであると判断し、アドレス帳の全てのデータをシンクロナイズ処理の対象とする。
【００９２】
Ｓ６にて、シンクロナイズ処理部１６が、日時情報処理部２６にてピックアップされたデータおよびそのデータのデータ日時情報をパソコン５２に対して送る。Ｓ７にて、シンクロナイズ処理部１６は、パソコン５２から整合性をとるべきデータとして受信したデータをデータ管理部１８に伝えて、そのデータに関するデータ変更を指示する。これにより、そのデータに関する整合性をとることができる。
【００９３】
なお、パソコン５２も携帯型情報端末５０と同様の処理を行なうものであり、整合性をとるべきデータを決定して携帯型情報端末５０に送信する機能を有するものである。
【００９４】
なお、Ｓ７において対応するデータが携帯型情報端末５０に存在しない場合には、そのデータが携帯型情報端末５０のデータ格納部２２に追加される。また、Ｓ７において対応するデータが携帯型情報端末５０およびパソコン５２それぞれでデータ変更されていた場合には、シンクロナイズ処理部１６は各データのデータ日時情報を比較し、より新しいデータ日時情報を有するデータ、つまり後でデータ変更されたデータを優先させる。
【００９５】
Ｓ８にて、データ管理部１８は、パソコン５２から受信したデータに含まれるそのデータのデータ日時情報を日時情報管理部２８に伝える。データ管理部１８は、整合性をとったデータに関する日時情報格納部３２の中のデータ日時情報を更新させる。シンクロナイズ処理部１６は、日時情報発生部３６からその時点での日時情報を取得して日時情報処理部２６に伝えることにより、パソコン５２のアドレス帳に関する日時情報格納部３２の中のシンクロナイズ処理日時情報を更新させる。この際、パソコン５２のアドレス帳とシンクロナイズ処理を行なうのは初めてであると判断（Ｓ７において日時情報処理部２６が判断）していた場合、日時情報処理部２６は、パソコン５２のアドレス帳に関するシンクロナイズ処理日時情報を新たに日時情報格納部３２に登録する。これによりパソコン５２とのシンクロナイズ処理が完了する。
【００９６】
なお、全データベースに対してシンクロナイズ処理を行なう場合には、Ｓ４からＳ８までの処理を各データベースに関して繰り返せばよい。
【００９７】
Ｓ９にて、さらに別の相手装置６であるサーバ５４や携帯電話機５６ともシンクロナイズ処理を行なうか否かが判断される。別の相手装置６ともシンクロナイズ処理を行なう場合（Ｓ９にてＹＥＳ）、処理はＳ１へ戻る。このとき、パソコン５２との接続を解除する必要はない。もしそうでないと（Ｓ９でＮＯ）、処理はＳ１０へ移される。
【００９８】
Ｓ１０にて、パソコン５２との接続が解除されて、この処理は終了する。
以上のような構造およびフローチャートに基づく、本実施の形態に係る情報処理装置１の動作について説明する。
【００９９】
図８は、このようなフローチャートによりシンクロナイズ処理を行なう場合のデータの変遷を具体的に示す概念図である。装置Ａ、装置Ｂおよび装置Ｃがそれぞれ携帯型情報端末５０、パソコン５２およびサーバ５４に相当する（携帯電話機５６に関しては省略する）。対応するデータを「α」で示し、「α１」、「α２」は、それぞれ別々に更新されたデータαを示している。データαに関する新規作成時刻および更新時刻を、「α（新規作成時刻、更新時刻）」として表示している。なお、図８では、装置Ｂおよび装置Ｃが有するシンクロナイズ処理日時情報は省略している。
【０１００】
時刻ｔ５における装置Ａと装置Ｂとの間でのシンクロナイズ処理では、これらの装置間で前回シンクロナイズ処理が行われた時刻がｔ１である。したがって、それより新しい更新時刻を有する装置Ａにおけるデータα２（ｔ０、ｔ４）がシンクロナイズ処理の対象としてピックアップされ、これにより装置Ｂにおけるデータα０（ｔ０、ｔ０）が置き換えられる。
【０１０１】
時刻ｔ６における装置Ａと装置Ｃとの間でのシンクロナイズ処理では、これらの装置間で前回シンクロナイズ処理が行われた時刻がｔ２である。したがって、それより新しい更新時刻を有する装置Ａにおけるデータα２（ｔ０、ｔ４）、および装置Ｃにおけるデータα１（ｔ０、ｔ３）がシンクロナイズ処理の対象としてピックアップされる。ここでは、更新時刻がより新しいデータα２（ｔ０、ｔ４）により装置Ｃにおけるデータα１（ｔ０、ｔ３）が置き換えられる。
【０１０２】
その結果、装置Ａ、装置Ｂ、および装置Ｃすべてにおいてデータαがα２（ｔ０、ｔ４）となり、整合性がとれた状態になる。
【０１０３】
以上のようにして、本実施の形態に係る情報管理装置によると、第１のデータベースと第２データベースとの間で、前回整合処理を行なった時期を示す整合処理時期情報と、第１データベースに含まれる各データに対応付けられ、そのデータが変更された時期を示すデータ変更時期情報とに基づいて、第１データベースに含まれるデータの中から変更された時期が前回整合処理を行なった時期より新しいデータを整合性をとるべきデータとして決定する。これにより、１の情報管理装置にて変更された内容を他の情報管理装置に格納されているデータベースに反映させることが可能になる。このとき、新たに整合性をとるデータベースとの間で、データの利用が容易になるため、より容易に多数の情報管理装置との間でデータの利用が可能になる。
【０１０４】
＜第２の実施の形態＞
以下、本発明の第２の実施の形態に係る情報処理装置について説明する。なお、本実施の形態においては、整合性をとる情報処理装置として、携帯端末、パソコン、サーバ、携帯電話機の４つを用いるが、その他の情報処理装置でも適応できる。また、３つ以上の情報処理装置においても適応できる。
【０１０５】
図９を参照して、本実施の形態に係る情報処理装置１００に含まれる情報管理装置２００は、前述の第１の実施の形態に係る情報管理装置２の構成に加えて、実行順序管理部４０、実行順序抽出部４１、および実行順序情報格納部４２をさらに含む。
【０１０６】
実行順序管理部４０は、相手装置６または相手装置７がどちらの相手装置とのシンクロナイズ処理を優先して実行するかを判断する。実行順序管理部４０は、日時情報格納部３２に格納されているシンクロナイズ処理日時情報を日時情報抽出部３４から抽出して、どちらの装置と先にシンクロナイズ処理を行なうかを判断する。実行順序管理部４０は、たとえばシンクロナイズ処理日時情報の新しい時刻順にシンクロナイズ処理を行なう場合、直近にシンクロナイズ処理を行なった装置が相手装置７であるなら、相手装置７とのシンクロナイズ処理を実行し、次に相手装置６とのシンクロナイズ処理を実行するように判断する。実行順序管理部４０は、実行順序情報格納部４２に格納されている実行順序情報に基づいて、シンクロナイズ処理の実行の順序を判断する。実行順序抽出部４１は、実行順序管理部４０で使用する実行順序情報を実行順序情報格納部４２から抽出する。
【０１０７】
図１０は、実行順序情報格納部に格納される実行順序情報の一例を示す概念図であり、情報処理装置１００の中の１つのデータベースに関するものを示している。実行順序情報は、相手装置６や相手装置７の付加情報（装置番号、装置固有番号）と、シンクロナイズ処理を実行する際の優先順位等を示す実行順序情報とを含む。実行順序管理部４０では、実行順序情報に特定の情報を設定することにより、シンクロナイズ処理を実行するのは、常に最初、常に最後、実行しないなどの制御も可能とする。
【０１０８】
携帯型情報端末５０と、パソコン５２、サーバ５４および携帯電話機５６とは、同時に接続することができる。携帯型情報端末５０が、パソコン５２、サーバ５４、および携帯電話機５６の３台とシンクロナイズ処理を実行する場合には、たとえば前回シンクロナイズを行なった日付の古い順や新しい順に、自動的にシンクロナイズ処理を実行できる。たとえば前回シンクロナイズを行なった日付の古い順に実行すると仮定して、すべての装置と接続されていない場合から始める場合、まず、パソコン５２と接続しシンクロナイズ処理を行なう。次に、パソコン５２との接続を切断せずに、続けて自動的に携帯電話機５６と接続しシンクロナイズ処理を行なう。次に、パソコン５２、携帯電話機５６との接続を切断せずに、続けて自動的にサーバ５４とのシンクロナイズ処理を行なう。ここでいう「接続」とは、２以上の装置の間で通信が可能になる状態をいい、シンクロナイズ処理を行なうことが可能な状態である。
【０１０９】
なお、優先順位は、シンクロナイズ処理日時情報の新しい順、実行順序情報格納部に格納された実行順序情報に基づく順、前回シンクロナイズ処理を行なった古い順（または新しい順）、現在の接続状態を形成した順などである。
【０１１０】
図１１を参照して、本実施の形態に係る情報処理装置（情報管理装置２００を含む。）で実行されるプログラムの制御構造を説明する。なお、以下に示すフローチャートの中で、前述の図６に示したフローチャートと同じ処理については、同じステップ番号を付してある。それらの処理も同じである。したがってそれらについての詳細な説明はここでは繰返さない。
【０１１１】
Ｓ６０にて、実行順序情報に基づいて、接続およびシンクロナイズ処理を行なう装置の順序が決定される。たとえば、実行順序情報として、図１０に示すようなデータである場合、接続およびシンクロナイズ処理が実行される順序は、パソコン５２、携帯電話機５６、サーバ５４の順になる。Ｓ６１にて、決定された実行順序に従って相手装置と接続される。
【０１１２】
Ｓ６２にて、次にシンクロナイズ処理を行なう装置があるか否かが判断される。次にシンクロナイズ処理を行なう装置があれば（Ｓ６２にてＹＥＳ）、処理はＳ６１に戻される。もしそうでないと（Ｓ６２にてＮＯ）、処理はＳ１０に移される。
【０１１３】
以上のような構造およびフローチャートに基づく、本実施の形態に係る情報処理装置の動作について説明する。なお、以下の説明では、優先順位は、前回シンクロナイズ処理した順序および予め設定された実行順序情報に基づく順序であると想定する。
【０１１４】
図１２は、シンクロナイズ処理を行なった場合のデータの変遷を具体的に示す概念図である。装置Ａ、装置Ｂ、装置Ｃ、および装置Ｄがそれぞれ携帯情報端末５０、パソコン５２、携帯電話機５６、およびサーバ５４に相当する。対応するデータを「α」で示し、「α１」、「α２」は、それぞれ別々に更新されたデータαを示している。データαに関する新規作成時刻および更新時刻を「α（新規作成時刻、更新時刻）」として、表示している。たとえば、データαは自分のスケジュールデータ、データβは上司のスケジュールデータと考えてもよい。図９では、装置Ｂ、装置Ｃおよび装置Ｄが有するシンクロナイズ処理日時情報は省略している。
【０１１５】
１つ目の動作の説明では、装置Ａが、装置Ｂ、装置Ｃ、および装置Ｄとシンクロナイズを実行する順序は、前回シンクロナイズを実行した時刻情報（日付）に基づいて行われると想定する。
【０１１６】
時刻ｔ７における装置Ａと装置Ｂとの間でのシンクロナイズ処理では、これらの装置の間で前回シンクロナイズが行われた時刻がｔ２である。したがって、それより新しい更新時刻を有する装置Ａにおけるデータα２（ｔ０、ｔ６）がシンクロナイズ処理の対象としてピックアップされる。これにより、装置Ｂにおけるデータα０（ｔ０、ｔ０）が置き換えられる。装置Ａおよび装置Ｂにおけるβ０（ｔ１、ｔ１）は時刻ｔ２よりも古い時刻情報を有するデータであるため、シンクロナイズ処理の対象外のデータとされる。
【０１１７】
時刻ｔ８における装置Ａと装置Ｃとの間でのシンクロナイズ処理では、これらの装置間で前回シンクロナイズが行われた時刻がｔ３である。したがって、それより新しい更新時刻を有する装置Ａにおけるデータα２（ｔ０、ｔ６）および装置Ｃにおけるデータα１（ｔ０、ｔ５）がシンクロナイズ処理の対象としてピックアップされる。ここでは、更新時刻がより新しいデータα２（ｔ０、ｔ６）により、装置Ｃにおけるデータα１（ｔ０、ｔ５）が置き換えられる。装置Ａおよび装置Ｃにおけるβ０（ｔ１、ｔ１）は、時刻ｔ２よりも古い時刻情報をもったデータであるため、シンクロナイズ処理の対象外のデータとされる。
【０１１８】
時刻ｔ９における装置Ａと装置Ｄとの間でのシンクロナイズ処理では、これらの装置間で前回シンクロナイズが行われた時刻がｔ４である。したがって、それより新しい更新時刻を有する装置Ａにおけるデータα２（ｔ０、ｔ６）がシンクロナイズ処理の対象としてピックアップされる。ここでは、装置Ｂにおけるデータα０（ｔ０、ｔ０）が置き換えられる。装置Ａおよび装置Ｄにおけるβ０（ｔ１、ｔ１）は時刻ｔ４よりも古い時刻情報をもったデータであるため、シンクロナイズ処理の対象外のデータとされる。
【０１１９】
その結果、装置Ａ、装置Ｂ、装置Ｃ、および装置Ｄすべてにおいてデータαがα２（ｔ０、ｔ６）、データβがβ０（ｔ１、ｔ１）となり、整合性がとれた状態になる。
【０１２０】
２つ目の動作の説明では、装置Ａが、装置Ｂ、装置Ｃ、および装置Ｄとシンクロナイズを実行する順序は、前回シンクロナイズを実行した時刻ではなく、図４に示すような実行順序情報に基づくものと想定する。この場合、装置Ａ、装置Ｂ、装置Ｃ、および装置Ｄがそれぞれ携帯情報端末５０、携帯電話機５６、サーバ５４、およびパソコン５２に相当する。各時刻における動作は上述の動作と同じである、シンクロナイズ処理を行なった結果、装置Ａ、装置Ｂ、装置Ｃ、および装置Ｄすべてにおいてデータαがα２（ｔ０、ｔ６）、データβがβ０（ｔ１、ｔ１）となり、整合性がとれた状態になる。
【０１２１】
以上のようにして、本実施の形態に係る情報処理装置によると、複数の情報処理装置に格納されているデータを、ユーザの要求通りにシンクロナイズできる。さらに、それぞれの優先順位を定めることにより複数の情報処理装置に格納された任意のデータを互いに整合性のとれた状態にできる。優先順位を定めておくことにより、データの整合性が取れなくなるという事態を回避できる。また、１の情報処理装置と複数の情報処理装置との間でシンクロナイズ処理する場合、一度シンクロナイズ処理した装置と再度シンクロナイズ処理する場合に、接続状態を保持したままの状態していることで、再度接続状態を確立しなおす必要がなくなる。たとえば、装置Ａ、装置Ｂおよび装置Ｃが存在する場合において、最初に装置Ａと装置Ｂとの間でシンクロナイズ処理を行ない、装置Ａと装置Ｂとの間の接続状態を保持しておいて、次に装置Ａと装置Ｃとの間でシンクロナイズ処理を行ない、次に装置Ａと装置Ｂとの間でシンクロナイズ処理を行なう。この場合、再度装置Ａと装置Ｂとでシンクロナイズ処理を行なう場合、装置Ａと装置Ｂとの接続状態が保持されているので、接続状態を再度確立する必要がない。
【０１２２】
＜第３の実施の形態＞
以下、本発明の第３の実施の形態に係る情報処理装置について説明する。なお、本実施の形態に係る情報処理装置のハードウェア構成は、前述の第２の実施の形態に係る情報処理装置のハードウェア構成と同じである。したがって、それれについての詳細な説明なここでは繰返さない。
【０１２３】
図１３を参照して、本実施の形態に係る情報処理装置で実行されるプログラムの制御構造を説明する。なお、以下に示すフローチャートの中で、前述の図６および図１１に示したフローチャートと同じ処理については、同じステップ番号を付してある。それらの処理も同じである。したがってそれらについての詳細な説明はここでは繰返さない。
【０１２４】
Ｓ１にて、ユーザにより、タッチパネル式ディスプレイ５０ａによりシンクロナイズ処理の対象となるデータベース、たとえばアドレス帳（指定データベース）が指定される。携帯型情報端末５０が格納する全データベースに対してシンクロナイズ処理を行なうのであれば、このステップを実行する必要はない。
【０１２５】
Ｓ６０にて、実行順序情報に基づいて、接続およびシンクロナイズ処理を行なう装置の順序が決定される。このとき、前回シンクロナイズ処理を実行した時刻に基づいて、時刻の古い順や新しい順にシンクロナイズを実行する順序を決定してもよいし、現在の接続状態を形成した時に、どの装置から順に接続したかの情報に基づいて、シンクロナイズを実行する順序を決定してもよいし、実行順序情報に基づいて、シンクロナイズを実行する順序を決定してもよい。
【０１２６】
Ｓ８０にて、指定した相手装置からデータ日時情報が取得される。Ｓ８１にて、シンクロナイズ処理日時情報が取得される。この後の処理は、第１の実施の形態と同じである。
【０１２７】
Ｓ８２にて、次にシンクロナイズ処理を行なう装置があるか否かが判断される。次にシンクロナイズ処理を行なう装置があれば（Ｓ８２にてＹＥＳ）、処理はＳ８０に戻される。もしそうでないと（Ｓ８２にてＮＯ）、この処理は終了する。すなわち、次にシンクロナイズ処理を行なう相手装置はないのであれば、処理を終了するが、処理を終了しても相手装置との接続状態は保持されたままである。
【０１２８】
以上のように、本実施の形態に係る情報処理装置によると、シンクロナイズを実行した日時情報と、データを新規作成、更新、削除した日時情報とを利用して、日時情報を情報処理装置間で交換することによって、３つ以上の情報処理装置でデータの整合性をとる場合に、整合性を取りたい情報処理装置に格納されているデータに依存せず、同時にシンクロナイズ関係を築いて各情報処理機器間でのデータの整合性をとることができる。
【０１２９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態に係る情報処理装置の構成を示すブロック図である。
【図２】  本発明の第１の実施の形態に係る情報処理装置における日時情報格納部に格納されるデータ日時情報を示す図である。
【図３】  本発明の第１の実施の形態に係る情報処理装置における日時情報格納部に格納されるシンクロナイズ処理日時情報を示す図である。
【図４】  本発明の第１の実施の形態に係る情報処理装置を用いてシンクロナイズ処理を行なう場合の概念図（その１）である。
【図５】  本発明の第１の実施の形態に係る情報処理装置を用いてシンクロナイズ処理を行なう場合の概念図（その２）である。
【図６】  本発明の第１の実施の形態に係る情報処理装置におけるシンクロナイズ処理の制御の手順を示すフローチャートである。
【図７】  本発明の第１の実施の形態に係る情報処理装置におけるシンクロナイズ処理日時情報の取得処理の制御の手順を示すフローチャートである。
【図８】  本発明の第１の実施の形態に係る情報処理装置の動作に基づくデータの変遷を示す図である。
【図９】  本発明の第２の実施の形態に係る情報処理装置の構成を示すブロック図である。
【図１０】  本発明の第２の実施の形態に係る情報処理装置における実行順序情報格納部に格納される実行順序情報を示す図である。
【図１１】  本発明の第２の実施の形態に係る情報処理装置におけるシンクロナイズ処理の制御の手順を示すフローチャートである。
【図１２】  本発明の第２の実施の形態に係る情報処理装置の動作に基づくデータの変遷を示す図である。
【図１３】  本発明の第３の実施の形態に係る情報処理装置におけるシンクロナイズ処理の制御の手順を示すフローチャートである。
【図１４】  ３つの情報処理装置の間において、データの整合性がとれていない状態を示す図である。
【符号の説明】
１、１００  情報処理装置、２、２００  情報管理装置、３  データ処理装置、４  入力装置、５  出力装置、６  相手装置、１２  データ指定部、１４  通信部、１６  シンクロナイズ処理部、１８  データ管理部、２０  データ更新部、２２  データ格納部、２４  データ抽出部、２６  日時情報処理部、２８  日時情報管理部、３０  日時情報更新部、３２  日時情報格納部、３４  日時情報抽出部、３６  日時情報発生部、４０  実行順序管理部、４１  実行順序抽出部、４２  実行順序情報格納部、５０  携帯型情報端末、５２  パーソナルコンピュータ、５４  サーバ、５６  携帯電話機。
【図１】
0004225729.tif 000002
【図２】
0004225729.tif 000003
【図３】
0004225729.tif 000004
【図４】
0004225729.tif 000005
【図５】
0004225729.tif 000006
【図６】
0004225729.tif 000007
【図７】
0004225729.tif 000008
【図８】
0004225729.tif 000009
【図９】
0004225729.tif 000010
【図１０】
0004225729.tif 000011
【図１１】
0004225729.tif 000012
【図１２】
0004225729.tif 000013
【図１３】
0004225729.tif 000014
【図１４】
0004225729.tif 000015