KR20230149235A - Method and apparatus for hybrid remote browser service - Google Patents

Method and apparatus for hybrid remote browser service Download PDF

Info

Publication number
KR20230149235A
KR20230149235A KR1020230047464A KR20230047464A KR20230149235A KR 20230149235 A KR20230149235 A KR 20230149235A KR 1020230047464 A KR1020230047464 A KR 1020230047464A KR 20230047464 A KR20230047464 A KR 20230047464A KR 20230149235 A KR20230149235 A KR 20230149235A
Authority
KR
South Korea
Prior art keywords
rendering
url
dome
script
screen
Prior art date
Application number
KR1020230047464A
Other languages
Korean (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 주식회사 에어코드
Publication of KR20230149235A publication Critical patent/KR20230149235A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

적어도 하나의 프로세서에 의해 동작하는 원격 브라우저 서버의 동작 방법으로서, 사용자 단말로부터 유알엘(URL, Uniform Resource Locator) 접속 요청을 수신하는 단계, 상기 유알엘로 접속하여 획득한 유알엘 접속 화면을 사전에 설정된 복수의 렌더링 방식 중에서 선택한 렌더링 방식으로 렌더링하는 단계, 그리고 렌더링한 유알엘 접속 화면을 상기 사용자 단말에게 스트리밍하는 단계를 포함한다. 이때, 렌더링하는 단계는, 상기 유알엘 접속 화면을 돔(DOM, Document Object Model) 렌더링(Rendering) 또는 이미지 렌더링(Image Rendering) 중 하나의 방식으로 렌더링할 수 있다.A method of operating a remote browser server operated by at least one processor, comprising: receiving a URL (Uniform Resource Locator) connection request from a user terminal; It includes rendering using a rendering method selected from rendering methods, and streaming the rendered URL connection screen to the user terminal. At this time, in the rendering step, the URL connection screen may be rendered using one of DOM (Document Object Model) rendering or image rendering.

Description

하이브리드 원격 브라우저 서비스 방법 및 그 장치{METHOD AND APPARATUS FOR HYBRID REMOTE BROWSER SERVICE}Hybrid remote browser service method and apparatus {METHOD AND APPARATUS FOR HYBRID REMOTE BROWSER SERVICE}

본 발명은 하이브리드 원격 브라우저 서비스 방법 및 그 장치에 관한 것으로서, 원격 브라우저 서비스를 위한 웹 페이지 렌더링 방식을 선택하는 방법 및 그 장치에 관한 것이다.The present invention relates to a hybrid remote browser service method and device, and to a method and device for selecting a web page rendering method for a remote browser service.

웹 기술이 발달함에 따라 다양한 어플리케이션이 웹 환경에서 구동되는 형태로 개발되고 있다. As web technology develops, various applications are being developed to run in a web environment.

또한, 클라우드 기술의 발달로 실제 필요한 데이터 및 어플리케이션이 보호된 보안망 내에만 존재하는 것이 아니라, 공용 인터넷망에 연결되어 제공되고 있다. In addition, with the development of cloud technology, actually necessary data and applications do not exist only within a protected security network, but are provided by being connected to a public Internet network.

따라서, 네트워크 엣지 내에 존재하는 단말과 네트워크를 보호하는 목적으로 개발된 전통적인 보안 솔루션이 효과적이지 않은 컴퓨터 환경이 도래하고 있다.Accordingly, a computer environment is emerging in which traditional security solutions developed for the purpose of protecting terminals and networks existing at the network edge are ineffective.

원격 브라우저 기술은 이러한 컴퓨터 환경에 대응하기 위해 제안되었다. Remote browser technology has been proposed to cope with this computer environment.

원격 브라우저 기술은 원격에서 웹 콘텐츠를 획득하고 일련의 프로세스 처리를 수행하고, 사용자 단말에서는 최종적인 렌더링과 사용자 인터페이스만 수행한다. Remote browser technology acquires web content remotely, performs a series of processes, and only performs final rendering and user interface on the user terminal.

원격 브라우저 기술은 유해할 수 있는 일련의 작업을 원격지에 존재하는 컨테이너(container)에서 수행하고 수행이 종료된 다음 컨테이너를 해체함으로써, 유해 요소를 사전에 제거하는 기술로 주목 받고 있다. Remote browser technology is attracting attention as a technology that removes harmful elements in advance by performing a series of potentially harmful tasks in a container located in a remote location and dismantling the container after the execution is completed.

그러나, 원격 브라우저 기술은 동작 중에 많은 컴퓨팅 자원을 요구하는 점, 재구성된 콘텐츠와 원 콘텐츠와 차이로 인해 사용자 경험이 달라질 수 있다는 점과 같은 약점이 존재하여 그 보급 확산이 기대만큼 빠르지 않다. However, remote browser technology has weaknesses such as requiring a lot of computing resources during operation and the user experience may vary due to differences between reconstructed content and the original content, so its spread is not as fast as expected.

일반적으로, 원격 브라우저에서 많이 사용하는 콘텐츠 재구성 방법은 이미지 렌더링 기술과 돔(Dom, Document Object Model) 렌더링 기술이 많이 사용되고 있다. In general, image rendering technology and Dom (Document Object Model) rendering technology are widely used as content reconstruction methods in remote browsers.

이미지 렌더링 기술은 원격 브라우저에서 원 콘텐츠를 렌더링한 결과를 정지 이미지 또는 동영상으로 처리하여 사용자 단말에게 전송하는 방식이다.Image rendering technology is a method of processing the results of rendering original content in a remote browser as a still image or video and transmitting it to the user terminal.

돔 렌더링 기술은 원 콘텐츠를 구성하는 요소에 대한 돔 특정 형태로 구성하여 단말에서 재구성하는 방식이다.Dome rendering technology is a method of organizing the elements that make up the original content into a specific dome shape and reconstructing it on the terminal.

이미지 렌더링 기술은 원 콘텐츠과 동일한 사용자 경험을 제공할 수 있고, 다양한 형태의 콘텐츠에 대한 정합 이슈가 적다는 장점이 있는 반면, 많은 컴퓨터 자원을 필요로 하고, 처리 속도가 느리다는 단점이 있다. While image rendering technology has the advantage of being able to provide the same user experience as the original content and having fewer matching issues for various types of content, it has the disadvantage of requiring a lot of computer resources and slow processing speed.

반면, 돔 렌더링 기술은 이미지 렌더링 기술에 비행 적은 컴퓨팅 자원을 사용하고 빠른 처리 속도를 보이는 반면 경우에 따라서 원 콘텐츠를 정확히 재구성하지 못해 많은 정합 작업을 거쳐야 한다는 단점이 존재한다.On the other hand, dome rendering technology uses less computing resources for image rendering technology and has fast processing speed, but in some cases, it has the disadvantage of not being able to accurately reconstruct the original content and requiring a lot of matching work.

이러한 기술들의 장단점을 모두 사용하기 위해 두 기술을 동시에 제공하는 시스템이 소개되고 있다. 하지만, 어떤 콘텐츠를 어떤 방식으로 렌더링할 것인가에 대해서는 사용자 혹은 관리자가 직접 지정하여야 하는 불편함이 존재한다.In order to utilize both the pros and cons of these technologies, systems that provide both technologies simultaneously are being introduced. However, there is an inconvenience in that the user or administrator must directly specify which content to render and in what method.

본 개시는, 원격 브라우저 서버에서 사용자 단말이 접속을 요청한 유알엘(URL, Uniform Resource Locator) 렌더링 방식을 사용자 개입 없이도 돔 렌더링 방식과 이미지 렌더링 방식 중에서 선택하고, 선택한 렌더링 방식으로 렌더링한 유알엘 접속 화면을 사용자 단말에게 전송하는 방법 및 그 장치를 제공하는 것이다.In the present disclosure, the URL (Uniform Resource Locator) rendering method requested by the user terminal for connection is selected from the dome rendering method and the image rendering method on a remote browser server without user intervention, and the URL connection screen rendered using the selected rendering method is displayed to the user. To provide a method and device for transmitting to a terminal.

한 특징에 따르면, 적어도 하나의 프로세서에 의해 동작하는 원격 브라우저 서버의 동작 방법으로서, 사용자 단말로부터 유알엘(URL, Uniform Resource Locator) 접속 요청을 수신하는 단계, 상기 유알엘로 접속하여 획득한 유알엘 접속 화면을 사전에 설정된 복수의 렌더링 방식 중에서 선택한 렌더링 방식으로 렌더링하는 단계, 그리고 렌더링한 유알엘 접속 화면을 상기 사용자 단말에게 스트리밍하는 단계를 포함한다.According to one feature, a method of operating a remote browser server operated by at least one processor, comprising the steps of receiving a URL (Uniform Resource Locator) connection request from a user terminal, and displaying a URL connection screen obtained by accessing the URL. It includes rendering using a rendering method selected from a plurality of preset rendering methods, and streaming the rendered URL connection screen to the user terminal.

상기 렌더링하는 단계는, 상기 유알엘 접속 화면을 돔(DOM, Document Object Model) 렌더링(Rendering) 또는 이미지 렌더링(Image Rendering) 중 하나의 방식으로 렌더링할 수 있다.In the rendering step, the URL connection screen may be rendered using one of DOM (Document Object Model) rendering or image rendering.

상기 렌더링하는 단계 이전에, 상기 유알엘 접속 화면의 스크립트 정보를 기 학습된 스크립트 적합성 판단 모델의 입력 데이터로 사용하여, 상기 스크립트 정보의 돔 렌더링 적합성 판단 여부를 결정하는 단계를 더 포함하고, 상기 렌더링하는 단계는, 상기 스크립트 적합성 판단 모델이 상기 스크립트 정보를 돔 렌더링 적합으로 판정한 경우, 상기 유알엘 접속 화면을 돔 렌더링 방식으로 렌더링하고, 상기 스크립트 적합성 판단 모델이 상기 스크립트 정보를 돔 렌더링 부적합으로 판정한 경우, 상기 유알엘 접속 화면을 이미지 렌더링 방식으로 렌더링할 수 있다.Before the rendering step, the step of determining whether the script information is suitable for dome rendering by using the script information of the URL access screen as input data of a pre-learned script suitability determination model, wherein the rendering In the step, if the script suitability determination model determines that the script information is suitable for dome rendering, the URL access screen is rendered using the dome rendering method, and if the script suitability determination model determines that the script information is unsuitable for dome rendering. , the URL connection screen can be rendered using an image rendering method.

상기 결정하는 단계 이후, 상기 스크립트 적합성 판단 모델이 상기 스크립트 정보를 판단 보류로 판정한 경우, 상기 유알엘 접속 화면을 이미지 렌더링한 화면과 상기 유알엘 접속 화면을 돔 렌더링한 화면을 비교하고, 비교 결과가 임계 조건을 충족하면 상기 스크립트 정보를 돔 렌더링 적합으로 판정하고, 상기 비교 결과가 상기 임계 조건을 충족하지 않으면 상기 스크립트 정보를 돔 렌더링 부적합으로 판정하는 단계를 더 포함할 수 있다.After the determining step, when the script suitability determination model determines that the script information is pending judgment, an image rendering screen of the URL access screen and a dome rendering screen of the URL access screen are compared, and the comparison result is critical. If a condition is met, the script information is determined to be suitable for dome rendering, and if the comparison result does not meet the threshold condition, the script information is determined to be unsuitable for dome rendering.

상기 판정하는 단계 이후, 돔 렌더링 적합 또는 돔 렌더링 부적합으로 라벨링한 상기 스크립트 정보를 추가 학습 데이터로 사용하여 상기 스크립트 적합성 판단 모델을 업데이트하는 단계를 더 포함할 수 있다.After the determining step, the method may further include updating the script suitability determination model by using the script information labeled as dome rendering suitable or dome rendering unsuitable as additional learning data.

상기 판정하는 단계는, 상기 돔 렌더링한 화면과 상기 이미지 렌더링한 화면의 차이값 또는 유사도를 기준값과 비교하여 상기 돔 렌더링 적합 유무를 판정할 수 있다.In the determining step, whether the dome rendering is suitable may be determined by comparing a difference value or similarity between the dome-rendered screen and the image-rendered screen with a reference value.

상기 결정하는 단계 이전에, 상기 유알엘 접속 화면의 부속 구성 요소 로딩이 가능한지 판단하는 단계를 더 포함하고, 상기 결정하는 단계는, 상기 유알엘 접속 화면의 부속 구성 요소 로딩이 가능한 경우에 수행될 수 있다.Prior to the determining step, the method may further include determining whether loading of subcomponents of the URL connection screen is possible, and the determining step may be performed when loading of subcomponents of the URL connection screen is possible.

상기 판단하는 단계 이전에, 상기 사용자 단말로부터 상기 사용자 단말의 웹 브라우저 버전 정보를 수신하고, 상기 웹 브라우저 버전 정보가 돔 렌더링을 지원하는 버전인지 확인하는 단계를 더 포함하고, 상기 판단하는 단계는, 상기 웹 브라우저 버전 정보가 돔 렌더링을 지원하는 버전으로 확인된 경우에 수행될 수 있다.Before the determining step, it further includes receiving web browser version information of the user terminal from the user terminal and checking whether the web browser version information is a version that supports dome rendering, and the determining step includes, This can be performed when the web browser version information is confirmed to be a version that supports dome rendering.

상기 확인하는 단계와 상기 판단하는 단계 사이에, 상기 사용자 단말이 접속을 요청한 유알엘의 돔 렌더링 적합성 판단 이력이 있는지 데이터베이스로부터 확인하는 단계를 더 포함하고, 상기 판단하는 단계는, 상기 유알엘의 돔 렌더링 적합성 판단 이력이 상기 데이터베이스로부터 조회되지 않는 경우에 수행될 수 있다.Between the checking step and the determining step, it further includes a step of checking from a database whether there is a history of determining the dome rendering suitability of the URL for which the user terminal has requested access, wherein the determining step includes determining the dome rendering suitability of the URL. This may be performed when the judgment history is not searched from the database.

상기 확인하는 단계 이후, 상기 유알엘의 돔 렌더링 적합성 판단 이력이 상기 데이터베이스로부터 조회되면, 상기 데이터베이스로부터 상기 유알엘에 매칭 등록된 렌더링 방식을 선택하는 단계를 더 포함하고, 상기 렌더링하는 단계는, 상기 선택한 렌더링 방식을 사용하여 유알엘 접속 화면을 렌더링할 수 있다.After the confirming step, when the dome rendering suitability determination history of the URL is searched from the database, it further includes the step of selecting a rendering method registered to match the URL from the database, wherein the rendering step includes the selected rendering. You can render the URL connection screen using this method.

상기 렌더링하는 단계는, 상기 사용자 단말의 웹 브라우저 버전이 돔 렌더링을 지원하지 않는 경우, 상기 유알엘 접속 화면의 부속 구성 요소 로딩에 실패하는 경우, 및 상기 유알엘 접속 화면의 스크립트 정보가 돔 렌더링 부적합으로 판정된 경우 중 적어도 하나의 경우에 해당하면, 상기 유알엘 접속 화면을 이미지 렌더링 방식으로 렌더링할 수 있다.The rendering step is performed when the web browser version of the user terminal does not support dome rendering, when loading of the subsidiary components of the URL access screen fails, and when the script information of the URL access screen is determined to be unsuitable for dome rendering. If at least one of the above cases applies, the URL connection screen can be rendered using an image rendering method.

다른 특징에 따르면, 원격 브라우저 서버는 사용자 단말로부터 유알엘(URL, Uniform Resource Locator) 접속 요청을 수신하고, 유알엘 접속 화면을 돔(DOM, Document Object Model) 렌더링(Rendering) 할지 또는 이미지 렌더링(Image Rendering) 할지 결정하는 원격 브라우저 제어부, 상기 원격 브라우저 제어부의 결정에 따라 상기 유알엘 접속 화면을 돔 렌더링하고, 돔 렌더링한 유알엘 접속 화면을 상기 사용자 단말에게 스트리밍 전송하는 돔 렌더링부, 그리고 상기 원격 브라우저 제어부의 결정에 따라 상기 유알엘 접속 화면을 이미지 렌더링하고, 이미지 렌더링한 유알엘 접속 화면을 상기 사용자 단말에게 스트리밍 전송하는 이미지 렌더링부를 포함한다.According to another feature, the remote browser server receives a URL (Uniform Resource Locator) connection request from the user terminal, and performs DOM (Document Object Model) rendering or image rendering of the URL connection screen. a remote browser control unit that determines whether to do so, a dome rendering unit that dome renders the URL access screen according to the decision of the remote browser control unit, and transmits streaming the dome-rendered URL access screen to the user terminal, and a decision of the remote browser control unit. and an image rendering unit that renders the image of the URL connection screen and transmits the image-rendered URL connection screen to the user terminal.

상기 원격 브라우저 제어부는, 상기 사용자 단말에서 실행된 웹 브라우저 버전이 돔 렌더링을 지원하고, 상기 유알엘 접속 화면의 부속 구성 요소 로딩이 가능하며, 상기 유알엘 접속 화면의 스트립트 정보가 돔 렌더링에 적합하다고 판단되는 경우에, 상기 돔 렌더링부를 동작시킬 수 있다.The remote browser control unit determines that the web browser version running on the user terminal supports dome rendering, is capable of loading subcomponents of the URL connection screen, and that script information of the URL connection screen is suitable for dome rendering. In this case, the dome rendering unit can be operated.

상기 원격 브라우저 서버는 유알엘 접속 화면의 렌더링 방식을 매핑한 유알엘 접속 이력을 생성하여 유알엘 접속 이력 DB에 저장하는 유알엘 접속 이력 관리부, 그리고 상기 유알엘 접속 이력 DB에 상기 사용자 단말에서 접속 요청된 유알엘이 등록되어 있는지 확인하는 유알엘 접속 이력 확인부를 더 포함하고, 상기 원격 브라우저 제어부는, 상기 유알엘이 등록되어 있으면, 상기 유알엘에 등록된 렌더링 방식에 따라 상기 돔 렌더링부 또는 상기 이미지 렌더링부를 선택적으로 동작시킬 수 있다.The remote browser server includes a URL connection history management unit that generates a URL connection history mapping the rendering method of the URL connection screen and stores it in the URL access history DB, and the URL requested for connection from the user terminal is registered in the URL access history DB. It further includes a URL connection history checker that checks whether the URL is registered, and if the URL is registered, the remote browser control unit can selectively operate the dome rendering unit or the image rendering unit according to a rendering method registered in the URL.

상기 사용자 단말에게 웹 브라우저 버전을 요청하여 수신하고, 수신한 웹 브라우저 버전이 돔 렌더링을 지원하는 버전인지 확인하고, 확인 결과를 상기 원격 브라우저 제어부에게 출력하는 브라우저 버전 확인부를 더 포함할 수 있다.It may further include a browser version confirmation unit that requests and receives a web browser version from the user terminal, checks whether the received web browser version supports dome rendering, and outputs the confirmation result to the remote browser control unit.

상기 원격 브라우저 서버는 유알엘 접속 화면의 부속 구성 요소의 로딩을 시도하여 상기 부속 구성 요소의 정상적인 로딩이 이루어지는지 확인하고, 확인 결과를 상기 원격 브라우저 제어부에게 출력하는 부속 구성 요소 로딩 확인부를 더 포함할 수 있다.The remote browser server may further include an auxiliary component loading confirmation unit that attempts to load the auxiliary components of the URL connection screen, checks whether the auxiliary components are loaded normally, and outputs the confirmation result to the remote browser control unit. there is.

상기 원격 브라우저 서버는 다양한 스크립트 정보를 학습 데이터로 사용하여, 입력 데이터로부터 돔 렌더링 정보의 적합성 여부를 판단하도록 스크립트 적합성 판단 모델을 학습시키는 스크립트 적합성 판단 모델 학습부, 그리고 유알엘 접속 화면의 스크립트 정보를 상기 스크립트 적합성 판단 모델의 입력 데이터로 사용하여 상기 유알엘 접속 화면의 스크립트 정보가 돔 렌더링에 적합한지 판단하고, 판단 결과를 상기 원격 브라우저 제어부에게 출력하는 스크립트 적합성 판단부를 더 포함할 수 있다.The remote browser server uses various script information as learning data, a script suitability judgment model learning unit that trains a script suitability judgment model to determine the suitability of dome rendering information from input data, and the script information on the URL connection screen. It may further include a script suitability determination unit that determines whether the script information of the URL connection screen is suitable for dome rendering by using it as input data of the script suitability determination model, and outputs the determination result to the remote browser control unit.

상기 스크립트 적합성 판단부는, 상기 스크립트 적합성 판단 모델이 상기 입력 데이터인 스크립트 정보를 판단 보류로 판정한 경우, 상기 유알엘 접속 화면을 이미지 렌더링한 화면과 상기 유알엘 접속 화면을 돔 렌더링한 화면을 비교하여, 비교 결과가 임계 조건을 충족하면 상기 스크립트 정보를 돔 렌더링 적합으로 판정하고, 상기 비교 결과가 상기 임계 조건을 충족하지 않으면 상기 스크립트 정보를 돔 렌더링 부적합으로 판정하며, 상기 스크립트 적합성 판단 모델 학습부는, 상기 비교 결과를 토대로 판정한 정보를 스크립트 정보에 라벨링한 학습 데이터를 추가로 사용하여 상기 스크립트 적합성 판단 모델을 업데이트 할 수 있다.When the script suitability determination model determines that the script information, which is the input data, is pending judgment, the script suitability determination unit compares an image rendering screen of the URL connection screen with a dome rendering screen of the URL connection screen, and compares the screen. If the result satisfies the threshold condition, the script information is determined to be suitable for dome rendering. If the comparison result does not meet the threshold condition, the script information is determined to be unsuitable for dome rendering. The script suitability determination model learning unit determines the comparison. The script suitability judgment model can be updated by additionally using learning data labeling script information with information determined based on the results.

컴퓨팅 장치는 사용자 단말과 연결되어 통신하는 통신 장치, 상기 사용자 단말에게 원격 브라우저 서비스를 제공하는 프로그램이 저장된 메모리, 그리고 상기 프로그램을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 프로그램은, 상기 사용자 단말로부터 유알엘(URL, Uniform Resource Locator) 접속 요청을 수신하고, 상기 유알엘 접속 요청을 전송한 상기 사용자 단말의 웹 브라우저 버전이 돔(DOM, Document Object Model) 렌더링(Rendering)을 지원하면, 유알엘 접속 화면의 부속 구성 요소 로딩이 가능한지 확인하여 가능하면, 상기 유알엘 접속 화면의 스크립트 정보를 기 학습된 스크립트 적합성 판단 모델의 입력 데이터로 사용하여 상기 스크립트 정보의 돔 렌더링 적합성 여부를 판단하고, 판단 결과 돔 렌더링 적합하다고 판단되면, 상기 유알엘 접속 화면을 돔 렌더링하고, 돔 렌더링 부적합하다고 판단되면, 상기 유알엘 접속 화면을 이미지 렌더링하며, 돔 렌더링 또는 이미지 렌더링이 수행된 유알엘 접속 화면을 상기 사용자 단말에게 스트리밍 전송하는 명령어들(Instructions)을 포함한다.The computing device includes a communication device that is connected to and communicates with a user terminal, a memory storing a program that provides a remote browser service to the user terminal, and at least one processor that executes the program, and the program is transmitted from the user terminal. When a URL (Uniform Resource Locator) connection request is received and the web browser version of the user terminal that sent the URL connection request supports DOM (Document Object Model) rendering, the URL connection screen is attached. Check whether component loading is possible, and if possible, use the script information on the URL connection screen as input data for a pre-learned script suitability judgment model to determine whether the script information is suitable for dome rendering, and determine that dome rendering is suitable as a result of the judgment. Instructions for dome rendering the URL access screen, rendering the URL connection screen as an image if it is determined to be unsuitable for dome rendering, and streaming the URL connection screen on which dome rendering or image rendering has been performed to the user terminal (Instructions) ) includes.

상기 프로그램은, 상기 스크립트 적합성 판단 모델이 상기 스크립트 정보를 판단 보류로 판정하면, 상기 유알엘 접속 화면을 이미지 렌더링한 화면과 상기 유알엘 접속 화면을 돔 렌더링한 화면을 비교하고, 비교 결과가 임계 조건을 충족하면 상기 스크립트 정보를 돔 렌더링 적합으로 판정하고, 상기 비교 결과가 상기 임계 조건을 충족하지 않으면 상기 스크립트 정보를 돔 렌더링 부적합으로 판정하며, 돔 렌더링 적합 또는 돔 렌더링 부적합을 라벨링한 상기 스크립트 정보를 추가 학습 데이터로 사용하여 상기 스크립트 적합성 판단 모델을 업데이트하는 명령어들을 포함할 수 있다.When the script suitability determination model determines that the script information is pending judgment, the program compares an image rendering screen of the URL access screen with a dome rendering screen of the URL access screen, and the comparison result satisfies a threshold condition. If so, the script information is determined to be suitable for dome rendering, and if the comparison result does not meet the threshold condition, the script information is determined to be unsuitable for dome rendering, and the script information labeled as dome rendering suitable or dome rendering unsuitable is additionally learned. It may include commands that update the script suitability determination model using data.

본 개시에 따르면, 서버 측에서 자동적으로 유알엘 접속 화면에 대한 적합한 렌더링 방식을 사용자 개입 없이도 판단하고, 적합한 렌더링 방식으로 렌더링한 화면을 제공함으로써, 맞지 않는 렌더링으로 인한 콘텐츠 깨짐 등과 같은 유알엘 접속 화면 오류 현상을 방지할 수 있다.According to the present disclosure, the server side automatically determines the appropriate rendering method for the URL access screen without user intervention and provides a screen rendered using the appropriate rendering method, thereby causing errors in the URL access screen, such as content being broken due to inappropriate rendering. can be prevented.

도 1은 한 실시예에 따른 웹 브라우저 서비스 시스템의 구성도이다.
도 2는 한 실시예에 따른 웹 브라우저 서비스 절차를 나타낸 흐름도이다.
도 3은 한 실시예에 따른 원격 브라우저 서버의 구성을 나타낸 블록도이다.
도 4는 한 실시예에 따른 원격 브라우저 서버가 렌더링 방식을 선택하여 원격 브라우저 서비스를 제공하는 절차를 설명하는 순서도이다.
도 5는 한 실시예에 따른 원격 브라우저 서버가 유알엘 스크립트의 돔 렌더링 적합성을 확인하는 절차를 설명하는 순서도이다.
도 6은 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성을 나타낸 블록도이다.
1 is a configuration diagram of a web browser service system according to an embodiment.
Figure 2 is a flowchart showing a web browser service procedure according to an embodiment.
Figure 3 is a block diagram showing the configuration of a remote browser server according to an embodiment.
Figure 4 is a flowchart illustrating a procedure in which a remote browser server selects a rendering method and provides a remote browser service according to an embodiment.
FIG. 5 is a flowchart illustrating a procedure in which a remote browser server confirms the suitability of a URL script for dome rendering according to an embodiment.
Figure 6 is a block diagram showing the hardware configuration of a computing device according to one embodiment.

