KR101705197B1 - 로컬 서버 장치 및 그의 데이터 중계 방법 - Google Patents

로컬 서버 장치 및 그의 데이터 중계 방법 Download PDF

Info

Publication number
KR101705197B1
KR101705197B1 KR1020150076492A KR20150076492A KR101705197B1 KR 101705197 B1 KR101705197 B1 KR 101705197B1 KR 1020150076492 A KR1020150076492 A KR 1020150076492A KR 20150076492 A KR20150076492 A KR 20150076492A KR 101705197 B1 KR101705197 B1 KR 101705197B1
Authority
KR
South Korea
Prior art keywords
data
remote server
local
server
result data
Prior art date
Application number
KR1020150076492A
Other languages
English (en)
Other versions
KR20160140190A (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 KR1020150076492A priority Critical patent/KR101705197B1/ko
Priority to US15/168,857 priority patent/US10404819B2/en
Publication of KR20160140190A publication Critical patent/KR20160140190A/ko
Application granted granted Critical
Publication of KR101705197B1 publication Critical patent/KR101705197B1/ko

Links

Images

Classifications

    • H04L67/2809
    • H04L67/2814
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

본 발명은 로컬 서버 장치 및 그의 데이터 중계 방법에 관한 것으로, 보다 상세하게는 씬 클라이언트(Thin Client) 환경에서 씩 클라이언트(Thick Client) 환경으로 전환하는 로컬 서버 장치 및 그의 데이터 중계 방법에 관한 것이다.
이러한 목적을 달성하기 위하여 본 발명의 일 실시예에 따른 로컬 서버 장치는 원격지 서버(remote server)로부터 다운로드된 영상 데이터를 저장하는 데이터베이스, 및 상기 원격지 서버로 상기 영상 데이터를 요청하고 상기 영상 데이터를 다운로드하는 프로세서를 포함하고, 상기 프로세서는 로컬 클라이언트(local client)가 상기 원격지 서버로 요청하는 제1 결과 데이터에 대응하는 제1 영상 데이터를 상기 원격지 서버로 요청하는 데이터 요청부, 상기 제1 영상 데이터를 상기 원격지 서버로부터 다운로드하는 데이터 수신부, 상기 다운로드된 상기 제1 영상 데이터에 기반하여 제2 결과 데이터를 생성하는 영상 처리부, 및 상기 로컬 클라이언트가 상기 제1 영상 데이터에 대응하는 상기 제2 결과 데이터를 상기 원격지 서버로 요청한 경우, 상기 제2 결과 데이터를 상기 로컬 클라이언트로 제공하는 데이터 전송부를 포함할 수 있다.

Description

로컬 서버 장치 및 그의 데이터 중계 방법 {LOCAL SERVER APPARATUS AND DATA RELAYING METHOD THEREOF}
본 발명은 로컬 서버 장치 및 그의 데이터 중계 방법에 관한 것으로, 보다 상세하게는 씬 클라이언트(Thin Client) 환경과 씩 클라이언트(Thick Client) 환경 사이를 효율적으로 전환하는 로컬 서버 장치 및 그의 데이터 중계 방법에 관한 것이다.
본 발명은 산업통신자원부 및 한국산업기술평가관리원의 로봇산업융합핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호:10041605, 과제명: 손상된 상하지 근골격계 복구 수술의 정확도와 안전성 향상을 위한 2mm 오차급 뼈 포지셔닝 및 터널링 수술 로봇 시스템 개발].
데스크탑 PC를 중심으로 이루어지던 컴퓨팅 환경이 랩탑, 스마트폰 등 모바일 중심으로 전환됨에 따라 씬 클라이언트(thin client) 컴퓨팅 환경이 다수의 사용자들에게 제공되고 있는 추세이다.
씬(thin) 클라이언트는 말 그대로 가볍고(light-weighted) 단순한(simple) 단말기를 의미하는 것으로서, 그 동안 공간의 적지 않은 부분을 점유하던 크고 무거운 데스크탑 PC를 대체할 것으로 예상된다. 씬 클라이언트의 형태는 어떤 정형화된 형태에 국한되지 않고 제조업체에 따라 얼마든지 다양한 형태로 제공될 수 있을 것이다.
씬 클라이언트 컴퓨팅은 PC의 외형만 바뀌는 게 아니라 그 방식부터 근본적으로 달라지게 된다. 씬 클라이언트 컴퓨팅은 '서버 기반 컴퓨팅' 이라고도 하는데, 서버 기반이란 은행에 예금을 맡기듯 서버에 모든 Appliance을 두는 것을 의미한다. 따라서 씬 클라이언트 컴퓨팅의 경우, 클라이언트의 메모리나 스토리지의 용량이 클 필요가 없다. 단지 클라이언트는 프로그램이 필요할 때마다 서버에 접속하면 되며, 이때 소프트웨어를 내려 받아서 쓰는 게 아니라 서버에서 실행시키고 실행된 결과를 받아, 화면에 디스플레이하면 된다. 특히 배터리의 용량으로 인하여 소모 전원에 민감한 모바일 단말기의 경우, 연산 기능을 최소함으로써 적은 리소스로도 효과적인 컴퓨팅 사용이 가능하다.
한편, 한국등록특허 제10-0490401호 "TC(Thin-Client) 환경에서 영상 처리 장치 및 방법"에서는 TC 환경에서의 영상 처리 장치는 통신망, 클라이언트 시스템 및 상기 클라이언트 시스템의 요청에 의해 소정의 어플리케이션을 실행하고, 그 결과를 상기 통신망을 통하여 상기 클라이언트 시스템으로 전송하는 서버로 운영되는 장치에 있어서, 상기 서버는 상기 클라이언트 시스템의 요청에 의해 처리될 그래픽 신호의 렌더링을 가속하여 처리하고, 가속하여 처리된 그래픽 신호 및 그와 연계된 비디오 신호를 부호화하는 영상 처리수단을 포함하는 영상 처리 장치를 제시한다.
상기 선행기술은 TC 서버에서 소프트웨어적으로 처리하던 그래픽 부분을 하드웨어적으로 처리함으로써 TC 서버의 부하를 최소화 할 수 있는 장점이 있지만, 하나의 원격지 서버가 감당해야 할 로컬 클라이언트의 수가 많은 경우, 또는 씬 클라이언트 환경에서 서버와 클라이언트가 전송해야 할 데이터의 크기가 큰 경우에는 서버의 부담 또는 네트워크의 데이터 전송 부담이 커서 서버 기반 컴퓨팅이 원활하게 이루어지지 않을 수 있다.
한국등록특허 제10-0490401호 (등록일: 2005.05.11)
본 발명은 로컬 서버 장치 및 그의 데이터 중계 방법에 관한 것으로, 보다 상세하게는 씬 클라이언트(Thin Client) 환경에서 씩 클라이언트(Thick Client) 환경으로 전환하는 로컬 서버 장치 및 그의 데이터 중계 방법을 제공하려는 것을 목적으로 한다.
종래에 하나의 원격지 서버가 감당해야 할 로컬 클라이언트의 수가 많은 경우, 또는 씬 클라이언트 환경에서 서버와 클라이언트가 전송해야 할 데이터의 크기가 큰 경우에는 서버의 부담 또는 네트워크의 데이터 전송 부담이 커서 서버 기반 컴퓨팅이 원활하게 이루어지지 못하는 경우가 많았다. 본 발명은 이러한 경우 로컬 컴퓨터 장치에서 서버의 연산 부담을 분산시키고, 원격 네트워크를 통한 데이터 전송량을 감소하여 네트워크 전체의 부담을 줄이려는 것을 목적으로 한다.
특히 의료용 영상 데이터의 경우, 컴퓨터 단층촬영(Computed Tomography, CT) 또는 자기 공명 영상(Magnetic Resonance Image, MRI)은 원본 영상을 서버에서 저장할 뿐만 아니라, 원본 영상에 대한 영상 처리를 실행한 결과 데이터 또한 서버에서 저장해 두어야 하는데, 로컬 클라이언트의 사용자가 영상의 뷰포인트를 변경하거나 영상의 디스플레이 옵션을 변경하는 경우마다 서버에서 새로운 영상 처리를 실행하고, 그 결과 데이터를 빈번하게 재전송하여 업데이트하는 경우 서버와 로컬 클라이언트 간의 네트워크 자원을 과도하게 점유하게 되어 전체적인 네트워크 성능을 저하시키는 원인이 될 수 있다.
따라서 본 발명은 로컬 클라이언트가 활용할 수 있는 로컬 컴퓨팅 자원(컴퓨팅 파워, 메모리, 스토리지 용량 등을 포함함)을 반영하여 원격지 서버에서 실행하는 기능 중 일부 또는 전부를 seamless하게 로컬 서버가 대체하는 하이브리드 서버 기반 컴퓨팅 기법을 제공하는 것을 목적으로 한다.
또한 본 발명은 원격지 서버에서 영상의 디스플레이를 위하여 영상 처리 실행 시 적용되는 작업환경정보를 로컬 서버에서 공유하여, 로컬 클라이언트의 사용자가 로컬 서버에서 실행된 결과 데이터와 원격지 서버에서 실행된 결과 데이터를 구분하지 못할 정도로 동등한 결과 데이터를 로컬 클라이언트에 제공하는 것을 목적으로 한다.
이러한 목적을 달성하기 위하여 본 발명의 일 실시예에 따른 로컬 서버 장치는 원격지 서버(remote server)로부터 다운로드된 영상 데이터를 저장하는 데이터베이스, 및 상기 원격지 서버로 상기 영상 데이터를 요청하고 상기 영상 데이터를 다운로드하는 프로세서를 포함하고, 상기 프로세서는 로컬 클라이언트(local client)가 상기 원격지 서버로 요청하는 제1 결과 데이터에 대응하는 제1 영상 데이터를 상기 원격지 서버로 요청하는 데이터 요청부, 상기 제1 영상 데이터를 상기 원격지 서버로부터 다운로드하는 데이터 수신부, 상기 다운로드된 상기 제1 영상 데이터에 기반하여 제2 결과 데이터를 생성하는 영상 처리부, 및 상기 로컬 클라이언트가 상기 제1 영상 데이터에 대응하는 상기 제2 결과 데이터를 상기 원격지 서버로 요청한 경우, 상기 제2 결과 데이터를 상기 로컬 클라이언트로 제공하는 데이터 전송부를 포함할 수 있다.
이때, 상기 데이터 수신부는 상기 제1 결과 데이터를 상기 로컬 클라이언트가 상기 원격지 서버로부터 수신하는 동안 백그라운드로 실행할 수 있고, 또한 상기 제1 영상 데이터와 함께 상기 원격지 서버의 작업환경정보를 다운로드 할 수 있으며, 상기 영상 처리부는 상기 로컬 클라이언트가 상기 제1 영상 데이터에 대응하는 상기 제2 결과 데이터를 상기 원격지 서버로 요청한 경우, 상기 제1 영상 데이터에 기반하여 상기 제2 결과 데이터를 생성할 수 있고, 또한 상기 제1 영상 데이터, 상기 제1 결과 데이터 및 영상 처리 워크플로우에 기반하여 상기 제2 결과 데이터를 생성할 수 있다.
또한, 본 발명의 일 실시예에 따른 로컬 서버 장치는 상기 제1 영상 데이터의 다운로드가 완료되면, 상기 로컬 클라이언트의 사용자에게 상기 원격지 서버의 상기 제1 영상 데이터의 처리 기능을 상기 로컬 서버로 전환하는 이벤트에 관한 사용자 메뉴를 제공하도록 상기 로컬 클라이언트를 제어하는 이벤트 제어부를 더 포함할 수 있으며, 상기 데이터 전송부는 상기 제2 결과 데이터를 상기 원격지 서버로 업로드할 수 있다.
한편, 본 발명의 일 실시예에 따른 로컬 서버의 데이터 중계 방법은 로컬 서버(local server)가, 로컬 클라이언트(local client)가 원격지 서버(remote server)로 요청하는 제1 결과 데이터에 대응하는 영상 데이터를 상기 원격지 서버로 요청하는 단계, 상기 로컬 서버가 상기 영상 데이터를 상기 원격지 서버로부터 다운로드하는 단계, 상기 로컬 서버가 상기 다운로드된 상기 영상 데이터에 기반하여 제2 결과 데이터를 생성하는 단계, 및 상기 로컬 클라이언트가 상기 영상 데이터에 대응하는 상기 제2 결과 데이터를 상기 원격지 서버로 요청한 경우, 상기 로컬 서버가 상기 제2 결과 데이터를 상기 로컬 클라이언트로 제공하는 단계를 포함할 수 있다.
이때, 상기 원격지 서버로부터 다운로드하는 단계는 상기 제1 결과 데이터를 상기 로컬 클라이언트가 상기 원격지 서버로부터 수신하는 동안 백그라운드로 실행할 수 있고, 또한, 상기 영상 데이터 및 상기 제1 결과 데이터를 함께 상기 원격지 서버로부터 다운로드할 수 있으며, 상기 영상 데이터와 함께 상기 원격지 서버의 작업환경정보를 다운로드할 수 있다.
또한, 상기 제2 결과 데이터를 생성하는 단계는 상기 다운로드된 상기 원격지 서버의 상기 작업환경정보를 적용하여 상기 제2 결과 데이터를 생성할 수 있고, 상기 원격지 서버로부터 다운로드하는 단계는 상기 작업환경정보로서, 레이아웃(layout)의 구성 정보, 상기 레이아웃 내의 각 화면의 렌더링 설정 정보, 디스플레이 상태에 관한 설정 정보 중 적어도 하나를 다운로드할 수 있다.
또한, 상기 제2 결과 데이터를 생성하는 단계는 상기 로컬 클라이언트가 상기 영상 데이터에 대응하는 상기 제2 결과 데이터를 상기 원격지 서버로 요청한 경우, 상기 영상 데이터에 기반하여 상기 제2 결과 데이터를 생성할 수 있으며, 또한, 상기 영상 데이터, 상기 제1 결과 데이터 및 영상 처리 워크플로우에 기반하여 상기 제2 결과 데이터를 생성할 수 있다.
또한, 본 발명의 일 실시예에 따른 로컬 서버의 데이터 중계 방법은 상기 영상 데이터의 다운로드가 완료되면, 상기 로컬 클라이언트의 사용자에게 상기 원격지 서버의 상기 영상 데이터의 처리 기능을 상기 로컬 서버로 전환하는 이벤트에 관한 사용자 메뉴를 제공하도록 상기 로컬 서버가 상기 로컬 클라이언트를 제어하는 단계와 상기 로컬 서버가 상기 제2 결과 데이터를 상기 원격지 서버로 업로드하는 단계를 더 포함할 수 있다.
본 발명은 로컬 서버 장치 및 그의 데이터 중계 방법에 관한 것으로, 보다 상세하게는 로컬 서버 장치가, 로컬 클라이언트가 원격지 서버로 요청하는 제1 결과 데이터에 대응하는 영상 데이터를 상기 원격지 서버로 요청하고, 상기 영상 데이터를 상기 원격지 서버로부터 다운로드하며, 상기 다운로드된 상기 영상 데이터에 기반하여 제2 결과 데이터를 생성하고, 상기 로컬 클라이언트가 상기 영상 데이터에 대응하는 상기 제2 결과 데이터를 상기 원격지 서버로 요청한 경우, 상기 제2 결과 데이터를 상기 로컬 클라이언트로 제공함으로써, 씬 클라이언트(Thin Client) 환경에서 씩 클라이언트(Thick Client) 환경으로 매끄럽게(seamless) 전환할 수 있는 효과가 있다.
본 발명은 로컬 컴퓨터 장치에서 서버의 연산 부담을 분산시키고, 원격 네트워크를 통한 데이터 전송량을 감소시킴으로써 네트워크 전체의 부담을 줄일 수 있는 효과가 있다.
본 발명에 따르면 로컬 컴퓨팅 환경 및 로컬 컴퓨팅 자원을 효과적으로 활용하여, 서버에 집중되는 연산 부담을 적응적으로 분산시킬 수 있다. 본 발명에 따르면 동일한 원본 영상에 대한 빈번한 사용자 인터랙션(interaction)이 일어나는 경우와 같이 유사한 영상 처리 오퍼레이션을 반복적으로 실행할 필요가 있을 때, 원격지 서버와 로컬 서버 장치 간의 협업(co-operation)에 의하여 더욱 효과적으로 로컬 클라이언트에 제공될 데이터를 생성할 수 있다. 이를 위하여 본 발명의 일 실시예에 따르면 빈번한 사용자 인터랙션이 일어나는 원본 영상 데이터를 원격지 서버와 로컬 서버 장치가 공유하고, 빈번한 업데이트에 따르는 영상 처리를 원격지 서버와 로컬 서버 장치 간에 분담함으로써 원격지 서버와 로컬 서버 장치 간의 협업이 이루어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 하이브리드 서버 기반 컴퓨팅의 전체 구성을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 로컬 서버 장치를 나타낸 블록도이다.
도 3은 본 발명의 다른 일 실시예에 따른 로컬 서버 장치를 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 로컬 서버의 데이터 중계 방법에 대한 동작 흐름도이다.
도 5는 본 발명의 다른 일 실시예에 따른 로컬 서버의 데이터 중계 방법으로서, 도 4와 구분되는 단계를 상세히 도시한 동작 흐름도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하기로 한다. 또한 본 발명의 실시예들을 설명함에 있어 구체적인 수치는 실시예에 불과하다.
본 발명은 로컬 서버 장치 및 그의 데이터 중계 방법에 관한 것으로, 보다 상세하게는 씬 클라이언트(Thin Client) 환경에서 씩 클라이언트(Thick Client) 환경으로 매끄럽게(seamless) 전환하는 로컬 서버 장치 및 그의 데이터 중계 방법에 관한 것이다
도 1은 본 발명의 일 실시예에 따른 하이브리드 서버 기반 컴퓨팅의 전체 구성을 개략적으로 나타낸 도면이다.
도 1을 참조하여 본 발명의 전체 구성을 간단히 살펴보면, 본 발명은 크게 원격지 서버(remote server, 100), 로컬 서버(local server, 110), 로컬 클라이언트(local client, 120)로 구성될 수 있다. 원격지 서버(100)는 원격지 컴퓨팅 환경(10)에 속하는 서버를 의미하며, 로컬 서버(110)와 로컬 클라이언트(120)는 로컬 컴퓨터(20)의 서버와 클라이언트를 의미한다.
이때, 원격지 서버(100)는 중앙 서버, 클라우드 또는 데이터 센터 등을 의미하며, 영상 데이터(101), 결과 데이터(102), 및 작업환경정보(103)를 저장하고 있을 수 있다.
로컬 클라이언트(120)는 원격지 서버(100)에서 영상 데이터(101)를 처리하여 얻어진 결과 데이터(102)를 수신(A)할 수도 있고, 또는 로컬 서버(110)에서 처리된 결과 데이터(도시되지 않음)를 수신(B)할 수도 있다. 이때, 로컬 클라이언트(120)가 로컬 서버(110)에서 처리된 결과 데이터를 수신(B)하기 위해서는, 로컬 서버(110)는 로컬 클라이언트(120)가 원격지 서버(100)로 요청하는 결과 데이터(102)에 대응하는 영상 데이터(101)를 원격지 서버(100)로 요청하여 다운로드(C)한 후, 이를 기반으로 로컬 클라이언트(120)에 제공할 결과 데이터를 생성하여 제공할 수 있다.
그리고, 로컬 클라이언트(120)는 수신한 결과 데이터를 로컬 클라이언트(120)의 단말기 화면(121)에 디스플레이할 수 있으며, 원격지 서버(100)와 로컬 서버(110), 또는 원격지 서버(100)와 로컬 클라이언트(120) 간에는 양방향 네트워크 통신이 이루어진다.
로컬 서버(110)는 로컬 컴퓨터(20) 내의 논리적 연산, 수치 연산 기능을 포함하는 컴퓨팅 유닛을 의미한다. 로컬 서버(110)는 동일한 로컬 컴퓨터(20) 내의 로컬 클라이언트(120)의 컴퓨팅 파워를 상징적으로 표현한 아이콘으로 해석할 수도 있을 것이다. 로컬 서버(110)가 가지고 있는 컴퓨팅 리소스(논리적 연산, 수치 연산을 실행할 수 있는 프로세서의 성능, 연산 실행 시 임시 데이터를 저장할 수 있는 메모리의 용량, 결과 및 영상 데이터를 저장할 수 있는 스토리지의 용량을 포함함)에 따라서 로컬 서버(110)가 분담 또는 대체할 작업의 로드가 결정될 수 있다.
로컬 서버(110)가 가지고 있는 컴퓨팅 리소스에 의하여 영상 데이터의 처리 과정이 지원 가능한 경우에, 로컬 클라이언트(120)는 원격지 서버(100)로부터 수신할 결과 데이터(102)에 대응하는 영상 데이터(101) 또는 결과 데이터(102)가 로컬 컴퓨터(20)의 로컬 서버(110)에 저장되어 있는지 검색할 수 있다.
로컬 클라이언트(120)가 디스플레이할 결과 데이터 또는 그 결과 데이터에 대응하는 영상 데이터가 로컬 서버(110)에 저장되어 있는 경우, 로컬 서버(110)가 로컬 클라이언트(120)를 위하여 영상 데이터를 처리하여 결과 데이터를 생성할 수 있다. 이 때 로컬 클라이언트(120)와 로컬 서버(110) 간의 데이터 링크를 B로 도시하였다.
로컬 서버(110)에 영상 데이터 또는 결과 데이터가 저장되어 있지 않은 경우, 로컬 클라이언트(120)는 데이터 링크 A를 경유하여 원격지 서버(100)로 결과 데이터(102)를 요청할 수 있다. 로컬 클라이언트(120)가 원격지 서버(100)로부터 데이터 링크 A를 경유하여 결과 데이터(102)를 수신하는 동안, 로컬 서버(110)는 데이터 링크 C를 경유하여 원격지 서버(100)로부터 결과 데이터(102)에 대응하는 영상 데이터(101)를 다운로드하기 시작할 수 있다. 로컬 서버(110)는 영상 데이터(101)와 함께 결과 데이터(102)를 다운로드할 수도 있다. 로컬 서버(110)가 데이터 링크 C를 경유하여 영상 데이터(101) 또는 결과 데이터(102)를 원격지 서버(100)로부터 다운로드하는 과정은, 로컬 클라이언트(120)와 원격지 서버(100) 간의 데이터 링크 A를 경유한 데이터 송수신 및 로컬 클라이언트(120)와 단말기 화면(121) 간의 데이터 송수신 과정에 영향을 주지 않도록 백그라운드에서 실행될 수 있다. 즉, 로컬 서버(110)가 데이터 링크 C를 경유하여 영상 데이터(101) 또는 결과 데이터(102)를 원격지 서버(100)로부터 다운로드하는 과정보다 로컬 클라이언트(120)와 원격지 서버(100) 간의 데이터 링크 A를 경유한 데이터 송수신 및 로컬 클라이언트(120)와 단말기 화면(121) 간의 데이터 송수신 과정의 우선 순위가 높음을 의미한다.
로컬 서버(110)의 데이터 링크 C를 경유한 영상 데이터(101) 또는 결과 데이터(102)의 다운로드가 완료되면, 로컬 서버(110)는 다운로드된 영상 데이터 또는 결과 데이터를 로컬 서버(110) 내부의 메모리에 미리 로딩(loading)할 수 있다.
로컬 서버(110)의 데이터 링크 C를 경유한 영상 데이터(101) 또는 결과 데이터(102)의 다운로드가 완료되면, 로컬 서버(110)는 다운로드 완료 사실을 로컬 클라이언트(120)에게 통지할 수 있다. 또한 이 때 로컬 서버(110)는 영상 처리, 영상의 다운로드 등의 작업을 일시 정지하고 로컬 클라이언트(120)의 사용자에게 원격지 서버(100)로부터 로컬 서버(110)로 데이터 제공 및 연산의 주체를 전환할 것임을 알리거나 전환 여부를 사용자에게 문의할 수 것을 로컬 클라이언트(120)에 요청할 수 있다. 로컬 클라이언트(120)는 데이터 제공 및 연산의 주체의 전환을 알리거나 전환 여부를 사용자에게 문의할 수 있는 사용자 메뉴를 단말기 화면(121) 상에 디스플레이할 수 있다.
로컬 클라이언트(120)가 사용자 메뉴를 통하여 사용자 입력을 대기하는 동안 로컬 서버(110)는 원격지 서버(100)의 화면의 구성 또는 화면의 상태 정보를 저장한 작업환경정보(103)를 데이터 링크 C를 경유하여 다운로드할 수 있다.
로컬 서버(110)의 작업환경정보(103)의 다운로드가 완료되면, 로컬 서버(110)는 영상 데이터(101) 또는 결과 데이터(102)의 처리 및 가공에 작업환경정보(103)를 적용할 수 있다. 이후 로컬 서버(110)는 자동으로, 또는 로컬 클라이언트(120)가 제공한 사용자 메뉴에 대한 사용자 입력에 응답하여 데이터 제공 및 연산의 주체를 전환할 수 있다.
도 1에서는 설명의 편의상 로컬 컴퓨터(20) 내에 하나의 로컬 클라이언트(120)와 하나의 로컬 서버(110)가 존재하는 경우가 도시되었으나, 본 발명의 다른 실시예에 따라서는 로컬 컴퓨터(20) 또한 복수의 프로세서를 포함하는 소규모 네트워크일 수 있다. 즉, 이 경우에는 로컬 컴퓨터(20) 내에 복수의 로컬 클라이언트(120)가 존재할 수 있다. 이 때 로컬 서버(110)가 가지는 컴퓨팅 리소스가 고려되어 로컬 서버(110)가 모든 로컬 클라이언트(120)의 데이터 제공 및 연산을 분담할 지, 일부의 로컬 클라이언트(120)에 대해서만 데이터 제공 및 연산을 분담하거나 로컬 클라이언트(120)의 데이터 제공 및 연산 중 일부를 분담할 지가 결정될 수 있다. 이 같은 과정은 통상의 로드 밸런싱 기법을 적용하여 실행될 수 있다.
본 발명은 특히 원격지 서버(100)와 로컬 클라이언트(120) 사이에 전송되는 데이터를 로컬 서버(110)가 중계하는 기술에 관한 것이며, 이하에서는 로컬 서버(110)의 구성 및 기능에 대한 보다 다양한 실시예들을 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 로컬 서버 장치를 나타낸 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 로컬 서버 장치(200)는 데이터베이스(210) 및 프로세서(220)를 포함할 수 있으며, 프로세서(220)는 데이터 요청부(230), 데이터 수신부(240), 영상 처리부(250) 및 데이터 전송부(260)를 포함할 수 있다.
프로세서(220)는 원격지 서버(100)로 영상 데이터를 요청하고, 영상 데이터를 다운로드하며, 데이터베이스(210)에는 원격지 서버(remote server, 100)로부터 다운로드된 영상 데이터가 저장된다.
데이터 요청부(230)는 로컬 클라이언트(local client, 120)가 상기 원격지 서버(100)로 요청하는 제1 결과 데이터에 대응하는 영상 데이터를 상기 원격지 서버(100)로 요청한다.
이때, 영상 데이터는 원격지 서버(100)에 저장된 원본 영상 데이터를 의미하는 것으로서, 실시예에 따라서는 CT, MR 등과 같이 뷰어에서 로딩하여 사용하는 3차원 의료영상 데이터의 원본 영상일 수 있다.
또한, 결과 데이터는 로컬 클라이언트(120)의 화면에 디스플레이될 데이터, 즉 영상 데이터를 처리한 결과 데이터를 의미하는 것으로서, 영상 데이터(즉, 원본 영상) 이외의 데이터를 의미한다. 예를 들어, 결과 데이터는 3차원 볼륨 렌더링 영상, 곡면 재구성 영상(CPR, Curved Planar Reformatted), MPR(Multi-planar reformatted) 영상, Axial 영상, Sagittal 영상, Coronal 영상 등일 수 있으며, 또한, 영상 세그멘테이션 결과, 영상 정합(registration) 결과, 측정(길이, 면적 또는 부피), 분석 또는 진단 결과일 수 있다. 또 다른 실시예로는 결과 데이터는 영상 세그멘테이션으로 인한 Mask 데이터, 영상 데이터에 대한 label 또는 이전의 결과 데이터에 대한 label 등의 데이터일 수 있다. 제1 결과 데이터는 원격지 서버(100)로부터 로컬 클라이언트(120)에 전송되는 결과 데이터를 의미한다. 설명의 편의상 이후에 본 명세서에서 기술되는 제1 결과 데이터는 원격지 서버(100)에서 처리된 결과 데이터(102)로 가정한다.
데이터 수신부(240)는 데이터 요청부(230)에서 요청한 영상 데이터를 상기 원격지 서버(100)로부터 다운로드한다. 이때, 데이터 수신부(240)는 제1 결과 데이터를 로컬 클라이언트(120)가 원격지 서버(100)로부터 수신하는 동안 원격지 서버(100)로부터 영상 데이터를 백그라운드 환경에서 다운로드할 수 있다.
또한, 데이터 수신부(240)는 영상 데이터 및 제1 결과 데이터를 함께 상기 원격지 서버(100)로부터 다운로드할 수 있다.
또한, 데이터 수신부(240)는 영상 데이터와 함께 원격지 서버(100)의 작업환경정보(103)를 다운로드할 수 있다.
이때, 작업환경정보(103)는 현재 화면의 구성, 상태 등의 작업환경을 매끄럽게(seamless) 유지하기 위한 정보들로서, 레이아웃(layout)의 구성 정보, 상기 레이아웃 내의 각 화면의 렌더링 설정 정보, 확대 또는 축소 등의 상태 정보, 영상의 디스플레이 상태에 관한 설정 정보(예를 들어, overlay on/off, 윈도윙 정보 등) 등일 수 있으며, 데이터 수신부(240)는 상기와 같은 정보들 중 적어도 하나를 작업환경정보(103)로써 다운로드할 수 있다.
또한, 작업환경정보(103)는 로컬 서버(200)가 영상 데이터로부터 새로운 결과 데이터를 생성함에 있어서, 원격지 서버(100)가 생성한 결과 데이터와 동일성을 유지할 수 있도록 하는, 영상 데이터로부터 결과 데이터의 생성 과정 전반에 걸친 환경 정보를 포함할 수 있다
영상 처리부(250)는 데이터 수신부(240)에서 다운로드된 영상 데이터에 기반하여 제2 결과 데이터를 생성한다. 이때, 상기 제2 결과 데이터는 로컬 서버(200)가 원격지 서버(100)를 대신하여 로컬에서 처리하여 생성하는 결과 데이터를 의미한다. 즉, 원격지 서버(100)에서 처리된 데이터는 제1 결과 데이터라 하고, 원격지 서버(100)를 대신하여 로컬 서버(200)에서 처리된 데이터를 제2 결과 데이터라 할 수 있다.
이때, 영상 처리부(250)는 제2 결과 데이터를 생성하기 위하여 영상 볼륨 렌더링 등을 수행할 수 있다. 또한 영상 처리부(250)는 영상 세그멘테이션, 영상 세그멘테이션된 각 영역의 길이, 면적, 부피 등의 측정 결과를 생성할 수 있다.
또한, 영상 처리부(250)는 다운로드된 상기 원격지 서버(100)의 상기 작업환경정보를 적용하여 상기 제2 결과 데이터를 생성할 수 있다. 이 때 영상 처리부(250)는 제2 결과 데이터의 특성에 따라 작업환경정보를 적응적으로 적용할 수 있다.
또한, 영상 처리부(250)는 상기 로컬 클라이언트(120)가 상기 영상 데이터에 대응하는 상기 제2 결과 데이터를 상기 원격지 서버(100)로 요청한 경우, 상기 영상 데이터에 기반하여 상기 제2 결과 데이터를 생성할 수 있다. 즉, 영상 처리부(250)는 데이터 수신부(240)에서 다운로드가 완료된 후, 새로운 결과 데이터 요청이 있을 때, 로컬 서버(200)가 원격지 서버(100)를 대신하여 결과 데이터를 생성할 수 있다.
또한, 영상 처리부(250)는 상기 영상 데이터, 상기 제1 결과 데이터 및 영상 처리 워크플로우에 기반하여 상기 제2 결과 데이터를 생성할 수도 있다. 즉, 영상 처리부(250)는 데이터 수신부(240)에서 다운로드가 완료된 후, 새로운 결과 데이터 요청이 있기 전이라도 워크플로우 상 생성할 필요가 있는 결과 데이터를 로컬 서버(200)가 원격지 서버(100)를 대신하여 생성할 수 있다.
데이터 전송부(260)는 로컬 클라이언트(120)가 상기 영상 데이터에 대응하는 제2 결과 데이터를 상기 원격지 서버(100)로 요청한 경우, 상기 제2 결과 데이터를 상기 로컬 클라이언트(120)로 제공한다.
또한, 데이터 전송부(260)는 제2 결과 데이터를 상기 원격지 서버(100)로 업로드할 수 있다. 즉, 로컬 서버(200)에서 변경된 결과 데이터는 원격지 서버(100)로 업로드됨으로써, 원격지 서버(100)의 결과 데이터가 업데이트 또는 동기화 될 수 있다.
또한, 로컬 클라이언트(120)의 화면(121) 상에서 디스플레이된 영상 데이터를 종료하거나, 다른 영상을 로딩하는 등의 입력이 발생한 경우, 로컬 서버(110)에서 변경된 결과 데이터 뿐만 아니라 로컬 서버(110)의 현재 작업환경정보를 원격지 서버(100)에 업로드할 수 있다. 이때, 원격지 서버(100)의 기존 작업환경정보가 현재 작업환경정보로 대체될 수도 있고, 또는 타임 스탬프(time stamp)를 부가하여 이후 접속 시 최신 정보를 적용할 수 있도록 할 수 있다. 타임 스탬프가 부가된 작업환경정보들은 통상의 버전 관리 또는 버전 제어 기법이 적용되어 관리될 수 있다. 일반적으로는 최신의 타임 스탬프가 부가된 작업환경정보가 최신의 업데이트 정보로서 적용되겠지만, 로컬 클라이언트(120)의 사용자의 선택 또는 운영 체제(O/S)의 결정에 따라서 특정 버전의 작업환경정보가 기준 업데이트 정보로서 적용될 수도 있다.
설명의 편의 상 동일한 영상 데이터에 대하여 원격지 서버(100)에서 생성된 제1 결과 데이터와 로컬 서버(110)에서 생성된 제2 결과 데이터를 구분하여 도시하였다. 다만 로컬 서버(110)가 원격지 서버(100)를 대체하여 영상 데이터에 대한 연산 및 처리를 분담하도록 전환된 이후에는, 로컬 서버(110)가 원격지 서버(100)에 의하여 생성된 제1 결과 데이터를 저장해 두었다가 로컬 클라이언트(120)의 요청에 응답하여 로컬 클라이언트(120)로 제공할 수도 있다. 제1 결과 데이터는 원격지 서버(100)로부터 로컬 서버(110)로 영상 데이터가 다운로드될 때에 함께 다운로드될 수도 있고, 그 이후에 로컬 서버(110)로 순차적으로 다운로드될 수도 있다.
로컬 클라이언트(120)는 결과 데이터를 요청할 때에는 결과 데이터가 로컬 서버(110)에서 생성될 지, 원격지 서버(100)에서 생성될 지를 알지 못하는 채로 결과 데이터를 요청한다. 로컬 서버(110)로 연산 및 처리의 주체가 전환되기 이전까지 로컬 클라이언트(120)가 요청한 결과 데이터는 제1 결과 데이터이고, 연산 및 처리의 주체가 전환된 이후에 로컬 클라이언트(120)가 요청한 결과 데이터는 제2 결과 데이터로 해석할 수도 있다.
도 3은 본 발명의 다른 일 실시예에 따른 로컬 서버 장치를 나타낸 블록도이다.
도 3을 참조하면, 본 발명의 다른 실시예에 따른 로컬 서버 장치(300)는 데이터베이스(310) 및 프로세서(320)를 포함할 수 있으며, 프로세서(320)는 데이터 요청부(330), 데이터 수신부(340), 영상 처리부(350), 데이터 전송부(360) 및 이벤트 제어부(370)를 포함할 수 있다.
이때, 데이터베이스(310), 프로세서(320), 데이터 요청부(330), 데이터 수신부(340), 영상 처리부(350), 데이터 전송부(360)는 도 2에 도시된 데이터베이스(210), 프로세서(220), 데이터 요청부(230), 데이터 수신부(240), 영상 처리부(250), 데이터 전송부(260)와 동일하므로, 이하 중복되는 설명은 생략하기로 한다.
본 발명의 다른 실시예에 따른 로컬 서버 장치(300)는 이벤트 제어부(370)를 더 포함할 수 있다.
이벤트 제어부(370)는 상기 영상 데이터의 다운로드가 완료되면, 상기 로컬 클라이언트(120)의 사용자에게 상기 원격지 서버(100)의 상기 영상 데이터의 처리 기능을 상기 로컬 서버(300)로 전환하는 이벤트에 관한 사용자 메뉴를 제공하도록 상기 로컬 클라이언트(120)를 제어한다. 즉, 이벤트 제어부(370)를 통해, 본 발명의 프로세서는 원격지 서버(100)의 영상 데이터의 처리 기능을 로컬 서버(300)로 전환하는 확인 메뉴를 로컬 클라이언트(120)의 사용자에게 제공할 수 있다. 이는 일예로, 로컬 클라이언트(120)의 화면 상에는 로컬 서버(300)로의 전환 여부에 대한 팝업 메시지가 디스플레이될 수 있다.
이와 동시에, 본 발명의 프로세서(220)는 씬 클라이언트(Thin Client) 환경에서 씩 클라이언트(Thick Client) 환경으로 매끄럽게(seamless) 자동으로 전환할 수 있다.
이하에서는 상기에 자세히 설명된 내용을 기반으로, 본 발명의 동작 흐름도를 간단히 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 로컬 서버의 데이터 중계 방법에 대한 동작 흐름도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 로컬 서버의 데이터 중계 방법은 우선, 로컬 서버(local server, 200)의 데이터 요청부(230)가, 로컬 클라이언트(local client, 120)가 원격지 서버(remote server, 100)로 요청하는 제1 결과 데이터에 대응하는 영상 데이터를 상기 원격지 서버(100)로 요청한다(S410).
이때, 영상 데이터는 원격지 서버(100)에 저장된 원본 영상 데이터를 의미하며, 제1 결과 데이터는 원격지 서버(100)에서 처리된 결과 데이터로서, 로컬 클라이언트(120)의 화면에 디스플레이될 데이터, 즉 영상 데이터를 처리한 결과 데이터를 의미한다.
다음으로, 데이터 수신부(240)는 데이터 요청부(230)에서 요청한 영상 데이터를 상기 원격지 서버(100)로부터 다운로드한다(S420).
이때, 데이터 수신부(240)는 제1 결과 데이터를 로컬 클라이언트(120)가 원격지 서버(100)로부터 수신하는 동안 백그라운드로 실행한다. 또한, 단계S420에서 데이터 수신부(240)는 영상 데이터와 함께 제1 결과 데이터 또는 작업환경정보를 원격지 서버(100)로부터 다운로드할 수 있다. 이에 대한 설명은 상기에 자세히 설명했으므로 이하 생략하기로 한다.
다음으로, 영상 처리부(250)는 데이터 수신부(240)에서 다운로드된 영상 데이터에 기반하여 제2 결과 데이터를 생성한다(S430).
이때, 상기 제2 결과 데이터는 로컬 서버(200)가 원격지 서버(100)를 대신하여 로컬에서 처리하여 생성하는 결과 데이터를 의미한다. 즉, 원격지 서버(100)에서 처리된 데이터는 제1 결과 데이터라 하고, 원격지 서버(100)를 대신하여 로컬 서버(200)에서 처리된 데이터를 제2 결과 데이터라 할 수 있다.
그리고, 단계S430에서 영상 처리부(250)는 제2 결과 데이터를 생성하기 위하여 영상 볼륨 렌더링 등을 수행할 수 있다.
다음으로, 데이터 전송부(260)는 로컬 클라이언트(120)가 상기 영상 데이터에 대응하는 제2 결과 데이터를 상기 원격지 서버(100)로 요청한 경우, 상기 제2 결과 데이터를 상기 로컬 클라이언트(120)로 제공한다(S440).
이때, 단계S440에서 데이터 전송부(260)는 제2 결과 데이터를 상기 원격지 서버(100)로 업로드할 수 있다. 즉, 로컬 서버(200)에서 변경된 결과 데이터는 원격지 서버(100)로 업로드됨으로써, 원격지 서버(100)의 결과 데이터가 업데이트 또는 동기화 될 수 있다.
도 5는 본 발명의 다른 일 실시예에 따른 로컬 서버의 데이터 중계 방법으로서, 도 4와 구분되는 단계를 상세히 도시한 동작 흐름도이다.
도 5를 참조하면, 도 4에서 단계S420 이후에, 이벤트 제어부(370)는 상기 영상 데이터의 다운로드가 완료되면, 상기 로컬 클라이언트(120)의 사용자에게 상기 원격지 서버(100)의 상기 영상 데이터의 처리 기능을 상기 로컬 서버(300)로 전환하는 이벤트에 관한 사용자 메뉴를 제공하도록 상기 로컬 클라이언트(120)를 제어할 수 있다(S421).
즉 단계S421를 통해, 본 발명의 프로세서는 원격지 서버(100)의 영상 데이터의 처리 기능을 로컬 서버(300)로 전환하는 확인 메뉴를 로컬 클라이언트(120)의 사용자에게 제공할 수 있다. 일예로, 상기 확인 메뉴로서, 로컬 클라이언트(120)의 화면 상에는 로컬 서버(300)로의 전환 여부에 대한 팝업 메시지가 디스플레이될 수 있다.
다음으로, 단계S421 이후에는 도 4의 단계S430 내지 단계S440이 수행될 수 있다.
본 발명의 일 실시 예에 따른 로컬 서버의 데이터 중계 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100: 원격지 서버 120: 로컬 클라이언트
110, 200, 300: 로컬 서버 210, 310: 데이터베이스:
220, 320: 프로세서 230, 330: 데이터 요청부
240, 340: 데이터 수신부 250, 350: 영상 처리부
260, 360: 데이터 전송부 370: 이벤트 제어부

Claims (18)

  1. 로컬 서버(local server)가, 로컬 클라이언트(local client)가 원격지 서버(remote server)로 요청하는 제1 결과 데이터에 대응하는 영상 데이터를 상기 원격지 서버로 요청하는 단계;
    상기 로컬 서버가 상기 영상 데이터를 상기 원격지 서버로부터 다운로드하는 단계;
    상기 로컬 서버가 상기 다운로드된 상기 영상 데이터에 기반하여 제2 결과 데이터를 생성하는 단계; 및
    상기 로컬 클라이언트가 상기 영상 데이터에 대응하는 상기 제2 결과 데이터를 상기 원격지 서버로 요청한 경우, 상기 로컬 서버가 상기 원격지 서버를 대신하여 매끄럽게(seamless) 상기 제2 결과 데이터를 상기 로컬 클라이언트로 제공하는 단계;
    를 포함하고,
    상기 제1 결과 데이터는 상기 원격지 서버에서 실행된 상기 영상 데이터에 대한 제1 영상 처리의 실행 결과로 얻어지는 결과 데이터이며, 상기 제2 결과 데이터는 상기 로컬 서버에서 실행된 상기 영상 데이터에 대한 제2 영상 처리의 실행 결과로 얻어지는 결과 데이터인 로컬 서버의 데이터 중계 방법.
  2. 제1항에 있어서,
    상기 원격지 서버로부터 다운로드하는 단계는
    상기 제1 결과 데이터를 상기 로컬 클라이언트가 상기 원격지 서버로부터 수신하는 동안 백그라운드로 실행하는 것을 특징으로 하는 로컬 서버의 데이터 중계 방법.
  3. 제1항에 있어서,
    상기 원격지 서버로부터 다운로드하는 단계는
    상기 영상 데이터 및 상기 제1 결과 데이터를 함께 상기 원격지 서버로부터 다운로드하는 것을 특징으로 하는 로컬 서버의 데이터 중계 방법.
  4. 제1항에 있어서,
    상기 원격지 서버로부터 다운로드하는 단계는
    상기 영상 데이터와 함께 상기 원격지 서버의 작업환경정보를 다운로드하는 것을 특징으로 하는 로컬 서버의 데이터 중계 방법.
  5. 제4항에 있어서,
    상기 제2 결과 데이터를 생성하는 단계는
    상기 다운로드된 상기 원격지 서버의 상기 작업환경정보를 적용하여 상기 제2 결과 데이터를 생성하는 것을 특징으로 하는 로컬 서버의 데이터 중계 방법.
  6. 제4항에 있어서,
    상기 원격지 서버로부터 다운로드하는 단계는
    상기 작업환경정보로서, 레이아웃(layout)의 구성 정보, 상기 레이아웃 내의 각 화면의 렌더링 설정 정보, 디스플레이 상태에 관한 설정 정보 중 적어도 하나를 다운로드하는 것을 특징으로 하는 로컬 서버의 데이터 중계 방법.
  7. 제1항에 있어서,
    상기 제2 결과 데이터를 생성하는 단계는
    상기 로컬 클라이언트가 상기 영상 데이터에 대응하는 상기 제2 결과 데이터를 상기 원격지 서버로 요청한 경우, 상기 영상 데이터에 기반하여 상기 제2 결과 데이터를 생성하는 것을 특징으로 하는 로컬 서버의 데이터 중계 방법.
  8. 제1항에 있어서,
    상기 제2 결과 데이터를 생성하는 단계는
    상기 영상 데이터, 상기 제1 결과 데이터 및 영상 처리 워크플로우에 기반하여 상기 제2 결과 데이터를 생성하는 것을 특징으로 하는 로컬 서버의 데이터 중계 방법.
  9. 제1항에 있어서,
    상기 영상 데이터의 다운로드가 완료되면, 상기 로컬 클라이언트의 사용자에게 상기 원격지 서버의 상기 영상 데이터의 처리 기능을 상기 로컬 서버로 전환하는 이벤트에 관한 사용자 메뉴를 제공하도록 상기 로컬 서버가 상기 로컬 클라이언트를 제어하는 단계;
    를 더 포함하는 로컬 서버의 데이터 중계 방법.
  10. 제1항에 있어서,
    상기 로컬 서버가 상기 제2 결과 데이터를 상기 원격지 서버로 업로드하는 단계;
    를 더 포함하는 로컬 서버의 데이터 중계 방법.
  11. 원격지 서버(remote server)로부터 다운로드된 영상 데이터를 저장하는 데이터베이스; 및
    상기 원격지 서버로 상기 영상 데이터를 요청하고 상기 영상 데이터를 다운로드하는 프로세서;
    를 포함하고, 상기 프로세서는
    로컬 클라이언트(local client)가 상기 원격지 서버로 요청하는 제1 결과 데이터에 대응하는 제1 영상 데이터를 상기 원격지 서버로 요청하는 데이터 요청부;
    상기 제1 영상 데이터를 상기 원격지 서버로부터 다운로드하는 데이터 수신부;
    상기 다운로드된 상기 제1 영상 데이터에 기반하여 제2 결과 데이터를 생성하는 영상 처리부; 및
    상기 로컬 클라이언트가 상기 제1 영상 데이터에 대응하는 상기 제2 결과 데이터를 상기 원격지 서버로 요청한 경우, 상기 제2 결과 데이터를 상기 원격지 서버를 대신하여 매끄럽게(seamless) 상기 로컬 클라이언트로 제공하는 데이터 전송부;
    를 포함하고,
    상기 제1 결과 데이터는 상기 원격지 서버에서 실행된 상기 제1 영상 데이터에 대한 제1 영상 처리의 실행 결과로 얻어지는 결과 데이터이며, 상기 제2 결과 데이터는 로컬 서버에서 실행된 상기 제1 영상 데이터에 대한 제2 영상 처리의 실행 결과로 얻어지는 결과 데이터인 것을 특징으로 하는 로컬 서버 장치.
  12. 제11항에 있어서,
    상기 데이터 수신부는
    상기 제1 결과 데이터를 상기 로컬 클라이언트가 상기 원격지 서버로부터 수신하는 동안 백그라운드로 실행하는 것을 특징으로 하는 로컬 서버 장치.
  13. 제11항에 있어서,
    상기 데이터 수신부는
    상기 제1 영상 데이터와 함께 상기 원격지 서버의 작업환경정보를 다운로드하는 것을 특징으로 하는 로컬 서버 장치.
  14. 제11항에 있어서,
    상기 영상 처리부는
    상기 로컬 클라이언트가 상기 제1 영상 데이터에 대응하는 상기 제2 결과 데이터를 상기 원격지 서버로 요청한 경우, 상기 제1 영상 데이터에 기반하여 상기 제2 결과 데이터를 생성하는 것을 특징으로 하는 로컬 서버 장치.
  15. 제11항에 있어서,
    상기 영상 처리부는
    상기 제1 영상 데이터, 상기 제1 결과 데이터 및 영상 처리 워크플로우에 기반하여 상기 제2 결과 데이터를 생성하는 것을 특징으로 하는 로컬 서버 장치.
  16. 제11항에 있어서,
    상기 제1 영상 데이터의 다운로드가 완료되면, 상기 로컬 클라이언트의 사용자에게 상기 원격지 서버의 상기 제1 영상 데이터의 처리 기능을 상기 로컬 서버로 전환하는 이벤트에 관한 사용자 메뉴를 제공하도록 상기 로컬 클라이언트를 제어하는 이벤트 제어부;
    를 더 포함하는 로컬 서버 장치.
  17. 제11항에 있어서,
    상기 데이터 전송부는
    상기 제2 결과 데이터를 상기 원격지 서버로 업로드하는 것을 특징으로 하는 로컬 서버 장치.
  18. 제1항 내지 제10항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.
