KR101711409B1 - 다양한 os 환경을 기반으로 하는 어플리케이션 가상화 시스템 및 방법 - Google Patents

다양한 os 환경을 기반으로 하는 어플리케이션 가상화 시스템 및 방법 Download PDF

Info

Publication number
KR101711409B1
KR101711409B1 KR1020150129596A KR20150129596A KR101711409B1 KR 101711409 B1 KR101711409 B1 KR 101711409B1 KR 1020150129596 A KR1020150129596 A KR 1020150129596A KR 20150129596 A KR20150129596 A KR 20150129596A KR 101711409 B1 KR101711409 B1 KR 101711409B1
Authority
KR
South Korea
Prior art keywords
user
terminal
information
application
server
Prior art date
Application number
KR1020150129596A
Other languages
English (en)
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 KR1020150129596A priority Critical patent/KR101711409B1/ko
Application granted granted Critical
Publication of KR101711409B1 publication Critical patent/KR101711409B1/ko

Links

Images

Classifications

    • H04L67/327
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 일 실시예에 따른 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템은 세션 서버에서 단말기의 사용자 인증이 정상적으로 이루어진 경우, 상기 세션 서버로부터 사용자 정보를 수신하여 상기 사용자 별로 서버 공간을 할당하고 상기 각 서버 공간 내에 상기 사용자 정보를 저장하는 관리부; 상기 세션 서버에 의해 상기 단말기와의 원격 접속을 수행하는 세션부; 및 상기 단말기에서 어플리케이션이 실행되도록, 상기 사용자 정보에 기초한 가상 네트워크 컴퓨팅(VNC)을 통해 생성된 어플리케이션 이미지 정보를 상기 단말기로 실시간 전송하는 전송부를 포함한다.

Description

다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템 및 방법{SYSTEM AND METHOD FOR APPLICATION VIRTUALIZATION BASED ON MULTI OPERATING SYSTEM ENVIRONMENT}
본 발명의 실시예들은 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템 및 방법에 관한 것이다.
급변하는 디지털 디바이스 시장 환경 속에서 차세대 컴퓨팅 기술로 가상화 기술이 주목 받고 있다. 컴퓨팅 기술에서의 가상화는 물리적인 한 개의 자원을 논리적으로 분할하여 사용하거나, 물리적으로 다른 여러 개의 자원을 논리적으로 통합하는 기술로 정의할 수 있다.
가상화 기술을 분류하여 보면, 기술의 위치에 따라 하드웨어 가상화, 운영체제 가상화, 어플리케이션 가상화 등 단계적으로 분류할 수 있다.
근래에, 기존의 데이터 센터의 서버에 적용하던 가상화 기술이 어플리케이션 가상화, 프리젠테이션 가상화 등 기존 가상화 기술을 활용하여 진화된 가상화 기술들로 사용자들에게 활성화되고 있다.
그런데, 이러한 어플리케이션 가상화가 수행될 수 있는 서버 또는 단말 내에서, 적용되는 운영체제에 따라 상당한 제약이 뒤따르고 있다. 즉, 어플리케이션 가상화를 수행하기 위해서는 연결된 서버 또는 단말 간의 운영체제가 동일해야 한다는 문제점이 있어왔다.
따라서, 운영체제의 종류에 구애 받지 않고, 어플리케이션 가상화 환경을 구현할 수 있는 기술의 개발이 필요한 실정이다.
관련 선행기술로는 대한민국 공개특허공보 제10-2005-0055770호(발명의 명칭 : 가상 네트워크들을 형성하기 위한 장치, 방법, 및 컴퓨터 프로그램 제품, 공개일자: 2005년 6월 13일)가 있다.
본 발명의 일 실시예는 어플리케이션 서버에서 가상 네트워크 컴퓨팅을 통해 생성된 어플리케이션 이미지 정보를 단말기로 실시간 전송함으로써, 서로 다른 운영체제에서 구동되는 프로그램을 사용할 수 있는 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템 및 방법을 제공한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템은 세션 서버에서 단말기의 사용자 인증이 정상적으로 이루어진 경우, 상기 세션 서버로부터 사용자 정보를 수신하여 상기 사용자 별로 서버 공간을 할당하고 상기 각 서버 공간 내에 상기 사용자 정보를 저장하는 관리부; 상기 세션 서버에 의해 상기 단말기와의 원격 접속을 수행하는 세션부; 및 상기 단말기에서 어플리케이션이 실행되도록, 상기 사용자 정보에 기초한 가상 네트워크 컴퓨팅(VNC)을 통해 생성된 어플리케이션 이미지 정보를 상기 단말기로 실시간 전송하는 전송부를 포함한다.
상기 가상 네트워크 컴퓨팅은 논리적 망분리(VDI)를 통한 스트리밍 방식을 통해 수행될 수 있다.
상기 사용자 정보는 상기 사용자의 단말기 접속 정보, 상기 단말기의 버전 정보, 상기 단말기의 운영체제 정보, 상기 단말기에 할당된 메모리 정보, 상기 사용자의 어플리케이션 요청 정보 중 적어도 하나를 포함할 수 있다.
상기 사용자 정보는 상기 단말기로부터 수신된 상기 사용자에 의한 키보드 또는 마우스 조작에 따른 키보드 정보 또는 마우스 정보를 더 포함할 수 있다.
상기 전송부는 상기 사용자 정보에 따라 갱신되는 상기 어플리케이션 이미지 정보를 초 단위로 나누어 상기 단말기로 전송할 수 있다.
상기 관리부는 상기 사용자 정보를 이용하여, 상기 어플리케이션의 실행 또는 운영에 관한 권한을 상기 사용자 별로 각각 다르게 설정 및 변경할 수 있다.
상기 세션 서버는 상기 사용자 정보를 데이터베이스에 미리 저장된 사용자 정보와 비교하여 상기 단말기의 사용자 인증을 수행하고, 상기 비교 결과에 따라 상기 단말기의 사용자 인증이 정상적으로 이루어지는지 여부를 판단하며, 상기 관리부는 상기 단말기의 사용자 인증이 정상적으로 이루어지는 경우, 상기 단말기의 사용자와 일치하는 사용자 정보를 수신할 수 있다.
본 발명의 일 실시예에 따른 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 방법은 세션 서버에서 단말기의 사용자 인증이 정상적으로 이루어진 경우, 상기 어플리케이션 가상화 시스템에서, 상기 세션 서버로부터 사용자 정보를 수신하여 상기 사용자 별로 서버 공간을 할당하고 상기 각 서버 공간 내에 상기 사용자 정보를 저장하는 단계; 상기 어플리케이션 가상화 시스템에서, 상기 세션 서버에 의해 상기 단말기와의 원격 접속을 수행하는 단계; 및 상기 어플리케이션 가상화 시스템에서, 상기 단말기에서 어플리케이션이 실행되도록, 상기 사용자 정보에 기초한 가상 네트워크 컴퓨팅(VNC)을 통해 생성된 어플리케이션 이미지 정보를 상기 단말기로 실시간 전송하는 단계를 포함한다.
상기 어플리케이션 이미지 정보를 상기 단말기로 실시간 전송하는 단계는 상기 사용자 정보에 따라 갱신되는 상기 어플리케이션 이미지 정보를 초 단위로 나누어 상기 단말기로 전송하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 방법은 상기 어플리케이션 가상화 시스템에서, 상기 사용자 정보를 이용하여, 상기 어플리케이션의 실행 또는 운영에 관한 권한을 상기 사용자 별로 각각 다르게 설정 및 변경하는 단계를 더 포함할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
본 발명의 일 실시예에 따르면, 어플리케이션 서버에서 가상 네트워크 컴퓨팅을 통해 생성된 어플리케이션 이미지 정보를 단말기로 실시간 전송함으로써, 서로 다른 운영체제에서 구동되는 프로그램을 사용할 수 있다.
본 발명의 일 실시예에 따르면, 어플리케이션 서버 및 단말기 간의 어플리케이션 가상화를 통해, 단말기의 운영체제와 상관없이 다양한 운영체제 환경을 기반으로 하는 어플리케이션을 단말기에서 실행시킬 수 있다.
본 발명의 일 실시예에 따르면, 상기 단말기 환경의 특성에 맞는 UI/GUI를 제공 및 유지할 수 있어 사용자의 편의성을 향상시킬 수 있고, 뿐만 아니라, 상기 어플리케이션 설치에 대한 제약이 없기 때문에, 라이센스에 관한 비용을 절감시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템을 설명하기 위해 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템을 설명하기 위해 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 관리부를 설명하기 위하여 도시한 블록도이다.
도 4는 본 발명의 다른 실시예에 따른 전송부를 설명하기 위하여 도시한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 방법을 설명하기 위해 도시한 흐름도이다.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템을 설명하기 위해 도시한 도면이고, 도 2는 본 발명의 일 실시예에 따른 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템을 설명하기 위해 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템(100)은 단말기(110), 세션 서버(120) 및 어플리케이션 서버(130) 간의 네트워크 연결을 통해 구성될 수 있다.
여기서, 상기 어플리케이션 서버(130)는 관리부(132), 세션부(134) 및 전송부(136)를 포함할 수 있다.
상기 관리부(132)는 상기 세션 서버(120)에서 상기 단말기(110)의 사용자 인증이 정상적으로 이루어진 경우, 상기 세션 서버(120)로부터 사용자 정보를 수신한다. 여기서, 상기 사용자 정보는 상기 사용자의 단말기(110) 접속 정보, 상기 단말기(110)의 버전 정보, 상기 단말기(110)의 운영체제 정보, 상기 단말기(110)에 할당된 메모리 정보, 상기 사용자의 어플리케이션 요청 정보 중 적어도 하나를 포함할 수 있다.
구체적으로, 상기 세션 서버(120)는 상기 사용자 정보를 데이터베이스(DB)에 미리 저장된 사용자 정보와 비교하여 상기 단말기(110)의 사용자 인증을 수행할 수 있다.
이를 위해, 상기 세션 서버(120)는 상기 단말기(110)로부터 상기 사용자 정보를 수신할 수 있고, 상기 단말기(110)로부터 수신된 사용자 정보를 상기 데이터베이스에 미리 저장된 사용자 정보와 비교함으로써 상기 단말기(110)의 사용자 인증을 수행할 수 있다.
상기 세션 서버(120)는 상기 비교 결과에 따라 상기 단말기(110)의 사용자 인증이 정상적으로 이루어지는지 여부를 판단할 수 있다. 즉, 상기 사용자 정보와 상기 데이터베이스에 미리 저장된 사용자 정보가 일치하는 경우, 상기 단말기(110)의 사용자 인증이 정상적으로 이루어질 수 있다.
상기 관리부(132)는 상기 단말기(110)의 사용자 인증이 정상적으로 이루어지는 경우, 상기 단말기(110)와 관련된 사용자 정보를 수신할 수 있다.
상기 관리부(132)는 상기 사용자 별로 서버 공간을 할당하고 상기 각 서버 공간 내에 상기 사용자 정보를 저장한다.
즉, 상기 관리부(132)는 상기 세션 서버(120)로부터 상기 사용자 정보를 수신하고 나면, 상기 수신된 사용자마다 사용 가능한 상기 서버 공간을 배정하고, 상기 배정된 서버 공간에 상기 사용자 정보를 저장할 수 있다.
상기 관리부(132)는 상기 사용자 정보를 이용하여, 상기 어플리케이션의 실행 또는 운영에 관한 권한을 상기 사용자 별로 각각 다르게 설정 및 변경할 수 있다.
다시 말해, 상기 관리부(132)는 상기 어플리케이션의 종류, 버전, 보안 등급 중 적어도 하나에 관한 권한을 상기 사용자마다 다르게 부여함으로써, 상기 어플리케이션의 실행 또는 운영을 독립적으로 수행할 수 있다.
본 발명의 일 실시예에 따른 상기 관리부(132)의 구체적인 구조에 대해서는 도 3을 참조하여 설명한다.
도 3은 본 발명의 일 실시예에 따른 관리부를 설명하기 위하여 도시한 블록도이다.
도 3을 참조하면 본 발명의 일 실시예에 따른 관리부(132)는 키 제작부(132a) 및 키 전송부(132b)를 포함한다.
키 제작부(132a)는 사용자의 입력에 의하여 상기 사용자의 상기 서버 공간에 접근할 수 있는 권한을 포함하는 접근 키를 제작한다.
상기 접근 키는 제3의 사용자가 사용자의 서버 공간에 접근하거나, 상기 서버 공간에 저장되어 있는 파일에 접근할 수 있는 열쇠가 되어, 접근 키를 갖고 있는 제3의 사용자는 사용자의 파일에 접근하여 이를 읽거나 수정, 삭제할 수 있다.
여기서, 상기 접근 키는 상기 사용자의 상기 서버 공간에 접근할 수 있는 제3의 사용자의 식별 정보, 상기 제3의 사용자가 접근할 수 있는 상기 사용자의 상기 서버 공간에 저장된 특정 파일의 식별정보, 상기 특정 파일의 변경 또는 삭제에 관한 권한 정보 및 상기 특정 파일에 접근 가능한 시간적 정보 중 적어도 하나를 포함한다.
즉, 제3의 사용자가 상기 접근 키를 갖고 있는 것 만으로는 상기 사용자의 상기 서버 공간에 접근할 수 없고, 상기 접근 키에 포함되어 있는 제3의 사용자의 식별정보에 해당되는 자만 접근할 수 있도록 하는 것이 바람직하다. 우연한 기회에 상기 접근 키를 취득하게 된 자가 권한도 없이 상기 사용자의 상기 서버 공간에 접근하거나, 상기 사용자의 상기 특정 파일에 접근할 수 있다면 보안에 있어 큰 문제이기 때문이다.
또한, 상기 제3의 사용자는 상기 서버 공간에서도 상기 특정 파일에 대해서만 접근할 수 있고, 상기 특정 파일에 대해서도 상기 접근 키에서 인정한 변경 또는 삭제의 권한만 실행할 수 있다.
그리고, 상기 접근 키에는 상기 제3의 사용자가 제4의 사용자에게 상기 접근 키를 다시 전달 할 수 있는 권한 즉, 상기 사용자의 상기 서버 공간 및 상기 특정 파일에 접근할 수 있는 권한을 제4의 사용자에게 다시 설정할 수 있는 권한의 유무에 관한 정보를 더 포함할 수 있다.
만약, 상기 제3의 사용자에게 상기 권한이 인정될 경우, 상기 제3의 사용자는 상기 사용자에게 권한을 수여 받은 범위 내에서 다시 상기 제4의 사용자에게 권한을 부여할 수 있다.
더 나아가, 상기 제3의 사용자가 상기 접근 키를 제4의 사용자에게 전달할 수 있는 권한이 있는 경우에도, 상기 사용자의 사후 승인이 있는 경우에만 제4의 사용자의 사용자 인증이 가능하도록 하는 실시예도 가능하다.
키 전송부(132b)는 사용자가 선택하는 상기 단말기에게 상기 접근 키를 전송한다.
상기 제3의 사용자는 상기 접근 키를 포함하는 상기 단말기에서 상기 제3의 사용자의 인증이 정상적으로 이루어진 경우에만 상기 사용자의 상기 서버 공간 및 상기 특정 파일에 접근이 가능하다.
즉, 보안을 위하여, 상기 접근 키에서 권한이 허용된 제3의 사용자는 모든 단말기에서 접근을 허용하는 것이 아니라, 상기 접근 키를 포함하는 특정 단말기에서만 접근하도록 허용할 수 있다.
상기 세션부(134)는 상기 세션 서버(120)에 의해 상기 단말기(110)와의 원격 접속을 수행한다.
상기 세션 서버(120)는 상기 원격 접속이 이루어질 수 있도록, 원격 데스크톱 프로토콜(RDP)을 이용한 통신 채널을 연결시킬 수 있다.
상기 RDP를 통한 원격 접속 방법은 이미 널리 알려진 주지관용 기술에 해당하므로, 본 발명의 일 실시예에서는 이에 대한 설명을 생략하기로 한다.
상기 전송부(136)는 상기 단말기(110)에서 어플리케이션이 실행되도록, 상기 사용자 정보에 기초한 가상 네트워크 컴퓨팅(VNC)을 통해 생성된 어플리케이션 이미지 정보를 상기 단말기(110)로 실시간 전송한다.
즉, 본 실시예에서는 상기 사용자 정보를 기반으로 하여 상기 가상 네트워크 컴퓨팅(VNC)을 수행함으로써 상기 어플리케이션 이미지 정보를 생성할 수 있다. 이에 따라, 상기 전송부(136)는 상기 어플리케이션 이미지 정보를 상기 단말기(110)로 실시간 전송함으로써 상기 어플리케이션이 상기 단말기(110)에서 실행되도록 할 수 있다.
상기 가상 네트워크 컴퓨팅은 논리적 망분리(VDI)를 통한 스트리밍 방식을 통해 수행될 수 있다.
여기서, 상기 논리적 망분리를 통한 스트리밍 방식은 종래의 어플리케이션 가상화를 실행하기 위한 기술로서, 이미 널리 알려진 주지관용 기술에 해당하므로, 본 발명의 일 실시예에서는 이에 대한 설명을 생략하기로 한다.
참고로, 상기 어플리케이션 이미지 정보는 상기 사용자 정보를 바탕으로 상기 단말기(110)와 상기 가상 네트워크 컴퓨팅을 수행함으로써, 상기 어플리케이션 서버(130)에서 구현되는 상기 어플리케이션의 그래픽 요소(문자, 패턴, 색상)를 포함한 하나의 장면을 의미한다.
상기 전송부(136)는 상기 사용자 정보를 바탕으로 상기 단말기(110)에서 실행하고자 하는 어플리케이션의 이미지 정보, 즉 상기 어플리케이션 이미지 정보를 상기 단말기(110)로 전송할 수 있다.
이를 위해, 상기 전송부(136)는 상기 사용자 정보에 따라 갱신되는 상기 어플리케이션 이미지 정보를 초 단위로 나누어 상기 단말기(110)로 전송할 수 있다. 여기서, 상기 사용자 정보는 상기 단말기(110)로부터 수신된 상기 사용자에 의한 키보드 또는 마우스 조작에 따른 키보드 정보 또는 마우스 정보를 포함할 수 있다.
상기 어플리케이션의 이미지 정보는 상기 단말기(110)로부터 수신되는 상기 키보드 정보 또는 상기 마우스 정보에 따라 변경되는 상기 어플리케이션의 프레임으로 구현될 수 있다.
즉, 상기 단말기(110)로부터 수신되는 상기 키보드 정보 또는 상기 마우스 정보에 따라, 상기 어플리케이션의 프레임이 달라질 수 있는데, 상기 전송부(136)는 상기 프레임이 달라질 때마다 상기 어플리케이션 이미지 정보를 초 단위로 쪼개어 상기 단말기(110)로 전송할 수 있다.
다시 말해, 상기 전송부(136)는 상기 어플리케이션 이미지 정보를 화면 캡쳐 하듯이 나누어 상기 프레임 형식으로 상기 단말기(110)에 전송할 수 있다. 이에 따라, 상기 단말기(110)는 상기 전송부(136)로부터 주기적으로 수신되는 상기 어플리케이션 이미지 정보를 액정표시장치 등의 디스플레이 장치를 통해 출력할 수 있다.
예를 들어, 상기 단말기(110)에서 구동되는 운영체제는 안드로이드이고, 상기 어플리케이션 서버(130)에서 제공되는 어플리케이션은 윈도우 운영체제를 기반으로 개발된 것이라고 가정한다. 여기서, 상기 어플리케이션은 프로그램을 포함하는 개념으로 이해될 수 있다.
이러한 경우, 상기 어플리케이션 이미지 정보가 상기 단말기(110)로부터 수신된 상기 키보드 정보 또는 상기 마우스 정보에 의해 갱신되면, 상기 전송부(136)는 상기 단말기(110)에서 상기 윈도우를 기반으로 하는 프로그램이 실행될 수 있도록, 상기 갱신된 어플리케이션 이미지 정보를 초 단위로 나눈 프레임 형식으로 상기 단말기(110)에 전송할 수 있다. 이에 따라, 상기 단말기(110)는 초 단위로 수신되는 상기 프레임을 상기 액정표시장치에 표시함으로써, 상기 윈도우 기반의 어플리케이션을 안드로이드 환경에서 가상의 어플리케이션 형태로 실행시킬 수 있다.
이로써, 본 발명의 일 실시예에 따르면, 상기 어플리케이션 서버 및 상기 단말기(110) 간의 어플리케이션 가상화를 통해, 상기 단말기(110)의 운영체제와 상관없이 다양한 운영체제 환경을 기반으로 하는 어플리케이션을 상기 단말기(110)에서 실행시킬 수 있다.
또한, 본 발명의 일 실시예에 따르면, 상기 단말기 환경의 특성에 맞는 UI/GUI를 제공 및 유지할 수 있어 사용자의 편의성을 향상시킬 수 있고, 뿐만 아니라, 상기 어플리케이션 설치에 대한 제약이 없기 때문에, 라이센스에 관한 비용을 절감시킬 수 있다.
본 발명의 일 실시예에 따른 전송부(136)는 비교부(미도시)를 포함할 수 있다.
비교부는 어플리케이션 실행 시 발생하는 각각의 리소스의 부하를 미리 설정된 임계치와 비교한다.
복수의 사용자가 동시에 시스템에 접속하여 어플리케이션을 실행하는 경우, 하드웨어 또는 소프트웨어의 리소스가 부족하게 될 수 있다. 더 나아가 DDOS 공격이 발생하는 경우와 같이 의도하지 않은 과부하가 발생하는 경우에는 부하로부터 시스템을 보호하기 위한 프로세스가 필요하다.
따라서, 비교부는 각각의 하드웨어 및 소프트웨어의 리소스를 모니터링하여 CPU, 저장장치, 네트워크와 같은 하드웨어 리소스 또는 OS 또는 어플리케이션과 같은 소프트웨어 리소스 중 적어도 하나에 부하가 걸리는지 여부를 판단한다.
또한, 상기 비교 결과에 기초하여 상기 적어도 하나의 상기 리소스의 부하가 상기 임계치를 넘어서는 경우, 상기 리소스의 부하가 상기 임계치를 넘지 않도록 상기 사용자 별로 미리 설정된 우선도 및 상기 각각의 어플리케이션에 대하여 미리 설정된 중요도 중 적어도 하나에 기초하여 상기 어플리케이션 이미지 정보를 차등하여 전송한다.
즉, 각 사용자 별로 미리 설정된 우선도에 따라서, 우선도가 높은 사용자들 먼저 어플리케이션의 이미지 정보를 전송하고, 우선도가 낮은 사용자들은 후순위로 어플리케이션의 이미지 정보를 전송한다.
또한, 상기 어플리케이션이 필요로 하는 리소스의 크기 또는 상기 어플리케이션에 대한 상기 사용자의 선호도에 따라 상기 어플리케이션의 중요도를 차등하여 미리 설정하고, 상기 어플리케이션의 중요도에 따라 차등하여 어플리케이션의 이미지 정보를 전송할 수 있다.
예를 들어, 워드프로세서에 비하여 CAD 프로그램은 사용하는 사용자의 수도 적고, 필요로 하는 리소스도 많기에 시스템에 부하가 발생하는 경우에는, CAD 프로그램은 워드프로세서에 비하여 후순위로 상기 어플리케이션의 이미지를 전송하게 될 것이다.
도 4는 본 발명의 다른 실시예에 따른 전송부를 설명하기 위하여 도시한 블록도이다.
도 4를 참조하면, 본 발명의 또 다른 실시예에 따른 전송부(136)는 단말 정보 수신부(136a) 및 실행 환경 변경부(136b)를 포함한다.
단말 정보 수신부(136a)는 상기 단말기로부터 상기 단말기의 해상도 정보 및 디스플레이의 크기 정보 중 적어도 하나를 수신한다.
일반적으로 어플리케이션을 실행할 때, 해상도 및 디스플레이의 크기에 따라서 실행환경이 달라지게 된다. 따라서, 단말기의 디스플레이의 크기 및 해상도 정보 중 적어도 하나를 수신하여, 이를 상기 어플리케이션 이미지 정보를 생성하는데 기초로 할 수 있다.
실행 환경 변경부(136b)는 상기 단말기의 해상도 정보 및 디스플레이의 크기 정보 중 적어도 하나에 기초하여 상기 어플리케이션의 실행 환경 및 UI 중 적어도 하나를 변경한다.
상기 단말기에 가장 적합한 실행 환경 또는 UI로 변경한 상태에서의 상기 어플리케이션의 이미지 정보를 전송할 수 있다.
도 5는 본 발명의 일 실시예에 따른 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 방법을 설명하기 위해 도시한 흐름도이다. 여기서, 상기 어플리케이션 가상화 방법은 도 1 및 도 2의 어플리케이션 가상화 시스템(100)에 의해 수행될 수 있다.
도 1 내지 도 5에 도시된 바와 같이, 단계(510)에서 상기 어플리케이션 가상화 시스템(100)은 상기 세션 서버(120)에서 상기 단말기(110)의 사용자 인증이 정상적으로 이루어진 경우, 상기 세션 서버(120)로부터 사용자 정보를 수신하여 상기 사용자 별로 서버 공간을 할당하고 상기 각 서버 공간 내에 상기 사용자 정보를 저장할 수 있다.
여기서, 상기 어플리케이션 가상화 시스템(100)은 상기 사용자 정보를 이용하여, 상기 어플리케이션의 실행 또는 운영에 관한 권한을 상기 사용자 별로 각각 다르게 설정 및 변경할 수 있다.
다음으로, 단계(520)에서 상기 어플리케이션 가상화 시스템(100)은 상기 세션 서버(120)에 의해 상기 단말기(110)와의 원격 접속을 수행할 수 있다.
다음으로, 단계(530)에서 상기 어플리케이션 가상화 시스템(100)은 상기 단말기(110)에서 상기 어플리케이션이 실행되도록, 상기 사용자 정보에 기초한 가상 네트워크 컴퓨팅(VNC)을 통해 생성된 어플리케이션 이미지 정보를 상기 단말기(110)로 실시간 전송할 수 있다.
이때, 상기 어플리케이션 가상화 시스템(100)은 상기 사용자 정보에 따라 갱신되는 상기 어플리케이션 이미지 정보를 초 단위로 나누어 상기 단말기(110)로 전송할 수 있다.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
110 : 단말기
120 : 세션 서버
130 : 어플리케이션 서버
132 : 관리부
134 : 세션부
136 : 전송부

Claims (14)

  1. 세션 서버에서 단말기의 사용자 인증이 정상적으로 이루어진 경우, 상기 세션 서버로부터 사용자 정보를 수신하여 상기 사용자 별로 서버 공간을 할당하고 상기 각 서버 공간 내에 상기 사용자 정보를 저장하는 관리부;
    상기 세션 서버에 의해 상기 단말기와의 원격 접속을 수행하는 세션부; 및
    상기 단말기에서 어플리케이션이 실행되도록, 상기 사용자 정보에 기초한 가상 네트워크 컴퓨팅(VNC)을 통해 생성된 어플리케이션 이미지 정보를 상기 단말기로 실시간 전송하는 전송부
    를 포함하고,
    상기 전송부는
    어플리케이션 실행 시 발생하는 각각의 리소스의 부하를 미리 설정된 임계치와 비교하는 비교부를 포함하고,
    상기 비교 결과에 기초하여 상기 적어도 하나의 상기 리소스의 부하가 상기 임계치를 넘어서는 경우, 상기 리소스의 부하가 상기 임계치를 넘지 않도록 상기 사용자 별로 미리 설정된 우선도 및 상기 각각의 어플리케이션에 대하여 미리 설정된 중요도 중 적어도 하나에 기초하여 상기 어플리케이션 이미지 정보를 차등하여 전송하는 것을 특징으로 하는 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템.
  2. 제1항에 있어서,
    상기 가상 네트워크 컴퓨팅은
    논리적 망분리(VDI)를 통한 스트리밍 방식을 통해 수행되는 것을 특징으로 하는 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템.
  3. 제1항에 있어서,
    상기 사용자 정보는
    상기 사용자의 단말기 접속 정보, 상기 단말기의 버전 정보, 상기 단말기의 운영체제 정보, 상기 단말기에 할당된 메모리 정보, 상기 사용자의 어플리케이션 요청 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템.
  4. 제3항에 있어서,
    상기 사용자 정보는
    상기 단말기로부터 수신된 상기 사용자에 의한 키보드 또는 마우스 조작에 따른 키보드 정보 또는 마우스 정보를 더 포함하는 것을 특징으로 하는 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템.
  5. 제1항에 있어서,
    상기 관리부는
    상기 사용자 정보를 이용하여, 상기 어플리케이션의 실행 또는 운영에 관한 권한을 상기 사용자 별로 각각 다르게 설정 및 변경하는 것을 특징으로 하는 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템.
  6. 제1항에 있어서,
    상기 관리부는
    사용자의 입력에 의하여 상기 사용자의 상기 서버 공간에 접근할 수 있는 권한을 포함하는 접근 키를 제작하는 키 제작부; 및
    상기 사용자가 선택하는 상기 단말기에게 상기 접근 키를 전송하는 키 전송부를 포함하는 어플리케이션 가상화 시스템.
  7. 제6항에 있어서,
    상기 접근 키는
    상기 사용자의 상기 서버 공간에 접근할 수 있는 제3의 사용자의 식별 정보, 상기 제3의 사용자가 접근할 수 있는 상기 사용자의 상기 서버 공간에 저장된 특정 파일의 식별정보, 상기 특정 파일의 변경 또는 삭제에 관한 권한 정보 및 상기 특정 파일에 접근 가능한 시간적 정보 중 적어도 하나를 포함하고,
    상기 제3의 사용자는 상기 접근 키를 포함하는 상기 단말기에서 상기 제3의 사용자의 인증이 정상적으로 이루어진 경우에만 상기 사용자의 상기 서버 공간 및 상기 특정 파일에 접근이 가능한 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템.
  8. 제1항에 있어서,
    상기 전송부는
    상기 사용자 정보에 따라 갱신되는 상기 어플리케이션 이미지 정보를 초 단위로 나누어 상기 단말기로 전송하는 것을 특징으로 하는 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템.
  9. 삭제
  10. 제1항에 있어서,
    상기 전송부는
    상기 단말기로부터 상기 단말기의 해상도 정보 및 디스플레이의 크기 정보 중 적어도 하나를 수신하는 단말 정보 수신부; 및
    상기 단말기의 해상도 정보 또는 디스플레이의 크기 정보에 기초하여 상기 어플리케이션의 실행 환경 및 UI 중 적어도 하나를 변경하는 실행 환경 변경부를 포함하는 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템.
  11. 제1항에 있어서,
    상기 세션 서버는
    상기 사용자 정보를 데이터베이스에 미리 저장된 사용자 정보와 비교하여 상기 단말기의 사용자 인증을 수행하고, 상기 비교 결과에 따라 상기 단말기의 사용자 인증이 정상적으로 이루어지는지 여부를 판단하며,
    상기 관리부는
    상기 단말기의 사용자 인증이 정상적으로 이루어지는 경우, 상기 단말기의 사용자와 일치하는 사용자 정보를 수신하는 것을 특징으로 하는 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 시스템.
  12. 어플리케이션 가상화 시스템을 이용한 어플리케이션 가상화 방법에 있어서,
    세션 서버에서 단말기의 사용자 인증이 정상적으로 이루어진 경우, 상기 어플리케이션 가상화 시스템에서, 상기 세션 서버로부터 사용자 정보를 수신하여 상기 사용자 별로 서버 공간을 할당하고 상기 각 서버 공간 내에 상기 사용자 정보를 저장하는 단계;
    상기 어플리케이션 가상화 시스템에서, 상기 세션 서버에 의해 상기 단말기와의 원격 접속을 수행하는 단계; 및
    상기 어플리케이션 가상화 시스템에서, 상기 단말기에서 어플리케이션이 실행되도록, 상기 사용자 정보에 기초한 가상 네트워크 컴퓨팅(VNC)을 통해 생성된 어플리케이션 이미지 정보를 상기 단말기로 실시간 전송하는 단계
    를 포함하고,
    상기 어플리케이션 이미지 정보를 상기 단말기로 실시간 전송하는 단계는
    어플리케이션 실행 시 발생하는 각각의 리소스의 부하를 미리 설정된 임계치와 비교하는 단계; 및
    상기 비교 결과에 기초하여 상기 적어도 하나의 상기 리소스의 부하가 상기 임계치를 넘어서는 경우, 상기 리소스의 부하가 상기 임계치를 넘지 않도록 상기 사용자 별로 미리 설정된 우선도 및 상기 각각의 어플리케이션에 대하여 미리 설정된 중요도 중 적어도 하나에 기초하여 상기 어플리케이션 이미지 정보를 차등하여 전송하는 단계
    를 포함하는 것을 특징으로 하는 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 방법.
  13. 제12항에 있어서,
    상기 어플리케이션 이미지 정보를 상기 단말기로 실시간 전송하는 단계는
    상기 사용자 정보에 따라 갱신되는 상기 어플리케이션 이미지 정보를 초 단위로 나누어 상기 단말기로 전송하는 단계
    를 포함하는 것을 특징으로 하는 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 방법.
  14. 제12항에 있어서,
    상기 어플리케이션 가상화 시스템에서, 상기 사용자 정보를 이용하여, 상기 어플리케이션의 실행 또는 운영에 관한 권한을 상기 사용자 별로 각각 다르게 설정 및 변경하는 단계
    를 더 포함하는 것을 특징으로 하는 다양한 OS 환경을 기반으로 하는 어플리케이션 가상화 방법.
KR1020150129596A 2015-09-14 2015-09-14 다양한 os 환경을 기반으로 하는 어플리케이션 가상화 시스템 및 방법 KR101711409B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150129596A KR101711409B1 (ko) 2015-09-14 2015-09-14 다양한 os 환경을 기반으로 하는 어플리케이션 가상화 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150129596A KR101711409B1 (ko) 2015-09-14 2015-09-14 다양한 os 환경을 기반으로 하는 어플리케이션 가상화 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101711409B1 true KR101711409B1 (ko) 2017-03-03

Family

ID=58410630

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150129596A KR101711409B1 (ko) 2015-09-14 2015-09-14 다양한 os 환경을 기반으로 하는 어플리케이션 가상화 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101711409B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190086144A (ko) * 2018-01-12 2019-07-22 엔에이치엔 주식회사 모바일 단말기 및 그의 어플리케이션 관리 방법과 이를 활용한 타겟 광고 제공 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110098889A (ko) * 2007-03-20 2011-09-02 이상규 클라이언트 및 서버의 보안방법
KR20140099040A (ko) * 2013-02-01 2014-08-11 에스케이플래닛 주식회사 클라우드 스트리밍 기반의 데이터 전송 제어 방법, 시스템, 클라이언트 단말기 및 서비스장치
KR20140103558A (ko) * 2013-02-18 2014-08-27 한국전자통신연구원 가상화 기반 멀티미디어 제공 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110098889A (ko) * 2007-03-20 2011-09-02 이상규 클라이언트 및 서버의 보안방법
KR20140099040A (ko) * 2013-02-01 2014-08-11 에스케이플래닛 주식회사 클라우드 스트리밍 기반의 데이터 전송 제어 방법, 시스템, 클라이언트 단말기 및 서비스장치
KR20140103558A (ko) * 2013-02-18 2014-08-27 한국전자통신연구원 가상화 기반 멀티미디어 제공 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190086144A (ko) * 2018-01-12 2019-07-22 엔에이치엔 주식회사 모바일 단말기 및 그의 어플리케이션 관리 방법과 이를 활용한 타겟 광고 제공 시스템
KR102222133B1 (ko) 2018-01-12 2021-03-03 엔에이치엔 주식회사 모바일 단말기 및 그의 어플리케이션 관리 방법과 이를 활용한 타겟 광고 제공 시스템

Similar Documents

Publication Publication Date Title
CN110651269B (zh) 隔离的容器事件监视
US10356127B2 (en) Methods and systems for applying security policies in a virtualization environment
US10614233B2 (en) Managing access to documents with a file monitor
US9535741B1 (en) Expansion of services for a virtual data center guest
WO2021051878A1 (zh) 基于用户权限的云资源获取方法、装置及计算机设备
US9438629B2 (en) Sensitive information leakage prevention system, sensitive information leakage prevention method, and computer-readable recording medium
US10831915B2 (en) Method and system for isolating application data access
KR101620254B1 (ko) 액세스 제어 방법, 장치, 프로그램 및 기록매체
CN108205619B (zh) 一种基于安卓系统的多用户管理方法及其装置
EP4109861A1 (en) Data processing method, apparatus, computer device, and storage medium
CN113366475A (zh) 实时数字内容隐藏
US10992713B2 (en) Method of and system for authorizing user to execute action in electronic service
KR20190007635A (ko) 네트워크 시스템에서의 리소스 할당 방법 및 이를 구현하는 네트워크 시스템
US20200050744A1 (en) Authetication using features extracted based on cursor locations
US20130297718A1 (en) Server device, client device, data sharing system and method for sharing data between client device and server device thereof
KR20230027241A (ko) 공유 자원 식별
US11132465B1 (en) Real-time feature level software security
CN110301127B (zh) 用于预测性令牌验证的装置和方法
US20140330937A1 (en) End-to-end classification of storage traffic streams
KR101711409B1 (ko) 다양한 os 환경을 기반으로 하는 어플리케이션 가상화 시스템 및 방법
US20150244568A1 (en) Virtual device profile
KR101729681B1 (ko) 보안 단말의 데이터 보안을 위한 물리 레벨 기반의 보안 시스템 및 이를 이용한 방법
US11301557B2 (en) System and method for data processing device management
CN111104666B (zh) 用于访问服务的方法、设备和计算机可读介质
US9747451B2 (en) File system modification

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200204

Year of fee payment: 4