KR20100072232A - 현실세계 웹 애플리케이션과 3d 가상세계를 이어주는 방법 및 장치 - Google Patents
현실세계 웹 애플리케이션과 3d 가상세계를 이어주는 방법 및 장치 Download PDFInfo
- Publication number
- KR20100072232A KR20100072232A KR1020107007410A KR20107007410A KR20100072232A KR 20100072232 A KR20100072232 A KR 20100072232A KR 1020107007410 A KR1020107007410 A KR 1020107007410A KR 20107007410 A KR20107007410 A KR 20107007410A KR 20100072232 A KR20100072232 A KR 20100072232A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual world
- objects
- application
- web application
- web
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
웹 애플리케이션(402)에서 생성된 소프트웨어 오브젝트와 가상세계 애플리케이션에서 생성된 3D 가상세계 오브젝트(420)간의 정보의 공유 및 제어 명령과 이벤트의 전파를 자동화하기 위한 컴퓨터 구현 방법, 데이터 프로세싱 시스템, 및 컴퓨터 프로그램 제품을 제공한다. 웹 오브젝트를 하나 이상의 가상세계 오브젝트들(420)에 링크시켜주는 관계, 또는 가상세계 오브젝트(402)를 하나 이상의 웹 오브젝트들에 링크시켜주는 관계가 생성된다. 웹 애플리케이션(402)은 하나 이상의 가상세계 오브젝트들(420)의 메타 데이터를 검색할 수 있거나 또는 웹 애플리케이션(402)내의 웹 오브젝트에 링크되어 있는 하나 이상의 가상세계 오브젝트들(420)을 조작하기 위한 명령 또는 이벤트를 보낼 수 있다. 가상세계 시스템(404)은 하나 이상의 웹 오브젝트들의 메타 데이터를 검색할 수 있거나 또는 가상세계 시스템(404)내의 가상세계 오브젝트에 링크되어 있는 하나 이상의 웹 오브젝트들을 조작하기 위한 명령 또는 이벤트를 보낼 수 있다.
Description
일반적으로, 본 발명은 개선된 데이터 프로세싱 시스템에 관한 것이며, 보다 구체적으로는, 웹 인터페이스와 가상세계 인터페이스 모두를 갖는 소프트웨어 애플리케이션을 프로세싱하기 위한 컴퓨터 구현 방법 및 장치에 관한 것이다. 보다 더 구체적으로, 본 발명은 웹 애플리케이션에서 생성된 소프트웨어 오브젝트와 가상세계 애플리케이션에서 생성된 3D 가상세계 오브젝트간의 정보의 공유 및 제어 명령 또는 이벤트의 전파를 자동화하기 위한 컴퓨터 구현 방법, 장치, 및 컴퓨터 사용가능 프로그램 코드에 관한 것이다.
소프트웨어 애플리케이션은 주어진 목적을 달성하기 위해 소프트웨어에서 구현되는 시스템이다. 웹 애플리케이션은 웹 서버를 통해 클라이언트측 컴포넌트와 서버측 컴포넌트가 서로 링크된 소프트웨어 애플리케이션이다. 클라이언트측 컴포넌트는 웹 페이지의 형태인 반면에, 서버측 컴포넌트는 JSP(자바서버 페이지), 자바 서블릿, 및 PHP와 같은 다양한 기술들을 이용하여 구축될 수 있다. 웹 페이지는 하이퍼텍스트 마크업 언어(HTML) 및 확장가능 마크업 언어(XML)와 같은 선언적인 언어들과, 자바스크립트와 같은 스크립트 언어를 이용한 논리를 통해 사용자 인터페이스(UI)를 정의한다. 클라이언트 디바이스상의 웹 브라우저는 웹 페이지를 프로세싱하고 디스플레이한다. 클라이언트 웹 페이지는 하이퍼텍스트 전송 프로토콜(HTTP)을 이용하여 클라이언트 요청을 데이터베이스 액세스와 전자상거래와 같은 기업체 영업 로직을 일반적으로 포함하는 처리를 수행하는 적절한 서버 컴포넌트에 링크시켜주는 웹 서버와 통신한다. 서버 컴포넌트는 웹 서버를 통해 응답하고, 웹 서버는 HTTP를 이용하여 클라이언트에게 이 응답을 반송해준다.
가상세계는 아바타라고 불리우는 가상의 인물들이 거주하고, 여러 장소를 방문하고, 서로 상호작용할 수 있는 컴퓨터 기반 시뮬레이션 환경을 제공하는 소프트웨어 애플리케이션이다. 가상세계 환경은 일반적으로 현실세계 환경을 모방하는 3D 표현으로 나타난다. 아바타는 가상세계에서 거주하는 사람들의 표현물들이다.
기존의 가상세계 소프트웨어 시스템은 가상세계 환경을 이용하여 현실세계 시스템을 모델링하는 것에 촛점을 맞춘다. 이러한 기존의 시스템의 예시들에는 미국 특허 공개 제20070101276A1호가 포함되는데, 이것은 가상세계 시스템을 이용하여 웹 싸이트를 모델링하는 시스템을 설명한다. 미국 특허 공개 제20070100705A1호는 3D 가상 현실 세팅으로 의류 및 액세서리 쇼핑 프로세스를 시뮬레이션한다. 미국 특허 공개 제20060063645A1호는 휘트니스 장비를 가상세계 애플리케이션에 연결시켜주는 전자 디바이스를 개시한다. 미국 특허 공개 제20030061284A1호는 음성 통신과 결합된 네비게이션과 같은 제어 프로세스로 제품의 가상 표현물을 원격적으로 제어하는 시스템을 설명한다. 미국 특허 공개 제20030050864A1호는 3D 모델에 대한 몇몇 의류들의 3D 랜더링을 가능하게 해주는 방법을 설명하며, 여기서 의류와 모델은 웹 싸이트를 통해 사용자에 의해 선택된다.
하지만, 이러한 기존의 가상세계 소프트웨어 시스템은 가상세계에서의 정보를 웹 애플리케이션과 공유하는 특징구성 및 이와 반대의 특징구성을 포함하지 않는다. 또한, 이러한 기존의 가상세계 소프트웨어 시스템은 또한 웹 애플리케이션으로부터의 명령과 이벤트를 가상세계로 전파시키는 특징구성 및 이와 반대의 특징구성을 포함하지 않는다.
예시적인 실시예들은 웹 애플리케이션에서 생성된 소프트웨어 오브젝트와 가상세계 애플리케이션에서 생성된 3D 가상세계 오브젝트간의 정보의 공유 및 제어 명령 또는 이벤트의 전파를 자동화하기 위한 소프트웨어 애플리케이션을 프로세싱하는 컴퓨터 구현 방법, 데이터 프로세싱 시스템, 및 컴퓨터 프로그램 제품을 제공한다. 비가상세계 오브젝트에 링크된 하나 이상의 가상세계 오브젝트에 관한 메타 데이터에 대한 요청이 비가상세계 인터페이스로부터 수신될 때, 본 예시적인 실시예들은 비가상세계 오브젝트를 하나 이상의 가상세계 오브젝트에 링크시켜주는 맵핑 정보를 획득한다. 본 예시적인 실시예들은 맵핑 정보내의 식별자들을 이용하여 하나 이상의 가상세계 오브젝트에 관한 메타 데이터를 검색(retrieve)하고, 그런 다음 하나 이상의 가상세계 오브젝트에 관한 메타 데이터를 비가상세계 인터페이스에 보낸다.
마찬가지로, 가상세계 오브젝트에 링크된 하나 이상의 비가상세계 오브젝트에 관한 메타 데이터에 대한 요청이 가상세계 인터페이스로부터 수신될 때, 본 예시적인 실시예들은 가상세계 오브젝트를 하나 이상의 비가상세계 오브젝트에 링크시켜주는 맵핑 정보를 획득한다. 본 예시적인 실시예들은 맵핑 정보내의 식별자들을 이용하여 하나 이상의 비가상세계 오브젝트에 관한 메타 데이터를 검색하고, 그런 다음 하나 이상의 비가상세계 오브젝트에 관한 메타 데이터를 가상세계 인터페이스에 보낸다.
웹 애플리케이션(402)에서 생성된 소프트웨어 오브젝트와 가상세계 애플리케이션에서 생성된 3D 가상세계 오브젝트(420)간의 정보의 공유 및 제어 명령과 이벤트의 전파를 자동화하기 위한 컴퓨터 구현 방법, 데이터 프로세싱 시스템, 및 컴퓨터 프로그램 제품이 제공된다.
본 발명의 신규한 특징들이 첨부된 청구항들에서 기술되어 있다. 하지만, 본 발명 자체뿐만이 아니라, 본 발명의 바람직한 사용 모드, 추가적인 목적 및 장점은 첨부된 도면들을 참조하면서 아래의 예시적인 실시예의 상세한 설명을 읽음으로써 가장 잘 이해될 것이다.
도 1은 예시적인 실시예들이 구현될 수 있는 분산형 데이터 프로세싱 시스템의 회화적 표현을 도시한다.
도 2는 예시적인 실시예들이 구현될 수 있는 데이터 프로세싱 시스템의 블럭도이다.
도 3은 예시적인 실시예들이 구현될 수 있는 시스템의 상위레벨 아키텍쳐의 회화적 표현을 도시한다.
도 4는 예시적인 실시예들이 구현될 수 있는 시스템의 상세한 아키텍쳐를 도시한다.
도 5는 예시적인 실시예들에 따른 웹 애플리케이션에 의해 구현되는 상위레벨 프로세스의 흐름도를 도시한다.
도 6은 예시적인 실시예들에 따라 웹 애플리케이션으로부터의 요청이 어떻게 처리되는지를 보여주는 흐름도를 도시한다.
도 7은 예시적인 실시예들에 따라 웹 애플리케이션과 가상세계 시스템 모두로부터의 요청이 어떻게 프로세싱되는지를 보여주는 흐름도를 도시한다.
도 8은 예시적인 실시예들에 따라 가상세계 시스템으로부터의 요청이 어떻게 처리되는지를 보여주는 흐름도를 도시한다.
도 9는 예시적인 실시예들에 따라 어떻게 가상세계 메타 데이터가 외부 인터페이스에 전달되는지를 보여주는 흐름도를 도시한다.
도 10은 예시적인 실시예들에 따라 어떻게 가상세계 오브젝트가 모니터링되고 처리되는지를 보여주는 흐름도를 도시한다.
도 1은 예시적인 실시예들이 구현될 수 있는 분산형 데이터 프로세싱 시스템의 회화적 표현을 도시한다.
도 2는 예시적인 실시예들이 구현될 수 있는 데이터 프로세싱 시스템의 블럭도이다.
도 3은 예시적인 실시예들이 구현될 수 있는 시스템의 상위레벨 아키텍쳐의 회화적 표현을 도시한다.
도 4는 예시적인 실시예들이 구현될 수 있는 시스템의 상세한 아키텍쳐를 도시한다.
도 5는 예시적인 실시예들에 따른 웹 애플리케이션에 의해 구현되는 상위레벨 프로세스의 흐름도를 도시한다.
도 6은 예시적인 실시예들에 따라 웹 애플리케이션으로부터의 요청이 어떻게 처리되는지를 보여주는 흐름도를 도시한다.
도 7은 예시적인 실시예들에 따라 웹 애플리케이션과 가상세계 시스템 모두로부터의 요청이 어떻게 프로세싱되는지를 보여주는 흐름도를 도시한다.
도 8은 예시적인 실시예들에 따라 가상세계 시스템으로부터의 요청이 어떻게 처리되는지를 보여주는 흐름도를 도시한다.
도 9는 예시적인 실시예들에 따라 어떻게 가상세계 메타 데이터가 외부 인터페이스에 전달되는지를 보여주는 흐름도를 도시한다.
도 10은 예시적인 실시예들에 따라 어떻게 가상세계 오브젝트가 모니터링되고 처리되는지를 보여주는 흐름도를 도시한다.
이제부터, 도면들, 특히 도 1과 도 2를 참조하면, 예시적인 실시예들이 구현될 수 있는 예시적인 데이터 프로세싱 환경도가 제공된다. 도 1과 도 2는 단지 예시에 불과하며, 여러가지 실시예들이 구현될 수 있는 환경에 대하여 어떠한 제한을 주장하거나 암시하려는 의도가 없음을 이해해야 한다. 도시된 환경에 대해 수 많은 변형들이 행해질 수 있다.
도 1은 예시적인 실시예들이 구현될 수 있는 데이터 프로세싱 시스템의 네트워크의 회화적 표현을 도시한다. 네트워크 데이터 프로세싱 시스템(100)은 예시적인 실시예들이 구현될 수 있는 컴퓨터들의 네트워크이다. 네트워크 데이터 프로세싱 시스템(100)은 네트워크 데이터 프로세싱 시스템(100)내의 서로 접속해있는 다양한 디바이스들과 컴퓨터들간의 통신 링크를 제공하기 위해 이용되는 매체인 네트워크(102)를 포함한다. 네트워크(102)는 유선, 무선 통신 링크들, 또는 광섬유 케이블과 같은 접속부를 포함할 수 있다.
도시된 예시에서, 저장 유닛(108)과 함께 서버(104)와 서버(106)는 네트워크(102)에 접속해 있다. 또한, 클라이언트들(110, 112, 114)은 네트워크(102)에 접속해 있다. 클라이언트들(110, 112, 114)은 예컨대 개인 컴퓨터 또는 네트워크 컴퓨터일 수 있다. 도시된 예시에서, 서버(104)는 부팅 화일과 같은 데이터, 오퍼레이팅 시스템 이미지, 및 애플리케이션을 클라이언트들(110, 112, 114)에게 제공한다. 클라이언트들(110, 112, 114)은 본 예시에서 서버(104)에 대한 클라이언트들이다. 네트워크 데이터 프로세싱 시스템(100)은 추가적인 서버, 클라이언트, 및 도시되지 않은 기타 디바이스들을 포함할 수 있다.
도시된 예시에서, 네트워크 데이터 프로세싱 시스템(100)은 상호 통신하기 위한 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP)의 프로토콜 묶음을 이용하는 네트워크들 및 게이트웨이의 범세계적 집합체를 나타내는 네트워크(102)를 갖는 인터넷이다. 인터넷의 심장부는 주요 노드들 또는 호스트 컴퓨터들간의 고속 데이터 통신라인의 백본이며, 이것은 수 천개의 상업용 컴퓨터 시스템, 정부기관 컴퓨터 시스템, 교육기관 컴퓨터 시스템들, 및 데이터와 메세지를 전달하는 기타의 컴퓨터 시스템들로 구성되어 있다. 물론, 네트워크 데이터 프로세싱 시스템(100)은 예컨대 인트라넷, 근거리 네트워크(LAN), 또는 광역 네트워크(WAN)와 같은, 복수의 여러가지 유형의 네트워크들로서 구현될 수 있다. 도 1은 예시에 불과하며, 이것은 여러가지 예시적인 실시예들에 대한 구조적 제한으로서 의도된 것은 아니다.
이제부터 도 2를 참조하면, 예시적인 실시예들이 구현될 수 있는 데이터 프로세싱 시스템의 블럭도가 도시된다. 데이터 프로세싱 시스템(200)은, 예시적인 실시예들에 대한 프로세스들을 이행하는 컴퓨터 사용가능 프로그램 코드 또는 명령이 위치될 수 있는, 도 1에서의 서버(104) 또는 클라이언트(110)와 같은 컴퓨터의 예시이다. 이러한 실례에서, 데이터 프로세싱 시스템(200)은 통신 패브릭(202)을 포함하며, 이 통신 패브릭(202)은 프로세서 유닛(204), 메모리(206), 영구 저장소(208), 통신 유닛(210), 입력/출력(I/O) 유닛(212), 및 디스플레이(214)간의 통신을 제공한다.
프로세서 유닛(204)은 메모리(206)내로 로딩될 수 있는 소프트웨어에 대한 명령을 실행하는 것을 담당한다. 프로세서 유닛(204)은 특정 구현예에 따라, 하나 이상의 프로세서들의 세트일 수 있거나, 또는 멀티프로세서 코어일 수 있다. 또한, 프로세서 유닛(204)은 단일 칩상에서 메인 프로세서가 2차 프로세서와 함께 존재하는 하나 이상의 이기종 프로세서 시스템을 이용하여 구현될 수 있다. 다른 실례로서, 프로세서 유닛(204)은 동일한 유형의 다중 프로세서들을 포함하는 대칭적인 멀티 프로세서 시스템일 수 있다. 이러한 예시들에서, 메모리(206)는 예컨대, 랜덤 액세스 메모리일 수 있다. 영구 저장소(208)는 특정 구현예에 따라 다양한 형태를 취할 수 있다. 예를 들어, 영구 저장소(208)는 하나 이상의 컴포넌트들 또는 디바이스들을 포함할 수 있다. 예를 들어, 영구 저장소(208)는 하드 드라이브, 플래쉬 메모리, 재기록가능 광학 디스크, 재기록가능 자기 테이프, 또는 이들의 몇몇 조합일 수 있다. 영구 저장소(208)에 의해 이용되는 매체는 또한 탈착가능할 수 있다. 예를 들어, 탈착가능 하드 드라이브가 영구 저장소(208)용으로 이용될 수 있다.
이 예시들에서, 통신 유닛(210)은 다른 데이터 프로세싱 시스템 또는 디바이스와의 통신을 제공해준다. 이 예시들에서, 통신 유닛(210)은 네트워크 인터페이스 카드이다. 통신 유닛(210)은 물리적 통신 링크 및 무선적 통신 링크 중 하나 또는 이 모두의 이용을 통해 통신을 제공할 수 있다.
입력/출력 유닛(212)은 데이터 프로세싱 시스템(200)에 접속될 수 있는 다른 디바이스들에 대한 데이터의 입력 및 출력을 가능하게 해준다. 예를 들어, 입력/출력 유닛(212)은 키보드 및 마우스를 통해 사용자 입력을 위한 접속을 제공해줄 수 있다. 또한, 입력/출력 유닛(212)은 프린터에게 출력을 보낼 수 있다. 디스플레이(214)는 정보를 사용자에게 디스플레이하기 위한 메카니즘을 제공한다.
오퍼레이팅 시스템 및 애플리케이션 또는 프로그램을 위한 명령은 영구 저장소(208)상에 위치한다. 이러한 명령은 프로세서 유닛(204)에 의한 실행을 위해 메모리(206)내로 로딩될 수 있다. 여러 실시예들의 프로세스들은 메모리(206)와 같은 메모리내에 위치할 수 있는 컴퓨터 구현 명령을 이용한 프로세서 유닛(204)에 의해 수행될 수 있다. 이러한 명령들은 프로세서 유닛(204)내의 프로세서에 의해 판독되고 실행될 수 있는 프로그램 코드, 컴퓨터 사용가능 프로그램 코드, 또는 컴퓨터 판독가능 프로그램 코드라고 칭해진다. 여러 실시예들에서의 프로그램 코드는 메모리(206) 또는 영구 저장소(208)와 같은, 여러가지 물리적 또는 유형적인 컴퓨터 판독가능 매체상에 수록될 수 있다.
프로그램 코드(216)는 컴퓨터 판독가능 매체(218)상에서 기능적 형태로 위치하며, 프로세서 유닛(204)에 의한 실행을 위해 데이터 프로세싱 시스템(200)상으로 로딩되거나 전송될 수 있다. 프로그램 코드(216) 및 컴퓨터 판독가능 매체(218)는 이러한 예시들에서 컴퓨터 프로그램 제품(220)을 형성한다. 하나의 예에서, 컴퓨터 판독가능 매체(218)는, 예컨대 영구 저장소(208)의 일부분인 하드 드라이브와 같은, 저장 디바이스상으로의 전송을 위해 영구 저장소(208)의 일부분인 드라이브 또는 기타 디바이스내로 삽입되거나 위치되는 광학 또는 자기 디스크와 같은 유형적인 형태일 수 있다. 유형적 형태에서, 컴퓨터 판독가능 매체(218)는 또한 데이터 프로세싱 시스템(200)에 접속된 하드 드라이브 또는 플래쉬 메모리와 같은, 영구 저장소의 형태를 취할 수 있다. 컴퓨터 판독가능 매체(218)의 유형적인 형태는 또한 컴퓨터 기록가능 저장 매체로서 칭해지기도 한다.
이와 달리, 프로그램 코드(216)는 통신 유닛(210)에 대한 통신 링크를 통해 및/또는 입력/출력 유닛(212)에 대한 접속부를 통해 컴퓨터 판독가능 매체(218)로부터 데이터 프로세싱 시스템(200)으로 전송될 수 있다. 통신 링크 및/또는 접속부는 본 실례에서 물리적일 수 있거나 또는 무선적일 수 있다. 컴퓨터 판독가능 매체는 또한 프로그램 코드를 포함하는 통신 링크 또는 무선 송신과 같은 비유형적인 매체의 형태를 취할 수 있다.
데이터 프로세싱 시스템(200)을 위해 설명된 여러가지 컴포넌트들은 여러 실시예들이 구현될 수 있는 방식에 대한 구조적 제한을 제공하려는 것은 아니다. 여러가지 실례들은 데이터 프로세싱 시스템(200)을 위해 설명된 것들에 더하여, 또는 이것들을 대신하는 컴포넌트들을 포함한 데이터 프로세싱 시스템으로 구현될 수 있다. 도 2에서 도시된 기타의 컴포넌트들은 도시된 실례들과 다를 수 있다.
예를 들어, 버스 시스템이 통신 패브릭(202)을 구현하는데 이용될 수 있으며, 이 버스 시스템은 시스템 버스 또는 입력/출력 버스와 같은, 하나 이상의 버스들로 구성될 수 있다. 물론, 버스 시스템은 버스 시스템에 부착된 여러 컴포넌트들 또는 디바이스들간의 데이터의 전송을 제공해주는 임의의 적절한 유형의 아키텍쳐를 이용하여 구현될 수 있다. 추가적으로, 통신 유닛은 모뎀 또는 네트워크 아답터와 같은, 데이터를 송신하고 수신하는데 이용되는 하나 이상의 디바이스들을 포함할 수 있다. 또한, 메모리는 예컨대, 메모리(206) 또는 통신 패브릭(202)내에 존재할 수 있는 캐쉬일 수 있다.
예시적인 실시예들은 웹 인터페이스와 가상세계 인터페이스 모두를 갖는 사용자 오퍼레이팅 소프트웨어 시스템에 대한 보다 만족스러운 경험을 제공해주는 기술들을 개시한다. 이와 같은 소프트웨어 시스템의 예시들에는 가상세계 시스템내에 웹 기반 사용자 인터페이스와 가상 저장소를 갖는 상거래 애플리케이션을 포함한다. 예시적인 실시예들은 웹 애플리케이션내의 오브젝트가 가상세계 시스템에서 정의된 하나 이상의 오브젝트들에 링크될 수 있게 해준다. 이와 반대로, 가상세계 오브젝트는 웹 애플리케이션내의 하나 이상의 오브젝트들에 링크될 수 있다. 예를 들어, 웹 애플리케이션은 웹 기반 상거래 시스템에서의 제품 아이템인 오브젝트를 포함할 수 있다. 가상세계 시스템은 가상 저장소내의 3D 랜더링된 제품 아이템인 오브젝트를 포함할 수 있다. 웹 애플리케이션 오브젝트와 가상세계 오브젝트간에 생성된 링크 관계는 본 예시적인 실시예들의 특징들을 갖는 소프트웨어 시스템으로 하여금 웹 오브젝트의 식별자(ID)를 이용하여 웹 오브젝트에 링크된 이러한 가상세계 오브젝트(들)의 ID(들)을 검색하거나 추적할 수 있도록 해준다. 이와 반대로, 소프트웨어 시스템은 또한 가상세계 오브젝트의 ID를 이용하여 가상세계 오브젝트에 링크된 웹 오브젝트(들)의 ID(들)을 검색하거나 추적할 수 있다.
만약 웹 오브젝트가 하나 이상의 가상세계 오브젝트들에 링크되면, 예시적인 실시예들은 웹 오브젝트를 프로세싱하고 관리하는 웹 애플리케이션으로 하여금 웹 오브젝트에 링크된 이러한 가상세계 오브젝트들에 관한 메타 데이터를 검색할 수 있도록 해준다. 임의의 주어진 가상세계 오브젝트의 메타 데이터에는 특성 정보, 맥락 정보, 또는 임의의 애플리케이션 특유적 정보가 포함될 수 있다. 가상세계 오브젝트의 특성 정보에는, 예컨대, 가상세계 오브젝트의 색상, 크기, 및 위치가 포함될 수 있다. 가상세계 오브젝트의 맥락 정보에는, 예컨대, 가상세계 오브젝트의 환경적 세팅이 포함될 수 있다. 가상세계 오브젝트의 애플리케이션 특유적 정보는 특정한 가상세계 애플리케이션에 의해 생성되며, 이에 따라 이것은 어떠한 임의적인 데이터일 수 있다.
만약 가상세계 오브젝트가 하나 이상의 웹 오브젝트들에 링크되면, 예시적인 실시예들은 가상세계 오브젝트를 프로세싱하고 관리하는 가상세계 애플리케이션으로 하여금 가상세계 오브젝트에 링크된 이러한 웹 오브젝트들에 관한 메타 데이터를 검색할 수 있도록 해준다. 임의의 주어진 웹 오브젝트의 메타 데이터에는 특성 정보, 맥락 정보, 또는 임의의 애플리케이션 특유적 정보가 포함될 수 있다. 웹 오브젝트의 특성 정보에는, 예컨대, 웹 오브젝트의 텍스트 설명 및 사진이 포함될 수 있다. 웹 오브젝트의 맥락 정보에는, 예컨대, 웹 오브젝트가 속하는 상위레벨 그룹 또는 카테고리가 포함될 수 있다. 웹 오브젝트의 애플리케이션 특유적 정보는 특정한 웹 애플리케이션에 의해 생성되며, 이에 따라 이것은 어떠한 임의적인 데이터일 수 있다.
예시적인 실시예들은 또한 사용자로 하여금 웹 인터페이스를 이용하여 본 예시적인 실시예들의 특징들을 갖는 소프트웨어 시스템내의 가상세계 애플리케이션에서 새로운 가상세계 오브젝트들을 생성할 수 있도록 해준다. 이와 반대로, 가상세계 애플리케이션의 사용자는 가상세계 애플리케이션과 웹 인터페이스가 본 예시적인 실시예들의 특징들을 갖는 소프트웨어 시스템에서의 컴포넌트들인 웹 인터페이스에서 새로운 웹 오브젝트를 생성시킬 수 있다.
또한, 만약 웹 오브젝트가 하나 이상의 가상세계 오브젝트들에 링크되면, 예시적인 실시예들은 웹 오브젝트를 프로세싱하고 관리하는 웹 애플리케이션으로 하여금 웹 오브젝트에 링크된 이러한 가상세계 오브젝트들을 조작하도록 하는 명령 또는 이벤트를 보낼 수 있도록 해준다. 이와 반대로, 만약 가상세계 오브젝트가 하나 이상의 웹 오브젝트들에 링크되면, 예시적인 실시예들은 가상세계 오브젝트를 주관하는 가상세계 애플리케이션으로 하여금 가상세계 오브젝트에 링크된 이러한 웹 오브젝트들을 조작하도록 하는 명령 또는 이벤트를 보낼 수 있도록 해준다.
이제부터 도 3과 도 4를 참조하면, 예시적인 실시예들이 구현될 수 있는 본 시스템의 예시적인 아키텍쳐도가 제공된다. 도 3 및 도 4는 단지 예시에 불과하며, 여러가지 실시예들이 구현될 수 있는 환경에 대하여 어떠한 제한을 주장하거나 암시하려는 의도가 없음을 이해해야 한다. 도시된 환경에 대한 수 많은 변형들이 행해질 수 있다.
도 3은 예시적인 실시예들이 구현될 수 있는 시스템의 상위레벨 아키텍쳐의 회회적 표현을 도시한다. 웹 애플리케이션(302)은 도 1에서의 네트워크(102)와 같은, 네트워크상의 웹을 경유하여 액세스된 애플리케이션이다. 웹 애플리케이션(302)은 사용자가 본 시스템을 제어하고 평가할 수 있도록 해주는 웹 브라우저를 통해 사용자 인터페이스를 제공해준다. 가상세계(304)는 가상세계의 사용자들이 아바타를 통해 거주하고 상호작용하도록 의도된 컴퓨터 기반의 시뮬레이션 환경이다. 가상세계(304)는 도 1에서의 클라이언트들(110, 112, 또는 114)과 같은 클라이언트에서 구현될 수 있는 3D 클라이언트 인터페이스를 갖는다.
조정자(306)는 웹 애플리케이션(302) 및 가상세계(304)와 인터페이싱하고 이들간의 통신을 용이하게 해주는 서버이다. 도 3에서의 상위레벨 아키텍쳐는 웹 애플리케이션(302)과 가상세계(304)가 조정자(306)를 통해 통신하는 조정자 패턴에 기초한다. 예시적인 실시예들에서의 조정자 패턴의 이용은 웹 애플리케이션(302)과 가상세계(304) 모두가 조정자(306)와만 인터페이싱할 필요가 있기 때문에, 웹 애플리케이션(302)과 가상세계(304)간의 통신을 단순화시킨다. 웹 애플리케이션(302)으로부터 획득된 정보가 가상세계(304)에게 의미있도록 표시되고, 역으로 가상세계(304)로부터 획득된 정보가 웹 애플리케이션(302)에게 의미있도록 표시되도록 특성들, 메타 데이터, 및 문맥 정보에서의 격차들을 이어주는 것이 조정자의 책무이다. 예시적인 실시예들에서, 조정자(306)는 웹 서버 기술을 이용하여 구현된다. 조정자(306)는 또한 정보 보관소(308)를 이용하여 웹 애플리케이션(302)에서의 웹 오브젝트들과 가상세계(304)에서의 가상세계 오브젝트들간의 맵핑을 유지한다. 하나의 예시에서, 정보 보관소(308)는 도 2에서의 메모리(206) 또는 영구 저장소(208)로서 구현될 수 있다.
도 4는 예시적인 실시예들이 구현될 수 있는 본 시스템의 상세한 아키텍쳐를 도시한다. 웹 애플리케이션(402)과 정보 보관소(408)는 도 3의 웹 애플리케이션(302)과 정보 보관소(308)의 각각의 예시들이다. 가상세계(404)와 조정자(406)는 도 3의 상위레벨 아키텍쳐에서의 가상세계(304)와 조정자(306)의 상세한 예시들이다. 웹 애플리케이션(402)은 웹 브라우저를 통해 사용자 인터페이스를 제공해준다. 조정자(406)는 웹 요청 처리기(410), 요청 프로세서(412), 및 가상세계 요청 처리기(414)를 포함한다. 가상세계(404)는 가상세계 커뮤니케이터(416), 오브젝트 처리기(418), 및 가상세계 오브젝트(420)를 포함한다.
웹 애플리케이션(402)은 웹 애플리케이션(402)에 의해 관리되는 웹 오브젝트들에 맵핑되는 가상세계(404)내의 3D 가상세계 오브젝트들의 메타 데이터를 검색할 것을 요청할 수 있다. 웹 애플리케이션(402)은 또한 웹 애플리케이션의 오브젝트들에 관한 메타 데이터를 가상세계(404)에 보낼 수 있다. 웹 애플리케이션(402)은 가상세계(404)로부터 획득된 3D 메타 데이터를 이용하여 웹 애플리케이션(402)을 이용하는 사용자 경험을 풍부하게 해줄 수 있거나, 또는 웹 애플리케이션(402)에 의해 디스플레이되는 오브젝트들에 관한 정보 및 지식을 증대시킬 수 있다. 또한, 웹 애플리케이션(402)은 가상세계(404)에서의 웹 애플리케이션의 오브젝트들의 3D 표현을 제어하기 위한 명령 또는 이벤트를 보내도록 요청할 수도 있다. 웹 애플리케이션(402)은 정보를 검색하고, 정보를 보내거나, 또는 조정자(406)의 웹 요청 처리기(410)를 통해 제어 명령 또는 이벤트를 보내도록 요청할 수 있다.
웹 요청 처리기(410)는 웹 애플리케이션(402)으로부터의 요청을 처리한다. 웹 애플리케이션(402)으로부터의 요청의 예시에는 웹 애플리케이션(402)내의 주어진 웹 오브젝트가 링크되어 있는 하나 이상의 가상세계 오브젝트들의 가상세계 메타 데이터에 대한 요청이 포함된다. 웹 애플리케이션(402)으로부터의 요청의 다른 예시에는 웹 애플리케이션(402)내의 주어진 웹 오브젝트에 링크되어 있는 가상 오브젝트들에게 명령 또는 이벤트를 보내도록 하는 요청이 포함된다. 하나의 실시예에서, 요청들은 버퍼링되고, 효율성을 증가시키기 위해 요청 프로세서(412)에게 순차적으로 보내진다. 웹 요청 처리기(410)는 또한 요청측 웹 애플리케이션(402)에게 응답(예컨대, 요청된 메타 데이터)을 반송한다.
요청 프로세서(412)는 웹 요청 처리기(410) 및 가상세계 요청 처리기(414)와 통신한다. 요청 프로세서(412)는 각각의 요청을 프로세싱하고, 검색된 메타 데이터를 메타 데이터 요청을 행한 특정한 요청 처리기에게 반송한다. 요청 프로세서(412)는 웹 오브젝트들과 가상세계 오브젝트들 모두에 대한 메타 데이터를 저장 및 검색하기 위해 정보 보관소(408)에 액세스한다.
하나의 실시예에서, 정보 보관소(408)는 정보가 웹과 가상세계에 걸쳐서 공유되도록 저장해둔다. 웹 요청 처리기(410) 및 가상세계 요청 처리기(414)는 웹 애플리케이션(402)과 가상세계(404)로부터 메타 데이터를 각각 수신하고, 요청 프로세서(412)에 의존하여 정보 보관소(408)내에 메타 데이터를 저장한다. 웹 요청 처리기(410) 및 가상세계 요청 처리기(414)는 또한 웹 애플리케이션(402)과 가상세계(404)로부터 각각 메타 데이터에 대해 요청을 행한다. 이러한 요청 처리기들은 요청 프로세서(412)에 의존하여 정보 보관소(408)로부터 요청된 메타 데이터를 검색하고, 그런 다음 요청된 메타 데이터는 요청측 웹 애플리케이션(402)과 가상세계(404)에게 각각 보내진다.
하나의 실시예에서, 요청 프로세서(412)는 또한 웹 오브젝트들과 가상세계 오브젝트들간의 맵핑 관계를 정보 보관소(406)내에 저장한다. 웹 오브젝트들과 가상세계 오브젝트들은 각각 URL(Uniform Resource Locator)에 의해 고유하게 식별된다. 본 발명분야의 당업자는 URL이 고유 ID의 유일한 형태이며, UUID(Universally Unique Identifier)와 같은 다른 형태의 고유 ID가 웹 오브젝트들과 가상세계 오브젝트들을 고유하게 식별하는데 이용될 수도 있음을 이해할 것이다. 주어진 웹 오브젝트의 URL을 이용하여, 요청 프로세서(412)는 주어진 웹 오브젝트에 링크되어 있는 모든 가상세계 오브젝트들의 URL들을 검색하도록 정보 보관소(408)에 문의한다. 반대로, 주어진 가상세계 오브젝트의 URL을 이용하여, 요청 프로세서(412)는 상기 가상세계 오브젝트에 링크되어 있는 모든 웹 오브젝트들의 URL들을 검색하도록 정보 보관소(408)에 문의할 수 있다.
정보 보관소(408)는 또한 각각의 웹 오브젝트들 또는 가상세계 오브젝트들과 연계된 메타 데이터를 저장한다. 메타 데이터는 자신의 연계된 오브젝트의 URL을 이용하여 검색가능하다. 임의의 주어진 오브젝트와 연계된 메타 데이터는 특성 정보, 문맥 정보, 또는 임의의 오브젝트에 관한 애플리케이션 특유적 정보를 포함할 수 있다. 예를 들어, 가상세계 오브젝트에 대한 특성 정보에는 가상세계 오브젝트의 색상, 크기, 및 위치가 포함될 수 있으며, 문맥 정보에는 가상세계 오브젝트의 환경이 포함될 수 있으며, 애플리케이션 특유적 정보에는 특정한 애플리케이션에 의해 생성된 어떠한 임의적인 데이터일 수 있다. 다른 예시에서, 웹 오브젝트에 관한 특성 정보에는 웹 오브젝트의 텍스트 설명과 사진이 포함될 수 있으며, 문맥 정보에는 웹 오브젝트가 속해 있는 상위레벨 그룹 또는 카테고리가 포함될 수 있으며, 애플리케이션 특유적 정보는 특정한 애플리케이션에 의해 생성된 어떠한 임의적인 데이터일 수 있다.
가상세계 요청 처리기(414)는 가상세계 애플리케이션(404)으로부터의 요청을 처리한다. 가상세계 애플리케이션(404)으로부터 행해진 요청에는 가상세계 애플리케이션(404)내의 가상세계 오브젝트에 링크된 하나 이상의 웹 오브젝트들과 연계된 메타 데이터를 검색하기 위한 요청이 포함될 수 있다. 다른 요청에는 정보 보관소(408)내의 저장을 위해 가상세계 오브젝트의 메타 데이터를 요청 프로세서(412)에 보내달라는 요청이 포함될 수 있다. 하나의 실시예에서, 가상세계(404)로부터의 다수의 요청들은 버퍼링될 수 있고, 그런 다음 효율성을 개선시키기 위해 요청 프로세서(412)에 순차적으로 보내질 수 있다. 가상세계 요청 처리기(414)는 (예컨대, 메타 데이터의 형태로) 요청측 가상세계(404)에 응답을 반송한다.
가상세계(404)가 가상세계 오브젝트에 대한 메타 데이터를 정보 보관소(408)에 저장하기를 원할 때, 가상세계 커뮤니케이터(416)는 이 가상세계 오브젝트의 오브젝트 처리기(418)로부터 메타 데이터를 수신한다. 가상세계 커뮤니케이터(416)는 메타 데이터를 버퍼링할 수 있고, 가상세계 요청 처리기(414)와 같은, 외부 세계 인터페이스에게 메타 데이터를 주기적으로 보낼 수 있다. 가상세계 커뮤니케이터(416)는 또한 가상세계 요청 처리기(414)와 같은 외부 인터페이스로부터 제어 명령 및 메타 데이터를 수신한다. 이와 같은 정보를 수신하면, 가상세계 커뮤니케이터(416)는 이 제어 명령 및 메타 데이터를 적절한 오브젝트 처리기(418)에게 발송한다.
오브젝트 처리기(418)와 같은 오브젝트 처리기는 각각의 가상세계 오브젝트와 연계되어 있다. 오브젝트 처리기(418)는 가상세계 오브젝트(420)의 동작(예컨대, 시각적 특성, 공간 특성)을 모니터링 및 제어한다. 주기적으로, 오브젝트 처리기(418)는 현재의 상태 및 메타 데이터(예컨대, 위치)를 오브젝트(420)로부터 검색한다. 그런 다음 오브젝트 처리기(418)는 오브젝트(420)의 현재 상태 및 메타 데이터를 적절한 메타 데이터 형태로 변환시키고, 이 메타 데이터를 어떻게 보내고 어디에 보내는지를 알고 있는 가상세계 커뮤니케이터(416)에게 이 정보를 전달한다. 오브젝트 처리기(418)는 또한 가상세계 커뮤니케이터(416)로부터 메타 데이터 및 제어 명령 또는 이벤트를 수신한다. 명령을 수신하면, 오브젝트 처리기(418)는 자신의 연계된 가상세계 오브젝트에 대해 상기 명령을 실행한다. 따라서, 오브젝트 처리기(418)는 명령 실행에 의해 오브젝트 특성을 수정할 수 있다.
비록 도 4에서는 도시되지 않았지만, 웹 애플리케이션(402)은 또한 웹 커뮤니케이터 및 오브젝트 처리기를 포함할 수 있다. 웹 애플리케이션(402)은 메타 데이터에 대한 요청을 프로세싱하고, 메타 데이터를 정보 보관소(408)내에 저장하고, 가상세계(404)에 대하여 설명한 것과 동일한 방식으로 웹 오브젝트 특성에 대한 명령을 실행할 수 있다.
도 5는 예시적인 실시예들에 따라 도 4에서의 웹 애플리케이션(402)에 의해 구현되는 상위레벨 프로세스의 흐름도를 도시한다. 본 프로세스는 웹 애플리케이션이 사용자 상호작용을 모니터링하는 것으로 시작한다(단계 502). 사용자가 (예컨대, 웹 오브젝트의 링크를 따라) 웹 애플리케이션에서 웹 오브젝트에 액세스하고 웹 애플리케이션이 이러한 웹 오브젝트에 의해 링크된 가상세계 오브젝트들의 메타 데이터를 요청하는 것을 지속하는 것과 같은, 이벤트가 발생하였는지에 대한 판단이 행해진다(단계 504). 만약 이벤트가 발생한 경우(단계 504의 'yes' 출력), 웹 애플리케이션은 이벤트 처리 요청을 생성한다(단계 506). 이벤트 처리 요청은 도 4의 조정자(406)내의 웹 요청 처리기(410)에 보내진다(단계 508). 그런 다음 프로세스는 웹 애플리케이션이 웹 애플리케이션에 대한 사용자 상호작용을 계속 모니터링하는 단계 502로 되돌아갈 수 있다.
단계 504로 되돌아가서, 만약 이벤트가 발생되지 않으면(단계 504의 'no' 출력), 프로세스는 단계 502에서 사용자 상호작용을 계속해서 모니터링한다.
도 6은 예시적인 실시예들에 따라 어떻게 이벤트 처리 요청이 웹 요청 처리기에 의해 처리되는지를 보여주는 흐름도를 도시한다. 구체적으로, 도 6은 도 4의 웹 애플리케이션(402)으로부터 요청을 처리하기 위해 조정자(406)내의 웹 요청 처리기(410)에 의해 구현된 프로세스들을 도시한다.
웹 요청 처리기에 의해 구현되는 하나의 프로세스에서, 프로세스는 웹 요청 처리기가 도 5의 단계 502에서의 웹 애플리케이션에 의해 생성된 유입중인 요청을 수신하는 것으로 시작한다(단계 602). 웹 요청 처리기는 조정자내에 요청 버퍼에 대한 요청을 저장한다(단계 604).
웹 요청 처리기에 의해 구현되는 다른 프로세스에서, 웹 요청 처리기는 도 4의 요청 프로세서(412)로부터 응답(예컨대, 가상 오브젝트 메타 데이터를 포함하는 응답)을 수신한다(단계 606). 그런 다음 웹 요청 처리기는 요청측 웹 애플리케이션에게 응답을 보낸다(단계 608).
도 7은 예시적인 실시예들에 따라 웹 애플리케이션 및 가상세계 애플리케이션 모두로부터의 요청이 어떻게 도 4에서의 요청 프로세서(412)에 의해 프로세싱되는지를 보여주는 흐름도를 도시한다. 본 프로세스는 도 6의 단계 604에 응답하여 요청 프로세서가 요청 버퍼내에 저장된 요청을 획득하는 것으로 시작한다(단계 702). 요청 프로세서는 사용자에 의해 액세스된 웹 오브젝트(즉, 요청측 오브젝트)에 대한 맵핑 관계 정보를 도 4의 정보 보관소(408)로부터 획득한다(단계 704). 그런 다음, 요청 프로세서는 상기 요청을 프로세싱하고(단계 706), 도 4에서의 웹 요청 처리기(410)에 프로세싱된 결과를 보낸다(단계 708).
예를 들어, 웹 애플리케이션은 자신의 웹 오브젝트들 중 하나에 링크된 가상세계 오브젝트들과 연계된 메타 데이터를 요청할 수 있다. 이 경우, 이 요청을 수신하면, 요청 프로세서는 제일 먼저 맵핑 관계 정보를 이용하여 웹 오브젝트에 링크된 모든 가상세계 오브젝트들에 대하여 정보 보관소에 문의한다. 다음, 웹 오브젝트에 링크된 것으로 발견된 모든 가상세계 오브젝트들에 대하여, 요청 프로세서는 링크된 가상세계 오브젝트들에 대한 연계된 메타 데이터를 획득하기 위해 정보 보관소에 문의한다. 그런 다음 요청 프로세서는 메타 데이터를 웹 요청 처리기에 발송한다.
도 8은 예시적인 실시예들에 따라 가상세계 애플리케이션이 어떻게 가상세계 요청 처리기에 의해 처리되는지를 보여주는 흐름도를 도시한다. 구체적으로, 도 8은 도 4에서의 웹 애플리케이션(402)으로부터의 요청을 처리하기 위해 조정자(406)내의 가상세계 요청 처리기(414)에 의해 구현되는 프로세스들을 도시한다.
가상세계 요청 처리기에 의해 구현되는 하나의 프로세스에서, 본 프로세스는 가상세계 애플리케이션에 의해 생성된 유입중인 요청을 가상세계 요청 처리기가 수신하는 것으로 시작한다(단계 802). 가상세계 요청 처리기는 조정자내에 요청 버퍼에 대한 요청을 저장한다(단계 804).
가상세계 요청 처리기에 의해 구현되는 다른 프로세스에서, 가상세계 요청 처리기는 도 4의 요청 프로세서(412)로부터 응답(예컨대, 웹 오브젝트 메타 데이터를 포함하는 응답)을 수신한다(단계 806). 그런 다음 가상 요청 처리기는 요청측 가상세계 애플리케이션에 상기 응답을 보낸다(단계 808).
도 9는 예시적인 실시예들에 따라 가상세계 메타 데이터가 도 4의 가상세계 커뮤니케이터(416)에 의해 어떻게 외부 인터페이스에 전달되는지를 보여주는 흐름도를 도시한다. 본 프로세스는 가상세계 커뮤니케이터가 도 4의 가상세계 커뮤니케이터(416)의 요청 버퍼내에 저장된 요청을 획득하는 것으로 시작한다(단계 902). 요청 버퍼로부터 획득된 요청이 메타 데이터를 전파해달라는 요청인지에 대한 판단이 가상세계 커뮤니케이터에 의해 행해진다(단계 904). 메타 데이터를 전파해달라는 요청은 자신의 가상세계 오브젝트들에 대한 메타 데이터를 정보 보관소내에 저장하기 위해 가상세계 애플리케이션에 의해 생성된 요청이다. 만약 상기 요청이 메타 데이터를 전파해달라는 요청이면(단계 904의 'yes' 출력), 가상세계 커뮤니케이터는 메타 데이터에 대한 요청을 도 4의 조정기(406)내의 가상세계 요청 처리기에게 발송한다(단계 906). 가상세계 요청 처리기는 도 8에서 설명된 바와 같이 상기 요청을 프로세싱할 것이다.
단계 904로 되돌아가서, 만약 상기 요청이 메타 데이터를 전파해달라는 요청이 아닌 경우(단계 904의 'no' 출력), 가상세계 커뮤니케이터는 상기 요청이 제어 명령을 전파해달라는 요청인지 여부에 대한 판단을 행한다(단계 908). 제어 명령을 전파해달라는 요청은 특유한 가상세계 오브젝트들의 특성들을 변경시키기 위해 웹 애플리케이션에 의해 생성된 요청이다. 만약 상기 요청이 제어 명령을 전파해달라는 요청인 경우(단계 908의 'yes' 출력), 가상세계 커뮤니케이터는 적절한 가상세계 오브젝트 처리기에게 제어 명령에 대한 요청을 발송한다(단계 910). 가상세계 오브젝트 처리기는 아래의 도 10에서 설명된 바와 같이 상기 요청을 프로세싱할 것이다.
단계 908로 되돌아 가서, 만약 상기 요청이 제어 명령에 대한 요청이 아닌 경우(단계 908의 'no' 출력), 프로세스는 단계 902로 되돌아가서 요청 버퍼에서 다른 요청을 획득한다.
도 10은 예시적인 실시예들에 따라 가상세계 오브젝트들이 도 4의 오브젝트 처리기(418)와 같은 가상세계 오브젝트 처리기에 의해 어떻게 모니터링되고 처리되는지를 보여주는 흐름도를 도시한다.
가상세계 오브젝트 처리기에 의해 구현되는 하나의 프로세스에서, 프로세스는 가상세계 오브젝트 처리기가 가상세계 커뮤니케이터로부터 제어 명령을 기다리는 것으로 시작한다(단계 1002). 제어 명령이 가상세계 커뮤니케이터로부터 수신되었는지에 대한 판단이 가상세계 오브젝트 처리기에 의해 행해진다(단계 1004). 만약 제어 명령이 수신되면(단계 1004의 'yes' 출력), 가상세계 오브젝트 처리기는 가상세계 오브젝트 처리기에 의해 관리되는 가상세계 오브젝트들에 대한 명령을 실행한다(단계 1006). 프로세스는 단계 1002로 되돌아가고, 가상세계 오브젝트 처리기는 계속해서 가상세계 커뮤니케이터로부터의 명령을 기다린다.
단계 1004로 되돌아 가서, 만약 제어 명령이 수신되지 않는 경우(단계 1004의 'no' 출력), 가상세계 오브젝트 처리기는 단계 1002로 되돌아가서 가상세계 커뮤니케이터로부터 명령을 계속해서 기다린다.
가상세계 오브젝트 처리기에 의해 구현되는 다른 프로세스에서, 프로세스는 가상세계 오브젝트 처리기가 가상세계 오브젝트 처리기에 의해 관리되는 가상세계 오브젝트를 모니터링하는 것으로 시작한다(단계 1008). 가상세계 오브젝트 처리기가 모니터링하는 가상세계 오브젝트에 대해 상태 변경이 발생하였는지 여부에 대한 판단이 가상세계 오브젝트 처리기에 의해 행해진다(단계 1010). 만약 상태 변경이 발생된 경우(단계 1010의 'yes' 출력), 가상세계 오브젝트 처리기는 이벤트 처리 요청을 생성한다(단계 1012). 이벤트 처리 요청은 상기 요청을 가상세계 커뮤니케이터에게 보내며(단계 1014), 가상세계 커뮤니케이터는 도 9에서 설명된 요청을 처리한다. 프로세스는 단계 1008로 되돌아 가고, 가상세계 오브젝트 처리기는 가상세계 오브젝트 처리기의 가상세계 오브젝트의 상태를 계속해서 모니터링한다.
단계 1010으로 되돌아가서, 만약 상태 변경이 발생되지 않으면(단계 1010의 'no' 출력), 프로세스는 단계 1008로 되돌아 가고, 가상세계 오브젝트 처리기는 가상세계 오브젝트 처리기의 가상세계 오브젝트의 상태를 계속해서 모니터링한다.
본 발명은 완전한 하드웨어 실시예의 형태를 취하거나, 완전한 소프트웨어 실시예의 형태를 취하거나, 또는 하드웨어와 소프트웨어 실시예들 모두를 포함하는 실시예의 형태를 취할 수 있다. 바람직한 실시예에서, 본 발명은 소프트웨어로 구현되며, 이 소프트웨어에는 비제한적인 예시로서, 펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함한다.
또한, 본 발명은 컴퓨터 또는 임의의 명령 실행 시스템에 의한 사용 또는 이와 결합된 사용을 위한 프로그램 코드를 제공하는 컴퓨터 사용가능 매체 또는 컴퓨터 판독가능 매체로부터 액세스가능한 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 이 설명을 위해, 컴퓨터 사용가능 매체 또는 컴퓨터 판독가능 매체는 명령 실행 시스템, 장치, 또는 디바이스에 의한 사용 또는 이와 결합된 사용을 위한 프로그램을 포함하고, 저장하고, 전달하고, 전파시키거나, 또는 전송할 수 있는 임의의 유형적인 장치일 수 있다.
매체는 전자적, 자기적, 광학적, 전자기적, 적외선, 또는 반도체 시스템(또는 장치 또는 디바이스) 또는 전파 매체일 수 있다. 컴퓨터 판독가능 매체의 예시들에는 반도체 또는 고체 상태 메모리, 자기 테이프, 탈착가능 컴퓨터 디스켓, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 강체 자기 디스크 및 광학 디스크가 포함된다. 현재의 광학 디스크의 예시들에는 컴팩트 디스크 - 판독 전용 메모리(CD-ROM), 컴팩트 디스크 - 읽기/쓰기(CD-RAV) 및 DVD가 포함된다.
또한, 컴퓨터 저장 매체는 컴퓨터 판독가능 프로그램 코드가 컴퓨터상에서 실행될 때에, 이러한 컴퓨터 판독가능 프로그램 코드의 실행이 컴퓨터로 하여금 통신 링크를 통해 다른 컴퓨터 판독가능 프로그램 코드를 송신하도록 하는 컴퓨터 판독가능 프로그램 코드를 포함하거나 저장할 수 있다. 이 통신 링크는 예컨대 비제한적인 예로서, 물리적 또는 무선적인 매체를 이용할 수 있다.
프로그램 코드를 저장 및/또는 실행시키는데 적합한 데이터 프로세싱 시스템에는 시스템 버스를 통해 메모리 소자에 직접적으로 또는 간접적으로 결합된 적어도 하나의 프로세서가 포함될 것이다. 메모리 소자는 프로그램 코드의 실제적인 실행동안에 활용되는 로컬 메모리, 벌크 저장소, 및 실행 동안에 코드가 벌크 저장소로부터 검색되어야만 하는 횟수를 줄여주기 위해 적어도 몇몇의 프로그램 코드의 임시적 저장소를 제공해주는 캐쉬 메모리를 포함할 수 있다.
입력/출력 또는 I/O 디바이스들(비제한적인 예로서, 키보드, 디스플레이, 포인팅 디바이스 등을 포함함)은 시스템에 직접 결합될 수 있거나 또는 중간에 끼어있는 I/O 제어기들을 통해 시스템에 결합될 수 있다. 또한, 중간에 끼어있는 개인 또는 공공 네트워크를 통해 데이터 프로세싱 시스템이 다른 데이터 프로세싱 시스템 또는 원격 프린터 또는 저장 디바이스에 결합되도록 네트워크 아답터가 데이터 프로세싱 시스템에 결합될 수 있다. 모뎀, 케이블 모뎀 및 이더넷 카드는 현재 사용가능한 유형의 네트워크 아답터들의 몇가지 예시에 불과하다.
본 발명의 상세설명이 도해 및 설명을 위해 제시되었으며, 본 발명을 개시된 형태로 제한시키거나 또는 이러한 형태로 총망라시키려고 한 것은 아니다. 수 많은 변형과 변경이 본 발명분야의 당업자에게 자명할 것이다. 본 실시예는 본 발명의 원리, 실용적 응용을 최상으로 설명하고, 본 발명분야의 당업자 이외의 사람들이 특별히 구상된 이용에 적합한 다양한 변형들을 갖는 본 발명에 관한 다양한 실시예들을 이해할 수 있도록 하기 위해 선택되고 설명된 것이다.
104, 106: 서버; 110, 112, 114: 클라이언트
102: 네트워크; 108: 저장소
204: 프로세서 유닛; 206: 메모리
208: 영구 저장소; 210: 통신 유닛
212: 입력/출력 유닛; 214: 디스플레이
218: 컴퓨터 판독가능 매체; 216: 프로그램 코드
302: 웹 애플리케이션; 306: 조정자
308: 정보 보관소; 304: 가상세계
406: 조정자; 412: 요청 프로세서
410: 웹 요청 처리기; 414: 가상세계 요청 처리기
408: 정보 보관소; 402: 웹 애플리케이션
404: 가상세계; 416: 가상세계 커뮤니케이터
418: 오브젝트 처리기; 420: 오브젝트
102: 네트워크; 108: 저장소
204: 프로세서 유닛; 206: 메모리
208: 영구 저장소; 210: 통신 유닛
212: 입력/출력 유닛; 214: 디스플레이
218: 컴퓨터 판독가능 매체; 216: 프로그램 코드
302: 웹 애플리케이션; 306: 조정자
308: 정보 보관소; 304: 가상세계
406: 조정자; 412: 요청 프로세서
410: 웹 요청 처리기; 414: 가상세계 요청 처리기
408: 정보 보관소; 402: 웹 애플리케이션
404: 가상세계; 416: 가상세계 커뮤니케이터
418: 오브젝트 처리기; 420: 오브젝트
Claims (10)
- 웹 애플리케이션에 의해 관리되는 소프트웨어 오브젝트들과 가상세계 애플리케이션에 의해 관리되는 가상세계 오브젝트들간에 정보를 공유하기 위한 컴퓨터 구현 방법에 있어서, 가상세계는 상기 가상세계내의 사람들을 표현하는 아바타들을 포함하는 컴퓨터 기반의 시뮬레이션 환경이며, 상기 컴퓨터 구현 방법은:
상기 웹 애플리케이션에서 선택된 비가상세계 오브젝트에 링크된 상기 가상세계 애플리케이션에서의 상기 아바타들과의 상호작용을 위한 하나 이상의 가상세계 오브젝트들을 기술하는 메타 데이터에 대한 요청을 컴퓨터를 통해 상기 웹 애플리케이션으로부터 수신하는 단계;
상기 선택된 비가상세계 오브젝트를 상기 하나 이상의 가상세계 오브젝트들의 URL(uniform resource locator)에 링크시켜주는 상기 웹 애플리케이션에서의 상기 선택된 비가상세계 오브젝트의 URL을 포함하는 맵핑 정보를 획득하는 단계;
상기 맵핑 정보내의 상기 하나 이상의 가상세계 오브젝트들의 상기 URL을 이용하여 상기 하나 이상의 가상세계 오브젝트들을 기술하는 상기 메타 데이터를 검색(retrieve)하는 단계;
상기 하나 이상의 가상세계 오브젝트들에 관한 상기 메타 데이터를 상기 웹 애플리케이션에게 보내는 단계; 및
상기 하나 이상의 가상세계 오브젝트들에서의 가상세계 오브젝트의 특성을 변경시키기 위한 요청을 상기 웹 애플리케이션으로부터 수신하는 것에 응답하여, 상기 가상세계 애플리케이션에서의 상기 가상세계 오브젝트와 연계된 오브젝트 처리기에게 제어 명령을 보내는 단계
를 포함하는, 컴퓨터 구현 방법. - 제1항에 있어서,
상기 가상세계 애플리케이션에서 선택된 가상세계 오브젝트에 링크된 상기 웹 애플리케이션에서의 하나 이상의 비가상세계 오브젝트들을 기술하는 메타 데이터에 대한 요청을 상기 가상세계 애플리케이션으로부터 수신하는 단계;
상기 선택된 가상세계 오브젝트를 상기 하나 이상의 비가상세계 오브젝트들의 상기 URL에 링크시켜주는 상기 가상세계 애플리케이션에서의 상기 선택된 가상세계 오브젝트의 URL을 포함하는 맵핑 정보를 획득하는 단계;
상기 맵핑 정보내의 상기 하나 이상의 비가상세계 오브젝트들의 상기 URL을 이용하여 상기 하나 이상의 비가상세계 오브젝트들에 대한 상기 메타 데이터를 검색하는 단계;
상기 하나 이상의 비가상세계 오브젝트들에 관한 상기 메타 데이터를 상기 가상세계 애플리케이션에게 보내는 단계; 및
상기 하나 이상의 가상세계 오브젝트들에서의 비가상세계 오브젝트의 특성을 변경시키기 위한 요청을 상기 가상세계 애플리케이션으로부터 수신하는 것에 응답하여, 상기 웹 애플리케이션에서의 상기 비가상세계 오브젝트와 연계된 오브젝트 처리기에게 제어 명령을 보내는 단계
를 더 포함하는, 컴퓨터 구현 방법. - 제1항에 있어서,
상기 비가상세계 오브젝트를 기술하는 메타 데이터를 저장하기 위한 요청을 상기 웹 애플리케이션으로부터 수신하는 단계; 및
상기 비가상세계 오브젝트를 기술하는 상기 메타 데이터를 저장하는 단계
를 더 포함하며, 상기 비가상세계 오브젝트에 관한 상기 메타 데이터는 상기 맵핑 정보를 이용하여 상기 가상세계 애플리케이션에 의해 검색가능한 것인, 컴퓨터 구현 방법. - 제1항에 있어서,
상기 가상세계 오브젝트를 기술하는 메타 데이터를 저장하기 위한 요청을 상기 가상세계 애플리케이션으로부터 수신하는 단계; 및
상기 가상세계 오브젝트를 기술하는 상기 메타 데이터를 저장하는 단계
를 더 포함하며, 상기 가상세계 오브젝트를 기술하는 상기 메타 데이터는 상기 맵핑 정보를 이용하여 상기 웹 애플리케이션에 의해 검색가능한 것인, 컴퓨터 구현 방법. - 제2항에 있어서, 상기 수신 단계, 상기 획득 단계, 상기 검색 단계, 및 상기 보내는 단계는 상기 가상세계 애플리케이션과 상기 웹 애플리케이션의 외부에 있는 서버를 이용하여 이행되는 것인, 컴퓨터 구현 방법.
- 제5항에 있어서, 상기 서버는 웹 서버인 것인, 컴퓨터 구현 방법.
- 제2항에 있어서, 상기 맵핑 정보 및 상기 비가상세계 오브젝트들과 상기 가상세계 오브젝트들에 관한 메타 데이터는 데이터베이스내에 저장되는 것인, 컴퓨터 구현 방법.
- 제2항에 있어서,
메타 데이터에 대한 다수의 요청들을 수신하는 것에 응답하여, 상기 다수의 요청들에 대한 결과물을 캐쉬에 저장하는 단계;
요청된 가상세계 오브젝트 메타 데이터에 대한 주기적 폴을 상기 웹 애플리케이션으로부터 수신하는 것에 응답하여, 상기 요청된 가상세계 오브젝트 메타 데이터를 상기 웹 애플리케이션에게 발송하는 단계; 및
요청된 비가상세계 오브젝트 메타 데이터에 대한 주기적 폴을 상기 가상세계 애플리케이션으로부터 수신하는 것에 응답하여, 상기 요청된 비가상세계 오브젝트 메타 데이터를 상기 가상세계 애플리케이션에게 발송하는 단계;
를 더 포함하는, 컴퓨터 구현 방법. - 웹 애플리케이션에 의해 관리되는 소프트웨어 오브젝트들과 가상세계 애플리케이션에 의해 관리되는 가상세계 오브젝트들간에 정보를 공유하기 위한 데이터 프로세싱 시스템에 있어서, 가상세계는 상기 가상세계내의 사람들을 표현하는 아바타들을 포함하는 컴퓨터 기반의 시뮬레이션 환경이며, 상기 데이터 프로세싱 시스템은:
버스;
컴퓨터 사용가능 코드를 포함하며, 상기 버스에 접속된 저장 디바이스;
상기 버스에 접속된 적어도 하나의 관리된 디바이스;
상기 버스에 접속된 통신 유닛; 및
상기 버스에 접속된 프로세싱 유닛
을 포함하며,
상기 프로세싱 유닛은, 상기 컴퓨터 사용가능 코드를 실행하여, 상기 웹 애플리케이션에서 선택된 비가상세계 오브젝트에 링크된 상기 가상세계 애플리케이션에서의 상기 아바타들과의 상호작용을 위한 하나 이상의 가상세계 오브젝트들을 기술하는 메타 데이터에 대한 요청을 상기 웹 애플리케이션으로부터 수신하고; 상기 선택된 비가상세계 오브젝트를 상기 하나 이상의 가상세계 오브젝트들의 URL에 링크시켜주는 상기 웹 애플리케이션에서의 상기 선택된 비가상세계 오브젝트의 URL을 포함하는 맵핑 정보를 획득하고; 상기 맵핑 정보내의 상기 하나 이상의 가상세계 오브젝트들의 상기 URL을 이용하여 상기 하나 이상의 가상세계 오브젝트들을 기술하는 상기 메타 데이터를 검색하고; 상기 하나 이상의 가상세계 오브젝트들에 관한 상기 메타 데이터를 상기 웹 애플리케이션에게 보내며; 상기 하나 이상의 가상세계 오브젝트들에서의 가상세계 오브젝트의 특성을 변경시키기 위한 요청을 상기 웹 애플리케이션으로부터 수신하는 것에 응답하여, 상기 가상세계 애플리케이션에서의 상기 가상세계 오브젝트와 연계된 오브젝트 처리기에게 제어 명령을 보내는 것인, 데이터 프로세싱 시스템. - 웹 애플리케이션에 의해 관리되는 소프트웨어 오브젝트들과 가상세계 애플리케이션에 의해 관리되는 가상세계 오브젝트들간에 정보를 공유하기 위한 컴퓨터 프로그램 제품에 있어서, 가상세계는 상기 가상세계내의 사람들을 표현하는 아바타들을 포함하는 컴퓨터 기반의 시뮬레이션 환경이며, 상기 컴퓨터 프로그램 제품은:
컴퓨터 사용가능 프로그램 코드가 유형적으로 수록되어 있는 컴퓨터 사용가능 매체를 포함하며, 상기 컴퓨터 사용가능 프로그램 코드는:
상기 웹 애플리케이션에서 선택된 비가상세계 오브젝트에 링크된 상기 가상세계 애플리케이션에서의 상기 아바타들과의 상호작용을 위한 하나 이상의 가상세계 오브젝트들을 기술하는 메타 데이터에 대한 요청을 상기 웹 애플리케이션으로부터 수신하기 위한 컴퓨터 사용가능 프로그램 코드;
상기 선택된 비가상세계 오브젝트를 상기 하나 이상의 가상세계 오브젝트들의 URL에 링크시켜주는 상기 웹 애플리케이션에서의 상기 선택된 비가상세계 오브젝트의 URL을 포함하는 맵핑 정보를 획득하기 위한 컴퓨터 사용가능 프로그램 코드;
상기 맵핑 정보내의 상기 하나 이상의 가상세계 오브젝트들의 상기 URL을 이용하여 상기 하나 이상의 가상세계 오브젝트들을 기술하는 상기 메타 데이터를 검색하기 위한 컴퓨터 사용가능 프로그램 코드;
상기 하나 이상의 가상세계 오브젝트들에 관한 상기 메타 데이터를 상기 웹 애플리케이션에게 보내기 위한 컴퓨터 사용가능 프로그램 코드; 및
상기 하나 이상의 가상세계 오브젝트들에서의 가상세계 오브젝트의 특성을 변경시키기 위한 요청을 상기 웹 애플리케이션으로부터 수신하는 것에 응답하여, 상기 가상세계 애플리케이션에서의 상기 가상세계 오브젝트와 연계된 오브젝트 처리기에게 제어 명령을 보내기 위한 컴퓨터 사용가능 프로그램 코드
를 포함하는 것인, 컴퓨터 프로그램 제품.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/872,557 US8370370B2 (en) | 2007-10-15 | 2007-10-15 | Bridging real-world web applications and 3D virtual worlds |
US11/872,557 | 2007-10-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20100072232A true KR20100072232A (ko) | 2010-06-30 |
Family
ID=40535397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107007410A KR20100072232A (ko) | 2007-10-15 | 2008-08-06 | 현실세계 웹 애플리케이션과 3d 가상세계를 이어주는 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8370370B2 (ko) |
JP (1) | JP5225385B2 (ko) |
KR (1) | KR20100072232A (ko) |
CN (1) | CN101821698B (ko) |
WO (1) | WO2009051880A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101426575B1 (ko) * | 2007-03-23 | 2014-08-05 | 퀄컴 인코포레이티드 | 분산형 프로세싱 시스템 및 방법 |
KR20230141164A (ko) | 2022-03-31 | 2023-10-10 | 소프트온넷(주) | 단독형 메타버스 플랫폼과 이들간의 통합 연동 시스템 및 방법 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090158161A1 (en) * | 2007-12-18 | 2009-06-18 | Samsung Electronics Co., Ltd. | Collaborative search in virtual worlds |
JP5159375B2 (ja) | 2008-03-07 | 2013-03-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メタバースにおけるオブジェクトの真贋判断システム、方法及びそのコンピュータ・プログラム |
US8028021B2 (en) * | 2008-04-23 | 2011-09-27 | International Business Machines Corporation | Techniques for providing presentation material in an on-going virtual meeting |
US9324173B2 (en) | 2008-07-17 | 2016-04-26 | International Business Machines Corporation | System and method for enabling multiple-state avatars |
US8957914B2 (en) * | 2008-07-25 | 2015-02-17 | International Business Machines Corporation | Method for extending a virtual environment through registration |
US8527625B2 (en) * | 2008-07-31 | 2013-09-03 | International Business Machines Corporation | Method for providing parallel augmented functionality for a virtual environment |
US10166470B2 (en) * | 2008-08-01 | 2019-01-01 | International Business Machines Corporation | Method for providing a virtual world layer |
US20100100487A1 (en) * | 2008-10-16 | 2010-04-22 | International Business Machines Corporation | Virtual world contest, auction, election, sales method for notification and interaction with the real world |
US20100295847A1 (en) * | 2009-05-21 | 2010-11-25 | Microsoft Corporation | Differential model analysis within a virtual world |
US20100299640A1 (en) * | 2009-05-21 | 2010-11-25 | Microsoft Corporation | Tracking in a virtual world |
US8972476B2 (en) * | 2009-06-23 | 2015-03-03 | Microsoft Technology Licensing, Llc | Evidence-based virtual world visualization |
KR20100138700A (ko) * | 2009-06-25 | 2010-12-31 | 삼성전자주식회사 | 가상 세계 처리 장치 및 방법 |
US9256347B2 (en) | 2009-09-29 | 2016-02-09 | International Business Machines Corporation | Routing a teleportation request based on compatibility with user contexts |
US9254438B2 (en) * | 2009-09-29 | 2016-02-09 | International Business Machines Corporation | Apparatus and method to transition between a media presentation and a virtual environment |
JP5703748B2 (ja) * | 2010-03-17 | 2015-04-22 | 株式会社リコー | 管理システム、管理方法および一時保管文書サーバ |
US8438259B2 (en) * | 2010-10-30 | 2013-05-07 | Hewlett-Packard Development Company, L.P. | Web application usage of accessory device directly connected to electronic device in non-networked manner |
US10397013B1 (en) | 2012-04-11 | 2019-08-27 | Google Llc | User interfaces, systems and methods for configuring smart devices for interoperability with a smart hub device |
US9198204B2 (en) | 2012-04-11 | 2015-11-24 | Google Inc. | Apparatus and method for seamless commissioning of wireless devices |
US10075334B1 (en) | 2012-04-11 | 2018-09-11 | Google Llc | Systems and methods for commissioning a smart hub device |
US10142122B1 (en) | 2012-04-11 | 2018-11-27 | Google Llc | User interfaces, systems and methods for configuring smart devices for interoperability with a smart hub device |
KR101923723B1 (ko) * | 2012-09-17 | 2018-11-29 | 한국전자통신연구원 | 사용자 간 상호작용이 가능한 메타버스 공간을 제공하기 위한 메타버스 클라이언트 단말 및 방법 |
US9154502B2 (en) * | 2013-01-31 | 2015-10-06 | Google Inc. | Accessing objects in hosted storage |
CN103257883A (zh) * | 2013-04-15 | 2013-08-21 | 中国科学院上海微系统与信息技术研究所 | 一种基于Web的无线传感网远程仿真系统 |
US9922580B2 (en) | 2013-04-30 | 2018-03-20 | Google Llc | Apparatus and method for the virtual demonstration of a smart phone controlled smart home using a website |
US9413463B2 (en) | 2013-08-30 | 2016-08-09 | Google Inc. | Apparatus and method for efficient two-way optical communication where transmitter may interfere with receiver |
KR101512084B1 (ko) * | 2013-11-15 | 2015-04-17 | 한국과학기술원 | 가상현실 기반의 3차원 웹 검색 인터페이스를 제공하는 웹 검색 시스템 및 그 제공 방법 |
KR101713556B1 (ko) * | 2013-12-06 | 2017-03-08 | 주식회사 핸디소프트 | 사물협업 모델링 시스템 및 방법 |
US10088818B1 (en) | 2013-12-23 | 2018-10-02 | Google Llc | Systems and methods for programming and controlling devices with sensor data and learning |
US9170707B1 (en) | 2014-09-30 | 2015-10-27 | Google Inc. | Method and system for generating a smart time-lapse video clip |
US10601604B2 (en) | 2014-11-12 | 2020-03-24 | Google Llc | Data processing systems and methods for smart hub devices |
US10595012B2 (en) * | 2016-12-02 | 2020-03-17 | Google Llc | Representations of event notifications in virtual reality |
US10864443B2 (en) | 2017-12-22 | 2020-12-15 | Activision Publishing, Inc. | Video game content aggregation, normalization, and publication systems and methods |
US11712627B2 (en) | 2019-11-08 | 2023-08-01 | Activision Publishing, Inc. | System and method for providing conditional access to virtual gaming items |
KR102543320B1 (ko) | 2021-02-01 | 2023-06-14 | 한국전자통신연구원 | 신뢰현실 서비스 브로커링 장치 및 방법 |
CN115359220B (zh) * | 2022-08-16 | 2024-05-07 | 支付宝(杭州)信息技术有限公司 | 虚拟世界的虚拟形象更新方法及装置 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143358B1 (en) | 1998-12-23 | 2006-11-28 | Yuen Henry C | Virtual world internet web site using common and user-specific metrics |
US7428705B2 (en) * | 1999-11-30 | 2008-09-23 | Maxamine International Pyt Ltd | Web map tool |
US8234218B2 (en) * | 2000-10-10 | 2012-07-31 | AddnClick, Inc | Method of inserting/overlaying markers, data packets and objects relative to viewable content and enabling live social networking, N-dimensional virtual environments and/or other value derivable from the content |
US7225050B2 (en) | 2001-01-04 | 2007-05-29 | Sutula Jr Daniel P | Method and apparatus for precisely fitting, reproducing, and creating 3-dimensional objects from digitized and/or parametric data inputs using computer aided design and manufacturing technology |
US7299256B2 (en) * | 2001-04-17 | 2007-11-20 | Hewlett-Packard Development Company, L.P. | Creating a virtual link between a physical location and its web representation |
US7409441B2 (en) * | 2001-05-18 | 2008-08-05 | Sony Computer Entertainment Inc. | Display apparatus for accessing desired web site |
US7269632B2 (en) * | 2001-06-05 | 2007-09-11 | Xdyne, Inc. | Networked computer system for communicating and operating in a virtual reality environment |
WO2003001413A1 (en) * | 2001-06-22 | 2003-01-03 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
US20030050864A1 (en) | 2001-09-13 | 2003-03-13 | Koninklijke Philips Electronics N.V. | On-line method for aiding a customer in the purchase of clothes |
US20030061284A1 (en) | 2001-09-26 | 2003-03-27 | Angelo Mandarino | Methods, systems and computer program products for conducting a virtual product presentation |
US20030120560A1 (en) * | 2001-12-20 | 2003-06-26 | John Almeida | Method for creating and maintaning worldwide e-commerce |
KR20030079635A (ko) | 2002-04-04 | 2003-10-10 | 박두혁 | 온라인상에서 게임을 통한 유학,연수,여행 정보제공및수속방법 |
KR20030094703A (ko) | 2002-06-07 | 2003-12-18 | (주)아오조라 엔터테인먼트 | 게임캐릭터 연동형 아바타 서비스 시스템 및 방법 |
AU2003243702A1 (en) | 2002-06-21 | 2004-01-06 | 3Cim, Inc. | Online publishing management tool and system |
US7467356B2 (en) * | 2003-07-25 | 2008-12-16 | Three-B International Limited | Graphical user interface for 3d virtual display browser using virtual display windows |
US7277572B2 (en) | 2003-10-10 | 2007-10-02 | Macpearl Design Llc | Three-dimensional interior design system |
US7099745B2 (en) * | 2003-10-24 | 2006-08-29 | Sap Aktiengesellschaft | Robot system using virtual world |
US7487513B1 (en) * | 2003-12-30 | 2009-02-03 | Sap Ag | Web service archive |
US7755608B2 (en) * | 2004-01-23 | 2010-07-13 | Hewlett-Packard Development Company, L.P. | Systems and methods of interfacing with a machine |
KR100456962B1 (ko) * | 2004-08-27 | 2004-11-10 | 엔에이치엔(주) | 게임 아이템 기능이 결합된 캐릭터 서비스 방법 및 시스템 |
US20060063646A1 (en) | 2004-09-20 | 2006-03-23 | Sven-Ake Sjostam | Play/athletic training appliance |
US8473382B2 (en) * | 2006-02-28 | 2013-06-25 | The Invention Science Fund I, Llc | Virtual collateral for real-world obligations |
US20070268299A1 (en) * | 2005-02-04 | 2007-11-22 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Attribute enhancement in virtual world environments |
US7716377B2 (en) | 2005-05-25 | 2010-05-11 | Harris Steven T | Clustering server providing virtual machine data sharing |
JP2009508274A (ja) * | 2005-09-13 | 2009-02-26 | スペースタイムスリーディー・インコーポレーテッド | 3次元グラフィカル・ユーザ・インターフェースを提供するシステム及び方法 |
US20070100705A1 (en) | 2005-11-02 | 2007-05-03 | Royal Planet Co., Ltd. | Virtual reality shopping system |
US7843471B2 (en) * | 2006-03-09 | 2010-11-30 | International Business Machines Corporation | Persistent authenticating mechanism to map real world object presence into virtual world object awareness |
US20070260702A1 (en) * | 2006-05-03 | 2007-11-08 | University Of Washington | Web browser architecture for virtual machine access |
US8775934B2 (en) * | 2006-07-19 | 2014-07-08 | Power Analytics Corporation | Systems and methods for creation of a schematic user interface for monitoring and predicting the real-time health, reliability and performance of an electrical power system |
US8775452B2 (en) * | 2006-09-17 | 2014-07-08 | Nokia Corporation | Method, apparatus and computer program product for providing standard real world to virtual world links |
US20090083738A1 (en) * | 2007-09-25 | 2009-03-26 | Microsoft Corporation | Automated data object set administration |
US7890638B2 (en) * | 2007-09-29 | 2011-02-15 | Alcatel-Lucent Usa Inc. | Communication between a real world environment and a virtual world environment |
-
2007
- 2007-10-15 US US11/872,557 patent/US8370370B2/en active Active
-
2008
- 2008-08-06 KR KR1020107007410A patent/KR20100072232A/ko not_active Application Discontinuation
- 2008-08-06 WO PCT/US2008/072385 patent/WO2009051880A1/en active Application Filing
- 2008-08-06 CN CN2008801109593A patent/CN101821698B/zh active Active
- 2008-08-06 JP JP2010529996A patent/JP5225385B2/ja active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101426575B1 (ko) * | 2007-03-23 | 2014-08-05 | 퀄컴 인코포레이티드 | 분산형 프로세싱 시스템 및 방법 |
KR20230141164A (ko) | 2022-03-31 | 2023-10-10 | 소프트온넷(주) | 단독형 메타버스 플랫폼과 이들간의 통합 연동 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN101821698B (zh) | 2012-05-23 |
JP5225385B2 (ja) | 2013-07-03 |
US20090100352A1 (en) | 2009-04-16 |
JP2011501291A (ja) | 2011-01-06 |
US8370370B2 (en) | 2013-02-05 |
CN101821698A (zh) | 2010-09-01 |
WO2009051880A1 (en) | 2009-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8370370B2 (en) | Bridging real-world web applications and 3D virtual worlds | |
US20190065445A1 (en) | Predictive resource identification and phased delivery of structured documents | |
CN104094234B (zh) | 便利原生实体与虚拟机间通信的方法、系统及存储介质 | |
US9436763B1 (en) | Infrastructure enabling intelligent execution and crawling of a web application | |
US20160314101A1 (en) | Phased generation and delivery of structured documents | |
US8533297B2 (en) | Setting cookies in conjunction with phased delivery of structured documents | |
CN105264529B (zh) | 将用于本机应用的数据编索引 | |
US7840648B1 (en) | Web-page authoring tool for automatic enrollment in advertising program | |
US9363134B1 (en) | Lightweight browser monitoring and viewing | |
US11842142B2 (en) | Systems and methods for co-browsing | |
US20070106946A1 (en) | Method and system for developing interactive Web applications in a unified framework | |
JP2011204228A (ja) | 学習メカニズムを用いたマッシュアップインフラストラクチャ | |
JP2009543166A (ja) | ページによってページ・レイアウトを定義するためのコンピュータで実行される方法、コンピュータ・プログラム、およびデータ処理システム | |
CN101202794A (zh) | 移动设备的网络控制仿真器 | |
US20100070856A1 (en) | Method for Graphical Visualization of Multiple Traversed Breadcrumb Trails | |
JP2017504129A (ja) | ウェブブラウザにおいて表わされる状態表現の構築 | |
CA2673556A1 (en) | Transparent flow model simulation implementing bi-directional links | |
JP5393242B2 (ja) | データ提供方法および中間サーバ装置 | |
US20240184416A1 (en) | Integrated energy data science platform | |
KR101739854B1 (ko) | 배포용 계산과학 플랫폼, 그 플랫폼의 검사 시스템 및 방법 | |
JP2004110362A (ja) | アプリケーション開発支援システム及びアプリケーション開発支援方法ならびにコンピュータプログラム | |
Janne | Web Design and CSS Animation | |
CN109074360A (zh) | 使用多个线程减少下载电子资源的延迟 | |
Devaguptapu | An Enhanced Approach to Browse Save Display Web Content By Web Scraping | |
Viikari | Integrating a Monolithic Web Service Into a Microservice-Based Cloud Platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |