(57)【要約】【課題】複数のノードに対してデータの同期を行う場合、変更データを送信する側のノードの同期処理負担を軽減させるとともに１回の同期処理でこれら複数のノードに対してデータの同期処理を実行する。【解決手段】  ネットワークを介してデータ通信可能に接続された複数のノードのそれぞれに、互いに識別可能な個別の仮想ディレクトリを備えるとともに、個別の仮想ディレクトリのデータの変更を検出し、互いに識別可能な個別の仮想ディレクトリを有する他のノードとデータの同期を行うデータ同期手段を備えるデータ同期システムにおいて、特定のノードに、他の複数のノードと識別可能な共通の仮想ディレクトリと、共通の仮想ディレクトリ内に格納されたデータの変更を検出する変更検出手段と、データの変更を検出すると、ネットワークを介して他の複数のノードに対してデータの同期要求を行う同期要求手段と、を備える。【選択図】図１
2007299278.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してデータ通信可能に接続された複数のノードのそれぞれに、互いに識別可能な個別の仮想ディレクトリを備えるとともに、前記複数のノードのそれぞれに、前記個別の仮想ディレクトリのデータの変更を検出し、前記互いに識別可能な個別の仮想ディレクトリを有する他のノードと前記データの同期を行うデータ同期手段を備えるデータ同期システムにおいて、
前記複数のノードの少なくとも１つのノードに、
他の複数のノードと識別可能な共通の仮想ディレクトリと、
前記共通の仮想ディレクトリ内に格納されたデータの変更を検出する変更検出手段と、
前記データの変更を検出すると、前記ネットワークを介して前記他の複数のノードに対してデータの同期要求を行う同期要求手段と、を備えることを特徴とするデータ同期システム。
【請求項２】
請求項１に記載のデータ同期システムにおいて、
前記他の複数のノードのそれぞれに、
他のノードからの同期要求を受け、同期するデータの種類に応じて、同期を行うノードの再起動を伴って自己の仮想ディレクトリの変更を行う再起動変更手段を更に備えることを特徴とするデータ同期システム。
【請求項３】
請求項２に記載のデータ同期システムにおいて、
前記再起動変更手段は、自己の仮想ディレクトリの変更を行う際、当該変更の対象となるデータのバイナリがロックされていない場合、即時に再起動を行い前記仮想ディレクトリの変更を行うことを特徴とするデータ同期システム。
【請求項４】
請求項２に記載のデータ同期システムにおいて、
前記複数のノードは、ユーザに対し映像及び／又は映像による案内を行う案内手段と、ユーザからの指示を入力する入力手段と、を更に備え、
前記再起動変更手段は、自己の仮想ディレクトリの変更を行う際、当該変更の対象となるデータのバイナリがロックされている場合、前記通知手段によって即時に再起動するか否かを案内し、該案内に対し前記入力手段から入力される指示信号に基づいて前記再起動を行うか否かを決定することを特徴とするデータ同期システム。
【請求項５】
請求項２から４のいずれか一項に記載のデータ同期システムにおいて、
前記再起動変更手段が再起動を伴って変更を行うデータは、アプリケーションプログラムであることを特徴とするデータ同期システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノード間でデータを同期するデータ同期システムに係り、特に、複数のノードに同一内容のデータ同期を簡便に行うデータ同期システム及びデータの同期を行う際に同期先のノードの使用環境に合わせて確実にデータの同期を行うデータ同期システムに関する。
【背景技術】
【０００２】
従来から、ネットワークを介して接続された複数のノード間において、１つのノードに格納されたデータの変更（更新・追加・削除等）がなされた際、この変更がなされたデータを他のノードに送信して内容を変更させ、ネットワークで接続された複数のコンピュータ間で共通したデータ内容を保持するデータ同期システムに関する研究・開発が種々行われている。
なお、ここで同期とは、必ずしも現実的な時間が一致することを意味するものではなく、通信環境が確立した際、他のノードに変更したデータ内容を送信し、データ内容が一致する状態を意味するものである。
【０００３】
例えば、特許文献１には、サーバクライアント型のネットワークシステムにおいて、サーバ側とクライアント側とでデータの同期を行うデータ同期システムに関する発明が開示されている。即ち、クライアント側からサーバ側に対して、データの同期要求と最終同期時間情報を一定時間間隔で送信し、これらの情報を受信したサーバ側では、クライアント側から送信された最終同期時間情報に基づいて、自己のデータベースに格納されたデータのうちこの最終同期時間情報よりも新しい時間に変更が行われたデータがある場合にこの差分時間に変更があったデータをクライアント側に送信することで、サーバ側とクライアント側でデータの同期を行うようになっている。
【０００４】
ところで、特許文献１に開示される発明の構成では、クライアント側からサーバ側にデータの同期要求を行うに際し、所定時間ごとにデータ同期要求を行う必要がある。従って、サーバ側のデータベースに変更が無い場合（データの同期を行う必要がない場合）でも、同期要求が行われることとなり、この点余計な通信及び余計な通信処理が発生するという問題がある。
【０００５】
そこで、複数のノード間で行うデータ同期方法として、以下のような構成を考えることもできる。図９に示すブロック図を用いて、データ同期システム４００について説明する。
図９において、データ同期システム４００は、ノードＡ４０１、ノードＢ４０２、ノードＣ４０３、ノードＤ４０４・・・が、ネットワークを介して相互にデータ通信が可能に接続されているものとする。
【０００６】
ノードＡ４０１には、ノードＢ４０２の仮想ディレクトリとしてノードＢ仮想ディレクトリ４１０ａ、ノードＣ４０３の仮想ディレクトリとしてノードＣ仮想ディレクトリ４１１ａ及びノードＤ４０４の仮想ディレクトリとしてノードＤ仮想ディレクトリ４１２ａが設けられる。各ノードＢ４０２、ノードＣ４０３及びノードＤ４０４には、それぞれノードＢ仮想ディレクトリ４１０ｂ、ノードＣ仮想ディレクトリ４１１ｂ及びノードＤ仮想ディレクトリ４１２ｂが格納される。仮想ディレクトリとは、ネットワーク接続時に他のノードからも識別可能なディレクトリである。即ち、一方のノード内に他のノードと同期するディレクトリを設定し、当該他のディレクトリにローカルなパスとは別に両ノード間で識別可能なディレクトリ名（以下、「仮想ディレクトリ名」という。）を設定する（例えば、ネットワークアドレス等）。図９の例では、ノードＡ４０１に設定されたノードＢ仮想ディレクトリ４１０ａは、ノードＡ４０１内部のローカルなパスが設定されているとともに、データ同期システムを構成する他のノードであるノードＢ４０２と同様の仮想ディレクトリ名が設定されている。同様に、ノードＢ４０２においても同様のディレクトリ名が設定されている。これにより両ノード間で通信が確立すると、当該仮想ディレクトリ名（例えば、ネットワークアドレス等）に基づいて共通のディレクトリとしてノードＡ４０１及びノードＢ４０２にデータが反映されることとなる。この構成は、ノードＣ仮想ディレクトリ４１１ａ及びノードＣ仮想ディレクトリ４１１ｂと、ノードＤ仮想ディレクトリ４１２ａ及びノードＤ仮想ディレクトリ４１２ｂとの関係においても適用されている。
【０００７】
仮にノードＡ４０１のノードＢ仮想ディレクトリ４１０ａに、追加データとしてファイルが追加された場合を考える。なお、ノードＣ仮想ディレクトリ４１１ａ及びノードＤ仮想ディレクトリ４１２ａにファイルが追加された場合も同様の処理が行われる。図１０において、ノードＡ４０１のノードＢ仮想ディレクトリ４１０ａにファイルが追加され（ステップＳ４０１）、このファイルの追加を検出したノードＡ４０１は（ステップＳ４０２）、ノードＢ４０２に対し、自己の仮想ディレクトリでデータの変更があった旨を示す同期要求（データ変更通知）を行う（ステップＳ４０３）。この同期要求には、ノードＡ４０１に格納されたノードＢ仮想ディレクトリ４１０ａのネットワークアドレスが含まれている。即ち、ノードＡ４０１は、ノードＢ４０２に対して追加されたファイルの送信を即座に行わずに、ノードＢ仮想ディレクトリ４１０ａのデータに変更があった旨を示すデータ変更通知を行うようになっている。次いで、同期要求を受信したノードＢ４０２は、同期要求に含まれるノードＢ仮想ディレクトリ４１０ａのネットワークアドレスに基づいてデータの同期要求（ダウンロード要求）を行う（ステップＳ４０４）。データ同期要求を受信したノードＡ４０１は、ノードＢ４０２に対して、ノードＢ仮想ディレクトリ４１０ａに追加されたファイルを送信する（ステップＳ４０５）。ノードＢ４０２は、追加ファイルの送信を受け、テンポラリディレクトリ４１５ｂに一時的に格納されたファイルをノードＢ仮想ディレクトリ４１０ｂに書き込む処理を行う（ステップＳ４０６）。これによりノードＡ４０１とノードＢ４０２とで、追加されたファイルが同期することとなる。その後、ノードＢ４０２からノードＡ４０１に対して同期処理が完了したことを示す同期完了通知を行う（ステップＳ４０７）。この構成のデータ同期システム４００では、ノードＡ４０１側では、ノードＢ４０２に対してデータ変更通知を行うのみで、データの転送即ちデータのダウンロードは同期を要求するノードＢ４０２側が主体となって実行するようになっている。このように構成することで、ノード毎に通信環境が異なる場合（常時接続や手動接続）やシステムの通信状況が不安定（通信の切断）である場合であっても、ノードＡ４０１から他のノードに対して行う通信量及び通信処理負担を大幅に軽減することができるというメリットがある。
【特許文献１】特開２０００−２２２２６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、上記データ同期システム４００のように構成し、ノードＡ４０１の通信量及び通信処理負担を軽減させたとしても、システムを構成するノードの数が増加すれば、その分、ノードＡ４０１での処理は増大するという問題がある。具体的には、ノードＡ４０１に格納される各仮想ディレクトリ（ノードＢ仮想ディレクトリ４１０ａ、ノードＣ仮想ディレクトリ４１１ａ及びノードＤ仮想ディレクトリ４１２ａ・・・）でファイルの追加等を行えば、データ同期システム４００を構成する他のノードとデータの同期を行うことができるわけであるが、このようなデータ同期においては、ノードＡ４０１に格納される全ての仮想ディレクトリに対し、逐次ファイルの書き替えを行う必要がある。即ち、ノードＡ４０１に格納される仮想ディレクトリの数が１０であるとすれば、ノードＡ４０１は、追加しようとするファイルのデータ量の１０倍ものデータを処理しなければならない。このように処理するデータの量が増えれば、ノードＡ４０１の記録装置（例えば、ハードディスク）が圧迫されたり、データ同期オペレーションに耐えられなくなったりする等の問題が生ずる。
【０００９】
本発明は、上記課題に鑑みて行われたものであり、その目的とするところは、複数のノードに対してデータの同期を行う場合、変更データを送信する側のノードの同期処理負担を軽減させるとともに１回の同期処理でこれら複数のノードに対してデータの同期処理を実行することができるようにすることである。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、請求項１に記載のデータ同期システムは、
ネットワークを介してデータ通信可能に接続された複数のノードのそれぞれに、互いに識別可能な個別の仮想ディレクトリを備えるとともに、前記複数のノードのそれぞれに、前記個別の仮想ディレクトリのデータの変更を検出し、前記互いに識別可能な個別の仮想ディレクトリを有する他のノードと前記データの同期を行うデータ同期手段を備えるデータ同期システムにおいて、
前記複数のノードの少なくとも１つのノードに、
他の複数のノードと識別可能な共通の仮想ディレクトリと、
前記共通の仮想ディレクトリ内に格納されたデータの変更を検出する変更検出手段と、
前記データの変更を検出すると、前記ネットワークを介して前記他の複数のノードに対してデータの同期要求を行う同期要求手段と、を備えることを特徴とする。
【００１１】
請求項２に記載の発明は、請求項１に記載のデータ同期システムにおいて、
前記他の複数のノードのそれぞれに、
他のノードからの同期要求を受け、同期するデータの種類に応じて、同期を行うノードの再起動を伴って自己の仮想ディレクトリの変更を行う再起動変更手段を更に備えることを特徴とする。
【００１２】
請求項３に記載の発明は、請求項２に記載のデータ同期システムにおいて、
前記再起動変更手段は、自己の仮想ディレクトリの変更を行う際、当該変更の対象となるデータのバイナリがロックされていない場合、即時に再起動を行い前記仮想ディレクトリの変更を行うことを特徴とする。
【００１３】
請求項４に記載の発明は、請求項２に記載のデータ同期システムにおいて、
前記複数のノードは、ユーザに対し映像及び／又は映像による案内を行う案内手段と、ユーザからの指示を入力する入力手段と、を更に備え、
前記再起動変更手段は、自己の仮想ディレクトリの変更を行う際、当該変更の対象となるデータのバイナリがロックされている場合、前記通知手段によって即時に再起動するか否かを案内し、該案内に対し前記入力手段から入力される指示信号に基づいて前記再起動を行うか否かを決定することを特徴とする。
【００１４】
請求項５に記載の発明は、請求項２から４のいずれか一項に記載のデータ同期システムにおいて、
前記再起動変更手段が再起動を伴って変更を行うデータは、アプリケーションプログラムであることを特徴とする。
【発明の効果】
【００１５】
請求項１に記載の発明によれば、データ同期システムを構成するノード上に設けられた共通の仮想ディレクトリに対してデータ変更を１回行うだけで、他の複数のノードに対して共通のデータを同期させる事ができる。これにより、データ同期システムを構成するノードの数が比較的多い場合でも、データが変更された仮想ディレクトリの同期処理負担が軽減されるという効果がある。
【００１６】
また、互いに識別可能な仮想ディレクトリ同士の１：１のデータ同期と異なり、１：多の（多数）のデータ同期システムとして活用することができる。
【００１７】
更に、個別の仮想ディレクトリ同士の同期処理を行うことも、共通の仮想ディレクトリを用いて複数のノードの同期処理を行うこともでき、利便性に優れるという効果がある。
【００１８】
請求項２に記載の発明によれば、データの同期にノードの再起動が必要な場合であっても、通常の同期処理と同様に確実に同期を行うことができる。
【００１９】
請求項３に記載の発明によれば、データを同期するに際してノードの再起動が必要な場合、同期の対象となるデータのバイナリがロックしていない即ちノード上で機能していない場合に、再起動を行い同期を図る構成としているため、同期対象のデータが起動している場合に突然ノードを再起動することが無く、ユーザの作業を妨げることが無い。
【００２０】
請求項４に記載の発明によれば、同期の対象とするデータのバイナリがロックされている場合、即ち、同期対象とするデータがノード上で起動している場合に、表示手段や音声出力手段によって、ユーザに再起動を行うか否かの判断を求めため、データの同期処理において、ユーザの作業を妨げることがないという効果が有る。
【００２１】
請求項５に記載の発明によれば、本発明を、同期に際し再起動を必要とするアプリケーションプログラムに適用することで、特に好適な同期処理を実現することができる。
【発明を実施するための最良の形態】
【００２２】
次に、図を用いて、本発明を実施するための最良の形態について説明する。図２は、本発明を適用したデータ同期システム１００の全体構成を示した模式図である。図２において、データ同期システム１００は、システムを構成する複数のノードとして、サーバ１、サーバ２、ＰＣ（パーソナルコンピュータ）３、ＰＣ４、ＰＣ５及びＰＣ６が設けられ、これらノードがネットワークを介して接続されている。ここで、ネットワークとしては、ＬＡＮ（Local Area Network）、ＭＡＮ(Metropolitan Area Network)、ＷＡＮ(Wide Area Network)及びインターネット等の種々のネットワークを適用することができるが第１の実施形態ではＬＡＮを適用する場合を例として説明する。また、図２において論理接続７ａ、７ｂ、７ｃ、７ｄ、７ｅ及び７ｆはＬＡＮによる論理的な接続を示すものとする。
【００２３】
仮想ディレクトリ１０は、複数のノードで識別可能とされた共通のディレクトリである。第１の実施形態では、サーバ１とＰＣ３との間で認識可能な仮想ディレクトリとして設定している。また、サーバ１には、仮想ディレクトリとしてＰＣ３仮想ディレクトリ１０ａ、ＰＣ４仮想ディレクトリ１１ａ及びＰＣ５仮想ディレクトリ１２ａを格納しており、これらにはサーバ１が自己の仮想ディレクトリにアクセスするローカルなパスがそれぞれ設定され、通信が行われた際に両ノード間で互いに識別可能とするため共通のディレクトリ名が設定されている。
【００２４】
ＰＣ３には仮想ディレクトリとしてＰＣ３仮想ディレクトリ１０ｂ、ＰＣ４にはＰＣ４仮想ディレクトリ１１ｂ、ＰＣ５にはＰＣ５仮想ディレクトリ１２ｂを格納しており、これらにも各ノードが自己の仮想ディレクトリにアクセスするローカルなパスがそれぞれ設定されるとともに、通信が行われた際に両ノード間で互いに識別可能とするため共通のディレクトリ名が設定されている。なお、仮想ディレクトリ１０即ち１０ａ及び１０ｂにはプログラムデータ（図２では「Program Files」というディレクトリにサブディレクトリ及びファイルがツリー状に格納されている状態で示している。）が格納されているものとする。
【００２５】
また、サーバ１には共通仮想ディレクトリ９が格納されている。共通仮想ディレクトリ９は、他のノード（ＰＣ３、ＰＣ４、ＰＣ５・・・）の各仮想ディレクトリであるＰＣ３仮想ディレクトリ１０ａ、ＰＣ４仮想ディレクトリ１１ａ、ＰＣ５仮想ディレクトリ１２ａ・・・の全てと互いに識別可能な共通の仮想ディレクトリとして設定されている。したがって、共通仮想ディレクトリ９で、データの変更を行うと、共通仮想ディレクトリ９と識別可能である仮想ディレクトリの全てに、データ同期処理を行うことができるようになっている。
なお、共通仮想ディレクトリ９と識別可能に設定されているＰＣ３仮想ディレクトリ１０ａ、ＰＣ４仮想ディレクトリ１１ａ、ＰＣ５仮想ディレクトリ１２ａは、共通仮想ディレクトリ９でのデータ変更に対して同期処理を行うが、ＰＣ３仮想ディレクトリ１０ａ、ＰＣ４仮想ディレクトリ１１ａ、ＰＣ５仮想ディレクトリ１２ａでデータの変更が行われても、共通仮想ディレクトリ９に対しては、同期処理を行わないように設定されている。このようにデータの流れを規定することで、同じディレクトリ名称の仮想ディレクトリを単純に同期するシステムではなく、サーバ／クライアントシステムのように、１：多（多数）のデータ同期システムを構築することもできるようになる。
【００２６】
次に、図３を用いてデータ同期システム１００を構成するノードであるサーバ１、サーバ２、ＰＣ３、ＰＣ４、ＰＣ５及びＰＣ６の機能的構成について説明する。なお、第１の実施形態において各ノードの構成はほぼ共通するため、ここではサーバ１を例として説明を行う。
【００２７】
サーバ１及びＰＣ３は、制御部２０、記憶部２１、通信部２２及び入力部２３を備え、これらがバス５５を介して電気・電子的に接続されている。
【００２８】
制御部２０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）及びＲＡＭ(Random Access Memory)等から構成され、ＣＰＵがＲＯＭ等に格納されたオペレーションプログラムやアプリケーションプログラムをワークエリアとしてのＲＡＭに展開し、これらプログラムの指示に従いサーバ１の全体制御を行う機能部である。
【００２９】
記憶部２１は、ハードディスクやフラッシュメモリ等の不揮発性の素子から構成される補助記憶装置であり、サーバ１で使用される各種のデータやプログラムを記憶する機能部である。また、記憶部２１には、共通仮想ディレクトリ９、ＰＣ３仮想ディレクトリ１０ａ、ＰＣ４仮想ディレクトリ１１ａ、ＰＣ５仮想ディレクトリ１２ａ及びテンポラリディレクトリ１５ａが設けられる。
共通仮想ディレクトリ９、ＰＣ３仮想ディレクトリ１０ａ、ＰＣ４仮想ディレクトリ１１ａ、ＰＣ５仮想ディレクトリ１２ａは、それぞれサーバ１あるいはＰＣ３でのローカルなパスが設定されるとともに、ノード間の通信が行われる際、互いに識別可能とするための同一の仮想ディレクトリ名が設定される。
テンポラリディレクトリ１５ａは、一方のノードの仮想ディレクトリで内容が変更されたデータとの同期を図る際、送信された当該変更されたデータを一時的に格納するディレクトリである。格納後は、後述する仮想ディレクトリ変更手段４２により、変更されたデータの送信を受けたノードにおける仮想ディレクトリの所定の場所に変更されたデータの書き込みや追記等が行われるようになっている。
【００３０】
通信部２２は、ＮＩＣ（Network Interface Card）等を備え、制御部２０から送信される指示信号に従って、ネットワークを介して他のノードとのデータ通信を行う機能部である。第１の実施形態では、サーバ１の仮想ディレクトリ（共通仮想ディレクトリ９を含む）の内容が変更された場合、後述するデータ変更通知手段３１によるデータ変更通知を受信する場合に、変更されたデータ及びデータ変更通知の受信や同期要求の送信を行う等、ノード間の通信を行うようになっている。
【００３１】
入力部２３は、ＰＣ３仮想ディレクトリ１０ａあるいは１０ｂの内容を変更する指示信号等を入力するユーザインターフェースであり、例えば、キーボードやマウス等から構成される。
【００３２】
また、制御部２０は、プログラムとの協働により、更に検出手段３０、データ変更通知手段３１、送信手段３２、同期要求送信手段４０、データ受信手段４１、仮想ディレクトリ変更手段４２、変更検出手段５０及び同期要求手段５１として機能する。この内、検出手段３０、データ変更通知手段３１、送信手段３２、同期要求送信手段４０、データ受信手段４１及び仮想ディレクトリ変更手段４２は、特に、ＰＣ３仮想ディレクトリ１０ａのような個別の仮想ディレクトリの同期処理を行うデータ同期手段として機能する。
これに対し、変更検出手段５０及び同期要求手段５１は、共通仮想ディレクトリ９により、複数のノード（ＰＣ３等）に一律に同期処理をおこなう手段として機能する。
【００３３】
検出手段３０は、ユーザによって入力部２３が操作されたり、サーバ１が有するプログラムの機能によりＰＣ３仮想ディレクトリ１０ａの内容が変更されたりした場合、この変更を検出する機能を有する。
【００３４】
データ変更通知手段３１は、検出手段３０でＰＣ３仮想ディレクトリ１０ａ等の内容に変更が検出された場合、通信部２２を介してＰＣ３にデータ変更通知の送信を行う機能を有する。データ変更通知は、ＰＣ３仮想ディレクトリ１０ａに変更があった旨及びＰＣ３仮想ディレクトリ１０ａのネットワークアドレス等の比較的通信量の少ないデータからなる。
【００３５】
送信手段３２は、データ変更通知を受けたＰＣ３からＰＣ３仮想ディレクトリ１０ａとの同期要求を受ける場合に、当該変更されたデータの送信を行うものである。この同期要求はダウンロード要求として構成している。
【００３６】
同期要求送信手段４０は、データ変更通知手段３１から送信されるデータ変更通知に対して同期要求（ダウンロード要求）を返信する機能を有する。同期要求は、データ変更通知に含まれるＰＣ３仮想ディレクトリ１０ａ等のネットワークアドレスにアクセスを行うことにより行われる。同期要求はダウンロード要求として構成しているが、これは、ダウンロードの場合、変更されたデータの送信中に通信が不安定（通信の切断）となっても、通信が不安定になるまでに受信したデータをＰＣ３側で保持することができるため、通信が復帰した場合に、先のデータ転送で受信した部分のデータを破棄することなく、残りの分のデータを転送すればよいという利点がある。したがって、特に、変更されたデータの容量が大きい場合には、通信量を軽減することのメリットをより多く享受することができる。
【００３７】
データ受信手段４１は、送信手段３２から送信される変更されたデータの受信を行う機能を有する。即ち、通信部２２を介して受信した変更されたデータを記憶部２１のテンポラリディレクトリ１５ａに記憶させる。
【００３８】
仮想ディレクトリ変更手段４２は、データ受信手段４１によってテンポラリディレクトリ１５ａに記憶された変更されたデータをＰＣ３仮想ディレクトリ１０ｂの所定の場所に書き込みを行う機能を有する。この書き込みによりＰＣ３仮想ディレクトリ１０ａ及び１０ｂ等の内容が同一の内容となり同期が行われた状態となる。
【００３９】
変更検出手段５０は、共通仮想ディレクトリ９のデータ変更を検出する機能を有する。データ変更を検出した場合は、同期要求手段５１が、他のノード（ＰＣ３等）に対して当該データの同期要求を行う。この場合の同期要求も個別の仮想ディレクトリの同期処理と同様に、共通仮想ディレクトリ９のデータが変更された旨を示すデータ変更通知により行われる。即ち、データが変更された旨と共通仮想ディレクトリ９のネットワークアドレスとが送信される。
【００４０】
サーバ１から共通仮想ディレクトリ９のデータが変更された旨を示すデータ変更通知を受けたＰＣ３等では、同期要求送信手段４０により、共通仮想ディレクトリ９で変更されたデータの同期要求（ダウンロード要求）が送信される。この同期要求を受けたサーバ１は、送信手段３２によって、変更されたデータの送信が行われる。ＰＣ３等のデータ受信手段４１は、送信されたデータをテンポラリディレクトリ１５ｂ等に一時的に記憶する。その後、仮想ディレクトリ変更手段４２によりＰＣ３仮想ディレクトリ１０ａ等の所定の場所に、ダウンロードしたデータが適宜書き込まれることでＰＣ３、ＰＣ４及びＰＣ５とで共通のデータが同期することとなる。
【００４１】
ところで、共通仮想ディレクトリ９で変更されたデータの内容は、変更検出手段５０や同期要求手段５１等の機能によって、ＰＣ３、ＰＣ４及びＰＣ５に同期させることができたが、サーバ１に格納されるＰＣ３仮想ディレクトリ１０ａ、ＰＣ４仮想ディレクトリ１１ａ及びＰＣ５仮想ディレクトリ１２ａでは、依然として共通仮想ディレクトリ９で変更されたデータの内容が反映されていない状態である。この場合は、個別の仮想ディレクトリで行われる通常のデータ同期処理により同期が図られることになる。即ち、ＰＣ３仮想ディレクトリ１０ｂの同期が行われると、ＰＣ３の検出手段３０によってこのデータの変更が検出される。従って、以後はＰＣ３等を中心として見た場合の同期処理が行われ、サーバ１のＰＣ３仮想ディレクトリ１０ａ等のデータ同期が行われるようになっている。
【００４２】
次に、以上の構成を有するデータ同期システム１００の共通仮想ディレクトリ９のデータが変更された場合のデータ同期処理の動作について、図１及び図４を用いて説明する。なお、図４は、サーバ１とＰＣ３等で行われるデータ同期処理での各種信号やデータの流れを示した模式図であり、図１は、このデータ同期処理の処理手順を示したフロー図である。なお、以下の説明では、共通仮想ディレクトリ９にファイルが新規に追加された場合を例として説明する。
【００４３】
図１のフロー図において、ステップＳ１０１で、ユーザの操作やサーバ１のプログラムの機能により共通仮想ディレクトリ９にファイルの追加が行われる。
ステップＳ１０２で、変更検出手段５０は共通仮想ディレクトリ９に新規にファイルが追加されたことを検出する。
ステップＳ１０３で、同期要求手段５１は、ＰＣ３、ＰＣ４及びＰＣ５に同期要求（データ変更通知）を行う（図４〔１〕参照）。
【００４４】
ステップＳ１０４で、この同期要求を受けたＰＣ３、ＰＣ４及びＰＣ５は、同期要求送信手段４０により、共通仮想ディレクトリ９で追加されたファイルの同期要求（即ち、ダウンロード要求）を行う（図４〔２〕参照）。
【００４５】
ステップＳ１０５で、ＰＣ３、ＰＣ４及びＰＣ５から同期要求（ダウンロード要求）をうけたサーバ１は、送信手段３２により、追加されたファイルをそれぞれのノードに送信する（図４〔３〕参照）。
【００４６】
ステップＳ１０６で、ＰＣ３等では、データ受信手段４１により、サーバ１から送信された追加ファイルのデータをテンポラリディレクトリ１５ｂ等に一時的に記憶させ、その後、仮想ディレクトリ変更手段により各ノードにおける仮想ディレクトリの所定の場所に追加されたファイルが書き込まれ、ファイルの同期が行われる（図４〔４〕参照）。
【００４７】
その後、ＰＣ３、ＰＣ４及びＰＣ５から同期完了信号が送信され、データの同期処理が終了する。
【００４８】
以上、データ同期システム１００によれば、データ同期システム１００を構成するノード上に設けられた共通仮想ディレクトリ９に対してデータ変更を１回行うだけで、他の複数のノード（ＰＣ３、ＰＣ４及びＰＣ５）に対して共通のデータを同期させることができる。これにより、比較的データ同期システムを構成するノードの数が多い場合でも、データが変更された仮想ディレクトリの同期処理負担が軽減されるという効果がある。
【００４９】
また、互いに識別可能な仮想ディレクトリ同士の１：１のデータ同期と異なり、１：多の（多数）のデータ同期システムとして活用することができる。
【００５０】
更に、個別の仮想ディレクトリ同士の同期処理を行うことも、共通の仮想ディレクトリを用いて複数のノードの同期処理を行うこともでき、利便性に優れるという効果がある。
【００５１】
〔応用例１〕
次に、本発明の応用例について説明する。上記データ同期システム１００では、各ノードをＬＡＮで接続し、同一ネットワーク上の閉じられたネットワーク内で構築されたデータ同期システムであった。しかしながら、本発明はインターネット等の複数のネットワーク環境を介して構築されるシステムに適用することも可能であり、このような場合でも十分にその効果を発揮するものである。特に、各種プラントの管理システムのように、複数の敷地に設けられた構内ＬＡＮの管理・運用に対し、１つのサーポートセンタで制御を行う際にはインターネットを使用する場合もある。このような場合、全ての構内ＬＡＮに対して、共通するデータの同期を図る場合、サポートセンタ側のノードに格納された各構内ＬＡＮの仮想ディレクトリに同一のデータを逐次変更して同期を図ることとすると、サポートセンタ側のノードでの処理負担が増加するという問題がある。
そこで、本発明を適用することで、複数の構内ＬＡＮの管理ＰＣと、これを管理・運営するサポートセンタ側のＰＣとに適用することで、サポートセンタ側の管理・運営ＰＣ等の処理負担を増加させることなく、１回の操作でシステムを構築するノードのデータ同期を図ることができる。
【００５２】
図５に、本発明の応用例として、データ同期システム２００を示す。
データ同期システム２００は、各ユーザ敷地内（例えば、プラント）のＰＣ６３、６５、６７及び６８とサポートセンタ６０のサーバ６１とをインターネットを介して接続されている。各ノードは、それぞれＶＰＮ（Virtual Private Network）ルータ７１、７２、７３、７４及び７５を介して相互接続することで通信が不安定なる虞の有るインターネットにおいて、データ通信の安全性を確保したネットワークを構築している。
【００５３】
また、サーバ６１には、共通仮想ディレクトリ９を格納し、各ＰＣ６３、６５、６７及び６８に格納されている、仮想ディレクトリと互いに識別可能に設定している。このため、各ＰＣ６３、６５、６７及び６８に対して、共通するデータの同期を図る場合は、共通仮想ディレクトリ９に１回だけデータ変更を行うだけで、サーバ１の同期処理負担を軽減させつつシステムを構築する全てのＰＣに対して同期を図ることができる。
【００５４】
〔第２の実施形態〕
次に、本発明を実施するための第２の実施形態について説明する。第１の実施形態におけるデータ同期システム１００では、共通の仮想ディレクトリを設けることで、システム内の全てのノードに対して共通するデータの同期を図る場合に、共通仮想ディレクトリ９の内容を１回変更するだけで、全てのノードに対して同一内容でデータの同期を図ることができた。
【００５５】
ところで、このデータ同期システム１００では、共通仮想ディレクトリ９の内容が変更されると、各ノードに対し同期要求（データ変更通知）が行われ、この同期要求を受けた各ノード側では即座に同期要求（変更データノダウンロード要求）を行うようになっている。しかしながら、データの種類によっては、即座に同期を行うことができない場合もある。例えば、アプリケーションプログラムの同期を計る際には、アプリケーションプログラムのバイナリを同期させることでアップデートするようになっている。通常、アプリケーション同士のバイナリを同期させるには、アップデートを行おうとするアプリケーションプログラムの起動中は実行することができない。このことから、一般には、起動中のアプリケーションプログラムのアップデートを行う場合、ノード（例えば、ＰＣ）の再起動処理を行うようになっている。
【００５６】
そこで、第２の実施形態では、同期を図るデータの種類に応じて、即座に同期を行う場合と、再起動等をかけて同期を行う場合とを区別するデータ同期システム３００の例について説明する。このような機能が付加される事でよりデータ同期システムの利便性が向上する。
以下に、図を用いてデータ同期システム３００について説明する。なお、第１の実施形態におけるデータ同期システム１００と共通する部分については同一符号を付し、詳細な説明を省略する。
【００５７】
図６に、本発明を適用したデータ同期システム３００の概要を示す。図６において、サーバ１とＰＣ３はネットワークを介してデータ通信が可能に接続されている。サーバ１には、第１の実施形態と同様に共通仮想ディレクトリ９、ＰＣ３仮想ディレクトリ１０ａ及びテンポラリディレクトリ１５ａが設けられる。
ＰＣ３においても、ＰＣ３仮想ディレクトリ１０ｂとテンポラリディレクトリ１５ｂが設けられる。
【００５８】
共通仮想ディレクトリ９、ＰＣ３仮想ディレクトリ１０ａ及びＰＣ３仮想ディレクトリ１０ｂには、それぞれ即時同期８０、８２及び８４と、再起動同期８１、８３及び８５とが格納されている。これらは全て仮想ディレクトリである。ただし、仮想ディレクトリ名はＰＣ３仮想ディレクトリ１０ａ等の仮想ディレクトリつけるものとし、この中に格納される即時同期及び再起動同期のディレクトリは同じディレクトリ名を付すものとする。
【００５９】
図７に、サーバ１の機能的構成を示したブロック図を示す。なお、ＰＣ３も共通仮想ディレクトリ９が設けられないことを除いてはサーバ１と共通する構成を有する。
【００６０】
サーバ１は、制御部２０の機能として再起動変更手段９０を更に備える。再起動変更手段９０は、再起動同期ディレクトリ８１乃至８３からアプリケーションプログラムのファイルのダウンロードを行った後、ＰＣ３仮想ディレクトリ１０ｂの所定の場所にデータを書き込む際、ＰＣ３の再起動を行う機能を有する。更に、仮想ディレクトリ１０ｂに格納されていたアプリケーションプログラムが起動中であり且つログインがなされている場合には、ユーザが現在ＰＣ３でアプリケーションプログラムを使用しているわけであるから、表示部９１や音声出力部９２から、ＰＣ３の再起動を行ってよいか否かの案内を出し、この案内に対して入力部２３を介してユーザから入力された指示信号に基づいて再起動の処理を行うようになっている。
【００６１】
表示部９１は、ＣＲＴやＴＦＴ液晶素子を用いたフラットディスプレイパネルなど、およそパーソナルコンピュータに適用することができるモニタ装置から構成される。また、音声出力部９２は、スピーカや音源ＩＣ等から構成され、音声により案内を行うものである。
【００６２】
図８に示すフロー図を用いて、データ同期システム３００おける再起動同期処理の動作について説明する。
ステップＳ３０１で、サーバ１で、ユーザやプログラムによって再起動同期８１にファイルが追加される。
ステップＳ３０２で、サーバ１の検出手段３０は、再起動同期８１に新規にファイルが追加されたことを検出する。
ステップＳ３０３で、サーバ１の同期要求手段５１が、ＰＣ３に同期要求を送信する。なお、同期要求に再起動同期８１のネットワークアドレスが含まれるのは、第１の実施形態のデータ同期システム１００と同様である。
【００６３】
ステップＳ３０４で、データ変更通知を受けたＰＣ３は、同期要求送信手段４０によって同期要求（ダウンロード要求）を送信する。
ステップＳ３０５で、同期要求（ダウンロード要求）を受けた、サーバ１は、送信手段３２によって当該追加されたファイルを各ノードの送信を行う。
【００６４】
ステップＳ３０６で、再起動変更手段９０は、ＰＣ３仮想ディレクトリ１０ｂに格納されているアプリケーションプログラムにログインが行われているか否かを判断する。ログインがされていない場合は、ステップＳ３０７に進み、再起動変更手段９０は、ＰＣ３の再起動を行い、その後、当該アプリケーションプログラムが起動する。
【００６５】
ステップＳ３０８で、再起動変更手段９０は、ダウンロードしたファイルを所定の場所に書き込む。
ステップＳ３０９で、ＰＣ３は、同期が完了したことを示す同期完了信号をサーバ１に送信する。
【００６６】
一方、ステップＳ３０６で、ログインユーザがいる場合（ステップＳ３０５：「ログインユーザ有り」）、ＰＣ３は、表示部９１や音声出力部９２を介して、直ぐに再起動を行うか否かの案内表示を行う。直ぐに再起動を行う場合は、ステップＳ３０７に進み、ＰＣ３の再起動を行う。逆に、再起動を直ぐに行わない場合は、所定時間の経過後に再度案内を行いその結果に従って処理を進める。なお、ログオフをトリガとしてステップＳ３０７に進む構成としてもよい。
【００６７】
以上、第２の実施形態におけるデータ同期システム３００によれば、アプリケーションプログラムのように、アップデートに際してノードのオペレーションシステムを再起動する必要があるデータを同期させる場合であっても、データの同期を確実且つ好適に実行することができ、データ同期システム３００の利便性が向上する。
【００６８】
また、再起動に際し、同期を行うアプリケーションプログラムにログインユーザがいる場合は、表示部９１や音声出力部９２を解して案内を行うため、ユーザの作業を妨げることがないという利点がある。
【００６９】
以上、本発明を実施するための第１及び第２の実施形態について説明したが、本発明は上記種々の例に限定されるものではない。
【図面の簡単な説明】
【００７０】
【図１】本発明を実施するための第１の実施形態におけるデータ同期システムの処理動作を示したフロー図である。
【図２】本発明を実施するための第１の実施形態におけるデータ同期システムの全体構成を示した概要図である。
【図３】本発明を実施するための第１の実施形態におけるデータ同期システムを構成するノードの構成を示したブロック図である。
【図４】本発明を実施するための第１の実施形態におけるデータ同期システムの同期処理動作を模式的に示した図である。
【図５】本発明を実施するための第１の実施形態におけるデータ同期システムの応用例示した模式図である。
【図６】本発明を実施するための第２の実施形態におけるデータ同期システムの同期処理を模式的に示した図である。
【図７】本発明を実施するための第２の実施形態におけるデータ同期システムを構成するノードの構成を示したブロック図である。
【図８】本発明を実施するための第２の実施形態におけるデータ同期システムの処理動作を示したフロー図である。
【図９】従来のデータ同期システムのデータ同期処理を示した模式図である。
【図１０】従来のデータ同期システムのデータ同期処理手順を示したフロー図である。
【符号の説明】
【００７１】
１、２、６１  サーバ
３、４、５、６、６３、６５、６７、６８  ＰＣ
７ａ、７ｂ、７ｃ、７ｄ、７ｅ、７ｆ  論理接続
１０、１０ａ、１０ｂ  ＰＣ３仮想ディレクトリ
１１ａ、１１ｂ  ＰＣ４仮想ディレクトリ
１２ａ、１２ｂ  ＰＣ５仮想ディレクトリ
１５ａ、１５ｂ、１５ｃ、１５ｄ  テンポラリディレクトリ
２０  制御部
２１  記憶部
２２  通信部
２３  入力部
３０  検出手段
３１  データ変更通知手段
３２  送信手段
４０  同期要求送信手段
４１  データ受信手段
４２  仮想ディレクトリ
５０  変更検出手段
５１  同期要求手段
５５  バス
６０  サービスセンタ
７１、７２、７３、７４、７５  ＶＰＮルータ
８０、８２、８４  即時同期
８１、８３、８５  再起動同期
９０  再起動変更手段
９１  表示部
９２  音声出力部
１００、２００、３００、４００  データ同期システム
【図１】
2007299278.tif 000003
【図２】
2007299278.tif 000004
【図３】
2007299278.tif 000005
【図４】
2007299278.tif 000006
【図５】
2007299278.tif 000007
【図６】
2007299278.tif 000008
【図７】
2007299278.tif 000009
【図８】
2007299278.tif 000010
【図９】
2007299278.tif 000011
【図１０】
2007299278.tif 000012