KR101823539B1 - 개인용 전자 디바이스와 외부 서비스들 간의 헤비 트래픽 부하를 조절하는 방법 및 시스템 - Google Patents

개인용 전자 디바이스와 외부 서비스들 간의 헤비 트래픽 부하를 조절하는 방법 및 시스템 Download PDF

Info

Publication number
KR101823539B1
KR101823539B1 KR1020167016474A KR20167016474A KR101823539B1 KR 101823539 B1 KR101823539 B1 KR 101823539B1 KR 1020167016474 A KR1020167016474 A KR 1020167016474A KR 20167016474 A KR20167016474 A KR 20167016474A KR 101823539 B1 KR101823539 B1 KR 101823539B1
Authority
KR
South Korea
Prior art keywords
service requests
command
service
electronic devices
limited
Prior art date
Application number
KR1020167016474A
Other languages
English (en)
Other versions
KR20160086944A (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 KR20160086944A publication Critical patent/KR20160086944A/ko
Application granted granted Critical
Publication of KR101823539B1 publication Critical patent/KR101823539B1/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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • 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/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Monitoring And Testing Of Exchanges (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

네트워크 트래픽 모니터링 시스템은 많은 수의 개인용 전자 디바이스들이 다양한 프록시들을 통해 다양한 서비스들로 전송할 통신들을 모니터링한다. 적어도 하나의 서비스들로 향하는 요청들의 볼륨이 용량 제한 임계값을 초과함을 검출 시스템이 검출하는 경우, 제어 시스템은 프록시들을 커맨드하여, 상기 시스템이 통신을 재개하는 것이 명확하다고 판별할 때까지 서비스 요청들을 감속 혹은 중단하도록 상기 디바이스들에게 지시하게 할 수 있다.

Description

개인용 전자 디바이스와 외부 서비스들 간의 헤비 트래픽 부하를 조절하는 방법 및 시스템{METHOD AND SYSTEM FOR ADJUSTING HEAVY TRAFFIC LOADS BETWEEN PERSONAL ELECTRONIC DEVICES AND EXTERNAL SERVICES}
본 출원은 2013년 11월25일자로 출원된 "Method and System for Adjusting Heavy Traffic Loads Between Personal Electronic Devices and External Services" 라는 명칭의 미국 특허 출원(출원번호 14/088,545)의 우선권을 주장하며, 상기 미국특허출원은 본 발명에 대한 참조로서 그 전체 내용이 본 명세서에 통합된다.
증가하는 개수의 개인용 전자 디바이스들과 이들의 가공할 계산 능력 및 네트워킹 능력은 통신 네트워크들 상에 새롭고 거대한 스트레스를 생성하고 있다. 예를 들어, 2013년 초반에 수행된 연구에 따르면, 미국에서 대략 1억 8천만개의 스마트폰이 이용되고 있다고 추정되고 있다. 다수의 전자 디바이스들 사이에서 복사되는 소프트웨어 버그 혹은 악의적인 코드는, 만일, 이들 버그 혹은 코드가 디바이스들로 하여금 요청들을 특정 서비스들에게 반복적으로 및 집요하게 제출하게 한다면, 메이저 네트워크 및 서비스들을 포화시키거나 붕괴시킬 수 있다. 또한, 인기있는 서비스가 짧은 보수정지(brief outage)를 경험하는 경우, 상기 서비스가 온라인 상에 다시 복귀할 때, 수 많은 디바이스들이 상기 서비스에 대한 재접속을 동시에 시도할 수도 있다. 이와 같은 갑작스러운, 많은 부하는 통신 네트워크들 상에 심각한 스트레스를 부가할 수 있다. 비록, 상기 서비스는 서비스 활동들을 거부함으로써, 갑작스러운 많은 부하들 또는 다른 비정상적인 활동으로부터 그 자신을 보호할 수 있지만, 이것은 많은 트래픽 부하의 충격으로부터 중개 네트워크(intermediary network) 및 제3자 서비스들을 보호하지 못한다.
본 문서는 전술한 문제점들 및/또는 추가적인 문제점들 중 적어도 일부를 해결하는 것에 관한 방법 및 시스템들을 서술한다.
일실시예에서, 네트워크 트래픽 모니터링 시스템은 많은 수의 개인용 전자 디바이스들이 다양한 프록시들을 통해 다양한 서비스들로 전송할 통신들을 모니터링한다. 적어도 하나의 서비스들로 향하는 요청들의 볼륨이 용량 제한 임계값을 초과함을 검출 시스템이 검출하는 경우, 이것은 프록시들로 하여금 상기 시스템이 통신을 재개하는 것이 명확하다고 판별할 때까지 서비스 요청들을 감속 혹은 중단하도록 상기 디바이스들에게 지시하게 할 수 있다.
예를 들면, 일실시예에서, 복수의 전자 디바이스들과 하나 이상의 서비스들 사이의 트래픽을 제어하는 시스템은 검출 시스템 및 제어 시스템과 같은 하나 이상의 시스템들을 포함할 수 있으며, 그 각각은 하나 이상의 프로세서들과 프로그래밍 명령들을 포함하는 비-일시적인 컴퓨터 판독가능 매체를 포함하며, 상기 프로그래밍 명령들은 실행되는 때에, 하나 이상의 검출 시스템 프로세서들로 하여금 방법을 수행하게 한다. 상기 시스템은, 네트워크를 가로질러 진행하며, 다양한 프록시 유닛들을 통과하는 통신된(communicated) 서비스 요청들에 관한 정보를 모니터링할 수 있다. 상기 시스템은 상기 서비스들 중 하나로 향하는 상기 서비스 요청들의 볼륨이 용량 제한 규칙을 위반함을 상기 정보가 나타내는지를 판별할 수 있다. 상기 볼륨이 상기 용량 제한 규칙을 위반함을 식별하면, 상기 시스템은 용량 제한 규칙의 위반에 의해서 영향을 받은 프록시 유닛들의 세트를 식별하고, 그리고 제한된 서비스 요청들에 대한 식별자와 영향을 받은 프록시 유닛들에 대한 식별자를 포함하는 경보(alert)를 생성할 수 있다. 상기 경보를 생성 혹은 수신하면, 상기 영향을 받은 프록시 유닛들은 제 2 커맨드가 수신될 때까지, 상기 서비스로 향하는 제한된 서비스 요청들의 빈도를 감소시키도록, 제 1 커맨드를 전자 디바이스들의 전부 또는 일부에게 전송할 수 있다. 감소된 빈도는, 서비스 요청들의 전달을 전부 중단시키는 것이 될 수도 있으며, 혹은 서비스 요청들을 감속(slow)시키지만 중단시키는 것은 아닌 것이 될 수 있다.
상기 용량 제한 규칙이 위반되었는지의 여부를 판별하는 것은, 예를 들어, 적어도 임계 개수의 서비스 요청들이 상기 서비스로 향하는지의 여부를 판별하는 것; 적어도 임계 개수의 동일한 서비스 요청들이 상기 서비스 및 적어도 하나의 추가 서비스로 향하는지의 여부를 판별하는 것; 적어도 임계 개수의 동일한 서비스 요청들이 상기 서비스로 향하는지의 여부를 판별하는 것; 또는 상기 서비스로의 통신들이 적어도 임계 레이턴시 레벨을 나타내는지의 여부를 판별하는 것을 포함할 수 있다.
명령들을 수신하는 것에 응답하여, 상기 영향을 받은 프록시 유닛들은 상기 제 1 커맨드를 전자 디바이스들의 그룹으로 전송한다. 프록시 유닛들은 최대 통과 속도(maximum pass-through rate)를 결정할 수 있으며 그리고 상기 서비스쪽으로 진행하는 제한된 서비스 요청들의 빈도가 상기 최대 통과 속도를 초과하지 않도록, 상기 제한된 서비스 요청들의 수신된 인스턴스들을 캐싱할 수 있다. 대안적으로, 상기 영향을 받은 프록시 유닛들은, 상기 제한된 서비스 요청들이 상기 서비스쪽으로 진행하는 것을 단순히 블록킹할 수도 있다. 재개 통신 메시지를 수신하는 것에 응답하여, 상기 영향을 받은 프록시 유닛들은, 상기 캐싱을 중단할 수 있고, 상기 캐싱된 서비스 요청들을 서비스로 전달할 수 있고, 상기 제한된 서비스 요청들의 전달(deliery)을 재개하는 제 2 커맨드를 생성할 수 있으며, 그리고 상기 제 2 커맨드를 상기 전자 디바이스들의 그룹으로 전송할 수 있다.
전자 디바이스들이 제 1 커맨드를 수신하면, 상기 전자 디바이스들은 제한된 서비스 요청들의 전달을 중단하거나 또는 감속(slowing)함으로써, 제 1 커맨드를 구현할 수 있다. 상기 디바이스들은, 제 2 커맨드를 수신하면 상기 제한된 서비스 요청들에 대한 정상적인 통신을 재개할 수 있다.
또한, 모니터링된 정보에 기초하여, 상기 시스템은 서비스 요청들이 빈도에 있어서 증가하고 있는지 그리고 상기 서비스 요청들에 대한 상기 서비스로부터의 응답들이 레이턴시(latency)의 증가를 경험하고 있는지를 검출할 수 있다. 빈도 및/또는 레이턴시의 증가가 검출되는 때, 상기 시스템은 상기 용량 제한 규칙에서의 빈도 임계값 또는 레이턴시 레벨 임계값을 감소시키도록 상기 용량 제한 규칙을 조절할 수 있다.
도1은 시스템의 다양한 구성요소들을 예시하며, 여기서 전자 디바이스들은 모니터링 및 트래픽 제어 시스템의 다른 요소들과 함께 프록시들을 통해 서비스들과 통신한다.
도2는 네트워크 트래픽 모니터링 및 제어 시스템이 구현할 수 있는 다양한 단계들을 예시한다.
도3은 후술될 시스템들의 다양한 양상들 내에 포함될 수 있는 다양한 하드웨어 구성요소들을 예시한다.
본 명세서에서 이용되는 바와 같이, "하나(a or an)" 및 "상기(the)" 와 같은 단수형은 문맥에서 명확하게 달리 나타내지 않는 한 복수의 참조들을 포함한다. 달리 정의되지 않는 한, 모든 기술 용어들 및 과학 용어들은 해당 기술분야의 당업자에 의해서 통상적으로 이해되는 것과 동일한 의미를 갖는다. 본 명세서에서 이용되는 바와 같이, "포함한다" 라는 용어는, "포함하지만, 이에 한정되지 않음" 을 의미한다.
"개인용 전자 디바이스"는 프로세서; 비-일시적인, 컴퓨터-판독가능한 메모리; 통신 네트워크를 통해 데이터를 외부 서비스들과 송수신할 수 있는 트랜시버 등과 같은 네트워크 통신 하드웨어; 및/또는 프로그래밍 명령들을 포함하는 하나 이상의 소프트웨어 어플리케이션들을 포함하는 전자 디바이스를 지칭하며, 상기 프로그래밍 명령들은 프로세서에 의해서 실행될 때, 디바이스의 프로세서로 하여금 프로그래밍 명령에 따른 하나 이상의 동작들을 수행하게 한다. 개인용 전자 디바이스들의 일례는, 스마트폰, 퍼스널 디지털 어시스턴트, 랩탑 컴퓨터, 테블릿 컴퓨터, 게임 시스템, 스마트 텔레비전, 네트워크화된 카메라 및 매체 재생기들, 가령, 컴퓨팅 부품을 포함하는 손목시계(wristwatch) 및 안경 등과 같은 웨어러블 컴퓨팅 디바이스, 차량 내 온보드 컴퓨터, 기타 등등을 포함한다.
"서비스" 는 인터넷 등의 통신 네트워크를 통해 네트워크 어드레스로부터 다수의 개인용 전자 디바이스로 제공되는 소프트웨어 기능을 지칭한다. 상기 서비스는 디바이스에 대해 외적인 것이 될 것이며, 개인용 전자 디바이스들로부터 원격인 위치에서 실행되는 프로세싱 기능들 및 프로그래밍 명령들을 포함할 것이다. 서비스들의 일례는, 클라우드-기반의 전자 메일 서비스들, 온라인 비디오 혹은 음악 스트리밍 서비스들, 온라인 비디오 혹은 오디오 채팅 혹은 미팅 서비스들, 사진 혹은 다른 파일 공유 및/또는 저장 서비스들, 클라우드-기반의 문서 관리 서비스들, 맵 서비스들, 검색 서비스들, 및 다른 웹 서비스들을 포함한다.
도1은 네트워크화된 디바이스들 및 서비스들의 시스템의 일례를 도시한다. 다양한 개인용 전자 디바이스들(101,102, 103)은 하나 이상의 통신 네트워크들(104, 111)을 통해 다양한 서비스들(113, 114, 115)에 통신가능하게 연결된다. 개인용 전자 디바이스들의 개수는, 방대한 개수의 디바이스들을 포함할 수 있다. 이들 디바이스들 각각은, 이메일, 매체 스트리밍, 혹은 비디오 또는 오디오 회의 서비스들 등의 하나 이상의 외부 서비스들에 액세스하기 위해, 브라우저 소프트웨어 및/또는 모바일 어플리케이션들을 이용할 수 있다.
디바이스들과 서비스들 간의 통신은 본 명세서에서 "프록시 유닛들" 혹은 "프록시들(proxies)" (107, 108, 109)이라고 지칭되는 중개 제어 유닛들을 경유할 것이다. 프록시들은 디바이스들로부터 통신들을 수신하고 그리고 상기 통신들을 목적지 서비스로 전달할지의 여부 및 언제 전달할지를 제어하는 것에 참여하는 중개 전자 디바이스들이다. 프록시들은, 실제 네트워킹 프록시들, 스마트 네트워크 라우터들, 컴퓨터 상에서 구동되는 소프트웨어, 혹은 디바이스들과 서비스들 간의 통신들을 인터셉트, 전달(relay), 및/또는 모니터링하는 다른 디바이스들 등과 같은 디바이스들이 될 수 있다. 프록시들은 네트워크(104, 111)을 통해 각각 모바일 디바이스들 및 서비스들과 통신한다.
검출 시스템(116)은 네트워크들의 임의의 지점에서의 트래픽 부하들, 임의의 개별 서비스들로 향하는 트래픽의 볼륨 혹은 유형, 또는 시스템의 다른 파라미터들 등과 같은, 네트워크 통신들의 다양한 요소들을 모니터링할 수 있다. 검출 시스템(116)은 자동 모니터링 요소들 및/또는 수동 모니터링 양상들을 포함할 수 있다. 제어 시스템(117)은 검출 시스템 및 프록시들과 통신하며, 그리고 프로세서 및 프로그래밍 명령들을 포함하는바, 프로그래밍 명령들은 실행되는 때에, 제어 시스템으로 하여금 프록시들의 행동을 제어하게 한다. 검출 시스템 및/또는 제어 시스템의 프로그래밍 명령들은, 규칙들(118)의 세트를 구현할 수 있는데, 이는 디바이스들의 전체 네트워크의 행동에 영향을 미치도록 사용될 수 있다. 검출 시스템(116), 제어 시스템(117) 및 규칙들(118)의 구성요소들 및 명령들은, 하나 이상의 프록시들(107, 108, 109)의 일부분이 될 수 있으며, 또는 이들 구성요소들의 전부 혹은 일부는 상기 프록시들과는 별개일 수 있지만, 상기 프록시들과 통신한다. 또한, 검출 시스템(116) 및 제어 시스템(117)은 별도의 디바이스들이 될 수 있으며, 또는 이들은 하나의 검출 및 제어 시스템 디바이스 혹은 디바이스들의 세트 내에 통합될 수 있다.
검출 시스템(116) 및 제어 시스템(117)은 서비스 파라미터들의 품질, 서비스 당 속도 제한(per service rate limits) 또는 따른 제한들 등과 같은, 어떤 정상 상태(steady state) 파라미터들이 바람직한지를 결정하기 위해 상기 규칙 세트(118)를 이용한다. 모니터링된 파라미터들이 이들 규칙들 중 하나 이상을 위반하고 있다고 검출 시스템(116)이 판별하는 경우(즉, 이는 시스템의 하나 이상의 부분들(가령, 통신 링크 혹은 서비스)이 과부하되고 있음을 의미함), 하나 이상의 프록시들(107, 108, 109)에게 명령하도록 제어 시스템(117)에 지시할 수 있는바, 이는 상기 디바이스들이 시스템 내로 출시(launch)한 통신들의 개수를 감소시킴으로써 트래픽을 제어하기 위한 것이다. 영향을 받은(affected) 프록시들은, (1) 프록시로부터 상기 영향을 받은(affected) 서비스 혹은 서비스들로의 통신들의 빈도(frequency)를 중단(halting), 캐싱(caching) 및 감속(slowing)시킴으로써, 그리고 (2) 상기 영향을 받은 서비스 혹은 서비스들에 대한 서비스 요청들의 빈도를 중단 혹은 감속시키도록 개인용 전자 디바이스들에게 신호들을 전송함으로써, 이들 커맨드들을 구현할 것이다.
개인용 전자 디바이스들 그 자체로 하여금 트래픽을 중단 혹은 감속하게 함으로써, 서비스들이 보호될 뿐만 아니라, 디바이스들과 서비스들 사이의 네트워크 상의 스트레스가 감소되는데, 왜냐하면 이것은 반복되는 집요한 서비스 요청들에 관련된 많은 트래픽 부하를 네트워크가 회피할 수 있게 도와주기 때문이다. 또한, 디바이스들 자체는, 상기 서비스가 처리하지 않을 예정인 반복된 서비스 요청들을 전송하기 위한 프로세싱 리소스들과 배터리 수명을 사용하지 않음으로써 이득을 얻을 수 있다. 대신에, 상기 디바이스들은, 상기 영향을 받은 서비스가 요청을 수락할 수 있거나 기꺼이 수락할 수 있을 때까지 요청들을 보류할 것이다. 다른 서비스들 및 서비스 요청들은 제한되지 않을 것이며, 그리고 디바이스들과 영향을 받지않은 서비스들 간의 통신은 정상적인 방식으로 계속될 수 있다.
일실시예에서, 하나 이상의 프록시들은 서비스들과 개인용 전자 디바이스들 사이에서 웹 어플리케이션들의 외관(appearance), 구조 혹은 흐름(flow)을 제어하는 프로토콜 변환 유형이 될 수 있다. 컨텐트 변환 프록시들(Content transformation proxies)은 데스크탑 컴퓨터들을 위해 설계된 웹 페이지들을 모바일 전자 디바이스들에 적합한 형태로 변환할 수 있다. 이러한 액션들은 가령, 웹 컨텐트 변환 프록시들을 위한 WC3 Guidelines 등과 같은, 적용가능한 표준에 따라 일반적ㅇ로 수행될 것이다. 만일, 논-브라우저(non-browser) 기반의 어플리케이션들로부터 특정 서비스로 향하는 비정상적으로 많은 개수의 요청들을 하나 이상의 프록시들이 수신함을 검출 서비스가 알게 된다면, 상기 검출 서비스는, 제어 서비스를 통해, 영향을 받은 프록시들로 하여금 영향을 받은 서비스에게 상기 요청들을 전달하는 것을 중단하게 하며, 그리고 요청을 전송하는 것을 중단하도록 개인용 전자 디바이스들에게 신호를 전송한다("전송 재개(resume transmission)" 혹은 유사한 신호가 수신될 때까지).
프록시들은 하나의 위치에 배치될 수도 있으며 또는 하나 이상의 지리적 영역들에 분산될 수도 있다. 이들 프록시들의 전부 또는 일부는 헤테로지니어스(heterogeneous)일 수도 있으며, 또는 이들은 서비스 요청들을 중단 또는 감속(slow)시키도록 개인용 전자 디바이스들에게 시그널링하는 기능을 이들 프록시들 모두가 수행할 수 있는한, 다를 수 있다(dissimilar). 일부 실시예에서, 프록시들은 소정의 요청 디바이스들에 물리적으로 가까운 위치들에 지리적으로 분산될 것인데, 이는 트래픽 부하를 디바이스 레벨에서 가능한 빨리 해결하기 위한 것이다.
규칙들 및 커맨드들은 임의의 적절한 입도(granularity) 레벨로 구현될 수 있는데, 예를 들면, 디바이스 단위로(per device), 서비스 단위로, 프록시 단위로, 또는 포트 단위(per port)로 구현될 수 있다. 서비스 요청들을 중단 혹은 감속하도록 프록시가 디바이스에게 시그널링할 수 있는 방법은, 디바이스의 구성에 기초하여 변할 수 있다. 예를 들어, 만일 디바이스가 서비스 요청들을 중단 또는 감속함으로써 소정의 커맨드들에 응답하도록 프로그래밍된 어플리케이션을 포함한다면, 상기 프록시들은 이들 커맨드들에 대응하는 신호들을 이러한 디바이스들에게 전송할 수 있다. 예를 들어, 프록시들은, 서비스 요청에 응답하여 에러 상태를 각각의 디바이스에 반환함으로써, 프록시들과 디바이스들 간의 핸드세이크 패턴(handshake pattern)을 변화시킴으로써, 또는 명시적인 중단 서비스 커맨드 또는 감속 서비스 커맨드를 디바이스들에게 전송함으로써, 디바이스들에게 신호할 수 있다.
도2는 전술한 다양한 요소들을 포함하는 프로세스 흐름을 도시한 도면이다. 본 발명의 다양한 실시예들에 따라, 하나 이상의 검출 서비스들은 많은 수의 개인용 전자 디바이스들로부터 다양한 프록시 유닛들을 통해 다양한 서비스들로 전달되는 통신된 서비스 요청들에 관한 정보를 모니터링할 것이다(단계 201). 모니터링 서비스는 규칙 세트에 대한 액세스를 가질 것이며 그리고 하나 이상의 서비스들로 향하는 서비스 요청들의 볼륨이 용량 제한 규칙을 위반하는지의 여부를 결정할 것이다(단계 203). 규칙들은, 특정한 시간 기간 내에 임계 개수의 서비스 요청들이 제출되어야 한다는 규칙과 같이, 특정 서비스에 대해 특별할 수도 있다. 또는, 상기 규칙들은 다수의 서비스들에 일반적으로 적용가능할 수도 있다. 예를 들어, 특정 디바이스로 향하는 초당 질의들(queries per second)의 모니터링된 개수, 또는 특정 서비스로 및 특정 서비스로부터 오고 가는 데이터 흐름의 양(즉, 대역폭)이 임계값을 초과한다면, 상기 규칙은 트래픽 제한 명령을 적용하는 것이 될 수 있다. 유사한 규칙들이 서비스들의 특정 그룹에 적용될 수 있으며 또는 모든 서비스들의 합계(aggregate)에 적용될 수도 있다. 또한, 특정 유형의 질의에서 갑작스러운 스파이크가 검출된다면, 상기 규칙은 트래픽 제한 명령을 트리거링할 수도 있다. 일례들은 포트폴리오 데이터에 대한 초당 질의들의 개수에서의 임계 퍼센티지 증가를 포함한다.
선택적으로는, 검출 서비스 및/또는 시스템의 다른 구성요소들은, 모니터링된 데이터에 기초하여, 규칙들, 상기 규칙들로부터 기인하는 또는 상기 규칙들에 의해서 이용되는 임계값들을 동적으로 업데이트할 수 있다. 예를 들어,
특정 서비스로 향하는 통신들이, 빈도(frequency)(예컨대, 시간 기간 당 메시지들의 개수)에 있어서 증가할 뿐만 아니라 서비스 요청들의 응답들에 대해서 더 긴 대기 시간(즉, 레이턴시의 증가)을 야기한다라고 상기 시스템이 결정한다면, 상기 시스템은 빈도 임계값을 감소시킬 수 있으며 여기서 감소된 빈도 커맨드가 부가될 수 있다. 시스템은 규칙들 또는 임계값들을 언제 조절할지를 결정하기 위하여, 변수들, 및/또는 다른 변수들의 이러한 조합에 임의의 적절한 알고리즘을 적용할 수 있다. 규칙들은 상기 모니터링 서비스에 의해서 적용될 수 있으며, 또는 이들은 프록시들에 분산될 수도 있다(가령, 프록시 시스템들이 구동 중인 동안에 푸쉬(push)되는 분산된 설정 파일, 또는 주기적인 규칙 업데이트들을 구비한 배치 형태(batch form)에서와 같이). 이러한 상황에서, 프록시들은 모니터링된 데이터를 분석할 수 있으며 그리고 규칙들을 스스로 적용할 수 있다.
모니터링된 볼륨이 용량 제한 규칙을 위배함을 식별한다면(단계 205), 검출 시스템은 상기 볼륨 내의 하나 이상의 서비스 요청들을 제한된 서비스 요청으로 식별할 것이다(단계 207). 상기 시스템은, 가령, 모니터링된 볼륨을 검토(review)하고 그리고 상기 볼륨의 가장 큰 부분을 차지하고 있는 서비스 요청의 유형을 식별하고, 영향을 받은 서비스 혹은 서비스들을 식별하고 그리고 영향을 받은 서비스(들)로 향하는 임의의 후속 서비스 요청을 제한함으로써와 같은, 임의의 적절한 방법 또는 다른 적절한 방법들에 의해서 이를 수행할 수 있다. 상기 시스템은 가령, 적어도 임계 개수의 임의 유형의 서비스 요청들이 서비스로 향하는지의 여부, 적어도 임계 개수의 동일한 서비스 요청들이 상기 서비스 및 적어도 하나의 추가 서비스 둘다에게로 향하는지의 여부, 적어도 임계 개수의 동일한 서비스 요청들이 상기 서비스로 향하는지의 여부, 또는 서비스들로의 통신이 적어도 임계 레이턴시 레벨을 나타내고 있는지의 여부 등과 같은, 기준에 기초하여 용량 제한 규칙이 위반됨을 판별할 수 있다.
또한, 상기 시스템은 프록시 유닛들 중 어떤 것이 영향을 받은 프록시 유닛들인지를 판별할 수 있다(단계 209). 예를 들어, 프록시 유닛이 용량 제한 규칙을 위반한 모니터링된 볼륨으로부터 임의의 트래픽을 수신한다면, 또는 이러한 트래픽의 적어도 임계 퍼센티지를 수신한다면, 상기 프록시 유닛은 영향을 받은 프록시 유닛으로 간주될 수 있다.
다음으로, 상기 시스템은 프록시 유닛들에게 지시하여(단계 211), 영향을 받은 서비스(들)로 향하는 제한된 서비스 요청들의 빈도를 감소시키도록 개인용 전자 디바이스에게 명령할 수 있다(서비스 요청들을 감속(slowing)시키거나 또는 이들을 함께 중단시킴으로써). 프록시 유닛들은 개인용 전자 디바이스들에게 커맨드들을 전송할 것이다(단계 213). 이러한 커맨드드를 수신하면, 디바이스들은 제한된 서비스 요청들의 전달(delivery)을 중단 혹은 감속함으로써, 제 1 커맨드를 구현할 수 있다.
만일, 상기 명령들이 제한된 서비스 요청들을 감소시키는 것(하지만, 일소시키는 것은 아님)이라면, 상기 커맨드들을 개인용 전자 디바이스들에게 전송하는 것에 관하여, 영향을 받은 프록시 유닛들은 최대 통과 속도(maximum pass-through rate)를 결정할 수 있다. 이것은 기존의 명령들, 제어 디바이스로부터 수신된 명령들에 기초하여 결정될 수 있으며 또는 다른 적절한 방법에 의해서 결정될 수 있다. 영향을 받은 프록시 유닛들은 제한된 서비스 요청들의 수신된 인스턴스들을 캐시할 것이며 그리고 캐시된 인스턴스들을 감소된 속도에서 방출(release)할 것인바, 따라서 서비스로 향하는 제한된 서비스 요청들의 전달 속도는 상기 최대 통과 속도를 초과하지 않는다. 만일, 상기 명령들이 제한된 서비스 요청들을 중단하는 것이라면(즉, 빈도를 0 으로 감소시킴), 영향을 받은 프록시 유닛들은 제한된 서비스 요청들의 임의의 인스턴스들의 통과를 단순히 중단시킬 것이다(다른 명령을 받기 전 까지).
트래픽이 재개될 수도 있음을 상기 검출 시스템이 판별한다면, 검출 시스템은 제한된 서비스 요청들에 대한 제재를 해제하도록, 재개 통신 메시지를 프록시 유닛들에게 전송할 수 있다(단계 215). 이러한 판별은, 임의 개수의 방법들에 의해서 수행될 수 있는바, 가령 시간 제한 기준에 기초하여, 용량 레벨을 증가시켰다라는 영향을 받은 서비스로부터의 신호들에 기초하여, 또는 다른 적절한 수단들에 의해서 수행될 수 있다. 선택적으로는, 상기 명령들은 제한을 해제하고 그리고 업데이트된 제한(가령, 더 높은 빈도 혹은 통신 속도는 허용하지만 무제한적인 주파수 혹은 통신 속도는 여전히 허용하지 않는)으로 이를 대체하는 것이 될 수도 있다. 이러한 방식으로, 서비스 요청들은 온라인 상에 점진적으로 증가할 수 있으며, 따라서 제한이 해제된 이후에 서비스의 스파이크 또는 과부하를 방지할 수 있다.
재개 통신 메시지를 수신하는 것에 응답하여, 상기 영향을 받은 프록시들은 임의의 캐싱을 중단할 수 있으며 또는 메시지들이 캐시로부터 방출되는 빈도를 증가시킬 수 있으며, 그리고 이들은 제한된 서비스 요청들의 빈도를 더 이상 감소시키지말라는 새로운 커맨드를 생성할 수 있다. 영향을 받은 프록시들은 새로운 커맨드를 개인용 전자 디바이스들에게 전송할 것이다(단계 217). 새로운 커맨드를 수신하면, 상기 개인용 전자 디바이스들은 제한된 서비스 요청들에 대한 정상적인 통신을 재개할 것이다.
도3은 내부 하드웨어 요소들의 일례를 도시하며, 이들 중 일부는 가령, 프록시 유닛들, 개인용 전자 디바이스들, 및/또는 서비스들, 검출 혹은 제어를 제공하는데 이용되는 장비 등과 같은 전술한 임의의 구성요소에 포함될 수 있다. 버스(300)는 하드웨어의 다양한 구성요소들 사이에서 정보를 전송하기 위한 루트이다. 프로세서 또는 CPU(300)는 시스템의 중앙 처리 유닛이며, 프로그램을 실행하는데 필요한 계산들 및 논리 연산들을 수행한다. 판독 전용 메모리(ROM)(310) 및 랜덤 액세스 메모리(RAM)(315)는 메모리 디바이스들의 일례이다.
제어기(320)는 하나 이상의 메모리 디바이스들(325)과 인터페이스하며, 이들 메모리들은 시스템 버스(300)에 대한 데이터 저장 설비들로서 기능한다. 이들 메모리 디바이스들(325)은 예를 들어, CD 드라이브, 하드 드라이브, 플래시 메모리, USB 드라이브, 혹은 데이터 저장 설비로 기능하는 다른 유형의 디바이스를 포함할 수 있다. 또한, 메모리 디바이스들(325)은 임의의 소프트웨어 모듈들 혹은 명령들을 저장하기 위한 개별 파일들, 보조 데이터, 인시던트 데이터(incident data), 분할표(contingency tables) 및/또는 회귀 모델들(regression models)의 그룹들을 저장하기 위한 공통 파일들, 또는 전술한 바와 같은 정보를 저장하기 위한 하나 이상의 데이터베이스를 포함하도록 구성될 수 있다.
전술한 프로세스들과 관련된 임의의 기능적 단계들을 수행하기 위한 프로그램 명령들, 소프트웨어 혹은 인터액티브 모듈들은, ROM(310) 및/또는 RAM(315)에 저장될 수 있다. 선택적으로는, 프로그램 명령들은 컴팩 디스크, 플래시 메모리, 메모리 카드, USB 드라이브, 클라우드-기반의 아키텍처와 같은 분산된 컴퓨터 저장 플랫폼, 광 디스크 저장 매체 등과 같은 비-일시적인, 컴퓨터 판독가능한 매체, 및/또는 다른 기록 매체에 저장될 수 있다.
디스플레이 인터페이스(330)는 디스플레이(335) 상에 디스플레이될 오디오, 비주얼, 그래픽 혹은 숫자 형식의 정보가 버스(300)를 통해 수신되게 할 수 있다. 외부 디바이스들과의 통신은 다양한 통신 포트들(340)을 통해 수행될 수 있다. 통신 포트들(340)은 인터넷, 근거리 통신망(LAN), 또는 셀룰러 텔레폰 데이터 네트워크 등의 통신 네트워크에 연결될 수 있다.
또한, 하드웨어는 인터페이스(345)를 포함할 수 있는데, 인터페이스(345)는 키보드(350), 혹은 원격 콘트롤, 포인팅 디바이스, 비디오 입력 디바이스, 및/또는 오디오 입력 디바이스 등의 다른 입력 디바이스들(355)로부터 데이터를 수신할 수 있다.
전술한 피처들 및 기능들, 뿐만 아니라 대안예들은 다른 많은 시스템들 또는 어플리케이션들에 결합될 수 있다. 현재 예기치 못한 또는 예측되지 않는 다양한 대안예들, 수정예들, 변형예들 또는 개선예들이 해당 기술분야의 당업자들에 의해서 구성될 수 있으며, 이들 각각은 또한 개시된 실시예들을 포괄하도록 의도된다.

Claims (20)

  1. 복수의 전자 디바이스들과 하나 이상의 서비스들 사이의 트래픽을 제어하는 방법으로서, 상기 방법은, 하나 이상의 프로세서들에 의해서,
    복수의 프록시 유닛들 각각을 통해 복수의 전자 디바이스들로부터 서비스로 진행하는 통신된(communicated) 서비스 요청들에 관한 정보를 모니터링하는 단계;
    상기 서비스로 향하는 상기 서비스 요청들의 볼륨이 용량 제한 규칙을 위반함을 상기 정보가 나타내는지를 판별하는 단계;
    상기 볼륨이 상기 용량 제한 규칙을 위반함을 식별하면,
    상기 볼륨 내의 서비스 요청들 중 하나 이상을 제한된 서비스 요청으로 식별하는 단계, 상기 제한된 서비스 요청으로 식별하는 단계는,
    서비스 요청이 상기 볼륨의 가장 큰 부분을 차지한다면, 상기 서비스 요청을 상기 제한된 서비스 요청으로 식별하는 것 또는
    상기 용량 제한 규칙의 위반이 상기 서비스 요청에 영향을 미친다면, 상기 서비스 요청을 상기 제한된 서비스 요청으로 식별하는 것 중 하나 이상에 기초하며,
    상기 프록시 유닛들 중 어떤 것이 영향을 받은(affected) 프록시 유닛들인지를 판별하는 단계,
    제 2 커맨드가 수신될 때까지 상기 서비스로 향하는 상기 제한된 서비스 요청들의 빈도를 감소시키기 위하여, 제 1 커맨드를 상기 복수의 전자 디바이스들로 전송하도록 명령들을 생성하는 단계, 및
    상기 명령들을 상기 영향을 받은 프록시 유닛들로 전송하는 단계
    를 포함하는 것을 특징으로 하는 트래픽을 제어하는 방법.
  2. 제1항에 있어서,
    상기 서비스 요청들의 볼륨이 용량 제한 규칙을 위반했는지의 여부를 판별하는 단계는,
    적어도 임계 개수의 상기 통신된 서비스 요청들이 상기 서비스로 향하는지를 판별하는 단계,
    적어도 임계 개수의 동일한 서비스 요청들이 상기 서비스 및 적어도 하나의 추가 서비스로 향하는지를 판별하는 단계, 또는
    적어도 임계 개수의 동일한 서비스 요청들이 상기 서비스로 향하는지를 판별하는 단계 중 하나 이상을 포함하는 것을 특징으로 하는 트래픽을 제어하는 방법.
  3. 제1항에 있어서,
    상기 서비스 요청들의 볼륨이 용량 제한 규칙을 위반했는지의 여부를 판별하는 단계는,
    상기 서비스들로의 통신이 적어도 임계 레이턴시(latency) 레벨을 나타내는지를 판별하는 단계를 포함하는 것을 특징으로 하는 트래픽을 제어하는 방법.
  4. 제1항에 있어서,
    상기 명령들을 수신함에 응답하여, 상기 영향을 받은 프록시 유닛들 각각에 의해서,
    상기 제 1 커맨드를 상기 전자 디바이스들로 전송하는 단계, 상기 제 1 커맨드는 상기 제한된 서비스 요청들의 빈도(frequency)를 중단시키는 것이 아니라 감소시키는 것이며;
    최대 통과 속도(maximum pass-through rate)를 결정하고, 그리고 상기 서비스쪽으로 진행하는 상기 제한된 서비스 요청들의 빈도가 상기 최대 통과 속도를 초과하지 않도록, 상기 제한된 서비스 요청들의 수신된 인스턴스들을 캐싱하는 단계; 및
    재개 통신 메시지를 수신하는 것에 응답하여,
    상기 캐싱을 중단하고 그리고 상기 캐싱된 서비스 요청들을 상기 서비스로 전달하는 단계;
    상기 제한된 서비스 요청들의 전달(deliery)을 재개하는 제 2 커맨드를 생성하는 단계; 및
    상기 제 2 커맨드를 상기 전자 디바이스들로 전송하는 단계
    를 더 포함하는 것을 특징으로 하는 트래픽을 제어하는 방법.
  5. 제1항에 있어서,
    상기 명령들을 수신함에 응답하여, 상기 영향을 받은 프록시 유닛들 각각에 의해서,
    상기 제 1 커맨드를 상기 전자 디바이스들로 전송하는 단계, 상기 제 1 커맨드는 상기 빈도를 0으로 감소시키는 것이며;
    재개 통신 메시지가 수신될 때까지 상기 제한된 서비스 요청들의 모든 인스턴스들을 블록킹하는 단계; 및
    상기 재개 통신 메시지를 수신하는 것에 응답하여,
    상기 블록킹을 중단하는 단계,
    상기 제한된 서비스 요청들의 전달(deliery)을 재개하는 제 2 커맨드를 생성하는 단계; 및
    상기 제 2 커맨드를 상기 전자 디바이스들로 전송하는 단계
    를 더 포함하는 것을 특징으로 하는 트래픽을 제어하는 방법.
  6. 제1항에 있어서,
    상기 전자 디바이스들에 의해서,
    상기 제 1 커맨드를 수신하면, 상기 제한된 서비스 요청들의 전달을 중단하거나 또는 감속(slowing)함으로써, 상기 제 1 커맨드를 구현하는 단계; 및
    정상적인(normal) 통신을 재개하는 제 2 커맨드를 수신하면 상기 제한된 서비스 요청들에 대한 정상적인 통신을 재개하는 단계
    를 더 포함하는 것을 특징으로 하는 트래픽을 제어하는 방법.
  7. 제1항에 있어서,
    상기 제 1 커맨드는
    상기 제한된 서비스 요청들을 감속 혹은 중단시키는 명령;
    상기 제한된 서비스 요청들을 감속 혹은 중단시키는 커맨드에 대응하는 것으로 상기 전자 디바이스들이 인식하게 될 에러 메시지; 또는
    상기 제한된 서비스 요청들을 감속 혹은 중단시키는 커맨드에 대응하는 것으로 상기 전자 디바이스들이 인식하게 될 변경된 핸드세이크 패턴(altered handshake pattern) 중 하나 이상을 포함하는 것을 특징으로 하는 트래픽을 제어하는 방법.
  8. 제1항에 있어서,
    모니터링에 기초하여, 상기 서비스 요청들이 빈도에 있어서 증가하고 있는지 그리고 상기 서비스 요청들에 대한 상기 서비스로부터의 응답들이 레이턴시(latency)의 증가를 경험하고 있는지 둘다를 검출하는 단계; 및
    상기 검출에 응답하여, 상기 용량 제한 규칙에서의 빈도 임계값 또는 레이턴시 레벨 임계값을 감소시키도록 상기 용량 제한 규칙을 조정하는 단계
    를 더 포함하는 것을 특징으로 하는 트래픽을 제어하는 방법.
  9. 제1항에 있어서,
    영향을 받은 프록시 서버들 각각에 의해서, 상기 명령들을 수신하는 것에 응답하여, 상기 제 1 커맨드를 상기 전자 디바이스들로 전송하는 단계;
    상기 전자 디바이스들에 의해서, 상기 제 1 커맨드에 응답하여, 상기 제한된 서비스 요청들의 전달을 중단 혹은 감속함으로써 상기 제 1 커맨드를 구현하는 단계;
    상기 영향을 받은 프록시 유닛들 각각에 의해서,
    재개 통신 메시지가 수신될 때까지 상기 제한된 서비스 요청들을 캐싱 혹은 블록킹하는 단계;
    상기 재개 통신 메시지의 수신에 응답하여, 상기 제한된 서비스 요청들의 전달을 재개하는 단계; 및
    상기 제 2 커맨드를 상기 전자 디바이스들로 전송하는 단계;
    상기 전자 디바이스들에 의해서, 상기 제 2 커맨드에 응답하여, 상기 제한된 서비스 요청들의 정상적인 통신을 재개하는 단계
    를 더 포함하는 것을 특징으로 하는 트래픽을 제어하는 방법.
  10. 복수의 전자 디바이스들과 하나 이상의 서비스들 사이의 트래픽을 제어하는 시스템으로서, 상기 시스템은,
    하나 이상의 검출 시스템 프로세서들과 프로그래밍 명령들을 포함하는 비-일시적인 컴퓨터 판독가능 매체를 포함하는 검출 시스템, 상기 프로그래밍 명령들은 실행되는 때에, 상기 하나 이상의 검출 시스템 프로세서들로 하여금:
    복수의 프록시 유닛들 각각을 통과하는 통신된(communicated) 서비스 요청들에 관한 정보를 모니터링하게 하고,
    상기 서비스들 중 하나로 향하는 상기 서비스 요청들의 볼륨이 용량 제한 규칙을 위반함을 상기 정보가 나타내는지를 판별하게 하며; 그리고
    상기 볼륨이 상기 용량 제한 규칙을 위반함을 식별하면,
    서비스 요청이 상기 볼륨의 가장 큰 부분을 차지한다면, 상기 서비스 요청을 상기 제한된 서비스 요청으로 식별하는 것 또는 상기 용량 제한 규칙의 위반이 상기 서비스 요청에 영향을 미친다면, 상기 서비스 요청을 상기 제한된 서비스 요청으로 식별하는 것 중 하나 이상에 기초하여, 상기 볼륨 내의 서비스 요청들 중 하나 이상을 제한된 서비스 요청으로 식별하게 하며, 그리고
    상기 용량 제한 규칙의 위반에 의해서 영향을 받은 프록시 유닛들의 세트를 식별하고, 그리고 경보(alert)를 생성하게 하며, 상기 경보는 제한된 서비스 요청들에 대한 식별자와 상기 영향을 받은 프록시 유닛들에 대한 식별자를 포함하고; 그리고
    하나 이상의 제어 시스템 프로세서들과 프로그래밍 명령들을 포함하는 비-일시적인 컴퓨터 판독가능 매체를 포함하는 제어 시스템을 포함하고, 상기 프로그래밍 명령들은 실행되는 때에, 상기 하나 이상의 제어 시스템 프로세서들로 하여금:
    상기 검출 시스템으로부터 상기 경보를 수신하면, 상기 영향을 받은 프록시 유닛들에게 지시하여, 제 2 커맨드가 수신될 때까지 상기 서비스로 향하는 상기 제한된 서비스 요청들의 빈도를 감소시키기 위하여, 제 1 커맨드를 상기 전자 디바이스들의 그룹으로 전송하게 하는 것을 특징으로 하는 트래픽을 제어하는 시스템.
  11. 제10항에 있어서,
    상기 하나 이상의 검출 시스템 프로세서들로 하여금, 상기 서비스 요청들의 볼륨이 상기 용량 제한 규칙을 위반하는지를 판별하게 하는 상기 명령들은,
    적어도 임계 개수의 서비스 요청들이 상기 서비스로 향하는지의 여부;
    적어도 임계 개수의 동일한 서비스 요청들이 상기 서비스 및 적어도 하나의 추가 서비스로 향하는지의 여부;
    적어도 임계 개수의 동일한 서비스 요청들이 상기 서비스로 향하는지의 여부; 또는
    상기 서비스로의 통신들이 적어도 임계 레이턴시 레벨을 나타내는지의 여부중 하나 이상을 판별하는 명령들을 포함하는 것을 특징으로 하는 트래픽을 제어하는 시스템.
  12. 제10항에 있어서,
    상기 영향을 받은 프록시 유닛들을 더 포함하며, 상기 영향을 받은 프록시 유닛들 각각은 프로세서 및 프로그래밍 명령들을 포함하는 비일시적인 컴퓨터 판독가능한 매체를 포함하며, 상기 프로그래밍 명령들은 실행되는 때에, 상기 영향을 받은 프록시 유닛으로 하여금, 상기 명령들을 수신하는 것에 응답하여:
    상기 제 1 커맨드를 전자 디바이스들의 그룹으로 전송하게 하며, 상기 제 1 커맨드는 상기 제한된 서비스 요청들의 빈도(frequency)를 중단시키는 것이 아니라 감소시키는 것이며;
    최대 통과 속도(maximum pass-through rate)를 결정하게 하며, 그리고 상기 서비스쪽으로 진행하는 상기 제한된 서비스 요청들의 빈도가 상기 최대 통과 속도를 초과하지 않도록, 상기 제한된 서비스 요청들의 수신된 인스턴스들을 캐싱하게 하며; 그리고
    재개 통신 메시지를 수신하는 것에 응답하여:
    상기 캐싱을 중단하고 그리고 상기 캐싱된 서비스 요청들을 상기 서비스로 전달하게 하고,
    상기 제한된 서비스 요청들의 전달(deliery)을 재개하는 제 2 커맨드를 생성하게 하고, 그리고
    상기 제 2 커맨드를 상기 전자 디바이스들의 그룹으로 전송하게 하는 것을 특징으로 하는 트래픽을 제어하는 시스템.
  13. 제10항에 있어서,
    상기 영향을 받은 프록시 유닛들을 더 포함하며, 상기 영향을 받은 프록시 유닛들 각각은 프로세서 및 프로그래밍 명령들을 포함하는 비일시적인 컴퓨터 판독가능한 매체를 포함하며, 상기 프로그래밍 명령들은 실행되는 때에, 상기 영향을 받은 프록시 유닛으로 하여금, 상기 명령들을 수신하는 것에 응답하여:
    상기 제 1 커맨드를 상기 전자 디바이스들의 그룹으로 전송하게 하며, 상기 제 1 커맨드는 상기 빈도를 0으로 감소시키는 것이며;
    재개 통신 메시지가 제어 서비스로부터 수신될 때까지 상기 제한된 서비스 요청들의 모든 인스턴스들을 블록킹하게 하며; 그리고
    상기 재개 통신 메시지를 수신하는 것에 응답하여:
    상기 블록킹을 중단하게 하고,
    상기 제한된 서비스 요청들의 빈도를 더 이상 감소시키지 않는 제 2 커맨드를 생성하게 하고, 그리고
    상기 제 2 커맨드를 상기 전자 디바이스들의 그룹으로 전송하게 하는 것을 특징으로 하는 트래픽을 제어하는 시스템.
  14. 제10항에 있어서,
    상기 제 1 커맨드를 생성하는 명령들은,
    상기 제한된 서비스 요청들을 감속 혹은 중단시키는 명령;
    상기 제한된 서비스 요청들을 감속 혹은 중단시키는 커맨드에 대응하는 것으로 상기 전자 디바이스들이 인식하게 될 에러 메시지; 또는
    상기 제한된 서비스 요청들을 감속 혹은 중단시키는 커맨드에 대응하는 것으로 상기 전자 디바이스들이 인식하게 될 변경된 핸드세이크 패턴(altered handshake pattern) 중 하나 이상을 생성하는 명령들을 포함하는 것을 특징으로 하는 트래픽을 제어하는 시스템.
  15. 제10항에 있어서,
    전자 디바이스들의 그룹을 더 포함하며, 상기 그룹 내의 전자 디바이스들 각각은 디바이스 프로세서 및 프로그래밍 명령들을 포함하는 비일시적인 컴퓨터 판독가능한 매체를 포함하고, 상기 프로그래밍 명령들은 실행되는 때에, 상기 디바이스 프로세서로 하여금:
    상기 제 1 커맨드를 수신하면, 상기 제한된 서비스 요청들의 전달을 중단하거나 또는 감속(slowing)함으로써, 중단 커맨드를 구현하게 하며; 그리고
    제 2 커맨드를 수신하면 상기 제한된 서비스 요청들에 대한 정상적인 통신을 재개하게 하는 것을 특징으로 하는 트래픽을 제어하는 시스템.
  16. 제10항에 있어서,
    추가적인 명령들을 더 포함하며, 상기 추가적인 명령들은 상기 하나 이상의 검출 시스템 프로세서들로 하여금:
    모니터링된 정보에 기초하여, 상기 서비스 요청들이 빈도에 있어서 증가하고 있는지 그리고 상기 서비스 요청들에 대한 상기 서비스로부터의 응답들이 레이턴시(latency)의 증가를 경험하고 있는지를 검출하게 하며; 그리고
    상기 검출에 응답하여, 상기 용량 제한 규칙에서의 빈도 임계값 또는 레이턴시 레벨 임계값을 감소시키도록 상기 용량 제한 규칙을 조정하게 하는 것을 특징으로 하는 트래픽을 제어하는 시스템.
  17. 복수의 전자 디바이스들과 하나 이상의 서비스들 사이의 트래픽을 제어하는 시스템으로서, 상기 시스템은,
    하나 이상의 프로세서들 및 프로그래밍 명령들을 포함하는 비일시적인 컴퓨터 판독가능한 매체를 포함하고, 상기 프로그래밍 명령들은 실행되는 때에, 상기 하나 이상의 프로세서들로 하여금:
    복수의 프록시 유닛들 각각을 통과하는 통신된(communicated) 서비스 요청들에 관한 정보를 모니터링하게 하고,
    서비스로 향하는 상기 서비스 요청들의 볼륨이 용량 제한 규칙을 위반함을 상기 정보가 나타내는지를 판별하게 하며,
    상기 볼륨이 상기 용량 제한 규칙을 위반함을 식별하면,
    서비스 요청이 상기 볼륨의 가장 큰 부분을 차지한다면, 상기 서비스 요청을 상기 제한된 서비스 요청으로 식별하는 것 또는 상기 용량 제한 규칙의 위반이 상기 서비스 요청에 영향을 미친다면, 상기 서비스 요청을 상기 제한된 서비스 요청으로 식별하는 것 중 하나 이상에 기초하여, 상기 볼륨 내의 서비스 요청들 중 하나 이상을 제한된 서비스 요청으로 식별하게 하고, 그리고
    상기 용량 제한 규칙의 위반에 의해서 영향을 받은 프록시 유닛들의 세트를 식별하게 하고, 그리고 경보(alert)를 생성하게 하며, 상기 경보는 제한된 서비스 요청들에 대한 식별자와 상기 영향을 받은 프록시 유닛들에 대한 식별자를 포함하고, 그리고
    상기 영향을 받은 프록시 유닛들에게 지시하여, 제 2 커맨드가 수신될 때까지 상기 서비스로 향하는 상기 제한된 서비스 요청들의 빈도를 감소시키기 위하여, 제 1 커맨드를 상기 전자 디바이스들의 그룹으로 전송하게 하는 것을 특징으로 하는 트래픽을 제어하는 시스템.
  18. 제17항에 있어서,
    추가적인 프로그래밍 명령들을 더 포함하고, 상기 추가적인 프로그래밍 명령들은 실행되는 때에, 상기 명령들을 수신하는 것에 응답하여, 상기 하나 이상의 프로세서들로 하여금:
    상기 제 1 커맨드를 전자 디바이스들의 그룹으로 전송하게 하며, 상기 제 1 커맨드는 상기 제한된 서비스 요청들의 빈도(frequency)를 중단시키는 것이 아니라 감소시키는 것이며;
    최대 통과 속도(maximum pass-through rate)를 결정하게 하며, 그리고 상기 서비스쪽으로 진행하는 상기 제한된 서비스 요청들의 빈도가 상기 최대 통과 속도를 초과하지 않도록, 상기 영향을 받은 프록시 유닛들로 하여금 상기 제한된 서비스 요청들의 수신된 인스턴스들을 캐싱하게 하며; 그리고
    재개 통신 메시지를 수신하는 것에 응답하여:
    상기 영향을 받은 프록시 유닛들로 하여금 상기 캐싱을 중단하게 하고 그리고 상기 캐싱된 서비스 요청들을 상기 서비스로 전달하게 하며,
    상기 제한된 서비스 요청들의 전달(deliery)을 재개하는 제 2 커맨드를 생성하게 하고, 그리고
    상기 제 2 커맨드를 상기 전자 디바이스들의 그룹으로 전송하게 하는 것을 특징으로 하는 트래픽을 제어하는 시스템.
  19. 제17항에 있어서,
    추가적인 프로그래밍 명령들을 더 포함하고, 상기 추가적인 프로그래밍 명령들은 실행되는 때에, 상기 명령들을 수신하는 것에 응답하여, 상기 하나 이상의 프로세서들로 하여금:
    상기 제 1 커맨드를 상기 전자 디바이스들의 그룹으로 전송하게 하며, 상기 제 1 커맨드는 상기 빈도를 0으로 감소시키는 것이며;
    상기 영향을 받은 프록시 유닛들로 하여금, 재개 통신 메시지가 제어 서비스로부터 수신될 때까지 상기 제한된 서비스 요청들의 모든 인스턴스들을 블록킹하게 하며; 그리고
    상기 재개 통신 메시지를 수신하는 것에 응답하여:
    상기 영향을 받은 프록시 유닛들로 하여금, 상기 블록킹을 중단하게 하고,
    상기 제한된 서비스 요청들의 빈도를 더 이상 감소시키지 않는 제 2 커맨드를 생성하게 하고, 그리고
    상기 제 2 커맨드를 상기 전자 디바이스들의 그룹으로 전송하게 하는 것을 특징으로 하는 트래픽을 제어하는 시스템.
  20. 제17항에 있어서,
    추가적인 명령들을 더 포함하고, 상기 추가적인 명령들은 실행되는 때에, 하나 이상의 프로세서들로 하여금:
    모니터링된 정보에 기초하여, 상기 서비스 요청들이 빈도에 있어서 증가하고 있는지 그리고 상기 서비스 요청들에 대한 상기 서비스로부터의 응답들이 레이턴시(latency)의 증가를 경험하고 있는지를 검출하게 하며; 그리고
    상기 검출에 응답하여, 상기 용량 제한 규칙에서의 빈도 임계값 또는 레이턴시 레벨 임계값을 감소시키도록 상기 용량 제한 규칙을 조정하게 하는 것을 특징으로 하는 트래픽을 제어하는 시스템.
KR1020167016474A 2013-11-25 2014-11-13 개인용 전자 디바이스와 외부 서비스들 간의 헤비 트래픽 부하를 조절하는 방법 및 시스템 KR101823539B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/088,545 2013-11-25
US14/088,545 US9806960B2 (en) 2013-11-25 2013-11-25 Method and system for adjusting heavy traffic loads between personal electronic devices and external services
PCT/US2014/065420 WO2015077117A1 (en) 2013-11-25 2014-11-13 Method and system for adjusting heavy traffic loads between personal electronic devices and external services

Publications (2)

Publication Number Publication Date
KR20160086944A KR20160086944A (ko) 2016-07-20
KR101823539B1 true KR101823539B1 (ko) 2018-03-14

Family

ID=53180043

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167016474A KR101823539B1 (ko) 2013-11-25 2014-11-13 개인용 전자 디바이스와 외부 서비스들 간의 헤비 트래픽 부하를 조절하는 방법 및 시스템

Country Status (7)

Country Link
US (1) US9806960B2 (ko)
EP (1) EP3075126B1 (ko)
JP (1) JP6233906B2 (ko)
KR (1) KR101823539B1 (ko)
CN (1) CN105765932B (ko)
BR (1) BR112016010801B1 (ko)
WO (1) WO2015077117A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9575837B2 (en) 2015-02-03 2017-02-21 Uber Technologies, Inc. System and method for introducing functionality to an application for use with a network service
US11252190B1 (en) * 2015-04-23 2022-02-15 Amazon Technologies, Inc. Limited access policy bypass
US11533226B2 (en) * 2015-10-13 2022-12-20 Uber Technologies, Inc. Application service configuration system
US10158528B2 (en) * 2015-10-13 2018-12-18 Uber Technologies, Inc. Application service configuration system
US10075468B2 (en) * 2016-06-24 2018-09-11 Fortinet, Inc. Denial-of-service (DoS) mitigation approach based on connection characteristics
US10671722B2 (en) * 2016-08-06 2020-06-02 Advanced Micro Devices, Inc. Mechanism for throttling untrusted interconnect agents
JP6793524B2 (ja) * 2016-11-01 2020-12-02 株式会社日立製作所 ログ解析システムおよびその方法
US10999613B1 (en) * 2017-02-19 2021-05-04 Look At Me, Inc System and method for intelligent delivery of segmented media streams
CN109391486B (zh) * 2017-08-07 2021-08-24 中国移动通信集团浙江有限公司 基于用户体验的对互操作策略调整的预警方法及服务器
US10977105B2 (en) 2018-12-14 2021-04-13 Uber Technologies, Inc. Memory crash prevention for a computing device
CN111160911B (zh) * 2019-12-31 2023-10-24 杭州趣链科技有限公司 一种面向区块链的智能合约调用频率控制方法
US11451515B2 (en) 2020-06-24 2022-09-20 Visa International Service Association Access rule management
US11941463B1 (en) * 2022-12-30 2024-03-26 Monday.com Ltd. Centralized rate limiter

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120023236A1 (en) 2010-07-26 2012-01-26 Ari Backholm Distributed implementation of dynamic wireless traffic policy

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1041960A (ja) * 1996-07-26 1998-02-13 Toyo Commun Equip Co Ltd 輻輳制御方法
JP2003186776A (ja) 2001-12-13 2003-07-04 Hitachi Ltd 輻輳制御システム
JP3828444B2 (ja) * 2002-03-26 2006-10-04 株式会社日立製作所 データ通信中継装置及びシステム
US20070077931A1 (en) 2005-10-03 2007-04-05 Glinka Michael F Method and apparatus for wireless network protection against malicious transmissions
WO2008112779A2 (en) 2007-03-12 2008-09-18 Citrix Systems, Inc. Systems and methods for dynamic bandwidth control by proxy
US8284799B2 (en) * 2007-12-17 2012-10-09 Broadcom Corporation Method and system for supporting a variable and energy efficient data rate using a duty cycling technique and multiple power states on an Ethernet link
US8631149B2 (en) 2008-11-25 2014-01-14 Citrix Systems, Inc. Systems and methods for object rate limiting
US8135850B2 (en) 2008-11-25 2012-03-13 Citrix Systems, Inc. Systems and methods for load balancing real time streaming
JP5093160B2 (ja) * 2009-03-11 2012-12-05 富士通株式会社 通信装置
WO2011028176A1 (en) 2009-09-02 2011-03-10 Resolvo Systems Pte Ltd Method and system for preventing transmission of malicious contents
EP2476239B1 (en) 2009-09-09 2018-11-07 Telefonaktiebolaget LM Ericsson (publ) Adaptation of content transmission in mobile networks
EP2326057A1 (en) 2009-11-20 2011-05-25 British Telecommunications public limited company Detecting malicious behaviour on a network
US9058210B2 (en) * 2010-03-23 2015-06-16 Ebay Inc. Weighted request rate limiting for resources
US8726376B2 (en) 2011-03-11 2014-05-13 Openet Telecom Ltd. Methods, systems and devices for the detection and prevention of malware within a network
US20130031601A1 (en) 2011-07-27 2013-01-31 Ross Bott Parental control of mobile content on a mobile device
US9239800B2 (en) 2011-07-27 2016-01-19 Seven Networks, Llc Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
US9021109B1 (en) * 2012-01-23 2015-04-28 Amazon Technologies, Inc. Controlling requests through message headers
CN103533576B (zh) * 2012-07-05 2016-12-21 中国移动通信集团公司 用户终端的接入对象的确定方法、系统及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120023236A1 (en) 2010-07-26 2012-01-26 Ari Backholm Distributed implementation of dynamic wireless traffic policy

Also Published As

Publication number Publication date
BR112016010801A2 (ko) 2017-08-08
BR112016010801B1 (pt) 2023-04-18
EP3075126B1 (en) 2019-02-27
CN105765932A (zh) 2016-07-13
KR20160086944A (ko) 2016-07-20
JP6233906B2 (ja) 2017-11-22
CN105765932B (zh) 2020-04-14
BR112016010801A8 (pt) 2018-01-02
JP2016537939A (ja) 2016-12-01
EP3075126A1 (en) 2016-10-05
US20150149610A1 (en) 2015-05-28
EP3075126A4 (en) 2017-06-28
US9806960B2 (en) 2017-10-31
WO2015077117A1 (en) 2015-05-28

Similar Documents

Publication Publication Date Title
KR101823539B1 (ko) 개인용 전자 디바이스와 외부 서비스들 간의 헤비 트래픽 부하를 조절하는 방법 및 시스템
US10789091B2 (en) Agile VM load balancing through micro-checkpointing and multi-architecture emulation
US9678735B2 (en) Data caching among interconnected devices
EP3264723B1 (en) Method, related apparatus and system for processing service request
US20160105529A1 (en) Distributed control over client-side requests for server resources
WO2019148716A1 (zh) 数据传输方法、服务器及存储介质
WO2020199686A1 (zh) 一种提供边缘服务的方法、系统及计算设备
US8972972B2 (en) Handshaking methodology and redundant data channel between servers during software upgrade
US9880953B2 (en) Systems and methods for network I/O based interrupt steering
CN106936926B (zh) 访问数据节点的方法及系统
US20150019752A1 (en) Adaptive setting of the quantized congestion notification equilibrium setpoint in converged enhanced eithernet networks
EP2907359B1 (en) Method for the reduction of signalling traffic on mobile devices
CN113676455B (zh) 一种自适应跨域访问认证方法、系统、终端以及存储介质
CN112291326B (zh) 负载均衡方法、负载均衡装置、存储介质与电子设备
US20190050306A1 (en) Data redundancy and allocation system
CN112866131B (zh) 一种流量负载均衡方法、装置、设备及介质
EP3129878B1 (en) Elasticity engine for availability management framework (amf)
JP2012221040A (ja) 呼処理制御装置および呼処理制御方法
KR102283323B1 (ko) 데이터 폴링 차단 해제 기능을 구비한 애플리케이션 서비스 서버 및 방법
US20240056461A1 (en) Redirecting data traffic to endpoints based on risk
CN105915644B (zh) 一种服务器负载均衡方法
KR101078213B1 (ko) 콘텐츠 전송 장치의 cpu 부하 관리 방법 및 그 콘텐츠 전송 장치
KR101794740B1 (ko) 네트워크 장치 및 이의 세션 제어 방법
CN115314945A (zh) 一种业务处理方法、装置、服务器及存储介质
JP2017126144A (ja) オートスケール方法、オートスケールプログラム、情報処理装置及び情処理システム

Legal Events

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