JP2010511222A - Peer management server and peer management method in P2P system - Google Patents

Peer management server and peer management method in P2P system Download PDF

Info

Publication number
JP2010511222A
JP2010511222A JP2009538314A JP2009538314A JP2010511222A JP 2010511222 A JP2010511222 A JP 2010511222A JP 2009538314 A JP2009538314 A JP 2009538314A JP 2009538314 A JP2009538314 A JP 2009538314A JP 2010511222 A JP2010511222 A JP 2010511222A
Authority
JP
Japan
Prior art keywords
peer
request message
content
information
message
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
JP2009538314A
Other languages
Japanese (ja)
Other versions
JP5178734B2 (en
Inventor
チョイ・スンウォネ
ジョン・ギョンギョ
チョ・ジュンレ
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.)
Naver Corp
Original Assignee
Naver Corp
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 Naver Corp filed Critical Naver Corp
Publication of JP2010511222A publication Critical patent/JP2010511222A/en
Application granted granted Critical
Publication of JP5178734B2 publication Critical patent/JP5178734B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/108Transfer of content, software, digital rights or licenses
    • G06F21/1085Content sharing, e.g. peer-to-peer [P2P]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本発明は、P2Pシステムにおけるピア管理サーバーに関する。本発明のピア管理サーバーは、P2Pシステムに接続したピアとのコネクションを設定して前記ピアからメッセージを受信し、メッセージ処理のために前記受信したメッセージに相応するクエリ名及びパラメーターを生成するフロントエンドプロセス処理部、前記クエリ名及びパラメーターをクエリ文にマッピングするためのマッピング情報を含み、前記フロントエンドプロセス処理部から受信した前記クエリ名及びパラメーターに相応するクエリ文を出力するSQLマッププロセス処理部、及びアクティブピアとして動作するピア情報及び各ピアが保有するコンテンツ情報を保持し、前記SQLマッププロセス処理部から出力される前記クエリ文によってデータを更新、または抽出するピアデータベースを含む。The present invention relates to a peer management server in a P2P system. The peer management server of the present invention sets up a connection with a peer connected to a P2P system, receives a message from the peer, and generates a query name and parameters corresponding to the received message for message processing. An SQL map process processing unit for outputting a query statement corresponding to the query name and parameters received from the front end process processing unit, including mapping information for mapping the query name and parameters to a query statement; And a peer database that holds peer information that operates as an active peer and content information that each peer holds, and that updates or extracts data according to the query statement output from the SQL map process processing unit.

Description

本発明は、P2Pシステムのピア管理サーバーに関し、より詳しくは、ピアの間のファイルの送受信のためにピア情報を提供するピア管理サーバー及びピア管理方法に関する。   The present invention relates to a peer management server of a P2P system, and more particularly, to a peer management server and a peer management method for providing peer information for sending and receiving files between peers.

P2Pシステムは、既存のクライアントサーバーの概念から離れて、パソコン(ピア)同士で直接連結かつ検索することで、全ての参加者が供給者及び需要者となる形態の通信システムである。   The P2P system is a communication system in which all participants become suppliers and consumers by directly connecting and searching between personal computers (peers) apart from the existing client server concept.

このようなP2Pシステムは、アメリカの「ナップスター(Napster)」、韓国内の「ソリバダ(Soribada)」等のようなサービスによって、音楽ファイルの共有のために初めて試されたものであり、近来は単なる音楽ファイルの共有ではなく、様々なサービスから利用されている。   Such a P2P system was first tested for sharing music files by services such as “Napster” in the US and “Soribada” in Korea. It is used by various services rather than sharing music files.

例えば、P2Pシステムは、ゲームシステムにおいて、クライアントの間のゲームパケットの交換に使われていると共に、コンテンツ提供業者がサーバーの負担を減らすための手段としても活用されている。   For example, the P2P system is used for exchanging game packets between clients in a game system, and is also used as a means for a content provider to reduce the load on the server.

このようなP2Pシステムは、個人クライアント同士を連結するためにピア情報を提供すべきであり、P2Pサービスプロバイダーは、ピア管理サーバーを用いてP2Pシステムに接続したピア情報を管理する。   Such a P2P system should provide peer information in order to connect individual clients, and a P2P service provider manages peer information connected to the P2P system using a peer management server.

従来の場合、P2Pシステムに接続したピア情報は、ツリー構造(Tree Strucutre)のデータ構造(Data Structure)によって管理されることが一般的であった。図1は、従来のピア情報を管理するツリー構造のデータ構造を示した図である。   In the conventional case, peer information connected to the P2P system is generally managed by a data structure of a tree structure (Data Structure). FIG. 1 is a diagram showing a data structure of a tree structure for managing conventional peer information.

図1に示すように、従来は親ノードと子ノードが有機的に連結されたツリー構造リストによって接続したピア情報が管理され、ピアの接続及び解除を処理するアルゴリズムによってピア情報が更新されていた。   As shown in FIG. 1, conventionally, peer information connected by a tree structure list in which a parent node and a child node are organically linked is managed, and the peer information is updated by an algorithm for processing connection and release of peers. .

このように、データ構造によって接続したピア情報が管理される場合、接続したピア情報の一部が失われる問題があり、ピア情報をデータベースではなくデータ構造によって管理することで、サーバーのメモリー空間を占めすぎるという問題があった。   In this way, when the connected peer information is managed by the data structure, there is a problem that a part of the connected peer information is lost. By managing the peer information by the data structure instead of the database, the memory space of the server is reduced. There was a problem of occupying too much.

特に、管理すべきピア情報が増えていく場合、サーバーのメモリー空間には限界があるものであるため、データ構造によってピア情報を管理することは有効ではなかった。   In particular, when the peer information to be managed increases, the memory space of the server is limited, so it is not effective to manage the peer information by the data structure.

また、従来はユーザのIDと個人情報のように、静的な情報のみがデータベースによって管理されていたが、ピア情報をより効率良く処理するために、データベースにおけるピア情報管理及びデータベースにおける有効なピア情報管理のためのサーバープロセスが求められている。   Conventionally, only static information such as user IDs and personal information is managed by the database. However, in order to process peer information more efficiently, peer information management in the database and effective peers in the database are performed. A server process for information management is required.

本発明では、前記のような従来技術の問題点を解決するため、P2Pシステムに接続したピア情報をデータベースによって効率良く管理できるP2Pシステムにおけるピア管理サーバー及びその方法を提案する。   The present invention proposes a peer management server and method in a P2P system that can efficiently manage peer information connected to the P2P system using a database in order to solve the above-described problems of the prior art.

本発明の他の目的は、ピア管理サーバーの状態によってフロントエンドプロセス及びSQLマッププロセスの生成と消滅が制御できるP2Pシステムにおけるピア管理サーバー及びその方法を提案することである。   Another object of the present invention is to propose a peer management server and a method thereof in a P2P system in which generation and disappearance of a front-end process and an SQL map process can be controlled according to the state of the peer management server.

本発明の他の目的は、データベースの管理とクライアントのメッセージ処理を2元化できるP2Pシステムにおけるピア管理サーバー及びその方法を提案することである。   Another object of the present invention is to propose a peer management server and its method in a P2P system capable of dualizing database management and client message processing.

本発明の他の目的は、コンテンツダウンロード時のみにピアがアクティブピアとして動作されるようにするP2Pシステムにおけるピア管理サーバー及びその方法を提案することである。   Another object of the present invention is to propose a peer management server and method in a P2P system that allows a peer to operate as an active peer only when content is downloaded.

前記のような目的を達成するために、本発明の一側面によると、P2Pシステムに接続したピアとのコネクションを設定して前記ピアからメッセージを受信し、メッセージ処理のために前記受信したメッセージに相応するクエリ名及びパラメーターを生成するフロントエンドプロセス処理部、前記クエリ名及びパラメーターをクエリ文にマッピングするためのマッピング情報を含み、前記フロントエンドプロセス処理部から受信した前記クエリ名及びパラメーターに相応するクエリ文を出力するSQLマッププロセス処理部、及びアクティブピアとして動作するピア情報及び各ピアが保有するコンテンツ情報を保持し、前記SQLマッププロセス処理部から出力される前記クエリ文によってデータを更新、または抽出するピアデータベースを含むことを特徴とするP2Pシステムにおけるピーア管理サーバーが提供される。   In order to achieve the above object, according to one aspect of the present invention, a connection is established with a peer connected to a P2P system, a message is received from the peer, and the received message is processed for message processing. A front-end process processing unit for generating a corresponding query name and parameter, mapping information for mapping the query name and parameter to a query statement, and corresponding to the query name and parameter received from the front-end process processing unit An SQL map process processing unit that outputs a query statement, and holds peer information that operates as an active peer and content information held by each peer, and updates data by the query statement output from the SQL map process processing unit, or The peer database to be extracted Pia management server in a P2P system according to claim Mukoto is provided.

なお、前記ピア管理サーバーは、前記ピア接続及びメッセージ処理状態と、前記クエリ文生成状態と、をチェックする状態判断部、及び前記状態判断部の判断結果に相応して前記フロントエンドプロセス処理部及び前記SQLマッププロセス処理部の生成と消滅を制御する制御部をさらに含むことができる。   The peer management server includes a state determination unit that checks the peer connection and message processing state and the query statement generation state, and the front-end process processing unit and the state corresponding to a determination result of the state determination unit. The apparatus may further include a control unit that controls generation and disappearance of the SQL map process processing unit.

ここで、前記ピアから受信されるメッセージは、ピア登録要求メッセージ、ピア登録解除要求メッセージ、及びコンテンツ登録要求メッセージのうち、少なくとも一つを含む。ピア登録要求メッセージは、前記ピアがダウンロード状態の場合、前記ピアをアクティブピアに登録するためのメッセージであり、前記ピア登録解除要求メッセージは、前記ピアがダウンロード完了状態の場合、前記ピアをアクティブピアから解除するためのメッセージである。   Here, the message received from the peer includes at least one of a peer registration request message, a peer deregistration request message, and a content registration request message. The peer registration request message is a message for registering the peer as an active peer when the peer is in a download state, and the peer deregistration request message is a message indicating that the peer is an active peer when the peer is in a download complete state. It is a message for releasing from.

この際、ピア登録要求メッセージは、ユーザID、アドレス、及び保有コンテンツ情報を含み、前記フロントエンドプロセス処理部は、前記ピア登録要求メッセージに相応する予め設定されたクエリ名と、前記ユーザID、アドレス、及び保有コンテンツ情報に相応するパラメーターと、を生成し、前記SQLマッププロセス処理部は、前記クエリ名及びパラメーターを分析することで、前記クエリ文を生成して前記ピアデータベースからピア情報を抽出する。   At this time, the peer registration request message includes a user ID, an address, and retained content information, and the front-end process processing unit includes a query name set in advance corresponding to the peer registration request message, the user ID, and the address. And a parameter corresponding to the stored content information, and the SQL map process processing unit generates the query sentence by analyzing the query name and parameter, and extracts peer information from the peer database. .

なお、前記SQLマッププロセス処理部は、前記マッピング情報をXML文書の形態にて格納する。   Note that the SQL map process processing unit stores the mapping information in the form of an XML document.

本発明の他の側面によると、P2Pシステムでピア情報を管理する方法は、P2Pシステムに接続したピアからピア登録要求メッセージを受信するステップ、前記ピア登録要求メッセージに相応するクエリ名及びパラメーターを生成するステップ、前記クエリ名及びパラメーターをクエリ文にマッピングするためのマッピング情報を用いて、前記ピア登録要求メッセージに相応するクエリ文を生成するステップ、及び前記クエリ文を用いてピア情報データベースに前記ピアをアクティブピアに登録するステップを含むことを特徴とするピア情報管理方法が提供される。   According to another aspect of the present invention, a method for managing peer information in a P2P system includes receiving a peer registration request message from a peer connected to the P2P system, and generating a query name and parameters corresponding to the peer registration request message. Generating a query statement corresponding to the peer registration request message using mapping information for mapping the query name and parameters to the query statement, and using the query statement in the peer information database. Is registered with the active peer, and a peer information management method is provided.

前記ピア登録要求メッセージ受信ステップにおいて、前記ピア登録要求メッセージは、前記ピアがダウンロード状態の場合、前記ピアをアクティブピアに登録するために前記ピアから受信される。   In the peer registration request message receiving step, the peer registration request message is received from the peer to register the peer with an active peer when the peer is in a download state.

また、前記ピア管理方法は、前記ピアからコンテンツ要求メッセージを受信するステップ、前記コンテンツ要求メッセージに相応するクエリ名及び前記コンテンツ要求メッセージに含まれたコンテンツIDに対するパラメーターを生成するステップ、前記マッピング情報を用いて前記コンテンツ要求メッセージに相応するクエリ名及び前記パラメーターに相応するピア選択クエリ文を生成するステップ、及び前記ピア選択クエリ文によって前記ピアデータベースから前記コンテンツIDと関連したコンテンツを保有するピア情報を抽出して前記ピアに提供するステップをさらに含む。   The peer management method may further include receiving a content request message from the peer, generating a query name corresponding to the content request message and a parameter for the content ID included in the content request message, and mapping information. Using a query name corresponding to the content request message and a peer selection query statement corresponding to the parameter, and peer information holding content associated with the content ID from the peer database by the peer selection query statement. The method further includes extracting and providing to the peer.

この際、前記クエリ名及びパラメーター生成ステップと、前記クエリ文生成ステップは、別途のプロセスによって処理され、前記ピア管理方法は、前記クエリ名及びパラメーター生成ステップと、前記クエリ文生成ステップとの処理のために、前記P2Pシステムの資源割り当て状態を調節するステップをさらに含む。   At this time, the query name and parameter generation step and the query statement generation step are processed by a separate process, and the peer management method includes processing of the query name and parameter generation step and the query statement generation step. For this purpose, the method further comprises adjusting a resource allocation state of the P2P system.

本発明の他の側面によると、前述の方法を実行するコマンドが具現されたプログラムであり、デジタルデータ処理装置に設けられて、前記デジタルデータ処理装置によって読み取り可能なプログラムを記録した記録媒体が提供される。   According to another aspect of the present invention, there is provided a recording medium on which a program for executing the above-described method is embodied and recorded in the digital data processing apparatus and readable by the digital data processing apparatus Is done.

本発明の他の側面によると、P2Pシステムに接続されるピアに組み込まれ、前記ピアがP2Pサービスの提供を受けるようにするエージェントプログラムが記録された記録媒体であって、前記ピアと前記P2Pシステムとの間の連結を設定する連結設定モジュール、前記P2Pシステムにコンテンツ要求メッセージを生成して転送し、前記P2Pシステムから前記コンテンツを含んでいる他のピア情報を受信するピア情報受信モジュール、前記ピア情報受信モジュールによって受信された前記他のピア情報を基にして前記他のピアとの連結を設定することで、前記他のピアから前記コンテンツをダウンロードするピア連結設定モジュール、前記ピアが前記コンテンツをダウンロードしているか否かをチェックするダウンロードチェックモジュール、前記ダウンロードチェックモジュールによるチェック結果によって、ピア登録要求メッセージやピア登録解除要求メッセージを生成し、前記P2Pシステムに転送するピア登録/解除モジュールを含むことを特徴とするエージェントプログラムが記録された記録媒体が提供される。   According to another aspect of the present invention, there is provided a recording medium recorded with an agent program incorporated in a peer connected to a P2P system so that the peer receives provision of a P2P service, the peer and the P2P system A connection setting module for setting a connection between the P2P system, a peer information receiving module for generating and transferring a content request message to the P2P system, and receiving other peer information including the content from the P2P system, the peer A peer connection setting module that downloads the content from the other peer by setting the connection with the other peer based on the other peer information received by the information receiving module; Download check module to check whether it is downloaded And an agent program including a peer registration / cancellation module that generates a peer registration request message and a peer registration cancellation request message according to the check result of the download check module and forwards them to the P2P system. A recording medium is provided.

従来のピア情報を管理するツリー構造のデータ構造の一例を示した図。The figure which showed an example of the data structure of the tree structure which manages the conventional peer information. 本発明の一実施の形態に係るピア管理サーバーが適用されるP2Pシステムの構成を示した図。The figure which showed the structure of the P2P system to which the peer management server which concerns on one embodiment of this invention is applied. 本発明の一実施の形態に係るピア管理サーバーの構成を示したブロック図。The block diagram which showed the structure of the peer management server which concerns on one embodiment of this invention. 本発明の一実施の形態に係るフロントエンドサーバーのモジュール構成を示したブロック図。The block diagram which showed the module structure of the front end server which concerns on one embodiment of this invention. 本発明の一実施の形態に係るSQLマッププロセスの動作構造を示した図。The figure which showed the operation | movement structure of the SQL map process which concerns on one embodiment of this invention. 本発明の一実施の形態に係るSQLマッププロセスとピアデータベースとの連結構造の一例を示した図。The figure which showed an example of the connection structure of the SQL map process and peer database which concerns on one embodiment of this invention. 本発明の一実施の形態に係るエージェントプログラムのモジュール構成を示したブロック図。The block diagram which showed the module structure of the agent program which concerns on one embodiment of this invention. 本発明の一実施の形態に係るユーザクライアントがピア登録及びピア登録解除を要求する動作を示したフローチャート。The flowchart which showed the operation | movement which the user client which concerns on one embodiment of this invention requests | requires peer registration and peer deregistration. 本発明の一実施の形態に係るピア登録過程を示したフローチャート。The flowchart which showed the peer registration process which concerns on one embodiment of this invention. 本発明の一実施の形態に係るピア管理サーバーからピア情報を提供する過程を示したフローチャート。The flowchart which showed the process which provides peer information from the peer management server which concerns on one embodiment of this invention. 本発明の一実施の形態によってユーザが要求したコンテンツを保有するピアをランダムに選択するための過程を示したフローチャート。6 is a flowchart illustrating a process for randomly selecting a peer having content requested by a user according to an embodiment of the present invention. 本発明の一実施の形態に係るピア登録要求メッセージのフィールド構成を示した図。The figure which showed the field structure of the peer registration request message which concerns on one embodiment of this invention.

以下、添付の図を参照して、本発明によるピア管理サーバーの実施の形態を詳細に説明する。   Hereinafter, embodiments of a peer management server according to the present invention will be described in detail with reference to the accompanying drawings.

図2は、本発明の一実施の形態に係るピア管理サーバーが適用されるP2Pシステムの構成を示した図である。同図に示すように、本発明の一実施の形態に係るP2Pシステムは、複数のユーザクライアント及びピア管理サーバー200を含み、各々のユーザクライアントにはP2Pエージェントプログラムが設置される。   FIG. 2 is a diagram illustrating a configuration of a P2P system to which a peer management server according to an embodiment of the present invention is applied. As shown in the figure, the P2P system according to an embodiment of the present invention includes a plurality of user clients and a peer management server 200, and a P2P agent program is installed in each user client.

本発明が適用されるP2Pシステムは、様々な形態のP2Pサービスに適用可能である。本発明のP2Pシステムは、一般の音楽や動画ファイルを共有するためのファイル共有サービスに適用可能である。ファイル共有サービスは、ユーザが有しているファイルリストをP2Pサービスシステムに接続したユーザが確認でき、特定のファイルを特定のピアからダウンロード可能にしたサービスである。   The P2P system to which the present invention is applied can be applied to various forms of P2P services. The P2P system of the present invention is applicable to a file sharing service for sharing general music and video files. The file sharing service is a service that allows a user connected to the P2P service system to check a file list owned by the user and download a specific file from a specific peer.

このような一般的なファイル共有サービス以外にも、本発明は、P2Pを用いたコンテンツ転送サービスにも利用できる。通常、コンテンツプロバイダにおけるコンテンツ提供は、CDN(Contents Delivery Network)を用いてなされるが、本発明によるP2Pシステムを用いて所定の費用がかかるCDNを用いずにコンテンツを提供することが可能である。この場合、ユーザがサービスプロバイダから提供を受けようとするコンテンツを格納しているピアリストがコンテンツを要求したユーザに提供され、ユーザはピアリストに含まれたピアのうち、特定のピアからコンテンツをダウンロードすることで、CDNを用いずにコンテンツを提供することが可能である。   In addition to such a general file sharing service, the present invention can also be used for a content transfer service using P2P. Normally, content provision in a content provider is performed using a CDN (Contents Delivery Network), but it is possible to provide content using a P2P system according to the present invention without using a CDN that requires a predetermined cost. In this case, a peer list storing content that the user wants to receive from the service provider is provided to the user who requested the content, and the user can receive content from a specific peer among the peers included in the peer list. By downloading, it is possible to provide content without using a CDN.

前述のサービス以外にも、本発明は、P2Pを用いて提供できる様々なサービスに適用可能である。   In addition to the services described above, the present invention can be applied to various services that can be provided using P2P.

以下、P2Pを用いてコンテンツプロバイダがユーザによって要求されたコンテンツを提供する場合を主な例にして本発明を説明する。   Hereinafter, the present invention will be described mainly using a case where a content provider provides content requested by a user using P2P.

ユーザクライアントは、ネットワークを介して通信可能であり、P2Pエージェントプログラムが駆動可能な如何なる種類の装置も含むことができる。ユーザクライアントとしては、一般のPCは勿論、ノート・パンコン、PDA及び移動通信端末のような装置が使われることができる。   User clients can include any type of device that can communicate over a network and can be driven by a P2P agent program. As a user client, devices such as a notebook computer, a PDA, and a mobile communication terminal can be used as well as a general PC.

P2Pシステムに接続した各々のユーザクライアントは一つのピアとして動作し、本明細書において、ピアとユーザクライアントという用語を併用するようにする。   Each user client connected to the P2P system operates as one peer, and the terms peer and user client are used together herein.

ピア管理サーバー200は、ユーザから特定のコンテンツが要求される場合、要求されたコンテンツが提供可能なピア情報を提供する。例えば、ユーザから『ムーランルージュ』という映画が要求された場合、ピア管理サーバー200は、『ムーランルージュ』という映画ファイルが提供可能なピア情報を抽出して当該クライアントに提供する。   When specific content is requested from a user, the peer management server 200 provides peer information that can provide the requested content. For example, when a user requests a movie “Moulin Rouge”, the peer management server 200 extracts peer information that can be provided by a movie file “Moulin Rouge” and provides it to the client.

ピア管理サーバー200は、ユーザから要求されたコンテンツが提供可能なピア情報を提供するために、P2Pシステムに接続し、コンテンツ提供ができるピアリスト及び各ピアが格納しているコンテンツ情報を管理する。   The peer management server 200 is connected to the P2P system in order to provide peer information that can provide content requested by a user, and manages a peer list that can provide content and content information stored in each peer.

前述のように、従来の場合、ピア管理サーバーはP2Pシステムに接続したピアリスト及び各ピアが格納しているコンテンツ情報をデータ構造(Data Structure)の形態として管理していた。従来の場合、ピアリスト及び各ピアが格納しているコンテンツをデータ構造の形態としてメモリーで管理し、ユーザIDのように変わらない静的な情報のみをデータベースで管理することが一般的であった。また、ユーザからピア情報の要求のような要求メッセージが受信される場合、ピア管理サーバーは、データ構造に対して予め設定されたアルゴリズムを実行し、ユーザの要求情報を処理していた。   As described above, in the conventional case, the peer management server manages the peer list connected to the P2P system and the content information stored in each peer in the form of a data structure (Data Structure). In the past, it was common to manage the peer list and the content stored in each peer in the form of a data structure in the memory, and manage only static information that does not change like the user ID in the database. . Also, when a request message such as a request for peer information is received from a user, the peer management server has executed a preset algorithm for the data structure to process the user request information.

しかし、本発明の一実施の形態に係るピア管理サーバーは、P2Pシステムに接続したピアリスト及び各ピアが格納しているコンテンツ情報をデータベースで管理するようにする。   However, the peer management server according to an embodiment of the present invention manages the peer list connected to the P2P system and the content information stored in each peer in a database.

本発明の一実施の形態に係ると、ピア情報をデータベースで管理することによって、管理すべきピア用量が増えていく場合、多数のデータベースでピア情報を管理することも可能である。   According to an embodiment of the present invention, when the peer dose to be managed increases by managing the peer information in the database, the peer information can be managed in a large number of databases.

また、本発明の一実施の形態に係るピア管理サーバーは、接続したピア情報をデータベースで管理するために、クライアントの接続及びクライアントから受信したメッセージを処理するプロセスと、データベースのクエリ文を生成するプロセスと、を独立的に運営する。   In addition, the peer management server according to an embodiment of the present invention generates a process for processing a client connection and a message received from the client, and a database query statement in order to manage the connected peer information in the database. Operate the process independently.

ピア情報を、データ構造を用いて管理していた従来の場合、クライアントの接続及びメッセージ処理と、データ構造にデータを挿入、抽出及び更新するアルゴリズムは、一つのプロセスによって実行されるしかなかった。さらに、従来の場合、静的な情報はデータベースで管理されていたが、データベースに対するクエリ文も同一な単一のプロセスによって生成されていた。しかし、本発明によると、一つのプロセスによって行なわれていた機能が別個のプロセスによって行なわれる。   In the conventional case where peer information is managed using a data structure, client connection and message processing, and an algorithm for inserting, extracting and updating data in the data structure can only be executed by one process. Furthermore, in the past, static information was managed in a database, but a query statement for the database was also generated by the same single process. However, according to the present invention, the function performed by one process is performed by a separate process.

クライアントの接続とメッセージ処理及びデータベースクエリ文の生成を別個のプロセスによって処理する方法、及びこれによる利点に対する詳細な説明は、他の図を参照して行う。   A detailed description of how client connections and message processing and database query statement generation are handled by separate processes, and the advantages thereof, will be given with reference to other figures.

各ユーザクライアントに設置されるエージェントプログラムは、ユーザクライアントがP2Pネットワークにおいてピアとして動作するように、ピア管理サーバーとの通信を介してピア登録を行う。   The agent program installed in each user client performs peer registration through communication with the peer management server so that the user client operates as a peer in the P2P network.

本発明の一実施の形態に係ると、エージェントプログラムは、ユーザクライアントが他のピアからコンテンツをダウンロードしている場合のみにピアとして動作するように、ピア登録及びピア登録解除を行う。   According to an embodiment of the present invention, the agent program performs peer registration and peer deregistration so that the user program operates as a peer only when a user client is downloading content from another peer.

従来の場合、P2Pのためにユーザクライアントに設けられるエージェントプログラムは、ユーザクライアントの動作のうち、ユーザクライアントが常にコンテンツを提供するピアとして動作するように制御することが一般的であった。   Conventionally, an agent program provided in a user client for P2P is generally controlled so that the user client always operates as a peer that provides content, among the operations of the user client.

しかし、このようにユーザクライアントが常にピアとして動作するように設定される場合、ユーザクライアントのリソースがP2P通信によって無駄に使われてしまう問題があった。例えば、P2Pコネクションの処理によって、ユーザが行う他の作業処理が遅延したり、CPUに過度な負荷が生じたりする問題などが発生した。   However, when the user client is set to always operate as a peer as described above, there is a problem that the resource of the user client is wasted by P2P communication. For example, the processing of the P2P connection causes a problem that other work processing performed by the user is delayed or an excessive load is generated on the CPU.

本発明では、このような従来の問題点を解決するために、ユーザクライアントが他のピアからコンテンツをダウンロードしている場合のみに、他のクライアントにコンテンツを提供するピアとして動作するようにする。   In the present invention, in order to solve such a conventional problem, only when a user client downloads content from another peer, the user client operates as a peer that provides content to the other client.

前述のピア登録動作以外にも、エージェントプログラムは、ピア管理サーバーからユーザが要求したコンテンツを保有するピア情報を受信し、当該ピアとの連結を設定してコンテンツをダウンロードする機能を行う。   In addition to the above-described peer registration operation, the agent program performs a function of receiving the peer information holding the content requested by the user from the peer management server, setting the connection with the peer, and downloading the content.

図3は、本発明の好ましい一実施の形態に係るピア管理サーバーの構成を示したブロック図である。同図に示すように、ピア管理サーバー200は、状態判断部300、制御部302、フロントエンドプロセス処理部304、SQLマッププロセス処理部306及びピアデータベース308を含むことができる。   FIG. 3 is a block diagram showing a configuration of a peer management server according to a preferred embodiment of the present invention. As shown in the figure, the peer management server 200 can include a state determination unit 300, a control unit 302, a front-end process processing unit 304, an SQL map process processing unit 306, and a peer database 308.

図3において、フロントエンドプロセス処理部304は、各ピアに設置されるエージェントプログラムとの通信を担当することで、フロントエンドプロセス機能を行う。ここで、フロントエンドプロセス機能とは、ユーザクライアントとの連結設定機能と、ユーザクライアントから受信される要求メッセージの処理機能と、を含む。   In FIG. 3, a front-end process processing unit 304 performs a front-end process function by taking charge of communication with an agent program installed in each peer. Here, the front-end process function includes a connection setting function with a user client and a function of processing a request message received from the user client.

ユーザクライアントとの連結設定のために、フロントエンド処理部304は、ユーザクライアントから連結設定が要求される場合、ユーザクライアントとのコネクションを保持するが、ここでコネクションはTCPコネクション、またはUDPコネクションである。   For the connection setting with the user client, the front end processing unit 304 holds the connection with the user client when the connection setting is requested from the user client. Here, the connection is a TCP connection or a UDP connection. .

フロントエンド処理部304がユーザクライアントから受信して処理する要求メッセージは、ピア登録要求メッセージ、ピア登録解除要求メッセージ及びコンテンツ要求メッセージを含むことができる。   The request messages received and processed by the front-end processing unit 304 from the user client can include a peer registration request message, a peer deregistration request message, and a content request message.

ピア登録要求メッセージは、ピアが、自分をコンテンツ提供ができるアクティブピアとして登録するように要求するメッセージである。前述のように、本発明の一実施の形態によると、エージェントプログラムは、他のピアからのコンテンツダウンロードが感知されると、ピア登録要求メッセージを生成してフロントエンド処理部304に転送する。   The peer registration request message is a message requesting that the peer register as an active peer that can provide content. As described above, according to an embodiment of the present invention, when a content download from another peer is detected, the agent program generates a peer registration request message and transfers it to the front end processing unit 304.

ピア登録解除要求メッセージは、アクティブピアとして登録されているピアの登録解除を要求するメッセージである。本発明の一実施の形態によると、エージェントプログラムは、他のピアからコンテンツのダウンロードが完了する場合、ピア登録解除要求メッセージを生成して、フロントエンド処理部304に転送する。   The peer deregistration request message is a message requesting deregistration of a peer registered as an active peer. According to an embodiment of the present invention, the agent program generates a peer deregistration request message and transfers it to the front-end processing unit 304 when content download from another peer is completed.

コンテンツ要求メッセージは、特定のコンテンツを格納しているピア情報を要求するメッセージである。ユーザが特定のコンテンツのダウンロードを要求する場合、エージェントプログラムは、当該コンテンツのID情報を含むコンテンツ要求メッセージを生成して、フロントエンド処理部304に転送する。   The content request message is a message for requesting peer information storing specific content. When the user requests download of specific content, the agent program generates a content request message including ID information of the content and transfers it to the front end processing unit 304.

前述のメッセージ以外にも、様々な種類のメッセージがピアからフロントエンド処理部304に伝達でき、フロントエンド処理部304は、エージェントプログラムによって生成されたメッセージを受信し、これに相応するクエリ名/パラメーターを生成する機能を有する。   In addition to the messages described above, various types of messages can be transmitted from the peer to the front-end processing unit 304. The front-end processing unit 304 receives the message generated by the agent program, and the corresponding query name / parameter. It has the function to generate.

従来の場合、ピア管理サーバーは、ピアから前述の要求メッセージを受信する場合、要求に相応するアルゴリズムを実行してデータ構造のデータにピアを登録、またはデータ構造のデータからピアを選択する機能を行っていた。さらに、データベースとの通信が必要な場合、ユーザの要求メッセージを分析して、一つのプロセスでクエリ文を生成していた。   In the conventional case, when receiving the above request message from the peer, the peer management server executes a function corresponding to the request to register the peer in the data of the data structure, or select the peer from the data of the data structure. I was going. Further, when communication with the database is required, a user request message is analyzed and a query statement is generated in one process.

しかし、本発明の好ましい実施の形態に係るフロントエンド処理部304は、要求メッセージを受信する場合、直接クエリ文を生成することなく、要求メッセージに相応するクエリ名及びパラメーターのみを生成して、SQLマップ処理部306に提供する。   However, when receiving the request message, the front-end processing unit 304 according to the preferred embodiment of the present invention generates only a query name and a parameter corresponding to the request message without directly generating a query statement, and SQL. This is provided to the map processing unit 306.

ここで、クエリ名はフロントエンド処理部304及びSQLマッププロセス処理部306の間に任意に定められたクエリ名であり、パラメーターは、コンテンツID、ユーザIDなどのように、クエリ文の生成に必要な情報を意味する。   Here, the query name is a query name arbitrarily determined between the front-end processing unit 304 and the SQL map process processing unit 306, and the parameters are necessary for generating a query sentence such as a content ID and a user ID. Meaning information.

このようなフロントエンドプロセス処理部のモジュール構成に対する一実施の形態が図4に示されてある。図4に示すように、本発明の一実施の形態に係るフロントエンドプロセス処理部304は、認証モジュール500、連結設定モジュール502、エージェント通信モジュール504、ランダムID割り当てモジュール506、クエリ名/パラメーター生成モジュール508、及びランダム範囲設定モジュール510を含むことができる。   One embodiment for the module configuration of such a front-end process processor is shown in FIG. As shown in FIG. 4, the front-end process processing unit 304 according to an embodiment of the present invention includes an authentication module 500, a connection setting module 502, an agent communication module 504, a random ID assignment module 506, a query name / parameter generation module. 508, and a random range setting module 510 may be included.

認証モジュール500は、連結設定を要求するユーザが、認証されたユーザか否かを判断する機能を有する。一例として、認証モジュール500は、ユーザID及びパスワード情報を用いて、認証されたユーザか否かを判断することができる。勿論、この他にも、認証書を利用した認証方式のように、公知の様々な認証方式が利用されることができる。認証モジュール500は、別途の認証サーバーと連動して、ユーザ認証を処理することができる。   The authentication module 500 has a function of determining whether or not a user who requests connection setting is an authenticated user. As an example, the authentication module 500 can determine whether or not the user is an authenticated user using the user ID and password information. Of course, various other known authentication methods such as an authentication method using a certificate can be used. The authentication module 500 can process user authentication in conjunction with a separate authentication server.

連結設定モジュール502は、P2Pネットワークに接続しようとするユーザクライアントとの連結設定を行う。連結設定は、エージェントプログラムによって制御されるユーザクライアントがTCP接続要求メッセージを転送し、連結設定モジュール502がこれを受諾する方式で行われることができる。勿論、必要に応じてUDPコネクションが設定されることもできる。   The connection setting module 502 performs connection setting with a user client trying to connect to the P2P network. The connection setting can be performed in such a manner that a user client controlled by the agent program transfers a TCP connection request message and the connection setting module 502 accepts the message. Of course, a UDP connection can be set as required.

エージェント通信モジュール504は、エージェントプログラムが生成する要求メッセージを受信し、これに対する回答メッセージをユーザクライアントに転送する機能を有する。前述のように、要求メッセージは、ピア登録要求メッセージ、ピア登録解除要求メッセージ、及びコンテンツ要求メッセージを含むことができ、エージェント通信モジュール504は、前述のメッセージに対する回答メッセージを当該ユーザクライアントに転送する。   The agent communication module 504 has a function of receiving a request message generated by the agent program and transferring a response message to the request message to the user client. As described above, the request message may include a peer registration request message, a peer deregistration request message, and a content request message, and the agent communication module 504 forwards a response message to the user message to the user client.

ランダムID割り当てモジュール506は、ピア登録要求メッセージを受信する場合、各ピアにランダムIDを割り当てる機能を有する。ランダムID割り当ては、ピア情報をクライアントに提供する時に、ランダムにピア情報を提供するために行われる作業である。本発明の実施の形態によって動的に変わるピア情報がデータベースに格納される場合、データベースクエリ文を通じてユーザの要求に相応するピア情報をランダムに抽出することができない。ランダムID割り当てモジュール506は、このような問題を解決するための作業である。   The random ID assignment module 506 has a function of assigning a random ID to each peer when receiving a peer registration request message. Random ID assignment is an operation performed to provide peer information randomly when providing peer information to a client. When the peer information that dynamically changes according to the embodiment of the present invention is stored in the database, the peer information corresponding to the user's request cannot be extracted at random through the database query statement. The random ID assignment module 506 is an operation for solving such a problem.

ランダム範囲設定モジュール510は、コンテンツ要求メッセージのように、ピア選択を要求するメッセージが受信される場合、ピア選択のための番号範囲をランダムに設定する機能を有する。ランダムに設定された範囲はパラメーターに出力され、SQLマッププロセス処理部306は、ピアを選択する時に、ランダム範囲設定モジュールから設定した範囲を用いてピア選択クエリ文を生成する。   The random range setting module 510 has a function of randomly setting a number range for peer selection when a message requesting peer selection, such as a content request message, is received. The randomly set range is output as a parameter, and the SQL map process processing unit 306 generates a peer selection query statement using the range set from the random range setting module when selecting a peer.

前述の実施の形態においては、各ピアの番号もランダムに付与し、ピアを選択するための範囲もランダムに設定すると記載した。しかし、ピアの番号は順次に付与するが、範囲をランダムに設定したり、ピアの番号はランダムに付与するが、範囲は固定的に設定したりすると、ピアのランダム選択が可能となるはずである。ピアのランダム選択のためのより詳細な方法は、別途の図を通じて説明する。   In the above-described embodiment, it has been described that the number of each peer is also assigned at random, and the range for selecting the peer is also set at random. However, peer numbers are assigned sequentially, but if the range is set at random or the peer number is assigned at random, but the range is set fixedly, it should be possible to select peers randomly. is there. A more detailed method for random selection of peers will be described through a separate figure.

クエリ名/パラメーター生成モジュール508は、エージェント通信モジュール504が受信したメッセージ処理のためのクエリ名及びパラメーターを生成する。前述のように、フロントエンドプロセス処理部304は、メッセージ処理のためのクエリ文を直接生成することなく、受信したメッセージに相応するクエリ名及びパラメーターのみを生成して、SQLマッププロセス処理部306に伝達する。   The query name / parameter generation module 508 generates a query name and parameters for processing the message received by the agent communication module 504. As described above, the front-end process processing unit 304 generates only a query name and parameters corresponding to the received message without directly generating a query statement for message processing, and sends it to the SQL map process processing unit 306. introduce.

例えば、ピア登録要求メッセージを受信した場合、クエリ名/パラメーター生成モジュール508は、RegisterPeerという予め設定されたクエリ名とピア登録要求メッセージに含まれたユーザID、アドレス及びコンテンツ情報に相応するパラメーターを生成して、SQLマッププロセス処理部306に伝達する。   For example, when a peer registration request message is received, the query name / parameter generation module 508 generates a parameter corresponding to a preset query name “Register Peer” and a user ID, address, and content information included in the peer registration request message. Then, it is transmitted to the SQL map process processing unit 306.

また、図3を参照すると、SQLマッププロセス処理部306は、SQLマッププロセスを処理する機能を行うものであって、ここで、SQLマッププロセスとは、フロントエンドプロセス処理部304からクエリ名/パラメーターを受信して、クエリ名/パラメーターに相応するクエリ文を生成する機能を含む。生成されたクエリ文は、ピアデータベース308から認識できる言語として、ピアデータベース308に提供される。   Referring to FIG. 3, the SQL map process processing unit 306 performs a function of processing the SQL map process. Here, the SQL map process is a query name / parameter from the front-end process processing unit 304. Is included, and a query statement corresponding to the query name / parameter is generated. The generated query statement is provided to the peer database 308 as a language that can be recognized from the peer database 308.

このようなSQLマッププロセス処理部306の動作構造を、図5を参照して具体的に説明する。同図に示すように、SQLマッププロセス処理部306は、フロントエンドプロセス処理部304からクエリ名及びパラメーターを受信する。図5には、クエリ名「GetUserInfo」と、パラメーター「foo」をフロントエンドプロセス処理部304から受信することが示されている。   The operation structure of the SQL map process processing unit 306 will be specifically described with reference to FIG. As shown in the figure, the SQL map process processing unit 306 receives a query name and parameters from the front-end process processing unit 304. FIG. 5 shows that the query name “GetUserInfo” and the parameter “foo” are received from the front-end process processing unit 304.

SQLマッププロセス処理部306は、クエリ名及びパラメーターをSQL文にマッピングするための情報を有し、クエリ名及びパラメーターを受信したSQLマッププロセス処理部306は、前記マッピング情報を用いてデータベースランゲージであるクエリ文を出力する。   The SQL map process processing unit 306 has information for mapping the query name and parameter to the SQL statement, and the SQL map process processing unit 306 that has received the query name and parameter is a database language using the mapping information. Output the query statement.

このようなクエリ文は、データベースのスキーマ、または客体の間の関係を定義するデータベース定義文、データベースデータの挿入/削除/更新のような操作のためのデータベース操作文、データベースのデータを正しく保持し、無欠性を確保するためのデータベース制御文を全て含むことができる。   Such query statements correctly maintain database schema, database definition statements that define relationships between objects, database manipulation statements for operations such as inserting / deleting / updating database data, and database data. All database control statements for ensuring integrity can be included.

本発明の一実施の形態によると、マッピング情報は、XML形態の文書にて格納することができる。具体的に、クエリ名「GetUserInfo」に対するマッピングのためのXML文書は、図5の左側のボックスに示されたように定義することができる。   According to one embodiment of the present invention, the mapping information can be stored in a document in XML format. Specifically, an XML document for mapping to the query name “GetUserInfo” can be defined as shown in the left box of FIG.

SQLマッププロセス処理部306は、前述のようなXMLマッピング情報を用いて、図5に示すように、SELECT...WHERE ID=:id、:id=「foo」というクエリ文を生成してピアデータベース308に提供し、ピアデータベースは、このようなクエリ文を受信してfooというユーザのユーザ情報を抽出する。   The SQL map process processing unit 306 uses the XML mapping information as described above, as shown in FIG. . . A query statement of WHERE ID =: id,: id = “foo” is generated and provided to the peer database 308. The peer database receives such a query statement and extracts user information of the user “foo”.

このように、ユーザから受信される要求メッセージを処理するプロセス(フロントエンドプロセス)と、ユーザの要求メッセージに相応するクエリ文を生成するプロセス(SQLマッププロセス)と、を分離する本発明の実施の形態は様々な利点を有している。   As described above, the process of processing the request message received from the user (front-end process) and the process of generating a query statement corresponding to the user's request message (SQL map process) are separated from each other. The form has various advantages.

まず、メッセージ及びコネクション処理プロセスとクエリ文生成プロセスを分離することで、ピア管理サーバーの状態によって行うプロセスを有効に調節することができる。例えば、コネクション処理及びメッセージ処理要求がクエリ文生成要求に比べて多い場合、ピア管理サーバーはより多い数のフロントエンドプロセス処理部304を生成して運用することができる。また、メッセージ処理に比べて、クエリ文の生成により多いリソースがかかる場合、ピア管理サーバーは、より多い数のSQLマッププロセス処理部406を生成して運用することができる。つまり、ピア管理サーバーの状態によって、フロントエンドプロセス処理部304及びSQLマッププロセス処理部306を適宜生成することで、制限されたリソースを有効に活用することができる。   First, by separating the message and connection processing process and the query statement generation process, it is possible to effectively adjust the process to be performed according to the state of the peer management server. For example, when there are more connection processing and message processing requests than query statement generation requests, the peer management server can generate and operate a larger number of front-end process processing units 304. Also, when more resources are required for generating a query statement than message processing, the peer management server can generate and operate a larger number of SQL map process processing units 406. In other words, by appropriately generating the front-end process processing unit 304 and the SQL map process processing unit 306 according to the state of the peer management server, it is possible to effectively use the limited resources.

さらに、データベースが変更されても、SQLマッププロセスのみが更新されるだけであり、フロントエンドプロセスは更新される必要がないため、データベースのアップデート時にかかる時間及び費用を減らすことができ、多数のデータベースが使われる場合、これらに対する中央集中的な管理が容易になる。   Furthermore, even if the database is changed, only the SQL map process is updated, and the front-end process does not need to be updated. Therefore, the time and cost when updating the database can be reduced. Centralized management of these becomes easier.

ピアデータベース308には、SQLマッププロセス処理部306によって生成されたクエリ文に従って接続したピア情報が追加/削除/更新される。本発明の一実施の形態によると、ピアデータベース308には、登録されたピアのユーザID、ピアアドレス、ピアが格納しているコンテンツ情報が格納されることができる。また、ピアデータベース308には、各ピア別に後述するランダムID情報が格納される。   In the peer database 308, the connected peer information is added / deleted / updated according to the query statement generated by the SQL map process processing unit 306. According to an embodiment of the present invention, the peer database 308 may store registered peer user IDs, peer addresses, and content information stored by the peers. The peer database 308 stores random ID information described later for each peer.

また図3を参照すると、状態判断部300は、ピア管理サーバー200の状態を判断する機能を有し、ここで状態判断は、メッセージ及びコネクション処理のためにサーバーリソースが多くかかるか否か、または、クエリ文の生成のためにサーバーリソースが多くかかるか否か、を判断する。   Referring to FIG. 3, the state determination unit 300 has a function of determining the state of the peer management server 200. Here, the state determination is performed based on whether a large amount of server resources are required for message and connection processing, or It is determined whether or not it takes a lot of server resources to generate a query statement.

制御部302は、状態判断部300の判断結果によって、フロントエンドプロセス処理部304、またはSQLマッププロセス処理部306を生成や消滅させる機能を有する。   The control unit 302 has a function of generating or extinguishing the front-end process processing unit 304 or the SQL map process processing unit 306 according to the determination result of the state determination unit 300.

図3には、ピア管理サーバーがフロントエンドプロセス処理部304及びSQLマッププロセス処理部306を両方含むと示されてあるが、変形された実施の形態においては、フロントエンドプロセス処理部304及びSQLマッププロセス処理部306が、別個のサーバーに含まれることもできるということは、当業者にとって自明なことである。   Although FIG. 3 shows that the peer management server includes both the front-end process processing unit 304 and the SQL map process processing unit 306, in a modified embodiment, the front-end process processing unit 304 and the SQL map are displayed. It will be apparent to those skilled in the art that the process processing unit 306 can be included in a separate server.

図6は、本発明の一実施の形態に係るSQLマッププロセス処理部とピアデータベースとの連結構造を示した図である。同図に示すように、SQLマッププロセス処理部306は、フロントエンドプロセス処理部304とは独立的に多数のピアデータベース308と連結されることができる。また、ピアデータベース308が追加されても、フロントエンドプロセス処理部304及びクライアントのエージェントプログラムのコードは変更される必要がなく、SQLマッププロセス処理部306のコードのみが変更される。   FIG. 6 is a diagram showing a connection structure between the SQL map process processing unit and the peer database according to the embodiment of the present invention. As shown in the figure, the SQL map process processing unit 306 can be connected to a number of peer databases 308 independently of the front-end process processing unit 304. Even if the peer database 308 is added, the codes of the front-end process processing unit 304 and the client agent program need not be changed, and only the code of the SQL map process processing unit 306 is changed.

さらに、コード及びSQLが混ざることがなく、SQLがSQLマッププロセス処理部306で管理されるため、SQLに対する中央集中的な管理が可能となる。特に、モニタリング及び統計情報を算出することが容易であり、遂行時間の長い非正常なクエリ文も容易に検出することができる。   Furthermore, since codes and SQL are not mixed and SQL is managed by the SQL map process processing unit 306, centralized management for SQL becomes possible. In particular, monitoring and statistical information can be easily calculated, and an abnormal query sentence having a long execution time can be easily detected.

図7は、本発明の一実施の形態に係るエージェントプログラムのモジュール構成を示したブロック図である。このようなエージェントプログラムは、ユーザクライアントに組み込まれ、ユーザクライアントが本発明に係るピア管理サーバーに接続できるようにする。同図に示すように、エージェントプログラムは、ダウンロードチェックモジュール400、連結設定モジュール402、ピア登録/解除モジュール404、ピア情報受信モジュール406、ピア連結設定モジュール408、及びコンテンツ格納モジュール410を含むことができる。   FIG. 7 is a block diagram showing a module configuration of the agent program according to the embodiment of the present invention. Such an agent program is incorporated in the user client and enables the user client to connect to the peer management server according to the present invention. As shown in the figure, the agent program may include a download check module 400, a connection setting module 402, a peer registration / cancellation module 404, a peer information receiving module 406, a peer connection setting module 408, and a content storage module 410. .

ダウンロードチェックモジュール400は、エージェントプログラムが他のピアからコンテンツをダウンロードしているか否かをチェックする機能を有する。前述のように、本発明の一実施の形態によると、ダウンロードしているか否かによって、ピアがアクティブまたはインアクティブ状態に登録されるところ、ダウンロードチェックモジュール400は、エージェントプログラムがダウンロードしているか否かを持続的にチェックする。   The download check module 400 has a function of checking whether the agent program is downloading content from another peer. As described above, according to one embodiment of the present invention, the download check module 400 determines whether the agent program is downloading when the peer is registered in the active or inactive state depending on whether or not it is downloaded. Check continuously.

連結設定モジュール402は、ピア管理サーバー200との連結を設定する機能を有する。通常、P2Pエージェントプログラムは、連結設定の時にピア登録要求メッセージを転送するが、本発明の一実施の形態によると、連結設定モジュール402は、ピア管理サーバー200との連結設定のみを行い、連結設定の時にピア登録要求メッセージを転送することはない。前述のように、連結設定モジュール402は、ピア管理サーバー200とTCP連結設定を行うことができ、必要に応じてUDPコネクションを設定することもできる。   The connection setting module 402 has a function of setting connection with the peer management server 200. Normally, the P2P agent program transfers a peer registration request message at the time of connection setting. However, according to an embodiment of the present invention, the connection setting module 402 performs only connection setting with the peer management server 200 and sets the connection. No peer registration request message is forwarded at As described above, the connection setting module 402 can perform TCP connection setting with the peer management server 200, and can also set a UDP connection as necessary.

ピア登録/解除モジュール404は、ダウンロードチェックモジュール400のダウンロードチェック結果によって、ピア登録要求メッセージまたはピア登録解除要求メッセージを生成して転送する機能を有する。   The peer registration / cancellation module 404 has a function of generating and transferring a peer registration request message or a peer registration cancellation request message according to the download check result of the download check module 400.

ダウンロードチェックモジュール400からダウンロード状態が感知された場合、ピア登録/解除モジュール404は、ピア登録要求メッセージをピア管理サーバー200に転送し、ピア管理サーバー200は、ピア登録手続きを行う。ピア登録要求の時、クライアントに格納されたコンテンツ情報がピア登録要求メッセージに含まれる。   If a download state is detected from the download check module 400, the peer registration / cancellation module 404 transfers a peer registration request message to the peer management server 200, and the peer management server 200 performs a peer registration procedure. When a peer registration request is made, the content information stored in the client is included in the peer registration request message.

ダウンロードチェックモジュール400からダウンロード完了状態が感知された場合、ピア登録/解除モジュール404は、ピア登録解除要求メッセージをピア管理サーバー200に転送し、ピア管理サーバー200はピア登録解除手続きを行う。   When the download completion state is detected from the download check module 400, the peer registration / cancellation module 404 transfers a peer registration cancellation request message to the peer management server 200, and the peer management server 200 performs a peer registration cancellation procedure.

ピア情報受信モジュール406は、ピア管理サーバー200にコンテンツを要求し、ピア管理サーバー200からピア情報を受信する機能を有する。ピア情報受信モジュール406は、コンテンツ要求メッセージを生成してピア管理サーバー200に転送し、コンテンツ要求メッセージには、コンテンツを識別することができるコンテンツID情報が含まれる。ピア情報受信モジュール406は、コンテンツ要求メッセージに応答するピア情報をピア管理サーバー200から受信する。ここで、ピア情報は、一つのピアのみを含むこともでき、複数のピアリストを含むこともできる。   The peer information receiving module 406 has a function of requesting content from the peer management server 200 and receiving peer information from the peer management server 200. The peer information receiving module 406 generates a content request message and transfers it to the peer management server 200, and the content request message includes content ID information that can identify the content. The peer information receiving module 406 receives peer information responding to the content request message from the peer management server 200. Here, the peer information may include only one peer or a plurality of peer lists.

ピア連結設定モジュール408は、ピア情報受信モジュール406が受信したピア情報を基にしてコンテンツを受信するピアとの連結を設定して、コンテンツをダウンロードする機能を有する。ピアとの連結を設定してコンテンツをダウンロードすることは一般的なP2P技術に過ぎないため、これに対する詳細な説明は省略する。   The peer connection setting module 408 has a function of setting a connection with a peer that receives content based on the peer information received by the peer information receiving module 406 and downloading the content. Setting the connection with the peer and downloading the content is only a general P2P technology, and thus detailed description thereof will be omitted.

コンテンツ格納モジュール410は、他のピアから受信するコンテンツ情報を予め設定された領域に格納する機能を有する。ユーザが受信したコンテンツが不法的に用いられることを防ぐために、コンテンツ格納モジュール410は、受信したコンテンツを暗号化して格納した方が望ましい。   The content storage module 410 has a function of storing content information received from other peers in a preset area. In order to prevent the content received by the user from being illegally used, the content storage module 410 desirably stores the received content encrypted.

図8は、本発明の一実施の形態に係るユーザクライアントが、ピア登録及びピア登録解除を要求する動作を示したフローチャートである。   FIG. 8 is a flowchart showing an operation in which a user client according to an embodiment of the present invention requests peer registration and peer registration cancellation.

図8を参照すると、まず、ユーザクライアントは、エージェントプログラムを通じて特定のコンテンツを要求するコンテンツ要求メッセージをピア管理サーバーに転送する(S600)。   Referring to FIG. 8, first, the user client transmits a content request message for requesting specific content through the agent program to the peer management server (S600).

ユーザクライアントは、コンテンツ要求メッセージに相応してピア管理サーバー200から転送されるピア情報を受信する(S602)。本発明の一実施の形態によると、ピア管理サーバー200は、特定のコンテンツを格納しているピア情報がユーザクライアントに均等に提供されるようにピアをランダムに選択するが、これに対する詳細な説明は後述する。   The user client receives the peer information transferred from the peer management server 200 according to the content request message (S602). According to one embodiment of the present invention, the peer management server 200 randomly selects peers so that peer information storing specific content is evenly provided to user clients. Will be described later.

ピア情報を受信したユーザクライアントは、エージェントプログラムによってピア情報に含まれたアドレス情報を用いて、当該ピアとの連結を設定する(S604)。当該ピアとの連結が設定されると、ユーザクライアントは連結が設定されたピアからコンテンツをダウンロードする(S606)。   The user client that has received the peer information sets up a connection with the peer using the address information included in the peer information by the agent program (S604). When the connection with the peer is set, the user client downloads content from the peer set with the connection (S606).

他のピアからダウンロードを開始するのが感知されると、エージェントプログラムはユーザクライアントがアクティブピアに登録されるようにピア登録要求メッセージをピア管理サーバー200に転送することで、ピア登録手続きを行う(S608)。   When it is detected that the download is started from another peer, the agent program performs a peer registration procedure by transferring a peer registration request message to the peer management server 200 so that the user client is registered with the active peer ( S608).

このようなピア登録手続きを通じて、当該ピアがアクティブピアに登録されると、他のユーザクライアントがコンテンツを要求するようになり、これを通じて当該ピアは他のユーザクライアントのコンテンツ要求に応答してコンテンツを転送するようになる。   Through this peer registration procedure, when the peer is registered as an active peer, other user clients will request content, through which the peer will respond to content requests from other user clients. To transfer.

以後、エージェントプログラムは、ユーザクライアントのダウンロードが完了したか否かをモニタリングする(S612)。   Thereafter, the agent program monitors whether the downloading of the user client is completed (S612).

ダウンロードが完了すると、エージェントプログラムは、ピア登録解除要求メッセージをピア管理サーバー200に伝達し、ピア登録解除手続きを行うことで、当該ピアのアクティブ状態を解除する(S614)。   When the download is completed, the agent program transmits a peer deregistration request message to the peer management server 200, and cancels the active state of the peer by performing a peer deregistration procedure (S614).

図9は、本発明の一実施の形態に係るピア登録過程を示したフローチャートである。   FIG. 9 is a flowchart illustrating a peer registration process according to an embodiment of the present invention.

図9を参照すると、ユーザクライアントに設置されたエージェントプログラムは、ユーザクライアントが他のピアからコンテンツをダウンロードしているか否かをモニタリングする(S900)。   Referring to FIG. 9, the agent program installed in the user client monitors whether the user client is downloading content from another peer (S900).

コンテンツダウンロードが感知された場合、エージェントプログラムは、ピア登録要求メッセージを生成する(S902)。このようなピア登録要求メッセージのフィールド構成に対する一実施の形態が図12に示されてある。同図に示すように、ピア登録要求メッセージは、識別子フィールド1200、ユーザIDフィールド1202、アドレスフィールド1204及びコンテンツIDフィールド1206のうち、少なくとも一つを含む。   When the content download is detected, the agent program generates a peer registration request message (S902). An embodiment for the field structure of such a peer registration request message is shown in FIG. As shown in the figure, the peer registration request message includes at least one of an identifier field 1200, a user ID field 1202, an address field 1204, and a content ID field 1206.

識別者フィールド1200には、ピア登録要求メッセージであることを識別するための識別子が予め設定されたコード形態に記録される。   In the identifier field 1200, an identifier for identifying the peer registration request message is recorded in a preset code form.

ユーザIDフィールド1202には、ピア登録を要求するユーザのID情報が記録され、アドレス1204フィールドにはユーザクライアントのIPアドレス及びポート番号が記録される。コンテンツID1206フィールドには、ユーザクライアントが保有しているコンテンツを識別することができるID情報が記録される。ここで、コンテンツIDに相応するコンテンツは、サービス提供者によって提供されるコンテンツは勿論、ユーザによって製作されたコンテンツ(User Created Contents:UCC)も含むことができる。   The user ID field 1202 records ID information of a user who requests peer registration, and the address 1204 field records the IP address and port number of the user client. In the content ID 1206 field, ID information that can identify the content held by the user client is recorded. Here, the content corresponding to the content ID can include not only the content provided by the service provider but also the content (User Created Content: UCC) produced by the user.

生成されたピア登録要求メッセージは、フロントエンドプロセス処理部304から受信され(S904)、フロントエンドプロセス処理部304は、ピア登録要求メッセージに相応するクエリ名及びピア登録要求メッセージに含まれたユーザID、アドレス及びコンテンツIDに対するパラメーターを生成する(S906)。   The generated peer registration request message is received from the front end process processing unit 304 (S904), and the front end process processing unit 304 uses the query name corresponding to the peer registration request message and the user ID included in the peer registration request message. The parameters for the address and the content ID are generated (S906).

生成されたクエリ名及びパラメーターは、SQLマッププロセス処理部306に伝達され、SQLマッププロセス処理部306は、マッピング情報を用いて伝達されたクエリ名及びパラメーターに相応するクエリ文を生成する(S910)。この時、生成されたクエリ文は新しいピア情報(ユーザID、アドレス、コンテンツID)をデータベースに挿入するためのクエリ文である。   The generated query name and parameters are transmitted to the SQL map process processing unit 306, and the SQL map process processing unit 306 generates a query statement corresponding to the transmitted query name and parameters using the mapping information (S910). . At this time, the generated query statement is a query statement for inserting new peer information (user ID, address, content ID) into the database.

図10は、本発明の一実施の形態に係るピア管理サーバーからピア情報を提供する過程を示したフローチャートである。   FIG. 10 is a flowchart illustrating a process of providing peer information from a peer management server according to an embodiment of the present invention.

図10を参照すると、ユーザクライアントから特定のコンテンツのID情報を含むコンテンツ要求メッセージがフロントエンドプロセス処理部304に転送される(S1000)。   Referring to FIG. 10, a content request message including ID information of a specific content is transferred from the user client to the front end process processing unit 304 (S1000).

フロントエンドプロセス処理部304は、コンテンツ要求メッセージに相応するクエリ名及びコンテンツ要求メッセージに含まれたコンテンツIDに対するパラメーターを生成する(S1002)。   The front-end process processing unit 304 generates a query name corresponding to the content request message and a parameter for the content ID included in the content request message (S1002).

生成されたクエリ名及びパラメーターは、SQLマッププロセス処理部306に伝達され、SQLマッププロセス306は、パラメーター及びクエリ名を利用して要求されたコンテンツを保有しているピアをランダムに選択するためのクエリ文を生成する(S1006)。ランダム選択のためのクエリ文は、図11を参照して後述する。   The generated query name and parameter are transmitted to the SQL map process processing unit 306, and the SQL map process 306 uses the parameter and the query name to randomly select a peer holding the requested content. A query statement is generated (S1006). A query sentence for random selection will be described later with reference to FIG.

SQLマッププロセス処理部306は、生成されたクエリ文に相応するピア情報をピアデータベース308から受信し(1008)、受信されたピア情報をフロントエンドプロセス処理部304に提供する(S1010)。   The SQL map process processing unit 306 receives peer information corresponding to the generated query statement from the peer database 308 (1008), and provides the received peer information to the front-end process processing unit 304 (S1010).

フロントエンドプロセス処理部304は、ピア情報をユーザクライアントに転送する(S1012)。このような過程を通じてピア情報を受信したユーザクライアントは、提供されたピア情報を用いて当該ピアとの連結を設定し、コンテンツをダウンロードする。   The front-end process processing unit 304 transfers the peer information to the user client (S1012). The user client that has received the peer information through such a process sets up a connection with the peer using the provided peer information, and downloads the content.

図11は、本発明の一実施の形態によってユーザが要求したコンテンツを保有するピアをランダムに選択するための過程を示したフローチャートである。   FIG. 11 is a flowchart illustrating a process for randomly selecting a peer having content requested by a user according to an embodiment of the present invention.

前述のように、本発明のように動的に変わり続けるピア情報がピアデータベースによって管理される場合、各ピアに対するコネクションが均一に保持されるようにピアをランダムに選択しにくい。これは、データベースが特定の条件に当たるデータを抽出するように構成され、ランダム選択のためのデータベースクエリ文が提供されないためである。   As described above, when peer information that is dynamically changing is managed by the peer database as in the present invention, it is difficult to randomly select a peer so that connections to each peer are uniformly maintained. This is because the database is configured to extract data that meets a specific condition, and a database query statement for random selection is not provided.

このために、本発明の一実施の形態によると、フロントエンドプロセス処理部304は、ユーザクライアントからピア登録が要求されると、各ユーザクライアントにランダムに番号形態のIDを割り当てる(S1100)。フロントエンドプロセス処理部304は、データベース及びクエリ文とは関係無いプロセスであるため、一般的なランダム関数を用いて各ピアにランダムIDを付与するのが可能である。   To this end, according to an embodiment of the present invention, when peer registration is requested from a user client, the front-end process processing unit 304 randomly assigns an ID in the form of a number to each user client (S1100). Since the front-end process processing unit 304 is a process unrelated to the database and the query statement, it is possible to assign a random ID to each peer using a general random function.

ランダムIDが付与されると、SQLマッププロセス処理部306は、ランダムIDがピア情報に含まれたユーザID、アドレス及びコンテンツ情報と共に、ピアデータベース308に格納されるようにする(S1102)。   When the random ID is assigned, the SQL map process processing unit 306 stores the random ID in the peer database 308 together with the user ID, address, and content information included in the peer information (S1102).

特定のコンテンツを格納しているピア情報が要求される場合(S1104)、フロントエンドプロセス処理部304は、ランダムにピアを選択するための範囲を設定し、ランダムに設定された範囲を指定するパラメーターを出力し、SQLマッププロセス処理部306は、前記パラメーターを用いて指定された範囲にあるピアを選択するためのクエリ文を生成する(S1106)。   When peer information storing specific content is requested (S1104), the front-end process processing unit 304 sets a range for selecting a peer at random, and specifies a randomly set range Is output, and the SQL map process processing unit 306 generates a query statement for selecting peers in the range specified using the parameters (S1106).

このようなクエリ文は、一般的なSELECT構文及びSELECT構文から提供される範囲指定(<=、>=、between)方式を用いて生成することができる。例えば、ランダムID10〜20のピアを選択するためのクエリ文が生成されることができ、ランダムID5以下のピアを選択するためのクエリ文が生成されることもできる。   Such a query statement can be generated using a general SELECT syntax and a range specification (<=,> =, between) method provided from the SELECT syntax. For example, a query statement for selecting a peer with a random ID of 10 to 20 can be generated, and a query statement for selecting a peer with a random ID of 5 or less can be generated.

ピアデータベース308は、SELECT構文に相応するピアを選択し、SQLマッププロセス処理部306に提供する(S1108)。   The peer database 308 selects a peer corresponding to the SELECT syntax and provides it to the SQL map process processing unit 306 (S1108).

前述のように、ピアをランダムに選択することは、ランダムID付与及びランダム範囲設定の中、いずれか一つのみをランダムに処理することで行われることもある。例えば、番号IDは、ランダムにではなく順次に付与するが、ピア選択のための番号範囲をランダムに設定することで、ピアに対するランダム選択ができるはずである。   As described above, randomly selecting a peer may be performed by randomly processing only one of random ID assignment and random range setting. For example, number IDs are given sequentially rather than randomly, but by selecting a number range for peer selection at random, it should be possible to perform random selection for peers.

また、他の例として、各ピアにはランダムに番号IDを付与するが、ピア選択のための範囲は固定的に設定することで、ピアに対するランダム選択ができるはずである。   As another example, a number ID is randomly assigned to each peer, but by selecting a fixed range for peer selection, a random selection for the peer should be possible.

このように、各ピアにランダムIDを付与し、付与されたランダムIDがデータベースで共に管理されるようにすることで、コンテンツを保有したピアに対するランダム選択が可能であり、これによって、ピアの間のコネクション設定の時、特定のピアにコネクションが偏重されることなく、コネクションが均一に分布されるように制御することができる。   In this way, by assigning a random ID to each peer and managing the given random ID together in the database, it is possible to make a random selection for the peer that possesses the content. When setting the connection, it is possible to control the connections so that the connections are evenly distributed without the connections being concentrated on specific peers.

以上で説明したように、本発明によると、P2Pシステムに接続したピア情報をデータベースによって有効に管理することができるという利点がある。   As described above, according to the present invention, there is an advantage that peer information connected to the P2P system can be effectively managed by the database.

また、本発明によると、フロントエンドプロセス及びSQLマッププロセスをサーバー状態によって生成することで、サーバーリソースをより有効に活用することができるという利点がある。   In addition, according to the present invention, there is an advantage that server resources can be used more effectively by generating the front-end process and the SQL map process according to the server state.

さらに、本発明によると、データベースの管理とクライアントのメッセージ処理を2元化することで、データベースの拡張及びシステムアップグレードの時、最小限の修正によって拡張及びアップグレードができるという利点がある。   Furthermore, according to the present invention, the database management and the message processing of the client are unified, so that there is an advantage that the database can be expanded and upgraded with a minimum correction at the time of database expansion and system upgrade.

さらに、本発明によると、ダウンロード時のみにユーザクライアントがアクティブピアとして動作するようにすることで、P2Pシステムの利用時、ユーザクライアントの負荷を最小化することができるという利点がある。   Furthermore, according to the present invention, it is possible to minimize the load on the user client when using the P2P system by allowing the user client to operate as an active peer only at the time of download.

Claims (16)

P2Pシステムに接続したピアとのコネクションを設定して前記ピアからメッセージを受信し、メッセージ処理のために前記受信したメッセージに相応するクエリ名及びパラメーターを生成するフロントエンドプロセス処理部、
前記クエリ名及びパラメーターをクエリ文にマッピングするためのマッピング情報を含み、前記フロントエンドプロセス処理部から受信した前記クエリ名及びパラメーターに相応するクエリ文を出力するSQLマッププロセス処理部、及び
アクティブピアとして動作するピアの情報及び各ピアが保有するコンテンツ情報を保持し、前記SQLマッププロセス処理部から出力される前記クエリ文によってデータを更新、または抽出するピアデータベースを含むことを特徴とするP2Pシステムにおけるピア管理サーバー。
A front-end process processing unit that establishes a connection with a peer connected to the P2P system, receives a message from the peer, and generates a query name and parameters corresponding to the received message for message processing;
An SQL map process processing unit that includes mapping information for mapping the query name and parameter to a query statement, and outputs a query statement corresponding to the query name and parameter received from the front-end process processing unit, and an active peer In a P2P system, including a peer database that holds information on operating peers and content information held by each peer, and updates or extracts data according to the query statement output from the SQL map process processing unit Peer management server.
前記ピアの接続及びメッセージ処理状態と、前記クエリ文の生成状態と、をチェックする状態判断部、及び
前記状態判断部の判断結果に相応して前記フロントエンドプロセス処理部及び前記SQLマッププロセス処理部の生成と消滅を制御する制御部をさらに含むことを特徴とする、請求項1に記載のP2Pシステムにおけるピア管理サーバー。
A state determination unit that checks the connection state and message processing state of the peer and the generation state of the query statement, and the front-end process processing unit and the SQL map process processing unit according to the determination result of the state determination unit The peer management server in the P2P system according to claim 1, further comprising a control unit that controls generation and disappearance of the P2P system.
前記ピアから受信されるメッセージは、ピア登録要求メッセージ、ピア登録解除要求メッセージ、及びコンテンツ登録要求メッセージのうち、少なくとも一つを含むことを特徴とする、請求項1に記載のP2Pシステムにおけるピア管理サーバー。   The peer management in the P2P system according to claim 1, wherein the message received from the peer includes at least one of a peer registration request message, a peer deregistration request message, and a content registration request message. server. 前記ピア登録要求メッセージは、前記ピアがダウンロード状態の場合、前記ピアをアクティブピアに登録するためのメッセージであり、前記ピア登録解除要求メッセージは、前記ピアがダウンロード完了状態の場合、前記ピアをアクティブピアから解除するためのメッセージであることを特徴とする、請求項3に記載のP2Pシステムにおけるピア管理サーバー。   The peer registration request message is a message for registering the peer with an active peer when the peer is in a download state, and the peer deregistration request message is active when the peer is in a download complete state. The peer management server in the P2P system according to claim 3, wherein the message is a message for releasing from a peer. 前記ピア登録要求メッセージは、ユーザID、アドレス、及び保有コンテンツ情報を含み、前記フロントエンドプロセス処理部は、前記ピア登録要求メッセージに相応する予め設定されたクエリ名と、前記ユーザID、アドレス、及び保有コンテンツ情報に相応するパラメーターと、を生成し、前記SQLマッププロセス処理部は、前記クエリ名及びパラメーターを分析することで、前記クエリ文を生成して前記ピアデータベースからピア情報を抽出することを特徴とする、請求項3に記載のP2Pシステムにおけるピア管理サーバー。   The peer registration request message includes a user ID, an address, and possessed content information, and the front-end process processing unit includes a preset query name corresponding to the peer registration request message, the user ID, an address, and A parameter corresponding to the stored content information, and the SQL map process processing unit analyzes the query name and parameter to generate the query statement and extract peer information from the peer database. The peer management server in the P2P system according to claim 3, wherein the peer management server is a peer management server. 前記SQLマッププロセス処理部は、前記マッピング情報をXML文書の形態にて格納することを特徴とする、請求項1に記載のP2Pシステムにおけるピア管理サーバー。   The peer management server in the P2P system according to claim 1, wherein the SQL map process processing unit stores the mapping information in the form of an XML document. 前記フロントエンドプロセス処理部は、
前記P2Pシステムに連結される前記ピアが認証されたピアか否かを判断する認証モジュール、
前記ピアが認証されたピアである場合、前記ピアと前記P2Pシステムの間の連結を設定する連結設定モジュール、
前記ピアから前記メッセージを受信し、前記メッセージに相応する応答メッセージを前記ピアに転送するエージェント通信モジュール、
前記ピアから前記ピアの登録要求メッセージが受信される場合、前記登録要求されたピアにランダムIDを割り当てするランダムID割り当てモジュール、
前記ピアからコンテンツ要求メッセージが受信される場合、要求されたコンテンツを含んでいる他のピアの選択のための選択範囲をランダムに設定するランダム範囲設定モジュール、及び
前記エージェント通信モジュールによって受信されたメッセージの処理のためのクエリ名及びパラメーターを生成するクエリ名/パラメートル生成モジュールを含むことを特徴とする、請求項1に記載のP2Pシステムにおけるピア管理サーバー。
The front-end process processing unit
An authentication module for determining whether the peer coupled to the P2P system is an authenticated peer;
A connection setup module for setting up a connection between the peer and the P2P system if the peer is an authenticated peer;
An agent communication module that receives the message from the peer and forwards a response message corresponding to the message to the peer;
A random ID assignment module for assigning a random ID to the peer requested to register when the peer registration request message is received from the peer;
When a content request message is received from the peer, a random range setting module that randomly sets a selection range for selection of another peer including the requested content, and a message received by the agent communication module The peer management server in the P2P system according to claim 1, further comprising a query name / parameter generation module for generating a query name and a parameter for the processing.
P2Pシステムでピア情報を管理する方法であって、
P2Pシステムに接続したピアからピア登録要求メッセージを受信するステップ、
前記ピア登録要求メッセージに相応するクエリ名及びパラメーターを生成するステップ、
前記クエリ名及びパラメーターをクエリ文にマッピングするためのマッピング情報を用いて、前記ピア登録要求メッセージに相応するクエリ文を生成するステップ、及び
前記クエリ文を用いてピア情報データベースに前記ピアをアクティブピアに登録するステップを含むことを特徴とするピア情報管理方法。
A method for managing peer information in a P2P system,
Receiving a peer registration request message from a peer connected to the P2P system;
Generating a query name and parameters corresponding to the peer registration request message;
Generating a query statement corresponding to the peer registration request message using mapping information for mapping the query name and parameters to a query statement; and using the query statement to assign the peer to a peer information database as an active peer A peer information management method comprising the step of:
前記ピア登録要求メッセージ受信ステップにおいて、
前記ピア登録要求メッセージは、前記ピアがダウンロード状態の場合、前記ピアをアクティブピアに登録するために前記ピアから受信されることを特徴とする、請求項8に記載のピア情報管理方法。
In the peer registration request message receiving step,
The method of claim 8, wherein the peer registration request message is received from the peer to register the peer with an active peer when the peer is in a download state.
前記パラメーターは、前記ピア登録要求メッセージに含まれたユーザID、アドレス、及び保有コンテンツ情報に相応して生成されることを特徴とする、請求項8に記載のピア情報管理方法。   9. The peer information management method according to claim 8, wherein the parameter is generated according to a user ID, an address, and retained content information included in the peer registration request message. 前記マッピング情報は、XML形態にて格納されることを特徴とする、請求項8に記載のピア情報管理方法。   The peer information management method according to claim 8, wherein the mapping information is stored in an XML format. 前記ピアからコンテンツ要求メッセージを受信するステップ、
前記コンテンツ要求メッセージに相応するクエリ名及び前記コンテンツ要求メッセージに含まれたコンテンツIDに対するパラメーターを生成するステップ、
前記マッピング情報を用いて前記コンテンツ要求メッセージに相応するクエリ名及び前記パラメーターに相応するピア選択クエリ文を生成するステップ、及び
前記ピア選択クエリ文によって前記ピアデータベースから前記コンテンツIDと関連したコンテンツを保有するピア情報を抽出して前記ピアに提供するステップをさらに含むことを特徴とする、請求項8に記載のピア情報管理方法。
Receiving a content request message from the peer;
Generating a query name corresponding to the content request message and a parameter for the content ID included in the content request message;
Generating a query name corresponding to the content request message using the mapping information and a peer selection query statement corresponding to the parameter; and storing content associated with the content ID from the peer database by the peer selection query statement The method of claim 8, further comprising: extracting peer information to be provided and providing the peer information to the peer.
前記クエリ名及びパラメーター生成ステップと、前記クエリ文生成ステップは、別途のプロセスによって処理され、前記クエリ名及びパラメーター生成ステップと、前記クエリ文生成ステップとの処理のために、前記P2Pシステムの資源割り当て状態を調節するステップをさらに含むことを特徴とする、請求項8に記載のピア情報管理方法。   The query name and parameter generation step and the query statement generation step are processed by a separate process, and for the processing of the query name and parameter generation step and the query statement generation step, resource allocation of the P2P system is performed. The method according to claim 8, further comprising adjusting a state. 請求項8乃至 請求項13のいずれかに記載の方法を実行するコマンドが具現されたプログラムであり、デジタルデータ処理装置に設けられて、前記デジタルデータ処理装置によって読み取り可能なプログラムを記録した記録媒体。   A recording medium on which a program for executing the method according to any one of claims 8 to 13 is embodied, the program being provided in the digital data processing apparatus and recording the program readable by the digital data processing apparatus . P2Pシステムに接続されるピアに組み込まれ、前記ピアがP2Pサービスの提供を受けるようにするエージェントプログラムが記録された記録媒体であって、
前記ピアと前記P2Pシステムとの間の連結を設定する連結設定モジュール、
前記P2Pシステムにコンテンツ要求メッセージを生成して転送し、前記P2Pシステムから前記コンテンツを含んでいる他のピア情報を受信するピア情報受信モジュール、
前記ピア情報受信モジュールによって受信された前記他のピア情報を基にして前記他のピアとの連結を設定することで、前記他のピアから前記コンテンツをダウンロードするピア連結設定モジュール、
前記ピアが前記コンテンツをダウンロードしているか否かをチェックするダウンロードチェックモジュール、
前記ダウンロードチェックモジュールによるチェック結果によって、ピア登録要求メッセージやピア登録解除要求メッセージを生成し、前記P2Pシステムに転送するピア登録/解除モジュールを含むことを特徴とするエージェントプログラムが記録された記録媒体。
A recording medium in which an agent program is installed, which is incorporated in a peer connected to a P2P system and allows the peer to receive a P2P service,
A connection setting module for setting a connection between the peer and the P2P system;
A peer information receiving module for generating and transferring a content request message to the P2P system and receiving other peer information including the content from the P2P system;
A peer connection setting module for downloading the content from the other peer by setting the connection with the other peer based on the other peer information received by the peer information receiving module;
A download check module for checking whether the peer is downloading the content;
A recording medium on which an agent program is recorded, comprising a peer registration / release module that generates a peer registration request message and a peer registration release request message according to a check result by the download check module and transfers the message to the P2P system.
前記ピア登録/解除モジュールは、
前記ダウンロードチェックモジュールによって、前記ピアが前記コンテンツをダウンロードしていると判断された場合、前記ピア登録要求メッセージを生成して転送し、前記ダウンロードチェックモジュールによって前記ピアが前記コンテンツのダウンロードを完了したと判断される場合、前記ピア登録解除要求メッセージを生成して転送することを特徴とする、請求項15に記載のエージェントプログラムが記録された記録媒体。
The peer registration / cancellation module
If the download check module determines that the peer is downloading the content, it generates and forwards the peer registration request message, and the download check module indicates that the peer has completed downloading the content. 16. The recording medium having an agent program recorded thereon according to claim 15, wherein if judged, the peer deregistration request message is generated and transferred.
JP2009538314A 2006-11-24 2007-11-12 Peer management server and peer management method in P2P system Active JP5178734B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020060117170A KR100836619B1 (en) 2006-11-24 2006-11-24 Peer Management Server in P2P System and Peer Management Method
KR10-2006-0117170 2006-11-24
PCT/KR2007/005660 WO2008062961A1 (en) 2006-11-24 2007-11-12 Peer management server in p2p system and peer management method

Publications (2)

Publication Number Publication Date
JP2010511222A true JP2010511222A (en) 2010-04-08
JP5178734B2 JP5178734B2 (en) 2013-04-10

Family

ID=39429868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009538314A Active JP5178734B2 (en) 2006-11-24 2007-11-12 Peer management server and peer management method in P2P system

Country Status (3)

Country Link
JP (1) JP5178734B2 (en)
KR (1) KR100836619B1 (en)
WO (1) WO2008062961A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6887746B2 (en) * 2015-01-19 2021-06-16 エヌ・ティ・ティ・コミュニケーションズ株式会社 Terminal management system, terminal control device, terminal management method and communication control program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040146A (en) * 1996-07-22 1998-02-13 Hitachi Ltd Parallel database system communication frequency decreasing method
US20030233455A1 (en) * 2002-06-14 2003-12-18 Mike Leber Distributed file sharing system
JP2004355651A (en) * 2004-07-26 2004-12-16 Hitachi Ltd Data storage method and data management system
WO2005043413A1 (en) * 2003-10-22 2005-05-12 Conformative Systems, Inc. System for data format conversion for use in data centers
JP2006079606A (en) * 2004-09-03 2006-03-23 Microsoft Corp Receiver-driven system and method for peer-to-peer network
WO2006080083A1 (en) * 2005-01-28 2006-08-03 Argo-Notes, Inc. METHOD FOR DOWNLOADING FILE BY BitTorrent PROTOCOL

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451217B2 (en) * 2002-12-19 2008-11-11 International Business Machines Corporation Method and system for peer-to-peer authorization
KR100475668B1 (en) * 2002-12-23 2005-03-10 한국과학기술정보연구원 Apparatus and method of providing information for grid resources in grid network and computer readable recording medium of recording process thereof
US7895338B2 (en) 2003-03-18 2011-02-22 Siemens Corporation Meta-search web service-based architecture for peer-to-peer collaboration and voice-over-IP
KR101094586B1 (en) * 2005-01-21 2011-12-15 에스케이 텔레콤주식회사 System of monitoring status of terminal peer and method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040146A (en) * 1996-07-22 1998-02-13 Hitachi Ltd Parallel database system communication frequency decreasing method
US20030233455A1 (en) * 2002-06-14 2003-12-18 Mike Leber Distributed file sharing system
WO2005043413A1 (en) * 2003-10-22 2005-05-12 Conformative Systems, Inc. System for data format conversion for use in data centers
JP2004355651A (en) * 2004-07-26 2004-12-16 Hitachi Ltd Data storage method and data management system
JP2006079606A (en) * 2004-09-03 2006-03-23 Microsoft Corp Receiver-driven system and method for peer-to-peer network
WO2006080083A1 (en) * 2005-01-28 2006-08-03 Argo-Notes, Inc. METHOD FOR DOWNLOADING FILE BY BitTorrent PROTOCOL

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG200501389001; 劉 歓慶: 'P2Pネットワークにおけるコンテンツ配信高速化手法の提案' 電子情報通信学会技術研究報告 Vol.104 No.513, 20041209, p.1-6, 社団法人電子情報通信学会 *
CSNG200600683018; 石川 佳治: 'P2Pデータ流通における注釈を用いたトレーサビリティの実現手法の検討' 情報処理学会研究報告 Vol.2006 No.9, 20060127, p.117-124, 社団法人情報処理学会 *
JPN6012042954; 石川 佳治: 'P2Pデータ流通における注釈を用いたトレーサビリティの実現手法の検討' 情報処理学会研究報告 Vol.2006 No.9, 20060127, p.117-124, 社団法人情報処理学会 *
JPN6012042957; 劉 歓慶: 'P2Pネットワークにおけるコンテンツ配信高速化手法の提案' 電子情報通信学会技術研究報告 Vol.104 No.513, 20041209, p.1-6, 社団法人電子情報通信学会 *

Also Published As

Publication number Publication date
JP5178734B2 (en) 2013-04-10
WO2008062961A1 (en) 2008-05-29
KR20080047161A (en) 2008-05-28
KR100836619B1 (en) 2008-06-10

Similar Documents

Publication Publication Date Title
JP3967806B2 (en) Computerized method and resource nomination mechanism for nominating a resource location
US8117297B2 (en) System and method of device-to-server registration
US8108455B2 (en) Mobile agents in peer-to-peer networks
US7213047B2 (en) Peer trust evaluation using mobile agents in peer-to-peer networks
US7853674B2 (en) System and method for provisioning component applications
US8037202B2 (en) Presence detection using mobile agents in peer-to-peer networks
US7328243B2 (en) Collaborative content coherence using mobile agents in peer-to-peer networks
US7254608B2 (en) Managing distribution of content using mobile agents in peer-topeer networks
US7903656B2 (en) Method and system for message routing based on privacy policies
US20050144591A1 (en) Method and system for change management of interfaces in distributed computer systems
KR20080068647A (en) Method and system for establishing a service application execution environment in a heterogeneous, distributed computing system and a user friendly data transfer service application executing within the service application execution environment
US20060248181A1 (en) Formatted and/or tunable QOS data publication, subscription, and/or distribution servers and clients
US20060248182A1 (en) Formatted and/or tunable QoS data publication, subscription, and/or distribution including dynamic network formation
US9251317B2 (en) Network video messaging
CN102185900A (en) Application service platform system and method for developing application services
JP2004533687A (en) Dynamic deployment of services in computer networks
US7237235B2 (en) Application distribution system, and distribution server and distribution method thereof
WO2021051747A1 (en) Data update method, system and device, electronic device, and computer storage medium
JP3899076B2 (en) Temporary network
US8391845B2 (en) System and method of presenting entities of standard applications in wireless devices
JP2008027202A (en) Session management method, server used for the same, session management program, and recording medium with recorded program
JP5178734B2 (en) Peer management server and peer management method in P2P system
KR101305397B1 (en) Peer Management Server in P2P System and Peer Management Method
JP2008065814A (en) Information access control method
JP2003330886A (en) Network processing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101110

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20101110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121113

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130108

R150 Certificate of patent or registration of utility model

Ref document number: 5178734

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250