KR1020150076492A 2015-05-29 2015-05-29 로컬 서버 장치 및 그의 데이터 중계 방법 KR101705197B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150076492A KR101705197B1 (ko) 2015-05-29 2015-05-29 로컬 서버 장치 및 그의 데이터 중계 방법
US15/168,857 US10404819B2 (en) 2015-05-29 2016-05-31 Local server system and method of relaying data in the same for switching between thin client environment and thick client environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150076492A KR101705197B1 (ko) 2015-05-29 2015-05-29 로컬 서버 장치 및 그의 데이터 중계 방법

Publications (2)

Publication Number Publication Date
KR20160140190A KR20160140190A (ko) 2016-12-07
KR101705197B1 true KR101705197B1 (ko) 2017-02-22

Family

ID=57397274

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150076492A KR101705197B1 (ko) 2015-05-29 2015-05-29 로컬 서버 장치 및 그의 데이터 중계 방법

Country Status (2)

Country Link
US (1) US10404819B2 (ko)
KR (1) KR101705197B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11632418B2 (en) 2021-05-28 2023-04-18 Samsung Sds Co., Ltd. Method and apparatus for managing access to file stored in a remote location

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10855764B2 (en) * 2017-02-16 2020-12-01 Konica Minolta Healthcare Americas, Inc. Multi-location exchange of medical images and data
CN108256006B (zh) * 2018-01-02 2021-01-01 武汉斗鱼网络科技有限公司 一种直播间徽章图片加载方法及系统
CN111090818B (zh) * 2018-10-23 2024-04-19 广州虎牙信息科技有限公司 资源管理方法、资源管理系统、服务器及计算机存储介质
CN111768374B (zh) * 2020-06-22 2023-02-10 绍兴文理学院附属医院 一种肺部图像辅助呈现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100490401B1 (ko) 2002-03-26 2005-05-17 삼성전자주식회사 TC(Thin-Client)환경에서 영상 처리 장치 및 방법
KR100763757B1 (ko) 2006-03-29 2007-10-04 주식회사 케이티 부하 분산에 따른 원격의료 시스템 및 그 서비스 제공 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001018664A1 (en) 1999-09-08 2001-03-15 Freedesk.Com, Inc. System and method of permissive data flow and application transfer
US7089553B1 (en) * 2000-10-12 2006-08-08 International Business Machines Corporation Method, system, computer program product, and article of manufacture for downloading a remote computer program according to a stored configuration
KR100422679B1 (ko) 2000-12-18 2004-03-12 주식회사 파인디지털 혼합 컨텐츠 서버-클라이언트 시스템
US20020156650A1 (en) * 2001-02-17 2002-10-24 Klein Michael V. Secure distribution of digital healthcare data using an offsite internet file server
WO2005074808A1 (ja) * 2004-02-03 2005-08-18 Matsushita Electric Industrial Co., Ltd. 遠隔超音波診断被検体側装置、遠隔超音波診断診察者側装置、および遠隔超音波診断システム
KR20050093420A (ko) * 2004-03-19 2005-09-23 (주)미디어에스아이 인터넷을 이용한 방송 시스템 및 방법
JP2009009330A (ja) 2007-06-27 2009-01-15 Fujitsu Ltd 情報処理装置、情報処理システム及び情報処理装置の制御方法
CN101364979B (zh) * 2007-08-10 2011-12-21 鸿富锦精密工业(深圳)有限公司 下载资料解析及处理系统及方法
US20100281138A1 (en) * 2009-04-29 2010-11-04 Paulo Lerner Froimtchuk Method and system for remote coprocessor
JP6008968B2 (ja) * 2011-09-12 2016-10-19 エスシーエー アイピーエルエー ホールディングス インコーポレイテッド 通信端末及び方法
US9119035B2 (en) 2012-05-22 2015-08-25 Cisco Technology, Inc. Location-based power management for virtual desktop environments
US9736262B2 (en) * 2012-07-31 2017-08-15 Apple Inc. Using groups of user accounts to deliver content to electronic devices using local caching servers
US8972990B2 (en) 2012-08-29 2015-03-03 International Business Machines Corporation Providing a seamless transition for resizing virtual machines from a development environment to a production environment
KR101877034B1 (ko) 2012-10-19 2018-08-09 한국전자통신연구원 멀티비전 가상화 시스템 및 가상화 서비스 제공 방법
US9118947B2 (en) 2012-10-19 2015-08-25 Electronics And Telecommunications Research Institute Multi-vision virtualization system and method
US9094481B2 (en) * 2013-04-15 2015-07-28 Seven Networks, Inc. Adaptive downloading or streaming to conserve mobile device or network resources
US20140344945A1 (en) * 2013-05-15 2014-11-20 Broadcom Corporation Thin-Client Embedded Secure Element
US20150172416A1 (en) * 2013-12-13 2015-06-18 Shuteit, LLC Download redirection method and system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100490401B1 (ko) 2002-03-26 2005-05-17 삼성전자주식회사 TC(Thin-Client)환경에서 영상 처리 장치 및 방법
KR100763757B1 (ko) 2006-03-29 2007-10-04 주식회사 케이티 부하 분산에 따른 원격의료 시스템 및 그 서비스 제공 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11632418B2 (en) 2021-05-28 2023-04-18 Samsung Sds Co., Ltd. Method and apparatus for managing access to file stored in a remote location

