KR200349700Y1 - Apparatus for virtual routing on Web Service - Google Patents

Apparatus for virtual routing on Web Service Download PDF

Info

Publication number
KR200349700Y1
KR200349700Y1 KR20-2003-0022108U KR20030022108U KR200349700Y1 KR 200349700 Y1 KR200349700 Y1 KR 200349700Y1 KR 20030022108 U KR20030022108 U KR 20030022108U KR 200349700 Y1 KR200349700 Y1 KR 200349700Y1
Authority
KR
South Korea
Prior art keywords
packet
search
server
content
data
Prior art date
Application number
KR20-2003-0022108U
Other languages
Korean (ko)
Inventor
송정희
조혁래
이민호
Original Assignee
(주)텔리젠
정보통신연구진흥원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)텔리젠, 정보통신연구진흥원 filed Critical (주)텔리젠
Priority to KR20-2003-0022108U priority Critical patent/KR200349700Y1/en
Application granted granted Critical
Publication of KR200349700Y1 publication Critical patent/KR200349700Y1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

본 고안은 XML로 구성된 패킷을 수신하여 제공하는 패킷 수신부와, 상기 수신된 XML로 구성된 패킷으로부터 상기 패킷의 도착지 정보를 추출한 후, 상기 추출한 도착지 정보가 자신의 IP주소에 해당하는 경우에 상기 패킷으로부터 서비스의 종류를 추출하여 제공하고, 그렇지 않은 경우에 상기 패킷을 제공하는 서비스 분파기와, 상기 서비스 분파기에서 제공하는 패킷에 포함된 상기 도착지 정보를 이용하여 가상 라우팅을 수행하는 라우팅 프로세서를 포함하는 가상 라우팅을 위한 네트워크 인터페이스 모듈과 인터넷을 통해 연결된 클라이언트나 상기 네트워크 인터페이스 모듈로부터 수신한 컨텐츠 검색명령에 따라 상기 컨텐츠가 저장되어 있는지를 검색하기 위한 검색모듈을 포함하는 웹서비스를 기반으로 하는 가상 라우팅 장치에 관한 것이다.The present invention provides a packet receiving unit for receiving and providing a packet composed of XML, and extracting the destination information of the packet from the packet composed of the XML, and if the extracted destination information corresponds to its own IP address, Extracting and providing a type of service; otherwise, a service splitter for providing the packet; and a routing processor for performing virtual routing using the destination information included in the packet provided by the service splitter. A virtual routing device based on a web service including a network interface module for virtual routing and a search module for searching whether the content is stored according to a content search command received from a client connected through the Internet or the network interface module. It is about.

Description

웹서비스를 기반으로 하는 가상 라우팅 장치{Apparatus for virtual routing on Web Service}Virtual routing device based on web service {Apparatus for virtual routing on Web Service}

본 고안은 인터넷상의 여러 사이트들의 컨텐츠를 공유할 수 있도록 웹서비스를 기반으로 하는 가상 라우팅 장치와 검색장치에 관한 것으로, 보다 상세하게는 하나의 서버에 접속한 클라이언트가 서버에 컨텐츠를 요구할 때 서버가 상기 요구된 컨텐츠를 갖고 있지 않다면 다른 서버에 저장되어 있는 컨텐츠를 검색하여 이를 클라이언트가 이용할 수 있도록 하기 위한 가상 라우팅 장치와 검색장치에 관한 것이다.The present invention relates to a virtual routing device and a search device based on a web service to share contents of various sites on the Internet. More specifically, when a client connected to one server requests content from the server, The present invention relates to a virtual routing device and a retrieval device for retrieving content stored in another server and making it available to a client if the user does not have the requested content.

인터넷이 발달함에 따라 컴퓨터 사용자들은 그림, 음악, 영화, 교육 등의 다양한 컨텐츠를 온라인으로 이용할 수 있게 되었다. 이에 따라 인터넷을 통해 컨텐츠를 제공하는 다양한 서비스 제공자가 생겨났고, 이에 따라 사용자들은 컨텐츠를 선택할 수 있는 폭이 넓어졌다. 최근에는 서비스 제공자들이 제공하는 컨텐츠의 종류와 특성 및 용량이 다양해지면서 점차 비슷한 종류의 컨텐츠를 제공하는 서비스 제공자들이 서로 연합하려는 경향이 있다. 또한 사용자들은 수많은 서비스 제공자들이 제공하는 컨텐츠를 하나의 검색 사이트에서 검색하여 좀더 편안하게 인터넷 컨텐츠를 즐길 수 있기를 원하고 있다.The development of the Internet has allowed computer users to access a variety of content online, including pictures, music, movies, and education. As a result, various service providers providing contents through the Internet have been created. Accordingly, users have a wider choice of contents. Recently, as the types, characteristics, and capacities of contents provided by service providers are diversified, service providers providing similar types of contents gradually tend to be associated with each other. In addition, users want to be able to enjoy Internet contents more comfortably by searching contents provided by numerous service providers in one search site.

종전에는 TCP/IP 기반의 독립응용프로그램을 이용하여 이러한 기대에 부응하고자 했으나 이러한 방법들은 확장성 제한 때문에 사용자들의 기대를 충분히 만족시킬 수 없었으며, 웹 기반의 서비스로 상기의 서비스를 제공하고 있는 각 서비스 제공자들은 각자의 기술과 방법으로 서비스를 구축하고 있어 서로 유기적으로 결합하기가 용이하지 않았다.In the past, attempts were made to meet these expectations by using TCP / IP-based standalone applications. However, these methods could not fully satisfy users' expectations due to the limitation of scalability, and each of the above services was provided as a web-based service. Service providers are building services with their own technologies and methods, so it is not easy to combine them organically.

이런 문제점을 해결하기 위하여 최근에는 웹서비스(Web Service)라는 새로운 기술이 개발되었는데, 웹서비스는 XML 데이터 포맷을 기반으로 각 사이트 간의 데이터를 공유할 수 있는 기반을 마련해 주는 기술로서, HTTP기반의 SOAP(Simple Object Access Protocol)를 통해 데이터를 전송하고, 기타 여러 관리 규약 및 장치를 정의해 놓고 있다.In order to solve this problem, a new technology called web service has recently been developed. Web service is a technology that provides a foundation for sharing data between sites based on XML data format. The Data Transfer Protocol (Simple Object Access Protocol), and many other management protocols and devices are defined.

그러나 웹서비스는 데이터 전송을 위한 기반만 만들어졌을 뿐 실제로 다양한 서비스를 수행하기 위한 장치들의 수준은 미흡하고, 서비스 제공자들은 각자 개발한 컨텐츠를 서로 공유하려면 아직도 많은 노력을 기울여야 한다. 상기 살펴본 이유들에서 여러 업자들이 힘들여 구축한 컨텐츠를 쉽게 공유할 수 있도록 하는 실제적인 기술로서 여러 서버에 분산되어 있는 컨텐츠를 쉽게 검색할 수 있는 방법과 장치가 필요하다.However, Web services have only created the basis for data transmission, and in fact, the level of devices for performing various services is insufficient, and service providers still have to make great efforts to share their developed contents with each other. For the reasons described above, there is a need for a method and apparatus for easily searching for contents distributed in multiple servers as a practical technology for easily sharing contents that are made by various vendors.

본 고안은 인터넷을 통하여 서비스 제공자들이 개별적인 서버를 통해 제공하던 컨텐츠를 서로 공유할 수 있도록 하는 검색 장치를 제공하는 것을 목적으로 한다.The object of the present invention is to provide a search apparatus that allows service providers to share contents provided through separate servers with each other through the Internet.

본 고안의 다른 목적은 상기 장치를 위한 웹서비스 기반의 가상 프로토콜의 구조, 및 가상 라우팅 소켓모듈을 제공하는 것이다.Another object of the present invention is to provide a web service based virtual protocol structure for the device, and a virtual routing socket module.

도 1은 본 고안에 따른 가상 라우팅을 이용한 검색 장치를 보여주는 예시도.1 is an exemplary view showing a search apparatus using a virtual routing according to the present invention.

도 2는 본 고안에 따른 가상 라우팅 소켓모듈을 나타내는 예시도2 is an exemplary view showing a virtual routing socket module according to the present invention

도 3은 본 고안에 따른 가상 라우팅 소켓모듈의 동작을 나타내는 일실시예 처리흐름도Figure 3 is an embodiment processing flow diagram showing the operation of the virtual routing socket module according to the present invention

도 4는 본 고안에 따른 XVIP 프로토콜 스택을 나타내는 예시도4 is an exemplary view showing an XVIP protocol stack according to the present invention

도 5는 본 고안에 따른 라우팅을 위한 연결구조를 나타내는 예시도5 is an exemplary view showing a connection structure for routing according to the present invention

도 6은 본 고안에 따른 제어서버를 이용한 새로운 데이터 서버의 연결 과정을 나타내는 예시도6 is an exemplary diagram showing a connection process of a new data server using a control server according to the present invention.

도 7은 본 고안에 따른 기본 확장검색 방법을 나타내는 일실시예 처리흐름도7 is a flowchart showing an embodiment of a basic extended search method according to the present invention.

도 8은 본 고안에 따른 백워드 확장검색 방법을 나타내는 일실시예 처리흐름도8 is a flowchart showing an embodiment of a backward extended search method according to the present invention.

도 9는 본 고안에 따른 포워드 확장검색 방법을 나타내는 일실시예 처리흐름도9 is a flowchart illustrating an exemplary embodiment of a forward extended search method according to the present invention.

도 10은 본 고안에 따른 포워드 확장검색 단계를 나타내는 예시도10 is an exemplary view showing a forward extended search step according to the present invention

상기 기술적 과제를 달성하기 위하여, 본 고안은 XML로 구성된 패킷을 수신하여 제공하는 패킷 수신부와, 상기 수신된 XML로 구성된 패킷으로부터 상기 패킷의 도착지 정보를 추출한 후, 상기 추출한 도착지 정보가 자신의 IP주소에 해당하는 경우에 상기 패킷으로부터 서비스의 종류를 추출하여 제공하고, 그렇지 않은 경우에 상기 패킷을 제공하는 서비스 분파기와, 상기 서비스 분파기에서 제공하는 패킷에 포함된 상기 도착지 정보를 이용하여 가상 라우팅을 수행하는 라우팅 프로세서를 포함하는 가상 라우팅을 위한 네트워크 인터페이스 모듈을 특징으로 한다.In order to achieve the above technical problem, the present invention is a packet receiving unit for receiving and providing a packet composed of XML, and after extracting the destination information of the packet from the packet composed of the XML, the extracted destination information is its IP address If it corresponds to the type of service is extracted from the packet and provided, otherwise, the service splitter for providing the packet, and the virtual routing using the destination information included in the packet provided by the service splitter Characterized in that the network interface module for virtual routing including a routing processor to perform the.

또한, 상기 기술적 과제를 달성하기 위하여, 본 고안은 상기 네트워크 인터페이스 모듈과 인터넷을 통해 연결된 클라이언트나 상기 네트워크 인터페이스 모듈로부터 수신한 컨텐츠 검색명령에 따라 상기 컨텐츠가 저장되어 있는지를 검색하기 위한 검색모듈을 포함하는 웹서비스를 기반으로 하는 가상 라우팅 장치를 특징으로 한다.In addition, in order to achieve the technical problem, the present invention includes a search module for searching whether the content is stored according to a content search command received from a client or network interface module connected to the network interface module and the Internet. It is characterized by a virtual routing device based on the web service.

또한, 상기 기술적 과제를 달성하기 위하여, 본 고안은 2개 이상의 상기 가상 라우팅 장치를 포함하는 웹서비스를 기반으로 하는 가상 라우팅 장치를 특징으로 하고, 바람직하게는 서버검색명령을 수신하고 해당 컨텐츠가 존재하는 서버의 가상IP주소를 찾아내어 상기 서버로 컨텐츠 검색명령을 보내는 제어서버를 더 포함한다.In addition, in order to achieve the above technical problem, the present invention is characterized by a virtual routing device based on a web service including two or more of the virtual routing device, preferably receiving a server search command and the corresponding content exists It further includes a control server to find a virtual IP address of the server to send a content search command to the server.

이하, 첨부도면을 참조하여 본 고안에 따른 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

참고로, 본 고안으로 구성되는 장치에서의 전송 방법은 인터넷의 데이터 전송 프로토콜인 IPv4(Internet Protocol version 4)의 전송 방법을 그대로 어플리케이션 레이어(Application Layer)로 끌어올린 것으로서, 많은 전송 특성이 IPv4의 그것과 유사하다. 따라서, 발신과 수신을 담당하는 모든 웹서비스 서버들에게 고유의 IP 주소가 부여되며, 본 고안에서 발신 및 수신을 위해 사용하는 IP주소는 어플리케이션 레이어의 IP주소이므로, 기존 인터넷상에서 데이터그램을 송수신하기 위한 IP주소와는 전혀 다른 가상의 주소공간이다.For reference, the transmission method in the device of the present invention is a method of transferring the Internet Protocol version 4 (IPv4), which is the data transmission protocol of the Internet, directly to the application layer. Similar to Therefore, a unique IP address is given to all web service servers in charge of sending and receiving, and the IP address used for sending and receiving in the present invention is an IP address of an application layer, thus transmitting and receiving datagrams on the existing Internet. It is a virtual address space that is completely different from the IP address.

도 1은 본 고안에 따른 가상 라우팅을 이용한 검색 장치를 보여주는 예시도로서, XML로 구성된 패킷을 이용하여 통신을 하는 통신체계를 이용하여 다수의 서버로부터의 검색 결과를 클라이언트에게 제공해 주는 것을 나타낸다. 상기 도 1에서 도시한 굵은 실선은 접속한 서버(21)에의 기본 검색을 통한 결과의 흐름을 나타내고, 파선은 클라이언트(10)로부터 검색 요청을 받은 서버(21)가 연결된 네트워크를 통해 다수의 서버(22,23)를 검색하여 각각의 서버들(22,23)로부터 검색 결과를 수집, 통합하여 제공하는 확장 검색을 통한 결과의 흐름을 나타낸다. 한편, 각각의 서버(21,22,23)는 가상 라우팅을 위한 네트워크 인터페이스 모듈에 해당하는 가상 라우팅 소켓모듈(100)과 검색 모듈(200), 컨텐츠DB(300)를 포함할 수 있는데, 이 때, 가상 라우팅 소켓모듈(100)은 웹서비스(Web Service)라고 하는 플랫폼 기반의 서비스 모듈이다. 웹서비스라 함은 동일 성격의 여러 개체들이 서로 표준화된 XML데이터의 통신을 통해 다양한 서비스를 공유하여 제공할 수 있는 플랫폼을 말하며, 본 고안의 가상 라우팅 소켓모듈(100) 역시 XML을 기반으로 데이터 전송, 수신, 재전송 등의 기능을 제공하는 하나의 모듈이다.1 is an exemplary view showing a search apparatus using a virtual routing according to the present invention, showing that the client provides the search results from a plurality of servers using a communication system that communicates using a packet composed of XML. The thick solid line shown in FIG. 1 represents the flow of the results through the basic search to the server 21 to which the server 21 is connected, and the broken line shows a plurality of servers (through the network to which the server 21 that received the search request from the client 10 is connected). 22, 23 is searched to show the flow of results through an extended search that collects, aggregates, and provides the search results from the respective servers 22, 23. Meanwhile, each server 21, 22, and 23 may include a virtual routing socket module 100, a search module 200, and a content DB 300 corresponding to a network interface module for virtual routing. The virtual routing socket module 100 is a platform-based service module called a web service. The web service refers to a platform that can provide various services by sharing various services through communication of standardized XML data. The virtual routing socket module 100 of the present invention also transmits data based on XML. One module that provides functions such as receiving, retransmitting, and so on.

도 2는 본 고안에 따른 가상 라우팅 소켓모듈을 나타내는 예시도로서, 상기가상 라우팅 소켓모듈(100)의 입력은 다른 서버로부터의 패킷 수신과, 상기 가상 라우팅 소켓모듈(100)을 사용하고 있는 CMS로부터의 명령으로 나눌 수 있다. 다른 서버로부터 수신된 패킷은 패킷 검사기(110)를 거쳐 유효한 패킷만을 필터링하고 입력버퍼(112)에 저장된다. 패킷 생성기(120)는 CMS로부터 명령을 수신하여 명령의 종류에 따라 각각 다른 XML 패킷을 생성하고 생성된 패킷을 입력버퍼(122)에 저장한다. 서비스 분파기(130)는 상기 입력버퍼(112,122)로부터 XML패킷을 수신하여 상기 수신한 XML패킷이 다른 서버로 송신해야 하는 패킷인지 상기 가상 라우팅 소켓모듈(100)을 포함하고 있는 서버가 수신해야 하는 패킷인지 구분하는데, 이 때, 수신해야 하는 패킷인 경우에는 프로세스 구분자를 기준으로 수신 버퍼(140)에 저장되고, 다른 서버로 송신해야 하는 패킷의 경우에는 라우팅 프로세서(150)가 상기 패킷으로부터 상기 패킷의 도착지에 대한 정보를 추출하여 라우팅 과정을 거쳐 상기 패킷을 출력버퍼(160)로 전송하여 출력버퍼(160)에서는 각 버퍼별로 연결된 다른 서버로 패킷을 송신하게 된다.Figure 2 is an exemplary view showing a virtual routing socket module according to the present invention, the input of the virtual routing socket module 100 receives packets from other servers, and from the CMS using the virtual routing socket module 100 Can be divided into Packets received from other servers pass through the packet inspector 110 to filter only valid packets and are stored in the input buffer 112. The packet generator 120 receives a command from the CMS, generates different XML packets according to the type of the command, and stores the generated packet in the input buffer 122. The service splitter 130 receives the XML packet from the input buffers 112 and 122 and the server including the virtual routing socket module 100 should receive the received XML packet to another server. In this case, if the packet is to be received, the packet is stored in the reception buffer 140 based on the process delimiter, and in the case of a packet to be transmitted to another server, the routing processor 150 stores the packet from the packet. After extracting information about the destination of the packet through the routing process, the packet is transmitted to the output buffer 160, and the output buffer 160 transmits the packet to another server connected to each buffer.

한편, 가상 데이터베이스와 CMS간의 데이터 전송을 위한 상기 가상 라우팅 소켓모듈(100)은 SOAP프로토콜을 이용한 웹서비스 형태의 네트워크 인터페이스인데, 웹서비스로 운영되므로 전송될 데이터 처리의 효율성이나 확장성을 위해 패킷을 XML로 구성한 것이다. 네트워크 인터페이스 간의 연결은 집중된 하나의 통신 서버를 두는 것도 방법이지만, 데이터 전송량의 증가와 동적인 네트워크에 안정적으로 서비스가 되려면 현재의 인터넷망처럼 분산된 통신망을 구축해야한다. 이에, 인터넷망의 프로토콜인 IP(Internet Protocol)의 구조로부터 가상데이터베이스 구축과 CMS간의 데이터 전송을 위하여 필요한 부분만을 추출하여 XML로 패킷을 구성하였다. 상기 도 2에 도시되어 있는 서비스 분파기(130)는 수신된 패킷들의 도착지를 식별하고, 상기 패킷에 포함되어 있는 TOS(Type Of Service)를 해석하여 적절한 서비스로 분배해 주는 역할을 한다. 패킷의 도착지를 알기 위해 상기 수신된 패킷의 헤더를 추출하고, 상기 헤더에서 얻은 도착지 정보와 환경변수로부터의 자신의 주소를 비교함으로써 자신에게 도착한 패킷인지를 구분한다. 도착지가 다른 서버라면 서비스 분파기(130)는 라우팅 프로세서(150)로 패킷을 전송하며, 그렇지 않은 경우에는 TOS(Type Of Service)에 따라 환경변수 관리, 또는 라우팅 테이블 관리와 같은 일을 수행하게 하며, 다른 서버로부터 어플리케이션으로 전송된 패킷인 경우에는 어플리케이션 관련 변수를 참조하여 적절한 수신버퍼(140)로 입력한다.On the other hand, the virtual routing socket module 100 for data transmission between the virtual database and the CMS is a network interface in the form of a web service using a SOAP protocol. It is composed of XML. The connection between network interfaces is a method of having one centralized communication server. However, in order to increase data transmission and provide reliable service to a dynamic network, a distributed communication network must be established like the current Internet network. Accordingly, the packet is composed of XML by extracting only the parts necessary for the construction of the virtual database and the data transmission between the CMS from the structure of IP (Internet Protocol), the protocol of the Internet network. The service splitter 130 illustrated in FIG. 2 identifies a destination of received packets, interprets a type of service (TOS) included in the packet, and distributes the packet to an appropriate service. To know the destination of the packet, the header of the received packet is extracted, and the destination information obtained from the header is compared with its address from an environment variable to distinguish whether the packet has arrived. If the destination is a different server, the service splitter 130 transmits the packet to the routing processor 150. Otherwise, the service splitter 130 performs a task such as environment variable management or routing table management according to the type of service (TOS). In the case of a packet transmitted to an application from another server, the packet is input to the appropriate receiving buffer 140 by referring to an application-related variable.

패킷의 구성방법을 표현한 스키마와 패킷의 구성을 나타내는 일실시예를 나타내면 다음과 같다.An example of a schema representing a packet construction method and a configuration of a packet is as follows.

<Packet><Packet>

- 설명 :- Explanation :

패킷 문서임을 나타냄Indicates that this is a packet document

- 엘리멘트 :Element:

+<Header>: 패킷의 전송정보들과 패킷의 서비스에 대한 정보를 기록하는 부분+ <Header>: Part that records packet transmission information and packet service information

+<Data>: 전송되는 데이터 부분+ <Data>: portion of data to be sent

+<Request>: Search와 같은 요청 시에 사용됨+ <Request>: used in requests such as Search

+<Response>: Request에 대한 응답 시에 사용됨+ <Response>: used in response to a request

- 스키마Schema

<xsd:element name="Packet"><xsd:complexType><xsd:sequence><xsd:element name="Header" type="HeaderType"></xsd:element><xsd:element name="Data" type="DataType"></xsd:element></xsd:sequence></xsd:complexType></xsd:element><xsd:complexType name="DataType"><xsd:sequence><xsd:element name="Request" minOccurs="0" type="RequestType"/><xsd:element name="Response" minOccurs="0" type="ResponseType"/></xsd:sequence></xsd:complexType><xsd: element name = "Packet"> <xsd: complexType> <xsd: sequence> <xsd: element name = "Header" type = "HeaderType"> </ xsd: element> <xsd: element name = "Data" type = "DataType"> </ xsd: element> </ xsd: sequence> </ xsd: complexType> </ xsd: element> <xsd: complexType name = "DataType"> <xsd: sequence> <xsd: element name = "Request" minOccurs = "0" type = "RequestType" /> <xsd: element name = "Response" minOccurs = "0" type = "ResponseType" /> </ xsd: sequence> </ xsd: complexType>

<Header><Header>

- 설명 :- Explanation :

패킷의 전송정보들과 패킷의 서비스에 대한 정보를 기록하는 부분Part that records the transmission information of the packet and the information about the service of the packet

- 엘리멘트 :Element:

+<TTL> : Time To Live, 통신모듈을 몇 홉까지 라우팅할 수 있는지에 대한 부분+ <TTL>: Time To Live, how many hops the communication module can route

+<Protocol> : 패킷을 해석할 프로토콜을 기입+ <Protocol>: Enter protocol to interpret packets

+<ScrIP> : 전송단의 가상 IP+ <ScrIP>: Virtual IP of the transmitting end

+<DestIP> : 수신단의 가상 IP+ <DestIP>: Virtual IP of the receiver

+<Ext> : 확장 검색을 정의하는 부분+ <Ext>: part defining extended search

+<Ext> : 확장 검색의 레벨을 정의하는 부분+ <Ext>: part defining the level of extended search

+<Opt> : 라우팅 옵션을 기입+ <Opt>: enter routing options

- 스키마와 예제 :Schemas and examples:

<xsd:complexType name="HeaderType"><xsd:sequence><xsd:element name="TTL" type="xsd:integer" /><xsd:element name="Protocol" type="xsd:string" /><xsd:element name="SrcIP" type="xsd:string" /><xsd:element name="DestIP" type="xsd:string" /><xsd:element name="Ext" type="xsd:string" /><xsd:element name="ExtLevel" type="xsd:integer" /><xsd:element name="Options" type="xsd:string" /></xsd:sequence><xsd:attribute name="Version" type="xsd:string" /><xsd:attribute name="TOS" type="xsd:string" /></xsd:complexType>예)<Header Version = "1.0" TOS = "Search"><TTL>32</TTL><Protocol>TelezenSearchWebService_Ver1.0</Protocol><SrcIP>61.33.50.1</SrcIP><DestIP>61.33.50.4</DestIP><Ext>Base</Ext><ExtLevel>0</ExtLevel><Options>NOOP</Options></Header><xsd: complexType name = "HeaderType"> <xsd: sequence> <xsd: element name = "TTL" type = "xsd: integer" /> <xsd: element name = "Protocol" type = "xsd: string" / > <xsd: element name = "SrcIP" type = "xsd: string" /> <xsd: element name = "DestIP" type = "xsd: string" /> <xsd: element name = "Ext" type = "xsd : string "/> <xsd: element name =" ExtLevel "type =" xsd: integer "/> <xsd: element name =" Options "type =" xsd: string "/> </ xsd: sequence> <xsd: attribute name = "Version" type = "xsd: string" /> <xsd: attribute name = "TOS" type = "xsd: string" /> </ xsd: complexType> Example) <Header Version = "1.0" TOS = "Search"> <TTL> 32 </ TTL> <Protocol> TelezenSearchWebService_Ver1.0 </ Protocol> <SrcIP> 61.33.50.1 </ SrcIP> <DestIP> 61.33.50.4 </ DestIP> <Ext> Base </ Ext> <ExtLevel> 0 </ ExtLevel> <Options> NOOP </ Options> </ Header>

<Request><Request>

- 설명 :- Explanation :

검색요청이나 통신 모듈간의 필요정보를 요청할 때 사용됨Used when requesting search or necessary information between communication modules

- 엘리멘트 :Element:

+<Command>: 요청하는 명령문을 나타냄+ <Command>: Indicates the requesting statement

+<ID>: 요청자의 Identification+ <ID>: Requester's Identification

+<PW>: 요청자의 패스워드+ <PW>: Requestor's password

+<Code>: 요청자의 식별을 위한 암호화코드+ <Code>: Encryption code to identify the requestor

+<Keyword>: 검색에서 사용되는 키워드+ <Keyword>: keyword used in the search

- 스키마와 예제 :Schemas and examples:

<xsd:complexType name="RequestType"><xsd:sequence><xsd:element name="Command" type="xsd:integer" /><xsd:element name="ID" type="xsd:string" /><xsd:element name="PW" type="xsd:string" /><xsd:element name="Code" type="xsd:string" /><xsd:element name="Keyword" type="xsd:string" /><xsd:element name="Discern" type="xsd:string" /></xsd:sequence><xsd:attribute name="id" type="xsd:string" /></xsd:complexType>예)<Data><Request id = "00364322"><Command>GetImage</Command><ID>jonah</ID><PW>telezen</PW><Code>tlz2003</Code><Keyword>강아지</Keyword><Discern>all</Discern></Request></Data><xsd: complexType name = "RequestType"> <xsd: sequence> <xsd: element name = "Command" type = "xsd: integer" /> <xsd: element name = "ID" type = "xsd: string" / > <xsd: element name = "PW" type = "xsd: string" /> <xsd: element name = "Code" type = "xsd: string" /> <xsd: element name = "Keyword" type = "xsd : string "/> <xsd: element name =" Discern "type =" xsd: string "/> </ xsd: sequence> <xsd: attribute name =" id "type =" xsd: string "/> </ xsd : complexType> Example) <Data> <Request id = "00364322"> <Command> GetImage </ Command> <ID> jonah </ ID> <PW> telezen </ PW> <Code> tlz2003 </ Code> <Keyword > Dog </ Keyword> <Discern> all </ Discern> </ Request> </ Data>

<Response><Response>

- 설명 :- Explanation :

응답데이터로 검색의 결과나 데이터 전송상태, 라우팅 테이블 등의 활용도 가능As response data, it is possible to utilize search results, data transmission status, routing table, etc.

- 속성 :- property :

+<id> : 응답 데이터 인식 코드+ <id>: response data recognition code

- 엘리멘트 :Element:

+<URL> : 컨텐츠 저장소의 URL타입 주소+ <URL>: URL type address of content store

+<CATEGORY> : 컨텐츠 카테고리+ <CATEGORY>: content category

+<DISCERN> : 컨텐츠 인식 코드+ <DISCERN>: Content Recognition Code

+<NAME> : 컨텐츠 타이틀+ <NAME>: content title

- 스키마와 예제 :Schemas and examples:

<xsd:complexType name="ResponseType"><xsd:sequence><xsd:element name="CONTENT" minOccurs="0" maxOccurs="unbounded"><xsd:complexType><xsd:attribute name="URL" type="xsd:string" /><xsd:attribute name="CATEGORY" type="xsd:integer" /><xsd:attribute name="DISCERN" type="xsd:string" /><xsd:attribute name="NAME" type="xsd:string" /></xsd:complexType></xsd:element></xsd:sequence><xsd:attribute name="id" type="xsd:string" /></xsd:complexType>예)<Data><Response id= "00364322"><CONTENT URL="http://WebtutorNet.telezen.com/Images/a.jpg"CATEGORY="2" DISCERN="image" NAME="강아지" /><CONTENT URL="http://WebtutorNet.telezen.com/Images/b.jpg"CATEGORY="1" DISCERN="image" NAME="천재 조" /><CONTENT URL="http://webtutornet.telezen.com/images/22_000037.JPG"CATEGORY="1" DISCERN="image" NAME="캠브리지" /><CONTENT URL="http://webtutornet.telezen.com/images/22_000038.JPG"CATEGORY="2" DISCERN="image" NAME="옥스포드" /></Response></Data><xsd: complexType name = "ResponseType"> <xsd: sequence> <xsd: element name = "CONTENT" minOccurs = "0" maxOccurs = "unbounded"> <xsd: complexType> <xsd: attribute name = "URL" type = "xsd: string" /> <xsd: attribute name = "CATEGORY" type = "xsd: integer" /> <xsd: attribute name = "DISCERN" type = "xsd: string" /> <xsd: attribute name = "NAME" type = "xsd: string" /> </ xsd: complexType> </ xsd: element> </ xsd: sequence> <xsd: attribute name = "id" type = "xsd: string" /> </ xsd: complexType> Example) <Data> <Response id = "00364322"> <CONTENT URL = "http://WebtutorNet.telezen.com/Images/a.jpg" CATEGORY = "2" DISCERN = "image" NAME = "Puppy" /> <CONTENT URL = "http://WebtutorNet.telezen.com/Images/b.jpg" CATEGORY = "1" DISCERN = "image" NAME = "Genius Joe" /> <CONTENT URL = "http : //webtutornet.telezen.com/images/22_000037.JPG "CATEGORY =" 1 "DISCERN =" image "NAME =" Cambridge "/> <CONTENT URL =" http://webtutornet.telezen.com/images/22_000038 .JPG "CATEGORY =" 2 "DISCERN =" image "NAME =" Oxford "/> </ Response> </ Data>

상기 서비스 분파기(130)로부터 패킷을 수신하는 라우팅 프로세서(150)는 수신한 XML패킷으로부터 헤더 정보를 추출하고, TTL(Time To Live)를 1만큼 감소시킨다. 만일 감소시킨 값이 0이거나 그보다 적은 경우에는 폐기되어야 하는 패킷이므로 메모리에서 삭제해 버린다. 그렇지 않은 경우에는 도착지 주소 정보를 헤더로부터 추출하여 매칭 가능한 모든 출력버퍼의 리스트를 라우팅 테이블(152)로부터 얻는다. 이때, 가장 빠른 라우팅을 위해서 Longest Matching 과정을 한번 더 거치게되는데, 상기 Longest Matching 방법은 매칭이 가능한 주소들 중에 서브넷 마스크가 가장 긴 주소를 선택함으로써 결과적으로 가장 구체적인 Route를 연결시킨다.이러한 과정을 통해서 얻어낸 출력버퍼(160)의 주소로 패킷을 전달해 주게 되고, QOS 방식에 따라 적절히 분배되어 다른 서버로 전송하게 된다.The routing processor 150 receiving the packet from the service splitter 130 extracts header information from the received XML packet and decreases the time to live (TTL) by one. If the reduced value is 0 or less, the packet should be discarded from memory because it should be discarded. Otherwise, the destination address information is extracted from the header to obtain a list of all matchable output buffers from the routing table 152. In this case, the longest matching process is performed once again for the fastest routing, and the longest matching method selects the longest address of the subnet mask among the available addresses and consequently connects the most specific route. The packet is delivered to the address of the output buffer 160, and is properly distributed according to the QOS method and transmitted to another server.

도 3은 본 고안에 따른 가상 라우팅 소켓모듈의 동작을 나타내는 일실시예 처리흐름도로서 웹서비스 서버가 검색을 위해 수신서버를 지정하여 검색 질의어와 검색 범위를 가상 라우팅 소켓모듈로 전송하면, 상기 가상 라우팅 소켓모듈은 XML 패킷의 헤더를 작성하여 기존의 내용물에 덧붙여 상기 지정된 수신서버로 전송한다. 상기 지정된 수신서버는 XML 패킷을 수신하는 즉시 TTL 값을 1만큼 감소시키고(S1), 상기 패킷에 포함된 DstIP가 자신인지를 검사(S2)한 후, DstIP가 자신이면, TOS에 따라 적합한 웹서비스 내의 모듈로 패킷을 넘긴다. 만일 DstIP가 자신이 아니면 라우팅 모듈(S6)에 패킷을 넘겨, 라우팅 테이블에 따라 데이터를 전송한다(S8). 라우팅 모듈(S6)에 패킷을 넘긴 후 패킷의 TOS, Ext, ExtLevel 태그등을 검사하고(S7), 만일 검색서비스 모듈(S4)로 전송해야 하는 패킷인 경우에는 검색서비스 모듈에 패킷을 전송한다.3 is a flowchart illustrating an operation of a virtual routing socket module according to the present invention. When a web service server designates a receiving server for searching and transmits a search query and a search range to a virtual routing socket module, the virtual routing The socket module prepares a header of an XML packet, appends it to an existing content, and sends it to the designated receiving server. Upon receiving the XML packet, the designated receiving server decreases the TTL value by 1 (S1), checks whether the DstIP included in the packet is its own (S2), and if the DstIP is its own, a suitable web service according to the TOS. Pass a packet to a module in it. If the DstIP is not itself, the packet is delivered to the routing module S6, and data is transmitted according to the routing table (S8). After passing the packet to the routing module S6, the TOS, Ext, and ExtLevel tags of the packet are checked (S7). If the packet is to be transmitted to the search service module S4, the packet is transmitted to the search service module.

도 4는 본 고안에 따른 XVIP 프로토콜 스택을 나타내는 예시도로서, 상기 XVIP는 IPv4의 통신 기능을 SOAP 레이어(layer)위에서 에뮬레이팅(Emulating)하는데, 모든 서버에 가상의 IP를 부여하고, 각각의 서버들에게 라우팅 기능을 부여함으로써, IPv4의 라우팅 기능을 에뮬레이션(Emulation)할 수 있도록 하여, 서버 네트워크의 확장을 용이하게 할 수 있도록 한다.4 is an exemplary diagram illustrating an XVIP protocol stack according to the present invention. The XVIP emulates a communication function of IPv4 on a SOAP layer, and assigns a virtual IP to all servers, and each server. By providing a routing function to each other, it is possible to emulate the routing function of IPv4, to facilitate the expansion of the server network.

상기 XVIP는 네트워크의 확장성과 안정성을 제공하는 프로토콜로서, 확장성 측면에서 보면, 일반적으로 SOAP만으로도 검색, 유통 등 필요한 기능을 수행할 수 있지만, 분산 데이터베이스에 서버가 확장될수록 각 서버에 SOAP전송까지 관여하는 복잡한 모듈이 설치되어야 하고, 전송작업에 대한 자세한 설명이 필요하다. 또한, 분산 데이터베이스 그룹에 참여하는 서버가 많아지면 많아질수록 각 서버들에 대한 정보를 모든 서버가 유지하는데 많은 노력을 기울여야 한다. 그러나, 인터넷이 라우터의 추가와 삭제에 대처하는 능력이 우수하므로, 본 고안에서는 이러한 개념을 분산 데이터베이스의 서버 추가와 삭제에 그대로 적용하기 위해 새로이 XVIP(XML Virtual Internet Protocol)을 제공함으로써, 각각의 서버들이 라우팅 기능을 수행하도록 하여 분산 데이터베이스의 확장성을 극대화할 수 있도록 하였다. 상기 XVIP를 사용할 경우 각 서버들은 모든 서버들과의 연결 관계를 기억할 필요 없고, 인접한 서버들과의 연결 관계만 기억하고 있으면 된다. 각 서버는 이미 검색한 결과에서 각 검색 키워드에 대해 어떤 서버에서 관련 컨텐츠가 존재했었는지의 히스토리만을 저장하고 있으며, 라우팅에 의해 각 서버로 찾아갈 수 있다. IP의 개념을 이용하였기 때문에 특정 플래그를 설정하여 브로드 캐스트, 멀티캐스트 등의 작업으로 여러 서버에서 동시에 검색이 가능하며, 이를 응용한 여러 가지 확장 검색 방법도 적용 가능하다. SOAP을 이용하면, 다수의 서버에 대해 체계적인 전송관리 서비스를 수행하기 어렵기 때문에, 서비스의 확장이 어렵다. 특히 한 CMS업체에서의 분산 데이터베이스 개념이 아닌, 여러 업체들간의 유통 서비스를 활성화 시킨다는 측면에서 보면, 분산 데이터베이스에 참여하는 서버가 다수가 되는 것을 고려해야 하므로, 다수의 서버를 지원할 수 있는 통신 프로토콜을 작성하여 이를 분산 데이터베이스에 적용하는 것은 매우 유용한 일이다. 한편, 안정성 측면에서 보면 기존 인터넷에서의 TCP/IP 에 대해서는 라우터들의 정보 유지를 위한 연구가 계속 진행되어 왔고 지금도 진행중이다. 현재 분산 환경의 변화에 적절한 대응을 하는 분야에 대해 가장 활발히 연구가 진행되어 왔고, 가장 앞서 있는 분야가 이 분야라고 할 수 있으므로, 본 고안에 따른 분산 데이터베이스들 간의 연결 방법에도 인터넷에서의 라우팅 개념을 도입하여 동일한 안정성을 얻을 수 있다. 또한, SOAP 프로토콜 위에 XVIP 프로토콜을 위치함으로써, 각 서버들 간의 직접적인 컨텐츠 거래에도 응용이 가능하다. 각 서버들 간에는 직접적으로 TCP/IP위에 통신 채널을 연결할 수 있으나, 하위레벨 프로토콜인 TCP/IP까지 관여해야 하는 부담이 있으며, 통신 경로상에 방화벽이 있는 경우는 그에 대한 고려도 해주어야 한다. 따라서, 방화벽과 상관없이 통신할 수 있는 SOAP을 이용하는 것은 타당한 방법이 될 수 있으며, XVIP를 이용하여 SOAP 통신을 할 때, 기존의 TCP/IP에서의 전송방법과 유사한 인터페이스를 사용함으로서 전송 어플리케이션을 쉽게 작성할 수 있도록 해주는 장점이 있다.또한, 전송과정과 전송 관리 과정에 기존의 인터넷에서 사용하던 보안 프로토콜과 성능 향상 기법 등을 그대로 적용시켜 효과를 볼 수 있으므로 그 발전 가능성이 많다.The XVIP is a protocol that provides scalability and stability of the network. In terms of scalability, generally, SOAP can perform necessary functions such as search and distribution. However, as servers are expanded in a distributed database, SOAP transmission is involved in each server. Complex modules need to be installed and a detailed description of the transfer is required. In addition, the more servers that participate in a distributed database group, the more effort should be made to keep all servers aware of each server. However, since the Internet is excellent in coping with the addition and deletion of routers, the present invention provides a new XML Virtual Internet Protocol (XVIP) to apply this concept to the addition and deletion of servers in a distributed database. By allowing them to perform routing functions, the scalability of distributed databases can be maximized. In the case of using the XVIP, each server does not need to remember a connection relationship with all servers, but only a connection relationship with adjacent servers. Each server stores only the history of which related content existed in each server for each search keyword in the search results, and each server can go to each server by routing. Since the concept of IP is used, it is possible to search by multiple servers at the same time by setting a specific flag and broadcasting, multicast, etc., and it is also possible to apply various extended search methods applying this. Using SOAP, it is difficult to extend a service because it is difficult to perform a systematic transport management service for a plurality of servers. In particular, in terms of activating distribution services among multiple companies, not the concept of distributed database in one CMS company, it is necessary to consider the number of servers participating in the distributed database. Therefore, create a communication protocol that can support multiple servers. It is very useful to apply it to distributed databases. On the other hand, in terms of stability, studies on maintaining information of routers on TCP / IP in the existing Internet have been and are still in progress. Currently, the most active researches have been conducted on the areas that respond appropriately to changes in the distributed environment, and the most advanced areas are this field. The same stability can be obtained by introducing. In addition, by placing the XVIP protocol on top of the SOAP protocol, it can be applied to direct content transactions between servers. Each server can directly connect a communication channel over TCP / IP, but there is a burden to involve TCP / IP, which is a lower-level protocol, and if there is a firewall in the communication path, it must be considered. Therefore, using SOAP that can communicate regardless of firewall can be a reasonable method. When SOAP communication is performed using XVIP, it is easy to make transmission application by using an interface similar to that of TCP / IP. It also has the advantage of being able to write.In addition, the security protocol and performance improvement techniques used in the Internet can be applied to the transmission process and the transmission management process, so that there is a great possibility of development.

본 고안에 따른 XVIP는 주로 IP(Internet Protocol - IETF RFC791), UDP(User Datagram Protocol - IETF RFC768), TCP(Transmission Control Protocol - IETF RFC793), ICMP(Internet Control Message Protocol - IETF RFC792),ARP(Address Resolution Protocol - IETF RFC826), RIP(Routing Information Protocol - IETF RFC1058 RIPv1 , IETF RFC2453 RIPv2), OSPF(Open Shortest Path First - IETF RFC1583 OSPFv2)와 같은 프로토콜을 참조하였다.XVIP according to the present invention is mainly IP (Internet Protocol-IETF RFC791), UDP (User Datagram Protocol-IETF RFC768), TCP (Transmission Control Protocol-IETF RFC793), ICMP (Internet Control Message Protocol-IETF RFC792), ARP (Address References were made to protocols such as Resolution Protocol-IETF RFC826), Routing Information Protocol-IETF RFC1058 RIPv1, IETF RFC2453 RIPv2), and OSPF (Open Shortest Path First-IETF RFC1583 OSPFv2).

- XVIP의 헤더구조-Header structure of XVIP Packet FieldPacket field IPv4IPv4 XVIPXVIP 용법usage PacketPacket -- 패킷 태그Packet tag <Packet></Packet><Packet> </ Packet> HeaderHeader -- 헤더 태그Header tag <Header></Header><Header> </ Header> VersionVersion IP의 versionIP version XVIP의 버전Version of XVIP Header의 PropertyProperty of Header HeaderLengthHeaderLength 헤더의 길이The length of the header -- -- TOSTOS 서비스의 종류(Type of Service)Type of Service 서비스의 종류(Search, Transfer 등)Type of service (Search, Transfer, etc.) Header의 PropertyProperty of Header TotalLengthTotallength 패킷 전체의 길이The length of the entire packet -- -- IdentificationIdentification 패킷분할 시 참조정보Reference Information for Packet Splitting -(분할안함)-(No split) -- FlagsFlags 패킷분할 시 참조정보Reference Information for Packet Splitting -(분할안함)-(No split) -- FragmentOffsetFragmentOffset 패킷분할 정보Packet segmentation information -(분할안함)-(No split) -- TTLTTL Time-to-LiveTime-to-live Time-to-LiveTime-to-live <TTL> </TTL><TTL> </ TTL> ProtocolProtocol 상위프로토콜High Protocol 상위프로토콜High Protocol <Protocol> </Protocol><Protocol> </ Protocol> HeaderChecksumHeaderChecksum 헤더유효성검사값Header Validation Value -- -- SourceIP AddressSourceIP Address 발신자 IPCaller IP 발신Web ServiceServer IPOutgoing Web ServiceServer IP <SrcIP> </SrcIP><SrcIP> </ SrcIP> Destination IP AddressDestination IP Address 수신자 IPReceiver IP 수신Web ServiceServer IPIncoming Web ServiceServer IP <DestIP> </DestIP><DestIP> </ DestIP> ExtExt -- 확장검색 방법Broad match method <Ext> </Ext><Ext> </ Ext> ExtLevelExtLevel -- 검색 확장 가능 범위Search Extensible Range <ExtLevel> </ExtLevel><ExtLevel> </ ExtLevel> OptionsOptions 옵션option 옵션option <Options>NOOP</Options><Options> NOOP </ Options>

<표 1>은 XVIP의 헤드구조를 나타낸 예로서, 'Packet' 항목은 기존의 IPv4에는 없던 항목으로 XML파일안의 내용물이 패킷임을 알려주는 역할을 하는 항목이다. 본 고안에서는 <Packet>태그와 </Packet>태그 사이의 내용물을 사용하게 된다. 'Header' 항목 역시 기존 IPv4에 없던 항목으로 <Header>와 </Header>사이의 내용물이 제어정보가 담기는 헤더임을 의미한다.'Version' 항목은 현재 사용되고 있는프로토콜의 버전을 지시하는 것으로서, 내용물은 0.9, 1.0, 1.532 등의 숫자를 사용하고, 숫자의 범위는 소수점 밑 셋째자리까지 기입 가능하다. 'Header Length' 항목은 IPv4의 IP헤더 길이를 나타내던 항목으로서, 본 고안의 프로토콜에서는 헤더길이를 알지 않더라도 </Header>태그로 헤더의 끝을 알 수 있기 때문에 사용하지 않는다. 'TOS' 항목 역시 IPv4에서 사용되던 항목으로, 서비스의 종류를 지시하는 항목이다. 본 고안의 프로토콜에서는 검색서비스를 지칭하는 'Service', 직접 데이터 전송 서비스를 지칭하는 'Transfer' 등을 그 내용물로 할 수 있다.'Total Length' 항목은 패킷의 전체 길이를 지칭하는 항목으로 IPv4에서 사용되는 항목이나 본 고안에서는 사용되지 않는다. 'Identification', 'Flags', 'Fragment Offset' 등의 항목은 IP 라우팅의 기본 특성인 패킷분할에 사용되는 항목으로서 본 고안에서는 패킷 분할 기능을 사용하지 않기 때문에 역시 사용되지 않는다. Header 이후에 지금까지 소개하였던 항목들은 패킷 생성 초기에 모두 결정되는 값이므로 Header 태그의 Property 값으로 지정된다. TTL은 IP의 라우팅시 사용되던 항목으로 라우터를 하나 거칠 때마다 그 값이 감소하여 그 값이 0이 되면 패킷으로서의 기능을 상실하고 곧 소멸되게 하는 항목이다. 본 고안에서도 같은 기능을 한다. TTL값은 Router를 지날때마다 값이 변하므로 Header의 property로 지정하지 않고 별도의 항목으로 설정한다. Protocol 항목은 본 고안에서 정해지는 패킷을 사용하는 서비스의 종류를 지칭하는 항목이다. 그 서비스의 수행을 위해 본 고안의 프로토콜이 지원할 사항이 있을 때, 상위서비스의 종류를 알기 위한 항목이며, 본 프로토콜에서는 Protocol 항목을 변경하기 위한 함수를 상위 프로토콜에 제공한다.'HeaderChecksum'항목은 IPv4에서 헤더정보가 유효한지를 검사하기 위한 특별 항목이었으나, 본 프로토콜의 패킷은 이미 하위 프로토콜에서 유효성 검사를 마친 패킷이므로 별도의 유효성 검사가 필요하지 않다. 따라서 본 항목은 사용하지 않는다.'SourceIP Address'항목은 전송자의 주소를 기입하는 항목으로 <SrcIP>태그와 </SrcIP>태그 사이에 IP Address내용을 기입하는 방법을 통해 수행한다. 'DestinationIP Address' 항목은 수신자의 주소를 기입하는 항목으로 역시 <DestIP>태그와 </DestIP>태그 사이에 IP Address내용을 기입하는 방법을 통해 수행한다.'Extension' 항목과 'Priority' 항목은 확장 검색 방법에 사용되는 항목들이다. 'Extension'항목은 <Ext> 태그와 </Ext> 태그사이에 'Base', 'Forward', 'Backward' 등의 문자열을 기입하여 그 기능을 수행할 수 있다. Base는 기본 검색 방법을 지칭하는 내용이고, Forward 는 확장 검색 방법 중 Forward 확장 검색 방법, Backward 는 확장 검색 방법 중 Backward 확장 검색 방법을 각각 의미한다.'ExtLevel' 항목은 확장 검색 방법의 세부 기능을 지시하는 항목이다. 항목은 0, 1, 2, 3, 4 등의 일반 십진수이며, 항목이 0이면 확장 검색 방법을 사용하지 않음을 의미하고, 항목이 0이 아니면 확장 검색 방법을 사용함을 의미한다. 이때, 검색 방법이 백워드 확장 검색이면 항목이 0이 아닐 때 확장 검색을 수행하며, 항목이 0이면 확장 검색을 수행하지 않는다. 검색 방법이 포워드 확장 검색이고 항목이 0이면 확장 검색을 수행하지 않으며, 항목이 0이 아닌 숫자면 숫자만큼 확장 레벨을 증가 시킬 수 있다. 라우팅 과정 중에 0이 아닌 확장 레벨은 하나의 라우터를 지나면서 1씩 감소하여 0이 되면 확장 검색을 마치게 된다. 각 검색 방법에 대해 XVIP 태그가 어떻게 적용되는지 예를 나타내면 다음 <표2>와 같다. Option' 항목은 서비스에 필요한 기능 지원을 위해 추후에 내용을 기입하기 위한 항목으로 현재는 아무런 내용도 기입하지 않는다.<Table 1> is an example of the head structure of XVIP. 'Packet' item is an item that does not exist in IPv4 and informs that the contents of the XML file are packets. In this design, the contents between the <Packet> and </ Packet> tags are used. The 'Header' item also exists in the existing IPv4, meaning that the content between <Header> and </ Header> is a header containing control information. The 'Version' item indicates the version of the protocol currently being used. Use numbers such as 0.9, 1.0, 1.532, etc., and the range of numbers can be written to the third digit after the decimal point. The 'Header Length' item indicates the IP header length of the IPv4. In the protocol of the present invention, even though the header length is not known, the </ Header> tag does not use the header. The 'TOS' item was also used in IPv4 and indicates the type of service. In the protocol of the present invention, 'Service', which refers to a search service, and 'Transfer', which refers to a direct data transmission service, may be the contents. The 'Total Length' item refers to the total length of a packet. Items used or not used in the present invention. Items such as 'Identification', 'Flags', and 'Fragment Offset' are used for packet splitting, which is the basic characteristic of IP routing, and are not used because the packet splitting function is not used in the present invention. Since the items introduced up to now after the header are all determined at the beginning of packet generation, they are designated as property values of the header tag. TTL is an item used during IP routing. It decreases every time it passes through a router. When the value reaches 0, the TTL loses its function as a packet and is soon destroyed. The same function in the present invention. The TTL value changes every time the router passes, so do not set it as a property of the header and set it as a separate item. The Protocol item is an item that refers to a type of service using a packet determined in the present invention. When the protocol of the present invention supports the performance of the service, it is an item to know the type of higher service, and this protocol provides a function to change the Protocol item to the upper protocol. The 'HeaderChecksum' item is IPv4. Was a special item for checking the validity of header information, but since the packet of this protocol has already been validated by the lower protocol, no additional validation is required. Therefore, this item is not used. The 'SourceIP Address' item is used to enter the sender's address. This is done by writing the IP address between <SrcIP> and </ SrcIP> tags. The 'DestinationIP Address' item is used to enter the recipient's address. This is done by entering the IP address between the <DestIP> and </ DestIP> tags. The 'Extension' and 'Priority' items are extended. Items used in the search method. 'Extension' item can execute its function by writing 'Base', 'Forward', 'Backward', etc. between <Ext> and </ Ext> tags. Base refers to the basic search method, Forward refers to the forward extended search method among extended search methods, and Backward refers to the extended backward search method among extended search methods. The 'ExtLevel' item indicates the detailed function of the extended search method. It is an item. The item is a general decimal number such as 0, 1, 2, 3, 4, etc. If the item is 0, the extended search method is not used. If the item is not 0, the extended search method is used. At this time, if the search method is backward extended search, the extended search is performed when the item is not 0. If the search method is 0, the extended search is not performed. If the search method is forward extended search and the item is 0, the extended search is not performed. If the item is a non-zero number, the extended level can be increased by a number. During the routing process, the non-zero extension level is decremented by one as it passes through one router, and when it reaches zero, the extended search is completed. <Table 2> is an example of how XVIP tag is applied to each search method. Option 'item is to write the information later to support the function required for the service. Currently, nothing is written.

검색 방법에 따른 XVIP 태그 설정의 예Example of XVIP Tag Setting by Search Method 기본검색Basic search 기본확장검색Basic broad match Backward확장검색Backward Extended Search Forward확장검색Forward broad match ExtExt BaseBase Backward orForwardBackward orforward BackwardBackward ForwardForward ExtLevelExtLevel Don't CareDon't care 00 1~TTL값만큼의 수As many as 1 to TTL 확장 검색 레벨에 따라According to the extended search level

- XVIP Packet field ValueXVIP Packet field Value

<표3>은 XVIP 패킷의 각 필드 값을 나타내는 예이다.Table 3 shows an example of each field value of the XVIP packet.

XVIP Packet field ValueXVIP Packet field Value 기본값Default 예시example 비고Remarks VersionVersion 1.01.0 1.0, 2.1, 3.51.0, 2.1, 3.5 초기버전은 1.0이다.The initial version is 1.0. TOSTOS SearchSearch Search : 검색 패킷Transfer : 데이터 전송 패킷Ack : 응답 패킷Search: Search packet Transfer: Data transmission packet Ack: Response packet -- TTLTTL 1One 1,2,3,4 ...1,2,3,4 ... 라우터를 지날 때마다 1씩 감소Decrease by 1 each time you pass a router ExtExt BaseBase Base : 기본 검색Base Extension : 기본 확장 검색Forward : 포워드 확장 검색Backward : 백워드 확장 검색Base: Basic Search Base Extension: Basic Extended Search Forward: Forward Extended Search Backward: Backward Extended Search 검색패킷 이외의 패킷에서는 무시된다.It is ignored for packets other than search packets. ExtLevelExtLevel 00 0 : 기본확장 검색1, 2, 3, 4 ... : 포워드 확장 레벨0: Basic expansion search 1, 2, 3, 4 ...: Forward expansion level 검색패킷 이외의 패킷에서는 무시된다.It is ignored for packets other than search packets.

- 패킷의 예-Packet example

<Packet> //이제부터 패킷<Packet> // packet now

<Header version="1.0" TOS="Search"> //이제부터 헤더,<Header version = "1.0" TOS = "Search"> // Now the header,

//버전 : 1.0, Search Packet// version: 1.0, Search Packet

<TTL>40</TTL> //40 hop을 진행할 수 있음<TTL> 40 </ TTL> // 40 hops available

<Protocol>XVTCP</Protocol> // 상위 프로토콜은 XVTCP<Protocol> XVTCP </ Protocol> // parent protocol is XVTCP

<SrcIP>61.33.50.28</SrcIP> // 전송자의 가상 IP는 61.33.50.28<SrcIP> 61.33.50.28 </ SrcIP> // Sender's virtual IP is 61.33.50.28

<DestIP>163.239.143.167</DestIP>//수신자의 가상 IP :<DestIP> 163.239.143.167 </ DestIP> // Recipient's virtual IP:

163.239.143.167163.239.143.167

<Ext>Forward</Ext> //확장검색방법은 Forward 확장검색<Ext> Forward </ Ext> // Extended match is Forward broad match

<ExtLevel>4</ExtLevel> //포워드 확장검색은 4hop까지 수행<ExtLevel> 4 </ ExtLevel> // Forward broad match up to 4hop

<Options>NOOP</Options> // No Option<Options> NOOP </ Options> // No Option

</Header> // 헤더 끝</ Header> // end of header

<Data> // 데이터 시작<Data> // start of data

</Data> // 데이터 끝</ Data> // end of data

</Packet> // 패킷 끝</ Packet> // end of packet

도 5는 본 고안에 따른 라우팅을 위한 연결구조를 나타내는 예시도로서, 서버들에 가상의 IP를 부여하고 난 후에는, 각각의 서버들간의 네트워크를 구성하여야 한다. 서버들 간의 네트워크 구성에 있어서 가장 이상적인 방법은 모든 서버가 완전히 연결된 풀메쉬(Full - Mesh)구조 이겠으나, 이는 다수의 서버를 지원하기 어렵다는 단점을 갖고 있다. 따라서, 각 서버간의 연결은 주 제어서버에의 연결 순서에 따라 가상의 물리적인 경로를 가지게 되며, 이렇게 생성된 물리적인 경로 위에서 라우팅 패스가 설정된다. 라우팅 패스는 현재 IPv4에서 사용되고 있는 여러가지의 알고리즘을 그대로 사용할 수 있다. 대표적으로 RIP - 1, 2, OSPF 등을 들 수 있으며, 네트워크에 참여하는 서버의 규모에 따라 선택할 수 있다. 특히, 프로토콜이 활성화 되어 네트워크에 참여하는 서버의 수가 매우 많을 경우에는 인터넷에서 사용하는 BGP와 같은 Boarder Gateway Protocol을 사용하여 서버군인 Autonomous System을 지역적으로 분류하여 그 규모를 감당할 수도 있다. 네트워크에 참여하는 서버가 소규모인 경우에는 OSPF를 사용한다. OSPF의 특성이 소규모 네트워크에서 최적의 라우팅 패스를 생성할 수 있기 때문이다. 규모가 큰 경우에는 RIP를 사용하여 라우팅 패스를 구성할 수 있으며, 최근 인터넷에서 사용하고 있는 RIP-2 등의 최신 라우팅 기술도 그대로 적용 시킬 수 있다. 어떤 라우팅 알고리즘을 적용시키든지 각 라우팅 모듈에는 전송대상과 그에 맞는 인터페이스를 매칭시키는 라우팅 테이블이 존재한다. 본 고안에서는 복잡한 라우팅 테이블을 필요한 기능만으로 제한시켜 최대한 단순화 시켰다. 라우터의 기본 기능은 RIP version 1을 참조하였으나, 향후 네트워크의 확대에 따라 RIP version 2나 OSPF version 2등의 다른 라우팅 알고리즘을 사용할 수도 있다. RIP version 1을 응용한 라우팅의 실시예는 아래와 같다.5 is an exemplary view showing a connection structure for routing according to the present invention. After granting virtual IPs to servers, a network between each server should be configured. The ideal method for network configuration among servers is a full mesh structure in which all servers are completely connected, but it has a disadvantage in that it is difficult to support multiple servers. Therefore, the connection between each server has a virtual physical path according to the connection order to the main control server, and a routing path is established on the generated physical path. The routing pass can use various algorithms currently used in IPv4. Representative examples include RIP-1, 2, OSPF, etc., depending on the size of the servers participating in the network. In particular, when the protocol is activated and the number of servers participating in the network is very large, the Autonomous System, which is a group of servers, can be classified locally using the Boarder Gateway Protocol such as BGP used on the Internet. OSPF is used for small servers participating in the network. This is because the nature of OSPF can create optimal routing paths in small networks. In large cases, the RIP can be used to configure routing paths, and the latest routing technologies such as RIP-2, which are currently used on the Internet, can be applied. Regardless of which routing algorithm is applied, each routing module has a routing table that matches the transmission target and the corresponding interface. In this design, the complex routing table is limited to the necessary functions and simplified as much as possible. The basic function of the router was referred to RIP version 1. However, as the network expands in the future, other routing algorithms such as RIP version 2 or OSPF version 2 may be used. An embodiment of routing using RIP version 1 is as follows.

라우터 RTA 에서의 Routing Table(RIP)Routing Table (RIP) in Router RTA DestinationDestination Next HopNext hop Hop CountHop count 192.10.1.0192.10.1.0 Connected(E0)Connected (E0) -- 192.10.2.0192.10.2.0 Connected(S1)Connected (S1) -- 192.10.3.0192.10.3.0 Connected(S2)Connected (S2) -- 192.10.4.0192.10.4.0 192.10.2.2(S1)192.10.3.2(S2)192.10.2.2 (S1) 192.10.3.2 (S2) 1111 192.10.5.0192.10.5.0 192.10.2.2(S1)192.10.2.2 (S1) 1One 192.10.6.0192.10.6.0 192.10.3.2(S2)192.10.3.2 (S2) 1One

<표 4>의 라우팅 테이블은 RIP version 1의 라우팅 방법을 사용한 라우팅 테이블의 예로서, 도 5에서 도시한 네트워크 구조를 가정하여 만들어낸 가상의 라우팅 테이블이다. 상기 <표 4>의 라우팅 테이블에 의하면 라우터1에 목적지가 192.10.1.xxx 인 패킷이 들어오면 라우터1은 E0 인터페이스로 패킷을 전달한다. 이때, 192.10.1.xxx인 host들은(예를들면, 192.10.1.2) 라우터1에 직접 연결되어 있으므로 "Connected"라는 표현을 덧붙이고, 직접 연결되어 있기 때문에 Hop Count는 기록하지 않는다. 마찬가지로, 192.10.2.xxx, 192.10.3.xxx는 직접 연결되어 있는 주소들이기 때문에 192.10.1.xxx에서의 예와 같은 방법으로 처리한다. 192.10.4.xxx 와 192.10.5.xxx, 192.10.6.xxx의 주소들을 가지는 목적지에 대해서는 라우팅 테이블에 따라 각각에 맞는 인터페이스로 패킷을 내보낸다. 192.10.4.xxx의 주소에 대해서는 라우팅 테이블에 의하면 라우터2와 라우터3으로 보내어 처리할 수 있다. 상기 도 5에서 도시한 바와 같이, 192.10.1.2 의 주소를 가지는 호스트1이 192.10.6.2 의 주소를 가지는 호스트3으로 패킷을 보내기 위해서는 라우터1과 라우터2를 거쳐 패킷을 보내게 되는데, 이때 라우터1에서는 라우팅 테이블에 따라 S2인터페이스로 패킷을 내보내어 라우터3의 192.10.3.2인터페이스에 패킷이 도달하도록 한다. Hop Count는 1이기 때문에 라우터 단에서 TTL값을 하나 감소시킨다.The routing table of Table 4 is an example of a routing table using the routing method of RIP version 1, and is a virtual routing table created assuming the network structure shown in FIG. According to the routing table of Table 4, when a packet having a destination of 192.10.1.xxx enters the router 1, the router 1 forwards the packet to the E0 interface. At this time, 192.10.1.xxx hosts (for example, 192.10.1.2) are directly connected to Router 1, so the expression “Connected” is added. Since they are directly connected, the Hop Count is not recorded. Similarly, since 192.10.2.xxx and 192.10.3.xxx are directly connected addresses, they are processed in the same way as in 192.10.1.xxx. For destinations with addresses 192.10.4.xxx, 192.10.5.xxx, and 192.10.6.xxx, packets are sent to the corresponding interfaces according to the routing table. The address of 192.10.4.xxx can be sent to Router 2 and Router 3 for processing according to the routing table. As shown in FIG. 5, Host 1 having an address of 192.10.1.2 sends packets through Router 1 and Router 2 to send a packet to Host 3 having an address of 192.10.6.2. The packet is sent to the S2 interface according to the routing table so that the packet reaches the 192.10.3.2 interface of Router 3. Since Hop Count is 1, the TTL value is decreased by one at the router.

도 6은 본 고안에 따른 제어서버를 이용한 새로운 데이터 서버의 연결 과정을 나타내는 예시도로서, 제어 서버는 데이터 서버1이 IP를 요청하면, IP를 부여하는 작업을 수행하고(S1), 인접 라우터에 대한 정보를 제공하여(S2) 네트워크를 구성할 수 있게 한다. 정보를 받은 상기 데이터 서버1는 인접 라우터들에게 메시지를 보내어 연결 설정 과정을 수행하고 최종적으로 네트워크에 참여한다. 한편, 상기 제어서버로부터의 IP부여는 기존 인터넷의 NIC(Network Information Center)가 수행하던 ISP에의 IP부여 방식을 참조하여 IP영역 할당을 수행한 후, DHCP를 응용한 자동 IP부여 방식을 사용하는 것을 원칙으로 한다. 이런 IP할당 방식의 사용예를 들면 다음 <표 5>와 같다.6 is an exemplary view illustrating a connection process of a new data server using a control server according to the present invention, when the data server 1 requests an IP, the control server performs an operation of assigning an IP (S1) to an adjacent router. It provides information about (S2) to be able to configure the network. The data server 1 receiving the information sends a message to neighboring routers to perform a connection establishment process and finally participate in the network. On the other hand, the IP assignment from the control server is to refer to the IP assignment method to the ISP that was performed by the network information center (NIC) of the existing Internet to perform the IP area allocation, and then to use the automatic IP granting method using DHCP. In principle. An example of using this IP allocation method is shown in <Table 5>.

주소할당영역의 예Example of Address Allocation Area 주소 공간Address space 할당 영역Allocation area 비고Remarks 61.0.0.0 to 62.255.255.25561.0.0.0 to 62.255.255.255 영화movie 문화컨텐츠Cultural contents 63.0.0.0 to 64.255.255.25563.0.0.0 to 64.255.255.255 만화manga 128.0.0.0 to 191.255.255.255128.0.0.0 to 191.255.255.255 음악music 192.0.0.0 to 193.255.255.255192.0.0.0 to 193.255.255.255 소설,시Fiction, poetry 194.0.0.0 to 195.255.255.255194.0.0.0 to 195.255.255.255 민속문화,역사Folk Culture, History 196.0.0.0 to 198.255.255.255196.0.0.0 to 198.255.255.255 연극theater 199.0.0.0 to 199.255.255.255199.0.0.0 to 199.255.255.255 뮤지컬,오페라Musical, opera 200.0.0.0 to 201.255.255.255200.0.0.0 to 201.255.255.255 쇼핑shopping 202.0.0.0 to 204.255.255.255202.0.0.0 to 204.255.255.255 학술1Academic 1 학술컨텐츠Academic Content 205.0.0.0 to 206.255.255.255205.0.0.0 to 206.255.255.255 학술2Academic 2 207.0.0.0 to 208.255.255.255207.0.0.0 to 208.255.255.255 학술3Academic 3 209.0.0.0 to 210.255.255.255209.0.0.0 to 210.255.255.255 대학교University 교육기관Educational Institution 211.0.0.0 to 212.255.255.255211.0.0.0 to 212.255.255.255 초,중,고등학교Elementary, Middle and High School 213.0.0.0 to 214.255.255.255213.0.0.0 to 214.255.255.255 기타 교육기관Other educational institutions 215.0.0.0 to 216.255.255.255215.0.0.0 to 216.255.255.255 기타 장르Other genres 217.0.0.0 to 217.255.255.255217.0.0.0 to 217.255.255.255 정부기관Agency

<표 5>와 같이 주소가 할당되어 있는 상태에서 서버가 네트워크에 참여하고 싶으면, 그 서버가 취급하고 있는 장르를 제어서버에 신고하여 IP부여를 기다린다. 예를 들어, 연극에 관한 컨텐츠를 주로 취급하는 서버가 제어서버에 IP를 요청하면, 제어서버는 196.0.0.0 과 198.255.255.255 사이의 IP중 부여되지 않은 IP들로 DHCP동작을 수행하여 IP를 부여한다. IP를 부여한 후에는 데이터베이스에 있는 서버들의 IP들과 현재 부여한 IP와의 뺄셈 연산을 수행하여 가장 인접한 IP를 찾는다. 또한, 각 서버들의 지역적인 성향과 제어서버와의 거리 등을 기록하여 인접한 IP를 찾는데 참고한다.If the server wants to join the network with an address assigned as shown in <Table 5>, it reports the genre handled by the server to the control server and waits for an IP grant. For example, if a server mainly dealing with the content about a play requests an IP from the control server, the control server performs a DHCP operation with IPs not assigned among the IPs between 196.0.0.0 and 198.255.255.255 to assign IP. do. After assigning the IP, the subtraction operation is performed on the IPs of the servers in the database and the current IP to find the nearest IP. In addition, the local tendency of each server and the distance from the control server are recorded to refer to finding the adjacent IP.

상기한 XVIP를 이용하여 각 서비스 제공자들간에 연결이 확립되면, 검색을 위한 기본 환경이 조성된다. 본 고안에서 제안되는 검색 방법은 기본검색 방법과 확장검색 방법으로 나눌 수 있는데, 기본검색 방법은 기존의 검색 장치에서의 서비스 플로우를 그대로 진행하게 되며, 상기 XVIP은 확장검색 방법에 사용된다. 확장검색 방법은 검색 방향에 따라 기본확장 검색, 백워드확장 검색, 포워드확장 검색으로 나눌 수 있다.When a connection is established between each service provider using the XVIP, a basic environment for searching is created. The search method proposed in the present invention can be divided into a basic search method and an extended search method. The basic search method proceeds with a service flow in an existing search apparatus as it is, and the XVIP is used for the extended search method. The extended search method can be divided into basic extended search, backward extended search, and forward extended search according to the search direction.

도 7은 본 고안에 따른 기본확장 검색 방법을 나타내는 일실시예 처리 흐름도로서, 기본확장 검색은 검색어를 제어서버로 전달해 확장검색 대상을 전달받는 방식이다. 이러한 검색 서비스의 수행을 위해서는 클라이언트, 데이터 서버, 제어서버와 같은 구성 요소들이 필요하다. 클라이언트는 데이터를 필요로 하는, 데이터 요청자이다. 데이터를 데이터 서버1에 요청하고, 필요한 데이터를 데이터 서버로부터 수신 받는 역할을 한다. 데이터 서버는 데이터를 제공해주는 역할을 하면서, 실제 검색 활동을 수행하는 주체이다. 데이터 서비스를 담당하는 각 서버들은 각자 고유의 컨텐츠를 가지고 있으며, 클라이언트의 요청이 있을 때에 이를 서비스 할 수 있는 환경을 갖추고 있다. 클라이언트에 의해 요청된 데이터가 자신의 데이터베이스에 없을 때에는 미리 정해진 규약에 따라 확장 검색을 수행할 수 있다. 제어서버는 각 데이터 서버들 간의 유기적인 결합을 도와주는 서버이다. 제어서버는 가상IP와 키워드를 등록하는 기능이 있다. 제어서버는 중앙 제어 서버와 부 제어 서버가 있는데, 중앙 제어 서버는 단지 한 대만 둘 수 있으며, 부 제어 서버는 지역별로 여러 개를 둘 수 있는데, 부 제어 서버의 위치는 중앙 제어 서버가 관리한다. 중앙 제어 서버는 가상 IP등록 서비스와, 부 제어 서버 할당 서비스를 담당하며, 부 제어 서버는 키워드 등록 및 검색 응답 서비스를 담당한다. 제어서버의 가상 IP 등록 서비스는 각 데이터 서버들에게 가상의 IP를 부여하는 기능을 한다. IP 부여 기능은 기존의 IPv4에서 하는 것처럼 중앙에 IP관리 기구를 하나 두어, 지역별로 할당하는 방법을 사용한다. 새로이 서비스 군에 가입하려는 데이터 서버는 먼저 중앙 제어 서버에 등록하여 IP를 부여 받은 후, 자신의 지역을 관할하는 부 제어 서버를 지정 받아 부 제어 서버와 연동하여 검색 서비스를 수행한다. 또한, 제어서버의 키워드 등록 서비스는 컨텐츠 검색어를 등록해 두는 기능이며, 부 제어 서버의 고유기능이다. 각 데이터 서버는 컨텐츠가 확보되면 즉시, 혹은 일정 시간의 주기로 자신의 컨텐츠들에 대한 업데이트 된 키워드를 제어서버에 등록한다.7 is a flowchart illustrating a basic extended search method according to an embodiment of the present invention. The basic extended search is a method of receiving an extended search target by transmitting a search word to a control server. In order to perform such a search service, components such as a client, a data server, and a control server are required. A client is a data requester, who needs data. It requests data to data server 1 and receives necessary data from data server. The data server is responsible for providing data and performing actual search activities. Each server in charge of data service has its own contents and has an environment that can service them when requested by clients. When the data requested by the client is not in its database, the extended search can be performed according to a predetermined convention. The control server is a server that helps the organic coupling between the data servers. The control server has a function to register virtual IPs and keywords. The control server has a central control server and a secondary control server, there can be only one central control server, and there can be multiple secondary control servers per region, the location of the secondary control server is managed by the central control server. The central control server is responsible for the virtual IP registration service and the secondary control server assignment service, and the secondary control server is responsible for keyword registration and search response service. The virtual IP registration service of the control server functions to give a virtual IP to each data server. The IP assignment function uses a method of assigning by region by placing an IP management organization in the center as in the conventional IPv4. A data server that wants to join a new service group first registers with a central control server, receives an IP, receives a secondary control server that manages its own area, and performs a search service by interworking with the secondary control server. In addition, the keyword registration service of the control server is a function of registering the content search word, a unique function of the secondary control server. Each data server registers updated keywords for its contents with the control server immediately after the contents are secured or at regular intervals.

상기 도 7에서 도시한 바와 같이, 기본확장 검색 클라이언트가 컨텐츠를 요청하는 검색어를 데이터 서버1에 보내면(S100), 데이터 서버1은 자신의 데이터베이스를 검색(S110)한 후, 데이터가 없을 때 제어서버에 검색을 요청하게 된다(S113). 제어서버는 각 데이터 서버들로부터 보내진 키워드를 정리한 테이블을 검색하여(S120) 적절한 데이터 서버의 목록을 작성(S121)한 후 이 데이터들을 포함하여 요청한 데이터 서버1로 답장해준다(S122). 요청한 데이터 서버1은 상기 제어서버로부터 받은 목록에 있는 다른 데이터 서버들에게 검색 요청 메시지 패킷을 각각 보내고(S114), 메시지 경로에 있는 데이터 서버들은 라우팅 작업을 수행하여(S130, S140) 목적지에 메시지가 도달할 수 있게 한다(S150). 본 고안에 따른 일실시예로서, 데이터 서버1이 제어서버로부터 제공받은 서버목록 중에 데이터 서버4가 포함된 경우, 상기 데이터 서버4에 검색요청을 하는 과정을 가정하면, 데이터 서버1,2,3,4의 가상 IP가 각각 61.33.50.1, 61.33.50.2, 61.33.50.3, 61.33.50.4 라고 할 때, 데이터 서버 1에서 생성되는 가상 IP패킷은 다음과 같다.As shown in FIG. 7, when the basic extended search client sends a search word requesting content to the data server 1 (S100), the data server 1 searches for its own database (S110) and then, when there is no data, the control server. The search is requested at step S113. The control server searches for a table listing keywords sent from each data server (S120), creates a list of appropriate data servers (S121), and then returns the requested data server 1 including the data (S122). The requested data server 1 sends a search request message packet to the other data servers in the list received from the control server (S114), and the data servers in the message path perform routing operations (S130 and S140). To reach (S150). As an embodiment of the present invention, when the data server 1 includes the data server 4 in the server list provided from the control server, assuming a process of making a search request to the data server 4, the data server 1, 2, 3 When the virtual IP of, 4 is 61.33.50.1, 61.33.50.2, 61.33.50.3, and 61.33.50.4, the virtual IP packets generated by Data Server 1 are as follows.

<Packet><Packet>

<Header Version = "1.0" TOS = "Search"><Header Version = "1.0" TOS = "Search">

<TTL>32</TTL><TTL> 32 </ TTL>

<Protocol>TelezenSearchWebService_Ver1.0</Protocol><Protocol> TelezenSearchWebService_Ver1.0 </ Protocol>

<SrcIP>61.33.50.1</SrcIP><SrcIP> 61.33.50.1 </ SrcIP>

<DestIP>61.33.50.4</DestIP><DestIP> 61.33.50.4 </ DestIP>

<Ext>Base</Ext><Ext> Base </ Ext>

<ExtLevel>0</ExtLevel><ExtLevel> 0 </ ExtLevel>

<Options>NOOP</Options><Options> NOOP </ Options>

</Header></ Header>

<Data><Data>

<Request id = "00364322"><Request id = "00364322">

<Command>GetImage</Command><Command> GetImage </ Command>

<ID>jonah</ID><ID> jonah </ ID>

<PW>telezen</PW><PW> telezen </ PW>

<Code>tlz2003</Code><Code> tlz2003 </ Code>

<Keyword>강아지</Keyword><Keyword> Doggy </ Keyword>

<Discern>all</Discern><Discern> all </ Discern>

</Request></ Request>

</Data></ Data>

</Packet></ Packet>

가상 IP구조상 61.33.50.1 <-> 61.33.50.2 <-> 61.33.50.3 <-> 61.33.50.4 와 같이 직렬로 연결 되어 있다고 가정하면, 61.33.50.1을 출발한 패킷은 61.33.50.2에 도착했을 때, <Header>태그의 Property인 TOS 값이 "Search"이지만, <Ext>태그의 값이 "Base"이므로 단순히 라우팅 기능만을 수행한다. 즉, 원래의 패킷에서 <TTL>태그값을 하나 감소 시켜 61.33.50.3서버로 다시 보내지게 된다. 따라서 61.33.50.3 서버가 패킷을 수신하였을 때의 TTL 태그는 <TTL>31</TTL>이 된다. 61.33.50.3 서버도 최종 검색 대상 서버가 아니기 때문에 61.33.50.2 서버와 동일한 동작을 수행하고, 61.33.50.4 서버로 패킷을 넘겨준다. 따라서, 61.33.50.4서버에 패킷이 도착했을 때의 TTL값은 30 이 된다. 확장검색 최종 대상 서버인 61.33.50.4 서버는 가상 라우팅 소켓 모듈에서 XML 패킷을 해석하여 TOS가 "Search"인 경우 XML패킷 전체를 검색 엔진에 전달한다. 검색 엔진은 검색 결과를 XML패킷의 Source ID를 토대로 다시 61.33.50.1 서버에 회신한다. 회신 패킷은 송신 패킷과 비슷한 구조를 가지며, 송신패킷과 비교하여 달라지는 부분은 Header 태그의 TOS property가 "Search"에서 "SendTo"로 바뀌는것과, SourceIP, DestinationIP가 바뀌는 것, <Data>태그에서 검색 결과가 추가되는 부분이다. 회신 패킷의 예는 다음과 같다.Assuming 61.33.50.1 <-> 61.33.50.2 <-> 61.33.50.3 <-> 61.33.50.4 in the virtual IP structure, a packet departing from 61.33.50.1 arrives at 61.33.50.2. The TOS value of the property of the <Header> tag is "Search", but since the value of the <Ext> tag is "Base", only the routing function is performed. In other words, the <TTL> tag value is reduced by one in the original packet and sent to the 61.33.50.3 server. Thus, when the server receives a packet, the TTL tag is <TTL> 31 </ TTL>. Since the 61.33.50.3 server is not the final search target server, it performs the same operation as the 61.33.50.2 server, and passes the packet to the 61.33.50.4 server. Therefore, when the packet arrives at the 61.33.50.4 server, the TTL value is 30. The 61.33.50.4 server, the final target server for extended search, parses the XML packet in the virtual routing socket module and delivers the entire XML packet to the search engine when the TOS is "Search". The search engine returns the search results back to the 61.33.50.1 server based on the XML packet's Source ID. The reply packet has a structure similar to that of the outgoing packet, and the parts that are different from the outgoing packet are that the TOS property of the Header tag is changed from "Search" to "SendTo", the SourceIP and DestinationIP are changed, and the search result in the <Data> tag Is added. An example of a reply packet is as follows.

<Packet><Packet>

<Header Version = "1.0" TOS = "SendTo"><Header Version = "1.0" TOS = "SendTo">

<TTL>32</TTL><TTL> 32 </ TTL>

<Protocol>TelezenSearchWebService_Ver1.0</Protocol><Protocol> TelezenSearchWebService_Ver1.0 </ Protocol>

<SrcIP>61.33.50.4</SrcIP><SrcIP> 61.33.50.4 </ SrcIP>

<DestIP>61.33.50.1</DestIP><DestIP> 61.33.50.1 </ DestIP>

<Ext>NOOP</Ext><Ext> NOOP </ Ext>

<ExtLevel>0</ExtLevel><ExtLevel> 0 </ ExtLevel>

<Options>NOOP</Options><Options> NOOP </ Options>

</Header></ Header>

<Data><Data>

<Response id= "00364322"><Response id = "00364322">

<IMAGE URL="http://WebtutorNet.telezen.com/Images/a.jpg"<IMAGE URL = "http://WebtutorNet.telezen.com/Images/a.jpg"

CATEGORY="2" DISCERN="image" NAME="강아지" />CATEGORY = "2" DISCERN = "image" NAME = "Doggy" />

<IMAGE URL="http://WebtutorNet.telezen.com/Images/b.jpg"<IMAGE URL = "http://WebtutorNet.telezen.com/Images/b.jpg"

CATEGORY="1" DISCERN="image" NAME="천재 조" />CATEGORY = "1" DISCERN = "image" NAME = "Genius Joe" />

<IMAGE URL="http://webtutornet.telezen.com/images/22_000037.JPG"<IMAGE URL = "http://webtutornet.telezen.com/images/22_000037.JPG"

CATEGORY="1" DISCERN="image" NAME="캠브리지" />CATEGORY = "1" DISCERN = "image" NAME = "Cambridge" />

<IMAGE URL="http://webtutornet.telezen.com/images/22_000038.JPG" CATEGORY="2" DISCERN="image" NAME="옥스포드" /><IMAGE URL = "http://webtutornet.telezen.com/images/22_000038.JPG" CATEGORY = "2" DISCERN = "image" NAME = "Oxford" />

</Response></ Response>

</Data></ Data>

</Packet></ Packet>

한편, 컨텐츠 검색 과정 후에는 컨텐츠 전송 과정이 이어지게 된다. 본 고안에 따른 XVIP에 있어서 전송과정은 직접 전송 모드와 간접 전송 모드가 있다. 컨텐츠 검색패킷을 받은 데이터 서버는 컨텐츠를 검색한후 응답패킷을 보내게 된다. 이때, 응답 패킷에는 검색된 컨텐츠에 대한 URL과 기본 정보(컨텐츠의 저자, 파일 크기, 컨텐츠의 종류 등)를 담고 있는 메타데이터가 포함되어 전달된다. 검색을 요청한 클라이언트는 검색 결과를 보고 최종적으로 전송받을 컨텐츠를 선정하여 데이터서버에 검색된 컨텐츠를 전송하도록 요청받는다. 직접 전송 모드의 경우에 데이터 서버는 본 고안에서의 패킷 구조를 이용하여 컨텐츠를 직접 전송할 수 있다. 즉, 패킷 구조상의 <Data></Data>태그 안에 데이터를 바이너리(Binary)형태나 텍스트(Text)형태로 담아 전송할 수 있는데, 크기가 작은 그림파일이나 텍스트 파일 등이 직접 전송 모드의 대상이 될 수 있으며, 기존의 검색 환경에서의 인터페이스를 그대로 활용하여 전송할 수 있기 때문에 검색 프로세스가 간단한 장점이 있으나, 크기가 큰 데이터는 처리하는데 서버에 부담을 줄 우려가 있다는 단점이 있다. 이에 반하여 간접 전송 모드의 경우 클라이언트는 필요한 컨텐츠를 선정하여 컨텐츠를 소유하고 있는 데이터 서버에 요청하면, 데이터 서버와 클라이언트는 각각의 컨텐츠에 적합한 프로토콜을 사용하여 데이터 전송 작업을 수행한다. 스트리밍 전송이 필요한 동영상 파일이나, 특수한 보안 채널에서 전송해야 하는 컨텐츠 등의 경우 상기 간접 전송 모드를 사용한다.Meanwhile, after the content retrieval process, the content transmission process is continued. In the XVIP according to the present invention, a transmission process has a direct transmission mode and an indirect transmission mode. The data server receiving the content search packet sends a response packet after searching the content. In this case, the response packet includes a URL including the URL of the searched content and metadata including basic information (the author of the content, the file size, the type of the content, and the like). The client requesting the search is requested to send the searched content to the data server by selecting the content to be finally transmitted based on the search result. In the case of the direct transmission mode, the data server may directly transmit content using the packet structure of the present invention. In other words, data can be sent in binary or text format in the <Data> </ Data> tag of the packet structure. Small picture files or text files can be directly targeted for the transmission mode. In addition, the search process has a simple advantage because it can be transmitted by utilizing the interface in the existing search environment. However, there is a disadvantage that a burden on the server is required to process large data. In contrast, in the indirect transmission mode, when a client selects a required content and requests a data server that owns the content, the data server and the client perform a data transmission using a protocol suitable for each content. The indirect transmission mode is used for a video file requiring streaming transmission or content to be transmitted in a special secure channel.

도 8은 본 고안에 따른 백워드확장 검색 방법을 나타내는 일실시예 처리 흐름도로서, 백워드 확장 검색 방법은 기본확장 검색 방법의 확장으로서, 기본확장 검색 방법에서의 라우터 역할을 하는 서버도 검색기능을 수행하는 방법을 말한다. 클라이언트의 요청을 받은 데이터 서버1이 제어서버로부터 검색 서버 대상 목록을 받아 각 서버에 검색 요청 패킷을 전송하는 과정까지는 기본확장 검색 방법과 같다.이 때, 검색 우선 순위에 따라 라우팅 작업을 하는 중간의 데이터 서버들은 자신의 데이터 베이스들을 검색(S231)하여 검색어에 해당하는 컨텐츠가 자신의 데이터베이스에 있는지 검색(S231)한 후, 있으면 송신 데이터 서버에 이 사실을 알려주는 메시지를 보낸다(S233). 최종 목적 데이터베이스 서버도 컨텐츠 요청을 받는 즉시, 컨텐츠의 URL을 송신 데이터 서버1에 전송한다. 송신 데이터 서버는 일정기간 동안 받은 응답 메시지를 정리하여, 요청한 검색어에 대한 컨텐츠의 목록을 요청한 클라이언트에 보여주어, 클라이언트는 각 데이터 서버에 컨텐츠 요청을 수행한다.8 is a flowchart illustrating a method for searching a backward extension according to an embodiment of the present invention. The extended backward search method is an extension of the basic extended search method. Say how to do. Data server 1 receiving the client's request receives the search server target list from the control server and sends the search request packet to each server in the same way as the basic extended search method. The data servers search their databases (S231), search whether the content corresponding to the search word exists in their database (S231), and if so, send a message informing the fact to the transmitting data server (S233). As soon as the final destination database server receives the content request, it transmits the URL of the content to the transmission data server 1. The sending data server organizes the response message received for a certain period of time, and shows a list of contents for the requested search word to the requesting client, and the client performs a content request to each data server.

백워드 확장 검색에서 본 고안에 따른 XVIP를 이용하여 검색기능을 수행하는 바람직한 실시예를 설명한다. 클라이언트는 데이터 서버에 기본 검색 및 확장 검색을 별도로 요청할 수 있는 환경이 마련되어 있다고 전제한다. 이러한 환경은 HTML, ASP, PHP등 현재의 웹서버 기술로 충분히 구현 가능하다. 도 8에서 도시한 바와 같이, 데이터 서버1은 클라이언트의 요청을 받아 기본검색 과정을 수행함과 동시에 제어서버에 컨텐츠의 키워드를 전송하는 방법으로, 확장 검색을 위한 서버 목록을 요청한다. 제어서버로부터 요구한 컨텐츠에 대한 서버 목록을 제공 받으면 데이터 서버1은 백워드 확장 검색을 수행한다. 제공받은 서버 목록 중에 데이터 서버4가 포함되어 있어서 데이터 서버4에 대하여 검색을 요청하는 과정을 예로 들면, 데이터 서버1, 2, 3, 4의 가상 IP가 각각 61.33.50.1, 61.33.50.2, 61.33.50.3, 61.33.50.4 라고 할때, 데이터 서버 1에서 생성되는 가상 IP패킷은 다음과 같다.In the extended backward search, a preferred embodiment for performing a search function using the XVIP according to the present invention will be described. The client assumes that the data server has an environment for separately requesting basic and extended searches. This environment can be fully implemented with current web server technologies such as HTML, ASP, and PHP. As shown in FIG. 8, the data server 1 requests a server list for an extended search in a method of transmitting a keyword of content to a control server while performing a basic search process in response to a client request. When the server list for the requested content is provided from the control server, the data server 1 performs the backward extension search. For example, the data server 4 is included in the list of the provided servers, so that a request for searching for the data server 4 is performed. For example, the virtual IPs of the data servers 1, 2, 3, and 4 are 61.33.50.1, 61.33.50.2, and 61.33. Speaking of 50.3 and 61.33.50.4, the virtual IP packets generated by Data Server 1 are as follows:

<Packet><Packet>

<Header Version = "1.0" TOS = "Search"><Header Version = "1.0" TOS = "Search">

<TTL>32</TTL><TTL> 32 </ TTL>

<Protocol>TelezenSearchWebService_Ver1.0</Protocol><Protocol> TelezenSearchWebService_Ver1.0 </ Protocol>

<SrcIP>61.33.50.1</SrcIP><SrcIP> 61.33.50.1 </ SrcIP>

<DestIP>61.33.50.4</DestIP><DestIP> 61.33.50.4 </ DestIP>

<Ext>Backward</Ext><Ext> Backward </ Ext>

<ExtLevel>1</ExtLevel><ExtLevel> 1 </ ExtLevel>

<Options>NOOP</Options><Options> NOOP </ Options>

</Header></ Header>

<Data><Data>

<Request id = "00364322"><Request id = "00364322">

<Command>GetImage</Command><Command> GetImage </ Command>

<ID>jonah</ID><ID> jonah </ ID>

<PW>telezen</PW><PW> telezen </ PW>

<Code>tlz2003</Code><Code> tlz2003 </ Code>

<Keyword>강아지</Keyword><Keyword> Doggy </ Keyword>

<Discern>all</Discern><Discern> all </ Discern>

</Request></ Request>

</Data></ Data>

</Packet></ Packet>

가상 IP구조상 61.33.50.1 <-> 61.33.50.2 <-> 61.33.50.3 <-> 61.33.50.4 와 같이 직렬로 연결 되어 있다고 가정하면, 61.33.50.1을 출발한 패킷은 61.33.50.2에 도착했을 때, <Header>태그의 Property인 TOS 값이 "Search"이므로, 61.33.50.2 서버의 검색 서비스로 복사본이 보내지게 되며, 원래의 패킷에서 <TTL>태그값을 하나 감소 시켜 61.33.50.3서버로 다시 보내지게 된다. 따라서 61.33.50.3 서버가 패킷을 수신하였을 때의 TTL 태그는 <TTL>31</TTL>이 된다. 61.33.50.3 서버도 최종 검색 대상 서버가 아니기 때문에 61.33.50.2 서버와 동일한 동작을 수행하고, 61.33.50.4 서버로 패킷을 넘겨준다. 따라서, 61.33.50.4서버에 패킷이 도착했을 때의 TTL값은 30 이 된다. 확장검색 최종 대상 서버인 61.33.50.4 서버는 소켓에서 XML 패킷을 해석하여 TOS가 "Search"인 경우 XML패킷 전체를 검색 엔진에 전달한다. 검색 엔진은 검색 결과를 XML패킷의 Source ID를 토대로 다시 61.33.50.1 서버에 회신한다.Assuming 61.33.50.1 <-> 61.33.50.2 <-> 61.33.50.3 <-> 61.33.50.4 in the virtual IP structure, a packet departing from 61.33.50.1 arrives at 61.33.50.2. Since the TOS value of the property of the <Header> tag is "Search", a copy is sent to the search service of the 61.33.50.2 server, and a value of <TTL> tag is reduced from the original packet and sent to the 61.33.50.3 server again. do. Thus, when the server receives a packet, the TTL tag is <TTL> 31 </ TTL>. Since the 61.33.50.3 server is not the final search target server, it performs the same operation as the 61.33.50.2 server, and passes the packet to the 61.33.50.4 server. Therefore, when the packet arrives at the 61.33.50.4 server, the TTL value is 30. Extended Search The final target server, 61.33.50.4, parses the XML packet from the socket and passes the entire XML packet to the search engine when the TOS is "Search". The search engine returns the search results back to the 61.33.50.1 server based on the XML packet's Source ID.

회신 패킷은 송신 패킷과 비슷한 구조를 가지며, 송신패킷과 비교하여 달라지는 부분은 Header 태그의 TOS property가 "Search"에서 "SendTo"로 바뀌는것과, SourceIP, DestinationIP가 바뀌는 것, <Data>태그에서 검색 결과가 추가되는 부분이다. 회신 패킷의 예는 다음과 같다.The reply packet has a structure similar to that of the outgoing packet, and the parts that are different from the outgoing packet are that the TOS property of the Header tag is changed from "Search" to "SendTo", the SourceIP and DestinationIP are changed, and the search result in the <Data> tag Is added. An example of a reply packet is as follows.

<Packet><Packet>

<Header Version = "1.0" TOS = "SendTo"><Header Version = "1.0" TOS = "SendTo">

<TTL>32</TTL><TTL> 32 </ TTL>

<Protocol>TelezenSearchWebService_Ver1.0</Protocol><Protocol> TelezenSearchWebService_Ver1.0 </ Protocol>

<SrcIP>61.33.50.4</SrcIP><SrcIP> 61.33.50.4 </ SrcIP>

<DestIP>61.33.50.1</DestIP><DestIP> 61.33.50.1 </ DestIP>

<Ext>NOOP</Ext><Ext> NOOP </ Ext>

<ExtLevel>0</ExtLevel><ExtLevel> 0 </ ExtLevel>

<Options>NOOP</Options><Options> NOOP </ Options>

</Header></ Header>

<Data><Data>

<Response id= "00364322"><Response id = "00364322">

<IMAGE URL="http://WebtutorNet.telezen.com/Images/a.jpg"<IMAGE URL = "http://WebtutorNet.telezen.com/Images/a.jpg"

CATEGORY="2" DISCERN="image" NAME="강아지" />CATEGORY = "2" DISCERN = "image" NAME = "Doggy" />

<IMAGE URL="http://WebtutorNet.telezen.com/Images/b.jpg"<IMAGE URL = "http://WebtutorNet.telezen.com/Images/b.jpg"

CATEGORY="1" DISCERN="image" NAME="천재 조" />CATEGORY = "1" DISCERN = "image" NAME = "Genius Joe" />

<IMAGE URL="http://webtutornet.telezen.com/images/22_000037.JPG"<IMAGE URL = "http://webtutornet.telezen.com/images/22_000037.JPG"

CATEGORY="1" DISCERN="image" NAME="캠브리지" />CATEGORY = "1" DISCERN = "image" NAME = "Cambridge" />

<IMAGE URL="http://webtutornet.telezen.com/images/22_000038.JPG" CATEGORY="2" DISCERN="image" NAME="옥스포드" /><IMAGE URL = "http://webtutornet.telezen.com/images/22_000038.JPG" CATEGORY = "2" DISCERN = "image" NAME = "Oxford" />

</Response></ Response>

</Data></ Data>

</Packet></ Packet>

백워드 확장 검색 방법이기 때문에 62.33.50.2, 61.33.50.3 서버들도 패킷을 해석하여 검색 수행 후 검색 결과 관련 컨텐츠가 존재할 경우 응답(reply) 패킷을 61.33.50.1서버에 보낸다.Because of the extended backward search method, the 62.33.50.2 and 61.33.50.3 servers also interpret the packet and send a reply packet to the 61.33.50.1 server if the relevant content exists.

도 9는 본 고안에 따른 포워드확장 검색 방법을 나타내는 일실시예 처리흐름도로서, 포워드 확장 검색은 검색 상대를 점차 확대해 가는 방식이다. 이 방식은 IPv4 의 멀티캐스트 방법을 응용한 것으로서, 컨텐츠 요청을 받은 데이터 서버가 요청 받은 컨텐츠를 갖고 있지 않을 때, 자신과 직접 연결된 다른 데이터 서버에 컨텐츠 요청을 전달하는 방식이다. 요청 받은 다른 데이터 서버는 자신의 데이터 베이스를 검색한 후, 컨텐츠가 없을 때에는 다시 자신과 연결된 다른 데이터 서버들에 컨텐츠 요청을 수행하는 등 검색 대상을 계속 확장 시켜 갈 수 있다. 포워드 확장 검색에서 본 고안에 따른 XVIP를 이용하여 검색기능을 수행하는 바람직한 실시예를 설명한다.9 is a flowchart illustrating an example of a forward expanded search method according to an embodiment of the present invention. This method applies the multicast method of IPv4. When a data server that has received a content request does not have the requested content, it transmits the content request to another data server directly connected to it. After the requested other data server searches its own database, if there is no content, the other data server can continue to expand the search object by executing a content request to other data servers connected to it. In the forward extended search, a preferred embodiment of performing a search function using the XVIP according to the present invention will be described.

도 9에서 기본검색 과정 후, 사용자의 선택에 따라 포워드 확장 검색 기능을수행할 수 있다. 포워드 확장 검색을 수행할 지의 여부는 백워드 확장 검색기능과 마찬가지로 클라이언트가 데이터 서버에 기본 검색 및 확장 검색을 별도로 요청할 수 있는 환경이 마련되어 있다는 전제하에서 클라이언트의 별도 요청에 의해 수행할 수 있다. XVIP에 의해 각각의 서버들의 가상적으로 연결을 유지하고 있다고 가정한다. 상기 도 9에서 데이터 서버 1은 확장 검색을 수행하는지 여부를 결정한다. 포워드 확장 검색 기능을 수행하기로 결정하였으면, 데이터 서버 1은 검색 패킷을 생성하여 자신과 연결된 서버들을 상대로 확장 검색을 수행한다. 이때 생성되는 데이터 패킷에는 다음과 같은 두 개의 필드에 대해 포워드 확장 검색에 대한 사항이 설정되어 있어야 한다.9, after the basic search process, the forward extended search function may be performed according to a user's selection. Whether to perform the forward extended search may be performed by a separate request of the client, on the premise that the environment for allowing the client to separately request the basic search and the extended search is provided in the data server as in the backward extended search function. Assume that XVIP maintains a virtual connection between each server. In FIG. 9, the data server 1 determines whether to perform an extended search. If it is decided to perform the forward extended search function, the data server 1 generates a search packet and performs an extended search against the servers connected to it. At this time, the generated data packet should be configured for forward extended search for the following two fields.

<Ext>Forward</Ext><Ext> Forward </ Ext>

<ExtLevel>1</ExtLevel><ExtLevel> 1 </ ExtLevel>

Ext 태그는 Forward, Backward, Basic 의 세 가지 필드 값을 할당할 수 있으며, 포워드 확장 검색 기능을 수행하기 위해서는 Forward 라는 필드값을 설정한다. ExtLevel 필드는 포워드 확장 검색 기능을 어느 정도까지 확장 할 수 있는지 값을 기록하는 역할을 하는데, 검색 범위가 확장될 때마다 ExtLevel값은 하나씩 줄어 결국 ExtLevel 에 기록된 값만큼 검색 범위를 확장하게 된다.Ext tag can assign three field values, Forward, Backward, Basic, and set forward field value to perform forward extended search function. The ExtLevel field records the value to which the extended forward search function can be extended. Whenever the search range is expanded, the ExtLevel value is decreased by one, and thus the search range is extended by the value recorded in ExtLevel.

도 10은 본 고안에 따른 포워드확장 검색 단계를 나타내는 예시도로서, 클라이언트의 3-level 포워드 확장 검색 요청을 받은 데이터 서버1은 가상적으로 연결된 데이터 서버2, 데이터 서버3, 데이터 서버4에 검색 패킷을 전송한다. 이때 검색 패킷의 ExtLevel 필드 값은 3이다. 패킷의 TOS Property가 "Search"이기 때문에,확장검색 요청을 받은 데이터 서버2, 데이터 서버3, 데이터 서버4는 자신의 데이터베이스에서 검색을 수행한 뒤 검색 결과 컨텐츠가 있으면 그 결과를 데이터 서버1에 전송하고 검색 결과가 없으면 아무런 데이터도 전송하지 않는다. 각 데이터 서버의 수신 소켓은 패킷을 전달 받자마자 ExtLevel Field값을 원래의 값에서 1만큼 빼고, 송신 소켓은 ExtLevel 값을 검사하여 그 값이 0이면 더 이상 확장 검색 패킷을 송신하지 않는다. 데이터 서버2, 데이터 서버3, 데이터 서버4 들의 송신소켓에서 ExtLevel = 2 이기 때문에 패킷을 자신의 라우팅 테이블에 포함된 다른 서버들로 모두 전송한다. 데이터 서버2 는 데이터 서버1이외에 연결된 서버가 없으므로 더 이상 전송하지 않는다. 데이터 서버3 은 데이터 서버8, 데이터 서버9에 ExtLevel = 2인 패킷을 전송한다. 데이터 서버4 는 데이터 서버5, 데이터 서버6에 ExtLevel = 2인 패킷을 전송한다. ExtLevel = 2 인 패킷을 전송받은 데이터 서버5, 데이터 서버6, 데이터 서버8, 데이터 서버9 들은 이전단계와 마찬가지의 과정을 수행한다. 즉, 수신 소켓은 ExtLevel 필드의 값을 1만큼 빼고, 검색 서비스에 패킷을 넘겨서 자신의 데이터베이스에서 검색 작업을 수행한 뒤 컨텐츠가 있으면 결과패킷을 전송하고 컨텐츠가 없으면 전송하지 않는다. 송신소켓으로 패킷이 넘어갔을 때 ExtLevel = 1이 되어 있으므로 다시 자신의 라우팅 테이블을 검사해서 송신자를 제외한 서버에게 검색 패킷을 전송한다.10 is an exemplary diagram illustrating a forward extended search step according to the present invention, in which a data server 1 that receives a 3-level forward extended search request of a client sends a search packet to a data server 2, a data server 3, and a data server 4 that are virtually connected. send. At this time, the ExtLevel field value of the search packet is 3. Since the TOS property of the packet is "Search", the data server 2, data server 3, and data server 4 that have received the extended search request perform a search in their database and transmit the result to the data server 1 if there is content of the search result. If no search results are found, no data is sent. As soon as the receive socket of each data server receives the packet, the receive socket subtracts the ExtLevel Field value by one from its original value, and the send socket checks the ExtLevel value and if it is 0, no further extended search packets are sent. Since ExtLevel = 2 at the sending sockets of Data Server 2, Data Server 3, and Data Server 4, the packet is sent to all other servers in its routing table. Data server 2 does not transmit any more because there is no server other than data server 1. Data server 3 sends a packet with ExtLevel = 2 to data server 8 and data server 9. Data server 4 sends a packet with ExtLevel = 2 to data server 5 and data server 6. The data server 5, data server 6, data server 8, and data server 9 that received the packet with ExtLevel = 2 perform the same process as the previous step. That is, the receiving socket subtracts the value of the ExtLevel field by 1, passes the packet to the search service, performs a search operation in its database, and transmits the result packet if there is content, but does not transmit the content. When ExtLevel = 1 when the packet is passed to the send socket, it checks its own routing table and sends the search packet to the server except the sender.

본 고안이 속하는 기술 분야의 당업자는 본 고안이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 예를 들어, 이상의 설명에서는 인터넷을 중심으로 상술하였으나상기 인터넷은 유선인터넷에 한정되지 않고 무선 인터넷인 경우에도 적용될 수 있다.Those skilled in the art to which the present invention pertains will appreciate that the present invention can be implemented in other specific forms without changing the technical spirit or essential features. For example, the above description focuses on the Internet, but the Internet is not limited to the wired Internet but may be applied to the wireless Internet.

그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 고안의 범위는 상기 상세한 설명보다는 후술하는 등록청구범위에 의하여 나타내어지며, 등록청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태는 본 고안의 범위에 포함되는 것으로 해석되어야 한다.Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

이상 설명한 바와 같이, 본 고안에 따르면 인터넷의 컨텐츠 소비자들이 하나의 사이트에 접속하여 여러 개의 사이트에 있는 데이터들에 접근하는 것이 가능하며, 컨텐츠 제공자들은 장치 통합에 있어 많은 시간과 노력을 소비하지 않고도 쉽게 다른 사이트들과 컨텐츠를 공유할 수 있고, 더불어 산재해 있는 컨텐츠들의 검색을 위한 환경 또한 확장이 용이하게 설계되어 있어, 사이트 추가에 따른 부담이 최소화 되는 효과가 있다.As described above, according to the present invention, it is possible for content consumers on the Internet to access a single site to access data on multiple sites, and content providers can easily and without spending a lot of time and effort in device integration. The content can be shared with other sites, and the environment for searching the scattered contents is also designed to be easily expanded, thereby minimizing the burden of adding a site.

또한, 계층화 된 프로토콜 구조로, 기 제공되는 검색엔진 위에 새로운 방법을 적용하여 검색 기능 및 그 효과를 상승시킬 수 있는 기반을 마련하여, 서비스 제공자들끼리 연합하여 차별화된 서비스를 제공할 수 있다.In addition, with a layered protocol structure, a new method can be applied to a previously provided search engine to provide a foundation for enhancing a search function and its effect, and service providers can be combined to provide differentiated services.

Claims (4)

네트워크를 통해 수신되는 서버 검색 명령에 상응하는 가상 IP 주소를 검색하고, 상기 검색된 가상 IP 주소를 상기 네트워크로 전송하는 제어서버;A control server searching for a virtual IP address corresponding to a server search command received through a network, and transmitting the searched virtual IP address to the network; 클라이언트로부터 수신된 컨텐츠 검색 명령에 따른 상기 컨텐츠를 검색하여 상기 클라이언트에게 전송하거나 또는 상기 네트워크를 통해 상기 제어서버로부터 수신된 가상 IP 주소로 상기 컨텐츠 검색 명령에 따른 컨텐츠 요청신호를 라우팅하고, 상기 컨텐츠 요청신호에 따라 상기 가상 IP 주소로부터 수신된 컨텐츠를 상기 클라이언트에게 전송하는 복수의 데이터 서버를 포함하는 것을 특징으로 하는 웹서비스를 기반으로 하는 가상 라우팅 장치.Search for the content according to the content search command received from the client and transmit the content to the client or route the content request signal according to the content search command to the virtual IP address received from the control server through the network; And a plurality of data servers for transmitting the content received from the virtual IP address to the client according to a signal. 제1항에 있어서, 상기 복수의 데이터 서버는The method of claim 1, wherein the plurality of data servers 상기 컨텐츠를 포함하는 패킷을 수신하는 패킷 수신부;A packet receiver configured to receive a packet including the content; 상기 수신된 패킷의 도착지 정보를 추출하고, 상기 도착지 정보 내의 IP 주소와 자신의 IP 주소가 동일한 경우 상기 클라이언트로 상기 컨텐츠를 전송하고, 상기 도착지 정보 내의 IP 주소와 자신의 IP 주소가 동일하지 않은 경우 상기 패킷을 출력하는 서비스 분파기; 및Extract destination information of the received packet, and transmit the content to the client if the IP address and its IP address in the destination information are the same; A service splitter for outputting the packet; And 상기 서비스 분파기로부터 입력된 상기 패킷의 IP 주소에 의해 의 도착지 정보에 의해 상기 네트워크를 통해 다른 데이터 서버로 전송하는 가상 라우팅을 수행하는 라우팅 프로세서를 포함하는 것을 특징으로 하는 웹서비스를 기반으로 하는 가상 라우팅 장치.And a routing processor for performing virtual routing for transmitting to another data server through the network by destination information of the IP address of the packet inputted from the service splitter. Routing device. 제2항에 있어서, 상기 복수의 데이터 서버는 상기 컨텐츠 검색 요청신호에 상응하는 상기 컨텐츠가 저장되어 있는지를 검색하기 위한 검색모듈을 포함하는 웹서비스를 기반으로 하는 가상 라우팅 장치.The virtual routing apparatus of claim 2, wherein the plurality of data servers comprises a search module for searching whether the content corresponding to the content search request signal is stored. 삭제delete
KR20-2003-0022108U 2003-07-09 2003-07-09 Apparatus for virtual routing on Web Service KR200349700Y1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20-2003-0022108U KR200349700Y1 (en) 2003-07-09 2003-07-09 Apparatus for virtual routing on Web Service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20-2003-0022108U KR200349700Y1 (en) 2003-07-09 2003-07-09 Apparatus for virtual routing on Web Service

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020030024809A Division KR20040090838A (en) 2003-04-18 2003-04-18 Apparatus and System for virtual routing on Web Service, and Method for searching information Using the same

Publications (1)

Publication Number Publication Date
KR200349700Y1 true KR200349700Y1 (en) 2004-05-10

Family

ID=49345944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20-2003-0022108U KR200349700Y1 (en) 2003-07-09 2003-07-09 Apparatus for virtual routing on Web Service

Country Status (1)

Country Link
KR (1) KR200349700Y1 (en)

Similar Documents

Publication Publication Date Title
US10706029B2 (en) Content name resolution for information centric networking
Bari et al. A survey of naming and routing in information-centric networks
JP5746688B2 (en) System and method for converting unicast client requests to multicast client requests
US8386622B2 (en) Method and apparatus for facilitating communication in a content centric network
US8275826B2 (en) Organizing resources into collections to facilitate more efficient and reliable resource access
JP2003030079A (en) Contents sharing set and software program to be performed by devices constituting the same
WO2001067690A1 (en) Semantic information network (sion)
WO2011150830A1 (en) Method and node for obtaining the content and content network
EP2684339A1 (en) Load balancing sctp associations using vtag mediation
US20090299937A1 (en) Method and system for detecting and managing peer-to-peer traffic over a data network
JP2015204110A (en) System and method for simple service detection in content-centric network
JP6601784B2 (en) Method, network component, and program for supporting context-aware content requests in an information-oriented network
US20080189351A1 (en) Network system which performs peer-to-peer communication
US20150120895A1 (en) Express header for packets with hierarchically structured variable-length identifiers
US7680130B2 (en) Method for finding resource and service in network and relay node apparatus
US9154571B2 (en) Publish/subscribe networks
Jung et al. IDNet: beyond all‐IP network
KR20170016281A (en) Transferring state in content centric network stacks
JP4356693B2 (en) Message delivery apparatus and method, system and program thereof
Dutta et al. Information Centric Networks (ICN)
KR101773716B1 (en) Content sharing method in content centric network and router at content centric network sharing content
KR100566778B1 (en) Method and apparatus for providing contents sharing service using of network ring structure
KR200349700Y1 (en) Apparatus for virtual routing on Web Service
KR20040090838A (en) Apparatus and System for virtual routing on Web Service, and Method for searching information Using the same
JP4432626B2 (en) Multicast tree construction system and method, network node device, and server device

Legal Events

Date Code Title Description
U107 Dual application of utility model
N231 Notification of change of applicant
REGI Registration of establishment
T201 Request for technology evaluation of utility model
T701 Written decision to grant on technology evaluation
G701 Publication of correction
FPAY Annual fee payment

Payment date: 20120328

Year of fee payment: 9

EXPY Expiration of term