KR101359860B1 - Method for searching continuous nearest neighbor object in mobile ad-hoc based p2p network - Google Patents

Method for searching continuous nearest neighbor object in mobile ad-hoc based p2p network Download PDF

Info

Publication number
KR101359860B1
KR101359860B1 KR1020120084084A KR20120084084A KR101359860B1 KR 101359860 B1 KR101359860 B1 KR 101359860B1 KR 1020120084084 A KR1020120084084 A KR 1020120084084A KR 20120084084 A KR20120084084 A KR 20120084084A KR 101359860 B1 KR101359860 B1 KR 101359860B1
Authority
KR
South Korea
Prior art keywords
query
objects
information
msg
result
Prior art date
Application number
KR1020120084084A
Other languages
Korean (ko)
Inventor
유재수
이현정
박용훈
복경수
Original Assignee
충북대학교 산학협력단
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 충북대학교 산학협력단 filed Critical 충북대학교 산학협력단
Priority to KR1020120084084A priority Critical patent/KR101359860B1/en
Application granted granted Critical
Publication of KR101359860B1 publication Critical patent/KR101359860B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/20Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Abstract

A method for searching continuous nearest neighbor objects of a given object in a mobile ad-hoc based P2P network includes a step in which a first object distributing an initial query to k or more nearest neighbor objects for initial query processing and collects object information from the said neighbor objects, wherein the k is a natural number; a step in which the first object calculates and produce an optimal monitoring-region (MR) through the collected object information and distributes the MR to neighbor objects; and a step in which the objects who received the MR access whether the object itself or the neighbor objects influence a query result and updates the query result by delivering changed vector information of the object itself to the first object if the object influence the query result. According to the present invention, a k nearest neighbor query processing scheme updating a query result in real time in consideration of mobility under the MP2P environment is provided to efficiently update the query result using vector information of objects. [Reference numerals] (10) Query peer; (20) General peer; (S100) Initial query distribution and collection; (S110) Generate query; (S120) Distribute query using DP; (S130) Collect peer inforamtion; (S200) MR generation and distribution; (S210) Generate MR; (S220) Store MR; (S230) Distribute MR; (S300) Initial query distribution and collection; (S310) Monitoring through MR; (S320) Discriminate modification of query result; (S330) Update query result

Description

모바일 애드혹 기반 P2P 네트워크에서 연속적인 최근접 객체 검색 방법 {Method for searching continuous nearest neighbor object in mobile Ad-hoc based P2P network}{Method for searching continuous nearest neighbor object in mobile Ad-hoc based P2P network}

본 발명은 모바일(Mobile) 애드혹(Ad-hoc) 기반 P2P(Peer-to-Peer) 네트워크에 관한 것으로서, 더욱 상세하게는 모바일 애드혹 기반 P2P 네트워크에서 연속적인 최근접 객체 검색 기술에 관한 것이다.
The present invention relates to a mobile ad-hoc based peer-to-peer network, and more particularly, to a continuous close object search technique in a mobile ad-hoc based peer-to-peer network.

최근 스마트 폰, PDA, 태블릿 PC와 같은 이동 기기의 발달에 따라 기존 P2P 시스템에 이동성이 결합된 모바일 P2P(Mobile P2P, MP2P) 네트워크에 대한 연구가 진행되고 있다. Recently, with the development of mobile devices such as smart phones, PDAs and tablet PCs, research on mobile P2P (Mobile P2P, MP2P) networks combined with mobility in existing P2P systems is being conducted.

MP2P 네트워크는 IEEE 802.11, 블루투스(Bluetooth)와 같은 단거리 무선 통신을 사용하는 이동 기기들로 구성되어 있다. 그러나 안정적인 대역폭과 신뢰성을 보장하는 유선 환경에서의 P2P 네트워크와 달리 모바일 P2P(MP2P) 네트워크에서 각각의 객체들은 제한된 대역폭, 배터리, 컴퓨팅 능력, 저장 공간을 가지고 있다. 또한, 객체의 이동성으로 토폴로지의 잦은 변경이 발생한다. 따라서 기존의 유선 환경에 연구된 기법들을 MP2P 환경에 그대로 적용하기 어렵다. 이러한 문제를 해결하기 위해 MP2P 네트워크에 대한 연구가 진행되어오고 있다.MP2P networks consist of mobile devices that use short-range wireless communications, such as IEEE 802.11 and Bluetooth. However, unlike a P2P network in a wired environment that guarantees stable bandwidth and reliability, each object in a mobile P2P (MP2P) network has limited bandwidth, battery, computing power, and storage space. In addition, the mobility of objects causes frequent changes of topology. Therefore, it is difficult to apply the techniques studied in the wired environment to the MP2P environment. In order to solve this problem, researches on MP2P networks have been conducted.

P2P 환경에서 메시지를 전달하는 가장 기본적인 방법은 미리 설정한 라우팅 경로를 통해 메시지를 전달하는 방법이다. 하지만 애드혹 기반의 모바일 P2P 환경에서는 시간에 따라 객체의 위치가 수시로 변화되는 특성으로 인해 고정된 네트워크 토폴로지를 유지할 수 없다. 따라서 애드혹 기반의 모바일 P2P 에서 메시지를 전달하는 가장 일반적인 방법으로 플러딩(flooding) 방식을 사용한다. The most basic method of delivering a message in a P2P environment is to deliver a message through a predetermined routing path. However, in the ad hoc-based mobile P2P environment, the fixed network topology cannot be maintained due to the characteristic that the position of the object changes frequently over time. Therefore, flooding is the most common way of delivering messages in ad hoc mobile P2P.

플러딩 방식은 통신 범위에 있는 다른 객체들에게 모두 메시지를 전달하는 방법을 통해 홉단위로 메시지를 전달하는 방법이다. 하지만 이런 방법은 다중 경로를 통해 메시지가 중복적으로 전달되는 경우가 발생한다. 이러한 문제를 해결하기 위해 DP(Dominant Prunning) 기법이 연구되었다. DP 는 메시지를 전송할 때 자신의 이웃 정보를 함께 전송하여 이미 메시지를 받은 것으로 추정되는 객체에게는 메시지를 전송하지 않고, 그 외의 객체들에게만 메시지를 보냄으로써 중복 메시지 전송을 감소시키는 방법이다. Flooding is a method of delivering a message on a hop-by-hop basis by sending a message to all other objects in the communication range. However, this method sometimes causes duplicate messages to be delivered through multiple paths. To solve these problems, DP (Dominant Prunning) The technique was studied. DP In the case of transmitting a message, the neighboring information is transmitted together to reduce duplicate message transmission by sending the message only to other objects, instead of transmitting the message to an object that is supposed to have received the message.

SO - MKNN 은 각 질의 객체들이 이전에 산출했던 질의 결과 정보를 공유하는 방법으로 고정된 POI에 대한 연속적인 k-최근접 질의 처리를 수행하는 기법을 제안한다. 지리적으로 근접한 위치에 있는 질의 객체들은 k-최근접 질의의 결과가 부분적으로 동일한 경우가 발생한다. 이러한 특성을 이용하여 이웃 객체간에 이전 질의 결과를 공유함으로써 연속 질의 처리 비용을 감소시킨다. SO - MKNN In this paper, we propose a technique for performing continuous k -nearest query processing on a fixed POI by sharing the query result information that each query object previously generated. Query objects at geographically close locations may be partially identical in terms of the k -nearest query. Using this property, the cost of continuous query processing can be reduced by sharing previous query results among neighboring objects.

SO - MKNN 에서 객체들 사이에 공유하는 정보는 자신의 로컬에 저장하고 저장된 결과들의 정보를 이용하여 연속 질의를 수행한다. 이 과정에서 객체가 저장하고 있는 객체에 대한 정보량에 따라 효율적인 질의 처리가 가능하도록 두 가지 처리 방식으로 kNN single , kNN multiple 을 제안한다. SO -The information shared between objects in MKNN is stored locally in its own way and the continuous query is executed using the stored information. In this process, we propose kNN single and kNN multiple as two processing methods to enable efficient query processing according to the amount of information about the object stored by the object.

만약 하나의 이웃 객체로부터 수신한 객체 중에 자신이 알고 있는 k번째 객체보다 근접한 위치에 k개의 객체가 존재할 경우 kNN single 방법으로 질의를 처리한다. 그렇지 않은 경우에는 kNN multiple 방법으로 질의를 처리한다. 그러나 이 기법은 고정된 POI에 대한 k-최근접 질의를 처리하기 위해 제안된 기법으로 이동 객체를 질의 대상으로 하는 환경에서는 적용하기 어렵다. If the object is received from one neighboring object when there are k of the object at a position close than the k-th object which he knows to process the query as kNN single method. Otherwise kNN multiple How to process a query However, this technique is proposed to process k -nearest query for fixed POI, and it is difficult to apply in mobile environment.

종래 모든 객체가 질의 객체인 동시에 일반 객체가 되는 환경에서 Quality of Services(QoS) 를 적용하여 연속적인 k-최근접 질의를 처리할 수 있는 새로운 프레임워크 기법이 있다. QoS 는 이전에 처리한 질의 결과를 현 시점에서 연속 질의를 처리할 때 산출될 질의 결과에 대한 커버리지(coverage)와 정확도(accuracy)를 나타낸다. Conventionally, there is a new framework technique that can process a continuous k -nearest query by applying Quality of Services ( QoS ) in an environment where all objects are query objects and general objects. QoS Shows the coverage and accuracy of the query result to be generated when processing the continuous query at this time.

DO - MKNN 은 사용자가 원하는 QoS를 정의하여 상황에 따라 연속 질의 처리를 위한 처리과정을 달리한다. 프레임워크는 최대 세 단계로 처리된다. DO - MKNN Defines the QoS desired by the user and changes the processing for continuous query processing according to the situation. The framework is processed in up to three steps.

첫 번째 단계는 이전 질의 처리를 통해 얻은 질의 결과 객체들과 질의 객체의 최대 이동 속도 정보를 통해 각 객체들이 이동할 수 있는 영역 범위를 계산하고 QoS 를 만족하는지 여부를 검사한다. 사용자가 원하는 수준의 QoS 를 만족할 경우 이후의 과정이 필요 없이 질의 처리를 종료한다. 만약 첫 번째 단계를 통해 질의 결과를 산출하지 못할 경우에 두 번째 단계를 수행한다. The first step calculates the area range in which each object can move and checks whether it satisfies QoS based on the query result objects obtained through previous query processing and the maximum movement speed information of the query object. If the user satisfies the desired level of QoS , the query processing is terminated without the need for subsequent steps. If the first step fails to produce a query result, the second step is executed.

두 번째 단계는 질의 객체가 자신의 이웃 객체에게 질의를 배포하고 이웃 객체는 응답 메시지에 자신의 정보와 함께 자신의 이웃 객체 정보를 함께 전송한다. 질의 객체는 이웃 객체들로부터 받은 정보를 통해 자신의 객체 테이블에 저장된 객체들의 위치 정보를 갱신한다. In the second step, the query object distributes the query to its neighbors, and the neighbors transmit their neighbor object information together with their information in the response message. The query object updates location information of objects stored in its object table through information received from neighboring objects.

만약 두 번째 단계를 통해서도 k 개의 객체를 찾지 못할 경우 세 번째 단계를 통해 좀 더 넓은 범위로 홉 수를 증가시키면서 질의를 배포한다. 질의를 배포하고 그에 따른 응답 메시지를 회수하는 과정에서 라우팅에 참여하는 객체들은 자신의 로컬에 있는 테이블 정보를 갱신함으로써, 자신과 관련된 질의에 대해 최신 정보를 유지한다. 그러나 이 기법은 이동 객체의 정확한 위치 정보를 기반으로 질의 처리를 수행하는 대신 객체의 최대 이동 속도를 기반으로 QoS 를 만족하는 k 개의 객체들을 질의 결과를 산출한다. 따라서 정확한 질의 결과를 산출해야 하는 환경에서는 메시지 전송 비용이 증가한다는 문제점이 있다. If the second step does not find k objects, the third step is to distribute the query by increasing the hop count to a wider range. In the process of distributing the query and retrieving the response message, the objects participating in the routing update their local table information, thereby maintaining the latest information about the query related to them. However, instead of performing query processing based on the exact location information of the moving object, this technique yields a query result for k objects that satisfy QoS based on the maximum moving speed of the object. Therefore, there is a problem that the cost of message transmission increases in an environment where accurate query results are to be calculated.

2차원 공간에서 연속적인 모니터링을 요구하는 질의 형태를 처리하기 위한 기법으로 SMQ(Spatial Monitoring Query) 가 제안되었다. SMQ는 질의 비용을 감소시키기 위해 전체 네트워크를 그리드 형태로 분할하고, 각각의 셀에 대한 질의 정보를 관리하는 대표 객체를 선정한다. 대표 객체는 셀에 들어오거나, 셀을 벗어나는 객체의 정보를 관리하기 때문에 질의를 배포하는데 소모되는 통신 비용을 최소화할 수 있다. SMQ ( Spatial) is a technique for processing query forms that require continuous monitoring in two-dimensional space Monitoring Query ) Was proposed. SMQ divides the entire network into grids in order to reduce the query cost and selects a representative object that manages query information for each cell. Since the representative object manages information of objects entering or leaving the cell, the communication cost of distributing queries can be minimized.

M- KNNMQ 는 MP2P 환경에서 연속적인 k-최근접 질의를 처리하기 위해 Safe-Boundary 를 이용한 질의 처리를 수행한다. Safe - Boundary 는 연속적인 질의 처리를 수행하기 위해 질의 결과로 k 개의 객체를 보장하는 특정 모니터링 영역이다. Safe-Boundary 는 이전의 질의 결과를 통해 얻어진 k 번째 객체와 k+1 번째 객체의 위치 정보를 사용하여 생성한다. 연속적인 k 최근접 객체를 검색하기 위해 질의 지점과 두 거리 Nk, dk를 기준으로 세 개의 Safe - Boundary Bf, Bi, Bo 를 정의한다. 질의 객체가 Bf 를 지나가지 않고, 다른 노드들이 Bi, Bo 를 지나지 않는 한 이전 질의 결과가 여전히 유효하다고 판단한다. M- KNNMQ Performs query processing using Safe-Boundary to process continuous k -nearest queries in MP2P environment. Safe - Boundary is a specific monitoring area that guarantees k objects as query results to perform continuous query processing. Safe-Boundary is created using the location information of the k th object and the k + 1 th object obtained from the previous query result. We define three Safe - Boundary B f , B i , and B o based on query point and two distances N k , d k to search consecutive k nearest objects. As long as the query object does not pass B f and other nodes do not pass B i , B o , the previous query result is still valid.

질의 객체는 Safe - Boundary 를 주변 객체에게 배포하여 특정 객체가 Safe-Boundary 를 지나갈 경우 자신의 정보를 질의 객체에게 전달함으로써 k-최근접 질의 결과를 실시간으로 갱신한다. 그러나 Safe - Boundary 는 이웃 객체들의 현재 위치만을 이용하여 계산되기 때문에 Safe - Boundary 의 유지 시간이 매우 짧다. 또한, 객체 간에 메시지 통신이 실패하는 경우를 고려하지 않았기 때문에 네트워크 연결이 충분하지 않은 환경에 적용되기 어렵다는 단점이 있다.
The query object distributes Safe - Boundary to neighboring objects and updates its k -nearest query result in real time by passing its information to the query object when a specific object passes Safe-Boundary. However, the safe - boundary maintenance time is very short because Safe - Boundary is calculated using only the current position of neighboring objects. In addition, since it does not consider a case where message communication fails between objects, it is difficult to be applied to an environment in which network connection is insufficient.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 이동 P2P 환경에서 연속적인 k-최근접 질의를 처리하기 위해 제안된 기존 기법들의 문제점을 해결하고 보다 효율적인 질의 처리를 위하여, MP2P 환경에서의 이동성을 고려하여 실시간으로 질의 결과를 갱신하는 연속적인 k-최근접 질의처리 기법을 제공하는데 그 목적이 있다.The present invention has been devised to solve the above problems, and solves the problems of the existing techniques proposed to process continuous k-nearest queries in a mobile P2P environment and more efficiently in the MP2P environment. The purpose is to provide a continuous k-nearest query processing technique that updates query results in real time in consideration of mobility.

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
The objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.

이와 같은 목적을 달성하기 위한 본 발명의 모바일(Mobile) 애드혹(Ad-hoc) 기반 P2P(Peer-to-Peer) 네트워크에서 연속적인 최근접 객체 검색 방법에 있어서, 제1 객체는 초기 질의 처리를 위해 이웃 객체들 중에서 가장 근접한 k(k는 자연수) 개 이상의 객체에게 초기 질의를 배포하고, 초기 질의를 배포한 객체로부터 객체 정보를 수집하는 단계, 상기 제1 객체는 수집된 객체 정보를 통해 최적의 MR(Monitoring-Region)을 계산하여 생성하고, 이를 이웃 객체들에게 배포하는 단계 및 상기 MR을 수신한 객체들은 자신 또는 이웃 객체들이 질의 결과에 영향을 미치는지 평가하여, 영향을 미치는 경우 자신의 변경된 벡터 정보를 상기 제1 객체에게 전달하여 질의 결과를 갱신하는 단계를 포함한다.In the mobile ad-hoc-based Peer-to-Peer (P2P) network search method of the present invention for achieving the above object, the first object is for initial query processing Distributing an initial query to at least k (k is a natural number) objects among neighboring objects, and collecting object information from the object that distributed the initial query, wherein the first object is an optimal MR through the collected object information. Calculating and generating Monitoring-Region, distributing it to neighboring objects, and evaluating whether the MR-received objects affect the query result. Transmitting to the first object to update the query result.

모든 객체는 질의 처리를 위해 필요한 자료구조를 자신의 로컬에 저장하고 있을 수 있다.Every object can have its own local data structure for query processing.

이때, 상기 자료구조는 자신이 생성한 질의 정보와 다른 객체들로부터 수신한 질의 정보를 저장하기 위한 질의 테이블(QT : Query Table), 질의 처리를 위해 객체 정보를 수집하는 과정에서 수신한 객체들의 정보를 저장하기 위한 질의 결과 후보 객체 테이블(QRCPT : Query Result Candidate Peer Table), 질의 결과로 산출한 k개의 객체 정보를 저장하기 위한 질의 결과 테이블(QRT : Query Result Table) 및 자신의 이웃 객체에 대한 정보를 저장하기 위한 이웃 객체 테이블(OHT : One Hop Table)을 포함하는 구조를 포함하여 이루어질 수 있다.In this case, the data structure includes a query table (QT) for storing query information generated by itself and query information received from other objects, and information on the objects received in the process of collecting object information for query processing. Query Result Candidate Peer Table (QRCPT) for storing the information, Query Result Table (QRT) for storing the k object information calculated as the query result, and information about its neighbors. It may include a structure including a neighbor object table (OHT: One Hop Table) for storing the.

상기 MR을 계산하는 과정에 있어서, n 시간 동안 k개 객체를 보장하는 질의 Q 의 Monitroing-Region 인 MRn(Q)이고, tc 는 현재 시간이고, tc +n 은 n 만큼의 미래 시간이고,

