KR101682080B1 - 컴퓨팅 디바이스의 무선 재연결 시간 감소 - Google Patents

컴퓨팅 디바이스의 무선 재연결 시간 감소 Download PDF

Info

Publication number
KR101682080B1
KR101682080B1 KR1020157005078A KR20157005078A KR101682080B1 KR 101682080 B1 KR101682080 B1 KR 101682080B1 KR 1020157005078 A KR1020157005078 A KR 1020157005078A KR 20157005078 A KR20157005078 A KR 20157005078A KR 101682080 B1 KR101682080 B1 KR 101682080B1
Authority
KR
South Korea
Prior art keywords
wireless access
wireless
computing device
access point
connection
Prior art date
Application number
KR1020157005078A
Other languages
English (en)
Other versions
KR20150039806A (ko
Inventor
아드리안 반 데 벤
제임스 쿠쿠나스
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20150039806A publication Critical patent/KR20150039806A/ko
Application granted granted Critical
Publication of KR101682080B1 publication Critical patent/KR101682080B1/ko

Links

Images

Classifications

    • H04W76/028
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/20Selecting an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/19Connection re-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices
    • Y02B60/50

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physiology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

무선 액세스 포인트로의 연결 시간을 감소시키기 위한 기술은 로그에 무선 연결 정보를 기록하는 것; 로그에서의 과거 무선 연결 정보의 함수로서 파라미터들을 계산하는 것; 로그에서의 최근 무선 연결 정보의 함수로서 원하는 시간에 재연결에 이용가능할 가능성이 가장 큰 무선 액세스 포인트들의 정렬 리스트를 생성하는 것; 및 무선 액세스 포인트 스캐닝을 개시하는 것 대신에 무선 액세스 포인트를 직접적으로 탐색하는 것을 포함한다. 몇몇 실시예들에서, 로그에서의 과거 무선 연결 정보의 함수로서 파라미터들을 계산하는 것은 원하는 시간에 재연결에 이용가능할 가능성이 가장 큰 무선 액세스 포인트들의 추후 예측을 위한 예측 프로그램들을 생성하기 위해 유전적 프로그래밍 연산들을 실행하는 것을 포함한다.

Description

컴퓨팅 디바이스의 무선 재연결 시간 감소{REDUCING WIRELESS RECONNECTION TIME OF A COMPUTING DEVICE}
랩톱들, 스마트폰들, MID들(mobile internet devices), 및 태블릿들과 같은, 요즈음의 컴퓨팅 디바이스들은 하나 이상의 네트워크들과 무선으로 연결하기 위한 기능성을 종종 포함한다. 그와 같은 기능성은 종종 임의 개수의 상이한 로케이션들 사이에서 돌아다니지만 여전히 원격 컴퓨팅 디바이스 또는 서버에 의해 제공되는 네트워크 기반 콘텐츠 및 서비스들에 대한 접근을 요구하는 컴퓨팅 디바이스들의 사용자들에게 점점 더 중요해지고 있다. 그와 같은 접근을 제공함에 있어서, 컴퓨팅 디바이스는 각각이 인터넷과 같은 네트워크에 연결되는 하나 이상의 상이한 무선 액세스 포인트들과 무선으로 연결할 수 있다.
특정 무선 액세스 포인트에 재연결하는 데에 요구되는 시간을 줄이기 위해, 컴퓨팅 디바이스는 자신이 연결되는 각각의 무선 액세스 포인트와 연관되는 패스워드 및 식별자를 저장할 수 있다. 그에 따라, 연결될 이용 가능한 무선 액세스 포인트들을 스캐닝할 때, 컴퓨팅 디바이스는 저장된 식별자들 중 하나와 일치하는 식별자를 수신할 수 있다. 응답하여, 컴퓨팅 디바이스는 대응하는 패스워드를 이용하여 수신된 식별자와 연관되는 무선 액세스 포인트에 재연결하고 그에 의해 연결하는 데에 필요한 시간을 줄일 수 있다. 그러나, 컴퓨팅 디바이스가 연결되는 각각의 무선 액세스 포인트에 대해 식별자 및 패스워드를 저장하는 것은 연결될 이용 가능한 무선 액세스 포인트들을 스캐닝하는 데에 필요한 시간을 통상적으로는 줄이지 못한다.
본 개시에서 기술되는 개념들은 첨부 도면들에서 예를 들기 위해 예시된 것이고 한정을 위한 것이 아니다. 예시의 단순화 및 명확화를 위해, 도면에 도시된 요소들은 반드시 일정한 비례로 그려진 것은 아니다. 예컨대, 몇몇 요소들의 치수들은 명확성을 위해 다른 요소들에 비해 과장될 수 있다. 또한, 적절하다고 여겨지는 경우에는, 참조 부호들이 대응하는 또는 유사한 요소들을 표시하기 위해 도면들 중에서 반복되었다.
도 1은 컴퓨팅 디바이스의 무선 재연결 시간을 줄이기 위해 이용 가능한 무선 액세스 포인트를 예측하기 위한 시스템의 적어도 하나의 실시예의 단순화된 블록도이다;
도 2는 무선 액세스 포인트에게 도 1의 컴퓨팅 디바이스를 무선으로 재연결시키기 위한 시스템의 적어도 하나의 실시예의 단순화된 블록도이다;
도 3은 도 1 및 도 2의 컴퓨팅 디바이스의 환경의 적어도 하나의 실시예의 단순화된 블록도이다;
도 4 및 도 5는 도 1 및 도 2의 무선 액세스 포인트와 컴퓨팅 디바이스 사이의 무선 재연결 시간을 줄이기 위해 이용 가능한 무선 액세스 포인트를 예측하기 위한 방법의 적어도 하나의 실시예의 단순화된 흐름도들이다; 및
도 6은 이용 가능한 무선 액세스 포인트를 예측하기 위해 도 1 및 도 2의 컴퓨팅 디바이스에 의해 파라미터들을 계산하기 위한 방법의 적어도 하나의 실시예의 단순화된 흐름도이다.
본 개시의 개념들이 다양한 변경들 및 대안 형태들을 허용하는 한편으로, 본 개시의 특정 실시예들이 도면들에서 예에 의해 도시되었으며 본 명세서에서 상세히 설명될 것이다. 그러나, 본 개시의 개념들을 개시된 특정 형태들에만 한정하고자 하는 의도는 없으며, 오히려 그와 반대로 본 개시 및 첨부된 청구 범위들과 일치하는 모든 변경들, 균등물들 및 대안들을 포괄하고자 의도하는 것을 이해해야 한다.
하기 설명에서는, 본 개시의 더 철저한 이해를 제공하기 위해, 로직 구현, opcode, 피연산자를 특정하기 위한 수단, 리소스 분할/공유/복제 구현, 시스템 컴포넌트의 유형 및 상호 관계, 및 로직 분할/통합 선택과 같은 수많은 특정 상세 사항들이 제시된다. 그러나, 통상의 기술자라면 본 개시의 실시예가 그러한 특정 상세 사항 없이도 실시될 수 있음을 인식할 것이다. 다른 경우에서는, 본 명세서에서 설명되는 개념들의 기술을 모호하게 하지 않기 위해, 제어 구조, 게이트 레벨 회로 및 전체 소프트웨어 명령어 시퀀스는 상세히 보여지지 않았다. 관련 분야의 통상의 기술자들은, 포함된 설명들을 이용하여, 과도한 실험 없이도 적절한 기능성을 구현할 수 있을 것이다.
본 명세서에서 "일 실시예", "실시예", 또는 "예시적 실시예", 기타 등등을 참조하는 것은 기술된 실시예가 특정한 특징, 구조, 또는 특성을 포함할 수 있지만, 모든 실시예마다 반드시 그 특정한 특징, 구조, 또는 특성을 포함할 필요는 없을 것임을 나타낼 것이다. 더욱이, 이러한 구문들이 동일한 실시예를 반드시 가리키는 것도 아니다. 또한, 특정한 특징, 구조, 또는 특성이 일 실시예와 관련하여 기술되었을 때, 그러한 것들이 명시적으로 기술되었든지 그렇지 않든지 간에 다른 실시예들과 관련하여 특정한 특징, 구조, 또는 특성을 달성하는 것은 관련 분야의 통상의 기술자의 지식 범위 내에 있음을 말해 두고자 한다.
본 명세서에서 설명되는 개념들의 실시예들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의 조합으로 구현될 수 있다. 컴퓨터 시스템에서 구현되는 실시예들은 컴포넌트들 사이의 하나 이상의 포인트 투 포인트 또는 버스 기반 상호 접속을 포함할 수 있다. 본 명세서에서 설명되는 개념들의 실시예들은, 하나 이상의 프로세서에 의해 판독 및 실행될 수 있는, 하나 이상의 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체에 의해 전달되거나 그 상에 저장되는 명령어들로서 또한 구현될 수 있다. 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체는 기계(예로서, 컴퓨팅 디바이스)에 의해 판독될 수 있는 형태로 정보를 저장 또는 전송하기 위한 임의의 디바이스, 메커니즘, 또는 물리적 구조로서 구체화될 수 있다. 예를 들어, 기계 판독 가능 또는 컴퓨터 판독 가능 저장 매체는 ROM(read only memory) 디바이스(들); RAM(random access memory) 디바이스(들); 자기 디스크 저장 매체; 광학 저장 매체; 플래시 메모리 디바이스; 미니 또는 마이크로 SD 카드, 메모리 스틱, 및 기타의 것으로서 구체화될 수 있다.
도면들에서, 디바이스, 모듈, 명령어 블록 및 데이터 성분을 표현하는 것들과 같은 도식적 요소들의 특정 배열들 또는 순서들은 설명 편의를 위해 도시될 수 있다. 그러나, 도면들의 도식적 요소들의 특정 순서 또는 배열은 처리의 특정 순서 또는 시퀀스, 또는 처리들의 분리가 요구되는 것을 함의하고자 하는 것은 아니라는 것을 이해해야 한다. 또한, 한 도면에 한 도식적 요소를 포함하는 것은 그러한 요소가 모든 실시예들에서 요구된다거나, 또는 그러한 요소에 의해 표현되는 특징들이 몇몇 실시예들에서 다른 요소들 내에 포함되지 않을 수 있거나 또는 이들과 조합되지 않을 수 있다는 것을 함의하고자 하는 것도 아니다.
일반적으로, 명령어 블록들을 표현하는 데 사용되는 도식적 요소들은 소프트웨어 또는 펌웨어 애플리케이션, 프로그램, 함수, 모듈, 루틴, 프로세스, 프로시저, 플러그인, 애플릿, 위젯, 코드 프래그먼트 및/또는 다른 것과 같은 임의의 적절한 형태의 기계 판독 가능 명령어를 이용하여 구현될 수 있으며, 각각의 그러한 명령어는 임의의 적절한 프로그래밍 언어, 라이브러리, 애플리케이션 프로그래밍 인터페이스(API), 및/또는 다른 소프트웨어 개발 도구들을 이용하여 구현될 수 있다. 예를 들어, 몇몇 실시예들은 자바, C++, 및/또는 다른 프로그래밍 언어들을 이용하여 구현될 수 있다. 유사하게, 데이터 또는 정보를 표현하는 데 사용되는 도식적 요소들은 레지스터, 데이터 스토어, 테이블, 레코드, 어레이, 인덱스, 해시, 맵, 트리, 리스트, 그래프, (임의의 파일 유형의) 파일, 폴더, 디렉토리, 데이터베이스, 및/또는 다른 것과 같은 임의의 적절한 전자적 배열 또는 구조를 이용하여 구현될 수 있다.
또한, 실선 또는 점선 또는 화살표와 같은 연결 요소들이 둘 이상의 다른 도식적 요소 간의 또는 그 중에서의 연결, 관계성 또는 연관성을 예시하는 데 사용되는 도면들에서, 임의의 그러한 연결 요소들의 부재가 어떤 연결, 관계성 또는 연관성도 존재하지 않는다는 것을 함의하고자 의도하는 것은 아니다. 다시 말하면, 요소들 간의 어떤 연결, 관계성 또는 연관성은 본 개시를 모호하게 하지 않기 위해 도면들에 도시되지 않을 수 있다. 게다가, 예시의 편의를 위해, 단일 연결 요소를 이용하여, 요소들 간의 다중 연결, 관계성 또는 연관성을 표현할 수 있다. 예컨대, 한 연결 요소가 신호들, 데이터 또는 명령어들의 통신을 표현하는 경우에, 관련 분야의 통상의 기술자들은 그러한 요소가 그 통신을 달성하기 위해, 필요할 수 있는 바에 따라, 하나 또는 다중 신호 경로(예로서, 버스)를 표현할 수 있다는 것을 이해해야 한다.
도 1을 이제 참조하면, 무선 연결을 재확립하는 데에 요구되는 시간을 줄이기 위한 시스템(100)은 컴퓨팅 디바이스(102) 및 하나 이상의 무선 액세스 포인트들(110)을 포함한다. 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스(102)의 현재 맥락(context) 및 이력 연결 정보에 적어도 부분적으로 기초하여, 또는 다른 경우에는 이것들의 함수로서 무선 액세스 포인트들(110) 중 하나 이상과의 무선 연결을 재확립(re-establish)하려고 시도할 수 있다. 덧붙여 또는 대안적으로, 컴퓨팅 디바이스(102)는 주어진 시간에 컴퓨팅 디바이스(102)의 범위 내에 있을 가능성이 가장 큰(예를 들어, 가장 가능성 있는) 무선 액세스 포인트들(110)의 그룹(160, 170)을 예측할 수 있다. 그렇게 하기 위하여, 컴퓨팅 디바이스(102)는 각각의 무선 액세스 포인트들(110)이 주어진 시간에 재연결에 이용 가능할(예를 들어, 컴퓨팅 디바이스(102)의 범위에서, 기타 등등에서 액세스 가능한) 가능성(예로, 확률)을 결정하기 위해 컴퓨팅 디바이스(102)의 이력 연결 정보 및 현재 맥락의 모두를 분석할 수 있다. 해당 분석에 적어도 부분적으로 기초하여, 또는 다른 경우에는 해당 분석의 함수로서, 컴퓨팅 디바이스(102)는 재연결에 이용가능한 최고의 확률들을 갖는 무선 액세스 포인트들(110)(예를 들어, 상부의 4개의 무선 액세스 포인트(110))의 참조 번호를 포함하는 정렬 리스트를 생성할 수 있다. 즉, 컴퓨팅 디바이스(102)는 각각에 대해 결정된 확률에 따라 내림차순으로 배열된 무선 액세스 포인트들(110)의 정렬 리스트를 생성할 수 있다.
몇몇 실시예들에서, 컴퓨팅 디바이스(102)는 상이한 그룹들(160, 170)을 예측하고 또한 컴퓨팅 디바이스(102)의 맥락 및/또는 이력 연결 정보에 적어도 부분적으로 기초하여, 또는 다른 경우에는 이것들의 함수로서 무선 액세스 포인트들(110)의 대응하는 정렬 리스트들을 생성할 수 있다. 예를 들어, 컴퓨팅 디바이스(102)는 한 주의 특정 요일(a particular day of the week) 또는 하루 중 특정 시간(a particular time of day)에 기초하여 임의 개수의 상이한 로케이션들(120, 140)에서 활용될 수 있다. 즉, 컴퓨팅 디바이스(102)는 주 중에 어느 한 로케이션(120)(예를 들어, 사무실 건물)에서 및 주말에 또 다른 로케이션(140)(예를 들어, 집)에서 작동될 수 있다. 각각의 로케이션들(120, 140)에서, 컴퓨팅 디바이스(102)는 임의 개수의 상이한 무선 액세스 포인트들(110)과 무선 연결을 확립할 수 있거나, 또는 다른 경우에는 이들과 접촉할 수 있다. 예를 들어, 주 중에 사무실 건물에 자리 잡은 동안(예를 들어, 로케이션(120)), 컴퓨팅 디바이스(102)는 임의 개수의 무선 액세스 포인트들(110)(예를 들어, AP 122, AP 124, AP 126, AP 128, AP 130, 및 AP 132)과의 하나 이상의 무선 연결들을 확립하거나 및/또는 이들과 접촉할 수 있다. 대조적으로 주말에 집에 자리 잡은 동안(예를 들어, 로케이션(140)), 컴퓨팅 디바이스(102)는 임의 개수의 상이한 무선 액세스 포인트들(110)(예를 들어, AP 142, AP 144, AP 146, AP 148, AP 150, 및 AP 152)과 하나 이상의 무선 연결들을 확립하거나 및/또는 이들과 접촉할 수 있다. 그와 같은 실시예들에서, 컴퓨팅 디바이스(102)는 무선 액세스 포인트들(110)의 그룹(160, 170)이 특정 시간에 무선 연결의 재확립에 이용 가능할 가능성이 더 크다고 예측할 수 있다. 예를 들어, 컴퓨팅 디바이스(102)는 무선 액세스 포인트들(110)(예를 들어, AP 122, AP 124, AP 126, 및 AP 128)의 그룹(160)이 예측되는 주 중의 요일 또는 하루 중 시간에 적어도 부분적으로 기초하여, 또는 다른 경우에는 이것들의 함수로서 다른 무선 액세스 포인트들(110)(예를 들어, AP 130 및 AP 132)보다 무선 연결을 재확립하는 데에 이용 가능할 가능성이 더 크다고 결정할 수 있다.
어느 로케이션(120, 140)에서든, 임의 개수의 부가적 무선 액세스 포인트들(110)이 있을 수 있다는 것을 이해해야 한다. 게다가, 단지 두 개의 상이한 로케이션(120, 140) 및 로케이션들의 유형들(예를 들어, 사무실 건물과 집)이 예시적 실시예에서 기술되기는 하였지만, 컴퓨팅 디바이스(102)가 임의 개수의 로케이션들(120, 140) 및/또는 임의의 다른 유형의 로케이션에서 임의 개수의 상이한 무선 액세스 포인트들(110)과 무선 연결을 확립할 수 있거나 및/또는 이들과 접촉할 수 있다는 것을 추가로 이해해야 한다. 예를 들어, 몇몇 실시예들에서, 컴퓨팅 디바이스(102)는 공항, 소매점, 식당, 호텔, 및/또는 무선 액세스 포인트들(110) 중 하나 이상을 포함하는 임의의 다른 유형의 로케이션에서 무선 액세스 포인트들(110) 중 하나 이상과 무선 연결을 확립할 수 있다.
무선 연결을 재확립하는 데에 필요한 시간을 줄이기 위해, 컴퓨팅 디바이스(102)는 정렬 리스트에 적어도 부분적으로 기초하여, 또는 다른 경우에는 이것의 함수로서 프로브 프레임(probe frame) 또는 지향성 연결 요청(directed connection request)을 무선 액세스 포인트들(110) 중 하나 이상에게 전송할 수 있다. 무선 액세스 포인트들(110) 중 하나 이상이 탐색(probe) 시에 컴퓨팅 디바이스(102)의 범위 내에 있다면, 하나 이상의 범위 내 무선 액세스 포인트들(110)은 프로브 프레임에 대한 응답을 생성하고 그 후에 이 응답을 전송할 수 있다. 프로브 응답의 수신 시에, 컴퓨팅 디바이스(102)는 대응하는 무선 액세스 포인트(110)와 무선 연결을 재확립할 수 있다. 주어진 시간에 무선 연결을 재확립하는 데에 이용 가능할 가능성이 가장 큰 무선 액세스 포인트들(110)을 예측하고 직접적으로 탐색함으로써, 컴퓨팅 디바이스(102)는 통상적으로 완료하는 데에 상당한 시간이 걸리는 무선 액세스 포인트 스캐닝을 개시할 필요가 없다. 해당 방식으로, 무선 연결을 재확립하는 데에 필요한 시간이 감소될 수 있다.
컴퓨팅 디바이스(102)는 데이터를 처리하고 원격 디바이스들과 통신하기 위한 임의 유형의 컴퓨팅 디바이스로서 구체화될 수 있다. 도 2의 예시적 실시예에서, 컴퓨팅 디바이스(102)는 프로세서(204), I/O 서브시스템(210), 메모리(208), 데이터 스토리지(212), 통신 회로(218), 및 하나 이상의 주변 장치들(220)을 포함한다. 몇몇 실시예들에서, 상기 컴포넌트들 중 몇 개는 컴퓨팅 디바이스(102)의 머더보드상에 통합될 수 있는 한편, 다른 컴포넌트들은 예컨대 주변 포트를 통해 머더보드와 통신 가능하게 결합될 수 있다. 더욱이, 컴퓨팅 디바이스(102)는 설명의 명확화를 위해 도 2에 예시되지 않았지만 컴퓨팅 디바이스에서 일반적으로 발견되는 다른 컴포넌트들, 서브컴포넌트들, 및 디바이스들을 포함할 수 있다는 것을 인식해야 한다.
컴퓨팅 디바이스(102)의 프로세서(204)는 소프트웨어/펌웨어를 실행할 수 있는 임의 유형의 프로세서, 이를 테면, 마이크로프로세서, 디지털 신호 프로세서, 마이크로컨트롤러, 또는 그와 유사한 것으로서 구현될 수 있다. 프로세서(204)는 프로세서 코어(206)를 갖는 단일 코어 프로세서로서 예시적으로 구체화된다. 그러나, 다른 실시예들에서, 프로세서(204)는 다중 프로세서 코어(206)를 갖는 다중 코어 프로세서로서 구체화될 수 있다. 덧붙여, 컴퓨팅 디바이스(102)는 하나 이상의 프로세서 코어들(206)을 갖는 부가적 프로세서들(204)을 포함할 수 있다.
컴퓨팅 디바이스(102)의 I/O 서브시스템(210)은 컴퓨팅 디바이스(102)의 프로세서(204) 및/또는 다른 컴포넌트들과의 입/출력 동작들을 용이하게 하기 위한 회로 및/또는 컴포넌트들로서 구체화될 수 있다. 몇몇 실시예들에서, I/O 서브시스템(210)은 메모리 컨트롤러 허브(MCH 또는 "노스브리지(northbridge)"), 입/출력 컨트롤러 허브(ICH 또는 "사우스브리지(southbridge)"), 및 펌웨어 디바이스로서 구체화될 수 있다. 그러한 실시예들에서, I/O 서브시스템(210)의 펌웨어 디바이스는 BIOS(Basic Input/Output System) 데이터 및/또는 명령어들 및/또는 다른 정보(예컨대, 컴퓨팅 디바이스(102)의 부팅 동안에 사용되는 BIOS 드라이버)를 저장하기 위한 메모리 디바이스로서 구체화될 수 있다. 그러나, 다른 실시예들에서, 다른 구성들을 갖는 I/O 서브시스템들이 사용될 수 있다. 예컨대, 몇몇 실시예들에서, I/O 서브시스템(210)은 플랫폼 컨트롤러 허브(PCH)로서 구체화될 수 있다. 이런 실시예들에서, 메모리 컨트롤러 허브(MCH)는 프로세서(204) 내에 통합되거나 다른 경우에는 그와 연관될 수 있고, 프로세서(204)는 (도 2의 점선으로 나타낸 것과 같이) 메모리(208)와 직접 통신할 수 있다. 덧붙여, 다른 실시예들에서, I/O 서브시스템(210)은 SoC(system-on-a-chip)의 일부를 형성할 수 있고 또한 컴퓨팅 디바이스(102)의 프로세서(204) 및 다른 컴포넌트들과 함께 단일 집적 회로 칩상에 통합될 수 있다.
프로세서(204)는 다수의 신호 경로를 통해 I/O 서브시스템(210)에게 통신 가능하게 결합된다. 이러한 신호 경로들(및 도 2에 예시된 그 밖의 신호 경로들)은 컴퓨팅 디바이스(102)의 컴포넌트들 사이의 통신을 용이하게 할 수 있는 임의 유형의 신호 경로들로서 구체화될 수 있다. 예컨대, 신호 경로들은 임의 개수의 전선(wire), 케이블, 광 도파로, PCB(printed circuit board) 트레이스들, 비아(via), 버스, 개재 디바이스들, 포인트 투 포인트 상호 접속부, 및/또는 그와 같은 것들로 구체화될 수 있다.
컴퓨팅 디바이스(102)의 메모리(208)는, 예를 들어 DRAM(dynamic random access memory devices), SDRAM(synchronous dynamic random access memory devices), DDR SDRAM(double-data rate synchronous dynamic random access memory device), 마스크 ROM 디바이스들(mask read-only memory devices), EPROM(erasable programmable ROM), EEPROM(electrically erasable programmable ROM) 디바이스들, 플래시 메모리 디바이스들, 및/또는 다른 휘발성 및/또는 비휘발성 메모리 디바이스들을 포함하는 하나 이상의 메모리 디바이스들 또는 데이터 스토리지 로케이션들로서 구체화되거나, 다른 경우에는 이것들을 포함할 수 있다. 메모리(208)는 다수의 신호 경로를 통해 I/O 서브시스템(210)에게 통신 가능하게 결합된다. 단일 메모리 디바이스(208)만이 도 2에 예시되었지만, 컴퓨팅 디바이스(102)는 다른 실시예들에서 부가적 메모리 디바이스들을 포함할 수 있다. 다양한 데이터 및 소프트웨어가 메모리 디바이스(208)에 저장될 수 있다. 예를 들어, 프로세서(204)에 의해 실행되는 소프트웨어 스택을 형성하는 하나 이상의 운영 체제들(OS), 애플리케이션들, 프로그램들, 라이브러리들, 및 드라이버들은 실행 동안 메모리(208)에 상주할 수 있다.
데이터 스토리지(212)는, 예를 들어, 메모리 디바이스들 및 회로들, 메모리 카드들, 하드 디크스 드라이브들, SSD들(solid-state drives), 또는 그 외의 데이터 스토리지 디바이스들과 같은, 데이터의 단기 또는 장기 저장을 위해 구성되는 임의 유형의 디바이스 또는 디바이스들로서 구체화될 수 있다. 몇몇 실시예들에서, 데이터 스토리지(212)는 예를 들어 AP(122)와 같은 하나 이상의 무선 액세스 포인트들과의 과거 및 현재 연결들과 연관되는 데이터를 저장하기 위해 이용될 수 있다. 덧붙여 또는 대안적으로, 데이터 스토리지(212)는 하나 이상의 무선 액세스 포인트들(110) 중 어느 것에 연결할지를 예측하는 것을 용이하게 하는데 사용되는 파라미터들을 저장하는데 또한 사용될 수 있다. 그렇게 하기 위하여, 데이터 스토리지(212)는 예를 들어, 무선 연결 데이터베이스(214) 및 파라미터 데이터베이스(216)와 같은 하나 이상의 데이터베이스들을 포함할 수 있다. 그와 같은 실시예들에서, 무선 연결 데이터베이스(214)는 하나 이상의 무선 연결들과 연관되는 데이터(예를 들어, 연결 시작 시각 및 날짜, 연결 종료 시각 및 날짜, 연결 지속 시간, 기타 등등) 또는 컴퓨팅 디바이스(102)가 연결되는 무선 액세스 포인트들(110) 중 하나 이상에 대응하는 정보(예를 들어, 서비스 세트 식별자, 무선 채널, MAC(media access control) 주소, 기타 등등)를 포함할 수 있다. 몇몇 실시예들에서, 파라미터 데이터베이스(216)는 하나 이상의 알고리즘들을 이용하여 계산되는 하나 이상의 예측 파라미터들을 포함할 수 있다.
컴퓨팅 디바이스(102)의 통신 회로(218)는 네트워크(230)상에서 컴퓨팅 디바이스(102)와 하나 이상의 원격 컴퓨팅 디바이스들 사이의 통신들을 가능하게 하기 위한 임의 개수의 디바이스들 및 회로로서 구체화될 수 있다. 예를 들어, 통신 회로(218)는 몇몇 실시예들에서 네트워크 인터페이스 제어기(NIC)로서 구체화될 수 있다. 네트워크(230)는 임의 개수의 다양한 유선 및/또는 무선 통신 네트워크들로서 구체화될 수 있다. 예를 들어, 네트워크(230)는 근거리 통신망(LAN: local area network), 광역 통신망(WAN: wide area network), 모바일 네트워크, 또는 인터넷과 같은 공공이 액세스할 수 있는 글로벌 네트워크로서 구체화될 수 있거나, 그렇지 않은 경우 이들을 포함할 수 있다. 덧붙여, 네트워크(230)는 컴퓨팅 디바이스(102)와 원격 컴퓨팅 디바이스들 사이의 통신을 용이하게 하기 위한 임의 개수의 부가적 디바이스들을 포함할 수 있다. 컴퓨팅 디바이스(102) 및 원격 컴퓨팅 디바이스들은, 예를 들어 특정 유형의 네트워크(들)(220)에 의존하여 네트워크(230)상에서 서로 통신하기 위해 임의의 적합한 통신 프로토콜을 이용할 수 있다. 덧붙여, 몇몇 실시예들에서, 통신 회로(218)는 하나 이상의 무선 액세스 포인트들(110)에 무선으로 연결할 수 있는데, 이 무선 액세스 포인트들은 네트워크(230)에 통신 가능하게 결합될 수 있다. 예를 들어, 통신 회로(218)는 AP(122)에게 무선으로 연결할 수 있는데, 이 액세스 포인트는 네트워크(230)에게 통신 가능하게 결합될 수 있다. 그런 실시예들에서, 통신 회로(218)는 AP(122)를 이용하여 네트워크(230)상에서 원격 컴퓨팅 디바이스들과 통신할 수 있다.
컴퓨팅 디바이스(102)의 주변 장치들(220)은 임의 개수의 부가적 입/출력 디바이스들, 인터페이스 디바이스들, 및/또는 다른 주변 장치들을 포함할 수 있다. 예를 들어, 주변 장치들(220)은 콘텐츠를 사용자, 키보드, 마우스, 또는 다른 입/출력 주변 장치들에게 표시하기 위한 디스플레이를 포함할 수 있다. 주변 장치들(220)은 다수의 신호 경로를 통해 I/O 서브시스템(210)에 통신 가능하게 결합되고 그에 의해 I/O 서브시스템(210) 및/또는 프로세서(204)가 주변 장치들(220)으로부터 입력들을 수신하고 이들에게 출력들을 송신하도록 허용한다.
무선 액세스 포인트들(110)은 본 명세서에서 기술되는 기능들을 수행할 수 있는 임의 유형의 컴퓨팅 및/또는 통신 디바이스로서 구체화될 수 있다. 이에 따라, 무선 액세스 포인트(110)는 네트워크(230)상에서 데이터를 통신하고, 저장하고, 포워딩하고, 유지하고, 수신하고, 및 전송하기 위해 컴퓨팅 디바이스에서 통상적으로 발견되는 다양한 하드웨어 및 소프트웨어 컴포넌트들(예를 들어, 프로세서, 메모리, 및 통신 회로)을 포함할 수 있다.
도 3을 이제 참조하면, 컴퓨팅 디바이스(102)의 환경(300)의 일 실시예는 무선 연결 로깅 모듈(302), 무선 연결 관리 모듈(304), 예측 모듈(306), 무선 통신 모듈(308), 분석 모듈(310), 무선 연결 데이터베이스(214), 및 파라미터 데이터베이스(216)를 포함한다. 환경(300), 및/또는 그 중에 포함되는 모듈들 중 임의의 것은 하드웨어, 펌웨어, 소프트웨어, 또는 이것들의 임의의 조합으로 구현될 수 있다는 것을 이해해야 한다.
전술한 바와 같이, 몇몇 실시예들에서, 컴퓨팅 디바이스(102)는 무선 액세스 포인트들(110) 중 하나 이상과 무선 연결을 확립할 수 있다. 그렇게 하기 위해, 무선 통신 모듈(308)은 컴퓨팅 디바이스(102)의 인접지 내에 자리 잡은 하나 이상의 무선 액세스 포인트들(110)을 식별하기 위한 스캐닝을 실행할 수 있다. 컴퓨팅 디바이스(102)의 인접지 내에 자리 잡은 하나 이상의 무선 액세스 포인트들(110)을 식별한 것에 응답하여, 무선 통신 모듈(308)은 무선 액세스 포인트들(110) 중 하나에게 연결할 수 있다. 덧붙여, 몇몇 실시예들에서, 무선 통신 모듈(308)은 무선 액세스 포인트들(110) 중 하나 이상과 무선 연결을 재확립할 수 있다.
무선 통신 모듈(308)은 무선 연결 관리 모듈(304)에 통신 가능하게 결합될 수 있다. 무선 통신 모듈(308)은 하나 이상의 무선 액세스 포인트들(110)과의 연결을 확립 및/또는 재확립하는 것을 용이하게 할 수 있다. 사용 시에, 무선 연결 관리 모듈(304)은 무선 통신 모듈(308)이 컴퓨팅 디바이스(102)의 인접지 내에 자리 잡은 무선 액세스 포인트들(110)을 식별하기 위한 스캐닝을 개시하도록 지시할 수 있다. 덧붙여 또는 대안적으로, 무선 연결 관리 모듈(304)은 무선 통신 모듈(308)이 스캐닝을 개시하는 것 대신에 직접적으로 무선 액세스 포인트들(110) 중 하나 이상을 탐색하도록 지시할 수 있다. 예를 들어, 몇몇 실시예들에서, 무선 연결 관리 모듈(304)은 무선 통신 모듈(308)이 컴퓨팅 디바이스(102)가 재연결 확률이 가장 높은 무선 액세스 포인트들(110)에 대응하는 무선 액세스 포인트들(110)의 참조 번호에게 프로브를 보내도록 지시할 수 있다. 몇몇 실시예들에서, 무선 연결 관리 모듈(304)은 또한 무선 통신 모듈(308)이 컴퓨팅 디바이스(102)의 사용자에 의해 제공되는 수동 무선 접속 구성의 함수로서 직접적으로 무선 액세스 포인트들(110) 중 하나 이상을 탐색하도록 지시할 수 있다.
무선 연결 로깅 모듈(302)은 무선 통신 모듈(308)과 하나 이상의 무선 액세스 포인트들(110) 사이에 확립되는 하나 이상의 과거 또는 현재 무선 연결들에 대응하는 연결 정보를 기록할 수 있다. 연결 정보는 무선 연결들 자체를 기술하는 정보 (예를 들어, 연결 시작 시각 및 날짜, 연결 종료 시각 및 날짜, 연결 지속 시간, 기타 등등) 또는 컴퓨팅 디바이스(102)가 연결되는 하나 이상의 무선 액세스 포인트들(110)과 연관되는 특징들 또는 데이터를 설명하는 정보(예를 들어, 서비스 세트 식별자, 무선 채널, MAC 주소, 기타 등등)를 포함할 수 있다.
몇몇 실시예들에서, 무선 연결 로깅 모듈(302)은 하나 이상의 데이터베이스들로서 구체화될 수 있는 로그(log)에 연결 정보를 저장하도록 구성될 수 있다. 예를 들어, 무선 연결 로깅 모듈(302)은 연결 정보를 무선 연결 데이터베이스(214)에 저장할 수 있다. 로그가 예시적 실시예에서 데이터베이스로서 구체화되는 것으로 기술되기는 하였지만, 로그가 다른 실시예들에서 상이한 포맷을 갖는 데이터 구조(예를 들어, 문서, 파일, 기타 등등)에 저장되는 데이터로서 구현될 수 있다는 것을 이해해야 한다. 예를 들어, 로그는 CSV(comma-separated value) 파일, 텍스트 파일, 암호화된 데이터 파일, 하나 이상의 XML(Extensible Markup Language) 성분들을 갖는 XML 문서, 또는 컴퓨팅 디바이스(102)와 하나 이상의 무선 액세스 포인트들(110) 사이의 하나 이상의 과거 또는 현재 무선 연결들과 연관되는 정보를 저장하는 데에 적절한 임의의 다른 포맷으로서 구체화될 수 있다. 덧붙여, 무선 연결 로깅 모듈(302)은 연결 정보를 컴퓨팅 디바이스(102)의 임의의 적절한 데이터 스토리지 및/또는 메모리 디바이스(예를 들어, 휘발성 및/또는 비휘발성 메모리 디바이스들)에 저장하도록 대신 구성될 수 있다는 것을 이해해야 한다.
몇몇 실시예들에서, 참조 구간(reference interval)에 대응할 수 있는 소정 구간들에서, 분석 모듈(310)은 무선 연결 데이터베이스(214)에 저장되는 이력 연결 정보를 검색할 수 있고, 하나 이상의 파라미터들을 계산할 수 있는데, 이것은 나중에 하나 이상의 무선 액세스 포인트들(110), 또는 하나 이상의 무선 액세스 포인트들(110)의 그룹(160, 170) 중 어느 것이 주어진 시간에 컴퓨팅 디바이스(102)의 범위 내에 있을 가능성이 가장 큰지(예를 들어, 가장 가능성이 있는지)를 예측하는 것을 용이하게 하는 데에 사용될 수 있다. 예를 들어, 분석 모듈(310)은 무선 연결 데이터베이스(214)에 저장되는 이력 연결 정보를 검색할 수 있고, 구성 가능한 참조 구간 또는 스케줄에 따라 (예를 들어, 매시간마다, 네 시간마다, 하루에 한 번 또는 두 번, 한 주에 한번 또는 두 번, 한 달에 한 번 또는 두 번, 스케줄링된 날짜 및/또는 시간에, 또는 임의의 다른 적절한 참조 구간 또는 스케줄에 따라) 하나 이상의 파라미터들을 계산할 수 있다.
몇몇 실시예들에서, 분석 모듈(310)은 하나 이상의 참조 이벤트들 또는 조건들의 생성에 응답하여 컴퓨팅 디바이스(102)의 다른 컴포넌트들 및 동작들과 비동기적으로 동작하도록 또한 구성될 수 있다. 예를 들어, 분석 모듈(310)은 컴퓨팅 디바이스(102)가 활동적으로 사용되고 있지 않은 것(예를 들어 하룻밤 동안(overnight), 유휴, 기타 등등)이 검출되었을 때만 및/또는 컴퓨팅 디바이스(102)가 전원에 연결되어 있는 것에 응답하여 작동하도록 구성될 수 있다. 덧붙여 또는 대안적으로, 분석 모듈(310)은 컴퓨팅 디바이스(102)의 다른 동작들(연결 시도들, 바이러스 스캐닝들, 판독/기입 동작들, 시스템 유지보수, 기타 등등)이 실행되지 않고 있을 때만 작동하도록 구성될 수 있다. 임의의 적절한 이벤트 및/또는 조건이 분석 모듈(310)의 작동을 일으킬 수 있다는 것을 이해해야 한다. 또한, 몇몇 실시예들에서, 분석 모듈(310)은 컴퓨팅 디바이스(102)의 다른 컴포넌트들 및 동작들과 동기적으로(예로, 동시에) 동작할 수 있다는 것을 이해해야 한다.
논의된 것처럼, 분석 모듈(310)은 하나 이상의 파라미터들을 계산하는데, 이 파라미터들은 하나 이상의 무선 액세스 포인트들(110), 또는 하나 이상의 무선 액세스 포인트들(110)의 그룹(160, 170) 중 어느 것이 특정 시간에 컴퓨팅 디바이스(102)의 범위 내에 있을 가능성이 가장 큰지를 예측하는 것을 용이하게 하기 위해 이후에 이용될 수 있다. 그렇게 하기 위하여, 분석 모듈(310)은 이력 연결 정보의 함수로서 파라미터들을 계산하거나 또는 그렇지 않은 경우에는 이 파라미터들을 생성하기 위해 하나 이상의 인공 지능 기반 기술을 활용할 수 있다. 예를 들어, 분석 모듈(310)은 몇몇 실시예들에서 파라미터들의 세트를 계산하기 위해 하나 이상의 유전적 알고리즘들을 활용할 수 있다. 그와 같은 실시예들에서, 파라미터들의 세트에서의 각각의 파라미터는 이력 연결 정보로부터 계산될 수 있다. 이에 따라, 각각의 파라미터는 이전 무선 연결이 생성한 확률을 나타내는 수치 상수로서 구체화될 수 있다. 예를 들어, 분석 모듈(310)에 의해 계산되는 파라미터들의 세트는 다음을 포함할 수 있다: 특정 참조 시간에 확립되는 무선 연결이 확립된 지난 무선 연결(예를 들어, 이전 무선 연결)과 동일했는지의 확률을 나타내는 파라미터; 특정 참조 시간에 확립되는 무선 연결이 이 특정 참조 시간의 24 시간 전에 확립된 무선 연결과 동일했는지의 확률을 나타내는 파라미터; 및 특정 참조 시간에 확립된 무선 연결이 이 특정 참조 시간의 일주일 전에 확립된 무선 연결과 동일했는지의 확률을 나타내는 파라미터. 이런 방식으로, 분석 모듈(310)은 파라미터들의 세트로서 [0.4, 0.35, 0.25]를 계산할 수 있는데, 여기서 0.4는 특정 참조 시간(예를 들어, 화요일 오후 5시 00분)에 확립된 무선 연결이 (예를 들어, 화요일 오후 3시 00분, 월요일 오후 10시 00분, 기타 등등에) 확립된 지난 무선 연결과 동일했는지의 확률을 나타낼 수 있고; 0.35는 특정 참조 시간(예를 들어, 화요일 오후 5시 00분)에 확립된 무선 연결이 이 특정 참조 시간의 24 시간 전(예를 들어, 월요일 오후 5시 00분)에 확립된 무선 연결과 동일했는지의 확률을 나타낼 수 있고; 및 0.25는 특정 참조 시간(예를 들어, 화요일 오후 5시 00분)에 확립된 무선 연결이 이 특정 참조 시간의 일주일 전(예를 들어, '지난' 화요일 오후 5시 00분)에 확립된 무선 연결과 동일했는지의 확률을 나타낼 수 있다.
세 개의 파라미터만이 예시적 실시예에서 계산되기는 하지만, 상이한 확률들을 갖는 임의 개수의 상이한 파라미터들이 다른 실시예들에서 계산될 수 있다는 것을 이해해야 한다. 예를 들어, 몇몇 실시예들의 분석 모듈(310)은 특정 참조 시간에 확립된 무선 연결이 이 특정 참조 시간의 한 시간 전에 확립된 무선 연결과 동일했는지의 확률을 나타내는 파라미터, 특정 참조 시간에 확립된 무선 연결이 이 특정 참조 시간의 한 달 전에 확립된 무선 연결과 동일했는지의 확률을 나타내는 파라미터, 또는 특정 시간에 확립된 무선 연결이 과거에 확립된 또 다른 무선 연결과 동일했는지의 확률을 나타내는 데에 적합한 임의의 추가적 파라미터를 계산할 수 있다.
몇몇 실시예들에서, 분석 모듈(310)은 파라미터들의 세트를 계산하기 위해 하나 이상의 유전적 프로그래밍 기술들을 활용할 수 있다. 그와 같은 실시예들에서, 파라미터들의 세트에서의 각각의 파라미터는 그 대신에 하나 이상의 예측 프로그램들(예를 들어, 명령어들, 프로그램 시퀀스들, 기타 등등)로서 구체화될 수 있는데, 이 예측 프로그램들은 무선 액세스 포인트들(110), 또는 무선 액세스 포인트들(110)의 그룹(160, 170) 중 어느 것이 주어진 시간에 컴퓨팅 디바이스(102)의 범위 내에 있을 가능성이 가장 큰지(예를 들어, 가장 가능성이 있는지)를 예측하는 것을 용이하게 하기 위해 예측 모듈(306)에 의해 이후에 실행될 수 있다.
몇몇 실시예들에서, 파라미터들을 계산하고 및/또는 예측 프로그램들을 생성하는 데에 사용되는 하나 이상의 인공 지능 기반 기술들(예를 들어, 유전적 알고리즘들, 유전적 프로그래밍, 기타 등등)은 컴퓨팅 디바이스(102)에게 계산량 및/또는 리소스 면에서 부담을 줄 수 있다. 이런 점은 컴퓨팅 디바이스(102)가 모바일 컴퓨팅 디바이스(예를 들어, 스마트폰, 태블릿 컴퓨터, e-리더, 랩톱 컴퓨터, 개인용 정보 단말기, 기타 등등), 또는 제한되거나 감축된 전원(예를 들어, 배터리, 자가 발전 크랭크(hand power crank), 광기전력 전지, 기타 등등)을 이용하여 완전히 또는 부분적으로 작동할 수 있는 임의의 다른 유형의 컴퓨팅 디바이스를 포함하는 실시예들에서 특히 심하다. 따라서, 전술한 바와 같이, 몇몇 실시예들에서, 분석 모듈(310)은 하나 이상의 참조 이벤트들 또는 조건들의 생성(예를 들어, 컴퓨팅 디바이스(102)의 비활성화, 전원으로의 연결, 기타 등등)에 응답하여 컴퓨팅 디바이스(102)의 다른 컴포넌트들 및 동작들과 비동기적으로 동작하도록 구성될 수 있다. 이에 따라, 분석 모듈(310)은 컴퓨팅 디바이스(102)의 리소스들(예를 들어, 전력 레벨, 배터리 레벨, 처리 용량, 기타 등등)이 그와 같은 계산들을 실행하기에 적당할 때만 동작할 수 있다. 이런 방식으로, 컴퓨팅 디바이스(102)의 전력량 및 다른 리소스들이 보존될 수 있다.
유전적 알고리즘들과 유전적 프로그래밍 기법들만이 예시적 실시예에서 파라미터들을 계산하고 및/또는 예측 프로그램들을 생성하기 위해 활용될 수 있는 것으로 설명되기는 하였지만, 분석 모듈(310)은 하나 이상의 무선 액세스 포인트들(110), 또는 하나 이상의 무선 액세스 포인트들(110)의 그룹(160, 170) 중 어느 것이 주어진 시간에 컴퓨팅 디바이스(102)의 범위 내에 있을 가능성이 가장 큰지(예로, 가장 가능성이 있는지)를 예측하는 것을 이후에 용이하게 하는 예측 프로그램들을 생성하거나 파라미터들을 계산하는 데에 적합한 임의의 다른 기술을 활용할 수 있다는 것을 이해해야 한다. 예를 들어, 분석 모듈(310)은 하나 이상의 무선 액세스 포인트들(110), 또는 하나 이상의 무선 액세스 포인트들(110)의 그룹(160, 170) 중 어느 것이 주어진 시간에 컴퓨팅 디바이스(102)의 범위 내에 있을 가능성이 가장 큰지(예로, 가장 가능성이 있는지)를 예측하는 데 있어서의 후속 사용을 위해 가장 알맞은 (예를 들어, 가장 최적의) 하나 이상의 알고리즘들을 계산하고, 생성하고, 및/또는 결정할 수 있다.
몇몇 실시예들에서, 분석 모듈(310)은 계산된 파라미터들 및/또는 생성된 예측 프로그램들을 하나 이상의 데이터베이스들에 저장하도록 구성될 수 있다. 예를 들어, 분석 모듈(310)은 계산된 파라미터들 및/또는 생성된 예측 프로그램들을 원격 파라미터 데이터베이스(216)에 저장할 수 있다. 물론, 분석 모듈(310)이 계산된 파라미터들 및/또는 생성된 예측 프로그램들을 컴퓨팅 디바이스(102)의 임의의 적절한 데이터 스토리지 및/또는 메모리 디바이스(예를 들어, 휘발성 및/또는 비휘발성 메모리 디바이스들)에 저장하도록 그 대신 구성될 수 있다는 것을 이해해야 한다.
하나 이상의 무선 액세스 포인트들(110), 또는 하나 이상의 무선 액세스 포인트들(110)의 그룹(160, 170) 중 어느 것이 주어진 시간에 컴퓨팅 디바이스(102)의 범위 내에 있을 가능성이 가장 큰지(예를 들어, 가장 가능성 있는지)를 예측하는 것을 용이하게 하기 위해, 예측 모듈(306)은 무선 연결 관리 모듈(304), 무선 연결 데이터베이스(214), 및 파라미터 데이터베이스(216)에게 통신 가능하게 결합될 수 있다. 사용 시에, 예측 모듈(306)은 무선 연결의 재확립이 요청되었다는 통지 및/또는 표시를 무선 연결 관리 모듈로(304)로부터 수신할 수 있다. 응답하여, 예측 모듈(306)은 파라미터 데이터베이스(216)로부터 하나 이상의 파라미터들 및/또는 예측 프로그램들을 검색할 수 있다. 덧붙여, 예측 모듈(306)은 무선 연결 데이터베이스(214)로부터 부가적 무선 연결 정보를 검색할 수 있다. 몇몇 실시예들에서, 무선 연결 데이터베이스(214)로부터 검색되는 부가적 무선 연결 정보는 무선 연결 로깅 모듈(302)에 의해 로그에 저장되는 가장 최근 연결 정보를 포함할 수 있다. 즉, 무선 연결 데이터베이스(214)로부터 검색되는 가장 최근 연결 정보는 분석 모듈(310)이 아직 파라미터 또는 예측 프로그램이 되도록 계산하지 않았던 하나 이상의 최근 무선 연결들에 대응하는 무선 정보를 포함할 수 있다.
사용 시에, 예측 모듈(306)은 원하는 예측의 시간 및/또는 주 중의 요일에서 컴퓨팅 디바이스(102)의 범위 내에 있을 가능성이 가장 크거나 또는 다른 경우에는 이것에게 이용 가능할 가능성이 가장 큰 무선 액세스 포인트들(110)의 상이한 그룹들(160, 170)을 예측할 수 있다. 분석 모듈(310)에 의해 계산되는 파라미터들이 이력 연결 정보로부터 도출되는 연결 확률들을 나타내는 수치 상수들로서 구체화되는 몇몇 실시예들에서, 예측 모듈(306)은 사전에 계산된 파라미터들, 무선 연결 데이터베이스(214)로부터 검색되는 부가적(예로, 가장 최근의) 연결 정보, 및 원하는 예측 시간을, 정렬 리스트를 생성하기 위한 일반적(예를 들어, 표준, 미리 정의된, 디폴트, 공통, 기타 등등) 알고리즘 또는 공식에의 입력들로서 이용할 수 있다. 그런 실시예들에서, 예측 모듈(306)은 원하는 예측의 시간 및/또는 주 중의 요일에 대응하지만 과거에 생성한 파라미터 데이터베이스(216)로부터의 파라미터들(예를 들어, 이력 연결 정보로부터 생성되는 파라미터들)을 검색할 수 있다. 예를 들어, 예측 모듈(306)이 원하는 예측의 시간 및/또는 주 중의 요일이 주 중의 현재 요일 및 시간(예를 들어, 화요일 오후 5시 00분)에 대응한다고 결정하면, 예측 모듈(306)은 이력 연결 정보를 이용하여 주 중의 동일 요일 및 시간(오후 5시 00분에서의 지난 네 번의 화요일, 오후 5시 00분에서의 지난 세 번의 화요일, 기타 등등)에 대해 사전에 계산된 파라미터들의 세트를 검색할 수 있다.
예측 모듈(306)은 가장 최근의 무선 연결들(예로, 분석 모듈(310)이 아직 파라미터 또는 예측 프로그램이 되도록 계산하지 않았던 연결 정보에 대응하는 무선 연결들) 중 어느 것이 원하는 예측 시간(예를 들어, 화요일 오후 5시 00분)에서 재연결하는 데에 이용 가능할 가능성이 가장 큰지를 이후 결정할 수 있다. 그렇게 하기 위해, 예측 모듈(306)은 가장 최근의 연결 정보에게 각각의 사전에 계산된 파라미터들과 연관된 연결 확률들(예를 들어, 0.4, 0.35, 0.25)을 할당할 수 있다. 예를 들어, 예측 모듈(306)은 (예를 들어, 화요일 오후 3시 00분, 월요일 오후 10시 00분, 기타 등등에) 확립된 지난(예를 들어, 이전) 무선 연결에게 0.4의 확률, 원하는 예측 시간(예를 들어, 화요일 오후 5시 00분)의 24 시간 전(예로, 월요일 오후 5시 00분)에 확립된 무선 연결에게 0.35의 확률, 및 원하는 예측 시간(예를 들어, 화요일 오후 5시 00분)의 일주일 전(예로, '지난' 화요일 오후 5시 00분)에 확립된 무선 연결에게 0.25의 확률을 할당할 수 있다.
가장 최근의 무선 연결들 중 어느 것이 원하는 시간(예를 들어, 화요일 오후 5시 00분)에 재연결하는 데에 이용 가능할 가능성이 가장 큰 지를 결정한 것에 응답하여, 예측 모듈(306)은 무선 액세스 포인트들(110)(예를 들어, AP 122, AP 124, AP 126, 기타 등등) 중 어느 것이 그런 무선 연결들에 대응하는지를 식별하고 또한 그로부터 정렬 리스트를 생성할 수 있다. 그렇게 하기 위하여, 예측 모듈(306)은 식별을 용이하게 하기 위해 대응하는 무선 액세스 포인트들(110)과 연관된 특징들 또는 데이터를 기술하는 임의의 정보(예를 들어, 서비스 세트 식별자, 무선 채널, MAC(media access control) 주소, 기타 등등)를 이용할 수 있다. 따라서 결과로 생기는 정렬 리스트는 재연결에 이용 가능할 확률들이 가장 높은 무선 액세스 포인트들(110)(예를 들어, 상부의 3개의 무선 액세스 포인트(110))의 참조 번호를 포함할 수 있다. 몇몇 실시예들에서, 무선 액세스 포인트들(110)의 정렬 리스트는 각각에 대해 결정되는 확률에 따라 내림차순으로 배열될 수 있다.
분석 모듈(310)에 의해 계산되는 파라미터들이 하나 이상의 예측 프로그램들(예를 들어, 명령어들, 프로그램 시퀀스들, 기타 등등)로서 그 대신에 구체화되는 실시예들에서, 예측 모듈(306)은 무선 액세스 포인트들(110)의 정렬 리스트를 생성하기 위해 원하는 예측 시간 및 무선 연결 데이터베이스(214)로부터 검색되는 가장 최근의 연결 정보를 입력들로서 이용하여 사전 생성된 예측 프로그램들을 실행할 수 있다. 그와 같은 실시예들에서, 결과로 생기는 정렬 리스트는 재연결에 이용 가능할 확률들이 가장 높은 무선 액세스 포인트들(110)(예를 들어, 상부의 3개의 무선 액세스 포인트(110))의 참조 번호를 유사하게 포함할 수 있다. 덧붙여 또는 대안적으로, 무선 액세스 포인트들(110)의 정렬 리스트는 각각에 대해 결정되는 확률에 따라 내림차순으로 배열될 수 있다.
무선 연결을 재확립하는 데에 필요한 시간을 줄이기 위해, 무선 연결 관리 모듈(304)은 무선 통신 모듈(308)이 정렬 리스트에 적어도 부분적으로 기초하여, 또는 다른 경우에는 이것의 함수로서 무선 액세스 포인트들(110) 중 하나 이상에게 프로브 또는 지향성 연결 요청을 전송하도록 지시할 수 있다. 무선 액세스 포인트들(110) 중 하나 이상이 탐색될 때 컴퓨팅 디바이스(102)의 범위 내에 있거나 또는 다른 경우에는 이것에게 이용 가능하다면, 하나 이상의 범위 내 무선 액세스 포인트들(110)은 프로브에 대한 응답을 생성하고 그 후에 이것을 전송할 수 있다. 프로브 응답이 수신될 시에, 무선 연결 관리 모듈(304)은 무선 통신 모듈(308)이 응답을 생성한 무선 액세스 포인트(110)와의 무선 연결을 재확립하도록 지시할 수 있다. 주어진 시간에 무선 연결을 재확립하는 데에 이용 가능할 가능성이 가장 큰 무선 액세스 포인트들(110)을 예측하고 직접적으로 탐색함으로써, 컴퓨팅 디바이스(102)는 완료하는 데에 상당한 정도의 시간이 통상적으로 걸리는, 이용 가능한 무선 액세스 포인트들에 대한 스캐닝을 할 필요가 없다. 이런 방식으로, 무선 연결을 재확립하는 데에 필요한 시간은 감소될 수 있다. 그러나, 무선 액세스 포인트들(110) 중 어느 것도 탐색될 때 컴퓨팅 디바이스(102)의 범위 내에 있지 않거나 또는 다른 경우에는 이것에게 이용 가능하지 않을 때, 무선 연결 관리 모듈(304)은 무선 통신 모듈(308)이 컴퓨팅 디바이스(102)의 인접지 내에 자리 잡은 다른 무선 액세스 포인트들(110)을 식별하기 위한 스캐닝을 개시하도록 그 대신에 지시할 수 있다.
도 4 및 도 5를 이제 참조하면, 무선 액세스 포인트(110)와 컴퓨팅 디바이스(102) 사이의 무선 재연결 시간을 줄이기 위해 이용 가능한 무선 액세스 포인트들(110)을 예측하기 위한 방법 400의 적어도 하나의 실시예가 블록 402로 시작한다. 블록 402에서, 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스(102)와 하나 이상의 무선 액세스 포인트들(110) 사이에 확립되는 하나 이상의 과거 또는 현재 무선 연결들에 대응하는 연결 정보를 기록할 수 있다. 연결 정보는 무선 연결들 자체를 기술하는 정보 (예를 들어, 연결 시작 시각 및 날짜, 연결 종료 시각 및 날짜, 연결 지속 시간, 기타 등등) 또는 컴퓨팅 디바이스(102)가 연결되는 하나 이상의 무선 액세스 포인트들(110)과 연관되는 특징들 또는 데이터를 설명하는 정보(예를 들어, 서비스 세트 식별자, 무선 채널, MAC 주소, 기타 등등)를 포함할 수 있다. 컴퓨팅 디바이스(102)는 기록된 연결 정보를 데이터베이스(예를 들어, 무선 연결 데이터베이스(214))에 저장할 수 있다. 몇몇 실시예들에서, 연결 정보는 로그 파일에 또는 컴퓨팅 디바이스(102)와 하나 이상의 무선 액세스 포인트들(110) 사이의 하나 이상의 과거 또는 현재 무선 연결들과 연관되는 정보를 저장하는 데에 적절한 임의의 다른 포맷으로 또한 저장될 수 있다.
블록 404에서, 컴퓨팅 디바이스(102)는 하나 이상 파라미터들 및/또는 예측 프로그램들을 계산하는데, 이것들은 하나 이상의 무선 액세스 포인트들(110), 또는 하나 이상의 무선 액세스 포인트들(110)의 그룹(160, 170) 중 어느 것이 특정 시간에(예로, 원하는 예측 시간에) 컴퓨팅 디바이스(102)의 범위 내에 있을 가능성이 가장 큰지를 예측하는 것을 용이하게 하기 위해 이후에 이용될 수 있다. 그렇게 하기 위하여, 컴퓨팅 디바이스(102)는 로그 또는 데이터베이스에 저장되는 이력 연결 정보의 함수로서 파라미터들 및/또는 예측 프로그램들을 계산하거나 또는 달리 생성하기 위해 하나 이상의 인공 지능 기반 기술들을 활용할 수 있다. 몇몇 실시예들에서, 컴퓨팅 디바이스는 파라미터들 및/또는 예측 프로그램들을 생성하기 위해 하나 이상의 유전적 알고리즘들 및/또는 유전적 프로그래밍 기술들을 활용한다. 각각의 파라미터 및/또는 예측 프로그램은 이력 연결 정보로부터 계산되는 상이한 연결 확률을 나타낼 수 있거나, 또는 다른 경우에는 이것에 대응할 수 있다. 완료 시에, 또는 계산 동안의 임의의 적절한 시간에, 컴퓨팅 디바이스(102)는 계산된 파라미터들 및/또는 예측 프로그램들을 하나 이상의 데이터베이스들(예를 들어, 파라미터 데이터베이스(216))에 저장할 수 있다. 계산된 파라미터들 및/또는 예측 프로그램들을 하나 이상의 데이터베이스들에 저장했을 시에, 방법 400은 블록 406으로 진행한다.
몇몇 실시예들에서, 컴퓨팅 디바이스(102)는 임의의 동작들이 현재 실행되고 있는지 및/또는 컴퓨팅 디바이스(102)가 하나 이상의 파라미터들 및/또는 예측 프로그램들을 계산하기 전에 현재 사용 중(예로, 활동 중)에 있는지를 검출할 수 있다. 그렇게 하기 위해, 그와 같은 실시예들의 컴퓨팅 디바이스(102)는 하나 이상의 동작들 및/또는 처리들의 성능에 대하여 모니터링할 수 있다. 덧붙여 또는 대안적으로, 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스(102)의 주변 장치들(220)(즉, 키패드들, 터치스크린들, 음성 인식 컴포넌트들, 기타 등등) 중 하나 이상을 통해 사용자로부터 수신되는 입력에 대하여 모니터링할 수 있다. 컴퓨팅 디바이스(102)가 활동적으로 이용되고 있고 및/또는 전원에 연결되지 않은 것을 결정한 것에 응답하여, 컴퓨팅 디바이스(102)는 하나 이상의 파라미터들 및/또는 예측 프로그램들을 계산하는 것으로 진행할 수 있다. 그러나, 컴퓨팅 디바이스(102)가 활동적으로 이용되고 있고 및/또는 전원에 연결되지 않은 것이 그 대신에 결정되면, 컴퓨팅 디바이스(102)는 하나 이상의 파라미터들 및/또는 예측 프로그램들을 계산하기 전에 비활동에 대해 디바이스 활동 및/또는 동작들을 모니터링하기를 계속할 수 있다. 파라미터들 및/또는 예측 프로그램들을 계산할 때 컴퓨팅 디바이스(102)가 비활동적이고 및/또는 전원에 연결되기 때문에, 그런 계산들은 컴퓨팅 디바이스의 다른 동작들 또는 사용에 대해 비동기적이다. 이런 방식으로, 컴퓨팅 디바이스(102)의 리소스들(예로, 배터리 전력, 처리 전력, 기타 등등)이 다른 동작들을 위해 남겨질 수 있다.
블록 406에서, 컴퓨팅 디바이스(102)는 무선 연결의 재확립이 요청되었는지를 결정한다. 그렇게 하기 위하여, 컴퓨팅 디바이스(102)는 몇몇 실시예들에서 컴퓨팅 디바이스(102)의 주변 장치들(220)(즉, 키패드들, 터치스크린들, 음성 인식 컴포넌트들, 기타 등등) 중 하나 이상을 통해 사용자로부터 수신되는 입력에 대하여 모니터링할 수 있다. 입력은 무선 액세스 포인트들(110) 중 하나와의 무선 연결을 재확립하라는 사용자에 의한 요청을 나타낼 수 있다. 덧붙여 또는 대안적으로, 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스(102)의 하나 이상 컴포넌트들 또는 동작들에 의해 생성되는 통지 및/또는 표시에 대하여 모니터링할 수 있다. 컴퓨팅 디바이스(102)가 무선 연결의 재확립이 요청되었다는 것을 결정하면, 방법 400은 블록 408로 진행한다. 컴퓨팅 디바이스(102)가 무선 연결의 재확립이 요청되지 않았다고 그 대신에 결정하면, 방법 400은 컴퓨팅 디바이스(102)가 컴퓨팅 디바이스(102)와 하나 이상의 무선 액세스 포인트들(110) 사이에 확립되는 하나 이상의 과거 또는 현재 무선 연결들에 대응하는 연결 정보를 기록하기를 계속하는 블록 402에게 되돌아가 진행한다.
블록 408에서, 컴퓨팅 디바이스(102)는 무선 액세스 포인트들 중 하나 이상이 연결을 재확립하기 위해 이용 가능할 수 있다는 것을 예측하는 것을 용이하게 하기 위해 계산된 파라미터들 및 이력 연결 정보를 검색한다. 그렇게 하기 위하여, 컴퓨팅 디바이스(102)는, 블록 410에서, 파라미터 데이터베이스(216)로부터 파라미터들 및/또는 예측 프로그램들을 검색한다. 덧붙여, 컴퓨팅 디바이스(102)는, 블록 412에서, 무선 연결 데이터베이스(214)로부터 부가적 무선 연결 정보를 검색한다. 몇몇 실시예들에서, 무선 연결 데이터베이스(214)로부터 검색되는 부가적 무선 연결 정보는 컴퓨팅 디바이스(102)에 의해 로그에 저장되는 가장 최근 연결 정보를 포함할 수 있다. 즉, 무선 연결 데이터베이스(214)로부터 검색되는 가장 최근 연결 정보는 컴퓨팅 디바이스(102)가 아직 파라미터 또는 예측 프로그램이 되도록 계산하지 않았던 하나 이상의 최근 무선 연결들에 대응하는 무선 정보를 포함할 수 있다. 파라미터들 및 부가 연결 정보(예를 들어, 가장 최근에 기록된 연결 정보)를 검색한 후에, 방법 400은 블록 414로 진행한다.
블록 414에서, 컴퓨팅 디바이스(102)는 재연결에 이용 가능할 확률들이 가장 높은 무선 액세스 포인트들(110)의 참조 번호를 포함하는 정렬 리스트를 생성한다. 예를 들어, 컴퓨팅 디바이스(102)는 상부의 3개의 무선 액세스 포인트(110)를 포함하는 정렬 리스트를 생성할 수 있는데, 이 무선 액세스 포인트들은 무선 연결을 재확립하는 데에 이용 가능할 최고의 결정된 확률들을 갖는 3개의 무선 연결에 대응할 수 있다. 몇몇 실시예들에서, 무선 액세스 포인트들(110)의 정렬 리스트는 각각에 대해 결정되는 확률에 따라 내림차순으로 배열될 수 있다. 정렬 리스트의 생성 시에, 방법 400은 블록 416으로 진행한다.
블록 416에서, 컴퓨팅 디바이스(102)는 정렬 리스트의 무선 액세스 포인트들(110) 중 하나 이상에게 프로브 또는 지향성 연결 요청을 전송한다. 몇몇 실시예들에서, 컴퓨팅 디바이스(102)는 정렬 리스트의 무선 액세스 포인트들(110)의 각각에 대해 결정되는 확률에 따라 내림차순으로 프로브들을 전송할 수 있다. 이에 따라, 컴퓨팅 디바이스(102)는 정렬된 리스트의 또 다른 무선 액세스 포인트(110)에게 프로브를 전송하기 전에 무선 연결을 재확립하는 데에 이용 가능할 최고의 결정된 확률을 갖는 무선 액세스 포인트(110)에게 프로브를 먼저 전송할 수 있다. 예를 들어, 컴퓨팅 디바이스(102)에 의해 생성되는 정렬 리스트가 무선 액세스 포인트들(110) 중 네 개(예를 들어, AP 122, AP 124, AP 126 및 AP 128)를 포함하면, 컴퓨팅 디바이스(102)는 프로브를 AP 124, AP 126 또는 AP 128에게 전송하기 전에 프로브를 AP 122에게 먼저 전송할 수 있다. 방법 400은 이후 블록 418로 진행한다.
블록 418에서, 컴퓨팅 디바이스(102)는 자신이 프로브가 지향된 무선 액세스 포인트(110)로부터 프로브에 대한 응답을 수신했는지를 결정한다. 즉, 프로브가 지향된 무선 액세스 포인트(110)(예를 들어, AP 122)가 범위 내에 있고 또한 컴퓨팅 디바이스(102)와의 무선 연결을 재확립하는 데에 이용 가능하다면, 프로브가 지향된 무선 액세스 포인트(110)(예를 들어, AP 122)가 프로브에 대한 응답을 전송할 수 있는데, 이 응답은 컴퓨팅 디바이스(102)에 의해 수신될 수 있다. 컴퓨팅 디바이스(102)가 프로브가 지향된 무선 액세스 포인트(110)로부터 응답을 수신하면, 방법 400은 블록 420으로 진행한다. 그러나, 컴퓨팅 디바이스(102)가 프로브가 지향된 무선 액세스 포인트(110)로부터 응답을 수신하지 못하면, 방법 400은 그 대신에 블록 422로 진행한다.
블록 422에서, 컴퓨팅 디바이스(102)는 프로브가 지향된 무선 액세스 포인트(110)가 정렬 리스트의 최종 무선 액세스 포인트(110)인지를 결정한다. 컴퓨팅 디바이스(102)가 프로브가 지향된 무선 액세스 포인트(110)가 정렬 리스트의 최종 무선 액세스 포인트(110)가 아니라고 결정하면, 방법 400은 정렬 리스트의 다음 차례의 무선 액세스 포인트(110)(예를 들어, 다음으로 최고 확률을 갖는 무선 액세스 포인트(110))를 탐색하기 위해 블록 416으로 복귀한다. 그러나, 컴퓨팅 디바이스(102)가 프로브가 지향된 무선 액세스 포인트(110)가 정렬 리스트의 최종 무선 액세스 포인트(110)라고 결정하면, 방법 400은 블록 424로 진행한다. 블록 424에서, 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스(102)의 인접지에 자리 잡은 다른 무선 액세스 포인트들(110)을 식별하기 위한 스캐닝을 개시할 수 있다.
블록 420에서, 컴퓨팅 디바이스(102)는 프로브가 지향되고 또한 응답이 그로부터 수신된 무선 액세스 포인트(110)와의 무선 연결을 재확립할 수 있다. 주어진 시간에 무선 연결을 재확립하는 데에 이용 가능할 가능성이 가장 큰 무선 액세스 포인트들(110)을 예측하고 직접적으로 탐색함으로써, 컴퓨팅 디바이스(102)는 통상적으로 완료하는 데에 상당한 정도의 시간이 걸리는, 이용 가능한 무선 액세스 포인트들(110)에 대한 스캐닝을 할 필요가 없다. 이런 방식으로, 무선 연결을 재확립하는 데에 필요한 시간이 감소될 수 있다.
예시적 실시예의 컴퓨팅 디바이스(102)가 정렬 리스트의 무선 액세스 포인트들(110)의 각각에 대해 결정되는 확률에 따라 내림차순으로 프로브들을 전송하기는 하였지만, 컴퓨팅 디바이스(102)는 몇몇 실시예들에서 정렬 리스트의 각각의 무선 액세스 포인트(110)에게 프로브를 동시에(예를 들어, 동시적으로) 또한 전송할 수 있다는 것을 이해해야 한다. 그와 같은 실시예들에서, 컴퓨팅 디바이스(102)는, 블록 418에서, 자신이 프로브들이 지향된 무선 액세스 포인트들(110) 중 임의의 하나로부터 프로브들에 대한 응답을 수신하였는지를 그 대신에 결정할 수 있다. 컴퓨팅 디바이스(102)가 프로브들이 지향된 무선 액세스 포인트들(110) 중 임의의 하나로부터 응답을 수신하면, 컴퓨팅 디바이스(102)는 응답을 전송한 무선 액세스 포인트들(110) 중 하나 이상과의 무선 연결을 재확립할 수 있다. 몇몇 실시예들에서, 컴퓨팅 디바이스(102)는 프로브에 응답하기 위해 먼저 무선 액세스 포인트(110)와의 무선 연결을 재확립할 수 있다. 그러나, 컴퓨팅 디바이스(102)는 그것과의 무선 연결을 재확립할 응답하는 무선 액세스 포인트들(110) 중 하나를 선택하기 위한 정책(예를 들어, 최강의 신호 강도, 디바이스 보안 정책들, 사용자 선호들, 기타 등등) 또는 임의의 다른 적절한 메커니즘에 따라 하나 이상의 무선 액세스 포인트들(110) 중 임의의 것과의 무선 연결을 재확립하는 것을 그 대신에 결정할 수 있다는 것을 이해해야 한다.
이제 도 6을 참조하면, 이용 가능한 무선 액세스 포인트를 예측하기 위해 컴퓨팅 디바이스(102)에 의해 파라미터들을 계산하기 위한 방법의 적어도 하나의 실시예가 블록 602로 시작한다. 블록 602에서, 컴퓨팅 디바이스(102)는 데이터베이스(예를 들어, 무선 연결 데이터베이스(214))로부터 컴퓨팅 디바이스(102)와 하나 이상의 무선 액세스 포인트들(110) 사이에 확립되는 하나 이상의 과거 또는 현재 무선 연결들에 대응하는 연결 정보를 검색할 수 있다. 연결 정보는 무선 연결들 그들 자신을 기술하는 정보(예를 들어, 연결 시작 시각 및 날짜, 연결 종료 시각 및 날짜, 연결 지속 시간, 기타 등등) 또는 컴퓨팅 디바이스(102)가 연결되는 하나 이상의 무선 액세스 포인트들(110)과 연관되는 특징들 또는 데이터를 기술하는 정보(예를 들어, 서비스 세트 식별자, 무선 채널, MAC 주소, 기타 등등)를 포함할 수 있다. 연결 정보를 검색한 후에, 방법 600은 이후 블록 604로 진행한다.
블록 604에서, 컴퓨팅 디바이스(102)는 하나 이상의 파라미터들 및/또는 예측 프로그램들을 계산하는데, 이것들은 하나 이상의 무선 액세스 포인트들(110), 또는 하나 이상의 무선 액세스 포인트들(110)의 그룹(160, 170) 중 어느 것이 특정 시간(예로, 원하는 예측 시간)에 컴퓨팅 디바이스(102)의 범위 내에 있을 가능성이 가장 큰지를 예측하는 것을 용이하게 하기 위해 이후에 이용될 수 있다. 그렇게 하기 위하여, 컴퓨팅 디바이스(102)는 로그 또는 데이터베이스에 저장되는 이력 연결 정보의 함수로서 파라미터들 및/또는 예측 프로그램들을 계산하거나 다른 경우에는 생성하기 위해 하나 이상의 인공 지능 기반 기술을 활용할 수 있다. 몇몇 실시예들에서, 컴퓨팅 디바이스는 파라미터들 및/또는 예측 프로그램들을 생성하기 위해 하나 이상의 유전적 알고리즘들 및/또는 유전적 프로그래밍 기술들을 활용한다. 각각의 파라미터 및/또는 예측 프로그램은 이력 연결 정보로부터 계산되는 상이한 연결 확률을 나타내거나 또는 다른 경우에는 이것에 대응할 수 있다. 완료 시에, 또는 파라미터들 밑/또는 예측 프로그램들의 계산 동안의 임의의 적절한 시간에, 방법 600은 블록 606으로 진행한다. 블록 606에서, 컴퓨팅 디바이스(102)는 하나 이상의 데이터베이스들(예로, 파라미터 데이터베이스(216))에 계산된 파라미터들 및/또는 예측 프로그램들을 저장할 수 있다. 몇몇 실시예들에서, 계산된 파라미터들은 하나 이상의 무선 액세스 포인트들(110), 또는 하나 이상의 무선 액세스 포인트들(110)의 그룹(160, 170) 중 어느 것이 주어진 시간에 컴퓨팅 디바이스(102)의 범위에 있을 가능성이 가장 큰지(예를 들어, 가장 가능성이 있는지)를 예측하는 것을 용이하게 하는 데에 이후에 사용될 수 있다.
예들
본 명세서에서 개시되는 디바이스들, 시스템들 및 방법들의 예들이 하기에 제공된다. 디바이스들, 시스템들 및 방법들의 실시예는 하기 기술되는 예들 중 임의의 하나 이상의 것들, 및 이것들의 임의의 조합을 포함할 수 있다.
예 1은 무선 액세스 포인트로의 연결 시간을 감소시키기 위한 컴퓨팅 디바이스를 포함하는데, 컴퓨팅 디바이스는 컴퓨팅 디바이스상에 저장되는 로그에 하나 이상의 무선 액세스 포인트들과의 복수의 무선 연결에 대한 무선 연결 정보를 기록하기 위한 무선 연결 로깅 모듈 - 로그는 이력 무선 연결 정보를 포함함- ; 이력 무선 연결 정보에 적어도 부분적으로 기초하여 파라미터들을 계산하기 위한 분석 모듈; 파라미터들에 적어도 부분적으로 기초하여 원하는 시간에 연결하기 위한 하나 이상의 무선 액세스 포인트들의 정렬 리스트를 생성하기 위한 예측 모듈; 정렬 리스트로부터 연결을 시도할 제1 무선 액세스 포인트를 선택하기 위한 무선 연결 관리 모듈; 및 선택된 제1 무선 액세스 포인트에게 프로브 프레임을 보내기 위한 무선 통신 모듈을 포함한다.
예 2는 예 1의 청구 대상을 포함하고, 여기서 로그는 분석 모듈에 의해 파라미터들의 계산에 아직 사용되지 않은 부가적 무선 연결 정보를 더 포함하고, 여기서 파라미터들에 적어도 부분적으로 기초하여 원하는 시간에 연결하기 위한 하나 이상의 무선 액세스 포인트들의 정렬 리스트를 생성하는 것은 파라미터들 및 부가적 무선 연결 정보에 적어도 부분적으로 기초하여 원하는 시간에 연결하기 위한 하나 이상의 무선 액세스 포인트들의 정렬 리스트를 생성하는 것을 포함한다.
예 3은 예 1 또는 예 2의 청구 대상을 포함하고, 여기서 각각의 파라미터는 유전적 프로그래밍 연산을 이용하여 생성되는 예측 프로그램을 포함하고, 여기서 원하는 시간에 연결하기 위한 하나 이상의 무선 액세스 포인트들의 정렬 리스트를 생성하는 것은 하나 이상의 무선 액세스 포인트들의 정렬 리스트를 생성하기 위해 각각의 파라미터에 대한 예측 프로그램을 실행하는 것을 포함한다.
예 4는 예들 1 내지 3 중 어느 하나의 청구 대상을 포함하고, 여기서 각각의 파라미터가 이력 무선 연결 정보에 적어도 부분적으로 기초하여 계산되는 확률을 포함한다.
예 5는 예들 1 내지 4 중 어느 하나의 청구 대상을 포함하고, 여기서 예측 모듈은 추가로, 로그에 기록되는 복수의 무선 연결의 상이한 부가적 무선 연결에게 각각의 파라미터에 대해 계산되는 확률을 할당하기 위한 것이다.
예 6은 예들 1 내지 5 중 어느 하나의 청구 대상을 포함하고, 여기서 예측 모듈은 추가로, 로그에 기록되는 각각의 부가적 무선 연결에 대응하는 무선 액세스 포인트를 식별하기 위한 것이다.
예 7은 예들 1 내지 6 중 어느 하나의 청구 대상을 포함하고, 여기서 정렬 리스트는 로그에 기록되는 각각의 상이한 부가적 무선 연결에 할당되는 대응 확률에 따라 내림차순으로 배열되는 하나 이상의 무선 액세스 포인트들을 포함한다.
예 8은 예들 1 내지 7 중 어느 하나의 청구 대상을 포함하고, 여기서 로그에 기록되는 각각의 부가적 무선 연결에 대응하는 무선 액세스 포인트를 식별하는 것은 로그에 기록되는 각각의 무선 액세스 포인트와 연관되는 서비스 세트 식별자, 무선 채널, 및 MAC 주소 중 하나 이상에 적어도 부분적으로 기초하여 로그에 기록되는 각각의 부가적 무선 연결에 대응하는 무선 액세스 포인트를 식별하는 것을 포함한다.
예 9는 예들 1 내지 8 중 어느 하나의 청구 대상을 포함하고, 무선 연결 관리 모듈은 추가로, 무선 통신 모듈이 선택된 제1 무선 액세스 포인트로부터 프로브 프레임에 대한 응답을 수신하는 것에 응답하여 선택된 제1 무선 액세스 포인트와의 연결을 확립하기 위한 것이다.
예 10은 예들 1 내지 9 중 어느 하나의 청구 대상을 포함하고, 무선 연결 관리 모듈은 추가로, 무선 통신 모듈이 선택된 제1 무선 액세스 포인트로부터 프로브 프레임에 대한 응답을 수신하지 않은 것에 응답하여 정렬 리스트로부터 연결을 시도할 제2 무선 액세스 포인트를 선택하기 위한 것이다.
예 11은 예들 1 내지 10 중 어느 하나의 청구 대상을 포함하고, 여기서 프로브 프레임을 제1 무선 액세스 포인트에게 보내는 무선 통신 모듈은 제1 프로브 프레임을 제1 무선 액세스 포인트에게 보내는 것을 포함하고, 여기서 무선 연결 관리 모듈은 추가로, 제1 무선 액세스 포인트로부터 제1 프로브 프레임에 대한 응답을 수신하지 않은 것에 응답하여 제2 프로브 프레임을 선택된 제2 무선 액세스 포인트에게 보내기 위한 것이다.
예 12는 예들 1 내지 11 중 어느 하나의 청구 대상을 포함하고, 여기서 무선 연결 관리 모듈은 추가로, 무선 통신 모듈이 정렬 리스트의 무선 액세스 포인트들 중 임의의 것으로부터 프로브 프레임에 대한 응답을 수신하지 않은 것에 응답하여 하나 이상의 다른 무선 액세스 포인트들의 위치를 파악하기 위한 스캐닝을 개시하기 위한 것이다.
예 13은 예들 1 내지 12 중 어느 하나의 청구 대상을 포함하고, 여기서 프로브 프레임을 선택된 제1 무선 액세스 포인트에게 보내는 것은 제1 프로브 프레임을 선택된 제1 무선 액세스 포인트에게 보내는 것을 포함하고, 여기서 무선 연결 관리 모듈은 추가로, 정렬 리스트로부터 연결을 시도할 제2 무선 액세스 포인트 및 제3 무선 액세스 포인트를 선택하기 위한 것이고, 여기서 무선 통신 모듈은 추가로, 제1 프로브 프레임을 선택된 제1 무선 액세스 포인트에게 보내는 것과 동시에 선택된 제2 무선 액세스 포인트에게 제2 프로브 프레임을 및 선택된 제3 무선 액세스 포인트에게 제3 프로브 프레임을 보내기 위한 것이고, 여기서 무선 연결 관리 모듈은 추가로, 무선 통신 모듈이 대응하는 선택된 제1, 제2, 또는 제3 무선 액세스 포인트들 중 하나로부터 프로브 프레임에 대한 응답을 수신하는 것에 응답하여 선택된 제1, 제2, 또는 제3 무선 액세스 포인트들 중 하나와의 연결을 확립하기 위한 것이다.
예 14는 예들 1 내지 13 중 어느 하나의 청구 대상을 포함하고, 여기서 분석 모듈은 컴퓨팅 디바이스가 자신의 사용자에 의해 사용되고 있지 않을 때 파라미터들을 계산하기 위한 것이다.
예 15는 예들 1 내지 14 중 어느 하나의 청구 대상을 포함하고, 여기서 분석 모듈은 컴퓨팅 디바이스가 전력 어댑터에 결합될 때만 파라미터들을 계산하기 위한 것이다.
예 16은 예들 1 내지 15 중 어느 하나의 청구 대상을 포함하고, 여기서 분석 모듈은 참조 구간에 적어도 부분적으로 기초하여 파라미터들을 계산하기 위한 것이다.
예 17은 무선 액세스 포인트로의 연결 시간을 감소시키기 위한 방법을 포함하는데, 방법은, 컴퓨팅 디바이스상에서, 컴퓨팅 디바이스상에 저장되는 로그에 하나 이상의 무선 액세스 포인트들과의 복수의 무선 연결에 대한 무선 연결 정보를 기록하는 단계 - 로그는 이력 무선 연결 정보를 포함함-; 컴퓨팅 디바이스상에서, 이력 무선 연결 정보에 적어도 부분적으로 기초하여 파라미터들을 계산하는 단계; 컴퓨팅 디바이스상에서, 파라미터들에 적어도 부분적으로 기초하여 원하는 시간에 연결하기 위한 하나 이상의 무선 액세스 포인트들의 정렬 리스트를 생성하는 단계; 컴퓨팅 디바이스상에서, 정렬 리스트로부터 연결을 시도할 제1 무선 액세스 포인트를 선택하는 단계; 및 컴퓨팅 디바이스상에서, 선택된 제1 무선 액세스 포인트에게 프로브 프레임을 보내는 단계를 포함한다.
예 18은 예 17의 청구 대상을 포함하고, 여기서 로그는 파라미터들의 계산에서 아직 사용되지 않은 부가적 무선 연결 정보를 더 포함하고, 여기서 파라미터들에 적어도 부분적으로 기초하여 원하는 시간에 연결하기 위한 하나 이상의 무선 액세스 포인트들의 정렬 리스트를 생성하는 단계는 파라미터들 및 부가적 무선 연결 정보에 적어도 부분적으로 기초하여 원하는 시간에 연결하기 위한 하나 이상의 무선 액세스 포인트들의 정렬 리스트를 생성하는 단계를 포함한다.
예 19는 예들 17 내지 18 중 어느 하나의 청구 대상을 포함하고, 여기서 컴퓨팅 디바이스상에서, 유전적 프로그래밍 연산을 이용하여 각각의 파라미터에 대한 예측 프로그램을 생성하는 단계를 더 포함하고, 여기서 원하는 시간에 연결하기 위해 하나 이상의 무선 액세스 포인트들의 정렬 리스트를 생성하는 단계는 하나 이상의 무선 액세스 포인트들의 정렬 리스트를 생성하기 위해 각각의 파라미터에 대한 예측 프로그램을 실행하는 단계를 포함한다.
예 20은 예들 17 내지 19 중 어느 하나의 청구 대상을 포함하고, 여기서 각각의 파라미터는 이력 무선 연결 정보에 적어도 부분적으로 기초하여 계산되는 확률을 포함한다.
예 21은 예들 17 내지 20 중 어느 하나의 청구 대상을 포함하고, 컴퓨팅 디바이스상에서, 로그에 기록되는 복수의 무선 연결의 상이한 부가적 무선 연결에게 각각의 파라미터에 대해 계산되는 확률을 할당하는 단계를 더 포함한다.
예 22는 예들 17 내지 21 중 어느 하나의 청구 대상을 포함하고, 컴퓨팅 디바이스상에서, 로그에 기록되는 각각의 부가적 무선 연결에 대응하는 무선 액세스 포인트를 식별하는 단계를 더 포함한다.
예 23은 예들 17 내지 22 중 어느 하나의 청구 대상을 포함하고, 여기서 정렬 리스트는 로그에 기록되는 각각의 상이한 부가적 무선 연결에 할당되는 대응 확률에 따라 내림차순으로 배열되는 하나 이상의 무선 액세스 포인트들을 포함한다.
예 24는 예들 17 내지 23 중 어느 하나의 청구 대상을 포함하고, 여기서 로그에 기록되는 각각의 부가적 무선 연결에 대응하는 무선 액세스 포인트를 식별하는 단계는 로그에 기록되는 각각의 무선 액세스 포인트와 연관되는 서비스 세트 식별자, 무선 채널, 및 MAC 주소 중 하나 이상에 적어도 부분적으로 기초하여 로그에 기록되는 각각의 부가적 무선 연결에 대응하는 무선 액세스 포인트를 식별하는 단계를 포함한다.
예 25는 예들 17 내지 24 중 어느 하나의 청구 대상을 포함하고, 컴퓨팅 디바이스상에서, 선택된 제1 무선 액세스 포인트로부터 프로브 프레임에 대한 응답을 수신하는 것에 응답하여 선택된 제1 무선 액세스 포인트와의 연결을 확립하는 단계를 더 포함한다.
예 26은 예들 17 내지 25 중 어느 하나의 청구 대상을 포함하고, 컴퓨팅 디바이스상에서, 선택된 제1 무선 액세스 포인트로부터 프로브 프레임에 대한 응답을 수신하지 않은 것에 응답하여 정렬 리스트로부터 연결을 시도할 제2 무선 액세스 포인트를 선택하는 단계를 더 포함한다.
예 27은 예들 17 내지 26 중 어느 하나의 청구 대상을 포함하고, 프로브 프레임을 제1 무선 액세스 포인트에게 보내는 단계는 제1 프로브 프레임을 제1 무선 액세스 포인트에게 보내는 단계를 포함하고, 여기서 방법은 컴퓨팅 디바이스상에서, 제1 무선 액세스 포인트로부터 제1 프로브 프레임에 대한 응답을 수신하지 않은 것에 응답하여 선택된 제2 무선 액세스 포인트에게 제2 프로브 프레임을 보내는 단계를 더 포함한다.
예 28은 예들 17 내지 27 중 어느 하나의 청구 대상을 포함하고, 컴퓨팅 디바이스상에서, 정렬 리스트의 무선 액세스 포인트들 중 임의의 것으로부터 프로브 프레임에 대한 응답을 수신하지 않은 것에 응답하여 하나 이상의 다른 무선 액세스 포인트들의 위치를 파악하기 위한 스캐닝을 개시하는 단계를 더 포함한다.
예 29는 예들 17 내지 28 중 어느 하나의 청구 대상을 포함하고, 프로브 프레임을 선택된 제1 무선 액세스 포인트에게 보내는 단계는 제1 프로브 프레임을 선택된 제1 무선 액세스 포인트에게 보내는 단계를 포함하고, 여기서 방법은, 컴퓨팅 디바이스상에서, 정렬 리스트로부터 연결을 시도할 제2 무선 액세스 포인트 및 제3 무선 액세스 포인트를 선택하는 단계; 컴퓨팅 디바이스상에서, 제1 프로브 프레임을 선택된 제1 무선 액세스 포인트에게 보내는 것과 동시에 선택된 제2 무선 액세스 포인트에게 제2 프로브 프레임을 및 선택된 제3 무선 액세스 포인트에게 제3 프로브 프레임을 보내는 단계; 및 컴퓨팅 디바이스상에서, 대응하는 선택된 제1, 제2, 또는 제3 무선 액세스 포인트들 중 하나로부터 프로브 프레임에 대한 응답을 수신하는 것에 응답하여 선택된 제1, 제2, 또는 제3 무선 액세스 포인트들 중 하나와의 연결을 확립하는 단계를 더 포함한다.
예 30은 예들 17 내지 29 중 어느 하나의 청구 대상을 포함하고, 여기서 이력 무선 연결 정보에 적어도 부분적으로 기초하여 파라미터들을 계산하는 것은 컴퓨팅 디바이스가 컴퓨팅 디바이스의 사용자에 의해 사용되고 있지 않을 때 파라미터들을 계산하는 것을 포함한다.
예 31은 예들 17 내지 30 중 어느 하나의 청구 대상을 포함하고, 여기서 이력 무선 연결 정보에 적어도 부분적으로 기초하여 파라미터들을 계산하는 것은 컴퓨팅 디바이스가 전력 어댑터에 결합될 때만 파라미터들을 계산하는 것을 포함한다.
예 32는 예들 17 내지 31 중 어느 하나의 청구 대상을 포함하고, 여기서 이력 무선 연결 정보에 적어도 부분적으로 기초하여 파라미터들을 계산하는 것은 참조 구간에 적어도 부분적으로 기초하여 파라미터들을 계산하는 것을 포함한다.
예 33은 무선 액세스 포인트로의 연결 시간을 줄이기 위한 컴퓨팅 디바이스를 포함하는데, 컴퓨팅 디바이스는 프로세서; 및 프로세서에 의해 실행될 때, 컴퓨팅 디바이스로 하여금 예들 17 내지 32 중 어느 하나의 방법을 실행하도록 야기하는 복수의 명령어를 그 안에 저장하는 메모리를 포함한다.
예 34는, 실행되는 것에 응답하여, 컴퓨팅 디바이스가 예들 17 내지 32 중 어느 하나의 방법을 실행하는 것을 초래하는, 그 상에 저장되는 복수의 명령어를 포함하는 하나 이상의 기계 판독 가능 저장 매체를 포함한다.

Claims (34)

  1. 무선 액세스 포인트로의 연결 시간을 감소시키기 위한 컴퓨팅 디바이스로서:
    상기 컴퓨팅 디바이스상에 저장되는 로그에 하나 이상의 무선 액세스 포인트들과의 복수의 무선 연결에 대한 무선 연결 정보를 기록하기 위한 무선 연결 로깅 회로 - 상기 로그는 이력 무선 연결 정보를 포함함- ;
    상기 이력 무선 연결 정보에 적어도 부분적으로 기초하여 파라미터들을 계산하기 위한 분석 회로 - 각각의 파라미터는 상기 이력 무선 연결 정보에 적어도 부분적으로 기초하여 계산되는 확률을 포함함 -;
    (i) 각각의 파라미터에 대해 계산된 확률을 상기 로그에 기록된 상기 복수의 무선 연결의 상이한 무선 연결에 대해 할당하고, (ii) 상기 파라미터들에 적어도 부분적으로 기초하여 원하는 시간에 연결하기 위한 상기 하나 이상의 무선 액세스 포인트들의 정렬 리스트를 생성하기 위한 예측 회로;
    상기 정렬 리스트로부터 연결을 시도할 제1 무선 액세스 포인트를 선택하기 위한 무선 연결 관리 회로; 및
    상기 선택된 제1 무선 액세스 포인트에게 프로브 프레임을 보내기 위한 무선 통신 회로
    를 포함하는 컴퓨팅 디바이스.
  2. 제1항에 있어서, 상기 로그는 상기 분석 회로에 의해 상기 파라미터들의 계산에 아직 사용되지 않은 부가적 무선 연결 정보를 더 포함하고,
    상기 파라미터들에 적어도 부분적으로 기초하여 상기 원하는 시간에 연결하기 위한 상기 하나 이상의 무선 액세스 포인트들의 상기 정렬 리스트를 생성하는 것은 상기 파라미터들 및 상기 부가적 무선 연결 정보에 적어도 부분적으로 기초하여 상기 원하는 시간에 연결하기 위한 상기 하나 이상의 무선 액세스 포인트들의 상기 정렬 리스트를 생성하는 것을 포함하는 컴퓨팅 디바이스.
  3. 제2항에 있어서, 각각의 파라미터는 유전적 프로그래밍 연산(genetic programming operation)을 이용하여 생성되는 예측 프로그램을 포함하고,
    상기 원하는 시간에 연결하기 위한 상기 하나 이상의 무선 액세스 포인트들의 상기 정렬 리스트를 생성하는 것은 상기 하나 이상의 무선 액세스 포인트들의 상기 정렬 리스트를 생성하기 위해 각각의 파라미터에 대해 상기 예측 프로그램을 실행하는 것을 포함하는 컴퓨팅 디바이스.
  4. 삭제
  5. 제2항에 있어서, 상기 예측 회로는 추가로, 각각의 파라미터에 대해 계산되는 상기 확률을 상기 로그에 기록되는 상기 복수의 무선 연결의 상이한 부가적 무선 연결에 할당하는 컴퓨팅 디바이스.
  6. 제5항에 있어서, 상기 예측 회로는 추가로, 상기 로그에 기록되는 각각의 부가적 무선 연결에 대응하는 무선 액세스 포인트를 식별하는 컴퓨팅 디바이스.
  7. 제6항에 있어서, 상기 정렬 리스트는 상기 로그에 기록되는 각각의 상이한 부가적 무선 연결에 할당되는 대응하는 확률에 따라 내림차순으로 배열되는 상기 하나 이상의 무선 액세스 포인트들을 포함하는 컴퓨팅 디바이스.
  8. 제6항에 있어서, 상기 로그에 기록되는 각각의 부가적 무선 연결에 대응하는 무선 액세스 포인트를 식별하는 것은 상기 로그에 기록되는 각각의 무선 액세스 포인트와 연관되는 서비스 세트 식별자, 무선 채널, 및 MAC 주소 중 하나 이상에 적어도 부분적으로 기초하여 상기 로그에 기록되는 각각의 부가적 무선 연결에 대응하는 무선 액세스 포인트를 식별하는 것을 포함하는 컴퓨팅 디바이스.
  9. 제2항에 있어서, 상기 무선 연결 관리 회로는 추가로, 상기 무선 통신 회로가 상기 선택된 제1 무선 액세스 포인트로부터 상기 프로브 프레임에 대한 응답을 수신하는 것에 응답하여 상기 선택된 제1 무선 액세스 포인트와의 연결을 확립하는 컴퓨팅 디바이스.
  10. 제2항에 있어서, 상기 무선 연결 관리 회로는 추가로, 상기 무선 통신 회로가 상기 제1 무선 액세스 포인트로부터 상기 프로브 프레임에 대한 응답을 수신하지 않은 것에 응답하여 상기 정렬 리스트로부터 연결을 시도할 제2 무선 액세스 포인트를 선택하는 컴퓨팅 디바이스.
  11. 제10항에 있어서, 상기 제1 무선 액세스 포인트에게 프로브 프레임을 보내기 위한 상기 무선 통신 회로는 제1 프로브 프레임을 상기 제1 무선 액세스 포인트에게 보내는 것을 포함하고,
    상기 무선 연결 관리 회로는 추가로, 상기 제1 무선 액세스 포인트로부터 상기 제1 프로브 프레임에 대한 응답을 수신하지 않은 것에 응답하여 제2 프로브 프레임을 상기 선택된 제2 무선 액세스 포인트에게 보내는 컴퓨팅 디바이스.
  12. 제2항에 있어서, 상기 무선 연결 관리 회로는 추가로, 상기 무선 통신 회로가 상기 정렬 리스트의 무선 액세스 포인트들 중 어느 무선 액세스 포인트로부터도 상기 프로브 프레임에 대한 응답을 수신하지 않은 것에 응답하여 하나 이상의 다른 무선 액세스 포인트들의 위치를 파악하기 위한 스캐닝을 개시하는 컴퓨팅 디바이스.
  13. 제2항에 있어서, 상기 선택된 제1 무선 액세스 포인트에게 프로브 프레임을 보내는 것은 제1 프로브 프레임을 상기 선택된 제1 무선 액세스 포인트에게 보내는 것을 포함하고,
    상기 무선 연결 관리 회로는 추가로, 상기 정렬 리스트로부터 연결을 시도할 제2 무선 액세스 포인트 및 제3 무선 액세스 포인트를 선택하고,
    상기 무선 통신 회로는 추가로, 상기 제1 프로브 프레임을 상기 선택된 제1 무선 액세스 포인트에게 보내는 것과 동시에, 제2 프로브 프레임을 상기 선택된 제2 무선 액세스 포인트에게 그리고 제3 프로브 프레임을 상기 선택된 제3 무선 액세스 포인트에게 보내고,
    상기 무선 연결 관리 회로는 추가로, 상기 무선 통신 회로가 상기 선택된 제1, 제2, 또는 제3 무선 액세스 포인트들 중 하나로부터 상기 프로브 프레임에 대한 응답을 수신하는 것에 응답하여 해당하는 상기 선택된 제1, 제2, 또는 제3 무선 액세스 포인트들 중 하나와의 연결을 확립하는 컴퓨팅 디바이스.
  14. 제1항 내지 제3항 및 제5항 내지 제13항 중 어느 한 항에 있어서, 상기 분석 회로는 상기 컴퓨팅 디바이스가 상기 컴퓨팅 디바이스의 사용자에 의해 사용되고 있지 않을 때 상기 파라미터들을 계산하는 컴퓨팅 디바이스.
  15. 제1항 내지 제3항 및 제5항 내지 제13항 중 어느 한 항에 있어서, 상기 분석 회로는 상기 컴퓨팅 디바이스가 전력 어댑터에 결합될 때만 상기 파라미터들을 계산하는 컴퓨팅 디바이스.
  16. 제1항 내지 제3항 및 제5항 내지 제13항 중 어느 한 항에 있어서, 상기 분석 회로는 참조 구간에 적어도 부분적으로 기초하여 상기 파라미터들을 계산하는 컴퓨팅 디바이스.
  17. 무선 액세스 포인트로의 연결 시간을 감소시키기 위한 방법으로서:
    컴퓨팅 디바이스상에서, 상기 컴퓨팅 디바이스상에 저장되는 로그에, 하나 이상의 무선 액세스 포인트들과의 복수의 무선 연결에 대한 무선 연결 정보를 기록하는 단계 - 상기 로그는 이력 무선 연결 정보를 포함함 -;
    상기 컴퓨팅 디바이스상에서, 상기 이력 무선 연결 정보에 적어도 부분적으로 기초하여 파라미터들을 계산하는 단계 - 각각의 파라미터는 상기 이력 무선 연결 정보에 적어도 부분적으로 기초하여 계산된 확률을 포함함 -;
    상기 컴퓨팅 디바이스상에서, 각각의 파라미터에 대해 계산된 확률을 상기 로그에 기록된 상기 복수의 무선 연결의 상이한 무선 연결에 할당하는 단계;
    상기 컴퓨팅 디바이스상에서, 상기 파라미터들에 적어도 부분적으로 기초하여 원하는 시간에 연결하기 위한 상기 하나 이상의 무선 액세스 포인트들의 정렬 리스트를 생성하는 단계;
    상기 컴퓨팅 디바이스상에서, 상기 정렬 리스트로부터 연결을 시도할 제1 무선 액세스 포인트를 선택하는 단계; 및
    상기 컴퓨팅 디바이스상에서, 상기 선택된 제1 무선 액세스 포인트에게 프로브 프레임을 보내는 단계
    를 포함하는 연결 시간 감소 방법.
  18. 제17항에 있어서, 상기 로그는 상기 파라미터들의 계산에서 아직 사용되지 않은 부가적 무선 연결 정보를 더 포함하고,
    상기 파라미터들에 적어도 부분적으로 기초하여 상기 원하는 시간에 연결하기 위한 상기 하나 이상의 무선 액세스 포인트들의 상기 정렬 리스트를 생성하는 단계는 상기 파라미터들 및 상기 부가적 무선 연결 정보에 적어도 부분적으로 기초하여 상기 원하는 시간에 연결하기 위한 상기 하나 이상의 무선 액세스 포인트들의 상기 정렬 리스트를 생성하는 단계를 포함하는 연결 시간 감소 방법.
  19. 제18항에 있어서, 상기 컴퓨팅 디바이스상에서, 유전적 프로그래밍 연산을 이용하여 각각의 파라미터에 대한 예측 프로그램을 생성하는 단계를 더 포함하고,
    상기 원하는 시간에 연결하기 위한 상기 하나 이상의 무선 액세스 포인트들의 상기 정렬 리스트를 생성하는 단계는 상기 하나 이상의 무선 액세스 포인트들의 상기 정렬 리스트를 생성하기 위해 각각의 파라미터로부터 상기 예측 프로그램을 실행하는 단계를 포함하는 연결 시간 감소 방법.
  20. 삭제
  21. 삭제
  22. 제18항에 있어서, 상기 컴퓨팅 디바이스상에서, 상기 로그에 기록되는 각각의 부가적 무선 연결에 대응하는 무선 액세스 포인트를 식별하는 단계를 더 포함하는 연결 시간 감소 방법.
  23. 제22항에 있어서, 상기 정렬 리스트는 상기 로그에 기록되는 각각의 상이한 부가적 무선 연결에 할당되는 대응하는 확률에 따라 내림차순으로 배열되는 상기 하나 이상의 무선 액세스 포인트들을 포함하는 연결 시간 감소 방법.
  24. 제22항에 있어서, 상기 로그에 기록되는 각각의 부가적 무선 연결에 대응하는 무선 액세스 포인트를 식별하는 단계는 상기 로그에 기록되는 각각의 무선 액세스 포인트와 연관되는 서비스 세트 식별자, 무선 채널, 및 MAC 주소 중 하나 이상에 적어도 부분적으로 기초하여 상기 로그에 기록되는 각각의 부가적 무선 연결에 대응하는 무선 액세스 포인트를 식별하는 단계를 포함하는 연결 시간 감소 방법.
  25. 제18항에 있어서, 상기 컴퓨팅 디바이스상에서, 상기 선택된 제1 무선 액세스 포인트로부터 상기 프로브 프레임에 대한 응답을 수신하는 것에 응답하여 상기 선택된 제1 무선 액세스 포인트와의 연결을 확립하는 단계를 더 포함하는 연결 시간 감소 방법.
  26. 제18항에 있어서, 상기 컴퓨팅 디바이스상에서, 상기 제1 무선 액세스 포인트로부터 상기 프로브 프레임에 대한 응답을 수신하지 않은 것에 응답하여 상기 정렬 리스트로부터 연결을 시도할 제2 무선 액세스 포인트를 선택하는 단계를 더 포함하는 연결 시간 감소 방법.
  27. 제26항에 있어서, 상기 제1 무선 액세스 포인트에게 프로브 프레임을 보내는 단계는 제1 프로브 프레임을 상기 제1 무선 액세스 포인트에게 보내는 단계를 포함하고,
    상기 방법은, 상기 컴퓨팅 디바이스상에서, 제1 무선 액세스 포인트로부터 상기 제1 프로브 프레임에 대한 응답을 수신하지 않은 것에 응답하여 상기 선택된 제2 무선 액세스 포인트에게 제2 프로브 프레임을 보내는 단계를 더 포함하는 연결 시간 감소 방법.
  28. 제18항에 있어서, 상기 컴퓨팅 디바이스상에서, 상기 정렬 리스트의 무선 액세스 포인트들 중 어느 무선 액세스 포인트로부터도 상기 프로브 프레임에 대한 응답을 수신하지 않은 것에 응답하여 하나 이상의 다른 무선 액세스 포인트들의 위치를 파악하기 위한 스캐닝을 개시하는 단계를 더 포함하는 연결 시간 감소 방법.
  29. 제18항에 있어서, 상기 선택된 제1 무선 액세스 포인트에게 프로브 프레임을 보내는 단계는 제1 프로브 프레임을 상기 선택된 제1 무선 액세스 포인트에게 보내는 단계를 포함하고, 및
    상기 방법은:
    상기 컴퓨팅 디바이스상에서, 상기 정렬 리스트로부터 연결을 시도할 제2 무선 액세스 포인트 및 제3 무선 액세스 포인트를 선택하는 단계;
    상기 컴퓨팅 디바이스상에서, 상기 제1 프로브 프레임을 상기 선택된 제1 무선 액세스 포인트에게 보내는 것과 동시에, 제2 프로브 프레임을 상기 선택된 제2 무선 액세스 포인트에게 그리고 제3 프로브 프레임을 상기 선택된 제3 무선 액세스 포인트에게 보내는 단계; 및
    상기 컴퓨팅 디바이스상에서, 상기 선택된 제1, 제2, 또는 제3 무선 액세스 포인트들 중 하나로부터 상기 프로브 프레임에 대한 응답을 수신하는 것에 응답하여 해당하는 상기 선택된 제1, 제2, 또는 제3 무선 액세스 포인트들 중 하나와의 연결을 확립하는 단계를 더 포함하는
    연결 시간 감소 방법.
  30. 제18항에 있어서, 상기 이력 무선 연결 정보에 적어도 부분적으로 기초하여 파라미터들을 계산하는 것은 상기 컴퓨팅 디바이스가 상기 컴퓨팅 디바이스의 사용자에 의해 사용되고 있지 않을 때 파라미터들을 계산하는 것을 포함하는 연결 시간 감소 방법.
  31. 제18항에 있어서, 상기 이력 무선 연결 정보에 적어도 부분적으로 기초하여 파라미터들을 계산하는 것은 상기 컴퓨팅 디바이스가 전력 어댑터에 결합될 때만 파라미터들을 계산하는 것을 포함하는 연결 시간 감소 방법.
  32. 제18항에 있어서, 상기 이력 무선 연결 정보에 적어도 부분적으로 기초하여 파라미터들을 계산하는 것은 참조 구간에 적어도 부분적으로 기초하여 파라미터들을 계산하는 것을 포함하는 연결 시간 감소 방법.
  33. 무선 액세스 포인트로의 연결 시간을 감소시키기 위한 컴퓨팅 디바이스로서:
    프로세서; 및
    상기 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 제17항 내지 제19항 및 제22항 내지 제32항 중 어느 한 항의 방법을 실행하도록 야기하는 복수의 명령어를 그 안에 저장하는 메모리
    를 포함하는 컴퓨팅 디바이스.
  34. 복수의 명령어가 저장된 하나 이상의 기계 판독 가능 저장 매체로서, 상기 복수의 명령어는 실행되는 것에 응답하여, 컴퓨팅 디바이스로 하여금 제17항 내지 제19항 및 제22항 내지 제32항 중 어느 한 항의 방법을 실행하게 하는 기계 판독 가능 저장 매체.
KR1020157005078A 2012-09-28 2013-09-27 컴퓨팅 디바이스의 무선 재연결 시간 감소 KR101682080B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/631,430 US9277494B2 (en) 2012-09-28 2012-09-28 Reducing wireless reconnection time of a computing device
US13/631,430 2012-09-28
PCT/US2013/062320 WO2014052839A1 (en) 2012-09-28 2013-09-27 Reducing wireless reconnection time of a computing device

Publications (2)

Publication Number Publication Date
KR20150039806A KR20150039806A (ko) 2015-04-13
KR101682080B1 true KR101682080B1 (ko) 2016-12-02

Family

ID=50385081

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157005078A KR101682080B1 (ko) 2012-09-28 2013-09-27 컴퓨팅 디바이스의 무선 재연결 시간 감소

Country Status (6)

Country Link
US (2) US9277494B2 (ko)
EP (1) EP2901769B1 (ko)
JP (1) JP5989249B2 (ko)
KR (1) KR101682080B1 (ko)
CN (1) CN104704886A (ko)
WO (2) WO2014052758A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9277494B2 (en) 2012-09-28 2016-03-01 Intel Corporation Reducing wireless reconnection time of a computing device
US8885565B2 (en) 2012-09-28 2014-11-11 Intel Corporation Mixed off-site/on-site prediction computation for reducing wireless reconnection time of a computing device
KR102025754B1 (ko) 2012-11-01 2019-09-26 삼성전자주식회사 와이파이 네트워크를 이용한 디바이스 연결 시스템 및 방법
WO2015133943A1 (en) * 2014-03-04 2015-09-11 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for managing connectivity for a service
JP2016046792A (ja) * 2014-08-27 2016-04-04 富士通株式会社 移動通信装置、無線通信方法および通信制御プログラム
WO2016128059A1 (en) * 2015-02-12 2016-08-18 Telefonaktiebolaget Lm Ericsson (Publ) Method, system and devices for connecting a user equipment, ue, to a telecommunication network.
CN105491642B (zh) * 2015-11-25 2019-09-10 小米科技有限责任公司 网络连接的方法和装置
CN106028425A (zh) * 2016-05-05 2016-10-12 深圳Tcl数字技术有限公司 无线通讯的连接控制方法及装置
US10470189B2 (en) 2016-06-27 2019-11-05 At&T Intellectual Property I, L.P. Facilitation of efficient software downloads for vehicles
KR101723984B1 (ko) * 2017-01-31 2017-04-06 (주)그립 IoT 게이트웨이 및 그 동작 방법
KR20180096130A (ko) * 2017-02-20 2018-08-29 삼성전자주식회사 전자장치의 통신 설정 방법 및 그 장치
US11109290B2 (en) 2017-08-04 2021-08-31 Charter Communications Operating, Llc Switching connections over frequency bands of a wireless network
US10506616B2 (en) * 2017-08-04 2019-12-10 Charter Communications Operating, Llc Prioritizing preferred networks
US11160003B2 (en) 2017-08-04 2021-10-26 Charter Communications Operating, Llc Connecting to a wireless network based on a device mobility state
CN107708076B (zh) * 2017-10-09 2020-03-17 上海连尚网络科技有限公司 用于推送接入信息的方法和设备
US11076161B2 (en) 2018-02-20 2021-07-27 Arlo Technologies, Inc. Notification priority sequencing for video security
US11272189B2 (en) 2018-02-20 2022-03-08 Netgear, Inc. Adaptive encoding in security camera applications
US11756390B2 (en) 2018-02-20 2023-09-12 Arlo Technologies, Inc. Notification priority sequencing for video security
US10742998B2 (en) 2018-02-20 2020-08-11 Netgear, Inc. Transmission rate control of data communications in a wireless camera system
US10805613B2 (en) 2018-02-20 2020-10-13 Netgear, Inc. Systems and methods for optimization and testing of wireless devices
US11558626B2 (en) * 2018-02-20 2023-01-17 Netgear, Inc. Battery efficient wireless network connection and registration for a low-power device
US11064208B2 (en) 2018-02-20 2021-07-13 Arlo Technologies, Inc. Transcoding in security camera applications
US11102492B2 (en) 2018-02-20 2021-08-24 Arlo Technologies, Inc. Multi-sensor motion detection
US10945197B2 (en) * 2018-08-29 2021-03-09 Samsung Electronics Co., Ltd. Electronic device for providing AP list and method for operating electronic device
CN116321244B (zh) * 2023-02-01 2023-12-15 广州爱浦路网络技术有限公司 N3IWFs/TNGFs的详细信息时效性设置方法、计算机装置和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006238319A (ja) * 2005-02-28 2006-09-07 Sony Corp 無線通信装置、通信システム、通信方法、およびプログラム
JP2010245631A (ja) * 2009-04-01 2010-10-28 Ntt Docomo Inc 移動通信端末及び接続モード切替方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136644B2 (en) * 2001-11-29 2006-11-14 Motorola, Inc. Method and apparatus for controlling service acquisition in a local area network device
JP2004235704A (ja) * 2003-01-28 2004-08-19 Oki Electric Ind Co Ltd 基地局周波数検索方法
US7363379B2 (en) * 2003-09-30 2008-04-22 Intel Corporation Access point association history in wireless networks
US7389122B2 (en) 2004-12-17 2008-06-17 Intel Corporation Method and apparatus to provide a continuous useable wireless network connection
US8041319B2 (en) * 2004-12-23 2011-10-18 Avaya Inc. Method and apparatus to intelligently perform scanning and assist scanning by profiling scanning history
KR100736046B1 (ko) * 2005-09-07 2007-07-06 삼성전자주식회사 기접속 기록을 사용하여 안정적인 액세스 포인트에결합하도록 가이드하는 방법 및 장치
KR100800723B1 (ko) 2007-01-26 2008-02-01 삼성전자주식회사 통신이력을 관리하기 위한 방법 및 장치
US8000276B2 (en) 2007-02-05 2011-08-16 Wefi, Inc. Providing easy access to radio networks
CN101946543B (zh) 2008-02-21 2015-04-22 日本电信电话株式会社 无线基站搜索方法、无线基站搜索装置以及无线基站搜索程序
US8223940B2 (en) 2008-05-02 2012-07-17 Hewlett-Packard Development Company, L.P. Selecting communication mode of communications apparatus
US8082353B2 (en) * 2008-05-13 2011-12-20 At&T Mobility Ii Llc Reciprocal addition of attribute fields in access control lists and profiles for femto cell coverage management
KR101481408B1 (ko) 2008-06-04 2015-01-14 주식회사 팬택 이동통신 단말기에서의 최근 통화 목록을 이용한 단축다이얼 기능 제공 장치 및 방법
KR101600472B1 (ko) * 2009-10-30 2016-03-08 삼성전자주식회사 무선 단말에서 네트워크 접속장치 및 방법
KR101699972B1 (ko) 2010-08-03 2017-01-26 주식회사 엘지유플러스 이동 단말기, 인터넷 제어서버 및 무선인터넷 존 안내 방법
KR101724020B1 (ko) 2010-12-22 2017-04-06 삼성전자주식회사 휴대용 단말기에서 전력 소모를 줄이기 위한 장치 및 방법
US20120170471A1 (en) * 2010-12-31 2012-07-05 Openpeak Inc. Automated access point selection to provide communication network presence to a communication device
CN103299683A (zh) 2011-01-09 2013-09-11 缤果无线有限公司 用于动态无线网络发现的系统、方法和装置
EP2498551B1 (en) * 2011-03-08 2016-10-19 BlackBerry Limited Improved Wi-Fi network access and a mobile terminal configured for the same
KR101765341B1 (ko) 2011-03-18 2017-08-10 네이버 주식회사 위치별 액세스 포인트의 품질 정보를 통해 네트워크를 선택하기 위한 무선 단말 시스템, 무선 통신 시스템, 서비스 제공 방법 및 접속 방법
US8885565B2 (en) 2012-09-28 2014-11-11 Intel Corporation Mixed off-site/on-site prediction computation for reducing wireless reconnection time of a computing device
US9277494B2 (en) 2012-09-28 2016-03-01 Intel Corporation Reducing wireless reconnection time of a computing device
KR20140106292A (ko) 2013-02-26 2014-09-03 삼성에스디아이 주식회사 리튬 이차전지용 음극 및 이를 채용한 리튬 이차전지

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006238319A (ja) * 2005-02-28 2006-09-07 Sony Corp 無線通信装置、通信システム、通信方法、およびプログラム
JP2010245631A (ja) * 2009-04-01 2010-10-28 Ntt Docomo Inc 移動通信端末及び接続モード切替方法

Also Published As

Publication number Publication date
KR20150039806A (ko) 2015-04-13
EP2901769A1 (en) 2015-08-05
WO2014052839A1 (en) 2014-04-03
US9277494B2 (en) 2016-03-01
US9942839B2 (en) 2018-04-10
CN104704886A (zh) 2015-06-10
EP2901769A4 (en) 2016-06-01
JP5989249B2 (ja) 2016-09-07
EP2901769B1 (en) 2018-05-02
JP2015534395A (ja) 2015-11-26
WO2014052758A1 (en) 2014-04-03
US20140092755A1 (en) 2014-04-03
US20160183184A1 (en) 2016-06-23

Similar Documents

Publication Publication Date Title
KR101682080B1 (ko) 컴퓨팅 디바이스의 무선 재연결 시간 감소
KR101665897B1 (ko) 컴퓨팅 디바이스의 무선 재연결 시간을 감소시키기 위한 혼합식 오프 사이트/온 사이트 예측 계산
US8806620B2 (en) Method and device for managing security events
US9554402B2 (en) Freeing up mobile network for important phone calls in case of disaster
CN111045901A (zh) 容器的监控方法、装置、存储介质和电子设备
CN110086658B (zh) 接口切换方法、装置及计算机可读存储介质
US20150149896A1 (en) Recipient-based predictive texting
CN113704063B (zh) 一种云手机的性能监控方法、装置、设备及存储介质
US20160078350A1 (en) Contextual platform feature recommendations
US20180322412A1 (en) Ticket Routing
CN111209333B (zh) 数据更新方法、装置、终端及存储介质
CN113886353B (zh) 分层存储管理软件的数据配置推荐方法、装置及存储介质
WO2015066247A1 (en) Managing server membership
KR102582398B1 (ko) 어플리케이션을 제어하는 방법 및 장치
US11687116B2 (en) Intelligent user equipment central processing unit core clock adjustment
CN110738982B (zh) 一种请求处理方法、装置及电子设备
US20160132837A1 (en) Action encouragement method, apparatus, and program for encouraging user to move to facility suitable for schedule or task
CN118118556A (zh) 基于用户请求的云手机调度方法、装置、设备及存储介质
CN117667375A (zh) 一种资源分析方法和相关装置
CN117852043A (zh) 异常设备的确定方法、装置、电子设备以及存储介质
CN116260853A (zh) 节点设备的连接管理方法、设备及存储介质
CN115826926A (zh) 应用创建方法、装置、设备及存储介质

Legal Events

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