KR20090023382A - 네트워크 액세스 포인트의 검지와 이용 - Google Patents

네트워크 액세스 포인트의 검지와 이용 Download PDF

Info

Publication number
KR20090023382A
KR20090023382A KR1020087030394A KR20087030394A KR20090023382A KR 20090023382 A KR20090023382 A KR 20090023382A KR 1020087030394 A KR1020087030394 A KR 1020087030394A KR 20087030394 A KR20087030394 A KR 20087030394A KR 20090023382 A KR20090023382 A KR 20090023382A
Authority
KR
South Korea
Prior art keywords
network
access point
wireless network
profile
identified
Prior art date
Application number
KR1020087030394A
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 KR20090023382A publication Critical patent/KR20090023382A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • 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
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

네트워크 액세스 포인트 검지 및 사용 시스템 및 방법이 개시된다. 상기 시스템 및 방법에 따라, 액세스 및 사용을 위한 주어진 무선 네트워크의 적합성이 판정될 수 있다. 상기 시스템 및 방법은 설정 정보를 이용하여 완전히 설정가능하고 점차로 업데이트가능하다. 네트워크 프로파일 및 스크립트 함수를 포함하는 상기 설정 정보는 클라이언트 디바이스의 내재한 동작 플랫폼(예를 들면, 운영체제 플랫폼)의 변조없이, 네트워크 액세스 포인트의 사용가능성 상태를 판정하기 위해, 클라이언트로하여금 네트워크 액세스 포인트의 테스트를 수행하도록 동적으로 설정하는 데에 사용될 수 있다. 사용가능성 상태는 클라이언트 디바이스에 의해 캐시되고, 후속하는 네트워크 검지를 보조하고 네트워크 액세스 포인트의 정보에 근거한 선택을 수행하는 데에 사용될 수 있다.
Figure P1020087030394
무선 네트워크, 클라이언트 디바이스, 액세스 포인트, 비컨 메시지, 고유 식별자, 사용가능성 상태, 캐시

Description

네트워크 액세스 포인트의 검지와 이용{NETWORK ACCESS POINT DETECTION AND USE}
본 발명에서는, 네트워크 액세스 포인트의 검지와 사용, 특히 액세스 및 사용을 위해 주어진 무선 네트워크의 적합성을 판정하는 시스템 및 방법이 개시되며, 이는 네트워크 프로파일과 스크립트 함수를 구비하는 설정 정보를 이용하여 완전히 설정가능하고 점차적으로 업데이트가능하며, 상기 설정 정보는 액세스 포인트 선택시 사용하기 위한 사용가능성 상태와 같은 네트워크 액세스 포인트의 사용가능성 상태를 판정하기 위해 사용가능성 테스트를 수행하고, 및 후속하는 네트워크 검지 및 선택을 보조하기 위해 상기 상태 정보의 저장을 하도록 클라이언트 디바이스를 동적으로 설정하기 위해 사용될 수 있다.
무선 네트워크는 점점 일반적이 되어가고, 인터넷을 포함하는 다른 네트워크에 연결하기 위한 메커니즘을 제공한다. 와이어리스 피델리티 "와이파이" 네트워크(또한 802.11 네트워크로 알려짐)는 무선 네트워크에 대한 주요한 표준으로 최근 알려지고 있다. 이것은 주로 WiFi 네트워크가 쉽게 설치될 수 있고, 최소의 비용만이 부담될 수 있다는 것에 기인한다. 예를 들면, 오퍼레이터는 하나 이상의 디지털 가입자 회선(DSL) 및/또는 T1 회선 및 무선 네트워크에 대한 액세스를 제어하 는 장비를 가진 "핫 스팟"을 셋업할 수 있고, 그런 다음 돈을 받고 고속 무선 인터넷 액세스를 판매할 수 있다. "핫 스팟"은 일반적으로 고객의 디바이스와 WiFi 네트워크 사이의 연결 포인트로서 기능하는 하나 이상의 무선 액세스 포인트(AP)를 가진다. 상기 고객의 디바이스는 무선 네트워크와 통신할 수 있는 WiFi 칩을 구비한 임의의 디바이스(예를 들면, 데스크탑 또는 랩탑 컴퓨터, 개인휴대단말 통신, 디지털 카메라, 휴대 전화, 자동차, 게임기, 소비자 전자장비 등)가 될 수 있다.
점점 더 많은 핫 스팟이 설치되면서, 사용자는 무선 네트워크 접속을 통해 인터넷으로의 액세스를 획득할 기회를 더 많이 가지게 된다. 그러나, 상이한 수의 핫 스팟, 또는 무선 네트워크, 오퍼레이터 및 무선 네트워크 액세스를 얻기 위한 상이한 메커니즘에 기인하여, 인터넷으로의 무선 액세스는 사용자가 그것에 대해 선호하는 것과 같이 심리스하지 못하다.
무선 네트워크에 액세스를 얻기위해, 사용자는 먼저 무선 네트워크 오퍼레이터로부터 승인을 받아야하며, 이는 일반적으로 사용자가 핫 스팟 오퍼레이터 또는 액세스 기간과 요금을 식별하는 무선 네트워크 오퍼레이터와 협정을 맺은 기타 엔티티와 계약을 맺을 것을 요구한다. 이러한 계약에 기초하여, 무선 네트워크 오퍼레이터는 사용자에게 사용자가 오퍼레이터의 무선 네트워크에 대한 액세스를 획득하기 위해 사용하는 접속/로그인 프로시저를 제공한다.
사용자의 와이파이 가능한 디바이스 또는 무선 디바이스는 일반적으로 기존 네트워크를 스니핑 또는 스캔하는 기능을 가진다. 일반적으로, 상기 무선 디바이스는 그 채널에 대한 무선 네트워크에 의해 브로드캐스팅되는 모든 비컨 프레임 또 는 신호를 위한 하나 이상의 가용한 채널 및 청취에 튜닝한다. 상기 디바이스에 의해 수신된 비컨은 하나 이상의 무선 네트워크로부터 온 것일 수 있다.
각각의 무선 네트워크는 일반적으로, 무선 네트워크에 의해 브로드캐스팅되는 비컨 프레임에 포함되는 서비스 세트 식별자, "SSID"라고 하는 네트워크 식별자에 의해 식별된다. 상기 네트워크 명칭은 그런다음 사용할 네트워크를 식별하고 선택하기 위해 무선 디바이스에 의해 사용된다. 예를 들면, 802.11x 기반의 무선 네트워크와 같은 특정한 네트워크 기술에서, 식별자는 항상 신뢰성있는 식별자가 아니고, 결과적으로 네트워크 사용가능성 및/또는 가용성의 신뢰성있는 지시자가 될수 없다. 네트워크 명칭은 고유할 필요는 없다. 따라서, 상이한 네트워크 오퍼레이터가 예를 들면 동일한 네트워크 명칭을 사용할 수 있다. 추가로, 동일한 네트워크 오퍼레이터는 상이한 사용 및 가용성을 가진 각각의 클래스를 가지고, 자신의 네트워크의 다수의 클래스에 대해 동일한 네트워크 명칭을 사용할 수 있다.
예시를 위해, 무선 네트워크 오퍼레이터는 무선 네트워크의 다수의 클래스를 운영할 수 있다. 상기 무선 네트워크 오퍼레이터는 호텔 로비를 서비스하기 위해 한 클래스의 무선 네트워크를 제공하고, 호텔 컨퍼런스 룸을 서비스하기 위해 또다른 클래스의 무선 네트워크를 제공한다. 그러나, 모든 네트워크는 자신의 비컨 프레임에서 네트워크 식별자로서 동일한 SSID를 브로드캐스팅한다(즉, 각각의 무선 네트워크가 자신의 클래스에 관계없이 동일한 SSID를 브로드캐스팅한다). 그러나, 사용자는 특정한 클래스의 네트워크를 사용할 승인만을 가질 수 있다. 이러한 경우 그리고 각각의 무선 네트워크는 동일한 SSID를 브로드캐스팅하기 때문에, 상기 무선 디바이스는 그것이 브로드캐스팅하는 비컨 프레임에 의해 무선 네트워크 사이를 구별할 수 없다. 상기 무선 디바이스는 무선 네트워크 사이를 구별할 수 없고, "시행착오"의 접근방식을 이용하는 것이 강제된다. 즉, 무선 디바이스는 그 시도가 성공할 때까지 각각의 무선 네트워크를 이용하려고 시도해야만한다. 추가로, 상기 무선 디바이스는, 상기 무선 디바이스가 동일한 환경을 스캔할 때 마다 상기의 "시행착오"의 접근 방식을 이용해야 한다.
따라서, 동일한 네트워크 식별 정보를 이용하는 무선 네트워크 사이를 구별하고, 무선 디바이스로 하여금 이전에 판정된 정보에 기초하여 무선 네트워크를 식별하도록 허용하여 무선 디바이스가 정보에 근거한 네트워크 선택을 할 수 있도록 하는 메커니즘에 대한 요구가 있다. 또한, 이러한 네트워크 액세스를 제공하고 설정가능하고 업데이트가능한 검지 메커니즘을 이용하는 것에 대한 추가적인 요구가 있다.
하나 이상의 개시된 실시예에 따라, 네트워크는 스캐닝되고, 상기 스캔으로부터 검색된 정보에 기초하여 네트워크는 주어진 사용자에 대해 네트워크의 사용가능성을 판정하기 위해 검사된다. 상태 정보는 네트워크를 사용가능, 사용불가능, 또는 알려지지 않은 상태로서 식별하기 위해 사용자의 무선-가능 디바이스 또는 클라이언트 측에서 유지관리된다. 이러한 상태 정보는 접속할 네트워크를 판정하기 위해 클라이언트에 의해 사용될 수 있고, 상기 상태 정보는 성공적인 또는 실패한 네트워크 연결을 반영하기 위해 업데이트될 수 있다. 상기 상태 정보는 클라이언트가 상태를 판정한 네트워크 액세스 포인트에 대한 상태 정보를 포함할 수 있다. 상기 정보는 네트워크 선택을 가속하기 위한 후속하는 네트워크 액세스 고려시 사용되어 처리 시간을 감소시킬수 있다. 상기 상태 정보는 클라이언트에 의해 캐싱되고, 클라이언트 상에서 동적으로 관리되며, 검지 및 사용 정보에 기초하여 업데이트된다. 클라이언트는 상태 정보를 판정하기 위해 하나 이상의 방법을 이용하도록 설정될 수 있다. 이러한 방법을 포함할 수 있는 설정 정보는 각각의 클라이언트에 대해 고유한 검지 설정을 허용하는 클라이언트로 다운로드될 수 있다. 상기 설정 정보는 시간의 흐름에 따라 업데이트 또는 변조될 수 있고, 예를 들면 네트워크 및/또는 네트워크 오퍼레이터 또는 기타 엔티티와의 계약에서의 변화를 수용하기 위해, 소프트웨어의 업그레이드를 필요로하지 않으면서, 손쉬운 추가 및 변경을 허용하도록 완전히 설정가능하다.
상술한 특징 및 본 개시물의 목적은 첨부도면과 함께 취해지는 하기의 설명을 참조하여 더 명확해질 것이고, 여기서 동일한 참조 번호는 동일한 구성요소를 지시한다.
도 1A 및 1B를 구비한 도 1은 본 개시물의 하나 이상의 실시예에 따라 사용된 컴포넌트의 아키텍처의 개관의 예이다.
도 2는 하나 이상의 개시된 실시예에 따라 사용하는 맵핑처리 흐름의 예를 제공한다.
도 3A 및 3B를 구비한 도 3은 하나 이상의 개시된 실시예에 따라 샘플 설정 의 개념도를 제공한다.
도 4는 하나 이상의 개시된 실시예에 따라 상태 정보 캐시를 개발하는 데에 사용되는 프로세스 흐름의 예를 제공한다.
도 5는 본 개시물의 하나이상의 실시예에 따라 사용된 연결 상태 프로세스 흐름을 제공한다.
도 6A 내지 6I를 구비하는 도 6은 본 개시물의 하나 이상의 실시예에 따라 도 3의 샘플 설정을 이용하여 상태 정보에 대한 다양한 스캔 시나리오와 대응하는 업데이트의 예를 제공한다.
도 7A 내지 7C를 구비하는 도 7은 본 개시물의 하나 이상의 실시예에 따라 사용하는 프루브 및 연결 함수의 예를 제공한다.
도 8은 하나 이상의 실시예에 따라 변수 및 환경 변수를 조정하기 위해 사용될 수 있는 프리미티브의 예를 제공한다.
도 9A 내지 9C를 구비하는 도 9는 본 개시물의 하나 이상의 실시예에 따라, 변수들이, 스크립트 환경이 초기화될 때 상주되거나 또는 마지막 함수가 끝날때 고려되는 일부 시스템 변수, 및 환경 변수를 도시한다.
도 10A 및 10B를 포함하는 도 10은 본 개시물의 실시예에 따라 사용된 스트링 조정 프리미티브의 일부 예를 제공한다.
도 11은 본 개시물의 하나 이상의 실시예에 따라 사용되는 수학적 프리미티브의 예를 제공한다.
도 12A 및 12B를 포함하는 도 12는 본 개시물의 하나 이상의 실시예에 따라 프로그램 제어의 폼을 허용하기 위해 사용되는 조건부 실행 스크립트 프리미티브와 조건부 오퍼레이터의 예를 제공한다.
도 13은 본 개시물의 하나 이상의 실시예에 따라 사용하는 루프 프리미티브의 예를 제공한다.
도 14A 내지 14C를 포함하는 도 14는, 본 개시물의 하나 이상의 실시예에 따라 사용될 수 있는, 프로그램 제어 프리미티브, 및 결합된 리턴 및 탈출 코드의 예를 제공한다.
도 15는 본 개시물의 하나 이상의 실시예에 따라 사용될 수 있는 슬립 및 타임 프리미티브의 예를 제공한다.
도 16A 내지 16D를 포함하는 도 16은 본 개시물의 하나 이상의 실시예에 따라 통지 및 입력 프리미티브와, 그들 사이에 사용하기 위해 결합되어 정의된 코드의 예를 제공한다.
도 17A 내지 17E를 포함하는 도 17은 본 개시물의 하나 이상의 실시예에 따라 사용하기 위한 무선 네트워크 프리미티브의 예를 제공한다.
도 18A 내지 18C를 포함하는 도 18은 본 개시물의 하나 이상의 실시예에 따라 IPSET 프리미티브에 사용되는 파라미터와 함께, 인터넷 프로토콜 관리 프리미티브의 예를 제공한다.
도 19A 내지 19F를 포함하는 도 19는 본 개시물의 하나 이상의 실시예에 따라 HTTP 서버와 상호작용하기 위한 HTTP 프리미티브 및 프리미티브의 결과의 예를 제공한다.
도 20은 본 개시물의 하나 이상의 실시예에 따라 사용하기 위한 토큰 프리미티브의 예를 제공한다.
도 21A 및 21B를 포함하는 도 21은 본 개시물의 하나 이상의 실시예에 따라 사용하기위한 GetCap 프리미티브의 예 및 기능의 예를 제공한다.
도 22A 및 22B를 포함하는 도 22는 본 개시물의 하나 이상의 실시예에 따라 설정을 생성하고 및/또는 업데이트하기 위해 사용될 수 있는 서버에 의해 리턴되는 문서의 전체 구조를 예시한다.
도 23A 내지 23C를 포함하는 도 23과 도 24A 내지 도 24D를 구비하는 도 24는 본 개시물의 하나 이상의 실시예에 따라 설정을 업데이트하기 위해 사용되는 XML-기반 문서의 예를 제공한다.
도 25 내지 59는 본 개시물의 적어도 하나의 실시예에 따라, 표현하고 그에 대해 업데이트하기 위해 사용될 수 있는 XML-기반 엘리먼트의 예를 제공한다.
일반적으로, 본 개시물은 네트워크 액세스 포인트 검지 및 사용 시스템 및 방법을 포함한다.
본 개시물의 특정한 실시예는 상술한 도면을 참조하여 논의되며, 여기서 동일한 참조 번호는 동일한 컴포넌트를 가리킨다. 본 개시물의 실시예가 802.11 무선 네트워크 환경을 참조하여 기술되지만, 상기 개시된 실시예는 802.16 및 802.20을 포함하는, 그러나 한정하지 않는 예로서, 기타 무선 네트워킹 환경을 포함하는, 다른 네트워크 환경에 대한 애플리케이션을 가지는 것이 명백하다.
하나 이상의 개시된 실시예에 따라, 네트워크 스캔은 무선-가능한 디바이스 또는 클라이언트에 의해 수행되고, 일부수의 네트워크 액세스 포인트는 스캔으로부터 식별된다. 예를 들면, 캐시에서, 상기 클라이언트 상에서 유지관리되는 상태 정보는, 스캔동안 식별된 네트워크 액세스 포인트가 상기 클라이언트에 의해 사용가능한지를 이전에 판정되었는지 여부를 판정하기 위해 사용될 수 있다. 현재 식별된 네트워크 액세스 포인트에 연관된 상태 정보가 없다면, 상기 네트워크 액세스 포인트의 사용가능성 상태는 알려지지 않은 것으로 간주된다. 상기 클라이언트는 네트워크 액세스 포인트의 사용가능성에 관한 더 많은 정보를 획득하기 위해 알려지지 않은 네트워크 액세스 포인트를 검증하기 위한 프루브 함수를 포함하는, 설정 정보를 유지관리한다. 네트워크 액세스 포인트에 대해 수집된 상태 정보는 클라이언트의 캐시에서의 상태 정보를 업데이트하는 데에 사용될 수 있다. 상기 프루브에 응답하여 상기 네트워크 액세스 포인트로부터 원하는 응답이 수신되면, 상태정보는 자신의 사용가능성 상태를 "양호"로서 지시하도록 상기 네트워크 액세스 포인트에 대해 업데이트된다. 원하는 응답과 다른 어떠한 것이 상기 네트워크 액세스 포인트로부터 수신되면, 상기 네트워크 액세스 포인트에 대응하는 상태 정보는 자신의 사용가능성을 "불량"으로 지시하도록 업데이트된다. 추가로, 네트워크 액세스 포인트는 다른 네트워크 액세스 포인트와의 "결합"에 기초하여 "양호", 또는 "불량"으로 판정될 수 있다. 네트워크 액세스 포인트가 대응하는 상태 정보를 구비하지 못하고, 대응하는 프루브가 없다면, 상기 네트워크 액세스 포인트의 상태 정보는 "알려지지 않은" 상태를 지시하도록 업데이트된다. 상기 "알려지지 않은" 상 태는 네트워크에 관한 결정적인 정보를 가지지 못한 경우, 예를 들면 결정적인 '포지티브' 또는 결정적인 '네거티브' 응답으로서 나타나지 않는 방식으로 네트워크가 프루브 또는 연결 테스트에 응답하는 경우, 사용될 수 있다.
클라이언트 상에 캐싱된 상태 정보는 네트워크에 연결하기 위해 사용하는 네트워크 액세스 포인트를 선택하기 위해 클라이언트에 의해 사용될 수 있다. 상기 상태 정보는 성공한 또는 실패한 네트워크 연결을 반영하도록 업데이트될 수 있다.
하기에 보다 상세히 기록된 바와 같이, 상태정보는 예를 들면, 상기 클라이언트가 상태를 판정하는 네트워크 액세스 포인트 각각에 대한, 기본 서비스 세트 식별자("BSSID")와 같은, 고유한 식별자를 포함하는, 무선 네트워크 검지, 사용가능성 및 사용 정보를 포함할 수 있다. 상기 정보는 네트워크 선택 속도를 높이고 처리 시간을 감소시키기 위해 후속하는 네트워크 액세스 고려에서 사용될 수 있다. 상기 캐시는 클라이언트 상에서 동적으로 관리되고, 검지 및 사용정보에 기초하여 업데이트된다.
본 개시물의 하나 이상의 실시예에 따라, 네트워크 액세스 포인트에 대한 프로브 및 연결에 사용되는 방법은, 각각의 클라이언트에 대해 설정가능하며, 클라이언트에 의해 로딩될 수 있는 설정 파일을 이용하여 클라이언트 상에서 상기 액세스 포인트 정보 캐시 유지 관리가 설정가능하다. 이는 각 클라이언트 또는 사용자에 대해 고유한 검지 설정을 허용한다. 상기 정보는 시간에 따라 변하며, 클라이언트의 내재하는 하드웨어 및/또는 소프트웨어 플랫폼에 대한 변경을 필요로하지 않으면서 용이한 추가 및 변경을 허용하도록 완전히 설정가능하다.
도 1은 본 개시물의 하나 이상의 실시예에 따라 사용되는 컴포넌트의 아키텍처의 개관의 예를 제공한다. 클라이언트(108)는 무선-가능 디바이스이다. 무선-가능 디바이스는 예를 들면 WiFi 칩을 포함하는 임의의 디바이스가 될 수 있다. 이러한 디바이스의 예로는 데스크탑 또는 랩탑 컴퓨터, 개인휴대단말, 디지털 카메라, 휴대전화, 자동차, 게임기, 가정용전자기기 등을 포함하며, 이에 한정되는 것은 아니다.
도 1A에 도시된 예시적인 아키텍처는 무선 네트워크(102)의 인스턴스를 포함한다. 무선 네트워크(102)의 각 인스턴스는 액세스 포인트(AP)(112)의 하나 이상의 인스턴스를 포함할 수 있다. AP(112)는 클라이언트(108), 및 무선 네트워크(102)와 같은, 클라이언트를 위한 통신 또는 연결 포인트로서 기능하는 네트워킹 디바이스이다. 무선 네트워크(102)를 이용하면, 클라이언트(108)는 예를 들면 인터넷(106), 무선 네트워크(104), 및/또는 무선 네트워크(102)의 기타 인스턴스로의 액세스를 획득할 수 있다.
무선 네트워크(102) 인스턴스는 하나 이상의 액세스 컨트롤러(114)의 인스턴스를 포함할 수 있지만, 그를 포함할 필요가 있는 것은 아니다. 액세스 컨트롤러(114)는 무선 네트워크(102)로의 액세스를 제어하기 위해 사용되는 디바이스를 포함한다. 액세스 컨트롤러(114)는 무선 네트워크(102) 및/또는 인터넷(106)에 액세스하는 무선 네트워크 오퍼레이터의 룰을 강제하는 데에 사용될 수 있다. 본문에 보다 상세히 기술되는 바와 같이, 액세스 제어는 예를 들면 인증의 필요없이 클라이언트(108)가 네트워크(102)에 연관되는 것을 허용하고, 그런다음 그것이 유효 한 인증 정보를 제공할 때까지 클라이언트(108)의 트래픽을 차단함으로써 달성될 수 있다. 사용될 수 있는 시나리오의 일 예는, 클라이언트(108)로부터의 인증 정보를 요청하는, 클라이언트(108)의 최초 웹페이지 요청을 수신하고, 상기 요청을 액세스 컨트롤러(114)로 리다이렉팅하는 프로세스를 포함한다. 클라이언트(108)가 유효한 인증 정보를 제공하면, 액세스 컨트롤러(114)는 클라이언트(108)에 의한 무선 네트워크(102)의 무제한 사용을 허용한다.
액세스 컨트롤러(114)는 일반적으로 핫 스팟 오퍼레이터에 의해 제공되는 것과 같은, 무선 네트워크(102)의 상용 인스턴스로 사용된다. 가정용 환경에서 사용되는 것과 같은 또다른 무선 네트워크(102)의 인스턴스는 액세스 컨트롤러(114)를 포함할 필요가 없다. 무선 네트워크(102)의 각 인스턴스는 무선 네트워크(102)의 하나의 인스턴스로부터 다른 것으로 변할 수 있는(및 그럴 가능성 있는) 네트워크에 연관, 인증, 및/또는 연결하기 위한 특정한 프로시저, 또는 방법론을 가질수 있다. 추가로, 상기 프로시저는 시간의 흐름에 따라 변할 수 있다.
본 개시물의 실시예는 무선 네트워크(102)의 인스턴스의 고유한 방법론 및 요구조건을 수용하기 위해 클라이언트(108)를 설정할 수 있다. 적어도 하나의 실시예에 따라, 서버(130)는 클라이언트(108)로 최초의 설정을 전송하고, 설정 정보로 점차적으로 증가하는 업데이트를 제공할 수 있다.
도 1A에 도시된 예시적인 아키텍처에서, 단일 클라이언트(108) 및 서버(130)가 간략화를 위해 도시된다. 클라이언트(108)의 다수 인스턴스 및/또는 서버(130)의 다수 인스턴스가 있을 수 있다는 것이 명확해야한다. 추가로, 각 클라이언 트(108)가 상이하고, 고유한 설정 정보를 다운로드할 수 있다른 것이 명확해야한다. 상기 설정 정보는 클라이언트(108)에 의해 사용되는 소프트웨어 및/또는 하드웨어 플랫폼에 대한 업데이트를 필요로하지 않으면서 용이한 추가 및 변경을 허용하도록 완전히 설정가능하다. 즉, 예를 들면, 클라이언트(108)는 무선 네트워크(102)에 대해 결합 변화, 인증 및 연결 프로시저를 처리하기 위해 자신의 설정 정보에 대한 업데이트를 통해 재설정될 수 있다.
도 1B는 본 개시물의 하나 이상의 실시예에 따라 클라이언트(108)의 내부 아키텍처의 예를 제공한다. 클라이언트(108)가 추가적인 컴포넌트를 포함할 수 있다는 것이 명확해야한다. 이러한 추가 컴포넌트는 예를 들면 디바이스의 유형에 따른다. 클라이언트(108)는 중앙처리장치(CPU)(151), 네트워크 인터페이스(152)의 하나 이상의 인스턴스, 입/출력(I/O) 디바이스 인터페이스(153)의 하나 이상의 인스턴스, 및 메모리(154)를 포함할 수 있으며, 이들 모두는 버스(150)를 통해 인터페이싱할 수 있다. 네트워크 인터페이스(152)는 WiFi 회로를 포함할 수 있는 무선 네트워크 인터페이스를 포함할 수 있다. 네트워크 인터페이스(152)의 적어도 하나의 인스턴스는 AP(112)의 인스턴스를 검지하고, 전송 제어 프로토콜/인터넷 프로토콜, 또는 TCP/IP, 프로토콜 슈트에 의해 정의되는 것과 같은 네트워크 통신 프로토콜을 이용하여 네트워크 통신을 전송 및 수신하는 기능을 가진다. 메모리(154)는 임시 및 영구 스토리지의 조합을 구비하고, 랜덤 액세스 메모리(RAM)를 포함할 수 있다. 메모리(154) 컨텐츠는 캐시(155), 설정(156), 맵핑(157), 운영체제 소프트웨어 플랫폼(158), 및 파서/번역시(159)를 포함한다. 추가로, 메모리(154)는 RAM 에 추가하여 영구적 스토리지를 포함할 수 있다. 이러한 영구 스토리지의 예는 플래시 메모리 및 디스크 스토리지(예를 들면, 고정 또는 착탈가능한), CD 등을 포함하지만, 그에 한정되는 것은 아니다.
운영체제 소프트웨어 플랫폼(158)은 클라이언트(108)의 동작을 제어하기 위해 CPU(151)에 의해 실행가능한 프로그램 코드를 포함한다. 파서/번역기(159)는 설정(156)에 포함된 정보를 번역하기 위해 CPU(151)에 의해 실행가능한 프로그램 코드를 포함한다. 파서/번역기(159)에 의해 번역된 설정(156)에 대한 변경은 운영체제 소프트웨어 플랫폼(158)의 변경없이 동적으로 클라이언트(108)를 설정하도록, 클라이언트(108)에 대한 동작에서의 변화를 가져올 수 있다. 설정(156) 및 그에 대한 업데이터는 예를 들면 서버(130)로부터 클라이언트(108)에 의해 수신될 수 있다. 하나 이상의 개시된 실시예에 따라, 설정(156)이 예를 들면 확장성 마크업 언어("XML")와 같은 마크업 언어를 이용하여 기록되며, 스크립팅 언어의 엘리먼트를 이용하여 정의된 번역가능한 함수를 포함한다. 첨부 A는 개시된 실시예에 따라 사용될 수 있는 설정의 포맷의 상세를 제공한다. 첨부 B는 개시된 실시예에 따라 사용될 수 있는 스크립팅 언어, XML 연결 제어 스크립트(XCoCoS) 언어의 엘리먼트의 상세를 포함한다.
설정(156)의 예는, 증가하는 업데이트, 사용자에 가용한 소프트웨어 함수를 식별하기 위해 사용되는 소프트웨어 함수 제어 식별자, 증명서(들), 스크립트(들), 프로파일(들), 프로파일 필터(들), 네트워크 리스트(들), 로케이션(들), 로케이션 필터(들), 및 디폴트 설정을 제어하기 위해 사용되는 파라미터를 포함하지만, 그에 한정되는 것은 아니다. 증명서는 로그인 정보(예를 들면, 사용자명, 암호, 인증서 등)을 식별하기 위해 사용될 수 있다. 스크립트는 하나 이상의 함수를 포함할 수 있으며, 이는 스크립트 언어를 이용하여 기록될 수 있고 몇가지 기능을 실행하기 위해 파서/번역기(159)에 의해 파싱 및 번역될 수 있는 설명문을 포함한다.
스크립트의 예는 연결(일반적으로 로그인을 포함) 함수, 연결 해제(일반적으로 로그아웃을 포함) 함수, 프루브 함수, 상태 업데이트 함수, 연결성 체크 함수 등을 포함하지만 그에 한정되는 것은 아니다. 연결 함수는 클라이언트(108)에 연결하기 위해 연관성, 인증, 암호화, 및 유효성검증 프로세스를 수행하여 클라이언트(108) 또는 그의 사용자가 무선 네트워크(102)를 이용할 수 있도록 하는 데에 사용될 수 있다. 연결 해제 스크립트는 무선 네트워크(102)로부터 클라이언트(108)를 연결 해제하기 위해 로그아웃 함수를 수행할 수 있다, 프루브 함수는 AP(102)로부터 수신된 신호를 유효성 검증하고, 유효성검증은 하나 이상의 실시예에 따라 클라이언트(108)가 무선 네트워크(102)로의 로그하지 않고서 수행될 수 있다. 상태 함수는, 무선 네트워크(102)로 연결되는 동안, 상기 연결이 "양호한지"여부를 판정하기 위해, 에를 들면 서버(130)와 같은, 서버로 연결하는 데에 사용될 수 있다. 연결성 체크 함수는 주어진 무선 네트워크(102)로의 연결이 인터넷 액세스를 작동시키고 제공하는지 여부를 판정하기 위해 사용될 수 있다.
설정(156)에 포함된 프로파일은 무선 네트워크(102)로 사용하기 위한 세팅을 포함한다. 설정(156)의 프로파일 필터는 프로파일에서의 세팅을 변경하기 위해 사용될 수 있다. 네트워크 리스트는 무선 네트워크(102)의 다수 인스턴스를 프로파 일로 링크하기 위해 사용될 수 있다. 로케이션은 로케이션 디렉터리로의 확장을 정의하고, 로케이션 필터는 로케이션을 걸러내기 위해(즉, 로케이션 디렉토리의 어떤 부분이 클라이언트(108) 및/또는 클라이언트(108)의 사용자에 가용한지를 제어) 사용될 수 있다. 디폴트 설정은 디폴트를 정의하고, 상기 설정(156)의 임의의 엘리먼트의 디폴터를 포함할 수 있다.
캐시(155)는 AP(102)의 인스턴스에 대응하는 정보를 포함한다. 예를 들면, 캐시(155)는, 사용가능성 정보(예를 들면, "알려짐 양호", "알려짐 불량", "결합됨 양호", "결합됨 불량", "알려지지 않음", "결합됨 알려지지 않음" 등) 및 사용 정보(예를 들면, 마지막 사용된 날짜 및 시간, 양호한 연결 및 불량한 연결을 식별하는 카운트, 등)를 포함하는 상태 정보와 함께 AP(102)에 대한 고유 식별자(예를 들면 BSSID)를 포함할 수 있다. 본문에 개시된 실시예에 따라, 캐시(155)는 스캔, 프루브 및 연결 동작의 결과로서 업데이트된다. 맵핑(157)은 프로파일을 네트워크의 리스트에 맵핑하기 위해, 프로파일을 네트워크 식별자(예를 들면, SSID)로 맵핑하는 데에 사용되는 정보를 포함한다. 설정(156)은 프로파일 및 네트워크를 랭크할 수 있고, 상기 랭킹은 상기 BSSID가 속한 무선 네트워크(102)에 대해 연결 선호 및 기타 세팅을 포함하는 프로파일과 검지된 BSSID 사이의 매칭을 판정하기 위해 사용될 수 있다. 맵핑(157)은 동적으로 생성될 수 있고, 저장되거나 또는 가상일 수 있다. 프로파일 랭킹 및 네트워크 랭킹, 및 상기 정보에 대응하는 AP(112)로부터의 신호가 있는지 여부.
도 1A를 참조하면, AP(112) 인스턴스는 비컨 프레임(119)을 브로드캐스팅한 다. 클라이언트(108)는 AP(112)의 인스턴스에 의해 브로드캐스팅된 비컨 프레임(119)을 또한 본문에서 "스니핑"이라고 인용된, 스캔(120)을 하거나 또는 검지할 수 있다. 즉, 예를 들면, 클라이언트(108)의 네트워크 인터페이스(152)는 AP(112)의 인스턴스에 의해 주어진 채널에 대하여 브로트캐스팅된 비컨 프레임(119)에 대해 주의한다. 비컨 프레임(119)은 일반적으로 SSID, BSSID, 및 보안 세팅과 같은 정보를 포함한다. 개시된 실시예를 참조하여 본문에 논의된 바와 같이. 비컨 프레임(119)에 포함된 정보는, 설정(156)과 함께, 프루브 응답(122)에 기초하여, 무선 네트워크(102) 인스턴스의 사용가능성 상태를 판정하기 위해 프로브(121) 및 무선 네트워크(102)의 인스턴스의 AP(112)에 대해 사용될 수 있다. 판정된 사용가능성 상태에 기초하고, 설정(156)과 함께, 클라이언트(108)는 무선 네트워크(102) 인스턴스를 통해 무선 네트워크(102) 및/또는 인터넷(106)으로의 연결(123)을 요청하고 연결 요청(123)에 대한 응답으로 수신된 연결 응답(124)에 기초하여 연결/사용 상태를 판정할 수 있다.
하나 이상의 실시예에 따라, 맵핑(157)이 클라이언트(108)가 연결할 수 있는 무선 네트워크(102)의 인스턴스를 선택하는 데에 사용된다. 맵핑(157)은 설정(156)에서 정의된 하나 이상의 네트워크와 설정(156)에서 정의된 프로파일을 맵핑하는 데에 사용될 수 있다. 본 개시물의 하나 이상의 실시예에 따라, 맵핑(157)은 도 1B에 도시된 바와 같이, 메모리(157)에서의 개별 구조로서 유지관리된다. 또는, 맵핑(157)은 설정(156)에 포함된 프로파일(들) 및 네트워크 리스트(들)의 검색을 통해 동적으로 판정될 수 있다. 본문에 사용된 예시에서, 맵핑(157)은 설명 및 예 시의 목적으로 개별 구조로서 도시된다.
도 2는 하나 이상의 개시된 실시예에 따라 사용하는 맵핑 처리 흐름의 예를 제공한다. 일반적으로, 설정(156)에서 정의된 각 프로파일에 대해, 대응하는 네트워크 리스트가 있는지 여부에 대한 판정이 이루어진다. 프로파일이 적어도 하나의 대응하는 네트워크 리스트를 구비한다면, 그것은 네트워크 리스트에서 식별되는 것과 같이, 상기 프로파일에 연관된 네트워크를 식별하기 위해 파싱된다. 상기 프로파일은 상기 네트워크 리스트에서 식별된 각각의 네트워크 및 SSID로 맵핑된다. 주어진 프로파일에 대해 연관된 네트워크 리스트가 없다면, 상기 프로파일은 자신의 SSID로 맵핑된다. 설정(156)은 랭킹 기능을 위해 프로파일을 제공하여, 프로파일에 연관된 네트워크를 랭크한다.
도 2를 참조하면, 맵핑(157)이 명료해진다. 단계(202)에서, 처리된 프로파일이 남아있는지 여부가 판정된다. 없다면, 맵핑 프로세스가 종료된다. 처리될 프로파일이 남아있다면, 처리가 단계(203)에서 제 1/다음 프로파일을 획득하기 위해 진행한다. 단계(204)에서, 프로파일이 하나 이상의 대응하는 네트워크 리스트를 가지는지 여부가 판정된다. 없다면, 처리가 예를 들면 자신의 랭크, SSID 및 참조 명칭과 같은 프로파일을 맵핑(157)에 추가하기 위해 단계(208)에서 진행한다. 단계(204)에서 현재 프로파일이 하나 이상의 대응하는 네트워크 리스트를 구비하는 것으로 판정되면, 네트워크 리스트를 처리하기 위해 처리가 단계(205)에서 진행한다. 특히, 단계(205)에서, 처리될 네트워크가 남아있는지 여부가 판정된다. 현재 프로파일에 대해 처리될 네트워크가 더 이상 없다고 판정되면, 나머지 프로파일을 처리하기 위해 처리가 단계(202)에서 진행한다.
그러나, 적어도 첫번째 반복에서 처리될 적어도 하나의 나머지 네트워크 리스트가 있는 경우가 있다면, 네트워크 리스트에서 제 1 /다음 네트워크를 획득하기 위해 단계(206)에서 처리가 진행한다. 상기 네트워크 리스트가 하나 이상의 네트워크를 식별하는 경우에, 상기 다음 네트워크는 네트워크 리스트에서 각 네트워크에 대해 식별된 랭킹에 기초하여 선택된다. 단계(207)에서, 연관된 프로파일의 랭킹을 포함할 수 있는, 네트워크에 대한 참조명, 네트워크 랭크, 및 현재 네트워크에 연관된 SSID와 같은, 네트워크에 대한 맵핑(157)시 엔트리가 생성된다. 처리될 네트워크가 있는지 여부를 판정하는 처리가 단계(205)에서 진행한다.
도 2에서 도시된 프로세스는 도 3에 도시된 설정예를 이용하여 더 도시된다. 맵핑(157)의 에는 샘플 설정(156)의 프로파일(301) 및 네트워크 리스트(320)에 기초하여 생성된다. 본 예에서, 맵핑(360)은 상기 프로파일(301) 및 네트워크 리스트(320)를 이용하여 정의된다.
프로파일(301) 및 네트워크 리스트(320)는 프로파일 및 네트워크 리스트 정의의 개념도를 제공한다. 본 발명의 하나 이상의 실시예에 따라, 프로파일 및 네트워크 리스트는 XML기반 신택스를 이용하여 정의된다. 하기는 프로파일(301)의 프로파일(308)에 대응하는 프로파일의 국부적 정의의 예를 지공한다:
Figure 112008085718045-PCT00001
상기 도시된 정의는 XML-기반 신택스를 이용하여 표시된 프로파일 정의의 일부이다. "Profile" 엘리먼트에 대해 사용된 상기 XML-기반 신택스는 블록 구조를 가지고, 프로파일에 연관된 속성을 정의한다. 예를 들면, 상기 프로파일 정의는 "6"의 값을 가진 프로파일 식별자를 포함한다. 프로파일 식별자는 클라이언트(108)에 대해 정의된 프로파일 중에 프로파일을 고유하게 식별한다. 추가로, 상기 정의는 "Commercial Network"라는 표시 명칭과, "CONNORDINAL" 엘리먼트에 의해 지정된 것과 같은, "2"의 프로파일에 연관된 랭크를 식별한다. 도 3A의 프로파일(301)을 참조하면, 프로파일(308)은 컬럼(304)에서의 자신의 명칭 "Commercial Network"와 함께 행(308)의 컬럼(302)에서의 "2"의 프로파일 랭킹을 포함한다. 프로파일(301)에서 도시된 예로 진행하여, 행(307 및 309)은 각각 "Home Network"와 "Office Network"의 명칭을 가진 2개의 다른 프로파일로 대응한다. 상기 프로파일(307 및 309)은 컬럼(302)에서의 랭크(즉, 각각 "1" 및 "3")와, 컬럼(304)에 도시된 SSID 행선지(즉, 각각 "Home" 및 "Office")를 구비한다.
네트워크 리스트(320)는 또한 XML-기반 신택스를 이용하여 적어도 하나의 개시된 실시예에 따라 정의될 수 있다. 네트워크 리스트(320)에 대한 정의의 일부는 하기와 같이 도시된다:
Figure 112008085718045-PCT00002
도시된 예에서, NetworkList 엘리먼트는 상기 정의된 "Profile" XML 엘리먼트의 "id" 속성에 연관된 값, "6"에 대응하는, 값, "6"을 구비한 "프로파일링된" 속성을 포함한다. 상기 대응은 네트워크 리스트(320), 즉 ""Profile='Commercial Network'"에서 개념적으로 도시된다. 따라서, 상기 "Commercial Network" 프로파일(즉, 엔트리(308))이 처리될 때, 상기 대응하는 네트워크 리스트가 처리되고, 네트워크 리스트에서 식별된 네트워크는 "Commercial Network" 프로파일로 맵핑된다. 네트워크 리스트(320)의 행(320 내지 330)은 네트워크 리스트(즉, 각각 "Willow", "Sonora", "Gobi", "Arroyo", 및 "PaloVerde")에서 정의된 네트워크에 대응한다. 각 행은 네트워크 리스트(320)의 행(322 내지 324)에 도시된 바와 같이, 네트워크 랭크, SSID, 및 스크립트 지정을 포함한다.
맵핑(360)은 프로파일(301) 및 네트워크 리스트(320)에 기초하여 식별된 맵핑을 예시한다. 맵핑(369)은 프로파일(301)의 프로파일(307)에 의해 정의된 "Home Network"에 대응한다. 자신의 넘버원 랭킹이 맵핑(369)의 컬럼(362)에 도시되고, 자신의 SSID, "Home"은 컬럼(365)에 도시된다. 그것은 네트워크 리스트에 연관되지 않기 때문에, 그것은 컬럼(364)에서 네트워크 랭크를 가지지 않는다. 상기 "Commercial Network" 프로파일은 네트워크 리스트(320)에서 정의된 네트워크 각각에 대해 하나씩인 5 개의 엔트리를 구비한다. 상기 맵핑(370-374)의 각각은 프로파일(301)의 프로파일(308)에서 설정된 동일한 프로파일 랭킹과, 자신들의 각각의 랭킹(즉, 네트워크 리스트(320)의 컬럼(322))에 대응하는 네트워크 랭킹(즉, 맵핑(370-374)에서의 랭킹)을 구비한다. 맵핑(360)의 행(375)은 프로파일(301)의 프로파일(309)에 대응한다.
도 3B는 네트워크 리스트에서 네트워크에 의해 참조되는 2 개의 스크립트(340)의 개념도를 제공한다. 예를 들면, "WillowScript-v1" 스크립트는 네트워크 리스트(320)의 네트워크(326)에 의해 참조되고, "Wispr-v1" 스크립트는 네트워크 리스트(320)의 네트워크(327, 328, 330)에 의해 참조된다. 도시된 스크립트의 예에서 볼수 있는 바와 같이, 스크립트는 다수의 함수를 가질 수 있다. 예로든 스크립트에서, "WillowScript-v1" 및 "Wispr-v1" 스크립트는 프루브, 연결, 연결해제 및 체크 함수를 포함한다.
도 3을 참조하여 기술된 것과 같이, 하나 이상의 프로파일, 네트워크 리스트, 스크립트를 포함할 수 있는 설정(156)은 예를 들면 클라이언트(108) 상에 캐시된 상태정보를 전개시키기 위해, 개시된 실시예에 따라 사용될수 있고, 상기 상태 정보는 무선 네트워크(102)로 연결하기 위해 AP(112) 인스턴스를 선택하도록 클라이언트(108)에 의해 사용될 수 있다. 도 4는 개시된 하나 이상의 실시예에 따라, 상태 정보 캐시를 전개하는 데에 사용되는 프로세스 흐름의 예를 제공한다.
일반적으로 그리고 적어도 하나의 실시예에 따라, 예를 들면 클라이언트(108)에 의해 수행된 스캔에서 검지된 비컨 프레임(119)의 인스턴스와 같은 신호가, 상기 검지된 신호가 설정(156)에서 정의된 프로파일, 및 가능성 높은 네트워크 리스트와 매칭하는지 여부를 판정하기 위해 프로파일 및 네트워크 리스트의 맵핑에 대해 비교된다. 상기 프로세스는 그의 사용가능성을 판정하기 위해 검지된 AP(112)의 비컨 프레임 신호를 검증하기 위한 하나 이상의 프루브 함수를 이용할 수 있다. 상기 프로세스는 실행가능한 AP(112) 인스턴스가 식별되거나, 또는 검지된 AP(112) 인스턴스 및/또는 프로파일/네트워크 리스트 모두가 처리될 때까지 계속된다.
도 4를 참조하면, 단계(401)에서, 클라이언트(108)는 비컨 프레임(119)을 검지하기 위해 네트워크를 스캔한다. 각 비컨 프레임(119)은 SSID 및 BSSID를 포함한다. 적어도 하나의 비컨 프레임(119)이 검지되는 경우, 검지된 비컨 프레임(119)를 브로드캐스팅하는 AP(112) 인스턴스의 상태는, 예를 들면, 설정(156)에 포함된 정보를 이용하여, 상기 AP(112) 인스턴스가 사용가능한지 여부가 판정된다. 프로파일(301) 및 네트워크 리스트(320)의 예와, 프로파일(301) 및 네트워크 리스트(320)의 맵핑(360)이 상기 프로세스를 예시하기 위해 본문에 사용될 것이다. 도 6A-6H는 개시된 실시예에 따라 식별된 상태 정보를 반영하기 위해 샘플 캐시에 대해 이루어진 대응하는 업데이트와 스캔의 예를 제공한다. 그러나, 본 개시물의 실시예의 적용은 상기 예들에 한정되는 것이 아니라는 것이 명확해야 한다.
단계(402)에서, 처리될 프로파일이 남아있는지 여부를 판정하는 판정이 이루 어진다. 도 3A에 도시된 예에서, 프로파일(301)은 3개의 프로파일을 포함한다. 단계(403)에서, 다음번 프로파일이 검지된 비컨 프레임(119)을 처리하기 위해 선택된다. 개시된 실시예에 따라, 프로파일이 랭크의 순서로 처리되어, "1"로 랭크된 제 1 프로파일이 먼저 처리되고, 예를 들면, 프로파일(301)의 "Home Network"가 먼저 처리되도록 한다. 단계(404)에서, 선택된 프로파일에 연관된 SSID가 검지된 비컨 프레임(119)에서의 SSID의 브로드캐스트와 대응하는지에 대한 판정이 이루어진다. 그렇지 않다면, 다른 프로파일을 선택하기 위해 처리가 단계(402)에서 진행한다.
도 3A 및 6A에 도시된 예를 이용하여, 스캔(602a)은 단계(401)에서 클라이언트(108)에 의해 검지된 비컨 프레임(119) 인스턴스를 포함한다. 상기 검지된 비컨 프레임(119)는 도 3A의 맵핑(360)에 도시된 바와 같이, "Home Network" 프로파일의 "Home" SSID에 대응하는, "Home"의 SSID를 가진다. 상기 예에서, 단계(404)는 매칭을 식별하고, 단계(405)로 처리가 진행한다.
선택된 프로파일의 SSID가 검지된 비컨 프레임(119)의 SSID에 대응하는 것으로 판정되면, 검지된 비컨 프레임(119)의 BSSID가 이미 클라이언트(108)에게 알려진 것인지 여부를 판정하도록 처리가 단계(405)에서 진행한다. 도 3A 및 6A에 도시된 예를 이용하면, 단계(405)는 검지된 BSSID(예를 들면 도 6A의 스캔(602a)에 리스트된 "0f:12:22:ef:12:22")가 예를 들면 AP(112) 인스턴스가 이미 클라이언트(108)에 의해 검지되었는지, 그리고 연관된 상태정보가 판정되었는지 여부를 판정하기 위해 캐시(601a)에 리스트되었는지를 판정하도록 캐시(601a)를 검사한다. 도 6A에서, 캐시(601a)는 비어있다. 그러나, 클라이언트(108)가 AP(112)의 인스턴스를 검지할 때, 상기 캐시는 개시된 실시예에 따라 클라이언트(108)에 의해 획득된 지식을 반영하기 위해 업데이트될 수 있다.
BSSID가 캐시에 리스트되지 않은 것으로 판정되면, 설정(156)이 현재 처리되고 있는 프로파일에 대응하는 프루브 함수를 정의하는지 여부를 판정하기 위한 처리가 단계(411)에서 진행한다. 그렇지 않다면, 상기 검지된 BSSID의 사용가능성 상태가 "알려지지않음"이라는 것을 지시하도록 캐시를 업데이트하기 위해 단계(409)에서 처리가 진행한다. 도 6A에 도시된 예에서, 캐시(605a)는 상기 BSSID 및 "알려지지않음" 상태를 리스트한다. 다시 도 4를 참조하면, 상기 캐시가 "알려지지않음" 상태를 반영하기 위해 업데이트된 후에, 상기 검지된 AP(112) 인스턴스의 SSID를 프로파일 SSID로 맵핑하기 위해 처리가 단계(410)에서 진행한다. 다시 도 6A를 참조하면, 도 3A의 맵핑(360)에 대응하는 맵(603a)이 검지된 SSID가 상기 "Home Network" 프로파일에서 식별된 SSID와 매칭하는 것을 지시하도록 업데이트된다. 처리는 나머지 프로파일을 처리하기 위해 단계(402)에서 진행한다.
단계(405)에서, 상기 검지된 BSSID가 이미 캐싱된 것으로 판정되면, 상기 BSSID에 대응하는 캐싱된 상태가 "양호함"으로 지시되는지 여부를 판정하기 위해 처리가 단계(406)에서 진행한다. 그렇다면, 상기 AP(112)의 현재 상태는 단계(408)에서 "양호함"으로 유지되며, 처리가 단계(410)에서 진행한다. AP(112)가 "알려지지않음"인 경우에서와 같이, 상기 신호를 프로파일로 맵핑하고 스캔(602a)으로부터의 신호를 제거하기 위해 처리가 단계(410)에서 진행하고, AP(112) 인스턴 스에 의해 브로드캐스팅된 비컨 프레임(119)과 잔여 프로파일을 처리하기 위해 단계(402)에서 처리가 진행한다.
BSSID의 캐싱된 상태가 "양호함"도 아니고 "알려지지않음"도 아닌 것으로 판정되면, "불량"상태를 지시하기 위해 캐싱된 상태를 업데이트하도록 처리가 단계(407)에서 진행하며, 단계(402)에서 나머지 프로파일을 처리하기 위해 처리가 진행한다. 검지된 BSSID의 상기 캐싱된 상태가 "불량"으로 표기되면, 상기 신호는 스캔 풀로부터 탈락된다. 이는 상기 검지된 BSSID가 다른 것 또는 잔여 프로파일에 대해 검사되도록 허용한다.
하나 이상의 실시예에 따라, 설정(156)에서 설정될 수 있는 주어진 스캔 기간에서 스캔이 수행된다. 상기 스캔 기간은 30초와 같이 길수 있다. 하나 이상의 실시예에 따라, 클라이언트(108)는 예를 들면, 다수회 도 4의 단계(401)을 수행하는 것과 같은 다수의 스캔을 수행하고, 상기 스캔 기간은 상기 스캔이 발생할 때에 따라 다양할 수 있다. 예를 들면, 스캔은 클라이언트(108)가 최근에 이네이블하게 되는 경우(예를 들면 스캔이 별도로 몇초동안 발생하는 경우) 보다 빈번하게 발생할 수 있다. 하나 이상의 실시예에 따라, 도 4에 도시된 프로세스는 클라이언트(108)가 AP(112)를 발견하고, AP(112)의 상기 인스턴스를 통해 연결되면 종료될 수 있다. 상기 연결을 이루기 위해 사용되는 신호는 모니터링될 수 있다. 추가로 그리고 적어도 하나의 실시에에 따라, 클라이언트(108)가 잠시동안 실행될 때, 스캔 기간은 스캔이 발생하는 횟수를 느리게하도록 조정될 수 있다. 다수의 스캔이 수행되고 저장되는 경우, 상기 저장된 스캔 목록은 조합될 수 있고, 집합된 리스트 에서의 신호들은 예를 들면, 신호의 강도, 그의 감소하는 신호 상태, 및 또는 자신의 오류가 있는 신호의 강도에 기초하여 제거될 수 있다. 상기 집합된 리스트에 잔여한 신호들은 예를 들면 도 4의 단계에 따라 처리될 수 있다. 이롭게도, 상기 설정가능한 특징은, 예를 들면, 클라이언트(108)의 사용자가 단순히 핫 스팟을 포함하는 영역을 통과해 드라이브하는 경우에, 처리신호를 클라이언트(108)의 임시 신호로 처리하는 것을 방지할 수 있다. 이것은 배터리, 기타 리소스, 보존에 포지티브한 효과를 줄수 있다.
예를 들면 "알려지지않음"과 같은 캐싱된 상태 정보는 캐싱된 엔트리에 대한 연결 상태를 판정함으로써 더 정제된다. 연결 상태는 설정(156)에서 정의된 스크립트의 연결 함수를 이용하여 판정될 수 있다. 도 5는 본 개시물의 하나 이상의 실시예에 따라 사용되는 연결 상태 프로세스 흐름을 제공한다.
일반적으로, 프로파일은 그의 랭킹에 따라 다른 프로파일들 중에서 선택되고, 선택된 프로파일을 매칭하기 위해 판정된 캐싱된 BSSID 엔트리가 식별되고, 상기 선택된 프로파일에 대응하는 연결 함수가 설정(156)으로부터 식별된다. 상기 선택된 프로파일로 대응하는 연결 함수는 상기 캐싱된 BSSID 엔트리에 대응하는 AP(112) 인스턴스로 연결을 시도하기 위해 파서/번역기(159)의 제어하의 CPU(151)에 의해 실행된다. 연결이 성공적인지 여부에 대한 판정이 이루어지고, 상기 캐싱된 엔트리가 상기 연결의 결과를 반영하기 위해 업데이트된다. 예를 들면, 상기 캐시는 실패 또는 성공적인 연결, 및 연결의 날짜 및 시간, 또는 시도된 연결을 반영하기 위해 업데이트될 수 있다. 양호 및/또는 불량 연결 횟수의 카운트가 또한 캐싱될 수 있다. 예를 들면, "알려진 양호함" 또는 "알려진 불량"과 같은 상태는 연결 또는 시도된 연결의 결과를 반영하기 위해 업데이트될 수 있다. 추가로, 연결 테스트에 포함된 BSSID에 연관된 BSSID의 상태 정보가 업데이트될 수 있다. 예를 들면, BSSID로 테스트된 연결이 성공적인 것으로 판정되는 경우, 연관된 BSSID의 캐싱된 상태는 "연관된 양호함" 상태를 반영하도록 업데이트될 수 있다. 유사하게, BSSID의 연결 테스트가 실패하면, 연관된 BSSID의 캐싱된 상태는 "연관된 불량" 상태를 지시하기 위해 업데이트될 수 있다.
도 5를 참조하면, 단계(501)에서, 처리될 프로파일이 남아있는지에 대한 판정이 이루어진다. 남았지 않다면, 처리는 끝난다. 그러나, 처리될 프로파일이 남아있으면, 처리될 나머지 프로파일로부터 프로파일을 선택하기 위해 처리가 단계(502)에서 진행한다. 상기 프로파일 선택은 도 4를 참조하여 논의된 바와 같이 프로파일 랭킹에 기초할 수 있다. 단계(503)에서, 예를 들면 도 6A의 맵핑(603a)을 참조하여 판정될 수 있는 것과 같이, 상기 선택된 프로파일이 임의의 매칭하는 AP(112) 인스턴스의 BSSID를 가지는지 여부에 대한 판정이 이루어진다. 선택된 프로파일이 매칭하는 BSSID를 가지지 않으면, 나머지 프로파일을 처리하기 위해 단계(501)에서 처리가 진행한다. 선택된 프로파일이 매칭하는 BSSID를 가진다면, 상기 매칭하는 BSSID에 대응하는 AP(112) 인스턴스에 연결하기 위해 시도하도록 단계(504)에서 처리가 진행한다.
예를 들면, 그리고 도 6A를 참조하면, 맵(603a)은 수 1로 랭크되고 매칭 BSSID를 구비하는 "Home Network" 프로파일을 도시한다. 상기 프로파일에 연관된 연결 함수는 예를 들면, 선택된 프로파일의 정의 및 설정 정보(156)를 이용하여 식별된다. 설정(156)에서 "Home Network" 프로파일로 사용하기 위해 정의된 연결 함수는 스캔(602a)에서 식별된 BSSID와 연관된 AP(112) 인스턴스에 연결하기 위해 시도하도록 사용된다.
연결이 성공 또는 실패되었는지에 대한 판정이 단계(505)에서 이루어지고, 단계(506) 또는 단계(507)는 상기 결과에 기초하여 수행된다. 상기 연결이 성공적인것으로 판정되면, 처리는 종료한다. 도시된 예에서, 처리는 양호한 연결이 발견되었을 때 종료한다. 대안의 실시예가 고려될 수 있으며 그에 의해 처리는 하나 이상의 다른 "양호한" BSSID를 배치하도록 연결 테스트를 수행하는 것을 계속한다. 상기 연결시도가 실패하면, 나머지 프로파일을 처리하기 위해 처리가 단계(501)에서 진행한다.
도 6A를 참조하면, 스캔(604a)은 성공적인 연결을 반영한다. 상기 BSSID는 그것이 "알려진 양호함"이라는 것을 지시하고, 마지막 연결시도의 날짜와 시간, 및 연관된 AP(112)가 사용되어 상기 AP(112) 인스턴스에 연관된 무선 네트워크(102)로, 성공적인 연결을 구축하는 것을 표시하는 카운트를 지시하는 상태 정보를 포함한다.
도 6B 내지 6H는 캐시(604a)에 대한 스캔 및 업데이트의 다른 예를 제공하며, 이는 본 개시물의 실시예가 사용될 수 있는 일부 시나리오를 예시한다. 상기 예들은 배타적인 것이 아니며, 개시된 실시예들은 다른 시나리오와 함께 사용될 수 있다는 것이 명확해야한다.
도 6A를 참조한 상술한 예에서, 클라이언트(108)는 "Home" 네트워크를 검지하고, 성공적으로 네트워크에 접속할 수 있었다. 도 6B의 예에서, 클라이언트(108)는 캐싱된 BSSID(예를 들면 "0f:12:22:ef:12:22")와 상이한 BSSID(예를 들면 "0b:3f:a1:21:0b:ad")로 "Home" 무선 네트워크(102)를 검지한다. 상기 시나리오에서, 양측 모두에 대한 SSID가 동일하지만, 즉, "Home"이지만, 상기 BSSID들은 상이하다. 추가적인 검사 없이, 클라이언트(108)는 새롭게 검지된 BSSID가 동일한 무선 네트워크(102) 인스턴스로부터 온 것이라고 가정할 수 있으며, 인터넷(106)에 액세스하기 위해 BSSID를 이용하도록 시도할 수 있고, 일정한 수의 시도가 실패한 후에 중지할 수 있다. 이것은 클라이언트(108)의 리소스에 대한 다수의 드레인을 야기할 수 있다. 클라이언트(108)가 배터리 전력으로 동작하는 경우, 상기 시도는 불필요하게 배터리 전력을 감소시킨다. 본 개시물의 실시예는 자신의 사용가능성의 판정을 하는 AP(112) 인스턴스를 테스트하기 위해 사용될 수 있다.
도 6A의 캐시(604a)에 대응하는 도 6B의 캐시(601b)는 AP(112)를 검사하기 전에 캐시의 컨텐츠를 묘사한다. 스캔의 결과가 스캔(602b)에 도시된다. 클라이언트(108)는 매칭 프로파일, "Home"을 선택하기 위해 맵(603b)을 이용한다. 캐시(601b)의 검색은 검지된 BSSID가 새로운 것임을 판정한다. 예시에서, 클라이언트(108)는 스캔(602b)에서 검지된 BSSID에 대응하는 AP(112) 인스턴스에 접속하기 위해 시도한다. 그러나 그리고 상기 시나리오에서, 상기 연결 시도는, 상기 AP(112) 인스턴스가 상기 연관성을 실패하도록 하는 보안 세팅을 가지기 때문에 실패한다. 캐시(604b)는 연결 테스트 실패후에 캐시의 컨텐츠를 반영한다. 캐 신(604b)는 상기 "Home" 네트워크에 연결하기 위한 성공하지 못한 시도를 반영하도록 업데이트된다. 캐시(604b)는 지금 하나는 "알려진 양호함" 상태이고, 다른 하나는 "알려진 불량" 상태인, 그 각각의 캐싱된 엔트리가 마지막 연결 시도의 시간/날짜, 및 양호하고 불량인 연결의 횟수를 반영하는, 2 개의 BSSID를 식별한다.
도 6C는 캐시(610c)에서 이미 BSSID를 검지한 또다른 스캔(602c)의 예를 제공한다. 스캔(602c) 후에, 도 6B의 캐시(604b)에 대응하는 캐시(601c)는 상기 검지된 BSSID의 상태가 이미 알려진 것인지 여부를 판정하기 위해 검사된다. 이경우, 상기 검지된 BSSID는 캐시(601c)에서 발견되고, "알려진 양호한" 상태를 가진다. 상기 BSSID가 알려진 양호한 상태이기 때문에, BSSID를 테스트할 필요가 없고, 클라이언트(108)는 무선 네트워크(102)와 인터넷(106)에 연결하기 위해 BSSID를 이용할 수 있다. 클라이언트(108)가 연결을 위해 BSSID를 이용하고, 상기 연결이 성공적이라면, 캐시(604c)는 제 2 성공적인 연결을 반영하기 위해 업데이트된다.
도 6D는 캐싱된 상태 정보, 예를 들면, 검지된 BSSID에 연관된 캐싱된 엔트리가 "알려진 불량" 상태를 가졌다는 것에 기초하여 BSSID가 알려지 불량인 경우를 도시한다. 캐시(601d)는 도 6C의 캐시(604c)에 대응하며, 이들 모두는 "알려진 불량"으로서 스캔(602d)에서 검지된 BSSID를 식별한다. 상기 "알려진 불량" AP(112) 인스턴스에 연관된 SSID가 맵(603d)에 도시된 바와 같이, 프로파일의 SSID에 매칭한다고 하더라도, 클라이언트(108)는, AP(112) 인스턴스가 이미 불량으로 판정되었기 때문에, AP(112) 인스턴스를 프루브 또는 그에 연결하는 시도를 방지할 수 있 다. 캐시(604d)는 "불량 카운트"를 증가시키도록 업테이트될 수 있다. 물론, 클라이언트(108)가 자신의 설정에 기초하여, 자신의 상태 정보를 업데이트하기 위해 AP(112) 인스턴스를 테스트하도록 설정될 수 있다. 이 경우, 상기 연관된 캐시 엔트리는 임의의 상태 변화를 반영하기 위해 업데이트될 수 있으며, 예를 들면 "마지막 사용" 정보가 또다른 실패한 연결 시도를 반영하기 위해 업데이트될 수 있다.
도 6E는 다수의 BSSID, 즉 그 모두가 동일한 SSID를 갖는 AP(112)의 인스턴스에 의해 브로드캐스팅되는 다수의 비컨 프레임(119)을 검지하는 스캔(602e)의 예를 제공한다. 맵핑(603e)를 참조하면, 프로파일, 즉 "Home Network"는 더 높은 랭크를 가지고, 그것은 따라서 그것이 "Sonora" SSID를 식별하는지 여부를 판정하기 위해 먼저 검사된다. 상기 다음번 프로파일, "Commercial Network" 프로파일은 그런다음 검사되어, "Sonora" SSID가 "Commercial Network"에 대응하는지 판정된다. 맵핑(603e)은 매칭을 반영한다. 그러나, 스캔(602e)의 제 1 엔트리에 연관된 BSSID는 캐싱된 BSSID에 대응하지 못한다. 상기 BSSID의 상태를 판정하기 위한 프루브 및/또는 연결 동작이 수행된다.
도 7A 내지 7C를 포함하는 도 7은 본 개시물의 하나 이상의 실시예에 따라 사용하는 프루브 및 연결 함수의 예를 제공한다.
도 7A를 참조하면, 프루브 함수의 예가 도시된다. 상기 샘플 프루브 함수는 섹션(701-705)을 포함한다. 일반적으로, 상기 프루브 함수는 검지된 AP(112)를 통해 무선 네트워크(102)에 연관되고, 그런다음 설정(156)에서 식별된 기대값에 따라 게이트웨이가 동작하는지 여부를 판정하기 위해 인터넷(106)에 액세스를 시도한다.
섹션(701)은 변수를 선언하고 초기화하는 데에 사용되는 스크립트문을 포함한다. 예를 들면, 상기 변수 "alive"는, 예를 들면 웹페이지에 대해 유니버셜 리소스 로케이터, URL이 되도록 초기화된다. 섹션(702)은 예를 들면 데이터 링크 레이어 연결을 하기 위해, 상기 AP(112)에 "결합되도록"(예를 들면, 조인하도록) 시도한다. 섹션(702)에서의 논리적 "IF" 블록은 상기 결합이 성공적인지 여부를 판정하기 위한 결합 동작의 결과, "r"을 검사한다. 예를 들면, 상기 결합 동작은 상기 리턴된 결과가 "200" 내지 "203"의 값을 가지는 경우 성공적인 것으로 간주된다. 상기 결합 동작이 성공적이라면, 함수는 설정(156)에 정의된 정보에 기초하여, IP 세팅을 적용하도록(예를 들면 IP 주소가 고정, 동적 인지 등을 판정하기 위해) 섹션(703)에서 진행하고, 상기 결과는 상기 동작이 성공적인지 여부를 판정하기 위해 테스트된다.
IP 세팅 동작이 성공적이라면, 함수 실행은 "alive" 변수로 지정된 URL에 의해 참조되는 웹페이지를 요청하도록 섹션(704)로 진행한다. 검색된 문서의 컨텐츠는 섹션(705)에서 검사된다. 상기 문서가 스트링 "1234567654320"을 포함하면, 상기 함수는 성공적으로 종료한다(예를 들면 "50" 리턴 코드에 의해 지시되는 바와 같이). 상기 컨텐츠가 지시된 스트링이 아니라면, 상기 리턴된 문서가 검색한 웹페이지 문서로부터 또다른 URL 로케이션을 식별하는 리다이렉트 동작을 지시하는 지 여부에 대한 판정이 이루어진다. 본문에서 논의된 바와 같이, 상기 리다이렉트는 액세스 컨트롤러(114) 인스턴스에 대한 것일 수 잇다. 리다이렉트 동작이 지시되면, 또다른 문서 검색 요청은 상기 제 1 문서에서 지정된 새로운 URL을 이용하여 수행된다. 상기 프로세스는 리다이렉트 동작이 검색된 문서에서 지시되는 동안 수행된다. "리다이렉트"가 아닌 메시지 유형은 "while" 루프를 종료시키고, 프루브가 성공적인지 여부를 판정하기 위한 최신의 메시지 유형을 검사하기 위한 처리가 진행된다. WiFi 진단 동작이 수행되고, 함수가 종료한다.
도 7B 및 7C는 연결 함수의 예를 제공한다. 일반적으로, 상기 샘플 연결 함수는, 프루브 함수에서 수행되는 것과 유사한, 변수 선언, 결합, 및 IP 세팅 동작을 수행한다. 상기 연결 함수는 그런다음 인증 정보(예를 들면, 설정(156)에서 식별된 사용자명 및 암호 인증서)를 이용하여 로그인을 시도한다. 로그인이 성공하면, 상기 함수는 리턴 문서의 검사를 포함하고 상기 문서에 의해 지시되는 것과 같은 리다이렉트를 수행하는, 도 7A를 참조하여 기술된 것과 유사한 방식으로, 웹페이지를 요청한다. 상기 리턴된 문서가 예측된 컨텐츠를 구비하면, 상기 함수는 상기 함수가 성공적으로 수행하였다는 지시로 리턴한다. 그렇지 않으면, 상기 함수는 어떤 액션을 취할지를 판정하기 위해 검색된 문서의 컨텐츠의 검사를 시도한다.
섹션(711 내지 713)은 그것들이 변수를 선언하고 초기화하며, 결합 수행 및 IP 세팅을 획득하는 점에서 도 7A의 섹션(701 내지 703)과 유사하다. 섹션(714)은 설정(156)으로부터 로그인 인증서를 검색하고, 섹션(715)은 "alive" 변수에 의해 지정된 웹사이트로부터 웹페이지 문서를 검색하며, 섹션(716)은 검색된 문서의 컨텐츠를 검사한다. 상기 검색된 문서가 예상되는 값을 가진다면, 상기 함수는 성공적인 리턴 코드로 반환한다. 그렇지 않다면, 상기 함수는 "리다이렉트" 메시지 유형에 대한 문서를 검사하고, 상기 케이스에서의 새로운 로케이션으로부터 문서를 검색한다. 리다이렉트 메시지 유형이 아닌 것이 발생되면, 섹션(717)은 수신된 메시지를 식별하는 것을 시도한다. 섹션(718)은 그런다음 서버로 포스팅되는 형태로 로그인에서의 값을 설정하는 스크립트 코드를 포함한다. 상기 포스트의 결과는 그것이 성공적인지 여부를 판정하도록 검사된다. 섹션(719)은 그것이 로그아웃에 대한 명령어를 포함하는지 여부를 판정하기 위해 검색된 문서의 컨텐츠(예를 들면, 로그아웃에 사용되는 URL)를 검사한다. 그렇다면, 상기 명령어는 환경 변수에 저장되고, 상기 함수는 성공적인 지시를 가지고 리턴한다. 섹션(720)은 지연이 지정되는지 여부를 판정하기 위해 검색된 문서의 컨텐츠를 검사한다. 그렇다면, 상기 함수는 지정된 시간동안 슬립 동작을 실행한다.
도 6E를 참조하면, 도 7A 내지 7C에 도시된 프루브 및 연결 함수 모두가 수행되고 스캔(602e)에서의 4번째 엔트리(즉, "0f:02:22:ef:00:03")에 대한 성공적인 결과가 산출된다는 것으로 가정한다. 캐시(604e)에서의 제 1 엔트리는 상기 BSSID로 대응하고, "1"의 양호한 카운트 뿐만 아니라 최근 접속 날짜 및 시간을 지시한다. 추가로, 상기 BSSID에 대한 상태는 "알려진 양호함"으로 설정된다. 추가로, "알려진 양호함" BSSID로서 동일한 SSID를 구비한 다른 BSSID에 대응하는 엔트리에 "결합됨 양호함"의 상태가 주어진다. 즉, 그것들이 프루브 함수 또는 연결 함수를 이용하여 테스트되지는 않았지만, 이들 BSSID는 테스팅된 BSSID로 자신들의 결합(동일한 SSID를 가진)에 기초하여 양호함인 것으로 간주된다.
하나 이상의 실시예에 따라, 캐시, 예를 들면 캐시(604e)는 가장 최근에 사용된 ("MRU") 캐시 관리 설계를 이용하여, 새롭게 검지된 엔트리가 캐시의 탑에 있 도록 하는 반면, 더 오래된 엔트리는 기저로 이동되어, 결과적으로는 캐시에서 제거될 수 있도록 한다. 임의의 유형의 캐시 관리 설계가 사용될 수 있음이 명확해야한다. 추가로, 설계중 일부의 하이브리드 또는 조합이 사용될수 있고, 설계는 예를 들면 선호에 기초하여 변조될 수 있음이 명확해야한다. 예를 들면, 사용자 소유의 가정용 무선 네트워크(102)에 연관된 BSSID는 영구적으로 캐시에 설정될 수 있어서, 그것은 제거되지 않는다. 추가로, 또한, 캐시의 크기는 예를 들면 설정 정보(156)에 기초하여 주어진 클라이언트(108)에 대해 동적으로 조정될 수 있거나, 또는 커스터마이징될 수 있다.
도 6F에 도시된 예에서, 스캔(602f)는 AP(112)의 다수의 인스턴스와 다수의 무선 네트워크(102)를 검지한다. 맵핑(603f)은 상기 검지된 BSSID가 2 개의 무선 네트워크(102)에 매칭되며, 즉, "Gobi", "Arroyo", 및 "adminwifi"와 매칭하는 것을 도시한다. "Gobi" 네트워크의 프루브는 판정되지 않은 결과를 제출한다고 가정된다. 상기는 상기 프루브가 결과적으로, 상기 "Gobi" 네트워크가 사용가능하거나 또는 그것이 사용불가능한지를 판정할 수 없는 경우에 발생한다. 추가로, 상기 "Arroyo"의 프루브는 결과적인 "알려진 양호함"의 결과를 제출한다고 가정한다. 캐시(601f)는 프루브 전에 캐시를 도시하며, 캐시(604f)는 상기 프루브 후의 캐시를 도시한다. 테스트된 "Gobi" SSID에 결합된 상기 BSSID는, 그것이 현재 알려졌지만(검지되었지만), 그의 사용가능성 상태가 아직 "양호함"인지 또는 "불량"인지 판정되지 않았기 때문에, "알려진 판정되지 않음"으로 표기된다. 추가로, 다른, 상기 "Gobi"에 결합된 테스트되지 않은 BSSID는 "결합됨, 판정되지 않음"으로 표시 된다. 상기 테스트된 "Arroyo" 네트워크의 BSSID는 "알려진 양호함" 상태를 가지는 것으로 캐시에 도시되고, 상기 "Arroyo" 네트워크의, 다른 테스트되지 않은 BSSID는 "결합됨, 양호함"으로 도시된다.
추가로, "adminwifi" SSID에 대응하는 BSSID는 스캔(602f)에서 검지되며, 이는 새롭게 발견된 BSSID 및 SSID를 나타낸다. 상기 "adminwifi" SSID는 맵(603f)에 도시된 것 처럼, 설정된 프로파일에 맵핑되지 않는다. "admonwifi"에 대응하는 상기 BSSID는 상기 캐시에 추가되지 않는다. 스캔(602f)이전의 캐시의 상태를 나타내는 캐시(601f)는 캐시(604f)에 반영된 것 처럼 업데이트되고, 이는 스캔(602f) 이후의 캐시의 상태를 나타낸다.
도 6G를 참조하면, 도 6F의 캐시(604f)에 대응하는 캐시(601g)는 스캔(602g)이전의 캐시를 나타낸다. 스캔(602g)은 스캔(602f)과 동일한 BSSID와 상기 "Gobi" 네트워크에 대응하는 하나의 추가적인 BSSID를 검지한다. 유사한 결과가 맵핑(603g)시 프로파일에 매칭하지 않는 상기 "adminwifi"에 대해 발생한다. 이때, 상기 "Arroyo" 네트워크는, 프루브가 마지막 스캔으로부터 성공하지 못했기 때문에 검증되지 못한다. 추가로, "알려진, 양호함" BSSID가 있기 때문에, 상기 "Gobi" 네트워크에 결합된 BSSID를 검증하는 것이 필수적인 것은 아니다. 상기 동일한 AP(112)가 도 6F 및 6G 모두에서 네트워크에 연결하기 위해 사용되는 것을 가정하면, 상기 캐시는 캐시(604g)에 도시된 바와 같이, "2"의 카운트를 반영한다.
도 6H의 캐시(601h)는 도 6G의 캐시(604g)와 대응한다. 도 6H의 스캔(602h)은 AP(112)의 다수의 인스턴스와, 다수의 대응하는 SSID를 검지한다. 맵핑(603h) 에 도시된 바와 같이, 2 개의 프로파일은 스캔(602h)에서 매칭하는 SSID를 가지는 것으로 판정된다. 현재 시나리오에서, "알려진, 양호함", "Arroyo" BSSID를 이용하여 인터넷(106)에 연결하고자 하는 시도가 이루어지고, 이는 실패한다. 캐시(604h)는 "불량 카운트" 컬럼에서, 하나의 불량 연결을 반영하기 위해 업데이트된다. 캐시(601h)는 "Gobi" 네트워크의 2 개의 BSSID를 "판정되지 않음"으로 식별한다. 그러나, 성공적으로 검증되어 연결에 사용되는 "Gobi" 네트워크의 새롭게-발견된BSSID가 있다. 그것은 "알려진, 양호한" 상태를 가진 캐시(604h)에 추가되고, 그의 "양호함 카운트" 필드는 하나의 양호한 연결을 반영하기 위해 증분된다. 상기 "Gobi" 네트워크의 다른 2 개의 BSSID의 상태는 "알려진, 판정되지 않음"과, "결합됨, 판정되지 않음"으로부터 "결합됨, 양호함"으로 변화된다.
캐시(604h)를 참조하고, 후속하는 스캔이 스캔(602h)과 동일한 결과를 제공한다고 가정하면, 클라이언트(108)는 예를 들면 인터넷(106)에 연결하기 위해 "알려진, 양호함"인 3 개의 AP(112) 인스턴스 사이에서 선택할 수 있다. 하나 이상의 실시예에 따라, 가능한 선택들 중에서의 선택은 BSSID에 연관된 "양호한, 카운트" 및 "불량, 카운트"에 기초하여 이루어질 수 있다.
예를 들면, 그리고 도 6H를 참조하여, "Arroyo" 및 "Gobi" 네트워크의 캐싱된 BSSID 사이에서처럼, 결합된 불량 카운트가 없기 때문에, 가능한 선호는 상기 "Gobi" 네트워크의 BSSID에 대한 것이다. 캐시(604h)에서 BSSID에 결합된 양호함 카운트 및 불량 카운트, 및 최근 연결 정보에 기초하여 BSSID를 평가함으로써 판정이 이루어질 수 있다. 예를 들면, 그리고 "알려진, 양호함" BSSID에 대해, 마지막 사용된 것으로 판정된 BSSID(예를 들면, "마지막 사용" 상태 정보에 기초하여)가 식별된다. 5개의 포인트가 상기 BSSID 및 그의 결합된 BSSID에 대해 주어진다. 그런다음 하나의 포인트가 각각의 "양호함 카운트"에 대해 주어지고, 2 개의 포인트가 각각의 "불량 카운트"에 대해 차감된다. 캐시(604h)에 도시된 예에서, "Gobi"는 16(즉, 15+1=16)의 점수를 가지는 반면, "Arroyo"는 10(즉, 10+2-2=10)의 점수를 가질 것이다. 상기 점수에 기초하여, 상기 "Gobi" 네트워크에 결합된 BSSID가 선택된다.
물론, 임의의 유형의 기준이 이러한 선택을 하는데에 사용될 수 있다는 것이 명확해야한다. 예를 들면, 상기 선택은 사용자의 선호, 결합된 비용 등에 기초될 수 있다.
도 6I을 참조하면, 상기 클라이언트(108)가 AP(112)의 하나의 인스턴스로부터 또다른 것으로 스위칭하는 것, 예를 들면 사용자가 핫 스팟에 접속되는 또다른 시나리오가 도시된다. 캐시(601i)는 도 6H의 604h에 대응하고, 상기 스위치전에 캐시의 상태를 반영한다. 도 6I의 예시적인 시나리오에서, 클라이언트(108) 사용자가 핫스팟 환경 주변을 걸어다닐때, 클라이언트(108)는 예를 들면, "0f:33:12:ac:19:99"와 같은 하나의 AP(112) 인스턴스에 접속되며, 그런다음 상기 클라이언트(108)는 예를 들면, "0f:02:15:29:01:01"와 같은 또다른 AP(112) 인스턴스에 대해 "배제된다". 추가로, 스캔(602i)이 수행되며, 이는 예를 들면 "03:cd:12:aa:99:ad" BSSID 및 "Gobi" SSID를 포함하는 새로운 AP(112) 인스턴스 비컨 프레임(119)을 검지한다. 상기 새로운 신호는 맵핑(603i)에 도시된 바와 같 이, "Gobi" 네트워크로 맵핑된다. 추가로, 상기 새로운 BSSID는, 그것이 AP(112) 인스턴스가 양호함으로 알려진 네트워크에 결합되기 때문에, "결합됨 양호함"으로서 캐시(604i)에 리스팅된다. 추가로 그리고 "0f:02:15:29:01:01" BSSID에 대응하는 캐시(604i) 엔트리를 참조하여, 마지막 사용과 양호함 카운트 필드는 상기 BSSID로의 스위칭을 반영하기 위해 업데이트된다.
따라서, 상술한 바와 같이, 본 개시물의 실시예는 다수의 네트워크가 공통의 SSID를 가지는 시나리오에 적용될 수 있지만, 상이한 위치에서 상이하게 동작할 수 있다. 예시를 위해, 휴대 전화의 캐리어가 상이한 유형의 로케이션(예를 들면, 커피숍, 공항, 상이한 국가에서의 커피숍과 공항, 등)에서 무선 네트워크(102)의 다수의 인스턴스를 갖는 것을 가정한다. 사용자는 상기의 모든 커피숍에서 캐리어의 무선 네트워크(102)에 대해 액세스하지만, 공항에서는 캐리어의 무선 네트워크(102)에 대한 액세스를 갖지못한다. 그러나, 커피숍과 공항에서의 모든 무선 네트워크(102)의 인스턴스는 동일한 네트워크, 또는 SSID, 행선지를 가진다. 본 개시물의 실시예는 클라이언트(108)에게, 테스팅(예를 들면, 프루브 및/또는 연결 시도)를 통해, 어떤 네트워크가 사용될수 있고 어떤 네트워크가 사용될 수 없는지를 알게하는 기능을 제공한다. 상기 상태 정보는 그런다음 캐싱되어, 클라이언트(108)에게 상기 획득된 지식에 기초하여 인텔리전트 연결 결정을 하는데에 사용될 수 있는 지식을 제공한다.
상기와 같은 시나리오에 대한 프루브 스크립트는, 예를 들면, 미리 정해진 사용자명으로 웹서버에 빠르게 로그인하는 것을 포함한다. 캐리어에 의해 제공된 정보에 기초하여, 클라이언트(108)는 상기 로그인이 성공했다면, 상기 로케이션이 사용가능한것으로, 상기 로그인이 실패하였다면 상기 로케이션이 사용불가능한 것으로 판정하기 위해 설정될 수 있다. 클라이언트(108)가 로케이션에 도달하였을때, 그것은 프루브의 일부로서 상기 로그인 테스트를 수행하고, 상기 로케이션이 사용가능한지 여부를 상기 프루브 결과에 기초하여 판정할 수 있다. 상기 프루브 결과가 예를 들면 클라이언트(108) 상에서 캐싱되기 때문에, 네트워크에 대한 지식을 구축하고 배우는 것이 가능하다.
따라서, 당신이 매일 아침 동일한 커피숍에 방문하여 클라이언트(108)가 상기 로케이션에서의 네트워크가 "알려짐, 불량"이라는 이전의 프루브로부터 지식을 가진다면, 매일 아침 로그인을 시도할 필요가 없다. 상기 위치에서 다시 시간과 배터리를 낭비할 필요가 없게 된다. 프루브가 결론에 도달하지 못하였다면, 클라이언트(108)는 상기 지식을 가지게 될 뿐 아니라, 다시 프루브할지 여부를 판정할 수 있다.
특정한 시나리오에서, 본문에 기술된 하나 이상의 실시예에 따라 하나의 네트워크를 검지하고 그런다음 다른 네트워크를 발견하기 위해 프루브 스크립트를 이용하는 것이 바람직할 수 있다. 예를 들면, "D-WiFi" SSID는 특정한 로케이션에서 볼수 있다. 상기 SSIS를 볼 수 있을 때, 프루브는 볼수 없는 "D-WiFi-WPA" SSID로 연결을 시도할 수 있다. 상기 프루브 동작이 성공한다고 가정하면, 클라이언트(108)는 상기 네트워크가 "알려진, 양호함"이라는 것을 알게될 것이다. 그런다음, 클라이언트(108)가 연결을 결정할 때, 상기 연결 함수는 "D-WiFi-WPA"로의 연 결을 시도한다. 이롭게도, 상기 특정한 WiFi 전개 시나리오는 연결을 위한 유연한 접근을 제공하고, 설정(156)을 통해 설정가능하다.
본 개시물의 실시예는 프루브, 연결, 연결해제 등과 같은 동작을 수행하는 클라이언트 소프트웨어 툴키트를 이용한다. 상기 클라이언트 소프트웨어 툴키트는 XML 연결 제어 스크립트(XCoCoS) 언어를 지원한다. 이롭게는, XML 파싱은 설정 정보 관리에 사용될 수 있을 뿐 아니라, 스크립팅 언어의 구현에도 사용되며, 후자는 최소 추가 코드를 포함한다. 본 개시물의 실시예는 단순한 프로그래밍 언어의 필요성을 밸런싱하지만, 복잡한 번역기를 필요로하지 않으면서 가장 공통적인 함수를 수행하기에 충분한 능력을 제공한다.
상기 XML 스크립트는 액세스 포인트로의 결합 후에 발생할 수 있는 웹 기반 로그인을 수행하는 기능, 및 레이어 3 연결 기능을 포함한다. 802.11 기반 인증 방법을 추가하여, WPA 지원시, 상기 XML 스크립트의 범위는 사전 결합, 결합, 사후 결합 로그인, 프루빙, 로그라웃, 및 분리 태스크를 포함하도록 확장된다.
로그인을 포함할 수 있는 연결, 로그아웃을 포함할 수 있는 연결해제를 위한 방법이 사용될 수 있다. 개시된 실시예에 따라 제공된 XML-기반 스크립트는 특정한 신호가 로그인 전에 예상되는 대로 동작되는지 여부를 판정하는데에 사용되는 프루빙, 연결된 동안 상기 네트워크 액세스 컨트롤러로부터의 상태 메시지가 있는지 여부를 판정하는 데에 사용되는 상태 업데이트, 및 연결이 이루어져 수행되는지 여부를 판정하는 데에 사용되는 연결성 체크를 지원한다. 상기 다양한 태스크는 XML-기반 스크립트 내부 함수에서 수행되며, 단일 XML-기반 스크립트는 다수의 함 수를 포함할 수 있다.
함수(예를 들면, 연결, 프루브, 연결성 체크, 등) 수행시, 클라이언트(108)는 예를 들면 자신의 목적과 네트워크 프로파일에서 참조된 스크립트 명칭에 기초하여 XML-기반 스크립트에서의 적절한 함수를 호출한다. 필요한 함수가 스크립트에 존재하지 않는다면, 클라이언트(108)는 디폴트 스크립트에서 주어진 함수로 다시 돌아간다.
하나 이상의 실시예에 따라, 스크립트는 단일-스레드 및 애플리케이션 글로벌을 명확하게 실행하고, 하나의 스크립트가 한번에 실행된다. 상기 스크립트는 환경 변수(스크립트와 애플리케이션 실행사이에 존재), 정상 변수(스크립트 실행의 듀레이션 동안 유효한), 및 간접적으로 액세스 가능한 HTTP 변수(HTTP 요청에 대해서만 연관되고 새로운 HTTP 요청이 성공적으로 이루어질 때가지 스크립트 실행의 듀레이션 동안 유효한)를 위한 개별적인 데이터 공간을 포함한다.
개시된 적어도 하나의 개시된 실시예에 따라, 스크립트 언어를 위한 조직 개념은 그것아 참조되는 명칭을 가지는 스크립트이다. 각 스크립트는 하나 이상의 함수를 포함하며, 이는 또한 명칭에 의해 참조된다. 각 스크립트는 적어도 하나의 함수를 포함할 수 있다. 일부 함수 유형은 특정한 목적에 대해 미리 정의될 수 있고, 상기 유형은 상기 함수가 예약된 명칭을 가진다면 함수 명에 내재될 수 있다. 예를 들면, "프루브", "연결", "체크", "상태", 및 "연결 해제"는 시스템-정의된 함수에 대응하는 함수 유형의 예이다. 시스템-정의 함수는 예를 들면, 설명문에 의해 미리 정해진 함수 태그의 명칭 속성으로 규정될 수 있다. 상기 프루브, 연 결, 연결성 체크, 상태 업데이트 및 연결 해제 함수 유형이 본문에서 논의된다.
프루브 함수는 주어진 신호가 예측된대로 동작하는지를 유효성 검증하기 위해 사용될 수 있다. 상기 유형의 함수는 주어진 "극점"의 SSID가 실질적인 로그인 없이(예를 들면, 사용자가 비용을 부담할 수 있는 이벤트를 방지하기 위해) 네트워크에 연결하기 위해 사용될 수 있는지 여부를 판정하는 데에 사용될 수 있다.
연결 함수는 주어진 AP에 결합하고, 필요한 결합, 인증, 암호화, 사용자가 네트워크를 이용할 수 있는 포인트에 사용자로하여금 로그인하고 그에 도달하게 하는 웹 및 유효성 검증 프로세스를 수행하는데에 사용될 수 있다. 상기 연결 함수는 WiFi 보호 액세스, "WPA"에 대한 802.1x 인증을 지원한다.
연결성 체크 함수는 주어진 네트워크/AP에 대한 연결이 작동하고, 인터넷 제어 메시지 프로토콜("ICMP") 핑, 어드레스 해결 프로토콜("ARP")을 이용하는 게이트웨이에 대한 어드레스 해결, 도메인 네임 서비스("DNA") 검색, 또는 웹-기반 연결성 체크등과 같은, 액션을 수행함으로써 인터넷 액세스를 제공하는 지를 유효성 검증하기 위해 사용될 수 있다. 상기는 인터넷 연결성을 유효성 검증하기 위해 게이트웨이를 벗어나서 체크하는 기능을 제공한다. 예를 들면, 체크 기능은 인터넷 연결이 개방되고 액티브할 때 만 보여질 수 있거나, 또는 특정한 함수를 수행하는데에 필요한 세션 초기화 프로토콜("SIP") 서버를 핑할 수 있는 웹서버에 연결할 수 있다.
상태 업데이트 함수는 연결이 건강한지 여부를 판정하기 위해 상태 서버에 연결하기 위해 연결되는 동안 실행될 수 있다. 예를 들면, 평면에서, 상태 방법은 인터넷 액세스를 금지하는 부수적 상태에 관해 발견하는 온-보드 컨트롤러로 체크하는 데에 사용될 수 있다.
연결 해제 함수는 로그함수(들)에 기초하여 사용자 계정 관리자("UAM")를 수행하고, IP 결합(들)을 배포하고, 액세스 포인트 결합(들) 등을 배포하는 데에 사용될 수 있다.
하나 이상의 실시예에 따라, 스크립트는 적어도 하나의 함수를 가지며, 다수의 함수를 가질수도 있다. 스크립트 명칭은 클라이언트 설정에 의해 범위가 정해질 수 있고, 그 범위 내에서는 고유하다. 명칭들이 복제가 아닌 것을 보장하기 위해 설정 업데이트 파일에서 메커니즘을 제한하지 않으며, 이해충돌 해결에 대한 상세를 위해 설정 파일 포맷을 참조하라.
함수 명칭은 스크립트에 의해 범위가 정해지며, 그의 범위 내에서는 고유한 것이다. 이러한 경우, 유형당 하나의 함수가 주어진 스크립트에서 허용되며, 즉, 하나의 스크립트는 하나의 _Probe 및 _Connect 함수를 가질 수 있다.
본문에 설정 파일을 참조하여 보다 상세히 기술된 바와 같이, 신호 프로파일은 명명된 스크립트와의 결합을 구비한 네트워크를 포함하는 연관된 네트워크 리스트를 가진다. 주어진 스크립트에서 정의되지 않은 함수에 대해서는, 디폴트 함수가 사용될 수 있다. 디폴트 함수는 _Default 라고 명명된 스크립트에 포함될 수 있으며, 이는 각 클라이언트(108)에 함축적으로 나타날 수 있다. 모든 디폴트함수는 _Default에 포함된 정의에 의한 것일 수 있다. _Default 스크립트는 소프트웨어 또는 설정 업데이트로 오버라이딩될 수 있다. 디폴트 스크립트가 오버라이딩되 지 않으면, 그것이 수행하는 함수는 미리 정의된 함수 각각에 대해 성공을 리턴한다.
주어진 신호에 대해 모든 함수들이 하나의 스크립트에서 그룹핑되는 것을 허용함으로써, 네트워크 리스트로부터의 단일 결합으로, 로그인, 로그아웃 등에 대한 프로그래밍적 상호작용에 연관된 모든 데이터는 하나의 장소에서 함께 있고, 이는 유지관리, 할당에 도움이 되며, 오류의 발생을 감소시킨다(예를 들면, 매칭하는 로그아웃 방법을 할당하지 않으면서 프로파일에 로그인 방법을 할당).
임의의 수의 추가 함수가 스크립트 내부에서 정의될 수 있고, 상기 함수의 명칭은, "_"으로 시작하는 명칭이 시스템 정의 함수인것과 같이, "_"이 아닌 다른것으로 시작한다.
하나 이상의 개시된 실시예에 따라, 각 스크립트가 하나의 레벨의 함수를 포함하는 스크립트의 글로벌 리스트가 사용되는 스크립트 및 함수 계층이 사용된다.
스크립트 변수 조정은 선언, 할당/변경, 존재하는지의 체크, 및 단일 스크립트 번역기의 동작이 실행되는 동안 유지관리되는 간단한 변수의 제거와 같은 기능들을 포함한다. 환경 변수는 방법의 실행마다 유지관리되는 지속적인 환경에서 저장, 리스팅, 검색 및 파괴될 수 있다. 판독전용 영구적인 변수에 대한 지원이 있고, 특별한 영구적인 변수가 정의될 수 있다. 상기 "기능"의 프리미티브는 모든 기능의 리스트에 대해 질의함으로써 스크립트로하여금 애플리케이션의 기능을 판정하도록 하거나 또는 특정한 기능의 존재 또는 부재를 판정하도록 하는 메커니즘을 가리킨다. 실행은 함수의 끝이 나타날 때 또는 리턴 명령이 발급될 때 호출 및 중 단되는 함수 식별자의 다음에 제 1 명령어에서 시작한다.
하나 이상의 실시예에서, 스크립팅 기능은 디버그 특징을 포함하며, 이는 스크립트: DBGBREAK 속성 및 PRINT 엘리먼트의 디버깅을 지원하기 위한 2개의 구조체를 포함한다. 소프트웨어 구현의 디버깅되지 않은 버전에서는, 양측 모두가 무시될 수 있다.
Print 명령어는 주어진 스트링을 로그 파일로 인쇄한다. DBBREAK 속성은 속성을 가지는 임의의 명령어에 속성으로서 추가될 수 있다. "val" 파라미터는 표준 평가 규칙에 따라 평가되는 데, 예를 들면 스크립팅 언어의 조건 엘리먼트를 참조하라. 그것이 참으로 평가하면(0이 아님, 공백 스트링이 아님), 스크립트의 실행은 첨부된 DBGBREAK 속성을 가지는 엘리먼트 이전에 인터럽트될 것이다.
모든 다른 속성들이 다 그러하듯이, 변수의 치환이 적용되어, 그것은 변수를 0(디버깅 오프) 또는 1(디버깅 온)으로 설정하고, 상기 변수를 val로서 이용함으로써 조건 디버깅을 수행할 수 있다.
모든 변수, 방법 및 함수 명칭은 'ASCII 텍스트'에 있는 것으로서 규정될 수 있다. 예를 들면, 문자 A-Z, a-z, 0-9와 같은 명칭부여의 협정이 사용될 수 있고, -는 명칭의 사용자 할당부분으로서 제공될 수 있다. 앞의 "_"은 값이 시스템 정의된 값임을 지시한다. 사용자 정의 함수, 방법 및 변수 명칭은 "_"이 아닌 다른것으로 시작한다. 명칭은 대소문자를 구별하여, test 및 TEST, 및 Test는 3 개의 개별 명칭이 된다.
스크립트 명칭, 함수 명칭, 변수 명칭, 및 환경 변수 명칭은 자신만의 범위 를 가질 수 있다. 범위 내에서, 명칭은 고유한 것이다(예를 들면, 변수 및 환경 변수는 둘다 "Test"로 명칭이 부여될 수 있고, 고유한 것으로 간주될 수 있다).
자신의 범위에 관해, 하나 이상의 실시예에서, 스크립트 명칭은 글로벌하며, 예를 들면, 스크립트 명칭은 주어진 설정으로 주어진 클라이언트를 실행하는 주어진 사용자에 대해 고유하다. 함수 명칭은 로컬하여, 그것은 주어진 스크립트 엘리먼트내에서 고유하다. 변수 명칭은 주어진 파서/번역기에 대해 글로벌하다. 환경 변수 명칭은 주어진 클라이언트에 대해 글로벌하다.
하나 이상의 실시예에서, 스크립팅 환경에서, 함수 명칭에서의 도트는 다른 스크립트에서의 함수를 참조하기 위해 사용되고, 스크립트와 함수 명칭사이의 분리자로서 사용된다.
하나 이상의 실시예에 따라, 상기 스크립트 환경은 2 가지 유형의 변수를 지원하는데: 스크립트 변수와 환경 변수가 그것이다. 스크립트 변수는 시스템에 의해 또는 스크립트에서 정의될 수 있고, 파서/번역기(159)가 실행하는 동안 존재한다. 스크립트 실행이 종료되면, 변수는 파괴된다. 환경 변수는 애플리케이션 환경에서 존재하며, 스크립트 실행과 애플리케이션 실행 사이에서 지속되고, 즉, 그 값들은 영구적인 스토리지에 유지된다. 환경 변수의 범위는 사용자-당 베이시스에 대해 애플리케이션 및 디바이스 전역이다. 상기 메커니즘은 스크립트 실행들(예를 들면, Connection 함수에 의해 저장되는 Disconnect 함수에 가용한 연결 지정 로그아웃 URL을 가지는) 사이에 영구적인 데이터를 제공하고, 애플리케이션 글로벌 데이터(로그인 인증서, 호스트 애플리케이션으로 상기 스크립트의 결과를 통신하는 소프트웨어의 기능과 같은 것)에 대한 액세스를 제공하는 데에 사용된다.
변수 명칭은 16 문자 길이의 ASCII 스트링이 될 수 있다. 하나 이상의 실시예에 따르면, 모든 변수 컨텐츠는 ASCII 스트링이다. 상기 연산 동작은 상기 스트링 값을 정수로 변환하고, 상기 요청된 동작을 수행하여, 다른 스트링을 리턴한다.
생성시, 변수는 사용된 명령어에 따라 스크립트 또는 환경 변수로서 식별된다. 환경 변수 조정을 위해, Script 변수로 복사되고, 조정되고, 환경 변수로 다시 복사된다. 환경 변수에 대해 동작하는 함수는 예를 들면, ISENV, SETENV, 및 GETENV가 있다.
사용자 정의 스크립트 변수는 판독-기록이 가능하며; 시스템 정의 스크립트 변수는 판독전용이거나 또는 그의 함수에 따라 판독-기록이 가능할 수 있다. 문자값은 파라미터로서 {str} 또는 {int}이 지시되는 경우에 사용될 수 있다. 변수의 컨텐츠는 $를 변수 명칭의 앞에 놓음으로써 배치될 수 있다. $를 문자에 놓는 것을 행에 2개의 $(예를 들면, $$)를 포함한다.
일부 환경 변수는 판독 전용, 예를 들면 디바이스에 관한 주어진 파라미터, 애플리케이션 또는 인증서와 같은 고정된 파라미터를 통신하는 변수가 될 수 있다.
시스템 변수는 "_"로 시작하는 명칭 변환을 이용하여 식별될 수 있다. 이러한 경우, 사용자 정의가능한 변수는 "_"이 아닌 다른 것으로 시작한다.
도 8은 하나 이상의 실시예에 따라 변수 및 환경 변수를 조정하는 데에 사용될 수 있는 명령어의 예를 제공한다. 도 9A 내지 9C를 포함하는 도 9는, 본 개시물의 하나 이상의 실시예에 따라, 상기 스크립트 환경이 초기화될 때 상주되거나 또는 마지막 함수가 종료할 때 고려될 수 있는 일부 시스템 변수, 및 환경 변수를 도시한다.
도 10A 및 10B를 포함하는 도 10은 본 개시물의 실시예에 따라 사용되는 스트링 조정 함수의 예를 제공한다. 스트링 조정 함수는 스트링 길이를 체크하고, 서브 스트링의 위치를 배치하고, 스트링을 연관시키고, 인수를 카운트하고, n번째 인수를 검색하고, 다음번 인수, 서브 스트링, URL 인코드, URL 디코드, 베이스64 인코드 및 디코드를 스트립하고, 서브 스트링을 대체하는 함수들을 포함할 수 있다. 상기 스트링 조정 함수는 하나 이상의 인수들을 취할 수 있고; 상기 인수는 변수의 명칭 또는 문자 스트링 중 하나가 될 수 있다. 변수 참조는 참조의 앞에서 "$"를 이용하여 식별된다. 문자 달러 표시를 하는 것은 2 개의 달러 표시를 이용한다(이는 단일 달러 표시에 의해 대체될 것이다).
도 11은 본 개시물의 하나 이상의 실시예에 따라 사용되는 수학 함수의 예를 도시한다. 도 12A 및 12B를 포함하는 도 12는 본 개시물의 하나 이상의 실시예에 따라 프로그램 제어의 형태를 허용하기 위해 사용되는 조건 실행 스크립트 프리미티브와 조건 오퍼레이터의 예를 제공한다. 예를 들면, 명령문이 2 개의 변수 사이의 조건의 유효성 검증을 허용한다면, 여기서 상기 조건은 동일하거나, 동일하지 않거나, 널 또는 공백, 미만, 초과, 이하, 이상, 및 변수의 평가를 허용하는 스위치 명령문이 될 수 있다.
도 13은 본 개시물의 하나 이상의 실시예에 따라 사용하는 루프 프리미티브의 예를 제공한다. 설명을 위해, 하나의 이러한 프리미티브는 할당을 구비하는 "For"-스타일의 루프이고, 지정된 최대값까지의 한단계식의 증분을 가진 정수 카운터가 사용될 수 있다. 추가로, "while" 루프는 단일 조건을 평가하기 위해 사용될 수 있다.
도 14A 내지 14C를 포함하는 도 14는 본 개시물의 하나 이상의 실시예에 따라 사용될 수 있는 프로그램 제어 프리미티브, 및 연관된 리턴 및 탈출 코드의 예를 제공한다. 프로그램 제어는 실행 방법 및 부분(점프)로의 리턴 없이 또는 다른 방법 및 부분(호출)의 완료후 실행 방법으로의 리턴으로 동일한 또는 다른 방법 내의 또다른 부분으로 실행을 전환시키는 기능 및 임의의 포인트에서 스크립트로부터 탈출하는 기능을 제공한다. 상기 프로그램 제어 프리미티브는 예를 들면, 코드의 다른 부분으로 전환하고, 함수를 호출하고, 호출 함수로 제어를 리턴함으로써 프로그램 실행을 제어하는 기능을 제공한다.
도 15는 본 개시물의 하나 이상의 실시예에 따라 사용될 수 있는 슬립 및 시간 프리미티브의 예를 제공한다. 슬립 및 시간 프리미티브는 프로그램 실행시 시간경과에 따른 지연과 현재시간 찾기를 허용한다.
도 16A 내지 16D를 포함하는 도 16은 본 개시물의 하나 이상의 실시예에 따라 통지 및 입력 프리미티브와, 그들 사이에 연관된 정의된 코드의 예를 제공한다. 상기 통지 및 입력 명령어는 함수로 하여금 부모 프로세스와 상호작용하도록 허용하고, 전진 및 상태를 통신하고, 지정된 파라미터에 문의하기 위한 기회를 제공하고, 사용자 통지에 사용될 수 있다. 도 16C는 본 개시물의 하나 이상의 실시예에 따라 상기 "Ask" 프리미티브의 코드 파라미터에 사용되는 값의 예를 제공한다. 도 16D는 본 개시물의 실시예에 따라 적절한 메시징과의 대화를 생성하는 데에 사용될 수 있는 "말하기 코드" 값의 예를 제공한다.
도 17A 내지 17E를 포함하는 도 17은 본 개시물의 하나 이상의 실시예에 따라 사용하기 위한 무선 네트워크 프리미티브의 예를 포함한다. 이러한 프리미티브는 결합, 인증 및 결과 획득, 및 분리하는 기능을 제공한다. 예를 들면 이러한 프리미티브는 WiFi 라디오의 상태, 연결된 또는 연결하는 신호에 관한 정보를 획득하고 연결 프로세스에 지향시키기 위한 호스트 소프트웨어에 특정한 프리미티브를 발급하는 기능을 제공한다. 상기 프리미티브는 WiFi에 지정될 수 있다. 추가적인 프리미티브가 다른 기술 유형(예를 들면, WiMax, WWAN)이 부가될 때 추가될 수 있다는 것이 명확해야 한다. 도 17B는 본 개시물의 하나 이상의 실시예에 따라 리턴 "ConnStatus" 코드의 예를 제공한다. 도 17C 및 17D는 본 개시물의 하나 이상의 실시예에 따라 사용하기 위해, WiFi 결합 동작에 사용되는 파라미터와, WiFi 결합 동작의 결과를 식별하는 결과 코드의 예를 제공한다. 도 17E는 본 개시물의 하나 이상의 실시예에 따라 분리 동작의 결과의 예를 제공한다.
도 18A 내지 18C를 포함하는 도 18은 본 개시물의 하나 이상의 실시예에 따라 사용하기 위해, IPSET 프리미티브에 사용되는 파라미터와 함께, 인터넷 프로토콜 관리 프리미티브의 예를 제공한다. 상기 명령어들은 세팅 및 적절한 IP 어드레스 획득 및 상기 IP 상태 제어와 같은 IP 네트워크 함수를 수행하는 기능을 제공한다. 하나의 실시예에 따라 그리고 복잡성을 감소시키기 위해, 상기 명령어들은 비동기식이 아니다.
HTTP 및 HTTPS 프리미티브는, 예를 들면, HTTP 및/또는 HTTPS를 이용하여 획득하고; HTTP 헤더를 제공할 뿐 아니라 HTTP 및/또는 HTTPS를 이용하여 포스팅하고; HTTP 컨텐츠를 제공 및 파싱하고, HTTP 결과를 제공하고, 보안 정보를 제공하고, 타임아웃을 설정하고, 보안 파라미터를 제공하고, POST 요청에 대한 폼 값을 획득 및 설정하고, 결과로부터 XML을 획득하는 기능을 제공한다. 도 19A 내지 19F를 포함하는 도 19는 본 개시물의 하나 이상의 실시예에 따라 HTTP 서버와 상호작용하기 위해, HTTP 프리미티브, 프리미티브의 결과의 예를 제공한다. 상기 프리미티브는 SSL암호화로 또는 SSL암호화 없이 HTTP 서버와 상호작용하는 기능을 제공한다. 하나 이상의 실시예에서, 스크립트는 모든 함수에 의해 사용되는 하나의 글로벌 HTTP 콘텍스트를 구비한다. HTTP 프리미티브는 상기 콘텍스트에 따라 작동한다. 상기 콘텍스트는 하나의 함수로부터 다른 함수로 점핑할 때 조차 변하지않고 유지된다. 호출된 함수는 상기 콘텍스트를 변조할 수 있다.
HTTP 트랜잭션은 헤더 및 문서를 리턴할 수 있다. 모든 헤더는 각각의 명칭에 의해 개별적으로 접근가능하고, 모든 헤더의 리스트는 한번에 하나씩 그것들을 통해 워킹하기 위해 허용하도록 획득될 수 있다. 간략화를 위해, 문서는 하나의 커다란 스트링으로서 처리되고, 이것은 스트링 조정 함수로 검사될 수 있다. 다수의 경우에, 사용되는 기능은 포스팅된 형태의 데이터에 파일링하는 것을 포함하기 때문에, 함수로 하여금 명칭에 의해 리스트의 폼을 획득하고, POST 공간에 로딩된 폼을 획득하고, 그런다음 그것을 다시 포스팅하기 전에 검토 및 변조하는 것을 허용하는 일부 도움말이 구현된다. 상기 폼의 전개 공간또한 글로벌이다.
새로운 HTTP 요청이 이루어질 때, 헤더, Doc, 폼 및 포스트 공간은 상기 요청이 그것이 제 1 웹서버 응답을 나타낸 포인트로 도달했을때 모두 클리어된다. 도 19F는 Hget 및 HPOST 프리미티브와 연결된 "res" 컨텐츠의 예를 제공하고, 이는 본 개시물의 하나 이상의 실시예에 따라 동작의 성공을 지시한다.
토큰은 네트워크 인증동안 사용된 다수 사용자 신원을 지원하는 클라이언트(108)의 인스턴스와, 상기 토큰 스토어와 상호작용하는 메커니즘에 의해 사용될 수 있다. 예를 들면, 클라이언트(108)의 랩탑 인스턴스는 명칭이 부여된 다수의 토큰(인증서 세트)을 저장하는 기능을 가질 수 있다. 각 세트는 일반적으로 사용자명, 암호 및/또는 증명서를 포함한다. 상기 명령들은 명칭이 부여된 토큰의 존재를 유효성 검증하고 _USERNAME, _PASSWORD, _REALM 및 _CERT 변수로 토큰의 컨텐츠를 검색한다. 적어도 하나의 실시예에 따라, 상기 명령어들은 자격 토큰 1:이 가용할 때 제공된다. 도 20은 본 개시물의 하나 이상의 실시예에 따라 사용하기 위해 토큰 프리미티브의 예를 제공한다.
자격 프리미티브는 함수로하여금 호스트 애플리케이션 및 OS가 제공할 수 있는 함수가 어떤 것인지를 판정하도록 허용한다. GetCap 프리미티브는 소프트웨어가 어떤 기능을 수행할 수 있는지를 기술하는 자격 스트링 또는 자격 스트링의 그룹을 리턴한다. 스크립트는 상이한 자격으로 다양한 플랫폼 상에서 실행하고, 및/또는 상이한 소프트웨어 구현을 이용하고, 그것이 획득된 정보를 이용하여 수행할 수 있는 특징 및 동작이 무엇인지를 동적으로 판정할 수 있다.
특정 자격 또는 콤마로 분리된 일 그룹의 자격이 캡에서 입력으로서 주어지 고, 주어진 자격은 자신의 버전 번호로 리턴된다. 자격이 입력되지 않으면, 모든 자격과 버전이 리턴된다. 자격은 콜론에 의해 분리되는 명칭과 버전을 가진다. "cap" 파라미터에 대해, 버전이 제공되지 않으면, 임의의 자격이 매칭된다. 버전이 제공되면, 정확한 버전이 매칭된다. 예를 들면 환경 변수가 가용한지를 판정하기 위한 자격은, 제 1 버전이 1임과 동시에, EnvVar이어서, 전체 자격은 EnvVar 1이 된다. 자격 명칭은 A-Z, a-z, 및 -으로 구성되는 ASCII 스트링일 수 있고, 0 이상인 정수가 될 수 있다. 자격과 버전 번호는 콜론에 의해 구별될 수 있다. 도 21A 및 21B를 포함하는 도 21은, 본 개시물의 하나 이상의 실시예에 따라 사용하기 위해 GetCap 프리미티브의 예, 및 자격의 예를 제공한다. 상기 자격의 예는 가능한 모든 것을 포함하지는 않으며, 상기 자격은 본 개시물의 실시예에 따라 추가 또는 대체될 수 있다는 것이 명백해야한다.
본 개시물의 실시예는 설정(156)을 업데이트하기 위한 기능을 제공하고, 이 업데이트는 설정(156) 모두 또는 그 일부상에서 수행될 수 있다. 예를 들면, 도 1A의 서버(130)는 클라이언트(108)로 최초 설정을 전송하고, 그런다음 업데이트될 설정(156)의 일부만을 전송할 수 있다. 예시를 위해, 무선 네트워크(102)의 하나 이상의 인스턴스를 위한 네트워크 오퍼레이터는 자신의 인증, 결합 또는 연결 프로시저를 변조한다. 서버(130)는 클라이언트(108)를 재설정하기 위해 변조된 스트립트 함수를 전송할 수 있다. 예시를 위해, 서버(130)로부터의 설정 업데이트는 자신의 아이디에 의해 프로파일을 식별하고, "Remove" 또는 "Add"와 같은 동작을 지시할 수 있다. "Remove" 동작의 경우에, 식별된 프로파일이 설정(156)으로부터 제 거된다. "Add"의 경우와 프로파일이 이미 설정(156)에 있는 경우에, 프로파일은 서버(130)에 의해 전송된 설정 업데이트에 기초하여 업데이트된다. "Add"의 경우와 프로파일이 설정(156)에 존재하지 않는 경우에, 상기 프로파일은 설정(156)에 추가된다.
설정(156)은 디폴트가 아닌 설정 뿐 아니라 디폴트 설정을 포함할 수 있고, 이들 중 하나 또는 양측 모두가 업데이트될 수 있다. 디폴트 및 디폴트가 아닌 부분에 결합된 "autoupdate" 파라미터는 상기 서버(130)으로부터 설정 업데이트를 이용하여 자동으로 업데이트될 수 있다.
적어도 하나의 개시된 실시예에 따라, 설정 업데이트가 수신되는 경우, 클라이언트(108)는 기존 설정(156)을 저장하고, 상기 업데이트를 설정(156)의 복사본에 적용하고, 구 설정(156)을 제거하기 전에 상기 업데이트된 설정(156)을 유효성 검증한다(예를 들면, 업데이트된 설정(156)에서의 XML 기반 명령문을 파싱한다).
적어도 하나의 실시예에서, 설정(156)의 컨텐츠는 일 세트의 룰로서 참조된다. 하기의 표는 일부 규칙의 예를 제공한다:
규칙 유형 설명
AutoUpdate 자동 업데이트 제어를 위한 파라미터
Functions 소프트웨어 함수 제어, 소프트웨어에서 사용자가 사용 및 제어할 수 있는 함수가 어떤것인지를 식별함
Credentials 사용자 명칭, 암호 및 인증서 정보를 소프트웨어로 통신하는 메커니즘
Scripts 로그인, 로그아웃, 및 프루브 스크립트를 전송 및 유지관리하는 메커니즘
Profiles 미리설정된 네트워크 프로파일을 소프트웨어로 전송하기위해 사용됨
ProfileFilters 소프트웨어의 프로파일에서의 설정을 변경하기 위해 사용됨
NetworkLists 스크립트 및 보안 설정 결합으로, 프로파일에 첨부될 수 있는 다른 종류의 SSID 리스트를 전송하는 메커니즘
Locations 로케이션 디렉토리로의 확장을 정의
LocationFilters 사용자가 로케이션 디렉토리의 어떤 부분을 볼 수 있는 지를 제어
DefaultConfig 클라이언트 상에 디폴트 설정 또는 "씨드"를 전송 및 저장하는 메커니즘
클라이언트(108)는 서버(130)로부터, 설정(156), 또는 그로의 업데이트를 요청할 수 있다. 적어도 하나의 실시예에 따라, 클라이언트(108)는 설정(156)을 얻기 위해 표 2에 도시된 것과 같은 파라미터를 이용하여 HTTP GET 요청을 수행한다.
파라미터 Req. 포맷 설명
protocol Y 정수 프로토콜 버전, 현재 항상 1
swversion Y 스트링, 32 소프트웨어 버전, 최초 디바이스에 대해 소프트웨어 1
currentversion Y 정수 현재 설정 버전 번호. 설정이 없으면 0, 디폴트 설정이 로딩되면 1, 로딩된 현재 설정 번호를 표시하기 위해서는 >1
request Y 스트링, 32 문자 요청 유형, 현재 항상: SwConfig
reg N 스트링, 32 클라이언트 등록 ID. 클라이언트가 아직 서버 할당된 ID를 가지지 못하면, 상기 파라미터는 생략
lang N 스트링, 4 ISO 언어 식별자
하기는 URL 부분이 없이 요청의 예를 제공한다:
Figure 112008085718045-PCT00003
서버(130)는 기본 HTTP 인증에 대해 문의하고, 클라이언트(108)는 설정된 사용자명 및 암호, 또는 암호없이 예를 들면 "guest"와 같은 디폴트 사용자명으로 응답할 수 있다.
서버(130)는 응답하고 HTTP 응답을 전송한다. 클라이언트(108)는 응답 코드에 기초하여 응답을 처리한다. 하나 이상의 실시예에 따라, 유효하지 않은 SSL cert가 적용된 HTTP를 이용한 응답을 고려하지 않는다. "200" 응답 코드는 서버(130) 응답이 유효한 XML 설정 문서를 포함한다는 것을 지시하며, 클라이언트(108)는 상기 응답을 처리 및 평가한다. "302" 응답 코드는 또다른 서버(130)로의 리다이렉트를 지시한다. 클라이언트(108)는 상기 리다이렉트를 따른다. 하나 이상의 실시예에 따라, 16개의 리다이렉트가 허용된다. 클라이언트(108)는 후속하는 리다이렉트를 추적하고 루프를 검지할 수 있다. 루프가 발견되면, 클라이언트(108)는 업데이트 시도를 중단하고 업데이트가 실패한 것으로 간주할 수 있다. 또다른 응답 코드가 클라이언트(108)에 의해 검지되면, 업데이트 시도는 중단되고 실패한 것으로 간주된다.
"200" 응답내에서, 클라이언트(108)는 예를 들면 "가용한 업데이트없음", "유효하지 않은 요청", 또는 업데이트와 같은 상이한 유형의 응답을 예측할 수 있다. 상기 응답이 유효한 업데이트가 없다고 지시하는 경우, 클라이언트(108) 상의 설정(156)은 최신인 것으로 간주되며, 변경/업데이트는 필요가 없다. 클라이언트(108)는 상기 기존 설정(156)을 이용하는 것을 계속한다. 하기는 업데이트가 필요없음을 지시하는 XML-기반 응답의 예를 제공한다:
Figure 112008085718045-PCT00004
클라이언트(108)에 의해 이루어진 요청이 하기와 같음을 지시하는 "200" 응답의 예는 다음과 같다:
Figure 112008085718045-PCT00005
클라어인트(108)는 상기 요청을 다시 공식화하고 다시 제출할 수 있다. 클라이언트(108)는 상기 상황에서, 예를 들면 이것은 일시적인 오류가 아닌 것으로 판정하면, 디폴트 설정을 이용하는 옵션을 가진다.
클라이언트(108)에 의해 이루어진 요청이 유효하고 업데이트가 가용한 경우, 하나 이상의 실시예에 따라, 상기 리턴된 문서는 상기 예에서 나타낸 바와 같이 "SwConfig" 엘리먼트, 및: 하기에 보다 상세히 기술되는 것과 같이, AutoUpdate, Functions, Tokens, Scripts, NetworkLists, DefaultConfig 또는 LoadDefaultConfig 중 하나 이상을 포함한다.
하나 이상의 실시예에 따라 설정(156)을 생성 및/또는 업데이트하기 위해 사용될 수 있는 서버(130)에 의해 리턴된 문서의 전체 구조는 도 22A 및 22B를 포함하는 도 22에 도시된다. 볼딕체의 아이템은 허용가능한 발생 횟수가 후속하는, 엘리먼트 명칭, 짧은 설명이 후속하는 괄호에서의 선택적인 상태 및 배타적 사용에 대응한다. "D" 지정은 전체 포맷이 설정 서버로부터의 응답을 수신하는 클라이언트(108)에 연관한다는 것을 지시하고, "C"는 정책 서버에 의해 생성된 정책 파일의 컨텐츠를 포함하는 응답을 표시한다. 개별 아이템은 " D " 또는 " C ", 또는 그 두가지 모두로 마킹된다.
도 23 A 및 23B를 포함하는 도 23과, 도 24A 내지 24D를 포함하는 도 24는 본 개시물의 하나 이상의 실시예에 따라 설정을 업데이트하는 데에 사용되는 XML-기반 문서의 예를 제공한다.
도 25 내지 59는 본 개시물의 하나 이상의 실시예에 따라, 표시 및 그에 업데이트 하기 위해 사용될 수 있는 XML-기반 엘리먼트의 예를 제공한다.
상기 도 25에 도시된, "SwConfig" 엘리먼트는 루트 엘리먼트이다. 도 26에 도시된 "InvalidRequest" 엘리먼트는 서버(130)에 대한 요청이 유효하지 않다는 것을 지시하는 데에 사용될 수 있다. 상기 "NoUpdate" 엘리먼트는 유효한 요청이 수신되었고, 클라이언트(108)는 현재 설정(156)을 가지고 있다는 것을, 또는 서버(130)가 상기 시점에 업데이트를 제공할 수 없다는 것을 지시하는 데에 사용될 수 있다. 상기 "NoUpdate" 및 "AutoUpdate" 엘리먼트는 도 27에 도시된다. "AutoUpdate" 엘리먼트는 자동 소프트웨어 설정 업데이트 파라미터를 식별하고, 이는 업데이터 함수의 설정을 보완할 수 있다.
도 28에 도시된 "Functions" 엘리먼트는 애플리케이션 함수 제어 정의의 컨테이너로서 사용될 수 있다. 각각의 미리정해진 애플리케이션 함수는 함수 제어 엘리먼트를 포함할 수 있다. 그것이 SwConfig에 포함되면, 상기 "Functions" 엘리먼트는 현재 함수 설정을 기술한다. 그것이 DefaultConfig에 포함되면, 상기 "Functions"엘리먼트는 설정(156)이 디폴트일 때 함수 설정이 적용되는 것으로 정의한다.
도 29에 도시된 "Function"엘리먼트는 주어진 애플리케이션 함수에 대한 "모드"를 식별한다. 선택적으로, 상기 "Function" 엘리먼트는 사용자가 함수 제어(들)을 볼수 있는지 여부, 및 사용자가 상기 함수의 모드를 변경할 수 있는지 여부를 지시할 수 있다. 상기 엘리먼트는 애플리케이션에서 모든 WiFi 또는 WLAN 기능을 턴오프하는 것과 같은 글로벌 애플리케이션 범위의 함수에 사용될 수 있다. 선택적으로, 상기 엘리먼트는 도 29에 도시된 AllowedMode 엘리먼트를 포함할 수 있고, 이는 설정시 사용자에게 표시되어야하는 모드를 식별한다. 적어도 하나의 실시예에 따라, "id들"과 "모드들" 파라미터는 다양한 애플리케이션 사이에 보다 용이하게 공유되는 정책을 허용하기 위해 수치가 아닌 것이다. 상기 "Function" 엘리먼트는 다수 종류의 앨프리케이션 함수의 제어를 위해 확장 및 사용될 수 있는 특유의 메커니즘으로서 신중하게 정의될 수 있다.
상기 "AllowMode" 엘리먼트는 주어진 함수를 변화시킬때 사용자가 볼 수 있는 모드의 리스트를 제공한다. 상기 "모드"는 모드를 크로스-애플리케이션으로 만들기 위해 스트링으로서 표시될 수 있다. 모드가 조합가능한 것으로 처리되는지 여부는 엘리먼트의 속성이 열거될 때, 함수 정의에서 포함된다. 도 29에 도시된 "Credentials" 엘리먼트는 인증서의 컨테이너로서 기능한다. Credentials는 예를 들면, 사용자명 및 암호와 같은 사용자 식별 및 인증 데이터의 세트이다. 상기 "Credentials" 엘리먼트가 "SwConfig" 엘리먼트에 포함된다면, 그것은 현재 함수 설정을 기술할 수 있다. 그것이 DefaultConfig에 포함된다면, 그것은 설정(156)이 디폴트일 때 설정이 적용되도록 정의할 수 있다.
도 30에 도시된 "Remove" 엘리먼트는 현재 작업 설정(156)으로부터 명칭이 부여된 설정 엘리먼트를 제거하기 위해 사용될 수 있다. 상기 엘리먼트는 엘리먼트 식별자에 의해 식별된 0 이상의 다른 엘리먼트를 포함할 수 있다. 상기 식별된 엘리먼트는 설정(156)으로부터 제거된다. 도 30에 도시된 상기 "RemoveAll" 엘리먼트는 상기 현재 설정(156)으로부터 모든 설정 엘리먼트를 제거하기 위해 사용될 수 있다. "RemoveAll"이 "DefaultConfig" 엘리먼트에 포함될 때, 상기 "RemoveAll" 엘리먼트는 상기 DefaultConfig"가 로딩될 때까지 실행되지 않는다.
도 30에 도시된 "Add" 엘리먼트는 Element ID(또는 ID를 가지지 못한 엘리먼트에 대해서는 명칭)에 기초하여 현재 설정(156)에 설정 엘리먼트를 부가하기 위해 사용될 수 있다. 상기 "Add" 엘리먼트는 엘리먼트 ID를 가지고 엘리먼트에 대해 모든 필요한 파라미터를 가지며, 상기 엘리먼트 각각이 현재 설정에 부가되는 0 이상의 다른 엘리먼트를 포함할 수 있다. 지정된 ID가 이미 사용중이라면, 주어진 설정 아이템이 먼저 제거되고, 그런다음 다시 부가된다. DefaultConfig에 포함될 때, 상기 "Add" 엘리먼트는 상기 DefaultConfig가 로딩될 때까지 실행되지 않는다.
도 30에 도시된 "Credentials" 엘리먼트가 호출된 '토큰'으로서 참조되는, 인증서 세트로 사용될 수 있다. 인증서는 사용자를 고유하게 식별하고 인증에 사용되는 사용자명 및 암호를 정의하기 위해 사용될 수 있다. 그것은 대소문자를 구별하는 정보이고, 클라이언트(108) 상에 암호화된 형태로 저장될 수 있다. 도 30에 도시된 상기 "UserName" 엘리먼트는 예를 들면 127 문자 길이까지의 문자 스트링과 같은 사용자명을 포함한다. "Password" 엘리먼트는 예를 들면 127 문자 길이까지의 스트링과 같은 암호를 포함한다. 도 31에 도시된 "Certificate" 엘리먼트는 길이면에서 예를 들면, 4096 문자까지의, Base64-인코딩된 증명서를 포함한다.
도 31에 도시된 상기 "Scripts" 엘리먼트는 연결 제어 스크립트를 위한 컨테이너로서 사용될 수 있고, 이는 예를 들면 프루빙, 연결, 상태, 연결성 체크, 및 연결해제 프로세스를 동적으로 제어하기 위해 사용된다. 상기 "SwConfig" 엘리먼트에 포함되면, 상기 "Scripts" 엘리먼트는 현재 함수 설정을 기술한다. 그것이 "DefaultConfig" 엘리먼트에 포함되면, 그것은 설정(156)이 디폴트일 때 설정이 적용되도록 정의한다. 도 31에 도시된 상기 "Script" 엘리먼트는 XML-기반 연결 제어 스크립트를 참조하기 위해 사용될 수 있다.
도 31에 도시된 "Profiles" 엘리먼트는 네트워크 프로파일을 위한 컨테이너로서 사용될 수 있다. 그것이 "SwConfig" 엘리먼트에 포함되면, 그것은 현재 함수 설정을 기술하고, 그것이 "DefaultConfig" 엘리먼트에 포함되면, 그것은 설정(156)이 디폴트일 때 설정이 적용되도록 정의한다. 도 32에 도시된 "Profile" 엘리먼트는 예를 들면 WiFi 프로파일과 같은 연결 프로파일이고, 이는 네트워크에 연결하기 위해 연관된 설정을 기술하는 속성 및 엘리먼트를 포함한다. 도 33 내지 50은 프로파일 정의에 사용될 수 있는 속성의 예를 제공한다. 예를 들면, 도 33에 도시된 "DisplayName"은 프로파일의 리스트 및/또는 AP(112)의 인스턴스 리스트에 사용되는 명칭을 식별한다. 도 33에 도시된 상기 "UseDisplayName" 엘리먼트는 주어진 프로파일로 맵핑된 AP(112)로부터의 신호가 자신의 SSID 또는 AP(112) 리스트에서의 프로파일의 명칭에 의해 참조되는지 여부를 판정하기 위해 사용될 수 있다.
도 51에 도시된 상기 "ProfileFilter" 엘리먼트는 프로파일 필터에 대한 컨테이너로서 사용될 수 있다. 프로파일 필터는 기존 프로파일에서의 파라미터를 변조하기 위해 사용될 수 있다.
도 53에 도시된 "NetworkLists" 엘리먼트는 상이한 설정을 가진 다수의 네트워크를 프로파일에 결합시키기 위해 사용될 수 있다. 프로파일당 하나의 NetworkList만이 허용되는 경우, 네트워크 리스트가 프로파일에 포함될 수 있다. 그러나, 개별 엘리먼트로서, 단일 프로파일에 결합된 다수의 네트워크를 가지는 것이 가능하다. 추가로, 그것은 논-디바이스 플랫폼에 대한 구현을 허용한다. 도 52에 도시된 "NetworkList" 엘리먼트는 도 55에 도시된 다수의 네트워크 엘리먼트를 포함할 수 있고, 프로파일에 대해 네트워크 엘리먼트를 결합시킬 수 있다.
업데이트 시퀀스는 설정(156)을 업데이트하기 위해 사용될 수 있다. 도 59는 사용될 수 있는 업데이트 시퀀스의 예를 제공한다. 본 개시물의 실시예를 사용하여, DefaultConfig, LoadDefaultConfig, 및 다수의 기타(예를 들면, Prifiles, Scripts, NetworkLists) 엘리먼트를 포함하는 단일 SwConfig가 사용될 수 있다.
상기 장치 및 방법이 현재 가장 실용적이고 바람직한 실시예로서 간주되는 것으로 기술되지만, 본 개시물은 개시된 실시예에 한정될 필요가 없음이 이해될 것이다. 청구범위의 취지 및 범위 내에 포함된 다양한 변형 및 유사한 배치를 커버하는 것이 의도되고, 그 범위는 상기 모든 변형과 유사한 구조를 포함하기 위해 가장 폭넓은 번역이 가능하다. 본 개시물은 하기 청구범위 중 임의의 것 및 모든 실시예를 포함한다.

Claims (24)

  1. 클라이언트 디바이스에 의해 무선 네트워크의 상태의 식별을 실행하는 방법에 있어서,
    액세스 포인트를 식별하는 정보를 포함하는 비컨 메시지를 무선 네트워크의 적어도 하나의 액세스 포인트로부터 검지하는 단계;
    상기 액세스 포인트와 통신하기 위해 적어도 하나의 미리정해진 동작을 이용하는 것을 시도하는 단계;
    상기 적어도 하나의 미리정해진 동작에 대해 액세스 포인트로부터 수신된 응답에 기초하여 사용가능성 상태를 판정하는 단계; 및
    상기 액세스 포인트의 고유 식별자에 연관된, 상기 판정된 사용가능성 상태를 캐시에 저장하는 단계;를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 사용가능성 상태는 액세스 포인트의 사용가능성을 "양호", "불량", "알지못함"으로서 식별하는 정보를 포함하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서,
    상기 적어도 하나의 미리정해진 동작은 상기 클라이언트 디바이스에 의해 저장된 설정 정보에 정의되는 것을 특징으로 하는 방법.
  4. 제 3 항에 있어서,
    상기 설정 정보는 각각의 프로파일이 적어도 하나의 무선 네트워크에 대응하는 하나 이상의 프로파일을 포함하는 것을 특징으로 하는 방법.
  5. 제 4 항에 있어서,
    상기 적어도 하나의 미리정해진 동작은 비컨 메시지에서 식별된 무선 네트워크의 식별자에 대응하는 프로파일을 이용하여 식별되는 것을 특징으로 하는 방법.
  6. 제 4 항에 있어서,
    상기 무선 네트워크에 대응하는 프로파일은 프루브, 연결, 연결 해제, 및 상태 체크 동작 중 하나 이상을 식별하는 것을 특징으로 하는 방법.
  7. 제 4 항에 있어서,
    상기 설정 정보는 다수의 네트워크를 식별하는 적어도 하나의 네트워크 리스트를 포함하고, 상기 네트워크 리스트는 상기 프로파일 중 하나에 대응하여 하나의 프로파일이 네트워크 리스트에서의 네트워크의 각각에 이용되도록 하는 것을 특징으로 하는 방법.
  8. 제 1 항에 있어서,
    상기 사용가능성 상태는 마지막 연결 시도, 및 상기 마지막 연결 시도의 결과를 식별하는 정보를 포함하는 것을 특징으로 하는 방법.
  9. 제 1 항에 있어서,
    상기 사용가능성 상태는 다수의 양호한 연결 및 다수의 불량한 연결을 식별하는 정보를 포함하는 것을 특징으로 하는 방법.
  10. 제 1 항에 있어서,
    액세스 포인트를 식별하는, 후속하는 비컨 메시지를 검지하는 단계; 및
    상기 후속하는 비컨 메시지에서 식별된 액세스 포인트 식별자에 대응하는 사용가능성 상태를 판정하기 위해 캐시를 참조하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서,
    적어도 하나의 미리정해진 동작을 이용하여, 상기 후속하는 비컨 메시지에서 식별된 액세스 포인트에 대응하는 사용가능성 상태가 상기 캐시에 없는 경우 상기 후속하는 비컨 메시지에서 식별된 액세스 포인트와 통신하도록 시도하는 단계;
    적어도 하나의 미리정해진 동작으로부터 수신된 응답에 기초하여 후속하는 비컨 메시지에서 식별된 무선 액세스 포인트의 사용가능성 상태를 판정하는 단계; 및
    상기 후속하는 비컨 메시지에서 식별되는 액세스 포인트의 고유한 식별자에 연관된 상기 판정된 사용가능성 상태를 캐시에 저장하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  12. 제 10 항에 있어서,
    상기 후속하는 비컨 메시지에서 식별된 액세스 포인트가 상기 캐시에 저장된 액세스 포인트 식별자에 대응하는지를 판정하는 단계;
    상기 식별된 액세스 포인트를 통해 무선 네트워크로 연결할지 여부를 판정하기 위해 상기 캐시에 저장된 사용가능성 상태를 이용하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  13. 제 1 항에 있어서, 상기 클라이언트는 운영체제 소프트웨어 플랫폼을 구비하고, 설정 정보는, 각각의 동작이 클라이언트의 소프트웨어 플랫폼을 이용하여 해석될 수 있는 번역가능한 프로그래밍 언어로 기록된 다수의 미리정해진 동작을 구비하는 클라이언트에 저장되는 방법으로서, 상기 방법은,
    상기 저장된 설정 정보에서 다수의 미리 정해진 동작중 하나로의 업데이트를 구비하는 업데이트된 설정 정보를 수신하는 단계;
    상기 운영체제 소프트웨어 플랫폼을 변경하지 않고서 상기 클라이언트 디바이스의 동작을 제어하기 위해, 업데이트를 포함하는 설정정보를 업데이트하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  14. 제 1 항에 있어서,
    상기 적어도 하나의 미리 정해진 동작은 스크립트에 포함되는 것을 특징으로 하는 방법.
  15. 제 14 항에 있어서,
    상기 스크립트는 다수의 미리정해진 동작을 포함하는 것을 특징으로 하는 방법.
  16. 제 1 항에 있어서,
    상기 클라이언트에 저장된 설정 정보는 다수의 스크립트를 구비하고, 상기 스크립트 각각은 하나 이상의 미리정해진 동작을 구비하는 것을 특징으로 하는 방법.
  17. 제 16 항에 있어서,
    상기 설정 정보는 다수의 프로파일을 구비하고, 적어도 하나가 상기 비컨 메시지에 의해 식별되는 액세스 포인트로 맵핑될 수 있는, 방법에 있어서, 상기 방법은,
    상기 설정 정보에 포함된 프로파일을 식별하기 위해 상기 비컨 메시지에서 무선 네트워크를 식별하는 정보를 이용하는 단계;
    상기 식별된 프로파일에 기초하여 스크립트를 식별하는 단계; 및
    상기 식별된 스크립트와 프로파일에 기초하여 적어도 하나의 미리 정해진 동작을 식별하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  18. 클라이언트 디바이스에 의해 무선 네트워크의 상태의 식별을 실행하는 방법에 있어서,
    다수의 액세스 포인트로부터 다중 비컨 메시지를 검지하는 단계로서, 각각의 비컨 메시지가 액세스 포인트 식별자 및 무선 네트워크 식별자를 포함하고, 복수의 비컨 메시지가 동일한 무선 네트워크 식별자를 구비하는 단계;
    적어도 하나의 미리정해진 동작을 이용하여, 복수의 비컨 메시지 중에 하나에서 식별된 액세스 포인트와 통신하는 것을 시도하는 단계;
    상기 적어도 하나의 미리정해진 동작에 대해 상기 액세스 포인트로부터 수신된 응답에 기초하여 사용가능성 상태를 판정하는 단계;
    상기 하나의 액세스 포인트에 대해 캐시에 상기 판정된 사용가능성 상태를 저장하는 단계; 및
    동일한 무선 네트워크 식별자를 구비한 복수의 비컨 메시지에서 식별된 나머지 액세스 포인트 각각에 대해 캐시에 상기 판정된 사용가능성을 저장하는 단계;를 포함하는 것을 특징으로 하는 방법.
  19. 제 18 항에 있어서, 클라이언트 디바이스가, 각각의 프로파일이 다른 프로파 일들에 대해 고유한 랭크를 구비하는 다수의 프로파일을 포함하는 설정 정보를 저장하는 방법으로서, 상기 방법은,
    자신의 랭크에 기초하여 프로파일 중 하나를 선택하는 단계; 및
    상기 시도단계에서 검지된 비컨 메시지중 식별된 하나의 비컨 메시지를 사용하기위해, 상기 선택된 프로파일에 연관된 무선 네트워크 식별자에 매칭하는 무선 네트워크 식별자를 구비하는 검지된 비컨 메시지 중에 하나를 식별하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  20. 제 19 항에 있어서,
    상기 설정 정보는 상기 프로파일 중 하나에 대응하는 적어도 하나의 네트워크 리스트를 구비하고, 상기 네트워크 리스트는 복수의 무선 네트워크와 상기 네트워크 리스트에서 식별된 복수의 무선 네트워크 각각에 대한 무선 네트워크 식별자를 식별하고, 상기 검지된 비컨 메시지중 하나를 식별하기 위해 사용되는 선택된 프로파일에 연관된 무선 식별자는 상기 네트워크 리스트에서 식별된 무선 네트워크 식별자중 하나인 것을 특징으로 하는 방법.
  21. 제 20 항에 있어서, 상기 네트워크 리스트에서 식별된 무선 네트워크 각각은 랭크를 구비하는 방법으로서, 상기 방법은,
    자신의 랭크에 기초하여 네트워크 리스트에서 하나의 무선 네트워크를 선택하여, 상기 검지된 비컨 메시지중 하나를 식별하기 위해 사용된 선택된 프로파일에 연관된 무선 네트워크 식별자를 상기 무선 네트워크중 선택된 하나에 대응하는 무선 네트워크 식별자가 되도록 하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  22. 클라이언트 디바이스에 의해 무선 네트워크의 상태를 식별하는 정보를 판정하는 것을 실행하기 위한 방법으로서, 상기 클라이언트 디바이스는 프로파일과 대응하는 네트워크 리스트를 구비하는 설정 정보를 저장하고, 상기 프로파일은 무선 네트워크 식별자를 구비하고, 상기 네트워크 리스트는 각각의 무선 네트워크가 무선 네트워크 식별자를 구비하는 복수의 무선 네트워크를 식별하는 방법에 있어서,
    각각의 비컨 메시지가 액세스 포인트 식별자와 무선 네트워크 식별자를 포함하는 다수의 비컨 메시지를 다수의 액세스 포인트로부터 검지하는 단계;
    상기 네트워크 리스트에서 식별된 무선 네트워크에 대응하는 무선 네트워크 식별자에 매칭하는 무선 네트워크 식별자를 포함하는 비컨 메시지를 선택하는 단계;
    상기 프로파일에 포함된 정보를 이용하여 식별된 적어도 하나의 미리정해진 동작을 이용하여, 상기 선택된 비컨 메시지에서 식별된 액세스 포인트와 통신하는 것을 시도하는 단계;
    상기 적어도 하나의 미리 정해진 동작에 대해 상기 액세스 포인트로부터 수신된 응답에 기초하여 사용가능성 상태를 판정하는 단계; 및
    상기 선택된 비컨 메시지에서 식별된 액세스 포인트에 대해 캐시에 상기 판정된 사용가능성 상태를 저장하는 단계를 포함하는 것을 특징으로 하는 방법.
  23. 제 21 항에 있어서,
    네트워크 리스트에서 식별된 네트워크의 무선 네트워크 식별자에 대응하는 무선 네트워크 식별자를 구비한 비컨 메시지에서 식별된 각각의 액세스 포인트에 대해 캐시에 상기 판정된 사용가능성 상태를 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  24. 클라이언트에 의해 무선 네트워크의 상태를 식별하는 것을 실행하는 방법에 있어서,
    무선 네트워크의 적어도 하나의 액세스 포인트로부터 상기 액세스 포인트를 식별하는 정보를 포함하는 비컨 메시지를 검지하는 단계;
    적어도 하나의 미리정해진 동작을 이용하여, 비컨 메시지가 상기 검지 단계에서 검지되는 액세스 포인트가 아닌 또다른 액세스 포인트와 통신하도록 시도하는 단계;
    적어도 하나의 미리 정해진 동작에 대해 다른 액세스 포인트로부터 수신된 응답에 기초하여 사용가능성 상태를 판정하는 단계; 및
    상기 다른 액세스 포인트의 고유한 식별자에 연관된 상기 판정된 사용가능성 상태를 캐시에 저장하는 단계;를 포함하는 것을 특징으로 하는 방법.
KR1020087030394A 2006-05-15 2007-05-14 네트워크 액세스 포인트의 검지와 이용 KR20090023382A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/435,019 2006-05-15
US11/435,019 US9319967B2 (en) 2006-05-15 2006-05-15 Network access point detection and use

Publications (1)

Publication Number Publication Date
KR20090023382A true KR20090023382A (ko) 2009-03-04

Family

ID=38750127

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087030394A KR20090023382A (ko) 2006-05-15 2007-05-14 네트워크 액세스 포인트의 검지와 이용

Country Status (7)

Country Link
US (1) US9319967B2 (ko)
EP (1) EP2030429B1 (ko)
JP (1) JP5101603B2 (ko)
KR (1) KR20090023382A (ko)
CN (1) CN101480032B (ko)
CA (1) CA2652210A1 (ko)
WO (1) WO2008054875A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011132873A2 (ko) * 2010-04-18 2011-10-27 엘지전자 주식회사 무선랜 시스템의 인에이블먼트 방법 및 그를 이용한 무선랜 통신 장치
KR101257784B1 (ko) * 2011-09-23 2013-04-24 주식회사 인트로메딕 캡슐 내시경 시스템의 실시간 데이터 전송 방법 및 장치
KR20170124376A (ko) * 2016-05-02 2017-11-10 주식회사 케이티 비콘 서비스 제공 장치 및 방법과 비콘 서비스 관리 서버

Families Citing this family (161)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4136771B2 (ja) 2003-04-23 2008-08-20 キヤノン株式会社 通信システム、通信装置、及びその制御方法、並びにコンピュータプログラム
JP4125173B2 (ja) * 2003-04-23 2008-07-30 キヤノン株式会社 情報処理装置の接続制御方法、情報処理装置、及びコンピュータプログラム
US8990366B2 (en) * 2003-12-23 2015-03-24 Intel Corporation Method and apparatus for remote modification of system configuration
US8924522B2 (en) 2003-12-23 2014-12-30 Intel Corporation Method and apparatus for remote modification of system configuration setting
JP4829635B2 (ja) 2006-02-17 2011-12-07 キヤノン株式会社 通信装置、通信方法、ネットワークを構成する方法、通信システム
US8565766B2 (en) 2007-02-05 2013-10-22 Wefi Inc. Dynamic network connection system and method
US8644828B2 (en) 2007-02-05 2014-02-04 Wefi Inc. Method and system for selecting a wireless network
US8229427B2 (en) * 2006-07-14 2012-07-24 Qualcomm Incorporated Status validation for terminals in a wireless communication system
US8743778B2 (en) * 2006-09-06 2014-06-03 Devicescape Software, Inc. Systems and methods for obtaining network credentials
US9326138B2 (en) * 2006-09-06 2016-04-26 Devicescape Software, Inc. Systems and methods for determining location over a network
US8549588B2 (en) * 2006-09-06 2013-10-01 Devicescape Software, Inc. Systems and methods for obtaining network access
US8554830B2 (en) * 2006-09-06 2013-10-08 Devicescape Software, Inc. Systems and methods for wireless network selection
JP4886463B2 (ja) 2006-10-20 2012-02-29 キヤノン株式会社 通信パラメータ設定方法、通信装置及び通信パラメータを管理する管理装置
US8239522B1 (en) * 2006-11-16 2012-08-07 Adobe Systems Incorporated Dynamic variables for tracking wireless device website usage
CA2670033C (en) * 2006-11-21 2016-03-15 Research In Motion Limited Saving a connection profile when unable to connect to a wireless local area network
US8000276B2 (en) 2007-02-05 2011-08-16 Wefi, Inc. Providing easy access to radio networks
US20120076118A1 (en) * 2010-09-29 2012-03-29 Michael Montemurro Methods and apparatus to present network capabilities available via wireless networks
EP2184892B1 (en) * 2007-07-31 2016-12-21 Lenovo Innovations Limited (Hong Kong) Wireless lan terminal and access point searching method
US20090055515A1 (en) * 2007-08-21 2009-02-26 Alcatel Lucent Facilitating distributed and redundant statistics collection
US20100020776A1 (en) * 2007-11-27 2010-01-28 Google Inc. Wireless network-based location approximation
US8549912B2 (en) 2007-12-18 2013-10-08 Teradyne, Inc. Disk drive transport, clamping and testing
US8238099B2 (en) 2008-04-17 2012-08-07 Teradyne, Inc. Enclosed operating area for disk drive testing systems
US20090262455A1 (en) 2008-04-17 2009-10-22 Teradyne, Inc. Temperature Control Within Disk Drive Testing Systems
US7848106B2 (en) 2008-04-17 2010-12-07 Teradyne, Inc. Temperature control within disk drive testing systems
US8095234B2 (en) 2008-04-17 2012-01-10 Teradyne, Inc. Transferring disk drives within disk drive testing systems
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US8332495B2 (en) * 2008-06-27 2012-12-11 Affinegy, Inc. System and method for securing a wireless network
US8359372B2 (en) * 2008-06-29 2013-01-22 Microsoft Corporation Automatic transfer of information through physical docking of devices
JP5337879B2 (ja) * 2008-09-29 2013-11-06 株式会社東芝 複数のネットワークアクセスポイントの事前評価
US20100263022A1 (en) * 2008-10-13 2010-10-14 Devicescape Software, Inc. Systems and Methods for Enhanced Smartclient Support
WO2010045249A1 (en) * 2008-10-13 2010-04-22 Devicescape Software, Inc. Systems and methods for identifying a network
GB2464480B (en) * 2008-10-15 2011-01-12 Nomad Spectrum Ltd Network communication
DE102009048303A1 (de) * 2009-05-07 2010-11-18 Siemens Aktiengesellschaft Beacon für ein Sternnetz, Sensorknoten in einem Sternnetz, Verfahren zur Initialisierung eines Gateways in einem Sternnetz und Verfahren zum Betrieb eines Sternnetzes
US9713074B2 (en) * 2009-06-05 2017-07-18 Apple Inc. Network association in an environment with hidden networks
US8466699B2 (en) 2009-07-15 2013-06-18 Teradyne, Inc. Heating storage devices in a testing system
US8628239B2 (en) 2009-07-15 2014-01-14 Teradyne, Inc. Storage device temperature sensing
US8687356B2 (en) 2010-02-02 2014-04-01 Teradyne, Inc. Storage device testing system cooling
US8547123B2 (en) 2009-07-15 2013-10-01 Teradyne, Inc. Storage device testing system with a conductive heating assembly
JP5397090B2 (ja) * 2009-08-25 2014-01-22 富士通モバイルコミュニケーションズ株式会社 携帯端末装置および無線lan接続方法
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
CN102771162A (zh) * 2009-12-01 2012-11-07 诺基亚公司 提供用于有效扫描和会话建立的架构的方法和装置
US8346255B2 (en) 2010-02-11 2013-01-01 Apple Inc. Method and apparatus for using a wireless communication device with multiple service providers
ES2704461T3 (es) * 2010-09-13 2019-03-18 Nokia Technologies Oy Método y aparato para asociación y provisión de dirección conjuntas
US8923257B2 (en) * 2010-09-29 2014-12-30 Blackberry Limited Methods and apparatus to discover network capabilities available via wireless networks
US8831660B2 (en) * 2011-01-09 2014-09-09 Boingo Wireless, Inc. System, method and apparatus for dynamic wireless network discovery
WO2012112607A1 (en) 2011-02-14 2012-08-23 Devicescape Software, Inc. Systems and methods for network curation
JP5608693B2 (ja) 2011-02-17 2014-10-15 パナソニック株式会社 ネットワーク接続装置および方法
US20130174124A1 (en) * 2011-12-29 2013-07-04 Christina Watters Version numbering in single development and test environment
US8681759B2 (en) 2011-04-15 2014-03-25 Blackberry Limited Methods and apparatus for use in efficiently scanning for wireless networks based on application type
US8666399B2 (en) 2011-04-15 2014-03-04 Blackberry Limited Methods and apparatus for use in efficiently scanning for wireless networks based on mobile device velocity
CN102457514B (zh) * 2011-05-31 2014-08-27 高儒振 面向移动终端的无线网络的短信身份认证方法
GB2491617B (en) * 2011-06-08 2014-04-09 Broadcom Corp System information cache
JP5843143B2 (ja) * 2011-09-26 2016-01-13 ブラザー工業株式会社 端末装置及びプログラム
JP2015518297A (ja) * 2012-03-05 2015-06-25 インターデイジタル パテント ホールディングス インコーポレイテッド 通信ネットワークにおける事前関連付け検出のためのデバイスおよび方法
US20130326010A1 (en) * 2012-03-21 2013-12-05 Novatium Solutions Pvt Ltd System and method for monitoring network connections
KR101561113B1 (ko) * 2012-06-07 2015-10-16 주식회사 케이티 설정 정보 기반 능동적 스캐닝 및 연결 방법
US10135677B1 (en) 2012-07-06 2018-11-20 Cradlepoint, Inc. Deployment of network-related features over cloud network
US10177957B1 (en) 2012-07-06 2019-01-08 Cradlepoint, Inc. Connecting a cloud network to the internet
US10560343B1 (en) 2012-07-06 2020-02-11 Cradlepoint, Inc. People centric management of cloud networks via GUI
US10601653B2 (en) * 2012-07-06 2020-03-24 Cradlepoint, Inc. Implicit traffic engineering
US10110417B1 (en) 2012-07-06 2018-10-23 Cradlepoint, Inc. Private networks overlaid on cloud infrastructure
US9167551B2 (en) * 2012-07-31 2015-10-20 Qualcomm Incorporated Mobile access point detection
US9084122B2 (en) 2012-07-31 2015-07-14 Qualcomm Incorporated Processing of access point crowdsourcing data
KR102023402B1 (ko) * 2013-02-28 2019-09-23 삼성전자주식회사 통신 시스템에서 인터넷 연결 상태 모니터링 방법 및 장치
JP6157222B2 (ja) * 2013-05-30 2017-07-05 キヤノン株式会社 通信装置、制御方法、及びプログラム
US20150049630A1 (en) * 2013-08-13 2015-02-19 International Business Machines Corporation Smart wireless access point analyzer
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9716622B2 (en) * 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
US9473576B2 (en) 2014-04-07 2016-10-18 Palo Alto Research Center Incorporated Service discovery using collection synchronization with exact names
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
CN103957580B (zh) * 2014-05-14 2017-10-17 俞芳 一种用于智能硬件的wifi快速组网配对方法及模块
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
JP5844440B1 (ja) * 2014-08-08 2016-01-20 ソフトバンク株式会社 通信端末装置及び通信システム
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
CN104967994B (zh) * 2014-10-31 2019-04-12 腾讯科技(上海)有限公司 将设备接入局域网的方法和装置
US9913090B2 (en) * 2014-10-31 2018-03-06 Ap1 Inc. Beacon addressing
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
CN105991379A (zh) * 2015-03-04 2016-10-05 美的集团股份有限公司 电器设备的入网方法和***
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
CN104812093B (zh) * 2015-03-25 2021-04-02 青岛海尔智能家电科技有限公司 用于智能家居的wifi设备接入网络的方法及装置
CN106465240B (zh) * 2015-04-07 2020-04-28 华为技术有限公司 一种接入处理方法及装置
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US11696216B2 (en) * 2016-02-18 2023-07-04 Comcast Cable Communications, Llc SSID broadcast management to support priority of broadcast
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10038633B2 (en) 2016-03-04 2018-07-31 Cisco Technology, Inc. Protocol to query for historical network information in a content centric network
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10003507B2 (en) 2016-03-04 2018-06-19 Cisco Technology, Inc. Transport session state protocol
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
CN105790801B (zh) * 2016-03-11 2019-08-09 青岛海信电器股份有限公司 一种电子设备与蓝牙设备的配对测试方法及测试装置
US9832116B2 (en) 2016-03-14 2017-11-28 Cisco Technology, Inc. Adjusting entries in a forwarding information base in a content centric network
US10212196B2 (en) 2016-03-16 2019-02-19 Cisco Technology, Inc. Interface discovery and authentication in a name-based network
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US11436656B2 (en) 2016-03-18 2022-09-06 Palo Alto Research Center Incorporated System and method for a real-time egocentric collaborative filter on large datasets
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10033639B2 (en) 2016-03-25 2018-07-24 Cisco Technology, Inc. System and method for routing packets in a content centric network using anonymous datagrams
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10027578B2 (en) 2016-04-11 2018-07-17 Cisco Technology, Inc. Method and system for routable prefix queries in a content centric network
US10404450B2 (en) 2016-05-02 2019-09-03 Cisco Technology, Inc. Schematized access control in a content centric network
US10320675B2 (en) 2016-05-04 2019-06-11 Cisco Technology, Inc. System and method for routing packets in a stateless content centric network
US10547589B2 (en) 2016-05-09 2020-01-28 Cisco Technology, Inc. System for implementing a small computer systems interface protocol over a content centric network
US10009951B2 (en) * 2016-05-10 2018-06-26 Kodacloud Inc. Executing a corrective action based on behavior detected during a connection stage
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10084764B2 (en) 2016-05-13 2018-09-25 Cisco Technology, Inc. System for a secure encryption proxy in a content centric network
CN105828294B (zh) * 2016-05-19 2019-03-12 北京小米移动软件有限公司 检测方法及装置
US10103989B2 (en) 2016-06-13 2018-10-16 Cisco Technology, Inc. Content object return messages in a content centric network
US10305865B2 (en) 2016-06-21 2019-05-28 Cisco Technology, Inc. Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en) 2016-06-27 2018-12-04 Cisco Technology, Inc. Method and system for interest groups in a content centric network
US10009266B2 (en) 2016-07-05 2018-06-26 Cisco Technology, Inc. Method and system for reference counted pending interest tables in a content centric network
US9992097B2 (en) 2016-07-11 2018-06-05 Cisco Technology, Inc. System and method for piggybacking routing information in interests in a content centric network
US10122624B2 (en) 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en) 2016-08-08 2018-09-04 Cisco Technology, Inc. System and method for throttling traffic based on a forwarding information base in a content centric network
US10956412B2 (en) 2016-08-09 2021-03-23 Cisco Technology, Inc. Method and system for conjunctive normal form attribute matching in a content centric network
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
US10845410B2 (en) 2017-08-28 2020-11-24 Teradyne, Inc. Automated test system having orthogonal robots
US11226390B2 (en) 2017-08-28 2022-01-18 Teradyne, Inc. Calibration process for an automated test system
US11469941B2 (en) * 2017-10-13 2022-10-11 BLX.io LLC Configuration for IoT device setup
CN107889193B (zh) * 2017-11-27 2020-05-05 Oppo广东移动通信有限公司 网络连接方法、移动终端及计算机可读存储介质
CN109104291B (zh) * 2018-06-07 2021-07-30 内蒙古工业大学 断网控制方法、断网控制装置以及网络控制***
US10775408B2 (en) 2018-08-20 2020-09-15 Teradyne, Inc. System for testing devices inside of carriers
US11206550B2 (en) * 2018-12-13 2021-12-21 Hewlett Packard Enterprise Development Lp Assisted network roaming with predictive network tool
US11997635B2 (en) * 2019-04-29 2024-05-28 Sonicwall Inc. Establishing simultaneous mesh node connections
US12022295B2 (en) 2019-04-29 2024-06-25 Sonicwall Inc. Streamlined creation and expansion of a wireless mesh network
US10972916B2 (en) 2019-04-29 2021-04-06 Sonicwall Inc. Instant secure wireless network setup
US20210334925A1 (en) * 2020-04-23 2021-10-28 Sennco Solutions, Inc. Network detection-based monitoring of electronic merchandise
CN113543188B (zh) * 2021-07-22 2023-10-27 中移(杭州)信息技术有限公司 无线网络信号质量检测方法、终端设备及存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5919247A (en) * 1996-07-24 1999-07-06 Marimba, Inc. Method for the distribution of code and data updates
JP2000115153A (ja) * 1998-09-30 2000-04-21 Fujitsu Ltd セキュリティ方法及びセキュリティ装置
US6119160A (en) * 1998-10-13 2000-09-12 Cisco Technology, Inc. Multiple-level internet protocol accounting
US6587680B1 (en) * 1999-11-23 2003-07-01 Nokia Corporation Transfer of security association during a mobile terminal handover
US7120129B2 (en) * 2001-03-13 2006-10-10 Microsoft Corporation System and method for achieving zero-configuration wireless computing and computing device incorporating same
US6967944B2 (en) * 2001-03-30 2005-11-22 Koninklijke Philips Electronics N.V. Increasing link capacity via concurrent transmissions in centralized wireless LANs
US7020687B2 (en) * 2001-05-18 2006-03-28 Nortel Networks Limited Providing access to a plurality of e-mail and voice message accounts from a single web-based interface
US20030031150A1 (en) * 2001-08-10 2003-02-13 Satoru Yukie Dual network modem
US7769838B2 (en) * 2001-08-23 2010-08-03 The Directv Group, Inc. Single-modem multi-user virtual private network
JP4040403B2 (ja) * 2001-11-27 2008-01-30 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
US7110783B2 (en) * 2002-04-17 2006-09-19 Microsoft Corporation Power efficient channel scheduling in a wireless network
JP4397168B2 (ja) * 2002-08-21 2010-01-13 レノボ シンガポール プライヴェート リミテッド コンピュータ装置、無線ネットワークの接続方法
JP4176587B2 (ja) * 2003-08-12 2008-11-05 株式会社東芝 情報処理装置およびプログラム
JP3790239B2 (ja) * 2003-09-19 2006-06-28 株式会社エヌ・ティ・ティ・ドコモ 無線lan端末機及び接続確立方法
EP1526457B1 (en) * 2003-10-22 2013-03-13 Sony Deutschland GmbH Context-aware automatic service discovery and execution engine in mobile ad-hoc networks
JP2005176021A (ja) * 2003-12-12 2005-06-30 Toshiba Corp 情報処理装置およびプログラム
US7292870B2 (en) * 2003-12-24 2007-11-06 Zipit Wireless, Inc. Instant messaging terminal adapted for Wi-Fi access points
US20050198319A1 (en) * 2004-01-15 2005-09-08 Yahoo! Inc. Techniques for parental control of internet access including a guest mode
US7636336B2 (en) * 2004-03-03 2009-12-22 The Trustees Of Columbia University In The City Of New York Methods and systems for reducing MAC layer handoff latency in wireless networks
US20050243758A1 (en) * 2004-05-03 2005-11-03 Torarp Carl-Johan Y Systems and methods for managing and controlling broadband wireless network
US8285855B2 (en) * 2004-08-02 2012-10-09 Microsoft Corporation System, method and user interface for network status reporting
US20060068799A1 (en) * 2004-09-27 2006-03-30 T-Mobile, Usa, Inc. Open-host wireless access system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011132873A2 (ko) * 2010-04-18 2011-10-27 엘지전자 주식회사 무선랜 시스템의 인에이블먼트 방법 및 그를 이용한 무선랜 통신 장치
WO2011132873A3 (ko) * 2010-04-18 2012-02-09 엘지전자 주식회사 무선랜 시스템의 인에이블먼트 방법 및 그를 이용한 무선랜 통신 장치
KR101257784B1 (ko) * 2011-09-23 2013-04-24 주식회사 인트로메딕 캡슐 내시경 시스템의 실시간 데이터 전송 방법 및 장치
KR20170124376A (ko) * 2016-05-02 2017-11-10 주식회사 케이티 비콘 서비스 제공 장치 및 방법과 비콘 서비스 관리 서버

Also Published As

Publication number Publication date
JP5101603B2 (ja) 2012-12-19
EP2030429A2 (en) 2009-03-04
WO2008054875A2 (en) 2008-05-08
EP2030429A4 (en) 2010-08-04
CN101480032B (zh) 2013-08-07
CA2652210A1 (en) 2008-05-08
US9319967B2 (en) 2016-04-19
US20070275701A1 (en) 2007-11-29
JP2009538059A (ja) 2009-10-29
EP2030429B1 (en) 2018-08-01
WO2008054875A3 (en) 2008-06-26
CN101480032A (zh) 2009-07-08

Similar Documents

Publication Publication Date Title
KR20090023382A (ko) 네트워크 액세스 포인트의 검지와 이용
CN101341710B (zh) 对于集成wlan热点客户端的支持
US8245284B2 (en) Extensible network discovery
EP2874068B1 (en) Method of providing internet of things service
US9301137B2 (en) Method and apparatus for monitoring wireless network access
US11349939B2 (en) Intelligent programmable policies for network functions
JP6161076B2 (ja) 無線ネットワーク接続のための拡張可能なフレームワーク
US20130332524A1 (en) Data service on a mobile device
US20080289012A1 (en) System and method for creating, executing, and mapping service
US20140359738A1 (en) Communication apparatus, method of controlling, and storage medium
WO2020062582A1 (zh) 信息引流、请求发送、通信加速方法、引流及节点服务器
CN104506510A (zh) 用于设备认证的方法、装置及认证服务***
CN104994504A (zh) 与无线网络的安全和自动连接
CN109688280A (zh) 请求处理方法、请求处理设备、浏览器及存储介质
CN104394133A (zh) 登录方法和登录***
US20220360494A1 (en) Assisted and context-driven network changes
US11683240B2 (en) Intelligent and assisted intent builder
CN115086956A (zh) 通信网络的入网方法、入网装置、介质和电子设备
CN113396571A (zh) 用于在异构iot生态***中配对iot设备和iot服务的方法和装置
KR102437068B1 (ko) IoT 기기 서비스 개발을 지원하는 IoT 공통 서비스 제공 방법 및 그 장치
US20230336983A1 (en) Establishing a backup connectivity between a sensor and a management system
WO2023141985A1 (zh) 通信方法和装置
CN103581340A (zh) 一种将域名接入到代理网关的方法及装置
CN117834270A (zh) 一种登录管理方法、***、装置及存储介质
KR20190127042A (ko) 고객 단말 구간 진단 시스템 및 그 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application