Figure 112012061422899-pat00001
는 전 단계에서 수집된 객체 중의 ti 시점에 질의 객체로부터 k 번째 근접한 객체를 나타낼 때,
Figure 112012061422899-pat00002
의 수학식을 이용하여 계산될 수 있다.In the process of calculating the MR, MR n (Q) which is Monitroing-Region of the query Q guaranteeing k objects for n hours, t c is the current time, t c + n is future time by n ,
Figure 112012061422899-pat00001
When k represents the kth closest object from the query object at time t i of the objects collected in the previous step,
Figure 112012061422899-pat00002
It can be calculated using the following equation.

상기 제1 객체에서 가장 근접한 이웃 객체에게 초기 질의를 배포하는 과정에서, 상기 초기 질의를 받은 객체가 다른 객체로부터 동일한 질의를 중복적으로 받은 경우, 상기 초기 질의를 받은 객체는 가장 처음 수신한 초기 질의에 대해서만 해당 객체에 대해 응답하고, 이후 동일한 질의를 보낸 객체에 대해서는 응답을 거부하는 응답 거부 메시지를 보낼 수 있다.
In the process of distributing the initial query to the nearest neighbor object in the first object, when the object receiving the initial query receives the same query repeatedly from another object, the object receiving the initial query is the initial query first received. Respond to the object only for, and then reject the response for the object that sent the same query.

본 발명에 의하면 MP2P 환경에서의 이동성을 고려하여 실시간으로 질의 결과를 갱신하는 연속적인 k-최근접 질의처리 기법을 제안하여, 객체의 벡터 정보를 이용하여 효율적인 질의 결과 갱신이 가능하다는 효과가 있다.According to the present invention, we propose a continuous k-nearest query processing technique that updates query results in real time in consideration of mobility in an MP2P environment, and thus, it is possible to efficiently update query results using vector information of an object.

또한, 본 발명에 의하면 질의 객체 중심적으로 질의 처리를 수행하는 대신 객체들과의 협력적인 질의처리를 수행함으로써, 질의를 갱신하는 비용을 줄일 수 있는 효과가 있다.
In addition, according to the present invention, by performing cooperative query processing with the objects instead of query processing centered on the query object, there is an effect that can reduce the cost of updating the query.

도 1은 본 발명의 일 실시예에 따른 모바일 애드혹 기반 P2P 네트워크에서 연속적인 최근접 객체 검색 처리 과정을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 QT 구조를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 QRCPT 구조를 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 QRT 구조를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 OHT 구조를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 k = 5일 때 초기 객체 정보 수집 과정을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 중복 메시지를 처리 과정을 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 MSG_KNN_BROADCAST 수신 시 처리 과정을 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 MSG_KNN_RESULT 수신 시 처리 과정을 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 따른 MSG_REFUSAL_RESPONSE 수신 시 처리 과정을 나타낸 도면이다.
도 11은 본 발명의 일 실시예에 따른 질의 객체와 수집한 객체들 사이의 상대거리를 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따른 Monitoring-Region 배포 및 객체 정보 수집 과정을 나타낸 도면이다.
도 13은 본 발명의 일 실시예에 따른 MSG_MONITORING_REGION 수신 시 처리 과정을 나타낸 도면이다.
도 14는 본 발명의 일 실시예에 따른 Monitoring-Region 내 객체의 벡터가 변경된 경우 처리 과정을 나타낸 도면이다.
도 15는 본 발명의 일 실시예에 따른 새로운 객체가 Monitoring-Region 내에 진입한 경우 처리 과정을 나타낸 도면이다.
도 16은 본 발명의 일 실시예에 따른 MSG_UPDATE_REQUEST 수신 시 처리 과정을 나타낸 도면이다.
도 17은 본 발명의 일 실시예에 따른 MSG_HELLO 수신 시 처리 과정을 나타낸 도면이다.
도 18은 본 발명의 일 실시예에 따른 MSG_QUERY_DELIVER 수신 시 처리 과정을 나타낸 도면이다.
FIG. 1 is a diagram illustrating a process of searching for a nearest neighbor object in a mobile ad hoc P2P network according to an embodiment of the present invention.
2 is a diagram illustrating a QT structure according to an embodiment of the present invention.
3 is a view showing a QRCPT structure according to an embodiment of the present invention.
4 illustrates a QRT structure according to an embodiment of the present invention.
5 illustrates an OHT structure according to an embodiment of the present invention.
6 is a diagram illustrating a process of collecting initial object information when k = 5 according to an embodiment of the present invention.
7 is a diagram illustrating a process of processing a duplicate message according to an embodiment of the present invention.
8 is a diagram illustrating a process of receiving MSG_KNN_BROADCAST according to one embodiment of the present invention.
9 is a diagram illustrating a processing process when receiving an MSG_KNN_RESULT according to an embodiment of the present invention.
10 is a diagram illustrating a processing procedure when receiving an MSG_REFUSAL_RESPONSE according to one embodiment of the present invention.
11 is a diagram illustrating a relative distance between a query object and collected objects according to an embodiment of the present invention.
12 is a diagram illustrating a Monitoring-Region distribution and object information collection process according to an embodiment of the present invention.
13 is a diagram illustrating a processing procedure when receiving an MSG_MONITORING_REGION according to an embodiment of the present invention.
14 is a diagram illustrating a processing process when a vector of an object in Monitoring-Region is changed according to an embodiment of the present invention.
15 is a diagram illustrating a processing process when a new object enters into a Monitoring-Region according to one embodiment of the present invention.
16 is a diagram illustrating a processing procedure when receiving an MSG_UPDATE_REQUEST according to one embodiment of the present invention.
17 is a diagram illustrating a process of receiving MSG_HELLO according to one embodiment of the present invention.
18 is a diagram illustrating a process of receiving MSG_QUERY_DELIVER according to one embodiment of the present invention.

이하, 첨부된 도면을 참조해서 본 발명의 실시예를 상세히 설명하면 다음과 같다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 명세서 전반에 걸쳐서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used for the same reference numerals even though they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. Also, throughout this specification, when a component is referred to as "comprising ", it means that it can include other components, aside from other components, .

본 발명에서 제안하는 k-최근접 질의 기법은 연속적으로 질의를 처리하는 과정에서 최대한 질의를 재수행하지 않고, 기존 질의 결과를 통해 질의 결과를 갱신할 수 있는 질의 처리 기법을 제안한다. The k-nearest query technique proposed in the present invention proposes a query processing technique that can update a query result through existing query results without re-executing the query as much as possible in the process of continuously processing the query.

객체의 이동으로 연속적인 k-최근접 객체를 검색하기 위해서는 빈번한 질의 재수행으로 인한 메시지 전송이 증가하는 문제가 있다. In order to search for a continuous k-nearest object by moving an object, there is a problem of increasing message transmission due to frequent query rerun.

따라서, 본 발명에서는 질의 갱신 과정에서 발생하는 메시지 전송 비용을 감소시키기 위해 객체들의 벡터 정보를 기반으로 객체의 향후 위치를 계산하고 연속 질의를 처리하는 방법을 고려한다.Accordingly, the present invention considers a method of calculating a future position of an object and processing a continuous query based on the vector information of the objects in order to reduce the message transmission cost incurred during the query update process.

본 발명의 모바일(Mobile) 애드혹(Ad-hoc) 기반 P2P(Peer-to-Peer) 네트워크에서 연속적인 최근접 객체 검색 방법에 있어서, 제1 객체는 초기 질의 처리를 위해 이웃 객체들 중에서 가장 근접한 k(k는 자연수) 개 이상의 객체에게 초기 질의를 배포하고, 초기 질의를 배포한 객체로부터 객체 정보를 수집하는 단계, 제1 객체는 수집된 객체 정보를 통해 최적의 MR(Monitoring-Region)을 계산하여 생성하고, 이를 이웃 객체들에게 배포하는 단계 및 MR을 수신한 객체들은 자신 또는 이웃 객체들이 질의 결과에 영향을 미치는지 평가하여, 영향을 미치는 경우 자신의 변경된 벡터 정보를 제1 객체에게 전달하여 질의 결과를 갱신하는 단계의 3 단계를 포함하여 이루어진다. In the mobile ad-hoc based peer-to-peer (P2P) peer-to-peer network search method, the first object is the nearest k among neighboring objects for initial query processing. (k is a natural number) Distributing an initial query to more than one object, collecting object information from the object that distributed the initial query, the first object calculates an optimal MR (Monitoring-Region) through the collected object information Generating, distributing it to neighboring objects, and receiving the MR evaluate whether the self or the neighboring objects affect the query result, and if so, transmits the changed vector information to the first object to the first object. It consists of three steps of updating the.

도 1은 본 발명의 일 실시예에 따른 모바일 애드혹 기반 P2P 네트워크에서 연속적인 최근접 객체 검색 처리 과정을 나타낸 도면이다.FIG. 1 is a diagram illustrating a process of searching for a nearest neighbor object in a mobile ad hoc P2P network according to an embodiment of the present invention.

도 1을 참조하면, 초기 질의를 배포하는 객체를 질의 객체(10)라고 하고, 초기 질의를 수신하는 이웃 객체를 일반 객체(20)라고 명명하기로 한다. Referring to FIG. 1, an object for distributing an initial query is called a query object 10, and a neighbor object receiving the initial query is called a general object 20.

질의 객체(10)는 초기 질의 처리를 위해 이웃 객체들 중에서 가장 근접한 k(k는 자연수) 개 이상의 일반 객체(20)에게 초기 질의를 배포하고, 초기 질의를 배포한 일반 객체(20)로부터 객체 정보를 수집한다(S100).The query object 10 distributes an initial query to at least k (k is a natural number) or more general objects 20 which are the closest among neighbor objects for initial query processing, and the object information from the general object 20 that distributed the initial query. Collect (S100).

그리고, 질의 객체(10)는 수집된 객체 정보를 통해 최적의 MR(Monitoring-Region)을 계산하여 생성하고, 이를 일반 객체(20)에게 배포한다(S200).Then, the query object 10 calculates and generates an optimal Monitoring-Region (MR) based on the collected object information, and distributes it to the general object 20 (S200).

그리고, MR을 수신한 일반 객체(30)는 자신 또는 이웃 객체들이 질의 결과에 영향을 미치는지 평가하여, 영향을 미치는 경우 자신의 변경된 벡터 정보를 질의 객체(10)에게 전달하여 질의 결과를 갱신한다(S300).In addition, the general object 30 receiving the MR evaluates whether the self or neighbor objects affect the query result, and if so, transmits the changed vector information to the query object 10 to update the query result ( S300).

본 발명의 일 실시예에서 S100 단계는 질의 객체(10)가 질의를 생성하고(S110), 일반 객체(20)는 DP(Dominant Prunning)를 이용하여 이웃 객체들에게 질의를 배포하고(S120), 이웃 객체들로부터 수신한 객체 정보를 수집하여 질의 객체(10)에게 전달하는 과정(S130)으로 이루어질 수 있다.In an embodiment of the present invention, in step S100, the query object 10 generates a query (S110), and the general object 20 distributes the query to neighboring objects by using DP (Dominant Prunning) (S120). In operation S130, the object information received from the neighbor objects may be collected and transmitted to the query object 10.

본 발명의 일 실시예에서 S200 단계는 질의 객체(10)가 MR을 생성하여 일반 객체(20)에게 배포하고(S210), 일반 객체(20)는 MR을 저장하여 이웃 객체들에게 배포하는 과정(S220, S230)으로 이루어질 수 있다.In an embodiment of the present invention, in step S200, the query object 10 generates an MR and distributes the MR to the general object 20 (S210), and the general object 20 stores the MR and distributes the MR to neighboring objects ( S220 and S230).

본 발명의 일 실시예에서 S300 단계는 일반 객체(20)에서 MR을 통해 모니터링을 수행하고(S310), 질의 결과 변경 여부를 판별하고(S320), 이에 따라 질의 객체(10)에서는 질의 결과를 갱신하는 과정(S330)으로 이루어질 수 있다. In an embodiment of the present invention, step S300 is performed through the MR in the general object 20 (S310), and determines whether or not to change the query result (S320), and accordingly the query object 10 updates the query result It may be made to the process (S330).

본 발명에서 제안하는 기법에서는 모든 객체들이 질의 객체인 동시에 질의의 결과가 될 수 있다. 각 객체들은 기본적으로 질의 처리를 위해 필요한 자료 구조를 자신의 로컬에 저장하고 있다. In the technique proposed in the present invention, all objects can be query objects and result of a query. Each object basically stores its own data structure locally for query processing.

본 발명에서 제안하는 기법에서는 질의 테이블(QT : Query Table), 질의 결과 후보 객체 테이블(QRCPT : Query Result Candidate Peer Table), 질의 결과 테이블(QRT : Query Result Table), 이웃 객체 테이블(OHT : One Hop Table)을 사용한다. In the proposed technique, a query table (QT), a query result candidate object table (QRCPT), a query result table (QRT) and a neighbor object table (OHT: One Hop) are proposed. Table).

도 2는 본 발명의 일 실시예에 따른 QT 구조를 나타낸 도면이고, 도 3은 본 발명의 일 실시예에 따른 QRCPT 구조를 나타낸 도면이고, 도 4는 본 발명의 일 실시예에 따른 QRT 구조를 나타낸 도면이고, 도 5는 본 발명의 일 실시예에 따른 OHT 구조를 나타낸 도면이다.2 is a view showing a QT structure according to an embodiment of the present invention, Figure 3 is a view showing a QRCPT structure according to an embodiment of the present invention, Figure 4 is a QRT structure according to an embodiment of the present invention 5 is a diagram showing an OHT structure according to an embodiment of the present invention.

본 발명에서 QT는 객체 자신이 생성한 질의 정보와 다른 객체들로부터 수신한 질의 정보를 함께 저장하기 위해 사용된다.In the present invention, QT is used to store together query information generated by the object itself and query information received from other objects.

QRCPT과 QRT은 객체가 1개 이상의 질의를 생성할 때 동시에 생성한다. QRCPT은 질의 처리를 위해 객체 정보를 수집하는 과정에서 수신한 객체들의 정보를 저장한다.QRCPT and QRT are created simultaneously when an object generates more than one query. QRCPT stores the information of the objects received in the process of collecting object information for query processing.

도 3은 QRCPT의 구조를 나타낸다. 이 때, candidate_list 는 {peer_id, peer_location, peer_vector} 로 구성된다. peer_id 는 질의결과후보로 저장되는 객체 식별자, peer_location 는 좌표 정보, peer_vector 는 벡터 정보를 나타낸다. 3 shows the structure of QRCPT. At this time, candidate_list consists of {peer_id, peer_location, peer_vector}. peer_id represents an object identifier stored as a query result candidate, peer_location represents coordinate information, and peer_vector represents vector information.

QRT는 질의 결과로 산출한 k개의 객체 정보를 저장한다. 질의 객체는 QRCPT에 저장된 객체들의 위치 정보를 이용하여 자신의 위치와 가장 가까이에 위치한 k개의 객체를 산출하여 QRT에 저장한다. result_list는 질의 결과 후보 객체 테이블의 candidate_list와 같은 형식으로 구성된다. [도 4]는 QRT의 구조를 나타낸다. The QRT stores k object information calculated as a result of the query. The query object calculates k objects located closest to its location using the location information of the objects stored in QRCPT and stores them in QRT. result_list is configured in the same format as candidate_list of the query result candidate object table. 4 shows the structure of a QRT.

OHT는 자신의 이웃 객체에 대한 정보를 저장한다. 제안하는 기법에서는 자신과 통신이 되는 객체를 파악하기 위해 주기적으로 1-홉 통신을 수행한다. 즉, 모든 객체들은 이웃 객체로부터 수신한 객체 정보를 저장한다. [도 5]는 OHT의 구조를 나타낸다. OHT stores information about its neighbor object. In the proposed scheme, 1-hop communication is performed periodically to identify the object that communicates with itself. That is, all objects store object information received from neighboring objects. 5 shows the structure of OHT.

본 발명에서 제안하는 질의 처리 기법에서는 질의 갱신 과정에서 메시지 전송 비용을 감소시키기 위하여 객체의 벡터 정보를 기반으로 향후 객체의 위치를 계산하고 연속 질의 처리를 수행하는 기법을 제안한다. 제안하는 연속 k-최근접 질의 처리 기법은 다음과 같이 크게 세 단계로 이루어진다.In the query processing technique proposed by the present invention, in order to reduce the message transmission cost in the query update process, a technique for calculating the position of an object in the future based on vector information of the object and performing a continuous query processing is proposed. The proposed continuous k-nearest query processing technique consists of three steps as follows.

첫째, 초기 질의 배포 및 수집하는 첫번째 단계이다.The first step is to distribute and collect the initial query.

초기 질의 배포 및 수집 단계에서 초기 질의 처리를 위해 질의 객체는 이웃 객체로부터 가장 근접한 k개 이상의 객체를 수집한다. In the initial query distribution and collection phase, for initial query processing, the query object collects k or more nearest objects from neighboring objects.

질의 객체는 k개의 객체 정보를 수집하기 위해 수집해야 할 객체의 개수를 이웃 객체에게 전달한다. 이때, 본 발명에서 제안하는 기법에서는 주기적인 1-홉 통신을 통해 자신의 이웃 객체들의 정보를 안다고 가정한다. 따라서 k개의 객체에서 자신의 이웃 객체수를 제외한 객체의 개수 ck를 이웃 객체로 전달한다. The query object delivers the number of objects to be collected to neighbor objects to collect k object information. In this case, it is assumed that the technique proposed by the present invention knows information of its neighbor objects through periodic 1-hop communication. Therefore, the number of objects ck except the number of neighboring objects in k objects is transferred to the neighboring object.

이웃 객체들은 질의 객체와 동일한 방법으로 필요한 객체 개수를 수집할 때까지 점진적으로 질의 배포를 수행한다. 이를 통해 k 개의 객체 수집을 보장하면서 불필요한 메시지 통신을 최소화한다. [수학식 1]은 k개의 객체 정보를 수집한다고 할 때 이웃 객체에게 수집을 요청하는 객체의 개수 ck를 나타낸다. Neighboring objects gradually distribute queries until the required number of objects is collected in the same way as query objects. This ensures the collection of k objects while minimizing unnecessary message communication. Equation 1 represents the number of objects ck for requesting collection to neighboring objects when collecting k object information.

Figure 112012061422899-pat00003
Figure 112012061422899-pat00003

도 6은 본 발명의 일 실시예에 따른 k = 5일 때 초기 객체 정보 수집 과정을 나타낸 도면이다.6 is a diagram illustrating a process of collecting initial object information when k = 5 according to an embodiment of the present invention.

도 6을 참조하면, 질의 객체 q는 자신의 통신 반경에 있는 이웃 객체 a, b, c에 MSG_KNN_BROADCAST 를 전달한다. MSG_KNN_BROADCAST 는 질의 객체가 질의를 생성한 후 객체 정보를 수집하기 위해 배포하는 메시지를 나타낸다. Referring to FIG. 6, the query object q delivers MSG_KNN_BROADCAST to neighbor objects a, b, and c in its communication radius. MSG_KNN_BROADCAST represents a message that a query object distributes to collect object information after creating a query.

MSG_KNN_BROADCAST 에서 k는 질의를 생성할 때 정의한 k 값에서 이웃 객체의 개수 3을 제외한 값인 2를 전달한다. In MSG_KNN_BROADCAST, k passes 2, which is the value k minus the number of neighbor objects, from k value defined when creating the query.

MSG_KNN_BROADCAST 를 수신한 a, b, c 는 q 와 같은 방법으로 수신한 k 에서 이웃 객체의 개수를 제외하고 k를 수집하기 위해 필요한 객체의 수를 자신의 이웃 객체로 전달한다. 만약 수신한 메시지의 k 에서 이웃 객체의 개수를 제외한 수가 0일 경우 MSG_KNN_BROADCAST 배포를 중단하고, 객체 자신의 정보와 모든 자식 노드의 정보를 담은 MSG_KNN_RESULT 를 질의 객체로 전송한다. MSG_KNN_RESULT 는 MSG_KNN_BROADCAST 를 수신한 객체들이 수집한 객체 정보를 질의 객체로 전달하기 위한 메시지이다. A, b, and c that have received MSG_KNN_BROADCAST transfer the number of objects needed to collect k to their neighboring objects, except for the number of neighboring objects in k received in the same way as q. If the number of the received message k minus the number of neighbor objects is 0, the distribution of MSG_KNN_BROADCAST is stopped, and MSG_KNN_RESULT containing the information of the object itself and all child nodes is transmitted to the query object. MSG_KNN_RESULT is a message for delivering object information collected by objects receiving MSG_KNN_BROADCAST to the query object.

질의를 배포하는 과정에서 객체들이 이미 받은 질의를 다른 객체로부터 중복적으로 받는 경우가 발생한다. 본 발명에서는 가장 처음에 수신한 메시지에 대해서만 해당 객체에게 MSG_KNN_RESULT 를 응답하고, 이후 받은 중복 메시지를 보낸 객체에게 MSG_REFUSAL_RESPONSE 를 보내는 것으로 동일한 질의에 대한 중복적인 메시지 처리를 방지한다.In the process of distributing a query, objects that receive the queries already received from other objects may occur. In the present invention, MSG_KNN_RESULT is responded to only the first received message to the corresponding object, and MSG_REFUSAL_RESPONSE is sent to the object that sent the received duplicate message, thereby preventing duplicate message processing for the same query.

도 7은 본 발명의 일 실시예에 따른 중복 메시지를 처리 과정을 나타낸 도면이다. 즉, 도 7은 동일한 질의에 대해 두 개 이상의 객체로부터 메시지를 받은 경우의 동작과정을 나타낸 것이다. 7 is a diagram illustrating a process of processing a duplicate message according to an embodiment of the present invention. That is, FIG. 7 illustrates an operation process when a message is received from two or more objects for the same query.

도 7을 참조하면, 객체 a는 객체 q 의 k 객체 검출메시지를 수신한 후 자신의 이웃 객체 b, c 에게 전달한다. Referring to FIG. 7, the object a receives a k object detection message of the object q and delivers it to its neighbor objects b and c.

객체 b, c 는 수신한 k 에서 자신의 이웃 객체 수를 제외한 수가 2보다 크기 때문에 각각 자신의 이웃 객체인 d 로 MSG_KNN_BROADCAST 를 전송한다. 이 때, 객체 d 는 b 가 전송한 MSG_KNN_BROADCAST 를 수신한 후, 객체 c 로부터 동일한 질의에 대한 중복 메시지를 전달받게 된다. 따라서 객체 d 는 b 에게 k 객체 MSG_KNN_RESULT 를 전송하고, 객체 c 에게 MSG_REFUSAL_RESPONSE 를 전달한다. Objects b and c transmit MSG_KNN_BROADCAST to their neighbor d, because the number of objects k and n except their neighbors is greater than 2. At this time, the object d receives MSG_KNN_BROADCAST transmitted by b, and then receives a duplicate message for the same query from the object c. Therefore, object d sends k object MSG_KNN_RESULT to b and MSG_REFUSAL_RESPONSE to object c.

도 8은 본 발명의 일 실시예에 따른 MSG_KNN_BROADCAST 수신 시 처리 과정을 나타낸 도면이다. 즉, 도 8은 초기 질의 배포 과정에서 MSG_KNN_BROADCAST 를 수신 했을 때 처리되는 알고리즘이다. 8 is a diagram illustrating a process of receiving MSG_KNN_BROADCAST according to one embodiment of the present invention. That is, FIG. 8 is an algorithm that is processed when MSG_KNN_BROADCAST is received during the initial query distribution.

도 8을 참조하면, MSG_KNN_BROADCAST 를 수신한 객체들은 메시지 식별자를 확인하여 이미 수신한 메시지인 경우 MSG_REFUSAL_RESPONSE 를 전달한다. 기존에 수신하지 않은 메시지인 경우 QT에 질의를 저장하고, 메시지의 k 에서 자신의 자식 객체의 개수를 제외한 수를 이웃 노드에게 전달할 ck 로 설정한다. Referring to FIG. 8, objects receiving MSG_KNN_BROADCAST check the message identifier and deliver MSG_REFUSAL_RESPONSE if the message has already been received. If the message has not been received previously, the query is stored in QT, and the number excluding the number of its child objects in k of the message is set to ck to be transmitted to the neighbor node.

자신의 자식 객체가 없는 경우, 질의 객체로 MSG_KNN_RESULT 을 전송한다. 이때, 메시지 내의 result_candidate list 에는 자신의 정보만을 저장한다. ck 가 0일 경우, result_candidate list 에 자신의 정보를 담아 질의 객체로 MSG_KNN_RESULT 을 전송한다. 반대로 ck 가 1이상이라면 k값으로 계산된 ck 를 지정하여 자식 객체로 MSG_KNN_BROADCAST 를 전달한다. If no child object exists, send MSG_KNN_RESULT to the query object. At this time, only its own information is stored in the result_candidate list in the message. If ck is 0, MSG_KNN_RESULT is sent to the query object with its information in the result_candidate list. Conversely, if ck is greater than or equal to 1, specify ck calculated as k and pass MSG_KNN_BROADCAST to the child object.

도 9는 본 발명의 일 실시예에 따른 MSG_KNN_RESULT 수신 시 처리 과정을 나타낸 도면이다. 즉, 도 9는 MSG_KNN_RESULT 를 수신 했을 때 알고리즘이다. 9 is a diagram illustrating a processing process when receiving an MSG_KNN_RESULT according to an embodiment of the present invention. That is, FIG. 9 is an algorithm when MSG_KNN_RESULT is received.

도 9를 참조하면, MSG_KNN_RESULT 을 수신한 객체는 응답 대기 테이블을 갱신한 후에 모든 자식 객체로부터 MSG_KNN_RESULT 메시지 혹은 MSG_REFUSAL_RESPONSE 를 회수했는지 검사한다(줄 02~03). Referring to FIG. 9, after receiving the MSG_KNN_RESULT, the object checks whether the MSG_KNN_RESULT message or the MSG_REFUSAL_RESPONSE has been retrieved from all child objects after updating the response waiting table (lines 02 to 03).

모든 자식 객체로부터 MSG_KNN_RESULT 혹은 MSG_REFUSAL_RESPONSE 를 회수했다면, 자신이 질의 객체가 아닌 경우 질의 객체와 자신이 수집한 객체들 사이의 거리를 계산한다. 계산된 결과를 통해 질의 객체로부터 가장 가까운 ck 개의 객체를 선정하여 질의 객체로 MSG_KNN_RESULT 를 전송한다(줄 04~09). If MSG_KNN_RESULT or MSG_REFUSAL_RESPONSE is retrieved from all child objects, the distance between the query object and the objects it collects is calculated if it is not a query object. From the calculated result, select the closest ck objects from the query object and send MSG_KNN_RESULT to the query object (lines 04 ~ 09).

만약 모든 자식 객체로부터 MSG_KNN_RESULT 혹은 MSG_REFUSAL_RESPONSE 를 회수했는지 검사하여 모두 회수하고, 자신이 질의 객체라면 자신의 이웃 객체들로부터 회수한 객체 정보를 기반으로 자신과 가장 가까이에 위치한 k 개 객체를 산출한다. 산출한 k개의 객체 정보는 QRT에 저장한다. k 개 객체의 벡터 정보를 기반으로 특정 시간동안 질의 결과 유지를 보장하는 Monitoring-Region을 계산하여 이웃 객체들로 MSG_MONITORING_REGION 을 배포한다(줄 12~17).If it retrieves MSG_KNN_RESULT or MSG_REFUSAL_RESPONSE from all child objects, it retrieves all of them. If it is a query object, it calculates k objects nearest to itself based on the object information retrieved from its neighbors. The calculated k object information is stored in the QRT. Based on the vector information of k objects, MSG_MONITORING_REGION is distributed to neighboring objects by calculating the Monitoring-Region that guarantees the maintenance of query results for a specific time (lines 12 ~ 17).

도 10은 본 발명의 일 실시예에 따른 MSG_REFUSAL_RESPONSE 수신 시 처리 과정을 나타낸 도면이다. 즉, 도 10은 MSG_REFUSAL_RESPONSE 을 수신 했을 때 알고리즘이다. 10 is a diagram illustrating a processing procedure when receiving an MSG_REFUSAL_RESPONSE according to one embodiment of the present invention. That is, FIG. 10 is an algorithm when MSG_REFUSAL_RESPONSE is received.

도 10을 참조하면, MSG_REFUSAL_RESPONSE 을 수신한 객체는 모든 자식 객체로부터 MSG_KNN_RESULT 혹은 MSG_REFUSAL_RESPONSE를 회수했는지 검사한다. Referring to FIG. 10, an object receiving MSG_REFUSAL_RESPONSE checks whether MSG_KNN_RESULT or MSG_REFUSAL_RESPONSE has been recovered from all child objects.

모든 자식 객체로부터 MSG_KNN_RESULT 혹은 MSG_REFUSAL_RESPONSE 를 회수했다면, 자신이 질의 객체가 아닌 경우 질의 객체와 자신이 수집한 객체들 사이의 거리를 계산한다. 그 뒤에 질의 객체와 자식 객체들로부터 받은 객체들 사이의 거리를 계산하여 질의 객체로부터 가장 가까운 ck 개 객체를 산출한 후 질의 객체로 MSG_KNN_RESULT 를 전송한다(줄 02~09). If MSG_KNN_RESULT or MSG_REFUSAL_RESPONSE is retrieved from all child objects, the distance between the query object and the objects it collects is calculated if it is not a query object. After that, calculate the distance between the query object and the objects received from the child objects, calculate the closest ck objects from the query object, and send MSG_KNN_RESULT to the query object (lines 02 ~ 09).

만약 모든 자식 객체로부터 MSG_KNN_RESULT 혹은 MSG_REFUSAL_RESPONSE 를 회수했는지 검사하여 모두 회수하고, 자신이 질의 객체라면 자신의 이웃 객체들로부터 회수한 객체 정보를 기반으로 자신과 가장 가까이에 위치한 k 개 객체를 산출한다. 산출한 k개의 객체 정보는 QRT에 저장한다. If it retrieves MSG_KNN_RESULT or MSG_REFUSAL_RESPONSE from all child objects, it retrieves all of them. If it is a query object, it calculates k objects nearest to itself based on the object information retrieved from its neighbors. The calculated k object information is stored in the QRT.

k 개 객체의 벡터 정보를 기반으로 특정 시간동안 질의 결과 유지를 보장하는 Monitoring-Region을 계산하여 이웃 객체들로 MSG_MONITORING_REGION 을 배포한다(줄 12~17).
Based on the vector information of k objects, MSG_MONITORING_REGION is distributed to neighboring objects by calculating the Monitoring-Region that guarantees the maintenance of query results for a specific time (lines 12 ~ 17).

둘째, Monitoring-Region 산출 및 배포하는 두번째 단계이다.The second step is to calculate and distribute the Monitoring-Region.

두 번째 단계는 질의 결과 k개의 객체를 포함하는 영역을 보장하기 위한 영역인 Monitoring-Region 을 산출하고 질의 갱신을 위해 Monitoring-Region 을 이웃 객체들로 배포하는 단계이다. The second step is to calculate Monitoring-Region, which is an area to guarantee the area containing k objects, and to distribute Monitoring-Region to neighboring objects for query update.

질의 객체는 초기 질의 배포를 통해 수집한 이웃 객체들의 벡터 정보를 이용하여 임의 시간 동안 k 개의 객체들을 포함하는 Monitoring-Region 을 계산한다. The query object calculates Monitoring-Region including k objects for a certain time by using vector information of neighbor objects collected through initial query distribution.

Figure 112012061422899-pat00004
Figure 112012061422899-pat00004

수학식 2는 n 시간 동안 k개 객체를 보장하는 질의 Q 의 Monitroing-Region 인 MRn(Q) 을 나타낸다. 이때, tc 는 현재 시간, tc +n 은 n 만큼의 미래 시간,

Figure 112012061422899-pat00005
는 전 단계에서 수집된 객체 중의 ti 시점에 질의 객체로부터 k 번째 근접한 객체를 나타낸다. Equation 2 represents MR n (Q), which is a Monitroing-Region of the query Q that guarantees k objects for n hours. Where t c is the current time, t c + n is n future time,
Figure 112012061422899-pat00005
Denotes the kth closest object from the query object at time t i of the objects collected in the previous step.

도 11은 본 발명의 일 실시예에 따른 질의 객체와 수집한 객체들 사이의 상대거리를 나타낸 도면이다. 즉, 도 11은 질의 객체와 수집한 객체들의 벡터 정보를 이용하여 k = 3일 때, 시간 동안 연속 질의를 처리하기 위해 생성한 상대적 거리를 나타낸다. 질의 객체는 수집한 각 객체들의 벡터 정보를 통해 향후 위치 정보를 예측하여 t5 시간 동안 3개 이상의 객체를 포함하는 영역을 Monitoring-Region으로 산출한다. 11 is a diagram illustrating a relative distance between a query object and collected objects according to an embodiment of the present invention. That is, FIG. 11 shows a relative distance generated to process a continuous query for a time when k = 3 using vector information of a query object and collected objects. The query object predicts future location information through the collected vector information of each object and calculates the area including three or more objects as Monitoring-Region for t 5 hours.

질의 객체는 Monitoring-Region 을 산출한 후, Monitoring-Region 을 이웃 객체들에게 MSG_MONITORING_REGION 메시지를 배포한다. MSG_MONITORING_REGION 은 질의 객체가 질의에 대한 Monitoring-Region 을 배포하는 메시지이다. After query object calculates Monitoring-Region, it distributes MSG_MONITORING_REGION message to neighboring objects. MSG_MONITORING_REGION is a message that the query object distributes the Monitoring-Region for the query.

MSG_MONITORING_REGION 를 수신한 객체들은 메시지에 포함된 질의 식별자를 확인하여 자신의 QT에 저장되지 않은 질의인 경우 질의를 저장하고, 자신의 위치가 Monitoring-Region 내에 있는지 계산한다. Objects receiving MSG_MONITORING_REGION check the query identifier included in the message, save the query if the query is not stored in its QT, and calculate whether its location is in Monitoring-Region.

만약 Monitoring-Region 내에 있다면 자신이 질의에 영향을 준다고 판단하여 MSG_UPDATE_REQUEST 메시지를 질의 객체에게로 전송한다. MSG_UPDATE_REQUEST 는 각 객체들이 자신의 위치가 질의 결과에 영향을 미친다고 판단하는 경우 질의 객체로 자신의 위치정보를 전달하기 위한 메시지이다. If it is in Monitoring-Region, it determines that it affects query and sends MSG_UPDATE_REQUEST message to query object. MSG_UPDATE_REQUEST is a message to transmit its location information to the query object when each object determines that its location affects the query result.

질의 객체는 Monitoring-Region 내의 객체들로부터 MSG_UPDATE_REQUEST 메시지를 수신 한 후 질의 결과를 산출한다.The query object calculates the query result after receiving the MSG_UPDATE_REQUEST message from the objects in Monitoring-Region.

도 12는 본 발명의 일 실시예에 따른 Monitoring-Region 배포 및 객체 정보 수집 과정을 나타낸 도면이다. 즉, 도 12는 질의 객체가 MSG_MONITORING_REGION 메시지를 배포하고 MSG_UPDATE_REQUEST 메시지를 수신하는 과정을 나타낸다. 12 is a diagram illustrating a Monitoring-Region distribution and object information collection process according to an embodiment of the present invention. That is, FIG. 12 illustrates a process in which the query object distributes the MSG_MONITORING_REGION message and receives the MSG_UPDATE_REQUEST message.

도 12를 참조하면, Mr은 계산된 Monitoring-Region 을 나타낸다. 질의 객체 q 는 Monitoring-Region 내에 위치한 자신의 이웃 객체 a, b, c 에게 MSG_MONITORING_REGION 메시지를 전송한다. Referring to FIG. 12, M r represents the calculated Monitoring-Region. The query object q sends an MSG_MONITORING_REGION message to its neighbors a, b, and c located in Monitoring-Region.

a, b, c 는 메시지를 수신한 후에 질의 객체로 MSG_UPDATE_REQUEST 메시지를 전송하고, 자신의 이웃 객체 중에 Monitoring-Region 내에 위치한 객체가 존재할 경우 수신한 MSG_MONITORING_REGION 메시지를 전달한다. MSG_MONITORING_REGION 메시지를 수신한 모든 객체는 자신이 Monitoring-Region 내에 있는지 판단하여 질의 객체로 MSG_UPDATE_REQUEST 메시지를 전달하는 것으로 질의 객체가 질의 결과를 산출할 수 있도록 한다.a, b, and c send the MSG_UPDATE_REQUEST message to the query object after receiving the message, and if there is an object located in Monitoring-Region among its neighbors, it sends the received MSG_MONITORING_REGION message. All objects that receive the MSG_MONITORING_REGION message determine whether they are in Monitoring-Region and send the MSG_UPDATE_REQUEST message to the query object so that the query object can calculate the query result.

도 13은 본 발명의 일 실시예에 따른 MSG_MONITORING_REGION 수신 시 처리 과정을 나타낸 도면이다. 즉, 도 13은 MSG_MONITORING_REGION 메시지를 수신했을 때 알고리즘이다. 13 is a diagram illustrating a processing procedure when receiving an MSG_MONITORING_REGION according to an embodiment of the present invention. That is, FIG. 13 is an algorithm when the MSG_MONITORING_REGION message is received.

도 13을 참조하면, MSG_MONITORING_REGION 메시지를 수신한 객체는 QT에 수신한 질의를 저장하고, 자신이 Monitoring-region 내에 있다면 질의 객체로 MSG_UPDATE_REQUEST 메시지를 전달한다(줄 02~04). Referring to FIG. 13, the object receiving the MSG_MONITORING_REGION message stores the received query in QT and, if it is in the Monitoring-region, delivers the MSG_UPDATE_REQUEST message to the query object (lines 02 ~ 04).

