KR101843239B1 - 소프트웨어 정의 프로토콜 스택을 제공하기 위한 시스템 및 방법 - Google Patents

소프트웨어 정의 프로토콜 스택을 제공하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101843239B1
KR101843239B1 KR1020157032052A KR20157032052A KR101843239B1 KR 101843239 B1 KR101843239 B1 KR 101843239B1 KR 1020157032052 A KR1020157032052 A KR 1020157032052A KR 20157032052 A KR20157032052 A KR 20157032052A KR 101843239 B1 KR101843239 B1 KR 101843239B1
Authority
KR
South Korea
Prior art keywords
network
sdp
controller
protocol
functional blocks
Prior art date
Application number
KR1020157032052A
Other languages
English (en)
Other versions
KR20150143613A (ko
Inventor
페타르 듀키치
항 장
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20150143613A publication Critical patent/KR20150143613A/ko
Application granted granted Critical
Publication of KR101843239B1 publication Critical patent/KR101843239B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/083Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Environmental & Geological Engineering (AREA)

Abstract

소프트웨어 정의 프로토콜(SDP) 네트워크 노드들을 갖는 네트워크들을 위한 프레임워크에 대해 실시예들이 제공된다. 실시예들은 SDP 네트워크 노드들을 위한 데이터 평면 프로토콜을 관리하고 제어하기 위한 SDP 제어기 컴포넌트를 포함한다. SDP 제어기는 또한 SDP 네트워크 노드들을 포함하는 네트워크 내의 하나 이상의 경로를 결정하기 위해 소프트웨어 정의 네트워킹(SDN) 제어기와 상호작용한다. SDP 제어기는 네트워크 컴포넌트 능력들 또는 서비스/경험 품질 요건에 따라 서비스, 트래픽 플로우 또는 가상 네트워크에 대해, 데이터 평면 프로세스 기능성의 복수의 기본 프로세스 기능 블록으로의 분해를 결정하도록 구성된다. 또한, 워크플로우 및 상태 정보는 SDN 제어기에 의해, 할당된 경로를 따르는 하나 이상의 네트워크 컴포넌트에 대해 결정된다. 워크플로우 및 상태 정보는 기본 프로세스 기능 블록들을 이용하여 워크플로우를 구현하도록 구성된 하나 이상의 컴포넌트에게 나타내어진다.

Description

소프트웨어 정의 프로토콜 스택을 제공하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDING A SOFTWARE DEFINED PROTOCOL STACK}
<기술분야>
삭제
삭제
본 발명은 네트워크 통신 분야에 관한 것이고, 구체적으로는 소프트웨어 정의 프로토콜 스택을 갖는 관리된 네트워크를 위한 프레임워크를 위한 시스템 및 방법에 관한 것이다.
현재의 네트워크 데이터 평면 프로토콜은 단-대-단(end-to-end) 7층 프로토콜 스택에 기초한다. 각각의 층 내에는 독립적인 프로세스가 존재하고, 독립적인 층들 사이의 상호작용은 층들 간의 프리미티브들(primitives)을 통한다. 단-대-단 데이터 평면 프로세스의 기능들 중 다수는 네트워크 내에서 하부 층 링크별 데이터 프로세스 기능(lower layer per link data process function)과 공존한다. 현재의 프로토콜 스택은 미리 구성되고 고정되며, 따라서 네트워크 변경들에 효율적으로 적응하지 못한다. 현재의 프로토콜 스택 설계는 그것이 애플리케이션별 QoE(quality of experience)의 정확하게 매칭된 프로비저닝(tightly matched provisioning)을 못하게 하는 제한된 수의 옵션을 제공한다. 또한, 현재의 프로토콜 스택은 모든 단-대-단 호스트를 동일하게 취급하지만, 다수의 새로운/장래의 서비스/애플리케이션, 예를 들어 머신-대-머신(M2M) 통신은 커스텀 프로토콜 스택을 필요로 할 수 있다. 애플리케이션의 요구 및 요건들에 기초하여 데이터 평면들을 구현하고 효율적으로 적응시키는 개선된 프로토콜 스택이 필요하다.
실시예에 따르면, 소프트웨어 정의 프로토콜(SDP)을 제공하기 위해 네트워크 디바이스에 의해 구현되는 방법은, SDP 제어기를 이용하여, 데이터 평면 프로세스 기능성의 복수의 기본 프로세스 기능 블록으로의 분해(break-down of data plane process functionality into a plurality of basic process function blocks)를 결정하는 단계를 포함한다. 방법은 네트워크 내의 경로를 따르는 하나 이상의 네트워크 컴포넌트에 대하여, 서비스 품질(QoS) 요건 또는 경험 품질(QoE) 요건에 따라 기본 프로세스 기능 블록들의 부분집합을 포함하는 프로토콜 스택을 결정하는 단계를 더 포함한다. 다음으로, 하나 이상의 네트워크 컴포넌트는 기본 프로세스 기능 블록들의 부분집합을 구현하도록 구성된다.
다른 실시예에 따르면, SDP를 제공하기 위해 네트워크 디바이스에 의해 구현되는 방법은, SDP 제어기를 이용하여, 네트워크 컴포넌트 능력들(capabilities), QoS 요건, 또는 QoE 요건에 따라, SDP 제어기에 의해 다루어지는 각각의 서비스, 트래픽 플로우 또는 가상 네트워크에 대해, 데이터 평면 프로세스 기능성의 복수의 기본 프로세스 기능 블록으로의 분해를 결정하는 단계를 포함한다. 방법은 서비스, 트래픽 플로우 또는 가상 네트워크에 대해 할당된 경로를 따르는 하나 이상의 네트워크 컴포넌트에 대해, 기본 프로세스 기능 블록들 각각에 대한 워크플로우 및 상태 정보를 결정하는 단계를 더 포함한다. 워크플로우 및 상태 정보는 기본 프로세스 기능 블록들을 이용하여 워크플로우를 구현하도록 구성된 하나 이상의 컴포넌트에게 나타내어진다.
본 실시예에 따라 SDP를 제공하기 위해 네트워크 디바이스에 의해 구현되는 방법의 제1 가능한 구현 형태에서, 경로는 상이한 데이터 평면 처리 능력들 및 기능성을 갖는 네트워크 컴포넌트들을 포함한다.
본 실시예에 따라 SDP를 제공하기 위해 네트워크 디바이스에 의해 구현되는 방법의 제2 가능한 구현 형태에서, 기본 프로세스 기능 블록들은 경로를 따르는 각각의 고려되는 컴포넌트의 데이터 평면 프로세스 능력에 따라, 서비스, 트래픽 플로우 또는 가상 네트워크의 데이터 평면 프로세스에 대해 결정된다.
본 실시예의 제2 가능한 구현 형태에 따라 SDP를 제공하기 위해 네트워크 디바이스에 의해 구현되는 방법의 제3 가능한 구현 형태에서, 방법은 네트워크 노드 능력의 데이터베이스로부터 고려되는 컴포넌트의 데이터 평면 프로세스 능력을 획득하는 단계를 더 포함한다.
본 실시예에 따라 SDP를 제공하기 위해 네트워크 디바이스에 의해 구현되는 방법의 제4 가능한 구현에서, 경로는 SDP 제어기에 의해 구성가능한 하나 이상의 SDP-가능형 컴포넌트를 포함한다.
본 실시예의 제4 가능한 구현 형태에 따라 SDP를 제공하기 위해 네트워크 디바이스에 의해 구현되는 방법의 제5 가능한 구현에서, 경로는 SDP 제어기에 의해 구성가능하지 않은 하나 이상의 비-SDP-가능형 컴포넌트(non-SDP-enabled component)를 더 포함하고, 기본 프로세스 기능 블록들은 하나 이상의 비-SDP-가능형 컴포넌트의 데이터 프로세스 평면 기능성을 고려하여 하나 이상의 SDP-가능형 컴포넌트에 대해 결정된다.
본 실시예에 따라 SDP를 제공하기 위해 네트워크 디바이스에 의해 구현되는 방법의 제6 가능한 구현에서, 경로는 SDP 제어기에 의해 구성가능한 하나 이상의 SDP-가능형 엔드 디바이스 또는 사용자 디바이스를 포함한다.
다른 실시예에 따르면, SDP를 제공하기 위한 방법은 SDP 제어기를 이용하여, 데이터 평면 프로세스를 관리하기 위한 프로토콜 스택을 결정하는 단계를 포함한다. 프로토콜 스택은 복수의 기본 프로세스 기능 블록을 포함한다. 방법은 프로토콜 스택에 따라 데이터 포워딩을 위한 경로를 결정하기 위해 SDN 제어기와 상호작용하는 단계를 더 포함한다. SDP 제어기는 또한 기본 프로세스 기능 블록들을 구현하도록 경로 상의 하나 이상의 네트워크 컴포넌트 또는 디바이스를 구성한다.
본 실시예의 SDP를 제공하기 위한 방법의 제1 가능한 구현에서, SDP 제어기 및 SDN 제어기는 경로, 경로 상의 하나 이상의 네트워크 컴포넌트 또는 디바이스를 위한 프로토콜 스택의 기본 프로세스 기능 블록들을 결정하기 위해 공동으로(jointly) 상호작용한다.
본 실시예의 제1 가능한 구현에 따라 SDP를 제공하기 위한 방법의 제2 가능한 구현에서, 방법은 경로 또는 하나 이상의 네트워크 컴포넌트 또는 디바이스는 프로토콜 스택을 구현하도록 구성가능하지 않다고 결정하는 단계; 경로 또는 하나 이상의 네트워크 컴포넌트 또는 디바이스는 프로토콜 스택을 구현하도록 구성가능하지 않다고 결정하면, SDN 제어기로부터 업데이트된 경로를 요청하는 단계; 하나 이상의 업데이트된 네트워크 컴포넌트 또는 디바이스를 포함하는 업데이트된 경로를 결정하기 위해 SDN 제어기와 상호작용하는 단계; 및 기본 프로세스 기능 블록들을 구현하기 위해 업데이트된 경로 내의 하나 이상의 업데이트된 네트워크 컴포넌트 또는 디바이스를 구성하는 단계를 더 포함한다.
본 실시예의 SDP를 제공하기 위한 방법의 제3 가능한 구현에서, SDP 제어기 및 SDN 제어기는 경로를 결정하기 위해 공동으로 상호작용하고, 경로는 SDN 제어기에 의해 SDP 제어기에 나타내어지고, 프로토콜 스택은 경로를 고려하여 SDP 제어기에 의해 결정된다.
본 실시예의 SDP를 제공하기 위한 방법의 제4 가능한 구현에서, 방법은 서비스 논리 토폴로지와 데이터 평면 논리 토폴로지 사이의 맵핑을 위해 소프트웨어 정의 토폴로지 관리를 수행하기 위해 제어 엔티티와 상호작용하는 단계를 더 포함한다.
본 실시예의 제4 가능한 구현에 따라 SDP를 제공하기 위한 방법의 제5 가능한 구현에서, 제어 엔티티와 상호작용하는 단계는, SDP 제어기에서, 결정된 데이터 평면 토폴로지 내의 하나 이상의 네트워크 컴포넌트 또는 다른 네트워크 컴포넌트들에 대한 요구되는 데이터 프로세스들의 표시를 제어 엔티티로부터 수신하는 단계; 및 표시를 고려하여 하나 이상의 네트워크 컴포넌트를 구성하는 단계를 포함한다.
본 실시예의 SDP를 제공하기 위한 방법의 제6 가능한 구현에서, 방법은 SDP 제어기를 이용하여, 패신저 프로토콜의 데이터 패킷들을 캐리어 프로토콜의 데이터 패킷들로 변환하기 위해, 경로 내의 적어도 세그먼트에 대해 인그레스(ingress) SDP 네트워크 컴포넌트를 구성하는 단계; 및 캐리어 프로토콜의 데이터 패킷들을 패신저 프로토콜의 데이터 패킷들로 변환하기 위해, 경로 내의 세그먼트에 대해 이그레스(egress) SDP 네트워크 컴포넌트를 구성하는 단계를 포함하고, 세그먼트는 SDP 제어기에 의해 구성가능한 컴포넌트를 포함하지 않는다.
다른 실시예에 따르면, SDP를 제공하도록 구성된 네트워크 디바이스는 적어도 하나의 프로세서, 및 적어도 하나의 프로세서에 의해 실행될 프로그래밍을 저장하는 컴퓨터 판독가능한 저장 매체를 포함한다. 프로그래밍은 SDP 제어기를 이용하여, 서비스, 트래픽 플로우 또는 가상 네트워크를 위한 데이터 평면 기능성을 복수의 기본 프로세스 기능 블록으로 분해하기 위한 명령들을 포함한다. 프로그래밍은 네트워크 내의 경로를 따르는 하나 이상의 네트워크 컴포넌트에 대하여, QoS 요건에 따라 기본 프로세스 기능 블록들의 부분집합을 포함하는 프로토콜 스택을 결정하기 위한 명령들을 더 포함한다. 네트워크 디바이스는 또한 기본 프로세스 기능 블록들의 부분집합을 구현하도록 하나 이상의 네트워크 컴포넌트를 구성한다.
다른 실시예에 따르면, SDP를 지원하기 위한 네트워크 컴포넌트에 의한 방법은 SDP 제어기로부터, 기본 프로세스 기능 블록들 중 하나 이상을 위한 워크플로우 및 상태 정보를 수신하는 단계를 포함한다. 기본 프로세스 기능 블록들은 네트워크 컴포넌트 능력들, QoS 요건 또는 QoE 요건에 따라, 서비스, 트래픽 플로우 또는 가상 네트워크에 대해, 데이터 평면 프로세스 기능성을 분할하기 위해 SDP 제어기에 의해 생성된다. 방법은 네트워크 컴포넌트에서, 상태 정보를 이용하여 하나 이상의 기본 프로세스 기능 블록의 워크플로우를 구현하는 단계를 더 포함한다.
또 다른 실시예에 따르면, SDP를 지원하도록 구성된 네트워크 컴포넌트는 적어도 하나의 프로세서, 및 적어도 하나의 프로세서에 의해 실행될 프로그래밍을 저장하는 컴퓨터 판독가능한 저장 매체를 포함한다. 프로그래밍은 SDP 제어기로부터, 기본 프로세스 기능 블록들 중 하나 이상을 위한 워크플로우 및 상태 정보를 수신하기 위한 명령들을 포함한다. 기본 프로세스 기능 블록들은 네트워크 컴포넌트 능력들, QoS 요건 또는 QoE 요건에 따라, 서비스, 트래픽 플로우 또는 가상 네트워크에 대해 데이터 평면 프로세스 기능성을 분할하기 위해 SDP 제어기에 의해 생성된다. 네트워크 컴포넌트에서의 프로그래밍은 상태 정보를 이용하여 하나 이상의 기본 프로세스 기능 블록의 워크플로우를 구현하기 위한 명령들을 더 포함한다.
위에서는 이하의 본 발명의 상세한 설명이 더 잘 이해될 수 있도록 하기 위해, 본 발명의 실시예의 특징들을 다소 폭넓게 개술하였다. 본 발명의 청구항들의 주제를 형성하는 본 발명의 실시예들의 추가의 특징 및 이점은 이하에 설명될 것이다. 본 기술분야의 숙련된 자들은 개시된 개념 및 구체적인 실시예들이 본 발명의 동일 목적을 실현하기 위해 다른 구조 또는 프로세스를 수정하거나 설계하기 위한 기초로서 쉽게 이용될 수 있음을 알 것이다. 또한, 본 기술분야의 숙련된 자들은 그러한 균등한 구성들이 첨부된 청구항들에 제시된 본 발명의 취지 및 범위로부터 벗어나지 않는다는 것을 알아차릴 것이다.
본 발명 및 그것의 이점의 더욱더 완전한 이해를 위해, 첨부 도면과 관련하여 이루어진 이하의 설명이 참조된다.
도 1은 소프트웨어 정의 프로토콜들(SDP)을 위한 데이터 평면 기능 블록들의 실시예를 도시한다.
도 2는 소프트웨어 설계 네트워킹(SDN) 및 SDP 상호작용의 방식의 실시예를 도시한다.
도 3은 SDP 워크플로우의 실시예를 도시한다.
도 4는 소프트웨어 정의 프로토콜 네트워크의 컴포넌트들의 실시예를 도시한다.
도 5a는 결합된 관리 모듈의 실시예를 도시한다.
도 5b는 분리된 관리 모듈의 실시예를 도시한다.
도 6a는 워크플로우의 실시예를 도시한다.
도 6b는 워크플로우의 다른 실시예를 도시한다.
도 7은 SDP 애플리케이션의 실시예를 도시한다.
도 8은 SDN 제어기 동작 방법의 프로세스 플로우의 실시예이다.
도 9는 SDP 제어기 동작 방법의 프로세스 플로우의 실시예이다.
도 10은 인그레스 프로토콜 컨버터(ingress protocol converter)를 위한 방법의 프로세스 플로우의 실시예이다.
도 11은 이그레스 프로토콜 컨버터(egress protocol converter)를 위한 방법의 프로세스 플로우의 실시예이다.
도 12는 플로우를 위한 경로 선택의 예를 도시한다.
도 13은 플로우를 위한 경로 선택의 다른 예를 도시한다.
도 14는 플로우를 위한 경로 선택의 다른 예를 도시한다.
도 15는 다양한 실시예들을 구현하기 위해 이용될 수 있는 처리 시스템의 도면이다.
상이한 도면들에서의 대응 번호들 및 기호들은 다르게 나타내어지지 않는 한, 일반적으로 대응 부분들을 지칭한다. 도면들은 실시예들의 관련 양태들을 분명하게 예시하도록 도시되어 있으며, 반드시 비례에 맞춰 그려지지는 않는다.
현재의 바람직한 실시예들의 제조 및 이용이 이하에 상세하게 논의된다. 그러나, 본 발명은 광범위하게 다양한 특정 맥락들에서 실시될 수 있는 다수의 이용가능한 발명의 개념을 제공한다는 것을 알아야 한다. 논의되는 구체적인 실시예들은 본 발명을 제조하고 이용하기 위한 구체적인 방식의 예에 지나지 않으며, 본 발명의 범위를 제한하지 않는다.
장래의 네트워크들은 예를 들어 비디오 트래픽 및 머신-대-머신(M2M) 트래픽과 같이, 복수의 유형의 서비스 또는 성질을 갖는 공존하는 트래픽들을 동시에 가질 수 있다. 네트워크 성능을 최적화하고 다양한 공존 서비스 품질(QoS) 클래스들에 서비스들을 제공하기 위해, 장래의 네트워크들은 그들의 QoS 목표들 전부를 달성하기 위해 소프트웨어 정의 네트워킹(SDN) 기술들을 갖는 중앙화된 관리를 필요로 할 수 있다. 그러나, SDN을 이용하더라도, 네트워크들의 성능은 그들의 기저 프로토콜들에 의해 여전히 제한될 수 있다. 소프트웨어 정의 프로토콜(SDP) 네트워크 요소들, 또는 새로운 프로토콜들을 구현하는 정적 네트워크 요소들(프로토콜 컨버터들)의 사용을 통해 새로운 프로토콜들이 동적으로 추가됨에 따라, SDN 제어기들은 SDP 네트워크 요소들로 구현될 데이터 평면 프로토콜 차이들을 인식할 필요가 있다. 현재, SDN 제어기들은 프로토콜 컨버터들의 SDP 네트워크 요소들의 프로토콜 차이들 또는 웨징(wedging)을 인식하지 못한다. 현재에는, SDN 제어기와의 동적인 동작 및 상호작용을 제공하는 효율적인 SDP 제어기가 존재하지 않는다.
현재 및 장래의 네트워크들에서, SDP 네트워크 노드들의 사용을 통해, 새로운 프로토콜들이 동적으로 추가될 수 있다. SDP 네트워크 노드들은 현재 네트워크 노드들의 성능을 강화할 수 있는데, 이들은 통상적으로 프로토콜들을 강화하지는 않는다. SDP 네트워크 노드 및 SDP 네트워크 요소라는 용어는 본원에서 동일한 SDP 기능성들을 갖는 SDP 엔티티 또는 컴포넌트, 또는 가상 SDP 엔티티 또는 컴포넌트를 지칭하기 위해 상호교환가능하게 이용된다. 현재의 프로토콜 컨버터들은 그러한 목적을 위해 충분히 정교하지 않을 수 있다. 예를 들어, 구현되는 현재의 인터넷 프로토콜 보안(IPsec) 타입 서비스들은 복수의 홉에 걸친 신뢰성 또는 정체(congestion) 제어를 제공하지 않는다. 마찬가지로, TCP 스플리팅 솔루션들(예를 들어, I-TCP)은 강화된 보안 피쳐들을 제공하지 않는다.
본원에서는 소프트웨어 정의 프로토콜(SDP) 네트워크 노드들을 갖는 네트워크들을 위한 프레임워크에 대해 실시예들이 제공된다. SDP 네트워크 노드에서, 프로토콜들은 소프트웨어로 구현될 수 있다. 그러한 것으로서, 새로운 프로토콜들은 노드 상에 설치될 수 있고, 프로토콜들은 SDP 네트워크 노드를 교체하지 않고서 변경 또는 업그레이드될 수 있다. 더 많은 옵션들을 허용하는 데이터 평면 프로토콜의 관리 복잡성으로 인해, SDP 네트워크 노드들은 외부 SDP 제어기에 의해 제어될 필요가 있을 수 있다. 현재에는, SDN 제어기와의 동적인 동작 및 상호작용을 제공하는 SDP 제어기 또는 효율적인 SDP 제어기가 존재하지 않는다.
실시예들은 예를 들어 온-디맨드 방식에 따라 또는 필요에 따른 방식(as-needed basis)에 따라, 요구되는 QoS를 달성하기 위한 최상의 프로토콜 스택을 선택하는 SDP 제어기를 포함한다. SDP 제어기는 이하에 상세하게 설명되는 바와 같이, 데이터 평면 기능 블록들(100) 및 그 기능 블록들을 구현하기 위한 SDP 정의 워크플로우(SDP defined workflow)를 이용하여 네트워크 내의 임의의 SDP 구성가능한 노드를 구성할 수 있다. SDP 제어기는 서비스, 트래픽 플로우 또는 가상 네트워크를 다루기 위한 네트워크 내의 경로 및/또는 노드들을 선택하기 위해 SDN 제어기와 상호작용한다. 다음으로, SDP 제어기는 SDN 제어기의 정보에 따라 경로를 따르는 노드들을 구성한다. SDP 제어기 및 SDN 제어기는 순차적인 방식으로(예를 들어, SDN 동작을 구현한 다음, 연속하여 SDP 동작들을 구현함), 또는 동시에(예를 들어, SDP 제어기와 SDN 제어기 사이의 상호작용 및 조정을 통해) 동작할 수 있다. 본원에서 SDP 제어기 및 SDP 관리자라는 용어는 동일한 SDP 기능성들을 갖는 SDP 엔티티 또는 컴포넌트를 지칭하기 위해 상호교환가능하게 이용된다. 마찬가지로, 본원에서 SDN 제어기 및 SDN 관리자라는 용어는 동일한 SDN 기능성들을 갖는 SDN 엔티티 또는 컴포넌트를 지칭하기 위해 상호교환가능하게 이용된다.
실시예들은 데이터 평면 내에 개선된 유연성을 제공한다. 예를 들어, 장비가 설치된 후에 프로토콜들이 추가될 수 있고, 더 양호한 프로토콜 피쳐들과, 아래에 설명되는 다른 피쳐들이 가능하게 될 수 있다. 또한, 개선된 효율이 데이터 평면 내에 제공된다(예를 들어, 데이터 평면 오버헤드를 최소화함). 또한, 요구되는 QoS/QoE와 데이터 평면 기능성 사이에 최상의 또는 적절한 매칭을 제공하는 것에 의해, 또한 데이터 평면 프로세스들을 실시간 네트워크 거동에 적응시키는 것에 의해, 개선된 QoE 성능이 제공될 수 있다.
도 1은 SDP를 위한 데이터 평면 기능 블록들(100)의 실시예를 도시한다. SDP 제어기는 데이터 평면 기능성을 복수의 기본 기능 블록으로 분할할 수 있다. 기본 데이터 평면 프로세스 기능 블록들은 플로우 제어{예를 들어, 순서화(ordering) 및 레이트 매칭을 포함}, 신뢰성(예를 들어, 데이터 손실 식별, 데이터 손실 표시, 및 데이터 복구를 포함), 보안(예를 들어, 단-대-단 또는 네트워크 보안을 포함), 데이터 포워딩, 비순차 제어(out-of-order control)(예를 들어, 패킷 시퀀스 번호들을 포함), 조각화/리어셈블리(fragmentation/reassembly), 압축, 정체, 에러 제어, 명명된 컨텐츠 전달(named content delivery){예를 들어, 컨텐츠 이익 저장(content interest storage), 컨텐츠 소유자(holder) 식별, 컨텐츠 데이터 블록 캐싱, 컨텐츠 식별 및 컨텐츠 보안 검증을 포함}, 데이터 취합(data aggregation){예를 들어, 역방향 멀티캐스트 집합(reverse multicast aggregation)), 데이터 홀딩(data holding)(예를 들어, 지연 허용 네트워킹 기능들(delay-tolerant networking functions) 및 재송신}, 및 아마도 다른 기능들을 위한 기능들을 포함할 수 있다. 기능들(100) 중 일부는 네트워크에 걸친 경로 내의 엔드 또는 에지 노드들 상에서 단-대-단(E2E)으로서, 경로를 따르는 다수의 노드에 걸친 다중 링크들 또는 개별 홉들 상의 링크별로, 또는 둘 다로서 구현될 수 있다(예를 들어, 신뢰성 기능). 또한, 기능들(100) 중 일부는 상이한 레벨들의 복잡도 또는 증가된 기능성에서 작동하도록 구성될 수 있다(예를 들어, 보안 기능).
도 2는 SDP 및 SDN 상호작용의 방식(200)의 실시예를 도시한다. 상이한 능력들의 데이터 프로세스 기능성들을 갖는 복수의 유형의 노드가 존재한다. 중앙화된 SDP 제어기(210)는 기지국들, 사용자 디바이스들 및/또는 에지 노드들과 같은 네트워크 에지 노드들(230) 사이에서 (데이터 소스로부터 데이터 싱크까지) 단-대-단 데이터 평면 프로세스를 제어한다. 단-대-단 데이터 평면 프로세스를 제어하는 것은 임의의 적절한 또는 구성가능한 에지 노드(230)를 포함하는 경로 내의 임의의 적절한 (SDP 구성가능한) 노드를 제어하는 것을 포함한다. SDP 제어기는 또한 SDN 제어기(220)와 상호작용한다. SDP 제어기(210) 및 SDN 제어기(220)는 네트워크로부터 애플리케이션/서비스 요건 정보(240) 및 네트워크/QoE 상태 정보(250)를 수신한다. SDN 제어기는 애플리케이션 정보 및 네트워크 상태 정보를 갖고서, 동일 가상 네트워크에 속하는 단-대-단 플로우들의 집합, 또는 단-대-단 플로우들의 집합 또는 각각의 단-대-단 플로우에 대한 경로들을 선택한다. 그에 따라, SDP 제어기는 네트워크 전반의 플로우들 또는 가상 네트워크들에 대하여 데이터 평면 프로토콜들을 프로비저닝한다. 예를 들어 다수의 플로우가 동일 가상 네트워크(VN)의 일부분인 경우, 그것들은 동일한 경로들 및 프로토콜들을 공유할 수 있다.
도 3은 SDP 워크플로우(300)의 실시예를 도시한다. SDN 제어기와 SDP 제어기 사이의 상호작용에 대하여, SDN 제어기는 포괄적(또는 임의의) 네트워크 자원에 대응하는 접속성 서비스를 제공한다. SDN 제어기는 SDP 제어기(310)에게, 할당된 네트워크 자원을 통지한다. SDP 제어기(310)는 각각의 관여되는 네트워크 노드(330)에 대해 데이터 평면 프로세스 전략을 제공한다. 네트워크 노드(330)는 SDN 제어기에 의해 나타내어지는, 또는 SDN 제어기에 의해 나타내어지는 경로 상의 임의의 SDP 구성가능한 네트워크 노드(가상 네트워크 노드들을 포함)일 수 있다. SDP 제어기(310)는 다른 비-SDP-가능형 노드들/디바이스들의 데이터 평면 프로세스 기능성의 영향을 고려함으로써, SDP-가능형(SDP 구성가능한) 노드들/디바이스들에 대한 데이터 프로세스 기능성의 집합을 결정할 수 있다. SDP-가능형 및 비-SDP-가능형 노드들은 SDN 제어기에 의해 나타내어질 수 있다. 노드들은 데이터 능력에 관하여 낮은 레벨의 노드들, 예를 들어 제한된 하드웨어, 저장 및/또는 처리 능력(예를 들어, 물리 층 처리 전용)을 갖는 노드들을 포함할 수 있다. 노드들은 낮은 레벨 데이터 능력 노드들에 비교하여, 데이터 처리에 대한 더 높은 능력(예를 들어, 물리 층 이상)을 갖는 중간 데이터 능력 노드들을 포함할 수 있다. 노드들은 또한 중간 레벨 노드들보다 높은 데이터 처리 능력을 갖는 높은 레벨 데이터 능력 노드들을 포함한다. SDP-가능형 노드들은 데이터 처리 능력에 관하여 높은 레벨, 중간 레벨, 및 낮은 레벨의 노드의 임의의 조합을 포함할 수 있다. 노드들은 또한 가상일 수 있는데, 예를 들어 소프트웨어로 구현되고 소프트웨어 정의 토폴로지(software defined topology: SDT) 제어기(도면에 도시되지 않음)에 의해 지시되는 대로 네트워크에 걸쳐 이동(migrating)할 수 있다. 데이터 처리 능력의 예들은 심층 패킷 검사(deep packet inspection: DPI) 및/또는 다른 상위 데이터 평면 프로세스들, 패킷 필터링, 주소 변환, 및 다른 데이터 처리 관련 능력들을 포함한다.
SDP-가능형 노드들/디바이스들을 위한 데이터 프로세스 기능성의 집합을 결정하기 위해, SDP 제어기(310)는 데이터 평면 프로세스 능력, 서비스 트래픽 특성, 서비스 QoS 요건/가격 정책, 가상 네트워크(VN) 토폴로지/능력, 트래픽 로드/패턴 변화, 네트워크 링크 품질, 네트워크 보안 레벨, 소스/소비자 장비 능력, 노드 능력, 및/또는 다른 적절한 기준과 같은 정보를 이용한다. 예를 들어, SDP 제어기(310)는 네트워크 노드 능력의 데이터베이스로부터, 고려되는 노드들의 데이터 평면 프로세스 능력을 획득할 수 있다. 마찬가지로, 데이터 프로세스 기능성의 집합을 결정하기 위한 다른 정보는 공유되는 데이터베이스 또는 대응하는 데이터베이스들 내에 저장될 수 있다. 워크플로우 전략은 데이터 평면 기능들(예를 들어, 리어셈블리, 암호화)의 부분집합, 기본 프로세스 블록들의 워크플로우 순서 및 그들의 종속성, 및 상태 정보를 포함할 수 있다. 데이터 평면 프로세스 중 일부는 요구되는 자원, 예를 들어 신뢰성에 영향을 줄 수 있다. SDN 및 SDP 제어기는 또한 공동 최적화 또는 상호작용을 이용할 수 있다. 예를 들어, SDN 제어기는 경로 선택을 결정하기 위해 기준들의 집합을 이용하며, SDP 제어기는 경로들 상의 프로토콜 선택을 결정하기 위해 기준들의 다른 집합을 이용한다. SDP 제어기와 SDN 제어기 사이에 상호작용이 있을 수 있다. 예를 들어, SDP 제어기가 경로들 상에서 요구되는 프로토콜들을 프로비저닝할 수 없는 경우, SDP 제어기는 SDN 제어기에게 통지하고, SDN 제어기에 의해 다른 경로 또는 새로운 노드들이 나타내어질 때까지 기다린다. SDN은 SDP 제어기에 의해 제공될 수 있는 기준들의 다른 집합에 기초하여, 경로들의 주어진 부분집합으로부터 경로 선택을 결정할 수 있다.
도 4는 소프트웨어 정의 프로토콜 네트워크의 컴포넌트들(400)의 실시예를 도시한다. 서브네트워크 컴포넌트들은 단-대-단 패신저 프로토콜(end-to-end passenger protocol)을 반송하기 위해 단-대-단 네트워크를 형성하도록 협업한다. 서브네트워크는 네트워크의 일부분, 네트워크 내의 가상 네트워크, 또는 네트워크 내의 가상 또는 실제 컴포넌트들의 임의의 다른 그룹화이다. 호스트(412)는 목적지(490)에 데이터를 보내기 위해 복수의 서브네트워크(서브네트워크 1, 2 및 3)에 걸쳐 복수의 경로(화살표들에 의해 나타남)를 이용하도록 프로비저닝될 수 있다. 각각의 서브네트워크는 패신저 및 캐리어 프로토콜들의 상이한 조합을 이용하도록 프로비저닝될 수 있다. 전송 프로토콜들은 그것들이 2개의 서브네트워크를 접속하고 있는 경우에는 동일하게 설정된다. 전송 프로토콜들은 유선(예를 들어, IEEE 802.3, IP, ATM을 이용), 또는 무선(예를 들어, IEEE 802.11, IEEE 802.15, LTE, WiMAX를 이용)일 수 있다.
패신저 프로토콜은 단-대-단 호스트에 의해 이용되는 프로토콜이다. 캐리어 프로토콜은 일부 QoS/QoE 요건들을 달성하기 위해 네트워크에 의해 내부적으로 이용되는 프로토콜이다(예를 들어, TCP, IPsec, HTTP-DASH). QoS/QoE는 요구되는 단-대-단 신뢰성/보안, 또는 다른 프로토콜 특성들(traits) 또는 기능들로서 규정될 수 있다. QoS는 또한 요구되는 지연 또는 팩킹된(packed) 손실 성능 또는 다른 측정된 특성들로서 규정될 수 있다. 캐리어 프로토콜은 패신저 프로토콜 데이터그램들을 수정하지 않고서, 또는 패신저 프로토콜 헤더들을 수정하거나 제거하고서, 또는 패신저 프로토콜 헤더들 및 데이터그램들을 수정하거나 제거하고서 이용될 수 있다. 전송 프로토콜은 강화된 네트워크 서비스들을 제공하지 않을 수도 있는 네트워크 내의 기저 프로토콜이다. 네트워크가 이미 단-대-단 접속성을 제공하고 있다면, IP, PPP, 또는 UDP와 같은 네트워크 프로토콜이 이용될 수 있다. 네트워크가 오직 넥스트 홉 접속성(next hop connectivity)을 제공하고 있다면, IP와 같은 네트워크 프로토콜, 또는 LTE 또는 802.11, 802.15와 같은 MAC 프로토콜, 또는 기존 프로토콜의 미리 정의된 채널들(예를 들어, LTE의 PDCCH, PDSCH, PUCCH, PUSCH, PBSCH)이 전송 프로토콜로서 이용될 수 있다. 일부 경우들에서, 네트워크는 물리 층만을 제공할 수 있는 한편, SDP 제어기가 프레이밍 및 MAC 층을 구현한다.
아래의 표 1은 주어진 QoS 요건들에 기초하는 캐리어 프로토콜 선택의 실시예를 보여준다. 이용되는 프로토콜들은 IETF RFC6330에 정의된 것과 같은 랩터 코드들(raptor codes)을 갖는 신뢰가능한 멀티캐스트 전송(reliable multicast transport: RMT) 프로토콜, RFC793에 정의된 것과 같은 송신 제어 프로토콜(transmission control protocol: TCP), RFC768에 정의된 것과 같은 사용자 데이터그램 프로토콜(user datagram protocol: UDP), RFC4340에 정의된 것과 같은 데이터그램 정체 제어 프로토콜(datagram congestion control protocol: DCPP), 및 RFC4301에 정의된 것과 같은 IPSec를 포함할 수 있다. 표 1에서, 정체 제어 요건을 '아니오(No)'로 설정하는 것은, 트래픽이 보통의 데이터 경로 기술들{예를 들어, WFQ(weighted fair queuing)를 갖는 홉-바이-홉 스케줄링(hop-by-hop scheduling), 또는 무선 홉 상에서의 GBR(guaranteed bit-rate) 스케줄러}을 이용하여 경로를 따라 보증된 레이트(guaranteed rate)를 갖는다는 것을 의미한다. 또한, 조각화 요건은 캐리어 프로토콜 MTU(maximum transmission unit) 제한에 기초한다.
Figure 112015108665859-pct00001
SDP 제어기(410)는 네트워크 내의 모든 홉 또는 모든 세그먼트 상에서 이용할 프로토콜들의 조합을 결정한다. SDN 제어기(420)는 SDP 제어기(410)에 의해 제공되는 QoS에 기초하여, 네트워크를 통한 경로{부경로(sub-path)} 선택 및 경로(부경로) 로딩을 결정한다. SDP 및 SDN 제어기들은 예를 들어 각각의 고려되는 서비스/애플리케이션/VN에 대한 네트워크 시퀀스 관리 및 데이터 평면 처리에 순차적으로(후속 단계들로) 또는 공동으로(동시적 단계들로) 작용할 수 있다. 인그레스(ingress) SDP 네트워크 노드(430)는 SDP 제어기(410)에 의해 지시된 대로, 패신저 프로토콜의 데이터 패킷들을 캐리어 프로토콜의 패킷들로 변환한다. 인그레스 SDP 네트워크 노드는 SDP 네트워크 세그먼트의 최초 요소일 수 있다. 이그레스(egress) SDP 네트워크 노드(440)는 SDP 제어기(410)에 의해 지시된 대로, 캐리어 프로토콜의 데이터 패킷들을 패신저 프로토콜의 패킷들로 변환한다. 이그레스 SDP 네트워크 노드는 SDP 네트워크 세그먼트의 최종 요소일 수 있다. 인그레스 SDP 네트워크 노드(430)는 SDN 제어기(410)에 의해 지시된 대로, 패신저 프로토콜 데이터 패킷들을 포워딩하고 그것들을 캐리어 프로토콜 패킷들 내에 임베딩한다. 이그레스 SDP 네트워크 노드(440)는 SDN 제어기(410)에 의해 지시된 대로, 캐리어 프로토콜로부터 패신저 프로토콜 패킷들을 추출하고 그것들을 포워딩한다. 인그레스 SDP 네트워크 노드들(430) 및 이그레스 SDP 네트워크 노드들(440)은 프로토콜 컨버터들, 스위치들, 또는 프로토콜 컨버터들 및 스위치들 둘 다의 조합들을 포함할 수 있다. 추가로, 서브네트워크들 내의 하나 이상의 코어 스위치 또는 노드는 SDP에 참여하지 않을 수 있고, 따라서, 그러한 컴포넌트들은 프로토콜 변화들을 알아차리지 못한다. 예를 들어, 인그레스 SDP 네트워크 노드들(430)과 이그레스 SDP 네트워크 노드들(440) 사이의 경로들 내의 세그먼트들 또는 노드들은 SDP 제어기(410)에 의해 구성가능하지 않을 수 있다(비-SDP-가능형 노드들).
한 시나리오에서, SDP 네트워크 노드는 SDP/SDN 제어기와 상호작용한다. SDP 네트워크 노드는 SDP에 대하여 완전하게 기능하는 노드(fully functioning node)로 고려될 수 있다. 대안적으로, SDP 네트워크 노드는 (별개의 네트워크 노드들 또는 컴포넌트들 상에서) 별개의 스위치 및 프로토콜 컨버터들로서 구현될 수 있다. 별개의 스위치 또는 별개의 프로토콜 컨버터는 부분적으로 기능하는 노드(partially functioning node)로 고려될 수 있다. (코어 노드 또는 스위치와 같이) 물리 층만을 갖고 프로토콜 기능성을 갖지 않는 노드는 SDP에 대하여 가볍게 기능하는 노드(light functioning node)로 고려될 수 있다. 결합된 프로토콜 컨버터 및 스위치는 단-대-단 호스트들에 상주할 수 있고, 그것들은 또한 SDN/SDP 제어기에 의해 관리될 수 있다. 또한, SDN 제어기는 스위치들과 통신할 수 있고, SDP 제어기는 프로토콜 컨버터들과 별개로 통신할 수 있다. 대안적으로, 결합된 SDP/SDN 엔티티는 어느 타입의 노드와도 통신할 수 있다. SDP 네트워크 노드의 프로토콜 컨버터 부분은 고정된 커스텀 프로토콜을 구현하거나, 프로토콜 빌딩 블록들(protocol building blocks)로 형성된 커스텀 프로토콜들의 패밀리(a family of custom protocols)로서, 새로운 프로토콜들 또는 프로토콜 빌딩 블록들을 동적으로 그리고 아마도 각각의 새로운 플로우와 함께 가능하게 하기 위한 소프트웨어를 수신하는 능동 브리지로서 구현할 수 있다. 또 다른 구현에서, SDP 네트워크 노드의 프로토콜 컨버터 부분은 데이터 패킷들이 컨버터에 도달하기 전에 프로토콜 설명(description) 또는 구현(implementation)을 반송하는 캡슐 패킷들을 이용하여 구현될 수 있다. 플로우들은 5-튜플 시퀀스, 즉 소스(src) id, 목적지(dst) id, src 포트, dst 포트, DSCP(differentiated services code point)에 의해, 또는 시스템이 레이블 스위칭(label switching)을 지원하는 경우에는 VLAN 또는 MPLS 태그들에 의해 식별될 수 있다.
도 5a 및 5b는 결합된 SDN 및 SDP 관리 모듈(500)(도 5a), 및 분리된 SDN 및 SDP 관리 모듈(560)(도 5b)을 포함하여, SDN 제어기와 SDP 제어기 사이의 상호작용을 위한 관리 모듈 아키텍쳐를 보여준다. 분리된 관리 모듈(500)에 대하여, 커맨드들은 공동 메시지로 결합되거나 별개의 메시지들로 분리될 수 있다. 대안적으로, 공유된 관리 모듈(560)로부터의/로의 커맨드들은 결합될 수 있다. (SDP 제어기에의) SDP 입력들은 네트워크 토폴로지, 노드 능력들(상이한 타입의 노드들), 네트워크 로드, 및 애플리케이션 프로토콜 요건들(신뢰성, 보안, 재순서화 등)을 포함할 수 있다. (SDP 제어기로부터의) SDP 출력들은 프로토콜을 이용하여 구성될 노드들의 집합, 및 각각의 프로토콜의 프로비저닝을 포함할 수 있다. 프로토콜 컴포넌트들은 워크플로우(프로토콜 기능들의 순서), 및/또는 프로토콜 QoS 파라미터들(재송신 시간, 암호화 레벨)을 포함할 수 있다.
SDN 제어기 및 SDP 제어기는 결합된 관리 모듈(500) 내의 (예를 들어, 단일한 물리적 또는 가상 머신 내의) 하나의 엔티티, 또는 분리된 관리 모듈(560) 내의 두 개의 별개의 엔티티일 수 있다. 추가로, (결합된 관리 모듈(500)의) 결합된 SDP 및 SDN 제어기는 처리/관리/제어 정보를 유지하기 위해 공유된 데이터베이스(DB)를 이용할 수 있는 한편, (분리된 관리 모듈(560)의) 분리된 SDP 및 SDN 제어기는 별개의 대응하는 DB를 각각 이용할 수 있다. SDP/SDN 제어기(들)와 상호작용하는 네트워크 모듈들의 프로토콜 컨버터들 및 스위치들은 또한 (예를 들어 단일 네트워크 노드 상의) 단일의 결합된 엔티티, 또는 두 개의 별개의 엔티티로서 구현될 수 있다.
실시예에서, SDP 네트워크 입력들은 고려 중인 노드들에 관한 정보를 포함한다. 노드들의 타입들은 단-대-단 노드들, 네트워크 에지-대-에지 노드들, 단-대-에지 노드들, 무선 노드들, 유선 노드들, 완전 가능형 SDP 네트워크 요소 노드들, 부분 가능형 SDP 네트워크 요소 노드들, 비-SDP(비-참여) 네트워크 요소 노드들, 가상 완전 가능형 SDP 네트워크 노드들(virtual fully enabled SDP network nodes), 가상 부분 가능형 SDP 네트워크 요소 노드들(virtual partially-enabled SDP network element nodes), 및 가상 비-SDP(비-참여) 네트워크 노드들을 포함할 수 있다.
각각의 노드의 기능들은 서비스 트래픽 특성들{예를 들어, 버스티 정도(burstyness), 이동성(mobility)}, (예를 들어, 최종 사용자 또는 VN을 위한) 서비스 QoS 요건/가격 정책, VN 토폴로지/능력, 트래픽 로드/패턴 변화, 네트워크 링크 품질, (예를 들어, 네트워크의 제어된 부분으로부터의) 네트워크 보안 레벨, 소스/소비자 장비 능력, 노드 능력, 또는 다른 특성들과 같은 입력에 기초하여, 중앙화된 SDP 제어기에 의해 동적으로 활성화/비활성화될 수 있다. 실시예에서, SDP 제어기는 예를 들어 경로 상에 구성될 노드들을 결정하고, 그 노드들을 위한 적절한 기본 프로세스 기능 블록들을 선택하기 위해, 서비스 논리 토폴로지와 데이터 평면 논리 토폴로지 사이의 맵핑을 위해 소프트웨어 정의 토폴로지(SDT)를 수행하기 위해 제어 엔티티와 상호작용한다. SDP 제어기는 결정된 데이터 평면 토폴로지 내의 고려된 노드들 또는 다른 노드들에 대한 요구되는 데이터 프로세스들의 표시를 제어 엔티티로부터 수신할 수 있고, 그에 따라 노드들을 구성할 수 있다.
SDP 출력들은 기본 프로세스 블록들의 워크플로우 및 기본 데이터 평면 기능들의 부분집합과 같은 제어 정보를 포함한다. 각각의 기본 기능(예를 들어, E2E 또는 링크별)에 대한 정보는 신뢰성, 보안(예를 들어, 네트워크 세그먼트 또는 링크별), 에러 제어, 조각화, 및/또는 순차적 보장(in-order assurance)에 대한 정보를 포함할 수 있다. 신뢰성 정보는 (예를 들어, 초기화 및 셋업을 위한) 자동 반복 요청(automatic repeat request: ARQ), (전송을 위한) ARQ 상태 머신의 상태, (예를 들어, 지연 및 신뢰성 요청들을 위한) 최대 재송신 수, 추가의 포워딩에서의 가능한 패킷 손실을 위한 수신된 패킷에 대한 홀딩 시간, 또는 다른 정보를 이용하는 것을 포함할 수 있다. 보안 정보(네트워크 세그먼트 또는 링크별)는 키 관련 정보(예를 들어, 키 ID), 또는 (예를 들어, 노드의 지연/배터리, E2E 보안이 가동 중인지의 여부, 보안 요청에 의존하여) 암호화 관련 정보를 포함할 수 있다. 에러 제어의 예들은 예를 들어 지연 요건에 따라, 드롭 아웃-오브-데이트(drop out-of-date) 여부를 위한 표시를 포함한다. 조각화 정보의 예들은, 예를 들어 링크 용량 및 로드 및 스케줄러 간격에 의존하여, 레이어 2(L2) 패킷 크기를 포함한다. 순차적 보장 정보는 지연 및 엔드 장비(end equipment) 능력에 의존할 수 있다.
관리 프로토콜 메시지들/커맨드들에 대하여, 메시지들은 {예를 들어, 요청에 따라(upon demand)} 싱글샷(single-shot)으로서 또는 주기적으로 보내질 수 있다. (예를 들어, 네트워크 5-튜플, VLAN ID, 또는 MPLS 태그를 이용하여) 인입 포트로부터 인출 포트까지의 주어진 플로우를 설정하기 위해, 스위치에 대한 SDN 메시지가 보내질 수 있다. SDN 메시지는 플로우별 최대 허용 지연(per-flow maximum allowed delay), 최소 지원 레이트(minimum supported rate), 또는 패킷 스케줄링 훈련(packet scheduling discipline){예를 들어, WFQ(weight fair queue), EDF(earliest deadline first)}을 또한 포함할 수 있다. SDN 제어기에 대한 스위치 메시지는 관측된 평균 지연(observed mean delay), 라인 지연의 관측된 헤드(observed head of line delay), 큐 사이즈, 플로우들의 인입 레이트, 또는 플로우들의 인출 레이트를 포함할 수 있다. 프로토콜 컨버터에 대한 SDP 제어기 메시지들은 예를 들어 프로토콜의 인입 포트, 인입 프로토콜의 타입, 또는 인출 프로토콜의 타입을 포함하는 프로토콜 셋업 메시지들이다. 프로토콜 동작 메시지들은 트래픽 플로우들에 대하여 착수될 프로토콜 워크플로우, 예를 들어 조각화, 암호화, 재순서화, 레이트 제어 또는 재송신과 같은 프로토콜 데이터그램과 함께 취해질 액션들에 관한 명령을 제공한다. QoS 셋업 메시지는 예를 들어 최소/최대 레이트, 최대 지연, 또는 최소/최대 데이터그램 크기를 제공한다. QoS/QoE 셋업 메시지들은 또한 싱글샷이거나 주기적일 수 있다.
도 6a 및 도 6b는 워크플로우(600)(도 6a) 및 워크플로우(650)(도 6b)를 포함하여, SDP 제어기에 의해 결정되는 워크플로우들의 실시예들을 도시한다. 워크플로우들은 네트워크 노드에 의해, 또는 SDP 제어기와 상호작용하며 그것으로 구성가능한 임의의 디바이스들(예를 들어, 사용자 또는 단말 디바이스들)에 의해 구현될 수 있다. 워크플로우는 (SDP 제어기에 의해) 블록들로 조직화될 수 있고, 그것들은 다양한 워크플로우들(기능들의 그룹화 또는 시퀀스들)로 배열될 수 있다. 또한, 워크플로우를 구현하기 위해 필요한 상태 정보가 노드에 제공된다. 노드는 패킷을 처리하기 전후에 물리적 패킷을 수신하고 송신한다. 워크플로우(600)에서, 노드는 리어셈블리 상태 정보를 이용한 페이로드 리어셈블리, 및 그 다음의 암호화 상태 정보를 이용한 암호화를 위해 (SDP 제어기에 의해) 구성된다. 워크플로우(650)에서, 노드는 복호화 상태 정보를 이용한 페이로드 복호화, 및 그 다음의 순차화(in-ordering)를 구현하기 위해 (SDP 제어기에 의해) 구성된다. 노드는 또한 물리적 패킷의 처리 및 포워딩을 결정하기 위해, SDP/SDN 제어기들에 의해 포워딩 테이블 정보를 제공받을 수 있다.
도 7은 대응하는 소스들 및 목적지들로부터의 비디오 프레임들 및 M2M 메시지들을 다루고 처리하고 포워딩하기 위한 SDP 애플리케이션들의 실시예를 도시한다. 프레임들/메시지들은 각각 네트워크 또는 서브네트워크들 내의 복수의 노드에 의해 송신된다. 노드들 중 일부는 두가지 타입의 트래픽을 포워딩하도록 할당될 수 있다. 비디오 프레임들을 위한 워크플로우는 (소스 및 목적지에서의) 비디오 프레임들 또는 세그먼트들의 조각화 및 E2E 순서화, (예를 들어, 인그레스 노드에서의) 프레임들의 리어셈블리, 및 (예를 들어, 임의의 하나 이상의 코어 노드에서의) 링크별 보안의 제공을 동적으로 활성화(enabling)하는 포함한다. E2E 메시지들을 위한 워크플로우는 (예를 들어, 코어 노드에서의) E2E 보안 및 멀티링크 신뢰성을 제공하는 것을 포함한다.
도 8은 SDN 제어기 동작을 위한 방법(800)의 실시예를 도시한다. 방법(800)은 (소프트웨어 및/또는 하드웨어를 통해) SDN 제어기에 의해 구현될 수 있다. 단계(810)에서, SDP 제어기에 대해 경로 목록 및 가능한 QoS 정보가 수신된다. 단계(820)에서, SDN 제어기는 하나 이상의 단-대-단 플로우를 위한 경로 선택을 결정한다. 단계(830)에서, SDN 제어기는 SDP 제어기에게 경로 선택을 통지한다. 단계(840)에서, SDN 제어기는 각각의 부경로(sub-path) 상의 인그레스 및 이그레스 SDP 네트워크 노드들의 목록 및 경로들 상의 프로토콜 프로비저닝의 SDP 제어기 통지를 기다린다. 단계(850)에서, SDN 제어기는 데이터 평면 포워딩을 프로비저닝하고, 그에 의해 데이터는 인그레스 및 이그레스 SDP 네트워크 노드들, 및 이전에 선택된 데이터 경로를 통해 흐른다.
도 9는 SDP 제어기 동작을 위한 방법(900)의 실시예를 도시한다. 방법(900)은 (소프트웨어 및/또는 하드웨어를 통해) SDP 제어기에 의해 구현될 수 있다. 단계(910)에서, 경로 목록 및 프로토콜 컨버터들의 이용가능한 피쳐들이 (예를 들어 네트워크로부터) 수신된다. 단계(920)에서, 경로 선택 및 주어진 요건들이 SDN 제어기로부터 수신된다. 단계(930)에서, 네트워크는 SDP 네트워크 노드들의 이용가능성에 따라 서브네트워크들로 구획화된다. 단계(940)에서, 캐리어 프로토콜에 의해 제공되지 않는 임의의 요구되는 QoS에 대해, SDP 제어기는 캐리어 프로토콜 선택의 테이블에 따라 서비스를 제공하기 위해 프로토콜 컨버터들을 프로비저닝한다.
도 10은 인그레스 SDP 네트워크 노드를 위한 방법(1000)의 실시예를 도시한다. 단계(1010)에서, 인그레스 프로토콜 컨버터는 패신저 프로토콜을 어떻게 변환할 것인지에 관한 명령을 수신한다. 단계(1020)에서, 인그레스 SDP 네트워크 노드는 (예를 들어, 특정 포트 상에서의 청취에 의해) 패신저 프로토콜 데이터 패킷들의 수신을 기다린다. 단계(1030)에서, 인그레스 프로토콜 컨버터는 각각의 수신된 패킷을 검출한다. 단계(1040)에서, 패신저 프로토콜이 제거되어야 하는 경우, 인그레스 프로토콜 컨버터는 패킷으로부터 패신저 프로토콜 헤더를 제거한다. 대안적으로, 패신저 프로토콜 헤더가 압축되어야 하는 경우, 패신저 프로토콜 헤더가 압축된다. 또한, 패신저 데이터가 압축되어야 하는 경우, 패신저 데이터가 압축된다. 단계(1050)에서, 패신저 프로토콜 패킷들이 호스트 프로토콜의 큐에 추가된다. 단계(1060)에서, 패신저 프로토콜 패킷들이 호스트 프로토콜의 규칙들에 따라 큐로부터 전송된다.
도 11은 이그레스 프로토콜 컨버터를 위한 방법(1100)의 실시예를 도시한다. 단계(1110)에서, 이그레스 프로토콜 컨버터는 어떻게 패신저 프로토콜을 캐리어 프로토콜로 변환할 것인지에 관한 명령을 수신한다. 단계(1120)에서, 이그레스 프로토콜 컨버터는 (예를 들어, 특정 포트 상에서의 청취에 의해) 호스트 프로토콜 데이터 패킷들의 수신을 기다린다. 단계(1130)에서, 이그레스 프로토콜 컨버터는 각각의 수신된 패킷을 검출한다. 단계(1140)에서, 이그레스 프로토콜 컨버터는 호스트 프로토콜의 규칙들에 따라 캐리어 프로토콜 정보를 제거한다. 단계(1150)에서, 이그레스 SDP 네트워크 노드는 (예를 들어, 인그레스 프로토콜 컨버터에 의해) 패신저 프로토콜 헤더가 제거된 경우에 그것을 첨부한다. 대안적으로, 패신저 헤더가 압축된 경우, 패신저 프로토콜 헤더가 압축해제된다. 또한, 패신저 프로토콜 데이터는 (예를 들어, 인그레스 프로토콜 컨버터에 의해) 압축되었다면 압축해제된다.
SDN 대 SDP 상호작용의 실시예는 SDN이 최단 경로들 또는 k-최단 경로들에 기초하여 경로들을 선택하는 것을 포함한다. 선형 프로그래밍을 갖는 로드 밸런싱(load-balancing with linear programming)과 같은 다른 방법들도 가능하다. 각각의 단-대-단 플로우에 대한 경로들의 목록은 예를 들어 Flow1: QoS1 = (Reliable, MinimumDelay1, MinimumRate1), P1 = (n1, n3, .., n10), P2 = (n1, n4, .., n10) 및 Flow2: QoS1 = (Secure/Reliable, MinimumDelay2, MinimumRate2), P4 = (n2, n3, .., n11), P5 = (n2, n5, .., n11)의 형태로, QoS 요건들을 갖는 SDP 제어기에 주어질 수 있다. 신뢰가능한/안전한 프로세스 블록은 프로토콜 기능성 선택에 영향을 주는 한편, 최소 지연 및 최소 레이트 프로세스 블록들은 프로토콜 세팅 선택에 영향을 준다. 경로들에 대해 고려되는 노드들은 유선 또는 무선 스위치들/컴포넌트들일 수 있다. 각각의 플로우 x, 및 플로우 x의 각각의 경로에 대해, SDP 제어기는 경로 p를 따른 홉 내의 모든 노드(ni, nj) 상에서 능력들을 검사할 수 있다. SDP 제어기는 플로우에 의해 요구되는 프로토콜 능력들(예를 들어, 신뢰성 또는 보안)을 갖는 분리 부경로들의 목록(list of disjoint sub-paths)을 만든다. 프로토콜 능력들은 스위치 또는 노드 능력들에 기초한다. 부경로들을 포함하는 그래프가 분리되는(disjoint) 경우, SDP 제어기는 요구되는 프로토콜 능력을 달성하기 위해 프로토콜 컨버터들로 경로들을 증가시킬 수 있다. SDP는 프로토콜 컨버터들로 증가된 경로들의 목록을 SDP 제어기에 리턴한다. 대안적으로, SDP 제어기가 프로토콜 요건들을 만족시키는 경로들을 찾을 수 없는 경우, SDP 제어기는 부적격 경로들의 목록을 SDN 제어기에 리턴하고, 프로세스가 다시 시작한다.
도 12는 단일 경로가 노드들(n1, n2, n3, n4, n5, n6)을 거쳐 가고, (화살표를 갖는 수평 선들로서 나타내어진) 모든 홉 상에서 128비트 암호화를 요구하는 경우의 플로우를 위한 경로 선택의 예를 도시한다. 노드들 n2, n3, n4, n5만이 128 비트 압축을 지원하고, 이는 3개의 컴포넌트 (소스, n1), (n2, n3, n4, n5), 및 (n6, 목적지)로의 네트워크 분리(network disjoint)를 이룬다. SDP 네트워크 노드들 PC1 및 PC2는 128비트 압축을 지원한다. 그러므로, 경로는 (n1, PC1, n2, n3, n4, n5, PC2, n6)으로 증가된다. SDP 네트워크 노드들 PC1 및 PC2는 단방향 프로토콜 변환(one sided protocol conversion)을 수행한다. 대안적으로, 노드들(n1, n2, n3, n4, n5, n6)을 거쳐 가는 단일 경로는 단-대-단의 신뢰가능한 통신을 요구한다(예를 들어, 모든 패킷이 시퀀스로 전달되어야 한다). 이 경우, SDP 네트워크 노드들 PC1 및 PC2는 단-대-단의 신뢰가능한 통신을 지원하고, 양방향 프로토콜 변환(two sided protocol conversion)을 수행한다. 그러므로, 경로는 (n1, PC1, n2, n3, n4, n5, PC2, n6)으로 증가된다.
도 13은 두 개의 경로가 각각 노드들 (n1, n2, n3, n4, n5, n6) 및 (n1, n2, n7, n8, n9, n5, n6)을 거쳐 가는 경우의 플로우를 위한 경로 선택의 제2 예를 도시한다. 두 개의 경로는 단-대-단의 신뢰가능한 통신을 요구한다(예를 들어, 모든 패킷이 시퀀스로 전달되어야 한다). SDP 네트워크 노드들 PC1 및 PC2는 복수의 경로에 걸쳐 단-대-단의 신뢰가능한 통신을 지원하고, 단방향 또는 양방향 프로토콜 변환을 수행한다. 그러므로, 경로들은 (n1, PC1, n2, n3, n4, n5, PC2, n6) 및 (n1, PC1, n2, n7, n8, n9, n5, PC2, n6)로 각각 증가된다.
SDP 대 SDN 상호작용의 다른 실시예에서, SDP 제어기는 프로토콜 요건들을 만족시키는 경로들을 열거한다. 예를 들어, SDP 제어기는 k-최단 경로들을 이용하여 모든 경로를 열거한 다음, 프로토콜 요건들을 만족시키지 않는 경로들을 제거한다. 출력들 중 하나는 네트워크 SDP 내의 각각의 경로, 부경로 또는 링크 상에서 이용될 프로토콜들의 목록이다. SDN 제어기는 가상 네트워크 상의 최단 경로들 또는 k-최단 경로들에 기초하여 설정된 것으로부터 경로들을 선택한다. 선형 프로그래밍을 갖는 로드 밸런싱과 같은 다른 방법들도 가능하다. SDN 제어기는 QoS 요건들을 갖는 SDP에게 각각의 단-대-단 플로우에 대한 선택된 경로들의 목록, 예를 들어 Flow1: QoS1 = (Reliable, MinimumDelay1, MinimumRate1), P1 = (n1, n3, .., n10), P2 = (n1, n4, .., n10) 및 Flow2: QoS1 = (Secure/Reliable, MinimumDelay2, MinimumRate2), P4 = (n2, n3, .., n11), P5 = (n2, n5, .., n11)을 제공한다. 신뢰가능한/안전한 프로세스 블록은 프로토콜 기능성 선택에 영향을 주는 한편, 최소 지연 및 최소 레이트는 프로토콜 세팅 선택에 영향을 준다. 노드들은 유선 또는 무선 네트워크들 내의 스위치들 또는 컴포넌트들일 수 있다. SDP 제어기는 그에 따라 프로토콜 컨버터들을 프로비저닝한다.
대안적으로, SDP 제어기는 프로토콜 요건들을 만족시키는 SDP 네트워크 노드들의 오버레이 네트워크를 생성한 다음, 그 노드들만을 거쳐 가는 경로들을 리턴한다. 출력들 중 하나는 네트워크 SDP 내의 각각의 경로, 부경로 또는 링크 상에서 이용될 프로토콜들의 목록이다. SDN 제어기는 오버레이 네트워크 상의 최단 경로들 또는 k-최단 경로들에 기초하여 경로들을 선택한다. 선형 프로그래밍을 갖는 로드 밸런싱과 같은 다른 방법들도 가능하다. SDN 제어기는 QoS 요건들을 갖는 SDP 제어기에 오버레이 네트워크 상의 각각의 단-대-단 플로우에 대한 경로들의 목록, 예를 들어 Flow1: QoS1 = (Reliable, MinimumDelay1, MinimumRate1), P1 = (n1, n3, .., n10), P2 = (n1, n4, .., n10) 및 Flow2: QoS1 = (Secure/Reliable, MinimumDelay2, MinimumRate2), P4 = (n2, n3, .., n11), P5 = (n2, n5, .., n11)을 제공한다. 각각의 경로에 대해, SDP 제어기는 가상 네트워크로부터 증가된 경로를 재생성한다. 증가된 경로는 네트워크 내의 SDP 네트워크 노드들을 프로비저닝하기 위해 SDN 제어기에 주어진다. SDP 제어기는 프로토콜 컨버터들을 프로비저닝한다.
도 14는 플로우를 위한 경로 선택의 다른 예를 도시한다. 본 예에서, 두 개의 경로는 각각 노드들 (n1, n2, n3, n4, n5, n6) 및 (n1, n2, n7, n8, n9, n5, n6)을 통해 간다. 경로들 둘 다 128 비트의 단-대-단 암호화를 필요로 한다. SDP 네트워크 노드들 PC1 및 PC2는 128비트 암호화를 지원하지만, 다른 노드들은 그렇지 않다. 그러므로, SDP 제어기는 경로들 (n1, PC1, n2, n3, n4, n5, PC2, n6) 및 (n1, PC1, n2, n7, n8, n9, n5, PC2, n6)을 갖는 (예를 들어, 데이터 평면의 관점으로부터의) 가상 네트워크 토폴로지를 생성한다.
상술한 SDP 방식들은 상이한 네트워크 시나리오들 및 컴포넌트들에 대해 구현될 수 있다. 실시예에서, SDP는 무선 링크들을 위한 (예를 들어, 중간 홉의 역할을 하는) 무선 릴레이 상에서의 압축 프로토콜, 암호화 프로토콜 또는 신뢰성 프로토콜을 셋업하기 위해 이용될 수 있다. 다른 실시예에서, 압축 프로토콜, 암호화 프로토콜 또는 신뢰성 프로토콜은 호스트까지의 최종 홉(last hop) 또는 호스트로부터 호스트까지의 (예를 들어, 최종 홉의 역할을 하는) 무선 링크 상에서 설정될 수 있다. 다른 실시예에서, 압축은 예를 들어 중간 홉의 역할을 하는 정체 링크 또는 경로 상에서 셋업될 수 있다. 다른 시나리오에서, 센서 네트워크는 최종 홉의 역할을 할 수 있고, 여기에서 프로토콜 컨버터는 센서 네트워크 데이터 취합기(sensor network data aggregator)로서 이용될 수 있다. 알려진 스케줄링된 액세스(예를 들어, 스케줄링된 자원으로부터 알려진 센서의 ID)를 활용하는 일-대-다 다운링크 프로토콜이 구현될 수 있다. 알려진 스케줄링된 액세스를 활용하고 랜덤 액세스를 이용하는 다-대-일 업링크 프로토콜이 또한 구현될 수 있다. 네트워크 헤더들은 데이터만(헤더 없는 데이터)을 보내기 전에 스트립핑될(stripped) 수 있다. 다른 시나리오에서, 네트워크는 다중 경로 라우팅을 이용할 수 있고, 여기에서 지연 및 신뢰성을 개선하고 확인응답을 피하기 위해 포워드 에러 정정 프로토콜이 설정된다. 또 다른 시나리오에서, 네트워크는 복수의 가상 네트워크에 의해 공유되고, 여기에서 각각의 네트워크는 공유 네트워크 내에 임베딩된다.
도 15는 다양한 실시예들을 구현하기 위해 이용될 수 있는 예시적인 처리 시스템(1500)의 블록도이다. 구체적인 디바이스들은 도시된 컴포넌트들 전부를 이용하거나 컴포넌트들의 부분집합만을 이용할 수 있으며, 통합의 레벨들은 디바이스마다 달라질 수 있다. 더욱이, 디바이스는 복수의 처리 유닛, 프로세서, 메모리, 송신기, 수신기 등과 같은 컴포넌트의 복수의 인스턴스를 포함할 수 있다. 처리 시스템(1500)은 네트워크 인터페이스, 저장 인터페이스 및 그와 유사한 것과 같은 하나 이상의 입력/출력 디바이스를 장착한 처리 유닛(1501)을 포함할 수 있다. 처리 유닛(1501)은 중앙 처리 유닛(CPU)(1510), 메모리(1520), 대용량 저장소 디바이스(mass storage device)(1530), 및 버스에 접속된 I/O 인터페이스(1560)를 포함할 수 있다. 버스는 메모리 버스 또는 메모리 제어기, 주변 버스 또는 그와 유사한 것을 포함하는 임의의 유형의 수 개의 버스 아키텍쳐 중 하나 이상일 수 있다.
CPU(1510)는 임의의 유형의 전자 데이터 프로세서를 포함할 수 있다. 메모리(1520)는 SRAM(static random access memory), DRAM(dynamic random access memory), SDRAM(synchronous DRAM), ROM(read-only memory), 그들의 조합 또는 그와 유사한 것과 같은 임의의 유형의 시스템 메모리를 포함할 수 있다. 실시예에서, 메모리(1520)는 부트업 시에 이용할 ROM, 및 프로그램 실행 동안 이용할 데이터 및 프로그램 저장용 DRAM을 포함할 수 있다. 실시예들에서, 메모리(1520)는 비-일시적(non-transitory)이다. 대용량 저장소 디바이스(1530)는 데이터, 프로그램, 및 다른 정보를 저장하고, 버스를 통해 데이터, 프로그램 및 다른 정보에 액세스할 수 있게 하도록 구성되는 임의의 유형의 저장 디바이스를 포함할 수 있다. 대용량 저장소 디바이스(1530)는 예를 들어 고체 상태 드라이브, 하드 디스크 드라이브, 자기 디스크 드라이브, 광학 디스크 드라이브 또는 그와 유사한 것 중 하나 이상을 포함할 수 있다.
처리 유닛(1501)은 또한 이더넷 케이블 또는 그와 유사한 것과 같은 유선 링크들, 및/또는 노드들 또는 하나 이상의 네트워크(1580)에 액세스하기 위한 무선 링크들을 포함할 수 있는 하나 이상의 네트워크 인터페이스(1550)를 포함한다. 네트워크 인터페이스(1550)는 처리 유닛(1501)이 네트워크들(1580)을 통해 원격 유닛들과 통신하는 것을 허용한다. 예를 들어, 네트워크 인터페이스(1550)는 하나 이상의 송신기/송신 안테나 및 하나 이상의 수신기/수신 안테나를 통한 무선 통신을 제공할 수 있다. 실시예에서, 처리 유닛(1501)은 데이터 처리, 및 다른 처리 유닛, 인터넷, 원격 저장 설비 또는 그와 유사한 것과 같은 원격 디바이스들과의 통신을 위한 근거리 네트워크 또는 광역 네트워크에 연결된다.
본 발명에서는 수 개의 실시예가 제공되었지만, 개시된 시스템 및 방법은 본 발명의 취지 또는 범위로부터 벗어나지 않고서 다수의 다른 구체적인 형태들로 구현될 수 있음을 이해해야 한다. 본 예시들은 제한이 아닌 예시로서 고려되어야 하며, 여기에 주어진 세부사항들로 한정되도록 의도되지 않는다. 예를 들어, 다양한 요소들 또는 컴포넌트들은 다른 시스템으로 결합 또는 통합될 수 있고, 또는 소정의 피쳐들은 생략되거나 구현되지 않을 수 있다.
추가로, 다양한 실시예들에서 별개로 또는 분리되어 설명되고 도시된 기술들, 시스템들, 서브시스템들 및 방법들은 본 발명의 범위로부터 벗어나지 않고서 다른 시스템들, 모듈들, 기술들 또는 방법들과 조합되거나 통합될 수 있다. 서로에 연결되거나 직접 연결되거나 통신하는 것으로 도시되거나 논의된 다른 항목들은 전기적으로, 기계적으로, 또는 다르게, 소정의 인터페이스, 디바이스 또는 중간 컴포넌트를 통해 간접적으로 연결되거나 통신할 수 있다. 변화들, 치환들 및 변경들의 다른 예들은 본 기술분야의 숙련된 자에 의해 확인가능하며, 본 발명의 취지 및 범위를 벗어나지 않고서 만들어질 수 있다.

