KR100331603B1 - 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리방법 - Google Patents

분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리방법 Download PDF

Info

Publication number
KR100331603B1
KR100331603B1 KR1019990033268A KR19990033268A KR100331603B1 KR 100331603 B1 KR100331603 B1 KR 100331603B1 KR 1019990033268 A KR1019990033268 A KR 1019990033268A KR 19990033268 A KR19990033268 A KR 19990033268A KR 100331603 B1 KR100331603 B1 KR 100331603B1
Authority
KR
South Korea
Prior art keywords
area
users
sub
interaction
region
Prior art date
Application number
KR1019990033268A
Other languages
English (en)
Other versions
KR20010017642A (ko
Inventor
이동만
임민규
Original Assignee
안병엽
학교법인 한국정보통신학원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 안병엽, 학교법인 한국정보통신학원 filed Critical 안병엽
Priority to KR1019990033268A priority Critical patent/KR100331603B1/ko
Publication of KR20010017642A publication Critical patent/KR20010017642A/ko
Application granted granted Critical
Publication of KR100331603B1 publication Critical patent/KR100331603B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • G06Q50/50

Abstract

본 발명은 대규모 분산 가상 환경에서 통신 부하를 최소화하면서 시스템의 확장성을 지원하여 영역간 상호 작용을 효과적으로 수행할 수 있도록 한 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리 기법에 관한 것으로, 이를 위하여 본 발명은, 대규모 분산 가상 환경에서 임의의 가상 공간을 분할하여 얻은 각 영역을 두 개의 서브 영역으로 분할하고, 분할된 각 서브 영역에 서로 다른 멀티캐스트 어드레스를 각각 할당하며, 서로 다른 멀티캐스트 어드레스를 통해 서로 자신에게 관심이 있는 영역내 사용자들(즉, 자신이 속한 영역에 이웃하는 인접 영역의 경계 서브 영역에 있는 사용자들)에게만 갱신 메시지를 송신 또는 수신하도록 함으로써, 상호 작용시 사용자들간에 교환되는 메시지의 양을 대폭 절감할 수 있어, 대규모 분산 가상 환경의 가상 공간에서의 사용자간 상호 작용 수행시에 발생하는 시스템에서의 통신 부하를 대폭적으로 줄일 수 있다.

Description

분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리 방법{SCALABLE INTER-REGION INTERACTION MANAGEMENT METHOD FOR DISTRIBUTED VIRTUAL ENVIRONMENTS}
본 발명은 분산된 가상 환경에서 분산된 사용자들이 임의의 가상 공간을 공유하면서 그 공간내에서 다른 참여자들 또는 가상 환경내의 객체들과 상호 작용을 할 때 필요로 하는 영역간 상호 작용 관리를 수행하는 데 적합한 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리 방법에 관한 것이다.
최근들어, 상용화 및 서비스의 확장이 급격하게 진행되고 있는 가상 현실은 다수의 사용자들이 공유하는 3 차원 스테레오 이미지의 가상 환경상에서 각종 입력 장비, 예를들면 데이터 글러브 데이터 슈트(Data suit), 헤드 마운티드 디스플레이(HMD), 스페이스 볼(Space ball) 등과 같은 입력 수단의 조작을 통해 가상 환경상의 가상 공간을 마치 실제 세계처럼 느낄 수 있도록 하는 것을 말한다.
예를들어, 가상 공간이 가상 쇼핑몰 환경이라 할 때, 가상 쇼핑몰에 접속 가능한 자신의 장비(퍼스널 컴퓨터, 입력 장비 등)를 소유한 다수의 각 사용자들은 가상 공간상에서 자신이 원하는 각종 동작, 예를들면 어떤 물체를 잡거나 집는 동작 등의 상호 작용을 실현할 수 있는 데, 이때 가상 환경 시스템들은 각 참여자들에게 자연스러운 상호 작용을 제공하기 위하여 네트웍상의 데이터를 로컬 시스템에 복제(다운로드)한다.
특히, 참여자(사용자)들이 인터넷 등과 같은 대규모 네트웍 환경에 분산되어 있을 경우 통신 지연으로 인해 데이터에 접근하는 시간이 많이 걸리기 때문에 로컬 시스템으로의 객체 데이터 복제가 더욱 필요하다.
한편, 분산 가상 환경에서 사용자의 수와 네트웍 지연이 증대됨에 따라 고려해야 할 사항중 가장 중요한 것은 상호 작용의 성능 개선을 위한 확장성이다. 이러한 분산 가상 환경에서 확장성을 지원하도록 하기 위한 방법중 하나가 영역 분할 방법이다.
이러한 영역 분할 방법을 통해 시스템이 관리하는 사용자의 수를 줄임으로써, 시스템 사이에 교환되는 메시지의 수를 줄일 수 있다. 대부분의 가상 환경 시스템에서 영역은 분리되어 있으며, 인접하는 영역안의 사용자들 사이에는 상호 작용(즉, 인접 영역간 상호 작용)을 지원한다. 하지만, 이런 인접 영역간 상호 작용을 위해서는 인접한 영역내의 모든 사용자들과 갱신 메시지를 주고받아야 하며 여기에는 현재 사용자가 관심이 없는 메시지도 포함되어 시스템 전체의 확장성이 감소하게 된다.
특히, 가상 쇼핑몰 등과 같은 가상 환경 애플리케이션에서는 분할된 특정 영역안에서의 상호 작용 뿐만 아니라 영역간 상호 작용도 빈번히 필요로 한다.
한편, 기존의 가상 환경 시스템들의 접근 방법은 크게 두가지로 구분할 수 있는 데, 영역 분할 방법과 오라(aura) 관리 방법이다.
상기한 접근 방법중의 하나인 기존의 영역 분할 방법으로는 NPSNET와 SPLINE이 있는 데, NPSNET는“Macedonia, M., Zyda,M., Pratt, D., Brutzman, D., and Barham, P., Exploiting Reality with Multicast Groups. IEEE Computer Graphics and Application, September, 1995, 38-45.”및“Macedonia, M.R., Zyda,M.J., Pratt, D., David, R., Barham, P.T., and Zeswitz, S. NPSNET : A Network Software Architecture for Large Scale Virtual Environments. Presence, Vol.3,No.4, Fall 1994, 265-287.”에 개시되어 있고, SPLINE은“Barrus, J.W., Waters, R.C, and Anderson D.B. Locales : Supporting Large Multiuser Virtual Environments. IEEE Computer Graphics and Application, November, 1996,16(6) : 50-57”및“Water, R.C., Anderson D.B. Barrus, J.W., Brogan, D.C., Casey, M.A., McKeown, S.G., Nitta, T., Sterns, I.B., and Yerazunis, W.S., Diamond Park and Spline : A Social Virtual Reality System with 3D Animation, Spoken Interaction, and Runtime Modifiability. Technical report 96-02, MERL Cambridge MA, January, 1996.”에 잘 개시되어 있다.
여기에서, NPSNET는 원래 전쟁 시뮬레이션을 위해 개발된 것으로, 대규모 가상 환경을 지원하기 위해 가상 세계를 다수의 6각형 셀로 나누어 관리한다. 여기에서, 한 셀내의 모든 참여자들은 하나의 멀티캐스트 그룹을 형성한다. 또한 참여자는 자신의 관심 영역을 자신이 속한 셀과 인접한 6개의 셀로 한정하여 셀간의 상호 작용이 가능하다. 하지만, NPSNET에서의 셀 하나의 범위는 너무 커서 셀간의 상호 작용시에 교환되는 메시지의 양이 증가하여 시스템의 확장성을 떨어뜨린다.
또한, SPLINE은 NPSNET에서의 셀과 유사한 개념의 로우칼(locale)이란 개념을 도입한 것으로, 하나의 로우칼은 하나의 멀티캐스트 그룹을 형성하고, 이웃하는로우칼에 대한 정보를 가지고 있다. 따라서, SPLINE에서는 NPSNET처럼 한 로우칼내에 있는 참여자들은 이웃하는 로우칼의 참여자들과 상호 작용을 할 수 있다.
그러나, NPSNET의 경우와 마찬가지로 이웃하는 로우칼내의 참여자들과 상호 작용을 하기 위해 이웃 로우칼로부터 모든 갱신 메시지를 받아야만 하기 때문에 네트웍과 시스템에 많은 통신 부하를 야기시켜 확장성을 떨어뜨린다는 문제점을 갖는다.
한편, 상기한 접근 방법중의 다른 하나인 기존의 오라 관리 방법으로는 DIVE와 MASSIVE가 있는 데, DIVE는“Hagsand, O. Interactive Multiuser VEs in the DIVE system. IEEE Multimedia, Spring 1996.”에 개시되어 있으며, MASSIVE는“Benford, S., and Greenhalgh, C. Introducing Third Party Objects into the Spatial Model of Interaction. Fifth European Conference on Computer Supported Cooperative Work (ECSCW'99), Lancaster, 8-10 September, 1997.”과“Greenhalgh, C.M., and Benford, S.D., Virtual Reality Teleconferencing : Implementation and Experience. Proc. ECSCW'95, Stockholm, North-Holland, September, 1995.”에 잘 개시되어 있다.
여기에서, DIVE는 하나의 가상 세계가 하나의 영역이며, 한 가상 세계에서 다른 가상 세계로 이동하기 위해서는 게이트웨이(gateway)를 통한 입구(portal)를 사용한다. 이런 특성 때문에, DIVE에서 영역은 격리되어 있으며, 한 영역안의 참여자는 다른 영역을 볼 수 없다. 즉, DIVE에서는 영역간 상호 작용을 지원하지 않기 때문에 영역 간의 상호 작용이 필요한 쇼핑몰 등과 같은 가상 환경 애플리케이션에 적용하는 데는 한계를 가질 수밖에 없다.
또한, MASSIVE는 원격 회의 시스템을 위해 디자인된 것으로, 초기 버전인 MASSIVE-1에서는 정적인 상황에서 분할된 영역들 사이의 사용자 상호 작용을 지원하지 않는다. 그러나 MASSIVE-2에서는 가상 세계를 작은 영역으로 분할하는 방법을 사용하며 third party object를 이용하여 영역간 상호 작용을 지원한다. 또한 현재 개발중인 MASSIVE-3에서는 가상 세계를 SPLINE의 로우칼 개념을 도입하여 구성하도록 되어 있다. 하지만 MASSIVE 또한 상기 제시된 NPSNET이나 SPLINE과 같은 문제점을 가지고 있으며 따라서 쇼핑몰 등과 같은 가상 환경 애플리케이션에 적용하는 데는 한계를 갖는다.
따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위한 것으로, 대규모 분산 가상 환경에서 통신 부하를 최소화하면서 시스템의 확장성을 지원하여 영역간 상호 작용을 효과적으로 수행할 수 있는 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리 방법을 제공하는 데 그 목적이 있다.
상기 목적을 달성하기 위하여 본 발명은, 분산 가상 환경의 가상 공간에서 네트웍을 통해 접속되는 분산된 다수의 각 사용자들에 대한 상호 작용의 확장성 지원을 위해 영역을 관리하는 방법에 있어서, 상기 가상 공간을 소정 크기로 분할한 다수의 각 영역을 N개의 서브 영역으로 분할하는 과정; 상기 분할된 각 영역 및 서브 영역마다 영역내 상호 작용을 위한 멀티캐스트 어드레스와 영역간 상호 작용을 위한 서로 다른 멀티캐스트 어드레스를 각각 할당하는 과정; 및 각 사용자들의 요구에 응답하여, 상기 할당된 각 멀티캐스트 어드레스를 이용하여 상기 분할된 각 영역 및 각 서브 영역에 속해 있는 사용자들간에 영역내 또는 영역간 상호 작용을 수행하는 과정으로 이루어진 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리 방법을 제공한다.
도 1은 본 발명에 따라 분산 가상 환경에서 확장성을 갖는 영역간 상호작용 관리를 수행하는 데 적합한 분산 가상 환경 시스템의 개략적인 블록구성도,
도 2는 본 발명에 따른 확장성을 위한 영역간 상호 작용 관리를 위해 일 예로서 두 개의 영역을 각각 두 개의 서브 영역으로 분할하고, 각 영역 및 분할된 각 서브 영역에 영역내 상호 작용을 위한 멀티캐스트 어드레스 및 영역간 상호 작용을 위한 멀티캐스트 어드레스를 각각 할당하는 예를 도시한 예시도,
도 3은 도 2에서와 같이 각 영역을 두 개의 서브 영역으로 분할할 때, 할당된 멀티캐스트 어드레스와 이에 연결된 사용자들 사이의 관계를 도시한 예시도,
도 4는 본 발명에 따른 확장성을 위한 영역간 상호 작용 관리를 위해 다른 예로서 네 개의 영역을 각각 네 개의 서브 영역으로 분할하고, 각 영역 및 분할된 각 서브 영역에 영역내 상호 작용을 위한 멀티캐스트 어드레스 및 영역간 상호 작용을 위한 멀티캐스트 어드레스를 각각 할당하는 다른 예를 도시한 예시도.
<도면의 주요부분에 대한 부호의 설명>
102 : 네트웍 104 : 영역 관리자 블록104/1 : 영역 및 서브 영역의 생성 및 초기화 서브 블록104/2 : 사용자 관리 서브 블록104/3 : 충돌 검사 서브 블록
104/4 : 영역 내 및 영역간 상호 작용 관리 서브 블록106/1 - 106/n 및 108/1 - 108/n : 퍼스널 컴퓨터(사용자)
본 발명의 상기 및 기타 목적과 여러가지 장점은 이 기술분야에 숙련된 사람들에 의해 첨부된 도면을 참조하여 기술되는 본 발명의 바람직한 실시예로 부터 더욱 명확하게 될 것이다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.
도 1은 본 발명에 따라 분산 가상 환경에서 예측 기반 동시성 제어를 수행하는 데 적합한 분산 가상 환경 시스템의 개략적인 블록구성도이다.
도 1을 참조하면, 분산 가상 환경 시스템은 네트웍(102)에 상호 유기적으로 접속되는 영역 관리자 블록(104)과 가상 현실 시스템으로써 표현할 수 있는 다수의 사용자(예를들면, 퍼스널 컴퓨터(PC))(106/1 - 106/n 및 108/1 - 108/n)를 포함한다.
여기에서, 영역 관리자 블록(104)은, 가상 환경의 영역과 영역 안에서의 사용자들의 상호 작용을 총체적으로 관리하는 기능을 수행하며 그 역할에 따라 영역 및 서브 영역의 생성 및 초기화 서브 블록(104/1), 사용자 관리 서브 블록(104/2), 충돌 검사 서브 블록(104/3), 영역 내 및 영역간 상호 작용 관리 서브 블록(104/4)으로 나뉘어 진다.영역 및 서브 영역의 생성 및 초기화 서브 블록(104/1)은 본 발명에 따라 가상 공간을 다수의 영역으로 분할하고, 분할된 각 영역을 N개의 서브 영역(일예로서, 도 2a에 도시된 바와같이, 2개의 서브 영역)으로 분할하며, 분할된 각 영역 및 서브 영역에 들어오는 사용자(참여자)들의 가입 및 탈퇴를 관리하고, 분할된 각 영역(또는 서브 영역)에 들어온 참여자들 또는 다른 영역내 참여자들간의 갱신 메시지 송수신을 위한 멀티캐스트 어드레스, 즉 영역내 상호 작용을 위한 멀티캐스트 어드레스 및 영역간 상호 작용을 위한 멀티캐스트 어드레스의 할당 및 해제를 제어한다.사용자 관리 서브 블록(104/2)은 분할된 각 영역 및 서브 영역에 들어오는 사용자(참여자)들의 가입 및 탈퇴에 따라 사용자의 정보를 관리한다.충돌 검사 서브 블록(104/3)은 가입된 사용자들의 위치정보를 추적하며 사용자의 위치가 영역이나 서브 영역의 경계와 충돌하여 이에 해당하는 영역 내 및 영역간 상호작용을 위한 멀티캐스트 어드레스의 재 할당이 필요한지의 여부를 검사한다.
영역 내 및 영역간 상호 작용 관리 서브블록(104/4)은 사용자가 영역이나 서브 영역을 변경할 때 본 발명에 따른 영역 내 및 영역간 상호 작용을 위한 멀티캐스트 어드레스의 재 할당을 제어한다.한편, 사용자들(106/1 - 106/n 및 108/1 - 108/n) 각각은 자연스러운 상호 작용을 제공받기 위해 자신이 가입한 영역(또는 서브 영역)상의 메시지(데이터)를 로컬에 복제하여 객체와의 상호 작용을 수행하는 데, 이러한 상호 작용을 통해 생성되는 갱신 메시지들은 할당된 멀티캐스트 어드레스(영역내 상호 작용을 위한 멀티캐스트 어드레스)를 통해 동일 영역내 참여자들에게 전달되고, 또한 할당된 다른 멀티캐스트 어드레스(영역간 상호 작용을 위한 멀티캐스트 어드레스)를 통해 이웃하는 인접 영역내 사용자들, 즉 이웃하는 인접 영역에서 자신에게 관심이 있는 영역내의 사용자들(자신이 가입한 영역의 경계에 있는 인접 영역내 서브 영역에 가입한 사용자들)에게 전달된다.
또한, 각 사용자들은 영역내 상호 작용을 위해 할당된 멀티캐스트 어드레스를 통해 자신이 가입해 있는 영역내의 참여자들로부터 전달되는 갱신 메시지를 수신하며, 영역간 상호 작용을 위한 멀티캐스트 어드레스를 통해 이웃하는 인접 영역에서 자신이 관심이 있는 영역내의 사용자들(자신이 가입한 영역의 경계에 있는 인접 영역내 서브 영역에 가입한 사용자들)로부터 전송되는 갱신 메시지를 수신한다.
다음에, 상술한 바와같은 구성을 갖는 분산 가상 환경 시스템상에서 본 발명에 따라 확장성을 가지고 영역 관리를 수행하는 과정에 대하여 설명한다.
통상, 분산 가상 환경에서 인접 영역들내에 있는 사용자들간의 상호 작용을 위해서는 각 사용자가 인접 영역내 다른 사용자들에 대한 상태(예를들면, 위치 정보 등)를 주기적으로 알아야 한다. 여기에서, 사용자는 자신이 속한 영역에 대해서는 상대적으로 높은 관심도를 갖는 반면에 이웃하는 인접 영역에 대해서는 상대적으로 낮은 관심도를 갖는다고 볼 수 있다.
따라서, 본 발명에서는 이웃하는 각 영역내 사용자들 사이의 근접도를 기반으로 관심도의 차이를 표시, 즉 사용자는 자신이 속한 영역에 대해서는 영역 전체에 관심이 있지만, 이웃하는 인접 영역에 대한 관심도는 사용자로부터의 거리가 멀어질수록 감소한다. 즉, 사용자가 자신이 속한 영역의 경계쪽으로 이동한다는 것은 인접 영역의 상황에 따라 관심이 높아진다는 것을 나타낸다.
그러므로, 사용자는 임의의 영역에 참여하는 시점에 이웃하는 영역에 대한 모든 데이터를 받지만, 항상 인접 영역내에 있는 모든 사용자들로부터 갱신 메시지(갱신 정보)를 받을 필요는 없다. 이를 지원하기 위해 본 발명에서는 분할된 각 영역을 N개의 서브 영역(예를들면, 2개)으로 분할하고, 분할된 각 서브 영역에 영역간 상호 작용을 위한 멀티캐스트 어드레스를 할당하여 관리한다.
즉, 본 발명에서는 영역 내에서의 상호 작용과 영역간에서의 상호 작용으로 구분하고, 사용자들(영역 참여자들)이 자신이 관심이 있는 부분만의 메시지를 받을 수 있도록 하기 위해, 각 영역들을 N개의 서브 영역(예를들면, 2개, 4개 등)으로 분할하며, 또한 분할된 각 서브 영역마다 서로 다른 멀티캐스트 어드레스를 할당한다.
여기에서, 사용자들 사이의 상호 작용은 영역 내에서의 상호 작용 그룹과 영역간 상호 작용 그룹으로 나누어진다. 영역 내에서의 상호 작용 그룹은 동일 영역내에 있는 사용자들 사이에서 상호 작용을 하는 그룹을 말하며, 그 그룹 내의 참여자들은 해당 영역에 할당된 멀티캐스트 어드레스를 통해 메시지 또는 갱신 메시지를 주고받는다. 또한, 영역간 상호 작용 그룹은 이웃하는 인접 영역내에 있는 사용자들 사이의 상호 작용 그룹을 말한다.
따라서, 각 사용자는 영역간 상호 작용을 위해 적어도 두 개의 멀티캐스트 어드레스에 연결되는 데, 만약 두 개의 어드레스를 이용해 다른 사용자에게 메시지(또는 갱신 메시지)를 전송한다면 임의의 다른 사용자들은 한 어드레스를 통해 받은 메시지를 다른 메시지를 통해 또한번 받게 되는 현상이 발생할 수 있다. 이것은 결국 가상 환경 시스템에서의 통신 부하를 가중시키는 큰 요인이 될 수 있다. 본 발명에서는 이러한 점(메시지의 중복 전송 및 중복 수신)을 방지할 수 있도록 메시지를 보내거나 받을 때 각각 다른 멀티캐스트 어드레스를 이용한다. 즉, 각 사용자는 자신의 갱신 메시지를 자신에게 관심이 있는 영역의 참여자들에게만 멀티캐스트하고, 자신이 관심이 있는 영역의 참여자들로부터만 멀티캐스트된 갱신 메시지를 수신한다.
다음에, 첨부된 도 2 및 도 3을 참조하여 일예로서 각 영역을 두 개의 서브 영역으로 분할한 상태에서 본 발명에 따라 확장성을 가지고 영역간 상호 작용 관리를 수행하는 과정에 대하여 설명한다.
도 2는 본 발명에 따른 확장성을 위한 영역 관리를 위해 일예로서 두 개의 영역을 각각 두 개의 서브 영역으로 분할하고, 각 영역 및 분할된 각 서브 영역에 영역내 상호 작용을 위한 멀티캐스트 어드레스 및 영역간 상호 작용을 위한 멀티캐스트 어드레스를 각각 할당하는 예를 도시한 예시도이다.
도 2를 참조하면, 영역 R1 및 R2는 각각 두 개의 서브 영역 A 및 B와 서브 영역 C 및 D로 분할되며, 본 발명에서는 이들 서브 영역을 이용하여 이웃하는 인접 영역안에 있는 사용자에 대한 관심도를 구분한다. 즉, 서브 영역은 인접 영역에 대한 상대적인 관심도도의 차이를 나타낸다. 인접 영역과 이웃하는 서브 영역안에 있는 사용자는 인접 영역과 멀리 떨어진 서브 영역안에 있는 사용자보다 이 인접 영역에 대한 관심도가 더 높다고 할 수 있다.
예를들어, 서브 영역 B에 있는 사용자는 서브 영역 A에 있는 사용자보다 인접 영역 R2에 있는 사용자와 상호 작용할 가능성이 더 높다고 볼 수 있다. 일예로서, 도 2b에 도시된 바와같이, 서브 영역 A에 있는 사용자는 영역 R1에 참여하는 시점에 R2 영역에 대한 모든 데이터를 받지만, 갱신 메시지는 인접 영역내에서 자신이 관심이 있는 서브 영역 C에 있는 사용자들로부터만 받는다. 이때, 서브 영역 B에 있는 사용자는 서브 영역 A에 있는 사용자보다 인접 영역 R2에 대한 관심도가 상대적으로 더 높기 때문에 서브 영역 C 및 D에 있는 모든 사용자들로부터 갱신 메시지를 받는다.
도 2c를 참조하면, 본 발명에 따른 영역 관리 방법에서는 영역내 상호 작용을 지원하기 위해 영역 R1 및 R2에 멀티캐스트 어드레스 ma11 및 ma21을 각각 할당한다. 인접하는 영역에서 서로 관심이 있는 사용자들간의 영역간 상호 작용을 지원하기 위해서는 물론 ma11 과 ma21도 필요하지만 서브 영역 B 및 C에 멀티캐스트 어드레스 ma12 및 ma22를 각각 추가로 할당한다. 여기에서, 서브 영역 B 및 C는 경계 영역이다. 다음의 예는 본 발명에서 초점을 두고 있는 영역간 상호 작용에 대해 설명한다.
서브 영역 A안에 있는 사용자 U1 및 U2는 R2내의 서브 영역 C에 관심이 있기 때문에, 영역간 상호 작용을 위해 멀티캐스트 어드레스 ma22에 연결된다. ma11은 R1 전체에 관심이 있는 C내의 사용자들에게 메시지를 보내기 위해 사용된다. 이때, 서브 영역 A내의 사용자 U1 및 U2는 멀티캐스트 어드레스 ma22를 통해 서브 영역 C내의 사용자들로부터의 갱신 메시지를 수신하고, 반대로 서브 영역 C내의 사용자 U5 및 U6은 멀티캐스트 어드레스 ma11을 통해 R1내의 사용자들의 갱신 메시지를 수신한다. 또한, 서브 영역 D안에 있는 사용자 U7 및 U8은 영역 R 의 서브 영역 B에 관심이 있기 때문에 멀티캐스트 어드레스 ma12에 연결된다.
한편, 영역 R1내의 서브 영역 B안에 있는 사용자 U3 및 U4는 영역 R2 전체에 관심이 있기 때문에 ma21에 연결되어 R2내의 사용자들의 갱신 메시지를 수신하며, 자신의 서브 영역 B에만 관심이 있는 R2의 서브 영역 D의 사용자 U7 및 U8에게 갱신 메시지를 보내기 위해 멀티캐스트 어드레스 ma12를 이용한다. 또한 영역 R1전체에 관심이 있는 R2의 서브 영역 C의 사용자 U5 및 U6에게는 ma11을 통해 갱신 메시지를 보낸다.
따라서, 본 발명에 따른 영역 관리 방법에서는, 상술한 바와같이 서브 영역간에 별도의 멀티캐스트 어드레스를 사용함으로써 영역간 상호 작용시에 교환되는 메시지의 수(즉, 전송 메시지량)를 절감할 수 있다.
도 3은 도 2에서와 같이 각 영역을 두 개의 서브 영역으로 분할할 때, 할당된 멀티캐스트 어드레스와 이에 연결된 사용자들 사이의 관계를 도시한 예시도이다.
본 발명에 따라 서브 영역 A안에 있는 사용자 U1 및 U2는 영역 R1안에 있는 사용자들과의 영역내 상호 작용을 위해 멀티캐스트 어드레스 ma11을 사용하고, 인접 영역 R2내 서브 영역 C안에 있는 사용자 U5 및 U6과의 영역간 상호 작용을 위해 멀티캐스트 어드레스 ma11 및 ma22를 사용한다. 즉, 사용자 U1 및 U2는 멀티캐스트 어드레스 ma22를 통해 사용자 U5 및 U6으로부터 갱신 메시지를 수신하고, 멀티캐스트 어드레스 ma11을 통해 자신의 갱신 메시지를 사용자 U5 및 U6으로 전송한다.
즉, 멀티캐스트 어드레스 ma11을 기준으로 할 때, 도 3a에 도시된 바와같이, 사용자 U1, U2, U3, U4는 송신자 그룹이 되고 사용자 U1, U2, U3, U4, U5, U6는 수신자 그룹이 된다. 멀티캐스트 어드레스 ma12를 기준으로 할 때, 도 3b에 도시된 바와같이, 사용자 U3 및 U4는 송신자 그룹이 되고 사용자 U7 및 U8은 수신자 그룹이 된다.
또한, 멀티캐스트 어드레스 ma21을 기준으로 할 때, 도 3c에 도시된 바와같이, 사용자 U5, U6, U7, U8은 송신자 그룹이 되고 사용자 U5, U6, U7, U8, U3, U4는 수신자 그룹이 된다. 멀티캐스트 어드레스 ma22를 기준으로 할 때, 도 3d에 도시된 바와같이, 사용자 U5 및 U6은 송신자 그룹이 되고 사용자 U1 및 U2는 수신자 그룹이 된다.
따라서, 본 발명에서는 대규모 분산 가상 환경의 가상 공간내 각 영역을 두 개의 서브 영역으로 분할하고, 분할된 각 서브 영역에 서로 다른 멀티캐스트 어드레스를 할당하며, 서로 다른 멀티캐스트 어드레스를 통해 서로 자신에게 관심이 있는 영역내 사용자들(즉, 자신이 속한 영역에 이웃하는 인접 영역의 경계 서브 영역에 있는 사용자들)에게만 갱신 메시지를 송신 또는 수신하기 때문에, 전술한 종래 방법들에 비해, 상호 작용시에 사용자들간에 교환되는 메시지(또는 갱신 메시지)의 양을 대폭 절감할 수 있어 그만큼의 통신 부하를 줄일 수 있다.
한편, 본 실시예에서는 상술한 바와같이, 각 영역을 두 개의 서브 영역으로 분할하여 영역 관리를 수행하는 것을 일예로서 설명하였으나, 본 발명이 반드시 이에 국한되는 것은 아니며, 하나의 영역을 수평 및 수직 방향(열십자)으로 4등분 또는 N등분하거나 혹은 수직 방향으로 다단계 분할하여 영역 관리의 확장성을 다단계로 지원하도록 하는 등의 방법으로 영역을 N분할하는 데 적용할 수도 있다.
도 4는 본 발명에 따른 확장성을 위한 영역 관리를 위해 다른 예로서 네 개의 영역을 각각 네 개의 서브 영역으로 분할하고, 각 영역 및 분할된 각 서브 영역에 영역내 상호 작용을 위한 멀티캐스트 어드레스 및 영역간 상호 작용을 위한 멀티캐스트 어드레스를 각각 할당하는 다른 예를 도시한 예시도이다.
도 4를 참조하면, 영역 R1은 4개의 서브 영역(A11, A12, A13, A14)으로 분할되고, 영역 R2는 4개의 서브 영역(B11, B12, B13, B14)으로 분할되며, 영역 R3는 4개의 서브 영역(C11, C12, C13, C14)으로 분할되고, 영역 R4는 4개의 서브 영역(D11, D12, D13, D14)으로 분할된다. 즉, 각 영역은 수직으로 분할된 서브 영역들과 수평으로 분할된 서브 영역들을 갖는다.
이때, 본 발명의 다른 실시예에서는 수직 관계에 있는 영역 R1 및 R3와 R2및 R4간의 상호 작용에 초점을 맞춘다. 따라서, 영역안의 사용자는 대각선상의 위치에 있는 영역은 볼 수 없다고 가정한다. 예를들어, 영역 R1안에 있는 사용자와 영역 R4 안에 있는 사용자간에는 서로 상호 작용을 할 수 없고, 영역 R2안에 있는 사용자와 영역 R3 안에 있는 사용자간에는 서로 상호 작용을 할 수 없다.
이때, 본 실시예에서는 수직 관계에 있는 서브 영역들 사이의 영역간 상호 작용을 위해 멀티캐스트 어드레스 ma13, ma23, ma33, ma43이 각각 할당되고, 또한 수평 관계에 있는 서브 영역들 사이의 영역간 상호 작용을 위해 멀티캐스트 어드레스 ma12, ma22, ma32, ma42가 각각 할당되며, 각 영역 사이에서 영역내 상호 작용을 위해 멀티캐스트 어드레스 ma11, ma21, ma31, ma41이 각각 할당된다. ma11, ma21, ma31, ma41은 물론 수평 및 수직 관계의 영역간 상호 작용을 위해서도 사용된다.
또한, 전술한 실시예에서와 마찬가지로, 영역간 상호 작용을 원활하게 지원할 수 있도록 자신의 갱신 메시지에 관심이 있는 영역의 사용자들과 자신이 다른 사용자의 갱신 메시지를 받기를 원하는 영역에 따라 서로 다른 멀티캐스트 어드레스를 이용한다. 이때, 이웃하는 영역의 수가 증가할수록 사용자가 연결해야 하는 멀티캐스트 어드레스의 수도 동일하게 증가하게 된다.
다시, 도 4를 참조하면, 일예로서 서브 영역 A13 안에 있는 사용자 U1은 자신이 속한 영역 R1 내에서의 상호 작용을 위해 멀티캐스트 어드레스 ma11을 사용하고, 영역 R3에 있는 사용자들과의 영역간 상호 작용을 위해 자신의 갱신 메시지는 멀티캐스트 어드레스 ma11 및 ma13으로 송신하며, 또한 멀티캐스트 어드레스 ma31을 통해 영역 R3내의 사용자들의 갱신 메시지를 수신한다. 즉, 사용자 U1은 자신의 갱신 메시지를 사용자 서브 영역 C11 C12에 있는 사용자에게 보내기 위해 멀티캐스트 어드레스 ma11을 사용하고, 서브 영역 C13 C14에 있는 사용자에게 보내기 위해 멀티캐스트 어드레스 ma13을 사용한다. 또한 U1 자신은 영역 R3 전체에 관심이 있기 때문에 R3 안에 있는 모든 사용자들로부터 갱신 메시지를 받기 위해 멀티캐스트 어드레스 ma31을 사용한다. 또한, 사용자 U1은 영역 R2에 있는 사용자와의 영역간 상호 작용을 위해 전술한 바와같이 멀티캐스트 어드레스 ma22에도 연결된다.
또한, 서브 영역 A14에 있는 사용자 U2는, 상술한 사용자 U1에서와 같이, 영역 R1에 있는 사용자들과의 영역내 상호 작용을 위해 멀티캐스트 어드레스 ma11을 사용하고, 영역 R3에 있는 사용자들과의 영역간 상호 작용을 위해 멀티캐스트 어드레스 ma11, ma13, ma31을 사용한다.
즉, 사용자 U1과 U2는 영역 R3에 있는 사용자들과의 영역간 상호 작용을 위해서는 같은 그룹에 속하지만, 영역 R2에 있는 사용자들과의 영역간 상호 작용을 위해서는 다른 그룹에 속하게 된다.
또한, 사용자 U3 및 U4도 상술한 사용자 U1 및 U2와 마찬가지로 영역 R3에 있는 사용자들과의 영역간 상호 작용을 위해서는 같은 그룹에 속하지만 영역 R2에 있는 사용자들과의 영역간 상호 작용을 위해서는 다른 그룹에 속한다. 이때, 사용자 U3은 영역 R2에 있는 사용자들과 영역간 상호 작용을 할 때 사용자 U1과 같은 그룹에 속하게 된다. 그러나, 사용자 U4가 영역 R2에 있는 사용자들과 영역간 상호 작용을 할 때는 사용자 U2와 같은 그룹에 속하게 된다.
한편, 영역 R3에 있는 사용자들과의 영역간 상호 작용을 위하여, 사용자 U3과 U4는 멀티캐스트 어드레스 ma11 및 ma33을 사용한다. 즉, 이들은 멀티캐스트 어드레스 ma11을 통해 사용자 U5와 같은 영역 R1 전체에 관심이 있는 서브 영역 C11, C12에 있는 사용자들에게 자신들의 갱신 메시지를 멀티캐스트한다. 반대로, 사용자 U3과 U4 자신은 영역 R3의 서브 영역 C11 및 C12에만 관심이 있기 때문에 멀티캐스트 어드레스 ma33을 통해 사용자 U5의 갱신 메시지를 받는다.
상술한 바와같이, 영역 R1에 있는 사용자들이 상호 작용 모드(영역내 모드 또는 영역간 모드)에 따라 사용하는 멀티캐스트 어드레스의 차이는 아래의 표 1에 도시된 바와 같다.
영역내 상호 작용 영역간 상호 작용
R2와 상호 작용 R3과 상호 작용
보낼 때 받을 때 보낼 때 받을 때
U1 ma11 ma11 ma22 ma11,ma13 ma31
U2 ma11 ma11,ma12 ma21 ma11ma13 ma31
U3 ma11 ma11 ma22 ma11 ma33
U4 ma11 ma11,ma12 ma21 ma11 ma33
따라서, 하나의 영역을 두 개의 서브 영역으로 분할하여 관리하는 전술한 실시예와는 달리 하나의 영역을 네 개의 서브 영역으로 분할하여 관리하는 본 실시예에 따른 영역 관리 방법은 전술한 실시예에서와 동일 내지 유사한 효과, 즉 상호 작용시에 사용자들간에 교환되는 메시지(또는 갱신 메시지)의 양을 대폭 절감할 수 있어 그만큼의 통신 부하를 줄일 수 있다.
이상 설명한 바와같이 본 발명에 따르면, 대규모 분산 가상 환경에서 임의의가상 공간을 분할하여 얻은 각 영역을 두 개의 서브 영역으로 분할하고, 분할된 각 서브 영역에 서로 다른 멀티캐스트 어드레스를 각각 할당하며, 서로 다른 멀티캐스트 어드레스를 통해 서로 자신에게 관심이 있는 영역내 사용자들(즉, 자신이 속한 영역에 이웃하는 인접 영역의 경계 서브 영역에 있는 사용자들)에게만 갱신 메시지를 송신 또는 수신하도록 함으로써, 전술한 종래 방법들에 비해, 상호 작용시 사용자들간에 교환되는 메시지의 양을 대폭 절감할 수 있어, 대규모 분산 가상 환경의 가상 공간에서의 사용자간 상호 작용 수행시에 발생하는 시스템에서의 통신 부하를 대폭적으로 줄일 수 있다.

Claims (7)

  1. 분산 가상 환경의 가상 공간에서 네트웍을 통해 접속되는 분산된 다수의 각 사용자들에 대한 상호 작용의 확장성 지원을 위해 영역간 상호 작용을 관리하는 방법에 있어서,
    상기 가상 공간을 소정 크기로 분할한 다수의 각 영역을 N개의 서브 영역으로 분할하는 과정;
    상기 분할된 각 영역 및 서브 영역마다 영역내 상호 작용을 위한 멀티캐스트 어드레스와 영역간 상호 작용을 위한 서로 다른 멀티캐스트 어드레스를 각각 할당하는 과정; 및
    각 사용자들의 요구에 응답하여, 상기 할당된 각 멀티캐스트 어드레스를 이용하여 상기 분할된 각 영역 및 각 서브 영역에 속해 있는 사용자들간에 영역내 또는 영역간 상호 작용을 수행하는 과정으로 이루어진 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리 방법.
  2. 제 1 항에 있어서, 상기 각 영역 및 각 서브 영역에 있는 사용자들은 상기 할당된 각 멀티캐스트 어드레스를 중심으로 갱신 메시지를 송신할 때와 수신할 때 각각 다른 멀티캐스트 어드레스를 이용하는 것을 특징으로 하는 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리 방법.
  3. 제 2 항에 있어서, 상기 영역간 상호 작용시, 임의의 영역내 서브 블록중 이웃하는 인접 영역에 인접하는 임의의 서브 블록에 속한 각 사용자는 자신의 갱신 메시지를 특정 멀티캐스트 어드레스를 통해 상기 인접 영역내 사용자들에게 전송하고, 또 다른 특정 멀티캐스트 어드레스를 통해 상기 인접 영역내 각 사용자의 갱신 메시지를 수신하는 것을 특징으로 하는 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리 방법.
  4. 제 1 항, 제 2 항 또는 제 3 항에 있어서, 상기 각 영역은 수직 방향의 두 개의 서브 영역으로 분할되는 것을 특징으로 하는 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리 방법.
  5. 제 1 항, 제 2 항 또는 제 3 항에 있어서, 상기 각 영역은 수직 방향의 N개의 서브 영역으로 분할되는 것을 특징으로 하는 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리 방법.
  6. 제 1 항, 제 2 항 또는 제 3 항에 있어서, 상기 각 영역은 수직 및 수평 방향의 네 개의 서브 영역으로 분할되는 것을 특징으로 하는 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리 방법.
  7. 제 1 항, 제 2 항 또는 제 3 항에 있어서, 상기 각 영역은 수직 및 수평 방향의 N개의 서브 영역으로 분할되는 것을 특징으로 하는 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리 방법.
KR1019990033268A 1999-08-13 1999-08-13 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리방법 KR100331603B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990033268A KR100331603B1 (ko) 1999-08-13 1999-08-13 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990033268A KR100331603B1 (ko) 1999-08-13 1999-08-13 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리방법

Publications (2)

Publication Number Publication Date
KR20010017642A KR20010017642A (ko) 2001-03-05
KR100331603B1 true KR100331603B1 (ko) 2002-04-06

Family

ID=19607050

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990033268A KR100331603B1 (ko) 1999-08-13 1999-08-13 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리방법

Country Status (1)

Country Link
KR (1) KR100331603B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020094749A (ko) * 2001-06-13 2002-12-18 주식회사 한얼소프트 가상공간의 연계된 그룹분할 방법과 이를 이용한 가상공간서비스 시스템
KR20040052131A (ko) * 2002-12-13 2004-06-19 한국전자통신연구원 거리기반 분산형 온라인 게임 서버 시스템
KR100597433B1 (ko) * 2003-12-17 2006-07-10 한국전자통신연구원 대규모 사용자 온라인 게임 서버에서의 셀 기반 관심 영역및 역관심 영역의 관리 방법
KR100469826B1 (ko) * 2004-02-05 2005-02-03 엔에이치엔(주) 온라인 게임 서버의 데이터 분산 처리 방법 및 데이터분산 처리 시스템
KR100474235B1 (ko) * 2004-07-21 2005-03-14 엔에이치엔(주) 동적 지역 그룹핑 방식의 이벤트 알림 시스템 및 그 방법
KR100834421B1 (ko) * 2006-10-19 2008-06-04 주식회사 넥슨 전 세계 단일 서버 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970019263A (ko) * 1995-09-26 1997-04-30 우에시마 세이스케 네트워크시스템 및 데이터전송방법
JPH09252319A (ja) * 1996-03-15 1997-09-22 Toshiba Corp パケット転送方法およびパケット転送装置
US5835723A (en) * 1995-12-28 1998-11-10 Intel Corporation Dynamic assignment of multicast addresses
JPH10308758A (ja) * 1997-03-06 1998-11-17 Toshiba Corp 通信装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970019263A (ko) * 1995-09-26 1997-04-30 우에시마 세이스케 네트워크시스템 및 데이터전송방법
US5835723A (en) * 1995-12-28 1998-11-10 Intel Corporation Dynamic assignment of multicast addresses
JPH09252319A (ja) * 1996-03-15 1997-09-22 Toshiba Corp パケット転送方法およびパケット転送装置
JPH10308758A (ja) * 1997-03-06 1998-11-17 Toshiba Corp 通信装置

Also Published As

Publication number Publication date
KR20010017642A (ko) 2001-03-05

Similar Documents

Publication Publication Date Title
US6370565B1 (en) Method of sharing computation load within a distributed virtual environment system
Margery et al. A general framework for cooperative manipulation in virtual environments
KR101201191B1 (ko) 애플리케이션의 하나의 사용자 클래스에 그 애플리케이션의다른 사용자 클래스가 시각적으로 경험하고 있는 것의뷰를 제공하기 위한 시스템 및 방법
JP2008117403A (ja) ワイドエリアネットワークにおける待ち時間の影響を軽減する局所的な更新を伴うビデオゲーム
Zhang et al. A framework of social interaction support for ubiquitous learning
Barkai An introduction to peer-to-peer computing
KR20030079923A (ko) 멀티-유저를 위한 통신 인프라스트럭쳐 배열
AU2001296186A1 (en) Communication infrastructure arrangement for multiuser
CN101300580A (zh) 沉浸式音频通信
Douglas et al. Enabling massively multi-player online gaming applications on a p2p architecture
KR100331603B1 (ko) 분산 가상 환경에서의 확장성을 위한 영역간 상호 작용 관리방법
Hosseini et al. Visibility-based interest management in collaborative virtual environments
Steed et al. The London travel demonstrator
Hagsand et al. Using spatial techniques to decrease message passing in a distributed VE system
Chang et al. Scalable and efficient update dissemination for distributed interactive applications
Ng et al. A performance study on multi-server DVE systems
Lim et al. Improving Scalability Using Sub-Regions in Distributed Virtual Environments
Dinh et al. NVR: a system for networked virtual reality
Costantini et al. An Internet Based Architecture Satisfying the Distributed Building Site Metaphor
EP1505526A1 (en) Peer-to-peer computing system
Kong et al. Collaborative visualisation over the Access Grid using the ICENI Grid middleware
Ferreira Network middleware for large scale mobile and pervasive augmented reality games
Rodrigues et al. Managing large scale virtual environments using portals
Udani VENUS: A virtual environment network using satellites
Smit et al. Spatial Publish/Subscribe: Decoupling Game State Dissemination from State Computation for Massive Multiplayer Online Games

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: 20100225

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee