KR20130087810A - 이동통신 시스템에서 협력적 캐슁 방법 및 장치 - Google Patents

이동통신 시스템에서 협력적 캐슁 방법 및 장치 Download PDF

Info

Publication number
KR20130087810A
KR20130087810A KR1020120008983A KR20120008983A KR20130087810A KR 20130087810 A KR20130087810 A KR 20130087810A KR 1020120008983 A KR1020120008983 A KR 1020120008983A KR 20120008983 A KR20120008983 A KR 20120008983A KR 20130087810 A KR20130087810 A KR 20130087810A
Authority
KR
South Korea
Prior art keywords
base station
data
request data
local
request
Prior art date
Application number
KR1020120008983A
Other languages
English (en)
Inventor
이철기
백상헌
이장희
문상준
박용석
Original Assignee
삼성전자주식회사
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 고려대학교 산학협력단 filed Critical 삼성전자주식회사
Priority to KR1020120008983A priority Critical patent/KR20130087810A/ko
Priority to US13/753,948 priority patent/US9521064B2/en
Publication of KR20130087810A publication Critical patent/KR20130087810A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/086Load balancing or load distribution among access entities
    • H04W28/0861Load balancing or load distribution among access entities between base stations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • 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/08Access point devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • H04W92/20Interfaces between hierarchically similar devices between access points

Abstract

본 발명은 이동통신 시스템에서 협력적 캐슁 방법 및 장치에 관한 것으로, 본 발명의 복수 개의 기지국들이 서로 연결되어 협력적으로 캐쉬를 사용하는 이동통신 시스템에서 로컬 기지국의 협력적 캐슁 방법은 클라이언트로부터 데이터 요청 수신 시, 캐쉬에 상기 요청 데이터의 저장 여부를 판단하는 판단 단계, 미 저장 시, 상기 데이터를 저장하도록 미리 결정된 홈 기지국에게 상기 데이터를 요청하는 요청 단계, 상기 홈 기지국이 상기 데이터를 저장하고 있는지 여부에 따라 상기 홈 기지국 또는 서버로부터 상기 요청 데이터를 획득하여 상기 클라이언트에게 상기 데이터를 서비스하는 서비스 제공 단계를 포함하는 것을 특징으로 한다.

Description

이동통신 시스템에서 협력적 캐슁 방법 및 장치{METHOD AND APPARATUS FOR COOPERATIVE CACHING IN MOBILE COMMUNICATION SYSTEM}
본 발명은 이동통신 시스템에 관한 것으로, 보다 구체적으로 이동통신 시스템에서 기지국간 협력적 캐슁을 수행하는 방법 및 장치에 관한 것이다.
일반적으로 이동 통신 시스템은 사용자의 활동성을 보장하면서 음성 서비스를 제공하기 위해 개발되었다. 그러나 이동통신 시스템은 점차로 음성 뿐 아니라 데이터 서비스까지 영역을 확장하고 있으며, 현재에는 고속의 데이터 서비스를 제공할 수 있는 정도까지 발전하였다. 그러나 현재 서비스가 제공되고 있는 이동 통신 시스템에서는 자원의 부족 현상 및 사용자들이 보다 고속의 서비스를 요구하므로, 보다 발전된 이동 통신 시스템이 요구되고 있다.
웹 캐슁은 월드 와이드 웹(World Wide Web)의 성능 향상에 도움을 주는 기술 중 하나이다. 상기 웹 캐슁은 대역폭의 사용과 서버로의 집중되는 부하를 줄이기 위하여 HTML 페이지나 이미지와 같은 웹 문서를 저장하여 동일한 페이지가 요청될 경우 서버 대신 캐쉬로부터 서비스 될 수 있도록 한다.
그러나 종래 웹 캐슁 기법에 따르면, 빈번하게 사용하는 데이터일지라도 주변의 다른 캐쉬에서 항상 가져와야 한다는 문제가 있다. 또한 인기도가 높은 데이터를 가진 캐쉬로 요청이 집중되면 클러스터 내부 트래픽이 증가하고 특정 기지국으로의 링크에 병목 현상이 나타날 가능성이 존재한다.
따라서, 이동통신 시스템에서 보다 효율적인 협력적 캐슁 방법에 대해 고찰할 필요성이 대두된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 이동 통신 시스템에서 기지국에 캐쉬를 설치하고, 광대역의 링크로 연결된 기지국들간 클러스터를 구성하여 협력적으로 캐쉬를 사용함으로써 외부로 나가는 트래픽의 양과 데이터 접근시간을 줄이는 방법 및 장치를 제공하는 것을 그 목적으로 한다.
상기와 같은 문제점을 해결하기 위한 본 발명의 복수 개의 기지국들이 서로 연결되어 협력적으로 캐쉬를 사용하는 이동통신 시스템에서 로컬 기지국의 협력적 캐슁 방법은 클라이언트로부터 데이터 요청 수신 시, 캐쉬에 상기 요청 데이터의 저장 여부를 판단하는 판단 단계, 미 저장 시, 상기 데이터를 저장하도록 미리 결정된 홈 기지국에게 상기 데이터를 요청하는 요청 단계, 상기 홈 기지국이 상기 데이터를 저장하고 있는지 여부에 따라 상기 홈 기지국 또는 서버로부터 상기 요청 데이터를 획득하여 상기 클라이언트에게 상기 데이터를 서비스하는 서비스 제공 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 복수 개의 기지국들이 서로 연결되어 협력적으로 캐쉬를 사용하는 이동통신 시스템에서 특정 데이터를 저장하도록 미리 결정된 홈 기지국의 협력적 캐슁 방법은 로컬 기지국으로부터 데이터 요청 수신 시, 상기 요청 데이터의 저장 여부를 판단하는 판단 단계, 저장 시 상기 요청 데이터를 상기 로컬 기지국으로 전송하는 전송 단계, 및 저장 시 상기 요청 데이터를 저장할 공간이 있는지 여부에 따라 상기 요청 데이터의 협력 여부를 결정하는 협력 결정 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 복수 개의 기지국들이 서로 연결되어 협력적으로 캐쉬를 사용하는 이동통신 시스템에서 협력적 캐슁을 수행하는 로컬 기지국은 상기 로컬 기지국과 연결된 적어도 하나 이상의 노드들과 유선 또는 무선 통신을 수행하는 인터페이스부, 상기 로컬 기지국에 연결된 클라이언트에게 서비스할 데이터를 저장하는 로컬 파트와, 상기 로컬 기지국이 미리 저장하여 상기 노드들에게 서비스를 제공하도록 미리 결정된 데이터를 저장하는 협력 파트를 포함하는 캐쉬를 구비하는 저장부, 및 상기 클라이언트로부터 데이터 요청 수신 시 상기 요청 데이터가 상기 캐쉬에 저장되었는지 판단하고, 미 저장 시 상기 요청 데이터를 저장하도록 미리 결정된 홈 기지국에게 상기 요청 데이터를 요청하며, 상기 홈 기지국이 상기 요청 데이터를 저장하고 있는지 여부에 따라 상기 홈 기지국 또는 서버로부터 상기 요청 데이터를 획득하여 상기 클라이언트에게 상기 요청 데이터를 서비스하도록 제어하는 제어부를 포함하는 것을 특징으로 한다.
또한, 본 발명의 복수 개의 기지국들이 서로 연결되어 협력적으로 캐쉬를 사용하는 이동통신 시스템에서 협력적 캐슁을 수행하는 홈 기지국은 상기 홈 기지국과 연결된 적어도 하나 이상의 노드들과 유선 또는 무선 통신을 수행하는 인터페이스부, 상기 홈 기지국에 연결된 클라이언트에게 서비스할 데이터를 저장하는 로컬 파트와, 상기 홈 기지국이 미리 저장하여 상기 노드들에게 서비스를 제공하도록 미리 결정된 데이터를 저장하는 협력 파트를 포함하는 캐쉬를 구비하는 저장부, 및 로컬 기지국으로부터 데이터 요청 수신 시 상기 요청 데이터가 상기 협력 파트에 저장되어 있는지 여부를 판단하고, 저장 시 상기 요청 데이터를 상기 로컬 기지국으로 전송하며, 미 저장 시 상기 요청 데이터를 저장할 공간이 있는지 여부에 따라 상기 요청 데이터의 협력 여부를 결정하는 제어부를 포함하는 것을 특징으로 한다.
본 발명에 따르면, DHT(Distributed Hash Table )를 사용함으로써 협력을 위한 데이터의 제어를 용이하게 하고 동시에 부하 분산 효과를 얻을 수 있다. 다시 말해, 각각의 기지국이 캐쉬를 독립적으로 사용하는 것이 아니라 협력적으로 사용함으로써 캐쉬 히트 비율을 증가시켜 비용이 큰 외부 인터넷망으로 나가는 트래픽의 양을 감소 시킬 수 있다.
또한, 본 발명의 실시예에 따르면, 보다 효과적인 협력을 위해 캐쉬를 두 부분으로 구분하여 협력 파트에 저장하는 데이터들의 전체 기대 저장 값(Expected Saving Value, ESV)이 증가하도록 함으로써 협력의 효과를 증대 시킬 수 있다.
또한 데이터를 로컬 기지국에 중복적으로 저장함으로써 인기도가 높은 데이터의 경우 로컬 기지국에서 바로 서비스 받을 수 있도록 하여 데이터에 대한 접근시간을 줄일 수 있고 내부 트래픽이 급격하게 발생 하였을 때 클러스터 내부 트래픽의 양을 감소 시키는 효과를 얻을 수 있다.
도 1은 본 발명의 실시예에 따른 기지국 간의 협력적 캐슁 기법의 전반적인 동작 순서를 도시하는 도면.
도 2는 클라이언트가 요청한 데이터가 해당 로컬 기지국에 저장된 경우의 처리 방법을 도시하는 도면.
도 3은 클라이언트가 요청한 데이터가 로컬 기지국에 저장되지 않은 경우의 처리 방법을 도시하는 도면.
도 4는 클라이언트가 요청한 데이터가 로컬 기지국 및 홈 기지국 어느 곳에도 저장되지 않은 경우의 처리 방법을 도시하는 도면.
도 5는 본 발명의 실시예에 따른 로컬 기지국의 동작 순서를 도시하는 순서도.
도 6은 본 발명의 실시예에 따른 홈 기지국의 동작 순서를 도시하는 순서도.
도 7은 본 발명의 실시예에 따른 로컬 기지국의 내부 구조를 도시하는 도면.
도 8은 본 발명의 실시예에 따른 홈 기지국의 내부 구조를 도시하는 도면.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이 때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
상술한 바와 같이, 웹 캐슁은 월드 와이드 웹(World Wide Web)의 성능 향상에 도움을 주는 기술 중 하나이다. 상기 웹 캐슁은 대역폭의 사용과 서버로의 집중되는 부하를 줄이기 위하여 HTML 페이지나 이미지와 같은 웹 문서를 저장하여 동일한 페이지가 요청될 경우 서버 대신 캐쉬로부터 서비스 될 수 있도록 한다.
웹 캐슁은, 웹 브라우저가 URL을 검색하려고 할 때 해당 주소에 대해 HTTP 세션이 열려 해당 서버에 요청을 하게 되는데 프록시 캐쉬를 사용하게 되면 클라이언트는 HTTP세션을 프록시 캐쉬와 연결하여 URL 요청을 서버대신 프록시 캐쉬로 전달 한다. 프록시 캐쉬가 인터넷 앞에 위치하여 클라이언트가 요청한 웹 페이지를 저장하고 있다가 다른 클라이언트가 같은 페이지를 요청할 경우 인터넷 밖의 먼 곳까지 가지 않고 대역폭이 큰 LAN(Local Area Network)에서 실제 서버 대신 전송해 줌으로써 클라이언트의 응답시간을 향상시키고, WAN(Wide Area Network)구간의 비싼 대역폭을 줄여준다. 사용자가 많은 만큼 같은 사이트를 방문 할 가능성이 높아 재사용될 가능성이 증가하므로 일반적으로 사용자가 많으면 많을수록 웹 캐시는 더 많은 효과를 볼 수 있게 된다.
한편, 캐쉬간의 협력을 통하면 독립적으로 캐쉬를 사용할 때 보다 캐쉬 히트 비율을 증가시켜 성능 향상을 얻을 수 있다. 이동통신망에서 기지국들은 광대역의 유선으로 연결되어 있기 때문에 이를 활용하여 클러스터를 구성하여 각각의 기지국에 캐쉬를 설치하여 이를 협력적으로 사용하면 외부로 나가는 트래픽의 양을 줄 일 수 있고 데이터에 대한 접근 시간도 줄일 수 있다.
분산 해쉬 테이블(Distributed Hash Table, DHT)은 대규모 어플리케이션에서 효율적이고 확장 가능한 룩 업(look up) 기능을 제공한다. DHT는 부하 분산의 특성을 지니고 있기 때문에 특정 지역에 트래픽이 집중되는 경우 클러스터 내의 다른 기지국으로 부하의 분산 효과를 얻을 수 있고 네트워크를 구성하고 있는 노드 수에 따라 lookup 비용이 대수적(logarithmic)으로 증가하기 때문에 확장에 용이 하다는 장점이 있다. 또한 분산적으로 작동하기 때문에 견고성을 갖고 있다. DHT의 대표적인 기법인 Chord에서는 SHA-1과 같은 해쉬 함수를 사용하여 각각의 노드와 데이터에 키(key)를 할당한다. 키가 주어 지면 각 키에 해당하는 데이터는 네트워크를 구성하고 있는 노드 중 한 노드에 맵핑된다. 룩 업 은 노드 들간의 메시지 교환을 통하여 처리되는데 키가 주어지면 핑거 테이블(finger table)이라고 불리우는 라우팅 테이블에 의해 해당 노드를 쉽게 찾을 수 있다.
클러스터내의 캐쉬에 중복되어 저장되어 있는 데이터가 없이 전체 클러스터를 하나의 캐쉬처럼 사용하는 기법이 “On the Benefits of Cooperative Proxy Caching for Peer-to-Peer Traffic” (M.Hefeeda et al, IEEE Transactions on Parallel and Distributed Systems vol.21, no.7, July, 2010)에서 제안된 바 있다.
이 경우 빈번하게 사용하는 데이터일지라도 주변의 다른 캐쉬에서 항상 가져와야 하는 문제가 있다. 또한 인기도가 높은 데이터를 가진 캐쉬로 요청이 집중되면 클러스터 내부 트래픽이 증가하고 특정 기지국으로의 링크에 병목 현상이 나타날 가능성이 존재한다는 문제점이 있다.
본 발명은 이와 같은 문제를 효율적으로 해결하기 위해, 데이터에 대한 접근시간과 클러스터내의 특정 캐쉬로 요청이 집중되는 현상을 감소시키도록 캐쉬를 클러스터내의 다른 기지국을 위해 협력하는 부분과 클라이언트를 위한 로컬 부분으로 구분하여 인기 있는 데이터의 중복을 허용하는 방안을 제시한다.
상기한 바와 같이, 본 발명은 이동통신망에서 기지국에 캐쉬를 설치하고 광대역의 링크로 연결된 기지국들간 클러스터를 구성하여 협력적으로 캐쉬를 사용함으로써 외부로 나가는 트래픽의 양과 데이터 접근시간을 줄이기 위하여 고안되었다.
클러스터내의 캐쉬끼리 협력을 하기 위해서는 클러스터내의 기지국들 중에서 특정 데이터를 가지고 있는 기지국을 효과적으로 찾는 방법이 필요하다. 이를 위해 본 기법에서는 분산 해쉬 테이블(DHT)을 이용하여 클러스터를 구성하는 기지국들의 물리적 네트워크 위에 독립적인 가상의 오버레이 네트워크를 구성한다. DHT를 이용 하면 각 기지국에서 분산적으로 작동 할 수 있고 특정 데이터를 저장하는 기지국이 유일하게 할당되므로 해당 데이터에 대한 검색이 용이한 장점이 있다. 또한 부하 분산의 특성을 지니고 있기 때문에 특정지역에 트래픽이 집중되는 것을 감소시키는 효과를 얻을 수 있다.
이하에서 기술되는 본 기법에서는 DHT기법에 의하여 각 데이터를 저장 해야 하는 기지국을 해당 데이터의 홈 기지국(HomeBS)이라고 정의하고, 클라이언트가 연결된 기지국을 로컬 기지국(LocalBS)이라고 정의한다. 각 기지국은 홈 기지국이자 로컬 기지국으로 작동을 한다.
또한 본 발명의 실시예에 따르면, 각 기지국의 캐쉬는 협력 파트와 로컬 파트의 두 부분으로 구분된다. 협력 파트는 홈 기지국으로서 담당하게 되는 특정 데이터에 대한 캐슁을 처리하는 부분으로 해당 파트에 저장된 데이터는 클러스터내의 기지국간의 협력에 사용된다. 로컬 파트는 로컬 기지국으로써 클라이언트로부터 요청된 데이터에 대한 캐슁을 처리하는 부분이다.
도 1은 본 발명의 실시예에 따른 기지국 간의 협력적 캐슁 기법의 전반적인 동작 순서를 도시하는 도면이다.
클라이언트 A(100)는 로컬 BS(120)에 연결되어 무선 채널을 형성한다. 클라이언트 A(100)가 1 단계에서, 로컬 BS(120)에게 데이터 A를 요청하면, 로컬 BS(120)는 상기 데이터 A를 자신이 저장하고 있는지 여부를 확인한다. 가지고 있지 않은 경우, 로컬 BS(120)는 이웃 기지국(130) 또는 상기 데이터 A에 대한 홈 기지국인 홈 BS(140)가 저장하고 있는지 확인한다.
이를 위해, 로컬 BS(120)는 1-1 단계에서, 이웃 기지국(130)에게 상기 데이터 A의 저장 여부에 대한 확인을 요청할 수 있다. 이웃 기지국(130)은 자신도 데이터 A를 저장하고 있지 않는 경우, 1-2 단계에서 데이터 A에 대한 홈 기지국인 홈 BS(140)에게 데이터 A를 요청한다.
홈 BS(140)가 데이터 A를 저장하고 있는 경우, 해당 데이터를 로컬 BS(120)에게 전달한다. 반면, 홈 BS(140)가 데이터 A를 저장하고 있지 않은 경우, 상기 홈 BS(140)는 2-1 단계에서 로컬 BS(120)에게 협력을 요청한다. 상기 협력 요청은 로컬 BS(120)가 서버로부터 해당 데이터를 획득하였을 경우, 상기 데이터를 홈 BS(140)에게도 전송해줄 것을 요청하는 것이다.
홈 BS(140)로부터 협력 요청을 수신한 로컬 BS(120)는 3 단계에서, 상기 데이터 A를 저장하고 있는 서버(150)에 데이터 A를 요청한다. 그러면, 서버(150)는 4 단계에서, 데이터 A를 로컬 BS(120)에게 전송한다.
그러면 로컬 BS(120)는 상기 데이터 A를 자신의 캐쉬 중 로컬 파트에 저장하고, 4-1 단계에서 데이터 A를 요청한 클라이언트 A(100)에게 전송한다. 또한, 로컬 BS(120)는 4-2 단계에서, 데이터 A에 대한 협력을 요청한 홈 BS(140)에게도 데이터 A를 전송한다.
만약, 5 단계에서, 클라이언트 B(110)가 데이터 A를 로컬 BS(160)에게 요청하였고 로컬 BS(160)가 데이터 A를 저장하고 있지 않은 경우, 상기 로컬 BS(160)는 5-1 단계에서 데이터 A에 대한 홈 기지국인 홈 BS(140)에게 데이터 A를 요청한다. 그러면, 홈 BS(140)는 6 단계에서, 상기 데이터 A를 로컬 BS(160)에게 전송한다.
한편, 본 발명의 바람직한 실시예에 따르면, 효율적인 협력 캐슁을 위해, 협력에 사용되는 각각의 데이터에 대하여 기대 저장 값(Expected Saving Value, ESV)을 정의한다. ESV값은 해당 데이터를 협력을 위해 사용 함으로써 기대되는 이득의 값으로 정의 한다.
웹 캐슁에 있어 주요한 문제 중 하나는 캐쉬 교체 전략이다. 상기 캐쉬 교체는 캐쉬 공간이 가득 찼을 때 새로운 데이터를 위한 공간을 마련하기 위해 오래된 데이터를 제거하는 처리과정을 말한다.
대표적인 캐쉬 교체 전략으로 최소 최근 사용(Least Recently Used, LRU)전략과 최저 사용 빈도(Least Frequently Used, LFU)전략이 있다. LRU는 참조된 지 가장 오래된 데이터를 삭제 하는 전략으로 짧은 시간 동안 같은 데이터가 반복적으로 요청되어 최근 요청된 데이터는 후에 다시 요청될 가능성이 높은 특성을 반영한다. LFU는 참조된 횟수가 가장 적은 데이터를 삭제하는 전략으로 데이터들의 인기도가 요청 횟수에 따라 결정되는 특성을 반영한다. 이 외에도 다양한 캐쉬 교체 전략이 존재한다.
본 발명의 실시에에서는 두 부분(협력 파트와 로컬 파트)으로 구분된 캐쉬에 각각 다른 캐쉬 교체 전략을 적용한다. 먼저 캐쉬의 협력 파트가 가득 차면 가장 작은 ESV값을 갖는 데이터를 삭제하여 협력을 위해 저장되어 있는 데이터들이 사용 될 때의 이득이 이전보다 커지도록 한다. 반면, 캐쉬의 로컬 파트의 경우 기본적인 LRU방식을 사용하여 최근에 요청된 데이터에 우선순위를 둔다.
이러한 본 발명의 캐쉬 교체 전략에 대해서는 해당 부분에서 상세히 설명하도록 한다.
본 발명의 실시예에 따른 임의의 데이터 탐색은 클라이언트의 로컬 기지국의 캐쉬, 요청된 데이터에 대한 홈 기지국의 캐쉬 그리고 인터넷서버의 순으로 이루어진다. 이를 보다 구체적으로 설명하기 위해, 도 2 내지 도 4를 참고하기로 한다.
우선, 도 2는 클라이언트가 요청한 데이터가 해당 로컬 기지국에 저장된 경우의 처리 방법을 도시하는 도면이다.
클라이언트(200)는 S210 단계에서 특정 데이터를, 자신이 접속한 로컬 BS(210)에게 요청한다. 그러면 로컬 BS(210)는 클라이언트(210)가 요청한 데이터가 자신의 캐쉬에 존재하는지 여부를 확인한다. 만약, 로컬 BS(210)의 캐쉬에 상기 데이터가 존재하면(local hit), S210 단계에서와 같이 해당 데이터를 클라이언트(200)에게 바로 서비스해준다.
도 3은 클라이언트가 요청한 데이터가 로컬 기지국에 저장되지 않은 경우의 처리 방법을 도시하는 도면이다.
클라이언트(300)는 S310 단계에서 특정 데이터를, 자신이 접속한 로컬 BS에게 요청한다. 그러면 로컬 BS는 클라이언트(300)가 요청한 데이터가 자신의 캐쉬에 존재하는지 여부를 확인한다. 만약, 로컬 BS의 캐쉬에 상기 데이터가 존재하지 않는 경우(local miss), 로컬 BS는 S320 단계에서 데이터에 대한 홈 기지국인 홈 BS(310)에게 상기 데이터를 요청한다.
만약, 홈 BS(310) 캐쉬가 상기 요청된 데이터를 저장하고 있는 경우(cluster hit), 로컬 기지국은 S330 단계에서 해당 데이터를 홈 BS로부터 수신한다. 그리고 로컬 기지국은 LRU에 따라 자신의 로컬 파트에 해당 데이터를 저장하고, S340 단계에서 클라이언트(300)에게 서비스해준다.
도 4는 클라이언트가 요청한 데이터가 로컬 기지국 및 홈 기지국 어느 곳에도 저장되지 않은 경우의 처리 방법을 도시하는 도면이다.
클라이언트(400)는 S405 단계에서 특정 데이터를, 자신이 접속한 로컬 BS(410)에게 요청한다. 그러면 로컬 BS(410)는 클라이언트(400)가 요청한 데이터가 자신의 캐쉬에 존재하는지 여부를 확인한다. 만약, 로컬 BS(410)의 캐쉬에 상기 데이터가 존재하지 않는 경우(local miss), 로컬 BS(410)는 S410 단계에서 해당 데이터에 대한 홈 기지국인 홈 BS(420)에게 상기 데이터를 요청한다.
만약, 홈 BS(420) 캐쉬가 상기 요청된 데이터를 저장하고 있지 않은 경우(cluster miss), 홈 BS(420)는 S420 단계에서 로컬 BS(410)에게 협력을 요청한다. 상기 협력 요청은 로컬 BS(410)가 해당 데이터 획득 시, 획득한 데이터를 자신에게 전송하여 줄 것을 요청하는 것이다.
그러면 로컬 BS(410)는 S430 단계에서 외부 인터넷 망을 통하여 서버에 해당 데이터를 요청한다. S440 단계에서 서버로부터 데이터를 수신한 로컬 BS(410)는 자신의 캐쉬에 저장하고, S450 단계에서 이를 클라이언트(400)에게 서비스(server hit) 해준다.
그리고 로컬 BS(410)는 S460 단계에서 상기 데이터에 대한 홈 기지국인 홈 BS(420)에게 전송한다. 그러면 홈 BS(420)는 남은 캐쉬의 크기와 데이터의 ESV 값에 따라 협력을 위해 해당 데이터를 저장한다.
도 5는 본 발명의 실시예에 따른 로컬 기지국의 동작 순서를 도시하는 순서도이다.
우선, 로컬 기지국은 S505 단계에서 자신에게 접속된 클라이언트로부터 특정 데이터에 대한 서비스 제공을 요청받는다. 그러면 로컬 기지국은 S510 단계에서, 클라이언트가 요청한 요청 데이터가 자신의 캐쉬(특히, 로컬 캐쉬)에 존재하는지 여부를 판단한다. 만약, 상기 요청 데이터가 자신의 캐쉬에 존재하는 경우라면, 로컬 기지국은 S515 단계로 진행하여 요청 데이터를 클라이언트에게 서비스한다.
반면, 요청 데이터가 자신의 캐쉬에 존재하지 않는 경우, 로컬 기지국은 요청 데이터에 대한 홈 기지국이 어느 기지국인지 확인한다. 분산 해쉬 테이블을 사용하는 클러스터 시스템에서는 각 데이터에 대한 홈 기지국이 매핑되어 있기 때문에, 각각의 기지국은 임의의 데이터에 대한 홈 기지국을 알 수 있다.
요청 데이터에 대한 홈 기지국을 확인한 로컬 기지국은, S520 단계에서 상기 데이터에 대한 전송 요청을 홈 기지국에게 전송한다.
만약, 요청 데이터가 홈 기지국에 존재하는 경우, 로컬 기지국은 S525 단계에서 S530 기지국으로 분기한다. 이에 따라, 로컬 기지국은 S530 단계에서 요청 데이터를 홈 기지국으로부터 수신한다. 그리고 로컬 기지국은 S535 단계로 진행하여 요청 데이터를 클라이언트에게 서비스하고, S540 단계로 진행하여 요청 데이터를 자신의 캐쉬의 로컬 파트에 저장한다. 본 발명의 일 실시예에 따르면, 로컬 기지국은 요청 데이터를 로컬 파트에 저장함에 있어, LRU방식을 사용하여 최근에 요청된 데이터에 우선순위를 두어, 가장 오래된 데이터를 삭제하고 상기 요청 데이터를 저장할 수 있다.
한편, S525 단계에서, 요청 데이터가 홈 기지국에도 존재하지 않는 경우 로컬 기지국은 상기 홈 기지국으로부터 cluster miss 메시지 및/또는 협력 요청 메시지를 수신한다. 그러면 로컬 기지국은 S545 단계에서, 외부 인터넷 망을 통하여 서버에 접속하여 요청 데이터를 획득한다.
그리고 로컬 기지국은 S550 단계로 진행하여 상기 요청 데이터를 클라이언트에 서비스한다. 그리고 로컬 기지국은 S555 단계로 진행하여 요청 데이터를 자신의 캐쉬의 로컬 파트에 저장한다. 본 발명의 일 실시예에 따르면, 로컬 기지국은 요청 데이터를 로컬 파트에 저장함에 있어, LRU방식을 사용하여 최근에 요청된 데이터에 우선순위를 두어, 가장 오래된 데이터를 삭제하고 상기 요청 데이터를 저장할 수 있다.
그리고 로컬 기지국은 S560 단계로 진행하여, 상기 요청 데이터에 대해 홈 기지국으로부터 협력을 요청 받았는지 여부를 판단한다. 협력을 요청받은 경우, 로컬 기지국은 S565 단계로 진행하여 해당 요청 데이터를 홈 기지국으로 전송한다. 홈 기지국으로 전송된 데이터는, 이후 협력 캐슁을 위해 사용된다.
도 6은 본 발명의 실시예에 따른 홈 기지국의 동작 순서를 도시하는 순서도이다.
우선, 홈 기지국은 S605 단계에서 로컬 기지국으로부터 데이터 전송 요청을 수신한다. 그러면 홈 기지국은 S610 단계로 진행하여 요청 데이터가 캐쉬의 협력 파트에 저장되어 있는지 여부를 판단한다. 만약, 요청 데이터가 협력 파트에 저장되어 있다면, 로컬 기지국은 S615 단계로 진행하여 요청 데이터를 로컬 기지국으로 전송한다. 그리고 상기 요청 데이터에 대한 ESV 값을 갱신한다. ESV 값은 해당 데이터를 협력을 위해 사용 함으로써 기대되는 이득의 값으로 정의된다.
S610 단계에서, 요청 데이터가 홈 기지국의 협력 파트에 저장되지 않은 경우, 홈 기지국은 협력 파트에 요청 데이터를 저장할 공간이 있는지 여부를 확인한다. 공간이 있는 경우, 홈 기지국은 S630 단계로 진행하여 로컬 기지국에 cluster miss 메시지와 함께 협력 요청 메시지를 전송한다. 그리고 홈 기지국은 S635 단계에서 로컬 기지국으로부터 요청 데이터를 수신한 후, S640 단계로 진행하여 해당 데이터를 캐쉬의 협력 파트에 저장한다.
한편, S625 단계에서, 협력 파트에 요청 데이터를 저장할 공간이 부족한 경우, 홈 기지국은 S645 단계로 진행하여 요청 데이터에 대한 ESV 값을 계산한다. 그리고 홈 기지국은 S650 단계로 진행하여 상기 계산된 ESV 값과 현재 협력 파트에 저장된 데이터의 최소 ESV 값을 비교한다.
만약, 계산된 ESV 값이 현재 협력 파트에 저장된 데이터의 최소 ESV 값보다 작다면, 상기 요청 데이터에 대해서는 협력을 필요로 하지 않기 때문에 로컬 기지국에게 cluster miss 메시지만을 전송한다.
반면, 계산된 ESV 값이 현재 협력 파트에 저장된 데이터의 최소 ESV 값보다 크다면 해당 요청 데이터에 대해 협력이 필요한 것으로 판단하고, 상기 홈 기지국은 S655 단계에서 로컬 기지국에 cluster miss 메시지와 협력 요청을 전송한다. 그리고 홈 기지국은 S660 단계에서 로컬 기지국으로부터 협력 요청에 대한 요청 데이터를 수신한다. 그러면 홈 기지국은 S665 단계로 진행하여 캐쉬의 협력 파트에 저장된 데이터들 중 최소 ESV 값을 가지는 데이터를 삭제하고, 로컬 기지국으로부터 수신한 요청 데이터를 S640 단계에서 상기 협력 파트에 저장한다.
협력을 위하여 각 기지국은 협력 파트, 즉 자신이 홈 기지국의 역할을 하는 데이터들에 대하여 각 데이터의 키, ESV (m, nd , c, c’, pd_c), 해당 키를 요청한 로컬 기지국의 주소를 유지한다.
여기서ⅰ) m은 클러스터를 구성하는 기지국의 수, ⅱ) nd는 기지국의 협력 파트로 해당 데이터를 요청한 클러스터내의 기지국의 수, ⅲ) c는 요청 데이터를 외부 서버로부터 가져오는데 필요한 비용(로컬 기지국에서 액세스 하는데 드는 비용을 포함), ⅳ) c’은 요청 데이터를 클러스터 내부의 기지국에서 가져오는데 필요한 비용(로컬 액세스와 특정 데이터를 해당 데이터의 홈 기지국에 이동시키는 비용 포함), 그리고 ⅴ) pd_c는 클러스터 내의 한 기지국에서 해당 데이터가 적어도 한번 요청될 확률이다. 본 기법에서 비용은 액세스 지연, 이동하는 데이터의 트래픽의 양 등으로 각 상황에 맞게 적용 될 수 있다.
각 데이터에 대한 ESV값은 위에 표시한 변수들을 사용하여 아래 수식 1에 의하여 결정된다. ESV값은 해당 데이터를 가지고 있지 않은 기지국들 중 하나 이상의 기지국이 해당 데이터를 요청 할 때 기대되는 이득의 합으로 정의한다.
Figure pat00001
상기의 수학식 1에서 홈 기지국의 협력 파트에 특정 데이터를 저장 하였을 때 ⅰ) 홈 기지국외의 기지국들에서 해당 데이터를 요청하는 경우 해당 데이터를 서버로부터 수신하는 비용(c)대신 클러스터내부에서 가져오는 비용(c’)이 들게 되므로 c-c’만큼의 이득이 발생한다. 이때 절약 되는 비용(c-c’)은 해당 데이터를 요청한 기지국의 수(k)에 비례하여 증가한다. ⅱ) 오직 홈 기지국에서만 해당 데이터를 요청 할 경우 해당 데이터를 서버에서 가져오는 비용(c)이 절약된다.
특정 데이터의 ESV값은 해당 데이터를 협력을 위해 저장 하였을 때, 해당 데이터의 홈 기지국을 제외한 기지국들 중 하나의 기지국만 해당 데이터를 요청하는 경우부터 홈 기지국을 제외한 모든 기지국들이 요청하는 경우(k=1인 경우부터 k=m-nd-1인 경우)와 해당 데이터의 홈 기지국만 해당 데이터를 요청할 때 절약되는 각각의 비용에 각각의 경우에 대한 요청확률을 곱하여 구한 기대값들의 합으로 계산된다. 이렇게 계산된 ESV값은 해당 데이터가 요청될 확률(pd_c)과 해당 데이터를 저장하고 있는 클러스터 내의 기지국 수(nd)에 따라 동적으로 변화하게 된다.
예를 들어, 다섯 개의 기지국이 클러스터를 구성(m=5)할 때, 서버로부터 데이터를 가져오는데 드는 비용(c)이 100이고 클러스터내부의 홈 기지국으로부터 가져오는데 드는 비용(c’)이 1인 경우, 특정 데이터의 요청 확률(pd_c)이 0.4이고 해당 데이터를 가지고 있는 클러스터내의 기지국수가 하나이면(nd=1) 해당 데이터의 ESV값은 158.8이고 해당 데이터를 가지고 있는 클러스터내의 기지국수가 두 개 일 때(nd=2) ESV값은 119.2이다. 이와 같이 해당 데이터를 가지고 있는 클러스터내의 기지국수가 증가함에 따라 ESV값은 감소하게 된다.
반면에 특정 데이터에 대하여 해당 데이터를 가지고 있는 클러스터내의 기지국수가 두 개 일 때(nd=2)요청 확률(pd_c)이 0.6이면 ESV값은 178.8이 된다. 즉 클러스터 내에 적게 존재하는 데이터가 협력을 위해 저장될 가능성과 캐쉬 내에 오래 남아있을 가능성이 높다. 또한 인기도가 높은 데이터는 요청확률이 크기 때문에 역시 협력을 위해 저장되고 캐쉬 내에 존재할 가능성이 크다.
도 7은 본 발명의 실시예에 따른 로컬 기지국의 내부 구조를 도시하는 도면이다. 도 7에서 도시되는 바와 같이, 본 발명의 로컬 기지국은 인터페이스부(710), 저장부(720), 제어부(730)를 포함할 수 있다.
인터페이스부(710)는 상기 로컬 기지국과 연결된 적어도 하나 이상의 노드들과 유선 또는 무선 통신을 수행한다. 여기서 상기 노드란 서비스를 제공받고자 하는 클라이언트, 클러스터를 구성하는 인접 기지국들 또는 서버 중 적어도 하나 이상을 포함할 수 있다.
저장부(720)는 로컬 기지국의 동작을 위한 각종 프로그램을 저장할 수 있다. 본 발명의 실시예에 따르면, 상기 저장부(720)는 로컬 기지국에 연결된 클라이언트에게 서비스할 데이터를 저장하는 로컬 파트(724)와, 상기 로컬 기지국이 미리 저장하여 상기 노드들에게 서비스를 제공하도록 미리 결정된 데이터를 저장하는 협력 파트(723)를 포함하는 캐쉬(721)를 구비할 수 있다.
로컬 기지국은 자신에게 연결된 클라이언트에게는 로컬 파트(724)에 저장된 데이터를 이용하여 서비스를 제공하지만, 특정 데이터에 대해서는 해당 데이터에 대한 홈 기지국의 역할을 수행해야 하며 상기 특정 데이터를 저장하기 위한 협력 파트(723) 역시 구비한다.
제어부(730)는 본 발명의 실시예에 따른 로컬 기지국의 동작을 위해 각 블록들간의 신호 흐름을 제어한다. 특히, 제어부(730)는 로컬 기지국이 이웃한 홈 기지국들 또는 로컬 기지국들과 협력적 캐슁을 수행하도록 제어한다. 이를 위해, 제어부(730)는 요청 데이터 판단부(731)와 서비스 제공부(732)를 더 구비할 수 있다.
요청 데이터 판단부(731)는 클라이언트로부터 데이터 요청 수신 시 캐쉬에 상기 요청 데이터의 저장 여부를 판단한다. 만약, 캐쉬에 상기 요청 데이터가 저장되지 않은 경우라면, 상기 요청 데이터 판단부(731)는 상기 데이터를 저장하도록 미리 결정된 홈 기지국에게 상기 데이터를 요청한다.
서비스 제공부(732)는 상기 홈 기지국이 상기 데이터를 저장하고 있는지 여부에 따라 상기 홈 기지국 또는 서버로부터 상기 요청 데이터를 획득하여 상기 클라이언트에게 상기 데이터를 서비스한다. 이 경우, 상기 서비스 제공부(732)는 상기 홈 기지국이 상기 요청 데이터를 저장하고 있는 경우 상기 요청 데이터를 상기 홈 기지국으로부터 수신하여 상기 클라이언트에게 서비스하며, 상기 요청 데이터를 상기 로컬 파트에 저장하도록 제어한다.
또한, 상기 서비스 제공부(732)는 상기 로컬 파트에 저장된 기간이 가장 오래된 데이터를 삭제한 후, 상기 요청 데이터를 상기 로컬 파트에 저장하도록 제어한다. 또한, 상기 서비스 제공부(732)는 상기 홈 기지국이 상기 요청 데이터를 저장하고 있지 않은 경우 상기 요청 데이터를 서버로부터 획득하고, 상기 요청 데이터를 상기 클라이언트에게 서비스하며, 상기 로컬 파트에 저장하도록 제어한다.
또한, 서비스 제공부(732)는 상기 홈 기지국으로부터 상기 요청 데이터에 대한 협력을 요청받은 경우, 상기 요청 데이터를 상기 홈 기지국에 전송하도록 제어한다.
도 8은 본 발명의 실시예에 따른 홈 기지국의 내부 구조를 도시하는 도면이다. 도 8에서 도시되는 바와 같이, 본 발명의 홈 기지국은 인터페이스부(810), 저장부(820), 제어부(830)를 포함할 수 있다
인터페이스부(810)는 상기 홈 기지국과 연결된 적어도 하나 이상의 노드들과 유선 또는 무선 통신을 수행한다. 여기서 상기 노드란 서비스를 제공받고자 하는 클라이언트, 클러스터를 구성하는 인접 기지국들 또는 서버 중 적어도 하나 이상을 포함할 수 있다.
저장부(820)는 로컬 기지국의 동작을 위한 각종 프로그램을 저장할 수 있다. 본 발명의 실시예에 따르면, 상기 저장부(820)는 홈 기지국에 연결된 클라이언트에게 서비스할 데이터를 저장하는 로컬 파트(824)와, 상기 홈 기지국이 미리 저장하여 상기 노드들에게 서비스를 제공하도록 미리 결정된 데이터를 저장하는 협력 파트(823)를 포함하는 캐쉬(821) 구비할 수 있다.
제어부(830)는 본 발명의 실시예에 따른 홈 기지국의 동작을 위해 각 블록들간의 신호 흐름을 제어한다. 특히, 제어부(830)는 홈 기지국이 이웃한 로컬 기지국 또는 홈 기지국들과 협력적 캐슁을 수행하도록 제어한다. 이를 위해, 제어부(830)는 요청 데이터 판단부(831)와 협력 결정부(832)를 더 구비할 수 있다.
요청 데이터 판단부(831)는 로컬 기지국으로부터 데이터 요청 수신 시, 상기 요청 데이터의 저장 여부를 판단하여 판단 결과를 협력 결정부(832)에 전달한다.
협력 결정부(832)는 상기 요청 데이터의 저장 시 상기 요청 데이터를 상기 로컬 기지국으로 전송한다. 반면, 상기 요청 데이터의 미저장 시, 상기 요청 데이터를 저장할 공간이 있는지 여부에 따라 상기 요청 데이터의 협력 여부를 결정한다.
협력 결정부(832)는 상기 요청 데이터 전송 후, 상기 요청 데이터에 대한 기대 저장 값을 갱신하도록 제어하며, 이 경우 상기 기대 저장 값은 상기 요청 데이터를 협력을 위해 사용함으로써 기대되는 이득의 값으로 정의된다. 상기 기대 저장 값은 수학식 1과 같이 정의될 수 있음은 상기한 바와 같다.
또한, 협력 결정부(832)는 요청 데이터를 저장할 공간이 있는 경우 상기 로컬 기지국에 협력 요청 메시지를 전송하며, 상기 기지국으로부터 전송되는 상기 요청 데이터 수신 시 상기 협력 파트에 저장하도록 제어한다. 또한, 협력 결정부(832)는 요청 데이터를 저장할 공간이 없는 경우 상기 요청 데이터에 대한 기대 저장 값을 계산한다. 그리고 협력 결정부(832)는 요청 데이터의 기대 저장 값과 상기 협력 파트에 저장된 데이터들에 대한 최소 기대 저장 값을 비교하여, 상기 요청 데이터의 기대 저장 값이 더 큰 경우 상기 로컬 기지국에 협력 요청 메시지를 전송한다. 그리고 협력 결정부(832)는 상기 로컬 기지국으로부터 전송되는 상기 요청 데이터를 수신하고 상기 최소 기대 저장 값을 가지는 데이터를 삭제하며, 상기 수신한 요청 데이터를 상기 협력 파트에 저장하도록 제어한다.
반면, 협력 결정부(832)는 상기 요청 데이터의 기대 저장 값이 더 작은 경우, 상기 요청 데이터에 대한 협력을 중단한다.
한편, 상기 기술에 있어서, 로컬 기지국 또는 홈 기지국의 제어부가 각각 별도의 기능 블록들을 포함하고, 제어부 및 각각의 세부 기능 블록들이 상이한 기능을 수행하는 것으로 도시 및 기재하였으나 이는 구현 가능한 일 실시예에 불과하다. 예를 들어, 협력 결정부(832)가 수행하는 기능을 제어부(830) 자체가 수행할 수도 있는 것이다.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (21)

  1. 복수 개의 기지국들이 서로 연결되어 협력적으로 캐쉬를 사용하는 이동통신 시스템에서 로컬 기지국의 협력적 캐슁 방법에 있어서,
    클라이언트로부터 데이터 요청 수신 시, 캐쉬에 상기 요청 데이터의 저장 여부를 판단하는 판단 단계;
    미 저장 시, 상기 요청 데이터를 저장하도록 미리 결정된 홈 기지국에게 상기 데이터를 요청하는 요청 단계;
    상기 홈 기지국이 상기 요청 데이터를 저장하고 있는지 여부에 따라 상기 홈 기지국 또는 서버로부터 상기 요청 데이터를 획득하여 상기 클라이언트에게 상기 데이터를 서비스하는 서비스 제공 단계를 포함하는 것을 특징으로 하는 로컬 기지국의 협력적 캐슁 방법.
  2. 제1항에 있어서, 상기 서비스 제공 단계는,
    상기 홈 기지국이 상기 요청 데이터를 저장하고 있는 경우, 상기 요청 데이터를 상기 홈 기지국으로부터 수신하여 상기 클라이언트에게 서비스하는 단계; 및
    상기 요청 데이터를 캐쉬의 로컬 파트에 저장하는 단계를 더 포함하는 것을 특징으로 하는 로컬 기지국의 협력적 캐슁 방법.
  3. 제2항에 있어서, 상기 저장 단계는,
    상기 로컬 파트에 저장된 기간이 가장 오래된 데이터를 삭제한 후, 상기 요청 데이터를 상기 로컬 파트에 저장하는 것을 특징으로 하는 로컬 기지국의 협력적 캐슁 방법.
  4. 제1항에 있어서, 상기 서비스 제공 단계는,
    상기 홈 기지국이 상기 요청 데이터를 저장하고 있지 않은 경우, 상기 요청 데이터를 서버로부터 획득하는 단계; 및
    상기 요청 데이터를 상기 클라이언트에게 서비스하고 캐쉬의 로컬 파트에 저장하는 단계를 더 포함하는 것을 특징으로 하는 로컬 기지국의 협력적 캐슁 방법.
  5. 제4항에 있어서,
    상기 홈 기지국으로부터 상기 요청 데이터에 대한 협력을 요청받은 경우, 상기 요청 데이터를 상기 홈 기지국에 전송하는 단계를 더 포함하는 것을 특징으로 하는 로컬 기지국의 협력적 캐슁 방법.
  6. 복수 개의 기지국들이 서로 연결되어 협력적으로 캐쉬를 사용하는 이동통신 시스템에서 특정 데이터를 저장하도록 미리 결정된 홈 기지국의 협력적 캐슁 방법에 있어서,
    로컬 기지국으로부터 데이터 요청 수신 시, 상기 요청 데이터의 저장 여부를 판단하는 판단 단계;
    저장 시, 상기 요청 데이터를 상기 로컬 기지국으로 전송하는 전송 단계; 및
    미 저장 시, 상기 요청 데이터를 저장할 공간이 있는지 여부에 따라 상기 요청 데이터의 협력 여부를 결정하는 협력 결정 단계를 포함하는 것을 특징으로 하는 홈 기지국의 협력적 캐슁 기법.
  7. 제6항에 있어서, 상기 전송 단계 이후에,
    상기 요청 데이터에 대한 기대 저장 값을 갱신하는 단계를 더 포함하며,
    상기 기대 저장 값은 상기 요청 데이터를 협력을 위해 사용함으로써 기대되는 이득의 값으로 정의되는 것을 특징으로 하는 홈 기지국의 협력적 캐슁 기법.
  8. 제7항에 있어서, 상기 기대 저장 값은 하기의 수학식 2와 같이 정의되는 것을 특징으로 하는 홈 기지국의 협력적 캐슁 기법.
    [수학식 2]
    Figure pat00002

    여기서, m은 서로 연결된 기지국의 수, nd는 기지국의 협력 파트로 해당 데이터를 요청한 기지국의 수, c는 요청 데이터를 외부 서버로부터 가져오는데 필요한 비용, c’은 요청 데이터를 클러스터 내부의 기지국에서 가져오는데 필요한 비용, pd_c는 클러스터 내의 한 기지국에서 해당 데이터가 적어도 한번 요청될 확률, k는 해당 데이터를 요청한 기지국의 수 이다.
  9. 제6항에 있어서, 상기 협력 결정 단계는,
    상기 요청 데이터를 저장할 공간이 있는 경우, 상기 로컬 기지국에 협력 요청 메시지를 전송하는 단계; 및
    상기 기지국으로부터 전송되는 상기 요청 데이터를 수신하여 캐쉬의 협력 파트에 저장하는 단계를 더 포함하는 것을 특징으로 하는 홈 기지국의 협력적 캐슁 기법.
  10. 제9항에 있어서, 상기 협력 결정 단계는,
    상기 요청 데이터를 저장할 공간이 없는 경우, 상기 요청 데이터에 대한 기대 저장 값을 계산하는 단계;
    상기 요청 데이터의 기대 저장 값과, 상기 협력 파트에 저장된 데이터들에 대한 최소 기대 저장 값을 비교하는 단계;
    상기 요청 데이터의 기대 저장 값이 더 큰 경우, 상기 로컬 기지국에 협력 요청 메시지를 전송하는 단계;
    상기 기지국으로부터 전송되는 상기 요청 데이터를 수신하고, 상기 최소 기대 저장 값을 가지는 데이터를 삭제하는 단계; 및
    상기 수신한 요청 데이터를 상기 협력 파트에 저장하는 단계를 더 포함하는 것을 특징으로 하는 홈 기지국의 협력적 캐슁 기법.
  11. 제10항에 있어서,
    상기 요청 데이터의 기대 저장 값이 더 작은 경우, 상기 요청 데이터에 대한 협력을 중단하는 단계를 더 포함하는 것을 특징으로 하는 홈 기지국의 협력적 캐슁 기법.
  12. 복수 개의 기지국들이 서로 연결되어 협력적으로 캐쉬를 사용하는 이동통신 시스템에서 협력적 캐슁을 수행하는 로컬 기지국에 있어서,
    상기 로컬 기지국과 연결된 적어도 하나 이상의 노드들과 유선 또는 무선 통신을 수행하는 인터페이스부;
    상기 로컬 기지국에 연결된 클라이언트에게 서비스할 데이터를 저장하는 로컬 파트와, 상기 로컬 기지국이 미리 저장하여 상기 노드들에게 서비스를 제공하도록 미리 결정된 데이터를 저장하는 협력 파트를 포함하는 캐쉬를 구비하는 저장부; 및
    상기 클라이언트로부터 데이터 요청 수신 시 상기 요청 데이터가 상기 캐쉬에 저장되었는지 판단하고, 미 저장 시 상기 요청 데이터를 저장하도록 미리 결정된 홈 기지국에게 상기 요청 데이터를 요청하며, 상기 홈 기지국이 상기 요청 데이터를 저장하고 있는지 여부에 따라 상기 홈 기지국 또는 서버로부터 상기 요청 데이터를 획득하여 상기 클라이언트에게 상기 요청 데이터를 서비스하도록 제어하는 제어부를 포함하는 것을 특징으로 하는 로컬 기지국.
  13. 제12항에 있어서, 상기 제어부는,
    상기 홈 기지국이 상기 요청 데이터를 저장하고 있는 경우 상기 요청 데이터를 상기 홈 기지국으로부터 수신하여 상기 클라이언트에게 서비스하며, 상기 요청 데이터를 상기 로컬 파트에 저장하도록 제어하는 것을 특징으로 하는 로컬 기지국.
  14. 제13항에 있어서, 상기 제어부는,
    상기 로컬 파트에 저장된 기간이 가장 오래된 데이터를 삭제한 후, 상기 요청 데이터를 상기 로컬 파트에 저장하는 것을 특징으로 하는 로컬 기지국.
  15. 제12항에 있어서, 상기 제어부는,
    상기 홈 기지국이 상기 요청 데이터를 저장하고 있지 않은 경우 상기 요청 데이터를 서버로부터 획득하고, 상기 요청 데이터를 상기 클라이언트에게 서비스하며, 상기 로컬 파트에 저장하도록 제어하는 것을 특징으로 하는 로컬 기지국.
  16. 제15항에 있어서, 상기 제어부는,
    상기 홈 기지국으로부터 상기 요청 데이터에 대한 협력을 요청받은 경우, 상기 요청 데이터를 상기 홈 기지국에 전송하도록 제어하는 것을 특징으로 하는 로컬 기지국.
  17. 복수 개의 기지국들이 서로 연결되어 협력적으로 캐쉬를 사용하는 이동통신 시스템에서 협력적 캐슁을 수행하는 홈 기지국에 있어서,
    상기 홈 기지국과 연결된 적어도 하나 이상의 노드들과 유선 또는 무선 통신을 수행하는 인터페이스부;
    상기 홈 기지국에 연결된 클라이언트에게 서비스할 데이터를 저장하는 로컬 파트와, 상기 홈 기지국이 미리 저장하여 상기 노드들에게 서비스를 제공하도록 미리 결정된 데이터를 저장하는 협력 파트를 포함하는 캐쉬를 구비하는 저장부; 및
    로컬 기지국으로부터 데이터 요청 수신 시 상기 요청 데이터가 상기 협력 파트에 저장되어 있는지 여부를 판단하고, 저장 시 상기 요청 데이터를 상기 로컬 기지국으로 전송하며, 미 저장 시 상기 요청 데이터를 저장할 공간이 있는지 여부에 따라 상기 요청 데이터의 협력 여부를 결정하는 제어부를 포함하는 것을 특징으로 하는 홈 기지국.
  18. 제17항에 있어서, 상기 제어부는,
    상기 요청 데이터 전송 후, 상기 요청 데이터에 대한 기대 저장 값을 갱신하도록 제어하며,
    상기 기대 저장 값은 상기 요청 데이터를 협력을 위해 사용함으로써 기대되는 이득의 값으로 정의되는 것을 특징으로 하는 홈 기지국.
  19. 제18항에 있어서, 상기 기대 저장 값은 하기의 수학식 3과 같이 정의되는 것을 특징으로 하는 홈 기지국.
    [수학식 3]
    Figure pat00003

    여기서, m은 서로 연결된 기지국의 수, nd는 기지국의 협력 파트로 해당 데이터를 요청한 기지국의 수, c는 요청 데이터를 외부 서버로부터 가져오는데 필요한 비용, c’은 요청 데이터를 클러스터 내부의 기지국에서 가져오는데 필요한 비용, pd_c는 클러스터 내의 한 기지국에서 해당 데이터가 적어도 한번 요청될 확률, k는 해당 데이터를 요청한 기지국의 수 이다.
  20. 제17항에 있어서, 상기 제어부는,
    상기 요청 데이터를 저장할 공간이 있는 경우 상기 로컬 기지국에 협력 요청 메시지를 전송하며, 상기 기지국으로부터 전송되는 상기 요청 데이터 수신 시 상기 협력 파트에 저장하도록 제어하는 것을 특징으로 하는 홈 기지국.
  21. 제20항에 있어서, 상기 제어부는,
    상기 요청 데이터를 저장할 공간이 없는 경우 상기 요청 데이터에 대한 기대 저장 값을 계산하고, 상기 요청 데이터의 기대 저장 값과 상기 협력 파트에 저장된 데이터들에 대한 최소 기대 저장 값을 비교하며, 상기 요청 데이터의 기대 저장 값이 더 큰 경우 상기 로컬 기지국에 협력 요청 메시지를 전송하고, 상기 기지국으로부터 전송되는 상기 요청 데이터를 수신하고 상기 최소 기대 저장 값을 가지는 데이터를 삭제하며, 상기 수신한 요청 데이터를 상기 협력 파트에 저장하도록 제어하는 것을 특징으로 하는 홈 기지국.
KR1020120008983A 2012-01-30 2012-01-30 이동통신 시스템에서 협력적 캐슁 방법 및 장치 KR20130087810A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120008983A KR20130087810A (ko) 2012-01-30 2012-01-30 이동통신 시스템에서 협력적 캐슁 방법 및 장치
US13/753,948 US9521064B2 (en) 2012-01-30 2013-01-30 Cooperative caching method and apparatus for mobile communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120008983A KR20130087810A (ko) 2012-01-30 2012-01-30 이동통신 시스템에서 협력적 캐슁 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20130087810A true KR20130087810A (ko) 2013-08-07

Family

ID=48871275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120008983A KR20130087810A (ko) 2012-01-30 2012-01-30 이동통신 시스템에서 협력적 캐슁 방법 및 장치

Country Status (2)

Country Link
US (1) US9521064B2 (ko)
KR (1) KR20130087810A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180037527A (ko) * 2016-10-04 2018-04-12 포항공과대학교 산학협력단 D2d 통신 기반의 데이터 오프로딩 방법 및 장치
US10129356B2 (en) 2013-11-15 2018-11-13 The Hong Kong University Of Science And Technology Physical layer caching for flexible MIMO cooperation in wireless networks

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130298175A1 (en) * 2012-05-02 2013-11-07 International Business Machines Corporation Constructing a customized message in a video-on-demand service
CN111066004A (zh) * 2017-09-14 2020-04-24 索尼公司 信息处理设备、信息处理方法以及程序
CN113473540B (zh) * 2021-05-31 2023-05-30 南京邮电大学 异构蜂窝网络中基于基站协作的混合缓存方法
CN114070859B (zh) * 2021-11-29 2023-09-01 重庆邮电大学 基于边界成本效益模型的边云缓存协同方法、装置及系统

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864854A (en) * 1996-01-05 1999-01-26 Lsi Logic Corporation System and method for maintaining a shared cache look-up table
US8060613B2 (en) * 1998-02-10 2011-11-15 Level 3 Communications, Llc Resource invalidation in a content delivery network
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US7054935B2 (en) * 1998-02-10 2006-05-30 Savvis Communications Corporation Internet content delivery network
DE19900636B8 (de) * 1999-01-11 2005-04-07 Gailer, Peter Datenzugriffs- und -verwaltungssystem sowie Verfahren zum Datenzugriff und zur Datenverwaltung für ein Rechnersystem sowie deren Verwendung
US6999988B2 (en) * 2000-07-13 2006-02-14 Lucent Technologies Inc. Method and system for data layout and replacement in distributed streaming caches on the Internet
US20020184327A1 (en) * 2001-05-11 2002-12-05 Major Robert Drew System and method for partitioning address space in a proxy cache server cluster
JP2003248611A (ja) * 2002-02-26 2003-09-05 Hitachi Ltd 記憶管理統合システム、および、その記憶管理制御方法
US7096249B2 (en) * 2002-03-29 2006-08-22 Intel Corporation Method and system for distributing applications
US8480839B2 (en) * 2002-05-22 2013-07-09 Anvis Deutschland Gmbh Method for manufacturing composite systems made of metal and polymer shaped parts
US6973546B2 (en) * 2002-09-27 2005-12-06 International Business Machines Corporation Method, system, and program for maintaining data in distributed caches
US7823156B2 (en) * 2005-02-03 2010-10-26 Hewlett-Packard Development Company, L.P. Method of hashing address space to storage servers
US8055845B2 (en) * 2005-02-03 2011-11-08 Hewlett-Packard Development Company, L.P. Method of cooperative caching for distributed storage system
US7822046B2 (en) * 2006-10-13 2010-10-26 Cisco Technology, Inc. Triggering bandwidth reservation and priority remarking
US20080209053A1 (en) * 2007-02-28 2008-08-28 Microsoft Corporation HTTP-Based Peer-to-Peer Framework
US9456054B2 (en) * 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US8484162B2 (en) * 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US9286293B2 (en) * 2008-07-30 2016-03-15 Microsoft Technology Licensing, Llc Populating and using caches in client-side caching
US8271610B2 (en) * 2008-08-28 2012-09-18 Sycamore Networks, Inc. Distributed content caching solution for a mobile wireless network
US8108620B2 (en) * 2009-03-10 2012-01-31 Hewlett-Packard Development Company, L.P. Cooperative caching technique
US8782323B2 (en) * 2009-10-30 2014-07-15 International Business Machines Corporation Data storage management using a distributed cache scheme
US8578109B2 (en) * 2010-09-30 2013-11-05 Commvault Systems, Inc. Systems and methods for retaining and using data block signatures in data protection operations
US9116850B2 (en) * 2010-12-14 2015-08-25 Commvault Systems, Inc. Client-side repository in a networked deduplicated storage system
US9020900B2 (en) * 2010-12-14 2015-04-28 Commvault Systems, Inc. Distributed deduplicated storage system
JP5602311B2 (ja) * 2011-04-15 2014-10-08 株式会社日立製作所 ファイル共有システム及びファイル共有方法
US8762477B2 (en) * 2012-02-28 2014-06-24 Futurewei Technologies, Inc. Method for collaborative caching for content-oriented networks
US20140045475A1 (en) * 2012-08-08 2014-02-13 International Business Machines Corporation Techniques for Improving Cache Effectiveness of Caches with Low User Population

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10129356B2 (en) 2013-11-15 2018-11-13 The Hong Kong University Of Science And Technology Physical layer caching for flexible MIMO cooperation in wireless networks
KR20180037527A (ko) * 2016-10-04 2018-04-12 포항공과대학교 산학협력단 D2d 통신 기반의 데이터 오프로딩 방법 및 장치

Also Published As

Publication number Publication date
US9521064B2 (en) 2016-12-13
US20130198330A1 (en) 2013-08-01

Similar Documents

Publication Publication Date Title
US11909639B2 (en) Request routing based on class
US10521348B2 (en) Managing resources using resource expiration data
US9608957B2 (en) Request routing using network computing components
KR20130087810A (ko) 이동통신 시스템에서 협력적 캐슁 방법 및 장치
WO2017025052A1 (zh) 资源缓存方法及装置
JP2002525749A (ja) インターネットキャッシングシステム、方法およびそのシステムの構成
CN107682281B (zh) 一种sdn交换机和sdn交换机的应用管理方法
KR102235622B1 (ko) IoT 환경에서의 협력 에지 캐싱 방법 및 그를 위한 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid