KR102275320B1 - 공유 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치 - Google Patents

공유 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치 Download PDF

Info

Publication number
KR102275320B1
KR102275320B1 KR1020190112276A KR20190112276A KR102275320B1 KR 102275320 B1 KR102275320 B1 KR 102275320B1 KR 1020190112276 A KR1020190112276 A KR 1020190112276A KR 20190112276 A KR20190112276 A KR 20190112276A KR 102275320 B1 KR102275320 B1 KR 102275320B1
Authority
KR
South Korea
Prior art keywords
shared
program
terminal
terminals
information
Prior art date
Application number
KR1020190112276A
Other languages
English (en)
Other versions
KR20210030742A (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 KR1020190112276A priority Critical patent/KR102275320B1/ko
Publication of KR20210030742A publication Critical patent/KR20210030742A/ko
Application granted granted Critical
Publication of KR102275320B1 publication Critical patent/KR102275320B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0645Rental transactions; Leasing transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

공유 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치가 개시된다. 개시되는 일 실시예에 따른 공유 서비스 방법은, 하나 이상의 프로세서들, 및 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 사용자 단말로부터 프로그램 실행 요청을 수신하는 단계, 프로그램 실행 요청에 대응하는 프로그램이 설치된 공유 단말들 중에서 선택된 공유 단말로 프로그램 구동 요청을 송신하는 단계, 및 선택된 공유 단말에서 실행되는 프로그램 실행 결과 정보를 수신하여 사용자 단말로 송신하는 단계를 포함한다.

Description

공유 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치{METHOD FOR SHARING SERVICE AND COMPUTING DEVICE FOR EXECUTING THE METHOD}
개시되는 실시예는 공유 서비스 기술과 관련된다.
최근, 소프트웨어들은 보다 다양한 기능을 제공하고 고화질의 그래픽 등이 사용되면서 소프트웨어를 실행시키기 위한 컴퓨터 사양이 증가하고 있는 추세이다. 그러나, 일반 컴퓨터 유저들이 이러한 컴퓨터 사양을 따라가기 위해 하드웨어를 업그레이드 하는 데는 비용이 많이 들게 된다.
한편, PC 방이나 일부 컴퓨터 유저들은 PC 성능을 자주 업그레이드 하고 있다. 그러나, 이러한 컴퓨터들이 사용자에 의해 항상 사용되고 있는 것은 아닌 바, 유휴 상태의 고사양의 PC를 다른 유저들이 이용할 수 있는 방안이 요구된다.
개시되는 실시예는 공유 단말을 이용하여 프로그램을 원격에서 실행시킬 수 있는 새로운 기법의 공유 서비스 기술을 제공하기 위한 것이다.
개시되는 일 실시예에 따른 공유 서비스 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 사용자 단말로부터 프로그램 실행 요청을 수신하는 단계; 상기 프로그램 실행 요청에 대응하는 프로그램이 설치된 공유 단말들 중에서 선택된 공유 단말로 프로그램 구동 요청을 송신하는 단계; 및 상기 선택된 공유 단말에서 실행되는 프로그램 실행 결과 정보를 수신하여 상기 사용자 단말로 송신하는 단계를 포함한다.
상기 공유 서비스 방법은, 상기 공유 단말로부터 상기 공유 단말의 프로그램 리스트, 상기 공유 단말의 스펙 정보, 및 상기 공유 단말의 자원 현황 중 하나 이상을 수신하는 단계를 더 포함할 수 있다.
상기 프로그램 구동 요청을 송신하는 단계는, 상기 프로그램 실행 요청에 포함된 프로그램 식별 정보를 통해 유저가 실행시키고자 하는 프로그램의 종류를 확인하는 단계; 상기 공유 단말의 프로그램 리스트를 기반으로 기 등록된 공유 단말들 중 상기 프로그램이 설치된 공유 단말을 추출하는 단계; 상기 추출한 공유 단말의 스펙 정보 및 자원 현황 중 하나 이상을 기반으로 상기 추출한 공유 단말의 프로그램 구동 능력을 평가하는 단계; 및 상기 프로그램 구동 능력을 기반으로 상기 추출한 공유 단말들 중 상기 프로그램을 실행시킬 공유 단말을 결정하는 단계를 포함할 수 있다.
상기 프로그램 구동 요청을 송신하는 단계는, 상기 프로그램 실행 요청에 포함된 프로그램 식별 정보를 통해 유저가 실행시키고자 하는 프로그램의 종류를 확인하는 단계; 상기 공유 단말의 프로그램 리스트를 기반으로 기 등록된 공유 단말들 중 상기 프로그램이 설치된 공유 단말을 추출하는 단계; 상기 추출한 공유 단말의 스펙 정보 및 자원 현황 중 하나 이상을 기반으로 상기 추출한 공유 단말의 사용 가격 정보를 설정하는 단계; 상기 추출한 공유 단말의 리스트 및 상기 추출한 공유 단말의 사용 가격 정보를 포함하는 공유 단말 리스트 정보를 생성하는 단계; 및 상기 공유 단말 리스트 정보를 상기 사용자 단말로 송신하는 단계를 포함할 수 있다.
상기 공유 서비스 방법은, 상기 사용자 단말의 프로그램 실행 시간, 상기 선택된 공유 단말의 스펙 정보, 및 상기 선택된 공유 단말의 자원 현황 중 하나 이상을 기반으로 과금 정보를 생성하는 단계를 더 포함할 수 있다.
상기 공유 서비스 방법은, 상기 공유 단말로부터 상기 공유 단말의 프로그램 리스트, 상기 공유 단말의 사용 상태 정보, 상기 공유 단말의 스펙 정보, 및 상기 공유 단말의 자원 현황 중 하나 이상을 수신하는 단계를 더 포함할 수 있다.
상기 공유 서비스 방법은, 상기 컴퓨팅 장치와 상기 공유 단말들 간의 네트워크 상태를 모니터링하는 단계를 더 포함할 수 있다.
상기 프로그램 구동 요청을 송신하는 단계는, 상기 공유 단말의 프로그램 리스트, 상기 공유 단말의 사용 상태 정보, 상기 공유 단말 간의 네트워크 상태, 상기 공유 단말의 스펙 정보, 및 상기 공유 단말의 자원 현황 중 하나 이상을 기반으로 상기 프로그램 실행 요청에 대응하는 프로그램을 실행시킬 공유 단말을 결정하는 단계를 포함할 수 있다.
상기 프로그램 구동 요청을 송신하는 단계는, 상기 프로그램 실행 요청에 포함된 프로그램 식별 정보를 통해 유저가 실행시키고자 하는 프로그램의 종류를 확인하는 단계; 상기 공유 단말의 프로그램 리스트를 기반으로 기 등록된 공유 단말들 중 상기 프로그램이 설치된 공유 단말을 1차 추출하는 단계; 상기 1차 추출한 공유 단말들 중 상기 공유 단말의 사용 상태 정보를 기반으로 미사용 상태인 공유 단말을 2차 추출하는 단계; 상기 2차 추출한 공유 단말들 중 상기 공유 단말 간의 네트워크 상태가 기 설정된 기준 이상인 공유 단말을 3차 추출하는 단계; 상기 3차 추출한 공유 단말의 스펙 정보 및 상기 공유 단말의 자원 현황 중 하나 이상을 기반으로 상기 3차 추출한 공유 단말의 프로그램 구동 능력을 평가하는 단계; 및 상기 프로그램 구동 능력을 기반으로 상기 3차 추출한 공유 단말들 중 상기 프로그램을 실행시킬 공유 단말을 결정하는 단계를 포함할 수 있다.
개시되는 다른 실시예에 따른 공유 서비스 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 상기 컴퓨팅 장치를 공유 단말로 등록하는 단계; 상기 컴퓨팅 장치의 상태 정보 를 중개 서버로 송신하는 단계; 상기 중개 서버로부터 프로그램 식별 정보를 포함하는 프로그램 구동 요청을 수신하는 단계; 상기 컴퓨팅 장치에 설치된 프로그램들 중 상기 프로그램 식별 정보에 대응하는 프로그램을 실행시키는 단계; 및 상기 프로그램 실행에 따른 프로그램 실행 결과 정보를 상기 중개 서버로 송신하는 단계를 포함한다.
상기 공유 단말로 등록하는 단계는, 상기 컴퓨팅 장치에 설치된 프로그램들의 프로그램 리스트 및 상기 컴퓨팅 장치의 스펙 정보를 상기 중개 서버로 송신하는 단계를 포함할 수 있다.
개시되는 일 실시예에 따른 컴퓨팅 장치는, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치로서, 사용자 단말로부터 프로그램 실행 요청을 수신하는 통신부; 및 상기 프로그램 실행 요청에 대응하는 프로그램이 설치된 공유 단말들 중 상기 프로그램을 실행시킬 공유 단말을 결정하는 공유 단말 결정부를 포함하고, 상기 통신부는, 상기 결정된 공유 단말로 프로그램 구동 요청을 송신하고, 상기 결정된 공유 단말에서 실행되는 프로그램 실행 결과 정보를 수신하여 상기 사용자 단말로 송신한다.
상기 통신부는, 상기 공유 단말로부터 상기 공유 단말의 프로그램 리스트, 상기 공유 단말의 스펙 정보, 및 상기 공유 단말의 자원 현황 중 하나 이상을 수신할 수 있다.
상기 공유 단말 결정부는, 상기 프로그램 실행 요청에 포함된 프로그램 식별 정보를 통해 유저가 실행시키고자 하는 프로그램의 종류를 확인하고, 상기 공유 단말의 프로그램 리스트를 기반으로 기 등록된 공유 단말들 중 상기 프로그램이 설치된 공유 단말을 추출하며, 상기 추출한 공유 단말의 스펙 정보 및 자원 현황 중 하나 이상을 기반으로 상기 추출한 공유 단말의 프로그램 구동 능력을 평가하고, 상기 프로그램 구동 능력을 기반으로 상기 추출한 공유 단말들 중 상기 프로그램을 실행시킬 공유 단말을 결정할 수 있다.
상기 공유 단말 결정부는, 상기 프로그램 실행 요청에 포함된 프로그램 식별 정보를 통해 유저가 실행시키고자 하는 프로그램의 종류를 확인하고, 상기 공유 단말의 프로그램 리스트를 기반으로 기 등록된 공유 단말들 중 상기 프로그램이 설치된 공유 단말을 추출하며, 상기 추출한 공유 단말의 스펙 정보 및 자원 현황 중 하나 이상을 기반으로 상기 추출한 공유 단말의 사용 가격 정보를 설정하고, 상기 추출한 공유 단말의 리스트 및 상기 추출한 공유 단말의 사용 가격 정보를 포함하는 공유 단말 리스트 정보를 생성할 수 있다.
상기 컴퓨팅 장치는, 상기 사용자 단말의 프로그램 실행 시간, 상기 결정된 공유 단말의 스펙 정보, 및 상기 결정된 공유 단말의 자원 현황 중 하나 이상을 기반으로 과금 정보를 생성하는 과금 관리부를 더 포함할 수 있다.
상기 통신부는, 상기 공유 단말로부터 상기 공유 단말의 프로그램 리스트, 상기 공유 단말의 사용 상태 정보, 상기 공유 단말의 스펙 정보, 및 상기 공유 단말의 자원 현황 중 하나 이상을 수신할 수 있다.
상기 컴퓨팅 장치는, 상기 컴퓨팅 장치와 상기 공유 단말들 간의 네트워크 상태를 모니터링하는 네트워크 상태 확인부를 더 포함할 수 있다.
상기 공유 단말 결정부는, 상기 공유 단말의 프로그램 리스트, 상기 공유 단말의 사용 상태 정보, 상기 공유 단말 간의 네트워크 상태, 상기 공유 단말의 스펙 정보, 및 상기 공유 단말의 자원 현황 중 하나 이상을 기반으로 상기 프로그램 실행 요청에 대응하는 프로그램을 실행시킬 공유 단말을 결정할 수 있다.
상기 공유 단말 결정부는, 상기 프로그램 실행 요청에 포함된 프로그램 식별 정보를 통해 유저가 실행시키고자 하는 프로그램의 종류를 확인하고, 상기 공유 단말의 프로그램 리스트를 기반으로 기 등록된 공유 단말들 중 상기 프로그램이 설치된 공유 단말을 1차 추출하며, 상기 1차 추출한 공유 단말들 중 상기 공유 단말의 사용 상태 정보를 기반으로 미사용 상태인 공유 단말을 2차 추출하고, 상기 2차 추출한 공유 단말들 중 상기 공유 단말 간의 네트워크 상태가 기 설정된 기준 이상인 공유 단말을 3차 추출하며, 상기 3차 추출한 공유 단말의 스펙 정보 및 상기 공유 단말의 자원 현황 중 하나 이상을 기반으로 상기 3차 추출한 공유 단말의 프로그램 구동 능력을 평가하고, 상기 프로그램 구동 능력을 기반으로 상기 3차 추출한 공유 단말들 중 상기 프로그램을 실행시킬 공유 단말을 결정할 수 있다.
개시되는 다른 실시예에 따른 컴퓨팅 장치는, 하나 이상의 프로세서들; 메모리; 및 하나 이상의 프로그램들을 포함하는 컴퓨팅 장치로서, 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 상기 컴퓨팅 장치를 공유 단말로 등록하기 위한 명령; 상기 컴퓨팅 장치의 상태 정보를 중개 서버로 송신하기 위한 명령; 상기 중개 서버로부터 프로그램 식별 정보를 포함하는 프로그램 구동 요청을 수신하기 위한 명령; 상기 컴퓨팅 장치에 설치된 프로그램들 중 상기 프로그램 식별 정보에 대응하는 프로그램을 실행시키기 위한 명령; 및 상기 프로그램 실행에 따른 프로그램 실행 결과 정보를 상기 중개 서버로 송신하기 위한 명령을 포함한다.
상기 공유 단말로 등록하기 위한 명령은, 상기 컴퓨팅 장치에 설치된 프로그램들의 프로그램 리스트 및 상기 컴퓨팅 장치의 스펙 정보를 상기 중개 서버로 송신하기 위한 명령을 포함할 수 있다.
개시되는 실시예에 의하면, 사용자 단말의 프로그램 실행 요청에 대해 중개 서버가 프로그램을 실행시켜 줄 수 있는 공유 단말을 매칭시켜 줌으로써, 유저는 언제 어디서나 서비스에 접속을 하여 프로그램을 실행 할 수 있으며, 자신의 컴퓨터에서는 원활하게 진행할 수 없는 고사양의 컴퓨터가 필요한 프로그램도 실행 시킬 수 있게 된다.
그로 인해, 유저의 입장에서는 프로그램 사양에 따라 자신의 컴퓨터를 업그레이드 해야 하는 비용과 수고를 줄일 수 있게 된다. 또한, PC 방 운영자 등과 같은 공유 단말의 소유자는 현재 사용하고 있지 않은 컴퓨터를 유저에게 빌려주는 대가로 보상을 받을 수 있기 때문에, PC 방에 손님이 없더라도 수익을 발생시킬 수 있게 된다.
도 1은 개시되는 일 실시예에 따른 공유 서비스 시스템의 구성을 나타낸 도면이다
도 2는 개시되는 실시예에 따른 공유 서비스 방법을 나타낸 흐름도이다
도 3은 개시되는 실시예에서 게임 리스트가 사용자 단말의 화면에 표시된 상태를 나타낸 도면이다
도 4는 개시되는 실시예에서 중개 서버가 사용자 단말의 게임 플레이 요청에 따라 공유 단말을 선택하는 방법을 나타낸 흐름도이다
도 5는 개시되는 일 실시예에 따른 중개 서버의 구성을 나타낸 블록도이다
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 명세서에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다.
또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하에서 "게임"이란, 한 명 또는 그 이상의 게이머들이 게이밍 디바이스에 탑재되거나 연결된 입력장치를 이용하여 즐길 수 있는 소프트웨어를 의미한다. 통상 플레이어 캐릭터를 직접 조작하거나, 게임 내 오브젝트의 움직임을 조작하는 등의 방식으로 진행되며, 롤플레잉, 어드벤쳐, 아케이드 등으로 장르가 구분되기도 한다.
이하에서 "게이밍 디바이스"란 게임 소프트웨어를 실행하되 입력장치를 통한 사용자의 입력에 따라 연산을 수행하며, 출력장치를 통해 결과를 출력하는 하드웨어를 의미한다. 예컨대, 개인용 컴퓨터(Personal Computer), 랩탑(Laptop Computer), 게임 콘솔(Game Console), 스마트폰(Smart Phone), 타블렛(Tablet) PC, 스마트 밴드(Smart Band)나 스마트 와치(Smart Watch) 등의 웨어러블 디바이스(Wearable Device)의 형태일 수 있다. 이외에도 상기 정의를 만족하는 하드웨어라면 게이밍 디바이스에 속하는 것으로 해석된다.
이하에서 "온라인 게임"이란, 게임의 플레이를 위하여 네트워크를 경유하여야 하는 게임을 의미한다. 통상 원격지의 둘 이상의 게이밍 디바이스가 네트워크를 통해 서로 연결되거나, 서버를 통해 동기화되어 즐기는 게임을 의미한다. 상기의 정의를 만족하는 것이라면 게임을 실행하는 게이밍 디바이스의 형태에 제한을 두지 아니한다. 개인용 컴퓨터나 게임 콘솔에서 실행되는 게임뿐만 아니라, 스마트폰과 같은 모바일에서 실행되는 게임, 또는 서로 다른 복수개의 게이밍 디바이스(서로 다른 종류의 게이밍 디바이스도 포함한다)가 연동되거나 클라우드에서 실행되는 게임 또한 상기 정의를 만족하는 것이라면 온라인 게임에 속하는 것으로 해석된다.
이하에서 "입력장치(Input Device)"란, 게이밍 디바이스에 데이터를 입력하기 위한 장치를 의미한다. 예컨대, 조이스틱, 마우스, 키보드, 터치스크린, 하드웨어 버튼 또는 스티어링 휠, 악기, 총, 장갑, 발판 등의 형태로 제조된 게임 조작 전용 입력장치를 들 수 있다. 이외에도 게이밍 디바이스에 탑재되거나 연동되는 각종 센서(온도 센서, 적외선 센서, 모션센서, 자이로센서, 가속도 센서, 중력 센서 등)나 글로벌 포지셔닝 시스템(GPS; Global Positioning System), 실내 위치 확인 시스템(Indoor Positioning System) 등의 위치 확인 수단 또한 입력장치의 일 예로 들 수 있다.
도 1은 개시되는 일 실시예에 따른 공유 서비스 시스템의 구성을 나타낸 도면이다.
도 1을 참조하면, 공유 서비스 시스템(100)은 사용자 단말(102), 공유 단말(104), 및 중개 서버(106)를 포함할 수 있다. 사용자 단말(102) 및 공유 단말(104)은 통신 네트워크를 통해 중개 서버(106)와 통신 가능하게 연결된다. 몇몇 실시예들에서, 통신 네트워크는 인터넷, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wide area networks), 셀룰러 네트워크, 모바일 네트워크, 그 밖에 다른 종류의 네트워크들, 또는 이러한 네트워크들의 조합을 포함할 수 있다.
사용자 단말(102)은 프로그램을 실행하고자 하는 유저의 단말일 수 있다. 여기서, 프로그램은 프로세서 및 메모리 등과 같은 하드웨어를 통해 실행 가능한 명령어들의 집합을 의미하는 것으로, 소프트웨어 또는 어플리케이션 등을 포함할 수 있다. 예시적인 실시예에서, 사용자 단말(102)은 스마트 폰 또는 태블릿 PC 등이 될 수 있느나, 이에 한정되는 것은 아니며 노트북, 데스크 탑 등이 포함될 수 있다.
사용자 단말(102)에는 개시되는 실시예에 따른 공유 서비스를 제공하기 위한 어플리케이션(이하, 공유 서비스 어플리케이션이라 지칭할 수 있음)(102a)이 설치될 수 있다.
공유 서비스 어플리케이션(102a)은 사용자 단말(102)의 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 공유 서비스 어플리케이션(102a)은 사용자 단말(102)의 프로세서에 의해 실행 가능한 명령어의 소정의 집합을 포함한다. 이러한 명령어는 사용자 단말(102)의 프로세서로 하여금 예시적인 실시예에 따른 동작을 수행하게 할 수 있다. 사용자 단말(102)의 컴퓨터 판독 가능 저장 매체는 사용자 단말(102) 상에서 공유 서비스 어플리케이션(102a)과 같은 명령어 집합을 실행하기 위한 운영 체제의 컴포넌트들을 포함한다. 예를 들어, 이러한 운영 체제는 애플(Apple) 사의 iOS 또는 구글(Google) 사의 Android 일 수 있다.
이하에서는, 설명의 편의상 공유 서비스가 게임 플레이를 위한 공유 서비스인 것을 일 예로 설명하기로 한다. 즉, 사용자 단말(102)의 게임 플레이 요청에 따라 중개 서버(106)가 공유 단말(104)을 선택하여 해당 게임을 실행시키고, 실행되는 게임 화면을 사용자 단말(102)로 스트리밍하는 것을 하나의 실시예로 설명하기로 한다. 여기서는, 프로그램이 게임인 것으로 설명하나, 이에 한정되는 것은 아니며 그 이외의 다양한 프로그램을 공유 단말(104)이 대신 실행하고, 사용자 단말(102)이 프로그램의 실행된 결과를 수신하는 것은 어떤 형태이든 포함될 수 있다.
공유 서비스 어플리케이션(102a)은 게임 플레이 요청을 중개 서버(106)로 송신할 수 있다. 게임 플레이 요청에는 게임 유저가 플레이 하고자 하는 게임에 대한 게임 식별 정보(예를 들어, 게임 이름 및 게임 버전 등)(즉, 프로그램 식별 정보)를 포함될 수 있다.
공유 서비스 어플리케이션(102a)은 중개 서버(106)를 통해 공유 단말(104)에서 실행되는 게임 영상을 스트리밍으로 수신하여 사용자 단말(102)의 화면에 표시할 수 있다. 즉, 개시되는 실시예에서, 게임 유저가 플레이 하고자 하는 게임의 실행(게임의 구동)은 공유 단말(104)에서 이루어지며, 사용자 단말(102)은 공유 단말(104)에서 실행되는 게임 영상(즉, 프로그램 실행 결과 정보)을 스트리밍을 통해 수신하여 표시하게 된다.
또한, 공유 서비스 어플리케이션(102a)은 사용자 단말(102)에 표시되는 게임 영상에서 게임 유저의 조작에 따른 게임 조작 정보(즉, 프로그램 조작 정보)를 중개 서버(106)로 송신할 수 있다. 공유 서비스 어플리케이션(102a)은 사용자 단말(102)에서 게임 유저가 게임을 조작할 수 있도록 사용자 인터페이스를 제공할 수 있다. 이 경우, 사용자는 공유 단말(104)에서 실행되는 게임을 원격 플레이 할 수 있게 된다.
공유 단말(104)은 개시되는 실시예에 따른 게임 서비스(즉, 공유 서비스)에 가입되어 자신의 단말을 게임 유저들에게 공유하고자 하는 사람들의 단말일 수 있다. 예시적인 실시예에서, 공유 단말(104)은 PC 방에 설치된 단말들 일 수 있다. 즉, PC 방의 운영자는 PC 방 내 단말들을 개시되는 실시예에 따른 게임 서비스에 제공하여 게임 유저들이 게임을 실행시키는데 사용하도록 하고 그에 따른 보상을 받을 수 있다. 그러나, 이에 한정되는 것은 아니며 공유 단말(104)은 자신이 사용하고 있지 않는 시간에 자신의 단말을 개시되는 실시예에 따른 게임 서비스에 제공하여 그에 따른 보상을 받고자 하는 자들의 단말을 모두 포함할 수 있다. 예시적인 실시예에서, 공유 단말(104)은 데스크 탑 본체가 될 수 있으나, 이에 한정되는 것은 아니며 스마트 폰, 태블릿 PC, 노트북 등이 포함될 수 있다.
공유 단말(104)에는 프로그램 에이전트(104a)가 설치될 수 있다. 프로그램 에이전트(104a)는 공유 단말(104)이 개시되는 실시예에 따른 공유 서비스에 따른 동작을 수행하도록 할 수 있다. 예시적인 실시예에서, 프로그램 에이전트(104a)는 공유 단말(104)에 설치된 게임들을 실행시키도록 마련될 수 있다. 프로그램 에이전트(104a)는 공유 단말(104)의 사용 상태 정보(즉, 공유 단말(104)이 사용 중인지 또는 미사용 중인지에 대한 정보)를 중개 서버(106)로 송신할 수 있다.
프로그램 에이전트(104a)는 공유 단말(104)의 스펙 정보(예를 들어, CPU, 메모리, GPU 등의 스펙에 대한 정보)를 중개 서버(106)로 송신할 수 있다. 프로그램 에이전트(104a)는 공유 단말(104)의 자원 현황(예를 들어, CPU 사용량, 메모리 사용량 등)을 중개 서버(106)로 송신할 수 있다. 프로그램 에이전트(104a)는 공유 단말(104)에 설치된 게임들의 게임 리스트(즉, 프로그램 리스트)를 중개 서버(106)로 송신할 수 있다.
프로그램 에이전트(104a)는 중개 서버(106)의 게임 구동 요청에 따라 공유 단말(104)에 설치된 해당 게임을 실행시킬 수 있다. 게임 구동 요청에는 게임 식별 정보가 포함될 수 있다. 프로그램 에이전트(104a)는 공유 단말(104)에서 실행되는 게임 영상을 중개 서버(106)를 통해 사용자 단말(102)로 스트리밍 할 수 있다.
여기서, 프로그램 에이전트(104a)는 게임을 실행시켜 발생되는 게임 화면 및 게임 사운드를 포함하는 게임 영상을 공유 단말(104)의 메모리 버퍼에 저장시키고, 메모리 버퍼에 저장된 게임 영상을 중개 서버(106)로 송신할 수 있다. 즉, 프로그램 에이전트(104a)는 게임 실행에 따른 게임 영상을 공유 단말(104)의 디스플레이로 전달하지 않고, 공유 단말(104)의 메모리 버퍼로 전달하여 중개 서버(106)로 송신할 수 있다. 이 경우, 게임 영상은 공유 단말(104)의 디스플레이에 별도로 표시되지 않고 사용자 단말(102)로 스트리밍 될 수 있다.
다시 말하면, 프로그램 에이전트(104a)는 게임 실행에 따른 게임 영상을 메모리 버퍼에 저장하고, 메모리 버퍼에서 중개 서버(106)로 송신되도록 함으로써, 공유 단말(104)이 별도의 디스플레이(예를 들어, 모니터)를 구비하지 않고도 공유 서비스를 제공할 수 있다. 예를 들어, 공유 단말(104)이 PC 방의 PC인 경우, 모니터 없이 데스크 탑 본체만으로도 공유 서비스에 의한 원격 프로그램 실행을 지원할 수 있다.
프로그램 에이전트(104a)는 중개 서버(106)를 통해 사용자 단말(102)의 게임 조작 정보를 수신할 수 있다. 프로그램 에이전트(104a)는 수신한 게임 조작 정보에 따라 게임 플레이가 진행되도록 할 수 있다.
중개 서버(106)는 사용자 단말(102)의 프로그램 실행 요청(예를 들어, 게임 플레이 요청)에 따라 어느 하나의 공유 단말(104)을 해당 프로그램(예를 들어, 게임)을 실행 할 단말로 매칭시킬 수 있다. 중개 서버(106)는 각 공유 단말(104) 간의 네트워크 상태를 모니터링 할 수 있다. 여기서는, 중개 서버(106)가 사용자 단말(102)의 게임 플레이 요청에 따라 어느 하나의 공유 단말(104)을 매칭시키는 것을 일 실시예로 설명하기로 한다.
중개 서버(106)는 공유 단말(104)의 사용 상태 정보, 공유 단말(104) 간의 네트워크 상태, 공유 단말(104)에 설치된 게임 리스트, 공유 단말(104)의 스펙 정보, 및 공유 단말(104)의 자원 현황 중 하나 이상을 기반으로 게임을 실행시킬 공유 단말(104)을 선택하여 추천할 수 있다. 이에 대한 자세한 설명은 후술하기로 한다.
그러나, 이에 한정되는 것은 아니며 중개 서버(106)는 사용자 단말(102)의 게임 플레이 요청에 대응하는 게임이 설치된 공유 단말(104)의 리스트, 각 공유 단말(104)의 네트워크 상태, 각 공유 단말(104)의 스펙 정보, 각 공유 단말(104)의 자원 현황, 각 공유 단말(104)의 사용 가격 정보 등을 포함하는 공유 단말 리스트 정보를 사용자 단말(102)로 송신하여 게임 유저가 공유 단말(104)을 선택하도록 할 수도 있다. 여기서, 중개 서버(106)는 공유 단말(104)의 네트워크 상태, 공유 단말(104)의 스펙 정보, 공유 단말(104)의 자원 현황 등에 따라 해당 공유 단말(104)의 사용 가격 정보(예를 들어, 시간 당 사용 가격)를 설정할 수 있다.
중개 서버(106)는 게임을 실행시킬 공유 단말(104)이 선택된 경우, 해당 공유 단말(104)로 게임 식별 정보가 포함된 게임 구동 요청을 송신할 수 있다. 중개 서버(106)는 해당 공유 단말(104)에서 실행되는 게임 영상을 수신하여 사용자 단말(102)로 스트리밍 전송할 수 있다. 중개 서버(106)는 사용자 단말(102)로부터 게임 조작 정보를 수신하는 경우, 수신한 게임 조작 정보를 해당 공유 단말(104)로 송신할 수 있다.
또한, 중개 서버(106)는 사용자 단말(102)이 공유 단말(104)을 통해 게임 플레이를 한 것에 대해 과금 정보를 생성할 수 있다. 여기서, 과금 정보는 게임 종류, 게임 플레이 시간, 및 공유 단말(104)의 스펙 정보 등에 따라 결정될 수 있다. 과금 금액의 일부는 공유 단말(104)의 소유자에게 보상으로 지급될 수 있다.
개시되는 실시예에 의하면, 사용자 단말(102)의 게임 플레이 요청에 대해 중개 서버(106)가 게임을 실행시켜 원격 플레이를 할 수 있는 공유 단말(104)을 매칭시켜 줌으로써, 게임 유저는 언제 어디서나 게임 접속을 하여 게임을 플레이 할 수 있으며, 자신의 컴퓨터에서는 원활하게 진행할 수 없는 고사양의 컴퓨터가 필요한 게임도 플레이 할 수 있게 된다. 그로 인해, 게임 유저의 입장에서는 게임 사양에 따라 자신의 컴퓨터를 업그레이드 해야 하는 비용과 수고를 줄일 수 있게 된다. 또한, PC 방 운영자 등과 같은 공유 단말(102)의 소유자는 현재 사용하고 있지 않은 컴퓨터를 게임 유저에게 빌려주는 대가로 보상을 받을 수 있기 때문에, PC 방에 손님이 없더라도 수익을 발생시킬 수 있게 된다.
도 2는 개시되는 실시예에 따른 공유 서비스 방법을 나타낸 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 여기서는, 공유 서비스가 게임 플레이를 위한 공유 서비스인 것을 일 예로 설명하기로 한다.
단계 201에서, 사용자 단말(102)은 사용자의 입력에 따라 게임 플레이 요청을 중개 서버(106)로 전송한다. 예시적인 실시예에서, 사용자 단말(102)의 공유 서비스 어플리케이션(102a)은 사용자의 명령에 따라 사용자 단말(102)의 화면에 게임 리스트를 표시할 수 있다.
도 3은 개시되는 실시예에서 게임 리스트가 사용자 단말(102)의 화면에 표시된 상태를 나타낸 도면이다. 여기서, 게임 리스트는 개시되는 실시예에 따른 게임 서비스를 통해 제공할 수 있는 게임들의 리스트일 수 있다.
공유 서비스 어플리케이션(102a)은 사용자 단말(102)의 화면에 게임 선택 질의(예를 들어, 어떤 게임을 할까요? 등)를 표시할 수 있다. 사용자가 게임 리스트 중 소정 게임을 선택하는 경우, 공유 서비스 어플리케이션(102a)은 선택된 게임의 게임 식별 정보(예를 들어, 게임 이름 및 게임 버전 등)를 포함하는 게임 플레이 요청을 중개 서버(106)로 송신할 수 있다.
단계 203에서, 중개 서버(106)는 게임 서비스 시스템(100)에 등록된 공유 단말(104)들 중 사용자 단말(102)에서 요청한 게임을 실행시킬 공유 단말(104)을 선택한다.
중개 서버(106)는 공유 단말(104)의 사용 상태 정보, 공유 단말(104) 간의 네트워크 상태, 공유 단말(104)에 설치된 게임 리스트, 공유 단말(104)의 스펙 정보, 및 공유 단말(104)의 자원 현황 중 하나 이상을 기반으로 게임을 실행시킬 공유 단말(104)을 선택할 수 있다.
그러나, 이에 한정되는 것은 아니며 중개 서버(106)가 공유 단말 리스트 정보를 사용자 단말(102)로 송신하여 게임 유저가 게임을 실행시킬 공유 단말(104)을 선택하도록 할 수도 있다.
단계 205에서, 중개 서버(106)는 선택된 공유 단말(104)로 게임 구동 요청을 송신한다. 게임 구동 요청에는 해당 게임의 게임 식별 정보가 포함될 수 있다.
단계 207에서, 선택된 공유 단말(104)은 게임 구동 요청에 대응되는 게임을 실행시킨다. 즉, 선택된 공유 단말(104)의 프로그램 에이전트(104a)에서 선택된 공유 단말(104)에 설치된 게임들 중 게임 구동 요청에 대응되는 게임을 실행시킬 수 있다.
단계 209에서, 선택된 공유 단말(104)은 실행되는 게임 영상을 중개 서버(106)를 통해 사용자 단말(102)로 스트리밍 전송한다. 그러면, 스트리밍 되는 게임 영상은 사용자 단말(102)에 표시될 수 있다.
단계 211에서, 사용자 단말(102)은 사용자의 게임 조작 정보를 중개 서버(106)를 통해 선택된 공유 단말(104)로 송신한다. 그러면, 선택된 공유 단말(104)에서는 게임 조작 정보에 따라 게임 플레이를 진행시킬 수 있다.
도 4는 개시되는 실시예에서 중개 서버(106)가 사용자 단말(102)의 게임 플레이 요청에 따라 공유 단말(104)을 선택하는 방법을 나타낸 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
단계 401에서, 중개 서버(106)는 게임 플레이 요청에 포함된 게임 식별 정보를 통해 게임 유저가 플레이 하고자 하는 게임의 종류를 확인한다.
단계 403에서, 중개 서버(106)는 등록된 공유 단말(104)들 중 사용자 단말(102)이 게임 플레이 요청을 한 게임이 설치된 공유 단말(104)들을 1차 추출한다. 중개 서버(106)는 등록된 각 공유 단말(104)의 게임 리스트를 기반으로 게임 플레이 요청을 한 게임이 설치된 공유 단말(104)들을 추출할 수 있다.
단계 405에서, 중개 서버(106)는 1차 추출한 공유 단말(104)들의 사용 상태 정보를 확인하여 미사용 상태인 공유 단말(104)을 2차 추출한다.
단계 407에서, 중개 서버(106)는 2차 추출한 공유 단말(104)들 간의 네트워크 상태를 확인하여 네트워크 상태가 기 설정된 기준 이상인 공유 단말(104)을 3차 추출한다.
단계 409에서, 중개 서버(106)는 3차 추출한 공유 단말(104)들 중 게임 구동 능력(즉, 프로그램 구동 능력)이 가장 우수한 공유 단말(104)을 게임을 실행시킬 공유 단말(104)로 선택한다. 예시적인 실시예에서, 중개 서버(106)는 3차 추출한 공유 단말(104)들의 스펙 정보 및 자원 현황을 기반으로 게임 구동 능력을 평가할 수 있다. 중개 서버(106)는 공유 단말(104)의 스펙이 높을수록 게임 구동 능력을 높게 평가할 수 있다. 또한, 중개 서버(106)는 공유 단말(104)의 남은 자원이 많을수록 게임 구동 능력을 높게 평가할 수 있다.
한편, 여기서는 미사용 상태인 공유 단말(104)들을 대상으로 게임 구동 능력이 가장 우수한 공유 단말을 선택하는 것으로 설명하였으나, 이에 한정되는 것은 아니며 사용 상태인 공유 단말(104)들도 포함시켜 게임 구동 능력을 평가할 수도 있다.
도 5는 개시되는 일 실시예에 따른 중개 서버(106)의 구성을 나타낸 블록도이다.
도 5를 참조하면, 중개 서버(106)는 통신부(111), 네트워크 상태 확인부(113), 공유 단말 결정부(115), 및 과금 관리부(117)를 포함할 수 있다.
일 실시예에서, 통신부(111), 네트워크 상태 확인부(113), 공유 단말 선택부(115), 및 과금 관리부(117)는 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 프로세서 또는 하나 이상의 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.
통신부(111)는 사용자 단말(102) 및 공유 단말(104)과 각각 통신을 수행할 수 있다. 통신부(111)는 사용자 단말(102)로부터 프로그램 실행 요청을 수신할 수 있다. 통신부(111)는 각 공유 단말(104)로부터 사용 상태 정보, 게임 리스트, 스펙 정보, 및 자원 현황 등을 수신할 수 있다. 통신부(111)는 선택된 공유 단말(104)로 프로그램 구동 요청을 송신할 수 있다. 통신부(111)는 선택된 공유 단말(104)로부터 프로그램 실행 결과 정보를 수신하여 사용자 단말(102)로 송신할 수 있다. 통신부(111)는 사용자 단말(102)로부터 프로그램 조작 정보를 수신하여 선택된 공유 단말(104)로 송신할 수 있다.
네트워크 상태 확인부(113)는 중개 서버(106)와 공유 단말(104) 간의 네트워크 상태를 모니터링 할 수 있다.
공유 단말 결정부(115)는 사용자 단말(102)의 프로그램 실행 요청에 따라 등록된 공유 단말(104)들 중 해당 프로그램을 실행할 공유 단말(104)을 결정할 수 있다. 예시적인 실시예에서, 공유 단말 결정부(115)는 공유 단말(104)의 사용 상태 정보, 공유 단말(104) 간의 네트워크 상태, 공유 단말(104)에 설치된 프로그램 리스트, 공유 단말(104)의 스펙 정보, 및 공유 단말(104)의 자원 현황 중 하나 이상을 기반으로 프로그램을 실행시킬 공유 단말(104)을 결정할 수 있다. 공유 단말 선택부(115)는 결정된 공유 단말(104)을 사용자 단말(102)로 추천하여 결정된 공유 단말(104)을 통해 프로그램을 실행하도록 할 수 있다.
또한, 공유 단말 결정부(115)는 공유 단말 리스트 정보를 생성하고, 생성한 공유 단말 리스트 정보를 사용자 단말(102)로 송신하여 유저가 프로그램을 실행시킬 공유 단말(104)을 선택하도록 할 수 있다. 공유 단말 결정부(115)는 사용자 단말(102)의 프로그램 실행 요청에 대응하는 프로그램이 설치된 공유 단말(104)들을 추출하여 공유 단말(104) 리스트를 작성할 수 있다. 공유 단말 결정부(115)는 리스트에 포함된 각 공유 단말(104)들의 네트워크 상태, 스펙 정보, 자원 현황 등을 추출하여 공유 단말 리스트 정보에 포함시킬 수 있다. 공유 단말 결정부(115)는 리스트에 포함된 각 공유 단말(104)들의 네트워크 상태, 스펙 정보, 자원 현황 등을 기반으로 기 설정된 룰에 따라 각 공유 단말(104)의 사용 가격 정보를 설정하고 이를 공유 단말 리스트 정보에 포함시킬 수 있다.
과금 관리부(117)는 사용자 단말(102)의 프로그램 실행 시간 및 프로그램을 실행시킨 공유 단말(104)의 사용 가격 정보에 기반하여 과금 정보를 생성할 수 있다. 과금 관리부(117)는 기 설정된 룰에 따라 해당 공유 단말(104)에 대한 사용 가격 정보를 산출할 수 있다. 과금 관리부(117)는 과금 금액의 일부를 해당 공유 단말(104)의 소유자에게 지급할 수 있다.
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 사용자 단말(102)일 수 있다. 또한, 컴퓨팅 장치(12)는 공유 단말(104)일 수 있다. 또한, 컴퓨팅 장치(12)는 중개 서버(106)일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 공유 서비스 시스템
102 : 사용자 단말
102a : 공유 서비스 어플리케이션
104 : 공유 단말
104a : 프로그램 에이전트
106 : 중개 서버
111 : 통신부
113 : 네트워크 상태 확인부
115 : 공유 단말 결정부
117 : 과금 관리부

Claims (24)

  1. 하나 이상의 프로세서들, 및
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
    복수의 공유 단말로부터, 상기 복수의 공유 단말 각각에 설치된 프로그램의 리스트를 수신하는 단계;
    사용자 단말로부터 프로그램 실행 요청을 수신하는 단계;
    상기 수신된 리스트에 기초하여, 상기 복수의 공유 단말 중 상기 프로그램 실행 요청에 대응하는 프로그램이 설치된 하나 이상의 공유 단말을 추출하는 단계;
    상기 하나 이상의 공유 단말 중에서 선택된 공유 단말로 상기 대응하는 프로그램에 대한 프로그램 구동 요청을 송신하는 단계; 및
    상기 선택된 공유 단말로부터 상기 대응하는 프로그램에 대한 프로그램 실행 결과 정보를 수신하여 상기 사용자 단말로 송신하는 단계를 포함하는, 공유 서비스 방법.
  2. 청구항 1에 있어서,
    상기 공유 서비스 방법은,
    상기 복수의 공유 단말로부터 상기 복수의 공유 단말 각각의 스펙 정보 및 자원 현황 중 하나 이상을 수신하는 단계를 더 포함하는, 공유 서비스 방법.
  3. 청구항 2에 있어서,
    상기 프로그램 실행 요청은, 상기 사용자 단말의 유저에 의해 실행 요청된 프로그램에 대한 프로그램 식별 정보를 포함하고,
    상기 추출하는 단계는, 상기 복수의 단말 중 상기 프로그램 식별 정보에 대응하는 프로그램이 설치된 하나 이상의 공유 단말을 추출하고,
    상기 프로그램 구동 요청을 송신하는 단계는, 상기 추출한 하나 이상의 공유 단말 각각의 스펙 정보 및 자원 현황 중 하나 이상을 기반으로 상기 추출한 하나 이상의 공유 단말 각각의 프로그램 구동 능력을 평가하는 단계; 및
    상기 프로그램 구동 능력을 기반으로 상기 추출한 하나 이상의 공유 단말 중 상기 대응하는 프로그램을 실행시킬 공유 단말을 결정하는 단계를 포함하는, 공유 서비스 방법.
  4. 청구항 2에 있어서,
    상기 프로그램 실행 요청은, 상기 사용자 단말의 유저에 의해 실행 요청된 프로그램에 대한 프로그램 식별 정보를 포함하고,
    상기 추출하는 단계는,
    상기 복수의 단말 중 상기 프로그램 식별 정보에 대응하는 프로그램이 설치된 하나 이상의 공유 단말을 추출하고,
    상기 프로그램 구동 요청을 송신하는 단계는, 상기 추출한 하나 이상의 공유 단말 각각의 스펙 정보 및 자원 현황 중 하나 이상을 기반으로 상기 추출한 하나 이상의 공유 단말 각각의 사용 가격 정보를 설정하는 단계;
    상기 추출한 하나 이상의 공유 단말의 리스트 및 상기 추출한 하나 이상의 공유 단말 각각의 사용 가격 정보를 포함하는 공유 단말 리스트 정보를 생성하는 단계; 및
    상기 공유 단말 리스트 정보를 상기 사용자 단말로 송신하는 단계를 포함하는, 공유 서비스 방법.
  5. 청구항 2에 있어서,
    상기 공유 서비스 방법은,
    상기 사용자 단말의 프로그램 실행 시간, 상기 선택된 공유 단말의 스펙 정보, 및 상기 선택된 공유 단말의 자원 현황 중 하나 이상을 기반으로 과금 정보를 생성하는 단계를 더 포함하는, 공유 서비스 방법.
  6. 청구항 1에 있어서,
    상기 공유 서비스 방법은,
    상기 복수의 공유 단말로부터 상기 복수의 공유 단말 각각의 사용 상태 정보, 스펙 정보, 및 자원 현황 중 하나 이상을 수신하는 단계를 더 포함하는, 공유 서비스 방법.
  7. 청구항 6에 있어서,
    상기 공유 서비스 방법은,
    상기 복수의 공유 단말 각각의 네트워크 상태를 모니터링하는 단계를 더 포함하는, 공유 서비스 방법.
  8. 청구항 7에 있어서,
    상기 프로그램 구동 요청을 송신하는 단계는,
    상기 사용 상태 정보, 상기 네트워크 상태, 상기 스펙 정보, 및 상기 자원 현황 중 하나 이상을 기반으로 상기 프로그램 실행 요청에 대응하는 프로그램을 실행시킬 공유 단말을 결정하는 단계를 포함하는, 공유 서비스 방법.
  9. 청구항 8에 있어서,
    상기 프로그램 구동 요청을 송신하는 단계는, 상기 사용 상태 정보에 기초하여, 상기 추출한 하나 이상의 공유 단말 중 미사용 상태인 하나 이상의 공유 단말을 추출하는 단계;
    상기 미사용 상태인 하나 이상의 공유 단말 중 상기 네트워크 상태가 기 설정된 기준 이상인 하나 이상의 공유 단말을 추출하는 단계;
    상기 스펙 정보 및 상기 자원 현황 중 하나 이상을 기반으로 상기 네트워크 상태가 기 설정된 기준 이상인 하나 이상의 공유 단말 각각의 프로그램 구동 능력을 평가하는 단계; 및
    상기 프로그램 구동 능력을 기반으로 상기 네트워크 상태가 기 설정된 기준 이상인 하나 이상의 공유 단말 중 상기 대응하는 프로그램을 실행시킬 공유 단말을 결정하는 단계를 포함하는, 공유 서비스 방법.
  10. 삭제
  11. 삭제
  12. 하나 이상의 프로세서들, 및
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치로서,
    복수의 공유 단말로부터, 상기 복수의 공유 단말 각각에 설치된 프로그램의 리스트를 수신하고, 사용자 단말로부터 프로그램 실행 요청을 수신하는 통신부; 및
    상기 수신된 리스트에 기초하여, 상기 복수의 공유 단말 중 프로그램 실행 요청에 대응하는 프로그램이 설치된 하나 이상의 공유 단말을 추출하고, 상기 추출된 하나 이상의 공유 단말 중 상기 대응하는 프로그램을 실행시킬 공유 단말을 결정하는 공유 단말 결정부를 포함하고,
    상기 통신부는,
    상기 결정된 공유 단말로 상기 대응하는 프로그램에 대한 프로그램 구동 요청을 송신하고, 상기 결정된 공유 단말로부터 상기 대응하는 프로그램에 대한 프로그램 실행 결과 정보를 수신하여 상기 사용자 단말로 송신하는, 컴퓨팅 장치.
  13. 청구항 12에 있어서,
    상기 통신부는,
    상기 복수의 공유 단말로부터 상기 복수의 공유 단말 각각의 스펙 정보, 및 자원 현황 중 하나 이상을 더 수신하는, 컴퓨팅 장치.
  14. 청구항 13에 있어서,
    상기 프로그램 실행 요청은, 상기 사용자 단말의 유저에 의해 실행 요청된 프로그램에 대한 프로그램 식별 정보를 포함하고,
    상기 공유 단말 결정부는,
    상기 복수의 단말 중 프로그램 식별 정보에 대응하는 프로그램이 설치된 하나 이상의 공유 단말을 추출하며, 상기 추출한 하나 이상의 공유 단말 각각의 스펙 정보 및 자원 현황 중 하나 이상을 기반으로 상기 추출한 하나 이상의 공유 단말 각각의 프로그램 구동 능력을 평가하고, 상기 프로그램 구동 능력을 기반으로 상기 추출한 하나 이상의 공유 단말 중 상기 대응하는 프로그램을 실행시킬 공유 단말을 결정하는, 컴퓨팅 장치.
  15. 청구항 13에 있어서,
    상기 프로그램 실행 요청은, 상기 사용자 단말의 유저에 의해 실행 요청된 프로그램에 대한 프로그램 식별 정보를 포함하고,
    상기 공유 단말 결정부는,
    상기 복수의 단말 중 상기 프로그램 식별 정보에 대응하는 프로그램이 설치된 하나 이상의 공유 단말을 추출하며, 상기 추출한 하나 이상의 공유 단말 각각의 스펙 정보 및 자원 현황 중 하나 이상을 기반으로 상기 추출한 하나 이상의 공유 단말 각각의 사용 가격 정보를 설정하고, 상기 추출한 하나 이상의 공유 단말의 리스트 및 상기 추출한 하나 이상의 공유 단말 각각의 사용 가격 정보를 포함하는 공유 단말 리스트 정보를 생성하는, 컴퓨팅 장치.
  16. 청구항 13에 있어서,
    상기 컴퓨팅 장치는,
    상기 사용자 단말의 프로그램 실행 시간, 상기 결정된 공유 단말의 스펙 정보, 및 상기 결정된 공유 단말의 자원 현황 중 하나 이상을 기반으로 과금 정보를 생성하는 과금 관리부를 더 포함하는, 컴퓨팅 장치.
  17. 청구항 12에 있어서,
    상기 통신부는,
    상기 복수의 공유 단말로부터 상기 복수의 공유 단말 각각의 사용 상태 정보, 스펙 정보, 및 자원 현황 중 하나 이상을 더 수신하는, 컴퓨팅 장치.
  18. 청구항 17에 있어서,
    상기 컴퓨팅 장치는,
    상기 복수의 공유 단말 각각의 네트워크 상태를 모니터링하는 네트워크 상태 확인부를 더 포함하는, 컴퓨팅 장치.
  19. 청구항 18에 있어서,
    상기 공유 단말 결정부는,
    상기 사용 상태 정보, 상기 네트워크 상태, 상기 스펙 정보, 및 상기 자원 현황 중 하나 이상을 기반으로 상기 프로그램 실행 요청에 대응하는 프로그램을 실행시킬 공유 단말을 결정하는, 컴퓨팅 장치.
  20. 청구항 19에 있어서,
    상기 공유 단말 결정부는,
    상기 사용 상태 정보에 기초하여, 상기 추출한 하나 이상의 공유 단말 중 미사용 상태인 하나 이상의 공유 단말을 추출하고, 상기 미사용 상태인 하나 이상의 공유 단말 중 상기 네트워크 상태가 기 설정된 기준 이상인 하나 이상의 공유 단말을 추출하며, 상기 스펙 정보 및 상기 자원 현황 중 하나 이상을 기반으로 상기 네트워크 상태가 기 설정된 기준 이상인 하나 이상의 공유 단말 각각의 프로그램 구동 능력을 평가하고, 상기 프로그램 구동 능력을 기반으로 상기 네트워크 상태가 기 설정된 기준 이상인 하나 이상의 공유 단말 중 상기 대응하는 프로그램을 실행시킬 공유 단말을 결정하는, 컴퓨팅 장치.
  21. 삭제
  22. 삭제
  23. 하나 이상의 프로세서들, 및
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
    복수의 공유 단말로부터, 상기 복수의 공유 단말 각각이 사용 중인지 여부를 나타내는 사용 상태 정보를 수신하는 단계;
    상기 복수의 공유 단말 각각의 사용 상태 정보에 기초하여, 상기 복수의 공유 단말 중 적어도 일부에 대한 사용 상태 정보를 포함하는 공유 단말 리스트를 사용자의 사용자 단말에 송신하는 단계; 및
    상기 공유 단말 리스트에 대한 상기 사용자의 선택에 기반하여, 상기 복수의 공유 단말 중 상기 사용자에 의해 실행 요청된 프로그램을 실행할 공유 단말을 결정하는 단계를 포함하는 공유 서비스 방법.
  24. 제 23 항에 있어서,
    공유 단말은 PC 방에 설치된 단말을 포함하는 공유 서비스 방법.
KR1020190112276A 2019-09-10 2019-09-10 공유 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치 KR102275320B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190112276A KR102275320B1 (ko) 2019-09-10 2019-09-10 공유 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190112276A KR102275320B1 (ko) 2019-09-10 2019-09-10 공유 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치

Publications (2)

Publication Number Publication Date
KR20210030742A KR20210030742A (ko) 2021-03-18
KR102275320B1 true KR102275320B1 (ko) 2021-07-09

Family

ID=75232281

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190112276A KR102275320B1 (ko) 2019-09-10 2019-09-10 공유 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR102275320B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160072925A1 (en) 2014-09-10 2016-03-10 Ricoh Company, Ltd. Information processing system, information processing device, and device control method
JP2018028724A (ja) * 2016-08-15 2018-02-22 良作 松村 クラウドシステム、及びアプリケーション実行装置の遠隔操作方法、並びにその課金方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102097578B1 (ko) * 2012-12-10 2020-04-07 삼성전자 주식회사 애플리케이션 실행 방법 및 장치
KR102018605B1 (ko) * 2017-06-30 2019-09-06 주식회사 트루네트웍스 다중 사용자용 데스크탑 컴퓨터 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160072925A1 (en) 2014-09-10 2016-03-10 Ricoh Company, Ltd. Information processing system, information processing device, and device control method
JP2018028724A (ja) * 2016-08-15 2018-02-22 良作 松村 クラウドシステム、及びアプリケーション実行装置の遠隔操作方法、並びにその課金方法

Also Published As

Publication number Publication date
KR20210030742A (ko) 2021-03-18

Similar Documents

Publication Publication Date Title
US11729173B2 (en) Apparatus and method for online service access control
KR20200113834A (ko) 애플리케이션 정보 제공 장치 및 방법
JP7343355B2 (ja) ゲーム制御方法および装置
KR20190107535A (ko) 게임 리플레이 방법 및 시스템
KR102275320B1 (ko) 공유 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치
KR20210010436A (ko) 사용자 반응을 기반으로 컨텐츠를 제공하는 방법과 시스템 및 비-일시적인 컴퓨터 판독가능한 기록 매체
KR20210064914A (ko) 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치
KR101744684B1 (ko) 클라우드 게임 서비스 제공 장치 및 방법
KR20210078141A (ko) 결제 서비스 제공 방법 및 장치
KR102557808B1 (ko) 게임 서비스 시스템 및 상기 시스템에서의 메모 공유 방법
JP2022053562A (ja) コンピュータプログラム、方法、及び、サーバ装置
US20210185047A1 (en) Apparatus and method for online service access control
KR102211564B1 (ko) 게임 서비스 제공 방법 및 장치
KR102148701B1 (ko) 게임 플레이 관리 장치 및 방법
KR102266311B1 (ko) 동영상 서비스 제공 방법 및 장치
KR102141477B1 (ko) 게임 제어 장치 및 방법
KR102551096B1 (ko) 클라우드 게임 서비스 제공 장치 및 클라우드 게임 서비스 제공 방법
KR102423817B1 (ko) 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치
TWI842905B (zh) 線上服務存取控制裝置及方法
KR102279845B1 (ko) 캐릭터 명칭 추천 방법 및 장치
KR102170825B1 (ko) 게임 제어 장치 및 방법
KR102258989B1 (ko) 제스쳐 추천 방법 및 이를 수행하기 위한 장치
KR20200131058A (ko) 커뮤니케이션 공간 관리 방법 및 이를 수행하기 위한 장치
KR20200119162A (ko) 어플리케이션 제어 시스템, 서버 및 어플리케이션 제어 방법
KR20220161882A (ko) 퀘스트 관리 서비스 제공 장치 및 방법

Legal Events

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