KR20190030854A - A method and apparatus for supporting mobility of host using hierarchical distributed hash table - Google Patents
A method and apparatus for supporting mobility of host using hierarchical distributed hash table Download PDFInfo
- Publication number
- KR20190030854A KR20190030854A KR1020170118385A KR20170118385A KR20190030854A KR 20190030854 A KR20190030854 A KR 20190030854A KR 1020170118385 A KR1020170118385 A KR 1020170118385A KR 20170118385 A KR20170118385 A KR 20170118385A KR 20190030854 A KR20190030854 A KR 20190030854A
- Authority
- KR
- South Korea
- Prior art keywords
- item
- packet
- terminal
- network access
- hash table
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- H04L61/2007—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1089—Hierarchical topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
- H04W36/0083—Determination 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
Description
아래 실시예들은 계층 분산 해시 테이블을 이용하여 단말 이동성을 지원하는 방법 및 장치에 관한 것이다.The following embodiments relate to a method and apparatus for supporting terminal mobility using a hierarchical distributed hash table.
컴퓨팅 파워를 갖추고 크기가 작은 사물들이 늘어남에 따라 네트워크에 연결되는 이동 단말의 수가 크게 증가하고 있다. 현재 인터넷에 연결된 대부분의 장치들은 스마트폰, 데스크탑, 노트북과 같이 이동성이 낮은 장치들이지만, 앞으로 다가올 미래에는 각종 센서, 안경, 자동차, 시계 가전기구 등 우리 주변에 존재하는 대부분의 이동 사물들이 인터넷에 연결될 것으로 전망된다.As the number of small objects with computing power increases, the number of mobile terminals connected to the network is increasing greatly. Most of the devices currently connected to the Internet are low-mobility devices such as smartphones, desktops, and laptops. However, in the future, most moving objects around us, such as sensors, glasses, It is expected to be connected.
해외 매체에 따르면 2020년까지 인터넷에 접속되는 장치의 수가 500억 개를 넘을 것이며, 지구상의 이동 수단 중 1/4 이상이 인터넷에 연결될 것이다. 이와 같은 통계 자료들은 앞으로 인터넷에 접속되는 사물들 중에서 이동성을 지닌 사물들의 비율이 커질 것을 암시하고 있다.According to foreign media, the number of devices connected to the Internet by 2020 will exceed 50 billion, and more than a quarter of the world's mobile devices will be connected to the Internet. These statistics suggest that the proportion of objects with mobility will increase in the future.
네트워크에 연결된 이동성을 지닌 사물들의 비율이 증가함에 따라 미래 인터넷 환경에서는 사물들에 대한 이동성 지원 및 관리가 중요한 문제로 대두될 것이다. 따라서 미래 상황에 대비한 이동성 지원 플랫폼을 설계할 필요가 있다.As the proportion of objects with mobility connected to the network increases, mobility support and management for objects will become important in the future Internet environment. Therefore, it is necessary to design a mobility support platform for the future.
현재의 네트워크는 중앙 집중적 방식으로 동작해서 모든 유저 패킷이 코어 망을 경유한다. 예를 들어, 3GPP에서는 GPRS(General Pachet Radio Service) 터널링 프로토콜(tunneling protocol)을 사용해서 네트워크 기반의 IP(Internet Protocol) 이동성을 제공한다.The current network operates in a centralized manner so that all user packets go through the core network. For example, 3GPP provides network-based Internet Protocol (IP) mobility using a General Packet Radio Service (GPRS) tunneling protocol.
이러한 중앙 집중적 방식은 중앙 앵커가 단말의 현재 위치로 패킷을 리라우팅(rerouting) 해줌으로써 간단한 방식으로 동작한다는 장점이 있다. 하지만 중앙 앵커가 동작 불능 상태가 되면 시스템 전체가 동작하지 못하는 단일점 고장(single point of failure) 문제와 시스템을 사용하는 사용자의 수가 크게 증가 했을 때 이를 수용하지 못하는 확장성(scalability) 문제를 가지고 있다. 따라서 미래 인터넷 환경에서는 이러한 문제점들이 해결된 분산형 방식이 적용될 필요가 있다.This centralized approach has the advantage that the central anchor operates in a simple manner by rerouting the packet to the current location of the terminal. However, when the central anchor becomes inoperable, it has a single point of failure problem in which the entire system can not operate and a scalability problem that can not be accommodated when the number of users using the system increases greatly . Therefore, in the future Internet environment, it is necessary to apply the distributed method in which these problems are solved.
실시예들은 계층 분산 해시 테이블을 이용하여 단말의 이동성을 제공함에 있어서 질의 시간을 단축 시키고 확장성 문제를 해결할 수 있는 기술을 제공할 수 있다.Embodiments can provide a technique for shortening the query time and solving the scalability problem in providing the mobility of the terminal using the hierarchical distributed hash table.
일 실시예에 따른 이동성 제공 방법은, 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하는 단계와, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 단계를 포함하고, 상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성된다.The method of providing mobility according to an exemplary embodiment of the present invention registers an entry related to the terminal in a hierarchy designated by a network access switch to which a terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT) And processing the handover of the terminal using the item, wherein the hierarchical distributed hash table is composed of the plurality of layers based on a physical distance between the network access switches.
상기 이동성 제공 방법은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 단계를 더 포함하고, 상기 생성하는 단계는, 상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하는 단계와, 상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성하는 단계를 포함할 수 있다.Wherein the mobility providing method further comprises generating the hierarchical distributed hash table including the plurality of layers based on a physical distance between the network access switches, Generating a plurality of lowest layers constituted by network access switches close to each other, and hierarchically creating upper layers composed of the plurality of lowest layers.
상기 등록하는 단계는, 상기 단말과 관련된 항목의 키(key) 값을 생성하는 단계와, 상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 단계와, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계를 포함할 수 있다.Wherein the step of registering comprises the steps of: generating a key value of an item related to the terminal; querying the hierarchical distributed hash table with the key value; And updating the item in the table.
상기 업데이트하는 단계는, 상기 항목에 상기 항목이 저장될 계층을 명시(specify)하는 단계와, 상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하는 단계와, 상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청하는 단계를 포함할 수 있다.Wherein the step of updating comprises the steps of: specifying a layer in which the item is to be stored in the item; updating a network access switch list and an IP (Internet Protocol) address of the item; And requesting registration of the item.
상기 요청하는 단계는, 최하위 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계와, 상기 등록 요청을 상기 최하위 계층으로부터 최상위 계층까지 순차적으로 전달하면서 명시된 계층에 상기 등록 요청이 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계와, 상기 등록 요청이 상기 최상위 계층에 도달한 경우에, 논리적 거리 연산을 통해 상기 최상위 계층의 분산 해시 테이블 노드에 항목을 저장하는 단계와, 상기 등록 요청을 상기 최상위 계층으로부터 상기 명시된 계층까지 순차적으로 전달하면서 상기 명시된 계층에 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계를 포함할 수 있다.Wherein the step of requesting comprises the steps of: storing the item in a distributed hash table of the lowest hierarchy; and delivering the registration request sequentially from the lowest hierarchy to the highest hierarchy, when the registration request reaches a specified hierarchy, Storing the item in a hash table, storing an item in a distributed hash table node of the highest hierarchical level through a logical distance operation when the registration request reaches the highest hierarchical level, And storing the item in the distributed hash table of the specified hierarchy when the hierarchy reaches the specified hierarchy while sequentially transferring the hierarchy from the highest hierarchy to the specified hierarchy.
상기 저장하는 단계 각각은, 상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하는 단계와, 상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장하는 단계를 포함할 수 있다.Each of the storing steps may include performing a logical distance operation using a key value of the item and storing the item in a network access switch having a result of the logical distance operation being the smallest value have.
상기 처리하는 단계는, 상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하는 단계와, 상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하는 단계와, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계를 포함할 수 있다.Wherein the step of processing comprises: allocating a new IP (Internet Protocol) address to the terminal according to movement of the terminal; generating an item key value for the terminal and querying the hierarchical distributed hash table; And updating the item in the hierarchical distributed hash table based on the result.
상기 이동성 제공 방법은, 상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 단계를 더 포함할 수 있다.The mobility providing method may further include transmitting a packet to the terminal through the hierarchical distributed hash table.
상기 전송하는 단계는, 상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하는 단계와, 상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하는 단계와, 상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩하는 단계를 포함할 수 있다.Wherein the step of transmitting comprises: generating an item key value of the terminal in a network access switch that has received the packet; determining whether an optional header is present in the packet; And forwarding the packet to a network switch to which the terminal is connected based on the value.
상기 포워딩하는 단계는, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하는 단계와, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하는 단계와, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리는 단계와, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩하는 단계를 포함할 수 있다.The forwarding step includes forwarding the packet if the option switch is not present in the packet and the network access switch that received the packet does not store the item corresponding to the item key value, If the option switch is not present in the packet and the network access switch that received the packet stores an item corresponding to the item key value, Modifying the option header by adding a new item key value to the option header, adding a new item key value to the option header, and if the option header exists in the packet and the network access switch receiving the packet stores an item corresponding to the item key value Discarding the packet if the packet does not include the packet, And if the network access switch that received the packet stores an item corresponding to the item key value, restores the destination of the packet to the terminal, removes the option header, and forwards the packet to the terminal .
일 실시예에 따른 이동성 제공 장치는, 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하고, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 컨트롤러를 포함하고, 상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성된다.The mobility providing apparatus according to an exemplary embodiment registers an entry related to the terminal in a hierarchy designated by a network access switch to which a terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT) And a controller for handling a handover of the terminal using the item, wherein the hierarchical distributed hash table is configured by the plurality of layers based on a physical distance between the network access switches.
상기 컨트롤러는, 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하는 항목 등록기와, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 핸드 오버 처리기를 포함할 수 있다.The controller includes an item register for registering an entry related to the terminal in a hierarchy designated by a network access switch to which a terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT) And a handover processor for processing the handover of the terminal using the handover processor.
상기 컨트롤러는, 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 HDHT 생성기를 더 포함하고, 상기 HDHT 생성기는, 상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하고, 상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성할 수 있다.Wherein the controller further comprises an HDHT generator for generating the hierarchical distributed hash table including the plurality of layers based on a physical distance between the network access switches, It is possible to generate a plurality of lowest layers constituted by the nearest network access switches and to hierarchically create upper layers constituted by the plurality of lowest layers.
상기 항목 등록기는, 상기 단말과 관련된 항목의 키(key) 값을 생성하는 키 생성기와, 상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 질의기와, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 항목 업데이터를 포함할 수 있다.The item register includes a key generator for generating a key value of an item related to the terminal, a query unit for querying the key value in the hierarchical distributed hash table, And an item updater that updates the item in the table.
상기 항목 업데이터는, 상기 항목에 상기 항목이 저장될 계층을 명시(specify)하고, 상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하고, 상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청할 수 있다.Wherein the item updater specifies a layer in which the item is to be stored in the item, updates a network access switch list and an IP (Internet Protocol) address of the item, and registers in the hierarchical distributed hash table .
상기 항목 업데이터는, 최하위 계층의 분산 해시 테이블에 상기 항목을 저장하고, 상기 등록 요청을 상기 최하위 계층으로부터 최상위 계층까지 순차적으로 전달하면서 명시된 계층에 상기 등록 요청이 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하고, 상기 등록 요청이 상기 최상위 계층에 도달한 경우에, 논리적 거리 연산을 통해 상기 최상위 계층의 분산 해시 테이블 노드에 항목을 저장하고, 상기 등록 요청을 상기 최상위 계층으로부터 상기 명시된 계층까지 순차적으로 전달하면서 상기 명시된 계층에 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장할 수 있다.The item updater stores the item in a distributed hash table of the lowest hierarchical layer, sequentially transfers the registration request from the lowest hierarchical layer to the highest hierarchical layer, and when the registration request reaches the specified hierarchical layer, Storing the item and storing an item in a distributed hash table node of the highest hierarchical level through a logical distance operation when the registration request reaches the highest hierarchical level and transmitting the registration request from the highest hierarchical level to the specified hierarchical level The item can be stored in the distributed hash table of the specified hierarchy when it reaches the specified hierarchy.
상기 항목 업데이터는, 상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하고, 상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장할 수 있다.The item updater may perform a logical distance operation using a key value of the item and store the item in a network access switch having a result of the logical distance operation being the smallest value.
상기 핸드오버 처리기는, 상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하고, 상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하고, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트할 수 있다.The handover processor allocates a new IP (Internet Protocol) address to the terminal according to the movement of the terminal, generates an item key value for the terminal, queries the hierarchical distributed hash table, And update the item in the hierarchical distributed hash table.
상기 컨트롤러는, 상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 패킷 전송기를 더 포함할 수 있다.The controller may further include a packet transmitter for transmitting a packet to the terminal through the hierarchical distributed hash table.
상기 패킷 전송기는, 상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하고, 상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하고, 상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩할 수 있다.Wherein the packet transmitter generates an item key value of the terminal in a network access switch that has received the packet, determines whether or not an option header exists in the packet, and determines, based on the result of the determination and the item key value, And forward the packet to a network switch to which the terminal is connected.
상기 패킷 전송기는, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하고, 상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하고, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리고, 상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩할 수 있다.The packet transmitter forwards the packet if the option switch is not present in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value, When the network access switch storing the packet does not include the option header in the packet and stores the item corresponding to the item key value, the destination of the packet is referred to as a network to which the terminal is connected When the option header is present in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value, Discards the packet, and if the option header is present in the packet and the packet If the received network access switch for storing an entry corresponding to the key item value, it is possible to restore the destination of the packet to the terminal and removes the option header to forward the packet to the terminal.
도 1은 일 실시예에 따른 이동성 제공 장치의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 이동성 제공 장치를 이용한 이동성 지원 시스템의 예시를 나타낸다.
도 3은 도 1에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.
도 4는 도 3에 도시된 항목 등록기의 개략적인 블록도를 나타낸다.
도 5는 계층 분산 해시 테이블의 구조의 예시를 나타낸다.
도 6은 DHT 라우팅 테이블의 예시를 나타낸다.
도 7은 계층 분산 해시 테이블에 항목을 등록하는 동작에 대한 의사 코드의 예시를 나타낸다.
도 8은 계층 분산 해시 테이블 항목의 예시를 나타낸다.
도 9는 네트워크 접근 스위치가 단말과 관련된 항목을 업데이트 하는 동작에 대한 의사 코드의 예시를 나타낸다.
도 10은 네트워크 접근 스위치가 캐시에 저장된 항목을 갱신하는 동작에 대한 의사 코드의 예시를 나타낸다.
도 11은 도 3에 도시된 패킷 전송기의 동작의 예시를 나타낸다.
도 12는 패킷을 전송하는 동작에 대한 의사 코드의 예시를 나타낸다.
도 13은 OVS 커널 모듈과 계층 분산 해시 테이블 간에 메시지를 전달 받는 동작의 예시를 나타낸다.
도 14는 도 3에 도시된 핸드오버 처리기의 동작의 예시를 나타낸다.1 shows a schematic block diagram of a mobility providing apparatus according to an embodiment.
Fig. 2 shows an example of a mobility support system using the mobility providing apparatus shown in Fig.
Figure 3 shows a schematic block diagram of the controller shown in Figure 1;
Figure 4 shows a schematic block diagram of the item register shown in Figure 3;
5 shows an example of the structure of the hierarchical distributed hash table.
6 shows an example of a DHT routing table.
FIG. 7 shows an example of a pseudo code for an operation of registering an item in a hierarchical distributed hash table.
8 shows an example of a hierarchical distributed hash table entry.
9 shows an example of a pseudo code for an operation in which a network access switch updates an item associated with a terminal.
10 shows an example of a pseudo code for an operation in which a network access switch updates an item stored in a cache.
11 shows an example of the operation of the packet transmitter shown in Fig.
12 shows an example of a pseudo code for an operation of transmitting a packet.
13 shows an example of an operation of receiving a message between an OVS kernel module and a hierarchical distributed hash table.
14 shows an example of the operation of the handover processor shown in Fig.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are presented for the purpose of describing embodiments only in accordance with the concepts of the present invention, May be embodied in various forms and are not limited to the embodiments described herein.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. However, it is not intended to limit the embodiments according to the concepts of the present invention to the specific disclosure forms, but includes changes, equivalents, or alternatives falling within the spirit and scope of the present invention.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Expressions that describe the relationship between components, for example, "between" and "immediately" or "directly adjacent to" should be interpreted as well.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms " comprises ", or " having ", and the like, are used to specify one or more of the features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.
도 1은 일 실시예에 따른 이동성 제공 장치의 개략적인 블록도를 나타낸다.1 shows a schematic block diagram of a mobility providing apparatus according to an embodiment.
도 1을 참조하면, IETF(Internet Engineering Task Force)는 중앙 집중 방식의 이동성 제공 방법에서 발생하는 고질적인 문제들을 해결하기 위해 분산형 이동성 관리 방식의 요구사항을 정리하고 있고, 기존 IP(Internet Protocol) 이동성 해결책들을 분산형 이동성 관리 방식 환경의 데이터 면(data plane)에 도입하는 것을 추진하고 있다. 하지만 이러한 분산형 이동성 관리 방식은 복잡한 터널링 방식, 비최적화(nonoptimal) 경로와 같은 성능 저하 문제들로 인해 실질적으로 사용되지 않고 있는 상황이다.Referring to FIG. 1, the Internet Engineering Task Force (IETF) summarizes the requirements of the distributed mobility management method in order to solve the persistent problems occurring in the centralized mobility providing method, And introduces mobility solutions into the data plane of a distributed mobility management environment. However, this distributed mobility management method is not actually used due to performance degradation problems such as complex tunneling method and nonoptimal path.
최근 데이터 면뿐만 아니라 제어 면(control plane)까지 분산된 완전 분산 방식에 대한 연구가 진행되고 있다. DHT(Distributed Hash Table)를 제어 면으로 사용하는 경우 세계적인 규모로 적용되면 참여하는 노드의 수가 증가하여 질의 시간이 증가하는 문제가 발생할 수 있다.Recently, researches are being made on a complete dispersion method not only for the data plane but also for the control plane. When DHT (Distributed Hash Table) is used as a control surface, the number of participating nodes increases, which can increase the query time.
DHT의 질의 시간 문제를 해결하기 위해 DHT를 계층적으로 구성하거나, One Hop DHT를 이용하거나, 동시 다수 질의를 사용하거나, 노드 식별자 할당 시 DHT 노드들의 물리적 위치 고려하는 등 다양한 해결 방법이 제안되었다. 하지만 이러한 방법들은 DHT 성능 자체를 개선시키는 것에 초점을 맞추었기 때문에 단말의 이동성에 대한 고려가 부족하였다.In order to solve the query time problem of DHT, various solutions have been suggested such as hierarchical configuration of DHT, use of One Hop DHT, simultaneous multiple queries, and consideration of physical location of DHT nodes when assigning node identifiers. However, since these methods focus on improving the DHT performance itself, the mobility of the terminal is not considered.
이동성 제공 장치(10)는 계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)과 단말에게 이동성을 제공하는 네트워크 접근 스위치를 이용하여 단말에게 이동성을 제공할 수 있다. 이동성 제공 장치(10)는 네트워크 접근 스위치에서 HDHT를 동작 시키고, 단말의 이동성을 제공하기 위한 정보들을 저장하여 네트워크에 접속한 단말에게 이동성을 제공할 수 있다.The
이동성 제공 장치(10)는 최하위 계층의 분산 해시 테이블(DHT)에 참여하는 노드들을 자율 시스템(autonomous system)과 같이 물리적으로 가까운 노드들로 구성한 후, 이러한 노드들을 계층적으로 구성할 수 있다. 예를 들어, 네트워크 접근 스위치가 DHT 노드 역할을 수행할 수 있고, 이동성 제공 장치(10)는 네트워크 접근 스치들을 이용하여 HDHT를 구성할 수 있다.The
이동성 제공 장치(10)는 HDHT를 네트워크 접근 스위치와 개별적으로 동작시킬 수 있다.The
이동성 제공 장치(10)는 단말의 이동성을 제공하기 위해 필요한 정보를 HDHT에 저장할 수 있다. 이동성 제공 장치(10)는 단말의 위치 정보를 포함한 항목을 HDHT에 저장할 때, 항목이 저장되는 계층 레벨을 지정할 수 있다.The
이동성 제공 장치(10)는 단말이 네트워크 상에서 고정되어 있거나, 자유롭게 이동하더라도 단말이 위치한 서브 네트워크에 패킷을 정확히 전달하여 객체의 통신을 유지하게 할 수 있다.The
이동성 제공 장치(10)는 HDHT에 저장된 정보를 이용하여 단말이 이동하더라도 다른 접근 스위치들이 단말이 위치한 서브 네트워크로 패킷 포워딩(또는 라우팅)을 적절히 수행할 수 있도록 할 수 있다.The
이동성 제공 장치(10)는 단말의 이동성을 제공하기 위한 정보를 HDHT에 저장하고, 네트워크 접근 스위치의 패킷 처리 기능을 통해 단말의 이동성을 지원할 수 있다.The
이동성 제공 장치(10)는 단말로부터 유도된 정보들을 이용하여 단말의 정보를 저장하기 위해 사용되는 항목의 키(key) 값을 생성할 수 있다.The
이동성 제공 장치(10)는 서브 네트워크에 위치한 네트워크 접근 스위치들에서 동작하는 DHT를 계층적으로 구성하고, 단말의 이동성에 필요한 정보를 저장할 때, 정보를 담은 항목이 저장될 계층을 지정할 수 있다. 이를 통해, 이동성 제공 장치(10)는 항목이 저장된 계층 밑(계층 레벨이 포함된 범위 안)에서 단말이 이동할 경우 단말의 정보에 대한 질의를 빠른 시간에 완료함으로써, 단말의 핸드 오버 시간을 줄일 수 있고, 확장성(scalability) 문제를 해결할 수 있다.The
이동성 제공 장치(10)는 계층 레벨 지정 기능을 통해 항목이 저장되는 계층보다 하위 계층에서 동작하는 단말이 이동하는 경우 단말 이동 정보에 대한 질의가 빠르게 이루어지도록 할 수 있다.The
이동성 제공 장치(10)는 호스트 정보를 담은 항목이 저장되는 계층 레벨을 지정함으로써 질의에 소요되는 오버레이 홉(overlay hop)의 수를 제한시켜 질의에 소요되는 시간을 단축시킬 수 있다. 오버레이 홉은 HDHT 상에서 노드들 간에 패킷이 전달되는 동작을 의미할 수 있다.The
이동성 제공 장치(10)는 HDHT에 저장된 단말과 관련된 정보를 이용하여 패킷 처리 기능을 수행할 수 있다. 이동성 제공 장치(10)는 패킷 처리 기능을 통해 단말이 서브 네트워크를 변경해도 해당 단말을 목적지로 한 패킷들을 올바른 위치로 전달할 수 있다.The
이동성 제공 장치(10)는 컨트롤러(100)를 포함할 수 있다.The
컨트롤러(100)는 HDHT를 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하고, 상기 항목을 이용하여 상기 단말의 핸드오버를 처리할 수 있다.The
컨트롤러(100)는 네트워크 접근 스위치 내부에 구현될 수 있고, 외부에 구현될 수도 있다. 예를 들어, HDHT를 구성하는 각각의 네트워크 접근 스위치는 컨트롤러를 포함할 수 있다.The
도 2는 도 1에 도시된 이동성 제공 장치를 이용한 이동성 지원 시스템의 예시를 나타낸다.Fig. 2 shows an example of a mobility support system using the mobility providing apparatus shown in Fig.
도 2를 참조하면, 기존의 단말 기반 이동성 지원 방법은 단말의 수정을 필요로 할 수 있다. 기존의 방식은 단말의 이동이 발생했을 때 신호 정보를 단말이 직접 보내도록 단말을 수정해야 하고, 삼각 라우팅(triangular routing)과 같은 성능 문제가 발생할 수 있다.Referring to FIG. 2, the existing terminal-based mobility support method may require modification of the terminal. In the conventional scheme, when the mobile station moves, it is necessary to modify the mobile station so that the mobile station directly transmits signal information, and performance problems such as triangular routing may occur.
이동성 제공 장치(10)는 단말을 수정하지 않고, 네트워크 만을 수정하는 네트워크 기반 방식으로 이동성을 제공할 수 있다. 이동성 제공 장치(10)는 분산 이동성 관리 방식을 사용하여 이동성을 제공할 수 있다.The
분산 이동성 관리 방식은 부분 분산 방식과 전체 분산 방식을 포함할 수 있다. 부분 분산 방식과 전체 분산 방식은 제어 면(control plane)의 분산 여부에 의해 구분할 수 있다.The distributed mobility management method may include a partial dispersion method and a full dispersion method. The partial dispersion method and the total dispersion method can be classified according to whether or not the control plane is dispersed.
이동성 제공 장치(10)는 HDHT를 제어 면으로 사용하여 전체 분산 방식에 포함될 수 있다.The
이동성 제공 장치(10)는 각 DHT를 같은 자율 시스템에 속한 네트워크 접근 스위치들로 구성하여 DHT 안에서 발생하는 질의를 빠른 시간에 완료할 수 있다.The
이동성 제공 장치(10)는 DHT를 계층적으로 구성하고 항목이 저장되는 레벨을 지정함으로써 질의에 소요되는 오버레이 홉의 수를 제한시킬 수 있다. 이를 통해, 이동성 제공 장치(10)는 기존의 평면 DHT의 질의 시간 문제와 기존 계층 DHT의 확장성 문제를 개선할 수 있다. 또한, 이동성 제공 장치(10)는 항목의 계층 레벨보다 하위 계층에서 동작하는 DHT에서 발생하는 질의를 빠른 시간 안에 완료할 수 있다.The
이동성 제공 장치(10)는 HDHT를 제어 면에 사용하기 때문에 완전 분산 이동성 관리 방식을 지원할 수 있다. 따라서, 이동성 제공 장치(10)는 특정 네트워크 장비에 집중되는 트래픽을 분산시킬 수 있어 기존 중앙 집중 방식의 문제점인 단일 점 고장 문제와 확장성 문제를 해결할 수 있다.Since the
이동성 제공 장치(10)는 계층적 구조를 가지고 있기 때문에 기존 네트워크의 말단부터 점진적으로 적용시켜 나갈 수 있다. 따라서, 이동성 제공 장치(10)는 기존 네트워크 시스템과 호환성을 가질 수 있다.Since the
네트워크 사업자 및 네트워크 장비 사업자는 제안하는 시스템을 네트워크의 말단부터 점차적으로 적용시켜 나갈 수 있기 때문에 네트워크 장비 간 상호 호환성을 높일 수 있다. 또한, 사업자는 이동성 제공 장치(10)를 구현함으로써 단말에 대한 이동성을 지원할 수 있으며 이를 통해 사용자에게 좀 더 향상된 사용자 경험을 제공할 수 있다.Network operators and network equipment operators can gradually apply the proposed system from the end of the network, thereby enhancing interoperability between network equipment. In addition, the provider can support mobility for the terminal by implementing the
도 3은 도 1에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.Figure 3 shows a schematic block diagram of the controller shown in Figure 1;
도 3을 참조하면, 컨트롤러(100)는 HDHT 생성기, 항목 등록기, 핸드오버 처리기 및 패킷 전송기를 포함할 수 있다.Referring to FIG. 3, the
HDHT 생성기(110)는 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 복수의 계층을 포함하는 HDHT를 생성할 수 있다.The
HDHT 생성기(110)는 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하고, 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성할 수 있다.The
항목 등록기(entry registrator, 130)는 HDHT를 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 단말과 관련된 항목(entry)을 등록할 수 있다.An
항목 등록기(130)는 단말의 이동성을 제공하기 위한 정보를 포함한 항목을 HDHT에 등록할 수 있다.The
핸드 오버 처리기(150)는 항목을 이용하여 단말의 핸드오버를 처리할 수 있다.The
핸드 오버 처리기(150)는 단말의 이동에 따라 단말에 새로운 IP(Internet Protocol) 주소를 할당하고, 단말에 대한 항목 키 값을 생성하여 상기 HDHT에 질의할 수 있다. 핸드 오버 처리기(150)는 질의 결과에 기초하여 HDHT에 항목을 업데이트할 수 있다.The
패킷 전송기(170)는 HDHT를 통해 단말에 패킷을 전송할 수 있다. The
패킷 전송기(170)는 패킷을 수신한 네트워크 접근 스위치에서 단말의 항목 키 값을 생성하고, 패킷에 옵션 헤더가 존재하는지 여부를 판단할 수 있다.The
패킷 전송기(170)는 판단의 결과 및 항목 키 값에 기초하여 단말이 연결된 네트워크 스위치로 패킷을 포워딩할 수 있다.The
패킷 전송기(170)는 패킷에 옵션 헤더가 존재하지 않고 패킷을 수신한 네트워크 접근 스위치가 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 패킷을 포워딩하고 HDHT에 상기 항목에 관하여 질의할 수 있다.
패킷 전송기(170)는 패킷에 상기 옵션 헤더가 존재하지 않고 패킷을 수신한 네트워크 접근 스위치가 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 패킷의 목적지를 단말이 연결된 네트워크 스위치로 수정하고, 옵션 헤더에 새로운 항목 키 값을 추가할 수 있다.The
패킷 전송기(170)는 패킷에 옵션 헤더가 존재하고 패킷을 수신한 네트워크 접근 스위치가 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 패킷을 버릴 수 있다.
패킷 전송기(170)는 패킷에 옵션 헤더가 존재하고 패킷을 수신한 네트워크 접근 스위치가 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 패킷의 목적지를 단말로 복원하고 옵션 헤더를 제거하여 단말로 패킷을 포워딩할 수 있다.The
도 4는 도 3에 도시된 항목 등록기의 개략적인 블록도를 나타낸다.Figure 4 shows a schematic block diagram of the item register shown in Figure 3;
도 4를 참조하면, 항목 등록기(130)는 키 생성기(key generator, 131), 질의기(querier, 133) 및 항목 업데이터(entry updater, 135)를 포함할 수 있다.4, the
키 생성기(131)는 단말과 관련된 항목의 키(key) 값을 생성할 수 있다. 키 생성기(131)는 해시 함수를 사용하여 키를 생성할 수 있다. 예를 들어, 키 생성기(131)는 MD5, SHA 계열의 해시 함수를 사용하여 키를 생성할 수 있다.The
키 생성기(131)는 단말로부터 유도된 정보를 이용하여 단말의 정보를 저장하기 위해 사용되는 항목의 키를 생성할 수 있다. 키 생성기(131)는 단말의 IP주소, 임의의 문자열 또는 평면 이름 공간을 사용하여 항목의 키를 생성할 수 있다. 평면 이름 공간은 해시 함수의 결과를 포함할 수 있다. 예를 들어, 키 생성기(131)는 단말의 IP 주소에 해시 함수를 적용하거나, GUID(Globally Unique Identifiers)를 이용하여 항목의 키를 생성할 수 있다.The
질의기(133)는 HDHT에 키 값을 질의할 수 있다.
질의기(133)가 항목에 대한 질의를 전달하는 과정은 항목 업데이터(135)가 항목을 등록할 때와 동일할 수 있다.The process in which the
질의기(133)는 질의를 보내는 위치 정보를 알고자 하는 단말의 IP주소를 기반으로 원하는 항목의 키 값을 계산할 수 있다. 질의기(133)는 라우팅 테이블에 저장된 네트워크 접근 스위치들의 노드 ID와 키 값으로 논리적 거리 연산을 통해 항목을 저장하고 있는 네트워크 접근 스위치를 결정할 수 있다. 질의기(133)는 질의 메시지를 받은 네트워크 접근 스위치가 항목을 저장하고 있는지 확인할 수 있다.The
만약, 항목이 저장되어 있다면 질의기(133)는 이를 곧바로 질의를 보낸 네트워크 접근 스위치에게 반환할 수 있다. 이 경우 질의에 소요된 오버레이 홉(Overlay Hop)의 수는 1로 나타낼 수 있다. 질의기(133)는 질의를 받은 네트워크 접근 스위치가 항목을 저장하고 있지 않은 경우에는 질의를 루트 노드에게 전달할 수 있다.If the item is stored, the
질의를 전달받은 루트 노드는 상위 DHT의 라우팅 테이블도 가지고 있을 수 있다. 질의기(133)는 이 라우팅 테이블을 이용하여 상위 DHT에 참여하고 있는 네트워크 접근 스위치 중 항목 저장하고 있는 네트워크 접근 스위치에게 질의를 보낼 수 있다. 이 과정은 최상위 DHT까지 질의가 전달될 때까지 반복될 수 있다.The root node that receives the query may also have the routing table of the upper DHT. The
최상위 DHT 노드가 질의를 전달받은 경우에 질의기(133)는 질의 메시지의 전달 방향을 아래 계층을 향하는 방향으로 변경할 수 있다. 중간에 항목이 발견되면 해당 네트워크 접근 스위치는 곧바로 항목 질의한 네트워크 접근 스위치에게 항목에 관한 정보를 반환할 수 있다.When the highest DHT node receives a query, the
질의 진행방향은 항상 상위 계층 방향으로 시작되며 최상위 DHT를 거친 후에 아래 방향으로 변경될 수 있다. 질의가 전달될 때마다 오버레이 홉의 수가 1씩 증가할 수 있다. 질의에 소요될 수 있는 최대 오버레이 홉의 수는 HDHT 레벨이 1, 2, 3일 때 각각 5, 6,7 일 수 있다.The query direction always starts in the upper hierarchy direction and can be changed in the downward direction after passing through the uppermost DHT. The number of overlay hops can be increased by one each time a query is delivered. The maximum number of overlay hops that can be spent in a query can be 5, 6, or 7 when the HDHT level is 1, 2, or 3, respectively.
항목 업데이터(135)는 질의 결과에 기초하여 HDHT에 항목을 업데이트할 수 있다.The
항목 업데이터(135)는 항목에 항목이 저장될 계층을 명시(specify)하고, 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신할 수 있다. 항목 업데이터(135)는 HDHT에 항목에 대한 등록을 요청할 수 있다.The
항목 업데이터(135)는 최하위 계층의 DHT에 항목을 저장하고, 등록 요청을 최하위 계층으로부터 최상위 계층까지 순차적으로 전달하면서 명시된 계층에 등록 요청이 도달하면 명시된 계층의 DHT에 항목을 저장할 수 있다.The
항목 업데이터(135)는 등록 요청이 최상위 계층에 도달한 경우에, 논리적 거리 연산을 통해 최상위 계층의 DHT 노드에 항목을 저장할 수 있다.The
항목 업데이터(135)는 등록 요청을 최상위 계층으로부터 명시된 계층까지 순차적으로 전달하면서 명시된 계층에 도달하면 명시된 계층의 DHT에 항목을 저장할 수 있다.The
항목 업데이터(135)는 항목의 키 값을 이용하여 논리적 거리 연산을 수행하고, 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 항목을 저장할 수 있다.The
항목 업데이터(135)는 항목의 키 값과 DHT 라우팅 테이블에 저장된 노드 식별자 간에 논리적 거리 연산을 수행하여, 연산 값이 가장 작은 네트워크 스위치를 항목을 책임지는 네트워크 접근 스위치로 결정하여 항목을 저장할 수 있다. 예를 들어, 항목 업데이터(135)는 노드 식별자로 네트워크 접근 스위치의 IP를 사용할 수 있다.The
도 5는 계층 분산 해시 테이블의 구조의 예시를 나타낸다.5 shows an example of the structure of the hierarchical distributed hash table.
기존의 DHT에서는 참여한 노드들 간에 항목을 분산시켜서 저장할 수 있다. DHT에 참여한 노드들은 임의의 식별자를 가지며, 항목의 키 값은 해시 함수를 이용하여 생성될 수 있다. DHT에 참여한 노드가 원하는 항목의 키 값에 관하여 질의를 보내면 질의는 항목을 책임지는(또는 저장하고 있는) 노드에게 전달될 수 있다.In the existing DHT, items can be distributed and stored among participating nodes. The nodes participating in the DHT have an arbitrary identifier, and the key value of the item can be generated using a hash function. When a node participating in the DHT sends a query about the key value of the desired item, the query can be delivered to the node responsible for (or storing) the item.
기존의 DHT를 이용한 이동성 제공 방법은 노드들에게 식별자를 할당할 때 물리적인 거리를 고려하지 않고 평면 이름 공간(flat namespace)에서 임의의 값을 할당할 수 있다. 따라서, 식별자 간에 논리적 거리 연산 값이 작다고 하더라도 실제 물리적 거리는 굉장히 클 수 있다.In the conventional method of providing mobility using the DHT, an arbitrary value can be allocated in the flat namespace without considering the physical distance when allocating an identifier to the nodes. Therefore, even if the logical distance calculation value is small among the identifiers, the actual physical distance may be extremely large.
이러한 이유로 물리적으로 가까운 곳에 원하는 항목이 있어도 질의가 먼 곳을 들르면서 전달될 수 있어 질의 시간이 오래 걸릴 수 있다. 평면 DHT에 참여하는 노드들이 세계적으로 분산되는 경우, 질의 시간의 증가는 더욱 커질 수 있다.For this reason, even if there are items that are physically close to each other, it can take long time to inquire, because it can be transmitted when a query is distant. If the nodes participating in the planar DHT are distributed globally, the increase in query time can be even greater.
이동성 제공 장치(10)는 DHT를 계층 적으로 구성하여 질의 시간을 단축시킬 수 있다. 또한, 이동성 제공 장치(10)는 항목이 저장되는 계층을 지정함으로써 확장성 문제를 해결할 수 있다.The
도 5의 HDHT는 계층이 3 레벨인 경우를 도시한 것이다. HDHT 생성기(110)는 계층 레벨을 네트워크의 크기에 따라 조절 가능할 수 있다. HDHT 생성기(110)는 네트워크의 크기가 더 커지는 경우 계층 레벨을 늘릴 수 있으며, 네트워크 크기가 작아지는 경우 레벨을 줄일 수 있다.The HDHT of FIG. 5 shows a case where the layer is at three levels. The
HDHT 생성기(110)는 DHT를 계층 적으로 구성할 때, 물리적으로 가까운 네트워크 접근 스위치들을 이용하여 최하위 DHT를 구성할 수 있다. HDHT 생성기(110)는 물리적 거리가 가까운 네트워크 접근 스위치들로 최하위 DHT를 구성함으로써, 질의기(133)는 최하위 DHT에 대한 질의를 매우 짧은 시간에 완료할 수 있다.When the
도 5에서와 같이 HDHT에 참여하고 있는 복수의 DHT는 와 같이 나타낼 수 있다. 위 첨자 i는 DHT의 계층 레벨을 나타내고, 아래 첨자 j는 DHT의 식별자를 나타낼 수 있다. 도 5에서는 편의를 위해 연속된 숫자를 이용하여 식별자를 나타내었지만, 실제 DHT의 식별자는 임의의 숫자로 정의될 수 있다.As shown in FIG. 5, a plurality of DHTs participating in HDHT As shown in Fig. The superscript i represents the hierarchical level of the DHT, and the subscript j represents the identifier of the DHT. In FIG. 5, the identifiers are shown using consecutive numbers for the sake of convenience. However, the identifier of the actual DHT can be defined as any number.
항목 업데이터(135)는 네트워크 접근 스위치가 속한 최하위 DHT에 항상 항목을 저장할 수 있다. 항목 업데이터(135)는 항목 등록을 요청하는 네트워크 접근 스위치의 요청에 따라, 항목 등록을 요청하는 네트워크 스위치가 속한 최하위 DHT 안에서 항목을 책임지는 네트워크 접근 스위치를 결정할 수 있다.The
항목 업데이터(135)는 항목을 책임지는 네트워크 접근 스위치에 등록 메시지를 보낼 수 있다. 항목 업데이터(135)는 메시지를 수신한 네트워크 접근 스위치의 저장 공간에 항목을 저장할 수 있다.The
항목 업데이터(135)는 등록 요청을 상위 DHT에 전달할 수 있다. 항목 업데이터(135)는 등록 요청을 상위 계층으로 전달하면서 항목을 저장하도록 명시된 계층에 도달하면 항목을 저장할 수 있다.The
항목 업데이터(135)는 등록 요청이 최상위 DHT에 도달하면 논리적 거리 연산을 통해 항목을 저장할 다른 최상위 DHT 노드를 결정하고 등록 요청의 전달 방향을 아래 방향(하위 계층 방향)으로 바꿀 수 있다.The
항목 업데이터(135)는 등록 요청을 하위 계층으로 전달하면서 계층 레벨과 항목을 저장하도록 명시된 계층에 도달한 경우 항목을 저장할 수 있다. 명시된 계층과 다른 계층에 도달한 경우에는 등록 메시지를 하위 계층으로 전달할 수 있다.The
항목 업데이터(135)는 상술한 과정을 통해 항목을 처음 등록하고, 갱신할 수 있다.The
예를 들어, 도 5의 항목 A, B, C는 각각 에서 저장할 계층 레벨을 1, 2, 3으로 지정하여 등록 요청한 경우를 나타낼 수 있다. 항목 업데이터(135)는 모든 항목을 제일 먼저 요청이 시작된 에 저장한 후 최상위 DHT로 순차적으로 전달할 수 있다.For example, items A, B, and C in FIG. 5 are 2, and 3 in the hierarchical level to be stored. The
항목 업데이터(135)는 최상위 DHT에 전달되는 과정에서 항목에 명시된 계층 레벨과 등록 요청을 받은 네트워크 접근 스위치가 참여하고 있는 DHT 계층이 같은 경우에 항목을 저장할 수 있다. 항목 업데이터(135)는 최상위 계층의 DHT를 지나면서 전달 방향을 아래 방향으로 바꾸고 최하위 DHT로 순차적으로 등록 요청을 전달하면서 항목을 저장하는 동작을 한번 더 수행한다.The
항목 업데이터(135)는 항목에 명시된 계층이 1인 경우를 제외하면 최상위 DHT에 항목을 저장하지 않으므로, 최상위 DHT가 모든 항목을 저장하지 않을 수 있다. 이러한 방식으로 이동성 제공 장치(10)는 확장성(scalability) 문제를 해결할 수 있다.The
질의기(133)가 항목에 관하여 질의를 하는 과정은 항목을 등록하는 과정과 동일할 수 있다. 질의가 전달될 때마다 오버레이 홉의 수가 1씩 증가할 수 있다. 항목이 상위 계층에 저장될수록 질의기(133)가 질의에 소요할 수 있는 최대 오버레이 홉 수의 평균이 작아지기 때문에 질의를 빠르게 지원할 수 있다.The process in which the
항목이 저장되는 계층과 이를 질의하는 네트워크 접근 스위치의 위치에 따라 질의에 소요되는 오버레이 홉의 수와 지연시간이 크게 달라질 수 있다.The number of overlay hops required for the query and the delay time can be greatly changed according to the location of the network access switch for querying the hierarchy in which the items are stored.
예를 들어, 항목 C에 대하여 질의하는 경우 항목 C와 같은 계층인 에 속한 네트워크 접근 스위치들은 자신이 속한 DHT에 항목이 있기 때문에 질의를 빠르게 마칠 수 있다. 따라서, 질의에 소요되는 시간이 매우 짧을 수 있다.For example, if you are querying on item C, The network access switches belonging to the DHT can terminate the query quickly because there are items in their DHT. Therefore, the time required for the query can be very short.
그러나 에 참여하고 있는 네트워크 스위치가 항목 C에 관하여 질의하는 경우 질의가 최상의 DHT를 거쳐서 다른 지역의 최하위 DHT까지 전달될 수 있다. 이 경우 원하는 항목이 물리적으로 가까운 곳에 위치함에도 불구하고 질의가 최상위 DHT를 거치기 때문에 비효율적일 수 있다.But The query can be delivered via the best DHT to the lowest DHT in the other region. In this case, the query may be inefficient because it goes through the highest DHT, even though the desired item is physically close.
만약 항목 업데이터(135)가 항목 C가 저장될 계층을 2로 명시하였다면 질의기(133)가 에서 질의를 시작하더라도 에 항목이 저장되기 때문에 훨씬 빠른 시간 안에 원하는 항목에 관하여 질의를 완료할 수 있다.If the
따라서, 항목 등록기(130)는 항목을 HDHT에 등록할 때, 항목을 질의할 가능성이 높은 네트워크 접근 스위치들의 위치를 고려하여 항목이 저장될 계층을 결정할 수 있다. 이러한 특성을 이용하면 이동성 제공 장치(10)가 단말의 이동성을 지원하기 위해 소요하는 질의 시간을 획기적으로 줄일 수 있다.Accordingly, when registering the item in the HDHT, the
도 6은 DHT 라우팅 테이블의 예시를 나타낸다.6 shows an example of a DHT routing table.
이동성 제공 장치(10)는 HDHT를 원 홉(One Hop) DHT로 구성할 수 있다. 원 홉 DHT에서는 각 네트워크 스위치가 같은 DHT에 참여하고 있는 모든 네트워크 접근 스위치에 대한 정보가 담겨있는 DHT 라우팅 테이블을 유지할 수 있다. The
항목 업데이터(135)는 라우팅 테이블을 이용하여 원하는 항목을 가지고 있는 네트워크 접근 스위치를 한 번에 결정할 수 있다.The
HDHT는 루트 노드를 포함할 수 있다. 루트 노드는 DHT에 최초로 참여하는 노드이며, 상위 레벨 DHT와 하위 레벨 DHT간 등록 및 질의 메시지를 전달하는 역할을 수행할 수 있다. 또한, 루트 노드는 DHT에 참여하고 있는 네트워크 접근 스위치들에 대한 최신 라우팅 테이블을 전파하는 역할을 수행할 수 있다. 루트 노드가 관리하는 DHT 라우팅 테이블은 도 6과 같이 구성될 수 있다.The HDHT may include a root node. The root node is the first node participating in the DHT, and can perform the registration and query message transmission between the high level DHT and the low level DHT. In addition, the root node may be responsible for propagating the latest routing table for the network access switches participating in the DHT. The DHT routing table managed by the root node can be configured as shown in FIG.
DHT 라우팅 테이블은 같은 DHT에 참여하고 있는 모든 네트워크 접근 스위치들의 노드 ID, IP주소 및 포트번호를 포함할 수 있다. 예를 들어, HDHT는 해시 함수 결과 값이 32 byte 길이를 갖는 SHA-256 해시 함수를 사용하는 경우, 네트워크 접근 스위치가 HDHT에 참여할 때 노드 ID는 32 byte 길이의 임의의 값으로 배정될 수 있다.The DHT routing table may include the node ID, IP address, and port number of all network access switches participating in the same DHT. For example, if the hash function results in the HDHT using a SHA-256 hash function with a length of 32 bytes, the node ID can be assigned any value of 32 bytes in length when the network access switch participates in the HDHT.
해시 함수는 필요에 따라 다른 해시 함수로 대체될 수 있다. 같은 DHT에 참여하는 모든 네트워크 접근 스위치는 동일한 DHT 라우팅 테이블을 가질 수 있다.The hash function can be replaced with another hash function as needed. All network access switches participating in the same DHT can have the same DHT routing table.
이를 위해 새로운 네트워크 접근 스위치가 DHT에 참여할 때 루트 노드에게 부트스트랩(bootstrap) 메시지를 보내면, 루트 노드는 해당 노드의 정보를 라우팅 테이블에 추가하고 이를 기존에 참여하고 있던 네트워크 접근 스위치들에게 전파할 수 있다. To this end, when a new network access switch sends a bootstrap message to the root node when it participates in the DHT, the root node adds the node's information to the routing table and propagates it to the participating network access switches have.
DHT에 참여하고 있던 네트워크 접근 스위치가 떠나는 경우에도 루트 노드가 해당 사실을 다른 노드들에게 전파할 수 있다.Even when the network access switch participating in the DHT leaves, the root node can propagate the fact to other nodes.
항목 업데이터(135)는 XOR 연산을 이용하여 항목을 저장할 네트워크 접근 스위치를 결정할 수 있다. 예를 들어 네트워크 접근 스위치가 가지고 있는 IP 주소가 “10.16.0.200”인 단말의 정보를 필요로 하는 상황인 경우에, 단말의 IP 주소에 해시함수를 적용한 값을 HDHT의 항목 키 값으로 사용할 수 있다.The
이 때, 키 생성기(131)는“10.16.0.200”이라는 문자열에 SHA-256 해시 함수를 적용하여 항목 키 값을 생성할 수 있다. 예를 들어, 단말의 IP 주소에 SHA-256 해시 함수를 적용시킨 결과 값은 0x4F9F570BE4F8일 수 있다.At this time, the
항목 업데이터(135)는 해시 함수를 적용시킨 결과 값을 이용하여 라우팅 테이블에 저장된 모든 노드 ID들과 XOR 연산을 수행할 수 있다.The
도 6의 각 노드 ID와 XOR 연산을 수행한 결과 값은 각각 0x0E102D5412BA, 0x03A899E92F2C, 0x178BB5DA23C3, 0x55CECFD0B6E6 일 수 있다. 이 중 두 번째 결과 값이 가장 작기 때문에 항목 업데이터(135)는 단말의 항목을 두 번째 네트워크 접근 스위치에 저장할 수 있다.The result of performing the XOR operation with each node ID in FIG. 6 may be 0x0E102D5412BA, 0x03A899E92F2C, 0x178BB5DA23C3, 0x55CECFD0B6E6. Since the second result value is the smallest, the
항목 업데이터(135)논리적 거리 연산 값이 가장 작은 노드가 해당 항목을 저장하기 때문에 단일 오버레이 홉 만으로 등록 및 질의 메시지를 전달할 수 있다. Item Updater (135) Since the node having the smallest logical distance operation value stores the item, the registration and inquiry message can be transmitted with only a single overlay hop.
도 7은 계층 분산 해시 테이블에 항목을 등록하는 동작에 대한 의사 코드의 예시를 나타낸다.FIG. 7 shows an example of a pseudo code for an operation of registering an item in a hierarchical distributed hash table.
도 7을 참조하면, 항목 업데이터(135)는 등록을 요청하는 네트워크 접근 스위치가 속한 최하위 DHT에는 항상 항목을 저장할 수 있다. 항목 업데이터(135)는 항목의 등록을 요청하는 네트워크 접근 스위치가 속한 최하위 DHT의 라우팅 테이블을 이용하여 이 항목을 저장할 네트워크 접근 스위치를 결정(①)하고 해당 네트워크 접근 스위치에게 항목을 등록하는 메시지를 보낼 수 있다(②). Referring to FIG. 7, the
메시지를 받은 네트워크 접근 스위치는 항목을 자신의 스토리지(Storage)에 등록할 수 있다(③). 항목 업데이터(135)는 추가적으로 항목 등록을 요청하는 네트워크 접근 스위치가 항목이 상위 DHT로 전달될 수 있도록 요청하는 메시지를 루트 노드에게도 전송할 수 있다(④). 루트 노드에 대한 정보는 네트워크 접근 스위치가 DHT에 참여할 때부터 유지될 수 있다. 루트 노드는 상위 DHT의 라우팅 테이블도 가지고 있기 때문에 자신에게 온 요청을 상위 DHT에 전달 할 수 있다(⑤).The network access switch that receives the message can register the item in its own storage (③). The
항목 업데이터(135)는 등록 요청은 상위 DHT로 계속 전달(⑥)하며 전달되는 과정 중 명시된 계층을 거치는 경우 항목을 저장할 수 있다(⑦).The
등록 요청 메시지가 최상위 DHT에 도달하면 항목 업데이터(135)는 논리적 거리 연산을 통해 항목을 저장할 다른 최상위 DHT 노드를 결정하고 전달 방향을 아래 방향으로 바꿀 수 있다(⑧).When the registration request message reaches the top DHT, the
항목 업데이터(135)는 전달 방향이 바뀐 항목 등록 메시지를 받은 네트워크 접근 스위치에 자신이 참여하고 있는 DHT 계층 레벨과 명시된 계층 레벨이 같은 경우 항목을 저장할 수 있다(⑨). 계층 레벨이 다른 경우에 항목 업데이터(135)는 등록 메시지를 아래 계층으로 전달할 수 있다(⑩). The
항목 업데이터(135)는 항목의 내용을 갱신하는 경우 역시 등록 과정과 같은 방법으로 항목 갱신 메시지를 전달할 수 있다.If the
도 8은 계층 분산 해시 테이블 항목의 예시를 나타낸다.8 shows an example of a hierarchical distributed hash table entry.
도 8을 참조하면, 통상적인 AR(Access Router)은 자신에게 접속된 호스트들에게 IP주소를 할당하고 통신이 이루어질 수 있도록 디폴트 게이트웨이 역할을 수행할 수 있다. 또한, 자신에게 단말이 네트워크 접속을 요청할 때 인증을 통해 IP 주소를 할당할 수 있다. 이동성 제공 장치(10)는 단말이 다른 서브 네트워크로 이동하더라도 DHCP(Dynamic Host Configuration Protocol)를 통해 단말의 IP주소를 유지시킬 수 있다.Referring to FIG. 8, a typical Access Router (AR) can assign an IP address to hosts connected to it and perform a default gateway so that communication can be performed. In addition, when the terminal requests a network connection to itself, it can assign an IP address through authentication. The
키 생성기(131)는 인증 절차를 마치고 호스트에게 할당해준 IP주소에 해시 함수를 적용시켜 항목의 키 값을 생성할 수 있다. 질의기(133)는 키 값으로 HDHT에 질의를 보냄으로써 단말의 정보가 HDHT에 저장되어 있는지 확인할 수 있다. 항목이 있는 경우 호스트가 이 네트워크에 기존에 접속한 적이 있다는 것을 의미하며, 이 경우에는 항목 업데이터(135)는 단말의 이동성 정보를 항목에 갱신할 수 있다.The
만약, 저장된 항목이 없다면 해당 호스트가 네트워크에 처음 접속하는 것이므로 항목 업데이터(135)는 단말의 위치정보를 담은 HDHT 항목을 새롭게 생성해서 삽입할 수 있다. 예를 들어, 항목의 내용은 도 8과 같이 항목의 키 값, 단말의 현재 IP주소, 목적지 노드가 현재 연결되어 있는 네트워크 접근 스위치의 IP주소, 이를 캐싱하고 있는 네트워크 접근 스위치들의 목록으로 구성될 수 있다.If there is no stored item, since the host first accesses the network, the
도 9는 네트워크 접근 스위치가 단말과 관련된 항목을 업데이트 하는 동작에 대한 의사 코드의 예시를 나타내고, 도 10은 네트워크 접근 스위치가 캐시에 저장된 항목을 갱신하는 동작에 대한 의사 코드의 예시를 나타낸다.Figure 9 shows an example of a pseudo code for an operation in which a network access switch updates an entry associated with a terminal, and Figure 10 shows an example of a pseudo code for an operation in which a network access switch updates an item stored in the cache.
도 9를 참조하면, 항목 업데이터(131)는 네트워크 접근 스위치가 보유한 단말의 위치 정보를 새롭게 등록 또는 갱신할 수 있다. 항목 업데이터(131)는 단말의 IP주소를 기반으로 항목의 키 값을 생성할 수 있다(①). 항목 업데이터(131) 항목의 키 값을 이용하여 질의를 보내 항목이 등록된 적이 있는지 확인할 수 있다(②).Referring to FIG. 9, the
항목 업데이터(131)는 해당 항목이 없는 경우에는 새로운 항목을 생성한 후, 단말IP 항목에는 현재 연결된 단말의 IP주소를 기록하고 항목이 저장될 레벨을 명시할 수 있다(③). 항목 업데이터(131)가 항목을 저장하는 계층 레벨의 기본 값은 3이며, 이는 추후에 수정이 가능할 수 있다.If there is no corresponding item, the
항목 업데이터(131)는 네트워크 접근 스위치 IP 항목을 단말이 연결된 네트워크 접근 스위치 IP주소로 교체할 수 있다(④). 항목 업데이터(131)는 네트워크 접근 스위치 목록에 자신을 추가시킬 수 있다(⑤). 항목 업데이터(131)는 생성 혹은 수정된 항목 정보를 HDHT에 등록 요청할 수 있다(⑥). 이 때, 항목 업데이터(131)는 항목이 삽입되는 계층의 레벨을 반드시 명시해야 한다. 각 노드는 DHT에 참여할 때 자신의 계층 레벨을 알고 있을 수 있다.The
도 9의 의사코드의 예시에서, 항목 업데이터(131)는 기존의 계층 레벨 그대로 항목을 갱신할 수 있다. 항목 업데이터(131) 항목 정보를 단말이 연결된 네트워크 스위치의 캐시에 저장한 후(⑦) 해당 항목을 캐싱하고 있던 네트워크 스위치들에게 캐시를 업데이트하도록 메시지를 보낼 수 있다(⑧).In the example of the pseudocode of Fig. 9, the
캐시 업데이트 메시지를 받은 네트워크 스위치들은 자신의 캐시에 해당 키에 매칭되는 항목이 있는지 확인한다. 항목 업데이터(131)는 매칭되는 항목이 있는 경우 캐시 항목을 갱신할 수 있다. 캐시 항목을 개시하는 동작은 도 10의 의사코드의 예시와 같이 나타낼 수 있다.Network switches that receive the cache update message will check their cache for an entry matching that key. The
도 10을 참조하면, 항목 업데이터(131)는 A_new_MN_is_associated(), Cache_Update_Arrived() 두 함수를 통해 단말이 이동할 때마다 위치 정보를 HDHT에 저장하고, 이를 캐싱하고 있는 네트워크 접근 스위치들의 항목도 갱신할 수 있다.Referring to FIG. 10, the
도 11은 도 3에 도시된 패킷 전송기의 동작의 예시를 나타낸다.11 shows an example of the operation of the packet transmitter shown in Fig.
도 11을 참조하면, 패킷 전송기(170)는 단말의 이동성 지원을 위해 HDHT에 저장된 정보들을 이용하여 패킷 처리 기능을 수행할 수 있다. 패킷 전송기(170)는 네트워크 접근 스위치에게 패킷이 도착했을 때 항목의 키 값을 생성하고 캐싱된 항목이 있는지 확인할 수 있다.Referring to FIG. 11, the
패킷 전송기(170)는 패킷에 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 있는지 확인할 수 있다. 패킷 전송기(170)는 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 없는 경우 캐싱된 항목이 없으면 패킷을 바로 포워딩한 후 HDHT에 질의를 할 수 있다.
패킷 전송기(170)는 캐싱된 항목이 있는 경우에 패킷의 목적지 IP주소를 단말이 연결되어 있는 네트워크 접근 스위치의 IP주소로 수정하고 옵션헤더에 항목의 키 값을 추가한 후에 패킷을 포워딩 할 수 있다.The
반대로 네트워크 접근 스위치가 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 있는 패킷을 받은 경우에 패킷 전송기(170)는 캐싱된 항목이 없으면 해당 패킷을 곧바로 버릴 수 있다.Conversely, if the network access switch receives a packet with an optional header added by another network access switch, the
옵션헤더가 있는데 캐싱된 항목이 없다는 것은 단말이 해당 네트워크 접근 스위치에 접속한 적이 없다는 것을 의미할 수 있기 때문에, 패킷 전송기(170)는 패킷을 전송할 단말이 없다고 판단하여 패킷을 버릴 수 있다.Option header indicates that there is no cached entry, the
패킷 전송기(170)는 캐싱된 항목이 있는 경우 패킷의 목적지 IP주소를 단말의 IP주소로 복원하고 패킷의 옵션헤더를 제거한 후 포워딩할 수 있다. 이 경우 패킷은 단말에게 정상적으로 전달될 수 있다. The
패킷 전송기(170)는 단말이 다른 서브 네트워크로 이동하더라도 단말의 IP주소를 목적지로 한 패킷들은 단말이 새롭게 연결된 위치로 패킷을 전송할 수 있다.The
도 11의 예시에서, 이동 단말은 네트워크 접근 스위치 A에 연결되어 있고 상대 단말은 네트워크 접근 스위치 C에 연결될 수 있다. 상대 단말이 이동 단말에게 패킷을 보낼 때 패킷 전송기(170)는 네트워크 접근 스위치 C의 캐시 엔트리에 이동 단말의 정보가 저장되어 있는지 확인할 수 있다.In the example of FIG. 11, the mobile terminal may be connected to the network access switch A and the other terminal may be connected to the network access switch C. When the counterpart terminal sends a packet to the mobile terminal, the
캐시에 이동 단말의 정보가 있다면 패킷 전송기(170)는 패킷의 목적지 IP주소를 네트워크 접근 스위치 A의 IP주소로 수정하고, 옵션헤더에 항목의 키 값을 삽입할 수 있다.If there is information of the mobile terminal in the cache, the
이 패킷이 네트워크 접근 스위치 A에 도착하면, 패킷 전송기(170)는 목적지 IP주소를 이동 단말의 IP주소로 복원하고 옵션헤더를 제거 후 이동 단말에게 패킷을 전달할 수 있다.When this packet arrives at the network access switch A, the
도 12는 패킷을 전송하는 동작에 대한 의사 코드의 예시를 나타낸다.12 shows an example of a pseudo code for an operation of transmitting a packet.
도 12를 참조하면, 패킷 전송기(170)는 네트워크 접근 스위치에게 패킷이 도착했을 때 목적지 노드의 IP주소에 해시 함수를 적용하여 키값을 생성하고 네트워크 접근 스위치에게 캐싱된 항목이 있는지 확인할 수 있다(①, ②). 패킷 전송기(170)는 패킷에 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 있는지 확인할 수 있다(③). 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 없는 경우 패킷 전송기(170)는 ④, ⑤ 번 과정을 수행할 수 있다.Referring to FIG. 12, the
패킷 전송기(170)는 캐싱된 항목이 없는 경우 패킷을 바로 포워딩하며, HDHT에 질의를 보낼 수 있다(④). 목적지 노드에 대한 위치 정보가 캐싱되어 있으면 패킷 전송기(170)는 패킷의 목적지 IP주소를 목적지 노드가 연결되어 있는 네트워크 접근 스위치의 IP주소로 수정하고 옵션헤더에 항목의 키 값을 추가한 후에 패킷을 내보낼 수 있다(⑤).The
패킷 전송기(170)는 다른 네트워크 접근 스위치에 의해 추가된 옵션헤더가 있는 패킷을 받은 경우에 캐싱된 항목이 없으면 해당 패킷을 드롭(drop)할 수 있다(⑥). 패킷 전송기(170)는 캐싱된 항목이 있는 경우 패킷의 목적지 IP주소를 단말의 IP주소로 복원하고 패킷의 옵션헤더를 제거한 후 패킷을 포워딩할 수 있다(⑦). 이 경우 패킷은 단말에게 정상적으로 전달될 수 있다.If the
패킷 전송기(170)는 네트워크 접근 스위치를 통해 Packet_Processing() 함수를 수행하기 때문에 단말이 다른 네트워크 접근 스위치로 이동하더라도 단말의 IP주소를 목적지로 한 패킷들은 단말이 새롭게 연결된 네트워크 접근 스위치로 전달될 수 있다.Since the
패킷 전송기(170)는 단말이 연결된 네트워크 접근 스위치에 패킷들이 도착하면 목적지 IP주소를 다시 단말의 IP주소로 복원함으로써 패킷들이 정상적으로 단말에게 도착하도록 할 수 있다.The
예를 들어, 도 11처럼 이동 단말이 네트워크 접근 스위치 A에 연결되어 있고 상대 단말이 네트워크 접근 스위치 C에 연결될 수 있다. 상대 단말이 이동 단말에게 패킷을 보낼 때 패킷 전송기(170)는 네트워크 접근 스위치 C의 캐시 항목에 이동 단말의 정보가 저장되어 있는지 확인할 수 있다. 캐시에 이동 단말의 정보가 있다면 패킷 전송기(170)는 패킷의 목적지 IP주소를 네트워크 접근 스위치 A의 IP주소로 수정하고, 옵션헤더에 항목의 키 값을 삽입할 수 있다.For example, as shown in FIG. 11, a mobile terminal may be connected to a network access switch A and a counterpart terminal may be connected to a network access switch C. When the counterpart terminal sends a packet to the mobile terminal, the
이 패킷이 네트워크 접근 스위치 A에 도착하면, 패킷 전송기(170)는 목적지 IP주소를 이동 단말의 IP주소로 복원하고 옵션헤더를 제거 후 이동 단말에게 패킷을 전달할 수 있다.When this packet arrives at the network access switch A, the
도 13은 OVS 커널 모듈과 계층 분산 해시 테이블 간에 메시지를 전달 받는 동작의 예시를 나타낸다.13 shows an example of an operation of receiving a message between an OVS kernel module and a hierarchical distributed hash table.
도 13을 참조하면, 네트워크 접근 스위치는 MoE(Mobility of Everything)에서 동작하는 ES(Edge Switch )를 수정하여 구현될 수 있다. MoE의 ES는 OVS(Open vSwitch) 커널 모듈의 소스 코드를 수정하여 구현됐으며 OVS가 단말의 위치 정보를 등록하거나 알아내기 위해 Flat DHT와 연동하여 동작할 수 있다. 이동성 제공 장치(10)는 ES를 기반으로 HDHT와 연동되고 항목의 HDHT 레벨을 지정할 수 있는 네트워크 접근 스위치를 제공할 수 있다. OVS 커널 모듈과 HDHT 간 등록 및 질의 메시지는 소켓 IPC를 통해 전달될 수 있다.Referring to FIG. 13, the network access switch may be implemented by modifying an ES (Edge Switch) operating in a MoE (Mobility of Everything). MoE 's ES is implemented by modifying the source code of the OVS (Open vSwitch) kernel module, and OVS can work with Flat DHT to register or find the location information of the terminal. The
도 14는 도 3에 도시된 핸드오버 처리기의 동작의 예시를 나타낸다.14 shows an example of the operation of the handover processor shown in Fig.
도 14를 참조하면, 핸드오버 처리기(150)는 이동 단말이 새로운 네트워크 접근 스위치와 연결을 맺을 때 핸드오버를 지원할 수 있다.Referring to FIG. 14, the
핸드오버 처리기(150)는 새롭게 연결되는 네트워크 접근 스위치와 L2 association을 맺을 수 있다. 핸드오버 처리기(150)는 DHCP(Dynamic Host Configuration Protocol)를 통해 이동 단말에게 IP주소를 할당할 수 있다. The
핸드오버 처리기(150)는 이동 단말에 대한 항목의 키 값을 생성하고 항목을 질의할 수 있다. 핸드오버 처리기(150)는 기존 항목이 있는 경우 이를 갱신하고 없는 경우에는 새로운 항목을 등록할 수 있다.The
핸드오버 처리기(150)는 항목을 갱신한 경우에는 해당 항목을 캐싱하고 있는 네트워크 접근 스위치들에게 캐시 갱신 메시지를 보낼 수 있다. 캐시 갱신 메시지를 받은 네트워크 접근 스위치들은 자신의 캐시 항목을 업데이트할 수 있다.When the item is updated, the
핸드오버 처리기(150)는 이동 단말에 대한 항목을 캐싱하고 있던 네트워크 접근 스위치들의 항목이 갱신된 후 패킷들이 이동 단말의 새로운 위치로 전달될 때, 이동 단말의 통신을 복구할 수 있다.The
단말의 이동성을 지원하기 위해 발생하는 질의의 질의 시간은 항목의 계층 레벨에 따라 크게 달라질 수 있다. 상대 단말과 통신 중이던 이동 단말이 핸드오버를 하는 경우, 핸드오버 처리기(150)는 이동 단말이 네트워크 접근 스위치에 연결될 때 이동 단말의 위치 정보를 캐싱하고 있는 네트워크 스위치들의 목록을 HDHT에서 가져온 후 갱신 메시지를 전송할 수 있다.The query time of a query that occurs to support the mobility of the terminal can be greatly changed according to the hierarchical level of the item. When a mobile terminal that is in communication with a counterpart terminal performs a handover, the
캐시 갱신 작업이 이루어져야 이동 단말을 목적지로 하는 패킷들이 올바르게 이동 단말의 새로운 위치로 전달될 수 있다. 따라서 HDHT 질의 시간이 핸드오버 지연 시간에 큰 영향을 미칠 수 있다.The cache update operation must be performed before the packets with the mobile terminal as the destination can be correctly transferred to the new location of the mobile terminal. Therefore, the HDHT query time can greatly affect the handover delay time.
질의 시간을 줄이기 위해서 항목 등록기(130)는 이동 단말의 이동범위를 고려하여 항목이 저장되는 계층 레벨을 결정할 수 있다. 항목이 저장되는 계층 레벨을 이동 단말의 이동범위에 맞도록 지정하면 이동 단말이 이동했을 때 발생하는 대부분의 질의가 빠른 시간 안에 이루어지도록 만들 수 있다. 이를 통해 이동 단말의 핸드오버에 소요되는 시간을 크게 감소시킬 수 있다.In order to reduce the query time, the
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, controller, arithmetic logic unit (ALU), digital signal processor, microcomputer, field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing apparatus may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (21)
상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 단계
를 포함하고,
상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성되는
이동성(mobility) 제공 방법.
Registering an entry related to the terminal in a layer designated by a network access switch to which a terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT); And
Processing the handover of the terminal using the item
Lt; / RTI >
Wherein the hierarchical distributed hash table comprises a plurality of layers based on a physical distance between the network access switches
A method for providing mobility.
상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 단계;
를 더 포함하고,
상기 생성하는 단계는,
상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하는 단계; 및
상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성하는 단계
를 포함하는 이동성 제공 방법.
The method according to claim 1,
Generating the hierarchical distributed hash table including the plurality of layers based on a physical distance between the network access switches;
Further comprising:
Wherein the generating comprises:
Creating a plurality of lowest layers comprising network access switches physically close to the network access switches; And
Hierarchically creating upper layers comprised of the plurality of lowest layers
Lt; / RTI >
상기 등록하는 단계는,
상기 단말과 관련된 항목의 키(key) 값을 생성하는 단계;
상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 단계; 및
질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계
를 포함하는 이동성 제공 방법.
The method according to claim 1,
Wherein the registering step comprises:
Generating a key value of an item associated with the terminal;
Querying the hierarchical distributed hash table for the key value; And
And updating the item in the hierarchical distributed hash table based on the query result
Lt; / RTI >
상기 업데이트하는 단계는,
상기 항목에 상기 항목이 저장될 계층을 명시(specify)하는 단계;
상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하는 단계; 및
상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청하는 단계
를 포함하는 이동성 제공 방법.
The method of claim 3,
Wherein the updating comprises:
Specifying a layer in which the item is to be stored in the item;
Updating a network access switch list and an IP (Internet Protocol) address of the item; And
Requesting registration of the item in the hierarchical distributed hash table
Lt; / RTI >
상기 요청하는 단계는,
최하위 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계;
상기 등록 요청을 상기 최하위 계층으로부터 최상위 계층까지 순차적으로 전달하면서 명시된 계층에 상기 등록 요청이 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계;
상기 등록 요청이 상기 최상위 계층에 도달한 경우에, 논리적 거리 연산을 통해 상기 최상위 계층의 분산 해시 테이블 노드에 항목을 저장하는 단계; 및
상기 등록 요청을 상기 최상위 계층으로부터 상기 명시된 계층까지 순차적으로 전달하면서 상기 명시된 계층에 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하는 단계
를 포함하는 이동성 제공 방법.
5. The method of claim 4,
Wherein the requesting step comprises:
Storing the item in a distributed hash table of the lowest layer;
Storing the item in a distributed hash table of the specified hierarchy when the registration request reaches the specified hierarchy while sequentially transmitting the registration request from the lowest hierarchical layer to the highest hierarchical layer;
Storing an item in a distributed hash table node of the highest hierarchical layer through a logical distance operation when the registration request reaches the highest hierarchical layer; And
Storing the item in the distributed hash table of the specified hierarchy when the specified request arrives at the specified hierarchy while sequentially transmitting the registration request from the highest layer to the specified layer
Lt; / RTI >
상기 저장하는 단계 각각은,
상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하는 단계; 및
상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장하는 단계
를 포함하는 이동성 제공 방법.
6. The method of claim 5,
Wherein each of the storing steps comprises:
Performing a logical distance operation using a key value of the item; And
Storing the item in a network access switch having a result of the logical distance operation being the smallest value
Lt; / RTI >
상기 처리하는 단계는,
상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하는 단계;
상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하는 단계; 및
질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 단계
를 포함하는 이동성 제공 방법.
The method according to claim 1,
Wherein the processing comprises:
Assigning a new IP (Internet Protocol) address to the terminal according to movement of the terminal;
Generating an item key value for the terminal and querying the hierarchical distributed hash table; And
And updating the item in the hierarchical distributed hash table based on the query result
Lt; / RTI >
상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 단계
를 더 포함하는 이동성 제공 방법.
The method according to claim 1,
And transmitting a packet to the terminal through the hierarchical distributed hash table
Further comprising the steps of:
상기 전송하는 단계는,
상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하는 단계;
상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하는 단계; 및
상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩하는 단계
를 포함하는 이동성 제공 방법.
9. The method of claim 8,
Wherein the transmitting comprises:
Generating an item key value of the terminal in a network access switch that receives the packet;
Determining whether an optional header exists in the packet; And
Forwarding the packet to a network switch to which the terminal is connected based on the result of the determination and the item key value
Lt; / RTI >
상기 포워딩하는 단계는,
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하는 단계;
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하는 단계;
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리는 단계; 및
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩하는 단계
를 포함하는 이동성 제공 방법.
10. The method of claim 9,
Wherein the forwarding comprises:
If the network access switch that received the packet without the option header does not store an item corresponding to the item key value, forwarding the packet and querying the hierarchical distributed hash table about the item ;
Modifying the destination of the packet to a network switch to which the terminal is connected if the network access switch that received the packet without storing the option header does not store the item corresponding to the item key value, Adding a new item key value to the header;
Discarding the packet if the option header exists in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value; And
If the option header exists in the packet and the network access switch that received the packet stores an item corresponding to the item key value, restores the destination of the packet to the terminal, removes the option header, Forwarding the packet to
Lt; / RTI >
를 포함하고,
상기 계층 분산 해시 테이블은 상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층으로 구성되는
이동성(mobility) 제공 장치.
An entry related to the terminal is registered in a hierarchy designated by a network access switch to which a terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT), and the entry Controller that handles over
Lt; / RTI >
Wherein the hierarchical distributed hash table comprises a plurality of layers based on a physical distance between the network access switches
A device for providing mobility.
상기 컨트롤러는,
계층 분산 해시 테이블(Hierarchical Distributed Hash Table, HDHT)을 구성하는 복수의 계층 중에서 단말이 연결된 네트워크 접근 스위치가 지정한 계층에 상기 단말과 관련된 항목(entry)을 등록하는 항목 등록기; 및
상기 항목을 이용하여 상기 단말의 핸드오버를 처리하는 핸드 오버 처리기
를 포함하는 이동성(mobility) 제공 장치.
12. The method of claim 11,
The controller comprising:
An item register for registering an entry related to the terminal in a hierarchy designated by a network access switch to which a terminal is connected among a plurality of layers constituting a hierarchical distributed hash table (HDHT); And
A handover processor for handling the handover of the terminal using the item,
Wherein the mobility providing device includes:
상기 컨트롤러는,
상기 네트워크 접근 스위치들 간의 물리적 거리에 기초하여 상기 복수의 계층을 포함하는 상기 계층 분산 해시 테이블을 생성하는 HDHT 생성기;
를 더 포함하고,
상기 HDHT 생성기는,
상기 네트워크 접근 스위치들 중에서 물리적으로 가까운 네트워크 접근 스위치들로 구성되는 복수의 최하위 계층을 생성하고, 상기 복수의 최하위 계층으로 구성되는 상위 계층들을 계층적으로 생성하는
이동성 제공 장치.
13. The method of claim 12,
The controller comprising:
An HDHT generator for generating the hierarchical distributed hash table including the plurality of layers based on a physical distance between the network access switches;
Further comprising:
The HDHT generator comprises:
A plurality of lowest layers constituted by network access switches physically close to each other among the network access switches, and hierarchically forming upper layers constituted by the plurality of lowest layers
Mobility providing device.
상기 항목 등록기는,
상기 단말과 관련된 항목의 키(key) 값을 생성하는 키 생성기;
상기 계층 분산 해시 테이블에 상기 키 값을 질의(query)하는 질의기; 및
질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는 항목 업데이터
를 포함하는 이동성 제공 장치.
13. The method of claim 12,
Wherein the item register comprises:
A key generator for generating a key value of an item related to the terminal;
A query unit for querying the hierarchical distributed hash table with the key value; And
An item updater for updating the item in the hierarchical distributed hash table based on the query result;
And a mobile device.
상기 항목 업데이터는,
상기 항목에 상기 항목이 저장될 계층을 명시(specify)하고, 상기 항목의 네트워크 접근 스위치 목록 및 IP(Internet Protocol) 주소를 갱신하고, 상기 계층 분산 해시 테이블에 상기 항목에 대한 등록을 요청하는
이동성 제공 장치.
15. The method of claim 14,
The item updater,
Specifies a layer in which the item is to be stored in the item, updates a network access switch list and an IP (Internet Protocol) address of the item, and requests registration of the item in the hierarchical distributed hash table
Mobility providing device.
상기 항목 업데이터는,
최하위 계층의 분산 해시 테이블에 상기 항목을 저장하고,
상기 등록 요청을 상기 최하위 계층으로부터 최상위 계층까지 순차적으로 전달하면서 명시된 계층에 상기 등록 요청이 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하고,
상기 등록 요청이 상기 최상위 계층에 도달한 경우에, 논리적 거리 연산을 통해 상기 최상위 계층의 분산 해시 테이블 노드에 항목을 저장하고,
상기 등록 요청을 상기 최상위 계층으로부터 상기 명시된 계층까지 순차적으로 전달하면서 상기 명시된 계층에 도달하면 상기 명시된 계층의 분산 해시 테이블에 상기 항목을 저장하는
이동성 제공 장치.
16. The method of claim 15,
The item updater,
Stores the item in a distributed hash table of the lowest layer,
Storing the item in the distributed hash table of the specified hierarchy when the registration request reaches the specified hierarchy while sequentially transmitting the registration request from the lowest hierarchical layer to the highest hierarchical layer,
Storing an item in the distributed hierarchical hash table node of the highest hierarchical layer through a logical distance operation when the registration request reaches the highest hierarchical layer,
And sequentially transmits the registration request from the highest layer to the specified layer and stores the item in the distributed hash table of the specified layer when reaching the specified layer
Mobility providing device.
상기 항목 업데이터는,
상기 항목의 키 값을 이용하여 논리적 거리 연산을 수행하고, 상기 논리적 거리 연산의 결과가 가장 작은 값을 가지는 네트워크 접근 스위치에 상기 항목을 저장하는
이동성 제공 장치.
17. The method of claim 16,
The item updater,
Performing a logical distance operation using the key value of the item, and storing the item in a network access switch having a result of the logical distance operation being the smallest value
Mobility providing device.
상기 핸드오버 처리기는,
상기 단말의 이동에 따라 상기 단말에 새로운 IP(Internet Protocol) 주소를 할당하고, 상기 단말에 대한 항목 키 값을 생성하여 상기 계층 분산 해시 테이블에 질의하고, 질의 결과에 기초하여 상기 계층 분산 해시 테이블에 상기 항목을 업데이트하는
이동성 제공 장치.
13. The method of claim 12,
The handover processor includes:
Allocates a new IP (Internet Protocol) address to the terminal according to the movement of the terminal, generates an item key value for the terminal, queries the hierarchical distributed hash table, Updating the item
Mobility providing device.
상기 컨트롤러는,
상기 계층 분산 해시 테이블을 통해 상기 단말에 패킷을 전송하는 패킷 전송기
를 더 포함하는 이동성 제공 장치.
13. The method of claim 12,
The controller comprising:
A packet transmitter for transmitting a packet to the terminal through the hierarchical distributed hash table,
Further comprising:
상기 패킷 전송기는,
상기 패킷을 수신한 네트워크 접근 스위치에서 상기 단말의 항목 키 값을 생성하고, 상기 패킷에 옵션 헤더가 존재하는지 여부를 판단하고, 상기 판단의 결과 및 상기 항목 키 값에 기초하여 상기 단말이 연결된 네트워크 스위치로 상기 패킷을 포워딩하는
이동성 제공 장치.
20. The method of claim 19,
The packet transmitter includes:
The method comprising: generating an item key value of the terminal in a network access switch that receives the packet; determining whether an option header exists in the packet; determining, based on a result of the determination and the item key value, Lt; RTI ID = 0.0 >
Mobility providing device.
상기 패킷 전송기는,
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 포워딩하고 상기 계층 분산 해시 테이블에 상기 항목에 관하여 질의하고,
상기 패킷에 상기 옵션 헤더가 존재하지 않고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말이 연결된 네트워크 스위치로 수정하고, 상기 옵션 헤더에 새로운 항목 키 값을 추가하고,
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있지 않은 경우, 상기 패킷을 버리고,
상기 패킷에 상기 옵션 헤더가 존재하고 상기 패킷을 수신한 네트워크 접근 스위치가 상기 항목 키 값에 대응하는 항목을 저장하고 있는 경우, 상기 패킷의 목적지를 상기 단말로 복원하고 상기 옵션 헤더를 제거하여 상기 단말로 상기 패킷을 포워딩하는
이동성 제공 장치.21. The method of claim 20,
The packet transmitter includes:
If the network access switch that received the packet without the option header does not store an item corresponding to the item key value, forwarding the packet and querying the hierarchical distributed hash table about the item and,
Modifying the destination of the packet to a network switch to which the terminal is connected if the network access switch that received the packet without storing the option header does not store the item corresponding to the item key value, Add a new entry key value to the header,
Discarding the packet if the option header exists in the packet and the network access switch receiving the packet does not store an item corresponding to the item key value,
If the option header exists in the packet and the network access switch that received the packet stores an item corresponding to the item key value, restores the destination of the packet to the terminal, removes the option header, Lt; RTI ID = 0.0 >
Mobility providing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170118385A KR102054775B1 (en) | 2017-09-15 | 2017-09-15 | A method and apparatus for supporting mobility of host using hierarchical distributed hash table |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170118385A KR102054775B1 (en) | 2017-09-15 | 2017-09-15 | A method and apparatus for supporting mobility of host using hierarchical distributed hash table |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190030854A true KR20190030854A (en) | 2019-03-25 |
KR102054775B1 KR102054775B1 (en) | 2019-12-12 |
Family
ID=65907594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170118385A KR102054775B1 (en) | 2017-09-15 | 2017-09-15 | A method and apparatus for supporting mobility of host using hierarchical distributed hash table |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102054775B1 (en) |
Citations (1)
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 |
-
2017
- 2017-09-15 KR KR1020170118385A patent/KR102054775B1/en active IP Right Grant
Patent Citations (1)
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)
Title |
---|
Karel.V 외 2인, "A decentralized information service for IEEE 802.21-media independent handover (MIH)", 2011* * |
Also Published As
Publication number | Publication date |
---|---|
KR102054775B1 (en) | 2019-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3106407C (en) | Multi-cloud connectivity using srv6 and bgp | |
US10320683B2 (en) | Reliable load-balancer using segment routing and real-time application monitoring | |
CN105264493B (en) | Dynamic virtual machine migration on information centre's network | |
CA2968964C (en) | Source ip address transparency systems and methods | |
WO2017016494A1 (en) | Handling consumer mobility in information-centric networks | |
US10104633B1 (en) | Active position driven mobility content delivery in information centric networks | |
WO2017032300A1 (en) | Data transmission method, virtual network management apparatus, and data transmission system | |
EP3117588B1 (en) | Scalable address resolution | |
JP2021536627A (en) | Systems and methods for migrating live stateful containers | |
JP6206508B2 (en) | Packet transfer device, control device, communication system, communication method, and program | |
US20200305042A1 (en) | Interest packet routing in information centric networks | |
Xie et al. | Supporting seamless virtual machine migration via named data networking in cloud data center | |
JPWO2012173172A1 (en) | Communication system, controller, switch, storage management device, and communication method | |
US20140122637A1 (en) | Method and apparatus for providing caching service in network infrastructure | |
JP6299745B2 (en) | COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM | |
CN109120556B (en) | A kind of method and system of cloud host access object storage server | |
Li et al. | A software-defined address resolution proxy | |
JP2012134780A (en) | Gateway system, gateway device, and load distribution method | |
KR102054775B1 (en) | A method and apparatus for supporting mobility of host using hierarchical distributed hash table | |
US20180359673A1 (en) | Seamless consumer mobility in information centric networks using forwarding labels | |
CN114521323B (en) | Computing device, method and apparatus for centralized path computation | |
US9763135B1 (en) | Load balancing with mobile resources | |
KR20220076826A (en) | Method for ndn based in-network computing and apparatus for the same | |
Nascimento et al. | Evaluation of cache for bandwidth optimization in ICN through software-defined networks | |
JP2017184195A (en) | Communication management device, communication management method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |