KR100345311B1 - 분산공유 가상공간 단말 장치와 그의 운용방법 - Google Patents

분산공유 가상공간 단말 장치와 그의 운용방법 Download PDF

Info

Publication number
KR100345311B1
KR100345311B1 KR1020000069704A KR20000069704A KR100345311B1 KR 100345311 B1 KR100345311 B1 KR 100345311B1 KR 1020000069704 A KR1020000069704 A KR 1020000069704A KR 20000069704 A KR20000069704 A KR 20000069704A KR 100345311 B1 KR100345311 B1 KR 100345311B1
Authority
KR
South Korea
Prior art keywords
virtual space
terminal device
distributed shared
server
rendering
Prior art date
Application number
KR1020000069704A
Other languages
English (en)
Other versions
KR20020039882A (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 KR1020000069704A priority Critical patent/KR100345311B1/ko
Publication of KR20020039882A publication Critical patent/KR20020039882A/ko
Application granted granted Critical
Publication of KR100345311B1 publication Critical patent/KR100345311B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 분산공유 가상공간 단말 장치와 그의 운용방법에 관한 것으로, 가상공간 운용성능 향상과 효율적인 가상공간 운용 및 검색을 위한 분산공유 가상공간 단말 장치와 그의 운용방법 및 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하기 위하여, 참여하고자 하는 가상공간 이름을 구하기 위한 세션처리수단; 가상공간 객체 계층 구조 및 객체 속성을 편집하기 위한 편집수단; 가상공간에서 객체의 조종을 위해 조종 도구를 선택하기 위한 조종수단; 가상공간의 검색 모드를 선택하기 위한 검색수단; 가상공간 조종 시 발생 이벤트를 서버로 전송하기 위한 이벤트처리수단; 서버와의 접속 처리를 위한 네트워크 접속수단; 컴포넌트 상호 관계성과 객체의 공유 속성을 관리하기 위한 컴포넌트 및 분산 객체 관리수단; 컴포넌트 실행과 상기 실행에 따른 랜더링 상세 데이터의 생성 및 랜더링을 하기 위한 플랫폼 랜더링 및 컴포넌트 실행수단; 및 사용자가 분산공유 가상공간을 사용하도록 하기 위한 인터페이싱수단을 포함하며, 3차원 가상현실 시스템 등에 이용됨.

Description

분산공유 가상공간 단말 장치와 그의 운용방법{Client Apparatus and Operating Method of Distributed Shared Virtual Space System}
본 발명은 분산공유 가상공간 단말 장치와 그의 운용방법 및 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 가상공간의 참여자 수가 많거나 3차원 데이터가 방대한 경우, 가상공간의 운용에 필요한 분산공유 가상공간 단말 장치의 가상공간 운용성능 향상과 효율적인 가상공간 운용 및 검색을 위한 분산공유 가상공간 단말 장치와 그의 운용방법 및 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
일반적으로 3차원 그래픽스 기술은 그래픽스 표현성과 실시간성이라는 양대 축으로 발전하여 왔다. 종래 가상현실은 상기와 같은 3차원 그래픽스 기술을 중심으로 컴퓨터로 영상, 촉감 등을 생성하여 인간으로 하여금 체감할 수 있도록 개발되었다. 현재 이러한 가상현실 기술은 실세계 현실감과 컴퓨터가 생성하는 인공 현실감의 경계를 모호하게 할 만큼 발전되어 있다.
한편, 인터넷의 출현으로 컴퓨터와 컴퓨터를 서로 연결하여 컴퓨터를 매개체로 한 협동작업에 대한 기술개발이 추진되었으며, 월드와이드웹(WWW)은 그 대표적인 기술의 결과물이다. 월드와이드웹(WWW) 기술은 분류상 비동기식 협동작업으로 분류되며, 본 발명이 분류되는 동기식 협동작업과는 시간성에 있어 구분이 된다.
본 발명은 분산공유 가상현실 기술로 분류되며, 가상의 세계를 인터넷 상에만들고 그곳을 매개체로 여러 사람이 협동작업을 한다는 공간적 의미를 강조하여 분산공유 가상공간 기술이라고 명명하기도 한다(이하 "분산공유 가상공간"이라 함).
분산공유 가상공간은 인터넷을 통한 동기식 협동작업과 가상현실 기술을 병합한 기술이다. 이 기술은 현재 급진적인 발전을 거듭하고 있으며 상용화 서비스를 실시하고 있기도 하다.
상기 상용화 서비스로는 3차원 가상 세계 안에서 3차원 검색기를 통하여 다른 사람과 만날 수 있게 하는 것과 가상 세계에서 다른 참여자와 함께 채팅을 할 수 있게 하는 것 등이 있다. 하지만, 아직은 동시 사용자 수 및 가상 세계 운용 성능 등의 면에서 많은 제약 사항이 존재한다.
또한, 분산공유 가상공간은 가상 세계를 관리하는 서버기술과 서버에 연결하여 가상공간을 사용자에게 제시하고 사용자의 조종을 처리하는 단말기술로 크게 대별되며, 상기 서버기술과 단말기술이 실시되었을 때의 결과물을 서버 장치와 단말 장치를 통칭하는 의미로 분산공유 가상공간 장치라고 부른다.
상기 분산공유 가상공간 장치는 가장 간단한 형태로서 일반적으로 도 1 과 같은 클라이언트/서버 모델이 있다.
도 1 은 일반적인 분산공유 가상공간 장치의 구성예시도이다.
도 1 에 도시된 바와 같이, 분산공유 가상공간 장치는 가상 세계를 관리하는 서버 장치(100)와 가상공간을 사용자에게 제시하고 사용자의 조종을 처리하는 단말 장치(101~104)를 포함한다.
상기 서버 장치(100)는 가상공간을 관리하며 보통 일관성 유지를 위하여 전체 응답(Full replication) 방식을 채용한다. 즉, 단말 장치(101~104)의 랜더링(rendering) 플랫폼에서 사용하는 메모리 계층구조(이를 신(scene) 그래프라 함)를 서버 장치(100)에서도 동일하게 유지하면서 클라이언트에서 발생되는 이벤트를 서버 장치(100)와 단말 장치(101~104)에 동일하게 전달하여 일관성을 유지한다.
그러나, 상기 종래 방식은 다음과 같은 문제점이 있었다.
첫 번째로, 상기 분산공유 가상공간 장치에서는 참여하는 모든 분산공유 가상공간 단말 장치들이 일관성있게 유지되어야 하므로 사용자가 증가할수록 소요 네트워크 대역폭이 증가되고, 서버가 가상공간 객체를 완전 복제하여 가상공간에서 발생하는 모든 이벤트를 전송 및 배송하고 있기 때문에 서버가 클라이언트로 보내는 데이터 배송 성능이 감소되는 문제점이 있었다.
두 번째로는 분산공유 가상공간 장치의 일관성 유지를 위하여 서버 장치와 단말 장치 간에는 완전 복제를 수행하는 것을 앞서 기술하였지만, 복제되는 단말 장치의 랜더링(rendering) 플랫폼에서 사용하는 메모리 계층구조인 신 그래프(scene graph) 메모리 계층 구조는 3차원 랜더링을 위한 폴리곤 리스트(polygon list) 등으로 구성되며, 이에 관련된 자료의 양이 매우 크다. 때문에 신규로 단말 장치가 서버 장치에 접속하여 서버에서 신(scene) 그래프 메모리 계층 구조를 다운로드하거나, 한 단말 장치에서 신규로 객체를 추가하는 경우, 서버로의 업로드 및 다른 단말 장치로의 다운로드를 수반하여 소요 시간이 길어지는 문제점이 있었다.
세 번째로, 이전의 3차원 그래픽 소프트웨어는 출판 버전(release version)에 따라서 실행 프로그램의 사이즈가 결정되고, 사용자는 자신이 원하는 기능과는 무관하게 해당 버전을 사용할 수밖에 없었다. 즉, 예를 들어 사용자는 텍스쳐 노드(texture node)를 사용하지 않아도 텍스쳐 노드를 지원하는 브라우저를 사용할 수밖에 없었다. 이에 관한 가장 큰 이유는 개별 사용자별로 특화된 소프트웨어를 만드는데 소요되는 생산 비용이 증가하기 때문이다.
이러한 전통적 소프트웨어 생산 방식은 소프트웨어를 다운로드하여 사용하는 경우, 사용자수가 증가한 인터넷 환경에서는 부적합하다. 즉, 실행 프로그램 사이즈가 커지므로 다운로드 시간이 길어지게 되고, 이로 인해 사용자의 외면을 초래하는 문제점이 있었다.
본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 가상공간 운용성능 향상과 효율적인 가상공간 운용 및 검색을 위한 분산공유 가상공간 단말 장치와 그의 운용방법 및 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 일반적인 분산공유 가상공간 장치의 구성예시도.
도 2 는 본 발명이 적용되는 분산공유 가상공간 장치의 구성예시도.
도 3 은 본 발명에 따른 분산공유 가상공간 단말 장치의 일실시예 구성도.
도 4 는 본 발명에 따른 분산공유 가상공간 단말 장치의 운용방법에 대한 일실시예 흐름도.
도 5 는 본 발명에 따른 분산공유 가상공간 단말 장치 화면의 일실시예 구성도.
* 도면의 주요 부분에 대한 부호의 설명
301 : 세션처리 모듈 302 : 편집 모듈
303 : 조종 모듈 304 : 검색 모듈
305 : 플랫폼 랜더링 엔진 및 컴포넌트 실행 모듈
306 : 이벤트 처리 모듈 307 : 네트워크 접속 모듈
308 : 컴포넌트 및 분산 객체 관리 모듈
상기 목적을 달성하기 위한 본 발명의 장치는, 분산공유 가상공간 단말 장치에 있어서, 참여하고자 하는 가상공간 이름을 구하기 위한 세션처리수단; 가상공간객체 계층 구조 및 객체 속성을 편집하기 위한 편집수단; 가상공간에서 객체의 조종을 위해 조종 도구를 선택하기 위한 조종수단; 가상공간의 검색 모드를 선택하기 위한 검색수단; 가상공간 조종 시 발생 이벤트를 서버로 전송하기 위한 이벤트처리수단; 서버와의 접속 처리를 위한 네트워크 접속수단; 컴포넌트 상호 관계성과 객체의 공유 속성을 관리하기 위한 컴포넌트 및 분산 객체 관리수단; 컴포넌트 실행과 상기 실행에 따른 랜더링 상세 데이터의 생성 및 랜더링을 하기 위한 플랫폼 랜더링 및 컴포넌트 실행수단; 및 사용자가 분산공유 가상공간을 사용하도록 하기 위한 인터페이싱수단을 포함하는 것을 특징으로 한다.
한편, 본 발명의 방법은, 분산공유 가상공간 단말 장치에 적용되는 분산공유 가상공간 단말 장치 운용방법에 있어서, 세션 서버로부터 참여하고자 하는 가상공간 목록을 획득하는 제 1 단계; 데이터 서버로부터 랜더링(rendering)에 필요한 속성을 가지고 있는 객체 명세 데이터를 다운로딩하는 제 2 단계; 랜더링(rendering) 상세 데이터의 생성을 위한 컴포넌트 소프트웨어를 구하는 제 3 단계; 상기 객체 명세 데이터를 상기 컴포넌트 소프트웨어를 이용하여 랜더링(rendering) 상세 데이터로 변환하는 제 4 단계; 및 이용자의 조종에 의하여 발생된 이벤트가 다른 분산공유 가상공간 단말 장치로 배송하여 가상공간 상태의 일관성을 유지하는 제 5 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명은, 대용량 프로세서를 구비한 분산공유 가상공간 단말 장치에, 세션 서버로부터 참여하고자 하는 가상공간 목록을 획득하는 제 1 기능; 데이터 서버로부터 랜더링(rendering)에 필요한 속성을 가지고 있는 객체 명세 데이터를 다운로딩하는 제 2 기능; 랜더링(rendering) 상세 데이터의 생성을 위한 컴포넌트 소프트웨어를 구하는 제 3 기능; 상기 객체 명세 데이터를 상기 컴포넌트 소프트웨어를 이용하여 랜더링(rendering) 상세 데이터로 변환하는 제 4 기능; 및 이용자의 조종에 의하여 발생된 이벤트가 다른 분산공유 가상공간 단말 장치로 배송하여 가상공간 상태의 일관성을 유지하는 제 5 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
먼저, 본 발명의 기술적 요지를 요약하여 살펴보면 다음과 같다.
첫 번째의 가상공간의 참여자 수가 증가함에 따라 서버 장치와 단말 장치의 운용 성능이 급격히 저하되는 문제점은 가상공간 객체의 공유 속성을 지정함으로써 참여자 사이에 공유되는 객체 수를 줄일 수 있도록 하고, 결과적으로 데이터 전송 회수와 표준 전송 사이즈를 감소시킴으로서 해결하였다.
두 번째의 3차원 객체의 복잡도가 증가할 때에 데이터 업/다운로드 시간이 길어지는 문제점은 서버 장치에서 관리하는 데이터와 단말 장치가 관리하는 데이터를 구분하여 관리하도록 함으로써 데이터의 업/다운로드 시간 감소를 가능하게 하였다.
세 번째의 처리 가능한 가상공간 객체 종류가 증가함에 따라 단말 장치의 실행 프로그램 사이즈가 증가하여 네트워크를 통한 서버 장치로부터 단말 장치로의상기 실행 프로그램 다운로드 시간이 길어지는 문제점은 3차원(3D) 컴포넌트 소프트웨어를 사용함으로써 상기 문제점을 해결하였다.
상기와 같은 방법에 의해서 분산공유 가상공간 장치에서 발생하는 문제를 해결할 수 있으며, 후술되는 도 3 및 도 4 에서는 상기 방법을 사용한 분산공유 가상공간 단말 장치의 구체적인 구성 및 동작을 상세히 나타내고 있다.
도 2 는 본 발명이 적용되는 분산공유 가상공간 장치의 구성예시도로서, 도면에서 "200"은 서버 군, "210"은 분산공유 가상공간 단말 장치를 각각 나타낸다.
상기 서버 군(200)에 표기한 각종 서버(201~205)는 서버 소프트웨어의 기능상의 분류이며, 반드시 물리적인 개체를 의미하는 것은 아니다. 즉, 소수의 분산공유 가상공간 단말 장치(210)가 접속되는 소규모 분산공유 가상공간 장치에서는 한 대의 물리적 서버 컴퓨터에 모든 종류의 서버가 장착될 수 있으나, 다수의 분산공유 가상공간 단말 장치(210)가 접속되는 대규모 분산공유 가상공간 장치에서는 서버 장치 소프트웨어의 요구 성능에 따라서 각 서버 소프트웨어 별로 한 대 혹은 수 대의 물리적 서버 컴퓨터를 할당할 수도 있다.
또한, 서버 군(200)의 각 기능 서버 소프트웨어와 분산공유 가상공간 단말 장치(210)는 인터넷으로 연결되며, 서버 군(200)의 각 서버 소프트웨어의 기능은 다음과 같다.
먼저, 세션 서버(201)는 분산공유 가상공간의 작업 공간인 세션을 만들고 관리하며, 데이터 서버(202)는 작업 공간에 로딩되어 있는 3차원 명세 데이터를 관리한다. 그리고, 이벤트 서버(203)는 작업 공간에서 발생하는 이벤트를 관리하며 접속된 분산공유 가상공간 단말 장치 각각에게 이벤트를 배송하는 역할을 담당한다. 또한, 신(scene)서버(204)는 작업공간에 로딩될 3차원 명세 데이터를 관리하고, 컴포넌트 서버(205)는 분산공유 가상공간 단말 장치에서 사용될 컴포넌트 소프트웨어들을 관리한다.
도 3 은 본 발명에 따른 분산공유 가상공간 단말 장치의 일실시예 구성도이다.
본 발명에 따른 분산공유 가상공간 단말 장치는, 참여하고자 하는 가상공간 이름을 구하기 위한 세션처리 모듈(301), 가상공간 객체 계층 구조 및 객체 속성의 편집을 위한 편집 모듈(302), 가상공간에서 객체의 조종을 위해 조종 도구를 선택하기 위한 조종 모듈(303), 가상공간의 검색모드를 선택하기 위한 검색 모듈(304), 가상공간 조종 시 발생 이벤트를 이벤트 서버로 전송하기 위한 이벤트 처리 모듈(306), 서버와의 접속 처리를 위한 네트워크 접속 모듈(307), 컴포넌트 상호 관계성과 객체의 공유 속성을 관리하기 위한 컴포넌트 및 분산 객체 관리 모듈(308), 컴포넌트 실행과 그 실행에 따른 상세 데이터의 생성 및 랜더링을 위한 플랫폼 랜더링 엔진 및 컴포넌트 실행 모듈(305)를 포함한다.
상기 각 구성요소를 좀 더 상세히 살펴보면 다음과 같다.
먼저, 상기 세션처리 모듈(301)은 참여하고자 하는 가상공간 이름을 구하기 위한 것으로서, 세션의 설정, 생성 등의 기능을 수행하여 분산공유 가상공간 단말 장치가 임의의 가상공간에 참여하게 한다.
상기 편집 모듈(302)은 가상공간 객체 구조 편집 기능을 수행하며 가상공간객체 계층 구조를 편집하게 한다. 또한, 가상공간에 객체를 추가하고자 할 때 계층 구조에서 객체 삽입 위치를 선정하게 하고 파일 혹은 신(scene) 서버에서 객체를 회수해서 선정한 삽입 위치에 놓을 수 있게 한다. 또한, 상기 편집 모듈(302)은 객체 속성을 편집할 수 있게 하며, 어떤 객체 혹은 객체 그룹, 그 속성 등의 공유 속성을 지정하게 한다. 즉, 공유 속성은 3차원 묘사 파일에서 기술하지 않고 편집 모듈에서 동적으로 사용자가 편집할 수 있게 한다. 그리고, 상기 편집 모듈은 각 3차원 객체의 명세 데이터뿐만 아니라 랜더링(rendering) 상세 데이터도 편집할 수 있게 한다.
상기 조종 모듈(303)은 가상공간 객체를 조종하기 위한 가상 도구들을 관리한다. 여기서, 상기 가상 도구로는 객체를 선택하였을때 선택 피드백(feedback)을 나타내는 셀렉터(selector), 선택한 객체를 변위하기 위한 번역기(Translator), 선택한 객체의 위치, 각도, 크기 등을 변형하기 위한 변환기(Transformer), 그리고 선택한 객체의 스케일 변경을 위한 스케일러(Scaler) 등이 있다.
상기 검색 모듈(304)은 가상공간의 검색 모드를 선택하기 위한 것으로서, 가상공간의 카메라 파라미터(parameter) 및 검색로를 지정하게 하고 워크(Walk), 플라이(Fly), 줌(Zoom), 팬(Pan), 이그재민(Examine) 등의 검색 모드를 선정하게 한다.
상기 네트워크 접속 모듈(307)은 서버와의 접속 처리를 위한 것으로서, 분산공유 가상공간 단말 장치와 상기 각종 서버들과의 접속 처리 및 데이터 전송에 따른 데이터 패킷 처리를 담당한다.
상기 이벤트 처리 모듈(306)은 가상공간 조종 시 발생 이벤트를 이벤트 서버로 전송하기 위한 것으로서, 분산공유 가상공간 단말 장치에서 발생하는 이벤트를 각종 서버로 접속시켜 주는 기능을 수행한다.
상기 컴포넌트 및 분산 객체 관리 모듈(308)은 컴포넌트 상호 관계성과 객체의 공유 속성을 관리하기 위한 것으로서, 컴포넌트 소프트웨어를 관리하며 가상공간 객체의 상태 및 계층 구조를 관리한다. 이는 플랫폼 랜더링(rendering) 엔진 및 컴포넌트 실행 모듈(305)과 바로 연동되어 있다.
상기 플랫폼 랜더링(rendering) 엔진 및 컴포넌트 실행 모듈(305)은 컴포넌트 실행과 그 실행에 따른 상세 데이터의 생성 및 랜더링을 위한 것으로서, 본 발명에서는 자바쓰리디(Java3D) 및 자바(Java)2 플랫폼을 사용하고 있으나 다른 형태의 소프트웨어 환경(플랫폼)을 사용할 수도 있다.
그리고, 상기 도 3 에는 표시되지 않았으나 분산공유 가상공간 단말 장치는 사용자가 분산공유 가상공간을 사용하도록 하기 위하여, 분산공유 가상공간 단말 장치의 상기 각 모듈들(301~308)의 출력을 인터페이싱하여 구성하는 화면을 포함한다.
상기 각 모듈들(301~308)의 출력을 인터페이싱하여 구성하는 화면에 대한 내용은 도 5 를 예시로 하여 상세히 후술하기로 한다.
도 4 는 본 발명에 따른 분산공유 가상공간 단말 장치의 운용방법에 대한 일실시예 흐름도로서, 도 2 와 같은 서버 군이 있을 때에 분산공유 가상공간 단말 장치가 분산공유 가상공간에 참여하는 과정을 나타낸다.
도 4 에 도시된 바와 같이, 먼저 분산공유 가상공간 단말 장치(210)는 분산공유 가상공간의 작업공간인 세션을 만들고 관리하는 세션 서버에 접속한다(401). 그리고, 세션 서버(201)에서 제공되는 현재 활성화되어 있는 활성 가상공간 정보를 전달받아 활성화되어 있는 가상공간에 참여하든지 또는 신규로 세션을 생성하여 가상공간에 참여할 것인지를 판단한다(402).
판단한 결과, 활성화되어 있는 가상공간에 참여하지 않는 경우는 새로운 세션을 생성할 것인지를 판단하고(403), 새로운 세션을 생성하는 경우에는 세션을 생성한 후 분산공유 가상공간 단말 장치(210)는 신규 활성 가상공간 정보를 세션 서버(201)에 등록한다(404). 이때, 세션을 생성하지 않는 경우에는 다시 세션 서버(201)에 접속하는 과정으로 넘어간다.
다음으로, 분산공유 가상공간 단말 장치(210)는 신규 세션을 생성하여 가상공간에 참여하거나 기존의 활성 가상공간에 참여하여 해당 가상공간의 3차원 가상공간 객체 정보를 관리하고 있는 데이터 서버(202)에 접속한다(405).
그리고, 분산공유 가상공간 단말 장치(210)는 데이터 서버(202)로부터 해당 가상공간의 3차원 객체 명세 데이터를 다운로드받는다(406). 여기서, 데이터 서버(202)가 관리하는 데이터인 3차원 객체 명세 데이터는 객체의 랜더링(rendering)에 필요한 플랫폼 정보는 포함하지 않는다. 즉, 상기 제시한 가상공간 복잡도 증가에 따른 데이터 업/다운로드 시간을 감소시키기 위하여 데이터의 사이즈를 줄이는 것이다.
예로서, 건축물의 벽(Wall)에 대하여는 다음 [표 1]과 같이랜더링(rendering)에 필요한 속성만을 가지고 있는 3차원 객체 명세 데이터가 규정된다.
속성 설명
ID 벽의 식별자
Location[Building, Floor, Section, RoomID(StartPoint, EndPoint 이 벽이 어느 빌딩, 몇 층, 어떤 세션, 어느 방에 위치하는가
Length, Height 장, 고
WallStyle(name, offset, thickness) 스타일
Opening(Width, Height, Offset) 개구 속성
상기 [표 1]과 같이, 상기 3차원 객체 명세 데이터에는 랜더링(rendering)에 필요한 속성만을 포함하고 있으므로 데이터의 사이즈는 줄었지만, 상기 3차원 객체 명세 데이터를 3차원 디스플레이로 랜더링(rendering)하기 위해서는 3차원 객체 명세 데이터를 클라이언트의 랜더링 플랫폼에 맞는 랜더링(rendering) 상세 데이터로 변환해 주어야 한다.
여기서, 3차원 객체 명세 데이터를 랜더링(rendering) 상세 데이터로 변환하는 기능을 컴포넌트 소프트웨어가 수행하게 된다.
따라서, 서버에서 랜더링(rendering) 상세 데이터 전체를 다운로드하는 것보다 데이터사이즈가 적은 상기 3차원 객체 명세 데이터를 다운로드하여 분산공유 가상공간 단말 장치(210)에서 3차원 객체 명세 데이터를 컴포넌트 소프트웨어를 이용하여 랜더링(rendering) 상세 데이터를 생성하는 것이 업/다운로드 시간을 감소시킬수 있다.
한편, 상기와 같이 어떤 3차원 객체 명세 데이터가 랜더링(rendering)되기 위해서는 해당 컴포넌트 소프트웨어가 분산공유 가상공간 단말 장치(210)에 존재하여야 한다.
따라서, 3차원 객체 명세 데이터를 다운로드받은(406) 분산공유 가상공간 단말 장치(210)는 필요로 하는 3차원 객체 명세 데이터를 랜더링(rendering) 상세 데이터로 변환하는 컴포넌트 소프트웨어가 있는지 검색하여 새로운 컴포넌트 소프트웨어가 필요한지를 판단한다(407).
판단한 결과, 필요한 컴포넌트 소프트웨어가 단말 장치에서 발견되지 않았을 경우, 분산공유 가상공간 단말 장치(210)에서 사용될 컴포넌트 소프트웨어들을 관리하는 컴포넌트 서버(205)에 접속하여(408) 해당 컴포넌트 소프트웨어를 다운로드하여 분산공유 가상공간 단말 장치(210)에 설치한다(409).
상기 절차에 의하여 다운로드된 3차원 객체 명세 데이터를 분산공유 가상공간 단말 장치(210)가 기존에 가지고 있는 컴포넌트 소프트웨어 또는 컴포넌트 서버(205)에서 다운로드한 컴포넌트 소프트웨어에 의해 랜더링(rendering) 상세 데이터로 변환하고, 상기 과정에 의하여 생성된 랜더링(rendering) 상세 데이터에 의하여 분산공유 가상공간 단말 장치(210)에서는 랜더링(rendering)이 개시된다. 이때, 분산공유 가상공간 단말 장치(210)는 이벤트 처리를 시작한다.
상기 이벤트 처리는, 먼저 분산공유 가상공간 단말 장치(210)가 작업공간에서 발생하는 이벤트를 관리하고 접속된 분산공유 가상공간 단말 장치 각각에 배송하는 역할을 하는 이벤트 서버(203)에 접속하여(410) 클라이언트의 조종을 입력받는다(411). 여기서, 상기 이벤트는 사용자(클라이언트)가 가상공간을 조작할 때(411) 발생되며, 또한 상기 이벤트에 의하여 가상공간이 변형된다. 이때, 동일한 가상공간에서 동일한 변형이 이루어지기 위해서는 함께 참여하고 있는 다른 분산공유 가상공간 단말 장치들에게도 전달되어야 한다. 이를 위하여 이벤트 처리를 개시하기 전에 분산공유 가상공간 단말 장치(210)는 이벤트 서버에 접속(410)하는 것이다.
또한, 상기 이벤트 중 중요한 이벤트로는 3차원 가상공간의 객체 변형, 객체 이동, 객체 스케일 변화, 카메라, 아바타(avatar)와 라이트의 위치 설정, 신규 가상 객체의 생성 등을 들 수 있다.
특히, 상기 이벤트 중 신규 가상 객체의 생성인지를 판단하여(412) 신규 가상 객체의 생성인 경우는, 먼저 작업공간에 로딩될 3차원 객체 명세 데이터를 관리하는 신(scene)서버(204)에 접속하여(414) 상기 신(scene)서버(204)의 데이터베이스를 검색한 후에 신규 가상 객체를 회수하여 분산공유 가상공간 단말 장치(210)에 장착하고(415), 상기 신규 가상 객체의 3차원 객체 명세 데이터를 데이터 서버(202)에 등록한다(416). 그리고, 다시 신규 가상 객체의 3차원 객체 명세 데이터를 랜더링(rendering) 상세 데이터로 변환하는 과정(407)으로 넘어간다.
한편 신규 가상 객체의 생성이 아닌 경우에는, 사용자(클라이언트)가 가상공간을 조작할 때(411) 발생된 이벤트를 분산공유 가상공간 단말 장치(210)가 이벤트 서버(203)에 전달한다(413).
여기서, 이벤트 서버는 분산공유 가상공간 단말 장치에서 발생하는 이벤트를신속하게 관련 분산공유 가상공간 단말 장치들로 전송해 주어야 하므로 이벤트가 발생된 객체 수와 이벤트를 전송해야 할 사용자(클라이언트) 수에 따라서 성능이 변화된다. 따라서, 본 발명에서는 꼭 필요한 이벤트를 꼭 필요한 클라이언트에게 전달함으로써 서버의 성능이 가상공간 복잡도에 비교하여 보다 덜 민감하게 반응하도록 하고 있다. 이를 위하여 가상 객체에는 공유 속성을 부여하고, 공유 속성이 부여된 가상 객체에 대해서만 이벤트를 관리하도록 한다. 따라서, 사용자(클라이언트)가 증가할수록 소요 네트워크 대역폭이 증가하고, 서버가 이용자(클라이언트)로 보내는 데이터 배송 성능이 감소되는 문제점을 해결할 수 있다.
도 5 는 본 발명에 따른 분산공유 가상공간 단말 장치 화면의 일실시예 구성도로서, 상기 분산공유 가상공간 단말 장치에 의하여 구성된 화면을 나타내며, 상기 화면을 이용하여 사용자는 분산공유 가상 환경을 운용하게 된다.
도 5 에 도시된 바와 같이, 화면은 크게 세션(511), 편집(512), 조종(513), 검색(514) 등의 메뉴를 선정하는 메뉴 화면(510)과 계층구조 표시 화면(521), 객체 속성 표시 화면(522), 3차원(3D) 랜더링(rendering) 화면(523)으로 구성된다.
상기 각 구성요소를 좀 더 상세히 설명하면 다음과 같다.
먼저, 사용자가 세션 메뉴(511)에 의하여 세션 설정을 하면, 선택된 세션의 가상공간 객체가 다운로드되고, 상기 다운로드된 객체의 계층 구조가 계층 구조 표시 화면(521)에 트리 형태로 표시된다. 그리고, 상기 다운로드된 객체의 3차원(3D) 랜더링(rendering) 결과가 3차원(3D) 랜더링 화면(523)에 표시된다.
또한, 사용자가 계층 구조 화면(521)의 계층 트리의 노드 한 개를 선택하게되면 해당 노드의 속성이 객체 속성 표시 화면(522)에 표시된다.
상기 편집 메뉴(512)는 신(scene)서버로부터 객체를 회수하여 계층 구조 트리의 선택된 노드에 차일드(child)로서 부착하게 하며, 또한 객체 속성 표시 화면(522)에서 속성을 편집할 수 있게 한다.
상기 조종 메뉴(513)는 가상 도구를 선택하게 하고, 상기 검색 메뉴(514)는 검색 모드가 워크(Walk)인지 또는 플라이(Fly)인지 등을 선택하게 한다.
본 발명의 분산공유 가상공간 단말 장치는 개인용 컴퓨터, 고성능 워크스테이션의 윈도우 프로그램으로 실시될 수도 있으며, 또한 셋탑 박스와 같은 독립형 컴퓨터 장치로도 실시될 수 있고, 가정용 게임기 등으로 실시될 수도 있다.
본 발명에서는 자바 언어를 사용하는 실시 예를 들어 설명했지만, 자바 언어로 국한될 필요는 없으며 다른 언어 및 운영 체계하에서도 실시될 수 있음은 자명하다.
또한, 본 발명은 협동형 건축 가상 엔지니어링의 단말 장치 혹은 온라인(Online) 게임에서의 사용자 단말 장치, 혹은 전자 상거래에서의 단말 장치, 교육용 컨텐츠에서의 단말 장치 등에 폭 넓게 적용이 가능하다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환,변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 가상공간 객체의 공유 속성을 지정함으로써 공유되는 객체 수를 줄일 수 있도록 하여, 결과적으로 데이터 전송 회수와 표준 전송 사이즈를 감소시키는 효과가 있다.
또한, 본 발명은, 서버 장치에서 관리하는 데이터와 단말 장치가 관리하는 데이터를 구분하여 관리하도록 함으로써 데이터의 업/다운로드 시간 감소를 가능하게 하고, 분산공유 가상공간 장치에 3차원(3D) 컴포넌트 소프트웨어를 사용하여 단말 장치의 실행 프로그램을 경량화하는 효과가 있다.

Claims (9)

  1. 분산공유 가상공간 단말 장치에 있어서,
    참여하고자 하는 가상공간 이름을 구하기 위한 세션처리수단;
    가상공간 객체 계층 구조 및 객체 속성을 편집하기 위한 편집수단;
    가상공간에서 객체의 조종을 위해 조종 도구를 선택하기 위한 조종수단;
    가상공간의 검색 모드를 선택하기 위한 검색수단;
    가상공간 조종 시 발생 이벤트를 서버로 전송하기 위한 이벤트처리수단;
    서버와의 접속 처리를 위한 네트워크 접속수단;
    컴포넌트 상호 관계성과 객체의 공유 속성을 관리하기 위한 컴포넌트 및 분산 객체 관리수단;
    컴포넌트 실행과 상기 실행에 따른 랜더링 상세 데이터의 생성 및 랜더링을 하기 위한 플랫폼 랜더링 및 컴포넌트 실행수단; 및
    사용자가 분산공유 가상공간을 사용하도록 하기 위한 인터페이싱수단
    을 포함하는 분산공유 가상공간 단말 장치.
  2. 제 1 항에 있어서,
    상기 인터페이싱수단은,
    가상공간의 계층 구조를 표시하고 편집하기 위한 계층구조 표시부;
    가상 객체의 속성 표시 및 편집을 하기 위한 객체 속성 표시부; 및
    가상공간의 3차원 랜더링을 하기 위한 3차원 랜더링 표시부
    를 포함하는 분산공유 가상공간 단말 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 인터페이싱수단은,
    가상공간 객체의 속성을 편집하는데 있어서, 다른 이용자와 객체 상태를 일관되게 유지하기 위하여, 객체 속성 표시부 화면을 통하여 공유 속성을 지정할 수 있게 하는 것을 특징으로 하는 분산공유 가상공간 단말 장치.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 플랫폼 랜더링 및 컴포넌트 실행수단은,
    가상공간에 객체를 로딩할 때에 객체의 3차원 객체 명세 데이터를 서버에서 회수하고 상기 3차원 객체 명세 데이터를 근거로 컴포넌트 소프트웨어를 이용하여 3차원 랜더링을 위한 랜더링 상세 데이터를 동적으로 생성해 내는 것을 특징으로 하는 분산공유 가상공간 단말 장치.
  5. 분산공유 가상공간 단말 장치에 적용되는 분산공유 가상공간 단말 장치 운용방법에 있어서,
    세션 서버로부터 참여하고자 하는 가상공간 목록을 획득하는 제 1 단계;
    데이터 서버로부터 랜더링(rendering)에 필요한 속성을 가지고 있는 객체 명세 데이터를 다운로딩하는 제 2 단계;
    랜더링(rendering) 상세 데이터의 생성을 위한 컴포넌트 소프트웨어를 구하는 제 3 단계;
    상기 객체 명세 데이터를 상기 컴포넌트 소프트웨어를 이용하여 랜더링(rendering) 상세 데이터로 변환하는 제 4 단계; 및
    이용자의 조종에 의하여 발생된 이벤트가 다른 분산공유 가상공간 단말 장치로 배송하여 가상공간 상태의 일관성을 유지하는 제 5 단계
    를 포함하는 분산공유 가상공간 단말 장치 운용방법.
  6. 제 5 항에 있어서,
    상기 제 3 단계는,
    랜더링(rendering) 상세 데이터의 생성을 위한 컴포넌트 소프트웨어가 분산공유 가상공간 단말 장치에 없는 경우에는 컴포넌트 서버에 접속하여 다운로딩하여 구하는 것을 특징으로 하는 분산공유 가상공간 단말 장치 운용방법.
  7. 제 5 항 또는 제 6 항에 있어서,
    상기 제 5 단계는,
    이용자의 조종에 의해서 이벤트가 발생하면 상기 이벤트가 신규 가상 객체의 생성 이벤트인지 판단하는 제 6 단계;
    상기 제 6 단계의 판단결과, 신규 가상 객체의 생성 이벤트가 아니면 다른 분산공유 가상공간 단말 장치와의 가상공간 상태의 일관성 유지를 위하여 이벤트 서버에 이벤트를 전달하는 제 7 단계; 및
    상기 제 6 단계의 판단결과, 신규 가상 객체의 생성 이벤트이면 신규 가상 객체의 객체 명세 데이터를 서버에 등록한 후에 상기 제 4 단계로 넘어가는 제 8 단계
    를 포함하는 분산공유 가상공간 단말 장치 운용방법.
  8. 제 7 항에 있어서,
    상기 제 8 단계는,
    신 서버에 접속하여 상기 신 서버의 데이터베이스를 검색한 후에 신규 가상 객체를 회수하여 장착하는 제 9 단계; 및
    상기 신규 가상 객체의 객체 명세 데이터를 상기 데이터 서버에 등록한 후에 상기 제 4 단계로 넘어가는 제 10 단계
    를 포함하는 분산공유 가상공간 단말 장치 운용방법.
  9. 대용량 프로세서를 구비한 분산공유 가상공간 단말 장치에,
    세션 서버로부터 참여하고자 하는 가상공간 목록을 획득하는 제 1 기능;
    데이터 서버로부터 랜더링(rendering)에 필요한 속성을 가지고 있는 객체 명세 데이터를 다운로딩하는 제 2 기능;
    랜더링(rendering) 상세 데이터의 생성을 위한 컴포넌트 소프트웨어를 구하는 제 3 기능;
    상기 객체 명세 데이터를 상기 컴포넌트 소프트웨어를 이용하여 랜더링(rendering) 상세 데이터로 변환하는 제 4 기능; 및
    이용자의 조종에 의하여 발생된 이벤트가 다른 분산공유 가상공간 단말 장치로 배송하여 가상공간 상태의 일관성을 유지하는 제 5 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020000069704A 2000-11-22 2000-11-22 분산공유 가상공간 단말 장치와 그의 운용방법 KR100345311B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000069704A KR100345311B1 (ko) 2000-11-22 2000-11-22 분산공유 가상공간 단말 장치와 그의 운용방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000069704A KR100345311B1 (ko) 2000-11-22 2000-11-22 분산공유 가상공간 단말 장치와 그의 운용방법

Publications (2)

Publication Number Publication Date
KR20020039882A KR20020039882A (ko) 2002-05-30
KR100345311B1 true KR100345311B1 (ko) 2002-07-25

Family

ID=19700670

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000069704A KR100345311B1 (ko) 2000-11-22 2000-11-22 분산공유 가상공간 단말 장치와 그의 운용방법

Country Status (1)

Country Link
KR (1) KR100345311B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012118267A2 (ko) * 2011-02-28 2012-09-07 ㈜지노게임즈 복제기반 분산 객체 시스템 및 그 제공방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8083699B2 (en) 2004-08-26 2011-12-27 Neuromechanical Innovations, Llc Electromechanical adjusting instrument

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012118267A2 (ko) * 2011-02-28 2012-09-07 ㈜지노게임즈 복제기반 분산 객체 시스템 및 그 제공방법
WO2012118267A3 (ko) * 2011-02-28 2012-11-01 ㈜지노게임즈 복제기반 분산 객체 시스템 및 그 제공방법
KR101209090B1 (ko) 2011-02-28 2012-12-07 (주)지노게임즈 복제기반 분산 객체 시스템 및 그 제공방법

Also Published As

Publication number Publication date
KR20020039882A (ko) 2002-05-30

Similar Documents

Publication Publication Date Title
US8417822B2 (en) Networked computer system for communicating and operating in a virtual reality environment
CN103095828B (zh) 基于云渲染的Web3D同步会议系统及实现同步的方法
US8504926B2 (en) Model based avatars for virtual presence
US9254438B2 (en) Apparatus and method to transition between a media presentation and a virtual environment
US6175842B1 (en) System and method for providing dynamic three-dimensional multi-user virtual spaces in synchrony with hypertext browsing
US20090125481A1 (en) Presenting Media Data Associated with Chat Content in Multi-Dimensional Virtual Environments
KR101371659B1 (ko) 범세계적으로 고유한 분산객체식별아이디를 이용한 다수의 분산된 가상세계 간 상호 연동 시스템 및 그 방법
de Oliveira et al. Collaborative Virtual Environment standards: a performance evaluation
US8595299B1 (en) Portals between multi-dimensional virtual environments
JP2001506039A (ja) 仮想環境ブラウザ内でのデータ管理
KR100345311B1 (ko) 분산공유 가상공간 단말 장치와 그의 운용방법
CN115952373A (zh) 一种基于云渲染实现一对多的方法
JPH10222698A (ja) 3次元仮想空間の通信装置、および通信方法
KR20000038102A (ko) 삼차원가상공간구축시스템
JP3957987B2 (ja) 3次元cgモデル配信システム,3次元cgモデル配信方法,3次元cgモデル配信サーバ,その配信処理方法,3次元cgモデル配信プログラムおよびコンピュータ読み取り可能な記録媒体
Zientarski et al. Applicability analysis of REST and SOAP web services
Huang et al. The petri net model for the collaborative virtual environment on the web
WO2002075530A1 (en) System and method for constructing user-interest based dynamic virtual environment
JP4338187B2 (ja) 情報処理方法及びその装置
Schmalstieg et al. Optimizing communication in distributed virtual environments by specialized protocols
KR20230081293A (ko) 웹 기반으로 편집 가능한 콘텐츠 제작 시스템
Tri et al. Designing a multi-user 3D environment system
Woo et al. Shared virtual space for architectural education
Frécon DIVE: A Programming Architecture for the Prototyping of IIS
Pham Designing a multi-user 3D environment system

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

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee