KR101918177B1 - 위치-기반 소프트웨어 업데이트들 - Google Patents

위치-기반 소프트웨어 업데이트들 Download PDF

Info

Publication number
KR101918177B1
KR101918177B1 KR1020167015572A KR20167015572A KR101918177B1 KR 101918177 B1 KR101918177 B1 KR 101918177B1 KR 1020167015572 A KR1020167015572 A KR 1020167015572A KR 20167015572 A KR20167015572 A KR 20167015572A KR 101918177 B1 KR101918177 B1 KR 101918177B1
Authority
KR
South Korea
Prior art keywords
wireless access
access points
access point
mobile device
software updates
Prior art date
Application number
KR1020167015572A
Other languages
English (en)
Other versions
KR20160085865A (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 KR20160085865A publication Critical patent/KR20160085865A/ko
Application granted granted Critical
Publication of KR101918177B1 publication Critical patent/KR101918177B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/20Selecting an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • H04M1/72525
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)

Abstract

원치않는 소프트웨어 업데이트들의 개시를 방지하기 위해 모바일 디바이스 소프트웨어를 업데이트하는 적절한 위치들을 결정하기 위한 기술들이 제공된다. 예시적인 방법은 모바일 디바이스의 무선 접속 범위 내에서 하나 이상의 무선 액세스 포인트들을 식별하는 단계, 하나 이상의 식별된 무선 액세스 포인트들 중 무선 액세스 포인트가 바람직한 무선 액세스 포인트들의 리스트에 포함되는지 여부를 결정하는 단계 ―리스트는 바람직한 무선 액세스 포인트들을 통해 수행된 이전 소프트웨어 업데이트들 및 이전 소프트웨어 업데이트들 동안 네트워크 접속의 지속기간들을 고려하여 생성됨―, 무선 액세스 포인트가 바람직한 무선 액세스 포인트들의 리스트에 포함되는 경우 무선 액세스 포인트를 이용한 하나 이상의 소프트웨어 업데이트들을 스케줄링하는 단계 및 무선 액세스 포인트로의 접속 시 스케줄링된 소프트웨어 업데이트들을 수행하는 단계를 포함한다.

Description

위치-기반 소프트웨어 업데이트들{LOCATION-BASED SOFTWARE UPDATES}
[0001]본 개시물은 전반적으로 모바일 소프트웨어 애플리케이션들에 관한 것이며, 특히 이러한 애플리케이션들을 업데이트하는 것에 관한 것이다.
[0002]모바일 디바이이스들을 동작시키는데 요구되는 모바일 디바이스들 및 소프트웨어의 복잡성이 증가하고 있다. 추가적으로, 이러한 디바이스들을 위한 소프트웨어 업데이트들은 대용량인 경향이 있고, 지불식 및 계층식 모바일 데이터 서비스 요금제가 이루어지는 경우, 한달 동안 디바이스에 허용되는 대역폭의 상당 부분을 소모해 버릴 수 있다. 업데이트들의 일부 제공자들은, 모바일 디바이스가 데이터 서비스 요금제와 결부되는 해당 모바일 접속을 통해 업데이트하는 대신 근거리 네트워크(예를 들어, 광대역 WiFi 네트워크)에 접속될 경우에 업데이트될 것을 추천한다. 일부 모바일 디바이스들은, 다운로드하거나 그리고/또는 소프트웨어 업데이트를 수행하려고 시도하기 전에 사용자에게 경고한다. 그러나, 이러한 경고들은, 사용자가 간과할 수 있거나 또는 사용자에 의해 무시될 수 있어, 잠재적으로 사용자가 비용을 지불하게 된다. 또한, 큰 업데이트들은, 특히 더 느린 모바일 데이터 서비스 접속들을 통해 수행될 경우에는, 완료하는데 장시간 소요될 수 있고, 웹 브라우징과 같이, 사용자에 의해 개시된 다른 네트워크 활동들을 방해할 수 있다.
[0003]개시된 요지는, 원치않는 소프트웨어 업데이트들의 개시를 방지하기 위해 모바일 디바이스 소프트웨어를 업데이트하는 적절한 위치들을 결정하는 것과 관련된다.
[0004]예시적인 방법은 모바일 디바이스의 무선 접속 범위 내에서 하나 이상의 무선 액세스 포인트들을 식별하는 단계, 하나 이상의 식별된 무선 액세스 포인트들 중 무선 액세스 포인트가 바람직한 무선 액세스 포인트들의 리스트에 포함되는지 여부를 결정하는 단계 ―리스트는 바람직한 무선 액세스 포인트들을 통해 수행된 이전 소프트웨어 업데이트들 및 이전 소프트웨어 업데이트들 동안 네트워크 접속의 지속기간을 고려하여 생성됨―, 무선 액세스 포인트가 바람직한 무선 액세스 포인트들의 리스트에 포함되는 경우 무선 액세스 포인트를 이용한 하나 이상의 소프트웨어 업데이트들을 스케줄링하는 단계 및 무선 액세스 포인트로의 접속 시 스케줄링된 소프트웨어 업데이트들을 수행하는 단계를 포함한다.
[0005]다른 예시적인 방법은 하나 이상의 무선 액세스 포인트들에 대한 접속 활동의 패턴을 결정하는 단계 ―결정된 패턴은 접속 정보에 기초함―, 결정된 패턴의 개별적인 무선 액세스 포인트들에 점수들을 부여하는 단계 ―점수들은 접속 정보에 기초함―, 부여된 점수들을 임계치 점수와 비교하는 단계 및 무선 액세스 포인트의 부여된 점수가 임계치 점수를 초과하는 경우 무선 액세스 포인트를 바람직한 무선 액세스 포인트들인 것으로 결정하는 단계를 더 포함한다.
[0006]본 기술의 다른 구성들은 다음 상세한 설명으로부터 당업자에게 쉽게 자명해질 것이라는 것을 이해하며, 본 기술의 다양한 구성들은 예시의 방식으로 나타내어지고 설명된다. 인식되는 바와 같이, 본 기술은 다른 구성 및 상이한 구성이 가능하고 그의 몇몇 상세들은 다양한 다른 관점들에서 변경이 가능하고, 모두가 본 기술의 범위로부터 벗어나지 않는다. 따라서, 도면들 및 상세한 설명은 본질적으로 예시적인 것이며 제한적인 것으로 간주되지 않는다.
[0007]본 기술의 신규한 특징들이 첨부된 청구범위에 기재되어 있다. 그러나, 설명을 위해서, 본 기술의 여러 구성들이 다음의 도면들에서 설명된다.
[0008]도 1은 본 기술의 구현을 실시하기에 적합한 예시적인 네트워크 환경의 다이어그램이다.
[0009]도 2는 본 개시물의 양상에 따른, 도 1의 환경으로부터의 예시적인 디바이스를 도시하는 블록도이다.
[0010]도 3은 본 개시물의 일 양상에 따른, 모바일 디바이스의 이동 경로 및 관련 업데이트 활동을 도시하는 예시적인 다이어그램이다.
[0011]도 4a 및 도 4b는 도 2의 예시적인 디바이스를 이용한 본 기술의 구현들을 실시하기 위한 예시적인 프로세스들을 도시한다.
[0012]도 5는, 일부 구성들이 구현되는 예시적인 전자 시스템을 개념적으로 도시한다.
[0013]이하에 기술된 발명의 상세한 설명은 본 기술의 다양한 구성을 기재하도록 의도이며, 본 기술이 실시될 수 있는 구성들만 나타내려는 의도가 아니다. 첨부된 도면들은 본 명세서에 통합되고 상세한 설명의 일부를 구성한다. 상세한 설명은 본 기술의 완전한 이해를 제공할 목적으로 특정 세부 사항들을 포함한다. 그러나, 본 기술은 여기에 기재된 특정 상세들에 한정되지 않으며 이러한 특정 상세들 없이도 실시될 수 있다. 일부 예들에서, 잘 알려진 구조들 및 컴포넌트들은 본 기술의 개념들을 모호하게 하는 것을 방지하기 위해 블록도 형태로 도시된다.
[0014]본 기술의 양상들은, 모바일 디바이스에 설치될 경우, 모바일 디바이스를 업데이트할 적절한 위치들을 결정하여 원치 않는 소프트웨어 업데이트들의 개시를 방지하는 소프트웨어를 제공한다. 모바일 디바이스는, 모바일 디바이스가 무선 액세스 포인트에 접속될 때마다 근거리 네트워크의 무선(예를 들어, WiFi) 액세스 포인트와 연관되는 위치 정보를 기록하도록 구성될 수 있다. 위치 정보는, 모바일 디바이스가 무선 액세스 포인트에 접속될 때 모바일 디바이스 통합 GPS 유닛으로부터 수신된 모바일 디바이스의 지리적-좌표 위치(geo-coordinate location)를 포함할 수 있고, 따라서, 무선 액세스 포인트의 지리적-좌표 위치 및 그의 네트워크를 나타낼 수 있다. 위치 정보 이외에도, 모바일 디바이스는 무선 액세스 포인트와 연관되는 서비스 세트 식별자(SSID) 또는 인터넷 프로토콜(IP) 어드레스 등을 기록하도록 구성될 수 있다. 모바일 디바이스는 또한, 소프트웨어 업데이트들 및 (예를 들면, 50Mbps를 초과하는) 대용량 다운로드들이 무선 액세스 포인트를 이용하여 수행되는 시기, 및 모바일 디바이스가 무선 액세스 포인트에 접속되는 기간에 관한 정보를 포함할 수 있는 소프트웨어 업데이트 정보를 기록할 수 있다. 본 기술의 양상들은, 모바일 디바이스 내부에 통합된 GPS 유닛으로부터 수신된 지리적-좌표를 결정하는 것을 포함하는(그러나 이것으로 제한되지 않음) 피처들에 참여하지 않는(opt-out) 옵션을 사용자에게 제공할 수 있다.
[0015]본 기술의 양상들에서, 모바일 디바이스는, 무선 액세스 포인트의 식별, 액세스 포인트로의 접속이 발생하는 날짜 또는 시각, 액세스 포인트로 접속되는데 소요되는 시간, 동일한 액세스 포인트로의 접속들이 주기적으로 이루어지는지 여부 등을 포함하는 다양한 인자들에 기초하여 접속 활동의 패턴을 결정한다. 각각의 무선 액세스 포인트는 이러한 인자들에 기초하여 카테고리화되거나 또는 점수가 매겨질 수 있고, 이후, 최고 점수들을 갖는 액세스 포인트들이 바람직한 액세스 포인트들로 지정된다. 비제한적인 예로서, 결정된 패턴은 메모리 내에 데이터 구조로서 저장될 수 있다. 데이터 구조는, 모바일 디바이스로부터의 접속들이 발생하는 하나 이상의 액세스 포인트들, 각각의 액세스 포인트와 연관되는 점수들 및 액세스 포인트가 바람직한 액세스 포인트인지 여부의 식별을 식별하는 액세스 포인트 식별자들을 포함할 수 있다. 액세스 포인트 식별자는, 예를 들어, 액세스 포인트로의 접속이 발생하는 날짜 또는 시각, 액세스 포인트로 접속되는데 소요되는 시간, 동일한 액세스 포인트로의 접속들이 주기적으로 이루어지는지 여부 등을 나타내는 값들을 저장하는 메모리 내의 동일한 또는 다른 데이터 구조를 포인팅(또는 어드레싱)할 수 있다. 이러한 방식으로, 이후, 모바일 디바이스는 활동의 패턴에 기초하여 하나 이상의 바람직한 액세스 포인트들을 자동으로 결정한다. 각각의 무선(예를 들어, WiFi) 액세스 포인트는, 예를 들어, 연관된 식별(예를 들면, SSID)에 첨부되는 그의 좌표 위치들(예를 들어, GPS 좌표들)에 의해 추가로 고유하게 식별될 수 있다.
[0016]모바일 디바이스가 무선 액세스 포인트에 접속될 경우, 모바일 디바이스는, 현재 접속된 액세스 포인트가 바람직한 액세스 포인트인지 여부를 결정한다. 현재 접속된 무선 액세스 포인트가 바람직한 액세스 포인트이면, 모바일 디바이스는 현재 접속된 무선 액세스 포인트를 이용한 소프트웨어 업데이트들을 허용한다. 현재 접속된 무선 액세스 포인트가 바람직한 액세스 포인트가 아니면, 모바일 디바이스는 현재 접속된 무선 액세스 포인트를 이용한 소프트웨어 업데이트들을 자동으로 금지한다.
[0017]일부 구현들에서, 상술된 위치 정보를 포함하는 활동의 패턴은, 바람직한 무선 액세스 포인트가 인근에 있다는 것을 결정하거나, 또는 모바일 디바이스가 미리결정된 시간 기간 이내에 바람직한 무선 액세스 포인트 부근으로 진입할 것이라는 것을 예측하는 데에 사용될 수 있다. 미리결정된 시간 기간은 몇 초, 몇 분 또는 임의의 다른 시간 기간일 수 있다. 따라서, 업데이트가 모바일 디바이스에 대해 이용가능하다면, 모바일 디바이스는, 그 디바이스가 바람직한 무선 액세스 포인트로의 접속 시 업데이트를 수행할 것이라는 표시를 디스플레이할 수 있다.
[0018]이러한 방식으로, 본 기술의 양상들은 모바일 디바이스 소프트웨어를 업데이트하기 위해서 WiFi 액세스를 갖는 적절한 위치들(예를 들어, 바람직한 액세스 포인트들)을 결정하기 때문에, 데이터 요금제와 결부된 모바일 접속을 통해 수행될 수 있는 원치 않는 업데이트들이 방지된다. 이는, 사용자 모바일 데이터 요금제 대역폭을 절약하고 또한 사용자에 대해 경제적일 수 있다. 또한, 대용량의 소프트웨어 업데이트들은 통상적으로 WiFi 접속을 통해 수행될 경우 더 적은 시간이 걸리고 웹 브라우징과 같은 사용자에 의해 개시된 다른 네트워크 활동들을 덜 방해할 수 있다.
[0019]도 1은, 네트워크에 대한 접속을 제공할 수 있는 예시적인 환경을 도시한다. 통신 환경(100)은, 무선 통신 채널들(104a, 104b 및 104c(이하 "104a-c"))을 통해 액세스 포인트들(106a, 106b 및 106c(이하 "106a-c"))과 통신할 수 있는 컴퓨팅 디바이스들(102a, 102b 및 102c(이하 "102a-c"))을 포함할 수 있다. 채널들(104a-c)은 양방향 통신 링크들을 포함할 수 있다. 채널들(104a-c)은 WiFi 통신 링크들을 포함할 수 있다.
[0020]컴퓨팅 디바이스들(102a-c) 각각은 프로세싱 디바이스들의 다양한 형태들을 나타낼 수 있다. 예시적인 프로세싱 디바이스들은, 모바일 디바이스, 셀폰, 태블릿 컴퓨터, 스마트 워치, 데스크탑 컴퓨터, 랩탑 컴퓨터, 휴대용 컴퓨터, 개인 휴대 정보 단말기(PDA), 셀룰러 전화, 네트워크 기기, 카메라, 스마트 폰, 텔레비전, EGPRS(enhanced general packet radio service) 모바일 폰, 미디어 플레이어, 내비게이션 디바이스, 이메일 디바이스, 게임 콘솔, 또는 임의의 이러한 데이터 디바이스들의 조합 또는 정보를 무선으로 수신하고 그리고/또는 송신할 수 있는 다른 디바이스들을 포함할 수 있다. 예시적인 양상들에서, 컴퓨팅 디바이스들(102a-c)은 또한 액세스 포인트들을 포함할 수 있다.
[0021]본 기술의 일부 양상들에서, 컴퓨팅 디바이스들(102a-c) 및 액세스 포인트들(106a-c)은 하나 이상의 통신 표준들, 이를 테면, IEEE 802.11(a),(b) 또는 (g) 표준들 (또는 WiFi 표준들), DVB-T(Digital Video Broadcasting Terrestrial) 브로드캐스팅 표준 및/또는 고성능 라디오 근거리 네트워크(HiperLAN) 표준 중 하나에 따라 통신할 수 있다. 본 기술의 다른 양상들에서, 컴퓨팅 디바이스들(102a-c)은, 할당된 스펙트럼 내에서 정보를 송신하기 위해 직교 부반송파들을 사용하는 OFDM(orthogonal frequency division multiplexing) 기술과 같은 다중-반송파 송신 기술을 이용하여 액세스 포인트들(106a-c) 중 하나 이상의 것과 통신할 수 있다. 다른 무선 근거리 네트워크(LAN) 및 무선 광역 네트워크(WAN) 통신 기술들은 또한 디바이스들(102a-c)과 액세스 포인트들(106a-c) 간의 통신에 적합할 수 있다. 본 개시물의 예들은, 다른 것들 중에서도 지역 디스커버리, 레이더 검출, 및 채널-폭 선택(예를 들어, 일부 IEEE 802.11 표준들의 개정들에 따라)을 수행할 수 있는 액세스 포인트들에 대해 적용가능하다.
[0022]서버(108)는 프로세서, 메모리, 및 통신 능력을 갖는 임의의 디바이스들일 수 있다. 서버들(108)은, 본 개시물의 양상들에 따라, 디바이스들(102a-c)로 소프트웨어 업데이트들을 제공하도록 구성될 수 있다. 예를 들어, 디바이스(102a)가 바람직한 무선 액세스 포인트(예를 들어, 액세스 포인트(106c))에 접속될 경우, 서버들(108)이 소프트웨어 업데이트들을 디바이스(102a)로 제공할 수 있다.
[0023]컴퓨팅 디바이스들(102a-c) 간의 통신들을 용이하게 하는 것 이외에도, 본 기술의 일부 양상들에서, 액세스 포인트들(106a-c)은 인트라넷 또는 인터넷과 같은 네트워크(105)와 결합될 수 있어, 컴퓨팅 디바이스들(102a-c)로 하여금 이러한 네트워크들에 액세스할 수 있게 한다. 네트워크(105)는, 예를 들어, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등 중 임의의 하나 이상을 포함할 수 있다. 또한, 네트워크(150)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메시 네트워크, 스타-버스 네트워크, 트리 또는 계층적 네트워크 등을 비록하여 다음의 네트워크 토폴로지들 중 하나 이상의 것을 포함할 수 있지만 이것으로 제한되지 않는다. 도 1이 포인트-투-포인트 통신들(예를 들어, 액세스 포인트가 네트워크와 동기화되는 경우임)을 도시하지만, 본 기술의 양상들은 또한 포인트-투-멀티포인트 통신들(예를 들어, 통신 유닛들이, 네트워크와의 동기화에 대해 책임을 공유할 수 있는 피어-투-피어 통신들)에도 적절할 수 있다.
[0024]상술된 바와 같이, 본 기술의 양상들은, 모바일 디바이스에 설치될 경우, 모바일 디바이스를 업데이트할 적절한 위치들을 결정하여 원치 않는 소프트웨어 업데이트들의 개시를 방지하는 소프트웨어를 제공한다. 도 1을 참고하면, 디바이스들(102a-c)은, 이들이 무선 액세스 포인트들(106a-c) 중 임의의 것에 접속될 때마다 위치 정보를 기록하도록 구성될 수 있다. 위치 정보는, 모바일 디바이스가 무선 액세스 포인트에 접속될 때 모바일 디바이스 통합 GPS 유닛으로부터 수신된 모바일 디바이스의 지리적-좌표 위치를 포함할 수 있고, 따라서, 무선 액세스 포인트의 지리적-좌표 위치 및 그의 네트워크를 나타낼 수 있다. 위치 정보 이외에도, 모바일 디바이스는 무선 액세스 포인트와 연관되는 서비스 세트 식별자(SSID) 또는 인터넷 프로토콜(IP) 어드레스 등을 기록하도록 구성될 수 있다. 모바일 디바이스는 또한, 소프트웨어 업데이트들 및 들(예를 들면, 50Mbps를 초과하는) 대용량 다운로드들이 무선 액세스 포인트(예를 들어, 액세스 포인트(106a))를 이용하여 개시되는 시기, 및 모바일 디바이스가 무선 액세스 포인트에 접속되는 기간에 관한 정보를 포함하는 소프트웨어 업데이트 정보를 기록할 수 있다.
[0025]본원에 논의된 본 기술의 양상들은 도 1에 도시된 디바이스들(102a-b), 액세스 포인트들(106a-c) 및 채널들(104a-c)로 제한되지 않으며 임의의 수의 디바이스들, 액세스 포인트들 및 채널과 함께 동작할 수 있다는 것을 인식한다. 다음은 WiFi 액세스 포인트들에 대하여 논의되지만, 본원에 논의된 본 기술의 양상들은 WiFi 액세스 포인트들로 한정되지 않고 무선 및 광대역 액세스 포인트들의 임의의 다른 형태로 동작할 수 있음을 인식하게 될 것이다.
[0026]도 2는 본 기술의 양상들에 따른, 디바이스(102a)의 다이어그램을 보다 구체적으로 도시한다. 도 2를 참고하면, 디바이스(102a)는 프로세서(210), 메모리(212), 통신 모듈(222) 및 GPS 유닛(228)을 포함한다. 본 기술의 양상들에서, 메모리(212)는 위치 및 업데이트 관리기(220)를 포함한다. 출력 디바이스(214)는 디바이스(102a)의 터치 스크린 그래픽 디스플레이 또는 넌-터치식 스크린 그래픽 디스플레이를 포함할 수 있다. 입력 디바이스(216)는 사용자 입력 디바이스, 이를 테면, 키보드, 터치스크린, 또는 마우스와 같은, 사용자 입력을 수신하기 위한 임의의 입력 디바이스일 수 있다. 다음은 디바이스(102a)에 대하여 설명되었지만, 본 기술의 제시되는 양상들은 디바이스(102b) 및 임의의 다른 모바일 및 컴퓨팅 디바이스와 함께 작동할 수 있다는 것을 인식한다.
[0027]본 기술의 양상들에서, 디바이스(102a)의 프로세서(210)는 명령들, 이를 테면 프로세서(210)로 물리적으로 코딩되는 명령들 및 메모리(212)로부터 판독된 소프트웨어 명령들(예를 들어, 위치 및 업데이트 관리기(220)로부터의 명령들)을 실행하도록 구성된다. 예를 들어, 디바이스(102a)의 프로세서(210)는, 위치 정보, 소프트웨어 업데이트 정보 및 하나 이상의 액세스 포인트들로 접속하기 위한 시간 기간에 기초하여 하나 이상의 바람직한 액세스 포인트들을 결정하기 위해서 위치 및 업데이트 관리기(220)로부터의 지시를 실행한다. 상술된 바와 같이, 위치 정보는, 모바일 디바이스가 무선 액세스 포인트에 접속될 때 모바일 디바이스 통합 GPS 유닛(예를 들어, GPS 유닛(228))으로부터 수신된 모바일 디바이스의 지리적-좌표 위치를 포함할 수 있고, 따라서, 무선 액세스 포인트의 지리적-좌표 위치 및 그의 네트워크를 나타낼 수 있다. 위치 정보 이외에도, 모바일 디바이스는 무선 액세스 포인트와 연관되는 서비스 세트 식별자(SSID) 또는 인터넷 프로토콜(IP) 어드레스 등을 기록하도록 구성될 수 있다. 모바일 디바이스는 또한, 소프트웨어 업데이트들 및 (예를 들면, 50Mbps를 초과하는) 대용량 다운로드들이 무선 액세스 포인트를 이용하여 수행되는 시기, 및 모바일 디바이스가 무선 액세스 포인트에 접속되는 기간에 관한 정보를 포함할 수 있는 소프트웨어 업데이트 정보를 기록할 수 있다.
[0028]본 기술의 양상들에서, 디바이스(102a)에 대한 위치 정보 및 소프트웨어 업데이트 정보는, 디바이스(102a)가 액세스 포인트들(106a-c) 중 임의의 것에 접속되는 경우 위치 및 업데이트 관리기(220)에 의해 수신될 수 있다. 일 양상에서, 위치 및 업데이트 관리기(220)는 수신된 위치 및 소프트웨어 업데이트 정보를 메모리(212)에 저장할 수 있다. 위치 및 업데이트 정보는, 하나 이상의 데이터 테이블들(그러나, 이것으로 제한되지 않음)을 포함한 임의의 데이터 구조로서 메모리(212) 내의 위치 및 업데이트 관리기(220)에 의해 저장될 수 있다. 일 양상에서, 위치 및 업데이트 관리기(220)는 메모리(212) 내 위치 정보 테이블에 위치 정보를 저장할 수 있다. 일 양상에서, 위치 및 업데이트 관리기(220)는 메모리(212) 내 소프트웨어 정보 테이블에 소프트웨어 업데이트 정보를 저장할 수 있다. 위치 정보 테이블 내의 위치 정보는 소프트웨어 정보 테이블 내의 개별적인 소프트웨어 업데이트 정보를 포인팅(또는 어드레싱)할 수 있다. 이 실시예는 예시이며 이 실시예들을 제한하도록 의도되지 않는다. 일 양상에서, 이러한 저장 위치 및 소프트웨어 업데이트 정보는 디바이스(102a)의 메모리(212)로부터 위치 및 업데이트 관리기(220)에 의해 판독될 수 있다. 다른 양상에서, 디바이스(102a)에 대한 이러한 위치 정보 및 소프트웨어 업데이트 정보는, 디바이스(102a)에 대해 사전에 저장되었을 수 있는 서버들(108)로부터 위치 및 업데이트 관리기(220)에 의해 수신될 수 있다.
[0029]액세스 포인트들(106a-c)은, 예를 들어, WiFi 액세스 포인트들일 수 있다. 본 기술의 양상들에서, 위치 및 업데이트 관리기(220)는, 디바이스(102a)가 네트워크와 연관된 액세스 포인트(예를 들어, 액세스 포인트(106a))에 접속될 때마다, 메모리(212)에 위치 및 소프트웨어 업데이트 정보를 기록하도록 구성된다. 위치 정보는, 모바일 디바이스가 무선 액세스 포인트에 접속될 때 모바일 디바이스 통합 GPS 유닛으로부터 수신된 모바일 디바이스의 지리적-좌표 위치를 포함할 수 있고, 따라서, 무선 액세스 포인트의 지리적-좌표 위치 및 그의 네트워크를 나타낼 수 있다. 위치 정보 이외에도, 모바일 디바이스는 무선 액세스 포인트와 연관되는 서비스 세트 식별자(SSID) 또는 인터넷 프로토콜(IP) 어드레스 등을 기록하도록 구성될 수 있다. 모바일 디바이스는 또한, 소프트웨어 업데이트들 및 (예를 들면, 50Mbps를 초과하는) 대용량 다운로드들이 무선 액세스 포인트를 이용하여 수행되는 시기, 및 모바일 디바이스가 무선 액세스 포인트에 접속되는 기간에 관한 정보를 포함할 수 있는 소프트웨어 업데이트 정보를 기록할 수 있다. 위치 및 업데이트 관리기(220)는, 위치 정보, 소프트웨어 업데이트 정보 및 하나 이상의 액세스 포인트들에 접속하는 시간 기간에 기초하여 하나 이상의 바람직한 액세스 포인트들을 결정할 수 있다.
[0030]본 기술의 일부 양상들에서, 위치 및 업데이트 관리기(220)는, 무선 액세스 포인트의 식별, 접속이 발생하는 날짜 또는 시각, 액세스 포인트로 접속되는데 소요되는 시간, 동일한 액세스 포인트로의 접속들이 주기적으로 이루어지는지 여부 등을 포함하는 다양한 인자들에 기초하여 접속 활동의 패턴을 결정할 수 있다. 본 기술의 일부 양상들에서, 위치 및 업데이트 관리기(220)는 다양한 인자들에 대한 변경들에 기초하여 결정된 패턴을 업데이트할 수 있다. 일부 양상들에서, 위치 및 업데이트 관리기(220)는, 모바일 디바이스가 상이한 시각에 무선 액세스 포인트로 재접속되는 경우 결정된 패턴을 업데이트할 수 있다. 위치 및 업데이트 관리기(220)는 그런다음, 활동의 패턴에 기초하여 하나 이상의 바람직한 액세스 포인트들을 자동으로 결정할 수 있다. 각각의 무선 액세스 포인트는 이러한 인자들에 기초하여 카테고리화되거나 또는 점수가 매겨질 수 있고, 이후, 최고 점수들을 갖는 액세스 포인트들이 바람직한 액세스 포인트들로 지정될 수 있다. 각각의 무선 액세스 포인트는, 예를 들어, 연관된 식별(예를 들면, SSID)에 첨부되는 액세스 포인트의 좌표 위치들(예를 들어, GPS 좌표들)에 의해 추가로 고유하게 식별될 수 있다.
[0031]본 기술의 양상들에서, 모바일 디바이스가 현재 접속된 무선 액세스 포인트와 통신하고 있는 제 1 표시는 위치 및 업데이트 관리기(220)에 의해 수신된다. 현재 접속된 무선 액세스 포인트가 바람직한 액세스 포인트인 경우, 제 1 표시를 수신하는 것에 대한 응답으로, 모바일 디바이스가 현재 접속된 무선 액세스 포인트를 이용한 소프트웨어 업데이트들에 대해 이용가능하다는 제 2 표시가 위치 및 업데이트 관리기(220)에 의해 바람직한 액세스 포인트를 통해 서버들(108)로 제공된다. 현재 접속된 무선 액세스 포인트가 바람직한 액세스 포인트가 아닌 경우, 현재 접속된 무선 액세스 포인트를 이용한 소프트웨어 업데이트들은 위치 및 업데이트 관리기(220)에 의해 자동으로 금지된다.
[0032]본 기술의 일부 양상들에서, 위치 및 업데이트 관리기(220)는 서버(108)에 위치될 수 있다. 디바이스들(102a-c)이 액세스 포인트들(106a-c) 중 하나 이상의 것에 접속될 경우, 위치 및 업데이트 관리기(220)가, 서버들(108)에 위치될 경우, 액세스 포인트들(106a-c)의 개별적인 식별들을 수신할 수 있다. 상술된 바와 같이, 위치 및 업데이트 관리기(220)는, 액세스 포인트의 식별, 접속이 발생하는 날짜 또는 시각, 액세스 포인트로 접속되는데 소요되는 시간, 동일한 액세스 포인트로의 접속들이 주기적으로 이루어지는지 여부 등을 포함하는 다양한 인자들에 기초하여 접속 활동의 패턴을 결정할 수 있다. 이후, 위치 및 업데이트 관리기(220)가, 서버(108)에 위치될 경우, 접속 활동의 미리결정된 패턴에 기초하여 디바이스들(102a)로 소프트웨어 업데이트들을 제공할 것을 서버(108)에 요청할 수 있다.
[0033]도 3은 본 개시물의 일 양상에 따른, 모바일 디바이스의 이동 경로 및 관련 업데이트 활동을 도시하는 예시적인 다이어그램이다.
[0034]상술된 바와 같이, 모바일 디바이스(디바이스(102a))는, 모바일 디바이스가 근거리 네트워크의 무선 액세스 포인트에 접속될 때마다 위치 정보를 기록하도록 (예를 들어, 위치 및 업데이트 관리기(220)를 이용하여 기록하도록) 구성된다. 위치 정보는, 디바이스(102a)의 메모리(212)의 데이터-구조 또는 데이터베이스에 임의의 형태로 기록될 수 있다. 위치 정보는, 모바일 디바이스가 무선 액세스 포인트에 접속될 때 모바일 디바이스 통합 GPS 유닛으로부터 수신된 모바일 디바이스의 지리적-좌표 위치(정확한 또는 대략적인 지리적-좌표 위치)를 포함할 수 있고, 따라서, 무선 액세스 포인트의 지리적-좌표 위치 및 그의 네트워크를 나타낼 수 있다. 모바일 디바이스가 액세스 포인트들(A, B 및 C)과의 접속들을 확립한 경우, 모바일 디바이스는 모바일 디바이스의 지리적 좌표들을 기록한다. 모바일 디바이스는 또한, 소프트웨어 업데이트들 및 (예를 들어, 50Mb를 초과하는) 대용량 다운로드들이 무선 액세스 포인트들(A, B 및 C)을 이용하여 개시되는 시기, 및 모바일 디바이스가 무선 액세스 포인트들(A, B 및 C) 각각에 접속되는 기간을 주목할 수 있다.
[0035]상술된 바와 같이, 모바일 디바이스는, 무선 액세스 포인트의 식별, 접속이 발생하는 날짜 또는 시각, 액세스 포인트로 접속되는데 소요되는 시간, 동일한 액세스 포인트로의 접속들이 주기적으로 이루어지는지 여부 등을 포함하는 다양한 인자들에 기초하여 접속 활동의 패턴을 결정한다. 이후, 모바일 디바이스는 활동 패턴에 기초하여 하나 이상의 바람직한 액세스 포인트들을 자동으로 결정한다. 각각의 무선 액세스 포인트는 이러한 인자들에 기초하여 카테고리화되거나 또는 점수가 매겨질 수 있고, 이후, 최고 점수들을 갖는 액세스 포인트들이 바람직한 액세스 포인트들로 지정된다. 점수들은, 디바이스(102a)의 메모리(212) 내의 리스트 또는 임의의 다른 데이터-구조로서 저장될 수 있는 값들(예를 들어, 수치적 값들)일 수 있다. 일부 양상들에서, 임계 값을 초과하는 점수들을 갖는 하나 이상의 무선 액세스 포인트들은 바람직한 액세스 포인트들로서 지정될 수 있다. 임계 값은 접속 활동의 미리결정된 패턴에 기초할 수 있다. 각각의 무선 액세스 포인트는, 예를 들어, 연관된 식별(예를 들면, SSID)에 첨부되는 그의 좌표 위치들(예를 들어, GPS 좌표들)에 의해 추가로 고유하게 식별될 수 있다. 바람직한 액세스 포인트를 나타내는 식별자들(예를 들어, 액세스 포인트 명칭들, SSID 등)은 메모리(212) 내에 및/또는 서버들(108)의 메모리 내에 리스트 또는 임의의 다른 데이터 구조로서 저장될 수 있다.
[0036]이를 염두에 두고 도 3을 참고하면, 모바일 디바이스(예를 들어, 디바이스(102a))는, 액세스 포인트들(A, B 및 C)을 포함하는 접속 패턴을 결정한다. 더욱이, 모바일 디바이스는, 액세스 포인트 B가 최장의 접속 시간 및 업데이트 활동에 대응하도록 결정되는 동안, 액세스 포인트들(A 및 C)이 짧은 접속 시간 및/또는 적은 접속 활동과 연관되는 것으로 결정한다. 예시적인 예로서, 짧은 접속 시간은 몇 밀리초 동안 지속될 수 있고 적은 접속 활동은 몇 바이트의 데이터의 전송을 포함할 수 있다. 한편, 예를 들면, 오랜 접속 시간은 몇 분 또는 심지어 몇 시간 동안 지속될 수 있고 긴 접속 활동은 수 바이트 또는 메가바이트의 데이터의 이송을 포함할 수 있다.
[0037]이후, 모바일 디바이스는 액세스 포인트들(A, B 및 C)에 점수를 매기도록 진행한다. 이 예시적인 시나리오에서, 모바일 디바이스는 액세스 포인트 B에 최고 점수를 부여할 수 있는데, 이것이 최장의 접속 시간 및 업데이트 활동에 대응하고 액세스 포인트 B가 바람직한 액세스 포인트들인 것으로 표기되기 때문이다. 액세스 포인트들(A 및 C)에 더 낮은 점수가 부여될 수 있는데, 이들은 짧은 접속 시간 및/또는 접속 활동이 거의 없는 것에 해당하기 때문이다. 개시된 본 기술의 일부 양상들에서, 임계 점수가 접속 시간 및/또는 접속 활동의 값들에 기초하여 결정될 수 있다. 하나 이상의 액세스 포인트들에 부여된 점수들이 임계치 점수와 비교될 수 있다. 이후, 등급이 매겨진 무선 액세스 포인트는, 이 등급이 매겨진 무선 액세스 포인트의 부여된 점수가 임계치 점수보다 더 큰 경우 바람직한 무선 액세스 포인트인 것으로 결정될 수 있다. 다른 예시적인 양상들에서, 등급이 매겨진 무선 액세스 포인트는, 이 등급이 매겨진 무선 액세스 포인트의 부여된 점수가 임계치 점수와 동일하거나 실질적으로 유사한 경우 바람직한 무선 액세스 포인트인 것으로 결정될 수 있다. 임의의 수의 액세스 포인트들이 바람직한 액세스 포인트들인 것으로 결정될 수 있다.
[0038]도 3의 경로(또는 대략적으로 유사한 경로)에 걸친 추후의 또는 후속하는 이동 시, 모바일 디바이스가 무선 액세스 포인트(예를 들어, 액세스 포인트들(A, B 또는 C) 중 하나)에 접속될 경우, 모바일 디바이스는, 현재 접속된 액세스 포인트가 바람직한 액세스 포인트인지 여부를 결정한다. 현재 접속된 무선 액세스 포인트가 바람직한 액세스 포인트인 경우(예를 들어, 액세스 포인트(B)), 모바일 디바이스는 현재 접속된 무선 액세스 포인트를 통해 서버들(108)로부터 소프트웨어 업데이트들을 수행한다. 현재 접속된 무선 액세스 포인트가 바람직한 액세스 포인트가 아닌 경우, 모바일 디바이스는 현재 접속된 무선 액세스 포인트(예를 들어, 액세스 포인트(A 또는 C))를 이용한 소프트웨어 업데이트들을 자동으로 금지한다. 이와 같이, 예를 들어, 모바일 디바이스 내 위치 및 업데이트 관리기(220)가, 디바이스가, 바람직한 액세스 포인트가 아닌 액세스 포인트(A)에 접속되었음을 결정하는 경우, 모바일 디바이스가 바람직한 액세스 포인트인 무선 액세스 포인트(B)에 접속될 때까지, 모바일 디바이스에 의해 필요로 되는 어떠한 소프트웨어 업데이트들도 금지될 수 있다.
[0039]일부 구현들에서, 상술된 위치 정보를 포함하는 활동의 패턴은, 바람직한 무선 액세스 포인트가 인근에 있다는 것을 결정하거나, 또는 모바일 디바이스가 미리결정된 시간 기간 이내에 바람직한 무선 액세스 포인트 부근으로 진입할 것이라는 것을 예측하는 데에 사용될 수 있다. 따라서, 업데이트가 모바일 디바이스에 대해 이용가능하다면, 모바일 디바이스는, 그 디바이스가 바람직한 무선 액세스 포인트로의 접속 시 업데이트를 수행할 것이라는 표시를 디스플레이할 수 있다. 예를 들어, 도 3을 참고하면, 모바일 디바이스가 액세스 포인트(A) 또는 그 근방에서 접속되는 경우, 모바일 디바이스는, 그 모바일 디바이스가 이러한 접속 활동을 나타내는 이전의 이동 패턴들에 기초하여 액세스 포인트(B)의 접속 범위에 즉시 진입할 수 있다는 것을 결정할 수 있다. 이러한 이전의 이동 패턴들이 디바이스(102a) 또는 서버들(108)에 저장될 수 있다. 이후, 임의의 소프트웨어 업데이트들을 수행하기 위해 액세스 포인트(B)로의 접속이 사용될 수 있다.
[0040]이러한 방법에서, 본 기술의 양상들이 모바일 디바이스 소프트웨어를 업데이트하기 위해 무선 액세스를 하는 적절한 위치들을 결정할 수 있기 때문에, 데이터 요금제와 결부된 모바일 접속을 통해 수행될 수 있는 원치 않는 업데이트들이 방지된다. 이는, 사용자 모바일 데이터 요금제 대역폭을 절약하고 사용자에 대해 경제적일 수 있다. 또한, 대용량 소프트웨어 업데이트들은 통상적으로 무선 접속을 통해 수행될 경우 더 적은 시간이 걸리고 웹 브라우징과 같은 사용자에 의해 개시된 다른 네트워크 활동들을 덜 방해한다.
[0041]도 4a는 위치-기반 소프트웨어 업데이트들에 대한 예시적인 프로세스(400)를 도시한다. 도 4a가 도 2를 참조하여 설명되었지만, 도 4a의 프로세스 단계들은 다른 시스템들에 의해 수행될 수 있다는 것을 주목해야 한다.
[0042]프로세스(400)는 모바일 디바이스의 무선 접속 범위 내의 하나 이상의 무선 액세스 포인트들을 식별하는 단계(402)에서 시작한다. 다음으로, 단계(404)에서, 프로세스는, 단계(402)의 하나 이상의 식별된 무선 액세스 포인트들의 무선 액세스 포인트가 바람직한 무선 액세스 포인트들의 리스트에 포함되는지 여부를 결정한다. 예를 들어, 바람직한 무선 액세스 포인트들을 통해 수행된 이전의 소프트웨어 업데이트들 및 이전의 소프트웨어 업데이트들 동안의 네트워크 접속의 지속기간들을 고려하여 리스트가 생성될 수 있다. 이 리스트는, 예를 들어, 디바이스(102a)의 메모리(212)에 저장될 수 있다. 리스트에서, 무선 액세스 포인트들은, 이들의 SSID들, 액세스 포인트 명칭들, 또는 임의의 다른 식별자들을 이용하여 식별될 수 있다. 무선 액세스 포인트의 SSID(또는 임의의 다른 식별자)는, 예를 들어, 무선 액세스 포인트가 리스트에 포함되는지 여부를 결정하기 위해서 리스트 상의 다른 SSID들과 비교될 수 있다.
[0043]무선 액세스 포인트가 바람직한 무선 액세스 포인트들의 리스트에 포함되는 경우, 방법(400)은 단계(406)에서 무선 액세스 포인트로의 접속 시 스케줄링된 소프트웨어 업데이트들을 수행한다. 무선 액세스 포인트가 바람직한 무선 액세스 포인트들의 리스트에 포함되지 않는 경우, 방법은 무선 액세스 포인트를 이용한 소프트웨어 업데이트들을 금지하는 단계(408)로 진행한다. 예를 들어, 소프트웨어 업데이트들은, 모바일 디바이스가 액세스 포인트(106b)로 접속되는 경우 금지될 수 있지만, 모바일 디바이스가 액세스 포인트(106c)로 접속되는 경우 액세스 포인트(106c)가 바람직한 액세스 포인트들의 리스트에 포함되는 것으로 결정되는 경우 허용된다.
[0044]도 4b는 바람직한 WiFi 액세스 포인트들을 결정하기 위한 다른 예시적인 프로세스(420)를 도시한다. 도 4b가 도 2를 참조하여 설명되었지만, 도 4의 프로세스 단계들은 다른 시스템들에 의해 수행될 수 있다는 것을 주목해야 한다.
[0045]프로세스(420)는, 모바일 디바이스가 하나 이상의 무선 액세스 포인트들에 접속될 경우, 하나 이상의 무선 액세스 포인트들에 대해 접속 동작의 패턴을 결정하는 것으로 시작한다(단계(422)). 예를 들어, 모바일 디바이스(102a)는, 무선 액세스 포인트의 식별, 접속이 발생하는 날짜 및 시각, 액세스 포인트에 접속되는데 소요되는 시간, 및 동일한 액세스 포인트에 대한 접속들이 주기적으로 이루어지는지 여부에 기초하여 무선 액세스 포인트들에 대한 접속 활동의 패턴을 결정할 수 있다.
[0046]다음으로, 단계(424)에서, 결정된 패턴을 이용하여 무선 액세스 포인트들에 점수들이 부여된다. 예를 들어, 모바일 디바이스(102a)는, 무선 액세스 포인트의 식별, 접속이 발생하는 날짜 및 시각, 액세스 포인트에 접속되는데 소요되는 시간, 및 동일한 액세스 포인트에 대한 접속들이 주기적으로 이루어지는지 여부에 기초하여 무선 액세스 포인트들에 점수를 매길 수 있다.
[0047]프로세스(420)는 이후, 점수가 매겨진 무선 액세스 포인트들의 등급을 매기고(단계 (426)) 하나 이상의 바람직한 무선 액세스 포인트들을 결정하기 위해(단계(428)) 진행한다. 예를 들어, 가장 높은 점수를 가진 무선 액세스 포인트는 바람직한 액세스 포인트인 것으로 결정될 수 있다. 다른 예에서, 무선 액세스 포인트들에 부여된 점수들이 임계 점수와 비교될 수 있고 등급이 매겨진 무선 액세스 포인트는, 그 등급이 매겨진 무선 액세스 포인트에 부여된 점수가 임계 점수를 초과할 수 있을 경우 바람직한 무선 액세스 포인트인 것으로 결정될 수 있다.
[0048]도 5는 디바이스들(110a-c)이 구현될 수 있는 예시적인 컴퓨터 시스템(500)을 예시하는 블록도이다. 특정 양상들에서, 컴퓨터 시스템(500)은, 전용 서버 내에, 또는 다른 엔티티 내에 통합되거나, 또는 다수의 엔티티들에 걸쳐 분산되어서 하드웨어 또는 소프트웨어와 하드웨어의 조합을 이용하여 구현될 수 있다.
[0049]컴퓨터 시스템(500)(예를 들어, 클라이언트(110) 및 서버(130))은 정보의 통신을 위한 버스(508) 또는 다른 통신 메커니즘, 및 정보를 프로세싱하기 위한, 버스(508)에 결합된 프로세서(502)(예를 들어, 프로세서(212 및 236)를 포함한다. 예로서, 컴퓨터 시스템(500)은 하나 이상의 프로세서(502)로 구현될 수 있다. 프로세서(502)는 범용 마이크로프로세서, 마이크로제어기, DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), PLD(Programmable Logic Device), 제어기, 상태 머신, 게이트형 로직, 이산 하드웨어 컴포넌트들, 또는 정보의 계산 또는 다른 조작을 수행할 수 있는 임의의 다른 적절한 엔티티일 수 있다.
[0050]컴퓨터 시스템(500)은, 하드웨어 이외에도, 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서(502)에 의해 실행될 명령들 및 정보를 저장하기 위해 버스(508)에 결합된 RAM(Random Access Memory), 플래시 메모리, ROM(Read Only Memory), PROM(Programmable Read-Only Memory), EPROM(Erasable PROM), 레지스터들, 하드 디스크, 탈착가능한 디스크, CD-ROM, DVD 또는 임의의 다른 적절한 저장 디바이스와 같은 포함된 메모리(504)(예를 들어, 메모리(220 및 232) 내에 저장된 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 그들의 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 프로세서(502) 및 메모리(504)는 특수 목적 로직 회로에 의해 보충되거나 그 안에 포함될 수 있다.
[0051]명령들은 메모리(504) 내에 저장될 수 있고, 하나 이상의 컴퓨터 프로그램 제품들, 즉, 컴퓨터 시스템(500)에 의한 실행을 위한, 또는 그의 동작의 제어를 위한 컴퓨터 판독가능한 매체 상에 인코딩된 컴퓨터 프로그램 명령들 중 하나 이상의 모듈들, 및 본 기술분야의 통상의 기술자에게 공지된 임의의 방법에 따라 구현될 수 있고, 이것으로 한정되는 것은 아니지만, 데이터-지향형 언어들(예를 들어, SQL, dBase), 시스템 언어들(예를 들어, C, 오브젝티브-C, C++, 어셈블리), 아키텍처 언어(예를 들어, 자바, .NET) 및 애플리케이션 언어들(예를 들어, PHP, Ruby, Perl, Python)과 같은 컴퓨터 언어들을 포함한다. 명령들은 또한 어레이 언어들, 양상-지향적(aspect-oriented) 언어들, 어셈블리 언어들, 저작 언어들(authoring languages), 커맨드 라인 인터페이스 언어들(command line interface languages), 컴파일형 언어들, 동시 언어들(concurrent languages), 중괄호(curly-bracket) 언어들, 데이터플로우 언어들, 데이터 구조형 언어들, 서술형 언어들(declarative languages), 에소테릭 언어들(esoteric languages), 확장 언어들(extension languages), 제4세대 언어들, 기능적 언어들, 대화형 모드 언어들, 인터프리트형 언어들, 반복성 언어들, 리스트-기반 언어들, 작은 언어들(little languages), 로직-기반 언어들, 머신 언어들, 매크로 언어들, 메타프로그래밍 언어들, 멀티패러다임 언어들, 수치 분석, 비-영어-기반 언어들, 객체 지향 클래스-기반 언어들, 객체 지향 프로토타입 기반 언어들, 오프-사이드(off-side) 규칙 언어들, 절차적 언어들, 반영 언어들(reflective languages), 규칙-기반 언어들, 스크립팅 언어들, 스택-기반 언어들, 동기적 언어들(synchronous languages), 문법 처리 언어들(syntax handling languages), 비주얼 언어들, 워스(wirth) 언어들, 임베딩가능 언어들, 및 xml-기반 언어들과 같은 컴퓨터 언어들로 구현될 수 있다. 메모리(504)는 또한 프로세서(502)에 의해 실행되는 명령들의 실행 동안의 일시적인 변수 또는 다른 중간 정보를 저장하는데 사용될 수 있다.
[0052]본원에서 논의된 컴퓨터 프로그램은 반드시 파일 시스템 내의 파일에 대응할 필요는 없다. 프로그램은 다른 프로그램 또는 데이터(예를 들어, 마크업(markup) 언어 도큐먼트에 저장된 하나 이상의 스크립트)을 보유하는 파일의 일부 내에, 해당 프로그램에 전용인 단일 파일 내에, 또는 다수의 코디네이티드 파일들(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드의 부분들을 저장하는 파일들) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터상에서, 또는 하나의 사이트에 위치되어 있거나, 다수의 사이트들에 걸쳐 분산되어 통신 네트워크에 의해 상호접속되는 다수의 컴퓨터상에서 실행되도록 배치될 수 있다. 본 명세서에 설명된 프로세스들 및 논리 흐름들은, 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행하도록 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능한 프로세서에 의해 수행될 수 있다.
[0053]컴퓨터 시스템(500)은 정보 및 명령들을 저장하기 위한 버스(508)에 결합된 자성 디스크 또는 광학 디스크와 같은 데이터 저장 디바이스(506)를 더 포함한다. 컴퓨터 시스템(500)은 입력/출력 모듈(510)을 통해 다양한 디바이스들에 결합될 수 있다. 입력/출력 모듈(510)은 임의의 입력/출력 모듈일 수 있다. 예시적인 입력/출력 모듈들(510)은 USB 포트들과 같은 데이터 포트들을 포함한다. 입력/출력 모듈(510)은 통신 모듈(512)에 접속되도록 구성된다. 예시적인 통신 모듈(512)(예를 들어, 통신 모듈(218 및 238))은 이더넷 카드들 및 모뎀들과 같은 네트워킹 인터페이스 카드들을 포함한다. 특정 양상들에서, 입력/출력 모듈(510)은 입력 디바이스(514)(예를 들어, 입력 디바이스(216)) 및/또는 출력 디바이스(516)(예를 들어, 출력 디바이스(214))와 같은 복수의 디바이스들에 접속되도록 구성된다. 예시적인 입력 디바이스들(514)은 사용자가 컴퓨터 시스템(500)에 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스들, 예를 들어, 마우스 또는 트랙볼을 포함한다. 촉각 입력 디바이스, 시각 입력 디바이스, 오디오 입력 디바이스, 또는 브레인 컴퓨터 인터페이스 디바이스와 같은 다른 종류의 입력 디바이스들(514)이 또한 사용되어 사용자와의 상호작용을 제공할 수 있다. 예를 들어, 사용자에게 제공된 피드백은 감각 피드백, 예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백의 임의의 형식일 수 있고; 사용자로부터의 입력은, 음향, 발화(speech), 촉각, 또는 뇌파 입력을 포함하는 임의의 형식으로 수신될 수 있다. 예시적인 출력 디바이스들(516)은, 사용자에게 정보를 디스플레이하기 위한 LED(light emitting diode), CRT(cathode ray tube), 또는 LCD(liquid crystal display) 스크린과 같은 디스플레이 디바이스들을 포함한다.
[0054]본 개시내용의 일 양상에 따라서, 클라이언트(110) 및 서버(130)는 프로세서(502)가 메모리(504) 내에 포함된 하나 이상의 명령들의 하나 이상의 시퀀스를 실행하는 것에 응답하여 컴퓨터 시스템(500)을 이용하여 구현될 수 있다. 그러한 명령들은, 데이터 저장 디바이스(506)와 같은 다른 머신 판독가능한 매체로부터 메모리(504) 안으로 판독될 수 있다. 메인 메모리(504)에 포함된 명령들의 시퀀스의 실행은 프로세서(502)로 하여금 본원에서 설명된 프로세스 단계들을 수행하게 한다. 다중-프로세싱 구성에서의 하나 이상의 프로세서는 또한 메모리(504)에 포함된 명령들의 시퀀스들을 실행하는 데도 이용될 수 있다. 대안적인 양상들에서, 하드-와이어드 회로가 본 개시내용의 다양한 양상들을 구현하기 위해 소프트웨어 명령들 대신에 또는 그들과 조합하여 사용될 수 있다. 따라서, 본 개시내용의 양상들이 하드웨어 회로 및 소프트웨어의 임의의 특정 조합으로 제한되는 것은 아니다.
[0055]본 명세서에서 설명되는 요지의 다양한 양상들은 백엔드 컴포넌트를 예를 들어 데이터 서버로서 포함하거나, 미들웨어 컴포넌트, 예를 들어 애플리케이션 서버를 포함하거나, 프론트엔드 컴포넌트, 예를 들어 사용자가 본 명세서에서 설명되는 요지의 구현과 상호작용할 수 있게 하는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터를 포함하거나, 하나 이상의 그러한 백엔드, 미들웨어 또는 프론트엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은, 임의의 형태 또는 매체의 디지털 데이터 통신, 예를 들면, 통신 네트워크에 의해 상호접속될 수 있다. 통신 네트워크(예를 들어, 네트워크(150))는, 예를 들어, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등 중 임의의 하나 이상의 것을 포함할 수 있다. 또한, 통신 네트워크는, 이것으로 한정되는 것은 아니지만, 예를 들어, 버스 네트워크, 스타 네트워크, 링 네트워크, 메시 네트워크, 스타-버스 네트워크, 트리 또는 계층구조 네트워크 등을 포함하는 다음 네트워크 토폴로지들 중 임의의 하나 이상의 것을 포함할 수 있다. 통신 모듈들은 예를 들어, 모뎀들 또는 이더넷 카드들일 수 있다.
[0056]컴퓨팅 시스템(500)은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 떨어져 있으며, 통상적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 개별적인 컴퓨터 상에서 실행되며 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의하여 발생한다. 컴퓨터 시스템(500)은, 예를 들어, 데스크톱 컴퓨터, 랩톱 컴퓨터, 또는 태블릿 컴퓨터(이것으로 제한하지 않음)일 수 있다. 컴퓨터 시스템(500)은, 또한 다른 디바이스 내에, 예를 들어, 모바일 전화, PDA(personal digital assistant), 모바일 오디오 재생기, GPS(Global Positioning System) 수신기, 비디오 게임 콘솔 및/또는 텔레비전 셋톱박스(이것으로 제한하지 않음) 내에 내장될 수 있다.
[0057]본원에서 사용된 용어 "머신 판독가능한 저장 매체" 또는 "컴퓨터 판독가능한 매체"는 실행을 위해 명령들 또는 데이터를 프로세서(502)에 제공하는데 참여하는 임의의 매체 또는 매체들을 지칭한다. 그러한 매체는, 한정하는 것은 아니지만, 비휘발성 매체들, 및 휘발성 매체들을 포함하는 다수의 형식을 취할 수 있다. 비휘발성 매체들은, 예를 들어, 데이터 저장 디바이스(506)와 같은 광학 디스크들, 자기 디스크들, 또는 플래시 메모리를 포함한다. 휘발성 매체들은, 메모리(504)와 같은 동적 메모리를 포함한다. 일반적인 형태의 머신 판독가능한 매체들은 예를 들어 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, DVD, 임의의 다른 광학 매체, 천공 카드, 종이 테이프, 구멍의 패턴을 갖는 임의의 다른 물리적 매체, RAM, PROM 및 EPROM, 플래시 EPROM, 임의의 다른 메모리 칩 또는 카트리지, 또는 컴퓨터가 판독할 수 있는 임의의 다른 매체를 포함한다. 머신 판독가능한 저장 매체는 머신 판독가능한 저장 디바이스, 머신 판독가능한 저장 기판, 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다.
[0058]본 명세서에 사용될 때, 임의의 항목들을 분리하기 위한 용어 "및" 또는 "또는"과 함께, 일련의 항목들에 후행하는 구문 "~중 적어도 하나"는 리스트의 각각의 구성원(즉, 각각의 아이템)이기 보다는 전체로서 리스트를 수식한다. 구문 "~중 적어도 하나"는 적어도 하나의 아이템에 대한 선택을 요구하지 않고, 오히려, 이 구문은 항목들 중 임의의 것에 대해 적어도 하나 및/또는 항목들의 임의의 조합에 대해 적어도 하나, 및/또는 각각의 항목들 중 적어도 하나를 포함하는 의미를 허용한다. 예로서, 구문 "A, B 및 C 중 적어도 하나" 또는 "A, B 또는 C 중 적어도 하나"는 각각 A만을, B만을 또는 C만을; A, B 및 C의 임의의 조합; 및/또는 A, B 및 C의 각각의 적어도 하나를 나타낸다.
[0059]또한, 용어 "포함하다(include)", "갖다" 등이 상세한 설명 또는 청구항들에서 사용되는 범위에 대해, 이러한 용어는 청구항에서 전이어(transitional word)로서 사용되는 경우 용어 "포함하다(comprise)"가 해석되는 바와 같이 "포함하다(comprise)"와 유사한 방식으로 내포적인 것으로 의도된다.
[0060]단일의 구성요소에 대한 언급은, 구체적으로 언급되지 않으면, "하나의 그리고 오직 하나의"를 의미하도록 의도되지 않으며, 오히려 "하나 이상"으로 의도된다. 통상의 기술자들에게 공지되어 있거나 이후에 공지될 본 명세서 전체에 걸쳐 설명된 다양한 구성들의 요소들에 대한 모든 구조적 및 기능적 등가물은 본 명세서에 참조로서 명시적으로 포함되어 있고, 본 발명의 기술에 의해 포함되도록 의도된다. 또한, 본원에 개시된 어떤 것도, 이러한 개시물이 상기 설명에서 명시적으로 인용되는지 여부와 관계없이 공중에 전용되도록 의도되지 않는다.
[0061]본 명세서는 많은 세부사항(specifics)을 포함하지만, 이들은 청구될 수 있는 범주에 대한 제한으로서 간주되어서는 안되며, 오히려 본 요지의 구체적인 구현들에 대한 설명으로서 간주되어야 한다. 별개의 양상들의 맥락에서 본 명세서에서 설명되는 특정 기능들은 또한 단일 양상에서의 조합으로도 구현될 수 있다. 이에 반해, 단일 양상들의 맥락에서 설명되는 다양한 특징들은 다수의 양상들에서 별개로 또는 임의의 적합한 하위조합으로 또한 구현될 수 있다. 또한, 특징들이 특정 조합들에서 작용하고 심지어 그처럼 초기에 청구된 대로 위에서 설명될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징은 어떤 경우에는 조합으로부터 삭제될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형으로 지향될 수 있다.
[0062] 유사하게, 동작들이 특정 순서로 도면에 도시되어 있지만, 이것은 바람직한 결과를 달성하기 위해 이러한 동작들이 도시된 특정 순서로 또는 순차적인 순서로 수행되는 것 또는 모든 도시된 동작들이 수행되는 것을 필요로 하는 것으로 이해되어서는 안 된다. 특정 상황에서, 멀티 태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 전술한 양상들에서 다양한 시스템 컴포넌트들의 분리는 모든 양상들에서 이러한 분리를 필요로 하는 것으로 이해되어서는 안 되며, 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 복수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다.
[0063]본 명세서의 요지가 특정 양상들에 관하여 설명되었으나, 다른 양상들이 구현될 수 있고 이하의 특허청구범위의 범주 내에 있을 수 있다. 예를 들어, 특허청구범위에서 인용된 액션들은 상이한 순서로 수행될 수 있지만, 여전히 바람직한 결과들을 달성할 수 있다. 일례로서, 첨부하는 도면들에 도시된 프로세스들은 바람직한 결과들을 달성하기 위해 반드시 도시된 특정 순서 또는 순차적 순서(sequential order)를 요구하는 것은 아니다. 특정 구현들에서, 멀티 태스킹 및 병렬 프로세싱이 유리할 수 있다. 다른 변형들이 다음 청구항들의 범위 내에 있다.
[0064]이들 구현들 및 다른 구현들은 다음 청구항들의 범위 내에 있다.

Claims (20)

  1. 컴퓨터-구현 방법으로서,
    모바일 디바이스의 무선 접속 범위 내에서 하나 이상의 무선 액세스 포인트들을 식별하는 단계;
    상기 하나 이상의 식별된 무선 액세스 포인트들 중 무선 액세스 포인트가 무선 액세스 포인트들의 리스트에 포함되는지 여부를 결정하는 단계 ―상기 리스트는 무선 액세스 포인트들을 통해 수행된 이전 소프트웨어 업데이트들 및 상기 이전 소프트웨어 업데이트들 동안 네트워크 접속의 지속기간들을 고려하여 생성됨 ―;
    상기 무선 액세스 포인트가 상기 무선 액세스 포인트들의 리스트에 포함되는 경우 상기 무선 액세스 포인트를 이용한 하나 이상의 소프트웨어 업데이트들을 스케줄링하는 단계; 및
    상기 무선 액세스 포인트로의 접속 시 스케줄링된 소프트웨어 업데이트들을 수행하는 단계를 포함하는, 컴퓨터-구현 방법.
  2. 제 1 항에 있어서,
    상기 모바일 디바이스가 상기 무선 액세스 포인트와 통신 중이라는 제 1 표시를 수신하는 단계;
    상기 무선 액세스 포인트가 상기 무선 액세스 포인트들의 리스트에 포함되는 경우, 상기 제 1 표시를 수신하는 단계에 대한 응답으로, 상기 모바일 디바이스가 상기 무선 액세스 포인트를 이용한 소프트웨어 업데이트들에 대해 이용가능하다는 제 2 표시를 제공하는 단계; 및
    상기 모바일 디바이스가 상기 무선 액세스 포인트에 대한 접속 시 상기 하나 이상의 소프트웨어 업데이트들을 수행할 것이라는 표시를 사용자에게 제공하는 단계를 더 포함하는, 컴퓨터-구현 방법.
  3. 제 1 항에 있어서,
    상기 리스트는 상기 모바일 디바이스에 의해 생성되는, 컴퓨터-구현 방법.
  4. 제 1 항에 있어서,
    상기 식별된 무선 액세스 포인트들에 대한 접속 활동의 패턴을 결정하는 단계 ―결정된 패턴은 접속 정보에 기초함―;
    상기 결정된 패턴의 개별적인 무선 액세스 포인트들에 점수들을 부여하는 단계 ―상기 점수들은 상기 접속 정보에 기초함―;
    부여된 점수들을 임계치 점수와 비교하는 단계; 및
    점수가 매겨진 무선 액세스 포인트의 부여된 점수가 상기 임계치 점수를 초과하는 경우, 점수가 매겨진 무선 액세스 포인트를 상기 무선 액세스 포인트들의 리스트에 포함시키는 단계를 더 포함하는, 컴퓨터-구현 방법.
  5. 제 4 항에 있어서,
    상기 접속 정보는,
    상기 모바일 디바이스가 상기 식별된 무선 액세스 포인트들에 접속되는 때에 적어도 상기 모바일 디바이스의 지리적-좌표 위치를 포함하는 위치 정보; 및
    이전 소프트웨어 업데이트들이 상기 식별된 무선 액세스 포인트들 및 상기 이전 소프트웨어 업데이트들 동안 네트워크 접속의 지속기간들을 통해 수행되는 시기에 관한 정보를 포함하는 소프트웨어 업데이트 정보를 더 포함하는, 컴퓨터-구현 방법.
  6. 제 4 항에 있어서,
    상기 접속 정보는,
    상기 식별된 무선 액세스 포인트들의 식별들, 상기 식별된 무선 액세스 포인트로의 접속들이 발생하는 날짜들 및 시각들, 상기 식별된 무선 액세스 포인트들에 접속되는데 소요되는 시간들, 또는 상기 식별된 무선 액세스 포인트들로의 접속들이 주기적으로 이루어지는지 여부의 표시를 더 포함하는, 컴퓨터-구현 방법.
  7. 명령들이 저장되어 있는 머신 판독가능 저장 매체로서,
    프로세서에 의해 실행될 경우, 상기 프로세서로 하여금,
    모바일 디바이스의 무선 접속 범위 내에서 하나 이상의 무선 액세스 포인트들을 식별하는 것;
    상기 하나 이상의 무선 액세스 포인트들 중 일 무선 액세스 포인트가 무선 액세스 포인트들의 리스트에 포함되는지 여부를 결정하는 것 ―상기 리스트는 무선 액세스 포인트들과, 상기 모바일 디바이스에 대한 소프트웨어 업데이트들을 수행하기 위해 이전에 사용되었던 하나 이상의 광대역 무선 네트워크들과의 연관 및 이전 소프트웨어 업데이트들 동안 네트워크 접속의 지속기간들을 고려하여 생성됨―;
    상기 무선 액세스 포인트가 상기 무선 액세스 포인트들의 리스트에 포함되는 경우, 상기 무선 액세스 포인트를 이용한 하나 이상의 소프트웨어 업데이트들을 스케줄링하는 것; 및
    상기 무선 액세스 포인트로의 접속 시 스케줄링된 소프트웨어 업데이트들을 수행하는 것을 포함하는
    동작들을 수행하게 하는, 명령들이 저장되어 있는 머신 판독가능 저장 매체.
  8. 제 7 항에 있어서,
    상기 동작들은,
    상기 모바일 디바이스가 상기 무선 액세스 포인트와 통신 중이라는 제 1 표시를 수신하는 것; 및
    상기 무선 액세스 포인트가 상기 무선 액세스 포인트들의 리스트에 포함되는 경우, 상기 제 1 표시를 수신하는 것에 대한 응답으로, 상기 모바일 디바이스가 상기 무선 액세스 포인트를 이용한 소프트웨어 업데이트들에 대해 이용가능하다는 제 2 표시를 제공하는 것을 더 포함하는, 명령들이 저장되어 있는 머신 판독가능 저장 매체.
  9. 제 7 항에 있어서,
    상기 동작들은,
    상기 모바일 디바이스가 상기 무선 액세스 포인트에 대한 접속 시 상기 하나 이상의 소프트웨어 업데이트들을 수행할 것이라는 표시를 사용자에게 제공하는 것을 더 포함하는, 명령들이 저장되어 있는 머신 판독가능 저장 매체.
  10. 제 7 항에 있어서,
    상기 동작들은,
    상기 식별된 무선 액세스 포인트들에 대한 하나 이상의 접속 파라미터들을 저장하는 것 ―상기 접속 파라미터들은, 상기 모바일 디바이스가 상기 식별된 무선 액세스 포인트들에 접속될 때 상기 모바일 디바이스의 개별적인 지리적-좌표 위치들을 포함함―;
    상기 접속 파라미터들 및 상기 모바일 디바이스의 상기 개별적인 지리적-좌표 위치들에 기초하여 상기 식별된 무선 액세스 포인트들에 대한 접속 활동의 패턴을 결정하는 것; 및
    상기 모바일 디바이스가 다른 때에 상기 식별된 무선 액세스 포인트들에 접속되는 경우 상기 접속 파라미터들에 대한 변경들에 기초하여, 결정된 패턴을 업데이트하는 것을 더 포함하는, 명령들이 저장되어 있는 머신 판독가능 저장 매체.
  11. 제 10 항에 있어서,
    상기 동작들은,
    상기 결정된 패턴으로 개별적인 무선 액세스 포인트들에 점수들을 부여하는 것 ―상기 점수들은 상기 접속 파라미터들에 기초함―;
    부여된 점수들을 임계치 점수와 비교하는 것; 및
    점수가 매겨진 무선 액세스 포인트의 부여된 점수가 상기 임계치 점수를 초과하는 경우 상기 점수가 매겨진 무선 액세스 포인트를 상기 무선 액세스 포인트들의 리스트에 포함시키는 것을 더 포함하는, 명령들이 저장되어 있는 머신 판독가능 저장 매체.
  12. 제 10 항에 있어서,
    상기 접속 파라미터들은,
    이전 소프트웨어 업데이트들이 상기 식별된 무선 액세스 포인트들 및 상기 이전 소프트웨어 업데이트들 동안 네트워크 접속의 지속기간들을 통해 수행되는 시기에 관한 정보를 포함하는 소프트웨어 업데이트 정보를 더 포함하는, 명령들이 저장되어 있는 머신 판독가능 저장 매체.
  13. 제 10 항에 있어서,
    상기 접속 파라미터들은,
    상기 식별된 무선 액세스 포인트들의 식별들, 상기 식별된 무선 액세스 포인트로의 접속들이 발생하는 날짜들 및 시각들, 상기 식별된 무선 액세스 포인트들에 접속되는데 소요되는 시간들, 또는 상기 식별된 무선 액세스 포인트들로의 접속들이 주기적으로 이루어지는지 여부의 표시를 더 포함하는, 명령들이 저장되어 있는 머신 판독가능 저장 매체.
  14. 제 7 항에 있어서,
    상기 리스트는 상기 모바일 디바이스에 의해 생성되고, 상기 무선 액세스 포인트들은 WiFi 액세스 포인트들을 포함하는, 명령들이 저장되어 있는 머신 판독가능 저장 매체.
  15. 위치-기반 소프트웨어 업데이트들을 위한 시스템으로서,
    명령들을 포함하는 메모리; 및
    모바일 디바이스의 무선 접속 범위 내에서 하나 이상의 무선 액세스 포인트들을 식별하고;
    상기 하나 이상의 무선 액세스 포인트들 중 무선 액세스 포인트가 무선 액세스 포인트들의 리스트에 포함되는지 여부를 결정하고;
    상기 무선 액세스 포인트가 상기 무선 액세스 포인트들의 리스트에 포함되는 경우 상기 무선 액세스 포인트를 이용한 하나 이상의 소프트웨어 업데이트들을 스케줄링하고 ―상기 리스트는 무선 액세스 포인트들과, 소프트웨어 업데이트들이 상기 모바일 디바이스에 대해 이전에 수행되었던 장소로부터의 하나 이상의 지리적 위치들과의 연관 및 이전 소프트웨어 업데이트들 동안 네트워크 접속의 지속기간들을 고려하여 생성됨―; 그리고
    상기 무선 액세스 포인트로의 접속 시 스케줄링된 소프트웨어 업데이트들을 수행하기 위한
    상기 명령들을 실행하도록 구성되는 프로세서를 포함하는, 위치-기반 소프트웨어 업데이트들을 위한 시스템.
  16. 제 15 항에 있어서,
    상기 프로세서는 추가로,
    상기 모바일 디바이스가 상기 무선 액세스 포인트와 통신 중이라는 제 1 표시를 수신하고; 그리고
    상기 무선 액세스 포인트가 상기 무선 액세스 포인트들의 리스트에 포함되는 경우, 상기 제 1 표시를 수신하는 것에 대한 응답으로, 상기 모바일 디바이스가 상기 식별된 무선 액세스 포인트를 이용한 소프트웨어 업데이트들에 대해 이용가능하다는 제 2 표시를 제공하기 위한
    명령들을 실행하도록 구성되는, 위치-기반 소프트웨어 업데이트들을 위한 시스템.
  17. 제 15 항에 있어서,
    상기 프로세서는 추가로,
    상기 모바일 디바이스가 상기 무선 액세스 포인트에 대한 접속 시 상기 하나 이상의 소프트웨어 업데이트들을 수행할 것이라는 표시를 사용자에게 제공하기 위한
    명령들을 실행하도록 구성되는, 위치-기반 소프트웨어 업데이트들을 위한 시스템.
  18. 위치-기반 소프트웨어 업데이트들을 위한 시스템으로서,
    명령들을 포함하는 메모리; 및
    하나 이상의 무선 액세스 포인트들에 대한 접속 활동의 패턴을 결정하고 ―결정된 패턴은 하나 이상의 접속 파라미터들에 기초함―;
    상기 결정된 패턴의 개별적인 무선 액세스 포인트들에 점수들을 부여하고 ―상기 점수들은 상기 접속 파라미터들에 기초함―;
    부여된 점수들을 임계치 점수와 비교하고; 그리고
    무선 액세스 포인트의 부여된 점수가 상기 임계치 점수를 초과하는 경우 하나 이상의 무선 액세스 포인트들의 리스트에 상기 무선 액세스 포인트를 포함시키기 위한
    상기 명령들을 실행하도록 구성되는 프로세서를 포함하고,
    상기 접속 파라미터들은,
    모바일 디바이스가 상기 하나 이상의 무선 액세스 포인트들에 접속되는 때에 적어도 상기 모바일 디바이스의 지리적-좌표 위치를 포함하는 위치 정보; 및
    이전 소프트웨어 업데이트들이 상기 하나 이상의 무선 액세스 포인트들 및 상기 이전 소프트웨어 업데이트들 동안의 네트워크 접속의 지속기간들을 통해 수행되는 시기에 관한 정보를 포함하는 소프트웨어 업데이트 정보를 포함하는, 위치-기반 소프트웨어 업데이트들을 위한 시스템.
  19. 제 18 항에 있어서,
    상기 리스트는 상기 모바일 디바이스에 의해 생성되는, 위치-기반 소프트웨어 업데이트들을 위한 시스템.
  20. 제 18 항에 있어서,
    상기 접속 파라미터들은,
    상기 무선 액세스 포인트들의 식별들, 상기 무선 액세스 포인트로의 접속들이 발생하는 날짜들 및 시각들, 상기 무선 액세스 포인트들에 접속되는데 소요되는 시간들, 또는 상기 무선 액세스 포인트들로의 접속들이 주기적으로 이루어지는지 여부의 표시를 포함하는, 위치-기반 소프트웨어 업데이트들을 위한 시스템.
KR1020167015572A 2013-11-13 2014-11-11 위치-기반 소프트웨어 업데이트들 KR101918177B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/079,566 US8830913B1 (en) 2013-11-13 2013-11-13 Location-based software updates
US14/079,566 2013-11-13
PCT/US2014/065079 WO2015073457A1 (en) 2013-11-13 2014-11-11 Location-based software updates

Publications (2)

Publication Number Publication Date
KR20160085865A KR20160085865A (ko) 2016-07-18
KR101918177B1 true KR101918177B1 (ko) 2018-11-14

Family

ID=51455264

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167015572A KR101918177B1 (ko) 2013-11-13 2014-11-11 위치-기반 소프트웨어 업데이트들

Country Status (7)

Country Link
US (2) US8830913B1 (ko)
EP (1) EP3069536B1 (ko)
JP (1) JP6106344B2 (ko)
KR (1) KR101918177B1 (ko)
CN (1) CN105745949B (ko)
AU (1) AU2014348821B2 (ko)
WO (1) WO2015073457A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9485747B1 (en) * 2014-05-16 2016-11-01 Amazon Technologies, Inc. Systems and methods for acquiring location data
CN105988824A (zh) * 2015-01-29 2016-10-05 正文科技股份有限公司 多个智能装置的程序同步更新方法及其更新系统
US10185513B1 (en) 2015-06-05 2019-01-22 Life365, Inc. Device configured for dynamic software change
US10560135B1 (en) 2015-06-05 2020-02-11 Life365, Inc. Health, wellness and activity monitor
US11329683B1 (en) * 2015-06-05 2022-05-10 Life365, Inc. Device configured for functional diagnosis and updates
US9974492B1 (en) 2015-06-05 2018-05-22 Life365, Inc. Health monitoring and communications device
US10182304B2 (en) 2015-06-18 2019-01-15 Gainspan Corporation Updating firmware of IOT devices
JP6665728B2 (ja) * 2016-08-05 2020-03-13 株式会社オートネットワーク技術研究所 車載更新装置、車載更新システム及び通信装置の更新方法
JP6473113B2 (ja) * 2016-08-31 2019-02-20 ソフトバンク株式会社 ダウンロード環境最適化プログラム、無線通信端末、システム、ダウンロード環境最適化方法
US10028133B2 (en) * 2016-10-24 2018-07-17 General Motors Llc Timing delivery of over-the-air data to a vehicle
US10496469B2 (en) 2017-07-25 2019-12-03 Aurora Labs Ltd. Orchestrator reporting of probability of downtime from machine learning process
GB2569112B (en) * 2017-12-05 2021-07-28 Jaguar Land Rover Ltd Configuring a vehicle software update
US10925070B2 (en) * 2019-01-30 2021-02-16 Hewlett Packard Enterprise Development Lp Access point update
CN111831298A (zh) * 2019-06-06 2020-10-27 北京骑胜科技有限公司 固件升级方法、装置、电子设备及存储介质
US11374814B2 (en) * 2019-08-01 2022-06-28 Hewlett Packard Enterprise Development Lp Network device configuration update using rank and health
JP7319867B2 (ja) 2019-08-23 2023-08-02 株式会社東芝 無線通信システム、無線通信装置、及び無線通信方法
US20230164595A1 (en) * 2021-11-23 2023-05-25 Hewlett Packard Enterprise Development Lp Mitigation of radio frequency (rf) outages on a wireless network

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715516A (en) * 1995-10-18 1998-02-03 Cellular Telecom, Ltd. Method and apparatus for wireless communication employing collector arrays
US6308061B1 (en) * 1996-08-07 2001-10-23 Telxon Corporation Wireless software upgrades with version control
FI104780B (fi) * 1997-02-28 2000-03-31 Nokia Mobile Phones Ltd Solukkoradiojärjestelmän solujen priorisointi
JP2003114806A (ja) * 2001-10-04 2003-04-18 Hitachi Ltd Os更新方法及びセキュリティ制御方法並びにその実施装置
US7406310B2 (en) * 2003-04-22 2008-07-29 Hitachi Communication Technologies, Ltd. Network management apparatus and method of selecting base station for software update
JP2004328153A (ja) * 2003-04-22 2004-11-18 Sharp Corp 無線通信装置、該装置におけるアクセスポイント選択方法、アクセスポイント選択プログラム、および該プログラムを記録した記録媒体
KR100627728B1 (ko) 2004-07-28 2006-09-25 에스케이 텔레콤주식회사 데이터 코어망을 이용한 가상머신 애플리케이션의업데이트 방법 및 시스템
JP4398838B2 (ja) * 2004-10-05 2010-01-13 日本電信電話株式会社 端末装置の制御方法、無線通信システム、端末装置、制御プログラム、および記録媒体
US20070192763A1 (en) 2006-02-15 2007-08-16 Helvick Richard E Method and system for scheduling application of software updates
US20080080413A1 (en) 2006-09-29 2008-04-03 Advanced Micro Devices, Inc. Connection manager with remote portal service
US8229458B2 (en) * 2007-04-08 2012-07-24 Enhanced Geographic Llc Systems and methods to determine the name of a location visited by a user of a wireless device
US7864736B2 (en) * 2007-09-24 2011-01-04 Tcm Mobile Llc Packet communication roaming method and system
US20090233609A1 (en) * 2008-03-12 2009-09-17 Nortel Networks Limited Touchless Plug and Play Base Station
US9363745B2 (en) * 2008-03-26 2016-06-07 Srinivasan Balasubramanian Device managed access point lists in wireless communications
CN102378966B (zh) 2009-03-31 2014-02-19 丰田自动车株式会社 车载软件更新装置
US9065928B2 (en) * 2009-05-26 2015-06-23 Apple Inc. Space and time based device customization
MX2013003475A (es) * 2010-09-28 2014-08-01 Headwater Partners I Llc Centro de servicio de diseño para servicios asistidos por dispositivo.
US8744439B2 (en) * 2011-10-07 2014-06-03 Apple Inc. Methods and apparatus for intelligent initiation of connections within a network
CN103067908A (zh) * 2012-12-27 2013-04-24 北京小米科技有限责任公司 一种数据的处理方法、装置及终端

Also Published As

Publication number Publication date
AU2014348821A1 (en) 2016-05-12
JP2017504232A (ja) 2017-02-02
AU2014348821B2 (en) 2018-02-08
JP6106344B2 (ja) 2017-03-29
KR20160085865A (ko) 2016-07-18
CN105745949A (zh) 2016-07-06
US9258775B1 (en) 2016-02-09
WO2015073457A1 (en) 2015-05-21
CN105745949B (zh) 2019-09-20
US8830913B1 (en) 2014-09-09
EP3069536B1 (en) 2020-03-11
EP3069536A4 (en) 2017-05-17
EP3069536A1 (en) 2016-09-21

Similar Documents

Publication Publication Date Title
KR101918177B1 (ko) 위치-기반 소프트웨어 업데이트들
EP2729865B1 (en) Application relevance determination based on social context
US9053435B2 (en) Generating application models based on discovery based machine learning
KR101674852B1 (ko) 클라이언트 디바이스 상의 애플리케이션들 관리
EP2847978B1 (en) Calendar matching of inferred contexts and label propagation
US8310394B2 (en) Apparatus, method, manufacture, and system for sensing substitution for location-based applications
US8359016B2 (en) Management of mobile applications
CN104793980B (zh) 应用程序更新通知方法及其装置
US20160135006A1 (en) Dynamically controlling the presentation of a graphic feature based on location information
US20150133082A1 (en) Mobile posture-based policy, remediation and access control for enterprise resources
US20150072663A1 (en) Method and Apparatus for Providing Zone-Based Device Interaction
US9792432B2 (en) Method and apparatus for privacy-oriented code optimization
US20140289850A1 (en) Automatic approach for the personalized privacy recommendation related to the location
US20190236470A1 (en) User behavior determination from corroborating control data
EP2292022B1 (en) Method, apparatus, and computer program product for location sharing
JP2018530270A5 (ko)
CN106681749A (zh) 基于安卓平台的局部代码补丁更新方法及装置
WO2016040711A1 (en) Accounts control
US10649753B2 (en) Enabling user device application modularity
US20190238644A1 (en) User identification for digital experience controls
CN105468379B (zh) 一种脚本文件执行方法及装置
US20220027020A1 (en) Dynamically replacing interactive content of a quick setting bar
RU2763000C2 (ru) Мониторинг задержки тега и система управления для повышения производительности веб-страницы
Maheswari et al. Android Based Task Scheduler and Indicator
Ruzzelli et al. Autonomous management and control of sensor network-based applications

Legal Events

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