아래에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Below, with reference to the attached drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily practice them. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein. In order to clearly explain the present disclosure in the drawings, parts that are not related to the description are omitted, and similar parts are given similar reference numerals throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is said to “include” a certain element, this means that it may further include other elements rather than excluding other elements, unless specifically stated to the contrary.

또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, terms such as “…unit”, “…unit”, and “…module” used in the specification refer to a unit that processes at least one function or operation, which may be implemented through hardware or software or a combination of hardware and software. You can.

본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.The devices described in the present invention are composed of hardware including at least one processor, a memory device, a communication device, etc., and a program that is executed in conjunction with the hardware is stored in a designated location. The hardware has a configuration and performance capable of executing the method of the present invention. The program includes instructions that implement the operating method of the present invention described with reference to the drawings, and executes the present invention by combining it with hardware such as a processor and memory device.

본 명세서에서 "전송 또는 제공"은 직접적인 전송 또는 제공하는 것뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.In this specification, “transmission or provision” may include not only direct transmission or provision, but also indirect transmission or provision through another device or using a circuitous route.

본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.In this specification, expressions described as singular may be interpreted as singular or plural, unless explicit expressions such as “one” or “single” are used.

본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.In this specification, the same reference numbers refer to the same elements regardless of the drawings, and “and/or” includes each and all combinations of one or more of the mentioned elements.

본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.In this specification, terms including ordinal numbers, such as first, second, etc., may be used to describe various components, but the components are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, a first component may be referred to as a second component, and similarly, the second component may be referred to as a first component without departing from the scope of the present disclosure.

본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.In the flowcharts described herein with reference to the drawings, the order of operations may be changed, several operations may be merged, certain operations may be divided, and certain operations may not be performed.

본 개시의 장치는 적어도 하나의 프로세서가 명령어들(instructions)을 실행함으로써, 본 개시의 동작을 수행할 수 있도록 구성 및 연결된 컴퓨팅 장치이다. 컴퓨터 프로그램은 프로세서가 본 개시의 동작을 실행하도록 기술된 명령어들(instructions)을 포함하고, 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장될 수 있다. 컴퓨터 프로그램은 네트워크를 통해 다운로드 되거나, 제품 형태로 판매될 수 있다.The device of the present disclosure is a computing device configured and connected so that at least one processor can perform the operations of the present disclosure by executing instructions. The computer program includes instructions that enable a processor to execute the operations of the present disclosure, and may be stored in a non-transitory computer readable storage medium. Computer programs can be downloaded over the network or sold as products.

도 1은 한 실시예에 따른 웹 브라우저 서비스 시스템의 구성도이다.1 is a configuration diagram of a web browser service system according to an embodiment.

도 1을 참조하면, 웹 브라우저 서비스 시스템은 원격 브라우저 서버(100) 및 사용자 단말(200)을 포함한다.Referring to FIG. 1, the web browser service system includes a remote browser server 100 and a user terminal 200.

원격 브라우저 서버(100)와 사용자 단말(200)은 네트워크(300)를 통해 연결되어 통신한다. 네트워크(300)는 유선 통신망, 이동통신망, 무선망 및 이들의 조합으로 이루어질 수 있다. 예를 들면, 유선 통신망은 IP(Internet Protocol) 기반의 유선망을 포함한다. 이동통신망은 5G망, LTE(Long term evolution)망, WCDMA(wideband code division multiple access)망 등을 포함한다. 무선망은 Wi-Fi 망과 같은 다양한 종류의 무선망을 포함한다. 그러나, 네트워크(300)는 전술한 바와 같은 이미 구축된 망 뿐만 아니라 앞으로 개발된 망을 모두 포함할 수 있으므로, 특정 기술로 국한되지 아니한다.The remote browser server 100 and the user terminal 200 are connected and communicate through the network 300. The network 300 may be comprised of a wired communication network, a mobile communication network, a wireless network, or a combination thereof. For example, a wired communication network includes a wired network based on IP (Internet Protocol). Mobile communication networks include 5G networks, LTE (Long term evolution) networks, and WCDMA (wideband code division multiple access) networks. Wireless networks include various types of wireless networks such as Wi-Fi networks. However, the network 300 may include both networks that have already been established as described above as well as networks that are developed in the future, and is therefore not limited to a specific technology.

원격 브라우저 서버(100)는 사용자 단말(200)에게 원격 브라우저 서비스를 제공한다. 원격 브라우저 서비스는 원격 브라우저 서버(100)가 사용자 단말(200)을 대신하여, 유알엘(URL, Uniform Resource Locator)에 접속한 뒤, 그 일련의 과정이 마치 사용자 단말(200)에서 진행되고 있는 것과 같은 사용자 경험(UX, User experience)을 제공하는 서비스이다.The remote browser server 100 provides a remote browser service to the user terminal 200. In the remote browser service, the remote browser server 100 connects to a Uniform Resource Locator (URL) on behalf of the user terminal 200, and then a series of processes are performed as if they were taking place in the user terminal 200. It is a service that provides user experience (UX).

원격 브라우저 서버(100)는 사용자 단말(200)의 웹 브라우저가 접속을 요청한 유알엘로 접속하여 렌더링한 유알엘 접속 화면을 사용자 단말(200)에게 스트리밍 전송한다. 원격 브라우저 서버(100)는 사용자 단말(200)로부터 유알엘 접속 화면에 대한 피드백 정보를 수신하고, 피드백 정보를 적용한 웹 페이지를 다시 사용자 단말(200)에게 스트리밍 전송할 수 있다.The remote browser server 100 connects to the URL requested by the web browser of the user terminal 200 and transmits the rendered URL connection screen to the user terminal 200 by streaming. The remote browser server 100 may receive feedback information about the URL connection screen from the user terminal 200 and transmit a web page to which the feedback information is applied by streaming back to the user terminal 200.

이때, 원격 브라우저 서버(100)에서 실행되는 웹 브라우저는 원격 브라우저로 호칭하고, 사용자 단말(200)에서 실행되는 웹 브라우저는 로컬 브라우저로 호칭한다.At this time, the web browser running on the remote browser server 100 is called a remote browser, and the web browser running on the user terminal 200 is called a local browser.

원격 브라우저 서버(100)는 유알엘 접속 화면을 로컬 브라우저(201)와 실질적으로 동일한 UX를 제공할 수 있도록 렌더링한 뒤, 스트리밍할 수 있다. The remote browser server 100 can render the URL connection screen to provide substantially the same UX as the local browser 201 and then stream it.

사용자 단말(200)의 라이트(Light) 클라이언트(Client) 모듈(202)은 원격 브라우저 서버(100)에서 렌더링한 유알엘 접속 화면을 스트리밍하여 웹 페이지 표시 창을 표시할 수 있다.The light client module 202 of the user terminal 200 may stream the URL connection screen rendered by the remote browser server 100 and display a web page display window.

유알엘 접속 화면은 웹 페이지로서, HTML(Hypertext Markup Language, 하이퍼텍스트 마크업 언어) 문서일 수 있다.The URL access screen is a web page and may be an HTML (Hypertext Markup Language) document.

사용자 단말(200)은 사용자가 선택한 유알엘을 원격 브라우저 서버(100)에게 전송한다. 사용자 단말(200)은 원격 브라우저 서버(100)로부터 스트리밍 되는 유알엘 접속 화면을 수신하여 출력한다. 따라서, 사용자는 실제로 유알엘이 사용자 단말(200)을 통해서 실행된 것과 같은 경험을 할 수 있다.The user terminal 200 transmits the URL selected by the user to the remote browser server 100. The user terminal 200 receives and outputs the URL connection screen streamed from the remote browser server 100. Accordingly, the user can experience the same experience as if the URL was actually executed through the user terminal 200.

사용자 단말(200)은 사용자가 소지한 휴대 가능한 다양한 종류의 디바이스일 수 있다. 예를 들어, 사용자 단말(200)은 스마트 폰, PC, 태블릿 PC 등을 포함할 수 있다. The user terminal 200 may be various types of portable devices carried by the user. For example, the user terminal 200 may include a smart phone, PC, tablet PC, etc.

원격 브라우저 서버(100)는 유알엘 접속 화면을 돔(DOM, Document Object Model) 렌더링(Rendering) 또는 이미지 렌더링(Image Rendering) 할 수 있다.The remote browser server 100 may perform Document Object Model (DOM) rendering or image rendering of the URL connection screen.

DOM은 웹 페이지를 이루는 태그들을 자바-스크립트가 이용할 수 있게끔 웹 브라우저가 트리 구조로 만든 객체 모델을 의미한다. DOM은 문서 객체 모델로서, 문서 객체란 html, head, body와 같은 태그들을 자바-스크립트(java-script)가 이용할 수 있는 메모리에 보관할 수 있는 객체를 의미한다.DOM refers to an object model created by a web browser in a tree structure so that Javascript can use the tags that make up a web page. DOM is a document object model, and a document object refers to an object that can store tags such as html, head, and body in memory that can be used by Java-script.

돔 렌더링은 이미지 렌더링에 비해 컴퓨터 자원 사용량이 현저히 낮으므로 효율성을 위해 원격 브라우저 서버(100)는 돔 렌더링을 기본으로 하고, 돔 렌더링에 실패하거나 실패가 예상될 경우, 이미지 렌더링을 수행한다.Dome rendering uses significantly lower computer resources than image rendering, so for efficiency, the remote browser server 100 uses dome rendering as the default, and performs image rendering when dome rendering fails or is expected to fail.

돔 렌더링에 실패하는 경우는 세가지 경우가 있다. There are three cases where dome rendering fails.

먼저, 첫번째 경우는 버전이 낮은 웹 브라우저를 사용하는 경우이다. 돔 렌더링을 하기 위해서는 최신의 웹 브라우저 환경이 필요하다. 출시된 지 오래된 웹 브라우저는 돔 렌더링을 통해 재구성된 콘텐츠를 제대로 표현할 수 없다. First of all, the first case is when using a web browser with a lower version. Dome rendering requires the latest web browser environment. Older web browsers cannot properly display content reconstructed through dome rendering.

두번째 경우는 부속 구성 요소의 로드 실패이다. HTML 문서가 정상적인 콘텐츠로 표현되기 위해서는 이미지, 스타일 시트 등과 같은 다양한 부속 구성 요소를 호출하여 메모리 상에서 구성할 수 있어야 한다. 일반적으로 부속 구성 요소를 호출하는 경우, 보안 상의 이유 등으로 인해 웹 브라우저에서 정상적으로 파악할 수 없는 형태로 부속 구성 요소 호출이 발생하는 경우가 있다. 이러한 경우, 콘텐츠 재구성에 실패하는 경우가 있으며, 특히, 스타일 시트 등과 같은 부속 구성 요소 로드에 실패하는 경우, 웹 문서를 구성하는 콘텐츠가 완전히 깨어진 상태가 될 수 있다. The second case is a failure to load a subcomponent. In order for an HTML document to be expressed as normal content, it must be able to construct it in memory by calling various subcomponents such as images, style sheets, etc. In general, when calling a subcomponent, the subcomponent call may occur in a form that the web browser cannot normally understand due to security reasons, etc. In this case, content reconstruction may fail, and in particular, if loading of subsidiary components such as style sheets fails, the content constituting the web document may be completely broken.

세번째 경우는 유알엘 문서 스크립트의 돔 렌더링 적합성이다. The third case is the Dome rendering suitability of the URL document script.

현재의 웹 표준은 ECMA 스크립트를 포함하고 있으며, 자바 스크립트가 ECMA 스크립트를 구현하는 대표적인 언어이다. 다른 웹 표준이 엄격성보다는 유연성이 강조되듯이 스크립트도 매우 유연한 표준이다. 따라서, 일반적인 웹 브라우저 환경에서 정상적으로 동작하는 스크립트도 돔 렌더링을 통해 재구성될 때 원하지 않는 결과를 도출하는 경우가 있다. 이러한 경우에는 돔 렌더링이 불가능하다. Current web standards include ECMA script, and JavaScript is a representative language that implements ECMA script. Just as other web standards emphasize flexibility rather than rigidity, Script is also a very flexible standard. Therefore, even scripts that operate normally in a general web browser environment may produce unwanted results when reorganized through DOM rendering. In this case, dome rendering is not possible.

유알엘 접속 화면을 구성하는 콘텐츠를 돔 렌더링으로 재구성하기에 적합한지는 전술한 세가지 경우를 확인해야한다. 이를 위하여, 원격 브라우저 서버(100)는 사용자 단말(200)로부터 유알엘 접속 요청 수신시, 사용자 단말(200)의 로컬 브라우저 버전을 확인하여 돔 렌더링이 가능한 버전인지를 판단할 수 있다.The three cases mentioned above must be checked to see whether the contents that make up the URL connection screen are suitable for reconfiguring with dome rendering. To this end, when receiving a URL connection request from the user terminal 200, the remote browser server 100 may check the local browser version of the user terminal 200 and determine whether the version is capable of dome rendering.

원격 브라우저 서버(100)는 유알엘 접속 화면의 부속 구성 요소의 로딩을 시도하여 로딩이 정상적으로 이루어지는지 판단할 수 있다.The remote browser server 100 may attempt to load the subsidiary components of the URL connection screen and determine whether the loading is performed normally.

스크립트를 작성하는 방법은 매우 다양한 조합이 가능하므로 유알엘 문서 스크립트의 돔 렌더링 적합성을 판단하는 기준을 사전에 획득하는 것은 용이하지 않다. 스크립트를 작성하는 방법은 스크립트를 개발한 개발자에 따라 매우 다양하나 대체로 샘플 코드를 다양한 방법으로 재조합 하여 사용하는 경우가 많다. Because there are so many different combinations of script writing methods, it is not easy to obtain criteria in advance to judge the suitability of a URL document script for dome rendering. The method of writing a script varies greatly depending on the developer who developed the script, but in most cases, sample code is used by recombining it in various ways.

그러므로, 원격 브라우저 서버(100)는 다양한 스크립트 정보를 학습 데이터로 사용하여 입력 데이터인 유알엘 접속 화면의 스크립트 정보로부터 돔 렌더링 적합성을 판단하도록 스크립트 적합성 판단 모델을 훈련할 수 있다. 이러한 스크립트 적합성 판단 모델의 훈련은 자연어 처리에 비해 비교적 용이한 결과를 제공할 수 있다.Therefore, the remote browser server 100 can use various script information as learning data to train a script suitability determination model to determine dome rendering suitability from script information of the URL connection screen, which is input data. Training of such a script suitability judgment model can provide relatively easy results compared to natural language processing.

스크립트 적합성 판단 모델은 인공지능(Artificial Intelligence, AI) 모델로 구현될 수 있다. The script suitability judgment model can be implemented as an artificial intelligence (AI) model.

원격 브라우저 서버(100)는 학습된 스크립트 적합성 판단 모델을 이용하여, 유알엘 접속 화면의 스크립트가 돔 렌더링에 적합한지 판단할 수 있다. The remote browser server 100 may use the learned script suitability determination model to determine whether the script on the URL connection screen is suitable for dome rendering.

이와 같이, 원격 브라우저 서버(100)는 돔 렌더링을 기본으로 하되 돔 렌더링에 적용할 수 없을 경우, 즉, 돔 렌더링에 실패하거나 또는 실패가 예상되는 경우, 이미지 렌더링을 수행함으로써, 이미지 렌더링과 돔 렌더링을 선택적으로 적용하는 하이브리드 원격 브라우저 서비스를 제공할 수 있다.In this way, the remote browser server 100 uses dome rendering as the basis, but when it cannot be applied to dome rendering, that is, when dome rendering fails or is expected to fail, image rendering is performed, thereby performing image rendering and dome rendering. A hybrid remote browser service that selectively applies can be provided.

도 2는 한 실시예에 따른 웹 브라우저 서비스 절차를 나타낸 흐름도로서, 도 1의 원격 브라우저 서버(100)와 사용자 단말(200) 간의 연동 동작을 설명한다.FIG. 2 is a flowchart showing a web browser service procedure according to an embodiment, and explains the interworking operation between the remote browser server 100 and the user terminal 200 of FIG. 1.

도 2를 참조하면, 사용자 단말(200)이 로컬 브라우저(201)를 구동(S101)하여 사용자가 선택한 유알엘 링크를 클릭하는 사용자 입력 신호가 발생(S102)하면, 유알엘 접속 요청을 원격 브라우저 서버(100)에게 전송한다(S103).Referring to FIG. 2, when the user terminal 200 runs the local browser 201 (S101) and generates a user input signal for clicking the URL link selected by the user (S102), the URL connection request is sent to the remote browser server 100. ) (S103).

원격 브라우저 서버(100)는 유알엘 접속 화면의 렌더링 방식을 선택한다(S104). The remote browser server 100 selects a rendering method for the URL connection screen (S104).

원격 브라우저 서버(100)는 선택한 렌더링 방식으로 유알엘 접속 화면을 렌더링(S105)하고, 렌더링한 유알엘 접속 화면을 사용자 단말(200)에게 스트리밍 전송한다(S106). The remote browser server 100 renders the URL connection screen using the selected rendering method (S105) and transmits the rendered URL connection screen to the user terminal 200 by streaming (S106).

사용자 단말(200)은 라이트 클라이언트 모듈(202)을 실행하여 유알엘 접속 화면을 로컬 브라우저(201)에 출력한다(S107). 이처럼, 사용자 단말(200)은 원격 브라우저 서비스를 통해, 로컬 브라우저(201)에서 직접 유알엘로 접속하여 렌더링한 유알엘 접속 화면과 동일한 형태의 화면, 즉, 원 콘텐츠와 동일한 형태의 화면을 출력(S107)할 수 있다.The user terminal 200 executes the light client module 202 and outputs the URL connection screen to the local browser 201 (S107). In this way, the user terminal 200 connects directly to URL from the local browser 201 through the remote browser service and outputs a screen in the same form as the URL connection screen rendered, that is, a screen in the same form as the original content (S107) can do.

원격 브라우저 서버(100)는 사용자 단말(200)로부터 요청 받은 유알엘로 접속한 화면을 렌더링하고, 렌더링한 웹 페이지를 사용자 단말에게 스트리밍한다. The remote browser server 100 renders a screen connected to URL requested from the user terminal 200 and streams the rendered web page to the user terminal.

이때, 렌더링 방식은 돔 렌더링 또는 이미지 렌더링 중에서 채택될 수 있다.At this time, the rendering method may be selected from dome rendering or image rendering.

이하, 본 발명의 실시예에서는 원격 브라우저 서버(100)가 사용자 단말(200)이 요청한 유알엘에 적용할 렌더링 방식을 선택하는 구성에 대해 구체적으로 설명한다.Hereinafter, in an embodiment of the present invention, a configuration in which the remote browser server 100 selects a rendering method to be applied to the URL requested by the user terminal 200 will be described in detail.

도 3은 한 실시예에 따른 원격 브라우저 서버의 구성을 나타낸 블록도로서, 도 1 및 도 2의 원격 브라우저 서버(100)의 세부적인 구성 요소를 나타낸다.FIG. 3 is a block diagram showing the configuration of a remote browser server according to an embodiment, and shows detailed components of the remote browser server 100 of FIGS. 1 and 2.

도 3을 참조하면, 원격 브라우저 서버(100)는 원격 브라우저 제어부(101), 브라우저 버전 확인부(102), 유알엘 접속 이력 확인부(103), 유알엘 접속 이력 관리부(104), 유알엘 접속 이력 DB(105), 부속 구성 요소 로딩 확인부(106), 스크립트 적합성 판단 모델 학습부(107), 스크립트 적합성 판단부(108), 돔 렌더링부(109), 이미지 렌더링부(110)를 포함할 수 있다.Referring to FIG. 3, the remote browser server 100 includes a remote browser control unit 101, a browser version confirmation unit 102, a URL connection history confirmation unit 103, a URL connection history management unit 104, and a URL connection history DB ( 105), an attached component loading confirmation unit 106, a script suitability determination model learning unit 107, a script suitability determination unit 108, a dome rendering unit 109, and an image rendering unit 110.

원격 브라우저 제어부(101)는 브라우저 버전 확인부(102), 유알엘 접속 이력 확인부(103), 유알엘 접속 이력 관리부(104), 유알엘 접속 이력 DB(105), 부속 구성 요소 로딩 확인부(106), 스크립트 적합성 판단 모델 학습부(107), 스크립트 적합성 판단부(108), 돔 렌더링부(109), 이미지 렌더링부(110)와 연동하여, 원격 브라우저 서버(100)의 전체적인 동작을 제어한다.The remote browser control unit 101 includes a browser version confirmation unit 102, a URL access history confirmation unit 103, a URL connection history management unit 104, a URL access history DB 105, an attached component loading confirmation unit 106, It controls the overall operation of the remote browser server 100 in conjunction with the script suitability determination model learning unit 107, script suitability determination unit 108, dome rendering unit 109, and image rendering unit 110.

원격 브라우저 제어부(101)는 사용자 단말(200)로부터 유알엘 접속 요청이 수신되면, 브라우저 버전 확인부(102)에게 유알엘 접속 요청 수신을 통보한다. When a URL connection request is received from the user terminal 200, the remote browser control unit 101 notifies the browser version confirmation unit 102 of receipt of the URL connection request.

브라우저 버전 확인부(102)는 원격 브라우저 제어부(101)에게 로컬 브라우저 버전 정보를 요청한다. 원격 브라우저 제어부(101)는 사용자 단말(200)에게 로컬 브라우저 버전 정보를 요청하여 수신한다. 원격 브라우저 제어부(101)는 사용자 단말(200)로부터 수신한 로컬 브라우저 버전 정보를 브라우저 버전 확인부(102)에게 출력한다.The browser version confirmation unit 102 requests local browser version information from the remote browser control unit 101. The remote browser control unit 101 requests and receives local browser version information from the user terminal 200. The remote browser control unit 101 outputs the local browser version information received from the user terminal 200 to the browser version confirmation unit 102.

브라우저 버전 확인부(102)는 사용자 단말(200)의 로컬 브라우저 버전이 등록된 최신 버전과 동일하면, 돔 렌더링 가능하다는 결과를 원격 브라우저 제어부(101)에게 리턴 한다. 브라우저 버전 확인부(102)는 사용자 단말(200)의 로컬 브라우저 버전이 등록된 최신 버전과 다르면, 돔 렌더링이 불가하다는 결과를 원격 브라우저 제어부(101)에게 리턴 한다. If the local browser version of the user terminal 200 is the same as the latest registered version, the browser version confirmation unit 102 returns a result to the remote browser control unit 101 indicating that dome rendering is possible. If the local browser version of the user terminal 200 is different from the latest registered version, the browser version confirmation unit 102 returns a result to the remote browser control unit 101 that dome rendering is not possible.

원격 브라우저 제어부(101)는 사용자 단말(200)로부터 수신한 유알엘을 유알엘 접속 이력 확인부(103)에게 전달하여 유알엘 접속 이력 확인을 요청한다. The remote browser control unit 101 transmits the URL received from the user terminal 200 to the URL connection history confirmation unit 103 to request confirmation of the URL connection history.

유알엘 접속 이력 확인부(103)는 유알엘 접속 이력 DB(105)를 조회하여, 사용자 단말(200)로부터 수신한 유알엘이 등록되어 있는지 확인한다. The URL connection history confirmation unit 103 checks the URL connection history DB 105 to check whether the URL received from the user terminal 200 is registered.

유알엘 접속 이력 확인부(103)는 유알엘이 등록되어 있으면, 유알엘 접속 이력 DB(105)로부터 유알엘에 매칭된 렌더링 방식을 확인하고, 확인한 렌더링 방식을 포함하는 유알엘 등록 정보를 원격 브라우저 제어부(101)에게 리턴한다. If the URL is registered, the URL connection history confirmation unit 103 checks the rendering method matched to the URL from the URL connection history DB 105 and sends the URL registration information including the confirmed rendering method to the remote browser control unit 101. Return.

유알엘 접속 이력 확인부(103)는 유알엘이 등록되어 있지 않으면, 유알엘 접속 이력이 없음을 알리는 정보를 원격 브라우저 제어부(101)에게 리턴한다.If the URL is not registered, the URL access history confirmation unit 103 returns information indicating that there is no URL access history to the remote browser control unit 101.

유알엘 접속 이력 관리부(104)는 유알엘에 포함된 콘텐츠의 버전을 확인할 수 없으므로, 유알엘 별로 일정 시간이 경과하면 폐기할 수 있다.Since the URL access history management unit 104 cannot confirm the version of the content included in the URL, each URL can be discarded after a certain period of time has elapsed.

한 실시예에 따르면, 유알엘 접속 이력 관리부(104)는 유알엘 별로 등록 시간, 접속 이력 조회 시간을 유알엘 접속 로그로 관리하고, 유알엘 접속 로그의 가장 최근의 시간이 현 시간과 임계 시간 차이가 있으면, 접속 이력이 없는 유알엘로 간주하여 해당 유알엘을 폐기할 수 있다. 즉, 유알엘 접속 이력 관리부(104)는 유알엘 접속 로그에 저장된 가장 최근 시간, 즉 가장 마지막의 접속 이력 조회 시간을 현재 시간과 비교해서, 시간 차이가 임계 시간(예, 24시간)을 초과(또는 이상) 한다면, 접속 이력이 없는 유알엘로 간주할 수 있다.According to one embodiment, the URL access history management unit 104 manages the registration time and access history inquiry time for each URL as a URL access log, and if the most recent time in the URL access log is different from the current time, the access history time is different from the current time. The URL may be considered as having no history and discarded. That is, the URL access history management unit 104 compares the most recent time stored in the URL access log, that is, the time of the last access history inquiry, with the current time, and determines that the time difference exceeds (or is longer than) a threshold time (e.g., 24 hours). ), it can be considered a URL with no connection history.

유알엘 접속 이력 관리부(104)는 원격 브라우저 제어부(101)로부터 수신한 유알엘과 렌더링 방식을 매칭한 유알엘 접속 이력을 생성하고, 생성한 유알엘 접속 이력을 유알엘 접속 이력 DB(105)에 저장할 수 있다. The URL connection history management unit 104 may generate a URL connection history that matches the rendering method with the URL received from the remote browser control unit 101, and store the generated URL connection history in the URL connection history DB 105.

유알엘 접속 이력 관리부(104)는 유알엘 접속 이력을 주기적으로 갱신하기 위해 일련의 과정을 자동적으로 수행하고 그 결과를 유알엘 접속 이력 DB(105)에 저장할 수 있다. The URL access history management unit 104 can automatically perform a series of processes to periodically update the URL access history and store the results in the URL access history DB 105.

유알엘 접속 이력 DB(105)는 유알엘에 대해 어떤 렌더링이 적합한지를 관리하는 DB로서, 유알엘에 존재하는 콘텐츠의 변경 여부를 판별할 수 있는 정보를 관리할 수 있다. 즉, 유알엘 접속 이력 DB(105)는 유알엘 별로 유알엘과 렌더링 방식을 매칭한 유알엘 접속 이력을 저장할 수 있다.The URL access history DB 105 is a DB that manages which rendering is suitable for the URL, and can manage information that can determine whether content existing in the URL has been changed. That is, the URL connection history DB 105 can store the URL connection history matching the URL and rendering method for each URL.

부속 구성 요소 로딩 확인부(106)는 원격 브라우저 제어부(101)에게 유알엘 정보를 전달하면서 부속 구성 요소의 로딩을 요청한다. 그러면, 부속 구성 요소 로딩 확인부(106)는 유알엘 접속 화면의 부속 구성 요소의 로딩을 시도하여, 로딩 여부를 확인하고, 로딩 여부를 원격 브라우저 제어부(101)에게 출력한다.The subcomponent loading confirmation unit 106 transmits URL information to the remote browser control unit 101 and requests loading of the subcomponent. Then, the auxiliary component loading confirmation unit 106 attempts to load the auxiliary components of the URL connection screen, checks whether they are loaded, and outputs the loading status to the remote browser control unit 101.

스크립트 적합성 판단 모델 학습부(107)는 입력 데이터인 유알엘 접속 화면의 스크립트가 돔 렌더링에 적합한지를 나타내는 분류 정보를 출력하도록 스크립트 적합성 판단 모델을 학습시킨다.The script suitability determination model learning unit 107 trains a script suitability determination model to output classification information indicating whether the script of the URL connection screen, which is input data, is suitable for dome rendering.

스크립트 적합성 판단 모델은 훈련 과정에서 입력과 출력 사이의 관계를 학습하고, 새로운 입력으로부터 스크립트 적합성 판단 결과를 출력할 수 있다. 스크립트 적합성 판단 결과는 적합, 부적합, 판단 보류 중 하나를 포함한다. The script suitability judgment model learns the relationship between input and output during the training process and can output script suitability judgment results from new input. The script suitability judgment result includes one of suitability, non-conformity, and judgment withheld.

적합은 유알엘 접속 화면의 스크립트가 돔 렌더링에 적합하다는 판단이다. Suitability refers to the judgment that the script on the URL connection screen is suitable for dome rendering.

부적합은 유알엘 접속 화면의 스크립트가 돔 렌더링에 부적합하다는 판단이다. Nonconformity refers to the judgment that the script on the URL connection screen is unsuitable for dome rendering.

판단 보류는 적합 및 부적합 모두에 해당하지 않는 경우에 해당한다.Judgment withholding applies to cases where neither conformity nor non-conformity is applicable.

스크립트 적합성 판단 모델의 훈련을 위해서, 다양한 스크립트 정보 마다 적합 또는 부적합이 라벨링된 훈련 데이터가 사용될 수 있다.To train a script suitability judgment model, training data labeled as suitable or unsuitable for various script information can be used.

실시예에 따르면, 스크립트 적합상 판단 모델의 훈련을 위해서, 돔 렌더링이 가능한 스크립트 정보에 돔 렌더링 적합을 라벨링한 훈련 데이터, 이미지 렌더링이 가능한 스크립트 정보에 돔 렌더링 부적합을 라벨링한 훈련 데이터가 사용될 수 있다.According to an embodiment, to train a model for determining script suitability, training data labeling script information capable of dome rendering as dome rendering suitability, and training data labeling script information capable of image rendering as dome rendering unsuitability may be used. .

훈련 과정에서, 스크립트 적합성 판단 모델은 스크립트 정보와 라벨링(적합 또는 부적합) 관계를 학습할 수 있다. 예를 들어, 스크립트 적합성 판단 모델은 훈련 데이터를 이용하여, 스크립트 정보와 돔 렌더링 적합성의 관계를 학습할 수 있다.During the training process, the script suitability judgment model can learn the relationship between script information and labeling (suitable or inappropriate). For example, a script suitability judgment model can learn the relationship between script information and dome rendering suitability using training data.

스크립트 적합성 판단 모델 학습부(107)는 인공 지능 기술로 스크립트와 돔 렌더링 적합성을 지속적으로 학습할 수 있다.The script suitability determination model learning unit 107 can continuously learn the script and dome rendering suitability using artificial intelligence technology.

스크립트를 작성하는 개발자에 따라 사용하는 스크립트의 내용과 방식은 매우 상이할 것으로 판단되나 샘플코드를 각자가 발전시킨 형태로 작성되고 있으며, 스크립트 문법에 의존하여 개발하여 자연어에 비해 특정한 규칙성을 지니고 있다. 이러한 규칙성을 기반으로 특정 콘텐츠에 사용된 스크립트의 돔 렌더링 적합성을 판단하는 인공지능 모델이 생성될 수 있다. It is believed that the content and method of the script used will be very different depending on the developer writing the script, but the sample code is written in a form developed by each person, and is developed based on script grammar and has certain regularities compared to natural language. . Based on these regularities, an artificial intelligence model can be created to determine the suitability of scripts used for specific content for dome rendering.

스크립트 적합성 판단 모델 학습부(107)는 스크립트 적합성 판단 과정에서 획득 가능한 다양한 스크립트 정보를 학습 데이터로 사용하여 스크립트 적합성 판단 모델을 업데이트할 수 있다. The script suitability determination model learning unit 107 can update the script suitability determination model by using various script information that can be obtained during the script suitability determination process as learning data.

스크립트 적합성 판단부(108)는 원격 브라우저 제어부(101)로부터 유알엘 접속 화면의 스크립트 적합성 판단 요청을 수신하면, 유알엘 접속 화면의 스크립트가 돔 렌더링에 적합한지를 판단하고, 판단 결과를 리턴한다.When the script suitability determination unit 108 receives a request for determining the script suitability of the URL connection screen from the remote browser control unit 101, it determines whether the script of the URL connection screen is suitable for dome rendering and returns a determination result.

스크립트 적합성 판단부(108)는 기 학습된 스크립트 적합성 판단 모델을 이용하여 입력 데이터인 유알엘 접속 화면의 스크립트 정보가 돔 렌더링에 적합한지 판단할 수 있다. The script suitability determination unit 108 may determine whether script information on the URL connection screen, which is input data, is suitable for dome rendering using a pre-learned script suitability determination model.

스크립트 적합성 판단부(108)는 판단 결과가 판단 보류일 경우, 유알엘 접속 화면을 이미지 렌더링한 화면과 유알엘 접속 화면을 돔 렌더링한 화면을 비교하여, 비교 결과가 임계 조건을 충족하면, 돔 렌더링 적합으로 판단하고 임계 조건을 충족하지 않으면 돔 렌더링 부적합으로 판단할 수 있다.If the judgment result is pending judgment, the script suitability determination unit 108 compares the image rendering screen of the URL connection screen with the dome rendering screen of the URL connection screen, and if the comparison result satisfies the critical condition, the dome rendering is suitable. If the decision is made and the critical condition is not met, the dome rendering can be judged unsuitable.

또한, 스크립트 적합성 판단부(108)의 화면들의 비교 결과에 따라 판단 결과(적합 또는 부적합)를 라벨링한 스크립트 정보를 추가 훈련 데이터로 생성하여, 스크립트 적합성 판단 모델 학습부(107)에게 제공할 수 있다. 그러면, 스크립트 적합성 판단 모델 학습부(107)는 추가 훈련 데이터를 사용하여 스크립트 적합성 판단 모델을 업데이트할 수 있다. In addition, script information labeling the judgment result (suitable or unsuitable) according to the comparison results of the screens of the script suitability determination unit 108 can be generated as additional training data and provided to the script suitability determination model learning unit 107. . Then, the script suitability determination model learning unit 107 can update the script suitability determination model using the additional training data.

돔 렌더링부(109)는 유알엘 접속 화면을 구성하는 원 콘텐츠를 해석하여 돔 구조체 형태로 재구성하는 돔 렌더링을 수행하고, 돔 렌더링된 유알엘 접속 화면 사용자 단말(200)에게 스트리밍 전송한다. 돔 렌더링부(109)는 사용자 단말(200)로부터 수신되는 반응, 즉, 피드백 정보를 유알엘로 전달하고, 그 결과를 다시 수신 및 렌더링하여 사용자 단말(200)에게 전송할 수 있다. The dome rendering unit 109 interprets the original content constituting the URL access screen, performs dome rendering to reconstruct it into a dome structure, and transmits the dome-rendered URL access screen streaming to the user terminal 200. The dome rendering unit 109 may transmit the response, that is, feedback information, received from the user terminal 200 to URL, receive and render the result again, and transmit it to the user terminal 200.

이미지 렌더링부(110)는 유알엘 접속 화면을 구성하는 원 콘텐츠를 해석하여 이미지 및 메타 정보 형태로 재구성하는 이미지 렌더링을 수행하고, 이미지 렌더링된 유알엘 접속 화면을 사용자 단말(200)에게 스트리밍 전송한다. 이미지 렌더링부(110)는 사용자 단말(200)로부터 수신되는 반응, 즉, 피드백 정보를 유알엘로 전달하고, 그 결과를 다시 수신 및 렌더링하여 사용자 단말(200)에게 전송할 수 있다.The image rendering unit 110 interprets the original content constituting the URL access screen, performs image rendering to reconstruct it in the form of an image and meta information, and transmits the image-rendered URL access screen to the user terminal 200 by streaming. The image rendering unit 110 may transmit the response, that is, feedback information, received from the user terminal 200 to URL, receive and render the result again, and transmit it to the user terminal 200.

이때, 렌더링 화면은 원격 브라우저 제어부(101)를 통해 사용자 단말(200)에게 스트리밍 전송되고, 그 피드백 정보를 원격 브라우저 제어부(101)가 수신하여 각 렌더링부(109, 110)에게 전달할 수도 있다.At this time, the rendered screen is transmitted streaming to the user terminal 200 through the remote browser control unit 101, and the remote browser control unit 101 may receive the feedback information and transmit it to each rendering unit 109 and 110.

도 4는 한 실시예에 따른 원격 브라우저 서버가 렌더링 방식을 선택하여 원격 브라우저 서비스를 제공하는 절차를 설명하는 순서도로서, 도 3의 구성과 연계하여 설명한다.FIG. 4 is a flowchart illustrating a procedure in which a remote browser server selects a rendering method and provides a remote browser service according to an embodiment, and is explained in connection with the configuration of FIG. 3.

도 4를 참조하면, 원격 브라우저 서버(100)의 원격 브라우저 제어부(101)는 사용자 단말(200)로부터 유알엘 접속 요청을 수신한다(S201). 이때, 사용자 단말(200)은 로컬 브라우저(201)를 실행하고, 유알엘 접속 요청을 원격 브라우저 서버(100)에게 전송한다. Referring to FIG. 4, the remote browser control unit 101 of the remote browser server 100 receives a URL connection request from the user terminal 200 (S201). At this time, the user terminal 200 runs the local browser 201 and transmits a URL connection request to the remote browser server 100.

원격 브라우저 서버(100)의 브라우저 버전 확인부(102)는 사용자 단말(200)의 로컬 브라우저(201)의 버전 정보를 사용자 단말(200)로부터 수신한다(S202). The browser version confirmation unit 102 of the remote browser server 100 receives version information of the local browser 201 of the user terminal 200 from the user terminal 200 (S202).

이때, 원격 브라우저 제어부(101)가 유알엘 접속 요청이 수신되었을 때, 사용자 단말(200)에게 로컬 브라우저(201)의 버전 정보를 요청하여 수신할 수 있다. At this time, when a URL connection request is received, the remote browser control unit 101 may request and receive version information of the local browser 201 from the user terminal 200.

브라우저 버전 확인부(102)는 원격 브라우저 제어부(101)로부터 로컬 브라우저 버전 정보를 수신하고, 로컬 브라우저 버전이 돔 렌더링을 지원하는 버전인지 판단한다(S203). The browser version confirmation unit 102 receives local browser version information from the remote browser control unit 101 and determines whether the local browser version supports dome rendering (S203).

이때, 브라우저 버전 확인부(102)는 돔 렌더링이 가능한 최신의 웹 브라우저 버전 정보를 저장하고 있다. At this time, the browser version confirmation unit 102 stores information on the latest web browser version capable of dome rendering.

기본적으로, 돔 렌더링을 하기 위해서는 최신의 웹 브라우저 환경이 필요하다. 출시된 지 오래된 웹 브라우저는 돔 렌더링을 통해 재구성된 콘텐츠를 제대로 표현할 수 없다. 따라서, 웹 브라우저 버전은 돔 렌더링 가능 유무를 판단하는데 중요한 요소이다.Basically, dome rendering requires the latest web browser environment. Older web browsers cannot properly display content reconstructed through dome rendering. Therefore, the web browser version is an important factor in determining whether dome rendering is possible.

브라우저 버전 확인부(102)가 사용자 단말(200)의 로컬 브라우저(201)를 돔 렌더링을 지원하는 버전으로 판단하면, 유알엘 접속 이력 확인부(103)는 유알엘 접속 이력 DB(105)를 조회하여, 접속 요청된 유알엘이 돔 렌더링 적합성 판단 이력이 있는지 유알엘인지 확인한다(S204).If the browser version confirmation unit 102 determines that the local browser 201 of the user terminal 200 is a version that supports dome rendering, the URL connection history confirmation unit 103 searches the URL connection history DB 105, Check whether the URL requested for connection has a history of determining dome rendering suitability (S204).

유알엘 접속 이력 확인부(103)는 유알엘 접속 이력 DB(105)에 접속 요청된 유알엘이 등록되어 있는지 유무에 따라 유알엘 이력 여부를 판단할 수 있다(S205).The URL access history confirmation unit 103 may determine whether the URL has a URL history depending on whether the URL requested for access is registered in the URL access history DB 105 (S205).

유알엘 접속 이력 확인부(103)가 S205에서 유알엘 접속 이력 DB(105)에 등록된 유알엘이 아니라고 판단한 경우, 부속 구성 요소 로딩 확인부(106)는 유알엘 문서가 부속 구성 요소 로딩이 가능한 문서인지 확인한다(S206).If the URL connection history confirmation unit 103 determines at S205 that it is not a URL registered in the URL access history DB 105, the attached component loading confirmation unit 106 checks whether the URL document is a document capable of loading attached components. (S206).

따라서, 유알엘 문서가 부속 구성 요소 로딩이 가능한 웹 문서인지 확인하기 위해, 부속 구성 요소 로딩 확인부(106)는 유알엘로 접속하여 유알엘 문서의 부속 구성 요소 로딩을 시도하고, 정상적으로 부속 구성 요소 로딩이 이루어지는지 확인할 수 있다(S206).Therefore, in order to check whether the URL document is a web document capable of loading subcomponents, the subcomponent loading confirmation unit 106 connects to URL and attempts to load the subcomponents of the URL document, and the subcomponent loading is normally performed. (S206).

부속 구성 요소 로딩 확인부(106)는 S206의 로딩 결과를 토대로, 부속 구성 요소 로딩이 가능한 유알엘 문서인지 판단한다(S207).The auxiliary component loading confirmation unit 106 determines whether the auxiliary component loading is a URL document based on the loading result of S206 (S207).

부속 구성 요소 로딩 확인부(106)가 부속 구성 요소 로딩이 가능한 유알엘 문서로 판단한 경우, 스크립트 적합성 판단부(108)는 유알엘 스크립트의 돔 렌더링 적합성을 확인(S208)하고, 확인 정보를 토대로 유알엘의 스크립트가 돔 렌더링이 적합한지 판단한다(S209).If the subcomponent loading confirmation unit 106 determines that it is a URL document capable of loading subcomponents, the script suitability determination unit 108 verifies the dome rendering suitability of the URL script (S208), and based on the confirmation information, the URL script Determine whether dome rendering is appropriate (S209).

스크립트 적합성 판단부(108)가 돔 렌더링 적합으로 판단한 경우, 원격 브라우저 제어부(101)는 유알엘로 접속한 화면을 렌더링할 방식으로 돔 렌더링 방식을 선택한다(S210).If the script suitability determination unit 108 determines that dome rendering is suitable, the remote browser control unit 101 selects the dome rendering method as the method for rendering the screen connected to URL (S210).

스크립트 적합성 판단부(108)가 돔 렌더링이 적합하지 않다고 판단한 경우, 원격 브라우저 제어부(101)는 유알엘로 접속한 화면을 렌더링할 방식으로 이미지 렌더링 방식을 선택한다(S211).If the script suitability determination unit 108 determines that dome rendering is not suitable, the remote browser control unit 101 selects an image rendering method to render the screen connected to URL (S211).

한편, S205에서 돔 렌더링 적합성 판단 이력이 있는 유알엘로 판단되면, 원격 브라우저 제어부(101)는 유알엘 접속 이력 DB(105)로부터 유알엘에 매칭된 렌더링 방식을 확인하고, 확인한 렌더링 방식을 선택한다(S212). Meanwhile, if it is determined in S205 that the URL has a history of determining dome rendering suitability, the remote browser control unit 101 checks the rendering method matched to the URL from the URL connection history DB 105 and selects the confirmed rendering method (S212). .

원격 브라우저 서버(100)는 S210, S211, S212에서 각각 선택한 렌더링 방식으로 유알엘 접속 화면을 렌더링하고, 렌더링 화면을 사용자 단말(200)에게 스트리밍한다(S213). The remote browser server 100 renders the URL connection screen using the rendering method selected in S210, S211, and S212, and streams the rendered screen to the user terminal 200 (S213).

즉, S213에서, 원격 브라우저 제어부(101)는 S210, S211, S212에서 각각 선택한 렌더링을 처리할 돔 렌더링부(109) 또는 이미지 렌더링부(110)에게 렌더링을 요청한다. 그러면, 돔 렌더링부(109) 또는 이미지 렌더링부(110)는 유알엘 접속 화면을 돔 렌더링 또는 이미지 렌더링하고, 렌더링 화면을 원격 브라우저 제어부(101)에게 출력한다. 그러면, 원격 브라우저 제어부(101)는 렌더링 화면을 사용자 단말(200)에게 스트리밍한다.That is, in S213, the remote browser control unit 101 requests rendering from the dome rendering unit 109 or the image rendering unit 110, which will process the rendering selected in S210, S211, and S212, respectively. Then, the dome rendering unit 109 or the image rendering unit 110 performs dome rendering or image rendering of the URL connection screen and outputs the rendered screen to the remote browser control unit 101. Then, the remote browser control unit 101 streams the rendered screen to the user terminal 200.

S210 또는 S211 이후, S213과 독립적으로, 유알엘 접속 이력 관리부(104)는 S210 또는 S211에서 선택한 렌더링 방식과 해당 유알엘을 매칭한 유알엘 접속 이력을 생성하고, 유알엘 접속 이력을 유알엘 접속 이력 DB(105)에 저장한다(S214). After S210 or S211, independently of S213, the URL connection history management unit 104 generates a URL connection history matching the rendering method selected in S210 or S211 and the corresponding URL, and stores the URL connection history in the URL connection history DB 105. Save (S214).

이와 같이, S214에서 저장된 유알엘 접속 이력은 이후, S204에서 활용된다.In this way, the URL connection history saved in S214 is later used in S204.

도 5는 한 실시예에 따른 원격 브라우저 서버가 유알엘 스크립트의 돔 렌더링 적합성을 확인하는 절차를 설명하는 순서도로서, 도 4의 S208의 단계를 상세히 나타낸 순서도이다.FIG. 5 is a flowchart illustrating a procedure for a remote browser server to check the dome rendering suitability of a URL script according to an embodiment, and is a flowchart showing step S208 of FIG. 4 in detail.

도 5를 참조하면, 스크립트 적합성 판단부(108)는 유알엘로 접속한 화면을 해석하여 스크립트 정보를 획득하고, 획득한 스크립트 정보를 기 학습된 스크립트 적합성 판단 모델의 입력 데이터로 사용하여 대상 유알엘이 돔 렌더링에 적합한 스크립트인지, 부적합한 스크립트 인지, 스크립트 적합성 판단 보류인지를 판단한다(S301).Referring to FIG. 5, the script suitability determination unit 108 acquires script information by interpreting the screen connected to the URL, and uses the acquired script information as input data for a pre-learned script suitability judgment model to determine the target URL's dome. It is determined whether the script is suitable for rendering, whether it is an unsuitable script, or whether the script suitability judgment is pending (S301).

여기서, 스크립트 적합성 판단 모델은 다양한 스크립트 정보를 학습 데이터로 사용하여, 입력 데이터로부터 돔 렌더링을 위한 스크립트 적합성 결과로서, 적합, 부적합, 판단 보류 중에서 하나의 분류 결과를 출력하도록 학습된다.Here, the script suitability judgment model uses various script information as learning data and is learned to output one classification result among suitable, unsuitable, and judgment pending as a script suitability result for dome rendering from input data.

스크립트 적합성 판단부(108)는 S302에서 스크립트 적합 또는 스크립트 부적합으로 판단되면, 단계를 종료한다. 이후, S302의 결과는 도 4의 S209에서 활용되어 돔 렌더링 방식 또는 이미지 렌더링 방식을 선택하는데 사용된다.If the script suitability determination unit 108 determines that the script is suitable or unsuitable in S302, it ends the step. Thereafter, the result of S302 is used in S209 of FIG. 4 to select a dome rendering method or an image rendering method.

반면, 스크립트 적합성 판단부(108)는 S302에서 판단 보류로 판단되면, 유알엘 접속 화면을 이미지 렌더링한 화면과 돔 렌더링한 화면을 비교한다(S303).On the other hand, if the script suitability determination unit 108 determines that the judgment is withheld in S302, it compares the image-rendered screen of the URL connection screen with the dome-rendered screen (S303).

한 실시예에 따르면, 스크립트 적합성 판단부(108)는 S303에서 두 화면의 차이값이 기준값 이하인지 판단한다(S304). 여기서, 두 화면의 차이값은 이미 공지된 이미지들의 차분값 생성 알고리즘이 사용될 수 있다. According to one embodiment, the script suitability determination unit 108 determines whether the difference between the two screens in S303 is less than or equal to the reference value (S304). Here, the difference between the two screens can be determined using a known algorithm for generating difference values between images.

스크립트 적합성 판단부(108)는 S304에서 화면 차이값이 기준값 이하로 판단되면, 돔 렌더링 적합으로 결정한다(S305).If the script suitability determination unit 108 determines that the screen difference value is less than the reference value in S304, it determines dome rendering to be suitable (S305).

스크립트 적합성 판단부(108)는 S304에서 화면 차이값이 기준값을 초과하면, 이미지 렌더링 적합으로 결정한다(S306).If the screen difference value exceeds the reference value in S304, the script suitability determination unit 108 determines that the image rendering is suitable (S306).

다른 실시예에 따르면, 스크립트 적합성 판단부(108)는 S303에서 두 화면의 유사도를 계산하고, 유사도가 기준값 이상인지 판단한다(S304). 여기서, 두 화면의 유사도는 이미 공지된 이미지들의 유사도를 계산하는 알고리즘이 사용될 수 있다.According to another embodiment, the script suitability determination unit 108 calculates the similarity between the two screens in S303 and determines whether the similarity is greater than or equal to the reference value (S304). Here, an algorithm that calculates the similarity between already known images can be used as the similarity between the two screens.

스크립트 적합성 판단부(108)는 S304에서 화면 유사도가 기준값 이상으로 판단되면, 돔 렌더링 적합으로 결정한다(S305).If the script suitability determination unit 108 determines that the screen similarity is greater than or equal to the reference value in S304, it determines dome rendering to be suitable (S305).

스크립트 적합성 판단부(108)는 S304에서 화면 유사도가 기준값 미만이면, 이미지 렌더링 적합으로 결정한다(S306).If the screen similarity is less than the reference value in S304, the script suitability determination unit 108 determines that the image rendering is suitable (S306).

스크립트 적합성 판단 모델 학습부(107)는 S305에서 돔 렌더링 적합으로 판단된 유알엘 스크립트 정보 또는 S306에서 이미지 렌더링 적합으로 판단된 유알엘 스크립트 정보를 학습 데이터로 추가하여 스크립트 적합성 판단 모델을 업데이트한다(S307). 이때, 이미지 렌더링 적합으로 판단된 유알엘 스크립트 정보는 돔 렌더링 부적합을 라벨링하여 학습 데이터로 사용된다.The script suitability determination model learning unit 107 updates the script suitability determination model by adding the URL script information determined to be suitable for dome rendering in S305 or the URL script information determined to be suitable for image rendering in S306 as learning data (S307). At this time, URL script information determined to be suitable for image rendering is used as learning data by labeling dome rendering unsuitable.

이와 같이, 스크립트 적합성 판단시 획득한 스크립트 정보를 학습 데이터로 활용하므로, 돔 렌더링 적합성 판단의 정확성을 높일 수 있다.In this way, since the script information obtained when determining script suitability is used as learning data, the accuracy of determining dome rendering suitability can be increased.

한편, 도 6은 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성을 나타낸 블록도이다.Meanwhile, Figure 6 is a block diagram showing the hardware configuration of a computing device according to an embodiment.

도 6을 참고하면, 도 1 ~ 도 5에서 설명한 원격 브라우저 서버(100)는 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치(400)로 구현될 수 있다. Referring to FIG. 6, the remote browser server 100 described in FIGS. 1 to 5 may be implemented as a computing device 400 that operates by at least one processor.

컴퓨팅 장치(400)는 하나 이상의 프로세서(401), 프로세서(401)에 의하여 수행되는 컴퓨터 프로그램을 로드 하는 메모리(402), 컴퓨터 프로그램 및 각종 데이터를 저장하는 저장 장치(403), 통신 인터페이스(404), 그리고 이들을 연결하는 버스(405)를 포함할 수 있다. 이외에도, 컴퓨팅 장치(400)는 다양한 구성 요소가 더 포함될 수 있다. The computing device 400 includes one or more processors 401, a memory 402 that loads a computer program executed by the processor 401, a storage device 403 that stores computer programs and various data, and a communication interface 404. , and may include a bus 405 connecting them. In addition, the computing device 400 may further include various components.

프로세서(401)는 컴퓨팅 장치(400)의 동작을 제어하는 장치로서, 컴퓨터 프로그램에 포함된 명령어들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. The processor 401 is a device that controls the operation of the computing device 400, and may be various types of processors that process instructions included in a computer program, for example, a Central Processing Unit (CPU), a Micro Processor (MPU) Unit), MCU (Micro Controller Unit), GPU (Graphic Processing Unit), or any type of processor well known in the technical field of the present disclosure.

메모리(402)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(402)는 본 개시의 동작을 실행하도록 기술된 명령어들이 프로세서(401)에 의해 처리되도록 해당 컴퓨터 프로그램을 저장 장치(403)로부터 로드 할 수 있다. 메모리(402)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다. Memory 402 stores various data, instructions and/or information. The memory 402 may load the corresponding computer program from the storage device 403 so that instructions described to execute the operations of the present disclosure are processed by the processor 401. The memory 402 may be, for example, read only memory (ROM), random access memory (RAM), etc.

저장 장치(403)는 컴퓨터 프로그램, 각종 데이터를 비임시적으로 저장할 수 있다. 저장 장치(403)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage device 403 can non-temporarily store computer programs and various data. The storage device 403 may be a non-volatile memory such as Read Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), flash memory, a hard disk, a removable disk, or a non-volatile memory such as a hard disk, a removable disk, or the like in the technical field to which this disclosure pertains. It may be configured to include any well-known type of computer-readable recording medium.

통신 인터페이스(404)는 유/무선 통신을 지원하는 유/무선 통신 모듈일 수 있다. The communication interface 404 may be a wired/wireless communication module that supports wired/wireless communication.

버스(405)는 컴퓨팅 장치(400)의 구성 요소 간 통신 기능을 제공한다. Bus 405 provides communication functionality between components of computing device 400.

컴퓨터 프로그램은, 프로세서(401)에 의해 실행되는 명령어들(instructions)을 포함하고, 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장되며, 명령어들은 프로세서(401)가 본 개시의 동작을 실행하도록 만든다. 컴퓨터 프로그램은 네트워크를 통해 다운로드 되거나, 제품 형태로 판매될 수 있다.The computer program includes instructions executed by the processor 401 and stored on a non-transitory computer readable storage medium, where the instructions are viewed by the processor 401. Makes the initiation action to be executed. Computer programs can be downloaded over the network or sold as products.

한 실시예에 따른 컴퓨터 프로그램은, 사용자 단말(200)로부터 유알엘 접속 요청을 수신하고, 사용자 단말(200)의 웹 브라우저 버전이 돔 렌더링을 지원하면, 유알엘 접속 화면의 부속 구성 요소 로딩이 가능한지 확인하여 가능하면, 상기 유알엘 접속 화면의 스크립트 정보를 기 학습된 스크립트 적합성 판단 모델의 입력 데이터로 사용하여 상기 스크립트 정보의 돔 렌더링 적합성 여부를 판단하고, 판단 결과 돔 렌더링 적합하다고 판단되면, 상기 유알엘 접속 화면을 돔 렌더링하고, 돔 렌더링 부적합하다고 판단되면, 상기 유알엘 접속 화면을 이미지 렌더링하며, 돔 렌더링 또는 이미지 렌더링이 수행된 유알엘 접속 화면을 상기 사용자 단말에게 스트리밍 전송하는 명령어들(Instructions)을 포함할 수 있다.The computer program according to one embodiment receives a URL connection request from the user terminal 200, and, if the web browser version of the user terminal 200 supports dome rendering, checks whether loading of the subsidiary components of the URL connection screen is possible. If possible, the script information of the URL connection screen is used as input data for a pre-learned script suitability judgment model to determine whether the script information is suitable for dome rendering, and if it is determined that the script information is suitable for dome rendering, the URL connection screen is It may include instructions for performing dome rendering, rendering the URL connection screen as an image if it is determined that the dome rendering is unsuitable, and streaming the URL connection screen on which the dome rendering or image rendering was performed to the user terminal.

또한, 컴퓨터 프로그램은 스크립트 적합성 판단 모델이 스크립트 정보를 판단 보류로 판정하면, 유알엘 접속 화면을 이미지 렌더링한 화면과 유알엘 접속 화면을 돔 렌더링한 화면을 비교하고, 비교 결과가 임계 조건을 충족하면 스크립트 정보를 돔 렌더링 적합으로 판정하고, 비교 결과가 상기 임계 조건을 충족하지 않으면 스크립트 정보를 돔 렌더링 부적합으로 판정하며, 돔 렌더링 적합 또는 돔 렌더링 부적합을 라벨링한 스크립트 정보를 추가 학습 데이터로 사용하여 스크립트 적합성 판단 모델을 업데이트할 수 있다.In addition, if the script suitability judgment model determines that the script information is pending judgment, the computer program compares the image-rendered screen of the URL access screen and the dome-rendered screen of the URL access screen, and if the comparison result satisfies the threshold condition, the script information is determined to be suitable for dome rendering, and if the comparison result does not meet the above threshold conditions, the script information is judged to be unsuitable for dome rendering, and the script information labeled as dome rendering suitable or dome rendering unsuitable is used as additional learning data to determine script suitability. The model can be updated.

또한, 컴퓨터 프로그램은 유알엘 접속 화면의 렌더링 방식이 결정되면, 유알엘 별로 결정된 렌더링 방식을 매핑한 유알엘 접속 이력을 생성하여 유알엘 접속 이력 DB(105)에 저장하고, 사용자 단말(200)로부터 유알엘 접속 이력이 있는 유알엘에 대한 접속 요청이 수신되면, 유알엘 접속 이력 DB(105)로부터 조회한 렌더링 방식으로 유알엘 접속 화면을 렌더링하는 명령어들을 포함할 수 있다.In addition, when the rendering method of the URL connection screen is determined, the computer program generates a URL connection history mapping the rendering method determined for each URL and stores it in the URL connection history DB 105, and retrieves the URL connection history from the user terminal 200. When a connection request for a URL is received, it may include commands for rendering the URL connection screen using a rendering method retrieved from the URL connection history DB 105.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiments of the present invention described above are not only implemented through devices and methods, but can also be implemented through programs that implement functions corresponding to the configurations of the embodiments of the present invention or recording media on which the programs are recorded.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements made by those skilled in the art using the basic concept of the present invention defined in the following claims are also possible. It falls within the scope of rights.

Claims (20)

적어도 하나의 프로세서에 의해 동작하는 원격 브라우저 서버의 동작 방법으로서,
사용자 단말로부터 유알엘(URL, Uniform Resource Locator) 접속 요청을 수신하는 단계,
상기 유알엘로 접속하여 획득한 유알엘 접속 화면을 사전에 설정된 복수의 렌더링 방식 중에서 선택한 렌더링 방식으로 렌더링하는 단계, 그리고
렌더링한 유알엘 접속 화면을 상기 사용자 단말에게 스트리밍하는 단계
를 포함하는, 방법.
A method of operating a remote browser server operated by at least one processor, comprising:
Receiving a Uniform Resource Locator (URL) connection request from a user terminal,
Rendering the URL connection screen obtained by accessing the URL using a rendering method selected from a plurality of preset rendering methods, and
Streaming the rendered URL connection screen to the user terminal
Method, including.
제1항에서,
상기 렌더링하는 단계는,
상기 유알엘 접속 화면을 돔(DOM, Document Object Model) 렌더링(Rendering) 또는 이미지 렌더링(Image Rendering) 중 하나의 방식으로 렌더링하는, 방법.
In paragraph 1:
The rendering step is,
A method of rendering the URL connection screen using one of DOM (Document Object Model) rendering or image rendering.
제1항에서,
상기 렌더링하는 단계 이전에,
상기 유알엘 접속 화면의 스크립트 정보를 기 학습된 스크립트 적합성 판단 모델의 입력 데이터로 사용하여, 상기 스크립트 정보의 돔 렌더링 적합성 판단 여부를 결정하는 단계를 더 포함하고,
상기 렌더링하는 단계는,
상기 스크립트 적합성 판단 모델이 상기 스크립트 정보를 돔 렌더링 적합으로 판정한 경우, 상기 유알엘 접속 화면을 돔 렌더링 방식으로 렌더링하고,
상기 스크립트 적합성 판단 모델이 상기 스크립트 정보를 돔 렌더링 부적합으로 판정한 경우, 상기 유알엘 접속 화면을 이미지 렌더링 방식으로 렌더링하는, 방법.
In paragraph 1:
Before the rendering step,
Using the script information on the URL access screen as input data for a pre-learned script suitability determination model, it further includes determining whether the script information is suitable for dome rendering,
The rendering step is,
If the script suitability determination model determines that the script information is suitable for dome rendering, the URL access screen is rendered using the dome rendering method,
When the script suitability determination model determines that the script information is unsuitable for dome rendering, a method of rendering the URL access screen using an image rendering method.
제3항에서,
상기 결정하는 단계 이후,
상기 스크립트 적합성 판단 모델이 상기 스크립트 정보를 판단 보류로 판정한 경우, 상기 유알엘 접속 화면을 이미지 렌더링한 화면과 상기 유알엘 접속 화면을 돔 렌더링한 화면을 비교하고, 비교 결과가 임계 조건을 충족하면 상기 스크립트 정보를 돔 렌더링 적합으로 판정하고, 상기 비교 결과가 상기 임계 조건을 충족하지 않으면 상기 스크립트 정보를 돔 렌더링 부적합으로 판정하는 단계
를 더 포함하는, 방법.
In paragraph 3,
After the above determining step,
When the script suitability determination model determines that the script information is pending judgment, an image rendering screen of the URL access screen and a dome rendering screen of the URL access screen are compared, and if the comparison result satisfies the threshold condition, the script Determining the information as suitable for dome rendering, and determining the script information as unsuitable for dome rendering if the comparison result does not meet the threshold condition.
A method further comprising:
제4항에서,
상기 판정하는 단계 이후,
돔 렌더링 적합 또는 돔 렌더링 부적합으로 라벨링한 상기 스크립트 정보를 추가 학습 데이터로 사용하여 상기 스크립트 적합성 판단 모델을 업데이트하는 단계
를 더 포함하는, 방법.
In paragraph 4,
After the above determining step,
Updating the script suitability determination model using the script information labeled as dome rendering suitable or dome rendering unsuitable as additional learning data.
A method further comprising:
제4항에서,
상기 판정하는 단계는,
상기 돔 렌더링한 화면과 상기 이미지 렌더링한 화면의 차이값 또는 유사도를 기준값과 비교하여 상기 돔 렌더링 적합 유무를 판정하는, 방법.
In paragraph 4,
The determining step is,
A method of determining whether the dome rendering is suitable by comparing a difference value or similarity between the dome-rendered screen and the image-rendered screen with a reference value.
제3항에서,
상기 결정하는 단계 이전에,
상기 유알엘 접속 화면의 부속 구성 요소 로딩이 가능한지 판단하는 단계를 더 포함하고,
상기 결정하는 단계는,
상기 유알엘 접속 화면의 부속 구성 요소 로딩이 가능한 경우에 수행되는, 방법.
In paragraph 3,
Before the decision step,
Further comprising the step of determining whether loading of subsidiary components of the URL connection screen is possible,
The determining step is,
A method performed when loading of subsidiary components of the URL access screen is possible.
제7항에서,
상기 판단하는 단계 이전에,
상기 사용자 단말로부터 상기 사용자 단말의 웹 브라우저 버전 정보를 수신하고, 상기 웹 브라우저 버전 정보가 돔 렌더링을 지원하는 버전인지 확인하는 단계를 더 포함하고,
상기 판단하는 단계는,
상기 웹 브라우저 버전 정보가 돔 렌더링을 지원하는 버전으로 확인된 경우에 수행되는, 방법.
In paragraph 7:
Before the above judgment step,
Receiving web browser version information of the user terminal from the user terminal, and confirming whether the web browser version information supports dome rendering,
The above judgment step is,
A method performed when the web browser version information is confirmed to be a version that supports dome rendering.
제8항에서,
상기 확인하는 단계와 상기 판단하는 단계 사이에,
상기 사용자 단말이 접속을 요청한 유알엘의 돔 렌더링 적합성 판단 이력이 있는지 데이터베이스로부터 확인하는 단계를 더 포함하고,
상기 판단하는 단계는,
상기 유알엘의 돔 렌더링 적합성 판단 이력이 상기 데이터베이스로부터 조회되지 않는 경우에 수행되는, 방법.
In paragraph 8:
Between the confirming step and the determining step,
Further comprising the step of checking from the database whether there is a history of determining the dome rendering suitability of the URL to which the user terminal has requested access,
The above judgment step is,
A method performed when the URL's dome rendering suitability determination history is not searched from the database.
제9항에서,
상기 확인하는 단계 이후,
상기 유알엘의 돔 렌더링 적합성 판단 이력이 상기 데이터베이스로부터 조회되면, 상기 데이터베이스로부터 상기 유알엘에 매칭 등록된 렌더링 방식을 선택하는 단계를 더 포함하고,
상기 렌더링하는 단계는,
상기 선택한 렌더링 방식을 사용하여 유알엘 접속 화면을 렌더링하는 방법.
In paragraph 9:
After the above confirmation step,
When the dome rendering suitability determination history of the URL is searched from the database, selecting a rendering method registered to match the URL from the database,
The rendering step is,
A method of rendering a URL connection screen using the selected rendering method.
제10항에서,
상기 렌더링하는 단계는,
상기 사용자 단말의 웹 브라우저 버전이 돔 렌더링을 지원하지 않는 경우, 상기 유알엘 접속 화면의 부속 구성 요소 로딩에 실패하는 경우, 및 상기 유알엘 접속 화면의 스크립트 정보가 돔 렌더링 부적합으로 판정된 경우 중 적어도 하나의 경우에 해당하면, 상기 유알엘 접속 화면을 이미지 렌더링 방식으로 렌더링하는, 방법.
In paragraph 10:
The rendering step is,
At least one of the following: when the web browser version of the user terminal does not support dome rendering, when loading of subsidiary components of the URL connection screen fails, and when script information of the URL connection screen is determined to be unsuitable for dome rendering If applicable, a method for rendering the URL access screen using an image rendering method.
사용자 단말로부터 유알엘(URL, Uniform Resource Locator) 접속 요청을 수신하고, 유알엘 접속 화면을 돔(DOM, Document Object Model) 렌더링(Rendering) 할지 또는 이미지 렌더링(Image Rendering) 할지 결정하는 원격 브라우저 제어부,
상기 원격 브라우저 제어부의 결정에 따라 상기 유알엘 접속 화면을 돔 렌더링하고, 돔 렌더링한 유알엘 접속 화면을 상기 사용자 단말에게 스트리밍 전송하는 돔 렌더링부, 그리고
상기 원격 브라우저 제어부의 결정에 따라 상기 유알엘 접속 화면을 이미지 렌더링하고, 이미지 렌더링한 유알엘 접속 화면을 상기 사용자 단말에게 스트리밍 전송하는 이미지 렌더링부
를 포함하는, 원격 브라우저 서버.
A remote browser control unit that receives URL (Uniform Resource Locator) connection requests from the user terminal and determines whether to perform DOM (Document Object Model) rendering or image rendering of the URL access screen;
a dome rendering unit that dome renders the URL access screen according to a decision of the remote browser control unit and transmits streaming the dome-rendered URL access screen to the user terminal; and
An image rendering unit that renders an image of the URL access screen according to the decision of the remote browser control unit and transmits the image-rendered URL access screen to the user terminal by streaming.
Including remote browser servers.
제12항에서,
상기 원격 브라우저 제어부는,
상기 사용자 단말에서 실행된 웹 브라우저 버전이 돔 렌더링을 지원하고, 상기 유알엘 접속 화면의 부속 구성 요소 로딩이 가능하며, 상기 유알엘 접속 화면의 스트립트 정보가 돔 렌더링에 적합하다고 판단되는 경우에, 상기 돔 렌더링부를 동작시키는, 원격 브라우저 서버.
In paragraph 12:
The remote browser control unit,
If the web browser version executed on the user terminal supports dome rendering, loading of subcomponents of the URL access screen is possible, and the script information of the URL access screen is determined to be suitable for dome rendering, the dome rendering A remote browser server that runs the system.
제13항에서,
유알엘 접속 화면의 렌더링 방식을 매핑한 유알엘 접속 이력을 생성하여 유알엘 접속 이력 DB에 저장하는 유알엘 접속 이력 관리부, 그리고
상기 유알엘 접속 이력 DB에 상기 사용자 단말에서 접속 요청된 유알엘이 등록되어 있는지 확인하는 유알엘 접속 이력 확인부를 더 포함하고,
상기 원격 브라우저 제어부는,
상기 유알엘이 등록되어 있으면, 상기 유알엘에 등록된 렌더링 방식에 따라 상기 돔 렌더링부 또는 상기 이미지 렌더링부를 선택적으로 동작시키는, 원격 브라우저 서버.
In paragraph 13:
A URL connection history management unit that generates a URL connection history mapping the rendering method of the URL connection screen and stores it in the URL access history DB; and
Further comprising a URL connection history confirmation unit that checks whether the URL requested for connection from the user terminal is registered in the URL connection history DB,
The remote browser control unit,
A remote browser server that, when the URL is registered, selectively operates the dome rendering unit or the image rendering unit according to the rendering method registered with the URL.
제13항에서,
상기 사용자 단말에게 웹 브라우저 버전을 요청하여 수신하고, 수신한 웹 브라우저 버전이 돔 렌더링을 지원하는 버전인지 확인하고, 확인 결과를 상기 원격 브라우저 제어부에게 출력하는 브라우저 버전 확인부
를 더 포함하는, 원격 브라우저 서버.
In paragraph 13:
A browser version confirmation unit that requests and receives a web browser version from the user terminal, checks whether the received web browser version supports dome rendering, and outputs the confirmation result to the remote browser control unit.
Further comprising a remote browser server.
제13항에서,
유알엘 접속 화면의 부속 구성 요소의 로딩을 시도하여 상기 부속 구성 요소의 정상적인 로딩이 이루어지는지 확인하고, 확인 결과를 상기 원격 브라우저 제어부에게 출력하는 부속 구성 요소 로딩 확인부
를 더 포함하는, 원격 브라우저 서버.
In paragraph 13:
An auxiliary component loading confirmation unit that attempts to load the auxiliary components of the URL connection screen, checks whether the auxiliary components are loaded normally, and outputs the confirmation result to the remote browser control unit.
Further comprising a remote browser server.
제13항에서,
다양한 스크립트 정보를 학습 데이터로 사용하여, 입력 데이터로부터 돔 렌더링 정보의 적합성 여부를 판단하도록 스크립트 적합성 판단 모델을 학습시키는 스크립트 적합성 판단 모델 학습부, 그리고
유알엘 접속 화면의 스크립트 정보를 상기 스크립트 적합성 판단 모델의 입력 데이터로 사용하여 상기 유알엘 접속 화면의 스크립트 정보가 돔 렌더링에 적합한지 판단하고, 판단 결과를 상기 원격 브라우저 제어부에게 출력하는 스크립트 적합성 판단부
를 더 포함하는, 원격 브라우저 서버.
In paragraph 13:
A script suitability judgment model learning unit that uses various script information as learning data to train a script suitability judgment model to judge the suitability of the dome rendering information from the input data, and
A script suitability determination unit that uses the script information on the URL connection screen as input data for the script suitability determination model to determine whether the script information on the URL connection screen is suitable for dome rendering, and outputs the judgment result to the remote browser control unit.
Further comprising a remote browser server.
제17항에서,
상기 스크립트 적합성 판단부는,
상기 스크립트 적합성 판단 모델이 상기 입력 데이터인 스크립트 정보를 판단 보류로 판정한 경우, 상기 유알엘 접속 화면을 이미지 렌더링한 화면과 상기 유알엘 접속 화면을 돔 렌더링한 화면을 비교하여, 비교 결과가 임계 조건을 충족하면 상기 스크립트 정보를 돔 렌더링 적합으로 판정하고, 상기 비교 결과가 상기 임계 조건을 충족하지 않으면 상기 스크립트 정보를 돔 렌더링 부적합으로 판정하며,
상기 스크립트 적합성 판단 모델 학습부는,
상기 비교 결과를 토대로 판정한 정보를 스크립트 정보에 라벨링한 학습 데이터를 추가로 사용하여 상기 스크립트 적합성 판단 모델을 업데이트하는, 원격 브라우저 서버.
In paragraph 17:
The script suitability determination unit,
When the script suitability determination model determines that the script information, which is the input data, is pending judgment, an image rendering screen of the URL access screen is compared with a dome rendering screen of the URL access screen, and the comparison result satisfies the threshold condition. If so, the script information is determined to be suitable for dome rendering, and if the comparison result does not meet the threshold condition, the script information is determined to be unsuitable for dome rendering,
The script suitability judgment model learning unit,
A remote browser server that updates the script suitability determination model by additionally using learning data labeling script information with information determined based on the comparison result.
사용자 단말과 연결되어 통신하는 통신 장치,
상기 사용자 단말에게 원격 브라우저 서비스를 제공하는 프로그램이 저장된 메모리, 그리고
상기 프로그램을 실행하는 적어도 하나의 프로세서를 포함하고,
상기 프로그램은,
상기 사용자 단말로부터 유알엘(URL, Uniform Resource Locator) 접속 요청을 수신하고,
상기 유알엘 접속 요청을 전송한 상기 사용자 단말의 웹 브라우저 버전이 돔(DOM, Document Object Model) 렌더링(Rendering)을 지원하면,
유알엘 접속 화면의 부속 구성 요소 로딩이 가능한지 확인하여 가능하면,
상기 유알엘 접속 화면의 스크립트 정보를 기 학습된 스크립트 적합성 판단 모델의 입력 데이터로 사용하여 상기 스크립트 정보의 돔 렌더링 적합성 여부를 판단하고,
판단 결과 돔 렌더링 적합하다고 판단되면, 상기 유알엘 접속 화면을 돔 렌더링하고, 돔 렌더링 부적합하다고 판단되면, 상기 유알엘 접속 화면을 이미지 렌더링하며,
돔 렌더링 또는 이미지 렌더링이 수행된 유알엘 접속 화면을 상기 사용자 단말에게 스트리밍 전송하는 명령어들(Instructions)을 포함하는, 컴퓨팅 장치.
A communication device that is connected to and communicates with a user terminal,
A memory storing a program that provides a remote browser service to the user terminal, and
At least one processor executing the program,
The above program is,
Receiving a Uniform Resource Locator (URL) connection request from the user terminal,
If the web browser version of the user terminal that sent the URL access request supports DOM (Document Object Model) rendering,
Check whether it is possible to load the subcomponents of the URL connection screen, and if possible,
Using the script information on the URL access screen as input data for a previously learned script suitability judgment model, determine whether the script information is suitable for dome rendering,
As a result of the determination, if it is determined that dome rendering is suitable, the URL access screen is rendered as a dome, and if it is determined that dome rendering is unsuitable, the URL access screen is rendered as an image,
A computing device comprising instructions for streaming a URL connection screen on which dome rendering or image rendering has been performed to the user terminal.
제19항에서,
상기 프로그램은,
상기 스크립트 적합성 판단 모델이 상기 스크립트 정보를 판단 보류로 판정하면, 상기 유알엘 접속 화면을 이미지 렌더링한 화면과 상기 유알엘 접속 화면을 돔 렌더링한 화면을 비교하고, 비교 결과가 임계 조건을 충족하면 상기 스크립트 정보를 돔 렌더링 적합으로 판정하고, 상기 비교 결과가 상기 임계 조건을 충족하지 않으면 상기 스크립트 정보를 돔 렌더링 부적합으로 판정하며,
돔 렌더링 적합 또는 돔 렌더링 부적합을 라벨링한 상기 스크립트 정보를 추가 학습 데이터로 사용하여 상기 스크립트 적합성 판단 모델을 업데이트하는 명령어들을 포함하는, 컴퓨팅 장치.
In paragraph 19:
The above program is,
When the script suitability determination model determines that the script information is pending judgment, an image rendering screen of the URL access screen is compared with a dome rendering screen of the URL access screen, and if the comparison result satisfies a threshold condition, the script information is determined to be suitable for dome rendering, and if the comparison result does not meet the threshold condition, the script information is determined to be unsuitable for dome rendering,
A computing device comprising instructions for updating the script suitability determination model by using the script information labeling dome rendering suitable or dome rendering unsuitable as additional learning data.
KR1020230047464A 2022-04-19 2023-04-11 Method and apparatus for hybrid remote browser service KR20230149235A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220048163 2022-04-19
KR1020220048163 2022-04-19

Publications (1)

Publication Number Publication Date
KR20230149235A true KR20230149235A (en) 2023-10-26

Family

ID=88508884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230047464A KR20230149235A (en) 2022-04-19 2023-04-11 Method and apparatus for hybrid remote browser service

Country Status (1)

Country Link
KR (1) KR20230149235A (en)

Similar Documents

Publication Publication Date Title
US11032140B2 (en) Using a template to update a stack of resources
US10104188B2 (en) Customized browser images
CN103782294B (en) Remote browsing session management
US8799412B2 (en) Remote browsing session management
CN110891057B (en) Protocol conversion method, device, equipment and storage medium
EP3734933B1 (en) Resource acquisition method, server and storage medium
US8380812B2 (en) Source identification for multipart content validation
CN109413140B (en) Remote automatic upgrading method for PACS server
US20130086138A1 (en) Implementing a java method
CN110929128A (en) Data crawling method, device, equipment and medium
US20210397646A1 (en) Method, electronic device, and storage medium for processing visual data of deep model
CN114489622A (en) Js application, electronic device, and storage medium
CN113821254A (en) Interface data processing method, device, storage medium and equipment
CN113761412A (en) Application page display method and device, electronic equipment, medium and application system
KR20230149235A (en) Method and apparatus for hybrid remote browser service
US11741045B2 (en) Format agnostic database migration
CN113726610B (en) Routing protocol-based UI (user interface) automatic test method, device, equipment and medium
CN113590564B (en) Data storage method, device, electronic equipment and storage medium
CN114610446A (en) Method, device and system for automatically injecting probe
CN113742104A (en) AI-based RPA (resilient packet Access) body-separating function generation method and device
CN109656535B (en) Voice skill off-line development method based on browser
CN109597952B (en) Webpage information processing method, system, electronic equipment and storage medium
CN112416698B (en) Expansion method and device of monitoring system, storage medium and electronic equipment
CN112491940A (en) Request forwarding method and device of proxy server, storage medium and electronic equipment
CN111158654A (en) Algorithm calling method, device, server and storage medium