Claims (32)

  1. 소프트웨어 정의 프로토콜(SDP; software defined protocol)들을 제공하기 위한 네트워크 디바이스에 의한 방법으로서,
    SDP 제어기를 이용하여, 데이터 평면 프로세스 기능성(data plane process functionality)을 복수의 기본 프로세스 기능 블록(basic process function block)으로 분해(break-down)하는 것을 결정하는 단계;
    네트워크 내의 경로에 있는 하나 이상의 네트워크 컴포넌트에 대하여, 서비스 품질(QoS; quality of service) 요건 또는 경험 품질(QoE; Quality of Experience) 요건에 따라 상기 기본 프로세스 기능 블록들의 부분집합을 포함하는 프로토콜 스택을 결정하는 단계;
    상기 기본 프로세스 기능 블록들의 상기 부분집합을 구현하도록 상기 하나 이상의 네트워크 컴포넌트를 구성하는 단계; 및
    상기 SDP 제어기에 의해, 복수의 관련된 네트워크 노드의 각각에 대해 데이터 평면 전략을 제공하는 단계 - 상기 복수의 관련된 네트워크 노드는 소프트웨어 정의 토폴로지 제어기에 의해 지시되는 바에 따라 상기 네트워크에 걸쳐 이동(migrating)하는 것이 가능한 가상 네트워크 노드들을 포함함 -;
    를 포함하는 방법.
  2. 제1항에 있어서, 소프트웨어 설계 네트워킹(software design networking: SDN) 제어기로부터, 상기 하나 이상의 컴포넌트를 포함하는 상기 경로 및 대응하는 네트워크 자원 할당의 표시를 수신하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 소프트웨어 설계 네트워킹(SDN) 제어기에서, 상기 하나 이상의 컴포넌트를 포함하는 경로 및 대응하는 네트워크 자원 할당의 표시를 선택하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서, 각각의 고려되는 서비스, 트래픽 플로우 또는 가상 네트워크에 대해, 워크플로우 순서(workflow order)에 따라 기본 프로세스 기능 블록들의 적합한 부분집합이 생성되는, 방법.
  5. 제1항에 있어서, 상기 프로토콜 스택은 상기 경로 상의 단-대-단 호스트들에 의해 인식되는 패신저 프로토콜, 상기 프로토콜 스택을 구현하는 캐리어 프로토콜, 및 상기 경로 상의 컴포넌트들 사이에서 트래픽을 전송하기 위한 전송 프로토콜 중 적어도 하나를 포함하는, 방법.
  6. 제1항에 있어서, 상기 기본 프로세스 기능 블록들은 플로우 제어, 레이트 매칭(rate matching), 신뢰성, 데이터 복구, 데이터 보안, 데이터 포워딩, 비순차 제어(out-of-order control), 조각화(fragmentation), 리어셈블리(reassembly), 압축, 정체(congestion), 에러 제어, 심층 패킷 검사(deep packet inspection: DPI), 패킷 필터링, 및 어드레스 변환(address translation) 중 적어도 하나를 위한 기능성을 포함하는, 방법.
  7. 제1항에 있어서, 상기 기본 프로세스 기능 블록들 중 일부를 단일 데이터 평면 프로세스로 취합하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서, 상기 기본 프로세스 기능 블록들 중 적어도 일부는 단-대-단 컴포넌트들 또는 호스트 컴포넌트들 상에서, 또는 상기 경로 상에서 홉 또는 링크별로 구현되는, 방법.
  9. 소프트웨어 정의 프로토콜(SDP)을 제공하도록 구성된 네트워크 디바이스로서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 의해 실행될 프로그래밍을 저장하는 컴퓨터 판독가능한 저장 매체
    를 포함하고, 상기 프로그래밍은,
    SDP 제어기를 이용하여, 서비스, 트래픽 플로우 또는 가상 네트워크를 위한 데이터 평면 기능성을 복수의 기본 프로세스 기능 블록으로 분해하고;
    네트워크 내의 경로에 있는 하나 이상의 네트워크 컴포넌트에 대하여, 서비스 품질(QoS) 요건에 따라 상기 기본 프로세스 기능 블록들의 부분집합을 포함하는 프로토콜 스택을 결정하고;
    상기 기본 프로세스 기능 블록들의 상기 부분집합을 구현하고;
    상기 SDP 제어기에 의해, 복수의 관련된 네트워크 노드의 각각에 대해 데이터 평면 전략을 제공하도록 상기 하나 이상의 네트워크 컴포넌트를 구성하기 위한
    명령들을 포함하고,
    상기 복수의 관련된 네트워크 노드는 소프트웨어 정의 토폴로지 제어기에 의해 지시되는 바에 따라 상기 네트워크에 걸쳐 이동하는 것이 가능한 가상 네트워크 노드들을 포함하는, 네트워크 디바이스.
  10. 제9항에 있어서, 상기 프로그래밍은 상기 하나 이상의 컴포넌트를 포함하는 상기 경로 및 대응하는 네트워크 자원 할당의 표시를 수신하기 위해, 소프트웨어 설계 네트워킹(SDN) 제어기와 상호작용하기 위한 명령들을 더 포함하는 네트워크 디바이스.
  11. 제10항에 있어서, 상기 SDN 제어기는 상기 네트워크 컴포넌트의 일부인, 네트워크 디바이스.
  12. 제9항에 있어서, 상기 하나 이상의 네트워크 컴포넌트는 네트워크 에지 노드, 네트워크 중간 노드 또는 스위치, 및 사용자 디바이스 중 적어도 하나를 포함하는, 네트워크 디바이스.
  13. 소프트웨어 정의 프로토콜(SDP)을 지원하기 위한 네트워크 컴포넌트에 의한 방법으로서,
    SDP 제어기로부터, 기본 프로세스 기능 블록들 중 하나 이상을 위한 워크플로우 및 상태 정보를 수신하는 단계 - 상기 기본 프로세스 기능 블록들은 네트워크 컴포넌트 능력들, 서비스 품질(QoS) 요건, 또는 경험 품질(QoE) 요건에 따라, 서비스, 트래픽 플로우 또는 가상 네트워크를 위한 데이터 평면 프로세스 기능성을 분해하기 위해 상기 SDP 제어기에 의해 생성됨 - ;
    상기 네트워크 컴포넌트에서, 상기 상태 정보를 이용하여 상기 하나 이상의 기본 프로세스 기능 블록의 워크플로우를 구현하는 단계; 및
    상기 SDP 제어기로부터, 복수의 관련된 네트워크 노드의 각각에 대해 데이터 평면 전략을 수신하는 단계 - 상기 복수의 관련된 네트워크 노드는 소프트웨어 정의 토폴로지 제어기에 의해 지시되는 바에 따라 상기 네트워크에 걸쳐 이동하는 것이 가능한 가상 네트워크 노드들을 포함함 -;
    를 포함하는 방법.
  14. 제13항에 있어서, 소프트웨어 설계 네트워킹(SDN) 제어기로부터, 상기 서비스, 트래픽 플로우 또는 가상 네트워크의 데이터를 포워딩하기 위한 경로 정보를 수신하는 단계를 더 포함하고, 상기 경로 정보는, 상기 서비스, 트래픽 플로우 또는 가상 네트워크를 위해 할당된, 경로상의 상기 네트워크 컴포넌트를 포함하는 네트워크 노드들을 결정하는, 방법.
  15. 제13항에 있어서, 상기 기본 프로세스 기능 블록들은 플로우 제어, 레이트 매칭, 신뢰성, 데이터 복구, 데이터 보안, 데이터 포워딩, 비순차 제어, 조각화, 리어셈블리, 압축, 정체, 에러 제어, 심층 패킷 검사(DPI), 패킷 필터링, 및 어드레스 변환 중 적어도 하나를 위한 기능성을 포함하는, 방법.
  16. 소프트웨어 정의 프로토콜(SDP)을 지원하도록 구성된 네트워크 컴포넌트로서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 의해 실행될 프로그래밍을 저장하는 컴퓨터 판독가능한 저장 매체
    를 포함하고, 상기 프로그래밍은,
    SDP 제어기로부터, 하나 이상의 기본 프로세스 기능 블록을 위한 워크플로우 및 상태 정보를 수신하고 - 상기 기본 프로세스 기능 블록들은 네트워크 컴포넌트 능력들, 서비스 품질(QoS) 요건, 또는 경험 품질(QoE) 요건에 따라, 서비스, 트래픽 플로우 또는 가상 네트워크를 위한 데이터 평면 프로세스 기능성을 분해하기 위해 상기 SDP 제어기에 의해 생성됨 - ; 및
    상기 상태 정보를 이용하여 상기 하나 이상의 기본 프로세스 기능 블록의 워크플로우를 구현하고;
    상기 SDP 제어기로부터, 복수의 관련된 네트워크 노드의 각각에 대해 데이터 평면 전략을 수신하기 위한 명령들을 포함하고,
    상기 복수의 관련된 네트워크 노드는 소프트웨어 정의 토폴로지 제어기에 의해 지시되는 바에 따라 상기 네트워크에 걸쳐 이동하는 것이 가능한 가상 네트워크 노드들을 포함하는, 네트워크 컴포넌트.
  17. 제16항에 있어서, 상기 프로그래밍은 소프트웨어 설계 네트워킹(SDN) 제어기로부터, 상기 서비스, 트래픽 플로우 또는 가상 네트워크의 데이터를 포워딩하기 위한 경로 정보를 수신하기 위한 명령들을 더 포함하고, 상기 경로 정보는 상기 서비스, 트래픽 플로우 또는 가상 네트워크를 위해 할당된, 경로상의 상기 네트워크 컴포넌트를 포함하는 네트워크 노드들을 결정하는, 네트워크 컴포넌트.
  18. 제16항에 있어서, 상기 네트워크 컴포넌트는 상기 SDP 제어기에 의해 구성가능한 SDP-가능형 엔드 디바이스 또는 사용자 디바이스인, 네트워크 컴포넌트.
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
KR1020157032052A 2013-04-10 2014-04-10 소프트웨어 정의 프로토콜 스택을 제공하기 위한 시스템 및 방법 KR101843239B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361810608P 2013-04-10 2013-04-10
US61/810,608 2013-04-10
US13/952,489 US10333779B2 (en) 2013-04-10 2013-07-26 System and method for providing a software defined protocol stack
US13/952,489 2013-07-26
PCT/CN2014/075048 WO2014166402A1 (en) 2013-04-10 2014-04-10 System and method for providing a software defined protocol stack

Publications (2)

Publication Number Publication Date
KR20150143613A KR20150143613A (ko) 2015-12-23
KR101843239B1 true KR101843239B1 (ko) 2018-03-28

Family

ID=51687562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157032052A KR101843239B1 (ko) 2013-04-10 2014-04-10 소프트웨어 정의 프로토콜 스택을 제공하기 위한 시스템 및 방법

Country Status (5)

Country Link
US (1) US10333779B2 (ko)
EP (1) EP2984784B1 (ko)
KR (1) KR101843239B1 (ko)
CN (1) CN104982006B (ko)
WO (1) WO2014166402A1 (ko)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6059336B2 (ja) 2012-04-13 2017-01-11 テケレック・インコーポレイテッドTekelec, Inc. Diameter過負荷制御を実行するための方法、システムおよびコンピュータ読取可能媒体
JP6163204B2 (ja) 2012-06-14 2017-07-12 テケレック・インコーポレイテッドTekelec, Inc. ポリシーおよび課金ルール機能(pcrf)に統合型オープンフローコントローラを提供するための方法、システム、およびコンピュータ読取可能媒体
US9537904B2 (en) 2013-01-24 2017-01-03 Tekelec, Inc. Methods, systems, and computer readable media for using policy knowledge of or obtained by a policy and charging rules function (PCRF) for needs based forwarding of bearer session traffic to network nodes
US9369390B2 (en) 2013-02-18 2016-06-14 Tekelec, Inc. Methods, systems, and computer readable media for providing a thinking diameter network architecture
US9450872B2 (en) 2013-06-24 2016-09-20 Oracle International Corporation Methods, systems and computer readable media for collecting and distributing diameter overload control information to non-adjacent nodes
US9172550B2 (en) * 2013-07-19 2015-10-27 Globalfoundries U.S. 2 Llc Company Management of a multicast system in a software-defined network
US9391897B2 (en) 2013-07-31 2016-07-12 Oracle International Corporation Methods, systems, and computer readable media for mitigating traffic storms
US9369386B2 (en) 2013-07-31 2016-06-14 Oracle International Corporation Methods, systems, and computer readable media for destination-host defined overload scope
US9537775B2 (en) 2013-09-23 2017-01-03 Oracle International Corporation Methods, systems, and computer readable media for diameter load and overload information and virtualization
WO2015062746A1 (en) * 2013-10-29 2015-05-07 Telefonaktiebolaget L M Ericsson (Publ) Dynamic compression coverage
US9838483B2 (en) 2013-11-21 2017-12-05 Oracle International Corporation Methods, systems, and computer readable media for a network function virtualization information concentrator
US11388082B2 (en) * 2013-11-27 2022-07-12 Oracle International Corporation Methods, systems, and computer readable media for diameter routing using software defined network (SDN) functionality
US10009794B2 (en) * 2013-12-05 2018-06-26 Huawei Technologies Co., Ltd. Framework for traffic engineering in software defined networking
US9225652B2 (en) * 2013-12-05 2015-12-29 Huawei Technologies Co., Ltd. Framework for traffic engineering in software defined networking
US9485689B2 (en) 2014-01-06 2016-11-01 Huawei Technologies Co., Ltd. Adaptive traffic engineering configuration
US9755901B2 (en) * 2014-01-21 2017-09-05 Huawei Technologies Co., Ltd. System and method for a software defined protocol network node
KR20150088559A (ko) * 2014-01-24 2015-08-03 한국전자통신연구원 네트워크의 장애를 복구하는 방법 및 장치
US9380487B2 (en) 2014-07-29 2016-06-28 Huawei Technologies Co., Ltd. System and method for a location prediction-based network scheduler
US9479409B2 (en) * 2014-08-18 2016-10-25 Telefonaktiebolaget L M Ericsson (Publ) Passive reachability measurement for inline service chaining
US9800921B2 (en) * 2014-08-29 2017-10-24 Verizon Patent And Licensing Inc. In-home smart video cache
US9838286B2 (en) 2014-11-20 2017-12-05 Telefonaktiebolaget L M Ericsson (Publ) Passive performance measurement for inline service chaining
US9705775B2 (en) 2014-11-20 2017-07-11 Telefonaktiebolaget Lm Ericsson (Publ) Passive performance measurement for inline service chaining
US10757630B2 (en) * 2014-11-26 2020-08-25 Huawei Technologies Co., Ltd. Network abstractor for advanced interactive SDN optimization
EP3215953B1 (en) 2014-11-28 2019-02-20 Huawei Technologies Co. Ltd. Systems and methods for providing customized virtual wireless networks based on service oriented network auto-creation
US10298466B2 (en) 2015-01-20 2019-05-21 Huawei Technologies Co., Ltd. Systems and methods for SDT to interwork with NFV and SDN
AU2016209319B2 (en) * 2015-01-20 2019-01-17 Huawei Technologies Co., Ltd. Method and apparatus for NFV management and orchestration
US10439984B2 (en) * 2015-02-16 2019-10-08 Telefonaktiebolaget Lm Ericsson (Publ) Multi-stage defense-aware security modules placement in the cloud
EP3261314B1 (en) 2015-03-13 2020-07-01 Huawei Technologies Co., Ltd. Access network system, and method and apparatus for processing data packet
US9882779B2 (en) 2015-03-18 2018-01-30 International Business Machines Corporation Software version maintenance in a software defined network
US9838272B2 (en) 2015-04-13 2017-12-05 Ciena Corporation Service enhancement discovery for connectivity traits and virtual network functions in network services
US9917729B2 (en) 2015-04-21 2018-03-13 Oracle International Corporation Methods, systems, and computer readable media for multi-layer orchestration in software defined networks (SDNs)
TWI558129B (zh) * 2015-05-20 2016-11-11 Chunghwa Telecom Co Ltd Software Definition Experience Quality Measurement System
US10084657B2 (en) * 2015-06-29 2018-09-25 Ca, Inc. Normalized software-defined networking interface
CN107925933B (zh) * 2015-07-31 2019-11-01 华为技术有限公司 节点切换方法、装置及系统
US20170031986A1 (en) * 2015-07-31 2017-02-02 Huawei Technologies Co., Ltd. Method and System for Providing Integrated Virtualized Database Management and Software Defined Network Topology
US10511485B2 (en) * 2015-08-11 2019-12-17 At&T Intellectual Property I, L.P. Dynamic virtual network topology discovery engine
CN106559460B (zh) 2015-09-30 2020-06-26 华为技术有限公司 软件定义协议网络中分配资源的方法和系统
US10820212B2 (en) * 2015-10-10 2020-10-27 Expeto Wireless Inc. System and method for partitioned wireless telecommunication network deployment
US10142161B2 (en) * 2016-01-19 2018-11-27 Radware, Ltd. Techniques for distribution of application delivery
US10069570B2 (en) 2016-01-27 2018-09-04 Ciena Corporation Multi-layer modem reclamation systems and methods
US10491501B2 (en) 2016-02-08 2019-11-26 Ciena Corporation Traffic-adaptive network control systems and methods
CN107104811B (zh) * 2016-02-22 2021-08-17 中兴通讯股份有限公司 一种网络功能实现方法及控制装置
CN105721343A (zh) * 2016-03-29 2016-06-29 联想(北京)有限公司 一种网络资源配置方法及网络控制器
US10205706B2 (en) * 2016-05-11 2019-02-12 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. System and method for programmable network based encryption in software defined networks
CN106130928B (zh) * 2016-06-29 2019-12-03 浪潮集团有限公司 一种sdn网络下的流量控制方法及系统
WO2018006239A1 (zh) * 2016-07-04 2018-01-11 华为技术有限公司 确定用户面协议栈的方法、控制面网元和系统
CN107947953B (zh) * 2016-10-13 2020-11-13 中华电信股份有限公司 软件定义体验品质量测系统
WO2018086674A1 (en) * 2016-11-08 2018-05-17 Huawei Technologies Co., Ltd. A network entity for a communication network comprising a control plane and a user plane for providing communication services to a user equipment
US10148561B2 (en) 2016-12-06 2018-12-04 At&T Intellectual Property I, L.P. Enhanced quality of service in software-defined networking-based connectionless mobility architecture
US10944733B2 (en) * 2017-07-31 2021-03-09 Cisco Technology, Inc. Dynamic disassociated channel encryption key distribution
CN107743096B (zh) * 2017-10-13 2021-06-08 北京小米移动软件有限公司 网络优化方法、装置、终端以及存储介质
CN108259352B (zh) * 2017-12-25 2021-01-15 锐捷网络股份有限公司 Sdn与非sdn互通的方法及装置
WO2019227483A1 (en) * 2018-06-01 2019-12-05 Huawei Technologies Co., Ltd. Multiple server-architecture cluster for providing a virtual network function
US10812315B2 (en) 2018-06-07 2020-10-20 Cisco Technology, Inc. Cross-domain network assurance
US20200028776A1 (en) * 2018-07-20 2020-01-23 Netsia, Inc. SYSTEM AND METHOD FOR A TRANSLATOR SUPPORTING MULTIPLE SOFTWARE DEFINED NETWORK (SDN) APPLICATION PROGRAMMING INTERFACES (APIs)
US11057495B2 (en) 2019-05-01 2021-07-06 Ciena Corporation Selecting where to process data associated with Internet of Things (IoT) devices
CN110457926A (zh) * 2019-08-13 2019-11-15 重庆邮电大学 一种工业物联网中基于数据加密存储的数据共享方法
US11509575B2 (en) 2020-08-11 2022-11-22 Nokia Solutions And Networks Oy Selection of a transport protocol for supporting a label distribution protocol
CN115225412B (zh) * 2022-09-20 2023-01-03 国网江西省电力有限公司信息通信分公司 一种云边访问管控系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110211583A1 (en) * 2010-03-01 2011-09-01 Deutsche Telekom Ag Apparatus, method, manufacture, and system for providing network services from building blocks

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2011821A (en) 1933-08-28 1935-08-20 Federal Mogul Corp Propeller wheel
EP1401224A1 (en) * 2002-09-17 2004-03-24 Motorola, Inc. Software download to software definable radio by intermediate communication unit
EP1503548A1 (en) * 2003-08-01 2005-02-02 fg microtec GmbH Distributed Quality of Service Management System
US20050055689A1 (en) 2003-09-10 2005-03-10 Abfalter Scott A. Software management for software defined radio in a distributed network
US20060203722A1 (en) * 2005-03-14 2006-09-14 Nokia Corporation System and method for managing performance of mobile terminals via remote diagnostics
US7920823B2 (en) * 2006-12-08 2011-04-05 Microsoft Corporation System capability discovery for software defined radio
EP1947872B1 (en) 2007-01-22 2014-04-16 Alcatel Lucent Software defined radio base station and configuration method
CN101742370B (zh) 2008-11-14 2013-01-30 华为技术有限公司 通信系统中呼叫处理的方法、网络节点和应用服务器
JP5850471B2 (ja) * 2010-08-20 2016-02-03 日本電気株式会社 通信システム、制御装置、ノード制御方法およびプログラム
US8764369B2 (en) * 2011-07-26 2014-07-01 Dale L. Bowne Folding bale spear system
US9246842B2 (en) * 2012-04-27 2016-01-26 Intel Corporation QoE-aware radio access network architecture for http-based video streaming
US9197568B2 (en) * 2012-10-22 2015-11-24 Electronics And Telecommunications Research Institute Method for providing quality of service in software-defined networking based network and apparatus using the same
CN102946365B (zh) 2012-11-09 2015-06-17 清华大学 一种基于软件定义网络的保持流表更新一致性的方法
US9252972B1 (en) * 2012-12-20 2016-02-02 Juniper Networks, Inc. Policy control using software defined network (SDN) protocol
US10547505B2 (en) * 2013-03-01 2020-01-28 Nokia Solutions And Networks Oy Software defined networking for edge nodes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110211583A1 (en) * 2010-03-01 2011-09-01 Deutsche Telekom Ag Apparatus, method, manufacture, and system for providing network services from building blocks

