KR100934213B1 - 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치 및 방법 - Google Patents

소프트웨어 스트리밍을 위한 기능 유닛 생성 장치 및 방법 Download PDF

Info

Publication number
KR100934213B1
KR100934213B1 KR1020060107419A KR20060107419A KR100934213B1 KR 100934213 B1 KR100934213 B1 KR 100934213B1 KR 1020060107419 A KR1020060107419 A KR 1020060107419A KR 20060107419 A KR20060107419 A KR 20060107419A KR 100934213 B1 KR100934213 B1 KR 100934213B1
Authority
KR
South Korea
Prior art keywords
function
software
unit
generating
initialization
Prior art date
Application number
KR1020060107419A
Other languages
English (en)
Other versions
KR20080039728A (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 KR1020060107419A priority Critical patent/KR100934213B1/ko
Priority to US12/513,294 priority patent/US20100070568A1/en
Priority to PCT/KR2007/005378 priority patent/WO2008054110A1/en
Publication of KR20080039728A publication Critical patent/KR20080039728A/ko
Application granted granted Critical
Publication of KR100934213B1 publication Critical patent/KR100934213B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치 및 방법에 관한 것으로, 소프트웨어의 기능이 실행됨에 따라 발생되는 이벤트를 분석하여 상기 기능에 대한 기능 정보를 생성하는 기능 필터부와, 상기 기능을 실행하기 위해 필요한 페이지들을 수집하여 상기 기능에 대한 페이지 정보를 생성하는 페이지 수집부와, 상기 소프트웨어의 각 기능을 실행하고, 상기 기능의 실행시에 생성되는 상기 기능 정보와 상기 페이지 정보간을 서로 매핑하여 상기 기능에 대한 기능 유닛을 생성하는 소프트웨어 제어부를 포함하여 구성되며, 이에 의하여 소프트웨어의 각 기능에 대한 페이지들을 파악한 후 기능 유닛 단위로 해당 페이지들을 스트리밍되도록 함으로써, 보다 빠른 소프트웨어 스트리밍 서비스를 제공할 수 있도록 하고, 소프트웨어의 각 기능과 해당 기능의 페이지들을 파악하고 관리할 수 있도록 하여, 네트워크 고장시에도 기존에 스트리밍된 페이지들을 이용하여 지속적인 서비스가 가능하도록 한다.
소프트웨어 스트리밍, 기능 유닛 단위 스트리밍

Description

소프트웨어 스트리밍을 위한 기능 유닛 생성 장치 및 방법{Function unit generating apparatus and method for software streaming}
도1은 종래의 기술에 따른 클라이언트 단말기의 소프트웨어 스트리밍 방법을 설명하기 위한 흐름도,
도2는 본 발명의 일실시예에 따른 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치의 구성도,
도3은 본 발명의 일실시예에 따른 소프트웨어 스트리밍을 위한 기능 유닛 생성 방법을 설명하기 위한 흐름도,
도4는 본 발명의 일실시예에 따른 기능별 페이지 구성도,
도5는 도3의 기능 유닛 방법을 이용한 클라이언트 단말기의 소프트웨어 스트리밍 방법을 설명하기 위한 흐름도.
도6은 본 발명의 일실시예에 따른 기능 유닛을 생성하기 위한 소프트웨어의 구성 파일들, 그리고
도7은 본 발명의 일실시예에 따른 소프트웨어의 기능 유닛을 나타낸 도면이다.
본 발명은 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치에 관한 것이며, 특히 소프트웨어가 제공하는 기능 단위로 스트리밍할 수 있도록 하는 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치 및 방법에 관한 것이다.
소프트웨어 스트리밍 서비스는 원격에 있는 소프트웨어에 대한 다운로드나 설치없이 서버에 있는 소프트웨어를 스트리밍하여 클라이언트 단말기에서 실행할 수 있도록 하는 서비스이다.
이러한 소프트웨어 스트리밍 서비스를 제공하기 위해서는 클라이언트 단말기와 서버는 해당 소프트웨어에 대한 전처리 작업을 실행하여, 해당 소프트웨어 구성 파일 목록을 수집하고, 운영체제에서 사용하는 페이지 단위로 소프트웨어의 파일들을 나누어준다.
그러나 종래의 클라이언트 단말기는 스트리밍의 대상이 되는 소프트웨어의 내부 구조에 대한 파악없이 운영 체제에서 요청하는 페이지에 대해서만 실시간으로 서버로 요청하고, 서버는 전처리 작업에서 나누어 놓은 페이지들 중 선택된 페이지들을 획득하여 클라이언트 단말기로 전송한다.
도1은 종래의 기술에 따른 클라이언트 단말기의 소프트웨어 스트리밍 방법을 설명하기 위한 도면이다.
종래의 클라이언트는 사용자에 의해 소프트웨어의 실행을 위한 초기화가 실행되면(S11), 이를 위해 운영체제에서 필요로 하는 페이지를 파악하고, 해당 페이지의 제공을 서버로 요청한다(S12).
서버(200)가 요청한 페이지를 전송하면 클라이언트 단말기(100)는 이를 수신한 후, 운영 체제에서 필요로 하는 페이지가 더 이상 존재하지 않을 때 까지(S13), 단계 S12와 S13을 반복 실행한다.
이에 운영체제에서 요청하는 페이지가 더 이상 존재하지 않으면, 클라이언트 단말기는 소프트웨어의 초기화를 위해 필요한 페이지를 모두 전송받았음을 확인하고, 수신한 페이지들을 기반으로 하여 소프트웨어를 초기화한다(S14).
초기화가 완료된 상태에서 사용자가 소프트웨어의 특정 기능을 선택하면(S15), 클라이언트 단말기는 선택된 기능의 실행을 위해 운영체제에서 필요로 하는 페이지를 파악하고(S16), 서버로 파악된 페이지를 요청한다(S17).
서버(200)가 요청한 페이지를 전송하면 클라이언트 단말기(100)는 다시 운영 체제에서 필요로 하는 페이지가 더 이상 존재하지 않을 때 까지(S18), 단계 S17과 S18을 반복 실행한다.
그리고 단계 S18의 확인 결과, 운영 체제에서 필요로 하는 페이지가 더 존재하지 않으면, 클라이언트 단말기는 해당 기능의 실행을 위해 필요한 페이지들을 모두 전송받았음을 확인하고, 수신한 페이지들을 기반으로 사용가가 요청한 소프트웨어의 특정 기능을 실행한다(S16).
상기의 방법을 통해, 종래의 클라이언트 단말기는 서버에 존재하는 소프트웨어를 마치 자신의 지역 시스템의 존재하는 소프트웨어처럼 사용할 수 있게 된다.
그러나 종래의 기술에 따른 소프트웨어 스트리밍 방법은 소프트웨어가 특정 기능을 실행하기 전에는 해당 기능에 필요한 페이지가 무엇인지 전혀 알 수 가 없 었다.
이에 소프트웨어의 특정 기능이 실행되어야만 해당 기능에 필요한 페이지들을 파악하고 서버로 요청할 수 있었기 때문에, 요청-수신과정(단계 S13 내지 S14 및 단계 S17 내지 S18)을 필요한 페이지 개수만큼 반복해야 하는 문제가 있었다.
예를 들어, "인쇄" 기능을 실행하기 위해 클라이언트 단말기의 운영체제가 5개의 실행 페이지와 1개의 데이터 페이지가 요구되면, 클라이언트와 서버간에는 6번의 요청-수신과정(단계 S14~S15)이 실행되어야 했다.
따라서 종래의 소프트웨어 스트리밍 방법은 클라이언트 단말기의 불필요한 서비스 로딩 시간의 증가를 초래할 뿐 만 아니라, 스트리밍된 데이터들에 대한 기능 정보가 제대로 관리되지 못해 네트워크상의 문제가 발생하면 해당 서비스를 중단해야 하는 최악의 경우도 발생할 수 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 소프트웨어의 기능에 해당하는 페이지들 모두를 한번에 스트리밍할 수 있도록 하여, 클라이언트 단말기의 소프트웨어의 서비스 로딩 시간을 감소시키고 네트워크 고장시에도 해당 소프트웨어의 실행을 안정적으로 지원할 수 있도록 하는 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치 및 방법을 제공하는 데 있다.
상기와 같은 본 발명의 목적을 달성하기 위하여, 본 발명의 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치는 소프트웨어의 기능이 실행됨에 따라 발생되는 이벤트를 분석하여 상기 기능에 대한 기능 정보를 생성하는 기능 필터부와, 상기 기능을 실행하기 위해 필요한 페이지들을 수집하여 상기 기능에 대한 페이지 정보를 생성하는 페이지 수집부와, 상기 소프트웨어의 각 기능을 실행하고, 상기 기능의 실행시에 생성되는 상기 기능 정보와 상기 페이지 정보간을 서로 매핑하여 상기 기능에 대한 기능 유닛을 생성하는 소프트웨어 제어부를 구비하는 것을 특징으로 한다.
상기와 같은 본 발명의 목적을 달성하기 위하여, 본 발명의 소프트웨어 스트리밍을 위한 기능 유닛 생성 방법은 소프트웨어의 초기화를 실행하여, 상기 소프트웨어의 초기화를 실행하기 위해 필요한 페이지들을 파악하여 초기화 유닛을 생성하는 초기화 유닛 생성 단계와, 상기 소프트웨어의 기능을 선택하여, 상기 선택된 기능의 실행을 위해 필요한 페이지들과 상기 기능에 의해 발생되는 이벤트를 파악하여 상기 선택된 기능에 대한 기능 실행 유닛을 생성하는 기능 실행 유닛 생성 단계를 구비하는 것을 특징으로 한다.
상기와 같은 본 발명의 목적을 달성하기 위하여, 본 발명의 클라이언트의 소프트웨어 스트리밍 방법은 소프트웨어의 초기화를 실행하기 위해 필요한 페이지들을 파악하여 초기화 유닛을 생성한 후, 각 기능의 실행을 위해 필요한 상기 페이지들과 상기 각 기능에 의해 발생되는 이벤트를 파악하여 상기 각 기능에 대한 기능 실행 유닛을 생성하는 기능 유닛 생성 단계와, 상기 소프트웨어의 초기화가 재실행되면, 상기 초기화 유닛에 따라 상기 서버로부터 상기 소프트웨어의 초기화에 필요한 페이지들을 스트리밍받는 초기화 실행 단계와, 상기 소프트웨어의 기능이 선택 되면, 상기 선택된 기능에 대한 기능 실행 유닛에 따라 상기 서버로부터 상기 선택된 기능의 실행에 필요한 페이지들을 스트리밍받는 기능 실행 단계를 구비하는 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시 예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.
이하, 첨부된 도면에 따라 본 발명을 상세하게 설명하면 다음과 같다.
도2는 본 발명의 일실시예에 따른 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치의 구성도를 도시한 도면이다.
도2를 참조하면, 기능 유닛 생성 장치(100)는 소프트웨어 관리부(110), 운영체제(120), 데이터 저장부(130), 및 메모리(140)를 구비하고, 소프트웨어 관리부(110)는 소프트웨어 실행부(111), 기능 유닛 생성부(112), 기능 필터부(113), 및 페이지 수집부(114)를 구비한다.
소프트웨어 실행부(111)는 사용자의 요청 동작을 감지하여, 메모리(140)에 적재된 페이지들을 기반으로 하여 소프트웨어의 각 기능을 실행한다.
기능 유닛 생성부(112)는 소프트웨어 실행부(111)가 소프트웨어의 각 기능이 최초로 실행될 때에, 기능 필터부(113)를 통해 획득된 기능 정보에 페이지 수집부(114)를 통해 수집된 페이지 정보를 매핑하여 각 기능에 대한 기능 유닛을 생성한다.
바람직하게는 기능 유닛은 크게 두 가지로 구분한다. 하나는 소프트웨어의 초기화를 실행하기 위해 필요한 페이지들의 정보를 가지는 초기화 유닛과 소프트웨어의 각 기능을 실행하기 위한 페이지들의 정보를 가지는 기능 실행 유닛이다.
기능 필터부(113)는 소프트웨어 실행부(111)가 소프트웨어의 각 기능을 실행함에 따라 호출 및 실행되는 이벤트를 파악 및 분석하여, 각 기능에 대한 기능 정보를 수집한다.
페이지 수집부(114)는 소프트웨어 실행부(111)가 소프트웨어의 각 기능을 실행함에 따라 데이터 저장부(130)에서 메모리(140)로 적재되는 페이지들을 분석 및 파악하여, 각 기능에 대한 페이지 정보를 수집한다.
운영 체제(120)는 소프트웨어의 특정 기능이 실행되면, 해당 기능의 실행에 필요한 페이지들을 데이터 저장부(130)에서 획득한 후, 메모리(140)로 적재한다.
데이터 저장부(130)는 소프트웨어의 실행에 필요한 구성 파일들을 운영체제(120)가 인식할 수 있도록 페이지 단위로 나누어 저장한다.
메모리(140)는 운영체제(120)의 제어하에 데이터 저장부(130)로부터 전송되는 페이지들을 적재하고, 기능 유닛 생성부(112)의 제어하에 적재된 페이지들을 삭제한다.
도3은 본 발명의 일실시예에 따른 소프트웨어 스트리밍을 위한 기능 유닛 생 성 방법을 설명하기 위한 흐름도이다.
먼저, 소프트웨어의 실행이 선택되어 소프트웨어의 초기화가 실행되면(S21), 기능 필터부(113)는 소프트웨어의 초기화가 실행됨을 확인하고, 이를 통보하기 위한 기능 정보를 생성하고, 페이지 수집부(114)는 소프트웨어의 초기화를 위해 데이터 저장부(130)에서 획득되어 메모리(140)로 적재되는 페이지들을 파악하여 페이지 정보를 수집한다(S22).
기능 유닛 생성부(112)는 기능 필터부(113)에 의해 획득된 기능 정보에 페이지 정보를 매핑하여, 소프트웨어의 초기화를 실행하기 위한 초기화 유닛을 생성한다(S23).
단계 S21내지 단계23을 통해 초기화 유닛이 생성되면, 소프트웨어는 대기 상태를 유지하면서, 사용자에 의해 특정 기능이 선택되는 지를 감시한다(S24).
사용자에 의해 특정 기능이 선택되면, 페이지 수집부(114)는 선택된 기능의 실행에 필요한 페이지들을 파악하여 페이지 정보를 수집하고, 기능 필터부(113)는 선택된 기능이 실행됨에 따라 호출 및 실행되는 이벤트를 파악 및 분석하여, 선택된 기능이 무엇인지를 알려주기 위한 기능 정보를 획득한다(S25).
기능 유닛 생성부(112)는 이미 생성된 기능 실행 유닛들을 검색하여, 기능 필터부(113)를 통해 획득된 기능 정보를 가지는 기능 실행 유닛이 존재하는지를 확인한다(S26).
단계 S26의 확인 결과, 획득된 기능 정보를 가지는 기능 실행 유닛이 존재하면, 기능 유닛 생성부(112)는 선택된 기능에 대한 기능 실행 유닛이 이미 작성되었 음을 확인한다. 그리고 새로운 기능에 대한 기능 실행 유닛을 생성할 수 있도록 다시 단계 S24로 진입한다.
반면에 단계 S26의 확인 결과, 획득된 기능 정보를 가지는 기능 실행 유닛이 없으면, 기능 유닛 생성부(112)는 선택된 기능에 대한 기능 실행 유닛이 아직 작성되지 않았음을 확인하고, 단계 S25를 통해 획득된 기능 정보와 페이지 정보를 매핑하여 선택된 기능에 대한 기능 실행 유닛을 생성한다(S27).
단계 S27이 완료되면, 기능 유닛 생성부(112)는 메모리(140)에 적재된 페이지들 중 초기화 유닛에 대응되는 페이지들을 제외한 페이지들은 모두 삭제한다. 즉, 현재 생성된 기능 실행 유닛에 해당하는 페이지들 모두를 삭제한다(S28). 그리고 단계 S24로 재진입하여 새로운 기능에 대한 기능 실행 유닛을 더 생성할 수 있도록 한다.
이때, 기능 유닛 생성부(112)가 기능 실행 유닛의 생성을 위해 적재된 페이지들 모두를 삭제하는 것은 여러 기능에서 중복으로 접근하는 페이지 정보를 정확하게 수집하기 위함이다.
예를 들어, 도4에 도시된 바와 같이 기능 A에 대한 페이지들 p1, p2, p3이고, 기능 B에 대한 페이지들이 p3, p4, p5라고 가정하자. 먼저, 기능 A에 대한 기능 유닛이 생성하고 나면, 메모리(140)에는 p1, p2, p3가 적재되어 있다. 이러한 상태에서, 기능 B를 막바로 실행하면, p3은 이미 메모리에 적재되어 있기 때문에 페이지 수집부(114)에서는 p3의 페이지의 정보를 알아 낼 수 없다. 이에 각 기능에 대한 기능 유닛을 생성한 후에는 해당 기능에 대한 페이지들을 메모리(140)에서 삭 제해야 한다.
이와 같은 기능 유닛 생성 장치(100)는 사용자의 필요에 따라 클라이언트 단말기내의 지역 시스템으로 구현되거나, 클라이언트 단말기와는 물리적으로 분리된 별도의 장치로 구현될 수 있다.
도5는 도3의 기능 유닛 방법을 이용한 클라이언트 단말기의 소프트웨어 스트리밍 방법을 설명하기 위한 도면이다.
사용자에 의해 소프트웨어의 실행이 선택되어 해당 소프트웨어의 초기화 동작이 요청되면(S31), 클라이언트 단말기(100)는 초기화 유닛을 참조하여, 소프트웨어의 초기화를 위해 필요한 페이지들을 파악하고, 이를 서버(200)에 요청한다(S32).
서버(200)가 이에 응답하여 요청한 페이지들을 전송하면, 클라이언트 단말기(100)는 이를 수신하고, 이를 기반으로 하여 소프트웨어의 초기화를 실행한다(S33).
그리고 사용자가 특정 기능을 선택하면(S34), 클라이언트 단말기(100)는 선택된 기능에 대응되는 기능 유닛을 참조하여 서버(200)에 선택된 기능을 실행하기 위한 페이지들의 전송을 요청한다(S35).
이에 서버(200)가 선택된 기능을 실행하기 위한 페이지들을 동시에 획득하여 전송하면, 클라이언트 단말기(100)는 이들 모두를 수신하고, 수신한 페이지들을 기반으로 하여 사용자가 요청한 소프트웨어의 특정 기능을 실행한다(S36).
이와 같은 방법으로 본 발명은 클라이언트 단말기는 서버에 존재하는 소프트 웨어를 마치 자신의 지역 시스템의 존재하는 소프트웨어처럼 사용할 수 있게 하되, 선택된 기능의 실행에 필요한 페이지들을 사전에 알 수 있도록 한다.
그리고 소프트웨어의 특정 기능이 실행되면 해당 기능에 필요한 페이지들을 동시에 파악하고, 한번의 요청-수신과정(S32 및 S35)을 통해 필요한 페이지들을 모두를 수신할 수 있도록 한다.
예를 들어, "인쇄" 기능을 실행하기 위해 클라이언트 단말기의 운영체제가 5개의 실행 페이지와 1개의 데이터 페이지의 데이터가 요구되더라도, 클라이언트 단말기는 해당 페이지들 모두를 한번에 파악하고 한번의 요청-수신과정(단계 S35)을 통해 해당 페이지들 모두를 수신할 수 있도록 한다.
도6은 본 발명의 일실시예에 따른 기능 유닛을 생성하기 위한 소프트웨어의 구성 파일들을 나타낸 도면이고, 도7은 본 발명의 일실시예에 따른 소프트웨어의 기능 유닛을 나타낸 도면이다.
소프트웨어의 구성 파일은 도6에 도시된 바와 같이 파일1, 파일2, 및 파일3으로 구성되어 있고, 파일1은 3개의 페이지로, 파일2는 5개의 페이지로, 파일3은 4개의 페이지로 각각 나뉘어 진다.
반면에, 소프트웨어의 기능 유닛은 초기화 유닛과 기능 실행 유닛으로 나뉘어 지며, 초기화 유닛은 파일1의 제1페이지(p1)및 제2페이지(p2)와 파일2의 제2페이지(p2), 및 제3페이지(p3)와 파일3의 제1페이지(p1)를, 기능A의 기능 실행 유닛은 파일2의 제1페이지(p1), 제4페이지(p4), 및 제5페이지(p5)와 파일3의 제3페이지(p3) 및 제4페이지(p4)를, 기능B의 기능 실행 유닛은 파일1의 제3페이지(p3)와 파일3의 제2페이지(p2)를 각각 구비한다.
이에 본 발명의 클라이언트 단말기는 소프트웨어의 특정 기능 실행시에 소프트웨어의 구성 파일에 상관없이, 기능 유닛을 참조하여 필요한 파일의 페이지들만을 서버로부터 제공받는다.
예를 들어, 소프트웨어의 기능A를 실행할 때에는 파일2의 제1페이지(p1), 제4페이지(p4), 및 제5페이지(p5)와 파일3의 제3페이지(p3) 및 제4페이지(p4) 모두를 동시에 제공받고, 기능B를 실행할 때에는 파일1의 제3페이지(p3)와 파일3의 제2페이지(p2) 모두를 동시에 제공받는다.
이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다.
따라서 본 발명의 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치 및 방법은 소프트웨어의 각 기능에 대한 페이지들을 파악한 후 기능 유닛 단위로 해당 페이지들을 스트리밍되도록 함으로써, 보다 빠른 소프트웨어 스트리밍 서비스를 제공할 수 있도록 한다.
그리고 본 발명의 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치는 소프트웨어의 각 기능과 해당 기능의 페이지들을 파악하고 관리할 수 있도록 하여, 네트워크 고장시에도 기존에 스트리밍된 페이지들을 이용하여 서비스가 가능하도록 한다.
또한, 사용자가 사용하는 기능을 보다 정확히 파악할 수 있으므로, 클라이언트 단말기가 사용자가 사용하는 기능에 대해 요금을 부가하는 등의 보다 다양한 소프트웨어 스트리밍 서비스를 제공할 수 있도록 한다.

Claims (14)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 소프트웨어의 구성 파일들을 페이지 단위로 나누어서 저장하는 데이터 저장부;
    상기 데이터 저장부로부터 전송되는 상기 페이지들을 적재하는 메모리부;
    상기 데이터 저장부에서 상기 소프트웨어가 제공하는 기능의 실행에 필요한 상기 페이지들을 획득하여 상기 메모리부로 전송하는 운영체제;
    상기 소프트웨어가 제공하는 기능이 실행됨에 따라 발생되는 이벤트를 분석하여 상기 기능에 대한 기능 정보를 생성하는 기능 필터부;
    상기 소프트웨어가 제공하는 기능을 실행하기 위해 필요한 페이지들을 수집하여 상기 기능에 대한 페이지 정보를 생성하는 페이지 수집부; 및
    상기 소프트웨어가 제공하는 각 기능을 실행하고, 상기 기능의 실행시에 생성되는 상기 기능 정보와 상기 페이지 정보간을 서로 매핑하여 상기 기능에 대한 기능 실행 유닛을 생성하는 소프트웨어 제어부를 구비하는 것을 특징으로 하는 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치.
  6. 서버에서 클라이언트로의 소프트웨어 스트리밍을 위한 기능 유닛 생성 방법에 있어서,
    소프트웨어의 초기화를 실행하여, 상기 소프트웨어의 초기화를 실행하기 위해 필요한 페이지들을 파악하여 초기화 유닛을 생성하는 초기화 유닛 생성 단계; 및
    상기 소프트웨어가 제공하는 기능을 선택하여, 상기 선택된 기능의 실행을 위해 필요한 페이지들과 상기 기능에 의해 발생되는 이벤트를 파악하여 상기 선택된 기능에 대한 기능 실행 유닛을 생성하는 기능 실행 유닛 생성 단계를 구비하는 것을 특징으로 하는 소프트웨어 스트리밍을 위한 기능 유닛 생성 방법.
  7. 제6항에 있어서, 상기 초기화 유닛 생성 단계는
    상기 소프트웨어의 초기화가 실행되면, 상기 소프트웨어의 초기화가 실행됨을 통보하기 위한 기능 정보를 생성하는 단계;
    상기 초기화의 실행을 위해 필요한 페이지들을 파악하여 페이지 정보를 수집하는 단계; 및
    상기 기능 정보에 상기 페이지 정보를 매핑하여, 상기 초기화 유닛을 생성하는 단계를 구비하는 것을 특징으로 하는 소프트웨어 스트리밍을 위한 기능 유닛 생성 방법.
  8. 제6항에 있어서, 상기 기능 실행 유닛 생성 단계는
    상기 소프트웨어가 제공하는 기능이 선택되면, 상기 선택된 기능을 실행하기 위한 페이지들을 파악하여 페이지 정보를 수집하는 단계;
    상기 선택된 기능에 의해 발생되는 이벤트를 파악하여 기능 정보를 생성하는 단계; 및
    상기 기능 정보에 상기 페이지 정보를 매핑하여, 상기 선택된 기능에 대한 기능 실행 유닛을 생성하는 단계를 구비하는 것을 특징으로 하는 소프트웨어 스트리밍을 위한 기능 유닛 생성 방법.
  9. 제8항에 있어서, 상기 기능 실행 유닛 생성 단계는
    상기 선택된 기능에 대한 기능 실행 유닛의 생성이 완료되면, 상기 기능 실행 유닛의 생성을 위해 수집된 상기 페이지들을 삭제하는 단계를 더 구비하는 것을 특징으로 하는 소프트웨어 스트리밍을 위한 기능 유닛 생성 방법.
  10. 서버에 원격 접속되는 클라이언트 단말기의 소프트웨어 스트리밍 방법에 있어서,
    상기 클라이언트 단말기내에 구비된 기능 유닛 생성부에서, 소프트웨어의 초기화를 실행하기 위해 필요한 페이지들을 파악하여 초기화 유닛을 생성한 후, 각 기능의 실행을 위해 필요한 상기 페이지들과 상기 각 기능에 의해 발생되는 이벤트를 파악하여 상기 각 기능에 대한 기능 실행 유닛을 생성하는 기능 유닛 생성 단계;
    상기 클라이언트 단말기내에 구비된 소프트웨어 실행부에서, 상기 소프트웨어의 초기화가 재실행되면, 상기 초기화 유닛에 따라 상기 서버로부터 상기 소프트웨어의 초기화에 필요한 페이지들을 스트리밍받는 초기화 실행 단계; 및
    상기 클라이언트 단말기내에 구비된 소프트웨어 실행부에서, 상기 소프트웨어가 제공하는 기능이 선택되면, 상기 선택된 기능에 대한 기능 실행 유닛에 따라 상기 서버로부터 상기 선택된 기능의 실행에 필요한 페이지들을 스트리밍받는 기능 실행 단계를 구비하는 것을 특징으로 하는 클라이언트 단말기의 소프트웨어 스트리밍 방법.
  11. 제10항에 있어서, 상기 기능 유닛 생성 단계는
    상기 소프트웨어의 초기화를 실행하기 위한 페이지들을 파악하여 상기 초기화 유닛을 생성하는 초기화 유닛 생성 단계; 및
    상기 선택된 기능을 실행하기 위한 페이지들과 상기 선택된 기능에 의해 발생되는 이벤트를 파악하여 상기 선택된 기능에 대한 기능 실행 유닛을 생성하는 기능 실행 유닛 생성 단계를 구비하는 것을 특징으로 하는 클라이언트 단말기의 소프트웨어 스트리밍 방법.
  12. 제11항에 있어서, 상기 초기화 유닛 생성 단계는
    상기 소프트웨어의 초기화가 실행되면, 상기 소프트웨어의 초기화가 실행됨을 통보하기 위한 기능 정보를 생성하는 단계;
    상기 초기화의 실행을 위해 필요한 페이지들을 파악하여 페이지 정보를 수집하는 단계; 및
    상기 기능 정보에 상기 페이지 정보를 매핑하여, 상기 초기화 유닛을 생성하는 단계를 구비하는 것을 특징으로 하는 클라이언트 단말기의 소프트웨어 스트리밍 방법.
  13. 제11항에 있어서, 상기 기능 실행 유닛 생성 단계는
    상기 소프트웨어의 상기 기능이 선택되면, 상기 선택된 기능을 실행하기 위한 페이지들을 파악하여 페이지 정보를 수집하는 단계;
    상기 선택된 기능에 의해 발생되는 이벤트를 파악하여 기능 정보를 생성하는 단계; 및
    상기 기능 정보에 상기 페이지 정보를 매핑하여, 상기 선택된 기능에 대한 기능 실행 유닛을 생성하는 단계를 구비하는 것을 특징으로 하는 클라이언트 단말기의 소프트웨어 스트리밍 방법.
  14. 제11항에 있어서, 상기 기능 실행 유닛 생성 단계는
    상기 선택된 기능에 대한 기능 실행 유닛의 생성이 완료되면, 상기 기능 실행 유닛의 생성을 위해 수집된 상기 페이지들을 삭제하는 단계를 더 구비하는 것을 특징으로 하는 클라이언트 단말기의 소프트웨어 스트리밍 방법.
KR1020060107419A 2006-11-01 2006-11-01 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치 및 방법 KR100934213B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020060107419A KR100934213B1 (ko) 2006-11-01 2006-11-01 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치 및 방법
US12/513,294 US20100070568A1 (en) 2006-11-01 2007-10-30 Function unit generating apparatus and method for software streaming
PCT/KR2007/005378 WO2008054110A1 (en) 2006-11-01 2007-10-30 Function unit generating apparatus and method for software streaming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060107419A KR100934213B1 (ko) 2006-11-01 2006-11-01 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080039728A KR20080039728A (ko) 2008-05-07
KR100934213B1 true KR100934213B1 (ko) 2009-12-29

Family

ID=39344428

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060107419A KR100934213B1 (ko) 2006-11-01 2006-11-01 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치 및 방법

Country Status (3)

Country Link
US (1) US20100070568A1 (ko)
KR (1) KR100934213B1 (ko)
WO (1) WO2008054110A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060061752A (ko) * 2004-12-02 2006-06-08 한국전자통신연구원 코드 모듈 간의 상관 관계 정보에 따른 소프트웨어스트리밍 방법 및 그에 따른 코드 모듈 간의 상관 관계정보를 이용한 캐싱 방법
KR100587532B1 (ko) 2004-12-07 2006-06-08 한국전자통신연구원 스트리밍 서비스용 응용 소프트웨어 제작 장치 및 방법과네트워크 고장감내를 지원하는 소프트웨어 스트리밍서비스 제공 시스템 및 방법
KR20060071837A (ko) * 2004-12-22 2006-06-27 한국전자통신연구원 Cdn 기반 s/w 스트리밍 서비스 시스템 및 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453334B1 (en) * 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US6574618B2 (en) * 1998-07-22 2003-06-03 Appstream, Inc. Method and system for executing network streamed application
US20020087717A1 (en) * 2000-09-26 2002-07-04 Itzik Artzi Network streaming of multi-application program code
US7043524B2 (en) * 2000-11-06 2006-05-09 Omnishift Technologies, Inc. Network caching system for streamed applications
US20030123387A1 (en) * 2001-12-31 2003-07-03 Jackson Andrew Lloyd Device and method for filtering network traffic
US7735057B2 (en) * 2003-05-16 2010-06-08 Symantec Corporation Method and apparatus for packaging and streaming installation software

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060061752A (ko) * 2004-12-02 2006-06-08 한국전자통신연구원 코드 모듈 간의 상관 관계 정보에 따른 소프트웨어스트리밍 방법 및 그에 따른 코드 모듈 간의 상관 관계정보를 이용한 캐싱 방법
KR100587532B1 (ko) 2004-12-07 2006-06-08 한국전자통신연구원 스트리밍 서비스용 응용 소프트웨어 제작 장치 및 방법과네트워크 고장감내를 지원하는 소프트웨어 스트리밍서비스 제공 시스템 및 방법
KR20060071837A (ko) * 2004-12-22 2006-06-27 한국전자통신연구원 Cdn 기반 s/w 스트리밍 서비스 시스템 및 방법

Also Published As

Publication number Publication date
KR20080039728A (ko) 2008-05-07
WO2008054110A1 (en) 2008-05-08
US20100070568A1 (en) 2010-03-18

Similar Documents

Publication Publication Date Title
US8201162B2 (en) Software updating system, software updating method, and software updating program
JP7158864B2 (ja) システムおよびそれを用いる方法
JP4677813B2 (ja) サーバ性能計測方法及びサーバ性能計測システム並びにこれらに用いるコンピュータプログラム
US8024712B1 (en) Collecting application logs
US8321860B2 (en) Local collector
US9152343B2 (en) Information processing system that includes multiple information processors and executes process according to request received via network, and information processing method therein
JP4205323B2 (ja) 配信システム、配信サーバとその配信方法、配信プログラム
CN104272280A (zh) 服务器装置、系统及其控制方法
US8266178B2 (en) Management apparatus, information processing apparatus, and method therefor
JP2001306511A (ja) マシン情報の収集方法およびマシン情報の収集装置ならびにその記録媒体
CN111917833A (zh) 客户端程序在云环境中的应用方法、装置及系统
CN110460668A (zh) 一种文件上传方法、装置、计算机设备和存储介质
CN112035062B (zh) 云计算的本地存储的迁移方法、计算机设备及存储介质
CN112685270A (zh) 一种系统监控日志的采集方法、装置、电子设备及介质
KR100934213B1 (ko) 소프트웨어 스트리밍을 위한 기능 유닛 생성 장치 및 방법
JP2008258846A (ja) イーサネットスイッチ及びリモートキャプチャシステム
JP6915345B2 (ja) クラウド管理装置、クラウド管理方法、及びプログラム
JP2004178336A (ja) 運用管理システム、管理計算機、監視対象計算機、運用管理方法及びプログラム
US8443061B2 (en) Data transmission method and communication control apparatus
CN114328026A (zh) 一种虚拟磁盘备份方法、装置、设备及介质
JP2014038454A (ja) ユーザデータ保存先判定サーバ、通信装置及びユーザデータ保存先判定方法
CN104348799B (zh) 一种网络访问请求的过滤方法及装置
US20160173399A1 (en) Adaptive compression
KR20070061121A (ko) 데이터 파일의 확장자를 이용한 스트리밍 서비스 방법,이를 이용한 스트리밍 클라이언트 장치 및 스트리밍 서버
CN100592299C (zh) 存储系统中文件信息的管理方法和存储系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee