KR20190030854A - A method and apparatus for supporting mobility of host using hierarchical distributed hash table - Google Patents

A method and apparatus for supporting mobility of host using hierarchical distributed hash table Download PDF

Info

Publication number
KR20190030854A
KR20190030854A KR1020170118385A KR20170118385A KR20190030854A KR 20190030854 A KR20190030854 A KR 20190030854A KR 1020170118385 A KR1020170118385 A KR 1020170118385A KR 20170118385 A KR20170118385 A KR 20170118385A KR 20190030854 A KR20190030854 A KR 20190030854A
Authority
KR
South Korea
Prior art keywords
item
packet
terminal
network access
hash table
Prior art date
Application number
KR1020170118385A
Other languages
Korean (ko)
Other versions
KR102054775B1 (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 KR1020170118385A priority Critical patent/KR102054775B1/en
Publication of KR20190030854A publication Critical patent/KR20190030854A/en
Application granted granted Critical
Publication of KR102054775B1 publication Critical patent/KR102054775B1/en

Links

Images

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • H04L61/2007
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1089Hierarchical topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/0005Control or signalling for completing the hand-off
    • H04W36/0083Determination of parameters used for hand-off, e.g. generation or modification of neighbour cell lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclosed are a method and apparatus for supporting terminal mobility using a hierarchical distributed hash table (HDHT). According to an embodiment of the present invention, a method for providing mobility comprises the steps of: registering an entry associated with a terminal at a hierarchy specified by a network access switch connected with the terminal among a plurality of hierarchies constituting an HDHT; and processing handover of the terminal using the entry, wherein the HDHT is composed of the plurality of hierarchies based on physical distance between the network access switches.

Description

계층 분산 해시 테이블을 이용한 단말 이동성 지원 방법 및 장치{A METHOD AND APPARATUS FOR SUPPORTING MOBILITY OF HOST USING HIERARCHICAL DISTRIBUTED HASH TABLE}TECHNICAL FIELD The present invention relates to a method and apparatus for supporting terminal mobility using a hierarchical distributed hash table,

아래 실시예들은 계층 분산 해시 테이블을 이용하여 단말 이동성을 지원하는 방법 및 장치에 관한 것이다.The following embodiments relate to a method and apparatus for supporting terminal mobility using a hierarchical distributed hash table.

컴퓨팅 파워를 갖추고 크기가 작은 사물들이 늘어남에 따라 네트워크에 연결되는 이동 단말의 수가 크게 증가하고 있다. 현재 인터넷에 연결된 대부분의 장치들은 스마트폰, 데스크탑, 노트북과 같이 이동성이 낮은 장치들이지만, 앞으로 다가올 미래에는 각종 센서, 안경, 자동차, 시계 가전기구 등 우리 주변에 존재하는 대부분의 이동 사물들이 인터넷에 연결될 것으로 전망된다.As the number of small objects with computing power increases, the number of mobile terminals connected to the network is increasing greatly. Most of the devices currently connected to the Internet are low-mobility devices such as smartphones, desktops, and laptops. However, in the future, most moving objects around us, such as sensors, glasses, It is expected to be connected.

해외 매체에 따르면 2020년까지 인터넷에 접속되는 장치의 수가 500억 개를 넘을 것이며, 지구상의 이동 수단 중 1/4 이상이 인터넷에 연결될 것이다. 이와 같은 통계 자료들은 앞으로 인터넷에 접속되는 사물들 중에서 이동성을 지닌 사물들의 비율이 커질 것을 암시하고 있다.According to foreign media, the number of devices connected to the Internet by 2020 will exceed 50 billion, and more than a quarter of the world's mobile devices will be connected to the Internet. These statistics suggest that the proportion of objects with mobility will increase in the future.

네트워크에 연결된 이동성을 지닌 사물들의 비율이 증가함에 따라 미래 인터넷 환경에서는 사물들에 대한 이동성 지원 및 관리가 중요한 문제로 대두될 것이다. 따라서 미래 상황에 대비한 이동성 지원 플랫폼을 설계할 필요가 있다.As the proportion of objects with mobility connected to the network increases, mobility support and management for objects will become important in the future Internet environment. Therefore, it is necessary to design a mobility support platform for the future.

현재의 네트워크는 중앙 집중적 방식으로 동작해서 모든 유저 패킷이 코어 망을 경유한다. 예를 들어, 3GPP에서는 GPRS(General Pachet Radio Service) 터널링 프로토콜(tunneling protocol)을 사용해서 네트워크 기반의 IP(Internet Protocol) 이동성을 제공한다.The current network operates in a centralized manner so that all user packets go through the core network. For example, 3GPP provides network-based Internet Protocol (IP) mobility using a General Packet Radio Service (GPRS) tunneling protocol.

이러한 중앙 집중적 방식은 중앙 앵커가 단말의 현재 위치로 패킷을 리라우팅(rerouting) 해줌으로써 간단한 방식으로 동작한다는 장점이 있다. 하지만 중앙 앵커가 동작 불능 상태가 되면 시스템 전체가 동작하지 못하는 단일점 고장(single point of failure) 문제와 시스템을 사용하는 사용자의 수가 크게 증가 했을 때 이를 수용하지 못하는 확장성(scalability) 문제를 가지고 있다. 따라서 미래 인터넷 환경에서는 이러한 문제점들이 해결된 분산형 방식이 적용될 필요가 있다.This centralized approach has the advantage that the central anchor operates in a simple manner by rerouting the packet to the current location of the terminal. However, when the central anchor becomes inoperable, it has a single point of failure problem in which the entire system can not operate and a scalability problem that can not be accommodated when the number of users using the system increases greatly . Therefore, in the future Internet environment, it is necessary to apply the distributed method in which these problems are solved.

실시예들은 계층 분산 해시 테이블을 이용하여 단말의 이동성을 제공함에 있어서 질의 시간을 단축 시키고 확장성 문제를 해결할 수 있는 기술을 제공할 수 있다.Embodiments can provide a technique for shortening the query time and solving the scalability problem in providing the mobility of the terminal using the hierarchical distributed hash table.

일 실시예에 따른 이동성 제공 방법은, 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하는 단계와, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 단계를 포함하고, 상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성된다.The method of providing mobility according to an exemplary embodiment of the present invention registers an entry related to the terminal in a hierarchy designated by a network access switch to which a terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT) And processing the handover of the terminal using the item, wherein the hierarchical distributed hash table is composed of the plurality of layers based on a physical distance between the network access switches.

상기 이동성 제공 방법은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 단계를 더 포함하고, 상기 생성하는 단계는, 상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하는 단계와, 상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성하는 단계를 포함할 수 있다.Wherein the mobility providing method further comprises generating the hierarchical distributed hash table including the plurality of layers based on a physical distance between the network access switches, Generating a plurality of lowest layers constituted by network access switches close to each other, and hierarchically creating upper layers composed of the plurality of lowest layers.

상기 등록하는 단계는, 상기 단말과 관련된 항목의 키(key) 값을 생성하는 단계와, 상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 단계와, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계를 포함할 수 있다.Wherein the step of registering comprises the steps of: generating a key value of an item related to the terminal; querying the hierarchical distributed hash table with the key value; And updating the item in the table.

상기 업데이트하는 단계는, 상기 항목에 상기 항목이 저장될 계층을 명시(specify)하는 단계와, 상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하는 단계와, 상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청하는 단계를 포함할 수 있다.Wherein the step of updating comprises the steps of: specifying a layer in which the item is to be stored in the item; updating a network access switch list and an IP (Internet Protocol) address of the item; And requesting registration of the item.

상기 요청하는 단계는, 최하위 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계와, 상기 등록 요청을 상기 최하위 계층으로부터 최상위 계층까지 순차적으로 전달하면서 명시된 계층에 상기 등록 요청이 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계와, 상기 등록 요청이 상기 최상위 계층에 도달한 경우에, 논리적 거리 연산을 통해 상기 최상위 계층의 분산 해시 테이블 노드에 항목을 저장하는 단계와, 상기 등록 요청을 상기 최상위 계층으로부터 상기 명시된 계층까지 순차적으로 전달하면서 상기 명시된 계층에 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계를 포함할 수 있다.Wherein the step of requesting comprises the steps of: storing the item in a distributed hash table of the lowest hierarchy; and delivering the registration request sequentially from the lowest hierarchy to the highest hierarchy, when the registration request reaches a specified hierarchy, Storing the item in a hash table, storing an item in a distributed hash table node of the highest hierarchical level through a logical distance operation when the registration request reaches the highest hierarchical level, And storing the item in the distributed hash table of the specified hierarchy when the hierarchy reaches the specified hierarchy while sequentially transferring the hierarchy from the highest hierarchy to the specified hierarchy.

상기 저장하는 단계 각각은, 상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하는 단계와, 상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장하는 단계를 포함할 수 있다.Each of the storing steps may include performing a logical distance operation using a key value of the item and storing the item in a network access switch having a result of the logical distance operation being the smallest value have.

상기 처리하는 단계는, 상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하는 단계와, 상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하는 단계와, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계를 포함할 수 있다.Wherein the step of processing comprises: allocating a new IP (Internet Protocol) address to the terminal according to movement of the terminal; generating an item key value for the terminal and querying the hierarchical distributed hash table; And updating the item in the hierarchical distributed hash table based on the result.

상기 이동성 제공 방법은, 상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 단계를 더 포함할 수 있다.The mobility providing method may further include transmitting a packet to the terminal through the hierarchical distributed hash table.

상기 전송하는 단계는, 상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하는 단계와, 상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하는 단계와, 상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩하는 단계를 포함할 수 있다.Wherein the step of transmitting comprises: generating an item key value of the terminal in a network access switch that has received the packet; determining whether an optional header is present in the packet; And forwarding the packet to a network switch to which the terminal is connected based on the value.

상기 포워딩하는 단계는, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하는 단계와, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하는 단계와, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리는 단계와, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩하는 단계를 포함할 수 있다.The forwarding step includes forwarding the packet if the option switch is not present in the packet and the network access switch that received the packet does not store the item corresponding to the item key value, If the option switch is not present in the packet and the network access switch that received the packet stores an item corresponding to the item key value, Modifying the option header by adding a new item key value to the option header, adding a new item key value to the option header, and if the option header exists in the packet and the network access switch receiving the packet stores an item corresponding to the item key value Discarding the packet if the packet does not include the packet, And if the network access switch that received the packet stores an item corresponding to the item key value, restores the destination of the packet to the terminal, removes the option header, and forwards the packet to the terminal .

일 실시예에 따른 이동성 제공 장치는, 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하고, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 컨트롤러를 포함하고, 상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성된다.The mobility providing apparatus according to an exemplary embodiment registers an entry related to the terminal in a hierarchy designated by a network access switch to which a terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT) And a controller for handling a handover of the terminal using the item, wherein the hierarchical distributed hash table is configured by the plurality of layers based on a physical distance between the network access switches.

상기 컨트롤러는, 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하는 항목 등록기와, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 핸드 오버 처리기를 포함할 수 있다.The controller includes an item register for registering an entry related to the terminal in a hierarchy designated by a network access switch to which a terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT) And a handover processor for processing the handover of the terminal using the handover processor.

상기 컨트롤러는, 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 HDHT 생성기를 더 포함하고, 상기 HDHT 생성기는, 상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하고, 상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성할 수 있다.Wherein the controller further comprises an HDHT generator for generating the hierarchical distributed hash table including the plurality of layers based on a physical distance between the network access switches, It is possible to generate a plurality of lowest layers constituted by the nearest network access switches and to hierarchically create upper layers constituted by the plurality of lowest layers.

상기 항목 등록기는, 상기 단말과 관련된 항목의 키(key) 값을 생성하는 키 생성기와, 상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 질의기와, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 항목 업데이터를 포함할 수 있다.The item register includes a key generator for generating a key value of an item related to the terminal, a query unit for querying the key value in the hierarchical distributed hash table, And an item updater that updates the item in the table.

상기 항목 업데이터는, 상기 항목에 상기 항목이 저장될 계층을 명시(specify)하고, 상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하고, 상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청할 수 있다.Wherein the item updater specifies a layer in which the item is to be stored in the item, updates a network access switch list and an IP (Internet Protocol) address of the item, and registers in the hierarchical distributed hash table .

상기 항목 업데이터는, 최하위 계층의 분산 해시 테이블에 상기 항목을 저장하고, 상기 등록 요청을 상기 최하위 계층으로부터 최상위 계층까지 순차적으로 전달하면서 명시된 계층에 상기 등록 요청이 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하고, 상기 등록 요청이 상기 최상위 계층에 도달한 경우에, 논리적 거리 연산을 통해 상기 최상위 계층의 분산 해시 테이블 노드에 항목을 저장하고, 상기 등록 요청을 상기 최상위 계층으로부터 상기 명시된 계층까지 순차적으로 전달하면서 상기 명시된 계층에 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장할 수 있다.The item updater stores the item in a distributed hash table of the lowest hierarchical layer, sequentially transfers the registration request from the lowest hierarchical layer to the highest hierarchical layer, and when the registration request reaches the specified hierarchical layer, Storing the item and storing an item in a distributed hash table node of the highest hierarchical level through a logical distance operation when the registration request reaches the highest hierarchical level and transmitting the registration request from the highest hierarchical level to the specified hierarchical level The item can be stored in the distributed hash table of the specified hierarchy when it reaches the specified hierarchy.

상기 항목 업데이터는, 상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하고, 상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장할 수 있다.The item updater may perform a logical distance operation using a key value of the item and store the item in a network access switch having a result of the logical distance operation being the smallest value.

상기 핸드오버 처리기는, 상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하고, 상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하고, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트할 수 있다.The handover processor allocates a new IP (Internet Protocol) address to the terminal according to the movement of the terminal, generates an item key value for the terminal, queries the hierarchical distributed hash table, And update the item in the hierarchical distributed hash table.

상기 컨트롤러는, 상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 패킷 전송기를 더 포함할 수 있다.The controller may further include a packet transmitter for transmitting a packet to the terminal through the hierarchical distributed hash table.

상기 패킷 전송기는, 상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하고, 상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하고, 상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩할 수 있다.Wherein the packet transmitter generates an item key value of the terminal in a network access switch that has received the packet, determines whether or not an option header exists in the packet, and determines, based on the result of the determination and the item key value, And forward the packet to a network switch to which the terminal is connected.

상기 패킷 전송기는, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하고, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하고, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리고, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩할 수 있다.The packet transmitter forwards the packet if the option switch is not present in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value, When the network access switch storing the packet does not include the option header in the packet and stores the item corresponding to the item key value, the destination of the packet is referred to as a network to which the terminal is connected When the option header is present in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value, Discards the packet, and if the option header is present in the packet and the packet If the received network access switch for storing an entry corresponding to the key item value, it is possible to restore the destination of the packet to the terminal and removes the option header to forward the packet to the terminal.

도 1은 일 실시예에 따른 이동성 제공 장치의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 이동성 제공 장치를 이용한 이동성 지원 시스템의 예시를 나타낸다.
도 3은 도 1에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.
도 4는 도 3에 도시된 항목 등록기의 개략적인 블록도를 나타낸다.
도 5는 계층 분산 해시 테이블의 구조의 예시를 나타낸다.
도 6은 DHT 라우팅 테이블의 예시를 나타낸다.
도 7은 계층 분산 해시 테이블에 항목을 등록하는 동작에 대한 의사 코드의 예시를 나타낸다.
도 8은 계층 분산 해시 테이블 항목의 예시를 나타낸다.
도 9는 네트워크 접근 스위치가 단말과 관련된 항목을 업데이트 하는 동작에 대한 의사 코드의 예시를 나타낸다.
도 10은 네트워크 접근 스위치가 캐시에 저장된 항목을 갱신하는 동작에 대한 의사 코드의 예시를 나타낸다.
도 11은 도 3에 도시된 패킷 전송기의 동작의 예시를 나타낸다.
도 12는 패킷을 전송하는 동작에 대한 의사 코드의 예시를 나타낸다.
도 13은 OVS 커널 모듈과 계층 분산 해시 테이블 간에 메시지를 전달 받는 동작의 예시를 나타낸다.
도 14는 도 3에 도시된 핸드오버 처리기의 동작의 예시를 나타낸다.
1 shows a schematic block diagram of a mobility providing apparatus according to an embodiment.
Fig. 2 shows an example of a mobility support system using the mobility providing apparatus shown in Fig.
Figure 3 shows a schematic block diagram of the controller shown in Figure 1;
Figure 4 shows a schematic block diagram of the item register shown in Figure 3;
5 shows an example of the structure of the hierarchical distributed hash table.
6 shows an example of a DHT routing table.
FIG. 7 shows an example of a pseudo code for an operation of registering an item in a hierarchical distributed hash table.
8 shows an example of a hierarchical distributed hash table entry.
9 shows an example of a pseudo code for an operation in which a network access switch updates an item associated with a terminal.
10 shows an example of a pseudo code for an operation in which a network access switch updates an item stored in a cache.
11 shows an example of the operation of the packet transmitter shown in Fig.
12 shows an example of a pseudo code for an operation of transmitting a packet.
13 shows an example of an operation of receiving a message between an OVS kernel module and a hierarchical distributed hash table.
14 shows an example of the operation of the handover processor shown in Fig.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are presented for the purpose of describing embodiments only in accordance with the concepts of the present invention, May be embodied in various forms and are not limited to the embodiments described herein.

본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. However, it is not intended to limit the embodiments according to the concepts of the present invention to the specific disclosure forms, but includes changes, equivalents, or alternatives falling within the spirit and scope of the present invention.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Expressions that describe the relationship between components, for example, "between" and "immediately" or "directly adjacent to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms " comprises ", or " having ", and the like, are used to specify one or more of the features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.

도 1은 일 실시예에 따른 이동성 제공 장치의 개략적인 블록도를 나타낸다.1 shows a schematic block diagram of a mobility providing apparatus according to an embodiment.

도 1을 참조하면, IETF(Internet Engineering Task Force)는 중앙 집중 방식의 이동성 제공 방법에서 발생하는 고질적인 문제들을 해결하기 위해 분산형 이동성 관리 방식의 요구사항을 정리하고 있고, 기존 IP(Internet Protocol) 이동성 해결책들을 분산형 이동성 관리 방식 환경의 데이터 면(data plane)에 도입하는 것을 추진하고 있다. 하지만 이러한 분산형 이동성 관리 방식은 복잡한 터널링 방식, 비최적화(nonoptimal) 경로와 같은 성능 저하 문제들로 인해 실질적으로 사용되지 않고 있는 상황이다.Referring to FIG. 1, the Internet Engineering Task Force (IETF) summarizes the requirements of the distributed mobility management method in order to solve the persistent problems occurring in the centralized mobility providing method, And introduces mobility solutions into the data plane of a distributed mobility management environment. However, this distributed mobility management method is not actually used due to performance degradation problems such as complex tunneling method and nonoptimal path.

최근 데이터 면뿐만 아니라 제어 면(control plane)까지 분산된 완전 분산 방식에 대한 연구가 진행되고 있다. DHT(Distributed Hash Table)를 제어 면으로 사용하는 경우 세계적인 규모로 적용되면 참여하는 노드의 수가 증가하여 질의 시간이 증가하는 문제가 발생할 수 있다.Recently, researches are being made on a complete dispersion method not only for the data plane but also for the control plane. When DHT (Distributed Hash Table) is used as a control surface, the number of participating nodes increases, which can increase the query time.

DHT의 질의 시간 문제를 해결하기 위해 DHT를 계층적으로 구성하거나, One Hop DHT를 이용하거나, 동시 다수 질의를 사용하거나, 노드 식별자 할당 시 DHT 노드들의 물리적 위치 고려하는 등 다양한 해결 방법이 제안되었다. 하지만 이러한 방법들은 DHT 성능 자체를 개선시키는 것에 초점을 맞추었기 때문에 단말의 이동성에 대한 고려가 부족하였다.In order to solve the query time problem of DHT, various solutions have been suggested such as hierarchical configuration of DHT, use of One Hop DHT, simultaneous multiple queries, and consideration of physical location of DHT nodes when assigning node identifiers. However, since these methods focus on improving the DHT performance itself, the mobility of the terminal is not considered.

이동성 제공 장치(10)는 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)과 단말에게 이동성을 제공하는 네트워크 접근 스위치를 이용하여 단말에게 이동성을 제공할 수 있다. 이동성 제공 장치(10)는 네트워크 접근 스위치에서 HDHT를 동작 시키고, 단말의 이동성을 제공하기 위한 정보들을 저장하여 네트워크에 접속한 단말에게 이동성을 제공할 수 있다.The mobility providing apparatus 10 can provide mobility to a terminal using a hierarchical distributed hash table (HDHT) and a network access switch that provides mobility to the terminal. The mobility providing apparatus 10 may operate the HDHT in a network access switch, store information for providing mobility of the terminal, and provide mobility to the terminal connected to the network.

이동성 제공 장치(10)는 최하위 계층의 분산 해시 테이블(DHT)에 참여하는 노드들을 자율 시스템(autonomous system)과 같이 물리적으로 가까운 노드들로 구성한 후, 이러한 노드들을 계층적으로 구성할 수 있다. 예를 들어, 네트워크 접근 스위치가 DHT 노드 역할을 수행할 수 있고, 이동성 제공 장치(10)는 네트워크 접근 스치들을 이용하여 HDHT를 구성할 수 있다.The mobility providing apparatus 10 may configure the nodes participating in the lowest hierarchical distributed hash table DHT to physically close nodes such as an autonomous system and then hierarchically configure these nodes. For example, the network access switch may serve as a DHT node, and the mobility provision device 10 may configure the HDHT using network access switches.

이동성 제공 장치(10)는 HDHT를 네트워크 접근 스위치와 개별적으로 동작시킬 수 있다.The mobility provision device 10 can operate the HDHT separately from the network access switch.

이동성 제공 장치(10)는 단말의 이동성을 제공하기 위해 필요한 정보를 HDHT에 저장할 수 있다. 이동성 제공 장치(10)는 단말의 위치 정보를 포함한 항목을 HDHT에 저장할 때, 항목이 저장되는 계층 레벨을 지정할 수 있다.The mobility providing apparatus 10 may store information necessary for providing the mobility of the terminal to the HDHT. When the mobility providing apparatus 10 stores an item including location information of the terminal in the HDHT, the mobility providing apparatus 10 can designate the hierarchical level at which the item is stored.

이동성 제공 장치(10)는 단말이 네트워크 상에서 고정되어 있거나, 자유롭게 이동하더라도 단말이 위치한 서브 네트워크에 패킷을 정확히 전달하여 객체의 통신을 유지하게 할 수 있다.The mobility providing apparatus 10 can maintain the communication of the object by accurately transmitting the packet to the subnetwork where the terminal is located even if the terminal is fixed on the network or freely moves.

이동성 제공 장치(10)는 HDHT에 저장된 정보를 이용하여 단말이 이동하더라도 다른 접근 스위치들이 단말이 위치한 서브 네트워크로 패킷 포워딩(또는 라우팅)을 적절히 수행할 수 있도록 할 수 있다.The mobility providing apparatus 10 can use the information stored in the HDHT to enable other access switches to appropriately perform packet forwarding (or routing) to the subnetwork where the terminal is located, even if the terminal moves.

이동성 제공 장치(10)는 단말의 이동성을 제공하기 위한 정보를 HDHT에 저장하고, 네트워크 접근 스위치의 패킷 처리 기능을 통해 단말의 이동성을 지원할 수 있다.The mobility providing apparatus 10 may store information for providing the mobility of the terminal to the HDHT and support the mobility of the terminal through the packet processing function of the network access switch.

이동성 제공 장치(10)는 단말로부터 유도된 정보들을 이용하여 단말의 정보를 저장하기 위해 사용되는 항목의 키(key) 값을 생성할 수 있다.The mobility providing apparatus 10 may generate a key value of an item used for storing information of the terminal using information derived from the terminal.

이동성 제공 장치(10)는 서브 네트워크에 위치한 네트워크 접근 스위치들에서 동작하는 DHT를 계층적으로 구성하고, 단말의 이동성에 필요한 정보를 저장할 때, 정보를 담은 항목이 저장될 계층을 지정할 수 있다. 이를 통해, 이동성 제공 장치(10)는 항목이 저장된 계층 밑(계층 레벨이 포함된 범위 안)에서 단말이 이동할 경우 단말의 정보에 대한 질의를 빠른 시간에 완료함으로써, 단말의 핸드 오버 시간을 줄일 수 있고, 확장성(scalability) 문제를 해결할 수 있다.The mobility providing apparatus 10 hierarchically configures the DHT operating in the network access switches located in the subnetwork and can designate a layer in which items containing information are to be stored when information necessary for mobility of the terminal is stored. Accordingly, when the mobile station moves under the hierarchy in which the item is stored (within the range including the hierarchical level), the mobility provision apparatus 10 can complete the inquiry about the information of the terminal in a short period of time, , And can solve the scalability problem.

이동성 제공 장치(10)는 계층 레벨 지정 기능을 통해 항목이 저장되는 계층보다 하위 계층에서 동작하는 단말이 이동하는 경우 단말 이동 정보에 대한 질의가 빠르게 이루어지도록 할 수 있다.The mobility providing apparatus 10 can promptly query the terminal movement information when a terminal operating in a lower layer than the layer in which the item is stored is moved through the hierarchical level designating function.

이동성 제공 장치(10)는 호스트 정보를 담은 항목이 저장되는 계층 레벨을 지정함으로써 질의에 소요되는 오버레이 홉(overlay hop)의 수를 제한시켜 질의에 소요되는 시간을 단축시킬 수 있다. 오버레이 홉은 HDHT 상에서 노드들 간에 패킷이 전달되는 동작을 의미할 수 있다.The mobility providing apparatus 10 may limit the number of overlay hops required for a query by specifying a hierarchical level at which items containing host information are stored, thereby shortening the time required for the query. An overlay hop may mean an operation in which packets are transferred between nodes on the HDHT.

이동성 제공 장치(10)는 HDHT에 저장된 단말과 관련된 정보를 이용하여 패킷 처리 기능을 수행할 수 있다. 이동성 제공 장치(10)는 패킷 처리 기능을 통해 단말이 서브 네트워크를 변경해도 해당 단말을 목적지로 한 패킷들을 올바른 위치로 전달할 수 있다.The mobility providing apparatus 10 can perform a packet processing function using information related to a terminal stored in the HDHT. The mobility providing apparatus 10 can deliver packets destined for the terminal to the correct location even if the terminal changes its subnetwork through the packet processing function.

이동성 제공 장치(10)는 컨트롤러(100)를 포함할 수 있다.The mobility providing apparatus 10 may include a controller 100. [

컨트롤러(100)는 HDHT를 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하고, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리할 수 있다.The controller 100 registers an entry related to the terminal in a hierarchy designated by a network access switch to which the terminal is connected among a plurality of layers constituting the HDHT and can handle the handover of the terminal using the item .

컨트롤러(100)는 네트워크 접근 스위치 내부에 구현될 수 있고, 외부에 구현될 수도 있다. 예를 들어, HDHT를 구성하는 각각의 네트워크 접근 스위치는 컨트롤러를 포함할 수 있다.The controller 100 may be implemented within a network access switch, or may be implemented externally. For example, each network access switch that makes up the HDHT may include a controller.

도 2는 도 1에 도시된 이동성 제공 장치를 이용한 이동성 지원 시스템의 예시를 나타낸다.Fig. 2 shows an example of a mobility support system using the mobility providing apparatus shown in Fig.

도 2를 참조하면, 기존의 단말 기반 이동성 지원 방법은 단말의 수정을 필요로 할 수 있다. 기존의 방식은 단말의 이동이 발생했을 때 신호 정보를 단말이 직접 보내도록 단말을 수정해야 하고, 삼각 라우팅(triangular routing)과 같은 성능 문제가 발생할 수 있다.Referring to FIG. 2, the existing terminal-based mobility support method may require modification of the terminal. In the conventional scheme, when the mobile station moves, it is necessary to modify the mobile station so that the mobile station directly transmits signal information, and performance problems such as triangular routing may occur.

이동성 제공 장치(10)는 단말을 수정하지 않고, 네트워크 만을 수정하는 네트워크 기반 방식으로 이동성을 제공할 수 있다. 이동성 제공 장치(10)는 분산 이동성 관리 방식을 사용하여 이동성을 제공할 수 있다.The mobility providing apparatus 10 can provide mobility in a network-based manner in which only the network is modified without modifying the terminal. The mobility providing apparatus 10 may provide mobility using a distributed mobility management scheme.

분산 이동성 관리 방식은 부분 분산 방식과 전체 분산 방식을 포함할 수 있다. 부분 분산 방식과 전체 분산 방식은 제어 면(control plane)의 분산 여부에 의해 구분할 수 있다.The distributed mobility management method may include a partial dispersion method and a full dispersion method. The partial dispersion method and the total dispersion method can be classified according to whether or not the control plane is dispersed.

이동성 제공 장치(10)는 HDHT를 제어 면으로 사용하여 전체 분산 방식에 포함될 수 있다.The mobility providing apparatus 10 may be included in the entire decentralized system using the HDHT as a control plane.

이동성 제공 장치(10)는 각 DHT를 같은 자율 시스템에 속한 네트워크 접근 스위치들로 구성하여 DHT 안에서 발생하는 질의를 빠른 시간에 완료할 수 있다.The mobility provision apparatus 10 can configure each DHT to be a network access switch belonging to the same autonomous system so that a query generated in the DHT can be completed quickly.

이동성 제공 장치(10)는 DHT를 계층적으로 구성하고 항목이 저장되는 레벨을 지정함으로써 질의에 소요되는 오버레이 홉의 수를 제한시킬 수 있다. 이를 통해, 이동성 제공 장치(10)는 기존의 평면 DHT의 질의 시간 문제와 기존 계층 DHT의 확장성 문제를 개선할 수 있다. 또한, 이동성 제공 장치(10)는 항목의 계층 레벨보다 하위 계층에서 동작하는 DHT에서 발생하는 질의를 빠른 시간 안에 완료할 수 있다.The mobility providing apparatus 10 can limit the number of overlay hops required for a query by hierarchically configuring the DHT and designating the level at which items are stored. Accordingly, the mobility providing apparatus 10 can improve the problem of the query time of the existing planar DHT and the scalability problem of the existing hierarchical DHT. In addition, the mobility providing device 10 can complete a query in a DHT operating in a lower hierarchical level than an item hierarchical level in a short time.

이동성 제공 장치(10)는 HDHT를 제어 면에 사용하기 때문에 완전 분산 이동성 관리 방식을 지원할 수 있다. 따라서, 이동성 제공 장치(10)는 특정 네트워크 장비에 집중되는 트래픽을 분산시킬 수 있어 기존 중앙 집중 방식의 문제점인 단일 점 고장 문제와 확장성 문제를 해결할 수 있다.Since the mobility providing apparatus 10 uses the HDHT as a control plane, it can support a fully distributed mobility management scheme. Therefore, the mobility providing apparatus 10 can distribute traffic concentrated on specific network equipment, thereby solving the single point failure problem and the scalability problem, which are problems of the existing centralized method.

이동성 제공 장치(10)는 계층적 구조를 가지고 있기 때문에 기존 네트워크의 말단부터 점진적으로 적용시켜 나갈 수 있다. 따라서, 이동성 제공 장치(10)는 기존 네트워크 시스템과 호환성을 가질 수 있다.Since the mobility providing apparatus 10 has a hierarchical structure, it can be gradually applied from the end of the existing network. Therefore, the mobility providing apparatus 10 can be compatible with existing network systems.

네트워크 사업자 및 네트워크 장비 사업자는 제안하는 시스템을 네트워크의 말단부터 점차적으로 적용시켜 나갈 수 있기 때문에 네트워크 장비 간 상호 호환성을 높일 수 있다. 또한, 사업자는 이동성 제공 장치(10)를 구현함으로써 단말에 대한 이동성을 지원할 수 있으며 이를 통해 사용자에게 좀 더 향상된 사용자 경험을 제공할 수 있다.Network operators and network equipment operators can gradually apply the proposed system from the end of the network, thereby enhancing interoperability between network equipment. In addition, the provider can support mobility for the terminal by implementing the mobility providing device 10, thereby providing a more improved user experience to the user.

도 3은 도 1에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.Figure 3 shows a schematic block diagram of the controller shown in Figure 1;

도 3을 참조하면, 컨트롤러(100)는 HDHT 생성기, 항목 등록기, 핸드오버 처리기 및 패킷 전송기를 포함할 수 있다.Referring to FIG. 3, the controller 100 may include an HDHT generator, an item register, a handover processor, and a packet transmitter.

HDHT 생성기(110)는 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 복수의 계층을 포함하는 HDHT를 생성할 수 있다.The HDHT generator 110 may generate an HDHT including a plurality of layers based on the physical distance between the network access switches.

HDHT 생성기(110)는 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하고, 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성할 수 있다.The HDHT generator 110 may generate a plurality of lowest hierarchical layers constituted by network access switches physically close to each other among the network access switches and may hierarchically generate upper hierarchical layers constituted by a plurality of lowest hierarchical layers.

항목 등록기(entry registrator, 130)는 HDHT를 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 단말과 관련된 항목(entry)을 등록할 수 있다.An entry registrator 130 may register an entry related to a terminal in a layer designated by a network access switch to which the terminal is connected among a plurality of layers constituting the HDHT.

항목 등록기(130)는 단말의 이동성을 제공하기 위한 정보를 포함한 항목을 HDHT에 등록할 수 있다.The item register 130 may register an item including information for providing the mobility of the terminal to the HDHT.

핸드 오버 처리기(150)는 항목을 이용하여 단말의 핸드오버를 처리할 수 있다.The handover processor 150 may process the handover of the terminal using the item.

핸드 오버 처리기(150)는 단말의 이동에 따라 단말에 새로운 IP(Internet Protocol) 주소를 할당하고, 단말에 대한 항목 키 값을 생성하여 상기 HDHT에 질의할 수 있다. 핸드 오버 처리기(150)는 질의 결과에 기초하여 HDHT에 항목을 업데이트할 수 있다.The handover processor 150 can allocate a new IP (Internet Protocol) address to the terminal according to the movement of the terminal, generate an item key value for the terminal, and query the HDHT. The handover processor 150 can update the item in the HDHT based on the query result.

패킷 전송기(170)는 HDHT를 통해 단말에 패킷을 전송할 수 있다. The packet transmitter 170 can transmit a packet to the terminal through the HDHT.

패킷 전송기(170)는 패킷을 수신한 네트워크 접근 스위치에서 단말의 항목 키 값을 생성하고, 패킷에 옵션 헤더가 존재하는지 여부를 판단할 수 있다.The packet transmitter 170 may generate the item key value of the terminal in the network access switch that has received the packet and determine whether an optional header exists in the packet.

패킷 전송기(170)는 판단의 결과 및 항목 키 값에 기초하여 단말이 연결된 네트워크 스위치로 패킷을 포워딩할 수 있다.The packet transmitter 170 may forward the packet to the network switch to which the terminal is connected based on the determination result and the item key value.

패킷 전송기(170)는 패킷에 옵션 헤더가 존재하지 않고 패킷을 수신한 네트워크 접근 스위치가 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 패킷을 포워딩하고 HDHT에 상기 항목에 관하여 질의할 수 있다.Packet sender 170 may forward the packet and query the HDHT for the item if the packet does not have an optional header and the network access switch that received the packet is not storing an item corresponding to the item key value .

패킷 전송기(170)는 패킷에 상기 옵션 헤더가 존재하지 않고 패킷을 수신한 네트워크 접근 스위치가 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 패킷의 목적지를 단말이 연결된 네트워크 스위치로 수정하고, 옵션 헤더에 새로운 항목 키 값을 추가할 수 있다.The packet transmitter 170 modifies the destination of the packet to the network switch to which the terminal is connected when the network access switch that received the packet without the option header does not store the item corresponding to the item key value, You can add a new entry key value to the header.

패킷 전송기(170)는 패킷에 옵션 헤더가 존재하고 패킷을 수신한 네트워크 접근 스위치가 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 패킷을 버릴 수 있다.Packet transmitter 170 may discard the packet if an optional header is present in the packet and the network access switch that received the packet does not store an item corresponding to the item key value.

패킷 전송기(170)는 패킷에 옵션 헤더가 존재하고 패킷을 수신한 네트워크 접근 스위치가 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 패킷의 목적지를 단말로 복원하고 옵션 헤더를 제거하여 단말로 패킷을 포워딩할 수 있다.The packet transmitter 170 restores the destination of the packet to the terminal, removes the option header, and transmits the packet to the terminal if the option header exists in the packet and the network access switch that received the packet stores an item corresponding to the item key value. Lt; / RTI >

도 4는 도 3에 도시된 항목 등록기의 개략적인 블록도를 나타낸다.Figure 4 shows a schematic block diagram of the item register shown in Figure 3;

도 4를 참조하면, 항목 등록기(130)는 키 생성기(key generator, 131), 질의기(querier, 133) 및 항목 업데이터(entry updater, 135)를 포함할 수 있다.4, the item register 130 may include a key generator 131, a querier 133, and an entry updater 135.

키 생성기(131)는 단말과 관련된 항목의 키(key) 값을 생성할 수 있다. 키 생성기(131)는 해시 함수를 사용하여 키를 생성할 수 있다. 예를 들어, 키 생성기(131)는 MD5, SHA 계열의 해시 함수를 사용하여 키를 생성할 수 있다.The key generator 131 may generate a key value of an item associated with the terminal. The key generator 131 may generate a key using a hash function. For example, the key generator 131 may generate a key using the hash function of the MD5 and SHA sequences.

키 생성기(131)는 단말로부터 유도된 정보를 이용하여 단말의 정보를 저장하기 위해 사용되는 항목의 키를 생성할 수 있다. 키 생성기(131)는 단말의 IP주소, 임의의 문자열 또는 평면 이름 공간을 사용하여 항목의 키를 생성할 수 있다. 평면 이름 공간은 해시 함수의 결과를 포함할 수 있다. 예를 들어, 키 생성기(131)는 단말의 IP 주소에 해시 함수를 적용하거나, GUID(Globally Unique Identifiers)를 이용하여 항목의 키를 생성할 수 있다.The key generator 131 may generate a key of an item used for storing information of the terminal using information derived from the terminal. The key generator 131 may generate an item key using the IP address of the terminal, an arbitrary string, or a plane name space. The plane namespace may contain the result of a hash function. For example, the key generator 131 may apply a hash function to the IP address of the terminal or generate a key of an item using globally unique identifiers (GUID).

질의기(133)는 HDHT에 키 값을 질의할 수 있다.Queryor 133 can query the key value in HDHT.

질의기(133)가 항목에 대한 질의를 전달하는 과정은 항목 업데이터(135)가 항목을 등록할 때와 동일할 수 있다.The process in which the inquirer 133 transmits a query for an item may be the same as when the item updater 135 registers an item.

질의기(133)는 질의를 보내는 위치 정보를 알고자 하는 단말의 IP주소를 기반으로 원하는 항목의 키 값을 계산할 수 있다. 질의기(133)는 라우팅 테이블에 저장된 네트워크 접근 스위치들의 노드 ID와 키 값으로 논리적 거리 연산을 통해 항목을 저장하고 있는 네트워크 접근 스위치를 결정할 수 있다. 질의기(133)는 질의 메시지를 받은 네트워크 접근 스위치가 항목을 저장하고 있는지 확인할 수 있다.The inquirer 133 can calculate the key value of the desired item based on the IP address of the terminal to know the location information of the inquiry. The inquirer 133 can determine a network access switch storing an item by logically calculating the node ID and the key value of the network access switches stored in the routing table. The inquirer 133 can check whether the network access switch that received the query message is storing the item.

만약, 항목이 저장되어 있다면 질의기(133)는 이를 곧바로 질의를 보낸 네트워크 접근 스위치에게 반환할 수 있다. 이 경우 질의에 소요된 오버레이 홉(Overlay Hop)의 수는 1로 나타낼 수 있다. 질의기(133)는 질의를 받은 네트워크 접근 스위치가 항목을 저장하고 있지 않은 경우에는 질의를 루트 노드에게 전달할 수 있다.If the item is stored, the query unit 133 may return it to the network access switch that sent the query immediately. In this case, the number of overlay hops required for the query can be expressed as 1. The inquiry unit 133 can forward the query to the root node if the network access switch that received the query does not store the item.

질의를 전달받은 루트 노드는 상위 DHT의 라우팅 테이블도 가지고 있을 수 있다. 질의기(133)는 이 라우팅 테이블을 이용하여 상위 DHT에 참여하고 있는 네트워크 접근 스위치 중 항목 저장하고 있는 네트워크 접근 스위치에게 질의를 보낼 수 있다. 이 과정은 최상위 DHT까지 질의가 전달될 때까지 반복될 수 있다.The root node that receives the query may also have the routing table of the upper DHT. The inquirer 133 can use this routing table to send a query to the network access switch storing items among network access switches participating in the upper DHT. This process can be repeated until the query is delivered up to the highest DHT.

최상위 DHT 노드가 질의를 전달받은 경우에 질의기(133)는 질의 메시지의 전달 방향을 아래 계층을 향하는 방향으로 변경할 수 있다. 중간에 항목이 발견되면 해당 네트워크 접근 스위치는 곧바로 항목 질의한 네트워크 접근 스위치에게 항목에 관한 정보를 반환할 수 있다.When the highest DHT node receives a query, the query unit 133 may change the direction of the query message to be directed toward the lower layer. If an item is found in the middle, the corresponding network access switch can immediately return information about the item to the itemized network access switch.

질의 진행방향은 항상 상위 계층 방향으로 시작되며 최상위 DHT를 거친 후에 아래 방향으로 변경될 수 있다. 질의가 전달될 때마다 오버레이 홉의 수가 1씩 증가할 수 있다. 질의에 소요될 수 있는 최대 오버레이 홉의 수는 HDHT 레벨이 1, 2, 3일 때 각각 5, 6,7 일 수 있다.The query direction always starts in the upper hierarchy direction and can be changed in the downward direction after passing through the uppermost DHT. The number of overlay hops can be increased by one each time a query is delivered. The maximum number of overlay hops that can be spent in a query can be 5, 6, or 7 when the HDHT level is 1, 2, or 3, respectively.

항목 업데이터(135)는 질의 결과에 기초하여 HDHT에 항목을 업데이트할 수 있다.The item updater 135 may update the item in the HDHT based on the query result.

항목 업데이터(135)는 항목에 항목이 저장될 계층을 명시(specify)하고, 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신할 수 있다. 항목 업데이터(135)는 HDHT에 항목에 대한 등록을 요청할 수 있다.The item updater 135 may specify the layer in which the item is to be stored in the item, and update the network access switch list and IP (Internet Protocol) address of the item. The item updater 135 may request registration of the item in the HDHT.

항목 업데이터(135)는 최하위 계층의 DHT에 항목을 저장하고, 등록 요청을 최하위 계층으로부터 최상위 계층까지 순차적으로 전달하면서 명시된 계층에 등록 요청이 도달하면 명시된 계층의 DHT에 항목을 저장할 수 있다.The item updater 135 stores items in DHTs of the lowest hierarchical level, and sequentially transfers the registration requests from the lowest hierarchical layer to the highest hierarchical layer, and stores the items in DHTs of the specified hierarchical layer when the registration request reaches the specified hierarchical layer.

항목 업데이터(135)는 등록 요청이 최상위 계층에 도달한 경우에, 논리적 거리 연산을 통해 최상위 계층의 DHT 노드에 항목을 저장할 수 있다.The item updater 135 may store the item in the highest hierarchical DHT node through logical distance operation when the registration request reaches the highest hierarchical level.

항목 업데이터(135)는 등록 요청을 최상위 계층으로부터 명시된 계층까지 순차적으로 전달하면서 명시된 계층에 도달하면 명시된 계층의 DHT에 항목을 저장할 수 있다.The item updater 135 can sequentially store the registration request from the highest layer to the specified layer, and store the item in the DHT of the specified layer when reaching the specified layer.

항목 업데이터(135)는 항목의 키 값을 이용하여 논리적 거리 연산을 수행하고, 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 항목을 저장할 수 있다.The item updater 135 may perform a logical distance operation using the key value of the item and store the item in the network access switch having the smallest value of the logical distance operation.

항목 업데이터(135)는 항목의 키 값과 DHT 라우팅 테이블에 저장된 노드 식별자 간에 논리적 거리 연산을 수행하여, 연산 값이 가장 작은 네트워크 스위치를 항목을 책임지는 네트워크 접근 스위치로 결정하여 항목을 저장할 수 있다. 예를 들어, 항목 업데이터(135)는 노드 식별자로 네트워크 접근 스위치의 IP를 사용할 수 있다.The item updater 135 may perform a logical distance operation between the key value of the item and the node identifier stored in the DHT routing table to determine the network switch having the smallest computation value as the network access switch responsible for the item and store the item. For example, the item updater 135 may use the IP of the network access switch as the node identifier.

도 5는 계층 분산 해시 테이블의 구조의 예시를 나타낸다.5 shows an example of the structure of the hierarchical distributed hash table.

기존의 DHT에서는 참여한 노드들 간에 항목을 분산시켜서 저장할 수 있다. DHT에 참여한 노드들은 임의의 식별자를 가지며, 항목의 키 값은 해시 함수를 이용하여 생성될 수 있다. DHT에 참여한 노드가 원하는 항목의 키 값에 관하여 질의를 보내면 질의는 항목을 책임지는(또는 저장하고 있는) 노드에게 전달될 수 있다.In the existing DHT, items can be distributed and stored among participating nodes. The nodes participating in the DHT have an arbitrary identifier, and the key value of the item can be generated using a hash function. When a node participating in the DHT sends a query about the key value of the desired item, the query can be delivered to the node responsible for (or storing) the item.

기존의 DHT를 이용한 이동성 제공 방법은 노드들에게 식별자를 할당할 때 물리적인 거리를 고려하지 않고 평면 이름 공간(flat namespace)에서 임의의 값을 할당할 수 있다. 따라서, 식별자 간에 논리적 거리 연산 값이 작다고 하더라도 실제 물리적 거리는 굉장히 클 수 있다.In the conventional method of providing mobility using the DHT, an arbitrary value can be allocated in the flat namespace without considering the physical distance when allocating an identifier to the nodes. Therefore, even if the logical distance calculation value is small among the identifiers, the actual physical distance may be extremely large.

이러한 이유로 물리적으로 가까운 곳에 원하는 항목이 있어도 질의가 먼 곳을 들르면서 전달될 수 있어 질의 시간이 오래 걸릴 수 있다. 평면 DHT에 참여하는 노드들이 세계적으로 분산되는 경우, 질의 시간의 증가는 더욱 커질 수 있다.For this reason, even if there are items that are physically close to each other, it can take long time to inquire, because it can be transmitted when a query is distant. If the nodes participating in the planar DHT are distributed globally, the increase in query time can be even greater.

이동성 제공 장치(10)는 DHT를 계층 적으로 구성하여 질의 시간을 단축시킬 수 있다. 또한, 이동성 제공 장치(10)는 항목이 저장되는 계층을 지정함으로써 확장성 문제를 해결할 수 있다.The mobility providing apparatus 10 can construct the DHT hierarchically to shorten the query time. In addition, the mobility providing device 10 can solve the scalability problem by designating the hierarchy in which items are stored.

도 5의 HDHT는 계층이 3 레벨인 경우를 도시한 것이다. HDHT 생성기(110)는 계층 레벨을 네트워크의 크기에 따라 조절 가능할 수 있다. HDHT 생성기(110)는 네트워크의 크기가 더 커지는 경우 계층 레벨을 늘릴 수 있으며, 네트워크 크기가 작아지는 경우 레벨을 줄일 수 있다.The HDHT of FIG. 5 shows a case where the layer is at three levels. The HDHT generator 110 may be able to adjust the layer level according to the size of the network. The HDHT generator 110 can increase the hierarchy level when the size of the network is larger and reduce the level when the size of the network becomes smaller.

HDHT 생성기(110)는 DHT를 계층 적으로 구성할 때, 물리적으로 가까운 네트워크 접근 스위치들을 이용하여 최하위 DHT를 구성할 수 있다. HDHT 생성기(110)는 물리적 거리가 가까운 네트워크 접근 스위치들로 최하위 DHT를 구성함으로써, 질의기(133)는 최하위 DHT에 대한 질의를 매우 짧은 시간에 완료할 수 있다.When the DHT generator 110 hierarchically configures the DHT, the lowest DHT can be configured using physically close network access switches. The HDHT generator 110 configures the lowest DHT with network access switches having near physical distances so that the queryer 133 can complete the query for the lowest DHT in a very short time.

도 5에서와 같이 HDHT에 참여하고 있는 복수의 DHT는

Figure pat00001
와 같이 나타낼 수 있다. 위 첨자 i는 DHT의 계층 레벨을 나타내고, 아래 첨자 j는 DHT의 식별자를 나타낼 수 있다. 도 5에서는 편의를 위해 연속된 숫자를 이용하여 식별자를 나타내었지만, 실제 DHT의 식별자는 임의의 숫자로 정의될 수 있다.As shown in FIG. 5, a plurality of DHTs participating in HDHT
Figure pat00001
As shown in Fig. The superscript i represents the hierarchical level of the DHT, and the subscript j represents the identifier of the DHT. In FIG. 5, the identifiers are shown using consecutive numbers for the sake of convenience. However, the identifier of the actual DHT can be defined as any number.

항목 업데이터(135)는 네트워크 접근 스위치가 속한 최하위 DHT에 항상 항목을 저장할 수 있다. 항목 업데이터(135)는 항목 등록을 요청하는 네트워크 접근 스위치의 요청에 따라, 항목 등록을 요청하는 네트워크 스위치가 속한 최하위 DHT 안에서 항목을 책임지는 네트워크 접근 스위치를 결정할 수 있다.The item updater 135 may always store the item in the lowest DHT to which the network access switch belongs. The item updater 135 may determine a network access switch responsible for items within the lowest DHT to which the network switch requesting item registration is requesting, at the request of the network access switch requesting item registration.

항목 업데이터(135)는 항목을 책임지는 네트워크 접근 스위치에 등록 메시지를 보낼 수 있다. 항목 업데이터(135)는 메시지를 수신한 네트워크 접근 스위치의 저장 공간에 항목을 저장할 수 있다.The item updater 135 may send a registration message to the network access switch responsible for the item. The item updater 135 may store the item in the storage space of the network access switch that has received the message.

항목 업데이터(135)는 등록 요청을 상위 DHT에 전달할 수 있다. 항목 업데이터(135)는 등록 요청을 상위 계층으로 전달하면서 항목을 저장하도록 명시된 계층에 도달하면 항목을 저장할 수 있다.The item updater 135 may forward the registration request to the upper DHT. The item updater 135 can store the item when reaching the specified hierarchy to store the item while transferring the registration request to the upper layer.

항목 업데이터(135)는 등록 요청이 최상위 DHT에 도달하면 논리적 거리 연산을 통해 항목을 저장할 다른 최상위 DHT 노드를 결정하고 등록 요청의 전달 방향을 아래 방향(하위 계층 방향)으로 바꿀 수 있다.The item updater 135 can determine the other top DHT node to store the item through the logical distance operation when the registration request reaches the highest DHT and change the forwarding direction of the registration request downward (lower hierarchy direction).

항목 업데이터(135)는 등록 요청을 하위 계층으로 전달하면서 계층 레벨과 항목을 저장하도록 명시된 계층에 도달한 경우 항목을 저장할 수 있다. 명시된 계층과 다른 계층에 도달한 경우에는 등록 메시지를 하위 계층으로 전달할 수 있다.The item updater 135 may store items when reaching a hierarchy level and a layer specified for storing items, while transferring a registration request to a lower layer. When a layer other than the specified layer is reached, the registration message can be transmitted to the lower layer.

항목 업데이터(135)는 상술한 과정을 통해 항목을 처음 등록하고, 갱신할 수 있다.The item updater 135 can register and update the item for the first time through the above-described process.

예를 들어, 도 5의 항목 A, B, C는 각각

Figure pat00002
에서 저장할 계층 레벨을 1, 2, 3으로 지정하여 등록 요청한 경우를 나타낼 수 있다. 항목 업데이터(135)는 모든 항목을 제일 먼저 요청이 시작된
Figure pat00003
에 저장한 후 최상위 DHT로 순차적으로 전달할 수 있다.For example, items A, B, and C in FIG. 5 are
Figure pat00002
2, and 3 in the hierarchical level to be stored. The item updater 135 is responsible for initializing all items first
Figure pat00003
And then sequentially forwarded to the highest DHT.

항목 업데이터(135)는 최상위 DHT에 전달되는 과정에서 항목에 명시된 계층 레벨과 등록 요청을 받은 네트워크 접근 스위치가 참여하고 있는 DHT 계층이 같은 경우에 항목을 저장할 수 있다. 항목 업데이터(135)는 최상위 계층의 DHT를 지나면서 전달 방향을 아래 방향으로 바꾸고 최하위 DHT로 순차적으로 등록 요청을 전달하면서 항목을 저장하는 동작을 한번 더 수행한다.The item updater 135 may store the item when the layer level specified in the item and the DHT layer participating in the network access switch receiving the registration request are the same in the process of being transmitted to the highest DHT. The item updater 135 performs the operation of storing items while changing the direction of the downward direction through the DHT of the highest hierarchical level and sequentially transmitting the registration request to the lowest DHT.

항목 업데이터(135)는 항목에 명시된 계층이 1인 경우를 제외하면 최상위 DHT에 항목을 저장하지 않으므로, 최상위 DHT가 모든 항목을 저장하지 않을 수 있다. 이러한 방식으로 이동성 제공 장치(10)는 확장성(scalability) 문제를 해결할 수 있다.The item updater 135 does not store items in the highest-order DHT unless the hierarchy specified in the item is 1, so that the highest-order DHT may not store all items. In this way, the mobility providing apparatus 10 can solve the scalability problem.

질의기(133)가 항목에 관하여 질의를 하는 과정은 항목을 등록하는 과정과 동일할 수 있다. 질의가 전달될 때마다 오버레이 홉의 수가 1씩 증가할 수 있다. 항목이 상위 계층에 저장될수록 질의기(133)가 질의에 소요할 수 있는 최대 오버레이 홉 수의 평균이 작아지기 때문에 질의를 빠르게 지원할 수 있다.The process in which the inquirer 133 queries the item may be the same as the process of registering the item. The number of overlay hops can be increased by one each time a query is delivered. As the item is stored in the upper layer, the query unit 133 can quickly support the query because the average number of overlay hops that can be spent on the query becomes smaller.

항목이 저장되는 계층과 이를 질의하는 네트워크 접근 스위치의 위치에 따라 질의에 소요되는 오버레이 홉의 수와 지연시간이 크게 달라질 수 있다.The number of overlay hops required for the query and the delay time can be greatly changed according to the location of the network access switch for querying the hierarchy in which the items are stored.

예를 들어, 항목 C에 대하여 질의하는 경우 항목 C와 같은 계층인

Figure pat00004
에 속한 네트워크 접근 스위치들은 자신이 속한 DHT에 항목이 있기 때문에 질의를 빠르게 마칠 수 있다. 따라서, 질의에 소요되는 시간이 매우 짧을 수 있다.For example, if you are querying on item C,
Figure pat00004
The network access switches belonging to the DHT can terminate the query quickly because there are items in their DHT. Therefore, the time required for the query can be very short.

그러나

Figure pat00005
에 참여하고 있는 네트워크 스위치가 항목 C에 관하여 질의하는 경우 질의가 최상의 DHT를 거쳐서 다른 지역의 최하위 DHT까지 전달될 수 있다. 이 경우 원하는 항목이 물리적으로 가까운 곳에 위치함에도 불구하고 질의가 최상위 DHT를 거치기 때문에 비효율적일 수 있다.But
Figure pat00005
The query can be delivered via the best DHT to the lowest DHT in the other region. In this case, the query may be inefficient because it goes through the highest DHT, even though the desired item is physically close.

만약 항목 업데이터(135)가 항목 C가 저장될 계층을 2로 명시하였다면 질의기(133)가

Figure pat00006
에서 질의를 시작하더라도
Figure pat00007
에 항목이 저장되기 때문에 훨씬 빠른 시간 안에 원하는 항목에 관하여 질의를 완료할 수 있다.If the item updater 135 specifies the hierarchy in which the item C is to be stored as 2, the queryer 133
Figure pat00006
Even if you start a query in
Figure pat00007
It is possible to complete the inquiry about the desired item in a much shorter time.

따라서, 항목 등록기(130)는 항목을 HDHT에 등록할 때, 항목을 질의할 가능성이 높은 네트워크 접근 스위치들의 위치를 고려하여 항목이 저장될 계층을 결정할 수 있다. 이러한 특성을 이용하면 이동성 제공 장치(10)가 단말의 이동성을 지원하기 위해 소요하는 질의 시간을 획기적으로 줄일 수 있다.Accordingly, when registering the item in the HDHT, the item register 130 can determine the layer in which the item is stored in consideration of the location of the network access switches that are highly likely to query the item. Using this characteristic, the time required for the mobility providing apparatus 10 to support the mobility of the terminal can be drastically reduced.

도 6은 DHT 라우팅 테이블의 예시를 나타낸다.6 shows an example of a DHT routing table.

이동성 제공 장치(10)는 HDHT를 원 홉(One Hop) DHT로 구성할 수 있다. 원 홉 DHT에서는 각 네트워크 스위치가 같은 DHT에 참여하고 있는 모든 네트워크 접근 스위치에 대한 정보가 담겨있는 DHT 라우팅 테이블을 유지할 수 있다. The mobility provision apparatus 10 may configure the HDHT as a one-hop DHT. In a one-hop DHT, each network switch can maintain a DHT routing table that contains information about all network access switches participating in the same DHT.

항목 업데이터(135)는 라우팅 테이블을 이용하여 원하는 항목을 가지고 있는 네트워크 접근 스위치를 한 번에 결정할 수 있다.The item updater 135 can use the routing table to determine a network access switch having a desired item at a time.

HDHT는 루트 노드를 포함할 수 있다. 루트 노드는 DHT에 최초로 참여하는 노드이며, 상위 레벨 DHT와 하위 레벨 DHT간 등록 및 질의 메시지를 전달하는 역할을 수행할 수 있다. 또한, 루트 노드는 DHT에 참여하고 있는 네트워크 접근 스위치들에 대한 최신 라우팅 테이블을 전파하는 역할을 수행할 수 있다. 루트 노드가 관리하는 DHT 라우팅 테이블은 도 6과 같이 구성될 수 있다.The HDHT may include a root node. The root node is the first node participating in the DHT, and can perform the registration and query message transmission between the high level DHT and the low level DHT. In addition, the root node may be responsible for propagating the latest routing table for the network access switches participating in the DHT. The DHT routing table managed by the root node can be configured as shown in FIG.

DHT 라우팅 테이블은 같은 DHT에 참여하고 있는 모든 네트워크 접근 스위치들의 노드 ID, IP주소 및 포트번호를 포함할 수 있다. 예를 들어, HDHT는 해시 함수 결과 값이 32 byte 길이를 갖는 SHA-256 해시 함수를 사용하는 경우, 네트워크 접근 스위치가 HDHT에 참여할 때 노드 ID는 32 byte 길이의 임의의 값으로 배정될 수 있다.The DHT routing table may include the node ID, IP address, and port number of all network access switches participating in the same DHT. For example, if the hash function results in the HDHT using a SHA-256 hash function with a length of 32 bytes, the node ID can be assigned any value of 32 bytes in length when the network access switch participates in the HDHT.

해시 함수는 필요에 따라 다른 해시 함수로 대체될 수 있다. 같은 DHT에 참여하는 모든 네트워크 접근 스위치는 동일한 DHT 라우팅 테이블을 가질 수 있다.The hash function can be replaced with another hash function as needed. All network access switches participating in the same DHT can have the same DHT routing table.

이를 위해 새로운 네트워크 접근 스위치가 DHT에 참여할 때 루트 노드에게 부트스트랩(bootstrap) 메시지를 보내면, 루트 노드는 해당 노드의 정보를 라우팅 테이블에 추가하고 이를 기존에 참여하고 있던 네트워크 접근 스위치들에게 전파할 수 있다. To this end, when a new network access switch sends a bootstrap message to the root node when it participates in the DHT, the root node adds the node's information to the routing table and propagates it to the participating network access switches have.

DHT에 참여하고 있던 네트워크 접근 스위치가 떠나는 경우에도 루트 노드가 해당 사실을 다른 노드들에게 전파할 수 있다.Even when the network access switch participating in the DHT leaves, the root node can propagate the fact to other nodes.

항목 업데이터(135)는 XOR 연산을 이용하여 항목을 저장할 네트워크 접근 스위치를 결정할 수 있다. 예를 들어 네트워크 접근 스위치가 가지고 있는 IP 주소가 “10.16.0.200”인 단말의 정보를 필요로 하는 상황인 경우에, 단말의 IP 주소에 해시함수를 적용한 값을 HDHT의 항목 키 값으로 사용할 수 있다.The item updater 135 may use the XOR operation to determine a network access switch to store the item. For example, in a situation where the network access switch needs information of the terminal having the IP address of "10.16.0.200", a value obtained by applying the hash function to the IP address of the terminal can be used as the item key value of the HDHT .

이 때, 키 생성기(131)는“10.16.0.200”이라는 문자열에 SHA-256 해시 함수를 적용하여 항목 키 값을 생성할 수 있다. 예를 들어, 단말의 IP 주소에 SHA-256 해시 함수를 적용시킨 결과 값은 0x4F9F570BE4F8일 수 있다.At this time, the key generator 131 can generate the item key value by applying the SHA-256 hash function to the string " 10.16.0.200 ". For example, the result of applying the SHA-256 hash function to the IP address of the terminal may be 0x4F9F570BE4F8.

항목 업데이터(135)는 해시 함수를 적용시킨 결과 값을 이용하여 라우팅 테이블에 저장된 모든 노드 ID들과 XOR 연산을 수행할 수 있다.The item updater 135 can perform an XOR operation with all the node IDs stored in the routing table using the result of applying the hash function.

도 6의 각 노드 ID와 XOR 연산을 수행한 결과 값은 각각 0x0E102D5412BA, 0x03A899E92F2C, 0x178BB5DA23C3, 0x55CECFD0B6E6 일 수 있다. 이 중 두 번째 결과 값이 가장 작기 때문에 항목 업데이터(135)는 단말의 항목을 두 번째 네트워크 접근 스위치에 저장할 수 있다.The result of performing the XOR operation with each node ID in FIG. 6 may be 0x0E102D5412BA, 0x03A899E92F2C, 0x178BB5DA23C3, 0x55CECFD0B6E6. Since the second result value is the smallest, the item updater 135 can store the item of the terminal in the second network access switch.

항목 업데이터(135)논리적 거리 연산 값이 가장 작은 노드가 해당 항목을 저장하기 때문에 단일 오버레이 홉 만으로 등록 및 질의 메시지를 전달할 수 있다. Item Updater (135) Since the node having the smallest logical distance operation value stores the item, the registration and inquiry message can be transmitted with only a single overlay hop.

도 7은 계층 분산 해시 테이블에 항목을 등록하는 동작에 대한 의사 코드의 예시를 나타낸다.FIG. 7 shows an example of a pseudo code for an operation of registering an item in a hierarchical distributed hash table.

도 7을 참조하면, 항목 업데이터(135)는 등록을 요청하는 네트워크 접근 스위치가 속한 최하위 DHT에는 항상 항목을 저장할 수 있다. 항목 업데이터(135)는 항목의 등록을 요청하는 네트워크 접근 스위치가 속한 최하위 DHT의 라우팅 테이블을 이용하여 이 항목을 저장할 네트워크 접근 스위치를 결정(①)하고 해당 네트워크 접근 스위치에게 항목을 등록하는 메시지를 보낼 수 있다(②). Referring to FIG. 7, the item updater 135 can always store items in the lowest DHT to which the network access switch requesting registration is belonging. The item updater 135 determines a network access switch for storing this item using the routing table of the lowest DHT belonging to the network access switch requesting registration of the item and sends a message to register the item to the corresponding network access switch (2).

메시지를 받은 네트워크 접근 스위치는 항목을 자신의 스토리지(Storage)에 등록할 수 있다(③). 항목 업데이터(135)는 추가적으로 항목 등록을 요청하는 네트워크 접근 스위치가 항목이 상위 DHT로 전달될 수 있도록 요청하는 메시지를 루트 노드에게도 전송할 수 있다(④). 루트 노드에 대한 정보는 네트워크 접근 스위치가 DHT에 참여할 때부터 유지될 수 있다. 루트 노드는 상위 DHT의 라우팅 테이블도 가지고 있기 때문에 자신에게 온 요청을 상위 DHT에 전달 할 수 있다(⑤).The network access switch that receives the message can register the item in its own storage (③). The item updater 135 may further transmit a message to the root node requesting that the item is forwarded to the upper DHT (4). Information about the root node can be maintained from when the network access switch participates in the DHT. Since the root node also has the routing table of the upper DHT, it can forward the request to the upper DHT (⑤).

항목 업데이터(135)는 등록 요청은 상위 DHT로 계속 전달(⑥)하며 전달되는 과정 중 명시된 계층을 거치는 경우 항목을 저장할 수 있다(⑦).The item updater 135 can continue to forward the registration request to the upper DHT (⑥) and store the item when it passes through the designated hierarchy (⑦).

등록 요청 메시지가 최상위 DHT에 도달하면 항목 업데이터(135)는 논리적 거리 연산을 통해 항목을 저장할 다른 최상위 DHT 노드를 결정하고 전달 방향을 아래 방향으로 바꿀 수 있다(⑧).When the registration request message reaches the top DHT, the item updater 135 can determine the other top DHT node to store the item by logical distance calculation and change the forwarding direction to downward direction (8).

항목 업데이터(135)는 전달 방향이 바뀐 항목 등록 메시지를 받은 네트워크 접근 스위치에 자신이 참여하고 있는 DHT 계층 레벨과 명시된 계층 레벨이 같은 경우 항목을 저장할 수 있다(⑨). 계층 레벨이 다른 경우에 항목 업데이터(135)는 등록 메시지를 아래 계층으로 전달할 수 있다(⑩). The item updater 135 can store an item when the DHT layer level participating in the network access switch receiving the item registration message changed in the forwarding direction is the same as the specified layer level (9). If the layer level is different, the item updater 135 can transmit the registration message to the lower layer (10).

항목 업데이터(135)는 항목의 내용을 갱신하는 경우 역시 등록 과정과 같은 방법으로 항목 갱신 메시지를 전달할 수 있다.If the item updater 135 updates the contents of the item, the item updater 135 may also transmit the item update message in the same manner as the registration process.

도 8은 계층 분산 해시 테이블 항목의 예시를 나타낸다.8 shows an example of a hierarchical distributed hash table entry.

도 8을 참조하면, 통상적인 AR(Access Router)은 자신에게 접속된 호스트들에게 IP주소를 할당하고 통신이 이루어질 수 있도록 디폴트 게이트웨이 역할을 수행할 수 있다. 또한, 자신에게 단말이 네트워크 접속을 요청할 때 인증을 통해 IP 주소를 할당할 수 있다. 이동성 제공 장치(10)는 단말이 다른 서브 네트워크로 이동하더라도 DHCP(Dynamic Host Configuration Protocol)를 통해 단말의 IP주소를 유지시킬 수 있다.Referring to FIG. 8, a typical Access Router (AR) can assign an IP address to hosts connected to it and perform a default gateway so that communication can be performed. In addition, when the terminal requests a network connection to itself, it can assign an IP address through authentication. The mobility providing apparatus 10 can maintain the IP address of the terminal through Dynamic Host Configuration Protocol (DHCP) even if the terminal moves to another subnetwork.

키 생성기(131)는 인증 절차를 마치고 호스트에게 할당해준 IP주소에 해시 함수를 적용시켜 항목의 키 값을 생성할 수 있다. 질의기(133)는 키 값으로 HDHT에 질의를 보냄으로써 단말의 정보가 HDHT에 저장되어 있는지 확인할 수 있다. 항목이 있는 경우 호스트가 이 네트워크에 기존에 접속한 적이 있다는 것을 의미하며, 이 경우에는 항목 업데이터(135)는 단말의 이동성 정보를 항목에 갱신할 수 있다.The key generator 131 may generate the key value of the item by completing the authentication procedure and applying a hash function to the IP address assigned to the host. The inquirer 133 can confirm whether the terminal information is stored in the HDHT by sending a query to the HDHT as a key value. If there is an entry, it means that the host has already connected to this network. In this case, the item updater 135 can update the mobility information of the terminal to the item.

만약, 저장된 항목이 없다면 해당 호스트가 네트워크에 처음 접속하는 것이므로 항목 업데이터(135)는 단말의 위치정보를 담은 HDHT 항목을 새롭게 생성해서 삽입할 수 있다. 예를 들어, 항목의 내용은 도 8과 같이 항목의 키 값, 단말의 현재 IP주소, 목적지 노드가 현재 연결되어 있는 네트워크 접근 스위치의 IP주소, 이를 캐싱하고 있는 네트워크 접근 스위치들의 목록으로 구성될 수 있다.If there is no stored item, since the host first accesses the network, the item updater 135 can newly create and insert an HDHT item containing the location information of the terminal. For example, the content of the item may be composed of a key value of an item, a current IP address of the terminal, an IP address of a network access switch to which a destination node is currently connected, and a list of network access switches caching the item, have.

도 9는 네트워크 접근 스위치가 단말과 관련된 항목을 업데이트 하는 동작에 대한 의사 코드의 예시를 나타내고, 도 10은 네트워크 접근 스위치가 캐시에 저장된 항목을 갱신하는 동작에 대한 의사 코드의 예시를 나타낸다.Figure 9 shows an example of a pseudo code for an operation in which a network access switch updates an entry associated with a terminal, and Figure 10 shows an example of a pseudo code for an operation in which a network access switch updates an item stored in the cache.

도 9를 참조하면, 항목 업데이터(131)는 네트워크 접근 스위치가 보유한 단말의 위치 정보를 새롭게 등록 또는 갱신할 수 있다. 항목 업데이터(131)는 단말의 IP주소를 기반으로 항목의 키 값을 생성할 수 있다(①). 항목 업데이터(131) 항목의 키 값을 이용하여 질의를 보내 항목이 등록된 적이 있는지 확인할 수 있다(②).Referring to FIG. 9, the item updater 131 can newly register or update the location information of the terminal held by the network access switch. The item updater 131 can generate a key value of an item based on the IP address of the terminal (1). A query is sent by using the key value of the item updater 131 item to check whether the item has been registered (2).

항목 업데이터(131)는 해당 항목이 없는 경우에는 새로운 항목을 생성한 후, 단말IP 항목에는 현재 연결된 단말의 IP주소를 기록하고 항목이 저장될 레벨을 명시할 수 있다(③). 항목 업데이터(131)가 항목을 저장하는 계층 레벨의 기본 값은 3이며, 이는 추후에 수정이 가능할 수 있다.If there is no corresponding item, the item updater 131 may generate a new item, and then record the IP address of the terminal currently connected to the terminal IP item and specify the level at which the item is stored (3). The default value of the hierarchy level at which the item updater 131 stores items is 3, which may be later modified.

항목 업데이터(131)는 네트워크 접근 스위치 IP 항목을 단말이 연결된 네트워크 접근 스위치 IP주소로 교체할 수 있다(④). 항목 업데이터(131)는 네트워크 접근 스위치 목록에 자신을 추가시킬 수 있다(⑤). 항목 업데이터(131)는 생성 혹은 수정된 항목 정보를 HDHT에 등록 요청할 수 있다(⑥). 이 때, 항목 업데이터(131)는 항목이 삽입되는 계층의 레벨을 반드시 명시해야 한다. 각 노드는 DHT에 참여할 때 자신의 계층 레벨을 알고 있을 수 있다.The item updater 131 may replace the network access switch IP item with the network access switch IP address to which the terminal is connected (step 4). The item updater 131 can add itself to the network access switch list (5). The item updater 131 may request registration of the created or modified item information in the HDHT (6). At this time, the item updater 131 must specify the level of the hierarchy in which the item is inserted. Each node may know its hierarchical level when participating in a DHT.

도 9의 의사코드의 예시에서, 항목 업데이터(131)는 기존의 계층 레벨 그대로 항목을 갱신할 수 있다. 항목 업데이터(131) 항목 정보를 단말이 연결된 네트워크 스위치의 캐시에 저장한 후(⑦) 해당 항목을 캐싱하고 있던 네트워크 스위치들에게 캐시를 업데이트하도록 메시지를 보낼 수 있다(⑧).In the example of the pseudocode of Fig. 9, the item updater 131 may update the item as it is at the existing hierarchical level. After storing the item updater 131 item information in the cache of the network switch to which the terminal is connected (7), the message can be sent to the network switches that have been caching the item (8).

캐시 업데이트 메시지를 받은 네트워크 스위치들은 자신의 캐시에 해당 키에 매칭되는 항목이 있는지 확인한다. 항목 업데이터(131)는 매칭되는 항목이 있는 경우 캐시 항목을 갱신할 수 있다. 캐시 항목을 개시하는 동작은 도 10의 의사코드의 예시와 같이 나타낼 수 있다.Network switches that receive the cache update message will check their cache for an entry matching that key. The item updater 131 can update the cache item if there is an item to be matched. The operation of initiating the cache entry may be represented as an example of the pseudo code of FIG.

도 10을 참조하면, 항목 업데이터(131)는 A_new_MN_is_associated(), Cache_Update_Arrived() 두 함수를 통해 단말이 이동할 때마다 위치 정보를 HDHT에 저장하고, 이를 캐싱하고 있는 네트워크 접근 스위치들의 항목도 갱신할 수 있다.Referring to FIG. 10, the item updater 131 stores the location information in the HDHT each time the terminal moves through the two functions A_new_MN_is_associated () and Cache_Update_Arrived (), and updates the items of the network access switches caching the location information .

도 11은 도 3에 도시된 패킷 전송기의 동작의 예시를 나타낸다.11 shows an example of the operation of the packet transmitter shown in Fig.

도 11을 참조하면, 패킷 전송기(170)는 단말의 이동성 지원을 위해 HDHT에 저장된 정보들을 이용하여 패킷 처리 기능을 수행할 수 있다. 패킷 전송기(170)는 네트워크 접근 스위치에게 패킷이 도착했을 때 항목의 키 값을 생성하고 캐싱된 항목이 있는지 확인할 수 있다.Referring to FIG. 11, the packet transmitter 170 may perform a packet processing function using information stored in the HDHT to support mobility of the terminal. The packet transmitter 170 can generate a key value of the item when the packet arrives to the network access switch and check whether there is a cached item.

패킷 전송기(170)는 패킷에 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 있는지 확인할 수 있다. 패킷 전송기(170)는 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 없는 경우 캐싱된 항목이 없으면 패킷을 바로 포워딩한 후 HDHT에 질의를 할 수 있다. Packet sender 170 may check if the packet has an optional header added by another network access switch. If there is no option header added by another network access switch, the packet transmitter 170 can forward the packet immediately and query the HDHT if there is no cached item.

패킷 전송기(170)는 캐싱된 항목이 있는 경우에 패킷의 목적지 IP주소를 단말이 연결되어 있는 네트워크 접근 스위치의 IP주소로 수정하고 옵션헤더에 항목의 키 값을 추가한 후에 패킷을 포워딩 할 수 있다.The packet transmitter 170 may forward the packet after correcting the destination IP address of the packet to the IP address of the network access switch to which the terminal is connected and adding the key value of the item to the option header when there is a cached item .

반대로 네트워크 접근 스위치가 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 있는 패킷을 받은 경우에 패킷 전송기(170)는 캐싱된 항목이 없으면 해당 패킷을 곧바로 버릴 수 있다.Conversely, if the network access switch receives a packet with an optional header added by another network access switch, the packet transmitter 170 may discard the packet immediately if there is no cached entry.

옵션헤더가 있는데 캐싱된 항목이 없다는 것은 단말이 해당 네트워크 접근 스위치에 접속한 적이 없다는 것을 의미할 수 있기 때문에, 패킷 전송기(170)는 패킷을 전송할 단말이 없다고 판단하여 패킷을 버릴 수 있다.Option header indicates that there is no cached entry, the packet transmitter 170 may determine that there is no terminal to transmit the packet and discard the packet because the terminal may not have accessed the network access switch.

패킷 전송기(170)는 캐싱된 항목이 있는 경우 패킷의 목적지 IP주소를 단말의 IP주소로 복원하고 패킷의 옵션헤더를 제거한 후 포워딩할 수 있다. 이 경우 패킷은 단말에게 정상적으로 전달될 수 있다. The packet transmitter 170 may restore the destination IP address of the packet to the IP address of the terminal and remove the option header of the packet and forward the packet if there is a cached item. In this case, the packet can be normally transmitted to the terminal.

패킷 전송기(170)는 단말이 다른 서브 네트워크로 이동하더라도 단말의 IP주소를 목적지로 한 패킷들은 단말이 새롭게 연결된 위치로 패킷을 전송할 수 있다.The packet transmitter 170 can transmit the packet whose destination is the IP address of the terminal to the newly connected location even if the terminal moves to another sub network.

도 11의 예시에서, 이동 단말은 네트워크 접근 스위치 A에 연결되어 있고 상대 단말은 네트워크 접근 스위치 C에 연결될 수 있다. 상대 단말이 이동 단말에게 패킷을 보낼 때 패킷 전송기(170)는 네트워크 접근 스위치 C의 캐시 엔트리에 이동 단말의 정보가 저장되어 있는지 확인할 수 있다.In the example of FIG. 11, the mobile terminal may be connected to the network access switch A and the other terminal may be connected to the network access switch C. When the counterpart terminal sends a packet to the mobile terminal, the packet transmitter 170 can check whether the mobile terminal information is stored in the cache entry of the network access switch C.

캐시에 이동 단말의 정보가 있다면 패킷 전송기(170)는 패킷의 목적지 IP주소를 네트워크 접근 스위치 A의 IP주소로 수정하고, 옵션헤더에 항목의 키 값을 삽입할 수 있다.If there is information of the mobile terminal in the cache, the packet transmitter 170 may modify the destination IP address of the packet to the IP address of the network access switch A and insert the key value of the item in the option header.

이 패킷이 네트워크 접근 스위치 A에 도착하면, 패킷 전송기(170)는 목적지 IP주소를 이동 단말의 IP주소로 복원하고 옵션헤더를 제거 후 이동 단말에게 패킷을 전달할 수 있다.When this packet arrives at the network access switch A, the packet transmitter 170 can restore the destination IP address to the IP address of the mobile terminal, remove the option header, and deliver the packet to the mobile terminal.

도 12는 패킷을 전송하는 동작에 대한 의사 코드의 예시를 나타낸다.12 shows an example of a pseudo code for an operation of transmitting a packet.

도 12를 참조하면, 패킷 전송기(170)는 네트워크 접근 스위치에게 패킷이 도착했을 때 목적지 노드의 IP주소에 해시 함수를 적용하여 키값을 생성하고 네트워크 접근 스위치에게 캐싱된 항목이 있는지 확인할 수 있다(①, ②). 패킷 전송기(170)는 패킷에 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 있는지 확인할 수 있다(③). 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 없는 경우 패킷 전송기(170)는 ④, ⑤ 번 과정을 수행할 수 있다.Referring to FIG. 12, the packet transmitter 170 can generate a key value by applying a hash function to an IP address of a destination node when a packet arrives to a network access switch, and check whether a cached item exists in the network access switch , ②). The packet transmitter 170 can check whether the packet includes an optional header added by another network access switch (3). If there is no option header added by another network access switch, the packet transmitter 170 may perform steps 4 and 5.

패킷 전송기(170)는 캐싱된 항목이 없는 경우 패킷을 바로 포워딩하며, HDHT에 질의를 보낼 수 있다(④). 목적지 노드에 대한 위치 정보가 캐싱되어 있으면 패킷 전송기(170)는 패킷의 목적지 IP주소를 목적지 노드가 연결되어 있는 네트워크 접근 스위치의 IP주소로 수정하고 옵션헤더에 항목의 키 값을 추가한 후에 패킷을 내보낼 수 있다(⑤).The packet transmitter 170 immediately forwards the packet if there is no cached item, and can send a query to the HDHT (4). If the location information of the destination node is cached, the packet transmitter 170 corrects the destination IP address of the packet to the IP address of the network access switch to which the destination node is connected, adds the key value of the item to the option header, Can export (⑤).

패킷 전송기(170)는 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 있는 패킷을 받은 경우에 캐싱된 항목이 없으면 해당 패킷을 드롭(drop)할 수 있다(⑥). 패킷 전송기(170)는 캐싱된 항목이 있는 경우 패킷의 목적지 IP주소를 단말의 IP주소로 복원하고 패킷의 옵션헤더를 제거한 후 패킷을 포워딩할 수 있다(⑦). 이 경우 패킷은 단말에게 정상적으로 전달될 수 있다.If the packet transmitter 170 receives a packet having an optional header added by another network access switch, the packet transmitter 170 may drop the packet if there is no cached item (6). The packet transmitter 170 may restore the destination IP address of the packet to the IP address of the terminal if the cached item exists, and forward the packet after removing the option header of the packet (7). In this case, the packet can be normally transmitted to the terminal.

패킷 전송기(170)는 네트워크 접근 스위치를 통해 Packet_Processing() 함수를 수행하기 때문에 단말이 다른 네트워크 접근 스위치로 이동하더라도 단말의 IP주소를 목적지로 한 패킷들은 단말이 새롭게 연결된 네트워크 접근 스위치로 전달될 수 있다.Since the packet transmitter 170 performs the Packet_Processing () function through the network access switch, even if the terminal moves to another network access switch, packets with the destination IP address of the terminal can be delivered to the newly connected network access switch .

패킷 전송기(170)는 단말이 연결된 네트워크 접근 스위치에 패킷들이 도착하면 목적지 IP주소를 다시 단말의 IP주소로 복원함으로써 패킷들이 정상적으로 단말에게 도착하도록 할 수 있다.The packet transmitter 170 can restore the destination IP address to the IP address of the terminal when the packets arrive at the network access switch to which the terminal is connected, thereby allowing the packets to normally arrive at the terminal.

예를 들어, 도 11처럼 이동 단말이 네트워크 접근 스위치 A에 연결되어 있고 상대 단말이 네트워크 접근 스위치 C에 연결될 수 있다. 상대 단말이 이동 단말에게 패킷을 보낼 때 패킷 전송기(170)는 네트워크 접근 스위치 C의 캐시 항목에 이동 단말의 정보가 저장되어 있는지 확인할 수 있다. 캐시에 이동 단말의 정보가 있다면 패킷 전송기(170)는 패킷의 목적지 IP주소를 네트워크 접근 스위치 A의 IP주소로 수정하고, 옵션헤더에 항목의 키 값을 삽입할 수 있다.For example, as shown in FIG. 11, a mobile terminal may be connected to a network access switch A and a counterpart terminal may be connected to a network access switch C. When the counterpart terminal sends a packet to the mobile terminal, the packet transmitter 170 can check whether the mobile terminal information is stored in the cache entry of the network access switch C. If there is information of the mobile terminal in the cache, the packet transmitter 170 may modify the destination IP address of the packet to the IP address of the network access switch A and insert the key value of the item in the option header.

이 패킷이 네트워크 접근 스위치 A에 도착하면, 패킷 전송기(170)는 목적지 IP주소를 이동 단말의 IP주소로 복원하고 옵션헤더를 제거 후 이동 단말에게 패킷을 전달할 수 있다.When this packet arrives at the network access switch A, the packet transmitter 170 can restore the destination IP address to the IP address of the mobile terminal, remove the option header, and deliver the packet to the mobile terminal.

도 13은 OVS 커널 모듈과 계층 분산 해시 테이블 간에 메시지를 전달 받는 동작의 예시를 나타낸다.13 shows an example of an operation of receiving a message between an OVS kernel module and a hierarchical distributed hash table.

도 13을 참조하면, 네트워크 접근 스위치는 MoE(Mobility of Everything)에서 동작하는 ES(Edge Switch )를 수정하여 구현될 수 있다. MoE의 ES는 OVS(Open vSwitch) 커널 모듈의 소스 코드를 수정하여 구현됐으며 OVS가 단말의 위치 정보를 등록하거나 알아내기 위해 Flat DHT와 연동하여 동작할 수 있다. 이동성 제공 장치(10)는 ES를 기반으로 HDHT와 연동되고 항목의 HDHT 레벨을 지정할 수 있는 네트워크 접근 스위치를 제공할 수 있다. OVS 커널 모듈과 HDHT 간 등록 및 질의 메시지는 소켓 IPC를 통해 전달될 수 있다.Referring to FIG. 13, the network access switch may be implemented by modifying an ES (Edge Switch) operating in a MoE (Mobility of Everything). MoE 's ES is implemented by modifying the source code of the OVS (Open vSwitch) kernel module, and OVS can work with Flat DHT to register or find the location information of the terminal. The mobility provision device 10 can provide a network access switch that is interlocked with the HDHT based on the ES and can specify the HDHT level of the item. Registration and query messages between the OVS kernel module and the HDHT can be passed through the socket IPC.

도 14는 도 3에 도시된 핸드오버 처리기의 동작의 예시를 나타낸다.14 shows an example of the operation of the handover processor shown in Fig.

도 14를 참조하면, 핸드오버 처리기(150)는 이동 단말이 새로운 네트워크 접근 스위치와 연결을 맺을 때 핸드오버를 지원할 수 있다.Referring to FIG. 14, the handover processor 150 can support handover when a mobile terminal establishes a connection with a new network access switch.

핸드오버 처리기(150)는 새롭게 연결되는 네트워크 접근 스위치와 L2 association을 맺을 수 있다. 핸드오버 처리기(150)는 DHCP(Dynamic Host Configuration Protocol)를 통해 이동 단말에게 IP주소를 할당할 수 있다. The handover processor 150 can establish a L2 association with a newly connected network access switch. The handover processor 150 may allocate an IP address to the mobile terminal through Dynamic Host Configuration Protocol (DHCP).

핸드오버 처리기(150)는 이동 단말에 대한 항목의 키 값을 생성하고 항목을 질의할 수 있다. 핸드오버 처리기(150)는 기존 항목이 있는 경우 이를 갱신하고 없는 경우에는 새로운 항목을 등록할 수 있다.The handover processor 150 may generate a key value of the item for the mobile terminal and query the item. The handover processor 150 updates the existing entry if it exists, and registers the new entry if it does not exist.

핸드오버 처리기(150)는 항목을 갱신한 경우에는 해당 항목을 캐싱하고 있는 네트워크 접근 스위치들에게 캐시 갱신 메시지를 보낼 수 있다. 캐시 갱신 메시지를 받은 네트워크 접근 스위치들은 자신의 캐시 항목을 업데이트할 수 있다.When the item is updated, the handover processor 150 may send a cache update message to the network access switches caching the item. The network access switches receiving the cache update message can update their cache entries.

핸드오버 처리기(150)는 이동 단말에 대한 항목을 캐싱하고 있던 네트워크 접근 스위치들의 항목이 갱신된 후 패킷들이 이동 단말의 새로운 위치로 전달될 때, 이동 단말의 통신을 복구할 수 있다.The handover processor 150 can recover the communication of the mobile terminal when the packets are transferred to the new location of the mobile terminal after the items of the network access switches that have been caching items for the mobile terminal are updated.

단말의 이동성을 지원하기 위해 발생하는 질의의 질의 시간은 항목의 계층 레벨에 따라 크게 달라질 수 있다. 상대 단말과 통신 중이던 이동 단말이 핸드오버를 하는 경우, 핸드오버 처리기(150)는 이동 단말이 네트워크 접근 스위치에 연결될 때 이동 단말의 위치 정보를 캐싱하고 있는 네트워크 스위치들의 목록을 HDHT에서 가져온 후 갱신 메시지를 전송할 수 있다.The query time of a query that occurs to support the mobility of the terminal can be greatly changed according to the hierarchical level of the item. When a mobile terminal that is in communication with a counterpart terminal performs a handover, the handover processor 150 fetches a list of network switches caching location information of the mobile terminal from the HDHT when the mobile terminal is connected to the network access switch, Can be transmitted.

캐시 갱신 작업이 이루어져야 이동 단말을 목적지로 하는 패킷들이 올바르게 이동 단말의 새로운 위치로 전달될 수 있다. 따라서 HDHT 질의 시간이 핸드오버 지연 시간에 큰 영향을 미칠 수 있다.The cache update operation must be performed before the packets with the mobile terminal as the destination can be correctly transferred to the new location of the mobile terminal. Therefore, the HDHT query time can greatly affect the handover delay time.

질의 시간을 줄이기 위해서 항목 등록기(130)는 이동 단말의 이동범위를 고려하여 항목이 저장되는 계층 레벨을 결정할 수 있다. 항목이 저장되는 계층 레벨을 이동 단말의 이동범위에 맞도록 지정하면 이동 단말이 이동했을 때 발생하는 대부분의 질의가 빠른 시간 안에 이루어지도록 만들 수 있다. 이를 통해 이동 단말의 핸드오버에 소요되는 시간을 크게 감소시킬 수 있다.In order to reduce the query time, the item register 130 can determine the hierarchical level at which items are stored in consideration of the moving range of the mobile terminal. If the hierarchical level at which the item is stored is set to match the movement range of the mobile terminal, most queries generated when the mobile terminal moves can be made in a short time. Accordingly, the time required for handover of the mobile terminal can be greatly reduced.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, controller, arithmetic logic unit (ALU), digital signal processor, microcomputer, field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing apparatus may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (21)

계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하는 단계; 및
상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 단계
를 포함하고,
상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성되는
이동성(mobility) 제공 방법.
Registering an entry related to the terminal in a layer designated by a network access switch to which a terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT); And
Processing the handover of the terminal using the item
Lt; / RTI >
Wherein the hierarchical distributed hash table comprises a plurality of layers based on a physical distance between the network access switches
A method for providing mobility.
제1항에 있어서,
상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 단계;
를 더 포함하고,
상기 생성하는 단계는,
상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하는 단계; 및
상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성하는 단계
를 포함하는 이동성 제공 방법.
The method according to claim 1,
Generating the hierarchical distributed hash table including the plurality of layers based on a physical distance between the network access switches;
Further comprising:
Wherein the generating comprises:
Creating a plurality of lowest layers comprising network access switches physically close to the network access switches; And
Hierarchically creating upper layers comprised of the plurality of lowest layers
Lt; / RTI >
제1항에 있어서,
상기 등록하는 단계는,
상기 단말과 관련된 항목의 키(key) 값을 생성하는 단계;
상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 단계; 및
질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계
를 포함하는 이동성 제공 방법.
The method according to claim 1,
Wherein the registering step comprises:
Generating a key value of an item associated with the terminal;
Querying the hierarchical distributed hash table for the key value; And
And updating the item in the hierarchical distributed hash table based on the query result
Lt; / RTI >
제3항에 있어서,
상기 업데이트하는 단계는,
상기 항목에 상기 항목이 저장될 계층을 명시(specify)하는 단계;
상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하는 단계; 및
상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 3,
Wherein the updating comprises:
Specifying a layer in which the item is to be stored in the item;
Updating a network access switch list and an IP (Internet Protocol) address of the item; And
Requesting registration of the item in the hierarchical distributed hash table
Lt; / RTI >
제4항에 있어서,
상기 요청하는 단계는,
최하위 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계;
상기 등록 요청을 상기 최하위 계층으로부터 최상위 계층까지 순차적으로 전달하면서 명시된 계층에 상기 등록 요청이 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계;
상기 등록 요청이 상기 최상위 계층에 도달한 경우에, 논리적 거리 연산을 통해 상기 최상위 계층의 분산 해시 테이블 노드에 항목을 저장하는 단계; 및
상기 등록 요청을 상기 최상위 계층으로부터 상기 명시된 계층까지 순차적으로 전달하면서 상기 명시된 계층에 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계
를 포함하는 이동성 제공 방법.
5. The method of claim 4,
Wherein the requesting step comprises:
Storing the item in a distributed hash table of the lowest layer;
Storing the item in a distributed hash table of the specified hierarchy when the registration request reaches the specified hierarchy while sequentially transmitting the registration request from the lowest hierarchical layer to the highest hierarchical layer;
Storing an item in a distributed hash table node of the highest hierarchical layer through a logical distance operation when the registration request reaches the highest hierarchical layer; And
Storing the item in the distributed hash table of the specified hierarchy when the specified request arrives at the specified hierarchy while sequentially transmitting the registration request from the highest layer to the specified layer
Lt; / RTI >
제5항에 있어서,
상기 저장하는 단계 각각은,
상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하는 단계; 및
상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장하는 단계
를 포함하는 이동성 제공 방법.
6. The method of claim 5,
Wherein each of the storing steps comprises:
Performing a logical distance operation using a key value of the item; And
Storing the item in a network access switch having a result of the logical distance operation being the smallest value
Lt; / RTI >
제1항에 있어서,
상기 처리하는 단계는,
상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하는 단계;
상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하는 단계; 및
질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계
를 포함하는 이동성 제공 방법.
The method according to claim 1,
Wherein the processing comprises:
Assigning a new IP (Internet Protocol) address to the terminal according to movement of the terminal;
Generating an item key value for the terminal and querying the hierarchical distributed hash table; And
And updating the item in the hierarchical distributed hash table based on the query result
Lt; / RTI >
제1항에 있어서,
상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 단계
를 더 포함하는 이동성 제공 방법.
The method according to claim 1,
And transmitting a packet to the terminal through the hierarchical distributed hash table
Further comprising the steps of:
제8항에 있어서,
상기 전송하는 단계는,
상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하는 단계;
상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하는 단계; 및
상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩하는 단계
를 포함하는 이동성 제공 방법.
9. The method of claim 8,
Wherein the transmitting comprises:
Generating an item key value of the terminal in a network access switch that receives the packet;
Determining whether an optional header exists in the packet; And
Forwarding the packet to a network switch to which the terminal is connected based on the result of the determination and the item key value
Lt; / RTI >
제9항에 있어서,
상기 포워딩하는 단계는,
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하는 단계;
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하는 단계;
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리는 단계; 및
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩하는 단계
를 포함하는 이동성 제공 방법.
10. The method of claim 9,
Wherein the forwarding comprises:
If the network access switch that received the packet without the option header does not store an item corresponding to the item key value, forwarding the packet and querying the hierarchical distributed hash table about the item ;
Modifying the destination of the packet to a network switch to which the terminal is connected if the network access switch that received the packet without storing the option header does not store the item corresponding to the item key value, Adding a new item key value to the header;
Discarding the packet if the option header exists in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value; And
If the option header exists in the packet and the network access switch that received the packet stores an item corresponding to the item key value, restores the destination of the packet to the terminal, removes the option header, Forwarding the packet to
Lt; / RTI >
계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하고, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 컨트롤러
를 포함하고,
상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성되는
이동성(mobility) 제공 장치.
An entry related to the terminal is registered in a hierarchy designated by a network access switch to which a terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT), and the entry Controller that handles over
Lt; / RTI >
Wherein the hierarchical distributed hash table comprises a plurality of layers based on a physical distance between the network access switches
A device for providing mobility.
제11항에 있어서,
상기 컨트롤러는,
계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하는 항목 등록기; 및
상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 핸드 오버 처리기
를 포함하는 이동성(mobility) 제공 장치.
12. The method of claim 11,
The controller comprising:
An item register for registering an entry related to the terminal in a hierarchy designated by a network access switch to which a terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT); And
A handover processor for handling the handover of the terminal using the item,
Wherein the mobility providing device includes:
제12항에 있어서,
상기 컨트롤러는,
상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 HDHT 생성기;
를 더 포함하고,
상기 HDHT 생성기는,
상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하고, 상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성하는
이동성 제공 장치.
13. The method of claim 12,
The controller comprising:
An HDHT generator for generating the hierarchical distributed hash table including the plurality of layers based on a physical distance between the network access switches;
Further comprising:
The HDHT generator comprises:
A plurality of lowest layers constituted by network access switches physically close to each other among the network access switches, and hierarchically forming upper layers constituted by the plurality of lowest layers
Mobility providing device.
제12항에 있어서,
상기 항목 등록기는,
상기 단말과 관련된 항목의 키(key) 값을 생성하는 키 생성기;
상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 질의기; 및
질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 항목 업데이터
를 포함하는 이동성 제공 장치.
13. The method of claim 12,
Wherein the item register comprises:
A key generator for generating a key value of an item related to the terminal;
A query unit for querying the hierarchical distributed hash table with the key value; And
An item updater for updating the item in the hierarchical distributed hash table based on the query result;
And a mobile device.
제14항에 있어서,
상기 항목 업데이터는,
상기 항목에 상기 항목이 저장될 계층을 명시(specify)하고, 상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하고, 상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청하는
이동성 제공 장치.
15. The method of claim 14,
The item updater,
Specifies a layer in which the item is to be stored in the item, updates a network access switch list and an IP (Internet Protocol) address of the item, and requests registration of the item in the hierarchical distributed hash table
Mobility providing device.
제15항에 있어서,
상기 항목 업데이터는,
최하위 계층의 분산 해시 테이블에 상기 항목을 저장하고,
상기 등록 요청을 상기 최하위 계층으로부터 최상위 계층까지 순차적으로 전달하면서 명시된 계층에 상기 등록 요청이 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하고,
상기 등록 요청이 상기 최상위 계층에 도달한 경우에, 논리적 거리 연산을 통해 상기 최상위 계층의 분산 해시 테이블 노드에 항목을 저장하고,
상기 등록 요청을 상기 최상위 계층으로부터 상기 명시된 계층까지 순차적으로 전달하면서 상기 명시된 계층에 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하는
이동성 제공 장치.
16. The method of claim 15,
The item updater,
Stores the item in a distributed hash table of the lowest layer,
Storing the item in the distributed hash table of the specified hierarchy when the registration request reaches the specified hierarchy while sequentially transmitting the registration request from the lowest hierarchical layer to the highest hierarchical layer,
Storing an item in the distributed hierarchical hash table node of the highest hierarchical layer through a logical distance operation when the registration request reaches the highest hierarchical layer,
And sequentially transmits the registration request from the highest layer to the specified layer and stores the item in the distributed hash table of the specified layer when reaching the specified layer
Mobility providing device.
제16항에 있어서,
상기 항목 업데이터는,
상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하고, 상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장하는
이동성 제공 장치.
17. The method of claim 16,
The item updater,
Performing a logical distance operation using the key value of the item, and storing the item in a network access switch having a result of the logical distance operation being the smallest value
Mobility providing device.
제12항에 있어서,
상기 핸드오버 처리기는,
상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하고, 상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하고, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는
이동성 제공 장치.
13. The method of claim 12,
The handover processor includes:
Allocates a new IP (Internet Protocol) address to the terminal according to the movement of the terminal, generates an item key value for the terminal, queries the hierarchical distributed hash table, Updating the item
Mobility providing device.
제12항에 있어서,
상기 컨트롤러는,
상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 패킷 전송기
를 더 포함하는 이동성 제공 장치.
13. The method of claim 12,
The controller comprising:
A packet transmitter for transmitting a packet to the terminal through the hierarchical distributed hash table,
Further comprising:
제19항에 있어서,
상기 패킷 전송기는,
상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하고, 상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하고, 상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩하는
이동성 제공 장치.
20. The method of claim 19,
The packet transmitter includes:
The method comprising: generating an item key value of the terminal in a network access switch that receives the packet; determining whether an option header exists in the packet; determining, based on a result of the determination and the item key value, Lt; RTI ID = 0.0 >
Mobility providing device.
제20항에 있어서,
상기 패킷 전송기는,
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하고,
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하고,
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리고,
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩하는
이동성 제공 장치.
21. The method of claim 20,
The packet transmitter includes:
If the network access switch that received the packet without the option header does not store an item corresponding to the item key value, forwarding the packet and querying the hierarchical distributed hash table about the item and,
Modifying the destination of the packet to a network switch to which the terminal is connected if the network access switch that received the packet without storing the option header does not store the item corresponding to the item key value, Add a new entry key value to the header,
Discarding the packet if the option header exists in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value,
If the option header exists in the packet and the network access switch that received the packet stores an item corresponding to the item key value, restores the destination of the packet to the terminal, removes the option header, Lt; RTI ID = 0.0 >
Mobility providing device.
KR1020170118385A 2017-09-15 2017-09-15 A method and apparatus for supporting mobility of host using hierarchical distributed hash table KR102054775B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170118385A KR102054775B1 (en) 2017-09-15 2017-09-15 A method and apparatus for supporting mobility of host using hierarchical distributed hash table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170118385A KR102054775B1 (en) 2017-09-15 2017-09-15 A method and apparatus for supporting mobility of host using hierarchical distributed hash table

Publications (2)

Publication Number Publication Date
KR20190030854A true KR20190030854A (en) 2019-03-25
KR102054775B1 KR102054775B1 (en) 2019-12-12

Family

ID=65907594

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170118385A KR102054775B1 (en) 2017-09-15 2017-09-15 A method and apparatus for supporting mobility of host using hierarchical distributed hash table

Country Status (1)

Country Link
KR (1) KR102054775B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249970A1 (en) * 2003-06-06 2004-12-09 Microsoft Corporation Organizational locality in prefix-based structured peer-to-peer overlays

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249970A1 (en) * 2003-06-06 2004-12-09 Microsoft Corporation Organizational locality in prefix-based structured peer-to-peer overlays

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Karel.V 외 2인, "A decentralized information service for IEEE 802.21-media independent handover (MIH)", 2011* *

Also Published As

Publication number Publication date
KR102054775B1 (en) 2019-12-12

Similar Documents

Publication Publication Date Title
CA3106407C (en) Multi-cloud connectivity using srv6 and bgp
US10320683B2 (en) Reliable load-balancer using segment routing and real-time application monitoring
CN105264493B (en) Dynamic virtual machine migration on information centre's network
CA2968964C (en) Source ip address transparency systems and methods
WO2017016494A1 (en) Handling consumer mobility in information-centric networks
US10104633B1 (en) Active position driven mobility content delivery in information centric networks
WO2017032300A1 (en) Data transmission method, virtual network management apparatus, and data transmission system
EP3117588B1 (en) Scalable address resolution
JP2021536627A (en) Systems and methods for migrating live stateful containers
JP6206508B2 (en) Packet transfer device, control device, communication system, communication method, and program
US20200305042A1 (en) Interest packet routing in information centric networks
Xie et al. Supporting seamless virtual machine migration via named data networking in cloud data center
JPWO2012173172A1 (en) Communication system, controller, switch, storage management device, and communication method
US20140122637A1 (en) Method and apparatus for providing caching service in network infrastructure
JP6299745B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
CN109120556B (en) A kind of method and system of cloud host access object storage server
Li et al. A software-defined address resolution proxy
JP2012134780A (en) Gateway system, gateway device, and load distribution method
KR102054775B1 (en) A method and apparatus for supporting mobility of host using hierarchical distributed hash table
US20180359673A1 (en) Seamless consumer mobility in information centric networks using forwarding labels
CN114521323B (en) Computing device, method and apparatus for centralized path computation
US9763135B1 (en) Load balancing with mobile resources
KR20220076826A (en) Method for ndn based in-network computing and apparatus for the same
Nascimento et al. Evaluation of cache for bandwidth optimization in ICN through software-defined networks
JP2017184195A (en) Communication management device, communication management method and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)