JP2010262455A - Management apparatus, information generation program, and information generation method - Google Patents

Management apparatus, information generation program, and information generation method Download PDF

Info

Publication number
JP2010262455A
JP2010262455A JP2009112334A JP2009112334A JP2010262455A JP 2010262455 A JP2010262455 A JP 2010262455A JP 2009112334 A JP2009112334 A JP 2009112334A JP 2009112334 A JP2009112334 A JP 2009112334A JP 2010262455 A JP2010262455 A JP 2010262455A
Authority
JP
Japan
Prior art keywords
page information
information
root
page
node
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.)
Granted
Application number
JP2009112334A
Other languages
Japanese (ja)
Other versions
JP5338461B2 (en
Inventor
Kentaro Ushiyama
建太郎 牛山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009112334A priority Critical patent/JP5338461B2/en
Priority to US12/659,794 priority patent/US8311976B2/en
Publication of JP2010262455A publication Critical patent/JP2010262455A/en
Application granted granted Critical
Publication of JP5338461B2 publication Critical patent/JP5338461B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Abstract

<P>PROBLEM TO BE SOLVED: To generate management information by which falsification of a record such as attribute information of content data can be reliably prevented and efficiency of retrieving management information such as content catalog information can be increased. <P>SOLUTION: A management apparatus generates leaf page information including one or more records, generates root page information including falsification check information for checking falsification of child page information in the position of a child of root page information, or a record in the position of a child of the root page information, and a serial number of the child page information in the position of the child of the root page information, generates node page information including falsification check information for checking falsification of child page information in the position of a child of node page information, or a record in the position of a child of the node page information, positioned between the root page information and the leaf page information, and a serial number of the child page information in the position of the child of the node page information, and stores the root page information, the node page information and the leaf page information, in a tree structure. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、所望のコンテンツデータを検索する、または、管理するためのデータ構造に関する。具体的には、コンテンツデータの属性情報等のレコードの改竄を確実に防止することができるデータ構造及び検索技術に関する。   The present invention relates to a data structure for searching or managing desired content data. Specifically, the present invention relates to a data structure and a search technique that can reliably prevent alteration of records such as attribute information of content data.

この種のコンテンツ分散保存システムにおいて、各ノード装置は、コンテンツデータの属性情報が記述されたコンテンツカタログ情報を用いている。各ノード装置は、所望のコンテンツデータを検索し、他のノード装置又はコンテンツ管理サーバから取得可能になっている。この属性情報には、コンテンツ名、公開開始時期、公開終了時期、及びコンテンツデータの検索キーワード等の情報が含まれている。コンテンツカタログ情報は、コンテンツ管理サーバにより生成され、各ノード装置に配信される。また、コンテンツ分散保存システムにおいて、新たなコンテンツデータが追加された場合、又はコンテンツデータの利用が終了した場合には、コンテンツカタログ情報はコンテンツ管理サーバにより更新され、各ノード装置に配信される。   In this type of content distributed storage system, each node device uses content catalog information in which attribute information of content data is described. Each node device can retrieve desired content data and acquire it from other node devices or content management servers. This attribute information includes information such as a content name, a publication start time, a publication end time, and a search keyword for content data. The content catalog information is generated by the content management server and distributed to each node device. Also, in the content distributed storage system, when new content data is added, or when the use of content data ends, the content catalog information is updated by the content management server and distributed to each node device.

ところで、コンテンツ分散保存システムにおいて利用可能なコンテンツデータの数が増大すると、コンテンツカタログ情報のデータ量も増大する。このため、1台のノード装置にコンテンツカタログ情報を記憶しきれないという問題があった。この問題を解決するために、特許文献1には、複数に分割されたコンテンツカタログ情報を複数のノード装置が分散して記憶する構成が提案されている。   By the way, as the number of content data that can be used in the content distributed storage system increases, the data amount of content catalog information also increases. For this reason, there is a problem that the content catalog information cannot be stored in one node device. In order to solve this problem, Patent Document 1 proposes a configuration in which a plurality of node devices distribute and store a plurality of content catalog information.

特開2007−280303号公報JP 2007-280303 A

上述したように各ノード装置が分割されたコンテンツカタログ情報を記憶する場合、コンテンツカタログ情報の改竄を防止するため、各コンテンツデータの属性情報毎に電子署名を付与する必要がある。   As described above, when each node device stores divided content catalog information, it is necessary to give an electronic signature to each attribute information of each content data in order to prevent falsification of the content catalog information.

また、コンテンツカタログ情報に、コンテンツデータの属性情報を追加、更新または削除する場合、コンテンツカタログ情報を検索する必要がある。つまり、追加、更新または削除するコンテンツカタログ情報を挿入する位置、または削除する位置を探索する必要がある。従来では、電子署名が施されたコンテンツカタログ情報のリストの中から、所望のコンテンツデータをほぼ全探索するので効率が悪かった。   In addition, when adding, updating, or deleting attribute information of content data to the content catalog information, it is necessary to search the content catalog information. That is, it is necessary to search for a position where content catalog information to be added, updated or deleted is inserted or deleted. Conventionally, since almost all desired content data is searched from a list of content catalog information to which an electronic signature has been applied, efficiency has been low.

本発明は、以上の問題等に鑑みてなされたものである。コンテンツデータの属性情報等のレコードの改竄を確実に防止することができ、且つ、コンテンツカタログ情報等の管理情報の探索効率を上げることが可能な管理情報を生成する管理装置、情報生成プログラム、及び情報生成方法を提供することを課題とする。   The present invention has been made in view of the above problems and the like. A management device for generating management information that can reliably prevent falsification of records such as attribute information of content data and can improve the search efficiency of management information such as content catalog information, an information generation program, and It is an object to provide an information generation method.

上記課題を解決するために、請求項1に記載の発明は、複数のページ情報を木構造として、根に位置する根ページ情報から葉に位置する葉ページ情報にかけて関連付けて記憶するページ情報記憶手段と、一又は複数のレコードを含む前記葉ページ情報を生成する葉ページ情報生成手段と、前記根ページ情報の子の位置の子ページ情報または前記根ページ情報の子の位置の前記レコードの改竄をチェックするための改竄チェック情報と、前記根ページ情報の子の位置の子ページ情報のシリアル番号とを含む前記根ページ情報を生成する根ページ情報生成手段と、前記根ページ情報から前記葉ページ情報までの間に位置する節ページ情報の子の位置の子ページ情報または前記節ページ情報の子の位置の前記レコードの改竄をチェックするための改竄チェック情報と、前記節ページ情報の子の位置の子ページ情報のシリアル番号とを含む前記節ページ情報を生成する節ページ情報生成手段と、を備え、前記ページ情報記憶手段は、前記根ページ情報と、前記節ページ情報と、前記葉ページ情報とを前記木構造で記憶することを特徴とする。   In order to solve the above problem, the invention according to claim 1 is a page information storage means for storing a plurality of page information as a tree structure in association with the root page information located at the root to the leaf page information located at the leaf. And leaf page information generation means for generating the leaf page information including one or a plurality of records, and child page information at the child position of the root page information or falsification of the record at the child position of the root page information. Falsification check information for checking and root page information generating means for generating the root page information including a child page information serial number at a child position of the root page information; and the leaf page information from the root page information For checking whether the record at the child position of the section page information located between or the record at the child position of the section page information is falsified. Node page information generating means for generating the node page information including check information and a child page information serial number at a child position of the node page information, and the page information storage means includes the root page information. The node page information and the leaf page information are stored in the tree structure.

この発明によれば、一又は複数のレコードを含む葉ページ情報が生成される。また、根ページ情報の子ページ情報または根ページ情報の子の位置のレコードの改竄をチェックするための改竄チェック情報と、根ページ情報の子ページ情報のシリアル番号とを含む根ページ情報が生成される。また、節ページ情報の子の子ページ情報または節ページ情報の子の位置のレコードの改竄をチェックするための改竄チェック情報と、節ページ情報の子ページ情報のシリアル番号とを含む節ページ情報が生成される。これによりレコードの改ざんチェックを行うことができ、かつ古くなった正規のページ情報の不正な挿入・置換を防ぐことができる。また、生成された根ページ情報、節ページ情報及びページ情報からなる複数のページ情報が木構造で記憶される。   According to the present invention, leaf page information including one or a plurality of records is generated. Further, root page information including child page information of the root page information or tampering check information for checking the tampering of the record at the child position of the root page information and the serial number of the child page information of the root page information is generated. The Also, node page information including child page information of child of node page information or falsification check information for checking falsification of record at child position of node page information, and serial number of child page information of node page information. Generated. As a result, it is possible to check the falsification of the record and to prevent unauthorized insertion / replacement of outdated regular page information. A plurality of page information including the generated root page information, node page information, and page information is stored in a tree structure.

従って、木構造でレコードを管理することで、レコードの改竄チェックもでき、レコードの検索処理の時間が減る。   Therefore, by managing records in a tree structure, it is possible to check for falsification of records and to reduce the time for record search processing.

請求項2に記載の発明は、前記根ページ情報のシリアル番号と、前記根ページ情報の改竄をチェックするための改竄チェック情報とから構成されるルートリンク情報と、当該ルートリンク情報の改竄をチェックするための電子署名とを生成するルートリンク情報生成手段を備え、前記ページ情報記憶手段は、前記ルートリンク情報と、前記根ページ情報と、前記節ページ情報と、前記葉ページ情報とを前記木構造で記憶することを特徴とする。   According to a second aspect of the present invention, root link information including a serial number of the root page information and falsification check information for checking falsification of the root page information, and checking falsification of the root link information Root link information generating means for generating an electronic signature for performing, and the page information storage means includes the root link information, the root page information, the node page information, and the leaf page information as the tree. It is memorized in a structure.

この発明によれば、子のページ情報の改竄をチェックするチェック情報は、親のページ情報が保持している。根ページ情報の改竄チェック情報は、ルートリンク情報が保持している。ルートリンク情報には電子署名が施されており、改竄チェックを電子署名により厳密に行える。従来は全てのレコードに電子署名を施す必要があったのに対し、ルートリンク情報のみに電子署名を施すことで、子に位置するレコードの改竄を保障するために、根ページの電子署名を確かめることで、確認することができる。そのため、記憶手段に記憶される各根ページ情報および節ページ情報の改ざんチェック情報として、実施例に記載のようなメッセージダイジェストを用いることができ、各レコードのデータ量が小さくなる。また、各レコードに電子署名を施す処理が必要なくなるため、電子署名処理が不要となる。   According to the present invention, the check information for checking the falsification of the child page information is held by the parent page information. The root link information holds the root page information falsification check information. The root link information has an electronic signature, and tampering can be strictly checked by the electronic signature. Previously, it was necessary to apply digital signatures to all records, but by applying digital signatures only to root link information, the digital signature of the root page is verified in order to guarantee tampering of the records located in the child. This can be confirmed. Therefore, the message digest as described in the embodiment can be used as the falsification check information of each root page information and node page information stored in the storage means, and the data amount of each record is reduced. In addition, since a process for applying an electronic signature to each record is not necessary, an electronic signature process becomes unnecessary.

請求項3に記載の発明は、前記根ページ情報生成手段は、前記木構造において前記根ページ情報を親として、親と子の関係にある1または複数のページ情報に対応するインデックス情報の担当領域を示す担当領域情報を更に生成し、前記節ページ情報生成手段は、前記木構造において前記節ページ情報を親として、親と子の関係にある1または複数のページ情報のインデックス情報の担当領域を示す担当領域情報を更に生成し、追加対象の追加レコードと、当該レコードのインデックス情報とを入力する追加入力手段と、前記追加入力手段により入力されたインデックス情報と、前記根ページ情報または前記節ページ情報の前記担当領域情報とに基づいて、前記追加レコードを登録する前記葉ページ情報を決定する追加葉ページ決定手段と、前記追加葉ページ決定手段により決定された葉ページ情報に前記追加レコードを登録する登録手段と、前記追加葉ページ決定手段により決定された葉ページ情報に新たなシリアル番号を割り当てる割当手段と、前記追加レコードが登録された葉ページ情報から前記根ページ情報までの前記節ページ情報と前記根ページ情報との前記シリアル番号及び前記チェック情報を、前記追加レコードの登録に基づいて更新する追加更新手段と、を備えることを特徴とする。   According to a third aspect of the present invention, the root page information generating means is responsible for index information corresponding to one or a plurality of page information having a parent-child relationship with the root page information as a parent in the tree structure. And the node page information generation means determines the node information of the index information of one or more page information having a parent-child relationship with the node page information as a parent in the tree structure. The additional input means for further generating the assigned area information to be shown and inputting the additional record to be added and the index information of the record, the index information input by the additional input means, and the root page information or the node page An additional leaf page determining means for determining the leaf page information for registering the additional record based on the responsible area information of the information; Registration means for registering the additional record in the leaf page information determined by the additional leaf page determination means, assignment means for assigning a new serial number to the leaf page information determined by the additional leaf page determination means, and the addition An additional update means for updating the serial number and the check information of the node page information and the root page information from the leaf page information in which a record is registered to the root page information, based on the registration of the additional record; It is characterized by providing.

この発明によれば、入力されたインデックス情報と、根ページ情報または節ページ情報の担当領域情報とに基づいて、追加レコードを登録する葉ページ情報が決定される。決定された葉ページ情報に追加レコードが登録される。また、決定された葉ページ情報に新たなシリアル番号が割り当てられる。そして、追加レコードが登録された葉ページ情報から根ページ情報までの節ページ情報と根ページ情報とのシリアル番号及びチェック情報が、追加レコードの登録に基づいて更新される。   According to the present invention, leaf page information for registering an additional record is determined based on the input index information and the assigned region information of root page information or node page information. An additional record is registered in the determined leaf page information. Also, a new serial number is assigned to the determined leaf page information. Then, the serial number and check information of the node page information and the root page information from the leaf page information to which the additional record is registered and the root page information are updated based on the registration of the additional record.

従って、木構造における葉ページ情報にレコードを簡単に追加することができる。   Therefore, a record can be easily added to the leaf page information in the tree structure.

請求項4に記載の発明は、前記追加ページ決定手段は、前記決定された葉ページ情報に前記追加レコードが登録可能であるかを判定する判定手段を備え、前記判定手段により前記追加レコードが登録不可能であると判定された場合、前記葉ページ情報生成手段は、新たな葉ページ情報を生成し、前記登録手段は、前記新たに生成された葉ページ情報に前記追加レコードを登録し、前記割当手段は、前記新たに生成された葉ページ情報に新たなシリアル番号を割り当て、前記追加更新手段は、前記新たに生成された葉ページ情報から前記根ページ情報までの前記節ページ情報と前記根ページ情報との前記シリアル番号及び前記チェック情報を、前記追加レコードの登録に基づいて更新することを特徴とする。   According to a fourth aspect of the present invention, the additional page determining unit includes a determining unit that determines whether the additional record can be registered in the determined leaf page information, and the additional record is registered by the determining unit. When it is determined that it is impossible, the leaf page information generation unit generates new leaf page information, the registration unit registers the additional record in the newly generated leaf page information, and The assigning means assigns a new serial number to the newly generated leaf page information, and the additional update means assigns the node page information and the root page information from the newly generated leaf page information to the root page information. The serial number and the check information with page information are updated based on registration of the additional record.

この発明によれば、追加レコードを登録する葉ページ情報として決定された葉ページ情報に、追加レコードが登録不可能である場合には、新たな葉ページ情報が生成される。そして、新たな葉ページ情報に追加レコードが登録される。また、新たな葉ページ情報に新たなシリアル番号が割り当てられる。そして、追加レコードが登録された葉ページ情報から根ページ情報までの節ページ情報と根ページ情報とのシリアル番号及びチェック情報が、追加レコードの登録に基づいて更新される。   According to the present invention, when the additional record cannot be registered in the leaf page information determined as the leaf page information for registering the additional record, new leaf page information is generated. Then, an additional record is registered in the new leaf page information. Also, a new serial number is assigned to the new leaf page information. Then, the serial number and check information of the node page information and the root page information from the leaf page information to which the additional record is registered and the root page information are updated based on the registration of the additional record.

従って、葉ページ情報に追加レコードが登録不可能であっても、新たに生成された葉ページ情報に追加レコードを登録することができる。   Therefore, even if the additional record cannot be registered in the leaf page information, the additional record can be registered in the newly generated leaf page information.

請求項5に記載の発明は、前記根ページ情報生成手段は、前記木構造において前記根ページを親として、親と子の関係にあるページ情報のインデックス情報の担当領域を示す担当領域情報を更に生成し、前記節ページ情報生成手段は、前記木構造において前記節ページ情報を親として、親と子の関係にあるページ情報のインデックス情報の担当領域を示す担当領域情報を更に生成し、削除対象の削除レコードのインデックス情報を入力する削除入力手段と、前記削除入力手段により入力されたインデックス情報と、前記根ページ情報または前記節ページ情報の前記担当領域情報とに基づいて、前記削除レコードを登録する前記葉ページ情報を決定する削除葉ページ決定手段と、前記削除葉ページ決定手段により決定された葉ページ情報から前記根ページ情報までの前記節ページ情報と前記根ページ情報との前記シリアル番号及び前記チェック情報を、前記葉ページ情報の決定に基づいて更新する削除更新手段と、を備えることを特徴とする。   According to a fifth aspect of the present invention, the root page information generating means further includes responsible area information indicating a responsible area of index information of page information having a parent-child relationship with the root page as a parent in the tree structure. The node page information generation means further generates assigned region information indicating an assigned region of index information of page information in a parent-child relationship with the node page information as a parent in the tree structure, and is deleted The delete record is registered based on the delete input means for inputting the index information of the delete record, the index information input by the delete input means, and the assigned area information of the root page information or the node page information Deleted leaf page determining means for determining the leaf page information to be executed and the leaf page information determined by the deleted leaf page determining means before The serial number and the check information with the node page information to the root page information and the root page information, characterized in that it comprises a and a deletion updating means for updating, based on the determination of the leaf page information.

この発明によれば、入力されたインデックス情報と、根ページ情報または節ページ情報の担当領域情報とに基づいて、削除レコードを登録する葉ページ情報が決定される。そして、決定された葉ページ情報から根ページ情報までの節ページ情報と根ページ情報とのシリアル番号及びチェック情報が更新される。   According to the present invention, leaf page information for registering a deletion record is determined based on the input index information and the assigned area information of root page information or node page information. The serial number and check information of the node page information and the root page information from the determined leaf page information to the root page information are updated.

従って、例えば古くなり削除したいレコードを排除することができる。   Therefore, for example, it is possible to eliminate a record that becomes old and is to be deleted.

請求項6に記載の発明は、前記葉ページ情報には、当該葉ページ情報に含まれる前記レコードを検索するためのインデックス情報が含まれており、前記根ページ情報生成手段は、前記木構造において前記根ページを親として、親と子の関係にあるページ情報のインデックス情報の担当領域を示す担当領域情報を更に生成し、前記節ページ情報生成手段は、前記木構造において前記節ページ情報を親として、親と子の関係にあるページ情報のインデックス情報の担当領域を示す担当領域情報を更に生成し、検索対象の検索レコードのインデックス情報を入力する検索入力手段と、前記検索入力手段により入力されたインデックス情報と、前記根ページ情報または前記節ページ情報の前記担当領域情報に基づいて、前記検索レコードのインデックス情報を検索する検索手段と、を備えることを特徴とする。   According to a sixth aspect of the present invention, the leaf page information includes index information for searching for the record included in the leaf page information, and the root page information generation unit includes: The node page information generation means further generates the assigned region information indicating the assigned region of the index information of the page information having a parent-child relationship with the root page as a parent, and the node page information generation means sets the node page information as a parent in the tree structure. The search input means for generating the assigned area information indicating the assigned area of the index information of the page information in the relationship between the parent and the child and inputting the index information of the search record to be searched, and input by the search input means Index of the search record based on the index information and the area information of the root page information or the node page information. Characterized in that it comprises a retrieval means for retrieving information.

この発明によれば、入力されたインデックス情報と、根ページ情報または節ページ情報の担当領域情報に基づいて、検索レコードのインデックス情報が検索される。   According to the present invention, the index information of the search record is searched based on the input index information and the assigned area information of the root page information or the node page information.

従って、検索対象のレコードを迅速に検索することができる。   Therefore, a search target record can be quickly searched.

請求項7に記載の発明は、複数のページ情報を木構造として管理するため、木構造における根に位置する根ページ情報の子の位置の子ページ情報または前記根ページ情報の子の位置の前記レコードの改竄をチェックするための改竄チェック情報と、前記根ページ情報の子の位置の子ページ情報のシリアル番号とを含む前記根ページ情報を生成する根ページ情報生成ステップと、一又は複数のレコードを含む葉ページ情報を生成する葉ページ情報生成ステップと、前記木構造における前記根ページ情報から前記葉ページ情報までの間に位置する節ページ情報の子の位置の子ページ情報または前記節ページ情報の子の位置の前記レコードの改竄をチェックするための改竄チェック情報と、前記節ページ情報の子の位置の子ページ情報のシリアル番号とを含む前記節ページ情報を生成する節ページ情報生成ステップと、前記根ページ情報と、前記節ページ情報と、前記葉ページ情報とを、前記複数のページ情報として前記木構造で記憶するページ情報記憶ステップと、をコンピュータに実現させることを特徴とする。   In the invention according to claim 7, in order to manage a plurality of page information as a tree structure, the child page information of the child position of the root page information located at the root in the tree structure or the child position of the root page information A root page information generation step for generating the root page information including falsification check information for checking falsification of the record and a serial number of the child page information at the child position of the root page information; and one or a plurality of records Leaf page information generation step for generating leaf page information including the child page information at the child position of the node page information located between the root page information and the leaf page information in the tree structure or the node page information Serial number of the falsification check information for checking the falsification of the record at the child position of the child page information and the child page information of the child position of the section page information Page information that stores the node page information including the node page information generation step, the root page information, the node page information, and the leaf page information as the plurality of page information in the tree structure. The storage step is realized by a computer.

請求項8に記載の発明は、複数のページ情報を木構造として管理するため、木構造における根に位置する根ページ情報の子の位置の子ページ情報または前記根ページ情報の子の位置の前記レコードの改竄をチェックするための改竄チェック情報と、前記根ページ情報の子の位置の子ページ情報のシリアル番号とを含む前記根ページ情報を生成する根ページ情報生成ステップと、一又は複数のレコードを含む葉ページ情報を生成する葉ページ情報生成ステップと、前記木構造における前記根ページ情報から前記葉ページ情報までの間に位置する節ページ情報の子の位置の子ページ情報または前記節ページ情報の子の位置の前記レコードの改竄をチェックするための改竄チェック情報と、前記節ページ情報の子の位置の子ページ情報のシリアル番号とを含む前記節ページ情報を生成する節ページ情報生成ステップと、前記根ページ情報と、前記節ページ情報と、前記葉ページ情報とを、前記複数のページ情報として前記木構造で記憶するページ情報記憶ステップと、を含むことを特徴とする。   In the invention according to claim 8, in order to manage a plurality of page information as a tree structure, the child page information of the child position of the root page information located at the root in the tree structure or the child position of the root page information A root page information generation step for generating the root page information including falsification check information for checking falsification of the record and a serial number of the child page information at the child position of the root page information; and one or a plurality of records Leaf page information generation step for generating leaf page information including the child page information at the child position of the node page information located between the root page information and the leaf page information in the tree structure or the node page information Serial number of the falsification check information for checking the falsification of the record at the child position of the child page information and the child page information of the child position of the section page information Page information that stores the node page information including the node page information generation step, the root page information, the node page information, and the leaf page information as the plurality of page information in the tree structure. And a storing step.

本発明によれば、木構造でレコードを管理することで、レコードの改竄チェックもでき、レコードの検索処理の時間が減る。   According to the present invention, by managing records with a tree structure, it is possible to check for falsification of records and to reduce the time for record search processing.

一実施形態に係るコンテンツ分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。It is a figure which shows an example of the connection aspect of each node apparatus in the content distribution storage system S which concerns on one Embodiment. 一実施形態に係るコンテンツカタログ情報の構造の一例を示す図である。It is a figure which shows an example of the structure of the content catalog information which concerns on one Embodiment. 初期状態におけるカタログの情報の状態、及び、レコードが追加される場合にカタログ情報が更新される様子の一例を示す図である。It is a figure which shows an example of a catalog information state in an initial state, and a mode that catalog information is updated when a record is added. レコードが追加される場合にカタログ情報が更新される様子の一例を示す図である。It is a figure which shows an example of a mode that catalog information is updated when a record is added. レコードが追加される場合にカタログ情報が更新される様子の一例を示す図である。It is a figure which shows an example of a mode that catalog information is updated when a record is added. レコードが削除される場合にカタログ情報が更新される様子の一例を示す図である。It is a figure which shows an example of a mode that catalog information is updated when a record is deleted. 一実施形態に係るセンターサーバSAの概要構成例を示す図である。It is a figure showing an example of outline composition of center server SA concerning one embodiment. 一実施形態に係るノードNnの概要構成例を示す図である。It is a figure showing an example of outline composition of node Nn concerning one embodiment. 一実施形態に係るセンターサーバSAにおける制御部11の処理例を示すフローチャートである。It is a flowchart which shows the process example of the control part 11 in center server SA which concerns on one Embodiment. 一実施形態に係るセンターサーバSAにおける制御部11のルートリンク情報登録処理における処理例を示すフローチャートである。It is a flowchart which shows the process example in the root link information registration process of the control part 11 in center server SA which concerns on one Embodiment. 一実施形態に係るセンターサーバSAにおける制御部11のページ情報登録処理における処理例を示すフローチャートである。It is a flowchart which shows the process example in the page information registration process of the control part 11 in center server SA which concerns on one Embodiment. 一実施形態に係るセンターサーバSAにおける制御部11のレコード追加処理における処理例を示すフローチャートである。It is a flowchart which shows the process example in the record addition process of the control part 11 in center server SA which concerns on one Embodiment. 一実施形態に係るセンターサーバSAにおける制御部11のレコード削除処理における処理例を示すフローチャートである。It is a flowchart which shows the process example in the record deletion process of the control part 11 in center server SA which concerns on one Embodiment. 一実施形態に係るセンターサーバSAにおける制御部11のページ情報取得処理における処理例を示すフローチャートである。It is a flowchart which shows the process example in the page information acquisition process of the control part 11 in center server SA which concerns on one Embodiment. 一実施形態に係るセンターサーバSAにおける制御部11のレコード検索処理における処理例を示すフローチャートである。It is a flowchart which shows the process example in the record search process of the control part 11 in center server SA which concerns on one Embodiment. 一実施形態に係るノードNnにおける制御部21の処理例を示すフローチャートである。It is a flowchart which shows the process example of the control part 21 in the node Nn which concerns on one Embodiment.

以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The embodiment described below is an embodiment when the present invention is applied to a content distributed storage system.

[1.コンテンツ分散保存システムの構成及び動作概要]
始めに、図1等を参照して、本実施形態に係るコンテンツ分散保存システムの構成及び動作概要について説明する。
[1. Outline and configuration of distributed content storage system]
First, with reference to FIG. 1 etc., the structure and operation | movement outline | summary of the content distribution preservation | save system which concern on this embodiment are demonstrated.

図1は、本実施形態に係るコンテンツ分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。   FIG. 1 is a diagram showing an example of a connection mode of each node device in the content distributed storage system S according to the present embodiment.

図1の下部枠101内に示すように、分散保存システムSは、複数のノード装置Nnがインターネットを介して接続されることで構成される。また、図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者の装置5a,5b、FTTH(Fiber To The Home)回線事業者の装置6、及び通信回線7等によって、インターネット等のネットワーク8が構築されている。ネットワーク8は、現実世界の通信ネットワークである。なお、図1の例におけるネットワーク8には、データパケットを転送するためのルータが適宜挿入されているが、図1では図示を省略している。なお、通信回線7としては、例えば、電話回線や光ケーブル等が用いられる。   As shown in the lower frame 101 of FIG. 1, the distributed storage system S is configured by connecting a plurality of node devices Nn via the Internet. Further, as shown in a lower frame 101 of FIG. 1, IX (Internet eXchange) 3, ISP (Internet Service Provider) 4a, 4b, DSL (Digital Subscriber Line) line provider devices 5a, 5b, FTTH (Fiber To A network 8 such as the Internet is constructed by the device 6 of the line provider, the communication line 7 and the like. The network 8 is a real-world communication network. Note that a router for transferring data packets is appropriately inserted in the network 8 in the example of FIG. 1, but is not shown in FIG. 1. For example, a telephone line or an optical cable is used as the communication line 7.

このようなネットワーク8には、複数のノード装置Nn(n=1,2,3・・・の何れか)が接続されている。以下、ノード装置は、「ノード」という。また、各ノードNnには、固有の製造番号及びIP(Internet Protocol)アドレスが割り当てられている。そして、本実施形態に係るコンテンツ分散保存システムSは、これらのノードNnのうち、図1の上部枠100内に示すように、何れか複数のノードNnの接続により形成されるピアツーピア方式のネットワークシステムとなっている。   A plurality of node devices Nn (n = 1, 2, 3,...) Are connected to such a network 8. Hereinafter, the node device is referred to as a “node”. Each node Nn is assigned a unique manufacturing number and an IP (Internet Protocol) address. Then, the content distributed storage system S according to the present embodiment is a peer-to-peer network system formed by connecting any of a plurality of nodes Nn, as shown in the upper frame 100 of FIG. It has become.

なお、図1の上部枠100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9である。論理的なネットワークであるオーバーレイネットワーク9は、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムSに接続されている各ノードNnには、所定桁数からなる固有の識別情報であるノードIDが割り当てられている。   The network 9 shown in the upper frame 100 of FIG. 1 is an overlay network 9 that configures a virtual link formed using the existing network 8. The overlay network 9 which is a logical network is realized by a specific algorithm, for example, an algorithm using DHT. Each node Nn connected to the content distributed storage system S is assigned a node ID, which is unique identification information having a predetermined number of digits.

また、ノードIDは、例えば、各ノードNnに個別に割り当てられたIPアドレス或いは製造番号を共通のハッシュ関数によりハッシュ化した値である。ノードIDは、ID空間に偏りなく分散して配置されることになる。ハッシュ関数としては、例えば、SHA−1等が用いられる。また、ハッシュ化した値は、例えば、bit長が160bitとなる。そして、このノードIDは、ID空間に偏りなく分散して配置されることになる。   The node ID is, for example, a value obtained by hashing an IP address or manufacturing number individually assigned to each node Nn using a common hash function. The node IDs are arranged in a distributed manner in the ID space. For example, SHA-1 or the like is used as the hash function. The hashed value has a bit length of 160 bits, for example. The node IDs are distributed in the ID space without being distributed.

なお、コンテンツ分散保存システムSへの接続は、接続していないノードNn、例えば、ノードN8が、接続している任意のノードNnに対してコンテンツ分散保存システムへの参加要求を示す参加メッセージを送信することによって行われる。コンテンツ分散保存システムSへの参加とは、ノード装置Nnが分散保存システムSに接続され、分散保存システムSからコンテンツデータを取得可能になることである。任意のノードNnは、例えば、システムSに常時接続しているコンタクトノードである。   In connection with the content distributed storage system S, a node Nn that is not connected, for example, the node N8 transmits a participation message indicating a request to participate in the content distributed storage system to any connected node Nn. Is done by doing. The participation in the content distributed storage system S means that the node device Nn is connected to the distributed storage system S and content data can be acquired from the distributed storage system S. The arbitrary node Nn is, for example, a contact node that is always connected to the system S.

また、各ノードNnは、夫々、DHTを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムS上における各種メッセージの転送先を規定している。具体的に、このルーティングテーブルには、ID空間内で適度に離れたノードNnのノードID、IPアドレス及びポート番号を含むノード情報が複数登録されている。   Each node Nn holds a routing table using DHT. This routing table defines the transfer destinations of various messages on the content distributed storage system S. Specifically, a plurality of pieces of node information including node IDs, IP addresses, and port numbers of nodes Nn that are moderately separated in the ID space are registered in this routing table.

コンテンツ分散保存システムSに接続している1台のノードは、必要最低限のノードNnのノード情報をルーティングテーブルとして記憶している。各ノードNn間で互いに各種メッセージが転送されることで、ノード情報を記憶していないノードNnについてのノード情報が取得される。   One node connected to the content distributed storage system S stores the minimum necessary node information of the node Nn as a routing table. By transferring various messages between the nodes Nn, node information about the node Nn that does not store node information is acquired.

このようなDHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。   Such a routing table using DHT is well known in Japanese Patent Application Laid-Open No. 2006-197400 and the like, and will not be described in detail.

コンテンツ分散保存システムSは、内容の異なる様々なコンテンツデータのレプリカを所定のファイル形式で複数のノードNnに分散して保存する。以下、コンテンツデータは、「コンテンツ」という。そして、各ノードNn間でレプリカが利用可能になっている。各コンテンツのオリジナルはセンターサーバSAに保存されている。例えば、ノードN5には、タイトルがXXXの映画のコンテンツのレプリカが保存されている。一方、ノードN3には、タイトルがYYYの映画のコンテンツのレプリカが保存される。このように、複数のノードNnに分散されて保存されている。以下、コンテンツのレプリカが保存されるノードNは、「コンテンツ保持ノード」という。   The content distributed storage system S stores various content data replicas having different contents in a predetermined file format in a distributed manner in a plurality of nodes Nn. Hereinafter, the content data is referred to as “content”. A replica can be used between the nodes Nn. The original of each content is stored in the center server SA. For example, a replica of the content of a movie with the title XXX is stored in the node N5. On the other hand, a replica of the movie content whose title is YYY is stored in the node N3. In this way, it is distributed and stored in a plurality of nodes Nn. Hereinafter, the node N in which the content replica is stored is referred to as a “content holding node”.

上述のコンテンツのレプリカには、夫々、コンテンツ名及びコンテンツ毎に固有の識別情報であるコンテンツID等の情報が付加されている。このコンテンツIDは、例えば、コンテンツ名+任意の数値が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される。或いは、システム管理者が、コンテンツ毎に一意のID値を付与しても良い。   Information such as a content name and content ID, which is unique identification information for each content, is added to each content replica described above. This content ID is generated, for example, by hashing the content name + an arbitrary numerical value with a hash function common to the case of obtaining the node ID. Alternatively, the system administrator may give a unique ID value for each content.

分散保存されているコンテンツのレプリカの所在は、インデックス情報として、コンテンツのレプリカの所在を管理(記憶)しているノードNn等により記憶される。以下、レプリカの所在を管理(記憶)しているノードNnは、「ルートノード」という。インデックス情報は、レプリカを保存したノードNnのノード情報と、コンテンツのコンテンツIDと等の組を含む。このようなルートノードは、例えば、コンテンツIDと最も近いノードIDを有するノードNnであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、IDの上位桁が最も多く一致するノードIDである。   The location of the content replicas that are distributed and stored is stored as index information by the node Nn or the like that manages (stores) the location of the content replicas. Hereinafter, the node Nn that manages (stores) the location of the replica is referred to as a “root node”. The index information includes a set of node information of the node Nn that stores the replica, a content ID of the content, and the like. Such a root node is determined to be a node Nn having a node ID closest to the content ID, for example. The node ID closest to the content ID is, for example, the node ID with the highest number of upper digits that match.

例えば、タイトルがXXXの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツのルートノードであるノードN4により管理される。また、例えば、タイトルがYYYの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツのルートノードであるノードN7により管理される。また、このようなルートノードは、例えば、コンテンツIDと最も近いノードIDを有するノードNnであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、コンテンツIDと上位桁がより多く一致するノードIDである。   For example, index information about a replica of a movie content whose title is XXX is managed by the node N4 which is the root node of the content. Further, for example, index information about a content replica of a movie whose title is YYY is managed by the node N7 which is the root node of the content. Further, such a root node is determined to be a node Nn having a node ID closest to the content ID, for example. The node ID closest to the content ID is, for example, a node ID that matches the content ID more frequently with the upper digits.

そして、あるノードNnのユーザが、所望するコンテンツのレプリカを取得したい場合、このレプリカの取得を望むノードNnは、メッセージを生成する。以下、ユーザによりレプリカの取得を望むノードNnは、「ユーザノード」という。このメッセージは、取得を望むコンテンツのコンテンツID及びユーザノードのIPアドレス等を含むコンテンツ所在問合せメッセージである。コンテンツ所在問合せメッセージは、コンテンツ保持ノードを検索するためのメッセージでもある。上述のコンテンツ所在問合せメッセージが、ユーザノードが取得するDHTのルーティングテーブルに従って、他のノードNnに対して送出される。つまり、ユーザノードは、コンテンツ所在問合せメッセージを、ルートノードに向けて送出する。これにより、コンテンツ所在問合せメッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。   When a user of a certain node Nn wants to obtain a replica of the desired content, the node Nn that desires to obtain this replica generates a message. Hereinafter, the node Nn that the user desires to acquire a replica is referred to as a “user node”. This message is a content location inquiry message including the content ID of the content desired to be acquired and the IP address of the user node. The content location inquiry message is also a message for searching for a content holding node. The above-described content location inquiry message is sent to another node Nn according to the DHT routing table acquired by the user node. That is, the user node sends a content location inquiry message toward the root node. As a result, the content location inquiry message finally arrives at the root node by DHT routing using the content ID as a key.

各ノードNnにおいて、コンテンツのコンテンツ名及びコンテンツID等の属性情報は、コンテンツカタログ情報に記述されている。コンテンツカタログ情報は、センターサーバSAにより作成されて、後述するページ情報単位で全てのノードNnに配信される。このコンテンツカタログ情報の構造、内容及び作成方法等についての詳細は後述する。   In each node Nn, attribute information such as content name and content ID of the content is described in the content catalog information. The content catalog information is created by the center server SA and distributed to all nodes Nn in page information units described later. Details of the structure, content, and creation method of the content catalog information will be described later.

また、上記コンテンツ所在問合せメッセージに含まれるコンテンツIDは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。なお、DHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。   The content ID included in the content location inquiry message may be generated by the user node by hashing the content name with the common hash function. The DHT routing is known in Japanese Patent Application Laid-Open No. 2006-197400 and the like, and thus detailed description thereof is omitted.

上記コンテンツ所在問合せメッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックス情報キャッシュから取得する。取得されたインデックス情報は、コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてコンテンツのレプリカをダウンロード(取得)することができる。インデックス情報に含まれるコンテンツ保持ノードのIPアドレス等に基づいて、ユーザノードはコンテンツ保持ノードにアクセスする。アクセスしたコンテンツ保持ノードから、コンテンツのレプリカをダウンロードすることが可能になる。この場合、ユーザノードは、この複数のコンテンツ保持ノードのうち一つのコンテンツ保持ノードを選択する。そして、ユーザノードは、選択したコンテンツ保持ノードに接続してコンテンツのレプリカをダウンロードすることができる。   The root node that has received the content location inquiry message obtains index information corresponding to the content ID included therein from the index information cache. The acquired index information is returned to the user node that is the transmission source of the content location inquiry message. The user node that has acquired the index information in this way can download (acquire) a replica of the content based on the index information. The user node accesses the content holding node based on the IP address of the content holding node included in the index information. A content replica can be downloaded from the accessed content holding node. In this case, the user node selects one content holding node from among the plurality of content holding nodes. The user node can then connect to the selected content holding node and download a replica of the content.

なお、ルートノードは、このインデックス情報に含まれるIPアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信し、これにより、ユーザノードは、上記コンテンツ保持ノードからそのレプリカをダウンロードすることもできる。また、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、このルートノードと同じインデックス情報をキャッシュしているキャッシュノードからこのインデックス情報を取得することもできる。   The root node transmits a content transmission request message to the content holding node indicated by the IP address or the like included in the index information, whereby the user node downloads the replica from the content holding node. You can also. In addition, the user node can obtain the index information from a cache node that caches the same index information as the root node until the content location inquiry message reaches the root node.

また、ユーザノードは、コンテンツ保持ノードからコンテンツのレプリカを取得して保存したとき、保存したユーザノードは、パブリッシュメッセージを生成する。パブリッシュメッセージは、レプリカを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、レプリカのコンテンツID及びレプリカを保存したノード装置のノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、コンテンツ所在問合せメッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、ルートノードは、パブリッシュメッセージを受信する。ルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報をインデックス情報キャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツのレプリカを保持するコンテンツ保持ノードとなる。   Further, when the user node acquires and stores a replica of the content from the content holding node, the stored user node generates a publish message. The publish message is a message for informing the root node that the replica has been saved. The publish message includes the content ID of the replica and the node information of the node device that stores the replica. The publish message is sent toward the root node. As a result, the publish message arrives at the root node by DHT routing using the content ID as a key, like the content location inquiry message. Then, the root node receives the publish message. The root node stores index information including a set of node information and content ID included in the publish message in the index information cache area. In this way, the user node becomes a new content holding node that holds a replica of the content.

[2.コンテンツカタログ情報の構造及び内容等]
次に、コンテンツカタログ情報の構造及び内容等について、図2を用いて説明する。
[2. Content catalog information structure and contents]
Next, the structure and contents of the content catalog information will be described with reference to FIG.

図2は、本実施形態に係るコンテンツカタログ情報の構造の一例を示す図である。なお、コンテンツカタログ情報のことを、今後単にカタログ情報という。   FIG. 2 is a diagram showing an example of the structure of content catalog information according to the present embodiment. The content catalog information is simply referred to as catalog information in the future.

カタログ情報は、コンテンツの属性情報を一覧として管理するための情報である。この属性情報の内容はレコードに格納される。また、カタログ情報は、検索キーから一意にコンテンツを特定することができる情報である。コンテンツを特定することができるとは、コンテンツのレコードを探し出すことができることを意味する。検索キーとしては、例えば、対応するレコードやコンテンツ名を共通のハッシュ関数によりハッシュ化した値が用いられる。或いは、検索キーは、コンテンツIDやコンテンツ名等であっても良い。この検索キーはインデックス情報の一例である。   The catalog information is information for managing content attribute information as a list. The content of this attribute information is stored in the record. The catalog information is information that can uniquely identify the content from the search key. To be able to specify content means to be able to find a record of the content. As the search key, for example, a value obtained by hashing corresponding records and content names with a common hash function is used. Alternatively, the search key may be a content ID, a content name, or the like. This search key is an example of index information.

本実施形態において用いられるカタログ情報は、コンテンツの属性情報の改竄を防止するため、及び、コンテンツの検索を効率的に行うため、図2に示す探索木の構造を有している。   The catalog information used in the present embodiment has a search tree structure shown in FIG. 2 in order to prevent falsification of content attribute information and to efficiently search for content.

図2に示すように、カタログ情報は、木構造における根に位置するルートページ情報から葉に位置する葉ページ情報にかけて、各ページ情報が関連付けられて構成されている。ルートページ情報は、根ページ情報の一例である。直接関連付けられているページ情報同士は、親子関係を形成している。或るページ情報Xに対してページ情報Yが関連付けられているとする。つまり、ページ情報Xとページ情報Yとで親子関係を形成している。ページ情報Xとページ情報Yとのうち、ページ情報Xの方がルートページ情報からの距離が短い場合、ページ情報Xは、ページ情報Yから見て親に位置する親のページ情報となる。そして、ページ情報Yは、ページ情報Xから見て子に位置する子のページ情報となる。ここで、ルートページ情報からの距離とは、木構造において、根の位置から注目する節点に辿るまでのリンク数に相当する長さである。換言すると、ルートページ情報からの距離とは、ルートページ情報から関連付けを辿って注目するページ情報に至るまでに、注目するページ情報を含めて通過するページ情報の数に相当する。なお、以降の説明においては、親のページ情報を親ページ情報といい、子のページ情報を子ページ情報という。   As shown in FIG. 2, the catalog information is configured by associating each page information from root page information located at the root in the tree structure to leaf page information located at the leaf. The root page information is an example of root page information. The directly associated page information forms a parent-child relationship. It is assumed that page information Y is associated with certain page information X. That is, the page information X and the page information Y form a parent-child relationship. Of the page information X and page information Y, when the page information X is shorter in distance from the root page information, the page information X is the page information of the parent located at the parent when viewed from the page information Y. Then, the page information Y becomes page information of a child positioned as a child as viewed from the page information X. Here, the distance from the root page information is a length corresponding to the number of links from the root position to the node of interest in the tree structure. In other words, the distance from the root page information corresponds to the number of page information that passes through the page information to be noticed by tracing the association from the root page information to the noticed page information. In the following description, parent page information is referred to as parent page information, and child page information is referred to as child page information.

親ページ情報と子ページ情報との関連付けは、リンク情報に示される。リンク情報は、親ページ情報に格納される情報であり、子ページ情報を指す情報である。このリンク情報は、子ページ情報のページ番号と、子ページ情報の改竄をチェックするためのメッセージダイジェストとを含む。   The association between the parent page information and the child page information is indicated in the link information. The link information is information stored in the parent page information and is information indicating child page information. This link information includes the page number of the child page information and a message digest for checking the alteration of the child page information.

ページ番号は、ページ情報に固有に割り当てられたシリアル番号である。リンク情報が指すページ情報というときは、リンク情報に含まれるページ番号が割り当てられているページ情報を意味する。また、詳細は後述するが、或るページ情報が更新される場合にはこのページ情報に対して新たなページ番号が割り当てられる。ここで、本実施形態におけるページ情報の更新とは、元のページ情報の内容が更新されたページ情報を、元のページ情報とは別個のページ情報として新たに作成することを意味する。実際、ページ番号は、例えば、ページ情報がRAMに格納される際の格納アドレスに対応したり、ページ情報の格納位置を示すポインタの格納アドレスであったりする。また、ページ情報がファイルとして保存される際には、ページ番号はファイル名に対応したりする。   The page number is a serial number uniquely assigned to page information. The page information indicated by the link information means page information to which a page number included in the link information is assigned. Although details will be described later, when certain page information is updated, a new page number is assigned to the page information. Here, the update of the page information in the present embodiment means that the page information in which the content of the original page information is updated is newly created as page information different from the original page information. Actually, the page number corresponds to, for example, a storage address when the page information is stored in the RAM, or a storage address of a pointer indicating a storage position of the page information. When page information is saved as a file, the page number corresponds to the file name.

メッセージダイジェストは、リンク情報が指す子ページ情報又はリンク情報が指す子ページ情報に格納されているレコードの改竄をチェックするための情報である。また、メッセージダイジェストは、改竄をチェックする対象を共通のハッシュ関数によりハッシュ化した値である。このメッセージダイジェストは改竄チェック情報の一例である。   The message digest is information for checking falsification of a record stored in the child page information indicated by the link information or the child page information indicated by the link information. The message digest is a value obtained by hashing a target to be checked for tampering with a common hash function. This message digest is an example of falsification check information.

カタログ情報は、更にルートリンク情報を有する(符号100)。ルートリンク情報には、ルートページ情報へのリンク情報が格納される(符号1001)。そして、このリンク情報は、ルートページ情報のページ番号(符号1002)及びメッセージダイジェスト(符号1003)を含む。また、ルートリンク情報には、電子署名が格納される(符号1004)。電子署名は、ルートリンク情報の改竄をチェックするための情報である。電子署名には、例えば、署名値、証明書情報等の情報が含まれている。   The catalog information further includes root link information (reference numeral 100). In the root link information, link information to the root page information is stored (reference numeral 1001). The link information includes the page number (reference numeral 1002) of the root page information and the message digest (reference numeral 1003). The root link information stores an electronic signature (reference numeral 1004). The electronic signature is information for checking whether the root link information is falsified. The electronic signature includes information such as a signature value and certificate information, for example.

ページ情報は、大別して節ページ情報(符号200)と葉ページ情報(符号300)とがある。   The page information is roughly classified into node page information (reference numeral 200) and leaf page information (reference numeral 300).

節ページ情報は、一つ以上の子ページ情報を持つ。節ページ情報には、セルフリンク情報(符号2001)、子ページ情報へのリンク情報(符号2004)及びインデックス(符号2007)が格納される。セルフリンク情報は、このセルフリンク情報が格納されている節ページ情報自身へのリンク情報である。つまり、セルフリンク情報は、節ページ情報のページ番号(符号2002)及びメッセージダイジェスト(符号2003)を含む。よって、セルフリンク情報は、節ページ情報の親ページ情報に格納されているこの節ページ情報へのリンク情報と同一内容となる。   The node page information has one or more child page information. The node page information stores self-link information (reference numeral 2001), link information to the child page information (reference numeral 2004), and an index (reference numeral 2007). The self link information is link information to the node page information itself in which the self link information is stored. That is, the self-link information includes the page number (reference numeral 2002) of the node page information and the message digest (reference numeral 2003). Therefore, the self-link information has the same content as the link information to the node page information stored in the parent page information of the node page information.

子ページ情報へのリンク情報は、子ページ情報のページ番号(符号2006)及びメッセージダイジェスト(符号2005)を含む。なお、節ページ情報において、単にリンク情報というときは、セルフリンク情報ではなく、子ページ情報へのリンク情報を意味するものとする。節ページ情報には、リンク情報を複数格納することができる。一つあたりの節ページ情報に格納可能なリンク情報の最大数は、カタログ情報の木構造としての次数に一致する。この次数は、一つの親が持ちうる子の最大数を意味する。つまり、次数は、n分探索木のnの値に該当する。   The link information to the child page information includes the page number (symbol 2006) and the message digest (symbol 2005) of the child page information. In the node page information, the simple link information means link information to child page information, not self-link information. A plurality of link information can be stored in the node page information. The maximum number of link information that can be stored in one section page information matches the degree of the tree structure of the catalog information. This order means the maximum number of children that a parent can have. That is, the order corresponds to the value n of the n-ary search tree.

インデックスは、探索木の節点が持つ値、キー等と呼ばれている情報と同じ役割を持つ。このインデックスは、コンテンツのレコードが格納されているページ情報を、検索キーを用いて探索するための情報である。なお、図2に示すインデックスは、便宜上十進数で示されている。このインデックスは、インデックス情報及び担当領域情報の一例である。   An index has the same role as information called a value, key, etc., held by nodes of a search tree. This index is information for searching for page information in which content records are stored using a search key. The index shown in FIG. 2 is shown in decimal numbers for convenience. This index is an example of index information and assigned area information.

カタログ情報の木構造は、順序性を有している。従って、節ページ情報に格納されているインデックスは、例えばその値の小さい順に配列されている。そして、リンク情報は、インデックスに対応した順序で配列されている。例えば、1番目のリンク情報は、1番目のインデックスの値以下の範囲インデックスが格納される子ページ情報への関連付けを示す。また例えば、2番目のリンク情報は、1番目のインデックスの値より大きく且つ2番目のインデックスの値以下の範囲のインデックスが格納される子ページ情報への関連付けを示す。或る節ページ情報に現在k個のリンク情報が格納されている場合、この節ページ情報にはk−1個のインデックスが格納されている。   The tree structure of catalog information has order. Therefore, the indexes stored in the node page information are arranged in ascending order of the values, for example. The link information is arranged in the order corresponding to the index. For example, the first link information indicates an association with child page information in which a range index equal to or less than the value of the first index is stored. For example, the second link information indicates association with child page information in which an index in a range larger than the value of the first index and less than or equal to the value of the second index is stored. When k pieces of link information are currently stored in certain node page information, k-1 indexes are stored in the node page information.

葉ページ情報は、上述したように、探索木における葉に位置するページ情報である。つまり、葉ページ情報は、子ページ情報を持たない。葉ページ情報には、セルフリンク情報(符号3001)、レコード(符号3004)及びインデックス(符号3005)が格納される。セルフリンク情報は、このセルフリンク情報が格納されている葉ページ情報自身へのリンク情報である。つまり、セルフリンク情報は、葉ページ情報のページ番号(符号3002)及びメッセージダイジェスト(符号3003)を含む。よって、セルフリンク情報は、葉ページ情報の親ページ情報に格納されているこの葉ページ情報へのリンク情報と同一内容となる。   As described above, the leaf page information is page information located on a leaf in the search tree. That is, the leaf page information has no child page information. In the leaf page information, self-link information (reference numeral 3001), a record (reference numeral 3004), and an index (reference numeral 3005) are stored. The self link information is link information to the leaf page information itself in which the self link information is stored. That is, the self-link information includes the page number (reference numeral 3002) of the leaf page information and the message digest (reference numeral 3003). Therefore, the self-link information has the same content as the link information to the leaf page information stored in the parent page information of the leaf page information.

レコードとインデックスとは、一対一に対応付けられている。対応付けられているレコードとインデックスとの組は、葉ページ情報に1組又は複数組格納される。一つのレコードには、一つまたは複数のコンテンツの属性情報が設定される。例えば、レコードには、コンテンツID、コンテンツの公開開始日時、公開終了日時、コンテンツ名、キーワード等が設定される。インデックスは、対応するレコードを一意に特定するための情報である。葉ページ情報のインデックスとして用いられる情報の種類は、節ページ情報のインデックスとして用いられる情報の種類と同じである。このインデックスとして、コンテンツIDやコンテンツ名等が用いられる場合、この情報は、レコードの設定内容に含める必要はない。このインデックスは、インデックス情報の一例である。   Records and indexes are associated one-on-one. One or more pairs of records and indexes associated with each other are stored in the leaf page information. One record is set with attribute information of one or a plurality of contents. For example, a content ID, a content start date / time, a content end date / time, a content name, a keyword, and the like are set in the record. The index is information for uniquely identifying the corresponding record. The type of information used as an index of leaf page information is the same as the type of information used as an index of node page information. When a content ID, content name, or the like is used as this index, this information need not be included in the setting contents of the record. This index is an example of index information.

以上説明した構成のカタログ情報を用いた場合に、コンテンツの検索を効率的に行える理由を説明する。登録されているコンテンツの個数がnである場合、逐次探索における探索の計算量は、最悪O(n)となる。一方、本実施形態に係るカタログ情報は、探索木の構造を有しているので、木が平衡した状態での探索の計算量は、周知のようにO(log n)となる。よってコンテンツの検索を効率的に行うことができる。   The reason why the content search can be efficiently performed when the catalog information having the configuration described above is used will be described. When the number of registered contents is n, the search calculation amount in the sequential search is the worst O (n). On the other hand, since the catalog information according to the present embodiment has a search tree structure, the calculation amount of the search in a state where the tree is balanced is O (log n) as is well known. Therefore, content can be searched efficiently.

次に、コンテンツの属性情報の改竄を防止することができる理由を説明する。子ページ情報が改竄されているか否かはその親ページ情報に格納されているこの子ページ情報へのリンク情報により行われる。つまり、このリンク情報には、子ページ情報のメッセージダイジェストが含まれているので、このメッセージダイジェストで改竄チェックが行われる。このようにして、葉ページ情報からルートページ情報まで、子ページ情報の改竄有無は、その親ページ情報に格納されているリンク情報によってチェックされる。ルートページ情報の改竄有無は、ルートリンク情報によってチェックされる。   Next, the reason why falsification of content attribute information can be prevented will be described. Whether or not the child page information is falsified is determined by link information to the child page information stored in the parent page information. That is, since the link information includes the message digest of the child page information, the tampering check is performed using this message digest. In this way, whether or not the child page information is falsified from the leaf page information to the root page information is checked by the link information stored in the parent page information. Whether the root page information is falsified is checked by the root link information.

一般的に、メッセージダイジェストだけでは、改竄を確実に防止することはできないとされている。つまり、必要なハッシュ関数を入手することができれば、メッセージダイジェストを計算することができる。このハッシュ関数は、例えばノードNn側での改竄チェックのために公開される。悪意を持った者は、ページ情報の内容を改竄し、その改竄された内容でメッセージダイジェストを計算することができる。そして、このメッセージダイジェストを親ページのリンク情報に設定してしまえば、改竄されているか否かは分からない。   Generally, it is said that tampering cannot be reliably prevented only by a message digest. That is, if a necessary hash function can be obtained, a message digest can be calculated. This hash function is disclosed for tampering check on the node Nn side, for example. A malicious person can tamper with the contents of the page information and calculate a message digest with the tampered contents. If this message digest is set in the link information of the parent page, it is not known whether or not it has been tampered with.

これに対し、本実施形態に係るカタログ情報は、ルートリンク情報に、その真正性を保証するための電子署名が付与されている。例えば電子署名に公開鍵方式を用いた場合には、電子署名に必要な秘密鍵を第三者に入手されなければ、ルートリンク情報の改竄をチェックすることができる。電子署名を用いた改竄チェックによりルートリンク情報が真正なものと判断されれば、ルートリンク情報に含まれるルートページ情報のメッセージダイジェストも真正なものと判断することができる。次に、この真正なメッセージダイジェストを用いた改竄チェックによりルートページ情報が真正なものと判断されれば、ルートページ情報に格納されているリンク情報に含まれる子ページ情報のメッセージダイジェストも真正なものと判断することができる。このようにして、ルートページ情報から葉ページ情報まで、親ページ情報に格納されているリンク情報のメッセージダイジェストにより子ページ情報の真正性が保証される。結果として、カタログ情報全体の改竄防止が可能となる。   On the other hand, in the catalog information according to the present embodiment, an electronic signature for guaranteeing the authenticity is given to the root link information. For example, when a public key method is used for an electronic signature, falsification of root link information can be checked if a secret key required for the electronic signature is not obtained by a third party. If the root link information is determined to be authentic by falsification check using an electronic signature, the message digest of the root page information included in the root link information can also be determined to be authentic. Next, if the root page information is determined to be authentic by the falsification check using this authentic message digest, the message digest of the child page information included in the link information stored in the root page information is also authentic. It can be judged. In this way, the authenticity of the child page information is guaranteed by the message digest of the link information stored in the parent page information from the root page information to the leaf page information. As a result, falsification of the entire catalog information can be prevented.

本実施形態においては、上述したようにルートリンク情報に対してのみ電子署名を作成しているが、全てのページ情報に対して電子署名を作成することを排除するものではない。ただし、電子署名は、証明書情報等の情報を設定する等して作成されることで、一般的に電子署名の方がメッセージダイジェストよりもセキュリティが高められている。このセキュリティを高めるための暗号化や改竄チェック時の復号化等の処理による計算量が大きく、また、電子証明書情報等の電子署名に必要なデータ量も大きくなる。そのため、電子署名よりもメッセージダイジェストの方が、計算量及びページ情報のデータ量ともに節約することができる。一方、全てのページ情報に対して電子署名を作成する場合、ルートリンク情報は必須ではない。この場合、ルートページ情報に対する電子署名を保存しておけば良い。   In the present embodiment, as described above, an electronic signature is created only for the root link information, but creating an electronic signature for all the page information is not excluded. However, electronic signatures are generally created by setting information such as certificate information, so that the security of electronic signatures is generally higher than that of message digests. The amount of calculation required for processing such as encryption for improving security and decryption at the time of tampering check is large, and the amount of data necessary for electronic signature such as electronic certificate information is also large. Therefore, the message digest can save both the calculation amount and the data amount of the page information than the electronic signature. On the other hand, when creating an electronic signature for all page information, root link information is not essential. In this case, an electronic signature for the root page information may be stored.

カタログ情報の改竄としては、上述したページ情報の内容自体の改竄の他に、ページ情報を古いページ情報で置き換える改竄も存在する。つまり、コンテンツの追加や削除によって、ページ情報の内容が更新されるが、これを更新される前のページ情報で置き換えるのである。古いページ情報自体も真正なものである。従って、どのページ情報が最新のものであるかを区別することができるようになっている必要がある。   As the alteration of the catalog information, in addition to the above-described alteration of the content of the page information itself, there is an alteration in which the page information is replaced with old page information. In other words, the content of the page information is updated by adding or deleting content, but this is replaced with the page information before being updated. The old page information itself is also authentic. Therefore, it is necessary to be able to distinguish which page information is the latest.

本実施形態に係るカタログ情報は、各ページ情報に対してページ番号が割り当てられている。このページ番号は、ページ情報間で同一のものが割り当てられることはない。更に、本実施形態においては、ページ情報を更新する際、ページ情報の内容を書き換えるのではない。本実施形態においては、元のページ情報とは別個に新たなページ情報を作成し、この新たなページ情報に対して、更新した内容を設定する。このとき、新しいページ情報には、元のページ情報のページ番号とは異なるページ番号が割り当てられる。具体的には、新しいページ情報が作成される都度、過去に作成された如何なるページ情報にも割り当てられていない最新のページ番号が割り当てられる。例えば、最後に割り当てられたページ番号が100である場合、次に新たに作成されるページ情報に割り当てられるページ番号は101となる。このページ番号は、親ページ情報に格納されるリンク情報内に設定される。従って、節ページ情報に格納されているリンク情報は、必ず最新の子ページ情報を指している。仮に、リンク情報のページ番号が古いページ番号に改竄された場合、それは、ページ情報の内容の改竄である。従って、前記の方法により改竄を発見することができる。   In the catalog information according to the present embodiment, a page number is assigned to each page information. The same page number is not assigned between page information. Further, in the present embodiment, when the page information is updated, the contents of the page information are not rewritten. In the present embodiment, new page information is created separately from the original page information, and updated content is set for the new page information. At this time, a new page information is assigned a page number different from the page number of the original page information. Specifically, each time new page information is created, the latest page number that is not assigned to any page information created in the past is assigned. For example, if the page number assigned last is 100, the page number assigned to the newly created page information is 101. This page number is set in the link information stored in the parent page information. Therefore, the link information stored in the node page information always indicates the latest child page information. If the page number of the link information is tampered with an old page number, it is a tampering of the contents of the page information. Therefore, falsification can be found by the above method.

なお、本実施形態においては、ページ情報を更新する場合、上述したように新しいページ情報を作成しているが、ページ情報自体の内容を書き換えてもかまわない。   In this embodiment, when updating page information, new page information is created as described above, but the contents of the page information itself may be rewritten.

以上、図2を用いて説明したカタログ情報の構造は、あくまでも一例である。カタログ情報の構造としては、コンテンツのレコードを探索可能な木構造を有していれば、どのような構造であってもかまわない。   The structure of the catalog information described with reference to FIG. 2 is merely an example. As the structure of the catalog information, any structure may be used as long as it has a tree structure capable of searching for content records.

例えば、葉ページ情報だけでなく、節ページ情報中にレコードが格納されても良い。また、木構造の次数、つまり、一つの節ページ情報に格納可能なリンク情報の最大数は任意である。また、一つのページ情報に格納可能なレコードの最大数は1個でも複数個でも良い。更に、セルフリンク情報は、必須ではない。   For example, a record may be stored not only in leaf page information but also in node page information. The order of the tree structure, that is, the maximum number of link information that can be stored in one node page information is arbitrary. The maximum number of records that can be stored in one page information may be one or more. Furthermore, self-link information is not essential.

また更に、節ページ情報のインデックスは必須ではない。例えば、トライ(trie)木の場合、節ページ情報のインデックスは不要である。つまり、トライ木では、木構造上におけるページ情報の位置がインデックスに対応し、検索キーのビットや文字等の値に従ってルートページ情報から葉ページ情報まで木が辿られる。例えば、ルートページ情報から葉ページ情報に向かって各節ページ情報に検索キーの最上位4ビットから4ビットずつを割り当てたとする。この場合、一つの節ページ情報に、16個のリンク情報を要素として格納する配列がある。そして例えば、検索キーが16進でF3405B9Cである場合、ルートページ情報に関しては、上位一桁目のFが、配列のインデックスとなる。つまり、ルートページ情報における配列の16番目に格納されているリンク情報が、次に参照すべき子ページ情報へのリンク情報となる。次に、ルートページ情報の子ページ情報に関しては、上位から2桁目の3が、配列のインデックスとなる。つまり、この子ページ情報における配列の4番目に格納されているリンク情報が、次に辿るべき子ページ情報へのリンク情報となる。こうして葉ページ情報に辿り着いたところで、検索キー全体とレコードのインデックスとが比較される。このようにして探索が行われる。   Furthermore, the index of node page information is not essential. For example, in the case of a trie tree, an index of node page information is not necessary. That is, in the trie tree, the position of the page information on the tree structure corresponds to the index, and the tree is traced from the root page information to the leaf page information according to the values of the search key bits and characters. For example, assume that 4 bits from the most significant 4 bits of the search key are assigned to each node page information from the root page information to the leaf page information. In this case, there is an array that stores 16 pieces of link information as elements in one node page information. For example, when the search key is F3405B9C in hexadecimal, with respect to the root page information, F in the upper first digit is an array index. That is, the 16th link information stored in the array in the root page information becomes the link information to the child page information to be referred to next. Next, regarding the child page information of the root page information, 3 in the second digit from the top is an array index. That is, the fourth link information stored in the array in the child page information is the link information to the child page information to be traced next. When the leaf page information is reached in this way, the entire search key is compared with the record index. In this way, the search is performed.

更にまた、葉ページ情報のインデックスも必須ではない。例えば、トライ木においては、インデックスの値が比較的離れているレコードをまとめることができる。例えば、インデックスが16進でF3405B9CのレコードとF34013A2のレコードがあるとする。この2つのインデックスの上位3桁の値は同じである。この場合、上位3桁の値がF34であるレコードが他に存在せず、且つ、一つの葉ページ情報がレコードを2つ以上格納可能であれば、この2つのレコードを同じ葉ページ情報に格納することができる。つまり、ルートページ情報から、F、3、4と辿って至る葉ページ情報に2つのレコードが格納される。この場合、葉ページ情報に、レコードのインデックスが必要である。一方、例えば、検索キーの上位7桁までは、必ず節ページ情報を作成するようにし、且つ、検索キーの最下位4桁目の値を葉ページ情報に割り当てるとする。この場合、葉ページ情報には、16個のレコードを要素として格納する配列がある。このとき、インデックスがF3405B9Cのレコードは、ルートページ情報から、F、3、4、0、5、B、9と辿って至る葉ページ情報における配列の10番目にレコードが格納される。この場合、葉ページ情報には、レコードのインデックスは不要である。   Furthermore, an index of leaf page information is not essential. For example, in a trie tree, it is possible to collect records that have relatively different index values. For example, it is assumed that there is a record of F3405B9C and a record of F34013A2 with an index of hexadecimal. The upper three digits of the two indexes are the same. In this case, if there is no other record whose upper three digits are F34, and one leaf page information can store two or more records, the two records are stored in the same leaf page information. can do. That is, two records are stored in the leaf page information that follows F, 3, 4 from the root page information. In this case, a record index is required for leaf page information. On the other hand, for example, it is assumed that the node page information is always created for the upper 7 digits of the search key, and the lowest 4th digit value of the search key is assigned to the leaf page information. In this case, the leaf page information includes an array that stores 16 records as elements. At this time, the record whose index is F3405B9C is stored in the 10th position of the array in the leaf page information that traces F, 3, 4, 0, 5, B, 9 from the root page information. In this case, the leaf page information does not require a record index.

更に、具体例を示して説明する。ここでは、コンテンツのインデックスとして4進数4桁が用いられるものとする。この場合、各節ページには、4つのリンク情報を格納することができる。例えば、ルートページ情報は、インデックスの上位一桁の値が0、1、2及び3に対応するページ情報を夫々指すリンク情報を格納する配列がある。この場合、最上位の桁の値が0に対応する位置に、インデックスの上位一桁の値が0に対応するページ情報へのリンク情報が格納される。また、最上位の桁の値が1に対応する位置に、インデックスの上位一桁の値が1に対応するページ情報へのリンク情報が格納される。また、最上位の桁の値が2に対応する位置に、インデックスの上位一桁の値が2に対応するページ情報へのリンク情報が格納される。また、最上位の桁の値が3に対応する位置に、インデックスの上位一桁の値が3に対応するページ情報へのリンク情報が格納される。   Furthermore, a specific example is shown and demonstrated. Here, it is assumed that 4-digit quaternary numbers are used as the content index. In this case, each link page can store four pieces of link information. For example, the root page information includes an array that stores link information that points to page information corresponding to the values of the upper one digit of the index corresponding to 0, 1, 2, and 3, respectively. In this case, the link information to the page information corresponding to the value of the highest one digit of the index corresponding to 0 is stored at the position corresponding to the value of the most significant digit. In addition, the link information to the page information corresponding to the value of the highest one digit of the index corresponding to 1 is stored at the position corresponding to the value of the most significant digit. In addition, the link information to the page information in which the value of the highest one digit of the index corresponds to 2 is stored at the position corresponding to the value of the most significant digit of 2. In addition, the link information to the page information corresponding to the value of the highest one digit of the index corresponding to 3 is stored at the position corresponding to the value of the most significant digit of 3.

次に、例えば、インデックスの上位一桁の値が1に対応するページ情報には、インデックスの上位二桁の値が10、11、12及び13に対応するページ情報を夫々指すリンク情報を格納する配列がある。この場合、最上位から2番目の桁の値が0に対応する位置に、インデックスの上位二桁の値が10に対応するページ情報へのリンク情報が格納される。また、最上位から2番目の桁の値が1に対応する位置に、インデックスの上位二桁の値が11に対応するページ情報へのリンク情報が格納される。また、最上位から2番目の桁の値が2に対応する位置に、インデックスの上位二桁の値が12に対応するページ情報へのリンク情報が格納される。また、最上位から2番目の桁の値が3に対応する位置に、インデックスの上位二桁の値が13に対応するページ情報へのリンク情報が格納される。   Next, for example, in the page information in which the upper one digit value of the index corresponds to 1, link information indicating the page information corresponding to the upper two digit values of the index corresponding to 10, 11, 12, and 13 is stored. There is an array. In this case, the link information to the page information corresponding to the value of the upper two digits of the index corresponding to 10 is stored at the position corresponding to the value of the second most significant digit. Also, the link information to the page information corresponding to the value of the upper two digits of the index corresponding to 11 is stored at the position corresponding to the value of the second most significant digit. Further, the link information to the page information corresponding to the value of the upper two digits of the index corresponding to 12 is stored at the position where the value of the second most significant digit corresponds to 2. Also, the link information to the page information corresponding to the value of the upper two digits of the index corresponding to 13 is stored at the position corresponding to the value of the second most significant digit.

次に、例えば、インデックスの上位二桁の値が10に対応するページ情報には、インデックスの上位三桁の値が100、101、102及び103に対応するページ情報を夫々指すリンク情報を格納する配列がある。この場合、最上位から3番目の桁の値が0に対応する位置に、インデックスの上位三桁の値が100に対応するページ情報へのリンク情報が格納される。   Next, for example, the page information corresponding to the upper two digits of the index corresponding to 10 stores link information indicating the page information corresponding to the upper three digits of the index corresponding to 100, 101, 102, and 103, respectively. There is an array. In this case, the link information to the page information corresponding to the value of the upper three digits of the index corresponding to 100 is stored at the position corresponding to the value of the third digit from the highest.

次に、例えば、インデックスの上位三桁の値が102に対応するページ情報は、葉ページ情報となる。インデックスの上位三桁の値が102に対応するページ情報には、インデックスの値が1020、1021、1022及び1023である4つのレコードを格納する配列がある。この場合、最下位の桁の値が0に対応する位置に、インデックスが1020のレコードが格納される。   Next, for example, page information in which the upper three digits of the index correspond to 102 is leaf page information. The page information in which the upper three digits of the index correspond to 102 includes an array that stores four records whose index values are 1020, 1021, 1022, and 1023. In this case, a record with an index of 1020 is stored at a position where the value of the least significant digit corresponds to 0.

また、木の種類としては、例えばB木、B+木、赤黒木等の平衡木であっても良いし、平衡性のない単純なn分探索木であっても良い。   The tree type may be a balanced tree such as a B-tree, a B + tree, or a red-black tree, or may be a simple n-ary search tree having no balance.

[3.コンテンツカタログ情報に対するレコードの追加、削除及び検索]
次に、カタログ情報へのレコードの追加、カタログ情報からのレコードの削除、及び、レコードの検索方法について、図3乃至図6を用いて説明する。
[3. Add, delete, and search records for content catalog information]
Next, a method for adding a record to catalog information, deleting a record from catalog information, and a method for searching for a record will be described with reference to FIGS.

レコードの追加又は削除を行う場合には、カタログ情報の更新、つまり、ページ情報の更新が必要となる。このとき、本実施形態におけるページ情報の更新の原則は以下の通りである。   When adding or deleting records, it is necessary to update catalog information, that is, page information. At this time, the principle of updating the page information in this embodiment is as follows.

(1)ページ情報を追加するときは勿論のこと、ページ情報を更新するときも、元のページ情報の内容を更新したページ情報を新たに作成する。例えば、ページ情報をRAM上に作成する場合には、元のページ情報が格納されるアドレスとは異なるアドレスに新しいページ情報を作成する。また、ルートリンク情報を更新するときも、内容を更新したルートリンク情報を新たに作成する。   (1) When adding page information, as well as when updating page information, page information in which the content of the original page information is updated is newly created. For example, when creating page information on the RAM, new page information is created at an address different from the address where the original page information is stored. Also, when updating the root link information, new root link information with updated contents is created.

(2)ページ情報を新しく作成するときは、作成順にページ番号を割り当てる。   (2) When newly creating page information, page numbers are assigned in the order of creation.

(3)ページ情報を新しく作成するときは、新しいページ情報のメッセージダイジェストを計算する。   (3) When newly creating page information, a message digest of the new page information is calculated.

(4)ルートリンク情報を新しく作成するときは、新しいルートリンク情報に対する電子署名を作成する。   (4) When newly creating root link information, an electronic signature for the new root link information is created.

(5)新しく作成されたページ情報のページ番号及びメッセージダイジェストを、このページ情報への新たなリンク情報として、親ページ情報に設定する。つまり、親ページ情報も更新する必要がある。また、ルートページ情報を新しく作成した場合は、このルートページ情報のページ番号及びメッセージダイジェストを、このページ情報への新たなリンク情報として、ルートリンク情報に設定する。つまり、ルートリンク情報も更新する必要がある。   (5) The page number and message digest of the newly created page information are set in the parent page information as new link information to the page information. That is, it is necessary to update the parent page information. When the root page information is newly created, the page number and message digest of the root page information are set in the root link information as new link information to the page information. That is, it is necessary to update the root link information.

(6)ページ情報の更新は、レコードが追加又は削除されるページ情報から開始し、このページ情報からルートページ情報までのパス(経路)上にあるページ情報を、ルートページ情報からの距離が長いページ情報から順に更新する。つまり、ルートページ情報が上方に、葉ページ情報が下方に位置すると仮定すると、下から順にページ情報を更新する。   (6) The update of page information starts from page information on which a record is added or deleted, and the page information on the path from the page information to the root page information has a long distance from the root page information. Update sequentially from page information. That is, assuming that the root page information is located on the upper side and the leaf page information is located on the lower side, the page information is updated in order from the bottom.

(1)及び(2)の原則は、古いページ情報がカタログ情報に挿入されないためのものである。また、(3)乃至(5)の原則は、カタログ情報の内容の改竄を防止するためのものである。また、(6)の原則は、カタログ情報の改竄を防止するため、(5)の原則からに導き出されるものである。なお、これらの原則は、あくまでも本実施形態における原則である。例えば、前述したように、(1)の原則は本発明において必須ではない。   The principles (1) and (2) are for preventing old page information from being inserted into the catalog information. The principles (3) to (5) are for preventing alteration of the contents of the catalog information. The principle (6) is derived from the principle (5) in order to prevent falsification of catalog information. These principles are only the principles in the present embodiment. For example, as described above, the principle of (1) is not essential in the present invention.

新しいページ情報が作成されることにより、古くなったページ情報、つまり、参照されなくなったページ情報は、参照されなくなった時点で削除しても良いし、削除しなくても良い。また、古くなったページ情報を定期的に削除するようにしても良い。   By creating new page information, old page information, that is, page information that is no longer referenced, may or may not be deleted when it is no longer referenced. Moreover, you may make it delete the page information which became old regularly.

以上の原則を踏まえて、以下レコードの追加、削除及び検索の方法について説明する。   Based on the above principles, the following explains how to add, delete, and search records.

[3.1 初期状態]
カタログ情報における初期状態とは、レコードが一切登録されていない状態であり、且つ、レコードを登録する準備ができている状態である。この初期状態のカタログ情報は、センターサーバSAの後述する初期化処理から実行されるルートリンク情報登録処理において作成される。
[3.1 Initial state]
The initial state in the catalog information is a state in which no record is registered, and a state in which the record is ready to be registered. The catalog information in the initial state is created in the root link information registration process executed from the initialization process described later of the center server SA.

図3は、初期状態におけるカタログの情報の状態、及び、レコードが追加される場合にカタログ情報が更新される様子の一例を示す図である。   FIG. 3 is a diagram illustrating an example of a catalog information state in an initial state and a state in which catalog information is updated when a record is added.

図3(1)に示すように、先ず、空のルートページ情報301が作成される。空のページ情報とは、リンク情報及びレコードが全く格納されていないページ情報を意味する。このルートページ情報301に対してページ番号が割り当てられる。最初のページ情報の作成であるので、ページ番号として1が割り当てられる。また、ページ番号が割り当てられたルートページ情報301のメッセージダイジェストH1が計算される。ページ情報にセルフリンク情報を含ませる場合には、セルフリンク情報のメッセージダイジェストが設定される部分を除いたページ情報全体に対してメッセージダイジェストが計算される。   As shown in FIG. 3A, first, empty route page information 301 is created. Empty page information means page information in which link information and records are not stored at all. A page number is assigned to the root page information 301. Since the first page information is created, 1 is assigned as the page number. Also, the message digest H1 of the root page information 301 to which the page number is assigned is calculated. When self-link information is included in the page information, the message digest is calculated for the entire page information excluding the part where the message digest of the self-link information is set.

次に、ルートリンク情報101が作成される。ルートリンク情報には、ルートページ情報のページ番号1と、メッセージダイジェストH1が設定される。また、ルートリンク情報101の電子署名1が作成される。電子署名は、電子署名自身が設定される部分を除いたルートリンク情報全体に対して作成される。そして、電子署名1は、ルートリンク情報に設定される。このルートリンク情報101とルートページ情報301とでカタログ情報の初期状態を構成する。   Next, root link information 101 is created. In the root link information, the page number 1 of the root page information and the message digest H1 are set. Also, the electronic signature 1 of the root link information 101 is created. The electronic signature is created for the entire root link information excluding the part where the electronic signature itself is set. The electronic signature 1 is set in the root link information. The root link information 101 and the root page information 301 constitute an initial state of catalog information.

[3.2 レコードの追加]
カタログ情報へのレコードの追加は、センターサーバSAの後述するレコード追加処理において行われる。新規レコードを追加する場合、新規レコードとこの新規レコードの検索キーとが必要となる。なお、検索キーは、新規レコードとは別に指定されても良いし、新規レコードに設定されているコンテンツIDやコンテンツ名等が用いられても良い。また、レコードの内容をハッシュ化したものを検索キーとしても良い。
[3.2 Adding records]
The addition of the record to the catalog information is performed in the record addition process described later of the center server SA. When adding a new record, a new record and a search key for the new record are required. The search key may be specified separately from the new record, or the content ID, content name, etc. set in the new record may be used. Further, a hashed content of the record may be used as a search key.

カタログ情報の初期状態において、新規レコードR1が追加されるとする。ルートリンク情報101に設定されているリンク情報の内容から、ページ番号1のルートページ情報301が参照される。ルートページ情報301は空であるので、レコードを追加することができる。従って、図3(2)に示すように、新規レコードR1が追加されたルートページ情報302が新たに作成される。このとき、必要であれば、新規レコードの検索キーがこの新規レコードのインデックスとしてルートページ情報302に追加される。そして、このルートページ情報302に対し、最新のページ番号2が割り当てられ、メッセージダイジェストH2が計算される。   Assume that a new record R1 is added in the initial state of catalog information. From the contents of the link information set in the root link information 101, the root page information 301 of page number 1 is referred to. Since the root page information 301 is empty, a record can be added. Therefore, as shown in FIG. 3B, route page information 302 to which the new record R1 is added is newly created. At this time, if necessary, the search key of the new record is added to the root page information 302 as an index of the new record. Then, the latest page number 2 is assigned to the root page information 302, and a message digest H2 is calculated.

次いで、図3(3)に示すように、ページ番号2及びメッセージダイジェストH2が設定されたルートリンク情報102が新たに作成される。そして、ルートリンク情報102の電子署名2が作成される。   Next, as shown in FIG. 3C, the root link information 102 in which the page number 2 and the message digest H2 are set is newly created. Then, the electronic signature 2 of the root link information 102 is created.

次に、新規レコードR2が追加されるとする。ルートページ情報302に格納されているレコードの数は1である。葉ページ情報に格納可能なレコードの数が、例えば3であるとすると、ルートページ情報302に対してレコードを追加することができる。従って、図3(4)に示すように、レコードR1に加えて、新規レコードR2が追加されたルートページ情報303が新たに作成される。そして、このルートページ情報303に対し、最新のページ番号3が割り当てられ、メッセージダイジェストH3が計算される。   Next, it is assumed that a new record R2 is added. The number of records stored in the root page information 302 is one. If the number of records that can be stored in the leaf page information is 3, for example, a record can be added to the root page information 302. Therefore, as shown in FIG. 3 (4), route page information 303 is newly created in which a new record R2 is added in addition to the record R1. Then, the latest page number 3 is assigned to the root page information 303, and a message digest H3 is calculated.

次いで、図3(5)に示すように、ページ番号3及びメッセージダイジェストH3が設定されたルートリンク情報103が新たに作成される。そして、ルートリンク情報103の電子署名3が作成される。   Next, as shown in FIG. 3 (5), the root link information 103 in which the page number 3 and the message digest H3 are set is newly created. Then, the electronic signature 3 of the root link information 103 is created.

図4は、レコードが追加される場合にカタログ情報が更新される様子の一例を示す図である。   FIG. 4 is a diagram illustrating an example of how catalog information is updated when a record is added.

上記と同様にして新規レコードR3がルートページ情報に追加される。その結果、3個のレコードを格納するルートページ情報304とルートリンク情報104とが作成される。   A new record R3 is added to the root page information in the same manner as described above. As a result, route page information 304 and route link information 104 storing three records are created.

次に、新規レコードR4が追加されるとする。すると、図4(1)に示すように、ルートページ情報304には、もはやレコードを追加する余裕がない。そこで、ページ情報の分割が行われる。この分割方法は任意であり、木の種類やアルゴリズム等によって様々である。従って、ここでは一例のみを説明する。   Next, it is assumed that a new record R4 is added. Then, as shown in FIG. 4A, the route page information 304 can no longer afford to add a record. Therefore, page information is divided. This division method is arbitrary and varies depending on the type of tree, algorithm, and the like. Therefore, only an example will be described here.

例えば、ルートページ情報304の内容が3分割される。図4(2)に示すように、レコードR1を格納する葉ページ情報305と、レコードR3及び新規レコードR4を格納する葉ページ情報306と、レコードR2を格納する葉ページ情報307とが新たに作成される。新たに作成された葉ページ情報のうちどの葉ページ情報に新規レコードが追加されるかは、新規レコードの検索キーにより決定される。新たに作成された各葉ページ情報に対し、ページ番号が割り当てられ、メッセージダイジェストが計算される。   For example, the content of the root page information 304 is divided into three. As shown in FIG. 4B, leaf page information 305 for storing record R1, leaf page information 306 for storing record R3 and new record R4, and leaf page information 307 for storing record R2 are newly created. Is done. Which leaf page information is newly added to the newly created leaf page information is determined by the search key of the new record. A page number is assigned to each newly created leaf page information, and a message digest is calculated.

分割前のページ情報に親ページ情報が存在するのであれば、ページ情報の分割はここで終わっても良い。しかし、分割前のページ情報がルートページ情報である場合には、親ページ情報が存在しない。分割された各ページ情報へのリンク情報を格納する親ページ情報が必要である。従って、図4(3)に示すように、ルートページ情報201が新たに作成される。ルートページ情報201には、葉ページ情報305、306及び307への各リンク情報が設定される。また、インデックスが必要な場合には、適切な内容のインデックスがルートページ情報201に設定される。そして、このルートページ情報201に対し、最新のページ番号8が割り当てられ、メッセージダイジェストH8が計算される。   If the parent page information exists in the page information before the division, the division of the page information may end here. However, when the page information before division is root page information, there is no parent page information. Parent page information for storing link information to each divided page information is required. Accordingly, as shown in FIG. 4C, route page information 201 is newly created. In the root page information 201, link information to the leaf page information 305, 306, and 307 is set. When an index is necessary, an index with appropriate contents is set in the root page information 201. Then, the latest page number 8 is assigned to the root page information 201, and a message digest H8 is calculated.

次いで、図4(4)に示すように、ページ番号8及びメッセージダイジェストH8が設定されたルートリンク情報104が新たに作成される。そして、ルートリンク情報104の電子署名5が作成される。   Next, as shown in FIG. 4 (4), the root link information 104 in which the page number 8 and the message digest H8 are set is newly created. Then, the electronic signature 5 of the root link information 104 is created.

図5は、レコードが追加される場合にカタログ情報が更新される様子の一例を示す図である。   FIG. 5 is a diagram illustrating an example of how catalog information is updated when a record is added.

図5に示すように、カタログ情報には、ルートリンク情報105、ルートページ情報203、ルートページ情報203の子である節ページ情報202、及び、節ページ情報202の子である葉ページ情報308があるとする。ここで、新規レコードR16が追加されるとする。レコード16の検索キーと各ページ情報のインデックスとに基づいて、例えば、ルートリンク情報105、ルートページ情報203、節ページ情報202、葉ページ情報308の順に、新規レコードR16を格納すべきページ情報の探索が行われる。葉ページ情報308に対してレコードが追加可能であれば、この葉ページ情報308に代わる新たな葉ページ情報309が作成される。葉ページ情報309には、葉ページ情報308に格納されていたレコードR1と新規レコードR16が設定される。そして、この葉ページ情報309に対し、最新のページ番号32が割り当てられ、メッセージダイジェストH32が計算される。   As illustrated in FIG. 5, the catalog information includes root link information 105, root page information 203, node page information 202 that is a child of the root page information 203, and leaf page information 308 that is a child of the node page information 202. Suppose there is. Here, it is assumed that a new record R16 is added. Based on the search key of the record 16 and the index of each page information, for example, the page information for storing the new record R16 in the order of the root link information 105, the root page information 203, the node page information 202, and the leaf page information 308. A search is performed. If a record can be added to the leaf page information 308, new leaf page information 309 that replaces the leaf page information 308 is created. In the leaf page information 309, the record R1 and the new record R16 stored in the leaf page information 308 are set. Then, the latest page number 32 is assigned to the leaf page information 309, and the message digest H32 is calculated.

節ページ情報202としては、節ページ情報202の子ページ情報へのリンク情報が変更されるので、節ページ情報202に代わる新たな節ページ情報204が作成される。節ページ情報204には、節ページ情報202に格納されていた各リンク情報及びインデックスが設定される。また、設定されたリンク情報のうち、葉ページ情報308へのリンク情報であるページ番号24及びメッセージダイジェストH24が、葉ページ情報309へのリンク情報であるページ番号32及びメッセージダイジェストH32に書き換えられる。そして、この節ページ情報204に対し、最新のページ番号33が割り当てられ、メッセージダイジェストH33が計算される。   As the node page information 202, the link information to the child page information of the node page information 202 is changed, so that new node page information 204 replacing the node page information 202 is created. In the node page information 204, each link information and index stored in the node page information 202 is set. Of the set link information, the page number 24 and the message digest H24 that are link information to the leaf page information 308 are rewritten to the page number 32 and the message digest H32 that are link information to the leaf page information 309. Then, the latest page number 33 is assigned to the node page information 204, and the message digest H33 is calculated.

ルートページ情報203としては、ルートページ情報203の子ページ情報へのリンク情報が変更されるので、ルートページ情報203に代わる新たなルートページ情報205が作成される。ルートページ情報205の作成方法は、節ページ情報204の作成方法と同様である。   As the root page information 203, the link information to the child page information of the root page information 203 is changed, so that new root page information 205 replacing the root page information 203 is created. The method for creating the root page information 205 is the same as the method for creating the node page information 204.

そして、ルートページ情報203へのリンク情報が変更されるので、ルートリンク情報105に代わる新たなルートリンク情報106が作成される。   Then, since the link information to the root page information 203 is changed, new root link information 106 that replaces the root link information 105 is created.

[3.3 レコードの削除]
カタログ情報からのレコードの削除は、センターサーバSAの後述するレコード削除処理において行われる。レコードを削除する場合、削除対象レコードの検索キーが必要となる。
[3.3 Deleting records]
The deletion of the record from the catalog information is performed in a record deletion process described later of the center server SA. When deleting a record, a search key for the record to be deleted is required.

図6は、レコードが削除される場合にカタログ情報が更新される様子の一例を示す図である。   FIG. 6 is a diagram illustrating an example of how catalog information is updated when a record is deleted.

カタログ情報は、図5を用いて説明した新規レコードR16が追加された後の状態であるとする。ここで、削除対象のレコードの検索キーとして5が指定されたとする。検索キーの値5と各ページ情報のインデックスとに基づいて、例えば、図6(1)に示すルートリンク情報106、ルートページ情報205、節ページ情報204、葉ページ情報309の順に、検索キーに対応するレコードを格納しているページ情報の探索が行われる。   It is assumed that the catalog information is in a state after the new record R16 described with reference to FIG. 5 is added. Here, it is assumed that 5 is designated as the search key for the record to be deleted. Based on the search key value 5 and the index of each page information, for example, the root link information 106, the root page information 205, the node page information 204, and the leaf page information 309 shown in FIG. A search is made for page information storing the corresponding record.

葉ページ情報309には、レコードが格納されているので、レコードのインデックスと検索キーとが比較される。検索キーの値5は、レコードR1のインデックスの値5と一致する。従って、この葉ページ情報309に代わる新たな葉ページ情報310が作成される。葉ページ情報310には、葉ページ情報308に格納されていたレコードのうち、レコードR1以外のレコードが設定される。そして、この葉ページ情報310に対し、最新のページ番号35が割り当てられ、メッセージダイジェストH35が計算される。   Since the leaf page information 309 stores a record, the index of the record is compared with the search key. The search key value 5 matches the index value 5 of the record R1. Accordingly, new leaf page information 310 is created in place of the leaf page information 309. In the leaf page information 310, records other than the record R1 among the records stored in the leaf page information 308 are set. Then, the latest page number 35 is assigned to the leaf page information 310, and the message digest H35 is calculated.

この後、節ページ情報204に代わる節ページ情報206、ルートページ情報205に代わるルートページ情報207、ルートリンク情報106に代わるルートリンク情報107が、この順に新たに作成される。これらのページ情報の作成方法は、図5を用いて説明した場合と同様である。   Thereafter, node page information 206 replacing the node page information 204, route page information 207 replacing the route page information 205, and route link information 107 replacing the route link information 106 are newly created in this order. The method of creating these page information is the same as that described with reference to FIG.

更に、削除対象のレコードの検索キーとして8が指定されたとする。検索キーの値8と各ページ情報のインデックスとに基づいて、例えば、図6(2)に示すルートリンク情報107、ルートページ情報207、節ページ情報206、葉ページ情報310の順に探索が行われる。葉ページ情報310には、インデックスの値が8であるレコードR16が格納されている。従って、レコードR16は削除されことになる。   Further, assume that 8 is designated as the search key for the record to be deleted. Based on the search key value 8 and the index of each page information, for example, the search is performed in the order of the root link information 107, root page information 207, node page information 206, and leaf page information 310 shown in FIG. . In the leaf page information 310, a record R16 having an index value of 8 is stored. Accordingly, the record R16 is deleted.

レコードR16が削除されると、葉ページ情報310は空になる。空になった葉ページ情報は不要であるので、葉ページ情報310に代わる新たな葉ページ情報を作成する必要はない。ここで、節ページ情報206に代わる新たな節ページ情報208が作成される。節ページ情報208には、節ページ情報206に格納されていた各リンク情報及びインデックスが設定される。また、設定されたリンク情報のうち、葉ページ情報310へのリンク情報であるページ番号35及びメッセージダイジェストH35が、何れも無効な値に書き換えられる。これにより、葉ページ情報310は、今後一切参照されなくなる。そして、この節ページ情報208に対し、最新のページ番号38が割り当てられ、メッセージダイジェストH38が計算される。   When the record R16 is deleted, the leaf page information 310 becomes empty. Since empty leaf page information is unnecessary, there is no need to create new leaf page information in place of the leaf page information 310. Here, new node page information 208 replacing the node page information 206 is created. In the node page information 208, each link information and index stored in the node page information 206 is set. Of the set link information, the page number 35 and the message digest H35 that are link information to the leaf page information 310 are both rewritten to invalid values. Thereby, the leaf page information 310 is not referred to at all in the future. Then, the latest page number 38 is assigned to the node page information 208, and the message digest H38 is calculated.

この後、ルートページ情報207に代わるルートページ情報209、及び、ルートリンク情報107に代わるルートリンク情報108が、この順に新たに作成される。   Thereafter, route page information 209 replacing the route page information 207 and route link information 108 replacing the route link information 107 are newly created in this order.

[3.4 レコードの検索]
レコードの検索は、センターサーバSAの後述するレコード検索処理において行われる。レコードを検索する場合において、検索目的のレコードを格納しているページ情報を探索する方法は、木構造におけるノードの探索方法と同じである。つまり、ページ情報の探索方法は、カタログ情報の木構造に対応する探索アルゴリズムに依存する。また、レコードを追加、削除する場合にも、同様の探索方法が用いられる。以下では、レコードの検索方法の一例を、図5を用いて説明する。
[3.4 Searching records]
The record search is performed in a record search process (to be described later) of the center server SA. When searching for a record, the method for searching for page information storing a record to be searched is the same as the method for searching for a node in a tree structure. That is, the page information search method depends on a search algorithm corresponding to the tree structure of catalog information. A similar search method is also used when adding or deleting records. Hereinafter, an example of a record search method will be described with reference to FIG.

図5に示すように、カタログ情報には、ルートリンク情報106、ルートページ情報205、節ページ情報204、及び、葉ページ情報309があるとする。ここで、検索対象のレコードの検索キーとして8が指定されたとする。先ず、ルートリンク情報に設定されているページ番号34が参照される。   As shown in FIG. 5, it is assumed that the catalog information includes root link information 106, root page information 205, node page information 204, and leaf page information 309. Here, it is assumed that 8 is designated as the search key of the record to be searched. First, the page number 34 set in the root link information is referenced.

ページ番号34はルートページ情報205のページ番号であるので、次はルートページ情報205が参照される。ここで、検索キーとルートページ情報205に格納されている各インデックスとの比較が行われる。ルートページ情報205には、インデックスとして、11、37及び68が格納されている。検索キーの値5とインデックスの値11とを比較すると、検索キーの値の方が小さい。従って、11よりインデックスの値が小さいページ情報を指すリンク情報に含まれるページ番号33が参照される。なお、ルートページ情報205には、ページ番号33に対応するページ情報へのリンク情報のほか、ページ番号30、20及び18に対応するページ情報へのリンク情報も格納されている。ただし、図5においては、ページ番号30、20及び18に対応するページ情報の図示は省略している。   Since the page number 34 is the page number of the root page information 205, the root page information 205 is referred to next. Here, the search key is compared with each index stored in the root page information 205. The root page information 205 stores 11, 37, and 68 as indexes. When the search key value 5 is compared with the index value 11, the search key value is smaller. Accordingly, the page number 33 included in the link information indicating the page information having an index value smaller than 11 is referred to. In addition to the link information to the page information corresponding to the page number 33, the root page information 205 also stores link information to the page information corresponding to the page numbers 30, 20, and 18. However, in FIG. 5, illustration of page information corresponding to page numbers 30, 20, and 18 is omitted.

ページ番号33は節ページ情報204のページ番号であるので、次は節ページ情報204が参照される。ルートページ情報205には、インデックスとして、3が格納されている。検索キーの値5とインデックスの値3とを比較すると、検索キーの値の方が大きい。従って、3よりインデックスの値が大きいページ情報を指すリンク情報に含まれるページ番号32が参照される。なお、節ページ情報204には、ページ番号32に対応するページ情報へのリンク情報のほか、ページ番号23に対応するページ情報へのリンク情報も格納されている。ただし、図5においては、ページ番号23に対応するページ情報の図示は省略している。   Since the page number 33 is the page number of the node page information 204, the node page information 204 is referred to next. The root page information 205 stores 3 as an index. When the search key value 5 is compared with the index value 3, the search key value is larger. Accordingly, the page number 32 included in the link information indicating the page information having an index value larger than 3 is referred to. The node page information 204 stores link information to page information corresponding to the page number 23 in addition to link information to page information corresponding to the page number 32. However, in FIG. 5, illustration of page information corresponding to the page number 23 is omitted.

ページ番号32は葉ページ情報309のページ番号であるので、次は葉ページ情報309が参照される。葉ページ情報309には、インデックスとして、5及び8が格納されている。検索キーの値8とインデックスとを順次比較すると、レコードR16のインデックスの値と検索キーの値8とが一致する。その結果、レコードR16が検索される。   Since the page number 32 is the page number of the leaf page information 309, the leaf page information 309 is referred to next. The leaf page information 309 stores 5 and 8 as indexes. When the search key value 8 and the index are sequentially compared, the index value of the record R16 matches the search key value 8. As a result, the record R16 is searched.

なお、本実施形態においては、レコードの追加、削除及び検索においてページ情報の探索を行う際に、改竄チェックを行っている。この改竄チェックは、参照されるページ情報について行われる。   Note that in this embodiment, tampering is checked when page information is searched for record addition, deletion, and search. This tampering check is performed on the page information to be referred to.

前記の例では、最初に、ルートページ情報209の改竄チェックが、ルートリンク情報108に設定されているメッセージダイジェストH34を用いて行われる。次に、節ページ情報208の改竄チェックが、ルートページ情報209に設定されているメッセージダイジェストH33を用いて行われる。最後に、葉ページ情報309の改竄チェックが、節ページ情報208に設定されているメッセージダイジェストH32を用いて行われる。なお、ルートリンク情報の改竄チェックは、センターサーバSAの後述する初期化処理で行われる。   In the above example, first, the falsification check of the root page information 209 is performed using the message digest H34 set in the root link information 108. Next, the falsification check of the node page information 208 is performed using the message digest H33 set in the root page information 209. Finally, the falsification check of the leaf page information 309 is performed using the message digest H32 set in the node page information 208. Note that the falsification check of the root link information is performed by an initialization process described later of the center server SA.

このように、ページ情報が実際に参照されるときに改竄チェックが行われるので、参照されたページ情報の真正性が確実に保証される。また、参照されるページ情報のみ改竄チェックが行われるので、効率的でもある。ただし、レコードの追加、削除及び検索の度にこのような改竄チェックを行わなくても良い。例えば、定期的に改竄チェックを行っても良いし、オペレータからの指示があったときに改竄チェックを行っても良い。   In this way, since the tampering check is performed when the page information is actually referred to, the authenticity of the referenced page information is reliably guaranteed. In addition, since the falsification check is performed only on the referenced page information, it is also efficient. However, such a tampering check need not be performed every time a record is added, deleted, or searched. For example, the tampering check may be performed periodically, or the tampering check may be performed when an instruction from the operator is given.

[4.センターサーバSAの構成等]
次に、図7を参照して、センターサーバSAの構成及び機能について説明する。
[4. Configuration of center server SA]
Next, the configuration and functions of the center server SA will be described with reference to FIG.

図7は、センターサーバSAの概要構成例を示す図である。   FIG. 7 is a diagram illustrating a schematic configuration example of the center server SA.

センターサーバSAは、図7に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成された制御部11を備えている。また、センターサーバSAは、各種データ及び各種プログラム等を記憶保存するためのHD等から構成された記憶部12を備えている。更に、センターサーバSAは、ネットワーク8等を通じてノードNnとの間の情報の通信制御を行うための通信部13を備えている。また更に、センターサーバSAは、各種情報を表示するCRT,液晶ディスプレイ等の表示部14を備えている。更にまた、センターサーバSAは、オペレータからの指示を受け付けこの指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス等)15と、を備えている。そして、制御部11、記憶部12、通信部13、表示部14、及び入力部15はバス16を介して相互に接続されている。ここで、入力部15は、本発明における追加入力手段、削除入力手段及び検索入力手段の一例である。また、記憶部12は、本発明におけるページ情報記憶手段の一例である。記憶部12は、揮発性のメモリであっても良いし、不揮発性のメモリであっても良い。   As shown in FIG. 7, the center server SA includes a control unit 11 including a CPU having a calculation function, a working RAM, a ROM that stores various data and programs, and the like. Further, the center server SA includes a storage unit 12 composed of an HD or the like for storing and storing various data and various programs. Furthermore, the center server SA includes a communication unit 13 for controlling communication of information with the node Nn through the network 8 or the like. Furthermore, the center server SA includes a display unit 14 such as a CRT or a liquid crystal display that displays various types of information. Furthermore, the center server SA includes an input unit (for example, a keyboard, a mouse, etc.) 15 that receives an instruction from the operator and gives an instruction signal corresponding to the instruction to the control unit 11. The control unit 11, the storage unit 12, the communication unit 13, the display unit 14, and the input unit 15 are connected to each other via a bus 16. Here, the input unit 15 is an example of an additional input unit, a deletion input unit, and a search input unit in the present invention. The storage unit 12 is an example of a page information storage unit in the present invention. The storage unit 12 may be a volatile memory or a non-volatile memory.

記憶部12には、各ノードNnのノードID、IPアドレス及びポート番号等が記憶されている。また、記憶部12には、カタログ情報がルートリンク情報及びページ情報単位で登録されるカタログデータベースが構築されている。更に、記憶部12には、カタログデータベースを管理するためのデータベース管理プログラムが記憶されている。データベース管理プログラムは、情報生成プログラムの一例である。   The storage unit 12 stores the node ID, IP address, port number, and the like of each node Nn. In addition, a catalog database in which catalog information is registered in units of root link information and page information is constructed in the storage unit 12. Further, the storage unit 12 stores a database management program for managing the catalog database. The database management program is an example of an information generation program.

制御部11は、CPUが記憶部12等に記憶されたデータベース管理プログラム等のプログラムを読み出して実行することにより、本発明における葉ページ情報生成手段、根ページ情報生成手段、節ページ情報生成手段、ルートリンク情報生成手段、追加入力手段、追加葉ページ決定手段、登録手段、割当手段、判定手段、削除葉ページ決定手段、検索入力手段及び検索手段として機能する。   The control unit 11 reads and executes a program such as a database management program stored in the storage unit 12 or the like by the CPU, whereby leaf page information generation means, root page information generation means, node page information generation means in the present invention, It functions as root link information generation means, additional input means, additional leaf page determination means, registration means, allocation means, determination means, deleted leaf page determination means, search input means, and search means.

なお、上記データベース管理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしても良いし、例えば、CD−ROM等の記録媒体に記録されてこの記録媒体のドライブを介して読み込まれるようにしても良い。   The database management program may be downloaded from a predetermined server on the network 8, for example, or recorded on a recording medium such as a CD-ROM and read via a drive of the recording medium. You may make it.

[5.ノードNnの構成及び機能等]
次に、図8を参照して、ノードNnの構成及び機能について説明する。
[5. Configuration and function of node Nn]
Next, the configuration and function of the node Nn will be described with reference to FIG.

図8は、ノードNnの概要構成例を示す図である。   FIG. 8 is a diagram illustrating a schematic configuration example of the node Nn.

各ノードNnは、図8に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成されたコンピュータとしての制御部21を備えている。また、各ノードNnは、各種データ及び各種プログラム等を記憶保存するためのHD(ハードディスク)等から構成された記憶部22と、受信されたコンテンツのレプリカ等を一時蓄積するバッファメモリ23とを備えている。更に、各ノードNnは、コンテンツのレプリカに含まれるエンコードされたビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコードするデコーダ部24を備えている。また更に、各ノードNnは、このデコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部25と、この映像処理部25から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部26と、を備えている。更にまた、各ノードNnは、上記デコードされたオーディオデータをアナログオーディオ信号にD (Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部27と、この音声処理部27から出力されたオーディオ信号を音波として出力するスピーカ28と、を備えている。また更に、各ノードNnは、ネットワーク8を通じて他のノードNn等間の情報の通信制御を行うための通信部29を備えている。更にまた、各ノードNnは、ユーザからの指示を受け付けこの指示に応じた指示信号を制御部21に対して与える入力部(例えば、キーボード、マウス、或いは、リモコンや操作パネル等)30を備えている。そして、制御部21、記憶部22、バッファメモリ23、デコーダ部24、通信部29、及び入力部30はバス31を介して相互に接続されている。なお、ノードNnとしては、例えば、パーソナルコンピュータ、STB(Set Top Box)等を適用可能である。   As shown in FIG. 8, each node Nn includes a control unit 21 as a computer configured by a CPU having a calculation function, a working RAM, a ROM for storing various data and programs, and the like. Each node Nn includes a storage unit 22 composed of an HD (hard disk) or the like for storing and storing various data and various programs, and a buffer memory 23 for temporarily storing a replica of the received content. ing. Further, each node Nn includes a decoder unit 24 that decodes encoded video data (video information), audio data (audio information), and the like included in the content replica. Further, each node Nn performs a predetermined drawing process on the decoded video data and the like, and outputs it as a video signal, and displays a video based on the video signal output from the video processor 25. And a display unit 26 such as a CRT or a liquid crystal display. Further, each node Nn converts the decoded audio data into an analog audio signal by D (Digital) / A (Analog) conversion, and then amplifies this by an amplifier and outputs the audio processing unit 27, and this audio processing unit And a speaker 28 that outputs the audio signal output from the sound wave 27 as a sound wave. Furthermore, each node Nn includes a communication unit 29 for controlling communication of information between other nodes Nn and the like through the network 8. Furthermore, each node Nn includes an input unit (for example, a keyboard, a mouse, a remote controller, an operation panel, or the like) 30 that receives an instruction from the user and gives an instruction signal corresponding to the instruction to the control unit 21. Yes. The control unit 21, the storage unit 22, the buffer memory 23, the decoder unit 24, the communication unit 29, and the input unit 30 are connected to each other via a bus 31. As the node Nn, for example, a personal computer, an STB (Set Top Box), or the like is applicable.

記憶部22には、DHTを用いたルーティングテーブル、インデックス、並びに、コンテンツ分散保存システムSに参加する際のアクセス先となるコンタクトノードのIPアドレス及びポート番号、及びセンターサーバSAのIPアドレス及びポート番号等が記憶されている。また、記憶部22には、他のノードNnから取得したページ情報や、センターサーバSAから配信されてきたページ情報が、ファイルとして記憶される。   The storage unit 22 includes a routing table using DHT, an index, an IP address and a port number of a contact node that is an access destination when participating in the content distributed storage system S, and an IP address and a port number of the center server SA. Etc. are stored. The storage unit 22 stores page information acquired from other nodes Nn and page information distributed from the center server SA as files.

制御部21は、CPUが記憶部22等に記憶されたプログラムを読み出して実行することにより、各種処理を行う。   The control unit 21 performs various processes when the CPU reads and executes a program stored in the storage unit 22 or the like.

例えば、制御部21は、コンテンツ分散保存システムSに接続した際に、他のノードNnから最新のルートリンク情報及びページ情報を取得する。取得先のノードNnとしては、例えば、コンタクトノードであっても良い。また、制御部21は、センターサーバSAから配信されてきたルートリンク情報及びページ情報を受信する。他のノードNn又はセンターサーバSAから取得されたルートリンク情報は、RAMに格納される。また、他のノードNn又はセンターサーバSAから取得されたページ情報は、記憶部22に保存される。   For example, when connected to the content distributed storage system S, the control unit 21 acquires the latest root link information and page information from another node Nn. The node Nn as the acquisition destination may be a contact node, for example. Further, the control unit 21 receives the root link information and the page information distributed from the center server SA. The root link information acquired from other nodes Nn or the center server SA is stored in the RAM. Further, the page information acquired from another node Nn or the center server SA is stored in the storage unit 22.

制御部21は、RAMに記憶されたルートリンク情報及び記憶部22に保存されたページ情報に基づいて、コンテンツのレコードの検索を行う。この検索方法は、基本的にセンターサーバSAにおけるレコードの検索方法と同じである。そして、制御部21は、検索されたレコードの内容に基づいて、必要な処理を行う。例えば、制御部21は、レコードの情報を表示部26に表示させたり、コンテンツが公開されているか否かを判断したり、レコードに含まれているコンテンツIDに基づいて、コンテンツ保持ノードからコンテンツを取得したりする。   The control unit 21 searches for content records based on the root link information stored in the RAM and the page information stored in the storage unit 22. This search method is basically the same as the record search method in the center server SA. And the control part 21 performs a required process based on the content of the searched record. For example, the control unit 21 displays the information of the record on the display unit 26, determines whether or not the content is disclosed, and based on the content ID included in the record, the control unit 21 retrieves the content from the content holding node. Or get it.

なお、プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしても良いし、例えば、CD−ROM等の記録媒体に記録されてこの記録媒体のドライブを介して読み込まれるようにしても良い。   The program may be downloaded from a predetermined server on the network 8, for example, or may be recorded on a recording medium such as a CD-ROM and read via a drive of the recording medium. May be.

[6.コンテンツ分散保存システムSの動作]
次に、図9乃至図16を参照して、本実施形態に係るコンテンツ分散保存システムSの動作について説明する。
[6. Operation of Content Distributed Storage System S]
Next, the operation of the distributed content storage system S according to the present embodiment will be described with reference to FIGS.

以下においては、カタログ情報が一般的なn分探索木の構造を少なくとも有するものとして説明する。木の種類や構造等に特有の処理に関する説明は省略する。また、ページ情報に必須ではないセルフリンク情報に関する処理の説明は省略する。   In the following description, it is assumed that the catalog information has at least a general n-ary search tree structure. A description of processing specific to the type and structure of the tree is omitted. Also, description of processing related to self-link information that is not essential for page information is omitted.

[6.1 センターサーバSAの動作]
図9は、本実施形態に係るセンターサーバSAにおける制御部11の処理例を示すフローチャートである。
[6.1 Operation of center server SA]
FIG. 9 is a flowchart illustrating a processing example of the control unit 11 in the center server SA according to the present embodiment.

図9に示す処理は、例えば、データベース管理プログラムが起動されたときに開始される。先ず、制御部11は、ステップS1〜S5の初期化処理を実行する。具体的に、制御部11は、ルートリンク情報を保存したファイルが記憶部12に記憶されているか否かを判定する(ステップS1)。データベース管理プログラムの起動が初めてである場合には、ルートリンク情報は未だ作成されていない。その一方で、データベース管理プログラムの起動が初めてではない場合には、ルートリンク情報は既に作成されてファイルに保存されている。そこで、制御部11は、ルートリンク情報を保存したファイルが記憶部12に記憶されていない場合には(ステップS1:NO)、ルートリンク情報登録処理を実行する(ステップS2)。初期化処理から実行されたルートリンク情報登録処理では、ルートリンク情報とルートページ情報とが新規に作成される。なお、ルートリンク情報登録処理の詳細については後述する。   The process shown in FIG. 9 is started when the database management program is started, for example. First, the control part 11 performs the initialization process of step S1-S5. Specifically, the control unit 11 determines whether or not a file storing the root link information is stored in the storage unit 12 (step S1). When the database management program is started for the first time, the root link information has not been created yet. On the other hand, if the database management program is not started for the first time, the root link information has already been created and saved in a file. Therefore, when the file storing the root link information is not stored in the storage unit 12 (step S1: NO), the control unit 11 executes a root link information registration process (step S2). In the root link information registration process executed from the initialization process, root link information and root page information are newly created. Details of the root link information registration process will be described later.

ステップS1において、制御部11は、ルートリンク情報を保存したファイルが記憶部12に記憶されている場合には(ステップS1:YES)、このファイルからルートリンク情報を読み出してRAMに格納する(ステップS3)。   In step S1, when the file storing the root link information is stored in the storage unit 12 (step S1: YES), the control unit 11 reads the root link information from this file and stores it in the RAM (step S1). S3).

次いで、制御部11は、このファイルに保存されている電子署名を用いてルートリンク情報の改竄をチェックする(ステップS4)。例えば、制御部11は、ルートリンク情報、より具体的には、ルートページ情報のシリアル番号及びメッセージダイジェストから、メッセージダイジェストを計算する。このメッセージダイジェストの計算には、電子署名に設定されているハッシュ関数が用いられる。また、制御部11は、電子署名の証明書情報に設定されている公開鍵を用いて電子署名の署名値を復号する。そして、制御部11は、作成されたメッセージダイジェストと復号されたデータとが一致するか否かを判定する。ここで、一致する場合にはルートリンク情報は改竄されていないとされ、一致しない場合には改竄されている。   Next, the control unit 11 checks the falsification of the root link information using the electronic signature stored in this file (step S4). For example, the control unit 11 calculates a message digest from the root link information, more specifically, the serial number of the route page information and the message digest. For the calculation of the message digest, a hash function set in the electronic signature is used. Further, the control unit 11 decrypts the signature value of the electronic signature using the public key set in the certificate information of the electronic signature. Then, the control unit 11 determines whether or not the created message digest matches the decrypted data. Here, if they match, the root link information is not falsified, and if they do not match, they are falsified.

次いで、制御部11は、ルートリンク情報は改竄されているか否かを判定する(ステップS5)。このとき、制御部11は、ルートリンク情報は改竄されている場合には(ステップS5:YES)、エラー終了とさせる。この場合は、例えば、表示部14に、ルートリンク情報が改竄されている旨のエラー表示がなされ、データベース管理プログラムの実行が中断される。   Next, the control unit 11 determines whether or not the root link information has been tampered with (step S5). At this time, if the root link information has been tampered with (step S5: YES), the control unit 11 ends the error. In this case, for example, an error message indicating that the root link information has been tampered with is displayed on the display unit 14, and the execution of the database management program is interrupted.

ステップS5において、制御部11は、ルートリンク情報は改竄されていない場合(ステップS5:NO)、又は、ステップS2のルートリンク情報登録処理を終えた場合には、メインの処理を開始させる。   In step S5, when the root link information has not been falsified (step S5: NO), or when the root link information registration process in step S2 is completed, the control unit 11 starts the main process.

先ず、制御部11は、オペレータからの終了指示があったか否かを、入力部15からの入力に基づいて判定する(ステップS6)。   First, the control unit 11 determines whether or not there is an end instruction from the operator based on the input from the input unit 15 (step S6).

ステップS6において、制御部11は、終了指示がない場合には(ステップS6:NO)、オペレータからのレコードの追加要求があったか否かを、入力部15からの入力に基づいて判定する(ステップS7)。このとき、制御部11は、レコードの追加要求があった場合には(ステップS7:YES)、レコード追加処理を実行する(ステップS8)。この場合、制御部11は、例えばオペレータ操作によって入力部15から入力された新規レコードを指定する。また、制御部11は、別途検索キーが必要な場合には、新規レコードの検索キーをも指定する。このレコード追加処理では、入力された新規レコードがカタログ情報に追加される。なお、レコード追加処理の詳細については後述する。   In step S6, when there is no termination instruction (step S6: NO), the control unit 11 determines whether or not there is a record addition request from the operator based on the input from the input unit 15 (step S7). ). At this time, if there is a record addition request (step S7: YES), the control unit 11 executes a record addition process (step S8). In this case, the control unit 11 designates a new record input from the input unit 15 by an operator operation, for example. Moreover, the control part 11 also designates the search key of a new record, when a search key is required separately. In this record addition process, the input new record is added to the catalog information. Details of the record addition process will be described later.

ステップS7において、制御部11は、レコードの追加要求がなかった場合には(ステップS7:NO)、オペレータからのレコードの削除要求があったか否かを、入力部15からの入力に基づいて判定する(ステップS9)。このとき、制御部11は、レコードの削除要求があった場合には(ステップS9:YES)、レコード削除処理を実行する(ステップS10)。この場合、制御部11は、オペレータ操作によって入力部15から入力された削除対象レコードの検索キーを指定する。このレコード削除処理では、指定された検索キーに対応する削除対象レコードがカタログ情報から削除される。なお、レコード削除処理の詳細については後述する。   In step S7, when there is no record addition request (step S7: NO), the control unit 11 determines whether there is a record deletion request from the operator based on an input from the input unit 15. (Step S9). At this time, if there is a record deletion request (step S9: YES), the control unit 11 executes a record deletion process (step S10). In this case, the control unit 11 designates a search key for a record to be deleted that is input from the input unit 15 by an operator operation. In this record deletion process, the record to be deleted corresponding to the designated search key is deleted from the catalog information. Details of the record deletion process will be described later.

ステップS9において、制御部11は、レコードの削除要求がなかった場合には(ステップS9:NO)、オペレータからのレコードの検索要求があったか否かを、入力部15からの入力に基づいて判定する(ステップS11)。このとき、制御部11は、レコードの検索要求があった場合には(ステップS11:YES)、レコード検索処理を実行する(ステップS12)。この場合、制御部11は、オペレータ操作によって入力部15から入力された検索キーを指定する。このレコード検索処理では、指定された検索キーに対応するレコードがカタログ情報から検索される。なお、レコード検索処理の詳細については後述する。   In step S9, when there is no record deletion request (step S9: NO), the control unit 11 determines whether there is a record search request from the operator based on the input from the input unit 15. (Step S11). At this time, when there is a record search request (step S11: YES), the control unit 11 executes a record search process (step S12). In this case, the control unit 11 designates a search key input from the input unit 15 by an operator operation. In this record search process, a record corresponding to the specified search key is searched from the catalog information. Details of the record search process will be described later.

制御部11は、ステップS8、S10又はS12の処理を終えたとき、或いは、ステップS11において、レコードの検索要求がなかった場合には(ステップS11:NO)、ステップS6に移行する。そして、制御部11は、ステップS6においてオペレータからの終了指示があった場合には(ステップS6:YES)、本処理を終了させる。   When the process of step S8, S10, or S12 is completed, or when there is no record search request in step S11 (step S11: NO), the control unit 11 proceeds to step S6. And the control part 11 complete | finishes this process, when there exists a termination instruction | indication from an operator in step S6 (step S6: YES).

図10は、本実施形態に係るセンターサーバSAにおける制御部11のルートリンク情報登録処理における処理例を示すフローチャートである。   FIG. 10 is a flowchart illustrating a processing example in the root link information registration processing of the control unit 11 in the center server SA according to the present embodiment.

先ず、制御部11は、ルートページ情報があるか否かを判定する(ステップS101)。つまり、制御部11は、ルートページ情報がRAMに格納されているか否かを判定する。初期化処理からルートリンク情報登録処理が実行された場合、又は、レコード削除処理によってルートページ情報がRAMから削除された場合には、ルートページ情報は存在しない。そこで、制御部11は、ルートページ情報がない場合には(ステップS101:NO)、新規に空(から)のルートページ情報をRAM上に作成する。(ステップS102)。   First, the control unit 11 determines whether there is route page information (step S101). That is, the control unit 11 determines whether route page information is stored in the RAM. When the root link information registration process is executed from the initialization process, or when the root page information is deleted from the RAM by the record deletion process, the root page information does not exist. Therefore, when there is no root page information (step S101: NO), the control unit 11 newly creates empty (from) root page information on the RAM. (Step S102).

次いで、制御部11は、ページ情報登録処理を実行する(ステップS103)。このとき、制御部11は、新規に作成したルートページ情報を指定する。ページ情報登録処理では、指定されたページ情報へのリンク情報が作成され、このページ情報がファイルに保存される。これによりルートページ情報が登録される。なお、ページ情報登録処理の詳細については後述する。   Next, the control unit 11 executes a page information registration process (step S103). At this time, the control unit 11 designates newly created route page information. In the page information registration process, link information to the specified page information is created, and this page information is saved in a file. Thereby, route page information is registered. Details of the page information registration process will be described later.

次いで、制御部11は、ルートリンク情報生成手段として、作成されたリンク情報をルートリンク情報に設定する(ステップS104)。   Next, the control unit 11 sets the created link information as root link information as root link information generation means (step S104).

ステップS101において、制御部11は、ルートページ情報が存在する場合には(ステップS101:YES)、現在のルートリンク情報が指すページ情報が現在のルートページ情報と一致するか否かを判定する(ステップS105)。レコード追加処理又はレコード削除処理においては、現在のルートリンク情報が指している古いページ情報に代わって、新たなルートページ情報が作成される。そこで、制御部11は、現在のルートリンク情報が指すページ情報が現在のルートページ情報と一致しない場合には(ステップS105:NO)、ルートリンク情報生成手段として、ルートページ情報へのリンク情報をルートリンク情報に設定する(ステップS106)。   In step S101, when the root page information exists (step S101: YES), the control unit 11 determines whether or not the page information pointed to by the current root link information matches the current root page information ( Step S105). In the record addition process or the record deletion process, new root page information is created instead of the old page information pointed to by the current root link information. Therefore, when the page information pointed to by the current root link information does not match the current root page information (step S105: NO), the control unit 11 uses the link information to the root page information as root link information generation means. The root link information is set (step S106).

制御部11は、ステップS104又はS106の処理を終えると、ルートリンク情報生成手段として、ルートリンク情報の電子署名を作成する(ステップS107)。例えば、制御部11は、ルートリンク情報、より具体的には、ルートページ情報のページ番号及びメッセージダイジェストから、メッセージダイジェストを作成する。次いで、制御部11は、秘密鍵を用いて、作成されたメッセージダイジェストを暗号化し、署名値を得る。また、メッセージダイジェストの計算に用いたハッシュ関数、署名値、証明書情報等の情報を設定して電子署名を作成する。   When the process of step S104 or S106 is completed, the control unit 11 creates an electronic signature of the root link information as a root link information generating unit (step S107). For example, the control unit 11 creates a message digest from the route link information, more specifically, the page number of the route page information and the message digest. Next, the control unit 11 encrypts the created message digest using the secret key to obtain a signature value. In addition, an electronic signature is created by setting information such as a hash function, a signature value, and certificate information used for calculating the message digest.

次いで、制御部11は、ルートリンク情報を、作成した電子署名とともにファイルに保存する(ステップS108)。   Next, the control unit 11 stores the root link information in a file together with the created electronic signature (step S108).

次いで、制御部11は、作成した新しいルートリンク情報を、ルートリンク情報メッセージに含ませて全てのノードNnに配信する(ステップS109)。この配信は、例えば、オーバーレイマルチキャストで行われても良い。制御部11は、ステップS105において、現在のルートリンク情報が指すページ情報が現在のルートページ情報と一致する場合、又は、ステップS109の処理を終えると、ルートリンク情報登録処理を終了させる。   Next, the control unit 11 includes the created new root link information in the root link information message and distributes it to all the nodes Nn (step S109). This distribution may be performed by, for example, overlay multicast. In step S105, the control unit 11 ends the root link information registration process when the page information indicated by the current root link information matches the current root page information, or when the process of step S109 is completed.

図11は、本実施形態に係るセンターサーバSAにおける制御部11のページ情報登録処理における処理例を示すフローチャートである。   FIG. 11 is a flowchart illustrating a processing example in the page information registration processing of the control unit 11 in the center server SA according to the present embodiment.

先ず、制御部11は、割当手段として、登録対象として指定されたページ情報に、今までに割り当てられていない最新のページ番号を割り当てる(ステップS151)。次いで、制御部11は、登録対象のページ情報のメッセージダイジェストを計算する(ステップS152)。   First, the control unit 11 assigns the latest page number that has not been assigned to the page information designated as the registration target as the assigning unit (step S151). Next, the control unit 11 calculates a message digest of the page information to be registered (step S152).

次いで、制御部11は、登録対象のページ情報をファイルに保存する(ステップS153)。このとき、ページ情報がどこに保存されているかが特定することができるよう、例えば、ファイル名にページ番号が付加される。   Next, the control unit 11 stores the page information to be registered in a file (step S153). At this time, for example, a page number is added to the file name so that it can be specified where the page information is stored.

次いで、制御部11は、作成した新しいページ情報を、ページ情報メッセージに含ませて全てのノードNnに配信する(ステップS154)。この配信は、例えば、オーバーレイマルチキャストで行われても良い。   Next, the control unit 11 includes the created new page information in the page information message and distributes it to all the nodes Nn (step S154). This distribution may be performed by, for example, overlay multicast.

制御部11は、この処理を終えると、ページ情報登録処理を終了させ、割り当てたページ番号と計算したメッセージダイジェストとからなるリンク情報を、呼び出し元の処理に返却する。   When this process is completed, the control unit 11 ends the page information registration process, and returns link information including the assigned page number and the calculated message digest to the caller process.

図12は、本実施形態に係るセンターサーバSAにおける制御部11のレコード追加処理における処理例を示すフローチャートである。   FIG. 12 is a flowchart illustrating a processing example in the record addition processing of the control unit 11 in the center server SA according to the present embodiment.

先ず、制御部11は、現在のルートリンク情報をRAMから取得する(ステップS201)。次いで、制御部11は、ページ情報取得処理を実行する(ステップS202)。このとき、制御部11は、ルートリンク情報を指定する。ページ情報取得処理では、指定されたリンク情報が指すページ情報がファイルから取得され、RAMに格納される。取得されたページ情報は、現在参照しているページ情報とされる。なお、ページ情報取得処理の詳細については後述する。   First, the control unit 11 acquires the current root link information from the RAM (step S201). Next, the control unit 11 executes a page information acquisition process (step S202). At this time, the control unit 11 specifies root link information. In the page information acquisition process, the page information pointed to by the specified link information is acquired from the file and stored in the RAM. The acquired page information is the page information currently referred to. Details of the page information acquisition process will be described later.

次いで、制御部11は、追加葉ページ決定手段として、指定された検索キーと、現在参照しているページ情報に設定されているインデックスとに基づいて、担当ページ情報を決定する。担当ページ情報とは、或るレコードに対して、このレコードを格納すべきページ情報を意味する。レコードを追加する場合は、入力された新規レコードを格納すべき葉ページ情報が担当ページ情報である。   Next, the control unit 11 determines the assigned page information as an additional leaf page determination unit based on the designated search key and the index set in the currently referenced page information. The assigned page information means page information for storing this record for a certain record. In the case of adding a record, the leaf page information in which the input new record is to be stored is the responsible page information.

具体的に、制御部11は、取得されたページ情報が新規レコードの担当ページ情報であるか否かを判定する(ステップS203)。この判定方法は、ページ情報の構造に依存する。   Specifically, the control unit 11 determines whether or not the acquired page information is the page information in charge of the new record (step S203). This determination method depends on the structure of the page information.

制御部11は、取得されたページ情報が新規レコードの担当ページ情報ではない場合には(ステップS203:NO)、現在参照しているページ情報から、次のページ情報へのリンク情報を取得する(ステップS204)。次のページ情報とは、現在参照しているページ情報の子ページ情報のうち、次に参照するページ情報をいう。次に参照するページ情報は、指定された検索キーに対応する。この処理は、カタログ情報の探索木の構造に対応した探索アルゴリズムに従って行われる。例えば、制御部11は、指定された検索キーと現在参照しているページ情報に設定されているインデックスとの比較によって、次のページ情報へのリンク情報を特定する。具体的に、本実施形態においては、検索キーとインデックスとの大小比較が行われる。そして、大小比較の結果、例えば、検索キーの値がインデックスの値以下である場合、検索キーの値がインデックスの値よりも大きい場合等によって次のページ情報へのリンク情報が特定される。   When the acquired page information is not the assigned page information of the new record (step S203: NO), the control unit 11 acquires link information to the next page information from the currently referenced page information ( Step S204). The next page information refers to the page information to be referred to next out of the child page information of the currently referred page information. The page information to be referred to next corresponds to the designated search key. This process is performed according to a search algorithm corresponding to the structure of the search tree of catalog information. For example, the control unit 11 specifies link information to the next page information by comparing a designated search key with an index set for the currently referenced page information. Specifically, in this embodiment, the search key and the index are compared in size. As a result of the size comparison, for example, link information to the next page information is specified when the value of the search key is less than or equal to the value of the index, or when the value of the search key is greater than the value of the index.

次いで、制御部11は、次のページ情報へのリンク情報が存在するか否かを判定する(ステップS205)。つまり、制御部11は、次のページ情報へのリンク情報を取得することができたか否かを判定する。このとき、制御部11は、次のページ情報へのリンク情報が存在しない場合には(ステップS205:NO)、葉ページ情報生成手段として、ステップS206において、新しい担当ページ情報をRAM上に作成する。そして、制御部11は、登録手段として、作成した担当ページ情報上に新規レコードを追加して設定する。このとき、制御部11は、カタログ情報の構造上必要な場合には、新規レコードの検索キーをインデックスとして、この新規レコードに対応付けて担当ページ情報に追加して設定する。例えば、後述するレコード削除処理においてレコードが削除されること等により葉ページ情報が空になると、空になった葉ページ情報が削除される。この場合、空になった葉ページ情報の親ページ情報において、この葉ページ情報を指していたリンク情報には無効な値が設定される。これによって、空になった葉ページ情報を指していたリンク情報は削除される。ただし、親ページ情報に格納されていたインデックスについては特に更新を行わない場合、その後検索キーとインデックスとの大小比較によって、無効なリンク情報が特定されることがある。つまり、ステップS205において、次のページ情報へのリンク情報が存在しないと判定される。この場合、次のページ情報、つまり、検索キーに対応して新規レコードを格納する担当ページ情報が必要になるので、ステップS206においてこの担当ページ情報が作成される。   Next, the control unit 11 determines whether there is link information to the next page information (step S205). That is, the control unit 11 determines whether or not link information to the next page information has been acquired. At this time, when the link information to the next page information does not exist (step S205: NO), the control unit 11 creates new assigned page information on the RAM in step S206 as a leaf page information generation unit. . And the control part 11 adds and sets a new record on the produced charge page information as a registration means. At this time, if necessary due to the structure of the catalog information, the control unit 11 sets the search key of the new record as an index and adds it to the assigned page information in association with the new record. For example, when leaf page information becomes empty due to a record being deleted in a record deletion process to be described later, the empty leaf page information is deleted. In this case, in the parent page information of the leaf page information which has become empty, an invalid value is set for the link information pointing to the leaf page information. As a result, link information pointing to empty leaf page information is deleted. However, if the index stored in the parent page information is not particularly updated, invalid link information may be identified by comparing the search key and the index thereafter. That is, in step S205, it is determined that there is no link information to the next page information. In this case, since the next page information, that is, responsible page information for storing a new record corresponding to the search key is required, this responsible page information is created in step S206.

一方、制御部11は、次のページ情報へのリンク情報が存在する場合には(ステップS205:YES)、ステップS202に移行する。このとき、制御部11は、取得したリンク情報を指定して、ページ情報取得処理を実行する。   On the other hand, when the link information to the next page information exists (step S205: YES), the control unit 11 proceeds to step S202. At this time, the control unit 11 specifies the acquired link information and executes page information acquisition processing.

ステップS203において、制御部11は、取得されたページ情報が新規レコードの担当ページ情報である場合には(ステップS203:YES)、判断手段として、決定した担当ページ情報に新規レコードが追加可能であるか否かを判定する。具体的に、制御部11は、担当ページ情報には、格納可能なレコード数の上限まで既にレコードが格納されているか否かを判定する(ステップS207)。このとき、制御部11は、格納可能なレコード数の上限までのレコードは格納されていない場合には(ステップS207:YES)、葉ページ情報生成手段として、ステップS208において、現在の担当ページ情報の内容をコピーした新しい担当ページ情報をRAM上に作成する。そして、制御部11は、登録手段として、新しい担当ページ情報に新規レコードを追加して設定する。このとき、制御部11は、ステップS206と同様に必要に応じて、新規レコードの検索キーをインデックスとして追加設定する。   In step S203, when the acquired page information is assigned page information of a new record (step S203: YES), the control unit 11 can add a new record to the determined assigned page information as a determination unit. It is determined whether or not. Specifically, the control unit 11 determines whether or not records in the assigned page information are already stored up to the upper limit of the number of records that can be stored (step S207). At this time, when the record up to the upper limit of the number of records that can be stored is not stored (step S207: YES), the control unit 11 serves as the leaf page information generation unit in step S208 in the current assigned page information. New responsible page information in which the contents are copied is created on the RAM. And the control part 11 adds and sets a new record to new charge page information as a registration means. At this time, the control unit 11 additionally sets a search key for a new record as an index as necessary, as in step S206.

一方、制御部11は、格納可能なレコード数の上限まで既にレコードが格納されている場合には(ステップS207:NO)、葉ページ情報生成手段として、ステップS209において、ページ情報の分割を行う。具体的に、制御部11は、カタログ情報の探索木の構造に対応する分割アルゴリズムに従って、現在の担当ページ情報の内容を分割して複数の新しいページ情報をRAM上に作成する。そして、制御部11は、登録手段として、この新しいページ情報のうち担当ページ情報に、新規レコードを追加して設定する。例えば、担当ページ情報の内容を3つに分割する場合、元の担当ページ情報に格納されているレコードが、そのインデックスの順に、前半、中間及び後半のレコードに分けられる。例えば、元の担当ページ情報に、インデックスの値が1、2、3、4、5及び6の6つのレコードが格納されていたとする。これらのレコードを3つに均等に分ける場合、インデックスの値が1及び2のレコードが前半のレコード、インデックスの値が3及び4のレコードが中間のレコード、インデックスの値が5及び6のレコードが後半のレコードとなる。そして、夫々のレコードを格納するページ情報が作成される。新規レコードをどのページ情報に格納させるかはその検索キーに基づいて判断される。また、制御部11は、ステップS206と同様に必要に応じて、新規レコードの検索キーをインデックスとして追加設定する。   On the other hand, when the record has already been stored up to the upper limit of the number of records that can be stored (step S207: NO), the control unit 11 divides the page information as a leaf page information generation unit in step S209. Specifically, the control unit 11 creates a plurality of new page information on the RAM by dividing the content of the current assigned page information according to the division algorithm corresponding to the structure of the catalog information search tree. And the control part 11 adds and sets a new record to the charge page information among this new page information as a registration means. For example, when the content of the assigned page information is divided into three, the records stored in the original assigned page information are divided into the first half, the middle, and the second half of the record in the order of the index. For example, assume that six records with index values 1, 2, 3, 4, 5, and 6 are stored in the original assigned page information. When these records are equally divided into three, the records with index values 1 and 2 are the first half records, the records with index values 3 and 4 are the middle records, and the records with index values 5 and 6 are It becomes the second half record. Then, page information for storing each record is created. Which page information the new record is stored in is determined based on the search key. Further, the control unit 11 additionally sets a search key for a new record as an index as necessary, as in step S206.

制御部11は、ステップS206、S208又はS209において新しい担当ページを作成した後、ページ情報登録処理を実行する(ステップS210)。このとき、制御部11は、新たに作成したページ情報を指定する。ページ情報登録処理では、指定されたページ情報へのリンク情報が生成され、このページ情報がファイルに保存される。これによりページ情報が登録される。なお、ステップS209において、担当ページ情報が複数の新しいページ情報に分割された場合には、この複数のページ情報夫々に対してページ情報登録処理が実行される。   After creating a new assigned page in step S206, S208 or S209, the control unit 11 executes page information registration processing (step S210). At this time, the control unit 11 designates newly created page information. In the page information registration process, link information to the specified page information is generated, and this page information is saved in a file. As a result, page information is registered. In step S209, when the assigned page information is divided into a plurality of new page information, a page information registration process is executed for each of the plurality of page information.

次いで、制御部11は、登録されたページ情報の親ページ情報が存在するか否かを判定する(ステップS211)。例えば、ステップS205の判定において次のページ情報へのリンク情報が存在する度に、そのとき参照していたページ情報のページ番号をRAMの所定領域に保存してくと良い。この所定領域を参照することによって、親ページ情報が存在するか、及び、この親ページ情報のページ番号を特定することができる。   Next, the control unit 11 determines whether there is parent page information of the registered page information (step S211). For example, whenever there is link information to the next page information in the determination in step S205, the page number of the page information referred to at that time may be stored in a predetermined area of the RAM. By referring to the predetermined area, it is possible to specify whether parent page information exists and the page number of the parent page information.

制御部11は、親ページ情報が存在する場合には(ステップS211:YES)、追加更新手段として、新たに作成した葉ページ情報の親ページ情報からルートページ情報までの各節ページ情報のページ番号及びメッセージダイジェストを更新する。具体的に、根ページ情報生成手段及び節ページ情報生成手段として、子ページ情報のメッセージダイジェストと、この子ページ情報のページ番号を含むリンク情報が格納された親ページ情報を作成する。より詳細に、制御部11は、元の親ページ情報の内容をコピーした新しい親ページ情報をRAM上に作成する(ステップS212)。そして、制御部11は、新しい親ページを現在参照するページ情報とする。   When the parent page information exists (step S211: YES), the control unit 11 serves as an additional update unit, and the page number of each section page information from the parent page information of the newly created leaf page information to the root page information. And update the message digest. Specifically, as the root page information generation unit and the node page information generation unit, parent page information is created in which a message digest of child page information and link information including the page number of the child page information are stored. More specifically, the control unit 11 creates new parent page information in which the content of the original parent page information is copied on the RAM (step S212). Then, the control unit 11 sets page information that currently refers to the new parent page.

次いで、制御部11は、現在参照するページ情報に格納されている古い子ページ情報を指していたリンク情報を、新しい子ページ情報を指すリンク情報に書き換える(ステップS213)。具体的に、制御部11は、ステップS210のページ情報登録処理で生成されたリンク情報を、新しい子ページ情報を指すリンク情報とする。そして、制御部11は、新しい子ページ情報を指すリンク情報を、古い子ページ情報を指していたリンク情報に上書きする。   Next, the control unit 11 rewrites the link information indicating the old child page information stored in the page information currently referred to to the link information indicating the new child page information (step S213). Specifically, the control unit 11 sets the link information generated by the page information registration process in step S210 as link information indicating new child page information. Then, the control unit 11 overwrites the link information indicating the new child page information with the link information indicating the old child page information.

次いで、制御部11は、ステップS210に移行する。このとき、制御部11は、新たに作成した現在参照しているページ情報を指定して、ページ情報登録処理を実行する。これにより、現在参照しているページ情報が登録される。   Next, the control unit 11 proceeds to step S210. At this time, the control unit 11 designates the newly created page information that is currently referred to, and executes the page information registration process. As a result, the currently referenced page information is registered.

ステップS211において、制御部11は、登録されたページ情報の親ページ情報が存在しない場合、つまり、登録されたページ情報がルートページ情報である場合には(ステップS211)、ルートリンク情報登録処理を実行する(ステップS214)。ルートリンク情報登録処理では、登録された新しいルートページ情報を指すルートリンク情報が作成される。制御部11は、ルートリンク情報登録処理を終えると、レコード追加処理を終了させる。   In step S211, if the parent page information of the registered page information does not exist, that is, if the registered page information is the root page information (step S211), the control unit 11 performs the root link information registration process. Execute (Step S214). In the root link information registration process, root link information indicating the registered new root page information is created. When finishing the root link information registration process, the control unit 11 ends the record addition process.

図13は、本実施形態に係るセンターサーバSAにおける制御部11のレコード削除処理における処理例を示すフローチャートである。   FIG. 13 is a flowchart illustrating a processing example in the record deletion processing of the control unit 11 in the center server SA according to the present embodiment.

先ず、制御部11は、ステップS251〜S255の処理を実行する。これらの処理は、レコード追加処理におけるステップS201〜S205の処理と同様である。つまり、制御部11は、現在のルートリンク情報をRAMから取得する(ステップS251)。次いで、制御部11は、ページ情報取得処理を実行する(ステップS252)。次いで、制御部11は、削除葉ページ決定手段として、指定された検索キーと、節ページ情報に設定されているインデックスとに基づいて、担当ページ情報を決定する。具体的に、制御部11は、取得されたページ情報が、指定された検索キーに対応する削除対象レコードの担当ページ情報であるか否かを判定する(ステップS253)。制御部11は、取得されたページ情報が削除対象レコードの担当ページ情報ではない場合には(ステップS253:NO)、現在参照しているページ情報から、次のページ情報へのリンク情報を取得する(ステップS254)。次いで、制御部11は、次のページ情報へのリンク情報が存在するか否かを判定する(ステップS255)。このとき、制御部11は、次のページ情報へのリンク情報が存在しない場合には(ステップS255:NO)、レコード追加処理を終了させる。つまり、削除対象レコードを格納しているページ情報は存在しないので、レコード追加処理はここで終了する。   First, the control part 11 performs the process of step S251-S255. These processes are the same as the processes in steps S201 to S205 in the record addition process. That is, the control unit 11 acquires the current root link information from the RAM (step S251). Next, the control unit 11 executes a page information acquisition process (step S252). Next, the control unit 11 determines the responsible page information based on the designated search key and the index set in the node page information as a deleted leaf page determination unit. Specifically, the control unit 11 determines whether or not the acquired page information is the assigned page information of the record to be deleted corresponding to the designated search key (step S253). When the acquired page information is not the assigned page information of the deletion target record (step S253: NO), the control unit 11 acquires link information to the next page information from the currently referred page information. (Step S254). Next, the control unit 11 determines whether there is link information to the next page information (step S255). At this time, if there is no link information to the next page information (step S255: NO), the control unit 11 ends the record addition process. That is, since there is no page information storing the record to be deleted, the record addition process ends here.

ステップS253において、制御部11は、取得されたページ情報が削除対象レコードの担当ページ情報である場合には(ステップS253:YES)、担当ページ情報は削除対象レコードを格納しているか否かを判定する(ステップS256)。この判定方法は、カタログ情報の構造に依存する。例えば、レコードとこのレコードのインデックスとが対応付けられページ情報に格納される構造の場合には、指定された検索キーで、担当ページ情報に格納されているインデックスが検索される。そして、指定された検索キーに一致するインデックスが存在する場合には、削除対象レコードは格納されていると判定される。その一方で、指定された検索キーに一致するインデックスが存在しない場合には、削除対象レコードは格納されていないと判定される。制御部11は、担当ページ情報は削除対象レコードを格納していない場合には(ステップS256:NO)、レコード削除処理を終了させる。   In step S253, when the acquired page information is the assigned page information of the deletion target record (step S253: YES), the control unit 11 determines whether or not the assigned page information stores the deletion target record. (Step S256). This determination method depends on the structure of the catalog information. For example, in the case where the record is associated with the index of the record and stored in the page information, the index stored in the assigned page information is searched with the specified search key. If there is an index that matches the specified search key, it is determined that the record to be deleted is stored. On the other hand, if there is no index that matches the designated search key, it is determined that the record to be deleted is not stored. When the assigned page information does not store the deletion target record (step S256: NO), the control unit 11 ends the record deletion process.

一方、制御部11は、担当ページ情報は削除対象レコードを格納している場合には(ステップS256:YES)、葉ページ情報生成手段として、一又は複数のレコードが格納された葉ページ情報を作成する。具体的に制御部11は、ステップS257において、現在の担当ページ情報の内容をコピーした新しい担当ページ情報をRAM上に作成する。そして、制御部11は、新しい担当ページ情報から削除対象レコードを削除する。このとき、制御部11は、担当ページ情報に削除対象レコードのインデックスが設定されている場合には、このインデックスも削除する。   On the other hand, when the assigned page information stores a record to be deleted (step S256: YES), the control unit 11 creates leaf page information storing one or more records as a leaf page information generation unit. To do. Specifically, in step S257, the control unit 11 creates new assigned page information on the RAM by copying the contents of the current assigned page information. Then, the control unit 11 deletes the deletion target record from the new assigned page information. At this time, if the index of the record to be deleted is set in the assigned page information, the control unit 11 also deletes this index.

次いで、制御部11は、作成した新しいページ情報が格納しているレコードの数とリンク情報の数が何れも0になったか否かを判定する(ステップS258)。つまり、制御部11は、作成した新しいページ情報が空になったか否かを判定する。このとき、制御部11は、作成した新しいページ情報が空になっていない場合には(ステップS258:NO)、このページ情報を指定して、ページ情報登録処理を実行する(ステップS259)。これにより、削除対象レコードが削除された新しいページ情報が登録される。   Next, the control unit 11 determines whether or not the number of records stored in the created new page information and the number of link information are both 0 (step S258). That is, the control unit 11 determines whether or not the created new page information is empty. At this time, if the created new page information is not empty (step S258: NO), the control unit 11 designates this page information and executes a page information registration process (step S259). Thereby, new page information from which the deletion target record is deleted is registered.

一方、制御部11は、作成した新しいページ情報が空になった場合には(ステップS258:YES)、ステップS258で空になったと判定されたページ情報をRAM上から削除する(ステップS260)。   On the other hand, when the created new page information becomes empty (step S258: YES), the control unit 11 deletes the page information determined to be empty in step S258 from the RAM (step S260).

制御部11は、ステップS259又はS260の処理を終えると、ステップS261〜S264の処理を実行する。これらの処理は、レコード追加処理におけるステップ211〜S214の処理と基本的には同様である。   The control part 11 will perform the process of step S261-S264, after finishing the process of step S259 or S260. These processes are basically the same as the processes in steps 211 to S214 in the record addition process.

つまり、制御部11は、ステップS259において登録されたページ情報、又は、ステップS260において削除されたページ情報の親ページ情報が存在するか否かを判定する(ステップS261)。制御部11は、親ページ情報が存在する場合には(ステップS261:YES)、削除更新手段として、新たに作成した葉ページ情報の親ページ情報からルートページ情報までの各節ページ情報のページ番号及びメッセージダイジェストを更新する。具体的に、制御部11は、根ページ情報生成手段及び節ページ情報生成手段として、子ページ情報のメッセージダイジェストと、この子ページ情報のページ番号を含むリンク情報が格納された親ページ情報を作成する。より詳細に、制御部11は、元の親ページ情報の内容をコピーした新しい親ページ情報をRAM上に作成する(ステップS262)。そして、制御部11は、新しい親ページを現在参照するページ情報とする。   That is, the control unit 11 determines whether there is page information registered in step S259 or parent page information of the page information deleted in step S260 (step S261). When the parent page information exists (step S261: YES), the control unit 11 serves as a deletion update unit, and the page number of each section page information from the parent page information of the newly created leaf page information to the root page information. And update the message digest. Specifically, the control unit 11 creates parent page information in which a message digest of child page information and link information including the page number of the child page information are stored as root page information generation means and node page information generation means. To do. More specifically, the control unit 11 creates new parent page information in which the content of the original parent page information is copied on the RAM (step S262). Then, the control unit 11 sets page information that currently refers to the new parent page.

次いで、制御部11は、現在参照するページ情報に格納されている古い子ページ情報を指していたリンク情報を、新しい子ページ情報を指すリンク情報に書き換える(ステップS263)。ただし、制御部11は、子ページ情報がステップS260で削除されている場合には、古い子ページ情報を指していたリンク情報を、何も指していない状態に書き換える。例えば、ページ番号及びメッセージダイジェストに無効な値が設定される。次いで、制御部11は、ステップS261に移行する。ステップS261において、制御部11は、登録されたページ情報の親ページ情報が存在しない場合には(ステップS261:NO)、ルートリンク情報登録処理を実行する(ステップS264)。制御部11は、ルートリンク情報登録処理を終えると、レコード削除処理を終了させる。   Next, the control unit 11 rewrites the link information indicating the old child page information stored in the page information currently referred to to the link information indicating the new child page information (step S263). However, when the child page information has been deleted in step S260, the control unit 11 rewrites the link information that has pointed to the old child page information to a state that does not indicate anything. For example, invalid values are set for the page number and the message digest. Next, the control unit 11 proceeds to step S261. In step S261, when there is no parent page information of the registered page information (step S261: NO), the control unit 11 executes a root link information registration process (step S264). When finishing the root link information registration process, the control unit 11 ends the record deletion process.

図14は、本実施形態に係るセンターサーバSAにおける制御部11のページ情報取得処理における処理例を示すフローチャートである。   FIG. 14 is a flowchart illustrating a processing example in the page information acquisition processing of the control unit 11 in the center server SA according to the present embodiment.

先ず、制御部11は、指定されたリンク情報が有効なページ情報を指しているか否かを判定する(ステップS301)。例えば、リンク情報のページ番号が無効な値に設定される場合、このリンク情報は有効なページ情報を指していない。例えば、ページ番号が1から始まるように定められている場合、ページ番号に1以上の値が設定されているリンク情報は有効であり、ページ番号に0が設定されているリンク情報は無効である。このとき、制御部11は、指定されたリンク情報が有効なページ情報を指していない場合には(ステップS301:NO)、ページ情報取得処理を終了させる。この場合、ページ情報無しという情報が、呼び出し元の処理に返却される。   First, the control unit 11 determines whether or not the designated link information indicates valid page information (step S301). For example, when the page number of the link information is set to an invalid value, this link information does not indicate valid page information. For example, when the page number is determined to start from 1, link information in which a value of 1 or more is set for the page number is valid, and link information in which the page number is set to 0 is invalid. . At this time, if the specified link information does not indicate valid page information (step S301: NO), the control unit 11 ends the page information acquisition process. In this case, information that there is no page information is returned to the caller process.

一方、制御部11は、指定されたリンク情報が有効なページ情報を指している場合には(ステップS301:YES)、このリンク情報に含まれるページ番号が指すファイルからページ情報を読み出してRAMに格納する(ステップS302)。   On the other hand, when the designated link information indicates valid page information (step S301: YES), the control unit 11 reads the page information from the file indicated by the page number included in the link information and stores it in the RAM. Store (step S302).

次いで、制御部11は、指定されたリンク情報に含まれるメッセージダイジェストを用いて、読み出したページ情報の改竄をチェックする(ステップS303)。具体的に、制御部11は、読み出したページ情報のメッセージダイジェストを計算する。このメッセージダイジェストの計算には、ページ情報登録処理でメッセージダイジェストを計算したときと同じハッシュ関数が用いられる。そして、制御部11は、計算したメッセージダイジェストと指定されたリンク情報に含まれるメッセージダイジェストとが一致するか否かを判定する。ここで、一致する場合にはルートリンク情報は改竄されていないとされ、一致しない場合には改竄されている。   Next, the control unit 11 checks the read page information for falsification using the message digest included in the designated link information (step S303). Specifically, the control unit 11 calculates a message digest of the read page information. For the calculation of the message digest, the same hash function as that used when the message digest is calculated in the page information registration process is used. Then, the control unit 11 determines whether or not the calculated message digest matches the message digest included in the specified link information. Here, if they match, the root link information is not falsified, and if they do not match, they are falsified.

次いで、制御部11は、読み出したルートページ情報は改竄されているか否かを判定する(ステップS304)。このとき、制御部11は、ページ情報は改竄されている場合には(ステップS304:YES)、エラー終了とさせる。この場合は、例えば、表示部14に、ページ情報が改竄されている旨のエラー表示がなされ、データベース管理プログラムの実行が中断される。   Next, the control unit 11 determines whether or not the read route page information has been tampered with (step S304). At this time, if the page information has been tampered with (step S304: YES), the control unit 11 ends the error. In this case, for example, an error message indicating that the page information has been tampered with is displayed on the display unit 14, and the execution of the database management program is interrupted.

一方、制御部11は、ページ情報は改竄されていない場合には(ステップS304:NO)、読み出したページ情報を呼び出し元の処理に返却し、ページ情報取得処理を終了させる。   On the other hand, when the page information has not been tampered with (step S304: NO), the control unit 11 returns the read page information to the caller process, and ends the page information acquisition process.

図15は、本実施形態に係るセンターサーバSAにおける制御部11のレコード検索処理における処理例を示すフローチャートである。   FIG. 15 is a flowchart illustrating a processing example in the record search processing of the control unit 11 in the center server SA according to the present embodiment.

先ず、制御部11は、ステップS351〜S355の処理を実行する。これらの処理は、レコード追加処理におけるステップS201〜S205の処理と同様である。つまり、制御部11は、現在のルートリンク情報をRAMから取得する(ステップS351)。次いで、制御部11は、ページ情報取得処理を実行する(ステップS352)。次いで、制御部11は、検索手段として、指定された検索キーと、節ページ情報に設定されているインデックスとに基づいて、担当ページ情報を決定する。具体的に、制御部11は、取得されたページ情報が、指定された検索キーに対応するレコードの担当ページ情報であるか否かを判定する(ステップS353)。制御部11は、取得されたページ情報が削除対象レコードの担当ページ情報ではない場合には(ステップS353:NO)、現在参照しているページ情報から、次のページ情報へのリンク情報を取得する(ステップS354)。次いで、制御部11は、次のページ情報へのリンク情報が存在するか否かを判定する(ステップS355)。このとき、制御部11は、次のページ情報へのリンク情報が存在しない場合には(ステップS355:NO)、指定された検索キーに対応するレコードが発見されなかった旨をオペレータに提示する(ステップS356)。例えば、発見されなかった旨のメッセージが表示部14に表示される。   First, the control part 11 performs the process of step S351-S355. These processes are the same as the processes in steps S201 to S205 in the record addition process. That is, the control unit 11 acquires the current root link information from the RAM (step S351). Next, the control unit 11 executes a page information acquisition process (step S352). Next, the control unit 11 determines the responsible page information based on the designated search key and the index set in the node page information as a search means. Specifically, the control unit 11 determines whether or not the acquired page information is assigned page information of a record corresponding to the designated search key (step S353). When the acquired page information is not the assigned page information of the deletion target record (step S353: NO), the control unit 11 acquires link information to the next page information from the currently referred page information. (Step S354). Next, the control unit 11 determines whether there is link information to the next page information (step S355). At this time, if the link information to the next page information does not exist (step S355: NO), the control unit 11 presents to the operator that a record corresponding to the designated search key has not been found ( Step S356). For example, a message indicating that it was not found is displayed on the display unit 14.

ステップS353において、制御部11は、取得されたページ情報が検索キーに対応するレコードの担当ページ情報である場合には(ステップS353:YES)、担当ページ情報は検索キーに対応するレコードを格納しているか否かを判定する(ステップS357)。このとき、制御部11は、担当ページ情報は検索キーに対応するレコードを格納していない場合には(ステップS357:NO)、指定された検索キーに対応するレコードが発見されなかった旨をオペレータに提示する(ステップS356)。一方、制御部11は、担当ページ情報は検索キーに対応するレコードを格納している場合には、発見したレコードの情報をオペレータに提示する。例えば、レコードの内容が表示部14に表示される。制御部11は、ステップS356又はステップS358の処理を終えると、レコード検索処理を終了させる。   In step S353, when the acquired page information is the assigned page information of the record corresponding to the search key (step S353: YES), the assigned page information stores the record corresponding to the search key. It is determined whether or not (step S357). At this time, if the assigned page information does not store the record corresponding to the search key (step S357: NO), the control unit 11 indicates that the record corresponding to the designated search key has not been found. (Step S356). On the other hand, when the assigned page information stores a record corresponding to the search key, the control unit 11 presents the information of the found record to the operator. For example, the contents of the record are displayed on the display unit 14. When the process of step S356 or step S358 is completed, the control unit 11 ends the record search process.

[6.2 ノードNnの動作]
図16は、本実施形態に係るノードNnにおける制御部21の処理例を示すフローチャートである。
[6.2 Operation of node Nn]
FIG. 16 is a flowchart illustrating a processing example of the control unit 21 in the node Nn according to the present embodiment.

図16に示す処理は、例えば、ノードNnが、コンテンツ分散保存システムSに参加したときに開始される。先ず、制御部21は、コンテンツ分散保存システムSに参加している他のノードNnから最新のルートリンク情報及びページ情報を取得する(ステップS501)。例えば、制御部21は、要求先のノードNnにメッセージを送信することにより、この要求先のノードNnから送信されてきたルートリンク情報及びページ情報を受信する。そして、制御部21は、ルートリンク情報をRAMに格納し、ページ情報をファイルに保存する。   The process shown in FIG. 16 is started when, for example, the node Nn participates in the content distributed storage system S. First, the control unit 21 acquires the latest root link information and page information from other nodes Nn participating in the content distributed storage system S (step S501). For example, the control unit 21 receives the root link information and the page information transmitted from the requested node Nn by transmitting a message to the requested node Nn. Then, the control unit 21 stores the root link information in the RAM and saves the page information in a file.

次いで、制御部21は、ユーザからの終了指示があったか否かを、入力部30からの入力に基づいて判定する(ステップS502)。   Next, the control unit 21 determines whether there is an end instruction from the user based on the input from the input unit 30 (step S502).

ステップS502において、制御部21は、終了指示がない場合には(ステップS502:NO)、ユーザからのレコードの検索要求があったか否かを、入力部30からの入力に基づいて判定する(ステップS503)。このとき、制御部21は、レコードの検索要求があった場合には(ステップS503:YES)、レコード検索処理を実行する(ステップS504)。このレコード検索処理では、ユーザにより指定された検索キーに対応するレコードがカタログ情報から検索される。なお、レコード検索処理の内容は、センターサーバSAにおけるレコード検索処理の内容と同様であるので、詳細な説明は省略する。   In step S502, when there is no termination instruction (step S502: NO), the control unit 21 determines whether there is a record search request from the user based on the input from the input unit 30 (step S503). ). At this time, if there is a record search request (step S503: YES), the control unit 21 executes a record search process (step S504). In this record search process, a record corresponding to the search key designated by the user is searched from the catalog information. Since the contents of the record search process are the same as the contents of the record search process in the center server SA, detailed description thereof is omitted.

ステップS503において、制御部21は、レコードの検索要求がなかった場合には(ステップS503:NO)、ルートリンク情報メッセージを受信したか否かを判定する(ステップS505)。このとき、制御部21は、ルートリンク情報メッセージを受信した場合には(ステップS505:YES)、このルートリンク情報メッセージに含まれる情報をルートリンク情報としてRAMに設定する(ステップS506)。   In step S503, when there is no record search request (step S503: NO), the control unit 21 determines whether or not a root link information message has been received (step S505). At this time, when receiving the root link information message (step S505: YES), the control unit 21 sets the information included in the root link information message in the RAM as root link information (step S506).

ステップS505において、制御部21は、ルートリンク情報メッセージを受信していない場合には(ステップS505:NO)、ページ情報メッセージを受信したか否かを判定する(ステップS507)。このとき、制御部21は、ページ情報メッセージを受信した場合には(ステップS507:YES)、このページ情報メッセージに含まれる情報をページ情報としてファイルに保存する(ステップS508)。   In step S505, when the root link information message is not received (step S505: NO), the control unit 21 determines whether a page information message is received (step S507). At this time, when the control unit 21 receives the page information message (step S507: YES), the control unit 21 stores the information included in the page information message in the file as page information (step S508).

制御部21は、ステップS504、S506又はS508の処理を終えたとき、或いは、ステップS507において、ページ情報メッセージを受信していない場合には(ステップS507:NO)、ステップS502に移行する。そして、制御部11は、ステップS502においてユーザからの終了指示があった場合には(ステップS502:YES)、本処理を終了させる。   When the process of step S504, S506, or S508 is completed, or when the page information message is not received in step S507 (step S507: NO), the control unit 21 proceeds to step S502. Then, when there is an end instruction from the user in step S502 (step S502: YES), the control unit 11 ends this process.

以上説明したように、本実施形態によれば、制御部11が、一又は複数のレコードが格納された葉ページ情報を作成する。また、制御部11が、ルートページ情報の子ページ情報のメッセージダイジェストと、この子ページ情報のページ番号を含むリンク情報が格納されたルートページ情報を作成する。また、制御部11が、ルートページ情報以外の節ページ情報の子ページ情報のメッセージダイジェストと、この子ページ情報のページ番号を含むリンク情報が格納された節ページ情報を作成する。そして、制御部11が、作成した葉ページ情報、ルートページ情報及び節ページ情報を、木構造として記憶部12に保存する。   As described above, according to the present embodiment, the control unit 11 creates leaf page information in which one or more records are stored. In addition, the control unit 11 creates root page information in which a message digest of child page information of the root page information and link information including the page number of the child page information are stored. Further, the control unit 11 creates node page information in which a message digest of child page information of node page information other than the root page information and link information including the page number of the child page information are stored. Then, the control unit 11 stores the created leaf page information, root page information, and node page information in the storage unit 12 as a tree structure.

従って、木構造でレコードを管理することで、レコードの改竄チェックもでき、レコードの検索処理の時間が減る。   Therefore, by managing records in a tree structure, it is possible to check for falsification of records and to reduce the time for record search processing.

また、制御部11が、ルートページ情報のメッセージダイジェストと、ルートページ情報のページ番号と、ルートリンク情報の電子署名とが格納されたルートリンク情報を作成する。そして、制御部11が、作成したルートリンク情報を記憶部12に保存する。   Also, the control unit 11 creates root link information in which a message digest of root page information, a page number of root page information, and an electronic signature of root link information are stored. Then, the control unit 11 stores the created root link information in the storage unit 12.

従って、従来は全てのレコードに電子署名を施す必要があったのに対し、ルートリンク情報のみに電子署名を施すことで、子に位置するレコードの改竄を保障するために、根ページの電子署名を確かめることで、確認することができる。そのため、各レコードに電子署名を付与するに対し、各レコードのデータ量が小さくなる。また、各レコードに電子署名を施す処理が必要なくなるため、電子署名処理が不要となる。   Therefore, in the past, it was necessary to apply an electronic signature to all the records, but by applying an electronic signature only to the root link information, the electronic signature of the root page is guaranteed in order to guarantee tampering of the record located in the child. By confirming, you can confirm. For this reason, the data amount of each record is reduced while an electronic signature is assigned to each record. In addition, since a process for applying an electronic signature to each record is not necessary, an electronic signature process becomes unnecessary.

また、制御部11が、入力部15から入力された検索キーと、節ページ情報に設定されているインデックスとに基づいて、担当ページ情報を決定する。また、制御部11が、決定した担当ページ情報に新規レコードが追加可能であるか否かを判定する。新規レコードが追加可能である場合には、制御部11が、決定した担当ページ情報の内容に新規レコードが追加設定された新たな葉ページ情報を作成する。一方、新規レコードが追加可能ではない場合、制御部11が、新たな葉ページ情報を作成し、新規レコードを新たな葉ページ情報に追加設定する。そして、制御部11が、新たに作成した葉ページ情報の親ページ情報からルートページ情報までの各節ページ情報のページ番号及びメッセージダイジェストを更新する。また、制御部11が、決定した葉ページ情報に、削除対象レコードが格納されている場合には、この削除対象レコードを削除した新たな葉ページ情報を作成する。そして、制御部11が、新たに作成した葉ページ情報の親ページ情報からルートページ情報までの各節ページ情報のページ番号及びメッセージダイジェストを更新する。   In addition, the control unit 11 determines the assigned page information based on the search key input from the input unit 15 and the index set in the node page information. Further, the control unit 11 determines whether or not a new record can be added to the determined assigned page information. If a new record can be added, the control unit 11 creates new leaf page information in which the new record is additionally set in the content of the determined assigned page information. On the other hand, when a new record cannot be added, the control unit 11 creates new leaf page information and additionally sets the new record as new leaf page information. Then, the control unit 11 updates the page number and message digest of each section page information from the parent page information of the newly created leaf page information to the root page information. Moreover, when the deletion target record is stored in the determined leaf page information, the control unit 11 creates new leaf page information from which the deletion target record is deleted. Then, the control unit 11 updates the page number and message digest of each section page information from the parent page information of the newly created leaf page information to the root page information.

従って、木構造における葉ページ情報にレコードを簡単に追加することができる。また、担当ページ情報に新規レコードが追加不可能であっても、新たに追加した葉ページ情報に新規レコードを追加することができる。   Therefore, a record can be easily added to the leaf page information in the tree structure. Further, even if a new record cannot be added to the assigned page information, a new record can be added to the newly added leaf page information.

また、制御部11が、入力部15から入力された検索キーと、節ページ情報に設定されているインデックスとに基づいて、担当ページ情報を決定する。また、制御部11が、決定した担当ページ情報に、削除対象レコードが格納されている場合には、この削除対象レコードを削除した新たな葉ページ情報を作成する。そして、制御部11が、新たに作成した葉ページ情報の親ページ情報からルートページ情報までの各節ページ情報のページ番号及びメッセージダイジェストを更新する。   In addition, the control unit 11 determines the assigned page information based on the search key input from the input unit 15 and the index set in the node page information. In addition, when a deletion target record is stored in the determined assigned page information, the control unit 11 creates new leaf page information in which the deletion target record is deleted. Then, the control unit 11 updates the page number and message digest of each section page information from the parent page information of the newly created leaf page information to the root page information.

従って、例えば古くなり削除したいレコードを排除することができる。   Therefore, for example, it is possible to eliminate a record that becomes old and is to be deleted.

また、制御部11が、入力部15により入力された検索キーと、節ページ情報に設定されているインデックスとに基づいて、担当ページ情報を決定する。制御部11は、決定した担当ページ情報に、検索対象レコードが格納されている場合には、この検索対象レコードの情報をオペレータに提示する。   Further, the control unit 11 determines the assigned page information based on the search key input by the input unit 15 and the index set in the node page information. When the search target record is stored in the determined assigned page information, the control unit 11 presents information on the search target record to the operator.

従って、検索対象のレコードを迅速に検索することができる。   Therefore, a search target record can be quickly searched.

なお、上記実施形態においては、本発明に係る管理装置を、ピアツーピアシステムにおけるサーバ装置に適用していたが、例えば、クライアント−サーバシステムにおけるサーバ装置に適用しても良い。   In the above embodiment, the management apparatus according to the present invention is applied to a server apparatus in a peer-to-peer system, but may be applied to a server apparatus in a client-server system, for example.

また、本発明は、コンテンツカタログ情報の検索に限定されるものではない。汎用的なデータベースのレコードとインデックスとしても適用可能である。   Further, the present invention is not limited to searching for content catalog information. It can also be applied as a general-purpose database record and index.

3 IX
4a、4b ISP
5a、5b DSL回線業者の装置
6 FTTH回線業者の装置
7 通信回線
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 通信部
14 表示部
15 入力部
16 バス
21 制御部
22 記憶部
23 バッファメモリ
24 デコーダ部
25 映像処理部
26 表示部
27 音声処理部
28 スピーカ
29 通信部
30 入力部
31 バス
Nn ノード
SA センターサーバ
S コンテンツ分散保存システム
3 IX
4a, 4b ISP
5a, 5b DSL line dealer apparatus 6 FTTH line dealer apparatus 7 communication line 8 network 9 overlay network 11 control section 12 storage section 13 communication section 14 display section 15 input section 16 bus 21 control section 22 storage section 23 buffer memory 24 decoder Unit 25 video processing unit 26 display unit 27 audio processing unit 28 speaker 29 communication unit 30 input unit 31 bus Nn node SA center server S content distributed storage system

Claims (8)

複数のページ情報を木構造として、根に位置する根ページ情報から葉に位置する葉ページ情報にかけて関連付けて記憶するページ情報記憶手段と、
一又は複数のレコードを含む前記葉ページ情報を生成する葉ページ情報生成手段と、
前記根ページ情報の子の位置の子ページ情報または前記根ページ情報の子の位置の前記レコードの改竄をチェックするための改竄チェック情報と、前記根ページ情報の子の位置の子ページ情報のシリアル番号とを含む前記根ページ情報を生成する根ページ情報生成手段と、
前記根ページ情報から前記葉ページ情報までの間に位置する節ページ情報の子の位置の子ページ情報または前記節ページ情報の子の位置の前記レコードの改竄をチェックするための改竄チェック情報と、前記節ページ情報の子の位置の子ページ情報のシリアル番号とを含む前記節ページ情報を生成する節ページ情報生成手段と、
を備え、
前記ページ情報記憶手段は、前記根ページ情報と、前記節ページ情報と、前記葉ページ情報とを前記木構造で記憶することを特徴とする管理装置。
A page information storage means for storing a plurality of page information as a tree structure in association with the root page information located at the root to the leaf page information located at the leaf;
Leaf page information generating means for generating the leaf page information including one or more records;
Serial of child page information at the child position of the root page information or falsification check information for checking falsification of the record at the child position of the root page information and child page information at the child position of the root page information Root page information generating means for generating the root page information including a number;
Tamper check information for checking tampering of the child page information of the node page information located between the root page information and the leaf page information or tampering of the record at the child position of the node page information; Node page information generating means for generating the node page information including a child page information serial number at a child position of the node page information;
With
The page information storage means stores the root page information, the node page information, and the leaf page information in the tree structure.
前記根ページ情報のシリアル番号と、前記根ページ情報の改竄をチェックするための改竄チェック情報とから構成されるルートリンク情報と、当該ルートリンク情報の改竄をチェックするための電子署名とを生成するルートリンク情報生成手段を備え、
前記ページ情報記憶手段は、前記ルートリンク情報と、前記根ページ情報と、前記節ページ情報と、前記葉ページ情報とを前記木構造で記憶することを特徴とする請求項1に記載の管理装置。
Generate root link information composed of a serial number of the root page information, falsification check information for checking falsification of the root page information, and an electronic signature for checking falsification of the root link information. A root link information generating means;
The management apparatus according to claim 1, wherein the page information storage means stores the root link information, the root page information, the node page information, and the leaf page information in the tree structure. .
前記根ページ情報生成手段は、前記木構造において前記根ページ情報を親として、親と子の関係にある1または複数のページ情報に対応するインデックス情報の担当領域を示す担当領域情報を更に生成し、
前記節ページ情報生成手段は、前記木構造において前記節ページ情報を親として、親と子の関係にある1または複数のページ情報のインデックス情報の担当領域を示す担当領域情報を更に生成し、
追加対象の追加レコードと、当該レコードのインデックス情報とを入力する追加入力手段と、
前記追加入力手段により入力されたインデックス情報と、前記根ページ情報または前記節ページ情報の前記担当領域情報とに基づいて、前記追加レコードを登録する前記葉ページ情報を決定する追加葉ページ決定手段と、
前記追加葉ページ決定手段により決定された葉ページ情報に前記追加レコードを登録する登録手段と、
前記追加葉ページ決定手段により決定された葉ページ情報に新たなシリアル番号を割り当てる割当手段と、
前記追加レコードが登録された葉ページ情報から前記根ページ情報までの前記節ページ情報と前記根ページ情報との前記シリアル番号及び前記チェック情報を、前記追加レコードの登録に基づいて更新する追加更新手段と、
を備えることを特徴とする請求項1または請求項2に記載の管理装置。
The root page information generation means further generates responsible area information indicating a responsible area of index information corresponding to one or a plurality of page information having a parent-child relationship with the root page information as a parent in the tree structure. ,
The node page information generation means further generates assigned region information indicating an assigned region of index information of one or more page information having a parent-child relationship with the node page information as a parent in the tree structure,
An additional input means for inputting an additional record to be added and index information of the record;
Additional leaf page determining means for determining the leaf page information for registering the additional record, based on the index information input by the additional input means and the assigned area information of the root page information or the node page information; ,
Registration means for registering the additional record in the leaf page information determined by the additional leaf page determination means;
Assigning means for assigning a new serial number to the leaf page information determined by the additional leaf page determining means;
Additional update means for updating the serial number and the check information of the node page information and the root page information from the leaf page information to which the additional record is registered to the root page information based on the registration of the additional record When,
The management apparatus according to claim 1, further comprising:
前記追加ページ決定手段は、前記決定された葉ページ情報に前記追加レコードが登録可能であるかを判定する判定手段を備え、
前記判定手段により前記追加レコードが登録不可能であると判定された場合、前記葉ページ情報生成手段は、新たな葉ページ情報を生成し、
前記登録手段は、前記新たに生成された葉ページ情報に前記追加レコードを登録し、
前記割当手段は、前記新たに生成された葉ページ情報に新たなシリアル番号を割り当て、
前記追加更新手段は、前記新たに生成された葉ページ情報から前記根ページ情報までの前記節ページ情報と前記根ページ情報との前記シリアル番号及び前記チェック情報を、前記追加レコードの登録に基づいて更新することを特徴とする請求項3に記載の管理装置。
The additional page determining means includes a determining means for determining whether the additional record can be registered in the determined leaf page information.
When the determination unit determines that the additional record cannot be registered, the leaf page information generation unit generates new leaf page information,
The registration means registers the additional record in the newly generated leaf page information,
The assigning means assigns a new serial number to the newly generated leaf page information,
The additional update means, based on registration of the additional record, the serial number and the check information of the node page information and the root page information from the newly generated leaf page information to the root page information. The management apparatus according to claim 3, wherein the management apparatus is updated.
前記根ページ情報生成手段は、前記木構造において前記根ページを親として、親と子の関係にあるページ情報のインデックス情報の担当領域を示す担当領域情報を更に生成し、
前記節ページ情報生成手段は、前記木構造において前記節ページ情報を親として、親と子の関係にあるページ情報のインデックス情報の担当領域を示す担当領域情報を更に生成し、
削除対象の削除レコードのインデックス情報を入力する削除入力手段と、
前記削除入力手段により入力されたインデックス情報と、前記根ページ情報または前記節ページ情報の前記担当領域情報とに基づいて、前記削除レコードを登録する前記葉ページ情報を決定する削除葉ページ決定手段と、
前記削除葉ページ決定手段により決定された葉ページ情報から前記根ページ情報までの前記節ページ情報と前記根ページ情報との前記シリアル番号及び前記チェック情報を、前記葉ページ情報の決定に基づいて更新する削除更新手段と、
を備えることを特徴とする請求項1から請求項4のいずれか一項に記載の管理装置。
The root page information generation means further generates responsible area information indicating a responsible area of index information of page information having a parent-child relationship with the root page in the tree structure as a parent,
The node page information generation means further generates assigned region information indicating an assigned region of index information of page information in a parent-child relationship with the node page information as a parent in the tree structure,
A deletion input means for inputting index information of a deletion record to be deleted;
Deleted leaf page determination means for determining the leaf page information for registering the deletion record, based on the index information input by the deletion input means and the assigned area information of the root page information or the node page information; ,
Updating the serial number and the check information of the node page information and the root page information from the leaf page information to the root page information determined by the deleted leaf page determination means based on the determination of the leaf page information Delete and update means,
The management apparatus according to any one of claims 1 to 4, further comprising:
前記葉ページ情報には、当該葉ページ情報に含まれる前記レコードを検索するためのインデックス情報が含まれており、
前記根ページ情報生成手段は、前記木構造において前記根ページを親として、親と子の関係にあるページ情報のインデックス情報の担当領域を示す担当領域情報を更に生成し、
前記節ページ情報生成手段は、前記木構造において前記節ページ情報を親として、親と子の関係にあるページ情報のインデックス情報の担当領域を示す担当領域情報を更に生成し、
検索対象の検索レコードのインデックス情報を入力する検索入力手段と、
前記検索入力手段により入力されたインデックス情報と、前記根ページ情報または前記節ページ情報の前記担当領域情報に基づいて、前記検索レコードのインデックス情報を検索する検索手段と、
を備えることを特徴とする請求項1から請求項5のいずれか一項に記載の管理装置。
The leaf page information includes index information for searching for the record included in the leaf page information,
The root page information generation means further generates responsible area information indicating a responsible area of index information of page information having a parent-child relationship with the root page in the tree structure as a parent,
The node page information generation means further generates assigned region information indicating an assigned region of index information of page information in a parent-child relationship with the node page information as a parent in the tree structure,
Search input means for inputting index information of search records to be searched;
Search means for searching index information of the search record based on the index information input by the search input means and the assigned area information of the root page information or the node page information;
The management apparatus according to any one of claims 1 to 5, further comprising:
複数のページ情報を木構造として管理するため、木構造における根に位置する根ページ情報の子の位置の子ページ情報または前記根ページ情報の子の位置の前記レコードの改竄をチェックするための改竄チェック情報と、前記根ページ情報の子の位置の子ページ情報のシリアル番号とを含む前記根ページ情報を生成する根ページ情報生成ステップと、
一又は複数のレコードを含む葉ページ情報を生成する葉ページ情報生成ステップと、
前記木構造における前記根ページ情報から前記葉ページ情報までの間に位置する節ページ情報の子の位置の子ページ情報または前記節ページ情報の子の位置の前記レコードの改竄をチェックするための改竄チェック情報と、前記節ページ情報の子の位置の子ページ情報のシリアル番号とを含む前記節ページ情報を生成する節ページ情報生成ステップと、
前記根ページ情報と、前記節ページ情報と、前記葉ページ情報とを、前記複数のページ情報として前記木構造で記憶するページ情報記憶ステップと、
をコンピュータに実現させるための情報生成プログラム。
In order to manage a plurality of page information as a tree structure, the child page information at the child position of the root page information located at the root in the tree structure or the falsification for checking the falsification of the record at the child position of the root page information A root page information generation step for generating the root page information including check information and a serial number of the child page information at a child position of the root page information;
A leaf page information generation step for generating leaf page information including one or more records;
Falsification for checking the falsification of the child page information at the child position of the node page information located between the root page information and the leaf page information or the record at the child position of the node page information in the tree structure A node page information generating step for generating the node page information including check information and a serial number of the child page information at a child position of the node page information;
A page information storage step of storing the root page information, the node page information, and the leaf page information as the plurality of page information in the tree structure;
Information generation program for realizing the above on a computer.
複数のページ情報を木構造として管理するため、木構造における根に位置する根ページ情報の子の位置の子ページ情報または前記根ページ情報の子の位置の前記レコードの改竄をチェックするための改竄チェック情報と、前記根ページ情報の子の位置の子ページ情報のシリアル番号とを含む前記根ページ情報を生成する根ページ情報生成ステップと、
一又は複数のレコードを含む葉ページ情報を生成する葉ページ情報生成ステップと、
前記木構造における前記根ページ情報から前記葉ページ情報までの間に位置する節ページ情報の子の位置の子ページ情報または前記節ページ情報の子の位置の前記レコードの改竄をチェックするための改竄チェック情報と、前記節ページ情報の子の位置の子ページ情報のシリアル番号とを含む前記節ページ情報を生成する節ページ情報生成ステップと、
前記根ページ情報と、前記節ページ情報と、前記葉ページ情報とを、前記複数のページ情報として前記木構造で記憶するページ情報記憶ステップと、
を含むことを特徴とする情報生成方法。
In order to manage a plurality of page information as a tree structure, the child page information at the child position of the root page information located at the root in the tree structure or the falsification for checking the falsification of the record at the child position of the root page information A root page information generation step for generating the root page information including check information and a serial number of the child page information at a child position of the root page information;
A leaf page information generation step for generating leaf page information including one or more records;
Falsification for checking the falsification of the child page information at the child position of the node page information located between the root page information and the leaf page information or the record at the child position of the node page information in the tree structure A node page information generating step for generating the node page information including check information and a serial number of the child page information at a child position of the node page information;
A page information storage step of storing the root page information, the node page information, and the leaf page information as the plurality of page information in the tree structure;
An information generation method comprising:
JP2009112334A 2009-05-01 2009-05-01 Management device, information generation program, and information generation method Active JP5338461B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009112334A JP5338461B2 (en) 2009-05-01 2009-05-01 Management device, information generation program, and information generation method
US12/659,794 US8311976B2 (en) 2009-05-01 2010-03-22 Management apparatus, recording medium recording an information generation program, and information generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009112334A JP5338461B2 (en) 2009-05-01 2009-05-01 Management device, information generation program, and information generation method

Publications (2)

Publication Number Publication Date
JP2010262455A true JP2010262455A (en) 2010-11-18
JP5338461B2 JP5338461B2 (en) 2013-11-13

Family

ID=43031181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009112334A Active JP5338461B2 (en) 2009-05-01 2009-05-01 Management device, information generation program, and information generation method

Country Status (2)

Country Link
US (1) US8311976B2 (en)
JP (1) JP5338461B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014174661A (en) * 2013-03-07 2014-09-22 Ibaraki Univ Retrieval system, retrieval method and retrieval program

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140032714A1 (en) * 2012-07-27 2014-01-30 Interdigital Patent Holdings, Inc. Method and apparatus for publishing location information for a content object
US11258796B2 (en) * 2018-07-05 2022-02-22 Fungible, Inc. Data processing unit with key value store

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255103A (en) * 1995-03-17 1996-10-01 Fujitsu Ltd Method and device for file management
JP2001155028A (en) * 1999-11-29 2001-06-08 Hitachi Ltd Aggregate calculation processing method and device for relational database, and computer readable recording medium recorded with aggregate arithmetic processing program
JP2004078696A (en) * 2002-08-20 2004-03-11 Nippon Telegr & Teleph Corp <Ntt> File system integrity assuring method, computer system materializing integrity assuring file system, and file system integrity assuring program and recording medium
JP2004110216A (en) * 2002-09-17 2004-04-08 Fuji Xerox Co Ltd Searching device and method
JP2008178048A (en) * 2007-01-22 2008-07-31 Fujitsu Ltd Electronic signature program, recording medium with the program recorded thereon, electronic signature apparatus, and electronic signature method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530757A (en) * 1994-06-28 1996-06-25 International Business Machines Corporation Distributed fingerprints for information integrity verification
US6785666B1 (en) * 2000-07-11 2004-08-31 Revenue Science, Inc. Method and system for parsing navigation information
US7107338B1 (en) * 2001-12-05 2006-09-12 Revenue Science, Inc. Parsing navigation information to identify interactions based on the times of their occurrences
JP2004056620A (en) * 2002-07-23 2004-02-19 Sony Corp Information processor, information processing method and computer program
WO2006075424A1 (en) 2005-01-13 2006-07-20 Brother Kogyo Kabushiki Kaisha Information distribution system, distribution demand program, transfer program, distribution program and so on
JP4418897B2 (en) 2005-01-14 2010-02-24 ブラザー工業株式会社 Information distribution system, information update program, information update method, etc.
US7984018B2 (en) * 2005-04-18 2011-07-19 Microsoft Corporation Efficient point-to-multipoint data reconciliation
JP2007280303A (en) 2006-04-11 2007-10-25 Brother Ind Ltd Information communication system, content catalogue information distribution method and node device
US7797310B2 (en) * 2006-10-16 2010-09-14 Oracle International Corporation Technique to estimate the cost of streaming evaluation of XPaths
US7725437B2 (en) * 2007-07-31 2010-05-25 Hewlett-Packard Development Company, L.P. Providing an index for a data store
US7856437B2 (en) * 2007-07-31 2010-12-21 Hewlett-Packard Development Company, L.P. Storing nodes representing respective chunks of files in a data store

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255103A (en) * 1995-03-17 1996-10-01 Fujitsu Ltd Method and device for file management
JP2001155028A (en) * 1999-11-29 2001-06-08 Hitachi Ltd Aggregate calculation processing method and device for relational database, and computer readable recording medium recorded with aggregate arithmetic processing program
JP2004078696A (en) * 2002-08-20 2004-03-11 Nippon Telegr & Teleph Corp <Ntt> File system integrity assuring method, computer system materializing integrity assuring file system, and file system integrity assuring program and recording medium
JP2004110216A (en) * 2002-09-17 2004-04-08 Fuji Xerox Co Ltd Searching device and method
JP2008178048A (en) * 2007-01-22 2008-07-31 Fujitsu Ltd Electronic signature program, recording medium with the program recorded thereon, electronic signature apparatus, and electronic signature method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014174661A (en) * 2013-03-07 2014-09-22 Ibaraki Univ Retrieval system, retrieval method and retrieval program

Also Published As

Publication number Publication date
US20100281062A1 (en) 2010-11-04
US8311976B2 (en) 2012-11-13
JP5338461B2 (en) 2013-11-13

Similar Documents

Publication Publication Date Title
US8676855B2 (en) Distributed storage system, management apparatus, node apparatus, recording medium on which node program is recorded, page information acquisition method, recording medium on which page information sending program is recorded, and page information sending method
JP4696721B2 (en) Document management server, document management system
JP5141494B2 (en) Content distributed storage system, special content acquisition method, node device, and node processing program
KR101330392B1 (en) Network nodes and methods for data authorization in distributed storage networks
JP5343793B2 (en) INFORMATION GENERATION DEVICE, INFORMATION GENERATION PROGRAM, INFORMATION GENERATION METHOD, NODE DEVICE, NODE PROGRAM, AND SEARCH METHOD
US20080319956A1 (en) Tree-type broadcast system, reconnection process method, node device, node process program, server device, and server process program
JP4561283B2 (en) Node device, shared information update method, shared information storage method, shared information update processing program, and shared information storage processing program
US7853718B2 (en) Information delivery system, reregistration message sending method, node device, and recording medium recording node processing program
CN105282217A (en) Difference based content networking
JP5338461B2 (en) Management device, information generation program, and information generation method
JP4635904B2 (en) Registration apparatus, registration method, and registration processing program
JP5370269B2 (en) Distributed storage system, connection information notification method and program for distributed storage system
JP5168334B2 (en) Information generating apparatus, information generating method, and information generating program
JP2010267028A (en) Management device, management processing program, node device, node processing program, and expired record determination method
JP5375272B2 (en) Node device, node processing program, information communication system, and content data management method
JP5458629B2 (en) NODE DEVICE, NODE PROCESSING PROGRAM, AND SEARCH METHOD
JP5278152B2 (en) Management device, node device, node program, page information transmission program, and page information transmission method
JP5278151B2 (en) Distributed storage system, node device, node program, and page information acquisition method
JP2008059398A (en) Identification information allocation device, information processing method therefor, and program therefor
JP2006285328A (en) Node device, information distribution system, information utilization method, and information utilization program
JP5434268B2 (en) Distributed storage system, data file distributed storage method and program
JP5445503B2 (en) Information communication system and information communication method
JP2010026866A (en) Content distribution storage system, total evaluation value management device, management processing program, node device and total evaluation value management method
JP5157770B2 (en) Node device, program, and storage instruction method
JP5347884B2 (en) Information processing system, information processing device, node device, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130621

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: 20130709

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130722

R150 Certificate of patent or registration of utility model

Ref document number: 5338461

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150