KR20120098655A - 서비스 품질(qos) 기반 시스템, 네트워크 및 조언자 - Google Patents

서비스 품질(qos) 기반 시스템, 네트워크 및 조언자 Download PDF

Info

Publication number
KR20120098655A
KR20120098655A KR1020127010765A KR20127010765A KR20120098655A KR 20120098655 A KR20120098655 A KR 20120098655A KR 1020127010765 A KR1020127010765 A KR 1020127010765A KR 20127010765 A KR20127010765 A KR 20127010765A KR 20120098655 A KR20120098655 A KR 20120098655A
Authority
KR
South Korea
Prior art keywords
qos
communication
path
entity
performance
Prior art date
Application number
KR1020127010765A
Other languages
English (en)
Other versions
KR101691250B1 (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 KR20120098655A publication Critical patent/KR20120098655A/ko
Application granted granted Critical
Publication of KR101691250B1 publication Critical patent/KR101691250B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/20Monitoring; Testing of receivers
    • H04B17/24Monitoring; Testing of receivers with feedback of measurements to the transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/309Measuring or estimating channel quality parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/382Monitoring; Testing of propagation channels for resource allocation, admission control or handover
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

서비스 품질(QOS) 관련 정보에 기반하여 통신을 라우팅하는 기법 및 기술에 관한 것이다. 특히, QOS 관련 정보가 측정된 다른 통신 경로들과 일부는 겹치는 통신 경로들을 선택하는 기법 및 기술이 본 명세서에 개시된다. 본 기법 및 기술은 측정된 QOS 정보로부터 통신 경로의 경로 세그먼트에 관한 성능 수준을 결정하는 것을 포함한다.

Description

서비스 품질(QOS) 기반 시스템, 네트워크 및 조언자{QUALITY OF SERVICE (QOS) BASED SYSTEMS, NETWORKS, AND ADVISORS}
대부분의 통신 시스템은 거의 항상 잘 동작하지만, 때때로 그 성능의 예측 불가능성(unpredictability)으로 인해 문제가 발생하곤 한다. 시스템이 복잡해질수록, 그 시스템의 어느 하나 또는 그 이상의 부분에서 만족스럽지 못한 성능을 경험할 기회가 증가하게 된다. 예를 들어, 특정 엔티티(여기서 엔티티 A)가 PSTN(Public Switched Telephone Network) 네트워크에서 전화를 사용하는 다른 엔티티(여기서 엔티티 B)에 전화를 거는 특정 컴퓨터 상의 VoIP(Voice Over Internet Protocol) 클라이언트라 가정하자. 겉으로 보기에는 단순한 이런 프로세스에는 다수의 서버 및 다수의 네트워크 세그먼트(network segment)가 관여하게 된다. 특히, 엔티티 A는 먼저 VoIP 제공자의 미디어 서버에 도달해야 한다. 이를 위해서, 엔티티 A는 VoIP 제공자의 NAT(Network Address Translation) 파이어월을 통과할 수 있도록 게이트웨이나 중계 서버(relay server)의 도움을 필요로 한다. 또한, 미디어 서버는, 시스템이 특정 전화를 서비스하기 위해 적절한 미디어 서버를 선택할 수 있도록 하나 이상의 부하 균형 장치(load balancing device) 뒤에 배치된다. 그리고 나서, 미디어 서버는 (엔티티 A로부터의) VoIP 패킷을 PSTN 게이트웨이 서버에서 허용하는 포맷으로 바꿀 필요가 있고, 이는 음성 패킷으로 전송된 음성 신호를 PSTN 네트워크를 거쳐 전화까지 전달할 것이다.
전술한 특정 프로세스는 적어도 여러 장치들, 1) 게이트웨이 서버, 2) 부하 균형 장치, 3) 미디어 서버 및 4) PSTN 게이트웨이 서버의 서비스를 필요로 한다. 게다가, 관련 음성 신호는 적어도 다음의 네트워크 세그먼트, 1) 클라이언트로부터 게이트웨이 서버까지의 네트워크 세그먼트, 2) 게이트웨이 서버로부터 부하 균형 장치까지의 네트워크 세그먼트, 3) 부하 균형 장치로부터 미디어 서버까지의 네트워크 세그먼트 및 4) 미디어 서버로부터 PSTN 게이트웨이 서버까지의 네트워크 세그먼트를 통과하게 된다. 일부의 네트워크 세그먼트(예컨대, 게이트웨이 서버와 부하 균형 장치 간의 네트워크 세그먼트)는 매우 짧을 수 있다. 또한, 이들 네트워크 세그먼트는 심각한 성능 문제를 겪지 않을 수 있도록 동일한 네트워크 스위치 상에 있을 수도 있다. 네트워크 세그먼트들이 통신 경로(즉, 버스 또는 기타 매체), 엔티티, 장치 또는 이들의 조합의 일부를 포함할 수 있음을 언급할 가치가 있다.
몇몇 다른 네트워크 세그먼트(예컨대, 클라이언트와 게이트웨이 서버 간 및 부하 균형 장치와 미디어 서버 간의 네트워크 세그먼트)들은 상당히 길고 다수의 네트워크 라우터 및 스위치를 포함할 수 있다. 게다가, VoIP 패킷이 다른 데이터 패킷(예컨대, 웹 브라우징, 이메일, 파일 전송 및/또는 미디어 스트리밍으로 인한 데이터 패킷)과 경쟁해야 할 수도 있다. 또한, 엔티티 A는 약한 무선 신호, 페이딩(fading) 및/또는 간섭(interference)의 문제를 겪고 있는 802.11 WiFi 네트워크 상에 있을 수 있다.
전술한 문제(및/또는 다른 문제)는 엔티티 A와 엔티티 B 사이의 열화된 통신 성능 수준(performance levels)의 원인이 될 수 있다. 예를 들어, 때때로, 극심한 네트워크 트래픽으로 인해 네트워크, 네트워크의 특정 노드(node), 또는 네트워크 안의 특정 경로나 네트워크 세그먼트들이 꼼짝 못하게 될 수 있다. 다른 상황에서는, 또는 이에 더해서, 시스템에서 하나 또는 그 이상의 서버(또는 다른 장치)가 과부화될 수도 있다. 또한, 다른 많은 요인들도 전형적인 네트워크의 성능에 영향을 미칠 수도 있다. 예를 들어, WiFi 네트워크의 노이즈 및/또는 고장난 서버, 라우터 등도 네트워크 또는 그 일부의 성능을 저하시킬 수 있다.
네트워크의 일정치 않은 성능 수준은 다른 것들보다, 특정 애플리케이션 및/또는 서비스에 영향을 미칠 것이다. 예를 들어, 적은 빈도로 데이터를 전송하거나 또는 성능 문제를 보완하기 위해 데이터를 재전송할 여력이 있는 애플리케이션보다는 (네트워크 상의 엔티티들 간에 저-지연(low-delay) 통신이 요구되는) VoIP 애플리케이션이 네트워크 성능 변화에 다소 더 큰 민감성(susceptibility)을 보일 것이다. 이들 네트워크-성능-민감 애플리케이션의 일부로 인스턴트 메시징(instant messaging), VoIP 화상 회의(videoconferencing), 원격 데스크탑 및 원격 회의(teleconferencing) 애플리케이션/서비스들이 있다.
다음은 개시된 발명 대상의 몇몇 양태들에 대한 기본적인 이해를 위해 간략화된 요약을 제공한다. 본 요약은 개시된 발명 대상의 개괄적인 개요가 아니며, 핵심적인/필수적인 구성요소를 밝히거나 이러한 발명 대상의 범위를 기술하기 위한 것이 아니다. 본 요약의 목적은 이후에 제시될 보다 상세한 설명에 대한 서문으로써 개념을 간략화된 형태로 소개하기 위한 것이다.
몇몇 실시예에서 하나 이상의 엔티티 및/또는 엔티티들이 통신하는 하나 이상의 통신 경로를 포함하는 통신 시스템을 동작시키는 서비스 품질(QOS) 기반 서비스 조언자 시스템(service advisor system)에 관한 기법 및 기술이 본 명세서에 개시된다. 이러한 시스템에서, 특정 통신에 관여하는 특정 통신 경로는 하나 이상의 네트워크 세그먼트 및/또는 하나 이상의 서버나 그 밖의 장치를 포함할 수 있다. 이들 실시예에서의 QOS 서비스 조언자는 통신 엔티티들로부터 특정 통신에 관여하는 통신 경로의 성능 수준의 표시를 포함하는 서브미털(submittal)을 수신한다. 또한, QOS 서비스 조언자는 이들 서브미털로부터 통신에 관여하는 네트워크 세그먼트, 엔티티 및/또는 장치들을 결정한다. 이 서브미털에 대응하는 통신 경로들은 (다른 서브미털에 대응하는) 다른 통신 경로들과 일부는 겹치지 않고(partially disjoint) 일부는 겹친다(partially overlapping). 서버는 다수의 서브미털을 사용하여 통신 경로(들)의 개별 네트워크 세그먼트, 컴포넌트, 서버, 장치 등의 결정된 성능 수준을 결정하여 이를 출력할 수 있다. 이와 같이, QOS 서비스 조언자를 사용하여 불적절하게 준비된 네트워크 세그먼트, 컴포넌트, 서버, 장치 등의 문제를 해결함으로써, 다른 통신 경로의 성능 수준을 예측하고, 상대적으로 낮은 성능 문제를 겪고 있는 시스템의 네트워크 세그먼트를 우회하도록 통신을 리라우팅(rerroute)하며, 통신 컴포넌트 및/또는 알고리즘을 조정하여(예컨대, 순방향 오류 정정 수준(forward error correction level)을 높이거나 디-지터 버퍼(de-jitter buffer)의 크기를 늘림) 시스템 상에서 통신의 서비스 품질을 개선할 수 있다.
이상의 목적들 및 관련 목적들을 달성하기 위해, 예시적인 특정 양태들이 이하의 설명 및 첨부 도면과 관련하여 본원에 기술된다. 이들 양태는 개시된 발명 대상이 이용될 수 있는 다양한 방식들을 나타낸 것으로, 이들 모두는 개시된 발명 대상의 범위 내에 속하게 된다. 다른 이점 및 새로운 특징들은 첨부 도면들과 관련하여 살펴볼 때, 이하의 상세한 설명으로부터 명백해질 것이다
상세한 설명은 첨부된 도면을 참조하여 설명된다. 도면에서, 참조 번호의 제일 왼쪽에 있는 숫자(들)는 그 참조 번호가 처음 등장한 도면을 나타낸다. 다른 도면에서의 같은 참조 번호의 사용은 유사하거나 동일한 아이템을 가리킨다.
도 1은 네트워크의 예시적인 개략도이다.
도 2는 QOS-기반 라우팅 서비스가 구현된 네트워크 환경의 예시적인 개략도이다.
도 3은 QOS-기반 클라이언트/서버 라우팅 시스템의 예시적인 블록도이다.
도 4는 QOS-기반 클라이언트/서버 시스템을 사용하여 통신을 라우팅하는 방법의 예시적인 순서도이다.
도 5는 QOS-기반 클라이언트 애플리케이션을 사용하여 통신을 라우팅하는 방법의 예시적인 순서도이다.
도 6은 QOS-기반 서버 애플리케이션을 사용하여 통신을 라우팅하는 방법의 예시적인 순서도이다.
본 명세서는 네트워크 환경에서 피어들(peers)와 다른 엔티티들 간의 통신을 처리하는 기기에 관해 기술한다. 특히, 본 명세서는 클라이언트가 네트워크의 각종 통신 경로의 QOS 성능 수준을 측정하는, 서비스 품질 혹은 QOS 기반 서비스 조언자 시스템에 대해 개시한다. 또한, 클라이언트는 결과 정보를 서버에 제공한다. 서버는 QOS 정보를 수신하고, 클라이언트가 QOS 성능 수준을 보고한 통신 경로와 일부는 겹치지 않고 일부는 겹치는 통신 경로의 QOS 성능 수준을 결정한다. 서버는 또한 이 겹치지 않거나/겹쳐진 통신 경로에 대해 결정된 QOS 성능 수준의 표시를 출력한다. 몇몇 실시예의 QOS 서비스 조언자를 사용하여 불충분하게 준비된 네트워크 세그먼트 및/또는 서버의 문제를 해결함으로써, 새로운 통신 경로의 성능 수준을 예측하고, 낮은 성능을 보이는 통신 경로 세그먼트를 우회하도록 통신을 리라우팅하며, 통신 알고리즘을 조정하여(예컨대, 순방향 오류 정정 수준을 높이거나 이러한 메카니즘을 갖는 시스템의 디-지터 버퍼의 크기를 늘림) 이들 시스템을 통한 통신의 서비스 품질을 개선할 수 있다.
특히, 본 명세서는 각종 엔티티들이 결정된 QOS 성능 수준에 기반하여 통신을 라우팅하는 네트워크에 의해 호스팅되는 QOS 애플리케이션의 예시들을 개시한다. 본 명세서는 호스팅된 각종 엔티티들이 이렇게 결정된 QOS 성능 수준에 따라 통신을 라우팅하는 네트워크도 개시한다. 나아가, 본 명세서는 QOS 성능 수준을 측정하고, 측정된 QOS 성능 수준으로부터 네트워크를 통과하는 다양한 통신에 관한 루트를 조립하는 클라이언트/서버를 개시한다.
게다가, 본 명세서는 네트워크 안에서 및/또는 네트워크 간에 통신을 라우팅하는 다양한 QOS-기반 방법을 개시한다. 예를 들어, 본 명세서는 클라이언트가 QOS 성능 수준을 측정하고 이 측정치를 서버에게 제공하는 방법을 개시한다. 개시된 또 다른 방법에서, 클라이언트(또는 다른 클라이언트)는 서버에 질의하여, 클라이언트가 측정된 QOS 성능 수준을 제공한 통신 경로와 일부는 겹치지 않고 일부는 겹치는 통신 경로에 대해 결정된 QOS 성능 수준을 얻는다. 클라이언트는 네트워크 QOS 정보를 사용하여, 최종 사용자(end user)가 경험한 QOS를 향상시킬 수 있는 통신 알고리즘의 파라미터(예컨대, 순방향 오류 정정 알고리즘에서 사용된 중복(redundancies)의 개수 또는 디-지터 버퍼 수준)를 조정할 수 있다. 본 명세서에 개시된 다른 방법은 클라이언트가 제공한 측정된 QOS 성능 수준으로부터, 클라이언트가 측정된 QOS 성능 수준을 제공한 통신 경로와 일부는 겹치지 않고 일부는 겹치는 통신 경로에 대한 QOS 성능 수준을 결정하는 서버를 포함할 수 있다.
기술된 다른 방법에서, QOS-기반 라우팅 시스템은 본원에 개시된 방법 및 그 등가물의 각종 양태를 포함하는 서버 및 하나 (또는 그 이상의) 클라이언트를 포함한다. 또한, 본 명세서는 실행될 때, 본원에 개시된 방법 및 그 등가물을 컴퓨터가 실행하게 하는 컴퓨터 실행가능 인스트럭션을 저장하는 다양한 컴퓨터 판독가능 저장 매체를 개시한다.
도 1은 통신 시스템 또는 네트워크(100)의 예시적인 개략도를 도시한다. 도 1에 도시된 바와 같이, 한 쌍의 사용자(102A 및 102B)는 한 쌍의 컴퓨터(104A 및 104B)(또는 다른 컴퓨팅 장치들)를 통해 애플리케이션(108)을 사용하면서 네트워크(100)를 사용하여, 각종 통신(106A 및 106B)을 교환한다. 도 1은 단지 두 명의 사용자(102)와 그 사이의 하나의 통신 경로가 있는 특정 네트워크(100)에 대해 도시하지만, 많은 네트워크들(100)이 여러 명의 사용자(102)에 의해 사용될 수 있고, 각종 네트워크 세그먼트 및 서버(및 그 밖의 장치들)을 포함할 수 있으며, 나아가 다른 네트워크를 포함하거나 다른 네트워크와 통신할 수도 있다. 도 1에는 도시되어 있지 않지만, 네트워크(100)는 사용자들(102) 간의 통신(106A 및 106B)의 전송을 용이하게 하는 모뎀, 라우터, 서버, 게이트웨이 등을 비롯한 각종 통신 및 데이터 처리 장비를 포함할 수 있다. 예를 들어, 네트워크-기반 게임 애플리케이션이 플레이됨에 따라, 컴퓨터(104A)는 사용자(102A)로부터의 제어 입력을 나르는 통신(106A)을 컴퓨터(104B)로 전송할 수 있다. 이에 대응하여, 컴퓨터(104B)는 컴퓨터(104A)에 디스플레이를 위해 업데이트된 그래픽 데이터와 함께, 사용자(102A)로부터의 제어 입력에 대한 결과를 나르는 통신(106B)을 컴퓨터(104A)로 반환한다.
이들 통신(106A 및 106B)이 네트워크(100)를 통과할 때, 네트워크(100) 및 그 부분들은 QOS 서비스(110)에서 측정하는 처리량(throughput), 데이터 손실율(data loss rates), 레이턴시(latency) 등의 기준에 의해 정해진 특정 성능 수준에서 동작한다. 나아가, QOS 서비스(110)는 측정된 QOS 성능 수준에 기반하여 네트워크를 통한 (및 네트워크로의/네트워크로부터의) 통신(106A 및 106B)을 라우팅한다. 이 시점에서 QOS 서비스(110)는 서버(112) 및/또는 하나 또는 그 이상의 컴퓨터(104)에 의해 호스팅될 수 있음을 언급할 필요가 있다. 게다가, QOS 서비스(110)는 특정 네트워크에 의해 동작되거나 특정 네트워크에 포함될 수 있고, 또는 특정 네트워크와 분리될 수도 있다. 이에 더해서, 또는 이 대신에, QOS 서비스(110)는 ISP 또는 그 밖의 조직(예컨대, 기업)에 의해 소유, 동작 및 제어될 수 있다.
도 1에 도시된 예시적인 네트워크(100)에서, 사용자들(102)은 네트워크(100)와 컴퓨터(104)를 통해 서로 인터랙티브 게임을 하게 된다. 따라서, 사용자들(102)에 의해 정보(즉, 통신(106A 및 106B))가 양쪽 컴퓨터(104) 사이에서 스트리밍하게 된다. 흔히, 사용자들(102)은 인터랙티브 게임이 실시간 경험을 시뮬레이션하기를 원한다.
이러한 사용자들(102)의 요구를 만족시키기 위해, 네트워크(100)는 인터랙티브 게임에서 일어나는 것과 유사한 현실 세계 경험과 관련된 페이스(pace) 및 정보 컨텐츠를 시뮬레이션하도록 선택된 속도 및 레이턴시로, 이들 통신(106A 및 106B)을 사용자들(102)(즉, 그들 각각의 컴퓨터(104))에게 스트리밍하려고 한다. 따라서, 인터랙티브 게임은 실시간으로 실행되거나 또는 발생하게 된다. 용어 "실시간"은 주관적이다. 특히, "실시간"으로 여겨지는 것은 부분적으로는 사용자들(102)의 요구, 특정 네트워크(100)의 성능(capabilities), (다른 네트워크에서 이용가능한 성능에 관해 알려져 있거나 혹은 알려져 있지 않은) 이들 특정 사용자(102)에게 알려진 성능 등에 의해 정해진다. 그렇기는 하지만, 보통은 네트워크(100) 및 컴퓨터(104)의 성능(및 한계)은, 전체 네트워크(100)가 사용자들(102)의 입력 및 감각 인지(sensory perceptions)에 충분하게 반응하는 인터랙티브 경험을 제공하여 사용자들(102)이 주관적으로 실시간 경험으로 느끼게 할 수 있는지 여부를 결정하게 된다. 통신 경로(100)가 불충분한 대역폭, 과도한 패킷 손실(버스트(burst) 또는 그 외), 긴 전달 지연, 전달 레이턴시(지터(jitter))의 지나친 변동, 불안정(instability) 등을 겪는다면, 인터랙티브 경험에도 문제가 생긴다.
따라서, 특정한 네트워크(100) 구성에서, 그 네트워크(100)가 실시간 시뮬레이션을 전달하는지 여부는 그 네트워크가 현재 이용가능한 다른 네트워크보다 그 잠재된 성능을 잘 이용하고 있는지에 달려 있다. 결과적으로, 사용자들이 실시간이라고 여기는 네트워크들(100)은 사용자들(102)이 감지하는 인터랙티브 경험의 중단을 최소화하는 경향이 있다. 이를 위해서는, 본원에 개시된 네트워크(100)와 같은 실시간 네트워크는 통상적으로 그 네트워크가 충족시키거나 혹은 넘어서서 동작하도록 선택된 서비스 품질(QOS)을 갖고 있다. 보통, 사용자(102)는 레이턴시, 패킷(또는 데이터) 손실율, 대역폭, 처리량 등의 특정 성능 파라미터(이들 중 상당수는 통신(106A 및 106B)과 연관됨)로 QOS 수준을 지정한다. 본 명세서는 (QOS 성능 수준이 측정된 통신 경로와 겹치지 않거나/겹쳐진 통신 경로를 제외하고) 측정된 QOS 성능 수준으로부터 결정된 QOS 성능 수준에 기반하여 통신(106A 및 106B)을 라우팅함으로써 (실시간으로 또는 그 외) 네트워크(100)의 성능을 향상시키는 기법 및 기술들을 개시한다.
QOS 서비스 조언자는 표적(target) 애플리케이션에 대해 바람직한 성능 수준을 갖는 통신 경로로 통신을 라우팅할 수 있다. 또는, 컴퓨터(104)가 알게 된 QOS 성능 수준 결과를 사용하여, 애플리케이션에 이용된 통신 알고리즘의 파라미터를 조정할 수도 있다. 예를 들어, 컴퓨터(104)의 QOS 서비스 조언자는 통신 세션 중에 맞닥뜨릴 수 있는 버스트 패킷 손실로부터 통신을 보호할 수 있도록, 순방향 오류 정정(FEC) 알고리즘의 파라미터를 선택된 수준으로 조정할 수 있다. 이 대신에, 또는 이에 더해서, QOS 서비스 조언자는 통신에 관여하는 특정 통신 경로에서의 패킷 전달 레이턴시의 변화에 대응할 수 있을 정도로 버퍼가 충분히 크도록, 디-지터 버퍼의 크기를 증가시킬 수 있다. 따라서, (FEC 디코딩, 디-지터 버퍼의 크기 재조정 또는 그 밖의 조정을 적용하여) 사용자의 주관적인 인터랙티브 경험을 향상시킬 수 있다.
나아가, 사용자들(102)은 실시간 경험을 제공하고자 하는 (본원에서 전체를 열거하기에는 너무 많은) 다른 애플리케이션(108)을 사용하기를 원할 수 있다. 예를 들어, 사용자들(102)은 대개 서버 및 다른 컨텐츠 소스로부터 많은 유형의 오디오, 비주얼, 오디오/비주얼 및 기타 컨텐츠를 스트리밍하기를 원한다. 또한, 도 1에 도시된 네트워크(100)가 주관적으로 평가된 실시간 성능과 일치하는 성능을 제공하면서도, 네트워크(100)는 상대적으로 정적인(static) 정보(예를 들어, 텍스트 파일, 쉼표로 구분된 파일(comma delimited files), 천천히 업데이트되는 정보 등)를 교환하는 것과 같은 비-실시간 애플리케이션(108)에 관해서 향상된 성능도 제공한다.
도 2는 QOS 서비스(110)(도 1 참조)가 구현된 네트워크 환경(200)의 예시적인 개략도를 도시한다. 네트워크 환경(200)은 두 개의 메쉬(mesh) 네트워크(202 및 204), 및 (네트워크 환경(200)의 여러 위치에 배치될 수 있는) 라우터(206)와 메쉬 네트워크(202 및 204) 안에 있는 (및/또는 서로 통신하고 있는) 각종 엔티티들 간의 통신을 라우팅하는 소프트웨어 등 각종 라우팅 설비를 포함한다. 많은 메쉬 네트워크들(202 및 204)이 네트워크 구축 비용을 절감하기 위해 계층 트리(hierarchical trees) 형태를 취하기도 하지만(네트워크 구축 비용은 보통 네트워크의 브랜치의 길이와 상관 관계가 있음), 그럼에도 불구하고, 다른 네트워크들은 네트워크 사용자들 간의 정보를 보다 효율적이고 융통성 있게 라우팅할 수 있게 하는 메쉬 형태를 취할 수 있다. 통상적으로 메쉬 네트워크(202 및 204)는 사용자들(102)이 여러 가지 서비스, 정보 등을 요청하고 수신하는 각종 서버들(208)을 포함한다. 사용자들(102)은 이들 기능을 수행하는 각종 컴퓨팅 및/또는 통신 장치들을 사용한다. 이러한 정보 교환에 관여하는 통신 세션 동안, 사용자들 간의 통신을 용이하게 하기 위해 각종 라우터, 네트워크 세그먼트, 서버를 사용할 수 있다. 도 2는 컴퓨터들(210)과 함께 이런 다양한 최종-사용자 장치를 도시한다.
게다가, 메쉬 네트워크(202 및 204)는 여러 방식으로 조직될 수 있다. 예를 들어, 메쉬 네트워크(204)는 기업의 서버(208) 및 컴퓨터(210)를 포함한다. 따라서, 메쉬 네트워크(204)의 여러 서버(208)가 기업의 조직도(organizational scheme)를 반영하게 된다. 결과적으로, 최상위 서버(top level server, 208)는 기업의 본사 서버(208) 중 어느 하나일 수 있다. 메쉬 네트워크(204)의 다른 서버들(208)은 기업의 각종 지사, 자회사, 제조사, 사무실 등을 나타낼 수 있다. 반면, ISP(인터넷 서비스 제공자)가 메쉬 네트워크(202)를 소유한다. 따라서, 메쉬 네트워크(202)의 각종 서버(208)는 ISP에 의해 서비스되고 지리적인 계층 구조로 배치된, 여러 지리적인 지역, 지방 등으로부터의 서버를 포함한다. 물론, 다른 계층 구조도 본원의 개시의 범주에 포함된다.
사용자들(102)(도 1 참조)은, 통상적으로 컴퓨터(210)들 중 어느 하나와 연계된다. 이들 컴퓨터(210)는 서버들(208)과 통신하고, 사용자들(102)이 메쉬 네트워크(202 및 204) 및 서로 통신하는 위치 어디에서든 정보와 서비스에 액세스할 수 있게 하는 애플리케이션 및 기타 소프트웨어를 호스팅한다. 메쉬 네트워크(202 및 204) 전역에서, 다양한 엔티티들(212)(소프트웨어 객체, 프로그램, 애플리케이션, 모듈, 하드웨어, 사용자 등)은 각종 설비(208, 210 등)에 의해 호스팅된다. 이들 엔티티(212)는 실시간이든 아니든 통신(106)(도 1 참조)을 교환하게 된다.
이 시점에서, 메쉬 네트워크(202 및 204)가 도면에서는 계층 구조로서 도시되어 있을지라도(계층 구조에서 "위" 및 "아래"의 수직 방향으로만 통신이 이동함을 나타냄), 그 안에서 호스팅되는 각종 엔티티들(212)이 메쉬 네트워크(202 및 204) 상의 그들 위아래가 아닌 다른 곳의 엔티티들(212)과도 통신하게 됨을 언급하는 것이 유용할 것이다. 즉, 메쉬 네트워크(202 및 204)에 있는 엔티티들(212)은 피어-투-피어(peer-to-peer), 수평 및 기타 추가-계층 구조의 통신 경로를 이용할 수 있다. 결과적으로, 임의의 두 엔티티(212) 사이에 하나 이상의 통신 경로가 존재할 수 있다.
도 2를 계속 참조하면, 엔티티(212)의 일부 또는 전부가 메쉬 네트워크(202 및 204) 상에서 서로를 탐지하고 위치를 찾아낼 수 있다. 특히, (피어로 동작하는) 각종 엔티티들(212)은 적절한 프로토콜을 통해 다른 엔티티들(212)과 관련된 ASID(네트워크 공급자의 AS 번호), PID(피어-ID), (P4P 프레임워크에서 P2P 애플리케이션에 대해 공급자 포탈이 제안한 대로인) 그들 피어의 위치에 관한 소구역(sub-region) 정보, 및 LOC(지리적인 위치)를 얻을 수 있다. 다른 대안으로, 엔티티들(212)이 메쉬 네트워크(202 및 204) 안의 다른 엔티티들(212)의 존재를 탐지하거나, DSN 질의를 실행함으로써 (또는 제한없는 다른 기법 및 기술을 통해) 이런 다른 엔티티들(212)을 알 수 있다.
다른 엔티티들(212)을 식별하는 데 사용된 기법 및 기술들에 상관없이, 어느 하나의 엔티티(212)가 다른 엔티티(212)와 통신하기를 원할 때, 전송 엔티티(212)가 수신 엔티티로의 통신 경로를 구축하게 된다. 물론, 통신 경로는 하나 이상의 루트(206) 및/또는 하나 이상의 서버(208)를 포함할 수 있다.
다양한 실시예에 따르면, 전송 엔티티(212)는 구축된 통신 경로(106) 및/또는 다른 통신 경로(106)에서 자신이 관찰한 QOS 성능 수준을 QOS 서비스(110)(도 1 참조)에 제공할 수 있다. 앞서 논의한 바와 같이, 통신 경로는 다수의 서버, 네트워크 또는 통신 경로 세그먼트 등을 포함할 수 있다. 따라서, 이런 각종 경로 세그먼트의 성능 수준 결정의 한 부분으로써, QOS 서비스(110)는 통신 경로의 일련의 서버, 경로 세그먼트 등을 식별할 수 있다. QOS 서비스(110)는 전송 엔티티(212)로부터 또는 네트워크 데이터베이스로부터 정보를 얻음으로써 이들 경로 세그먼트들을 식별할 수 있다. 한편, QOS 서비스는 계속 각종 엔티티로부터 (각종 통신 경로에 관한) 서브미털을 수신하고, 해당 통신에 관여하는 경로 세그먼트, 장치, 엔티티 등을 식별하고, 관련 경로 세그먼트, 장치, 엔티티 등의 대응 성능 수준을 결정할 수 있다. QOS 서비스(110)가 추가 서브미털을 수신하면, 그에 따라 해당 경로 세그먼트의 성능 수준을 결정하는 기능도 향상된다. 결정된 이러한 경로 세그먼트 성능 수준으로부터, QOS 서비스는 메쉬 네트워크(202 및 204)의 각종 통신 경로의 성능 수준을 예측할 수 있다.
각종 엔티티들(예를 들면, 클라이언트들)은 자신과 목표로 하는 수신자 엔티티들(212) 사이에 존재하는 다양한 통신 경로에 관해 결정된 (및 측정된) QOS 성능 수준에 대해 QOS 서비스(110)(도 1 참조)에 질의할 수 있다. QOS 서비스(110)는 메쉬 네트워크(202 및 204)의 경로 세그먼트들의 개별 QOS 성능 수준을 추론할 수 있으므로, 엔티티가 질의를 제공한 특정 통신 경로에 대해 서브미털이 없는 경우라도, 요청 엔티티의 질의에 대답할 수 있다. 본원에 개시되는 바와 같이, QOS 서비스(110)는 도 2에 도시된 대로 QOS 서비스 애플리케이션(214) 및 하나 또는 그 이상의 QOS 클라이언트 애플리케이션(216)으로 구현된다. QOS 서비스(110)의 구현에 상관없이(QOS 서버 애플리케이션 및 QOS 클라이언트 애플리케이션(216)이 있거나 또는 없거나), QOS 서비스(110)로부터 반환된, 결정된 QOS 성능 수준을 사용하여, 요청 엔티티(212)는 전송될 특정 통신(106)에 적합하다고 결정한 특정 통신 경로를 선택한다. 예를 들어, 전송 엔티티(212)가 통신(106)의 무결성(integrity)을 보장하기 원한다면, 전송 엔티티(212)는 낮게 결정된 패킷 손실율을 갖는 통신 경로를 선택할 수 있다. 이 대신에, 또는 이에 더해서, 전송 엔티티(212)는 통신(106)의 무결성을 보호하는 데 사용될 오류 검출 및 정정 기법이나 기술을 변경할 수도 있다.
도 2를 계속 참조하면, 결정된 QOS 성능 수준을 요청하는 엔티티(212)는 그 요청에 연관된 통신(106)에 관여하길 바라는 임의의 쌍(혹은 그 이상)의 엔티티들(212)(아마도, 대개는 자신을 포함함)을 지정할 수 있다. 이러한 요청에 대응하여, QOS 서비스(110)는 지정된 엔티티들(212) 간에 가능한 통신 경로에 관해 결정된 QOS 성능 수준을 반환한다. 이러한 방식으로, (예컨대) 라우터(206)가 둘 이상의 엔티티들(212)에 관해 결정된 QOS 성능 수준을 알게 되고, 결정된 QOS 성능 수준에 따라 그 사이에 통신 채널을 설정한다.
각종 엔티티들이 결정된 QOS 성능 수준을 사용하는 방식에 대해 간략하게 논의하였으며, 이제부터는 본 명세서에서 QOS 서비스(110)가 결정된 QOS 성능 수준을 결정하는 방식에 대해 개시한다. 특히, QOS 서비스(110)는 결정된 QOS 성능 수준을 다양한 방식으로 결정한다. 예를 들어, 다양한 실시예에서, QOS 서비스(110)는 QOS 클라이언트 애플리케이션(216)을 호스팅하는 적어도 몇 개의 컴퓨터(210)를 갖고 있는 QOS 서버 애플리케이션(214)을 포함한다. 어느 하나의 메쉬 네트워크(202 및 204)의 최상위 서버(208) 또는 그 밖의 서버들(208)이 QOS 서버 애플리케이션(214)을 호스팅할 수 있다.
QOS 클라이언트 애플리케이션들(216)은 자신의 대응 컴퓨터(210)의 통신을 모니터링하여, 자신의 컴퓨터(210)로부터의 통신(106)에 관련된 QOS 성능 수준을 측정한다. 예를 들어, 통신(106)이 특정 컴퓨터(210)를 떠나면(혹은 그곳에 도착하면), QOS 클라이언트 애플리케이션(216)은 그 통신(106)에 관련된 각종 QOS 성능 수준을 측정한다. 레이턴시, 패킷 손실율, 전송율, 대역폭 등의 네트워크 성능 수준은 QOS 클라이언트 애플리케이션(216)이 측정하는 QOS 성능 수준의 일부를 나타낸다.
또한 QOS 클라이언트 애플리케이션(216)은 측정된 QOS 성능 수준을 시간, 날짜, 관련 통신 경로 및 통신(106)에 관한 기타 정보와 함께 저장한다. QOS 클라이언트 애플리케이션(216)은 측정하자마자, 그 측정된 QOS 성능 수준을 QOS 서버 애플리케이션(214)에 제공할 수 있다. 아니면, QOS 클라이언트 애플리케이션(216)은 그 정보 제공을 기다릴 수 있다. 예를 들어, QOS 클라이언트 애플리케이션(216)은 (많은 가능성 중에 몇 가지만 말하자면) 선택된 수만큼의 QOS 성능 수준을 측정할 때까지 또는 선택된 수만큼의 통신(106)을 모니터링할 때까지, 또는 선택된 수만큼의 통신 경로에 대한 QOS 성능 수준을 측정할 때까지 정보 제공을 기다릴 수 있다.
몇몇 실시예에서, 하나 또는 몇 개의 컴퓨터(210)가 QOS 클라이언트 애플리케이션(216)을 호스팅한다. 따라서, 시스템 관리자와 같은 사용자(102)가 QOS 서비스(110)를 배포하기로 결정하면, 사용자(102)는 측정된 성능 수준을 모으기 시작할 특정 컴퓨터(104)를 선택할 수 있다. 그 컴퓨터(210)가 동작하면서, 실제로 사용한 각종 통신 경로에 관해 측정된 성능 수준을 모으기 시작한다. 따라서, 그 컴퓨터(210)에 대해 (과거 용도, 현재 용도 및 그 밖의 고려 사항에 기반하여) 특정한 관련이 있는 네트워크 환경(200)의 일부분에서 그 네트워크 환경(200)의 다른 영역보다 더 많은 QOS 관련 모니터링을 수신하게 된다.
시간, 자원 등이 허락하면, 사용자(102)는 점차로 QOS 클라이언트 애플리케이션(216)을 추가 컴퓨터들(210)에 배포할 수 있다. 이들 추가 QOS 클라이언트 애플리케이션들(216)은 QOS 관련 정보를 위해 네트워크 환경(200)의 추가 영역이 모니터링될 수 있게 한다. 따라서, 사용자(102)는 점차로 QOS 서비스(110)를 배포할 수 있는 것뿐만 아니라, QOS 관련 모니터링을 위해 네트워크 환경(200)의 영역을 표적화할 수 있다. 나아가, QOS 서비스(110)는 (결정된 QOS 성능 수준에 따라 통신(106)을 라우팅함으로써) 컴퓨터(210) 및 관련 사용자(102) 및/또는 네트워크 환경(200)의 표적화된 이들 영역(및 다른 영역)의 엔티티들(212)에게 향상된(또는 선택된) QOS 관련 성능 수준을 제공할 수 있다.
여러 가지 기능 중에서, 본 명세서에서 도 3과 관련하여 추가적으로 개시하듯이, 도시된 QOS 서버 애플리케이션(214)은 QOS 행렬 및 QOS 벡터를 보관한다. QOS 서버 애플리케이션(214)은 각종 QOS 클라이언트 애플리케이션(216)이 제공한 정보를 메쉬 네트워크(202 및 204)의 통신 경로의 순열(permutations)에 따라 조직된 QOS 벡터에 저장한다. 도 2에 도시된 바와 같이, 각각의 통신 경로는 하나 또는 그 이상의 경로 세그먼트(220, 222, 224, 226, 228 및 230)와, 전송 및 수신 컴퓨터(210), 각종 서버(208) 및 각종 라우터(206) 등의 하나 이상의 설비들을 포함한다. 또한, 통신 경로는 대개, 설비에 의해 호스팅되며 통신 경로를 통한 통신(106)의 횡단에 관여할 수 있는 하나 이상의 엔티티(212)를 포함한다. 마찬가지로, 경로 세그먼트(220, 222, 224, 226, 228 및 230)도 각종 엔티티 및 장치들을 포함할 수 있다. 게다가, 통신 경로 및 통신 경로 세그먼트(220, 222, 224, 226, 228 및 230)는 메쉬 네트워크(202 또는 204)에 포함되거나, 메쉬 네트워크(202 및 204) 사이의 경계에 걸쳐있을 수 있다. 이에 더하여 또는 이 대신에, 통신 경로 및 통신 경로 세그먼트(220, 222, 224, 226, 228 및 230)는 하나 이상의 조직(예를 들어, ISP 또는 기업)에 포함되고, 이 조직에 의해 동작하거나 제어될 수 있다.
예시적인 성능 수준으로써 패킷 손실율을 사용하는 경우, 양쪽 컴퓨터(210A 및 210B) 간의 종단간 패킷 손실율(end-to-end packet loss rate)은 p210A -210B로 나타낼 수 있다. 또한, 개별 경로 세그먼트의 패킷 손실율은 경로 세그먼트(220)에 대해서는 p220 등으로 나타낼 수 있다. 또한, 서버, 라우터 등에서의 패킷 손실율은 서버(208)에 대해서는 p208 등으로 나타낼 수 있다. 종단간 패킷 손실율과 개별 경로 세그먼트(통신 경로, 서버 및 라우터 등)의 패킷 손실율은 (1-p210A -210B)=(1-p220)*(1-p222)*(1-p224)*(1-p226)*(1-p228)*(1-p230)*(1-p208)*(1-p206)와 같이 관계될 수 있다. 로그 공간(log space)에서, 위의 관계는 일차항들(linear terms)로 표현된다. QOS 서비스(110)는 (1-p210A -210B)과 같은 종단간 항을 클라이언트 서브미털로부터 얻는다. QOS 서비스(110)는 결정론적인 또는 확률론적인 방법을 사용하여 (1-p220) 및 (1-p208) 등의 개별 항들을 결정할 수 있다. QOS 서비스(110)는 각각의 경로 세그먼트, 서버, 라우터 등에 대해 추론된 항들을 보관한다. 유사한 방식으로, QOS 서비스(110)는 각각의 경로 세그먼트, 서버, 라우터 등에 대한 레이턴시, 대역폭, 처리량 등에 관한 항들을 보관할 수 있다.
레이턴시와 그 밖의 성능 수준의 경우, 종단간 컴포넌트와 개별 컴포넌트 간의 관계는 선형적임(즉, 종단간 레이턴시는 개별 컴포넌트들에서의 모든 레이턴시의 합이 됨)을 언급할 가치가 있다. 대역폭, 처리량 및 어쩌면 기타의 성능 수준의 경우, 종단간 측정치는 개별 컴포넌트들의 최소 성능 수준이 된다. 다른 유형의 관계도 본 개시의 범위에 속한다.
예를 들어, 도 2는 경로 세그먼트(220, 222, 224, 226, 228 및 230), 서버(208A - 208D), 및 라우터(206A)에 걸쳐 있고 이들 설비에 의해 호스팅되는 하나 이상의 엔티티(212A - 212D)를 통과하는, 컴퓨터(210A) 상에 있는 엔티티(212)와 컴퓨터(210B) 상에 있는 엔티티(212)를 연결하는 예시적인 통신 경로를 도시한다. 각 경로 세그먼트(220, 222, 224, 226, 228 및 230), 엔티티(212) 및 설비 부분은 통신 경로의 성능(또는 성능 부족)에 기여한다. 따라서, 측정된 QOS 성능 수준은 각각의 경로 세그먼트(220, 222, 224, 226, 228 및 230), 엔티티(212) 및 모니터링된 통신(106)에 관여하는 설비의 성능 수준을 반영할 것이다. 따라서, QOS 서버 애플리케이션(214)은 각종 통신 경로의 측정된 성능 수준을 벡터로써 저장하고, 여기서 벡터의 각 구성요소는 하나의 통신 경로의 성능 수준을 나타낸다.
반면, 하나의 통신(106)이나 통신 경로의 성능에 관한 정보는 다른 통신(106)이나 통신 경로의 성능을 예측하는 데 있어 제한된 값(limited value)이 될 수도 있다. 이러한 조건은 어느 하나의 통신(106)이 다른 통신(106)과는 완전히 또는 부분적으로 다른 통신 경로를 따르기 때문에 존재한다. 게다가, 두 통신 경로가 특정 경로 세그먼트(220)를 공유할지라도, 그 특정 경로 세그먼트의 성능이 어느 한쪽의 통신 경로의 성능에 결정적이지 않을 수도 있다. 실제로, 통신(106)은 서로 일부는 겹치지 않고 일부는 겹치는 통신 경로들을 통과할 수 있다. 따라서, QOS 클라이언트 애플리케이션(216)이 특정 통신(106) 및 특정 통신 경로에 대한 QOS 성능 수준을 측정하는 한편, QOS 서버 애플리케이션(214)은 이 정보를 수집하고 연관지어, 다음 통신(106) 및 다른 통신 경로에 대한 QOS 성능 수준을 예측한다.
특히, QOS 서버 애플리케이션(214)은 QOS 행렬을 보관하고, 여기서 행렬의 각 행은 통신 경로에 대응하며, 행의 구성요소 각각은 그 통신 경로에서의 경로 세그먼트(220, 222, 224, 226, 228 및 230), 엔티티(212) 또는 설비 부분(이하, "경로 세그먼트(path segment)"라 함)의 추후 결정될(to-be-determined) 성능 수준을 나타낸다. (통신 경로에 대해) 측정된 QOS 성능 수준의 벡터를 (경로 세그먼트(220, 222, 224, 226, 228 및 230) 등에 대해) 추후 결정될 QOS 성능 수준과 동일하게 설정하고, QOS 행렬을 그 일부 또는 전부의 구성요소에 대해 풀어서, QOS 서버 애플리케이션(214)은 통신(106)에 관여한 경로 세그먼트(220, 222, 224, 226, 228 및 230)의 성능 수준을 결정한다. 나아가, QOS 서버 애플리케이션(214)은 결정론적인 방식 또는 확률론적인 방식 중 어느 하나의 방식으로 QOS 행렬을 풀 수 있다. 후자의 경우, 결정된 QOS 성능 수준은 추정치일 것이다. 또한, QOS 벡터에 저장된 정보량(즉, 측정된 QOS 성능 수준의 개수)이 증가할수록, 이에 대응하여 그들 측정치의 정확도 또한 증가할 것이다.
반면, 각각의 경로 세그먼트의 QOS 성능 수준에 관해 QOS 행렬을 푸는 것이 필요하지 않을 수도 있다. 차라리, 관심 있는 통신 경로에 영향을 미칠 수 있는 성능 수준에 대해서만 QOS 행렬을 풀 수도 있다. 나아가, QOS 서버 애플리케이션(214)은 다른 목적을 위한 처리 자원을 보존하기 위해, 이들 성능 수준을 결정해달라는 요청을 받을 때까지 대기할 수도 있다.
이를 대신하여, 또는 이에 더하여, QOS 서버 애플리케이션(214)은 메쉬 네트워크(202 및 204)의 계층적 특성에 대한 지식을 사용하도록 구성될 수 있다. 예를 들어, 특정 컴퓨터(210)는 통상적으로 특정 메쉬 네트워크(202 또는 204) 안에서 자신과 가장 가까운 서버(208)를 통해 통신(106)을 라우팅하기 때문에, 각종 통신 경로의 모든 순열을 고려할 필요는 없다. 또한, 여러 이유로 컴퓨터(102)의 서브셋이 단지 라우터(206)(또는 다른 설비, 경로 세그먼트(220, 222, 224, 226, 228 및 230), 또는 엔티티(212))의 서브셋만을 사용할 것임이 사전에 알려져 있을 수 있다. 따라서, 이와 같은 실시예에서, QOS 벡터의 크기 및/또는 복잡도, QOS 행렬 및 개별 QOS 성능 수준 결정에 관련된 처리가 상당히 줄어든다.
또한, 메쉬 네트워크(202 및 204)의 계층적 특성에 관한 정보를 사용함으로써, QOS 서비스(110)가 메쉬 네트워크(202 및 204)에 점차적으로 배포될 수 있다. 마찬가지로, QOS 서비스(110)는 사용자(102)(또는 시스템 관리자)가 이를 사용하는 데 융통성을 부여할 수 있다. 예를 들어, 특정 경로 세그먼트들(220, 222, 224, 226, 228 및 230)(및 따라서, 메쉬 네트워크(202 및 204)의 서브셋)을 원하는 대로 QOS 행렬에서 고려하거나 혹은 뺄 수 있다. 나아가, 이들(또는, 다른 또는 새로운) 경로 세그먼트들(220, 222, 224, 226, 228 및 230)을 사용자가 원하는 대로 QOS 행렬에서 고려하거나 QOS 행렬에 추가할 수 있다.
다른 대안 기법에서(또는 앞서의 기법 및 기술들에 더해서), 메쉬 네트워크(202 및 204)의 각종 엔티티(212) 및 설비들은 메쉬 네트워크(202 및 204)에 자신의 존재 및 위치를 등록하도록 구성될 수 있다. 등록 절차의 일부로, 자신이 사용하고자 하는, 자신이 사용할 것 같은, 혹은 자신이 결국 사용하게 되는 각종 통신 경로들도 등록할 수 있다. 다시, 이러한 기법 및 기술의 효과로, QOS 서버 애플리케이션(214)은 더 적은 정보를 저장하게 되고, 개별 QOS 성능 수준을 결정하는 데 보다 적은 단계를 실행하며, 결정된 QOS 성능 수준을 요청 엔티티(212)에 보다 적절한 시기에 전달할 수 있게 된다.
몇몇 실시예에서, QOS 서버 애플리케이션(214)은 (시작 시점에서) QOS 관련 성능 수준을 결정하기 위해서, 각종 엔티티(212)로부터 QOS 관련 서브미털을 수동적으로 수신하거나, 메쉬 네트워크(202 또는 204)를 능동적으로 탐색하도록 구성될 수 있다. 예를 들어, QOS 서버 애플리케이션(214)은 (특별한 통신에 잠재적으로 관여하는 엔티티(212) 및 통신 경로에 대한 지식에 기반하여) 관심 대상인 특정 경로 세그먼트(220, 222, 224, 226, 228 또는 230)의 성능 수준에 관한 QOS 행렬에 현재 정보를 갖고 있지 않은지를 결정할 수 있다. 이러한 경우, QOS 서버 애플리케이션(214)은 하나의 (또는 연속하여) 모니터링되는 통신을 현재 모니터링되지 않는 경로 세그먼트(들)(220, 222, 224, 226, 228 또는 230)로 향하게 할 수 있다. 이런 기법의 결과의 하나로, QOS 서버 애플리케이션(214)은 QOS 벡터에 삽입할 정보를 능동적으로 얻을 수 있게 된다. 정보를 삽입함으로써 QOS 서버 애플리케이션(214)은 지금까지 알려지지 않은 (또는 오래된) QOS 성능 수준(들)을 결정할 수 있다. QOS 서버 애플리케이션(214)은 스케쥴에 따라서, 알려지지 않은/누락된 벡터 구성요소에 따라서, 다른 사용자의 요구에 따라서 등등의 요청에 대해 이런 식으로 능동적인 탐색을 하도록 구성될 수도 있다.
다음은 QOS 서비스(110)가 이용할 수 있는 하나의 QOS 간섭 알고리즘의 수학적인 프레임워크에 대해 추가적으로 설명한다. 경로 세그먼트(예컨대, 개별 서버, 네트워크 세그먼트 등)의 QOS 성능 수준은 벡터로써 표현될 수 있으며,
Figure pct00001
여기서, i는 서버 및 네트워크 세그먼트의 인덱스이다. QOS 서비스(110)에 대한 엔티티(212)의 서브미털을 벡터로 표현하면,
Figure pct00002
여기서, j는 QOS 서비스(110)에 의해 수신되는 j 번째 서브미털의 인덱스이다. 접속 행렬(connection matrix)은 다음과 같이 표현되며,
Figure pct00003
여기서, a i ,j =1은 i 번째 경로 세그먼트가 j 번째 서브미털에 대응함을 나타내며, a i ,j =0은 i 번째 경로 세그먼트가 j 번째 서브미털에 대한 통신 경로와 무관함을 나타낸다. 따라서, QOS 서비스(110)는 접속 행렬 A 및 QOS 서브미털 벡터 P 가 주어지면, QOS 성능 수준 벡터 Q 에 대한 (도 4에 도시된 바와 같은) 최소화 문제(minimization problem)를 푼다.
Figure pct00004
수학식 4에서 조건이 불충분할(insufficiently constrained) 수 있기 때문에, 수학식 4에 하나 이상의 해(solution)가 존재할 수 있다. 즉, 수학식 4는 항상 단일 해(unique solution)로 이어지지 않을 수도 있다.
따라서, QOS 서비스(110)는 실제 성능 수준을 반영하는 해로서 이런 해들 중 어느 하나를 식별하는 데, 최소 평균 제곱 오차(minimum mean square error, MMSE) 추정법(또는 다른 기법들)을 사용할 수 있다. 따라서, 몇몇 실시예의 MMSE는 다음의 형태를 취한다.
Figure pct00005
메쉬 네트워크(202 및 204)의 상태에 대응하는 각종 경로 세그먼트들의 QOS 성능 수준을 얻기 위해서, QOS 서비스(110)는 선험적 사실(a priori knowledge)을 사용할 수 있다. 예를 들어, 선험적 사실 중 이용가능한 하나의 사실로 통상적으로 대부분의 서버가 성능의 문제없이 표준으로(nominally) 동작한다는 점이 있다. 나아가, 대부분의 경로 세그먼트는 혼잡하지 않아서, 지연 패킷 손실이 거의 없다. 이러한 선험적 정보를 사용하여, QOS 서비스(110)는 수학식 6 및 7에서 나타낸 바와 같은 MMSE의 수정된 버전을 사용할 수 있다.
Figure pct00006
또는
Figure pct00007
α 및 β는 가중 계수(weighting parameters)이다. 수학식 6에 나타난 MMSE 수정으로 QOS 성능 수준 벡터 Q 의 영이 아닌 항목(l 0 놈(norm))의 개수가 줄어든다. 한편, 수학식 6에 나타난 MMSE 수정은 그로 인해 조합 최적화(Combinatorial Optimization) 문제가 일어날 것 같지 않거나 또는 그 문제를 처리할 수 있을 때 사용될 수 있다. 이에 비해, 수학식 7에 나타난 MMSE 수정으로 QOS 성능 수준 벡터 Q l 1 놈이 줄어든다. 따라서, 수학식 7은 대개 컨벡스 프로그래밍 알고리즘(convex programming algorithm)으로 효율적으로 풀 수 있다.
앞서 말한 MMSE-기반 접근 방법 대신에 또는 이 방법에 더해서, QOS 서비스(110)는 수학식 8과 같은 최대 우도 추정식(maximal likelihood estimation formula)을 통해 또는, 수학식 9와 같은 최대 사후 공식(maximum a posterior formula)을 통해 메쉬 네트워크(202 및 204)의 성능(즉, 수학식 4)을 모델링할 수 있다.
Figure pct00008
Figure pct00009
또한, QOS 서비스(110)는 신뢰 전파(Belief propagation) 등의 확률론적인 기법을 통해 수학식 8 및/또는 9를 풀 수 있다. 이에 더해서, 또는 이 대신에, QOS 서비스(110)는 최소 평균 제곱 오차(MMSE) 추정법, l 0 놈에 의한 추가 패널티가 있는 MMSE, l 1 놈에 의한 추가 패널티가 있는 MMSE, 최대 우도 추정법, 최대 사후 추정법 또는 그 밖의 기법을 사용하여 각종 통신 경로 또는 경로 세그먼트들(220, 222, 224, 226, 228 및 230)의 성능을 결정, 추정 등을 할 수 있다. 또한, QOS 서비스(110)는 통신 경로(또는 경로 세그먼트들(220, 222, 224, 226, 228 및 230))가 단지 수동 컴포넌트(예를 들어, 이더넷 케이블)만 포함하는지, 또는 라우터(206), 서버(208) 또는 컴퓨터(210) 등의 능동 컴포넌트도 포함하는지에 대해서도 그렇게 할 수 있음을 언급할 필요가 있다.
이제 도 3에서, 도면은 QOS-기반 클라이언트/서버 라우팅 시스템(300)의 예시적인 블록도를 도시한다. 특히, 도 3은 컴퓨터(210)와 서버(208)에 의해 각각 호스팅되는 QOS 클라이언트 애플리케이션(216) 및 QOS 서버 애플리케이션(214)을 도시하며, 이들 애플리케이션은 대신에 각종 컴퓨팅/통신 장치들 사이에 분산될 수도 있다. QOS 클라이언트 애플리케이션(216) 및 QOS 서버 애플리케이션(214)은 원하는 대로 네트워크(100) 또는 그 일부분을 통해 통신한다. 몇몇 실시예에서, QOS 클라이언트 애플리케이션(216)과 QOS 서버 애플리케이션(214) 사이의 통신은 이들 애플리케이션을 호스팅하는 컴퓨터(210)와 어느 하나의 서버(208)(또는 다른 설비) 간의 일반 네트워크 트래픽(302)에 "편승한다(piggyback)". 예를 들어, QOS 클라이언트 애플리케이션과 QOS 서버 애플리케이션(108) 간의 서브미털(304), 질의(306) 및 질의 응답(308)은 미사용 공간에서 호스팅 설비 간의 네트워크 제어 신호로 패키징될 수 있다. QOS 클라이언트/서버 통신(304, 306, 및 308)이 기존의 네트워크 트래픽(302)에 편승함으로써 얻는 이점으로 이들 통신(304, 306, 및 308)을 처리하기 위해 요청되는 통신 경로(및 엔티티(212) 및 관련 설비)에 거의 영향을 주지 않거나 영향을 전혀 미치지 않는 것을 들 수 있다.
도 3을 계속 참조하면, QOS 클라이언트 애플리케이션(216)은 경로 모니터링 컴포넌트(path monitoring component, 310) 및 경로 조립 컴포넌트(path assembly component, 312) 중에서 둘 이상의 컴포넌트를 포함한다. 경로 모니터링 컴포넌트(310)는 클라이언트 컴퓨터(210) 안에 있는 엔티티(212)로부터 온 통신(106)(도 1 참조)을 가로채, 그에 관련된 QOS 성능 수준을 측정한다. 또한, 경로 모니터링 컴포넌트(310)는 측정된 QOS 성능 수준을 네트워크 트래픽(302) 메시지에 삽입하여 QOS 서버 애플리케이션(214)에 전송될 서브미털(304)을 형성한다.
도 3을 더 참조하면, 경로 조립 컴포넌트(312)는 QOS 서버 애플리케이션(214)으로부터 질의 응답(308)을 수신한다. 나아가, 경로 조립 컴포넌트(312)는 관심 대상인 개별 경로 세그먼트(220, 222, 224, 226, 228 및 230)에 대한 QOS 성능 수준을 식별하기 위해, 이들 질의 응답(308)을 컴퓨터(210) 안에 있는 엔티티(212)로 파싱한다(parse). 경로 조립 컴포넌트(312)는, 발신 통신(outgoing communication(106))이 생성되었음을 탐지하면, 발신 통신(106)을 라우팅하는 데 유용할 수 있는 결정된 QOS 성능 수준을 검사하여 그 통신(106)에 적합한 전체의 통신 경로를 선택한다. 예를 들어, 통신은 그 통신에 대한 최적 통신 경로로 라우팅될 수 있다.
그 통신 경로(들)를 고를 때, 경로 조립 컴포넌트(312)는 사용자가 선택한 기준, 현재(또는 최근) 네트워크 상태 등에 기반한 기준을 고려할 수 있다. 또한, 관련 있는 몇몇 경로 세그먼트들(220, 222, 224, 226, 228 및 230)에 대해 결정된 QOS 성능 수준이 오래되었거나 사용가능하지 않은 경우가 가끔 있을 수 있다. 이런 경우에는, 경로 조립 컴포넌트(312)는 사용가능한 (및 새로운) QOS 성능 수준, 오래된 QOS 성능 수준, (컴퓨터(210)에 저장된) 과거 QOS 성능 수준, 사용자가 정의한 규칙, 사용자 선호도 등을 사용하여, 누락된 정보에도 불구하고 발신 통신(106)을 위한 통신 경로를 선택할 수 있다. 따라서, QOS 클라이언트 애플리케이션(216)은 각종 통신 경로에 대한 QOS 성능 수준을 측정하고, 이들 QOS 성능 수준을 QOS 서버 애플리케이션(214)에 제공하며, 엔티티들(212)에 대한 통신 경로를 조립한다. 여기서, "통신 경로 조립"이란 용어는, 그 중에서도, 통신 경로를 형성할 경로 세그먼트들(220, 222, 224, 226, 228 및 230)을 선택하는 것을 의미한다.
도 3을 계속 참조하면, QOS 서버 애플리케이션(214)은 인증 컴포넌트(authentication componenet, 314), 경로 세그멘테이션 컴포넌트(path segmentation component, 316), 질의 처리 컴포넌트(query handling component, 318), 및 능동 탐색 컴포넌트(active probing component, 320)를 포함하는 각종 컴포넌트들을 포함한다. 이들 컴포넌트들로, QOS 서버 애플리케이션(214)은 QOS 행렬(322) 및 QOS 벡터(324)를 생성 및 관리한다. 특히, 인증 컴포넌트(314)는 메쉬 네트워크(202 또는 204)로부터 서브미털이라고 알려진 것(304)을 수신하고, 신뢰할만한 QOS 클라이언트 서버(216)가 실제로 서브미털(304)을 생성하여 전송하였는지를 결정한다. 몇몇 비제한적인 실시예에서, 인증 컴포넌트(314)는 공개/개인 키 암호화(public/private key encryption) 기법 및 기술을 사용하여 서브미털(304)을 인증한다. 특정 서브미털(304)이 인증에 실패하면, 인증 컴포넌트(314)는 서브미털(304)을 거부하고, 사용자들(102) 중 어느 하나(예를 들어, 시스템 관리자)에게 경보를 보내고, 서브미털(304)의 재전송을 요청한다. 따라서, 인증 컴포넌트(314)는 서브미털(304), 및 그 안의 정보로부터 생성된 QOS 행렬(322)의 무결성을 보장하는 데 일조한다. 특히, 인증 컴포넌트(314)는 통상적으로 왜곡된 QOS 성능 수준이 QOS 서버(324)에 들어가지 않도록 보장한다.
인증 컴포넌트(314)는 또한 인증된 서브미털(304)을 경로 세그멘테이션 컴포넌트(316)로 보낸다. 특히, 서브미털(304)은 특정 통신(106)에 관해 측정된 QOS 성능 수준뿐만 아니라 전송 엔티티(212), 수신자 엔티티(212) 및 그 통신(106)에 사용된 특정 통신 경로의 신원(identification)도 포함하기 때문에, 경로 세그멘테이션 컴포넌트(316)는 QOS 벡터(324)의 어느 행이 서브미털(304)에 의해 영향을 받을지를 식별한다. 나아가, 경로 세그멘테이션 컴포넌트(316)는 제공된 성능 수준과 그 행의 어느 구성요소(즉, 경로 세그먼트(220, 222, 224, 226, 228 및 230))가 관련될 가능성이 있는지도 식별한다. 따라서, 특정 경로 세그먼트(220, 222, 224, 226, 228 및 230)가 통신(106)에 관여하지 않을 것이라면, QOS 행렬(322)의 대응 구성요소는 0으로 설정되거나, 또는 (관심 대상인 현재 QOS 성능 수준을 결정하는 데에서) 더 이상 고려되지 않을 수 있다. 또한, 관심 대상인 각각의 유형의 성능 수준에 대해, 경로 세그멘테이션 컴포넌트(316)는 개별 QOS 행렬(322)을 보유할 수 있다.
경로 세그멘테이션 컴포넌트(316)가 추가 통신 경로에 대한 추가 서브미털(304)을 수신함에 따라, QOS 벡터(324)는 (각종 통신 경로에 대해 측정된 QOS 성능 수준을 포함하는) QOS 벡터(324) 및 (각종 경로 세그먼트들(220, 222, 224, 226, 228 및 230)에 대해 추후 결정될 QOS 성능 수준을 포함하는) QOS 행렬(322)에 의해 정의되는 연립 방정식들을 풀 수 있을 정도로 충분하게 측정된 QOS 성능 값을 이용할 수 있는 상태에 도달하게 된다. 경로 세그멘테이션 컴포넌트(316)는 QOS 행렬(322)을 풀어, 각종 경로 세그먼트(220, 222, 224, 226, 228 및 230)에 대한 QOS 성능 수준을 결정한다. 여기서, QOS 행렬(322)의 완전해(complete solution)가 필요하지 않을 수도 있고, 어떤 상황에서는 바람직하지 않을 수조차 있음을 언급할 가치가 있다. 예를 들어, 특정 경로 세그먼트(220, 222, 224, 226, 228 또는 230)의 특정 QOS 성능 수준에 대해 풀기에 충분한 정보가 존재할 때, QOS 성능 수준은 QOS 벡터(324)에 포함될 추가 정보를 기다리지 않고 결정될 수 있다.
경로 세그멘테이션 컴포넌트(316)가 QOS 행렬(322)을 풀기 위해 사용하는 기법 및 기술은 결정론적인 방법과 확률론적인 기법 및 기술을 포함한다. 예를 들어, 경로 세그멘테이션 컴포넌트(316)는 선형 대수(linear algebra)를 사용하여, QOS 행렬(322)과 QOS 벡터(324)의 행들에 대응하는 연립 방정식 집합을 풀 수 있다. 이 대신에, 또는 이에 더해서, 경로 세그멘테이션 컴포넌트(316)는 선형 회귀(linear regression) 또는 확률론적 기법 및 기술을 QOS 행렬(322)과 QOS 벡터(324)에 적용하여, 서브미털(304)에 포함된 정보로부터 경로 세그먼트(220, 222, 224, 226, 228 및 230)의 각종 성능 수준을 추정할 수도 있다.
도 3을 계속 참조하면, 질의 처리 컴포넌트(318)는 각종 엔티티(212)로부터, 또는 (예를 들어, QOS 서버 애플리케이션(214)을 호스팅하는 서버(208)의 키보드 입력을 통해) 사용자(102)로부터 직접 질의(306)를 수신한다. 통상적으로, 이들 질의(306)는 통신할 가능성이 높은 한 쌍의 엔티티(212)의 신원을 포함한다. 또한, 이들 질의(306)는 엔티티(212)가 특정 통신(106)을 위해 사용하기 원하는 통신 경로 또는 그 일부분을 식별할 수 있다. 어떤 경우든, 질의 처리 컴포넌트(318)는 질의(306)를 파싱하고 QOS 행렬(322)을 검사하여, 지정된 엔티티들(212) 간의 각종 통신 경로 조립에 사용될 수 있는 (또는 사용할 필요가 있거나 사용되도록 지정된) 각종 통신 각종 경로 세그먼트(220, 222, 224, 226, 228 및 230)에 대한 성능 수준을 결정한다.
각종 경로 세그먼트(220, 222, 224, 226, 228 및 230)(및 엔티티(212))에 대한 하나 이상의 성능 수준이 결정되지 않았거나 또는 오래된 경우, 질의 처리 컴포넌트(318)는 메쉬 네트워크(202 및 204)에 관한 추가적인 QOS 성능 수준을 측정하도록 능동 탐색 컴포넌트(320)를 작동시킬 수 있다. 예를 들어, 능동 탐색 컴포넌트(320)는 자신으로부터의 통신(106)을, 결정된 QOS 성능 수준이 누락된 경로 세그먼트(220, 222, 224, 226, 228 및 230)를 통해 라우팅하여, (관심 대상인 특정 통신 경로의) 추가로 측정된 QOS 성능 수준을 생성할 수 있다. 그리고 나서, 능동 탐색 컴포넌트(320)는 경로 세그멘테이션 컴포넌트(316)로 서브미털(304)을 전송한다. 결과적으로, 경로 세그멘테이션 컴포넌트(316)는 QOS 벡터(324)를 채우고, (관심 대상인 경로 세그먼트(220, 222, 224, 226, 228 및 230)에 대해) 이전에 알려지지 않은 QOS 성능 수준에 관한 QOS 행렬(322)을 푼다. 경우에 따라서는, QOS 행렬(322)이 관련 있는 QOS 성능 수준에 대해 풀 수 있을 정도로 충분하게 채워질 때까지, 또는 몇몇 사용자 지정 한계(user specified limit)(예컨대, 이러한 통신(106)의 최소 또는 최대 개수 또는 어느 정도의 시간)에 도달할 때까지, 능동 탐색 컴포넌트(320)가 몇 개의 (또는 그 이상의) 이러한 통신(106)을 생성할 수 있다.
어떤 시점이 되면, 질의 처리 컴포넌트(318)는 이용가능한 QOS 성능 수준을 QOS 행렬(322)로부터 추출한다. 나아가, 질의 처리 컴포넌트(318)는 질의 응답(308)을 나르는 메시지를 생성하거나, 일반 네트워크 트래픽(302)에 관련 있는 메시지에 질의 응답(308)을 삽입하기도 한다. 그 다음에, 질의 처리 컴포넌트(318)는 (관련 경로 세그먼트(220, 222, 224, 226, 228 및 230)에 대해) 결정된 QOS 성능 수준을 포함하는 질의 응답(308)을 요청 QOS 클라이언트 애플리케이션(216)으로 전송한다.
QOS 클라이언트 애플리케이션(216)의 경로 조립 컴포넌트(312)가 질의 응답(308)을 수신하면, 관련 경로 세그먼트(220, 222, 224, 226, 228 및 230)의 결정된 QOS 성능 수준에 대한 질의 응답(308)을 파싱한다. 결정된 QOS 성능 수준과 메쉬 네트워크(202 및 204)에 대한 지식으로부터, 경로 조립 컴포넌트(312)는 발신 통신(들)(106)에 대한 통신 경로를 조립한다. 그 후에, 경로 조립 컴포넌트(312)는 그 통신 경로를 따라 발신 통신을 라우팅한다.
경로 조립 컴포넌트(312)는 발신 통신(106)에 관련된 여러 다른 조치를 취할 수 있다. 예를 들어, 질의 응답(308)에서의 결정된 QOS 성능 수준에 따라, 발신 통신(106) 및 그에 대한 임의의 응답에서 사용될 오류 검출 및 정정 기법 및 기술을 조정할 수 있다. 다른 경우에, 경로 조립 컴포넌트(312)는 일차적인(primary) 통신 경로와 하나 이상의 이차적인(secondary) 통신 경로를 구축할 수 있다. 따라서, 일차적인 통신 경로가 실패하거나 열화된 경우(즉, 일부 성능 수준이 임계치 아래로 떨어지거나 임계치 위로 오른 경우), 성능 조립 컴포넌트(312)는 이차적인 통신 경로로 그 통신(106)을 라우팅할 수 있다. 다른 시나리오로는, 경로 조립 컴포넌트(312)는 통신에 관여한 엔티티들(212) 간의 유효 대역폭(effective bandwidth)을 증가시키기 위해서, 통신(106) 또는 통신(106) 교환을 위해 다수의 통신 경로를 구축하기를 선택할 수 있다. 어떤 경우에든, 경로 조립 컴포넌트(312)는 특정 통신(106), 엔티티(212) 사용자(102) 등에 적절할 수 있는 통신 경로(들)를 선택할 수 있다.
도 4는 QOS-기반 클라이언트/서버 라우팅 시스템(300)을 사용하여 통신을 라우팅하는 방법(400)의 예시적인 순서도이다. 특히, 도 4는 QOS 클라이언트 애플리케이션(216)이 각종 통신 경로에 대한 QOS 성능 수준을 측정하는 단계(402) 등의 여러 단계들을 포함한다.
단계(404)에서, 측정된 QOS 성능 수준과 통신(106)에 관여한 경로 세그먼트(220, 222, 224, 226, 228 및 230)를 연계시킨다. QOS 벡터(324)를 QOS 관련 정보로 채우고, QOS 벡터(324)를 (경로 세그먼트(220, 222, 224, 226, 228 및 230)에 대해 추후 결정될 QOS 성능 수준을 포함한) QOS 행렬(322)과 같도록 설정함으로써 연계시킬 수 있다.
또한, 상기 방법(400)은 메쉬 네트워크(202 및 204)의 각종 경로 세그먼트(220, 222, 224, 226, 228 및 230)의 일부 또는 전부의 QOS 성능 수준을 결정하는 단계를 포함한다. 예를 들어, 부분으로든 전체로든 QOS 행렬(322)을 풀 수 있다. 단계(406)를 참조하라.
그리고 나서, 질의(306)에 대한 응답으로 또는 그 밖의 이유로, 각종 엔티티들(212) 간의 통신 경로를 조립하는 데 사용될 수 있는 경로 세그먼트(220, 222, 224, 226, 228 및 230)의 QOS 성능 수준을 식별한다. 단계(408)를 참조하라.
또한 상기 방법(400)은 요청 엔티티(212) 또는 다른 엔티티들(212) 및/또는 사용자들(212)에게 (단계(406)에서 결정된) 관련 QOS 성능 수준을 제공하는 단계를 포함한다. 단계(410)를 참조하라.
또한, 관련 QOS 성능 수준으로부터 및 메쉬 네트워크(202 및 204)에 대한 지식으로부터, 단계(412)에 도시된 바와 같이, 통신(106)이 라우팅될 수 있는 하나 이상의 통신 경로를 조립할 수 있다.
이 대신에, 또는 이에 더해서, 통신(106)을 위해 각종 통신 기법 및 기술, 파라미터 등을 선택하여, 원하는 대로 적용할 수 있다. 예를 들어, 통신(106)을 위해 오류 검출 및 정정 스키마(schema)를 선택할 수 있다. 단계(414)를 참조하라. 어떤 상황에서는, 그 통신에 관여될 수 있는 경로 세그먼트들(220, 222, 224, 226, 228 및 230)의 결정된 QOS 성능 수준에 기반하여 선택을 할 수 있다.
QOS-기반 클라이언트/서버 시스템(300)에 의해 피드백된 (경로 세그먼트(220, 222, 224, 226, 228 및 230)에 관한) QOS 성능 수준에 따라서, 단계(412)에서 조립된 통신 경로에 따라 하나 이상의 통신(106)을 라우팅한다. 단계(416)를 참조하라. 나아가, 단계(414)에서 선택된 통신 기법을 이들 통신 중에 사용할 수 있다.
도 5는 QOS 클라이언트 애플리케이션(216)을 사용하여 통신(106)을 라우팅하는 방법(500)의 예시적인 순서도이다. 상기 방법(500)은, QOS 클라이언트 애플리케이션(216)이 클라이언트 컴퓨터의 엔티티(212)로부터 전송 중인 또는 전송될 통신(106)을 모니터링하는 단계(502) 등의 여러 단계들을 포함한다.
단계(504)는 QOS 클라이언트 애플리케이션(216)이 이들 발신 통신(106)의 일부 또는 전부에 관련된 QOS 성능 수준을 측정할 수 있음을 도시한다. 모니터링 단계는 클라이언트 컴퓨터의 운영 체제, 어느 하나의 라우터 또는 서버(208), 또는 네트워크(202 또는 204)로부터 통신에 관련된 QOS 성능 수준을 얻는 단계를 포함한다. 그 대신에, 모니터링 단계는 원하는 QOS 성능 수준을 측정할 수 있는 엔티티에 의해 QOS 클라이언트 애플리케이션(216)으로 반환되는 통신과 관련된 QOS 성능 수준을 갖도록 발신 통신(106)을 수정하는 단계를 포함할 수도 있다.
단계(506)에서, QOS 클라이언트 애플리케이션은 측정된 QOS 정보를 QOS 서버 애플리케이션(214)에 제공한다. 또한, 상기 방법(500)은 측정된 QOS 관련 정보를 암호화하는(아니면 보호하는) 단계를 포함할 수도 있다.
상기 방법(500)은 또한, QOS 클라이언트 애플리케이션(216)이 자신과 관련된 엔티티들(212)로부터의 경로 세그먼트(220, 222, 224, 226, 228 및 230)의 QOS 성능 수준에 대해 QOS 서버 애플리케이션(214)에 질의하는 단계(508)를 포함한다.
단계(510)에서, QOS 클라이언트 애플리케이션(216)은 클라이언트 컴퓨터로부터의 통신(106)을 라우팅하는 데 사용되는 하나 이상의 경로를 조립한다. QOS 클라이언트 애플리케이션(216)은 (관련 경로 세그먼트(220, 222, 224, 226, 228 및 230)의) 결정된 QOS 성능 수준과 메쉬 네트워크(202 및 204)에 관한 지식을 사용하여, 통신 경로를 조립한다.
QOS 클라이언트 애플리케이션(216)은 조립된 통신 경로를 따라 통신들(106)을 라우팅한다. 단계(512)를 참조하라.
클라이언트 컴퓨터로부터의 통신들(106)이 라우팅되는 동안, QOS 클라이언트 애플리케이션(216)은 이들 통신(106)을 모니터링하고, 측정된 관련 QOS 성능 수준이 (사용자(102)나 엔티티(212)에 의해 선택된) 그 통신(106)에 대한 QOS 수준을 만족하는지 여부를 결정한다. 통신(106)이 QOS 수준을 만족시킨다면, 상기 방법(500)은 결정(514)에 의해 도시된 바와 같이 단계(502)부터 반복된다.
통신(106)이 선택된 QOS 수준을 만족시키지 못한다면, QOS 클라이언트 애플리케이션(216)은 QOS 서버 애플리케이션(214)에 다시 질의하고 다른 통신 경로를 조립함으로써 라우팅을 조정한다. 단계(516)를 참조하라.
도 6은 QOS 서버 애플리케이션(214)을 사용하여 통신을 라우팅하는 방법(600)의 예시적인 순서도이다. 특히, 도 6은, QOS 서버 애플리케이션(214)이 하나 이상의 QOS 클라이언트 애플리케이션(216)으로부터 측정된 QOS 성능 수준의 여러 서브미털(304)을 수신하고 인증하는 단계를 상기 방법(600)이 포함함을 도시한다. 단계(602)를 참조하라.
단계(604)에서, QOS 서버 애플리케이션(214)은 측정된 QOS 성능 수준과 그 QOS 성능 수준을 야기한 각종 경로 세그먼트들(220, 222, 224, 226, 228 및 230)을 연계시킨다. 예를 들어, QOS 서버 애플리케이션(214)은 측정된 QOS 성능 수준으로 QOS 벡터(324)를 채울 수 있다.
어떤 시점이 되면, QOS 서버 애플리케이션(214)은 한 쌍의 엔티티(212) 사이의 잠재 통신 경로에 관한 질의(306)를 수신한다. 단계(606)를 참조하라.
단계(608)에서, QOS 서버 애플리케이션(214)은 질의(306)에 의해 지정된 엔티티들(202) 간의 통신(106)에 잠재적으로 관련 있는 경로 세그먼트들(220, 222, 224, 226, 228 및 230)의 성능 수준을 결정한다. 예를 들어, QOS 서버 애플리케이션(214)은 QOS 행렬(322)을 전체로든 부분으로든 풀어 잠재적으로 관련 있는 QOS 성능 수준을 결정할 수 있다.
그 다음으로, QOS 서버 애플리케이션(214)은 (단계 608)에서 결정된 바와 같은) 관련 QOS 성능 수준을 요청 엔티티(212)에 전송한다. 단계(610)를 참조하라. 상기 방법(600)은 원하는 만큼 오래 순환 반복될 수 있다(loop).
따라서, 본 실시예들은 특히 네트워크가 엔티티들 간의 통신에 관련되어 있는 동안 네트워크에 개선된 QOS 성능 수준을 제공한다. 나아가, 본원에서 설명된 기법 및 기술을 적용함으로써 이들 네트워크의 전체 속도를 현저하게 증가시킬 수 있다. 지금까지 가능했던 것보다 높은 전송률과 낮은 데이터 손실로 보다 신뢰할 수 있게 통신을 라우팅할 수 있다. 또한, 본 실시예들은 네트워크 안에서의 통신 라우팅을 향상시키도록 QOS 성능 수준을 피드백하는 것을 포함한다.
결론
발명 대상이 구조적 특징 및/또는 방법론적인 동작과 관련하여 기술되어 있지만, 첨부된 특허청구범위에서 정의된 발명 대상이 반드시 전술한 특정 특징이나 동작으로 제한되는 것은 아님을 이해할 것이다. 그보다는, 특허청구범위를 구현하는 예시적인 형태로써 전술한 특정 특징이나 동작이 개시된 것이다.

Claims (15)

  1. 제 1 통신 경로의 제 1 성능 수준의 표시를 포함하는 제 1 서브미털(submittal)을 제 1 엔티티로부터 받아들이도록 구성된 경로 세그멘테이션 컴포넌트 - 상기 경로 세그멘테이션 컴포넌트는 또한 상기 제 1 통신 경로의 일부인 제 1 부분(partial) 경로 세그먼트를 결정하고 상기 제 1 부분 경로 세그먼트에 대응하는 제 1 부분 성능 수준을 결정하도록 구성됨 - , 및
    상기 경로 세그멘테이션 컴포넌트와 통신하며, 상기 제 1 부분 경로 세그먼트의 상기 결정된 제 1 성능 수준에 많아야 부분적으로 기반하여 제 2 부분 경로 세그먼트의 제 2 성능 수준을 결정하고, 상기 제 2 부분 경로 세그먼트의 상기 결정된 제 2 성능 수준의 표시를 출력하도록 구성된 경로 조립 컴포넌트 - 상기 제 2 부분 경로 세그먼트는 상기 제 1 통신 경로와 일부는 겹치지 않고 일부는 겹침 - 를 포함하는 QOS-기반 정보 서비스를 제공하는 컴퓨터.
  2. 제 1 항에 있어서,
    상기 컴퓨터는 서버, 라우터, 기업 네트워크(202)의 일부 또는 ISP(인터넷 서비스 제공자)의 일부 중 어느 하나인 컴퓨터.
  3. 제 1 항에 있어서,
    상기 제 2 부분 경로 세그먼트의 상기 결정된 제 2 성능 수준의 표시는 복수의 부분 경로 세그먼트의 복수의 결정된 성능 수준에 대한 항목(entries)을 포함하는 행렬의 일부인 컴퓨터.
  4. 제 1 항에 있어서,
    복수의 부분 경로 세그먼트에 대응하며 상기 경로 조립 컴포넌트에 의해 결정된 복수의 성능 수준으로부터, 사용자가 선택한 엔티티 조합이 관여하는 통신에 대해 선택된 성능 수준에 관해서 최적의 통신 경로를 결정하도록 구성된 질의 컴포넌트 - 상기 질의 컴포넌트는 또한 상기 최적인 경로의 표시를 출력하도록 구성됨 - 를 더 포함하는 컴퓨터.
  5. 제 1 항에 있어서,
    상기 제 2 부분 경로 세그먼트의 상기 제 2 성능 수준은 최소 평균 제곱 오차(MMSE) 추정법, l 0 놈(norm)에 의한 제 1 추가 패널티가 있는 MMSE 추정법, l 1 놈에 의한 제 2 추가 패널티가 있는 MMSE, 최대 우도 추정법 또는 최대 사후 추정법 중 적어도 하나에 의해 결정되는 컴퓨터.
  6. 제 1 항에 있어서,
    상기 제 1 성능 수준은 레이턴시량, 데이터 손실량, 대역폭, 안정치(stability measure), 버스트 패킷 손실치, 및 처리율로 구성된 그룹으로부터 선택되는 컴퓨터.
  7. 제 1 항에 있어서,
    제 3 통신 경로를 통해 엔티티와 통신함으로써 상기 제 3 통신 경로의 제 3 성능 수준을 결정하도록 구성된 능동 탐색 컴포넌트를 더 포함하는 컴퓨터.
  8. 제 1 항에 있어서,
    실행될 때, 상기 컴퓨터가 상기 경로 세그멘테이션 컴포넌트 및 상기 경로 조립 컴포넌트를 구현하게 하는 프로세서 실행가능 인스트럭션을 저장하는 컴퓨터 판독가능 저장 매체를 더 포함하는 컴퓨터.
  9. QOS-기반 정보를 결정하는 컴퓨터에 있어서,
    상기 컴퓨터에 의해 호스팅되는 제 1 엔티티,
    상기 제 1 엔티티 및 복수의 통신 경로와 통신하는 인터페이스,
    상기 통신 경로들을 통해 제 1 엔티티와 다른 엔티티들 간의 통신을 모니터링하도록 구성된 성능 모니터링 컴포넌트 - 상기 성능 모니터링 컴포넌트는 또한 제 1 통신 경로를 통한 상기 제 1 엔티티와 제 1 다른 엔티티 간의 제 1 통신의 제 1 성능 수준의 표시를 포함하는 제 1 서브미털을 생성하고 상기 제 1 서브미털을 QOS(서비스 품질) 서비스로 전송하도록 구성됨 - , 및
    상기 QOS 서비스와 통신하며, 상기 제 1 서브미털에 부분적으로 기반하여 상기 QOS 서비스에 의해 결정되는, 상기 제 1 엔티티와 제 2 다른 엔티티 간의 제 2 통신 경로의 선택된 성능 수준에 관해 상기 QOS 서비스에 질의하도록 구성된 질의 컴포넌트 - 상기 제 1 통신 경로는 상기 제 2 통신 경로와 일부는 겹치지 않고 일부는 겹치며, 상기 질의 컴포넌트는 또한 상기 제 2 통신 경로의 상기 결정된 성능 수준의 표시를 상기 QOS 서비스로부터 수신하도록 구성됨 - 를 포함하는 컴퓨터.
  10. 제 9 항에 있어서,
    상기 질의 컴포넌트는 또한 상기 제 1 통신 경로의 상기 제 1 성능 수준에 대응하여 상기 제 1 엔티티의 음성 디코더(voice decoder)의 디-지터 버퍼를 조정하도록 구성된 컴퓨터.
  11. 제 9 항에 있어서,
    상기 질의 컴포넌트는 또한 상기 제 1 통신 경로의 상기 제 1 성능 수준에 대응하여 상기 제 1 엔티티의 순방향 오류 정정 컴포넌트(forward error correction component)의 중복(redundancies)의 개수를 조정하도록 구성된 컴퓨터.
  12. 제 9 항에 있어서,
    상기 질의 컴포넌트는 또한 상기 제 2 통신 경로의 상기 결정된 성능 수준의 표시를 디스플레이하도록 구성된 컴퓨터.
  13. 제 9 항에 있어서,
    상기 질의 컴포넌트는 또한 다수의 통신 경로의 성능 수준에 관해 상기 QOS 서비스에 질의하고, 상기 제 1 엔티티의 통신에 대한 최적의 성능 수준을 갖는 통신 경로를 선택하도록 구성된 컴퓨터.
  14. 제 9 항에 있어서,
    상기 제 1 엔티티와의 통신을 위해, 일차적인(primary) 통신 경로 및 상기 다른 통신 경로들보다 상기 제 1 통신 경로와 덜 겹치는 이차적인(secondary) 통신 경로를 선택하도록 구성된 QOS 관리 컴포넌트 - 상기 선택은 복수의 통신 경로에 대응하는 복수의 결정된 성능 수준에 기반하며, 상기 QOS 관리 컴포넌트는 또한 상기 제 1 엔티티의 통신을 상기 제 1 통신 경로로 향하게 하고, 임계치 아래인 상기 제 1 일차적인 통신 경로의 QOS 성능 수준에 대응하여 상기 제 1 엔티티의 상기 통신을 상기 이차적인 통신 경로로 향하게 하도록 구성됨 - 를 더 포함하는 컴퓨터.
  15. 제 9 항에 있어서,
    상기 제 1 통신 경로의 상기 QOS 성능 수준에 대응하여 상기 제 1 엔티티의 통신 컴포넌트를 조정하도록 구성된 QOS(서비스 품질) 관리 컴포넌트를 더 포함하는 컴퓨터.
KR1020127010765A 2009-10-27 2010-10-12 서비스 품질(qos) 기반 시스템, 네트워크 및 조언자 KR101691250B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/606,882 2009-10-27
US12/606,882 US8335163B2 (en) 2009-10-27 2009-10-27 Quality of service (QOS) based systems, networks, and advisors
PCT/US2010/052313 WO2011056364A2 (en) 2009-10-27 2010-10-12 Quality of service (qos) based systems, networks, and advisors

Publications (2)

Publication Number Publication Date
KR20120098655A true KR20120098655A (ko) 2012-09-05
KR101691250B1 KR101691250B1 (ko) 2016-12-29

Family

ID=43898360

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127010765A KR101691250B1 (ko) 2009-10-27 2010-10-12 서비스 품질(qos) 기반 시스템, 네트워크 및 조언자

Country Status (7)

Country Link
US (1) US8335163B2 (ko)
EP (1) EP2494743B1 (ko)
JP (2) JP2013509134A (ko)
KR (1) KR101691250B1 (ko)
CN (1) CN102668459B (ko)
HK (1) HK1174456A1 (ko)
WO (1) WO2011056364A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190118714A (ko) * 2018-04-11 2019-10-21 삼성에스디에스 주식회사 Qos 관리 방법 및 이를 수행하기 위한 수신 장치

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429113B2 (en) * 2010-06-16 2013-04-23 Infernotions Technologies Ltd. Framework and system for identifying partners in nefarious activities
US8668582B1 (en) 2010-09-17 2014-03-11 Amazon Technologies, Inc. Accommodating latency in a server-based application
US8606958B1 (en) * 2010-10-29 2013-12-10 Amazon Technologies, Inc. Adding latency to improve perceived performance
US8806054B1 (en) 2010-12-15 2014-08-12 Amazon Technologies, Inc. Sending application input commands over a network
US9385917B1 (en) 2011-03-31 2016-07-05 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
US8621352B2 (en) * 2011-06-08 2013-12-31 Cisco Technology, Inc. Virtual meeting video sharing
EP2798488B1 (en) * 2011-12-27 2020-10-14 NetApp, Inc. Proportional quality of service based on client usage and system metrics
US9003021B2 (en) 2011-12-27 2015-04-07 Solidfire, Inc. Management of storage system access based on client performance and cluser health
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9160780B2 (en) * 2011-12-30 2015-10-13 International Business Machines Corporation System and method for establishing a voice over IP session
US9104543B1 (en) * 2012-04-06 2015-08-11 Amazon Technologies, Inc. Determining locations of network failures
US9686164B1 (en) * 2012-04-12 2017-06-20 Sprint Communications Company L.P. Packet allocation schema for 3G and 4G routers
CN104272661B (zh) * 2012-06-25 2018-05-01 慧与发展有限责任合伙企业 供给网络路径的经转化的会话信息
US8937870B1 (en) 2012-09-11 2015-01-20 Amazon Technologies, Inc. Network link monitoring and testing
US9363154B2 (en) * 2012-09-26 2016-06-07 International Business Machines Corporaion Prediction-based provisioning planning for cloud environments
US20140086142A1 (en) * 2012-09-27 2014-03-27 Vonage Network, Llc Systems and methods of routing ip telephony data packet communications
CN105009475B (zh) 2012-12-13 2019-01-18 华为技术有限公司 考虑到用户设备(ue)移动性的用于准入控制和资源可用性预测的方法和系统
US9455919B2 (en) 2012-12-14 2016-09-27 Huawei Technologies Co., Ltd. Service provisioning using abstracted network resource requirements
US9544220B2 (en) * 2013-02-05 2017-01-10 Cisco Technology, Inc. Binary search-based approach in routing-metric agnostic topologies for node selection to enable effective learning machine mechanisms
US9197495B1 (en) 2013-02-11 2015-11-24 Amazon Technologies, Inc. Determining locations of network failures
US9210038B1 (en) 2013-02-11 2015-12-08 Amazon Technologies, Inc. Determining locations of network failures
US9426075B2 (en) 2013-03-12 2016-08-23 Huawei Technologies Co., Ltd. Method and system to represent the impact of load variation on service outage over multiple links
US20150032495A1 (en) * 2013-07-25 2015-01-29 Futurewei Technologies, Inc. System and Method for User Controlled Cost Based Network and Path Selection across Multiple Networks
US9742638B1 (en) 2013-08-05 2017-08-22 Amazon Technologies, Inc. Determining impact of network failures
JP6241319B2 (ja) * 2014-02-28 2017-12-06 富士通株式会社 情報処理装置、通信経路決定プログラム及び通信経路決定方法
US11257129B2 (en) * 2014-03-12 2022-02-22 Ebay Inc. Service experience score system
US9516552B2 (en) 2015-01-28 2016-12-06 International Business Machines Corporation Ensuring quality of bandwidth in a Wi-Fi connection to an internet access point
JP6524791B2 (ja) * 2015-05-15 2019-06-05 パナソニックIpマネジメント株式会社 無線通信装置及び無線通信方法
US11303513B2 (en) 2015-09-28 2022-04-12 Evenroute, Llc Automatic QoS optimization in network equipment
US10419580B2 (en) 2015-09-28 2019-09-17 Evenroute, Llc Automatic QoS optimization in network equipment
US10511507B2 (en) * 2017-05-09 2019-12-17 Cisco Technology, Inc. Routing network traffic based on whether an application associated with traffic is a rerouting application as defined by a policy and whether a second path ranking exceeds a first path ranking
US10715638B2 (en) * 2017-10-30 2020-07-14 Nec Corporation Method and system for server assignment using predicted network metrics
TWI661696B (zh) * 2018-01-04 2019-06-01 Arcadyan Technology Corporation 網路路徑選擇方法及應用其之網路節點裝置
CN110324162B (zh) * 2018-03-29 2021-10-15 华为技术有限公司 业务服务质量的检测方法、设备及系统
TWI761733B (zh) * 2019-11-26 2022-04-21 智易科技股份有限公司 網路路徑選擇方法及應用其之網路節點裝置
US11489763B2 (en) * 2019-12-20 2022-11-01 Niantic, Inc. Data hierarchy protocol for data transmission pathway selection
US11593180B2 (en) 2020-12-15 2023-02-28 Kyndryl, Inc. Cluster selection for workload deployment
EP4366268A4 (en) 2021-06-30 2024-10-16 Sony Group Corp RELAY DEVICE, RELAY METHOD AND COMMUNICATION SYSTEM
CN114780385B (zh) * 2022-03-24 2024-09-20 中国科学院软件研究所 一种面向微服务架构应用的性能瓶颈分析方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138854A1 (en) * 2000-09-22 2002-09-26 Narad Networks, Inc. System and method for mapping end user identifiers to access device identifiers
US20030086422A1 (en) * 2001-11-02 2003-05-08 Netvmg, Inc. System and method to provide routing control of information over networks

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793976A (en) * 1996-04-01 1998-08-11 Gte Laboratories Incorporated Method and apparatus for performance monitoring in electronic communications networks
US20020150050A1 (en) * 1999-06-17 2002-10-17 Nathanson Martin D. Automotive telemetry protocol
JP3610219B2 (ja) * 1998-01-05 2005-01-12 株式会社日立製作所 通信品質情報管理装置および中継装置
US7065584B1 (en) * 2000-04-28 2006-06-20 Lucent Technologies Inc. Method and apparatus for network mapping using end-to-end delay measurements
JP2002044138A (ja) * 2000-07-25 2002-02-08 Nec Corp ネットワークシステム,キャッシュサーバ,中継サーバ,ルータ,キャッシュサーバ制御方法及び記録媒体
US6763392B1 (en) * 2000-09-29 2004-07-13 Microsoft Corporation Media streaming methods and arrangements
IL141855A0 (en) * 2001-03-07 2002-03-10 Onetiercommunications Inc A method and apparatus for providing an improved quality of service for data transfer over the internet
JP2003018218A (ja) * 2001-07-03 2003-01-17 Nippon Telegr & Teleph Corp <Ntt> エンドツーエンドのパス経路測定によるネットワーク状況評価方法およびそのプログラム
JP2003273913A (ja) * 2002-03-18 2003-09-26 Hitachi Building Systems Co Ltd インターネットの最適経路設定方法
JP2004248193A (ja) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> 論理ネットワークの通信における通信品質保証方法、該方法を実施する通信システム、該方法に使用するQoS管理装置及び端末装置、該QoS管理装置及び端末装置を実現するコンピュータプログラム
US7408885B2 (en) * 2003-08-19 2008-08-05 Avaya Inc. Method and apparatus for automatic determination of performance problem locations in a network
CN100589401C (zh) * 2003-09-16 2010-02-10 华为技术有限公司 一种在承载网资源管理器上配置路由路径的方法
DE602004027390D1 (de) * 2003-09-02 2010-07-08 Huawei Tech Co Ltd Verfahren zur auswahl eines übertragungspfades für echtzeit-verkehrsdaten
JP2005269460A (ja) * 2004-03-19 2005-09-29 Intec Netcore Inc 通信品質の計測システム及び計測方法、並びに提示サーバ装置
US7546588B2 (en) * 2004-09-09 2009-06-09 International Business Machines Corporation Self-optimizable code with code path selection and efficient memory allocation
KR20060084040A (ko) * 2005-01-17 2006-07-21 삼성전자주식회사 동적 QoS 관리 장치 및 방법
JP4571080B2 (ja) * 2006-02-15 2010-10-27 富士通株式会社 マルチドメインネットワークにおけるQoS保証システム及び,これに適用するQoSサーバ
CN100518191C (zh) * 2006-03-21 2009-07-22 华为技术有限公司 通讯网络中对服务质量进行保障的方法及系统
WO2008040021A1 (en) * 2006-09-28 2008-04-03 Qualcomm Incorporated Methods and apparatus for determining quality of service in a communication system
JP4749392B2 (ja) * 2007-08-03 2011-08-17 日本電信電話株式会社 オーバーレイネットワークにおける通信経路決定方法とオーバーレイノードおよびオーバーレイネットワークとプログラム
US20090097554A1 (en) * 2007-10-10 2009-04-16 Raghvendra Savoor Methods and apparatus to manage a bonded digital subscriber line (dsl) service
JP5053179B2 (ja) * 2008-05-30 2012-10-17 株式会社日立製作所 検証サーバ、プログラム及び検証方法
US7944844B2 (en) * 2008-07-10 2011-05-17 At&T Intellectual Property I, L.P. Methods and apparatus to monitor network layer functionalities

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138854A1 (en) * 2000-09-22 2002-09-26 Narad Networks, Inc. System and method for mapping end user identifiers to access device identifiers
US20030086422A1 (en) * 2001-11-02 2003-05-08 Netvmg, Inc. System and method to provide routing control of information over networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190118714A (ko) * 2018-04-11 2019-10-21 삼성에스디에스 주식회사 Qos 관리 방법 및 이를 수행하기 위한 수신 장치

Also Published As

Publication number Publication date
JP5986162B2 (ja) 2016-09-06
EP2494743B1 (en) 2017-08-16
EP2494743A2 (en) 2012-09-05
WO2011056364A2 (en) 2011-05-12
US8335163B2 (en) 2012-12-18
CN102668459A (zh) 2012-09-12
JP2013509134A (ja) 2013-03-07
KR101691250B1 (ko) 2016-12-29
US20110096675A1 (en) 2011-04-28
JP2015027092A (ja) 2015-02-05
HK1174456A1 (en) 2013-06-07
WO2011056364A3 (en) 2011-07-21
EP2494743A4 (en) 2013-07-31
CN102668459B (zh) 2015-04-01

Similar Documents

Publication Publication Date Title
KR101691250B1 (ko) 서비스 품질(qos) 기반 시스템, 네트워크 및 조언자
US11700196B2 (en) High performance software-defined core network
US11121962B2 (en) High performance software-defined core network
US11606286B2 (en) High performance software-defined core network
US20220006726A1 (en) High performance software-defined core network
US11252079B2 (en) High performance software-defined core network
US20190372889A1 (en) High performance software-defined core network
US20190280962A1 (en) High performance software-defined core network
US20190280964A1 (en) High performance software-defined core network
US20200021514A1 (en) High performance software-defined core network
US20190280963A1 (en) High performance software-defined core network
US20200021515A1 (en) High performance software-defined core network
US20190238450A1 (en) High performance software-defined core network
US20200296026A1 (en) High performance software-defined core network
US20200106696A1 (en) High performance software-defined core network
US20190238449A1 (en) High performance software-defined core network
US11811638B2 (en) Adaptable software defined wide area network application-specific probing
Petrangeli et al. Software‐defined network‐based prioritization to avoid video freezes in HTTP adaptive streaming
CN110771122A (zh) 使内容传送网络能够处理非预期流量激增的方法和网络节点
Taha An efficient software defined network controller based routing adaptation for enhancing QoE of multimedia streaming service
CN109639502B (zh) 回源控制方法及内容分发网络
Thorpe et al. Experience of developing an openflow SDN prototype for managing IPTV networks
EP2698961B1 (en) Method, system and devices for securing traffic on a traffic path in a computer network
Tachibana et al. A large-scale network diagnosis system based on user-cooperative active measurements
Wang QoE based Management and Control for Large-scale VoD System in the Cloud

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191127

Year of fee payment: 4