KR20140103038A - Terminal appratus, server, browser of terminal appratus operaing system and browser operaing method of terminal apparatus - Google Patents

Terminal appratus, server, browser of terminal appratus operaing system and browser operaing method of terminal apparatus Download PDF

Info

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

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

Abstract

Disclosed is a browser driving method of a terminal device. The browser driving method of a terminal device according to various embodiments of the present invention comprises a step of checking resources required for a first calculation to drive a browser within the terminal device; a step of requesting the first calculation to an external device if there is no resource or scarce resources; a step of receiving data according to the first calculation result from the external device; and a step of displaying the data on the browser by using the received data.

Description

단말 장치, 서버, 단말 장치의 브라우저 구동 시스템, 단말 장치의 브라우저 구동 방법{TERMINAL APPRATUS, SERVER, BROWSER OF TERMINAL APPRATUS OPERAING SYSTEM AND BROWSER OPERAING METHOD OF TERMINAL APPARATUS}TECHNICAL FIELD [0001] The present invention relates to a browser operating system of a terminal device, a server, a terminal device, a browser driving method of a terminal device,

본 발명은 단말 장치에서의 브라우저 구동에 관한 것으로, 좀더 상세하게는 단말 장치에서 브라우저 구동을 위한 연산 처리를 외부 장치가 수행하는 단말 장치, 서버, 단말 장치의 브라우저 구동 시스템, 단말 장치의 브라우저 구동 방법에 관한 것이다. More particularly, the present invention relates to a terminal device, a server, a browser drive system of a terminal device, a browser drive method of a terminal device .

브라우저는 인터넷을 포함하는 네트워크에서 정보를 검색하는 데 사용하는 응용 프로그램을 말한다. 응용 프로그램은 운영체제의 일부로 장착될 수도 있고 별도의 어플리케이션으로 구현될 수도 있다. 웹브라우저 혹은 인터넷 브라우저라고 부르기도 한다. A browser is an application used to retrieve information from a network, including the Internet. The application may be implemented as part of the operating system or as a separate application. It is also called a web browser or an internet browser.

브라우저는 웹상에 존재하는 데이터를 수집하여 일정한 포맷에 따라 가공하여 그래픽적으로 보여주거나 사운드를 전달한다. 예를 들어, 웹 페이지 상의 텍스트 정보, 동영상, 음악 스트리밍, 특정 서버의 로긴 기능 등을 제공한다. 기술적으로 웹브라우저는 HTML/CSS/Javascript/Image 등의 리소스를 분석하고 랜더링한다. The browser collects data that exists on the web, processes it according to a certain format, and graphically displays or transmits the sound. For example, it provides text information on a web page, video, music streaming, login function of a specific server, and so on. Technically, web browsers analyze and render resources such as HTML / CSS / Javascript / Image.

일 예로 자바 스크립트(Javascript)는 컴파일 없이 동적으로 사용자와 인터렉션을 할 수 있는 스크립트 웹 언어로서 널리 사용되고 있다. 자바 스크립트가 웹을 통해 사용자 단말로 전달되고 사용자와 인터랙션을 위해 사용된다.이때, 자바 스크립트의 실행(Execution)은 사용자 단말 상에서 수행된다. For example, Javascript is widely used as a scripting web language that allows dynamic interaction with users without compilation. The JavaScript is delivered to the user terminal via the web and used for interaction with the user. Execution of the JavaScript is performed on the user terminal.

이처럼 자바 스크립트가 사용자 단말에서 수행되는 경우 브라우저의 작업 처리 능력은 사용자 단말의 리소스와 성능에 의존한다. 예를 들어, 브라우저 상에서 동영상을 재생시키는 경우 브라우저가 장착된 시스템의 운영체제가 지원하는 동영상 재생 기능이 이용된다. 따라서, 웹을 통해 제공되는 동영상이 특정한 방식으로 인코딩된 경우 운영체제가 상기 동영상의 디코딩을 위한 코덱을 지원하지 않는다면 브라우저는 동영상을 재생시키지 못하게 된다. Thus, when JavaScript is executed on a user terminal, the browser's job processing capability depends on the resource and performance of the user terminal. For example, when a moving image is reproduced on a browser, a moving image playback function supported by the operating system of the system equipped with the browser is used. Accordingly, if the moving picture provided through the web is encoded in a specific manner, the browser can not reproduce the moving picture unless the operating system supports the codec for decoding the moving picture.

또한, 브라우저가 처리해야할 작업의 오버헤드가 크고 브라우저를 장착한 디바이스의 성능이 충분하지 못한 경우 브라우저의 처리 속도는 떨어지게 된다. 예를 들어, 브라우저를 통해 외부 서버로부터 제공되는 오목 게임을 즐기는 경우를 생각할 수 있다. 사용자가 게임에서 설정된 가상의 사용자(컴퓨터)와의 오목 게임을 하는 경우 가상의 사용자가 오목알을 놓는 수의 계산이 브라우저를 장착한 디바이스에서 이루어진다고 가정하면, 게임의 레벨이 올라갈수록 복잡한 경우의 수 계산이 필요하게 될 것이다. 브라우저는 디바이스의 자원을 이용해서 경우의 수 계산을 수행할 것이지만 시스템의 한정된 성능으로 인해 브라우저의 게임 수행 성능이 떨어질 수 있다. 특히, 모바일 장치의 경우 시스템 자원이 더욱 한정적이므로 브라우저는 성능 스트레스를 받게 된다. In addition, if the overhead of the browser is large and the performance of the device equipped with the browser is insufficient, the processing speed of the browser will decrease. For example, a user may enjoy a concert game provided from an external server through a browser. Assuming that a user performs a concert game with a virtual user (computer) set in the game, assuming that the calculation of the number of virtual users placing a concave egg is performed in a device equipped with a browser, the number of cases Calculation will be necessary. The browser will perform case counting using the resources of the device, but the performance of the browser may degrade due to the limited performance of the system. In particular, for mobile devices, the browser is subject to performance stress because system resources are more limited.

한편, 현재의 웹 프로그램 엔진을 장착한 브라우저는 대부분 단일 스레드 환경을 지원한다. 즉, 순차적인 파싱 과정을 통해 한번에 웹 프로그램을 실행한다. 단일 쓰레드 방식은 웹 프로그램 중간에 별도의 계산을 수행하기 위한 호출을 수행하고 반환 값을 얻는 경우 반환 값이 얻어질 때까지 웹 프로그램의 다음 라인의 실행은 불가능하다. 따라서, 반환 값을 얻을 때까지 작업이 오래 걸리는 스크립트를 수행한다면 프로그램의 실행 시간 지연은 불가피하다. Meanwhile, most browsers equipped with the current web program engine support a single thread environment. That is, the web program is executed at one time through a sequential parsing process. In the single-threaded method, if a call is made to perform separate calculations in the middle of a web program and a return value is obtained, execution of the next line of the web program is not possible until the return value is obtained. Therefore, if you run a script that takes a long time to get the return value, the execution time delay of the program is inevitable.

요컨대, 멀티 스레드를 지원하면서 한정된 자원을 갖는 디바이스에 장착된 브라우저에서 비교적 오버헤드가 큰 작업을 원활하게 수행할 수 있는 방안이 요구된다. In other words, there is a need for a method capable of smoothly performing a task with relatively high overhead in a browser installed in a device having a limited resource while supporting multi-threading.

본 발명은 상술한 필요성에 따라 안출된 것으로, 본 발명의 목적은, 한정된 자원을 갖는 디바이스에 장착된 브라우저에서 비교적 오버헤드가 큰 작업을 원활하게 수행할 수 있는 단말 장치, 서버, 단말 장치의 브라우저 구동 시스템, 단말 장치의 브라우저 구동 방법을 제공하기 위함이다. It is an object of the present invention to provide a terminal device, a server, and a browser of a terminal device capable of smoothly performing a task with a relatively high overhead in a browser installed in a device having a limited resource. A driving system, and a browser driving method of a terminal apparatus.

이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동 방법은, 상기 단말 장치 내에서 상기 브라우저를 구동하기 위한 제1 연산에 필요한 리소스를 확인하는 단계와, 상기 리소스가 없거나 부족한 경우, 외부 장치에 상기 제1 연산을 요청하는 단계와, 상기 외부 장치로부터 상기 제1 연산 결과에 따른 데이터를 수신하는 단계와, 상기 수신된 데이터를 이용하여 상기 브라우저에 데이터를 표시하는 단계를 포함한다. According to another aspect of the present invention, there is provided a method of operating a browser of a terminal device, the method comprising: confirming a resource required for a first operation for driving the browser in the terminal device; The method comprising: requesting an external device to perform the first operation when data is missing or deficient; receiving data according to the first operation result from the external device; displaying data on the browser using the received data; .

상기 데이터 표시 단계는, 상기 수신된 데이터를 이용하여 상기 브라우저에 이미지를 렌더링하는 작업일 수 있다. The displaying of the data may be an operation of rendering the image in the browser using the received data.

또한, 상기 리소스 확인 단계는, 상기 단말 장치의 메모리, 동작 중인 프로세스 및 처리 속도 중 적어도 하나를 기초로 기설정된 시간 내에 계산을 수행할 수 있는지 판단할 수 있다. In addition, the resource checking step may determine whether calculation can be performed within a predetermined time based on at least one of the memory, the active process and the processing speed of the terminal apparatus.

상기 단말 장치의 브라우저 구동 방법은, 상기 리소스가 부족하거나 없는 경우, 상기 제1 연산을 수행할 외부 장치를 선택하여 채널을 형성하는 단계를 더 포함할 수 있다. The browser driving method of the terminal apparatus may further include a step of selecting an external apparatus to perform the first operation and forming a channel when the resource is insufficient or not.

또한, 상기 채널 형성 단계는, 상기 단말 장치와 외부 장치를 연결하는 네트워크 상태를 고려하여 상기 제1 연산을 수행할 외부 장치를 선택할 수 있다. Also, the channel forming step may select an external device to perform the first calculation in consideration of a network state connecting the terminal device and the external device.

또한, 상기 외부 장치는, 서버 또는 다른 단말 장치일 수 있다. The external device may be a server or another terminal device.

이때, 상기 제1 연산은 웹 워커 쓰레드 처리 수행 작업일 수 있다. In this case, the first operation may be a Web worker thread processing operation.

상기 단말 장치의 브라우저 구동 방법은, 상기 제1 연산과 독립적으로 상기 단말 장치 내에서 상기 브라우저를 구동하기 위한 제2 연산을 수행하는 단계를 더 포함할 수 있다. The browser driving method of the terminal apparatus may further include performing a second operation for driving the browser in the terminal apparatus independently of the first operation.

이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동을 위한 연산 방법은, 단말 장치의 브라우저 구동을 위한 연산 방법에 있어서, 단말 장치의 리소스가 부족하거나 없는 경우, 상기 단말 장치로부터 브라우저를 구동하기 위한 연산 요청을 수신하는 단계와, 상기 수신된 연산 요청에 따라 상기 연산을 수행하는 단계와, 상기 수행된 연산 결과 데이터를 상기 외부 장치로 전송하는 단계를 포함한다. According to another aspect of the present invention, there is provided a method for operating a browser of a terminal device, the method comprising the steps of: Receiving an operation request for driving a browser from a terminal device; performing the operation according to the received operation request; and transmitting the operation result data to the external device.

또한, 이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동 방법은, 단말 장치의 브라우저 구동 방법에 있어서, 상기 단말 장치가 상기 브라우저를 구동하기 위한 연산에 필요한 리소스를 확인하는 단계와, 상기 리소스가 부족하거나 없는 경우, 상기 단말 장치가 외부 장치에 상기 연산을 요청하는 단계와, 상기 외부 장치가 상기 연산을 수행하는 단계와, 상기 외부 장치가 상기 연산 결과에 따른 데이터를 상기 단말 장치로 전송하는 단계와, 상기 단말 장치가 상기 수신한 데이터를 이용하여 상기 브라우저에 데이터를 표시하는 단계를 포함한다. According to another aspect of the present invention, there is provided a method of operating a browser of a terminal device, the method comprising: receiving a resource required for an operation for driving the browser device; A step in which the terminal apparatus requests the external apparatus for the operation when the resource is insufficient or not, a step in which the external apparatus performs the operation, and the external apparatus transmits data according to the operation result To the terminal device, and displaying the data on the browser using the received data.

이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 단말 장치는, 브라우저를 디스플레이하는 디스플레이부와, 외부 장치와 통신하는 통신부와, 단말 장치 내에 브라우저를 구동하기 위한 연산에 필요한 리소스가 부족하거나 없는 경우, 상기 외부 장치에 상기 연산을 요청하여 연산 결과에 따른 데이터를 수신하고, 상기 수신된 데이터를 이용하여 상기 브라우저에 데이터를 표시하도록 제어하는 제어부를 포함한다. According to an aspect of the present invention, there is provided a terminal device including a display unit for displaying a browser, a communication unit for communicating with an external device, And a control unit for requesting the external device to perform the operation and receiving data according to an operation result and controlling data to be displayed on the browser using the received data.

또한, 상기 제어부는, 상기 수신된 데이터를 이용하여 상기 브라우저에 이미지를 렌더링할 수 있다. Also, the control unit may render an image in the browser using the received data.

또한, 상기 제어부는, 상기 단말 장치의 메모리, 동작 중인 프로세스 및 처리 속도 중 적어도 하나를 기초로 기설정된 시간 내에 계산을 수행할 수 있는지 판단함으로써, 상기 리소스가 부족하거나 없는지 판단할 수 있다. The control unit may determine whether the resource is insufficient or not by determining whether calculation can be performed within a predetermined time based on at least one of a memory, an operating process and a processing speed of the terminal apparatus.

또한, 상기 제어부는, 상기 리소스가 부족하거나 없는 경우, 상기 연산을 수행할 외부 장치를 선택하여 채널을 형성하도록 제어할 수 있다. In addition, when the resource is insufficient or not available, the controller may control the external device to perform the calculation to form a channel.

또한, 상기 제어부는, 상기 단말 장치와 외부 장치를 연결하는 네트워크 상태를 고려하여 상기 연산을 수행할 외부 장치를 선택할 수 있다. In addition, the control unit may select an external device to perform the operation in consideration of a network state connecting the terminal device and the external device.

또한, 상기 외부 장치는, 서버 또는 다른 단말 장치일 수 있다. The external device may be a server or another terminal device.

또한, 상기 연산은 웹 워커 쓰레드 처리 수행 작업일 수 있다. In addition, the operation may be a Web worker thread processing execution task.

또한, 상기 단말 장치는 모바일 장치일 수 있다. Also, the terminal device may be a mobile device.

이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 서버는, 단말 장치와 통신을 수행하는 통신부와, 상기 단말 장치의 리소스가 부족하거나 없는 경우, 상기 단말 장치로부터 브라우저를 구동하기 위한 연산 요청을 수신하여 상기 수신된 연산 요청에 따라 상기 연산을 수행하고, 상기 수행된 연산 결과 데이터를 상기 외부 장치로 전송하도록 제어하는 제어부를 포함한다. According to another aspect of the present invention, there is provided a server comprising: a communication unit for performing communication with a terminal device; And a controller for receiving the request, performing the operation according to the received operation request, and controlling the operation result data to be transmitted to the external device.

이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동 시스템은 브라우저를 구동하기 위한 연산에 필요한 리소스가 부족하거나 없는 경우, 제2 장치에 상기 연산을 요청하고, 상기 제2 장치로부터 수신된 연산결과를 이용하여 상기 브라우저에 데이터를 표시하는 제1 장치와, 상기 제1 장치의 요청이 있는 경우 상기 연산을 수행하여 연산 결과에 따른 데이터를 상기 제1 장치로 전송하는 제2 장치를 포함한다. In order to achieve the above object, a browser driving system of a terminal device according to an embodiment of the present invention requests the second device to perform the operation when the resource required for the operation for operating the browser is insufficient or lacks, A first device for displaying data on the browser using the operation result received from the second device, and a second device for performing the operation when the first device requests the device to transmit data according to the operation result to the first device 2 device.

상기와 같은 본 발명의 다양한 실시 예에 따르면, 본 발명은, 한정된 자원을 갖는 디바이스에 장착된 브라우저에서 비교적 오버헤드가 큰 작업을 원활하게 수행할 수 있게 된다. According to various embodiments of the present invention as described above, the present invention can smoothly perform a relatively large overhead work in a browser installed in a device having a limited resource.

도 1은 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동 방법의 흐름도,
도 2는 본 발명의 다른 실시 예에 따른 단말 장치의 브라우저 구동 방법의 흐름도,
도 3은 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동을 위한 연산 방법의 흐름도,
도 4는 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동방법의 흐름도,
도 5는 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동 시스템의 블록도,
도 6은 본 발명의 일 실시 예에 따른 단말 장치의 구성을 도시한 블록도,
도 7은 본 발명의 일 실시 예에 따른 외부 장치의 구성을 도시한 블록도,
도 8은 본 발명의 일 실시 예에 따른 웹 워크로드 균형 프레임워크를 도시한 도면, 그리고,
도 9는 WWF의 시퀀스 다이어 그램이다.
1 is a flowchart of a browser driving method of a terminal device according to an embodiment of the present invention;
2 is a flowchart of a browser driving method of a terminal device according to another embodiment of the present invention;
FIG. 3 is a flowchart of a calculation method for driving a browser of a terminal device according to various embodiments of the present invention;
4 is a flowchart of a method of operating a browser of a terminal device according to various embodiments of the present invention;
5 is a block diagram of a browser operating system of a terminal device according to various embodiments of the present invention;
6 is a block diagram showing the configuration of a terminal device according to an embodiment of the present invention;
7 is a block diagram showing the configuration of an external device according to an embodiment of the present invention;
8 is a diagram illustrating a web workload balancing framework according to an embodiment of the present invention,
Figure 9 is a sequence diagram of WWF.

이하에서는 첨부된 도면을 참조하여, 본 발명의 다양한 실시 예를 설명한다. Various embodiments of the present invention will now be described with reference to the accompanying drawings.

도 1은 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동 방법의 흐름도이다. 1 is a flowchart of a browser driving method of a terminal device according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시 예에 따른 단말 장치의 브라우저 구동 방법은 브라우저 구동을 위한 리소스를 확인하는 단계(S110), 리소스가 부족한지 판단하는 단계(S120), 외부 장치에 연산을 요청하는 단계(S130), 외부 장치로부터 연산 데이터를 수신하는 단계(S140), 브라우저에 수신된 데이터를 표시하는 단계(S150)를 포함한다. Referring to FIG. 1, a method of operating a browser of a terminal device according to an embodiment of the present invention includes a step of checking a resource for operating a browser (S110), a step of determining whether resources are insufficient (S120) (S130), receiving operation data from an external device (S140), and displaying the received data in the browser (S150).

