KR102185692B1 - 단말 장치, 서버, 단말 장치의 브라우저 구동 시스템, 단말 장치의 브라우저 구동 방법 - Google Patents

단말 장치, 서버, 단말 장치의 브라우저 구동 시스템, 단말 장치의 브라우저 구동 방법 Download PDF

Info

Publication number
KR102185692B1
KR102185692B1 KR1020140004301A KR20140004301A KR102185692B1 KR 102185692 B1 KR102185692 B1 KR 102185692B1 KR 1020140004301 A KR1020140004301 A KR 1020140004301A KR 20140004301 A KR20140004301 A KR 20140004301A KR 102185692 B1 KR102185692 B1 KR 102185692B1
Authority
KR
South Korea
Prior art keywords
browser
terminal device
driving
data
external device
Prior art date
Application number
KR1020140004301A
Other languages
English (en)
Other versions
KR20140103038A (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 EP14153107.9A priority Critical patent/EP2767905A1/en
Priority to US14/178,993 priority patent/US9621477B2/en
Priority to JP2014026342A priority patent/JP2014157604A/ja
Priority to CN201410053683.7A priority patent/CN103995738A/zh
Publication of KR20140103038A publication Critical patent/KR20140103038A/ko
Application granted granted Critical
Publication of KR102185692B1 publication Critical patent/KR102185692B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45DHAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
    • A45D34/00Containers or accessories specially adapted for handling liquid toiletry or cosmetic substances, e.g. perfumes
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45DHAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
    • A45D34/00Containers or accessories specially adapted for handling liquid toiletry or cosmetic substances, e.g. perfumes
    • A45D34/04Appliances specially adapted for applying liquid, e.g. using roller or ball
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45DHAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
    • A45D40/00Casings or accessories specially adapted for storing or handling solid or pasty toiletry or cosmetic substances, e.g. shaving soaps or lipsticks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65BMACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
    • B65B1/00Packaging fluent solid material, e.g. powders, granular or loose fibrous material, loose masses of small articles, in individual containers or receptacles, e.g. bags, sacks, boxes, cartons, cans, or jars
    • B65B1/04Methods of, or means for, filling the material into the containers or receptacles

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

단말 장치의 브라우저 구동 방법이 개시된다. 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동 방법은, 단말 장치 내에서 브라우저를 구동하기 위한 제1 연산에 필요한 리소스를 확인하는 단계와, 리소스가 없거나 부족한 경우, 외부 장치에 제1 연산을 요청하는 단계와, 외부 장치로부터 제1 연산 결과에 따른 데이터를 수신하는 단계와, 수신된 데이터를 이용하여 브라우저에 데이터를 표시하는 단계를 포함한다.

Description

단말 장치, 서버, 단말 장치의 브라우저 구동 시스템, 단말 장치의 브라우저 구동 방법{TERMINAL APPRATUS, SERVER, BROWSER OF TERMINAL APPRATUS OPERAING SYSTEM AND BROWSER OPERAING METHOD OF TERMINAL APPARATUS}
본 발명은 단말 장치에서의 브라우저 구동에 관한 것으로, 좀더 상세하게는 단말 장치에서 브라우저 구동을 위한 연산 처리를 외부 장치가 수행하는 단말 장치, 서버, 단말 장치의 브라우저 구동 시스템, 단말 장치의 브라우저 구동 방법에 관한 것이다.
브라우저는 인터넷을 포함하는 네트워크에서 정보를 검색하는 데 사용하는 응용 프로그램을 말한다. 응용 프로그램은 운영체제의 일부로 장착될 수도 있고 별도의 어플리케이션으로 구현될 수도 있다. 웹브라우저 혹은 인터넷 브라우저라고 부르기도 한다.
브라우저는 웹상에 존재하는 데이터를 수집하여 일정한 포맷에 따라 가공하여 그래픽적으로 보여주거나 사운드를 전달한다. 예를 들어, 웹 페이지 상의 텍스트 정보, 동영상, 음악 스트리밍, 특정 서버의 로긴 기능 등을 제공한다. 기술적으로 웹브라우저는 HTML/CSS/Javascript/Image 등의 리소스를 분석하고 랜더링한다.
일 예로 자바 스크립트(Javascript)는 컴파일 없이 동적으로 사용자와 인터렉션을 할 수 있는 스크립트 웹 언어로서 널리 사용되고 있다. 자바 스크립트가 웹을 통해 사용자 단말로 전달되고 사용자와 인터랙션을 위해 사용된다.이때, 자바 스크립트의 실행(Execution)은 사용자 단말 상에서 수행된다.
이처럼 자바 스크립트가 사용자 단말에서 수행되는 경우 브라우저의 작업 처리 능력은 사용자 단말의 리소스와 성능에 의존한다. 예를 들어, 브라우저 상에서 동영상을 재생시키는 경우 브라우저가 장착된 시스템의 운영체제가 지원하는 동영상 재생 기능이 이용된다. 따라서, 웹을 통해 제공되는 동영상이 특정한 방식으로 인코딩된 경우 운영체제가 상기 동영상의 디코딩을 위한 코덱을 지원하지 않는다면 브라우저는 동영상을 재생시키지 못하게 된다.
또한, 브라우저가 처리해야할 작업의 오버헤드가 크고 브라우저를 장착한 디바이스의 성능이 충분하지 못한 경우 브라우저의 처리 속도는 떨어지게 된다. 예를 들어, 브라우저를 통해 외부 서버로부터 제공되는 오목 게임을 즐기는 경우를 생각할 수 있다. 사용자가 게임에서 설정된 가상의 사용자(컴퓨터)와의 오목 게임을 하는 경우 가상의 사용자가 오목알을 놓는 수의 계산이 브라우저를 장착한 디바이스에서 이루어진다고 가정하면, 게임의 레벨이 올라갈수록 복잡한 경우의 수 계산이 필요하게 될 것이다. 브라우저는 디바이스의 자원을 이용해서 경우의 수 계산을 수행할 것이지만 시스템의 한정된 성능으로 인해 브라우저의 게임 수행 성능이 떨어질 수 있다. 특히, 모바일 장치의 경우 시스템 자원이 더욱 한정적이므로 브라우저는 성능 스트레스를 받게 된다.
한편, 현재의 웹 프로그램 엔진을 장착한 브라우저는 대부분 단일 스레드 환경을 지원한다. 즉, 순차적인 파싱 과정을 통해 한번에 웹 프로그램을 실행한다. 단일 쓰레드 방식은 웹 프로그램 중간에 별도의 계산을 수행하기 위한 호출을 수행하고 반환 값을 얻는 경우 반환 값이 얻어질 때까지 웹 프로그램의 다음 라인의 실행은 불가능하다. 따라서, 반환 값을 얻을 때까지 작업이 오래 걸리는 스크립트를 수행한다면 프로그램의 실행 시간 지연은 불가피하다.
요컨대, 멀티 스레드를 지원하면서 한정된 자원을 갖는 디바이스에 장착된 브라우저에서 비교적 오버헤드가 큰 작업을 원활하게 수행할 수 있는 방안이 요구된다.
본 발명은 상술한 필요성에 따라 안출된 것으로, 본 발명의 목적은, 한정된 자원을 갖는 디바이스에 장착된 브라우저에서 비교적 오버헤드가 큰 작업을 원활하게 수행할 수 있는 단말 장치, 서버, 단말 장치의 브라우저 구동 시스템, 단말 장치의 브라우저 구동 방법을 제공하기 위함이다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동 방법은, 상기 단말 장치 내에서 상기 브라우저를 구동하기 위한 제1 연산에 필요한 리소스를 확인하는 단계와, 상기 리소스가 없거나 부족한 경우, 외부 장치에 상기 제1 연산을 요청하는 단계와, 상기 외부 장치로부터 상기 제1 연산 결과에 따른 데이터를 수신하는 단계와, 상기 수신된 데이터를 이용하여 상기 브라우저에 데이터를 표시하는 단계를 포함한다.
상기 데이터 표시 단계는, 상기 수신된 데이터를 이용하여 상기 브라우저에 이미지를 렌더링하는 작업일 수 있다.
또한, 상기 리소스 확인 단계는, 상기 단말 장치의 메모리, 동작 중인 프로세스 및 처리 속도 중 적어도 하나를 기초로 기설정된 시간 내에 계산을 수행할 수 있는지 판단할 수 있다.
상기 단말 장치의 브라우저 구동 방법은, 상기 리소스가 부족하거나 없는 경우, 상기 제1 연산을 수행할 외부 장치를 선택하여 채널을 형성하는 단계를 더 포함할 수 있다.
또한, 상기 채널 형성 단계는, 상기 단말 장치와 외부 장치를 연결하는 네트워크 상태를 고려하여 상기 제1 연산을 수행할 외부 장치를 선택할 수 있다.
또한, 상기 외부 장치는, 서버 또는 다른 단말 장치일 수 있다.
이때, 상기 제1 연산은 웹 워커 쓰레드 처리 수행 작업일 수 있다.
상기 단말 장치의 브라우저 구동 방법은, 상기 제1 연산과 독립적으로 상기 단말 장치 내에서 상기 브라우저를 구동하기 위한 제2 연산을 수행하는 단계를 더 포함할 수 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동을 위한 연산 방법은, 단말 장치의 브라우저 구동을 위한 연산 방법에 있어서, 단말 장치의 리소스가 부족하거나 없는 경우, 상기 단말 장치로부터 브라우저를 구동하기 위한 연산 요청을 수신하는 단계와, 상기 수신된 연산 요청에 따라 상기 연산을 수행하는 단계와, 상기 수행된 연산 결과 데이터를 상기 외부 장치로 전송하는 단계를 포함한다.
또한, 이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동 방법은, 단말 장치의 브라우저 구동 방법에 있어서, 상기 단말 장치가 상기 브라우저를 구동하기 위한 연산에 필요한 리소스를 확인하는 단계와, 상기 리소스가 부족하거나 없는 경우, 상기 단말 장치가 외부 장치에 상기 연산을 요청하는 단계와, 상기 외부 장치가 상기 연산을 수행하는 단계와, 상기 외부 장치가 상기 연산 결과에 따른 데이터를 상기 단말 장치로 전송하는 단계와, 상기 단말 장치가 상기 수신한 데이터를 이용하여 상기 브라우저에 데이터를 표시하는 단계를 포함한다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 단말 장치는, 브라우저를 디스플레이하는 디스플레이부와, 외부 장치와 통신하는 통신부와, 단말 장치 내에 브라우저를 구동하기 위한 연산에 필요한 리소스가 부족하거나 없는 경우, 상기 외부 장치에 상기 연산을 요청하여 연산 결과에 따른 데이터를 수신하고, 상기 수신된 데이터를 이용하여 상기 브라우저에 데이터를 표시하도록 제어하는 제어부를 포함한다.
또한, 상기 제어부는, 상기 수신된 데이터를 이용하여 상기 브라우저에 이미지를 렌더링할 수 있다.
또한, 상기 제어부는, 상기 단말 장치의 메모리, 동작 중인 프로세스 및 처리 속도 중 적어도 하나를 기초로 기설정된 시간 내에 계산을 수행할 수 있는지 판단함으로써, 상기 리소스가 부족하거나 없는지 판단할 수 있다.
또한, 상기 제어부는, 상기 리소스가 부족하거나 없는 경우, 상기 연산을 수행할 외부 장치를 선택하여 채널을 형성하도록 제어할 수 있다.
또한, 상기 제어부는, 상기 단말 장치와 외부 장치를 연결하는 네트워크 상태를 고려하여 상기 연산을 수행할 외부 장치를 선택할 수 있다.
또한, 상기 외부 장치는, 서버 또는 다른 단말 장치일 수 있다.
또한, 상기 연산은 웹 워커 쓰레드 처리 수행 작업일 수 있다.
또한, 상기 단말 장치는 모바일 장치일 수 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 서버는, 단말 장치와 통신을 수행하는 통신부와, 상기 단말 장치의 리소스가 부족하거나 없는 경우, 상기 단말 장치로부터 브라우저를 구동하기 위한 연산 요청을 수신하여 상기 수신된 연산 요청에 따라 상기 연산을 수행하고, 상기 수행된 연산 결과 데이터를 상기 외부 장치로 전송하도록 제어하는 제어부를 포함한다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동 시스템은 브라우저를 구동하기 위한 연산에 필요한 리소스가 부족하거나 없는 경우, 제2 장치에 상기 연산을 요청하고, 상기 제2 장치로부터 수신된 연산결과를 이용하여 상기 브라우저에 데이터를 표시하는 제1 장치와, 상기 제1 장치의 요청이 있는 경우 상기 연산을 수행하여 연산 결과에 따른 데이터를 상기 제1 장치로 전송하는 제2 장치를 포함한다.
상기와 같은 본 발명의 다양한 실시 예에 따르면, 본 발명은, 한정된 자원을 갖는 디바이스에 장착된 브라우저에서 비교적 오버헤드가 큰 작업을 원활하게 수행할 수 있게 된다.
도 1은 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동 방법의 흐름도,
도 2는 본 발명의 다른 실시 예에 따른 단말 장치의 브라우저 구동 방법의 흐름도,
도 3은 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동을 위한 연산 방법의 흐름도,
도 4는 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동방법의 흐름도,
도 5는 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동 시스템의 블록도,
도 6은 본 발명의 일 실시 예에 따른 단말 장치의 구성을 도시한 블록도,
도 7은 본 발명의 일 실시 예에 따른 외부 장치의 구성을 도시한 블록도,
도 8은 본 발명의 일 실시 예에 따른 웹 워크로드 균형 프레임워크를 도시한 도면, 그리고,
도 9는 WWF의 시퀀스 다이어 그램이다.
이하에서는 첨부된 도면을 참조하여, 본 발명의 다양한 실시 예를 설명한다.
도 1은 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동 방법의 흐름도이다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동 방법은 브라우저 구동을 위한 리소스를 확인하는 단계(S110), 리소스가 부족한지 판단하는 단계(S120), 외부 장치에 연산을 요청하는 단계(S130), 외부 장치로부터 연산 데이터를 수신하는 단계(S140), 브라우저에 수신된 데이터를 표시하는 단계(S150)를 포함한다.
여기서 단말 장치는 디바이스에 장착된 브라우저를 통해 웹 페이지에서 제공하는 정보를 검색, 서핑, 표시 등을 수행할 수 있는 기능을 제공하는 모바일 또는 스테이셔너리(stationary) 디바이스이다. 예를 들어, 스마트폰, 태블릿 PC, 컴퓨터, 디지털 텔레비젼, E-북 디바이스, PMP, MP3 플레이어 중 어느 하나가 될 수 있다.
단말 장치의 브라우저 구동 초기 단계에서 운영체제는 브라우저 프로세스를 메모리에 적재하여 실행상태에 진입시킨다. 브라우저는 사용자와 인터렉션 준비에 들어간다.
사용자가 특정 웹사이트 주소를 입력하는 등 특정 웹 서비스 요청을 입력하는 경우 브라우저는 사용자의 요청을 해석한다. 구체적으로 브라우저는 입력된 사용자 요청을 해석하여 웹서비스의 종류와 물리적 주소를 파악한다. 그리고, 운영체제는 통신 포트를 통해 서비스 서버와 같은 외부 장치로 서비스 요청을 전달한다.
외부 장치는 서비스 요청을 수신한 경우 서비스를 요청한 단말 장치의 주소와 서비스 종류를 확인한다. 그리고, 웹프로그램 언어로 작성된 텍스트 정보를 포함하는 서비스 데이터를 단말 장치로 제공한다.
단말 장치는 서비스 데이터를 수신하고 수신된 서비스 데이터의 파싱을 수행한다. 그리고, 파싱을 수행하면서 필요한 경우 단말 장치의 자원을 이용한다. 전술한 오목 프로그램을 다시 고려하면, 단말 장치는 오목 프로그램을 수신하고 브라우저는 수신된 오목 프로그램을 분석하여 실행시킨다. 오목 프로그램의 실행에서 단말 장치의 자원인 메모리, 캐쉬, CPU, 사운드 카드, 그래픽 카드 등이 이용된다. 단말 장치의 운영체제는 브라우저에 프로세스를 할당한다.
S110단계에서 단말 장치는 브라우저 구동을 위해 필요한 리소스가 존재하는지 확인한다. 프로그램 실행을 위해 필요한 리소스에 대한 정보는 서비스 데이터에 포함될 수 있다. 이와 다르게 브라우저는 프로그램 실행을 위한 리소스가 무엇인지 판단할 수도 있다. 브라우저는 운영체제에 프로그램 동작을 위해 필요한 리소스가 존재하는지 문의하고, 운영체제는 리소스의 존재여부를 알려준다.
예를 들어, 브라우저에서 동영상을 재생시키는 경우 브라우저가 장착된 시스템의 운영체제가 동영상 재생을 지원하는지 확인한다. 웹을 통해 제공되는 동영상이 특정한 방식으로 인코딩된 경우 브라우저가 장착된 단말 장치의 운영체제가 상기 동영상의 디코딩을 위한 코덱을 지원하는지 판단한다. 코덱이 없는 경우 브라우저는 동영상 재생이 불가능하므로 외부 장치 예를 들면 서버 등에 코덱을 요청할 수 있다.
또한, 동영상 재생을 위해 스트리밍 데이터를 저장할 수 있는 충분한 저장 공간이 준비되어 있는지도 확인한다. 만일 충분한 저장공간이 없다면 단말 장치는 기존의 데이터를 삭제하거나 동영상 재생을 중단해야 할 것이다.
브라우저를 통해 사용자가 게임에서 설정된 가상의 사용자(컴퓨터)와의 오목 게임을 하는 경우를 다시 고려하자. 이때, 가상의 사용자가 놓는 오목알에 대한 경우의 수는 사용자가 오목알을 놓은 직후부터 계산이 이루어져야 하고, 기 설정된 시간 내에 계산이 종료되어야 한다. 그리고, 사용자가 다음에 놓은 오목알을 고민하는 경우 컴퓨터가 놓을 오목알의 위치를 미리 계산해 놓을 수 있다. 이때는 복수 회의 계산 작업 프로세스가 확보되어야 한다. 특히, 게임의 레벨이 올라갈수록 짧은 시간 동안에 복잡한 경우의 수 계산이 필요하게 될 것이다. 브라우저는 계산에 필요한 단말 장치의 자원을 확인한다. 단말 장치가 모바일 장치라면 자원은 더욱 한정적일 것이다.
상기 리소스에 대한 판단은 브라우저가 프로그램을 수행하는 초기 단계에서 수행할 수도 있지만, 프로그램의 데이터 양이 많은 경우 프로그램을 수행하는 중간 단계에서 실시간으로 수행하거나 기 설정된 프로그램의 부분별로 판단이 이루어질 수 있다.
브라우저가 HTML 5를 지원하는 경우 상기 웹 프로그램은 웹워커(Web Worker) 소스를 포함할 수 있다. 일반적으로 웹 프로그램은 단일 쓰레드 모드로 수행된다. 즉, 순차적인 파싱 과정을 통해 한 번에 웹 프로그램을 실행한다. 단일 쓰레드 방식은 웹 프로그램 중간에 별도의 계산을 수행하기 위한 호출을 수행하고 반환 값을 얻는 경우 반환 값이 얻어질 때까지 웹 프로그램의 다음 라인의 실행은 불가능하다. 따라서, 반환 값을 얻을 때까지 작업이 오래 걸리는 스크립트를 수행한다면 프로그램의 실행 시간 지연은 불가피하다. HTML 5는 웹 워커라는 스팩을 포함하여 멀티 쓰레드 실행을 가능하도록 한다.
웹 워커는 자바스크립트 코드를 UI 쓰레드와는 별도인 백그라운드에서 수행될 수 있도록 하는 표준적인 방법을 제공하기 때문에 웹 페이지를 가로막지 않고 스크립트를 돌릴 수 있다. 웹 워커는 매우 복잡한 수학적 계산 작업, 다른 리소스에 대한 액세스 작업, 백그라운드에서의 UI 쓰레드에 방해 없이 지속적으로 수행해야 하는 작업 등에 적합하다. 웹 워커에서 데이터를 송신할 때는 postMessage 라는 메소드를 이용하며 데이터를 수신할 때는 onmessage 이벤트를 통해 전달받는다.
이처럼 프로그램에서 웹 워커로 작성된 부분은 대부분 많은 계산이 필요한 부분일 수 있으므로 브라우저는 웹 워커 부분을 중심으로 필요한 리소스가 단말 장치에 존재하는지 판단할 수 있다. 또는 웹 워커 부분이 존재한다는 것만으로 웹 워커 구동을 위한 리소스가 단말 장치에 존재하지 않다고 가정할 수 있다.
리소스에 대한 판단은 브라우저가 프로그램을 수행하는 초기 단계에서 수행할 수도 있지만, 프로그램의 데이터 양이 많은 경우 프로그램을 수행하는 중간 단계에서 실시간으로 수행하거나 기 설정된 프로그램의 부분별로 판단이 이루어질 수 있다.
S120 단계에서 리소스가 부족하다고 판단되면, 외부 장치에 연산을 요청한다(S130).
전술한 실시 예와 같이 프로그램이 웹 워커 객체를 포함하고 있는 경우 그 웹 워커 객체 처리를 위한 리소스가 부족하다고 판단되면, 외부 장치에 상기 웹 워커 객체의 연산을 요청한다. 또는 웹 워커 객체에 대해서는 무조건 외부 장치에 연산을 요청할 수도 있다. 그리고, 웹 워커 객체가 아닌 다른 프로그램 객체에 대해서도 리소스가 부족하다고 판단되면 외부 장치에 연산 요청이 가능할 것이다.
컴퓨터와 오목 게임을 하는 실시 예에서 사용자가 오목 돌을 놓는 경우 컴퓨터의 다음 수를 계산하기 위한 리소스가 부족할 수 있다. 브라우저는 사용자가 놓은 수와 현재의 게임 정보를 외부 장치로 전송하고 외부 장치는 컴퓨터의 다음 수를 계산한다. 외부 장치는 계산결과에 대한 정보를 기설정된 시간 내에 단말 장치로 제공한다.
컴퓨터의 수를 계산하는 함수가 웹 워커 객체로 작성되어 있다면 브라우저는 웹 워커를 통해 상기 객체의 계산을 수행할 것이다. 그러나, 단말 장치의 리소스가 부족한 경우 웹 워커 객체는 외부 장치로 전달된다. 구체적으로 postMessage 메서드를 통해 외부 장치로 전송된다. 외부 장치는 연산을 수행한 후 단말 장치는 onmessage 이벤트를 통해 외부 장치의 연산 결과 데이터를 수신한다.
외부 장치는 요청에 따라 연산을 수행한다. 외부 장치는 연산 수행을 위한 수단을 구비해야 한다. 외부 장치는 웹 워커 객체를 전달받은 경우 웹 워커 객체를 분석하여 처리할 수 있는 엔진이 필요하다. 또한, 연산 수행을 위한 충분한 리소스를 갖고 있어야 한다.
단말 장치의 브라우저는 외부 장치로부터 연산 결과에 따른 데이터를 수신한다(S140).
S150 단계에서 수신된 데이터를 이용하여 브라우저에 데이터를 표시한다. 상기 S150 단계는 상기 수신된 데이터를 이용하여 상기 브라우저에 이미지를 렌더링하는 작업일 수 있다.
컴퓨터와 오목 게임을 하는 실시 예에서 브라우저는 외부 장치로부터 수신된 계산 결과 데이터를 이용하여 컴퓨터의 오목돌 배치에 따라 새롭게 변화된 오목판의 모습을 디스플레이한다.
컴퓨터의 수를 계산하는 함수가 웹 워커 객체로 작성되어 있는 경우 브라우저는 수신된 외부 장치의 연산 결과 데이터를 이용하여 브라우저 화면을 구성한다.
이하에서는 본 발명의 확장된 실시 예를 설명한다.
도 2는 본 발명의 다른 실시 예에 따른 단말 장치의 브라우저 구동 방법의 흐름도이다.
도 2를 참조하면, 본 발명의 다른 실시 예에 따른 단말 장치의 브라우저 구동 방법은 리소스 부족 여부 판단 단계(S210), 리소스 부족하면(S220-Y) 외부 장치를 선택하여 채널을 형성하는 단계(S230), 외부 장치에 연산을 요청하는 단계(S240), 외부 장치로부터 연산 결과를 수신하는 단계(S250), 수신된 데이터를 이용하여 브라우저에 데이터를 표시하는 단계(S260)를 포함한다.
S210, S220, S240, S250, S260 단계는 각각 전술한 S110, S120, S130, S140, S150 단계에 대응되는 단계이므로 중복 설명은 생략한다.
S230 단계는 상기 리소스가 부족하거나 없는 경우, 상기 연산을 수행할 외부 장치를 선택하여 채널을 형성하는 과정이다.
따라서, 외부 장치는 단말 장치보다 풍부한 리소스를 갖는 장치일 것이 요구된다. 예를 들어, 외부 장치는 단말 장치에 비해 고성능의 CPU, 대용량 저장매체를 갖고 작업풀에 충분한 여유공간이 필요할 것이다. 이러한 기준들에 따라서 복수의 외부 장치 중에 연산을 수행할 장치가 선택될 수 있다.
전술한 실시 예를 포함하는 본 발명의 다양한 실시 예에서 외부 장치는 서버, 다른 외부 단말 장치 중 어느 하나일 수 있다. 예를 들어 단말 장치가 스마트폰인 경우 스마트 폰의 근처에 TV가 있는 경우 TV의 리소스가 충분하면 외부 장치는 TV가 될 수 있다. 그러나, 스마트폰의 근처에 PC가 존재하는 경우 PC의 리소스가 더 풍부할 수 있으므로 외부 장치는 PC로 선택된다. 또한, 고성능의 서버와 통신이 가능한 경우 외부 장치는 서버가 될 수 있다.
외부 장치가 선택되고 채널이 형성되는 경우 통신 채널을 구현하는 기술은 다양할 수 있다. 통신 채널은 통상적인 아이피 주소를 통해 접근이 가능한 인터넷이 될 수도 있고 라디오 주파수를 이용하는 근거리 무선통신이 될 수도 있다. 또한, 소규모 홈 유선 네트워크를 통해 통신 채널이 형성될 수도 있다.
또한, 외부 장치는 연산 요청을 수신하고 빠르게 연산을 수행한 후 연산 결과 데이터를 단말 장치로 전송해야 하므로 상기 단말 장치와 외부 장치를 연결하는 네트워크 상태를 고려하여 상기 연산을 수행할 외부 장치가 선택될 수도 있다.
예를 들어, 단말 장치는 근거리 무선 통신의 일종인 와이파이를 통해 AP와 인터넷으로 연결되어 서버와 통신을 수행할 수 있다. 동시에 단말 장치는 와이파이 다이렉트를 통해 근처에 위치하는 컴퓨터와 직접 통신이 이루어질 수도 있다. 그러나, 와이파이 다이렉트의 통신 품질에 문제가 있어 물리적인 위치가 가까움에도 서버와의 통신이 좀더 빠를 수 있다. 이 경우는 와이파이 다이렉트가 아닌 와이파이에 의한 인터넷을 통해 연결된 서버가 외부 장치로 선택될 것이다.
한편, 상술한 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동 방법은 상기 연산과 독립적으로 상기 단말 장치 내에서 상기 브라우저를 구동하기 위한 다른 연산을 수행하는 단계를 더 포함할 수 있다.
즉, 단말 장치의 브라우저는 멀티 스레드 환경을 제공할 수 있다. 따라서, 단말 장치의 브라우저가 외부 장치로부터 수신된 프로그램을 실행하는 도중에 외부 장치에 제1 연산을 요청한 경우 브라우저는 제1 연산 결과를 수신하기 전에 이와 다른 제2 연산을 수행할 수 있다. 따라서, 단일 쓰레드 방식에서 웹 프로그램 중간에 별도의 계산을 수행하기 위한 호출을 수행하고 반환 값을 얻을 때까지 소요되는 지연을 제거할 수 있게 되므로 좀더 빠르게 프로그램 실행이 가능해진다.
컴퓨터와 오목 게임을 하는 실시 예에서 사용자가 오목 수를 놓으면 서버는 컴퓨터의 다음 수를 계산하기 위한 제1 연산 요청이 있는 경우 제1 연산을 시작한다. 브라우저는 서버가 제1 연산을 수행하는 동안 사용자에게 다음 오목돌을 위한 전략을 제공할 수 있다. 상기 전략은 이전 게임의 데이터를 통계적으로 분석한 데이터를 기초로 승률이 높은 오목돌의 위치 정보를 사용자에게 제공하는 것이 될 수 있다. 이때, 상기 전략을 제공하기 위해 이전 게임의 데이터를 통계적으로 분석하기 위한 제2 연산이 필요하다. 이때, 브라우저는 제2 연산을 제1 연산과 독립적으로 수행할 수 있다.
물론, 여기서 제2 연산을 수행하기 위한 프로그램의 객체는 웹 워커 객체가 될 수 있다. 상기 웹 워커 객체는 단말 장치에서 실행될 수도 있고 상기 외부 장치가 수행할 수 있다. 또는 상기 외부 장치가 아닌 다른 외부 장치에서 수행될 수도 있다.
이하에서는 본 발명의 다양한 실시 예에 따라 외부 장치에서 단말 장치의 브라우저 구동을 위한 연산을 수행하는 방법을 설명한다.
도 3은 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동을 위한 연산 방법의 흐름도이다.
도 3을 참조하면, 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동을 위한 연산 방법은, 단말 장치로부터 연산 요청을 수신하는 단계(S310), 연산을 수행하는 단계(S320) 및 연산 결과 데이터를 단말 장치로 전송하는 단계(S330)를 포함한다.
상술한 각 단계는 전술한 외부 장치의 동작을 설명한다. 즉, 외부 장치는 단말 장치로부터 단말 장치의 브라우저 구동을 위한 연산 요청이 있는 경우, 연산을 위한 프로그램 부분을 수신하고 연산을 수행한다. 그리고, 연산 결과 데이터를 단말 장치로 전송한다.
각 단계에서의 외부 장치 및 단말 장치의 세부 동작에 대해서는 상술한 바와 같으므로 중복 설명은 생략한다.
이하에서는 본 발명의 다양한 실시 예에 따른 단말 장치 및 외부 장치의 상호 작용에 의한 단말 장치의 브라우저 구동방법을 살펴본다.
도 4는 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동방법의 흐름도이다.
도 4를 참조하면, 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동방법은, 단말 장치가 연산에 필요한 리소스를 확인하는 단계(S410), 리소스가 부족하면(S420-Y) 단말 장치가 외부 장치에 연산을 요청하는 단계(S420), 외부 장치가 연산 요청에 따라 연산을 수행하는 단계(S430), 외부 장치가 연산 결과 데이터를 단말 장치로 전송하는 단계(S450), 단말 장치가 수신된 데이터를 이용하여 브라우저에 데이터를 표시하는 단계(S460)를 포함한다.
상기 각 단계에 대해서는 전술한 실시 예에서 설명한 바와 같다.
이하에서는 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동 시스템, 단말 장치, 외부 장치를 설명한다.
도 5는 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동 시스템의 블록도이다.
도 5를 참조하면, 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동 시스템(1000)은 단말 장치의 브라우저 구동을 위한 연산을 요청하는 제1 장치(1100)와 상기 요청에 따라 연산을 수행하여 전달하는 제2 장치(1200)를 포함한다.
제1 장치(1100)는 브라우저를 구동하기 위한 연산에 필요한 리소스가 부족하거나 없는 경우, 제2 장치(1200)에 상기 연산을 요청하고, 상기 제2 장치(1200)로부터 수신된 연산결과를 이용하여 상기 브라우저에 데이터를 표시한다. 제1 장치(1100)는 전술한 단말 장치와 동일하다.
제 2 장치(1200)는 상기 제1 장치(1100)의 요청이 있는 경우 상기 연산을 수행하여 연산 결과에 따른 데이터를 상기 제1 장치(1100)로 전송한다. 제 2 장치(1200)는 전술한 외부 장치와 동일하다.
도 6은 본 발명의 일 실시 예에 따른 단말 장치(100)의 구성을 도시한 블록도이다.
도 6을 참조하면, 본 발명의 일 실시 예에 따른 단말 장치(100)는 디스플레이부(110), 통신부(130), 제어부(130)를 포함한다. 상기 단말장치(100)는 상술한 제1 장치(1100)일 수 있다.
디스플레이부(110)는 브라우저를 디스플레이한다. 그리고, 브라우저의 정보가 바뀌는 경우 정보가 바뀐 브라우저를 디스플레이한다. 디스플레이부(110)는 액정 디스플레이 패널(Liquid Crystal Display Panel), 플라즈마 디스플레이 패널(Plasma Display Panel), OLED(Organic Light Emitting Diodes), VFD(Vacuum Fluorescent Display), FED(Field EmissionDisplay), ELD(Electro Luminescence Display) 등 다양한 디스플레이 기술로 구현될 수 있다. 기타 디스플레이부(110)를 구성하는 구성은 본 발명의 기술적 특징이 아니므로 생략한다.
통신부(120)는 외부 장치와 통신한다. 통신부(120)는 후술하는 외부 장치(200)와 다양한 통신 기술로 연결될 수 있다. 예를 들어, 통신 채널은 통상적인 아이피 주소를 통해 접근이 가능한 인터넷이 될 수도 있고 라디오 주파수를 이용하는 근거리 무선통신이 될 수도 있다. 또한, 소규모 홈 유선 네트워크를 통해 통신 채널이 형성될 수도 있다. 기술적인 세부 구성은 본 발명의 기술적 특징이 아니므로 생략한다.
제어부(130)는 단말 장치(100) 내에 브라우저를 구동하기 위한 연산에 필요한 리소스가 부족하거나 없는 경우, 외부 장치(200)에 상기 연산을 요청하여 연산 결과에 따른 데이터를 수신하고, 상기 수신된 데이터를 이용하여 상기 브라우저에 데이터를 표시하도록 제어한다.
또한, 제어부(130)는, 상기 수신된 데이터를 이용하여 상기 브라우저에 이미지를 렌더링할 수 있다.
또한, 제어부(130)는, 단말 장치(200)의 메모리, 동작 중인 프로세스 및 처리 속도 중 적어도 하나를 기초로 기설정된 시간 내에 계산을 수행할 수 있는지 판단함으로써, 상기 리소스가 부족하거나 없는지 판단할 수 있다.
또한, 제어부(130)는, 상기 리소스가 부족하거나 없는 경우, 상기 연산을 수행할 외부 장치(200)를 선택하여 채널을 형성하도록 제어할 수 있다.
또한, 상기 제어부(130)는, 단말 장치(100)와 외부 장치(200)를 연결하는 네트워크 상태를 고려하여 상기 연산을 수행할 외부 장치를 선택할 수 있다.
이때, 상기 연산은 웹 워커 쓰레드 처리 수행 작업일 수 있다.
상기 단말 장치(100)의 동작은 전술한 단말 장치의 브라우저 구동 방법의 실시 예에서 상술하였으므로 추가적인 설명은 생략한다.
도 7은 본 발명의 일 실시 예에 따른 외부 장치(200)의 구성을 도시한 블록도이다.
도 7을 참조하면, 본 발명의 일 실시 예에 따른 외부 장치(200)는 단말 장치와 통신을 수행하는 통신부(210)와, 상기 단말 장치(100)의 리소스가 부족하거나 없는 경우, 상기 단말 장치(100)로부터 브라우저를 구동하기 위한 연산 요청을 수신하여 상기 수신된 연산 요청에 따라 상기 연산을 수행하고, 상기 수행된 연산 결과 데이터를 상기 외부 장치로 전송하도록 제어하는 제어부(220)를 포함한다. 여기서 외부 장치(200)는 전술한 제2 장치가 될 수 있다.
통신부(210)는 단말 장치(100)와 통신을 수행하는 구성이다. 통신부(210)는 단말 장치(100)와 다양한 통신 기술로 연결될 수 있다. 예를 들어, 통신 채널은 통상적인 아이피 주소를 통해 접근 가능한 인터넷이 될 수도 있고 라디오 주파수를 이용하는 근거리 무선통신이 될 수도 있다. 또한, 소규모 홈 유선 네트워크를 통해 통신 채널이 형성될 수도 있다. 기술적인 세부 구성은 본 발명의 기술적 특징이 아니므로 생략한다.
제어부(220)는 단말 장치(100)로부터 브라우저를 구동하기 위한 연산 요청을 수신하여 상기 수신된 연산 요청에 따라 상기 연산을 수행하고, 상기 수행된 연산 결과 데이터를 상기 외부 장치로 전송하도록 제어한다. 제어부(220)의 동작은 전술한 단말 장치(100)의 브라우저 구동 방법에서 설명한 바와 같다. 제어부(220)는 소프트웨어적으로 상술한 단말 장치의 브라우저 구동을 위한 CPU를 포함하며, 소프트웨어적으로 운영체제, 어플리케이션을 포함한다.
외부 장치(200)의 전반적인 동작에 대해서는 상술한 단말 장치(100)의 브라우저 구동 방법과 동일하므로 중복 설명은 생략한다.
도 8은 본 발명의 일 실시 예에 따른 웹 워크로드 균형 프레임워크를 도시한 도면이다.
상술한 실시 예에서, 제1 장치는 디바이스(810)가 되고, 제2 장치는 서버(820)가 될 수 있다. 이때, 디바이스(810)와 서버(820)는 도 8과 같은 웹 워크로드 균형 프레임워크(WWF : Web Workload balancing Framework)를 구성할 수 있다.
디바이스(810)에서 WWF는 서버(820)의 WWF에 웹 소켓 인터페이스(Web Socket interface)(830)를 통해 연결된다. 그리고, 디바이스(820)는 웹 워커 인터페이스(811)를 통해 웹 애플리케이션(Web Application)(812)과 메시지를 주고 받는다. 서버(820) 측의 WWF는 실행할 수 있는 자바 스크립트가 서버(820)에서 웹 워크 코드를 실행하고, 웹 소켓 인터페이스(830)를 통해 디바이스(810) 측과 통신한다. WWF를 갖는 웹 워커의 시퀀스 흐름이 도 9에 제시된다.
도 8에 도시된 것과 다르게 이러한 디바이스(810)의 WWF는 웹브라우저(813) 내에 위치할 수도 있다.
도 9는 WWF의 시퀀스 다이어 그램을 도시한 것이다.
도 9를 참조하면, 상기 웹 애플리케이션(812)이 오픈되면, 상기 디바이스(810) 측의 WWF와 서버(820) 측의 WWF 사이에 하나의 웹 소켓이 오픈되고, 디바이스(810) 측의 모든 명령과 서버 측의 모든 이벤트들이 WWF를 통해 전달된다. 디바이스(810) 측과 서버(820) 측 사이에 복수의 웹 워커를 두는 경우 각 웹 워커는 WWF에 있는 ID로 식별된다. 이때, Node.js™가 자바스크립터를 실행할 수 있는 서버로 사용될 수 있다. 또한, 이러한 방법을 쉽게 검증하기 위해 WWF를 자바 스크립트 라이브러리로 구현할 수 있다. 그리고, 상기 프레임 워크를 웹 워커의 생성 코드를 변경하는 웹 애플리케이션(812)의 수정에 적용할 수 있다.
도 9에 도시된 것처럼 웹 워커(930)는 UI 쓰레드(UI Tread)(920)와 완전히 분리되어 있으며, UI 쓰레드가 돔트리(DOM)(910)에 UI 변경을 지시한다. 데이터 통신 채널이 생성되면, 디바이스는 postMessage 라는 메소드를 이용하며 WWF웹 워커에서 데이터를 송신한다. 디바이스 측의 WWF와 서버 측의 WWF는 통신을 수행하며, 서버측의 웹 워커(940, 950)는 전달받은 작업을 수행한다. 어느 장치이건 데이터를 수신할 때는 onmessage 이벤트를 통해 전달받는다. 그리고, 작업이 완료되면, postMessage 메소드를 이용하여 디바이스로 작업 결과를 전송한다.
한편, 상술한 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 상기 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장될 수 있다.
여기서 비일시적 판독 가능 매체란 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 예를 들어, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 판독 가능 기록매체 중 어느 하나가 될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.
1000 : 단말 장치의 브라우저 구동 시스템
100 : 단말 장치
200 : 외부 장치
110 : 디스플레이부 120 : 통신부
130 : 제어부
210 : 통신부 220 : 제어부

Claims (22)

  1. 단말 장치의 브라우저 구동 방법에 있어서,
    상기 단말 장치 내에서 상기 브라우저를 구동하기 위한 제1 연산에 필요한 리소스를 확인하는 단계;
    상기 리소스가 없거나 부족한 경우, 외부 장치에 상기 제1 연산을 요청하는 단계;
    상기 외부 장치로부터 상기 제1 연산 결과에 따른 데이터를 수신하는 단계; 및
    상기 수신된 데이터를 이용하여 상기 브라우저에 데이터를 표시하는 단계;를 포함하고,
    상기 리소스를 확인하는 단계는,
    상기 브라우저를 구동하기 위한 프로그램의 데이터 양이 기 설정된 양보다 큰 경우, 상기 필요한 리소스를 실시간으로 확인하는, 단말 장치의 브라우저 구동 방법.
  2. 제1 항에 있어서,
    상기 데이터 표시 단계는,
    상기 수신된 데이터를 이용하여 상기 브라우저에 이미지를 렌더링하는 작업인 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
  3. 제1 항에 있어서,
    상기 리소스 확인 단계는,
    상기 단말 장치의 메모리, 동작 중인 프로세스 및 처리 속도 중 적어도 하나를 기초로 기설정된 시간 내에 계산을 수행할 수 있는지 판단하는 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
  4. 제1 항에 있어서,
    상기 리소스가 부족하거나 없는 경우, 상기 제1 연산을 수행할 외부 장치를 선택하여 채널을 형성하는 단계;를 더 포함하는 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
  5. 제4 항에 있어서,
    상기 채널 형성 단계는,
    상기 단말 장치와 외부 장치를 연결하는 네트워크 상태를 고려하여 상기 제1 연산을 수행할 외부 장치를 선택하는 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
  6. 제1 항에 있어서,
    상기 외부 장치는,
    서버 또는 다른 단말 장치인 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
  7. 제1 항에 있어서,
    상기 제1 연산은 웹 워커 쓰레드 처리 수행 작업인 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
  8. 제1항에 있어서,
    상기 제1 연산과 독립적으로 상기 단말 장치 내에서 상기 브라우저를 구동하기 위한 제2 연산을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
  9. 삭제
  10. 단말 장치의 브라우저 구동 방법에 있어서,
    상기 단말 장치가 상기 브라우저를 구동하기 위한 연산에 필요한 리소스를 확인하는 단계;
    상기 리소스가 부족하거나 없는 경우, 상기 단말 장치가 외부 장치에 상기 연산을 요청하는 단계;
    상기 외부 장치가 상기 연산을 수행하는 단계;
    상기 외부 장치가 상기 연산 결과에 따른 데이터를 상기 단말 장치로 전송하는 단계; 및
    상기 단말 장치가 수신한 데이터를 이용하여 상기 브라우저에 데이터를 표시하는 단계;를 포함하고,
    상기 리소스를 확인하는 단계는,
    상기 브라우저를 구동하기 위한 프로그램의 데이터 양이 기 설정된 양보다 큰 경우, 상기 필요한 리소스를 실시간으로 확인하는, 단말 장치의 브라우저 구동 방법.
  11. 브라우저를 디스플레이하는 디스플레이부;
    외부 장치와 통신하는 통신부;
    단말 장치 내에 브라우저를 구동하기 위한 연산에 필요한 리소스가 부족하거나 없는 경우, 상기 외부 장치에 상기 연산을 요청하여 연산 결과에 따른 데이터를 수신하고, 상기 수신된 데이터를 이용하여 상기 브라우저에 데이터를 표시하도록 제어하는 제어부;를 포함하고,
    상기 제어부는,
    상기 브라우저를 구동하기 위한 프로그램의 데이터 양이 기 설정된 양보다 큰 경우, 상기 필요한 리소스를 실시간으로 확인하는, 단말 장치.
  12. 제11 항에 있어서,
    상기 제어부는,
    상기 수신된 데이터를 이용하여 상기 브라우저에 이미지를 렌더링하는 것을 특징으로 하는 단말 장치.
  13. 제11 항에 있어서,
    상기 제어부는,
    상기 단말 장치의 메모리, 동작 중인 프로세스 및 처리 속도 중 적어도 하나를 기초로 기설정된 시간 내에 계산을 수행할 수 있는지 판단함으로써, 상기 리소스가 부족하거나 없는지 판단하는 것을 특징으로 하는 단말 장치.
  14. 제11 항에 있어서,
    상기 제어부는,
    상기 리소스가 부족하거나 없는 경우, 상기 연산을 수행할 외부 장치를 선택하여 채널을 형성하도록 제어하는 것을 특징으로 하는 단말 장치.
  15. 제14 항에 있어서,
    상기 제어부는,
    상기 단말 장치와 외부 장치를 연결하는 네트워크 상태를 고려하여 상기 연산을 수행할 외부 장치를 선택하는 것을 특징으로 하는 단말 장치.
  16. 제11 항에 있어서,
    상기 외부 장치는,
    서버 또는 다른 단말 장치인 것을 특징으로 하는 단말 장치.
  17. 제11 항에 있어서,
    상기 연산은 웹 워커 쓰레드 처리 수행 작업인 것을 특징으로 하는 단말 장치.
  18. 제11 항에 있어서,
    상기 단말 장치는 모바일 장치인 것을 특징으로 하는 단말 장치.
  19. 삭제
  20. 브라우저를 구동하기 위한 연산에 필요한 리소스가 부족하거나 없는 경우, 제2 장치에 상기 연산을 요청하고, 상기 제2 장치로부터 수신된 연산결과를 이용하여 상기 브라우저에 데이터를 표시하는 제1 장치; 및
    상기 제1 장치의 요청이 있는 경우 상기 연산을 수행하여 연산 결과에 따른 데이터를 상기 제1 장치로 전송하는 제2 장치; 를 포함하고,
    상기 제1 장치는,
    상기 브라우저를 구동하기 위한 프로그램의 데이터 양이 기 설정된 양보다 큰 경우, 상기 필요한 리소스를 실시간으로 확인하는, 단말 장치의 브라우저 구동 시스템.
  21. 웹 애플리케이션을 수행하기 위해 필요한 리소스가 부족한 경우, WWF(웹 워크로드 균형 프레임워크 : Web Workload balancing Framework) 웹 소켓 인터페이스를 통해 서버에 작업 수행을 요청하는 디바이스; 및
    상기 디바이스로부터 상기 작업 수행 요청이 있는 경우, WWF 웹 소켓 인터페이스를 통해 상기 작업 수행 요청을 수신하고, 웹 워커를 통해 상기 작업을 수행하여 결과값을 상기 디바이스로 전송하는 서버;를 포함하고,
    상기 디바이스는,
    상기 웹 애플리케이션을 수행하는 프로그램의 데이터 양이 기 설정된 양보다 큰 경우, 상기 필요한 리소스를 실시간으로 확인하는, WWF 시스템.
  22. 제21항에 있어서,
    상기 웹 애플리케이션은 자바 스크립트 언어로 작성된 것을 특징으로 하는 WWF 시스템.






KR1020140004301A 2013-02-15 2014-01-14 단말 장치, 서버, 단말 장치의 브라우저 구동 시스템, 단말 장치의 브라우저 구동 방법 KR102185692B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP14153107.9A EP2767905A1 (en) 2013-02-15 2014-01-29 Terminal apparatus, server, browser of terminal apparatus operating system and method of operating browser
US14/178,993 US9621477B2 (en) 2013-02-15 2014-02-12 System and method of offloading browser computations
JP2014026342A JP2014157604A (ja) 2013-02-15 2014-02-14 端末装置、サーバ、端末装置のブラウザ駆動システム、端末装置のブラウザ駆動方法
CN201410053683.7A CN103995738A (zh) 2013-02-15 2014-02-17 终端装置、服务器、终端装置浏览器操作系统和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130016563 2013-02-15
KR20130016563 2013-02-15

Publications (2)

Publication Number Publication Date
KR20140103038A KR20140103038A (ko) 2014-08-25
KR102185692B1 true KR102185692B1 (ko) 2020-12-02

Family

ID=51747572

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140004301A KR102185692B1 (ko) 2013-02-15 2014-01-14 단말 장치, 서버, 단말 장치의 브라우저 구동 시스템, 단말 장치의 브라우저 구동 방법

Country Status (1)

Country Link
KR (1) KR102185692B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102384249B1 (ko) 2017-07-28 2022-04-08 한화테크윈 주식회사 웹 브라우저 상에서 멀티 쓰레드를 이용하여 데이터를 처리하는 방법
KR102053071B1 (ko) * 2018-04-23 2020-01-08 주식회사 한글과컴퓨터 브라우저에 탑재된 웹 에디터를 통해 웹 기반 문서의 저장을 위한 포맷 변환을 지원하는 클라이언트 단말 장치 및 그 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007042098A (ja) 2005-07-29 2007-02-15 Sharp Corp コンテンツ表示方法、コンテンツ伝送方法、画像処理装置、遠隔演算装置
US20080268828A1 (en) 2006-10-23 2008-10-30 Nagendra Nagaraja Device that determines whether to launch an application locally or remotely as a webapp
US20100131592A1 (en) 2008-11-21 2010-05-27 Samsung Electronics Co., Ltd. Execution allocation cost assessment for computing systems and environments including elastic computing systems and environments

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601534B2 (en) * 2009-07-02 2013-12-03 Samsung Electronics Co., Ltd. Securely using service providers in elastic computing systems and environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007042098A (ja) 2005-07-29 2007-02-15 Sharp Corp コンテンツ表示方法、コンテンツ伝送方法、画像処理装置、遠隔演算装置
US20080268828A1 (en) 2006-10-23 2008-10-30 Nagendra Nagaraja Device that determines whether to launch an application locally or remotely as a webapp
US20100131592A1 (en) 2008-11-21 2010-05-27 Samsung Electronics Co., Ltd. Execution allocation cost assessment for computing systems and environments including elastic computing systems and environments

Also Published As

Publication number Publication date
KR20140103038A (ko) 2014-08-25

Similar Documents

Publication Publication Date Title
US9621477B2 (en) System and method of offloading browser computations
US8601468B1 (en) Web-based applications using web extents
TWI619025B (zh) 在不同裝置上繼續應用程式交談之方法、媒介、系統及裝置
KR102229079B1 (ko) 콘텐츠를 프리 렌더링 및 프리 페치하기 위한 방법 및 시스템들
US9141682B1 (en) Resolving conflicts within saved state data
US8806655B1 (en) Providing limited versions of applications
US20150082239A1 (en) Remote Virtualization of Mobile Apps with Transformed Ad Target Preview
JP6059364B2 (ja) リアクティブ広告フォーマット
US20150089491A1 (en) Software installation method, terminal, and computer storage medium
WO2017206396A1 (zh) 一种视频播放方法及设备
CN106295326B (zh) 一种用于获取显卡内容的内联hook方法和系统
US20120206423A1 (en) Seamless transition between display applications using direct device selection
US10810019B2 (en) Method for interface refresh synchronization, terminal device, and non-transitory computer-readable storage medium
CN110134450B (zh) 一种视频重定向方法,装置和计算机可读存储介质
US10156955B2 (en) Method and server for storing, encoding and uploading video or object captured from a webpage using a toolbar
KR102185692B1 (ko) 단말 장치, 서버, 단말 장치의 브라우저 구동 시스템, 단말 장치의 브라우저 구동 방법
US9785560B2 (en) Scene-isolated internet application
US20150363837A1 (en) Methods, systems, and media for presenting advertisements during background presentation of media content
US10530835B2 (en) Application recording
US20170034301A1 (en) Caching streaming media to user devices
KR102369525B1 (ko) 원격 접속을 위한 장치, 시스템 및 방법
US20150046596A1 (en) Speculative generation of network page components
EP3158432B1 (en) Terminal device and method for controlling the same
KR20220084132A (ko) 애플리케이션 내 스토어 사용자 인터페이스
KR101668284B1 (ko) 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치

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