[go: up one dir, main page]

KR20020096519A - System for collecting information based on internet - Google Patents

System for collecting information based on internet Download PDF

Info

Publication number
KR20020096519A
KR20020096519A KR1020010035079A KR20010035079A KR20020096519A KR 20020096519 A KR20020096519 A KR 20020096519A KR 1020010035079 A KR1020010035079 A KR 1020010035079A KR 20010035079 A KR20010035079 A KR 20010035079A KR 20020096519 A KR20020096519 A KR 20020096519A
Authority
KR
South Korea
Prior art keywords
item
information
html
user
node
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020010035079A
Other languages
Korean (ko)
Other versions
KR100446209B1 (en
Inventor
공훈의
Original Assignee
주식회사 머니투데이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 머니투데이 filed Critical 주식회사 머니투데이
Priority to KR10-2001-0035079A priority Critical patent/KR100446209B1/en
Publication of KR20020096519A publication Critical patent/KR20020096519A/en
Application granted granted Critical
Publication of KR100446209B1 publication Critical patent/KR100446209B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

각각의 클라이언트들에게 제공되는 정보수집 에이전트를 통하여 정보제공서버의 웹페이지로부터 사용자가 원하는 정보를 지시하는 HTML 엘리먼트를 아이템으로 지정하면, 이 아이템들의 내용을 사용자에게 일괄적으로 보여주고, 동시에 일반 웹브라우저 기능을 수행하며, 지정된 아이템들의 내용을 지속적으로 갱신해줌과 동시에 아이템의 갱신된 내용들을 계속 저장한다. 더욱이, 관리서버는 사용자가 지정한 아이템 정보들을 인터넷을 통해 수집하고, 이 정보들을 데이터베이스를 통해 유지/관리하며, 관리자에 의해 지정된 아이템들을 업데이트하고 이 내용을 클라이언트 정보수집 에이전트에 직접 전송시킨다.If you specify items as HTML elements that indicate the information you want from the web server of the information server through the information gathering agent provided to each client, the contents of these items are displayed to the user collectively and at the same time Performs a browser function and continuously updates the contents of the specified items, while continuously storing the updated contents of the items. Moreover, the management server collects user-specified item information via the Internet, maintains / manages this information through a database, updates items designated by the administrator, and transmits the contents directly to the client information collecting agent.

따라서, 사용자에게는 인터넷의 여러 웹페이지에 중에서 자신이 원하는 정보들만을 선택하여 별도의 노력없이 지속적으로 갱신되는 내용을 총괄적으로 볼 수 있게 되는 편의성이 제공되고, 관리자에게는 사용자가 관심을 갖는 정보들에 대한 정확한 데이터를 보유하게 하여 마케팅이나 사이트 운영의 발전에 도움을 주게 한다.Therefore, the user is provided with the convenience of being able to collectively view the contents continuously updated without any effort by selecting only the information he / she wants from various web pages on the Internet, and the administrator to the information of interest to the user. Keep accurate data about your business to help you develop your marketing or site operations.

Description

인터넷 상의 정보수집 시스템{System for collecting information based on internet}System for collecting information based on internet}

본 발명은 인터넷 상의 정보수집 시스템에 관한 것으로, 보다 상세하게는 인터넷에 연결된 각각의 정보제공서버들로부터 사용자가 원하는 정보만을 선택적으로 그리고 일정주기로 갱신하여 제공하도록 한 정보수집 시스템에 관한 것이다.The present invention relates to an information collection system on the Internet, and more particularly, to an information collection system configured to selectively and update only information desired by a user from respective information providing servers connected to the Internet.

일반적으로 인터넷을 통하여 사용자가 정보를 수집하고자 하는 경우에는 해당정보를 제공하는 서버에 접속하여 검색을 통하여 해당정보를 얻는다. 가령, 데이 트레이딩(day trading)을 주로 하는 사용자는 각종 언론매체가 운영하는 뉴스 서비스 사이트를 주기적으로 방문하여 헤드라인 기사나 스폿뉴스 등을 수시로 확인하는 것이 필수적이다. 그러나, 이러한 정보수집을 몇 분이나 몇 초 단위로 반복하여 수행한다는 것은 상당히 곤란하며, 정보수집의 대상 사이트가 많아질수록 더욱 그러하다. 더욱이, 이러한 작업이 동시에 이루어져야 하는 경우에는 실제적으로 불가능하다.In general, when a user wants to collect information through the Internet, the user accesses a server providing the information and obtains the information through a search. For example, a user who mainly deals with day trading regularly visits news service sites operated by various media to check headline articles and spot news. However, it is quite difficult to repeat such information collection every few minutes or seconds, and the more the information site for the information collection, the more. Moreover, it is practically impossible if such work must be done at the same time.

따라서, 사용자가 관심을 갖는 정보만을 선택적으로 인터넷에 연결된 다수의 정보제공서버들로부터 동시에 실시간으로 얻을 수 있게 해주고, 지속적으로 일정 시간단위로 갱신해주는 기능을 제공하는 것이 사용자 편의를 위해 필요하게 되었다.Therefore, it is necessary for the user's convenience to provide only the information of interest to users in real time from a plurality of information providing servers connected to the Internet at the same time, and to continuously update by a predetermined time unit.

그러나, 이러한 기능을 구현하기 위해서는 몇 가지의 전제조건이 선결되어야 한다.However, some prerequisites must be made in order to implement these functions.

첫째, 사용자가 얻고자 하는 정보에 대응하는 정보제공서버내의 아이템이 어떤 것인지, 또한 해당 아이템의 갱신여부를 체크하기 위해 어느 정도의 주기가 필요한지 등을 쉽게 설정할 수 있는 사용자 인터페이스가 제공되어야 한다.First, a user interface that can easily set which items in the information providing server corresponding to the information the user wants to obtain, and how many cycles are required to check whether the corresponding items are updated should be provided.

둘째, 정보제공서버의 웹페이지는 HTML 언어로 이루어져 있고 HTML은 엘리먼트(element; 태그)를 노드(node)로 하는 다중 트리의 구조를 갖는데, 사용자가 지정한 아이템에 대해 다중 트리 내에서의 위치를 기억시키고 찾아내는 알고리즘이 필요하다. 즉, 계속적으로 HTML의 내용이 갱신되는 웹페이지의 경우, 이 다중 트리의 형태가 바뀔 수 있기 때문이다. 예를 들어, 한 그루의 나무의 특정 나뭇가지에 있는 한 개의 특정 나뭇잎을 찾기 위해서는 뿌리에서 시작해 그 나뭇잎까지 이르는 모든 가지들의 특징과 경로를 제대로 기억해야 다른 가지들의 변형이나 추가 또는 삭제와 관계없이 찾아낼 수 있다.Second, the web page of the information providing server is composed of HTML language, and HTML has a structure of multiple trees with elements (nodes) as nodes, and remembers the position in the multiple trees for the items specified by the user. We need an algorithm to make and find. That is, in the case of a web page where the content of HTML is continuously updated, the shape of this multi-tree may change. For example, to find a particular leaf on a specific branch of a tree, remember the features and paths of all the branches from the root to the leaf, regardless of the deformation, addition or deletion of the other branches. I can make it.

셋째, 다수의 정보제공서버들의 웹페이지를 동시에 분석하기 위해서는 HTML 문서를 빠르게 다중 트리로 만들고 각 노드에 접근할 수 있게 하는 알고리즘이 필요하다. 즉, 태그로 이루어진 일반 HTML 문서를 프로그램적으로 접근할 수 있도록 각 태그를 노드를 기준으로 하는 다중 트리 형태를 만들고, 각 노드의 특성과 내용을 원래의 HTML 문서의 문법에 관계없이 알 수 있게 하거나 변경, 추가시킬 수 있게 해주는 Document Object Model(DOM)이 있는데, 대부분의 DOM들은 웹브라우저 상에서의 HTML 출력과 사용자 인터페이스 위주로 디자인되어 많은 기능을 대비하느라 다중 트리를 생성하는데 비교적 많은 시간이 소요된다.Third, in order to analyze web pages of multiple information providing servers at the same time, an algorithm is needed to quickly make HTML documents into multiple trees and access each node. In other words, create a multi-tree form where each tag is based on nodes so that you can programmatically access the general HTML document consisting of tags, and make it possible to know the characteristics and contents of each node regardless of the grammar of the original HTML document. There is a Document Object Model (DOM) that allows you to make changes and additions. Most of the DOM is designed around HTML output and a user interface on a web browser, and it takes a relatively long time to create multiple trees for many functions.

넷째, 사용자가 지정한 아이템들의 정보를 계속적으로 갱신해 주는 프로세스와 갱신되는 정보들을 보존하여 일정 시점부터 현재까지의 모든 내용을 일괄적으로 파악할 수 있게 하는 저장기능이 요구된다.Fourth, there is a need for a process of continuously updating information of items designated by a user, and a storage function for preserving updated information so that all contents from a predetermined time point to the present can be collectively understood.

한편, 인터넷 사용자들의 성향과 관심 분야를 알아내고 분석하는 것은 회사 운영에 있어서 반드시 필요한 것이지만, 실제로 상당히 어렵고 많은 비용을 필요로 한다.On the other hand, identifying and analyzing Internet users' dispositions and areas of interest is essential to company operations, but it is actually quite difficult and expensive.

그러나, 상기한 바와 같은 기능을 사용자에게 제공하고, 사용자별로 설정된 관심 아이템에 관한 데이터를 제공받는다면, 이 데이터를 기반으로 사용자별 성향이나 관심분야를 적은 비용으로 효율적으로 분석할 수 있으며, 실제 오차율이 적은 양질의 결과를 얻을 수 있다.However, if the user is provided with the functions described above, and receives data on the item of interest set by the user, the user's propensity or interests can be analyzed efficiently and at a low cost based on the data, and the actual error rate. This lower quality result can be obtained.

더욱이, 상기한 기능이 전적으로 클라이언트측에서 수행된다면, 인터넷 접속속도나 컴퓨터 처리속도 등의 사용자의 인터넷 인프라에 따라 기능의 제약을 받을 가능이 많아지므로, 사용자별 관심 아이템에 대한 데이터를 제공받아 서버 시스템을 통하여 정보를 수집하여 해당 사용자에게 전송함으로서 사용자는 자신의 인터넷 환경을 넘어서는 양질의 정보를 제공받을 수 있다.Moreover, if the above functions are performed entirely on the client side, the functions are more likely to be restricted by the user's Internet infrastructure such as Internet connection speed or computer processing speed. By collecting information through the user and transmitting the information to the user, the user can be provided with high quality information beyond his or her Internet environment.

본 발명의 목적은 인터넷을 통하여 연결된 다수의 정보제공서버들로부터 사용자가 관심을 갖는 정보만을 선택적으로 동시에 얻을 수 있게 해주고, 지속적으로 일정 시간단위로 갱신해주는 정보수집시스템을 제공하는데 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide an information collection system that allows a user to selectively and simultaneously obtain only information of interest from a plurality of information providing servers connected through the Internet, and continuously updates the data by a predetermined time unit.

본 발명의 다른 목적은 사용자 자신들이 설정하여 수집하는 아이템에 관한데이터를 제공받아 이 데이터를 기반으로 사용자별 성향이나 관심분야를 적은 비용으로 효율적으로 분석함으로서 오차율이 적은 양질의 결과를 얻음과 동시에 사용자를 대신하여 정보를 수집하여 제공하는 정보수집시스템을 제공하는 있다.Another object of the present invention is to receive data on items collected and set by the users themselves, and to efficiently analyze the propensity and interest of each user based on the data at a low cost, thereby obtaining a high quality result with low error rate. Instead, it provides an information collection system that collects and provides information.

본 발명의 다른 목적들과 특징들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.Other objects and features of the present invention will become more apparent through the preferred embodiments described below.

도 1은 본 발명이 적용되는 인터넷 구성도이고,1 is a block diagram of the Internet to which the present invention is applied;

도 2는 본 발명에 따른 클라이언트 정보수집 에이전트의 구성을 나타내는 블록도이고,2 is a block diagram showing the configuration of a client information gathering agent according to the present invention;

도 3은 본 발명의 서버 시스템의 구성을 나타내는 블록도이고,3 is a block diagram showing the configuration of a server system of the present invention;

도 4는 정보제공서버의 웹페이지로부터 HTML 엘리먼트를 지정하는 과정을 설명하고,4 illustrates a process of specifying an HTML element from a web page of an information providing server,

도 5는 도 4로부터 지정된 엘리먼트를 아이템으로 브라우징하는 것을 보여주며,FIG. 5 illustrates browsing the item specified from FIG. 4 as an item, FIG.

도 6은 본 발명에 따라 아이템 생성모듈에 의해 아이템이 생성되는 과정을 설명하는 플로우챠트이고,6 is a flowchart illustrating a process of generating an item by the item generating module according to the present invention;

도 7은 특정 웹페이지의 HTML 문서의 트리 구조를 설명하는 블록도이고,7 is a block diagram illustrating a tree structure of an HTML document of a specific web page.

도 8은 본 발명에 따른 클라이언트로부터의 정보수집방법을 나타내는 플로우챠트이다.8 is a flowchart showing a method for collecting information from a client according to the present invention.

본 발명에 일측면에 따르면, 다수의 클라이언트들과, 이 클라이언트를 회원으로 등록하여 관리하는 관리서버와, 다수의 정보제공서버들이 인터넷을 통하여 상호 연결되고, 클라이언트들 각각에는 사용자가 필요로 하는 정보만을 정보제공서버들로부터 선택적, 주기적으로 수집하기 위한 정보수집 에이전트가 내장되며, 정보수집 에이전트는 일반 웹브라우저 기능을 수행함과 동시에 정보제공서버의 웹페이지의 단위정보인 HTML 엘리먼트를 사용자가 지정하도록 하고, HTML 문서에 대해 다중 트리 형태의 DOM(Document Object Model) 메커니즘에 접근할 수 있는 기능을 제공하며, 사용자가 지정한 엘리먼트에 대응하는 아이템들의 내용을 보여주는 웹브라우저 제어모듈과, HTML 문서의 다중 트리 구조를 빠르고 효율적으로 생성해주는 HTML 트리 생성모듈과, 사용자가 지정한 엘리먼트를 하나의 아이템으로 만들어주는 아이템 생성모듈과, 하나의 아이템이 HTML 트리 생성모듈에 의해 만들어진 다중 트리에서 유효한 값을 지니는지 검사하는 아이템 검사모듈과, 아이템이 가리키는 엘리먼트의 내용이 갱신될 때, 갱신된 내용들을 데이터베이스에 계속적으로 보관하는아이템 저장모듈 및 아이템 리스트를 가지고 리스트에서 아이템을 추가 또는 삭제하고, 타이머를 통해 검사될 아이템의 HTML을 인터넷을 통해 다운로드하며, 아이템 리스트의 저장과 로드, 관리서버로의 전송, 사용자에게 보여줄 내용의 제작을 관리하는 클라이언트 아이템 매니저를 포함하는 인터넷 상의 정보수집 시스템이 개시된다.According to one aspect of the present invention, a plurality of clients, a management server that registers and manages the clients as members, and a plurality of information providing servers are interconnected via the Internet, and each of the clients needs information required by the user. An information collection agent is built in to collect only periodically from the information providing servers. The information collection agent performs a general web browser function and allows the user to specify HTML elements, which are the unit information of the web page of the information providing server. It provides the ability to access the multi-tree DOM (Document Object Model) mechanism for HTML documents, the web browser control module that shows the contents of items corresponding to user-specified elements, and the multi-tree structure of HTML documents. HTML tree generation module for quickly and efficiently An item generating module that makes a specified element a single item, an item checking module that checks whether an item has a valid value in multiple trees created by the HTML tree generating module, and when the contents of the element pointed to by the item is updated With the item storage module and item list, which keeps updated contents in the database, add or remove items from the list, download the HTML of the item to be checked through the timer through the internet, save and load the item list, Disclosed is an information gathering system on the Internet including a client item manager for managing transmission to a management server and production of content to be shown to a user.

바람직하게, 관리서버는 인터넷을 통하여 상기 클라이언트 정보수집 에이전트와의 직접적인 정보 입출력을 담당하는 네트워크 입출력 제어모듈과, 클라이언트들로부터 전송된 아이템 정보를 DB 서버에 저장하는 서버 아이템 저장모듈과, HTML 문서의 다중 트리 구조를 빠르고 효율적으로 생성해주는 서버 HTML 트리 생성모듈과, 하나의 아이템이 서버 HTML 트리 생성모듈에 의해 만들어진 다중 트리에서 유효한 값을 지니는지 검사하는 아이템 검사모듈 및 관리서버가 직접 검사해야 할 아이템들의 리스트를 가지고 이 중에서 검사가 이루어져야 할 아이템의 HTML 문서를 인터넷을 통해 다운로드하며 클라이언트로 전송될 내용의 제작 등을 관리하는 서버 아이템 매니저를 포함한다.Preferably, the management server is a network input and output control module for direct information input and output with the client information gathering agent through the Internet, a server item storage module for storing the item information transmitted from the client to the DB server, and the HTML document of Server HTML tree generation module that generates multi-tree structure quickly and efficiently, and item checking module and management server to check whether one item has valid value in multiple tree created by server HTML tree generation module. It includes a server item manager that takes a list of files, downloads an HTML document of items to be inspected from the Internet, and manages production of content to be sent to a client.

본 발명의 아이템에는 해당 웹페이지내의 위치정보, 대응하는 엘리먼트가 지정된 웹페이지의 URL, 엘리먼트의 텍스트 및 아이템의 조회주기가 저장된다.The item of the present invention stores the location information in the web page, the URL of the web page to which the corresponding element is assigned, the text of the element and the inquiry period of the item.

바람직하게, 아이템의 위치정보는 아이템의 HTML 엘리먼트에 대응하는 노드로부터 해당 웹페이지의 트리구조의 최상위 노드까지 노드 특징과 부모노드와의 관계에 대한 정보를 포함한다.Preferably, the location information of the item includes information on the relationship between the node feature and the parent node from the node corresponding to the HTML element of the item to the top node of the tree structure of the web page.

본 발명의 다른 측면에 따르면, 다수의 클라이언트들과, 클라이언트를 회원으로 등록하여 관리하는 관리서버와, 다수의 정보제공서버들이 인터넷을 통하여 상호 연결되고, 클라이언트들 각각에는 사용자가 필요로 하는 정보만을 정보제공서버들로부터 선택적, 주기적으로 수집하기 위한 정보수집 에이전트가 내장되는 인터넷 상의 정보수집 시스템에 적용되며, 사용자가 상기 정보제공서버의 특정 웹페이지에서 선택된 HTML 엘리먼트를 아이템으로 지정하는 단계, 정보수집 에이전트의 HTML 트리 생성모듈을 통해 해당 웹페이지의 트리 구조를 생성하는 단계, 사용자에 의해 지정된 HTML 엘리먼트의 정보를 동적 HTML 객체모델을 통해 얻은 후, 이 HTML 엘리먼트에 일치되는 목표 엘리먼트 노드를 생성된 트리 구조에서 찾는 단계, 일치된 노드로부터 트리 구조의 최상위 노드까지 해당노드 특징과 부모노드와의 관계에 대한 정보를 아이템에 저장하는 단계 및 HTML 엘리먼트가 지정된 웹페이지의 URL, 엘리먼트의 텍스트, 아이템의 조회주기를 아이템에 저장하는 단계를 포함하는 인터넷 상의 정보수집 방법이 개시된다.According to another aspect of the present invention, a plurality of clients, a management server that registers and manages clients as members, and a plurality of information providing servers are interconnected through the Internet, and each of the clients has only information required by the user. Applied to an information gathering system on the Internet in which an information gathering agent for collecting information periodically and periodically from the information providing servers is embedded, and a user designates an HTML element selected from a specific web page of the information providing server as an item. Generating the tree structure of the web page through the agent's HTML tree generation module, obtaining the information of the HTML element specified by the user through the dynamic HTML object model, and then creating the target element node corresponding to the HTML element. Steps found in the structure, tree constructs from matched nodes Storing information about the feature of the node and its relationship with the parent node up to the top node of the item; and storing the URL of the web page to which the HTML element is assigned, the text of the element, and the lookup period of the item in the item. Disclosed is a method of collecting information on an image.

또한, 클라이언트의 아이템 정보를 관리서버에 전송하여 관리서버로부터 정보를 받게되는 아이템들을 구별하는 단계, 클라이언트에 검사할 아이템이 존재하는지를 판단하고, 존재하는 경우 해당 아이템에 지정된 URL의 HTML 스트링을 인터넷을 통해 다운로드받고, HTML 트리 생성모듈을 통해 다운로드받은 HTML의 트리 구조를 생성한 후, 정보수집 에이전트의 아이템 검사 모듈로 아이템이 유효한지를 확인하는 단계, 엘리먼트가 무효화되었는지를 판단하여, 무효화되었으면 이를 사용자에게 출력하여 통보하고, 무효화되지 않았으면 변경되었는지를 판단하여, 변경되었으면, 갱신된 아이템 내용을 사용자에게 출력하는 단계 및 관리서버로부터 받은 아이템 정보가 있는지를 판단하여, 아이템 정보가 있으면, 해당 아이템의 갱신된 내용을 사용자에게 출력하는 단계를 더 포함할 수 있다.In addition, by transmitting the item information of the client to the management server to distinguish the items to receive information from the management server, to determine whether there is an item to be inspected in the client, if present, the HTML string of the URL specified in the item to the Internet After downloading through the HTML tree generation module and generating the tree structure of the downloaded HTML, checking the item validity with the item inspection module of the information collecting agent, and determining whether the element is invalidated, Outputting and notifying, and if it is not invalidated, determines whether it has been changed, and if it is changed, outputting the updated item contents to the user and determining whether there is item information received from the management server, and if there is item information, updating the corresponding item. Printed content to the user It may further comprise the step.

본 발명을 설명하는데 있어, 사용되는 용어에 대해서 미리 정의하면, 다음과 같다.In describing the present invention, terms used in advance are defined as follows.

사용자가 웹브라우저 상의 하나의 웹페이지에서 특정 아이템을 지정한다는 표현에 있어서 아이템(item), HTML 문서에서의 태그(Tag), DOM 메커니즘에서의 엘리먼트(element), 다중 트리에서의 노드(node), 아래에 설명될 HTML 트리 생성모듈에서의 엘리먼트노드(element node) 등은 모두 약간씩 다르지만 대체적으로 동일한 의미를 갖는다.In the expression that a user specifies a particular item in a web page on a web browser, an item, a tag in an HTML document, an element in a DOM mechanism, a node in multiple trees, The element nodes and the like in the HTML tree generation module described below are all slightly different but generally have the same meaning.

또한, 도 4에 도시된 바와 같이, 사용자가 특정 웹페이지중의 엘리먼트(30)를 선택하여 도 5에 도시된 바와 같이, 자신의 아이템(50)으로 지정한다는 것은 해당 정보에 대해 지속적으로 갱신되는 정보를 제공받는다는 것을 의미한다.In addition, as shown in Figure 4, the user selects the element 30 in a particular web page, as shown in Figure 5, as shown in his item 50, is continuously updated for that information It means that you are informed.

즉, 본 발명에서 사용되는 아이템이란 사용자가 원하는 정보가 포함되어 있는 객체를 뜻하는데, 엘리먼트 자체에 대한 정보나 해당 웹페이지의 다중 트리안에서의 엘리먼트의 위치정보 등이 들어 있다.That is, the item used in the present invention refers to an object including information desired by a user, and includes information about an element itself or position information of an element in a multi-tree of a corresponding web page.

도 1은 본 발명이 적용되는 인터넷 구성도를 나타내고 있다.1 shows an internet configuration to which the present invention is applied.

다수의 클라이언트들(100)은 본 발명에 따른 정보수집 에이전트(150)를 내장하면 인터넷(200)을 통하여 각각의 정보제공서버들(300)과 정보수집 에이전트를 제공하며 DB서버(450)가 연결된 관리서버(400)에 연결된다.When the plurality of clients 100 includes the information collecting agent 150 according to the present invention, each of the information providing servers 300 and the information collecting agent are provided through the Internet 200 and the DB server 450 is connected. It is connected to the management server 400.

클라이언트(100)는 일반적인 웹브라우징이 가능한 컴퓨터 시스템이나 개인용휴대단말장치를 포함할 수 있다. 사용자는 관리서버(400)에 회원으로 등록되어 정보수집 에이전트를 제공받거나 다른 서비스를 제공받을 수 있다.The client 100 may include a computer system or a personal portable terminal device capable of general web browsing. The user may be registered as a member of the management server 400 to receive an information gathering agent or to provide other services.

정보수집 에이전트(150)는 윈도우즈를 OS로 하는 일반 인터넷 사용자를 위한 프로그램이거나 무선 PDA나 IMT-2000 단말장치에 적용되는 OS 기반의 프로그램일 수 있다.The information gathering agent 150 may be a program for a general Internet user who uses Windows as an OS or an OS-based program applied to a wireless PDA or an IMT-2000 terminal device.

도 2를 참조하면, 본 발명에 따른 클라이언트 정보수집 에이전트를 보여주는 블록도가 도시되어 있다.2, a block diagram illustrating a client information gathering agent in accordance with the present invention is shown.

도시된 바와 같이, 본 발명에 따른 클라이언트 정보수집 에이전트는 일반 웹브라우저 기능을 수행함과 동시에 정보제공서버의 웹페이지에서 엘리먼트를 지정하고 HTML 문서에 대해 다중 트리형태의 DOM 메커니즘에 접근할 수 있는 기능을 제공할 수 있으며, 사용자가 지정한 아이템들의 내용을 보여주는 웹브라우저 제어모듈As shown, the client information collection agent according to the present invention performs a general web browser function and at the same time provides the ability to specify elements in the web page of the information providing server and to access the multi- DOM type DOM mechanism for HTML documents. Web browser control module that can provide the contents of the items specified by the user.

(153)과, HTML문서의 다중 트리 구조를 빠르고 효율적으로 생성해주는 HTML 트리 생성모듈(155)과, 사용자가 지정한 엘리먼트(30)를 하나의 아이템(50)으로 만들어주는 아이템 생성모듈(156), 하나의 아이템(50)이 HTML 트리 생성모듈(155)에 의해 만들어진 다중 트리에서 유효한 값을 지니는지 검사하는 아이템 검사모듈(154)과, 아이템이 가리키는 엘리먼트의 내용이 갱신될 때, 이 갱신된 내용들을 데이터베이스(160)에 계속적으로 보관하는 아이템 저장모듈(157) 및 아이템 리스트를 가지고 리스트에서 아이템을 추가 또는 삭제하며, 타이머를 통해 검사될 아이템의 HTML을 인터넷을 통해 다운로드하며, 아이템 리스트의 저장과 로드, 관리서버(400)로의 전송, 사용자에게 보여줄 내용의 제작 등을 관리하는 클라이언트 아이템 매니저(152)를 포함한다.153, an HTML tree generation module 155 for quickly and efficiently generating a multi-tree structure of an HTML document, an item generation module 156 for making a user-specified element 30 into one item 50, The item checking module 154 that checks whether one item 50 has a valid value in the multiple trees created by the HTML tree generating module 155, and the updated content when the content of the element pointed to by the item is updated. Add or delete items from the list with the item storage module 157 and the item list to keep them in the database 160, and download the HTML of the item to be checked through the timer over the Internet, The client item manager 152 manages load, transfer to the management server 400, production of content to be shown to the user.

웹브라우저 제어모듈(153)은 두 개의 구성요소로 이루어지는데, 하나는 웨브라우저 컨트롤(WebBrowser Control)과 HTML 컴포넌트를 포함한다.The web browser control module 153 includes two components, one of which includes a web browser control and an HTML component.

웹브라우저 컨트롤러는 사용자에게 정보를 직접 표현해주고 사용자의 요구를 마우스나 키보드를 통해 받아들일 수 있는 인터페이스를 기본적으로 제공하는 기능을 한다.The web browser controller functions to present information directly to the user and basically provide an interface for accepting the user's request through a mouse or keyboard.

하나의 어플리케이션이 기본적으로 웹서핑을 할 수 있게 하려면 HTML문서로 되어 있는 것을 사용자가 시각적으로 이해할 수 있게 표현해 주고 사용자가 원하는 URL을 지정할 수 있게 해주는 인터넷 익스플로러나 넷스케이프와 같은 웹브라우저가 필요하다. 본 발명에서는 필수적인 웹브라우저의 기능을 제공하기 위해 마이크로 소프트사의 윈도우에 기본적으로 제공되는 액티브X 컨트롤(ActiveX control) 중 하나인 웹브라우저 컨트롤을 사용한다.To enable one application to surf the web by default, you need a web browser such as Internet Explorer or Netscape, which allows the user to visually understand what the HTML document is and allow you to specify the URL you want. In the present invention, the web browser control, which is one of the ActiveX controls provided by default in Microsoft's windows, is used to provide essential web browser functions.

인터넷 익스플로러와 같은 브라우저를 실행했을 때, 메뉴나 툴바를 제외한 웹문서를 보여주는 윈도우 부분이 바로 웹브라우저 컨트롤이다. 실제 인터넷 익스플로러를 작동시키면 Iexplore.exe라는 아주 작은 프로그램이 실행되어 대부분의 기능을 담당하는 웹브라우저 컨트롤을 불러오고 대부분의 기능은 웹브라우저에 의해 제어된다. 즉, 웹브라우저 컨트롤을 사용한다는 것은 인터넷 익스플로러와 같은 브라우저에서 나타나는 대부분의 기능이 가능하다는 것을 의미하며, 이것이 본 발명에서 웹브라우저 컨트롤을 사용하는 이유이다.When you run a browser, such as Internet Explorer, the web browser control is the part of the window that displays the web document except the menu or toolbar. In fact, when you run Internet Explorer, a very small program called Iexplore.exe is launched, which invokes the web browser control for most functions, and most of the functions are controlled by the web browser. In other words, using the web browser control means that most of the functions appearing in a browser such as Internet Explorer are possible, which is why the web browser control is used in the present invention.

웹브라우저 컨트롤은 기본적인 웹브라우저의 기능외에 HTML 문서가 로드될때 발생되는 이벤트들을 처리할 수 있는 기능을 제공하는데 이 기능의 변형을 통해 웹서핑시의 변형된 기능을 추가할 수도 있다.In addition to the basic web browser functionality, the web browser control also provides the ability to handle events that occur when an HTML document is loaded.

HTML 컴포넌트는 마이크로 소프트사에서 제공하는 인터넷 기술의 가장 기본이 되는 컴포넌트중 하나로 웹브라우저 액티브X 컨트롤에 의해 자동적으로 호스팅될 수도 있고, Active Document server interfaces를 구축해 놓았기 때문에 일반적인 통신 인터페이스를 통해 호스팅되어 사용될 수 있는데 본 발명에서는 정보수집 에이전트에 포함된다.The HTML component is one of the most basic components of Microsoft's Internet technology. It can be hosted automatically by the web browser ActiveX control, or it can be hosted through a common communication interface because it has Active Document server interfaces. In the present invention, the information collection agent may be included.

HTML 컴포넌트는 액티브X 스크립트 엔진(ActiveX Script Engine), 자바 애플릿(Java Applet), 플러그-인(Plug-Ins) 등과 HTML 문서에 의해 사용될 수 있는 오브젝트들을 호스팅하여 HTML 문서의 파싱, 동적 HTML 객체 모델(Dynamic HTML Object Model)이라 불리는 Document Object Model의 구축과 인터페이스 및 웹브라우저 컨트롤로의 렌더링 루틴 등의 세 가지 기본적인 기능을 제공한다.HTML components host objects that can be used by HTML scripts such as the ActiveX Script Engine, Java Applets, Plug-Ins, etc. It provides three basic functions: building and documenting a Document Object Model (Dynamic HTML Object Model) and rendering routines into Web browser controls.

HTML 컴포넌트를 호스팅함으로서 상기한 세 가지 기능외에 추가적으로 어떤 컨트롤들을 함수형태를 통해 제공받는데 이러한 것에는 standard connection point interfaces, IDocHostUIHandler Interface, ICustomDoc Interface 등이 있다.By hosting HTML components, in addition to the above three functions, some additional controls are provided in the form of functions, including standard connection point interfaces, IDocHostUIHandler Interface, and ICustomDoc Interface.

(1) 동적 HTML 객체 모델 인터페이스(1) dynamic HTML object model interface

사용자가 웹브라우저의 웹페이지중 하나의 엘리먼트를 아이템으로 지정할 때, 지정된 엘리먼트가 구체적으로 원래의 HTML 문서중 어떤 태그에 해당하는지 알기 위해서는 동적 HTML 객체 모델과의 인터페이스를 연결해야 하고, 이를 통해 해당 엘리먼트의 태그 이름, 태그 특성, 태그에 포함된 오브젝트 및 태그에 포함된 텍스트 등의 정보를 얻거나 변형하게 된다.When a user designates an element of one of the web pages of a web browser as an item, in order to know which tag in the original HTML document specifically corresponds to the tag, the interface with the dynamic HTML object model must be connected. Information such as tag name, tag property, object included in tag, and text included in tag is obtained or modified.

(2) ICustomDoc 인터페이스(2) ICustomDoc interface

기본적으로 웹브라우저에서 하나의 엘리먼트를 핀포인트 아이템으로 지정하고자 할 때, 목적이 되는 엘리먼트를 마우스로 선택하고 웹브라우저 밖의 메뉴를 통하여 아이템으로 지정하도록 할 수도 있지만, 좀더 향상되고 편리한 형태의 사용자 인터페이스를 지원할 필요가 있는데, 이때 ICustomDoc 인터페이스를 통해 웨브라우저 컨트롤에서 사용되는 기본적인 유저 인터페이스 핸들러(UI handler)를 원하는 형태로 바꿀 수 있다.Basically, when you want to designate an element as a pinpoint item in a web browser, you can select the desired element with the mouse and specify it as an item through a menu outside of the web browser. The ICustomDoc interface allows you to customize the basic UI handlers used by the web browser controls.

(3) IDocHostUIHandler(3) IDocHostUIHandler

방금 위에서 설명된 유저 인터페이스 핸들러의 정의된 명칭으로 본 발명에서는 독립적인 유저 인터페이스 핸들러를 제공하게 된다. 즉, 도 4에 도시된 바와 같이, 웹브라우저에서 우측 마우스 버튼을 눌렀을 때 원래 웹브라우저용 컨텍스트 윈도우 메뉴가 나오는 것을 변형하여 아이템으로 지정할 수 있게 하는 기능을 갖는다. 본 발명에 적용되는 새로운 유저 인터페이스 핸들러는 상기한 IcustomDoc 인터페이스를 통해 세팅된다.With the defined name of the user interface handler just described above, the present invention provides an independent user interface handler. That is, as illustrated in FIG. 4, when the right mouse button is pressed in the web browser, the context window menu for the original web browser is modified to be designated as an item. The new user interface handler applied to the present invention is set through the above IcustomDoc interface.

(4) standard connection point interfaces(4) standard connection point interfaces

웹브라우저 컨트롤없이 HTML 컴포넌트를 사용하여 HTML문서를 실행없이 로드하여 다중 트리 형태의 DOM 메카니즘에 접근할 때(UI-less HTML 파서로서의 기능) 등에 사용하는 방법으로서 안정적인 측면은 있으나 속도와 시스템 할당 측면에서 단점이 있다.This method is used when accessing multi-tree DOM mechanism (function as UI-less HTML parser) by loading HTML document without execution by using HTML component without web browser control, but it is stable in terms of speed and system allocation. There are disadvantages.

상기한 바와 같이, 사용자가 특정 웹페이지에서 특정 엘리먼트를 지정한다는 것은 지정된 엘리먼트의 내용이 자동적으로 계속 갱신되기를 원한다는 것이고, 이를 위해 필요한 정보들을 모아놓은 단위를 아이템이라고 한다. 도 2의 50은 하나의 아이템이 사용자에게 표현된 예로서, 첫 번째 줄의 굵은 글씨는 도 1의 30과 같이 지정된 한 엘리먼트의 최근 갱신된 내용을 나타내는 것이고, 두 번째 줄의 중괄호 안에 있는 것은 엘리먼트가 지정된 웹페이지의 제목을 나타내는 것이며, 마지막 세 번째 줄의 내용은 해당 엘리먼트의 조회 간격이나 최근에 갱신된 시각 등의 정보를 보여주는 것이다.As described above, when a user designates a specific element in a specific web page, the user wants the content of the designated element to be continuously updated automatically, and a unit for collecting information necessary for this is called an item. 50 in FIG. 2 is an example in which an item is represented to the user. The bold text in the first line indicates the latest updated content of an element designated as 30 in FIG. 1, and the braces in the second line indicate the element. Indicates the title of the specified web page, and the content of the last third line shows information such as the interval of the search for the element or the time of the latest update.

아이템에는 기본적으로 지정된 엘리먼트의 웹페이지 주소와 이 웹페이지에서 엘리먼트의 위치를 찾을 수 있게 하는 해당 HTML의 다중 트리 구조에서의 위치 정보를 저장하게 된다. HTML 문서는 HTML의 태그를 하나의 트리 노드로 하는 다중 트리 구조를 갖게 되고 이를 DOM 형식으로 해석하면 노드의 단위가 태그 대신 엘리먼트로 불리게 된다. 본 발명에서는 위치 정보를 구하기 위해 다중 트리 구조를 참조할 때, DOM의 형식이 아닌 차후에 설명될 HTML 트리 생성 모듈에 의해 생성된 트리 구조를 사용하게 되는데 DOM의 형태와 트리 구조는 동일하며, 여기서의 노드는 엘리먼트 노드라는 명칭을 사용하게 된다.The item basically stores the web page address of the specified element and the location information in the multi-tree structure of the corresponding HTML that allows you to locate the element on this web page. An HTML document has a multi-tree structure with HTML tags as one tree node, and when interpreted in DOM format, the units of the nodes are called elements instead of tags. In the present invention, when referring to the multi-tree structure to obtain the location information, the tree structure generated by the HTML tree generation module, which will be described later, rather than the form of the DOM, is used. The form and the tree structure of the DOM are the same. The node will use the name element node.

도 6을 참조하여 아이템 생성모듈(156)에 의해 아이템이 생성되는 과정을 설명한다.A process of generating an item by the item generating module 156 will be described with reference to FIG. 6.

먼저, 도 4에 도시된 바와 같이, 본 발명의 유저 인터페이스 핸들러의 메뉴 형식(32)을 통해 사용자로부터 특정 웹페이지에서 선택된 HTML 엘리먼트를 아이템으로 지정해 달라는 요구를 받는다(단계 S10).First, as shown in FIG. 4, a user is asked to designate an HTML element selected on a specific web page as an item through the menu format 32 of the user interface handler of the present invention (step S10).

이어 HTML 트리 생성모듈(155)을 통해 해당 웹페이지의 트리 구조를 생성하고(단계 S20), 사용자에 의해 지정된 HTML 엘리먼트의 정보를 동적 HTML 객체모델을 통해 얻은 후, 이 HTML 엘리먼트에 일치되는 목표 엘리먼트 노드를 생성된 트리 구조에서 찾는다(단계 S30).Subsequently, the tree structure of the web page is generated through the HTML tree generation module 155 (step S20), information of the HTML element designated by the user is obtained through the dynamic HTML object model, and then the target element corresponding to the HTML element is obtained. The node is found in the generated tree structure (step S30).

일치된 노드로부터 트리구조의 최상위 노드까지 해당노드 특징과 부모노드와의 관계에 대한 정보를 아이템에 저장한다(단계 S40).From the matched node to the top node of the tree structure, information on the relationship between the corresponding node feature and the parent node is stored in the item (step S40).

여기서 본 발명에서 사용하게 될 위치 정보 저장 방식을 설명하기 전에 위치 정보의 간단한 예를 들어 보겠다. 어떤 HTML 문서가 도 7과 같은 형태로 다중 트리를 이룬다고 하고 모든 노드는 태그이름이 있고 크기와 바탕색이라는 특징을 갖는다고 가정하자(태그의 특성은 이보다 훨씬 많고 복잡하다). 이때 노드15의 위치 정보로 "15번째 있는 노드"라고 사용할 수 있다. 하지만 이 방법은 가령 노드4의 자식 노드가 한 개 추가되기만 해도 원래의 노드15의 위치 정보는 무효로 된다. 즉, 원래의 목표 노드인 노드15와는 관계없는 노드4의 작은 변화에도 목표 노드를 찾지 못하게 되는 것이다. 이러한 단점들을 피하고 효율적인 위치 정보를 얻기 위해 본 발명은 다음과 같은 방법으로 위치 정보를 저장한다.Here, a simple example of the location information will be described before explaining the location information storage method to be used in the present invention. Assume that an HTML document forms a multi-tree like the one in Figure 7, and that every node has a tag name, a size, and a background color (the characteristics of a tag are much more complicated than that). At this time, the position information of node 15 may be used as the "15th node". However, this method invalidates the position information of the original node 15 even if only one child node of node 4 is added. In other words, the target node cannot be found even with a small change of node 4 irrelevant to the original target node Node15. In order to avoid these disadvantages and to obtain efficient location information, the present invention stores the location information in the following manner.

(1) 목표 노드부터 최상위 노드까지 각 노드의 정보를 연속적으로 저장한다.(1) Store information of each node continuously from the target node to the highest node.

위에서처럼 노드15의 위치정보를, 예를 들면, 노드15 - 노드6 - 노드3 - 노드1 의 순서대로 태그의 이름과 특징을 저장한다.As above, the location information of the node 15 is stored, for example, in the order of node 15-node 6-node 3-node 1.

(2) 태그의 종류에 따라 각 특징이 유효한지 정의하여 이를 저장한다.(2) Define whether each feature is valid according to tag type and save it.

이는 HTML문서가 변경되었을 때 이것이 변하기 전과 비교해서 실질적으로 변경되었는가를 판단하는 기준으로 사용된다. 가령, 어떤 HTML 문서의 한 테이블의 색깔과 넓이가 변경되었다고 가정하면, 이것이 실질적으로 바뀌었다고 판단할 것인지 아닌지를 판단하는데 사용한다는 것이다. 물론 실질적으로 바뀌었을 수도 있는 것이고 아닐 수도 있는 것인데, 유효한 특징이 많이 정의될수록 작은 변화도 알아차릴 수 있지만, HTML 제공자가 실질적인 의미를 바꾸지 않은 것들을 바꾼 것으로 판단하게 된다. 예를 들면, 도 7에서 TABLE을 태그이름으로 할 때 바탕색 특징을 유효한 것으로 정의하면, 노드4와 노드5는 다른 형태를 지니는 것이 되고, 유효하지 않은 것으로 정의하면 노드4와 노드5는 같은 형태로 판단된다.This is used as a criterion to determine if the HTML document has changed, compared to before it has changed. For example, assuming that the color and width of a table in an HTML document has changed, it is used to determine whether or not it will actually change. Of course, it may or may not have changed. As more valid features are defined, smaller changes can be noticed, but the HTML provider determines that they have not changed the actual meaning. For example, in FIG. 7, when the TABLE name is a tag name, if the background color feature is defined as valid, node 4 and node 5 have different forms, and if it is defined as invalid, node 4 and node 5 have the same form. Judging.

(3) 부모 노드의 자식 노드들 중 자신의 형태와 같은 노드가 존재하는 개수를 저장하여 자신의 위치를 파악한다.(3) The number of the child nodes of the parent node, such as its own type, is stored to determine the location of itself.

이러한 방식으로 위치 정보를 저장한 다음, 엘리먼트가 지정된 웹페이지의 URL, 엘리먼트의 텍스트, 아이템의 조회주기 등을 아이템에 저장하여(단계 S50) 하나의 아이템을 완성한다.After storing the location information in this manner, the URL of the web page to which the element is designated, the text of the element, the inquiry period of the item, and the like are stored in the item (step S50) to complete one item.

한편, 아이템에는 사용자가 지정한 엘리먼트의 HTML 문서상의 위치 정보가 포함되고, 이를 위해 HTML 문서의 다중 트리 구조가 필요함은 앞에서 설명되었다.On the other hand, the item includes the location information on the HTML document of the user-specified element, and for this purpose, the multi-tree structure of the HTML document is required.

기계어로 작성된 다른 실행파일 들과는 달리, HTML 문서는 일반 텍스트 모드로 작성되어 있다가 브라우저를 통해 실행될 때에 컴퓨터가 이해할 수 있는 형태로 전환되는 스크립트 언어이다.Unlike other executables written in machine language, HTML documents are scripting languages written in plain text mode that are converted into a computer-readable form when run through a browser.

HTML이 브라우저에서 실행되었을 때, 사용자에게 보여진 어떤 한 부분의 특성을 얻거나 내용을 바꾸는 것을 HTML문서를 통해 직접 제어하려고 한다면, HTML이 단지 연속된 텍스트 정보인 이유로 아주 어려운 것이 된다. 그래서 프로그램적으로 이러한 기능을 사용할 수 있도록 하는 메커니즘이 고안되었고 이를 Document Object Model(DOM) 메커니즘이라 한다.When HTML is run in a browser, if you want to directly control through the HTML document to get the characteristics or change the content of something that is shown to the user, it becomes very difficult because HTML is just a sequence of textual information. So a mechanism has been devised that allows you to use these features programmatically, which is called the Document Object Model (DOM) mechanism.

일반적으로 가장 많이 사용하는 브라우저는 인터넷 익스플로러와 넷스케이프가 있고 이 브라우저들은 각각의 DOM 서비스를 제공하는데, 두 DOM의 형태가 대부분은 일치하지만 일부는 다르다. DOM을 통해 접근할 수 있는 오브젝트들을 엘리먼트라 부르는데, 이는 HTML 문서의 태그에 해당되고, 모든 엘리먼트들은 하나의 다중 트리 구조로 존재하게 되며, DOM을 통해 각각의 Element의 정보를 얻거나 변형할 수 있다.In general, the most common browsers are Internet Explorer and Netscape, and these browsers provide their own DOM services, with the two DOM types being mostly identical but some different. Objects that can be accessed through the DOM are called elements, which correspond to the tags in an HTML document, and all elements exist in a single, multi-tree structure, and each DOM can get or transform information about each Element. .

일 예로, 인터넷 익스플로러가 사용하는 웹브라우저를 사용하므로서 동적 HTML 객체 모델이라 명칭된 DOM을 통해 엘리먼트에 접근할 수 있고, 이를 아이템 생성에 있어서 사용할 수 있지만 웹브라우저에서 제공하는 DOM은 풍부한 기능을 제공해 주는 대신 시스템의 리소스를 많이 사용하고 속도가 느린 단점으로 인해 많은아이템을 생성하고 갱신하는 본 발명의 특성상 적합하지 않다.For example, using a web browser used by Internet Explorer, you can access elements through a DOM called the dynamic HTML object model, which you can use to create items, but the DOM provided by the web browser provides a rich feature set. Instead, it is not suitable for the characteristics of the present invention, which creates and updates many items due to the drawback of using a lot of resources of the system and being slow.

그래서 본 발명에서는 일반 DOM의 기능 중, 본 발명에 필요한 기능만을 수행할 수 있되 생성과 실행이 빠르고 상대적으로 적은 시스템 리소스를 사용하는 HTML 트리 생성모듈을 적용한다.Therefore, the present invention applies the HTML tree generation module that can perform only the functions required for the present invention among the functions of the general DOM, but uses the system resources that are quick to generate and execute and use relatively little system resources.

본 발명의 HTML 트리 생성모듈에 의해 생성된 트리 구조의 각 노드의 기능은 일반 DOM에서의 엘리먼트 기능과 동일하지만, 트리를 생성하는 과정에서는 노드라는 것이 HTML 문서중 하나의 태그를 의미한다. 예를 들어 <A href=xxx>AAA</A>라는 HTML 문장이 있을 때, 원래의 노드는 문장 전체를 의미하지만 본 발명의 HTML 트리 생성모듈에서는 <A href=xxx>와 </A>를 의미하는 두 개의 노드가 생성되고, 해석과정에서 본래의 의미로 해석된 후, </A>와 같이 태그의 종료를 의미하는 노드는 트리 구조에서 제외되는데 이러한 노드를 종료노드라 정의한다.The function of each node of the tree structure generated by the HTML tree generation module of the present invention is the same as the element function in the general DOM, but in the process of generating the tree, the node means one tag of the HTML document. For example, when there is an HTML sentence <A href=xxx> AAA </A>, the original node means the whole sentence, but the HTML tree generation module of the present invention uses <A href=xxx> and </A>. After the two nodes are created and interpreted in their original meaning, the node that ends the tag, such as </A>, is excluded from the tree structure. This node is defined as the termination node.

본 발명의 HTML 트리 생성모듈의 특징을 살펴보면 다음과 같다.The features of the HTML tree generation module of the present invention are as follows.

(1) HTML 문서의 파싱(Parsing) 없이 트리 구조를 생성한다.(1) Create a tree structure without parsing HTML documents.

즉, HTML문서 중 태그의 시작(<)과 끝(>) 문자만을 찾아서 트리 구조를 생성하기 때문에 트리 구조가 생성되는 시간이 빠르다.That is, the tree structure is generated quickly because the tree structure is created by finding only the start (<) and end (>) characters of the tag in the HTML document.

일반 브라우저의 DOM은 사용자에게 모든 내용을 보여주는데 목적이 있기 때문에 모든 HTML 내용이 파싱되지만, 본 발명은 트리 구조가 일차적으로 필요하게 때문에 이 특징을 이용하여 생성 속도를 높인 것이다.The DOM of a generic browser is parsed because all HTML content is parsed for the purpose of showing all the content to the user, but the present invention uses this feature to speed up the creation because the tree structure is primarily needed.

(2) 트리 구조를 이루는 노드의 구성이 간단하다.(2) The configuration of the nodes forming the tree structure is simple.

하나의 노드는 HTML문서에서 한 노드에 대응되는 태그가 시작되는 태그시작위치, HTML문서에서 한 노드에 대응되는 태그가 종료되는 태그종료위치, 한 노드에 대한 종료 노드의 위치인 종료노드위치 및 트리 구조에 있어서 한 노드의 상위 노드 위치인 부모노드위치만을 갖는다. 따라서, 이러한 간단한 구조로 인해 트리 생성 속도와 메모리 사용의 향상에 기여한다.A node is a tag start position where a tag corresponding to one node starts in an HTML document, a tag end position where a tag corresponding to one node ends in an HTML document, an end node position and tree which are positions of an end node for a node. In the structure, it has only the parent node position which is the position of the parent node of one node. Thus, this simple structure contributes to an improvement in tree generation speed and memory usage.

(3) 아이템과 관련된 노드의 내용만을 파싱한다.(3) Parse only the contents of the node associated with the item.

아이템에서 지정된 목적 노드만이 본 발명에 사용되기 때문에, 목적 노드와 관련된 노드의 내용만을 분석하면 된다.Since only the destination node specified in the item is used in the present invention, only the content of the node related to the destination node needs to be analyzed.

본 발명의 HTML 트리 생성모듈에 의해 트리를 생성하는 과정을 설명하면, 다음과 같다.Referring to the process of generating a tree by the HTML tree generation module of the present invention.

생성과정이 시작되면 HTML 문서의 첫 글자부터 시작해서 마지막 글자까지의 값을 가지고 다음을 수행한다. 여기서 현재값이란 현재 검사중이 HTML 문서의 글자를 의미하고, 현재부모노드란 노드의 부모노드위치를 지정하기 위한 것으로 초기값은 0이다.When the generation process starts, we do the following with values from the first character in the HTML document to the last: The current value refers to the text of the HTML document currently being inspected. The current parent node is used to specify the position of the parent node of the node. The initial value is 0.

(1) 현재값이 "<" 이면, 현재노드의 태그시작위치에 현재값의 위치를 지정하고,(1) If the current value is "<", specify the current value position at the tag start position of the current node.

(2) 현재값이 ">" 이면, 현재노드의 태그종료위치에 현재값의 위치를 지정하고, 현재노드가 종료노드인지 확인하여 현재노드가 종료노드이면, 현재노드와 짝이 되는 노드를 현재부모노드의 부모노드위치를 참고로 찾아내어 현재노드를 찾은 노드의 종료노드위치에 지정하고, 현재부모노드에 찾은 노드의 부모노드위치를 지정하며, 현재노드가 종료노드가 아니면 현재노드의 부모노드위치에 현재부모노드를지정하여 새로운 노드를 생성하고 이를 현재 노드로 지정한 후,(2) If the current value is ">", the position of current value is designated at tag end position of current node, and if current node is end node, if current node is end node, current node is paired with current node. Find the parent node position of the parent node by reference and assign the current node to the end node position of the found node, specify the parent node position of the node found in the current parent node, and if the current node is not the end node, the parent node of the current node Create a new node by specifying the current parent node in the location, make it the current node,

(3) 현재값을 HTML의 다음 글자로 이동한다.(3) Move the current value to the next character of HTML.

이와 같이 하여 노드리스트가 생성된다.In this way, a node list is generated.

생성된 노드리스트를 해석하는 방법으로는 한 노드에 해당하는 태그의 정보를 이용하는 방법으로 노드의 태그시작위치부터 태그종료위치가 태그의 내용이다. 또한, 자식노드를 참조하는 방법이 있는 바, 한 노드의 첫 번째 자식노드는 노드리스트에서 해당노드의 다음에 있고, 두 번째부터는 노드리스트에서 앞 자식노드의 종료노드위치 다음에 있다. 이러한 식으로 해당노드의 종료노드위치까지 찾으면 된다. 또한, 노드의 내용을 얻는 방법이 있으며, HTML문서에서 한 노드의 종료태그위치부터 종료노드위치에 해당하는 노드의 시작태그위치까지의 내용중 태그들을 제외한 부분이 해당 노드의 내용이다.The method of interpreting the generated node list is to use the information of the tag corresponding to one node, and the tag end position is the contents of the tag from the node start position. There is also a way to refer to a child node, where the first child node of a node is next to that node in the node list, and the second is after the end node position of the previous child node in the node list. In this way, you can find the end node position of the node. In addition, there is a method of obtaining the contents of a node, and the portion of the contents of the node from the end tag position of one node to the start tag position of the node corresponding to the end node position is the content of the node.

생성된 아이템은 아이템 정보에 기록된 검사 간격에 따라 주기적으로 유효한지 검사하고 유효하다면 현재 아이템에 기록된 웹페이지의 현재의 HTML중 아이템에 지정된 엘리먼트의 내용이 갱신되었는지를 검사하게 되는데 아이템 검사모듈(154)이 이를 수행한다.The created item is periodically checked for validity according to the inspection interval recorded in the item information, and if it is valid, it is checked whether the content of the element specified in the item in the current HTML of the web page recorded in the current item is updated. 154 does this.

아이템이 유효하다는 것은 저장된 URL의 웹페이지가 존재하고, 그 웹페이지의 다중 트리 구조에 지정된 목적 노드와 일치되는 노드가 존재한다는 것을 의미한다.The validity of an item means that there is a web page with a stored URL and that there is a node that matches the destination node specified in the multi-tree structure of that web page.

목적 노드를 찾는 방법은 위의 아이템 생성모듈에 의해 연속적으로 저장된 노드들의 태그이름과 유효한 특징을 근거로 새로운 웹페이지의 다중 트리중 태그이름과 유효한 특징들이 일치되는 노드들을 최상위 노드부터 목적노드까지 찾아내는 것이다.The method of finding the destination node finds nodes from the top node to the destination node that match the tag name and valid features in the multi-tree of the new web page based on the tag names and valid features of the nodes consecutively stored by the item generating module. will be.

아이템이 유효하면, 아이템의 목적노드에 대응하는 트리 구조에서의 노드로부터 텍스트 정보를 가져와 아이템에 있는 텍스트 정보와 비교하여 텍스트가 다를 경우 이 아이템이 갱신된 것으로 판단한다.If the item is valid, the text information is taken from a node in the tree structure corresponding to the object node of the item, and compared with the text information in the item, it is determined that the item is updated.

클라이언트 아이템 매니저(152)는 사용자가 지정한 아이템들을 적절히 검사하고 이 결과의 출력을 담당한다. 지정된 아이템 리스트중 일부는 관리서버(400)를 통해 갱신된 내용을 제공받는데, 이 아이템 매니저(152)는 관리서버와의 정보 입출력에 대한 처리도 담당한다.The client item manager 152 properly inspects the items specified by the user and is responsible for outputting the results. Some of the designated item list are provided with updated contents through the management server 400. The item manager 152 is also responsible for processing information input and output with the management server.

이하, 도 8을 참조하여 클라이언트 정보수집방법에 대해 설명한다.Hereinafter, a method of collecting client information will be described with reference to FIG. 8.

클라이언트 아이템 매니저가 구동되면, 클라이언트의 아이템 정보를 관리서버(400)에 전송하여 관리서버(400)로부터 정보를 받게되는 아이템들을 구별한다(단계 S100).When the client item manager is driven, the item information of the client is transmitted to the management server 400 to distinguish items that receive information from the management server 400 (step S100).

클라이언트(100)에 검사할 아이템이 존재하는지를 판단하여(단계 S110), 아이템이 존재하는 경우에는 해당 아이템에 지정된 URL의 HTML 스트링을 인터넷을 통해 다운로드받고(단계 S120), HTML 트리 생성모듈을 통해 다운로드받은 HTML의 트리구조를 생성한 후(단계 S130), 아이템 검사 모듈로 아이템의 유효한지를 확인한다(단계 S140).It is determined whether the item to be inspected exists in the client 100 (step S110), and if the item exists, the HTML string of the URL specified for the item is downloaded through the Internet (step S120), and downloaded through the HTML tree generation module. After generating the tree structure of the received HTML (step S130), the item inspection module checks whether the item is valid (step S140).

이어 엘리먼트가 무효화 되었는지를 판단하여(단계 S150), 무효화되었음을 사용자에게 출력하여 통보하고(단계 S155), 무효화되지 않았으면, 변경되었는지를판단하여(단계 S160), 변경되었으면, 갱신된 아이템 내용을 사용자에게 출력한다(단계 S165).It is then determined whether the element has been invalidated (step S150), and outputs and notifies the user that the invalidation has been made (step S155). (Step S165).

또한, 관리서버로부터 받은 아이템 정보가 있는지를 판단하여(단계 S170), 아이템 정보가 있으면, 해당 아이템의 갱신된 내용을 사용자에게 출력한다(단계 S175).In addition, it is determined whether there is item information received from the management server (step S170), and if there is item information, the updated contents of the corresponding item are output to the user (step S175).

종료요청이 있는지 판단하여(단계 S180) 종료요청이 없으면 상기의 단계들을 반복하고 종료요청이 있으면, 프로세스 종료를 관리서버에 통보하고(단계 S190) 종료한다.It is determined whether there is an end request (step S180). If there is no end request, the above steps are repeated. If there is an end request, the process server is notified of the end of the process (step S190).

클라이언트 정보수집 에이전트의 구현에 있어 시각적, 기능적으로 가장 중점을 두는 부분은 인터넷 익스플로러와 유사한 형태로 구성함으로서 사용자가 에이전트의 작동방법을 학습하는데 용이하도록 한다는 점이다. 이를 위해 시각적으로는 브라우저로서 마이크로소프트사의 웹브라우저 컨트롤을 사용하는 것 외에 도 4에 보여지듯 앞으로, 뒤로, 중지, 새로고침 등과 같은 툴바 인터페이스를 제공하고, 기능적으로는 동작이 시작되면 아이템에 관련되어 대부분의 기능을 담당하는 클라이언트 아이템 매니저 프로세스를 백그라운드 프로세스로 구동시켜 숨기고, 표면상으로는 일반 웹브라우저 기능으로서의 처리를 주로 하게 된다.The most visually and functionally focused part of the client information gathering agent is that it is configured in a form similar to Internet Explorer so that users can easily learn how to operate the agent. To do this, in addition to visually using Microsoft's web browser controls as a browser, it provides toolbar interfaces such as forward, backward, stop, and refresh, as shown in Figure 4. The client item manager process, which handles most of the functions, runs as a background process and hides it. On the surface, it mainly deals with the functions of a normal web browser.

또한, 클라이언트 정보수집 에이전트의 목적에 따라 사용자가 웹페이지에서 엘리먼트를 지정할 때, 지정할 수 있는 웹페이지의 제약함으로 열린 서비스(Open Service)나 제한적 서비스(Closed Service)의 형태로 구현할 수 있다.In addition, when a user designates an element in a web page according to the purpose of the client information gathering agent, it may be implemented in the form of an open service or a closed service by restricting the web page that can be specified.

열린 서비스란 지정할 수 있는 웹페이지의 제약이 없는 형태로, 사용자로부터 웹페이지 주소를 받게 하는 입력창을 통해 웹페이지를 이동하거나 웹페이지 안의 앵커 태그를 마우스로 클릭함으로 제약없이 직접 다른 웹페이지로 이동하는 형식을 말한다. 즉 일반 브라우저와 동일한 기능을 의미한다.An open service is an unlimited form of web page that can be specified, and moves directly to another web page without restriction by moving the web page through the input window that receives the web page address from the user or by clicking the anchor tag within the web page. Say the format. That means the same function as a normal browser.

제한적 서비스란 입력창 없이 사용자가 지정할 수 있는 웹페이지를 운영자가 지정하여 이 지정된 페이지만 지정할 수 있게 하고, 웹페이지안의 앵커 태그를 통해 이동할 때는 웹브라우저 컨트롤에서 제공하는 이벤트를 통해 이동되는 페이지의 주소를 얻은 후, 이 주소를 운영자가 지정해준 페이지들과 비교 선택적으로 이동할 수 있게 하는 것을 말한다. 도 4와 도 5는 제한적 서비스의 형태로 구현된 예를 보여주는데 채널이라고 나타난 부분이 운영자가 제공한 웹페이지 주소들이고, 이곳을 클릭하면 채널에 해당하는 주소의 리스트들이 보여진다.Restrictive service means that the operator can designate a user-specified web page without input box, so that only the designated page can be specified. When moving through anchor tag in the web page, the address of the page to be moved through the event provided by the web browser control After getting, we can compare this address with pages designated by the operator. 4 and 5 show an example of the implementation of the limited service, in which the part indicated as the channel is the web page addresses provided by the operator, and when clicked, a list of addresses corresponding to the channel is shown.

일반적인 브라우저 기능을 하는 열린 서비스가 아닌 제한적 서비스를 제공함으로 사용자에게는 정보수집 에이전트의 목적에 따라 수많은 웹사이트 중에서 유효한 것들에 대한 가이드 역할을 해 주는 기능을 갖게 하고, 운영자에게는 자신이 원하는 목적을 지정할 수 있게 해 준다. 예를 들어, 자신의 웹사이트안에서 사용자는 자신이 원하는 정보를 모아서 볼 수 있게 하고, 이를 통해 자신의 웹사이트중 사용자가 선호하는 부분을 알고자 할 때 사용자는 제한적 서비스로서 자신의 웹사이트에 있는 웹페이지들만을 지정하게 된다.By providing a limited service rather than an open service that functions as a general browser, the user has a function that can serve as a guide to the valid ones among a large number of websites according to the purpose of the information gathering agent, and the operator can specify the desired purpose. To make it possible. For example, in your website, you can collect and view the information you want, and you want to know what users prefer from your website. Only web pages are specified.

도 3을 참조하면, 본 발명에 적용되는 관리서버 시스템(400)의 구성이 도시되어 있다.3, the configuration of the management server system 400 applied to the present invention is shown.

관리서버 시스템(400)은 네트워크 망을 통해 클라이언트 정보수집 에이전트(150)와의 직접적인 정보 입출력을 담당하는 네트워크 입출력 제어모듈(403)과, 클라이언트들로부터 전송된 아이템 정보를 DB 서버(450)에 저장하는 서버 아이템 저장모듈(406)과, 클라이언트 정보수집 에이전트에서와 같이 HTML 문서의 다중 트리 구조를 빠르고 효율적으로 생성해주는 서버 HTML 트리 생성모듈(405)과, 서버 아이템 검사모듈(404) 및 관리서버가 직접 검사해야 할 아이템들의 리스트를 가지고 이중 검사가 이루어져야 할 아이템의 HTML 문서를 인터넷을 통해 다운로드하며 클라이언트로 전송될 내용의 제작 등을 관리하는 서버 아이템 매니저(402)로 이루어진다.The management server system 400 stores a network input / output control module 403 which is responsible for direct information input / output with the client information collecting agent 150 through a network, and the item information transmitted from the clients in the DB server 450. The server item storage module 406, the server HTML tree generation module 405 for quickly and efficiently generating the multi-tree structure of the HTML document as in the client information collection agent, the server item inspection module 404 and the management server directly The server item manager 402 is configured to download an HTML document of an item to be double-checked through the Internet with a list of items to be inspected and to manage production of content to be sent to a client.

관리서버 시스템(400)은 크게 두 가지의 기능을 갖는 바, 첫째는 클라이언트로부터 지정된 아이템의 정보들을 축적하여 서버 운영자에게 유익한 데이터를 제공해 주는 것이고, 둘째는 클라이언트 정보수집 에이전트에서 아이템의 정보를 갱신해주는 기능을 보강하여 더 좋은 서비스를 제공하는 것이다.The management server system 400 has two functions. First, it provides information useful to a server operator by accumulating information of a specified item from a client, and second, updates information of an item in a client information collecting agent. It is augmented to provide better service.

첫 번째의 기능에 있어서, 클라이언트 정보수집 에이전트가 사용자에게 배포될 때, 사용자는 자신의 신상에 관한 정보를 서버에 알려주도록 하고, 에이전트가 구동되거나 종료될 때, 사용자에 의해 아이템이 추가되거나 삭제될 때 아이템의 정보를 서버에 알려주면 서버는 이 정보들을 DB서버에 축적하게 된다. 신상에 관한 데이터로부터 성별, 지역, 나이, 취향과 같은 정보를 얻고 실시간으로 전해지는 아이템 정보로부터 시간, 현재 사용자가 사용하는 웹사이트, 웹페이지, 웹페이지의 엘리먼트, 엘리먼트의 클릭 비율(지정된 엘리먼트가 앵커 엘리먼트이고 사용자에게 아이템의 갱신된 내용을 보여주는 화면에서 사용자가 아이템의 내용을 클릭하면 연결된 앵커를 보여주는 기능이 구축되었을 경우) 등을 얻음으로 운영자는 오차율이 낮고 아주 유용한 정보를 얻게 되는 것이다.In the first function, when a client gathering agent is distributed to a user, the user informs the server of information about his or her identity, and when the agent is started or shut down, items are added or deleted by the user. When the information of the item is notified to the server, the server accumulates this information on the DB server. Obtain information such as gender, location, age, and taste from data about your personal information, and from information about items delivered in real time, the time, website, web page, element of the web page, and click rate It is an anchor element, and on the screen showing the updated contents of the item to the user, when the user clicks on the contents of the item, if the function of displaying the connected anchor is built), the operator has a low error rate and obtains very useful information.

이렇게 얻을 수 있는 정보의 예를 들면,For example of the information that can be obtained

- 특정 웹사이트중 사용자가 시간대별로 가장 많이 보는 페이지-The most viewed pages of a specific website by user time zone

- 여러 신문사 웹페이지중 경기지역 사용자가 가장 즐겨 보는 웹페이지-The most enjoyed webpage among users of Gyeonggi-do

- 6개월에 걸친 사용자의 전체 인터넷에서의 선호도 변동 상황 등과 같은 것들이다.-6 months of user fluctuations in preferences across the Internet.

두 번째의 기능에 있어서, 클라이언트 정보수집 에이전트의 활용도는 지정되는 아이템의 수가 많을수록, 지정된 아이템의 조회주기가 짧을수록 좋지만 사용자가 보유한 네트워크 속도에 의해 제약을 받게 되고 사용자가 본 발명의 정보수집 에이전트 외에도 인터넷과 관련된 다른 어플리케이션을 동시에 사용할 수 있다는 점을 고려해야 한다. 특히, 본 발명은 사용자가 지정한 웹페이지의 HTML 문서를 다운로드 하는데 이 문서의 크기가 이미지를 제외하고도 약 30K에서 1M 바이트로서 비교적 큰 편이다. 가령, 다운로드받는 웹페이지가 60K 바이트라고 가정하고, 사용자 인터넷의 속도가 일반 가정용 전용선의 속도인 초당 2M 비트중 다른 인터넷관련 어플리케이션을 고려하여 50%만 사용한다고 하면, 이는 5초의 조회주기를 가진 아이템을 최대 10개 정도까지 지정할 수 있게 된다는 것을 의미하고 이 결과는 조회주기나 지정될 수 있는 개수의 측면에서 충분하다고 하기는 어렵다. 이러한 제약을 보강하기 위해 관리서버 시스템에서는 등록된 아이템중의 일부를 직접 검사하여 업데이트 되었을 때의 결과만을 클라이언트에 보내는 서비스를 행한다. 서버 시스템의 통신망 속도와 시스템을 상용자가 원하는 만큼 확보하여 활용할 수 있고 하나의 아이템 검사로 많은 클라이언트들이 새로운 정보를 받을 수 있다In the second function, the utilization of the client information gathering agent is better as the number of items designated, the shorter the inquiry period of the designated item is, but is limited by the network speed owned by the user, and the user is in addition to the information gathering agent of the present invention. Consider that other applications related to the Internet can be used at the same time. In particular, the present invention downloads an HTML document of a web page designated by a user, and the size of the document is relatively large as about 1K bytes at about 30K except for an image. For example, assuming that the web page being downloaded is 60K bytes, and the user's internet speed is only 2% of 2M bits per second, which is the speed of a private home line, only 50% is used in consideration of other internet related applications, this means that the item has a 5 second view period. This means that up to 10 can be specified. It is difficult to say that this result is sufficient in terms of inquiry period or the number that can be specified. In order to reinforce this restriction, the management server system directly inspects some of the registered items and performs a service that sends only the results when updated to the client. The network speed of the server system and the system can be used as needed by the commercial user, and many clients can receive new information by inspecting one item.

관리서버 시스템(400)에서 서버 아이템 매니저(402)는 클라이언트 정보수집 에이전트로부터 제공된 아이템들을 적절히 검사하고 이 결과의 출력을 담당한다.The server item manager 402 in the management server system 400 properly inspects the items provided from the client information gathering agent and is responsible for outputting these results.

대략적으로 검사할 아이템을 선정 -> 해당 웹페이지 다운로드 -> HTML 트리 생성 -> 아이템 검사 -> 결과 출력의 순서를 가지는 서버 아이템 매니저의 작동 방식은 클라이언트 아이템 매니저의 작동 방식과 대부분 일치하지만 다음과 같은 차이점이 있다.Roughly select the item to be inspected-> download the web page-> create the HTML tree-> inspect the item-> the results of the server item manager in the order of the output of the result is almost the same as the operation of the client item manager, There is a difference.

먼저, 아이템의 검사 결과를 출력하는 경우, 클라이언트 아이템 매니저는 사용자가 확인할 수 있도록 모니터 스크린에 출력되는 것에 비해 서버 아이템 매니저는 출력 내용을 클라이언트에 보내기 위해 네트워크 입출력 제어모듈(403)에 출력한다.First, when outputting the inspection result of the item, the client item manager outputs the output content to the network input / output control module 403 as compared with the output on the monitor screen for the user to check.

또한, 아이템에 포함된 정보에 있어서, 서버 시스템에서는 원래 아이템의 정보 외에 해당 아이템을 참조하는 클라이언트의 총 숫자와 클라이언트들의 정보를 포함하는데, 이는 아이템의 갱신된 내용을 클라이언트들에게 보낼 때 주소를 참조 하기 위함이다.In addition, in the information included in the item, the server system includes the total number of clients referencing the item and the information of the clients in addition to the information of the original item, which refers to the address when sending the updated contents of the item to the clients. To do this.

또한, 검사할 아이템을 선택함에 있어서, 클라이언트 아이템 매니저는 아이템에 지정된 조회주기를 보고 검사될 아이템을 선택하지만 관리서버에서는 클라이언트로부터 많이 지정된 순서에 따라 아이템이 선택된다.In addition, in selecting an item to be inspected, the client item manager selects the item to be inspected based on the inquiry period specified for the item, but the management server selects the item in the order specified by the client.

한편, 서버 아이템 매니저에서 사용되는 아이템 검사모듈과 HTML 트리 생성모듈은 클라이언트에서 사용하는 모듈들과 동일한 것이어야 한다.Meanwhile, the item checking module and the HTML tree generating module used in the server item manager should be the same as the modules used in the client.

위에서 설명되었듯이 본 발명의 서버 기능 중 하나는 클라이언트 정보수집 에이전트가 해야 할 아이템의 검사중 일부를 서버에서 대신 수행함으로, 클라이언트 정보수집 에이전트의 성능을 높이는 것이다.As described above, one of the server functions of the present invention is to improve the performance of the client information gathering agent by performing some of the inspection of items to be performed by the client gathering agent on the server instead.

서버 시스템에는 다수의 클라이언트로부터 지정된 아이템들의 정보가 전달되는데, 이 아이템들을 특별한 법칙없이 단순히 차례대로 선택하여 검사하는 것은 효율적인 방법이 아니다. 본 발명의 서버 시스템에서는 효율적으로 클라이언트를 지원을 위해 사용자로부터 가장 많이 지정된 아이템 순서대로 일정 수만큼만 아이템을 선택하여 검사하는 방법을 사용한다.The server system delivers the information of specified items from multiple clients. It is not an efficient way to simply select and inspect these items in turn without any special rules. The server system of the present invention uses a method of selecting and inspecting only a certain number of items in order of the items most specified by the user for efficiently supporting the client.

검사될 아이템의 수와 조회주기는 운영자의 시스템이나 목적에 맞게 조정될 수 있는데, 예를 들어, 검사될 아이템의 수는 단순히 일정한 값일 수도 있고, 검사될 아이템의 선택된 합이 전체 아이템 개수에서 일정 비율을 차지할 때까지가 기준이 될 수도 있으며, 검사될 아이템의 조회주기는 선택된 횟수가 많을수록 짧을 수도 있고, 일정한 값일 수도 있다.The number of items to be inspected and the lookup cycle can be adjusted to the operator's system or purpose, for example, the number of items to be inspected may simply be a constant value, and the selected sum of the items to be inspected is a percentage of the total number of items. Until the occupancy may be a reference, the inquiry period of the item to be inspected may be shorter as the number of times selected, or may be a constant value.

서버 시스템에는 이 방법을 위한 아이템의 선택과 관련된 몇 개의 부수적인 요소가 있는데, 아이템 리스트, 사용자 리스트 및 선택된 리스트이다. 아이템 리스트는 클라이언트에서 전달된 모든 아이템들의 정보를 보유하는 곳으로서 리스트중 하나의 노드에는 아이템의 정보와 이 아이템을 지정한 사용자의 수와 이들 사용자에 대한 사용자 리스트에서의 위치 정보를 가지며, 일반 아이템의 추가/삭제/찾기 등이 용이하도록 정렬되어 있다. 사용자 리스트는 서버에 아이템을 전송한 사용자들에 대한 정보로 하나의 노드에는 해당 사용자의 주소와 이 사용자가 선택한 아이템들의 수와 아이템 리스트에서의 위치를 저장한 정보가 들어있다. 또한, 선택된 리스트는 실지로 서버 아이템 매니저가 검사를 해야 하는 아이템들의 포인터 리스트이다. 아이템 리스트의 각 노드들은 해당 노드가 선택된 리스트에 있는지 여부를 기록한다.The server system has several additional elements related to the selection of items for this method: an item list, a user list and a selected list. The item list holds information of all items delivered from the client. One node of the list contains the item's information, the number of users who assigned the item, and the location information in the user list for those users. It is arranged to add, delete, and find easily. The user list is information about users who have sent items to the server. A node contains information of the user's address, the number of items selected by the user, and the location in the item list. Also, the selected list is actually a pointer list of items that the server item manager should inspect. Each node in the item list records whether the node is in the selected list.

이하, 클라이언트로부터 새로운 아이템이 서버 시스템에 등록되거나 특정 아이템이 제거되는 방식을 설명한다.Hereinafter, a description will be given of how new items are registered in the server system or specific items are removed from the client.

(1) 새로운 아이템이 클라이언트로부터 등록되는 경우(1) When a new item is registered from the client

- 아이템 리스트에서 새로운 아이템에 해당하는 노드를 구한다. 만일 없다면 새로운 노드를 생성하여 추가하고 이를 해당 노드로 한다.Get the node corresponding to the new item from the item list. If not, create a new node and add it to it.

- 사용자 리스트에서 새로운 아이템을 보낸 사용자에 해당하는 노드를 구한다. 만일 없다면 새로운 노드를 생성하여 추가하고 이를 해당 노드로 한다.Get the node corresponding to the user who sent the new item from the user list. If not, create a new node and add it to it.

- 아이템 리스트의 해당 노드에 있는 사용자 지정 수와 사용자 리스트의 해당 노드에 있는 아이템 보유 수를 증가시킨 후, 서로의 위치를 기록한다.-Increase the number of users specified in the corresponding node of the item list and the number of items held in the corresponding node of the user list, and then record the position of each other

- 아이템 리스트의 해당 노드가 선택된 리스트에 추가될 수 있는지 검사하고 추가될 경우 선택된 리스트에 있다는 정보를 기록한다. 이 추가로 인해 선택된 리스트에서 제거되는 노드가 있는 경우, 이 노드의 선택된 리스트에 있다는 정보를 제거한다.-Check whether the node of the item list can be added to the selected list and record the information that it is in the selected list if added. If there is a node that is removed from the selected list due to this addition, the information that is in the selected list of this node is removed.

(2) 특정 아이템이 클라이언트로부터 제거되는 경우(2) when a particular item is removed from the client

- 아이템 리스트에서 제거되는 아이템이 해당하는 노드를 구하고 이를 해당노드로 한다.-Get the node corresponding to the item to be removed from the item list and make it the node.

- 사용자 리스트에서 제거되는 아이템을 보유한 노드를 구하고 이를 해당 노드로 한다.-Get the node holding the item to be removed from the user list and call it the node.

- 아이템 리스트의 해당 노드에 있는 사용자 지정 수와 사용자 리스트의 해당 노드에 있는 아이템 보유 수를 감소시킨 후, 서로의 위치가 기록된 것을 제거한다.-Reduce the number of users specified in the corresponding node of the item list and the number of items held in the corresponding node of the user list, and then remove the recorded positions of each other.

- 아이템 리스트의 해당 노드에 있는 사용자 지정 수가 0이면 해당 노드를 제거하고, 사용자 리스트의 해당 노드에 있는 아이템 보유 수가 0이면 해당 노드를 제거한다.If the number of users specified in the node of the item list is 0, the node is removed. If the number of items retained in the node of the user list is 0, the node is removed.

본 발명에 따르면, 각각의 클라이언트들에게 제공되는 정보수집 에이전트를 통하여 정보제공서버의 웹페이지로부터 사용자가 원하는 정보를 지시하는 HTML 엘리먼트를 아이템으로 지정하면, 이 아이템들의 내용을 사용자에게 일괄적으로 보여주고, 동시에 일반 웹브라우저 기능을 수행하며, 지정된 아이템들의 내용을 지속적으로 갱신해줌과 동시에 아이템의 갱신된 내용들을 계속 저장한다.According to the present invention, when an HTML element indicating information desired by a user is designated as an item from a web page of an information providing server through an information collection agent provided to each client, the contents of these items are collectively shown to the user. At the same time, it performs a normal web browser function, and continuously updates the contents of designated items, and continuously stores updated contents of the items.

따라서, 사용자에게는 인터넷의 여러 웹페이지에 중에서 자신이 원하는 정보들만을 선택하여 별도의 노력없이 지속적으로 갱신되는 내용을 총괄적으로 볼 수 있게 되는 편의성이 제공되는 이점이 있다.Therefore, the user is provided with the convenience of being able to collectively view the contents continuously updated without any effort by selecting only the desired information from the various web pages of the Internet.

더욱이, 관리서버는 사용자가 지정한 아이템 정보들을 인터넷을 통해 수집하고, 이 정보들을 데이터베이스를 통해 유지/관리하며, 관리자에 의해 지정된 아이템들을 업데이트하고 이 내용을 클라이언트 정보수집 에이전트에 직접 전송시킨다.Moreover, the management server collects user-specified item information via the Internet, maintains / manages this information through a database, updates items designated by the administrator, and transmits the contents directly to the client information collecting agent.

따라서, 관리자에게는 사용자가 관심을 갖는 정보들에 대한 정확한 데이터를 보유하게 하여 마케팅이나 사이트 운영의 발전에 도움을 주게 한다.As a result, the administrator can have accurate data about the information of interest to the user to assist in the development of marketing and site operations.

Claims (6)

다수의 클라이언트들과, 상기 클라이언트를 회원으로 등록하여 관리하는 관리서버와, 다수의 정보제공서버들이 인터넷을 통하여 상호 연결되고, 상기 클라이언트들 각각에는 사용자가 필요로 하는 정보만을 상기 정보제공서버들로부터 선택적, 주기적으로 수집하기 위한 정보수집 에이전트가 내장되며, 상기 정보수집 에이전트는A plurality of clients, a management server that registers and manages the clients as members, and a plurality of information providing servers are interconnected through the Internet, and each of the clients includes only information required by the user from the information providing servers. Selective and periodic information collection agent for collecting is built in, the information collection agent 일반 웹브라우저 기능을 수행함과 동시에 상기 정보제공서버의 웹페이지의 단위정보인 HTML 엘리먼트를 사용자가 지정하도록 하고, HTML 문서에 대해 다중 트리 형태의 DOM(Document Object Model) 메커니즘에 접근할 수 있는 기능을 제공하며, 사용자가 지정한 엘리먼트에 대응하는 아이템들의 내용을 보여주는 웹브라우저 제어모듈과;In addition to performing general web browser functions, the user can specify HTML elements, which are the unit information of the web page of the information providing server, and access a multi-tree DOM (Document Object Model) mechanism for HTML documents. A web browser control module for providing contents of items corresponding to an element designated by a user; HTML 문서의 다중 트리 구조를 빠르고 효율적으로 생성해주는 HTML 트리 생성모듈과;An HTML tree generation module for quickly and efficiently generating a multi-tree structure of an HTML document; 상기 사용자가 지정한 엘리먼트를 하나의 아이템으로 만들어주는 아이템 생성모듈과;An item generating module for making the element designated by the user into one item; 하나의 아이템이 상기 HTML 트리 생성모듈에 의해 만들어진 다중 트리에서 유효한 값을 지니는지 검사하는 아이템 검사모듈과;An item checking module for checking whether one item has a valid value in multiple trees created by the HTML tree generating module; 상기 아이템이 가리키는 엘리먼트의 내용이 갱신될 때, 상기 갱신된 내용들을 데이터베이스에 계속적으로 보관하는 아이템 저장모듈; 및An item storage module for continuously storing the updated contents in a database when the contents of the element indicated by the item is updated; And 아이템 리스트를 가지고 리스트에서 아이템을 추가 또는 삭제하고, 타이머를 통해 검사될 아이템의 HTML을 인터넷을 통해 다운로드하며, 아이템 리스트의 저장과 로드, 상기 관리서버로의 전송, 사용자에게 보여줄 내용의 제작을 관리하는 클라이언트 아이템 매니저를 포함하는 것을 특징으로 하는 인터넷 상의 정보수집 시스템.Add or remove items from the list with the item list, download the HTML of the item to be checked through the timer via the Internet, manage the storage and loading of the item list, transfer it to the management server, and create the content to be displayed to the user. Information collection system on the Internet, characterized in that it comprises a client item manager. 제 1 항에 있어서, 상기 관리서버는The method of claim 1, wherein the management server 상기 인터넷을 통하여 상기 클라이언트 정보수집 에이전트와의 직접적인 정보 입출력을 담당하는 네트워크 입출력 제어모듈과;A network input / output control module that is responsible for direct information input and output with the client information collecting agent through the Internet; 상기 클라이언트들로부터 전송된 아이템 정보를 DB 서버에 저장하는 서버 아이템 저장모듈과;A server item storage module for storing item information transmitted from the clients in a DB server; HTML 문서의 다중 트리 구조를 빠르고 효율적으로 생성해주는 서버 HTML 트리 생성모듈과;A server HTML tree generation module for quickly and efficiently generating a multi-tree structure of an HTML document; 하나의 아이템이 상기 서버 HTML 트리 생성모듈에 의해 만들어진 다중 트리에서 유효한 값을 지니는지 검사하는 아이템 검사모듈; 및An item checking module that checks whether one item has a valid value in multiple trees created by the server HTML tree generating module; And 상기 관리서버가 직접 검사해야 할 아이템들의 리스트를 가지고 이 중에서 검사가 이루어져야 할 아이템의 HTML 문서를 인터넷을 통해 다운로드하며 상기 클라이언트로 전송될 내용의 제작 등을 관리하는 서버 아이템 매니저를 포함하는 것을 특징으로 하는 인터넷 상의 정보수집 시스템.And a server item manager which has a list of items to be directly inspected by the management server, and downloads an HTML document of items to be inspected from the Internet and manages production of contents to be transmitted to the client. Information collection system on the Internet. 제 1 항에 있어서, 상기 아이템에는 해당 웹페이지내의 위치정보, 대응하는 엘리먼트가 지정된 웹페이지의 URL, 엘리먼트의 텍스트 및 아이템의 조회주기가 저장되는 것을 특징으로 하는 인터넷 상의 정보수집 시스템.The information collection system of claim 1, wherein the item stores location information in a corresponding web page, a URL of a web page to which a corresponding element is designated, text of an element, and an inquiry period of the item. 제 3 항에 있어서, 상기 아이템의 위치정보는 상기 아이템의 HTML 엘리먼트에 대응하는 노드로부터 해당 웹페이지의 트리구조의 최상위 노드까지 노드 특징과 부모노드와의 관계에 대한 정보를 포함하는 것을 특징으로 하는 인터넷 상의 정보수집 시스템.The method of claim 3, wherein the location information of the item includes information on the relationship between the node characteristics and the parent node from the node corresponding to the HTML element of the item to the top node of the tree structure of the web page. Information gathering system on the Internet. 다수의 클라이언트들과, 상기 클라이언트를 회원으로 등록하여 관리하는 관리서버와, 다수의 정보제공서버들이 인터넷을 통하여 상호 연결되고, 상기 클라이언트들 각각에는 사용자가 필요로 하는 정보만을 상기 정보제공서버들로부터 선택적, 주기적으로 수집하기 위한 정보수집 에이전트가 내장되는 인터넷 상의 정보수집 시스템에 적용되며,A plurality of clients, a management server that registers and manages the clients as members, and a plurality of information providing servers are interconnected through the Internet, and each of the clients includes only information required by the user from the information providing servers. It is applied to the information gathering system on the Internet where the information gathering agent is collected for selective and periodic collection. 사용자가 상기 정보제공서버의 특정 웹페이지에서 선택된 HTML 엘리먼트를 아이템으로 지정하는 단계;Designating, by the user, an HTML element selected from a specific web page of the information providing server as an item; 상기 정보수집 에이전트의 HTML 트리 생성모듈을 통해 해당 웹페이지의 트리구조를 생성하는 단계;Generating a tree structure of the web page through the HTML tree generation module of the information collection agent; 상기 사용자에 의해 지정된 HTML 엘리먼트의 정보를 동적 HTML 객체모델을 통해 얻은 후, 이 HTML 엘리먼트에 일치되는 목표 엘리먼트 노드를 상기 생성된 트리 구조에서 찾는 단계;After obtaining information of the HTML element designated by the user through a dynamic HTML object model, finding a target element node corresponding to the HTML element in the generated tree structure; 일치된 노드로부터 상기 트리 구조의 최상위 노드까지 해당노드 특징과 부모노드와의 관계에 대한 정보를 상기 아이템에 저장하는 단계; 및Storing information on a relationship between a corresponding node feature and a parent node from a matched node to a top node of the tree structure in the item; And 상기 HTML 엘리먼트가 지정된 웹페이지의 URL, 엘리먼트의 텍스트, 아이템의 조회주기를 상기 아이템에 저장하는 단계를 포함하는 것을 특징으로 하는 인터넷 상의 정보수집 방법.And storing the URL of the web page designated by the HTML element, the text of the element, and the inquiry period of the item in the item. 제 5 항에 있어서,The method of claim 5, 상기 클라이언트의 아이템 정보를 상기 관리서버에 전송하여 상기 관리서버로부터 정보를 받게되는 아이템들을 구별하는 단계;Transmitting item information of the client to the management server to distinguish items that receive information from the management server; 상기 클라이언트에 검사할 아이템이 존재하는지를 판단하고, 존재하는 경우 해당 아이템에 지정된 URL의 HTML 스트링을 상기 인터넷을 통해 다운로드받고, 상기 HTML 트리 생성모듈을 통해 다운로드받은 HTML의 트리 구조를 생성한 후, 상기 정보수집 에이전트의 아이템 검사 모듈로 아이템이 유효한지를 확인하는 단계;It is determined whether an item to be inspected exists in the client, and if present, the HTML string of the URL designated to the item is downloaded through the Internet, and the tree structure of HTML downloaded through the HTML tree generation module is generated. Confirming whether an item is valid with an item inspecting module of the information collecting agent; 상기 엘리먼트가 무효화되었는지를 판단하여, 무효화되었으면 이를 사용자에게 출력하여 통보하고, 무효화되지 않았으면 변경되었는지를 판단하여, 변경되었으면, 갱신된 아이템 내용을 사용자에게 출력하는 단계; 및Determining whether the element is invalidated, outputting a notification to the user if the element is invalidated, and determining whether the element has been changed or not, and outputting updated item contents to the user if the element is changed; And 상기 관리서버로부터 받은 아이템 정보가 있는지를 판단하여, 아이템 정보가 있으면, 해당 아이템의 갱신된 내용을 사용자에게 출력하는 단계를 더 포함하는 것을 특징으로 하는 인터넷 상의 정보수집 방법.Determining whether there is item information received from the management server, and if there is item information, outputting updated contents of the corresponding item to the user.
KR10-2001-0035079A 2001-06-20 2001-06-20 System for collecting information based on internet Expired - Lifetime KR100446209B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0035079A KR100446209B1 (en) 2001-06-20 2001-06-20 System for collecting information based on internet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0035079A KR100446209B1 (en) 2001-06-20 2001-06-20 System for collecting information based on internet

Publications (2)

Publication Number Publication Date
KR20020096519A true KR20020096519A (en) 2002-12-31
KR100446209B1 KR100446209B1 (en) 2004-08-30

Family

ID=27710139

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0035079A Expired - Lifetime KR100446209B1 (en) 2001-06-20 2001-06-20 System for collecting information based on internet

Country Status (1)

Country Link
KR (1) KR100446209B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030079826A (en) * 2003-07-21 2003-10-10 함승진 An automatic notice method for a contents of website change
WO2008137961A1 (en) * 2007-05-07 2008-11-13 Listspinner Inc. System enabling social networking through user-generated lists
KR101046446B1 (en) * 2008-11-18 2011-07-04 주식회사 엘지유플러스 Web page loading method and system
KR20210113582A (en) * 2019-10-15 2021-09-16 쿠팡 주식회사 Systems and methods for modifying webpages with delivery date estimation

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101006980B1 (en) * 2008-09-25 2011-01-12 주식회사 테크리드 Method and system for generating and playing clone object by selecting and extracting desired content on web browser
KR101364403B1 (en) * 2013-10-21 2014-02-17 김용문 Analysis/provide method of data, and device using the same

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000030249A (en) * 2000-02-15 2000-06-05 안창현 A service system of information bulletin board
KR20000049581A (en) * 2000-04-12 2000-08-05 장성동 Real time ordering information system and method on internet
KR20000050217A (en) * 2000-05-26 2000-08-05 신종섭 How to subscribe, create and provide real-time customized information using communication media
KR20000054312A (en) * 2000-06-01 2000-09-05 최우석 Establishing provide Method for ordered web information
KR20000059142A (en) * 2000-07-18 2000-10-05 우제찬 The fast providing system of optimal information concerning with the user demand
KR100455929B1 (en) * 2001-04-17 2004-11-08 (주)인포캐스트 System and Method to provide service of collecting information automatically on Internet

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030079826A (en) * 2003-07-21 2003-10-10 함승진 An automatic notice method for a contents of website change
WO2008137961A1 (en) * 2007-05-07 2008-11-13 Listspinner Inc. System enabling social networking through user-generated lists
KR101046446B1 (en) * 2008-11-18 2011-07-04 주식회사 엘지유플러스 Web page loading method and system
KR20210113582A (en) * 2019-10-15 2021-09-16 쿠팡 주식회사 Systems and methods for modifying webpages with delivery date estimation

Also Published As

Publication number Publication date
KR100446209B1 (en) 2004-08-30

Similar Documents

Publication Publication Date Title
US11863642B2 (en) Method and system for monitoring an activity of a user
US7409422B2 (en) Declarative page view and click tracking systems and methods
US7702811B2 (en) Method and apparatus for marking of web page portions for revisiting the marked portions
US20030005159A1 (en) Method and system for generating and serving multilingual web pages
US7730109B2 (en) Message catalogs for remote modules
US9268547B2 (en) Conditional logic for delivering computer-executable program instructions and content
US8516111B2 (en) System for enabling rich network applications
US20120117494A1 (en) System and method for expediting information display
AU2007243143A1 (en) Independent actionscript analytics tools and techniques
WO2010094927A1 (en) Content access platform and methods and apparatus providing access to internet content for heterogeneous devices
CN103546330A (en) Method, device and system for detecting compatibilities of browsers
JP2007149074A (en) Context based navigation
KR100446209B1 (en) System for collecting information based on internet
JP5393242B2 (en) Data providing method and intermediate server device
CN112835793B (en) Webpage debugging method and device
US8239522B1 (en) Dynamic variables for tracking wireless device website usage
CN115525305A (en) Data processing method, application starting method, device, computer equipment and storage medium
EP1049027A2 (en) Web data acquisition apparatus and method, and storage medium storing program for this method
CN101383838B (en) Method, system and apparatus for Web interface on-line evaluation
Panum et al. Kraaler: A user-perspective web crawler
JP4805199B2 (en) Scenario creation program and scenario creation device
JP2004213152A (en) Information display server, information display method, recording medium thereof, and program
CA2428004A1 (en) Method of dynamically creating a web page according to user preferences
JP5276903B2 (en) Browsing system, plug-in program, and introduction program
HK40079485A (en) Data processing, application starting method, apparatus, computer device and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20010620

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20031030

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20040519

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20040819

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20040820

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20070817

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20080702

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20090630

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20100813

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20110803

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20120810

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20120810

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20130807

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20130807

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20140818

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20140818

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20150811

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20150811

Start annual number: 12

End annual number: 12

FPAY Annual fee payment

Payment date: 20160819

Year of fee payment: 13

PR1001 Payment of annual fee

Payment date: 20160819

Start annual number: 13

End annual number: 13

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 14

PR1001 Payment of annual fee

Payment date: 20170818

Start annual number: 14

End annual number: 14

FPAY Annual fee payment

Payment date: 20180808

Year of fee payment: 15

PR1001 Payment of annual fee

Payment date: 20180808

Start annual number: 15

End annual number: 15

FPAY Annual fee payment

Payment date: 20190819

Year of fee payment: 16

PR1001 Payment of annual fee

Payment date: 20190819

Start annual number: 16

End annual number: 16

PR1001 Payment of annual fee

Payment date: 20200818

Start annual number: 17

End annual number: 17

PC1801 Expiration of term

Termination date: 20211220

Termination category: Expiration of duration