KR20090066011A - 스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법 - Google Patents

스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법 Download PDF

Info

Publication number
KR20090066011A
KR20090066011A KR1020070133590A KR20070133590A KR20090066011A KR 20090066011 A KR20090066011 A KR 20090066011A KR 1020070133590 A KR1020070133590 A KR 1020070133590A KR 20070133590 A KR20070133590 A KR 20070133590A KR 20090066011 A KR20090066011 A KR 20090066011A
Authority
KR
South Korea
Prior art keywords
software
streaming
execution
mobile
cache
Prior art date
Application number
KR1020070133590A
Other languages
English (en)
Other versions
KR100936239B1 (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 KR1020070133590A priority Critical patent/KR100936239B1/ko
Priority to PCT/KR2008/007223 priority patent/WO2009078610A2/en
Priority to US12/808,496 priority patent/US8583816B2/en
Publication of KR20090066011A publication Critical patent/KR20090066011A/ko
Application granted granted Critical
Publication of KR100936239B1 publication Critical patent/KR100936239B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 이동형 소프트웨어의 장점을 유지하면서 스트리밍 소프트웨어의 장점을 취하여 별도의 절차를 거치지 않고 원클릭으로 이동형 소프트웨어를 추가 및 갱신할 수 있는 이동형 소프트웨어 제공 시스템 및 방법을 제공하는 것으로, 본 발명의 스트리밍 기반 이동형 소프트웨어 제공 시스템은, 내부에서 제공되는 응용 소프트웨어 실행코드를 유지하는 스트리밍 서버; 및 응용 프로세스의 수행에 필요한 실행코드의 가상화를 제공하고, 네트워크를 통해 상기 스트리밍 서버로부터 실행코드를 스트리밍 해오고, 스트리밍된 소프트웨어 이미지들을 관리하는 클라이언트;를 포함하는 것을 특징으로 한다.
Figure P1020070133590
스트리밍, 이동형, 소프트웨어

Description

스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법{System And Method For Providing Portable SW With Streaming}
본 발명은 스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법에 관한 것으로, 특히 이동형 소프트웨어의 장점을 유지하면서 스트리밍 소프트웨어의 장점을 취하여 별도의 절차를 거치지 않고 원클릭으로 이동형 소프트웨어를 추가 및 갱신할 수 있는 이동형 소프트웨어 제공 시스템 및 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-015-01, 과제명: SaaS 기반 이동형 개인 맞춤 사무환경 제공 기술 개발].
이동형 소프트웨어 제공 기술은 이동형 저장장치에 탑재되어 컴퓨터에 연결되면 별도의 설치과정 없이 바로 소프트웨어를 사용할 수 있도록 하는 기술이다. 이 기술을 사용하면 언제 어디서나 이동형 저장장치만 있다면 탑재된 소프트웨어의 사용이 가능하기 때문에 출장을 가거나 집이나 회사간의 이동을 하더라도 원하는 환경의 구축이 가능하다. 하지만, 새로운 이동형 소프트웨어를 추가하거나 갱신하기 위해서는 사용자가 해당 이동형 소프트웨어를 서비스하는 서버에 접속하여 원하는 응용을 선택하고 전체 응용 프로그램을 다운로드 받아 이동형 저장장치에 탑재하거나 설치하여야 한다.
반면에, 스트리밍 기반 소프트웨어 제공 기술은 서버에 있는 소프트웨어를 사용자의 컴퓨터에서 바로 실행시키는 기술로서 사용자가 소프트웨어의 사용을 위해 다운로드를 하거나 설치하는 과정 없이 소프트웨어의 실행이 가능하다. 이 기술을 사용하면 사용자는 새로운 소프트웨어가 자신에게 적합한 지를 다운로드나 설치 과정 없이 시험해 볼 수 있고 소프트웨어의 관리가 용이하고 여러 대의 컴퓨터를 사용하는 경우 동일한 소프트웨어 환경 구축이 매우 용이하다. 그러나, 이 기술은 서버를 전제로 하기 때문에 서버와의 연결이 없는 환경에서는 사용이 불가능하다는 한계점을 가진다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 본 발명의 목적은 이동형 소프트웨어의 장점을 유지하면서 스트리밍 소프트웨어의 장점을 취하여 별도의 절차를 거치지 않고 원클릭으로 이동형 소프트웨어를 추가 및 갱신할 수 있는 이동형 소프트웨어 제공 시스템 및 방법을 제공하는 데 있다.
본 발명의 다른 목적은 별도의 절차를 거치지 않고 원클릭으로 이동형 소프트웨어를 추가 및 갱신함으로써, 이동형 소프트웨어의 편리한 관리 환경을 제공할 수 있는 이동형 소프트웨어 제공 시스템 및 방법을 제공하는 데 있다.
이와 같은 목적을 달성하기 위한 본 발명에 따른 스트리밍 기반 이동형 소프트웨어 제공 시스템은, 내부에서 제공되는 응용 소프트웨어 실행코드를 유지하는 스트리밍 서버; 및 응용 프로세스의 수행에 필요한 실행코드의 가상화를 제공하고, 네트워크를 통해 상기 스트리밍 서버로부터 실행코드를 스트리밍 해오고, 스트리밍된 소프트웨어 이미지들을 관리하는 클라이언트;를 포함하는 것을 특징으로 한다.
본 발명에 따른 스트리밍 기반 이동형 소프트웨어 제공 시스템의 클라이언트 엔진은, 응용 프로세스의 수행에 필요한 실행코드의 가상화를 제공하는 이동형 소프트웨어 커널 엔진; 스트리밍된 소프트웨어 이미지들을 관리하는 소프트웨어 관리부; 및 상기 이동형 소프트웨어 커널 엔진이나 상기 소프트웨어 관리부의 요청에 따라 스트리밍 서버로부터 실행코드를 스트리밍해 오는 소프트웨어 스트리밍 관리부;를 포함하는 것을 특징으로 한다.
본 발명의 스트리밍 기반 이동형 소프트웨어 제공 방법은, 실행 요청된 소프트웨어의 유형이 이동형 소프트웨어이면, 이동형 소프트웨어 실행준비를 수행하고 소프트웨어 실행을 시작하는 단계; 실행 요청된 소프트웨어의 유형이 스트리밍 소프트웨어이면, 스트리밍 소프트웨어 실행 요청을 위한 준비를 수행하는 단계; 소프트웨어 저장 상태, 네트워크의 이용 가능 여부, 및 소프트웨어 스트리밍 유형에 따라, 주문형 스트리밍을 스트리밍 서버에게 요청하고 소프웨어 실행을 시작하는 단계; 및 상기 소프트웨어 저장 상태, 상기 네트워크의 이용 가능 여부, 및 상기 소프트웨어 스트리밍 유형에 따라, 전체 스트리밍 요청을 수행한 후, 소프트웨어 전체 스트리밍을 시작하여 소프트웨어를 전송받기 시작하고 동시에 소프웨어 실행을 시작하는 단계;를 포함하는 것을 특징으로 한다.
본 발명의 스트리밍 기반 이동형 소프트웨어 제공 방법은, 실행 소프트웨어 유형이 이동형 소프트웨어이면, 해당 소프트웨어 실행 페이지를 캐시로부터 읽어오고 소프트웨어 실행을 계속 진행시키는 단계; 상기 실행 소프트웨어 유형이 스트리밍 소프트웨어이고 해당 실행 페이지의 캐시가 존재하지 않으면, 해당 실행 페이지의 캐시가 존재하지 않음을 알리고, 네트워크를 통해 스트리밍 서버에게 해당 실행 페이지를 전송해 줄 것을 요청하여 해당 실행 페이지를 전송받는 단계; 및 해당 소프트웨어 전체를 상기 캐시에 저장하고 해당 소프트웨어를 스트리밍 소프트웨어에서 이동형 소프트웨어로 설정한 후 소프트웨어 실행 페이지 수신결과를 통보하고 소프트웨어 실행을 계속 진행시키는 단계;를 포함하는 것을 특징으로 한다.
상기 구성을 갖는 본 발명은 이동형 소프트웨어의 장점을 유지하면서 스트리밍 소프트웨어의 장점을 취하여 별도의 절차를 거치지 않고 원클릭으로 이동형 소프트웨어를 추가 및 갱신함으로써, 이동형 소프트웨어의 편리한 관리 환경을 제공할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 스트리밍 기반 이동형 소프트웨어 제공 시스템의 구성도이다.
도 1을 참조하면, 본 발명의 이동형 소프트웨어 제공 시스템은, 내부에서 제공되는 응용 소프트웨어 실행코드(110)를 유지하는 스트리밍 서버(100)와, 스트리밍 서버(100)로부터 실행코드를 제공받는 클라이언트 엔진(200)과, 스트리밍 서버(100)와 클라이언트 엔진(200)을 접속시키는 네트워크(300)를 구비한다.
스트리밍 서버(100)는 클라이언트 엔진(200)이 네트워크(300)를 통해 실행코드를 요청해 오면, 자신이 유지하고 있는 실행코드를 네트워크(300)를 통해 클라이언트 엔진(200)에게 제공한다.
클라이언트 엔진(200)은, 이동형 소프트웨어 서비스의 실행을 위한 이동형 소프트웨어 커널 엔진(210)과, 새로운 소프트웨어의 스트리밍을 위한 소프트웨어 스트리밍 관리부(220)와, 스트리밍된 소프트웨어 이미지들을 관리하는 소프트웨어 관리부(230)를 구비한다.
이동형 소프트웨어 커널 엔진(210)은 응용 프로세스의 수행에 필요한 실행코드의 가상화를 제공한다.
소프트웨어 스트리밍 관리부(220)는 이동형 소프트웨어 커널 엔진(210)이나 소프트웨어 관리부(230)의 요청에 따라 스트리밍 서버(100)에게 실행코드를 요청하고 스트리밍 서버(100)로부터 요청한 응용 소프트웨어 실행코드(110)를 스트리밍해 온다.
소프트웨어 관리부(230)는 이동형 소프트웨어의 초기 실행이 여러 가지 조건에 따라 다르게 수행되도록 관리한다.
도 2는 도 1의 클라이언트 엔진을 내장한 클라이언트를 포함하는 본 발명의 스트리밍 기반 이동형 소프트웨어 제공 시스템의 구성도이다.
도 2를 참조하면, 클라이언트(400)는, 클라이언트 엔진(200), 응용 프로세스(410), 운영체제(420), 및 캐시(430)를 구비하며, 네트워크(300)를 통해 스트리밍 서버(100)와 접속한다.
응용 프로세스(410)의 수행에 필요한 실행코드의 가상화를 제공하는 이동형 소프트웨어 커널 엔진(210)이 운영체제(420)에 포함되어 동작한다. 이때, 소프트웨어 관리부(230)는 이동형 소프트웨어가 캐시(430)에 완전히 저장된 경우, 이동형 소프트웨어가 캐시(430)에 완전히 저장되지 않은 경우, 사용자가 이동형 소프트웨어의 실행코드를 한꺼번에 스트리밍 받기를 원하는 경우, 그리고 사용자가 이동형 소프트웨어의 실행코드를 필요할 때마다 스트리밍 받기를 원하는 경우 등과 같은 여러 조건에 따라 이동형 소프트웨어의 초기 실행이 다르게 수행되도록 관리한다. 그리고, 소프트웨어 스트리밍 관리부(220)는 이동형 소프트웨어 커널 엔진(210)이나 소프트웨어 관리부(230)의 요청에 따라 스트리밍 서버(100)에게 실행코드를 요청하고 스트리밍 서버(100)로부터 요청한 응용 소프트웨어 실행코드(110)를 스트리밍해 온다.
도 3은 사용자 레벨에서 본 발명에 따른 스트리밍 기반 이동형 소프트웨어 제공 방법을 나타낸 흐름도이다.
도 3을 참조하면, 사용자가 소프트웨어를 실행시키면, 소프트웨어 관리부(230)는 소프트웨어 실행준비를 수행하고(S101), 실행 요청된 소프트웨어 유형이 스트리밍 소프트웨어 또는 이동형 소프트웨어인지를 판단한다(S102).
판단결과 이동형 소프트웨어이면, 소프트웨어 관리부(230)는 이동형 소프트웨어 실행준비를 수행하고(S103), 소프트웨어 실행을 시작한다(S104).
판단결과 스트리밍 소프트웨어이면, 소프트웨어 스트리밍 관리부(220)는 스트리밍 소프트웨어 실행 요청을 위한 준비를 수행하고(S105), 소프트웨어 전체가 저장되었는지를 판단한다(S106). 판단결과 소프트웨어 전체가 저장되었다면, 소프트웨어 관리부(230)는 이동형 소프트웨어 실행준비 과정(S103)을 진행한다.
판단 과정(S106)에서의 판단결과 소프트웨어 전체가 저장되지 않았으면, 소 프트웨어 스트리밍 관리부(220)는 스트리밍 서버(100)로부터 소프트웨어를 스트리밍 받기 위해 우선 네트워크(300)가 이용 가능한지를 조회한다(S107). 조회결과 네트워크(300)의 이용이 가능하지 않으면, 소프트웨어 스트리밍 관리부(220)는 소프트웨어 실행 실패를 사용자에게 알린다(S108).
조회결과 네트워크(300)의 이용이 가능하면, 소프트웨어 스트리밍 관리부(220)는 소프트웨어 스트리밍 유형을 조회하여 주문형(on-demand) 스트리밍 또는 전체 스트리밍인지를 판단한다(S109). 판단결과 주문형 스트리밍이면, 소프트웨어 스트리밍 관리부(220)는 현재의 소프트웨어 실행에 필요한 소프트웨어 이미지 블록만을 전송받는 주문형 스트리밍을 스트리밍 서버(100)에게 요청하고(S110), 소프트웨어 실행 시작 과정(S104)을 진행한다.
판단 과정(S109)에서의 판단결과 전체 스트리밍이면, 소프트웨어 스트리밍 관리부(220)는 소프트웨어 전체를 스트리밍 받기 위해 전체 스트리밍 요청을 수행한다(S111). 이 경우, 소프트웨어 스트리밍 관리부(220)는 백그라운드(background)로 소프트웨어 전체 스트리밍을 시작하여 소프트웨어를 전송받기 시작하고(S112), 이와 동시에 소프트웨어 실행 시작 과정(S104)을 진행한다.
도 4는 운영체제의 커널 레벨에서 본 발명에 따른 스트리밍 기반 이동형 소프트웨어 제공 방법을 나타낸 흐름도이다.
도 4를 참조하면, 소프트웨어가 실행 중인 상태에서(S201), 운영체제(420)의 커널은 소프트웨어 실행 페이지가 운영체제(420)의 메모리에 매핑되어 있는지를 검사한다(S202).
검사결과 매핑되어 있으면, 소프트웨어의 실행 상태를 유지한다.
검사결과 매핑되어 있지 않으면, 운영체제(420)의 커널은 소프트웨어 실행 페이지를 파일시스템에 요청하며(S203), 이때 이동형 소프트웨어 커널엔진(210)은 소프트웨어 실행 페이지 요청을 가로채고(S204), 실행 소프트웨어 유형을 조회하여 스트리밍 소프트웨어 또는 이동형 소프트웨어인지를 판단한다(S205).
판단결과 이동형 소프트웨어이면, 이동형 소프트웨어 커널엔진(210)은 해당 실행 페이지의 캐시(430)가 반드시 존재하므로, 로컬 파일의 특정한 위치에 저장되어 있는 해당 실행 페이지를 캐시(430)로부터 읽어오고(S206), 소프트웨어 실행을 계속 진행시킨다.
판단결과 스트리밍 소프트웨어이면, 이동형 소프트웨어 커널엔진(210)은 해당 실행 페이지의 캐시(430)가 존재하는지를 조회한다(S207). 조회결과 캐시(430)가 존재하면, 이동형 소프트웨어 커널엔진(210)은 캐시(430)로부터 해당 실행 페이지를 읽는 과정(S206)을 진행한다.
조회결과 캐시(430)가 존재하지 않으면, 이동형 소프트웨어 커널엔진(210)은 소프트웨어 스트리밍 관리부(220)에게 해당 실행 페이지의 캐시(430)가 존재하지 않음을 알린다(S208). 이에 따라 소프트웨어 스트리밍 관리부(220)는 이동형 소프트웨어 커널엔진(210)의 통보를 받아 네트워크(300)를 통해 스트리밍 서버(100)에게 해당 실행 페이지를 전송해 줄 것을 요청하고 해당 실행 페이지를 전송받는다(S209). 이렇게 수신된 소프트웨어 실행 페이지는 차후 사용을 위해 캐시(430)에 저장될 수도 있고, 소프트웨어의 일회 사용을 위해 저장되지 않을 수도 있다.
그리고, 소프트웨어 스트리밍 관리부(220)는 수신된 페이지를 캐시에 저장할 것인지를 판단하여(S210), 판단결과 수신된 페이지를 저장할 것이면, 해당 소프트웨어 실행 페이지를 지정된 캐시(430)에 저장한다(S211).
이어서, 소프트웨어 스트리밍 관리부(220)는 소프트웨어 전체가 모두 저장되었는지를 판단하여(S212), 판단결과 해당 소프트웨어 전체가 모두 저장되었으면, 해당 소프트웨어를 스트리밍 소프트웨어에서 이동형 소프트웨어로 설정한 후(S213), 이동형 소프트웨어 커널엔진(210)에게 소프트웨어 실행 페이지 수신결과를 통보한다(S214). 그리고, 이동형 소프트웨어 커널엔진(210)은 소프트웨어 실행을 계속 진행시킨다(S215).
한편, 판단 과정(S210)에서의 판단결과 수신된 페이지를 캐시에 저장할 것이 아니면, 소프트웨어 스트리밍 관리부(220)는 이동형 소프트웨어 커널엔진(210)에게 소프트웨어 실행 페이지의 수신 결과를 통보하는 과정(S214)을 진행한다.
판단 과정(S212)에서의 판단결과 해당 소프트웨어 전체가 아직 저장되지 않았으면, 소프트웨어 스트리밍 관리부(220)는 이동형 소프트웨어 커널엔진(210)에게 소프트웨어 실행 페이지의 수신 결과를 통보하는 과정(S214)을 진행한다.
본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 스트리밍 기반 이동형 소프트웨어 제공 시스템의 구성도.
도 2는 도 1의 클라이언트 엔진을 내장한 클라이언트를 포함하는 본 발명의 스트리밍 기반 이동형 소프트웨어 제공 시스템의 구성도.
도 3은 사용자 레벨에서 본 발명에 따른 스트리밍 기반 이동형 소프트웨어 제공 방법을 나타낸 흐름도.
도 4는 운영체제의 커널 레벨에서 본 발명에 따른 스트리밍 기반 이동형 소프트웨어 제공 방법을 나타낸 흐름도.

Claims (13)

  1. 내부에서 제공되는 응용 소프트웨어 실행코드를 유지하는 스트리밍 서버; 및
    응용 프로세스의 수행에 필요한 실행코드의 가상화를 제공하고, 네트워크를 통해 상기 스트리밍 서버로부터 실행코드를 스트리밍 해오고, 스트리밍된 소프트웨어 이미지들을 관리하는 클라이언트;를 포함하는 것을 특징으로 하는 스트리밍 기반 이동형 소프트웨어 제공 시스템.
  2. 제 1 항에 있어서, 상기 클라이언트는,
    응용 프로세스의 수행에 필요한 실행코드의 가상화를 제공하고, 이동형 소프트웨어 서비스의 실행을 위한 이동형 소프트웨어 커널 엔진;
    스트리밍된 소프트웨어 이미지들을 관리하는 소프트웨어 관리부;
    상기 이동형 소프트웨어 커널 엔진이나 상기 소프트웨어 관리부의 요청에 따라 상기 스트리밍 서버로부터 실행코드를 스트리밍해 오는 소프트웨어 스트리밍 관리부;
    상기 스트리밍 서버로부터 전송받은 소프트웨어 실행 페이지를 저장하는 캐시; 및
    상기 이동형 소프트웨어 커널 엔진을 구비하는 운영체제;를 포함하는 것을 특징으로 하는 스트리밍 기반 이동형 소프트웨어 제공 시스템.
  3. 제 2 항에 있어서, 상기 소프트웨어 관리부는,
    이동형 소프트웨어가 상기 캐시에 완전히 저장된 경우, 이동형 소프트웨어가 상기 캐시에 완전히 저장되지 않은 경우, 사용자가 이동형 소프트웨어의 실행코드를 한꺼번에 스트리밍 받기를 원하는 경우, 사용자가 이동형 소프트웨어의 실행코드를 필요할 때마다 스트리밍 받기를 원하는 경우 등과 같은 여러 조건에 따라 이동형 소프트웨어의 초기 실행이 다르게 수행되도록 관리하는 것을 특징으로 하는 스트리밍 기반 이동형 소프트웨어 제공 시스템.
  4. 응용 프로세스의 수행에 필요한 실행코드의 가상화를 제공하는 이동형 소프트웨어 커널 엔진;
    스트리밍된 소프트웨어 이미지들을 관리하는 소프트웨어 관리부; 및
    상기 이동형 소프트웨어 커널 엔진이나 상기 소프트웨어 관리부의 요청에 따라 스트리밍 서버로부터 실행코드를 스트리밍해 오는 소프트웨어 스트리밍 관리부;를 포함하는 것을 특징으로 하는 스트리밍 기반 이동형 소프트웨어 제공 시스템의 클라이언트 엔진.
  5. 제 4 항에 있어서, 상기 소프트웨어 관리부는,
    이동형 소프트웨어가 완전히 저장된 경우, 이동형 소프트웨어가 완전히 저장되지 않은 경우, 사용자가 이동형 소프트웨어의 실행코드를 한꺼번에 스트리밍 받기를 원하는 경우, 사용자가 이동형 소프트웨어의 실행코드를 필요할 때마다 스트 리밍 받기를 원하는 경우 등과 같은 여러 조건에 따라 이동형 소프트웨어의 초기 실행이 다르게 수행되도록 관리하는 것을 특징으로 하는 스트리밍 기반 이동형 소프트웨어 제공 시스템의 클라이언트 엔진.
  6. 실행 요청된 소프트웨어의 유형이 이동형 소프트웨어이면, 이동형 소프트웨어 실행준비를 수행하고 소프트웨어 실행을 시작하는 단계;
    실행 요청된 소프트웨어의 유형이 스트리밍 소프트웨어이면, 스트리밍 소프트웨어 실행 요청을 위한 준비를 수행하는 단계;
    소프트웨어 저장 상태, 네트워크의 이용 가능 여부, 및 소프트웨어 스트리밍 유형에 따라, 주문형 스트리밍을 스트리밍 서버에게 요청하고 소프웨어 실행을 시작하는 단계; 및
    상기 소프트웨어 저장 상태, 상기 네트워크의 이용 가능 여부, 및 상기 소프트웨어 스트리밍 유형에 따라, 전체 스트리밍 요청을 수행한 후, 소프트웨어 전체 스트리밍을 시작하여 소프트웨어를 전송받기 시작하고 동시에 소프웨어 실행을 시작하는 단계;를 포함하는 것을 특징으로 하는 스트리밍 기반 이동형 소프트웨어 제공 방법.
  7. 제 6 항에 있어서, 상기 주문형 스트리밍을 요청하고 소프웨어 실행을 시작하는 단계는,
    소프트웨어 스트리밍 관리부가 스트리밍 소프트웨어 실행 요청을 위한 준비 를 수행하는 단계;
    상기 소프트웨어 스트리밍 관리부가 소프트웨어 전체가 저장되었는지를 판단하는 단계;
    판단결과 소프트웨어 전체가 저장되었다면, 소프트웨어 관리부가 이동형 소프트웨어 실행준비을 수행하는 단계;
    판단결과 소프트웨어 전체가 저장되지 않았으면, 상기 소프트웨어 스트리밍 관리부가 상기 스트리밍 서버로부터 소프트웨어를 스트리밍 받기 위해 우선 상기 네트워크의 이용 가능 여부를 조회하는 단계;
    조회결과 상기 네트워크의 이용이 가능하지 않으면, 상기 소프트웨어 스트리밍 관리부가 소프트웨어 실행 실패를 사용자에게 알리는 단계; 및
    조회결과 상기 네트워크의 이용이 가능하면, 상기 소프트웨어 스트리밍 관리부가 소프트웨어 스트리밍 유형이 상기 주문형 스트리밍인 경우 주문형 스트리밍을 스트리밍 서버에게 요청하고 소프트웨어 실행을 시작하는 단계;를 포함하는 것을 특징으로 하는 스트리밍 기반 이동형 소프트웨어 제공 방법.
  8. 제 6 항에 있어서, 상기 소프트웨어를 전송받기 시작하고 소프웨어 실행을 시작하는 단계는,
    소프트웨어 스트리밍 관리부가 스트리밍 소프트웨어 실행 요청을 위한 준비를 수행하는 단계;
    상기 소프트웨어 스트리밍 관리부가 소프트웨어 전체가 저장되었는지를 판단 하는 단계;
    판단결과 소프트웨어 전체가 저장되었다면, 소프트웨어 관리부가 이동형 소프트웨어 실행준비을 수행하는 단계;
    판단결과 소프트웨어 전체가 저장되지 않았으면, 상기 소프트웨어 스트리밍 관리부가 상기 스트리밍 서버로부터 소프트웨어를 스트리밍 받기 위해 우선 상기 네트워크의 이용 가능 여부를 조회하는 단계;
    조회결과 상기 네트워크의 이용이 가능하지 않으면, 상기 소프트웨어 스트리밍 관리부가 소프트웨어 실행 실패를 사용자에게 알리는 단계;
    조회결과 상기 네트워크의 이용이 가능하면, 상기 소프트웨어 스트리밍 관리부가 소프트웨어 전체를 스트리밍 받기 위해 전체 스트리밍 요청을 수행하는 단계; 및
    상기 소프트웨어 스트리밍 관리부가 백그라운드로 소프트웨어 전체 스트리밍을 시작하여 소프트웨어를 전송받기 시작하고 동시에 소프트웨어 실행을 시작하는 단계;를 포함하는 것을 특징으로 하는 스트리밍 기반 이동형 소프트웨어 제공 방법.
  9. 제 7 항에 있어서, 상기 주문형 스트리밍이,
    현재의 소프트웨어 실행에 필요한 소프트웨어 이미지 블록만을 전송받는 것을 특징으로 하는 스트리밍 기반 이동형 소프트웨어 제공 방법.
  10. 실행 소프트웨어 유형이 이동형 소프트웨어이면, 해당 소프트웨어 실행 페이지를 캐시로부터 읽어오고 소프트웨어 실행을 계속 진행시키는 단계;
    상기 실행 소프트웨어 유형이 스트리밍 소프트웨어이고 해당 실행 페이지의 캐시가 존재하지 않으면, 해당 실행 페이지의 캐시가 존재하지 않음을 알리고, 네트워크를 통해 스트리밍 서버에게 해당 실행 페이지를 전송해 줄 것을 요청하여 해당 실행 페이지를 전송받는 단계; 및
    해당 소프트웨어 전체를 상기 캐시에 저장하고 해당 소프트웨어를 스트리밍 소프트웨어에서 이동형 소프트웨어로 설정한 후 소프트웨어 실행 페이지 수신결과를 통보하고 소프트웨어 실행을 계속 진행시키는 단계;를 포함하는 것을 특징으로 하는 스트리밍 기반 이동형 소프트웨어 제공 방법.
  11. 제 10 항에 있어서, 상기 해당 실행 페이지의 캐시가 존재하지 않음을 알리고 해당 실행 페이지를 전송받는 단계는,
    이동형 소프트웨어 커널엔진이 상기 해당 실행 페이지의 캐시가 존재하는지를 조회하는 단계;
    조회결과 상기 해당 실행 페이지의 캐시가 존재하면, 상기 이동형 소프트웨어 커널엔진이 상기 캐시로부터 해당 실행 페이지를 읽는 단계;
    조회결과 상기 해당 실행 페이지의 캐시가 존재하지 않으면, 상기 이동형 소프트웨어 커널엔진이 소프트웨어 스트리밍 관리부에게 상기 해당 실행 페이지의 캐시가 존재하지 않음을 알리는 단계; 및
    상기 소프트웨어 스트리밍 관리부가 상기 이동형 소프트웨어 커널엔진의 통보를 받아 상기 네트워크를 통해 상기 스트리밍 서버에게 해당 실행 페이지를 전송해 줄 것을 요청하고 해당 실행 페이지를 전송받는 단계;를 포함하는 것을 특징으로 하는 스트리밍 기반 이동형 소프트웨어 제공 방법.
  12. 제 11 항에 있어서,
    상기 스트리밍 서버로부터 수신된 소프트웨어 실행 페이지는 차후 사용을 위해 상기 캐시에 저장되거나 소프트웨어의 일회 사용을 위해 저장되지 않는 것을 특징으로 하는 스트리밍 기반 이동형 소프트웨어 제공 방법.
  13. 제 10 항에 있어서, 상기 소프트웨어 실행 페이지 수신결과를 통보하고 소프트웨어 실행을 계속 진행시키는 단계는,
    소프트웨어 스트리밍 관리부가 수신된 페이지를 캐시에 저장할 것인지를 판단하는 단계;
    판단결과 상기 수신된 페이지를 상기 캐시에 저장할 것이 아니면, 상기 소프트웨어 스트리밍 관리부가 이동형 소프트웨어 커널엔진에게 소프트웨어 실행 페이지의 수신 결과를 통보하고 소프트웨어 실행을 계속 진행시키는 단계;
    판단결과 상기 수신된 페이지를 상기 캐시에 저장할 것이면, 상기 소프트웨어 스트리밍 관리부가 해당 소프트웨어 실행 페이지를 상기 캐시에 저장하는 단계;
    상기 소프트웨어 스트리밍 관리부가 소프트웨어 전체가 모두 저장되었는지를 판단하는 단계;
    판단결과 해당 소프트웨어 전체가 아직 저장되지 않았으면, 상기 소프트웨어 스트리밍 관리부가 상기 이동형 소프트웨어 커널엔진에게 소프트웨어 실행 페이지의 수신 결과를 통보하고 소프트웨어 실행을 계속 진행시키는 단계; 및
    판단결과 해당 소프트웨어 전체가 모두 저장되었으면, 상기 소프트웨어 스트리밍 관리부가 해당 소프트웨어를 스트리밍 소프트웨어에서 이동형 소프트웨어로 설정한 후, 상기 이동형 소프트웨어 커널엔진에게 소프트웨어 실행 페이지의 수신 결과를 통보하고 소프트웨어 실행을 계속 진행시키는 단계;를 포함하는 것을 특징으로 하는 스트리밍 기반 이동형 소프트웨어 제공 방법.
KR1020070133590A 2007-12-18 2007-12-18 스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법 KR100936239B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070133590A KR100936239B1 (ko) 2007-12-18 2007-12-18 스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법
PCT/KR2008/007223 WO2009078610A2 (en) 2007-12-18 2008-12-05 System and method for providing streaming-based portable application
US12/808,496 US8583816B2 (en) 2007-12-18 2008-12-05 System for providing streaming-based portable application under selective conditions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070133590A KR100936239B1 (ko) 2007-12-18 2007-12-18 스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20090066011A true KR20090066011A (ko) 2009-06-23
KR100936239B1 KR100936239B1 (ko) 2010-01-12

Family

ID=40795993

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070133590A KR100936239B1 (ko) 2007-12-18 2007-12-18 스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법

Country Status (3)

Country Link
US (1) US8583816B2 (ko)
KR (1) KR100936239B1 (ko)
WO (1) WO2009078610A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101351570B1 (ko) * 2009-12-18 2014-01-16 한국전자통신연구원 커스터마이즈 어플리케이션 관리 장치 및 방법
KR20160040999A (ko) * 2014-10-06 2016-04-15 브이엠파이브 인크. 응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8584120B2 (en) * 2009-11-23 2013-11-12 Julian Michael Urbach Stream-based software application delivery and launching system
EP2545424A4 (en) * 2010-03-09 2014-07-16 Happy Cloud Inc DATA STREAMING FOR INTERACTIVE DECISION-MAKING SOFTWARE APPLICATIONS
US10114660B2 (en) 2011-02-22 2018-10-30 Julian Michael Urbach Software application delivery and launching system
US8782053B2 (en) * 2011-03-06 2014-07-15 Happy Cloud Inc. Data streaming for interactive decision-oriented software applications
KR20140012317A (ko) 2012-07-19 2014-02-03 삼성전자주식회사 프로세스 전송 시스템, 프로세스 전송 서버의 프로세스 전송 방법, 및 클라이언트의 프로세스 처리 방법
US9563716B2 (en) * 2012-10-30 2017-02-07 Cerner Innovation, Inc. Zero footprint application virtualization
WO2014120179A1 (en) * 2013-01-31 2014-08-07 Hewlett-Packard Development Company, L.P. Remote client application
TWI604382B (zh) * 2014-07-08 2017-11-01 緯創資通股份有限公司 應用程式分享方法以及使用該方法的系統

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197570B2 (en) * 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US6311221B1 (en) * 1998-07-22 2001-10-30 Appstream Inc. Streaming modules
US6574618B2 (en) * 1998-07-22 2003-06-03 Appstream, Inc. Method and system for executing network streamed application
US20010044850A1 (en) * 1998-07-22 2001-11-22 Uri Raz Method and apparatus for determining the order of streaming modules
US20030061323A1 (en) * 2000-06-13 2003-03-27 East Kenneth H. Hierarchical system and method for centralized management of thin clients
US7051315B2 (en) * 2000-09-26 2006-05-23 Appstream, Inc. Network streaming of multi-application program code
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US7062567B2 (en) * 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US6959320B2 (en) * 2000-11-06 2005-10-25 Endeavors Technology, Inc. Client-side performance optimization system for streamed applications
US20050044164A1 (en) * 2002-12-23 2005-02-24 O'farrell Robert Mobile data and software update system and method
US7366460B2 (en) * 2003-01-23 2008-04-29 Dexterra, Inc. System and method for mobile data update
US7146610B2 (en) * 2003-03-27 2006-12-05 Taiwan Semiconductor Manufacturing Company, Ltd. Method for upgrading software components without system shutdown
US20050066324A1 (en) * 2003-09-22 2005-03-24 Microsoft Corporation Method and system for distributing and installing software
CN1906573B (zh) * 2004-01-20 2011-01-05 美国博通公司 支持多个用户的系统和方法
US8230095B2 (en) * 2004-05-07 2012-07-24 Wyse Technology, Inc. System and method for integrated on-demand delivery of operating system and applications
EP1779245B1 (en) * 2004-07-20 2018-06-13 Microsoft Technology Licensing, LLC Method and system for minimizing loss in a computer application
US20060053057A1 (en) * 2004-08-18 2006-03-09 Michael Panayiotis A Context sensitive streaming system applications
US8346886B2 (en) * 2004-09-08 2013-01-01 Red Hat, Inc. System, method, and medium for configuring client computers to operate disconnected from a server computer while using a master instance of the operating system
US20060069796A1 (en) * 2004-09-29 2006-03-30 Infinium Labs, Inc. Method for automatic patching of a sparsely streamed application
JP2008527468A (ja) * 2004-11-13 2008-07-24 ストリーム セオリー,インコーポレイテッド ハイブリッド・ローカル/リモート・ストリーミング
KR100654675B1 (ko) * 2004-12-04 2006-12-08 소프트온넷(주) 호스트 컴퓨터상에서 응용프로그램 수행을 위한 휴대용디지털 저장장치 시스템 및 방법
US20060212846A1 (en) * 2005-03-21 2006-09-21 Dexterra, Inc. Data management for mobile data system
JP4544029B2 (ja) * 2005-05-16 2010-09-15 日本電気株式会社 携帯端末、ストリーミング通信システム、ストリーミング通信方法及びストリーミング通信プログラム
KR20070061121A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 데이터 파일의 확장자를 이용한 스트리밍 서비스 방법,이를 이용한 스트리밍 클라이언트 장치 및 스트리밍 서버
US8190682B2 (en) * 2006-03-31 2012-05-29 Amazon Technologies, Inc. Managing execution of programs by multiple computing systems
US8176486B2 (en) * 2007-02-15 2012-05-08 Clearcube Technology, Inc. Maintaining a pool of free virtual machines on a server computer
US9239666B2 (en) * 2007-09-12 2016-01-19 Citrix Systems, Inc. Methods and systems for maintaining desktop environments providing integrated access to remote and local resources
US8583831B2 (en) * 2007-10-05 2013-11-12 Samsung Electronics Co., Ltd. Thin client discovery
JP5047870B2 (ja) * 2008-04-17 2012-10-10 株式会社日立製作所 マスタ管理システム、マスタ管理方法、およびマスタ管理プログラム
US8434093B2 (en) * 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
CN102197374B (zh) * 2008-10-24 2014-04-02 思杰系统有限公司 用于在组合的计算环境中给可修改的机器基本映像提供个性化桌面环境的方法和系统
US8380808B2 (en) * 2008-11-24 2013-02-19 Royal O'Brien Dynamic medium content streaming system
US8352952B2 (en) * 2008-12-01 2013-01-08 Citrix Systems, Inc. Systems and methods for facilitating virtualization of a heterogeneous processor pool
US8418181B1 (en) * 2009-06-02 2013-04-09 Amazon Technologies, Inc. Managing program execution based on data storage location
US20110161404A1 (en) * 2009-12-31 2011-06-30 Nimbus Is, Inc. Systems and methods for communicating data between a server and a device on a virtual desktop
US8732763B2 (en) * 2010-04-01 2014-05-20 Disney Enterprises, Inc. Navigation and discovery of video on demand content via tv schedule on handheld devices
US8489708B2 (en) * 2010-04-06 2013-07-16 Microsoft Corporation Virtual application extension points
WO2012146985A2 (en) * 2011-04-28 2012-11-01 Approxy Inc. Ltd. Adaptive cloud-based application streaming
US20130178241A1 (en) * 2011-10-31 2013-07-11 Inset, Inc. System and method for context based user intent sensing and content or application delivery on mobile devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101351570B1 (ko) * 2009-12-18 2014-01-16 한국전자통신연구원 커스터마이즈 어플리케이션 관리 장치 및 방법
KR20160040999A (ko) * 2014-10-06 2016-04-15 브이엠파이브 인크. 응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치

Also Published As

Publication number Publication date
WO2009078610A3 (en) 2009-10-01
KR100936239B1 (ko) 2010-01-12
WO2009078610A2 (en) 2009-06-25
US8583816B2 (en) 2013-11-12
US20100268842A1 (en) 2010-10-21

Similar Documents

Publication Publication Date Title
KR100936239B1 (ko) 스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법
KR101626117B1 (ko) 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법
EP3403177B1 (en) Managing delivery of code and dependent data using application containers
US20160381105A1 (en) Local streaming proxy server
US8239662B1 (en) Network based operating system across devices
US20060253548A1 (en) Method and system for hosting and executing a component application
CA2624968C (en) Multimedia middleware apparatus using metadata, method for controlling multimedia middleware, and storage medium thereof
JP2003114806A (ja) Os更新方法及びセキュリティ制御方法並びにその実施装置
WO2008017001A2 (en) Sharing live appliances
JP2011175662A (ja) デバイス上のコンポーネントを自動的に処理するシステム
CN111147599B (zh) 缓存数据的更新方法、装置、服务器及存储介质
CN101360127A (zh) 文件更新方法及传输系统
US8335760B1 (en) Grid computing system to manage utility service content
KR101638689B1 (ko) 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템
EP2972829A1 (en) Modification of compiled applications and application management using retrievable policies
WO2019096269A1 (zh) 预置第三方应用的管理方法、智能终端及存储介质
KR100942695B1 (ko) 클라이언트 시스템 및 그의 소프트웨어 버전 관리 방법
KR101079461B1 (ko) 리소스 설치 및 관리 시스템 및 리소스 설치 및 관리 방법
CN113422791B (zh) 云服务配置方法和装置、电子设备以及计算机可读存储介质
KR100653179B1 (ko) 플랫폼 동적 업그레이드 기능을 가지는 무선통신단말기 및그 방법
KR100995431B1 (ko) 장치 관리 서버 및 이동 통신 단말기
KR100579806B1 (ko) 무선 인터넷 서비스 플랫폼 다운로드 시스템 및 방법과이를 위한 이동 통신 단말기
JP2009301472A (ja) 情報端末、アプリケーション管理システム、端末アプリケーション管理方法及びアプリケーション管理方法
JP2004133594A (ja) 端末装置管理システム、端末装置管理サーバ、及び端末装置
CN117412128A (zh) 一种电视应用运行模式确定方法以及装置

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131209

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141229

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170103

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190121

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 11