KR20090016361A - System for processing dynamic query using semantic prefetching scheme based on description in location-based services - Google Patents
System for processing dynamic query using semantic prefetching scheme based on description in location-based services Download PDFInfo
- Publication number
- KR20090016361A KR20090016361A KR1020070080939A KR20070080939A KR20090016361A KR 20090016361 A KR20090016361 A KR 20090016361A KR 1020070080939 A KR1020070080939 A KR 1020070080939A KR 20070080939 A KR20070080939 A KR 20070080939A KR 20090016361 A KR20090016361 A KR 20090016361A
- Authority
- KR
- South Korea
- Prior art keywords
- query
- semantic
- prefetching
- description
- mobile client
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24575—Query processing with adaptation to user needs using context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
Abstract
Description
본 발명은 무선 통신에 관한 것으로서, 위치 기반 서비스에서의 서술 기반의 세만틱 프리페칭을 이용한 동적인 질의 처리 시스템에 관한 것이다.TECHNICAL FIELD The present invention relates to wireless communications, and more particularly, to a dynamic query processing system using description-based semantic prefetching in location-based services.
무선 네트워크 환경에서 위치 기반 서비스 (Location based services; 이하 LBS라고 함)는 무선 단말의 위치 정보와 사용자의 위치에 따라 변하는 위치 종속 데이터(Location dependent data; 이하 LDD라고 함)를 이용하여 사용자에게 서비스를 제공한다.In a wireless network environment, location based services (hereinafter referred to as LBS) provide services to a user by using location dependent data (LDD) that varies according to the location information of the wireless terminal and the location of the user. to provide.
무선 네트워크 환경에서 위치 기반 서비스는 응급 서비스, 여행자 가이드, 길 찾기 정보, 지역 지도 정보, 자녀의 위치 추적 서비스 등이 LDD 기반 LBS의 대표적인 예이다. 기본적으로 LBS는 사용자 프로파일 기반의 서비스를 제공한다. 사용자 프로파일에는 사용자의 식별자와 주소 같은 기본 정보뿐만 아니라, 사용자의 선호도, 이동 패턴, 질의 패턴과 같은 세만틱(semantic) 정보도 포함될 수 있다.Location-based services in the wireless network environment are examples of LDD-based LBS such as emergency services, travel guides, directions, local map information, and location tracking services of children. Basically, LBS provides user profile based service. The user profile may include basic information such as the user's identifier and address, as well as semantic information such as the user's preference, movement pattern, and query pattern.
사용자 맞춤형 LBS를 위해 사용자 위치와 관련된 많은 연구가 이동 컴퓨팅 환경에서 수행되었다. 그러나, 종래의 연구는 이동 클라이언트가 공간 질의 (Spatial Query)를 하였을 때 서버가 이동 클라이언트의 위치에 따라 질의 결과를 제공해 주는 것에 초점을 두었기 때문에, 세만틱 정보를 이용하여 사용자의 기호까지 반영한 특화된 맞춤형 서비스를 제공하기 위한 연구는 미미하였다. 종래에 사용자의 세만틱 정보는 서버에서 유지되므로, 세만틱 정보 처리는 서버 측에서만 가능하였다. 이동 클라이언트에 의해 서버에 전송된 질의는 R-tree 색인, 검색, 모니터링 기법과 같은 서버 기반 질의 처리 방법을 이용하여 처리되었다. 질의 처리 관점에서 이러한 방식은 서버로부터 이동 클라이언트가 질의한 결과를 얻기 위해 많은 네트워크 부하를 일으키게 된다. Much research has been done in mobile computing environments for custom LBS. However, the conventional research focused on providing the query result according to the location of the mobile client when the mobile client makes a spatial query. Therefore, the semantic information is used to reflect the user's preference. There is little research on providing customized services. In the past, the semantic information of the user is maintained in the server, so the semantic information processing was possible only on the server side. The queries sent to the server by the mobile client were processed using server-based query processing methods such as R-tree indexing, searching, and monitoring techniques. From a query processing standpoint, this approach introduces a lot of network load to get the mobile client's query results from the server.
LDD 환경에서 이동 클라이언트와 서버간의 데이터 전송은 제한된 통신 대역폭등으로 인해 과도한 네트워크 부하를 초래할 수 있다. 이동 클라이언트와 서버가 네트워크 부하를 줄이기 위해 부분적인 정보만을 교환한다면, 이동 클라이언트는 부정확한 정보를 유지하게 되고 결국 사용자 서비스 품질(QoS: Quality of Service)은 저하된다. In the LDD environment, data transmission between the mobile client and the server may cause excessive network load due to limited communication bandwidth. If the mobile client and server exchange only partial information in order to reduce the network load, the mobile client maintains incorrect information and eventually the quality of service (QoS) is degraded.
특히, 제한된 통신 대역폭은 서버가 이동 클라이언트에게 사용자가 관심 있어하는 LDD 정보를 원활히 전송시키지 못하게 할 수 있다. 이러한 문제점을 극복하기 위해, 프리페칭 기법, 방송 기법, 유연한 네트워크 구조 등이 효율적인 데이터 전송을 위해 연구되어왔으며, 또한 사용자가 관심 있는 정보의 효율적인 관리를 위해 다양한 캐시 교체 전략들이 연구되었다.In particular, the limited communication bandwidth may prevent the server from smoothly transmitting LDD information of interest to the mobile client. In order to overcome this problem, prefetching techniques, broadcasting techniques, flexible network structures, etc. have been studied for efficient data transmission, and various cache replacement strategies have been studied for efficient management of information of interest to users.
그러나, 상기와 같은 종래의 방법들은 사용자의 질의 패턴이나 특정 서비스 에 대한 사용자의 기호나 관심사항이 반영된 질의 처리에는 한계를 지닌다는 문제가 있다. However, the conventional methods described above have a problem in that the query processing reflecting the user's query pattern or the user's preferences or interests for a specific service has a limitation.
따라서, 본 발명이 해결하고자 하는 과제는, 사용자의 질의 패턴이나 특정 서비스에 대한 사용자의 기호나 관심사항이 반영된 질의 처리를 수행할 수 있는 위치 기반 서비스에서의 서술 기반의 세만틱 프리페칭을 이용한 동적인 질의 처리 시스템을 제공하는 것이다.Accordingly, the problem to be solved by the present invention is dynamic using description-based semantic prefetching in a location-based service that can perform query processing reflecting the user's query pattern or user's preferences or interests for a particular service. It is to provide a query processing system.
상기 과제를 해결하기 위하여 본 발명은, The present invention to solve the above problems,
동적인 질의 처리와 캐시 관리를 담당하는 이동 클라이언트 및 세만틱 프리페칭 관리와 프리페칭 세그먼트의 집합인 프리페칭 서술을 상기 이동 클라이언트에게 전달하는 기능을 포함하는 서버를 포함하는 위치 기반 서비스에서의 서술 기반의 세만틱 프리페칭을 이용한 동적인 질의 처리 시스템을 제공한다.A description base in a location-based service comprising a mobile client responsible for dynamic query processing and cache management, and a server comprising a function for delivering to the mobile client a prefetching description, which is a set of semantic prefetching management and prefetching segments. A dynamic query processing system using semantic prefetching is provided.
그리고, 상기 서버는, 상기 이동 클라이언트로부터 전송된 로그 파일을 저장하는 로그 저장소, 상기 로그 파일을 분석하는 로그 분석기, 및 상기 이동 클라이언트에게 전송되는 프리페칭 서술을 결정하는 프리페칭 관리자를 포함하는 것을 특징으로 한다.The server further includes a log repository for storing log files transmitted from the mobile client, a log analyzer for analyzing the log files, and a prefetching manager for determining a prefetching description sent to the mobile client. It is done.
아울러, 상기 프리페칭 관리자는, 상기 이동 클라이언트가 세만틱 프리페칭 영역(Semantic Prefetching Area; SPA)으로 진입할 때마다 상기 이동 클라이언트의 식별자를 검사하며, 이전에 전송받은 로그 파일 내의 위치 종속 데이터(Location Dependent Data;LDD)의 질의 정보를 기반으로 하여, 상기 질의 정보에 대해 로그 파일 내의 질의 정보 및 질의 결과와 관련된 내용을 포함하는 프리페칭 세그먼트들의 합을 상기 이동 클라이언트가 이전에 방문한 세만틱 질의 정보와 상기 세만틱 질의 정보에 따른 질의 결과를 기술하는 프리페칭 서술로 결정하는 것을 특징으로 한다.In addition, the prefetching manager checks the identifier of the mobile client whenever the mobile client enters a semantic prefetching area (SPA), and locates location-dependent data in a previously transmitted log file. Based on the query information of Dependent Data (LDD), the sum of prefetching segments including content related to the query information and the query result in the log file for the query information and the semantic query information previously visited by the mobile client. And a prefetching description describing a query result according to the semantic query information.
또한, 상기 이동 클라이언트는 세만틱 프리페칭 영역을 벗어날 경우, 상기 세만틱 프리페칭 영역에서 실행한 위치 종속 데이터의 질의 정보를 포함하는 로그 파일을 상기 서버에 전송하는 것을 특징으로 한다.In addition, when the mobile client leaves the semantic prefetching region, the mobile client transmits a log file including query information of location dependent data executed in the semantic prefetching region to the server.
한편, 상기 이동 클라이언트는, 영역 질의(Range Query; RQ)와 최 근접 질의(Nearest Neighbor Query; NNQ)를 생성하는 질의 생성기, 캐시된 정보들이 저장되고 소정의 캐시 교체 전략에 따라 서술 테이블이 갱신되는 캐시 저장소, 상기 질의 생성기에서 생성된 질의의 종류를 분석하는 질의 분석기, 및 상기 질의 분석기에 의해 분석된 질의가 상기 캐시 저장소에 저장된 캐시의 내용과 일치하는지를 확인하여 일치 질의를 결정하고, 상기 서버에 나머지 질의를 재전송하는 캐시 관리자를 포함하는 것을 특징으로 한다.The mobile client may include a query generator for generating a range query (RQ) and a nearest neighbor query (NNQ), cached information is stored, and a description table is updated according to a predetermined cache replacement strategy. A cache analyzer, a query analyzer for analyzing the types of queries generated by the query generator, and a query analyzed by the query analyzer to determine whether the query matches the contents of a cache stored in the cache store, and determines a matching query. And a cache manager for resending the rest of the query.
그리고, 상기 캐시 관리자는 상기 캐시 저장소에 저장되어 있는 세만틱 세그먼트들과 상기 서버로부터 얻은 프리페칭 세그먼트들을 서로 결합시켜 서술 테이블을 생성하고, 상기 생성된 서술 테이블을 상기 캐시 저장소에 전송할 수 있다.The cache manager may combine the semantic segments stored in the cache store and the prefetching segments obtained from the server to generate a description table, and transmit the generated description table to the cache store.
또한, 상기 캐시 저장소는 상기 이동 클라이언트가 최초로 상기 세만틱 프리페칭 영역으로 진입한 경우, 상기 이동 클라이언트가 상기 서버에 위치 종속 데이터 질의를 하여 얻은 위치 종속 데이터 질의 정보와 질의 결과들을 세만틱 세그먼 트의 형태로 저장할 수 있다.In addition, the cache storage may be configured to semantic segment information and location dependent data query information obtained by the mobile client when the mobile client first enters the semantic prefetching area by performing a location dependent data query on the server. Can be stored in the form of.
한편, 상기 서술 테이블은 상기 이동 클라이언트가 이전에 방문했던 세만틱 프리페칭 영역으로 진입하는 경우 상기 서버로부터 수신한 프리페칭 서술을 기반으로 세만틱 세그먼트들의 갱신데이터를 포함할 수 있다.Meanwhile, the description table may include update data of semantic segments based on a prefetching description received from the server when the mobile client enters a semantic prefetching region previously visited by the mobile client.
더욱이, 상기 서술 테이블은 가장 최근에 참조된 세만틱 세그먼트들만 유지하며, 상기 서술 테이블 내의 가장 오래된 접근 시간을 가지는 서술 테이블의 세만틱 세그먼트들은 프리페칭 서술로 교체되는 것을 특징으로 한다.Moreover, the description table maintains only the most recently referenced semantic segments, and the semantic segments of the description table with the oldest access time in the description table are replaced with prefetching descriptions.
그리고, 상기 서술 테이블은 참조 횟수가 가장 많은 세만틱 세그먼트들만 유지하며, 참조 횟수가 가장 적은 세만틱 세그먼트들은 프리페칭 서술로 교체되는 것을 특징으로 한다.The description table maintains only the semantic segments having the highest reference counts, and the semantic segments having the fewest reference counts are replaced with prefetching descriptions.
여기서, 상기 서술 테이블의 모든 세만틱 세그먼트들은 수학식Here, all semantic segments of the description table are
( 와 은 각각 빈도와 지역성에 대한 값, 세만틱 세그먼트 에 대하여, 은 질의 수를, ( )는 지역성에 대한 가중치)의 선호도에 따라 상기 서술 테이블에 유지되는 것을 특징으로 한다. ( Wow Are the values for frequency and locality, the semantic segment, respectively. about, Is the number of qualities, ( ) Is maintained in the description table according to the preference of the weight for locality).
또한, 상기 이동 클라이언트는 상기 캐시 저장소의 세만틱 캐시에 저장된 서술 테이블을 통해 질의 결과를 생성하고, 상기 서술 테이블을 통해 얻지 못한 결과들은 상기 서버에게 추가적으로 질의를 요구하여 질의 결과를 추가적으로 생성하는 것을 특징으로 한다.In addition, the mobile client generates a query result through a description table stored in the semantic cache of the cache store, and the results not obtained through the description table require an additional query from the server to further generate a query result. It is done.
아울러, 상기 추가적으로 생성된 질의에 따른 질의 결과는 상기 캐시 저장소의 서술 테이블에 추가되거나 또는 기존 세그먼트 정보를 갱신할 때에 사용되는 것을 특징으로 한다.In addition, the query result according to the additionally generated query is characterized in that it is used to add to the description table of the cache storage or to update the existing segment information.
그리고, 상기 질의 생성기의 영역 질의 유무는, 상기 캐시 저장소에 저장된 서술 테이블의 세만틱 세그먼트 영역들과 질의 영역의 겹침 정도에 따라 결정되는 것을 특징으로 한다.The presence or absence of an area query of the query generator may be determined according to the degree of overlap between the semantic segment areas of the description table stored in the cache store and the query area.
또한, 상기 이동 클라이언트는, 상기 질의 영역과 상기 서술 테이블의 세그먼트 영역이 완전히 겹쳐서 질의 결과가 일치되는 경우 상기 캐시 저장소에 저장된 정보로부터 질의에 대한 응답을 구하고, 질의 결과의 일부가 서술 테이블과 일치되는 경우 상기 일치되는 부분에 대응하는 질의에 대하여 상기 캐시 저장소에 저장된 정보로부터 질의에 대한 응답을 구하고 일치하지 않는 부분에 대한 질의는 상기 서버로 전송하며, 상기 질의 영역과 세만틱 세그먼트 영역이 모두 겹치지 않는 경우 상기 질의 모두를 상기 서버로 전달하여 상기 질의에 대한 응답을 얻는 것을 특징으로 한다.In addition, the mobile client obtains a response to the query from the information stored in the cache storage when the query region and the segment region of the description table completely overlap and the query result is matched, and a part of the query result matches the description table. In the case of obtaining a response to the query from the information stored in the cache storage for the query corresponding to the matched portion, the query for the non-matching portion is sent to the server, the query area and semantic segment area does not overlap both In this case, all of the queries are delivered to the server to obtain a response to the query.
그리고, 상기 서버로 전달된 질의에 대한 응답은 상기 서술 테이블에 새로운 세만틱 세그먼트로 추가되어 저장되는 것을 특징으로 한다.The response to the query transmitted to the server is added to the description table as a new semantic segment and stored.
아울러, 상기 질의 생성기의 최 근접 질의는, 상기 이동 클라이언트의 질의 지점이 상기 캐시 저장소의 서술 테이블의 세만틱 세그먼트들 내에 포함되는지의 여부에 따라 상기 서버로의 질의 유무가 결정되는 것을 특징으로 한다.In addition, the closest query of the query generator is characterized in that the query to the server is determined according to whether the query point of the mobile client is included in the semantic segments of the description table of the cache store.
한편, 상기 질의에 따른 질의 결과는 상기 질의 지점이 상기 세만틱 세그먼 트 내에 존재할 경우 질의 지점에서 가장 가까운 질의 조건을 만족하는 객체로 결정되며, 상기 질의 지점이 상기 서술 테이블의 세만틱 세그먼트 외부에 존재하면 소정의 연산을 통해 상기 질의 지점에서 가장 가까운 세만틱 세그먼트를 포함하는 최소 영역과 상기 서술 테이블의 세그먼트 영역과의 겹침 여부에 따라 상기 서버로의 질의 유무가 결정되는 것을 특징으로 한다.Meanwhile, the query result according to the query is determined to be an object that satisfies the query condition closest to the query point when the query point exists in the semantic segment, and the query point is outside the semantic segment of the description table. If present, the presence or absence of a query to the server is determined according to whether or not the minimum region including the semantic segment closest to the query point overlaps with the segment region of the description table through a predetermined operation.
그리고, 상기 질의 지점이 상기 서술 테이블의 세만틱 세그먼트 외부에 존재하면 새로 설정된 상기 최소 영역은 상기 서술 테이블에 새로운 세만틱 세그먼트로 추가되어 저장되는 것을 특징으로 한다.If the query point exists outside the semantic segment of the description table, the newly set minimum region is added as a new semantic segment and stored in the description table.
여기서, 상기 영역 질의 및 최 근접 질의는 각각 또는 혼용하여 수행되는 것을 특징으로 한다.In this case, the area query and the closest query may be performed individually or in combination.
본 발명에 의하면, 제한적인 대역폭을 사용하는 이동 컴퓨팅 환경에서 세만틱 프리페칭 기법을 이용하여 서버로부터 미리 수신하여 캐시에 저장해 놓은 세만틱 정보를 이용하여 사용자의 기호나 관심사항이 반영된 질의 처리를 수행하여, 이동 클라이언트의 캐시로부터 질의 결과를 얻을 수 있기 때문에 질의에 대한 결과를 구하는데 소요되는 지연 시간과 서버와의 통신 비용을 감소시키며, 개선된 캐시 교체 기법도 추가되어 위치 종속 데이터 환경에서 영역 질의와 최 근접 질의에 대해 높은 질의 절감률, 낮은 네트워크 트래픽 부하 및 향상된 캐시 성능과 효율적인 질의 처리를 제공하여 사용자의 편이성을 대폭 향상시킬 수 있는 효과가 있다.According to the present invention, in a mobile computing environment using limited bandwidth, query processing reflecting user's preferences or interests is performed using semantic information previously received from a server and stored in a cache using semantic prefetching. In addition, since the query result can be obtained from the cache of the mobile client, the delay time for obtaining the query result and the communication cost with the server are reduced, and an improved cache replacement technique is also added to the area query in the location-dependent data environment. The user convenience can be greatly improved by providing high query reduction rate, low network traffic load, improved cache performance, and efficient query processing for and closest queries.
이하에서 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 위치 기반 서비스에서의 서술 기반의 세만틱 프리페칭을 이용한 동적인 질의 처리 시스템 구성의 블록도를 도시한 것이다.1 is a block diagram of a dynamic query processing system configuration using description based semantic prefetching in a location based service according to the present invention.
이 시스템은, 동적인 질의 처리와 캐시 관리를 담당하는 이동 클라이언트(110) 및 세만틱 프리페칭 관리와 프리페칭 세그먼트의 집합인 프리페칭 서술을 이동 클라이언트(110)에게 전달하는 기능을 포함하는 서버(100)를 포함한다.The system includes a
도 2는 도 1의 시스템의 상세한 구성의 예를 블록으로 도시한 것이다.2 shows in block form an example of a detailed configuration of the system of FIG.
도 2를 참조하면, 프리페칭 서버(200)는 본 발명에 따른 기능이 포함된 서버이며, 지역 서버(210)는 프리페칭 서버(200)의 기능을 제외한 통상의 서버 기능을 포함하고 있다. 이하에서는 주로 프리페칭 서버(200)의 기능에 대해 상술하며, 이하에서는 서버라고 하는 것은 프리페칭 서버(220)를 의미하는 것으로 사용한다.Referring to FIG. 2, the
서버(200)는 이동 클라이언트(220)로부터 받은 로그 파일을 저장하는 로그 저장소(202), 상기 로그 파일을 분석하는 로그 분석기(204) 및 이동 클라이언트(220)에게 전달될 프리페칭 서술을 결정하는 프리페칭 관리자(206)를 포함한다.The
그리고 이동 클라이언트(220)는, 영역 질의 (Range Query; RQ)와 최 근접 질의 (Nearest Neighbor Query; NNQ)를 생성하는 질의 생성기(222), 캐시된 정보들이 저장되고 소정의 캐시 교체 전략에 따라 서술 테이블이 갱신되는 캐시 저장소(224), 상기 질의 종류를 분석하는 질의 분석기(226) 및 질의 분석기(226)에 의해 분석된 질의가 캐시 저장소(224)에 저장된 캐시의 내용과 일치하는지를 확인하 여 일치 질의를 결정하고, 서버(200)에 상기 캐시 저장소(224)에 저장된 캐시의 내용과 일치하지 않는 나머지 질의를 재전송하는 캐시 관리자(228)를 포함한다.And the
이동 클라이언트(220)가 고속 데이터 전송을 지원하는 세만틱 프리페칭 영역(Semantic Prefetching Area; 이하 SPA라고 함)에 진입했을 때, 서버로부터 미리 위치 종속 데이터(Location Dependent Data:LDD)에 대한 세만틱 정보를 얻도록 함으로써 이동 클라이언트(220)의 서버에 대한 빈번한 질의 요구를 줄이고 통신 부하를 감소시키는 본 발명에 따른 세만틱 프리페칭 (Semantic Prefetching; 이하 SP라고 함) 방법을 적용한다. 그리고 서버와의 통신 부하를 효율적으로 줄이기 위해서 기존 캐시 교체 전략들을 개선한 본 발명에 따른 캐시 교체 방법을 적용한다. When the
본 발명에 따른 세만틱 프리페칭 방법은 클라이언트-서버 모델을 기반으로 하며, SPA에서 이동 클라이언트(220)와 서버(200)는 다음과 같이 동작한다. The semantic prefetching method according to the present invention is based on a client-server model, in which the
처음으로 동작을 시작한 이동 클라이언트(220)가 특정 SPA로 최초 진입하였을 때, 이동 클라이언트(220)의 캐시에는 데이터가 저장되어 있지 않다. SPA에 상주하는 동안 이동 클라이언트(220)는 서버에 필요할 때마다 LDD 질의를 수행하게 되고, 서버로부터 얻은 각 LDD 질의 정보와 질의 결과들은 세만틱 세그먼트(Semantic Segment)라고 불리는 형태로 세만틱 캐시에 저장된다. When the
현재 상주하는 SPA에서 다른 SPA로 이동할 때, 이동 클라이언트(220)는 상주하고 있는 SPA에서 수행한 모든 LDD 질의 정보를 담고 있는 로그 파일(Log file)을 서버(200)에게 기지국 채널(Base Station Channel:BSC)을 이용하여 전송한다. 이후 이동 클라이언트(220)는 새로운 SPA로 이동할 때마다 상기의 과정을 반복한다. When moving from the currently resident SPA to another SPA, the
이동 클라이언트(220)가 예전에 방문했던 SPA를 재 방문하면, 서버는 이전에 전송 받았던 로그 파일내의 LDD 질의 정보를 분석하여, 각 질의 정보에 대해 프리페칭 세그먼트(Prefetching segment)라고 불리는 형태의 데이터를 생성한다. 각 프리페칭 세그먼트는 로그 파일내의 질의 정보 및 질의 결과와 관련된 내용을 담고 있다. 서버에 의해 생성된 프리페칭 세그먼트 집합은, 예를 들면 고속의 다운링크 채널인 세만틱 프리페칭 채널(Semantic Prefetching Channel:SPC)과 같은 수단을 통해 이동 클라이언트(220)에게 전송된다.When the
이동 클라이언트(220)는 자신의 세만틱 캐시 저장소(224)에 저장되어 있는 세만틱 세그먼트들과 서버(200)로부터 얻은 프리페칭 세그먼트들을 서로 결합시켜 서술 테이블을 생성한 후 세만틱 캐시 저장소(224)에 저장한다. 현재 상황에 적합한 서술 테이블을 생성하고, 생성된 서술 테이블을 저장하기 위해 필요에 따라 캐시 교체 전략이 사용된다. 이후 이동 클라이언트(220)의 질의 결과는 먼저 세만틱 캐시 저장소(224)에 저장된 서술 테이블을 통해 얻게 되며, 서술 테이블을 통해 얻지 못한 결과들은 서버(200)에게 추가적으로 질의하여 얻게 된다. The
서버(200)를 통해 추가적으로 얻은 질의 결과들은 캐시 저장소(224)의 서술 테이블에 반영되어 서술 테이블에 추가되거나 기존 세그먼트 정보를 갱신하게 된다. Query results additionally obtained through the
종래의 세만틱 캐싱(Semantic Caching:SC) 기법에서는 이동 클라이언트(220)의 LDD 질의와 질의 결과들을 세만틱 캐시에 저장하였다. 이런 기법에서는 이동 클라이언트(220)가 이전에 방문한 SPA들에서 생성한 정보를 세만틱 캐시에 유지하기 때문에, 캐시 용량이 충분히 크지 않은 경우에는 빈번한 캐시 교체로 인해 새로이 재 진입한 SPA에서 필요한 내용과는 맞지 않는 LDD 관련 정보를 가지고 있을 확률이 높다. 이 경우 빈번한 캐시 실패로 이동 클라이언트(220)와 서버는 상호간에 빈번한 질의 요청과 질의 응답을 하게 되어 네트워크 부하를 가중시킨다. 또한, 질의 결과를 얻을 때까지 발생하는 지연 시간으로 즉각적인 서비스가 이루어지지 않아 QoS를 저하시키게 되는 문제가 있다.In the conventional semantic caching (SC) technique, the LDD query and query results of the
도 2에서 프리페칭 세그먼트들의 효율적인 전송을 위해, 예를 들면 세만틱 프리페칭 채널(Semantic Prefetching Channel:SPC)이라는 고속의 전용채널이 사용된다고 가정한다. 기지국 채널(Base Station Channel:BSC)은 로그 정보 전송과 나머지 질의에 대한 요구와 응답을 위해 사용된다. 또한, 이동 클라이언트(220)는 적어도 한번 이상 각 SPA를 방문하여 프리페칭 서버에는 이동 클라이언트(220)의 로그 파일이 존재한다고 가정한다. 그리고, 무선 통신 상에서 발생할 수 있는 메시지 손실은 고려하지 않으며, 서버(200)는 이동 클라이언트(220)의 정보를 유지할 수 있는 충분한 용량과 처리 능력을 보유하고 있다고 가정한다.In FIG. 2, for efficient transmission of prefetching segments, it is assumed that a fast dedicated channel, for example, a semantic prefetching channel (SPC), is used. Base Station Channel (BSC) is used for sending log information and requesting and responding to the rest of the query. In addition, the
한편, LDD 질의 처리를 위해서는 이동 클라이언트(220)와 LDD 데이터의 위치를 표현하는 방법이 필요하다. 본 발명에서는 정수 값을 가지는 2차원 공간 좌표를 이용하여 다음과 같이 위치를 표현한다. Meanwhile, for LDD query processing, a method of expressing the location of the
공간 좌표를 구성하는 X 와 Y에 의해 형성된 그리드 영역 G = X × Y 에서, LDD 데이터 집합 는 그리드 영역 G 에 존재한다. 의 각 구성요소와 사용자 의 위치는 좌표 로 표현되며, 이고 이다. LDD data set in grid region G = X × Y formed by X and Y constituting spatial coordinates Is in grid area G. Each component of the and the user's location are coordinates Represented by ego to be.
이동 클라이언트(220)는 SPA 영역을 벗어날 때, SPA에서 수행한 세만틱 질의 정보를 담고 있는 로그 파일 를 서버(200)에 전송한다. 이동 클라이언트(220)가 SPA로 재 진입하면, 서버의 프리페칭 관리자(206)는 를 분석하고 이동 클라이언트(220)에게 전달할 내용들을 결정한다. 이때, 각 내용들은 프리페칭 세그먼트 의 형태로 표현되며 프리페칭 세그먼트의 집합인 프리페칭 서술 가 이동 클라이언트(220)에게 전송된다.When the
로부터 생성된 프리페칭 서술 는 이전 방문했을 때의 세만틱 질의 정보와 질의 결과를 담고 있다. 프리페칭 세그먼트 의 과 는 내용의 관계와 속성, 는 의 튜플들이 만족하는 SELECT 조건을 표현한다. 은 이동 클라이언트(220)의 위치를, 는 의 실제 내용을 표현한다. Prefetching descriptions generated from Contains semantic query information and query results from previous visits. Prefetching Segments of and Is the relationship and property of the content, Is Represents a SELECT condition that satisfies tuples of. Is the location of the
로 표현되는 의 각 튜플은 하기의 수학식 1과 같이 정의된다. Represented by Each tuple of is defined as in
이며 각 는 로 비교 수식 의 논리곱으로 표현된다. 비교 수식 는 서버의 로그 파일 와 로그 파일의 속성 집합 에서, 의 형태로 표현되는 수식이다. 여기서, , , 그리고 는 지정 영역에 대한 상수 값이다. And each Is Comparison formula with Is the logical product of. Comparison formula Log files on the server Of properties in the database and log files in, A formula expressed in the form of. here, , , And Is a constant value for the specified area.
은 로 이동 클라이언트(220)의 위치를 표현하며, 는 로 표현된다. 여기서 는 SELECT 연산자이고, 는 PROJECT 연산자를 의미한다. 프리페칭 세그먼트들은 비교 수식들을 포함하는 선택조건을 가진 SELECT-PROJECT 연산의 결과들임을 알 수 있다. silver To represent the location of the
서버에서 생성된 프리페칭 서술 는 내용과 색인으로 구성되며, 프리페칭 서술내의 모든 프리페칭 세그먼트 는 하나 또는 여러 개의 연결 페이지에 저장된다. Prefetching description generated by the server Consists of the content and index, and all prefetching segments within the prefetching description Is stored in one or several connection pages.
예를 들어, 음식점과 와인 바에 대한 restaurant (Rtype, Rname) 과 wine bar (Wname, Wrank)이라는 두 가지 관계를 가지는 위치 종속 데이터베이스가 존재하고 사용자가 특정 SPA를 이전에 방문했을 때 하기과 같은 질의를 수행했다고 가정한다. For example, if there is a location-dependent database with two relations: restaurant (Rtype, Rname) and wine bar (Wname, Wrank) for restaurants and wine bars, and a user previously visited a particular SPA, run the following query: Suppose you did.
첫 번째로, 점심 시간에 위치 (32,40) 에서 이동 클라이언트(220)는 “3킬로미터 내에 있는 한정식 음식점의 이름을 모두 알려주세요.”라는 질의 을 수행 하고,First, at lunch time (32,40), the
두 번째로, 저녁 시간에 위치 (35,38) 에서 이동 클라이언트(220)는 “5킬로미터 내에서 가격이 50000원 이하인 와인을 판매하는 상점에 대한 정보와 상점 이름들을 알려주세요.”라는 질의 를 수행한다.Second, in the evening the
SPA를 재 방문하면, 이동 클라이언트(220)는 서버로부터 표 1과 같은 프리페칭 서술 색인과 질의 , 의 결과를 수신한다. 하기의 표 1에서 의 값 7, 11은 질의 , 의 결과를 저장하고 있는 첫 번째 페이지를 나타낸다.Upon revisiting the SPA, the
여기서 타입(Type)을 지정하는데, 타입 1은 유럽식, 타입 2는 한정식, 타입 3은 일식, 타입 4는 중식, 타입 5는 멕시코식이라고 정하기로 한다. Here, the type (Type) is designated, where
그리고, 프리페칭 세그먼트가 표현된 형식과 유사하게 질의 와 세만틱 세그먼트 로 표현될 수 있다. 질의 는 와 같이 표현하며 질의는 결과를 얻기 전이므로, 이다. 세만틱 세그먼트 는 와 같이 표현한다. 세만틱 세그먼트의 집합인 세만틱 서술 에는 이동 클라이언트(220)가 거쳐간 SPA 영역에서 질의했던 질의 관련 세만틱 정보와 질의 결과가 저장되며, 세만틱 서술 도 프리페칭 서술과 유사하게 내용과 색인으로 구성된다. 프리페칭 세그먼트와 세만틱 세그먼트는 동일한 유형을 가지는 형태이지만, 서버와 이동 클라이언트(220)의 세만틱 정보에 대한 구별을 위해, 본 발명에서는 서버 측 세만틱 정보는 프리페칭 세그먼트라고 부르고, 이동 클라이언트(220) 측의 세만틱 정보는 세만틱 세그먼트라고 부른다.The query is similar to the format in which the prefetching segment is expressed. And semantic segments It can be expressed as. vaginal Is Since the query is before getting the result, to be. Semantic segment Is It is expressed as Semantic description, which is a set of semantic segments The semantic information related to the query queried in the SPA area passed by the
서버로부터 수신한 와 의 효율적인 관리를 위해 모든 프리페칭 세그먼트와 세만틱 세그먼트들의 합으로 구성되는 서술 테이블 을 세만틱 캐시 저장소(224)에 저장한다. 서술 테이블 가 생성되기 이전의 내의 와 가 서로 동일한 형태를 가지면서 에 포함되기 때문에, 본 발명에서는 이후 용어상의 혼돈이 없는 한 의 원소를 세만틱 세그먼트라고 칭하기로 한다.Received from server Wow Description table consisting of the sum of all prefetching and semantic segments for efficient management Is stored in the
일반적으로, 이동 클라이언트(220)의 이동성이나 질의 유형과 같은 특성에 따라, 특정 LDD 질의의 결과 데이터들은 다른 LDD 질의의 결과들보다 빈번하게 사용될 수 있다. 이런 결과들을 일정 기간 동안 이동 클라이언트(220)의 세만틱 캐시(혹은 캐시 저장소)에 유지하는 것은 캐시의 효율성을 높이는데 도움이 된다.In general, depending on characteristics such as mobility or query type of
또한, 질의 에 대해 이동 클라이언트(220)가 로부터 그 결과를 얻을 수 있다면, 서버(200)와의 통신 비용 없이 빠른 응답을 사용자에게 제공할 수 있으므로, 효율적인 의 구성은 매우 중요하다.Also, the query For the
그러므로, 본 발명에서는 의 각 세만틱 세그먼트에 서술 매개변수의 집합, 을 추가한다. 여기서, 은 각각 접근 시간, 빈도, 지역성을 각각 나타낸다.Therefore, in the present invention A set of descriptive parameters on each semantic segment of, Add here, Denotes access time, frequency and locality respectively.
내의 세만틱 세그먼트 와 질의 가 이며, 의 관계라면, 과 는 관계와 속성이 일치하고, 의 질의 영역과 의 세만틱 영역도 완전히 일치하여 전체적으로 겹침을 의미한다. 이러한 관계를 동등한(equivalent)한 관계라고 부른다. Semantic segments within And vaginal end Is, If the relationship is and Matches relationships and attributes, And the query area of The semantic regions of are also fully coincident, which means that they overlap entirely. This relationship is called an equivalent relationship.
의 질의 결과는 질의 정돈(Query trimming) 처리에 의해 일치 질의(prove query)와 나머지 질의(remainder query)라고 불리는 두 가지 종류로 나뉘어진다. 일치 질의는 에 의해서 만족되는 의 질의 결과 부분을 나타내며, 나머지 질의는 에서 찾을 수 없는 질의 결과 부분을 나타낸다. The query results of are divided into two types called query query and residual query by query trimming processing. The match query is Satisfied by Represents the query result portion of the. Shows the part of the query result not found in.
와 가 Equivalent한 관계일 때에는 는 에서 찾을 수 없는 질의 결과 부분을 나타낸다. 와 가 Equivalent한 관계일 때에는 는 로부터 질의 결과를 모두 얻을 수 있기 때문에 질의 결과는 일치 질의이다. Wow Is an equal relationship Is Shows the part of the query result not found in. Wow Is an equal relationship Is The query result is a match query because we can get all the query results from.
가 로부터 일부의 질의 결과를 얻는 경우에는 연관되는(Related) 관계가 있다고 하며, 의 질의 결과는 일치 질의와 나머지 질의로 나누어진다. 와 가 Related 관계일 경우에는 나머지 질의 처리를 위해 추가적인 통신 비용이 발생한다. end If you get some query results from, it is said that there is an Related relationship. The query result of is divided into the matching query and the rest of the query. Wow Is related, additional communication costs are incurred for the rest of the query processing.
이하에서는 세만틱 프레페칭 기법이 적용된 환경에서, 본 발명에 따른 이동 클라이언트(220)의 영역 질의(range query)와 최 근접 질의(nearest neighbor query)가 처리되는 세부적인 질의 처리 과정과 캐시 교체 전략을 상술하기로 한다.Hereinafter, a detailed query processing and cache replacement strategy in which a range query and a neighbor neighbor query of the
영역 질의(range query)에 대한 세부적인 질의 처리과정은 다음과 같다. 도 3은 영역 질의의 예를 나타낸다.The detailed query processing for range query is as follows. 3 shows an example of an area query.
도 3을 참조하면, 각 사각형 영역은 서술 테이블 의 세만틱 세그먼트 영역들과 질의 영역의 겹침 정도에 의존적이다. 겹침 정도에 따라, 질의 의 처리는 세 가지 경우로 나누어질 수 있다.Referring to Figure 3, each rectangular area is a description table It depends on the degree of overlap between the semantic segment areas of and the query area. Depending on the degree of overlap, The treatment of can be divided into three cases.
첫 번째는, 질의 결과 모두를 이동 클라이언트의 로부터 얻을 수 있는 경우이다. 즉, 질의 영역과 세만틱 세그먼트 영역이 완전히 겹치고 질의 결과가 일치 질의인 경우이다. The first is to move all of the query results to the client's This can be obtained from In other words, the query region and the semantic segment region completely overlap and the query result is a matched query.
두 번째는, 질의 결과의 일부만을 로부터 얻을 수 있는 경우이다. 즉, 도 3과 같이 질의 의 질의 영역이 세만틱 세그먼트 그리고, 의 영역들과 부분적으로 겹치는 경우이다. 본 발명에서는 편의상 와 겹치는 질의 영역에 대해서만 상술하기로 한다. 이 경우에 질의 의 질의 영역은 로부터 질의 결과를 얻을 수 있는 일치 질의 영역과 서버에게 나머지 질의를 하여 추가적인 결과를 얻을 수 있는 나머지 질의 영역으로 나누어진다. 완전한 질의 결과는 이 두 영역으로부터 얻을 수 있다. Second, only part of the query results This can be obtained from That is, the query as shown in FIG. The query area of the semantic segment And, This is the case where it partially overlaps with the areas of. In the present invention for convenience Only the query region overlapping with will be described. Query in this case The query area of It is divided into the matching query area which can get the query result from and the remaining query area which can get additional result by querying the server with the rest of the query. The complete query results can be obtained from these two areas.
세 번째는, 질의 결과를 로부터 전혀 얻을 수 없는 경우이다. 즉, 질의 영역과 세만틱 세그먼트 영역이 전혀 겹치지 않는 경우이다. 이 경우에는 질의 가 서버에 전달되어야만 질의 결과들을 얻을 수 있다.Third, the query results This is not the case at all. In other words, the query area and the semantic segment area do not overlap at all. In this case the query Must be passed to the server to get query results.
도 3에서, 이동 클라이언트는 객체 의 정보를 세만틱 캐시로부터 얻을 수 있지만, 객체 d의 정보는 나머지 질의를 수행하여야만 얻을 수 있다. 질의 에 대한 영역 질의 결과는 객체 의 세만틱 정보가 되며, 질의 결과는 새로운 세만틱 세그먼트 로 서술 테이블 에 추가된다. 이러한 방법을 사용하여 유사 질의 발생시 이동 클라이언트의 세만틱 캐시 유용성을 높일 수 있다.In Figure 3, the mobile client is an object You can get the information from the semantic cache, but the information from the object d can only be obtained by executing the rest of the query. vaginal The result of a zone query on an object Will be the semantic information of, and the query results will be the new semantic segment Description table Is added to Using this approach, we can increase the usefulness of the semantic cache of mobile clients when similar queries occur.
앞에서 설명한 것처럼 내의 각 세만틱 세그먼트들은 서술 매개변수 집합 를 포함한다. 세만틱 세그먼트 영역과 질의 영역의 겹침의 정도에 따라서, 의 각 매개변수는 다음과 같이 갱신된다.As mentioned earlier Each semantic segment in the set of descriptive parameters It includes. Depending on the degree of overlap between the semantic segment area and the query area, Each parameter of is updated as follows:
만일, 질의 가 내의 세만틱 세그먼트와 겹칠 때, 겹친 세만틱 세그먼트에 대한 접근 시간은 질의한 시간으로 교체된다. 그리고, 겹친 세만틱 세그먼트의 빈도 값은 1씩 증가한다. 마지막으로, 나머지 질의 영역 크기에 대한 일치 질의 영역 크기의 비율을 나타내는 지역성은 하기의 수학식 2와 같이 갱신된다.If, query end When overlapping semantic segments within, the access time for the overlapping semantic segments is replaced by the query time. And, the frequency value of the overlapping semantic segments increases by one. Finally, the locality representing the ratio of the matching query region size to the remaining query region size is updated as in Equation 2 below.
여기서 는 지금까지 유지된 지역성의 값, 은 질의 영역과 세만틱 세그먼트 영역 간에 겹친 일치 질의 영역의 크기, 은 질의 영역과 세만틱 세그먼트 영역 간에 겹치지 않은 나머지 질의 영역의 크기를 의미한다.here Is the value of locality maintained so far, Is the size of the overlapping query region between the query region and the semantic segment region, Means the size of the remaining query region that does not overlap between the query region and the semantic segment region.
이하에서는 최 근접 질의(NNQ)에 대한 세부적인 질의 처리 절차를 상술하기로 한다. 최 근접 질의는 영역 질의와 함께 공간 데이터 처리를 위해 주로 사용된다.Hereinafter, a detailed query processing procedure for the closest query (NNQ) will be described in detail. Proximity queries are mainly used for spatial data processing along with region queries.
도 4는 최 근접 질의 처리의 일 예를 도시한 것이다.4 shows an example of the closest query processing.
도 4를 참조하면, 사각형 영역은 의 세만틱 세그먼트들의 영역을 나타내며, a부터 h까지 점 정보로 표현된 LDD 객체들을 포함한다. 영역 질의와 달리, 최 근접 질의 의 영역은 작은 점으로 표현되며 질의를 수행한 위치를 의미한다. 에서 시작된 두 점선은 질의와 세만틱 세그먼트 영역 간의 최소 거리를 나타낸다.Referring to Figure 4, the rectangular area is Represents an area of semantic segments of and includes LDD objects represented by point information from a to h. Unlike range queries, the nearest query The area of is represented by a small dot and means the location where the query is executed. The two dotted lines, starting at, represent the minimum distance between the query and semantic segment regions.
최 근접 질의의 결과는 이동 클라이언트의 질의 지점이 세만틱 세그먼트들 내에 포함되는지의 여부에 따라 달라진다. 만일 질의 지점이 세만틱 세그먼트 내에 존재하면, 질의 결과는 질의 지점에서 가장 가까운 질의 조건을 만족하는 객체로 결정된다. 도 4에 도시된 것과 같이 질의 지점이 세만틱 세그먼트 외부에 존재하 면, MINDIST 연산을 사용하여 먼저 질의 점에서 가장 가까운 세만틱 세그먼트인 가 선택된다.The result of the nearest query depends on whether the query point of the mobile client is included in the semantic segments. If the query point exists in the semantic segment, the query result is determined to be the object that satisfies the query condition closest to the query point. If the query point exists outside the semantic segment, as shown in FIG. 4, the first semantic segment from the query point is first identified using the MINDIST operation. Is selected.
가장 가까운 세만틱 세그먼트가 선택된 후에, 이동 클라이언트는 질의 지점과 선택된 세만틱 세그먼트의 영역을 포함하는 최소 사각형 영역을 새로운 세만틱 세그먼트 로 생성한다. 이 때, 의 확장 부분(410)은 영역 질의 처리의 나머지 질의처럼 서버에 요청하여 얻어진다. 이동 클라이언트는 에서 네 개의 객체 를 얻게 되며, 최종적으로 로부터 질의 지점에서 가장 가까운 객체인 를 얻게 된다. 이 는 영역 질의에서처럼 서술 테이블 에 추가된다.After the closest semantic segment is selected, the mobile client selects a new semantic segment with a minimum rectangular area that contains the query point and the area of the selected semantic segment. To create. At this time, The expanded
최 근접 질의도 영역 질의처럼 각 세만틱 세그먼트들은 서술 매개변수 집합 를 가진다. 접근 시간과 빈도에 대한 갱신 방법은 영역 질의에서와 동일하다. 그러나, 최 근접 질의에서 지역성에 대한 갱신 방법은 영역 질의와는 다르다. 최 근접 질의에서 은 질의 지점에서 MINDIST 연산에 의해 선택된 가장 가까운 세만틱 세그먼트 영역, 은 새로운 세만틱 세그먼트 에서 을 제외한 영역을 각각 표현한다.Like the closest query and domain queries, each semantic segment is a set of descriptive parameters. Has The update method for access time and frequency is the same as in the domain query. However, the update method for locality in the nearest query is different from the range query. In closest query Is the nearest semantic segment area selected by the MINDIST operation at the query point, Is the new semantic segment in Express each area except for
이전에 방문했던 SPA로 진입할 때마다 이동 클라이언트는 서버로부터 전송 받은 프리페칭 서술 를 이용하여 서술 테이블 를 갱신하기 때문에 이동 클라이언트의 현재 상황에 적합한 서술 테이블의 구성을 위해서는 효율적인 캐시 교체 전 략이 필요하다. 본 발명에서는 세 가지의 캐시 교체 전략을 사용한다. 이와 같은 캐시 교체는 캐시 관리자에 의해 실행될 수 있다.Each time a user enters a previously visited SPA, the mobile client describes the prefetching sent from the server. Descriptive table using In order to construct the description table suitable for the current situation of the mobile client, an efficient cache replacement strategy is required. In the present invention, three cache replacement strategies are used. Such cache replacement may be performed by the cache manager.
첫 번째의 캐시 교체 전략은 가장 최근에 참조된 세만틱 정보(Semantic least recently used:S-LRU)로서, 기존 LRU 전략의 변형으로, 서술 테이블 에는 가장 최근에 참조된 세만틱 세그먼트들만 유지한다. 내에서 가장 오래된 접근 시간을 가지는 의 세만틱 세그먼트들이 로 교체된다.The first cache replacement strategy is Semantic least recently used (S-LRU), which is a variant of the existing LRU strategy, describing the table. Keeps only the most recently referenced semantic segments. Having the oldest access time within Semantic segments of Is replaced by.
한편, 두 번째의 캐시 교체 전략은 가장 빈번하게 사용된 세만틱 정보(Semantic least frequently used:S-LFU)로서, 이는 기존 LFU 전략의 변형으로 에는 빈번히 참조된 세만틱 세그먼트들만 유지한다. 에서 가장 참조되지 않은 세만틱 세그먼트들이 로 교체된다. 그러나, 세만틱 세그먼트들이 보다 높은 빈도를 가지면 교체하지 않을 수 있다.On the other hand, the second cache replacement strategy is Semantic least frequently used (S-LFU), which is a variation of the existing LFU strategy. Keeps only frequently referenced semantic segments. The most unreferenced semantic segments in Is replaced by. However, semantic segments If you have a higher frequency, you can not replace.
S-LRU와 S-LFU 전략들은 캐시 교체 처리시 SPA의 지역성을 고려하지 못한다. 그러므로, 본 발명에서는 SPA에서 세만틱 세그먼트의 빈도와 지역성을 동시에 고려할 수 있는 선호도 우선 교체 전략(Preference Priority Replacement:PPR)을 제안한다.S-LRU and S-LFU strategies do not consider SPA's locality in cache replacement processing. Therefore, the present invention proposes a Preference Priority Replacement (PPR) scheme that can simultaneously consider the frequency and locality of the semantic segment in the SPA.
세번째는 상술한 선호도 우선 교체 전략(Preference Priority Replacement:PPR)으로서, 이는 SPA에서 공간 지역성과 빈도수를 고려한 캐시 교체 전략으로 의 모든 세만틱 세그먼트들은 하기의 수학식 3과 같은 선호도를 유지한다.The third is the Preference (PPR) strategy described above, which is a cache replacement strategy considering spatial locality and frequency in SPA. All semantic segments of maintain the same preference as in Equation 3 below.
상기 수학식 3에서 와 은 빈도와 지역성에 대한 값을 각각 나타낸다. 세만틱 세그먼트 에 대하여, 은 질의 수를, 는 지역성에 대한 가중치를 표현한다.In Equation 3 Wow Indicates values for frequency and locality, respectively. Semantic segment about, Is the number of qualities, Represents the weight for locality.
빈도 와 지역성 만으로도 클라이언트의 시간적 공간적 특성을 각각 고려할 수 있기 때문에, 접근 시간 는 PPR에서는 사용되지 않는다.frequency And locality The access time can be considered by considering each client's temporal and spatial characteristics. Is not used in PPR.
본 발명에 따른 세만틱 프리페칭 기법의 알고리즘은 크게 서버와 이동 클라이언트에서 동작하는 알고리즘으로 나눌 수 있다. 이동 클라이언트의 알고리즘은 질의의 종류에 따라서 영역 질의 처리와 최 근접 질의 처리 알고리즘으로 나누어진다.The algorithm of the semantic prefetching method according to the present invention can be broadly divided into algorithms that operate on a server and a mobile client. The algorithm of the mobile client is divided into the range query processing and the nearest query processing algorithm according to the type of query.
도 5는 이동 클라이언트에게 보낼 프리페칭 서술 를 결정할 수 있는 서버(200) 알고리즘을 보여준다. 이동 클라이언트가 SPA로 진입할 때마다 서버는 먼저 이동 클라이언트의 식별자를 검사한 후 로그 파일 를 이용하여 프리페칭 세그먼트들의 합 를 로 결정한다. 이동 클라이언트가 SPA를 벗어날 때 서버로 보낸 로그 메시지 을 이용하여 서버는 로그 파일 를 갱신한다.5 is a prefetching description to send to a mobile client. Shows the
도 6은 이동 클라이언트의 세만틱 영역의 질의 처리 알고리즘을 도시한 것이다.6 illustrates a query processing algorithm of the semantic region of a mobile client.
도 6을 참조하면, 영역 질의 는 서술 테이블의 세만틱 세그먼트들과 비교되어 세 가지 경우에 따라 서로 다른 처리를 진행한다. 질의 영역과 세만틱 세그먼트 영역의 겹침 정도에 따라 영역 질의 의 결과는 일치 질의 와 나머지 질의인 로 나누어 진다. 영역은 에 저장되며, 서버로 요청된 의 결과도 계속해서 에 저장된다. 이것은 의 결과로 서술 테이블에 로 저장되며 내에서 질의 결과인 를 얻을 수 있다.Referring to FIG. 6, an area query Is compared with semantic segments in the description table and proceeds in three different cases. Region query based on the overlap between the query region and the semantic segment region The result of the match query And the rest of the query Divided into Area Stored in and requested to the server The result of the Are stored in. this is In the narrative table as a result of Stored as Is the result of a query Can be obtained.
도 7은 세만틱 최 근접 질의를 처리하기 위한 이동 클라이언트에서 사용되는 알고리즘을 나타낸다. 최 근접 질의 가 요청되면 이동 클라이언트는 먼저 의 세만틱 세그먼트들 영역에 질의 지점이 포함되는지를 확인한다. 특정 세만틱 세그먼트에 포함된다면 세만틱 세그먼트 영역내의 객체 중 질의 조건을 만족하는 최단 거리의 최 근접 객체를 찾는다. 그렇지 않다면, 질의 지점과 의 세만틱 세그먼트 중 가장 가까운 세만틱 세그먼트들을 찾아 우선순위 큐에 저장한다. 우선순위 큐의 원소를 하나씩 꺼내어 질의 지점을 포함하는 확장된 영역의 세만틱 세그먼트를 생성한 후, 생성된 세만틱 세그먼트 영역 내의 객체 중에서 질의 조건을 만족하는 최단 거리의 최 근접 객체를 갖는다.7 illustrates an algorithm used in a mobile client to process semantic closest queries. Nearest vagina When a client is requested Verify that the query point is included in the semantic segments area of. If it is included in a specific semantic segment, the nearest object that meets the query condition among the objects in the semantic segment area is searched. If not, the query point and Finds the closest semantic segments of the semantic segments of and stores them in the priority queue. After extracting the elements of the priority queue one by one to generate a semantic segment of the extended area including the query point, it has the closest object of the shortest distance satisfying the query condition among the objects in the generated semantic segment area.
상기 상술한 본 발명에 따른 세만틱 프리페칭(Semantic Prefetching:SP) 방 법은 이동 클라이언트가 SPA에 진입하고 나갈 때 종래의 세만틱 캐싱 방식에 비해 추가적인 네트워크 트래픽을 발생시킨다. 그러나, SPA로 진입할 때 서버로부터 미리 사용자의 기호나 관심 사항이 반영된 LDD 정보를 제공받기 때문에, 캐시 실패를 감소시킬 수 있어 네트워크 부하를 감소시키고 캐시 정보를 이용한 즉각적인 서비스도 제공해 주어 향상된 QoS를 제공할 수 있다.The Semantic Prefetching (SP) method according to the present invention described above generates additional network traffic when the mobile client enters and leaves the SPA, compared to the conventional semantic caching scheme. However, when entering the SPA, the server receives LDD information reflecting the user's preferences or interests in advance. Therefore, cache failure can be reduced, reducing network load and providing immediate service using the cache information. can do.
본 발명에 따른 시스템을 사용할 때의 캐시 적중률의 변형인 질의 절감율(Query Saving Ratio:QSR)과 네트워크 부하를 시뮬레이션을 통하여 검증한 결과 종래의 경우에 비하여 더 향상된 성능을 확인할 수 있다.Simulation results of the query saving ratio (QSR) and the network load, which is a variation of the cache hit ratio when using the system according to the present invention, can confirm the improved performance compared to the conventional case.
또한 상기 상술한 영역 질의 및 최 근접 질의는 각각 별도로 실시할 수도 있고 또는 혼용하여 실시 가능하며, 사용자의 이동성과 질의 유형을 고려하여 영역 질의와 최 근접 질의 처리 방법을 혼용하여 사용하는 경우 시뮬레이션의 결과 특정 질의 처리 방법 하나만을 사용하는 것보다 더 효율적인 것을 알 수 있다.In addition, the above-mentioned range query and the closest query may be separately executed or may be mixed, and the results of the simulation when the range query and the closest query processing method are used in consideration of the user's mobility and query type. You can see that it is more efficient than using only one specific query processing method.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명에 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로, 본 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 상기의 설명에 포함된 예들은 본 발명에 대한 이해를 위해 도입된 것이며, 이 예들은 본 발명의 사상과 범위를 한정하지 아니한다. 상기의 예들 외에도 본 발명에 따른 다양한 실시 태양이 가능하다는 것은, 본 발명이 속한 기술 분야에서 통상의 지식을 가진 자에게는 자명할 것이다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.Those skilled in the art will appreciate that the present invention may be embodied in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. Examples included in the above description are introduced for the understanding of the present invention, and these examples do not limit the spirit and scope of the present invention. It will be apparent to those skilled in the art that various embodiments in accordance with the present invention in addition to the above examples are possible. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
또한 본 발명에 따른 상기의 각 단계는 일반적인 프로그래밍 방법을 이용하여 소프트웨어적으로 또는 하드웨어적으로 다양하게 구현할 수 있다는 것은 이 기술분야에 통상의 기술을 가진 자라면 용이하게 할 수 있는 것이다.In addition, it can be easily achieved by those skilled in the art that each of the above steps according to the present invention can be variously implemented in software or hardware using a general programming method.
그리고, 본 발명의 일부 단계들은, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 모두 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, CD-RW, 자기 테이프, 플로피디스크, HDD, 광 디스크, 광자기 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.In addition, some steps of the present invention may be embodied as computer readable codes on a computer readable recording medium. Computer-readable recording media include all types of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, CD-RW, magnetic tape, floppy disks, HDDs, optical disks, magneto-optical storage devices, and carrier wave (eg, Internet It also includes the implementation in the form of (transmission through). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
도 1은 본 발명에 따른 위치 기반 서비스에서의 서술 기반의 세만틱 프리페칭을 이용한 동적인 질의 처리 시스템의 구성을 블록으로 도시한 것이다.1 is a block diagram illustrating a configuration of a dynamic query processing system using description-based semantic prefetching in a location-based service according to the present invention.
도 2는 도 1의 위치 기반 서비스에서의 서술 기반의 세만틱 프리페칭을 이용한 동적인 질의 처리 시스템의 상세 블록도를 도시한 것이다.FIG. 2 illustrates a detailed block diagram of a dynamic query processing system using description based semantic prefetching in the location based service of FIG. 1.
도 3은 영역 질의의 일 예를 나타낸다.3 shows an example of an area query.
도 4는 최 근접 질의 처리의 일 예를 보여준다.4 shows an example of the nearest query processing.
도 5는 이동 클라이언트에게 전송하는 프리페칭 서술을 결정할 수 있는 서버 알고리즘을 도시한 것이다.5 illustrates a server algorithm capable of determining the prefetching description to send to the mobile client.
도 6은 이동 클라이언트의 세만틱 영역 질의 처리 알고리즘을 도시한 것이다.6 illustrates a semantic domain query processing algorithm of a mobile client.
도 7은 세만틱 최 근접 질의를 처리하기 위한 이동 클라이언트에서 사용되는 알고리즘을 기술한 것이다.7 illustrates an algorithm used in a mobile client to process semantic closest queries.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070080939A KR100894501B1 (en) | 2007-08-10 | 2007-08-10 | System for processing dynamic query using semantic prefetching scheme based on description in location-based services |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070080939A KR100894501B1 (en) | 2007-08-10 | 2007-08-10 | System for processing dynamic query using semantic prefetching scheme based on description in location-based services |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090016361A true KR20090016361A (en) | 2009-02-13 |
KR100894501B1 KR100894501B1 (en) | 2009-04-22 |
Family
ID=40685601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070080939A KR100894501B1 (en) | 2007-08-10 | 2007-08-10 | System for processing dynamic query using semantic prefetching scheme based on description in location-based services |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100894501B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101230800B1 (en) * | 2011-08-11 | 2013-02-06 | 포항공과대학교 산학협력단 | Method of protecting user location information and system for the same |
KR101440359B1 (en) * | 2014-02-05 | 2014-09-17 | 고혜경 | OWL-S based Service Discovery Method and System |
US8977681B2 (en) | 2011-06-30 | 2015-03-10 | International Business Machines Corporation | Pre-fetching data |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100434902B1 (en) * | 2000-08-28 | 2004-06-07 | 주식회사 에이전트엑스퍼트 | Knowledge base custom made information offer system and service method thereof |
-
2007
- 2007-08-10 KR KR1020070080939A patent/KR100894501B1/en not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977681B2 (en) | 2011-06-30 | 2015-03-10 | International Business Machines Corporation | Pre-fetching data |
US9350826B2 (en) | 2011-06-30 | 2016-05-24 | International Business Machines Corporation | Pre-fetching data |
KR101230800B1 (en) * | 2011-08-11 | 2013-02-06 | 포항공과대학교 산학협력단 | Method of protecting user location information and system for the same |
KR101440359B1 (en) * | 2014-02-05 | 2014-09-17 | 고혜경 | OWL-S based Service Discovery Method and System |
Also Published As
Publication number | Publication date |
---|---|
KR100894501B1 (en) | 2009-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zheng et al. | Cache invalidation and replacement strategies for location-dependent data in mobile environments | |
KR102100710B1 (en) | Method for transmitting packet of node and content owner in content centric network | |
US7010308B2 (en) | Managing and querying moving point data | |
KR100791628B1 (en) | Method for active controlling cache in mobile network system, Recording medium and System thereof | |
US8977642B2 (en) | Recommending relevant and personalized content accessing keywords for users of a text messaging service based global textsite platform | |
Ku et al. | Location-based spatial query processing with data sharing in wireless broadcast environments | |
Park et al. | A scalable energy-efficient continuous nearest neighbor search in wireless broadcast systems | |
KR100894501B1 (en) | System for processing dynamic query using semantic prefetching scheme based on description in location-based services | |
CN102780773A (en) | Method for keeping cache consistency in network using content as center | |
Lai et al. | Location-aware cache replacement for mobile environments | |
JP2002525749A (en) | Internet caching system, method and system configuration | |
CN103107944A (en) | Content locating method and route equipment | |
Huang et al. | A proxy-based approach to continuous location-based spatial queries in mobile environments | |
CN113490933A (en) | Distributed data processing | |
KR20040055901A (en) | System and method for progressive spatial data service | |
Zhijun et al. | Towards efficient data access in mobile cloud computing using pre-fetching and caching | |
Ilayaraja et al. | WARM based data pre-fetching and cache replacement strategies for location dependent information system in wireless environment | |
Waluyo et al. | A dual privacy preserving approach for location-based services in mobile multicast environment | |
Mershad et al. | CODISC: Collaborative and distributed semantic caching for maximizing cache effectiveness in wireless networks | |
Park et al. | Adaptive data dissemination schemes for location-aware mobile services | |
Park et al. | A Caching Strategy for Spatial Queries in Mobile Networks. | |
KR100657820B1 (en) | Method for establishing a digital map for division transmission, Apparatus and Method of digital map division transmission for mobile users, Mobile Terminal Apparatus and Method for receiving divided digital map | |
CN108683725B (en) | Data processing method and data processing system | |
Artail et al. | A cooperative and adaptive system for caching web service responses in manets | |
CA2508977C (en) | Method and system of optimizing linkcell based location aware data retrieval by probability-based prediction of optimal linkcell sizes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120319 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130405 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |