KR20140068195A - 네트워크 품질 추정, 접속 검출, 및 부하 관리를 위한 시스템들 및 방법들 - Google Patents

네트워크 품질 추정, 접속 검출, 및 부하 관리를 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20140068195A
KR20140068195A KR1020147010030A KR20147010030A KR20140068195A KR 20140068195 A KR20140068195 A KR 20140068195A KR 1020147010030 A KR1020147010030 A KR 1020147010030A KR 20147010030 A KR20147010030 A KR 20147010030A KR 20140068195 A KR20140068195 A KR 20140068195A
Authority
KR
South Korea
Prior art keywords
processor
communication link
bqe
network interface
server
Prior art date
Application number
KR1020147010030A
Other languages
English (en)
Inventor
아르노 메이란
자이 쿠마르 순다라라잔
제라르도 자레타
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20140068195A publication Critical patent/KR20140068195A/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/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • H04L1/008Formats for control data where the control data relates to payload of a different packet
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/20Negotiating bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/24Negotiating SLA [Service Level Agreement]; Negotiating QoS [Quality of Service]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/30Resource management for broadcast services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

백홀 품질을 추정하고, 인터넷 접속을 검출하고, 그리고 서버 부하를 관리하는 것과 관련된 시스템들, 방법들, 및 디바이스들이 본원에서 설명된다. 일부 양태들에서, 무선 디바이스는 통신 링크의 품질을 추정하도록 구성된다. 디바이스는 데이터 유닛들을 수신하도록 구성된 네트워크 인터페이스를 포함한다. 디바이스는 수신된 데이터 유닛들을 네트워크 인터페이스에서 모니터링하도록 구성된 프로세서를 더 포함한다. 프로세서는 네트워크 인터페이스를 통해서 수신되는 각각의 데이터 유닛에 대해, 데이터 유닛이 로칼 영역 네트워크로부터 발신되었는지 또는 비-로칼 네트워크로부터 발신되었는지 여부를 결정하도록 추가로 구성된다. 프로세서는 비-로칼 네트워크로부터 발신되는 데이터 유닛들에 기초하여, 통신 링크의 특성을 계산하도록 추가로 구성된다.

Description

네트워크 품질 추정, 접속 검출, 및 부하 관리를 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR NETWORK QUALITY ESTIMATION, CONNECTIVITY DETECTION, AND LOAD MANAGEMENT}
관련 출원들에 대한 상호-참조
본 출원은 2011년 9월 16일자에 출원된 미국 가특허출원 번호 제 61/535,708호에 대해, 35 U.S.C. § 119(e) 하에서 우선권 이익을 주장하며, 이의 전체 내용들이 참조로 포함되며 본 명세서의 일부로서 간주되어야 한다.
분야
본 출원은 일반적으로 무선 통신에 관한 것으로, 좀더 구체적으로는, 네트워크 품질 추정을 관리하는 시스템들, 방법들, 및 디바이스들에 관한 것이다.
많은 원격통신 시스템들에서, 통신 네트워크들은 여러 상호작용하는 공간적으로-분리된 디바이스들 간에 메시지들을 교환하는데 사용된다. 네트워크들은 지리적 범위에 따라서 분류될 수도 있는데, 예를 들어, 대도시 영역, 로칼 영역, 또는 개인 영역일 수 있다. 이런 네트워크들은 광역 네트워크 (WAN), 대도시 네트워크 (MAN), 로칼 영역 네트워크 (LAN), 무선 로칼 영역 네트워크 (WLAN), 또는 개인 영역 네트워크 (PAN) 로서 각각 칭해질 것이다. 네트워크들은 또한 여러 네트워크 노드들 및 디바이스들을 상호접속하는데 사용되는 스위칭/라우팅 기법 (예컨대, 회로 스위칭 대 패킷 스위칭), 송신에 채용되는 물리적인 매체들의 유형 (예컨대, 유선 대 무선), 및 사용되는 통신 프로토콜들의 세트 (예컨대, 인터넷 프로토콜 슈트, SONET (Synchronous Optical Networking), 이더넷 등) 에 따라서 상이하다.
무선 네트워크들은 종종 네트워크 엘리먼트들이 이동가능하고 따라서 동적 접속 요구들을 가질 때, 또는 네트워크 아키텍처가, 고정된 것보다, 애드혹 (ad hoc) 토폴로지로 형성되면, 선호된다. 무선 네트워크들은 무선, 마이크로파, 적외선, 광학 등 주파수 대역들에서의 전자기파들을 이용하는 비유도 전파 모드 (unguided propagation mode) 에서 무형의 물리적인 매체들을 채용한다. 무선 네트워크들은 고정된 유선 네트워크들에 비해, 사용자 이동성 및 빠른 필드 배치 (field deployment) 를 유리하게 촉진한다.
무선 네트워크에서의 디바이스들은 서로 간에 정보를 송/수신할 수도 있다. 디바이스들이 정보를 전송하는 속도는 상이한 파트너 디바이스들 및/또는 상이한 무선 네트워크들 사이에서 다를 수도 있다. 따라서, 네트워크 속도를 추정하고, 접속을 검출하고, 그리고 이들의 관리를 위한 향상된 시스템들, 방법들, 및 디바이스들이 요망되고 있다.
본 발명의 시스템들, 방법들, 및 디바이스들은 각각 여러 양태들을 가지며, 그 중 하나의 양태가 단독으로 그의 바람직한 속성들을 담당하지 않는다. 본 발명의 범위를, 뒤따르는 청구항들에 의해 표현되는 것으로 한정함이 없이, 일부 특성들은 이하에서 간단히 설명될 것이다. 이 설명을 고려한 후, 특히 "상세한 설명" 으로 제목을 붙인 섹션을 읽은 후, 사람들은 어떻게 본 발명의 특성들이 네트워크 액세스 정보의 수신과 함께 네트워크 속도 및/또는 인터넷 접속을 추정함으로써 미사용된 데이터의 전송을 감소시키는 것을 포함한 이점들을 제공하는지를 이해할 수 있을 것이다.
본 개시물에서 설명되는 청구물의 양태는 통신 링크의 특성을 결정하는 방법을 제공한다. 본 방법은 모바일 디바이스에서, 통신 링크의 적합성을 결정하기 위한 제 1 통신에 대한 제 1 요청을 서버로 송신하는 단계를 포함한다. 본 방법은 제 1 요청에 응답하여, 서버로부터 제 1 통신을 수신하는 단계를 더 포함한다. 제 1 통신은 통신 링크를 통해서 수신된다. 본 방법은 제 1 통신에 기초하여 통신 링크의 적합성을 결정하는 단계를 더 포함한다. 본 방법은 결정된 복수의 네트워크들의 적합성을 식별하는 정보를 저장하는 단계를 더 포함한다. 본 방법은 제 2 통신에 대한 제 2 요청을, 통신 링크를 통해서 선택적으로 송신하는 단계를 더 포함한다. 선택적으로 송신하는 것은 저장된 정보에 기초한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 통신 링크의 특성을 결정하도록 구성된 무선 디바이스를 제공한다. 디바이스는 통신 링크의 적합성을 결정하기 위한 제 1 통신에 대한 제 1 요청을 송신하도록 구성된 송신기를 포함한다. 송신기는 제 1 요청을 서버로 송신하도록 구성된다. 디바이스는 제 1 요청에 응답하여 서버로부터 제 1 통신을 수신하도록 구성된 수신기를 더 포함한다. 수신기는 제 1 통신을 통신 링크를 통해서 수신하도록 구성된다. 디바이스는 제 1 통신에 기초하여 통신 링크의 적합성을 결정하도록 구성된 프로세서를 더 포함한다. 디바이스는 결정된 복수의 네트워크들의 적합성을 식별하는 정보를 저장하도록 구성된 메모리를 더 포함한다. 송신기는 제 2 통신에 대한 제 2 요청을, 통신 링크를 통해서 선택적으로 송신하도록 추가로 구성된다. 선택적으로 송신하는 것은 저장된 정보에 기초한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 통신 링크의 특성을 결정하는 장치를 제공한다. 본 장치는 제 1 통신에 대한 제 1 요청을 서버로 송신하는 수단을 포함한다. 제 1 통신은 통신 링크의 적합성을 결정하기 위한 것이다. 본 장치는 제 1 요청에 응답하여 서버로부터 제 1 통신을 수신하는 수단을 더 포함한다. 제 1 통신은 통신 링크를 통해서 수신된다. 본 장치는 제 1 통신에 기초하여 통신 링크의 적합성을 결정하는 수단을 더 포함한다. 본 장치는 결정된 복수의 네트워크들의 적합성을 식별하는 정보를 저장하는 수단을 더 포함한다. 본 장치는 제 2 통신에 대한 제 2 요청을, 통신 링크를 통해서 선택적으로 송신하는 수단을 더 포함한다. 선택적으로 송신하는 것은 저장된 정보에 기초한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 비-일시적 컴퓨터-판독가능 매체를 제공한다. 매체는 실행될 경우, 장치로 하여금, 통신 링크의 적합성을 결정하기 위한 제 1 통신에 대한 제 1 요청을 송신하게 하는 코드를 포함한다. 제 1 요청은 서버로 송신된다. 매체는 실행될 경우, 장치로 하여금, 제 1 요청에 응답하여, 통신 링크를 통해서, 서버로부터 제 1 통신을 수신하게 하는 코드를 더 포함한다. 매체는 실행될 경우, 장치로 하여금, 제 1 통신에 기초하여 통신 링크의 적합성을 결정하게 하는 코드를 더 포함한다. 매체는 실행될 경우, 장치로 하여금, 결정된 복수의 네트워크들의 적합성을 식별하는 정보를 저장하게 하는 코드를 더 포함한다. 매체는 실행될 경우, 장치로 하여금, 제 2 통신에 대한 제 2 요청을, 통신 링크를 통해서 선택적으로 송신하게 하는 코드를 더 포함한다. 선택적으로 송신하는 것은 저장된 정보에 기초한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 활성 통신 링크의 특성을 결정하는 방법을 제공한다. 본 방법은 제 1 액세스 제한에 기초하여, 활성 통신 링크를 통해 서버 액세스하는 것에 대한 허용 (allowability) 을 결정하는 단계를 포함한다. 본 방법은 액세스하는 것에 대한 허용 시에 서버로부터의 통신에 대한 요청을 송신하는 단계를 더 포함한다. 본 방법은 요청에 응답하여, 서버로부터 통신을, 통신 링크를 통해서 수신하는 단계를 더 포함한다. 본 방법은 서버로부터의 통신에 기초하여, 통신 링크의 특성을 결정하는 단계를 더 포함한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 활성 통신 링크의 특성을 결정하도록 구성된 무선 디바이스를 제공한다. 디바이스는 제 1 액세스 제한에 기초하여, 활성 통신 링크를 통해서, 서버 액세스하는 것에 대한 허용을 결정하도록 구성된 프로세서를 포함한다. 디바이스는 액세스하는 것에 대한 허용 시에 서버로부터의 통신에 대한 요청을 송신하도록 구성된 송신기를 더 포함한다. 디바이스는 요청에 응답하여, 서버로부터 통신을, 통신 링크를 통해서 수신하도록 구성된 수신기를 더 포함한다. 프로세서는 서버로부터의 통신에 기초하여 통신 링크의 특성을 결정하도록 추가로 구성된다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 활성 통신 링크의 특성을 결정하는 장치를 제공한다. 본 장치는 제 1 액세스 제한에 기초하여, 활성 통신 링크를 통해 서버 액세스하는 것에 대한 허용을 결정하는 수단을 포함한다. 본 장치는 액세스하는 것에 대한 허용 시에 서버로부터의 통신에 대한 요청을 송신하는 수단을 더 포함한다. 본 장치는 요청에 응답하여, 서버로부터 통신을, 통신 링크를 통해서 수신하는 수단을 더 포함한다. 본 장치는 서버로부터의 통신에 기초하여, 통신 링크의 특성을 결정하는 수단을 더 포함한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 또 다른 비-일시적 컴퓨터-판독가능 매체를 제공한다. 매체는 실행될 경우, 장치로 하여금, 제 1 액세스 제한에 기초하여, 활성 통신 링크를 통해 서버 액세스하는 것에 대한 허용을 결정하게 하는 코드를 포함한다. 매체는 실행될 경우, 장치로 하여금, 액세스하는 것에 대한 허용 시에 서버로부터의 통신에 대한 요청을 송신하게 하는 코드를 더 포함한다. 매체는 실행될 경우, 장치로 하여금, 요청에 응답하여, 서버로부터 통신을, 통신 링크를 통해서 수신하게 하는 코드를 더 포함한다. 매체는 실행될 경우, 장치로 하여금, 서버로부터의 통신에 기초하여 통신 링크의 특성을 결정하게 하는 코드를 더 포함한다.
본 개시물에서 설명되는 기술요지의 또 다른 양태는 액세스 포인트를 통한 서버로의 접속을 검출하는 방법을 제공한다. 본 방법은 무선 디바이스에서, 토큰을 포함하는 접속 검출 요청을 생성하는 단계를 포함한다. 본 방법은 무선 디바이스에서, 액세스 포인트를 통해 서버에 어드레싱되는 접속 검출 요청을 송신하는 단계를 더 포함한다. 본 방법은 서버로부터의 접속 검출 응답을 대기하는 단계를 더 포함한다. 본 방법은 수신된 접속 검출 응답이 토큰을 포함하는지 여부를 결정하는 단계를 더 포함한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 무선 네트워크에서 통신하는 방법을 제공한다. 본 방법은 적어도 하나의 통신 링크의 네트워크 접속을 허용가능 또는 허용 불가능한 것으로 결정하는 단계를 포함한다. 본 방법은 데이터의 제 1 서브세트를 허용 불가능한 네트워크 접속을 갖는 통신 링크들을 통해서 송신하는 단계를 더 포함한다. 본 방법은 데이터의 제 2 서브세트를 허용가능한 네트워크 접속을 갖는 통신 링크들을 통해서 송신하는 단계를 더 포함한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 액세스 포인트를 통한 서버로의 접속을 검출하도록 구성된 무선 디바이스를 제공한다. 디바이스는 토큰을 포함하는 접속 검출 요청을 발생하도록 구성된 프로세서를 포함한다. 디바이스는 액세스 포인트를 통해 서버에 어드레싱되는 접속 검출 요청을 송신하도록 구성된 송신기를 더 포함한다. 프로세서는 서버로부터의 접속 검출 응답을 대기하도록 추가로 구성된다. 프로세서는 수신된 접속 검출 응답이 토큰을 포함하는지 여부를 결정하도록 추가로 구성된다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 무선 네트워크에서 통신하도록 구성된 무선 디바이스를 제공한다. 디바이스는 적어도 하나의 통신 링크의 네트워크 접속을 허용가능 또는 허용 불가능한 것으로 결정하도록 구성된 프로세서를 포함한다. 디바이스는 허용 불가능한 네트워크 접속을 갖는 통신 링크들을 통해서 데이터의 제 1 서브세트를 송신하도록 구성된 송신기를 더 포함한다. 송신기는 허용가능한 네트워크 접속을 갖는 통신 링크들을 통해서 데이터의 제 2 서브세트를 송신하도록 추가로 구성된다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 액세스 포인트를 통한 서버로의 접속을 검출하는 장치를 제공한다. 본 장치는 토큰을 포함하는 접속 검출 요청을 생성하는 수단을 포함한다. 본 장치는 액세스 포인트를 통해 서버에 어드레싱되는 접속 검출 요청을 송신하는 수단을 더 포함한다. 본 장치는 서버로부터의 접속 검출 응답을 대기하는 수단을 더 포함한다. 본 장치는 수신된 접속 검출 응답이 토큰을 포함하는지 여부를 결정하는 수단을 더 포함한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 무선 네트워크에서 통신하는 장치를 제공한다. 본 장치는 적어도 하나의 통신 링크의 네트워크 접속을 허용가능 또는 허용 불가능한 것으로 결정하는 수단을 포함한다. 본 장치는 허용 불가능한 네트워크 접속을 갖는 통신 링크들을 통해서 데이터의 제 1 서브세트를 송신하는 수단을 더 포함한다. 본 장치는 허용가능한 네트워크 접속을 갖는 통신 링크들을 통해서 데이터의 제 2 서브세트를 송신하는 수단을 더 포함한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 또 다른 비-일시적 컴퓨터-판독가능 매체를 제공한다. 매체는 실행될 경우, 장치로 하여금, 토큰을 포함하는 접속 검출 요청을 발생하게 하는 코드를 포함한다. 매체는 실행될 경우, 장치로 하여금, 액세스 포인트를 통해 서버에 어드레싱되는 접속 검출 요청을 송신하게 하는 코드를 더 포함한다. 매체는 실행될 경우, 장치로 하여금, 서버로부터의 접속 검출 응답을 대기하게 하는 코드를 더 포함한다. 매체는 실행될 경우, 장치로 하여금, 수신된 접속 검출 응답이 토큰을 포함하는지 여부를 결정하게 하는 코드를 더 포함한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 또 다른 비-일시적 컴퓨터-판독가능 매체를 제공한다. 매체는 실행될 경우, 장치로 하여금, 적어도 하나의 통신 링크의 네트워크 접속을 허용가능 또는 허용 불가능한 것으로 결정하게 하는 코드를 포함한다. 매체는 실행될 경우, 장치로 하여금, 허용 불가능한 네트워크 접속을 갖는 통신 링크들을 통해서 데이터의 제 1 서브세트를 송신하게 하는 코드를 더 포함한다. 매체는 실행될 경우, 장치로 하여금, 허용가능한 네트워크 접속을 갖는 통신 링크들을 통해서 데이터의 제 2 서브세트를 송신하게 하는 코드를 더 포함한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 통신 링크의 특성을 결정하는 또 다른 방법을 제공한다. 본 방법은 모바일 디바이스에서, 서버로부터의 통신에 대한 요청을 송신하는 단계를 포함한다. 본 방법은 요청에 응답하여, 서버로부터 통신을, 통신 링크를 통해서 수신하는 단계를 더 포함한다. 본 방법은 통신을 수신하기 위한 시간 또는 트래픽 중 적어도 하나의 타겟 양을 계산하는 단계를 더 포함한다. 본 방법은 수신된 트래픽의 양 또는 계산된 시간에 기초하여 통신을 종료하는 단계를 더 포함한다. 본 방법은 서버로부터의 통신에 기초하여, 통신 링크의 특성을 결정하는 단계를 더 포함한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 통신 링크의 특성을 결정하도록 구성된 또 다른 무선 디바이스를 제공한다. 디바이스는 서버로부터의 통신에 대한 요청을 송신하도록 구성된 송신기를 포함한다. 디바이스는 요청에 응답하여, 서버로부터 통신을, 통신 링크를 통해서 수신하도록 구성된 수신기를 더 포함한다. 디바이스는 통신을 수신하기 위한 시간 또는 트래픽 중 적어도 하나의 타겟 양을 계산하도록 구성된 프로세서를 더 포함한다. 프로세서는 수신된 트래픽의 양 또는 계산된 시간에 기초하여 통신을 종료하도록 추가로 구성된다. 프로세서는 서버로부터의 통신에 기초하여 통신 링크의 특성을 결정하도록 추가로 구성된다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 통신 링크의 특성을 결정하는 또 다른 장치를 제공한다. 본 장치는 서버로부터의 통신에 대한 요청을 송신하는 수단을 포함한다. 본 장치는 요청에 응답하여, 서버로부터 통신을, 통신 링크를 통해서 수신하는 수단을 더 포함한다. 본 장치는 통신을 수신하기 위한 시간 또는 트래픽 중 적어도 하나의 타겟 양을 계산하는 수단을 더 포함한다. 본 장치는 수신된 트래픽의 양 또는 계산된 시간에 기초하여 통신을 종료하는 수단을 더 포함한다. 본 장치는 서버로부터의 통신에 기초하여, 통신 링크의 특성을 결정하는 수단을 더 포함한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 또 다른 비-일시적 컴퓨터-판독가능 매체를 제공한다. 매체는 실행될 경우, 장치로 하여금, 서버로부터의 통신에 대한 요청을 송신하게 하는 코드를 포함한다. 매체는 실행될 경우, 장치로 하여금, 요청에 응답하여, 서버로부터 통신을, 통신 링크를 통해서 수신하게 하는 코드를 더 포함한다. 매체는 실행될 경우, 장치로 하여금, 통신을 수신하기 위한 시간 또는 트래픽 중 적어도 하나의 타겟 양을 계산하게 하는 코드를 더 포함한다. 매체는 실행될 경우, 장치로 하여금, 수신된 트래픽의 양 또는 계산된 시간에 기초하여 통신을 종료하게 하는 코드를 더 포함한다. 매체는 실행될 경우, 장치로 하여금, 서버로부터의 통신에 기초하여 통신 링크의 특성을 결정하게 하는 코드를 더 포함한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 통신 링크의 품질을 추정하는 방법을 제공한다. 본 방법은 네트워크 인터페이스를 통해서 데이터 유닛들을 수신하는 단계를 포함한다. 본 방법은 수신된 데이터 유닛들을 네트워크 인터페이스에서 모니터링하는 단계를 더 포함한다. 본 방법은 네트워크 인터페이스를 통해서 수신되는 각각의 데이터 유닛에 대해, 데이터 유닛이 로칼 영역 네트워크 또는 비-로칼 네트워크로부터 발신되었는지 여부를 결정하는 단계를 더 포함한다. 본 방법은 비-로칼 네트워크로부터 발신되는 데이터 유닛들에 기초하여, 통신 링크의 특성을 계산하는 단계를 더 포함한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 통신 링크의 품질을 추정하도록 구성된 무선 디바이스를 제공한다. 디바이스는 데이터 유닛들을 수신하도록 구성된 네트워크 인터페이스를 포함한다. 디바이스는 수신된 데이터 유닛들을 네트워크 인터페이스에서 모니터링하도록 구성된 프로세서를 더 포함한다. 프로세서는 네트워크 인터페이스를 통해서 수신되는 각각의 데이터 유닛에 대해, 데이터 유닛이 로칼 영역 네트워크 또는 비-로칼 네트워크로부터 발신되었는지 여부를 결정하도록 추가로 구성된다. 프로세서는 비-로칼 네트워크로부터 발신되는 데이터 유닛들에 기초하여, 통신 링크의 특성을 계산하도록 추가로 구성된다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 통신 링크의 품질을 추정하는 장치를 제공한다. 본 장치는 네트워크 인터페이스를 통해서 데이터 유닛들을 수신하는 수단을 포함한다. 본 장치는 수신된 데이터 유닛들을 네트워크 인터페이스에서 모니터링하는 수단을 더 포함한다. 본 장치는 네트워크 인터페이스를 통해서 수신되는 각각의 데이터 유닛에 대해, 데이터 유닛이 로칼 영역 네트워크 또는 비-로칼 네트워크로부터 발신되었는지 여부를 결정하는 수단을 더 포함한다. 본 장치는 비-로칼 네트워크로부터 발신되는 데이터 유닛들에 기초하여, 통신 링크의 특성을 계산하는 수단을 더 포함한다.
본 개시물에서 설명되는 청구물의 또 다른 양태는 또 다른 비-일시적 컴퓨터-판독가능 매체를 제공한다. 매체는 실행될 경우, 장치로 하여금, 네트워크 인터페이스를 통해서 데이터 유닛들을 수신하게 하는 코드를 포함한다. 매체는 실행될 경우, 장치로 하여금, 수신된 데이터 유닛들을 네트워크 인터페이스에서 모니터링하게 하는 코드를 더 포함한다. 매체는 실행될 경우, 장치로 하여금, 네트워크 인터페이스를 통해서 수신되는 각각의 데이터 유닛에 대해, 데이터 유닛이 로칼 영역 네트워크 또는 비-로칼 네트워크로부터 발신되었는지 여부를 결정하게 하는 코드를 더 포함한다. 매체는 실행될 경우, 장치로 하여금, 비-로칼 네트워크로부터 발신되는 데이터 유닛들에 기초하여, 통신 링크의 특성을 계산하게 하는 코드를 더 포함한다.
도 1 은 본 개시물의 양태들이 채용될 수도 있는 무선 통신 시스템의 일 예를 예시한다.
도 2 는 도 1 의 무선 통신 시스템 내에서 채용될 수도 있는 무선 디바이스에서 이용될 수도 있는, 수신기를 포함한, 여러 구성요소들을 예시한다.
도 3 은 일 실시형태에 따른, 쿼리 응답의 개략 예시도이다.
도 4 는 통신 링크 품질의 충분도를 결정하는 방법을 예시하는 플로우차트이다.
도 5 는 액세스 포인트의 인터넷 접속을 결정하는 방법을 예시하는 플로우차트이다.
도 6 은 통신 링크의 특성을 결정하는 방법의 일 실시형태를 예시하는 플로우차트이다.
도 7 은 본 발명의 예시적인 실시형태에 따른, 통신 링크의 특성을 결정하는 시스템의 기능 블록 다이어그램이다.
도 8 은 활성 통신 링크의 특성을 결정하는 방법의 일 실시형태를 예시하는 플로우차트 (800) 이다.
도 9 는 본 발명의 예시적인 실시형태에 따른, 활성 통신 링크의 특성을 결정하는 시스템의 기능 블록 다이어그램이다.
도 10 은 액세스 포인트를 통한 서버로의 접속을 검출하는 방법의 일 실시형태를 예시하는 플로우차트이다.
도 11 은 본 발명의 예시적인 실시형태에 따른, 액세스 포인트를 통한 서버로의 접속을 검출하는 시스템의 기능 블록 다이어그램이다.
도 12 는 무선 네트워크에서 통신하는 방법의 일 실시형태를 예시하는 플로우차트이다.
도 13 은 본 발명의 예시적인 실시형태에 따른, 무선 네트워크에서 통신하는 시스템의 기능 블록 다이어그램이다.
도 14 는 통신 링크의 특성을 결정하는 다른 방법의 일 실시형태를 예시하는 플로우차트이다.
도 15 는 본 발명의 예시적인 실시형태에 따른, 통신 링크의 특성을 결정하는 다른 시스템의 기능 블록 다이어그램이다.
도 16 은 통신 링크의 품질을 추정하는 일 실시형태를 예시하는 플로우차트이다.
도 17 은 본 발명의 예시적인 실시형태에 따른, 통신 링크의 품질을 추정하는 시스템의 기능 블록 다이어그램이다.
신규한 시스템들, 장치들, 및 방법들의 여러 양태들이 이하에서 첨부 도면들을 참조하여 좀더 충분히 설명된다. 교시 개시물은 그러나, 많은 상이한 형태들로 구현될 수도 있으며, 본 개시물을 통해서 제시되는 임의의 특정의 구조 또는 기능에 한정되는 것으로 해석되어서는 안 된다. 더 정확히 말하면, 이들 양태들은 본 개시물이 철저하고 완전하도록, 그리고 본 개시물의 범위를 당업자들에게 완전하게 전달하기 위해서 제공된다. 본원에서 교시들에 기초하여, 당업자는 본 개시물의 범위가 본 발명의 임의의 다른 양태와 독립적으로 구현되든 또는 그와 결합되든, 본원에서 개시된 신규한 시스템들, 장치들, 및 방법들의 임의의 양태를 포괄하도록 의도되는 것으로 이해해야 한다. 예를 들어, 임의 개수의 본원에서 개시된 양태들을 이용하여, 장치가 구현될 수도 있거나 또는 방법이 실시될 수도 있다. 게다가, 본 발명의 범위는 본원에 개시된 본 발명의 여러 양태들에 더해서 또는 이외의, 다른 구조, 기능, 또는 구조 및 기능을 이용하여 실시되는 장치 또는 방법을 커버하도록 의도된다. 본원에서 개시된 임의의 양태가 청구항의 하나 이상의 엘리먼트들에 의해 구현될 수도 있는 것으로 이해되어야 한다.
특정의 양태들이 본원에서 설명되지만, 이들 양태들의 많은 변형예들 및 치환들은 본 개시물의 범위 내에 있다. 바람직한 양태들의 일부 이익들 및 이점들이 언급되지만, 본 개시물의 범위는 특정의 이점들, 용도들, 또는 목적들에 한정되는 것으로 의도되지 않는다. 더 정확히 말하면, 본 개시물의 양태들은 상이한 무선 기술들, 시스템 구성들, 네트워크들, 및 송신 프로토콜들에 폭넓게 적용가능한 것으로 의도되며, 이들 중 일부가 일 예로서 도면들에 그리고 바람직한 양태들의 다음 설명에 예시된다. 상세한 설명 및 도면들은 한정하기 보다는 단지 본 개시물의 예시이며, 본 개시물의 범위는 첨부된 청구항들 및 이의 균등물들에 의해 정의된다.
인기 있는 무선 네트워크 기술들은 여러 유형들의 무선 로칼 영역 네트워크들 (WLANs) 을 포함할 수도 있다. WLAN 은 널리 사용되는 네트워킹 프로토콜들을 채용하여, 인접한 디바이스들을 함께 상호접속하는데 사용될 수도 있다. 여러 본원에서 설명하는 양태들은 WiFi 또는, 더 일반적으로는, 무선 프로토콜들의 IEEE 패밀리의 임의의 멤버와 같은, 임의의 통신 표준에 적용할 수도 있다. 예를 들어, 여러 본원에서 설명하는 양태들은 IEEE 802.11n 프로토콜의 일부로서 이용될 수도 있다.
일부 구현예들에서, WLAN 은 무선 네트워크에 액세스하는 구성요소들인 여러 디바이스들을 포함한다. 예를 들어, 디바이스들의 2개의 유형들, 즉, 액세스 포인트들 ("APs") 및 클라이언트들 (또한, 스테이션들, 또는 "STA들" 로서 지칭됨) 일 수도 있다. 일반적으로, AP 는 WLAN 에 대한 허브 또는 기지국으로서 역할을 하며, STA 는 WLAN 의 사용자로서 역할을 한다. 예를 들어, STA 는 랩탑 컴퓨터, 개인 휴대정보 단말기 (PDA), 모바일 폰 등일 수도 있다. 일 예에서, STA 는 인터넷에의 또는 다른 광역 네트워크들에의 일반적인 접속을 획득하기 위해 WiFi (예컨대, 802.11n 과 같은 IEEE 802.11 프로토콜) 규격 무선 링크를 경유하여 AP 에 접속한다. AP 는 백홀로서 지칭될 수도 있는 링크를 통해서 인터넷 또는 다른 광역 네트워크들과 상호접속할 수도 있다. 일부 구현예들에서, STA 는 또한 AP 로서 사용될 수도 있다.
액세스 포인트 ("AP") 은 또한 NodeB, eNodeB, 기지국 제어기 ("BSC"), 기지국 송수신기 ("BTS"), 기지국 ("BS"), 송수신기 기능 ("TF"), 무선 라우터, 무선 송수신기, 또는 어떤 다른 전문용어를 포함하거나, 이들로서 구현되거나, 또는 이들로서 알려져 있을 수도 있다.
스테이션 "STA" 은 또한 액세스 단말 ("AT"), 가입자국, 가입자 유닛, 이동국, 원격국, 원격 단말, 사용자 단말, 사용자 에이전트, 사용자 디바이스, 사용자 장비, 또는 어떤 다른 전문용어를 포함하거나, 이들로서 구현되거나, 또는 이들로서 알려져 있을 수도 있다. 일부 구현예들에서, 액세스 단말은 셀룰러 전화기, 코드리스 전화, 세션 개시 프로토콜 ("SIP") 폰, 무선 가입자 회선 ("WLL") 스테이션, 개인 휴대정보 단말기 ("PDA"), 무선 접속 능력을 가진 휴대형 디바이스, 또는 무선 모뎀에 접속된 일부 다른 적합한 프로세싱 디바이스를 포함할 수도 있다. 따라서, 본원에서 교시되는 하나 이상의 양태들은 폰 (예컨대, 셀룰러폰 또는 스마트폰), 컴퓨터 (예컨대, 랩탑), 휴대형 통신 디바이스, 헤드셋, 휴대형 컴퓨팅 디바이스 (예컨대, 개인 휴대정보 단말기), 엔터테인먼트 디바이스 (예컨대, 음악 또는 비디오 디바이스, 또는 위성 라디오), 게이밍 디바이스 또는 시스템, 위성 위치확인 시스템 디바이스, 또는 무선 매체를 통해서 통신하도록 구성되는 임의의 다른 적합한 디바이스에 포함될 수도 있다.
도 1 은 본 개시물의 양태들이 채용될 수도 있는 무선 통신 시스템 (100) 의 일 예를 예시한다. 무선 통신 시스템 (100) 은 무선 표준, 예를 들어, 802.11n 표준에 따라서 동작할 수도 있다. 무선 통신 시스템 (100) 은 STA들 (106) 와 통신하는 AP (104) 를 포함할 수도 있다.
다양한 프로세스들 및 방법들이 무선 통신 시스템 (100) 에서 AP (104) 와 STA들 (106) 사이에의 송신들을 위해 사용될 수도 있다. 예를 들어, 신호들은 OFDM/OFDMA 기법들에 따라서 AP (104) 와 STA들 (106) 사이에 전송되고 수신될 수도 있다. 이러한 경우이면, 무선 통신 시스템 (100) 은 OFDM/OFDMA 시스템으로 지칭될 수도 있다. 이의 대안으로, 신호들은 CDMA 기법들에 따라서 AP (104) 와 STA들 (106) 사이에 전송되고 수신될 수도 있다. 이러한 경우이면, 무선 통신 시스템 (100) 은 CDMA 시스템으로서 지칭될 수도 있다.
AP (104) 로부터 STA들 (106) 중 하나 이상으로의 송신을 촉진하는 통신 링크는 다운링크 (DL; 108) 로서 지칭될 수도 있으며, STA들 (106) 중 하나 이상으로부터 AP (104) 로의 송신을 촉진하는 통신 링크는 업링크 (UL; 110) 로서 지칭될 수도 있다. 이의 대안으로, 다운링크 (108) 는 순방향 링크 또는 순방향 채널로서 지칭될 수도 있으며, 업링크 (110) 는 역방향 링크 또는 역방향 채널로서 지칭될 수도 있다.
AP (104) 는 기지국으로 역할을 하며 기본 서비스 영역 (BSA; 102) 에서 무선 통신 커버리지를 제공할 수도 있다. AP (104) 는, AP (104) 와 연관되어 통신을 위해 AP (104) 를 이용하는 STA들 (106) 과 함께, 기본 서비스 세트 (BSS) 로서 지칭될 수도 있다. 무선 통신 시스템 (100) 은 중앙 AP (104) 를 갖기 보다는, STA들 (106) 사이의 피어-투-피어 네트워크로서 기능할 수도 있다는 점에 유의해야 한다. 따라서, 본원에서 설명되는 AP (104) 의 기능들은 대안적으로는 STA들 (106) 중 하나 이상에 의해 수행될 수도 있다.
예시된 실시형태에서, AP (104) 는 백홀 통신 링크 (112) 를 이용하여, 더 큰 네트워크 (114) 와 통신한다. 네트워크 (114) 는 예를 들어, 인터넷 또는 공중 교환 전화 네트워크 (PSTN) 일 수도 있다. 백홀은 여러 물리적인 링크들을 포함할 수도 있다. 일 실시형태에서, STA (106) 는 AP (104) 를 경유하여 서버 (116) 와 통신할 수도 있다. 예를 들어, STA (106) 는 업링크 (110) 및 다운링크 (108) 를 경유하여 AP (104) 와 통신할 수도 있으며, AP (104) 는 백홀 통신 링크 (112) 를 경유하여 서버 (116) 로 통신을 릴레이할 수도 있다.
백홀 품질 추정 ( BQE )
일 실시형태에서, STA (106) 는 서버 (116) 와의 단-대-단 링크의 품질을 추정할 수도 있다. 단-대-단 링크는 예를 들어, 업링크 (110), 다운링크 (108), 및 백홀 통신 링크 (112) 를 포함할 수도 있다. 따라서, STA (106) 는 단-대-단 링크의 품질을 업링크 (110), 다운링크 (108), 및/또는 백홀 통신 링크 (112) 의 누적 품질로서 추정할 수도 있다. STA (106) 는 단-대-단 링크의 품질을, 예를 들어, 전송 속도, 레이턴시, 패킷 지연 편차, 패킷 손실 등의 측정치로서 측정할 수도 있다. 백홀 통신 링크 (112) 의 품질이 업링크 (110) 및/또는 다운링크 (108) 의 품질보다 더 낮은 실시형태들에서, 단-대-단 링크의 품질은 백홀 통신 링크 (112) 의 품질에 의해 제한될 수도 있다. 반대로, 백홀 통신 링크 (112) 의 품질이 업링크 (110) 및/또는 다운링크 (108) 의 품질보다 더 높은 실시형태들에서, 단-대-단 링크의 품질은 업링크 (110) 및/또는 다운링크 (108) 의 품질에 의해 제한될 수도 있다. 따라서, 일부 실시형태들에서, STA (106) 는 백홀 통신 링크 (112) 의 품질을 효과적으로 추정할 수도 있다. 단-대-단 링크의 하나 이상의 양태들의 품질의 추정은 본원에서 "백홀 품질 추정" (BQE) 으로서 지칭될 수도 있다.
일 실시형태에서, STA (106) 는 예를 들어, 서버 (116) 로부터 파일을 요청함으로써, 서버 (116) 와의 단-대-단 링크의 품질을 추정할 수도 있다. 구체적으로 설명하면, STA (106) 는 품질 추정 요청을 서버 (116) 로 전송할 수도 있다. 서버 (116) 는 STA (106) 로, 본원에서 파일로서 지칭되는 데이터를 포함한 품질 추정 응답을 전송할 수도 있다. STA (106) 가 서버 (116) 로부터 "파일" 을 다운로드하는 것으로 본원에서 설명되지만, 품질 추정 응답이 정적일 필요가 없음을 명백히 알 수 있을 것이다. 일 실시형태에서, STA (106) 는 품질 추정 응답을 동적으로 발생할 수도 있다.
단-대-단 링크의 품질이 단-대-단 링크의 속도를 포함하는 실시형태들에서, STA (106) 는 서버 (116) 로부터 품질 추정 응답을 다운로드 하는데 걸리는 시간의 양을 측정하고 품질 추정 응답의 사이즈를 전송 시간으로 나눔으로써 단-대-단 링크의 속도를 추정할 수도 있다. 단-대-단 링크의 품질이 단-대-단 링크의 레이턴시를 포함하는 실시형태들에서, STA (106) 는 서버가 다운로드 요청에 응답하는데 걸리는 시간의 양을 측정함으로써 단-대-단 링크의 레이턴시를 추정할 수도 있다. 단-대-단 링크의 품질이 단-대-단의 패킷 지연 편차를 포함하는 실시형태들에서, STA (106) 는 품질 추정 응답을 다운로드하고 있을 때 패킷들 및 확인응답들의 송신을 모니터링함으로써 단-대-단 링크의 패킷 지연 편차를 추정할 수도 있다. 단-대-단 링크의 품질이 단-대-단 링크의 패킷 손실 레이트를 포함하는 실시형태들에서, STA (106) 는 품질 추정 응답을 다운로드하고 있을 때 서버 (116) 에 의해 재전송된 패킷들의 수를 측정함으로써 단-대-단 링크의 패킷 손실 레이트를 추정할 수도 있다.
일 실시형태에서, 품질 추정 응답은 랜덤 데이터, 의사-랜덤 데이터, 널 데이터, 또는 STA (106) 의 현재의 상태와 관련된 데이터를 포함할 수도 있다. 품질 추정 응답은 새로운 정보를 STA (106) 로 전달하려고 의도되지 않은 데이터를 포함할 수도 있다. 따라서, 품질 추정 응답은 "더미 파일 (dummy file)" 로서 지칭될 수도 있다. STA (106) 는 사용하지 않는 더미 파일 내 데이터를 폐기하거나 또는 제거할 수도 있다. 예를 들어, STA (106) 는 애플리케이션에서 더미 파일 내 데이터를 이용하지 않을 수도 있으며, 그 데이터를 사용자 인터페이스를 경유하여 제시하지 않을 수도 있다. 또 다른 실시형태에서, 그 파일은 STA (106) 에 의해 프로세싱되며 STA (106) 의 컨텍스트 또는 상태와 관련된 정보를 제공한다.
일 실시형태에서, 서버 (116) 는 품질 추정 응답을 캐시할 수도 있다. 예를 들어, 서버 (116) 는 예를 들어, 메사츄세츠, 캠브리지, Akamai Technologies, Inc. 에 의해 제공되는, Akamai® Content Delivery Network 와 같은, 콘텐츠 전달 네트워크 (CDN) 의 일부일 수도 있다. CDN 은 상이한 지리적 로케이션들에서 복수의 서버들 중 하나에서 품질 추정 응답을 캐시할 수도 있으며, 품질 추정 요청들은 STA (106) 에 가장 가까운 서버로 라우팅될 수도 있다. 본원에서 사용되는 것과 같이, 서버 (116) 는 독립형 서버 또는 CDN 과 연계하여 동작하는 서버를 지칭할 수도 있다.
일 실시형태에서, 품질 추정 응답은 STA (106) 가 단-대-단 링크의 품질을 측정하기에 충분한 사이즈일 수도 있다. 예를 들어, 품질 추정 응답은 약 0 비트와 약 2 메가비트 사이의 사이즈일 수도 있다. 일 실시형태에서, 품질 추정 응답은 약 0.5 메가비트 와 약 1.5 메가비트 사이의 사이즈, 더 구체적으로는, 약 1 메가비트 사이즈일 수도 있다. 일 실시형태에서, 품질 추정 응답 사이즈는 STA (106) 와 서버 (116) 사이의 패킷들의 라운드 트립 시간 (RTT) 에 기초할 수도 있다. 예를 들어, 품질 추정 응답은 아래 표 1 에 기초하여 RTT 에 관련될 수도 있다.
RTT 의 값 (초) 품질 추정 응답 (메가비트)
0.02 0.18
0.03 0.18
0.04 0.37
0.05 0.37
0.10 0.76
0.15 0.76
0.20 1.52
STA (106) 가 단-대-단 링크의 품질을 빈번하게, 예컨대 STA (106) 가 AP 에 접속할 때마다 추정할 수도 있기 때문에, 품질 추정 응답은 시간에 걸쳐서 상당한 대역폭을 소비할 수도 있다. 품질 추정 응답을 다운로드할 때 STA (106) 에 의해 이용되는 대역폭은 STA (106) 와 연관된 대역폭 할당량에 가산될 수도 있다. 따라서, 품질 추정 응답은 더미 데이터 대신, 유용한 데이터를 포함하는 것이 바람직할 수도 있다. 유용한 데이터는 예를 들어, STA (106) 에 지금까지 이용되지 않은 데이터, STA (106) 상의 애플리케이션에 의한 사용을 위한 데이터, STA (106) 의 사용자 인터페이스를 경유하여 제시되는 데이터, 및/또는 디바이스 관리 정보를 포함할 수도 있다. 디바이스 관리 정보는 예를 들어, 액세스 확률 인자, 품질 추정 할당량, BQE 캐시 기간, BQE 이력 제한, 수동적 BQE 지령, 및/또는 다른 정보를 포함할 수도 있다. 디바이스 관리 정보는 액세스 제한을 포함할 수도 있다.
다수의 STA들은 서버 (116) 로부터의 품질 추정 요청들을 전송하도록 구성될 수도 있다. 서버 (116) 로 전송되는 품질 추정 요청들의 수가 증가함에 따라, 서버 (116) 에 대한 프로세싱 부하 및/또는 네트워크 대역폭 부하가 증가할 수도 있다. 일부 실시형태들에서, 품질 추정 요청들의 수는 서버 (116) 의 능력들을 초과할 수도 있다. 서버 (116) 는 디바이스 관리 정보를 STA (106) 로 전송함으로써 품질 추정 요청들의 볼륨을 관리할 수도 있다. 디바이스 관리 정보는 서버 (116) 가 BQE 에 이용가능한 조건들을 나타낼 수도 있다.
도 2 는 무선 통신 시스템 (100) 내에서 채용될 수도 있는 무선 디바이스 (202) 에 이용될 수도 있는 여러 구성요소들을 예시한다. 무선 디바이스 (202) 는 프로세서 (204), 메모리 (206), 하우징 (208), (송수신기 (214) 를 형성할 수도 있는) 송신기 (210) 및 수신기 (212), 안테나 (216), 로케이션 모듈 (218), 디지털 신호 프로세서 (DSP; 220), 사용자 인터페이스 (222), 및 통신 버스 (226) 를 포함할 수도 있다. 무선 디바이스 (202) 는 본원에서 설명하는 여러 방법들을 구현하도록 구성될 수도 있는 디바이스의 일 예이다. 예를 들어, 무선 디바이스 (202) 는 AP (104) 및/또는 STA들 (106) 중 하나를 포함할 수도 있다.
무선 디바이스 (202) 는 무선 디바이스 (202) 의 동작을 제어하는 프로세서 (204) 를 포함할 수도 있다. 프로세서 (204) 는 또한 중앙 처리 유닛 (CPU) 으로 지칭될 수도 있다. 메모리 (206) 는, 판독 전용 메모리 (ROM) 및 랜덤 액세스 메모리 (RAM) 양자를 포함할 수도 있으며, 명령들 및 데이터를 프로세서 (204) 에 제공한다. 메모리 (206) 의 일부는 또한 비-휘발성 랜덤 액세스 메모리 (NVRAM) 를 포함할 수도 있다. 프로세서 (204) 는 메모리 (206) 내에 저장된 프로그램 명령들에 기초하여 논리 및 산술 연산들을 수행한다. 메모리 (206) 에서의 명령들은 본원에서 설명하는 방법들을 구현하도록 실행가능할 수도 있다.
프로세서 (204) 는 하나 이상의 프로세서들로 구현되는 프로세싱 시스템의 구성요소이거나 또는 이를 포함할 수도 있다. 하나 이상의 프로세서들은 범용 마이크로프로세서들, 마이크로제어기들, 디지털 신호 프로세서들 (DSPs), 필드 프로그래밍가능 게이트 어레이 (FPGAs), 프로그래밍가능 로직 디바이스들 (PLDs), 제어기들, 상태 머신들, 게이트 로직, 이산 하드웨어 구성요소들, 전용 하드웨어 유한 상태 머신들, 또는 정보의 조작들 또는 계산들을 수행할 수도 있는 임의의 다른 적합한 엔터티들의 임의의 조합으로 구현될 수도 있다.
프로세싱 시스템은 또한 소프트웨어를 저장하는 머신-판독가능 매체들을 포함할 수도 있다. 소프트웨어는 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어, 또는 기타로 지칭되든지, 임의 종류의 명령들을 의미하도록 폭넓게 해석되어야 할 것이다. 명령들은 코드를 (예컨대, 소스 코드 포맷, 2진 코드 포맷, 실행가능 코드 포맷, 또는 임의의 다른 적합한 코드의 포맷으로) 포함할 수도 있다. 명령들은, 하나 이상의 프로세서들에 의해 실행될 경우, 프로세싱 시스템으로 하여금, 본원에서 설명되는 여러 기능들을 수행하도록 한다.
무선 디바이스 (202) 는 또한 무선 디바이스 (202) 와 원격 로케이션 사이의 데이터의 송신 및 수신을 가능하게 하기 위해 송신기 (210) 및/또는 수신기 (212) 를 포함할 수도 있는 하우징 (208) 을 포함할 수도 있다. 송신기 (210) 및 수신기 (212) 는 송수신기 (214) 에 결합될 수도 있다. 안테나 (216) 는 하우징 (208) 에 부착되고 송수신기 (214) 에 전기적으로 커플링될 수도 있다. 무선 디바이스 (202) 는 또한 (미도시의) 다수의 송신기들, 다수의 수신기들, 다수의 송수신기들, 및/또는 다수의 안테나들을 포함할 수도 있다.
송신기 (210) 는 위에서 설명한 바와 같이 품질 추정 요청을 송신하고, 여러 AP들과 연관하도록 구성될 수도 있다. 수신기 (212) 는 위에서 설명한 바와 같이 품질 추정 응답을 수신하고, 여러 AP들의 이용가능성을 모니터링하도록 구성될 수도 있다.
무선 디바이스 (202) 는 또한 무선 디바이스 (202) 의 로케이션을 결정하는데 사용될 수도 있는 로케이션 모듈 (218) 을 포함할 수도 있다. 로케이션 모듈 (218) 은 예를 들어, 글로벌 포지셔닝 시스템 (GPS), AGPS (assisted global positioning system), 셀룰러 삼각측량법, IP-기반의 로케이션 인식 기법들 등에 기초하여, 무선 디바이스 (202) 의 로케이션을 결정할 수도 있다. 로케이션 모듈 (218) 은 수신기 (212), 안테나 (216), 프로세서 (204), 메모리 (206), 및/또는 DSP (220) 와 연계하여, 무선 디바이스 (202) 의 로케이션을 결정할 수도 있다. 무선 디바이스 (202) 는 또한 신호들을 프로세싱할 때에 사용하기 위한 디지털 신호 프로세서 (DSP; 220) 를 포함할 수도 있다. DSP (220) 는 송신용 패킷을 발생하도록 구성될 수도 있다. 일부 양태들에서, 패킷은 물리계층 데이터 유닛 (PPDU) 을 포함할 수도 있다.
무선 디바이스 (202) 는 일부 양태들에서 사용자 인터페이스 (222) 를 더 포함할 수도 있다. 사용자 인터페이스 (222) 는 키패드, 마이크로폰, 스피커, 및/또는 디스플레이를 포함할 수도 있다. 사용자 인터페이스 (222) 는 정보를 무선 디바이스 (202) 의 사용자에게 전달하거나 및/또는 사용자로부터 입력을 수신하는 임의의 엘리먼트 또는 구성요소를 포함할 수도 있다. 일 실시형태에서, 사용자 인터페이스 (222) 는 무선 네트워크 맵을 사용자에게 디스플레이할 수도 있으며 무선 네트워크 맵에 기초하여 상이한 AP 와 연관하도록 하는 명령을 수신할 수도 있다.
무선 디바이스 (202) 의 여러 구성요소들은 버스 시스템 (226) 에 의해 함께 커플링될 수도 있다. 버스 시스템 (226) 은 데이터 버스 뿐만 아니라, 예를 들어, 그 데이터 버스에 더해서, 전력 버스, 제어 신호 버스, 및 상태 신호 버스를 포함할 수도 있다. 당업자들은 무선 디바이스 (202) 의 구성요소들이 함께 커플링되거나 또는 입력들을 서로에게 일부 다른 메커니즘을 이용하여 받아들이거나 또는 제공할 수도 있음을 알 수 있을 것이다.
다수의 분리된 구성요소들이 도 2 에 예시되지만, 당업자들은 구성요소들 중 하나 이상이 결합되거나 또는 일반적으로 구현될 수도 있음을 알 수 있을 것이다. 예를 들어, 프로세서 (204) 는 프로세서 (204) 와 관련하여 위에서 설명한 기능을 구현하는데 뿐만 아니라, 신호 검출기 (218) 및/또는 DSP (220) 와 관련하여 위에서 설명한 기능을 구현하는데 이용될 수도 있다. 또, 도 2 에 예시된 구성요소들 각각은 복수의 별개의 엘리먼트들을 이용하여 구현될 수도 있다.
이하에서는, 참조의 용이를 위해, 무선 디바이스 (202) 가 AP 로서 구성될 때, 무선 디바이스 (202a) 로서 지칭된다. 이와 유사하게, 이하에서는, 무선 디바이스 (202) 가 STA 로서 구성될 때, 무선 디바이스 (202s) 로서 지칭된다. 무선 통신 시스템 (100) 에서의 디바이스는 오직 송신하는 노드의 기능, 오직 수신하는 노드의 기능, 또는 송신하는 노드 및 수신 노드 양자의 기능을 구현할 수도 있다.
능동적 BQE
일 실시형태에서, 프로세서 (204) 는 통신 링크의 품질을 추정하도록 구성된다. 예를 들어, 무선 디바이스 (202s) 가 STA (106) 를 포함하는 실시형태들에서, 프로세서 (204) 는 BQE 를 통하여 STA (106) 와 서버 (116) 사이의 단-대-단 링크의 품질을 추정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 BQE 를 간헐적으로 시도할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 무선 디바이스 (202s) 가 통신 네트워크에 접속할 때마다 BQE 를 시도할 수도 있다. 예를 들어, 프로세서 (204) 는 무선 디바이스 (202s) 가 AP (104) 와 같은 AP와 연관될 때마다 BQE 를 시도할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 규칙적인 또는 불규칙적인 간격들로 BQE 를 시도할 수도 있다.
BQE 를 시도할 때, 프로세서 (204) 는 서버 (116) 가 BQE 에 이용가능한지 여부를 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 서버 (116) 로부터 수신된 디바이스 관리 정보에 기초하여, 서버 (116) 가 BQE 에 이용가능한지 여부를 결정할 수도 있다. 서버 (116) 가 BQE 에 이용가능하다고 프로세서 (204) 가 결정하면, BQE 시도가 성공한다고 할 수도 있다. 서버 (116) 가 BQE 에 이용불가능하다고 프로세서 (204) 가 결정하면, BQE 시도가 실패 또는 중단한다고 할 수도 있다. BQE 시도가 성공할 때, 프로세서 (204) 는 품질 추정 요청을 발생하고, 품질 추정 요청을 송신하고, 품질 추정 응답을 수신하고, 품질 추정 요청에 대한 응답에 기초하여 통신 링크에 대한 품질 메트릭을 계산하고, 품질 메트릭을 서버에 보고하고, 그리고, 그 응답을 메모리 (206) 에 저장할 수도 있다. 서버 (116) 를 수반하는 대역폭 품질 추정은 "능동적 BQE" 로서 지칭될 수도 있다.
일 실시형태에서, 프로세서 (204) 는 서버 (116) 가 BQE 에 이용가능할 때 품질 추정 요청을 발생한다. 일 실시형태에서, 품질 추정 요청은 하이퍼텍스트 전송 프로토콜 (HTTP) GET 요청을 포함할 수도 있다. 또 다른 실시형태에서, 품질 추정 보고서는 양자화된 로케이션을 포함한 HTTP POST 요청을 포함할 수도 있다. 여러 실시형태들에서, 품질 추정 요청은 다른 형태들을 취할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 송신기 (210) 로 하여금 품질 추정 요청을 안테나 (216) 를 경유하여 서버 (116) 로 송신하도록 할 수도 있다. 프로세서는 서버 (116) 로부터 수신기 (212) 를 경유하여 응답을 수신할 수도 있다. 응답은 디바이스 관리 정보를 포함할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 주기적으로, 무선 디바이스 (202s) 가 새로운 무선 네트워크에 접속할 때마다, 또는 여러 다른 기준들에 기초하여, 품질 추정 요청을 발생하여 송신할 수도 있다.
서버 (116) 로부터 품질 추정 응답을 수신할 때, 프로세서 (204) 는 그 응답에 기초하여 품질 메트릭을 계산할 수도 있다. 품질 메트릭은 통신 통계치들을 포함할 수 있으며, BQE 결과로서 지칭될 수 있다. 예를 들어, 프로세서 (204) 는 다수의 바이트들을 수신하는데 걸리는 시간의 양을 측정하고 품질 추정 응답의 사이즈를 전송 시간으로 나눔으로써 통신 링크의 속도를 추정할 수도 있다. 바이트들은 서버 (116) 또는 무선 디바이스 (202) 로 송신하는 임의의 다른 호스트로부터 수신될 수도 있다. 프로세서 (204) 는 서버가 품질 추정 요청에 응답하는데 걸리는 시간의 양을 측정함으로써 통신 링크의 레이턴시를 추정할 수도 있다. 프로세서 (204) 는 그 응답을 수신할 때 패킷들 및 확인응답들의 송신을 모니터링함으로써 통신 링크의 패킷 지연 편차를 추정할 수도 있다. 프로세서 (204) 는 그 응답을 수신할 때 서버 (116) 에 의해 재전송된 패킷들의 수를 측정함으로써 통신 링크의 패킷 손실 레이트를 추정할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 능동적 BQE 동안 "srate" 메트릭을 계산할 수도 있다. srate 는 시간 기간 동안 평균 레이트를 측정함으로써 질적 사용자 경험을 반영하는 종합 메트릭으로서 사용될 수도 있다. 시간 기간은 DNS 쿼리 시간 (적용가능한 경우), TCP 접속 셋업 시간, TCP 느린 시작 시간, 및 TCP 혼잡 회피 시간을 포함할 수 있다. 프로세서 (204) 는 BQE 카운터를 유지할 수도 있으며, 이 카운터는 각각의 능동적 BQE 의 시작 시에 증분될 수도 있다. 프로세서 (204) 는 BQE 응답이 다운로드되어야 하는 최대 시간을 나타내는 BQE 타임아웃을 요청하고 결정하기 위해 파일 사이즈를 계산할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 AP (104) 의 기본 서비스 세트 식별자 (BSSID) 와 같은, AP (104) 에 관한 정보를 수집한다.
일 실시형태에서, 프로세서 (204) 는 최대 대역폭 (MBW), 라운드 트립 시간 (RTT), 최대 세그먼트 사이즈 (MSS), 병렬 스트림수 (NPS), 및 TCP 느린 시작 (slow start) 에 소비된 시간에 대한 혼잡 회피에 소비된 시간의 비 (cong2slow) 중 하나 이상에 기초하여, 파일 사이즈를 계산할 수도 있다. 일 실시형태에서, 서버 (116) 는 STA (106) 가 현재의 동작들 정책들에 따라서 측정하려고 시도해야 하는 최대 대역폭을 전달하기 위해 MBW 를 STA (106) 로 전송할 수 있다. 일 실시형태에서, STA (106) 는 인터넷 접속 검출 (ICD) 동안 서버 (116) 로부터 MBW 를 수신할 수 있다. 도 5 와 관련하여 아래에서 설명되는, ICD 동안, STA (116) 는 AP (104) 가 인터넷 접속을 제공하는지 여부를 검출할 수 있다. 일 실시형태에서, STA (106) 는 수신된 MBW 및/또는 디폴트 MBW 를 메모리 (206) 에 저장할 수 있다.
일 실시형태에서, 프로세서 (204) 는 BQE 트래픽의 양을 네트워크 레이턴시 조건들에 적응시키기 위해 서버 (116) 로의 RTT 를 추정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 추정된 RTT 값이 이용불가능할 때 디폴트 RTT 값을 이용할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 도 5 에 관하여 아래에서 설명되는, ICD 송신과 연계하여, RTT 를 추정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 임의의 인터넷 호스트에 기초하여 RTT 를 추정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 서버 (116) 가 이용불가능할 때에만 오직 RTT 추정을 위해 또 다른 인터넷 호스트를 이용할 수도 있다.
파일 사이즈를 계산할 때, 프로세서 (204) 는 NPS * (2^R - 1) * MSS + MBW * T * cong2slow 와 동일한 전체 트래픽 값을 결정할 수도 있다. 위에서 설명한 바와 같이, NPS 는 BQE 에 사용되는 병렬 TCP 스트림들의 수다. R 은 전송 프로토콜이 피크 레이트를 히트 (hit) 하기에 충분한 RTTs 의 수다. 일 실시형태에서, R = max(1, log2(MBW*RTT / (N*MSS)) 이다. MSS 는 전송 프로토콜에 의해 사용되는 최대 세그먼트 사이즈이다. MBW 는 BQE 가 추정하려고 시도하는 최대 대역폭이다. T 는 전송 프로토콜이 피크 레이트를 히트하기에 충분한 경과 시간이다. 일 실시형태에서, T = RTT*R 이다. 일 실시형태에서, 파일 사이즈는 결정된 전체 트래픽 값과 적어도 동일한 가장 작은 허용된 사이즈이다. 일 실시형태에서, 전송 프로토콜은 TCP 이다.
일 실시형태에서, 프로세서 (204) 는 TCP 느린 시작에 소비된 시간에 대한 혼잡 회피에 소비된 시간의 비 (cong2slow), 다운로드가 피크 레이트를 히트하기에 충분한 경과 시간 (T), 및/또는 결정할 DNS 쿼리에 대한 프로비저닝된 (provisioned) 시간 (dns_rtt) 중 하나 이상에 기초하여, BQE 타임아웃을 계산할 수도 있다. 서버 (116) 에 대한 RTT 추정이 이용가능할 때, 프로세서 (204) 는 ICD/BQE 서버에 대한 DNS 가 로칼 DNS 캐시 내에 있고 BQE 동안 DNS 를 결정할 시간을 제공하지 않을 수도 있다고 결정할 수도 있다. 따라서, 프로세서 (204) 는 dns_rtt=0 로 설정할 수도 있다. 서버 (116) 에 대한 RTT 추정이 이용불가능할 때, 프로세서 (204) 는 dns_rtt=2*RTT 를 설정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 BQE 타임아웃을 (cong2slow+1)*T + dns_rtt 으로서 계산할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 파일 사이즈 및 AP (104) 에 관한 정보에 기초하여, BQE 요청을 위한 URI 를 발생한다. 일 실시형태에서, 프로세서는 BQE 요청 (예를 들어, HTTP 송신) 에 사용되는 소켓을 무선 로칼 영역 네트워크 (WLAN) 인터페이스에 바인딩한다. 프로세서 (204) 는 BQE 요청을 그 발생된 URI 에 대한 HTTP GET 를 통하여 제출할 수 있다. 일 실시형태에서, 프로세서 (204) 는 BQE 타임아웃에 기초하여 BQE 타이머를 시작하고 srate 를 추정하는 것을 시작할 수 있다.
일 실시형태에서, 프로세서 (204) 는 다운로드되는 바이트들의 수 및 경과된 다운로드 시간에 기초하여, srate 를 계산할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 네트워크 인터페이스 레벨에서 비-로칼 호스트들로부터 다운로드되는 바이트들의 수를 모니터링할 수도 있다. 프로세서 (204) 는 바이트 카운터를 주기적으로 업데이트할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 무선 인터페이스를 통하여 수신된 바이트들만을 오직 모니터링할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 HTTP 예외가 BQE 요청의 송신 동안 일어나면 BQE 가 성공적이라고 결정할 수도 있다. 예를 들어, 프로세서 (204) 는 SC_INTERNAL_SERVER_ERROR, SC_NOT_FOUND, SC_SERVICE_UNAVAILABLE, 및 SC_UNAUTHORIZED 중 하나 이상이 수신되면, BQE 가 성공적이라고 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 BQE 가 HTTP 예외로 인해 성공적인 것으로 결정되면, 그 계산된 레이트를 메모리 (206) 에 저장하지 않을 수도 있다.
일 실시형태에서, 프로세서 (204) 는 다운로드하는 동안 수신되는 바이트들의 수를 모니터링할 수도 있다. 능동적 BQE 동안 수신되는 바이트들의 수가 계산된 파일 사이즈와 같거나 또는 더 클 때, 프로세서 (204) 는 능동적 BQE 다운로드를 종료할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 진행중인 HTTP GET 를, 예를 들어, 소켓 셧다운 또는 HTTP 라이브러리를 통하여, 종료할 수도 있다. 프로세서 (204) 는 다운로드를 종료하고 있을 때 TCP 핀 및/또는 TCP RST 패킷을 전송할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 능동적 BQE 동안 BQE 타이머를 모니터링할 수도 있다. 능동적 BQE 의 지속기간이 BQE 타임아웃 임계치와 동일하거나 또는 더 크다고 BQE 타이머가 나타낼 때, 프로세서 (204) 는 능동적 BQE 다운로드를 종료할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 진행중인 HTTP GET 를, 예를 들어, 소켓 셧다운 또는 HTTP 라이브러리를 통해서 종료할 수도 있다. 프로세서 (204) 는 TCP 핀 패킷을 전송할 수도 있다. 여러 실시형태들에서, BQE 타이머는 BQE 타임아웃으로부터 카운트다운, 또는 BQE 타임아웃까지 카운트업할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 수신된 바이트들의 수와 BQE 타이머와의 조합에 기초하여 BQE 다운로드를 중지할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 능동적 BQE 다운로드에 기초하여 BQE 메트릭을 계산할 수도 있다. 프로세서 (204) 는 BQE 메트릭을 BQE 임계치와 비교할 수도 있다. BQE 임계치는 무선 디바이스 (202) 가 통신 링크를 사용하는데 있어 통신 링크가 만족해야 하는 최소 품질을 나타낼 수도 있다. 일 실시형태에서, 프로세서 (204) 는 BQE 메트릭이 BQE 임계치보다 더 크거나 또는 동일할 때 통신 링크 (112) 가 충분한 품질의 통신 링크라고 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 BQE 메트릭이 BQE 임계치 미만일 때 통신 링크 (112) 가 불충분한 품질의 통신 링크라고 결정할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 BQE 이후 BQE 정보의 하나 이상의 부분을 서버 (116) 에 업로드할 수도 있다. 예를 들어, 프로세서 (204) 는 통신 링크 (112) 가 충분한 품질의 통신 링크라고 프로세서 (204) 가 결정할 때 그 계산된 srate 를 서버 (116) 에 업로드할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 통신 링크 (112) 가 인터넷에의 액세스를 제공한다고 프로세서가 결정할 때 BQE 정보를 오직 업로드할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 통신 링크 (112) 가 충분한 품질의 통신 링크가 아닐 때 BQE 정보를 메모리 (206) 에 저장할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 통신 링크 (112) 가 불충분한 품질의 통신 링크라고 프로세서 (204) 가 결정하고 및/또는 통신 링크 (112) 가 인터넷 액세스를 제공하지 않는다고 프로세서 (204) 가 결정할 때, BQE 정보를 서버 (116) 에 업로드하지 않고 BQE 결과를 폐기할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 통신 링크 (112) 가 불충분한 품질의 통신 링크일 때 BQE 정보를 메모리 (206) 에 저장하지 않을 수도 있다. 일 실시형태에서, 프로세서 (204) 는 프로세서 (204) 가 예를 들어, 서비스 세트 ID (SSID) 와 같은, AP (104) 에 대한 하나 이상의 식별자들을 결정할 수 없을 때 BQE 정보를 메모리 (206) 에 저장하지 않을 수도 있다.
일 실시형태에서, 프로세서 (204) 는 서버 (116) 로부터 수신기 (212) 를 경유하여 응답을 수신한 후에 그 응답을 메모리 (206) 에 저장할 수도 있다. 여러 실시형태들에서, 프로세서 (204) 는 품질 추정 이외의 다양한 목적들을 위해 품질 추정 응답에서의 정보를 이용할 수도 있다. 예를 들어, 응답이 디바이스 관리 정보를 포함하는 실시형태들에서, 프로세서 (204) 는 BQE 에 대한 서버 (116) 의 이용가능성을 결정할 때에 추후 사용을 위해 디바이스 관리 정보를 메모리 (206) 에 저장할 수도 있다.
수동적 BQE
일 실시형태에서, 품질 추정은 수동적 BQE 이다. 수동적 BQE 지령은 프로세서 (204) 가 품질 추정 요청을 서버 (116) 로 전송하지 않아야 한다는 것을 나타내는 정보를 포함할 수도 있다. 서버 (116) 와 접촉하지 않는 BQE 는 "수동적 BQE" 로서 지칭될 수도 있다. 일 실시형태에서, 프로세서 (204) 가 BQE 를 시도할 때, 프로세서 (204) 는 품질 추정 요청을 서버 (116) 로 전송함이 없이, 송신기 (210) 및/또는 수신기 (212) 를 가로지르는 네트워크 트래픽을 모니터링함으로써 수동적 BQE 를 수행할 수 있다.
프로세서 (204) 가 수동적 BQE 를 수행하는 실시형태들에서, 프로세서 (204) 는 서버에 또는 서버로부터 데이터를 전송하는데 걸리는 시간의 양을 측정하고 전송된 데이터의 양을 전송 시간으로 나눔으로써 링크의 속도를 추정할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 서버가 통신에 응답하는데 걸리는 시간의 양을 측정함으로써 서버와의 링크의 레이턴시를 추정할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 패킷들 및 확인응답들의 송신을 모니터링함으로써 서버와의 링크의 패킷 지연 편차를 추정할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 품질 추정 응답을 다운로드하고 있을 때 서버에 의해 재전송된 패킷들의 수를 측정함으로써 서버와의 링크의 패킷 손실 레이트를 추정할 수도 있다. 일 실시형태에서, 수동적 BQE 동안, 프로세서 (204) 는 BQE 의 목적을 위해 개시된 것이 아닌, 백홀 (112) 을 통한 목적지와의 통신들을 오직 모니터링하거나 및/또는 측정한다.
일 실시형태에서, 프로세서 (204) 는 능동적 BQE 와 관련하여 위에서 설명한 하나 이상의 기법들을 이용하여 수동적 BQE 을 수행할 수도 있다. 예를 들어, 프로세서 (204) 는 다운로드 요청을 서버 (116) 로 전송하지 않고 능동적 BQE 기법들을 수행할 수도 있다. 서버 (116) 로부터 다운로드되는 바이트들을 모니터링하는 대신, 프로세서 (204) 는 하나 이상의 다른 인터넷 서버들로부터 다운로드되는 바이트들을 모니터링할 수도 있다. 프로세서 (204) 는 전술한 샘플링 모드, 버스트 모드, srate 계산 등을 이용하여, 다운로드되는 바이트들을 모니터링할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 수동적 BQE 를 위해 비-로칼 트래픽을 오직 모니터링할 수도 있다. 일 실시형태에서, 프로세서는 유니캐스트 트래픽만을 오직 모니터링하고 브로드캐스트 및 유니캐스트 트래픽을 배제할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 어떤 바이트들도 srate 및/또는 버스트 비트레이트를 계산할 때에 수신되지 않는 기간들을 배제할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 네트워크 계층에서 수신된 모든 트래픽을 측정할 수도 있으며, 최고 N 비트레이트 샘플들의 평균을 계산할 수도 있으며, 여기서 N 은 정수이다. 일 실시형태에서, 프로세서 (204) 는 AP (104) 에의 STA (106) 의 접속 시 수동적 BQE 를 수행할 수도 있으며, 그 후 제한된 시간 기간 동안 수동적 BQE 만을 오직 수행할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 샘플링 간격 및 버스트 지속기간에 따라서 srate 를 계산할 수도 있다. 일 실시형태에서, 샘플링 간격은 얼마나 자주 프로세서 (204) 가 바이트 카운터를 체크하는지를 나타낼 수도 있다. 버스트 지속기간은 프로세서 (204) 가 비트레이트를 계산해야 하는 지속기간을 나타낼 수 있다. 버스트 지속기간은 샘플링 간격의 배수로서 규정될 수도 있다. 일 실시형태에서, STA (106) 는 서버 (116) 로부터 버스트 지속기간 및/또는 샘플링 간격을 수신할 수도 있다. 일 실시형태에서, STA (106) 는 그 버스트 지속기간 및/또는 샘플링 간격을 메모리 (206) 에 저장할 수도 있다.
일 실시형태에서, 각각의 샘플링 간격에서, 프로세서 (204) 는 그 간격으로 수신되는 바이트들의 수를 계산할 수도 있다. 수신되는 바이트들의 수를 주기적으로 계산할 때, 프로세서 (204) 는 샘플링 모드에 있을 수도 있다. 적어도 하나의 바이트가 수신되었다고 프로세서 (204) 가 결정할 때, 프로세서 (204) 는 버스트 모드에 진입할 수도 있다.
버스트 모드에서, 프로세서 (204) 는 버스트의 지속기간 동안 수신되는 바이트들의 수를 계산할 수도 있다. 프로세서 (204) 는 버스트의 지속기간으로 나눈 버스트 동안 수신되는 바이트들의 수와 동일한 버스트 레이트를 계산할 수도 있다. srate 계산 동안, 프로세서 (204) 는 srate 를 하나 이상의 버스트들을 통해서 경과된 시간으로 나눈, 하나 이상의 버스트들을 통해서 수신되는 바이트들의 수의 8배로서 계산할 수도 있다.
일 실시형태에서, 메모리 (206) 는 사전-설정된 수동적 BQE 지령을 저장할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 예를 들어, 이력적 BQE 결과들, 배터리 레벨 등에 기초하여, 수동적 BQE 지령을 발생할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 수동적 BQE 지령을 수신기 (212) 를 통해서 취출하여, 그 수동적 BQE 지령을 메모리 (206) 에 저장할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 품질 추정 요청에 응답하여 서버 (116) 로부터 수동적 BQE 지령을 수신할 수도 있다. 수동적 BQE 지령은 품질 추정 응답에 포함될 수도 있다. 여러 실시형태들에서, 프로세서 (204) 는 능동적 BQE 에 더하여, 또는 대신에, 수동적 BQE 를 수행할 수도 있다. 예를 들어, 프로세서 (204) 는 프로세서 (204) 가 능동적 BQE 를 시도하여 실패할 때 수동적 BQE 를 수행할 수도 있다. 또 다른 예로서, 프로세서 (204) 는 수동적 BQE 지령을 수신하지 않고, 수동적 BQE 를 수행하도록 구성될 수도 있다.
도 3 은 일 실시형태에 따른, 쿼리 응답 (300) 의 개략 예시도이다. 쿼리 응답 (300) 은 도 5 에 관련하여 아래에서 설명하는, BQE 응답 및 ICD 응답 중 하나 이상을 포함할 수 있다. 나타낸 바와 같이, 쿼리 응답 (300) 은 디바이스 관리 정보 (310) 및 BQE 및/또는 ICD 데이터 (320) 를 포함한다. 디바이스 관리 정보 (310) 및 BQE 또는 ICD 데이터 (320) 가 특정의 배열로 도시되지만, 당업자는 다른 배열들이 가능함을 알 수 있을 것이다. 예를 들어, 디바이스 관리 정보 (310) 및 BQE 데이터 (320) 의 위치들은 추가적인 데이터에 의해 반전되거나, 인터리브되거나, 분리되는 등이 될 수 있다. 더욱이, BQE 또는 ICD 데이터 (320) 는 디바이스 관리 정보 (310) 가 BQE 또는 ICD 에 대해 충분한 실시형태들에서는 생략될 수 있다.
크라우드 정보
BQE 및/또는 ICD 데이터 (320) 는 더미 데이터 및/또는 예를 들어, 인접한 WiFi 핫스팟들, 챌린지 (challenge) 응답 등에 관한 정보와 같은, 유용한 데이터를 포함할 수도 있다. 일 실시형태에서, 품질 추정 응답은 크라우드-소싱된 정보 ("크라우드 정보") 를 포함할 수도 있다. 크라우드 정보는 특정의 AP (104) 에 대한 하나 이상의 다른 STA들 (106) 의 BQE 결과들에 기초한 BQE 정보를 포함할 수도 있다. 크라우드 정보 중 적어도 일부는 다른 사용자들에 의해 제공되어 서버 (116) 상에 수집될 수 있다. 일 실시형태에서, 크라우드 정보는 통신 링크 (112) 가 충분한 품질을 가진 통신 링크인지 여부를 나타내는 수치 값을 포함한다. 또 다른 실시형태에서, 크라우드 정보는 통신 링크 (112) 에 대한 평균 BQE 메트릭을 포함한다. 또 다른 실시형태에서, 크라우드 정보는 서버 (116) 에 저장된 과거 BQE 결과들에 기초한 하나 이상의 다른 메트릭들을 포함할 수 있다. 당업자는 크라우드 정보가 임의의 적합한 인코딩을 이용할 수 있음을 알 수 있을 것이다.
일 실시형태에서, 쿼리 응답 (300) 은 텍스트, 하이퍼텍스트 마크업 언어 (HTML), 확장가능한 마크업 언어 (XML), 또는 임의의 다른 데이터 포맷으로서 포맷될 수 있다. 일 실시형태에서, 쿼리 응답 (300) 은 다음과 같이 포맷될 수 있다:
Figure pct00001
예시된 실시형태에서, 디바이스 관리 정보 (320) 는 이력 제한 (330), 캐시 기간 (340), 요청 할당량 (360), 액세스 확률 인자 (360), 및 수동적 BQE 지령 (370) 을 포함한다. 여러 실시형태들에서, 디바이스 관리 정보 (320) 는 이력 제한 (330), 캐시 기간 (340), 요청 할당량 (360), 액세스 확률 인자 (360), 및 수동적 BQE 지령 (370) 을 상이한 순서로 포함할 수도 있거나, 추가 정보를 포함할 수도 있거나, 및/또는 이력 제한 (330), 캐시 기간 (340), 요청 할당량 (360), 액세스 확률 인자 (360), 및 수동적 BQE 지령 (370) 중 하나 이상을 생략할 수도 있다. 여러 실시형태들에서, 프로세서 (204) 는 이력 제한 (330), 캐시 기간 (340), 요청 할당량 (360), 액세스 확률 인자 (360), 및 수동적 BQE 지령 (370) 중 하나 이상에 대해, 단독으로 또는 조합하여, 작용할 수 있다.
이력 제한
일 실시형태에서, 쿼리 응답 (300) 은 이력 제한 (330) 을 포함할 수도 있다. 이력 제한은 프로세서 (204) 가 얼마나 많은 BQE 및/또는 ICD 결과들을 각각의 통신 네트워크에 대해 저장해야 하는지를 나타내는 정보를 포함할 수도 있다. 일 실시형태에서, 이력 제한 (330) 은 프로세서 (204) 가 BQE 및/또는 ICD 를 수행하는 각각의 통신 네트워크에 있어 프로세서 (204) 가 메모리 (206) 에 저장해야 하는 BQE 및/또는 ICD 결과들의 최대 수를 나타내는 수치 값을 포함한다. 당업자는 이력 제한 (330) 이 임의의 적합한 인코딩을 이용할 수 있음을 알 수 있을 것이다. 여러 실시형태들에서, 디바이스 관리 정보 (310) 는 BQE 및 ICD 요청들 중 하나 또는 양자에 대한 개개의 이력 제한 (330), 또는 BQE 및 ICD 요청들 양자에 대한 결합된 이력 제한 (330) 을 포함할 수 있다.
일 실시형태에서, 프로세서 (204) 는 예를 들어, 무선 디바이스 (202s) 가 AP (104) 에 접속할 때 BQE 및/또는 ICD 를 시도할 수도 있다. 서버 (116) 가 BQE 및/또는 ICD 에 이용가능한지 여부를 결정하기 위해, 프로세서는 메모리 (206) 로부터 BQE 및/또는 ICD 결과 이력을 읽을 수도 있다. 결과 이력은 BQE 및/또는 ICD 결과들의 장기 이력 (long term history) 을 포함할 수도 있다. 일 실시형태에서, 결과 이력은 네트워크 식별자들의 리스트, 대응하는 BQE 및/또는 ICD 결과들, 및/또는 각각의 결과가 기록되었던 때를 나타내는 대응하는 시간 스탬프들을 포함할 수도 있다. 네트워크 식별자들은 예를 들어, SSIDs, BSSIDs, 라우터 미디어 액세스 제어 (MAC) 어드레스들, 네트워크 도메인 이름들 등을 포함할 수도 있다.
STA (106) 는 BQE 및 ICD 결과들에 대해 개개의 결과 이력들을 유지할 수도 있거나, 또는 결합된 결과 이력을 유지할 수도 있다. 일 실시형태에서, (비교적 장기 결과 이력을 저장하는) 결과 이력 및 (아래에서 설명하는 바와 같이, 비교적 단기 결과 이력을 저장하는) 결과 캐시가 동일한 데이터 세트에 포함될 수 있다. 또 다른 실시형태에서, 결과 이력 및 결과 캐시는 별개로 저장될 수 있다.
프로세서 (204) 는 현재의 네트워크 식별자 (즉, 무선 디바이스 (202s) 가 접속되는 네트워크에 대한 네트워크 식별자) 를 결정할 수도 있다. 프로세서 (204) 는 현재의 네트워크 식별자를 메모리 (206) 에 저장된 결과 이력에서의 네트워크 식별자들과 비교할 수도 있다. 현재의 네트워크 식별자가 메모리 (206) 에 저장된 결과 이력에 포함되어 있지 않으면, 프로세서 (204) 는 서버 (116) 가 BQE 및/또는 ICD 에 이용가능한지 여부를 결정할 수도 있다. 현재의 네트워크 식별자가 메모리 (206) 에 저장된 결과 이력에 포함되어 있으면, 프로세서 (204) 는 로칼 이력이 BQE 로 하여금 추론가능하지 않으면 (예를 들어, BQE 가 통과하거나 또는 BQE 가 실패하면) 서버 (116) 가 BQE 에 이용가능하다고 결정할 수도 있다. 로칼 이력은, 평균 - 표준 편차 > 임계치일 때 BQE 가 통과한다고 추론하거나, 또는 평균 + 표준 편차 < 임계치일 때 BQE 가 실패한다고 추론하는 것을 BQE 가 추론하게 한다. 전술한 수식들에서, 평균은 현재의 네트워크 식별자에 대한 과거 X BQE 결과들의 평균이며, 표준 편차는 과거 X 결과들에 걸친 표준 편차이고, 그리고, 임계치는 임계치 비트레이트이다.
일 실시형태에서, X 는 이력 제한 (330) 과 동일하다. 일 실시형태에서, 메모리 (206) 는 사전-설정된 X 값을 저장할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 예를 들어, 이력 BQE 및/또는 ICD 결과들, 배터리 레벨 등에 기초하여, X 값을 발생할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 X 값을 수신기 (212) 를 통해서 취출하고 그 X 값을 메모리 (206) 에 저장할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 품질 추정 요청에 응답하여 서버 (116) 로부터 X 값을 수신할 수도 있다. X 값은 쿼리 응답 (300) 에 포함될 수도 있다.
일 실시형태에서, 메모리 (206) 는 사전-설정된 임계값을 저장할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 예를 들어, 이력 BQE 결과들, 배터리 레벨 등에 기초하여, 임계값을 발생할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 수신기 (212) 를 경유하여 임계값을 취출하고 그 임계값을 메모리 (206) 에 저장할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 BQE 또는 ICD 요청에 응답하여 서버 (116) 로부터 임계값을 수신할 수도 있다. 임계값은 쿼리 응답 (300) 에 포함될 수도 있다. 일 실시형태에서, 프로세서는 공중을 통해서 측정된 무선 파라미터들을 이용하여 현재의 임계값을 계산할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 난수 또는 의사-난수를 발생할 수도 있다. 또 다른 실시형태에서, DSP (204) 는 난수 또는 의사-난수를 발생할 수도 있다. 난수 또는 의사-난수는 0 내지 1 의 범위 내에서 발생될 수도 있다. 프로세서 (204) 는 서버 (116) 가 BQE 에 이용가능한지 여부를 결정하기 위해 그 발생된 수를 임계치와 비교할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 그 발생된 수가 임계치 미만일 때 서버 (116) 가 BQE 에 이용가능하다고 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 발생된 수가 임계치보다 작거나 또는 같을 때 서버 (116) 가 BQE 에 이용가능하다고 결정할 수도 있다.
또 다른 실시형태에서, 프로세서 (204) 는 프로세서 (204) 가 BQE 를 시도할 때마다 카운터를 증분할 수도 있다. 프로세서 (204) 는 카운터를 메모리 (206) 에 저장할 수도 있다. 프로세서 (204) 는 그 카운터를 할당량과 비교하여, 서버 (116) 가 BQE 에 이용가능한지 여부를 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 그 카운터가 할당량 미만일 때 서버가 BQE 에 이용가능하다고 결정할 수도 있다.
일반적으로, 더 높은 임계값은 프로세서 (204) 로 하여금 BQE 를 더 빈번하게 수행하게 하려는 경향이 있을 것이다. 이와 유사하게, 더 낮은 임계값은 프로세서 (204) 로 하여금 BQE 를 덜 빈번하게 수행하게 하려는 경향이 있을 것이다. 주어진 통신 네트워크에 대한 이력적 BQE 결과들이 상대적으로 높을 때, 프로세서 (204) 는 BQE 를 덜 빈번하게 수행하려는 경향이 있을 것이다. 주어진 통신 네트워크에 대한 이력적 BQE 결과들이 상대적으로 낮을 때, 프로세서 (204) 는 BQE 를 더 빈번하게 수행하려는 경향이 있을 것이다. 따라서, 프로세서 (204) 는 상대적으로 낮은 품질의 네트워크에 접속될 때 BQE 를 더 빈번하게 수행하려는 경향이 있을 것이다.
또 다른 실시형태에서, 프로세서 (204) 는 서버 (116) 가 이력적 BQE 결과들의 가변성 (variability) 에 관련된 확률로 BQE 에 이용가능하다고 결정할 수도 있다. 예를 들어, 프로세서 (204) 는 서버 (116) 가 1 - ( STDEVX / 임계치) 의 확률로 BQE 에 이용가능하다고 결정할 수도 있으며, 여기서, STDEVX 는 현재의 네트워크 식별자에 대한 과거 X BQE 결과들의 표준 편차이고, 그리고, 임계치는 임계치 비트 레이트이다. 또 다른 실시형태에서, 프로세서 (204) 는 서버 (116) 가 이력적 BQE 결과들의 다음 통계적 메트릭들, 즉, 평균치 (mean), 중간치, 평균 (average), 표준 편차, 가변성, 최소치 (min), 최대치 (max) 등 중 하나 이상에 관련된 확률로, BQE 에 이용가능하다고 결정할 수도 있다.
일 실시형태에서, 메모리 (206) 는 사전-설정된 이력 제한 (330) 을 저장할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 예를 들어, 이력적 BQE 및/또는 ICD 결과들, 배터리 레벨 등에 기초하여, 이력 제한 (330) 을 발생할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 이력 제한 (330) 을 수신기 (212) 를 통해서 취출하고 그 이력 제한 (330) 을 메모리 (206) 에 저장할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 BQE 및/또는 ICD 요청에 응답하여 서버 (116) 로부터 이력 제한 (330) 을 수신할 수도 있다.
캐시 기간 ( Cache Period )
일 실시형태에서, 쿼리 응답 (300) 은 캐시 기간 (340) 을 포함할 수도 있다. 캐시 기간은 얼마 동안 프로세서 (204) 가 동일한 네트워크 접속을 위해 연속적인 BQE 및/또는 ICD 요청들 사이에 대기해야 하는지를 나타내는 정보를 포함할 수도 있다. 일 실시형태에서, 예를 들어, 프로세서 (204) 는 한 시간 마다 BQE 및/또는 ICD 를 시도할 수도 있다. 캐시 기간 (340) 이 3 시간 캐시 기간을 나타내면, 프로세서 (204) 는 서버 (116) 가 첫번째 BQE 및/또는 ICD 시도에 이용가능하다고 결정하고, 그 후 서버 (116) 가 3 시간 기간 내에 이후 2 번의 BQE 및/또는 ICD 시도들에 이용불가능하고 BQE 및/또는 ICD 시도가 실패할 것이라고 결정할 것이다.
일 실시형태에서, 캐시 기간 (340) 은 프로세서 (204) 가 BQE 및/또는 ICD 를 한번 이상 수행하지 않아야 하는 시간 기간을 나타내는 수치 값을 포함한다. 캐시 기간 (340) 은 임의의 시간 프레임 (예를 들어, 한 시간, 3 시간, 하루, 일주일, 1개월 등) 을 포함할 수도 있다. 당업자는 캐시 기간 (340) 이 임의의 적합한 인코딩을 이용할 수 있음을 알 수 있을 것이다. 여러 실시형태들에서, 디바이스 관리 정보 (310) 는 BQE 및 ICD 요청들 중 하나 또는 양자에 대해서는 개개의 캐시 기간 (340) 을, 또는 BQE 및 ICD 요청들 양자에 대해서는 결합된 캐시 기간 (340) 을 포함할 수 있다.
일 실시형태에서, 프로세서 (204) 는 예를 들어, 무선 디바이스 (202s) 가 AP (104) 에 접속할 때 BQE 및/또는 ICD 를 시도할 수도 있다. 서버 (116) 가 BQE 및/또는 ICD 에 이용가능한지 여부를 결정하기 위해, 프로세서는 메모리 (206) 로부터 결과 캐시를 읽을 수도 있다. 결과 캐시는 BQE 및/또는 ICD 결과들의 단기 이력을 포함할 수도 있다. 일 실시형태에서, 결과 캐시는 네트워크 식별자들의 리스트, 대응하는 BQE 및/또는 ICD 결과들, 및/또는 각각의 BQE 및/또는 ICD 결과가 기록되었던 때를 나타내는 대응하는 시간 스탬프들을 포함할 수도 있다. 네트워크 식별자들은 예를 들어, 서비스 세트 식별자들 (SSIDs), 기본 서비스 세트 식별자들 (BSSIDs), 라우터 미디어 액세스 제어 (MAC) 어드레스들, 네트워크 도메인 이름들, 셀 식별자 등을 포함할 수 있다.
STA (106) 는 BQE 및 ICD 결과들에 대해 개개의 결과 캐시들을 유지할 수도 있거나, 또는 결합된 결과 캐시를 유지할 수도 있다. 일 실시형태에서, (위에서 설명한 바와 같이, 비교적 장기 결과 이력을 저장하는) 결과 이력 및 (비교적 단기 결과 이력을 저장하는) 결과 캐시는 동일한 데이터 세트에 포함될 수 있다. 또 다른 실시형태에서, 결과 이력 및 결과 캐시는 별개로 저장될 수 있다.
프로세서 (204) 는 현재의 네트워크 식별자 (즉, 무선 디바이스 (202s) 가 접속되는 네트워크에 대한 네트워크 식별자) 를 결정할 수도 있다. 프로세서 (204) 는 현재의 네트워크 식별자를 메모리 (206) 에 저장된 결과 캐시에서의 네트워크 식별자들과 비교할 수도 있다. 현재의 네트워크 식별자가 메모리 (206) 에 저장된 결과 캐시에 포함되어 있지 않으면, 프로세서 (204) 는 서버 (116) 가 BQE 및/또는 ICD 에 이용가능하다고 결정할 수도 있다. 현재의 네트워크 식별자가 메모리 (206) 에 저장된 결과 캐시에 포함되어 있으면, 프로세서 (204) 는 서버 (116) 가 BQE 및/또는 ICD 에 이용불가능한 것으로 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는, 현재의 네트워크 식별자가 결과 캐시에 포함되어 있고, 시간 스탬프가 캐시 기간 (340) 보다 이전이면, 서버 (116) 가 BQE 및/또는 ICD 에 이용불가능한 것으로 결정할 수도 있다. 서버 (116) 가 BQE 및/또는 ICD 에 이용가능하다고 프로세서 (204) 가 결정하면, 프로세서 (204) 는 본원에서 설명하는 바와 같이, BQE 및/또는 ICD 를 수행할 수 있다. 프로세서 (204) 는 BQE 및/또는 ICD 결과를 BQE 결과 캐시에, 현재의 네트워크 식별자 및/또는 시간 스탬프와 함께, 저장할 수도 있다.
일 실시형태에서, 메모리 (206) 는 사전-설정된 캐시 기간 (340) 을 저장할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 예를 들어, 이력적 BQE 및/또는 ICD 결과들, 배터리 레벨 등에 기초하여, 캐시 기간 (340) 을 발생할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 캐시 기간 (340) 을 수신기 (212) 를 통해 취출하여 그 캐시 기간 (340) 을 메모리 (206) 에 저장할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 BQE 및/또는 ICD 요청에 응답하여 서버 (116) 로부터 캐시 기간 (340) 을 수신할 수도 있다.
요청 할당량 ( Request Quota )
일 실시형태에서, 쿼리 응답 (300) 은 요청 할당량 (350) 을 포함할 수도 있다. 요청 할당량 (350) 은 프로세서 (204) 가 BQE 및/또는 ICD 에 대한 서버 (116) 의 이용가능성을 결정할 때 BQE 및/또는 ICD 시도가 성공해야 하는지 여부를 나타내는 정보를 포함할 수도 있다. 구체적으로 설명하면, 요청 할당량 (350) 은 어떤 시간 기간에 성공해야 하는 BQE 및/또는 ICD 시도들의 수에 대한 제한을 나타낼 수도 있다. 일 실시형태에서, 예를 들어, 프로세서 (204) 는 하루에 10 번 BQE 및/또는 ICD 를 시도할 수도 있다. 요청 할당량 (350) 이 하루 5 번의 BQE 및/또는 ICD 제한을 나타내면, 프로세서 (204) 는 서버 (116) 가 처음 5 번의 BQE 및/또는 ICD 시도들에 대해 이용가능하다고 결정하고, 그 후, 서버 (116) 가 이후 5 번의 BQE 시도들에 대해 이용불가능하고 BQE 및/또는 ICD 시도가 실패할 것이라고 결정할 수도 있다.
일 실시형태에서, 요청 할당량 (350) 은 주어진 기간 내에 성공해야 하는 BQE 및/또는 ICD 시도들의 수에 관한 제한을 나타내는 수치 값을 포함한다. 요청 할당량 (350) 은 기간을 명시적으로 식별할 수도 있거나, 또는 기간은 암시적일 수도 있다. 할당량 기간은 임의의 시간 프레임 (예를 들어, 시간, 일, 주, 월 등), (예를 들어, AP 마다, 리부트 (reboot) 마다, 무선 세션마다) 동적 기간, 또는 이들의 임의의 조합을 포함할 수도 있다. 당업자는 요청 할당량 (350) 이 임의의 적합한 인코딩을 이용할 수 있음을 알 수 있을 것이다. 여러 실시형태들에서, 디바이스 관리 정보 (310) 는 BQE 및 ICD 요청들 중 하나 또는 양자에 대해서는 개개의 요청 할당량 (350) 을, 또는 BQE 및 ICD 요청들 양자에 대해서는 결합된 요청 할당량 (350) 을 포함할 수 있다.
일 실시형태에서, 프로세서 (204) 는 서버가 BQE 및/또는 ICD 에 이용가능하다고 프로세서 (204) 가 결정할 때마다 카운터를 증분할 수도 있다. 프로세서 (204) 는 카운터를 메모리 (206) 에 저장할 수도 있다. 프로세서 (204) 는 그 카운터를 요청 할당량 (350) 과 비교하여, 서버 (116) 가 BQE 및/또는 ICD 에 이용가능한지 여부를 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 카운터가 요청 할당량 (350) 미만일 때 서버가 BQE 및/또는 ICD 에 이용가능하다고 결정할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 카운터가 요청 할당량 (350) 미만이거나 또는 동일할 때 서버가 BQE 및/또는 ICD 에 이용가능하다고 결정할 수도 있다. 여러 실시형태들에서, 프로세서 (204) 는 전술한 조건들의 각각에서 서버 (116) 가 BQE 및/또는 ICD 에 이용불가능한 것으로 결정할 수도 있다.
프로세서 (204) 는 디바이스 관리 정보에 따라서 카운터를 리셋할 수도 있다. 예를 들어, 프로세서 (204) 는 카운터를 시간 마다, 요일 마다, 월 마다, 무선 디바이스 (202s) 가 상이한 AP 에 접속할 때마다, 무선 디바이스 (202s) 가 재시작할 때마다 등으로 리셋할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 요청 할당량 (350) 및 액세스 확률 인자의 조합에 기초하여 서버 (116) 가 BQE 및/또는 ICD 에 이용가능한지 여부를 결정할 수도 있다. 예를 들어, 요청 할당량 (350) 이 초과하지 않았다고 프로세서 (204) 가 결정하면, 프로세서는 서버 (116) 가 액세스 확률 인자에 관계없이 BQE 및/또는 ICD 에 이용가능하다고 결정할 수도 있다. 한편, 요청 할당량 (350) 이 초과하였다고 프로세서 (204) 가 결정하면, 프로세서는 위에서 설명한 바와 같이 액세스 확률 인자에 기초하여, 서버 (116) 가 BQE 및/또는 ICD 에 이용가능한지 여부를 결정할 수도 있다.
일 실시형태에서, 메모리 (206) 는 사전-설정된 요청 할당량 (350) 을 저장할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 예를 들어, 이력적 BQE 및/또는 ICD 결과들, 배터리 레벨 등에 기초하여, 요청 할당량 (350) 을 발생할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 요청 할당량 (350) 을 수신기 (212) 를 통해서 취출하여, 요청 할당량 (350) 을 메모리 (206) 에 저장할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 BQE 및/또는 ICD 요청에 응답하여 서버 (116) 로부터 요청 할당량 (350) 을 수신할 수도 있다.
액세스 확률 인자 ( Access Probability Factor )
일 실시형태에서, 쿼리 응답 (300) 은 액세스 확률 인자 (360) 를 포함할 수도 있다. 액세스 확률 인자 (360) 는 BQE 및/또는 ICD 에 대한 서버 (116) 의 이용가능성을 프로세서 (204) 가 결정할 때 얼마나 자주 BQE 및/또는 ICD 시도가 성공해야 하는지를 나타내는 정보를 포함할 수도 있다. 구체적으로 설명하면, 액세스 확률 인자 (360) 는 BQE 및/또는 ICD 시도가 성공해야 하는 확률을 나타낼 수도 있다. 일 실시형태에서, 예를 들어, 프로세서 (204) 는 무선 디바이스 (202s) 가 송신기 (214) 를 경유하여 AP (104) 와 연관할 때마다 BQE 및/또는 ICD 를 시도할 수도 있다. 액세스 확률 인자 (360) 가 50% 성공률을 나타내면, 프로세서 (204) 는 서버 (116) 가 대략 그 시간의 50% 를 이용불가능한 것으로 결정하고 BQE 및/또는 ICD 시도가 실패할 것이라고 결정할 것이다.
일 실시형태에서, 액세스 확률 인자 (360) 는 0 부터 1 까지의 수치 값을 포함하며, 여기서, 0 은 BQE 및/또는 ICD 성공의 0% 확률을 나타내고, 1 은 BQE 및/또는 ICD 성공의 100% 확률을 나타낸다. 또 다른 실시형태에서, 액세스 확률 인자 (360) 는 0 부터 100 까지의 수치 값을 나타내며, 여기서, 0 은 BQE 및/또는 ICD 성공의 0% 확률을 나타내며, 100 은 BQE 및/또는 ICD 성공의 100% 확률을 나타낸다. 또 다른 실시형태에서, 액세스 확률 인자 (360) 는 수치 값 X 를 포함하며, 모든 X BQE 및/또는 ICD 시도가 성공해야 한다는 것을 나타낸다. 당업자는 액세스 확률 인자 (360) 가 임의의 적합한 인코딩을 이용할 수 있음을 알 수 있을 것이다. 여러 실시형태들에서, 디바이스 관리 정보 (310) 는 BQE 및 ICD 요청들의 하나 또는 양자에 대해서는 개개의 액세스 확률 인자 (360) 를, 또는 BQE 및 ICD 요청들 양자에 대해서는 결합된 액세스 확률 인자 (360) 를 포함할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 난수 또는 의사-난수를 발생할 수도 있다. 또 다른 실시형태에서, DSP (204) 는 난수 또는 의사-난수를 발생할 수도 있다. 난수 또는 의사-난수는 액세스 확률 인자 (360) 에 대한 가능한 값들의 범위 내에서 발생될 수도 있다. 프로세서 (204) 는 그 발생된 수를 액세스 확률 인자 (360) 와 비교하여, 서버 (116) 가 BQE 및/또는 ICD 에 이용가능한지 여부를 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 발생된 수가 액세스 확률 인자 (360) 미만일 때 서버 (116) 가 BQE 및/또는 ICD 에 이용가능하다고 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 그 발생된 수가 액세스 확률 인자 (360) 미만이거나 또는 동일할 때 서버 (116) 가 BQE 및/또는 ICD 에 이용가능하다고 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 그 발생된 수가 액세스 확률 인자 (360) 보다 더 클 때 서버 (116) 가 BQE 및/또는 ICD 에 이용가능하다고 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 그 발생된 수가 액세스 확률 인자 (360) 보다 더 크거나 또는 동일할 때 서버 (116) 가 BQE 및/또는 ICD 에 이용가능하다고 결정할 수도 있다. 여러 실시형태들에서, 프로세서 (204) 는 전술한 조건들의 각각에서 서버 (116) 가 BQE 및/또는 ICD 에 이용불가능한 것으로 결정할 수도 있다.
또 다른 실시형태에서, 프로세서 (204) 는 프로세서 (204) 가 BQE 및/또는 ICD 를 시도할 때마다 카운터를 증분할 수도 있다. 프로세서 (204) 는 카운터를 메모리 (206) 에 저장할 수도 있다. 프로세서 (204) 는 그 카운터를 액세스 확률 인자 (360) 와 비교하여, 서버 (116) 가 BQE 및/또는 ICD 에 이용가능한지 여부를 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 카운터가 액세스 확률 인자 (360) 의 짝수 배일 때 서버가 BQE 및/또는 ICD 에 이용가능하다고 결정할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 카운터가 액세스 확률 인자 (360) 의 역의 짝수 배일 때 서버가 BQE 및/또는 ICD 에 이용가능하다고 결정할 수도 있다. 여러 실시형태들에서, 프로세서 (204) 는 전술한 조건들의 각각에서 서버 (116) 가 BQE 및/또는 ICD 에 이용불가능한 것으로 결정할 수도 있다.
일 실시형태에서, 메모리 (206) 는 사전-설정된 액세스 확률 인자 (360) 를 저장할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 예를 들어, 이력적 BQE 및/또는 ICD 결과들, 배터리 레벨 등에 기초하여, 액세스 확률 인자 (360) 를 발생할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 액세스 확률 인자 (360) 를 수신기 (212) 를 통해서 취출하여, 그 액세스 확률 인자 (360) 를 메모리 (206) 에 저장할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 BQE 및/또는 ICD 요청에 응답하여, 서버 (116) 로부터 액세스 확률 인자 (360) 를 수신할 수도 있다.
도 4 는 통신 링크 품질의 충분도 결정하는 방법을 예시하는 플로우차트 (400) 이다. 명료성을 위해, 플로우차트 (400) 는 도 1 에 나타낸 통신 네트워크 (100) 및 도 2 에 나타낸 디바이스 (202s) 를 참조하여 아래에서 설명된다. 그러나, 당업자는 플로우차트 (400) 의 방법이 임의의 적합한 디바이스와 함께 사용될 수도 있음을 알 수 있을 것이다. 일 구현예에서, 프로세서 (204) 는 아래에서 설명되는 기능들을 수행하도록 디바이스 (202s) 의 기능적 엘리먼트들을 제어하는 하나 이상의 코드들의 세트들을 실행한다. 여러 실시형태들에서, 본원에서 설명하는 단계들은 상이한 순서로 수행되거나 또는 생략될 수도 있으며, 추가적인 단계들이 부가될 수도 있다.
일 실시형태에서, STA (106) 는 새로운 AP (104) 에 접속 중일 때 플로우차트 (400) 를 따를 수도 있다. STA (106) 는 플로우차트 (400) 의 결과에 기초하여 통신 링크 (112) 가 충분한 품질을 가진 통신 링크인지 여부를 결정할 수도 있다. 통신 링크 (112) 가 불충분한 품질의 통신 링크라고 플로우차트 (400) 가 나타내면, STA (106) 는 AP (104) 를 통신용으로 사용하지 않을 수도 있으며, 대신에, 또 다른 무선 및/또는 AP 를 사용할 수도 있다. 예를 들어, STA (106) 는 WiFi AP 에 대한 BQE 가 낮은 품질을 나타낼 때 WiFi 무선으로부터 셀룰러 무선으로 스위칭할 수도 있다. 통신 링크 (112) 가 충분한 품질의 통신 링크라고 플로우차트 (400) 가 나타내면, 한편, STA (106) 는 AP (104) 를 통신용으로 사용할 수도 있다.
먼저, 블록 (405) 에서, 프로세서 (204) 는 BQE 가 인에이블되는지 여부를 결정한다. 프로세서 (204) 는 BQE 가 인에이블되는지 여부를 메모리 (206) 에 저장된 값을 체크함으로써 결정할 수도 있다. 일 실시형태에서, STA (106) 는 BQE 가 서버 (116) 로부터 인에이블되어야 하는지 여부에 관한 정보를 수신할 수도 있다. 또 다른 실시형태에서, STA (106) 는 BQE 가 서비스 제공자로부터 인에이블되어야 하는지 여부에 관한 정보를 수신할 수도 있다. BQE 가 디스에이블되어 있다고 프로세서 (204) 가 결정하면, 블록 (410) 에서 프로세서 (204) 는 통신 링크 (112) 가 충분한 품질의 통신 링크라고 결정할 수도 있다. 한편, BQE 가 인에이블되어 있다고 프로세서 (204) 가 결정하면, 프로세서 (204) 는 블록 (415) 으로 속행할 수도 있다.
다음으로, 블록 (415) 에서, 프로세서 (204) 는 위에서 설명한 바와 같이 수동적 BQE 를 시작할 수도 있다. 프로세서 (204) 는 수동적 BQE 를 백그라운드에서 실행하고, STA (106) 와 하나 이상의 인터넷 호스트들 사이의 부수적인 통신을 모니터링할 수도 있다. 수동적 BQE 가 실행중인 동안, 프로세서 (204) 는 블록 (420) 으로 속행할 수도 있다.
그 후, 블록 (420) 에서, 프로세서 (204) 는 위에서 설명한 바와 같이 AP (104) 에 대한 단기 이력 (short term history) 을 체크할 수도 있다. 예를 들어, 프로세서는 메모리 (206) 로부터 BQE 결과 캐시를 읽을 수도 있다. 일 실시형태에서, 프로세서 (204) 는 현재의 네트워크 식별자가 BQE 결과 캐시에 포함되어 있고, 그리고 시간 스탬프가 BQE 캐시 기간보다 더 이전이면 단기 이력이 최근이고 우수하다고 결정할 수도 있다. 단기 이력이 최근이고 우수하면, 블록 (410) 에서 프로세서 (204) 는 통신 링크 (112) 가 충분한 품질의 통신 링크라고 결정할 수도 있다. 한편, 단기 이력이 최근이고 우수하지 않다고 프로세서 (204) 가 결정하면, 프로세서 (204) 는 블록 (425) 으로 속행할 수도 있다.
그 후, 블록 (425) 에서, 프로세서 (204) 는 위에서 설명한 바와 같이 AP (104) 에 대한 장기 이력을 체크할 수도 있다. 예를 들어, 프로세서는 메모리 (206) 로부터 BQE 결과 이력을 읽을 수도 있다. 일 실시형태에서, 프로세서 (204) 는 평균 (Average) - 표준 편차 (Standard Deviation) > 임계치 (Threshold) 일 때 장기 이력이 높은 신뢰성 및 우수인지 여부를 결정할 수도 있으며, 여기서, 평균 (Average) 은 현재의 네트워크 식별자에 대한 과거 X BQE 결과들의 평균이며, 표준 편차 (Standard Deviation) 는 과거 X 결과들에 걸친 표준 편차이고, 그리고, 임계치 (Threshold) 는 임계치 비트레이트이다. 장기 이력이 높은 신뢰성 및 최근이면, 블록 (410) 에서 프로세서 (204) 는 통신 링크 (112) 가 충분한 품질의 통신 링크라고 결정할 수도 있다. 한편, 장기 이력이 높은 신뢰성 및 최근이 아니라고 프로세서 (204) 가 결정하면, 프로세서 (204) 는 블록 (430) 으로 속행할 수도 있다.
후속하여, 블록 (430) 에서, 프로세서 (204) 는 ICD 응답 또는 ICD 타임아웃을 대기할 수도 있다. 도 5 와 관련하여 아래에서 설명하는 바와 같이, STA (106) 는 서버 (116) 로부터 크라우드 정보를 ICD 응답과 함께 수신할 수도 있다. STA (106) 가 ICD 요청을 서버 (116) 로 전송한 후 타임아웃 기간 이내에 ICD 응답을 수신하지 않으면, ICD 는 타임아웃할 수도 있다. ICD 가 성공하거나 또는 타임아웃한 후, 프로세서 (204) 는 블록 (435) 으로 진행한다.
다음으로, 블록 (435) 에서, 프로세서 (204) 는 서버 (116) 로부터 수신된 크라우드 정보를 읽는다. 통신 링크 (112) 가 충분한 품질의 통신 링크라고 크라우드 정보가 나타내면, 프로세서 (204) 는 블록 (410) 으로 진행할 수도 있다. 통신 링크 (112) 가 충분한 품질의 통신 링크라고 크라우드 정보가 나타내지 않거나, 또는 STA (106) 가 서버 (116) 로부터 크라우드 정보를 성공적으로 수신하지 않으면, 프로세서 (204) 는 블록 (440) 으로 속행한다.
그 후, 블록 (440) 에서, 프로세서 (204) 는 블록 (415) 에서 시작된 수동적 BQE 의 결과를 체크한다. 프로세서 (204) 는 수동적 BQE 결과를 통신 링크 (112) 에 대한 충분한 품질을 나타내는 임계치 품질 값과 비교한다. 수동적 BQE 결과가 BQE 임계치와 같거나 또는 더 크다고 프로세서 (204) 가 결정하면, 프로세서는 블록 (410) 로 속행한다. 한편, 수동적 BQE 결과가 BQE 임계치 미만이거나, 또는 수동적 BQE 가 실패한다고 프로세서 (204) 가 결정하면, 프로세서는 블록 (445) 으로 속행한다.
그 후, 블록 (445) 에서, 프로세서 (204) 는 위에서 설명한 바와 같이 AP (104) 에 대한 장기 이력을 다시 체크할 수도 있다. 예를 들어, 프로세서는 메모리 (206) 로부터 BQE 결과 이력을 읽을 수도 있다. 일 실시형태에서, 프로세서 (204) 는 평균 + 표준 편차 < 임계치 일 때 장기 이력이 높은 신뢰성 및 불량인지 여부를 결정할 수도 있으며, 여기서, 평균은 현재의 네트워크 식별자에 대한 과거 X BQE 결과들의 평균이며, 표준 편차는 과거 X 결과들에 걸친 표준 편차이고, 그리고, 임계치는 임계치 비트레이트이다. 장기 이력이 높은 신뢰성 및 불량이면, 블록 (450) 에서 프로세서 (204) 는 통신 링크 (112) 가 불충분한 품질의 통신 링크라고 결정할 수도 있다. 한편, 장기 이력이 높은 신뢰성 및 불량이 아니라고 프로세서 (204) 가 결정하면, 프로세서 (204) 는 블록 (455) 으로 속행할 수도 있다.
후속하여, 블록 (455) 에서, 프로세서 (204) 는 서버 (116) 로부터 수신된 크라우드 정보를 다시 읽는다. 통신 링크 (112) 가 불충분한 품질의 통신 링크라고 크라우드 정보가 나타내면, 프로세서 (204) 는 블록 (450) 으로 진행할 수도 있다. 통신 링크 (112) 가 불충분한 품질의 통신 링크라고 크라우드 정보가 나타내지 않거나, 또는 STA (106) 가 서버 (116) 로부터 크라우드 정보를 성공적으로 수신하지 않으면, 프로세서 (204) 는 블록 (460) 으로 속행한다.
다음으로, 블록 (460) 에서, 프로세서 (204) 는 예를 들어, 액세스 확률 인자, 품질 추정 할당량 등과 같은 부하 관리 기법들과 관련하여 위에서 설명한 바와 같이, 서버 (116) 가 BQE 에 이용가능한지 여부를 결정한다. 서버 (116) 가 BQE 에 이용불가능하다고 프로세서 (204) 가 결정하면, 블록 (410) 에서 프로세서 (204) 는 통신 링크 (112) 의 품질이 불충분하다고 결정할 수도 있다. 한편, 서버 (116) 가 BQE 에 이용가능하다고 프로세서 (204) 가 결정하면, 블록 (465) 에서 프로세서 (204) 는 능동적 BQE 로 속행할 수도 있다.
그 후, 블록 (465) 에서, 프로세서 (204) 는 위에서 설명한 바와 같이 능동적 BQE 를 수행한다. 일 실시형태에서, 프로세서 (204) 는 능동적 BQE 결과를 통신 링크 (112) 에 대한 충분한 품질을 나타내는 임계치 품질 값과 비교한다. 능동적 BQE 결과가 BQE 임계치와 같거나 또는 더 크다고 프로세서 (204) 가 결정하면, 프로세서는 블록 (410) 로 속행한다. 한편, 능동적 BQE 결과가 BQE 임계치 미만이거나, 또는 능동적 BQE 가 실패한다고 프로세서 (204) 가 결정하면, 프로세서는 블록 (450) 으로 속행한다.
인터넷 접속 검출 ( ICD )
일 실시형태에서, STA (106) 는 STA (106) 가 AP (104) 에 접속할 때 통신 링크 (112) 의 인터넷 접속을 검출할 수도 있다. AP (104) 가 인터넷에의 액세스를 제공하는지 여부를 결정하기 위해, STA (106) 는 인터넷 접속 검출 (ICD) 을 수행할 수도 있다. 일 실시형태에서, STA (106) 는 STA (106) 가 AP (104) 에 접속할 때마다 ICD 를 수행할 수도 있다. ICD 는 STA (106) 로 하여금, AP 가 예를 들어, 요청되는 페이지 대신, 지불 요청 웹 페이지를 서비스함으로써, 인터넷 요청들에 부정확하게 응답할 수도 있는, 소위 "캡티브 포털 (captive portal)" 인지 여부를 검출가능하게 할 수도 있다. STA (106) 는 AP 가 제한된 인터넷 접속을 제공하는지 여부를 검출할 수도 있다.
도 5 는 액세스 포인트 (104) 의 인터넷 접속을 결정하는 방법을 예시하는 플로우차트 (500) 이다. 명료성을 위해, 플로우차트 (500) 는 도 1 에 나타낸 통신 네트워크 (100) 및 도 2 에 나타낸 디바이스 (202s) 를 참조하여 아래에서 설명된다. 그러나, 당업자는 플로우차트 (500) 의 방법이 임의의 적합한 디바이스와 함께 사용될 수도 있음을 알 수 있을 것이다. 일 구현예에서, 프로세서 (204) 는 아래에서 설명되는 기능들을 수행하도록 디바이스 (202s) 의 기능적 엘리먼트들을 제어하는 하나 이상의 코드들의 세트들을 실행한다. 여러 실시형태들에서, 본원에서 설명하는 단계들은 상이한 순서로 수행되거나 또는 생략될 수도 있으며, 추가적인 단계들이 부가될 수도 있다.
먼저, 블록 505 에서, 프로세서 (204) 는 ICD 가 인에이블되는지 여부를 결정한다. 프로세서 (204) 는 ICD 가 인에이블되는지 여부를 메모리 (206) 에 저장된 값을 체크함으로써 결정할 수도 있다. 일 실시형태에서, STA (106) 는 ICD 가 서버 (116) 로부터 인에이블되어야 하는지 여부에 관한 정보를 수신할 수도 있다. 또 다른 실시형태에서, STA (106) 는 ICD 가 서비스 제공자로부터 인에이블되어야 하는지 여부에 관한 정보를 수신할 수도 있다. ICD 가 디스에이블되어 있다고 프로세서 (204) 가 결정하면, 블록 (510) 에서 프로세서 (204) 는 AP (104) 가 인터넷 접속을 제공한다고 결정할 수도 있다. 한편, ICD 가 인에이블되어 있다고 프로세서 (204) 가 결정하면, 프로세서 (204) 는 블록 (515) 으로 속행할 수도 있다.
다음으로, 블록 (515) 에서, 프로세서 (204) 는 AP (104) 에 대한 단기 이력을 체크할 수도 있다. 일 실시형태에서, ICD 에 대한 단기 이력은 위에서 설명한, BQE 에 대한 단기 이력의 하나 이상의 양태들을 포함할 수 있다. AP (104) 가 인터넷 접속을 제공하는지 여부를 결정하기 위해, 프로세서는 ICD 결과 캐시를 메모리 (206) 로부터 읽을 수도 있다. ICD 결과 캐시는 ICD 결과들의 단기 이력을 포함할 수도 있다. 일 실시형태에서, ICD 결과 캐시는 네트워크 식별자들의 리스트, 대응하는 ICD 결과들, 및/또는 각각의 ICD 결과가 리코딩되었을 때를 나타내는 대응하는 시간 스탬프들을 포함할 수도 있다. 네트워크 식별자들은 예를 들어, 서비스 세트 식별자들 (SSIDs), 기본 서비스 세트 식별자들 (BSSIDs), 라우터 미디어 액세스 제어 (MAC) 어드레스들, 네트워크 도메인 이름들 등을 포함할 수 있다.
프로세서 (204) 는 현재의 네트워크 식별자 (즉, 무선 디바이스 (202s) 가 접속되는 네트워크에 대한 네트워크 식별자) 를 결정할 수도 있다. 프로세서 (204) 는 현재의 네트워크 식별자를 메모리 (206) 에 저장된 ICD 결과 캐시에서의 네트워크 식별자들과 비교할 수도 있다. 현재의 네트워크 식별자가 메모리 (206) 에 저장된 ICD 결과 캐시에 포함되어 있지 않으면, 프로세서 (204) 는 AP (104) 가 인터넷 접속을 제공한다고 결정하지 않을 수도 있다. 현재의 네트워크 식별자가 메모리 (206) 에 저장된 ICD 결과 캐시에 포함되어 있으면, 프로세서 (204) 는 그 저장된 ICD 결과에 기초하여 AP (104) 가 인터넷 접속을 제공한다고 결정할 수도 있다. 일 실시형태에서, 현재의 네트워크 식별자가 ICD 결과 캐시에 포함되어 있고, 그리고 시간 스탬프가 ICD 캐시 기간보다 더 이전이 아니면, 프로세서 (204) 는 AP (104) 가 인터넷 접속을 제공한다고 결정할 수도 있다. 서버 (116) 가 ICD 에 이용가능하다고 프로세서 (204) 가 결정하면, 프로세서 (204) 는 본원에서 설명하는 바와 같이, ICD 를 수행할 수 있다. 프로세서 (204) 는 ICD 결과를 ICD 결과 캐시에, 현재의 네트워크 식별자 및/또는 시간 스탬프와 함께, 저장할 수도 있다.
일 실시형태에서, 메모리 (206) 는 사전-설정된 ICD 캐시 기간을 저장할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 예를 들어, 이력적 ICD 결과들, 배터리 레벨 등에 기초하여 ICD 캐시 기간을 발생할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 수신기 (212) 를 경유하여 ICD 캐시 기간을 취출하고 그 ICD 캐시 기간을 메모리 (206) 에 저장할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 품질 추정 요청 또는 ICD 요청에 응답하여, 서버 (116) 로부터 ICD 캐시 기간을 수신할 수도 있다. ICD 캐시 기간은 품질 추정 응답 또는 ICD 응답에 포함될 수도 있다.
단기 이력에 기초하여, AP (104) 가 인터넷 접속을 제공한다고 프로세서 (204) 가 결정하면, 프로세서 (204) 는 블록 (510) 으로 속행할 수도 있다. 한편, AP (104) 가 인터넷 접속을 제공한다고 프로세서 (204) 가 결정하지 않으면, 프로세서 (204) 는 블록 (520) 로 속행한다. 예를 들어, AP (204) 가 인터넷 접속을 제공하지 않는다는 것을 최근 ICD 결과가 나타낸다고 프로세서 (204) 가 결정하면, 프로세서 (204) 는 블록 (520) 으로 속행할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 단기 이력 결과에 관계없이, 사전 설정된 확률로, 블록 (520) 으로 속행할 수도 있다.
그 후, 블록 (520) 에서, 프로세서는 메모리 (206) 로부터 ICD 결과 이력을 읽을 수도 있다. ICD 결과 이력은 ICD 결과들의 장기 이력을 포함할 수도 있다. 일 실시형태에서, ICD 결과 이력은 네트워크 식별자들의 리스트, 대응하는 ICD 결과들, 및/또는 각각의 ICD 결과가 리코딩되었을 때를 나타내는 대응하는 시간 스탬프들을 포함할 수도 있다. 네트워크 식별자들은 예를 들어, SSIDs, BSSIDs, 라우터 미디어 액세스 제어 (MAC) 어드레스들, 네트워크 도메인 이름들 등을 포함할 수 있다. 일 실시형태에서, (비교적 장기 결과 이력을 저장하는) ICD 결과 이력 및 (비교적 단기 결과 이력을 저장하는) ICD 결과 캐시는 동일한 데이터 세트에 포함될 수 있다. 또 다른 실시형태에서, ICD 결과 이력 및 ICD 결과 캐시는 별개로 저장될 수 있다.
프로세서 (204) 는 현재의 네트워크 식별자 (즉, 무선 디바이스 (202s) 가 접속되는 네트워크에 대한 네트워크 식별자) 를 결정할 수도 있다. 프로세서 (204) 는 현재의 네트워크 식별자를 메모리 (206) 에 저장된 ICD 결과 이력에서의 네트워크 식별자들과 비교할 수도 있다. 현재의 네트워크 식별자가 메모리 (206) 에 저장된 ICD 결과 이력에 포함되어 있지 않으면, 프로세서 (204) 는 AP (104) 가 인터넷 접속을 제공한다고 결정하지 않을 수도 있다.
현재의 네트워크 식별자가 메모리 (206) 에 저장된 ICD 결과 이력에 포함되어 있으면, 프로세서 (204) 는, AP (104) 가 인터넷 접속을 제공한다는 것을 가장 최근 ICD 결과가 나타내면, AP (104) 가 인터넷 접속을 제공한다고 결정할 수도 있다. 일 실시형태에서, AP (104) 가 인터넷 접속을 제공한다고 AP (104) 에 대한 모든 저장된 ICD 결과들이 나타내면, 프로세서 (204) 는 AP (104) 가 인터넷 접속을 제공한다고 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 이력적 ICD 결과들의 평균과 관련된 확률로 AP (104) 가 인터넷 접속을 제공한다고 결정할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 난수 또는 의사-난수를 발생할 수도 있다. 또 다른 실시형태에서, DSP (204) 는 난수 또는 의사-난수를 발생할 수도 있다. 난수 또는 의사-난수는 0 내지 1 의 범위 내에서 발생될 수도 있다. 프로세서 (204) 는 그 발생된 수를 그 확률과 비교하여, AP (104) 가 인터넷 접속을 제공하는지 여부를 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 발생된 수가 그 확률 미만일 때 AP (104) 가 인터넷 접속을 제공한다고 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 발생된 수가 그 확률 미만이거나 또는 동일할 때 AP (104) 가 인터넷 접속을 제공한다고 결정할 수도 있다.
또 다른 실시형태에서, 프로세서 (204) 는 프로세서 (204) 가 ICD 를 시도할 때마다 카운터를 증분할 수도 있다. 프로세서 (204) 는 카운터를 메모리 (206) 에 저장할 수도 있다. 프로세서 (204) 는 카운터를 그 확률과 비교하여, AP (104) 가 인터넷 접속을 제공하는지 여부를 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 카운터가 그 확률의 짝수 배일 때 AP (104) 가 인터넷 접속을 제공한다고 결정할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 카운터가 그 확률의 역의 짝수 배일 때 AP (104) 가 인터넷 접속을 제공한다고 결정할 수도 있다.
일반적으로, 더 높은 임계값은 프로세서 (204) 로 하여금 ICD 를 더 빈번하게 수행하게 하려는 경향이 있을 것이다. 이와 유사하게, 더 낮은 임계값은 프로세서 (204) 로 하여금 ICD 를 덜 빈번하게 수행하게 하려는 경향이 있을 것이다. 주어진 통신 네트워크에 대한 이력적 ICD 결과들이 상대적으로 높을 때, 프로세서 (204) 는 ICD 를 덜 빈번하게 수행하려는 경향이 있을 것이다. 주어진 통신 네트워크에 대한 이력적 ICD 결과들이 상대적으로 낮을 때, 프로세서 (204) 는 ICD 를 더 빈번하게 수행하려는 경향이 있을 것이다. 따라서, 프로세서 (204) 는 상대적으로 낮은 품질의 네트워크에 접속될 때 ICD 를 더 빈번하게 수행하려는 경향이 있을 것이다.
일 실시형태에서, 메모리 (206) 는 사전-설정된 ICD 이력 제한을 저장할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 예를 들어, 이력적 ICD 결과들, 배터리 레벨 등에 기초하여, ICD 이력 제한을 발생할 수도 있다. 또 다른 실시형태에서, 프로세서 (204) 는 ICD 이력 제한을 수신기 (212) 를 통해서 취출하여, 그 ICD 이력 제한을 메모리 (206) 에 저장할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 품질 추정 요청 또는 ICD 요청에 응답하여, 서버 (116) 로부터 ICD 이력 제한을 수신할 수도 있다. ICD 이력 제한은 품질 추정 응답 또는 ICD 응답에 포함될 수도 있다.
장기 이력에 기초하여, AP (104) 가 인터넷 접속을 제공한다고 프로세서 (204) 가 결정하면, 프로세서 (204) 는 블록 (510) 으로 속행할 수도 있다. 한편, AP (104) 가 인터넷 접속을 제공한다고 프로세서 (204) 가 결정하지 않으면, 프로세서 (204) 는 블록 (525) 으로 속행한다. 일 실시형태에서, 프로세서 (204) 는 장기 이력 결과와 관계없이, 사전 설정된 확률로, 블록 (520) 으로 속행할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 장기 이력 결과와 관계없이, 사전 설정된 확률로, 블록 (510) 으로 속행할 수도 있다.
그 후, 블록 (525) 에서, 프로세서 (204) 는 예를 들어, 액세스 확률 인자, 품질 추정 할당량 등과 같은 부하 관리 기법들과 관련하여 위에서 설명한 바와 같이, 서버 (116) 가 ICD 에 이용가능한지 여부를 결정한다. 여러 부하 관리 기법들이 BQE 와 관련하여 위에서 설명되지만, BQE 부하 관리 기법들의 하나 이상의 양태들은 ICD 부하 관리에 적용될 수도 있다. 예를 들어, STA (106) 는 BQE 또는 ICD 응답을 통해서 서버 (116) 로부터 ICD 할당량을 수신할 수도 있다. 또 다른 예로서, STA (106) 는 BQE 또는 ICD 응답을 통해서 서버 (116) 로부터 ICD 에 대한 액세스 확률 인자를 수신할 수도 있다. 서버 (116) 가 ICD 에 이용불가능하다고 프로세서 (204) 가 결정하면, 블록 (510) 에서 프로세서 (204) 는 AP (104) 가 인터넷 접속을 제공한다고 결정할 수도 있다. 한편, 서버 (116) 가 ICD 에 이용가능하다고 프로세서 (204) 가 결정하면, 블록 (530) 에서 프로세서 (204) 는 ICD 로 속행할 수도 있다.
후속하여, 블록 (530) 에서, 프로세서 (204) 는 ICD 를 개시한다. 일 실시형태에서, 프로세서 (204) 는 ICD 요청을 발생할 수도 있다. 프로세서 (204) 는 ICD 요청을 서버 (116) 로, 예를 들어, HTTP 를 통해서, 송신할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 ICD HTTP 송신을 WLAN 인터페이스에 바인딩한다. 프로세서 (204) 는 이루어진 ICD 요청들의 수를 추적하여, 그 수를 메모리 (206) 에 저장할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 ICD 요청이 전송될 ICD URI 를 발생할 수도 있다. ICD URI 는 STA (106), AP (104), 및/또는 임시 식별자의 식별 정보를 포함할 수도 있다. 임시 식별자는 예를 들어, AP (104) 의 BSSID 와 같은 키를 포함할 수도 있다. 임시 식별자는 랜덤 또는 의사랜덤 데이터를 포함할 수 있다. 임시 식별자는 STA (106), AP (104), 통신 시스템 (100), 및/또는 서버 (116) 의 식별자에 기초할 수도 있다. 일 실시형태에서, 임시 식별자는 "토큰" 으로 지칭될 수도 있다. ICD 요청은 서버 (116) 로의 ICD URI 에 대한 ICD HTTP GET 을 포함할 수 있다.
프로세서 (204) 는 서버 (116) 로부터의 응답을 위한 시간의 양을 대기할 수도 있다. 시간의 양은 ICD 타임아웃 값일 수도 있다. ICD 응답이 ICD 타임아웃 이전에 수신되면, 프로세서 (204) 는 그 응답을 시간 스탬핑할 수도 있다. ICD 응답이 예상된 위치에 키 (key) 를 포함하면, 블록 (510) 에서 프로세서 (204) 는 AP (104) 가 인터넷 접속을 제공한다고 결정할 수도 있다.
ICD 응답이 ICD 타임아웃 이내에 수신되지 않으면, 블록 (535) 에서 프로세서는 AP (104) 가 인터넷 접속을 제공하지 않는다고 결정할 수도 있다. ICD 응답이 키를 포함하고 있지 않으면, 프로세서는 AP 가 제한된 접속을 제공한다고 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 서버 (116) 의 IP 어드레스를 결정하기 위해 DNS 요청을 발생하여 전송할 수도 있다. DNS 요청이 실패하면, 블록 (510) 에서 프로세서 (204) 는 AP (104) 가 인터넷 액세스를 제공하지 않는다고 결정할 수도 있다. ICD 가 성공하거나 또는 실패하는지 여부에 관계없이, 프로세서 (204) 는 ICD 결과를 메모리 (206) 에 저장할 수도 있다.
도 6 은 통신 링크의 특성을 결정하는 방법의 일 실시형태를 예시하는 플로우차트 (600) 이다. 플로우차트 (600) 의 방법이 도 2 와 관련하여 위에서 설명한 무선 통신 시스템 (100), 및 도 2 와 관련하여 위에서 설명한 무선 디바이스 (202) 를 참조하여 본원에서 설명되지만, 당업자는 플로우차트 (600) 의 방법이 본원에서 설명되는 또 다른 디바이스, 또는 임의의 다른 적합한 디바이스에 의해 구현될 수도 있음을 알 수 있을 것이다. 일 실시형태에서, 플로우차트 (600) 에서의 단계들은 예를 들어, 프로세서 (204; 도 2) 및/또는 DSP (220; 도 2) 와 같은 프로세서 또는 제어기에 의해, 잠재적으로는, 메모리 (206; 도 2) 와 연계하여, 적어도 부분적으로, 수행될 수도 있다. 플로우차트 (600) 의 방법이 특정의 순서를 참조하여 본원에서 설명되지만, 여러 실시형태들에서, 본원에서의 블록들은 상이한 순서로 수행되거나, 또는 생략될 수도 있으며, 추가적인 블록들이 추가될 수도 있다.
먼저, 블록 (610) 에서, STA (106) 는 제 1 통신에 대한 제 1 요청을 통신 링크 (112) 를 통해서 서버 (116) 로 송신한다. 제 1 통신은 통신 링크 (112) 의 적합성을 결정하기 위한 것일 수 있다. 여러 실시형태들에서, 제 1 요청은 도 2 내지 도 4 와 관련하여 위에서 설명한 바와 같이, BQE 요청 및 ICD 요청 중 하나 이상을 포함할 수 있다. 제 1 통신은 도 2 내지 도 4 와 관련하여 위에서 설명한 바와 같이, BQE 응답 및 ICD 응답 중 하나 이상을 포함할 수 있다.
다음으로, 블록 (620) 에서, STA (106) 는 제 1 요청에 응답하여, 서버 (116) 로부터 제 1 통신을 수신한다. 서버 (116) 는 통신 링크 (112) 를 통해서 제 1 통신을 전송할 수 있다. STA (106) 는 제 1 통신을 수신기 (212) 를 경유하여 수신할 수 있다.
그 후, 블록 (630) 에서, STA (106) 는 제 1 통신에 기초하여 통신 링크 (112) 의 적합성을 결정한다. 예를 들어, 제 1 통신이 BQE 응답을 포함하는 실시형태들에서, STA (106) 는 도 4 와 관련하여 위에서 설명한 바와 같이, 플로우차트 (400) 의 하나 이상의 양태들에 따라서 통신 링크 (112) 의 적합성을 결정할 수 있다. 제 1 통신이 ICD 응답을 포함하는 실시형태들에서, STA (106) 는 도 5 와 관련하여 위에서 설명한 바와 같이, 플로우차트 (500) 의 하나 이상의 양태들에 따라서 통신 링크 (112) 의 적합성을 결정할 수 있다.
그 후, 블록 (640) 에서, STA (106) 는 결정된 복수의 네트워크들의 적합성을 식별하는 정보를 저장한다. 예를 들어, STA (106) 는 AP (104) 와 연관된 네트워크와 연계하여, 결정된 통신 링크 (112) 의 적합성을 식별하는 정보를 저장할 수 있다. 일 실시형태에서, STA (106) 는 도 2 와 관련하여 위에서 설명된, 단기 및/또는 장기 BQE 이력에 따라서, 결정된 적합성을 식별하는 정보를 저장할 수 있다. 또 다른 실시형태에서, STA (106) 는 도 5 와 관련하여 위에서 설명된, 단기 및/또는 장기 ICD 이력에 따라서, 결정된 적합성을 식별하는 정보를 저장할 수 있다.
후속하여, 블록 (650) 에서, STA 는 제 2 통신에 대한 제 2 요청을 통신 링크 (112) 를 통해서 서버 (116) 로 선택적으로 송신한다. 제 2 통신은 통신 링크 (112) 의 적합성을 결정하기 위한 것일 수 있다. 여러 실시형태들에서, 제 2 요청은 도 2 내지 도 4 와 관련하여 위에서 설명한 바와 같이, BQE 요청 및 ICD 요청 중 하나 이상을 포함할 수 있다. 제 2 통신은 도 2 내지 도 4 와 관련하여 위에서 설명한 바와 같이, BQE 응답 및 ICD 응답 중 하나 이상을 포함할 수 있다.
STA (106) 는 단기 이력, 장기 이력, 크라우드 정보, 수동적 BQE 결과, 그리고, 예를 들어, 액세스 확률 인자, 품질 추정 할당량 등과 같은 부하 관리 기법들 중 하나 이상에 기초하여, 제 2 요청을 송신할지 여부를 결정할 수 있다.
예를 들어, 제 2 통신이 BQE 응답을 포함하는 실시형태들에서, STA (106) 는 도 4 와 관련하여 위에서 설명한 바와 같이, 플로우차트 (400) 의 하나 이상의 양태들에 따라서 통신 링크 (112) 의 적합성을 결정할 수 있다. 제 2 통신이 ICD 응답을 포함하는 실시형태들에서, STA (106) 는 도 5 와 관련하여 위에서 설명한 바와 같이, 플로우차트 (500) 의 하나 이상의 양태들에 따라서 통신 링크 (112) 의 적합성을 결정할 수 있다.
도 7 은 본 발명의 예시적인 실시형태에 따른, 통신 링크의 특성을 결정하는 시스템 (700) 의 기능 블록 다이어그램이다. 당업자들은 시스템이 도 7 에 나타낸 단순화된 시스템 (700) 보다 더 많은 구성요소들을 가질 수도 있음을 알 수 있을 것이다. 나타낸 시스템 (700) 은 구현예들의 일부 두드러진 특성들을 청구항들의 범위 내에서 기술하는데 유용한 그들 구성요소들만을 오직 포함한다.
통신 링크의 특성을 결정하는 시스템 (700) 은 모바일 디바이스에서, 통신 링크의 적합성을 결정하기 위한 제 1 통신에 대한 제 1 요청을 서버로 송신하는 수단 (710), 제 1 요청에 응답하여, 서버로부터 제 1 통신을 통신 링크를 통해서 수신하는 수단 (720), 제 1 통신에 기초하여 통신 링크의 적합성을 결정하는 수단 (730), 결정된 복수의 네트워크들의 적합성을 식별하는 정보를 저장하는 수단 (740), 및 제 2 통신에 대한 제 2 요청을 통신 링크를 통해서 선택적으로 송신하는 수단 (750) 을 포함한다.
일 실시형태에서, 모바일 디바이스에서, 통신 링크의 적합성을 결정하기 위한 제 1 통신에 대한 제 1 요청을 서버로 송신하는 수단 (710) 은 블록 (610; 도 6) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 모바일 디바이스에서, 통신 링크의 적합성을 결정하기 위한 제 1 통신에 대한 제 1 요청을 서버로 송신하는 수단 (710) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), DSP (220; 도 2), 및 송신기 (210; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 제 1 요청에 응답하여, 통신 링크를 통해서, 서버로부터 제 1 통신을 수신하는 수단 (720) 은 블록 (620; 도 6) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 제 1 요청에 응답하여, 통신 링크를 통해서, 서버로부터 제 1 통신을 수신하는 수단 (720) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), DSP (220; 도 2), 및 수신기 (212; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 제 1 통신에 기초하여 통신 링크의 적합성을 결정하는 수단 (730) 은 블록 (630; 도 6) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 제 1 통신에 기초하여 통신 링크의 적합성을 결정하는 수단 (730) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), 및 DSP (220; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 결정된 복수의 네트워크들의 적합성을 식별하는 정보를 저장하는 수단 (740) 은 블록 (640; 도 6) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 결정된 복수의 네트워크들의 적합성을 식별하는 정보를 저장하는 수단 (740) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), 및 DSP (220; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 제 2 통신에 대한 제 2 요청을, 통신 링크를 통해서 선택적으로 송신하는 수단 (750) 은 블록 (650; 도 6) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 제 2 통신에 대한 제 2 요청을, 통신 링크를 통해서 선택적으로 송신하는 수단 (750) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), DSP (220; 도 2), 및 송신기 (210; 도 2) 중 하나 이상에 의해 구현될 수 있다.
도 8 은 활성 통신 링크의 특성을 결정하는 방법의 일 실시형태를 예시하는 플로우차트 (800) 이다. 플로우차트 (800) 의 방법이 도 2 와 관련하여 위에서 설명한 무선 통신 시스템 (100), 및 도 2 와 관련하여 위에서 설명한 무선 디바이스 (202) 를 참조하여 본원에서 설명되지만, 당업자는 플로우차트 (800) 의 방법이 본원에서 설명되는 또 다른 디바이스, 또는 임의의 다른 적합한 디바이스에 의해 구현될 수도 있음을 알 수 있을 것이다. 일 실시형태에서, 플로우차트 (800) 에서의 단계들은 예를 들어, 프로세서 (204; 도 2) 및/또는 DSP (220; 도 2) 와 같은 프로세서 또는 제어기에 의해, 잠재적으로는, 메모리 (206; 도 2) 와 연계하여, 적어도 부분적으로, 수행될 수도 있다. 플로우차트 (800) 의 방법이 특정의 순서를 참조하여 본원에서 설명되지만, 여러 실시형태들에서, 본원에서의 블록들은 상이한 순서로 수행되거나, 또는 생략될 수도 있으며, 추가적인 블록들이 추가될 수도 있다.
먼저, 블록 (810) 에서, STA (106) 는 활성 통신 링크를 통해서 서버 (116) 에 액세스하는 것에 대한 허용을 결정한다. 활성 통신 링크는 예를 들어, 통신 링크 (112) 일 수 있다. STA (106) 는 제 1 액세스 제한에 기초하여, 서버 (116) 에 액세스하는 것에 대한 허용을 결정한다. 일 실시형태에서, 제 1 액세스 제한은 도 3 과 관련하여 위에서 설명한, 디바이스 관리 정보 (310) 를 포함할 수 있다. 예를 들어, 제 1 액세스 제한은 액세스 확률 인자 (330; 도 3), 품질 추정 할당량 (340), BQE 캐시 기간 (350), BQE 이력 제한 (360), 수동적 BQE 지령 (370), 및/또는 어떻게 또는 언제 무선 디바이스 (202s) 가 BQE 를 수행해야 하는지를 나타내는 다른 정보를 포함할 수 있다. 여러 실시형태들에서, 제 1 액세스 제한은 예를 들어, ICD 할당량, ICD 캐시 기간, ICD 이력 제한 (360), 및/또는 어떻게 또는 언제 STA (106) 가 ICD 를 수행해야 하는지를 나타내는 다른 정보와 같은, 도 5 와 관련하여 위에서 설명한 것과 유사한 ICD 디바이스 관리 정보를 포함할 수 있다.
프로세서 (204) 는 도 2 와 관련하여 위에서 설명한 바와 같이 서버 (116) 가 BQE 및/또는 ICD 에 이용가능한지 여부를 결정할 수 있다. 일 실시형태에서, STA (106) 는 통신 네트워크 (100; 도 1) 와 같은 통신 네트워크에 접속한다. 일 실시형태에서, 프로세서 (202) 는 송신기 (210) 로 하여금 무선 디바이스 (202s) 를 AP (104) 와 연관하도록 한다. 일 실시형태에서, 프로세서 (204) 는 무선 디바이스 (202s) 가 통신 네트워크에 접속할 때마다 BQE 및/또는 ICD 를 시도할 수도 있다. 예를 들어, 프로세서 (204) 는 무선 디바이스 (202s) 가 AP (104) 와 같은 AP와 연관될 때마다 BQE 및/또는 ICD 를 시도할 수도 있다.
그 후, 블록 (820) 에서, STA (106) 는 서버에의 액세스가 이용가능할 때 서버 (116) 로부터의 통신에 대한 요청을 송신한다. 여러 실시형태들에서, 요청은 도 2 내지 도 4 와 관련하여 위에서 설명한 바와 같이, BQE 요청 및 ICD 요청 중 하나 이상을 포함할 수 있다. 송신기 (210) 는 요청을 서버 (116) 로 안테나 (216) 를 경유하여 송신할 수도 있다. 통신은 도 2 내지 도 4 와 관련하여 위에서 설명한 바와 같이, BQE 응답 및 ICD 응답 중 하나 이상을 포함할 수 있다.
후속하여, 블록 (830) 에서, STA (106) 는 요청에 응답하여, 통신 링크를 통해서, 서버 (116) 로부터 통신을 수신한다. 일 실시형태에서, 통신 링크는 백홀 통신 링크 (112) 를 포함할 수 있다. 통신은 도 2 내지 도 4 와 관련하여 위에서 설명한 바와 같이, BQE 응답 및 ICD 응답 중 하나 이상을 포함할 수 있다. 따라서, 서버 (116) 로부터의 통신은 액세스 확률 인자 (330; 도 3), 품질 추정 할당량 (340), BQE 캐시 기간 (350), BQE 이력 제한 (360), 수동적 BQE 지령 (370), 및/또는 어떻게 또는 언제 무선 디바이스 (202s) 가 BQE 를 수행해야 하는지를 나타내는 다른 정보를 포함할 수 있다. 여러 실시형태들에서, 통신은 예를 들어, ICD 할당량, ICD 캐시 기간, ICD 이력 제한 (360), 및/또는 어떻게 또는 언제 STA (106) 가 ICD 를 수행해야 하는지를 나타내는 다른 정보와 같은, 도 5 와 관련하여 위에서 설명한 것과 유사한 ICD 디바이스 관리 정보를 포함할 수 있다. 수신기 (212) 는 안테나 (216) 를 경유하여, 서버 (116) 로부터 통신을 수신할 수도 있다.
그 후, 블록 (840) 에서, STA (106) 는 서버 (116) 로부터의 통신에 기초하여 통신 링크 (112) 의 특성을 결정한다. 여러 실시형태들에서, 특성은 BQE 결과 및 ICD 결과 중 하나 이상을 포함할 수 있다. 특성은 서버 (116) 로부터의 응답에 기초한 품질 메트릭을 포함할 수 있다. 예를 들어, 프로세서 (204) 는 서버 (116) 로부터 응답을 다운로드하는데 걸리는 시간의 양을 측정하고 품질 추정 응답의 사이즈를 전송 시간으로 나눔으로써 통신 링크의 속도를 추정할 수도 있다. 프로세서 (204) 는 서버가 품질 추정 요청에 응답하는데 걸리는 시간의 양을 측정함으로써 통신 링크의 레이턴시를 추정할 수도 있다. 프로세서 (204) 는 그 응답을 수신할 때 패킷들 및 확인응답들의 송신을 모니터링함으로써 통신 링크의 패킷 지연 편차를 추정할 수도 있다. 프로세서 (204) 는 그 응답을 수신할 때 서버 (116) 에 의해 재전송된 패킷들의 수를 측정함으로써 통신 링크의 패킷 손실 레이트를 추정할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 그 특성을 메모리 (206) 에 저장할 수 있다. 프로세서 (204) 는 서버로부터의 통신에 기초하여 제 1 액세스 제한을 업데이트할 수 있다. 예를 들어, 그 응답이 디바이스 관리 정보 (310) 를 포함하는 실시형태들에서, 프로세서 (204) 는 서버 (116) 의 이용가능성을 결정할 때에 추후 사용을 위해 디바이스 관리 정보 (310) 를 메모리 (206) 에 저장할 수도 있다.
도 9 는 본 발명의 예시적인 실시형태에 따른, 활성 통신 링크의 특성을 결정하는 시스템 (900) 의 기능 블록 다이어그램이다. 당업자들은 시스템이 도 9 에 나타낸 단순화된 시스템 (900) 보다 더 많은 구성요소들을 가질 수도 있음을 알 수 있을 것이다. 나타낸 시스템 (900) 은 구현예들의 일부 두드러진 특성들을 청구항들의 범위 내에서 기술하는데 유용한 그들 구성요소들만을 오직 포함한다.
활성 통신 링크의 특성을 결정하는 시스템 (900) 은 제 1 액세스 제한에 기초하여, 활성 통신 링크를 통해 서버 액세스하는 것에 대한 허용을 결정하는 수단 (910), 액세스하는 것에 대한 허용 시에, 서버로부터의 통신에 대한 요청을 송신하는 수단 (920), 요청에 응답하여, 통신 링크를 통해서 서버로부터 통신을 수신하는 수단 (930), 및 서버로부터의 통신에 기초하여 통신 링크의 특성을 결정하는 수단 (940) 을 포함한다.
일 실시형태에서, 제 1 액세스 제한에 기초하여, 활성 통신 링크를 통해 서버 액세스하는 것에 대한 허용을 결정하는 수단 (910) 은 블록 (810; 도 8) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 제 1 액세스 제한에 기초하여, 활성 통신 링크를 통해 서버 액세스하는 것에 대한 허용을 결정하는 수단 (910) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), 및 DSP (220; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 액세스하는 것에 대한 허용 시에, 서버로부터의 통신에 대한 요청을 송신하는 수단 (920) 은 블록 (820; 도 8) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 액세스하는 것에 대한 허용 시에, 서버로부터의 통신에 대한 요청을 송신하는 수단 (920) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), DSP (220; 도 2), 및 송신기 (210; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 요청에 응답하여, 통신 링크를 통해서, 서버로부터 통신을 수신하는 수단 (930) 은 블록 (830; 도 8) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 요청에 응답하여, 통신 링크를 통해서, 서버로부터 통신을 수신하는 수단 (930) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), DSP (220; 도 2), 및 수신기 (212; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 서버로부터의 통신에 기초하여 통신 링크의 특성을 결정하는 수단 (940) 은 블록 (840; 도 8) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 서버로부터의 통신에 기초하여 통신 링크의 특성을 결정하는 수단 (940) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), 및 DSP (220; 도 2) 중 하나 이상에 의해 구현될 수 있다.
도 10 은 액세스 포인트를 통한 서버로의 접속을 검출하는 방법의 일 실시형태를 예시하는 플로우차트 (1000) 이다. 플로우차트 (1000) 의 방법이 도 2 와 관련하여 위에서 설명한 무선 통신 시스템 (100), 및 도 2 와 관련하여 위에서 설명한 무선 디바이스 (202) 를 참조하여 본원에서 설명되지만, 당업자는 플로우차트 (1000) 의 방법이 본원에서 설명되는 또 다른 디바이스, 또는 임의의 다른 적합한 디바이스에 의해 구현될 수도 있음을 알 수 있을 것이다. 일 실시형태에서, 플로우차트 (1000) 에서의 단계들은 예를 들어, 프로세서 (204; 도 2) 및/또는 DSP (220; 도 2) 와 같은 프로세서 또는 제어기에 의해, 잠재적으로는, 메모리 (206; 도 2) 와 연계하여, 적어도 부분적으로, 수행될 수도 있다. 플로우차트 (1000) 의 방법이 특정의 순서를 참조하여 본원에서 설명되지만, 여러 실시형태들에서, 본원에서의 블록들은 상이한 순서로 수행되거나, 또는 생략될 수도 있으며, 추가적인 블록들이 추가될 수도 있다.
먼저, 블록 (1010) 에서, STA (106) 는 토큰을 포함하는 접속 검출 요청을 발생한다. 일 실시형태에서, 접속 검출 요청은 도 5 와 관련하여 위에서 설명한 ICD 요청을 포함한다. 토큰은 도 5 와 관련하여 위에서 설명한 임시 식별자를 포함할 수 있다. 예를 들어, 토큰은 예를 들어, AP (104) 의 BSSID 와 같은 키를 포함할 수 있다. 토큰은 STA (106) 로 하여금, 유효한 ICD 응답과 예를 들어, 재전송된 또는 도용된 (spoofed) 로그인 프롬프트, 지불 프롬프트 등과 같은 "캡티브 포털" 정보 사이에 식별가능하게 할 수 있다.
일 실시형태에서, STA (106) 는 통신 네트워크 (100; 도 1) 와 같은 통신 네트워크에 접속한다. 일 실시형태에서, 프로세서 (202) 는 송신기 (210) 로 하여금 무선 디바이스 (202s) 를 AP (104) 와 연관하도록 한다. 일 실시형태에서, 프로세서 (204) 는 무선 디바이스 (202s) 가 통신 네트워크에 접속할 때마다 ICD 를 시도할 수도 있다. 예를 들어, 프로세서 (204) 는 무선 디바이스 (202s) 가 AP (104) 와 같은 AP와 연관될 때마다 ICD 를 시도할 수도 있다.
그 후, 블록 (1120) 에서, STA (106) 는 AP (104) 를 통해서, 서버 (116) 와 같은 서버에 어드레싱되는 접속 검출 요청을 송신한다. STA (106) 는 접속 검출 요청을 송신기 (210) 를 경유하여, 백홀 통신 링크 (112) 를 통해서 송신할 수 있다. 접속 검출 요청은 서버 (116) 로의 ICD URI 에 대한 ICD HTTP GET 을 포함할 수 있다.
다음으로, 블록 (1130) 에서, STA (106) 는 서버 (116) 로부터 접속 검출 응답을 대기한다. 일 실시형태에서, 접속 검출 응답은 도 2 내지 도 5 와 관련하여 위에서 설명한, ICD 응답을 포함할 수 있다. 일 실시형태에서, 프로세서 (204) 는 서버 (116) 로부터의 응답을 위한 시간의 양을 대기할 수도 있다. 시간의 양은 ICD 타임아웃 값일 수도 있다. ICD 응답이 ICD 타임아웃 이내에 수신되지 않으면, 프로세서는 AP (104) 가 인터넷 접속을 제공하지 않는다고 결정할 수도 있다.
후속하여, 블록 (1140) 에서, STA (106) 는 수신된 접속 검출 응답이 토큰을 포함하는지 여부를 결정한다. 일 실시형태에서, ICD 응답이 예상된 위치에 키를 포함하면, 프로세서 (204) 는 AP (104) 가 인터넷 접속을 제공한다고 결정할 수도 있다. ICD 응답이 잘못 형성되면 (예를 들어, 토큰을 분실하면), 프로세서는 AP (104) 가 인터넷 접속을 제공하지 않는다고 결정할 수도 있다. 일 실시형태에서, 프로세서 (204) 는 서버 (116) 의 IP 어드레스를 결정하기 위해 DNS 요청을 발생하여 전송할 수도 있다. DNS 요청이 실패하면, 블록 (710) 에서 프로세서 (204) 는 AP (104) 가 인터넷 액세스를 제공하지 않는다고 결정할 수도 있다. ICD 가 성공하거나 또는 실패하는지 여부에 관계없이, 프로세서 (204) 는 ICD 결과를 메모리 (206) 에 저장할 수도 있다.
도 11 은 본 발명의 예시적인 실시형태에 따른, 액세스 포인트를 통한 서버로의 접속을 검출하는 시스템 (1100) 의 기능 블록 다이어그램이다. 당업자들은 시스템이 도 11 에 나타낸 단순화된 시스템 (1100) 보다 더 많은 구성요소들을 가질 수도 있음을 알 수 있을 것이다. 나타낸 시스템 (1100) 은 구현예들의 일부 두드러진 특성들을 청구항들의 범위 내에서 기술하는데 유용한 그들 구성요소들만을 오직 포함한다.
액세스 포인트를 통한 서버로의 접속을 검출하는 시스템 (1100) 은 무선 디바이스에서, 토큰을 포함하는 접속 검출 요청을 생성하는 수단 (1110), 무선 디바이스에서, 액세스 포인트를 통해 서버에 어드레싱되는 접속 검출 요청을 송신하는 수단 (1120), 서버로부터의 접속 검출 응답을 대기하는 수단 (1130), 및 수신된 접속 검출 응답이 토큰을 포함하는지 여부를 결정하는 수단 (1140) 을 포함한다.
일 실시형태에서, 무선 디바이스에서, 토큰을 포함하는 접속 검출 요청을 생성하는 수단 (1110) 은 블록 (1010; 도 10) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 무선 디바이스에서, 토큰을 포함하는 접속 검출 요청을 생성하는 수단 (1110) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), 및 DSP (220; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 무선 디바이스에서, 액세스 포인트를 통해 서버에 어드레싱되는 접속 검출 요청을 송신하는 수단 (1120) 은 블록 (1020; 도 10) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 무선 디바이스에서, 액세스 포인트를 통해 서버에 어드레싱되는 접속 검출 요청을 송신하는 수단 (1120) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), DSP (220; 도 2), 및 송신기 (210; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 서버로부터의 접속 검출 응답을 대기하는 수단 (1130) 은 블록 (1030; 도 10) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 서버로부터의 접속 검출 응답을 대기하는 수단 (1130) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), 및 DSP (220; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 수신된 접속 검출 응답이 토큰을 포함하는지 여부를 결정하는 수단 (1140) 은 블록 (1040; 도 10) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 수신된 접속 검출 응답이 토큰을 포함하는지 여부를 결정하는 수단 (1140) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), 및 DSP (220; 도 2) 중 하나 이상에 의해 구현될 수 있다.
도 12 는 무선 네트워크에서 통신하는 방법의 일 실시형태를 예시하는 플로우차트 (1200) 이다. 플로우차트 (1200) 의 방법이 도 2 와 관련하여 위에서 설명한 무선 통신 시스템 (120), 및 도 2 와 관련하여 위에서 설명한 무선 디바이스 (202) 를 참조하여 본원에서 설명되지만, 당업자는 플로우차트 (1200) 의 방법이 본원에서 설명되는 또 다른 디바이스, 또는 임의의 다른 적합한 디바이스에 의해 구현될 수도 있음을 알 수 있을 것이다. 일 실시형태에서, 플로우차트 (1200) 에서의 단계들은 예를 들어, 프로세서 (204; 도 2) 및/또는 DSP (220; 도 2) 와 같은 프로세서 또는 제어기에 의해, 잠재적으로는, 메모리 (206; 도 2) 와 연계하여, 적어도 부분적으로, 수행될 수도 있다. 플로우차트 (1200) 의 방법이 특정의 순서를 참조하여 본원에서 설명되지만, 여러 실시형태들에서, 본원에서의 블록들은 상이한 순서로 수행되거나, 또는 생략될 수도 있으며, 추가적인 블록들이 추가될 수도 있다.
먼저, 블록 (1210) 에서, STA (106) 는 적어도 하나의 통신 링크의 네트워크 접속을 허용가능 또는 허용 불가능한 것으로 결정한다. 여러 실시형태들에서, STA (106) 는 도 4 및 도 5 와 관련하여 위에서 각각 설명한, 플로우차트들 (400) 및/또는 (500) 에 따라, 백홀 통신 링크 (112), 또는 AP (104) 와 연관된 또 다른 링크의 네트워크 접속을, 허용가능 또는 허용 불가능한 것으로 결정할 수 있다. STA (106) 는 예를 들어, WiFi 링크들, 셀룰러 링크들, Bluetooth 링크들 등과 같은, 도 1 에 도시하지 않은 하나 이상의 가용 통신 링크들 및/또는 AP들의 각각에 대한 네트워크 접속을 결정할 수 있다.
예를 들어, STA (106) 는 본원에서 설명하는 바와 같이 ICD 를 수행하고, 그리고, AP (104) 가 인터넷 접속을 제공할 때 통신 링크의 네트워크 접속이 허용가능하고, AP (104) 가 인터넷 접속을 제공하지 않을 때 허용 불가능한 것으로 결정할 수 있다. 일 실시형태에서, STA (106) 는 BQE 를 위에서 설명한 바와 같이 수행하고, 그리고, BQE 결과가 임계치를 능가할 때 통신 링크의 네트워크 접속이 허용가능하고, 그리고 BQE 결과가 임계치를 능가하지 않을 때 허용 불가능한 것으로 결정할 수 있다.
다음으로, 블록 (1220) 에서, STA (106) 는 허용 불가능한 네트워크 접속을 가진 하나 이상의 통신 링크들을 통해서 데이터의 제 1 서브세트를 송신한다. 일 실시형태에서, STA (106) 는 허용 불가능한 네트워크 접속을 가진 각각의 통신 링크를 통해서 데이터의 제 1 서브세트를 송신한다. AP (104) 가 "캡티브 포털 (captive portal)" 인 상황들에서, 허용 불가능한 통신 링크들을 통해서 데이터의 제 1 서브세트를 송신하는 것은 사용자가 로그인 프롬프트, 지불 프롬프트 등에 액세스가능하게 할 수도 있다. 허용 불가능한 통신 링크들을 통해서 데이터의 제 1 서브세트를 송신하는 것은 추가로 STA (106) 로 하여금 네트워크 접속에서의 변화들을 검출가능하게 할 수도 있다. 프로세서 (204) 는 데이터의 제 1 서브세트를 송신기 (210) 를 경유하여 송신할 수 있다.
그 후, 블록 (1230) 에서, STA (106) 는 허용가능한 네트워크 접속을 가진 하나 이상의 통신 링크들을 통해서 데이터의 제 2 서브세트를 송신한다. 일 실시형태에서, STA (106) 는 허용가능한 네트워크 접속을 가진 각각의 통신 링크를 통해서, 데이터의 제 1 서브세트를 송신한다. 허용가능한 통신 링크들을 통해서 데이터의 제 2 서브세트를 송신하는 것은 네트워크 액세스의 신뢰성 및 품질을 증가시킬 수도 있다. 여러 실시형태들에서, 데이터의 제 1 및 제 2 서브세트는 상호교차하고 있거나 또는 비-상호교차하고 있을 수도 있다. 일 실시형태에서, STA (106) 는 예를 들어, 허용 불가능한 접속을 갖는 통신 링크들과 같은, 하나 이상의 통신 링크들의 네트워크 접속을 연속적으로, 주기적으로, 또는 간헐적으로 결정할 수 있다. 프로세서 (204) 는 데이터의 제 2 서브세트를 송신기 (210) 를 경유하여 송신할 수 있다.
도 13 은 본 발명의 예시적인 실시형태에 따른, 무선 네트워크에서 통신하는 시스템 (1300) 의 기능 블록 다이어그램이다. 당업자들은 시스템이 도 13 에 나타낸 단순화된 시스템 (1300) 보다 더 많은 구성요소들을 가질 수도 있음을 알 수 있을 것이다. 나타낸 시스템 (1300) 은 구현예들의 일부 두드러진 특성들을 청구항들의 범위 내에서 기술하는데 유용한 그들 구성요소들만을 오직 포함한다.
무선 네트워크에서 통신하는 시스템 (1300) 은 적어도 하나의 통신 링크의 네트워크 접속을 허용가능 또는 허용 불가능한 것으로 결정하는 수단 (1310), 허용 불가능한 네트워크 접속을 갖는 통신 링크들을 통해서 데이터의 제 1 서브세트를 송신하는 수단 (1320), 및 허용가능한 네트워크 접속을 갖는 통신 링크들을 통해서 데이터의 제 2 서브세트를 송신하는 수단 (1330) 을 포함한다.
일 실시형태에서, 적어도 하나의 통신 링크의 네트워크 접속을 허용가능 또는 허용 불가능한 것으로 결정하는 수단 (1310) 은 블록 (1210; 도 12) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 적어도 하나의 통신 링크의 네트워크 접속을 허용가능 또는 허용 불가능한 것으로 결정하는 수단 (1310) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), DSP (220; 도 2), 송신기 (210), 및 수신기 (212) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 허용 불가능한 네트워크 접속을 갖는 통신 링크들을 통해서 데이터의 제 1 서브세트를 송신하는 수단 (1320) 은 블록 (1220; 도 12) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 허용 불가능한 네트워크 접속을 갖는 통신 링크들을 통해서 데이터의 제 1 서브세트를 송신하는 수단 (1320) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), DSP (220; 도 2), 및 송신기 (210) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 허용가능한 네트워크 접속을 갖는 통신 링크들을 통해서 데이터의 제 2 서브세트를 송신하는 수단 (1330) 은 블록 (1230; 도 12) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 허용가능한 네트워크 접속을 갖는 통신 링크들을 통해서 데이터의 제 2 서브세트를 송신하는 수단 (1330) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), DSP (220; 도 2), 및 송신기 (210) 중 하나 이상에 의해 구현될 수 있다.
도 14 는 통신 링크의 특성을 결정하는 또 다른 방법의 일 실시형태를 예시하는 플로우차트 (1400) 이다. 플로우차트 (1400) 의 방법이 도 2 와 관련하여 위에서 설명한 무선 통신 시스템 (100), 및 도 2 와 관련하여 위에서 설명한 무선 디바이스 (202) 를 참조하여 본원에서 설명되지만, 당업자는 플로우차트 (1400) 의 방법이 본원에서 설명되는 또 다른 디바이스, 또는 임의의 다른 적합한 디바이스에 의해 구현될 수도 있음을 알 수 있을 것이다. 일 실시형태에서, 플로우차트 (1400) 에서의 단계들은 예를 들어, 프로세서 (204; 도 2) 및/또는 DSP (220; 도 2) 와 같은 프로세서 또는 제어기에 의해, 잠재적으로는, 메모리 (206; 도 2) 와 연계하여, 적어도 부분적으로, 수행될 수도 있다. 플로우차트 (1400) 의 방법이 특정의 순서를 참조하여 본원에서 설명되지만, 여러 실시형태들에서, 본원에서의 블록들은 상이한 순서로 수행되거나, 또는 생략될 수도 있으며, 추가적인 블록들이 추가될 수도 있다.
먼저, 블록 (1410) 에서, STA (106) 는 통신에 대한 요청을 서버 (116) 로, 통신 링크 (112) 를 통해서 송신한다. 통신은 통신 링크 (112) 의 적합성을 결정하기 위한 것일 수 있다. 여러 실시형태들에서, 요청은 도 2 내지 도 4 와 관련하여 위에서 설명한 바와 같이, BQE 요청 및 ICD 요청 중 하나 이상을 포함할 수 있다. 통신은 도 2 내지 도 4 와 관련하여 위에서 설명한 바와 같이, BQE 응답 및 ICD 응답 중 하나 이상을 포함할 수 있다.
다음으로, 블록 (1420) 에서, STA (106) 는 요청에 응답하여 서버 (116) 로부터 통신을 수신한다. 서버 (116) 는 그 통신을 통신 링크 (112) 를 통해서 전송할 수 있다. STA (106) 는 제 1 통신을 수신기 (212) 를 경유하여 수신할 수 있다.
그 후, 블록 (1430) 에서, STA (106) 는 통신을 수신하기 위한 시간 또는 트래픽 중 적어도 하나의 타겟 양을 계산한다. 일 실시형태에서, STA 는 도 2 와 관련하여 위에서 설명한 바와 같이, BQE 를 수행하는 동안 다운로드할 데이터의 타겟 양을 계산할 수 있다. 일 실시형태에서, STA 는 도 2 와 관련하여 위에서 설명한 바와 같이, BQE 응답이 다운로드되어야 하는 최대 시간을 나타내는 BQE 타임아웃을 계산할 수 있다. STA (106) 는 요청된 파일 사이즈를 계산할 수도 있으며, 다운로드할 데이터의 타겟 양은 요청된 파일 사이즈 미만일 수 있다.
일 실시형태에서, STA (106) 는 서버까지의 라운드 트립 시간을 추정할 수 있다. STA (106) 는 서버로부터 파일을 요청하여 응답 시간을 측정할 수 있다. STA (106) 는 전송 프로토콜에 의해 사용되는 세그먼트 사이즈를 추정할 수 있다. STA (106) 는 최대 추정 레이트를 결정할 수 있다. STA (106) 는 사용할 전송 흐름들의 수를 결정할 수 있다. STA (106) 는 전송 프로토콜이 느린 시작 모드에서 소비하는 시간의 양에 대한 전송 프로토콜이 혼잡 회피 모드에서 소비하는 시간의 양의 제 1 비, 전송 흐름들의 수, 추정된 라운드 트립 시간, 추정된 세그먼트 사이즈, 및 최대 추정 레이트 중 하나 이상에 기초하여, 목표를 계산할 수 있다.
후속하여, 블록 (1440) 에서, STA (106) 는 수신된 트래픽의 양 또는 계산된 시간에 기초하여 통신을 종료한다. 예를 들어, STA (106) 는 BQE 동안 수신되는 트래픽의 양을 모니터링하여, 수신된 트래픽의 양이 트래픽의 계산된 타겟 양을 능가할 때 BQE 응답의 수신을 종료할 수 있다. 또 다른 예에서, STA (106) 는 BQE 응답을 전송하는데 걸리는 시간의 양을 측정할 수 있으며, 시간의 측정 양이 계산된 시간의 타겟 양을 능가할 때 BQE 응답의 수신을 종료할 수 있다. 따라서, STA (106) 는 BQE 응답이 완전히 다운로드되기 전에 BQE 응답의 전송을 종료할 수 있다.
그 후, 블록 (1450) 에서, STA (106) 는 서버 (116) 로부터의 통신에 기초하여 통신 링크 (112) 의 특성을 결정한다. 여러 실시형태들에서, 특성은 BQE 결과 및 ICD 결과 중 하나 이상을 포함할 수 있다. 특성은 서버 (116) 로부터의 응답에 기초한 품질 메트릭을 포함할 수 있다. 예를 들어, 프로세서 (204) 는 서버 (116) 로부터 응답을 다운로드하는데 걸리는 시간의 양을 측정하고 품질 추정 응답의 사이즈를 전송 시간으로 나눔으로써 통신 링크의 속도를 추정할 수도 있다. 프로세서 (204) 는 서버가 품질 추정 요청에 응답하는데 걸리는 시간의 양을 측정함으로써 통신 링크의 레이턴시를 추정할 수도 있다. 프로세서 (204) 는 그 응답을 수신할 때 패킷들 및 확인응답들의 송신을 모니터링함으로써 통신 링크의 패킷 지연 편차를 추정할 수도 있다. 프로세서 (204) 는 그 응답을 수신할 때 서버 (116) 에 의해 재전송된 패킷들의 수를 측정함으로써 통신 링크의 패킷 손실 레이트를 추정할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 그 특성을 메모리 (206) 에 저장할 수 있다. 프로세서 (204) 는 서버로부터의 통신에 기초하여 제 1 액세스 제한을 업데이트할 수 있다. 예를 들어, 그 응답이 디바이스 관리 정보 (310) 를 포함하는 실시형태들에서, 프로세서 (204) 는 서버 (116) 의 이용가능성을 결정할 때에 추후 사용을 위해 디바이스 관리 정보 (310) 를 메모리 (206) 에 저장할 수도 있다.
도 15 는 본 발명의 예시적인 실시형태에 따른, 통신 링크의 특성을 결정하는 또 다른 시스템 (1500) 의 기능 블록 다이어그램이다. 당업자들은 시스템이 도 15 에 나타낸 단순화된 시스템 (1500) 보다 더 많은 구성요소들을 가질 수도 있음을 알 수 있을 것이다. 나타낸 시스템 (1500) 은 구현예들의 일부 두드러진 특성들을 청구항들의 범위 내에서 기술하는데 유용한 그들 구성요소들만을 오직 포함한다.
통신 링크의 특성을 결정하는 시스템 (1500) 은 모바일 디바이스에서, 서버로부터의 통신에 대한 요청을 송신하는 수단 (1510), 요청에 응답하여, 통신 링크를 통해서 서버로부터 통신을 수신하는 수단 (1520), 통신을 수신하기 위한 시간 또는 트래픽 중 적어도 하나의 타겟 양을 계산하는 수단 (1530), 수신된 트래픽의 양 또는 계산된 시간에 기초하여 통신을 종료하는 수단 (1540), 및 서버로부터의 통신에 기초하여 통신 링크의 특성을 결정하는 수단 (1550) 을 포함한다.
일 실시형태에서, 모바일 디바이스에서, 서버로부터의 통신에 대한 요청을 송신하는 수단 (1510) 은 블록 (1410; 도 14) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 모바일 디바이스에서, 서버로부터의 통신에 대한 요청을 송신하는 수단 (1510) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), DSP (220; 도 2), 및 송신기 (210; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 요청에 응답하여, 통신 링크를 통해서 서버로부터 통신을 수신하는 수단 (1520) 은 블록 (1420; 도 14) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 요청에 응답하여, 통신 링크를 통해서 서버로부터 통신을 수신하는 수단 (1520) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), DSP (220; 도 2), 및 수신기 (212; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 통신을 수신하기 위한 시간 또는 트래픽 중 적어도 하나의 타겟 양을 계산하는 수단 (1530) 은 블록 (1430; 도 14) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 통신을 수신하기 위한 시간 또는 트래픽 중 적어도 하나의 타겟 양을 계산하는 수단 (1530) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), 및 DSP (220; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 수신된 트래픽의 양 또는 계산된 시간에 기초하여 통신을 종료하는 수단 (1540) 은 블록 (1440; 도 14) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 수신된 트래픽의 양 또는 계산된 시간에 기초하여 통신을 종료하는 수단 (1540) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), DSP (220; 도 2), 및 송신기 (210; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 서버로부터의 통신에 기초하여 통신 링크의 특성을 결정하는 수단 (1550) 은 블록 (1550; 도 14) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 서버로부터의 통신에 기초하여 통신 링크의 특성을 결정하는 수단 (1550) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), 및 DSP (220; 도 2) 중 하나 이상에 의해 구현될 수 있다.
도 16 은 통신 링크의 품질을 추정하는 일 실시형태를 예시하는 플로우차트 (1600) 이다. 플로우차트 (1600) 의 방법이 도 2 와 관련하여 위에서 설명한 무선 통신 시스템 (100), 및 도 2 와 관련하여 위에서 설명한 무선 디바이스 (202) 를 참조하여 본원에서 설명되지만, 당업자는 플로우차트 (1600) 의 방법이 본원에서 설명되는 또 다른 디바이스, 또는 임의의 다른 적합한 디바이스에 의해 구현될 수도 있음을 알 수 있을 것이다. 일 실시형태에서, 플로우차트 (1600) 에서의 단계들은 예를 들어, 프로세서 (204; 도 2) 및/또는 DSP (220; 도 2) 와 같은 프로세서 또는 제어기에 의해, 잠재적으로는, 메모리 (206; 도 2) 와 연계하여, 적어도 부분적으로, 수행될 수도 있다. 플로우차트 (1600) 의 방법이 특정의 순서를 참조하여 본원에서 설명되지만, 여러 실시형태들에서, 본원에서의 블록들은 상이한 순서로 수행되거나, 또는 생략될 수도 있으며, 추가적인 블록들이 추가될 수도 있다.
먼저, 블록 (1610) 에서, STA (106) 는 네트워크 인터페이스를 경유하여 복수의 데이터 유닛들을 수신한다. 예를 들어, STA (106) 는 수신기 (212) 를 경유해서 데이터 유닛들을 수신할 수 있다. 일 실시형태에서, STA (106) 는 예를 들어, AP (104) 에 접속된 또 다른 STA (106) 로부터와 같이, 로칼 영역 네트워크로부터 데이터 유닛들의 일부를 수신할 수도 있다. 따라서, 로칼 영역 네트워크로부터 수신되는 데이터 유닛들은 백홀 통신 링크 (112) 의 품질 또는 접속을 나타내지 않을 수도 있다. STA (106) 는 예를 들어, 네트워크 (114) 와 같은 비-로칼 네트워크로부터 데이터 유닛들의 또 다른 부분을 수신할 수도 있다. 비-로칼 네트워크로부터 수신되는 데이터 유닛들은 백홀 통신 링크 (112) 의 품질 또는 접속을 나타낼 수도 있다.
다음으로, 블록 (1620) 에서, STA (106) 는 수신된 데이터 유닛들을 네트워크 인터페이스에서 모니터링한다. 일 실시형태에서, STA (106) 는 수신기 (212) 에서 수신된 바이트들을 카운트할 수도 있으며, 소스 어드레스, 소스 서브넷, 또는 수신된 데이터 유닛들에 관련된 다른 네트워크 정보를 결정할 수도 있다. 일 실시형태에서, 서버 (116) 는 하나 이상의 데이터 유닛들을 STA (106) 로 통신 링크 (112) 를 통해서 송신할 수도 있다. 동시에, AP (104) 에 접속된 또 다른 STA 는 하나 이상의 데이터 유닛들을 STA (106) 로 송신할 수도 있다.
그 후, 블록 (1630) 에서, STA (106) 는 네트워크 인터페이스를 통해서 수신되는 각각의 데이터 유닛에 대해, 데이터 유닛이 로칼 영역 네트워크 또는 비-로칼 네트워크로부터 발신되었는지 여부를 결정한다. 예를 들어, 프로세서 (204) 는 수신기 (212) 의 서브넷 및 수신된 패킷의 서브넷을 결정할 수 있다. 프로세서 (204) 는 패킷의 서브넷이 수신기 (212) 의 서브넷과 매칭할 때, 수신된 패킷이 로칼 영역 네트워크로부터 발신되었다고 결정할 수 있다. 프로세서 (204) 는 패킷의 서브넷이 수신기 (212) 의 서브넷과 매칭하지 않을 때, 수신된 패킷이 비-로칼 영역 네트워크로부터 발신되었다고 결정할 수 있다.
여러 실시형태들에서, 프로세서 (204) 는 로칼 트래픽을, (소스 IP, 소스 서브넷, TTL (time-to-live), 멀티캐스트 또는 브로드캐스트 속성 등과 같은) 헤더 정보 및 (예를 들어, 서버 (116) 에 의해 페이로드에 포함된 식별 정보와 같은) 페이로드 정보를 포함하지만 이에 한정되지 않는 비-로칼 트래픽과 식별하기 위해, 그 패킷 내 다른 식별 정보를 이용할 수 있다. 로칼 트래픽은 또한 홉(hop) 의 수에 의해 정의되거나 또는 소스까지의 루트를 추적함으로써 결정될 수도 있다.
그 후, 블록 (1650) 에서, STA (106) 는 비-로칼 네트워크로부터 발신되는 데이터 유닛들에 기초하여 통신 링크 (112) 의 특성을 결정한다. STA (106) 는 특성을 결정할 때 비-로칼 데이터 유닛들을 오직 고려할 수도 있다. STA (106) 는 또 다른 통신 링크의 특성을 결정할 때 로칼 데이터 유닛들을 별개로 고려할 수도 있다.
여러 실시형태들에서, 특성은 BQE 결과 및 ICD 결과 중 하나 이상을 포함할 수 있다. 특성은 서버 (116) 로부터의 응답에 기초한 품질 메트릭을 포함할 수 있다. 예를 들어, 프로세서 (204) 는 서버 (116) 로부터 응답을 다운로드하는데 걸리는 시간의 양을 측정하고 품질 추정 응답의 사이즈를 전송 시간으로 나눔으로써 통신 링크의 속도를 추정할 수도 있다. 프로세서 (204) 는 서버가 품질 추정 요청에 응답하는데 걸리는 시간의 양을 측정함으로써 통신 링크의 레이턴시를 추정할 수도 있다. 프로세서 (204) 는 그 응답을 수신할 때 패킷들 및 확인응답들의 송신을 모니터링함으로써 통신 링크의 패킷 지연 편차를 추정할 수도 있다. 프로세서 (204) 는 그 응답을 수신할 때 서버 (116) 에 의해 재전송된 패킷들의 수를 측정함으로써 통신 링크의 패킷 손실 레이트를 추정할 수도 있다.
일 실시형태에서, 프로세서 (204) 는 그 특성을 메모리 (206) 에 저장할 수 있다. 프로세서 (204) 는 서버로부터의 통신에 기초하여 제 1 액세스 제한을 업데이트할 수 있다. 예를 들어, 그 응답이 디바이스 관리 정보 (310) 를 포함하는 실시형태들에서, 프로세서 (204) 는 서버 (116) 의 이용가능성을 결정할 때에 추후 사용을 위해 디바이스 관리 정보 (310) 를 메모리 (206) 에 저장할 수도 있다.
일 실시형태에서, STA (106) 는 네트워크 인터페이스가 이용가능할 경우 전송율을 측정하는 것을 시작할 수 있다. 예를 들어, STA (106) 는 AP (104) 에 접속한 후 수동적 BQE 를 수행할 수 있다. STA (106) 는 네트워크 인터페이스가 이용가능할 경우 타이머를 시작할 수 있으며, 타이머가 임계치에 도달한 후 측정을 중지할 수 있다. 측정 동안, STA (106) 는 네트워크 인터페이스를 경유해서 수신되는 바이트들을 카운트하고, 로칼 네트워크로부터 발신되는 바이트들을 폐기하거나 또는 아니면 디스카운트할 수 있다. STA (106) 는 도 2 와 관련하여 위에서 설명한 바와 같이 하나 이상의 버스트 레이트 샘플들을 계산할 수 있다. STA (106) 는 다수의 최고 버스트 레이트 샘플들의 레이트를 평균할 수 있다.
도 17 은 본 발명의 예시적인 실시형태에 따른, 통신 링크의 품질을 추정하는 시스템 (1700) 의 기능 블록 다이어그램이다. 당업자들은 시스템이 도 17 에 나타낸 단순화된 시스템 (1700) 보다 더 많은 구성요소들을 가질 수도 있음을 알 수 있을 것이다. 나타낸 시스템 (1700) 은 구현예들의 일부 두드러진 특성들을 청구항들의 범위 내에서 기술하는데 유용한 그들 구성요소들만을 오직 포함한다.
통신 링크의 품질을 추정하는 시스템 (1700) 은 네트워크 인터페이스를 통해서 데이터 유닛들을 수신하는 수단 (1710), 네트워크 인터페이스에서 수신된 데이터 유닛들을 모니터링하는 수단 (1720), 네트워크 인터페이스를 통해서 수신되는 각각의 데이터 유닛에 대해, 데이터 유닛이 로칼 영역 네트워크 또는 비-로칼 네트워크로부터 발신되었는지 여부를 결정하는 수단 (1730), 및 비-로칼 네트워크로부터 발신되는 데이터 유닛들에 기초하여 통신 링크의 특성을 계산하는 수단 (1740) 을 포함한다.
일 실시형태에서, 네트워크 인터페이스를 통해서 데이터 유닛들을 수신하는 수단 (1710) 은 블록 (1610; 도 16) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 네트워크 인터페이스를 통해서 데이터 유닛들을 수신하는 수단 (1710) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), DSP (220; 도 2), 및 수신기 (212; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 네트워크 인터페이스에서 수신된 데이터 유닛들을 모니터링하는 수단 (1720) 은 블록 (1620; 도 16) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 네트워크 인터페이스에서 수신된 데이터 유닛들을 모니터링하는 수단 (1720) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), 및 DSP (220; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 네트워크 인터페이스를 통해서 수신되는 각각의 데이터 유닛에 대해, 데이터 유닛이 로칼 영역 네트워크 또는 비-로칼 네트워크로부터 발신되었는지 여부를 결정하는 수단 (1730) 은 블록 (1630; 도 16) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 네트워크 인터페이스를 통해서 수신되는 각각의 데이터 유닛에 대해, 데이터 유닛이 로칼 영역 네트워크 또는 비-로칼 네트워크로부터 발신되었는지 여부를 결정하는 수단 (1730) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), 및 DSP (220; 도 2) 중 하나 이상에 의해 구현될 수 있다.
일 실시형태에서, 비-로칼 네트워크로부터 발신되는 데이터 유닛들에 기초하여 통신 링크의 특성을 계산하는 수단 (1740) 은 블록 (1640; 도 16) 과 관련하여 위에서 설명한 기능들 중 하나 이상을 수행하도록 구성될 수 있다. 여러 실시형태들에서, 비-로칼 네트워크로부터 발신되는 데이터 유닛들에 기초하여 통신 링크의 특성을 계산하는 수단 (1740) 은 프로세서 (204; 도 2), 메모리 (206; 도 2), 및 DSP (220; 도 2) 중 하나 이상에 의해 구현될 수 있다.
본원에서 사용될 때, 용어 "결정하는" 은 매우 다양한 액션들을 포괄한다. 예를 들어, "결정하는" 은 계산하는 것, 연산하는 것, 프로세싱하는 것, 유도하는 것, 조사하는 것, 탐색하는 것 (예컨대, 테이블, 데이터베이스 또는 또 다른 데이터 구조에서 탐색하는 것), 확인하는 것 (ascertaining) 등을 포함할 수도 있다. 또한, "결정하는" 은 수신하는 것 (예컨대, 정보를 수신하는 것), 액세스하는 것 (예컨대, 메모리 내 데이터에 액세스하는 것) 등을 포함할 수도 있다. 또한, "결정하는" 은 해결하는 (resolving), 선택하는, 선정하는, 설정하는 등을 포함할 수도 있다. 또, "채널 폭" 은 본원에서 사용될 때 어떤 양태들에서의 대역폭을 포함하거나 또는 어떤 양태들에서의 대역폭으로서 또한 지칭될 수도 있다.
본원에서 사용될 때, 아이템들의 리스트 "중 적어도 하나" 를 인용하는 어구는 단일 멤버들을 포함한, 그들 아이템들의 임의의 조합을 지칭한다. 일 예로서, "a, b, 또는 c 중 적어도 하나" 는 a, b, c, a-b, a-c, b-c, 및 a-b-c 를 포함하는 것으로 의도된다.
위에서 설명한 방법들의 여러 동작들은 여러 하드웨어 및/또는 소프트웨어 구성요소(들), 회로들, 및/또는 모듈(들) 과 같은, 그 동작들을 수행하는 것이 가능한 임의의 적합한 수단에 의해 수행될 수도 있다. 일반적으로, 도면들에 예시된 임의의 동작들은 그 동작들을 수행하는 것이 가능한 대응하는 기능적 수단에 의해 수행될 수도 있다.
본 개시물과 관련하여 설명되는 여러가지 예시적인 로직 블록들, 모듈들 및 회로들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 신호 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스 (PLD), 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 구성요소들 또는 본원에서 설명한 기능들을 수행하도록 설계된 이들의 임의의 조합으로, 구현되거나 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있으며, 그러나 대안적으로는, 프로세서는 임의의 시중에서 입수가능한 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예컨대, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이런 구성으로서 구현될 수도 있다.
하나 이상의 양태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 이 기능들은 컴퓨터-판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장되거나 또는 전달될 수도 있다. 컴퓨터-판독가능 매체들은 한 장소로부터 또 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함한, 컴퓨터 저장 매체들 및 통신 매체들 양자를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수도 있는 임의의 가용 매체들일 수도 있다. 일 예로서, 이에 한정하지 않고, 이런 컴퓨터-판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광디스크 스토리지, 자기디스크 스토리지 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 전달하거나 또는 저장하는데 사용될 수도 있으며 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 또한, 임의의 접속이 컴퓨터-판독가능 매체로 적절히 지칭된다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 이중 권선, 디지털 가입자 회선 (DSL), 또는 무선 기술들, 예컨대 적외선, 무선, 및 마이크로파를 이용하여 송신되면, 동축 케이블, 광섬유 케이블, 이중 권선, DSL, 또는 무선 기술들 예컨대 적외선, 무선, 및 마이크로파가 그 매체의 정의에 포함된다. 디스크 (disk) 및 디스크 (disc) 는, 본원에서 사용할 때, 컴팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루-레이 디스크를 포함하며, 디스크들 (disks) 은 데이터를 자기적으로 보통 재생하지만, 디스크들 (discs) 은 레이저로 데이터를 광학적으로 재생한다. 따라서, 일부 양태들에서, 컴퓨터 판독가능 매체는 비-일시성 컴퓨터 판독가능 매체 (예컨대, 유형의 매체들) 를 포함할 수도 있다. 게다가, 일부 양태들에서, 컴퓨터 판독가능 매체는 일시성 컴퓨터 판독가능 매체 (예컨대, 신호) 를 포함할 수도 있다. 앞에서 언급한 것들의 조합들이 또한 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
본원에서 설명한 방법들은 설명한 방법을 달성하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 방법 단계들 및/또는 액션들은 청구항들의 범위로부터 일탈함이 없이 서로 상호 교환될 수도 있다. 즉, 단계들 또는 액션들의 특정의 순서가 규정되지 않는 한, 특정의 단계들 및/또는 액션들의 순서 및/또는 사용은 청구항들의 범위로부터 일탈함이 없이 수정될 수도 있다.
설명된 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 그 기능들은 컴퓨터-판독가능 매체 상에 하나 이상의 명령들로서 저장될 수도 있다. 저장 매체들은 컴퓨터에 의해 액세스될 수도 있는 임의의 가용 매체들일 수도 있다. 일 예로서, 이에 한정하지 않고, 이런 컴퓨터-판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광디스크 스토리지, 자기디스크 스토리지 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 전달하거나 또는 저장하는데 사용될 수도 있으며 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 디스크 (disk) 및 디스크 (disc) 는, 본원에서 사용할 때, 컴팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크, 및 Blu-ray® 를 포함하며, 디스크 디스크들 (disks) 은 데이터를 자기적으로 보통 재생하지만, 디스크들 (discs) 은 레이저로 데이터를 광학적으로 재생한다.
따라서, 어떤 양태들은 본원에서 제시되는 동작들을 수행하는 컴퓨터 프로그램 제품을 포함할 수도 있다. 예를 들어, 이런 컴퓨터 프로그램 제품은 본원에서 설명되는 동작들을 수행하기 위해 하나 이상의 프로세서들에 의해 실행가능한 명령들을 안에 저장하고 (및/또는, 인코딩하고) 있는 컴퓨터 판독가능 매체를 포함할 수도 있다. 어떤 양태들에 있어, 컴퓨터 프로그램 제품은 패키징 재료를 포함할 수도 있다.
소프트웨어 또는 명령들은 또한 송신 매체를 통해서 송신될 수도 있다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 이중 권선, 디지털 가입자 회선 (DSL), 또는 무선 기술들, 예컨대 적외선, 무선, 및 마이크로파를 이용하여 송신되면, 동축 케이블, 광섬유 케이블, 이중 권선, DSL, 또는 무선 기술들, 예컨대 적외선, 무선, 및 마이크로파가 전송 매체의 정의에 포함된다.
또, 본원에서 설명하는 방법들 및 기법들을 수행하는 모듈들 및/또는 다른 적합한 수단은 적용가능한 경우, 사용자 단말 및/또는 기지국에 의해 다운로드되거나 및/또는 아니면 획득될 수도 있는 것으로 인식되어야 한다. 예를 들어, 이런 디바이스는 본원에서 설명하는 방법들을 수행하기 위한 수단의 전달을 용이하게 하기 위해 서버에 커플링될 수도 있다. 이의 대안으로, 본원에서 설명하는 여러 방법들은 사용자 단말 및/또는 기지국이 스토리지 수단을 디바이스에 커플링하거나 또는 제공하자 마자 여러 방법들을 획득할 수 있도록, 스토리지 수단 (예컨대, RAM, ROM, 컴팩트 디스크 (CD) 또는 플로피 디스크와 같은 물리적인 저장 매체 등) 을 통해서 제공될 수도 있다. 더욱이, 본원에서 설명하는 방법들 및 기법들을 디바이스에 제공하기 위한 임의의 다른 적합한 기법이 이용될 수도 있다.
청구항들은 위에서 예시한 엄밀한 구성 및 구성요소들에 한정되지 않는 것으로 이해되어야 한다. 여러 변경들, 변화들 및 변형들이 위에서 설명한 방법들 및 장치의 배열, 동작 및 세부 사항들에서 청구항들의 범위로부터 일탈함이 없이 이루어질 수도 있다.
전술한 것은 본 개시물의 양태들에 관한 것이지만, 본 개시물의 다른 및 추가적인 양태들은 그의 기본적인 범위로부터 일탈함이 없이 창안될 수도 있으며, 그 범위는 뒤따르는 청구항들에 의해 결정된다.

Claims (36)

  1. 통신 링크의 품질을 추정하는 방법으로서,
    네트워크 인터페이스를 통해서 데이터 유닛들을 수신하는 단계;
    수신된 상기 데이터 유닛들을 상기 네트워크 인터페이스에서 모니터링하는 단계;
    상기 네트워크 인터페이스를 통해서 수신된 각각의 데이터 유닛에 대해, 상기 데이터 유닛이 로칼 영역 네트워크로부터 발신되었는지 또는 비-로칼 네트워크로부터 발신되었는지 여부를 결정하는 단계; 및
    상기 비-로칼 네트워크로부터 발신되는 데이터 유닛들에 기초하여 상기 통신 링크의 특성을 계산하는 단계를 포함하는, 통신 링크의 품질을 추정하는 방법.
  2. 제 1 항에 있어서,
    상기 네트워크 인터페이스가 이용가능하게 될 경우 측정을 시작하는 단계;
    상기 네트워크 인터페이스가 이용가능하게 될 경우 타이머를 시작하는 단계;
    상기 타이머가 임계치에 도달한 후 상기 측정을 중지하는 단계;
    상기 네트워크 인터페이스를 통해서 데이터를 수신하는 단계;
    상기 네트워크 인터페이스를 통해서 수신된 바이트들을 카운트하는 단계로서, 로칼 네트워크로부터 발신되는 바이트들은 카운트되지 않는, 상기 네트워크 인터페이스를 통해서 수신된 바이트들을 카운트하는 단계;
    버스트 레이트 샘플들을 계산하는 단계; 및
    다수의 최고 버스트 레이트 샘플들의 레이트를 평균하는 단계를 더 포함하는, 통신 링크의 품질을 추정하는 방법.
  3. 제 1 항에 있어서,
    상기 네트워크 인터페이스의 서브넷을 결정하는 단계 및 상기 서브넷으로부터 발신되는 바이트들을 다운로드 비트 레이트로부터 배제하는 단계를 더 포함하는, 통신 링크의 품질을 추정하는 방법.
  4. 제 1 항에 있어서,
    각각의 수신된 바이트의 멀티캐스트 또는 브로드캐스트 속성을 결정하는 단계 및 상기 멀티캐스트 또는 브로드캐스트 속성을 갖는 바이트들을 배제하는 단계를 더 포함하는, 통신 링크의 품질을 추정하는 방법.
  5. 제 1 항에 있어서,
    상기 통신 링크의 추정된 품질을 서버로 송신하는 단계를 더 포함하는, 통신 링크의 품질을 추정하는 방법.
  6. 제 1 항에 있어서,
    상기 특성은 상기 통신 링크의 전송 속도를 포함하는, 통신 링크의 품질을 추정하는 방법.
  7. 제 1 항에 있어서,
    상기 특성은 상기 통신 링크의 레이턴시를 포함하는, 통신 링크의 품질을 추정하는 방법.
  8. 제 1 항에 있어서,
    상기 특성은 상기 통신 링크의 패킷 지연 편차를 포함하는, 통신 링크의 품질을 추정하는 방법.
  9. 제 1 항에 있어서,
    상기 특성은 상기 통신 링크의 패킷 에러 또는 손실 레이트를 포함하는, 통신 링크의 품질을 추정하는 방법.
  10. 통신 링크의 품질을 추정하도록 구성된 무선 디바이스로서,
    데이터 유닛들을 수신하도록 구성된 네트워크 인터페이스; 및
    프로세서를 포함하고,
    상기 프로세서는,
    수신된 상기 데이터 유닛들을 상기 네트워크 인터페이스에서 모니터링하고;
    상기 네트워크 인터페이스를 통해서 수신된 각각의 데이터 유닛에 대해, 상기 데이터 유닛이 로칼 영역 네트워크로부터 발신되었는지 또는 비-로칼 네트워크로부터 발신되었는지 여부를 결정하고; 그리고
    상기 비-로칼 네트워크로부터 발신되는 데이터 유닛들에 기초하여, 상기 통신 링크의 특성을 계산하도록
    구성되는, 통신 링크의 품질을 추정하도록 구성된 무선 디바이스.
  11. 제 10 항에 있어서,
    상기 프로세서는 추가로,
    상기 네트워크 인터페이스가 이용가능하게 될 경우 측정을 시작하고;
    상기 네트워크 인터페이스가 이용가능하게 될 경우 타이머를 시작하고;
    상기 타이머가 임계치에 도달한 후 상기 측정을 중지하고;
    상기 네트워크 인터페이스를 통해서 수신된 바이트들을 카운트하는 것으로서, 로칼 네트워크로부터 발신되는 바이트들은 카운트되지 않는, 상기 네트워크 인터페이스를 통해서 수신된 바이트들을 카운트하며;
    버스트 레이트 샘플들을 계산하고; 그리고
    다수의 최고 버스트 레이트 샘플들의 레이트를 평균하도록
    구성되는, 통신 링크의 품질을 추정하도록 구성된 무선 디바이스.
  12. 제 10 항에 있어서,
    상기 프로세서는 추가로, 상기 네트워크 인터페이스의 서브넷을 결정하고, 상기 서브넷으로부터 발신되는 바이트들을 다운로드 비트 레이트로부터 배제하도록 구성되는, 통신 링크의 품질을 추정하도록 구성된 무선 디바이스.
  13. 제 10 항에 있어서,
    상기 프로세서는 추가로, 각각의 수신된 바이트의 멀티캐스트 또는 브로드캐스트 속성을 결정하고, 상기 멀티캐스트 또는 브로드캐스트 속성을 갖는 바이트들을 배제하도록 구성되는, 통신 링크의 품질을 추정하도록 구성된 무선 디바이스.
  14. 제 10 항에 있어서,
    상기 통신 링크의 추정된 품질을 서버로 송신하도록 구성된 송신기를 더 포함하는, 통신 링크의 품질을 추정하도록 구성된 무선 디바이스.
  15. 제 10 항에 있어서,
    상기 특성은 상기 통신 링크의 전송 속도를 포함하는, 통신 링크의 품질을 추정하도록 구성된 무선 디바이스.
  16. 제 10 항에 있어서,
    상기 특성은 상기 통신 링크의 레이턴시를 포함하는, 통신 링크의 품질을 추정하도록 구성된 무선 디바이스.
  17. 제 10 항에 있어서,
    상기 특성은 상기 통신 링크의 패킷 지연 편차를 포함하는, 통신 링크의 품질을 추정하도록 구성된 무선 디바이스.
  18. 제 10 항에 있어서,
    상기 특성은 상기 통신 링크의 패킷 에러 또는 손실 레이트를 포함하는, 통신 링크의 품질을 추정하도록 구성된 무선 디바이스.
  19. 통신 링크의 품질을 추정하는 장치로서,
    네트워크 인터페이스를 통해서 데이터 유닛들을 수신하는 수단;
    수신된 상기 데이터 유닛들을 상기 네트워크 인터페이스에서 모니터링하는 수단;
    상기 네트워크 인터페이스를 통해서 수신된 각각의 데이터 유닛에 대해, 상기 데이터 유닛이 로칼 영역 네트워크로부터 발신되었는지 또는 비-로칼 네트워크로부터 발신되었는지 여부를 결정하는 수단; 및
    상기 비-로칼 네트워크로부터 발신되는 데이터 유닛들에 기초하여 상기 통신 링크의 특성을 계산하는 수단을 포함하는, 통신 링크의 품질을 추정하는 장치.
  20. 제 19 항에 있어서,
    상기 네트워크 인터페이스가 이용가능하게 될 경우 측정을 시작하는 수단;
    상기 네트워크 인터페이스가 이용가능하게 될 경우 타이머를 시작하는 수단;
    상기 타이머가 임계치에 도달한 후 상기 측정을 중지하는 수단;
    상기 네트워크 인터페이스를 통해서 데이터를 수신하는 수단;
    상기 네트워크 인터페이스를 통해서 수신된 바이트들을 카운트하는 수단으로서, 로칼 네트워크로부터 발신되는 바이트들은 카운트되지 않는, 상기 네트워크 인터페이스를 통해서 수신된 바이트들을 카운트하는 수단;
    버스트 레이트 샘플들을 계산하는 수단; 및
    다수의 최고 버스트 레이트 샘플들의 레이트를 평균하는 수단을 더 포함하는, 통신 링크의 품질을 추정하는 장치.
  21. 제 19 항에 있어서,
    상기 네트워크 인터페이스의 서브넷을 결정하는 수단 및 상기 서브넷으로부터 발신되는 바이트들을 다운로드 비트 레이트로부터 배제하는 수단을 더 포함하는, 통신 링크의 품질을 추정하는 장치.
  22. 제 19 항에 있어서,
    각각의 수신된 바이트의 멀티캐스트 또는 브로드캐스트 속성을 결정하는 수단 및 상기 멀티캐스트 또는 브로드캐스트 속성을 갖는 바이트들을 배제하는 수단을 더 포함하는, 통신 링크의 품질을 추정하는 장치.
  23. 제 19 항에 있어서,
    상기 통신 링크의 추정된 품질을 서버로 송신하는 수단을 더 포함하는, 통신 링크의 품질을 추정하는 장치.
  24. 제 19 항에 있어서,
    상기 특성은 상기 통신 링크의 전송 속도를 포함하는, 통신 링크의 품질을 추정하는 장치.
  25. 제 19 항에 있어서,
    상기 특성은 상기 통신 링크의 레이턴시를 포함하는, 통신 링크의 품질을 추정하는 장치.
  26. 제 19 항에 있어서,
    상기 특성은 상기 통신 링크의 패킷 지연 편차를 포함하는, 통신 링크의 품질을 추정하는 장치.
  27. 제 19 항에 있어서,
    상기 특성은 상기 통신 링크의 패킷 에러 또는 손실 레이트를 포함하는, 통신 링크의 품질을 추정하는 장치.
  28. 코드를 포함하는 비-일시적 컴퓨터-판독가능 매체로서,
    상기 코드는, 실행될 경우, 장치로 하여금,
    데이터 유닛들을 네트워크 인터페이스를 통해서 수신하게 하고;
    수신된 상기 데이터 유닛들을 상기 네트워크 인터페이스에서 모니터링하게 하고;
    상기 네트워크 인터페이스를 통해서 수신된 각각의 데이터 유닛에 대해, 상기 데이터 유닛이 로칼 영역 네트워크로부터 발신되었는지 또는 비-로칼 네트워크로부터 발신되었는지 여부를 결정하게 하고; 그리고
    상기 비-로칼 네트워크로부터 발신되는 데이터 유닛들에 기초하여 통신 링크의 특성을 계산하게 하는, 비-일시적 컴퓨터-판독가능 매체.
  29. 제 28 항에 있어서,
    실행될 경우, 상기 장치로 하여금,
    상기 네트워크 인터페이스가 이용가능하게 될 경우 측정을 시작하게 하고;
    상기 네트워크 인터페이스가 이용가능하게 될 경우 타이머를 시작하게 하고;
    상기 타이머가 임계치에 도달한 후 상기 측정을 중지하게 하고;
    상기 네트워크 인터페이스를 통해서 데이터를 수신하게 하고;
    상기 네트워크 인터페이스를 통해서 수신된 바이트들을 카운트하게 하는 것으로서, 로칼 네트워크로부터 발신되는 바이트들은 카운트되지 않는, 상기 네트워크 인터페이스를 통해서 수신된 바이트들을 카운트하게 하고;
    버스트 레이트 샘플들을 계산하게 하고; 그리고
    다수의 최고 버스트 레이트 샘플들의 레이트를 평균하게 하는
    코드를 더 포함하는, 비-일시적 컴퓨터-판독가능 매체.
  30. 제 28 항에 있어서,
    실행될 경우, 상기 장치로 하여금,
    상기 네트워크 인터페이스의 서브넷을 결정하게 하고, 상기 서브넷으로부터 발신되는 바이트들을 다운로드 비트 레이트로부터 배제하게 하는
    코드를 더 포함하는, 비-일시적 컴퓨터-판독가능 매체.
  31. 제 28 항에 있어서,
    실행될 경우, 상기 장치로 하여금,
    각각의 수신된 바이트의 멀티캐스트 또는 브로드캐스트 속성을 결정하게 하고, 상기 멀티캐스트 또는 브로드캐스트 속성을 갖는 바이트들을 배제하게 하는
    코드를 더 포함하는, 비-일시적 컴퓨터-판독가능 매체.
  32. 제 28 항에 있어서,
    실행될 경우, 상기 장치로 하여금,
    상기 통신 링크의 추정된 품질을 서버로 송신하게 하는
    코드를 더 포함하는, 비-일시적 컴퓨터-판독가능 매체.
  33. 제 28 항에 있어서,
    상기 특성은 상기 통신 링크의 전송 속도를 포함하는, 비-일시적 컴퓨터-판독가능 매체.
  34. 제 28 항에 있어서,
    상기 특성은 상기 통신 링크의 레이턴시를 포함하는, 비-일시적 컴퓨터-판독가능 매체.
  35. 제 28 항에 있어서,
    상기 특성은 상기 통신 링크의 패킷 지연 편차를 포함하는, 비-일시적 컴퓨터-판독가능 매체.
  36. 제 28 항에 있어서,
    상기 특성은 상기 통신 링크의 패킷 에러 또는 손실 레이트를 포함하는, 비-일시적 컴퓨터-판독가능 매체.