여기서 단말 장치는 디바이스에 장착된 브라우저를 통해 웹 페이지에서 제공하는 정보를 검색, 서핑, 표시 등을 수행할 수 있는 기능을 제공하는 모바일 또는 스테이셔너리(stationary) 디바이스이다. 예를 들어, 스마트폰, 태블릿 PC, 컴퓨터, 디지털 텔레비젼, E-북 디바이스, PMP, MP3 플레이어 중 어느 하나가 될 수 있다. Here, the terminal device is a mobile or stationary device that provides a function of searching, surfing, and displaying information provided in a web page through a browser installed in the device. For example, a smart phone, a tablet PC, a computer, a digital television, an E-book device, a PMP, or an MP3 player.

단말 장치의 브라우저 구동 초기 단계에서 운영체제는 브라우저 프로세스를 메모리에 적재하여 실행상태에 진입시킨다. 브라우저는 사용자와 인터렉션 준비에 들어간다. In the initial stage of browser operation of the terminal apparatus, the operating system loads the browser process into the memory and enters the execution state. The browser is ready to interact with the user.

사용자가 특정 웹사이트 주소를 입력하는 등 특정 웹 서비스 요청을 입력하는 경우 브라우저는 사용자의 요청을 해석한다. 구체적으로 브라우저는 입력된 사용자 요청을 해석하여 웹서비스의 종류와 물리적 주소를 파악한다. 그리고, 운영체제는 통신 포트를 통해 서비스 서버와 같은 외부 장치로 서비스 요청을 전달한다. When a user enters a specific web service request, such as entering a particular web site address, the browser interprets the user's request. Specifically, the browser interprets the input user request to determine the type and physical address of the web service. Then, the operating system transmits the service request to the external device such as the service server through the communication port.

외부 장치는 서비스 요청을 수신한 경우 서비스를 요청한 단말 장치의 주소와 서비스 종류를 확인한다. 그리고, 웹프로그램 언어로 작성된 텍스트 정보를 포함하는 서비스 데이터를 단말 장치로 제공한다. If the external device receives the service request, it checks the address and the service type of the terminal device that requested the service. Then, service data including text information written in a Web program language is provided to the terminal device.

단말 장치는 서비스 데이터를 수신하고 수신된 서비스 데이터의 파싱을 수행한다. 그리고, 파싱을 수행하면서 필요한 경우 단말 장치의 자원을 이용한다. 전술한 오목 프로그램을 다시 고려하면, 단말 장치는 오목 프로그램을 수신하고 브라우저는 수신된 오목 프로그램을 분석하여 실행시킨다. 오목 프로그램의 실행에서 단말 장치의 자원인 메모리, 캐쉬, CPU, 사운드 카드, 그래픽 카드 등이 이용된다. 단말 장치의 운영체제는 브라우저에 프로세스를 할당한다. The terminal device receives the service data and performs parsing of the received service data. In addition, when parsing is performed, resources of the terminal apparatus are used when necessary. Considering again the above concave program, the terminal device receives the concave program and the browser analyzes and executes the received concave program. In the execution of the concave program, memory, cache, CPU, sound card, graphics card, etc., which are resources of the terminal apparatus, are used. The operating system of the terminal device allocates the process to the browser.

S110단계에서 단말 장치는 브라우저 구동을 위해 필요한 리소스가 존재하는지 확인한다. 프로그램 실행을 위해 필요한 리소스에 대한 정보는 서비스 데이터에 포함될 수 있다. 이와 다르게 브라우저는 프로그램 실행을 위한 리소스가 무엇인지 판단할 수도 있다. 브라우저는 운영체제에 프로그램 동작을 위해 필요한 리소스가 존재하는지 문의하고, 운영체제는 리소스의 존재여부를 알려준다. In step S110, the terminal device confirms whether there is a resource required for operating the browser. Information on the resources necessary for executing the program can be included in the service data. Alternatively, the browser may determine what resources to run the program. The browser asks the operating system whether there is a necessary resource for program operation, and the operating system notifies the existence of the resource.

예를 들어, 브라우저에서 동영상을 재생시키는 경우 브라우저가 장착된 시스템의 운영체제가 동영상 재생을 지원하는지 확인한다. 웹을 통해 제공되는 동영상이 특정한 방식으로 인코딩된 경우 브라우저가 장착된 단말 장치의 운영체제가 상기 동영상의 디코딩을 위한 코덱을 지원하는지 판단한다. 코덱이 없는 경우 브라우저는 동영상 재생이 불가능하므로 외부 장치 예를 들면 서버 등에 코덱을 요청할 수 있다. For example, if you are playing a video in a browser, make sure that the operating system on the system that the browser is on supports video playback. When the moving picture provided through the web is encoded in a specific manner, it is determined whether the operating system of the terminal equipped with the browser supports the codec for decoding the moving picture. If there is no codec, the browser can not play back the video. Therefore, the codec can be requested to an external device, for example, a server.

또한, 동영상 재생을 위해 스트리밍 데이터를 저장할 수 있는 충분한 저장 공간이 준비되어 있는지도 확인한다. 만일 충분한 저장공간이 없다면 단말 장치는 기존의 데이터를 삭제하거나 동영상 재생을 중단해야 할 것이다. Also, make sure that you have enough storage space to store the streaming data for movie playback. If there is not enough storage space, the terminal device will have to delete the existing data or stop the video playback.

브라우저를 통해 사용자가 게임에서 설정된 가상의 사용자(컴퓨터)와의 오목 게임을 하는 경우를 다시 고려하자. 이때, 가상의 사용자가 놓는 오목알에 대한 경우의 수는 사용자가 오목알을 놓은 직후부터 계산이 이루어져야 하고, 기 설정된 시간 내에 계산이 종료되어야 한다. 그리고, 사용자가 다음에 놓은 오목알을 고민하는 경우 컴퓨터가 놓을 오목알의 위치를 미리 계산해 놓을 수 있다. 이때는 복수 회의 계산 작업 프로세스가 확보되어야 한다. 특히, 게임의 레벨이 올라갈수록 짧은 시간 동안에 복잡한 경우의 수 계산이 필요하게 될 것이다. 브라우저는 계산에 필요한 단말 장치의 자원을 확인한다. 단말 장치가 모바일 장치라면 자원은 더욱 한정적일 것이다. Consider again the case where a user plays a concert game with a virtual user (computer) set in the game through a browser. At this time, the number of concave eggs placed by the virtual user must be calculated immediately after the user puts the concave egg, and the calculation must be completed within a predetermined time. Then, if the user worries about the next placed concave egg, the position of the concave egg to be set by the computer can be calculated in advance. In this case, a plurality of calculation work processes must be secured. In particular, as the level of the game rises, it will be necessary to calculate the number of complex cases in a short time. The browser verifies the resource of the terminal device necessary for the calculation. If the terminal device is a mobile device, the resources will be more limited.

상기 리소스에 대한 판단은 브라우저가 프로그램을 수행하는 초기 단계에서 수행할 수도 있지만, 프로그램의 데이터 양이 많은 경우 프로그램을 수행하는 중간 단계에서 실시간으로 수행하거나 기 설정된 프로그램의 부분별로 판단이 이루어질 수 있다. The determination of the resource may be performed at an initial stage of the browser execution of the program, but may be performed in real time at the intermediate stage of executing the program or may be determined according to the predetermined program part when the amount of data of the program is large.

브라우저가 HTML 5를 지원하는 경우 상기 웹 프로그램은 웹워커(Web Worker) 소스를 포함할 수 있다. 일반적으로 웹 프로그램은 단일 쓰레드 모드로 수행된다. 즉, 순차적인 파싱 과정을 통해 한 번에 웹 프로그램을 실행한다. 단일 쓰레드 방식은 웹 프로그램 중간에 별도의 계산을 수행하기 위한 호출을 수행하고 반환 값을 얻는 경우 반환 값이 얻어질 때까지 웹 프로그램의 다음 라인의 실행은 불가능하다. 따라서, 반환 값을 얻을 때까지 작업이 오래 걸리는 스크립트를 수행한다면 프로그램의 실행 시간 지연은 불가피하다. HTML 5는 웹 워커라는 스팩을 포함하여 멀티 쓰레드 실행을 가능하도록 한다.If the browser supports HTML 5, the web program may include a Web Worker source. Typically, web programs are run in single-threaded mode. That is, a web program is executed at a time through a sequential parsing process. In the single-threaded method, if a call is made to perform separate calculations in the middle of a web program and a return value is obtained, execution of the next line of the web program is not possible until the return value is obtained. Therefore, if you run a script that takes a long time to get the return value, the execution time delay of the program is inevitable. HTML 5 enables multi-threaded execution, including a specification called Web Worker.

웹 워커는 자바스크립트 코드를 UI 쓰레드와는 별도인 백그라운드에서 수행될 수 있도록 하는 표준적인 방법을 제공하기 때문에 웹 페이지를 가로막지 않고 스크립트를 돌릴 수 있다. 웹 워커는 매우 복잡한 수학적 계산 작업, 다른 리소스에 대한 액세스 작업, 백그라운드에서의 UI 쓰레드에 방해 없이 지속적으로 수행해야 하는 작업 등에 적합하다. 웹 워커에서 데이터를 송신할 때는 postMessage 라는 메소드를 이용하며 데이터를 수신할 때는 onmessage 이벤트를 통해 전달받는다.Web walkers provide a standard way for JavaScript code to be run in the background separate from the UI thread, so you can run the script without interrupting the web page. Web walkers are suitable for very complex mathematical calculations, access to other resources, and tasks that need to be constantly performed without interruption to UI threads in the background. The web worker uses the postMessage method to send data and the onmessage event when it receives the data.

이처럼 프로그램에서 웹 워커로 작성된 부분은 대부분 많은 계산이 필요한 부분일 수 있으므로 브라우저는 웹 워커 부분을 중심으로 필요한 리소스가 단말 장치에 존재하는지 판단할 수 있다. 또는 웹 워커 부분이 존재한다는 것만으로 웹 워커 구동을 위한 리소스가 단말 장치에 존재하지 않다고 가정할 수 있다. In this way, most of the parts written by the web worker in the program can be a part that requires a lot of computation. Therefore, the browser can determine whether the resources necessary for the web worker are present in the terminal device. Or a web worker portion exists, it can be assumed that a resource for running the web worker does not exist in the terminal device.

리소스에 대한 판단은 브라우저가 프로그램을 수행하는 초기 단계에서 수행할 수도 있지만, 프로그램의 데이터 양이 많은 경우 프로그램을 수행하는 중간 단계에서 실시간으로 수행하거나 기 설정된 프로그램의 부분별로 판단이 이루어질 수 있다. The determination of the resource may be performed at an early stage of the browser execution of the program, but when the amount of data of the program is large, it may be performed in real time at the intermediate stage of executing the program or may be judged by the predetermined program part.

S120 단계에서 리소스가 부족하다고 판단되면, 외부 장치에 연산을 요청한다(S130). If it is determined in step S120 that the resource is insufficient, an operation is requested to the external device (S130).

전술한 실시 예와 같이 프로그램이 웹 워커 객체를 포함하고 있는 경우 그 웹 워커 객체 처리를 위한 리소스가 부족하다고 판단되면, 외부 장치에 상기 웹 워커 객체의 연산을 요청한다. 또는 웹 워커 객체에 대해서는 무조건 외부 장치에 연산을 요청할 수도 있다. 그리고, 웹 워커 객체가 아닌 다른 프로그램 객체에 대해서도 리소스가 부족하다고 판단되면 외부 장치에 연산 요청이 가능할 것이다. If the program includes a Web Walker object as in the above embodiment, if it is determined that the resource for processing the Web Walker object is insufficient, the external apparatus requests the operation of the Web Walker object. Or web worker object, it is possible to unconditionally request an operation to the external device. If it is determined that the resource is insufficient for the program object other than the web walker object, the operation request to the external device will be possible.

컴퓨터와 오목 게임을 하는 실시 예에서 사용자가 오목 돌을 놓는 경우 컴퓨터의 다음 수를 계산하기 위한 리소스가 부족할 수 있다. 브라우저는 사용자가 놓은 수와 현재의 게임 정보를 외부 장치로 전송하고 외부 장치는 컴퓨터의 다음 수를 계산한다. 외부 장치는 계산결과에 대한 정보를 기설정된 시간 내에 단말 장치로 제공한다. In an embodiment of playing a concave game with a computer, if a user places a concave stones, there may be insufficient resources to calculate the next number of computers. The browser transmits the number of the user and the current game information to the external device, and the external device calculates the next number of the computer. The external device provides information on the calculation result to the terminal device within a predetermined time.

컴퓨터의 수를 계산하는 함수가 웹 워커 객체로 작성되어 있다면 브라우저는 웹 워커를 통해 상기 객체의 계산을 수행할 것이다. 그러나, 단말 장치의 리소스가 부족한 경우 웹 워커 객체는 외부 장치로 전달된다. 구체적으로 postMessage 메서드를 통해 외부 장치로 전송된다. 외부 장치는 연산을 수행한 후 단말 장치는 onmessage 이벤트를 통해 외부 장치의 연산 결과 데이터를 수신한다. If the function that computes the number of computers is created as a web worker object, the browser will perform the calculation of the object via the web worker. However, when the resource of the terminal device is insufficient, the Web walker object is delivered to the external device. Specifically, it is sent to the external device via the postMessage method. After the external device performs the operation, the terminal device receives the operation result data of the external device through the onmessage event.

외부 장치는 요청에 따라 연산을 수행한다. 외부 장치는 연산 수행을 위한 수단을 구비해야 한다. 외부 장치는 웹 워커 객체를 전달받은 경우 웹 워커 객체를 분석하여 처리할 수 있는 엔진이 필요하다. 또한, 연산 수행을 위한 충분한 리소스를 갖고 있어야 한다. The external device performs the operation according to the request. The external device must have means for performing operations. An external device needs an engine capable of analyzing and processing Web Walker objects when receiving Web Walker objects. Also, you must have enough resources to perform operations.

단말 장치의 브라우저는 외부 장치로부터 연산 결과에 따른 데이터를 수신한다(S140). The browser of the terminal device receives data according to the calculation result from the external device (S140).

S150 단계에서 수신된 데이터를 이용하여 브라우저에 데이터를 표시한다. 상기 S150 단계는 상기 수신된 데이터를 이용하여 상기 브라우저에 이미지를 렌더링하는 작업일 수 있다. The data is displayed on the browser using the data received in step S150. The operation S150 may be an operation of rendering an image in the browser using the received data.

컴퓨터와 오목 게임을 하는 실시 예에서 브라우저는 외부 장치로부터 수신된 계산 결과 데이터를 이용하여 컴퓨터의 오목돌 배치에 따라 새롭게 변화된 오목판의 모습을 디스플레이한다. In an embodiment of playing a concave game with a computer, the browser displays the shape of the newly changed concave plate according to the concave arrangement of the computer using the calculation result data received from the external apparatus.

컴퓨터의 수를 계산하는 함수가 웹 워커 객체로 작성되어 있는 경우 브라우저는 수신된 외부 장치의 연산 결과 데이터를 이용하여 브라우저 화면을 구성한다. When a function to calculate the number of computers is created as a Web worker object, the browser forms a browser screen using the operation result data of the received external device.

이하에서는 본 발명의 확장된 실시 예를 설명한다. Hereinafter, an extended embodiment of the present invention will be described.

도 2는 본 발명의 다른 실시 예에 따른 단말 장치의 브라우저 구동 방법의 흐름도이다. 2 is a flowchart of a browser driving method of a terminal apparatus according to another embodiment of the present invention.

도 2를 참조하면, 본 발명의 다른 실시 예에 따른 단말 장치의 브라우저 구동 방법은 리소스 부족 여부 판단 단계(S210), 리소스 부족하면(S220-Y) 외부 장치를 선택하여 채널을 형성하는 단계(S230), 외부 장치에 연산을 요청하는 단계(S240), 외부 장치로부터 연산 결과를 수신하는 단계(S250), 수신된 데이터를 이용하여 브라우저에 데이터를 표시하는 단계(S260)를 포함한다. Referring to FIG. 2, a method of operating a browser of a terminal device according to another embodiment of the present invention includes a step S210 of determining whether a resource is insufficient, a step S220- A step S240 of requesting an operation from an external device, a step S250 of receiving an operation result from an external device, and a step S260 of displaying data in the browser using the received data.

S210, S220, S240, S250, S260 단계는 각각 전술한 S110, S120, S130, S140, S150 단계에 대응되는 단계이므로 중복 설명은 생략한다. Steps S210, S220, S240, S250, and S260 correspond to steps S110, S120, S130, S140, and S150 described above, respectively, and redundant description will be omitted.

S230 단계는 상기 리소스가 부족하거나 없는 경우, 상기 연산을 수행할 외부 장치를 선택하여 채널을 형성하는 과정이다. In step S230, when the resource is insufficient or missing, an external device to perform the operation is selected to form a channel.

따라서, 외부 장치는 단말 장치보다 풍부한 리소스를 갖는 장치일 것이 요구된다. 예를 들어, 외부 장치는 단말 장치에 비해 고성능의 CPU, 대용량 저장매체를 갖고 작업풀에 충분한 여유공간이 필요할 것이다. 이러한 기준들에 따라서 복수의 외부 장치 중에 연산을 수행할 장치가 선택될 수 있다. Therefore, the external device is required to be a device having a resource richer than the terminal device. For example, an external device may have a high-performance CPU, a mass storage medium, and sufficient free space for a work pool as compared with a terminal device. In accordance with these criteria, a device to perform an operation among a plurality of external devices can be selected.

전술한 실시 예를 포함하는 본 발명의 다양한 실시 예에서 외부 장치는 서버, 다른 외부 단말 장치 중 어느 하나일 수 있다. 예를 들어 단말 장치가 스마트폰인 경우 스마트 폰의 근처에 TV가 있는 경우 TV의 리소스가 충분하면 외부 장치는 TV가 될 수 있다. 그러나, 스마트폰의 근처에 PC가 존재하는 경우 PC의 리소스가 더 풍부할 수 있으므로 외부 장치는 PC로 선택된다. 또한, 고성능의 서버와 통신이 가능한 경우 외부 장치는 서버가 될 수 있다. In various embodiments of the present invention including the above-described embodiments, the external device may be either a server or another external terminal device. For example, if the terminal device is a smart phone, if there is a TV near the smartphone, the external device can be a TV if the TV has sufficient resources. However, if there is a PC near the smartphone, the external device may be selected as a PC since the resources of the PC may be richer. Also, when communication with a high-performance server is possible, the external device can be a server.

외부 장치가 선택되고 채널이 형성되는 경우 통신 채널을 구현하는 기술은 다양할 수 있다. 통신 채널은 통상적인 아이피 주소를 통해 접근이 가능한 인터넷이 될 수도 있고 라디오 주파수를 이용하는 근거리 무선통신이 될 수도 있다. 또한, 소규모 홈 유선 네트워크를 통해 통신 채널이 형성될 수도 있다. When an external device is selected and a channel is formed, techniques for implementing a communication channel may vary. The communication channel may be the Internet accessible via a conventional IP address or may be a short range wireless communication using radio frequency. Also, a communication channel may be formed through a small home wired network.

또한, 외부 장치는 연산 요청을 수신하고 빠르게 연산을 수행한 후 연산 결과 데이터를 단말 장치로 전송해야 하므로 상기 단말 장치와 외부 장치를 연결하는 네트워크 상태를 고려하여 상기 연산을 수행할 외부 장치가 선택될 수도 있다. Also, since the external device receives the operation request, performs the operation fast, and transmits the operation result data to the terminal device, the external device to perform the operation is selected in consideration of the network state connecting the terminal device and the external device It is possible.

예를 들어, 단말 장치는 근거리 무선 통신의 일종인 와이파이를 통해 AP와 인터넷으로 연결되어 서버와 통신을 수행할 수 있다. 동시에 단말 장치는 와이파이 다이렉트를 통해 근처에 위치하는 컴퓨터와 직접 통신이 이루어질 수도 있다. 그러나, 와이파이 다이렉트의 통신 품질에 문제가 있어 물리적인 위치가 가까움에도 서버와의 통신이 좀더 빠를 수 있다. 이 경우는 와이파이 다이렉트가 아닌 와이파이에 의한 인터넷을 통해 연결된 서버가 외부 장치로 선택될 것이다. For example, a terminal device can communicate with a server by being connected to an AP and the Internet through a Wi-Fi, which is a type of short-range wireless communication. At the same time, the terminal device may directly communicate with a nearby computer through Wi-Fi direct. However, there is a problem with the communication quality of Wi-Fi Direct, so communication with the server may be quicker even if the physical location is close. In this case, the server connected via the Internet by Wi-Fi rather than Wi-Fi Direct will be selected as the external device.

한편, 상술한 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동 방법은 상기 연산과 독립적으로 상기 단말 장치 내에서 상기 브라우저를 구동하기 위한 다른 연산을 수행하는 단계를 더 포함할 수 있다. The method of driving a browser of a terminal device according to various embodiments of the present invention may further include performing another operation for driving the browser in the terminal device independently of the operation.

즉, 단말 장치의 브라우저는 멀티 스레드 환경을 제공할 수 있다. 따라서, 단말 장치의 브라우저가 외부 장치로부터 수신된 프로그램을 실행하는 도중에 외부 장치에 제1 연산을 요청한 경우 브라우저는 제1 연산 결과를 수신하기 전에 이와 다른 제2 연산을 수행할 수 있다. 따라서, 단일 쓰레드 방식에서 웹 프로그램 중간에 별도의 계산을 수행하기 위한 호출을 수행하고 반환 값을 얻을 때까지 소요되는 지연을 제거할 수 있게 되므로 좀더 빠르게 프로그램 실행이 가능해진다. That is, the browser of the terminal device can provide a multi-thread environment. Therefore, when the browser of the terminal device requests the first operation to the external device while executing the program received from the external device, the browser can perform another second operation before receiving the first operation result. Therefore, it is possible to execute the program more quickly because it is possible to eliminate the delay until a call is made to perform a separate calculation in the middle of the web program in the single-thread method and to obtain the return value.

컴퓨터와 오목 게임을 하는 실시 예에서 사용자가 오목 수를 놓으면 서버는 컴퓨터의 다음 수를 계산하기 위한 제1 연산 요청이 있는 경우 제1 연산을 시작한다. 브라우저는 서버가 제1 연산을 수행하는 동안 사용자에게 다음 오목돌을 위한 전략을 제공할 수 있다. 상기 전략은 이전 게임의 데이터를 통계적으로 분석한 데이터를 기초로 승률이 높은 오목돌의 위치 정보를 사용자에게 제공하는 것이 될 수 있다. 이때, 상기 전략을 제공하기 위해 이전 게임의 데이터를 통계적으로 분석하기 위한 제2 연산이 필요하다. 이때, 브라우저는 제2 연산을 제1 연산과 독립적으로 수행할 수 있다. In an embodiment of playing a concerto game with a computer, when the user places a concave number, the server starts a first operation when there is a first operation request to calculate the next number of computers. The browser may provide the user with a strategy for the next carousel while the server is performing the first operation. The strategy may be to provide the user with the position information of the concave stones having high odds based on the statistical data of the data of the previous game. At this time, in order to provide the strategy, a second operation is required to statistically analyze the data of the previous game. At this time, the browser can perform the second operation independently of the first operation.

물론, 여기서 제2 연산을 수행하기 위한 프로그램의 객체는 웹 워커 객체가 될 수 있다. 상기 웹 워커 객체는 단말 장치에서 실행될 수도 있고 상기 외부 장치가 수행할 수 있다. 또는 상기 외부 장치가 아닌 다른 외부 장치에서 수행될 수도 있다. Of course, the object of the program for performing the second operation here can be a web worker object. The web walker object may be executed in the terminal device or in the external device. Or may be performed in an external device other than the external device.

이하에서는 본 발명의 다양한 실시 예에 따라 외부 장치에서 단말 장치의 브라우저 구동을 위한 연산을 수행하는 방법을 설명한다. Hereinafter, a method for performing an operation for driving a browser of a terminal device in an external apparatus according to various embodiments of the present invention will be described.

도 3은 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동을 위한 연산 방법의 흐름도이다. 3 is a flowchart of an operation method for driving a browser of a terminal device according to various embodiments of the present invention.

도 3을 참조하면, 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동을 위한 연산 방법은, 단말 장치로부터 연산 요청을 수신하는 단계(S310), 연산을 수행하는 단계(S320) 및 연산 결과 데이터를 단말 장치로 전송하는 단계(S330)를 포함한다. Referring to FIG. 3, a method for operating a browser of a terminal device according to various embodiments of the present invention includes receiving (S310) an operation request from a terminal device, performing an operation (S320) To the terminal device (S330).

상술한 각 단계는 전술한 외부 장치의 동작을 설명한다. 즉, 외부 장치는 단말 장치로부터 단말 장치의 브라우저 구동을 위한 연산 요청이 있는 경우, 연산을 위한 프로그램 부분을 수신하고 연산을 수행한다. 그리고, 연산 결과 데이터를 단말 장치로 전송한다. Each of the above-described steps describes the operation of the above-described external apparatus. That is, when there is an operation request for operating the browser of the terminal device from the terminal device, the external device receives the program part for the operation and performs the operation. Then, the calculation result data is transmitted to the terminal device.

각 단계에서의 외부 장치 및 단말 장치의 세부 동작에 대해서는 상술한 바와 같으므로 중복 설명은 생략한다. The detailed operation of the external device and the terminal device at each step is the same as described above, and thus the duplicated description will be omitted.

이하에서는 본 발명의 다양한 실시 예에 따른 단말 장치 및 외부 장치의 상호 작용에 의한 단말 장치의 브라우저 구동방법을 살펴본다.Hereinafter, a method of operating a browser of a terminal device by interaction between a terminal device and an external device according to various embodiments of the present invention will be described.

도 4는 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동방법의 흐름도이다. 4 is a flowchart of a method of operating a browser of a terminal device according to various embodiments of the present invention.

도 4를 참조하면, 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동방법은, 단말 장치가 연산에 필요한 리소스를 확인하는 단계(S410), 리소스가 부족하면(S420-Y) 단말 장치가 외부 장치에 연산을 요청하는 단계(S420), 외부 장치가 연산 요청에 따라 연산을 수행하는 단계(S430), 외부 장치가 연산 결과 데이터를 단말 장치로 전송하는 단계(S450), 단말 장치가 수신된 데이터를 이용하여 브라우저에 데이터를 표시하는 단계(S460)를 포함한다.Referring to FIG. 4, a method of operating a browser of a terminal device according to various embodiments of the present invention includes the steps of (S410) confirming a resource required for an operation by a terminal device (S410) A step S430 of performing an operation according to an operation request by the external device, a step S450 of transmitting an operation result data to the terminal device by the external device, And displaying the data in the browser (S460).

상기 각 단계에 대해서는 전술한 실시 예에서 설명한 바와 같다. Each of the above-described steps is as described in the above embodiment.

이하에서는 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동 시스템, 단말 장치, 외부 장치를 설명한다. Hereinafter, a browser driving system, a terminal apparatus, and an external apparatus of a terminal apparatus according to various embodiments of the present invention will be described.

도 5는 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동 시스템의 블록도이다. 5 is a block diagram of a browser operating system of a terminal device according to various embodiments of the present invention.

도 5를 참조하면, 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동 시스템(1000)은 단말 장치의 브라우저 구동을 위한 연산을 요청하는 제1 장치(1100)와 상기 요청에 따라 연산을 수행하여 전달하는 제2 장치(1200)를 포함한다. Referring to FIG. 5, a browser operating system 1000 of a terminal device according to various embodiments of the present invention includes a first device 1100 for requesting an operation for operating a browser of a terminal device, (Not shown).

