KR20220113486A - 사용자 중개 및 캐리어 중개 연결 구분 - Google Patents

사용자 중개 및 캐리어 중개 연결 구분 Download PDF

Info

Publication number
KR20220113486A
KR20220113486A KR1020227023652A KR20227023652A KR20220113486A KR 20220113486 A KR20220113486 A KR 20220113486A KR 1020227023652 A KR1020227023652 A KR 1020227023652A KR 20227023652 A KR20227023652 A KR 20227023652A KR 20220113486 A KR20220113486 A KR 20220113486A
Authority
KR
South Korea
Prior art keywords
vpn
network
wireless network
mobile device
user
Prior art date
Application number
KR1020227023652A
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 KR20220113486A publication Critical patent/KR20220113486A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/72Subscriber identity
    • 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
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Landscapes

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

Abstract

사용자 중개 및 캐리어 중개 연결을 구분하기 위한 방법(500)은 제1 무선 네트워크(120) 및 제2 무선 네트워크(120)에 동시에 연결된 모바일 디바이스(110)에 대해, 상기 제1 무선 네트워크가 상기 제2 무선 네트워크와 동일한 네트워크 오퍼레이터(70)와 연관되는지 여부를 결정하는 단계를 포함한다. 오퍼레이터가 동일한 경우, 방법은 모바일 디바이스와 원격 서버(130) 사이에 가상 사설 네트워크(VPN)(30)를 설정하는 단계를 포함한다. VPN은 모바일 디바이스를 제1 무선 네트워크를 통해 원격 서버에 연결하는 제1 VPN 연결(122) 및 모바일 디바이스를 제2 무선 네트워크를 통해 원격 서버에 연결하는 제2 VPN 연결(122)을 포함한다. 방법은 VPN 연결 중 하나를 통한 VPN을 통해 모바일 디바이스로부터 원격 서버에 데이터(50)를 전송하는 단계를 포함한다. 원격 서버는 데이터를 목적지 서버(60)로 라우팅한다.

Description

사용자 중개 및 캐리어 중개 연결 구분
본 개시는 사용자 중개 네트워크 및 캐리어 중개 네트워크 연결을 구분하는 것에 관한 것이다.
모바일 디바이스(예: 스마트폰) 및 기타 사용자 디바이스는 일반적으로 다양한 무선 연결 기술(예: 셀룰러, Wi-Fi, Bluetooth 등)의 호스트를 제공한다. 모바일 데이터 비용을 줄이기 위해 모바일 네트워크 오퍼레이터(MNO) 및 모바일 가상 네트워크 오퍼레이터(MNVO)는 자주 추가 저비용 네트워크(예: Wi-Fi 네트워크)를 중개하고, 고객 모바일 데이터를 셀룰러 연결(예: 4G, 5G 등)에서 가능하면 더 저렴한 네트워크로 오프로딩한다. 현재 모바일 운영 체제는 이러한 캐리어 중개 네트워크 연결과 사용자 중개 네트워크 연결을 명확하게 구분하지 않고 대신 무선 기반으로 모바일 디바이스 연결에 대한 제어를 제공한다.
본 개시의 일 양태는 캐리어 중개 네트워크와 사용자 중개 네트워크를 구분하고 연결하는 방법을 제공한다. 상기 방법은, 제1 무선 네트워크 및 제2 무선 네트워크에 동시에 연결된 모바일 디바이스에 대해, 상기 모바일 디바이스의 데이터 프로세싱 하드웨어에 의해, 상기 제1 무선 네트워크가 상기 제2 무선 네트워크와 동일한 네트워크 오퍼레이터와 연관되는지 여부를 결정하는 단계를 포함한다. 상기 제1 무선 네트워크가 상기 제2 무선 네트워크와 동일한 네트워크 오퍼레이터와 연관되는 경우, 방법은 또한 데이터 프로세싱 하드웨어에 의해 모바일 디바이스와 원격 서버 사이에 가상 사설 네트워크(VPN)를 설정하는 단계를 포함한다. VPN은 제1 VPN 연결과 제2 VPN 연결을 포함한다. 제1 VPN 연결은 모바일 디바이스를 제1 무선 네트워크를 통해 원격 서버에 연결하고, 제2 VPN 연결은 모바일 디바이스를 제2 무선 네트워크를 통해 원격 서버에 연결한다. 상기 방법은 또한 데이터 프로세싱 하드웨어에 의해, 제1 VPN 연결 또는 제2 VPN 연결 중 하나를 통한 VPN을 통해 모바일 디바이스로부터 원격 서버에 데이터를 전송하는 단계를 포함한다. 원격 서버에서 데이터를 수신하면 원격 서버가 데이터를 목적지 서버로 라우팅한다.
본 개시의 구현예는 다음 구성들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 제1 무선 네트워크는 셀룰러 네트워크를 포함하고, 제2 무선 네트워크는 Wi-Fi 네트워크를 포함한다. 일부 예시에서, 상기 제1 무선 네트워크가 상기 제2 무선 네트워크와 동일한 네트워크 오퍼레이터와 연관되는 경우, 상기 네트워크 오퍼레이터는 모바일 가상 네트워크 오퍼레이터를 포함한다. 상기 제1 무선 네트워크가 상기 제2 무선 네트워크와 동일한 네트워크 오퍼레이터와 연관되는 경우, 상기 네트워크 오퍼레이터는 모바일 네트워크 오퍼레이터를 포함할 수 있다.
일부 구현예에서, 제1 VPN 연결 및 제2 VPN 연결은 각각 캐리어 중개 네트워크 연결을 포함한다. VPN이 모바일 디바이스와 원격 서버 사이에 설정되는 동안, 방법은 데이터 프로세싱 하드웨어에 의해, 모바일 디바이스를 제3 무선 네트워크에 연결하는 단계를 포함할 수 있다. 제3 무선 네트워크는 제1 및 제2 무선 네트워크의 네트워크 오퍼레이터와 상이한 네트워크 오퍼레이터와 연관된다. 또한 방법은 상기 데이터 프로세싱 하드웨어에 의해, VPN이 상기 제3 무선 네트워크를 통해 모바일 디바이스를 원격 서버에 연결하는 제3 VPN 연결을 설정하도록 허용하는 동의를 제공하도록 모바일 디바이스의 사용자에게 프롬프트하는 단계를 포함할 수 있다. 방법은 상기 모바일 디바이스의 사용자가 상기 VPN이 상기 제3 VPN 연결(122)을 설정하는 것을 허용하기 위해 동의를 제공한 경우, 상기 데이터 프로세싱 하드웨어에 의해, 상기 제3 무선 네트워크를 통해 상기 모바일 디바이스를 원격 서버에 연결하는 제3 VPN 연결을 설정함으로써 상기 VPN을 업데이트하는 단계를 포함할 수 있다.
선택적으로, VPN이 제3 VPN 연결을 설정하도록 허용하는 동의를 제공하도록 모바일 디바이스의 사용자에게 프롬프트하는 단계는 데이터 프로세싱 하드웨어에서 실행되는 그래픽 사용자 인터페이스에 그래픽 엘리먼트를 디스플레이하는 단계를 포함한다. 그래픽 엘리먼트를 통해 사용자는 VPN이 제3 VPN 연결을 설정하도록 허용하는데 동의할 수 있다. 일부 예에서, 제3 무선 네트워크는 사용자 중개 네트워크를 포함한다. 일부 구현예에서, 상기 제1 무선 네트워크가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터와 연관되는지 여부를 결정하는 단계는 상기 제1 무선 네트워크가 상기 제2 무선 네트워크와 동일한 네트워크 오퍼레이터와 연관되는지 여부를 상기 모바일 디바이스에서 실행되는 애플리케이션에 쿼리하는 단계를 포함한다.
일부 예에서, 애플리케이션은 모바일 디바이스의 가입자 식별 모듈(SIM)을 통해 검증된다. VPN을 통해 모바일 디바이스로부터 원격 서버로 데이터를 전송하는 단계는 제1 VPN 연결 또는 제2 VPN 연결 중 하나를 통한 VPN을 통해 모바일 디바이스로부터 원격 서버에 세션 토큰을 전송하는 것을 포함할 수 있다. 원격 서버가 데이터 및 세션 토큰을 수신하면, 원격 서버가 세션 토큰을 사용하여 모바일 디바이스를 식별하고 데이터를 목적지 서버로 라우팅한다. 일부 구현예에서, 원격 서버는 또한 목적지 서버로부터 수신된 응답 데이터를 제1 VPN 연결 또는 제2 VPN 연결 중 하나를 통한 VPN을 통해 모바일 디바이스에 전송할 수 있다.
일부 구현예에서, VPN을 설정하면 원격 서버가 네트워크 정책을 제1 무선 네트워크 및 제2 무선 네트워크 둘 모두에 적용한다. 네트워크 정책은 제로 레이팅(zero-rating) 또는 쓰로틀링(throttling) 중 적어도 하나를 포함할 수 있다. 선택적으로, 제1 무선 네트워크가 제2 무선 네트워크와 동일한 네트워크 오퍼레이터와 연관되지 않은 경우, 방법은 데이터 프로세싱 하드웨어에 의해 모바일 디바이스의 사용자에게 모바일 디바이스와 원격 서버 간에 VPN 설정에 대한 동의를 제공하도록 프롬프트하는 단계를 포함한다. 방법은 또한 모바일 디바이스의 사용자가 모바일 디바이스와 원격 서버 사이에 VPN을 설정하기 위한 동의를 제공하면, 데이터 프로세싱 하드웨어에 의해, 모바일 디바이스와 원격 서버 사이에 VPN을 설정하는 단계를 포함할 수 있다.
본 개시의 다른 양태는 캐리어 중개 네트워크와 사용자 중개 네트워크를 구분하고 연결하는 시스템을 제공한다. 시스템은 데이터 프로세싱 하드웨어와 상기 데이터 프로세싱 하드웨어와 통신하는 모바일 디바이스의 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 프로세싱 하드웨어에서 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들 저장한다. 상기 동작들은, 제1 무선 네트워크 및 제2 무선 네트워크에 동시에 연결된 모바일 디바이스에 대해, 상기 제1 무선 네트워크가 상기 제2 무선 네트워크와 동일한 네트워크 오퍼레이터와 연관되는지 여부를 결정하는 동작을 포함한다. 상기 제1 무선 네트워크가 상기 제2 무선 네트워크와 동일한 네트워크 오퍼레이터와 연관되는 경우, 동작들은 또한 모바일 디바이스와 원격 서버 사이에 가상 사설 네트워크(VPN)를 설정하는 동작을 포함한다. VPN은 제1 VPN 연결과 제2 VPN 연결을 포함한다. 제1 VPN 연결은 모바일 디바이스를 제1 무선 네트워크를 통해 원격 서버에 연결하고, 제2 VPN 연결은 모바일 디바이스를 제2 무선 네트워크를 통해 원격 서버에 연결한다. 상기 동작들은 또한 제1 VPN 연결 또는 제2 VPN 연결 중 하나를 통한 VPN을 통해 모바일 디바이스로부터 원격 서버에 데이터를 전송하는 동작을 포함한다. 원격 서버에서 데이터를 수신하면 원격 서버가 데이터를 목적지 서버로 라우팅한다.
본 양태는 다음 구성들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 제1 무선 네트워크는 셀룰러 네트워크를 포함하고, 제2 무선 네트워크는 Wi-Fi 네트워크를 포함한다. 일부 예시에서, 상기 제1 무선 네트워크가 상기 제2 무선 네트워크와 동일한 네트워크 오퍼레이터와 연관되는 경우, 상기 네트워크 오퍼레이터는 모바일 가상 네트워크 오퍼레이터를 포함한다. 상기 제1 무선 네트워크가 상기 제2 무선 네트워크와 동일한 네트워크 오퍼레이터와 연관되는 경우, 상기 네트워크 오퍼레이터는 모바일 네트워크 오퍼레이터를 포함할 수 있다.
일부 구현예에서, 제1 VPN 연결 및 제2 VPN 연결은 각각 캐리어 중개 네트워크 연결을 포함한다. VPN이 모바일 디바이스와 원격 서버 사이에 설정되는 동안, 동작은 모바일 디바이스를 제3 무선 네트워크에 연결하는 동작을 포함할 수 있다. 제3 무선 네트워크는 제1 및 제2 무선 네트워크의 네트워크 오퍼레이터와 상이한 네트워크 오퍼레이터와 연관된다. 또한 동작들은 VPN이 상기 제3 무선 네트워크를 통해 모바일 디바이스를 원격 서버에 연결하는 제3 VPN 연결을 설정하도록 허용하는 동의를 제공하도록 모바일 디바이스의 사용자에게 프롬프트하는 동작을 포함할 수 있다. 동작들은 상기 모바일 디바이스의 사용자가 상기 VPN이 상기 제3 VPN 연결을 설정하는 것을 허용하기 위해 동의를 제공한 경우, 상기 제3 무선 네트워크를 통해 상기 모바일 디바이스를 원격 서버에 연결하는 제3 VPN 연결을 설정함으로써 상기 VPN을 업데이트하는 동작을 포함할 수 있다.
선택적으로, VPN이 제3 VPN 연결을 설정하도록 허용하는 동의를 제공하도록 모바일 디바이스의 사용자에게 프롬프트하는 동작은 데이터 프로세싱 하드웨어에서 실행되는 그래픽 사용자 인터페이스에 그래픽 엘리먼트를 디스플레이하는 동작을 포함한다. 그래픽 엘리먼트를 통해 사용자는 VPN이 제3 VPN 연결을 설정하도록 허용하는데 동의할 수 있다. 일부 예에서, 제3 무선 네트워크는 사용자 중개 네트워크를 포함한다. 일부 구현예에서, 상기 제1 무선 네트워크가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터와 연관되는지 여부를 결정하는 단계는 상기 제1 무선 네트워크가 상기 제2 무선 네트워크와 동일한 네트워크 오퍼레이터와 연관되는지 여부를 상기 모바일 디바이스에서 실행되는 애플리케이션에 쿼리하는 단계를 포함한다.
일부 예에서, 애플리케이션은 모바일 디바이스의 가입자 식별 모듈(SIM)을 통해 검증된다. VPN을 통해 모바일 디바이스로부터 원격 서버로 데이터를 전송하는 단계는 제1 VPN 연결 또는 제2 VPN 연결 중 하나를 통한 VPN을 통해 모바일 디바이스로부터 원격 서버에 세션 토큰을 전송하는 것을 포함할 수 있다. 원격 서버가 데이터 및 세션 토큰을 수신하면, 원격 서버가 세션 토큰을 사용하여 모바일 디바이스를 식별하고 데이터를 목적지 서버로 라우팅한다. 일부 구현예에서, 원격 서버는 또한 목적지 서버로부터 수신된 응답 데이터를 제1 VPN 연결 또는 제2 VPN 연결 중 하나를 통한 VPN을 통해 모바일 디바이스에 전송할 수 있다.
일부 구현예에서, VPN을 설정하면 원격 서버가 네트워크 정책을 제1 무선 네트워크 및 제2 무선 네트워크 둘 모두에 적용한다. 네트워크 정책은 제로 레이팅(zero-rating) 또는 쓰로틀링(throttling) 중 적어도 하나를 포함할 수 있다. 선택적으로, 제1 무선 네트워크가 제2 무선 네트워크와 동일한 네트워크 오퍼레이터와 연관되지 않은 경우, 동작들은 모바일 디바이스의 사용자에게 모바일 디바이스와 원격 서버 간에 VPN 설정에 대한 동의를 제공하도록 프롬프트하는 동작을 포함한다. 동작들은 또한 모바일 디바이스의 사용자가 모바일 디바이스와 원격 서버 사이에 VPN을 설정하기 위한 동의를 제공하면, 모바일 디바이스와 원격 서버 사이에 VPN을 설정하는 동작을 포함할 수 있다.
본 개시의 하나 이상의 구현예의 세부 내용이 첨부 도면과 아래의 설명에서 기술된다. 다른 양태, 구성, 객체 및 이점은 아래의 설명, 도면 및 청구항으로부터 명백해질 것이다.
도 1은 사용자 중개 연결과 캐리어 중개 연결을 구분하고, 서로 다른 연결 사이에 멀티 네트워크를 제공하기 위한 예시적 시스템의 개략도이다.
도 2a-2c는 연결 애그리게이터의 예시적 컴포넌트의 개략도이다.
도 2d는 모바일 디바이스에서 실행되는 그래픽 사용자 인터페이스에서 렌더링된 인터렉티브 그래픽의 개략도이다.
도 3는 멀티 네트워크 커넥터의 개략도이다.
도 4a 및 4b는 모바일 디바이스에서 실행되는 그래픽 사용자 인터페이스에서 렌더링된 인터렉티브 그래픽의 개략도이다.
도 5는 캐리어 중개 네트워크와 사용자 중개 네트워크를 구분하고 연결하는 방법에 대한 동작의 예시적 구성의 흐름도이다.
도 6는 본 명세서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 기호들은 동일한 엘리먼트를 표시한다.
MNO(모바일 네트워크 사업자) 및 MVNO(모바일 가상 네트워크 사업자)와 같은 캐리어들은 점점 더 다양한 이기종 네트워크 유형(예: 셀룰러 네트워크 및 Wi-Fi 네트워크)을 통해 연결을 제공하고 있다. 현재 모바일 운영 체제(OS)는 사용자 중개 연결(예: 가정용 Wi-Fi 네트워크)과 캐리어에 의해 제공된 자격증명이 있는 Wi-Fi 액세스 포인트 또는 캐리어에 의해 제어되는 셀룰러 연결(예: LTE)과 같은 캐리어 중개 연결인 연결들 간을 명확하게 구분하지 않는다. 사용자 중개 네트워크와 캐리어 중개 네트워크는 속성이 매우 다를 수 있으므로, 두 종류의 네트워크를 동일하게 취급하면 종종 최적의 사용자 경험이 되지 않는다. 예를 들어, 캐리어는 VPN(가상 사설 네트워크)을 통해 사용자 트래픽을 터널링하여 사용자 경험을 개선하기 위해 세션 이동성을 제공하기를 원할 수 있지만, 캐리어 중개 네트워크와 사용자 중개 네트워크 간의 명확한 구분 없이는 그렇게 할 수 없다. 이 경우, 캐리어는 VPN 내에 사용자 중개 네트워크를 포함하지 못할 수 있다(예: 개인 정보 보호 문제).
또한, 모바일 디바이스는 일반적으로 사용자가 모바일 디바이스에서 라디오를 관리할 수 있도록 하는 사용자 제어를 갖는다. 예를 들어, 사용자는 Wi-Fi 라디오를 활성화/비활성화하거나 모바일(즉, 셀룰러) 데이터 라디오를 활성화/비활성화할 수 있다. 모바일 디바이스는 또한 캐리어 또는 오퍼레이터 기반이 아닌 무선 기반으로 상태 표시자를 제공한다. 모바일 디바이스의 사용자는 다수의 서로 다른 무선 연결(예: Wi-Fi 및 셀룰러 모두)의 엘리먼트를 포함할 수 있는 자신의 캐리어와의 연결을 일시적으로 비활성화하기를 원할 수 있지만 모바일 디바이스에는 그렇게 하는 편리한 방법이 부족하다. 기껏해야, 사용자는 라디오 별로 연결을 비활성화해야 해당 라디오의 모든 연결이 비활성화된다. 이는 의도하지 않은 결과를 초래할 수 있다. 예를 들어 Wi-Fi 라디오를 비활성화하여 모바일 디바이스가 캐리어에서 제공하는 Wi-Fi 네트워크에 연결되는 것을 방지하면, 해당 캐리어에서 관리하지 않는 다른 Wi-Fi 연결(예: 사용자의 홈 네트워크)에 대한 연결도 차단된다. 더욱이, 모바일 디바이스는 무선 연결(예: Wi-Fi 또는 셀룰러 연결 강도)의 시각적 표시자를 제공하지만 캐리어 연결은 제공하지 않는다. 예를 들어, Wi-Fi 강도 그래픽 상태 표시자가 사용자 중개 Wi-Fi 네트워크 또는 캐리어 중개 Wi-Fi 네트워크와 연결되어 있는지 식별할 방법이 없다.
본 명세서의 구현예는 사용자 디바이스(110)에서 실행하여 캐리어 중개 네트워크로부터 사용자 중개 네트워크를 구분하고, 멀티 네트워크 연결을 제어 및 보고하기 위한 편리한 사용자 입력 및 시각적 표시를 제공하는 연결 애그리게이터(200) 및 멀티 네트워크 제어기(300)에 관한 것이다. 본 명세서에서 사용된 바와 같이, 사용자 디바이스(110)는 사용자 장비(UE) 디바이스 또는 모바일 디바이스로 상호교환적으로 지칭될 수 있다. 도 1을 참조하면, 일부 구현예에서, 예시적인 무선 통신 환경(100)은 다수의 무선 네트워크들(120, 120a-n)을 통해 외부 네트워크(40)와 통신하는 모바일 디바이스(110)를 포함한다. 예를 들어, 사용자 디바이스(110)는 셀룰러 네트워크(120a) 및 Wi-Fi 네트워크(120b)를 통해 외부 네트워크(40)와 통신할 수 있다. 이들 무선 네트워크(120)는 단지 예시적이며 사용자 디바이스(110)는 다른 유형의 무선 네트워크(예를 들어, CBRS(Citizens Broadband Radio Service), 블루투스 등)를 사용하여 외부 네트워크(40)와 통신할 수 있다. 셀룰러 네트워크(120a)는 예를 들어 매크로 셀 진화형 노드 B(MeNB)와 같은 기지국을 통해 외부 네트워크(40)로부터 사용자 디바이스(110)에 데이터 패킷(50) 및/또는 다른 서비스의 무선 통신을 지원하는 GPRS(General Packet Radio Service) 네트워크, UMTS(Universal Mobile Telecommunications System) 네트워크, HSPA(High Speed Packet Access) 네트워크, H+(Enhanced-HSPA) 네트워크, EDGE(Enhanced Data Rates for Global System for Mobile communications)(GSM) 네트워크 또는 LTE(Long-Term Evolution) 무선 액세스 네트워크(RAN)(예: 4G/5G LTE)를 포함할 수 있다. Wi-Fi 네트워크(120b)는 데이터 패킷(50)의 무선 통신도 지원하는 Wi-Fi의 임의의 버전(예를 들어, 802.11n, 802.11ac 등)을 포함할 수 있다. 일부 예에서, 사용자 디바이스(110)는 동일한 유형의 다수의 무선 네트워크(120)에 동시에 연결한다. 예를 들어, 사용자 디바이스(110)는 상이한 캐리어들(70)에 의해 운영되는 2개의 개별 셀룰러 네트워크들(120a)에 동시에 연결하기 위한 능력을 포함할 수 있다.
셀룰러 네트워크(120a)는 셀룰러 네트워크(120a)를 통해 가입 사용자 디바이스(110)에 무선 통신 서비스를 제공하는 모바일 네트워크 오퍼레이터(MNO) 또는 모바일 가상 네트워크 오퍼레이터(MNVO)와 연관된다. MNO 또는 MVNO는 또한 무선 서비스 제공자, 무선 캐리어, 셀룰러 회사, 모바일 네트워크 오퍼레이터 또는 모바일 네트워크 캐리어로 지칭될 수 있다. "캐리어"라는 용어는 본 명세서에서 MNO 또는 MVNO를 지칭하기 위해 사용될 수 있다. "네트워크 오퍼레이터"라는 용어는 무선 네트워크(120)를 운영하거나 중개하는 엔터티를 지칭하기 위해 여기에서 사용될 수 있으며, 이는 캐리어 중개 무선 네트워크(120)를 운영/중개하는 캐리어(예: MNO 또는 MVNO) 또는 사용자 중개 무선 네트워크(120)를 운영/중개하는 사용자(10)를 포함할 수 있다.
본 명세서에서 사용되는 바와 같이, 캐리어 중개 무선 네트워크(120)는 사용자 디바이스(110)가 캐리어에 의해 제공되는 서비스에 가입하는 단일 특정 캐리어(70)(예를 들어, MNO 또는 MVNO)에 의해 관리 또는 중개 또는 제어되는 임의의 무선 네트워크(120)를 포함한다. 즉, 사용자(10)는 무선 네트워크(120)를 제어하거나 관리하지 않는다. 캐리어 중개 네트워크(120)는 캐리어 제공 SIM 프로필 또는 캐리어 제공 SIM 프로필에 의해 인증될 수 있는 캐리어 제공 애플리케이션이 자격증명을 제공한 경우와 같이 캐리어가 자격증명을 제공한 네트워크이다. 예를 들어, UICC 상에서 제공되는 SIM 프로필은 사용자 디바이스(110)가 셀룰러 네트워크(120)에 접속하고 인증하게 한다. 또는, 캐리어 애플리케이션은 SIM 프로필에 액세스하기 위해 운영 체제(111)에 의해 인증된다. 캐리어 애플리케이션은 캐리어의 개인 키로 암호화 서명되고 SIM 프로필에 포함된 애플리케이션의 서명을 통해 인증될 수 있다. 캐리어 애플리케이션은 예를 들어 Wi-Fi 액세스 포인트에 액세스하기 위한 자격증명을 제공하기 위해 운영 체제(111)에 의해 승인된다. 일부 예에서 인증된 캐리어 애플리케이션은 WPA 암호 또는 Hotspot2.0 인증서를 제공할 수 있거나; 또는 액세스 포인트에 연결하는데 자격증명이 필요하지 않은 개방형 네트워크의 경우, 캐리어는 사용자 개입 없이, 사용자 디바이스(110)가 액세스 포인트에 연결하게 하거나 사용자가 수락하거나 거부할 수 있는 네트워크에 연결하라는 제안이 이루어지도록 한다. 개방형 네트워크(120)에 대한 캐리어 중개 연결의 경우, 약관을 수락하거나 암호 또는 기타 로그인 정보를 제공하는 것과 같이 인터넷 액세스를 얻기 위해 "캡티브 포털"을 우회하는 추가 단계가 필요할 수 있다. 캡티브 포털이 있는 개방형 네트워크(120)에 대한 캐리어 중개 연결의 경우, 캐리어는 사용자를 대신하여 약관을 수락하거나 자동화된 방식으로 이메일 주소, 암호 또는 기타 로그인 정보를 제공할 수 있다. 자동화된 방식은 WISPr과 같은 프로토콜을 통해 또는 웹 양식의 자동화된 제출을 통해 로그인 정보를 제공하는 것을 의미할 수 있다. 단일 사용자 디바이스(110)는 다수의 캐리어 중개 무선 네트워크(120)를 동시에 지원할 수 있다.
사용자 중개 무선 네트워크(120)는 사용자 디바이스(110)가 명시적으로 가입하지 않은 네트워크 오퍼레이터(70)와 연관된 임의의 무선 네트워크(120)를 포함하여, 사용자 중개 무선 네트워크(120)가 궁극적으로 사용자(10)에 의해 관리 또는 중개 또는 제어되도록 한다. 사용자 중개 네트워크는 사용자가 액세스 포인트(예: WPA 암호 또는 사용자 설치 인증서(예: Hotspot2.0 인증서))에 연결하기 위해 필요한 경우 자신의 자격증명을 제공한 네트워크이거나; 또는 액세스 포인트에 연결하기 위한 자격증명이 필요하지 않은 개방형 네트워크의 경우, 사용자가 목록에서 네트워크를 선택하거나 운영 체제의 제안을 수락하는 등 네트워크에 연결하기 위해 적극적인 액션을 취한 네트워크이다. 임의의 선택은 디바이스가 네트워크에 처음 노출될 때만 발생할 수 있다. 사용자 중개 개방형 네트워크에서, 약관을 수락하거나 이메일 주소, 암호 또는 기타 로그인 정보를 제공하는 것과 같이 인터넷 액세스를 얻기 위해 "캡티브 포털"을 우회하는 추가적인 수동적 단계가 필요할 수 있다.
단일 디바이스, 예를 들어 액세스 포인트는 사용자 중개 네트워크와 캐리어 중개 네트워크 둘 모두에 대한 액세스를 제공할 수 있다. AP를 소유, 임대 또는 제어하는 사용자는 액세스 포인트를 사용하여 다른 사람이 인터넷에 액세스할 수 있도록 할 수 있다. 예를 들어 사용자는 사용자가 다른 사람에게 제공하는 WEP 암호를 생성한다. 이러한 방식으로 액세스할 때 액세스 포인트는 사용자 중개 네트워크에 대한 액세스를 제공한다. 케이블 서비스 제공자 또는 DSL 서비스 제공자는 동일한 액세스 포인트에서 캐리어 중개 네트워크 서비스를 운영할 수 있다. 캐리어 앱에서 제공한 HS2.0 인증서가 있는 디바이스는 동일한 액세스 포인트에 자동으로 연결할 것이다. 사용자 개입이나 암호가 필요하지 않다.
사용자가 인터넷 서비스 제공자(ISP)에 대응하는 네트워크 오퍼레이터(70)에 의해 제공되는 인터넷 서비스에 대한 계약을 가지고 있고, 따라서 임의의 주어진 시간에 인터넷 서비스에 연결하기 위해 다수의 서로 다른 무선 가능 사용자 디바이스(110) 중 임의의 하나를 선택할 수 있는 예에서, 인터넷 서비스를 사용하기 위해 선택된 사용자 디바이스(110)에 의해 액세스되는 무선 네트워크(120)(예를 들어, Wi-Fi 네트워크(120b))는 사용자 중개 무선 네트워크(120)에 대응한다. 여기서, 사용자(10)는 인터넷 서비스에 접속하는 모뎀뿐만 아니라 모뎀과 통신하는 무선 액세스 포인트(AP)(예: 무선 라우터)를 제어하여 선택된 사용자 디바이스(110)가 인터넷 서비스를 사용하기 위해 무선 연결을 설정할 수 있는 LAN(Local Area Network)을 제공할 수 있다. 다른 예에서, 사용자 중개 무선 네트워크(120)는 단순히 사용자 디바이스(110)와 사용자 디바이스(110)에 근접한 다른 디바이스 사이의 블루투스 연결(또는 다른 무선 연결)을 포함할 수 있다. 다른 한편으로, 사용자(10)와 연관된 특정한 사용자 디바이스(110)가 특정한 캐리어(70)(예를 들어, MNO 또는 MVNO)에 의해 제공되는 무선 통신의 서비스에 가입하면, 무선 통신 서비스를 수신하기 위해 가입한 사용자 디바이스(110)에 의해 액세스되는 무선 네트워크(120)(예를 들어, 셀룰러 및/또는 Wi-Fi 네트워크(120a, 120b))는 캐리어 중개 무선 네트워크(120)에 대응한다. 일부 구현예에서, 사용자 디바이스(110) 상에 설치된 가입자 식별 모듈(SIM)은 특정 캐리어(70)와 연관된 캐리어 중개 무선 네트워크(120)에 연결하기 위해 사용자 디바이스(110)를 활성화 및 인증하기 위해 특정 캐리어(70)에 의해 정의된 프로필을 포함한다. 그러나 사용자(10)가 다른 사용자 디바이스(110)를 특정 캐리어(70)와 연관된 이러한 캐리어 중개 무선 네트워크(120)에 연결하기를 원하면, 이러한 다른 사용자 디바이스(110) 각각은 특정 캐리어(70)가 제공하는 무선 통신 서비스에 개별적으로 가입해야 한다. 이러한 구현예에서, 사용자 디바이스(110)는 특정 캐리어(70) 이외의 하나 이상의 네트워크 오퍼레이터(70)와 연관된 사용자 중개 무선 네트워크(120)에 자유롭게 연결할 수 있다. 사용자 디바이스(110)가 도시된 예에서 모바일 디바이스(110)로 도시되어 있지만, 사용자 디바이스(110)는 제한 없이, 태블릿, 랩톱, 데스크톱, 스마트 워치, 스마트 스피커, 스마트 디스플레이, 스마트 가전 등과 같은 무선 네트워크(120)에 연결할 수 있는 임의의 디바이스를 포함할 수 있다.
사용자 디바이스(110)는 컴퓨팅 리소스(112)(예를 들어, 데이터 프로세싱 하드웨어) 및/또는 저장 리소스(114)(예를 들어, 메모리 하드웨어)를 포함한다. 데이터 프로세싱 하드웨어(112)는 데이터 프로세싱 하드웨어(112), 연결 애그리게이터(200) 및 멀티 네트워크 제어기(300)와 통신하여 화면(119)에 디스플레이하기 위한 그래픽 사용자 인터페이스(GUI)(115)를 실행한다. 데이터 프로세싱 하드웨어(112)는 운영 체제(111) 및 하나 이상의 애플리케이션(116)을 더 실행한다. 일부 구현예에서, 운영 체제(111)는 연결 애그리게이터(200) 및 멀티 네트워크 제어기(300)의 기능을 실행한다.
사용자 디바이스(110)는 다양한 상이한 운영 체제(111)를 사용할 수 있다. 사용자 디바이스(110)가 모바일 디바이스인 예에서, 사용자 디바이스(110)는 Google Inc.에 의해 개발된 ANDROID®Apple Inc.에 의해 개발된 IOS®또는 Microsoft에 의해 개발된 WINDOWS PHONE®을 포함하는(이에 한정되지 않음) 운영 체제를 실행할 수 있다. 따라서, 사용자 디바이스(110)에서 실행되는 운영 체제(111)는 ANDROID®IOS®또는 WINDOWS PHONE®중 하나를 포함할 수 있지만 이에 한정되지는 않다. 일부 예에서 사용자 디바이스는 Microsoft Corporation의 MICROSOFT WINDOWS®Apple, Inc.의 MAC OS®또는 Linux를 포함하지만 이에 한정되지 않는 운영 체제를 실행할 수 있다.
사용자 디바이스(110)는 적어도 하나의 모뎀(165)(기저대역 또는 기저대역 프로세서로도 지칭됨)을 더 포함한다. 모뎀(165)은 사용자 디바이스가 오퍼레이터 네트워크(120)와 무선으로 통신할 수 있게 하는 하나 이상의 안테나를 포함한다. 모뎀(165)은 다양한 주파수(예를 들어, 700MHz, 900MHz, 2.4GHz, 5.0GHz 등)에서 동시에 동작하는 하나 이상의 라디오와 통신할 수 있다. 모뎀(165)은 송수신 기능을 제공하기 위한 다양한 컴포넌트를 포함할 수 있다(프로세서, 메모리 등). 일부 구현예에서, 데이터 프로세싱 하드웨어(110)는 모뎀(165)을 포함한다. 즉, 데이터 프로세싱 하드웨어(112)에 의해 실행되는 작업은 일부 예에서, 모뎀(165)에 의해 대신 실행될 수 있고, 그 반대도 가능하다.
사용자 디바이스(110)는 특정 유형의 캐리어 중개 무선 네트워크(120)를 식별하고 사용자 디바이스(110)를 연결하기 위한 하나 이상의 대응하는 SIM(가입자 식별 모듈)(350)을 더 포함한다. 예를 들어, SIM(350)은 사용자 디바이스(110)가 외부 네트워크(40)를 통해 목적지 서버(60)에 액세스하기 위해 셀룰러 네트워크(120a)와 연결하도록 승인하기 위한 자격증명을 갖는 대응하는 SIM 프로필을 포함할 수 있다. 유사하게, SIM(350)은 사용자 디바이스(110)가 셀룰러 네트워크(120a)를 관리하는 네트워크 오퍼레이터가 아닌 네트워크 오퍼레이터(70)에 의해 관리되는 다른 캐리어 중개 무선 네트워크(120)와 연결하도록 승인하기 위한 대응하는 자격증명을 갖는 하나 이상의 추가 SIM 프로필을 포함할 수 있다. 일부 예에서, 하나 이상의 SIM(350)은 하나 이상의 임베디드 SIM(eSIM) 및 하나 이상의 물리적 SIM의 임의의 조합을 포함한다.
연결 애그리게이터(200)는 사용자 디바이스(110)와 원격 서버(130) 사이에 VPN(가상 사설 네트워크)(30)을 설정한다. VPN(30)은 사용자 디바이스(110)를 동일한 네트워크 오퍼레이터(70)(즉, 캐리어)에 의해 운영 또는 관리되는 각각의 공중 캐리어 중개 무선 네트워크(120)에 연결하기 위한 대응하는 VPN 연결(122, 122a-n)을 제공한다. 일부 구현예에서, VPN(30)은 다수의 상이한 네트워크 오퍼레이터(70)에 의해 관리되는 무선 네트워크에 연결하기 위한 연결(122)을 제공한다. 도시된 예에서, 연결 애그리게이터(200)는 사용자 디바이스(110)를 셀룰러 네트워크(120a)(예를 들어, 제1 무선 네트워크)를 통해 원격 서버(130)에 연결하는 셀룰러 VPN 연결(122a)를 사용하여 그리고 사용자 디바이스(110)를 Wi-Fi 네트워크(120b)(예를 들어, 제2 무선 네트워크)를 통해 원격 서버(130)에 연결하는 Wi-Fi VPN 연결(122b)을 사용하여 사용자 디바이스(110)와 원격 서버(130) 사이에 VPN(30)을 설정한다.
원격 서버(130)는 연결된 무선 네트워크(120) 중 하나를 통해 연결 애그리게이터(200)에 의해 라우팅된 사용자 디바이스(110)로부터 데이터 패킷(50)을 수신하고, 외부 네트워크(40)를 통해 목적지 서버(60)로 데이터 패킷(50)을 포워딩하는 VPN 백엔드 서비스(132)를 실행한다. 외부 네트워크(40)는 인터넷일 수 있는 패킷 데이터 네트워크(PDN)를 포함할 수 있다. 외부 네트워크(40)는 사용자 디바이스(110) 또는 무선 네트워크(120)를 동작시키는 캐리어(70)와 관련된 임의의 네트워크로부터 독립적일 수 있다. 목적지 서버(60)는 사용자 디바이스(110) 상에서 실행되는 애플리케이션(116)이 데이터 패킷(50)을 송수신하는 임의의 원격 서버일 수 있다. 예를 들어, 목적지 서버(60)는 웹 콘텐츠를 호스팅하는 웹 서버일 수 있다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스가 작업을 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예시적 애플리케이션은 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지보수 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션을 포함하지만 이에 한정되지는 않는다.
(예를 들어, 목적지 서버(60)로부터) 사용자 디바이스(110)에 전송된 다운스트림 데이터 패킷(50)은 원격 VPN 서버(130)로 보내지고, 원격 VPN 서버는 VPN 연결(122) 중 하나를 통해 데이터 패킷(50)을 연결 애그리게이터(200)에 포워딩한다. 연결 애그리게이터(200)는 데이터 패킷(50)을 수신하고, 패킷을 사용자 디바이스(110) 상에서 실행하는 적절한 애플리케이션(116)에 전송한다.
일부 구현예에서, 원격 VPN 서버(130)는 데이터 패킷(50)을 목적지 서버(60)로 송수신할 때, 다수의 상이한 무선 네트워크 연결(122)을 통한 다수의 상이한 무선 네트워크(120)를 통해 데이터 패킷(50)을 사용자 디바이스(110)에 송수신함에도 불구하고, 동일한 인터넷 프로토콜(IP) 주소를 유지한다. 따라서, 목적지 서버(60)의 관점에서, 사용자 디바이스(110)의 겉보기 IP 주소(즉, 원격 서버(130)의 IP 주소)는 어떤 무선 연결(122)이 데이터 패킷(50)을 사용자 디바이스(110)와 목적지 서버(60) 사이에서 라우팅하는데 사용되는지에 관계없이 변경되지 않는다. 더욱이, 사용자 디바이스(110) 상에서 실행되는 애플리케이션(116)이 목적지 서버(60)에 데이터 패킷(50)을 송수신하는데 사용되는 특정 무선 연결(122)에 불가지론적이기 때문에, 연결 애그리게이터(200) 및 원격 VPN 서버(130)는 다수의 무선 연결(122)을 목적지 서버(60) 및 사용자 디바이스(110) 상에서 실행하는 애플리케이션(116)의 관점에서 단일 연결로 추상화할 수 있다.
일부 구현예에서, 연결 애그리게이터(200) 및 원격 VPN 서버(130)는 다수의 상이한 무선 네트워크(120)를 통해 데이터 패킷(50)을 송수신하면서 세션 연속성을 제공한다. 세션 연속성은 서로 다른 무선 네트워크(120) 사이를 전환할 때 사용자(10)에 대한 중단 없는 연결을 의미한다. 세션 연속성을 유지하기 위해, 원격 VPN 서버(130)는 사용자 디바이스(110)(즉, 연결 애그리게이터(200))를 인증한 후, 세션 토큰(210)을 연결 애그리게이터(200)에게로 전송할 수 있다. 세션 토큰(210)은 사용자 디바이스(110)를 고유하게 식별한다. 연결 애그리게이터(200)가 무선 네트워크(120)를 통해 원격 VPN 서버(130)에 데이터 패킷(50)을 전송할 때, 연결 애그리게이터(200)는 또한 사용자 디바이스(110)를 식별하는 세션 토큰(210)을 전송할 수 있다. 세션 토큰(210)은 원격 VPN 서버(130)에 의해 수신되면 연결 애그리게이터(200)가 사용자 디바이스(110)와 원격 VPN 서버(130)를 연결하기 위해 사용하는 무선 연결(122)과 무관하게 원격 VPN 서버(130)로 하여금 사용자 디바이스(110)를 식별하게 할 수 있다. 예를 들어, 사용자 디바이스(110)가 셀룰러 네트워크(120a) 및 Wi-Fi 네트워크(120b)에 동시에 연결되는 경우, 사용자 디바이스(110)는 셀룰러 네트워크 연결(122a)과 연관된 제1 IP 주소 및 제1 IP 주소와 다른 Wi-Fi 연결(122b)과 연관된 제2 IP 주소를 가질 수 있다. 이 예에서, 사용자 디바이스(110)가 업스트림 데이터 패킷(50)을 전송하면, 연결 애그리게이터(200)는 Wi-Fi 네트워크(120b) 상에서 데이터 패킷(50)을 Wi-Fi 연결(122b)을 통해 원격 VPN 서버(130)로 라우팅하고 세션 토큰(210)을 제시할 수 있다. 그런 다음, 사용자 디바이스(110)는 Wi-Fi 네트워크(120b)의 범위를 벗어날 수 있고, 연결 애그리게이터(200)는 셀룰러 네트워크(120a) 상에서 후속 업스트림 데이터 패킷(50)을 셀룰러 연결(122a)을 통해 원격 VPN 서버(130)로 라우팅하고 동일한 세션 토큰(210)을 다시 제시할 수 있다. 따라서, 원격 VPN 서버(130)는 Wi-Fi 연결(122b)과 연관된 IP 주소로부터 셀룰러 연결(122a)과 연관된 후속 IP 주소로의 IP 주소의 변경에도 불구하고 사용자 디바이스(110)를 고유하게 식별할 수 있다.
일부 예에서, 원격 VPN 서버(130)는 수신된 세션 토큰(210)에 기초하여 데이터 패킷들(50)을 어디로 보낼지에 대한 이해를 업데이트할 수 있다. 일부 구현예에서, 원격 VPN 서버(130)는 동일한 무선 네트워크(120) 및 마지막 세션 토큰(210)이 원격 VPN 서버(130)에 제시되었을 때 연결 애그리게이터(200)에 의해 사용되었던 대응하는 무선 연결(122)을 사용하여 다운스트림 데이터 패킷(50)을 사용자 디바이스(110)에 전송한다. 전송 실패의 경우, 원격 VPN 서버(130)는 사용자 디바이스(110)와의 통신을 재설정하려는 시도에서 이전 무선 연결(122)로 폴백할 수 있다.
계속해서 도 1을 참조하면, 데이터 프로세싱 하드웨어(112)는 또한 멀티 네트워크 제어기(300)를 실행한다. 멀티 네트워크 제어기(300)는 사용자 디바이스(110)의 화면(119)에 디스플레이된 GUI(115)에 상태 그래픽(320)을 렌더링한다. 상태 그래픽(320)은 사용자 디바이스(110)가 현재 적어도 하나의 캐리어 중개 무선 네트워크(120)에 연결되어 있음을 나타낸다. 여기서, 상태 그래픽(320)은 사용자 디바이스(110)가 셀룰러 네트워크(120a) 및/또는 Wi-Fi 네트워크(120b)에 연결되어 있음을 사용자 디바이스(110)의 사용자(10)에게 표시한다. 일부 예에서, 멀티 네트워크 제어기(300)는 제2 상태 그래픽(320)(도시되지 않음)을 렌더링하여 제1 상태 그래픽(320)과 연관된 오퍼레이터(70)와 상이한 오퍼레이터(70)와의 캐리어 중개 무선 네트워크 또는 사용자 중개 무선 네트워크에 대한 연결을 표시한다. 멀티 네트워크 제어기(300)는 모바일 디바이스(110)에 대한 무선 연결(122)의 오퍼레이터(70)의 임의의 수를 반영하기 위해 임의의 수의 상태 그래픽(320)을 렌더링할 수 있다.
멀티 네트워크 제어기(300)는 일부 구현예에서, 사용자 디바이스(110)와 동일한 캐리어 또는 네트워크 오퍼레이터(70)와 연관된 임의의 사용 가능한 캐리어 중개 무선 네트워크(120) 사이의 무선 연결(122)을 비활성화하기 위한 사용자 입력 표시(312)를 수신하도록 구성된 인터렉티브 그래픽(330)을 렌더링한다. 인터렉티브 그래픽(330)은 버튼, 스위치, 슬라이더 또는 토글과 같은 다양한 형태를 취할 수 있다. 다른 형태의 사용자 입력도 사용자 입력 표시(312)를 제공할 수 있다. 예를 들어, 사용자(10)는 사용자 디바이스(110)의 마이크로폰에 의해 녹음될 수 있는 음성 명령을 말함으로써 사용자 입력 표시(312)를 선택적으로 제공할 수 있다. 도시된 예에서, 인터렉티브 그래픽(330)은 사용자(10)에 의해 선택된 경우, 사용자(10)가 사용자 디바이스(110)를 대응하는 캐리어/네트워크 오퍼레이터(70)와 연관된 모든 무선 연결(122)로부터 연결해제하기를 원한다는 것을 나타내는 사용자 입력 표시(312)를 제공하는 GUI(115) 상에 렌더링된 "캐리어 토글"로 라벨링된 그래픽 버튼(330)을 포함한다. 사용자 디바이스(110)가 하나 이상의 상이한 캐리어(70)와 연관된 다수의 캐리어 중개 무선 네트워크(120)에 무선 연결(122)을 제공하면, 멀티 네트워크 제어기(300)는 GUI(115) 상의 각 캐리어(70)에 대한 각각의 인터렉티브 그래픽(330)을 렌더링할 수 있어, 사용자(10)가 캐리어-대-캐리어 기반으로 캐리어 중개 무선 네트워크(120)를 제어하게 한다. 대안적으로, 멀티 네트워크 제어기(300)는 각 네트워크(120)를 중개하는 특정 캐리어(70)에 관계없이 모든 캐리어 중개 네트워크(120)의 연결을 해제하기 위한 인터렉티브 그래픽(330)을 렌더링할 수 있다.
인터렉티브 그래픽(330)의 선택을 나타내는 사용자 입력 표시(312)를 수신하는 것에 응답하여, 멀티 네트워크 제어기(300)는 캐리어/네트워크 오퍼레이터(70)와 연관된 하나 이상의 캐리어 중개 무선 네트워크(120) 각각으로부터 사용자 디바이스(110)의 연결을 해제할 수 있고, 모바일 디바이스(110)가 현재 대응하는 캐리어/네트워크 오퍼레이터(70)와 연관된 임의의 캐리어 중개 무선 네트워크(120)에 연결되어 있지 않음을 나타내도록 상태 그래픽(320)을 업데이트할 수 있다. 선택적으로, 인터렉티브 그래픽(330)의 선택을 나타내는 사용자 입력 표시(312)를 수신하는 것에 응답하여, 멀티 네트워크 제어기(300)는 다른 네트워크 오퍼레이터(70)와 연관된 하나 이상의 네트워크(120)에 연결할 수 있다. 예를 들어, 캐리어 중개 Wi-Fi 네트워크(120b)로부터 연결 해제한 후, 멀티 네트워크 제어기(300)는 범위 내에 있고 사용 가능한 경우 사용자 중개 Wi-Fi 네트워크(120b)에 자동으로 연결할 수 있다(또는 사용자(10)에게 연결하도록 프롬프트할 수 있다) . 일부 구현예에서, 사용자 입력 표시(312) 수신에 응답하여 캐리어 중개 무선 네트워크로부터 연결 해제할 때, 멀티 네트워크 제어기(300)는 사용자 디바이스(110)와 다른 오퍼레이터(70)에 의해 중개된 무선 네트워크(120) 사이의 임의의 기존 무선 네트워크 연결(122)을 유지할 수 있다(즉, 사용자 중개 네트워크와 연관된 다른 캐리어 또는 네트워크 오퍼레이터).
일부 구현예에서, 인터렉티브 그래픽(330)은 또한 사용자 디바이스(110)와 각각의 캐리어(70)와 연관된 임의의 사용 가능한 캐리어 중개 무선 네트워크(120) 사이의 연결을 가능하게 하기 위한 사용자 입력 표시(312)를 수신하도록 구성된다. 예를 들어, 사용자 디바이스(110)에 연결되고 연관된 캐리어(70)에 의해 작동되는 모든 캐리어 중개 무선 네트워크(120)를 연결 해제하기 위한 인터렉티브 그래픽(330)의 선택을 나타내는 제1 사용자 입력 표시(312)를 수신한 후, 인터렉티브 그래픽(330)의 선택을 나타내는 후속 제2 사용자 입력 표시(312)는 사용자 디바이스(110)가 대응하는 무선 연결(122)을 통해 캐리어 중개 무선 네트워크(120)를 활성화하거나 재연결하게 할 수 있다. 도시된 예에서, 동일한 인터렉티브 그래픽(330)이 캐리어 중개 무선 네트워크(120)의 활성화 및 비활성화 사이를 토글하는 데 사용되지만, 별도의 인터렉티브 그래픽, 예를 들어 활성화를 위한 제1 인터렉티브 그래픽 및 비활성화를 위한 제2 인터렉티브 그래픽이 대신 사용될 수 있다. 추가적으로, 인터렉티브 그래픽(330)은 인터렉티브 그래픽(330)과의 인터렉션이 캐리어 중개 네트워크(120)를 활성화 또는 비활성화할 것인지를 반영하도록 업데이트(예를 들어, 텍스트 정보)할 수 있다.
멀티 네트워크 제어기(300)가 특정 네트워크 오퍼레이터(70)와 연관된 캐리어 중개 무선 네트워크(120)를 비활성화하기 위해 인터렉티브 그래픽(330)의 선택을 나타내는 사용자 입력 표시(312)를 수신하면, 멀티 네트워크 제어기(300)는 특정 네트워크 오퍼레이터(70)와 연관된 각각의 캐리어 중개 무선 네트워크(120)로부터 사용자 디바이스(110)의 연결을 해제함으로써 응답한다. 멀티 네트워크 제어기(300)는 또한 상태 그래픽(320)을 업데이트하여 사용자 디바이스(110)가 네트워크 오퍼레이터(70)와 연관된 임의의 캐리어 중개 무선 네트워크(120)에 현재 연결되어 있지 않다는 것을 표시할 수 있다. 일부 구현예에서, 단일 상태 그래픽(320)은 사용자 디바이스(110)에 의한 임의의 수의 캐리어 중개 무선 네트워크(120)에 대한 연결을 표시하고, 다른 구현예에서, 멀티 네트워크 제어기(300)는 사용자 디바이스(110)가 연결되고 연결 해제될 수 있는 하나 이상의 캐리어 중개 무선 네트워크(120)를 제공하는 각각의 캐리어/네트워크 오퍼레이터(70)를 각각 표현하는 GUI(115)의 다수의 상태 그래픽(320)을 렌더링한다. 일부 구현예에서, 단일 상태 그래픽(320)은 단일 캐리어 네트워크(70)에 의해 제공되는 모든 서비스에 대한 사용자 디바이스(110)에 의한 연결을 표시한다. 이러한 구현예에서, 상태 그래픽(320)이 사용자 디바이스(110)가 특정 네트워크(70)에 의해 제공되는 서비스에 연결되어 있지 않음을 나타낼 때, 사용자 디바이스(110)는 여전히 별개의 캐리어에 의해 제공되는 다른 캐리어 중개 무선 네트워크(120) 또는 사용자 중개 무선 네트워크(120)에 연결되어 있을 수 있다. 다수의 개별 그래픽이 사용자 디바이스(110) 상에 제공될 수 있으며, 이러한 경우에 각각의 캐리어 중개 무선 네트워크(120) 및/또는 각각의 사용자 중개 무선 네트워크에 대해 하나씩 제공될 수 있다.
일부 예에서, 멀티 네트워크 제어기(300)는 캐리어 중개 무선 네트워크(120)가 사용자(10)에 의해 활성화 또는 비활성화되었을 때를 나타내는 표시(340)를 연결 애그리게이터(200)에 제공한다. 연결 애그리게이터(200)는 캐리어 중개 무선 네트워크(120)가 적절한 무선 연결(122)을 종료하고 및/또는 VPN(30)으로부터 연결 해제하기 위해 비활성화되었을 때를 나타내는 표시(340)를 사용할 수 있다. 일부 구현예에서, 사용자 디바이스(110)는 VPN(30)에 대한 기존 연결을 유지하지만, 연결 애그리게이터(200)는 VPN(30)을 통한 데이터 패킷(50) 전송을 중단하고, 원격 VPN 서버(130)로부터 수신된 데이터 패킷(50)을 사용자 디바이스(110) 상에서 실행하는 애플리케이션(116)으로 포워딩하는 것을 중단할 것이다.
이제 도 2a 내지 도 2d를 참조하면, 일부 구현예에서, 연결 애그리게이터(200)는 VPN 클라이언트(230)를 포함한다. VPN 클라이언트(230)는 동일한 사설 네트워크, 예를 들어 VPN(30) 내에 사용자 디바이스(110) 및 원격 서버(130)를 포함하도록 공용 무선 네트워크(120)를 통해 (예를 들어, 터널링 프로토콜을 사용하여) 지점간 연결(122)을 설정한다. VPN 클라이언트(230)는 데이터 패킷(50)을 보호하기 위해 보안 및 프라이버시 기능의 호스트를 구현할 수 있다. 예를 들어, VPN 클라이언트(230)는 인증 및/또는 암호화를 구현할 수 있다. 일부 예에서, VPN 클라이언트(230)는 패스워드, 생체 인식, 디지털 인증서 및 2-팩터 인증 중 임의의 것 또는 전부를 사용하여 VPN 백엔드 서비스(132)로 인증한다.
VPN 클라이언트(230)는 일부 예에서 VPN 파라미터(240)를 수신한다. VPN 파라미터(240)는 네트워크 선택 기준(240a) 및 네트워크 연결 품질 데이터(240b)를 포함할 수 있다. VPN 클라이언트(230)는 VPN 파라미터(240)를 사용하여 다수의 무선 연결(122)이 동시에 활성화될 때 데이터 패킷(50)을 전송할 연결된 무선 네트워크 연결(122)을 결정할 수 있다. 일부 구현예에서, 선택 기준(240a)은 무선 연결들(122) 사이의 우선순위를 식별한다. 예를 들어, 선택 기준(240a)은 Wi-Fi 네트워크 연결(122b)이 셀룰러 네트워크 연결(122a)보다 더 높은 우선순위를 가지며, 두 연결(122)이 동시에 활성화된 경우, VPN 클라이언트(230)가 셀룰러 네트워크 연결(122a) 보다는 Wi-Fi 네트워크 연결(122b)을 사용할 것임을 나타낼 수 있다. 다시 말해서, 사용자 디바이스(110)가 동일한 네트워크 오퍼레이터(70)와 연관된 적어도 2개의 캐리어 중개 무선 네트워크에 동시에 연결된 경우, 선택 기준(240a)은 적어도 2개의 캐리어 중개 네트워크(120) 중 하나를 네트워크 오퍼레이터(70)와 연관된 우선순위 캐리어 중개 무선 네트워크(120)로 식별할 수 있다. 선택적으로, 멀티 네트워크 제어기(300)는 모바일 디바이스(110)가 현재 우선순위 캐리어 중개 무선 네트워크(120)에 연결되어 있음을 나타내기 위해 상태 그래픽(320)을 사용할 수 있다.
일부 예에서, VPN 클라이언트(230)는 연결 품질 데이터(240b)에 적어도 부분적으로 기초하여 어떤 연결(122)을 사용할지를 결정할 수 있다. 연결 품질 데이터(240b)는 모바일 디바이스(110)와 원격 VPN 서버(130) 사이의 각각의 무선 연결(122)의 품질을 정량화할 수 있다. VPN 클라이언트(230)는 가장 높은 연결 품질을 갖는 네트워크 연결(122)을 식별하고 식별된 네트워크 연결을 사용하여 데이터 패킷(50)을 전송할 수 있다. 다시 말해서, 사용자 디바이스(110)가 동일한 네트워크 사업자(70)와 연관된 적어도 2개의 캐리어 중개 무선 네트워크에 동시에 연결되는 경우, VPN 클라이언트(230)는 적어도 2개의 캐리어 중개 무선 네트워크(120) 중 어느 캐리어 중개 무선 네트워크(120)가 연결 품질 데이터(240b)에 기초하여 가장 높은 연결 품질과 연관되는지 식별할 수 있다. 선택적으로, 멀티 네트워크 제어기(300)는 모바일 디바이스(110)가 현재 가장 높은 연결 품질을 갖는 캐리어 중개 무선 네트워크(120)에 연결되어 있음을 나타내기 위해 상태 그래픽(320)을 사용할 수 있다. 예를 들어, GUI(115)에서 렌더링된 상태 그래픽은 모바일 디바이스(110)와 가장 높은 연결 품질과 연관된 식별된 캐리어 중개 무선 네트워크(120) 사이의 연결(122)의 연결 품질의 값을 더 나타낼 수 있다.
VPN 클라이언트(230)는 만족될 때 VPN 클라이언트(230)가 데이터 패킷(150)을 통신하기 위해 하나의 무선 네트워크(120)를 사용하는 것으로부터 다른 무선 네트워크(120)로 전환하게 하는 품질 임계값(240c)을 사용할 수 있다. 예를 들어, 셀룰러 연결(122a)을 통해 셀룰러 네트워크(120a)와 Wi-Fi 네트워크 연결(122b)을 통해 Wi-Fi 네트워크(120b)에 동시에 연결되어 있는 동안, 사용자(10)는 모바일 디바이스(110)를 연결(122b)의 품질이 액세스 포인트로부터의 거리로 인해 임계 레벨로 저하될 때까지 Wi-Fi 네트워크(120b)의 액세스 포인트로부터 멀리 이동할 수 있다. 이 임계 레벨에서, VPN 클라이언트(230)는 사용자 경험에 영향을 미치는 것을 피하기 위해 Wi-Fi 네트워크(120b)를 통해 데이터 패킷(50)을 전송하는 것에서 셀룰러 네트워크(120a)를 통해 데이터 패킷(50)을 전송하는 것으로 전환할 수 있다. 임계값은 (예를 들어, 사용자를 통해) 미리 결정될 수 있거나 위치, 연결(122)의 수, 연결(240b)의 품질 및 연결의 우선순위에 기초하여 동적일 수 있다.
이제 도 2a를 참조하면, VPN 클라이언트(230)는 VPN(30)을 설정하기 위해 캐리어(70)에 의해 중개된 각 무선 연결(122)에 대해 캐리어 중개 VPN 네트워크 연결(122C)을 설정한다. 예를 들어, VPN 클라이언트(230)는 VPN 클라이언트(230)와 원격 VPN 서버(130) 사이에 셀룰러 네트워크 연결(122a) 및 VPN 클라이언트(230)와 원격 VPN 서버(130) 사이에 무선 네트워크 연결(122b)(즉, 연관된 Wi-Fi 네트워크(120)가 캐리어 중개인 경우)을 설정할 수 있다. VPN 클라이언트(230)는 사용자 디바이스(110) 상에서 실행되는 애플리케이션(116)으로부터 애플리케이션 트래픽(즉, 데이터 패킷(50))을 수신할 수 있다. 데이터 패킷(50)을 수신한 후, VPN 클라이언트(230)는 VPN 파라미터(240)에 기초하여 데이터 패킷(50)을 전송하기 위해 사용할 활성 캐리어 중개 VPN 네트워크 연결(122C)을 결정할 수 있다.
이제 도 2b를 참조하면, 일부 구현예에서, 사용자 디바이스(110)는 하나 이상의 캐리어 중개 VPN 네트워크 연결(122C) 및 하나 이상의 사용자 중개 네트워크 연결(122U) 둘 모두에 동시에 연결한다. 예를 들어, 모바일 디바이스(110)는 캐리어(70)에 의해 운영되는 셀룰러 네트워크(120a)에 대한 셀룰러 무선 연결(122a)을 가질 수 있는 동시에 사용자(10)에 의해 운영되는 Wi-Fi 네트워크(120b)(예를 들어, 사용자의 홈 Wi-Fi)에 대한 Wi-Fi 무선 연결(122b)을 가질 수 있다. 여기서, 사용자 중개 네트워크 연결(122U)은 VPN(30)을 우회하고 대신 외부 네트워크(40)를 통해 목적지 서버(60)로 직접 애플리케이션 트래픽(즉, 데이터 패킷(50))을 전송할 수 있다. 이 경우, 네트워크 선택기(250)는 데이터 패킷(50)을 수신하고 우선순위 데이터(252)에 기초하여, 사용자 중개 네트워크 연결(122U) 또는 캐리어 중개 VPN 네트워크 연결(122C)을 사용할지 여부를 결정할 수 있다. 예를 들어, 사용자 중개 Wi-Fi 네트워크 연결(122b)은 캐리어 중개 셀룰러 네트워크 연결(122a)보다 저렴한 비용으로 인해 선호될 수 있다. 선택적으로, 멀티 네트워크 제어기(300)는 모바일 디바이스(110)가 현재 우선순위 무선 네트워크(120)(즉, 캐리어 중개 네트워크 연결(122C) 또는 사용자 중개 네트워크 연결(122U))에 연결되어 있음을 상태 그래픽(320)으로 표시할 수 있다. 일부 예에서, 상태 그래픽(320)은 모바일 디바이스(110)가 어떤 무선 네트워크(120)에 연결되어 있는지(즉, 모바일 디바이스의 어떤 라디오가 연결되어 있는지)를 나타내지 않고, 대신 모바일 디바이스(110)가 사용자 중개 네트워크(120) 또는 캐리어 중개 네트워크(120)에 연결되어 있는지 여부만 나타낸다.
이제 도 2c를 참조하면, 일부 구현예에서, 사용자 중개 무선 네트워크(120)와 연관된 사용자 중개 네트워크 연결(122U)은 VPN(30) 내에서도 설정된다. 예를 들어, 캐리어 중개 셀룰러 네트워크(120)를 통해 모바일 디바이스(110)를 VPN 서버(130)에 연결하는 캐리어 중개 셀룰러 네트워크 연결(122a) 및 사용자 중개 Wi-Fi 네트워크(120b)를 통해 모바일 디바이스(110)를 VPN 서버(130)에 연결하는 사용자 중개 Wi-Fi 네트워크 연결(122b)은 VPN 클라이언트(230)와 원격 VPN 서버(130) 사이 둘 모두에 설정될 수 있다. 이 경우, 모든 애플리케이션 트래픽(즉, 데이터 패킷(50))은 VPN 클라이언트(230)로 라우팅될 수 있고, VPN 클라이언트(230)는 이전에 논의된 바와 같이 VPN 파라미터(240)에 기초하여 각 데이터 패킷(50)을 전송할 연결(122)을 결정할 수 있다.
VPN(30) 내에 임의의 사용자 중개 네트워크 연결(122U)을 포함시키기 전에, 연결 애그리게이터(200)는 모바일 디바이스(110)의 사용자(10)에게 프롬프트하여 VPN 클라이언트(230)가 사용자 디바이스(110)를 사용자 중개 무선 네트워크(120)를 통해 원격 VPN 서버(130)에 연결하는 VPN 사용자 중개 무선 연결(122U)을 설정하게 하는 것에 동의(270)를 제공하게 할 수 있다. 일부 예에서, 연결 애그리게이터(200)가 모바일 디바이스(110)의 사용자(10)에게 VPN(30)이 사용자 중개 무선 네트워크(120)를 사용하여 연결을 설정하도록 허용하는 동의(270)를 제공하도록 프롬프트하는 경우, 연결 애그리게이터(200)는 GUI(115)에 인터렉티브 그래픽(332)을 디스플레이한다(도 2d). 인터렉티브 그래픽(332)은 사용자(10)가 VPN(30)이 사용자 중개 연결(122U)을 설정하도록 허용하는 동의(270)를 제공할 수 있게 한다. 예를 들어, 도 2d에 도시된 바와 같이, GUI(115)는 사용자(10)가 연결을 위해 VPN(30)을 사용하는 것에 동의(예를 들어, "예" 선택) 또는 동의하지 않을 수 있게 하는(예를 들어, "아니오" 선택) 버튼과 함께 텍스트 정보(예를 들어, "VPN 내에 사용자 네트워크를 포함?")를 포함하는 인터렉티브 그래픽(332)을 디스플레이할 수 있다.
다시 도 2c를 참조하면, 일부 구현예에서, 원격 VPN 서버(130)는 VPN 클라이언트(230)와 VPN(30)을 통해 설정된 각 무선 연결(122)에 하나 이상의 네트워크 정책(260, 260a-n)을 적용한다. 일부 예에서, 원격 VPN 서버(130)는 사용자(10)가 VPN(30) 내에 사용자 중개 네트워크를 포함하는 것에 동의한 경우에도, 하나 이상의 네트워크 정책(260)을 캐리어 중개 네트워크(120)에 대한 연결(122)에만 적용한다(즉, 네트워크 정책(260)에서 사용자 중개 네트워크(120) 제외). 네트워크 정책(260)은 다양한 네트워크 측 특징을 적용할 수 있다. 예를 들어, 원격 VPN 서버(130)는 특정 유형의 데이터를 특정 시간에 또는 특정 소비 임계값에서 쓰로틀링하는 연결(122)에 쓰로틀링 정책(260a)을 적용할 수 있다. 원격 VPN 서버(130)는 추가적으로 또는 대안적으로 제로 레이팅 정책(260b)을 적용할 수 있다. 제로 레이팅 정책(260b)은 특정 조건에서 감소된 재정 비용으로 인터넷 액세스를 제공할 수 있다. 예를 들어, 광고 증가 또는 특정 웹사이트에 대한 액세스 제한에 따라 액세스 비용이 감소할 수 있다.
이제 도 3을 참조하면, 사용자 디바이스(110)가 제1 무선 네트워크(120a)(예: 셀룰러 네트워크) 및 제2 무선 네트워크(120b)(예: Wi-Fi 네트워크)에 동시에 연결되어 있는 경우, 멀티 네트워크 제어기(300)는 사용자 디바이스(110) 상에 설치/실행되는 캐리어 애플리케이션(116, 116C)에 쿼리함으로써, 제1 무선 네트워크(120a)가 제2 무선 네트워크(120b)와 동일한 네트워크 오퍼레이터(70)와 연관되는지 여부를 결정할 수 있다. 캐리어 애플리케이션(116)은 특정 캐리어/네트워크 오퍼레이터, 예를 들어, MNO 또는 MVNO와 연관될 수 있다. 일부 예에서, 멀티 네트워크 제어기(300)는 먼저 캐리어 애플리케이션(116C)이 캐리어(70)에 의해 디지털 서명되었는지 여부를 결정함으로써 캐리어 애플리케이션(116C)이 캐리어(70)와 연관되는지를 검증한다. 예를 들어, 캐리어(70)는 캐리어(70)의 암호화 키(352)를 사용하여 디지털 서명(354)을 제공할 수 있다. 키(352)는, 예를 들어, 임베디드 SIM(eSIM)을 포함할 수 있는 SIM(350) 내에 포함될 수 있다. 멀티 네트워크 제어기(300)가 캐리어(70)와 연관된 키(352)에 의해 서명된 디지털 서명(354)의 존재를 통해 캐리어 애플리케이션(116C)을 검증할 때, 멀티 네트워크 제어기(300)는 캐리어(70)와 연관되고 캐리어(70)에 의해 중개되는 각각의 무선 네트워크(120)에 대한 네트워크 식별(ID)(117) 및/또는 네트워크 자격증명(118)(예를 들어, 패스워드)를 검색할 수 있다. 따라서, 검색된 네트워크 ID(117) 및/또는 네트워크 자격증명(118)을 사용하여, 멀티 네트워크 제어기(300)는 제1 무선 네트워크(120a) 및 제2 무선 네트워크(120b)가 동일한 캐리어(70)와 연관(예를 들어, 중개)되는지 여부를 결정할 수 있다. 일부 경우에, 무선 네트워크(120)는 연결(예를 들어, Wi-Fi 네트워크(120b)) 전에 자격증명(118)을 필요로 할 수 있고, 멀티 네트워크 제어기(300)는 연관된 네트워크(120)에 액세스하기 위해 적절한 캐리어 애플리케이션(116C)으로부터 이러한 자격증명(118)을 검색할 수 있다. 일부 예에서, 캐리어 애플리케이션(116C)은 연관된 캐리어 중개 네트워크(120)에 대한 자격증명(118)으로 멀티 네트워크 제어기(300)를 "푸시(push)"하거나 그렇지 않으면 제공한다. 캐리어 애플리케이션(116C)은 사용자 디바이스(110)가 캐리어의 네트워크(120) 중 하나에 현재 연결되어 있는지를 결정하기 위해 멀티 네트워크 제어기(300)(또는 그렇지 않으면 사용자 디바이스(110)의 OS)에 쿼리할 수 있다.
이제 도 4a 및 도 4b를 참조하면, 일부 구현예에서, 모바일 디바이스(110)의 GUI(115)에서 렌더링된 상태 그래픽(320)은 선택 오퍼레이터(70)와 연관된 적어도 하나의 캐리어 중개 무선 네트워크 또는 적어도 하나의 사용자 중개 무선 네트워크에 대한 연결을 나타내도록 업데이트된다. 예를 들어, 상태 그래픽(320a)(도 4a) GUI(115)에서 렌더링된 것은 모바일 디바이스(110)가 현재 캐리어 중개 무선 네트워크에 연결되어 있음을 나타낸다. 도시되지는 않았지만, 모바일 디바이스(110)가 캐리어 중개 무선 네트워크(예: 셀룰러 네트워크(120a)) 및 사용자 중개 무선 네트워크(예: Wi-Fi 네트워크(120b)) 모두에 동시에 연결된 경우, 두 개의 상태 그래픽(320)은 GUI(115)에 렌더링되고, 그 각각은 캐리어 중개 무선 네트워크 또는 사용자 중개 무선 네트워크에 대한 연결 중 하나를 표시한다. 여기서, 2개의 상태 그래픽(320)은 사용자(10)가 사용자 디바이스(110)가 연결된 무선 네트워크(120)의 유형을 구별할 수 있도록 구별가능할 수 있다(예를 들어, 상이한 그래픽, 배향, 색상 등). 도 4a는 모바일 디바이스(110)와 선택 오퍼레이터(70)(즉, 상태 그래픽(320a)에 의해 표현됨)와 연관된 임의의 사용 가능한 캐리어 중개 무선 네트워크(120) 사이의 연결(122) 비활성화 및 모바일 디바이스(110)와 선택 오퍼레이터(70)와 연관된 임의의 사용 가능한 캐리어 중개 무선 네트워크(120) 사이의 연결(122) 활성화를 선택하기 위한 사용자 입력 표시를 수신하도록 구성된 제1 인터렉티브 그래픽(330, 330a)을 도시한다. 렌더링된 제1 인터렉티브 그래픽(330a)의 선택을 표시하는 제1 사용자 입력 표시(312)에 응답하여(즉, 캐리어 데이터를 비활성화하기 위해 "예"를 선택함), 모바일 디바이스(110)는 캐리어 중개 무선 네트워크로부터 연결을 끊는다. 일부 예에서, 모바일 디바이스(110)는 또한 사용자 중개 무선 네트워크(120)(예를 들어, 사용자의 Wi-Fi 네트워크)에 연결한다. 제1 입력 표시(312)에 응답하여, 도 4b는 모바일 디바이스(110)가 현재 오퍼레이터(70)와 연관된 임의의 캐리어 중개 무선 네트워크(120)에 연결되어 있지 않다는 것을 표시하기 위해 GUI(115)에서 상태 그래픽(320b)을 렌더링함으로써 업데이트되는 상태 그래픽(320a)을 도시한다. 일부 예에서, 상태 그래픽(320b)은 또한 모바일 디바이스(110)가 현재 사용자 중개 무선 네트워크(120)에 연결되어 있음을 나타내기 위해 업데이트될 수 있다. 여기서, 도 4b의 상태 그래픽(320b)은 도 4a의 상태 그래픽(320a)에 비해 회전된 배향을 포함한다. 다른 예에서, 상태 그래픽(320b)은 상태 그래픽(320a)과 완전히 다른 그래픽을 포함할 수 있고, 다른 색상을 포함하고 및/또는 사용자(10)가 캐리어 중개 무선 네트워크(120)에 대한 연결을 나타내는 상태 그래픽(320a) 및 사용자 중개 무선 네트워크(120)에 대한 연결을 나타내는 상태 그래픽(320b)을 구분할 수 있게 하는 임의의 다른 구별 가능한 특징을 포함할 수 있다. 도 4b는 또한 사용자(10)에게 캐리어 데이터를 활성화하도록 프롬프트하는 GUI(115)에서 후속하는 제2 인터렉티브 그래픽(330b)을 렌더링하는 모바일 디바이스(110)를 도시한다. 여기서, 사용자는 캐리어 데이터를 활성화하기 위해(즉, 캐리어 데이터를 활성화하기 위해 "예"를 선택함) 제2 인터렉티브 그래픽(330b)의 선택을 표시하는 제2 사용자 입력 표시(312)를 제공할 수 있고, 상태 그래픽(320b)은 도 4a의 GUI(115)에서 렌더링된 상태 그래픽(320a)으로 적절하게 다시 복귀할 수 있다. 두 상태 그래픽(320a, 320b)은 현재 연결된 무선 네트워크에 대한 연결 품질(예를 들어, 신호 강도)을 시각적으로 표시할 수 있다. 따라서, 상태 그래픽(320a, 320b)은 사용자가 모바일 디바이스(110)가 캐리어 중개 무선 네트워크 또는 사용자 중개 무선 네트워크에 연결되어 있는지 여부를 결정하게 하고, 선택적으로 연결의 품질을 제공하는 편리하고 빠른 방법을 제공한다.
도 5는 모바일 디바이스(110)에서 캐리어 중개 네트워크와 사용자 중개 네트워크를 구분하는 방법(500)에 대한 동작의 예시적 구성의 흐름도이다. 방법(500)은 동작(502)에서, 제1 무선 네트워크 및 제2 무선 네트워크에 동시에 연결된 모바일 디바이스에 대해, 상기 모바일 디바이스의 데이터 프로세싱 하드웨어에 의해, 상기 제1 무선 네트워크가 상기 제2 무선 네트워크 동일한 네트워크 오퍼레이터와 연관되는지 여부를 결정하는 단계를 시작한다. 상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되는 경우, 방법(500)은 동작(504)에서 또한 데이터 프로세싱 하드웨어(112)에 의해 모바일 디바이스(110)와 원격 서버(130) 사이에 가상 사설 네트워크(30)(VPN)를 설정하는 단계를 포함한다. VPN(30)은 제1 VPN 연결(122)과 제2 VPN 연결(122)을 포함한다. 제1 VPN 연결(122)은 모바일 디바이스(110)를 제1 무선 네트워크(120)를 통해 원격 서버(130)에 연결하고, 제2 VPN 연결(122)은 모바일 디바이스(110)를 제2 무선 네트워크(120)를 통해 원격 서버(130)에 연결한다.
동작(506)에서, 상기 방법(500)은 또한 데이터 프로세싱 하드웨어(112)에 의해, 제1 VPN 연결(122) 또는 제2 VPN 연결(122) 중 하나를 통한 VPN(30)을 통해 모바일 디바이스(110)로부터 원격 서버(130)에 데이터(50)(즉, 데이터 패킷(50))를 전송하는 단계를 포함한다. 원격 서버(130)에서 데이터(50)를 수신하면 원격 서버(130)가 데이터(50)를 목적지 서버(60)로 라우팅한다.
도 6는 본 문서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적 컴퓨팅 디바이스(600)의 개략도이다. 컴퓨팅 디바이스(600)는 랩톱, 데스크톱, 워크 스테이션, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 메인 프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터들을 나타내기 위한 것이다. 여기에 도시된 컴포넌트들, 그들의 연결 및 관계, 및 그들의 기능은 단지 예시적인 것을 의미하며, 본 명세서에 기술된 및/또는 청구된 발명의 구현을 제한하는 것을 의미하지는 않는다.
컴퓨팅 디바이스(600)는 프로세서(610), 메모리(620), 저장 디바이스(630), 메모리(620) 및 고속 확장 포트(650)에 연결되는 고속 인터페이스/제어기(640) 및 저속 버스(670) 및 저장 디바이스(630)에 연결되는 저속 인터페이스/제어기(660)를 포함한다. 컴포넌트들(610, 620, 630, 640, 650 및 660) 각각은 다양한 버스들을 사용하여 상호 연결되고, 공통 마더 보드 상에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(610)는 메모리(620) 또는 저장 디바이스(630)에 저장된 명령어들을 포함하는, 컴퓨팅 디바이스(600) 내에서 실행하기 위한 명령어들을 프로세싱하여, 고속 인터페이스(640)에 연결된 디스플레이(680)와 같은 외부 입/출력 디바이스상에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이할 수 있다. 다른 구현예에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 다수의 유형의 메모리와 함께, 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(600)은 필요한 동작의 부분들을 제공하는 각 디바이스와 연결될 수 있다(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 멀티 프로세서 시스템).
메모리(620)는 컴퓨팅 디바이스(600) 내에 비일시적으로 정보를 저장한다. 메모리(620)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛(들), 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(620)는 컴퓨팅 디바이스(600)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비휘발성 메모리의 예는 플래시 메모리 및 읽기 전용 메모리(ROM)/프로그래밍 가능한 읽기 전용 메모리(PROM)/지울 수 있는 프로그램 가능한 읽기 전용 메모리(EPROM)/전자적으로 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리(EEPROM)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)를 포함하지만, 이에 한정되지 않는다. 휘발성 메모리의 예는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory), 디스크 또는 테이프 등을 포함하지만, 이에 한정되지 않는다.
저장 디바이스(630)는 컴퓨팅 디바이스(600)에 대한 대형 스토리지를 제공할 수 있다. 일부 구현예에서, 저장 디바이스(630)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현예에서, 저장 디바이스(630)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성의 디바이스를 포함하는 디바이스의 어레이일 수 있다. 일 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 수록된다. 컴퓨터 프로그램 제품은 또한 실행될 때 상기 기술된 바와 같은 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는 메모리(620), 저장 디바이스(630) 또는 프로세서(610)상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
고속 제어기(640)는 컴퓨팅 디바이스(600)에 대한 대역폭 집중 동작들을 관리하는 반면, 저속 제어기(660)는 낮은 대역폭 집중 동작들을 관리한다. 이러한 기능들의 할당은 단지 예시적인 것이다. 일부 구현예에서, 고속 제어기(640)는 메모리(620), 디스플레이(680)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(도시되지 않음)를 수용할 수 있는 고속 확장 포트(650)에 연결된다. 일부 구현예에서, 저속 제어기(660)는 저장 디바이스(630) 및 저속 확장 포트(690)에 연결된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(690)는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스 또는 예를 들어 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(600)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(600a)로서 또는 그러한 서버(600a)의 그룹에서 여러 번, 랩톱 컴퓨터(600b)로서 또는 랙 서버 시스템(600c)의 일부로서 구현될 수 있다.
본 명세서에 기술된 시스템들 및 기법들의 다양한 구현예들은 디지털 전자 및/또는 광학 회로, 집적 회로, 특수하게 설계된 ASIC들(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 구현될 수 있다. 이들 다양한 구현예들은 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행가능하고 및/또는 인터프리트가능한 하나 이상의 컴퓨터 프로그램들에서의 구현예를 포함할 수 있고, 이는 전용 또는 범용일 수 있고, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 그에 데이터 및 명령어들을 전송하기 위해 연결될 수 있다.
이들 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 알려짐)은 프로그래머블 프로세서에 대한 기계 명령어들을 포함하며, 하이레벨 절차어 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계어에서 구현될 수 있다. 본 명세서에서 사용된 바와 같이, 용어 "기계 판독가능 매체", "컴퓨터 판독가능 매체"는 기계 판독가능 신호로서 기계 명령어들을 수신하는 기계 판독가능 매체를 포함하여, 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 물, 장치 및/또는 디바이스 예를 들어, 자기 디스크, 광학 디스크, 메모리, 비일시적 컴퓨터 판독가능 매체, 프로그래머블 로직 디바이스(PLD)를 지칭한다. 용어 "기계 판독가능 신호"는 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 데이터 프로세싱 하드웨어로도 지칭되는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있다. 컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예시로서, 범용 및 전용 마이크로프로세서들과 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 본 개시의 하나 이상의 양태는 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터 또는 터치 스크린과 같은 디스플레이 디바이스 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송수신함으로써 예를 들어, 웹브라우저로부터 수신된 요청에 응답하여, 사용자의 사용자 디바이스상의 웹브라우저에 웹페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
다수의 구현예들이 기술되었다. 그럼에도 불구하고, 다양한 수정들이 본 발명의 정신과 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해될 것이다. 따라서, 다른 구현예들도 다음의 청구항들의 범위 내에 있다.

Claims (28)

  1. 방법(500)으로서,
    제1 무선 네트워크(120) 및 제2 무선 네트워크(120)에 동시에 연결된 모바일 디바이스(110)에 대해, 상기 모바일 디바이스(110)의 데이터 프로세싱 하드웨어(112)에 의해, 상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되는지 여부를 결정하는 단계; 및
    상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되는 경우:
    상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 모바일 디바이스(110)와 원격 서버(130) 사이에 가상 사설 네트워크(VPN)(30)을 설정하는 단계, 상기 VPN(30)은 제1 VPN 연결(122) 및 제2 VPN 연결(122)을 포함하고, 상기 제1 VPN 연결(122)은 상기 제1 무선 네트워크(120)를 통해 모바일 디바이스(110)를 원격 서버(130)에 연결하고, 상기 제2 VPN 연결(122)은 상기 제2 무선 네트워크(120)를 통해 모바일 디바이스(110)를 원격 서버(130)에 연결하며; 및
    상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 제1 VPN 연결(122) 또는 상기 제2 VPN 연결(122) 중 하나를 통한 VPN(30)을 통해 상기 모바일 디바이스(110)로부터 원격 서버(130)로 데이터(50)를 전송하는 단계를 포함하며, 상기 원격 서버(130)에 의해 수신된 데이터(50)는 상기 원격 서버(130)로 하여금 상기 데이터(50)를 목적지 서버(60)로 라우팅하게 하는, 방법.
  2. 청구항 1에 있어서, 상기 제1 무선 네트워크(120)는 셀룰러 네트워크(120a)를 포함하고, 상기 제2 무선 네트워크(120)는 Wi-Fi(Wireless Fidelity) 네트워크(120b)를 포함하는, 방법.
  3. 청구항 1 또는 2에 있어서, 상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되는 경우, 상기 네트워크 오퍼레이터(70)는 모바일 가상 네트워크 오퍼레이터를 포함하는, 방법.
  4. 청구항 1 내지 3 중 어느 한 항에 있어서, 상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되는 경우, 상기 네트워크 오퍼레이터(70)는 모바일 네트워크 오퍼레이터를 포함하는, 방법.
  5. 청구항 1 내지 4 중 어느 한 항에 있어서, 상기 제1 VPN 연결(122) 및 상기 제2 VPN 연결(122)은 각각 캐리어 중개 네트워크 연결(122C)을 포함하는, 방법.
  6. 청구항 1 내지 5 중 어느 한 항에 있어서, 상기 VPN(30)이 모바일 디바이스(110)와 원격 서버(130) 사이에 설정되는 동안:
    상기 데이터 프로세싱 하드웨어(112)에 의해, 모바일 디바이스(110)를 제3 무선 네트워크(120)에 연결하는 단계, 상기 제3 무선 네트워크(120)는 상기 제1 및 제2 무선 네트워크(120)의 네트워크 오퍼레이터(70)와 상이한 네트워크 오퍼레이터(70)와 연관되며;
    상기 데이터 프로세싱 하드웨어(112)에 의해, VPN(30)이 상기 제3 무선 네트워크(120)를 통해 모바일 디바이스(110)를 원격 서버(130)에 연결하는 제3 VPN 연결(122)을 설정하도록 허용하는 동의(270)를 제공하도록 모바일 디바이스(110)의 사용자(10)에게 프롬프트하는 단계; 및
    상기 모바일 디바이스(110)의 사용자(10)가 상기 VPN(30)이 상기 제3 VPN 연결(122)을 설정하는 것을 허용하기 위해 동의(270)를 제공한 경우, 상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 제3 무선 네트워크(120)를 통해 상기 모바일 디바이스(110)를 원격 서버(130)에 연결하는 제3 VPN 연결(122)을 설정함으로써 상기 VPN(30)을 업데이트하는 단계를 더 포함하는, 방법.
  7. 청구항 6에 있어서, VPN(30)이 상기 제3 무선 네트워크(120)를 통해 제3 VPN 연결(122)을 설정하도록 허용하는 동의(270)를 제공하도록 모바일 디바이스(110)의 사용자(10)에게 프롬프트하는 단계는 상기 데이터 프로세싱 하드웨어(112)에서 실행되는 그래픽 사용자 인터페이스(115)에 그래픽 엘리먼트(332)를 디스플레이하는 단계를 포함하며, 상기 그래픽 엘리먼트(332)는 사용자가 상기 VPN(30)이 상기 제3 VPN 연결(122)을 설정하는 것을 허용하기 위해 동의(270)를 제공하게 하는, 방법.
  8. 청구항 6 또는 7에 있어서, 상기 제3 무선 네트워크(120)는 사용자 중개 네트워크를 포함하는, 방법.
  9. 청구항 1 내지 8 중 어느 한 항에 있어서, 상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되는지 여부를 결정하는 단계는 상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되는지 여부를 상기 모바일 디바이스(110)에서 실행되는 애플리케이션(116)에 쿼리하는 단계를 포함하는, 방법.
  10. 청구항 9에 있어서, 상기 애플리케이션(116)은 상기 모바일 디바이스(110)의 가입자 식별 모듈(350)을 통해 검증되는, 방법.
  11. 청구항 1 내지 10 중 어느 한 항에 있어서, 상기 VPN(30)을 통해 모바일 디바이스(110)로부터 원격 서버(130)에 데이터(50)를 전송할 때, 상기 제1 VPN 연결(122) 또는 상기 제2 VPN 연결(122) 중 하나를 통한 VPN(30)을 통해 모바일 디바이스(110)로부터 원격 서버(130)에 세션 토큰(210)을 전송하는 단계를 더 포함하며, 상기 데이터(50) 및 세션 토큰(210)은 원격 서버(130)에 의해 수신되면 상기 원격 서버(130)로 하여금:
    상기 세션 토큰(210)을 사용하여 상기 모바일 디바이스(110)를 식별하게 하고;
    상기 데이터(50)를 상기 목적지 서버(60)로 라우팅하게 하고; 그리고
    상기 제1 VPN 연결(122) 또는 상기 제2 VPN 연결(122) 중 하나를 통한 VPN(30)을 통해 상기 목적지 서버(60)로부터 수신된 응답 데이터(50)를 모바일 디바이스(110)에 전송하게 하는, 방법.
  12. 청구항 1 내지 11 중 어느 한 항에 있어서, 상기 VPN(30)을 설정하는 단계는 상기 원격 서버(130)로 하여금 네트워크 정책(260)을 상기 제1 무선 네트워크(120) 및 상기 제2 무선 네트워크(120) 둘 모두에 적용하게 하는 방법.
  13. 청구항 12에 있어서, 상기 네트워크 정책(260)은 제로-레이팅(260b) 또는 쓰로틀링(260a) 중 적어도 하나를 포함하는, 방법.
  14. 청구항 1 내지 13 중 어느 한 항에 있어서, 상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되지 않는 경우:
    상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 모바일 디바이스(110)와 상기 원격 서버(130) 사이에 상기 VPN(30)을 설정하기 위한 동의(270)를 제공하도록 모바일 디바이스(110)의 사용자(10)에게 프롬프트하는 단계; 및
    상기 모바일 디바이스(110)의 사용자(10)가 상기 모바일 디바이스(110)와 상기 원격 서버(130) 사이에 상기 VPN(30)을 설정하기 위한 동의(270)를 제공하는 경우, 상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 모바일 디바이스(110)와 상기 원격 서버(130) 사이에 상기 VPN(30)을 설정하는 단계를 더 포함하는, 방법.
  15. 시스템(100)으로서,
    모바일 디바이스(110)의 데이터 프로세싱 하드웨어(112); 및
    상기 데이터 프로세싱 하드웨어(112)와 통신하는 메모리 하드웨어(114)를 포함하며, 상기 메모리 하드웨어(114)는 상기 데이터 프로세싱 하드웨어(112)에 의해 실행될 때 상기 데이터 프로세싱 하드웨어(112)로 하여금 동작들을 수행하게 하는 명령어들을 저장하며, 상기 동작들은:
    제1 무선 네트워크(120) 및 제2 무선 네트워크(120)에 동시에 연결된 모바일 디바이스(110)에 대해, 상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되는지 여부를 결정하는 동작; 및
    상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되는 경우:
    상기 모바일 디바이스(110)와 원격 서버(130) 사이에 가상 사설 네트워크(VPN)(30)을 설정하는 동작, 상기 VPN(30)은 제1 VPN 연결(122) 및 제2 VPN 연결(122)을 포함하고, 상기 제1 VPN 연결(122)은 상기 제1 무선 네트워크(120)를 통해 모바일 디바이스(110)를 원격 서버(130)에 연결하고, 상기 제2 VPN 연결(122)은 상기 제2 무선 네트워크(120)를 통해 모바일 디바이스(110)를 원격 서버(130)에 연결하며; 및
    상기 제1 VPN 연결(122) 또는 상기 제2 VPN 연결(122) 중 하나를 통한 VPN(30)을 통해 상기 모바일 디바이스(110)로부터 원격 서버(130)로 데이터(50)를 전송하는 동작을 포함하며, 상기 원격 서버(130)에 의해 수신된 데이터(50)는 상기 원격 서버(130)로 하여금 상기 데이터(50)를 목적지 서버(60)로 라우팅하게 하는, 시스템.
  16. 청구항 15에 있어서, 상기 제1 무선 네트워크(120)는 셀룰러 네트워크(120a)를 포함하고, 상기 제2 무선 네트워크(120)는 Wi-Fi(Wireless Fidelity) 네트워크(120b)를 포함하는, 시스템.
  17. 청구항 15 또는 16에 있어서, 상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되는 경우, 상기 네트워크 오퍼레이터(70)는 모바일 가상 네트워크 오퍼레이터를 포함하는, 시스템.
  18. 청구항 15 내지 17 중 어느 한 항에 있어서, 상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되는 경우, 상기 네트워크 오퍼레이터(70)는 모바일 네트워크 오퍼레이터를 포함하는, 시스템.
  19. 청구항 15 내지 17 중 어느 한 항에 있어서, 상기 제1 VPN 연결(122) 및 상기 제2 VPN 연결(122)은 각각 캐리어 중개 네트워크 연결(122C)을 포함하는, 시스템.
  20. 청구항 15 내지 17 중 어느 한 항에 있어서, 상기 VPN(30)이 모바일 디바이스(110)와 원격 서버(130) 사이에 설정되는 동안:
    모바일 디바이스(110)를 제3 무선 네트워크(120)에 연결하는 동작, 상기 제3 무선 네트워크(120)는 상기 제1 및 제2 무선 네트워크(120)의 네트워크 오퍼레이터(70)와 상이한 네트워크 오퍼레이터(70)와 연관되며;
    VPN(30)이 상기 제3 무선 네트워크(120)를 통해 모바일 디바이스(110)를 원격 서버(130)에 연결하는 제3 VPN 연결(122)을 설정하도록 허용하는 동의(270)를 제공하도록 모바일 디바이스(110)의 사용자(10)에게 프롬프트하는 동작; 및
    상기 모바일 디바이스(110)의 사용자(10)가 상기 VPN(30)이 상기 제3 VPN 연결(122)을 설정하는 것을 허용하기 위해 동의(270)를 제공한 경우, 상기 제3 무선 네트워크(120)를 통해 상기 모바일 디바이스(110)를 원격 서버(130)에 연결하는 제3 VPN 연결(122)을 설정함으로써 상기 VPN(30)을 업데이트하는 동작을 더 포함하는, 시스템.
  21. 청구항 20에 있어서, VPN(30)이 상기 제3 무선 네트워크(120)를 통해 제3 VPN 연결(122)을 설정하도록 허용하는 동의(270)를 제공하도록 모바일 디바이스(110)의 사용자(10)에게 프롬프트하는 동작은 상기 데이터 프로세싱 하드웨어(112)에서 실행되는 그래픽 사용자 인터페이스(115)에 그래픽 엘리먼트(332)를 디스플레이하는 동작을 포함하며, 상기 그래픽 엘리먼트(332)는 사용자가 상기 VPN(30)이 상기 제3 VPN 연결(122)을 설정하는 것을 허용하기 위해 동의(270)를 제공하게 하는, 시스템.
  22. 청구항 20 또는 21에 있어서, 상기 제3 무선 네트워크(120)는 사용자 중개 네트워크를 포함하는, 시스템.
  23. 청구항 15 내지 17 중 어느 한 항에 있어서, 상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되는지 여부를 결정하는 동작은 상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되는지 여부를 상기 모바일 디바이스(110)에서 실행되는 애플리케이션(116)에 쿼리하는 동작을 포함하는, 시스템.
  24. 청구항 23에 있어서, 상기 애플리케이션(116)은 상기 모바일 디바이스(110)의 가입자 식별 모듈(350)을 통해 검증되는, 시스템.
  25. 청구항 15 내지 17 중 어느 한 항에 있어서, 상기 VPN(30)을 통해 모바일 디바이스(110)로부터 원격 서버(130)에 데이터(50)를 전송할 때, 상기 제1 VPN 연결(122) 또는 상기 제2 VPN 연결(122) 중 하나를 통한 VPN(30)을 통해 모바일 디바이스(110)로부터 원격 서버(130)에 세션 토큰(210)을 전송하는 동작을 더 포함하며, 상기 데이터(50) 및 세션 토큰(210)은 원격 서버(130)에 의해 수신되면 상기 원격 서버(130)로 하여금:
    상기 세션 토큰(210)을 사용하여 상기 모바일 디바이스(110)를 식별하게 하고;
    상기 데이터(50)를 상기 목적지 서버(60)로 라우팅하게 하고; 그리고
    상기 제1 VPN 연결(122) 또는 상기 제2 VPN 연결(122) 중 하나를 통한 VPN(30)을 통해 상기 목적지 서버(60)로부터 수신된 응답 데이터(50)를 모바일 디바이스(110)에 전송하게 하는, 시스템.
  26. 청구항 15 내지 17 중 어느 한 항에 있어서, 상기 VPN(30)을 설정하는 동작은 상기 원격 서버(130)로 하여금 네트워크 정책(260)을 상기 제1 무선 네트워크(120) 및 상기 제2 무선 네트워크(120) 둘 모두에 적용하게 하는, 시스템.
  27. 청구항 26에 있어서, 상기 네트워크 정책(260)은 제로-레이팅(260b) 또는 쓰로틀링(260a) 중 적어도 하나를 포함하는, 시스템.
  28. 청구항 15 내지 17 중 어느 한 항에 있어서, 상기 제1 무선 네트워크(120)가 상기 제2 무선 네트워크(120)와 동일한 네트워크 오퍼레이터(70)와 연관되지 않는 경우:
    상기 모바일 디바이스(110)와 상기 원격 서버(130) 사이에 상기 VPN(30)을 설정하기 위한 동의(270)를 제공하도록 모바일 디바이스(110)의 사용자(10)에게 프롬프트하는 동작; 및
    상기 모바일 디바이스(110)의 사용자(10)가 상기 모바일 디바이스(110)와 상기 원격 서버(130) 사이에 상기 VPN(30)을 설정하기 위한 동의(270)를 제공하는 경우, 상기 모바일 디바이스(110)와 상기 원격 서버(130) 사이에 상기 VPN(30)을 설정하는 동작을 더 포함하는, 시스템.
KR1020227023652A 2019-12-11 2019-12-11 사용자 중개 및 캐리어 중개 연결 구분 KR20220113486A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/065803 WO2021118562A1 (en) 2019-12-11 2019-12-11 Demarcating user-mediated and carrier-mediated connections

Publications (1)

Publication Number Publication Date
KR20220113486A true KR20220113486A (ko) 2022-08-12

Family

ID=69173398

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227023652A KR20220113486A (ko) 2019-12-11 2019-12-11 사용자 중개 및 캐리어 중개 연결 구분

Country Status (5)

Country Link
US (1) US20220417841A1 (ko)
EP (1) EP4073985B1 (ko)
JP (1) JP7326625B2 (ko)
KR (1) KR20220113486A (ko)
WO (1) WO2021118562A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220141130A1 (en) * 2020-11-02 2022-05-05 Google Llc Virtual Carrier Network
US11689421B2 (en) * 2021-04-19 2023-06-27 Hewlett Packard Enterprise Development Lp Selection of virtual private network profiles
US20230112305A1 (en) * 2021-10-08 2023-04-13 Comcast Cable Communications, Llc Diverse pathway integration

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008152881A1 (ja) * 2007-06-12 2008-12-18 Nec Corporation 通信装置及び通信方法
US9455897B2 (en) * 2010-04-06 2016-09-27 Qualcomm Incorporated Cooperative bandwidth aggregation using multipath transport
US8638717B2 (en) * 2010-08-20 2014-01-28 Time Warner Cable Enterprises Llc System and method for maintaining a communication session
JP6363999B2 (ja) * 2012-06-06 2018-07-25 ザ・トラスティーズ・オブ・コロンビア・ユニバーシティ・イン・ザ・シティ・オブ・ニューヨーク 統一ネットワーキングシステム及び異種モバイル環境用デバイス
US9608981B2 (en) * 2013-12-11 2017-03-28 Red Hat, Inc. Strong user authentication for accessing protected network
JP7109044B2 (ja) * 2015-04-20 2022-07-29 シューレース ワイヤレス,インコーポレイテッド 改善されたモバイルインターネットの速度およびセキュリティのためのシステム
US10470113B2 (en) * 2015-12-09 2019-11-05 Lenovo (Singapore) Pte. Ltd. Usage of network based on quality of network at a particular location
EP3586489B1 (en) * 2017-02-24 2023-09-06 Alcatel Lucent Methods and network elements for multi-connectivity control
US11336546B2 (en) * 2017-07-10 2022-05-17 Dell Products, Lp Multiple link aggregation among local area networks

Also Published As

Publication number Publication date
EP4073985B1 (en) 2024-04-03
CN114788233A (zh) 2022-07-22
EP4073985A1 (en) 2022-10-19
JP7326625B2 (ja) 2023-08-15
JP2023506491A (ja) 2023-02-16
US20220417841A1 (en) 2022-12-29
WO2021118562A1 (en) 2021-06-17

Similar Documents

Publication Publication Date Title
US11089480B2 (en) Provisioning electronic subscriber identity modules to mobile wireless devices
EP2561708B1 (en) Method and apparatus for determining access point service capabilities
US10075438B2 (en) Methods and systems for server-initiated activation of device for operation with server
US20170063934A1 (en) Communication management and policy-based data routing
EP4073985B1 (en) Demarcating user-mediated and carrier-mediated connections
WO2008030933A2 (en) Provisioning private access points for wireless networking
JP7454673B2 (ja) マルチネットワーク接続のためのスマートフォントグル
US20220141130A1 (en) Virtual Carrier Network
US11057946B2 (en) Method and device for managing wireless connection
CN114788233B (zh) 划分用户介导连接和运营者介导连接
Nguyen et al. An SDN‐based connectivity control system for Wi‐Fi devices
US11503017B2 (en) EHN venue-specific application provisioning
KR20120069460A (ko) 무선랜 환경에서 가입자 별 서비스 제공 시스템 및 그 방법