KR100430754B1 - 분산 가상 환경에서의 확장성 있는 데이터 관리방법 - Google Patents
분산 가상 환경에서의 확장성 있는 데이터 관리방법 Download PDFInfo
- Publication number
- KR100430754B1 KR100430754B1 KR10-2002-0035250A KR20020035250A KR100430754B1 KR 100430754 B1 KR100430754 B1 KR 100430754B1 KR 20020035250 A KR20020035250 A KR 20020035250A KR 100430754 B1 KR100430754 B1 KR 100430754B1
- Authority
- KR
- South Korea
- Prior art keywords
- cache
- objects
- user
- management module
- value
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 분산 가상 환경에서의 확장성 있는 데이터 관리방법에 관한 것으로, 응용 프로그램에서 사용자가 다음 위치로 움직일 때마다 사용자의 가시 영역에 있는 객체가 클라이언트 내 캐시관리모듈에 삽입되어 있는지를 데이터 관리 모듈의 업데이트 캐시 메소드에 객체 확인을 요청한다. 이후, 데이터 관리 모듈의 업데이트 캐시 메소드는 응용 프로그램으로부터의 객체 확인 요청에 따라 모든 객체들이 캐시관리모듈에 의해 관리되는 캐시에 삽입되어 있는지를 판단하여 캐시에 삽입되어 있을 경우, 응용 프로그램에 렌더링할 준비가 되어 있음을 응용 프로그램에 통보한다. 데이터 관리 모듈의 업데이트 캐시 메소드는 월드 DB와 사용자 DB를 갱신하기 위해 캐시 관리 모듈의 캐시에 저장된 객체들의 억세스 카운트를 증가하도록 제어함과 동시에, 월드 데이터 서버에 억세스 카운트 증가 정보를 제공하다. 그러면, 캐시 관리 모듈은 캐시에 객체들을 저장할 용량이 충분한가를 판단하여 충분하지 못한 경우, 거리와 객체에 대한 선호도(interest) 값 및 객체에 대한 평균 인기도(popularity) 값을 사용하여 캐시에 있는 객체들의 우선 순위를 결정한다. 이후, 객체 우선 순위를 기준으로 순위가 낮은 객체들을 삭제하는 캐시 교체 작업을 통해 캐시 저장 공간을 확보하고 사용자의 가시 영역에 있는 객체들을 삽입한다. 이때, 월드 데이터 서버는 데이터 관리 모듈의 업데이트 캐시 메소드로부터 제공되는 억세스 카운트 증가 정보에 따라 객체의 거리와 객체에 대한 선호도(interest) 값 및 객체에 대한 평균 인기도(popularity) 값을 갱신한다. 따라서, 캐시 적중률을 향상시켜 클라이언트가 네트워크 상으로 전송받아야 하는 메시지 수를 줄일 수 있으며, 또한 사용자와의 실시간 상호 작용을 위한 성능의 개선이 이루어지게 되는 효과가 있다.
Description
본 발명은 분산 가상 환경(DVEs)에서의 확장성 있는 데이터 관리방법에 관한 것으로, 특히 대규모 분산 가상환경에서의 요구 기반 전송 기법에서 발생하는 네트워크 부하를 줄이기 위한 사용자 기반의 캐싱과 프리페칭 기법을 제안할 수 있도록 하는 방법에 관한 것이다.
통상적으로, 분산 가상 환경(DVEs)은 사용자가 가상세계에 있는 물체를 보고 상호 작용하면서 가상세계를 탐험하는 것이며, 실시간 상호 작용을 지원하기 위해 가상세계의 데이터를 서버로부터 클라이언트 쪽에 다운로드받는 기법이 연구되어 왔다.
이러한, 분산 가상 환경에서 가상세계의 크기가 커짐에 따라 모든 가상 세계의 데이터를 클라이언트에 복제할 경우, 복제에 따른 비용이 많이 들어 효율적이지 못하다. 이러한 전송 비용을 줄이기 위한 주문형 전송 기법이 많이 제안되었다.
여기서, 주문형 전송 기법은 모든 가상 세계의 물체를 클라이언트에 제공하기보다는 사용자에게 필요한 물체만이 선택되어 전송되어 짐에 따라 필요한 데이터만을 복제하는 기법이다.
효율적인 데이터 복제를 위해 두 가지 기법을 사용하는데, 두 가지 기법으로는 우선 순위 기반의 객체 전송 기법과 캐싱 및 프리페칭 기법으로 구분된다.
이중, 우선 순위 기반의 객체 전송 기법은 사용자의 시야 영역에 있는 객체들을 여과하여 다중 해상도 같은 LOD(Level of Details) 기법을 이용해 사용자에게가장 높은 충실감을 제공하는 객체들만을 전송하며, 이는 데이터의 세부 그래픽과 객체 전송의 비용을 조절하여 가상 물체의 사실감과 상호작용을 위한 효율을 동시에 최대화할 수 있는 것이다.
그리고, 캐싱과 프리페칭 기법은 데이터의 지역성을 이용하여 클라이언트의 접근 패턴이 시간이 지남에 따라 변해도 요청된 데이터를 즉각적으로 사용 가능하게 만드는 것으로, 그 효율성은 캐시에 있는 데이터의 우선순위를 어떻게 결정할 것인가에 달려 있기 때문에, 가상 객체의 우선 순위를 위해 사용자의 행동을 정확히 예측하는 것이 분산 가상 환경에서의 확장성 있는 데이터 관리에 중요한 요소가 된다.
기존의 캐싱과 프리페칭 기법을 위한 방법의 대부분은 우선 순위 기반의 객체 전송 기법과 유사하게 사용자와 객체간의 거리에 의거한 지역적 관계에 기초하여 캐싱과 프리페칭을 수행한다.
이러한, 지역적 관계에 기초한 캐싱과 프리페칭의 단점을 해결한 것이 개별 사용자의 작업에 의거한 주석을 캐싱과 프리페칭에 사용하는 퀵(QUICK)을 이용하는 것으로, 여기서, 퀵(QUICK)은 사용자의 행동 패턴을 캐싱과 프리페칭에 반영시키기 위하여 개별 사용자의 작업에 의거한 중요도 값을 제안하며, 각각의 객체가 개별 사용자의 작업에 의존하는 중요도 값을 갖고 있기 때문에, 응용 프로그램이 객체를 캐시로부터 교체할 때 사용자 기반의 결정을 내릴 수가 있는 것이다.
지역적 관계에 기초한 캐싱과 프리페칭 기법은 사용자와 객체간의 거리를 캐싱과 프리페칭의 기준으로 삼는다. 지역적 관계는 객체가 사용자에게 가까우면 가까울수록 다시 방문 될 확률이 더 높다는 관찰에 의해 그 관계가 형성되는 것으로, 이 기법은 버추얼 워크 스로우(virtual walk through) 같이 공간적 밀집도가 높은 상황에서는 전통적인 LRU(latest recently used system)등의 캐싱 기법에 비해 더 좋은 성능을 보여준다.
그러나, 지역적 관계에 기초한 캐싱과 프리페칭 기법은 개별 사용자의 객체에 대한 선호도(interest)를 반영하지 못하는 것으로, 가상세계의 크기가 커짐에 따라 다양한 타입의 객체가 생기게 되며, 사용자는 이 중 일부분의 객체에만 선호도(interest)를 갖고 이 객체들을 더 자주 방문하게 된다. 이는 사용자의 행동 패턴이 사용자와 객체간의 거리뿐만 아니라 사용자의 객체에 대한 선호도(interest)에도 영향을 받는다는 것을 의미한다.
퀵(QUICK)은 객체의 중요도를 우선 순위 하기 위해 주석을 사용하는 것으로, 가상 세계의 저자는 가상 세계를 만들 때, 각각의 객체의 중요도 값을 사용자의 미리 정의된 작업에 따라 주석을 달며, 이 값은 응용프로그램이 캐시에서 객체를 선택할 때, 어떤 객체가 더 중요한지를 선택할 수 있게 해준다.
다시 말해서, 퀵(QUICK)은 사용자의 작업에 따라 주석을 사용하여 각각의 객체에 중요도 값을 부여함으로써, 사용자 기반의 캐싱을 가능하게 하는 것으로, 이 방법은 사용자의 선호도(interest)가 미리 정의될 수 있는 협동 엔지니어링 같은 응용 프로그램에서는 효율적일 수 있다.
그러나, 가상 쇼핑몰 같은 응용 프로그램에서 사용자의 선호도(interest)는 미리 정의되지 않으며, 게다가 시간이 지남에 따라 변하기 때문에 주석을 기입하는작업은 이를 위한 자동화 소프트웨어가 지원되지 않는 경우 지루하며 어려운 작업이 진행됨에 따라 주석을 사용한 작업 기반의 중요도 값을 사용하는 것은 사용자의 선호도(interest)를 완전히 반영하지 못하게 되는 문제점이 있었다.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출한 것으로서, 그 목적은 대규모 분산 가상환경에서 요구 기반 전송 기법에서 발생하는 네트워크 부하를 줄이기 위해 캐시 교체가 필요할 때 사용자에게 우선 순위가 낮은 객체들을 먼저 삭제하여 저장 공간이 확보될 경우, 사용자의 시야에 있는 객체들을 삽입할 수 있도록 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명에서 분산 가상 환경에서의 확장성 있는 데이터 관리방법은 클라이언트 내 응용 프로그램에서 사용자가 다음 위치로 움직일 때마다 사용자의 가시 영역에 있는 객체가 클라이언트 내 캐시관리모듈에 삽입되어 있는지를 클라이언트 내 데이터 관리 모듈의 업데이트 캐시 메소드에 객체 확인을 요청하는 단계; 응용 프로그램으로부터의 객체 확인 요청에 따라 모든 객체들이 캐시관리모듈에 의해 관리되는 캐시에 삽입되어 있는지를 판단하여 캐시에 삽입되어 있을 경우, 응용 프로그램에 렌더링할 준비가 되어 있음을 응용 프로그램에 통보하는 단계; 데이터 관리 모듈의 업데이트 캐시 메소드에서 월드 데이터베이스(DataBase : DB)와 사용자 DB를 갱신하기 위해 캐시 관리 모듈의 캐시에 저장된 객체들의 억세스 카운트를 증가하도록 제어함과 동시에, 월드 데이터 서버에 억세스 카운트 증가 정보를 제공하는 단계; 데이터 관리 모듈의 업데이트 캐시 메소드로부터 캐시에 저장된 객체들의 억세스 카운트를 증가하도록 하는 제어에 따라 캐시 관리 모듈은 캐시에 객체들을 저장할 충분한 용량이 있는지를 판단하는 단계; 판단 단계에서 캐시에 저장 공간이 충분하지 못한 경우, 거리와 객체에 대한 선호도(interest) 값 및 객체에 대한 평균 인기도(popularity) 값을 사용하여 캐시의 객체 우선 순위를 결정하는 단계; 객체 우선 순위가 결정되면, 캐시 교체 작업을 통해 캐시 저장 공간이 확보될 경우 사용자의 시야에 있는 객체들을 삽입하는 단계; 월드 데이터 서버에서 데이터 관리 모듈의 업데이트 캐시 메소드로부터 제공되는 억세스 카운트 증가 정보에 따라 객체의 거리와 객체에 대한 선호도(interest) 값 및 객체에 대한 평균 인기도(popularity) 값을 갱신하는 단계를 포함하는 것을 특징으로 한다.
도 1은 본 발명에 따른 분산 가상 환경에서의 확장성 있는 데이터 관리방법을 수행하기 위한 블록 구성도이고,
도 2는 본 발명에 따른 캐시 적중률을 성능 측정 기준으로 하였을 때의 비교 결과를 도시한 도면이며,
도 3은 본 발명에 따른 관심 있는 객체에 대한 캐시 적중률을 성능 측정 기준으로 비교한 결과를 도시한 도면이며,
도 4는 본 발명에 따른 가상 세계에 참여한 사용자의 작업 또는 선호도(interest)가 미리 주석을 사용하여 알려져 있을 때의 제안된 기법과 기존의 MRM 기법 성능을 비교한 실험 데이터를 도시한 도면이다.
<도면의 주요부분에 대한 부호의 설명>
10 : 클라이언트 11 : 응용 프로그램
13 : 데이터관리모듈의 업데이트 캐시 메소드
15 : 캐시관리모듈 20 : 월드 데이터 서버
A : 인터넷
이하, 첨부된 도면을 참조하여 본 발명에 따른 일 실시예를 상세하게 설명하기로 한다.
도 1은 본 발명에 따른 분산 가상 환경에서의 확장성 있는 데이터 관리방법을 수행하기 위한 블록 구성도로서, 클라이언트(10)와, 월드 데이터 서버(20)를 포함한다.
클라이언트(10)는 사용자에 의해 사용되는 개인용 또는 사업자용 컴퓨터(Personal Computer : PC)를 의미하는 것으로, 응용 프로그램(11)과, 데이터관리모듈의 업데이트 캐시 메소드(13)와, 캐시관리모듈(15)을 구비한다.
응용 프로그램(11)은 사용자(예로, 가상 캐릭터)가 다음 위치로 움직일 때마다 사용자의 가시 영역에 있는 객체가 캐시관리모듈(15)에 삽입되어 있는지를 데이터 관리 모듈의 업데이트 캐시 메소드(13)에 객체 확인 요청한다.
데이터 관리 모듈의 업데이트 캐시 메소드(13)는 응용 프로그램(11)으로부터의 객체 확인 요청에 따라 모든 객체들이 캐시관리모듈(15)에 의해 관리되는 캐시(도시되지 않음)에 삽입되어 있을 경우, 응용 프로그램(11)에 렌더링(PC 모니터에 출력함)할 준비가 되어 있음을 통보하는 반면에, 렌더링할 객체들이 모두 캐시에 삽입되어 있지 않을 경우, 인터넷(A)을 통해 월드 데이터 서버(20)로 필요한 객체들을 렌더링할 수 있도록 객체 데이터를 요청한다.
데이터 관리 모듈의 업데이트 캐시 메소드(13)는 내부적으로 월드 데이터베이스(DataBase : DB)와 사용자 DB를 갱신하기 위해 캐시 관리 모듈(15)의 캐시에 저장된 객체들의 억세스 카운트를 증가하도록 제어함과 동시에, 월드 데이터 서버(20)에 억세스 카운트 증가 정보를 제공한다.
캐시 관리 모듈(15)은 캐시에 삽입될 객체들의 리스트를 매개변수로 받도록 데이터 관리 모듈의 업데이트 캐시 메소드(13)에 의해 호출되는 것으로, 캐시에 객체들을 저장할 충분한 용량이 있는지를 판단한다.
상술한 판단에서 캐시에 저장 공간이 충분하지 못한 경우, 캐시 안의 객체들을 교체하기 위해 거리와 객체에 대한 선호도(interest) 값 및 객체에 대한 평균 인기도(popularity) 값을 사용하여 캐시에 있는 객체들의 우선 순위를 결정한다.
여기서, 캐시 관리 모듈(15)에 의해 결정되는 객체 우선 순위 방법은 제안된 캐시 교체 알고리즘에 의해 결정된다.
보다 상세하게 설명하면, 사용자와 객체간의 우선 순위를 계산하기 위해 쓰이는 공식으로는, 수학식 1과 같다.
수학식 1에서 DS(A,O), IS(A,O), PS(O,W)는 각각 거리 점수, 선호도(interest) 점수, 인기도(popularity) 점수를 의미하며, α와 β는 각각의 요소들간의 관계를 조절하는 매개변수로서, α는 객체의 우선 순위를 계산할 때 지역적 관계의 기여도로 그 값은 0.7∼0.8 사이의 값일 경우 가장 좋은 캐시의 성능을 보여주고, β는 선호도와 인기도중 어느 쪽이 우선 순위에 더 기여하는 지를 결정하는 변수로, 그 값을 결정하기 위한 공식은 수학식 2와 같다.
수학식 2는 사용자가 가상 세계를 CN-Timemax,w에 가까운 값만큼의 시간을 여행했을 경우에 보다 정확한 선호도(interest) 값을 사용할 수 있다는 것을 나타낸 것으로, CN-Timemax,w을 가상 세계의 모든 객체가 사용자에 의해 다수 번 접근될 만큼 충분히 큰 값을 배정함으로써 적절한 β값을 얻을 수 있는 것이다.
여기서, 사용자가 가능한 빨리 인기도(popularity) 값 대신 선호도(interest) 값을 사용할 수 있도록 CN-Timemax,w을정해야 하며, CN-Timemax,w값을 결정하는 중요한 요소는 가상 세계의 크기인 것이다. 가상 세계의 크기가 클 경우에 사용자가 관심 있는 객체들을 찾는데 걸리는 시간이 길어짐에 따라 더 큰 CN-Timemax,w값을 배정해야 한다.
다음으로, 각각 거리 점수거리 점수(DS(A,O))를 결정하는 공식은 moving mode When |a| = 0 and |v| > 0 during some period 와, Wandering mode When |a| != 0 and |v| = 0 during some period로 구분한 수학식 3과 같다.
DS(A,O) =
수학식 3의 Dmax는 캐시관리모듈(15)내 캐시에 있는 객체들 중 사용자와의 최대 거리 값을 가진 객체에서 선택되어야만 거리 점수가 균등분포를 가질 수 있는 것으로, 무빙 모드(moving mode)와 원더링 모드(wandering mode)로 구분한다.
즉, 무빙 모드의 구분은 사용자가 가상 세계를 일정한 속도로 움직일 때이며, 이러한 경우 이외에는 원더링 모드로 분류한다.
이는, 분산 가상 환경을 위한 응용 프로그램이 몇 가지의 속도 구분 모드(예로, 걷기 모드, 달리기 모드, 기어가기 모드)만을 지원하는 사실에 기초하며, 사용자 행동 모드는 응용 프로그램의 종류마다 다소 차이가 있으며, 응용 프로그램이 속도 변화에 대한 인터페이스를 제공할 경우, 사용자 행동 모드 구분을 위한 속도변화를 쉽게 구별할 수 있지만, 그렇지 않은 경우, 네트워크를 통해 제공받은 위치 변화 메시지를 통해 속도를 계산하므로 사용자의 속도 변화를 쉽게 알아낼 수 있다.
다음으로, 선호도(interest) 값과 인기도(popularity) 값을 구하는 공식은 수학식 4와 같다.
수학식 4의 ACmax및 ACmin은 캐시에 있는 객체들 중 최대 억세스 카운트와 최소 억세스 카운트 값을 사용해야만 선호도(interest) 점수와 인기도(popularity) 점수의 균등분포를 갖을 수 있는 것이다.
억세스 카운트(access count)값은 사용자가 객체를 접할 때마다 갱신되는 것으로, 사용자 DB는 클라이언트(10) 쪽에서 관리되며, 월드 DB는 월드 데이터 서버(20) 쪽에서 관리되며, 사용자가 로그인 시 클라이언트(10) 쪽의 사용자 DB가 초기화되며, 사용자의 가상 세계 여행 중 갱신되며, 사용자 로그오프 시 갱신된 객체의 카운트(count)가 서버로 전송되어 월드 DB를 갱신하게 된다.
상술한 바와 같이, 우선 순위 알고리즘 계산식에 의해 객체 우선 순위가 결정되면, 캐시 관리 모듈(15)은 캐시 교체 작업을 수행하는데, 캐시 교체 작업은 캐시에 있는 객체들 중 우선 순위가 가장 낮은 객체를 찾아서 삭제하는 과정으로서, 캐시 저장 공간이 충분히 확보될 때까지 상술한 삭제 과정을 반복하며, 이러한 반복 과정이 끝나게 되어 캐시 저장 공간이 확보될 경우 사용자의 시야에 있는 객체들을 삽입한다. 객체 삽입 후, 객체들의 우선 순위를 갱신하기 위해 각 객체들의 억세스 카운트(access count)를 증가시킨다.
월드 데이터 서버(20)는 데이터 관리 모듈의 업데이트 캐시 메소드(13)로부터 제공되는 억세스 카운트 증가 정보에 따라 객체의 거리와 객체에 대한 선호도(interest) 값 및 객체에 대한 평균 인기도(popularity) 값을 갱신한다.
참고적으로, 선호도(interest) 값 및 객체에 대한 평균 인기도(popularity) 값에 의해 캐싱과 프리페칭 알고리즘이 사용되는 것으로, 사용자는 가상 세계에 존재하는 객체들 중 선호도가 있는 객체들이 있을 경우, 이를 다른 객체들보다 더 빨리 전송 받기를 원하며, 또한 사용자의 객체에 대한 선호도는 미리 정의될 수도 있고, 바뀔 수도 있으며, 응용 프로그램의 실행 도중 결정될 수도 있다.
즉, 사용자는 가상 쇼핑몰에서 각자 자신의 선호도가 있는데, 어떤 사용자는 옷을 사려하고, 어떤 사용자는 서점을 둘러보고 싶어한다. 이러한 선호도가 사용자마다 틀리고 시간에 따라 변하긴 하지만, 일정 시간의 개별 사용자에 대해서는 특정 선호도(interest)의 집합으로 수렴되어진다.
이와 같이, 각각의 사용자에 대해서 높은 선호도를 가지고 있는 객체의 집합을 구별해 내는 것으로, 구별해낸 결과를 캐싱과 프리페칭의 기본으로 사용한다.
또한, 사용자의 선호도에 따라 높은 선호도를 가진 객체와 낮은 선호도를 가진 객체를 구별할 뿐만 아니라, 객체의 인기도에 따라 높은 인기를 가진 객체와 낮은 인기를 가진 객체로 구별하는 것도 가능하다.
높은 인기를 가진 객체란 이 객체가 많은 사용자에 의해 접근되었다는 것을 의미하는 것으로, 대부분의 사용자가 이 객체에 선호도가 있다는 것을 의미한다.
사용자의 선호도(interest)를 캐싱과 프리캐칭에 적용하기 부적합할 경우에는 객체의 인기를 캐싱과 프리페칭의 기준으로 삼는다. 객체의 인기가 사용자의 선호도(interest)보다 더 우선순위를 가지게 될 때는 사용자가 가상 세계에 처음 들어왔을 때와, 사용자가 새롭게 갱신된 가상 세계 데이터를 여행할 때이다.
이와 같이, 각각의 사용자와 객체에 있는 선호도와 인기는 사용자와 객체간의 지역적 거리와는 상관없이 사용자의 접근 패턴을 강하게 반영함에 따라 지역적 관계와 사용자와 객체에 있는 선호도와 인기도를 같이 사용한다면, 더 나은 캐싱과 프리페칭 알고리즘을 사용할 수 있는 것이다.
또한, 사용자 행동 모드의 구분으로서, 사용자는 가상 세계를 여행하면서 두 가지 행동 모드(mode)인 무빙 모드(moving mode)와 원더링 모드(wandering mode)를 반복한다.
지역적 관계를 캐시 교체 알고리즘과 프리페칭에 적용할 때 각에 의한 거리(angular distance)를 포함해야 할 지를 고려해야 하는 것으로, 각에 의한 거리가 캐시 교체 알고리즘의 성능에 영향을 끼치는 중요한 요소이지만, 반면에, 사용자가 갑자기 회전하는 가능성을 고려한다면 각에 의한 거리를 무시하는 것이 객체의 우선순위를 결정하는데 합리적인 것이다.
원더링 모드(wandering mode)에서의 사용자는 특정 장소를 배회하는 것으로, 어떤 방향으로든 움직일 가능성이 있기 때문에 사용자의 갑작스러운 회전을 고려하여 캐시 교체 알고리즘을 계산시 각에 의한 거리를 무시한다. 무빙 모드(moving mode)에서 사용자는 특정 목적지를 향하여 움직임에 따라 각에 의한 거리를 캐시 교체 알고리즘의 결정에 포함시키는 것이 더 좋은 캐시의 성능을 이룰 수 있다.
이러한, 두 가지 행동 양식의 구분은 가상 세계에서 사용자의 행동과 정확히 일치한다. 예로서, 가상 쇼핑몰에서 사용자는 무언가를 사기 위해, 또는 단순히 둘러보기 위해, 또는 다른 사용자와 대화를 하기 위해 특정 장소를 배회(wander)한 후, 사용자는 다른 장소로 이동(move)하고 다시 배회(wander)한다. 실제로 모든 가상 환경 응용 프로그램에서 사용자가 이 두 행동 양식을 교대로 한다.
한편, 도 2내지 도 4를 참조하면, 제안된 기법의 성능을 기존의 거리 기반의 캐싱 기법인 MRM과 비교하는 것으로, 분산 가상 환경에서의 데이터 관리 기법의 성능은 일반적으로 캐시 적중율(Hit Rates)에 의해 측정된다.
즉, 사용자가 얼마나 많이 네트워크를 통한 추가적인 데이터 전송없이 가상 객체들에 접근할 수 있는 가를 측정한다. 이는 캐시 교체 알고리즘이 사용자가 가까운 미래에 보게 될 객체들을 얼마나 효율적으로 유지시키는가를 나타내는 척도이다.
본 발명에 따라 제안된 기법의 성능을 측정하기 위해 또 하나의 새로운 척도, 사용자가 관심 있는 객체에 대한 캐시 적중율(Hit Rates for interested objects)을 사용한다. 즉, 사용자가 관심 있는 가상 객체를 얼마나 자주 즉시 접근할 수 있는 가를 측정한다.
사용자는 자신이 관심 있는 객체를 다른 객체들보다 더 빨리 접근하기를 원하기 때문에 이는 분산 가상 환경에서의 사용자 충실도를 나타내는 척도이다.
사용자가 관심 있는 객체에 대한 캐시 적중율은 아래 수학식 5와 같이 정의된다.
캐시 크기는 사용자의 시야에 포함되는 평균적인 객체의 숫자만큼의 크기로서 n × MA/M와 같이 정의된다. 여기서, n은 가상 세계의 객체의 숫자이며, M은 가상 세계의 크기, MA는 사용자의 시야의 크기이다.
본 발명에 따라 제안된 데이터 기법의 성능을 분석하기 위해 분산 가상 환경에서의 두 가지 데이터 분포를 가정하여 실험을 하였다.
첫째 실험은 가상 세계가 몇 개의 지역(region)으로 나뉘어져 있고, 각각의 지역에 선호도(interest) 종류가 있다고 가정한다. 지역에 있는 객체들은 지역의 선호도를 물려받는 것으로, 전형적인 예로 가상 쇼핑몰을 들 수 있다.
사용자는 특정 매장에 있는 객체들에 관심을 가지고, 반복적으로 그 매장을 방문함에 따라 수학식 4를 사용하여 객체의 방문 횟수를 DB에 유지함으로써 사용자의 선호하는 객체들을 추정할 수 있다.
도 2와 도 3은 각각 제안된 기법과 MRM의 캐시 적중율과 관심 있는 객체에 대한 캐시 적중율을 비교한 도면으로서, 도표에서 보여지는 것처럼 제안된 데이터 관리 기법은 기본 캐시 크기일 때, 캐시 적중율과 관심 있는 객체에 대한 캐시 적중율에 대해 기존 기법인 MRM 보다 평균적으로 10% 정도의 성능 향상을 보인다.
둘째 실험에서는 가상 세계에 참여하는 모든 사용자가 목적이나 작업을 가지고 있다고 가정한다. 이는 사용자의 작업에 더 중요한 객체의 집합을 이끌어낸다.
그 예로, 가상 공원을 관람할 목적으로 온 사용자는 공원의 사람들을 무시할 수도 있을 것이다. 반대로 가상 공원에서 다른 사람들과 채팅을 하러 온 사람들은 사람들에 대한 데이터를 중요할 것이다.
사용자의 작업 기반 관심을 캐시 교체 알고리즘에 반영하기 위해서는 주석 정보가 쓰이며, 가상 객체의 종류는 주석을 사용하여 알려져 있고, 사용자의 작업 또한 미리 알려져 있다고 가정한다. 수학식 1의 우선 순위화를 위해 필요한 선호도 스코어(interest score)는 객체의 주석정보와 사용자의 미리 정의된 선호도에 기반하여 응용 프로그램의 실행 도중에 결정된다.
도 4의 실험 결과는 제안된 기법이 사용자가 관심 있어 하는 객체를 좀 더 빨리 접근하게 할 수 있다는 점에서 기존의 기법인 MRM보다 우월하다는 것을 보여준다.
또한, 데이터 관리 기법의 성능을 클라이언트의 캐시 미스(cache miss)로 인하여 발생한 객체의 전송 숫자의 관점에서 기존의 연구와 비교했을 때는 다음과 같다.
클라이언트가 가상 세계의 객체들에 대해 N번의 방문을 한다고 가정하자. 캐시가 없다면 클라이언트는 객체들을 렌더링하기 위해 N개의 메시지를 모두 받아야 할 것이다.
N개의 객체들 중i% 의 객체가 사용자가 관심이 있는 객체라고 가정하자. N은 가상 세계의 객체들에 대한 방문 횟수를 나타내므로, N값이 크다는 것은 사용자가 가상 세계를 충분한 시간동안 여행했다는 것을 의미한다.
본 발명에 따라 제안된 연구는 기존의 기법인 MRM보다 어떤 상황에서든 관심 있는 객체에 대한 캐시 적중률이 더 높다.
여기서, 사용자가 가상 세계의 객체들에 대해 N번의 방문 후, 필요한 객체 전송을 위한 메시지의 숫자를 기존의 방법인 MRM과 비교한다. α를 제안된 방법에서 개선한 캐시 적중률의 차이 값이라고 하고, MRM을 사용했을 때의 캐시 적중률이 h라고 한다면, 제안된 기법의 캐시 적중률은 (h + α)가 된다. 여기서, α는 상술한 실험 결과에 항상 0보다 크다.
캐시 적중(cache hit)일 경우에는 클라이언트가 메시지를 받을 필요가 없으므로, MRM을 사용하는 클라이언트는 N ×i× (1-h) = Ni -Nih 개의 메시지를 받게 된다. 그에 반해, 본 발명에 따라 제안된 기법을 사용하는 클라이언트는 N ×i× (1 - (h + α)) = Ni- Nih - αNi개의 메시지를 받게 됨에 따라 α Ni만큼의 메시지 감소가 이루어진다.
이상에서 설명한 바와 같이, 본 발명은 대규모 분산 가상환경에서 요구 기반 전송 기법에서 발생하는 네트워크 부하를 줄이기 위해 캐시 교체가 필요할 때 사용자에게 우선 순위가 낮은 객체들을 먼저 삭제하여 저장 공간이 확보될 경우, 사용자의 시야에 있는 객체들을 삽입함으로써, 캐시 적중률을 향상시켜 클라이언트가네트워크 상으로 전송해야 하는 메시지 수를 줄이 수 있으며, 또한 사용자와의 실시간 상호 작용을 위한 성능의 개선이 이루어지게 되는 효과가 있다.
Claims (16)
- 클라이언트와 월드 데이터 서버간의 통신상에, 분산가상환경에서의 데이터관리방법에 있어서,상기 클라이언트 내 응용 프로그램에서 사용자가 다음 위치로 움직일 때마다 상기 사용자의 가시 영역에 있는 객체가 상기 클라이언트 내 캐시관리모듈에 삽입되어 있는지를 상기 클라이언트 내 데이터 관리 모듈의 업데이트 캐시 메소드에 객체 확인을 요청하는 단계;상기 응용 프로그램으로부터의 객체 확인 요청에 따라 모든 객체들이 상기 캐시관리모듈에 의해 관리되는 캐시에 삽입되어 있는지를 판단하여 캐시에 삽입되어 있을 경우, 상기 응용 프로그램에 렌더링할 준비가 되어 있음을 상기 응용 프로그램에 통보하는 단계;상기 데이터 관리 모듈의 업데이트 캐시 메소드에서 월드 데이터베이스(DataBase : DB)와 사용자 DB를 갱신하기 위해 상기 캐시 관리 모듈의 캐시에 저장된 객체들의 억세스 카운트를 증가하도록 제어함과 동시에, 상기 월드 데이터 서버에 억세스 카운트 증가 정보를 제공하는 단계;상기 데이터 관리 모듈의 업데이트 캐시 메소드로부터 캐시에 저장된 객체들의 억세스 카운트를 증가하도록 하는 제어에 따라 캐시 관리 모듈은 캐시에 객체들을 저장할 충분한 용량이 있는지를 판단하는 단계;상기 판단 단계에서 캐시에 저장 공간이 충분하지 못한 경우, 거리와 객체에대한 선호도(interest) 값 및 객체에 대한 평균 인기도(popularity) 값을 사용하여 캐시의 객체 우선 순위를 결정하는 단계;상기 객체 우선 순위가 결정되면, 캐시 교체 작업을 통해 상기 캐시 저장 공간이 확보될 경우 상기 우선 순위가 결정된 객체들을 삽입하는 단계;상기 월드 데이터 서버에서 데이터 관리 모듈의 업데이트 캐시 메소드로부터 제공되는 억세스 카운트 증가 정보에 따라 객체의 거리와 객체에 대한 선호도(interest) 값 및 객체에 대한 평균 인기도(popularity) 값을 갱신하는 단계를 포함하는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 1 항에 있어서,상기 캐시 교체 작업은 캐시에 있는 객체들 중 우선 순위가 가장 낮은 객체를 찾아서 삭제하며, 상기 캐시 저장 공간이 충분히 확보될 때까지 상기 삭제 과정을 반복하며, 상기 반복 과정이 종료되어 캐시 저장 공간이 확보되도록 하는 작업인 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 1 항에 있어서,상기 판단 단계에서 캐시에 삽입되어 있지 않은 경우, 상기 월드 데이터 서버로 필요한 객체들을 렌더링할 수 있도록 객체 데이터를 요청하는 단계를 더 포함하는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 1 항에 있어서,상기 체크 단계에서 캐시에 저장 공간이 충분한 경우, 상기 사용자의 시야에 있는 객체들을 상기 캐시에 삽입하는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 1 항에 있어서,상기 객체 우선 순위를 결정하는 방법에는 가까운 미래에 가장 나중에 접근될 객체들을 캐시에서 골라내는 캐시 교체 알고리즘과, 가장 먼저 접근될 객체들을 선택하는 프리페칭에 의해 결정되는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 5 항에 있어서,상기 객체 우선 순위를 결정하기 위한 공식으로는,수학식 1에 의해 계산되는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 6 항에 있어서,상기 수학식 1에서 DS(A,O), IS(A,O), PS(O,W)는 각각 거리 점수, 선호도(interest) 점수, 인기도(popularity) 점수를 의미하며, 상기 α와 β는 각각의 요소들간의 관계를 조절하는 매개변수로서, α는 객체의 우선 순위를 계산할 때 지역적 관계의 기여도로 그 값은 0.7∼0.8 사이의 값일 경우 가장 좋은 캐시의 성능을 보여주고, β는 선호도와 인기도중 어느 쪽이 우선 순위에 더 기여하는 지를 결정하는 변수인 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 7 항에 있어서,상기 β값을 결정하기 위한 공식은수학식 2에 의해 계산되는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 8 항에 있어서,상기 수학식 2에서 사용자가 가상 세계를 CN-Timemax,w에 가까운 값만큼의 시간을 여행했을 경우에 보다 정확한 선호도(interest) 값을 사용할 수 있다는 것을 나타낸 것으로, 상기 CN-Timemax,w을 가상 세계의 모든 객체가 사용자에 의해 다수번 접근될 만큼 충분히 큰 값을 배정함으로써 상기 β값을 결정하는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 9 항에 있어서,상기 CN-Timemax,w을정해야만, 상기 사용자가 가능한 빨리 인기도(popularity) 값 대신 선호도(interest) 값을 사용하며, 상기 CN-Timemax,w값을 결정하는 중요한 요소는 가상 세계의 크기이며, 상기 가상 세계의 크기가 클 경우에 사용자가 관심 있는 객체들을 찾는데 걸리는 시간이 길어짐에 따라 더 큰 CN-Timemax,w값을 배정해야 하는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 7 항에 있어서,상기 거리 점수(DS(A,O))를 결정하는 공식은수학식 3무빙 모드의 DS(A,O) =및원더링 모드의 DS(A,O) =에 의해 계산되는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 11 항에 있어서,상기 수학식 3의 Dmax는 상기 캐시관리모듈내 캐시에 있는 객체들 중 사용자와의 최대 거리 값을 가진 객체에서 선택되어야만 거리 점수가 균등분포를 가질 수 있는 것으로, 무빙 모드(moving mode)와 원더링 모드(wandering mode)로 구분하는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 12 항에 있어서,상기 무빙 모드의 구분은 사용자가 가상 세계를 일정한 속도로 움직일 때이며, 이러한 경우 이외에는 원더링 모드로 분류하는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 6 항에 있어서,상기 선호도(interest) 값과 인기도(popularity) 값을 구하는 공식은수학식 4에 의해 계산되는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 14 항에 있어서,상기 수학식 4의 ACmax및 ACmin은 캐시에 있는 객체들 중 최대 억세스 카운트와 최소 억세스 카운트 값을 사용해야만 선호도(interest) 점수와 인기도(popularity) 점수의 균등분포를 갖도록 하는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
- 제 15 항에 있어서,상기 억세스 카운트(access count) 값은 사용자가 객체를 접할 때마다 갱신되는 것으로, 상기 클라이언트에 의해 사용자 DB가 관리되며, 상기 월드 데이터 서버에 의해 월드 DB가 관리되며, 상기 사용자가 로그인 시, 상기 클라이언트 쪽의 사용자 DB가 초기화되며, 상기 사용자의 가상 세계 여행 중 갱신되며, 상기 사용자 로그오프 시 갱신된 객체의 카운트(count)가 서버로 전송되어 월드 DB를 갱신하는 것을 특징으로 하는 분산 가상 환경에서의 확장성 있는 데이터 관리방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0035250A KR100430754B1 (ko) | 2002-06-24 | 2002-06-24 | 분산 가상 환경에서의 확장성 있는 데이터 관리방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0035250A KR100430754B1 (ko) | 2002-06-24 | 2002-06-24 | 분산 가상 환경에서의 확장성 있는 데이터 관리방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020059324A KR20020059324A (ko) | 2002-07-12 |
KR100430754B1 true KR100430754B1 (ko) | 2004-05-10 |
Family
ID=27726974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0035250A KR100430754B1 (ko) | 2002-06-24 | 2002-06-24 | 분산 가상 환경에서의 확장성 있는 데이터 관리방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100430754B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100496159B1 (ko) * | 2002-06-29 | 2005-06-20 | 주식회사 케이티 | 유용성 기반의 질의 결과 캐쉬 관리 방법 |
KR20020097064A (ko) * | 2002-09-18 | 2002-12-31 | 학교법인 한국정보통신학원 | 가상환경에서의 동시성 제어 방법 |
KR101407630B1 (ko) | 2007-09-07 | 2014-06-13 | 삼성전자주식회사 | 분산 파일 시스템 및 분산 파일 시스템의 캐쉬 데이터 대체방법 |
KR101273004B1 (ko) * | 2011-12-02 | 2013-06-10 | 건국대학교 산학협력단 | 가상 객체 제어 장치 및 방법 |
CN114462590B (zh) * | 2021-12-13 | 2024-05-10 | 之江实验室 | 一种重要性感知的深度学习数据缓存管理方法和*** |
-
2002
- 2002-06-24 KR KR10-2002-0035250A patent/KR100430754B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20020059324A (ko) | 2002-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6549896B1 (en) | System and method employing random walks for mining web page associations and usage to optimize user-oriented web page refresh and pre-fetch scheduling | |
Ali et al. | A survey of web caching and prefetching | |
US7827279B2 (en) | Selecting nodes close to another node in a network using location information for the nodes | |
EP1825654B1 (en) | Routing a service query in an overlay network | |
Zeng et al. | Efficient web content delivery using proxy caching techniques | |
US20040097242A1 (en) | Method and apparatus for providing information about a real-world space | |
US20220358171A1 (en) | Efficient freshness crawl scheduling | |
KR20180118393A (ko) | 분산형 클라우드 컴퓨팅 시스템, 이에 적용되는 장치 및 장치의 동작 방법 | |
Park et al. | Scalable data management using user-based caching and prefetching in distributed virtual environments | |
Duan et al. | A novel load balancing scheme for mobile edge computing | |
KR100430754B1 (ko) | 분산 가상 환경에서의 확장성 있는 데이터 관리방법 | |
JP2021503110A (ja) | ネットワーク利用の最適化 | |
Shariff et al. | An overview to pre-fetching techniques for content caching of mobile applications | |
Gupta et al. | CEMP-IR: a novel location aware cache invalidation and replacement policy | |
Makolkina et al. | Resource allocation for the provision of augmented reality service | |
Yu et al. | A dynamic message filtering technique for 3D cyberspaces | |
Peng et al. | Design and performance studies of an adaptive cache retrieval scheme in a mobile computing environment | |
Krishnan et al. | Delay reduction by providing location based services using hybrid cache in peer to peer networks | |
Sodsee | Placing files on the nodes of peer-to-peer systems | |
Roussaki et al. | Optimising context data dissemination and storage in distributed pervasive computing systems | |
Park et al. | Adaptive data dissemination schemes for location-aware mobile services | |
On | Quality of availability for widely distributed and replicated content stores | |
Lai et al. | Supporting user mobility through cache relocation | |
Sathiyamoorthi | Web Usage Mining: Improving the Performance of Web-Based Application through Web Mining | |
Pons | Web-application centric object prefetching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20100401 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |