KR20230149235A - Method and apparatus for hybrid remote browser service - Google Patents
Method and apparatus for hybrid remote browser service Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000009877 rendering Methods 0.000 claims abstract description 277
- 238000013515 script Methods 0.000 claims description 181
- 238000012790 confirmation Methods 0.000 claims description 40
- 238000004891 communication Methods 0.000 claims description 10
- 238000002372 labelling Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000012549 training Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 3
- LZDYZEGISBDSDP-UHFFFAOYSA-N 2-(1-ethylaziridin-1-ium-1-yl)ethanol Chemical compound OCC[N+]1(CC)CC1 LZDYZEGISBDSDP-UHFFFAOYSA-N 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- CVOFKRWYWCSDMA-UHFFFAOYSA-N 2-chloro-n-(2,6-diethylphenyl)-n-(methoxymethyl)acetamide;2,6-dinitro-n,n-dipropyl-4-(trifluoromethyl)aniline Chemical compound CCC1=CC=CC(CC)=C1N(COC)C(=O)CCl.CCCN(CCC)C1=C([N+]([O-])=O)C=C(C(F)(F)F)C=C1[N+]([O-])=O CVOFKRWYWCSDMA-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000009349 indirect transmission Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval 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
본 발명은 하이브리드 원격 브라우저 서비스 방법 및 그 장치에 관한 것으로서, 원격 브라우저 서비스를 위한 웹 페이지 렌더링 방식을 선택하는 방법 및 그 장치에 관한 것이다.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
원격 브라우저 서버(100)와 사용자 단말(200)은 네트워크(300)를 통해 연결되어 통신한다. 네트워크(300)는 유선 통신망, 이동통신망, 무선망 및 이들의 조합으로 이루어질 수 있다. 예를 들면, 유선 통신망은 IP(Internet Protocol) 기반의 유선망을 포함한다. 이동통신망은 5G망, LTE(Long term evolution)망, WCDMA(wideband code division multiple access)망 등을 포함한다. 무선망은 Wi-Fi 망과 같은 다양한 종류의 무선망을 포함한다. 그러나, 네트워크(300)는 전술한 바와 같은 이미 구축된 망 뿐만 아니라 앞으로 개발된 망을 모두 포함할 수 있으므로, 특정 기술로 국한되지 아니한다.The
원격 브라우저 서버(100)는 사용자 단말(200)에게 원격 브라우저 서비스를 제공한다. 원격 브라우저 서비스는 원격 브라우저 서버(100)가 사용자 단말(200)을 대신하여, 유알엘(URL, Uniform Resource Locator)에 접속한 뒤, 그 일련의 과정이 마치 사용자 단말(200)에서 진행되고 있는 것과 같은 사용자 경험(UX, User experience)을 제공하는 서비스이다.The
원격 브라우저 서버(100)는 사용자 단말(200)의 웹 브라우저가 접속을 요청한 유알엘로 접속하여 렌더링한 유알엘 접속 화면을 사용자 단말(200)에게 스트리밍 전송한다. 원격 브라우저 서버(100)는 사용자 단말(200)로부터 유알엘 접속 화면에 대한 피드백 정보를 수신하고, 피드백 정보를 적용한 웹 페이지를 다시 사용자 단말(200)에게 스트리밍 전송할 수 있다.The
이때, 원격 브라우저 서버(100)에서 실행되는 웹 브라우저는 원격 브라우저로 호칭하고, 사용자 단말(200)에서 실행되는 웹 브라우저는 로컬 브라우저로 호칭한다.At this time, the web browser running on the
원격 브라우저 서버(100)는 유알엘 접속 화면을 로컬 브라우저(201)와 실질적으로 동일한 UX를 제공할 수 있도록 렌더링한 뒤, 스트리밍할 수 있다. The
사용자 단말(200)의 라이트(Light) 클라이언트(Client) 모듈(202)은 원격 브라우저 서버(100)에서 렌더링한 유알엘 접속 화면을 스트리밍하여 웹 페이지 표시 창을 표시할 수 있다.The light client module 202 of the
유알엘 접속 화면은 웹 페이지로서, 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
사용자 단말(200)은 사용자가 소지한 휴대 가능한 다양한 종류의 디바이스일 수 있다. 예를 들어, 사용자 단말(200)은 스마트 폰, PC, 태블릿 PC 등을 포함할 수 있다. The
원격 브라우저 서버(100)는 유알엘 접속 화면을 돔(DOM, Document Object Model) 렌더링(Rendering) 또는 이미지 렌더링(Image Rendering) 할 수 있다.The
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
돔 렌더링에 실패하는 경우는 세가지 경우가 있다. 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
원격 브라우저 서버(100)는 유알엘 접속 화면의 부속 구성 요소의 로딩을 시도하여 로딩이 정상적으로 이루어지는지 판단할 수 있다.The
스크립트를 작성하는 방법은 매우 다양한 조합이 가능하므로 유알엘 문서 스크립트의 돔 렌더링 적합성을 판단하는 기준을 사전에 획득하는 것은 용이하지 않다. 스크립트를 작성하는 방법은 스크립트를 개발한 개발자에 따라 매우 다양하나 대체로 샘플 코드를 다양한 방법으로 재조합 하여 사용하는 경우가 많다. 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
스크립트 적합성 판단 모델은 인공지능(Artificial Intelligence, AI) 모델로 구현될 수 있다. The script suitability judgment model can be implemented as an artificial intelligence (AI) model.
원격 브라우저 서버(100)는 학습된 스크립트 적합성 판단 모델을 이용하여, 유알엘 접속 화면의 스크립트가 돔 렌더링에 적합한지 판단할 수 있다. The
이와 같이, 원격 브라우저 서버(100)는 돔 렌더링을 기본으로 하되 돔 렌더링에 적용할 수 없을 경우, 즉, 돔 렌더링에 실패하거나 또는 실패가 예상되는 경우, 이미지 렌더링을 수행함으로써, 이미지 렌더링과 돔 렌더링을 선택적으로 적용하는 하이브리드 원격 브라우저 서비스를 제공할 수 있다.In this way, the
도 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
도 2를 참조하면, 사용자 단말(200)이 로컬 브라우저(201)를 구동(S101)하여 사용자가 선택한 유알엘 링크를 클릭하는 사용자 입력 신호가 발생(S102)하면, 유알엘 접속 요청을 원격 브라우저 서버(100)에게 전송한다(S103).Referring to FIG. 2, when the
원격 브라우저 서버(100)는 유알엘 접속 화면의 렌더링 방식을 선택한다(S104). The
원격 브라우저 서버(100)는 선택한 렌더링 방식으로 유알엘 접속 화면을 렌더링(S105)하고, 렌더링한 유알엘 접속 화면을 사용자 단말(200)에게 스트리밍 전송한다(S106). The
사용자 단말(200)은 라이트 클라이언트 모듈(202)을 실행하여 유알엘 접속 화면을 로컬 브라우저(201)에 출력한다(S107). 이처럼, 사용자 단말(200)은 원격 브라우저 서비스를 통해, 로컬 브라우저(201)에서 직접 유알엘로 접속하여 렌더링한 유알엘 접속 화면과 동일한 형태의 화면, 즉, 원 콘텐츠와 동일한 형태의 화면을 출력(S107)할 수 있다.The
원격 브라우저 서버(100)는 사용자 단말(200)로부터 요청 받은 유알엘로 접속한 화면을 렌더링하고, 렌더링한 웹 페이지를 사용자 단말에게 스트리밍한다. The
이때, 렌더링 방식은 돔 렌더링 또는 이미지 렌더링 중에서 채택될 수 있다.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
도 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
도 3을 참조하면, 원격 브라우저 서버(100)는 원격 브라우저 제어부(101), 브라우저 버전 확인부(102), 유알엘 접속 이력 확인부(103), 유알엘 접속 이력 관리부(104), 유알엘 접속 이력 DB(105), 부속 구성 요소 로딩 확인부(106), 스크립트 적합성 판단 모델 학습부(107), 스크립트 적합성 판단부(108), 돔 렌더링부(109), 이미지 렌더링부(110)를 포함할 수 있다.Referring to FIG. 3, the
원격 브라우저 제어부(101)는 브라우저 버전 확인부(102), 유알엘 접속 이력 확인부(103), 유알엘 접속 이력 관리부(104), 유알엘 접속 이력 DB(105), 부속 구성 요소 로딩 확인부(106), 스크립트 적합성 판단 모델 학습부(107), 스크립트 적합성 판단부(108), 돔 렌더링부(109), 이미지 렌더링부(110)와 연동하여, 원격 브라우저 서버(100)의 전체적인 동작을 제어한다.The remote
원격 브라우저 제어부(101)는 사용자 단말(200)로부터 유알엘 접속 요청이 수신되면, 브라우저 버전 확인부(102)에게 유알엘 접속 요청 수신을 통보한다. When a URL connection request is received from the
브라우저 버전 확인부(102)는 원격 브라우저 제어부(101)에게 로컬 브라우저 버전 정보를 요청한다. 원격 브라우저 제어부(101)는 사용자 단말(200)에게 로컬 브라우저 버전 정보를 요청하여 수신한다. 원격 브라우저 제어부(101)는 사용자 단말(200)로부터 수신한 로컬 브라우저 버전 정보를 브라우저 버전 확인부(102)에게 출력한다.The browser
브라우저 버전 확인부(102)는 사용자 단말(200)의 로컬 브라우저 버전이 등록된 최신 버전과 동일하면, 돔 렌더링 가능하다는 결과를 원격 브라우저 제어부(101)에게 리턴 한다. 브라우저 버전 확인부(102)는 사용자 단말(200)의 로컬 브라우저 버전이 등록된 최신 버전과 다르면, 돔 렌더링이 불가하다는 결과를 원격 브라우저 제어부(101)에게 리턴 한다. If the local browser version of the
원격 브라우저 제어부(101)는 사용자 단말(200)로부터 수신한 유알엘을 유알엘 접속 이력 확인부(103)에게 전달하여 유알엘 접속 이력 확인을 요청한다. The remote
유알엘 접속 이력 확인부(103)는 유알엘 접속 이력 DB(105)를 조회하여, 사용자 단말(200)로부터 수신한 유알엘이 등록되어 있는지 확인한다. The URL connection
유알엘 접속 이력 확인부(103)는 유알엘이 등록되어 있으면, 유알엘 접속 이력 DB(105)로부터 유알엘에 매칭된 렌더링 방식을 확인하고, 확인한 렌더링 방식을 포함하는 유알엘 등록 정보를 원격 브라우저 제어부(101)에게 리턴한다. If the URL is registered, the URL connection
유알엘 접속 이력 확인부(103)는 유알엘이 등록되어 있지 않으면, 유알엘 접속 이력이 없음을 알리는 정보를 원격 브라우저 제어부(101)에게 리턴한다.If the URL is not registered, the URL access
유알엘 접속 이력 관리부(104)는 유알엘에 포함된 콘텐츠의 버전을 확인할 수 없으므로, 유알엘 별로 일정 시간이 경과하면 폐기할 수 있다.Since the URL access
한 실시예에 따르면, 유알엘 접속 이력 관리부(104)는 유알엘 별로 등록 시간, 접속 이력 조회 시간을 유알엘 접속 로그로 관리하고, 유알엘 접속 로그의 가장 최근의 시간이 현 시간과 임계 시간 차이가 있으면, 접속 이력이 없는 유알엘로 간주하여 해당 유알엘을 폐기할 수 있다. 즉, 유알엘 접속 이력 관리부(104)는 유알엘 접속 로그에 저장된 가장 최근 시간, 즉 가장 마지막의 접속 이력 조회 시간을 현재 시간과 비교해서, 시간 차이가 임계 시간(예, 24시간)을 초과(또는 이상) 한다면, 접속 이력이 없는 유알엘로 간주할 수 있다.According to one embodiment, the URL access
유알엘 접속 이력 관리부(104)는 원격 브라우저 제어부(101)로부터 수신한 유알엘과 렌더링 방식을 매칭한 유알엘 접속 이력을 생성하고, 생성한 유알엘 접속 이력을 유알엘 접속 이력 DB(105)에 저장할 수 있다. The URL connection
유알엘 접속 이력 관리부(104)는 유알엘 접속 이력을 주기적으로 갱신하기 위해 일련의 과정을 자동적으로 수행하고 그 결과를 유알엘 접속 이력 DB(105)에 저장할 수 있다. The URL access
유알엘 접속 이력 DB(105)는 유알엘에 대해 어떤 렌더링이 적합한지를 관리하는 DB로서, 유알엘에 존재하는 콘텐츠의 변경 여부를 판별할 수 있는 정보를 관리할 수 있다. 즉, 유알엘 접속 이력 DB(105)는 유알엘 별로 유알엘과 렌더링 방식을 매칭한 유알엘 접속 이력을 저장할 수 있다.The URL
부속 구성 요소 로딩 확인부(106)는 원격 브라우저 제어부(101)에게 유알엘 정보를 전달하면서 부속 구성 요소의 로딩을 요청한다. 그러면, 부속 구성 요소 로딩 확인부(106)는 유알엘 접속 화면의 부속 구성 요소의 로딩을 시도하여, 로딩 여부를 확인하고, 로딩 여부를 원격 브라우저 제어부(101)에게 출력한다.The subcomponent
스크립트 적합성 판단 모델 학습부(107)는 입력 데이터인 유알엘 접속 화면의 스크립트가 돔 렌더링에 적합한지를 나타내는 분류 정보를 출력하도록 스크립트 적합성 판단 모델을 학습시킨다.The script suitability determination
스크립트 적합성 판단 모델은 훈련 과정에서 입력과 출력 사이의 관계를 학습하고, 새로운 입력으로부터 스크립트 적합성 판단 결과를 출력할 수 있다. 스크립트 적합성 판단 결과는 적합, 부적합, 판단 보류 중 하나를 포함한다. 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
스크립트를 작성하는 개발자에 따라 사용하는 스크립트의 내용과 방식은 매우 상이할 것으로 판단되나 샘플코드를 각자가 발전시킨 형태로 작성되고 있으며, 스크립트 문법에 의존하여 개발하여 자연어에 비해 특정한 규칙성을 지니고 있다. 이러한 규칙성을 기반으로 특정 콘텐츠에 사용된 스크립트의 돔 렌더링 적합성을 판단하는 인공지능 모델이 생성될 수 있다. 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
스크립트 적합성 판단부(108)는 원격 브라우저 제어부(101)로부터 유알엘 접속 화면의 스크립트 적합성 판단 요청을 수신하면, 유알엘 접속 화면의 스크립트가 돔 렌더링에 적합한지를 판단하고, 판단 결과를 리턴한다.When the script
스크립트 적합성 판단부(108)는 기 학습된 스크립트 적합성 판단 모델을 이용하여 입력 데이터인 유알엘 접속 화면의 스크립트 정보가 돔 렌더링에 적합한지 판단할 수 있다. The script
스크립트 적합성 판단부(108)는 판단 결과가 판단 보류일 경우, 유알엘 접속 화면을 이미지 렌더링한 화면과 유알엘 접속 화면을 돔 렌더링한 화면을 비교하여, 비교 결과가 임계 조건을 충족하면, 돔 렌더링 적합으로 판단하고 임계 조건을 충족하지 않으면 돔 렌더링 부적합으로 판단할 수 있다.If the judgment result is pending judgment, the script
또한, 스크립트 적합성 판단부(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
돔 렌더링부(109)는 유알엘 접속 화면을 구성하는 원 콘텐츠를 해석하여 돔 구조체 형태로 재구성하는 돔 렌더링을 수행하고, 돔 렌더링된 유알엘 접속 화면 사용자 단말(200)에게 스트리밍 전송한다. 돔 렌더링부(109)는 사용자 단말(200)로부터 수신되는 반응, 즉, 피드백 정보를 유알엘로 전달하고, 그 결과를 다시 수신 및 렌더링하여 사용자 단말(200)에게 전송할 수 있다. The
이미지 렌더링부(110)는 유알엘 접속 화면을 구성하는 원 콘텐츠를 해석하여 이미지 및 메타 정보 형태로 재구성하는 이미지 렌더링을 수행하고, 이미지 렌더링된 유알엘 접속 화면을 사용자 단말(200)에게 스트리밍 전송한다. 이미지 렌더링부(110)는 사용자 단말(200)로부터 수신되는 반응, 즉, 피드백 정보를 유알엘로 전달하고, 그 결과를 다시 수신 및 렌더링하여 사용자 단말(200)에게 전송할 수 있다.The
이때, 렌더링 화면은 원격 브라우저 제어부(101)를 통해 사용자 단말(200)에게 스트리밍 전송되고, 그 피드백 정보를 원격 브라우저 제어부(101)가 수신하여 각 렌더링부(109, 110)에게 전달할 수도 있다.At this time, the rendered screen is transmitted streaming to the
도 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
원격 브라우저 서버(100)의 브라우저 버전 확인부(102)는 사용자 단말(200)의 로컬 브라우저(201)의 버전 정보를 사용자 단말(200)로부터 수신한다(S202). The browser
이때, 원격 브라우저 제어부(101)가 유알엘 접속 요청이 수신되었을 때, 사용자 단말(200)에게 로컬 브라우저(201)의 버전 정보를 요청하여 수신할 수 있다. At this time, when a URL connection request is received, the remote
브라우저 버전 확인부(102)는 원격 브라우저 제어부(101)로부터 로컬 브라우저 버전 정보를 수신하고, 로컬 브라우저 버전이 돔 렌더링을 지원하는 버전인지 판단한다(S203). The browser
이때, 브라우저 버전 확인부(102)는 돔 렌더링이 가능한 최신의 웹 브라우저 버전 정보를 저장하고 있다. At this time, the browser
기본적으로, 돔 렌더링을 하기 위해서는 최신의 웹 브라우저 환경이 필요하다. 출시된 지 오래된 웹 브라우저는 돔 렌더링을 통해 재구성된 콘텐츠를 제대로 표현할 수 없다. 따라서, 웹 브라우저 버전은 돔 렌더링 가능 유무를 판단하는데 중요한 요소이다.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
유알엘 접속 이력 확인부(103)는 유알엘 접속 이력 DB(105)에 접속 요청된 유알엘이 등록되어 있는지 유무에 따라 유알엘 이력 여부를 판단할 수 있다(S205).The URL access
유알엘 접속 이력 확인부(103)가 S205에서 유알엘 접속 이력 DB(105)에 등록된 유알엘이 아니라고 판단한 경우, 부속 구성 요소 로딩 확인부(106)는 유알엘 문서가 부속 구성 요소 로딩이 가능한 문서인지 확인한다(S206).If the URL connection
따라서, 유알엘 문서가 부속 구성 요소 로딩이 가능한 웹 문서인지 확인하기 위해, 부속 구성 요소 로딩 확인부(106)는 유알엘로 접속하여 유알엘 문서의 부속 구성 요소 로딩을 시도하고, 정상적으로 부속 구성 요소 로딩이 이루어지는지 확인할 수 있다(S206).Therefore, in order to check whether the URL document is a web document capable of loading subcomponents, the subcomponent
부속 구성 요소 로딩 확인부(106)는 S206의 로딩 결과를 토대로, 부속 구성 요소 로딩이 가능한 유알엘 문서인지 판단한다(S207).The auxiliary component
부속 구성 요소 로딩 확인부(106)가 부속 구성 요소 로딩이 가능한 유알엘 문서로 판단한 경우, 스크립트 적합성 판단부(108)는 유알엘 스크립트의 돔 렌더링 적합성을 확인(S208)하고, 확인 정보를 토대로 유알엘의 스크립트가 돔 렌더링이 적합한지 판단한다(S209).If the subcomponent
스크립트 적합성 판단부(108)가 돔 렌더링 적합으로 판단한 경우, 원격 브라우저 제어부(101)는 유알엘로 접속한 화면을 렌더링할 방식으로 돔 렌더링 방식을 선택한다(S210).If the script
스크립트 적합성 판단부(108)가 돔 렌더링이 적합하지 않다고 판단한 경우, 원격 브라우저 제어부(101)는 유알엘로 접속한 화면을 렌더링할 방식으로 이미지 렌더링 방식을 선택한다(S211).If the script
한편, 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
원격 브라우저 서버(100)는 S210, S211, S212에서 각각 선택한 렌더링 방식으로 유알엘 접속 화면을 렌더링하고, 렌더링 화면을 사용자 단말(200)에게 스트리밍한다(S213). The
즉, S213에서, 원격 브라우저 제어부(101)는 S210, S211, S212에서 각각 선택한 렌더링을 처리할 돔 렌더링부(109) 또는 이미지 렌더링부(110)에게 렌더링을 요청한다. 그러면, 돔 렌더링부(109) 또는 이미지 렌더링부(110)는 유알엘 접속 화면을 돔 렌더링 또는 이미지 렌더링하고, 렌더링 화면을 원격 브라우저 제어부(101)에게 출력한다. 그러면, 원격 브라우저 제어부(101)는 렌더링 화면을 사용자 단말(200)에게 스트리밍한다.That is, in S213, the remote
S210 또는 S211 이후, S213과 독립적으로, 유알엘 접속 이력 관리부(104)는 S210 또는 S211에서 선택한 렌더링 방식과 해당 유알엘을 매칭한 유알엘 접속 이력을 생성하고, 유알엘 접속 이력을 유알엘 접속 이력 DB(105)에 저장한다(S214). After S210 or S211, independently of S213, the URL connection
이와 같이, 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
여기서, 스크립트 적합성 판단 모델은 다양한 스크립트 정보를 학습 데이터로 사용하여, 입력 데이터로부터 돔 렌더링을 위한 스크립트 적합성 결과로서, 적합, 부적합, 판단 보류 중에서 하나의 분류 결과를 출력하도록 학습된다.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
반면, 스크립트 적합성 판단부(108)는 S302에서 판단 보류로 판단되면, 유알엘 접속 화면을 이미지 렌더링한 화면과 돔 렌더링한 화면을 비교한다(S303).On the other hand, if the script
한 실시예에 따르면, 스크립트 적합성 판단부(108)는 S303에서 두 화면의 차이값이 기준값 이하인지 판단한다(S304). 여기서, 두 화면의 차이값은 이미 공지된 이미지들의 차분값 생성 알고리즘이 사용될 수 있다. According to one embodiment, the script
스크립트 적합성 판단부(108)는 S304에서 화면 차이값이 기준값 이하로 판단되면, 돔 렌더링 적합으로 결정한다(S305).If the script
스크립트 적합성 판단부(108)는 S304에서 화면 차이값이 기준값을 초과하면, 이미지 렌더링 적합으로 결정한다(S306).If the screen difference value exceeds the reference value in S304, the script
다른 실시예에 따르면, 스크립트 적합성 판단부(108)는 S303에서 두 화면의 유사도를 계산하고, 유사도가 기준값 이상인지 판단한다(S304). 여기서, 두 화면의 유사도는 이미 공지된 이미지들의 유사도를 계산하는 알고리즘이 사용될 수 있다.According to another embodiment, the script
스크립트 적합성 판단부(108)는 S304에서 화면 유사도가 기준값 이상으로 판단되면, 돔 렌더링 적합으로 결정한다(S305).If the script
스크립트 적합성 판단부(108)는 S304에서 화면 유사도가 기준값 미만이면, 이미지 렌더링 적합으로 결정한다(S306).If the screen similarity is less than the reference value in S304, the script
스크립트 적합성 판단 모델 학습부(107)는 S305에서 돔 렌더링 적합으로 판단된 유알엘 스크립트 정보 또는 S306에서 이미지 렌더링 적합으로 판단된 유알엘 스크립트 정보를 학습 데이터로 추가하여 스크립트 적합성 판단 모델을 업데이트한다(S307). 이때, 이미지 렌더링 적합으로 판단된 유알엘 스크립트 정보는 돔 렌더링 부적합을 라벨링하여 학습 데이터로 사용된다.The script suitability determination
이와 같이, 스크립트 적합성 판단시 획득한 스크립트 정보를 학습 데이터로 활용하므로, 돔 렌더링 적합성 판단의 정확성을 높일 수 있다.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
컴퓨팅 장치(400)는 하나 이상의 프로세서(401), 프로세서(401)에 의하여 수행되는 컴퓨터 프로그램을 로드 하는 메모리(402), 컴퓨터 프로그램 및 각종 데이터를 저장하는 저장 장치(403), 통신 인터페이스(404), 그리고 이들을 연결하는 버스(405)를 포함할 수 있다. 이외에도, 컴퓨팅 장치(400)는 다양한 구성 요소가 더 포함될 수 있다. The
프로세서(401)는 컴퓨팅 장치(400)의 동작을 제어하는 장치로서, 컴퓨터 프로그램에 포함된 명령어들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. The
메모리(402)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(402)는 본 개시의 동작을 실행하도록 기술된 명령어들이 프로세서(401)에 의해 처리되도록 해당 컴퓨터 프로그램을 저장 장치(403)로부터 로드 할 수 있다. 메모리(402)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다.
저장 장치(403)는 컴퓨터 프로그램, 각종 데이터를 비임시적으로 저장할 수 있다. 저장 장치(403)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The
통신 인터페이스(404)는 유/무선 통신을 지원하는 유/무선 통신 모듈일 수 있다. The
버스(405)는 컴퓨팅 장치(400)의 구성 요소 간 통신 기능을 제공한다.
컴퓨터 프로그램은, 프로세서(401)에 의해 실행되는 명령어들(instructions)을 포함하고, 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장되며, 명령어들은 프로세서(401)가 본 개시의 동작을 실행하도록 만든다. 컴퓨터 프로그램은 네트워크를 통해 다운로드 되거나, 제품 형태로 판매될 수 있다.The computer program includes instructions executed by the
한 실시예에 따른 컴퓨터 프로그램은, 사용자 단말(200)로부터 유알엘 접속 요청을 수신하고, 사용자 단말(200)의 웹 브라우저 버전이 돔 렌더링을 지원하면, 유알엘 접속 화면의 부속 구성 요소 로딩이 가능한지 확인하여 가능하면, 상기 유알엘 접속 화면의 스크립트 정보를 기 학습된 스크립트 적합성 판단 모델의 입력 데이터로 사용하여 상기 스크립트 정보의 돔 렌더링 적합성 여부를 판단하고, 판단 결과 돔 렌더링 적합하다고 판단되면, 상기 유알엘 접속 화면을 돔 렌더링하고, 돔 렌더링 부적합하다고 판단되면, 상기 유알엘 접속 화면을 이미지 렌더링하며, 돔 렌더링 또는 이미지 렌더링이 수행된 유알엘 접속 화면을 상기 사용자 단말에게 스트리밍 전송하는 명령어들(Instructions)을 포함할 수 있다.The computer program according to one embodiment receives a URL connection request from the
또한, 컴퓨터 프로그램은 스크립트 적합성 판단 모델이 스크립트 정보를 판단 보류로 판정하면, 유알엘 접속 화면을 이미지 렌더링한 화면과 유알엘 접속 화면을 돔 렌더링한 화면을 비교하고, 비교 결과가 임계 조건을 충족하면 스크립트 정보를 돔 렌더링 적합으로 판정하고, 비교 결과가 상기 임계 조건을 충족하지 않으면 스크립트 정보를 돔 렌더링 부적합으로 판정하며, 돔 렌더링 적합 또는 돔 렌더링 부적합을 라벨링한 스크립트 정보를 추가 학습 데이터로 사용하여 스크립트 적합성 판단 모델을 업데이트할 수 있다.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
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.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.
상기 렌더링하는 단계는,
상기 유알엘 접속 화면을 돔(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.
상기 렌더링하는 단계 이전에,
상기 유알엘 접속 화면의 스크립트 정보를 기 학습된 스크립트 적합성 판단 모델의 입력 데이터로 사용하여, 상기 스크립트 정보의 돔 렌더링 적합성 판단 여부를 결정하는 단계를 더 포함하고,
상기 렌더링하는 단계는,
상기 스크립트 적합성 판단 모델이 상기 스크립트 정보를 돔 렌더링 적합으로 판정한 경우, 상기 유알엘 접속 화면을 돔 렌더링 방식으로 렌더링하고,
상기 스크립트 적합성 판단 모델이 상기 스크립트 정보를 돔 렌더링 부적합으로 판정한 경우, 상기 유알엘 접속 화면을 이미지 렌더링 방식으로 렌더링하는, 방법.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.
상기 결정하는 단계 이후,
상기 스크립트 적합성 판단 모델이 상기 스크립트 정보를 판단 보류로 판정한 경우, 상기 유알엘 접속 화면을 이미지 렌더링한 화면과 상기 유알엘 접속 화면을 돔 렌더링한 화면을 비교하고, 비교 결과가 임계 조건을 충족하면 상기 스크립트 정보를 돔 렌더링 적합으로 판정하고, 상기 비교 결과가 상기 임계 조건을 충족하지 않으면 상기 스크립트 정보를 돔 렌더링 부적합으로 판정하는 단계
를 더 포함하는, 방법.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:
상기 판정하는 단계 이후,
돔 렌더링 적합 또는 돔 렌더링 부적합으로 라벨링한 상기 스크립트 정보를 추가 학습 데이터로 사용하여 상기 스크립트 적합성 판단 모델을 업데이트하는 단계
를 더 포함하는, 방법.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:
상기 판정하는 단계는,
상기 돔 렌더링한 화면과 상기 이미지 렌더링한 화면의 차이값 또는 유사도를 기준값과 비교하여 상기 돔 렌더링 적합 유무를 판정하는, 방법.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.
상기 결정하는 단계 이전에,
상기 유알엘 접속 화면의 부속 구성 요소 로딩이 가능한지 판단하는 단계를 더 포함하고,
상기 결정하는 단계는,
상기 유알엘 접속 화면의 부속 구성 요소 로딩이 가능한 경우에 수행되는, 방법.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.
상기 판단하는 단계 이전에,
상기 사용자 단말로부터 상기 사용자 단말의 웹 브라우저 버전 정보를 수신하고, 상기 웹 브라우저 버전 정보가 돔 렌더링을 지원하는 버전인지 확인하는 단계를 더 포함하고,
상기 판단하는 단계는,
상기 웹 브라우저 버전 정보가 돔 렌더링을 지원하는 버전으로 확인된 경우에 수행되는, 방법.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.
상기 확인하는 단계와 상기 판단하는 단계 사이에,
상기 사용자 단말이 접속을 요청한 유알엘의 돔 렌더링 적합성 판단 이력이 있는지 데이터베이스로부터 확인하는 단계를 더 포함하고,
상기 판단하는 단계는,
상기 유알엘의 돔 렌더링 적합성 판단 이력이 상기 데이터베이스로부터 조회되지 않는 경우에 수행되는, 방법.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.
상기 확인하는 단계 이후,
상기 유알엘의 돔 렌더링 적합성 판단 이력이 상기 데이터베이스로부터 조회되면, 상기 데이터베이스로부터 상기 유알엘에 매칭 등록된 렌더링 방식을 선택하는 단계를 더 포함하고,
상기 렌더링하는 단계는,
상기 선택한 렌더링 방식을 사용하여 유알엘 접속 화면을 렌더링하는 방법.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.
상기 렌더링하는 단계는,
상기 사용자 단말의 웹 브라우저 버전이 돔 렌더링을 지원하지 않는 경우, 상기 유알엘 접속 화면의 부속 구성 요소 로딩에 실패하는 경우, 및 상기 유알엘 접속 화면의 스크립트 정보가 돔 렌더링 부적합으로 판정된 경우 중 적어도 하나의 경우에 해당하면, 상기 유알엘 접속 화면을 이미지 렌더링 방식으로 렌더링하는, 방법.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.
상기 원격 브라우저 제어부의 결정에 따라 상기 유알엘 접속 화면을 돔 렌더링하고, 돔 렌더링한 유알엘 접속 화면을 상기 사용자 단말에게 스트리밍 전송하는 돔 렌더링부, 그리고
상기 원격 브라우저 제어부의 결정에 따라 상기 유알엘 접속 화면을 이미지 렌더링하고, 이미지 렌더링한 유알엘 접속 화면을 상기 사용자 단말에게 스트리밍 전송하는 이미지 렌더링부
를 포함하는, 원격 브라우저 서버.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.
상기 원격 브라우저 제어부는,
상기 사용자 단말에서 실행된 웹 브라우저 버전이 돔 렌더링을 지원하고, 상기 유알엘 접속 화면의 부속 구성 요소 로딩이 가능하며, 상기 유알엘 접속 화면의 스트립트 정보가 돔 렌더링에 적합하다고 판단되는 경우에, 상기 돔 렌더링부를 동작시키는, 원격 브라우저 서버.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.
유알엘 접속 화면의 렌더링 방식을 매핑한 유알엘 접속 이력을 생성하여 유알엘 접속 이력 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.
상기 사용자 단말에게 웹 브라우저 버전을 요청하여 수신하고, 수신한 웹 브라우저 버전이 돔 렌더링을 지원하는 버전인지 확인하고, 확인 결과를 상기 원격 브라우저 제어부에게 출력하는 브라우저 버전 확인부
를 더 포함하는, 원격 브라우저 서버.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.
유알엘 접속 화면의 부속 구성 요소의 로딩을 시도하여 상기 부속 구성 요소의 정상적인 로딩이 이루어지는지 확인하고, 확인 결과를 상기 원격 브라우저 제어부에게 출력하는 부속 구성 요소 로딩 확인부
를 더 포함하는, 원격 브라우저 서버.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.
다양한 스크립트 정보를 학습 데이터로 사용하여, 입력 데이터로부터 돔 렌더링 정보의 적합성 여부를 판단하도록 스크립트 적합성 판단 모델을 학습시키는 스크립트 적합성 판단 모델 학습부, 그리고
유알엘 접속 화면의 스크립트 정보를 상기 스크립트 적합성 판단 모델의 입력 데이터로 사용하여 상기 유알엘 접속 화면의 스크립트 정보가 돔 렌더링에 적합한지 판단하고, 판단 결과를 상기 원격 브라우저 제어부에게 출력하는 스크립트 적합성 판단부
를 더 포함하는, 원격 브라우저 서버.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.
상기 스크립트 적합성 판단부는,
상기 스크립트 적합성 판단 모델이 상기 입력 데이터인 스크립트 정보를 판단 보류로 판정한 경우, 상기 유알엘 접속 화면을 이미지 렌더링한 화면과 상기 유알엘 접속 화면을 돔 렌더링한 화면을 비교하여, 비교 결과가 임계 조건을 충족하면 상기 스크립트 정보를 돔 렌더링 적합으로 판정하고, 상기 비교 결과가 상기 임계 조건을 충족하지 않으면 상기 스크립트 정보를 돔 렌더링 부적합으로 판정하며,
상기 스크립트 적합성 판단 모델 학습부는,
상기 비교 결과를 토대로 판정한 정보를 스크립트 정보에 라벨링한 학습 데이터를 추가로 사용하여 상기 스크립트 적합성 판단 모델을 업데이트하는, 원격 브라우저 서버.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.
상기 프로그램은,
상기 스크립트 적합성 판단 모델이 상기 스크립트 정보를 판단 보류로 판정하면, 상기 유알엘 접속 화면을 이미지 렌더링한 화면과 상기 유알엘 접속 화면을 돔 렌더링한 화면을 비교하고, 비교 결과가 임계 조건을 충족하면 상기 스크립트 정보를 돔 렌더링 적합으로 판정하고, 상기 비교 결과가 상기 임계 조건을 충족하지 않으면 상기 스크립트 정보를 돔 렌더링 부적합으로 판정하며,
돔 렌더링 적합 또는 돔 렌더링 부적합을 라벨링한 상기 스크립트 정보를 추가 학습 데이터로 사용하여 상기 스크립트 적합성 판단 모델을 업데이트하는 명령어들을 포함하는, 컴퓨팅 장치.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.
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) |
-
2023
- 2023-04-11 KR KR1020230047464A patent/KR20230149235A/en unknown
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 |