KR102031732B1 - Apparatus and methods of supporting fast web scrolling - Google Patents

Apparatus and methods of supporting fast web scrolling

Info

Publication number
KR102031732B1
KR102031732B1 KR1020120112151A KR20120112151A KR102031732B1 KR 102031732 B1 KR102031732 B1 KR 102031732B1 KR 1020120112151 A KR1020120112151 A KR 1020120112151A KR 20120112151 A KR20120112151 A KR 20120112151A KR 102031732 B1 KR102031732 B1 KR 102031732B1
Authority
KR
South Korea
Prior art keywords
data
tree data
web
output
display
Prior art date
Application number
KR1020120112151A
Other languages
Korean (ko)
Other versions
KR20140046118A (en
Inventor
임상석
Original Assignee
에스케이플래닛 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to KR1020120112151A priority Critical patent/KR102031732B1/en
Priority to CN201380022246.2A priority patent/CN104254849B/en
Priority to PCT/KR2013/006914 priority patent/WO2014058146A1/en
Priority to US14/240,544 priority patent/US9465780B2/en
Priority to JP2014540986A priority patent/JP5976825B2/en
Priority to SG11201406773RA priority patent/SG11201406773RA/en
Publication of KR20140046118A publication Critical patent/KR20140046118A/en
Application granted granted Critical
Publication of KR102031732B1 publication Critical patent/KR102031732B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

본 발명의 과제를 해결하기 위한 웹 스크롤 시스템에 따르면, 웹 기술 언어로 구성된 웹(Web) 문서를 저장하며, 사용자 단말 장치의 접속에 따라 상기 웹 문서를 상기 사용자 단말 장치로 제공하는 웹 문서 제공 장치 및 상기 웹 문서 제공 장치에 접속하여 상기 웹 문서(Web Document)를 제공 받고, 제공 받은 상기 웹 문서를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한 후, 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하고, 상기 렌더 트리 데이터를 웹 어플리케이션 프로세스(Web Application Process)에 제공하는 프로세서(Processor)를 포함하는 사용자 단말 장치를 포함한다.
본 발명에 의하면, 사용자 단말 장치는 웹 문서를 빠르게 스크롤 가능하고, 웹 문서를 빠르게 스크롤 가능하게 하는 데이터 구조 및 처리 방법을 제공할 수 있다.
According to a web scrolling system for solving the problems of the present invention, a web document providing apparatus for storing a Web (Web) document in a web description language, and providing the web document to the user terminal device in accordance with the connection of the user terminal device And receiving the web document by accessing the web document providing device, parsing the received web document, and converting the web document into dome tree data having a tree-shaped structure. Subsequently, nodes except the display output node corresponding to the data to be output to the display means, having the same structure as the converted dome tree data, generate render tree data including empty nodes. And a user terminal device including a processor configured to provide the render tree data to a web application process. .
According to the present invention, the user terminal device can provide a data structure and a processing method for quickly scrolling a web document and allowing the web document to be scrolled quickly.

Description

웹 문서의 고속 웹 스크롤을 지원하는 사용자 단말 장치 및 스크롤 방법{APPARATUS AND METHODS OF SUPPORTING FAST WEB SCROLLING}User terminal device and scrolling method that supports fast web scrolling of web documents {APPARATUS AND METHODS OF SUPPORTING FAST WEB SCROLLING}

본 발명은 HTML(HyperText Markup Language)을 포함한 웹 기술 언어로 구성된 웹 문서(Web Document)를 사용자 단말 장치에서 표시하기 위한 기술로서, 특히 크기가 큰 웹 문서를 표시할 때 사용자 단말 장치의 반응성을 향상시키는 기술에 관한 것이다.The present invention is a technology for displaying a Web document (Web Document) composed of a web description language, including HTML (HyperText Markup Language) on the user terminal device, and particularly improves the responsiveness of the user terminal device when displaying a large web document It is about technology to let.

현재 다양한 사용자 단말 장치에서 인터넷(Internet)에 접속하여 수 많은 웹 문서들을 웹 문서 제공 장치로부터 다운로드하여 사용자 단말 장치에 표시하고 있다. At present, various user terminal devices access the Internet and download a number of web documents from a web document providing device and display them on the user terminal device.

웹 문서들은 일반적으로 HTML을 포함한 Java Script, XML 등의 웹 문서 기술 언어로 표현되고, 사용자 단말 장치에서 실행되는 웹 어플리케이션(Web Application)들은 웹 문서 기술 언어를 해석하여 사용자 단말 장치의 디스플레이 수단에 이를 표시한다.Web documents are generally expressed in a web document description language such as Java Script or XML including HTML, and web applications executed in the user terminal device interpret the web document description language and display it on the display means of the user terminal device. Display.

인터넷의 발달과 유무선 통신기술의 발달로 인하여 웹 문서들은 예전보다 다양하고 많은 정보들을 포함하고 있으며, 예전의 텍스트(Text) 중심의 컨텐츠에서 그림, 동영상 등의 멀티미디어 컨텐츠를 포함하는 웹 문서로 확장되고 있다.Due to the development of the Internet and the development of wired / wireless communication technology, web documents are more diverse and contain more information than ever before, and have been expanded from text-based contents to web documents including multimedia contents such as pictures and videos. have.

따라서, 사용자 단말 장치에서 실행되는 웹 어플리케이션은 예전보다 높은 연산 처리를 필요로 하며, 대용량의 컨텐츠로 구성된 웹 문서를 안정적으로 처리하고 사용자 반응 또한 저하되지 않도록 시스템을 구성할 필요가 있다.Therefore, the web application running on the user terminal device requires a higher computational process than before, and the system needs to be configured to stably process a web document composed of a large amount of content and not to degrade user response.

또한, 최근에 소셜 네트워크(Social Network) 서비스를 제공하는 인터넷 서비스가 증가하고 있는 추세이다. 많은 소셜 네트워크 서비스는 웹 문서의 끝이 정해져 있는 형태가 아니라, 웹 문서의 일정 용량을 로드(Load)한 후 사용자가 해당 용량의 끝까지 웹 문서를 스크롤(Scroll)하면 다시 그 이후의 용량을 로드하는 형태로 서비스하고 있다. In addition, recently, an internet service providing a social network service is increasing. Many social network services do not have a fixed end of a web document, but after loading a certain amount of the web document, when the user scrolls the web document to the end of the corresponding capacity, the subsequent capacity is loaded again. In the form of services.

도 1은 특정 소셜 네트워크 서비스를 모바일 사용자 단말 장치에서 표시한 결과이며, 웹 문서의 일정 용량(110)을 지나서 스크롤하면, 그 이후의 용량을 다시 로드하고 이를 계속 반복하게 된다.1 is a result of displaying a specific social network service on a mobile user terminal device, and when scrolling past a certain capacity 110 of a web document, the subsequent capacity is reloaded and repeated.

이 경우, 사용자 단말 장치에서 사용자에게 보여지는 디스플레이 화면을 넘어서는 웹 문서를 계속 로드하여 메모리의 용량 및 데이터 처리에 큰 부하가 걸리는 문제점이 있고, 이와 같은 문제점은 대용량 메모리를 가진 개인용 컴퓨터가 아닌 모바일 단말 장치들에서는 더 큰 문제점으로 작용한다.In this case, there is a problem that the user terminal device continues to load the web document beyond the display screen shown to the user, so that a large load is placed on the memory capacity and data processing. This is a bigger problem for devices.

따라서, 사용자 반응성을 저하시키지 않으면서 사용자 단말 장치에서 웹 문서를 효율적으로 처리할 수 있는 방법이 필요하다.
Accordingly, there is a need for a method capable of efficiently processing web documents in a user terminal device without degrading user responsiveness.

국내공개특허 제 2010-0023822호(2010.03.04)Domestic Publication No. 2010-0023822 (2010.03.04) 발명의 명칭: 신속한 데이터 아이템 선택을 위한 터보-스크롤 모드Title of the Invention: Turbo-scroll mode for fast data item selection

본 발명이 이루고자 하는 기술적 과제는 웹 문서를 빠르게 스크롤 가능한 사용자 단말 장치 및 방법을 제공하는 데 있다.It is an object of the present invention to provide a user terminal device and a method for rapidly scrolling a web document.

본 발명이 이루고자 하는 또 다른 기술적 과제는 웹 문서를 빠르게 스크롤 가능하게 하는 데이터 구조 및 처리 방법을 지원하는 사용자 단말 장치 및 방법을 제공하는 데 있다.Another object of the present invention is to provide a user terminal device and method for supporting a data structure and a processing method for making a web document quickly scrollable.

본 발명이 이루고자 하는 또 다른 기술적 과제는 웹 문서의 복잡도에 따라 스크롤을 위한 데이터 구조 및 처리 방법을 변경 가능한 사용자 단말 장치 및 방법을 제공하는 데 있다.
Another object of the present invention is to provide a user terminal apparatus and method capable of changing a data structure and processing method for scrolling according to the complexity of a web document.

본 발명의 과제를 해결하기 위한 웹 스크롤 시스템에 따르면, 웹 기술 언어로 구성된 웹(Web) 문서를 저장하며, 사용자 단말 장치의 접속에 따라 상기 웹 문서를 상기 사용자 단말 장치로 제공하는 웹 문서 제공 장치 및 상기 웹 문서 제공 장치에 접속하여 상기 웹 문서(Web Document)를 제공 받고, 제공 받은 상기 웹 문서를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한 후, 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하고, 상기 렌더 트리 데이터를 웹 어플리케이션 프로세스(Web Application Process)에 제공하는 프로세서(Processor)를 포함하는 사용자 단말 장치를 포함한다. According to a web scrolling system for solving the problems of the present invention, a web document providing apparatus for storing a Web (Web) document in a web description language, and providing the web document to the user terminal device in accordance with the connection of the user terminal device And receiving the web document by accessing the web document providing device, parsing the received web document, and converting the web document into dome tree data having a tree-shaped structure. Subsequently, nodes except the display output node corresponding to the data to be output to the display means, having the same structure as the converted dome tree data, generate render tree data including empty nodes. And a user terminal device including a processor configured to provide the render tree data to a web application process. .

본 발명의 과제를 해결하기 위한 사용자 단말 장치에 따르면, 웹 어플리케이션 프로세스(Web Application Process)의 출력 결과를 표시하는 디스플레이부, 상기 디스플레이부에 표시되는 출력 결과들을 저장하는 비디오 출력 메모리부, 프로세서부의 프로세스 처리에 따른 중간 연산 결과를 포함하는 데이터들을 저장하는 메모리부 및 상기 웹 어플리케이션 프로세스를 포함하는 프로세스들을 실행하고, 웹 기술 언어로 구성된 제공 받은 웹 문서(Web Document)를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한 후, 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하고, 상기 렌더 트리 데이터를 상기 비디오 출력 메모리부에 저장하여 상기 웹 어플리케이션 프로세스(Web Application Process)에 제공하는 프로세서 프로세서부를 포함한다.According to a user terminal device for solving the problems of the present invention, the display unit for displaying the output result of the Web Application Process (Web Application Process), the video output memory unit for storing the output results displayed on the display unit, the processor unit Tree by executing the process including the web application process and the memory unit for storing the data including the intermediate operation result of the processing, and parses the provided Web Document (Web Document) in the Web description language (Tree) After converting to dome tree data having a structure of), nodes except display output nodes corresponding to data to be output to the display means having the same structure as the converted dome tree data are empty nodes. generate render tree data consisting of void nodes, and Further storing a tree data to said video memory includes an output processor, the processor unit provided in the web application process (Web Application Process).

상기 비디오 출력 메모리부는 비디오 버퍼 메모리(Video Buffer Memory)로 구성될 수 있다.The video output memory unit may be configured as a video buffer memory.

상기 프로세서부는 돔 트리 데이터를 상기 비디오 출력 메모리부보다 속도가 낮은 메모리에 저장할 수 있다.The processor unit may store the dome tree data in a memory having a lower speed than the video output memory unit.

상기 프로세서부는 상기 돔 트리 데이터에서 상기 렌더 트리 데이터의 디스플레이 출력 노드에 대응되는 데이터 구조 위치에 스크롤 마크 노드(Scroll Mark Node)를 삽입할 수 있다.The processor unit may insert a scroll mark node at a data structure position corresponding to a display output node of the render tree data in the dome tree data.

상기 스크롤 마크 노드는 시작 스크롤 마크 노드와 끝 스크롤 마크 노드의 서로 다른 노드일 수 있다.The scroll mark node may be different nodes of a start scroll mark node and an end scroll mark node.

상기 프로세서부는 상기 웹 어플리케이션 프로세스로부터 상기 디스플레이부에 출력될 데이터의 변경을 요청 받으면, 상기 렌더 트리 데이터의 디스플레이 출력 노드에서 상기 디스플레이부에 더 이상 출력되지 않는 노드들을 빈 노드로 바꾸고, 상기 돔 트리 데이터에서 디스플레이 수단에 출력될 데이터를 상기 렌더 트리 데이터로 복사한 후, 상기 렌더 트리 데이터를 상기 웹 어플리케이션프로세스에 제공할 수 있다.When the processor unit receives a request to change the data to be output to the display unit from the web application process, the display output node of the render tree data changes nodes that are no longer output to the display unit to empty nodes, and the dome tree data. After copying the data to be output to the display means to the render tree data, the render tree data may be provided to the web application process.

본 발명의 과제를 해결하기 위한 사용자 단말 장치에 따르면, 웹 어플리케이션 프로세스(Web Application Process)의 출력 결과를 표시하는 디스플레이부, 상기 디스플레이부에 표시되는 출력 결과들을 저장하는 비디오 출력 메모리부, 프로세서부의 프로세스 처리에 따른 중간 연산 결과를 포함하는 데이터들을 저장하는 메모리부 및 상기 웹 어플리케이션 프로세스를 포함하는 프로세스들을 실행하고, 웹 기술 언어로 구성된 제공 받은 웹 문서(Web Document)를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한 후, 제공 받은 상기 웹 문서에서 문자(Texts)의 비율을 판단하여 미리 설정된 값을 넘는 경우 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하여 상기 비디오 출력 메모리부에 저장한 후 상기 렌더 트리 데이터를 웹 어플리케이션 프로세스(Web Application Process)에 제공하고, 상기 웹 문서에서 문자의 비율이 미리 설정된 값을 넘지 못하는 경우 상기 돔 트리 데이터를 상기 웹 어플리케이션 프로세스에 제공하는 프로세서부를 포함한다.According to a user terminal device for solving the problems of the present invention, the display unit for displaying the output result of the Web Application Process (Web Application Process), the video output memory unit for storing the output results displayed on the display unit, the processor unit Tree by executing the process including the web application process and the memory unit for storing the data including the intermediate operation result of the processing, and parses the provided Web Document (Web Document) in the Web description language (Tree) After converting to Dom Tree data having a structure of), if the ratio of Texts in the provided Web document is exceeded and a preset value is exceeded, it has the same structure as the converted Dome Tree data. The display output node corresponding to the data to be output to the display means is provided. One node generates render tree data consisting of void nodes, stores render tree data in the video output memory unit, and provides the render tree data to a web application process. And a processor for providing the dome tree data to the web application process when the ratio of characters does not exceed a preset value.

본 발명의 과제를 해결하기 위한 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법에 따르면, (a) 프로세서가 웹 어플리케이션 프로세스(Web Application Process)를 포함하는 프로세스들을 실행하고 웹 기술 언어로 구성된 웹 문서(Web Document)를 제공 받는 단계, (b) 상기 프로세서가 상기 웹 문서를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환하는 단계, (c) 상기 프로세서가 상기 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하는 단계 및 (d) 상기 프로세서가 상기 렌더 트리 데이터를 비디오 버퍼 메모리에 로드(Load)하여 상기 웹 어플리케이션프로세스에 제공하는 단계 를 포함한다.
According to a method of scrolling a web document of a user terminal device for solving the problems of the present invention, (a) the processor executes processes including a web application process (Web Application Process) and the web document configured in a web description language ( Web document), (b) the processor parses the web document and converts the web document into DOM tree data having a tree structure, and (c) the processor Generating render tree data including empty nodes, except for a display output node corresponding to data to be output to a display means, having the same structure as the dome tree data; and (d The processor loading the render tree data into a video buffer memory and providing the render tree data to the web application process. .

본 발명에 의하면, 사용자 단말 장치는 웹 문서를 빠르게 스크롤 가능하다.According to the present invention, the user terminal device can quickly scroll a web document.

또한 본 발명에 의하면, 웹 문서를 빠르게 스크롤 가능하게 하는 데이터 구조 및 처리 방법을 제공할 수 있다.In addition, according to the present invention, it is possible to provide a data structure and a processing method for enabling scrolling of a web document quickly.

본 발명에 의하면, 웹 문서의 복잡도에 따라 스크롤을 위한 데이터 구조 및 처리 방법을 변경할 수 있다.
According to the present invention, the data structure and processing method for scrolling can be changed according to the complexity of the web document.

도 1은 종래 소셜 네트워크 서비스의 웹을 통한 서비스의 일 실시예이다.
도 2는 본 발명에 따른 웹 스크롤 시스템의 일 실시예이다.
도 3은 본 발명에 따른 사용자 단말 장치의 일 실시예이다.
도 4는 본 발명에 따른 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법 의 일 실시예이다.
도 5는 웹 문서를 돔 트리(DOM Tree) 데이터로 변환한 일 실시예이다.
도 6은 본 발명에 따른 웹 문서가 렌더 트리(Render Tree) 데이터로 변환된 일 실시예이다.
도 7은 본 발명에 따른 웹 문서가 렌더 트리(Render Tree) 데이터로 변환된 일 실시예이다.
도 8은 본 발명에 따른 돔 트리(DOM Tree) 데이터에 스크롤 마크 노드(Scroll Mark Node)가 삽입된 데이터 구성의 일 실시예이다.
도 9는 본 발명에 따른 돔 트리(DOM Tree) 데이터에 스크롤 마크 노드(Scroll Mark Node)가 삽입된 데이터 구성의 일 실시예이다.
1 is an embodiment of a service over the web of a conventional social network service.
2 is an embodiment of a web scrolling system according to the present invention.
3 is an embodiment of a user terminal device according to the present invention.
4 is an embodiment of a web document scrolling method of the user terminal device according to the present invention.
FIG. 5 illustrates an embodiment in which a web document is converted into DOM tree data.
FIG. 6 is an embodiment in which a web document according to the present invention is converted into render tree data.
FIG. 7 illustrates an embodiment in which a web document according to the present invention is converted into render tree data.
FIG. 8 illustrates an embodiment of a data configuration in which a scroll mark node is inserted into dome tree data according to the present invention.
FIG. 9 illustrates an embodiment of a data configuration in which a scroll mark node is inserted into dome tree data according to the present invention.

본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하의 상세한 설명에 의해 보다 명확하게 이해될 것이다. 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다.Details of the object and technical configuration of the present invention and the resulting effects will be more clearly understood by the following detailed description based on the accompanying drawings. With reference to the accompanying drawings will be described in detail an embodiment according to the present invention.

이 분야의 통상의 기술자는 본 명세서의 실시예들을 통해서 본 발명의 다양한 응용을 구현 가능하므로, 본 발명의 상세한 설명에 기재된 임의의 실시예들은 본 발명을 보다 잘 설명하기 위한 예시적인 것으로서 본 발명의 범위가 실시예들로 한정되는 것을 의도하는 것은 아니다.As those skilled in the art can implement various applications of the present invention through the embodiments of the present disclosure, any embodiments described in the detailed description of the present invention are illustrative for better understanding of the present invention. It is not intended that the scope be limited to the embodiments.

본 명세서에서 표현되는 각 기능부 또는 기능수단은 본 발명 구현에 대한 예일 뿐이다. 따라서, 본 발명의 다른 구현에서는 본 발명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능부 또는 기능수단이 사용될 수 있다. 또한, 각 기능부 또는 각 기능수단은 순전히 하드웨어 또는 소프트웨어의 구성으로만 구현될 수도 있지만, 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합으로 구현될 수도 있다.Each functional unit or functional unit represented herein is merely an example of an implementation of the present invention. Thus, other implementations or means may be used in other implementations of the invention without departing from the spirit and scope of the invention. In addition, each functional unit or each functional means may be implemented solely in the configuration of hardware or software, or may be implemented in a combination of various hardware and software configurations that perform the same function.

본 명세서에서 사용자 단말 장치는 통상적으로 적어도 하나의 프로세서부, 메모리부 및 디스플레이 수단을 포함하는 장치를 의미한다. 상기 사용자 단말 장치는 휴대폰, 태블릿 컴퓨터, 개인용 컴퓨터 등을 포함한다. In the present specification, a user terminal device typically means an apparatus including at least one processor unit, a memory unit, and a display unit. The user terminal device includes a mobile phone, a tablet computer, a personal computer, and the like.

본 명세서에서 웹 기술 언어는 HTML(HyperText Markup Language), HTML(HyperText Markup Language) 5, 자바스크립트(Javascript), CSS(Cascading Style Sheets) 등의 웹 문서를 작성하는 언어를 모두 포함한다.In the present specification, the web description language includes a language for writing a web document such as HyperText Markup Language (HTML), HyperText Markup Language (HTML) 5, JavaScript, and Cascading Style Sheets (CSS).

도 2를 참조하여 본 발명에 따른 웹 스크롤 시스템의 실시예를 설명한다.An embodiment of a web scroll system according to the present invention will be described with reference to FIG. 2.

본 발명에 따른 웹 스크롤 시스템은 웹 문서 제공 장치 장치 및 사용자 단말 장치(220, 230, 240)를 포함한다.The web scroll system according to the present invention includes a web document providing apparatus device and user terminal devices 220, 230, and 240.

웹 문서 제공 장치 장치는 유무선 네트워크에 연결되어 있고 상기 유무선 네트워크를 통하여 접속된 사용자 단말 장치로 웹 문서(Web Document)를 제공한다. 상기 웹 문서는 HTML을 포함한 웹 기술 언어로 작성되어 있으며, 웹 문서 제공 장치 장치에 연결된 데이터베이스(Database)에 저장되어 있을 수 있다.Web document providing apparatus The device is connected to a wired or wireless network and provides a web document to a user terminal device connected through the wired or wireless network. The web document is written in a web description language including HTML, and may be stored in a database connected to a web document providing device.

사용자 단말 장치(220, 230, 240)는 상기 웹 문서 제공 장치 장치에 접속하여 웹 문서를 제공 받은 후, 제공 받은 웹 문서를 파싱(Parsing)하여 도 5와 같은 돔 트리(DOM Tree) 데이터로 변환한다.The user terminal devices 220, 230, and 240 access the web document providing apparatus, receive a web document, parse the received web document, and convert the received web document into DOM tree data as shown in FIG. 5. do.

돔 트리(DOM Tree)는 객체 지향 모델을 이용한 구조화된 문서를 표현하는 형식으로서 W3C의 공식 표준이다. Dom Tree is a formal standard for the W3C as a format for representing structured documents using an object-oriented model.

돔 트리(DOM Tree) 데이터로 변환된 웹 문서는 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성한다. The web document converted to the dome tree data has the same structure as the converted dome tree data, and nodes except the display output node corresponding to the data to be output to the display means are empty nodes. Generates the configured render tree data.

상기 렌더 트리(Render Tree) 데이터는 비디오 출력 메모리에 로드되어 웹 어플리케이션 프로세스(Process)에 제공된다.The render tree data is loaded into a video output memory and provided to a web application process.

디스플레이 수단에 출력될 데이터란 돔 트리(DOM Tree) 데이터로 변환된 웹 문서에서 디스플레이 수단에 출력될 데이터만 분리된 것을 의미하는 것으로서, 돔 트리(DOM Tree) 데이터로 변환된 웹 문서가 디스플레이 수단의 한 페이지를 넘는 데이터의 양인 경우 현재 디스플레이 수단에 출력될 한 페이지의 데이터를 의미한다. The data to be output to the display means that only the data to be output to the display means is separated from the web document converted to the DOM tree data, and the web document converted to the dome tree data is displayed on the display means. When the amount of data exceeds one page, it means the data of one page to be output to the current display means.

따라서, 웹 문서가 스크롤되면 디스플레이 수단에 출력될 데이터는 스크롤에 따라 계속 변화하고, 이에 따라 렌더 트리(Render Tree) 데이터도 변화하게 된다.Therefore, when the web document is scrolled, the data to be outputted to the display means continuously changes as scrolls, and accordingly, render tree data also changes.

웹 어플리케이션 프로세스는 프로세서에서 실행되는 응용 프로그램 프로세스 중에서 웹 문서를 파싱하여 디스플레이 수단에 출력 가능한 어플리케이션의 프로세스를 총칭하고, 웹 브라우져(Web Browser) 또한 웹 어플리케이션에 포함된다. The web application process generally refers to a process of an application capable of parsing a web document and outputting it to a display means among application program processes executed in a processor, and a web browser is also included in the web application.

도 3을 참조하여, 본 발명에 따른 사용자 단말 장치의 실시예를 설명한다.An embodiment of a user terminal device according to the present invention will be described with reference to FIG. 3.

본 발명에 따른 사용자 단말 장치는 디스플레이부(310), 비디오 출력 메모리부(330), 메모리부(320) 및 프로세서부(340)를 포함한다.The user terminal device according to the present invention includes a display unit 310, a video output memory unit 330, a memory unit 320, and a processor unit 340.

디스플레이부(310)는 사용자 단말 장치의 동작 상태 및 동작 결과를 표시하거나 정보를 사용자에게 제공하기 위한 출력 수단으로서, 각종 메뉴를 비롯하여 사용자가 입력한 정보 또는 사용자에게 제공하는 정보를 표시한다. 즉 디스플레이부(310)는 사용자 단말 장치의 프로세서부(340)에서 실행되는 어플리케이션(Application)의 그래픽 사용자 인터페이스(GUI, Graphic User Interface)를 제공할 수 있다. The display unit 310 is an output means for displaying the operation state and the operation result of the user terminal device or providing information to the user. The display unit 310 displays information input by the user or information provided to the user, including various menus. That is, the display 310 may provide a Graphic User Interface (GUI) of an application executed in the processor 340 of the user terminal device.

디스플레이부(310)는 LCD 등의 패널 형태로 형성될 수 있고, 터치 LCD형태로 입력도 가능하도록 구현될 수도 있다.The display unit 310 may be formed in the form of a panel such as an LCD, or may be implemented to enable input in the form of a touch LCD.

비디오 출력 메모리부(330)는 상기 디스플레이부(310)에 출력될 정보를 기록하고 읽기 위한 메모리로서, 상기 비디오 출력 메모리부(330)는 시스템 메모리와 독립되어 구성될 수도 있으며, 상기 시스템 메모리가 공유되는 메모리인 경우 상기 시스템 메모리 내에 비디오 출력 영역이 할당됨으로써 구성될 수도 있다. The video output memory unit 330 is a memory for recording and reading information to be output to the display unit 310. The video output memory unit 330 may be configured independently from system memory, and the system memory is shared. In the case of the memory, the video output area may be allocated in the system memory.

상기 비디오 출력 메모리부(330)는 바람직하게는 시스템 메모리와 별개의 비디오 버퍼 메모리(Video Buffer Memory)로 상기 시스템 메모리보다 입출력 속도가 빠른 메모리로 구성될 수 있다.The video output memory unit 330 is preferably a video buffer memory separate from the system memory and may be configured as a memory having a faster input / output speed than the system memory.

상기 메모리부(320) 또는 상기 비디오 출력 메모리부(330)는 휘발성 메모리 소자이거나 비휘발성 메모리 또는 비휘발성 전자기적 저장장치일 수 있다.The memory unit 320 or the video output memory unit 330 may be a volatile memory device, a nonvolatile memory, or a nonvolatile electromagnetic storage device.

프로세서부(340)는 범용적인 중앙연산장치(CPU)일 수도 있으나, 특정 목적에 적합하게 구현된 프로그래머블 디바이스 소자(CPLD, FPGA)나 주문형 반도체 연산장치(ASIC)일 수도 있다. The processor unit 340 may be a general-purpose central processing unit (CPU), but may also be a programmable device device (CPLD, FPGA) or an application-specific semiconductor processing unit (ASIC) implemented for a specific purpose.

웹 어플리케이션 프로세스를 실행하는 프로세서부(340)는 HTML을 포함하여 구성된 웹 문서를 파싱하여 도 6과 같은 트리 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한다.The processor unit 340, which executes the web application process, parses a web document including HTML and converts the web document into dome tree data having a tree structure as shown in FIG.

상기 프로세서부(340)는 변환된 돔 트리(DOM Tree) 데이터를 이용하여 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이부(310)에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성한다.The processor unit 340 has the same structure as the converted dome tree data using the converted dome tree data and excludes a display output node corresponding to data to be output to the display unit 310. The nodes generate render tree data consisting of void nodes.

상기 프로세서부(340)는 상기 렌더 트리(Render Tree) 데이터를 상기 비디오 출력 메모리부(330)에 로드하여 상기 웹 어플리케이션 프로세스에 제공하고, 상기 웹 어플리케이션 프로세스 또는 별도의 그래픽 프로세서는 상기 렌더 트리(Render Tree) 데이터를 렌더링(Rendering)하여 상기 디스플레이부(310)에 출력한다. The processor unit 340 loads the render tree data into the video output memory unit 330 to provide the web application process to the web application process, and the web application process or a separate graphics processor provides the render tree. Tree data is rendered and output to the display unit 310.

돔 트리(DOM Tree) 데이터로 변환된 결과가 도 5와 같다면, 렌더 트리(Render Tree) 데이터는 도 6처럼 돔 트리(DOM Tree) 데이터와 같은 구조를 가진다.If the result converted into the DOM tree data is shown in FIG. 5, the render tree data has the same structure as the DOM tree data as shown in FIG. 6.

다만, 돔 트리(DOM Tree) 데이터 중에서 디스플레이 수단에 출력될 데이터는 한정되어 있으므로, 도 5와 같은 돔 트리(DOM Tree) 데이터 중에서 데이터 노드의 일부(510)만 디스플레이 수단에 출력된다면, 렌더 트리(Render Tree) 데이터는 디스플레이 수단에 출력되는 데이터 노드(510)를 제외한 노드들(520)은 빈 노드(void node)로 구성되어 도 6과 같이 생성된다.However, since data to be output to the display means among the dome tree data is limited, if only a part 510 of the data node is output to the display means among the dome tree data shown in FIG. 5, the render tree ( In the Render Tree data, the nodes 520 except for the data node 510 outputted to the display means are generated as a void node as shown in FIG. 6.

이 경우, 상기 프로세서부(340)는 돔 트리(DOM Tree) 데이터를 상기 비디오 출력 메모리부(330)보다 속도가 낮은 메모리에 저장할 수 있다. In this case, the processor unit 340 may store the DOM tree data in a memory having a lower speed than the video output memory unit 330.

따라서, 사용자 단말 장치가 작은 용량의 비디오 출력 메모리부(330)를 가진 경우라도 대용량의 웹 문서에서 디스플레이부(310)에서 출력되는 영역에 해당하는 노드를 제외한 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 상기 비디오 출력 메모리부(330)에서 처리하고 나머지 돔 트리(DOM Tree) 데이터는 시스템 메모리에 저장함으로써 웹 문서의 빠른 디스플레이가 가능하다. Therefore, even when the user terminal device has a small capacity video output memory unit 330, nodes except for a node corresponding to an area output from the display unit 310 in a large web document are configured as void nodes. Render tree data is processed in the video output memory unit 330, and the remaining DOM tree data is stored in system memory, thereby enabling quick display of a web document.

즉, 디스플레이부(310)에 출력되는 영역(뷰포트, viewport)에 돔 트리(DOM Tree) 데이터를 렌더링하여 출력하는 경우, 상기 출력 시간은 돔 트리(DOM Tree) 데이터의 복잡도(노드 개수)에 비례를 하게 되고 모바일 단말기의 경우 프로세서부의 연산 능력이 일반적인 컴퓨터보다 매우 낮으므로, 데이터의 양이 많고 복잡한 돔 트리(DOM Tree) 데이터로 변환되는 웹 페이지의 경우는 스크롤에 매우 많은 시간을 소비하게 된다. 따라서, 사용자 환경 또한 웹 페이지의 스크롤 지연에 따라 저하됨이 당연하다. That is, when rendering dome tree data in a region (viewport, viewport) output to the display 310, the output time is proportional to the complexity (number of nodes) of the dome tree data. In the case of a mobile terminal, the computing power of the processor unit is much lower than that of a general computer, and a web page that is converted into a dome tree data having a large amount of data consumes a lot of time for scrolling. Therefore, the user environment is also deteriorated due to the scroll delay of the web page.

반면에 앞서 설명한 것처럼 본 발명에 따른 구조 및 노드를 갖는 렌더링 데이터를 이용하여 뷰포트에 출력하는 경우 어플리케이션 프로세스는 뷰포트에 출력되는 데이터 노드를 제외한 노드들은 빈 노드(void node)로 구성함으로써 뷰포트 출력 속도가 향상되어 연산 능력이 낮은 모바일 단말기 또한 사용자에게 원활한 사용자 환경을 제공할 수 있고, 웹 사용자가 웹 브라우저를 스크롤할 때에도 전체 데이터들을 유효한 노드들로 구성하여 출력하는 것이 아니므로 스크롤 지연을 방지할 수 있는 효과가 있다.On the other hand, as described above, in the case of outputting to the viewport using the rendering data having the structure and the node according to the present invention, the application process makes the viewport output speed faster by configuring the nodes except the data nodes output to the viewport as void nodes. Improved mobile terminal with low computing power can also provide a smooth user experience to users and prevent scroll delay because it does not output all the data as valid nodes even when the web user scrolls the web browser. It works.

또한, 렌더 트리(Render Tree) 데이터의 빈 노드(void node)들은 각 노드에 빈 노드임을 알 수 있는 헤더(Header) 표식을 부여함으로써, 모든 노드들을 서치(Search)하는 것을 방지거나 디스플레이 수단에 출력되는 노드들과 구별할 수 있다.In addition, void nodes of the render tree data are assigned to each node by a header marker indicating that they are empty nodes, thereby preventing searching for all nodes or outputting them to the display means. Can be distinguished from other nodes.

도 7을 참조하면, 사용자의 웹 브라우저 스크롤에 따라 렌더 트리(Render Tree) 데이터가 변경될 수 있다.Referring to FIG. 7, render tree data may change according to scrolling of a web browser of a user.

예를 들어, 도 5와 같은 돔 트리(DOM Tree) 데이터 중에서 데이터 노드의 일부(510)만 디스플레이 수단에 출력되어 렌더 트리(Render Tree) 데이터가 디스플레이 수단에 출력되는 데이터 노드(510)를 제외한 노드들(520)이 빈 노드(void node)로 구성되어 도 6과 같이 생성된 후에, 사용자의 웹 브라우저 스크롤에 따라 디스플레이 수단에 출력되는 데이터가 다른 일부 노드(520)로 변화되는 경우 렌더 트리(Render Tree) 데이터 또한 디스플레이 수단에 출력되는 데이터 노드(520)를 제외한 노드들(510)이 빈 노드(void node)로 구성되고 빈 노드였던 노드들(620)은 돔 트리(DOM Tree) 데이터에서 디스플레이 수단에 출력될 노드들(520)을 복사해서 도 7과 같이 재 구성된다. For example, the node except for the data node 510 in which only a part 510 of the data node is output to the display means among the dome tree data as illustrated in FIG. 5, and the render tree data is output to the display means. After the fields 520 are configured as empty nodes and generated as shown in FIG. 6, when the data output to the display means is changed to some other node 520 according to the scrolling of the web browser of the user, the render tree (Render) Nodes 510 except for the data node 520 outputted to the display means are also configured as empty nodes, and the nodes 620 which were empty nodes are displayed in the dome tree data. The nodes 520 to be outputted are copied and reconfigured as shown in FIG. 7.

또한 도 8을 참조하여 다른 예를 들면, 프로세서부(340)는 렌더 트리(Render Tree) 데이터를 생성할 때 상기 돔 트리(DOM Tree) 데이터에서 상기 렌더 트리(Render Tree) 데이터의 디스플레이 출력 노드에 대응되는 데이터 구조 위치에 스크롤 마크 노드(Scroll Mark Node)(811, 812)를 삽입하여 상기 돔 트리(DOM Tree) 데이터를 저장할 수 있다.In another example, referring to FIG. 8, the processor unit 340 generates the render tree data from the dome tree data to the display output node of the render tree data. Scroll Mark Nodes 811 and 812 may be inserted at corresponding data structure positions to store the DOM tree data.

스크롤 마크 노드는 웹 문서가 변환된 돔 트리(DOM Tree) 데이터의 노드와 같은 형태일 수도 있고, 다른 데이터 구조를 가진 노드일 수 있으며, 스크롤 마크 노드인 것을 알 수 있는 표시를 가지면 충분하다.The scroll mark node may be in the same form as a node of dome tree data converted from a web document, may be a node having a different data structure, and it is sufficient to have an indication that the scroll document node is a scroll mark node.

상기 스크롤 마크 노드는 돔 트리(DOM Tree) 데이터 중에서 렌더 트리(Render Tree) 데이터의 디스플레이 출력 노드의 포인터를 가지고 있던 노드 위치(디스플레이 출력 노드에 대응되는 데이터 구조 위치)에 삽입되고, 렌더 트리(Render Tree) 데이터의 디스플레이 출력 노드가 있던 위치의 시작과 끝을 알 수 있도록 상기 스크롤 마크 노드는 시작 스크롤 마크 노드와 끝 스크롤 마크 노드로 구성된 노드일 수 있다.The scroll mark node is inserted at a node position (a data structure position corresponding to the display output node) that has a pointer of the display output node of the render tree data among the DOM tree data, and is a render tree. Tree) The scroll mark node may be a node composed of a start scroll mark node and an end scroll mark node so as to know the start and end of the position where the display output node of the data was located.

따라서, 렌더 트리(Render Tree) 데이터를 생성한 이후에도 스크롤 마크 노드를 이용하여 렌더 트리(Render Tree) 데이터의 디스플레이 출력 노드에 대응하는 돔 트리(DOM Tree) 데이터의 노드에 쉽게 접근할 수 있다.Therefore, even after generating the render tree data, the scroll mark node may be used to easily access a node of the dome tree data corresponding to the display output node of the render tree data.

도 7, 도 8 및 도 9를 참조하면 프로세서부(340)는 상기 웹 어플리케이션 프로세스로부터 상기 디스플레이부(310)에 출력될 데이터의 변경을 요청 받으면 상기 렌더 트리(Render Tree) 데이터의 디스플레이 출력 노드 중에서 뷰포트를 벗어나는 노드들을 삭제하고, 상기 돔 트리(DOM Tree) 데이터 중에서 새롭게 뷰포트에 출력될 노드들을 렌더 트리(Render Tree) 데이터로 복사하고 상기 디스플레이 출력 메모리에 로드하여 상기 웹 어플리케이션프로세스에 제공할 수 있다.7, 8, and 9, when the processor unit 340 receives a change request of the data to be output to the display unit 310 from the web application process, the processor unit 340 may select one of the display output nodes of the render tree data. Nodes leaving the viewport may be deleted, nodes newly output to the viewport among the dome tree data may be copied into render tree data, loaded into the display output memory, and provided to the web application process. .

웹 문서가 변환된 돔 트리(DOM Tree) 데이터로부터 생성된 렌더 트리(Render Tree) 데이터가 도 6과 같고 상기 돔 트리(DOM Tree) 데이터에서 렌더 트리(Render Tree) 데이터의 디스플레이 출력 노드에 대응되는 데이터 구조 위치에 스크롤 마크 노드(811, 812)가 삽입 된 후, 사용자 단말 장치의 웹 어플리케이션 프로세스를 통해 스크롤 이벤트를 포함하는 디스플레이부(310)에 출력될 데이터 변경을 요청을 받으면, 프로세서부(340)는 상기 스크롤 이벤트가 뷰포트에 출력되는 웹 문서의 어느 쪽을 향한 것인지와 어느 정도 스크롤 되는 것인지를 파악하고, 돔 트리(DOM Tree) 데이터에서 상기 스크롤 마크 노드(811, 812)를 탐색할 수 있다. Render tree data generated from the dome tree data converted from the web document is shown in FIG. 6 and corresponds to the display output node of the render tree data in the dome tree data. After the scroll mark nodes 811 and 812 are inserted at the data structure location, the processor unit 340 receives a request for data change to be output to the display unit 310 including the scroll event through a web application process of the user terminal device. ) May determine to which side of the web document the scroll event is directed and scrolled to, and search for the scroll mark nodes 811 and 812 in the dome tree data. .

이 후 상기 프로세서부(340)는 상기 돔 트리(DOM Tree) 데이터에서 필요한 노드를 상기 스크롤 마크 노드(811, 812)를 이용하여 상기 렌더 트리(Render Tree) 데이터로 복사하여 상기 출력 메모리에 로드할 수 있다. Thereafter, the processor unit 340 may copy a node required from the DOM tree data to the render tree data by using the scroll mark nodes 811 and 812 and load it into the render memory. Can be.

이 경우, 상기 프로세서부(340)는 돔 트리(DOM Tree) 데이터에서 디스플레이 출력 노드의 위치에 다시 스크롤 마크 노드(921, 922)를 이동시켜 삽입할 수 있다.In this case, the processor unit 340 may move and insert the scroll mark nodes 921 and 922 again at the position of the display output node in the DOM tree data.

따라서, 웹 어플리케이션의 컨텐츠 영역이 디스플레이부(310)의 크기 또는 웹 어플리케이션의 사용자 인터페이스 창의 크기보다 커서 스크롤이 행해지는 경우라도, 상기 디스플레이부(310) 또는 상기 웹 어플리케이션의 사용자 인터페이스 창에 해당하는 새로운 데이터를 용이하게 비디오 출력 메모리부(330)에 로드하여 디스플레이할 수 있다.Therefore, even when the content area of the web application is larger than the size of the display 310 or the size of the user interface window of the web application, scrolling is performed. Data may be easily loaded into the video output memory unit 330 for display.

본 발명에 따른 사용자 단말 장치의 다른 실시예를 설명한다.Another embodiment of the user terminal device according to the present invention will be described.

본 발명에 따른 사용자 단말 장치는 디스플레이부(310), 비디오 출력 메모리부(330), 메모리부 및 프로세서부(340)를 포함한다.The user terminal device according to the present invention includes a display unit 310, a video output memory unit 330, a memory unit, and a processor unit 340.

디스플레이부(310)는 사용자 단말 장치의 동작 상태 및 동작 결과를 표시하거나 정보를 사용자에게 제공하기 위한 출력 수단으로서, 사용자 단말 장치의 프로세서부(340)에서 실행되는 어플리케이션(Application)의 그래픽 사용자 인터페이스(GUI, Graphic User Interface)를 제공할 수 있다. The display unit 310 is an output means for displaying an operation state and an operation result of the user terminal device or providing information to the user. The display unit 310 may be a graphical user interface of an application executed in the processor unit 340 of the user terminal device. GUI, Graphic User Interface).

비디오 출력 메모리부(330)는 상기 디스플레이부(310)에 출력될 정보를 기록하고 읽기 위한 메모리로서, 상기 비디오 출력 메모리부(330)는 시스템 메모리와 독립되어 구성될 수도 있으며, 상기 시스템 메모리가 공유되는 메모리인 경우 상기 시스템 메모리 내에 비디오 출력 영역이 할당됨으로써 구성될 수도 있다. The video output memory unit 330 is a memory for recording and reading information to be output to the display unit 310. The video output memory unit 330 may be configured independently from system memory, and the system memory is shared. In the case of the memory, the video output area may be allocated in the system memory.

상기 비디오 출력 메모리부(330)는 바람직하게는 시스템 메모리와 별개의 비디오 버퍼 메모리(Video Buffer Memory)로 상기 시스템 메모리보다 입출력 속도가 빠른 메모리로 구성될 수 있다.The video output memory unit 330 is preferably a video buffer memory separate from the system memory and may be configured as a memory having a faster input / output speed than the system memory.

프로세서부(340)는 범용적인 중앙연산장치(CPU)일 수도 있으나, 특정 목적에 적합하게 구현된 프로그래머블 디바이스 소자(CPLD, FPGA)나 주문형 반도체 연산장치(ASIC)일 수도 있다. The processor unit 340 may be a general-purpose central processing unit (CPU), but may also be a programmable device device (CPLD, FPGA) or an application-specific semiconductor processing unit (ASIC) implemented for a specific purpose.

웹 어플리케이션 프로세스를 실행하는 프로세서부(340)는 HTML을 포함하여 구성된 웹 문서를 파싱하여 도 6의 데이터 구조와 같은 트리 형태의 구조를 가진 데이터로 변환한다.The processor unit 340, which executes the web application process, parses a web document including HTML and converts the web document into data having a tree-like structure as shown in FIG.

상기 프로세서부(340)는 돔 트리(DOM Tree) 데이터로 변환된 상기 웹 문서의 복잡도를 측정한다.The processor unit 340 measures the complexity of the web document converted into DOM tree data.

사용자 단말 장치에서 프로세서부(340)의 한 구성으로서 GPU(Graphic Processing Unit)을 기반으로 스크롤에 대한 이벤트 처리를 하여 디스플레이를 표시할 경우, GPU를 이용한 스크롤은 새롭게 디스플레이부(310)의 표시 영역 또는 그래픽 사용자 인터페이스 창의 영역에 표시해야 할 컨텐츠들을 렌더링하기 위해 비디오 버퍼 메모리로 그림을 그리는 Texture Upload라는 연산을 수행한다. 상기 Texture Upload는 시간 지연이 매우 높은 연산이므로, 모든 웹 문서의 스크롤에 대하여 디스플레이 출력 트리 데이터를 분리하여 비디오 출력 메모리에 저장하는 방법은 컨텐츠에 큰 이미지가 저장되어 있거나 많은 이미지가 저장되어 있는 경우 스크롤의 끊김 현상이 발생할 수 있다.When a user terminal device displays a display by processing an event based on a graphic processing unit (GPU) based on a graphic processing unit (GPU) in the user terminal device, the scroll using the GPU is newly displayed in the display area of the display unit 310 or the like. To render the contents that should be displayed in the area of the graphical user interface window, we perform an operation called Texture Upload, which draws pictures into the video buffer memory. Since the Texture Upload has a very high time delay operation, the method of separating the display output tree data for the scrolling of all web documents and storing the video output memory in the video output memory is performed by scrolling when a large image or a large number of images are stored in the content. The breakage of may occur.

따라서, 웹 문서를 트리 형태의 구조를 가진 돔 트리(DOM Tree) 데이터 로 변환한 후, 제공 받은 상기 웹 문서에서 문자의 비율이 미리 설정된 값을 넘는 경우에만 상기 돔 트리(DOM Tree) 데이터로부터 렌더 트리(Render Tree) 데이터를 생성하고 상기 비디오 출력 메모리부(330)에 로드하여 상기 웹 어플리케이션프로세스에 제공한다.Therefore, after converting a web document into DOM tree data having a tree-shaped structure, the web document is rendered from the DOM tree data only when the ratio of characters in the provided web document exceeds a preset value. Render tree data is generated and loaded into the video output memory unit 330 and provided to the web application process.

도 4를 참조하여, 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법을 설명한다.Referring to FIG. 4, a web document scrolling method of the user terminal device will be described.

프로세서는 웹 어플리케이션 프로세스(Web Application Process)를 포함하는 프로세스들을 실행하고 HTML(HyperText Markup Language)을 포함하여 구성된 웹 문서(Web Document)를 제공 받는다(S410).The processor executes processes including a web application process and is provided with a web document including a hypertext markup language (HTML) (S410).

상기 프로세스는 상기 웹 문서를 파싱(Parsing)하여(S420) 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한다(S430). 이 후 상기 변환된 돔 트리(DOM Tree) 데이터로부터 상기 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하고, 상기 렌더 트리 데이터를 비디오 버퍼 메모리에 로드(Load)하여 상기 웹 어플리케이션프로세스에 제공하여(S450) 디스플레이 수단으로 출력한다(S460).The process parses the web document (S420) and converts the web document into DOM tree data having a tree-shaped structure (S430). Thereafter, the renderers having the same structure as the dome tree data from the converted dome tree data and excluding the display output nodes corresponding to the data to be output to the display means are configured as void nodes. Tree tree data is generated, the render tree data is loaded into a video buffer memory, provided to the web application process (S450), and output to the display means (S460).

상기 프로세서는 제공 받은 상기 웹 문서에서 문자(Texts)의 비율을 검사하여, 상기 비율이 미리 설정된 값을 넘는 경우에만 상기 돔 트리 데이터로부터 렌더 트리 데이터로 변환하여 비디오 버퍼 메모리에 로드 할 수도 있다(S440).The processor may check a ratio of texts in the provided web document, convert the dome tree data into render tree data and load it into the video buffer memory only when the ratio exceeds a preset value (S440). ).

상기 프로세서는 상기 돔트리 데이터를 상기 비디오 버퍼 메모리보다 속도가 낮은 메모리에 더 저장할 수 있고, 상기 돔 트리 데이터에서 상기 렌더 트리 데이터의 디스플레이 출력 노드에 대응되는 데이터 구조 위치에 스크롤 마크 노드(Scroll Mark Node)를 삽입하여 상기 디스플레이 비출력 데이터를 저장할 수 있다.The processor may further store the dome tree data in a memory having a lower speed than the video buffer memory, and a scroll mark node at a data structure position corresponding to a display output node of the render tree data in the dome tree data. ) May be inserted to store the display non-output data.

디스플레이 출력 노드는 돔 트리 데이터 또는 렌더 트리 데이터의 노드(Node)들 중에서 디스플레이부(310)에 출력될 데이터에 해당되는 노드들을 의미한다. The display output node refers to nodes corresponding to data to be output to the display 310 among the nodes of the dome tree data or the render tree data.

상기 스크롤 마크 노드는 시작 스크롤 마크 노드와 끝 스크롤 마크 노드의 서로 다른 노드일 수 있다.The scroll mark node may be different nodes of a start scroll mark node and an end scroll mark node.

프로세서부(340)가 웹 어플리케이션 프로세스를 통해 스크롤 이벤트를 포함하는 디스플레이부(310)에 출력될 데이터 변경을 요청을 받으면, 상기 프로세서부(340)는 상기 스크롤 이벤트가 뷰포트에 출력되는 웹 문서의 어느 쪽을 향한 것 인지와 어느 정도 스크롤 되는 것인지를 파악하고, 돔 트리(DOM Tree) 데이터에서 상기 스크롤 마크 노드(811, 812)를 탐색할 수 있다. When the processor unit 340 receives a request for data change to be output to the display unit 310 including a scroll event through a web application process, the processor unit 340 may determine which of the web documents output the scroll event to the viewport. The scroll mark nodes 811 and 812 may be searched for from the dome tree data.

이 후 상기 프로세서부(340)는 상기 돔 트리(DOM Tree) 데이터에서 필요한 노드를 상기 스크롤 마크 노드(811, 812)를 이용하여 상기 렌더 트리(Render Tree) 데이터로 복사하여 상기 출력 메모리에 로드하여 상기 웹 어플리케이션프로세스에 제공할 수 있다(S480, S450).Thereafter, the processor unit 340 copies necessary nodes from the DOM tree data to the render tree data using the scroll mark nodes 811 and 812 and loads them into the output memory. It may be provided to the web application process (S480, S450).

이 경우, 상기 프로세서부(340)는 돔 트리(DOM Tree) 데이터에서 디스플레이 출력 노드의 위치에 다시 스크롤 마크 노드(921, 922)를 이동시켜 삽입할 수 있다.In this case, the processor unit 340 may move and insert the scroll mark nodes 921 and 922 again at the position of the display output node in the DOM tree data.

따라서, 웹 어플리케이션의 컨텐츠 영역이 디스플레이부(310)의 크기 또는 웹 어플리케이션의 사용자 인터페이스 창의 크기보다 커서 스크롤이 행해지는 경우라도, 상기 디스플레이부(310) 또는 상기 웹 어플리케이션의 사용자 인터페이스 창에 해당하는 새로운 데이터를 용이하게 비디오 출력 메모리부(330)에 로드하여 디스플레이할 수 있다.Therefore, even when the content area of the web application is larger than the size of the display 310 or the size of the user interface window of the web application, scrolling is performed. Data may be easily loaded into the video output memory unit 330 for display.

본 발명의 이해를 돕기 위해 설명된 실시예들에서 사용된 특정 용어들이 본 발명을 한정하는 것은 아니다. 본 발명은 통상의 기술자들에게 당연한 모든 구성 요소 및 동등한 가치를 갖는 모든 구성 요소를 포함할 수 있다.
Certain terms used in the embodiments described in order to facilitate understanding of the present invention do not limit the present invention. The present invention may include all components that are natural to those skilled in the art and all components having equivalent values.

220, 230, 240: 사용자 단말 장치
610, 720, 810, 920: 디스플레이 출력 노드
811, 812, 921, 922: 스크롤 마크 노드
220, 230, 240: user terminal device
610, 720, 810, 920: display output node
811, 812, 921, 922: scroll mark node

Claims (19)

삭제delete 웹 어플리케이션 프로세스(Web Application Process)의 출력 결과를 표시하는 디스플레이부;
상기 디스플레이부에 표시되는 출력 결과들을 저장하는 비디오 출력 메모리부;
프로세서부의 프로세스 처리에 따른 중간 연산 결과를 포함하는 데이터들을 저장하는 메모리부; 및
상기 웹 어플리케이션 프로세스를 포함하는 프로세스들을 실행하고, 웹 기술 언어로 구성된 제공 받은 웹 문서(Web Document)를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한 후, 상기 돔 트리 데이터 중 디스플레이 출력 노드(Node)를 제외한 노드들을 빈 노드(void node)로 구성하여 렌더 트리(Render Tree) 데이터를 생성하고, 상기 렌더 트리 데이터를 상기 비디오 출력 메모리부에 저장하여 상기 웹 어플리케이션 프로세스(Web Application Process)에 제공하는 프로세서 프로세서부를 포함하고,
상기 디스플레이 출력 노드는
디스플레이 수단에 출력될 데이터에 해당하며, 상기 돔 트리 데이터의 일부 데이터 노드에 상응하는 것을 특징으로 하는 사용자 단말 장치
A display unit which displays an output result of a web application process;
A video output memory unit for storing output results displayed on the display unit;
A memory unit which stores data including intermediate calculation results according to the process of the processor unit; And
It executes processes including the web application process, parses the provided web document composed of web description language and converts it into dom tree data having a tree structure. After that, nodes other than the display output node of the dome tree data are configured as empty nodes to generate render tree data, and the render tree data is stored in the video output memory unit. It includes a processor processor for providing to the web application process (Web Application Process),
The display output node
The user terminal device corresponds to data to be output to the display means, and corresponds to some data nodes of the dome tree data.
삭제delete 삭제delete 삭제delete 삭제delete 제 2항에 있어서,
상기 프로세서부는,
상기 웹 어플리케이션 프로세스로부터 상기 디스플레이부에 출력될 데이터의 변경을 요청 받으면,
상기 렌더 트리 데이터의 디스플레이 출력 노드에서 상기 디스플레이부에 더 이상 출력되지 않는 노드들을 빈 노드로 바꾸고,
상기 돔 트리 데이터에서 디스플레이 수단에 출력될 데이터를 상기 렌더 트리 데이터로 복사한 후, 상기 렌더 트리 데이터를 상기 웹 어플리케이션프로세스에 제공하는 것을 특징으로 하는 사용자 단말 장치
The method of claim 2,
The processor unit,
When a request for change of data to be output to the display unit is received from the web application process,
In the display output node of the render tree data, nodes that are no longer output to the display unit are replaced with empty nodes,
And copying the data to be output to the display means from the dome tree data to the render tree data, and providing the render tree data to the web application process.
웹 어플리케이션 프로세스(Web Application Process)의 출력 결과를 표시하는 디스플레이부;
상기 디스플레이부에 표시되는 출력 결과들을 저장하는 비디오 출력 메모리부;
프로세서부의 프로세스 처리에 따른 중간 연산 결과를 포함하는 데이터들을 저장하는 메모리부; 및
상기 웹 어플리케이션 프로세스를 포함하는 프로세스들을 실행하고, 웹 기술 언어로 구성된 제공 받은 웹 문서(Web Document)를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한 후, 제공 받은 상기 웹 문서에서 문자(Texts)의 비율을 판단하여 미리 설정된 값을 넘는 경우, 상기 돔 트리 데이터 중 디스플레이 출력 노드(Node)를 제외한 노드들을 빈 노드(void node)로 구성하여 렌더 트리(Render Tree) 데이터를 생성하고, 상기 렌더 트리 데이터를 상기 비디오 출력 메모리부에 저장하여 웹 어플리케이션 프로세스(Web Application Process)에 제공하고, 상기 웹 문서에서 문자의 비율이 미리 설정된 값을 넘지 못하는 경우 상기 돔 트리 데이터를 상기 웹 어플리케이션 프로세스에 제공하는 프로세서부를 포함하고,
상기 디스플레이 출력 노드는
디스플레이 수단에 출력될 데이터에 해당하며, 상기 돔 트리 데이터의 일부 데이터 노드에 상응하는 것을 특징으로 하는 사용자 단말 장치
A display unit which displays an output result of a web application process;
A video output memory unit for storing output results displayed on the display unit;
A memory unit which stores data including intermediate calculation results according to the process of the processor unit; And
It executes processes including the web application process, parses the provided web document composed of web description language and converts it into dom tree data having a tree structure. After that, when the ratio of the texts in the provided web document exceeds the preset value, the render tree is configured by forming empty nodes in the dome tree data except for the display output node. (Render Tree) data is generated, the render tree data is stored in the video output memory unit and provided to a web application process, and the ratio of characters in the web document does not exceed a preset value. A processor unit for providing dome tree data to the web application process,
The display output node
The user terminal device corresponds to data to be output to the display means, and corresponds to some data nodes of the dome tree data.
삭제delete 삭제delete 삭제delete 삭제delete 제 8항에 있어서,
상기 프로세서부는,
상기 웹 문서에서 문자의 비율이 미리 설정된 값을 넘는 경우,
상기 웹 어플리케이션 프로세스로부터 상기 디스플레이부에 출력될 데이터의 변경을 요청 받으면,
상기 렌더 트리 데이터의 디스플레이 출력 노드에서 상기 디스플레이부에 더 이상 출력되지 않는 노드들을 빈 노드로 바꾸고,
상기 돔 트리 데이터에서 디스플레이 수단에 출력될 데이터를 상기 렌더 트리 데이터로 복사한 후, 상기 렌더 트리 데이터를 상기 웹 어플리케이션프로세스에 제공하는 것을 특징으로 하는 사용자 단말 장치
The method of claim 8,
The processor unit,
If the proportion of characters in the web document exceeds a preset value,
When a request for change of data to be output to the display unit is received from the web application process,
In the display output node of the render tree data, nodes that are no longer output to the display unit are replaced with empty nodes,
And copying the data to be output to the display means from the dome tree data to the render tree data, and providing the render tree data to the web application process.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020120112151A 2012-10-10 2012-10-10 Apparatus and methods of supporting fast web scrolling KR102031732B1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020120112151A KR102031732B1 (en) 2012-10-10 2012-10-10 Apparatus and methods of supporting fast web scrolling
CN201380022246.2A CN104254849B (en) 2012-10-10 2013-07-31 Support the user terminal apparatus and method that the express network of network documentation rolls
PCT/KR2013/006914 WO2014058146A1 (en) 2012-10-10 2013-07-31 User terminal apparatus supporting fast web scroll of web documents and method therefor
US14/240,544 US9465780B2 (en) 2012-10-10 2013-07-31 User terminal device and scroll method supporting high-speed web scroll of web document
JP2014540986A JP5976825B2 (en) 2012-10-10 2013-07-31 User terminal device and scroll method for supporting high-speed web scrolling of web documents
SG11201406773RA SG11201406773RA (en) 2012-10-10 2013-07-31 User terminal device and scroll method supporting high-speed web scroll of web document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120112151A KR102031732B1 (en) 2012-10-10 2012-10-10 Apparatus and methods of supporting fast web scrolling

Publications (2)

Publication Number Publication Date
KR20140046118A KR20140046118A (en) 2014-04-18
KR102031732B1 true KR102031732B1 (en) 2019-10-14

Family

ID=50653173

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120112151A KR102031732B1 (en) 2012-10-10 2012-10-10 Apparatus and methods of supporting fast web scrolling

Country Status (1)

Country Link
KR (1) KR102031732B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112001151B (en) * 2020-08-10 2023-12-19 青岛海尔科技有限公司 Method, device and equipment for displaying document

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8701037B2 (en) 2007-06-27 2014-04-15 Microsoft Corporation Turbo-scroll mode for rapid data item selection
KR101046446B1 (en) * 2008-11-18 2011-07-04 주식회사 엘지유플러스 Web page loading method and system

Also Published As

Publication number Publication date
KR20140046118A (en) 2014-04-18

Similar Documents

Publication Publication Date Title
US9317622B1 (en) Methods and systems for fragmenting and recombining content structured language data content to reduce latency of processing and rendering operations
US20120297324A1 (en) Navigation Control Availability
JP5976825B2 (en) User terminal device and scroll method for supporting high-speed web scrolling of web documents
US20120167047A1 (en) System and method for automatic creation of web content for mobile communicators
US20130145252A1 (en) Page based navigation and presentation of web content
US20210149842A1 (en) System and method for display of document comparisons on a remote device
US20170337168A1 (en) System and method for generating and monitoring feedback of a published webpage as implemented on a remote client
US20050188298A1 (en) Displaying a web page in a browser window and a method for handling a web page
CN104077387A (en) Webpage content display method and browser device
US10623354B2 (en) Preview of compressed file email attachments
CN104050238A (en) Map labeling method and map labeling device
CN110717120B (en) Webpage list display method and device
WO2013028081A1 (en) Page based navigation and presentation of web content
US20130339840A1 (en) System and method for logical chunking and restructuring websites
JP2012518836A (en) Handling fonts for viewing documents on the web
US20190065442A1 (en) Snapping content header in scrolled document
CN107967344B (en) Method, system, equipment and storage medium for realizing webpage animation effect
WO2022048141A1 (en) Image processing method and apparatus, and computer readable storage medium
CN101782914A (en) Method and system for prompting web page information
JP2021512415A (en) Backdrop rendering of digital components
US20120089899A1 (en) Method and system for redisplaying a web page
KR20130099700A (en) Method and apparatus for comprising webpage
CN110968314A (en) Page generation method and device
KR102031732B1 (en) Apparatus and methods of supporting fast web scrolling
JP5832056B1 (en) Program for displaying Web page, terminal device, and server device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant