KR20010088015A - XYZ multi-orderlist and virtual reality server using channel manager and interprocess communication method thereof - Google Patents

XYZ multi-orderlist and virtual reality server using channel manager and interprocess communication method thereof Download PDF

Info

Publication number
KR20010088015A
KR20010088015A KR1020000011942A KR20000011942A KR20010088015A KR 20010088015 A KR20010088015 A KR 20010088015A KR 1020000011942 A KR1020000011942 A KR 1020000011942A KR 20000011942 A KR20000011942 A KR 20000011942A KR 20010088015 A KR20010088015 A KR 20010088015A
Authority
KR
South Korea
Prior art keywords
node
link information
updated
appended
additional
Prior art date
Application number
KR1020000011942A
Other languages
Korean (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 KR1020000011942A priority Critical patent/KR20010088015A/en
Publication of KR20010088015A publication Critical patent/KR20010088015A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Abstract

PURPOSE: An on-line virtual field service server using a X Y Z multiple order list and a channel manager and a method for communicating to an interior thereof are provided to achieve a synchronization of avatars in a visible region on a three-dimensional space and to display a screen rapidly. CONSTITUTION: Data of a newly appended node are updated(S10). It is judged whether the newly appended node is the initial node(S20). If the newly appended node is the initial node, an initial process is performed(S30). If the newly appended node is not the initial node, it is compared and judged whether the appended node is a node to be inserted initially(S40). If the appended node is a node to be inserted initially, the next link information of the appended node is updated as the initial node(S41), and the previous link information of the appended node is updated as an appended node(S42), and the initial node is updated as an appended node(S43). If the appended node is not a node to be inserted initially, it is compared and judged whether the appended node is a node to be inserted subsequently(S50). If the appended node is a node to be inserted subsequently, the previous link information of the appended node is updated as the shortest node(S51), and the next link information of the shortest node is updated as an appended node(S52), and the shortest node is updated as an appended node(S53). If the appended node is a node to be inserted initially and the appended node is a node to be inserted subsequently, the previous link and the next link information of the appended node is updated(S61), and the previous link information of the appended node and the next link information of the next node and the previous link information are updated(S62).

Description

XYZ 다중오더리스트와 채널관리자를 이용한 온라인 가상세계 서비스 서버 및 그 내부통신방법 {XYZ multi-orderlist and virtual reality server using channel manager and interprocess communication method thereof}온라인 Online virtual world service server and internal communication method using multi-order list and channel manager {XYZ multi-orderlist and virtual reality server using channel manager and interprocess communication method

본 발명은 인터넷 환경에서 운영되는 3차원 가상현실 시스템에 관한 것으로서, 가상현실 내에서 자신을 대리하는 각 아바타(avatar)들의 동작 및 위치 제어를 동기화 함으로써 실제로 사람이 그 공간에서 활동하는 듯한 느낌을 받을 수 있도록 하기 위하여 빠른 통신방법을 제공하고 서버에서 빠른 중계연산을 수행할 수 있도록 하는 XYZ 다중오더리스트와 채널관리자를 이용해 서버의 내부통신정책을 제한하는 기법에 관한 것이다.The present invention relates to a three-dimensional virtual reality system that operates in the Internet environment, by synchronizing the motion and position control of each avatar on behalf of the virtual reality in the virtual reality to feel that people are acting in the space. In order to provide a fast communication method and to enable fast relay operation in the server, the present invention relates to a technique for restricting the internal communication policy of a server by using an XYZ multi-order list and a channel manager.

최근 인터넷 사용자가 급증하면서 인터넷 쇼핑몰, 인터넷 게임 등의 사이트에서 가상현실 기술을 도입하고자 하는 노력들이 이루어지고 있으며, 가상현실은 3차원을 통하여 구현되고 있다. 이렇게 가상현실은 3차원환경에 기반하고 있으며, 사용자 즉 클라이언트들은 일반적으로 자신의 아바타로 3차원 환경을 활동하게 된다.Recently, with the rapid increase of Internet users, efforts have been made to introduce virtual reality technology at sites such as Internet shopping malls and Internet games, and virtual reality has been implemented through three dimensions. Virtual reality is based on the 3D environment, and users, or clients, generally operate the 3D environment as their avatars.

이러한 인터넷 상에서 3D 화상 기술을 구현하기 위해서는 기본적으로 온라인 가상세계에 관한 인식이 정립되어 있어야 하는데, 그 의미부터 설명하자면 다음과 같다.In order to implement 3D image technology on the Internet, the recognition of the online virtual world should be basically established.

온라인 가상세계는 3차원으로 꾸며진 현실같은 그림이 컴퓨터의 모니터에 그려지고, 여기서 자신을 대신한 캐릭터, 아바타(자신의 이미지가 디지털화된 가상세계에서의 자신)가 여기저기 돌아다니면서 모든 것을 수행하는데, 이때 다른사람들의 아바타도 보이게 된다.In the online virtual world, a realistic drawing decorated in three dimensions is drawn on the monitor of a computer, where characters and avatars (or their own image in the virtual world where their images are digitized) take their place. At this time, other people's avatars are also visible.

이렇게 여러개의 아바타 들의 전체적인 수행 모습을 보여주기 위해서는 각 아바타 들에 대한 동기화가 필요한데, 동기화란 서버로부터 서비스를 받는 클라이언트 들이 서로 같은 정보를 받아볼 수 있는 부분에 대한 내용을 포함한 것이다.In order to show the overall performance of several avatars like this, synchronization is required for each avatar. Synchronization includes contents for receiving the same information from clients receiving services from the server.

예를 들어, 서버에 A, B, C 라는 클라이언트들이 접속해 있고 이때에 A에 대한 가시적인 정보들에 대해서 나머지 B, C가 똑같은 순서를 지키며 똑같이 표시되어야 한다. 만약 A가 앞으로 걸어간 후 손을 흔드는 동작을 수행했다면 A를 포함한 나머지 B, C에도 역시 앞으로 걸어간 후 손을 흔들어야지, 손을 흔들고 앞으로 걸어간다거나, 앞으로만 걸어가거나, 혹은 손만 흔들어서는 안된다는 것이다. 그렇다면, 가장 쉽게 A가 어떤 수행1을 행하려 한다면 서버는 A로부터 받은 수행 1의 정보를 A가 수행 1을 했다는 식의 정보로 표현해 A를 포함해서 B, C에게 알려준다. A가 두번째 수행 2를 행했다면 역시 서버는 수행 1의 정보를 다 보낸 후에 수행 2에 대한 정보를 마찬가지로 보내 동기화를 맞추게 하면 된다.For example, the servers A, B, and C are connected to the server, and the remaining B and C must be displayed in the same order for the visible information about A. If A performs a hand shake after walking forward, the rest of B, C, including A must also walk forward and shake hands, shake hands forward, walk forward, or only shake hands. will be. If it is the easiest way for A to do something, then the server tells B and C, including A, the information about performance 1 received from A as information that A did. If A did a second run, the server would also send all the information from run 1 and then send information about run 2 as well to ensure synchronization.

이때 문제가 되는 것은 사용자의 N이 증가할 때, N제곱의 증가비율로 서버와 네트워크부하가 증가한다는 것이다.The problem is that when N of users increases, the server and network load increase at an increase rate of N squared.

즉 N개의 클라이언트가 서버를 통해 통신할 때 한 클라이언트의 동작은 N개의 전달동작을 요구할 것이고, 각각의 클라이언트들이 한 동작을 수행한다면 N제곱의 전달동작이 필요함을 알 수 있다.That is, when N clients communicate through the server, the operation of one client will require N transfer operations, and if each client performs one operation, it can be seen that N squared transfer operations are required.

그래서 동기화를 지켜야 하는 클라이언트의 범위를 제한함으로써 N제곱의 증가율을 떨어뜨리기 위해 현실에서 멀리 있는 사람의 움직임이 잘 보이지 않고, 말이 들리지 않는 것처럼, 가상세계에서 가시권 밖의 클라이언트들과의 동기화를 굳이 맞출 필요없이, N이 아닌 그보다 적은값으로 줄여 N제곱의 전달량보다 줄이도록 한다.So in order to reduce the increase of N-squared by limiting the range of clients that need to be kept in sync, it is necessary to keep in sync with clients out of sight in the virtual world, as the movement of people far from reality is hard to see and hear. Without, reduce it to less than N to reduce the transmission of N-squared.

그래도 설계하고 있는 가상세계가 3차원이므로 한 아바타의 가시권을 계산하는 것은 그리 쉽지도 않고 빠르지도 않은 문제점이 있다.Still, since the virtual world being designed is three-dimensional, it is not easy and fast to calculate the visibility of an avatar.

따라서 본 발명은 상기의 문제점을 해결하기 위해 안출된 것으로서, 3차원 공간상에서 가시권내로 판단되는 지역내에 아바타 들의 동기화를 실현하는 동시에화면을 빠르게 디스플레이할 수 있도록 하는 목적이 있다.Accordingly, an object of the present invention is to solve the above problem, and to achieve synchronization of avatars in an area determined to be within the visible range in a three-dimensional space, and to display a screen quickly.

상기의 목적을 달성하기 위하여 본 발명은 특정 정보를 가진 구성체인 노드들이 메모리상의 주소들을 이용해 서로를 가르키며 연결된 링크드 리스트 구조를 특정 순서에 의해 배치시켜 정렬하며, 세가지, X, Y, Z정보를 저장하고 독립적인 정렬정보를 관리하는 XYZ 다중오더리스트를 이루도록 구성된 특징이 있다.In order to achieve the above object, the present invention points to each of the nodes having a specific information by using the addresses in the memory and arranges the linked list structure in a specific order, and stores three pieces of X, Y, and Z information. And XYZ multi-order list to manage independent sorting information.

이하 본 발명의 실시예에 의한 에 대하여 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 의한 노드의 추가 과정에 관한 순서도,1 is a flowchart illustrating a process of adding a node according to an embodiment of the present invention;

도 2는 본 발명의 실시예에 의한 노드의 삭제 과정에 관한 순서도,2 is a flowchart illustrating a process of deleting a node according to an embodiment of the present invention;

도 3은 본 발명의 실시예에 의한 네임드파이프 구조에 관한 다이어그램.3 is a diagram of a named pipe structure according to an embodiment of the present invention.

본 발명에 의한 서버는 동기화를 맞추기 위한 아바타들의 메시지교환 연산을 수행할 때, XYZ 다중오더리스트구조에 이용한다. 메시지 전달을 위한 가시권내의 탐색은 각각 x, z의 탐색 스레드(thread)를 생성해 자신의 노드에서 앞, 뒤 링크를 검색하여 만족하는 노드를 찾고, 탐색 스레드가 끝날때까지 기다렸다가 결과리스트 중에서 y 값에 대해 만족하는 노드를 찾아내는 작업을 수행하도록 한다.The server according to the present invention uses the XYZ multi-order list structure when performing a message exchange operation of avatars for synchronization. The search in the visible area for message passing creates a search thread of x and z respectively, searching for forward and backward links in its own node to find a satisfying node, waits for the search thread to finish, and then returns the y value in the result list. Find a node that satisfies this problem.

즉 정렬된 순서와 스레드를 이용해 보다 빠른 처리 결과를 얻을 수 있게 된다.In other words, the sorted order and threads can be used to achieve faster processing results.

채널 관리자는 각각의 클라이언트, 즉 아바타들이 통신하는 내용이 모두 동일한 시간상에서 동기화를 맞출 필요가 없는 경우에 대한 대응으로 구성된 것이다.The channel manager is configured in response to cases where the contents of each client, that is, the avatars, do not need to be synchronized at the same time.

한 예로, 아바타가 움직이는 것에 대한 순서와 아바타가 말하는 것에 대한 순서는 정확히 지켜지지 않아도 어느 정도 무방하다는 것이다.For example, the order in which the avatar moves and the order in which the avatar speaks are somewhat safe even if not followed exactly.

아바타들이 교환하는 메시지들 중에서 동기화와 직접적으로 상관없는 것들을 분류하고, 분류된 개수만큼 독립, 병렬로 수행되는 채널관리자는 UNIX API의 IPC(Inter Process Communication)로 제공되는 네임드 파이프를 이용해 입력을 받아 적절한 처리를 수행한 후, 클라이언트 탐색공간에서 해당 클라이언트와 동기화를 요구하는 다른 클라이언트들에게 메시지를 브로드케스트(broadcast)한다.Among the messages exchanged by avatars, those that are not directly related to synchronization are classified, and the number of independent and parallel channel managers can receive input using named pipes provided by the UNIX API's Inter Process Communication (IPC). After the processing is performed, the message is broadcast to other clients that require synchronization with the client in the client search space.

브로드케스트의 방법은 탐색공간에서 개별 클라이언트 들에게 메시지를 전달할 수 있는 네임드 파이프를 참조해 쓰는 방법을 사용한다.The method of broadcasting uses a reference pipe to a named pipe that can deliver messages to individual clients in the search space.

채널매니저는 사용자채널리스트의 연결구조를 수정할 수 있는 제어매니저와 노드의 데이터를 참조하거나 업데이트하는 역할의 일반적인 채널 매니저로 구분된다.The channel manager is divided into a control manager that can modify the connection structure of the user channel list and a general channel manager that refers to or updates data of nodes.

채널매니저와 일반매니저가 사용자 채널리스트를 공유하여 처리를 독립, 병렬 수행함으로써 제어매니저의 링크수정권한으로 인해 일반매니저 부적절한 메모리를 참조할 가능성을 배제할 수 없다.Since channel manager and general manager share the user channel list and execute the process independently and in parallel, the link manager's link modification authority cannot control the possibility of referencing the general manager's inappropriate memory.

이것은 공유자원의 쓰기에 있어서 세마포어(semaphore)나 뮤텍스(mutex)같은 순서배정기를 쓰지 않았기 때문이다. 순서배정기는 자원을 참조하려는 다른 프로세서들을 블록시키게 되는데 이것은 지연시간을 만들게 된다.This is because no writers such as semaphores or mutexes are used to write shared resources. The sequencer will block other processors attempting to reference the resource, which creates latency.

본 발명의 3차원 공간의 좌표계는 X,Y,Z의 방향측에 표시될 수 있으며, 이들에 대한 정보를 효율적으로 이용해서 보다 빠른 탐색법을 찾았다.The coordinate system of the three-dimensional space of the present invention can be displayed on the direction side of X, Y, and Z, and a faster search method has been found by using information about them efficiently.

일반적인 링크드리스트에서는 탐색하는 연산과 링크를 수정하는 연산이 동시에 일어나게 하려면, 동시에 같은 자원에 접근하는 것을 명시적으로 통제를 해주어야하는데, 이러한 부분은 대기상태를 야기시킨다. 즉, 두 개중 하나가 임의 자원을 사용하고 있을 때 다른 하나가 변경중인 자원에 접근할 수 없도록 만들고, 이전 처리가 완료된 후 완성된 자원에 접근하도록 대기시키는 일을 말한다. 그러므로, 여기서 제안하는 빠른 탐색법이란 자원의 접근을 통제하는 별도의 중개기를 사용하지 않고, 탐색과 링크수정을 이루어지게 하는것에서 효과가 생긴다. 아래부터는 일반적인 링크드리스트에 대한 간단한 설명과 링크를 어떤 순서로 재구성해야 별도로 수행되는 탐색이 예외상황없이 진행될 수 있는가를 설명한다.In a typical linked list, if you are searching and modifying a link at the same time, you must explicitly control access to the same resource at the same time, which causes a wait state. That is, when one of the two uses an arbitrary resource, the other one cannot access the changing resource and waits for access to the completed resource after the previous processing is completed. Therefore, the fast search method proposed here is effective in making search and link modification without using a separate mediator to control the access of resources. The following section provides a brief description of the general linked list and explains in what order the links must be reconfigured so that a separate search can proceed without exception.

예를 들어, 숫자정보를 가진 노드가 있는데, 이들이 1, 2, 3, 4, 5의 다섯 개의 정보를 표현하면 우선 메모리에 1, 2, 3, 4, 5의 정보를 가진 구성체가 적재된다. 그후 1의 노드에 2의 노드주소를 가지게 하고, 3의 메모리 주소를 2에 포함시키는 식으로 저장을 해두면 1에서 다음 노드는 2로, 2에서는 3으로 자연스럽게 찾아갈 수 있다.For example, there are nodes with numeric information. When they represent five pieces of information of 1, 2, 3, 4, and 5, a component having information of 1, 2, 3, 4, and 5 is loaded into memory first. After that, the node of 1 has a node address of 2, and the memory address of 3 is stored in 2, so that the next node from 1 to 2 and 3 in 2 can be found naturally.

1One 22 33 44 55 X = 1X = 1 44 33 55 22 Y = 2Y = 2 1One 1One 33 44 Z = 3Z = 3 33 44 1One 33

표 1과 같이 다섯 개의 노드가 있을 경우, 1, 2, 3, 4, 5의 세 링크의 정보는 표 2와 같다.If there are five nodes as shown in Table 1, the information of three links of 1, 2, 3, 4, and 5 is shown in Table 2.

1One 22 33 44 55 이전X=없음PreviousX = None 33 55 22 1One 다음X=5Next X = 5 44 22 없음none 33 이전Y=3PreviousY = 3 없음none 22 1One 44 다음Y=4Y = 4 33 1One 55 없음none 이전Z=4PreviousZ = 4 1One 55 없음none 22 다음Z=2Z = 2 55 없음none 1One 33

어떤 아바타가 자신의 가시권을 검색하려면, 자신의 X,Y,Z 영역에서 일정 만큼 확장한 크기의 육면체를 탐색하는 것과 같고, 이것을 개별적으로 표현하면 X,Y,Z 각각의 2차원 정보에 대해 일정범위내의 검색결과들에서 공통된 노드를 찾아내는 것을 말한다.In order to find out the visibility of an avatar, it is like searching for a cube of a certain size in the X, Y, and Z areas, or expressing it separately, it is constant for two-dimensional information of each of X, Y, and Z. Finding a common node in search results within a range.

탐색방법은 각각 X,Z에 대해서 탐색 스레드를 만들어 가시권내의 노드를 자신의 노드에서 앞, 뒤 링크에서 검색해 표시하고, 각각 X, Z의 탐색 스레드가 끝날때까지 기다렸다가 마지막 Y값까지 만족하는 노드를 찾아내는 작업을 수행하도록 한다.The search method creates a search thread for X and Z respectively to search for and display nodes in the visible area from the front and back links of its own nodes, waits for the end of the X and Z search threads, and then finds nodes that satisfy the last Y value. Do the work of finding.

즉, 정렬된 순서와 스레드를 이용해 보다 빠른 처리결과를 얻을 수 있도록 한다.In other words, the sorted order and the threads are used to obtain faster processing results.

상기와 같이 구성된 본 발명의 동작은 다음과 같이 이루어진다.The operation of the present invention configured as described above is performed as follows.

노드의 추가 과정은 도 1에 도시된 바와 같이, 새로 추가되는 노드의 데이터를 갱신하는 단계(S10); 새로 추가되는 노드가 최초의 노드인지를 비교판단하는 단계(S20); 추가되는 노드가 최초의 노드라면 초기화작업을 수행하는 단계(S30); 추가되는 노드가 최초의 노드가 아닌 경우 추가되는 노드가 정렬상 가장 처음에 삽입되어야할 노드인지를 비교판단하는 단계(S40); S40에서 추가되는 노드가 정렬상 처음에 삽입되어야 할 노드인 것으로 판단되면 추가노드의 다음 링크정보를 최초노드로 갱신하고(S41), 추가노드의 이전링크정보를 추가노드로 갱신하며(S42), 최초노드를 추가노드로 갱신하는 단계(S43); S40에서 추가되는 노드가 정렬상 처음에 삽입되어야 할 노드 아닌 것으로 판단되면 추가노드가 가장 나중에 삽입되어야 하는 노드인지를 비교판단하는 단계(S50); 마지막에 삽입되는 노드인 것으로 판단되면 추가노드의 이전링크정보를 최단노드로 갱신하고(S51), 최단노드의 다음링크정보를 추가노드로 갱신하며(S52), 최단노드를 추가노드로 갱신하는 단계(S53); S40단계에서 추가노드가 처음에 삽입되는 노드가 아닌 것으로 판단되고 S50에서 추가노드가 마지막에 삽입된 노드가 아닌 것으로 판단되면 추가노드의 이전, 다음링크정보를 갱신하고(S61), 추가노드의 이전, 다음링크정보, 이전 링크정보를 갱신하는 단계 (S62)로 이루어진다.The adding process of the node may include updating data of the newly added node (S10), as shown in FIG. 1; Comparing and determining whether the newly added node is the first node (S20); If the added node is the first node, performing an initialization operation (S30); If the added node is not the first node, comparing and determining whether the added node is the node to be inserted first in alignment (S40); If it is determined that the node added in S40 is a node to be inserted first in alignment, the next link information of the additional node is updated to the first node (S41), and the previous link information of the additional node is updated to the additional node (S42), Updating the original node to an additional node (S43); If it is determined in step S40 that the node to be added is not the node to be inserted first in comparison, determining whether the additional node is the node to be inserted last (S50); If it is determined that the node is inserted last, the previous link information of the additional node is updated to the shortest node (S51), the next link information of the shortest node is updated to the additional node (S52), and the shortest node is updated to the additional node. (S53); If it is determined in step S40 that the additional node is not the first node inserted, and if it is determined in S50 that the additional node is not the last inserted node, the previous and next link information of the additional node is updated (S61), and the transfer of the additional node is performed. And updating the next link information and the previous link information (S62).

노드의 삭제 과정은 도 2에 도시된 바와 같이, 삭제할 노드가 최초의 노드인지를 비교판단하는 단계(S70); 삭제할 노드가 최초노드라면 최초의 노드를 백업하고 최초의 다음 링크노드로 갱신하고(S71), 백업한 노드를 가베지 콜렉터에 넘기는 단계(S72); S70에서 삭제할 노드가 최초의 노드가 아닌 것으로 판단되면 최초의 노드가 최단노드인지를 비교판단하는 단계(S80); S80에서 삭제할 노드가 최단노드라면 최단노드를 백업하고, 최단의 이전링크노드로 갱신하고(S81), 백업한 노드를 가베지 콜렉터에 넘기는 단계(S82); S80에서 삭제할 노드가 최초도 최단도 아닌 노드라면 삭제할 노드를 백업한 후 이전 다음링크노드의 링크정보를 다음, 이전으로 갱신하고(S91), 백업한 노드를 가베지콜렉터에 넘기는 단계(S92)로 이루어진다.The deletion process of the node may include comparing and determining whether the node to be deleted is the first node as shown in FIG. 2 (S70); If the node to be deleted is the first node, backing up the first node and updating to the first next link node (S71), and passing the backed up node to the garbage collector (S72); If it is determined in step S70 that the node to be deleted is not the first node, comparing and determining whether the first node is the shortest node (S80); If the node to be deleted in S80 is the shortest node, backing up the shortest node, updating to the shortest previous link node (S81), and handing over the backed up node to the garbage collector (S82); If the node to be deleted is not the first or the shortest node in S80, after backing up the node to be deleted, the link information of the previous next link node is updated next and previous (S91), and the backup node is passed to the garbage collector (S92). .

상기의 링크드리스트 구조에서 탐색과 수정 절차가 동시에 이루어지면 구조상 처리에 문제가 발생될 수 있으나, 상기의 절차를 통하여 이러한 문제가 방지된다.In the linked list structure, if a search and a modification process are performed at the same time, a problem may occur in the structural processing, but such a problem is prevented through the above procedure.

상기와 같은 구조 및 단계로 진행되는 3D 엔진은 3차원 쇼핑몰(전자상거래)에 응용가능하며, 아바타 채팅 및 재택근무 가상도시, 대학, 학원, 가상전시회, 도서관, 가상공연, 방송, 영화관 원격 의료진단 서비스, 증권사 및 경매 시스템, 제품홍보, 기타 실생활에서 가능한 모든 서비스에 적용가능하다.The 3D engine proceeding with the above structure and steps is applicable to 3D shopping malls (e-commerce), avatar chatting and telecommuting virtual cities, universities, academies, virtual exhibitions, libraries, virtual performances, broadcasting, cinema remote medical diagnosis Applicable to services, securities firms and auction systems, product promotions and all other services available in real life.

상기에서 설명한 바와 같이, 본 발명에 의한 인터넷 환경을 3차원화하며 가장 실생활에 가까운 사용자 환경을 제공하고 뛰어난 속도 및 안정성을 제공하고, 폭넓게 응용가능하며, 국내 최초 자체 기술로 개발한 가상현실 엔진으로서, 외화낭비를 억제시키는 효과가 있으므로 기존의 2차원적인 인터넷 환경을 3차원으로 대체하며 네트웍상에서 뛰어난 안정성과 속도를 유지하는 효과가 있으므로 통신기기 제조산업상 매우 유용한 발명이다.As described above, it is a virtual reality engine that has three-dimensional Internet environment according to the present invention, provides a user environment closest to real life, provides excellent speed and stability, is widely applicable, and is developed by Korea's first technology. In addition, it has the effect of suppressing the waste of foreign currency, thus replacing the existing two-dimensional Internet environment with three-dimensional and maintaining the excellent stability and speed on the network.

Claims (5)

클라이언트(client)로부터 산발적으로 들어오는 메시지를 분류받아 가시권안의 다른 아바타들에게 전달하는 채널관리자;A channel manager for classifying sporadic messages from clients and delivering them to other avatars in the visible range; 클라이언트들의 고유정보를 가지고 있는 노드에 공간상의 위치, X, Y, Z, 세가지 정보를 가지가 있으며, 이를 이용해 아바타의 인접지역을 탐색하기 위한 XYZ 다중오더리스트를 구비하여 이루어지는 것을 특징으로 하는 XYZ 다중오더리스트와 채널관리자를 이용한 온라인 가상세계 서비스 서버.XYZ multi-characterized node has three types of information such as location, X, Y, Z in spatial location of client with unique information of client, and it has XYZ multi-order list for searching neighboring area of avatar using this. Online virtual world service server using order list and channel manager. 제 1 항에 있어서, 상기 채널관리자는 동기화를 맞추기 위해 교환하는 메시지들이 종류에 따라 반드시 단일의 시간축에 배열되 전달할 필요가 없는 경우, 이들을 분류해서 각각의 채널매니저가 병렬적으로 전달할 수 있게 하고, 네임드파이프를 이용해 전달할 메시지를 입력받으며, 역시 네임드파이프를 이용해 전달내용을 접속한 클라이언트의 서버측 소켓(socket) 인터페이스(interface)에게 보내는 구조로 이루어지는 것을 특징으로 하는 XYZ 다중오더리스트와 채널관리자를 이용한 온라인 가상세계 서비스 서버.The channel manager of claim 1, wherein the channel manager categorizes each of the messages to be exchanged in order to synchronize them, so that the channel managers can deliver the messages in parallel. Using XYZ multi-order list and channel manager, it receives the message to be delivered by using named pipe and sends it to the server-side socket interface of the client who connected by using named pipe. Online virtual world service server. 제 1 항에 있어서, 상기 XYZ 다중오더리스트는 하나의 노드에 세 개의 링크정보를 저장할 수 있는 구성요소를 세가지를 만들어 각각 X, Y, Z에 대해서 정렬형태를 유지하도록 한 후, 어떤 임의의 아바타가 자신의 인접지역을 탐색할 때, X, Z의 인접지역을 스레드로 검색하고, 그 결과에 대해서 Y값의 범위를 만족하는 것을 찾아내는 방법으로 인접지역의 아바타를 탐색해내는 구조로 이루어지는 것을 특징으로 하는 XYZ 다중오더리스트와 채널관리자를 이용한 온라인 가상세계 서비스 서버.According to claim 1, The XYZ multi-order list to create three components that can store three link information in a node to maintain the alignment form for each X, Y, Z, any arbitrary avatar When searching for its own neighborhood, it searches for neighbors of X and Z with a thread, and finds that it satisfies the range of Y values with respect to the result. Virtual world service server using XYZ multi-order list and channel manager. 노드의 추가 과정에 있어서.In the process of adding a node. 새로 추가되는 노드의 데이터를 갱신하는 단계(S10);Updating data of a newly added node (S10); 새로 추가되는 노드가 최초의 노드인지를 비교판단하는 단계(S20);Comparing and determining whether the newly added node is the first node (S20); 추가되는 노드가 최초의 노드라면 초기화작업을 수행하는 단계(S30);If the added node is the first node, performing an initialization operation (S30); 추가되는 노드가 최초의 노드가 아닌 경우 추가되는 노드가 정렬상 가장 처음에 삽입되어야할 노드인지를 비교판단하는 단계(S40);If the added node is not the first node, comparing and determining whether the added node is the node to be inserted first in alignment (S40); S40에서 추가되는 노드가 정렬상 처음에 삽입되어야 할 노드인 것으로 판단되면 추가노드의 다음 링크정보를 최초노드로 갱신하고(S41), 추가노드의 이전링크정보를 추가노드로 갱신하며(S42), 최초노드를 추가노드로 갱신하는 단계(S43);If it is determined that the node added in S40 is a node to be inserted first in alignment, the next link information of the additional node is updated to the first node (S41), and the previous link information of the additional node is updated to the additional node (S42), Updating the original node to an additional node (S43); S40에서 추가되는 노드가 정렬상 처음에 삽입되어야 할 노드 아닌 것으로 판단되면 추가노드가 가장 나중에 삽입되어야 하는 노드인지를 비교판단하는 단계 (S50);If it is determined in S40 that the node to be added is not the node to be inserted first, comparing and determining whether the additional node is the node to be inserted last (S50); 마지막에 삽입되는 노드인 것으로 판단되면 추가노드의 이전링크정보를 최단노드로 갱신하고(S51), 최단노드의 다음링크정보를 추가노드로 갱신하며(S52), 최단노드를 추가노드로 갱신하는 단계(S53);If it is determined that the node is inserted last, the previous link information of the additional node is updated to the shortest node (S51), the next link information of the shortest node is updated to the additional node (S52), and the shortest node is updated to the additional node. (S53); S40단계에서 추가노드가 처음에 삽입되는 노드가 아닌 것으로 판단되고 S50에서 추가노드가 마지막에 삽입된 노드가 아닌 것으로 판단되면 추가노드의 이전, 다음링크정보를 갱신하고(S61), 추가노드의 이전, 다음링크정보, 이전 링크정보를 갱신하는 단계(S62)로 이루어지는 것을 특징으로 하는 XYZ 다중오더리스트와 채널관리자를 이용한 온라인 가상세계 서비스 서버의 내부통신방법.If it is determined in step S40 that the additional node is not the first node inserted, and if it is determined in S50 that the additional node is not the last inserted node, the previous and next link information of the additional node is updated (S61), and the transfer of the additional node is performed. And updating the next link information and the previous link information (S62). The internal communication method of the online virtual world service server using the XYZ multi-order list and the channel manager. 노드의 삭제 과정에 있어서,In the process of deleting a node, 삭제할 노드가 최초의 노드인지를 비교판단하는 단계(S70);Comparing and determining whether the node to be deleted is the first node (S70); 삭제할 노드가 최초노드라면 최초의 노드를 백업하고 최초의 다음 링크노드로 갱신하고(S71), 백업한 노드를 가베지 콜렉터에 넘기는 단계(S72);If the node to be deleted is the first node, backing up the first node and updating to the first next link node (S71), and passing the backed up node to the garbage collector (S72); S70에서 삭제할 노드가 최초의 노드가 아닌 것으로 판단되면 최초의 노드가 최단노드인지를 비교판단하는 단계(S80);If it is determined in step S70 that the node to be deleted is not the first node, comparing and determining whether the first node is the shortest node (S80); S80에서 삭제할 노드가 최단노드라면 최단노드를 백업하고, 최단의 이전링크노드로 갱신하고(S81), 백업한 노드를 가베지 콜렉터에 넘기는 단계(S82);If the node to be deleted in S80 is the shortest node, backing up the shortest node, updating to the shortest previous link node (S81), and handing over the backed up node to the garbage collector (S82); S80에서 삭제할 노드가 최초도 최단도 아닌 노드라면 삭제할 노드를 백업한 후 이전 다음링크노드의 링크정보를 다음, 이전으로 갱신하고(S91), 백업한 노드를가베지콜렉터에 넘기는 단계(S92)로 이루어지는 것을 특징으로 하는 XYZ 다중오더리스트와 채널관리자를 이용한 온라인 가상세계 서비스 서버의 내부통신방법.If the node to be deleted is not the first or the shortest node in S80, after backing up the node to be deleted, updating the link information of the previous next link node to the next and previous (S91), and passing the backed up node to the garbage collector (S92). An internal communication method of an online virtual world service server using an XYZ multi-order list and a channel manager.
KR1020000011942A 2000-03-10 2000-03-10 XYZ multi-orderlist and virtual reality server using channel manager and interprocess communication method thereof KR20010088015A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000011942A KR20010088015A (en) 2000-03-10 2000-03-10 XYZ multi-orderlist and virtual reality server using channel manager and interprocess communication method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000011942A KR20010088015A (en) 2000-03-10 2000-03-10 XYZ multi-orderlist and virtual reality server using channel manager and interprocess communication method thereof

Publications (1)

Publication Number Publication Date
KR20010088015A true KR20010088015A (en) 2001-09-26

Family

ID=19653839

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000011942A KR20010088015A (en) 2000-03-10 2000-03-10 XYZ multi-orderlist and virtual reality server using channel manager and interprocess communication method thereof

Country Status (1)

Country Link
KR (1) KR20010088015A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784851A (en) * 1993-09-13 1995-03-31 Toshiba Corp Shared data managing method
KR960008614A (en) * 1994-08-19 1996-03-22 오오가 노리오 Cyber-space system
KR970007676A (en) * 1995-07-12 1997-02-21 이데이 노부유키 A three-dimensional virtual reality space sharing method, a three-dimensional virtual reality space sharing system, an information recording medium, an information recording method, an information transmission medium, an information transmission method, an information processing method,
KR19990048678A (en) * 1997-12-10 1999-07-05 정선종 Remote virtual space experience system using virtual reality and 3D tracker
JP2000050226A (en) * 1998-07-28 2000-02-18 Fuji Xerox Co Ltd Method and system for multimodal and asynchronous conference with intervention of computer existing in virtual space
KR20000041202A (en) * 1998-12-22 2000-07-15 이계철 Three dimensional system in internet

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784851A (en) * 1993-09-13 1995-03-31 Toshiba Corp Shared data managing method
KR960008614A (en) * 1994-08-19 1996-03-22 오오가 노리오 Cyber-space system
KR970007676A (en) * 1995-07-12 1997-02-21 이데이 노부유키 A three-dimensional virtual reality space sharing method, a three-dimensional virtual reality space sharing system, an information recording medium, an information recording method, an information transmission medium, an information transmission method, an information processing method,
KR19990048678A (en) * 1997-12-10 1999-07-05 정선종 Remote virtual space experience system using virtual reality and 3D tracker
JP2000050226A (en) * 1998-07-28 2000-02-18 Fuji Xerox Co Ltd Method and system for multimodal and asynchronous conference with intervention of computer existing in virtual space
KR20000041202A (en) * 1998-12-22 2000-07-15 이계철 Three dimensional system in internet

Similar Documents

Publication Publication Date Title
US7206811B2 (en) System and method for facilitating real-time collaborating by collapsing a queue for a slow client
US7219127B2 (en) Control unit operations in a real-time collaboration server
US7222305B2 (en) Method of sharing a desktop with attendees of a real-time collaboration
US7197751B2 (en) Real-time collaboration client
US6570563B1 (en) Method and system for three-dimensional virtual reality space sharing and for information transmission
Douglas et al. Enabling massively multi-player online gaming applications on a p2p architecture
CN112915537B (en) Virtual scene picture display method and device, computer equipment and storage medium
Sung et al. Concurrency control in CIAO
Greenhalgh Awareness-based communication management in the MASSIVE systems
US11928275B2 (en) Systems and methods for control of a virtual world
US11595480B2 (en) Server system for processing a virtual space
JP3737885B2 (en) Virtual space sharing system
JP3338673B2 (en) 3D virtual space sharing multi-user system
Theoktisto et al. Enhancing collaboration in virtual reality applications
Broll Extending VRML to support collaborative virtual environments
KR20010088015A (en) XYZ multi-orderlist and virtual reality server using channel manager and interprocess communication method thereof
US6388680B1 (en) Multi-user extension mechanisms for client-server system
KR102256197B1 (en) Method for peer-to-peer synchronization using vector clock and system using the same
JP3276057B2 (en) 3D virtual world display system
US9444867B2 (en) Systems and methods for data synchronization in a network application
Anthes et al. A scalable network architecture for closely coupled collaboration
KR100347456B1 (en) Scalable prediction based concurrency control method for distributed virtual environments
US11909601B1 (en) Implementing a scalable 3D simulation using a distributed 3D keyspace
Capin et al. A taxonomy of networked virtual environments
Wilson et al. Using CORBA middleware to support the development of distributed virtual environment applications

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee