KR102060660B1 - 웹 브라우징 서비스를 제공하는 방법 및 장치 - Google Patents

웹 브라우징 서비스를 제공하는 방법 및 장치 Download PDF

Info

Publication number
KR102060660B1
KR102060660B1 KR1020130052756A KR20130052756A KR102060660B1 KR 102060660 B1 KR102060660 B1 KR 102060660B1 KR 1020130052756 A KR1020130052756 A KR 1020130052756A KR 20130052756 A KR20130052756 A KR 20130052756A KR 102060660 B1 KR102060660 B1 KR 102060660B1
Authority
KR
South Korea
Prior art keywords
client
dom
server
web page
information
Prior art date
Application number
KR1020130052756A
Other languages
English (en)
Other versions
KR20140133124A (ko
Inventor
조경선
최영일
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020130052756A priority Critical patent/KR102060660B1/ko
Priority to US14/266,203 priority patent/US20140337708A1/en
Publication of KR20140133124A publication Critical patent/KR20140133124A/ko
Application granted granted Critical
Publication of KR102060660B1 publication Critical patent/KR102060660B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

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

Abstract

웹 브라우징 서비스를 제공하는 방법에 있어서, 클라이언트가 요청한 웹페이지의 내의 일부 영역을 선택하고, 일부 영역 내에 포함된 DOM 엘레먼트들을 하나의 이미지로 변환하며, 변환된 이미지가 마지막 노드가 되도록 DOM 데이터를 생성하고, 생성된 DOM 데이터를 클라이언트에 송신하는 웹 브라우징 서비스 제공 방법이 제공된다.

Description

웹 브라우징 서비스를 제공하는 방법 및 장치{Method and Apparatus For Providing Web Browsing Service}
본 발명은 웹 브라우징 서비스를 제공하는 방법 및 장치에 관한 것으로, 특히 문서 객체 모델(Document Object Model: DOM) 데이터를 이용하여 웹 브라우징 서비스를 제공하는 방법에 관한 것이다.
월드 와이드 웹(World Wide Web)의 등장으로, 사용자들은 인터넷을 통해 네트워크에 존재하는 데이터를 공유할 수 있게 되었다. 네트워크에 존재하는 웹서버로부터 웹페이지와 웹컨텐츠같은 정보들을 획득하기 위해 사용자들은 클라이언트에 설치되어 있는 웹 브라우저를 사용한다.
웹 브라우저란 웹서버로부터 하이퍼 텍스트 마크업 랭귀지(Hyper Text Markup Language: HTML) 문서를 불러내 사용자가 읽을 수 있도록 표시하는 소프트웨어이다. 웹 브라우저는 마이크로 소프트사의 인터넷 익스플로어(Internet Explorer), 구글 사의 크롬(Chrome), 애플 사의 사파리(Safari), 모질라의 파이어폭스(Firefox), 오페라(Opera), 넷스케이프(Netscape) 등 다양한 종류가 존재한다.
웹 브라우저를 통해 인터넷에서 정보를 검색할 수 있는 서비스를 웹 브라우징 서비스라 한다. 즉, 웹 브라우징 서비스는, 클라이언트가 웹 서버로부터 웹페이지와 같은 정보를 표시하기 위해 정보를 요청하고, 정보를 수신하는 일련의 과정들을 포함하는 서비스의 형태를 의미한다.
웹 브라우징 서비스를 통해 사용자는 필요한 데이터를 획득하거나, 공유할 수 있는데, 최근 웹과 관련된 기술들이 발전하면서, 웹페이지와 같은 정보들의 복잡도가 빠르게 증가하고 있다. 뿐만 아니라, 웹 브라우징 서비스를 제공받을 수 있는 다양한 클라이언트들의 보급되고 있다. 다양한 클라이언트들은 사용하는 대역폭(Bandwidth), 해상도, 디스플레이 크기, 운영체제와 같은 성능, 설치된 웹 브라우저의 종류가 각각 다르다.
따라서 다양한 웹 브라우저, 다양한 성능을 가진 클라이언트들에 따라 웹 브라우징 서비스를 제공하기 위한 필요성이 점차 증가하고 있다.
본 발명에서는 DOM 데이터를 이용하여 웹 브라우징 서비스를 제공하는 방법 및 장치를 제공한다.
상기와 같은 종래 기술의 문제를 해결하기 위한 본 발명의 일 실시예는 웹 브라우징 서비스를 제공하는 방법에 있어서, 클라이언트가 요청한 웹페이지의 내의 일부 영역을 선택하는 단계, 상기 일부 영역 내에 포함된 DOM 엘레먼트들을 하나의 이미지로 변환하는 단계, 상기 이미지가 마지막 노드가 되도록 DOM 데이터를 생성하는 단계 및 상기 DOM 데이터를 클라이언트에 송신하는 단계를 포함한다.
상기 생성된 DOM 데이터를 캐싱하는 단계를 더 포함하며, 다른 클라이언트가 상기 웹페이지를 요청하면, 상기 캐싱된 DOM 데이터를 다른 클라이언트에게 전송하는 것이 바람직하다.
상기 클라이언트가 요청한 웹페이지의 일부 영역을 선택하는 단계는, 상기 DOM 엘레먼트들의 우선 순위를 결정하는 단계를 포함하는 것이 바람직하며, 클라이언트의 성능 정보에 따라 낮은 우선순위를 가지는 DOM 엘레먼트부터 많은 수의 엘레먼트들이 포함되도록 웹페이지의 일부 영역을 선택하는 단계를 포함하는 것이 바람직하다.
상기 우선 순위를 결정하는 단계는, 클라이언트의 선호도 정보에 따라 상기 우선 순위를 결정하는 단계를 포함하는 것이 바람직하다.
상기 우선 순위를 결정하는 단계는, 상기 DOM 엘레먼트의 인터랙션 가능 여부에 따라 상기 우선 순위를 결정하는 것이 바람직하다.
상기 방법은, 상기 클라이언트로부터 상기 웹페이지의 요청과 함께 상기 클라이언트 성능정보 또는 상기 클라이언트의 선호도 정보 중 적어도 하나를 수신하는 단계를 더 포함하는 것이 바람직하다.
상기 DOM 데이터는 상기 클라이언트의 성능 정보에 기초하여 생성되는 것이 바람직하다.
상기 클라이언트 성능 정보는 상기 클라이언트의 OS 정보, 웹 브라우저 정보, 모델 정보 중 적어도 하나를 포함하는 것이 바람직하다.
본 발명의 다른 실시예는, 상기 방법을 컴퓨터에서 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
본 발명의 일 실시예는 웹 브라우징 서비스를 제공하는 방법에 있어서, 서버로부터 복수의 DOM 엘레먼트들을 포함하는 웹페이지의 일부 영역이 하나의 이미지로 변환된 노드를 포함하는 DOM 데이터를 수신하는 단계, 상기 수신된 DOM 데이터를 이용하여 상기 웹페이지를 표시하는 단계, 및 상기 DOM 엘레먼트들 중 하나를 요청하는 사용자의 입력을 수신하면, 상기 DOM 엘레먼트로 구성되는 추가적인 DOM 데이터를 요청하는 단계를 포함한다.
상기 방법은, 상기 웹페이지의 요청과 함께 상기 클라이언트 성능정보 또는 상기 클라이언트의 선호도 정보 중 적어도 하나를 상기 서버로 송신하는 단계를 더 포함하는 것이 바람직하다.
상기 복수의 DOM 엘레먼트들은 서버에서 결정된 우선 순위에 기초하여 선택되는 것이 바람직하다.
상기 우선 순위는, 클라이언트의 선호도 정보에 기초하여 상기 서버에서 결정되는 것이 바람직하다.
상기 우선 순위는, 상기 DOM 엘레먼트의 인터랙션 가능 여부에 기초하여 상기 서버에서 결정되는 것이 바람직하다.
상기 DOM 데이터는 상기 클라이언트의 성능 정보에 기초하여 생성되는 것이 바람직하다.
상기 클라이언트 성능 정보는 상기 클라이언트의 OS 정보, 웹 브라우저 정보, 모델 정보 중 적어도 하나를 포함하는 것이 바람직하다.
본 발명의 다른 실시예는, 상기 방법을 컴퓨터에서 실행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
본 발명의 일 실시예는, 웹 브라우징 서비스를 제공하는 서버에 있어서,
클라이언트가 요청한 웹페이지의 일부 영역을 선택하는 영역 선택부, 상기 일부 영역 내에 포함된 DOM 엘레먼트들을 하나의 이미지로 변환하는 변환부, 상기 이미지를 마지막 노드가 되도록 DOM 데이터를 생성하는 DOM 데이터 생성부 및 상기 DOM 데이터를 클라이언트에 송신하는 송신부를 포함한다.
상기 서버는 상기 생성된 DOM 데이터를 캐싱하는 캐싱부를 더 포함하고, 상기 송신부는 다른 클라이언트가 상기 웹페이지를 요청하면, 상기 캐싱부에 캐싱된 DOM 데이터를 다른 클라이언트로 전송하는 것이 바람직하다.
상기 서버는 수신부를 더 포함하고, 상기 수신부는 상기 클라이언트로부터 상기 웹페이지의 요청과 함께 상기 클라이언트 성능정보 또는 상기 클라이언트의 선호도 정보 중 적어도 하나를 수신하는 것이 바람직하다.
상기 영역 선택부는, 상기 DOM 엘레먼트들의 우선 순위를 결정하는 우선 순위 결정부를 포함하고, 상기 영역 선택부는, 상기 클라이언트의 성능 정보에 따라 낮은 우선순위를 가지는 DOM 엘레먼트부터 많은 수의 엘레먼트들이 포함되도록 웹페이지의 일부 영역을 선택하는 것이 바람직하다.
상기 우선 순위 결정부는, 상기 클라이언트의 선호도 정보에 따라 상기 우선 순위를 결정하는 단계를 포함하는 것이 바람직하다.
상기 우선 순위 결정부는, 상기 DOM 엘레먼트의 인터랙션 가능 여부에 따라 상기 우선 순위를 결정하는 것이 바람직하다.
상기 DOM 데이터는 상기 클라이언트의 성능 정보에 기초하여 생성되는 것이 바람직하다.
상기 클라이언트 성능 정보는 상기 클라이언트의 OS 정보, 웹 브라우저 정보, 모델 정보 중 적어도 하나를 포함하는 것이 바람직하다.
본 발명의 일 실시예는, 웹 브라우징 서비스를 제공하는 클라이언트에 있어서, 서버로부터 복수의 DOM 엘레먼트들을 포함하는 웹페이지의 일부 영역이 하나의 이미지로 변환된 노드를 포함하는 DOM 데이터를 수신하는 수신부, 상기 수신된 DOM 데이터를 이용하여 상기 웹페이지를 표시하는 웹페이지 표시부 및 상기 DOM 엘레먼트들 중 하나를 요청하는 사용자의 입력을 수신하면, 상기 DOM 엘레먼트로 구성되는 추가적인 DOM 데이터를 요청하는 송신부를 포함한다.
상기 송신부는, 상기 웹페이지의 요청과 함께 상기 클라이언트 성능정보 또는 상기 클라이언트의 선호도 정보 중 적어도 하나를 상기 서버로 송신하는 것이 바람직하다.
상기 복수의 DOM 엘레먼트들은 서버에서 결정된 우선 순위에 기초하여 선택되는 것이 바람직하다.
상기 우선 순위는, 클라이언트의 선호도 정보에 기초하여 상기 서버에서 결정되는 것이 바람직하다.
상기 우선 순위는, 상기 DOM 엘레먼트의 인터랙션 가능 여부에 기초하여 상기 서버에서 결정되는 것이 바람직하다.
상기 DOM 데이터는 상기 클라이언트의 성능 정보에 기초하여 생성되는 것이 바람직하다.
상기 클라이언트 성능 정보는 상기 클라이언트의 OS 정보, 웹 브라우저 정보, 모델 정보 중 적어도 하나를 포함하는 것이 바람직하다.
본 발명에서는 DOM 데이터를 이용하여 클라이언트에 적합한 웹 브라우징 서비스를 제공하는 방법 및 장치를 제공한다.
도 1a 내지 1c는 일반적인 웹 브라우징 서비스를 제공하는 시스템 도면이다.
도 2는 본 발명의 일 실시예에 따른 웹 브라우징 서비스를 제공하는 시스템 도면이다.
도 3은 본 발명의 일 실시예에 따른 서버에서 웹 브라우징 서비스를 제공하는 순서도이다.
도 4는 본 발명의 일 실시예에 따른 클라이언트에서 웹 브라우징 서비스를 제공하는 순서도이다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 문서 객체 모델(Document Object Model: DOM) 데이터의 구조를 도시한다.
도 6은 본 발명의 일 실시예에 따른 웹 브라우징 서비스를 제공하는 정보 처리 과정을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 웹 브라우징 서비스를 제공하는 서버의 구조를 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 웹 브라우징 서비스를 제공하는 클라이언트의 구조를 나타낸 도면이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다. 도면에서 동일한 참조부호는 동일한 구성요소를 지칭하며, 도면 상에서 각 구성 요소의 크기는 설명의 명료성을 위하여 과장되어 있을 수 있다.
도 1a 내지 1c는 일반적인 웹 브라우징 서비스를 제공하는 시스템 도면이다.
도 1a에서, 클라이언트(103)는 웹서버(101)에게 웹페이지를 표시하기 위해 웹페이지를 표시하기 위한 정보를 요청한다.
즉, 사용자의 입력을 수신한 클라이언트(103)는 클라이언트(103) 내에 설치된 웹 브라우저를 통해 웹페이지를 표시하기 위한 정보를 웹서버에게 요청한다.
웹서버(101)는 클라이언트(103)에 설치된 웹 브라우저에서 웹페이지를 표시하기 위한 자원 정보를 클라이언트에게 송신한다.
웹페이지를 표시하기 위한 자원정보라 함은, 하이퍼 텍스트 마크업 언어(Hyper Text Markup Language: HTML), 자바 스크립트(JAVA Script: JS), 케스케이딩 스타일 시트(Cascading Style Sheets: CSS), 이미지와 같이 웹페이지를 구성하는 정보들을 포함하며, 상기 예시에 제한되는 것은 아니다.
클라이언트(103)는 자원정보를 프로세싱하여, 사용자가 원하는 웹페이지를 표시한다.
그러나, 모바일 기기의 증가, 통신 기술의 발전 등으로, 클라이언트의 숫자 및 웹페이지 요청이 기하급수적으로 증가하면서, 웹서버가 각 클라이언트의 요청을 모두 처리하기가 어렵다는 문제가 있다.
웹서버가 클라이언트의 요청을 모두 처리하기 어려우므로, 도 1b와 같이 프록시 서버(Proxy Server)(105)를 통해 웹서버에 접속하는 방식을 사용할 수 있다.
즉, 프록시 서버(105)에서는 접속했던 웹서버로 자원 정보를 수신하여 저장하고, 클라이언트가 요청하는 경우, 프록시 서버에서 독립적으로 처리함으로써, 데이터 전송 시간을 향상 시킨다.
그러나, 모바일 디바이스들의 발전 및 증가로 다양한 클라이언트 디바이스들이 등장하였다. 특히, 핸드폰, PDA, 태블릿 PC(Tablet PC) 등과 같은 모바일 클라이언트들을 통해 사용자가 웹 브라우징 서비스를 사용하는 횟수가 기하급수적으로 증가하였다. 또한 클라우드 네트워크가 등장하며, 씬(thin) 클라이언트, 제로(Zero) 클라이언트 또한 등장하였다. 씬 클라이언트와 제로 클라이언트라 함은, 연산 능력, 렌더링 능력을 구비하지 않거나, 최소한의 연산 능력 및 렌더링 능력만을 구비한 클라이언트로서, 클라우드 네트워크 환경에 특화된 클라이언트를 의미한다.
씬 클라이언트, 제로 클라이언트와 같이 연산 처리 능력, 렌더링 능력이 낮은 클라이언트, 핸드폰, PDA, 태블릿 PC와 같은 전원 용량이 제한되는 등의 제한적인 클라이언트들에서는 복잡도가 증가하는 웹페이지와 같은 웹컨텐츠들을 단독으로 처리하기가 어려웠다.
따라서 도 1c와 같이 프록시 서버(105)에서 자원 정보를 수신하고, 프록시 서버에서 자원 정보를 이용하여 문서 객체 모델(Document Object Model: DOM) 데이터를 생성한다. 생성한 DOM 데이터를 이용하여, 클라이언트가 요청한 웹페이지 의 이미지를 생성하여 클라이언트로 송신하는 방법이 이용된다.
그러나, 클라이언트가 요청한 웹페이지의 이미지를 생성하여 전송하는 경우, 해당 웹페이지에 대한 추가적인 사용자의 입력을 수신하는 경우, 사용자의 입력을 클라이언트에서 독립적으로 처리할 수 없다. 따라서 다시 프록시 서버에 사용자 입력을 반영한 해당 웹페이지의 이미지를 요청하게 되어, 웹 브라우징 서비스의 속도가 저하될 수 있다.
웹 브라우징 서비스의 속도를 저하시키지 않으면서도, 클라이언트 내에서 웹페이지와 관련된 사용자의 입력을 처리할 수 있도록 본 발명에서는 DOM 데이터를 사용하여 웹 브라우징 서비스를 제공하는 방법 및 장치를 제공한다.
도 2는 본 발명의 일 실시예에 따른 웹 브라우징 서비스를 제공하는 시스템 도면이다.
본 발명의 시스템은 클라이언트(203)이 네트워크(205)를 통해 서버(201)과 통신한다.
본원발명의 일 실시예에 따르면 네트워크(205)는 유선 및 무선 네트워크를 모두 포함할 수 있으며, 상기 예시에 제한되지 않는다. 즉, 본원 발명의 네트워크(205)는 클라이언트와 서버가 연결될 수 있는 모든 종류의 네트워크를 포함한다.
본 발명의 일 실시예에 따르면 클라이언트(203)는 데스크탑, 랩탑, 핸드폰, PDA 및 태블릿과 같은 디바이스들을 포함하며, 상기 예시에 제한되지 않는다. 즉, 본원 발명의 클라이언트(203)는 네트워크를 통해 서버와 통신할 수 있는 모든 종류의 클라이언트들을 포함한다.
본 발명의 일 실시예에 따르면, 클라이언트(203)는 웹 브라우저(Web Browser)와 같이 웹 브라우징 서비스를 사용할 수 있는 프로그램을 포함할 수 있다. 웹 브라우저는 당업자에게 자명하므로, 자세한 설명은 생략한다.
본 발명의 일 실시예에 따르면, 클라이언트(203)는 사용자에게 웹 브라우징 서비스를 제공하기 위해, 서버(201)에게 웹페이지(Web Page), 웹문서(Web Document)와 같은 웹컨텐츠를 요청한다. 서버(201)에서는 클라이언트(203)의 요청에 대한 응답으로, 웹페이지, 웹문서 등을 표시할 수 있도록 DOM 데이터를 제공한다.
본 발명의 일 실시예에 따르면, DOM 데이터라 함은 웹문서 내에 포함된 데이터 묶음인 객체에 대한 모형을 의미한다. 즉, 웹 브라우저를 통해 표시되는 웹페이지, 웹문서의 구조 및 구성요소를 의미하며, 일반적으로 트리구조와 같은 계층적 구조로 구성된다.
트리 구조에서 각 결절, 정점과 같은 특정 지점을 노드라고 하며, 노드의 위치에 따라 부모 노드, 자식 노드, 리프 노드와 같은 마지막 노드 등 여러 노드로 분류될 수 있다. 또한 해당 노드에 위치한 엘레먼트의 속성에 따라서 분류될 수 도 있다. 본 발명의 일 실시예에 따르면, 노드라 함은 계층적 DOM 데이터의 구조 내에서 특정 DOM 엘레먼트가 존재하는 특정 지점을 나타낸다.
본 발명의 일 실시예에 따르면 서버로부터 수신하는 DOM 데이터는 복수의 DOM 엘레먼트들을 포함하는 웹페이지의 일부 영역이 하나의 이미지로 변환된 노드를 포함할 수 있다.
본 발명의 일 실시예에 따르면, DOM 엘레먼트라 함은 웹페이지 내의 각 구성요소들을 의미한다. 즉, 웹페이지 내에 포함된 이미지, 텍스트, 링크, 글꼴, 프레임, 플래쉬 등 웹페이지를 구성하는 구성요소들을 의미하며 상기 예시에 제한되지 않는다.
본 발명의 일 실시예에 따르면 서버는 프록시 서버와 클라우드 서버를 포함할 수 있다. 즉, 본 발명에서의 일 실시예에서 서버는 프록시 서버의 역할 뿐만 아니라 클라우드 서버의 역할을 모두 수행할 수 있다.
프록시 서버라 함은 클라이언트와 웹서버 사이에서 데이터를 중계하는 역할을 하는 서버로서, 캐시기능, 방화벽 기능 등의 다양한 기능을 제공한다. 당업자에게 자명한 사항이므로 자세한 설명은 생략한다. 클라우드 서버라 함은 클라우드 네트워크에서 데이터를 저장하고, 클라우드 컴퓨팅이 가능하는 것이 가능하도록 하는 서버로서, 클라이언트와 연결되어 다양한 서비스를 제공한다. 물론 본원발명의 웹 브라우징 서비스 또한 제공할 수 있다.
또한 본 발명의 일 실시예에 따르면 서버는 단순히 하나의 장치로서의 서버를 의미하는 것만은 아니며, 복수 개의 서버가 연결되어 동작하는 경우 또한 포함한다. 예를 들면, 복수 개의 서버 집합 중 하나의 서버가 게이트웨이(Gateway)와 같은 역할을 수행하고, 복수 개의 서버 집합 중 다른 하나의 서버가 데이터 프로세싱을 수행하면, 둘 모두 본원발명의 서버에 포함될 수 있다. 다시 말하면, 본원 발명은 서버 뿐만 아니라 서버의 집합 또한 포함할 수 있다.
서버(201)는 클라이언트(203)으로부터 웹페이지에 대한 요청을 수신하고, 웹서버(미도시)로부터 해당 웹페이지에 대한 자원 정보를 수신한다. 물론 본 발명의 일 실시예에 따르면, 서버에 해당 웹페이지에 대한 자원 정보가 캐싱되어 있는 경우, 웹서버로부터 해당 웹페이지에 대한 자원 정보를 수신할 필요가 없다. 물론 도 2의 서버가 도 1a에의 웹서버의 역할을 함께 수행할 수 있다.
본 발명의 일 실시예에 따르면, 서버(201)는 수신한 웹페이지 자원 정보를 이용하여 DOM 데이터를 생성한다. 즉, 웹서버로부터 수신한 웹페이지 자원 정보를 이용하여 서버가 DOM 데이터를 생성하고, 서버가 생성한 DOM 데이터를 클라이언트에게 전송한다.
본 발명의 일 실시예에 따르면, 서버(201)는 클라이언트가 요청한 웹페이지 내의 일부 영역을 선택하여 하나의 이미지로 변환하는 방법을 사용하여 DOM 데이터를 생성할 수 있다.
본 발명의 일 실시예에 따르면, 서버(201)는 클라이언트가 요청한 웹페이지 내의 일부 영역을 선택하여 하나의 이미지로 변환하고, 변환된 이미지가 마지막 노드가 되도록 DOM 데이터를 생성할 수 있다.
본 발명의 일 실시예에 따르면, DOM 데이터를 생성하는 것은 웹페이지를 표시하는 일련의 처리 과정 중 가장 부하가 심한 과정으로서, 웹페이지의 DOM 데이터를 서버가 생성하여 클라이언트에게 전송함으로써 클라이언트의 과부하를 막을 수 있으며, 생성한 DOM 데이터를 클라이언트에게 전송함으로써, 클라이언트는 서버에게 추가적인 요청 없이도 사용자의 입력을 처리할 수 있다.
도 3은 본 발명의 일 실시예에 따른 서버에서 웹 브라우징 서비스를 제공하는 순서도이다.
단계 301에서 서버는 클라이언트가 요청한 웹페이지 내의 일부 영역을 선택한다.
본 발명의 일 실시예에 따르면, 클라이언트는 사용자의 입력에 기초하여 웹페이지를 표시하기 위해 서버에 웹페이지를 표시하기 위한 정보를 요청한다. 서버는 웹서버로부터 웹페이지 자원정보를 수신하고, 클라이언트가 요청한 웹페이지 내의 일부 영역을 선택한다. 즉, 서버는 웹서버로부터 웹페이지 자원 정보를 수신함으로써, 클라이언트에서 표시될 웹페이지에 대한 모든 정보를 알 수 있다. 따라서, 해당 웹페이지의 일부 영역을 선택할 수 있다.
본 발명의 일 실시예에 따르면, 서버는 웹서버로부터 웹페이지 자원 정보를 수신하고, 수신된 웹페이지 자원 정보에 기초하여, 웹페이지를 렌더링할 수 있다. 서버는 웹페이지 렌더링 결과에 기초하여, 웹페이지의 일부 영역을 선택할 수도 있다.
본 발명의 일 실시예에 따르면, 서버는 웹서버로부터 웹페이지 자원 정보를 수신하고, 수신된 웹페이지 자원 정보에 기초하여, DOM 데이터를 생성할 수 있다. 서버는 생성된 DOM 데이터에 기초하여, 웹페이지의 일부 영역을 선택할 수도 있다.
본 발명의 일 실시예에 따르면, 서버는 클라이언트로부터 요청받은 웹페이지에 대한 정보가 캐싱되어 있는지를 판단할 수 있다. 클라이언트로부터 요청받은 웹페이지에 대한 정보가 서버에 캐싱되어 있으면, 서버는 웹서버로부터 웹페이지 자원 정보를 수신할 필요가 없다. 또한 서버에 캐싱된 웹페이지에 대한 정보가 DOM 데이터라면, 서버는 캐싱된 DOM 데이터를 클라이언트에게 송신할 수 있다.
본 발명의 일 실시예에 따르면 서버는 웹서버로부터 웹페이지 자원 정보를 수신하고, 수신된 웹페이지 자원 정보에 기초하여 DOM 데이터를 생성할 수 있다. 서버는 생성된 DOM 데이터를 클라이언트로 전송할 수 있다. 즉, 일부 영역을 선택하여 이미지로 변환하지 않은 DOM 데이터를 클라이언트로 전송할 수도 있다.
본 발명의 일 실시예에 따르면, 서버가 클라이언트가 요청한 웹페이지 내의 일부 영역을 선택하는 방법은 웹페이지 내의 DOM 엘레먼트들의 우선 순위를 결정하고, 선택된 DOM 엘레먼트들의 우선 순위에 기초하여 일부 영역을 선택할 수 있다. 즉, 서버는 DOM 엘레먼트들의 우선 순위를 결정하고, 결정된 DOM 엘레먼트들의 우선 순위에 따라 낮은 우선순위를 가지는 DOM 엘레먼트부터 많은 수의 엘레먼트들이 포함되도록 웹페이지의 일부 영역을 선택할 수 있다. 상기에서 설명한 바와 같이 본 발명의 일 실시예에 따르면, DOM 엘레먼트라 함은 웹페이지 내의 각 구성요소들을 의미한다. 즉, 웹페이지 내에 포함된 이미지, 텍스트, 링크, 글꼴, 프레임 등 웹페이지를 구성하는 구성요소들을 의미하며 상기 예시에 제한되지 않는다.
본 발명의 일 실시예에 따르면, 서버는 클라이언트로부터 웹페이지의 요청과 함께 상기 클라이언트 성능정보 또는 상기 클라이언트의 선호도 정보 중 적어도 하나를 수신할 수 있다.
본 발명의 일 실시예에 따르면, 클라이언트의 성능 정보는 클라이언트의 성능에 대한 정보를 포함하며, 클라이언트에 설치된 운영체제(OS), 웹 브라우저의 종류, 클라이언트의 모델 정보, 클라이언트의 그래픽 처리 속도 및 처리 가능 정도, 클라이언트의 연산 속도, 클라이언트의 메모리 정보 등 다양한 정보들을 포함할 수 있으며, 상기 예시에 제한되지 않는다.
본 발명의 일 실시예에 따르면, 클라이언트의 선호도 정보는 사용자가 웹페이지 내에 포함된 DOM 엘레먼트 중 어느 DOM 엘레먼트가 포함된 영역을 선호하는지에 대한 정보를 포함한다. 즉, 클라이언트는 해당 웹페이지에 대한 사용자 히스토리 정보를 저장할 수 있는데, 사용자 히스토리 정보란 예를 들면, 임시파일, 쿠키와 같이 사용자가 해당 웹페이지와 관련하여 수행한 동작들에 대한 정보를 의미한다. 따라서 클라이언트는 저장된 웹페이지와 관련하여 수행한 사용자의 동작들을 기초로, 사용자가 웹페이지 내의 어떤 DOM 엘레먼트들을 선호하는지, 웹페이지 내의 어느 영역을 사용자가 선호하는지를 파악할 수 있고, 사용자가 웹페이지 내의 어느 영역을 선호하는지를 정보로 생성할 수 있다. 예를 들면, 사용자가 웹페이지 내의 뉴스 영역을 주로 선택한 경우, 클라이언트는 해당 좌표를 클릭, 줌 인, 줌 아웃, 스크롤 등의 사용자가 수행한 동작들에 기초하여, 사용자가 웹페이지 내의 뉴스 영역, 또는 웹페이지 내의 뉴스 영역 내에 포함된 DOM 엘레먼트들을 선호한다는 것을 알 수 있다.
본 발명의 일 실시예에 따르면, 서버가 DOM 엘레먼트들의 우선 순위에 따라 웹페이지의 일부 영역을 선택하는 것은, 클라이언트의 성능 정보에 기초하여 웹페이지의 일부 영역을 선택할 수 있다. 즉, 서버는 DOM 엘레먼트들의 우선 순위를 결정한 후, 이미지로 변환할 엘레먼트들을 결정할 때, 클라이언트의 성능 정보에 기초하여, 몇 개의 DOM 엘레먼트들을 이미지로 변환할 것인지 또는 얼마나 넓은 영역을 이미지로 변환할 것인지 결정할 수 있다.
본 발명의 일 실시예에 따르면, 서버는 클라이언트의 성능 정보에 따라 낮은 우선 순위를 가지는 DOM 엘레먼트부터 많은 수의 엘레먼트들이 포함되도록 웹페이지의 일부 영역을 선택할 수 있다. 본 발명의 일 실시예로서, 서버는 클라이언트의 성능이 좋을수록 적은 수의 DOM 엘레먼트들이 포함되도록 웹페이지의 일부 영역을 선택하고, 클라이언트의 성능이 나쁠수록 많은 수의 DOM 엘레먼트들이 포함되도록 웹페이지의 일부 영역을 선택할 수 있다. 웹페이지의 일부 영역을 선택하는 방법은 상기 예시에 제한되지 않으며, 서버에 저장된 정책, 사용자가 설정한 방법 등 다양한 방법에 따라 웹페이지의 일부 영역을 선택할 수 있다.
본 발명의 일 실시예에 따르면 서버는 클라이언트 선호도 정보에 기초하여 DOM 엘레먼트의 우선 순위를 결정할 수 있다. 즉, 클라이언트 선호도 정보에 기초하여, 웹페이지 내에서 사용자가 선호하는 DOM 엘레먼트는 높은 순위로 하여 순차적으로 우선 순위를 결정할 수 있다. 또한 일 실시예로서, 웹페이지 내의 영역에 따라 그룹으로 우선 순위를 결정할 수 있다.
또한 본 발명의 일 실시예에 따르면 우선 순위는 DOM 엘레먼트의 인터랙션 가능 여부에 기초하여 결정될 수 있다. 즉, DOM 엘레먼트가 사용자와의 인터랙션이 가능한 경우, 우선 순위가 높게 결정될 수 있다.
본 발명의 일 실시예에 따르면, 서버는 우선 낮은 DOM 엘레먼트부터 차례대로 이미지로 변환되도록 설정할 수 있다.
단계 303에서 서버는 웹페이지 내의 일부 영역 내의 DOM 엘레먼트들을 이미지로 변환한다.
본 발명의 일 실시예에 따르면, 서버는 웹페이지 내의 일부 영역 내에 포함된 DOM 엘레먼트들을 선택하고, 클라이언트의 웹 브라우저에서 표시될 이미지로 변환할 수 있다. 예를 들면, 서버가 선택한 일부 영역에 포함된 DOM 엘레먼트들이 클라이언트의 웹 브라우저에서 표시될 수 있도록 웹페이지를 인코딩 함으로써, 일부 영역 내의 DOM 엘레먼트들을 이미지로 변환할 수 있다. 예를 들면, 서버가 선택한 웹페이지 내의 일부 영역이 뉴스 영역인 경우, 뉴스 영역에 포함된 DOM 엘레먼트들을 이미지로 변환함으로써, DOM 데이터의 용량을 줄일 수 있다. 즉, 뉴스 영역을 제외한 나머지 부분은 DOM 데이터 내의 DOM 엘레멘트를 이용하여 웹페이지를 구성하고, 뉴스 영역은 DOM 데이터 내에 포함된 변환된 이미지를 이용하여 웹페이지로 표시할 수 있다.
본 발명의 일 실시예에 따르면, DOM 데이터를 이미지가 아닌 다른 방식으로 축소하여 전송할 수 있다. DOM 데이터의 생성시 데이터양을 축소하기 위한 방법으로는 다양한 방식이 있을 수 있다. 예를 들면, 서버는 클라이언트에서 수신한 DOM 데이터에 대해 추가적인 연산을 하지 않고 바로 클라이언트의 메모리에 업로드 할 수 있는 형태로 압축, 인코딩, 변환 작업을 수행하여 DOM 데이터를 생성할 수 있다. 추가적으로, 텍스트 형태로 존재하는 DOM 데이터를 바이너리 형태로 변환하여 DOM 데이터를 생성하고, 생성된 DOM 데이터를 클라이언트에 제공할 수도 있다
단계 305에서, 서버는 단계 303에서 변환된 이미지가 마지막 노드가 되도록 DOM 데이터를 생성한다.
본 발명의 일 실시예에 따르면, DOM 데이터는 트리 구조와 같은 계층적 구조로 생성될 수 있다. 트리 구조는 각 결절, 정점과 같은 노드를 포함한다. 서버는 단계 303에서 변환된 이미지가 마지막 노드가 되도록 DOM 데이터를 생성할 수 있다. 마지막 노드라 함은, 연결된 다른 노드가 없는 노드, 연결된 자식 노드가 없는 노드로서, 리프 노드라고도 할 수 있다. 본 발명의 일 실시예에 따르면, 변환된 이미지가 마지막 노드가 되도록 DOM 데이터를 생성함으로써, DOM 데이터의 크기가 축소될 수 있다.
본 발명의 일 실시예에 따르면, DOM 데이터는 클라이언트 성능 정보에 기초하여 생성될 수 있다. 즉, 클라이언트의 운영체제의 종류, 클라이언트가 사용하는 웹 브라우저의 종류에 따라 DOM 데이터가 클라이언트에 적합하도록 DOM 데이터를 생성할 수 있다.
추가적으로, 본 발명의 일 실시예에 따르면, 서버는 DOM 데이터 생성시, 필요한 경우 다른 서버에게 DOM 데이터의 생성을 요청할 수 있다. 예를 들어, 웹페이지를 요청받은 서버가 안드로이드에 적합한 DOM 데이터를 만들기 어려운 경우, 다른 서버에게 안드로이드에 적합한 DOM 데이터의 생성을 요청할 수 있다.
본 발명의 일 실시예에 따르면 DOM 데이터는 웹페이지 내의 구성요소들의 구조, 동작, 속성 등에 대한 정보를 포함할 수 있다. 웹페이지 내의 구성요소들이란 이미지, 플래쉬, 텍스트 등 DOM 엘레먼트를 의미한다.
단계 307에서, 서버는 단계 305에서 생성된 DOM 데이터를 클라이언트에게 송신한다.
서버는 네트워크를 통해 생성된 DOM 데이터를 클라이언트에게 송신하며, 클라이언트는 DOM 데이터를 수신하고, 수신된 DOM 데이터를 기초로 웹페이지를 표시한다.
도 4는 본 발명의 일 실시예에 따른 클라이언트에서 웹 브라우징 서비스를 제공하는 순서도이다.
단계 401에서, 클라이언트는 서버로부터 복수의 DOM 엘레먼트들을 포함하는 웹페이지의 일부 영역이 하나의 이미지로 변환된 노드를 포함하는 DOM 데이터를 수신한다.
본 발명의 일 실시예에 따르면, DOM 데이터는 서버에서 생성되며, 서버에서 선택한 웹페이지의 일부 영역에 포함된 복수의 DOM 엘레먼트들이 하나의 이미지로 변환된 노드를 포함한다.
본 발명의 일 실시예에 따르면, 클라이언트는 웹페이지 요청 시, 클라이언트의 성능 정보 또는 클라이언트의 선호도 정보 중 적어도 하나를 서버로 송신할 수 있다. 클라이언트의 성능 정보 또는 클라이언트의 선호도 정보는 도 3에서 설명하였으므로 자세한 설명은 생략한다.
본 발명의 일 실시예에 따르면, 복수의 DOM 엘레먼트들의 우선 순위는 서버에 의해 결정될 수 있다. 즉, 서버에서 결정된 우선 순위에 따라 복수의 DOM 엘레먼트들이 선택될 수 있다.
본 발명의 일 실시예에 따르면 우선 순위는 클라이언트의 선호도 정보에 기초하여 결정될 수 있다. 또한 본 발명의 일 실시예에 따르면 우선 순위는 DOM 엘레먼트의 인터랙션 가능 여부에 기초하여 결정될 수 있다. 즉, DOM 엘레먼트가 사용자와의 인터랙션이 가능한 경우, 우선 순위가 높게 결정될 수 있다.
단계 403에서, 클라이언트는 DOM 데이터를 이용하여 웹페이지를 표시한다.
본 발명의 일 실시예에 따르면 클라이언트는 클라이언트의 성능 정보에 따라 적합한 DOM 데이터를 수신하므로, 수신된 DOM 데이터를 이용하여 웹 브라우저에서 웹페이지를 표시할 수 있다.
단계 405에서, 클라이언트는 DOM 엘레먼트 중 하나를 요청하는 사용자 입력을 수신하면, 서버에게 추가적인 DOM 데이터를 요청할 수 있다. 즉, 클라이언트는 이미지로 변환된 DOM 엘레먼트 중 하나를 요청하는 사용자 입력을 수신하면, 서버에게 사용자 입력에 기초하여 요청된 DOM 엘레멘트로 구성되는 추가적인 DOM 데이터를 요청한다.
본 발명의 일 실시예에 따르면, 클라이언트는 복수의 DOM 엘레먼트가 하나의 이미지로 변환된 노드를 포함하는 DOM 데이터를 수신한다. 즉, 클라이언트는 복수의 DOM 엘레먼트가 이미지로 변환된 DOM 데이터를 수신하였고, 복수의 DOM 엘레먼트가 이미지로 변환된 DOM 데이터에는 복수의 DOM 엘레먼트가 포함되어 있지 않다. 클라이언트가 줌 인, 줌 아웃, 스크롤 등과 같은 사용자 입력에 의해 웹페이지 표시를 변경 하기 위해서는 DOM 엘레먼트가 필요할 수 있다. 따라서 클라이언트가 사용자 입력에 기초하여 웹페이지의 표시를 변경하기 위해 이미지로 변환된 DOM 엘레먼트들의 정보가 필요한 경우, 클라이언트는 DOM 엘레먼트들로 구성된 추가적인 DOM 데이터를 서버에 요청할 수 있다. 즉, 클라이언트는 수신된 DOM 데이터 및 사용자 입력에 기초하여, 서버에 요청하지 않고 웹페이지의 표시 변경이 가능한지를 결정할 수 있다. 웹페이지의 해당 부분에 대한 DOM 엘레먼트를 이미 수신한 경우, 서버에 추가적인 DOM 데이터를 요청하지 않고 클라이언트가 독립적으로 사용자의 입력에 따른 웹페이지의 표시 변경을 처리할 수 있다. 그러나 이미지로 변환된 DOM 엘레먼트 중 하나를 요청하는 사용자의 입력이 수신되면, 클라이언트는 서버로 추가적인 DOM 데이터를 요청해야 한다. 또한 새로운 웹페이지에 대한 표시가 필요한 경우에도 서버로 웹페이지 정보를 요청한다.
예를 들어, 서버에 의해 웹페이지의 오른쪽 하단부의 영역에 포함된 DOM 엘레먼트들이 이미지로 변환되었다고 가정하면, 웹페이지의 왼쪽 상단부에 대한 DOM 엘레먼트들은 클라이언트가 수신한 DOM 데이터에 포함되어 있다. 따라서 클라이언트가 사용자로부터 해당 부분에 대해서 줌 인, 줌 아웃, 글씨 크기 변경, 글꼴 변경 등의 입력을 수신하여도, 클라이언트가 사용자 입력을 독립적으로 처리할 수 있다. 따라서 클라이언트는 서버에 추가적인 서버에 추가적인 DOM 데이터를 요청할 필요가 없다.
그러나, 클라이언트가 수신한 DOM 데이터는 오른쪽 하단부의 영역에 대해서는 웹페이지를 표시하기 위한 이미지만을 포함하고 있다. 따라서 클라이언트는 오른쪽 하단부의 영역에 대한 사용자 입력을 독립적으로 처리할 수 없고, 해당 영역에 대한 DOM 엘레멘트를 포함하는 추가적인 DOM 데이터를 서버에 요청하여야 한다.
본 발명의 일 실시예에 따르면, DOM 엘레먼트들로 구성된 추가적인 DOM 데이터는 이미지로 변환된 DOM 엘레먼트들을 포함한 DOM 데이터 일 수 있다.
본 발명의 일 실시예에 따르면, 서버는 클라이언트의 요청한 추가적인 DOM 데이터 도 3의 단계 301 내지 단계 307에 의해 생성하고 전송할 수 있다.
본 발명의 일 실시예에 따르면 클라이언트는 서버로부터 추가적인 DOM 데이터를 수신하고, 수신한 추가적인 DOM 데이터와 이전에 수신한 DOM 데이터에 기초하여 웹페이지를 표시할 수 있다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 문서 객체 모델(Document Object Model: DOM) 데이터의 구조를 도시한다.
도 2 내지 도 4에서 설명한 바와 같이, 본 발명의 일 실시예에 따르면 DOM 데이터는 트리구조와 같은 계층적 구조로 표현될 수 있다. 트리 구조에서 노드라 함은 계층적 DOM 데이터의 구조 내에서 특정 DOM 엘레먼트가 존재하는 특정 지점을 나타낸다.
본 발명의 일 실시예에 따르면, DOM 엘레먼트라 함은 웹페이지 내의 각 구성요소들을 의미한다. 즉, 웹페이지 내에 포함된 이미지, 텍스트, 링크, 글꼴, 프레임 등 웹페이지를 구성하는 구성요소들을 의미하며 상기 예시에 제한되지 않는다.
도 5a를 참조하면, DOM 데이터는 a, b, c, d, e, f와 같은 DOM 엘레먼트들을 포함하며, DOM 엘레먼트들이 각 노드에 존재한다.
본 발명의 일 실시예에 따르면, a는 루트 노드라고 표현될 수 있으며, b와 c는 부모 노드, d, e, f는 자식 노드이다. 다만, 이는 트리구조의 위치에 따라 변경될 수 있다. 예를 들어 f 노드 밑에 추가적인 노드가 있는 경우 f는 부모 노드가 될 수 있다.
또한 본 발명의 일 실시예에 따르면, DOM 엘레먼트들은 노드로 표현할 수 있다. 즉, 해당 노드들에 존재하는 DOM 엘레먼트로 노드로 부를 수 있으며, 표현 방식에 따라 노드 또는 DOM 엘레먼트로 부를 수 있다.
본 발명의 일 실시예에 따라, 서버가 DOM 엘레먼트의 우선 순위를 결정하고, DOM 엘레먼트 c, e, f에 해당하는 영역을 이미지로 변경하면, 도 5b와 같은 형태로 DOM 데이터가 변경된다. 즉, c, e, f는 이미지로서 DOM 데이터에 포함되며, c, e, f 이하로는 추가적인 노드가 없다. 즉, c, e, f는 마지막 노드, 리프 노드가 된다.
본 발명의 일 실시예에 따르면, 서버는 웹서버로부터 웹페이지 자원 정보를 수신한다. 수신한 웹페이지 자원 정보를 파싱하여, DOM 데이터를 생성할 수 있다. 생성된 DOM 데이터 및 DOM 엘레먼트의 우선 순위에 기초하여 웹페이지의 일부 영역을 선택하고, 선택한 일부 영역에 포함된 DOM 엘레먼트를 이미지로 변환하여 DOM 데이터를 재구성하여 클라이언트에게 전송한다.
본 발명의 일 실시예에 따르면, 클라이언트는 도 5a와 같은 DOM 데이터를 수신할 수 있다. 도 2 내지 도 4에서 설명한 바와 같이 서버는 DOM 엘레먼트를 이미지로 변환하지 않은 DOM 데이터를 전송할 수 있다.
본 발명의 일 실시예에 따르면, 클라이언트가 도 5b와 같이 복수 개의 DOM 엘레먼트가 이미지로 변환된 노드를 포함하는 DOM 데이터를 수신할 수 있다. 클라이언트는 수신한 DOM 데이터에 기초하여 웹페이지를 표시한다. 클라이언트가 사용자로부터 이미지로 변환된 c, e, f(502)에 대한 입력을 수신하면, 클라이언트는 DOM 엘레먼트를 c, e, f를 요청한다. 클라이언트의 요청에 따라 서버는 도 5a의 DOM 엘레먼트 c, e, f(501)로 구성된 추가적인 DOM 데이터를 클라이언트로 전송한다. 클라이언트는 수신한 추가적인 DOM 데이터에 기초하여 사용자 입력을 처리한다.
도 6은 본 발명의 일 실시예에 따른 웹 브라우징 서비스를 제공하는 정보 처리 과정을 나타낸 도면이다.
단계 S611에서, 클라이언트는 서버에게 웹페이지 정보를 요청한다. 웹페이지 정보라 함은 클라이언트에서 웹페이지를 표시하기 위한 정보로서, DOM 데이터, HTML과 같은 자원 정보 모두를 포함한다.
본 발명의 일 실시예에 따르면 클라이언트는 웹페이지 정보 요청과 함께, 클라이언트 성능 정보, 클라이언트 선호도 정보 중 적어도 하나를 전송할 수 있다. 클라이언트 성능 정보와 클라이언트 선호도 정보는 도 2 내지 도 4에서 설명하였는 바 자세한 설명은 생략한다.
단계 S613에서, 서버는 DOM 데이터의 캐싱 여부를 확인한다. 즉, 웹서버에게 웹페이지 정보를 요청하기 전에, 클라이언트가 요청한 DOM 데이터가 캐싱되어 있는지 확인한다. DOM 데이터가 캐싱되어 있는 경우, 서버는 웹페이지 정보를 웹서버에게 요청하지 않고, 캐싱된 DOM 데이터를 클라이언트에 전송할 수 있다.
본 발명의 일 실시예에 따르면, 다른 클라이언트로부터 웹페이지 정보 요청이 온 경우에도 DOM 데이터의 캐싱 여부를 확인하여, DOM 데이터가 캐싱되어 있으면, 다른 클라이언트로 DOM 데이터를 전송할 수 있다. 즉, 서버는 매번 새로운 DOM 데이터를 생성할 필요 없이, 중복된 웹페이지에 요청에 대해 캐싱된 DOM 데이터를 전송할 수 있다. 특히, 클라우드 기반 네트워크로서, 다양한 사용자가 웹 브라우징 서비스를 사용하는 경우에도, 특정 웹페이지에 대한 요청이 중복되는 경우 캐싱된 DOM 데이터를 전송할 수 있다.
단계 S615에서, 서버는 웹서버에게 웹페이지 정보를 요청한다.
단계 S617에서, 웹서버는 서버에게 웹페이지 자원 정보를 송신한다.
본 발명의 일 실시예에 따르면, 웹페이지 자원 정보란 웹페이지를 표시하기 위한 자원 정보로서, HTML, JS, CSS, 이미지와 같이 웹페이지를 구성하는 정보들을 포함하며, 상기 예시에 제한되는 것은 아니다.
단계 S619에서, 서버는 DOM 데이터를 생성한다.
본 발명의 일 실시예에 따르면 서버는 웹페이지의 일부 영역을 선택하고, 선택된 웹페이지의 일부 영역에 포함된 DOM 엘레먼트들을 이미지로 변환하고, 변환된 이미지가 마지막 노드가 되도록 DOM 데이터를 생성할 수 있다.
본 발명의 일 실시예에 따르면, 서버가 웹페이지의 일부 영역을 선택하는 방법은, DOM 엘레먼트들의 우선 순위를 결정하고, DOM 엘레먼트들의 우선 순위에 기초하여 웹페이지의 일부 영역을 선택할 수 있다.
본 발명의 일 실시예에 따르면, 서버가 웹페이지의 일부 영역을 선택하는 방법은 낮은 우선 순위를 가지는 DOM 엘레먼트부터 많은 수의 엘레먼트들이 포함되도록 웹페이지의 일부 영역을 선택할 수 있다.
본 발명의 일 실시예에 다르면, 우선 순위를 결정하는 방법은 클라이언트의 선호도 정보에 따라 우선 순위를 결정할 수 있다. 또한 DOM 엘레먼트의 인터랙션 가능 여부에 따라 우선 순위를 결정할 수 있다.
단계 S621에서, 서버는 단계 S619에서 생성된 DOM 데이터를 클라이언트로 전송한다.
단계 S623에서, 클라이언트는 수신된 DOM 데이터에 기초하여, 웹페이지를 표시하고 사용자 입력을 처리한다.
단계 S625에서, 클라이언트는 서버로 추가적인 DOM 데이터를 요청한다.
본 발명의 일 실시예에 따르면, 클라이언트에서 수신한 DOM 데이터 일부가 도 5b와 같이 이미지로 변환된 경우, 해당 웹페이지 영역에 포함된 DOM 엘레먼트들을 요청하는 사용자 입력이 수신되면, 클라이언트는 서버로 추가적인 DOM 데이터를 요청한다. 즉, DOM 데이터 내의 DOM 엘레먼트들 중 일부가 이미지로 변환되었으므로, 해당 이미지로 표시된 부분의 DOM 엘레먼트들은 클라이언트가 수신한 DOM 데이터 내에 포함되어 있지 않다. 따라서 해당 이미지로 표시된 웹페이지 부분에 대한 사용자 입력을 처리하기 위해서 클라이언트는 서버에게 추가적인 DOM 데이터를 요청할 수 있다.
단계 S27에서 서버는 클라이언트에게 추가적인 DOM 데이터를 송신한다.
본 발명의 일 실시예에 따르면 추가적인 DOM 데이터란, 이미지로 변환된 웹페이지의 일부 영역에 포함된 DOM 엘레먼트로 구성된 DOM 데이터를 의미한다.
본 발명의 일 실시예에 따르면 추가적인 DOM 데이터는 서버에서 생성될 수 있다.
도 7은 본 발명의 일 실시예에 따른 웹 브라우징 서비스를 제공하는 서버의 구조를 나타낸 도면이다.
본 발명의 일 실시예에 따른 서버(700)는 영역 선택부(701), 변환부(703), DOM 데이터 생성부(705), 송신부(707)을 포함한다.
본 발명의 일 실시예에 따르면, 영역 선택부(701)는 클라이언트가 요청한 웹페이지의 일부 영역을 선택한다.
본 발명의 일 실시예에 따르면, 영역 선택부(701)는 웹서버로부터 수신한 웹페이지를 표시하기 위한 자원 정보 또는, 자원 정보에 기초하여 생성된 DOM 데이터에 기초하여, 웹페이지의 일부 영역을 선택할 수 있다.
본 발명의 일 실시예에 따르면, 영역 선택부(701)는 DOM 엘레먼트들의 우선 순위를 결정하는 우선 순위 결정부(미도시)를 포함할 수 있다. 우선 순위 결정부는 DOM 엘레먼트들의 우선 순위를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 우선 순위 결정부는 클라이언트의 선호도 정보에 따라 DOM 엘레먼트의 우선 순위를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 우선 순위 결정부는 DOM 엘레먼트의 인터랙션 가능 여부에 기초하여 DOM 엘레먼트의 우선 순위를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 영역 선택부(701)는 클라이언트의 성능 정보에 따라 낮은 우선 순위를 가지는 DOM 엘레먼트로부터 많은 수의 엘레먼트들이 포함되도록 웹페이지의 일부 영역을 선택할 수 있다.
본 발명의 일 실시예에 따르면, 변환부(703)은 영역 선택부(701)가 선택한 웹페이지의 일부 영역 내에 포함된 DOM 엘레먼트들을 하나의 이미지로 변환한다. 물론 웹페이지의 일부 영역 내에 포함된 DOM 엘레먼트들을 복수 개의 이미지로 변환할 수도 있다.
본 발명의 일 실시예에 따르면 변환부(703)는 DOM 데이터에 대해 추가적인 연산을 하지 않고 바로 클라이언트의 메모리에 업로드 할 수 있도록 DOM 엘레먼트들을 압축, 인코딩, 변환하는 작업을 수행할 수 있다. 예를 들면, 변환부(703)는 텍스트 코드 형태로 존재하는 DOM 엘레먼트들을 포함하는 DOM 데이터를 바이너리 형태로 변환할 수도 있다.
본 발명의 일 실시예에 따르면, DOM 데이터 생성부(705)는 변환부(703)에서 변환한 이미지가 마지막 노드가 되도록 DOM 데이터를 생성한다. 물론, 웹서버로부터 수신한 웹페이지 자원 정보를 기초로 DOM 데이터를 생성할 수 있다. 즉, DOM 데이터 생성부(705)는 웹페이지 자원 정보를 기초로 하여 모든 형태의 DOM 데이터를 생성할 수 있다.
본 발명의 일 실시예에 따르면 송신부(707)는 DOM 데이터 생성부(705)에서 생성된 DOM 데이터를 클라이언트로 전송한다.
본 발명의 일 실시예에 따르면 송신부(707)는 다른 클라이언트가 웹페이지를 요청하는 경우에는, 다른 클라이언트로 생성된 DOM 데이터 또는 캐싱된 DOM 데이터를 전송한다.
본 발명의 일 실시예에 따르면, 서버는 캐싱부를 더 포함할 수 있다. 캐싱부는 생성된 DOM 데이터를 캐싱할 수 있다.
본 발명의 일 실시예에 따르면, 서버는 클라이언트 또는 다른 서버로부터 데이터를 수신하는 수신부를 더 포함할 수 있다. 수신부는 클라이언트로부터 웹페이지 요청, 클라이언트 성능 정보, 클라이언트 선호도 정보 등을 수신할 수 있다.
본 발명의 일 실시예에 따르면, 서버(700)의 각 구성요소는 내부 버스 구조로 연결될 수 있으며, 제어부(미도시)를 통해 연결될 수도 있다.
도 8은 본 발명의 일 실시예에 따른 웹 브라우징 서비스를 제공하는 클라이언트(800)의 구조를 나타낸 도면이다.
본 발명의 일 실시예에 따르면 클라이언트(800)는 웹페이지 표시부(801), 송신부(803), 수신부(805)를 포함한다.
본 발명의 일 실시예에 따르면 웹페이지 표시부(801)는 서버로부터 수신된 DOM 데이터를 이용하여 웹페이지를 표시할 수 이다. 웹페이지 표시부(801)는 DOM 데이터 이용하여 웹페이지를 표시하기 위해 렌더링을 수행하는 렌더링부를 포함할 수 있다.
본 발명의 일 실시예에 따르면 웹페이지 표시부(801)는 추가적인 DOM 데이터를 요청할 지 여부를 결정할 수 있다. 즉, 웹페이지 표시부(801)는 DOM 엘레먼트들이 이미지로 변환된 노드를 포함하는 DOM 데이터를 이용하여 웹페이지를 표시하고, 사용자의 입력에 기초하여, 이미지로 변환된 노드에 포함된 DOM 엘레먼트를 요청하는 사용자의 입력이 수신되면, 추가적인 DOM 데이터를 송신부(805)를 통해 요청할 수 있다.
본 발명의 일 실시예에 따르면, 추가적인 DOM 데이터를 요청해야하는지 여부를 송신부(803)에서 결정할 수 도 있다.
본 발명의 일 실시예에 따르면, 이미지로 변환된 노드에는 DOM 엘레먼트가 존재하지 않는다. 단지 웹페이지의 해당 영역을 표시할 수 있는 이미지만이 DOM 데이터에 포함되어 있다. 클라이언트(800)가 사용자 입력을 처리하기 위해서는 DOM 엘레먼트가 필요하므로, 클라이언트는 서버에게 이미지로 변환되지 않은 DOM 엘레먼트가 포함된 추가적인 DOM 데이터를 요청할 수 있다. 실시예에 따라서, 추가적인 DOM 데이터 또한 이미지로 변환된 노드를 포함할 수 있다. 즉, 서버는 추가적인 DOM 데이터에 기초하여 표시할 수 있는 웹페이지의 일부 영역에 대한 DOM 엘레먼트들을 이미지로 변환하여 추가적인 DOM 데이터를 생성할 수도 있다.
본 발명의 일 실시예에 따르면 송신부(803)는 서버로 추가적인 DOM 데이터를 요청할 수 있다. 추가적으로 송신부(803)는 사용자의 입력에 기초하여 서버에 웹페이지를 표시하기 위한 정보를 요청할 수 있다.
본 발명의 일 실시예에 따르면 송신부(803)는 클라이언트 성능 정보 또는 클라이언트 선호도 정보 중 적어도 하나를 서버로 송신할 수 있다. 본 발명의 일 실시예에 따르면, 클라이언트의 성능 정보는 클라이언트의 성능에 대한 정보를 포함할 수 있으며, 클라이언트의 선호도 정보는 사용자가 웹페이지 내에 포함된 DOM 엘레먼트 중 어느 DOM 엘레먼트가 포함된 영역을 선호하는지에 대한 정보를 포함할 수 있다.
본 발명의 일 실시예에 따르면 수신부(705)는 서버로부터 DOM 데이터를 수신하고, 필요한 경우에는 추가적인 DOM 데이터를 수신한다.
본 발명의 일 실시예에 따르면, 수신부(705)는 서버로부터 DOM 데이터가 아닌 웹페이지를 자원 정보를 수신할 수도 있다.
본 발명의 일 실시예에 따르면 클라이언트(800)는 사용자의 입력을 수신하는 사용자 인터페이스를 포함할 수 있다. 클라이언트(800)는 사용자 인터페이스를 통해 웹페이지에 대한 사용자 입력을 수신하고, 추가적인 DOM 데이터가 필요하면 이를 요청할 수 있다.
한편, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 디바이스를 포함한다. 상기 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (32)

  1. 웹 브라우징 서비스를 제공하는 방법에 있어서,
    클라이언트가 요청한 웹페이지의 내의 일부 영역을 선택하는 단계;
    상기 일부 영역 내에 포함된 DOM 엘레먼트들을 하나의 이미지로 변환하는 단계;
    상기 변환된 이미지가 연결된 다른 노드가 없는 마지막 노드가 되도록 DOM 데이터를 생성하는 단계; 및
    상기 DOM 데이터를 클라이언트에 송신하는 단계를 포함하며,
    상기 클라이언트가 요청한 웹페이지의 일부 영역을 선택하는 단계는,
    상기 DOM 엘레먼트들의 인터랙션 가능 여부에 따라 상기 DOM 엘레먼트들의 우선 순위를 결정하는 단계; 및
    상기 결정된 DOM 엘레먼트들의 우선 순위에 기초하여 상기 웹페이지 내의 일부 영역을 선택하는 단계를 구비하는 것을 특징으로 하는 웹 브라우징 서비스 제공 방법.
  2. 제 1 항에 있어서,
    상기 생성된 DOM 데이터를 캐싱하는 단계를 더 포함하며,
    다른 클라이언트가 상기 웹페이지를 요청하면, 상기 캐싱된 DOM 데이터를 다른 클라이언트에게 전송하는 것을 특징으로 하는 웹 브라우징 서비스 제공 방법.
  3. 제 1 항에 있어서,
    상기 클라이언트가 요청한 웹페이지의 일부 영역을 선택하는 단계는,
    상기 DOM 엘레먼트들의 우선 순위를 결정하는 단계; 및
    클라이언트의 성능 정보에 따라 낮은 우선순위를 가지는 DOM 엘레먼트부터 많은 수의 엘레먼트들이 포함되도록 웹페이지의 일부 영역을 선택하는 단계를 포함하는 것을 특징으로 하는 웹 브라우징 서비스 제공 방법.
  4. 제 3 항에 있어서,
    상기 우선 순위를 결정하는 단계는,
    클라이언트의 선호도 정보에 따라 상기 우선 순위를 결정하는 단계를 포함하는 것을 특징으로 하는 웹 브라우징 서비스 제공 방법.
  5. 제 4 항에 있어서, 상기 클라이언트의 선호도 정보는, 사용자가 웹페이지 내에 포함된 DOM 엘레먼트 중 어느 DOM 엘레먼트가 포함된 영역을 선호하는지에 대한 정보인 것을 특징으로 하는 웹 브라우징 서비스 제공 방법.
  6. 제 1 항에 있어서,
    상기 클라이언트로부터 상기 웹페이지의 요청과 함께 클라이언트의 성능정보 또는 클라이언트의 선호도 정보 중 적어도 하나를 수신하는 단계를 더 포함하는 것을 특징으로 하는 웹 브라우징 서비스 제공방법.
  7. 제 1 항에 있어서,
    상기 DOM 데이터는 클라이언트의 성능 정보에 기초하여 생성되는 것을 특징으로 하는 웹 브라우징 서비스 제공 방법.
  8. 제 6 항에 있어서,
    상기 클라이언트의 성능 정보는 클라이언트의 OS 정보, 웹 브라우저 정보, 모델 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 웹 브라우징 서비스 제공방법.
  9. 웹 브라우징 서비스를 제공하는 방법에 있어서,
    서버로부터 복수의 DOM 엘레먼트들을 포함하는 웹페이지의 일부 영역이 하나의 이미지로 변환된 노드를 포함하는 DOM 데이터를 수신하는 단계;
    상기 수신된 DOM 데이터를 이용하여 상기 웹페이지를 표시하는 단계; 및
    상기 DOM 엘레먼트들 중 하나를 요청하는 사용자의 입력을 수신하면, 상기 DOM 엘레먼트로 구성되는 추가적인 DOM 데이터를 요청하는 단계를 포함하며,
    상기 복수의 DOM 엘레먼트들은, 상기 서버에서 DOM 엘레먼트들의 인터랙션 가능 여부에 따라 결정된 우선 순위에 기초하여 상기 웹페이지 내에서 선택되는 것을 특징으로 하는 웹 브라우징 서비스 제공 방법.
  10. 제 9 항에 있어서,
    상기 웹페이지의 요청과 함께 클라이언트의 성능정보 또는 클라이언트의 선호도 정보 중 적어도 하나를 상기 서버로 송신하는 단계를 더 포함하는 것을 특징으로 하는 웹 브라우징 서비스 제공방법.
  11. 제 9 항에 있어서,
    상기 복수의 DOM 엘레먼트들은 서버에서 결정된 우선 순위에 기초하여 선택되는 것을 특징으로 하는 웹 브라우징 서비스 제공 방법.
  12. 제 11 항에 있어서,
    상기 우선 순위는, 클라이언트의 선호도 정보에 기초하여 상기 서버에서 결정되는 것을 특징으로 하는 웹 브라우징 서비스 제공 방법.
  13. 삭제
  14. 제 9 항에 있어서,
    상기 DOM 데이터는 클라이언트의 성능 정보에 기초하여 생성되는 것을 특징으로 하는 웹 브라우징 서비스 제공 방법.
  15. 제 14 항에 있어서,
    상기 클라이언트 성능 정보는 클라이언트의 OS 정보, 웹 브라우저 정보, 모델 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 웹 브라우징 서비스 제공방법.
  16. 웹 브라우징 서비스를 제공하는 서버에 있어서,
    클라이언트가 요청한 웹페이지의 일부 영역을 선택하는 영역 선택부;
    상기 일부 영역 내에 포함된 DOM 엘레먼트들을 하나의 이미지로 변환하는 변환부;
    상기 변환된 이미지를 연결된 다른 노드가 없는 마지막 노드가 되도록 DOM 데이터를 생성하는 DOM 데이터 생성부; 및
    상기 DOM 데이터를 클라이언트에 송신하는 송신부를 포함하며,
    상기 영역 선택부는, 상기 DOM 엘레먼트들의 인터랙션 가능 여부에 따라 상기 DOM 엘레먼트들의 우선 순위를 결정하고 DOM 엘레먼트들의 우선 순위에 기초하여 상기 웹페이지 내의 일부 영역을 선택하는 것을 특징으로 하는 웹 브라우징 서비스 제공 서버.
  17. 제 16 항에 있어서,
    상기 서버는 상기 생성된 DOM 데이터를 캐싱하는 캐싱부를 더 포함하고,
    상기 송신부는 다른 클라이언트가 상기 웹페이지를 요청하면, 상기 캐싱부에 캐싱된 DOM 데이터를 다른 클라이언트로 전송하는 것을 특징으로 하는 웹 브라우징 서비스 제공 서버.
  18. 제 16 항에 있어서,
    상기 서버는 수신부를 더 포함하고,
    상기 수신부는 상기 클라이언트로부터 상기 웹페이지의 요청과 함께 클라이언트의 성능정보 또는 클라이언트의 선호도 정보 중 적어도 하나를 수신하는 것을 특징으로 하는 웹 브라우징 서비스 제공 서버.
  19. 제 16 항에 있어서,
    상기 영역 선택부는,
    상기 DOM 엘레먼트들의 우선 순위를 결정하는 우선 순위 결정부를 포함하고,
    상기 영역 선택부는, 상기 클라이언트의 성능 정보에 따라 낮은 우선순위를 가지는 DOM 엘레먼트부터 많은 수의 엘레먼트들이 포함되도록 웹페이지의 일부 영역을 선택하는 것을 특징으로 하는 웹 브라우징 서비스 제공 서버.
  20. 제 19 항에 있어서,
    상기 우선 순위 결정부는,
    클라이언트의 선호도 정보에 따라 상기 우선 순위를 결정하는 단계를 포함하는 것을 특징으로 하는 웹 브라우징 서비스 제공 서버.
  21. 삭제
  22. 제 16 항에 있어서,
    상기 DOM 데이터는 클라이언트의 성능 정보에 기초하여 생성되는 것을 특징으로 하는 웹 브라우징 서비스 제공 서버.
  23. 제 22 항에 있어서,
    상기 클라이언트 성능 정보는 클라이언트의 OS 정보, 웹 브라우저 정보, 모델 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 웹 브라우징 서비스 제공 서버.
  24. 웹 브라우징 서비스를 제공하는 클라이언트에 있어서,
    서버로부터 복수의 DOM 엘레먼트들을 포함하는 웹페이지의 일부 영역이 하나의 이미지로 변환된 노드를 포함하는 DOM 데이터를 수신하는 수신부;
    상기 수신된 DOM 데이터를 이용하여 상기 웹페이지를 표시하는 웹페이지 표시부; 및
    상기 DOM 엘레먼트들 중 하나를 요청하는 사용자의 입력을 수신하면, 상기 DOM 엘레먼트로 구성되는 추가적인 DOM 데이터를 요청하는 송신부를 포함하며,
    상기 복수의 DOM 엘레먼트들은, 상기 서버에서 DOM 엘레먼트들의 인터랙션 가능 여부에 따라 결정된 우선 순위에 기초하여 상기 웹페이지 내에서 선택되는 것을 특징으로 하는 웹 브라우징 서비스 제공 클라이언트.
  25. 제 24 항에 있어서,
    상기 송신부는,
    상기 웹페이지의 요청과 함께 클라이언트의 성능정보 또는 클라이언트의 선호도 정보 중 적어도 하나를 상기 서버로 송신하는 것을 특징으로 하는 웹 브라우징 서비스 제공 클라이언트.
  26. 제 24 항에 있어서,
    상기 복수의 DOM 엘레먼트들은 서버에서 결정된 우선 순위에 기초하여 선택되는 것을 특징으로 하는 웹 브라우징 서비스 제공 클라이언트.
  27. 제 26 항에 있어서,
    상기 우선 순위는, 클라이언트의 선호도 정보에 기초하여 상기 서버에서 결정되는 것을 특징으로 하는 웹 브라우징 서비스 제공 클라이언트.
  28. 삭제
  29. 제 24 항에 있어서,
    상기 DOM 데이터는 클라이언트의 성능 정보에 기초하여 생성되는 것을 특징으로 하는 웹 브라우징 서비스 제공 클라이언트.
  30. 제 29 항에 있어서,
    상기 클라이언트의 성능 정보는 클라이언트의 OS 정보, 웹 브라우저 정보, 모델 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 웹 브라우징 서비스 제공 클라이언트.
  31. 제 1 항에 기재된 방법을 구현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  32. 제 9 항에 기재된 방법을 구현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020130052756A 2013-05-09 2013-05-09 웹 브라우징 서비스를 제공하는 방법 및 장치 KR102060660B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130052756A KR102060660B1 (ko) 2013-05-09 2013-05-09 웹 브라우징 서비스를 제공하는 방법 및 장치
US14/266,203 US20140337708A1 (en) 2013-05-09 2014-04-30 Method and apparatus for providing web browsing service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130052756A KR102060660B1 (ko) 2013-05-09 2013-05-09 웹 브라우징 서비스를 제공하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20140133124A KR20140133124A (ko) 2014-11-19
KR102060660B1 true KR102060660B1 (ko) 2019-12-30

Family

ID=51865752

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130052756A KR102060660B1 (ko) 2013-05-09 2013-05-09 웹 브라우징 서비스를 제공하는 방법 및 장치

Country Status (2)

Country Link
US (1) US20140337708A1 (ko)
KR (1) KR102060660B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9576070B2 (en) * 2014-04-23 2017-02-21 Akamai Technologies, Inc. Creation and delivery of pre-rendered web pages for accelerated browsing
US20160335232A1 (en) * 2015-05-11 2016-11-17 Government Of The United States As Represetned By The Secretary Of The Air Force Remote script execution for secure and private browsing
US10534852B2 (en) 2015-09-30 2020-01-14 Samsung Display Co., Ltd. Display system and virtual web device in the cloud
CN114780164B (zh) * 2022-02-28 2023-04-25 深圳开源互联网安全技术有限公司 基于浏览器插件筛选网页信息的方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704024B2 (en) * 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
WO2010118019A1 (en) * 2009-04-06 2010-10-14 Nokia Corporation Methods and systems for using multipart messaging with preset constraints
US9141724B2 (en) * 2010-04-19 2015-09-22 Afilias Technologies Limited Transcoder hinting
US8539338B2 (en) * 2011-04-11 2013-09-17 Microsoft Corporation Cooperative rendering cache for mobile browser
US9069864B2 (en) * 2012-09-21 2015-06-30 Google Inc. Prioritizing a content item for a user

Also Published As

Publication number Publication date
US20140337708A1 (en) 2014-11-13
KR20140133124A (ko) 2014-11-19

Similar Documents

Publication Publication Date Title
US9582600B1 (en) Cloud browser DOM-based client
US9646254B2 (en) Predicting next web pages
JP5805867B2 (ja) 遠隔ブラウジングセッション管理
RU2589306C2 (ru) Управление сеансом удаленного просмотра
US9253284B2 (en) Historical browsing session management
US8706860B2 (en) Remote browsing session management
US8577963B2 (en) Remote browsing session between client browser and network based browser
US10002115B1 (en) Hybrid rendering of a web page
US10284671B2 (en) Dynamic bundling of web components for asynchronous delivery
KR101740071B1 (ko) 컴퓨터 네트워크에서 전자 문서의 렌디션을 배치하기 위한 서버 전처리의 이용
US10521485B1 (en) Measuring page value
US20190205056A1 (en) Transparent data movement between a private cloud and storage ecosystem and another storage system
US20130007241A1 (en) Remote browsing session management
US20150278171A1 (en) Single page application authoring in a content management system
JP2015509229A5 (ko)
JP2018055241A (ja) クラウドシステムにおける文書ファイルの生成サービスを提供する装置、方法及びプログラム
JP2015509229A (ja) アプリケーション駆動のcdnのプリキャッシング
US9740791B1 (en) Browser as a service
KR102060660B1 (ko) 웹 브라우징 서비스를 제공하는 방법 및 장치
US20170093652A1 (en) Visualization hypertext
JP5937207B2 (ja) 遠隔ブラウジングセッション管理
WO2010041028A1 (en) Dictionary-based data compression and subsequent data transmission in a server / client architecture
US20140337707A1 (en) Method and apparatus for client to browse web page provided by server
CN104219277A (zh) 重排服务器响应
US10296580B1 (en) Delivering parsed content items

Legal Events

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