Also Published As

Publication number Publication date
US20160352868A1 (en) 2016-12-01
US10404819B2 (en) 2019-09-03
KR20160140190A (ko) 2016-12-07

Similar Documents

Publication Publication Date Title
KR101705197B1 (ko) 로컬 서버 장치 및 그의 데이터 중계 방법
CN109240677B (zh) 一种图层处理方法及装置
EP2875425B1 (en) Providing access to a remote application via a web client
US20200311617A1 (en) Packaging and deploying algorithms for flexible machine learning
US20140143305A1 (en) Apparatus and system for providing software service using software virtualization and method thereof
US10621019B1 (en) Using a client to manage remote machine learning jobs
EP2649533B1 (en) Methods and systems for facilitating a remote desktop session utilizing long polling
US20130073600A1 (en) Remote process execution management
EP3049955A1 (en) Application context migration framework and protocol
US20130073601A1 (en) Remote process execution management
US20140198112A1 (en) Method of controlling information processing apparatus and information processing apparatus
KR20140027741A (ko) 응용 서비스 제공 시스템 및 방법, 응용 서비스를 위한 서버 장치 및 클라이언트 장치
JP2015180991A (ja) 画像形成装置、画像形成装置の制御方法およびプログラム
KR20160141736A (ko) 데이터 뷰 노출 메커니즘
US10296713B2 (en) Method and system for reviewing medical study data
CN114581580A (zh) 渲染图像的方法、装置、存储介质及电子设备
US9501303B1 (en) Systems and methods for managing computing resources
CN116954824A (zh) 一种支持多种扩展现实 (xr) 技术规范应用程序与2d应用程序多进程混合运行的运行时系统、数据交互方法、设备及介质
US20130339871A1 (en) Software Application Abstraction System and Method
CN113254825A (zh) 页面生成的方法、装置、电子设备和存储介质
CN107846448B (zh) 数据服务提供装置及实现方法
JP2019160082A (ja) システムおよびシステムにおける方法
US11785111B2 (en) Managing inter-service communication
US11829791B2 (en) Providing device abstractions to applications inside a virtual machine
EP3185155A1 (en) Method and system for reviewing medical study data

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

Year of fee payment: 6