KR101302973B1 - Application independent visualization protocol service method and system for distributed and parallelled visualization on large size data - Google Patents
Application independent visualization protocol service method and system for distributed and parallelled visualization on large size data Download PDFInfo
- Publication number
- KR101302973B1 KR101302973B1 KR1020110108057A KR20110108057A KR101302973B1 KR 101302973 B1 KR101302973 B1 KR 101302973B1 KR 1020110108057 A KR1020110108057 A KR 1020110108057A KR 20110108057 A KR20110108057 A KR 20110108057A KR 101302973 B1 KR101302973 B1 KR 101302973B1
- Authority
- KR
- South Korea
- Prior art keywords
- gip
- visualization
- client
- server
- request
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/02—Protocol performance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
본 발명은 사용자 단말기에서 실행되는 어플리케이션에 대해 독립적으로 동작하는 가시화 프로토콜을 통해 서버와 클라이언트 간에 세션을 형성한 후, 클라이언트의 가시화 요청에 따라 서버가 가시화 프로토콜에 따라 이미지나 geometry 데이터와 같은 대용량 데이터를 클라이언트 단말기에 분산 병렬 가시화를 수행할 수 있도록 하는, 대용량 데이터의 분산 병렬을 위한 어플리케이션 독립 가시화 프로토콜 서비스 시스템 및 방법에 관한 것이다.
본 발명의 실시예에 따른 어플리케이션 독립 가시화 프로토콜 서비스 시스템은, 사용자로부터 입력받은 GIP 요청 메시지를 GIP 프로토콜에 따라 GIP 패킷을 통해 GIP 서버에 전송하고, GIP 서버로부터 GIP 응답 메시지를 수신하는 GIP 클라이언트; 및 상기 GIP 프로토콜에 대해 동기식 및 비동기식 프로토콜을 모두 지원하고, 상기 GIP 클라이언트로부터 GIP 요청 메시지를 수신하면, 가시화 결과에 대한 GIP 응답 메시지를 생성해 GIP 프로토콜에 따라 GIP 패킷을 통해 상기 GIP 클라이언트에 전송하는 GIP 서버를 포함하는 것을 특징으로 한다.According to the present invention, after establishing a session between a server and a client through a visualization protocol operating independently for an application running on a user terminal, the server generates a large amount of data such as an image or geometry data according to the visualization protocol according to the client's visualization request. An application-independent visualization protocol service system and method for distributed parallelism of a large amount of data, enabling distributed parallel visualization to a client terminal.
Application independent visualization protocol service system according to an embodiment of the present invention, a GIP client to send a GIP request message received from the user through a GIP packet according to the GIP protocol, and receives a GIP response message from the GIP server; And supports both synchronous and asynchronous protocols for the GIP protocol, and upon receiving a GIP request message from the GIP client, generates a GIP response message for a visualization result and transmits the GIP response to the GIP client through a GIP packet according to the GIP protocol. It is characterized by including a GIP server.
Description
본 발명은 단말기에서 실행되는 어플리케이션에 대해 독립적으로 동작하는 가시화 프로토콜을 통해 서버와 클라이언트 간에 세션을 형성한 후, 클라이언트의 가시화 요청에 따라 서버가 가시화 프로토콜에 따라 이미지나 geometry 데이터와 같은 대용량 데이터를 클라이언트에 분산 병렬 가시화를 수행하는 대용량 데이터의 분산 병렬을 위한 어플리케이션 독립 가시화 프로토콜 서비스 시스템 및 방법에 관한 것이다.
According to the present invention, after establishing a session between a server and a client through a visualization protocol operating independently for an application running on a terminal, the server generates a large amount of data such as an image or geometry data according to the visualization protocol according to the client's visualization request. An application-independent visualization protocol service system and method for distributed parallelism of a large amount of data performing distributed parallel visualization in a network.
일반적으로 시뮬레이션 데이터를 가시화하는 도구들 중 일부는 클러스터에서의 분산/병렬 가시화를 지원하지만, 가시화를 수행하는 사용자인 응용 과학자들이 병렬/분산 가시화를 위해 수행하는 과정이 매우 복잡하기 때문에 병렬 가시화의 사용 빈도는 거의 없을 정도로 낮다. In general, some of the tools for visualizing simulation data support distributed / parallel visualization in clusters, but the use of parallel visualization is very complicated by the application scientists who perform the visualization for parallel / distributed visualization. The frequency is low enough.
대표적인 가시화 도구인 ParaView, VisIt, EnSignt 등은 병렬 분산 가시화를 수행하기 위해 먼저 가시화를 원하는 데이터의 크기를 고려해 필요한 노드의 수를 정하고 mpi를 이용해 서버를 구동한 다음 클라이언트를 실행시키는 다소 복잡한 과정을 수행해야 한다. Paraview, VisIt, EnSignt, etc., which are representative visualization tools, perform a rather complicated process of firstly determining the number of nodes needed by considering the size of data to be visualized, running a server using mpi, and then running a client. Should be.
또한, VisIt과 같은 도구는 매우 광범위한 가시화 기능을 지원하는 범용의 가시화 도구이지만, 병렬/분산 가시화 과정에서는 좀 더 복잡한 최적화의 과정을 추가적으로 수행해야 한다. Paraview나 VisIt은 병렬 가시화를 수행할 때, 사용자 인터페이스에서 기능을 선택한 후, mpi로 구동한 서버들이 가시화를 위한 계산을 수행하고 이를 geometric model이나 image로 해서 다시 클라이언트로 전송한다. 이때 사용되는 프로토콜은 VTK pipeline에 의존적이다. 이 때문에, 그리드나 다른 시뮬레이션을 수행하는 어플리케이션의 입장에서도 Paraview나 VisIt과 같은 가시화 도구의 가시화 기능을 활용하기 위해 플러그인 형식으로 따로 구동하는 방법을 사용해야 한다. 또한 한번 mpi로 구동된 서버는 다음 가시화를 위해 노드를 재할당하려면 종료 후 새로 기동해야 하는 단점이 있다.
In addition, tools like VisIt are general-purpose visualization tools that support a very wide range of visualization features, but the parallel / distributed visualization process requires additional complexity. When Paraview or VisIt performs parallel visualization, the user selects a function from the user interface, and mpi-powered servers perform the computation for visualization and send it back to the client as a geometric model or image. The protocol used depends on the VTK pipeline. For this reason, applications that perform grids or other simulations should use a separate plug-in to take advantage of the visualization capabilities of visualization tools such as Paraview and VisIt. In addition, once a server running mpi has the disadvantage of restarting after shutdown to reallocate the node for the next visualization.
전술한 단점을 해결하기 위한 본 발명의 목적은, 사용자 단말기에서 실행되는 어플리케이션에 대해 독립적으로 동작하는 가시화 프로토콜을 통해 서버와 클라이언트 간에 세션을 형성한 후, 클라이언트의 가시화 요청에 따라 서버가 가시화 프로토콜에 따라 이미지나 geometry 데이터와 같은 대용량 데이터를 클라이언트 단말기에 분산 병렬 가시화를 수행할 수 있도록 하는, 대용량 데이터의 분산 병렬을 위한 어플리케이션 독립 가시화 프로토콜 서비스 시스템 및 방법을 제공함에 있다.
An object of the present invention for solving the above-described disadvantages, after establishing a session between the server and the client through a visualization protocol that operates independently for the application running on the user terminal, the server to the visualization protocol according to the client's visualization request Accordingly, the present invention provides an application-independent visualization protocol service system and method for distributed parallelization of a large amount of data, which enables distributed parallel visualization of a large amount of data such as an image or geometry data to a client terminal.
전술한 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 사용자로부터 입력받은 GIP 요청 메시지를 GIP 프로토콜에 따라 GIP 패킷을 통해 GIP 서버에 전송하고, GIP 서버로부터 GIP 응답 메시지를 수신하는 GIP 클라이언트; 및 상기 GIP 프로토콜에 대해 동기식 및 비동기식 프로토콜을 모두 지원하고, 상기 GIP 클라이언트로부터 GIP 요청 메시지를 수신하면, 가시화 결과에 대한 GIP 응답 메시지를 생성해 GIP 프로토콜에 따라 GIP 패킷을 통해 상기 GIP 클라이언트에 전송하는 GIP 서버를 포함하는 어플리케이션 독립 가시화 프로토콜 서비스 시스템이 제공된다.
According to an aspect of the present invention for achieving the above object, a GIP client for transmitting a GIP request message received from a user through a GIP packet according to the GIP protocol, and receiving a GIP response message from the GIP server; And supports both synchronous and asynchronous protocols for the GIP protocol, and upon receiving a GIP request message from the GIP client, generates a GIP response message for a visualization result and transmits the GIP response to the GIP client through a GIP packet according to the GIP protocol. An application independent visualization protocol service system including a GIP server is provided.
한편, 전술한 목적을 달성하기 위한 본 발명의 다른 측면에 따르면, GIP 클라이언트와 통신망을 통해 통신하기 위한 통신부; 상기 GIP 클라이언트와 GIP 프로토콜에 따라 GIP 세션을 형성하는 세션 형성부; 및 상기 GIP 클라이언트로부터 GIP 패킷을 통해 가시화 요청이 있는 경우, 가시화 요청에 대한 결과를 geometry data로 보낼 때 사용하는 폴리 데이터(Poly Data), 가시화 요청에 대한 응답을 이미지로 보낼 때 사용하는 이미지(Image), 결과를 만들지 못하고 실패한 경우 오류코드를 보낼 때 사용하는 상태(Status), 로드(load)에 대한 응답으로 전체 데이터의 전송 함수(Transfer Function)를 만들 수 있는 팔레트를 보낼 때 사용하는 전송함수키(Transfer Function Key) 중 하나로 GIP 클라이언트에 응답 메시지를 전송하거나, 애니메이션의 프리펫치(Pre-fetch)를 위해 사용하거나, 서버의 변화를 알리는 용도로 사용하는 푸시(Push) 메시지를 GIP 패킷으로 GIP 클라이언트에 전송하는 가시화 처리부를 포함하는 병렬 분산 가시화 서버가 제공된다.On the other hand, according to another aspect of the present invention for achieving the above object, a communication unit for communicating with a GIP client via a communication network; A session forming unit forming a GIP session according to the GIP client and the GIP protocol; And when there is a visualization request from the GIP client through a GIP packet, poly data used to send the result of the visualization request to geometry data, and an image used to send a response to the visualization request as an image. ), The status used to send an error code if it fails to produce a result, and the transfer function key used to send a palette to create a transfer function of the entire data in response to a load. One of the Transfer Function Keys is a GIP client using a push message as a GIP packet to send a response message to the GIP client, to pre-fetch the animation, or to notify the server of a change. A parallel distributed visualization server is provided that includes a visualization processing unit for transmitting to the server.
여기서, 상기 GIP 프로토콜은, 기본적으로 TCP/IP 위에서 동작하고, LAN 환경의 Infiniband를 지원하며, 요청을 전송한 후 응답이 수신되지 않더라도 바로 다음 요청을 처리하는 비동기식 프로토콜과 응답에 대한 요청이 수신될 때까지 대기하는 동기식 프로토콜을 모두 지원할 수 있다.In this case, the GIP protocol basically operates over TCP / IP, supports Infiniband in a LAN environment, and receives a request for an asynchronous protocol and response for processing the next request even if a response is not received after transmitting a request. It can support any synchronous protocol that waits until.
또한, 상기 GIP 패킷은, 요청과 응답을 구분하기 위한 전 시스템에서 유일한 메시지 아이디(msgid); 메시지가 세션의 연결에 관한 것인지, 가시화 처리에 관한 것인지, 클라이언트의 요청 없이 결과를 전송하는 것인지를 나타내는 타입(Type); 서버가 클라이언트에 할당하는 값으로 클라이언트와 서버의 세션을 구분하는 전 시스템에서 유일한 세션 아이디(Session ID); 가변적 데이터 필드의 길이를 나타내는 길이(Lenth); 세션의 연결에 대한 요청과 응답, 가시화에 대한 요구와 응답, 요청없이 결과 전송에 관한 데이터(data)를 포함하는 필드로 구성된다.The GIP packet may also include a message ID (msgid) unique to all systems for distinguishing a request from a response; A Type indicating whether the message relates to a session connection, to a visualization process, or to send a result without a client request; A session ID assigned by the server to a client and unique to all systems that distinguish between client and server sessions; Length indicating the length of the variable data field; It consists of fields that contain a request and response for a session connection, a request and response for visualization, and data about the result transfer without a request.
또한, 상기 GIP 세션은, 상기 GIP 클라이언트로부터 세션 연결 요청 메시지(Connect.req)를 수신하고, 요청에 대한 응답의 목적지에 대한 정보를 세션의 개념으로 저장할 수 있다.The GIP session may receive a session connection request message (Connect.req) from the GIP client and store information on a destination of a response to the request as a concept of a session.
또한, 상기 GIP 프로토콜은, 상기 GIP 클라이언트와 GIP 세션을 형성한 후, 상기 GIP 클라이언트로부터 GIP 패킷을 통한 가시화 요청을 수신하기 전에, 상기 GIP 클라이언트로부터 가시화해야 할 데이터 셋의 저장 위치를 명시해 주는 로드(load) 메시지를 수신하여 로드(load)를 완료하고, 상기 GIP 클라이언트로부터 GIP 패킷을 통해 가시화 요청 메시지(cmd.req)를 수신할 수 있다.In addition, the GIP protocol is a load that specifies the storage location of the data set to be visualized from the GIP client after establishing a GIP session with the GIP client and before receiving a visualization request through a GIP packet from the GIP client. The load may be completed by receiving a load message, and a visualization request message cmd.req may be received from the GIP client through a GIP packet.
또한, 상기 가시화 처리부가 상기 가시화 요청에 대한 결과를 geometry data로 보낼 때 사용하는 폴리 데이터(Poly Data)를 GIP 클라이언트에 전송하는 것은, 가시화의 결과를 geometry data로 전달하여 실질적으로 화면에 렌더링하는 것을 GIP 클라이언트에 위임하여 사용자와의 상호 작용에 의한 view의 변화에 따라 이루어지는 모든 변화를 GIP 클라이언트에서 수행되도록 할 수 있다.In addition, transmitting the poly data to the GIP client, which is used when the visualization processor sends the result of the visualization request to the geometry data, transmits the result of the visualization as geometry data and renders it on the screen substantially. By delegating to the GIP client, all changes made by the change of view due to user interaction can be performed in the GIP client.
그리고, 상기 가시화 처리부가 상기 가시화 요청에 대한 응답을 이미지로 전송하는 것은, 서버가 사용자의 시점이 이동할 때마다 그 시점에서의 장면(Scene)을 렌더링까지 수행하여 그 결과를 이미지로 GIP 클라이언트에 전송할 수 있다.
The visual processing unit transmits a response to the visualization request as an image, whenever the server moves the user's viewpoint, the server performs rendering of the scene at that time and transmits the result as an image to the GIP client. Can be.
한편, 전술한 목적을 달성하기 위한 본 발명의 또 다른 측면에 따르면, 통신망을 통해 GIP 서버와 통신하기 위한 통신부; 상기 GIP 서버에 GIP 프로토콜에 따라 GIP 세션 요청 메시지(Connect.req)를 전송하고, 상기 GIP 서버로부터 GIP 세션 응답 메시지(Connect.res)를 수신하여 GIP 서버와 GIP 세션을 형성하는 세션 처리부; 및 상기 GIP 서버에 가시화해야 할 데이터 셋의 저장 위치를 명시해 주는 로드(load) 메시지를 전송하여 로드를 수행한 후, GIP 서버에 가시화 요청 메시지(cmd.req)를 전송하며, GIP 서버로부터 가시화 응답 메시지(cmd.res) 및 가시화 결과 데이터를 수신하여 디스플레이하거나 저장하는 것을 제어하는 제어부를 포함하는 GIP 클라이언트가 제공된다.On the other hand, according to another aspect of the present invention for achieving the above object, a communication unit for communicating with the GIP server through a communication network; A session processor for transmitting a GIP session request message (Connect.req) to the GIP server according to a GIP protocol, and receiving a GIP session response message (Connect.res) from the GIP server to form a GIP session with a GIP server; And performing a load by transmitting a load message specifying a storage location of a data set to be visualized to the GIP server, and then transmitting a visualization request message (cmd.req) to the GIP server, and visualizing from the GIP server. A GIP client is provided that includes a control unit for controlling receiving, displaying or storing a response message (cmd.res) and visualization result data.
또한, 상기 가시화 요청 메시지(cmd.req)는 로드(load), 스칼라 디스트리뷰션(Scalar Distribution), 그래프(Graph), 이소 서피스(Iso-surface), 스트림라인(Streamline), 애니메이션(Animation), 경로라인(Pathline), 프로브(Probe by Plane), 전송함수(Transfer function)를 포함하는 타입(Type) 중 하나의 타입으로 전송될 수 있다.In addition, the visualization request message (cmd.req) may include a load, a scalar distribution, a graph, an iso-surface, a streamline, an animation, a route line. It may be transmitted in one of a type including a pathline, a probe by plane, and a transfer function.
그리고, 상기 제어부는, 상기 로드(load) 메시지를 통해 전체 데이터를 상기 GIP 서버에 알려주고, 상기 로드(load) 메시지에 대한 응답으로 상기 GIP 서버로부터 전체 데이터에 대한 칼라 팔레트(calor palette)와 전송함수(transfer function)를 포함하는 응답 메시지(cmd.res)를 수신하고, 상기 GIP 서버에 가시화 요청 메시지(cmd.req)를 전송하여 GIP 서버로부터 가시화 응답 메시지(cmd.res)를 geometry data로 수신하여, geometry data를 렌더링할 때 칼라 팔레트를 전송함수(transfer function) 생성의 입력이 되도록 할 수 있다.
The controller informs the GIP server of the entire data through the load message, and transmits a color palette and a transmission function for the entire data from the GIP server in response to the load message. Receive a response message (cmd.res) including a (transfer function), and sends a visualization request message (cmd.req) to the GIP server to receive a visualization response message (cmd.res) from the GIP server as geometry data When rendering geometry data, you can use it to input color palette transfer creation.
한편, 전술한 목적을 달성하기 위한 본 발명의 또 다른 측면에 따르면, GIP 클라이언트와 분산 병렬 가시화 서버 간의 어플리케이션 독립 가시화 프로토콜 서비스 방법으로서, (a) 상기 GIP 클라이언트가 GIP 세션 요청 메시지를 분산 병렬 가시화 서버에 전송하는 단계; (b) 상기 분산 병렬 가시화 서버가 GIP 세션 응답 메시지를 GIP 클라이언트에 전송하여, GIP 클라이언트와 분산 병렬 가시화 서버 간에 GIP 세션이 형성되는 단계; (c) 상기 GIP 클라이언트가 가시화 요청 메시지를 GIP 프로토콜에 따라 GIP 패킷을 통해 분산 병렬 가시화 서버에 전송하는 단계; 및 (d) 상기 분산 병렬 가시화 서버가 가시화 결과에 대한 가시화 응답 메시지를 GIP 프로토콜에 따라 GIP 패킷을 통해 GIP 클라이언트에 전송하는 단계를 포함하는 어플리케이션 독립 가시화 프로토콜 서비스 방법이 제공된다.
On the other hand, according to another aspect of the present invention for achieving the above object, as an application independent visualization protocol service method between a GIP client and a distributed parallel visualization server, (a) the GIP client distributed a GIP session request message distributed parallel visualization server Transmitting to; (b) the distributed parallel visualization server sending a GIP session response message to a GIP client, thereby establishing a GIP session between the GIP client and the distributed parallel visualization server; (c) the GIP client sending a visualization request message to a distributed parallel visualization server through a GIP packet according to a GIP protocol; And (d) the distributed parallel visualization server transmitting a visualization response message for the visualization result to a GIP client through a GIP packet according to a GIP protocol.
한편, 전술한 목적을 달성하기 위한 본 발명의 또 다른 측면에 따르면, (a) GIP 클라이언트로부터 GIP 세션 요청 메시지를 수신하는 단계; (b) GIP 클라이언트로 GIP 세션 응답 메시지를 전송하여 GIP 클라이언트와 GIP 프로토콜에 따라 GIP 세션을 형성하는 단계; (c) GIP 클라이언트로부터 가시화 요청이 있는 경우, 가시화 요청에 대한 결과를 GIP 패킷을 통해 응답 메시지로 GIP 클라이언트에 전송하는 단계; 및 (d) GIP 클라이언트에 애니메이션의 프리펫치(Pre-fetch)를 위해 사용하거나 서버의 변화를 알리는 용도로 사용하는 푸시(Push) 메시지를 전송하는 단계를 포함하는 병렬 분산 가시화 서버의 어플리케이션 독립 가시화 프로토콜 서비스 방법이 제공된다.On the other hand, according to another aspect of the present invention for achieving the above object, (a) receiving a GIP session request message from a GIP client; (b) sending a GIP session response message to the GIP client to form a GIP session according to the GIP client and the GIP protocol; (c) if there is a visualization request from the GIP client, sending a result of the visualization request to the GIP client in a response message through a GIP packet; And (d) sending a push message to the GIP client for pre-fetching of the animation or for notifying the change of the server. A service method is provided.
또한, 상기 GIP 프로토콜은, 기본적으로 TCP/IP 위에서 동작하고, LAN 환경의 Infiniband를 지원하며, 요청을 전송한 후 응답이 수신되지 않더라도 바로 다음 요청을 처리하는 비동기식 프로토콜과, 응답에 대한 요청이 수신될 때까지 대기하는 동기식 프로토콜을 모두 지원할 수 있다.In addition, the GIP protocol basically operates over TCP / IP, supports Infiniband in a LAN environment, asynchronous protocol for processing the next request even if a response is not received after sending a request, and a request for a response is received. It can support any synchronous protocol that waits until
또한, 상기 응답 메시지는 geometry data로 보낼 때 사용하는 폴리 데이터(Poly Data), 가시화 요청에 대한 응답을 이미지로 보낼 때 사용하는 이미지(Image), 결과를 만들지 못하고 실패했을 때 실패의 원인인 오류코드를 보낼 때 사용하는 상태(Status), 로드(load)에 대한 응답으로 전체 데이터의 전송 함수(Transfer Function)를 만들 수 있는 팔레트를 보낼 때 사용하는 전송함수키(Transfer Function Key) 중 하나로 전송될 수 있다.In addition, the response message is a poly data used to send geometry data, an image used to send a response to the visualization request as an image, and an error code that causes failure when the result fails. It can be sent with one of the Transfer Function Keys used to send a palette that can create a Transfer Function of the entire data in response to the status and load used to send them. have.
또한, 상기 GIP 패킷은, 요청과 응답을 구분하기 위한 전 시스템에서 유일한 메시지 아이디(msgid); 메시지가 세션의 연결에 관한 것인지, 가시화 처리에 관한 것인지, 클라이언트의 요청 없이 결과를 전송하는 것인지를 나타내는 타입(Type); 서버가 클라이언트에 할당하는 값으로 클라이언트와 서버의 세션을 구분하는 전 시스템에서 유일한 세션 아이디(Session ID); 가변적 데이터 필드의 길이를 나타내는 길이(Lenth); 세션의 연결에 대한 요청과 응답, 가시화에 대한 요구와 응답, 요청없이 결과 전송에 관한 데이터(data)를 포함하는 필드로 구성된다.The GIP packet may also include a message ID (msgid) unique to all systems for distinguishing a request from a response; A Type indicating whether the message relates to a session connection, to a visualization process, or to send a result without a client request; A session ID assigned by the server to a client and unique to all systems that distinguish between client and server sessions; Length indicating the length of the variable data field; It consists of fields that contain a request and response for a session connection, a request and response for visualization, and data about the result transfer without a request.
또한, 상기 GIP 프로토콜은, 상기 GIP 클라이언트와 GIP 세션을 형성한 후, 상기 GIP 클라이언트로부터 GIP 패킷을 통한 가시화 요청을 수신하기 전에, 상기 GIP 클라이언트로부터 가시화해야 할 데이터 셋의 저장 위치를 명시해 주는 로드(load) 메시지를 수신하여 로드(load)를 완료하고, 상기 GIP 클라이언트로부터 GIP 패킷을 통해 가시화 요청 메시지(cmd.req)를 수신할 수 있다.In addition, the GIP protocol is a load that specifies the storage location of the data set to be visualized from the GIP client after establishing a GIP session with the GIP client and before receiving a visualization request through a GIP packet from the GIP client. The load may be completed by receiving a load message, and a visualization request message cmd.req may be received from the GIP client through a GIP packet.
또한, 상기 (c) 단계에서 상기 가시화 요청에 대한 결과를 geometry data로 보낼 때 사용하는 폴리 데이터(Poly Data)를 GIP 클라이언트에 전송하는 것은, 가시화의 결과를 geometry data로 전달하여 실질적으로 화면에 렌더링하는 것을 GIP 클라이언트에 위임하여 사용자와의 상호 작용에 의한 view의 변화에 따라 이루어지는 모든 변화를 GIP 클라이언트에서 수행되도록 할 수 있다.Also, in the step (c), transmitting the poly data used to send the result of the visualization request to the geometry data to the GIP client may deliver the result of the visualization as geometry data and render the image on the screen substantially. You can delegate what you do to the GIP client so that all changes that occur as the view changes due to user interaction can be performed on the GIP client.
그리고, 상기 (c) 단계에서 상기 가시화 요청에 대한 응답을 이미지로 전송하는 것은, 서버가 사용자의 시점이 이동할 때마다 그 시점에서의 장면(Scene)을 렌더링까지 수행하여 그 결과를 이미지로 GIP 클라이언트에 전송할 수 있다.
And, in step (c), transmitting the response to the visualization request as an image, the server performs a scene until the scene (Scene) at every point of time when the user's viewpoint moves, and the result is a GIP client as an image. Can be sent to.
한편, 본 발명의 실시예에 따른 병렬 분산 가시화 서버의 어플리케이션 독립 가시화 프로토콜 서비스 방법을 실행하기 위한 프로그램을 컴퓨터로 읽을 수 있는 매체에 기록할 수 있다.
Meanwhile, a program for executing an application independent visualization protocol service method of a parallel distributed visualization server according to an embodiment of the present invention may be recorded on a computer-readable medium.
한편, 전술한 목적을 달성하기 위한 본 발명의 또 다른 측면에 따르면, (a) GIP 프로토콜에 따라 GIP 세션 요청 메시지(Connect.req)를 GIP 서버에 전송하는 단계; (b) GIP 서버로부터 GIP 세션 응답 메시지(Connect.res)를 수신하여 GIP 서버와 GIP 세션을 형성하는 단계; (c) 가시화해야 할 데이터 셋의 저장 위치를 명시해 주는 로드(load) 메시지를 GIP 서버에 전송하는 단계; (d) GIP 서버에 가시화 요청 메시지(cmd.req)를 전송하는 단계; 및 (e) GIP 서버로부터 가시화 응답 메시지(cmd.res) 및 가시화 결과 데이터를 수신하는 단계를 포함하는 GIP 클라이언트의 어플리케이션 독립 가시화 프로토콜 서비스 방법이 제공된다.On the other hand, according to another aspect of the present invention for achieving the above object, (a) transmitting a GIP session request message (Connect.req) to the GIP server according to the GIP protocol; (b) receiving a GIP session response message (Connect.res) from the GIP server to form a GIP session with the GIP server; (c) sending a load message to the GIP server specifying the storage location of the data set to be visualized; (d) transmitting a visualization request message (cmd.req) to the GIP server; And (e) receiving a visualization response message (cmd.res) and visualization result data from the GIP server.
또한, 상기 가시화 요청 메시지(cmd.req)는 로드(load), 스칼라 디스트리뷰션(Scalar Distribution), 그래프(Graph), 이소 서피스(Iso-surface), 스트림라인(Streamline), 애니메이션(Animation), 경로라인(Pathline), 프로브(Probe by Plane), 전송함수(Transfer function)를 포함하는 타입(Type) 중 하나의 타입으로 전송될 수 있다.In addition, the visualization request message (cmd.req) may include a load, a scalar distribution, a graph, an iso-surface, a streamline, an animation, a route line. It may be transmitted in one of a type including a pathline, a probe by plane, and a transfer function.
그리고, 상기 (c) 단계는 상기 로드(load) 메시지를 통해 전체 데이터를 상기 GIP 서버에 알려주고, 상기 로드(load) 메시지에 대한 응답으로 상기 GIP 서버로부터 전체 데이터에 대한 칼라 팔레트(calor palette)와 전송함수(transfer function)를 포함하는 응답 메시지(cmd.res)를 수신하고, 상기 (e) 단계는 GIP 서버로부터 가시화 응답 메시지(cmd.res)를 geometry data로 수신하고, geometry data를 렌더링할 때 칼라 팔레트를 전송함수(transfer function) 생성의 입력이 되도록 할 수 있다.
In addition, the step (c) informs the GIP server of the entire data through the load message, and the color palette for the entire data from the GIP server in response to the load message. Receive a response message (cmd.res) including a transfer function, and step (e) receives a visualization response message (cmd.res) from the GIP server as geometry data and renders the geometry data. Color palettes can be input to create transfer functions.
한편, 본 발명의 실시예에 따른 GIP 클라이언트의 어플리케이션 독립 가시화 프로토콜 서비스 방법을 실행하기 위한 프로그램을 컴퓨터로 읽을 수 있는 매체에 기록할 수 있다.
Meanwhile, a program for executing an application independent visualization protocol service method of a GIP client according to an embodiment of the present invention may be recorded in a computer-readable medium.
본 발명에 의하면, 다양한 어플리케이션 및 가시화 도구에서 표준화 된 하나의 프로토콜로 가시화를 요청하고, 그에 대한 결과를 요청한 어플리케이션에 전달할 수 있게 됨으로써, 가시화에 대해 병렬 분산 가시화를 수행할 수 있다.According to the present invention, it is possible to request visualization by using a standardized protocol in various applications and visualization tools, and to transmit a result thereof to the requested application, thereby performing parallel distributed visualization on the visualization.
또한, 병렬 분산 가시화를 수행하는 그리드의 서비스나 슈퍼 컴퓨팅의 서비스로 제공할 수 있다In addition, it can be provided as a service of grid or parallel computing that performs parallel distributed visualization.
그리고, 전산 시뮬레이션을 이용한 분석 도구로 가시화를 필요로 하는 다양한 산업 응용 분석 시스템(항공기 시뮬레이터, 해양 데이터 분석 시스템, 기상 데이터 예측 시스템 등)에 활용할 수 있다.
And, as an analysis tool using computer simulation, it can be used in various industrial application analysis systems (aircraft simulators, marine data analysis systems, weather data prediction systems, etc.) that require visualization.
도 1은 본 발명의 실시예에 따른 GIP 아키텍처의 한 예를 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 어플리케이션 독립 가시화 프로토콜 서비스 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.
도 3은 본 발명의 실시예에 따른 병렬 분산 가시화 서버의 내부 기능 블럭을 개략적으로 나타낸 구성도이다.
도 4는 본 발명의 실시예에 따른 GIP 클라이언트의 내부 기능 블럭을 개략적으로 나타낸 구성도이다.
도 5는 본 발명의 실시예에 따른 GIP 클라이언트와 분산 병렬 가시화 서버 간의 어플리케이션 독립 가시화 프로토콜 서비스 방법을 설명하기 위한 전체적인 흐름도이다.
도 6은 본 발명의 실시예에 따른 병렬 분산 가시화 서버의 어플리케이션 독립 가시화 프로토콜 서비스 방법을 설명하기 위한 동작 흐름도이다.
도 7은 본 발명의 실시예에 따른 GIP 클라이언트의 어플리케이션 독립 가시화 프로토콜 서비스 방법을 설명하기 위한 동작 흐름도이다.
도 8은 본 발명의 실시예에 따른 GIP 패킷의 필드 구성을 나타낸 도면이다.
도 9는 본 발명의 실시예에 따라 가시화 요청 응답 메시지에 대한 GIP 패킷의 구성을 나타낸 도면이다.
도 10은 본 발명의 실시예에 따른 가시화 요청 메시지에 대한 GIP 패킷의 구성을 나타낸 도면이다. 1 is a diagram illustrating an example of a GIP architecture according to an embodiment of the present invention.
2 is a configuration diagram schematically showing the overall configuration of an application-independent visualization protocol service system according to an embodiment of the present invention.
3 is a block diagram schematically illustrating an internal functional block of a parallel distributed visualization server according to an embodiment of the present invention.
4 is a configuration diagram schematically showing an internal functional block of a GIP client according to an embodiment of the present invention.
5 is a flowchart illustrating an application independent visualization protocol service method between a GIP client and a distributed parallel visualization server according to an exemplary embodiment of the present invention.
6 is a flowchart illustrating an application independent visualization protocol service method of a parallel distributed visualization server according to an exemplary embodiment of the present invention.
7 is a flowchart illustrating an application independent visualization protocol service method of a GIP client according to an embodiment of the present invention.
8 is a diagram illustrating a field configuration of a GIP packet according to an embodiment of the present invention.
9 is a diagram illustrating a configuration of a GIP packet for a visualization request response message according to an embodiment of the present invention.
10 is a diagram illustrating a configuration of a GIP packet for a visualization request message according to an embodiment of the present invention.
본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하 상세한 설명에 의해 보다 명확하게 이해될 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따른 GIP 아키텍처의 한 예를 나타낸 도면이다.1 is a diagram illustrating an example of a GIP architecture according to an embodiment of the present invention.
도 1에 도시된 바와 같이, GIP(Glove Interface Protocol)는 기본적으로 TCP/IP 위에서 동작하고, LAN 환경의 Infiniband를 지원하며, 세션 계층(Session Layer)을 통해 서버와 클라이언트 간에 세션을 형성하며, 메시지의 전송 시에 전송 계층(Transport Layer)을 이용한다. 그리고, 서비스 및 어플리케이션 계층(Other Service and Application)을 통해 서비스 및 어플리케이션을 실행한다. As shown in FIG. 1, Glove Interface Protocol (GIP) basically operates over TCP / IP, supports Infiniband in a LAN environment, forms a session between a server and a client through a session layer, and a message. The transport layer is used for the transmission of the. The service and application are executed through the other service and application layer.
본 발명에서 GIP는 한번 기동한 병렬 분산 가시화 서버에 여러 종류의 클라이언트가 접속하여 어떤 어플리케이션(Grid Middleware나 In-situ visualization 등 다른 가시화 사용자 인터페이스라 할지라도)에 상관없이 가시화 기능과 데이터만 기술함으로써, 어플리케이션에 독립적으로 병렬 가시화를 수행하고 그 결과를 전달할 수 있는 프로토콜을 의미한다.In the present invention, the GIP describes only the visualization function and data regardless of any application (even other visualization user interfaces such as Grid Middleware or In-situ visualization) by connecting various types of clients to the parallel distributed visualization server that is started once. It is a protocol that can perform parallel visualization independently of the application and deliver the result.
따라서, GIP는 병렬 분산 가시화를 구현하고자 하는 어떤 어플리케이션도 GIP를 구현한 API 라이브러리(Library)만으로 가시화 렌더링 클러스터의 병렬 분산 가시화 서버에 가시화 명령을 전달하고 그 결과를 수신할 수 있다.
Therefore, GIP can send a visualization command to a parallel distributed visualization server of a visualization rendering cluster and receive the result by any application that wishes to implement parallel distributed visualization.
도 2는 본 발명의 실시예에 따른 어플리케이션 독립 가시화 프로토콜 서비스 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.2 is a configuration diagram schematically showing the overall configuration of an application-independent visualization protocol service system according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 실시예에 따른 어플리케이션 독립 가시화 프로토콜 서비스 시스템(100)은, GIP 클라이언트(110), 통신망(120) 및 GIP 서버(130) 등을 포함한다.Referring to FIG. 2, the application independent visualization
여기서, GIP 클라이언트(110) 및 GIP 서버(130)는 모두 GIP 프로토콜을 이용하는 장치들이다.Here, the
이때, GIP 프로토콜은 기본적으로 TCP/IP 위에서 동작하고, LAN 환경의 Infiniband를 지원하며, 요청을 전송한 후 응답이 수신되지 않더라도 바로 다음 요청을 처리하는 비동기식 프로토콜과, 응답에 대한 요청이 수신될 때까지 대기하는 동기식 프로토콜을 모두 지원한다.At this time, GIP protocol basically operates over TCP / IP, supports Infiniband of LAN environment, and asynchronous protocol to process the next request even if no response is received after sending request, and when request for response is received. It supports all synchronous protocols that wait until.
또한, GIP 프로토콜은 GIP 클라이언트(110)와 GIP 서버(130) 간에 GIP 세션을 형성한 후, GIP 클라이언트(110)에서 GIP 패킷을 통한 가시화 요청을 GIP 서버(130)에 전송하기 전에, GIP 클라이언트(110)가 가시화해야 할 데이터 셋의 저장 위치를 명시해 주는 로드(load) 메시지를 GIP 서버(130)에 전송하여 로드(load)를 완료하고, GIP 클라이언트(110)가 GIP 패킷을 통해 가시화 요청 메시지(cmd.req)를 GIP 서버(130)에 전송한다.In addition, after the GIP protocol establishes a GIP session between the
GIP 클라이언트(110)는 예를 들면, 컴퓨터 단말기가 될 수 있으며, 사용자로부터 입력받은 GIP 요청 메시지를 GIP 프로토콜에 따라 GIP 패킷을 통해 GIP 서버(130)에 전송하고, GIP 서버(130)로부터 GIP 응답 메시지를 수신한다.The
통신망(120)은 이동 통신망과 유선 통신망 및 무선 통신망 등을 포함한다.The
GIP 서버(130)는 GIP 프로토콜에 대해 동기식 및 비동기식 프로토콜을 모두 지원하는 병렬 분산 가시화 서버로서, GIP 클라이언트(110)로부터 GIP 요청 메시지를 수신하면, 가시화 결과에 대한 GIP 응답 메시지를 생성해 GIP 프로토콜에 따라 GIP 패킷을 통해 GIP 클라이언트(110)에 전송한다.
The
도 3은 본 발명의 실시예에 따른 병렬 분산 가시화 서버의 내부 기능 블럭을 개략적으로 나타낸 구성도이다.3 is a block diagram schematically illustrating an internal functional block of a parallel distributed visualization server according to an embodiment of the present invention.
도 3을 참조하면, 본 발명의 실시예에 따른 병렬 분산 가시화 서버(130)는 통신부(310), 세션 형성부(320), 가시화 처리부(330) 및 데이터베이스(340) 등을 포함한다.Referring to FIG. 3, the parallel distributed
통신부(310)는 GIP 클라이언트(110)와 통신망(120)을 통해 통신한다.The
세션 형성부(320)는 GIP 클라이언트(110)와 GIP 프로토콜에 따라 GIP 세션을 형성한다. 이때, 세션 형성부(320)는 GIP 클라이언트(110)로부터의 세션 연결 요청에 대한 응답의 목적지 정보로서 세션 정보를 저장한다.The
가시화 처리부(330)는 GIP 클라이언트(110)로부터 GIP 패킷을 통해 가시화 요청이 있는 경우, 가시화 요청에 대한 결과를 geometry data로 보낼 때 사용하는 폴리 데이터(Poly Data), 가시화 요청에 대한 응답을 이미지로 보낼 때 사용하는 이미지(Image), 결과를 만들지 못하고 실패한 경우 오류코드를 보낼 때 사용하는 상태(Status), 로드(load)에 대한 응답으로 전체 데이터의 전송 함수(Transfer Function)를 만들 수 있는 팔레트를 보낼 때 사용하는 전송함수키(Transfer Function Key) 중 하나로 GIP 클라이언트(110)에 응답 메시지를 전송한다.When the
또한, 가시화 처리부(330)는 애니메이션의 프리펫치(Pre-fetch)를 위해 사용하거나, 서버의 변화를 알리는 용도로 사용하는 푸시(Push) 메시지를 GIP 패킷으로 GIP 클라이언트(110)에 전송한다.In addition, the
이때, GIP 패킷은, 도 8에 도시된 바와 같이 요청과 응답을 구분하기 위한 전 시스템에서 유일한 메시지 아이디(msgid); 메시지가 세션의 연결에 관한 것인지, 가시화 처리에 관한 것인지, 클라이언트의 요청 없이 결과를 전송하는 것인지를 나타내는 타입(Type); 서버가 클라이언트에 할당하는 값으로 클라이언트와 서버의 세션을 구분하는 전 시스템에서 유일한 세션 아이디(Session ID); 가변적 데이터 필드의 길이를 나타내는 길이(Lenth); 세션의 연결에 대한 요청과 응답, 가시화에 대한 요구와 응답, 요청없이 결과 전송에 관한 데이터(data)를 포함하는 필드로 구성된다. 도 8은 본 발명의 실시예에 따른 GIP 패킷의 필드 구성을 나타낸 도면이다. 타입에 존재할 수 있는 GIP 프리미티브(Primitive)들은 다음 표 1과 같다. 따라서, 데이터 필드에 오는 패킷의 형태는 표 1의 타입에 기술된 프리미티브의 종류에 따라 결정된다.At this time, the GIP packet, as shown in Figure 8, the message ID (msgid) unique in all systems for distinguishing the request and the response; A Type indicating whether the message relates to a session connection, to a visualization process, or to send a result without a client request; A session ID assigned by the server to a client and unique to all systems that distinguish between client and server sessions; Length indicating the length of the variable data field; It consists of fields that contain a request and response for a session connection, a request and response for visualization, and data about the result transfer without a request. 8 is a diagram illustrating a field configuration of a GIP packet according to an embodiment of the present invention. GIP primitives that may exist in a type are shown in Table 1 below. Thus, the type of packet coming to the data field is determined according to the type of primitive described in the type of Table 1.
또한, 가시화 처리부(330)가 가시화 요청에 대한 결과를 geometry data로 보낼 때 폴리 데이터(Poly Data)를 GIP 패킷으로 GIP 클라이언트(110)에 전송하는 것은 가시화의 결과를 geometry data로 전달하여 실질적으로 화면에 렌더링하는 것을 GIP 클라이언트(110)에 위임하여 사용자와의 상호 작용에 의한 view의 변화에 따라 이루어지는 모든 변화를 GIP 클라이언트(110)에서 수행되도록 하는 것이다.In addition, when the
그리고, 가시화 처리부(330)가 가시화 요청에 대한 응답을 이미지로 전송하는 것은, 서버가 사용자의 시점이 이동할 때마다 그 시점에서의 장면(Scene)을 렌더링까지 수행하여 그 결과를 이미지로 GIP 클라이언트(110)에 전송하는 것이다.The
데이터베이스(340)는 가시화 처리에 대한 결과 데이터를 저장하거나, GIP 클라이언트(110)에 제공할 자료나 데이터 등을 저장하고 있다.
The
도 4는 본 발명의 실시예에 따른 GIP 클라이언트의 내부 기능 블럭을 개략적으로 나타낸 구성도이다.4 is a configuration diagram schematically showing an internal functional block of a GIP client according to an embodiment of the present invention.
도 4를 참조하면, 본 발명의 실시예에 따른 GIP 클라이언트(110)는, 통신부(410), 세션 처리부(420), 제어부(430), 어플리케이션부(440), 저장부(450), 디스플레이부(460) 및 입력부(470) 등을 포함한다.Referring to FIG. 4, the
통신부(410)는 통신망(120)을 통해 GIP 서버(130)와 통신한다.The
세션 처리부(420)는 GIP 프로토콜에 따라 GIP 세션 요청 메시지(Connect.req)를 GIP 서버(130)에 전송하고, GIP 서버(130)로부터 GIP 세션 응답 메시지(Connect.res)를 수신하여 GIP 서버와 GIP 세션을 형성한다.The
제어부(430)는 가시화해야 할 데이터 셋의 저장 위치를 명시해 주는 로드(load) 메시지를 GIP 서버(130)에 전송하여 로드를 수행한 후, GIP 서버(130)에 가시화 요청 메시지(cmd.req)를 전송하며, GIP 서버(130)로부터 가시화 응답 메시지(cmd.res) 및 가시화 결과 데이터를 수신하여 디스플레이하거나 저장하는 것을 제어한다.The
또한, 가시화 요청 메시지(cmd.req)는 로드(load), 스칼라 디스트리뷰션(Scalar Distribution), 그래프(Graph), 이소 서피스(Iso-surface), 스트림라인(Streamline), 애니메이션(Animation), 경로라인(Pathline), 프로브(Probe by Plane), 전송함수(Transfer function)를 포함하는 타입(Type) 중 하나의 타입으로 전송될 수 있다.In addition, the visualization request message (cmd.req) can be loaded, scalar distribution, graph, iso-surface, streamline, animation, path line ( It may be transmitted in one of a type including a pathline, a probe by plane, and a transfer function.
그리고, 제어부(430)는 로드(load) 메시지를 통해 전체 데이터를 GIP 서버(130)에 알려주고, 로드(load) 메시지에 대한 응답으로 GIP 서버(130)로부터 전체 데이터에 대한 칼라 팔레트(calor palette)와 전송함수(transfer function)를 포함하는 응답 메시지(cmd.res)를 수신하고, GIP 서버에 가시화 요청 메시지(cmd.req)를 전송하여 GIP 서버로부터 가시화 응답 메시지(cmd.res)를 geometry data로 수신하여, geometry data를 렌더링할 때 칼라 팔레트를 전송함수(transfer function) 생성의 입력이 되도록 할 수 있다.The
어플리케이션부(440)는 장치 내에 각 종 어플리케이션이 설치된 것이다.The
저장부(450)는 데이터를 저장하고, 디스플레이부(460)는 처리 결과를 화면 상에 디스플레이하며, 그리고 입력부(470)는 사용자로부터 데이터나 명령, 선택 등을 입력받는다.
The
도 5는 본 발명의 실시예에 따른 GIP 클라이언트와 분산 병렬 가시화 서버 간의 어플리케이션 독립 가시화 프로토콜 서비스 방법을 설명하기 위한 전체적인 흐름도이다.5 is a flowchart illustrating an application independent visualization protocol service method between a GIP client and a distributed parallel visualization server according to an exemplary embodiment of the present invention.
도 5에 도시된 바와 같이 먼저, GIP 클라이언트(110)가 GIP 세션 요청 메시지를 분산 병렬 가시화 서버(130)에 전송한다(S510).As shown in FIG. 5, first, the
이에, 분산 병렬 가시화 서버(130)는 GIP 세션 응답 메시지를 GIP 클라이언트(110)에 전송하여, GIP 클라이언트(110)와 분산 병렬 가시화 서버(130) 간에 GIP 세션이 형성된다(S520).Accordingly, the distributed
이어, GIP 클라이언트(110)는 가시화 요청 메시지를 GIP 프로토콜에 따라 GIP 패킷으로 분산 병렬 가시화 서버(130)에 전송한다(S530). Subsequently, the
이에, 분산 병렬 가시화 서버(130)는 가시화 결과에 대한 가시화 응답 메시지를 GIP 프로토콜에 따라 GIP 패킷으로 GIP 클라이언트(110)에 전송한다(S540).
Accordingly, the distributed
도 6은 본 발명의 실시예에 따른 병렬 분산 가시화 서버의 어플리케이션 독립 가시화 프로토콜 서비스 방법을 설명하기 위한 동작 흐름도이다.6 is a flowchart illustrating an application independent visualization protocol service method of a parallel distributed visualization server according to an exemplary embodiment of the present invention.
도 6을 참조하면, 본 발명의 실시예에 따른 병렬 분산 가시화 서버(130)는 GIP 클라이언트로부터 GIP 세션 요청 메시지를 수신하면(S610-예), GIP 클라이언트로 GIP 세션 응답 메시지를 전송하여 GIP 클라이언트와 GIP 프로토콜에 따라 GIP 세션을 형성한다(S620).Referring to FIG. 6, when the distributed distributed
이때, GIP 프로토콜은, 병렬 분산 가시화 서버(130)가 GIP 클라이언트(110)와 GIP 세션을 형성한 후, GIP 클라이언트로부터 GIP 패킷을 통한 가시화 요청을 수신하기 전에, GIP 클라이언트로부터 가시화해야 할 데이터 셋의 저장 위치를 명시해 주는 로드(load) 메시지를 수신하여 로드(load)를 완료하고, GIP 클라이언트로부터 GIP 패킷을 통해 가시화 요청 메시지(cmd.req)를 수신할 수 있다.In this case, the GIP protocol is a data set of the data set to be visualized from the GIP client after the parallel distributed
이어, 분산 병렬 가시화 서버(130)는 GIP 클라이언트로부터 가시화 요청(cmd.req)이 있는 경우(S630-예), 도 9에 도시된 바와 같이 가시화 응답 메시지에 대한 GIP 패킷을 GIP 클라이언트에 전송한다(S640). 도 9는 본 발명의 실시예에 따라 가시화 요청 응답 메시지에 대한 GIP 패킷의 구성을 나타낸 도면이다. 도 9에 도시된 바와 같이, 가시화 응답 메시지에 대한 GIP 패킷은 타입(Type), 길이(Len) 및 데이터(data)의 필드를 갖는다. 이때, 타입 필드에 오는 패킷의 형태는 표 2의 4 가지 중 하나로 결정된다.Subsequently, when there is a visualization request (cmd.req) from the GIP client (S630-Yes), the distributed
즉, 가시화 처리부(330)는 가시화 응답 메시지에 대해 geometry data로 보낼 때 사용하는 폴리 데이터(Poly Data), 가시화 요청에 대한 응답을 이미지로 보낼 때 사용하는 이미지(Image), 결과를 만들지 못하고 실패했을 때 실패의 원인인 오류코드를 보낼 때 사용하는 상태(Status), 로드(load)에 대한 응답으로 전체 데이터의 전송 함수(Transfer Function)를 만들 수 있는 팔레트를 보낼 때 사용하는 전송함수키(Transfer Function Key) 중 하나를 GIP 패킷으로 GIP 클라이언트(110)에 전송한다.That is, the
여기서, 가시화 처리부(330)가 가시화 요청에 대한 결과를 geometry data로 보낼 때 사용하는 폴리 데이터(Poly Data)를 GIP 클라이언트에 전송하는 것은, 가시화의 결과를 geometry data로 전달하여 실질적으로 화면에 렌더링하는 것을 GIP 클라이언트에 위임하여 사용자와의 상호 작용에 의한 view의 변화에 따라 이루어지는 모든 변화를 GIP 클라이언트에서 수행되도록 하는 것이다.Here, transmitting the poly data, which is used when the
또한, 가시화 처리부(330)가 가시화 요청에 대한 응답을 이미지로 전송하는 경우는 서버가 사용자의 시점이 이동할 때마다 그 시점에서의 장면(Scene)을 렌더링까지 수행하여 그 결과를 GIP 클라이언트에 전송할 때 이미지로 전송하는 것이다.In addition, when the
이어, 분산 병렬 가시화 서버(130)는 애니메이션의 프리펫치(Pre-fetch)를 위해 사용하거나, 서버의 변화를 알리는 용도로 사용하는 푸시(Push) 메시지를 GIP 클라이언트에 전송한다(S650).
Subsequently, the distributed
한편, 본 발명의 실시예에 따른 병렬 분산 가시화 서버의 어플리케이션 독립 가시화 프로토콜 서비스 방법을 실행하기 위한 프로그램을 CD나 USB 매체 등 컴퓨터로 읽을 수 있는 매체에 기록할 수 있다.
Meanwhile, a program for executing an application independent visualization protocol service method of a parallel distributed visualization server according to an embodiment of the present invention may be recorded on a computer readable medium such as a CD or a USB medium.
도 7은 본 발명의 실시예에 따른 GIP 클라이언트의 어플리케이션 독립 가시화 프로토콜 서비스 방법을 설명하기 위한 동작 흐름도이다.7 is a flowchart illustrating an application independent visualization protocol service method of a GIP client according to an embodiment of the present invention.
도 7을 참조하면, 본 발명의 실시예에 따른 GIP 클라이언트(110)는 GIP 프로토콜에 따라 GIP 세션 요청 메시지(Connect.req)를 GIP 서버에 전송한다(S710).Referring to FIG. 7, the
이어, GIP 클라이언트(110)는 GIP 서버로부터 GIP 세션 응답 메시지(Connect.res)를 수신하면(S720-예), GIP 서버와 GIP 세션을 형성한다(S730).Subsequently, when the
이어, GIP 클라이언트(110)는 가시화해야 할 데이터 셋(data set)의 저장 위치를 명시해 주는 로드(load) 메시지를 GIP 서버에 전송한다(S740).Subsequently, the
이때, GIP 클라이언트(110)는 로드(load) 메시지를 통해 전체 데이터를 GIP 서버(130)에 알려준다.At this time, the
이어, GIP 클라이언트(110)는 로드(load) 메시지에 대한 응답으로 GIP 서버(130)로부터 전체 데이터에 대한 칼라 팔레트(calor palette)와 전송함수(transfer function)를 포함하는 응답 메시지(cmd.res)를 수신하면(S750-예), 응답 메시지에 포함된 칼라 팔레트(calor palette)와 전송함수(transfer function)를 저장부(450)에 저장해 놓는다(S760). Subsequently, the
이어, GIP 클라이언트(110)는 도 10에 도시된 가시화 요청 메시지(cmd.req)를 GIP 서버에 전송한다(S770). 도 10은 본 발명의 실시예에 따른 가시화 요청 메시지에 대한 GIP 패킷의 구성을 나타낸 도면이다. 도 10에 도시된 바와 같이, 가시화 요청 메시지에 대한 GIP 패킷은 타입(Type), 길이(Len), 바디(Body)의 필드를 갖는다. 여기서, 가시화 요청 메시지(cmd.req)는 다음 표 3과 같이 로드(load), 스칼라 디스트리뷰션(Scalar Distribution), 그래프(Graph), 이소 서피스(Iso-surface), 스트림라인(Streamline), 애니메이션(Animation), 경로라인(Pathline), 프로브(Probe by Plane), 전송함수(Transfer function)를 포함하는 타입(Type) 중 하나의 타입으로 전송될 수 있다.Subsequently, the
이어, GIP 클라이언트(110)는 GIP 서버로부터 가시화 응답 메시지(cmd.res) 및 가시화 결과 데이터를 수신한다(S780).Subsequently, the
이후, GIP 클라이언트(110)는 GIP 서버(130)로부터 가시화 응답 메시지(cmd.res)를 geometry data로 수신하면(S790-예), geometry data를 렌더링할 때 칼라 팔레트를 전송함수(transfer function) 생성의 입력으로 사용한다(S792).After that, when the
한편, 본 발명의 실시예에 따른 GIP 클라이언트의 어플리케이션 독립 가시화 프로토콜 서비스 방법을 실행하기 위한 프로그램을 컴퓨터로 읽을 수 있는 매체에 기록할 수 있다.Meanwhile, a program for executing an application independent visualization protocol service method of a GIP client according to an embodiment of the present invention may be recorded in a computer-readable medium.
전술한 바와 같이 본 발명에 의하면, 사용자 단말기에서 실행되는 어플리케이션에 대해 독립적으로 동작하는 가시화 프로토콜을 통해 서버와 클라이언트 간에 세션을 형성한 후, 클라이언트의 가시화 요청에 따라 서버가 가시화 프로토콜에 따라 이미지나 geometry 데이터와 같은 대용량 데이터를 클라이언트 단말기에 분산 병렬 가시화를 수행할 수 있도록 하는, 대용량 데이터의 분산 병렬을 위한 어플리케이션 독립 가시화 프로토콜 서비스 시스템 및 방법을 실현할 수 있다.As described above, according to the present invention, after establishing a session between the server and the client through a visualization protocol operating independently for an application running on a user terminal, the server according to the visualization request of the client image or geometry according to the visualization protocol An application-independent visualization protocol service system and method for distributed parallelism of a large amount of data, which enables distributed parallel visualization of large data such as data to a client terminal, can be realized.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims and their equivalents. Only. The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.
본 발명은 사용자 단말기에서 실행되는 어플리케이션에 대해 독립적으로 동작하는 가시화 프로토콜을 통해 서버와 클라이언트 간에 세션을 형성한 후, 클라이언트의 가시화 요청에 따라 서버가 가시화 프로토콜에 따라 이미지나 geometry 데이터와 같은 대용량 데이터를 클라이언트에 분산 병렬 가시화를 수행할 수 있도록 하는 대용량 데이터의 분산 병렬을 위한 어플리케이션 독립 가시화 프로토콜 서비스 시스템 및 방법에 적용할 수 있다.According to the present invention, after establishing a session between a server and a client through a visualization protocol operating independently for an application running on a user terminal, the server generates a large amount of data such as an image or geometry data according to the visualization protocol according to the client's visualization request. It can be applied to an application-independent visualization protocol service system and method for distributed parallelism of a large amount of data that enables distributed parallel visualization to a client.
따라서, 본 발명은 전산 시뮬레이션을 이용한 분석 도구로 가시화를 필요로 하는 다양한 산업 응용 분석 시스템(항공기 시뮬레이터, 해양 데이터 분석 시스템, 기상 데이터 예측 시스템 등)에 활용할 수 있다.
Therefore, the present invention can be utilized in various industrial application analysis systems (aircraft simulators, marine data analysis systems, weather data prediction systems, etc.) that require visualization as an analysis tool using computer simulation.
100 : 어플리케이션 독립 가시화 프로토콜 서비스 시스템
110 : GIP 클라이언트 120 : 통신망
130 : GIP 서버 310 : 통신부
320 : 세션 형성부 330 : 가시화 처리부
340 : 데이터베이스 410 : 통신부
420 : 세션 처리부 430 : 제어부
440 : 어플리케이션부 450 : 저장부
460 : 디스플레이부 470 : 입력부100: Application Independent Visualization Protocol Service System
110: GIP client 120: communication network
130: GIP server 310: communication unit
320: session forming unit 330: visualization processing unit
340: database 410: communication unit
420: session processing unit 430: control unit
440: application unit 450: storage unit
460: display unit 470: input unit
Claims (24)
상기 GIP 프로토콜에 대해 동기식 및 비동기식 프로토콜을 모두 지원하고, 상기 GIP 클라이언트로부터 GIP 요청 메시지를 수신하면, 가시화 결과에 대한 GIP 응답 메시지를 생성해 GIP 프로토콜에 따라 GIP 패킷을 통해 상기 GIP 클라이언트에 전송하는 GIP 서버;
를 포함하는 어플리케이션 독립 가시화 프로토콜 서비스 시스템.
A GIP client transmitting a GIP request message received from a user to a GIP server through a GIP packet according to the GIP protocol, and receiving a GIP response message from the GIP server; And
Supports both synchronous and asynchronous protocols for the GIP protocol, and when receiving a GIP request message from the GIP client, generates a GIP response message for the visualization result and sends the GIP packet to the GIP client according to the GIP protocol according to the GIP protocol. server;
Application independent visualization protocol service system comprising a.
상기 GIP 클라이언트와 GIP 프로토콜에 따라 GIP 세션을 형성하는 세션 형성부; 및
상기 GIP 클라이언트로부터 GIP 패킷을 통해 가시화 요청이 있는 경우, 가시화 요청에 대한 결과를 geometry data로 보낼 때 사용하는 폴리 데이터(Poly Data), 가시화 요청에 대한 응답을 이미지로 보낼 때 사용하는 이미지(Image), 결과를 만들지 못하고 실패한 경우 오류코드를 보낼 때 사용하는 상태(Status), 로드(load)에 대한 응답으로 전체 데이터의 전송 함수(Transfer Function)를 만들 수 있는 팔레트를 보낼 때 사용하는 전송함수키(Transfer Function Key) 중 하나로 GIP 클라이언트에 응답 메시지를 전송하거나, 애니메이션의 프리펫치(Pre-fetch)를 위해 사용하거나, 서버의 변화를 알리는 용도로 사용하는 푸시(Push) 메시지를 GIP 패킷으로 GIP 클라이언트에 전송하는 가시화 처리부;
를 포함하는 병렬 분산 가시화 서버.
A communication unit for communicating with a GIP client through a communication network;
A session forming unit forming a GIP session according to the GIP client and the GIP protocol; And
When there is a visualization request from the GIP client through a GIP packet, poly data used to send the result of the visualization request to geometry data, and an image used to send a response to the visualization request as an image. , The status used to send an error code if it fails to produce a result, and the transfer function key used to send a palette to create a transfer function of the entire data in response to a load. One of the Transfer Function Keys, a GIP packet is used to send a response message to the GIP client, to pre-fetch the animation, or to inform the server of the change. A visualization processor for transmitting;
Parallel distributed visualization server comprising a.
상기 GIP 프로토콜은, 기본적으로 TCP/IP 위에서 동작하고, LAN 환경의 Infiniband를 지원하며, 요청을 전송한 후 응답이 수신되지 않더라도 바로 다음 요청을 처리하는 비동기식 프로토콜과 응답에 대한 요청이 수신될 때까지 대기하는 동기식 프로토콜을 모두 지원하는 것을 특징으로 하는 병렬 분산 가시화 서버.
3. The method of claim 2,
The GIP protocol basically operates over TCP / IP, supports Infiniband in the LAN environment, and asynchronous protocol that processes the next request even if no response is received after sending the request until the request for the response is received. Parallel distributed visualization server, characterized in that supports all waiting synchronous protocols.
상기 GIP 패킷은, 요청과 응답을 구분하기 위한 전 시스템에서 유일한 메시지 아이디(msgid); 메시지가 세션의 연결에 관한 것인지, 가시화 처리에 관한 것인지, 클라이언트의 요청 없이 결과를 전송하는 것인지를 나타내는 타입(Type); 서버가 클라이언트에 할당하는 값으로 클라이언트와 서버의 세션을 구분하는 전 시스템에서 유일한 세션 아이디(Session ID); 가변적 데이터 필드의 길이를 나타내는 길이(Lenth); 세션의 연결에 대한 요청과 응답, 가시화에 대한 요구와 응답, 요청없이 결과 전송에 관한 데이터(data)를 포함하는 필드로 구성된 것을 특징으로 하는 병렬 분산 가시화 서버.
3. The method of claim 2,
The GIP packet includes a message ID (msgid) unique in all systems for distinguishing a request from a response; A Type indicating whether the message relates to a session connection, to a visualization process, or to send a result without a client request; A session ID assigned by the server to a client and unique to all systems that distinguish between client and server sessions; Length indicating the length of the variable data field; A distributed distributed visualization server comprising fields comprising a request and response for a connection of a session, a request and response for visualization, and data about a result transmission without a request.
상기 세션형성부는, 상기 GIP 클라이언트로부터의 세션 연결 요청에 대한 응답의 목적지 정보로서 세션 정보를 저장하는 것을 특징으로 하는 병렬 분산 가시화 서버.
3. The method of claim 2,
And the session forming unit stores session information as destination information of a response to the session connection request from the GIP client.
상기 GIP 프로토콜은, 상기 GIP 클라이언트와 GIP 세션을 형성한 후, 상기 GIP 클라이언트로부터 GIP 패킷을 통한 가시화 요청을 수신하기 전에, 상기 GIP 클라이언트로부터 가시화해야 할 데이터 셋의 저장 위치를 명시해 주는 로드(load) 메시지를 수신하여 로드(load)를 완료하고, 상기 GIP 클라이언트로부터 GIP 패킷을 통해 가시화 요청 메시지(cmd.req)를 수신하는 것을 특징으로 하는 병렬 분산 가시화 서버.
3. The method of claim 2,
The GIP protocol is a load that specifies a storage location of a data set to be visualized from the GIP client after establishing a GIP session with the GIP client and before receiving a visualization request through a GIP packet from the GIP client. Receiving a message and completing a load, and receiving a visualization request message (cmd.req) through a GIP packet from the GIP client.
상기 가시화 처리부가 상기 가시화 요청에 대한 결과를 geometry data로 보낼 때 사용하는 폴리 데이터(Poly Data)를 GIP 클라이언트에 전송하는 것은, 가시화의 결과를 geometry data로 전달하여 화면에 렌더링하는 것을 GIP 클라이언트에 위임하여 사용자와의 상호 작용에 의한 view의 변화에 따라 이루어지는 모든 변화를 GIP 클라이언트에서 수행되도록 하는 것을 특징으로 하는 병렬 분산 가시화 서버.
3. The method of claim 2,
Sending poly data to the GIP client, which the visualization processor uses to send the result of the visualization request as geometry data, delegates the rendering of the visualization to the GIP client by passing the result of the visualization as geometry data. Parallel distributed visualization server, characterized in that to perform all the changes made in accordance with the change in the view by the interaction with the user in the GIP client.
상기 가시화 처리부가 상기 가시화 요청에 대한 응답을 이미지로 전송하는 것은, 서버가 사용자의 시점이 이동할 때마다 그 시점에서의 장면(Scene)을 렌더링까지 수행하여 그 결과를 이미지로 GIP 클라이언트에 전송하는 것을 특징으로 하는 병렬 분산 가시화 서버.
3. The method of claim 2,
The visualization processing unit transmits a response to the visualization request as an image, in which the server performs rendering of a scene at that point every time the user's viewpoint moves, and transmits the result as an image to the GIP client. Parallel distributed visualization server.
상기 GIP 서버에 GIP 프로토콜에 따라 GIP 세션 요청 메시지(Connect.req)를 전송하고, 상기 GIP 서버로부터 GIP 세션 응답 메시지(Connect.res)를 수신하여 GIP 서버와 GIP 세션을 형성하는 세션 처리부; 및
상기 GIP 서버에 가시화해야 할 데이터 셋의 저장 위치를 명시해 주는 로드(load) 메시지를 전송하여 GIP 서버가 로드를 수행한 후, GIP 서버에 가시화 요청 메시지(cmd.req)를 전송하며, GIP 서버로부터 가시화 응답 메시지(cmd.res) 및 가시화 결과 데이터를 수신하여 디스플레이하거나 저장하는 것을 제어하는 제어부;
를 포함하는 GIP 클라이언트.
A communication unit for communicating with a GIP server through a communication network;
A session processor for transmitting a GIP session request message (Connect.req) to the GIP server according to a GIP protocol, and receiving a GIP session response message (Connect.res) from the GIP server to form a GIP session with a GIP server; And
After the GIP server performs a load by transmitting a load message that specifies the storage location of the data set to be visualized, the GIP server sends a visualization request message (cmd.req) to the GIP server. A control unit configured to receive, display, or store a visualization response message (cmd.res) and visualization result data from the system;
GIP client including.
상기 가시화 요청 메시지(cmd.req)는 로드(load), 스칼라 디스트리뷰션(Scalar Distribution), 그래프(Graph), 이소 서피스(Iso-surface), 스트림라인(Streamline), 애니메이션(Animation), 경로라인(Pathline), 프로브(Probe by Plane), 전송함수(Transfer function)를 포함하는 타입(Type) 중 하나의 타입으로 전송되는 것을 특징으로 하는 GIP 클라이언트.
The method of claim 9,
The visualization request message (cmd.req) includes a load, a scalar distribution, a graph, an iso-surface, a streamline, an animation, a pathline. GIP client, characterized in that transmitted in one of the types (Type) including a probe (Probe by Plane), a transfer function (Transfer function).
상기 제어부는, 상기 로드(load) 메시지를 통해 전체 데이터를 상기 GIP 서버에 알려주고, 상기 로드(load) 메시지에 대한 응답으로 상기 GIP 서버로부터 전체 데이터에 대한 칼라 팔레트(calor palette)와 전송함수(transfer function)를 포함하는 응답 메시지(cmd.res)를 수신하고, 상기 GIP 서버에 가시화 요청 메시지(cmd.req)를 전송하여 GIP 서버로부터 가시화 응답 메시지(cmd.res)를 geometry data로 수신하여, geometry data를 렌더링할 때 칼라 팔레트를 전송함수(transfer function) 생성의 입력이 되도록 하는 것을 특징으로 하는 GIP 클라이언트.
The method of claim 9,
The controller informs the GIP server of the entire data through the load message, and transmits a color palette and a transfer function for the entire data from the GIP server in response to the load message. Receive a response message (cmd.res) including a function), and sends a visualization request message (cmd.req) to the GIP server to receive a visualization response message (cmd.res) from the GIP server as geometry data, A GIP client that, when rendering data, makes the color palette an input for the creation of a transfer function.
(a) 상기 GIP 클라이언트가 GIP 세션 요청 메시지를 분산 병렬 가시화 서버에 전송하는 단계;
(b) 상기 분산 병렬 가시화 서버가 GIP 세션 응답 메시지를 GIP 클라이언트에 전송하여, GIP 클라이언트와 분산 병렬 가시화 서버 간에 GIP 세션이 형성되는 단계;
(c) 상기 GIP 클라이언트가 가시화 요청 메시지를 GIP 프로토콜에 따라 GIP 패킷을 통해 분산 병렬 가시화 서버에 전송하는 단계;
(d) 상기 분산 병렬 가시화 서버가 가시화 결과에 대한 가시화 응답 메시지를 GIP 프로토콜에 따라 GIP 패킷을 통해 GIP 클라이언트에 전송하는 단계;
를 포함하는 어플리케이션 독립 가시화 프로토콜 서비스 방법.
An application-independent visualization protocol service method between a GIP client and a distributed parallel visualization server.
(a) the GIP client sending a GIP session request message to a distributed parallel visualization server;
(b) the distributed parallel visualization server sending a GIP session response message to a GIP client, thereby establishing a GIP session between the GIP client and the distributed parallel visualization server;
(c) the GIP client sending a visualization request message to a distributed parallel visualization server through a GIP packet according to a GIP protocol;
(d) the distributed parallel visualization server transmitting a visualization response message for the visualization result to a GIP client through a GIP packet according to a GIP protocol;
Application independent visualization protocol service method comprising a.
(b) GIP 클라이언트로 GIP 세션 응답 메시지를 전송하여 GIP 클라이언트와 GIP 프로토콜에 따라 GIP 세션을 형성하는 단계;
(c) GIP 클라이언트로부터 가시화 요청이 있는 경우, 가시화 요청에 대한 결과를 GIP 패킷을 통해 응답 메시지로 GIP 클라이언트에 전송하는 단계; 및
(d) GIP 클라이언트에 애니메이션의 프리펫치(Pre-fetch)를 위해 사용하거나 서버의 변화를 알리는 용도로 사용하는 푸시(Push) 메시지를 전송하는 단계;
를 포함하는 병렬 분산 가시화 서버의 어플리케이션 독립 가시화 프로토콜 서비스 방법.
(a) receiving a GIP session request message from a GIP client;
(b) sending a GIP session response message to the GIP client to form a GIP session according to the GIP client and the GIP protocol;
(c) if there is a visualization request from the GIP client, sending a result of the visualization request to the GIP client in a response message through a GIP packet; And
(d) sending a push message to the GIP client for pre-fetching of the animation or for notifying the change of the server;
Application independent visualization protocol service method of a parallel distributed visualization server comprising a.
상기 GIP 프로토콜은, 기본적으로 TCP/IP 위에서 동작하고, LAN 환경의 Infiniband를 지원하며, 요청을 전송한 후 응답이 수신되지 않더라도 바로 다음 요청을 처리하는 비동기식 프로토콜과, 응답에 대한 요청이 수신될 때까지 대기하는 동기식 프로토콜을 모두 지원하는 것을 특징으로 하는 병렬 분산 가시화 서버의 어플리케이션 독립 가시화 프로토콜 서비스 방법.
The method of claim 13,
The GIP protocol basically operates over TCP / IP, supports Infiniband in the LAN environment, asynchronous protocol that processes the next request even if no response is received after sending the request, and when a request for the response is received. Application independent visualization protocol service method of a parallel distributed visualization server, characterized in that to support all the synchronous protocol waiting until.
상기 응답 메시지는 geometry data로 보낼 때 사용하는 폴리 데이터(Poly Data), 가시화 요청에 대한 응답을 이미지로 보낼 때 사용하는 이미지(Image), 결과를 만들지 못하고 실패했을 때 실패의 원인인 오류코드를 보낼 때 사용하는 상태(Status), 로드(load)에 대한 응답으로 전체 데이터의 전송 함수(Transfer Function)를 만들 수 있는 팔레트를 보낼 때 사용하는 전송함수키(Transfer Function Key) 중 하나로 전송되는 것을 특징으로 하는 병렬 분산 가시화 서버의 어플리케이션 독립 가시화 프로토콜 서비스 방법.
The method of claim 13,
The response message sends the poly data used to send the geometry data, the image used to send the response to the visualization request as an image, and an error code that causes the failure when the result fails. It is transmitted as one of the Transfer Function Keys used when sending a palette to create a Transfer Function of the entire data in response to the Status and load used. Application independent visualization protocol service method of a parallel distributed visualization server.
상기 GIP 패킷은, 요청과 응답을 구분하기 위한 전 시스템에서 유일한 메시지 아이디(msgid); 메시지가 세션의 연결에 관한 것인지, 가시화 처리에 관한 것인지, 클라이언트의 요청 없이 결과를 전송하는 것인지를 나타내는 타입(Type); 서버가 클라이언트에 할당하는 값으로 클라이언트와 서버의 세션을 구분하는 전 시스템에서 유일한 세션 아이디(Session ID); 가변적 데이터 필드의 길이를 나타내는 길이(Lenth); 세션의 연결에 대한 요청과 응답, 가시화에 대한 요구와 응답, 요청없이 결과 전송에 관한 데이터(data)를 포함하는 필드로 구성된 것을 특징으로 하는 병렬 분산 가시화 서버의 어플리케이션 독립 가시화 프로토콜 서비스 방법.
The method of claim 13,
The GIP packet includes a message ID (msgid) unique in all systems for distinguishing a request from a response; A Type indicating whether the message relates to a session connection, to a visualization process, or to send a result without a client request; A session ID assigned by the server to a client and unique to all systems that distinguish between client and server sessions; Length indicating the length of the variable data field; A method for application-independent visualization protocol service of a parallel distributed visualization server, comprising a field including a request and response for a session connection, a request and response for visualization, and data about a result transmission without request.
상기 GIP 프로토콜은, 상기 GIP 클라이언트와 GIP 세션을 형성한 후, 상기 GIP 클라이언트로부터 GIP 패킷을 통한 가시화 요청을 수신하기 전에, 상기 GIP 클라이언트로부터 가시화해야 할 데이터 셋의 저장 위치를 명시해 주는 로드(load) 메시지를 수신하여 로드(load)를 완료하고, 상기 GIP 클라이언트로부터 GIP 패킷을 통해 가시화 요청 메시지(cmd.req)를 수신하는 것을 특징으로 하는 병렬 분산 가시화 서버의 어플리케이션 독립 가시화 프로토콜 서비스 방법.
The method of claim 13,
The GIP protocol is a load that specifies a storage location of a data set to be visualized from the GIP client after establishing a GIP session with the GIP client and before receiving a visualization request through a GIP packet from the GIP client. Receiving a message and completing a load, and receiving a visualization request message (cmd.req) through a GIP packet from the GIP client.
상기 (c) 단계에서 상기 가시화 요청에 대한 결과를 geometry data로 보낼 때 사용하는 폴리 데이터(Poly Data)를 GIP 클라이언트에 전송하는 것은, 가시화의 결과를 geometry data로 전달하여 실질적으로 화면에 렌더링하는 것을 GIP 클라이언트에 위임하여 사용자와의 상호 작용에 의한 view의 변화에 따라 이루어지는 모든 변화를 GIP 클라이언트에서 수행되도록 하는 것을 특징으로 하는 병렬 분산 가시화 서버의 어플리케이션 독립 가시화 프로토콜 서비스 방법.
The method of claim 13,
In the step (c), transmitting the poly data used to send the result of the visualization request to the geometry data to the GIP client is to transfer the result of the visualization to the geometry data and render it on the screen substantially. A method for application-independent visualization protocol service of a parallel distributed visualization server, characterized by delegating to a GIP client so that all changes made according to the change of view due to user interaction are performed in the GIP client.
상기 (c) 단계에서 상기 가시화 요청에 대한 응답을 이미지로 전송하는 것은, 서버가 사용자의 시점이 이동할 때마다 그 시점에서의 장면(Scene)을 렌더링까지 수행하여 그 결과를 이미지로 GIP 클라이언트에 전송하는 것을 특징으로 하는 병렬 분산 가시화 서버의 어플리케이션 독립 가시화 프로토콜 서비스 방법.
The method of claim 13,
In the step (c), transmitting the response to the visualization request as an image, whenever the user's viewpoint moves, the server performs rendering of the scene at that viewpoint and transmits the result as an image to the GIP client. Application independent visualization protocol service method of a parallel distributed visualization server.
20. A computer readable medium having recorded thereon a program for executing an application independent visualization protocol service method of a parallel distributed visualization server according to any one of claims 13 to 19.
(b) GIP 서버로부터 GIP 세션 응답 메시지(Connect.res)를 수신하여 GIP 서버와 GIP 세션을 형성하는 단계;
(c) 가시화해야 할 데이터 셋의 저장 위치를 명시해 주는 로드(load) 메시지를 GIP 서버에 전송하는 단계;
(d) GIP 서버에 가시화 요청 메시지(cmd.req)를 전송하는 단계; 및
(e) GIP 서버로부터 가시화 응답 메시지(cmd.res) 및 가시화 결과 데이터를 수신하는 단계;
를 포함하는 GIP 클라이언트의 어플리케이션 독립 가시화 프로토콜 서비스 방법.
(a) sending a GIP session request message (Connect.req) to the GIP server according to the GIP protocol;
(b) receiving a GIP session response message (Connect.res) from the GIP server to form a GIP session with the GIP server;
(c) sending a load message to the GIP server specifying the storage location of the data set to be visualized;
(d) transmitting a visualization request message (cmd.req) to the GIP server; And
(e) receiving a visualization response message (cmd.res) and visualization result data from the GIP server;
Application independent visualization protocol service method of a GIP client comprising a.
상기 가시화 요청 메시지(cmd.req)는 로드(load), 스칼라 디스트리뷰션(Scalar Distribution), 그래프(Graph), 이소 서피스(Iso-surface), 스트림라인(Streamline), 애니메이션(Animation), 경로라인(Pathline), 프로브(Probe by Plane), 전송함수(Transfer function)를 포함하는 타입(Type) 중 하나의 타입으로 전송되는 것을 특징으로 하는 GIP 클라이언트의 어플리케이션 독립 가시화 프로토콜 서비스 방법.
22. The method of claim 21,
The visualization request message (cmd.req) includes a load, a scalar distribution, a graph, an iso-surface, a streamline, an animation, a pathline. The application-independent visualization protocol service method of a GIP client, characterized in that transmitted in one of a type (Type) including a probe (Probe by Plane), a transfer function.
상기 (c) 단계는 상기 로드(load) 메시지를 통해 전체 데이터를 상기 GIP 서버에 알려주고, 상기 로드(load) 메시지에 대한 응답으로 상기 GIP 서버로부터 전체 데이터에 대한 칼라 팔레트(calor palette)와 전송함수(transfer function)를 포함하는 응답 메시지(cmd.res)를 수신하고,
상기 (e) 단계는 GIP 서버로부터 가시화 응답 메시지(cmd.res)를 geometry data로 수신하고, geometry data를 렌더링할 때 칼라 팔레트를 전송함수(transfer function) 생성의 입력이 되도록 하는 것을 특징으로 하는 GIP 클라이언트의 어플리케이션 독립 가시화 프로토콜 서비스 방법.
22. The method of claim 21,
Step (c) informs the GIP server of the entire data through the load message, and transmits a color palette and a transmission function for the entire data from the GIP server in response to the load message. receive a response message (cmd.res) containing a transfer function,
In step (e), the GIP server receives a visualization response message (cmd.res) from the GIP server as geometry data, and renders the color palette as an input for generating a transfer function when rendering the geometry data. Application-independent visualization protocol service method of client.
A computer readable medium having recorded thereon a program for executing an application independent visualization protocol service method of a GIP client according to any one of claims 21 to 23.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110108057A KR101302973B1 (en) | 2011-10-21 | 2011-10-21 | Application independent visualization protocol service method and system for distributed and parallelled visualization on large size data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110108057A KR101302973B1 (en) | 2011-10-21 | 2011-10-21 | Application independent visualization protocol service method and system for distributed and parallelled visualization on large size data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130043893A KR20130043893A (en) | 2013-05-02 |
KR101302973B1 true KR101302973B1 (en) | 2013-09-03 |
Family
ID=48656538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110108057A KR101302973B1 (en) | 2011-10-21 | 2011-10-21 | Application independent visualization protocol service method and system for distributed and parallelled visualization on large size data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101302973B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9112790B2 (en) * | 2013-06-25 | 2015-08-18 | Google Inc. | Fabric network |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030064323A (en) * | 2002-01-23 | 2003-07-31 | 교또 다이가꾸 | Visualization processing system, visualization processing method, and visualization processing program product |
US20110175923A1 (en) | 2009-08-28 | 2011-07-21 | Amitt Mahajan | Apparatuses, methods and systems for a distributed object renderer |
-
2011
- 2011-10-21 KR KR1020110108057A patent/KR101302973B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030064323A (en) * | 2002-01-23 | 2003-07-31 | 교또 다이가꾸 | Visualization processing system, visualization processing method, and visualization processing program product |
US20110175923A1 (en) | 2009-08-28 | 2011-07-21 | Amitt Mahajan | Apparatuses, methods and systems for a distributed object renderer |
Non-Patent Citations (1)
Title |
---|
논문1 * |
Also Published As
Publication number | Publication date |
---|---|
KR20130043893A (en) | 2013-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9654586B2 (en) | Resource server providing a rapidly changing resource | |
CN102413150B (en) | Server and virtual desktop control method and virtual desktop control system | |
CN107040416B (en) | Virtual data center visual management method based on Cairngorm framework | |
CN102763373B (en) | The method and apparatus using the service of local network devices based on remote access | |
CN104322012B (en) | The independent Management Controller of platform | |
Hsieh et al. | ScriptIoT: A script framework for and internet-of-things applications | |
CN110794777A (en) | Intelligent household control equipment and control method | |
KR101705197B1 (en) | Local server apparatus and data relaying method thereof | |
CN107508787B (en) | A kind of task executing method, apparatus and system | |
KR101302973B1 (en) | Application independent visualization protocol service method and system for distributed and parallelled visualization on large size data | |
KR20180052930A (en) | Method for providing smart factory service based on cloud and apparatus therefor | |
CN106302102A (en) | Instant message delivery system | |
US9906593B2 (en) | Information processing apparatus, system and program for enabling multiple devices to operate in coordination with each other | |
US20170090834A1 (en) | System and method of connecting a computer to a printer | |
CN106301906B (en) | Object configuration method and device based on distributed system | |
KR101855318B1 (en) | At least one mechanism to permit, at least in part, allocation and/or configuration, at least in part, of at least one network-associated object | |
CN108920598A (en) | Panorama sketch browsing method, device, terminal device, server and storage medium | |
CN104468645A (en) | Control method, electronic equipment, and information transmission method and device | |
KR101304211B1 (en) | Animation visualization protocol and algorithm service method through time-varing simulation data visualization, and system thereof | |
EP2798879B1 (en) | Alternate visual presentations | |
CN110750316A (en) | Method for processing internal task or input event and application program architecture system | |
CN117271152B (en) | Registration and query method for application instance information | |
CN117707602A (en) | Data request processing method, device, server and storage medium | |
CN111026617A (en) | Unmanned aerial vehicle data processing method and system, electronic equipment and computer storage medium | |
CN116228955A (en) | Light rendering method and device, computer equipment and medium thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160630 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170703 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180809 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190701 Year of fee payment: 7 |