제1 장치(1100)는 브라우저를 구동하기 위한 연산에 필요한 리소스가 부족하거나 없는 경우, 제2 장치(1200)에 상기 연산을 요청하고, 상기 제2 장치(1200)로부터 수신된 연산결과를 이용하여 상기 브라우저에 데이터를 표시한다. 제1 장치(1100)는 전술한 단말 장치와 동일하다.The first device 1100 requests the second device 1200 to perform the operation when the resources required for the operation for driving the browser are insufficient or lacks resources and uses the operation result received from the second device 1200 And displays the data in the browser. The first device 1100 is the same as the above-described terminal device.

제 2 장치(1200)는 상기 제1 장치(1100)의 요청이 있는 경우 상기 연산을 수행하여 연산 결과에 따른 데이터를 상기 제1 장치(1100)로 전송한다. 제 2 장치(1200)는 전술한 외부 장치와 동일하다. The second device 1200 performs the operation when the first device 1100 is requested, and transmits data according to the operation result to the first device 1100. The second device 1200 is the same as the above-described external device.

도 6은 본 발명의 일 실시 예에 따른 단말 장치(100)의 구성을 도시한 블록도이다. 6 is a block diagram showing a configuration of a terminal device 100 according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 일 실시 예에 따른 단말 장치(100)는 디스플레이부(110), 통신부(130), 제어부(130)를 포함한다. 상기 단말장치(100)는 상술한 제1 장치(1100)일 수 있다. Referring to FIG. 6, a terminal device 100 according to an embodiment of the present invention includes a display unit 110, a communication unit 130, and a control unit 130. The terminal device 100 may be the first device 1100 described above.

디스플레이부(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)를 구성하는 구성은 본 발명의 기술적 특징이 아니므로 생략한다. The display unit 110 displays a browser. Then, when the information of the browser is changed, the browser displaying the changed information is displayed. The display unit 110 may be a liquid crystal display panel, a plasma display panel, an OLED (Organic Light Emitting Diodes), a VFD (Vacuum Fluorescent Display), an FED (Field Emission Display) Display) can be implemented with various display technologies. The configuration of the other display unit 110 is not a technical feature of the present invention and will be omitted here.

통신부(120)는 외부 장치와 통신한다. 통신부(120)는 후술하는 외부 장치(200)와 다양한 통신 기술로 연결될 수 있다. 예를 들어, 통신 채널은 통상적인 아이피 주소를 통해 접근이 가능한 인터넷이 될 수도 있고 라디오 주파수를 이용하는 근거리 무선통신이 될 수도 있다. 또한, 소규모 홈 유선 네트워크를 통해 통신 채널이 형성될 수도 있다. 기술적인 세부 구성은 본 발명의 기술적 특징이 아니므로 생략한다. The communication unit 120 communicates with an external device. The communication unit 120 may be connected to the external device 200 to be described later through various communication technologies. For example, the communication channel may be the Internet accessible via a conventional IP address, or may be a short-range wireless communication using radio frequency. Also, a communication channel may be formed through a small home wired network. The technical details are not the technical features of the present invention and will not be described here.

제어부(130)는 단말 장치(100) 내에 브라우저를 구동하기 위한 연산에 필요한 리소스가 부족하거나 없는 경우, 외부 장치(200)에 상기 연산을 요청하여 연산 결과에 따른 데이터를 수신하고, 상기 수신된 데이터를 이용하여 상기 브라우저에 데이터를 표시하도록 제어한다. If there is not enough resources in the terminal device 100 to operate the browser in the terminal device 100, the controller 130 requests the external device 200 for the operation and receives data according to the operation result, So that data is displayed on the browser.

또한, 제어부(130)는, 상기 수신된 데이터를 이용하여 상기 브라우저에 이미지를 렌더링할 수 있다. In addition, the controller 130 may render an image in the browser using the received data.

또한, 제어부(130)는, 단말 장치(200)의 메모리, 동작 중인 프로세스 및 처리 속도 중 적어도 하나를 기초로 기설정된 시간 내에 계산을 수행할 수 있는지 판단함으로써, 상기 리소스가 부족하거나 없는지 판단할 수 있다. In addition, the control unit 130 can determine whether the resource is insufficient or not by judging whether the calculation can be performed within a predetermined time based on at least one of the memory of the terminal device 200, have.

또한, 제어부(130)는, 상기 리소스가 부족하거나 없는 경우, 상기 연산을 수행할 외부 장치(200)를 선택하여 채널을 형성하도록 제어할 수 있다. In addition, when the resource is insufficient or not, the controller 130 may control the external device 200 to perform the calculation to form a channel.

또한, 상기 제어부(130)는, 단말 장치(100)와 외부 장치(200)를 연결하는 네트워크 상태를 고려하여 상기 연산을 수행할 외부 장치를 선택할 수 있다. The controller 130 may select an external device to perform the calculation in consideration of a network state connecting the terminal device 100 and the external device 200. [

이때, 상기 연산은 웹 워커 쓰레드 처리 수행 작업일 수 있다. At this time, the operation may be a Web worker thread processing operation.

상기 단말 장치(100)의 동작은 전술한 단말 장치의 브라우저 구동 방법의 실시 예에서 상술하였으므로 추가적인 설명은 생략한다. Since the operation of the terminal device 100 has been described in the embodiment of the browser driving method of the terminal device described above, a further explanation will be omitted.

도 7은 본 발명의 일 실시 예에 따른 외부 장치(200)의 구성을 도시한 블록도이다. 7 is a block diagram showing the configuration of an external device 200 according to an embodiment of the present invention.

도 7을 참조하면, 본 발명의 일 실시 예에 따른 외부 장치(200)는 단말 장치와 통신을 수행하는 통신부(210)와, 상기 단말 장치(100)의 리소스가 부족하거나 없는 경우, 상기 단말 장치(100)로부터 브라우저를 구동하기 위한 연산 요청을 수신하여 상기 수신된 연산 요청에 따라 상기 연산을 수행하고, 상기 수행된 연산 결과 데이터를 상기 외부 장치로 전송하도록 제어하는 제어부(220)를 포함한다. 여기서 외부 장치(200)는 전술한 제2 장치가 될 수 있다. Referring to FIG. 7, an external device 200 according to an embodiment of the present invention includes a communication unit 210 for performing communication with a terminal device, and a communication unit 210 for, when resources of the terminal device 100 are insufficient, (220) for receiving an operation request for driving the browser from the external device (100), performing the operation according to the received operation request, and controlling the operation result data to be transmitted to the external device. Here, the external device 200 may be the second device described above.

통신부(210)는 단말 장치(100)와 통신을 수행하는 구성이다. 통신부(210)는 단말 장치(100)와 다양한 통신 기술로 연결될 수 있다. 예를 들어, 통신 채널은 통상적인 아이피 주소를 통해 접근 가능한 인터넷이 될 수도 있고 라디오 주파수를 이용하는 근거리 무선통신이 될 수도 있다. 또한, 소규모 홈 유선 네트워크를 통해 통신 채널이 형성될 수도 있다. 기술적인 세부 구성은 본 발명의 기술적 특징이 아니므로 생략한다. The communication unit 210 is configured to perform communication with the terminal device 100. The communication unit 210 may be connected to the terminal device 100 through various communication technologies. For example, the communication channel may be the Internet accessible via a conventional IP address, or it may be a short range wireless communication using radio frequency. Also, a communication channel may be formed through a small home wired network. The technical details are not the technical features of the present invention and will not be described here.

제어부(220)는 단말 장치(100)로부터 브라우저를 구동하기 위한 연산 요청을 수신하여 상기 수신된 연산 요청에 따라 상기 연산을 수행하고, 상기 수행된 연산 결과 데이터를 상기 외부 장치로 전송하도록 제어한다. 제어부(220)의 동작은 전술한 단말 장치(100)의 브라우저 구동 방법에서 설명한 바와 같다. 제어부(220)는 소프트웨어적으로 상술한 단말 장치의 브라우저 구동을 위한 CPU를 포함하며, 소프트웨어적으로 운영체제, 어플리케이션을 포함한다. The control unit 220 receives an operation request for driving the browser from the terminal device 100, performs the operation according to the received operation request, and controls the operation result data to be transmitted to the external device. The operation of the control unit 220 is the same as that described in the browser driving method of the terminal device 100 described above. The control unit 220 includes a CPU for operating a browser of the terminal device as described above in software, and includes an operating system and an application in software.

외부 장치(200)의 전반적인 동작에 대해서는 상술한 단말 장치(100)의 브라우저 구동 방법과 동일하므로 중복 설명은 생략한다.Since the general operation of the external device 200 is the same as the browser driving method of the terminal device 100 described above, a duplicate description will be omitted.

도 8은 본 발명의 일 실시 예에 따른 웹 워크로드 균형 프레임워크를 도시한 도면이다. 8 is a diagram illustrating a Web workload balancing framework according to an embodiment of the present invention.

상술한 실시 예에서, 제1 장치는 디바이스(810)가 되고, 제2 장치는 서버(820)가 될 수 있다. 이때, 디바이스(810)와 서버(820)는 도 8과 같은 웹 워크로드 균형 프레임워크(WWF : Web Workload balancing Framework)를 구성할 수 있다. In the above-described embodiment, the first device may be the device 810 and the second device may be the server 820. [ At this time, the device 810 and the server 820 can configure the Web Workload Balancing Framework (WWF) as shown in FIG.

디바이스(810)에서 WWF는 서버(820)의 WWF에 웹 소켓 인터페이스(Web Socket interface)(830)를 통해 연결된다. 그리고, 디바이스(820)는 웹 워커 인터페이스(811)를 통해 웹 애플리케이션(Web Application)(812)과 메시지를 주고 받는다. 서버(820) 측의 WWF는 실행할 수 있는 자바 스크립트가 서버(820)에서 웹 워크 코드를 실행하고, 웹 소켓 인터페이스(830)를 통해 디바이스(810) 측과 통신한다. WWF를 갖는 웹 워커의 시퀀스 흐름이 도 9에 제시된다. In the device 810, the WWF is connected to the WWF of the server 820 through a Web Socket interface 830. The device 820 sends and receives messages to and from a web application 812 via the web worker interface 811. A WWF on the server 820 side executes an executable JavaScript script on the server 820 and communicates with the device 810 side via the Web socket interface 830. The sequence flow of a web worker with WWF is shown in Fig.

도 8에 도시된 것과 다르게 이러한 디바이스(810)의 WWF는 웹브라우저(813) 내에 위치할 수도 있다.8, the WWF of such a device 810 may be located within the web browser 813. [

도 9는 WWF의 시퀀스 다이어 그램을 도시한 것이다.Figure 9 shows a sequence diagram of WWF.

도 9를 참조하면, 상기 웹 애플리케이션(812)이 오픈되면, 상기 디바이스(810) 측의 WWF와 서버(820) 측의 WWF 사이에 하나의 웹 소켓이 오픈되고, 디바이스(810) 측의 모든 명령과 서버 측의 모든 이벤트들이 WWF를 통해 전달된다. 디바이스(810) 측과 서버(820) 측 사이에 복수의 웹 워커를 두는 경우 각 웹 워커는 WWF에 있는 ID로 식별된다. 이때, Node.js™가 자바스크립터를 실행할 수 있는 서버로 사용될 수 있다. 또한, 이러한 방법을 쉽게 검증하기 위해 WWF를 자바 스크립트 라이브러리로 구현할 수 있다. 그리고, 상기 프레임 워크를 웹 워커의 생성 코드를 변경하는 웹 애플리케이션(812)의 수정에 적용할 수 있다.9, when the web application 812 is opened, one web socket is opened between the WWF on the device 810 side and the WWF on the server 820 side, and all the commands on the device 810 side And all events on the server side are passed through WWF. When a plurality of Web walkers are placed between the device 810 side and the server 820 side, each Web walker is identified by an ID in the WWF. At this time, Node.js ™ can be used as a server that can run Java script. You can also implement WWF as a JavaScript library to easily verify this approach. The framework can then be applied to the modification of the web application 812 to modify the generated code of the web walker.

도 9에 도시된 것처럼 웹 워커(930)는 UI 쓰레드(UI Tread)(920)와 완전히 분리되어 있으며, UI 쓰레드가 돔트리(DOM)(910)에 UI 변경을 지시한다. 데이터 통신 채널이 생성되면, 디바이스는 postMessage 라는 메소드를 이용하며 WWF웹 워커에서 데이터를 송신한다. 디바이스 측의 WWF와 서버 측의 WWF는 통신을 수행하며, 서버측의 웹 워커(940, 950)는 전달받은 작업을 수행한다. 어느 장치이건 데이터를 수신할 때는 onmessage 이벤트를 통해 전달받는다. 그리고, 작업이 완료되면, postMessage 메소드를 이용하여 디바이스로 작업 결과를 전송한다.9, the web walker 930 is completely separate from the UI thread (UI Tread) 920, and the UI thread instructs the DOM tree 910 to change the UI. Once the data communication channel is created, the device uses the method postMessage and sends the data from the WWF web worker. The WWF on the device side and the WWF on the server side perform communication, and the web walkers 940 and 950 on the server side perform the received work. Any device receives data through the onmessage event. When the operation is completed, the operation result is transmitted to the device using the postMessage method.

한편, 상술한 본 발명의 다양한 실시 예에 따른 단말 장치의 브라우저 구동 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 상기 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장될 수 있다. Meanwhile, a method of operating a browser of a terminal device according to various embodiments of the present invention described above may be implemented as a program including an executable algorithm that can be executed in a computer, and the program may be stored in a non-transitory computer readable medium).

여기서 비일시적 판독 가능 매체란 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 예를 들어, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 판독 가능 기록매체 중 어느 하나가 될 수 있다. Here, the non-transitory readable medium is not a medium for storing data for a short period of time but means a medium that semi-permanently stores data and is capable of being read by a device. For example, a CD, a DVD, a hard disk, a Blu-ray disc, a USB, a memory card, a ROM, and the like.

이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be construed as limiting the scope of the invention as defined by the appended claims. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention.

1000 : 단말 장치의 브라우저 구동 시스템
100 : 단말 장치
200 : 외부 장치
110 : 디스플레이부 120 : 통신부
130 : 제어부
210 : 통신부 220 : 제어부
1000: Browser operating system of the terminal device
100: terminal device
200: External device
110: display unit 120: communication unit
130:
210: communication unit 220:

Claims (22)

단말 장치의 브라우저 구동 방법에 있어서,
상기 단말 장치 내에서 상기 브라우저를 구동하기 위한 제1 연산에 필요한 리소스를 확인하는 단계;
상기 리소스가 없거나 부족한 경우, 외부 장치에 상기 제1 연산을 요청하는 단계;
상기 외부 장치로부터 상기 제1 연산 결과에 따른 데이터를 수신하는 단계; 및
상기 수신된 데이터를 이용하여 상기 브라우저에 데이터를 표시하는 단계;를 포함하는 단말 장치의 브라우저 구동 방법.
A method of operating a browser of a terminal device,
Confirming a resource required for a first operation for driving the browser in the terminal device;
Requesting the external device for the first operation if the resource is missing or insufficient;
Receiving data according to the first calculation result from the external device; And
And displaying data on the browser using the received data.
제1 항에 있어서,
상기 데이터 표시 단계는,
상기 수신된 데이터를 이용하여 상기 브라우저에 이미지를 렌더링하는 작업인 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
The method according to claim 1,
The data display step may include:
And rendering the image on the browser using the received data.
제1 항에 있어서,
상기 리소스 확인 단계는,
상기 단말 장치의 메모리, 동작 중인 프로세스 및 처리 속도 중 적어도 하나를 기초로 기설정된 시간 내에 계산을 수행할 수 있는지 판단하는 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
The method according to claim 1,
The resource verification step may include:
And determining whether calculation can be performed within a predetermined time based on at least one of a memory, an operating process and a processing speed of the terminal apparatus.
제1 항에 있어서,
상기 리소스가 부족하거나 없는 경우, 상기 제1 연산을 수행할 외부 장치를 선택하여 채널을 형성하는 단계;를 더 포함하는 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
The method according to claim 1,
Further comprising the step of selecting an external device to perform the first operation and forming a channel when the resource is insufficient or absent.
제4 항에 있어서,
상기 채널 형성 단계는,
상기 단말 장치와 외부 장치를 연결하는 네트워크 상태를 고려하여 상기 제1 연산을 수행할 외부 장치를 선택하는 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
5. The method of claim 4,
The channel forming step may include:
And selecting an external device to perform the first operation in consideration of a network state connecting the terminal device and the external device.
제1 항에 있어서,
상기 외부 장치는,
서버 또는 다른 단말 장치인 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
The method according to claim 1,
The external device includes:
A server or another terminal device.
제1 항에 있어서,
상기 제1 연산은 웹 워커 쓰레드 처리 수행 작업인 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
The method according to claim 1,
Wherein the first operation is a Web worker thread processing execution operation.
제1항에 있어서,
상기 제1 연산과 독립적으로 상기 단말 장치 내에서 상기 브라우저를 구동하기 위한 제2 연산을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 단말 장치의 브라우저 구동 방법.
The method according to claim 1,
And performing a second operation for driving the browser in the terminal device independently of the first operation.
단말 장치의 브라우저 구동을 위한 연산 방법에 있어서,
단말 장치의 리소스가 부족하거나 없는 경우, 상기 단말 장치로부터 브라우저를 구동하기 위한 연산 요청을 수신하는 단계;
상기 수신된 연산 요청에 따라 상기 연산을 수행하는 단계; 및
상기 수행된 연산 결과 데이터를 상기 외부 장치로 전송하는 단계;를 포함하는 브라우저 구동을 위한 연산 방법.
A method for operating a browser of a terminal device,
Receiving an operation request for driving a browser from the terminal device when the terminal device is insufficient or does not have resources;
Performing the operation according to the received operation request; And
And transmitting the computed result data to the external device.
단말 장치의 브라우저 구동 방법에 있어서,
상기 단말 장치가 상기 브라우저를 구동하기 위한 연산에 필요한 리소스를 확인하는 단계;
상기 리소스가 부족하거나 없는 경우, 상기 단말 장치가 외부 장치에 상기 연산을 요청하는 단계;
상기 외부 장치가 상기 연산을 수행하는 단계;
상기 외부 장치가 상기 연산 결과에 따른 데이터를 상기 단말 장치로 전송하는 단계; 및
상기 단말 장치가 상기 수신한 데이터를 이용하여 상기 브라우저에 데이터를 표시하는 단계;를 포함하는 단말 장치의 브라우저 구동 방법.
A method of operating a browser of a terminal device,
Confirming resources required for an operation for driving the browser by the terminal device;
When the resource is insufficient or absent, the terminal device requests the external device for the operation;
The external device performing the operation;
The external device transmitting data according to the calculation result to the terminal device; And
And displaying the data on the browser using the received data by the terminal device.
브라우저를 디스플레이하는 디스플레이부;
외부 장치와 통신하는 통신부;
단말 장치 내에 브라우저를 구동하기 위한 연산에 필요한 리소스가 부족하거나 없는 경우, 상기 외부 장치에 상기 연산을 요청하여 연산 결과에 따른 데이터를 수신하고, 상기 수신된 데이터를 이용하여 상기 브라우저에 데이터를 표시하도록 제어하는 제어부;를 포함하는 단말 장치.
A display unit for displaying a browser;
A communication unit for communicating with an external device;
When the terminal device lacks or lacks resources necessary for an operation for driving the browser, the external device requests the operation to receive the data according to the operation result, and displays the data in the browser using the received data And a control unit for controlling the terminal apparatus.
제11 항에 있어서,
상기 제어부는,
상기 수신된 데이터를 이용하여 상기 브라우저에 이미지를 렌더링하는 것을 특징으로 하는 단말 장치.
12. The method of claim 11,
Wherein,
And rendering the image to the browser using the received data.
제11 항에 있어서,
상기 제어부는,
상기 단말 장치의 메모리, 동작 중인 프로세스 및 처리 속도 중 적어도 하나를 기초로 기설정된 시간 내에 계산을 수행할 수 있는지 판단함으로써, 상기 리소스가 부족하거나 없는지 판단하는 것을 특징으로 하는 단말 장치.
12. The method of claim 11,
Wherein,
Wherein the terminal device determines whether the resource is insufficient or not by determining whether calculation can be performed within a predetermined time based on at least one of a memory, an operating process and a processing speed of the terminal device.
제11 항에 있어서,
상기 제어부는,
상기 리소스가 부족하거나 없는 경우, 상기 연산을 수행할 외부 장치를 선택하여 채널을 형성하도록 제어하는 것을 특징으로 하는 단말 장치.
12. The method of claim 11,
Wherein,
And controls to form a channel by selecting an external device to perform the operation when the resource is insufficient or absent.
제14 항에 있어서,
상기 제어부는,
상기 단말 장치와 외부 장치를 연결하는 네트워크 상태를 고려하여 상기 연산을 수행할 외부 장치를 선택하는 것을 특징으로 하는 단말 장치.
15. The method of claim 14,
Wherein,
And selects an external device to perform the operation in consideration of a network state connecting the terminal device and the external device.
제11 항에 있어서,
상기 외부 장치는,
서버 또는 다른 단말 장치인 것을 특징으로 하는 단말 장치.
12. The method of claim 11,
The external device includes:
Server or another terminal device.
제11 항에 있어서,
상기 연산은 웹 워커 쓰레드 처리 수행 작업인 것을 특징으로 하는 단말 장치.
12. The method of claim 11,
Wherein the operation is a Web worker thread processing execution task.
제11 항에 있어서,
상기 단말 장치는 모바일 장치인 것을 특징으로 하는 단말 장치.
12. The method of claim 11,
Wherein the terminal device is a mobile device.
단말 장치와 통신을 수행하는 통신부; 및
상기 단말 장치의 리소스가 부족하거나 없는 경우, 상기 단말 장치로부터 브라우저를 구동하기 위한 연산 요청을 수신하여 상기 수신된 연산 요청에 따라 상기 연산을 수행하고, 상기 수행된 연산 결과 데이터를 상기 외부 장치로 전송하도록 제어하는 제어부;를 포함하는 서버.
A communication unit for performing communication with the terminal device; And
Receiving an operation request for driving the browser from the terminal device when the resource of the terminal device is insufficient or not, performing the operation in accordance with the received operation request, and transmitting the performed operation result data to the external device To the server.
브라우저를 구동하기 위한 연산에 필요한 리소스가 부족하거나 없는 경우, 제2 장치에 상기 연산을 요청하고, 상기 제2 장치로부터 수신된 연산결과를 이용하여 상기 브라우저에 데이터를 표시하는 제1 장치; 및
상기 제1 장치의 요청이 있는 경우 상기 연산을 수행하여 연산 결과에 따른 데이터를 상기 제1 장치로 전송하는 제2 장치; 를 포함하는 단말 장치의 브라우저 구동 시스템.
A first device for requesting the second device for the operation and displaying data on the browser using the result of the operation received from the second device when the resources required for the operation for driving the browser are insufficient or absent; And
A second device for performing the operation in response to a request from the first device and transmitting data according to the operation result to the first device; And a terminal device connected to the terminal device.
웹 애플리케이션을 수행하기 위해 필요한 리소스가 부족한 경우, WWF(웹 워크로드 균형 프레임워크 : Web Workload balancing Framework) 웹 소켓 인터페이스를 통해 서버에 작업 수행을 요청하는 디바이스; 및
상기 디바이스로부터 상기 작업 수행 요청이 있는 경우, WWF 웹 소켓 인터페이스를 통해 상기 작업 수행 요청을 수신하고, 웹 워커를 통해 상기 작업을 수행하여 결과값을 상기 디바이스로 전송하는 서버;를 포함하는 WWF 시스템.
A device that requests the server to perform an operation through the WWF (Web Workload balancing Framework) Web Socket interface when there is insufficient resources to run the web application; And
And a server for receiving the job execution request through the WWF web socket interface when the job execution request is received from the device, performing the job through the web worker, and transmitting the resultant value to the device.
제21항에 있어서,
상기 웹 애플리케이션은 자바 스크립트 언어로 작성된 것을 특징으로 하는 WWF 시스템.






22. The method of claim 21,
Wherein the web application is written in a JavaScript language.






KR1020140004301A 2013-02-15 2014-01-14 Terminal appratus, server, browser of terminal appratus operaing system and browser operaing method of terminal apparatus KR102185692B1 (en)

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 (en) 2013-02-15 2014-02-14 Terminal apparatus, server, browser-driving system of terminal apparatus, and method of driving browser of terminal apparatus
CN201410053683.7A CN103995738A (en) 2013-02-15 2014-02-17 Terminal apparatus, server, browser of terminal apparatus operating system and method of operating browser

Applications Claiming Priority (2)

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

Publications (2)

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

Family

ID=51747572

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140004301A KR102185692B1 (en) 2013-02-15 2014-01-14 Terminal appratus, server, browser of terminal appratus operaing system and browser operaing method of terminal apparatus

Country Status (1)

Country Link
KR (1) KR102185692B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190012742A (en) 2017-07-28 2019-02-11 한화테크윈 주식회사 Method for processing data by use of multi-threads on a web browser
KR20190122993A (en) * 2018-04-23 2019-10-31 주식회사 한글과컴퓨터 Client terminal apparatus that supports format conversion for storing web-based documents through a web editor installed in a browser and operating method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007042098A (en) * 2005-07-29 2007-02-15 Sharp Corp Content display method, content transmission method, image processing device, and remote computation device
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
KR20110002810A (en) * 2009-07-02 2011-01-10 삼성전자주식회사 Securely using service providers in elastic computing systems and environments

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007042098A (en) * 2005-07-29 2007-02-15 Sharp Corp Content display method, content transmission method, image processing device, and remote computation device
US20080268828A1 (en) * 2006-10-23 2008-10-30 Nagendra Nagaraja Device that determines whether to launch an application locally or remotely as a webapp
KR20100007907A (en) * 2007-04-25 2010-01-22 콸콤 인코포레이티드 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
KR20110002810A (en) * 2009-07-02 2011-01-10 삼성전자주식회사 Securely using service providers in elastic computing systems and environments

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190012742A (en) 2017-07-28 2019-02-11 한화테크윈 주식회사 Method for processing data by use of multi-threads on a web browser
KR20190122993A (en) * 2018-04-23 2019-10-31 주식회사 한글과컴퓨터 Client terminal apparatus that supports format conversion for storing web-based documents through a web editor installed in a browser and operating method thereof

Also Published As

Publication number Publication date
KR102185692B1 (en) 2020-12-02

Similar Documents

Publication Publication Date Title
US9621477B2 (en) System and method of offloading browser computations
US9536261B2 (en) Resolving conflicts within saved state data
KR102295663B1 (en) Method and apparatus for sharing an application
CN111417978A (en) Memory management in game rendering
US9389745B1 (en) Providing content via multiple display devices
RU2619181C2 (en) System and method for downloadable content transmission optimizing
US11589102B2 (en) Screen projection method and system
KR102232900B1 (en) System for cloud streaming service, method of cloud streaming service using optumal gpu and apparatus for the same
WO2017206396A1 (en) Video playing method and device
US9247290B2 (en) Seamless transition between display applications using direct device selection
US20160140092A1 (en) Content reproducing apparatus
JP2017519406A (en) Network video playback method and apparatus
US9253228B2 (en) Cloud computing method, computing apparatus and server using the same
CN106027631B (en) Data transmission method and device
EP3125541A1 (en) Data acquisition and interaction method, set top box, server and multimedia system
JP2013511761A (en) Rendering web pages with plug-in content
KR20140103038A (en) Terminal appratus, server, browser of terminal appratus operaing system and browser operaing method of terminal apparatus
US10523718B2 (en) Video playing method and device
KR20120126544A (en) System for providing Image authoring based on cloud computing, apparatus and method for providing image authoring thereof
KR20160084215A (en) Method for dynamic processing application for cloud streaming service and apparatus for the same
EP4274387A1 (en) Selecting entertainment lighting devices based on dynamicity of video content
KR102031810B1 (en) System and method for providing service menu based on application service, and apparatus applied to the same
US20170034232A1 (en) Caching streaming media to user devices
US20230244519A1 (en) Cloud Platform and Cloud Platform-Based Program Code Processing Method
KR20240052372A (en) Advertisement displaying method and electronic device performing the same

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