자신의 이웃 객체가 Moniotoring-Region 내에 있는지 검사하여 이웃 객체의 위치가 수신한 Monitoring-Region 내에 있을 경우, 해당 객체로 MSG_MONITORING_REGION 메시지를 전달한다(줄 05~07).
It checks whether its neighbor is in Moniotoring-Region and if the location of the neighbor is in the received Monitoring-Region, it sends MSG_MONITORING_REGION message to the object (line 05 ~ 07).

셋째, 협업을 통한 질의 갱신의 세번째 단계이다.Third, the third step of query update through collaboration.

세 번째 단계는 객체간의 협업을 통한 질의 갱신 단계이다. 이 단계는 객체들이 스스로 자신의 위치 정보를 이용하여 연속적인 질의를 처리한다. The third step is query update through collaboration between objects. This step allows objects to process their own queries using their location information.

Monitoring-Region 을 수신한 객체는 자신이 질의 결과에 영향을 미치는지 여부를 주기적으로 계산하고, 질의 결과에 영향을 미친다고 판단되면 자신의 정보를 질의 객체에게 전달한다. The object that receives the Monitoring-Region periodically calculates whether it affects the query result, and sends its information to the query object if it determines that it affects the query result.

Monitoring-Region 내의 객체는 자신의 벡터가 변경될 경우 자신의 정보를 질의 객체로 전송한다. 또한, 주변으로부터 새로운 객체를 발견한 객체는 질의 정보를 새로 발견된 객체에게 전달하고, 질의를 전달받은 객체는 자신의 위치 정보를 질의 객체에게 전달한다. An object in Monitoring-Region sends its information to the query object when its vector changes. In addition, an object that finds a new object from the surrounding area transmits the query information to the newly found object, and the received object transmits its location information to the query object.

질의 객체는 매번 질의를 재배포하지 않고 수신된 정보를 통해 연속 질의를 수행한다. The query object performs a continuous query on the received information without redistributing the query each time.

질의 객체는 지속적으로 Monitoring-Region 내에 존재하는 객체의 수를 판별하여 k 개의 객체가 존재하지 않는 경우에만 질의를 재수행한다. 이로 인해 제한된 네트워크 환경에서 연속적인 k-최근접 질의를 수행하기 위한 질의 배포를 감소시켜 불필요한 메시지 통신 비용을 감소시킬 수 있다. 따라서 효율적인 질의 결과 갱신을 수행할 수 있다. The query object continuously determines the number of objects in the Monitoring-Region and executes the query only when k objects do not exist. This can reduce unnecessary message communication costs by reducing query distribution for performing continuous k-nearest queries in limited network environments. Therefore, efficient query result update can be performed.

이 단계에서는 연속적인 질의를 재수행하는 대신 질의에 영향을 줄 수 있는 각 객체들이 스스로 자신의 정보를 질의 객체로 전달하도록 한다. This step allows each object that can affect the query to pass its own information to the query object instead of rerunning the continuous query.

본 발명에서 제안하는 기법에서는 다음의 두 가지 상황에서 객체간의 협업을 통해 질의 결과를 갱신한다.In the technique proposed in the present invention, query results are updated through collaboration between objects in the following two situations.

첫 번째 경우는 MSG_MONITORING_REGION 을 수신한 객체 중에 벡터가 변경되는 경우이다. 벡터가 변경된 객체는 자신의 정보를 질의 객체로 전송하여 질의 객체가 질의를 재배포하지 않고도 질의결과를 갱신할 수 있도록 한다. The first case is when the vector is changed among the objects that receive MSG_MONITORING_REGION. The object whose vector is changed sends its information to the query object so that the query object can update the query results without redistributing the query.

두 번째 경우는 새로운 객체가 Monitoring-Region 내에 진입한 경우이다. The second case is when a new object enters into the Monitoring-Region.

도 14는 본 발명의 일 실시예에 따른 Monitoring-Region 내 객체의 벡터가 변경된 경우 처리 과정을 나타낸 도면이다. 즉, 도 14는 Monitoring-Region 내에 있는 객체 c의 벡터가 변경된 경우를 나타낸다. 14 is a diagram illustrating a processing process when a vector of an object in Monitoring-Region is changed according to an embodiment of the present invention. That is, FIG. 14 illustrates a case where the vector of the object c in the Monitoring-Region is changed.

도 14를 참조하면, 객체 c는 주기적으로 자신의 벡터가 변경되었는지 검사한다. 만약 벡터가 변경되었다면 자신이 질의 결과에 영향을 줄 수 있다고 판단하여 질의 객체로 MSG_UPDATE_REQUEST 를 전달한다. 이때, 메시지는 자신의 이웃 중에 질의 객체와 가장 가까운 객체를 통해 반복적으로 전달한다. MSG_UPDATE_REQUEST 를 수신한 질의 객체는 수신한 객체 정보를 바탕으로 질의 결과를 갱신한다. Referring to FIG. 14, the object c periodically checks whether its vector has changed. If the vector is changed, it determines that it can affect the query result and sends MSG_UPDATE_REQUEST to the query object. At this time, the message is repeatedly transmitted through the object closest to the query object among its neighbors. The query object receiving MSG_UPDATE_REQUEST updates the query result based on the received object information.

도 15는 본 발명의 일 실시예에 따른 새로운 객체가 Monitoring-Region 내에 진입한 경우 처리 과정을 나타낸 도면이다. 즉, 도 15는 기존에 Monoitoring-Region 내에 존재하지 않았던 객체 c 가 Monoitoring-Region 으로 이동한 경우이다.15 is a diagram illustrating a processing process when a new object enters into a Monitoring-Region according to one embodiment of the present invention. That is, FIG. 15 illustrates a case where the object c, which did not exist in the Monoitoring-Region, moves to the Monoitoring-Region.

본 발명에서 제안하는 기법에서는 자신의 이웃 객체를 파악하기 위해 주기적으로 1-홉 통신을 한다고 가정한다. In the technique proposed in the present invention, it is assumed that 1-hop communication is performed periodically to identify its neighbor object.

도 15를 참조하면, 객체 c 는 이동 후 자신의 이웃인 객체 b 로 1홉 노드 알림메시지(MSG_HELLO)를 전달한다. Referring to FIG. 15, the object c delivers a 1-hop node notification message (MSG_HELLO) to its neighbor object b after moving.

메시지를 수신한 객체 b는 자신의 QT에 저장된 Monitoring-Region 내에 객체 c 가 속한 질의가 하나라도 있는 경우에 MSG_QUERY_DELIVER 를 통해 해당 질의들의 목록을 객체 c 로 전달한다. Receiving the message, the object b sends the list of the queries to the object c through MSG_QUERY_DELIVER when there is any query belonging to the object c in the Monitoring-Region stored in its QT.

객체 c 는 수신한 질의 목록에 있는 각각의 질의 객체들로 질의 MSG_UPDATE_REQUEST 를 전송하여 질의 객체가 질의결과를 갱신할 수 있도록 한다.The object c sends the query MSG_UPDATE_REQUEST to each query object in the received query list so that the query object can update the query results.

도 16은 본 발명의 일 실시예에 따른 MSG_UPDATE_REQUEST 수신 시 처리 과정을 나타낸 도면이다. 즉, 도 16은 MSG_UPDATE_REQUEST 를 수신 했을 때 알고리즘이다. 16 is a diagram illustrating a processing procedure when receiving an MSG_UPDATE_REQUEST according to one embodiment of the present invention. That is, FIG. 16 shows an algorithm when MSG_UPDATE_REQUEST is received.

도 16을 참조하면, MSG_UPDATE_REQUEST 를 수신한 객체는 자신이 질의 객체가 아니라면 자신의 이웃 객체 중 질의 객체와 가장 가까이에 위치한 객체에게 수신한 메시지를 전달한다. 만약 MSG_UPDATE_REQUEST 를 수신한 객체 자신이 질의 객체라면 QRT를 갱신한다. Referring to FIG. 16, an object receiving MSG_UPDATE_REQUEST transfers a received message to an object located closest to the query object among its neighbors unless it is a query object. If the object that received MSG_UPDATE_REQUEST is itself a query object, update the QRT.

도 17은 본 발명의 일 실시예에 따른 MSG_HELLO 수신 시 처리 과정을 나타낸 도면이다. 즉, 도 17은 MSG_HELLO 를 수신했을 때의 알고리즘이다. 17 is a diagram illustrating a process of receiving MSG_HELLO according to one embodiment of the present invention. That is, Fig. 17 shows an algorithm when MSG_HELLO is received.

도 17을 참조하면, MSG_HELLO 를 수신한 객체는 메시지 수신 정보를 OHT에 저장 후, 자신의 QT에 저장된 질의의 Monitoring-Region 내에 이웃 객체의 위치가 포함되는지 검사한다(줄 02~04). 만약 이웃 객체가 1개 이상의 Monitoring-Region 내에 있는 경우 이웃 객체로 MSG_QUERY_DELIVER 를 전달한다(줄 05~06).Referring to FIG. 17, an object receiving MSG_HELLO stores message reception information in an OHT and then checks whether a location of a neighbor object is included in Monitoring-Region of a query stored in its QT (lines 02 through 04). If the neighbor object is in more than one Monitoring-Region, MSG_QUERY_DELIVER is passed to the neighbor object (lines 05 ~ 06).