KR1020147010030A 2011-09-16 2012-09-17 네트워크 품질 추정, 접속 검출, 및 부하 관리를 위한 시스템들 및 방법들 KR20140068195A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161535708P 2011-09-16 2011-09-16
US61/535,708 2011-09-16
US13/612,277 2012-09-12
US13/612,277 US20130336136A1 (en) 2011-09-16 2012-09-12 Systems and methods for network quality estimation, connectivity detection, and load management
PCT/US2012/055817 WO2013040595A1 (en) 2011-09-16 2012-09-17 Systems and methods for network quality estimation, connectivity detection, and load management

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020157035568A Division KR20160003303A (ko) 2011-09-16 2012-09-17 네트워크 품질 추정, 접속 검출, 및 부하 관리를 위한 시스템들 및 방법들

Publications (1)

Publication Number Publication Date
KR20140068195A true KR20140068195A (ko) 2014-06-05

Family

ID=47046840

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157035568A KR20160003303A (ko) 2011-09-16 2012-09-17 네트워크 품질 추정, 접속 검출, 및 부하 관리를 위한 시스템들 및 방법들
KR1020147010030A KR20140068195A (ko) 2011-09-16 2012-09-17 네트워크 품질 추정, 접속 검출, 및 부하 관리를 위한 시스템들 및 방법들

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020157035568A KR20160003303A (ko) 2011-09-16 2012-09-17 네트워크 품질 추정, 접속 검출, 및 부하 관리를 위한 시스템들 및 방법들

Country Status (6)

Country Link
US (1) US20130336136A1 (ko)
EP (1) EP2756633A1 (ko)
JP (2) JP5969611B2 (ko)
KR (2) KR20160003303A (ko)
CN (1) CN103907315B (ko)
WO (1) WO2013040595A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10627165B2 (en) 2016-09-13 2020-04-21 Samsung Electronics Co., Ltd. Heat exchanger

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9736045B2 (en) 2011-09-16 2017-08-15 Qualcomm Incorporated Systems and methods for network quality estimation, connectivity detection, and load management
US10341245B2 (en) * 2014-03-24 2019-07-02 Vmware, Inc. Bursty data transmission in a congestion controlled network
CN105376138B (zh) 2014-08-28 2019-11-19 腾讯科技(深圳)有限公司 一种联系人添加的方法、数据传输的方法、及用户设备
US10735293B2 (en) * 2014-11-27 2020-08-04 Cellos Software Ltd Method and network monitoring device for estimating web page download time on a user device
CN105162761B (zh) * 2015-07-28 2018-10-12 上海斐讯数据通信技术有限公司 一种Portal认证URL的动态选择方法、系统、及无线接入点
EP3391685A4 (en) 2016-02-02 2019-07-10 Nec Corporation METHOD AND DEVICE FOR COMMUNICATION BASED ON SHORT TRANSMISSION TIME INTERVALS IN A WIRELESS COMMUNICATION SYSTEM
US10085161B1 (en) * 2016-02-17 2018-09-25 Sprint Spectrum L.P. Dynamic variation of radio link failure timer duration for relay backhaul link, with timer duration being set based on number of served UEs
WO2017213794A1 (en) * 2016-06-06 2017-12-14 Symbol Technologies, Llc Client device and method for analysis of a predetermined set of parameters associated with radio coupling to a wlan
CN108270641B (zh) * 2017-11-28 2021-08-17 中国电子科技集团公司电子科学研究院 一种天地一体化信息网络性能的测试方法及装置
SE542531C2 (en) * 2017-12-22 2020-06-02 Epiroc Rock Drills Ab Controlling communication of a mining and / or construction machine
KR102169113B1 (ko) * 2019-04-16 2020-10-22 주식회사 엘지헬로비전 Ap 관리 시스템 및 이를 이용한 스마트 유지 보수 방법
CN111666194B (zh) * 2020-05-21 2022-02-08 平安科技(深圳)有限公司 加压参数自适应调节方法、装置、计算机设备及存储介质
US20230065594A1 (en) * 2021-08-30 2023-03-02 Facebook Technologies, Llc Systems and methods for network traffic shaping

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020165956A1 (en) * 2001-05-07 2002-11-07 Peter Phaal Traffic driven scheduling of active tests
US7065482B2 (en) * 2001-05-17 2006-06-20 International Business Machines Corporation Internet traffic analysis tool
JP2004015497A (ja) * 2002-06-07 2004-01-15 Canon Inc 複合機におけるネットワーク受信制限システム
US20040196840A1 (en) * 2003-04-04 2004-10-07 Bharadwaj Amrutur Passive measurement platform
JP4288994B2 (ja) * 2003-04-10 2009-07-01 株式会社日立製作所 端末装置、配信サーバ、映像データの受信方法及び映像データの送信方法
FR2869489B1 (fr) * 2004-04-27 2006-07-28 Alcatel Sa Correlation de mesures passives de type bout-en-bout, au moyen de filtres hierarchises
CN101056218B (zh) * 2006-04-14 2012-08-08 华为技术有限公司 一种网络性能测量方法及系统
US7768928B2 (en) * 2006-07-11 2010-08-03 Corrigent Systems Ltd. Connectivity fault management (CFM) in networks with link aggregation group connections
CN101523809B (zh) * 2006-09-28 2012-09-05 高通股份有限公司 用于确定通信链路质量的方法和装置
EP2731376B1 (en) * 2007-01-19 2017-06-28 NTT DoCoMo, Inc. Base station apparatus
US8331399B2 (en) * 2007-05-07 2012-12-11 Qualcomm Incorporated Re-using sequence number by multiple protocols for wireless communication
DE102007042588B4 (de) * 2007-09-07 2009-06-04 Siemens Ag Vorrichtung und Verfahren zum Überwachen von Datenflüssen
JP2009267925A (ja) * 2008-04-28 2009-11-12 Nec Corp 苦情発生予測システム、サーバ、苦情発生予測方法、及びプログラム
JP5337879B2 (ja) * 2008-09-29 2013-11-06 株式会社東芝 複数のネットワークアクセスポイントの事前評価
TW201119285A (en) * 2009-07-29 2011-06-01 Ibm Identification of underutilized network devices
CN102356614A (zh) * 2009-11-18 2012-02-15 松下电器产业株式会社 通信介质判定装置以及通信介质判定方法
KR101427740B1 (ko) * 2010-01-07 2014-08-07 닛본 덴끼 가부시끼가이샤 무선 통신 시스템, 무선 단말, 무선 기지국, 방법, 및 기록 매체
US8767576B2 (en) * 2011-08-17 2014-07-01 Verizon Patent And Licensing Inc. Accessing an application based on a level of service quality

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10627165B2 (en) 2016-09-13 2020-04-21 Samsung Electronics Co., Ltd. Heat exchanger

Also Published As

Publication number Publication date
CN103907315A (zh) 2014-07-02
JP5969611B2 (ja) 2016-08-17
KR20160003303A (ko) 2016-01-08
CN103907315B (zh) 2017-10-27
JP2014531817A (ja) 2014-11-27
WO2013040595A1 (en) 2013-03-21
US20130336136A1 (en) 2013-12-19
EP2756633A1 (en) 2014-07-23
JP2016174366A (ja) 2016-09-29

Similar Documents

Publication Publication Date Title
KR101618062B1 (ko) 네트워크 품질 추정, 접속 검출, 및 부하 관리를 위한 시스템들 및 방법들
JP5969611B2 (ja) ネットワーク品質の推定、接続性の検出、および負荷の管理のためのシステムおよび方法
JP5814473B2 (ja) ネットワーク品質の推定、接続性の検出、および負荷の管理のためのシステムおよび方法
US9736045B2 (en) Systems and methods for network quality estimation, connectivity detection, and load management
US9414248B2 (en) System and methods for estimation and improvement of user, service and network QOE metrics
US9215609B2 (en) Method and system for measuring wireless link quality
KR101556869B1 (ko) 네트워크 품질 추정, 접속 검출, 및 부하 관리를 위한 시스템들 및 방법들
Daldoul et al. Block negative acknowledgement protocol for reliable multicast in IEEE 802.11

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J301 Trial decision

Free format text: TRIAL NUMBER: 2015101007441; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20151215

Effective date: 20170306