JP4398042B2 - 送信装置、受信装置、送受信装置、送信方法および受信方法 - Google Patents
送信装置、受信装置、送受信装置、送信方法および受信方法 Download PDFInfo
- Publication number
- JP4398042B2 JP4398042B2 JP2000024769A JP2000024769A JP4398042B2 JP 4398042 B2 JP4398042 B2 JP 4398042B2 JP 2000024769 A JP2000024769 A JP 2000024769A JP 2000024769 A JP2000024769 A JP 2000024769A JP 4398042 B2 JP4398042 B2 JP 4398042B2
- Authority
- JP
- Japan
- Prior art keywords
- directory
- update
- information
- entry
- version number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
【発明の属する技術分野】
この発明は、例えば不特定多数へのデータ配信の技術分野で用いられ、配信されたデータを効率良く更新管理するための送信装置、受信装置、送受信装置、送信方法および受信方法に関する。
【0002】
【従来の技術】
ディレクトリサービスの規格として、X.500やLDAP(Lightweight Directory Access Protocol) が知られている。X.500は、ITU−T(International Telecommunication Union-Telecommunication Standardization Sector)で勧告されているディレクトリサービスの国際標準であり、ディレクトリの概念や、階層構造、サービス、オブジェクトの定義などが規定されている。
【0003】
X.500は、汎用性の高いディレクトリサービスプロトコルである反面、実装が重くなる仕様となっていおり、その実装コストが高い。このため、これを、インターネット上のWWW(World Wide Web)ブラウザや、電子メールソフトウェアなどからも簡単に利用することができるように、軽量化、簡素化したサービスプロトコルとして、LDAPが開発された。
【0004】
LDAPは、サーバ・クライアント型のモデルで構成されており、ディレクトリ情報を格納するサーバ(ディレクトリサーバ)と、それにアクセスするクライアントとの間のリクエスト・レスポンス型のメッセージ転送プロトコルを定義している。ディレクトリサーバで集中管理されるディレクトリ情報の規模が大きくなると、クライアントのアクセスが集中することによって、サーバの質が低下するために、複数のディレクトリサーバによって、ディレクトリ情報が分散管理される。
【0005】
ディレクトリ情報が分散管理されている場合、あるディレクトリサーバが管理しているエントリ(ディレクトリ情報の最小管理単位)の複製が他の1以上のディレクトリサーバに存在することになる。したがって、あるディレクトリサーバにおいてエントリの更新が生じた時には、他のディレクトリサーバにおいても、複製を更新する必要がある。このように、エントリの内容が異なるものとならないように、同期管理が必要とされる。すなわち、あるディレクトリサーバが管理しているエントリが更新された場合に、他のディレクトリサーバが管理しているそのエントリの複製の更新を即座に行うことが必要とされる。同期管理方式として、同報ネットワークを使用した放送型プロトコルを主体としたものが先に提案されている(特願平10−277352号および特願平10−277353号参照)。
【0006】
【発明が解決しようとする課題】
上述した同期管理方式を有するディレクトリサービスシステムにおいて、更新内容は、更新前と更新後の差分のデータとして伝送される。若し、受信側のディレクトリサーバが電源オフ等のために長い間休止していると、連続した差分更新通知メッセージを取りこぼすおそれが高くなる。このような場合、放送によって伝送される差分情報だけでは、受信側のディレクトリを同期させることができなくなる。その結果、受信側は、差分情報ではなく、既に受信しているディレクトリ情報を捨て、ディレクトリ全体の情報を最初から受信してディレクトリ全体を再構築することによって、同期した状態へ回復することになる。一般的にディレクトリ全体の情報は、差分に比べて非常に大きなデータサイズとなるため、ディレクトリ回復作業が受信側にとって負荷が高い処理となる。
【0007】
従って、この発明の目的は、全体の情報を受信することによって受信側が送信側とディレクトリを同期させる際に、既に受信済のディレクトリ構造を可能な限り保持しながらディレクトリ同期を行い、それによって処理の負荷を軽減することが可能な送信装置、受信装置、送受信装置、送信方法および受信方法を提供することにある。
【0008】
【課題を解決するための手段】
上述した課題を解決するために、請求項1の発明は、木構造のデータ構造でもって複数のエントリが階層配置されたディレクトリを記憶するディレクトリ記憶手段と、
ディレクトリ記憶手段に記憶されたディレクトリに対してエントリの追加または削除による更新を行うと共に、更新を行うたびに変化するバージョン番号を管理するディレクトリ操作手段と、
ディレクトリ操作手段によるディレクトリの更新内容を表す更新情報を生成する更新情報生成手段と、
ディレクトリ記憶手段に記憶されたディレクトリの内容全体を表す全体情報を生成する全体情報生成手段と、
全体情報および更新情報をネットワークにより送信する伝送手段とを備え、
全体情報生成手段は、全体情報の生成に際して、エントリ名と、更新操作と、そのエントリの直下に対して最後に更新が起きた時のバージョン番号とを含む全体情報を生成することを特徴とする送信装置である。
【0009】
請求項5の発明は、木構造のデータ構造でもって複数のエントリが階層配置されたディレクトリを記憶するディレクトリ記憶手段と、
ディレクトリ記憶手段に記憶されるディレクトリを検索、閲覧するためのディレクトリ操作手段と、
ディレクトリ記憶手段に記憶されたディレクトリを更新するための更新情報およびディレクトリ全体の全体情報をネットワークを介して受信する受信手段と、
更新情報および全体情報の内容に従ってディレクトリを更新する更新手段とを備え、
全体情報は、エントリ名と、そのエントリの直下に対して最後に更新が起きた時のバージョン番号と、更新操作とを含み、
ディレクトリ記憶手段に記憶されたディレクトリの各エントリは、そのエントリの直下に対して更新が起きた時のバージョン番号を持ち、
更新手段は、受信した全体情報が持つバージョン番号と、ディレクトリ記憶手段に記憶されたディレクトリのバージョン番号とを比較することによって、必要な全体情報を判別し、必要な全体情報のみをディレクトリ記憶手段に記憶されたディレクトリに反映することを特徴とする受信装置である。
【0010】
請求項8の発明は、送信装置と受信装置とがネットワークを介して接続され、送信装置および受信装置の間で、ディレクトリの同期をとるようにした送受信装置において、
送信装置は、
木構造のデータ構造でもって複数のエントリが階層配置されたディレクトリを記憶するディレクトリ記憶手段と、
ディレクトリ記憶手段に記憶されたディレクトリに対してエントリの追加または削除による更新を行うと共に、更新を行うたびに変化するバージョン番号を管理するディレクトリ操作手段と、
ディレクトリ操作手段によるディレクトリの更新内容を表す更新情報を生成する更新情報生成手段と、
ディレクトリ記憶手段に記憶されたディレクトリの内容全体を表す全体情報を生成する全体情報生成手段と、
全体情報および更新情報をネットワークにより送信する伝送手段とを備え、
全体情報生成手段は、全体情報の生成に際して、エントリ名と、更新操作と、そのエントリの直下に対して最後に更新が起きた時のバージョン番号とを含む全体情報を生成するように構成され、
受信装置は、
木構造のデータ構造でもって複数のエントリが階層配置されたディレクトリを記憶するディレクトリ記憶手段と、
ディレクトリ記憶手段に記憶されるディレクトリを検索、閲覧するためのディレクトリ操作手段と、
送信装置から更新情報および全体情報をネットワークを介して受信する受信手段と、
更新情報および全体情報の内容に従ってディレクトリを更新する更新手段とを備え、
ディレクトリ記憶手段に記憶されたディレクトリの各エントリは、そのエントリの直下に対して更新が起きた時のバージョン番号を持ち、
更新手段は、受信した全体情報が持つバージョン番号と、ディレクトリ記憶手段に記憶されたディレクトリのバージョン番号とを比較することによって、必要な全体情報を判別し、必要な全体情報のみをディレクトリ記憶手段に記憶されたディレクトリに反映するように構成されることを特徴とする送受信装置である。
【0011】
請求項9の発明は、木構造のデータ構造でもって複数のエントリが階層配置されたディレクトリがディレクトリ記憶手段に記憶され、ディレクトリ記憶手段に記憶されたディレクトリに対してエントリの追加または削除による更新を行うと共に、更新を行うたびに変化するバージョン番号を管理するディレクトリ操作ステップと、
ディレクトリの更新内容を表す更新情報を生成する更新情報生成ステップと、
ディレクトリ記憶手段に記憶されたディレクトリの内容全体を表す全体情報を生成する全体情報生成ステップと、
全体情報および更新情報をネットワークにより送信する伝送ステップとを有し、
全体情報生成ステップは、全体情報の生成に際して、エントリ名と、更新操作と、そのエントリの直下に対して最後に更新が起きた時のバージョン番号とを含む全体情報を生成することを特徴とする送信方法である。
【0012】
請求項10の発明は、木構造のデータ構造でもって複数のエントリが階層配置されたディレクトリがディレクトリ記憶手段に記憶され、ディレクトリ記憶手段に記憶されたディレクトリを更新するための更新情報およびディレクトリ全体の全体情報をネットワークを介して受信する受信ステップと、
更新情報および全体情報の内容に従ってディレクトリを更新する更新ステップとを有し、
全体情報は、エントリ名と、そのエントリの直下に対して最後に更新が起きた時のバージョン番号と、更新操作とを含み、
ディレクトリ記憶手段に記憶されたディレクトリの各エントリは、そのエントリの直下に対して更新が起きた時のバージョン番号を持ち、
更新ステップは、受信した全体情報が持つバージョン番号と、ディレクトリ記憶手段に記憶されたディレクトリのバージョン番号とを比較することによって、必要な全体情報を判別し、必要な全体情報のみをディレクトリ記憶手段に記憶されたディレクトリに反映することを特徴とする受信方法である。
【0013】
この発明では、各エントリに対して、その直下に更新が起きた時のバージョン番号を付加することによって、全体情報によってディレクトリの同期を取り直す時に、必要な部分のみを処理することができる。
【0014】
【発明の実施の形態】
以下、この発明の一実施形態について説明する。図1は、一実施形態におけるデータ配信システムの一例を示す。送信側ディレクトリサーバ101は、ディレクトリを保持、管理している。ディレクトリは、木構造のデータ構造を有し、その最小管理単位がコンテナエントリ(単にエントリとも言う)であり、また、コンテナエントリの追加、削除を行うことができる。一例として、ディレクトリサーバ101には、情報提供者(図示しない)から提供された交通情報、天気情報、株価情報等のリアルタイムで変化するデータ、リアルタイムで変化しないデータ、テキストデータ、画像データ、オーディオデータ、コンピュータプログラム等のデータが記憶される。ディレクトリのひとかたまりのデータがコンテンツ、またはオブジェクトと呼ばれる。また、送信側ディレクトリサーバ101の一例は、放送局である。
【0015】
送信側ディレクトリサーバ101は、同報ネットワーク(例えば放送ネットワーク)103および双方向ネットワーク104を介して受信側ディレクトリサーバ1021 ,1022 にディレクトリを提供する。双方向ネットワーク104は、具体的には、アナログ公衆電話網、ISDN(Integrated Services Digital Network) 、インターネット等である。受信側ディレクトリサーバの個数は、実際には、無数あるが、図1は、代表的に2個の受信側ディレクトリサーバ1021 ,1022 を示している。
【0016】
受信側ディレクトリサーバ1021 ,1022 は、送信側ディレクトリサーバ101から提供されるディレクトリを受信し、蓄積し、利用者に提供するものである。そのため、送信側ディレクトリサーバ101に記憶されるディレクトリの全て、またはその一部を同報ネットワーク103および双方向ネットワーク104を介して受信し、記憶(蓄積)する。
【0017】
また、送信側ディレクトリサーバ101において起こったディレクトリの更新は、同報ネットワーク103および双方向ネットワーク104を介して受信側ディレクトリサーバ1021 ,1022 に反映される。それによって、受信側ディレクトリサーバ101と送信側ディレクトリサーバ1021 ,1022 の間でディレクトリの内容の同期が取られる。
【0018】
ディレクトリは、図2に示すように、木構造で管理されるデータである。木構造を構成する各ノードのうちさらにその下にノードをもつものがコンテナエントリ201であり、一番下に位置するノードがリーフノード202である。図2中、C1,C2,・・・,C4がコンテナエントリであり、L1,L2,L3がリーフノードである。例えば放送番組表の場合では、コンテナエントリC2がニュース番組であり、リーフノードL1が午後9時に放送されるニュース番組である。勿論、職業別電話帳等も図2に示す木構造で表すことができる。
【0019】
図3は、送信側ディレクトリサーバ101の構成例を示す。ディレクトリ記憶部302には、図2に示す構造を持ったディレクトリが記憶される。ディレクトリ記憶部302にデータを追加したり、記憶されたデータを削除するのがディレクトリ操作部301である。ディレクトリ操作部301によるディレクトリの更新操作の情報が更新情報生成部303に供給される。更新操作の情報を受けて、更新情報生成部303では、ディレクトリの更新内容を受信側ディレクトリサーバ1021 ,1022 のディレクトリに反映するための更新情報が生成される。
【0020】
更新情報生成部303によって生成された更新情報が更新情報記憶部304に記憶される。更新情報記憶部304には、受信側での更新情報の取りこぼしを想定して一定期間繰り返して更新情報を送信するために、複数の更新情報が記憶される。更新情報記憶部304に記憶された更新情報は、伝送部307によって同報ネットワーク103に繰り返して送信される。
【0021】
ディレクトリ記憶部302には、全体情報生成部305が接続される。全体情報生成部305では、受信側ディレクトリサーバ1021 ,1022 での更新情報の取りこぼしを考慮し、ディレクトリ記憶部302に記憶されたディレクトリ全体の情報が定期的に生成される。生成された全体情報が全体情報記憶部306に記憶され、伝送部307から同報ネットワーク103に一定期間、繰り返して送信される。
【0022】
双方向ネットワーク104に通信制御部308が接続される。双方向ネットワーク104を介して受信された受信側ディレクトリサーバ1021 ,1022 からの要求に従って、更新情報記憶部304に記憶された更新情報またはディレクトリ記憶部302に記憶されるディレクトリ全体を双方向ネットワーク104を介して受信側ディレクトリサーバ1021 ,1022 に提供する。
【0023】
図4は、受信側ディレクトリサーバ1021 ,1022 の構成例を示す。同報ネットワーク103に対して受信部401が接続される。受信部401が同報ネットワーク103を介して送信側ディレクトリサーバ101からディレクトリの更新情報および全体情報を受信する。受信した情報は、更新操作部403において解釈され、ディレクトリ記憶部404に記憶されているディレクトリに反映される。全体情報を受信したのであれば、そのデータをディレクトリ記憶部404に記憶する。また、更新情報を受信したのであれば、ディレクトリ記憶部404に記憶されているディレクトリの指示された部分を更新する。
【0024】
双方向ネットワーク104に対して通信制御部402が接続される。通信制御部402は、受信部401で取りこぼした全体情報または更新情報を送信側ディレクトリサーバ101に要求する。そして、受信した全体情報や更新情報を更新操作部403を通じてディレクトリ記憶部404に記憶されているディレクトリに反映する。ディレクトリ操作部405は、ディレクトリ記憶部404に記憶されているディレクトリを閲覧したり、参照するための操作を行うためのものである。
【0025】
図5を参照して、送信側ディレクトリサーバ101におけるディレクトリの更新例について説明する。更新操作は、ディレクトリ操作部301によって行われる。まず、コンテナエントリC0にC1、C2が順に追加される(データ構造501)。次に、コンテナエントリC3がコンテナエントリC1の下に追加される(データ構造502)。コンテナエントリC2の下にコンテナエントリC4が追加される(データ構造503)。コンテナエントリC2の下にコンテナエントリC5が追加される(データ構造504)。最後にコンテナエントリC2の下からコンテナエントリC4が削除される(データ構造505)。
【0026】
図5に示すようなディレクトリの更新が起こった場合を考えると、送信側ディレクトリサーバ101の更新情報生成部303および全体情報生成部305では、図6に示すような全体情報および更新情報が生成される。これらの全体情報および更新情報が同報ネットワーク103を介して送信される。また、受信側ディレクトリサーバ1021 ,1022 の要求に応じて、要求された全体情報または更新情報が双方向ネットワーク104を介して送信される。
【0027】
一実施形態においては、ディレクトリ記憶部302に記憶される各コンテナエントリには、そのコンテナエントリの直下のエントリに更新が起こったときのスキーマのバージョン(バージョン番号と呼ぶことにする)を格納する。すなわち、コンテナエントリの状態は、(コンテナエントリ名,バージョン番号)で表すことができる。バージョン番号は、更新のたびに変化し、更新の順序を示す値であれば、昇順の数、降順の数等、種々の値を使用できる。
【0028】
全体情報生成部305が生成する全体情報には、更新の起こったコンテナエントリ名と更新操作内容に加えて、最後にそのコンテナエントリ直下に更新が起きた時のバージョン番号を含める。つまり、全体情報は、(バージョン番号,コンテナエントリ名,更新操作)で表される。更新情報も同様に表す。操作は、コンテナエントリの追加、または削除である。
【0029】
図6中の全体情報について説明すると、最初のバージョン番号(0.3)がデータ構造501に対応したものである。すなわち、仮想的なコンテナエントリ(またはノード)rにコンテナエントリC0を追加したものがバージョン番号(0.1)の全体情報(0.1,r,+C0)である。バージョン番号(0.1)に対して、コンテナエントリC0にC1を追加したバージョン番号が(0.2)である。さらに、コンテナエントリC2を追加した全体情報が(0.3,C0,+C1)である。
【0030】
コンテナエントリC0の直下に最後に更新が起きた時のバージョン番号は、コンテナエントリC2が追加された時のバージョン番号(0.3)であるので、コンテナエントリC1を追加した時の全体情報が(0.3,C0,+C1)とされる。以上の3個の全体情報によって、データ構造501が復元できる。また、更新情報としての差分情報は、バージョン番号(0.2)からバージョン番号(0.3)に変化した時の変化を示すように、コンテナエントリC0の直下に最後に更新が起きた時のバージョン番号(0.3)と、更新操作からなる。すなわち、(0.3,C0,+C2)である。(+)が追加を表す。
【0031】
次に、コンテナエントリC1に対して、コンテナエントリC3を追加してデータ構造502(バージョン番号(1.0))が生成される。この場合には、コンテナエントリC1の直下に最後に更新が起きた時のバージョン番号が(1.0)であるので、(1.0,C1,+C3)の全体情報が生成される。コンテナエントリC0についてのバージョン番号は、(0.3)のままである。また、差分情報が(1.0,C1,+C3)となる。
【0032】
次に、コンテナエントリC2に対して、コンテナエントリC4を追加してデータ構造503(バージョン番号(1.1))が生成される。この場合には、コンテナエントリC2の直下に最後に更新が起きた時のバージョン番号が(1.1)であるので、(1.1,C2,+C4)の全体情報が生成される。コンテナエントリC0についてのバージョン番号は、(0.3)のままで、コンテナエントリC1についてのバージョン番号は、(1.0)のままである。また、差分情報が(1.1,C2,+C4)となる。
【0033】
次に、コンテナエントリC2に対して、コンテナエントリC5を追加してデータ構造504(バージョン番号(1.2))が生成される。この場合には、コンテナエントリC2の直下に最後に更新が起きた時のバージョン番号が(1.2)であるので、(1.2,C2,+C5)の全体情報が生成される。これと共に、バージョン番号(1.1)では、(1.1,C2,+C4)であった全体情報が(1.2,C2,+C4)に変更される。また、差分情報が(1.2,C2,+C5)となる。
【0034】
最後に、コンテナエントリC2に対して追加されたコンテナエントリC4が削除されてデータ構造505(バージョン番号(1.3))が生成される。この場合には、コンテナエントリC2の直下に最後に更新が起きた時のバージョン番号が(1.3)であるので、(1.3,C2,+C5)の全体情報が生成される。これと共に、コンテナエントリC4の削除の操作と対応して、全体情報(1.2,C2,+C4)が削除される。また、差分情報が(1.3,C2,−C4)となる。(−)が削除を表す。
【0035】
図7は、送信側ディレクトリサーバ101において、更新操作がなされた時になされる各コンテナエントリCnのバージョン番号管理の流れを示すフローチャートである。ステップS1において、あるコンテナエントリCnの直下に更新(コンテナエントリの追加または削除)が起こると、ステップS2において、バージョン番号Vを1増加する。そして、ステップS3において、+1で得られたバージョン番号VをコンテナエントリCnの直下に更新が起きた時のバージョン番号Cnvとして記憶する。
【0036】
図8は、送信側ディレクトリサーバ101における全体情報の生成処理の流れを示すフローチャートである。コンテナエントリの総数をNとし、処理の対象とするコンテナエントリがi番目のコンテナエントリCiとすると、ステップS11では、(i<N)かどうかが決定される。(i<N)の関係が成立するときは、全てのコンテナエントリの処理が終了していないことを意味するので、処理がステップS12に移る。若し、(i<N)の関係が成立しないときは、全てのコンテナエントリに関する処理終了したものと決定され、処理が終了する。
【0037】
ステップS12においては、コンテナエントリCiの直下にある全てのコンテナエントリCjに関して処理がなされる。すなわち、ステップS13において、全体情報に付加するバージョン番号vをコンテナエントリCiの記憶しているバージョン番号Civとし(ステップS13)、次のステップS14において、全体情報(v,Ci,+Cj)、すなわち、(Civ,Ci,+Cj)を生成する。
【0038】
全てのコンテナエントリCjについての処理(ステップS13およびステップS14)が終了すると、ステップS15に処理が移り、コンテナエントリ番号iが1増加される。そして、ステップS11に戻り、全てのコンテナエントリCiについての処理が終了したか否かが決定される。
【0039】
ここで、受信側ディレクトリサーバ1021 ,1022 が長期間、休止状態であった後に復帰した場合、ディレクトリ記憶部404に記憶されている情報を最新の状態に同期させる既存の方法について説明する。まず、ディレクトリの全体情報を受信する。ディレクトリの全体情報を受信し、ディレクトリを同期する際に、既にディレクトリ記憶部404に記憶されている情報を全て破棄し、改めて全体情報からディレクトリを再構築する。しかしながら、このような既存の同期方法は、受信側ディレクトリサーバにとって、処理の負荷が重い。
【0040】
この発明では、ディレクトリを送信側ディレクトリサーバと同期させるために、既に受信済の情報に関して変化が起きたか否かを先に判定することによって処理の負荷を軽減することが可能なものである。その判定のために、送信側ディレクトリサーバ101において、上述したように生成された全体情報中のバージョン番号、すなわち、各コンテナエントリに付加されている、そのコンテナエントリの直下のエントリに更新が起こったときのバージョン番号を使用する。
【0041】
図9は、受信側ディレクトリサーバ1021 ,1022 の更新処理の流れを示すフローチャートである。最初のステップS21において、最新の差分更新情報に含まれるバージョン番号Vdと受信側に記憶されているバージョン番号Vsとを比較する。(Vd=Vs+1)ならば、取りこぼしがなく、正常に差分更新情報を受信していることが分かる。その場合には、ステップS22において、差分更新を適用し、バージョン番号Vsを1増加し、更新処理を終了する。ステップS22の処理によって、受信側のバージョン番号が送信側のバージョン番号と等しくなる。
【0042】
ステップS21において、(Vd=Vs+1)でなければ、すなわち、(Vd>Vs+1)ならば、差分更新情報の取りこぼしが起きているものと決定される。この場合では、全体情報を受信することによって、復旧が図られる。まず、ステップS23において、全ての全体情報を受信したか否かが決定される。全ての全体情報を受信していれば、復旧が完了する。
【0043】
ステップS23において、全ての全体情報を受信していないならば、ステップS24において、全体情報(v,Ci,+Cj)を受信する。ステップS25では、全体情報中のバージョン番号vと受信側に記憶されているバージョン番号Vsとの関係が(v>Vs)か否かが決定される。(v>Vs)でなければ、処理がステップS23に戻る。(v>Vs)であれば、コンテナエントリCiの直下に不整合が起きていることが分かるので、ステップS26において、コンテナエントリCiの直下の全てのコンテナエントリが削除済か否かが決定される。これは、不整合によってコンテナエントリCiの直下のコンテナエントリが更新を正しく反映していないおそれがあるからである。
【0044】
削除済でないならば、ステップS27において、コンテナエントリCiの直下のコンテナエントリを全て削除し、ステップS28に処理が移る。ステップS26において、削除済と決定されたときも、処理がステップS28に移る。ステップS28では、全体情報(v,Ci,+Cj)の内容をコンテナエントリCiの直下に反映するために、コンテナエントリCiにコンテナエントリCjを追加する。そして、処理がステップS23に戻る。全ての全体情報を受信するまで、ステップS24〜S28の処理が繰り返される。
【0045】
図6の例を参照してより具体的に説明すると、例えば受信側ディレクトリサーバがバージョン番号(1.1)の状態(全体情報(1.1,C2,+C4))の後、バージョン番号(1.2)の間、電源切断等の何らかの理由によって休止状態となったものとする。
【0046】
この場合には、全体情報(1.2,C2,+C4)を受信すると、ステップS25(図9)の関係(v>Vs)が満たされ、コンテナエントリC2の直下のエントリC4が削除され(ステップS27)、C2の直下にC4が追加される(ステップS28)。そして、次の全体情報(1.2,C2,+C5)を受信すると、コンテナエントリC5がC2に追加される。このようにして、コンテナエントリC2の部分のみを処理することで、ディレクトリの同期なしうる。
【0047】
この発明を適用しない場合、受信側ディレクトリサーバ1021 ,1022 は、ディレクトリ記憶部404に記憶されるバージョン番号(1.1)のディレクトリ構造を全て破棄し、バージョン(1.3)の全体情報を受信してディレクトリの同期をとることになる。しかしながら、実際には、バージョン(1.1)と(1.3)の間のディレクトリの違いは、C4、C5の部分のみであり、その他の部分については同期処理を必要としない。この発明によれば、コンテナエントリC2以下の部分についてのみ同期処理を行うことになるので、受信側の処理の負荷を軽くすることができる。
【0048】
この発明は、上述した実施形態等に限定されるものでは無く、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0049】
【発明の効果】
この発明では、ディレクトリの更新において、各コンテナエントリに対して、その直下に更新処理が起きたときのバージョン番号を付加することにより、全体情報によって同期を取り直す時に、必要な部分のみを処理することが可能となり、受信側の処理の負荷を軽くすることができる。
【図面の簡単な説明】
【図1】この発明の一実施形態である、ディレクトリサービスシステムの構成の一例を示す略線図である。
【図2】この発明の一実施形態におけるディレクトリの木構造を説明するための略線図である。
【図3】この発明の一実施形態における送信側ディレクトリサーバの一例を示すブロック図である。
【図4】この発明の一実施形態における受信側ディレクトリサーバの一例を示すブロック図である。
【図5】ディレクトリエントリの更新例を順に示す略線図である。
【図6】受信側ディレクトリサーバにおけるディレクトリ更新処理の一例における全体情報および更新情報を示す略線図である。
【図7】この発明の一実施形態における、送信側でのコンテナエントリの更新バージョン番号管理の処理を示すフローチャートである。
【図8】この発明の一実施形態における、送信側での全体情報の生成処理を示すフローチャートである。
【図9】この発明の一実施形態における、受信側でのディレクトリの更新処理を示すフローチャートである。
【符号の説明】
101・・・送信側ディレクトリサーバ、1021 ,10221,1021 ・・・受信側ディレクトリサーバ、103・・・同報ネットワーク、201・・・コンテナエントリ、202・・・リーフノード、302・・・ディレクトリ記憶部、303・・・更新情報生成部、304・・・更新情報記憶部、401・・・受信部、404・・・ディレクトリ記憶部
Claims (10)
- 木構造のデータ構造でもって複数のエントリが階層配置されたディレクトリを記憶するディレクトリ記憶手段と、
上記ディレクトリ記憶手段に記憶されたディレクトリに対してエントリの追加または削除による更新を行うと共に、上記更新を行うたびに変化するバージョン番号を管理するディレクトリ操作手段と、
上記ディレクトリ操作手段によるディレクトリの更新内容を表す更新情報を生成する更新情報生成手段と、
上記ディレクトリ記憶手段に記憶されたディレクトリの内容全体を表す全体情報を生成する全体情報生成手段と、
上記全体情報および上記更新情報をネットワークにより送信する伝送手段とを備え、
上記全体情報生成手段は、全体情報の生成に際して、エントリ名と、更新操作と、そのエントリの直下に対して最後に更新が起きた時のバージョン番号とを含む全体情報を生成することを特徴とする送信装置。 - 請求項1において、
上記ディレクトリ記憶手段に記憶されたディレクトリの各エントリは、そのエントリの直下に対して更新が起きた時のバージョン番号を持つことを特徴とする送信装置。 - 請求項1において、
上記ネットワークが同報ネットワークであることを特徴とする送信装置。 - 請求項1において、
上記ネットワークが双方向ネットワークであることを特徴とする送信装置。 - 木構造のデータ構造でもって複数のエントリが階層配置されたディレクトリを記憶するディレクトリ記憶手段と、
上記ディレクトリ記憶手段に記憶されるディレクトリを検索、閲覧するためのディレクトリ操作手段と、
上記ディレクトリ記憶手段に記憶されたディレクトリを更新するための更新情報およびディレクトリ全体の全体情報をネットワークを介して受信する受信手段と、
上記更新情報および上記全体情報の内容に従ってディレクトリを更新する更新手段とを備え、
上記全体情報は、エントリ名と、そのエントリの直下に対して最後に更新が起きた時のバージョン番号と、更新操作とを含み、
上記ディレクトリ記憶手段に記憶されたディレクトリの各エントリは、そのエントリの直下に対して更新が起きた時のバージョン番号を持ち、
上記更新手段は、受信した上記全体情報が持つバージョン番号と、上記ディレクトリ記憶手段に記憶されたディレクトリのバージョン番号とを比較することによって、必要な上記全体情報を判別し、必要な上記全体情報のみを上記ディレクトリ記憶手段に記憶されたディレクトリに反映することを特徴とする受信装置。 - 請求項5において、
上記ネットワークが同報ネットワークであることを特徴とする受信装置。 - 請求項5において、
上記ネットワークが双方向ネットワークであることを特徴とする受信装置。 - 送信装置と受信装置とがネットワークを介して接続され、上記送信装置および受信装置の間で、ディレクトリの同期をとるようにした送受信装置において、
上記送信装置は、
木構造のデータ構造でもって複数のエントリが階層配置されたディレクトリを記憶するディレクトリ記憶手段と、
上記ディレクトリ記憶手段に記憶されたディレクトリに対してエントリの追加または削除による更新を行うと共に、上記更新を行うたびに変化するバージョン番号を管理するディレクトリ操作手段と、
上記ディレクトリ操作手段によるディレクトリの更新内容を表す更新情報を生成する更新情報生成手段と、
上記ディレクトリ記憶手段に記憶されたディレクトリの内容全体を表す全体情報を生成する全体情報生成手段と、
上記全体情報および上記更新情報をネットワークにより送信する伝送手段とを備え、
上記全体情報生成手段は、全体情報の生成に際して、エントリ名と、更新操作と、そのエントリの直下に対して最後に更新が起きた時のバージョン番号とを含む全体情報を生成するように構成され、
上記受信装置は、
木構造のデータ構造でもって複数のエントリが階層配置されたディレクトリを記憶するディレクトリ記憶手段と、
上記ディレクトリ記憶手段に記憶されるディレクトリを検索、閲覧するためのディレクトリ操作手段と、
上記送信装置から上記更新情報および上記全体情報を上記ネットワークを介して受信する受信手段と、
上記更新情報および上記全体情報の内容に従ってディレクトリを更新する更新手段とを備え、
上記ディレクトリ記憶手段に記憶されたディレクトリの各エントリは、そのエントリの直下に対して更新が起きた時のバージョン番号を持ち、
上記更新手段は、受信した上記全体情報が持つバージョン番号と、上記ディレクトリ記憶手段に記憶されたディレクトリのバージョン番号とを比較することによって、必要な上記全体情報を判別し、必要な上記全体情報のみを上記ディレクトリ記憶手段に記憶されたディレクトリに反映するように構成されることを特徴とする送受信装置。 - 木構造のデータ構造でもって複数のエントリが階層配置されたディレクトリがディレクトリ記憶手段に記憶され、上記ディレクトリ記憶手段に記憶されたディレクトリに対してエントリの追加または削除による更新を行うと共に、上記更新を行うたびに変化するバージョン番号を管理するディレクトリ操作ステップと、
上記ディレクトリの更新内容を表す更新情報を生成する更新情報生成ステップと、
上記ディレクトリ記憶手段に記憶されたディレクトリの内容全体を表す全体情報を生成する全体情報生成ステップと、
上記全体情報および上記更新情報をネットワークにより送信する伝送ステップとを有し、
上記全体情報生成ステップは、上記全体情報の生成に際して、エントリ名と、更新操作と、そのエントリの直下に対して最後に更新が起きた時のバージョン番号とを含む全体情報を生成することを特徴とする送信方法。 - 木構造のデータ構造でもって複数のエントリが階層配置されたディレクトリがディレクトリ記憶手段に記憶され、上記ディレクトリ記憶手段に記憶されたディレクトリを更新するための更新情報およびディレクトリ全体の全体情報をネットワークを介して受信する受信ステップと、
上記更新情報および上記全体情報の内容に従ってディレクトリを更新する更新ステップとを有し、
上記全体情報は、エントリ名と、そのエントリの直下に対して最後に更新が起きた時のバージョン番号と、更新操作とを含み、
上記ディレクトリ記憶手段に記憶されたディレクトリの各エントリは、そのエントリの直下に対して更新が起きた時のバージョン番号を持ち、
上記更新ステップは、受信した上記全体情報が持つバージョン番号と、上記ディレクトリ記憶手段に記憶されたディレクトリのバージョン番号とを比較することによって、必要な上記全体情報を判別し、必要な上記全体情報のみを上記ディレクトリ記憶手段に記憶されたディレクトリに反映することを特徴とする受信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000024769A JP4398042B2 (ja) | 2000-01-28 | 2000-01-28 | 送信装置、受信装置、送受信装置、送信方法および受信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000024769A JP4398042B2 (ja) | 2000-01-28 | 2000-01-28 | 送信装置、受信装置、送受信装置、送信方法および受信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001209568A JP2001209568A (ja) | 2001-08-03 |
JP4398042B2 true JP4398042B2 (ja) | 2010-01-13 |
Family
ID=18550709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000024769A Expired - Lifetime JP4398042B2 (ja) | 2000-01-28 | 2000-01-28 | 送信装置、受信装置、送受信装置、送信方法および受信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4398042B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4050297B2 (ja) * | 2002-10-31 | 2008-02-20 | ノキア コーポレイション | 移動アドホック通信ネットワークのための装置検出及びサービス発見システム及び方法 |
JP4529067B2 (ja) * | 2003-12-17 | 2010-08-25 | ソニー株式会社 | 管理単位情報取得装置、管理単位情報取得方法、管理単位情報取得プログラム、コンテンツ管理システム |
DE102005054978A1 (de) * | 2005-11-16 | 2007-05-24 | Deutsche Thomson-Brandt Gmbh | Verfahren zum Aktualisieren eines Datensatzes sowie Vorrichtung zur Durchführung des Verfahrens |
CN102780724B (zh) * | 2011-05-12 | 2016-02-10 | 阿里巴巴集团控股有限公司 | 一种类目信息的发送方法、***及设备 |
JP6984496B2 (ja) * | 2018-03-09 | 2021-12-22 | 富士通株式会社 | ストレージ管理装置、ストレージシステム、及びストレージ管理プログラム |
-
2000
- 2000-01-28 JP JP2000024769A patent/JP4398042B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001209568A (ja) | 2001-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3968119B2 (ja) | キャッシュ間情報転送方法 | |
CN107861686B (zh) | 文件存储方法、服务端和计算机可读存储介质 | |
JP3396223B2 (ja) | ネットワーク・ディレクトリにおいてサブツリーを移動する方法ならびにその装置 | |
KR100295725B1 (ko) | 공유데이터파일의사본관리방법,데이터관리시스템및컴퓨터시스템 | |
US7343412B1 (en) | Method for maintaining and managing dynamic web pages stored in a system cache and referenced objects cached in other data stores | |
US8171171B2 (en) | Data synchronization method and system between devices | |
US7243136B2 (en) | Approach for managing and providing content to users | |
US8972348B2 (en) | Method and system for supporting off-line mode of operation and synchronization | |
JP3613550B2 (ja) | ウェブページ取得サービスシステム、サーバ、ウェブページ取得方法、記憶媒体及びプログラム伝送装置 | |
EP0974895A2 (en) | System for user control of version synchronization in mobile computing | |
Kappe | A scalable architecture for maintaining referential integrity in distributed information systems | |
US20100017443A1 (en) | Method, terminal, and system for soft-deleting, restoring, and synchronizing data | |
US20040199550A1 (en) | Information management technique | |
CN101005372A (zh) | 集群式缓存服务***及其实现方法 | |
JPH1021134A (ja) | ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム | |
JP3464172B2 (ja) | 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法 | |
JP4398042B2 (ja) | 送信装置、受信装置、送受信装置、送信方法および受信方法 | |
Makpangou et al. | Replicated directory service for weakly consistent distributed caches | |
JP2003141002A (ja) | Url長変換システム及びそのプログラム | |
WO2005038614A2 (en) | System and method for facilitating asynchronous disconnected operations for data access over a network | |
JP3490642B2 (ja) | 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法 | |
US7313598B1 (en) | Method and apparatus for partial replication of directory information in a distributed environment | |
JP3490641B2 (ja) | 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法 | |
JP4214212B2 (ja) | 送信装置および送信方法、受信装置および受信方法、並びに送受信装置および送受信方法 | |
JP3490646B2 (ja) | 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061101 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090721 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090911 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091013 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091022 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121030 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4398042 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131030 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |