WO2014058146A1 - 웹 문서의 고속 웹 스크롤을 지원하는 사용자 단말 장치 및 스크롤 방법 - Google Patents

웹 문서의 고속 웹 스크롤을 지원하는 사용자 단말 장치 및 스크롤 방법 Download PDF

Info

Publication number
WO2014058146A1
WO2014058146A1 PCT/KR2013/006914 KR2013006914W WO2014058146A1 WO 2014058146 A1 WO2014058146 A1 WO 2014058146A1 KR 2013006914 W KR2013006914 W KR 2013006914W WO 2014058146 A1 WO2014058146 A1 WO 2014058146A1
Authority
WO
WIPO (PCT)
Prior art keywords
output
tree data
data
display
web
Prior art date
Application number
PCT/KR2013/006914
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020120112151A external-priority patent/KR102031732B1/ko
Priority claimed from KR1020120121237A external-priority patent/KR20140055020A/ko
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to JP2014540986A priority Critical patent/JP5976825B2/ja
Priority to CN201380022246.2A priority patent/CN104254849B/zh
Priority to US14/240,544 priority patent/US9465780B2/en
Priority to SG11201406773RA priority patent/SG11201406773RA/en
Publication of WO2014058146A1 publication Critical patent/WO2014058146A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/34Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators for rolling or scrolling
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/027Arrangements and methods specific for the display of internet documents

Definitions

  • the present invention relates to a technology for displaying a Web document including a HyperText Markup Language (HTML) on a user terminal device.
  • HTML HyperText Markup Language
  • the present invention relates to a technology for improving the responsiveness of a user terminal device when displaying a large web document. It is about.
  • 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.
  • a web document description language such as Java Script or XML including HTML
  • web documents Due to the development of the Internet and the development of wired and wireless communication technologies, web documents have been expanded from text-based contents to web documents including multimedia contents such as pictures and videos.
  • the web application running on the user terminal device needs to configure the system so as to stably process a web document composed of a large amount of content and not reduce user response.
  • the social network service does not have a fixed end of a web document, but loads a subsequent capacity when the user scrolls the web document to the end of the capacity after loading a certain capacity of the web document. It is in the form of service.
  • 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.
  • 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 a processing method for scrolling according to the complexity of a web document.
  • a display unit for displaying the output result of the Web Application Process (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;
  • executing processes including the web application process parsing a provided web document composed of a web description language, and converting the web document into dome tree data having a tree structure.
  • non-output 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 are render tree data including empty nodes.
  • a processor processor configured to generate and store the render tree data in the video output memory to provide the web application process to the web application process.
  • the processor may store the dome tree data in a memory having a lower speed than the video output memory, but is not limited thereto.
  • the processor unit when the processor unit receives a request to change the data to be output to the display unit from the web application process, the non-output nodes that are no longer outputted to the display unit from the display output node of the render tree data are replaced with empty nodes.
  • the render tree data After copying the data to be output from the dome tree data to the display means to the render tree data, the render tree data may be provided to the web application process.
  • 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 a different node between a start scroll mark node and an end scroll mark node.
  • a display unit for displaying the output result of the Web Application Process (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;
  • executing processes including the web application process parsing a provided web document composed of a web description language, and converting the web document into dome tree data having a tree structure.
  • the display output node has the same structure as the converted dome tree data and corresponds to the data to be output to the display means.
  • Nodes except for generate render tree data consisting of empty nodes, store the render tree data in the video output memory unit, and provide the render tree data to a web application process. If the proportion of characters in the document does not exceed a preset value, the dome tree data is sent to the web application program.
  • the user terminal apparatus comprising: a processor that provides the access is provided.
  • the processor unit may store the dome tree data in a memory having a lower speed than that of the video output memory unit when the ratio of characters in the web document exceeds a preset value.
  • the processor may further include 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 when a ratio of characters in the web document exceeds a preset value. Can be inserted.
  • the scroll mark node may be a different node between a start scroll mark node and an end scroll mark node.
  • the processor unit receives the request to change the data to be output to the display unit from the web application process, and displays the display at the display output node of the render tree data. Nodes that are no longer output to the unit may be replaced with empty nodes, and data to be output from the dome tree data to the display means may be copied to the render tree data, and then the render tree data may be provided to the web application process.
  • a web document stored in a web description language provides a web document for providing the web document to the user terminal device in accordance with the connection of the user terminal device 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. Then, non-output 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 are rendered to the render tree data consisting of empty nodes.
  • a web scroll system is provided that includes a user terminal device that generates and provides a processor that provides the render tree data to a web application process.
  • the user terminal device may be configured to: i) store the display non-output nodes in a preset storage space and load the dome tree data again when there is a call to the display non-output nodes of the web application process; ii) When there is a call to the display non-output nodes of the web application process, only the display non-output nodes may be received from the web document providing apparatus and loaded into the dome tree data again.
  • the processor unit executes processes including a web application process (Web Application Process) and receiving a web document (Web Document) composed of a web description language ;
  • the processor parsing the web document and converting the web document into DOM tree data having a tree-shaped structure;
  • a render tree in which the processor unit has the same structure as the dome tree data and non-output nodes other than the display output node corresponding to the data to be output to the display means are configured as void nodes; Generating data; And (d) loading the render tree data into a video buffer memory to provide the web application process to the web application process.
  • the dome tree data converted by the processor unit may be further stored in a memory having a lower speed than the video buffer memory.
  • the processor unit may further insert a scroll mark node at a data structure position corresponding to the display output node of the render tree data in the dome tree data.
  • the scroll mark node may be a different node between a start scroll mark node and an end scroll mark node.
  • step (d) when the processor unit is requested to change the data to be output to the display unit from the web application process, the non-output unit is no longer output to the display unit from the display output node of the render tree data.
  • the nodes may be replaced with empty nodes, the data to be output from the dome tree data to the display means may be copied to the render tree data, and the render tree data may be provided to the web application process.
  • step (c) may be performed when the ratio of texts in the provided web document is examined and the ratio exceeds a preset value.
  • the processor executes processes including a web application process (Web Application Process) and receiving a web document (Web Document) composed of a web description language ;
  • the processor parsing the web document and converting the web document into DOM tree data having a tree-shaped structure;
  • the processor unit parsing the web document and converting the web document into DOM tree data having a tree-shaped structure;
  • the processor unit removing, by the processor unit, non-display nodes other than display output nodes corresponding to data to be output to the display means from a display output memory and providing them to a web application process;
  • the display non-output nodes are nodes having a first distance or more from the display output node, and a recording medium readable by the electronic device and provided with a web document scrolling method of the user terminal device.
  • the user terminal device can quickly scroll a web document.
  • the data structure and processing method for scrolling can be changed according to the complexity of the web document.
  • 1 is an embodiment of a service over the web of a conventional social network service.
  • FIG. 2 is an embodiment of a web scrolling system according to the present invention.
  • FIG 3 is an embodiment of a user terminal device according to the present invention.
  • FIG. 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 is an embodiment of a data configuration in which a scroll mark node is inserted into dome tree data according to the present invention.
  • FIG. 10 is a view comparing a method for displaying a web page in a conventional user terminal device with an embodiment according to the present invention.
  • 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.
  • 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).
  • HTML HyperText Markup Language
  • HTML HyperText Markup Language
  • HTML HyperText Markup Language
  • JavaScript JavaScript
  • CSS Cascading Style Sheets
  • the web scroll system includes a web document providing apparatus device and user terminal devices 220, 230, and 240.
  • 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.
  • 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 is a formal standard for the W3C as a format for representing structured documents using an object-oriented model.
  • the web document converted into dome tree data has the same structure as the converted dome tree data, and non-output nodes other than display output nodes corresponding to data to be output to the display means are empty nodes. Create render tree data consisting of).
  • the render tree data is loaded into a video output memory and provided to a web application process.
  • 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.
  • the amount of data exceeds one page, it means the data of one page to be output to the current display means.
  • 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.
  • the user terminal device may store the display non-output nodes in a preset storage space, and load the display non-output nodes into the dome tree data when there is a call to the display non-output nodes of the web application process.
  • the user terminal device may store the display non-output nodes in a preset storage space, and load the display non-output nodes into the dome tree data when there is a call to the display non-output nodes of the web application process.
  • only the display non-output nodes may be received from the web document providing apparatus and loaded into the dome tree data.
  • FIG. 10 (a) is a conceptual diagram of displaying a web document received by a conventional user terminal device (220, 230, 240) connected to a web document providing device on a display device.
  • the web document has a size larger than one screen (viewport) 1020 of the display device 1030.
  • the end of the web document is not fixed, but after loading a certain amount of the web document and the user scrolls the web document to the end of the capacity, the web document is loaded again.
  • the capacity of the memory is continuously loaded as shown in FIG. 10 (a) beyond the display screen 1030 shown to the user in the user terminal device according to the scrolling input of the user terminal device. And a large load on data processing.
  • the user terminal device returns the data portion from the web application process to the display apparatus again, except for the data portion currently being displayed in the viewport in the web document or expected to be displayed within a predetermined time as shown in FIG. 10 (b). Remove from display output memory until requested to display.
  • the portion of data expected to be displayed within a certain time is the portion of the web document that is less than a first predetermined distance from the portion of the web document currently displayed in the viewport.
  • the first distance may be calculated as a coordinate at which a specific node of the dome tree data is located in the web document.
  • the first distance may mean an absolute coordinate distance as shown in FIG. 10 (b). have.
  • the dome tree data has a tree-like structure as shown in FIG. 5, and a node near a data node (display output node) currently output to the display device displays the web document as shown in FIG. 10 (b). It's near the part of the document.
  • the distance between nodes in the dome tree data in the form of a tree can be calculated, and nodes less than the first distance 1040 from the display output node are expected to be displayed within a certain time, so that the first distance ( 1040 and above are removed from the display output memory until the node receives a request to display on the display device from the web application process.
  • Removing the display non-output nodes from the display output memory may cause the processor to copy the same nodes as the display non-output nodes from the dome tree data to a preset storage space and then save the display non-output nodes into void nodes. It may be.
  • the processor may change the display non-output node into a blank node without storing in the preset storage space.
  • the web application process calls the display non-output node
  • only the display non-output nodes may be received from the web document providing apparatus and loaded into the dome tree data or render tree data.
  • the processor may insert a scroll mark node at a data structure position corresponding to the display non-output nodes of the dome tree data.
  • the scroll mark node may consist of different nodes of a start scroll mark node and an end scroll mark node, and the dome tree of the display non-output node in response to a call to output a display non-output node to a display device from a web application process. Re-loading into data or render tree data can be facilitated.
  • the processor unit 330 When the processor unit 330 receives a call to output the display non-output node to the display device from the web application process due to the scrolling of the user, the processor unit 330 reloads the display non-output node removed from the memory to dome tree data or render. Can be inserted into tree data.
  • Insertion into the dome tree data may mean copying the display non-output node to a blank node of the dome tree data where the display non-output node is originally located.
  • FIG. 3 An embodiment of a user terminal device according to the present invention will be described with reference to FIG. 3.
  • the user terminal device includes a display unit 310, a video output memory unit 330, a memory unit 320, and a processor unit 340.
  • 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.
  • GUI Graphic User Interface
  • 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.
  • 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.
  • the video output memory unit 330 is 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.
  • 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.
  • 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.
  • CPU central processing unit
  • CPLD programmable device device
  • ASIC application-specific semiconductor processing unit
  • 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.
  • the processor unit 340 has the same structure as the converted dome tree data using the converted dome tree data, and displays a display output node corresponding to the data to be output to the display 310.
  • Render tree data consisting of empty nodes except non-output nodes is generated.
  • 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. Render Tree and renders the data to the display unit 310.
  • the render tree data has the same structure as the DOM tree data as shown in FIG. 6.
  • the render tree In the Render Tree data, the non-output nodes 520 except the data node 510 outputted to the display means are generated as void nodes as shown in FIG. 6.
  • the processor unit 340 may store the DOM tree data in a memory having a lower speed than the 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 by the video output memory unit 330 and the remaining DOM tree data is stored in the system memory to enable fast display of a web document.
  • the output time is proportional to the complexity (number of nodes) of the dome tree data.
  • 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.
  • the application process in the viewport output speed is improved by configuring the nodes other than the data node output to the viewport as a void node
  • a mobile terminal with low computing power can also provide a smooth user experience to users and prevent the scroll delay because it does not output all the data as valid nodes even when the web user scrolls the web browser. have.
  • 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.
  • render tree data may change according to scrolling of a web browser of a user.
  • the render tree (Render Tree)
  • the non-output nodes 510 except for the data node 520 which are also output to the display means are configured as void nodes, and the nodes 620 which were empty nodes are dome tree.
  • the nodes 520 to be output from the data to the display means are copied and reconfigured as shown in FIG. 7.
  • the display output node of the render tree data from the dome tree data is generated.
  • the DOM tree data may be stored by inserting scroll mark nodes 811 and 812 at a data structure corresponding to the scroll mark nodes 811 and 812.
  • 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.
  • the scroll mark node is inserted at a node position (data structure position corresponding to the display output node), which has a pointer of the display output node of the render tree data, among the dome tree data, and is inserted into the render tree ( Render Tree)
  • the scroll mark node may be a node composed of a start scroll mark node and an end scroll mark node so that the start and end of the position where the display output node of the data was located.
  • 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.
  • the processor unit 340 may select one of the display output nodes of the render tree data. Nodes outside the viewport may be deleted, and nodes newly output to the viewport among the dome tree data may be copied as render tree data, loaded into the display output memory, and provided to the web application process. .
  • Render tree data generated from the dome tree data converted from the web document is shown in FIG. 6, and corresponds to a display output node of render tree data in the dome tree data.
  • the processor unit ( 340 may determine which direction of the web document is outputted to the viewport and how much it scrolls, and search for the scroll mark nodes 811 and 812 in the DOM tree data. have.
  • 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.
  • 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.
  • the user terminal device includes a display unit 310, a video output memory unit 330, a memory unit, and a processor unit 340.
  • the display 310 may provide a Graphic User Interface (GUI) of an application executed in the processor 340 of the user terminal device.
  • GUI Graphic User Interface
  • 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, or may be configured by allocating a video output region in the system memory. .
  • 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.
  • CPU central processing unit
  • CPLD programmable device device
  • ASIC application-specific semiconductor processing unit
  • the processor unit 340 measures the complexity of the web document converted into DOM tree data.
  • 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.
  • 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, loaded into the video output memory unit 330, and provided to the web application process.
  • the processor unit 340 executes processes including a web application process and receives a web document including a hypertext markup language (HTML) (S410).
  • HTML hypertext markup language
  • the process parses the web document (S420) and converts the web document into DOM tree data having a tree-shaped structure (S430). Thereafter, the non-output nodes except for the display output node corresponding to the data to be output to the display means and have the same structure as the dome tree data from the converted dome tree data, and the empty node (void node) Generated render 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).
  • the display non-output node may be set to a node greater than or equal to the first distance from the display output node.
  • display non-output nodes may be removed from the display output memory and provided to the web application process.
  • the processor unit 340 checks the ratio of the text (Texts) in the provided web document, and converts from the dome tree data to the render tree data only when the ratio exceeds a predetermined value and loaded into the video buffer memory It may be (S440).
  • the processor unit 340 may further store the dome tree data in a memory having a lower speed than the video buffer memory, and a scroll mark at a data structure position corresponding to a display output node of the render tree data in the dome tree data.
  • the display non-output data may be stored by inserting a scroll mark node.
  • 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.
  • 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.
  • 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).
  • 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.
  • the step of (a) executing a process including a web application process (Web Application Process) and receiving a Web document (Web Document) configured in a web description language (b) The processor parses the web document and converts the web document into DOM tree data having a tree structure. (C) The display corresponding to the data to be output to the display means. Display non-output nodes other than an output node may be removed from a display output memory and provided to a web application process, wherein the display non-output nodes are nodes greater than or equal to a first distance from the display output node.
  • Web document scrolling (Scrolling) method of the user terminal device characterized in that It is written to program and read a recording medium in an electronic device is provided.
  • the present invention can be used in a user terminal for scrolling a web document containing a large amount of content by enabling fast web scrolling in the user terminal device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

웹 문서의 고속 웹 스크롤을 지원하는 사용자 단말 장치 및 스크롤 방법이 개시된다. 본 발명의 일 실시예에 따르면, HTML(HyperText Markup Language)을 포함하여 구성된 웹(Web) 문서를 저장하며, 사용자 단말 장치의 접속에 따라 웹 문서를 사용자 단말 장치로 제공하는 웹 문서 제공 장치; 및 웹 문서 제공 장치에 접속하여 웹 문서(Web Document)를 제공 받고, 제공 받은 웹 문서를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 데이터로 변환한 후, 변환된 데이터 중에서 디스플레이 수단에 출력될 데이터를 디스플레이 출력 트리 데이터로 비디오 출력 메모리에 로드(Load)하여 웹 어플리케이션 프로세스(Web Application Process)에 제공하는 프로세서(Processor)를 포함하는 사용자 단말 장치를 포함하는 웹 스크롤 시스템이 제공된다.

Description

웹 문서의 고속 웹 스크롤을 지원하는 사용자 단말 장치 및 스크롤 방법
본 발명은 HTML(HyperText Markup Language)을 포함하여 구성된 웹 문서(Web Document)를 사용자 단말 장치에서 표시하기 위한 기술로서, 특히 크기가 큰 웹 문서를 표시할 때 사용자 단말 장치의 반응성을 향상시키는 기술에 관한 것이다.
웹 문서들은 일반적으로 HTML을 포함한 Java Script, XML 등의 웹 문서 기술 언어로 표현되고, 사용자 단말 장치에서 실행되는 웹 어플리케이션(Web Application)들은 웹 문서 기술 언어를 해석하여 사용자 단말 장치의 디스플레이 수단에 이를 표시한다.
인터넷의 발달과 유무선 통신기술의 발달로 인하여 웹 문서들은 예전의 텍스트(Text) 중심의 컨텐츠에서 그림, 동영상 등의 멀티미디어 컨텐츠를 포함하는 웹 문서로 확장되고 있다.
따라서, 사용자 단말 장치에서 실행되는 웹 어플리케이션은 대용량의 컨텐츠로 구성된 웹 문서를 안정적으로 처리하고 사용자 반응 또한 저하되지 않도록 시스템을 구성할 필요가 있다.
또한, 소셜 네트워크 서비스는 웹 문서의 끝이 정해져 있는 형태가 아니라, 웹 문서의 일정 용량을 로드(Load)한 후 사용자가 해당 용량의 끝까지 웹 문서를 스크롤(Scroll)하면 다시 그 이후의 용량을 로드하는 형태로 서비스하고 있다.
도 1은 특정 소셜 네트워크 서비스를 모바일 사용자 단말 장치에서 표시한 결과이며, 웹 문서의 일정 용량(110)을 지나서 스크롤하면, 그 이후의 용량을 다시 로드하고 이를 계속 반복하게 된다.
이 경우, 사용자 단말 장치에서 사용자에게 보여지는 디스플레이 화면을 넘어서는 웹 문서를 계속 로드하여 메모리의 용량 및 데이터 처리에 큰 부하가 걸리는 문제점이 있고, 이와 같은 문제점은 대용량 메모리를 가진 개인용 컴퓨터가 아닌 모바일 단말 장치들에서는 더 큰 문제점으로 작용한다.
본 발명이 이루고자 하는 기술적 과제는 웹 문서를 빠르게 스크롤 가능한 사용자 단말 장치 및 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는 웹 문서를 빠르게 스크롤 가능하게 하는 데이터 구조 및 처리 방법을 지원하는 사용자 단말 장치 및 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는 웹 문서의 복잡도에 따라 스크롤을 위한 데이터 구조 및 처리 방법을 변경 가능한 사용자 단말 장치 및 방법을 제공하는 데 있다.
상술한 과제를 해결하기 위한 본 발명의 일 측면에 따르면, 웹 어플리케이션 프로세스(Web Application Process)의 출력 결과를 표시하는 디스플레이부; 상기 디스플레이부에 표시되는 출력 결과들을 저장하는 비디오 출력 메모리부; 프로세서부의 프로세스 처리에 따른 중간 연산 결과를 포함하는 데이터들을 저장하는 메모리부; 및 상기 웹 어플리케이션 프로세스를 포함하는 프로세스들을 실행하고, 웹 기술 언어로 구성된 제공 받은 웹 문서(Web Document)를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한 후, 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 비출력 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하고, 상기 렌더 트리 데이터를 상기 비디오 출력 메모리부에 저장하여 상기 웹 어플리케이션 프로세스(Web Application Process)에 제공하는 프로세서 프로세서부;를 포함하는 사용자 단말 장치가 제공된다.
또한, 상기 프로세서부는, 돔 트리 데이터를 상기 비디오 출력 메모리부보다 속도가 낮은 메모리에 저장할 수 있으나, 이에 한정되지 않는다.
또한, 상기 프로세서부는, 상기 웹 어플리케이션 프로세스로부터 상기 디스플레이부에 출력될 데이터의 변경을 요청 받으면, 상기 렌더 트리 데이터의 디스플레이 출력 노드에서 상기 디스플레이부에 더 이상 출력되지 않는 비출력 노드들을 빈 노드로 바꾸고, 상기 돔 트리 데이터에서 디스플레이 수단에 출력될 데이터를 상기 렌더 트리 데이터로 복사한 후, 상기 렌더 트리 데이터를 상기 웹 어플리케이션 프로세스에 제공할 수 있다.
또한, 상기 프로세서부는, 상기 돔 트리 데이터에서 상기 렌더 트리 데이터의 디스플레이 출력 노드에 대응되는 데이터 구조 위치에 스크롤 마크 노드(Scroll Mark Node)를 삽입할 수 있다.
또한, 상기 스크롤 마크 노드는 시작 스크롤 마크 노드와 끝 스크롤 마크 노드의 서로 다른 노드인 것을 특징으로 할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 측면에 따르면, 웹 어플리케이션 프로세스(Web Application Process)의 출력 결과를 표시하는 디스플레이부; 상기 디스플레이부에 표시되는 출력 결과들을 저장하는 비디오 출력 메모리부; 프로세서부의 프로세스 처리에 따른 중간 연산 결과를 포함하는 데이터들을 저장하는 메모리부; 및 상기 웹 어플리케이션 프로세스를 포함하는 프로세스들을 실행하고, 웹 기술 언어로 구성된 제공 받은 웹 문서(Web Document)를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한 후, 제공 받은 상기 웹 문서에서 문자(Texts)의 비율을 판단하여 미리 설정된 값을 넘는 경우 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하여 상기 비디오 출력 메모리부에 저장한 후 상기 렌더 트리 데이터를 웹 어플리케이션 프로세스(Web Application Process)에 제공하고, 상기 웹 문서에서 문자의 비율이 미리 설정된 값을 넘지 못하는 경우 상기 돔 트리 데이터를 상기 웹 어플리케이션 프로세스에 제공하는 프로세서부를 포함하는 사용자 단말 장치가 제공된다.
또한, 상기 프로세서부는, 상기 웹 문서에서 문자의 비율이 미리 설정된 값을 넘는 경우, 상기 돔 트리 데이터를 상기 비디오 출력 메모리부보다 속도가 낮은 메모리에 저장할 수 있다.
또한, 상기 프로세서부는, 상기 웹 문서에서 문자의 비율이 미리 설정된 값을 넘는 경우, 상기 돔 트리 데이터에서 상기 렌더 트리 데이터의 디스플레이 출력 노드에 대응되는 데이터 구조 위치에 스크롤 마크 노드(Scroll Mark Node)를 삽입할 수 있다.
또한, 상기 스크롤 마크 노드는 시작 스크롤 마크 노드와 끝 스크롤 마크 노드의 서로 다른 노드인 것을 특징으로 할 수 있다.
또한, 상기 프로세서부는, 상기 웹 문서에서 문자의 비율이 미리 설정된 값을 넘는 경우, 상기 웹 어플리케이션 프로세스로부터 상기 디스플레이부에 출력될 데이터의 변경을 요청 받으면, 상기 렌더 트리 데이터의 디스플레이 출력 노드에서 상기 디스플레이부에 더 이상 출력되지 않는 노드들을 빈 노드로 바꾸고, 상기 돔 트리 데이터에서 디스플레이 수단에 출력될 데이터를 상기 렌더 트리 데이터로 복사한 후, 상기 렌더 트리 데이터를 상기 웹 어플리케이션프로세스에 제공할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 측면에 따르면, 웹 기술 언어로 구성된 웹(Web) 문서를 저장하며, 사용자 단말 장치의 접속에 따라 상기 웹 문서를 상기 사용자 단말 장치로 제공하는 웹 문서 제공 장치; 및 상기 웹 문서 제공 장치에 접속하여 상기 웹 문서(Web Document)를 제공 받고, 제공 받은 상기 웹 문서를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한 후, 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 비출력 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하고, 상기 렌더 트리 데이터를 웹 어플리케이션 프로세스(Web Application Process)에 제공하는 프로세서(Processor)를 포함하는 사용자 단말 장치를 포함하는 웹 스크롤 시스템이 제공된다.
또한, 상기 사용자 단말 장치는, i) 상기 디스플레이 비출력 노드들을 미리 설정된 저장 공간에 저장하고, 상기 웹 어플리케이션 프로세스의 상기 디스플레이 비출력 노드들에 대한 호출이 있을 때 다시 상기 돔 트리 데이터에 로드하거나, ii) 상기 웹 어플리케이션 프로세스의 상기 디스플레이 비출력 노드들에 대한 호출이 있을 때 상기 웹 문서 제공 장치로부터 상기 디스플레이 비출력 노드들만 전송 받아 다시 상기 돔 트리 데이터에 로드할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 측면에 따르면, (a) 프로세서부가 웹 어플리케이션 프로세스(Web Application Process)를 포함하는 프로세스들을 실행하고 웹 기술 언어로 구성된 웹 문서(Web Document)를 제공 받는 단계; (b) 상기 프로세서부가 상기 웹 문서를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환하는 단계; (c) 상기 프로세서부가 상기 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 비출력 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하는 단계; 및 (d) 상기 프로세서가 상기 렌더 트리 데이터를 비디오 버퍼 메모리에 로드(Load)하여 상기 웹 어플리케이션프로세스에 제공하는 단계를 포함하는 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법이 제공된다.
또한, 상기 (b) 단계는, 상기 프로세서부가 변환된 상기 돔 트리 데이터를 상기 비디오 버퍼 메모리보다 속도가 낮은 메모리에 더 저장할 수 있다.
또한, 상기 (c) 단계는, 상기 프로세서부가 상기 돔 트리 데이터에서 상기 렌더 트리 데이터의 디스플레이 출력 노드에 대응되는 데이터 구조 위치에 스크롤 마크 노드(Scroll Mark Node)를 더 삽입할 수 있다.
또한, 상기 스크롤 마크 노드는 시작 스크롤 마크 노드와 끝 스크롤 마크 노드의 서로 다른 노드인 것을 특징으로 할 수 있다.
또한, 상기 (d) 단계는, 상기 프로세서부가 상기 웹 어플리케이션 프로세스로부터 상기 디스플레이부에 출력될 데이터의 변경을 요청 받으면, 상기 렌더 트리 데이터의 디스플레이 출력 노드에서 상기 디스플레이부에 더 이상 출력되지 않는 비출력 노드들을 빈 노드로 바꾸고, 상기 돔 트리 데이터에서 디스플레이 수단에 출력될 데이터를 상기 렌더 트리 데이터로 복사한 후, 상기 렌더 트리 데이터를 상기 웹 어플리케이션프로세스에 제공할 수 있다.
또한, 상기 (c) 단계는, 제공 받은 상기 웹 문서에서 문자(Texts)의 비율을 검사하여, 상기 비율이 미리 설정된 값을 넘는 경우에 수행될 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 측면에 따르면, (a) 프로세서가 웹 어플리케이션 프로세스(Web Application Process)를 포함하는 프로세스들을 실행하고 웹 기술 언어로 구성된 웹 문서(Web Document)를 제공 받는 단계; (b) 상기 프로세서부가 상기 웹 문서를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환하는 단계; (c) 상기 프로세서부가 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 디스플레이 비출력 노드들은 디스플레이 출력 메모리에서 제거하여 웹 어플리케이션 프로세스(Web Application Process)에 제공하는 단계를 포함하고, 상기 디스플레이 비출력 노드들은 상기 디스플레이 출력 노드로부터 제 1 거리 이상의 노드들인 것을 특징으로 하는 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체가 제공된다.
본 발명에 의하면, 사용자 단말 장치는 웹 문서를 빠르게 스크롤 가능하다.
또한 본 발명에 의하면, 웹 문서를 빠르게 스크롤 가능하게 하는 데이터 구조 및 처리 방법을 제공할 수 있다.
본 발명에 의하면, 웹 문서의 복잡도에 따라 스크롤을 위한 데이터 구조 및 처리 방법을 변경할 수 있다.
도 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)가 삽입된 데이터 구성의 일 실시예이다.
도 10은 종래의 사용자 단말 장치에서 웹 페이지를 디스플레이하는 방법과 본 발명에 따른 실시예를 비교한 도면이다.
<부호의 설명>
210 : 웹 문서 제공 장치
220, 230, 240: 사용자 단말 장치
310 : 디스플레이부 320 : 메모리부
330 : 비디오 출력 메모리부 340 : 프로세서부
610, 720, 810, 920: 디스플레이 출력 노드
811, 812, 921, 922: 스크롤 마크 노드
1010: 웹 문서
1020: 뷰 포트
1030: 디스플레이 장치
1040: 제 1 거리
본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하의 상세한 설명에 의해 보다 명확하게 이해될 것이다. 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다.
이 분야의 통상의 기술자는 본 명세서의 실시예들을 통해서 본 발명의 다양한 응용을 구현 가능하므로, 본 발명의 상세한 설명에 기재된 임의의 실시예들은 본 발명을 보다 잘 설명하기 위한 예시적인 것으로서 본 발명의 범위가 실시예들로 한정되는 것을 의도하는 것은 아니다.
본 명세서에서 사용자 단말 장치는 통상적으로 적어도 하나의 프로세서부, 메모리부 및 디스플레이 수단을 포함하는 장치를 의미한다. 상기 사용자 단말 장치는 휴대폰, 태블릿 컴퓨터, 개인용 컴퓨터 등을 포함한다.
본 명세서에서 웹 기술 언어는 HTML(HyperText Markup Language), HTML(HyperText Markup Language) 5, 자바스크립트(Javascript), CSS(Cascading Style Sheets) 등의 웹 문서를 작성하는 언어를 모두 포함한다.
도 2를 참조하여 본 발명에 따른 웹 스크롤 시스템의 실시예를 설명한다.
본 발명에 따른 웹 스크롤 시스템은 웹 문서 제공 장치 장치 및 사용자 단말 장치(220, 230, 240)를 포함한다.
웹 문서 제공 장치 장치는 유무선 네트워크에 연결되어 있고 상기 유무선 네트워크를 통하여 접속된 사용자 단말 장치로 웹 문서(Web Document)를 제공한다. 상기 웹 문서는 HTML을 포함한 웹 기술 언어로 작성되어 있으며, 웹 문서 제공 장치 장치에 연결된 데이터베이스(Database)에 저장되어 있을 수 있다.
사용자 단말 장치(220, 230, 240)는 상기 웹 문서 제공 장치 장치에 접속하여 웹 문서를 제공 받은 후, 제공 받은 웹 문서를 파싱(Parsing)하여 도 5와 같은 돔 트리(DOM Tree) 데이터로 변환한다.
돔 트리(DOM Tree)는 객체 지향 모델을 이용한 구조화된 문서를 표현하는 형식으로서 W3C의 공식 표준이다.
돔 트리(DOM Tree) 데이터로 변환된 웹 문서는 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 비출력 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성한다.
상기 렌더 트리(Render Tree) 데이터는 비디오 출력 메모리에 로드되어 웹 어플리케이션 프로세스(Process)에 제공된다.
디스플레이 수단에 출력될 데이터란 돔 트리(DOM Tree) 데이터로 변환된 웹 문서에서 디스플레이 수단에 출력될 데이터만 분리된 것을 의미하는 것으로서, 돔 트리(DOM Tree) 데이터로 변환된 웹 문서가 디스플레이 수단의 한 페이지를 넘는 데이터의 양인 경우 현재 디스플레이 수단에 출력될 한 페이지의 데이터를 의미한다.
따라서, 웹 문서가 스크롤되면 디스플레이 수단에 출력될 데이터는 스크롤에 따라 계속 변화하고, 이에 따라 렌더 트리(Render Tree) 데이터도 변화하게 된다.
웹 어플리케이션 프로세스는 프로세서에서 실행되는 응용 프로그램 프로세스 중에서 웹 문서를 파싱하여 디스플레이 수단에 출력 가능한 어플리케이션의 프로세스를 총칭하고, 웹 브라우져(Web Browser) 또한 웹 어플리케이션에 포함된다.
한편, 사용자 단말 장치는, 디스플레이 비출력 노드들을 미리 설정된 저장 공간에 저장하고, 웹 어플리케이션 프로세스의 디스플레이 비출력 노드들에 대한 호출이 있을 때, 다시 돔 트리 데이터에 로드할 수 있다. 또는, 웹 어플리케이션 프로세스의 디스플레이 비출력 노드들에 대한 호출이 있을 때, 웹 문서 제공 장치로부터 디스플레이 비출력 노드들만 전송 받아 다시 돔 트리 데이터에 로드할 수도 있다.
도 10을 참조하면, 도 10 (a)는 종래의 사용자 단말 장치(220, 230, 240)가 웹 문서 제공 장치에 접속하여 제공 받은 웹 문서를 디스플레이 장치에 디스플레이하는 개념도로서, 도 10 (a)와 같이 웹 문서는 디스플레이 장치(1030)의 한 화면(뷰 포트, viewport) (1020)을 넘어서는 크기를 가지는 경우가 대부분이다.
또한, 웹 문서의 끝이 정해져 있는 형태가 아니라 웹 문서의 일정 용량을 로드(Load)한 후 사용자가 해당 용량의 끝까지 웹 문서를 스크롤(Scroll)하면 다시 그 이후의 용량을 로드하는 형태의 웹 문서도 도 10 (a)와 마찬가지이며, 이 경우 사용자 단말 장치의 스크롤링 입력에 따라 사용자 단말 장치에서 사용자에게 보여지는 디스플레이 화면(1030)을 넘어서는 도 10 (a)처럼 웹 문서를 계속 로드하여 메모리의 용량 및 데이터 처리에 큰 부하가 걸리게 된다.
따라서 본 발명에 따른 사용자 단말 장치는 도 10 (b)와 같이 웹 문서에서 뷰포트에 현재 디스플레이되고 있거나, 일정 시간 안에 디스플레이 될 것으로 기대되는 데이터 부분을 제외한 데이터 부분을 다시 상기 웹 어플리케이션 프로세스로부터 디스플레이 장치에 디스플레이 하도록 요청 받기 전까지 디스플레이 출력 메모리에서 제거한다.
도 10 (b)를 참조하면 일정 시간 안에 디스플레이 될 것으로 기대되는 데이터 부분은 뷰포트에 현재 디스플레이되는 웹 문서의 부분으로부터 미리 정해진 제 1 거리 미만인 웹 문서의 부분이다.
상기 제 1 거리는 웹 문서를 도 10 (b)와 같이 표시했을 때 돔 트리 데이터의 특정 노드가 상기 웹 문서에서 위치하는 좌표를 산출 가능하므로, 도 10 (b)와 같이 절대적인 좌표 거리를 의미할 수 있다.
또는, 돔 트리 데이터는 도 5와 같이 트리 형태의 구조를 가지게 되고, 디스플레이 장치에 현재 출력되는 데이터 노드(디스플레이 출력 노드) 근처의 노드는 도 10 (b)와 같이 웹 문서를 표시했을 때 상기 웹 문서에서 가까이 있는 부분이다. 따라서, 트리 형태의 돔 트리 데이터에서 노드 사이의 거리를 산출할 수 있고, 디스플레이 출력 노드로부터 제 1 거리(1040) 미만의 노드는 일정 시간 안에 디스플레이 될 것으로 기대되므로, 디스플레이 출력 노드로부터 제 1 거리(1040) 이상의 노드들은 다시 웹 어플리케이션 프로세스로부터 디스플레이 장치에 디스플레이 하도록 요청 받기 전까지 디스플레이 출력 메모리에서 제거한다.
디스플레이 출력 메모리에서 디스플레이 비출력 노드들을 제거하는 것은, 프로세서부가 돔 트리 데이터에서 디스플레이 비출력 노드와 동일한 노드들을 미리 설정된 저장 공간에 복사하여 저장한 후에 디스플레이 비출력 노드를 빈 노드(Void node)로 바꾸는 것일 수 있다.
또는, 프로세서부가 미리 설정된 저장 공간에 저장하지 않고 디스플레이 비출력 노드를 빈 노드(Blank node)로 바꾸는 것일 수 있다. 이 경우, 웹 어플리케이션 프로세스가 상기 디스플레이 비출력 노드를 호출할 때 웹 문서 제공 장치로부터 상기 디스플레이 비출력 노드들만 전송 받아 다시 상기 돔 트리 데이터 또는 렌더 트리 데이터에 로드할 수 있다.
프로세서부는 돔 트리 데이터에서 디스플레이 비출력 노드를 삭제할 때, 상기 돔 트리 데이터의 상기 디스플레이 비출력 노드들에 대응되는 데이터 구조 위치에 스크롤 마크 노드(Scroll Mark Node)를 삽입할 수 있다.
상기 스크롤 마크 노드는 시작 스크롤 마크 노드와 끝 스크롤 마크 노드의 서로 다른 노드로 구성될 수 있으며, 웹 어플리케이션 프로세스로부터 디스플레이 장치에 디스플레이 비출력 노드를 출력하라는 호출에 따른 상기 디스플레이 비출력 노드의 상기 돔 트리 데이터 또는 렌더 트리 데이터로의 리로드(Re-load)를 용이하게 할 수 있다.
상기 프로세서부(330)는 사용자의 스크롤링으로 인한 웹 어플리케이션 프로세스로부터 디스플레이 장치에 디스플레이 비출력 노드를 출력하라는 호출을 받으면, 메모리에서 제거된 디스플레이 비출력 노드를 다시 로드(Load)하여 돔 트리 데이터 또는 렌더 트리 데이터에 삽입할 수 있다.
돔 트리 데이터에 삽입은 상기 디스플레이 비출력 노드가 원래 위치하던 돔 트리 데이터의 블랭크 노드에 상기 디스플레이 비출력 노드를 복사하는 것을 의미할 수 있다.
도 3을 참조하여, 본 발명에 따른 사용자 단말 장치의 실시예를 설명한다.
본 발명에 따른 사용자 단말 장치는 디스플레이부(310), 비디오 출력 메모리부(330), 메모리부(320) 및 프로세서부(340)를 포함한다.
디스플레이부(310)는 사용자 단말 장치의 동작 상태 및 동작 결과를 표시하거나 정보를 사용자에게 제공하기 위한 출력 수단으로서, 각종 메뉴를 비롯하여 사용자가 입력한 정보 또는 사용자에게 제공하는 정보를 표시한다. 즉 디스플레이부(310)는 사용자 단말 장치의 프로세서부(340)에서 실행되는 어플리케이션(Application)의 그래픽 사용자 인터페이스(GUI, Graphic User Interface)를 제공할 수 있다.
디스플레이부(310)는 LCD 등의 패널 형태로 형성될 수 있고, 터치 LCD형태로 입력도 가능하도록 구현될 수도 있다.
비디오 출력 메모리부(330)는 상기 디스플레이부(310)에 출력될 정보를 기록하고 읽기 위한 메모리로서, 상기 비디오 출력 메모리부(330)는 시스템 메모리와 독립되어 구성될 수도 있으며, 상기 시스템 메모리가 공유되는 메모리인 경우 상기 시스템 메모리 내에 비디오 출력 영역이 할당됨으로써 구성될 수도 있다.
비디오 출력 메모리부(330)는 시스템 메모리와 별개의 비디오 버퍼 메모리(Video Buffer Memory)로 상기 시스템 메모리보다 입출력 속도가 빠른 메모리로 구성될 수 있다.
또한, 메모리부(320) 또는 상기 비디오 출력 메모리부(330)는 휘발성 메모리 소자이거나 비휘발성 메모리 또는 비휘발성 전자기적 저장장치일 수 있다.
프로세서부(340)는 범용적인 중앙연산장치(CPU)일 수도 있으나, 특정 목적에 적합하게 구현된 프로그래머블 디바이스 소자(CPLD, FPGA)나 주문형 반도체 연산장치(ASIC)일 수도 있다.
웹 어플리케이션 프로세스를 실행하는 프로세서부(340)는 HTML을 포함하여 구성된 웹 문서를 파싱하여 도 6과 같은 트리 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한다.
또한, 프로세서부(340)는 변환된 돔 트리(DOM Tree) 데이터를 이용하여 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이부(310)에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 비출력 노드들이 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성한다.
그리고, 프로세서부(340)는 상기 렌더 트리(Render Tree) 데이터를 상기 비디오 출력 메모리부(330)에 로드하여 상기 웹 어플리케이션 프로세스에 제공하고, 상기 웹 어플리케이션 프로세스 또는 별도의 그래픽 프로세서는 상기 렌더 트리(Render Tree) 데이터를 렌더링(Rendering)하여 상기 디스플레이부(310)에 출력한다.
돔 트리(DOM Tree) 데이터로 변환된 결과가 도 5와 같다면, 렌더 트리(Render Tree) 데이터는 도 6처럼 돔 트리(DOM Tree) 데이터와 같은 구조를 가진다.
다만, 돔 트리(DOM Tree) 데이터 중에서 디스플레이 수단에 출력될 데이터는 한정되어 있으므로, 도 5와 같은 돔 트리(DOM Tree) 데이터 중에서 데이터 노드의 일부(510)만 디스플레이 수단에 출력된다면, 렌더 트리(Render Tree) 데이터는 디스플레이 수단에 출력되는 데이터 노드(510)를 제외한 비출력 노드들(520)은 빈 노드(void node)로 구성되어 도 6과 같이 생성된다.
이 경우, 상기 프로세서부(340)는 돔 트리(DOM Tree) 데이터를 상기 비디오 출력 메모리부(330)보다 속도가 낮은 메모리에 저장할 수 있다.
따라서, 사용자 단말 장치가 작은 용량의 비디오 출력 메모리부(330)를 가진 경우라도 대용량의 웹 문서에서 디스플레이부(310)에서 출력되는 영역에 해당하는 노드를 제외한 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 비디오 출력 메모리부(330)에서 처리하고 나머지 돔 트리(DOM Tree) 데이터는 시스템 메모리에 저장함으로써 웹 문서의 빠른 디스플레이가 가능하다.
즉, 디스플레이부(310)에 출력되는 영역(뷰포트, viewport)에 돔 트리(DOM Tree) 데이터를 렌더링하여 출력하는 경우, 상기 출력 시간은 돔 트리(DOM Tree) 데이터의 복잡도(노드 개수)에 비례를 하게 되고 모바일 단말기의 경우 프로세서부의 연산 능력이 일반적인 컴퓨터보다 매우 낮으므로, 데이터의 양이 많고 복잡한 돔 트리(DOM Tree) 데이터로 변환되는 웹 페이지의 경우는 스크롤에 매우 많은 시간을 소비하게 된다.
반면에 본 발명에 따른 구조 및 노드를 갖는 렌더링 데이터를 이용하여 뷰포트에 출력하는 경우, 어플리케이션 프로세스는 뷰포트에 출력되는 데이터 노드를 제외한 노드들은 빈 노드(void node)로 구성함으로써 뷰포트 출력 속도가 향상되어 연산 능력이 낮은 모바일 단말기 또한 사용자에게 원활한 사용자 환경을 제공할 수 있고, 웹 사용자가 웹 브라우저를 스크롤할 때에도 전체 데이터들을 유효한 노드들로 구성하여 출력하는 것이 아니므로 스크롤 지연을 방지할 수 있는 효과가 있다.
또한, 렌더 트리(Render Tree) 데이터의 빈 노드(void node)들은 각 노드에 빈 노드임을 알 수 있는 헤더(Header) 표식을 부여함으로써, 모든 노드들을 서치(Search)하는 것을 방지거나 디스플레이 수단에 출력되는 노드들과 구별할 수 있다.
도 7을 참조하면, 사용자의 웹 브라우저 스크롤에 따라 렌더 트리(Render Tree) 데이터가 변경될 수 있다.
예를 들어, 도 5와 같은 돔 트리(DOM Tree) 데이터 중에서 데이터 노드의 일부(510)만 디스플레이 수단에 출력되어 렌더 트리(Render Tree) 데이터가 디스플레이 수단에 출력되는 데이터 노드(510)를 제외한 비출력 노드들(520)이 빈 노드(void node)로 구성되어 도 6과 같이 생성된 후에, 사용자의 웹 브라우저 스크롤에 따라 디스플레이 수단에 출력되는 데이터가 다른 일부 노드(520)로 변화되는 경우 렌더 트리(Render Tree) 데이터 또한 디스플레이 수단에 출력되는 데이터 노드(520)를 제외한 비출력 노드들(510)이 빈 노드(void node)로 구성되고 빈 노드였던 노드들(620)은 돔 트리(DOM Tree) 데이터에서 디스플레이 수단에 출력될 노드들(520)을 복사해서 도 7과 같이 재 구성된다.
또한 도 8을 참조하여 다른 예를 들면, 프로세서부(340)는 렌더 트리(Render Tree) 데이터를 생성할 때, 상기 돔 트리(DOM Tree) 데이터에서 상기 렌더 트리(Render Tree) 데이터의 디스플레이 출력 노드에 대응되는 데이터 구조 위치에 스크롤 마크 노드(Scroll Mark Node)(811, 812)를 삽입하여 상기 돔 트리(DOM Tree) 데이터를 저장할 수 있다.
스크롤 마크 노드는 웹 문서가 변환된 돔 트리(DOM Tree) 데이터의 노드와 같은 형태일 수도 있고, 다른 데이터 구조를 가진 노드일 수 있으며, 스크롤 마크 노드인 것을 알 수 있는 표시를 가지면 충분하다.
또한, 스크롤 마크 노드는 돔 트리(DOM Tree) 데이터 중에서 렌더 트리(Render Tree) 데이터의 디스플레이 출력 노드의 포인터를 가지고 있던 노드 위치(디스플레이 출력 노드에 대응되는 데이터 구조 위치)에 삽입되고, 렌더 트리(Render Tree) 데이터의 디스플레이 출력 노드가 있던 위치의 시작과 끝을 알 수 있도록 상기 스크롤 마크 노드는 시작 스크롤 마크 노드와 끝 스크롤 마크 노드로 구성된 노드일 수 있다.
따라서, 렌더 트리(Render Tree) 데이터를 생성한 이후에도 스크롤 마크 노드를 이용하여 렌더 트리(Render Tree) 데이터의 디스플레이 출력 노드에 대응하는 돔 트리(DOM Tree) 데이터의 노드에 쉽게 접근할 수 있다.
도 7, 도 8 및 도 9를 참조하면 프로세서부(340)는 상기 웹 어플리케이션 프로세스로부터 상기 디스플레이부(310)에 출력될 데이터의 변경을 요청 받으면 상기 렌더 트리(Render Tree) 데이터의 디스플레이 출력 노드 중에서 뷰포트를 벗어나는 노드들을 삭제하고, 상기 돔 트리(DOM Tree) 데이터 중에서 새롭게 뷰포트에 출력될 노드들을 렌더 트리(Render Tree) 데이터로 복사하고 상기 디스플레이 출력 메모리에 로드하여 상기 웹 어플리케이션프로세스에 제공할 수 있다.
웹 문서가 변환된 돔 트리(DOM Tree) 데이터로부터 생성된 렌더 트리(Render Tree) 데이터가 도 6과 같고, 상기 돔 트리(DOM Tree) 데이터에서 렌더 트리(Render Tree) 데이터의 디스플레이 출력 노드에 대응되는 데이터 구조 위치에 스크롤 마크 노드(811, 812)가 삽입 된 후, 사용자 단말 장치의 웹 어플리케이션 프로세스를 통해 스크롤 이벤트를 포함하는 디스플레이부(310)에 출력될 데이터 변경을 요청을 받으면, 프로세서부(340)는 상기 스크롤 이벤트가 뷰포트에 출력되는 웹 문서의 어느 쪽을 향한 것인지와 어느 정도 스크롤 되는 것인지를 파악하고, 돔 트리(DOM Tree) 데이터에서 상기 스크롤 마크 노드(811, 812)를 탐색할 수 있다.
이 후 상기 프로세서부(340)는 상기 돔 트리(DOM Tree) 데이터에서 필요한 노드를 상기 스크롤 마크 노드(811, 812)를 이용하여 상기 렌더 트리(Render Tree) 데이터로 복사하여 상기 출력 메모리에 로드할 수 있다.
이 경우, 상기 프로세서부(340)는 돔 트리(DOM Tree) 데이터에서 디스플레이 출력 노드의 위치에 다시 스크롤 마크 노드(921, 922)를 이동시켜 삽입할 수 있다.
따라서, 웹 어플리케이션의 컨텐츠 영역이 디스플레이부(310)의 크기 또는 웹 어플리케이션의 사용자 인터페이스 창의 크기보다 커서 스크롤이 행해지는 경우라도, 상기 디스플레이부(310) 또는 상기 웹 어플리케이션의 사용자 인터페이스 창에 해당하는 새로운 데이터를 용이하게 비디오 출력 메모리부(330)에 로드하여 디스플레이할 수 있다.
본 발명에 따른 사용자 단말 장치의 다른 실시예를 설명한다.
본 발명에 따른 사용자 단말 장치는 디스플레이부(310), 비디오 출력 메모리부(330), 메모리부 및 프로세서부(340)를 포함한다.
디스플레이부(310)는 사용자 단말 장치의 프로세서부(340)에서 실행되는 어플리케이션(Application)의 그래픽 사용자 인터페이스(GUI, Graphic User Interface)를 제공할 수 있다.
비디오 출력 메모리부(330)는 상기 디스플레이부(310)에 출력될 정보를 기록하고 읽기 위한 메모리로서, 시스템 메모리와 독립되어 구성될 수도 있으며, 상기 시스템 메모리 내에 비디오 출력 영역이 할당됨으로써 구성될 수도 있다.
프로세서부(340)는 범용적인 중앙연산장치(CPU)일 수도 있으나, 특정 목적에 적합하게 구현된 프로그래머블 디바이스 소자(CPLD, FPGA)나 주문형 반도체 연산장치(ASIC)일 수도 있다.
상기 프로세서부(340)는 돔 트리(DOM Tree) 데이터로 변환된 상기 웹 문서의 복잡도를 측정한다.
사용자 단말 장치에서 프로세서부(340)의 한 구성으로서 GPU(Graphic Processing Unit)을 기반으로 스크롤에 대한 이벤트 처리를 하여 디스플레이를 표시할 경우, GPU를 이용한 스크롤은 새롭게 디스플레이부(310)의 표시 영역 또는 그래픽 사용자 인터페이스 창의 영역에 표시해야 할 컨텐츠들을 렌더링하기 위해 비디오 버퍼 메모리로 그림을 그리는 Texture Upload라는 연산을 수행한다. 상기 Texture Upload는 시간 지연이 매우 높은 연산이므로, 모든 웹 문서의 스크롤에 대하여 디스플레이 출력 트리 데이터를 분리하여 비디오 출력 메모리에 저장하는 방법은 컨텐츠에 큰 이미지가 저장되어 있거나 많은 이미지가 저장되어 있는 경우 스크롤의 끊김 현상이 발생할 수 있다.
따라서, 웹 문서를 트리 형태의 구조를 가진 돔 트리(DOM Tree) 데이터 로 변환한 후, 제공 받은 상기 웹 문서에서 문자의 비율이 미리 설정된 값을 넘는 경우에만 상기 돔 트리(DOM Tree) 데이터로부터 렌더 트리(Render Tree) 데이터를 생성하고, 상기 비디오 출력 메모리부(330)에 로드하여 상기 웹 어플리케이션프로세스에 제공한다.
도 4를 참조하여, 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법을 설명한다.
프로세서부(340)는 웹 어플리케이션 프로세스(Web Application Process)를 포함하는 프로세스들을 실행하고 HTML(HyperText Markup Language)을 포함하여 구성된 웹 문서(Web Document)를 제공 받는다(S410).
상기 프로세스는 상기 웹 문서를 파싱(Parsing)하여(S420) 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한다(S430). 이 후 상기 변환된 돔 트리(DOM Tree) 데이터로부터 상기 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 비출력 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하고, 상기 렌더 트리 데이터를 비디오 버퍼 메모리에 로드(Load)하여 상기 웹 어플리케이션프로세스에 제공하여(S450) 디스플레이 수단으로 출력한다(S460). 이 경우, 디스플레이 비출력 노드는 디스플레이 출력 노드로부터 제 1 거리 이상의 노드로 설정될 수 있다. 또한, 디스플레이 비출력 노드들을 디스플레이 출력 메모리에서 제거하여 웹 어플리케이션 프로세스에 제공될수 있다.
한편, 프로세서부(340)는 제공 받은 상기 웹 문서에서 문자(Texts)의 비율을 검사하여, 상기 비율이 미리 설정된 값을 넘는 경우에만 상기 돔 트리 데이터로부터 렌더 트리 데이터로 변환하여 비디오 버퍼 메모리에 로드 할 수도 있다(S440).
또한, 프로세서부(340)는 상기 돔트리 데이터를 상기 비디오 버퍼 메모리보다 속도가 낮은 메모리에 더 저장할 수 있고, 상기 돔 트리 데이터에서 상기 렌더 트리 데이터의 디스플레이 출력 노드에 대응되는 데이터 구조 위치에 스크롤 마크 노드(Scroll Mark Node)를 삽입하여 상기 디스플레이 비출력 데이터를 저장할 수 있다.
디스플레이 출력 노드는 돔 트리 데이터 또는 렌더 트리 데이터의 노드(Node)들 중에서 디스플레이부(310)에 출력될 데이터에 해당되는 노드들을 의미한다.
상기 스크롤 마크 노드는 시작 스크롤 마크 노드와 끝 스크롤 마크 노드의 서로 다른 노드일 수 있다.
프로세서부(340)가 웹 어플리케이션 프로세스를 통해 스크롤 이벤트를 포함하는 디스플레이부(310)에 출력될 데이터 변경을 요청을 받으면, 상기 프로세서부(340)는 상기 스크롤 이벤트가 뷰포트에 출력되는 웹 문서의 어느 쪽을 향한 것 인지와 어느 정도 스크롤 되는 것인지를 파악하고, 돔 트리(DOM Tree) 데이터에서 상기 스크롤 마크 노드(811, 812)를 탐색할 수 있다.
이 후 상기 프로세서부(340)는 상기 돔 트리(DOM Tree) 데이터에서 필요한 노드를 상기 스크롤 마크 노드(811, 812)를 이용하여 상기 렌더 트리(Render Tree) 데이터로 복사하여 상기 출력 메모리에 로드하여 상기 웹 어플리케이션프로세스에 제공할 수 있다(S480, S450).
이 경우, 상기 프로세서부(340)는 돔 트리(DOM Tree) 데이터에서 디스플레이 출력 노드의 위치에 다시 스크롤 마크 노드(921, 922)를 이동시켜 삽입할 수 있다.
따라서, 웹 어플리케이션의 컨텐츠 영역이 디스플레이부(310)의 크기 또는 웹 어플리케이션의 사용자 인터페이스 창의 크기보다 커서 스크롤이 행해지는 경우라도, 상기 디스플레이부(310) 또는 상기 웹 어플리케이션의 사용자 인터페이스 창에 해당하는 새로운 데이터를 용이하게 비디오 출력 메모리부(330)에 로드하여 디스플레이할 수 있다.
한편, 본 발명의 또 다른 실시예에 따르면, (a) 프로세서부가 웹 어플리케이션 프로세스(Web Application Process)를 포함하는 프로세스들을 실행하고 웹 기술 언어로 구성된 웹 문서(Web Document)를 제공 받는 단계, (b) 상기 프로세서부가 상기 웹 문서를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환하는 단계, (c) 상기 프로세서부가 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 디스플레이 비출력 노드들은 디스플레이 출력 메모리에서 제거하여 웹 어플리케이션 프로세스(Web Application Process)에 제공하는 단계를 포함하고, 상기 디스플레이 비출력 노드들은 상기 디스플레이 출력 노드로부터 제 1 거리 이상의 노드들인 것을 특징으로 하는 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체가 제공된다.
본 발명의 이해를 돕기 위해 설명된 실시예들에서 사용된 특정 용어들이 본 발명을 한정하는 것은 아니다. 본 발명은 통상의 기술자들에게 당연한 모든 구성 요소 및 동등한 가치를 갖는 모든 구성 요소를 포함할 수 있다.
본 발명은 사용자 단말장치에서 빠른 웹 스크롤링을 가능하게 함으로써, 대용량 컨텐츠를 포함하고 있는 웹 문서를 스크롤링하는 사용자 단말기에 이용될 수 있다.

Claims (19)

  1. 웹 어플리케이션 프로세스(Web Application Process)의 출력 결과를 표시하는 디스플레이부;
    상기 디스플레이부에 표시되는 출력 결과들을 저장하는 비디오 출력 메모리부;
    프로세서부의 프로세스 처리에 따른 중간 연산 결과를 포함하는 데이터들을 저장하는 메모리부; 및
    상기 웹 어플리케이션 프로세스를 포함하는 프로세스들을 실행하고, 웹 기술 언어로 구성된 제공 받은 웹 문서(Web Document)를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한 후, 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 비출력 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하고, 상기 렌더 트리 데이터를 상기 비디오 출력 메모리부에 저장하여 상기 웹 어플리케이션 프로세스(Web Application Process)에 제공하는 프로세서 프로세서부;를 포함하는 사용자 단말 장치
  2. 제 1항에 있어서,
    상기 프로세서부는,
    돔 트리 데이터를 상기 비디오 출력 메모리부보다 속도가 낮은 메모리에 저장하는 것을 특징으로 하는 사용자 단말 장치
  3. 제 1항에 있어서,
    상기 프로세서부는,
    상기 웹 어플리케이션 프로세스로부터 상기 디스플레이부에 출력될 데이터의 변경을 요청 받으면,
    상기 렌더 트리 데이터의 디스플레이 출력 노드에서 상기 디스플레이부에 더 이상 출력되지 않는 비출력 노드들을 빈 노드로 바꾸고,
    상기 돔 트리 데이터에서 디스플레이 수단에 출력될 데이터를 상기 렌더 트리 데이터로 복사한 후, 상기 렌더 트리 데이터를 상기 웹 어플리케이션 프로세스에 제공하는 것을 특징으로 하는 사용자 단말 장치
  4. 제 1항에 있어서,
    상기 프로세서부는,
    상기 돔 트리 데이터에서 상기 렌더 트리 데이터의 디스플레이 출력 노드에 대응되는 데이터 구조 위치에 스크롤 마크 노드(Scroll Mark Node)를 삽입하는 것을 특징으로 하는 사용자 단말 장치
  5. 제 4항에 있어서,
    상기 스크롤 마크 노드는 시작 스크롤 마크 노드와 끝 스크롤 마크 노드의 서로 다른 노드인 것을 특징으로 하는 사용자 단말 장치
  6. 웹 어플리케이션 프로세스(Web Application Process)의 출력 결과를 표시하는 디스플레이부;
    상기 디스플레이부에 표시되는 출력 결과들을 저장하는 비디오 출력 메모리부;
    프로세서부의 프로세스 처리에 따른 중간 연산 결과를 포함하는 데이터들을 저장하는 메모리부; 및
    상기 웹 어플리케이션 프로세스를 포함하는 프로세스들을 실행하고, 웹 기술 언어로 구성된 제공 받은 웹 문서(Web Document)를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한 후, 제공 받은 상기 웹 문서에서 문자(Texts)의 비율을 판단하여 미리 설정된 값을 넘는 경우 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하여 상기 비디오 출력 메모리부에 저장한 후 상기 렌더 트리 데이터를 웹 어플리케이션 프로세스(Web Application Process)에 제공하고, 상기 웹 문서에서 문자의 비율이 미리 설정된 값을 넘지 못하는 경우 상기 돔 트리 데이터를 상기 웹 어플리케이션 프로세스에 제공하는 프로세서부를 포함하는 사용자 단말 장치
  7. 제 6항에 있어서,
    상기 프로세서부는,
    상기 웹 문서에서 문자의 비율이 미리 설정된 값을 넘는 경우, 상기 돔 트리 데이터를 상기 비디오 출력 메모리부보다 속도가 낮은 메모리에 저장하는 것을 특징으로 하는 사용자 단말 장치
  8. 제 6항에 있어서,
    상기 프로세서부는,
    상기 웹 문서에서 문자의 비율이 미리 설정된 값을 넘는 경우, 상기 돔 트리 데이터에서 상기 렌더 트리 데이터의 디스플레이 출력 노드에 대응되는 데이터 구조 위치에 스크롤 마크 노드(Scroll Mark Node)를 삽입하는 것을 특징으로 하는 사용자 단말 장치
  9. 제 8항에 있어서,
    상기 스크롤 마크 노드는 시작 스크롤 마크 노드와 끝 스크롤 마크 노드의 서로 다른 노드인 것을 특징으로 하는 사용자 단말 장치
  10. 제 6항에 있어서,
    상기 프로세서부는,
    상기 웹 문서에서 문자의 비율이 미리 설정된 값을 넘는 경우,
    상기 웹 어플리케이션 프로세스로부터 상기 디스플레이부에 출력될 데이터의 변경을 요청 받으면,
    상기 렌더 트리 데이터의 디스플레이 출력 노드에서 상기 디스플레이부에 더 이상 출력되지 않는 비출력 노드들을 빈 노드로 바꾸고,
    상기 돔 트리 데이터에서 디스플레이 수단에 출력될 데이터를 상기 렌더 트리 데이터로 복사한 후, 상기 렌더 트리 데이터를 상기 웹 어플리케이션프로세스에 제공하는 것을 특징으로 하는 사용자 단말 장치
  11. 웹 기술 언어로 구성된 웹(Web) 문서를 저장하며, 사용자 단말 장치의 접속에 따라 상기 웹 문서를 상기 사용자 단말 장치로 제공하는 웹 문서 제공 장치; 및
    상기 웹 문서 제공 장치에 접속하여 상기 웹 문서(Web Document)를 제공 받고, 제공 받은 상기 웹 문서를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환한 후, 상기 변환된 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 비출력 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하고, 상기 렌더 트리 데이터를 웹 어플리케이션 프로세스(Web Application Process)에 제공하는 프로세서(Processor)를 포함하는 사용자 단말 장치를 포함하는 웹 스크롤 시스템
  12. 제 11항에 있어서,
    상기 사용자 단말 장치는,
    i) 상기 디스플레이 비출력 노드들을 미리 설정된 저장 공간에 저장하고, 상기 웹 어플리케이션 프로세스의 상기 디스플레이 비출력 노드들에 대한 호출이 있을 때 다시 상기 돔 트리 데이터에 로드하거나,
    ii) 상기 웹 어플리케이션 프로세스의 상기 디스플레이 비출력 노드들에 대한 호출이 있을 때 상기 웹 문서 제공 장치로부터 상기 디스플레이 비출력 노드들만 전송 받아 다시 상기 돔 트리 데이터에 로드하는 것을 특징으로 하는 웹 스크롤 시스템
  13. (a) 프로세서부가 웹 어플리케이션 프로세스(Web Application Process)를 포함하는 프로세스들을 실행하고 웹 기술 언어로 구성된 웹 문서(Web Document)를 제공 받는 단계;
    (b) 상기 프로세서부가 상기 웹 문서를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환하는 단계;
    (c) 상기 프로세서부가 상기 돔 트리 데이터와 같은 구조를 가지며 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 비출력 노드들은 빈 노드(void node)로 구성된 렌더 트리(Render Tree) 데이터를 생성하는 단계; 및
    (d) 상기 프로세서부가 상기 렌더 트리 데이터를 비디오 버퍼 메모리에 로드(Load)하여 상기 웹 어플리케이션프로세스에 제공하는 단계를 포함하는 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법
  14. 제 13항에 있어서,
    상기 (b) 단계는,
    상기 프로세서부가 변환된 상기 돔 트리 데이터를 상기 비디오 버퍼 메모리보다 속도가 낮은 메모리에 더 저장하는 것을 특징으로 하는 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법
  15. 제 13항에 있어서,
    상기 (c) 단계는,
    상기 프로세서부가 상기 돔 트리 데이터에서 상기 렌더 트리 데이터의 디스플레이 출력 노드에 대응되는 데이터 구조 위치에 스크롤 마크 노드(Scroll Mark Node)를 더 삽입하는 것을 특징으로 하는 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법
  16. 제 15항에 있어서,
    상기 스크롤 마크 노드는 시작 스크롤 마크 노드와 끝 스크롤 마크 노드의 서로 다른 노드인 것을 특징으로 하는 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법
  17. 제 13항에 있어서,
    상기 (d) 단계는,
    상기 프로세서부가 상기 웹 어플리케이션 프로세스로부터 상기 디스플레이부에 출력될 데이터의 변경을 요청 받으면,
    상기 렌더 트리 데이터의 디스플레이 출력 노드에서 상기 디스플레이부에 더 이상 출력되지 않는 비출력 노드들을 빈 노드로 바꾸고,
    상기 돔 트리 데이터에서 디스플레이 수단에 출력될 데이터를 상기 렌더 트리 데이터로 복사한 후, 상기 렌더 트리 데이터를 상기 웹 어플리케이션 프로세스에 제공하는 것을 특징으로 하는 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법
  18. 제 13항에 있어서,
    상기 (c) 단계는,
    제공 받은 상기 웹 문서에서 문자(Texts)의 비율을 검사하여, 상기 비율이 미리 설정된 값을 넘는 경우에 수행되는 것을 특징으로 하는 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법
  19. (a) 프로세서부가 웹 어플리케이션 프로세스(Web Application Process)를 포함하는 프로세스들을 실행하고 웹 기술 언어로 구성된 웹 문서(Web Document)를 제공 받는 단계;
    (b) 상기 프로세서부가 상기 웹 문서를 파싱(Parsing)하여 트리(Tree) 형태의 구조를 가진 돔 트리(DOM Tree) 데이터로 변환하는 단계;
    (c) 상기 프로세서부가 디스플레이 수단에 출력될 데이터에 해당되는 디스플레이 출력 노드(Node)를 제외한 디스플레이 비출력 노드들은 디스플레이 출력 메모리에서 제거하여 웹 어플리케이션 프로세스(Web Application Process)에 제공하는 단계를 포함하고,
    상기 디스플레이 비출력 노드들은 상기 디스플레이 출력 노드로부터 제 1 거리 이상의 노드들인 것을 특징으로 하는 사용자 단말 장치의 웹 문서 스크롤링(Scrolling) 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체
PCT/KR2013/006914 2012-10-10 2013-07-31 웹 문서의 고속 웹 스크롤을 지원하는 사용자 단말 장치 및 스크롤 방법 WO2014058146A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014540986A JP5976825B2 (ja) 2012-10-10 2013-07-31 ウェブ文書の高速ウェブスクロールを支援するユーザ端末装置及びスクロール方法
CN201380022246.2A CN104254849B (zh) 2012-10-10 2013-07-31 支持网络文档的高速网络滚动的用户终端装置和方法
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
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 (4)

Application Number Priority Date Filing Date Title
KR1020120112151A KR102031732B1 (ko) 2012-10-10 2012-10-10 웹 문서의 고속 웹 스크롤을 지원하는 사용자 단말 장치 및 스크롤 방법
KR10-2012-0112151 2012-10-10
KR10-2012-0121237 2012-10-30
KR1020120121237A KR20140055020A (ko) 2012-10-30 2012-10-30 웹 문서의 고속 웹 스크롤을 지원하는 사용자 단말 장치 및 메모리 관리 방법

Publications (1)

Publication Number Publication Date
WO2014058146A1 true WO2014058146A1 (ko) 2014-04-17

Family

ID=50477581

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/006914 WO2014058146A1 (ko) 2012-10-10 2013-07-31 웹 문서의 고속 웹 스크롤을 지원하는 사용자 단말 장치 및 스크롤 방법

Country Status (5)

Country Link
US (1) US9465780B2 (ko)
JP (1) JP5976825B2 (ko)
CN (1) CN104254849B (ko)
SG (1) SG11201406773RA (ko)
WO (1) WO2014058146A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808305A (zh) * 2016-03-29 2016-07-27 北京小米移动软件有限公司 静态资源的加载方法和装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150339006A1 (en) * 2014-05-21 2015-11-26 Facebook, Inc. Asynchronous Preparation of Displayable Sections of a Graphical User Interface
US20170119051A1 (en) * 2015-10-30 2017-05-04 British American Tobacco (Investments) Limited Article for Use with Apparatus for Heating Smokable Material
JP7048727B2 (ja) 2017-09-15 2022-04-05 ニコベンチャーズ トレーディング リミテッド 喫煙材を加熱するための装置
CN112445401B (zh) * 2020-10-26 2022-09-02 北京达佳互联信息技术有限公司 文档滑动处理方法、装置及服务器
US11809215B2 (en) * 2021-12-16 2023-11-07 S&P Global Inc. Controlled display of dynamic data
CN117519891B (zh) * 2024-01-08 2024-04-30 深圳市金政软件技术有限公司 数据的渲染方法、装置、终端设备和可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030022756A (ko) * 2002-12-31 2003-03-17 링크플러스(주) 웹문서에 링크된 내용페이지들을 웹슬라이드하는웹슬라이드 방법 및 그를 수행하는 프로그램을 저장한기록매체
KR20100055857A (ko) * 2008-11-18 2010-05-27 주식회사 엘지텔레콤 웹페이지 로딩 방법 및 시스템
US20110197125A1 (en) * 2008-10-21 2011-08-11 Sun Zengcai Web Page Loading Method and Apparatus
US20110258532A1 (en) * 2009-03-31 2011-10-20 Luis Ceze Memoizing web-browsing computation with dom-based isomorphism
CA2756537A1 (en) * 2011-04-05 2012-10-05 Research In Motion Limited Backing store memory management for rendering scrollable webpage subregions

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7466875B1 (en) 2004-03-01 2008-12-16 Amazon Technologies, Inc. Method and system for determining the legibility of text in an image
JP5339667B2 (ja) 2005-06-10 2013-11-13 キヤノン株式会社 情報処理装置及びその方法
JP2007004232A (ja) 2005-06-21 2007-01-11 Seiko Epson Corp レイアウト方法
JP4942144B2 (ja) 2005-12-15 2012-05-30 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、記憶媒体
US9275479B2 (en) * 2009-10-22 2016-03-01 Collage.Com, Llc Method, system and computer program product for creating collages that visually resemble a particular shape or group of shapes
US8555155B2 (en) 2010-06-04 2013-10-08 Apple Inc. Reader mode presentation of web content
US20130145255A1 (en) * 2010-08-20 2013-06-06 Li-Wei Zheng Systems and methods for filtering web page contents
CN102375851B (zh) 2010-08-23 2014-05-07 中国移动通信有限公司 一种显示页面的方法及设备
US20120110437A1 (en) * 2010-10-28 2012-05-03 Microsoft Corporation Style and layout caching of web content
CN102073502B (zh) * 2011-01-11 2013-02-20 百度在线网络技术(北京)有限公司 一种利用web原生布局进行页面渲染的方法及装置
US8539338B2 (en) * 2011-04-11 2013-09-17 Microsoft Corporation Cooperative rendering cache for mobile browser
CN102693280B (zh) 2012-04-28 2014-08-13 广州市动景计算机科技有限公司 网页浏览方法、WebApp框架、执行JavaScript方法及装置、移动终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030022756A (ko) * 2002-12-31 2003-03-17 링크플러스(주) 웹문서에 링크된 내용페이지들을 웹슬라이드하는웹슬라이드 방법 및 그를 수행하는 프로그램을 저장한기록매체
US20110197125A1 (en) * 2008-10-21 2011-08-11 Sun Zengcai Web Page Loading Method and Apparatus
KR20100055857A (ko) * 2008-11-18 2010-05-27 주식회사 엘지텔레콤 웹페이지 로딩 방법 및 시스템
US20110258532A1 (en) * 2009-03-31 2011-10-20 Luis Ceze Memoizing web-browsing computation with dom-based isomorphism
CA2756537A1 (en) * 2011-04-05 2012-10-05 Research In Motion Limited Backing store memory management for rendering scrollable webpage subregions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808305A (zh) * 2016-03-29 2016-07-27 北京小米移动软件有限公司 静态资源的加载方法和装置

Also Published As

Publication number Publication date
JP5976825B2 (ja) 2016-08-24
US20160012022A1 (en) 2016-01-14
US9465780B2 (en) 2016-10-11
CN104254849A (zh) 2014-12-31
JP2014532253A (ja) 2014-12-04
CN104254849B (zh) 2018-01-12
SG11201406773RA (en) 2014-11-27

Similar Documents

Publication Publication Date Title
WO2014058146A1 (ko) 웹 문서의 고속 웹 스크롤을 지원하는 사용자 단말 장치 및 스크롤 방법
WO2013157678A1 (ko) 웹페이지의 동적 변환 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
WO2013081282A1 (en) System and method for recommending application by using keyword
WO2018212484A1 (ko) 객체의 서식을 유지하는 문서 편집 장치 및 그의 동작 방법
WO2014119975A1 (en) Method and system for sharing part of web page
WO2014000672A1 (zh) 复制粘贴网页内容的方法、系统及计算机存储介质
WO2017030306A1 (en) Method and system for bookmarking a webpage
WO2017122981A1 (en) Method and system to decrease page load time by leveraging network latency
WO2014027773A1 (ko) 반응형 사용자 인터페이스 제공 장치, 방법, 및 그에 대한 전자장치에서 판독 가능한 기록매체
WO2017160028A1 (en) Object management and visualization using a computing device
WO2010050786A2 (en) Conditional processing method and apparatus
WO2010041887A2 (en) Apparatus and method for providing ui based on structured rich media data
WO2016032267A1 (ko) 도큐먼트를 반응형 웹으로 변환하는 반응형 웹 생성 방법
WO2017204368A1 (ko) 웹 기반의 스프레드시트 서비스 제공 장치 및 방법
WO2018212486A1 (ko) 마크업 언어 기반 문서의 조합 글자 동기화 장치 및 그의 동작 방법
WO2016186326A1 (ko) 검색어 리스트 제공 장치 및 이를 이용한 방법
WO2022124736A1 (ko) 웹툰 컨텐츠 재배치 방법 및 그 장치
WO2018008861A1 (ko) 사용자 서버를 이용한 html 제어 시스템 및 방법
WO2016108677A1 (ko) 웹 컨텐츠 출력 장치 및 방법
WO2017007131A1 (ko) 광고가 표시되는 컨텐츠 제공 서버, 그 방법 및 컨텐츠 내 광고 표시 방법이 프로그램으로 기록된 전자 장치에서 판독 가능한 기록매체
WO2021003922A1 (zh) 页面信息录入优化方法、设备、存储介质及装置
WO2017213454A1 (ko) 사용자 서버를 이용한 파일 제어 시스템 및 방법
WO2020080644A1 (ko) 문자 입력 장치 및 방법
WO2019093572A1 (ko) 콘텐츠 표시 형태의 싱크 방법 및 컴퓨터 판독가능 기록매체
CN112988255A (zh) 数据处理方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2014540986

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14240544

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13845614

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13845614

Country of ref document: EP

Kind code of ref document: A1