KR102054775B1 - 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
KR102054775B1
KR102054775B1 KR1020170118385A KR20170118385A KR102054775B1 KR 102054775 B1 KR102054775 B1 KR 102054775B1 KR 1020170118385 A KR1020170118385 A KR 1020170118385A KR 20170118385 A KR20170118385 A KR 20170118385A KR 102054775 B1 KR102054775 B1 KR 102054775B1
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
KR20190030854A (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

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

Description

계층 분산 해시 테이블을 이용한 단말 이동성 지원 방법 및 장치{A METHOD AND APPARATUS FOR SUPPORTING MOBILITY OF HOST USING HIERARCHICAL DISTRIBUTED HASH TABLE}Terminal mobility support method and device using hierarchical distributed hash table {A METHOD AND APPARATUS FOR SUPPORTING MOBILITY OF HOST USING HIERARCHICAL DISTRIBUTED HASH TABLE}

아래 실시예들은 계층 분산 해시 테이블을 이용하여 단말 이동성을 지원하는 방법 및 장치에 관한 것이다.The following embodiments are related 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 a network increases significantly. Currently, most of the devices connected to the Internet are low-mobility devices such as smartphones, desktops, and laptops, but in the coming years, most of the moving things around us, including sensors, glasses, cars, watch appliances, etc. It is expected to be connected.

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

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

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

이러한 중앙 집중적 방식은 중앙 앵커가 단말의 현재 위치로 패킷을 리라우팅(rerouting) 해줌으로써 간단한 방식으로 동작한다는 장점이 있다. 하지만 중앙 앵커가 동작 불능 상태가 되면 시스템 전체가 동작하지 못하는 단일점 고장(single point of failure) 문제와 시스템을 사용하는 사용자의 수가 크게 증가 했을 때 이를 수용하지 못하는 확장성(scalability) 문제를 가지고 있다. 따라서 미래 인터넷 환경에서는 이러한 문제점들이 해결된 분산형 방식이 적용될 필요가 있다.This centralized method 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 whole system cannot operate and a scalability problem that cannot be accommodated when the number of users using the system increases significantly. . Therefore, in the future Internet environment, a distributed method that solves these problems needs to be applied.

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

일 실시예에 따른 이동성 제공 방법은, 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하는 단계와, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 단계를 포함하고, 상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성된다.According to an embodiment, a mobility providing method includes registering an entry related to a 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 a handover of the terminal by using the item, wherein the hierarchical distributed hash table is configured of the plurality of hierarchies based on a physical distance between the network access switches.

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

상기 등록하는 단계는, 상기 단말과 관련된 항목의 키(key) 값을 생성하는 단계와, 상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 단계와, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계를 포함할 수 있다.The registering may include generating a key value of an item related to the terminal, querying the key value in the hierarchical distributed hash table, and performing the hierarchical distributed hash based on a query result. Updating the item in a table.

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

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

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

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

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

상기 전송하는 단계는, 상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하는 단계와, 상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하는 단계와, 상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩하는 단계를 포함할 수 있다.The transmitting may include generating, by the network access switch receiving the packet, an item key value of the terminal, determining whether an option header exists in the packet, and as a result of the determination and the item key. Forwarding the packet to a network switch to which the terminal is connected based on a value.

상기 포워딩하는 단계는, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하는 단계와, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하는 단계와, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리는 단계와, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩하는 단계를 포함할 수 있다.In the forwarding step, when the option header does not exist in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value, forwarding the packet and the hierarchical distributed hash table Querying the item for the item, and if the option header does not exist in the packet and the network access switch receiving the packet stores an item corresponding to the item key value, the terminal determines the destination of the packet. Modifying with the connected network switch, adding a new item key value to the option header, and storing the item corresponding to the item key value by the network access switch having the option header in the packet and receiving the packet. If not, discarding the packet; If there is a further and the network access switch that has received the packet stores the item corresponding to the item key value, restore the destination of the packet to the terminal and remove the option header to forward the packet to the terminal. It may include the step.

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

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

상기 컨트롤러는, 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 HDHT 생성기를 더 포함하고, 상기 HDHT 생성기는, 상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하고, 상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성할 수 있다.The controller further comprises an HDHT generator for generating the hierarchical distributed hash table including the plurality of layers based on the physical distance between the network access switches, wherein the HDHT generator is physically selected from among the network access switches. A plurality of lowest layers composed of close network access switches may be generated, and higher layers composed of the plurality of lowest layers may be hierarchically generated.

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

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

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

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

상기 핸드오버 처리기는, 상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하고, 상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하고, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트할 수 있다.The handover processor allocates a new Internet Protocol (IP) address to the terminal as the terminal moves, generates an item key value for the terminal, and queries the hierarchical distributed hash table based on the query result. The item may be updated 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.

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

상기 패킷 전송기는, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하고, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하고, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리고, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩할 수 있다.The packet transmitter forwards the packet to the hierarchical distributed hash table when the option header does not exist in the packet and the network access switch that receives the packet does not store an item corresponding to the item key value. Inquiring about the item, and if the option header does not exist in the packet and the network access switch receiving the packet stores the item corresponding to the item key value, the network to which the terminal is connected to the destination of the packet. Modify with a switch, add a new item key value to the option header, and if 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, Discard the packet, the packet has the option header 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 is a schematic block diagram of a mobility providing apparatus according to an exemplary embodiment.
FIG. 2 illustrates an example of a mobility support system using the mobility providing device illustrated in FIG. 1.
FIG. 3 shows a schematic block diagram of the controller shown in FIG. 1.
4 shows a schematic block diagram of the item register shown in FIG.
5 shows an example of the structure of a hierarchical distributed hash table.
6 shows an example of a DHT routing table.
7 shows an example of a pseudo code for the operation of registering an item in the hierarchical distributed hash table.
8 illustrates an example hierarchical distributed hash table entry.
9 illustrates an example of a pseudo code for an operation of updating an item related to a terminal by a network access switch.
10 shows an example of pseudo code for an operation of a network access switch updating an item stored in a cache.
11 shows an example of the operation of the packet transmitter shown in FIG. 3.
12 shows an example of a pseudo code for the operation of transmitting a packet.
13 illustrates an example of receiving a message between an OVS kernel module and a hierarchical distributed hash table.
FIG. 14 shows an example of the operation of the handover processor shown in FIG. 3.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the inventive concept disclosed herein are merely illustrated for the purpose of describing the embodiments according to the inventive concept, and the embodiments according to the inventive concept. These may be embodied in various forms and are not limited to the embodiments described herein.

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

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

어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.When a component is said to be “connected” or “connected” to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in the middle. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between. Expressions that describe the relationship between components, such as "between" and "immediately between," or "directly neighboring 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. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, the terms “comprise” or “have” are intended to designate that the stated feature, number, step, operation, component, part, or combination thereof exists, but includes one or more other features or numbers, It is to be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, 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. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined herein. Do not.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, exemplary 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 numerals in the drawings denote like elements.

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

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

최근 데이터 면뿐만 아니라 제어 면(control plane)까지 분산된 완전 분산 방식에 대한 연구가 진행되고 있다. DHT(Distributed Hash Table)를 제어 면으로 사용하는 경우 세계적인 규모로 적용되면 참여하는 노드의 수가 증가하여 질의 시간이 증가하는 문제가 발생할 수 있다.Recently, a study on a fully distributed method in which not only the data plane but also the control plane is distributed is progressing. In the case of using the distributed hash table (DHT) as a control plane, if the global scale is applied, the number of participating nodes may increase, which may cause a problem of increasing query time.

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

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

이동성 제공 장치(10)는 최하위 계층의 분산 해시 테이블(DHT)에 참여하는 노드들을 자율 시스템(autonomous system)과 같이 물리적으로 가까운 노드들로 구성한 후, 이러한 노드들을 계층적으로 구성할 수 있다. 예를 들어, 네트워크 접근 스위치가 DHT 노드 역할을 수행할 수 있고, 이동성 제공 장치(10)는 네트워크 접근 스치들을 이용하여 HDHT를 구성할 수 있다.The mobility providing apparatus 10 may configure nodes participating in a distributed hash table (DHT) of the lowest layer as nodes that are physically close to each other, 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 providing apparatus 10 may configure HDHT using network access switches.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

이동성 제공 장치(10)는 단말을 수정하지 않고, 네트워크 만을 수정하는 네트워크 기반 방식으로 이동성을 제공할 수 있다. 이동성 제공 장치(10)는 분산 이동성 관리 방식을 사용하여 이동성을 제공할 수 있다.The mobility providing apparatus 10 may 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 scheme may include a partial distributed scheme and a total distributed scheme. The partial dispersion method and the total distribution method may be classified according to whether the control plane is distributed.

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

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

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

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

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

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

도 3은 도 1에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.FIG. 3 shows a schematic block diagram of the controller shown in FIG. 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 layers composed of physically close network access switches among network access switches, and may hierarchically generate upper layers composed of a plurality of lowest layers.

항목 등록기(entry registrator, 130)는 HDHT를 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 단말과 관련된 항목(entry)을 등록할 수 있다.The entry registrator 130 may register an entry related to the 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 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 may assign a new Internet Protocol (IP) address to the terminal as the terminal moves, generate an item key value for the terminal, and query the HDHT. The handover processor 150 may update the item in the HDHT based on the query result.

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

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

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

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

패킷 전송기(170)는 패킷에 옵션 헤더가 존재하고 패킷을 수신한 네트워크 접근 스위치가 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 패킷을 버릴 수 있다.The packet transmitter 170 may discard the packet when 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.

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

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

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

키 생성기(131)는 단말과 관련된 항목의 키(key) 값을 생성할 수 있다. 키 생성기(131)는 해시 함수를 사용하여 키를 생성할 수 있다. 예를 들어, 키 생성기(131)는 MD5, SHA 계열의 해시 함수를 사용하여 키를 생성할 수 있다.The key generator 131 may generate a key value of an item related to 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 a hash function of MD5 and SHA series.

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

질의기(133)는 HDHT에 키 값을 질의할 수 있다.The interrogator 133 may query the HDHT for key values.

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

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

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

질의를 전달받은 루트 노드는 상위 DHT의 라우팅 테이블도 가지고 있을 수 있다. 질의기(133)는 이 라우팅 테이블을 이용하여 상위 DHT에 참여하고 있는 네트워크 접근 스위치 중 항목 저장하고 있는 네트워크 접근 스위치에게 질의를 보낼 수 있다. 이 과정은 최상위 DHT까지 질의가 전달될 때까지 반복될 수 있다.The root node that receives the query may also have a routing table of the parent DHT. The interrogator 133 may use the routing table to send an inquiry to a network access switch storing an item 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 top DHT node receives the query, the interrogator 133 may change the delivery direction of the query message toward the lower layer. If an item is found in the middle, the network access switch can immediately return information about the item to the network access switch that has queried the item.

질의 진행방향은 항상 상위 계층 방향으로 시작되며 최상위 DHT를 거친 후에 아래 방향으로 변경될 수 있다. 질의가 전달될 때마다 오버레이 홉의 수가 1씩 증가할 수 있다. 질의에 소요될 수 있는 최대 오버레이 홉의 수는 HDHT 레벨이 1, 2, 3일 때 각각 5, 6,7 일 수 있다.The query progress direction always starts in the upper layer direction and may be changed downward after passing through the highest DHT. Each time a query is delivered, the number of overlay hops may increase by one. The maximum number of overlay hops that can be queried may be 5, 6, and 7 when the HDHT levels are 1, 2, and 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 a layer in which the item is to be stored, and update the network access switch list and the IP (Internet Protocol) address of the item. The item updater 135 may request the HDHT to register the item.

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

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

항목 업데이터(135)는 등록 요청을 최상위 계층으로부터 명시된 계층까지 순차적으로 전달하면서 명시된 계층에 도달하면 명시된 계층의 DHT에 항목을 저장할 수 있다.The item updater 135 may store an item in the DHT of the specified layer when the specified layer is reached while sequentially transferring a registration request from the top layer to 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 a network access switch having the smallest result 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 operation value as the network access switch that is 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 a hierarchical distributed hash table.

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

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

이러한 이유로 물리적으로 가까운 곳에 원하는 항목이 있어도 질의가 먼 곳을 들르면서 전달될 수 있어 질의 시간이 오래 걸릴 수 있다. 평면 DHT에 참여하는 노드들이 세계적으로 분산되는 경우, 질의 시간의 증가는 더욱 커질 수 있다.For this reason, even if the desired item is physically close, the query can be delivered while stopping by, which can take a long time. 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 may shorten the query time by hierarchically configuring the DHT. In addition, the mobility providing apparatus 10 may solve the scalability problem by specifying a layer in which an item is stored.

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

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

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

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

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

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

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

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

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

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

Figure 112017089762116-pat00002
에서 저장할 계층 레벨을 1, 2, 3으로 지정하여 등록 요청한 경우를 나타낼 수 있다. 항목 업데이터(135)는 모든 항목을 제일 먼저 요청이 시작된
Figure 112017089762116-pat00003
에 저장한 후 최상위 DHT로 순차적으로 전달할 수 있다.For example, items A, B, and C of FIG.
Figure 112017089762116-pat00002
In this case, the layer level to be stored may be designated as 1, 2, or 3 to indicate a case where a registration request is made. The item updater 135 requests all items first
Figure 112017089762116-pat00003
After saving to the highest level DHT can be delivered sequentially.

항목 업데이터(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 to which the network access switch that received the registration request are the same in the process of being delivered to the highest DHT. The item updater 135 changes the delivery direction downward while passing through the DHT of the uppermost layer and transmits the registration request sequentially to the lowest DHT, and stores the item once more.

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

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

항목이 저장되는 계층과 이를 질의하는 네트워크 접근 스위치의 위치에 따라 질의에 소요되는 오버레이 홉의 수와 지연시간이 크게 달라질 수 있다.The number and delay time of overlay hops can vary greatly depending on the layer where the item is stored and the location of the network access switch that queries it.

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

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

그러나

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

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

Figure 112017089762116-pat00006
에서 질의를 시작하더라도
Figure 112017089762116-pat00007
에 항목이 저장되기 때문에 훨씬 빠른 시간 안에 원하는 항목에 관하여 질의를 완료할 수 있다.If the item updater 135 specifies the layer in which item C is to be stored as 2, the queryer 133
Figure 112017089762116-pat00006
Even if the query starts
Figure 112017089762116-pat00007
Because the item is stored in, you can complete the query for the desired item much faster.

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

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

이동성 제공 장치(10)는 HDHT를 원 홉(One Hop) DHT로 구성할 수 있다. 원 홉 DHT에서는 각 네트워크 스위치가 같은 DHT에 참여하고 있는 모든 네트워크 접근 스위치에 대한 정보가 담겨있는 DHT 라우팅 테이블을 유지할 수 있다. The mobility providing apparatus 10 may configure the HDHT as a one hop DHT. In 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 may determine at one time a network access switch that has the desired item using the routing table.

HDHT는 루트 노드를 포함할 수 있다. 루트 노드는 DHT에 최초로 참여하는 노드이며, 상위 레벨 DHT와 하위 레벨 DHT간 등록 및 질의 메시지를 전달하는 역할을 수행할 수 있다. 또한, 루트 노드는 DHT에 참여하고 있는 네트워크 접근 스위치들에 대한 최신 라우팅 테이블을 전파하는 역할을 수행할 수 있다. 루트 노드가 관리하는 DHT 라우팅 테이블은 도 6과 같이 구성될 수 있다.HDHT may include a root node. The root node is a node that participates in the DHT for the first time, and may play a role of delivering a registration and query message between a higher level DHT and a lower level DHT. In addition, the root node may serve to propagate the latest routing table for the network access switches participating in the DHT. The DHT routing table managed by the root node may 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 node IDs, IP addresses, and port numbers of all network access switches participating in the same DHT. For example, if the HDHT uses a SHA-256 hash function having a hash function result value of 32 byte length, the node ID may be assigned an arbitrary value of 32 byte length when the network access switch participates in the HDHT.

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

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

DHT에 참여하고 있던 네트워크 접근 스위치가 떠나는 경우에도 루트 노드가 해당 사실을 다른 노드들에게 전파할 수 있다.Even if 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 determine a network access switch to store the item by using an XOR operation. For example, in a situation where a network access switch needs information of a terminal whose IP address is “10.16.0.200”, a value obtained by applying a hash function to the IP address of the terminal may be used as an item key value of HDHT. .

이 때, 키 생성기(131)는“10.16.0.200”이라는 문자열에 SHA-256 해시 함수를 적용하여 항목 키 값을 생성할 수 있다. 예를 들어, 단말의 IP 주소에 SHA-256 해시 함수를 적용시킨 결과 값은 0x4F9F570BE4F8일 수 있다.In this case, the key generator 131 may generate an 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 may perform an XOR operation with all node IDs stored in the routing table using the result value of applying the hash function.

도 6의 각 노드 ID와 XOR 연산을 수행한 결과 값은 각각 0x0E102D5412BA, 0x03A899E92F2C, 0x178BB5DA23C3, 0x55CECFD0B6E6 일 수 있다. 이 중 두 번째 결과 값이 가장 작기 때문에 항목 업데이터(135)는 단말의 항목을 두 번째 네트워크 접근 스위치에 저장할 수 있다.Each node ID and the result of performing the XOR operation of FIG. 6 may be 0x0E102D5412BA, 0x03A899E92F2C, 0x178BB5DA23C3, and 0x55CECFD0B6E6, respectively. Since the second result value is the smallest, the item updater 135 may 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 query message can be delivered with only a single overlay hop.

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

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

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

항목 업데이터(135)는 등록 요청은 상위 DHT로 계속 전달(⑥)하며 전달되는 과정 중 명시된 계층을 거치는 경우 항목을 저장할 수 있다(⑦).The item updater 135 continues to deliver the registration request to the upper DHT (⑥) and may store the item when passing through the specified layer during the delivery process (⑦).

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

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

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

도 8은 계층 분산 해시 테이블 항목의 예시를 나타낸다.8 illustrates an example 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) may assign an IP address to hosts connected to the AR and serve as a default gateway to enable communication. In addition, when the terminal requests a network connection to itself, it may allocate an IP address through authentication. The mobility providing apparatus 10 may maintain the IP address of the terminal through DHCP (Dynamic Host Configuration Protocol) even if the terminal moves to another subnetwork.

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

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

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

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

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

항목 업데이터(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 (④). The item updater 131 may add itself to the network access switch list (⑤). The item updater 131 may request to register the generated or modified item information to the HDHT (⑥). At this time, the item updater 131 must specify the level of the hierarchy into which the item is inserted. Each node may know its hierarchical level when participating in the DHT.

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

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

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

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

도 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 may generate a key value of the item when the packet arrives at the network access switch and check whether there is a cached item.

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

패킷 전송기(170)는 캐싱된 항목이 있는 경우에 패킷의 목적지 IP주소를 단말이 연결되어 있는 네트워크 접근 스위치의 IP주소로 수정하고 옵션헤더에 항목의 키 값을 추가한 후에 패킷을 포워딩 할 수 있다.If there is a cached item, the packet transmitter 170 may forward the packet after modifying 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. .

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

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

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

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

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

이 패킷이 네트워크 접근 스위치 A에 도착하면, 패킷 전송기(170)는 목적지 IP주소를 이동 단말의 IP주소로 복원하고 옵션헤더를 제거 후 이동 단말에게 패킷을 전달할 수 있다.When the packet arrives at the network access switch A, the packet transmitter 170 may 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 the operation of transmitting a packet.

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

패킷 전송기(170)는 캐싱된 항목이 없는 경우 패킷을 바로 포워딩하며, HDHT에 질의를 보낼 수 있다(④). 목적지 노드에 대한 위치 정보가 캐싱되어 있으면 패킷 전송기(170)는 패킷의 목적지 IP주소를 목적지 노드가 연결되어 있는 네트워크 접근 스위치의 IP주소로 수정하고 옵션헤더에 항목의 키 값을 추가한 후에 패킷을 내보낼 수 있다(⑤).If there is no cached item, the packet transmitter 170 directly forwards the packet and may send an inquiry to the HDHT (④). If the location information for the destination node is cached, the packet transmitter 170 modifies the packet's destination IP address 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, and then adds the packet. Can be exported (⑤).

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

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

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

이 패킷이 네트워크 접근 스위치 A에 도착하면, 패킷 전송기(170)는 목적지 IP주소를 이동 단말의 IP주소로 복원하고 옵션헤더를 제거 후 이동 단말에게 패킷을 전달할 수 있다.When the packet arrives at the network access switch A, the packet transmitter 170 may 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 illustrates an example 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 edge switch (ES) that operates in MoE (Mobility of Everything). MoE's ES was implemented by modifying the source code of the OVS (Open vSwitch) kernel module, and OVS can operate in conjunction with Flat DHT to register or find the location information of the terminal. The mobility providing apparatus 10 may provide a network access switch capable of interworking with HDHT and designating an HDHT level of an item based on the ES. Registration and query messages between the OVS kernel module and HDHT can be delivered via socket IPC.

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

도 14를 참조하면, 핸드오버 처리기(150)는 이동 단말이 새로운 네트워크 접근 스위치와 연결을 맺을 때 핸드오버를 지원할 수 있다.Referring to FIG. 14, the handover processor 150 may support handover when the 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 may establish an L2 association with a newly connected network access switch. The handover processor 150 may assign 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. If there is an existing item, the handover processor 150 may update it, and if not, register the new item.

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

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

단말의 이동성을 지원하기 위해 발생하는 질의의 질의 시간은 항목의 계층 레벨에 따라 크게 달라질 수 있다. 상대 단말과 통신 중이던 이동 단말이 핸드오버를 하는 경우, 핸드오버 처리기(150)는 이동 단말이 네트워크 접근 스위치에 연결될 때 이동 단말의 위치 정보를 캐싱하고 있는 네트워크 스위치들의 목록을 HDHT에서 가져온 후 갱신 메시지를 전송할 수 있다.The query time of the query generated to support the mobility of the terminal may vary greatly depending on the hierarchical level of the item. When the mobile terminal communicating with the other terminal performs handover, the handover processor 150 obtains 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, and then updates the message. Can be transmitted.

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

질의 시간을 줄이기 위해서 항목 등록기(130)는 이동 단말의 이동범위를 고려하여 항목이 저장되는 계층 레벨을 결정할 수 있다. 항목이 저장되는 계층 레벨을 이동 단말의 이동범위에 맞도록 지정하면 이동 단말이 이동했을 때 발생하는 대부분의 질의가 빠른 시간 안에 이루어지도록 만들 수 있다. 이를 통해 이동 단말의 핸드오버에 소요되는 시간을 크게 감소시킬 수 있다.In order to reduce the query time, the item register 130 may determine the hierarchical level at which the item is 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 moving range of the mobile terminal, most queries generated when the mobile terminal is moved can be made in a short time. Through this, 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 devices and components described in the embodiments are, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs). May be implemented using one or more general purpose or special purpose computers, such as 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 the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(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 above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Method according to the embodiment is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, 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 not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

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

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 the terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT); And
Processing a handover of the terminal using the item
Including,
The hierarchical distributed hash table is configured of the plurality of layers based on a physical distance between the network access switches,
The query for the item is sequentially performed for each layer from the lowest layer included in the plurality of layers to the highest layer included in the plurality of layers.
The registering step,
Specifying a hierarchy in which the item is to be stored based on the location of a network access switch that is likely to query the item; And
Forwarding a registration request for the item until reaching a specified layer
Including,
The delivering step,
Forwarding the registration request from the lowest layer of the hierarchical distributed hash table to the specified layer;
When the registration request reaches a top layer, determining a distributed hash table node of another top layer to store the item through a logical distance operation; And
If the distributed hash table node of the other top layer is determined, changing the delivery direction of the registration request to a lower layer direction of the other top layer, and forwarding to the specified layer;
How to Provide Mobility.
제1항에 있어서,
상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 단계;
를 더 포함하고,
상기 생성하는 단계는,
상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하는 단계; 및
상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 1,
Generating the hierarchical distributed hash table comprising the plurality of hierarchies based on a physical distance between the network access switches;
More,
The generating step,
Creating a plurality of lowest layers consisting of physically close network access switches among the network access switches; And
Hierarchically generating upper layers composed of the plurality of lowest layers
Mobility providing method comprising a.
제1항에 있어서,
상기 등록하는 단계는,
상기 단말과 관련된 항목의 키(key) 값을 생성하는 단계;
상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 단계; 및
질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 1,
The registering step,
Generating a key value of an item related to the terminal;
Querying the key values in the hierarchical distributed hash table; And
Updating the entry in the hierarchical distributed hash table based on a query result.
Mobility providing method comprising a.
제3항에 있어서,
상기 업데이트하는 단계는,
상기 항목에 상기 항목이 저장될 계층을 명시(specify)하는 단계;
상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하는 단계; 및
상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 3,
The updating step,
Specifying a hierarchy in which the item is to be stored;
Updating the network access switch list and the Internet Protocol (IP) address of the item; And
Requesting registration of the item in the hierarchical distributed hash table;
Mobility providing method comprising a.
◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈Claim 5 was abandoned upon payment of a set-up fee. 제4항에 있어서,
상기 요청하는 단계는,
상기 명시된 계층과 상기 등록 요청을 받은 네트워크 접근 스위치가 참여하고 있는 분산 해시 테이블의 계층이 동일한 경우에 상기 항목을 저장하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 4, wherein
The requesting step,
Storing the item when the specified layer and the layer of the distributed hash table in which the network access switch that received the registration request participate are the same.
Mobility providing method comprising a.
◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈Claim 6 has been abandoned upon payment of a setup registration fee. 제5항에 있어서,
상기 저장하는 단계는,
상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하는 단계; 및
상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 5,
The storing step,
Performing a logical distance operation using the key value of the item; And
Storing the item in a network access switch having the smallest result of the logical distance operation.
Mobility providing method comprising a.
제1항에 있어서,
상기 처리하는 단계는,
상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하는 단계;
상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하는 단계; 및
질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 1,
The processing step,
Allocating a new Internet Protocol (IP) address to the terminal as the terminal moves;
Generating an item key value for the terminal and querying the hierarchical distributed hash table; And
Updating the entry in the hierarchical distributed hash table based on a query result.
Mobility providing method comprising a.
제1항에 있어서,
상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 단계
를 더 포함하는 이동성 제공 방법.
The method of claim 1,
Transmitting a packet to the terminal through the hierarchical distributed hash table
Mobility providing method further comprising.
제8항에 있어서,
상기 전송하는 단계는,
상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하는 단계;
상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하는 단계; 및
상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 8,
The transmitting step,
Generating an item key value of the terminal in the network access switch receiving the packet;
Determining whether an option header exists in the packet; And
Forwarding the packet to a network switch to which the terminal is connected based on a result of the determination and the item key value
Mobility providing method comprising a.
◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈Claim 10 has been abandoned upon payment of a setup registration fee. 제9항에 있어서,
상기 포워딩하는 단계는,
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하는 단계;
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하는 단계;
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리는 단계; 및
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 9,
The forwarding step,
If the option header does not exist in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value, forward the packet and query the hierarchical distributed hash table for the item. Making;
If the option header does not exist in the packet and the network access switch receiving the packet stores an item corresponding to the item key value, modify the destination of the packet to a network switch to which the terminal is connected, and the option Adding a new item key value to the header;
Discarding the packet if 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; 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, the terminal restores the destination of the packet to the terminal and removes the option header to the terminal. Forwarding the packet with
Mobility providing method comprising a.
계층 분산 해시 테이블(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 the terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT), and using the hand, the hand of the terminal Controller to handle over
Including,
The hierarchical distributed hash table is configured of the plurality of layers based on a physical distance between the network access switches,
The query for the item is sequentially performed for each layer from the lowest layer included in the plurality of layers to the highest layer included in the plurality of layers.
The controller,
Specify a layer in which the item is to be stored based on the location of a network access switch that is likely to query the item, forward the registration request of the item until reaching the specified layer,
Forwarding the registration request from the lowest layer of the hierarchical distributed hash table to the specified layer,
When the registration request reaches the top layer, a distributed hash table node of another top layer to store the item through a logical distance operation,
When the distributed hash table node of the other top layer is determined, the transfer direction of the registration request is changed to a lower layer direction of the other top layer to deliver to the specified layer.
Mobility provision device.
제11항에 있어서,
상기 컨트롤러는,
계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하는 항목 등록기; 및
상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 핸드 오버 처리기
를 포함하는 이동성(mobility) 제공 장치.
The method of claim 11,
The controller,
An item register for registering an entry related to the terminal in a layer designated by a network access switch to which the terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT); And
Handover processor for processing the handover of the terminal using the item
Mobility providing device comprising a.
제12항에 있어서,
상기 컨트롤러는,
상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 HDHT 생성기;
를 더 포함하고,
상기 HDHT 생성기는,
상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하고, 상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성하는
이동성 제공 장치.
The method of claim 12,
The controller,
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;
More,
The HDHT generator,
Generating a plurality of lowest layers composed of physically close network access switches among the network access switches, and hierarchically generating upper layers composed of the plurality of lowest layers
Mobility provision device.
제12항에 있어서,
상기 항목 등록기는,
상기 단말과 관련된 항목의 키(key) 값을 생성하는 키 생성기;
상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 질의기; 및
질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 항목 업데이터
를 포함하는 이동성 제공 장치.
The method of claim 12,
The item register,
A key generator for generating a key value of an item related to the terminal;
A queryer for querying the key values in the hierarchical distributed hash table; And
An item updater that updates the item in the hierarchical distributed hash table based on a query result
Mobility providing device comprising a.
제14항에 있어서,
상기 항목 업데이터는,
상기 항목에 상기 항목이 저장될 계층을 명시(specify)하고, 상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하고, 상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청하는
이동성 제공 장치.
The method of claim 14,
The item updater,
Specifying the layer in which the item is to be stored, updating the network access switch list and the IP address of the item, and requesting registration of the item in the layer distributed hash table.
Mobility provision device.
◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈Claim 16 was abandoned upon payment of a set-up fee. 제15항에 있어서,
상기 항목 업데이터는,
상기 명시된 계층과 상기 등록 요청을 받은 네트워크 접근 스위치가 참여하고 있는 분산 해시 테이블의 계층이 동일한 경우에 상기 항목을 저장하는
이동성 제공 장치.
The method of claim 15,
The item updater,
Storing the item when the specified layer is identical to the layer of a distributed hash table in which the network access switch receiving the registration request is participating.
Mobility provision device.
◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈Claim 17 was abandoned upon payment of a set-up fee. 제16항에 있어서,
상기 항목 업데이터는,
상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하고, 상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장하는
이동성 제공 장치.
The method of claim 16,
The item updater,
Performing a logical distance operation by using the key value of the item, and storing the item in a network access switch having the smallest value as a result of the logical distance operation.
Mobility provision device.
제12항에 있어서,
상기 핸드오버 처리기는,
상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하고, 상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하고, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는
이동성 제공 장치.
The method of claim 12,
The handover processor,
Assign a new Internet Protocol (IP) address to the terminal as the terminal moves, generate an item key value for the terminal, query the hierarchical distributed hash table, and query the hierarchical distributed hash table based on the query result. To update the above items
Mobility provision device.
제12항에 있어서,
상기 컨트롤러는,
상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 패킷 전송기
를 더 포함하는 이동성 제공 장치.
The method of claim 12,
The controller,
A packet transmitter for transmitting a packet to the terminal through the hierarchical distributed hash table
A mobility providing device further comprising.
제19항에 있어서,
상기 패킷 전송기는,
상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하고, 상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하고, 상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩하는
이동성 제공 장치.
The method of claim 19,
The packet transmitter,
The network access switch receiving the packet generates an item key value of the terminal, determines whether an option header exists in the packet, and a network switch to which the terminal is connected based on a result of the determination and the item key value. Forwarding the packet with
Mobility provision device.
◈청구항 21은(는) 설정등록료 납부시 포기되었습니다.◈Claim 21 has been abandoned upon payment of a set-up fee. 제20항에 있어서,
상기 패킷 전송기는,
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하고,
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하고,
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리고,
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩하는
이동성 제공 장치.
The method of claim 20,
The packet transmitter,
If the option header does not exist in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value, forward the packet and query the hierarchical distributed hash table for the item. and,
If the option header does not exist in the packet and the network access switch receiving the packet stores an item corresponding to the item key value, modify the destination of the packet to a network switch to which the terminal is connected, and the option Add a new item key value to the header,
If 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, the packet is discarded.
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, the destination of the packet is restored to the terminal and the option header is removed to remove the option header. Forwarding the packet with
Mobility provision 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 KR20190030854A (en) 2019-03-25
KR102054775B1 true 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
KR20190030854A (en) 2019-03-25

Similar Documents

Publication Publication Date Title
JP6068685B2 (en) Method and apparatus for realizing communication between virtual machines
US10216853B2 (en) Method and system for implementing a VXLAN control plane
CN112470436A (en) Multi-cloud connectivity using SRV6 and BGP
EP3225014B1 (en) Source ip address transparency systems and methods
CN107113241B (en) Route determining method, network configuration method and related device
US10104633B1 (en) Active position driven mobility content delivery in information centric networks
US10742697B2 (en) Packet forwarding apparatus for handling multicast packet
WO2017032300A1 (en) Data transmission method, virtual network management apparatus, and data transmission system
US20150264116A1 (en) Scalable Address Resolution
KR20120137726A (en) A transmission node and a receiver node of a contents centric network and a communination method thereof
US20200305042A1 (en) Interest packet routing in information centric networks
CN113439428A (en) System and method for operating a device with DNS cache
Xie et al. Supporting seamless virtual machine migration via named data networking in cloud data center
CN106331206A (en) Domain name management method and device
WO2024093064A1 (en) Identifier management and forwarding optimization method and apparatus in large-scale multi-modal network
Ascigil et al. A native content discovery mechanism for the information-centric networks
CN109120556B (en) A kind of method and system of cloud host access object storage server
JP2012134780A (en) Gateway system, gateway device, and load distribution method
Li et al. A software-defined address resolution proxy
KR102054775B1 (en) A method and apparatus for supporting mobility of host using hierarchical distributed hash table
US11595293B2 (en) File control for data packet routers using consensus and inter-planetary file system (IPFS)
KR20220076826A (en) Method for ndn based in-network computing and apparatus for the same
US9763135B1 (en) Load balancing with mobile resources
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)