KR20140137633A - 웹 브라우징 방법 및 이를 지원하는 사용자 단말 - Google Patents
웹 브라우징 방법 및 이를 지원하는 사용자 단말 Download PDFInfo
- Publication number
- KR20140137633A KR20140137633A KR20130058370A KR20130058370A KR20140137633A KR 20140137633 A KR20140137633 A KR 20140137633A KR 20130058370 A KR20130058370 A KR 20130058370A KR 20130058370 A KR20130058370 A KR 20130058370A KR 20140137633 A KR20140137633 A KR 20140137633A
- Authority
- KR
- South Korea
- Prior art keywords
- page
- web
- web page
- region
- user terminal
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72445—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 웹 브라우징 방법 및 이를 지원하는 사용자 단말에 관한 것으로서, 더욱 상세하게는 다수의 웹 사이트가 제공하는 웹 페이지를 조합하여 하나의 통합 웹 페이지를 생성하고, 생성된 통합 웹 페이지를 웹 브라우저의 하나의 윈도우를 통해 출력할 수 있는 웹 브라우징 방법 및 이를 지원하는 사용자 단말에 관한 것이다.
이를 위한 본 발명의 일 실시 예에 따른 사용자 단말은 하나 이상의 웹 서비스 장치와 정보를 송수신하는 통신부, 웹 페이지를 표시하는 표시부 및 상기 통신부를 통해 어느 하나의 웹 서비스 장치로부터 웹 페이지가 수신되면, 상기 웹 페이지를 파싱하여 분석하고, 분석된 상기 웹 페이지가 하나 이상의 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 경우, 각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지별로 페이지 렌더링 영역을 지정하여 통합 웹 페이지를 생성한 후, 생성된 상기 통합 웹 페이지가 상기 표시부를 통해 표시되도록 제어하는 제어부를 포함하여 구성될 수 있다.
이를 위한 본 발명의 일 실시 예에 따른 사용자 단말은 하나 이상의 웹 서비스 장치와 정보를 송수신하는 통신부, 웹 페이지를 표시하는 표시부 및 상기 통신부를 통해 어느 하나의 웹 서비스 장치로부터 웹 페이지가 수신되면, 상기 웹 페이지를 파싱하여 분석하고, 분석된 상기 웹 페이지가 하나 이상의 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 경우, 각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지별로 페이지 렌더링 영역을 지정하여 통합 웹 페이지를 생성한 후, 생성된 상기 통합 웹 페이지가 상기 표시부를 통해 표시되도록 제어하는 제어부를 포함하여 구성될 수 있다.
Description
본 발명은 웹 브라우징 방법 및 이를 지원하는 사용자 단말에 관한 것으로서, 더욱 상세하게는 다수의 웹 사이트가 제공하는 웹 페이지를 조합하여 하나의 통합 웹 페이지를 생성하고, 생성된 통합 웹 페이지를 웹 브라우저의 하나의 윈도우를 통해 출력할 수 있는 웹 브라우징 방법 및 이를 지원하는 사용자 단말에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
사용자들은 무수히 많은 웹 페이지로 구성되는 웹에 접속하기 위해 특정 웹 브라우저(web browser)를 구동하게 된다. 이러한 웹 브라우저는 하나의 윈도우에서 하나의 웹 사이트만을 표시하는 것이 일반적이나, 최근에는 멀티 탭 기능을 지원하며 하나의 윈도우에서 다양한 웹 사이트를 이용할 수 있게 되었다.
이러한, 멀티 탭 기능을 지원하는 웹 브라우저는 웹 브라우저를 종료하거나 다른 웹 사이트로 이동하지 않더라도, 여러 개의 탭(tap)을 생성하여 각 탭을 통해 웹 페이지를 표시할 수 있으며, 사용자는 생성된 각 탭을 이동하는 방식을 통해 여러 웹 페이지를 동시에 이용할 수 있다는 장점이 있어, 최근 널리 이용되고 있는 웹 브라우저 방식이다.
그러나, 멀티 탭 기능을 지원하는 웹 브라우저는 여러 개의 탭을 생성하고, 생성된 탭을 통해 여러 웹 페이지를 동시에 구동할 수 있으나, 탭을 이동함으로써 웹 페이지를 확인해야 한다는 문제점이 있다. 또한, 웹 페이지 간의 연동 작업, 예컨대 드래그 앤 드롭(drag & drop) 등의 작업을 수행하는 것은 불가능하다는 문제점이 있다.
상술한 바와 같이, 본 발명은 종래의 웹 브라우저가 하나의 윈도우에서 여러 웹 사이트를 동시에 구동하거나 웹 사이트 간의 연동 작업이 불가능하다는 문제점을 해결하기 위한 것으로서, 하나의 윈도우에서 다수의 웹 사이트가 제공하는 웹 페이지를 조합하고, 사용자가 이를 자유롭게 연동하여 이동할 수 있는 웹 브라우징 방법 이를 지원하는 사용자 단말을 제공하는 데 목적이 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 사용자 단말은 하나 이상의 웹 서비스 장치와 정보를 송수신하는 통신부; 웹 페이지를 표시하는 표시부; 및 통신부를 통해 어느 하나의 웹 서비스 장치로부터 웹 페이지가 수신되면, 웹 페이지를 파싱하여 분석하고, 분석된 웹 페이지가 하나 이상의 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 경우, 각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지별로 페이지 렌더링 영역을 지정하여 통합 웹 페이지를 생성한 후, 생성된 통합 웹 페이지가 표시부를 통해 표시되도록 제어하는 제어부;를 포함하여 구성될 수 있다.
이때, 제어부는 어느 하나의 웹 서비스 장치로부터 수신된 웹 페이지를 파싱하여 분석하고, 분석된 웹 페이지가 하나 이상의 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 경우, 각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지별로 페이지 렌더링 영역을 지정하고, 페이지 렌더링 영역이 지정된 각각의 웹 페이지를 페이지 렌더러로 전달하는 페이지 커뮤니케이터; 및 페이지 커뮤니케이터로부터 페이지 렌더링 영역이 지정된 각각의 웹 페이지가 수신되면, 수신된 웹 페이지를 통합하여 통합 웹 페이지를 생성한 후, 생성된 통합 웹 페이지가 표시부를 통해 표시되도록 제어하는 페이지 렌더러;를 포함하여 구성될 수 있다.
이때, 제어부는 페이지 렌더러로부터 수신된 통합 웹 페이지를 렌더링하고 렌더링된 통합 웹 페이지를 사용자 인터페이스 모듈로 전달하는 렌더링 엔진; 및 렌더링 엔진으로부터 수신된 통합 웹 페이지를 출력하고, 사용자 입력을 지원하는 사용자 인터페이스 모듈;을 더 포함하며, 사용자 인터페이스 모듈은 통합 웹 페이지를 출력한 이후에, 사용자의 요청에 따라 발생된 이벤트 정보를 페이지 커뮤니케이터로 전달할 수 있다.
또한, 제어부는 웹 페이지를 파싱하여 분석한 결과, 웹 페이지가 하나 이상의 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하고 있지 않을 경우, 웹 서비스 장치로부터 수신된 웹 페이지가 표시부를 통해 표시되도록 제어할 수 있다.
여기서, 페이지 렌더링 영역은 메뉴 페이지 영역, 컨텐츠 페이지 영역, 팝업 페이지 영역 중 적어도 어느 하나의 영역을 포함하여 구성될 수 있다.
이때, 제어부는 각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지에 대한 태그 정보를 분석하여, 메뉴 페이지에 대한 태그 정보를 포함하는 경우, 해당되는 웹 페이지가 메뉴 페이지 영역을 통해 표시되도록 제어할 수 있다.
또한, 제어부는 각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지에 대한 태그 정보를 분석하여, 컨텐츠 페이지에 대한 태그 정보를 포함하는 경우, 해당되는 웹 페이지가 컨텐츠 페이지 영역을 통해 표시되도록 제어할 수 있다.
또한, 제어부는 각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지에 대한 태그 정보를 분석하여, 팝업 페이지에 대한 태그 정보를 포함하는 경우, 해당되는 웹 페이지가 팝업 페이지 영역을 통해 표시되도록 제어할 수 있다.
또한, 제어부는 메뉴 페이지 영역, 컨텐츠 페이지 영역, 팝업 페이지 영역 중 어느 하나의 영역에서 이벤트 정보가 발생되면, 이벤트 정보에 대응하는 웹 페이지가 해당 영역에서 출력되도록 제어할 수 있다.
또한, 제어부는 메뉴 페이지 영역, 컨텐츠 페이지 영역, 팝업 페이지 영역 중 어느 하나의 영역에서 다른 영역으로의 드래그 앤 드롭(drag & drop) 이벤트 정보가 발생되면, 다른 영역에서 이벤트 정보에 대응하는 결과가 처리되도록 제어할 수 있다.
또한, 제어부는 웹 서비스 장치로부터 수신된 웹 페이지를 표시하고 있는 중에, 사용자로부터 새 창 활성화를 위한 이벤트 정보가 수신되면, 페이지 렌더링 영역을 분할하여 표시되도록 제어할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 웹 브라우징 방법은 사용자 단말이 어느 하나의 웹 서비스 장치로부터 웹 페이지를 수신하는 단계; 사용자 단말이 수신된 웹 페이지를 파싱(parsing)하여 분석하는 단계; 사용자 단말이 분석된 웹 페이지가 하나 이상의 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 지 여부를 판단하는 단계; 판단 결과, 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 경우, 사용자 단말이 각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지별로 페이지 렌더링 영역을 지정하여 통합 웹 페이지를 생성하는 단계; 및 사용자 단말이 통합 웹 페이지를 표시하는 단계;를 포함하여 이뤄질 수 있다.
이때, 웹 페이지를 수신하는 단계 이전에, 사용자 단말이 웹 서비스 장치로 웹 페이지를 요청하는 단계;를 더 포함하여 이뤄질 수 있다.
또한, 통합 웹 페이지를 생성하는 단계는 판단 결과, 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 경우, 사용자 단말이 각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지에 대한 태그 정보를 분석하는 단계; 사용자 단말이 태그 정보를 기초로 각각의 웹 페이지별로 페이지 렌더링 영역을 지정하는 단계; 및 사용자 단말이 통합 웹 페이지를 생성하는 단계;를 포함하여 이뤄질 수 있다.
이때, 페이지 렌더링 영역은 메뉴 페이지 영역, 컨텐츠 페이지 영역, 팝업 페이지 영역 중 어느 하나의 영역을 포함할 수 있다.
또한, 통합 웹 페이지를 표시하는 단계 이후에, 사용자 단말이 메뉴 페이지 영역, 컨텐츠 페이지 영역, 팝업 페이지 영역 중 어느 하나의 영역에서 이벤트 정보가 발생되는 지 여부를 판단하는 단계; 및 판단 결과, 어느 하나의 영역에서 이벤트 정보가 발생되면, 사용자 단말이 이벤트 정보에 대응하는 웹 페이지가 해당 영역에서 출력되도록 제어하는 단계;를 더 포함하여 이뤄질 수 있다.
또한, 통합 웹 페이지를 표시하는 단계 이후에, 사용자 단말이 메뉴 페이지 영역, 컨텐츠 페이지 영역, 팝업 페이지 영역 중 어느 하나의 영역에서 다른 영역으로의 드래그 앤 드롭(drag & drop) 이벤트 정보가 발생되는 지 여부를 판단하는 단계; 및 판단 결과, 어느 하나의 영역에서 다른 영역으로의 드래그 앤 드롭 이벤트 정보가 발생되면, 사용자 단말이 다른 영역에서 이벤트 정보에 대응하는 결과가 처리되도록 제어하는 단계;를 더 포함하여 이뤄질 수 있다.
추가로 본 발명은 상술한 바와 같은 본 발명의 실시 예에 따른 웹 브라우징 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
본 발명의 웹 브라우징 방법 및 이를 지원하는 사용자 단말에 의하면, 종래의 웹 브라우저가 지난 한계, 즉 하나의 윈도우에서 하나의 웹 페이지만을 제공한다는 한계를 뛰어넘어, 하나의 윈도우에서 다수의 웹 사이트가 제공하는 웹 페이지를 조합하여 사용자에게 제공함으로써, 사용자는 하나의 윈도우에서 여러 웹 페이지를 동시에 구동하거나 연동 작업을 수행할 수 있다는 우수한 효과가 있다.
도 1은 본 발명의 실시 예에 따른 웹 브라우징 방법을 지원하는 시스템을 개략적으로 도시한 구성도이다.
도 2는 도 1에 도시된 본 발명의 실시 예에 다른 웹 브라우징 방법을 지원하는 사용자 단말의 주요 구성을 도시한 블록도이다.
도 3은 본 발명의 실시 예에 따른 웹 브라우저 구동 모듈을 세부적으로 도시한 블록도이다.
도 4는 본 발명의 실시 예에 따른 웹 브라우저가 하나의 윈도우를 통해 통합 웹 페이지를 출력하고 있는 것을 개략적으로 도시한 도면이다.
도 5는 도 1에 도시된 본 발명의 실시 예에 따른 웹 서비스 장치의 주요 구성을 도시한 블록도이다.
도 6은 본 발명의 실시 예에 따른 웹 브라우징 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시 예에 따른 웹 브라우징 방법을 설명하기 위한 데이터 흐름도이다.
도 2는 도 1에 도시된 본 발명의 실시 예에 다른 웹 브라우징 방법을 지원하는 사용자 단말의 주요 구성을 도시한 블록도이다.
도 3은 본 발명의 실시 예에 따른 웹 브라우저 구동 모듈을 세부적으로 도시한 블록도이다.
도 4는 본 발명의 실시 예에 따른 웹 브라우저가 하나의 윈도우를 통해 통합 웹 페이지를 출력하고 있는 것을 개략적으로 도시한 도면이다.
도 5는 도 1에 도시된 본 발명의 실시 예에 따른 웹 서비스 장치의 주요 구성을 도시한 블록도이다.
도 6은 본 발명의 실시 예에 따른 웹 브라우징 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시 예에 따른 웹 브라우징 방법을 설명하기 위한 데이터 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 하나, 이는 본 발명을 특정한 실시 형태로 한정하려는 것은 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이제 본 발명의 실시 예에 따른 웹 브라우징 방법, 이를 지원하는 사용자 단말, 시스템에 대하여 도면을 참조하여 상세하게 설명하도록 한다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시 예에 따른 웹 브라우징 방법을 지원하는 시스템을 개략적으로 도시한 구성도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 웹 브라우징 방법을 지원하는 시스템(100)은 다수의 사용자 단말(10) 및 상기 사용자 단말(10)로 웹 페이지를 제공하는 다수의 웹 서비스 장치(20), 그리고 통신망(30)을 포함하여 구성될 수 있다.
사용자 단말(10)은 도면에는 하나의 사용자 단말(10)만을 도시하였으나, 이에 한정되는 것은 아니며, 웹 서비스 장치(20)와 마찬가지로 다수의 사용자 단말(10)이 동시에 다수의 웹 서비스 장치(20)로부터 다수의 웹 페이지를 수신할 수 있다.
이러한 사용자 단말(10)은 사용자의 조작에 따라 통신망(30)을 경유하여 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미한다. 또한, 사용자 단말(10)은 통신망(30)을 통해 음성 또는 데이터 통신을 수행할 수 있으며, 웹 서비스 장치(20)와 웹 페이지와 이용하기 위한 다양한 정보를 송수신할 수 있다. 이를 위한 본 발명의 사용자 단말(10)은 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다.
특히, 본 발명의 실시 예에 따른 사용자 단말(10)은 본 발명의 웹 브라우징 방법을 지원하는 웹 브라우저를 포함하여 구성되며, 상기 웹 브라우저를 구동하여 통신망(30)을 통해 다수의 웹 서비스 장치(20)가 제공하는 웹 페이지를 수신하여 표시할 수 있다. 이때, 상기 웹 브라우저는 사용자로부터 입력된 URL(Uniform Resource Locator) 형태의 웹 주소를 기초로 통신망(30)을 통해 해당되는 웹 서비스 장치(20)로 웹 페이지 관련 데이터를 요청하고, 요청된 웹 페이지 관련 데이터를 웹 서비스 장치(20)로부터 수신하여 표시하게 된다.
특히, 본 발명의 실시 예에 따른 사용자 단말(10)은 하나의 웹 브라우저의 하나의 윈도우에서 다수 개의 웹 페이지를 동시에 표시할 수 있다. 예컨대, 하나의 윈도우를 3개의 영역으로 구분하고 제1 영역을 통해 제1 웹 서비스 장치(20_1)가 제공하는 제1 웹 페이지를 수신하여 표시할 수 있으며, 제2 영역을 통해 제2 웹 서비스 장치(20_2)가 제공하는 제2 웹 페이지를 수신하여 표시할 수 있으며, 제3 영역을 통해 제3 웹 서비스 장치(20_3)가 제공하는 제3 웹 페이지를 수신하여 표시할 수 있다.
또한, 본 발명의 실시 예에 따른 사용자 단말(10)은 웹 브라우저의 하나의 윈도우를 통해 다수 개의 웹 페이지를 동시에 표시함과 더불어, 다수 개의 웹 페이지 간의 드래그 앤 드롭(drag & drop) 등의 연동 작업이 지원할 수 있게 된다.
보다 구체적인 사용자 단말(10)에서의 웹 브라우징 방법에 대해서는 후술하도록 한다.
웹 서비스 장치(20)는 사용자 단말(10)로 웹 페이지를 제공하는 인트라넷 또는 익스트라넷 상의 웹 서버로서, 사용자 단말(10)의 웹 브라우저의 요청에 따라 해당 사용자 단말(10)로 웹 페이지를 제공하는 역할을 수행하게 된다.
이때, HTML 형태의 웹 페이지 파일은 물론, CSS 파일, 이미지 파일, 클라이언트 스크립트 파일, 멀티미디어 파일, 플러그인 관련 파일 등 다양한 형태의 웹 페이지를 제공할 수 있다.
아울러, 상술한 웹 페이지는 다양한 링크 정보를 포함하여 구성될 수 있다. 예컨대, 제1 웹 서비스 장치(20_1)가 제공하는 제1 웹 페이지는 제2 웹 서비스 장치(20_2)가 제공하는 제2 웹 페이지 및 제3 웹 서비스 장치(20_3)가 제공하는 제3 웹 페이지에 대한 링크 정보를 포함하여 구성될 수 있으며, 이러한 링크 정보는 팝업 페이지 영역, 광고 영역 등 다양한 영역을 통해 표시될 수 있다.
보다 구체적인 본 발명의 실시 예에 따른 웹 브라우징 방법을 지원하는 사용자 단말(10)의 주요 구성 및 동작 방법에 대해서는 후술하도록 하며, 본 발명의 실시 예에 따른 사용자 단말(10), 다수의 웹 서비스 장치(20)에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.
또한, 본 발명의 실시 예에 따른 사용자 단말(10) 및 웹 서비스 장치(20)는 통신망(30)을 통해 관련된 다양한 정보를 송수신하게 되며, 이때의 통신망(60)은 다양한 형태의 통신망이 이용될 수 있다.
특히, 본 발명의 실시 예에 따른 통신망(30)은 WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신 방식을 이용하여 다양한 정보를 송수신할 수 있다. 또한, 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신 방식을 이용하여 다양한 정보를 송수신할 수도 있다.
또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
이하, 본 발명의 실시 예에 따른 사용자 단말(10)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 2는 도 1에 도시된 본 발명의 실시 예에 다른 웹 브라우징 방법을 지원하는 사용자 단말의 주요 구성을 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 실시 예에 따른 사용자 단말(10)은 통신부(11), 입력부(12), 제어부(13), 저장부(14) 및 표시부(15)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 통신부(11)는 통신망(30)을 통해 다수의 웹 서비스 장치(20)와 관련 정보의 송수신을 지원하는 역할을 수행한다. 특히, 본 발명의 실시 예에 따른 통신부(11)는 제어부(12)의 제어에 따라 다양한 요청 정보를 해당 웹 서비스 장치(20)로 전송하고, 웹 서비스 장치(20)로부터 상기 요청 정보에 대응하여 수신되는 다양한 정보를 제어부(13)로 전달하는 역할을 지원한다.
입력부(12)는 사용자로부터 입력되는 숫자 및 문자 정보 등의 다양한 정보, 각종 기능 설정 및 사용자 단말(10)의 기능 제어와 관련하여 입력되는 신호를 제어부(13)로 전달한다. 특히, 본 발명의 입력부(12)는 웹 서비스 장치(20)로부터 웹 페이지를 수신하기 위해, 사용자로부터 입력되는 URL 정보는 물론 웹 페이지 제어를 위한 클릭, 드래그 앤 드롭 등 다양한 사용자 입력을 지원하게 된다.
이때, 입력부(12)가 후술할 표시부(15)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구성되는 경우, 상기 터치패널에서의 사용자의 터치 입력을 감지할 수 있다. 더하여, 입력부(12)는 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 음성 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단을 포함할 수도 있다.
이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다.
제어부(13)는 사용자 단말(10)의 전반적인 제어를 수행하는 것으로, 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치, 예컨대, 중앙처리장치(CPU, Central Processing Unit)가 될 수 있다.
이러한, 본 발명의 제어부(13)는 각 구성 요소와 기능적으로 연결된다. 즉, 제어부(13)는 통신부(11), 입력부(12), 저장부(14) 및 표시부(15)와 기능적으로 연결되며, 상기 각 구성 요소에 전원 공급 및 기능 수행을 위한 신호의 흐름을 제어하게 된다.
이러한 본 발명의 실시 예에 따른 제어부(13)는 웹 페이지 표시를 위한 웹 브라우저 구동 과정을 제어하게 된다. 여기서 제어부(13)에 제어 하에 구동되는 웹 브라우저는 월드 와이드 웹(WWW) 또는 LAN의 웹 사이트에서 제공하는 웹 페이지에 포함된 정보, 즉, 텍스트, 이미지 및 기타 다양한 정보들을 표시하는 과정을 지원하기 위한 소프트웨어를 의미한다.
이러한, 웹 브라우저는 HTML, XML 형태의 웹 스크립트 파일은 물론 CSS(Cascading Style Sheet) 파일, 이미지 파일, 클라이언트 스크립트 파일, 멀티미디어 파일, 플러그인 관련 파일 등 다양한 형태의 웹 페이지를 출력할 수 있는 웹 브라우저가 될 수 있다.
또한, 본 발명의 실시 예에 따른 웹 브라우저는 웹 페이지와 관련된 데이터를 브라우징, 즉 파싱 및 렌더링하여 이를 처리함으로써, 웹 페이지를 표시할 수 있는 풀 브라우저(full browser) 방식을 예로 들어 설명하나, 이에 한정되는 것은 아니며, 시스템 구현 방식에 따라 웹 가속기 서버로부터 웹 페이지를 이미지 형태로 수신하여 표시하는 웹 뷰어(web viewer) 방식을 이용할 수도 있다.
제어부(13)는 먼저, 상술한 바와 같은 웹 브라우저를 구동한 후, 입력부(12)를 통해 사용자에 의해 발생되는 요청 정보를 통신부(11)를 통해 해당 웹 서비스 장치(20)로 전달하는 과정을 제어한다.
여기서, 사용자에 의해 발생되는 요청 정보는 특정 웹 서비스 장치(20)가 제공하는 웹 페이지 수신을 요청하기 위한 URL 형태의 웹 주소가 될 수 있다. 사용자는 웹 브라우저의 주소 입력 창을 통해 접속하고자 하는 웹 페이지의 주소 정보를 입력할 수 있으며, 제어부(13)는 이러한 요청 정보를 통신부(11)를 통해 해당 웹 서비스 장치(20)로 전달하여 웹 페이지 수신을 위한 웹 페이지 관련 데이터를 요청하게 된다.
예컨대, 사용자가 웹 브라우저의 주소 입력 창을 통해 접속하고자 하는 웹 페이지의 주소 정보, 'www.skplanet.com'을 입력하게 되면, 입력부(12)는 상기 입력 정보를 제어부(13)로 전달하고, 제어부(13)는 상기 주소 정보에 해당하는 웹 서비스 장치(20)로 웹 페이지와 관련된 데이터의 리소스 정보를 요청하게 된다.
이후, 제어부(13)는 해당 웹 서비스 장치(20)로부터 요청된 웹 페이지와 관련된 데이터가 수신되면, 수신된 웹 페이지를 파싱하여 분석하게 된다. 여기서, 제어부(13)는 웹 페이지의 웹 데이터에 포함된 HTML 데이터를 파싱하거나, 자바 스크립트(java script)를 파싱하거나, CSS 데이터를 파싱하거나, Calc Style을 데이터를 파싱하여 처리함으로써, 태그 정보를 포함하는 다양한 리소스 정보를 추출할 수 있다.
이후, 제어부(13)는 파싱된 정보를 기초로 DOM 트리와 같은 다중 트리 구조를 생성할 수 있다. 또한, 제어부(13)는 스타일 요소도 파싱할 수 있는 데, 외부 CSS 파일과 문서 내의 스타일 요소가 파싱될 수 있다. 이러한 비주얼 요소와 스타일 정보는 DOM과 또 다른 트리인 렌더 트리(render tree)를 생성할 수 있다.
그리고 나서 제어부(13)는 파싱된 결과를 기초로, 상기 웹 페이지에 하나 이상의 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 지 여부를 판단하게 된다.
예를 들어 설명하면, 포털 웹 서비스 제공을 위한 웹 페이지 등과 같이 웹 페이지에 존재하는 텍스트와 이미지 등은 다른 웹 서비스 장치가 제공하는 웹 페이지로 이동하기 위한 다양한 링크 정보를 포함할 수 있으며, 사용자는 이 링크 정보를 통해 쉽고 빠르게 수많은 웹 사이트에 있는 정보들을 이용할 수 있다. 예컨대, 하나의 웹 페이지는 뉴스 서비스를 제공하는 웹 서비스 장치, 광고 서비스를 제공하는 웹 서비스 장치 등 다양한 웹 서비스 장치가 제공하는 웹 페이지로 구성될 수 있다.
제어부(13)는 어느 하나의 웹 서비스 장치, 예컨대 제1 웹 서비스 장치(20_1)가 제공하는 웹 페이지를 파싱하여 분석한 결과, 상기 웹 페이지가 하나 이상의 다른 웹 서비스 장치, 예컨대 제2 웹 서비스 장치(20_1)가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 경우, 상기 제2 웹 서비스 장치(20_1)가 제공하는 웹 페이지에 대한 태그 정보를 분석하게 된다.
이후, 제어부(13)는 분석된 태그 정보를 기초로 각각의 웹 서비스 장치가 제공하는 웹 페이지별로 페이지 렌더링 영역을 지정할 수 있다. 여기서 페이지 렌더링 영역은 메뉴 페이지 영역, 컨텐츠 페이지 영역, 팝업 페이지 영역 중 어느 하나를 포함하여 구성될 수 있다.
전술한 예와 같이, 제어부(13)가 제1 웹 서비스 장치(20_1)가 제공하는 제1 웹 페이지를 파싱한 결과, 제1 웹 페이지가 제2 웹 서비스 장치(20_2)가 제공하는 제2 웹 페이지로의 이동을 위한 링크 정보를 포함하고 있으며, 이때의 제2 웹 페이지의 태그 정보가 컨텐츠와 관련된 태그 정보를 포함하는 경우, 제어부(13)는 상기 제2 웹 페이지를 페이지 렌더링 영역 중 컨텐츠 페이지 영역을 통해 출력되도록 지정할 수 있다.
반면, 제2 웹 페이지의 태그 정보가 팝업 형태로 출력되기 위한 태그 정보를 포함하는 경우, 제어부(13)는 상기 제2 웹 페이지를 팝업 페이지 영역을 통해 출력되도록 페이지 렌더링 영역을 지정할 수 있다.
이후, 제어부(13)는 페이지 렌더링 영역별로 각각의 웹 서비스 장치(20)가 제공하는 각각의 웹 페이지를 지정한 후에, 웹 브라우저의 하나의 윈도우를 통해 표시되도록 통합 웹 페이지를 생성하게 된다. 이후, 생성된 통합 웹 페이지를 표시부(15)를 통해 출력되도록 제어한다.
이때, 제어부(13)는 제1 웹 서비스 장치(20_1)로부터 수신된 웹 페이지가 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하고 있지 않을 경우, 별다른 절차를 수행하지 않고, 바로 해당 웹 페이지가 표시부(15)를 통해 출력되는 과정을 제어할 수도 있다.
또한, 본 발명의 실시 예에 따른 제어부(13)는 페이지 렌더링 영역을 지정하여 생성된 통합 웹 페이지를 표시부(15)를 통해 출력한 이후에, 상기 페이지 렌더링 영역 중 어느 하나의 영역에서 특정 이벤트 정보가 발생되면, 상기 이벤트 정보에 대응하는 결과가 해당 영역에서 출력되도록 제어하는 역할을 수행할 수 있다.
예컨대, 제1 웹 서비스 장치(20_1)가 제공하는 제1 웹 페이지에 대응하여 페이지 렌더링 영역이 지정된 통합 웹 페이지가 출력되고 있는 상태에서, 컨텐츠 페이지 영역에서 제2 웹 서비스 장치(20_2)가 제공하는 제2 웹 페이지의 링크 정보에 대한 클릭 이벤트가 발생한 경우, 제어부(13)는 상기 클릭 이벤트 정보에 대응하여 결과 웹 페이지가 새로운 윈도우를 통해 출력되도록 제어하는 것이 아니라, 상기 컨텐츠 페이지 영역에서만 출력되도록 제어하게 된다.
또한, 본 발명의 제어부(13)는 상기 페이지 렌더링 영역 간의 드래그 앤 드롭과 같은 연동을 위한 이벤트 정보의 입력을 처리할 수 있다. 다시 말해, 메뉴 페이지 영역, 컨텐츠 페이지 영역, 팝업 페이지 영역 중 어느 하나의 영역에서 다른 영역으로의 발생된 드래그 앤 드롭 이벤트 정보가 감지되면, 제어부(13)는 상기 이벤트 정보에 대응하는 결과, 예컨대 결과 페이지가 상기 다른 영역에서 출력되도록 제어하게 된다.
예컨대, 상기 팝업 페이지 영역에서 컨텐츠 페이지 영역으로의 드래그 앤 드롭 이벤트 정보가 발생되면, 제어부(13)는 상기 팝업 페이지 영역에 대응하여 지정된 웹 페이지가 컨텐츠 페이지 영역에서 출력되도록 제어할 수 있다.
또한, 컨텐츠 페이지 영역은 다수 개의 웹 서비스 장치에 대응하여 다수 개의 영역으로 분할될 수 있는데, 예컨대 제2 웹 서비스 장치(20_2)가 제공하는 제2 웹 페이지에 대응하여 지정된 제1 컨텐츠 페이지 영역에서 제3 웹 서비스 장치(20_3)가 제공하는 제3 웹 페이지에 대응하여 지정된 제2 컨텐츠 페이지 영역으로의 드래그 앱 드롭이 감지되면, 상기 제2 웹 서비스 장치(20_2)가 제공하는 제2 웹 페이지를 상기 제2 컨텐츠 페이지 영역에서 출력되도록 제어할 수 있다.
더하여, 본 발명의 실시 예에 따른 제어부(13)는 하나의 윈도우를 통해 하나의 웹 페이지를 출력하고 있는 중에, 입력부(12)를 통해 새로운 윈도우 창 활성화를 위한 이벤트 정보가 발생되면, 상기 페이지 렌더링 영역을 분할하여 두 개의 웹 페이지를 표시할 수 있는 영역이 표시되는 과정을 제어할 수도 있다.
이를 통해 사용자는 두 개의 웹 페이지를 동시에 웹 브라우저의 하나의 윈도우를 통해 확인할 수 있으며, 드래그 앤 드롭 연동을 통해 제1 웹 페이지에 사용자가 업로드한 파일을 제2 웹 페이지로 업로드할 수도 있게 된다.
상술한 바와 같은 동작을 지원하기 위해 제어부(13)는 웹 브라우저 구동 모듈(13a)을 포함하여 구성될 수 있다. 아울러, 웹 브라우저 구동 모듈(13a)은 다양한 기능을 수행하는 다양한 서브 모듈로 구성될 수 있는 데, 이에 대해 도 3을 참조하여 설명하도록 한다.
도 3은 본 발명의 실시 예에 따른 웹 브라우저 구동 모듈을 세부적으로 도시한 블록도이다.
도 3을 참조하면, 본 발명의 웹 브라우저 구동 모듈(13a)은 네트워킹 모듈(13a_1), 브라우저 엔진(13a_2), 인터프리터(13a_3), 페이지 커뮤니케이터(13a_4), 렌더링 엔지913a_5), 페이지 렌더러(13a_6), 사용자 인터페이스 모듈(13a_7)을 포함하여 구성될 수 있다.
이 중, 네트워킹 모듈(13a_1)은 HTTP(Hyper Text Transfer Protocol) 요청과 같은 네트워킹 콜에 사용되는 것으로, 다수의 웹 서비스 장치(20)로 웹 페이지와 관련된 데이터의 수신을 요청하고, 웹 서비스 장치(20)로부터 수신되는 웹 페이지와 관련된 데이터를 브라우저 엔진(13a_2)으로 전달하는 역할을 수행한다.
브라우저 엔진(13a_2)은 네트워킹 모듈(13a_1)을 통해 수신된 웹 페이지 관련 데이터를 인터프리터(13a_3)로 전달하는 역할을 수행한다.
인터프리터(13a_3)는 웹 서비스 장치(20)로부터 수신된 웹 페이지 관련 데이터를 기초로 스크립트를 분석하고, 리소스(resource) 정보를 추출한다. 이때, 인터프리터(13a_3)는 웹 페이지의 웹 데이터에 포함된 HTML 데이터를 파싱하거나, 자바 스크립트(java script)를 파싱하거나, CSS 데이터를 파싱하거나, Calc Style을 데이터를 파싱하여 처리함으로써, 태그 정보를 포함하는 다양한 리소스 정보를 추출할 수 있다. 이때, 인터프리터(13a_3)는 pattern matching 기법, back-trace 기법 등을 통하여 리소스 정보를 추출할 수 있다. 또한, 인터프리터(13a_3)는 리소스 정보가 추출될 수 있는 위치를 탐색하게 된다. 리소스 정보가 추출될 수 있는 위치는 전체 웹 데이터에서 스크립트 명령어 등을 통해 탐색될 수 있다. 예컨대, element node의 attribute 정의(innerHTML, src) 또는 DOM method 호출(appendChild, insertBefore 등), document node의 writeHTML 등을 통해 리소스 정보가 추출될 수 있는 위치를 탐색할 수 있다.
이후, 인터프리터(13a_3)는 분석된 정보를 페이지 커뮤니케이터(13a_4)로 전달한다.
페이지 커뮤니케이터(13a_3)는 분석된 정보를 기초로 페이지 렌더링 영역을 설정하게 된다. 전술한 바와 같이, 페이지 커뮤니케이터(13a_3)는 파싱된 태그 결과를 기초로, 페이지 렌더링 영역을 설정하고, 페이지 렌더링 영역별로 웹 페이지를 지정할 수 있다. 여기서 페이지 렌더링 영역은 메뉴 페이지 영역, 컨텐츠 페이지 영역, 팝업 페이지 영역 중 어느 하나를 포함하여 구성될 수 있다.
또한, 웹 페이지는 일반적으로 웹 페이지 내의 텍스트와 이미지는 다른 웹 서비스 장치가 제공하는 웹 페이지로 이동하기 위한 다양한 링크 정보를 포함할 수 있는데, 페이지 커뮤니케이터(13a_3)는 웹 페이지 내의 링크 정보를 추출하고, 추출된 링크 정보를 기초로 페이지 렌더링 영역을 설정할 수도 있다. 예컨대, 웹 페이지에 포함된 어느 하나의 메뉴가 다른 웹 서비스 장치가 제공하는 웹 페이지로 이동하기 위한 링크 정보일 경우, 페이지 커뮤니케이터(13a_3)는 상기 메뉴에 대응하는 링크 정보를 기초로 해당 웹 페이지가 컨텐츠 페이지 영역을 통해 출력되도록 페이지 렌더링 영역을 지정할 수 있다.
이후, 페이지 커뮤니케이터(13a_3)는 웹 페이지에 대응하여 설정된 페이지 렌더링 영역을 페이지 렌더러(13a_6)로 전달하게 된다.
페이지 렌더러(13a_6)는 상기 페이지 커뮤니케이터(13a_3)로부터 수신된 정보를 기초로 통합 웹 페이지를 생성하게 된다. 통합 웹 페이지는 웹 브라우저의 하나의 윈도우를 통해 다수의 웹 페이지를 출력하기 위한 것으로, 통합 웹 페이지가 생성되면, 페이지 렌더러(13a_6)는 이를 렌더링 엔진(13a_5)로 전달한다.
렌더링 엔진(13a_5)은 통합 웹 페이지를 표시부(15)를 통해 표시하기 위한 렌더링 과정을 수행하는 것으로, 전술한 바와 같이, 생성된 다중 트리 구조, 렌더 트리를 기초로 화면 상에 나타날 정확한 좌표를 정하고, 색을 입히는 페인팅(painting) 과정을 수행하게 된다. 즉, 렌더링 엔진(13a_5)은 화면을 컨텐츠를 표시하기 위한 전 과정을 수행하게 된다.
이후, 렌더링 엔진(13a_a5)는 렌더링 과정이 끝난 통합 웹 페이지를 사용자 인터페이스 모듈(13a_7)로 전달하고, 사용자 인터페이스 모듈(13_7)은 지정된 사용자 인터페이스와 함께 통합 웹 페이지를 구성하여 웹 브라우저의 하나의 윈도우를 통해 출력되는 과정을 지원하게 된다.
지정된 사용자 인터페이스는 URL 입력을 지원하기 위한 주소창, 뒤로 가기, 앞으로 가기, 북마크(bookmark), 리프레쉬(refresh), 정지, 홈 버튼 등 다양한 버튼은 물론 다양한 버튼을 포함하는 상태 바 등이 포함될 수 있다. 이러한 사용자 인터페이스는 웹 브라우저의 종류에 따라 달라질 수 있으며, 사용자 단말(10)의 내장된 리소스 중 사용자 인터페이스 메소드를 기초로 구현될 수 있다.
아울러, 본 발명의 실시 예에 따른 사용자 인터페이스 모듈(13a_7)은 상기 통합 웹 페이지를 출력한 이후에, 사용자에 의해 발생되는 다양한 이벤트 정보를 페이지 커뮤니케이터(13a_4)로 전달할 수 있다. 페이지 커뮤니케이터(13a_4)는 상기 이벤트 정보에 대응하는 결과가 출력되도록 제어하고, 필요 시 웹 서비스 장치(20)로 상기 이벤트 정보에 대응하는 결과 출력을 위한 웹 페이지 관련 데이터를 요청하여 수신토록 제어할 수 있다.
특히, 본 발명의 실시 예에 따른 페이지 커뮤니케이터(13a_4)는 페이지 렌더링 영역 중 어느 하나의 영역에서 발생된 이벤트 정보가 상기 사용자 인터페이스 모듈(13a_7)을 통해 수신되면, 수신된 상기 이벤트 정보에 대응하는 결과가 해당 영역에서 출력되도록 제어하는 역할을 수행하게 된다. 예컨대, 컨텐츠 페이지 영역에서 특정 링크 정보에 대한 클릭 이벤트가 발생한 경우, 상기 링크 정보에 대응하여 결과 웹 페이지가 새로운 웹 브라우저를 통해 출력되도록 제어하는 것이 아니라, 해당 영역, 즉 컨텐츠 페이지 영역에서만 출력되도록 제어하게 된다.
또한, 본 발명의 페이지 커뮤니케이터(13a_4)는 영역 간의 드래그 앤 드롭 이벤트 정보의 입력을 처리할 수 있다. 다시 말해, 메뉴 페이지 영역, 컨텐츠 페이지 영역, 팝업 페이지 영역 중 어느 하나의 영역에서 다른 영역으로의 발생된 드래그 앤 드롭 이벤트 정보가 사용자 인터페이스 모듈(13a_7)을 통해 수신되면, 상기 페이지 커뮤니케이터(13a_4)는 상기 이벤트 정보에 대응하는 결과, 예컨대 결과 페이지가 상기 다른 영역에서 출력되도록 제어하게 된다.
또한, 페이지 커뮤니케이터(13a_4)는 현재 하나의 윈도우를 통해 적어도 2개의 웹 페이지가 표시되고 있을 경우, 제1 웹 페이지에서 제2 웹 페이지로의 드래그 앤 드롭을 지원할 수 있다. 예컨대, 제1 웹 서비스 장치(20_1)로부터 수신된 제1 웹 페이지 및 제2 웹 서비스 장치(20_2)로부터 수신된 제2 웹 페이지가 웹 브라우저의 하나의 윈도우를 통해 표시되고 있는 상태에서, 제1 웹 페이지에서 제2 웹 페이지로의 드래그 앤 드롭이 사용자 인터페이스 모듈(13a_7)을 통해 감지되면, 페이지 커뮤니케이터(13a_4)는 해당되는 처리를 수행할 수 있다. 다시 말해, 상기 제1 웹 페이지가 제1 웹 서비스 장치(20_1)가 제공하는 가상 웹 드라이브 서비스에 대한 페이지이고, 제2 웹 페이지가 제2 웹 서비스 장치(20_2)가 제공하는 가상 웹 드라이브 서비스에 대한 페이지일 경우, 사용자는 두 개의 웹 페이지를 동시에 웹 브라우저의 하나의 윈도우를 통해 확인할 수 있으며, 제1 웹 페이지에 사용자가 업로드한 파일을 제2 웹 페이지로 단순히 드래그 앤 드롭하는 동작을 통해 제2 웹 서비스 장치(20_2)로 업로드되도록 제어할 수 있게 되는 것이다.
본 발명의 통합 웹 페이지 표시 방법에 대해 도 4를 참조하여 설명하도록 한다.
도 4는 본 발명의 실시 예에 따른 웹 브라우저가 하나의 윈도우를 통해 통합 웹 페이지를 출력하고 있는 것을 개략적으로 도시한 도면이다. 먼저, 도 4a에 도시된 바와 같이, 웹 브라우저의 하나의 윈도우는 웹 브라우저 메뉴 영역(500)과 페이지 렌더링 영역(510)을 포함하여 구성될 수 있다.
여기서, 웹 브라우저 메뉴 영역(500)은 상술한 바와 같이, URL 입력을 지원하기 위한 주소창, 뒤로 가기, 앞으로 가기, 북마크(bookmark), 리프레쉬(refresh), 정지, 홈 버튼 등 웹 브라우저가 기본적으로 제공하는 다양한 사용자 인터페이스 정보가 출력되는 영역이다.
반면 페이지 렌더링 영역(510)은 본 발명의 실시 예에 따른 웹 브라우징 방법에 따라 통합 웹 페이지가 출력되는 영역으로, 페이지 렌더링 영역(510)은 메뉴 페이지 영역(511), 컨텐츠 페이지 영역(512), 팝업 페이지 영역(513) 중 어느 하나의 영역을 포함하여 구성될 수 있다.
이후, 사용자 인터페이스 모듈(13a_7)로부터 팝업 페이지 영역(513)에서 발생된 이벤트 정보, 예컨대 클릭 이벤트 정보가 수신되면, 페이지 커뮤니케이터(13a_4)는 상기 클릭 이벤트 정보에 대응하는 결과 페이지를 해당되는 제3 웹 서비스 장치(20_3)로부터 수신하여 팝업 페이지 영역(513)을 통해 출력되도록 제어하게 된다.
즉, 종래에는 팝업 페이지 영역(513)에서 클릭 이벤트 정보가 발생되면, 해당 웹 페이지가 웹 브라우저의 또 다른 윈도우를 통해 출력되었다면, 본 발명의 실시 예에 따른 웹 브라우저는 또 다른 윈도우를 통해 출력하는 것이 아니라, 해당 영역, 즉 팝업 페이지 영역(513)을 통해 출력되도록 제어하게 되는 것이다.
또한, 본 발명의 페이지 커뮤니케이터(13a_4)는 영역 사이의 연동을 지원할 수 있다. 다시 말해, 팝업 페이지 영역(513)에서 컨텐츠 페이지 영역(512)으로의 드래그 앤 드롭 이벤트 정보가 발생되어 상기 이벤트 정보를 사용자 인터페이스 모듈(13a_7)을 통해 수신하게 되면, 페이지 커뮤니케이터(13a_4)는 상기 이벤트 정보에 대한 결과 페이지를 상기 팝업 페이지 영역(513)을 통해 출력하는 것이 아니라, 드래그 앤 드롭 이벤트에 따라, 컨텐츠 페이지 영역(512)을 통해 출력되도록 제어하게 된다.
이때, 팝업 페이지 영역(513)은 비활성 상태가 될 수 있으며, 별다른 이벤트 정보가 발생되는 않은 메뉴 페이지 영역(511)은 지속적으로 제1 웹 서비스 장치(20_1)가 제공하는 웹 페이지가 표시될 수 있다.
또한, 본 발명의 페이지 커뮤니케이터(13a_4)는 사용자 인터페이스 모듈(13a_7)을 통해 새로운 윈도우 창 활성화를 위한 이벤트 정보가 수신되면, 페이지 렌더링 영역을 분할하여 도 4b에 도시된 바와 같이 두 개의 웹 페이지를 표시할 수 있는 영역이 표시되도록 제어할 수 있다. 아울러, 도 4b에서는 두 개의 웹 페이지가 동시에 표시되는 것을 예로 들어 설명하나 이에 한정되는 것은 아니며, 다수 개의 웹 페이지를 동시에 표시하도록 영역을 분할할 수도 있다.
이때, 상기 각각의 웹 페이지들은 웹 브라우저 메뉴 영역(500)을 공유하여 사용할 수 있다. 예컨대, 제1 웹 페이지(514)가 선택된 상태에서 사용자가 웹 브라우저 메뉴 영역(500)에 표시되는 메뉴 중 특정 메뉴를 선택하게 되면, 이에 대응하는 처리 결과가 제1 웹 페이지(514)에 반영될 수 있으며, 제2 웹 페이지(515)가 선택된 상태에서 사용자가 웹 브라우저 메뉴 영역(500)에 표시되는 메뉴 중 특정 메뉴를 선택하게 되면, 이에 대응하는 처리 결과가 제2 웹 페이지(515)에 반영될 수 있다.
이때, 활성화된 웹 페이지 영역을 보다 시각적으로 사용자에게 인지시키기 위해, 활성화된 웹 페이지 영역의 테두리 두께에 변화를 가하는 등 효과를 적용할 수도 있다.
또한 제1 웹 페이지(514)에서 제2 웹 페이지(515)로의 드래그 앤 드롭 이벤트 정보가 발생되어 상기 이벤트 정보를 사용자 인터페이스 모듈(13a_7)을 통해 수신하게 되면, 페이지 커뮤니케이터(13a_4)는 상기 이벤트 정보에 대응하는 결과를 수행할 수도 있다.
다시 말해, 전술한 예와 같이, 상기 제1 웹 페이지(514)가 제1 웹 서비스 장치(20_1)가 제공하는 가상 웹 드라이브 서비스에 대한 페이지이고, 제2 웹 페이지(515)가 제2 웹 서비스 장치(20_2)가 제공하는 가상 웹 드라이브 서비스에 대한 페이지일 경우, 사용자는 두 개의 웹 페이지를 동시에 웹 브라우저의 하나의 윈도우를 통해 확인할 수 있으며, 제1 웹 페이지에 사용자가 업로드한 파일을 제2 웹 페이지로 단순히 드래그 앤 드롭하는 동작을 통해 제2 웹 서비스 장치(20_2)로 업로드되도록 제어할 수 있게 되는 것이다.
이와 같이, 본 발명의 실시 예에 따른 웹 브라우저 구동 모듈(13a)은 다수의 웹 서비스 장치가 제공하는 다수의 웹 페이지를 하나의 통합 웹 페이지로 조합하고, 이들 웹 페이지 간의 연동을 지원함으로써, 사용자는 하나의 윈도우에서 여러 웹 페이지를 동시에 구동하거나 연동 작업을 수행할 수 있게 된다.
또한, 종래의 포털 웹 페이지 서비스를 제공하는 포털 웹 서비스 장치를 통해 웹 페이지를 수신하지 않더라도, 사용자 단말(10)이 직접 해당되는 개별 웹 서비스 장치(20)로 웹 페이지를 수신하고 이를 웹 브라우저의 하나의 윈도우를 통해 출력되도록 제어할 수 있게 된다.
본 발명의 실시 예에 따른 웹 브라우징 방법에 대해서는 하기에서 보다 구체적으로 설명하도록 하며, 다시 도 2를 참조하여 본 발명의 실시 예에 따른 사용자 단말(10)의 주요 구성 및 동작 방법에 대해 설명한다.
본 발명의 실시 예에 따른 사용자 단말(10)은 저장부(14) 및 표시부(15)를 더 포함하여 구성될 수 있다.
저장부(14)는 본 발명의 실시 예에 따른 기능 동작에 필요한 응용 프로그램을 비롯하여, 그 응용 프로그램 실행 중에 발생되는 다양한 데이터를 일시적으로 저장할 수 있다. 또한, 저장부(14)는 상술한 바와 같은 웹 페이지를 분석하는 과정에서 발생되는 다양한 정보, 특히 리소스 정보를 저장하는 역할을 지원한다. 이러한 정보는 저장부(14)에 일시적 또는 영구적으로 저장될 수 있다. 또한, 본 발명의 저장부(14)는 본 발명의 실시 예에 따른 웹 브라우징을 지원하는 웹 브라우저 구동과 관련된 다양한 정보를 저장할 수 있다.
이러한 저장부(14)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역은 사용자 단말(10)을 부팅시키기 위한 운영체제(OS)와 같은 사용자 단말(10) 구동과 관련된 정보들을 저장한다. 데이터 영역은 사용자 단말(10)의 사용에 따라 발생되는 데이터가 저장되는 영역으로, 상술한 바와 같인 웹 페이지를 분석하는 과정에서 발생되는 다양한 정보가 저장될 수 있다. 이때, 저장부(14)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
표시부(15)는 사용자 단말(10)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 특히, 본 발명의 표시부(15)는 웹 페이지를 표시할 수 있다.
이러한 표시부(15)는 상술한 바와 같이 입력부(12)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구현될 수도 있다. 또한, 본 발명의 표시부(15)는 LCD(Liquid Crystal Display), TFT-LCD(Thin Film Transistor LCD), OLED(Organic Light Emitting Diodes), 발광다이오드(LED), AMOLED(Active Matrix Organic LED), 플렉시블 디스플레이(Flexible display) 및 3차원 디스플레이(3 Dimension) 등으로 구성될 수 있다. 또한 이들 중 일부 디스플레이는 그를 통해 외부를 볼 수 있도록 투명형 또는 광투과형으로 구성될 수 있다. 이는 TOLED(Transparant OLED)를 포함하는 투명 디스플레이 형태로 구성될 수 있다.
이와 같이, 도 2를 통해 사용자 단말(10)의 주요 구성요소에 대해 설명하였다. 그러나 도 2를 통해 도시된 구성요소가 모두 필수 구성요소인 것은 아니며, 전기적인 신호인 음원을 아날로그 신호로 변환하여 출력하는 음원 출력부(16) 등과 같이 도시된 구성요소보다 많은 구성 요소에 의해 사용자 단말(10)이 구현될 수도 있고, 그 보다 적은 구성요소에 의해 사용자 단말(10)이 구현될 수도 있다. 또한, 도 2를 통해 도시된 단말(10)의 주요 구성요소의 위치는 얼마든지 편의상 또는 다른 이유로 바뀔 수 있음이 물론이다.
또한, 제어부(13)를 구성하는 모듈로 웹 브라우저 구동 모듈(13a) 하나 만을 도시하였으나, 이에 한정되는 것은 아니며, 다양한 기능을 수행하는 다양한 모듈로 제어부(13)가 구성될 수도 있다.
이상으로 본 발명의 실시 예에 따른 사용자 단말(10)의 주요 구성 및 동작 방법에 대해 설명하였다. 이러한 본 발명의 사용자 단말(10)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 사용자 단말(10)은 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), MID(Mobile Internet Device), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수도 있다.
이러한 본 발명의 사용자 단말(10)은 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 사용자 단말(10)로 사용될 수도 있으며, 통신망(30)을 통해 하나 이상의 웹 서비스 장치(20)와 정보를 송수신할 수 있는 단말이라면, 그 어떠한 장치도 본 발명의 사용자 단말(10)로 적용 가능하다.
이하, 본 발명의 실시 예에 따른 웹 서비스 장치(20)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 5는 도 1에 도시된 본 발명의 실시 예에 따른 웹 서비스 장치의 주요 구성을 도시한 블록도이다.
도 1 및 도 5를 참조하면, 본 발명의 실시 예에 따른 웹 서비스 장치(20)는 서비스 통신부(21), 서비스 제어부(22) 및 서비스 저장부(23)를 포함하여 구성될 수 있다.
먼저, 서비스 통신부(21)는 통신망(30)을 통해 다수의 사용자 단말(10)과 웹 페이지와 관련된 다양한 정보를 송수신하는 역할을 지원한다. 특히, 본 발명의 서비스 통신부(21)는 어느 하나의 사용자 단말(10)의 요청에 따라 상기 사용자 단말(10)로 웹 페이지 관련 데이터를 전송하는 역할을 수행할 수 있다.
서비스 제어부(22)는 본 발명의 실시 예에 따른 웹 서비스 장치(20)의 전반적인 제어를 수행하는 것으로, 웹 페이지의 생성 및 관리, 웹 페이지 간의 링크 생성 및 관리 등 웹 페이지와 관련된 다양한 제어를 수행할 수 있다. 이때, 서비스 제어부(22)가 생성 및 관리할 수 있는 웹 페이지는 HTML 형태의 웹 페이지 파일은 물론, CSS 파일, 이미지 파일, 클라이언트 스크립트 파일, 멀티미디어 파일, 플러그인 관련 파일 등 다양한 형태의 웹 페이지가 될 수 있다.
또한, 본 발명의 서비스 제어부(22)는 어느 하나의 사용자 단말(10)의 요청에 따라 특정 웹 페이지를 검색하고, 검색된 웹 페이지를 상기 서비스 통신부(21)를 통해 상기 사용자 단말(10)로 전송되도록 제어하게 된다.
아울러, 서비스 제어부(22)는 웹 페이지를 구성하는 다양한 이미지, 텍스트 등과 같은 다양한 정보가 서비스 저장부(23)에 저장되도록 제어할 수 있으며, 이때의 서비스 저장부(23)는 웹 서비스 장치(20) 내 하나의 저장소일 수도 있고, 웹 서비스 장치(20) 외부에 위치하여, 웹 서비스 장치(20)와의 데이터 송수신이 가능한 독립된 형태의 데이터 저장 서버가 될 수도 있다.
이상으로 본 발명의 실시 예에 따른 웹 서비스 장치(20)의 주요 구성 및 동작 방법에 대해 설명하였다.
상술한 바와 같은 웹 서비스 장치(20)는 하드웨어적으로는 통상적인 웹서버(Web Server) 또는 네트워크 서버와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등과 같은 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다. 웹 서비스 장치(20)는 웹서버 또는 네트워크 서버의 형태로 구현될 수 있으며, 웹서버는 일반적으로 인터넷과 같은 개방형 컴퓨터 네트워크를 통하여 불특정 다수 클라이언트 및/또는 다른 서버와 연결되어 있고, 클라이언트 또는 다른 웹서버의 작업수행 요청을 접수하고 그에 대한 작업 결과를 도출하여 제공하는 컴퓨터 시스템 및 그를 위하여 설치되어 있는 컴퓨터 소프트웨어(웹서버 프로그램)를 뜻하는 것이다. 그러나, 전술한 웹서버 프로그램 이외에도, 웹서버상에서 동작하는 일련의 응용 프로그램(Application Program)과 경우에 따라서는 내부에 구축되어 있는 각종 데이터베이스를 포함하는 넓은 개념으로 이해되어야 할 것이다. 이러한 웹 서비스 장치(20)는 일반적인 서버용 하드웨어에 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 매킨토시(Macintosh) 등의 운영체제에 따라 다양하게 제공되고 있는 웹서버 프로그램을 이용하여 구현될 수 있으며, 대표적인 것으로는 윈도우 환경에서 사용되는 웹사이트(Website), IIS(Internet Information Server)와 유닉스환경에서 사용되는 CERN, NCSA, APPACH 등이 이용될 수 있다.
더하여, 본 발명의 웹 서비스 장치(20)는 클라우드 방식으로 동작하는 하나 이상의 서버로 구현될 수 있다. 특히, 본 발명의 웹 브라우징 방법을 지원하는 시스템(100)을 통해 송수신되는 정보는 인터넷 상의 클라우드 컴퓨팅 장치에 영구적으로 저장될 수 있는 클라우드 컴퓨팅(Cloud Computing) 기능을 통해 제공될 수 있다. 여기서, 클라우드 컴퓨팅은 데스크톱, 태블릿 컴퓨터, 노트북, 넷북 및 스마트폰 등의 디지털 단말기에 인터넷 기술을 활용하여 가상화된 IT(Information Technology) 자원, 예를 들어, 하드웨어(서버, 스토리지, 네트워크 등), 소프트웨어(데이터베이스, 보안, 웹 서버 등), 서비스, 데이터 등을 온 디맨드(On demand) 방식으로 서비스하는 기술을 의미한다. 본 발명에 있어서, 사용자 단말(10) 및 웹 서비스 장치(20) 사이에 송수신되는 모든 정보는 인터넷 상의 클라우드 컴퓨팅 장치에 저장되고, 언제 어디서든 전송될 수 있다.
이하, 본 발명의 실시 예에 따른 웹 브라우징 방법에 대해 설명하도록 한다.
도 6은 본 발명의 실시 예에 따른 웹 브라우징 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 본 발명의 실시 예에 따른 웹 브라우징 방법을 수행하기 위해, 먼저 사용자 단말(10)은 웹 브라우저를 실행하게 된다(S101). 본 발명의 실시 예에 따른 웹 브라우저는 웹 페이지와 관련된 데이터를 브라우징, 즉 파싱 및 렌더링하여 이를 처리함으로써, 웹 페이지를 표시할 수 있는 풀 브라우저(full browser) 방식의 웹 브라우저가 될 수 있다.
이후, 사용자 단말(10)은 사용자로부터 요청 정보, 다시 말해 웹 페이지를 수신하기 위한 URL 형태의 주소 정보가 입력되면, 사용자 단말(10)은 해당되는 웹 서비스 장치, 예컨대 제1 웹 서비스 장치(20_1)로 웹 페이지를 요청하여 수신한다(S103).
이후, 사용자 단말(10)은 제1 웹 서비스 장치(20_1)로부터 수신된 웹 페이지를 분석하고(S105), 상기 웹 페이지에 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보가 포함되는 지 여부를 판단한다(S107).
상기 판단 결과, 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보가 포함되는 경우, 사용자 단말(10)은 웹 페이지에 대한 태그 정보를 분석하여 해당 웹 페이지가 메뉴 페이지인지, 컨텐츠 페이지 인지, 팝업 페이지 인지 여부를 분석하게 된다(S109).
이후, 사용자 단말(10)은 태그 정보를 기초로 웹 페이지별로 페이지 렌더링 영역을 지정하고(S111), 통합 웹 페이지를 생성한 후(S113), 이를 표시하게 된다(S115).
이하에서는 본 발명의 실시 예에 따른 웹 브라우징 방법에 대해 도 7을 참조하여 보다 더 구체적으로 설명하도록 한다.
도 7은 본 발명의 실시 예에 따른 웹 브라우징 방법을 설명하기 위한 데이터 흐름도이다.
도 1 및 도 7을 참조하면, 먼저, 사용자 단말(10)은 전술한 바와 같이 본 발명의 웹 브라우징 방법을 지원하는 웹 브라우저를 실행한다(S201). 이후, 사용자로부터 요청 정보 입력 감지 여부를 판단하여(S203), 사용자로부터 요청 정보가 입력되면, 이에 해당하는 웹 서비스 장치, 즉, 제1 웹 서비스 장치(20_1)로 요청 정보를 전송하여(S205), 이를 수신한 제1 웹 서비스 장치(20_1)는 이에 해당하는 웹 페이지를 검색한 후(S207), 검색된 웹 페이지를 사용자 단말(10)로 전송하게 된다(S209).
그리고 나서, 사용자 단말(10)은 수신된 웹 페이지를 분석하여(S211), 상기 제1 웹 서비스 장치(20_1)로부터 수신된 웹 페이지에 제2 웹 서비스 장치(20_2)가 제공하는 웹 페이지에 대한 링크 정보가 포함되는 지 여부를 판단하게 된다(S213).
상기 판단 결과, 제2 웹 서비스 장치(20_2)가 제공하는 웹 페이지에 대한 링트 정보를 포함하는 경우, 사용자 단말(10)은 각각의 웹 페이지별로 페이지 렌더링 영역을 지정한 후(S215), 이를 표시하게 된다(S217). 페이지 렌더링 영역을 지정하는 과정에 대해서는 도 2 및 도 3을 참조하여 설명하였으므로, 구체적인 설명은 생략하도록 한다.
반면, 상기 S213 단계에서, 상기 제1 웹 서비스 장치(20_1)로부터 수신된 웹 페이지에 제2 웹 서비스 장치(20_2)가 제공하는 웹 페이지에 대한 링크 정보가 포함되어 있지 않을 경우, 페이지 렌더링 영역을 지정하는 과정 없이 바로 수신된 웹 페이지를 출력할 수도 있다.
이후, 사용자 단말(10)은 상기 제2 웹 서비스 장치(20_2)가 제공하는 웹 페이지에 대응하여 지정된 페이지 렌더링 영역에서 이벤트가 발생될 경우(S219), 상기 제2 웹 서비스 장치(20_2)로 이에 대한 결과 웹 페이지를 요청하고(S221), 이를 수신한 후(S223), 상기 이벤트가 발생된 해당 페이지 렌더링 영역에서 웹 페이지를 표시하게 된다(S225).
다시 말해, 페이지 렌더링 영역 중 컨텐츠 페이지 영역에서 클릭 이벤트 정보가 발생한 경우, 사용자 단말(10)은 제2 웹 서비스 장치(20_2)로부터 수신된 웹 페이지를 상기 컨텐츠 페이지 영역에서 출력되도록 제어할 수 있으며, 팝업 페이지 영역에서 클릭 이벤트 정보가 발생한 경우, 사용자 단말(10)은 제2 웹 서비스 장치(20_2)로부터 수신된 웹 페이지를 상기 팝업 페이지 영역에서 출력되도록 제어할 수 있다.
또한, 상기 이벤트 정보가 특정 영역에서 다른 영역으로의 드래그 앤 드롭 이벤트 정보일 경우, 사용자 단말(10)은 다른 영역에서 해당되는 결과가 수행되도록 제어할 수도 있다.
이와 같이, 본 발명은 종래의 웹 브라우저가 지난 한계, 즉 하나의 윈도우에서 하나의 웹 페이지만을 제공한다는 한계를 뛰어넘어, 하나의 윈도우에서 다수의 웹 사이트가 제공하는 웹 페이지를 조합하여 사용자에게 제공함으로써, 사용자는 하나의 윈도우에서 여러 웹 페이지를 동시에 구동하거나 연동 작업을 수행할 수 있다는 우수한 효과가 있다.
이상으로 본 발명의 실시 예에 따른 웹 브라우징 방법에 대해 설명하였다.
상술한 바와 같은 본 발명의 실시 예에 따른 웹 브라우징 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 이때, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명은 웹 브라우징 방법 및 이를 지원하는 사용자 단말에 관한 것으로서, 더욱 상세하게는 다수의 웹 사이트가 제공하는 웹 페이지를 조합하여 하나의 통합 웹 페이지를 생성하고, 생성된 통합 웹 페이지를 웹 브라우저의 하나의 윈도우를 통해 출력할 수 있는 웹 브라우징 방법 및 이를 지원하는 사용자 단말에 관한 것이다.
본 발명에 의하면, 종래의 웹 브라우저가 지난 한계, 즉 하나의 윈도우에서 하나의 웹 페이지만을 제공한다는 한계를 뛰어넘어, 하나의 윈도우에서 다수의 웹 사이트가 제공하는 웹 페이지를 조합하여 사용자에게 제공함으로써, 사용자는 하나의 윈도우에서 여러 웹 페이지를 동시에 구동하거나 연동 작업을 수행할 수 있다는 우수한 효과가 있으며, 이를 통해 웹 서비스 산업의 발전에 이바지할 수 있다.
더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
10: 사용자 단말 11: 통신부 12: 입력부
13: 제어부 13a: 웹 브라우저 구동 모듈
14: 저장부 15: 표시부 20: 웹 서비스 장치
21: 서비스 통신부 22: 서비스 제어부 23: 서비스 저장부
30: 통신망
13: 제어부 13a: 웹 브라우저 구동 모듈
14: 저장부 15: 표시부 20: 웹 서비스 장치
21: 서비스 통신부 22: 서비스 제어부 23: 서비스 저장부
30: 통신망
Claims (18)
- 하나 이상의 웹 서비스 장치와 정보를 송수신하는 통신부;
웹 페이지를 표시하는 표시부; 및
상기 통신부를 통해 어느 하나의 웹 서비스 장치로부터 웹 페이지가 수신되면, 상기 웹 페이지를 파싱하여 분석하고, 분석된 상기 웹 페이지가 하나 이상의 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 경우, 각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지별로 페이지 렌더링 영역을 지정하여 통합 웹 페이지를 생성한 후, 생성된 상기 통합 웹 페이지가 상기 표시부를 통해 표시되도록 제어하는 제어부;
를 포함하는 것을 특징으로 하는 웹 브라우징을 지원하는 사용자 단말. - 제1항에 있어서,
상기 제어부는
상기 어느 하나의 웹 서비스 장치로부터 수신된 상기 웹 페이지를 파싱하여 분석하고, 분석된 상기 웹 페이지가 하나 이상의 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 경우, 각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지별로 페이지 렌더링 영역을 지정하고, 상기 페이지 렌더링 영역이 지정된 각각의 웹 페이지를 페이지 렌더러로 전달하는 페이지 커뮤니케이터; 및
상기 페이지 커뮤니케이터로부터 상기 페이지 렌더링 영역이 지정된 각각의 웹 페이지가 수신되면, 수신된 상기 웹 페이지를 통합하여 통합 웹 페이지를 생성한 후, 생성된 상기 통합 웹 페이지가 상기 표시부를 통해 표시되도록 제어하는 페이지 렌더러;
를 포함하는 것을 특징으로 하는 웹 브라우징을 지원하는 사용자 단말. - 제2항에 있어서,
상기 제어부는
상기 페이지 렌더러로부터 수신된 상기 통합 웹 페이지를 렌더링하고 렌더링된 상기 통합 웹 페이지를 사용자 인터페이스 모듈로 전달하는 렌더링 엔진; 및
상기 렌더링 엔진으로부터 수신된 상기 통합 웹 페이지를 출력하고, 사용자 입력을 지원하는 사용자 인터페이스 모듈;
을 더 포함하며,
상기 사용자 인터페이스 모듈은
상기 통합 웹 페이지를 출력한 이후에, 사용자의 요청에 따라 발생된 이벤트 정보를 상기 페이지 커뮤니케이터로 전달하는 것을 특징으로 하는 웹 브라우징을 지원하는 사용자 단말. - 제1항에 있어서,
상기 제어부는
상기 웹 페이지를 파싱하여 분석한 결과, 상기 웹 페이지가 하나 이상의 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하고 있지 않을 경우, 상기 웹 서비스 장치로부터 수신된 상기 웹 페이지가 상기 표시부를 통해 표시되도록 제어하는 것을 특징으로 하는 웹 브라우징을 지원하는 사용자 단말. - 제1항에 있어서,
상기 페이지 렌더링 영역은 메뉴 페이지 영역, 컨텐츠 페이지 영역, 팝업 페이지 영역 중 적어도 어느 하나의 영역을 포함하여 구성되는 것을 특징으로 하는 웹 브라우징을 지원하는 사용자 단말. - 제5항에 있어서,
상기 제어부는
각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지에 대한 태그 정보를 분석하여, 메뉴 페이지에 대한 태그 정보를 포함하는 경우, 해당되는 웹 페이지가 상기 메뉴 페이지 영역을 통해 표시되도록 제어하는 것을 특징으로 하는 웹 브라우징을 지원하는 사용자 단말. - 제5항에 있어서,
상기 제어부는
각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지에 대한 태그 정보를 분석하여, 컨텐츠 페이지에 대한 태그 정보를 포함하는 경우, 해당되는 웹 페이지가 상기 컨텐츠 페이지 영역을 통해 표시되도록 제어하는 것을 특징으로 하는 웹 브라우징을 지원하는 사용자 단말. - 제5에 있어서,
상기 제어부는
각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지에 대한 태그 정보를 분석하여, 팝업 페이지에 대한 태그 정보를 포함하는 경우, 해당되는 웹 페이지가 상기 팝업 페이지 영역을 통해 표시되도록 제어하는 것을 특징으로 하는 웹 브라우징을 지원하는 사용자 단말. - 제5항에 있어서,
상기 제어부는
상기 메뉴 페이지 영역, 상기 컨텐츠 페이지 영역, 상기 팝업 페이지 영역 중 어느 하나의 영역에서 이벤트 정보가 발생되면, 상기 이벤트 정보에 대응하는 웹 페이지가 해당 영역에서 출력되도록 제어하는 것을 특징으로 하는 웹 브라우징을 지원하는 사용자 단말. - 제5항에 있어서,
상기 제어부는
상기 메뉴 페이지 영역, 상기 컨텐츠 페이지 영역, 상기 팝업 페이지 영역 중 어느 하나의 영역에서 다른 영역으로의 드래그 앤 드롭(drag & drop) 이벤트 정보가 발생되면, 상기 다른 영역에서 상기 이벤트 정보에 대응하는 결과가 처리되도록 제어하는 것을 특징으로 하는 웹 브라우징을 지원하는 사용자 단말. - 제1항에 있어서,
상기 제어부는
상기 웹 서비스 장치로부터 수신된 웹 페이지를 표시하고 있는 중에, 사용자로부터 새 창 활성화를 위한 이벤트 정보가 수신되면, 상기 페이지 렌더링 영역을 분할하여 표시되도록 제어하는 것을 특징으로 하는 웹 브라우징을 지원하는 사용자 단말. - 사용자 단말이 어느 하나의 웹 서비스 장치로부터 웹 페이지를 수신하는 단계;
상기 사용자 단말이 수신된 상기 웹 페이지를 파싱(parsing)하여 분석하는 단계;
상기 사용자 단말이 분석된 상기 웹 페이지가 하나 이상의 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 지 여부를 판단하는 단계;
상기 판단 결과, 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 경우, 상기 사용자 단말이 각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지별로 페이지 렌더링 영역을 지정하여 통합 웹 페이지를 생성하는 단계; 및
상기 사용자 단말이 상기 통합 웹 페이지를 표시하는 단계;
를 포함하는 것을 특징으로 하는 웹 브라우징 방법. - 제12항에 있어서,
상기 웹 페이지를 수신하는 단계 이전에,
상기 사용자 단말이 상기 웹 서비스 장치로 상기 웹 페이지를 요청하는 단계;
를 더 포함하는 것을 특징으로 하는 웹 브라우징 방법. - 제12항에 있어서,
상기 통합 웹 페이지를 생성하는 단계는
상기 판단 결과, 다른 웹 서비스 장치가 제공하는 웹 페이지에 대한 링크 정보를 포함하는 경우, 상기 사용자 단말이 각각의 웹 서비스 장치가 제공하는 각각의 웹 페이지에 대한 태그 정보를 분석하는 단계;
상기 사용자 단말이 상기 태그 정보를 기초로 상기 각각의 웹 페이지별로 페이지 렌더링 영역을 지정하는 단계; 및
상기 사용자 단말이 통합 웹 페이지를 생성하는 단계;
를 포함하는 것을 특징으로 하는 웹 브라우징 방법. - 제12항에 있어서,
상기 페이지 렌더링 영역은 메뉴 페이지 영역, 컨텐츠 페이지 영역, 팝업 페이지 영역 중 어느 하나의 영역을 포함하는 것을 특징으로 하는 웹 브라우징 방법. - 제15항에 있어서,
상기 통합 웹 페이지를 표시하는 단계 이후에,
상기 사용자 단말이 상기 메뉴 페이지 영역, 상기 컨텐츠 페이지 영역, 상기 팝업 페이지 영역 중 어느 하나의 영역에서 이벤트 정보가 발생되는 지 여부를 판단하는 단계; 및
상기 판단 결과, 어느 하나의 영역에서 이벤트 정보가 발생되면, 상기 사용자 단말이 상기 이벤트 정보에 대응하는 웹 페이지가 해당 영역에서 출력되도록 제어하는 단계;
를 더 포함하는 것을 특징으로 하는 웹 브라우징 방법. - 제15항에 있어서,
상기 통합 웹 페이지를 표시하는 단계 이후에,
상기 사용자 단말이 상기 메뉴 페이지 영역, 상기 컨텐츠 페이지 영역, 상기 팝업 페이지 영역 중 어느 하나의 영역에서 다른 영역으로의 드래그 앤 드롭(drag & drop) 이벤트 정보가 발생되는 지 여부를 판단하는 단계; 및
상기 판단 결과, 어느 하나의 영역에서 다른 영역으로의 드래그 앤 드롭 이벤트 정보가 발생되면, 상기 사용자 단말이 상기 다른 영역에서 상기 이벤트 정보에 대응하는 결과가 처리되도록 제어하는 단계;
를 더 포함하는 것을 특징으로 하는 웹 브라우징 방법. - 제12항 내지 제17항 중 적어도 한 항에 기재된 웹 브라우징 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130058370A KR20140137633A (ko) | 2013-05-23 | 2013-05-23 | 웹 브라우징 방법 및 이를 지원하는 사용자 단말 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130058370A KR20140137633A (ko) | 2013-05-23 | 2013-05-23 | 웹 브라우징 방법 및 이를 지원하는 사용자 단말 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140137633A true KR20140137633A (ko) | 2014-12-03 |
Family
ID=52457358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20130058370A KR20140137633A (ko) | 2013-05-23 | 2013-05-23 | 웹 브라우징 방법 및 이를 지원하는 사용자 단말 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20140137633A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10444948B2 (en) | 2015-12-15 | 2019-10-15 | Naver Corporation | Apparatus, method and computer program for displaying web pages |
JP2021092777A (ja) * | 2019-12-10 | 2021-06-17 | ネイバー コーポレーションNAVER Corporation | デュアルスクリーンでコンテンツの重複を排除する方法、システム、およびコンピュータプログラム |
-
2013
- 2013-05-23 KR KR20130058370A patent/KR20140137633A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10444948B2 (en) | 2015-12-15 | 2019-10-15 | Naver Corporation | Apparatus, method and computer program for displaying web pages |
JP2021092777A (ja) * | 2019-12-10 | 2021-06-17 | ネイバー コーポレーションNAVER Corporation | デュアルスクリーンでコンテンツの重複を排除する方法、システム、およびコンピュータプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102436987B1 (ko) | 웹페이지 콘텐츠를 추출하기 위한 방법 및 단말 장치 | |
US20200089719A1 (en) | Rule and filter-based deeplinking between applications | |
EP2732380B1 (en) | Mobile web browser for pre-loading web pages | |
AU2012370492B2 (en) | Graphical overlay related to data mining and analytics | |
US9875284B1 (en) | Displaying search completion results | |
US9104774B2 (en) | Consistent web application presentation | |
EP2840802A1 (en) | Method and apparatus for sharing media content and method and apparatus for displaying media content | |
CN111279300B (zh) | 在多显示器环境中提供丰富的电子阅读体验 | |
US20140047359A1 (en) | Mechanism for adding new search modes to user agent | |
WO2013085595A1 (en) | Selective image loading in mobile browsers | |
CN106462911B (zh) | 提供云流服务的方法及其装置和系统 | |
KR101946022B1 (ko) | 댓글을 분석하고 표시할 수 있는 방법 및 이를 위한 장치 | |
JP5668180B1 (ja) | 情報処理装置 | |
US10747755B2 (en) | Method for providing immediate result for user input, and apparatus therefor | |
KR102179768B1 (ko) | 3차원 캐릭터에 기반하여 정보를 제공하는 전자 장치 및 방법 | |
KR101781939B1 (ko) | 댓글을 분석하고 표시할 수 있는 방법, 이를 위한 장치 및 시스템 | |
KR20150001872A (ko) | 컨텐츠 제공 서비스 시스템 및 그 시스템에서의 컨텐츠 검색 결과 표시 장치 및 방법, 이를 위한 프로그램을 기록한 기록 매체 | |
WO2013106424A1 (en) | Method and apparatus for displaying suggestions to a user of a software application | |
KR20140137633A (ko) | 웹 브라우징 방법 및 이를 지원하는 사용자 단말 | |
US20170083481A1 (en) | Method and apparatus for rendering a screen-representation of an electronic document | |
US9537894B1 (en) | Ephemeral user account system | |
US11762537B1 (en) | Tabbed user interface | |
US20160147741A1 (en) | Techniques for providing a user interface incorporating sign language | |
US20120054313A1 (en) | Interpreting web application content | |
WO2013177770A1 (en) | Browser-driven content provisioning for webpages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |