WO2014010801A1 - Distribution method for continuous monitoring of k-nearest neighbor queries in limited area of road network - Google Patents

Distribution method for continuous monitoring of k-nearest neighbor queries in limited area of road network Download PDF

Info

Publication number
WO2014010801A1
WO2014010801A1 PCT/KR2012/011834 KR2012011834W WO2014010801A1 WO 2014010801 A1 WO2014010801 A1 WO 2014010801A1 KR 2012011834 W KR2012011834 W KR 2012011834W WO 2014010801 A1 WO2014010801 A1 WO 2014010801A1
Authority
WO
WIPO (PCT)
Prior art keywords
query
terminal
road
result
server
Prior art date
Application number
PCT/KR2012/011834
Other languages
French (fr)
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 아주대학교산학협력단
Publication of WO2014010801A1 publication Critical patent/WO2014010801A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices

Definitions

  • the present invention relates to a distributed technique for continuous monitoring of k-nearest queries. More particularly, the present invention relates to a query result of a server that is requested for information about an object on an active road where a client terminal is staying in a limited area of a road network. It relates to a method and an apparatus for analyzing.
  • the present invention is derived from the research conducted as part of the 2nd stage BK project of the Ministry of Education, Science and Technology and the Ministry of Education of Ajou University. [Task Management Number: Nuclear C9A1915, Project Name: ISA SAP100.11 Positive system].
  • the location-based service of a mobile object requires K-nearest neighbor search to efficiently retrieve the location information of static objects such as mobile objects and gas stations.
  • a database storing road network information, moving object information, and static object information is called a road network database.
  • a road network database a road network is modeled as a directional graph.
  • One road segment corresponds to the edge of the graph, and a point where two different road segments meet is a node of the graph.
  • facilities such as stops, schools, hotels, etc. on the road network are modeled as static objects, and objects with mobility such as cars and people are modeled as moving objects.
  • Queries used in the road network database include k-nearest neighbor queries, range queries, and spatial join queries.
  • the Euclidean distance between two objects can be calculated using the absolute position of any two objects.
  • a moving object can only move over a predefined road network, so the network distance between the objects cannot be calculated only by the absolute position of the object.
  • the network distance between two objects is the total sum of road segment lengths existing on the shortest path between any two objects in the road network.
  • Korean Patent No. 10-1025360 Searching for the shortest path for k-nearest neighbor search on road network. Method and apparatus. It was derived with the purpose of searching for at least one static object located within a predetermined distance from a query point on the road network to determine at least one or more destination nodes corresponding to it, and calculating the shortest distance between the static object and the destination.
  • the present invention was derived to solve the problems of the prior art as described above, and among the various methods for efficiently obtaining the conventional network distance, the IER technique uses the property that the Euclidean distance is always less than or equal to the network distance. First, candidates are found based on Euclidean distance, and the actual network distance is obtained only from them. Although it has the advantage of low storage space overhead, the performance of query processing is greatly reduced due to the multiple trials and errors.
  • the INE technique also searches for the presence of static objects by extending the road segment from the query point. Like the IER technique, it has the advantage of low storage space overhead, but poor query processing performance because of the large number of disk accesses required.
  • the VN method divides the entire network space into a set of cells based on points where the distance between each static object and another adjacent static object is the same. For efficient query processing, the distance between all static objects, nodes, and cell boundaries within each cell is pre-computed.
  • the VN technique has better query processing performance than the IER technique and the INE technique, but has a disadvantage of excessive storage space overhead.
  • the present invention is a way to develop a method for performing a part of the work performed by the server in the client terminal, apart from the way that the server processes not only the query processing but also the entire process including the distance calculation for the terminal and any object. will be.
  • this distributed technique it is intended to reduce the computational cost of the server and to reduce the communication cost between the client and the server.
  • the client terminal includes an object information request unit, query result operation unit, the server includes a request message receiving unit, query operation unit, transmission unit.
  • the object information request unit of the client terminal transmits a message requesting the server for information about an object on the active road where the terminal is staying and a result of a query at both intersections of the active road.
  • the query result calculating unit calculates a result when a query is made at an arbitrary point on the active road based on the information about the object on the active road received from the server and the result when the query is made at both intersections of the active road. Analyze
  • the request message receiving unit of the server receives a request message from the client terminal about the object on the active road where the client terminal is staying and the result of the query when the query is made at both intersections of the active road.
  • the query calculating unit calculates a result when a query is made at both intersections of the active road using object information on a road connected to both intersections of the active road.
  • the transmission unit transmits the information about the object on the active road where the client terminal is staying and the result when a query is made at both intersections of the active road to the client terminal.
  • the apparatus terminal, server
  • the method for analyzing the k-nearest query result of the present invention share the operation for the server and the client to interpret the k-nearest query.
  • the server provides the client terminal with a minimum of necessary information required for the client to perform and interpret the k-nearest query at any point in advance to the client terminal, the client terminal using the information provided from the server Complete the k-nearest query process for the point.
  • the load of the server does not increase greatly even if the number of client terminals is increased by using a distributed algorithm, it is possible to reduce the additional cost of additional servers to withstand the peak time load. That is, according to the present invention, since the client shares a part of the calculation work of the server and processes it, the load of the server is distributed.
  • the communication cost between the client terminal and the server is reduced.
  • the number of communication and the amount of communication data between the client terminal and the server is reduced, thereby reducing the load on the network and minimizing the influence on the communication of other users.
  • the present invention has an effect of continuously calculating the shortest distance desired by the client terminal by continuously grasping the POI and traffic flow around the client.
  • FIG. 1 shows a conceptual configuration of a client terminal according to an embodiment of the present invention.
  • FIG. 2 shows a conceptual configuration of a server according to an embodiment of the present invention.
  • FIG 3 illustrates a configuration of a server to which a moving path predictor is added according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a method of analyzing a k-nearest query result in a client terminal according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a method for requesting object information from a server when a client terminal enters an intersection of one of active roads according to an exemplary embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a request for object information on a server other than an active road when the client terminal enters an intersection of one of the active roads according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a shortest path that a client terminal may actually access according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a k-nearest query in a server according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a pre-calculation of a query result even when a server does not receive a request message from a terminal according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a precomputation of a query result by predicting a moving path of a terminal in a server according to an embodiment of the present invention.
  • FIG. 11 illustrates an embodiment of a k-nearest query in the client terminal of the present invention.
  • FIG. 12 illustrates a conceptual structure of a communication state between a client terminal and a server according to an embodiment of the present invention.
  • the client terminal includes an object information request unit, query result operation unit, the server includes a request message receiving unit, query operation unit, transmission unit.
  • the object information request unit of the client terminal transmits a message requesting the server for information about an object on the active road where the terminal is staying and a result of a query at both intersections of the active road.
  • the query result calculating unit calculates a result when a query is made at an arbitrary point on the active road based on the information about the object on the active road received from the server and the result when the query is made at both intersections of the active road. Analyze
  • the request message receiving unit of the server receives a request message from the client terminal about the object on the active road where the client terminal is staying and the result of the query when the query is made at both intersections of the active road.
  • the query calculating unit calculates a result when a query is made at both intersections of the active road using object information on a road connected to both intersections of the active road.
  • the transmission unit transmits the information about the object on the active road where the client terminal is staying and the result when a query is made at both intersections of the active road to the client terminal.
  • the apparatus terminal, server
  • the method for analyzing the k-nearest query result of the present invention share the operation for the server and the client to interpret the k-nearest query.
  • the server provides the client terminal with a minimum of necessary information required for the client to perform and interpret the k-nearest query at any point in advance to the client terminal, the client terminal using the information provided from the server Complete the k-nearest query process for the point.
  • FIG. 1 shows a conceptual configuration of a client terminal according to an embodiment of the present invention.
  • the terminal 100 includes an object information requesting unit 110 and a query result calculating unit 120. At this time, the terminal 100 can be applied to a mobile phone, navigation, smart phone.
  • the object information requesting unit 110 transmits a message requesting the server for information about an object on the active road on which the terminal 100 is staying and a result when a query is made at both intersections of the active road.
  • the terminal when the terminal enters the intersection of either side of the active road, it may transmit a message requesting the server the result of the query to the server.
  • the road on which the terminal 100 stays is called an active road.
  • the terminal 100 may request information about an object on at least one road connected to the intersection.
  • the server 200 displays information on an object on the other road except for the active road where the terminal was previously located among at least one road connected to the intersection. May be required.
  • the information requested by the terminal 100 and provided by the server 200 may be information about a proximity object when the k-nearest query is performed at the intersection where the road branches.
  • the query of 100 not only the information about the stationary object in the active road, but also the k-nearest query result at both endpoints of the active road are notified together, so that the final k-nearest query result of the terminal 100 is reported. I can complete it.
  • the query result calculating unit 120 calculates a result when a query is made at an arbitrary point on the active road based on the information about the object on the active road received from the server and the result of the query at both intersections of the active road. Analyze In this case, the result of querying at any point on the active road may be analyzed in consideration of the shortest path that can be actually accessed, such as traffic conditions and road conditions.
  • the result of the query at the current position of the terminal 100 may be analyzed.
  • any point mentioned above may be interpreted to mean the current location of the terminal 100. That is, the terminal 100 processes the k-nearest query result (preliminary k-nearest query result for a preselected and fixed point) provided from the server 200, and the terminal 100 changes from time to time while driving.
  • the k-nearest query result can be interpreted in real time for the position of 100).
  • the terminal 100 by selecting the user of the terminal 100, instead of the position of the terminal 100 changes in real time, by selecting any point that the user wants to reach, The k-nearest query result based on the point may be searched to guide the user's moving path.
  • the information that the terminal 100 can receive from the server 200 may be limited to information within a certain range centering on the location of the current terminal 100, such a function may be limited to that of the terminal 100. This may be more useful when the location is approached within a certain range of the user's final target point.
  • FIG. 2 shows a conceptual configuration of a server according to an embodiment of the present invention.
  • the server 200 includes a request message receiver 210, a query operator 220, and a transmitter 230.
  • the request message receiving unit 210 receives a request message from the terminal 100 about the object on the active road on which the terminal 100 is staying and the result of a query at both intersections of the active road.
  • the query calculating unit 220 calculates a result when a query is made at both intersections of the active road using object information on a road connected to both intersections of the active road. At this time, before receiving the request message about the information on the object on the active road in which the terminal 100 is staying and the result of the query at both intersections of the active road from the terminal 100, the intersection around the active road You can also precompute the query result.
  • the transmitter 230 responds to a request message for information about an object on an active road on which the terminal 100 is staying and a result when a query is made at both intersections of the active road, and the terminal 100 stays on the active road. Information about the above object and the result of the query at both intersections of the active road are transmitted to the terminal 100.
  • the information provided by the server 200 should include the minimum necessary information that enables the terminal 100 to complete the k-nearest query results for any point on the active road.
  • the server 200 provides the terminal 100 with a preliminary query result assuming that a query is made at both intersections of an active road and location information about an object on an active road.
  • the server 200 may further generate additional information in consideration of the computing power of the server 200 and the traffic capacity of the communication network, and provide the additional information to the terminal 100.
  • An embodiment in which the server 200 not only calculates information requested by the terminal 100 right now but also generates additional information in advance through additional calculation is described with reference to FIG. 3.
  • FIG. 3 is a diagram illustrating a configuration in which a moving path predictor is added in a server according to an embodiment of the present invention.
  • the movement path predictor 240 designates a request message for information about an object on an active road on which the terminal 100 received from the terminal 100 stays and a result when a query is made at both intersections of the active road. By monitoring the change trend of the intersection, the movement path of the terminal 100 is predicted.
  • the server may not monitor the current position of the terminal 100 completely, when the terminal 100 makes a request for a k-nearest query at every major intersection, the server 100 may predict the movement path of the terminal 100. Can be.
  • the server continuously monitors the current position of the terminal 100 and continuously calculates a preliminary query result in advance, thereby quickly responding to a request from the terminal 100. Preliminary query result information can be provided.
  • FIG. 4 is a flowchart illustrating a method of analyzing a k-nearest query result in a client terminal according to an embodiment of the present invention.
  • the k-nearest query result analysis method requests the server 200 for information about an object on the active road where the terminal 100 stays (S410). Thereafter, the server requests the result of the query at both intersections of the active road (S420). In this case, after requesting the result of the query at both intersections of the active road (S420), the server 100 may request the server 200 for information about the object on the active road where the terminal 100 stays (S410). have.
  • step S410 is shown to be performed before step S420. However, since the two steps S410 and S420 are not processes having a mutual causal relationship, the two steps S410 and S420 may be independently performed. In some cases, the process may be performed in parallel, or the order of steps S410 and S420 may be reversed.
  • the server 200 receives information about an object on the active road and a result of a query at both intersections of the active road (S430), and receives information on an object on the active road and both intersections of the active road. Based on the result of the query, the result of the query at an arbitrary point on the active road is analyzed (S440).
  • FIG. 5 is a flowchart illustrating an operation for requesting object information from a server when a client terminal enters an intersection of one of active roads according to an embodiment of the present invention.
  • the terminal 100 When the terminal 100 enters an intersection of one of the active roads (S510), when the terminal 100 requests a server for a result of a query at both intersections of the active roads at which the terminal 100 stays, the intersection is S510. Information on an object on at least one road connected to the server 200 may be requested to the server 200 (S520). If the terminal 100 does not enter the intersection of either side of the active road (S510), the information about the object on the active road from the server 200 and the result when inquiring at both intersections of the active road Receive (S430).
  • FIG. 6 is a flowchart illustrating a request for object information on a server other than an active road when the client terminal enters an intersection of one of the active roads according to an embodiment of the present invention.
  • the terminal 100 requests the server for information on an object on the remaining road except for the previous active road where the terminal 100 was previously located (S620), and if the terminal 100 enters an intersection of any one of the active roads (S610). If not, the server 200 receives information about the object on the active road and a result when a query is made at both intersections of the active road (S430).
  • FIG. 7 is a flowchart illustrating a shortest path that a client terminal may actually access according to an embodiment of the present invention.
  • the terminal 100 analyzes the result when the query is made at an arbitrary point on the active road (S440), considering the shortest path that can actually access any object (S441), The result of the query at any point is analyzed (S442).
  • the closest distance may be calculated by comparing the shortest distance on the straight line with the shortest distance calculated using the traffic information and the road information received from the server 200.
  • FIG. 8 is a flowchart illustrating a k-nearest preliminary query process performed in a server according to an embodiment of the present invention.
  • the terminal 100 receives information about an object on an active road on which the terminal 100 is staying and a request message for a result when a query is made at both intersections of the active road (S810), and an object on the road connected to both intersections of the active road. Using the information, the result of querying at both intersections of the active road is calculated (S820).
  • the terminal 100 transmits the information about the object on the active road and the result of the query at both intersections of the active road to the terminal 100 (S830).
  • FIG. 9 is a flowchart illustrating a pre-calculation of a query result even when a server does not receive a request message of a terminal according to another embodiment of the present invention.
  • the query result is calculated in advance (S940) for the intersection around the active road of the terminal 100, and the request message is received (
  • the result of the query at both intersections of the active roads is calculated using the object information on the roads connected to both intersections of the active roads of the terminal 100 (S920). In this case, the result may be calculated using the previously stored query result.
  • FIG. 10 is a flowchart illustrating a precomputation of a query result by predicting a moving path of a terminal in a server according to another embodiment of the present invention.
  • the change trend of the intersection crossed by the request message received from the terminal 100 is monitored to predict the moving path of the terminal (S950), and around the active road.
  • the query result is calculated beforehand at the intersection of (S940).
  • the resultant value can be used when predicting the movement path of the terminal by monitoring the change trend of the intersection designated by the request message received from the terminal 100 (S950).
  • FIG. 11 illustrates an embodiment of a k-nearest query in the client terminal of the present invention.
  • the server 200 When the terminal 1110 enters both intersections 1120 on the active road on which the terminal 1110 stays, the server 200 provides query results for both intersections 1120 and information on an arbitrary object 1130. Ask. In this case, when the terminal 1110 enters an intersection 1120 of any one of the active roads, the terminal 1110 is located on the other road except for the previous active road where the terminal 1110 was previously located. Information of the object 1130 may be requested to the server.
  • the terminal 1110 upon receiving the query result and the information on the arbitrary object 1130 from the server, the terminal 1110 considers the shortest path that can actually access the current road situation, traffic condition, etc. with respect to the arbitrary object 1130. Analyze the results of a query at any point on the active road. In other words, instead of simply searching for the nearest object based on a straight line distance or Euclidean distance between the point and the object that are the criteria of the query, the shortest path is considered considering the path that the terminal 1110 can actually access, such as the arrangement of the intersection and the road network. Compute the path.
  • the accessible path may be set in consideration of the case where the owner of the terminal 1110 moves on foot. have.
  • the server or the terminal 1110 calculates the shortest path based on the path of the vehicle based on the moving speed of the terminal 1110 or information registered in advance for the terminal 1110. You can also decide whether to compute based on the path.
  • the server or terminal 1110 may calculate the shortest path by additionally considering information on an accident situation such as information on real-time traffic flow, accident, construction, etc. It may be. At this time, the main subject that calculates the shortest path is the terminal 1110, but the server also uses the information obtained about the terminal 1110 so that the terminal 1110 is suitable for calculating the shortest path. Additional route guidance information may be provided to the terminal 1110.
  • FIG. 12 illustrates a conceptual structure of a communication state between a client terminal and a server according to an embodiment of the present invention.
  • the terminal 1210 requests the server 1220 to request the result of the region nearest query at both the active road and the end points of the road where the terminal 1210 is staying (1230). Thereafter, the server 1220 searches for the result of the region nearest query and the objects on the active road at both ends of the active road to which the terminal 1210 belongs to the terminal 1210 according to a request of the terminal 1210, and transmits the result to the terminal 1210 (1240). In operation 1250, the terminal 1210 calculates a result of an arbitrary point on an active road by using the result value received from the server 1220. As such, the terminal 1210 shares the computational load concentrated on the server 1220 through the cooperative operation between the terminal 1210 and the server 1220, thereby reducing the load of the server 1220 and reducing the traffic of the network.
  • An analysis method of k-nearest query results and a distributed processing technique for continuous monitoring of query results according to an embodiment of the present invention are implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
  • Magneto-optical media and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
  • the present invention relates to a distributed technique for continuous monitoring of k-nearest queries. More particularly, the present invention relates to a query result of a server that is requested for information about an object on an active road where a client terminal stays in a limited area of a road network. It relates to a method and an apparatus for analyzing.
  • the present invention is to develop a method of performing a part of the work performed by the server in the client terminal, away from the process in which the server processes not only the query processing but also the entire process including distance calculation for the terminal and any object.
  • the purpose is to reduce the computational cost of the server and to reduce the communication cost between the client and the server.

Abstract

The present invention relates to a distribution method for the continuous monitoring of k-nearest neighbor queries, and more particularly, to a method and apparatus for analyzing query results from a server which receives a request for information on an object on an active road on which a client terminal exists in a limited area of a road network. The present invention pertains to developing a scheme for a client terminal to perform some jobs performed by the server, while excluding a scheme in which the server processes an entire procedure including distance calculation for a terminal and an arbitrary object as well as query handling. By means of said distribution method, calculation costs of the server can be reduced and communication costs between the client and the server can be reduced.

Description

도로 네트워크의 제한된 영역에서 k-최근접 질의의 지속적 모니터링을 위한 분산 기법 Distributed Technique for Continuous Monitoring of k-Nearest Queries in Restricted Areas of Road Networks
본 발명은 k-최근접 질의의 지속적 모니터링을 위한 분산 기법에 관한 것으로, 보다 상세하게는 도로 네트워크의 제한된 영역에서 클라이언트 단말이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보를 요청받은 서버의 질의 결과를 분석하는 방법 및 장치에 관한 것이다.The present invention relates to a distributed technique for continuous monitoring of k-nearest queries. More particularly, the present invention relates to a query result of a server that is requested for information about an object on an active road where a client terminal is staying in a limited area of a road network. It relates to a method and an apparatus for analyzing.
본 발명은 교육과학기술부 및 아주대학교의 교육부 2단계 BK사업 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 핵C9A1915, 과제명: ISA SAP100.11 무선 센서 네트워크 기반 산업자동화 및 보안시스템 전문 인력 양성 시스템].The present invention is derived from the research conducted as part of the 2nd stage BK project of the Ministry of Education, Science and Technology and the Ministry of Education of Ajou University. [Task Management Number: Nuclear C9A1915, Project Name: ISA SAP100.11 Positive system].
이동 통신망, GPS 등과 같은 위치 탐색 및 서비스 기술이 발전함에 따라, 최근에는 이동 객체의 위치 기반 서비스를 지원하는 응용 분야에 대한 관심이 높아졌다. 이동 객체의 위치 기반 서비스는 이동 객체와 주유소 등과 같은 정적 객체의 위치 정보를 효율적으로 검색하기 위한 K-최근접 이웃 검색을 요구한다.With the development of location search and service technologies such as mobile communication networks, GPS, and the like, in recent years, interest in applications that support location-based services of mobile objects has increased. The location-based service of a mobile object requires K-nearest neighbor search to efficiently retrieve the location information of static objects such as mobile objects and gas stations.
도로 네트워크 정보, 이동 객체의 정보, 정적 객체 정보 등이 저장된 데이터베이스를 도로 네트워크 데이터베이스(road network databases)라 하며, 도로 네트워크 데이터베이스에서 도로 네트워크는 방향성을 가진 그래프로 모델링 된다.A database storing road network information, moving object information, and static object information is called a road network database. In a road network database, a road network is modeled as a directional graph.
하나의 도로 세그먼트(road segment)는 그래프의 간선에 해당되며, 서로 다른 두 도로 세그먼트가 만나는 지점이 그래프의 노드에 해당된다.One road segment corresponds to the edge of the graph, and a point where two different road segments meet is a node of the graph.
또한, 도로 네트워크 위에 정류소, 학교, 호텔 등과 같은 시설물들은 정적 객체로 모델링 되며, 자동차, 사람과 같은 이동성을 가지고 있는 객체는 이동 객체로 모델링 된다.In addition, facilities such as stops, schools, hotels, etc. on the road network are modeled as static objects, and objects with mobility such as cars and people are modeled as moving objects.
도로 네트워크 데이터베이스에서 사용되는 질의들은 K-최근접 이웃 검색(k-nearest neighbor queries), 영역 질의(range queries), 공간 조인 질의(spatial join queries) 등이 있다.Queries used in the road network database include k-nearest neighbor queries, range queries, and spatial join queries.
기존 유클리드 공간상에서는 임의의 두 객체의 절대 위치만으로도 그 객체들 간의 유클리드 거리를 계산할 수 있다. 그러나 도로 네트워크 공간상에서 이동 객체는 미리 정의된 도로 네트워크 위로만 움직일 수 있기 때문에 객체의 절대 위치만으로 객체들 간의 네트워크 거리(network distance)를 계산할 수 없다. 여기서, 두 객체간의 네트워크 거리란 도로 네트워크에서 임의의 두 객체간의 최단 경로 상에 존재하는 도로 세그먼트 길이들의 총 합이다.In the existing Euclidean space, the Euclidean distance between two objects can be calculated using the absolute position of any two objects. However, in a road network space, a moving object can only move over a predefined road network, so the network distance between the objects cannot be calculated only by the absolute position of the object. Here, the network distance between two objects is the total sum of road segment lengths existing on the shortest path between any two objects in the road network.
즉, 절대 위치가 같아도 두 점간을 연결하는 네트워크의 상황에 따라 거리가 달라지기 때문에 임의의 두 점간의 네트워크 거리는 두 점의 절대 위치만을 가지고 계산할 수 없다. 네트워크 거리를 효율적으로 구하기 위한 다양한 방법들이 연구되어 왔으며, 대표적인 예로는 IER 기법, INE 기법, VN 기법 등이 있다.In other words, even if the absolute position is the same, the distance varies depending on the situation of the network connecting the two points. Therefore, the network distance between any two points cannot be calculated using only the absolute position of the two points. Various methods for efficient network distance have been studied. Typical examples include IER, INE, and VN.
이와 같이 두 객체간의 거리를 계산하는 개발에 있어 효율성을 높일 수 있는 네트워크 계산방법에 대한 종래 기술의 한 예가 한국등록특허 제10-1025360호 "도로 네트워크 상에서 k-최근접 이웃 검색을 위한 최단 경로 탐색 방법 및 장치"에 도시되었다. 도로 네트워크 상의 질의 점으로부터 선정된 거리 내에 위치한 적어도 하나 이상의 정적 객체를 검색하여 이에 대응하는 적어도 하나 이상의 목적지 노드를 결정하고, 이러한 정적 객체와 목적지 사이의 최단 거리를 계산하려는 목적을 가지고 도출되었다.As such, an example of the related art for a network calculation method that can increase the efficiency in the development of calculating the distance between two objects is disclosed in Korean Patent No. 10-1025360 "Searching for the shortest path for k-nearest neighbor search on road network. Method and apparatus. It was derived with the purpose of searching for at least one static object located within a predetermined distance from a query point on the road network to determine at least one or more destination nodes corresponding to it, and calculating the shortest distance between the static object and the destination.
그러나 상기 선행기술에 의하더라도, 최단거리를 계산하는 방법에서 서버에서 모든 계산을 전담하여 서버의 계산 비용이 늘어나고 클라이언트와 서버간의 통신비용이 증가하는 문제점이 존재한다.However, even in the prior art, there is a problem in that the calculation cost of the server increases and the communication cost between the client and the server increases by dedicating all calculations in the server in the method of calculating the shortest distance.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 종래의 네트워크 거리를 효율적으로 구하기 위한 다양한 방법 중 IER 기법은 유클리드 거리가 네트워크 거리보다 항상 작거나 같은 성질을 이용한다. 먼저, 유클리드 거리를 기준으로 후보들을 찾고, 이들만을 대상으로 실제 네트워크 거리를 구한다. 저장 공간 오버헤드가 작다는 장점을 가지고 있지만, 여러 번의 시행 착오를 겪기 때문에 질의 처리 성능이 크게 떨어진다.The present invention was derived to solve the problems of the prior art as described above, and among the various methods for efficiently obtaining the conventional network distance, the IER technique uses the property that the Euclidean distance is always less than or equal to the network distance. First, candidates are found based on Euclidean distance, and the actual network distance is obtained only from them. Although it has the advantage of low storage space overhead, the performance of query processing is greatly reduced due to the multiple trials and errors.
또한, INE 기법은 질의 점으로부터 도로 세그먼트를 차례로 확장해 가면서 정적 객체의 유무를 검색한다. IER 기법과 마찬가지로, 저장 공간 오버헤드가 작다는 장점을 가지고 있지만, 다수의 디스크 액세스가 필요하기 때문에 질의 처리 성능이 좋지 않다. VN 기법은 각 정적 객체와 인접한 다른 정적 객체간의 거리가 같은 지점들을 기준으로 전체 네트워크 공간을 셀들의 집합으로 나눈다. 효과적인 질의 처리를 위하여 각 셀 안의 모든 정적 객체, 노드, 셀 경계선간 거리를 선계산(pre-computation)해둔다.The INE technique also searches for the presence of static objects by extending the road segment from the query point. Like the IER technique, it has the advantage of low storage space overhead, but poor query processing performance because of the large number of disk accesses required. The VN method divides the entire network space into a set of cells based on points where the distance between each static object and another adjacent static object is the same. For efficient query processing, the distance between all static objects, nodes, and cell boundaries within each cell is pre-computed.
또한, VN 기법은 IER 기법 및 INE 기법과 비교하여 질의 처리 성능이 뛰어 나지만, 저장 공간의 오버헤드가 지나치게 크다는 단점이 있다.In addition, the VN technique has better query processing performance than the IER technique and the INE technique, but has a disadvantage of excessive storage space overhead.
이에 따라, 본 발명은 서버가 질의 처리뿐만 아니라 단말과 임의의 객체에 대한 거리계산을 포함하는 전 과정을 처리하는 방식에서 벗어나, 서버가 수행했던 작업의 일부를 클라이언트 단말에서 수행하는 방식을 개발하는 것이다. 이러한 분산 기법을 통하여, 서버의 계산 비용을 줄이고, 클라이언트와 서버 사이의 통신비용을 줄이는 것을 목적으로 한다.Accordingly, the present invention is a way to develop a method for performing a part of the work performed by the server in the client terminal, apart from the way that the server processes not only the query processing but also the entire process including the distance calculation for the terminal and any object. will be. Through this distributed technique, it is intended to reduce the computational cost of the server and to reduce the communication cost between the client and the server.
상기와 같은 목적을 달성하기 위해서, 본 발명의 일 실시예에 따른 클라이언트 단말은 객체 정보 요청부, 질의 결과 연산부를 포함하고, 서버는 요청 메시지 수신부, 질의 연산부, 전송부를 포함한다.In order to achieve the above object, the client terminal according to an embodiment of the present invention includes an object information request unit, query result operation unit, the server includes a request message receiving unit, query operation unit, transmission unit.
클라이언트 단말의 객제 정보 요청부는 단말이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 서버에 요구하는 메시지를 전송한다.The object information request unit of the client terminal transmits a message requesting the server for information about an object on the active road where the terminal is staying and a result of a query at both intersections of the active road.
또한, 질의 결과 연산부는 서버로부터 수신된 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과에 기초하여 상기 활성 도로 위의 임의의 지점에서 질의를 했을 때의 결과를 분석한다.In addition, the query result calculating unit calculates a result when a query is made at an arbitrary point on the active road based on the information about the object on the active road received from the server and the result when the query is made at both intersections of the active road. Analyze
서버의 요청 메시지 수신부는 클라이언트 단말로부터 클라이언트 단말이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과에 대한 요청 메시지를 수신한다.The request message receiving unit of the server receives a request message from the client terminal about the object on the active road where the client terminal is staying and the result of the query when the query is made at both intersections of the active road.
또한, 질의 연산부는 활성 도로의 양쪽 교차로에 연결된 도로 위에 있는 객체 정보를 이용하여 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 연산한다.Also, the query calculating unit calculates a result when a query is made at both intersections of the active road using object information on a road connected to both intersections of the active road.
또한, 전송부는 요청 메시지에 응답하여 클라이어트 단말이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 클라이언트 단말로 전송한다.In addition, in response to the request message, the transmission unit transmits the information about the object on the active road where the client terminal is staying and the result when a query is made at both intersections of the active road to the client terminal.
이 같은 과정을 통하여, 본 발명의 k-최근접 질의 결과를 분석하는 장치(단말기, 서버) 및 그 방법은 서버와 클라이언트가 k-최근접 질의를 해석하기 위한 연산을 분담하여 수행한다. 한편, 서버는 클라이언트가 임의의 지점에서의 k-최근접 질의를 수행 및 해석하기 위해서 필요한 최소한의 필수정보를 미리 연산 처리하여 클라이언트 단말로 제공하고, 클라이언트 단말은 서버로부터 제공된 정보를 활용하여 임의의 지점에 대한 k-최근접 질의 과정을 완료한다.Through this process, the apparatus (terminal, server) and the method for analyzing the k-nearest query result of the present invention share the operation for the server and the client to interpret the k-nearest query. On the other hand, the server provides the client terminal with a minimum of necessary information required for the client to perform and interpret the k-nearest query at any point in advance to the client terminal, the client terminal using the information provided from the server Complete the k-nearest query process for the point.
본 발명은 분산 알고리즘을 사용하여 클라이언트 단말의 수가 증가해도 서버의 부하가 크게 증가하지 않기 때문에 피크 타임의 부하를 견디기 위한 추가적인 서버의 증설 비용을 줄일 수 있다. 즉, 본 발명에 따르면 서버의 계산 작업의 일부를 클라이언트가 분담하여 처리하므로, 서버의 부하가 분산되는 효과가 있다.According to the present invention, since the load of the server does not increase greatly even if the number of client terminals is increased by using a distributed algorithm, it is possible to reduce the additional cost of additional servers to withstand the peak time load. That is, according to the present invention, since the client shares a part of the calculation work of the server and processes it, the load of the server is distributed.
또한, 클라이언트 단말이 교차로를 통과할 때만 서버에게 질의 결과를 요청하기 때문에 클라이언트 단말과 서버간의 통신 비용이 절감되는 효과가 있다. 또한, 클라이언트 단말과 서버 간의 통신 횟수와 통신 데이터 양이 절감되어, 네트워크의 부하를 줄일 수 있으며, 다른 사용자들의 통신에 영향을 최소화할 수 있다.In addition, since the query result is requested to the server only when the client terminal crosses the intersection, the communication cost between the client terminal and the server is reduced. In addition, the number of communication and the amount of communication data between the client terminal and the server is reduced, thereby reducing the load on the network and minimizing the influence on the communication of other users.
또한, 종래의 기술들은 직선 거리를 최단 거리로 사용하는데 반하여, 본 발명은 클라이언트 주변의 POI 및 교통 흐름을 서버에서 지속적으로 파악하여 실질적으로 클라이언트 단말이 원하는 최단 거리를 계산하는 효과가 있다.In addition, while the conventional techniques use the straight distance as the shortest distance, the present invention has an effect of continuously calculating the shortest distance desired by the client terminal by continuously grasping the POI and traffic flow around the client.
도 1은 본 발명의 일 실시예에 따른 클라이언트 단말의 개념적인 구성을 나타낸 것이다.1 shows a conceptual configuration of a client terminal according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 서버의 개념적인 구성을 나타낸 것이다.2 shows a conceptual configuration of a server according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 이동 경로 예측부를 추가한 서버의 구성를 나타낸 것이다.3 illustrates a configuration of a server to which a moving path predictor is added according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 클라이언트 단말에서 k-최근접 질의 결과 분석 방법에 대한 순서도를 나타낸 것이다.4 is a flowchart illustrating a method of analyzing a k-nearest query result in a client terminal according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 클라이언트 단말이 활성 도로의 어느 한 쪽의 교차로에 진입시 객체 정보를 서버에 요구하는 순서도를 나타낸 것이다.5 is a flowchart illustrating a method for requesting object information from a server when a client terminal enters an intersection of one of active roads according to an exemplary embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 클라이언트 단말이 활성 도로의 어느 한 쪽의 교차로에 진입시 활성 도로를 제외한 나머지 도로 위의 객체 정보를 서버에 요구하는 순서도를 나타낸 것이다.FIG. 6 is a flowchart illustrating a request for object information on a server other than an active road when the client terminal enters an intersection of one of the active roads according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 클라이언트 단말이 실제로 접근할 수 있는 최단 경로를 고려하는 순서도를 나타낸 것이다.7 is a flowchart illustrating a shortest path that a client terminal may actually access according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 서버에서 k-최근접 질의에 대한 순서도를 나타낸 것이다.8 is a flowchart illustrating a k-nearest query in a server according to an embodiment of the present invention.
도 9는 본 발명의 일 실시예에 따른 서버에서 단말의 요청 메시지를 수신하지 않아도 질의 결과를 미리 연산하는 순서도를 나타낸 것이다.9 is a flowchart illustrating a pre-calculation of a query result even when a server does not receive a request message from a terminal according to an embodiment of the present invention.
도 10은 본 발명의 일 실시예에 따른 서버에서 단말의 이동 경로를 예측하여 질의 결과를 미리 연산하는 순서도를 나타낸 것이다.10 is a flowchart illustrating a precomputation of a query result by predicting a moving path of a terminal in a server according to an embodiment of the present invention.
도 11은 본 발명의 클라이언트 단말에서 k-최근접 질의에 대한 일 실시예를 나타낸 것이다.11 illustrates an embodiment of a k-nearest query in the client terminal of the present invention.
도 12는 본 발명의 일 실시예에 따른 클라이언트 단말과 서버와 통신 상태의 개념적인 구조를 나타낸 것이다.12 illustrates a conceptual structure of a communication state between a client terminal and a server according to an embodiment of the present invention.
상기와 같은 목적을 달성하기 위해서, 본 발명의 일 실시예에 따른 클라이언트 단말은 객체 정보 요청부, 질의 결과 연산부를 포함하고, 서버는 요청 메시지 수신부, 질의 연산부, 전송부를 포함한다.In order to achieve the above object, the client terminal according to an embodiment of the present invention includes an object information request unit, query result operation unit, the server includes a request message receiving unit, query operation unit, transmission unit.
클라이언트 단말의 객제 정보 요청부는 단말이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 서버에 요구하는 메시지를 전송한다.The object information request unit of the client terminal transmits a message requesting the server for information about an object on the active road where the terminal is staying and a result of a query at both intersections of the active road.
또한, 질의 결과 연산부는 서버로부터 수신된 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과에 기초하여 상기 활성 도로 위의 임의의 지점에서 질의를 했을 때의 결과를 분석한다.In addition, the query result calculating unit calculates a result when a query is made at an arbitrary point on the active road based on the information about the object on the active road received from the server and the result when the query is made at both intersections of the active road. Analyze
서버의 요청 메시지 수신부는 클라이언트 단말로부터 클라이언트 단말이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과에 대한 요청 메시지를 수신한다.The request message receiving unit of the server receives a request message from the client terminal about the object on the active road where the client terminal is staying and the result of the query when the query is made at both intersections of the active road.
또한, 질의 연산부는 활성 도로의 양쪽 교차로에 연결된 도로 위에 있는 객체 정보를 이용하여 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 연산한다.Also, the query calculating unit calculates a result when a query is made at both intersections of the active road using object information on a road connected to both intersections of the active road.
또한, 전송부는 요청 메시지에 응답하여 클라이어트 단말이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 클라이언트 단말로 전송한다.In addition, in response to the request message, the transmission unit transmits the information about the object on the active road where the client terminal is staying and the result when a query is made at both intersections of the active road to the client terminal.
이 같은 과정을 통하여, 본 발명의 k-최근접 질의 결과를 분석하는 장치(단말기, 서버) 및 그 방법은 서버와 클라이언트가 k-최근접 질의를 해석하기 위한 연산을 분담하여 수행한다. 한편, 서버는 클라이언트가 임의의 지점에서의 k-최근접 질의를 수행 및 해석하기 위해서 필요한 최소한의 필수정보를 미리 연산 처리하여 클라이언트 단말로 제공하고, 클라이언트 단말은 서버로부터 제공된 정보를 활용하여 임의의 지점에 대한 k-최근접 질의 과정을 완료한다.Through this process, the apparatus (terminal, server) and the method for analyzing the k-nearest query result of the present invention share the operation for the server and the client to interpret the k-nearest query. On the other hand, the server provides the client terminal with a minimum of necessary information required for the client to perform and interpret the k-nearest query at any point in advance to the client terminal, the client terminal using the information provided from the server Complete the k-nearest query process for the point.
상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부 도면을 참조한 실시 예에 대한 설명을 통하여 명백히 드러나게 될 것이다.Other objects and features of the present invention in addition to the above object will be apparent from the description of the embodiments with reference to the accompanying drawings.
본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, when it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.
그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.However, the present invention is not limited or limited by the embodiments. Like reference numerals in the drawings denote like elements.
도 1은 본 발명의 일 실시예에 따른 클라이언트 단말의 개념적인 구성을 나타낸 것이다.1 shows a conceptual configuration of a client terminal according to an embodiment of the present invention.
k-최근접 질의의 지속적인 모니터링 기법에서 단말(100)은 객체 정보 요청부(110)와 질의 결과 연산부(120)를 포함한다. 이때, 단말(100)은 휴대전화 및 네비게이션, 스마트폰으로 응용이 가능하다.In the continuous monitoring technique of the k-nearest query, the terminal 100 includes an object information requesting unit 110 and a query result calculating unit 120. At this time, the terminal 100 can be applied to a mobile phone, navigation, smart phone.
객체 정보 요청부(110)는 단말(100)이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 서버에 요구하는 메시지를 전송한다. 이때, 단말이 활성 도로의 어느 한 쪽의 교차로에 진입할 때 서버에 질의를 했을 때의 결과를 서버에 요구하는 메시지를 전송할 수 도 있다. 이때, 단말(100)이 머물고 있는 도로를 활성 도로라 부른다.The object information requesting unit 110 transmits a message requesting the server for information about an object on the active road on which the terminal 100 is staying and a result when a query is made at both intersections of the active road. In this case, when the terminal enters the intersection of either side of the active road, it may transmit a message requesting the server the result of the query to the server. At this time, the road on which the terminal 100 stays is called an active road.
또한, 단말(100)이 활성 도로의 어느 한 쪽의 교차로에 진입할 때 교차로에 연결되는 적어도 하나 이상의 도로 위에 있는 객체의 정보를 서버에 요구할 수 도 있다.In addition, when the terminal 100 enters an intersection of any one of the active roads, the terminal 100 may request information about an object on at least one road connected to the intersection.
또한, 단말(100)이 활성 도로의 어느 한 쪽의 교차로에 진입할 때 교차로에 연결되는 적어도 하나 이상의 도로 중 단말이 이전까지 위치하였던 활성 도로를 제외한 나머지 도로 위에 있는 객체의 정보를 서버(200)에 요구할 수 도 있다.In addition, when the terminal 100 enters an intersection of either side of the active road, the server 200 displays information on an object on the other road except for the active road where the terminal was previously located among at least one road connected to the intersection. May be required.
이 때 단말(100)이 요청하고 서버(200)가 제공하는 정보는 도로가 분기되는 교차점에서 k-최근접 질의를 수행했을 때의 근접 객체에 대한 정보일 수 있으며, 서버(200)는 단말(100)의 질의에 대한 응답 시 활성 도로 내의 정지 객체에 대한 정보는 물론, 활성 도로의 양 끝점에서의 k-최근접 질의 결과를 함께 통보하여 단말(100)의 최종적인 k-최근접 질의 결과를 완성시킬 수 있다.At this time, the information requested by the terminal 100 and provided by the server 200 may be information about a proximity object when the k-nearest query is performed at the intersection where the road branches. In response to the query of 100), not only the information about the stationary object in the active road, but also the k-nearest query result at both endpoints of the active road are notified together, so that the final k-nearest query result of the terminal 100 is reported. I can complete it.
질의 결과 연산부(120)는 서버로부터 수신된 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과에 기초하여 활성 도로 위의 임의의 지점에서 질의를 했을 때의 결과를 분석한다. 이때, 임의의 객체에 대하여 교통상황 및 도로상황 등 실제로 접근할 수 있는 최단 경로를 고려하여 활성 도로 위의 임의의 지점에서 질의를 했을 때의 결과를 분석할 수 도 있다.The query result calculating unit 120 calculates a result when a query is made at an arbitrary point on the active road based on the information about the object on the active road received from the server and the result of the query at both intersections of the active road. Analyze In this case, the result of querying at any point on the active road may be analyzed in consideration of the shortest path that can be actually accessed, such as traffic conditions and road conditions.
또한, 단말(100)의 현재 위치에서 질의를 했을 때의 결과를 분석할 수 도 있다. 이 때는 앞서 언급한 임의의 지점이 곧 단말(100)의 현재 위치를 의미하는 것으로 해석될 수 있을 것이다. 즉, 단말(100)은 서버(200)로부터 제공받은 k-최근접 질의 결과 (미리 선택되고 고정된 지점에 대한 예비 k-최근접 질의 결과)를 가공하여, 주행 중인 상태에서 시시각각 변화하는 단말(100)의 위치에 대하여 실시간으로 k-최근접 질의 결과를 해석할 수 있다.In addition, the result of the query at the current position of the terminal 100 may be analyzed. In this case, any point mentioned above may be interpreted to mean the current location of the terminal 100. That is, the terminal 100 processes the k-nearest query result (preliminary k-nearest query result for a preselected and fixed point) provided from the server 200, and the terminal 100 changes from time to time while driving. The k-nearest query result can be interpreted in real time for the position of 100).
뿐만 아니라, 본 발명의 또 다른 실시예에 따르면, 단말(100)의 사용자의 선택에 의하여, 실시간으로 변화하는 단말(100)의 위치가 아니라, 사용자가 도달하고자 하는 임의의 지점을 선택하여, 선택된 지점을 기준으로 한 k-최근접 질의 결과를 탐색하여 사용자의 이동 경로를 안내할 수도 있다. 물론, 이 경우 단말(100)이 서버(200)로부터 제공받을 수 있는 정보는 현재 단말(100)의 위치를 중심으로 한 일정 범위 내의 정보로 제한될 수 있으므로, 이 같은 기능은 단말(100)의 위치가 사용자의 최종 목표 지점과 일정 범위 내로 접근하게 되었을 때에 더욱 유용하게 사용될 수 있을 것이다. In addition, according to another embodiment of the present invention, by selecting the user of the terminal 100, instead of the position of the terminal 100 changes in real time, by selecting any point that the user wants to reach, The k-nearest query result based on the point may be searched to guide the user's moving path. Of course, in this case, since the information that the terminal 100 can receive from the server 200 may be limited to information within a certain range centering on the location of the current terminal 100, such a function may be limited to that of the terminal 100. This may be more useful when the location is approached within a certain range of the user's final target point.
도 2는 본 발명의 일 실시예에 따른 서버의 개념적인 구성을 나타낸 것이다.2 shows a conceptual configuration of a server according to an embodiment of the present invention.
서버(200)는 요청 메시지 수신부(210), 질의 연산부(220) 및 전송부(230)를 포함한다.The server 200 includes a request message receiver 210, a query operator 220, and a transmitter 230.
요청 메시지 수신부(210)는 단말(100)로부터 단말(100)이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을때의 결과에 대한 요청 메시지를 수신한다.The request message receiving unit 210 receives a request message from the terminal 100 about the object on the active road on which the terminal 100 is staying and the result of a query at both intersections of the active road.
질의 연산부(220)는 활성 도로의 양쪽 교차로에 연결된 도로 위에 있는 객체 정보를 이용하여 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 연산한다. 이때, 단말(100)로부터 단말(100)이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을때의 결과에 대한 요청 메시지를 수신하기 전에 활성 도로 주변의 교차로에 대하여 질의 결과를 미리 연산할 수 도 있다.The query calculating unit 220 calculates a result when a query is made at both intersections of the active road using object information on a road connected to both intersections of the active road. At this time, before receiving the request message about the information on the object on the active road in which the terminal 100 is staying and the result of the query at both intersections of the active road from the terminal 100, the intersection around the active road You can also precompute the query result.
전송부(230)는 단말(100)이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과에 대한 요청 메시지에 응답하여 단말(100)이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 단말(100)로 전송한다.The transmitter 230 responds to a request message for information about an object on an active road on which the terminal 100 is staying and a result when a query is made at both intersections of the active road, and the terminal 100 stays on the active road. Information about the above object and the result of the query at both intersections of the active road are transmitted to the terminal 100.
서버(200)에서 제공되는 정보는, 단말(100)이 활성 도로 위의 임의의 지점에 대한 k-최근접 질의 결과를 완성할 수 있도록 하는 최소한의 필수 정보를 포함해야 한다. 본 발명이 제시하고 있는 최적의 실시예는 활성 도로 위에 있는 객체에 관한 위치 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때를 가정한 예비 질의 결과를 서버(200)가 단말(100)로 제공하는 것이나, 서버(200)는 서버(200)의 연산 능력과 통신 네트워크의 트래픽 용량을 고려하여 추가적인 정보를 더 생성하여 단말(100)로 제공할 수도 있다. 서버(200)가 단말(100)이 당장 요청한 정보만을 연산하는 것이 아니라, 추가적인 연산을 통해 추가적인 정보를 미리 생성하는 하나의 실시예가 도 3을 통하여 설명된다.The information provided by the server 200 should include the minimum necessary information that enables the terminal 100 to complete the k-nearest query results for any point on the active road. According to an exemplary embodiment of the present invention, the server 200 provides the terminal 100 with a preliminary query result assuming that a query is made at both intersections of an active road and location information about an object on an active road. However, the server 200 may further generate additional information in consideration of the computing power of the server 200 and the traffic capacity of the communication network, and provide the additional information to the terminal 100. An embodiment in which the server 200 not only calculates information requested by the terminal 100 right now but also generates additional information in advance through additional calculation is described with reference to FIG. 3.
도 3은 본 발명의 일 실시예에 따른 서버에서 이동 경로 예측부를 추가한 구성을 나타낸 것이다.3 is a diagram illustrating a configuration in which a moving path predictor is added in a server according to an embodiment of the present invention.
이동 경로 예측부(240)는 단말(100)로부터 수신되는 단말(100)이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과에 대한 요청 메시지에 의하여 지정되는 교차로의 변화 추이를 모니터하여 단말(100)의 이동 경로를 예측한다.The movement path predictor 240 designates a request message for information about an object on an active road on which the terminal 100 received from the terminal 100 stays and a result when a query is made at both intersections of the active road. By monitoring the change trend of the intersection, the movement path of the terminal 100 is predicted.
즉, 서버는 단말(100)의 현재 위치를 완전하게 모니터할 수는 없을 지라도, 단말(100)이 주요 교차점마다 k-최근접 질의에 대한 요청을 하는 경우, 단말(100)의 이동 경로를 예측할 수 있다. 또한 본 발명의 다른 실시예에 따라서는 서버는 단말(100)의 현재 위치를 지속적으로 모니터하여 연속적으로 예비 질의 결과를 미리 연산해 둘 수 있고, 이로 인하여 단말(100)로부터의 요청에 대하여 신속하게 예비 질의 결과 정보를 제공할 수 있다.That is, although the server may not monitor the current position of the terminal 100 completely, when the terminal 100 makes a request for a k-nearest query at every major intersection, the server 100 may predict the movement path of the terminal 100. Can be. In addition, according to another embodiment of the present invention, the server continuously monitors the current position of the terminal 100 and continuously calculates a preliminary query result in advance, thereby quickly responding to a request from the terminal 100. Preliminary query result information can be provided.
도 4는 본 발명의 일 실시예에 따른 클라이언트 단말에서 k-최근접 질의 결과 분석 방법에 대한 동작 흐름도를 나타낸 것이다.4 is a flowchart illustrating a method of analyzing a k-nearest query result in a client terminal according to an embodiment of the present invention.
k-최근접 질의 결과 분석 방법은 단말(100)이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보를 서버(200)에 요구한다(S410). 이후, 활성 도로 양쪽 교차로에서 질의를 했을 때의 결과를 서버에 요구한다(S420). 이때, 활성 도로 양쪽 교차로에서 질의를 했을 때의 결과를 서버에 요구한(S420) 뒤, 단말(100)이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보를 서버(200)에 요구(S410)할 수도 있다. 도 4에서는 단계(S410)가 단계(S420)보다 앞서 실행되는 것으로 도시되었으나, 두 단계(S410, S420)는 상호 인과관계를 가지는 프로세스가 아니므로, 두 단계(S410, S420)는 상호 독립적으로 진행될 수도 있고, 병행해서 진행될 수도 있으며, 단계(S410)과 단계(S420)의 순서가 서로 뒤바뀔 수도 있다.The k-nearest query result analysis method requests the server 200 for information about an object on the active road where the terminal 100 stays (S410). Thereafter, the server requests the result of the query at both intersections of the active road (S420). In this case, after requesting the result of the query at both intersections of the active road (S420), the server 100 may request the server 200 for information about the object on the active road where the terminal 100 stays (S410). have. In FIG. 4, step S410 is shown to be performed before step S420. However, since the two steps S410 and S420 are not processes having a mutual causal relationship, the two steps S410 and S420 may be independently performed. In some cases, the process may be performed in parallel, or the order of steps S410 and S420 may be reversed.
이후, 서버(200)로부터 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 수신하고(S430), 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과에 기초하여 활성 도로 위의 임의의 지점에서 질의를 했을 때의 결과를 분석한다(S440).Subsequently, the server 200 receives information about an object on the active road and a result of a query at both intersections of the active road (S430), and receives information on an object on the active road and both intersections of the active road. Based on the result of the query, the result of the query at an arbitrary point on the active road is analyzed (S440).
도 5는 본 발명의 일 실시예에 따른 클라이언트 단말이 활성 도로의 어느 한 쪽의 교차로에 진입 시 객체 정보를 서버에 요구하는 동작 흐름도를 나타낸 것이다.5 is a flowchart illustrating an operation for requesting object information from a server when a client terminal enters an intersection of one of active roads according to an embodiment of the present invention.
단말(100)이 머물고 있는 활성 도로 양쪽 교차로에서 질의를 했을 때의 결과를 서버에 요구(S420)할 때, 단말(100)이 활성 도로의 어느 한 쪽의 교차로에 진입(S510)했을 경우, 교차로에 연결되는 적어도 하나 이상의 도로 위에 있는 객체의 정보를 서버(200)에 요구할 수 있다(S520). 만약 단말(100)이 활성 도로의 어느 한 쪽의 교차로에 진입(S510)하지 않았을 경우, 서버(200)로부터 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 수신한다(S430).When the terminal 100 enters an intersection of one of the active roads (S510), when the terminal 100 requests a server for a result of a query at both intersections of the active roads at which the terminal 100 stays, the intersection is S510. Information on an object on at least one road connected to the server 200 may be requested to the server 200 (S520). If the terminal 100 does not enter the intersection of either side of the active road (S510), the information about the object on the active road from the server 200 and the result when inquiring at both intersections of the active road Receive (S430).
도 6은 본 발명의 일 실시예에 따른 클라이언트 단말이 활성 도로의 어느 한 쪽의 교차로에 진입시 활성 도로를 제외한 나머지 도로 위의 객체 정보를 서버에 요구하는 순서도를 나타낸 것이다.FIG. 6 is a flowchart illustrating a request for object information on a server other than an active road when the client terminal enters an intersection of one of the active roads according to an embodiment of the present invention.
활성 도로 양쪽 교차로에서 질의를 했을 때의 결과를 서버에 요구(S420)할 때, 단말(100)이 활성 도로의 어느 한 쪽의 교차로에 진입(S610)했을 경우, 교차로에 연결되는 적어도 하나 이상의 도로 중 단말(100)이 이전까지 위치하였던 이전 활성 도로를 제외한 나머지 도로 위에 있는 객체의 정보를 서버에 요구(S620)하고, 만약 단말(100)이 활성 도로의 어느 한 쪽의 교차로에 진입(S610)하지 않았을 경우, 서버(200)로부터 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 수신한다(S430).At least one road connected to an intersection when the terminal 100 enters an intersection of one of the active roads (S610) when the server 100 requests a result of a query at both intersections of the active roads (S420). The terminal 100 requests the server for information on an object on the remaining road except for the previous active road where the terminal 100 was previously located (S620), and if the terminal 100 enters an intersection of any one of the active roads (S610). If not, the server 200 receives information about the object on the active road and a result when a query is made at both intersections of the active road (S430).
도 7은 본 발명의 일 실시예에 따른 클라이언트 단말이 실제로 접근할 수 있는 최단 경로를 고려하는 순서도를 나타낸 것이다.7 is a flowchart illustrating a shortest path that a client terminal may actually access according to an embodiment of the present invention.
단말(100)이 활성 도로 위의 임의의 지점에서 질의를 했을 때의 결과를 분석할 때(S440), 임의의 객체에 대하여 실제로 접근할 수 있는 최단 경로를 고려하여(S441), 활성 도로 위의 임의의 지점에서 질의를 했을 때의 결과를 분석한다(S442). 이때, 임의의 객체에 대하여 직선거리 상의 최단거리와 서버(200)로부터 수신된 교통정보, 도로정보를 이용하여 계산된 최단거리를 비교하여 가장 가까운 거리를 계산할 수 도 있다.When the terminal 100 analyzes the result when the query is made at an arbitrary point on the active road (S440), considering the shortest path that can actually access any object (S441), The result of the query at any point is analyzed (S442). In this case, the closest distance may be calculated by comparing the shortest distance on the straight line with the shortest distance calculated using the traffic information and the road information received from the server 200.
도 8은 본 발명의 일 실시예에 따른 서버에서 수행되는 k-최근접 예비 질의 과정을 동작 흐름도를 통하여 나타낸 것이다.8 is a flowchart illustrating a k-nearest preliminary query process performed in a server according to an embodiment of the present invention.
단말(100)이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과에 대한 요청 메시지를 수신하고(S810), 활성 도로의 양쪽 교차로에 연결된 도로 위에 있는 객체 정보를 이용하여 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 연산한다(S820). The terminal 100 receives information about an object on an active road on which the terminal 100 is staying and a request message for a result when a query is made at both intersections of the active road (S810), and an object on the road connected to both intersections of the active road. Using the information, the result of querying at both intersections of the active road is calculated (S820).
이후, 요청 메시지에 응답하여 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 단말(100)로 전송한다(S830).Thereafter, in response to the request message, the terminal 100 transmits the information about the object on the active road and the result of the query at both intersections of the active road to the terminal 100 (S830).
도 9는 본 발명의 다른 실시예에 따른 서버에서 단말의 요청 메시지를 수신하지 않아도 질의 결과를 미리 연산하는 순서도를 나타낸 것이다.9 is a flowchart illustrating a pre-calculation of a query result even when a server does not receive a request message of a terminal according to another embodiment of the present invention.
서버(200)에서 단말(100)의 요청 메시지를 수신(S910)하지 않을 때, 단말(100)의 활성 도로 주변의 교차로에 대하여 질의 결과를 미리 연산(S940) 하여 저장하고, 요청 메시지를 수신(S910)하게 되면 단말(100)의 활성 도로의 양쪽 교차로에 연결된 도로 위에 있는 객체 정보를 이용하여 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 연산한다(S920). 이때, 미리 연산하여 저장된 질의 결과를 이용하여 결과를 연산할 수 있다.When the server 200 does not receive the request message of the terminal 100 (S910), the query result is calculated in advance (S940) for the intersection around the active road of the terminal 100, and the request message is received ( In operation S 910, the result of the query at both intersections of the active roads is calculated using the object information on the roads connected to both intersections of the active roads of the terminal 100 (S920). In this case, the result may be calculated using the previously stored query result.
이후, 요청 메시지에 응답하여 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 단말(100)로 전송한다(S930).Thereafter, in response to the request message, information about the object on the active road and a result of a query at both intersections of the active road are transmitted to the terminal 100 (S930).
도 10은 본 발명의 다른 실시예에 따른 서버에서 단말의 이동 경로를 예측하여 질의 결과를 미리 연산하는 순서도를 나타낸 것이다.10 is a flowchart illustrating a precomputation of a query result by predicting a moving path of a terminal in a server according to another embodiment of the present invention.
단말(100)로부터 요청 메시지를 수신(S910)하지 않았을 때, 단말(100)로부터 수신되는 요청 메시지에 의하여 지종되는 교차로의 변화 추이를 모니터하여 단말의 이동 경로를 예측하고(S950), 활성 도로 주변의 교차로에 대하여 질의 결과를 미리 연산한다(S940).When the request message is not received from the terminal 100 (S910), the change trend of the intersection crossed by the request message received from the terminal 100 is monitored to predict the moving path of the terminal (S950), and around the active road. The query result is calculated beforehand at the intersection of (S940).
단말(100)로부터 요청 메시지를 수신(S910)하였을 때, 활성 도로의 양쪽 교차로에 연결된 도로 위에 있는 객체 정보를 이용하여 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 연산하고(S920), 연산된 결과값을 단말(100)로부터 수신되는 요청 메시지에 의하여 지정되는 교차로의 변화 추이를 모니터하여 단말의 이동 경로를 예측(S950)할 때, 이용할 수 있다.When receiving the request message from the terminal 100 (S910), using the object information on the road connected to both intersections of the active road to calculate the result when the query at both intersections of the active road (S920), The resultant value can be used when predicting the movement path of the terminal by monitoring the change trend of the intersection designated by the request message received from the terminal 100 (S950).
이후, 요청 메시지에 응답하여 활성 도로 위에 있는 객체에 관한 정보 및 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 단말(100)로 전송한다.Thereafter, in response to the request message, information about the object on the active road and a result when a query is made at both intersections of the active road are transmitted to the terminal 100.
도 11은 본 발명의 클라이언트 단말에서 k-최근접 질의에 대한 일 실시예를 나타낸 것이다.11 illustrates an embodiment of a k-nearest query in the client terminal of the present invention.
단말(1110)은 단말(1110)이 머물고 있는 활성 도로 위에 있는 양쪽 교차로(1120)지점에 진입 시 양쪽 교차로(1120) 지점에 대한 질의 결과와 임의의 객체(1130)에 대한 정보를 서버(200)로 요청한다. 이때, 단말(1110)이 머물고 있는 활성 도로의 어느 한쪽의 교차로(1120)에 진입할 때 교차로에 연결되는 적어도 하나 이상의 도로 중 단말(1110)이 이전까지 위치하였던 이전 활성 도로를 제외한 나머지 도로 위에 있는 객체(1130)의 정보를 서버에 요구할 수 있다.When the terminal 1110 enters both intersections 1120 on the active road on which the terminal 1110 stays, the server 200 provides query results for both intersections 1120 and information on an arbitrary object 1130. Ask. In this case, when the terminal 1110 enters an intersection 1120 of any one of the active roads, the terminal 1110 is located on the other road except for the previous active road where the terminal 1110 was previously located. Information of the object 1130 may be requested to the server.
이후, 서버로부터 질의 결과 및 임의의 객체(1130)에 대한 정보를 수신하면, 단말(1110)은 임의의 객체(1130)에 대하여 현재의 도로 상황, 교통 상황등 실제로 접근할 수 있는 최단 경로를 고려하여 활성 도로 위의 임의의 지점에서 질의를 했을 때의 결과를 분석한다. 즉, 단순히 질의의 기준이 되는 지점과 객체 간의 직선 거리 또는 유클리디안 거리에 기초하여 최근접 객체를 탐색하는 것이 아니라, 교차로와 도로망의 배열 등 실제로 단말(1110)이 접근 가능한 경로를 고려하여 최단 경로를 연산한다. 단말(1110)이 자동차에 탑재되어 있거나, 단말(1110)의 소유자가 자동차에 탑승하여 이동하는 경우, 단말(1110)의 소유자가 도보로 이동하는 경우 등을 고려하여 접근 가능한 경로가 달리 설정될 수 있다. 다른 실시예에 따라서는 서버 또는 단말(1110)은 단말(1110)의 이동 속도나, 또는 단말(1110)에 대하여 미리 등록된 정보에 기초하여 최단 경로를 자동차의 경로를 기준으로 하여 연산할 지 도보 경로를 기준으로 하여 연산할 지를 결정할 수도 있다. 또 다른 실시예에 따라서는 서버 또는 단말(1110)은 고정된 도로망에 대한 정보를 이용하는 것 외에도, 실시간 교통 흐름에 관한 정보, 사고, 공사 등 돌발 상황에 대한 정보를 추가적으로 고려하여 최단 경로를 연산할 수도 있다. 이 때 최단 경로를 연산하는 주된 주체는 단말(1110)이겠으나, 서버 또한 단말(1110)에 대하여 파악된 정보를 이용하여 단말(1110)이 최단 경로를 연산하기에 적합하도록 자동차 경로 또는 도보 경로 등에 대한 추가적인 경로 안내 정보를 단말(1110)로 제공할 수도 있다.Subsequently, upon receiving the query result and the information on the arbitrary object 1130 from the server, the terminal 1110 considers the shortest path that can actually access the current road situation, traffic condition, etc. with respect to the arbitrary object 1130. Analyze the results of a query at any point on the active road. In other words, instead of simply searching for the nearest object based on a straight line distance or Euclidean distance between the point and the object that are the criteria of the query, the shortest path is considered considering the path that the terminal 1110 can actually access, such as the arrangement of the intersection and the road network. Compute the path. When the terminal 1110 is mounted in a vehicle, or when the owner of the terminal 1110 moves in a car, the accessible path may be set in consideration of the case where the owner of the terminal 1110 moves on foot. have. According to another exemplary embodiment, the server or the terminal 1110 calculates the shortest path based on the path of the vehicle based on the moving speed of the terminal 1110 or information registered in advance for the terminal 1110. You can also decide whether to compute based on the path. According to another exemplary embodiment, in addition to using information about a fixed road network, the server or terminal 1110 may calculate the shortest path by additionally considering information on an accident situation such as information on real-time traffic flow, accident, construction, etc. It may be. At this time, the main subject that calculates the shortest path is the terminal 1110, but the server also uses the information obtained about the terminal 1110 so that the terminal 1110 is suitable for calculating the shortest path. Additional route guidance information may be provided to the terminal 1110.
도 12는 본 발명의 일 실시예에 따른 클라이언트 단말과 서버와 통신 상태의 개념적인 구조를 나타낸 것이다.12 illustrates a conceptual structure of a communication state between a client terminal and a server according to an embodiment of the present invention.
단말(1210)은 단말(1210)이 머물고 있는 활성 도로와 도로의 양 끝점에서 영역 최근접 질의 결과를 서버(1220)에 요청한다(1230). 이후, 서버(1220)는 단말(1210)의 요청에 따라 단말(1210)이 속한 활성 도로의 양 끝점에서 영역 최근접 질의 결과와 활성 도로 위에 있는 객체들을 검색하여 단말(1210)에 전달하고(1240), 단말(1210)은 서버(1220)로부터 받은 결과값을 이용하여, 활성 도로 위에 있는 임의의 지점에 대한 결과를 연산한다(1250). 이처럼 단말(1210)과 서버(1220) 간의 협력 연산을 통하여 서버(1220)에 집중되는 연산 부하를 단말(1210)이 분담함으로써 서버(1220)의 부하를 줄일 수 있고, 네트워크의 트래픽 또한 절감된다.The terminal 1210 requests the server 1220 to request the result of the region nearest query at both the active road and the end points of the road where the terminal 1210 is staying (1230). Thereafter, the server 1220 searches for the result of the region nearest query and the objects on the active road at both ends of the active road to which the terminal 1210 belongs to the terminal 1210 according to a request of the terminal 1210, and transmits the result to the terminal 1210 (1240). In operation 1250, the terminal 1210 calculates a result of an arbitrary point on an active road by using the result value received from the server 1220. As such, the terminal 1210 shares the computational load concentrated on the server 1220 through the cooperative operation between the terminal 1210 and the server 1220, thereby reducing the load of the server 1220 and reducing the traffic of the network.
본 발명의 일 실시 예에 따른 k-최근접 질의 결과의 분석 방법 및 질의 결과의 지속적 모니터링을 위한 분산 처리 기법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.An analysis method of k-nearest query results and a distributed processing technique for continuous monitoring of query results according to an embodiment of the present invention are implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. Can be. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. In the present invention as described above has been described by the specific embodiments, such as specific components and limited embodiments and drawings, but this is provided to help a more general understanding of the present invention, the present invention is not limited to the above embodiments. For those skilled in the art, various modifications and variations are possible from these descriptions.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and all of the equivalents and equivalents of the claims, as well as the following claims, will fall within the scope of the present invention. .
본 발명은 k-최근접 질의의 지속적 모니터링을 위한 분산 기법에 관한 것으로, 보다 상세하게는 도로 네트워크의 제한된 영역에서 클라이언트 단말이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보를 요청 받은 서버의 질의 결과를 분석하는 방법 및 장치에 관한 것이다.The present invention relates to a distributed technique for continuous monitoring of k-nearest queries. More particularly, the present invention relates to a query result of a server that is requested for information about an object on an active road where a client terminal stays in a limited area of a road network. It relates to a method and an apparatus for analyzing.
본 발명은 서버가 질의 처리뿐만 아니라 단말과 임의의 객체에 대한 거리계산을 포함하는 전 과정을 처리하는 방식에서 벗어나, 서버가 수행했던 작업의 일부를 클라이언트 단말에서 수행하는 방식을 개발하는 것이다. 이러한 분산 기법을 통하여, 서버의 계산 비용을 줄이고, 클라이언트와 서버 사이의 통신비용을 줄이는 것이 목적이다.The present invention is to develop a method of performing a part of the work performed by the server in the client terminal, away from the process in which the server processes not only the query processing but also the entire process including distance calculation for the terminal and any object. Through this distributed technique, the purpose is to reduce the computational cost of the server and to reduce the communication cost between the client and the server.

Claims (18)

  1. k-최근접 질의 결과를 분석하는 클라이언트 단말에 있어서,A client terminal for analyzing a k-nearest query result,
    상기 단말이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 상기 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 서버에 요구하는 메시지를 전송하는 객체 정보 요청부;An object information request unit which transmits a message requesting a server for information about an object on an active road on which the terminal is staying and a result of a query at both intersections of the active road;
    상기 서버로부터 수신된 상기 활성 도로 위에 있는 객체에 관한 정보 및 상기 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과에 기초하여 상기 활성 도로 위의 임의의 지점에서 질의를 했을 때의 결과를 분석하는 질의 결과 연산부;A query that analyzes the result when a query is made at any point on the active road based on the information about the object on the active road received from the server and the result of the query at both intersections of the active road A result calculator;
    를 포함하는 클라이언트 단말.Client terminal comprising a.
  2. 제1항에 있어서,The method of claim 1,
    상기 객체 정보 요청부는 상기 단말이 상기 활성 도로의 어느 한 쪽의 교차로에 진입할 때 상기 서버에 상기 메시지를 전송하는 클라이언트 단말.The object information requesting unit transmits the message to the server when the terminal enters an intersection of any one of the active roads.
  3. 제1항에 있어서,The method of claim 1,
    상기 객체 정보 요청부는 상기 단말이 상기 활성 도로의 어느 한 쪽의 교차로에 진입할 때 상기 교차로에 연결되는 적어도 하나 이상의 도로 위에 있는 객체의 정보를 상기 서버에 요구하는 클라이언트 단말.The object information requesting unit requests the server for information of an object on at least one road connected to the intersection when the terminal enters an intersection of any one of the active roads.
  4. 제1항에 있어서,The method of claim 1,
    상기 객체 정보 요청부는 상기 단말이 상기 활성 도로의 어느 한 쪽의 교차로에 진입할 때 상기 교차로에 연결되는 적어도 하나 이상의 도로 중 상기 단말이 이전까지 위치하였던 이전 활성 도로를 제외한 나머지 도로 위에 있는 객체의 정보를 상기 서버에 요구하는 클라이언트 단말.When the terminal enters an intersection of any one of the active roads, the object information request unit includes information on an object on the other road except for the previous active road where the terminal was previously located among at least one road connected to the intersection. The client terminal requesting the server.
  5. 제1항에 있어서,The method of claim 1,
    상기 질의 결과 연산부는 임의의 객체에 대하여 실제로 접근할 수 있는 최단 경로를 고려하여 상기 활성 도로 위의 임의의 지점에서 질의를 했을 때의 결과를 분석하는 클라이언트 단말.The query result calculating unit analyzes a result when a query is made at an arbitrary point on the active road in consideration of the shortest path that is actually accessible to any object.
  6. 제1항에 있어서,The method of claim 1,
    상기 질의 결과 연산부는The query result calculation unit
    상기 단말의 현재 위치에서 질의를 했을 때의 결과를 분석하는 클라이언트 단말.Client terminal for analyzing the results of the query at the current position of the terminal.
  7. 제1항에 있어서,The method of claim 1,
    상기 질의 결과 연산부는The query result calculation unit
    사용자의 입력에 따라 상기 임의의 지점을 지정하고, 상기 지정된 임의의 지점에서 질의를 했을 때의 결과를 분석하는 클라이언트 단말.The client terminal designates the arbitrary point according to a user input, and analyzes the result when a query is made at the designated arbitrary point.
  8. k-최근접 질의를 위한 정보를 제공하는 서버에 있어서,A server providing information for k-nearest query,
    클라이언트 단말로부터 상기 클라이언트 단말이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 상기 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과에 대한 요청 메시지를 수신하는 요청 메시지 수신부;A request message receiving unit which receives a request message from the client terminal on the object on the active road on which the client terminal is staying and a request message on the result of querying at both intersections of the active road;
    상기 활성 도로의 양쪽 교차로에 연결된 도로 위에 있는 객체 정보를 이용하여 상기 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 연산하는 질의 연산부; 및A query calculation unit that calculates a result when a query is made at both intersections of the active road using object information on the roads connected to both intersections of the active road; And
    상기 요청 메시지에 응답하여 상기 클라이어트 단말이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 상기 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 상기 클라이언트 단말로 전송하는 전송부;A transmission unit which transmits information about an object on an active road on which the client terminal is staying and a result when a query is made at both intersections of the active road in response to the request message to the client terminal;
    를 포함하는 서버.Server comprising.
  9. 제8항에 있어서,The method of claim 8,
    상기 질의 연산부는 상기 단말로부터 상기 요청 메시지를 수신하기 전에 상기 활성 도로 주변의 교차로에 대하여 질의 결과를 미리 연산하는 서버.The query operator is configured to pre-calculate the query result for the intersection around the active road before receiving the request message from the terminal.
  10. 제8항에 있어서,The method of claim 8,
    상기 단말로부터 수신되는 상기 요청 메시지에 의하여 지정되는 교차로의 변화 추이를 모니터하여 상기 단말의 이동 경로를 예측하는 이동 경로 예측부; A movement path predicting unit configured to predict a movement path of the terminal by monitoring a change trend of an intersection designated by the request message received from the terminal;
    를 더 포함하고,More,
    상기 질의 연산부는 The query operation unit
    상기 예측된 이동 경로에 기초하여 선택된 교차로에 대하여 질의 결과를 미리 연산하는 서버.And calculating a query result in advance for the selected intersection based on the predicted moving path.
  11. 클라이언트 단말에서 수행되는 k-최근접 질의 결과 분석 방법에 있어서,In the k-nearest query result analysis method performed in the client terminal,
    상기 단말이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보를 서버에 요구하는 단계;Requesting a server for information about an object on an active road on which the terminal is staying;
    상기 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 서버에 요구하는 단계; 및Requesting the server of the results of the query at both intersections of the active road; And
    상기 서버로부터 상기 활성 도로 위에 있는 객체에 관한 정보 및 상기 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 수신하는 단계;Receiving information about an object on the active road from the server and a result when a query is made at both intersections of the active road;
    상기 활성 도로 위에 있는 객체에 관한 정보 및 상기 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과에 기초하여 상기 활성 도로 위의 임의의 지점에서 질의를 했을 때의 결과를 분석하는 단계;Analyzing the results of the query at any point on the active road based on the information about the object on the active road and the results of the query at both intersections of the active road;
    를 포함하는 k-최근접 질의 결과 분석 방법.K-nearest query results analysis method comprising a.
  12. 제11항에 있어서,The method of claim 11,
    상기 단말이 상기 활성 도로의 어느 한 쪽의 교차로에 진입할 때 상기 교차로에 연결되는 적어도 하나 이상의 도로 위에 있는 객체의 정보를 상기 서버에 요구하는 단계;Requesting the server for information of an object on at least one road connected to the intersection when the terminal enters an intersection of one of the active roads;
    를 더 포함하는 k-최근접 질의 결과 분석 방법.K-nearest query results analysis method further comprising.
  13. 제11항에 있어서,The method of claim 11,
    상기 단말이 상기 활성 도로의 어느 한 쪽의 교차로에 진입할 때 상기 교차로에 연결되는 적어도 하나 이상의 도로 중 상기 단말이 이전까지 위치하였던 이전 활성 도로를 제외한 나머지 도로 위에 있는 객체의 정보를 상기 서버에 요구하는 단계;When the terminal enters an intersection of one of the active roads, the server requests information of an object on the other road except for the previous active road where the terminal was previously located among at least one road connected to the intersection. Doing;
    를 더 포함하는 k-최근접 질의 결과 분석 방법.K-nearest query results analysis method further comprising.
  14. 제11항에 있어서,The method of claim 11,
    상기 활성 도로 위의 임의의 지점에서 질의를 했을 때의 결과를 분석하는 단계는Analyzing the results when a query is made at any point on the active road
    임의의 객체에 대하여 실제로 접근할 수 있는 최단 경로를 고려하여 상기 활성 도로 위의 임의의 지점에서 질의를 했을 때의 결과를 분석하는 k-최근접 질의 결과 분석 방법.A k-nearest query result analysis method which analyzes the result when a query is made at an arbitrary point on the active road considering the shortest path that is actually accessible to any object.
  15. 서버에서 수행되는 k-최근접 질의를 위한 정보를 제공하는 방법에 있어서,In the method for providing information for k-nearest query performed in the server,
    클라이언트 단말로부터 상기 클라이언트 단말이 머물고 있는 활성 도로 위에 있는 객체에 관한 정보 및 상기 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과에 대한 요청 메시지를 수신하는 단계;Receiving a request message from a client terminal about information on an object on an active road on which the client terminal is staying and a result when a query is made at both intersections of the active road;
    상기 활성 도로의 양쪽 교차로에 연결된 도로 위에 있는 객체 정보를 이용하여 상기 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 연산하는 단계; 및Calculating a result when a query is made at both intersections of the active road using object information on a road connected to both intersections of the active road; And
    상기 요청 메시지에 응답하여 상기 활성 도로 위에 있는 객체에 관한 정보 및 상기 활성 도로의 양쪽 교차로에서 질의를 했을 때의 결과를 상기 클라이언트 단말로 전송하는 단계;In response to the request message, transmitting information about an object on the active road and a result of a query at both intersections of the active road to the client terminal;
    를 포함하는 k-최근접 질의를 위한 정보 제공 방법.Information providing method for a k-nearest query comprising a.
  16. 제15항에 있어서,The method of claim 15,
    상기 질의를 했을 때의 결과를 연산하는 단계는Computing the results of the query is
    상기 단말로부터 상기 요청 메시지를 수신하기 전에 상기 활성 도로 주변의 교차로에 대하여 질의 결과를 미리 연산하는 k-최근접 질의를 위한 정보 제공 방법.And a pre-computing query result for the intersection around the active road before receiving the request message from the terminal.
  17. 제15항에 있어서,The method of claim 15,
    상기 단말로부터 수신되는 상기 요청 메시지에 의하여 지정되는 교차로의 변화 추이를 모니터하여 상기 단말의 이동 경로를 예측하는 단계; Predicting a moving path of the terminal by monitoring a change trend of an intersection designated by the request message received from the terminal;
    를 더 포함하고,More,
    상기 질의를 했을 때의 결과를 연산하는 단계는Computing the results of the query is
    상기 예측된 이동 경로에 기초하여 선택된 교차로에 대하여 질의 결과를 미리 연산하는 k-최근접 질의를 위한 정보 제공 방법.And a pre-computing query result for a selected intersection based on the predicted moving path.
  18. 제11항 내지 제17항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.A computer-readable recording medium in which a program for executing the method of any one of claims 11 to 17 is recorded.
PCT/KR2012/011834 2012-07-12 2012-12-31 Distribution method for continuous monitoring of k-nearest neighbor queries in limited area of road network WO2014010801A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0076043 2012-07-12
KR1020120076043A KR101421671B1 (en) 2012-07-12 2012-07-12 A DISTRIBUTED METHOD FOR CONTINUOUS MONITORING OF CONSTRAINED k-NEAREST NEIGHBOR QUERIES IN ROAD NETWORKS

Publications (1)

Publication Number Publication Date
WO2014010801A1 true WO2014010801A1 (en) 2014-01-16

Family

ID=49916221

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/011834 WO2014010801A1 (en) 2012-07-12 2012-12-31 Distribution method for continuous monitoring of k-nearest neighbor queries in limited area of road network

Country Status (2)

Country Link
KR (1) KR101421671B1 (en)
WO (1) WO2014010801A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116431936A (en) * 2023-06-13 2023-07-14 陕西交通电子工程科技有限公司 Road condition information rapid query method based on tunnel road section

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101479498B1 (en) 2013-02-13 2015-01-09 아주대학교산학협력단 A secure monitoring technique for moving k-nearest neighbor queries in road networks

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163253A1 (en) * 2002-02-27 2003-08-28 Samsung Electronics Co., Ltd. Single or multiple route map matching apparatus for navigation service and method thereof
KR100454949B1 (en) * 2001-11-17 2004-11-06 삼성전자주식회사 Reroute guidance method of navigation system using wireless network
KR20080113953A (en) * 2007-06-26 2008-12-31 전북대학교산학협력단 Method and system for finding nearest neighbors based on vboronoi diagram
KR101014921B1 (en) * 2008-12-31 2011-02-16 주식회사 케이티 Apparatus and method for presuming movement route of mobile communication terminal by producing data in mobile communication network
KR20120019172A (en) * 2010-08-25 2012-03-06 명지대학교 산학협력단 Portable device and method for searching of shortest path

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4036012B2 (en) * 2001-04-26 2008-01-23 トヨタ自動車株式会社 Route guidance system, client terminal that performs route guidance, server that communicates with the client terminal, route guidance method, and route match determination method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100454949B1 (en) * 2001-11-17 2004-11-06 삼성전자주식회사 Reroute guidance method of navigation system using wireless network
US20030163253A1 (en) * 2002-02-27 2003-08-28 Samsung Electronics Co., Ltd. Single or multiple route map matching apparatus for navigation service and method thereof
KR20080113953A (en) * 2007-06-26 2008-12-31 전북대학교산학협력단 Method and system for finding nearest neighbors based on vboronoi diagram
KR101014921B1 (en) * 2008-12-31 2011-02-16 주식회사 케이티 Apparatus and method for presuming movement route of mobile communication terminal by producing data in mobile communication network
KR20120019172A (en) * 2010-08-25 2012-03-06 명지대학교 산학협력단 Portable device and method for searching of shortest path

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116431936A (en) * 2023-06-13 2023-07-14 陕西交通电子工程科技有限公司 Road condition information rapid query method based on tunnel road section
CN116431936B (en) * 2023-06-13 2023-08-18 陕西交通电子工程科技有限公司 Road condition information rapid query method based on tunnel road section

Also Published As

Publication number Publication date
KR20140010496A (en) 2014-01-27
KR101421671B1 (en) 2014-07-22

Similar Documents

Publication Publication Date Title
WO2017003094A1 (en) Method and system for providing location-based service
WO2014126390A1 (en) Safe monitoring technique for moving k-nearest queries in road network
WO2016208838A1 (en) Method and system for providing indoor positioning service
JP5666669B2 (en) A communication-type navigation system that searches for routes by detecting changes in traffic volume
WO2013182165A1 (en) Navigation method and system, map data management cloud and data update method thereof
WO2015182857A1 (en) Location information determination system and method using cell information
US9752888B2 (en) Method and apparatus of computing location of safe exit for moving range query in road network
WO2016003060A1 (en) Indoor navigation service providing method and device
US20220214461A1 (en) Positioning processing method and related apparatus
WO2013012278A2 (en) Method and apparatus for managing device context using an ip address in a communication system
CN104252795A (en) Bus arrival time prediction method
WO2014010801A1 (en) Distribution method for continuous monitoring of k-nearest neighbor queries in limited area of road network
KR20150018733A (en) Device and method for path finding
JP2007520685A (en) Public transport integrated route information providing method and route information providing device
Zhang et al. Efficient path query processing through cloud-based mapping services
KR101423031B1 (en) A method for computing safe exit points of moving k-nearest neighbor queries in road networks
Hadian et al. Privacy-preserving task scheduling for time-sharing services of autonomous vehicles
WO2014007473A1 (en) Detachable navigation system
WO2021256848A1 (en) Method and system for predicting congestion level for each subway cabin on basis of short-range wireless communication signal
WO2021080332A2 (en) System for predicting vehicle trajectory by using extended kalman filter in vehicle software defined networking and method therefor, and computer-readable recording medium on which program for performing method is recorded
Nayak et al. Real-time vehicle navigation using modified A* algorithm
US11555707B2 (en) Collaborative positioning navigation
WO2017073966A1 (en) Method for building and utilizing database of needs movement information and server therefor
KR102347617B1 (en) Method of providing traffic information service and system performing the same
KR100665473B1 (en) Location search method by coordinates and adjacency information

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12881072

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12881072

Country of ref document: EP

Kind code of ref document: A1