Also Published As

Publication number Publication date
US20140310388A1 (en) 2014-10-16
EP2984784A1 (en) 2016-02-17
EP2984784B1 (en) 2020-07-29
WO2014166402A1 (en) 2014-10-16
CN104982006B (zh) 2019-04-05
US10333779B2 (en) 2019-06-25
EP2984784A4 (en) 2016-04-20
CN104982006A (zh) 2015-10-14
KR20150143613A (ko) 2015-12-23

Similar Documents

Publication Publication Date Title
KR101843239B1 (ko) 소프트웨어 정의 프로토콜 스택을 제공하기 위한 시스템 및 방법
CN107079015B (zh) 用于移动环境下的基于流的寻址的系统及方法
US9197568B2 (en) Method for providing quality of service in software-defined networking based network and apparatus using the same
US8982703B2 (en) Routing support for lossless data traffic
KR101961049B1 (ko) 타임 슬롯화 채널 홉핑 네트워크에서의 효율적인 중앙 집중식 자원 및 스케줄 관리
WO2017037615A1 (en) A method and apparatus for modifying forwarding states in a network device of a software defined network
CN105939539A (zh) 用于网络环境中蜂窝接口的动态带宽调整的系统和方法
CN114128228B (zh) 通过SRv6头传输MTNC-ID以实现5G传输
CA3178566A1 (en) Data transmission control method and apparatus
WO2016074211A1 (zh) 一种数据转发的方法和控制器
US11528347B2 (en) Inter-packet communication of machine learning information
EP3718269B1 (en) Packet value based packet processing
CN113228592B (zh) 提供传输上下文和路径上元数据以支持启用5g的网络的方法和装置
US11671483B2 (en) In-band protocol-based in-network computation offload framework
JP2014131098A (ja) 通信システム、通信経路確率方法、及び、管理サーバ
Zhu et al. Towards effective intra-flow network coding in software defined wireless mesh networks
US20190182854A1 (en) Methods and apparatuses for dynamic resource and schedule management in time slotted channel hopping networks
CN114128227B (zh) 在支持SRv6的数据面上传输MTNC-ID以实现5G传输
US10972396B2 (en) Mapping network frame flows to classes of service to minimize network frame flow disruption
US20180220355A1 (en) Method for discovering a node of an ad hoc network
WO2023057790A1 (en) Resource allocation using traffic aggregability and future bandwidth availability in a network
EP3968577A1 (en) A data traffic control device, a residential router, an operator network device and a telecommunication system
JP6633502B2 (ja) 通信装置
Köbel et al. Definition of an 802.11 interface management process in a proposed system for transmission capacity enhancement in wireless mesh networks
CN117768947A (zh) 一种数据通信方法、交换芯片、通信节点及通信网络

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant