KR102342063B1 - 네트워크 장애의 선제적 핸들링 기법 - Google Patents

네트워크 장애의 선제적 핸들링 기법 Download PDF

Info

Publication number
KR102342063B1
KR102342063B1 KR1020167034006A KR20167034006A KR102342063B1 KR 102342063 B1 KR102342063 B1 KR 102342063B1 KR 1020167034006 A KR1020167034006 A KR 1020167034006A KR 20167034006 A KR20167034006 A KR 20167034006A KR 102342063 B1 KR102342063 B1 KR 102342063B1
Authority
KR
South Korea
Prior art keywords
network
failures
traffic
predetermined maximum
maximum number
Prior art date
Application number
KR1020167034006A
Other languages
English (en)
Other versions
KR20170017903A (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 KR20170017903A publication Critical patent/KR20170017903A/ko
Application granted granted Critical
Publication of KR102342063B1 publication Critical patent/KR102342063B1/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/085Retrieval of network configuration; Tracking network configuration history
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network 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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • 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/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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/12Discovery or management of network topologies
    • 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/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • 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
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • 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/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • 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/14Network analysis or design
    • H04L41/149Network analysis or design for prediction of maintenance

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 명세서에 네트워크의 적어도 일부분이 소정의 최대 장애 횟수가 초과되지 않는 한, 혼잡(가령, 링크가 용량을 초과)을 피할 수 있음을 보장할 수 있는 장애 핸들링 서비스를 구현하기 위한 기법 및/또는 시스템이 기재된다. 장애 핸들링 서비스는 네트워크 토폴로지에 기초해서 가능한 장애의 다양한 조합을 모델링하고 그 후 발생하는 실제 장애 횟수가 소정의 최대 장애 횟수 이하인 한 혼잡이 피해지도록 하는 개별 경로를 통해 통신되는 트래픽 양을 계산할 수 있다.

Description

네트워크 장애의 선제적 핸들링 기법{PROACTIVE HANDLING OF NETWORK FAULTS}
전자 서비스(가령, 검색 서비스, 전자 메일 서비스, 소셜 네트워킹 서비스, 클라우드 컴퓨팅 서비스 등)가 더 많은 사용자를 서비스하고 더 많은 콘텐츠를 제공하면서 계속 확장해 감에 따라, 전자 서비스의 제공자는 이렇게 확장해 가는 전자 서비스를 제공하기 위해서, 장치들의 네트워크를 계속해서 유지하고 업그레이드해야 한다. 그러나 장치들, 그리고 이 장치들을 상호 연결하며 개별 네트워크 내에서 데이터를 통신시키는 링크에서 고장이 발생할 수도 있고, 혹은 고장을 유발할 수 있으며, 이 때문에 네트워크 혼잡(가령, 링크가 통신 용량을 초과함)이 발생될 수 있다. 그 결과 네트워크에서 패킷 손실이 발생할 수 있으며, 이는 네트워크의 효율 및 신뢰도에 영향을 미칠 수 있다.
본 명세서에는, 소정의 최대 장애 횟수가 초과되지 않는 한, 네트워크의 적어도 일부분은 혼잡(가령, 링크가 용량을 초과)을 피할 수 있음을 보장할 수 있는, 장애 핸들링 서비스를 구현하는 기법 및/또는 시스템이 기재된다. 장애 핸들링 서비스는, 네트워크 토폴로지에 기초해서 가능한 장애의 다양한 조합을 모델링하고, 그 후 발생하는 실제 장애 횟수가 소정의 최대 장애 횟수 이하인 한 혼잡이 피해지도록 하는 방식으로, 개별 경로를 통해 통신되는 트래픽 양을 계산할 수 있다.
이 개요는 이하의 발명의 살명에서 더 기재될 개념 중 일부를 선택해서 간략하게 소개하기 위해 제공된다. 이 개요는 본 발명의 핵심 특징 또는 필수 특징을 나타내는 것이 아니며 본 발명의 범위를 한정하려는 것도 아니다.
첨부된 도면을 참조하여 상세한 설명을 제공한다. 도면에서, 참조번호의 최좌측 숫자는 그 참조번호가 처음 나오는 도면을 나타낸다. 다양한 도면에서의 동일한 참조번호는 유사하거나 혹은 같은 아이템을 나타낸다.
도 1은 다양한 실시예에 따른, 장애 핸들링 서비스가 소정의 최대 장애 횟수까지 핸들링하도록 네트워크를 구성하는 도면을 도시한다.
도 2는 다양한 실시예에 따른, 소정의 최대 링크 고장 횟수까지 핸들링하도록 구성된 예시적 네트워크를 보여주는 도면이다.
도 3은 다양한 실시예에 따른, 소정의 최대 제어 고장 횟수까지 핸들링하도록 구성된 예시적 네트워크를 보여주는 도면이다.
도 4는 다양한 실시예에 따라 장애 핸들링 서비스를 구현하는 예시적 환경을 보여주는 도면이다.
도 5는 다양한 실시예에 따른, 링크에서의 혼잡을 야기하지 않으면서 소정의 최대 장애 횟수까지 발생할 수 있도록 네트워크를 구성하는 예시적 프로세스이다.
도 6은 다양한 실시예에 따른, 장애 핸들링 서비스가 가능한 장애의 다양한 조합과 연관된 제약조건을 효율적으로 풀 수 있도록 하는 소팅 네트워크 접근법을 이용하는 예시적 프로세스이다.
도 7은 다양한 실시예에 따라 장애 핸들링 서비스를 구현하는 데 사용되는 예시적 소팅 네트워크를 보여주는 도면이다.
본 명세서에 기재된 기법 및/또는 시스템은, 네트워크에 있어서의 장애 핸들링 서비스(fault handling service)를 구현한다. 장애 핸들링 서비스는 소정의 최대 횟수의 장애까지 핸들링하도록, 네트워크를 선제적으로(proactively) 구성한다. 예를 들면, 장애 핸들링 서비스는, 입력으로서, 허용된 장애의 특정된 횟수(가령, 소정의 최대 장애 횟수) 및 네트워크의 적어도 일부에 대한 토폴로지를 수신할 수 있다. 토폴로지는 적어도 (i) 장치 및 장치들 간 링크의 배열과 같은 네트워크 구성요소, 및 (ii) 네트워크 또는 네트워크 일부 내 하나 이상의 개별 흐름과 연관된 정보를 포함할 수 있다. 이 입력에 기초해서, 장애 핸들링 서비스는 개별 흐름에 대해, 네트워크에서 실제로 발생한 장애 횟수가 소정의 최대 장애 횟수 이하인 한 네트워크 혼잡이 피해지도록, 하나 이상의 경로 간에 통신되는 트래픽의 크기를 계산하도록 구성된다. 그 후 장애 핸들링 서비스는, 이 계산에 기초해서, 네트워크에서 장애가 실제로 발생하기 전에 흐름이 분산되도록 네트워크의 구성요소를 구성(가령, 명령 발행)할 수 있다. 따라서 장애 핸들링 서비스는 소정의 최대 횟수의 장애까지 무결(robust)(가령, 혼잡이 발생하지 않을 것임을 보장)하도록 네트워크를 구성한다.
네트워크 장애는 데이터 평면 장애 또는 제어 평면 장애를 포함할 수 있다. 데이터 평면 장애는, 링크(가령, 네트워크 내 2개의 장치 간 직접 링크)가 고장날 때나 또는 장치가 고장날 때 발생한다. 본 명세서에 개시된 다양한 구현예에서, 네트워크 장애와 연관된 장치는 스위칭 장치, 가령, 네트워크 내에서 데이터 패킷(가령, 네트워크에서 통신되는 트래픽)을 포워딩하는 작업을 하는 스위칭 장치일 수 있다. 따라서 데이터 평면 장애는 패킷 포워딩에 영향을 미치는 링크 고장 또는 스위치 고장을 포함할 수 있다. 제어 평면 장애는 네트워크 내 스위칭 장치가 제때에 업데이트를 재구성하거나 수신하지 못한 경우에 발생한다(가령, 재구성 완료 실패, 지연된 재구성 등). 따라서 스위칭 장치가 실패하지 않고 패킷을 계속 포워딩하는 경우라도, 이 스위칭 장치는, 업데이트된 구성이나 새로운 구성이 아니라 이전의 구성이나 오래된 구성에 기초해서 패킷을 계속해서 포워딩하기 때문에, 여전히 장애가 발생할 수 있다. 제어 평면 장애는 원격 프로시저 호출(remote procedure call)(RPC) 고장, 스위칭 장치 펌웨어 또는 소프트웨어의 버그, 스위칭 장치의 메모리 부족 등으로부터 야기될 수 있다. 따라서, 본 명세서에 기재된 장애 핸들링 서비스는, 데이터 평면 장애 및/또는 제어 평면 장애를 선제적으로 핸들링하도록 네트워크를 구성함으로써, 실제로 발생한 장애의 횟수가 소정의 최대 장애 횟수 미만인 한, 네트워크 혼잡이 발생하지 않을 것(가령, 네트워크 내 링크의 트래픽이 용량을 초과하지 않을 것)임을 장애 핸들링 서비스가 보장할 수 있다.
기존에는, 트래픽 엔지니어링 제어기가 장애 검출에 응답해서 네트워크를 재구성했다. 따라서, 종래의 방식은, 장애가 실제로 발생한 후 그리고 장애가 검출된 이후에 네트워크 혼잡을 감소시키는 것으로, 결과적으로, 네트워크 혼잡이 이미 발생했을 가능성이 높으므로, 이는 수정될 필요가 있다. 많은 경우에, 트래픽 엔지니어링 제어기는, 가령, 패킷 손실에 기인해서 네트워크 성능이 방해받거나 혹은 약화되게 하는 장애에 효율적으로 대응하지 못할 수 있다(가령, 대응 또는 수정에 수십 초가 걸릴 수 있다). 예를 들어, 네트워크의 링크가 고장난 경우(가령, 장애가 발생한 경우), 네트워크 내 스위칭 장치가 그 밖의 다른 이용 가능한 경로로 트래픽을 이동(가령, 트래픽을 재조정)시키도록 구성된다. 그러나 이러한 이동에는 링크 용량 제약조건(constraint)은 고려되고 있지 않고, 따라서 이 이동은, 종종 사후적으로 수정되어야 할 링크 혼잡을 야기한다.
도 1은, 본 명세서에 기재된 장애 핸들링 서비스(102)가 소정의 최대 장애 횟수(가령, 1, 2, 3, 4, 10, 20, 100 또는 그 밖의 다른 임의의 횟수)까지 핸들링하도록 네트워크(104)를 구성하는 예시적 도면(100)을 도시한다. 장애 핸들링 서비스(102)를 운영하는 개체 또는 네트워크(104)나 네트워크(104)의 특정 기능, 가령, 패킷 포워딩을 관리하는 개체(가령, 트래픽 엔지니어링 애플리케이션 또는 제어기)에 의해, 소정의 최대 장애 횟수가 구성될 수 있다. 앞서 기재된 바와 같이, 장애 핸들링 서비스(102)는 네트워크(104)에서의 장애 핸들링에 대한 선제적 접근법을 구현한다. 예를 들어, 장애 핸들링 서비스(102)는 흐름과 연관된 하나 이상의 경로를 통해 통신되는 트래픽의 양을 계산하여, 소정의 최대 장애 횟수까지 혼잡 없는 상태가 구현될 수 있다. 달리 말하자면, 발생하는 총 장애 횟수가 소정의 최대 허용 장애 횟수 이하인 한, 어떠한 혼잡도 발생하지 않도록, 가령, 링크가 대역폭 용량을 초과하지 않도록, 장애 핸들링 서비스(102)가 네트워크에서 트래픽을 확산(spread)시킨다.
네트워크(104)는 다양한 장치(106) 및 직접 링크(108), 가령, 네트워크(104) 내 2개의 장치(106) 간 링크를 포함할 수 있다. 직접 링크(108)는 2개의 장치를 연결하는 통신 경로의 적어도 일부일 수 있다. 예를 들어, 유입 스위칭 장치(ingress switching device)가 트래픽이 시작되는 소스 장치일 수 있고 유출 스위칭 장치(egress switching device)가 트래픽이 도달하는 목적지 장치일 수 있다. 유입 스위칭 장치는 하나 이상의 통신 경로를 확립하고 하나 이상의 통신 경로를 통해 흐름(가령, 트래픽)을 유출 스위칭 장치로 통신하도록 구성 또는 명령 받을 수 있다. 본 명세서에 개시된 바와 같이, 통신 경로는 (가령, 유입 스위칭 장치 및 유출 스위칭 장치를 포함해) 둘 이상의 장치를 관통하는 통신 터널 또는 터널이라고 지칭될 수 있다.
다양한 실시예에서, 네트워크(104)는 대형 생산 네트워크, 가령, 데이터-센터 네트워크(DCN), 인터넷 서비스 제공자(ISP) 네트워크, 기업 네트워크(가령, 클라우드 서비스) 또는 한 개체(가령, 장애 핸들링 서비스(102)를 실행하는 장치를 운영하고 유지관리하는 개체)의 제어 하에 있을 수 있는 그 밖의 다른 임의의 관리 도메인일 수 있다. 상기 장치(106)는 물리 네트워크 장치, 가령, 스위칭 장치(스위치), 라우팅 장치(라우터), 게이트웨이 장치(게이트웨이), 브리징 장치(네트워크 브리지), 허브 장치(네트워크 허브), 방화벽 장치, 네트워크 주소 변환 장치(NAT), 멀티플렉싱 장치(멀티플렉서), 무선 액세스 포인트 장치(WAP), 프록시 서버 장치, 파일 서버 장치, 데이터베이스 서버 장치, 저장 장치 등일 수 있다. 장치(106)는 네트워크(104)로 연결할 수 있는 최종-사용자 장치일 수 있다. 예를 들어, 최종 사용자 장치가 모바일 또는 휴대용 장치, 가령, 스마트 폰, 셀룰러 폰, 개인 디지털 보조기(PDA), 전자 책 장치, 랩톱 컴퓨팅 장치, 태블릿 컴퓨팅 장치, 개인 미디어 플레이어 장치 등을 포함할 수 있다. 또는, 최종 사용자 장치는 정치형 장치, 가령, 데스크톱 컴퓨팅 장치, 게임 콘솔 장치, 디지털 비디오 기록 장치(DVR), 셋 톱 박스 장치 등을 포함할 수 있다. 따라서 네트워크(104)는 서로 연결된 수십, 수백 또는 수천 개의 장치를 포함하여, 도메인 또는 관리 네트워크를 포함할 수 있다.
본 명세서에 언급된 다양한 예시에서, 장애 핸들링 서비스(102)는 터널-기반 포워딩에 따라 구현될 수 있다. 터널-기반 포워딩은 네트워크의 트래픽 엔지니어링에서 사용될 수 있다. 터널-기반 포워딩에서, 하나 이상의 터널(가령, 통신 경로)이 확립되어 유입-유출 스위칭 장치 쌍 간에 트래픽을 통신하도록 구축되고 통신되는 트래픽이 흐름(flow)이라고 일컬어질 수 있다. 앞서 언급된 바와 같이, 흐름이 복수의 터널에 걸쳐 확산되거나 분산될 수 있다. 따라서 장애 핸들링 서비스(102)는 흐름이 복수의 터널에 걸쳐 분배되는 방식을 결정하기 위한 가중치로 유입 스위칭 장치를 구성할 수 있다.
장애 핸들링 서비스(102)는 네트워크(104)의 토폴로지를 수신 또는 액세스하고, 토폴로지 및 소정의 최대 허용 장애 횟수에 기초해서 모델, 가령, 연립방정식을 생성하도록 구성된다. 모델은 네트워크에서 발생할 가능성이 있는 가능한 장애의 다양한 조합(가령, 장애 유형, 장애 위치 등)을 나타낸다. 예를 들어, 소정의 최대 허용 장애 횟수가 1인 경우, 가능한 장애의 조합은 한 번의 허용된 장애가 발생할 수 있는 네트워크 내 단일 위치와 연관된다(가령, 하나의 스위치 고장에 대해 각각의 스위칭 장치). 따라서 가능한 장애의 조합이 하나의 장애를 포함할 수 있다. 또 다른 예를 들면, 소정의 최대 허용 장애 횟수가 2인 경우, 가능한 장애의 조합이 2번의 장애가 발생할 수 있는 네트워크 내 2개의 위치와 연관된다. 또 다른 예를 들면, 소정의 최대 허용 장애 횟수가 임의의 수, 가령, 3, 5, 10, 20, 50, 100 등일 수 있다.
그 후 장애 핸들링 서비스(102)가 네트워크에서 경로를 통해 통신되는 트래픽 양을 계산하기 위해 모델을 이용한다. 계산된 트래픽 양은, 발생하는 장애 횟수가 소정의 최대 장애 횟수 이하인 한 링크가 통신 용량을 초과하지 않으면서, (가령, 장애에 응답하는 트래픽 재조정 프로세스(traffic rescaling process)의 일부로서) 추가 트래픽이 링크에 도달하기 위한 공간, 가령, 가용 공간을 제공한다. 즉, 계산은 장애의 임의의 조합(가령, 장애 횟수가 소정의 최대 장애 횟수 이하인 장애 조합)의 결과로서 링크에 도달할 수 있는 추가 트래픽이 링크에 대한 가용 또는 예비 용량 미만임을 보장하고, 따라서 링크 혼잡이 피해진다. 다양한 실시예에서, 유입 스위칭 장치가 장애에 응답해서 비례 재조정을 이행하여, 유입 스위칭 장치가 (가령, 장애에 의해 영향받는) 하나 이상의 고장된 터널을 비활성화하고, 하나 이상의 고장된 터널을 통해 통신되는 트래픽을 흐름에 대해 확립된 다른 터널(가령, 나머지 터널)에 분할한다.
다양한 구현예에서, 네트워크(104)는 많은 장치(가령, 수십, 수백, 수천 개 등의 장치) 및/또는 두 장치 간 링크를 포함할 수 있다. 따라서 가능한 장애의 다양한 조합을 결정하고 다양한 조합을 모델링하는 것이 계산적 과제, 예컨대, 많은 제약조건을 제시할 수 있다. 따라서 장애 핸들링 서비스(102)는 발생하는 많은 제약조건을 인코딩하고 그 후 제약조건을 효율적으로 해결하기 위해(가령, 하나 이상의 흐름에 대해 트래픽 분산을 계산하기 위해) 소팅(sorting) 네트워크 접근법을 이용할 수 있으며, 이는 이하에서 더 설명된다. 일부 예시에서, 장애 핸들링 서비스(102)는 소팅 네트워크 접근법을 이용해 (가령, 네트워크 트래픽에 가장 영향을 미치는 장애와 연관된) 적은 수의 제약조건을 소팅할 수 있다.
앞서 언급된 바와 같이, 네트워크 장애는 데이터 평면 장애 및/또는 제어 평면 장애를 포함할 수 있다. 도 1은 링크 고장(110), 스위치 고장(112) 및 제어 고장(114)을 도시한다. 링크 고장(110) 및 스위치 고장(112) 각각은 적어도 링크 또는 스위칭 장치가 흐름 또는 흐름의 일부를 핸들링할 수 없기 때문에 터널-기반 포워딩에 영향을 미칠 수 있는 데이터 평면 장애의 예시이며, 따라서 네트워크(104)의 트래픽이 재조정될 필요가 있다. 제어 고장(114)은 적어도 터널을 따라 스위칭 장치가 새로운 또는 업데이트된 구성에 따라 트래픽을 라우팅할 것이 기대되는 때에 오래된 또는 이전의 구성에 따라 트래픽을 계속 라우팅할 수 있기 때문에 네트워크 혼잡을 초래할 수 있는 제어 평면 장애의 일례이다.
장애를 선제적으로 핸들링하도록 네트워크(104)를 구성하기 전에, 장애 핸들링 서비스(102)는 하나 이상의 장애 보호 레벨(116)을 결정(가령, 액세스 또는 수신)하도록 구성된다. 장애 보호 레벨(116)은 소정의 최대 허용 링크 고장 횟수(가령, 이하에서 ke), 소정의 최대 허용 스위치 고장 횟수(가령, 이하에서 kv), 및/또는 소정의 최대 허용 제어 고장 횟수(가령, 이하에서 kc)를 가리킬 수 있다.
장애 보호 레벨(116)을 기초로, 장애 핸들링 서비스(102)는, 발생한 총 장애 횟수가 소정의 최대 허용 장애 횟수 이하인 한 네트워크 혼잡이 피해짐을 보장하는 트래픽 양을 계산하도록 구성된다. 그 후 장애 핸들링 서비스(102)는 네트워크(104)에 구성 세팅(configuration setting)(118)을 제공하여, 네트워크(104)가 계산값에 기초해서 트래픽을 통신(가령, 분산)시키도록 구성되게 할 수 있다.
예를 들어, 도 2가 장애 핸들링 서비스(102)가 소정의 최대 링크 고장 횟수 ke까지 핸들링하도록 네트워크를 구성하는 방식을 보여주는 도면(200)을 도시하며, 이때 도 2의 예시의 경우 ke=1이다. 따라서 도 2는 데이터 평면 장애와 관련되며 링크 고장 전에 네트워크의 트래픽 분산을 모델링하는 제1 구성(202) 및 링크 고장 후에 동일한 네트워크의 트래픽 분산을 모델링하는 제2 구성(204)을 도시한다. 네트워크는 제1 스위칭 장치(206(1)), 제2 스위칭 장치(206(2)), 제3 스위칭 장치(206(3)) 및 제4 스위칭 장치(206(4))를 포함한다. 네트워크에서 임의의 2개의 장치 간 각각의 링크는, 초과되는 경우 링크가 혼잡 상태가 될 통신 용량 또는 대역폭 한계(가령, 도 2의 예시의 경우, 10 유닛)를 가진다.
제1 구성(202)에서: 제1 터널(208(1))(도 2에서 터널은 점선으로 나타난다)이 스위칭 장치(206(2))로부터 스위칭 장치(206(1))를 통해 스위칭 장치(206(4))로 1.5 유닛(가령, Gbps(gigabit per second))의 트래픽을 통신하고, 제2 터널(208(2))이 스위칭 장치(206(3))로부터 스위칭 장치(206(1))를 통해 스위칭 장치(206(4))로 1.5 유닛의 트래픽을 통신하며, 제3 터널(208(3))이 스위칭 장치(206(3))에서부터 스위칭 장치(206(4))로 직접 7 유닛의 트래픽을 통신하고, 제4 터널(208(4))이 스위칭 장치(206(2))로부터 스위칭 장치(206(4))로 7 유닛의 트래픽을 직접 통신한다. 따라서 터널(208(1)) 및 터널(208(4))은, 스위칭 장치(206(2))가 유입 스위칭 장치이고 스위칭 장치(206(4))가 유출 스위칭 장치인 흐름과 연관될 수 있다. 덧붙여 터널(208(2)) 및 터널(208(3))은 스위칭 장치(206(3))가 유입 스위칭 장치이고 스위칭 장치(206(4))가 유출 스위칭 장치인 또 다른 흐름과 연관될 수 있다. 장애 핸들링 서비스(102)는 ke=1이라고 특정하는 장애 보호 레벨(116)에 기초해서 트래픽의 양(가령, 도 2에 도시된 유닛)을 계산한다.
따라서 제2 구성(204)에서 나타나는 바와 같이 링크 고장(210)(가령, 데이터 평면 장애)이 스위칭 장치(206(2))와 스위칭 장치(206(4)) 사이의 위치에서 나타나는 경우, 네트워크가 트래픽을 재조정하여, 제1 터널(212(1))이 스위칭 장치(206(2))로부터 스위칭 장치(206(1))를 통해 스위칭 장치(206(4))로 8.5 유닛의 트래픽을 통신하고, 제2 터널(212(2))이 스위칭 장치(206(3))로부터 스위칭 장치(206(1))를 통해 스위칭 장치(206(4))로 1.5 유닛의 트래픽을 통신하며, 제3 터널(212(3))이 스위칭 장치(206(3))로부터 직접 스위칭 장치(206(4))로 7 유닛의 트래픽을 통신하게 할 수 있다.
도시된 바와 같이, 제1 구성(202)으로부터의 터널(208(2)) 및 터널(208(3))은 재조정 프로세스를 통해 변하지 않은 채 유지된다. 그러나 제2 구성(204)에서의 터널(212(1))은 링크 고장(210)의 결과로서 제1 구성(202)으로부터의 터널(208(1)) 및 터널(208(4))의 조합된 흐름을 핸들링하도록 재조정된 터널이다. 제2 구성(204)에서, 스위칭 장치(206(1))로부터 스위칭 장치(206(4))로의 직접 링크 상의 로드가 총 10 유닛(즉, 8.5+1.5)이며, 이는 링크의 최대 용량 이하이다.
도 2는 스위칭 장치(206(2))와 스위칭 장치(206(4)) 간 링크 고장이 발생함을 보여주지만, 제1 구성(202)에서 특정된 유닛, 가령, 장애 핸들링 서비스(102)에 의해 계산된 유닛이 네트워크 내 그 밖의 다른 곳의 단일 링크 고장을 선제적으로 핸들링할 수 있고, 둘 이상의 링크 고장이 발생하지 않는 한(ke = 1) 혼잡이 여전히 피해질 것이다. 예를 들어, 스위칭 장치(206(2))와 스위칭 장치(206(4)) 간 링크 대신 스위칭 장치(206(1))와 스위칭 장치(206(3)) 간 링크가 고장난 경우, 재조정된 구성에서, 터널(208(2))을 통해 통신되는 1.5 유닛이 터널(208(3))을 통해 통신되는 7 유닛에 추가되어, 총 8.5 유닛이 스위칭 장치(206(3))와 스위칭 장치(206(4)) 간 링크를 통해 통신된다(가령, 8.5 유닛은 링크에 대한 10 유닛 용량보다 작다).
덧붙여, 제1 구성(202)이 또한 혼잡을 야기하지 않으면서 단일 스위치 고장(가령, kv = 1)을 핸들링할 수 있다. 예를 들어, 스위칭 장치(206(1))가 고장 난 경우, 터널(208(1))을 통해 통신되는 1.5 유닛이 터널(208(4))을 통해 통신되도록 재조정될 수 있고(가령, 7 + 1.5 < 10 유닛) 터널(208(2))을 통해 통신되는 1.5 유닛이 터널(208(3))을 통해 통신되도록 재조정될 수 있다(가령, 7 + 1.5 < 10 유닛).
따라서 장애 핸들링 서비스(102)는 흐름에 대한 트래픽 양을 계산하도록 구성되고, 가령 제1 구성(202)에서 나타나는 바와 같이 계산된 트래픽 양에 기초해서 네트워크를 선제적으로 구성하여, 네트워크가, 가령, 제2 구성(204)에서 나타나는 바와 같이, 장애에 대비해 강건하게 구성된 후, 링크 고장으로 인해 링크에 도달할 수 있는 재조정된 트래픽(가령, 비례적 재조정)을 흡수하기에 충분한 가용 또는 예비 용량이 존재하도록 한다.
또 다른 예를 들면, 도 3은 장애 핸들링 서비스(102)가 최대 제어 고장 횟수 kc까지 핸들링하도록 네트워크를 구성하는 방식을 도시하는 도면(300)을 도시한다. 따라서 도 3은 제어 평면 장애와 관련되며, 네트워크 및 네트워크 일부의 트래픽을 모델링하는 제1 트래픽 엔지니어링(TE) 구성(302) 및 제2 TE 구성(304)을 도시한다. 소정의 최대 허용 제어 평면 장애 횟수가 1이다(가령, kc=1). 제1 TE 구성(302) 및 제2 TE 구성(304)에서, 도 3의 예시에서, 제1 스위칭 장치(306(1)), 제2 스위칭 장치(306(2)), 제3 스위칭 장치(306(3)), 및 제4 스위칭 장치(306(4))에 의해 트래픽이 통신된다. 이 예시에서, 링크 용량이 10 유닛이다. 링크 및 장치의 배열 및 링트 용량뿐 아니라, 제1 TE 구성(302)에서 통신되는 트래픽까지, 장애 핸들링 서비스(102)에 의해 액세스 가능한 네트워크 토폴로지에 의해 나타날 수 있다.
제1 TE 구성(302)에서: 제1 터널(308(1))(터널은 도 3에서도 점선으로 나타남)이 스위칭 장치(306(1))로부터 스위칭 장치(306(2))로 직접 10 유닛의 트래픽을 통신하고, 제2 터널(308(2))은 스위칭 장치(306(1))로부터 스위칭 장치(306(3))로 직접 10 유닛의 트래픽을 통신하며, 제3 터널(308(3))은 스위칭 장치(306(2))로부터 스위칭 장치(306(4))로 직접 7 유닛의 트래픽을 통신하고, 제4 터널(308(4))은 스위칭 장치(306(3))로부터 스위칭 장치(306(4))로 직접 7 유닛의 트래픽을 통신하며, 제5 터널(308(5))은 스위칭 장치(306(2))로부터 스위칭 장치(306(1))를 통해 스위칭 장치(306(4))로 3 유닛의 트래픽을 통신하고, 제6 터널(308(6)은 스위칭 장치(306(3))로부터 스위칭 장치(306(1))를 통해 스위칭 장치(306(4))로 3 유닛의 트래픽을 통신한다.
이 예시에서, 장애 핸들링 서비스(102) 또는 트래픽 엔지니어링 제어기가 제2 TE 구성(304)에서 나타나는 바와 같이 새 터널(310)을 수용하도록 스위칭 장치를 업데이트하기를 원한다. 따라서 장애 핸들링 서비스(102)는 새 구성(가령, 새 분산 가중치)으로 스위칭 장치(306(2))를 업데이트하도록 시도하여, 터널(312(1))이 제1 TE 구성(302)에서의 터널(308(3))과 터널(308(5))을 통해 이전에 통신된 트래픽의 조합(가령, 7+3=10 유닛)을 통신하게 할 수 있다. 덧붙여, 장애 핸들링 서비스(102) 또는 트래픽 엔지니어링 제어기는 새 구성으로 스위칭 장치(306(3))를 업데이트하도록 시도하여, 터널(312(2))이 제1 TE 구성(302)에서 터널(308(2))과 터널(308(4))을 통해 이전에 통신된 트래픽의 조합(가령, 7+3=10 유닛)을 통신하게 할 수 있다. 제2 TE 구성(304)에서의 터널(312(3)) 및 터널(312(4))은 제1 TE 구성(302)에서의 터널(308(1)) 및 터널(308(2))로부터 불변이다.
따라서 제2 TE 구성(304)에서 나타나는 바와 같이 스위칭 장치(306(2))에서 제어 고장(314)(가령, 제어 평면 장애)가 발생하는 경우(가령, 스위칭 장치를 업데이트하려는 시도가 실패하거나 지연되거나 제때에 이행되지 않은 경우), 스위칭 장치(306(2))는 제1 TE 구성(302)에 따라 트래픽을 계속 라우팅할 것이다. 따라서 터널(312(1))은 터널(308(5))로부터의 3 유닛의 트래픽을 성공적으로 수용하지 않을 것이다. 그러나 장애 핸들링 서비스(102)는 터널(310)에 대해, 최대 1개 스위칭 장치까지 고장난 경우라도, 링크 혼잡이 발생하지 않을 것임을 보장하는 7 유닛의 트래픽 양을 계산하도록 구성된다. 예를 들어, 오래된 구성의 경우라도, 터널(308(5)) 및 새 터널(310)로부터의 트래픽, 스위칭 장치(306(1))와 스위칭 장치(306(4)) 간 링크의 용량이 10 유닛 용량을 초과하지 않는다(가령, 3+7 ≤ 10 유닛).
도 3이 스위칭 장치(306(2))에서 제어 고장(가령, 가능한 장애의 제1 조합)이 발생함을 보여주지만, 도 3의 TE 구성이 네트워크 내 그 밖의 다른 곳, 가령, 스위칭 장치(306(3))에서의 제어 고장(가령, 가능한 장애의 제2 조합)을 선제적으로 핸들링할 수 있다.
도 4는 앞서 기재된 장애 핸들링 서비스(102)를 구현하는 예시적 환경(400)을 보여주는 도면이다. 다양한 실시예에서, 장애 핸들링 서비스(102)는 하나 이상의 장치(402)를 통해 구현될 수 있다. 장치(402)는 정치형 장치, 가령, 데스크톱 컴퓨팅 장치, 서버 컴퓨팅 장치 등을 포함할 수 있다. 대안적으로 장치(402)는 모바일 또는 휴대용 장치, 가령, 랩톱 컴퓨팅 장치, 태블릿 컴퓨팅 장치, 스마트 폰 장치, 셀룰러 폰 장치, 개인 디지털 보조기(PDA) 장치, 전자 책 장치 등을 포함할 수 있다.
장치(402)는 본 명세서에 기재된 기법을 구현하도록 구성된 장애 핸들링 서비스(102)를 포함한다. 장치(402)는 하나 이상의 프로세서(404) 및 메모리(406)를 개별적으로 그리고 따로 따로 포함할 수 있다. 프로세서(404)는 단일 처리 유닛 또는 복수의 유닛일 수 있고, 이들 각각은 복수의 다양한 처리 유닛을 포함할 수 있다. 프로세서(404)는 마이크로프로세서, 마이크로컴퓨터, 마이크로제어기, 디지털 신호 프로세서, 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), 보안 프로세서 등을 포함할 수 있다. 대안적으로 또는 추가로 본 명세서에 기재된 일부 또는 모든 기법이, 하나 이상의 하드웨어 로직 구성요소에 의해 적어도 부분적으로 수행될 수 있다. 비제한적 예를 들어, 사용될 수 있는 예시적 유형의 하드웨어 로직 구성요소가 FPGA(Field-programmable Gate Array), ASIC(Application-specific Integrated Circuit), ASSP(Application-specific Standard Product), 상태 머신, CPLD(Complex Programmable Logic Device), 그 밖의 다른 로직 회로, SoC(system on chip) 및/또는 명령에 기초해서 동작을 수행하는 그 밖의 다른 임의의 디바이스를 포함할 수 있다. 다른 능력들 중에, 프로세서(404)는 메모리(406)에 저장된 컴퓨터 판독형 명령을 인출 및 실행하도록 구성될 수 있다.
메모리(406)는 하나의 컴퓨터 판독형 매체 또는 이들의 조합을 포함할 수 있다. 본 명세서에서 사용될 때, "컴퓨터 판독형 매체"는 컴퓨터 저장 매체 및 통신 매체를 포함한다.
컴퓨터 저장 매체는 정보, 가령, 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈, 또는 그 밖의 다른 데이터의 저장을 위한 임의의 방법 또는 기법으로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체의 비제한적 예를 들면, PRAM, SRAM, DRAM, 그 밖의 다른 유형의 RAM, ROM, EEPROM, 플래시 메모리 또는 그 밖의 다른 메모리 기법, 컴팩트 디스크 ROM(CD-ROM), 디지털 다목적 디스크(DVD), 또는 그 밖의 다른 광학 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 그 밖의 다른 자기 저장 장치, 또는 장치에 의해 액세스되기 위한 정보를 저장하는 데 사용될 수 있는 그 밖의 다른 임의의 매체가 있다.
이와 달리, 통신 매체는 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈, 또는 그 밖의 다른 데이터를 변조된 데이터 신호, 가령, 반송파로 포함한다. 본 명세서에 정의되는 바와 같이, 컴퓨터 저장 매체는 통신 매체를 포함하지 않는다.
메모리(406)는 그 밖의 다른 모듈, 구성요소 및 장치의 혜택을 위해 장치 내에 있고 장치에 연결된 하드웨어 및 서비스를 관리하도록 구성된 운영 체제를 포함할 수 있다. 일부 경우, 장애 핸들링 서비스(102)의 적어도 일부가 운영 체제 내에서 구현되거나 운영 체제에 의해 구현될 수 있다.
장애 핸들링 서비스(102)는 모니터링 모듈(408), 계산 모듈(410), 및 구성 모듈(412) 중 하나 이상을 포함한다. 본 명세서에서 사용될 때, 용어 "모듈"은 설명 목적으로 소프트웨어의 예시적 분할을 나타내는 의도이며 임의의 유형의 요건 또는 요구되는 방법, 방식 또는 조직을 나타내기 위한 의도가 아니다. 따라서 다양한 "모듈"이 언급되더라도, 이들의 기능 및/또는 유사한 기능이 서로 다르게 배열될 수 있다(가령, 더 적은 수의 모듈로 조합되거나, 더 많은 수의 모듈로 분할되는 등이 가능하다). 추가로, 하나 이상의 장치에 걸쳐 하나 이상의 프로세서 상에서 실행 가능한 소프트웨어 및/또는 펌웨어에 의해 구현 가능한 것으로 특정 기능 및 모듈이 본 명세서에 기재되었지만, 또 다른 실시예에서, 모듈들 중 임의의 것 또는 전부가 하드웨어(가령, ASIC, 특수 처리 유닛 등)에 의해 전체적으로 또는 부분적으로 구현되어, 기재된 기능을 실행할 수 있다. 또 다른 예를 들면, 기능 및/또는 모듈이 장치 드라이버, 펌웨어 등의 일부로서 구현된다.
다양한 실시예에서, 모니터링 모듈(408)은 네트워크 토폴로지(가령, 네트워크의 적어도 일부의 토폴로지)를 관측하거나, 및/또는 네트워크 토폴로지 저장소(414)에 네트워크 토폴로지를 저장하도록 구성된다. 네트워크 토폴로지는 네트워크의 다양한 구성요소(가령, 장치 위치, 장치 유형, 장치 기능부, 한 쌍의 장치 간 링크 등)의 배열이다. 상기 네트워크 토폴로지는 네트워크 구성요소의 배치를 나타내는 물리적 토폴로지 및 네트워크 내 데이터 흐름을 나타내는 논리적 토폴로지를 포함할 수 있다. 따라서 모니터링 모듈(208)은 다양한 소스 장치(가령, 유입 스위치)로부터 다양한 목적지 장치(가령, 유출 스위치)로 통신되는 트래픽 흐름을 관측 및 저장하도록 구성된다. 모니터링 모듈(408)은 주기적 스케줄에 따라 및/또는 특정 이벤트에 응답해서 실시간으로 네트워크 토폴로지를 결정할 수 있다.
또한 네트워크 토폴로지는 그 밖의 다른 네트워크 세팅, 가령, 네트워크 내 개별 링크에 대한 최대 링크 용량(가령, 대역폭), 네트워크 상의 흐름의 용량 수요를 더 포함할 수 있다. 앞서 언급된 바와 같이, 장애 핸들링 서비스(102)는, 실제 장애 횟수가 소정의 최대 허용 장애 횟수를 초과하지 않는 한 링크가 혼잡하지 않을 것임(가령, 최대 링크 용량이 초과되지 않을 것임)을 보장하도록 하는 트래픽 양을 계산한다.
계산 모듈(410)은 구성 세팅(118)을 계산하도록 구성된다. 계산 모듈(410)은 네트워크 토폴로지 저장소(414)로부터 현재 또는 가장 최신 네트워크 토폴로지를 결정(가령, 수신 또는 액세스)할 수 있다. 덧붙여, 계산 모듈(410)은 장애 보호 레벨 저장소(416)로부터 하나 이상의 장애 보호 레벨(116)을 결정(가령, 수신 또는 액세스)하도록 구성된다. 장애 보호 레벨(116)은 네트워크에 대해 소정의 최대 허용 장애 횟수(가령, 링크 고장, 스위치 고장 및/또는 제어 고장 중 하나 이상에 대해 소정의 최대 횟수)를 특정할 수 있다. 장애 보호 레벨 저장소(416)는 다양한 시나리오에서 계산 모듈(410)에 의해 액세스 가능한 다양한 장애 보호 레벨을 저장할 수 있다. 예를 들어, 장애 핸들링 서비스(102)는 다양한 시간 주기(가령, 특정 시간대에 대해 낮 시간대 대(vs) 밤 시간대), 네트워크에 대한 다양한 수요 등에 기초해서 다양한 레벨의 보호를 구현할 수 있다.
네트워크 토폴로지 및 장애 보호 레벨을 기초로, 계산 모듈(410)은 네트워크에서 발생할 가능성이 있는 가능한 장애의 다양한 조합(가령, 장애의 유형, 장애의 위치 등)을 나타내는 모델, 가령, 연립방정식을 생성한다. 그 후 계산 모듈(410)은 모델을 이용해 트래픽 양을, 가령, 구성 세팅(118)으로서 계산할 수 있다. 앞서 언급된 바와 같이, 계산된 트래픽 양에 의해 (가령, 하나 이상의 장애에 응답한 트래픽 재조정 프로세스의 일부로서) 발생한 장애 횟수가 (장애 유형에 대해 지정된 바와 같이) 소정의 최대 장애 횟수 이하인 한 링크가 통신 용량을 초과하지 않고, 추가 트래픽이 링크에 도달할 수 있다. 다양한 구현예에서, 보호 모듈(410)은 가능한 장애의 다양한 조합에 기초해서 제약조건을 인코딩하고 그 후 소팅 네트워크 접근법(sorting networks approach)을 이용해 제약조건을 효율적으로 풀 수 있으며, 이는 이하에서 더 설명된다.
구성 모듈(412)은 장애(가령, 아직 발생하지 않은 미지의 장애)로 인한 혼잡 및 데이터 패킷 손실이 피해질 수 있도록 네트워크(104)를 구성하는 명령을 발행하도록 구성된다. 예를 들어, 구성 모듈(412)은 네트워크 내 스위칭 장치에 적용될 특정 명령어(가령, 장치 특정 명령어)를 생성하여, 계산 모듈(410)에 의해 계산되는 트래픽의 양에 기초해서 트래픽이 통신 및/또는 분산되게 한다.
다양한 실시예에서, 장애 핸들링 서비스(102)는 트래픽 엔지니어링 제어기의 일부로서 구현될 수 있다. 대안적으로, 장애 핸들링 서비스(102)는 트래픽 엔지니어링 제어기와 인터페이싱하도록 구성될 수 있다. 따라서 장치(402)는 하나 이상의 통신 유닛(418)을 포함할 수 있다. 통신 유닛(418)은 하나 이상의 네트워크(가령, 네트워크(104)), 다양한 서비스 또는 콘텐츠 제공자에 의해 운영되는 애플리케이션 및/또는 그 밖의 다른 장치로의 유선 및/또는 무선 연결을 촉진하도록 구성될 수 있다. 따라서 통신 유닛(418)은 다양한 통신 또는 네트워크 연결 프로토콜 중 하나 이상을 구현할 수 있다.
도 5 및 6은 논리적 흐름 그래프로서 도시된 예시적 프로세스를 도시하며, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로 구현될 수 있는 동작의 시퀀스를 나타낸다. 소프트웨어의 맥락에서, 동작은, 하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 장치로 하여금 기재된 동작을 수행하게 하는 컴퓨터 실행 가능 명령을 나타낸다. 일반적으로 컴퓨터 실행 가능 명령은 컴퓨팅 장치로 하여금 특정 기능을 수행하거나 특정 추상화 데이터 유형을 구현하는 루틴, 프로그램, 객체, 구성요소, 데이터 구조 등을 포함한다. 일부 실시예에서, 동작 중 임의의 것 또는 전부가 하드웨어(가령, ASIC, 특수 처리 유닛 등)에 의해 전체적으로 또는 부분적으로 구현되어 기재된 기능을 실행할 수 있다. 일부 예시에서, 기능 및/또는 모듈은 운영 체제의 일부로서 구현된다. 또 다른 예시에서, 기능 및/또는 모듈은 장치 드라이버, 펌웨어 등의 일부로서 구현된다.
동작이 기재되는 순서는 한정으로 해석되지 않아야 하며, 임의의 개수의 기재된 동작들이 임의의 순서로 및/또는 병렬로 조합되어 프로세스를 구현할 수 있다.
도 5는 소정의 최대 장애 횟수까지 강건하도록(가령, 링크가 혼잡해지지 않을 것임을 보장) 네트워크를 구성하는 예시적 프로세스(500)를 도시한다. 도 5의 예시적 동작은 도 1-4 중 임의의 하나에 도시된 모듈, 구성요소 및/또는 요소를 참조하여 기재될 수 있다.
동작 502에서, 관측 모듈(408)은 (가령, 네트워크 토폴로지 저장소(414)에) 네트워크 토폴로지를 관측하고 저장할 수 있다. 예를 들어, 네트워크 토폴로지는 네트워크의 다양한 구성요소의 배열(가령, 장치 위치, 장치 유형, 장치 기능, 장치 쌍 간 링크 등)과 관련된 정보를 제공할 수 있다. 다양한 구현예에서, 관측 및 저장된 네트워크 토폴로지는 네트워크의 흐름을 기재하는 트래픽 수요 매트릭스((가령, 흐름에 대한 출발 또는 유입 장치, 흐름에 대한 도착 또는 유출 장치, 흐름에 대한 트래픽의 총량, 흐름에 대한 트래픽의 터널 분산 등)을 포함할 수 있다.
동작 504에서, 계산 모듈(410)은 소정의 최대 장애 횟수로 특정된 하나 이상의 장애 핸드링 레벨을 결정할 수 있다. 예를 들어, 계산 모듈(410)은 네트워크를 관리하는 개체로부터 장애 보호 레벨 저장소(416)를 액세스하거나 장애 보호 레벨을 수신할 수 있다. 다양한 구현예에서, 장애 보호 레벨은 특정 유형(가령, 링크 고장, 스위치 고장 또는 제어 고장)의 소정의 최대 장애 횟수를 가리킬 수 있다. 따라서 계산 모듈(410)은 네트워크가 링크 고장에 대해 강건한지(ke), 스위칭 장치 고장에 대해 강건한지(kv), 제어 고장에 대해 강건한지(kc), 이 두 유형의 고장의 조합에 대해 강건한지, 또는 모든 세 가지 유형의 고장의 조합에 대해 강건한지 여부에 따라 트래픽 양을 계산함으로써 네트워크 보호의 레벨을 변화시킬 수 있다.
동작 506에서, 계산 모듈(410)은 네트워크 토폴로지 및 장애 보호 레벨에 기초해서 가능한 장애의 다양한 조합을 캡처하는 모델을 생성할 수 있다. 예를 들어, 계산 모듈(410)은 네트워크 토폴로지 저장소(414) 및 장애 보호 레벨 저장소(416) 내 정보를 액세스할 수 있다. 다양한 구현예에서, 모델은 가능한 장애와 연관된 변수(가령, 토폴로지에 의해 기술되는 네트워크 배열 내 장애의 위치)를 포함하는 연립방정식이다.
동작 508에서, 계산 모듈(410)은 개별 흐름에 대해 네트워크 내 링크 상에서 통신되는 트래픽의 양을 계산할 수 있다. 예를 들어, 계산 모듈(410)은 연립방정식을 풀 수 있어서, 계산된 트래픽 양이, 발생한 장애 횟수가 (한 유형의 장애에 대해 지정된) 소정의 최대 장애 횟수 이하인 한 링크가 통신 용량을 초과하지 않으면서, 추가 트래픽이 (가령, 하나 이상의 장애에 응답한 비례적 트래픽 재조정 프로세스의 일부로서) 링크에 도착할 수 있게 할 수 있다.
동작 510에서, 구성 모듈(412)은 트래픽의 계산된 양에 기초해서 구성 세팅을 생성하고 구성 세팅(가령, 명령(instruction), 명령어(command) 등)을 네트워크로 제공할 수 있다.
도 6은 소팅 네트워크 접근법을 이용하여, 장애 핸들링 서비스가 가능한 장애의 다양한 조합과 연관된 제약조건을 효율적으로 풀 수 있도록 하는 예시적 프로세스(600)를 도시한다. 도 6의 예시적 동작은 도 1-5 중 임의의 도면에 도시된 모듈, 구성요소, 요소 및/또는 동작을 참조하여 기재될 수 있다. 예를 들어, 예시적 프로세스(600)는 도 5의 동작 506 및/또는 동작 508에 따라 구현될 수 있다.
동작 602에서, 계산 모듈(410)은 모델(가령, 연립방정식)에 의해 캡처된 가능한 장애의 다양한 조합에 기초해서 풀릴 제1 개수의 제약조건을 결정할 수 있다. 앞서 언급된 바와 같이, 제1 개수의 제약조건이 너무 많아서, 제약조건을 푸는 데 장애 핸들링 서비스(102)에 계산상 도전을 제시하는 시나리오가 존재할 수 있다.
동작 604에서, 계산 모듈이 소팅 네트워크를 이용해 제1 개수의 제약조건을 제2 개수의 제약조건으로 감소시킬 수 있다. 이로 인해 계산이 더 적은 계산 오버헤드로 수행될 수 있다.
동작 606에서, 계산 모듈(410)은 제2 개수의 제약조건을 풀고 네트워크에서 통신되는 트래픽의 양을 계산한다.
본 명세서에서 네트워크가 소정의 최대 장애 횟수까지 강건하도록 흐름의 트래픽 분산을 결정하기 위해 수행되는 예시적 계산이 제공된다. 앞서 기재된 바와 같이, 네트워크(104)는 많은 수(가령, 수십, 수백, 수천 개 등)의 장치를 포함할 수 있다. 따라서 가능한 장애의 다양한 조합과 연관된 많은 개수의 제약조건을 계산하고 푸는 데 필요한 오버헤드의 큰 양 때문에, 가능한 장애의 다양한 조합(가령, 소정의 최대 개수까지의 복수의 장애의 위치)을 결정하는 것이 계산상 도전을 제시한다. 최대 k개(소정의 최대 개수)의 장애가 허용되는 경우, n개의 가능한 장애를 겪을 수 있는 네트워크에 대한 계산상 도전(가령, 네트워크(104) 내 다양한 스위치들 중 하나에 위치하는 스위치 고장(110), 네트워크(104) 내 다양한 링크들 중 하나에 위치하는 링크 고장(112), 네트워크(104) 내 다양한 스위치들 중 하나에 위치하는 제어 고장(114))이 다음의 수학식(1)에서와 같이 나타날 수 있다:
Figure 112016118910269-pct00001
수학식 (1)
수학식(1)을 이용해, n = 1000(가령, 대형 네트워크 내 링크의 합리적인 개수)이고 k=3인 경우, 네트워크 구성요소에 걸쳐 최대 3개의 장애가 발생하는 복수의 다양한 조합이 109를 초과한다. 이는 많은 계산 오버헤드가 해결되어야 할 것을 필요로 한다.
계산 모듈(410)은 가능한 장애의 다양한 조합과 연관된 많은 개수의 제약조건을 "한정된 M-합(bounded M-sum)" 문제(가령, N개의 변수 중 임의의 M개의 합이 한정된다)로 변환함으로써, 계산 오버헤드를 감소시키도록 구성된다. 따라서 문제에서 많은 개수의 제약조건이 가장 큰, 또는 가장 작은 M개의 변수에 대한 단일 제약조건으로 감소될 수 있다. 계산 모듈(410)은 한정된 M-합 문제를 0(kn) 선형 제약조건으로서 효율적으로 인코딩하기 위해 소팅 네트워크 접근법을 이용할 수 있으며, 이는 이하에서 더 설명된다. 계산 모듈(410)은 다음에 기초한 가능한 장애의 다양한 조합을 모델링한다: (i) 스위칭 장치가 새 구성으로 업그레이드하지 못한 경우(가령, 제어 고장), 스위칭 장치는 오래된 구성을 이용하고, (ii) 링크가 고장 난 경우(가령, 링크 고장), 유입 스위칭 장치가 트래픽을 결정론적으로 재조정(가령, 비례적 재조정)한다.
본 명세서에 제공된 설명은 장애 핸들링 서비스(102)를 이용하여 트래픽 엔지니어링(TE)과 관련된 예시적 구현예에서 장애로부터 네트워크를 보호할 수 있다. 표 1은 네트워크의 트래픽 엔지니어링과 연관하여 사용되는 표기를 제공한다.
G V개의 스위칭 장치와 E개의 링크를 갖는 네트워크 그래프
F={f} 유입-유출 스위칭 장치 쌍에 의해 집성된 흐름
df 트래픽 엔지니어링 구간에서의 f의 대역폭 수요
ce 개별 링크 e의 대역폭 용량
Tf 개별 흐름 f에 대해 확립된 터널들의 세트
l[t,e] 이진 변수로서, "1"은 터널 t가 링크 e를 사용함을 가리키고 "0"은 그 밖의 다른 경우를 가리킨다.
s[t,v] 이진 변수로서, "1"은 터널 t가 출발 스위칭 장치 v를 가짐을 가리키고 "0"은 그 밖의 다른 경우를 가리킨다.
bf 흐름 f에게 허가된 대역폭
αf,t 터널 t 상의 흐름 f에 대해 할당된 대역폭
βf,t 흐름 f에 대한 트래픽의 상한
wf,t 터널 t 상의 흐름 f의 트래픽 분할 가중치
pf(p) 흐름 f가 링크를 순회하기 위한 터널의 최대 개수
qf(p) 흐름 f가 스위칭 장치를 순회하기 위한 터널의 최대 개수
kc, ke, kv 각각, 제어 고장, 링크 고장 및 스위치 고장의 소정의 최대 횟수
τf 최대 ke 링크 고장 및 kv 스위치 고장을 갖는 흐름 f의 나머지 터널의 최소 개수
따라서 트래픽 엔지니어링 구현예에서 장애 핸들링 서비스(102)로의 입력이 그래프 G=(V;E)일 수 있고, 여기서 V는 스위칭 장치의 세트이고 E는 직접 링크의 세트이며, 각각의 직접 링크가 2개의 스위칭 장치 사이에 확립된다. 그래프 G는 모니터링 모듈(408)에 의해 결정되고 저장되는 네트워크 토폴로지의 적어도 일부를 나타낼 수 있다. E 내의 각각의 링크 e가 용량 ce(가령, 지정 용량, 예컨대, 도 2 및 3의 예시의 경우 10 유닛)를 가질 수 있다. 계산 모듈(410)은 흐름의 세트로서 네트워크 상의 트래픽 수요를 나타낼 수 있고, 각각의 흐름 f는 유입 스위칭 장치에서부터 유출 스위칭 장치로 통신되는 트래픽의 집성이다. 트래픽 엔지니어링(TE) 구간에서의 f의 대역폭 수요는 df이고, 트래픽은 사전 확립된 터널의 세트 Tf에 걸쳐 확산될 수 있다.
이 예시적 구현예에서, 계산 모듈(410)은 각각의 흐름의 출력 대역폭 할당
Figure 112016118910269-pct00002
및 흐름 중 얼마나 많은 부분이 각각의 터널을 순회할 수 있는지
Figure 112016118910269-pct00003
를 계산하도록 구성된다. 계산 모듈(410)은 또한 DCN 또는 WAN에 대해, 다음과 같이 경로 제약형 다중-품종 흐름(multi-commodity flow) 문제에 기초해서 대역폭 할당을 풀 수 있다(가령, 계산할 수 있다):
Figure 112016118910269-pct00004
수학식(2)
Figure 112016118910269-pct00005
수학식(3)
Figure 112016118910269-pct00006
수학식(4)
Figure 112016118910269-pct00007
수학식(5)
수학식(2)는 네트워크 처리율을 최대화하도록 공식화된다. 수학식(3)은 네트워크 내 어떠한 링크도 과부하되지 않을 것임을 가리킨다. 수학식(3)에서, l[t, e]는 터널 t가 링크 e를 순회하는지 여부를 가리키는 이진 변수이다. 수학식(3)은 터널을 가로지르는 흐름의 할당의 합이 흐름에 할당되는 레이트(rate)보다 작지 않을 것임을 나타낸다. 수학식(4)은 흐름에 대해 허용된 대역폭이 흐름의 수요보다 크지 않음을 가리키고 변수가 음수가 아님을 가리킨다. 일부 구현예에서, 계산 모듈(410)은 흐름 및 유입 스위치의 레이트 제한기(rate limiter)
Figure 112016118910269-pct00008
를 업데이트하여, 이들이 수학식(6)에 제공된 트래픽 분할 가중치를 이용하도록 한다:
Figure 112016118910269-pct00009
수학식(6)
다양한 실시예에서, 제어 평면 장애(가령, 제어 고장(114))를 모델링하기 위해, 계산 모듈(410)은 새 구성
Figure 112016118910269-pct00010
을 계산하여, 가령, kc 또는 그 미만의 스위칭 장치가 오래된 구성
Figure 112016118910269-pct00011
을 업데이트하는 데 실패한 한 링크에서 어떠한 혼잡도 발생하지 않도록 한다. 본 명세서에서 사용될 때, (i)
Figure 112016118910269-pct00012
는 유입 스위치 v에 의한 흐름들 중 적어도 하나에 대해 구성 고장을 나타내며, (ii)
Figure 112016118910269-pct00013
는 유입 스위치 v에서 시작하는 모든 흐름에 대한 구성이 성공했음을 나타낸다. 계산 모듈(410)은 각각의 스위칭 장치의 상태를 가리키는 벡터
Figure 112016118910269-pct00014
에 의해 네트워크 내 제어 평면 장애를 나타낼 수 있다. 따라서 계산된 네트워크 구성이 kc개의 장애까지 강건함을 보장하기 위해, 네트워크는 수학식(7)에 의해 표현되는 케이스들의 세트 하에서 과부하된 링크를 가질 수 없다:
Figure 112016118910269-pct00015
수학식(7)
계산 모듈(410)은 이하의 수학식(8)에서와 같이 수학식(7)의 요건을 캡처할 수 있다:
Figure 112016118910269-pct00016
수학식(8)
수학식(8)에서,
Figure 112016118910269-pct00017
는, 수학식(9)에 의해 나타나는 바와 같이 어떠한 구성 장애도 없는 경우 스위칭 장치 v에서 시작하는 흐름으로부터 링크 e에 도달할 수 있는 총 트래픽이다.
Figure 112016118910269-pct00018
수학식(9)
수학식(9)에서,
Figure 112016118910269-pct00019
는 터널 t에 대한 출발 스위칭 장치가 v인지 여부를 가리키는 이진 변수이다
수학식(8)에서,
Figure 112016118910269-pct00020
는 수학식(10)에서 표현될 수 있는 장애가 발생할 때(가령,
Figure 112016118910269-pct00021
) v에서 시작하는 흐름으로부터 링크 e의 트래픽의 상한이다.
Figure 112016118910269-pct00022
수학식(10)
수학식(10)에서,
Figure 112016118910269-pct00023
는 f에 대해 장애가 발생할 때 터널 t 상에서의 흐름의 트래픽의 상한이다. 레이트 제한기에서의 업데이트가 성공적인 경우,
Figure 112016118910269-pct00024
는 다음의 수학식(11)에서와 같이 모델링될 수 있다:
Figure 112016118910269-pct00025
수학식(11)
수학식(11)에서,
Figure 112016118910269-pct00026
는 (가령, 모니터링 모듈(408)에 의해 알려지거나 관측될 수 있는) 오래된 구성에서의 터널 t에 대한 흐름의 분할 가중치이다.
따라서, 수학식(8-11)을 이용해, 계산 모듈(410)이 kc개의 제어 평면 장애까지 강건한 TE 구성을 찾을 수 있다. 달리 말하자면, 네트워크는 네트워크 혼잡을 초래하지 않으면서(가령, 링크가 자신의 용량을 초과하지 않으면서) 횟수 kc번의 제어 평면 장애까지 핸들링할 수 있다.
다양한 실시예에서, 데이터 평면 장애(가령, 스위치 고장(110) 또는 링크 고장(112))를 모델링하기 위해, 계산 모듈(410)이 (i) 고장난 링크의 수가 ke 이하이고, (ii) 고장난 스위칭 장치의 수가 kv 이하인 한, 어떠한 혼잡도 발생하지 않도록 하는 흐름 할당을 계산할 수 있다. 이는 고장 난 스위치 장치 상으로 입사되지 않는 링크 고장에 적용될 수 있다. 스위칭 장치가 많은 수의 입사 링크(incident link)를 가질 수 있기 때문에, 계산 모듈(410)은 스위칭 장치 고장 및 링크 고장을 개별적으로 간주할 수 있다. 링크 e 고장은
Figure 112016118910269-pct00027
로 표시되며, 스위치 고장은
Figure 112016118910269-pct00028
로 표시될 수 있다. 앞 문장에서의 변수는, 링크 또는 스위치가 고장 나지 않은 경우 0일 수 있다. 그 후 계산 모듈(410)은 데이터 평면 장애를 벡터
Figure 112016118910269-pct00029
로 나타낼 수 있고, 여기서 벡터
Figure 112016118910269-pct00030
이고 벡터
Figure 112016118910269-pct00031
이다. 트래픽 엔지니어링 구성이 ke개의 링크 고장 및 kv개의 스위치 고장까지 강건함을 보장하기 위해, 수학식(12)에 의해 특정되는 바와 같이 하드웨어 고장 케이스의 세트 하에서 어떠한 과부하도 없음이 요구된다:
Figure 112016118910269-pct00032
수학식(12)
유입 스위칭 장치가 트래픽을 재조정할 때(가령, 트래픽을 영향받는 터널에서 나머지 터널로 이동시킬 때) 네트워크에 걸친 트래픽 분산을 변경하기 때문에 데이터 평면 장애는 혼잡을 야기할 수 있다. 따라서 장애 케이스
Figure 112016118910269-pct00033
가 주어지면, 계산 모듈(410)은 각각의 흐름 f의 고장 난 링크 및/또는 고장 난 스위치를 순회하지 않는 나머지 터널
Figure 112016118910269-pct00034
을 알고 흐름 f의 나머지 터널은 수학식(13)에 의해 나타나는 바와 같이 할당된 레이트를 유지할 수 있어야 한다:
Figure 112016118910269-pct00035
수학식(13)
흐름 f가 나머지 터널을 갖지 않는 경우 예컨대,
Figure 112016118910269-pct00036
인 경우, 고장 케이스
Figure 112016118910269-pct00037
하에서, 흐름 크기 bf가 0으로 고정될 수 있다. 따라서 수학식(13)이 어떠한 링크도 과부하되지 않음을 보장할 수 있다.
수학식(13)을 살펴보면, 나머지 터널의 수가 증가함에 따라, 네트워크 처리율이 또한 증가한다. 따라서 다양한 실시예에서, 장애가 발생하는 경우 흐름에 대한 터널의 손실(가령, 손실된 터널의 수)이 최소화되도록 터널을 배치함으로써, 네트워크 토폴로지가 네트워크 처리율을 개선하도록 (가령, 장애 핸들링 서비스, 또 다른 트래픽 엔지니어링 제어기 등에 의해) 구성될 수 있다. 예를 들어, 네트워크는 (p, q) 링크-스위치 서로소 터널에 기초해서 구성되어, 개별 흐름에 대해, 최대 p개의 터널이 하나의 링크를 순회하고 최대 q개의 터널이 스위칭 장치를 순회할 수 있도록 할 수 있다. 파라미터 p 및 q는 장애 핸들링 서비스(102) 및/또는 트래픽 엔지니어링 제어기에 의해 정의될 수 있고 흐름 특정적일 수 있다.
앞서 언급된 바와 같이, 네트워크에 대한 가능한 장애의 다양한 조합을 모델링함으로써 도출된 많은 개수의 제약조건을 풀기 위해, 계산 모듈(410)은 제약조건을 한정된 M-합 문제로 변환하고, 그 후 소팅 네트워크 접근법을 이용해 한정된 M-합 문제를 인코딩하도록 구성된다. 한정된 M-합 문제는 N개의 변수의 세트가 주어질 때, 이들 변수 중 임의의 M개의 합이 한계 B보다 작거나 크도록 정의될 수 있다. 따라서 NM가 원소 개수 ≤ M인 모든 변수 부분집합들의 집합이라면, 한정된 M-합 문제는 다음과 같이 수학식(14)으로 나타날 수 있다:
Figure 112016118910269-pct00038
수학식(14)
수학식(14)에서, S는 다양한 가능한 장애 조합을 나타낸다. nj이 j번째로 큰 변수에 대한 표현인 경우, 모든 제약조건은 다음을 만족한다:
Figure 112016118910269-pct00039
수학식(15)
따라서, 계산 모듈(410)은 N에서 가장 큰 M개의 변수에 대한 효율적인(선형) 표현을 찾을 수 있고, 따라서 계산 모듈(410)은 본래의 제약조건(가령, 많은 개수의 제약조건)을 더 효율적으로 풀릴 수 있는 감소된 개수의 제약조건(가령, 1개의 제약조건)으로
제어 평면 장애의 경우, 수학식(8)은 수학식(16)으로 다시 써져서, 제약조건을 한정된 M-합 문제로 변환할 수 있다:
Figure 112016118910269-pct00040
수학식(16)
Figure 112016118910269-pct00041
의 경우,
Figure 112016118910269-pct00042
는 D의 j번째로 큰 요소이고,
Figure 112016118910269-pct00043
이기 때문에, 수학식(16)은 다음과 같이 수학식(17)과 동치이다:
Figure 112016118910269-pct00044
수학식(17)
따라서, 계산 모듈(410)은 수학식(16 및 17)을 이용해 본래의
Figure 112016118910269-pct00045
개의 제약조건을
Figure 112016118910269-pct00046
개의 제약조건(가령, 각각의 링크에 대해 하나씩)으로 변환할 수 있다.
데이터 평면 장애의 경우, 흐름 f의 터널이
Figure 112016118910269-pct00047
링크-스위치 서로소로서 표현될 수 있다. 따라서 데이터 평면 장애 케이스
Figure 112016118910269-pct00048
Figure 112016118910269-pct00049
에 대해, 나머지 터널의 개수가
Figure 112016118910269-pct00050
보다 적지 않다.
Figure 112016118910269-pct00051
Figure 112016118910269-pct00052
의 j번째로 작은 원소인 경우 수학식(18)은 수학식(13)의 모든 제약사항이 만족됨을 보장한다:
Figure 112016118910269-pct00053
수학식(18)
계산 모듈(410)은, 수학식(18)의 좌변이 흐름 f가
Figure 112016118910269-pct00054
내 임의의 케이스 하에서 자신의 나머지 터널로부터 가질 수 있는 최악 경우(worst-case) 대역폭 할당이기 때문에 모든 제약조건이 만족됨을 보장할 수 있다.
그 후 계산 모듈(410)이 가장 큰 M개의 변수를 소팅 네트워크에 기초해서 선형 제약조건으로 표현한다. 소팅 네트워크는 N개의 값의 임의의 어레이를 소팅할 수 있는 비교-교환 연산자(compare-swap operator)의 네트워크이다. 4개의 입력 값(702)(가령, x1 = 6, x2 = 8, x3 = 4, x4 = 9)을 소팅하기 위한 예시적 소팅 네트워크(700)가 도 7에 도시되어 있다. 이 예시적 네트워크(700)는 각각의 비교-교환 연산자가 좌변으로부터 2개의 입력을 취하고 상기 2개의 입력을 비교하며, 2개의 입력 중 더 큰 것을 위로 이동시키고 2개의 입력 중 더 작은 것을 아래로 이동시키는 병합 소팅 알고리즘(merge sort algorithm)에 기초한다. 소팅 네트워크의 특성은 비교-교환 연산의 시퀀스가 입력에 독립적으로 구현된다는 것이다. 이 특징에 의해, 계산 모듈(410)은 자신의 계산을 가장 큰 변수에서 가장 작은 변수까지 각각의 변수에 대해 선형 표현으로 인코딩할 수 있다. 따라서 예시적 네트워크(700)의 출력(704)(가령, y1, y2, y3, y4)이 소팅된 순서(가령, 9 > 8 > 6 > 4)가 된다.
가장 큰 M개의 변수가 소팅될 것이기 때문에, 계산 모듈(410)은 0(NM) 연산자를 갖는 부분 네트워크를 이용할 수 있다. 다양한 구현예에서, 계산 모듈(410)은 복수의 스테이지가 가장 큰 M개의 값을 산출한 후 종료되는 버블 소팅(bubble sort)을 이용하는 소팅 네트워크를 구현할 수 있다.
(예시적 구현예)
구현예 A: 네트워크의 적어도 일부분에 대해 소정의 최대 장애 횟수를 결정하는 단계와, 상기 네트워크의 적어도 일부분의 하나 이상의 흐름을 결정하는 단계와, 하나 이상의 하드웨어 프로세서가, 상기 소정의 최대 장애 횟수에 적어도 부분적으로 기초해서, 상기 네트워크의 적어도 일부분에 대한 하나 이상의 장애의 다양한 조합의 모델을 생성하는 단계와, 상기 모델에 적어도 부분적으로 기초해서 상기 하나 이상의 흐름의 개별 흐름에 대해, 상기 네트워크의 적어도 일부분에서 발생하는 실제 장애 횟수가 상기 소정의 최대 장애 횟수 이하인 경우 혼잡이 피해지도록 하는, 하나 이상의 개별 경로를 통해 통신되는 트래픽의 양을 계산하는 단계와, 상기 하나 이상의 흐름의 개별 흐름에 대해, 상기 하나 이상의 개별 경로 상에서 통신되는 트래픽의 양에 적어도 부분적으로 기초해서 상기 네트워크의 적어도 일부분에서 트래픽이 분산되게 하는 단계를 포함하는 방법.
구현예 B: 구현예 A에 있어서, 상기 하나 이상의 흐름은 소스 장치로부터 목적지 장치로의 트래픽을 개별적으로 통신하고 상기 하나 이상의 흐름은 네트워크 토폴로지를 순회하며, 네트워크 토폴로지는 상기 네트워크의 적어도 일부분 내 복수의 장치 및 상기 복수의 장치 간 복수의 링크의 배열, 및 복수의 링크의 개별 링크에 대한 용량을 나타내며, 계산하는 단계에서는 소정의 최대 장애 횟수가 초과되지 않는 한, 복수의 링크의 개별 링크의 용량이 초과되지 않도록 보장하는, 방법.
구현예 C: 구현예 B에 있어서, 하나 이상의 개별 경로를 통해 통신되는 트래픽의 양을 계산하는 단계는, 최대 장애 횟수 이하의 장애의 발생에 응답해서 추가 트래픽이 도착하는 경우에, 용량이 초과되지 않도록 복수의 링크의 개별 링크에 대한 대역폭 가용성을 제공하는 방법.
구현예 D: 구현예 A 또는 구현예 B에 있어서, 상기 방법은 하나 이상의 장애의 다양한 조합을 모델링하기 위해 네트워크의 적어도 일부분의 네트워크 토폴로지를 관측하는 단계를 더 포함하는 방법.
구현예 E: 구현예 A 내지 D 중 어느 한 구현예에 있어서, 모델은 네트워크의 적어도 일부분에 대한 하나 이상의 장애의 다양한 조합과 연관된 제1 개수의 제약조건을 포함하고, 상기 방법은, 하나 이상의 개별 경로를 통해 통신되는 트래픽의 양을 계산하기 전에 소팅 네트워크를 이용해서 제1 개수의 제약조건을 상기 제1 개수의 제약조건보다 적은 제2 개수의 제약조건으로 감소시키는 단계를 더 포함하는 방법.
구현예 F: 구현예 A 내지 E 중 어느 한 구현예에 있어서, 상기 소정의 최대 장애 횟수는 하나 이상의 스위칭 장치가 기존 구성에서 새 구성으로 현재 구성을 업데이트하지 못하거나 기존 구성에서 새 구성으로 현재 구성을 업데이트하는 것이 지연된 제어 고장과 연관되는, 방법.
구현예 G: 구현예 A 내지 E 중 어느 한 구현예에 있어서, 소정의 최대 장애 횟수는 하나 이상의 스위칭 장치가 고장나거나 트래픽을 통신하지 못하는 스위치 고장과 연관되는, 방법.
구현예 H: 구현예s A 내지 E 중 어느 한 구현예에 있어서, 지정 최대 장애 횟수는 하나 이상의 링크가 고장나고 트래픽을 통신하지 못하는 링크 고장과 연관되는, 방법.
구현예 I: 구현예 A 내지 H 중 어느 한 구현예에 있어서, 트래픽이 개별 흐름에 대해 네트워크의 적어도 일부분에서 분산되게 하는 단계는 하나 이상의 스위칭 장치로 분산 명령을 발행하는 단계를 포함하는, 방법.
구현예 J: 컴퓨터 실행 가능 명령을 저장하는 하나 이상의 컴퓨터 저장 매체로서, 상기 컴퓨터 실행 가능 명령은 하나 이상의 프로세서에 의해 실행될 때, 네트워크의 적어도 일부분에 대해 소정의 최대 장애 횟수를 결정하게 하고, 하나 이상의 개별 링크에 대해, 상기 네트워크의 적어도 일부분에서 하나 이상의 링크에 대한 통신 용량을 결정하게 하며, 상기 네트워크의 적어도 일부분에 대해, 상기 네트워크에서 실제로 발생하는 장애의 횟수가 상기 소정의 최대 장애 횟수 이하인 한, 개별 링크가 상기 통신 용량을 초과하지 않도록 하는 트래픽 구성(traffic configuration)을 계산하게 하고, 상기 트래픽 구성에 적어도 부분적으로 기초해서 상기 네트워크의 적어도 일부분을 구성하게 하도록 하나 이상의 프로세서를 프로그래밍하는, 컴퓨터 저장 매체.
구현예 K: 구현예 J에 있어서, 상기 실행 가능 명령은 상기 하나 이상의 프로세서로 하여금 상기 네트워크의 적어도 일부분의 토폴로지 및 상기 소정의 최대 장애 횟수에 적어도 부분적으로 기초해서 가능한 장애의 다양한 조합의 모델을 생성하게 하며 - 상기 모델은 상기 네트워크의 적어도 일부분에 대해, 가능한 장애의 다양한 조합에 관한 제1 개수의 제약조건을 포함함 - , 상기 네트워크의 적어도 일부분에 대한 상기 트래픽 구성을 계산하기 전에, 소팅 네트워크를 이용해 상기 제1 개수의 제약조건을 제1 개수의 제약조건보다 적은 제2 개수의 제약조건으로 감소시키게 하는 컴퓨터 저장 매체.
구현예 L: 구현예 J 또는 K에 있어서, 상기 소정의 최대 장애 횟수는, 하나 이상의 스위칭 장치가 현재의 구성을 기존 구성에서 새 구성으로 업데이트하지 못하거나 현재의 구성을 기존 구성에서 새 구성으로 업데이트하는 것이 지연된 제어 고장과 연관되는 컴퓨터 저장 매체.
구현예 M: 구현예 J 또는 K에 있어서, 상기 소정의 최대 장애 횟수는 하나 이상의 스위칭 장치가 고장나거나 트래픽을 통신하지 못하는 스위치 고장과 연관되는 컴퓨터 저장 매체.
구현예 N: 구현예 J 또는 K에 있어서, 상기 소정의 최대 장애 횟수는 하나 이상의 링크가 고장나거나 트래픽을 통신하지 못하는 링크 고장과 연관되는 컴퓨터 저장 매체.
구현예 O: 하나 이상의 장치로서, 하나 이상의 프로세서, 하나 이상의 메모리, 상기 하나 이상의 메모리 상에 저장되고 상기 하나 이상의 프로세서에 의해 실행되어, 네트워크 토폴로지를 액세스하고 상기 네트워크 토폴로지에 적어도 부분적으로 기초해서, 상기 네트워크의 적어도 일부분에 대해, 상기 네트워크의 적어도 일부분에서 실제로 발생한 장애 횟수가 소정의 최대 허용 장애 횟수 이하인 한 상기 네트워크의 적어도 일부분에서의 개별 링크가 통신 용량을 초과하지 않도록 하는 트래픽 구성을 계산하는 계산 모듈, 및 상기 하나 이상의 메모리 상에 저장되고 상기 하나 이상의 프로세서에 의해 실행되어, 계산된 트래픽 구성에 적어도 부분적으로 기초해서 상기 네트워크를 구성하는 구성 모듈을 포함하는 하나 이상의 장치.
구현예 P: 구현예 O에 있어서, 상기 소정의 최대 장애 횟수는 하나 이상의 스위칭 장치가 기존 구성에서 새 구성으로 현재 구성을 업데이트하지 못하거나 기존 구성에서 새 구성으로 현재 구성을 업데이트하는 것이 지연된 제어 고장과 연관되는 하나 이상의 장치.
구현예 Q: 구현예 O에 있어서, 소정의 최대 장애 횟수는 하나 이상의 스위칭 장치가 고장나고 트래픽을 통신하지 못하는 스위치 고장과 연관되는, 하나 이상의 장치.
구현예 R: 구현예 O에 있어서, 소정의 최대 장애 횟수는 하나 이상의 링크가 고장나고 트래픽을 통신하지 못하는 링크 고장과 연관되는, 하나 이상의 장치.
구현예 S: 구현예 O 내지 R 중 어느 한 구현예에 있어서, 상기 계산 모듈은 상기 네트워크 토폴로지 및 상기 소정의 최대 장애 횟수에 적어도 부분적으로 기초해서 가능한 장애의 다양한 조합의 모델을 생성하며 - 상기 모델은 상기 네트워크의 적어도 일부분에 대해 가능한 장애의 다양한 조합과 연관된 제1 개수의 제약조건을 포함함 - , 상기 트래픽 구성을 계산하기 전에 소팅 네트워크를 이용해 제1 개수의 제약조건을 상기 제1 개수의 제약조건보다 적은 제2 개수의 제약조건으로 감소시키는 하나 이상의 장치.
구현예 T: 구현예 O 내지 S 중 어느 한 구현예에 있어서, 상기 구성 모듈은 흐름 분산 가중치를 하나 이상의 스위칭 장치로 제공함으로써 상기 네트워크를 구성하는 하나 이상의 장치.
(결론)
본 발명이 구조적 특징부 및/또는 방법적 동작에 특정적인 언어를 이용할 수 있지만, 본 발명은 본 명세서에 기재된 특정 특징부 또는 동작에 한정되지 않는다. 오히려, 특정 특징부 및 동작은 본 발명을 구현하는 예시적 형태로서 개시된다.

Claims (20)

  1. 프로세서에 의해 수행되는 방법으로서,
    네트워크의 적어도 일부분에 대한 사전결정된 최대 장애 횟수를 결정하는 단계와,
    상기 네트워크의 상기 적어도 일부분의 토폴로지를 결정하는 단계와,
    상기 네트워크의 상기 적어도 일부분의 하나 이상의 흐름을 결정하는 단계와,
    하나 이상의 하드웨어 프로세서가, 상기 사전결정된 최대 장애 횟수 및 상기 네트워크의 상기 적어도 일부분의 토폴로지에 적어도 부분적으로 기초하여, 상기 네트워크의 상기 적어도 일부분에 대한 하나 이상의 장애의 다양한 조합의 모델을 생성하는 단계 - 상기 모델은 상기 네트워크의 상기 적어도 일부분에 대해, 상기 하나 이상의 장애의 다양한 조합과 연관된 제1 개수의 제약조건(constraint)을 포함함 - 와,
    소팅 네트워크(sorting network)를 이용하여 상기 모델의 상기 제1 개수의 제약조건을 상기 제1 개수의 제약조건보다 적은 제2 개수의 제약조건으로 감소시키는 단계와,
    상기 모델에 적어도 부분적으로 기초하여 상기 하나 이상의 흐름의 개별 흐름에 대해, 상기 네트워크의 적어도 일부분에서 발생하는 실제 장애 횟수가 상기 사전결정된 최대 장애 횟수 이하인 경우 혼잡이 피해지도록 하는, 하나 이상의 경로의 개별 경로를 통해 통신되는 트래픽의 양을 계산하는 단계와,
    상기 하나 이상의 흐름의 개별 흐름에 대해, 상기 하나 이상의 경로의 개별 경로를 통해 통신되는 트래픽의 양에 적어도 부분적으로 기초하여 상기 네트워크의 적어도 일부분에서 트래픽이 분산되게 하는 단계
    를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 하나 이상의 흐름은 소스 장치로부터 목적지 장치로의 트래픽을 개별적으로 통신하고, 상기 하나 이상의 흐름은 상기 토폴로지의 적어도 일부분을 순회하며,
    상기 토폴로지는,
    상기 네트워크의 상기 적어도 일부분 내의 복수의 장치 및 상기 복수의 장치 간 복수의 링크의 배열과,
    상기 복수의 링크의 개별 링크에 대한 용량
    을 나타내고,
    상기 계산하는 단계에서는, 상기 사전결정된 최대 장애 횟수가 초과되지 않는 한 상기 복수의 링크의 개별 링크의 용량이 초과되지 않도록 보장하는,
    방법.
  3. 제2항에 있어서,
    상기 하나 이상의 경로의 개별 경로를 통해 통신되는 트래픽의 양을 계산하는 단계는, 상기 사전결정된 최대 장애 횟수 이하의 장애의 발생에 응답하여 추가 트래픽이 도착하는 경우에 상기 용량이 초과되지 않도록 상기 복수의 링크의 개별 링크에 대한 대역폭 가용성을 제공하는
    방법.
  4. 제1항에 있어서,
    상기 사전결정된 최대 장애 횟수는, 하나 이상의 스위칭 장치가 현재의 구성을 기존 구성에서 새 구성으로 업데이트하지 못하거나, 또는 상기 현재의 구성을 기존 구성에서 새 구성으로 업데이트하는 것이 지연되는 제어 고장과 연관되는
    방법.
  5. 제1항에 있어서,
    상기 사전결정된 최대 장애 횟수는, 하나 이상의 스위칭 장치가 고장나서 트래픽을 통신하지 못하는 스위치 고장과 연관되는
    방법.
  6. 제1항에 있어서,
    상기 사전결정된 최대 장애 횟수는, 하나 이상의 링크가 고장나서 트래픽을 통신하지 못하는 링크 고장과 연관되는
    방법.
  7. 제1항에 있어서,
    개별 흐름에 대해 상기 네트워크의 적어도 일부분에서 상기 트래픽이 분산되게 하는 단계는, 하나 이상의 스위칭 장치에 분산 명령을 발행하는 단계를 포함하는,
    방법.
  8. 제1항에 있어서,
    상기 네트워크의 적어도 일부분에서 상기 트래픽이 분산되게 하는 단계는, 흐름 분산 가중치를 하나 이상의 스위칭 장치에 제공하는 단계를 포함하는,
    방법.
  9. 시스템으로서,
    하나 이상의 프로세서와,
    명령어를 저장하는 하나 이상의 메모리를 포함하되,
    상기 명령어는, 상기 하나 이상의 프로세서에 의해 실행될 경우에 상기 하나 이상의 프로세서로 하여금,
    네트워크의 적어도 일부분에 대한 사전결정된 최대 장애 횟수를 결정하고,
    상기 네트워크의 상기 적어도 일부분의 토폴로지를 결정하며 - 상기 토폴로지는 상기 네트워크의 상기 적어도 일부분 내의 하나 이상의 링크의 개별 링크에 대한 통신 용량을 포함함 - ,
    상기 사전결정된 최대 장애 횟수 및 상기 네트워크의 상기 적어도 일부분의 토폴로지에 적어도 부분적으로 기초하여, 가능한 장애들의 다양한 조합의 모델을 생성하고 - 상기 모델은 상기 가능한 장애들의 다양한 조합과 연관된 제1 개수의 제약조건을 포함함 - ,
    소팅 네트워크를 이용하여 상기 모델에 포함된 상기 제1 개수의 제약조건을 상기 제1 개수의 제약조건보다 적은 제2 개수의 제약조건으로 감소시키며,
    상기 모델에 적어도 부분적으로 기초하여, 상기 네트워크에서 실제로 발생하는 장애 횟수가 상기 사전결정된 최대 장애 횟수 이하이면 개별 링크가 상기 통신 용량을 초과하지 않도록, 상기 네트워크의 상기 적어도 일부분에 대한 트래픽 구성을 계산하고,
    상기 트래픽 구성에 적어도 부분적으로 기초하여 상기 네트워크의 상기 적어도 일부분을 구성
    하도록 프로그램하는
    시스템.
  10. 제9항에 있어서,
    상기 사전결정된 최대 장애 횟수는, 하나 이상의 스위칭 장치가 현재의 구성을 기존 구성에서 새 구성으로 업데이트하지 못하거나, 또는 상기 현재의 구성을 기존 구성에서 새 구성으로 업데이트하는 것이 지연되는 제어 고장과 연관되는
    시스템.
  11. 제9항에 있어서,
    상기 사전결정된 최대 장애 횟수는, 하나 이상의 스위칭 장치가 고장나서 트래픽을 통신하지 못하는 스위치 고장과 연관되는
    시스템.
  12. 제9항에 있어서,
    상기 사전결정된 최대 장애 횟수는, 하나 이상의 링크 중 적어도 하나가 고장나서 트래픽을 통신하지 못하는 링크 고장과 연관되는
    시스템.
  13. 제9항에 있어서,
    상기 명령어는 또한, 상기 하나 이상의 프로세서로 하여금, 흐름 분산 가중치를 하나 이상의 스위칭 장치에 제공함으로써 상기 네트워크의 상기 적어도 일부분을 구성하도록 프로그램하는,
    시스템.
  14. 제9항에 있어서,
    상기 트래픽 구성을 계산하는 것은, 상기 사전결정된 최대 장애 횟수 이하의 장애의 발생에 응답하여, 추가 트래픽이 도착하는 경우에 상기 개별 링크가 상기 통신 용량을 초과하지 않도록 상기 개별 링크에 대한 대역폭 가용성을 제공하는,
    시스템.
  15. 하나 이상의 장치로서,
    하나 이상의 프로세서와,
    명령어를 저장하는 하나 이상의 메모리를 포함하되,
    상기 명령어는, 상기 하나 이상의 프로세서에 의해 실행될 경우에,
    네트워크 토폴로지에 액세스하고,
    상기 네트워크 토폴로지 및 사전결정된 최대 장애 횟수에 적어도 부분적으로 기초하여, 가능한 장애들의 다양한 조합의 모델을 생성하고 - 상기 모델은 상기 가능한 장애들의 다양한 조합과 연관된 제1 개수의 제약조건을 포함함 - ,
    소팅 네트워크를 이용하여 상기 제1 개수의 제약조건을 상기 제1 개수의 제약조건보다 적은 제2 개수의 제약조건으로 감소시키며,
    상기 네트워크 토폴로지에 적어도 부분적으로 기초하여, 네트워크의 적어도 일부분에서 실제로 발생하는 장애 횟수가 상기 사전결정된 최대 장애 횟수 이하이면 상기 네트워크의 상기 적어도 일부분 내의 개별 링크가 통신 용량을 초과하지 않도록, 상기 네트워크의 상기 적어도 일부분에 대한 트래픽 구성을 계산하고,
    상기 계산된 트래픽 구성에 적어도 부분적으로 기초하여 상기 네트워크를 구성하도록
    상기 하나 이상의 장치를 구성하는,
    하나 이상의 장치.
  16. 제15항에 있어서.
    상기 사전결정된 최대 장애 횟수는, 하나 이상의 스위칭 장치가 현재의 구성을 기존 구성에서 새 구성으로 업데이트하지 못하거나, 또는 상기 현재의 구성을 기존 구성에서 새 구성으로 업데이트하는 것이 지연되는 제어 고장과 연관되는
    하나 이상의 장치.
  17. 제15항에 있어서,
    상기 사전결정된 최대 장애 횟수는, 하나 이상의 스위칭 장치가 고장나서 트래픽을 통신하지 못하는 스위치 고장과 연관되는
    하나 이상의 장치.
  18. 제15항에 있어서,
    상기 사전결정된 최대 장애 횟수는, 하나 이상의 링크가 고장나서 트래픽을 통신하지 못하는 링크 고장과 연관되는
    하나 이상의 장치.
  19. 제15항에 있어서,
    상기 네트워크를 구성하는 것은, 흐름 분산 가중치를 하나 이상의 스위칭 장치에 제공하는 것을 포함하는,
    하나 이상의 장치.
  20. 제15항에 있어서,
    상기 명령어는 또한, 상기 사전결정된 최대 장애 횟수 이하의 장애의 발생에 응답하여, 추가 트래픽이 도착하는 경우에 상기 개별 링크가 상기 통신 용량을 초과하지 않도록 상기 개별 링크에 대한 대역폭 가용성을 제공하도록, 상기 하나 이상의 장치를 구성하는,
    하나 이상의 장치.
KR1020167034006A 2014-06-06 2015-06-04 네트워크 장애의 선제적 핸들링 기법 KR102342063B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/298,820 US9602351B2 (en) 2014-06-06 2014-06-06 Proactive handling of network faults
US14/298,820 2014-06-06
PCT/US2015/034088 WO2015187893A1 (en) 2014-06-06 2015-06-04 Proactive handling of network faults

Publications (2)

Publication Number Publication Date
KR20170017903A KR20170017903A (ko) 2017-02-15
KR102342063B1 true KR102342063B1 (ko) 2021-12-21

Family

ID=53499072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167034006A KR102342063B1 (ko) 2014-06-06 2015-06-04 네트워크 장애의 선제적 핸들링 기법

Country Status (6)

Country Link
US (1) US9602351B2 (ko)
EP (1) EP3152867B1 (ko)
JP (1) JP6527584B2 (ko)
KR (1) KR102342063B1 (ko)
CN (1) CN106464531B (ko)
WO (1) WO2015187893A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10693705B2 (en) 2016-03-23 2020-06-23 Arista Networks, Inc. Show command service aka CLI relay
US10187286B2 (en) * 2016-05-23 2019-01-22 Arista Networks, Inc. Method and system for tracking network device information in a network switch
US10917284B2 (en) 2016-05-23 2021-02-09 Arista Networks, Inc. Method and system for using an OpenConfig architecture on network elements
US10812318B2 (en) * 2017-05-31 2020-10-20 Cisco Technology, Inc. Associating network policy objects with specific faults corresponding to fault localizations in large-scale network deployment
US20180351788A1 (en) 2017-05-31 2018-12-06 Cisco Technology, Inc. Fault localization in large-scale network policy deployment
US20190068466A1 (en) * 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
KR102364386B1 (ko) * 2017-11-30 2022-02-17 재단법인대구경북과학기술원 사이버 물리 시스템의 전자 장치 및 제어 방법
US11051230B2 (en) * 2018-08-22 2021-06-29 Bae Systems Information And Electronic Systems Integration Inc. Wireless resilient routing reconfiguration linear program
US11178018B2 (en) 2018-09-28 2021-11-16 Arista Networks, Inc. Method and system for managing real network systems using simulation results
US11251245B1 (en) * 2019-01-21 2022-02-15 Xsight Labs Ltd. Responding to a failure of a main die of a switch data-plane device
US10880166B2 (en) 2019-02-21 2020-12-29 Arista Networks, Inc. Multi-cluster management plane for network devices
KR102287151B1 (ko) 2019-11-07 2021-08-05 데니스 아나톨예비치 필라트 배터리 충전 시스템
KR102330486B1 (ko) 2019-11-11 2021-11-23 마리아 메이 리 마스크에 탈부착 가능한 탈부착 모듈
US11057275B1 (en) 2020-09-18 2021-07-06 Arista Networks, Inc. Method and system for achieving high availability of a primary network controller in a network controller cluster using distributed network device state information
CN115933565B (zh) * 2022-12-23 2023-10-20 广东职业技术学院 一种agv任务交换方法、装置、系统和介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850505A (en) * 1995-10-31 1998-12-15 Telecommunications Research Laboratories Method for preconfiguring a network to withstand anticipated failures

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537580A (en) 1994-12-21 1996-07-16 Vlsi Technology, Inc. Integrated circuit fabrication using state machine extraction from behavioral hardware description language
US6078741A (en) 1997-02-05 2000-06-20 Firsttel Systems Corporation Automatic generation of reconfiguration scripts for telecommunication devices
US6724722B1 (en) 1999-03-19 2004-04-20 Lucent Technologies Inc. Managing congestion and potential traffic growth in an information network
GB2362481B (en) * 2000-05-09 2004-12-01 Rolls Royce Plc Fault diagnosis
US7073143B1 (en) 2000-11-06 2006-07-04 Cadence Design Systems, Inc. Solving constraint satisfiability problem for circuit designs
US20020130872A1 (en) 2001-03-15 2002-09-19 Elena Novikova Methods and systems for conflict resolution, summation, and conversion of function curves
US7415038B2 (en) 2001-03-29 2008-08-19 International Business Machines Corporation Method and system for network management providing access to application bandwidth usage calculations
US20030014644A1 (en) 2001-05-02 2003-01-16 Burns James E. Method and system for security policy management
AU2002355575A1 (en) 2001-08-08 2003-02-24 Trivium Systems Inc. Scalable messaging platform for the integration of business software components
US20030106062A1 (en) 2001-12-05 2003-06-05 Koninklijke Philips Electronics N.V. Home network environment as a state machine
US7221945B2 (en) 2002-05-03 2007-05-22 Leapstone Systems, Inc. System and method for establishing and controlling access to network resources
US7324981B2 (en) 2002-05-16 2008-01-29 Microsoft Corporation System and method of employing efficient operators for Bayesian network search
US7552205B2 (en) 2002-05-21 2009-06-23 Accenture Global Services Gmbh Distributed transaction event matching
US8140569B2 (en) 2003-05-29 2012-03-20 Microsoft Corporation Dependency network based model (or pattern)
GB0301707D0 (en) * 2003-01-24 2003-02-26 Rolls Royce Plc Fault diagnosis
US7610386B1 (en) 2003-04-29 2009-10-27 Blue Titan Software, Inc. Stateful messaging gateway
US7539741B2 (en) 2003-04-30 2009-05-26 Nokia Siemens Networks Oy System, apparatus and method for supporting constraint based routing for multi-protocol label switching traffic engineering in policy-based management
US7680055B1 (en) * 2003-09-26 2010-03-16 At&T Intellectual Property Ii, L.P. Method and apparatus for increasing survivability in IP networks
US20050076339A1 (en) 2003-10-03 2005-04-07 Nortel Networks Limited Method and apparatus for automated negotiation for resources on a switched underlay network
US8312145B2 (en) 2003-12-22 2012-11-13 Rockstar Consortium US L.P. Traffic engineering and bandwidth management of bundled links
US7564780B2 (en) 2004-01-15 2009-07-21 Fujitsu Limited Time constrained failure recovery in communication networks
US8146160B2 (en) 2004-03-24 2012-03-27 Arbor Networks, Inc. Method and system for authentication event security policy generation
US7558215B2 (en) 2004-09-24 2009-07-07 Alcatel-Lucent Usa Inc. Method for optimizing the frequency of network topology parameter updates
US7796500B1 (en) 2004-10-26 2010-09-14 Sprint Communications Company L.P. Automated determination of service impacting events in a communications network
JP4438064B2 (ja) 2004-11-15 2010-03-24 キヤノン株式会社 データ処理装置および印刷設定処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
US7469392B2 (en) 2004-12-09 2008-12-23 Synopsys, Inc. Abstraction refinement using controllability and cooperativeness analysis
US8494539B1 (en) 2005-06-30 2013-07-23 Alcatel Lucent Congestion management in radio access networks
US7426524B2 (en) 2005-09-27 2008-09-16 International Business Machines Corporation Update processes in an enterprise planning system
US7746784B2 (en) 2006-03-23 2010-06-29 Alcatel-Lucent Usa Inc. Method and apparatus for improving traffic distribution in load-balancing networks
US7539133B2 (en) 2006-03-23 2009-05-26 Alcatel-Lucent Usa Inc. Method and apparatus for preventing congestion in load-balancing networks
US7769727B2 (en) 2006-05-31 2010-08-03 Microsoft Corporation Resolving update-delete conflicts
EP1946502B2 (en) 2006-07-12 2017-09-13 Huawei Technologies Co., Ltd. Method for controlling congestion
US8135990B2 (en) * 2006-08-11 2012-03-13 Opnet Technologies, Inc. Multi-variate network survivability analysis
US8826032B1 (en) 2006-12-27 2014-09-02 Netapp, Inc. Systems and methods for network change discovery and host name resolution in storage network environments
US7853675B2 (en) 2007-03-02 2010-12-14 International Business Machines Corporation Automatically enforcing change control in operations performed by operational management products
US7730364B2 (en) * 2007-04-05 2010-06-01 International Business Machines Corporation Systems and methods for predictive failure management
US7873592B2 (en) 2007-04-20 2011-01-18 Microsoft Corporation Type inference for object-oriented languages
US20080271022A1 (en) 2007-04-27 2008-10-30 Motorola, Inc. Utilizing graphs to detect and resolve policy conflicts in a managed entity
CN101304350B (zh) 2007-05-11 2013-02-13 华为技术有限公司 访问家庭网络设备的方法、系统和家庭网络接入设备
US8117606B2 (en) 2007-06-04 2012-02-14 Infosys Technologies Ltd. System and method for application migration in a grid computing environment
US8228804B2 (en) 2007-07-18 2012-07-24 Opnet Technologies, Inc. Tuning routing metrics to reduce maximum link utilization or provide failure resiliency
EP2073478B1 (en) 2007-12-20 2011-11-16 Electronics and Telecommunications Research Institute Encryption communication apparatus and method for controlling transfer period of key resynchronization information
US8447859B2 (en) 2007-12-28 2013-05-21 International Business Machines Corporation Adaptive business resiliency computer system for information technology environments
EP2245835A2 (en) 2008-02-08 2010-11-03 Ecrio, Inc. System, method and apparatus for controlling multiple applications and services on a digital electronic device
US9098479B2 (en) 2008-02-15 2015-08-04 Edyt Inc. Methods and apparatus for improved navigation among controlled terms in one or more user documents
US8191075B2 (en) 2008-03-06 2012-05-29 Microsoft Corporation State management of operating system and applications
US8140461B2 (en) 2008-03-24 2012-03-20 Hewlett-Packard Development Company, L.P. System and method for identifying conflicting network access rules and creating a resolved consequence
US8086701B2 (en) 2008-04-28 2011-12-27 Microsoft Corporation Platform for managing and configuring network state
US8374987B2 (en) 2008-06-30 2013-02-12 Sap Ag Stateful, continuous evaluation of rules by a state correlation engine
TR201901706T4 (tr) 2008-09-18 2019-02-21 Koninklijke Philips Nv Bir sistemin ve sinyal işleme sisteminin kontrol edilmesine yönelik yöntem.
US7996719B2 (en) * 2008-10-24 2011-08-09 Microsoft Corporation Expressing fault correlation constraints
US7839789B2 (en) * 2008-12-15 2010-11-23 Verizon Patent And Licensing Inc. System and method for multi-layer network analysis and design
US8175846B2 (en) * 2009-02-05 2012-05-08 Honeywell International Inc. Fault splitting algorithm
US7904540B2 (en) 2009-03-24 2011-03-08 International Business Machines Corporation System and method for deploying virtual machines in a computing environment
US8144594B2 (en) 2009-03-25 2012-03-27 Comcast Cable Communications, Llc Congestion management in a shared network
US8270313B2 (en) 2009-11-13 2012-09-18 Mitsubishi Electric Research Laboratories, Inc. Ranking nodes in networks with topologies arranged as directed acyclic graphs
US9264321B2 (en) 2009-12-23 2016-02-16 Juniper Networks, Inc. Methods and apparatus for tracking data flow based on flow state values
US8364909B2 (en) 2010-01-25 2013-01-29 Hewlett-Packard Development Company, L.P. Determining a conflict in accessing shared resources using a reduced number of cycles
US8489765B2 (en) 2010-03-19 2013-07-16 Cisco Technology, Inc. Dynamic directed acyclic graph (DAG) adjustment
US9141625B1 (en) 2010-06-22 2015-09-22 F5 Networks, Inc. Methods for preserving flow state during virtual machine migration and devices thereof
US9009530B1 (en) 2010-06-30 2015-04-14 Purdue Research Foundation Interactive, constraint-network prognostics and diagnostics to control errors and conflicts (IPDN)
US8743888B2 (en) 2010-07-06 2014-06-03 Nicira, Inc. Network control apparatus and method
US8887132B1 (en) 2010-09-03 2014-11-11 Christopher R. Hunter Application runtime environment and framework
US8819220B2 (en) * 2010-09-09 2014-08-26 Hitachi, Ltd. Management method of computer system and management system
US20120101980A1 (en) 2010-10-26 2012-04-26 Microsoft Corporation Synchronizing online document edits
US20120163178A1 (en) 2010-12-23 2012-06-28 Telefonaktiebolaget L M Ericsson (Publ) Multiple-Algorithm Congestion Management
US9277422B2 (en) 2011-02-15 2016-03-01 Tata Consultancy Services Limited Dynamic self configuration engine for cognitive networks and networked devices
JP5672063B2 (ja) 2011-02-24 2015-02-18 富士通株式会社 送信制御プログラム、通信装置および送信制御方法
US20120323702A1 (en) 2011-06-16 2012-12-20 Emmanuel Puentes System and method for client-server cooperation in selecting content for display
US8661449B2 (en) 2011-06-17 2014-02-25 Microsoft Corporation Transactional computation on clusters
US8612583B2 (en) 2011-07-29 2013-12-17 Cisco Technology, Inc. Network management system scheduling for low power and lossy networks
US8898676B2 (en) 2011-08-26 2014-11-25 Vmware, Inc. Management of software updates for software components in a virtualized environment of a datacenter using dependency relationships
US9203701B2 (en) 2011-10-25 2015-12-01 Nicira, Inc. Network virtualization apparatus and method with scheduling capabilities
US9277482B2 (en) 2011-11-10 2016-03-01 Cisco Technology, Inc. Adaptive reoptimization rate for unstable network topologies
US9893943B2 (en) 2011-11-16 2018-02-13 Nokia Solutions And Networks Oy Network coordination apparatus
US9059939B2 (en) * 2012-02-23 2015-06-16 Infosys Limited End-to-end network service assurance solution
DE102012003977A1 (de) * 2012-02-28 2013-08-29 Vodafone Holding Gmbh Verfahren zum Untersuchen eines Datentransportnetzwerks und Computerprogrammprodukt
US20130294250A1 (en) 2012-05-01 2013-11-07 Qualcomm Iskoot, Inc. Exchanging data between a user equipment and one or more servers over a communications network
US8995339B2 (en) 2012-06-08 2015-03-31 At&T Intellectual Property I, L.P. Network control of applications using application states
US8984480B2 (en) 2012-07-10 2015-03-17 International Business Machines Corporation Automating and/or recommending data sharing coordination among applications in mobile devices
US20150249587A1 (en) * 2012-09-20 2015-09-03 Ntt Docomo, Inc. Method and apparatus for topology and path verification in networks
US9203759B2 (en) 2012-11-07 2015-12-01 Broadcom Corporation Switch state reporting
US9399959B2 (en) * 2014-03-26 2016-07-26 GM Global Technology Operations LLC System and method for adjusting a torque capacity of an engine using model predictive control
AT512003A3 (de) 2013-01-23 2014-05-15 Avl List Gmbh Verfahren zur Ermittlung eines regelungstechnischen Beobachters für den SoC
US20140244218A1 (en) * 2013-02-25 2014-08-28 International Business Machines Corporation Architecture optimization
CN103200027A (zh) * 2013-03-01 2013-07-10 中国工商银行股份有限公司 一种定位网络故障的方法、装置及系统
US9141682B1 (en) 2013-03-25 2015-09-22 Amazon Technologies, Inc. Resolving conflicts within saved state data
US9602312B2 (en) 2013-07-08 2017-03-21 Nicira, Inc. Storing network state at a network controller
US9929918B2 (en) 2013-07-29 2018-03-27 Alcatel Lucent Profile-based SLA guarantees under workload migration in a distributed cloud
US9454382B2 (en) 2013-10-14 2016-09-27 International Business Machines Corporation Verification of UML state machines
US9613074B2 (en) 2013-12-23 2017-04-04 Sap Se Data generation for performance evaluation
KR20160122753A (ko) 2014-02-04 2016-10-24 텍추얼 랩스 컴퍼니 어플리케이션 요소의 대체 그래픽 표시의 사전 발생을 통한 입력에 대한 저레이턴시 시각적 응답 및 그래픽 처리 장치 상의 입력 처리
US9110524B1 (en) 2014-06-09 2015-08-18 Xilinx, Inc. High throughput finite state machine
US9892185B2 (en) 2014-08-19 2018-02-13 Projectwizards Gmbh Method and system for syncing data structures

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850505A (en) * 1995-10-31 1998-12-15 Telecommunications Research Laboratories Method for preconfiguring a network to withstand anticipated failures

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Rui Zhang-Shen et al. Designing a Fault-Tolerant Network Using Valiant Load-Balancing. INFOCOM 2008. The 27TH conference on computer communications. IEEE, 2008년 4월 13일*

Also Published As

Publication number Publication date
CN106464531B (zh) 2019-06-18
EP3152867B1 (en) 2020-04-01
BR112016027284A8 (pt) 2021-07-13
US9602351B2 (en) 2017-03-21
WO2015187893A1 (en) 2015-12-10
CN106464531A (zh) 2017-02-22
JP6527584B2 (ja) 2019-06-05
EP3152867A1 (en) 2017-04-12
JP2017518720A (ja) 2017-07-06
BR112016027284A2 (pt) 2017-08-15
US20150358200A1 (en) 2015-12-10
KR20170017903A (ko) 2017-02-15

Similar Documents

Publication Publication Date Title
KR102342063B1 (ko) 네트워크 장애의 선제적 핸들링 기법
CN111682954B (zh) 管理微服务的网络的方法、系统和计算机可读介质
US11588737B2 (en) Flow-based load balancing
US9756121B2 (en) Optimizing routing and load balancing in an SDN-enabled cloud during enterprise data center migration
CN107852368B (zh) 用于网络服务的高度可用的服务链
Liu et al. zUpdate: Updating data center networks with zero loss
Gay et al. Expect the unexpected: Sub-second optimization for segment routing
KR102273413B1 (ko) 네트워크 업데이트의 동적 스케줄링 기법
US9467382B2 (en) Elastic service chains
US20170371692A1 (en) Optimized virtual network function service chaining with hardware acceleration
Martinello et al. Keyflow: a prototype for evolving sdn toward core network fabrics
US9740534B2 (en) System for controlling resources, control pattern generation apparatus, control apparatus, method for controlling resources and program
US10110464B2 (en) Method of monitoring and warning for configuring routing in a cluster comprising static communication links and computer program implementing that method
US20200084142A1 (en) Predictive routing in multi-network scenarios
US20190349288A1 (en) Data Forwarding Method and Apparatus
JP5742981B1 (ja) 経路計算装置及び方法及びプログラム
Mahboob et al. Optimized routing in software defined networks–a reinforcement learning approach
US8842543B2 (en) Trap-free shortest link-disjoint paths
Liu et al. Achieving efficient and fast update for multiple flows in software-defined networks
Tarai et al. Optimal and secure controller placement in SDN based smart city network
Zhao et al. Load-balancing software-defined networking through hybrid routing
Sood Performance analysis and optimization in software defined networks
CN106302598A (zh) 传输路径优化方法及系统
Ai et al. The Design and Specification of Path Adjustable SFC Using YANG Data Model
US11044189B2 (en) Network of equipment interconnected by switches incorporating routing tables

Legal Events

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