KR20200011299A - E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법 - Google Patents

E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법 Download PDF

Info

Publication number
KR20200011299A
KR20200011299A KR1020180086201A KR20180086201A KR20200011299A KR 20200011299 A KR20200011299 A KR 20200011299A KR 1020180086201 A KR1020180086201 A KR 1020180086201A KR 20180086201 A KR20180086201 A KR 20180086201A KR 20200011299 A KR20200011299 A KR 20200011299A
Authority
KR
South Korea
Prior art keywords
client terminal
screen
server
service providing
real time
Prior art date
Application number
KR1020180086201A
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 KR1020180086201A priority Critical patent/KR20200011299A/ko
Publication of KR20200011299A publication Critical patent/KR20200011299A/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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • G06Q50/2057Career enhancement or continuing education service
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법이 제공되며, 적어도 하나의 클라이언트 단말로부터 웹소켓을 연결하기 위한 핸드쉐이크(Handshaking) 요청을 수신하는 단계, 핸드쉐이크 요청을 수락하여 적어도 하나의 클라이언트 단말과 웹소켓 연결을 생성하는 단계, 적어도 하나의 클라이언트 단말로부터 생성된 화면을 수신하여 실시간으로 출력하는 단계, 화이트보드 인터페이스에 입력이 존재하는 경우, 출력된 화면 중 선택된 화면을 실시간으로 캡쳐하여 디스플레이하는 단계, 및 디스플레이된 실시간 캡쳐 화면에 터치 또는 드래그를 통한 입력에 대응하는 펜 콘텐츠를 오버레이하여 적어도 하나의 클라이언트 단말로 실시간으로 공유하는 단계를 포함한다.

Description

E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법{METHOD FOR PROVIDING INTERACTIVE CONTENTS INCLUDING SCREEN, SOUND, AND MOUSE POINTER SHARING SERVICE FOR E-SPORTS EDUCATION}
본 발명은 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법에 관한 것으로, 웹소켓을 이용하여 클라이언트-단말 간을 연결함으로써 e스포츠를 강의할 때 빠른 콘텐츠 공유가 가능한 방법을 제공한다.
e스포츠 엔터테인먼트와 정보산업의 시대의 특징을 아우르고 있으며, 기존 스포츠 산업과 상대적인 개념을 이루는 하나의 세계적인 시장으로 자리하고 있다. 현재 e스포츠 시장은 게임 산업의 성장과 맞물려 매우 큰 규모로 확대되고 있고, 업종을 불문하고 다양한 국제적인 기업과 스포츠 구단이 진출하고 있다. 또한 4차 산업을 이루는 산업군 중 하나로 지목되기 때문에 기술적인 내적 상승과 많은 역량이 요구되고 그 필요성이 커지고 있지만, 비디오게임의 파생 산업으로 시작하여 시장이 형성되는 단계에 머물러 있고, 이에 따라 e스포츠를 원격으로 교육하는 시스템은 아직 연구가 시도조차 되지 않고 있는 것이 현 실정이다.
이때, 원격으로 교육을 하는 방법은 양방향으로 스마트 교육 자재를 이용하는 방법으로 이루어지고 있다. 이와 관련하여, 선행기술인 한국공개특허 제2015-0039476호(2015년04월10일 공개)에는 학습자와 강사 간의 수업을 진행할 때, 클라이언트 단말로부터 수신된 강의 그룹 생성 요청에 대응하여 강의 인스턴스를 생성하고, 다른 클라이언트 단말로부터 수강 요청을 수신하고, 수강 요청에 대응하여 데이터베이스로부터 수강 정보를 식별하며, 식별된 수강 정보에 대응되는 강의 인스턴스를 식별하여 강의 인스턴스에서 제공되는 전자 칠판용 디스플레이 제어 데이터 및 모니터용 디스플레이 제어 데이터 중 적어도 하나를 클라이언트 단말로 제공하는 구성을 개시한다.
다만, 상술한 구성은 정적인 수업에는 적용이 가능하나, 상술한 바와 같이 e스포츠 분야를 교육하는 수업에 있어서는 고도의 심리전이 필요하고, 게임 전체의 흐름, 즉 스토리텔링이 중요하며, 개인 간 플레이의 능력편차가 심하고 스타일이 다양하므로 그룹별 수 명이 초과하는 경우 교육이 불가능해지는 상황에서는 적용하는 것이 불가능하다. 즉, 빠른 플레이를 따라가지 못하는 스트리밍 성능으로 양방향 콘텐츠 공유가 어렵고, 실시간으로 공유되어야 하는 화면이나 실시간으로 캡쳐되어야 하는 순간의 화면을 놓치는 경우가 많으며, 실시간 스트리밍을 실시한다고 할지라도 콘텐츠의 양이 방대하여 네트워크 자원이 부족하거나 트래픽이 발생하는 경우 병목현상 및 지연으로 말 그대로의 실시간 공유가 불가능함으로 게임의 흐름이 깨지는 경우가 대부분이다.
본 발명의 일 실시예는, 하드웨어 및 소프트웨어 자원의 사용을 최소화하면서도 그 성능이나 속도는 증가시키도록 클라이언트와 서버를 웹소켓으로 연결함으로써, 외부 서버의 이용 최소화하여 비용을 절감하고, 서버에서 입력되는 화이트보드의 펜 기능으로 실시간 또는 캡쳐된 콘텐츠를 복수의 클라이언트와 공유하면서 강의를 진행할 수 있도록 하며, 클라이언트와 서버 자체의 네트워킹 자원 및 컴퓨팅 자원만을 사용하므로 외부 데이터베이스나 서버구축 등에 소요되는 비용을 최소화할 수 있는, E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 적어도 하나의 클라이언트 단말로부터 웹소켓을 연결하기 위한 핸드쉐이크(Handshaking) 요청을 수신하는 단계, 핸드쉐이크 요청을 수락하여 적어도 하나의 클라이언트 단말과 웹소켓 연결을 생성하는 단계, 적어도 하나의 클라이언트 단말로부터 생성된 화면을 수신하여 실시간으로 출력하는 단계, 화이트보드 인터페이스에 입력이 존재하는 경우, 출력된 화면 중 선택된 화면을 실시간으로 캡쳐하여 디스플레이하는 단계, 및 디스플레이된 실시간 캡쳐 화면에 터치 또는 드래그를 통한 입력에 대응하는 펜 콘텐츠를 오버레이하여 적어도 하나의 클라이언트 단말로 실시간으로 공유하는 단계를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 하드웨어 및 소프트웨어 자원의 사용을 최소화하면서도 그 성능이나 속도는 증가시키도록 클라이언트와 서버를 웹소켓으로 연결함으로써, 외부 서버의 이용 최소화하여 비용을 절감하고, 서버에서 입력되는 화이트보드의 펜 기능으로 실시간 또는 캡쳐된 콘텐츠를 복수의 클라이언트와 공유하면서 강의를 진행할 수 있도록 하며, 클라이언트와 서버 자체의 네트워킹 자원 및 컴퓨팅 자원만을 사용하므로 외부 데이터베이스나 서버구축 등에 소요되는 비용을 최소화할 수 있다.
도 1은 본 발명의 일 실시예에 따른 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 교육 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 내지 도 5는 본 발명의 일 실시예에 따른 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1개의 유닛이 2개 이상의 하드웨어를 이용하여 실현되어도 되고, 2개 이상의 유닛이 1개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 시스템(1)은, 적어도 하나의 클라이언트 단말(100), 교육 서비스 제공 서버(300), 호스팅 서버(400)를 포함할 수 있다. 다만, 이러한 도 1의 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.
이때, 도 1의 각 구성요소들은 일반적으로 네트워크(network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 클라이언트 단말(100)은 네트워크(200)를 통하여 교육 서비스 제공 서버(300) 및 호스팅 서버(400)와 연결될 수 있다. 그리고, 교육 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 클라이언트 단말(100), 호스팅 서버(400)와 연결될 수 있다. 또한, 호스팅 서버(400)는, 네트워크(200)를 통하여 적어도 하나의 클라이언트 단말(100) 및 교육 서비스 제공 서버(300)와 연결될 수 있다.
여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 RF, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5GPP(5rd Generation Partnership Project) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, NFC 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.
적어도 하나의 클라이언트 단말(100)은, E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 e스포츠를 교육받는 학생, 수강생 등의 단말일 수 있다. 그리고, 적어도 하나의 클라이언트 단말(100)은, 서버를 통한 실시간 스트리밍이 아니라, 교육 서비스 제공 서버(300)와의 서버-클라이언트 간 웹소켓 통신으로 직접 연결된 단말일 수 있다. 이를 위하여, 적어도 하나의 클라이언트 단말(100)은, 호스팅 서버(400)에서 단말이 가입 및 인증된 단말인지를 확인하는 로그인 작업을 수행한 후, 권한을 확인받는 단말일 수 있다. 그리고, 적어도 하나의 클라이언트 단말(100)은, 웹서버와의 실시간 스트리밍이 아니라, 웹서버인 호스팅 서버는 제외하고, 교육 서비스 제공 서버(300)와 직접 웹소켓으로 연결되어 실시간으로 데이터를 주고받는 단말일 수 있다. 이때, 적어도 하나의 클라이언트 단말(100)은, 교육 서비스 제공 서버(300)에서 입력된 화이트보드의 펜 콘텐츠를 실시간으로 공유받는 단말일 수 있다. 그리고, 적어도 하나의 클라이언트 단말(100)은, 교육 서비스 제공 서버(300)와 음성, 화면 및 펜 콘텐츠를 양방향으로 실시간 공유하는 단말일 수 있다.
여기서, 적어도 하나의 클라이언트 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 클라이언트 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 클라이언트 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
교육 서비스 제공 서버(300)는, E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 교육 서비스 제공 서버(300)는, 클라이언트 단말(100)의 학생에게 지도할 강사의 단말 등일 수 있는데, 서버-클라이언트 구조로 서버로 지칭한 것일 뿐, 일반적인 서버의 하드웨어 등의 구성을 의미하지는 않는다. 다만, 일반적인 서버의 하드웨어 구성을 배제하는 것은 아니다. 또한, 교육 서비스 제공 서버(300)는, 적어도 하나의 클라이언트 단말(100)에서 실시간으로 디스플레이되고 있는 e스포츠의 화면을 공유받고, 적어도 하나의 클라이언트 단말(100)로 공유받은 화면을 캡쳐하여 캡쳐된 이미지 또는 실시간으로 공유되는 화면에 펜 기능을 이용하여 설명을 기재하여 공유하는 e스포츠 교육강사의 서버일 수 있다. 그리고, 교육 서비스 제공 서버(300)는, 웹소켓을 이용하여 적어도 하나의 클라이언트 단말(100)과 연결됨으로써, 이미지 뿐만 아니라, 음성 및 실시간 화면을 서로 공유하여 출력하거나 디스플레이하는 서버일 수 있다.
여기서, 교육 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
호스팅 서버(400)는, E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 클라이언트 단말(100)을 이용하는 학생, 수강생, 교육생이나 교육 서비스 제공 서버(300)의 강사를 식별하고, 서로 간의 연결이 가능하도록 미리 등록이 된 사용자인지를 확인하고, 사용자별로 부여된 권한을 확인한 후 이를 클라이언트 단말(100) 및 교육 서비스 제공 서버(300)로 피드백하는 서버일 수 있다. 이때, 주의할 것은, 호스팅 서버(400)는 웹서버이고, 웹서버를 통한 클라이언트 단말(100)-교육 서비스 제공 서버(300) 간의 데이터 통신, 실시간 스트리밍이 이루어지는 것이 아니라, 호스팅 서버(400)를 통하여 서로 연결가능한 단말인지만을 확인하도록 함으로써, 웹서버를 운용함에 따른 비용을 절감하고 웹서버의 하드웨어 및 소프트웨어 구축에 따른 비용을 줄이도록 하기 때문에, 호스팅 서버(400)는 클라이언트 단말(100)과 교육 서비스 제공 서버(300)의 사용자를 확인하고, 연결 가능 여부를 확인하며, 각 사용자별로 주어진 권한을 확인하는 용도로 기능할 뿐, 그 외의 데이터통신은 맡지 않는다. 다만, 호스팅 서버(400)를 통하여 클라이언트 단말(100)과 교육 서비스 제공 서버(300) 간의 실시간 스트리밍되는 것을 배제하는 것은 아님은 자명하다 할 것이다. 따라서, 본 발명의 일 실시예에서는, 호스팅 서버(400)의 역할을 상술한 것과 같이 한정하여 설명하도록 한다.
여기서, 호스팅 서버(400)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 호스팅 서버(400)는, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 호스팅 서버(400)는, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
도 2는 도 1의 시스템에 포함된 교육 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 내지 도 5는 본 발명의 일 실시예에 따른 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 2를 참조하면, 교육 서비스 제공 서버(300)는, 수신부(310), 생성부(320), 출력부(330), 디스플레이부(340), 공유부(350), 리얼타임부(360)를 포함할 수 있다.
본 발명의 일 실시예에 따른 서버나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 클라이언트 단말(100) 및 교육 서비스 제공 서버(300)로 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 클라이언트 단말(100) 및 교육 서비스 제공 서버(300)는, E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 클라이언트 단말(100) 및 교육 서비스 제공 서버(300)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: world wide web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(hyper text mark-up language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(app)을 포함한다.
도 2를 참조하면, 수신부(310)는, 적어도 하나의 클라이언트 단말(100)로부터 웹소켓을 연결하기 위한 핸드쉐이크(Handshaking) 요청을 수신할 수 있다. 이때, 웹소켓은 웹상에서 TCP 연결을 사용하여 전이중 통신이 가능한 기술이다. 또한 HTTP 프로토콜이 아닌 웹소켓 프로토콜을 사용하여 기존의 폴링 기법이나 롱폴링 기법의 불필요한 요청으로 인한 부하를 줄일 수 있고, 브라우저에서 보다 쉽게 양방향 메시지 수신을 하기 위해 등장한 HTML5 표준안의 일부이다. 웹소켓은 HTTP 요청과 마찬가지로 80번 TCP 포트를 사용하는데, 최초 연결 시 HTTP 요청의 Upgrade 헤더를 사용하여 웹서버(교육 서비스 제공 서버(300))에 요청하고, 서버(교육 서비스 제공 서버(300))는 이를 확인하고 토큰을 생성하여 응답한다. 이러한 웹소켓 핸드쉐이킹(Hand Shaking)을 마치면 WS 프로토콜로 변환되어 프로토콜 오버헤드(Protocol Overhead) 방식으로 서버와 브라우저(클라이언트 단말(100))가 웹소켓 통신을 하게 된다.웹소켓은 완벽한 전이중 방식으로 서버에서 클라이언트로 푸시가 가능하다. 또한 기존의 방식들은 매 요청과 응답 시 HTTP 헤더를 주고받아 트래픽의 부하가 심했지만 웹소켓 방식은 최초 핸드쉐이크 과정에서만 요청과 응답 헤더가 있고 그 이후 데이터 송수신에는 최소 2바이트 크기의 프레임을 사용하여 네트워크의 부하도 감소하게 된다.
이때, 웹소켓은 특정한 프로토콜을 따르는 서버의 임의 포트를 가지는 TCP 애플리케이션일 수 있다. 클라이언트-서버를 별도의 외부 서버없이 직접 연결하며, C(++), 파이썬(Python), PHP, server-side JavaScript 등으로도 개발될 수 있다. 또한, 핸드쉐이킹을 감지하거나, 미리 처리하거나 또는 클라이언트를 실제 웹소켓에 연결되도록 하기 위하여 HTTP 서버와 같은 리버스 프록시(Reverse Proxy)를 이용할 수도 있는데, 이러한 경우에는 쿠키나 인증을 처리하기 별도의 코드를 구성하지 않아도 된다. 따라서, 후술하는 방법 이외에도 다양한 방법으로 웹소켓을 구현할 수 있으며, 핸드쉐이킹하는 방법에만 한정되지 않음은 자명하다 할 것이다.
우선, 교육 서비스 제공 서버(300)는, 표준 TCP 소켓을 이용하여 연결하는 소켓을 위해 반드시 대기하고 있어야 하는데, 이때 적어도 하나의 클라이언트 단말(100)에서 표준에 따른 HTTP 요청을 보내는 경우(HTTP 1.1, GET 방식), 교육 서비스 제공 서버(300)도 HTTP 구조의 응답을 보내게 되어 있다. 이러한 과정이 종료되면, 교육 서비스 제공 서버(300)와 클라이언트 단말(100)이 연결된다. MASK 비트는 메세지가 인코딩되어있는지의 여부를 나타내는데, 클라이언트 단말(100)이 교육 서비스 제공 서버(300)로 보내는 메세지는 항상 마스킹되어야 한다. 따라서 교육 서비스 제공 서버(300)에서 클라이언트로부터 받은 이 필드가 항상 1임을 예상할 수 있다.
핸드쉐이크가 끝난 시점부터 교육 서비스 제공 서버(300) 혹은 클라이언트 단말(100)은 언제든지 서로 Ping 패킷을 보낼 수 있다. 이때, Ping 패킷이 수신되면, 수신자는 가능한 빠른 응답으로 Pong 패킷을 전송자에게 보내야 한다. 여기서, Ping 패킷에서 전달된 페이로드(Payload)와 동일한 페이로드를 붙여서 Pong 패킷을 보내고, 이 경우 최대 페이로드 길이는 125일 수 있다. 교육 서비스 제공 서버(300)는 주기적으로 Ping 패킷을 보내서 클라이언트 단말(100)이 아직 연결중인지를 체크할 수 있다.
상술한 바와 같이, 생성부(320)는 핸드쉐이크 요청을 수락하여 적어도 하나의 클라이언트 단말(100)과 웹소켓 연결을 생성할 수 있다.
출력부(330)는, 적어도 하나의 클라이언트 단말(100)로부터 생성된 화면을 수신하여 실시간으로 출력할 수 있다. 이때, 적어도 하나의 클라이언트 단말(100)과 교육 서비스 제공 서버(300) 간의 웹소켓 연결은 적어도 하나의 클라이언트 단말(100) 및 교육 서비스 제공 서버(300)의 컴퓨팅 자원 및 네트워킹 자원에 기초할 수 있다.
디스플레이부(340)는, 화이트보드 인터페이스에 입력이 존재하는 경우, 출력된 화면 중 선택된 화면을 실시간으로 캡쳐하여 디스플레이할 수 있다. 그리고, 디스플레이부(340)에서 캡쳐하는 콘텐츠는 이미지 또는 동영상일 수 있다. 또는, 디스플레이부(340)는, 캡쳐 후 공유가 아니라, 실제로 다른 클라이언트 단말(100)에서 출력되는 화면을 실시간으로 공유하면서 실시간으로 공유되는 화면 상에 펜으로 쓴 글씨나 그림 등이 오버레이한 화면을 공유할 수도 있다.
공유부(350)는, 디스플레이된 실시간 캡쳐 화면에 터치 또는 드래그를 통한 입력에 대응하는 펜 콘텐츠를 오버레이하여 적어도 하나의 클라이언트 단말(100)로 실시간으로 공유할 수 있다. 이때, 웹소켓을 통하여 적어도 하나의 클라이언트 단말(100)과 교육 서비스 제공 서버(300)는, 음성 및 마우스의 실시간 움직임을 공유할 수 있다.
웹소켓을 이용한 웹기반 서비스 플랫폼에서 사용자의 양방향 상호작용을 원활하게 하기 위해서는 시스템에 접속한 각 사용자의 세션 관리가 필수적일 수 있다. 세션은 각 사용자를 나타내고 시스템적으로 모든 양방향 상호작용은 세션-세션 간 데이터 송수신으로 이루어지기 때문이다. 특히, 양방향 협업 학습 플랫폼에서는 한 사용자가 여러 대의 기기를 이용하는 것을 가정하기 때문에 한 사용자는 동시에 여러 개의 세션을 소유할 수 있게 된다. 이를 효율적으로 관리하기 위해서는 사용자와 기기의 세션을 계층적으로 관리하여, 사용자 레벨과 기기 레벨의 세션을 따로 관리해줄 필요가 있다. 또한, 사용자의 모든 기기들이 WebRTC 세션을 필요로 하기 때문에 시스템의 확장성(Scalability)를 위해서는 MCU의 가상화 환경에서 세션 연결을 설정시, 혼잡 제어를 할 필요가 있다. 즉, 키-밸류 캐시 저장소 기반의 세션 저장소를 이용하여 계층적 세션 관리 구조를 만들어 이러한 세션관리 문제를 해결함으로써 웹 기반의 협업 학습 플랫폼에서 양방향 상호작용의 성능을 향상시킬 수 있다.
e스포츠에서는 상황이 스토리텔링적으로 진행되고 콘텐츠가 빠르게 변화하기 때문에 일반적인 정적인 교육 시스템과는 다르게 더욱 빠른 속도의 화면 공유와 진행이 요구된다. 이때, 학습자와 강사(교수)는 하나의 강의 안에서 서로의 화면을 공유하고, 실시간으로 발생하는 e스포츠의 상황을 그때 그때마다 체크하며 실시간 상호작용적인 기능을 수행해야 한다. 이때, 화면을 서로 공유하면서 강사가 교육 서비스 제공 서버(300)를 이용하여 인터렉션을 적어도 하나의 클라이언트 단말(100)과 하고자 하는 경우, 사용자가 프론트엔드 인터페이스를 통해 수행한 입력은 웹소켓을 통하여 백엔드 처리를 거쳐 강의 애플리케이션 세션 내의 모든 클라이언트 단말(100)에게 해당 처리가 반영된다.
또한, 강의 대시보드를 이용할 수 있는 권한이 강사에게 부여될 수 있는데, 교육 서비스 제공 서버(300)는, 강의 대시보드를 통하여 비디오 화면, 개인 캔버스, 질문답변 등을 클라이언트 단말(100)과 주고받을 수 있다. 교육 서비스 제공 서버(300)는 실시간 화면을 웹소켓의 WebRTC를 통하여 실시간으로 공유할 수 있으며, 교수자의 경우 화이트 보드 또는 대시 보드에서 자신의 화면을 확인할 수 있으며, 강의자료에서 쓰이는 발표자료나 유인물 등에 화이트 보드의 기능을 통하여 강사는 학생들에게 필기내용을 전달할 수 있으며, 페이지에 펜 기능을 이용하여 표시할 수 있고, 교수자의 화면에서 일어나는 일련의 활동은 학습자의 화면에서도 실시간으로 동기화되어 발생한다.
이때, 슬라이드 쇼의 이벤트 이력은 서로 공유되는 화면의 플로우와 함께 기록될 수 있으며, 학생인 클라이언트 단말(100)이 강의 세션에 접속하면 자동으로 출석체크가 이루어질 수도 있다. 또한, 강사는 교육 서비스 제공 서버(300)를 통하여 클라이언트 단말(100)에서 발생하는 이벤트를 실시간으로 확인할 수 있다. 그리고, 적어도 하나의 클라이언트 단말(100) 간 화면을 공유할 수도 있는데, 학습자끼리 화면을 공유하여 문제를 협업하여 풀어나가거나, 교수자가 진행하는 학습내용을 모를 경우 피드백을 보낼 수도 있다. 이때, 교육 서비스 제공 서버(300)에서는 e스포츠의 강의를 진행하다가 클라이언트 단말(100)로부터 수신된 피드백의 의사 통계를 그래프 형태로 확인할 수 있고, 해당 정보를 이용하여 학습자의 이해도를 확인하거나, 어떠한 부분에서 질문이 제기되었는지를 확인함으로써, 다음 자신의 강의에 어떤 부분을 보충하여 더 설명을 해야하는지를 알고 개선할 수 있게 된다.
리얼타임부(360)는, 출력부(330)에서 적어도 하나의 클라이언트 단말(100)로부터 생성된 화면을 수신하여 실시간으로 출력한 후, 화이트보드 인터페이스의 실행입력이 존재하는 경우, 실시간으로 출력되고 있는 화면 중 어느 하나의 클라이언트 단말(100)의 실시간 화면을 선택받을 수 있다. 그리고, 리얼타임부(360)는, 선택된 클라이언트 단말(100)의 화면에 화이트보드 인터페이스의 펜 기능으로 펜 콘텐츠가 생성되는 경우 실시간으로 펜 콘텐츠가 오버레이된 실시간 화면을 적어도 하나의 화면과 실시간으로 공유할 수 있다. 즉, 게임의 특성상 캡쳐된 화면만을 가지고 설명하기에는 부족한 부분이 발생할 수 있다. 스토리텔링으로 진행되고 움직이는 그래픽으로 진행되는 게임, 즉 e스포츠에서는 실시간으로 어떠한 장면을 보면서 설명을 해야하는 경우도 있다. 이때, 강사가 A라는 학생의 게임진행화면을 보면서 B,C,D,E에게 설명할 수도 있고, B의 게임진행화면을 보면서 A,C,D,E에게 설명을 해야 할 수도 있다. 이에 따라, 교육 서비스 제공 서버(300)는, 자신의 화면 또는 다른 학생의 화면을 선택하고, 실시간으로 선택되지 않은 학생과 해당 화면을 공유하면서 화이트보드 기능을 더하여 강사의 설명이 실시간으로 추가될 수 있도록 한다.
한편, 적어도 하나의 클라이언트 단말(100) 및 교육 서비스 제공 서버(300)는 웹소켓으로 연결되기 전에, 웹소켓으로 연결될 수 있는 단말인지의 여부를 호스팅 서버(400)로부터 확인을 받아야 한다. 즉, 등록된 사용자임을 우선 확인하여 이용가능자와 불가능자를 구분하고, 그 다음 이용가능자 중에 사용권한과 자격 등을 확인하여 강사와 학생을 구분하며, 학생이라도 어느 정도의 엑세스나 제어권을 가지는지에 따라 레벨별 등으로 구분할 수 있다. 이를 위하여, 적어도 하나의 클라이언트 단말(100) 및 교육 서비스 제공 서버(300)는 호스팅 서버(400)로 로그인 처리를 요청하고, 사용권한에 대한 문의를 전송할 수 있다. 이에 따라, 호스팅 서버(400)는, 적어도 하나의 클라이언트 단말(100) 및 교육 서비스 제공 서버(300)로 가입 및 등록이 된 사용자인지의 여부를 확인하고, 강사 또는 학생을 구분하여 피드백을 전송할 수 있다. 이렇게, 웹서버인 호스팅 서버(400)의 자원을 로그인 및 사용권한 확인 용도로만 사용하는 경우, 호스팅 서버(400)의 컴퓨팅 자원이나 네트워킹 자원을 많이 소비하지 않으므로 임대료나 사용료 또는 구축비용이 훨씬 낮아지게 됨은 물론이다.
이하, 상술한 도 2의 교육 서비스 제공 서버의 구성에 따른 동작 과정을 도 3 내지 도 5를 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.
도 3을 참조하면, 스트리밍을 활용하면 안정적이긴 하나 운영비용이 급증하기 때문에 웹소켓을 이용하여 화면을 영상 또는 이미지로 캡쳐하여 실시간으로 공유할 수 있도록 구성될 수 있다. 이때, 유저 1은 교육 서비스 제공 서버(300)의 역할을 수행하고, 유저 2,..6은 클라이언트 단말(100)의 역할을 수행한다. 유저 1인 강사의 화면을 유저 2 내지 6과 공유할 수 있고, 다이렉트로 음성 스트리밍도 가능하다. 즉, 브로드캐스팅 방식으로 모든 유저에게 강사의 음성이 제공될 수도 있지만, 한 명의 학생을 지정하여 유니캐스팅 방식으로 음성을 스트리밍하는 것도 가능하다. 또한, 웹소켓 방식은 외부 서버 등의 자원이나 리소스를 활용하는 것이 아니고, 사용자의 PC 성능(컴퓨팅 자원 및 네트워킹 자원)을 기반으로 송출하는 방식이기 때문에 서버의 자원을 최소화할 수 있고, 웹소켓을 이용하는 경우 외부 서버 임대료가 월 30만원 정도 절감될 수 있으며, 별도의 스트리밍이나 스토리지 서버를 도입할 필요가 없으므로 운영시 이점이 발생한다.
도 4는 강사의 화면, 즉 교육 서비스 제공 서버(300)의 출력화면인데, 적어도 하나의 클라이언트 단말(100)의 화면을 동시에 또는 적어도 하나를 선택하여 출력할 수 있다. 또한, 도 5는 학생의 화면, 즉 적어도 하나의 클라이언트 단말(100)의 화면인데, 강사가 화이트 보드 펜 기능으로 표시한 부분과 e스포츠 화면이 함께 출력되고 있는 것을 알 수 있다. 이에 따라, 학생은 강사가 선택한 화면에서 강사가 설명을 하는 부분 등을 함께 보면서 수업을 들을 수 있으므로, e스포츠를 배우는데 있어 더욱 효과적인 학습이 가능하다.
한편, e스포츠는 객체 지향적 구조의 전형적인 예라고 할 수 있는데, 게임의 가장 기본적인 수준은 여러 명의 플레이어들과 하나의 공으로 이루어지며, 이 플레이어들이 팀을 만들고, 팀들은 하나의 스포츠의 규칙 안에서 작동하는 하나의 세계를 구성한다. 또한 플레이어들은 미리 결정된 행동들을 가지며, 하나의 유한상태 기계 안에서 작동하게 된다. 이러한 스포츠게임에서 추측항법을 응용하면 에이전트의 의도와 목표를 추론하는 것도 가능하다. 사례기반 추론은 귀납법과 유추와 유사한 개념인데, 즉, 유사한 과거 문제의 해결에 기초해서 새로운 문제를 해결하는 과정이다. 법관이 지난 사건에 대한 판례를 통해 당면한 사건에 대해 판단을 내리듯이, 인간의 지적 활동을 모델화한 것으로, 과거문제로부터 얻은 상황 경험이나 지식을 사례 데이터베이스로 구축하여 어떠한 상황이나 문제가 발생하면 기존의 사례 데이터베이스에서 가장 똑같거나 가장 유사한 사례를 선택하여 그 사례가 제시하는 해결책으로 현 문제에 대한 답을 제시한다. 그 과정은 새로운 문제가 주어지면 사례 베이스로부터 현 문제와 유사한 사례를 도출하고, 현 문제를 위해 사례를 변형시킨 후 해의 도출과 검증과 정을 거쳐 최종적으로 새로운 사례를 저장하게 된다. 이때, e스포츠를 교육하는 현장에서 학생들의 질문이나 강사의 피드백 등을 데이터베이스화하여 이에 대하여 자동으로 응답해주는 구성을 더 추가할 수 있다.
덧붙여서, 유전자 알고리즘은 실시간 전략 게임에서 사람 플레이어의 약점들을 대상으로 하는 AI전략을 조율하는데 사용할 수 있으며, 유닛 선호도, 공격과 방어에 대한 가중치, 기술 발전 선호도 등 AI의 개성을 결정하는 여러 매개변수들을 진화 알고리즘으로 조율하는 식으로 더 나은 RTS AI를 만들 수 있다. 또한 RTS에서 개별 유닛이나 유닛 그룹의 행동을 조율하는 데에도 진화 알고리즘을 사용할 수 있다. 롤플레잉 게임이나 1인칭 슈팅 게임에서 캐릭터 행동들과 사건들을 진화시키는 데에도 유전자 알고리즘을 사용할 수 있다. 예를 들면 게임의 생물들 중 가장 오래 살아남은 것들을 택하고 그것들로 새로운 세대를 생산하는 등, 이런 것은 새로운 생물이 필요할 때에만 수행하면 될 것이다. 이렇듯 유전자 알고리즘은 적응이나 다양성, 최적화가 필요하며 조율해야 할 매개변수들이 있는 부분이라면 어디에도 사용할 수 있으며, 특히 그런 변수들을 손으로 설정하는 것이 시간이 많이 걸리고 어렵다면 더욱 적절하다. 따라서, 학생들이 e스포츠를 플레이하는 화면을 저장한 후, 유전자 알고리즘을 통하여 많은 수의 변수들이 복잡하게 상호작용하는 문제에 대한 솔루션을 제공하도록 함으로써, 강사가 1 명이어서 즉각적인 피드백이 어려운 경우일지라도 바로 학생이 응답을 받을 수 있도록 할 수 있다. 즉, 정적인 강의와는 다르게, e스포츠는 시시각각 급변하는 콘텐츠 때문에 잠시라도 질문할 타이밍을 놓치거나 하는 경우 그 질문을 강사에게 다시 할 수 있는 확률은 급격하게 낮아질 수 있다. 따라서, 유전자 알고리즘, 즉, 자연에서 일어나는 적자생존의 진화를 흉내 냄으로써 색다른 전략 조합들을 발견할 수 있는 능력을 가지는 알고리즘을 이용하여 학생들에게 즉각적인 피드백이나 전략 조합을 제공할 수 있도록 하는 것도 가능하다 할 것이다.
이와 같은 도 2 내지 도 5의 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 6은 본 발명의 일 실시예에 따른 도 1의 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 6을 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 6에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.
도 6을 참조하면, 교육 서비스 제공 서버는, 적어도 하나의 클라이언트 단말로부터 웹소켓을 연결하기 위한 핸드쉐이크(Handshaking) 요청을 수신한다(S6100).
그리고, 교육 서비스 제공 서버는, 핸드쉐이크 요청을 수락하여 적어도 하나의 클라이언트 단말과 웹소켓 연결을 생성하고(S6200), 적어도 하나의 클라이언트 단말로부터 생성된 화면을 수신하여 실시간으로 출력한다(S6300).
또한, 교육 서비스 제공 서버는, 화이트보드 인터페이스에 입력이 존재하는 경우, 출력된 화면 중 선택된 화면을 실시간으로 캡쳐하여 디스플레이하고(S6400), 디스플레이된 실시간 캡쳐 화면에 터치 또는 드래그를 통한 입력에 대응하는 펜 콘텐츠를 오버레이하여 적어도 하나의 클라이언트 단말로 실시간으로 공유한다(S6500).
상술한 단계들(S6100~S6500)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S6100~S6500)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.
이와 같은 도 6의 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 5를 통해 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 6을 통해 설명된 일 실시예에 따른 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 일 실시예에 따른 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (5)

  1. 교육 서비스 제공 서버에서 실행되는 원격화면공유 서비스 제공 방법에 있어서,
    적어도 하나의 클라이언트 단말로부터 웹소켓을 연결하기 위한 핸드쉐이크(Handshaking) 요청을 수신하는 단계;
    상기 핸드쉐이크 요청을 수락하여 상기 적어도 하나의 클라이언트 단말과 웹소켓 연결을 생성하는 단계;
    상기 적어도 하나의 클라이언트 단말로부터 생성된 화면을 수신하여 실시간으로 출력하는 단계;
    화이트보드 인터페이스에 입력이 존재하는 경우, 상기 출력된 화면 중 선택된 화면을 실시간으로 캡쳐하여 디스플레이하는 단계;
    상기 디스플레이된 실시간 캡쳐 화면에 터치 또는 드래그를 통한 입력에 대응하는 펜 콘텐츠를 오버레이하여 상기 적어도 하나의 클라이언트 단말로 실시간으로 공유하는 단계;
    를 포함하는, E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 클라이언트 단말 및 상기 교육 서비스 제공 서버는 호스팅 서버로 로그인 처리를 요청하고, 사용권한에 대한 문의를 전송하고,
    상기 호스팅 서버는, 상기 적어도 하나의 클라이언트 단말 및 교육 서비스 제공 서버로 가입 및 등록이 된 사용자인지의 여부를 확인하고, 강사 또는 학생을 구분하여 피드백을 전송하는 것인, E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법.
  3. 제 1 항에 있어서,
    상기 웹소켓을 통하여 상기 적어도 하나의 클라이언트 단말과 상기 교육 서비스 제공 서버는, 음성 및 마우스의 실시간 움직임을 공유하는 것인, E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법.
  4. 제 1 항에 있어서,
    상기 적어도 하나의 클라이언트 단말과 상기 교육 서비스 제공 서버 간의 웹소켓 연결은 상기 적어도 하나의 클라이언트 단말 및 교육 서비스 제공 서버의 컴퓨팅 자원 및 네트워킹 자원에 기초하는 것인, E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법.
  5. 제 1 항에 있어서,
    상기 적어도 하나의 클라이언트 단말로부터 생성된 화면을 수신하여 실시간으로 출력하는 단계 이후에,
    상기 화이트보드 인터페이스의 실행입력이 존재하는 경우, 상기 실시간으로 출력되고 있는 화면 중 어느 하나의 클라이언트 단말의 실시간 화면을 선택받는 단계;
    상기 선택된 클라이언트 단말의 화면에 상기 화이트보드 인터페이스의 펜 기능으로 펜 콘텐츠가 생성되는 경우 실시간으로 상기 펜 콘텐츠가 오버레이된 실시간 화면을 상기 적어도 하나의 화면과 실시간으로 공유하는 단계;
    를 더 포함하는 것인, E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법.
KR1020180086201A 2018-07-24 2018-07-24 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법 KR20200011299A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180086201A KR20200011299A (ko) 2018-07-24 2018-07-24 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180086201A KR20200011299A (ko) 2018-07-24 2018-07-24 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법

Publications (1)

Publication Number Publication Date
KR20200011299A true KR20200011299A (ko) 2020-02-03

Family

ID=69627253

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180086201A KR20200011299A (ko) 2018-07-24 2018-07-24 E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법

Country Status (1)

Country Link
KR (1) KR20200011299A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230057021A (ko) 2021-10-21 2023-04-28 배재대학교 산학협력단 스프링 부트 기반의 프로그래밍 교육 및 온라인 채점 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230057021A (ko) 2021-10-21 2023-04-28 배재대학교 산학협력단 스프링 부트 기반의 프로그래밍 교육 및 온라인 채점 시스템

Similar Documents

Publication Publication Date Title
US11509739B2 (en) Systems and methods for automated module-based content provisioning
Bower et al. Collaborative learning across physical and virtual worlds: Factors supporting and constraining learners in a blended reality environment
Jara et al. Real-time collaboration of virtual laboratories through the Internet
US10404943B1 (en) Bandwidth reduction in video conference group sessions
Lédeczi et al. Teaching cybersecurity with networked robots
US20150156233A1 (en) Method and system for operating a collaborative network
KR101289870B1 (ko) 스마트단말기를 이용한 스마트 수업 진행시스템
Schön et al. MobileQuiz-a lecture survey tool using smartphones and QR tags
CN113747247B (zh) 直播方法、装置、计算机设备和存储介质
Morgado et al. Integration scenarios of virtual worlds in learning management systems using the MULTIS approach
KR20200011299A (ko) E-스포츠 교육을 위한 웹소켓을 이용한 양방향 원격화면공유 서비스 제공 방법
García et al. Rethinking remote laboratories: Widgets and smart devices
Nahrstedt et al. Mobile Learning Communities-Are We There Yet?
Chunwijitra et al. An interoperability framework of open educational resources and massive open online courses for sustainable e-learning platform
KR20140111165A (ko) 실시간 상호 협동가능 온라인 프레젠테이션 시스템 및 그 방법
Buasri et al. Web-based interactive virtual classroom using HTML5-based technology
Kao et al. The Design of Internet Collaborative Learning System Structure with the Integration of 3D Virtual Instruments
Yamamoto et al. Performance evaluation of an active learning system using smartphone: a case study for high level class
Tam et al. Using Cloud Computing and Mobile Devices to Facilitate Students' Learning through E-Learning Games
Führer et al. Digital Lab for Basic and Advanced Features of Message Queuing Telemetry Transport (MQTT)
Khaddage et al. Facebook as a dynamic educational tool in a mobile learning environment
CN111813312B (zh) 数据传输方法、装置、系统、终端设备及可读存储介质
US20230327896A1 (en) Method and apparatus for creating an online classroom community to facilate user participation
Zhang Video transmission and teaching simulation of piano network course based on mobile service terminal development
Pattanayak et al. An IoT Enabled Cloud Based Virtual Classroom Assisted e? Learning System

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X601 Decision of rejection after re-examination