도 18은 본 발명의 일 실시예에 따른 MSG_QUERY_DELIVER 수신 시 처리 과정을 나타낸 도면이다. 즉, 도 18은 MSG_QUERY_DELIVER 를 수신했을 때의 알고리즘이다. 18 is a diagram illustrating a process of receiving MSG_QUERY_DELIVER according to one embodiment of the present invention. That is, Fig. 18 is an algorithm when MSG_QUERY_DELIVER is received.

도 18을 참조하면, MSG_QUERY_DELIVER 를 수신한 객체는 수신한 질의 중에 자신의 QT에 저장되지 않은 질의가 존재하는 경우 자신이 수신한 질의의 Monitoring-Region 내에 있는지 검사한다(줄 02~04). Referring to FIG. 18, when the MSG_QUERY_DELIVER object receives a query that is not stored in its QT among the received queries, the object checks whether it is in the Monitoring-Region of the received query (lines 02 to 04).

자신이 특정 질의의 Monitoring-Region 내에 있는 경우 질의 객체로 MSG_UPDATE_REQUEST 를 전송한다(줄 05~07).
If you are in Monitoring-Region of a specific query, send MSG_UPDATE_REQUEST to the query object (lines 05 ~ 07).

이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
While the present invention has been described with reference to several preferred embodiments, these embodiments are illustrative and not restrictive. It will be understood by those skilled in the art that various changes and modifications may be made therein without departing from the spirit of the invention and the scope of the appended claims.

10 질의 객체 20 일반 객체10 Query object 20 General object

Claims (5)

모바일(Mobile) 애드혹(Ad-hoc) 기반 P2P(Peer-to-Peer) 네트워크에서 연속적인 최근접 객체 검색 방법에 있어서,
제1 객체는 초기 질의 처리를 위해 이웃 객체들 중에서 가장 근접한 k(k는 자연수) 개 이상의 객체에게 초기 질의를 배포하고, 초기 질의를 배포한 객체로부터 객체 정보를 수집하는 단계;
상기 제1 객체는 수집된 객체 정보를 통해 최적의 MR(Monitoring-Region)을 계산하여 생성하고, 이를 이웃 객체들에게 배포하는 단계; 및
상기 MR을 수신한 객체들은 자신 또는 이웃 객체들이 질의 결과에 영향을 미치는지 평가하여, 영향을 미치는 경우 자신의 변경된 벡터 정보를 상기 제1 객체에게 전달하여 질의 결과를 갱신하는 단계를 포함하되,
모든 객체는 질의 처리를 위해 필요한 자료구조를 자신의 로컬에 저장하고 있으며,
상기 자료구조는 자신이 생성한 질의 정보와 다른 객체들로부터 수신한 질의 정보를 저장하기 위한 질의 테이블(QT : Query Table), 질의 처리를 위해 객체 정보를 수집하는 과정에서 수신한 객체들의 정보를 저장하기 위한 질의 결과 후보 객체 테이블(QRCPT : Query Result Candidate Peer Table), 질의 결과로 산출한 k개의 객체 정보를 저장하기 위한 질의 결과 테이블(QRT : Query Result Table) 및 자신의 이웃 객체에 대한 정보를 저장하기 위한 이웃 객체 테이블(OHT : One Hop Table)을 포함하는 구조이고,
상기 MR을 계산하는 과정에 있어서,
n 시간 동안 k개 객체를 보장하는 질의 Q 의 Monitroing-Region 인 MRn(Q)이고, tc 는 현재 시간이고, tc+n 은 n 만큼의 미래 시간이고,
Figure 112013115940682-pat00006
는 전 단계에서 수집된 객체 중의 ti 시점에 질의 객체로부터 k 번째 근접한 객체를 나타낼 때,
Figure 112013115940682-pat00007

의 수학식을 이용하여 계산되고,
상기 제1 객체에서 가장 근접한 이웃 객체에게 초기 질의를 배포하는 과정에서, 상기 초기 질의를 받은 객체가 다른 객체로부터 동일한 질의를 중복적으로 받은 경우, 상기 초기 질의를 받은 객체는 가장 처음 수신한 초기 질의에 대해서만 해당 객체에 대해 응답하고, 이후 동일한 질의를 보낸 객체에 대해서는 응답을 거부하는 응답 거부 메시지를 보내는 것을 특징으로 하는 최근접 객체 검색 방법.
In the mobile ad-hoc based peer-to-peer network continuous continuous object search method,
Distributing the initial query to at least k (k is a natural number) objects among the neighbor objects for initial query processing, and collecting object information from the object that distributed the initial query;
Calculating and generating an optimal Monitoring-Region (MR) based on the collected object information and distributing the first object to neighboring objects; And
The objects receiving the MR include evaluating whether their own or neighboring objects affect the query result, and if so, updating the query result by transmitting the changed vector information to the first object.
Every object has its own local data structure for query processing.
The data structure stores a query table (QT) for storing query information generated by itself and query information received from other objects, and stores information on objects received in the process of collecting object information for query processing. A query result candidate object table (QRCPT), a query result table (QRT) for storing k object information calculated as a query result, and information about its neighbors It is a structure including a neighbor object table (OHT: One Hop Table) for
In the process of calculating the MR,
MR n (Q), a Monitroing-Region of query Q that guarantees k objects for n hours, t c is the current time, t c + n is n future times,
Figure 112013115940682-pat00006
When k represents the kth closest object from the query object at time t i of the objects collected in the previous step,
Figure 112013115940682-pat00007

It is calculated using the equation of,
In the process of distributing the initial query to the nearest neighbor object in the first object, when the object receiving the initial query receives the same query repeatedly from another object, the object receiving the initial query is the initial query first received. And responding to the object only, and then sending a rejection message that rejects the response to the object that sent the same query.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020120084084A 2012-07-31 2012-07-31 Method for searching continuous nearest neighbor object in mobile ad-hoc based p2p network KR101359860B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120084084A KR101359860B1 (en) 2012-07-31 2012-07-31 Method for searching continuous nearest neighbor object in mobile ad-hoc based p2p network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120084084A KR101359860B1 (en) 2012-07-31 2012-07-31 Method for searching continuous nearest neighbor object in mobile ad-hoc based p2p network

Publications (1)

Publication Number Publication Date
KR101359860B1 true KR101359860B1 (en) 2014-02-11

Family

ID=50270176

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120084084A KR101359860B1 (en) 2012-07-31 2012-07-31 Method for searching continuous nearest neighbor object in mobile ad-hoc based p2p network

Country Status (1)

Country Link
KR (1) KR101359860B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101735367B1 (en) 2015-10-12 2017-05-17 충북대학교 산학협력단 Method and system for searching for Multi-Attribute Object in Mobile Ad-hoc Environments based on P2P(peer to peer)
CN110519771A (en) * 2019-09-02 2019-11-29 西北工业大学 K nearest neighbor covering method in wireless mobile sensor network based on communication beacons

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
임종태 외 3명."이동 P2P 네트워크 환경에서 효율적인 연속 범위 질의 처리 기법." 정보과학회논문지 : 컴퓨팅의 실제 및 레터 제 18 권 제 4 호(2012.4.) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101735367B1 (en) 2015-10-12 2017-05-17 충북대학교 산학협력단 Method and system for searching for Multi-Attribute Object in Mobile Ad-hoc Environments based on P2P(peer to peer)
CN110519771A (en) * 2019-09-02 2019-11-29 西北工业大学 K nearest neighbor covering method in wireless mobile sensor network based on communication beacons

Similar Documents

Publication Publication Date Title
Robinson et al. FD-AOMDV: fault-tolerant disjoint ad-hoc on-demand multipath distance vector routing algorithm in mobile ad-hoc networks
TW200408232A (en) Intelligent communication node object beacon framework(ICBF) with temporal transition network protocol (TTNP) in a mobile AD hoc network
Mohanty et al. Distributed construction of minimum connected dominating set in wireless sensor network using two-hop information
CN109547351B (en) Routing method based on Q learning and trust model in Ad Hoc network
CN101442479A (en) Method, equipment and system for updating route in P2P peer-to-peer after node failure
Gupta et al. DirMove: direction of movement based routing in DTN architecture for post-disaster scenario
Saiáns-Vázquez et al. Efficient and viable intersection-based routing in vanets on top of a virtualization layer
Lai et al. A mobility-aware approach for distributed data update on unstructured mobile P2P networks
Pirzadi et al. A novel routing method in hybrid DTN–MANET networks in the critical situations
KR101359860B1 (en) Method for searching continuous nearest neighbor object in mobile ad-hoc based p2p network
KR101452613B1 (en) P2P routing method in mobile Ad-hoc network
KR101243244B1 (en) Routing apparatus and method for minimizing the energy consumption in ad-hoc network
WO2017024952A1 (en) Method and apparatus for searching for route of device-to-device wireless mesh network
KR101288101B1 (en) Method and mobile node for routing in mobile wireless network system
KR101473868B1 (en) A node and a method of communicating among a plurality of nodes in content-centric networking environment
Al Sawafi et al. Toward hybrid RPL based IoT sensing for smart city
Cha et al. A study on the clustering scheme for node mobility in mobile ad-hoc network
Yan et al. Hierarchical location service for wireless sensor networks with mobile sinks
Sammut et al. A location-based routing algorithm for wireless sensor networks
Chen et al. Users' media cloud assisted D2D communications for distributed caching underlaying cellular network
Buvana et al. An efficient cluster based service discovery model for mobile ad hoc network
Xu et al. Information-centric collaborative data collection for mobile devices in wireless sensor networks
Chithaluru et al. Statistical validations on energy efficient routing protocols to improve the performance of Wireless Sensor Network
Vijayakarthika et al. Efficient data dissemination for secured communication in VANET
Chanak et al. Path discovery for sinks mobility in obstacle resisting wsns

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee