KR101984846B1 - Communication method and apparatus providing mobility of objects - Google Patents

Communication method and apparatus providing mobility of objects Download PDF

Info

Publication number
KR101984846B1
KR101984846B1 KR1020170059371A KR20170059371A KR101984846B1 KR 101984846 B1 KR101984846 B1 KR 101984846B1 KR 1020170059371 A KR1020170059371 A KR 1020170059371A KR 20170059371 A KR20170059371 A KR 20170059371A KR 101984846 B1 KR101984846 B1 KR 101984846B1
Authority
KR
South Korea
Prior art keywords
identifier
packet
network
locator
mobility
Prior art date
Application number
KR1020170059371A
Other languages
Korean (ko)
Other versions
KR20180060908A (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 US15/817,110 priority Critical patent/US20180152379A1/en
Publication of KR20180060908A publication Critical patent/KR20180060908A/en
Application granted granted Critical
Publication of KR101984846B1 publication Critical patent/KR101984846B1/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/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • H04L67/18
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals

Abstract

객체의 이동성을 제공하는 통신 방법 및 장치가 개시된다. 네트워크들 간에 이동하는 객체의 이동성을 지원하기 위한 통신 방법에 있어서, 일 실시예에 따른 통신 방법은, 이동하는 상기 객체의 식별자 및 위치자에 기초하여 상기 객체가 이동한 네트워크로 상기 객체로 전송하려는 패킷을 포워딩하는 단계를 포함한다.A communication method and apparatus for providing object mobility is disclosed. A communication method for supporting mobility of an object moving between networks, the communication method according to an exemplary embodiment of the present invention is a communication method for transmitting an object to a network on which the object moves based on an identifier and a location of the moving object And forwarding the packet.

Description

객체 이동성을 제공하는 통신 방법 및 장치{COMMUNICATION METHOD AND APPARATUS PROVIDING MOBILITY OF OBJECTS}[0001] COMMUNICATION METHOD AND APPARATUS PROVIDING MOBILITY OF OBJECTS [0002]

아래 실시예들은 객체의 식별자를 이용한 네트워크 시스템에서 객체의 이동성을 제공하는 통신 방법 및 장치에 관한 것이다.The embodiments described below relate to a communication method and apparatus for providing object mobility in a network system using an identifier of an object.

최근 스마트 기기, 사물 인터넷(IoT) 기기를 비롯한 다양한 객체들(things)의 이동성 및 연결성이 중요시 되면서 스마트 홈, 스마트 워크, 스마트 그리드, 스마트 공장, 클라우드 서비스 등과 같은 새로운 기술 트렌드가 등장하였다. 이로 인해, 생활과 문화의 패러다임이 기술 중심에서 인간 중심으로 변화하고 있다.Recently, new technology trends such as smart home, smart work, smart grid, smart factory, and cloud service have emerged due to importance of connectivity and connectivity of various objects including smart devices and Internet (IoT) devices. As a result, the paradigm of life and culture is changing from technology center to human center.

구글 안경(*** glass), 커넥티드 카(connected car), 웨어러블 장치, 스마트 헬스 케어와 같은 사례에서 볼 수 있듯이, 모든 사물에 네트워킹 기능이 탑재되고 있다. 즉, 사용자의 인식 없이 객체들 간에 통신을 하거나, 객체들이 인터넷에 접속하는 일들이 일반화되고 있다. 이에 따라, 사용자는 특정 기기에 종속되지 않은 채, 언제, 어디서나 업무를 수행하거나 서비스를 이용할 수 있게 되었다.Everything has networking capabilities, as can be seen in examples such as *** glass, connected cars, wearable devices, and smart healthcare. That is, communication between objects without user's recognition or connection of objects to the Internet is becoming common. As a result, the user can perform tasks or use services anytime, anywhere, without depending on a specific device.

이렇듯 이동성이 중요한 역할을 차지하지만 현재는 이를 지원하기 위한 접근 방법이 이동 통신망, 데이터 센터망, 응용 서비스 제공자 등으로 분리되어 있다.Although mobility plays an important role, the approach to support it is now divided into mobile communication network, data center network, and application service provider.

단말 기반의 인터넷 프로토콜(IP) 이동성 기술은 전통적으로 이동통신망에서 연구가 진행돼 왔으며, 이와 별도로 가상 머신의 이동성과 관련된 연구는 데이터센터 망(또는 클라우드 망)에서 진행돼 오고 있다.Terminal-based Internet Protocol (IP) mobility technology has traditionally been studied in mobile communication networks, and research on virtual machine mobility has been conducted in a data center network (or cloud network).

가상 머신의 이동성은 크게 오프라인 이동 방식 및 온라인(또는 라이브) 이동 방식이 존재하며, 라이브 이동 방식의 경우 가상 머신이 실행 중인 상태에서 IP 주소를 유지한 채 임의의 위치로 이동한다는 측면에서 단말 기반의 이동성과 유사성이 있다.In the case of the live moving method, the virtual machine moves in an arbitrary position while maintaining the IP address while the virtual machine is in the running state. There is similarity with mobility.

또한, 최근 가상화 기술이 발달함에 따라 Docker, Linux Container (LXC)와 같은 운영체제 수준의 가상화 기술(OS-level Virtualization)이 유망해지고 있으며, 가상 머신의 경량화가 가속화되고 있다. 이러한 경량화 추세 중에는 실행 중인 특정 애플리케이션(또는 프로세스)의 상태를 저장 및 복원하는 애플리케이션 Checkpoint/Restore (CR) 기술이 존재하며, 이는 애플리케이션 이동성 기술을 가능하게 한다. 애플리케이션 이동성은 특정 호스트에 있는 실행 중인 애플리케이션을 다른 호스트로 이동하는 것을 의미한다.In addition, with the recent development of virtualization technology, OS-level virtualization such as Docker and Linux Container (LXC) has been promising, and the weight of virtual machines is accelerating. Among these lightweight trends are application Checkpoint / Restore (CR) technology that saves and restores the state of a specific application (or process) that is running, enabling application mobility technology. Application mobility means moving a running application on one host to another.

가상 머신 이동성 기술이 클라우드 환경 내에서 제한적으로 사용되고 있는 것에 반해, 애플리케이션 이동성 기술은 이동통신망, 유·무선 통합망 환경에서 사용자들이 새로운 서비스로 유용하게 사용할 수 있다.In contrast to the limited use of virtual machine mobility technology in the cloud environment, application mobility technology can be used as a new service for users in mobile networks, wired and wireless integrated networks.

실시예들은 객체의 식별자에 기초하여 패킷을 포워딩 함으로써, 객체의 이동성을 제공하는 기술을 제공할 수 있다.Embodiments can provide a technique for providing mobility of an object by forwarding the packet based on the identifier of the object.

네트워크들 간에 이동하는 객체의 이동성을 지원하기 위한 통신 방법에 있어서, 일 실시예에 따른 통신 방법은, 이동하는 상기 객체의 식별자 및 위치자에 기초하여 상기 객체가 이동한 네트워크로 상기 객체로 전송하려는 패킷을 포워딩하는 단계를 포함한다.A communication method for supporting mobility of an object moving between networks, the communication method according to an exemplary embodiment of the present invention is a communication method for transmitting an object to a network on which the object moves based on an identifier and a location of the moving object And forwarding the packet.

상기 객체는, 유·무선 단말, 가상 머신, 애플리케이션 및 응용 세션을 포함할 수 있다.The object may include a wired / wireless terminal, a virtual machine, an application, and an application session.

상기 식별자는, 상기 객체가 가진 고유 정보에 기초하여 구성되며, 상기 고유 정보는 UUID(Universally Unique Identifier), IMEI(International Mobile Equipment Identity), 휴대폰 번호, 애플리케이션 이름 및 버전을 포함할 수 있다.The identifier is configured based on unique information possessed by the object, and the unique information may include a Universally Unique Identifier (UUID), an International Mobile Equipment Identity (IMEI), a mobile phone number, an application name, and a version.

상기 식별자는, 상기 고유 정보에 대하여 조합, 가공, 및 해싱(hashing) 중 적어도 하나를 수행하여 생성될 수 있다.The identifier may be generated by performing at least one of combination, processing, and hashing on the unique information.

상기 포워딩 하는 단계는, 상기 이동하는 객체의 식별자 및 위치자를 업데이트하는 단계를 포함할 수 있다.The forwarding step may include updating the identifier and the locator of the moving object.

상기 업데이트하는 단계는, 상기 객체가 이동한 후, 상기 식별자 및 위치자를 데이터베이스 시스템에 저장하는 단계와, 상기 데이터베이스 시스템을 통해 상기 식별자 및 위치자를 조회하는 단계와, 상기 식별자 및 위치자를 상기 패킷에 삽입하는 단계를 포함할 수 있다.Wherein the step of updating comprises the steps of: storing the identifier and locator in a database system after the object is moved; querying the identifier and locator through the database system; inserting the identifier and locator into the packet; .

상기 데이터베이스 시스템은, 상기 복수의 객체의 집합으로 구성될 수 있다.The database system may comprise a set of the plurality of objects.

상기 조회하는 단계는, 상기 식별자를 이용하여 상기 위치자를 조회하는 단계와, 상기 식별자를 이용하여 상기 객체에 연결된 다른 객체들의 식별자 및 위치자를 조회하는 단계를 포함할 수 있다.The querying may include querying the locator using the identifier, and querying for an identifier and a locator of other objects connected to the object using the identifier.

상기 삽입하는 단계는, 상기 객체에 연결된 다른 객체의 식별자 및 위치자를 상기 패킷에 삽입하는 단계를 포함할 수 있다.The inserting step may include inserting an identifier and a locator of another object connected to the object into the packet.

상기 식별자 또는 위치자는, 상기 패킷의 예약 필드에 삽입되고, 상기 예약 필드는 옵션 필드 및 확장 헤더를 포함할 수 있다.The identifier or the positioner is inserted into a reservation field of the packet, and the reservation field may include an option field and an extension header.

상기 포워딩 하는 단계는, 업데이트된 식별자 및 위치자에 기초하여 상기 패킷을 상기 객체와 연결된 다른 객체로 전송하는 단계를 더 포함할 수 있다.The forwarding may further comprise transmitting the packet to another object connected to the object based on the updated identifier and the location.

상기 통신 방법은 상기 패킷의 데이터를 삽입, 치환 또는 삭제하는 단계를 더 포함할 수 있다.The communication method may further include inserting, replacing or deleting data of the packet.

네트워크들 간에 이동하는 객체의 이동성을 지원하기 위한 통신 장치에 있어서, 일 실시예에 따른 통신 장치는 이동하는 상기 객체의 식별자 및 위치자에 기초하여 상기 객체가 이동한 네트워크로 상기 객체로 전송하려는 패킷을 포워딩하는 컨트롤러를 포함한다.A communication apparatus for supporting mobility of an object moving between networks, the communication apparatus comprising: a communication unit for transmitting a packet to be transmitted to the object to a network on which the object moves based on an identifier and a location of the moving object; Lt; / RTI >

상기 객체는, 유·무선 단말, 가상 머신, 애플리케이션 및 응용 세션을 포함할 수 있다.The object may include a wired / wireless terminal, a virtual machine, an application, and an application session.

상기 식별자는, 상기 객체가 가진 고유 정보에 기초하여 구성되며, 상기 고유 정보는 UUID(Universally Unique Identifier), IMEI(International Mobile Equipment Identity), 휴대폰 번호, 애플리케이션 이름 및 버전을 포함할 수 있다.The identifier is configured based on unique information possessed by the object, and the unique information may include a Universally Unique Identifier (UUID), an International Mobile Equipment Identity (IMEI), a mobile phone number, an application name, and a version.

상기 식별자는, 상기 고유 정보에 대하여 조합, 가공, 및 해싱(hashing) 중 적어도 하나를 수행하여 생성될 수 있다.The identifier may be generated by performing at least one of combination, processing, and hashing on the unique information.

상기 컨트롤러는, 상기 이동하는 객체의 식별자 및 위치자를 업데이트하는 업데이트 모듈을 포함할 수 있다.The controller may include an update module for updating the identifier and the locator of the moving object.

상기 업데이트 모듈은, 상기 객체가 이동한 후, 상기 식별자 및 위치자를 데이터베이스 시스템에 저장하는 저장 모듈, 상기 데이터베이스 시스템을 통해 상기 식별자 및 위치자를 조회하는 조회 모듈, 상기 식별자 및 위치자를 상기 패킷에 삽입하는 삽입 모듈을 포함할 수 있다.Wherein the update module comprises: a storage module for storing the identifier and the locator in the database system after the object is moved; a query module for querying the identifier and the locator through the database system; Insertion module.

상기 데이터베이스 시스템은, 상기 복수의 객체의 집합으로 구성될 수 있다.The database system may comprise a set of the plurality of objects.

상기 조회 모듈은, 상기 식별자를 이용하여 상기 위치자를 조회하고, 상기 식별자를 이용하여 상기 객체에 연결된 다른 객체들의 식별자 및 위치자를 조회할 수 있다.The inquiry module may inquire the positioner using the identifier, and may inquire an identifier and a positioner of other objects connected to the object using the identifier.

상기 삽입 모듈은, 상기 객체에 연결된 다른 객체의 식별자 및 위치자를 상기 패킷에 삽입할 수 있다.The insertion module may insert an identifier and a location of another object connected to the object into the packet.

상기 식별자 또는 위치자는, 상기 패킷의 예약 필드에 삽입되고, 상기 예약 필드는 옵션 필드 및 확장 헤더를 포함할 수 있다.The identifier or the positioner is inserted into a reservation field of the packet, and the reservation field may include an option field and an extension header.

상기 컨트롤러는, 업데이트된 식별자 및 위치자에 기초하여 상기 패킷을 상기 객체와 연결된 다른 객체로 전송하는 송/수신 모듈을 더 포함할 수 있다.The controller may further comprise a transmission / reception module for transmitting the packet to another object connected to the object based on the updated identifier and the positioner.

상기 컨트롤러는, 상기 패킷의 데이터를 삽입, 치환 또는 삭제하는 패킷 수정 모듈을 더 포함할 수 있다.The controller may further include a packet modification module for inserting, replacing or deleting data of the packet.

도 1은 일 실시예에 따른 통신 장치의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 업데이트 모듈의 개략적인 블록도를 나타낸다.
도 3은 도 1에 도시된 통신 장치로 구현되는 통신 시스템의 예시이다.
도 4는 도 1에 도시된 통신 장치의 동작의 흐름의 예시이다.
도 5는 일 실시예에 따른 네트워크 패킷의 예시이다.
도 6은 도 1에 도시된 통신 장치가 제공하는 사물 이동성 플랫폼의 예시이다.
1 shows a schematic block diagram of a communication device according to an embodiment.
Figure 2 shows a schematic block diagram of the update module shown in Figure 1;
3 is an illustration of a communication system implemented with the communication device shown in Fig.
4 is an illustration of the flow of operation of the communication device shown in Fig.
5 is an illustration of a network packet according to one embodiment.
6 is an illustration of an object mobility platform provided by the communication device 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.

본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된(described) 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.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. It will be understood that, in the present specification, the terms "comprises" or "having" are intended to specify the presence of stated features, integers, steps, operations, elements, But do not preclude the presence or addition of one or more other features, integers, steps, operations, 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 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.

본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.A module in this specification may mean hardware capable of performing the functions and operations according to the respective names described in this specification and may mean computer program codes capable of performing specific functions and operations , Or an electronic recording medium, e.g., a processor or a microprocessor, equipped with computer program code capable of performing certain functions and operations.

다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.In other words, a module may mean a functional and / or structural combination of hardware for carrying out the technical idea of the present invention and / or software for driving the hardware.

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

도 1을 참조하면, 통신 장치(10)는 객체의 이동성을 지원할 수 있다. 통신 장치(10)는 단일 시스템 내에서 사용자들에게 유기적인 이동성 서비스를 제공할 수 있고, 이동하는 객체가 네트워크 상에서 이동하더라도 네트워킹 서비스를 유지할 수 있게 할 수 있다. 통신 장치(10)는 식별자와 위치자가 구별되어 있는 객체 식별 테이블을 지속적으로 업데이트 함으로써 객체의 이동성을 지원할 수 있다.Referring to FIG. 1, the communication device 10 may support object mobility. The communication device 10 may provide an organic mobility service to users within a single system and may enable networking services to be maintained even if the moving object moves over the network. The communication device 10 can support mobility of the object by continuously updating the object identification table in which the identifier and the location are distinguished.

기존의 이동성 표준은 객체가 이동하더라도 그 객체의 IP 주소를 유지할 수 없다. 따라서, IP 주소 재할당, 네트워크 연결 재설정 등의 작업을 거쳐야 응용 서비스가 가능할 수 있다. 이러한 주소 재할당, 연결 재설정 등의 작업으로 인해 사용자는 네트워크 및 응용 서비스의 연결 끊김 현상을 경험하고, 다시 응용 서비스가 재개될 때까지 기다려야 하는 불편을 겪을 수 있다.Existing mobility standards can not maintain the IP address of an object even if the object moves. Therefore, the application service may be possible only after the IP address reallocation, network connection reset, and the like. Such an address reassignment, a connection resetting, and the like may cause the user to experience disconnection of the network and the application service, and may experience the inconvenience of waiting until the application service is restarted again.

또한, Mobile IP(MIP), Proxy Mobile IP, Locator/Identifier Separation Protocol(LISP) 등과 같은 기존 이동성 표준은 사용자 단말의 이동성만을 제공하므로, 가상 머신, 애플리케이션, 응용 세션 등의 이동성은 제공할 수 없다. MIP를 포함한 기존의 이동성 지원 프로토콜은 단말의 수정이 필요하여, 느린 문제점을 가질 수 있었다.Existing mobility standards such as Mobile IP (MIP), Proxy Mobile IP, and Locator / Identifier Separation Protocol (LISP) provide only mobility of the user terminal, and thus can not provide mobility for virtual machines, applications, application sessions and the like. The existing mobility support protocol including MIP could have a slow problem because the terminal needs to be modified.

기존 표준은 IP 주소를 주로 사용하여 단말을 인식하므로 객체 인식 단위가 단말 수준에 머물러 있으며, 단말 상에서 동작하는 가상 머신, 애플리케이션, 응용 세션 등을 인식하여 이들 객체에 이동성을 제공할 수 없다.Since the existing standard recognizes the terminal mainly using the IP address, the object recognition unit stays at the terminal level and recognizes the virtual machine, the application, the application session and the like operating on the terminal and can not provide mobility to these objects.

기존 표준은 애플리케이션 또는 응용 세션과 같이 하나의 세분화된 이동 객체가 네트워크상에서 이동하는 경우(즉, 이동 객체의 IP 주소, 포트 번호, 객체가 속한 운영체제 및 시스템 등이 변경되는 경우) 네트워크 연결 재설정이 이루어지지 않도록 네트워크상에서 적절한 패킷 포워딩(또는 라우팅)을 수행할 수 없다.Existing standards require a network connection reset if one granular mobile object, such as an application or application session, moves over the network (ie, if the IP address of the mobile object, the port number, the operating system and system to which the object belongs) Packet forwarding (or routing) on the network so as not to be able to do so.

따라서, 기존 표준은 애플리케이션 또는 응용 세션과 같은 논리 단위의 객체가 이동하더라도 이를 감지할 수 없으며, 감지하더라도 적절한 패킷 포워딩을 수행할 수 없다.Therefore, existing standards can not detect the movement of an object in a logical unit such as an application or an application session, and can not perform proper packet forwarding even when detected.

또한, 기존 표준은 객체 수가 폭발적으로 증가하는 경우 이를 적절히 대처할 수 없으며, 이동 객체를 위한 보안성에 떨어질 수 있다. 즉, 기존 표준은 객체 수가 증가하는 경우 특정 네트워크 장비에 트래픽이 집중되는 현상이 있으며, 트래픽이 급증할 경우 이런 네트워크 장비에 장애가 발생하거나 속도가 느려져 사용자 품질이 저하될 수 있다. 기존 표준은 보안성의 측면에서도 특정 이동 단말을 대상으로 하는 중간자 공격에 취약할 수 있다.In addition, existing standards can not adequately cope with explosive increases in the number of objects, and may be less secure for moving objects. In other words, the existing standard concentrates traffic on specific network equipment when the number of objects increases, and if the traffic surges, the failure or speed of such network equipment may slow down the user quality. Existing standards may be vulnerable to man-in-the-middle attacks targeting specific mobile terminals in terms of security.

통신 장치(10)는 객체의 위치가 아닌 객체의 식별자를 기반으로 포워딩(또는 라우팅)을 수행하여, 객체가 이동하더라도 객체의 식별자에 기초하여 변경된 객체의 위치를 파악하여 패킷을 포워딩(또는 라우팅)할 수 있다.The communication device 10 performs forwarding (or routing) based on an identifier of an object instead of the position of the object, detects the position of the changed object based on the identifier of the object even if the object moves, can do.

통신 장치(10)는 Mobile IP, Proxy Mobile IP, Locator/Identifier Separation Protocol 등과 같은 기존 표준에 비해 향상된 사용자 경험과 차별화된 서비스를 제공할 수 있다. 통신 장치(10)는 단말 이동성, 가상 머신 이동성, 애플리케이션 이동성, 응용 세션 이동성 등을 제공할 수 있다. 예를 들어, 통신 장치(10)는 인터넷에 연결되는 다양한 객체들에 이동성을 지원할 수 있다. 이러한 객체들은 스마트폰, 태블릿, 웨어러블 기기, 가전기기, 스마트 미터, 스마트 공장 기계 등을 포함할 수 있다.The communication device 10 can provide improved user experience and differentiated services compared to existing standards such as Mobile IP, Proxy Mobile IP, and Locator / Identifier Separation Protocol. The communication device 10 can provide terminal mobility, virtual machine mobility, application mobility, application session mobility, and the like. For example, the communication device 10 may support mobility for various objects connected to the Internet. These objects may include smart phones, tablets, wearable appliances, home appliances, smart meters, smart factory machines, and the like.

통신 장치(10)는 또한, 다수의 사용자 및 이동 객체를 수용하기 위해 다수의 노드를 데이터베이스 시스템에 도입하여 확장성(Scalability)을 제공할 수 있다. 통신 장치(10)는 객체 정보에 관한 데이터를 분산 저장하거나 중앙 집중식으로 저장할 수 있다.The communication device 10 may also provide scalability by introducing multiple nodes into the database system to accommodate multiple users and moving objects. The communication device 10 can store data related to object information in a distributed manner or centrally.

통신 장치(10)가 데이터를 중앙 집중식으로 저장하는 경우 관리의 편의성이 높아지고 데이터의 즉각적인 업데이트가 가능하지만, 단일점 고장(Single Point of Failure) 문제에 취약하고 이동 객체의 수가 급격히 늘어날 때 전체 시스템의 성능이 저하될 수 있다.When the communication device 10 stores data in a centralized manner, it becomes easier to manage and update data instantly. However, when the communication device 10 is vulnerable to the problem of single point of failure and the number of moving objects is rapidly increased, Performance may be degraded.

반면, 통신 장치(10)가 분산 해시 테이블(Distributed Hash Table (DHT))에서와 같이, 데이터를 분산하여 저장할 경우 확장성이 높아지고 일부 네트워크 장비의 장애에 강건해질 수 있다. 그러나, 분산 저장하는 방법은 시스템의 복잡성을 높이고 데이터 업데이트에 시간이 걸리는 단점을 가질 수 있다.On the other hand, when the communication apparatus 10 distributes and stores data as in a distributed hash table (DHT), the scalability can be enhanced and it can be robust against the failure of some network equipment. However, the distributed storage method can have a drawback that it increases the complexity of the system and takes time to update the data.

기존 표준에서는 중간자 공격과 같은 보안 문제에 상대적으로 취약할 수 있었지만, 통신 장치(10)는 다중 해시 기법을 통해 보안성을 강화할 수 있다. 즉, 통신 장치(10) 동일한 객체에 서로 다른 객체 ID(또는 해시) 값을 부여함으로써 인증되지 않은 공격자가 다수의 패킷을 중간에 캡쳐하더라도, 패킷들을 하나의 세션 흐름으로 재구성할 수 없어 공격자의 공격을 어렵게 만들고, 사용자 세션의 보안성을 강화할 수 있다.While existing standards may be relatively vulnerable to security issues such as man-in-the-middle attacks, the communication device 10 can enhance security through multiple hashing techniques. That is, by assigning different object ID (or hash) values to the same object of the communication device 10, even if an unauthenticated attacker captures a plurality of packets in the middle, the packets can not be reconstructed into one session flow, And to enhance the security of the user session.

통신 장치(10)는 기존 네트워크와의 호환성을 최대한으로 유지할 수 있다. 통신 장치(10)는 효율적인 라우팅을 제공하고, 이동성 정보(예를 들어, 객체의 식별자 및/또는 위치자)의 분산 저장을 통해 부하 분산 등의 이점을 제공할 수 있다.The communication device 10 can maintain maximum compatibility with the existing network. The communication device 10 may provide efficient routing and may provide advantages such as load balancing through distributed storage of mobility information (e.g., identifiers and / or locators of objects).

통신 장치(10)는 네트워크 상에서 이동성 지원을 수행할 수 있어 단말을 수정하지 않고 객체의 이동성을 지원할 수 있다. 즉, 통신 장치(10)는 소프트웨어(S/W) 단위의 이동성을 제공하기 위해서도 단말을 수정하지 않고, 단말 상에서 동작하는 OS, S/W 라이브러리 등을 수정함으로써 이동성을 제공할 수 있다.The communication device 10 can perform mobility support on the network and can support the mobility of the object without modifying the terminal. That is, the communication device 10 can provide mobility by modifying the OS, the S / W library, and the like operating on the terminal without modifying the terminal to provide mobility on a software (S / W) basis.

또한, 통신 장치(10)는 기존 네트워크 시스템, 장비, 단말과의 호환성을 유지할 수 있다. 통신 장치(10)는 객체의 이동성을 제공하기 위해 네트워크 가장자리에 배치된 네트워크 접근 스위치(또는 라우터)를 제외한, 기존의 네트워크 장비를 그대로 사용할 수 있다.In addition, the communication device 10 can maintain compatibility with existing network systems, equipment, and terminals. The communication device 10 can use the existing network equipment as it is except for the network access switch (or router) disposed at the edge of the network to provide mobility of the object.

통신 장치(10)는 효율적인 라우팅을 제공할 수 있다. 기존의 이동성 지원 방법들은 비효율적인 삼각 라우팅 문제를 초래한다. 그에 반해 통신 장치(10)는 이동성 지원을 위한 별도의 고정된 라우팅 경로를 설정하지 않기 때문에, 삼각 라우팅 문제를 발생시키지 않을 수 있다. 통신 장치(10)는 항상 단말이 위치한 네트워크 스위치(또는 라우터)의 정보를 토대로 라우팅을 수행하기 때문에, 네트워크를 통해 객체 이동성에 대해 투명성(Transparency)을 가지고 라우팅을 수행할 수 있다.The communication device 10 can provide efficient routing. Existing mobility support methods result in inefficient triangular routing problems. On the other hand, the communication device 10 does not set a separate fixed routing path for mobility support, and thus does not cause a triangular routing problem. Since the communication device 10 always performs routing based on the information of a network switch (or a router) in which the terminal is located, the communication device 10 can perform routing with transparency to object mobility through the network.

통신 장치(10)는 이동성 정보의 분산 저장을 통해 부하를 분산할 수 있다. 이동성 정보를 스위치, 라우터와 같은 네트워크 장비 내에 분산 저장하거나, 별도의 단말, 서버에 분산 저장할 수 있다. 통신 장치(10)는 이러한 분산 저장 구조를 통해 특정 네트워크 장비에 이동성 정보 요청이 집중되는 현상을 방지할 수 있고, 분산에 참여하는 노드의 수를 동적으로 조절하여 분산의 효율을 높일 수 있다. 또한, 통신 장치(10)는 정보의 사본을 분산 저장함으로써, 특정 스위치나 라우터에 장애가 발생하더라도 복사본을 통해 이동성 서비스를 지속해서 제공할 수 있다.The communication device 10 can distribute the load through distributed storage of mobility information. The mobility information can be distributedly stored in a network device such as a switch or a router, or distributedly stored in a separate terminal or server. The communication device 10 can prevent the concentration of mobility information requests in a specific network equipment through the distributed storage structure and can increase the efficiency of distribution by dynamically adjusting the number of nodes participating in the distribution. In addition, the communication device 10 can distribute the copy of the information in a distributed manner, so that even if a failure occurs in a specific switch or router, the communication device 10 can continuously provide the mobility service through the copy.

통신 장치(10)가 사용되는 네트워크는 대규모 네트워크와 대규모 네트워크에 포함된 복수의 서브 네트워크로 구성될 수 있다. 서브 네트워크는 하나의 네트워크 접근 스위치에 대응할 수 있다.The network in which the communication device 10 is used may be composed of a large-scale network and a plurality of subnetworks included in a large-scale network. The subnetwork may correspond to one network access switch.

네트워크 접근 스위치는 객체와 직접적으로 연결되는 스위치를 말하고, 객체와 직접적으로 연결되지 않는 스위치(예를 들어, 라우터, Border, 게이트웨이)는 네트워크 스위치로 정의할 수 있다.A network access switch is a switch that is directly connected to an object. A switch that is not directly connected to an object (for example, a router, a border, or a gateway) can be defined as a network switch.

통신 장치(10)는 컨트롤러(100)를 포함한다.The communication device 10 includes a controller 100.

컨트롤러(100)는 이동하는 객체의 식별자 및 위치자에 기초하여 객체가 이동한 네트워크로 전송하려는 패킷을 포워딩할 수 있다. 컨트롤러(100)는 객체의 식별자 및 위치자를 업데이트 할 수 있다. 컨트롤러(100)는 업데이트된 식별자 및 위치자에 기초하여 상기 패킷을 상기 객체와 연결된 다른 객체로 전송할 수 있고, 패킷의 데이터를 삽입, 치환, 또는 삭제할 수 있다.The controller 100 can forward the packet to be transmitted to the network on which the object has moved based on the identifier of the moving object and the positioner. The controller 100 may update the identifier and the locator of the object. The controller 100 may transmit the packet to another object connected to the object based on the updated identifier and the positioner, and may insert, replace, or delete the data of the packet.

컨트롤러(100)는 컨트롤러(100)와 네트워크 스위치 간의 프로토콜을 통해 네트워크 스위치에 이동성을 부여하거나, 오류가 있는 스위치에 대한 복구 작업을 수행할 수 있다. 프로토콜은 Open Flow, 유사 Software-defined Networking (SDN) 프로토콜, Simple Network Management Protocol(SNMP) 등을 포함할 수 있다.The controller 100 may assign mobility to the network switch through the protocol between the controller 100 and the network switch or perform a recovery operation for the faulty switch. The protocol may include Open Flow, a similar Software-defined Networking (SDN) protocol, Simple Network Management Protocol (SNMP), and the like.

객체는 유·무선 단말, 가상 머신, 애플리케이션 및 응용 세션을 포함할 수 있다. 유·무선 단말은 PC(personal computer), 데이터 서버, 또는 휴대용 장치로 구현될 수 있다.The object may include a wired / wireless terminal, a virtual machine, an application, and an application session. The wired / wireless terminal may be implemented as a personal computer (PC), a data server, or a portable device.

휴대용 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 또는 스마트 디바이스(smart device)로 구현될 수 있다. 스마트 비다이스는 스마트 와치(smart watch), 스마트 밴드(smart band), 또는 스마트 링(smart ring)으로 구현될 수 있다.Portable devices include laptop computers, mobile phones, smart phones, tablet PCs, mobile internet devices (MIDs), personal digital assistants (PDAs), enterprise digital assistants (EDAs) A digital still camera, a digital video camera, a portable multimedia player (PMP), a personal navigation device or a portable navigation device (PND), a handheld game console, an e-book e-book, or a smart device. The smartvision can be implemented as a smart watch, a smart band, or a smart ring.

객체의 식별자는 객체가 가진 고유 정보에 기초하여 구성되며, 고유 정보는 UUID(Universally Unique Identifier), IMEI(International Mobile Equipment Identity), 휴대폰 번호, 애플리케이션 이름 및 버전을 포함할 수 있다. 이러한 식별자는 고유 정보에 대하여 조합, 가공, 및 해싱(hashing) 중 적어도 하나를 수행하여 생성될 수 있다.The identifier of the object is configured based on the unique information possessed by the object, and the unique information may include a Universally Unique Identifier (UUID), an International Mobile Equipment Identity (IMEI), a mobile phone number, an application name, and a version. Such identifiers may be generated by performing at least one of combining, processing, and hashing for unique information.

객체의 식별자는 네트워크 상에서 통신 객체 자체를 식별하는 심벌을 의미할 수 있다. 예를 들어, 객체의 식별자는 DNS 이름 및 객체 ID등을 포함할 수 있다.The identifier of the object may refer to a symbol that identifies the communication object itself on the network. For example, an identifier of an object may include a DNS name, an object ID, and the like.

객체의 위치자는 네트워크 상에서 통신 객체의 위치를 지정하는 심벌을 의미할 수 있다. 예를 들어, 객체의 위치자는 객체의 IP 주소, IP 주소/포트 번호 조합을 포함할 수 있다.The location of an object may refer to a symbol that specifies the location of the communication object on the network. For example, the location of an object may include the IP address, IP address / port number combination of the object.

컨트롤러(100)는 통신 장치(10)를 이용하여 구현되는 네트워크 시스템에 있어서, 하나로 구현될 수도 있고, 네트워크 시스템을 구성하는 복수의 장치 각각에 구현될 수도 있다. 또한, 네트워크 시스템을 구성하는 복수의 장치 각각에는 컨트롤러(100)의 일부 구성만이 구현될 수도 있다.The controller 100 may be implemented in a network system implemented using the communication device 10, or may be implemented in each of a plurality of devices constituting the network system. Further, only a part of the configuration of the controller 100 may be implemented in each of the plurality of devices constituting the network system.

또한, 컨트롤러(100)는 복수의 객체 내부에도 구현될 수 있으며, 각 객체는 컨트롤러(100)의 일부 구성만을 포함할 수 있다. 객체가 S/W인 경우 컨트롤러(100)는 S/W가 소속된 H/W에 구현될 수 있다.In addition, the controller 100 may be implemented within a plurality of objects, and each object may include only a part of the configuration of the controller 100. [ When the object is S / W, the controller 100 can be implemented in the H / W to which the S / W belongs.

컨트롤러(100)는 중앙 집중식 또는 분산 방식으로 설계될 수 있으며, 객체 정보(예를 들어, 식별자 및 위치자)를 컨트롤러(100)에 저장하거나 별도의 데이터 베이스 시스템에 저장할 수 있다.The controller 100 may be designed in a centralized or distributed manner and may store object information (e.g., identifiers and locators) in the controller 100 or in a separate database system.

중앙 집중식으로 설계되는 경우, 컨트롤러(100)는 중앙 컨트롤러와 서브 컨트롤러를 포함할 수 있다. 서브 컨트롤러는 네트워크 시스템을 구성하는 복수의 장치에 구현될 수 있고, 중앙 컨트롤러는 복수의 서브 컨트롤러를 제어할 수 있다. 분산 방식으로 설계되는 경우, 컨트롤러(100)는 네트워크 시스템을 구성하는 복수의 장치 각각에 구현될 수 있고, 각각의 컨트롤러(100)가 중앙 컨트롤러와 동일한 동작을 수행할 수 있다.When centrally designed, the controller 100 may include a central controller and a subcontroller. The sub-controller can be implemented in a plurality of apparatuses constituting the network system, and the central controller can control a plurality of sub-controllers. When designed in a distributed manner, the controller 100 can be implemented in each of a plurality of devices constituting the network system, and each controller 100 can perform the same operation as the central controller.

컨트롤러(100) 내에 객체 정보를 저장할 경우 구현 및 설계가 간단할 수 있지만, 네트워크의 규모가 커질수록 컨트롤러(100)의 부하가 커지고 왕복 지연 시간이 길어질 수 있다. 따라서, 컨트롤러(100)에서 저장 모듈을 독립시켜 별도의 데이터베이스 시스템에 위치시키거나, 데이터베이스 시스템의 저장 모듈과 컨트롤러(100)의 저장 모듈을 주/부로 설정할 수 있다. 또한, 네트워크상의 모든 객체의 저장 모듈이 참여하는 분산 방식의 데이터베이스 시스템이 적용될 수도 있다.Implementation and design may be simple in the case of storing object information in the controller 100, but as the scale of the network increases, the load on the controller 100 increases and the round-trip delay time may become longer. Accordingly, the controller 100 can independently set the storage module to a separate database system, or set the storage module of the database system and the storage module of the controller 100 as the main / part. Also, a distributed database system in which storage modules of all objects on the network participate can be applied.

예를 들어, 컨트롤러(100)는 분산 방식인 Distributed Hash Table (DHT) 시스템으로 구현될 수 있다. DHT는 해시 테이블을 분산된 노드에서 관리하는 구조로 확장성이 용이하기 때문에 P2P (Peer-to-Peer) 시스템, Facebook에서 개발한 카산드라와 같은 분산 파일 시스템 등에 이용될 수 있다. 분산 방식은 높은 안정성으로 Bitcoin과 같은 전자 화폐의 기반 시스템으로 사용될 수도 있다.For example, the controller 100 may be implemented as a distributed Hash Table (DHT) system. DHT is a structure that manages a hash table from a distributed node. It can be used for peer-to-peer (P2P) systems and distributed file systems such as Cassandra developed by Facebook. The distributed system can be used as a base system for electronic money such as Bitcoin with high stability.

컨트롤러(100)는 업데이트 모듈(110), 송/수신 모듈(130) 및 패킷 수정 모듈(150)을 포함할 수 있다.The controller 100 may include an update module 110, a transmit / receive module 130, and a packet modification module 150.

업데이트 모듈(110)은 객체의 식별자 및 위치자를 업데이트할 수 있다. 업데이트 모듈(110)의 동작은 도 2를 참조하여 상세하게 설명할 것이다.Update module 110 may update the identifier and locator of the object. The operation of the update module 110 will be described in detail with reference to FIG.

송/수신 모듈(130)은 한 객체와 연결된 다른 객체로부터 패킷을 수신할 수 있고, 한 객체와 연결된 다른 객체로 패킷을 송신할 수 있다.The transmission / reception module 130 can receive a packet from another object connected to one object, and can transmit the packet to another object connected to one object.

송/수신 모듈(130)은 업데이트 모듈(110) 및 패킷 수정 모듈(150)에 수신한 패킷을 출력할 수 있다.The transmission / reception module 130 may output the received packet to the update module 110 and the packet modification module 150. [

패킷 수정 모듈(150)은 패킷의 데이터를 삽입, 치환, 또는 삭제할 수 있다. 패킷 수정 모듈(150)은 임의의 객체에 패킷 수정 규칙을 전송할 수 있다. 임의의 객체는 패킷 수정 규칙을 수신하면 수정 규칙에 따라 패킷을 삽입, 치환, 또는 삭제할 수 있다.The packet modification module 150 may insert, replace, or delete data in the packet. The packet modification module 150 may transmit a packet modification rule to an arbitrary object. An arbitrary object can insert, replace, or delete a packet according to a modification rule upon receiving a packet modification rule.

도 2는 도 1에 도시된 업데이트 모듈의 개략적인 블록도를 나타낸다.Figure 2 shows a schematic block diagram of the update module shown in Figure 1;

도 2를 참조하면, 업데이트 모듈(110)은 이동하는 객체의 식별자 및 위치자를 업데이트할 수 있다. 업데이트 모듈(110)은 객체가 이동하여 객체의 식별자 및 위치자에 변경이 생기면 이를 데이터베이스 시스템에 저장할 수 있고, 데이터베이스 시스템에 저장된 식별자 및 위치자를 조회할 수 있고, 조회된 식별자 및 위치자를 패킷에 삽입할 수 있다.Referring to FIG. 2, the update module 110 may update the identifier and the location of the moving object. The update module 110 can store an identifier of an object and a locator in a database system when an object moves, and can inquire an identifier and a locator stored in the database system, and inserts the queried identifier and locator into a packet can do.

업데이트 모듈(110)은 저장 모듈(111), 조회 모듈(113) 및 삽입 모듈(115)를 포함할 수 있다.The update module 110 may include a storage module 111, a query module 113, and an insertion module 115.

저장 모듈(111)은 객체가 이동한 후, 객체의 식별자 및 위치자를 데이터베이스 시스템에 저장할 수 있다. 또한, 저장 모듈(111)은 객체의 식별자를 생성할 수 있다. The storage module 111 may store the identifier and location of the object in the database system after the object has moved. In addition, the storage module 111 may generate an identifier of the object.

예를 들어, 객체의 식별자는 다음과 같이 생성될 수 있다. 저장 모듈(111)은 애플리케이션의 이름과 버전 정보, 사용 중인 포트 번호를 조합하여 {RemoteDesktop_v1.00_8039}와 같은 문자열을 생성할 수 있다. 저장 모듈(111)은 생성된 문자열을 SHA-256 해시 알고리즘을 사용하여 {C9EC1DD8B...... (생략)}와 같은 객체 식별자를 생성할 수 있다.For example, an identifier of an object may be generated as follows. The storage module 111 can generate a string such as {RemoteDesktop_v1.00_8039} by combining the application name, version information, and the port number in use. The storage module 111 may use the SHA-256 hash algorithm to generate an object identifier such as {C9EC1DD8B ... (omitted)}.

다른 예로, 저장 모듈(111)은 {“Rem”, “ote”, “Des”, “kto”, “p_v”, “1.0”, “0_8”, “039”}와 같이 조합 문자열에서 3자리마다 단어를 슬라이싱한 후, 각 3자리 단어에서 앞 문자를 추출하여 {RoDkp100}와 같은 객체 식별자를 생성할 수 있다.As another example, the storage module 111 may store the data in every three digits of the combination string, such as " Rem ", " ote ", " Des ", " kto ", " p_v ", " 1.0 ", & After slicing a word, an object identifier such as {RoDkp100} can be generated by extracting the preceding character from each three-digit word.

데이터베이스 시스템은 하나의 객체로 구성되거나 복수의 객체의 집합으로 구성될 수 있다. 즉, 데이터베이스 시스템은 네트워크 스위치, 컨트롤러(100) 및 객체에 구현될 수 있다. 데이터베이스 시스템은 저장 모듈(111)을 포함할 수 있다.A database system can be composed of one object or a set of a plurality of objects. That is, the database system may be implemented in a network switch, controller 100, and an object. The database system may include a storage module 111.

예를 들어, 데이터베이스 시스템은 서버/클라이언트 모델, DHT 시스템을 포함할 수 있다. 또한 데이터 베이스 시스템은 식별자를 빠르게 조회하기 위해, 한번 조회한 식별자 정보를 로컬 캐시(cache)에 저장할 수도 있다.For example, the database system may include a server / client model, a DHT system. In addition, the database system may store the identifier information retrieved once in a local cache in order to quickly inquire the identifier.

서버/클라이언트 모델을 예로 들면, 중앙 컨트롤러가 서버의 역할을 하고, 각 네트워크 스위치의 저장 모듈(111)은 클라이언트의 역할을 수행할 수 있다.In the server / client model, for example, the central controller serves as a server, and the storage module 111 of each network switch can serve as a client.

DHT 시스템을 예로 들면, 각 네트워크 스위치의 저장 모듈(111)이 각각 DHT 시스템을 구성하는 동등한 수준의 노드가 되어 데이터를 분산 저장할 수 있다.Taking the DHT system as an example, the storage module 111 of each network switch can be an equivalent level node constituting the DHT system and can distribute the data.

네트워크 스위치에 있어서, 저장 모듈(111)은 크게 두 개의 계층을 포함할 수 있다. 상위 계층은 서버/클라이언트 또는 DHT 노드 역할을 수행할 수 있고, 하위 계층은 로컬 캐시 역할을 수행할 수 있다. 하위 계층의 로컬 캐시는 상위 계층으로부터 데이터를 전달 받아 캐시할 수 있다. 각 스위치들은 하위 캐시를 보유함으로써, 통신 속도를 향상시킬 수 있다.In the network switch, the storage module 111 may include two layers. The upper layer can serve as a server / client or DHT node, and the lower layer can serve as a local cache. The local cache of the lower layer can receive and cache data from the upper layer. Each of the switches has a lower cache, thereby improving the communication speed.

네트워크 스위치는 네트워크 접근 스위치를 포함할 수 있다.The network switch may include a network access switch.

저장 모듈(111)에 저장되는 데이터는 해시(hash) 테이블로 표현될 수 있다. 저장 모듈(111)은 해시 테이블의 키(key)로 객체의 식별자를 사용할 수 있고, 값(value)으로 객체와 연결된 하나 이상의 객체의 식별자 및 위치자를 사용할 수 있다.The data stored in the storage module 111 may be represented by a hash table. The storage module 111 may use an identifier of an object as a key of the hash table and may use an identifier and a location of one or more objects connected with the object as a value.

저장 모듈(111)은 다음 네트워크 스위치(또는 라우터)의 IP 주소, 객체의 위치 정보(IP 주소)를 IP 헤더의 목적지 주소 필드에 명시적으로 저장할 수 있다.The storage module 111 can explicitly store the IP address of the next network switch (or router) and the location information (IP address) of the object in the destination address field of the IP header.

조회 모듈(113)은 데이터베이스 시스템을 통해 객체의 식별자 및 위치자를 조회할 수 있다. 조회 모듈(113)은 객체의 식별자를 이용하여 객체의 위치자를 조회할 수 있고, 객체의 식별자를 이용하여 객체에 연결된 다른 객체들의 식별자 및 위치자를 조회할 수 있다.The inquiry module 113 can inquire the identifier and the location of the object through the database system. The inquiry module 113 can inquire the location of the object using the identifier of the object and can inquire the identifier and the location of other objects connected to the object using the identifier of the object.

조회 모듈(113)은 객체의 식별자에 다양한 정보를 매핑할 수 있다. 조회 모듈(113)이 매핑하는 데이터는 객체의 위치자, 객체와 연결된 네트워크 스위치의 식별자 및 위치자를 포함할 수 있다. 즉, 조회 모듈(113)이 임의의 객체의 식별자를 조회하면 조회된 객체와 연결된 다른 객체의 식별자 및 위치자를 조회할 수 있다.The inquiry module 113 can map various information to the identifier of the object. The data mapped by the inquiry module 113 may include the location of the object, the identifier and location of the network switch associated with the object. That is, when the inquiry module 113 inquires the identifier of an arbitrary object, the identifier and the identifier of another object connected to the inquired object can be inquired.

네트워크 스위치의 조회 모듈(113)은 객체의 식별자를 네트워크 스위치의 저장 모듈(111)에 저장된 로컬 자료구조(캐시 또는 임시 테이블)에서 조회하여 객체의 위치 정보를 얻을 수 있다. The inquiry module 113 of the network switch can inquire the identifier of the object from the local data structure (cache or temporary table) stored in the storage module 111 of the network switch to obtain the location information of the object.

로컬 자료구조에 조회하려는 식별자가 존재하지 않을 경우, 조회 모듈(113)은 DHT 시스템에 해당 식별자를 조회하여 해당 객체의 위치 정보를 얻을 수 있다. 저장 모듈(111)은 로컬 자료구조에 DHT 시스템에서 가져온 데이터를 저장함으로써 다음 번 스위치의 식별자 조회 시간을 줄일 수 있다.If there is no identifier to be looked up in the local data structure, the inquiry module 113 can inquire the corresponding identifier in the DHT system and obtain location information of the object. The storage module 111 can save the data retrieved from the DHT system in the local data structure, thereby reducing the identifier lookup time of the next switch.

조회 모듈(113)은 객체의 위치 정보(예를 들어, 위치자)를 네트워크 스위치 내의 포워딩(또는 라우팅) 테이블에 조회하여 패킷이 다음에 도착해야 할 네트워크 스위치(또는 라우터)를 알 수 있다.The inquiry module 113 can inquire the location information (e.g., location) of the object on the forwarding (or routing) table in the network switch to know the network switch (or router) to which the packet should arrive next.

삽입 모듈(115)은 조회한 객체의 식별자 및 위치자를 패킷에 삽입할 수 있다. 삽입 모듈(115)은 객체에 연결된 다른 객체의 식별자 및 위치자를 패킷에 추가로 삽입할 수 있다. 또한, 삽입 모듈(115)은 패킷에 포워딩 및 전송할 목적지를 설정하여식별자 및 위치자가 삽입되고, 목적지가 설정된 패킷을 송/수신 모듈(130)로 출력할 수 있다.The insertion module 115 may insert the identifier and the location of the object to be inquired into the packet. The insertion module 115 may further insert an identifier and a location of another object connected to the object into the packet. In addition, the insertion module 115 may set a destination for forwarding and transmitting the packet, insert the identifier and the location, and output the packet with the destination to the sending / receiving module 130.

패킷 내에 식별자 및 위치자가 삽입되는 위치는 예약된 필드일 수 있다. 예약된 필드는 옵션 필드 및 확장 헤더를 포함할 수 있다.The location where the identifier and the locator are inserted in the packet may be a reserved field. The reserved field may include an optional field and an extension header.

삽입 모듈(115)은 다른 네트워크 시스템 또는 장비와의 호환성을 위해, 객체의 식별자 정보가 포함된 옵션 필드 또는 확장 헤더를 패킷 내에 추가, 변경하거나 삭제할 수 있다.The insertion module 115 may add, change or delete an option field or an extension header in the packet, including the identifier information of the object, for compatibility with other network systems or equipment.

삽입 모듈(115)은 저장 모듈(111)의 하위 계층의 로컬 캐시와 직접 통신하여 캐시된 객체의 정보를 송/수신할 수 있다.The insertion module 115 may communicate with the local cache of the lower layer of the storage module 111 to send / receive information of the cached object.

또한, 삽입 모듈(115)은 삽입된 객체 식별자 및 위치자를 패킷으로부터 제거하여 기존 네트워크 시스템과의 호환성을 높일 수 있다. 이는 삽입 모듈(115)이 패킷으로부터 이동성 헤더를 제거하면 일반적인 IP 패킷을 생성할 수 있기 때문이다.In addition, the insertion module 115 can remove the inserted object identifier and location from the packet, thereby enhancing compatibility with the existing network system. This is because the insertion module 115 can generate a general IP packet if the removable header is removed from the packet.

송/수신 모듈(130)이 이동성 헤더가 없는 패킷을 수신할 경우, 삽입 모듈(115)은 이동성 헤더 내부에 객체의 식별자를 생성하고, 이동성 헤더를 패킷에 삽입할 수 있다.When the transmitting / receiving module 130 receives a packet without a mobility header, the insertion module 115 may generate an identifier of the object in the mobility header and insert the mobility header into the packet.

송/수신 모듈(130)이 이동성 헤더가 있는 패킷을 수신할 경우, 삽입 모듈(115)은 해당 패킷의 이동성 헤더의 객체 식별자를 참조하여, 수신한 패킷을 다른 스위치로 포워딩 할 것인지 또는 이동성 헤더를 제거하여 연결된 객체에 전송할 것인지를 결정할 수 있다. 예를 들어, 객체와 연결되어 객체의 식별자 정보를 가지고 있는 네트워크 스위치의 경우, 그 송/수신 모듈(130)이 이동성 헤더를 가진 패킷을 수신하면 이동성 헤더를 제거하여 객체로 전송할 수 있다. 그 외의 경우에는 이동성 헤더가 포함된 패킷을 수신할 경우 다른 스위치로 포워딩 할 수 있다.When the transmitting / receiving module 130 receives a packet having a mobility header, the inserting module 115 refers to the object identifier of the mobility header of the packet, and determines whether to forward the received packet to another switch or a mobility header To determine whether or not to remove it and send it to the connected object. For example, in the case of a network switch having an identifier of an object connected to an object, when the sending / receiving module 130 receives a packet having a mobility header, the mobility header can be removed and transmitted to the object. Otherwise, if a packet containing a mobility header is received, it can be forwarded to another switch.

삽입 모듈(115)이 구현될 수 있는 객체 및 네트워크 장치로는 S/W 라이브러리, OS, 단말, 네트워크 스위치가 포함될 수 있다.The objects and network devices in which the insertion module 115 can be implemented include an S / W library, an OS, a terminal, and a network switch.

도 3은 도 1에 도시된 통신 장치로 구현되는 통신 시스템의 예시이다.3 is an illustration of a communication system implemented with the communication device shown in Fig.

도 3을 참조하면, 통신 시스템은 이동성 기능을 제공하는 네트워크 장치들을 포함할 수 있다. 네트워크 장치들은 네트워크 스위치(또는 라우터)와 유·무선 단말에 연결되는 네트워크 접근 스위치 및 이들을 관리하는 중앙 컨트롤러를 포함할 수 있다. 네트워크 스위치는 유선 스위치, Access Point (AP), Base Station (BS) 등을 포함할 수 있다.Referring to FIG. 3, the communication system may include network devices that provide mobility functionality. The network devices may include a network switch (or router), a network access switch connected to the wired / wireless terminal, and a central controller for managing them. The network switch may include a wired switch, an access point (AP), a base station (BS), and the like.

네트워크 장치는 네트워크 스위치, 네트워크 접근 스위치, 별도 DB 및 객체를 포함할 수 있다. 각 네트워크 장치는 통신 장치(10)로 구현되거나, 통신 장치(10)의 일부 구성을 포함하여 구현될 수 있다. 각 네트워크 장치는 서로 상이한 구성을 포함할 수 있다. 즉, 각 네트워크 장치는 도 1 내지 도 2를 통해 설명된 통신 장치(10)의 동작의 전부 및/또는 일부를 실질적으로 동일하게 수행할 수 있다.The network device may include a network switch, a network access switch, a separate DB, and an object. Each network device may be implemented as a communication device 10, or may include a configuration of a part of the communication device 10. [ Each network device may comprise a different configuration from each other. That is, each network device may perform substantially all and / or all of the operation of the communication device 10 described with reference to Figures 1-2.

예를 들어, 네트워크 스위치, 네트워크 접근 스위치 및 단말은 저장 모듈(111), 조회 모듈(113), 삽입 모듈(115) 및 송/수신 모듈(130)을 포함할 수 있다. 별도 데이터베이스(DB)는 저장 모듈(111) 및 조회 모듈(113)을 포함할 수 있다.For example, the network switch, the network access switch, and the terminal may include a storage module 111, a lookup module 113, an insertion module 115, and a transmission / reception module 130. The separate database (DB) may include a storage module 111 and a query module 113.

도 3에서는 저장 모듈(111), 조회 모듈(113), 삽입 모듈(115) 및 송/수신 모듈(130)이 별도 구성된 것으로 도시되어 있지만, 도 1 내지 도 2에서 설명한 바와 같이 별도의 컨트롤러에 포함되어 구성될 수 있다. 별도의 컨트롤러가 네트워크 스위치, 네트워크 접근 스위치, 별도 DB 및 객체들을 제어할 수도 있는데, 이때 중앙 컨트롤러는 메인 컨트롤러로 동작하고, 각 네트워크 장치들의 별도의 컨트롤러는 서브 컨트롤러로 동작할 수 있다.3, the storage module 111, the inquiry module 113, the insertion module 115, and the transmission / reception module 130 are separately configured. However, as described with reference to FIGS. 1 and 2, . A separate controller may control a network switch, a network access switch, a separate DB, and objects, wherein the central controller operates as a main controller, and the separate controller of each network device can operate as a sub-controller.

예를 들어, 도 3과 같이, 중앙 집중식으로 설계된 네트워크 시스템은 중앙 컨트롤러와 복수의 서브 컨트롤러로 구현될 수 있고, 중앙 컨트롤러는 복수의 서브 컨트롤러를 제어할 수 있다.For example, as shown in FIG. 3, a network system designed in a centralized manner can be implemented by a central controller and a plurality of subcontrollers, and a central controller can control a plurality of subcontrollers.

중앙 컨트롤러는 네트워크 스위치에 라우팅 규칙을 포함한 패킷을 전송할 수 있다. 라우팅 규칙을 통해 특정 패킷에 대한 패킷 처리 방식을 지정할 수 있다. 또한, 중앙 컨트롤러는 이동성 헤더를 추가/삭제할 네트워크 스위치를 선별하여 패킷 처리 역할 및 방식을 지정할 수 있다.The central controller can send packets with routing rules to the network switch. Routing rules allow you to specify how packets are handled for a particular packet. In addition, the central controller can select a network switch to add / delete a mobility header, and specify a packet processing role and a method.

중앙 컨트롤러는 특정 네트워크 스위치의 포트에 대해 ‘활성화/비활성화’ 명령 패킷을 전송할 수 있다. 또한, 중앙 컨트롤러는 네트워크 스위치의 상태 정보 및 라우팅 규칙을 얻기 위한 ‘상태 보고’, ‘라우팅 규칙 보고’ 명령 패킷을 개별 네트워크 스위치에 전송할 수 있다.The central controller can send an 'enable / disable' command packet to a port on a particular network switch. In addition, the central controller can send a 'status report' and a 'report routing rule' command packet to the individual network switches to obtain status information and routing rules of the network switch.

네트워크 스위치는 네트워크 스위치 간의 통신 프로토콜(예를 들어, SDN 프로토콜, 링크 (또는 라우터) 및 상태 정보 교환을 위한 라우팅 프로토콜 등)을 통해 객체들의 이동성 정보를 공유할 수 있다. 네트워크 스위치는 객체가 있는 네트워크 접근 스위치 또는 AP까지 최적의 경로로 라우팅을 수행할 수 있다.A network switch may share mobility information of objects via a communication protocol between network switches (e.g., an SDN protocol, a link (or router), and a routing protocol for exchanging state information). The network switch can route to the network access switch or AP with the object to the optimal path.

예를 들어, 네트워크 스위치는 새로 연결된 객체의 정보(식별자 등)를 중앙 컨트롤러 및 주변 스위치에 '새 연결 알림' 패킷을 보냄으로써 통지할 수 있다. 중앙 컨트롤러는 해당 객체가 네트워크 상에 완전히 새로이 진입한 것인지, 기존에 다른 네트워크 스위치에 이미 연결한 후 이동한 것인지를 파악할 수 있다. 후자의 경우, 중앙 컨트롤러는 해당 객체의 정보를 가진 다른 네트워크 스위치에 상기 이동 정보를 통지할 수 있다. 이러한 이동 정보를 통지 받은 스위치는 해당 객체로 향하는 데이터 패킷을 객체에 연결된 네트워크 스위치로 전송할 수 있다.For example, a network switch can notify information (identifiers, etc.) of a newly connected object by sending a "new connection notification" packet to the central controller and peripheral switches. The central controller can determine whether the object is completely new on the network or if it has already been connected to another network switch. In the latter case, the central controller can notify the movement information to another network switch having information of the object. The switch notified of this movement information may send a data packet destined for the object to a network switch connected to the object.

이동하는 객체가 노트북, 스마트폰과 같은 하드웨어(H/W) 객체인 경우, 네트워크 접근 스위치가 이들 객체의 이동성을 지원할 수 있다. 이동 객체가 가상 머신, 애플리케이션, 응용 세션과 같은 S/W 객체인 경우 이들 객체의 이동성을 지원하기 위해 H/W 객체에 이동성 기능이 설치될 수 있다. 이 경우, 이동성 기능을 설치하는 대상은 S/W가 소속된 H/W일 수 있다. 예를 들어, H/W는 유·무선 단말기 또는 네트워크 스위치일 수 있다.If the moving object is a hardware (H / W) object such as a notebook or smart phone, the network access switch can support the mobility of these objects. If the moving object is a S / W object such as a virtual machine, an application, or an application session, the mobility function may be installed in the H / W object to support the mobility of the object. In this case, the target for installing the mobility function may be the hardware to which the S / W belongs. For example, the H / W may be a wired or wireless terminal or a network switch.

도 4는 도 1에 도시된 통신 장치의 동작의 흐름의 예시이다.4 is an illustration of the flow of operation of the communication device shown in Fig.

도 4를 참조하면, 외부 서버와 통신 중인 객체(예를 들어, 단말)가 통신 중에 네트워크 스위치 S1에서 S2로 이동할 경우, 네트워크 스위치S2에서 이동한 객체의 연결을 감지할 수 있다. 네트워크 스위치는 객체가 유·무선으로 주기적으로(일반적으로 Broadcast 방식으로) 전송하는 프레임, 또는 링크 계층에서의 새로운 연결을 맺기 위해 전송하는 연결 요청 프레임 등을 통해서 객체의 연결 여부를 파악할 수 있다.Referring to FIG. 4, when an object (for example, a terminal) communicating with an external server moves from the network switch S1 to S2 during communication, it can detect the connection of the moving object in the network switch S2. A network switch can determine whether or not an object is connected through a frame transmitted by the object periodically (generally in a broadcast manner), or a connection request frame transmitted to establish a new connection at the link layer.

통신 장치(10)는 객체가 단말인 경우뿐만 아니라, 가상 머신, 애플리케이션, 응용 세션인 경우에도 이동 여부를 파악하기 위해, 송/수신하는 패킷에 객체의 식별자를 삽입할 수 있다.The communication device 10 can insert an identifier of an object in a packet to be transmitted / received not only in the case where the object is a terminal but also in a case of a virtual machine, an application, and an application session.

네트워크 스위치는 이동한 객체가 자신에 연결되어 있다는 정보를 단말의 IP 주소 및 자신의 IP 주소와 함께 컨트롤러(100)에 전송하거나, 또는 데이터베이스 시스템에 전송할 수 있다. 네트워크상의 다른 스위치는 조회 모듈(113)을 통해, 객체가 어느 스위치에 연결되어 있는지를 조회할 수 있다.The network switch may transmit information indicating that the moved object is connected to itself to the controller 100 together with the terminal's IP address and its own IP address, or may transmit the information to the database system. Other switches on the network can inquire through the inquiry module 113 which switch the object is connected to.

네트워크 스위치 S3가 목적지 IP 주소가 객체인 패킷을 수신하는 경우, 컨트롤러(100)는 DHT 및 포워딩 테이블을 통해 수신한 패킷이 네트워크 스위치 S2로 포워딩 되어야 함을 알 수 있다.When the network switch S3 receives a packet whose destination IP address is an object, the controller 100 can know that the packet received via the DHT and the forwarding table should be forwarded to the network switch S2.

초기 수신한 패킷에 이동성 헤더가 포함되어 있지 않은 경우, 네트워크 스위치의 삽입 모듈(115)은 객체의 식별자를 목적지 IP주소로 설정할 수 있다. 이 경우에, 이동성 헤더에 삽입되는 식별자 및 위치자가 모두 IP주소일 수 있다.If the initially received packet does not include a mobility header, the inserting module 115 of the network switch may set the identifier of the object to the destination IP address. In this case, both the identifier and the locator inserted in the mobility header may be IP addresses.

네트워크 스위치 S3의 삽입 모듈(115)은 목적지 IP 주소를 스위치 S2로 설정하고, 객체 식별자를 ID 값의 형태로 저장할 수 있다. 삽입 모듈(115)은 패킷에 객체 식별자가 저장된 옵션 필드 또는 확장 헤더를 삽입할 수 있다. 패킷이 스위치 S2에 도착하면 네트워크 접근 스위치 S2의 삽입 모듈(115)은 삽입된 객체 식별자 정보를 토대로 목적지 IP 주소를 객체로 설정할 수 있다. 그 후, 스위치 S2의 송/수신 모듈(130)은 객체로 패킷을 전송할 수 있다.The insertion module 115 of the network switch S3 can set the destination IP address to the switch S2 and store the object identifier in the form of the ID value. The insertion module 115 may insert an optional field or an extension header in which an object identifier is stored in a packet. When the packet arrives at the switch S2, the insertion module 115 of the network access switch S2 can set the destination IP address as an object based on the inserted object identifier information. Then, the sending / receiving module 130 of the switch S2 can transmit the packet to the object.

도 5는 일 실시예에 따른 네트워크 패킷의 예시이다.5 is an illustration of a network packet according to one embodiment.

도 5를 참조하면, 객체의 식별자는 삽입 모듈(115)에 의해 네트워크 패킷의 'object ID header' 내에 저장될 수 있다. 이 헤더는 기존 IPv4 헤더의 옵션 필드의 형태로, 또는 IPv6 헤더의 확장 헤더의 형태로 추가될 수 있다. 삽입 모듈(115)은 식별자 및 위치자를 기존 패킷 헤더의 예약된 필드 또는 사용하지 않는 필드에 삽입함으로써, 기존 네트워크 시스템과의 호환성을 높일 수 있다.Referring to FIG. 5, an identifier of an object may be stored in an 'object ID header' of a network packet by the insertion module 115. This header can be added in the form of an optional field of the existing IPv4 header or in the form of an extension header of the IPv6 header. The insertion module 115 can increase the compatibility with the existing network system by inserting the identifier and the positioner into the reserved field or the unused field of the existing packet header.

도 6은 도 1에 도시된 통신 장치가 제공하는 사물 이동성 플랫폼의 예시이다.6 is an illustration of an object mobility platform provided by the communication device shown in Fig.

도 6을 참조하면, 일 실시예에 따른 통신 장치(10)는 사물 이동성 플랫폼에 기반하여 다양한 객체에 대하여 이동성 기능을 제공할 수 있다. 상술한 바와 같이, 통신 장치(10)는 유·무선 단말, 가상 머신, 애플리케이션, 응용 세션 등의 구분 없이 가능한 모든 객체에 이동성을 제공할 수 있다. 특히 통신 장치(10)는 애플리케이션, 응용 세션과 같이 세분화된 객체의 이동성을 제공할 수 있으며, 이를 통해 기존 컴퓨팅 환경에서 불가능하였던 다양한 활용 시나리오를 가능케 한다. 애플리케이션이나 응용 세션 단위의 이동성을 통해 사용자에게 다음과 같은 새로운 사용자 경험을 제공할 수 있다.Referring to FIG. 6, the communication device 10 according to an exemplary embodiment may provide mobility functions for various objects based on a object mobility platform. As described above, the communication device 10 can provide mobility to all possible objects without distinguishing between a wired / wireless terminal, a virtual machine, an application, an application session, and the like. In particular, the communication device 10 can provide mobility of granular objects such as applications and application sessions, thereby enabling various utilization scenarios that were not possible in existing computing environments. The mobility of an application or application session can provide users with the following new user experiences:

통신 장치(10)는 동적 커널 변경을 수행할 수 있다. 기존 네트워크 시스템에서는 커널을 업데이트하기 위해 재부팅이 필요하며, 이를 위해 실행 중인 사용자의 애플리케이션을 모두 종료해야만 했다. 통신 장치(10)는 사용자 애플리케이션의 중단 없이 애플리케이션을 다른 호스트로 이동함으로써 커널을 변경할 수 있다.The communication device 10 can perform a dynamic kernel change. Existing network systems require a reboot to update the kernel, and in order to do this, all running applications must be shut down. The communication device 10 may change the kernel by moving the application to another host without interruption of the user application.

통신 장치(10)는 네트워크의 부하를 분산시킬 수 있다. 통신 장치(10)는 애플리케이션에 이동성을 지원함으로써, 다른 네트워크에 있는 임의의 호스트(예를 들어, 서버)에 실행 중인 애플리케이션을 이동시킬 수 있다. 이로써, 통신 장치(10)는 네트워크의 특정 호스트 및 특정 애플리케이션에 집중되는 네트워크 트래픽을 분산 시킬 수 있다. 또한, 통신 장치(10)는 이동되는 애플리케이션의 네트워킹 서비스의 중단 없이 서비스를 유지시킬 수 있다.The communication device 10 can distribute the load of the network. The communication device 10 can move an application running on any host (e.g., a server) in another network by supporting mobility for the application. Thereby, the communication apparatus 10 can distribute network traffic concentrated on a specific host and specific application of the network. In addition, the communication device 10 can maintain the service without interruption of the networking service of the moved application.

통신 장치(10)는 고성능 컴퓨팅을 제공할 수 있다. 통신 장치(10)를 통해, 저비용 낮은 사양의 기기를 사용할 때에도, 애플리케이션 이동성을 사용하여 고성능이 요구되는 연산을 고성능 기기에서 실행하여 그 결과를 얻을 수 있다. 통신 장치(10)는 애플리케이션 서비스의 네트워크 중단 없이 고성능 연산을 수행하여 결과 애플리케이션을 사용자 단말에 다시 전달할 수 있다.The communication device 10 can provide high performance computing. Even when a low-cost low-specification device is used through the communication device 10, high-performance computing can be performed using high-performance devices using application mobility, and the result can be obtained. The communication device 10 can perform high performance operations without network interruption of the application service and deliver the resulting application back to the user terminal.

통신 장치(10)는 애플리케이션 디버깅을 수행할 수 있다. 기존 네트워크 시스템에서는, 사용자 단말에 설치된 애플리케이션에서 문제가 발생하는 경우 이를 디버깅하기 위해 애플리케이션 로그를 전송 받아 분석하거나 원격 접속을 통해 직접 해당 기기에서 디버깅을 수행하였다. 통신 장치(10)는 애플리케이션 이동성을 통해 문제가 발생한 애플리케이션을 사용자의 단말에서 개발자 컴퓨터로 이동하여 이를 분석함으로써 발생한 문제를 즉각 파악하여 디버깅을 수행할 수 있다. 특히, 통신 장치(10)는 네트워크의 중단 없이 디버깅을 수행할 수 있으므로 소켓과 같이 운영체제 내부 네트워크 객체의 문제 상황을 정확히 진단할 수 있다.The communication device 10 can perform application debugging. In the existing network system, when a problem occurs in an application installed in a user terminal, the application log is analyzed to debug the application log, or debugging is directly performed on the corresponding device through a remote connection. The communication device 10 can move the application having the problem through the application mobility from the user's terminal to the developer computer and analyze the problem to immediately detect the problem and perform debugging. In particular, since the communication device 10 can perform debugging without interruption of a network, it is possible to accurately diagnose a problem situation of an operating system internal network object such as a socket.

통신 장치(10)는 장애 복구(Fault Recovery)를 수행할 수 있다. 통신 장치(10)는 장애 발생 시 많은 인명, 재산 피해를 초래할 수 있는 시스템에서 특정 서버에 장애가 발생하는 경우, 해당 애플리케이션을 신속히 다른 호스트로 이동함으로써 빠른 시간 내에 장애를 복구하고 장애에 따른 피해를 최소화할 수 있다. 통신 장치(10)는 네트워크의 중단 없이 서비스를 지속할 수 있으므로 장애에 따른 서비스 중단을 방지할 수 있다.The communication device 10 can perform Fault Recovery. When a failure occurs in a specific server in a system in which a lot of people and property may be damaged in the event of a failure, the communication device 10 quickly moves the application to another host, thereby restoring the failure within a short period of time, can do. The communication device 10 can continue the service without interruption of the network, so that the service interruption due to the failure can be prevented.

즉, 통신 장치(10)는 네트워크상에서 애플리케이션 이동성을 지원함으로써 사용자에게 새로운 컴퓨팅 경험을 제공할 수 있다. 통신 장치(10)는 하드웨어 단말, 기기뿐만 아니라 소프트웨어와 소프트웨어가 실행 중 상태인 세션의 이동성도 가능케 하는 데 그 의의가 있다.That is, the communication device 10 can provide a new computing experience to the user by supporting application mobility on the network. The communication device 10 is not only hardware terminals and devices, but also enables the mobility of sessions in which software and software are running.

네트워크 사업자 및 네트워크 장비 사업자는 통신 장치(10)를 통해 많은 수의 이동성 표준 및 기술들을 모두 구현해야 하는 부담을 덜 수 있으며, 네트워크 장비 간 상호 호환성을 높일 수 있다. 사업자는 통신 장치(10)를 구현함으로써 다양한 객체에 이동성을 지원할 수 있으며, 애플리케이션 및 응용 세션 이동성이 제공하는 새로운 사용자 경험을 사용자에게 제공할 수 있다.The network operator and the network equipment provider can relieve the burden of implementing a large number of mobility standards and technologies through the communication device 10 and enhance interoperability between the network equipment. The carrier can support mobility for various objects by implementing the communication device 10 and can provide the user with a new user experience provided by application and application session mobility.

이외에도 통신 장치(10)는 사용자(또는 객체) 수에 비례하여 원활한 이동성 서비스를 제공할 수 있도록 객체 정보의 분산 저장을 지원한다. 따라서 통신 장치(10)는 특정 네트워크 장비에 집중되는 트래픽을 분산할 수 있어 확장성(Scalability)을 가진다. 네트워크 사업자는 특정 지역 내의 객체 수에 비례하여 네트워크 장비를 배치함으로써 사용자에게 안정적인 이동성 서비스를 제공할 수 있다.In addition, the communication device 10 supports distributed storage of object information so as to provide a smooth mobility service in proportion to the number of users (or objects). Therefore, the communication apparatus 10 has scalability because it can distribute traffic concentrated on specific network equipment. Network operators can provide reliable mobility services to users by deploying network equipment in proportion to the number of objects in a specific area.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, 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 (24)

네트워크들 간에 이동하는 객체의 이동성을 지원하기 위한 통신 방법에 있어서,
상기 객체로 전송하려는 패킷을 수신하는 단계;
상기 패킷의 이동성 헤더의 유무에 기초하여 상기 객체의 식별자의 생성 여부를 결정하는 단계;
상기 객체의 식별자에 기초하여 상기 이동성 헤더의 제거를 결정하는 단계; 및
상기 객체의 식별자 및 상기 객체의 위치자에 기초하여 상기 객체가 이동한 네트워크로 상기 패킷을 포워딩하는 단계
를 포함하고,
상기 객체의 식별자는 네트워크 상에서 상기 객체 자체를 식별하는 심벌이고, 상기 객체의 위치자는 네트워크 상에서 상기 객체의 위치를 지정하는 심벌인 통신 방법.

A communication method for supporting mobility of objects moving between networks,
Receiving a packet to be transmitted to the object;
Determining whether to generate an identifier of the object based on the presence or absence of a mobility header of the packet;
Determining removal of the mobile header based on an identifier of the object; And
Forwarding the packet to a network to which the object has moved based on an identifier of the object and a location of the object
Lt; / RTI >
Wherein the identifier of the object is a symbol that identifies the object itself on the network and the location of the object is a symbol that specifies the location of the object on the network.

제1항에 있어서,
상기 객체는,
유·무선 단말, 가상 머신, 애플리케이션 및 응용 세션
을 포함하는 통신 방법.
The method according to claim 1,
The object comprising:
Wired / wireless terminals, virtual machines, applications, and application sessions
/ RTI >
제1항에 있어서,
상기 식별자는,
상기 객체가 가진 고유 정보에 기초하여 구성되며,
상기 고유 정보는 UUID(Universally Unique Identifier), IMEI(International Mobile Equipment Identity), 휴대폰 번호, 애플리케이션 이름 및 버전을 포함하는
통신 방법.
The method according to claim 1,
Wherein the identifier comprises:
Wherein the object is configured based on unique information possessed by the object,
The unique information includes a Universally Unique Identifier (UUID), an International Mobile Equipment Identity (IMEI), a mobile phone number,
Communication method.
제3항에 있어서,
상기 식별자는,
상기 고유 정보에 대하여 조합, 가공, 및 해싱(hashing) 중 적어도 하나를 수행하여 생성되는
통신 방법.
The method of claim 3,
Wherein the identifier comprises:
And generating at least one of combining, processing, and hashing for the unique information
Communication method.
제1항에 있어서,
상기 포워딩 하는 단계는,
상기 이동하는 객체의 식별자 및 위치자를 업데이트하는 단계;
를 포함하는 통신 방법.
The method according to claim 1,
Wherein the forwarding comprises:
Updating an identifier and a locator of the moving object;
/ RTI >
제5항에 있어서,
상기 업데이트하는 단계는,
상기 객체가 이동한 후, 상기 식별자 및 위치자를 데이터베이스 시스템에 저장하는 단계;
상기 데이터베이스 시스템을 통해 상기 식별자 및 위치자를 조회하는 단계; 및
상기 식별자 및 위치자를 상기 패킷에 삽입하는 단계
를 포함하는 통신 방법.
6. The method of claim 5,
Wherein the updating comprises:
Storing the identifier and locator in a database system after the object is moved;
Querying the identifier and locator through the database system; And
Inserting the identifier and the locator into the packet
/ RTI >
삭제delete 제6항에 있어서,
상기 조회하는 단계는,
상기 식별자를 이용하여 상기 위치자를 조회하는 단계; 및
상기 식별자를 이용하여 상기 객체에 연결된 다른 객체들의 식별자 및 위치자를 조회하는 단계
를 포함하는 통신 방법.
The method according to claim 6,
Wherein the querying comprises:
Querying the locator using the identifier; And
And querying an identifier and a locator of other objects connected to the object using the identifier
/ RTI >
제6항에 있어서,
상기 삽입하는 단계는,
상기 객체에 연결된 다른 객체의 식별자 및 위치자를 상기 패킷에 삽입하는 단계
를 포함하는 통신 방법.
The method according to claim 6,
Wherein the inserting step comprises:
Inserting an identifier and a locator of another object connected to the object into the packet
/ RTI >
제6항에 있어서,
상기 식별자 또는 위치자는,
상기 패킷의 예약 필드에 삽입되고,
상기 예약 필드는 옵션 필드 및 확장 헤더를 포함하는
통신 방법.
The method according to claim 6,
The identifier,
Inserted into a reserved field of the packet,
The reserved field includes an optional field and an extended header
Communication method.
제5항에 있어서,
상기 포워딩 하는 단계는,
업데이트된 식별자 및 위치자에 기초하여 상기 패킷을 상기 객체와 연결된 다른 객체로 전송하는 단계
를 더 포함하는 통신 방법.
6. The method of claim 5,
Wherein the forwarding comprises:
Transmitting the packet to another object connected to the object based on the updated identifier and the locator
Lt; / RTI >
제1항에 있어서,
상기 패킷의 데이터를 삽입, 치환 또는 삭제하는 단계
를 더 포함하는 통신 방법.
The method according to claim 1,
Inserting, replacing or deleting data of the packet
Lt; / RTI >
네트워크들 간에 이동하는 객체의 이동성을 지원하기 위한 통신 장치에 있어서,
상기 객체로 전송하려는 패킷을 수신하고, 상기 패킷의 이동성 헤더의 유무에 기초하여 상기 객체의 식별자의 생성 여부를 결정하고, 상기 객체의 식별자에 기초하여 상기 이동성 헤더의 제거를 결정하고, 상기 객체의 식별자 및 상기 객체의 위치자에 기초하여 상기 객체가 이동한 네트워크로 상기 패킷을 포워딩하는 컨트롤러
를 포함하고,
상기 객체의 식별자는 네트워크 상에서 상기 객체 자체를 식별하는 심벌이고, 상기 객체의 위치자는 네트워크 상에서 상기 객체의 위치를 지정하는 심벌인 통신 장치.
1. A communication device for supporting mobility of objects moving between networks, comprising:
Receiving a packet to be transmitted to the object, determining whether to generate an identifier of the object based on the presence or absence of a mobility header of the packet, determining removal of the mobility header based on the identifier of the object, A controller for forwarding the packet to a network on which the object has moved based on an identifier and a location of the object;
Lt; / RTI >
Wherein the identifier of the object is a symbol that identifies the object itself on the network and the location of the object is a symbol that specifies the location of the object on the network.
제13항에 있어서,
상기 객체는,
유·무선 단말, 가상 머신, 애플리케이션 및 응용 세션
을 포함하는 통신 장치.
14. The method of claim 13,
The object comprising:
Wired / wireless terminals, virtual machines, applications, and application sessions
.
제13항에 있어서,
상기 식별자는,
상기 객체가 가진 고유 정보에 기초하여 구성되며,
상기 고유 정보는 UUID(Universally Unique Identifier), IMEI(International Mobile Equipment Identity), 휴대폰 번호, 애플리케이션 이름 및 버전을 포함하는
통신 장치.
14. The method of claim 13,
Wherein the identifier comprises:
Wherein the object is configured based on unique information possessed by the object,
The unique information includes a Universally Unique Identifier (UUID), an International Mobile Equipment Identity (IMEI), a mobile phone number,
Communication device.
제15항에 있어서,
상기 식별자는,
상기 고유 정보에 대하여 조합, 가공, 및 해싱(hashing) 중 적어도 하나를 수행하여 생성되는
통신 장치.
16. The method of claim 15,
Wherein the identifier comprises:
And generating at least one of combining, processing, and hashing for the unique information
Communication device.
제13항에 있어서,
상기 컨트롤러는,
상기 이동하는 객체의 식별자 및 위치자를 업데이트하는 업데이트 모듈
을 포함하는 통신 장치.
14. The method of claim 13,
The controller comprising:
An update module < RTI ID = 0.0 >
.
제17항에 있어서,
상기 업데이트 모듈은,
상기 객체가 이동한 후, 상기 식별자 및 위치자를 데이터베이스 시스템에 저장하는 저장 모듈;
상기 데이터베이스 시스템을 통해 상기 식별자 및 위치자를 조회하는 조회 모듈; 및
상기 식별자 및 위치자를 상기 패킷에 삽입하는 삽입 모듈
을 포함하는 통신 장치.
18. The method of claim 17,
The update module comprising:
A storage module for storing the identifier and locator in a database system after the object is moved;
An inquiry module for inquiring the identifier and the locator through the database system; And
An insertion module for inserting the identifier and the locator into the packet;
.
삭제delete 제18항에 있어서,
상기 조회 모듈은,
상기 식별자를 이용하여 상기 위치자를 조회하고, 상기 식별자를 이용하여 상기 객체에 연결된 다른 객체들의 식별자 및 위치자를 조회하는
통신 장치.
19. The method of claim 18,
Wherein the inquiry module comprises:
An identifier and an identifier of another object connected to the object are inquired using the identifier,
Communication device.
제18항에 있어서,
상기 삽입 모듈은,
상기 객체에 연결된 다른 객체의 식별자 및 위치자를 상기 패킷에 삽입하는
통신 장치.
19. The method of claim 18,
The insertion module
Inserting an identifier and a locator of another object connected to the object into the packet
Communication device.
제18항에 있어서,
상기 식별자 또는 위치자는,
상기 패킷의 예약 필드에 삽입되고,
상기 예약 필드는 옵션 필드 및 확장 헤더를 포함하는
통신 장치.
19. The method of claim 18,
The identifier,
Inserted into a reserved field of the packet,
The reserved field includes an optional field and an extended header
Communication device.
제17항에 있어서,
상기 컨트롤러는,
업데이트된 식별자 및 위치자에 기초하여 상기 패킷을 상기 객체와 연결된 다른 객체로 전송하는 송/수신 모듈
을 더 포함하는 통신 장치.
18. The method of claim 17,
The controller comprising:
And a transmitting / receiving module for transmitting the packet to another object connected to the object based on the updated identifier and the positioner
Further comprising:
제13항에 있어서,
상기 컨트롤러는,
상기 패킷의 데이터를 삽입, 치환 또는 삭제하는 패킷 수정 모듈
을 더 포함하는 통신 장치.
14. The method of claim 13,
The controller comprising:
A packet modification module for inserting, replacing or deleting data of the packet;
Further comprising:
KR1020170059371A 2016-11-29 2017-05-12 Communication method and apparatus providing mobility of objects KR101984846B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/817,110 US20180152379A1 (en) 2016-11-29 2017-11-17 Communication Method and Apparatus Providing Mobility of Object

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160160859 2016-11-29
KR20160160859 2016-11-29

Publications (2)

Publication Number Publication Date
KR20180060908A KR20180060908A (en) 2018-06-07
KR101984846B1 true KR101984846B1 (en) 2019-05-31

Family

ID=62621687

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170059371A KR101984846B1 (en) 2016-11-29 2017-05-12 Communication method and apparatus providing mobility of objects

Country Status (1)

Country Link
KR (1) KR101984846B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102118259B1 (en) 2018-09-13 2020-06-09 한국과학기술원 Method and apparatus for simultaneously providing mobility management and privacy protection
KR102361138B1 (en) * 2020-08-24 2022-02-09 숭실대학교 산학협력단 Communication mapping system and method based on lisp network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SIMM 확장 및 상호운용 가능한 이동성 관리(한상엽 외 4인, 2016 한국 컴퓨터종합학술대회, 2016.07.01.)
Stateful session handoff for mobile WWW(M. Hsieh et al, 2006.05.08.) 1부.*

Also Published As

Publication number Publication date
KR20180060908A (en) 2018-06-07

Similar Documents

Publication Publication Date Title
US10484337B2 (en) Scalable proxy clusters
US9923786B2 (en) System and method for performing a service discovery for virtual networks
US11765057B2 (en) Systems and methods for performing end-to-end link-layer and IP-layer health checks between a host machine and a network virtualization device
US20220206908A1 (en) Techniques for replicating state information for high availability
Abdelaziz et al. Distributed controller clustering in software defined networks
US9178829B2 (en) System for communication in a tactical network
EP3353952B1 (en) Managing groups of servers
US11290367B2 (en) Hierarchical network configuration
US10819659B2 (en) Direct replying actions in SDN switches
EP2997747A1 (en) Systems and methods for enhanced discovery
WO2014089799A1 (en) Method and apparatus for determining virtual machine drifting
US20200305042A1 (en) Interest packet routing in information centric networks
US11968080B2 (en) Synchronizing communication channel state information for high flow availability
EP3178215B1 (en) Routing requests with varied protocols to the same endpoint within a cluster
US20220210086A1 (en) Managing network state for high flow availability within distributed network platform
KR101984846B1 (en) Communication method and apparatus providing mobility of objects
Safdar et al. ARP Overhead Reduction Framework for Software Defined Data Centers
US20180152379A1 (en) Communication Method and Apparatus Providing Mobility of Object
CN116319514B (en) Data processing method and related device
JP2012203421A (en) Information processing method, management server and management program
JP2024503599A (en) Synchronization of communication channel state information for highly available flows
Ojala State management in coreless mobile networks
KR20190030854A (en) A method and apparatus for supporting mobility of host using hierarchical distributed hash table

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant