KR20170109466A - 지능형 네트워크 연결 관리를 제공하는 방법 및 장치 - Google Patents

지능형 네트워크 연결 관리를 제공하는 방법 및 장치 Download PDF

Info

Publication number
KR20170109466A
KR20170109466A KR1020160033669A KR20160033669A KR20170109466A KR 20170109466 A KR20170109466 A KR 20170109466A KR 1020160033669 A KR1020160033669 A KR 1020160033669A KR 20160033669 A KR20160033669 A KR 20160033669A KR 20170109466 A KR20170109466 A KR 20170109466A
Authority
KR
South Korea
Prior art keywords
network
application
processor
data
communication
Prior art date
Application number
KR1020160033669A
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 삼성전자주식회사
Priority to KR1020160033669A priority Critical patent/KR20170109466A/ko
Priority to CN201710171023.2A priority patent/CN107222889A/zh
Priority to US15/464,872 priority patent/US20170272995A1/en
Publication of KR20170109466A publication Critical patent/KR20170109466A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0247Traffic management, e.g. flow control or congestion control based on conditions of the access network or the infrastructure network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/10Metering calls from calling party, i.e. A-party charged for the communication
    • H04M15/12Discriminative metering, charging or billing
    • H04M15/16Discriminative metering, charging or billing according to connection obtained
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1095Inter-network session transfer or sharing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/10Metering calls from calling party, i.e. A-party charged for the communication
    • H04M15/12Discriminative metering, charging or billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/10Metering calls from calling party, i.e. A-party charged for the communication
    • H04M15/12Discriminative metering, charging or billing
    • H04M15/18Discriminative metering, charging or billing according to duration of the call, or the communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • H04M15/8044Least cost routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • H04M15/8044Least cost routing
    • H04M15/8055Selecting cheaper transport technology for a given service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • H04M15/8044Least cost routing
    • H04M15/8061Selecting least cost route depending on origin or type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/24Reselection being triggered by specific parameters
    • H04W36/26Reselection being triggered by specific parameters by agreed or negotiated communication parameters
    • H04W4/003
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/24Accounting or billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/14Reselecting a network or an air interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/14Reselecting a network or an air interface
    • H04W36/144Reselecting a network or an air interface over a different radio air interface technology
    • H04W36/1446Reselecting a network or an air interface over a different radio air interface technology wherein at least one of the networks is unlicensed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Abstract

모바일 장치(mobile device)가 개시된다. 상기 모바일 장치는 복수의 어플리케이션이 저장되는 메모리; 제1 통신 모듈 및 제2 통신 모듈을 포함하는 통신 회로, 및 상기 통신 회로와 전기적으로 연결된 프로세서를 포함할 수 있다. 상기 프로세서는, 상기 복수의 어플리케이션 중 지정된 어플리케이션을 실행하고, 상기 어플리케이션의 실행에 응답하여 제1 네트워크의 통신 상태와 제2 네트워크의 통신 상태를 판단하고, 상기 판단 결과, 상기 모바일 장치에 적용되는 요금제, 상기 지정된 어플리케이션에 적용되는 서비스 정책, 상기 지정된 어플리케이션에 적용되는 성능 기준, 및 네트워크 선택 기준 중 적어도 하나에 기초하여 상기 제1 네트워크 및 상기 제2 네트워크 중 하나를 선택하고 상기 선택된 네트워크를 이용하여 상기 어플리케이션과 연관된 서버로부터 데이터를 수신할 수 있다.

Description

지능형 네트워크 연결 관리를 제공하는 방법 및 장치{Method and Apparatus for providing Smart Network Connection Management}
본 문서에서 개시되는 실시 예들은, 전자 장치에서 네트워크를 선택적으로 활용하는 기술과 관련된다.
스마트 폰(smart phone)과 같은 모바일 단말(mobile device)은 3G나 LTE(Long Term Evolution)와 같은 셀룰러 네트워크(cellular network)를 지원한다. 이 외에도, Wi-Fi와 같이 특정한 데이터 전송 규약(예: IEEE(The Institute of Electrical and Electronics Engineers) 802.11)을 따르는 무선 통신 기술이 모바일 단말에서 지원될 수 있다. 추가적으로 IEEE 802.15.1을 따르는 Bluetooth와 같은 무선 통신 기술 등이 모바일 단말에서 지원될 수 있다.
각각의 무선 통신 기술은 사용하는 주파수 대역이나 고유한 기술 특징에 따라 서로 다른 데이터 전송 속도를 제공할 수 있다. 이 데이터 전송 속도는, 네트워크나 AP(access point)에 연결된 모바일 단말(사용자 장치(user equipment, UE)로 참조되기도 함)의 수에 따라서 이론적인 최대값 내에서 달라질 수 있다
셀룰러 네트워크 기술이 발전하고 통신 사업자들이 데이터 사용 요금의 부담이 낮은 요금제를 출시함에 따라, 많은 사용자들이 Wi-Fi와 같은 무료 네트워크가 이용 가능한 경우에도 안정적인 속도와 연결 상태를 보장하는 셀룰러 네트워크를 이용하여 데이터를 다운로드 하는 경향이 있다. 이에 따라 셀룰러 네트워크로 데이터 트래픽(data traffic)이 집중될 수 있다. 네트워크 용량(capacity)이 총 데이터 트래픽을 감당할 수 없는 상태가 되는 것을 해결하기 위해 MPTCT(Multi Path TCP), ANDSF(Access Network Discovery and Selection Function), MAPCON(Multiple Access Connectivity), IFOM(IP Flow Mobility)과 같은 데이터 오프로딩(offloading) 기술이 개발되어 왔으나, 위 열거한 기술들은 프록시 서버(proxy server)나 정책 서버(policy server)의 구축을 요구하기 때문에 통신 사업자의 비용 부담을 증가시키게 된다.
본 문서에서 개시되는 실시 예들은, 전술한 문제 및 본 문서에서 제기되는 과제들을 해결하기 위해, 별도의 서버 구축 없이 모바일 단말에서 자체적으로 데이터 오프로딩을 가능하게 하고, 그 결과 사용자에게 상대적으로 향상된 사용자 경험(user experience, UX)을 제공하고자 한다.
본 문서에 개시되는 일 실시 예에 따른 모바일 장치(mobile device)는, 복수의 어플리케이션이 저장되는 메모리; 제1 통신 모듈 및 제2 통신 모듈을 포함하는 통신 회로, 상기 제1 통신 모듈은 제1 통신 프로토콜을 이용하여 제1 네트워크에 연결 가능하고, 상기 제2 통신 모듈은 제2 통신 프로토콜을 이용하여 제2 네트워크에 연결 가능함; 및 상기 통신 회로와 전기적으로 연결된 프로세서를 포함한다. 상기 프로세서는, 상기 복수의 어플리케이션 중 스트리밍 서비스 어플리케이션을 실행하고, 상기 스트리밍 서비스 어플리케이션의 실행에 응답하여 상기 제1 네트워크의 통신 상태와 상기 제2 네트워크의 통신 상태를 판단하고, 상기 판단 결과 및 상기 모바일 장치에 적용되는 요금제에 기초하여 상기 제1 네트워크 및 상기 제2 네트워크 중 하나를 선택하고, 상기 선택된 네트워크를 이용하여 스트리밍 서버로부터 상기 스트리밍 서비스 어플리케이션과 연관된 콘텐트(content)를 다운로드 할 수 있다.
다른 예시로서, 상기 모바일 장치는 복수의 어플리케이션이 저장되는 메모리; 제1 통신 모듈 및 제2 통신 모듈을 포함하는 통신 회로, 및 상기 통신 회로와 전기적으로 연결된 프로세서를 포함할 수 있다. 상기 프로세서는, 상기 복수의 어플리케이션 중 지정된 어플리케이션을 실행하고, 상기 어플리케이션의 실행에 응답하여 제1 네트워크의 통신 상태와 제2 네트워크의 통신 상태를 판단하고, 상기 판단 결과, 상기 모바일 장치에 적용되는 요금제, 상기 지정된 어플리케이션에 적용되는 서비스 정책, 상기 지정된 어플리케이션에 적용되는 성능 기준, 및 네트워크 선택 기준 중 적어도 하나에 기초하여 상기 제1 네트워크 및 상기 제2 네트워크 중 하나를 선택하고 상기 선택된 네트워크를 이용하여 상기 어플리케이션과 연관된 서버로부터 데이터를 수신할 수 있다.
일 실시 예에 따른 모바일 장치의 네트워크 연결 관리 방법은, 스트리밍 서비스 어플리케이션을 실행하는 동작, 상기 스트리밍 서비스 어플리케이션의 실행에 응답하여 상기 제1 네트워크의 통신 상태와 상기 제2 네트워크의 통신 상태를 판단하는 동작, 상기 판단 결과 및 상기 모바일 장치에 적용되는 요금제에 기초하여 상기 제1 네트워크 및 상기 제2 네트워크 중 하나를 선택하는 동작, 상기 선택된 네트워크를 이용하여 스트리밍 서버로부터 상기 스트리밍 서비스 어플리케이션과 연관된 콘텐트(content)를 다운로드 하는 동작을 포함할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 사용자가 컨텐츠를 소비할 때 네트워크 상태에 따라서 최적의 상태를 유지할 수 있도록 할 수 있다.
또한, 사용자는 가입한 요금제에 따라 적절하게 데이터를 활용할 수 있으며, 통신 사업자는 네트워크에 트래픽이 심하게 집중되는 것을 해소할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시 예에 따른 모바일 장치의 개념적인(conceptual) 구성을 나타낸다.
도 2는 일 실시 예에 따른 지능형 연결 관리를 위한 연결 매니저의 기능 블록도(functional block diagram)를 나타낸다.
도 3은 일 실시 예에 따른 향상된 네트워크 선택 알고리즘을 나타낸다.
도 4는 일 실시 예에 따라 Wi-Fi 네트워크에서 셀룰러 네트워크로 전환하는 예시적인 흐름도를 나타낸다.
도 5는 일 실시 예에 따라 셀룰러 네트워크에서 Wi-Fi 네트워크로 전환하는 예시적인 흐름도를 나타낸다.
도 6은 일 실시 예에 따른 지능형 연결 관리 프로세스를 나타내는 흐름도이다.
도 7은 일 실시 예에 따른 초기 절차의 예시적인 흐름도를 나타낸다.
도 8은 일 실시 예에 따른 네트워크 연결 관리 프로세스를 나타내는 흐름도이다.
도 9는 일 실시 예에 따른 지능형 연결 관리를 설정하는 예시적인 UI를 나타낸다.
도 10은 일 실시 예에 따른 지능형 연결 관리의 사용 여부를 표시하는 예시적인 UI를 나타낸다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다.
도 1은 일 실시 예에 따른 모바일 장치의 개념적인(conceptual) 구성을 나타낸다.
도 1을 참조하면, 모바일 장치(100)는 프로세서(110), 통신 회로(120), 메모리(130), 디스플레이(140), 터치 패널(150), 입력 장치(160), 출력 장치(170)를 포함할 수 있다. 다양한 실시 예에서 모바일 장치(100)는 위 구성 요소들 중 일부 구성을 생략하거나, 혹은 다른 구성 요소를 추가적으로 구비할 수 있다. 예를 들어, 각종 센서, 배터리나 입/출력 인터페이스와 같은 구성이 모바일 장치(100)에 추가적으로 포함될 수 있다.
프로세서(110)는 예를 들어, 모바일 장치(100)의 AP(application processor)에 해당할 수 있다. 다른 예시에서, 프로세서(110)는 모바일 장치(100)의 SoC(System on Chip) 내에 구현된 CPU(central processing unit)나 연산 코어(processing core)에 해당할 수 있다. 일반적으로, 프로세서(110)는 모바일 장치(100)에서 프로세서(110)에 전기적으로 연결된 다른 구성 요소들을 제어하고 연산을 수행하는 처리 회로(processing circuit)에 해당할 수 있다.
통신 회로(120)는 예를 들어, 모바일 장치(100)의 CP(communication processor)에 해당할 수 있다. 다른 예시에서, 통신 회로(120)는 모바일 장치의 SoC(System on Chip) 내에 구현된 모뎀(modem) 및/또는 연결 회로(connectivity circuit)에 해당할 수 있다
통신 회로(120)는, 다양한 네트워크를 이용한 통신을 지원하기 위해 다양한 모듈을 포함할 수 있다. 예를 들어, 통신 회로(120)는 2G/3G, LTE, LTE-A(LTE-Advanced), CDMA(Code Division Multiple Access), WCDMA(Wideband CDMA), UMTS(Universal Mobile Telecommunications System), WiBro(Wireless Broadband)와 같은 셀룰러 통신을 지원하기 위한 셀룰러 모듈(cellular module)(121)을 포함할 수 있다. 또한 통신 회로(120)는 Wi-Fi와 같이 AP(access point)를 통한 인터넷 액세스를 지원하기 위한 Wi-Fi 모듈(122)을 포함할 수 있다. 또한 통신 회로(120)는 단말-단말(device-to-device) 간 통신을 위한 Bluetooth 모듈(123)을 포함할 수 있다.
도 1에 도시된 통신 회로(120)의 하위 모듈들은 예시적인 것이며, 통신 회로(120)는 추가적인 하위 모듈을 더 구비할 수 있다. 예를 들어, NFC(near field communication), BLE(Bluetooth Low Energy), Wi-Fi direct, MST(magnetic stripe transmission), 또는 GPS(Global Positioning System) 통신을 위한 하위 모듈들을 더 구비할 수 있다.
일 실시 예에서, 일부 통신 모듈은 통신 회로(120)와 별개로 구현될 수 있다. 예를 들어, CP와 Wi-Fi 모듈 또는 GPS 모듈은 별도의 하드웨어로 구현되거나, 별도의 칩(chip)으로 구현될 수 있다. 도 2에서 통신 회로(120)는 모바일 장치(120)에 구비된 통신을 위한 모듈을 포함하는 개념으로 이해되어야 하며, 통신 회로(120)에 해당하는 하나의 칩(예: SoC)이나 하나의 블록에 모든 하위 모듈들이 배치되는 것으로 이해되어서는 안 된다.
통신 회로(120)는 안테나(129)와 연결될 수 있다. 각각의 통신 모듈(예: 셀룰러 모듈(121), Wi-Fi 모듈(122) 등)은 각 통신 모듈이 사용하는 주파수 대역의 신호를 송/수신하기 위한 전기적 길이를 갖는 방사체(radiator)와 연결될 수 있다. 따라서, 안테나(129)는 하나 이상의 방사체를 포함할 수 있다. 또한 안테나(129)는 신호 처리와 관련된 FEM(front-end module), 필터(filter), 증폭기(amplifier) 등을 포함하는 개념으로 이해될 수 있다.
통신 회로(120)는 유선 통신을 위한 모듈을 포함할 수 있다. 그러나 발명의 논지가 흐려지는 것을 방지하기 위하여 유선 통신과 관련된 설명은 생략한다.
메모리(130)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(130)는, 모바일 장치(100)의 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 메모리(130)는 소프트웨어 및/또는 프로그램을 저장할 수 있다. 프로그램은, 예를 들면, 커널(kernel), 미들웨어(middle ware), API(Application Programming Interface), 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다. 커널, 미들웨어, 또는 API의 적어도 일부는, 운영 체제(Operating System (OS))로 지칭될 수 있다. 또한 메모리(130)에는 본 발명의 실시 예와 관련된 다른 적절한 데이터(예: 스트리밍(streaming) 어플리케이션 목록 등)가 저장될 수 있다.
디스플레이(140)는 어플리케이션의 실행 화면을 출력할 수 있다. 일 실시 예에서, 디스플레이(140)는 터치 패널(150)과 함께 구현(예: 터치 스크린 패널(touch screen panel) 등)될 수 있다. 이 경우, 사용자는 디스플레이(140)를 터치함으로써 사용자 입력을 발생시킬 수 있다. 다시 말해서, 디스플레이(140)이 터치 패널(150)과 함께 구현되는 경우, 디스플레이(140)는 입력 장치(160)와 출력 장치(170)의 기능을 함께 수행하는 것으로 이해될 수 있다.
터치 패널(150)은, 전술한 기능 외에, 모바일 장치(100)의 전면이나 측면 또는 후면 등에 터치 키(touch key)나 터치 버튼(touch button) 등으로 구현될 수 있다. 예를 들어, 모바일 장치(100)의 전면에 배치된 홈 키(home key), 백 키(back key)와 같은 다양한 기능 키(function key)가 터치 패널(150)을 통해 구현될 수 있다. 일부 실시 예에서, 터치 스크린의 구현을 위해 사용되는 터치 패널과 기능 키의 구현을 위해 사용되는 터치 패널은 별도의 회로 또는 신호 선을 가질 수 있다.
입력 장치(160)는, 전술한 터치 스크린이나 기능 키 이외에, 추가적인 물리 버튼(예: 볼륨 버튼, 전원 버튼 등)을 통해 구현될 수 있다. 또한, 음성 입력을 획득하기 위한 마이크 등도 입력 장치(160) 중 하나로 이해될 수 있다. 출력 장치(170)는 전술한 디스플레이(140) 이외에, 추가적인 스피컨, 진동, LED 등을 통해 구현될 수 있다.
이하에서는 도 2 내지 도 8을 참조하여, 모바일 장치(100)를 이용한 지능형 연결 관리(smart connection management) 방법을 설명한다.
도 2는 일 실시 예에 따른 지능형 연결 관리를 위한 연결 매니저의 기능 블록도(functional block diagram)를 나타낸다.
도 2를 참조하면, 연결 매니저(200)는 지능형 연결 관리 컨트롤러(smart controller management controller)(210), 어플리케이션 이벤트 컨트롤러(application event controller)(220), RAT 컨트롤러(Radio Access Technology controller)(230), 라우팅 테이블 컨트롤러(routing table controller)(240), 화이트 리스트 컨트롤러(white list controller)(250), 타이머 컨트롤러(timer controller)(260), 서비스 프로비저닝 컨트롤러(service provisioning controller)(270)과 같은 하위 모듈을 포함할 수 있다. 연결 매니저(200) 또는 각각의 하위 모듈은 프로세서(110)에 의한 메모리(130)에 저장된 명령어 또는 프로그램 코드의 실행을 통해 구현될 수 있다. 그러나 일부 실시 예에서, 연결 매니저(200)의 일부는 통신 회로(120)(예: CP)에 의한 코드의 실행을 통해 분산 구현될 수 있다. 따라서, 본 문서에서 연결 매니저(200)에 의해 수행되는 것으로 설명되는 동작들은, 프로세서(110) 또는 통신 회로(120)에 의해 수행되는 것으로 이해될 수 있다. 또한 연결 매니저(200)의 하위 모듈들(210-270)은 각각이 수행하는 기능을 중심으로 분류한 것으로, 둘 이상의 모듈들이 하나의 모듈로 통합되거나, 하나의 모듈이 둘 이상의 모듈로 구분될 수 있다.
연결 매니저(200)는 통신 회로(120)가 2개 이상의 통신 프로토콜을 이용하여 서버로부터 데이터(또는 콘텐츠(contents))를 다운로드 할 수 있는 경우에, 각각의 통신 프로토콜에 대응하는 네트워크의 통신 상태, 모바일 장치(100)에 적용되는(모바일 장치(100)의 사용자가 가입한) 요금제(tariff), 사용자 설정, 제조사 설정, 통신 사업자 설정, 어플리케이션의 설정, 어플리케이션에 적용되는 성능 기준(예: 다운로드/업로드 대역폭, 스루풋 등), 네트워크 선택 기준 등에 기초하여 데이터 다운로드에 사용할 통신 프로토콜을 적응적으로 결정할 수 있다. 본 문서에서는, 통신 회로(120)를 통해 데이터를 다운로드 하는 실시 예를 중심으로 설명한다. 다만 추가적으로 또는 대체적으로, 데이터를 업로드 하는 경우에도 다운로드 상황에서 설명된 것과 동일하거나 대응되는 프로세스들이 적용될 수 있다. 본 문서에서 "다운로드"로 설명된 내용은 "업로드"로 대체되거나, 보다 일반적으로 "데이터 통신"으로 대체될 수 있다.
예를 들어, 통신 회로(120)가 제1 통신 프로토콜을 이용하여 제1 네트워크와 통신을 수행하는 제1 통신 모듈과 제2 통신 프로토콜을 이용하여 제2 네트워크와 통신을 수행하는 제2 통신 모듈을 포함하는 경우, 연결 매니저(200)는 연결 매니저(200)의 하위 모듈들(210-270)을 통해 수집된 정보를 바탕으로 하여 데이터를 다운로드에 이용될 네트워크를 선택/변경 할 수 있다. 예를 들어, 제1 통신 모듈은 셀룰러 모듈(121)로서 LTE 프로토콜을 이용하여 LTE 네트워크와 통신할 수 있고, 제2 통신 모듈은 Wi-Fi 모듈(122)로서 IEEE 802.11 프로토콜을 이용하여 Wi-Fi 네트워크와 통신할 수 있다. 제1 네트워크와 제2 네트워크는 다양한 통신 프로토콜 중 적절한 것으로 선택될 수 있으며, 위에서 언급된 예시로 제한되지 않는다. 다만 본 문서에서는 설명의 편의를 위해 셀룰러 네트워크와 Wi-Fi 네트워크를 기준으로 실시 예들을 설명한다.
연결 매니저(200)는, 데이터의 다운로드를 시작할 때 셀룰러 네트워크를 사용할지 Wi-Fi 네트워크를 사용할지 판단할 수 있다. 또한, 데이터를 다운로드 하는 중이라 하더라도, 연결 매니저(200)는 다운로드에 사용할 네트워크를 현재 사용 중인 네트워크와 다른 네트워크로 능동적으로 변경할 수 있다. 본 문서에서는 연결 매니저(200)에 의해 수행되는 동작들을 지능형 연결 관리(smart CM) 기능으로 정의한다.
서비스 프로비저닝/요금 정책 컨트롤러 (270)(이하 단순히 서비스 프로비저닝 컨트롤러(270)으로 참조될 수 있다)는 지능형 연결 관리 기능을 사용할 수 있는 환경인지 판단하여 지능형 연결 관리 기능을 활성화 하거나 비활성화 할 수 있다. 예를 들어 지능형 연결 관리 기능이 특정 서비스에만 적용되는 경우 모바일 장치(100)의 사용자의 해당 서비스 사용 가능 여부를 판단하여 지능형 연결 관리 기능의 사용 여부를 결정할 수 있다. 일 예로 사업자(예: 통신 사업자(operator) 또는 컨텐츠 제공자(content provider))가 무제한 스트리밍(unlimited streaming) 서비스를 제공하고, 해당 기능이 사용자 설정에 따라 활성화되거나 비활성화 될 수 있는 경우 서비스 프로비저닝 컨트롤러(270)는 해당 기능의 활성화 또는 비활성화 여부를 판단하여 무제한 스트리밍 서비스에 대한 지능형 연결 관리 기능을 활성화 또는 비활성화 시킬 수 있다. 또 다른 예로 사업자가 특정 기능을 제한된 가입자에 대해서만 제공할 경우 서비스 프로비저닝 컨트롤러(270)는 해당 서비스 사용 가능 여부를 판단하여 지능형 연결 관리 기능을 활성화 또는 비활성화 시킬 수 있다. 해당 정보는 주로 사업자가 제공하는 것으로 서비스 프로비저닝 컨트롤러(270)는 다양한 방법으로 해당 정보를 수집할 수 있다. 예를 들어 서비스 프로비저닝 컨트롤러(270)는 사업자 서버와의 통신을 통해 해당 정보를 수신하거나 해당 서비스와 연관된 사업자 어플리케이션과의 인터페이스를 통해 해당 정보를 얻을 수 있다.
지능형 연결 관리 컨트롤러(210)는 어플리케이션 이벤트 컨트롤러(220)를 통해 획득한 이벤트를 분석하고, 분석 결과에 기초하여 지능형 연결 관리 기능을 활성화 하거나 비활성화 할 수 있다. 또한 지능형 연결 관리 컨트롤러(210)는 향상된 네트워크 선택 알고리즘(enhanced network selection policy) 및 핑퐁 회복(ping-pong recovery) 알고리즘을 포함할 수 있다. 지능형 연결 관리 컨트롤러(210)는 핑퐁 회복 알고리즘에 기초하여, Wi-Fi 네트워크와 셀룰러 네트워크가 모두 좋지 않은 상태에서 지속적인 핑퐁 현상(Wi-Fi 네트워크와 셀룰러 네트워크를 반복적으로 선택하는 현상)을 방지할 수 있다. 향상된 네트워크 선택 알고리즘에 대해서는 도 3을 참조하여 설명한다.
지능형 연결 관리 컨트롤러(210)는 Wi-Fi 모듈(122)로부터 획득되는 Wi-Fi 네트워크 스루풋 추정(throughput estimation) 값 및 셀룰러 모듈(121)로부터 획득되는 셀룰러 네트워크 스루풋 추정 값을 관리할 수 있다. 또한 지능형 연결 관리 컨트롤러(210)는 프로세서(110)(예: AP)로부터 획득되는 현재 서비스 중인 어플리케이션이 사용 중인 데이터 율(data rate)(예: 서비스 유지를 위해 초당 요구되는 데이터 양) 값에 기초하여 요구 스루풋(required throughput) 값을 생성 및 관리할 수 있다. 또한 지능형 연결 관리 컨트롤러(210)는 어플리케이션 별로 요구되는 스루풋(required throughput) 값을 저장할 수 있고, 이 스루풋 값 및 실제 사용되는 데이터율(data rate)을 고려하여 실제 지능형 연결 관리를 위해 사용할 요구 스루풋 값을 결정할 수 있다.
또한, 지능형 연결 관리 컨트롤러(210)는 향상된 네트워크 선택 알고리즘에 따라 Wi-Fi/셀룰러 네트워크 스루풋 추정 값을 이용하여 데이터의 다운로드에 사용할 네트워크를 선택할 수 있다. 지능형 연결 관리 컨트롤러(210)는 선택된 네트워크 정보를 RAT 컨트롤러(230)으로 제공할 수 있다.
어플리케이션 이벤트 컨트롤러(220)는 프레임워크(framework)(예: 안드로이드(Android) 프레임워크)를 통해서 지정된 어플리케이션에서 발생하는 이벤트를 모니터링 하고 수집할 수 있다. 여기서 지정된 어플리케이션은, 지능형 연결 관리 기능이 적용될 것으로 미리 정의된 어플리케이션에 해당할 수 있다. 예를 들어, 영화나 TV 프로그램과 같은 동영상 컨텐츠의 스트리밍을 제공하는 스트리밍 서비스 어플리케이션이 상기 지정된 어플리케이션에 해당할 수 있다. 지정된 어플리케이션들과 각각의 어플리케이션에 적용할 지능형 연결 관리의 세부 기능들의 목록은, 예를 들어 화이트 리스트 컨트롤러(250)에 의해 관리될 수 있다.
어플리케이션 이벤트 컨트롤러(220)는, 예를 들어, 어플리케이션에서 실행 중인 컨텐츠에 대한 재생, 일시 정지, 재생 재개(resume), 중지 이벤트를 수집할 수 있다. 또한 어플리케이션 이벤트 컨트롤러(220)는 어플리케이션에서 실행 중에 발생하는 홈 키나 백 키와 같은 입력 장치(160)에 의한 입력 이벤트, 어플리케이션의 포어그라운드 또는 백그라운드 실행 이벤트를 수집할 수 있다. 추가적으로 어플리케이션 이벤트 컨트롤러(220)는, 어플리케이션의 UID(user identifier)/PID(process ID) 및, 어플리케이션의 실행과 종료에 대한 이벤트를 수집할 수 있다.
RAT 컨트롤러(230)는 지능형 연결 관리 기능이 활성화 될 때, 지능형 연결 관리 컨트롤러(210)의 지시에 따라 Wi-Fi가 OFF 상태인 경우 Wi-Fi를 ON 상태로 전환시킬 수 있다. 또한, 향상된 네트워크 선택 알고리즘을 위해 선택된 네트워크를 지능형 연결 관리 컨트롤러(210)를 통해서 업데이트 하고, 데이터 트래픽 경로(data traffic path)의 변경을 위해 선택된 네트워크에 대한 정보를 라우팅 테이블 컨트롤러(240)으로 제공한다. 또한 RAT 컨트롤러(230)는 지능형 연결 관리 기능이 비활성화 될 때 Wi-Fi의 ON/OFF 상태 정보를 저장할 수 있다.
라우팅 테이블 컨트롤러(240)는 포어 그라운드와 백 그라운드에서 활성화된 각각의 어플리케이션들의 데이터 트래픽에 대한 라우팅 경로를 결정하는 라우팅 테이블을 생성하고 관리할 수 있다. 예를 들어, 모바일 장치(100)에 적용되는 요금제에 따라서 (추가) 과금이 발생하지 않는 스트리밍 서비스 데이터의 트래픽을 오프로드(offload)할 네트워크와, 그 이외에 다른 서비스의 데이터 트래픽을 오프로드 할 네트워크의 정보를 제공할 수 있다. 예를 들어, 라우팅 테이블 컨트롤러(240)는 사업자가 Netflix 어플리케이션에 대해 무제한 동영상 스트리밍 서비스를 제공하고, 해당 어플리케이션 또는 그 서비스(예: Netflix application or unlimited streaming service)가 화이트 리스트에 등록이 되어 있고, 사용자가 해당 서비스를 제공받을 수 있는 가입자인 경우, 지능형 연결 관리 컨트롤러의 지시에 따라 Netflix 어플리케이션을 이용한 동영상 스트리밍 서비스(unlimited streaming service, USS)의 데이터 트래픽은 셀룰러 네트워크로 오프로딩 하고, 다른 서비스(other service, OS)의 데이터 트래픽은 Wi-Fi로 오프로딩 하도록 라우팅 테이블을 정의할 수 있다. 다른 예시에서, Netflix 어플리케이션과 다른 서비스의 데이터 트래픽을 모두 Wi-Fi로 오프로딩 하도록 라우팅 테이블이 정의될 수 있다. 또한, 라우팅 테이블에는 어플리케이션(서비스)의 UID 값도 포함될 수 있다. 라우팅 테이블은, 예시적으로 표 1과 같이 표현될 수 있다
pre-defined service package name service UID USS traffic path OS traffic path
com.android.netflix 8890 cellular Wi-Fi
화이트 리스트 컨트롤러(250)는 미리 정의된 서비스 어플리케이션과 UID 값의 페어 테이블(pair table)을 생성하고 관리할 수 있다. 예를 들어, 화이트 리스트 컨트롤러(250)는 표 2와 같은 화이트 리스트를 관리할 수 있다.
pre-defined service application Android Process UID
ESPN 1234
HBO NOW 2345
Movieplex 3456
T-mobile TV 4567
어플리케이션 UID(예: Android Process UID) 값은 어플리케이션 이벤트 컨트롤러(220)를 통해 업데이트 될 수 있다. 화이트 리스트 컨트롤러(250)에서 관리하는 화이트 리스트는 하드 코딩(hard coding) 방식으로 미리 정의될 수도 있으나, 모바일 장치(100)에 적용되는 요금제나 통신사의 정책 등에 의해 바뀔 수 있고, 실시간으로 업데이트 될 수 있다. 예를 들어, 사용자가 월 50$의 요금제를 선택한 모바일 장치(100)의 화이트 리스트에는 12개의 어플리케이션 목록이 포함될 수 있지만, 요금제가 월 100$로 변경되면 화이트 리스트에는 12개의 어플리케이션이 추가(총 24개)될 수 있다. 추후 통신 사업자와 콘텐츠 제공업자 사이의 계약 등에 따라서 어플리케이션은 추가되거나 삭제될 수 있고, 이러한 추가/삭제에 대한 정보는 네트워크를 통해 실시간으로 업데이트 될 수 있다. 단말 제조 업체에서 제공하는 서비스도 단말 제조 업체의 서버를 통해 실시간으로 업데이트 될 수 있다.
타이머 컨트롤러(260)는 지능형 연결 관리 타이머를 정의할 수 있다. 이 타이머는 지능형 연결 관리 기능이 적용되는 어플리케이션의 프로세스(process)에 따라서 타이머의 시작 여부를 결정할 수 있다. 어플리케이션의 프로세스는 표 3과 같이 정의될 수 있다.
value process
0 foreground
1 visible
2 perceptible
3-7 previous
8~ cached
여기서 "visible"은 화면 분할과 같이 2개의 어플리케이션이 디스플레이(140)에 보여지고 있는 멀티 윈도우 환경에서 포커스 되지 않은 다른 어플리케이션을 의미할 수 있다. 또한 "perceptible"은 예를 들어 안드로이드 어플리케이션 패키지의 경우 AndroidManifest.xml 파일에서 persistent를 선언한 어플리케이션에 해당할 수 있다.
일 실시 예에서, 타이머 컨트롤러(260)는 어플리케이션의 프로세스가 0이 아닌 경우 타이머를 시작할 수 있다. 다른 실시 예에서, 타이머 컨트롤러(200)는 어플리케이션의 프로세스가 8 이상에 해당하는 경우(cached application이 되는 경우) 타이머를 시작할 수 있다. 또한 지능형 연결 관리 기능이 적용되는 어플리케이션들이 복수 개 실행되는 경우, 타이머 컨트롤러(260)는 모든 어플리케이션이 포어그라운드에서 동작하지 않는 경우에 타이머를 시작할 수 있다. 만약 메모리 확보를 위해 지능형 연결 관리 기능이 적용되는 어플리케이션의 프로세스가 종료되면(process kill) 타이머는 종료될 수 있다. 타이머에 의해 미리 설정된 시간이 만료(expired)되면 지능형 연결 관리 기능은 비활성화 될 수 있다. 예를 들어, 스트리밍 서비스 어플리케이션을 사용하는 사용자가 동영상 시청 도중 홈 키나 백 키 등을 이용하여 어플리케이션을 백그라운드로 전환하면 타이머가 동작하고, 미리 정의된 만료 시간인 30초가 경과하면, 지능형 연결 관리 기능이 비활성화 될 수 있다. 그러나 30초 경과 이전에 다시 어플리케이션이 포어그라운드로 전환되면, 타이머는 초기화 및 중지되고, 지능형 연결 관리 기능은 활성화 상태를 유지할 수 있다.
도 3은 일 실시 예에 따른 향상된 네트워크 선택 알고리즘을 나타낸다.
도 3을 참조하면, 연결 매니저(200) (또는 지능형 연결 관리 컨트롤러(210))는 제1 네트워크와 제2 네트워크를 적응적으로 결정할 수 있다. 도 3에서는 제1 네트워크를 Wi-Fi 네트워크로, 제2 네트워크를 셀룰러 네트워크로 가정하고 설명한다.
일 실시 예에서, 향상된 네트워크 선택 알고리즘은, 연결 매니저(200)가 네트워크 제어 권한을 가지고 있는 것을 전제로 동작할 수 있다. 예를 들어, 사용자가 Wi-Fi 네트워크를 선택한 경우, 모바일 장치(100)는 Wi-Fi의 통신 환경이 나쁜 상태라 하더라도 Wi-Fi를 이용한 데이터 통신을 수행할 수 있다. 그러나 동영상이나 음악 스트리밍과 같은 서비스에서는, Wi-Fi 환경이 나쁜 경우에도 Wi-Fi 네트워크를 이용하여 서비스를 제공하면, 재생 중인 동영상이나 음악이 반복적으로 중단되는 등 사용자 경험을 저해할 수 있다. 다만 사용자가 과금을 원치 않아서 Wi-Fi(또는 무료/상대적 저가의 네트워크)를 선택한 경우에도 불구하고, 과금이 발생하는 셀룰러 네트워크(또는 유료/상대적 고가의 네트워크)를 사용자 동의 없이 사용하게 되는 것을 방지하기 위해, 향상된 네트워크 선택 알고리즘(또는 지능형 연결 관리 기능)은 사용자의 요금제에 기초하여 동작할 수 있다. 예를 들어, 사용자가 데이터 무제한 요금제에 가입되어 있는 경우, 혹은 데이터 무제한이 아니더라도 초과 요금이 발생하지 않는 범위 내에서 향상된 네트워크 선택 알고리즘이 동작할 수 있다.
일 실시 예에서, Wi-Fi 네트워크를 이용하여 데이터를 다운로드 하고 있는 상태에서 다음의 조건이 만족되면 연결 매니저(200)는 셀룰러 네트워크로 데이터를 다운로드 하도록 할 수 있다.
required TP > Wi - Fi TP; 및
cellular TP (estimation) > Wi - Fi TP
예를 들어, 현재 어플리케이션에서 서비스되는 동영상 재생을 위해 초당 2M byte의 데이터 스루풋(throughput, TP)이 요구되는데 Wi-Fi의 스루풋이 2Mbps 이하로 감소하거나 감소할 것이 예상되고, 셀룰러 스루풋 추정 값이 Wi-Fi 스루풋 값보다 큰 경우에 연결 매니저(200)는 네트워크를 Wi-Fi에서 셀룰러로 교체하여 데이터를 다운로드 하도록 할 수 있다. 여기서 Wi-Fi의 스루풋은 현재 Wi-Fi의 스루풋에 해당하고, 셀룰러의 스루풋은, 현재 모바일 장치(100)가 셀룰러 네트워크에 연결된(RRC connected) 상태는 아니기 때문에, 추정 값에 해당할 수 있다. 그러나 다른 실시 예에서, 과금 혹은 다른 이슈가 없는 경우, 모바일 장치(100)는 셀룰러 네트워크에 접속하여 데이터 스루풋을 직접 측정할 수도 있다.
여러 어플리케이션들이 동시에 데이터 서비스를 사용하고 있는 경우 연결 매니저(200)(또는 통신 회로(120))는 각각의 어플리케이션 별로 데이터 스루풋을 측정하고 지능형 연결 관리 기능이 적용되는 어플리케이션의 데이터 스루풋에 기초하여 지정된 어플리케이션에 대한 네트워크 선택 알고리즘을 동작시킨다.
일 실시 예에서, 셀룰러 네트워크를 이용하여 데이터를 다운로드 하고 있는 상태에서 다음의 조건이 만족되면, 연결 매니저(200)는 Wi-Fi 네트워크로 데이터를 다운로드 하도록 할 수 있다.
Wi - Fi TP > required TP + α; 또는
required TP > Wi - Fi TP > cellular TP
셀룰러 네트워크를 이용하여 데이터를 다운로드 하고 있는 상태에서도, 연결 매니저(200)는 Wi-Fi 모듈(122)로부터 Wi-Fi의 스루풋을 지속적으로 모니터링 할 수 있다. Wi-Fi 네트워크는 과금과 같은 이슈가 없기 때문에, 모바일 장치(100)는 Wi-Fi AP(access point)에 접속하여 직접 스루풋을 측정할 수 있다. 이제 Wi-Fi의 스루풋이 요구되는 스루풋보다 일정 값(α) 이상 높은 것으로 판단된 경우 연결 매니저(200)는 데이터 다운로드에 사용할 네트워크를 Wi-Fi 네트워크로 교체할 수 있다. 다시 말해서, 셀룰러 네트워크의 통신 상태가 양호한 경우라 하더라도 연결 매니저(200)는 Wi-Fi로 연결을 전환할 수 있다. 이를 통해 데이터 요금제 사용자의 요금(혹은 데이터) 부담을 감소시킬 수 있다. 사용자가 무제한 데이터 요금제를 사용하는 경우, 사용자는 요금이나 데이터에 대한 부담이 없지만 이와 같은 동작을 통해 셀룰러 네트워크에 몰리는 트래픽을 분산시킴으로서 많은 사용자들은 원활하게 서비스를 제공받을 수 있다.
상기 일정 값(α)은 핑퐁 회복 알고리즘에 따라 결정될 수 있다. 네트워크 핑퐁이 발생할 가능성이 매우 낮거나, 핑퐁 회복 알고리즘이 적용되지 않는 경우에는, 단순히 "Wi-Fi TP > required TP" 조건이 만족되면 연결 매니저(200)는 셀룰러 네트워크에서 Wi-Fi 네트워크로 연결을 전환시킬 수 있다. 상기 일정 값(a)는 서비스 품질(quality)의 차이를 결정하는 값으로 설정될 수 있다. 예를 들어 셀룰러 네트워크를 통한 무제한 데이터 서비스를 이용할 수 있는 경우에, 셀룰러 네트워크와 Wi-Fi 네트워크에서 제공 가능한 서비스 품질이 실질적으로 동일하다면 Wi-Fi 네트워크로 연결을 전환하더라도 사용자의 이점(advantage)이 없다. 이런 경우 Wi-Fi 네트워크에서 더 좋을 서비스를 받을 수 있는 경우 (예를 들어 셀룰러 네트워크에서는 사업자의 정책에 따라 480p 화질의 동영상 서비스만 가능하나 Wi-Fi 네트워크에서는 720p나 1280p 화질의 동영상 서비스가 가능한 경우 상기 요구 스루풋(required TP)는 480p에 해당하는 TP가 되고, 상기 일정 값(α)은 720p 이상의 서비스를 받을 수 있는 값이 될 수 있다.
위 조건 외에도, Wi-Fi의 스루풋이 서비스를 제공하기 위해 필요한 최소 데이터 스루풋(또는 요구 스루풋)보다 낮은 경우에도, Wi-Fi 네트워크의 스루풋이 셀룰러 네트워크의 스루풋보다 높다면, 연결 매니저(200)는 셀룰러 네트워크에서 Wi-Fi 네트워크로 연결을 전환시킬 수 있다.
이하에서는 도 4와 도 5를 참조하여, 향상된 네트워크 선택 알고리즘에 따른 모바일 장치(100)에서 수행되는 동작들을 설명한다.
도 4는 일 실시 예에 따라 Wi-Fi 네트워크에서 셀룰러 네트워크로 전환하는 예시적인 흐름도를 나타낸다.
도 4를 참조하면, 동작 401에서 모바일 장치(100)는 Wi-Fi 네트워크를 이용하여 데이터 통신을 수행할 수 있다. 예를 들어, 모바일 장치(100)는 Wi-Fi 모듈(122)를 이용하여 서버로부터 Wi-Fi 네트워크를 통해 데이터를 수신할 수 있다.
동작 403에서 모바일 장치(100)는 상기 데이터의 수신에 요구되는 데이터 스루풋에 비해 현재 Wi-Fi 네트워크의 데이터 스루풋이 부족한지 여부를 판단할 수 있다. 부족하지 않은 경우, 모바일 장치(100)는 지속적으로 Wi-Fi 네트워크를 이용하여 데이터를 수신할 수 있다.
만약 부족하다고 판단된 경우, 모바일 장치(100)는 동작 405에서 셀룰러 네트워크의 통신 상태가 Wi-Fi 네트워크의 통신 상태보다 양호한지 여부를 판단할 수 있다. 셀룰러 네트워크의 통신 상태가 Wi-Fi 네트워크의 통신 상태보다 양호하지 않은 경우, 모바일 장치(100)는 지속적으로 Wi-Fi 네트워크를 이용하여 데이터를 수신할 수 있다.
만약 셀룰러 네트워크의 통신 상태가 Wi-Fi 네트워크의 통신 상태보다 양호한 경우, 모바일 장치(100)는 데이터 수신에 이용되는 네트워크를 셀룰러 네트워크로 변경할 수 있다.
도 5는 일 실시 예에 따라 셀룰러 네트워크에서 Wi-Fi 네트워크로 전환하는 예시적인 흐름도를 나타낸다.
도 5를 참조하면 동작 501에서 모바일 장치(100)는 셀룰러 네트워크를 이용하여 데이터 통신을 수행할 수 있다. 예를 들어, 모바일 장치(100)는 셀룰러 모듈(121)을 이용하여 서버로부터 셀룰러 네트워크를 통해 데이터를 수신할 수 있다.
동작 503에서 모바일 장치(100)는 Wi-Fi 네트워크의 데이터 스루풋이 상기 데이터의 수신에 요구되는 데이터 스루풋을 충족시키는지 여부를 판단할 수 있다. 만족시키는 경우, 모바일 장치(100)는 동작 507에서 Wi-Fi 네트워크를 이용하여 데이터를 수신할 수 있다.
Wi-Fi 네트워크의 데이터 스루풋이 데이터의 수신에 요구되는 데이터 스루풋을 만족시키지 못하는 경우, 모바일 장치(100)는 동작 505에서 Wi-Fi 네트워크의 통신 상태가 셀룰러 네트워크의 통신 상태보다 양호한지 여부를 판단할 수 있다. 셀룰러 네트워크의 통신 상태가 Wi-Fi 네트워크의 통신 상태보다 양호한 경우, 모바일 장치(100)는 동작 507에서 Wi-F- 네트워크를 이용하여 데이터를 수신할 수 있다. 그렇지 않은 경우, 모바일 장치(100)는 지속적으로 셀룰러 네트워크를 이용하여 데이터를 수신할 수 있다.
도 3 내지 도 5를 참조한 설명에서, Wi-Fi 네트워크와 셀룰러 네트워크는 제1 네트워크와 제2 네트워크로 일반화될 수 있다. 또는 저가의 네트워크와 고가의 네트워크, 무료 네트워크와 유료 네트워크 등으로 일반화 될 수 있다.
이하에서는 도 6 내지 도 X를 참조하여, 지능형 연결 관리 기능이 적용된 모바일 장치(100)의 예시적인 동작들을 설명한다.
도 6은 일 실시 예에 따른 지능형 연결 관리 프로세스를 나타내는 흐름도이다.
도 6을 참조하면, 동작 601에서 프로세서(110)는 어플리케이션을 실행할 수 있다. 일 실시 예에서, 메모리(130)에는 복수의 어플리케이션이 저장되어 있을 수 있고, 복수의 어플리케이션 중에서 지정된 일부 어플리케이션(예: 스트리밍 서비스 어플리케이션)이 실행되는 경우, 본 문서에 개시된 다양한 실시 예에 따른 지능형 연결 관리 프로세스가 적용될 수 있다. 예를 들어, 브라우징(browsing)이나 컨텐츠 다운로드(contents downloading) 어플리케이션(또는 서비스)가 실행되는 경우에는 라우팅 경로가 Wi-Fi 네트워크로 설정될 수 있고, 음성 통화(voice call)의 경우에는 통화의 안정성을 위해 라우팅 경로가 셀룰러 네트워크로 설정될 수 있다. 예를 들어, 복수의 어플리케이션 중 화이트 리스트 컨트롤러(250)에서 관리하는 화이트 리스트에 해당하는 어플리케이션들은 지능형 연결 관리 기능이 적용될 수 있으나, 그 외의 어플리케이션들은 사용자에 의해 설정되거나, 혹은 어플리케이션에 의해 강제된 네트워크만 사용될 수 있다. 이하에서는, 지능형 연결 관리 기능이 적용되는 어플리케이션이 실행된 것을 가정하고 도 6의 프로세스를 설명한다.
동작 603 이후의 동작들은, 지능형 연결 관리 기능의 활성화에 따른 동작들에 해당한다. 지능형 연결 관리 기능은, 예를 들어 지능형 연결 관리 기능이 동작할 수 있는 소정의 조건을 만족할 때 활성화 될 수 있다. 예를 들어 특정 네트워크에서 사용자의 요금제(또는 과금 여부), 미리 정의된 서비스의 활성화 여부와 같은 조건에 의해 활성화 될 수 있다. 지능형 연결 관리 기능은 동작 601의 어플리케이션의 실행 즉시(즉, 어플리케이션의 실행에 응답하여(in response to the execution of the pre-defined application)) 활성화 될 수 있다. 다른 예시로서, 지능형 연결 관리 기능은, 어플리케이션의 실행 후, 콘텐트(예: 영화, 음악, TV program 등)의 재생(play)가 시작되는 시점에 활성화될 수 있다. 또 다른 예시로서, 지능형 연결 관리 기능은 어플리케이션의 실행 및 콘텐트 재생 후, 실질적으로 콘텐트에 대한 데이터 트래픽이 발생하는 시점(예: 스트리밍 서버로 재생될 콘텐트를 요청하고 스트리밍 서버로부터 데이터 다운로드가 시작되는 시점)에 활성화될 수 있다. 이하에서는, 어플리케이션의 실행 즉시 지능형 연결 관리 기능이 실행되는 것으로 가정하고 설명한다. 다시 말해서, 프로세서는 동작 601이 수행된 것을 인지하는 즉시 동작 603을 수행할 수 있다.
동작 603에서 프로세서(110)는 초기 절차(initial procedure)를 수행할 수 있다. 초기 절차는, 어떤 네트워크를 사용하여 데이터의 다운로드를 시작할지 판단하는 절차에 해당할 수 있다. 예를 들어, 사용자가 Wi-Fi 네트워크를 수동으로 설정한 상태에서 동작 601 및 동작 603이 수행되고, 수행 결과 Wi-Fi로는 충분한 대역폭이 확보되지 않는다고 판단되면, 프로세서(110)는 셀룰러 네트워크를 통해 데이터 다운로드를 시작할 것을 결정할 수 있다. 초기 절차의 세부 프로세스에 대해서는 도 7을 참조하여 설명한다.
동작 605에서 프로세서(110)는 초기 절차의 수행 결과에 기초하여 데이터 경로를 결정할 수 있다. 예를 들어, 초기 절차의 수행 결과 Wi-Fi 네트워크가 서비스 제공에 요구되는 스루풋을 만족하는 경우, 프로세서(110)는 Wi-Fi 네트워크를 이용하여 데이터를 다운로드 할 것을 결정할 수 있다. 만약 초기 절차의 수행 결과 Wi-Fi 네트워크가 서비스 제공에 요구되는 스루풋을 만족하지 못하고, 상대적으로 셀룰러 네트워크가 양호한 경우, 프로세서(110)는 셀룰러 네트워크를 이용하여 데이터를 다운로드 할 것을 결정할 수 있다. 추가적으로, 프로세서(110)는 모바일 장치(100)에 적용되는 요금제에 기초하여 데이터를 다운로드 할 네트워크를 결정할 수 있다. 예를 들어, 사용자가 월 100$에 데이터 사용량에 제한이 없고 특정 스트리밍 서비스가 이용 가능한 요금제에 가입한 경우와, 사용자가 월 70$에 데이터 사용량이 10GB로 제한되고 특정 스트리밍 서비스가 이용 가능한 요금제에 가입한 경우와, 특정 스트리밍 서비스가 이용 가능하지 않은 요금제에 가입한 경우 각각에 있어서, 프로세서(110)에 의해 데이터 트래픽 경로는 다르게 결정될 수 있다.
일 실시 예에서, 요금제에 대한 고려는 어플리케이션의 실행 시점 또는 어플리케이션의 실행 이전에 이루어질 수 있다. 예를 들어, 요금제에 따라 화이트 리스트에 추가되는 어플리케이션이 다르게 설정될 수 있다. 또한 요금제에 따라 화이트 리스트에 추가된 어플리케이션의 설정 값이 다르게 결정될 수 있다. 예를 들어, 임의의 스트리밍 서비스 어플리케이션은 무제한 데이터 요금제를 이용중인 경우에는 데이터를 상대적으로 고화질(예: 720p 또는 HD 화질) 콘텐츠를 제공하고, 일반 데이터 요금제(예: 10GB로 데이터 사용량 제한)를 이용하는 경우에는 상대적으로 낮은 화질(예: 480p) 콘텐츠를 제공하도록 설정될 수 있다. 각각의 경우에 콘텐츠 서비스에 요구되는 최소 데이터 스루풋이 달라질 수 있다. 따라서, 초기 절차의 수행에 따라 각각의 네트워크 상태가 판단된다 하더라도, 사용자가 가입한 요금제에 따라서 선택되는 데이터 경로가 달라질 수 있다.
동작 607에서, 프로세서(110)는 통신 회로(120)로 하여금 선택된 네트워크를 이용하여 스트리밍 서비스 어플리케이션과 연관된 데이터(예: 동영상 데이터, 자막 파일 등)를 다운로드 하도록 할 수 있다.
데이터가 다운로드 되는 동안 프로세서(110)는 네트워크 연결 관리를 수행할 수 있다. 다시 말해서, 동작 609는 동작 607이 완료된 후에 수행되는 것이 아니라, 동작 607이 수행되는 동안 지속적으로 또는 주기적으로 수행될 수 있다. 네트워크 연결 관리는, 연결된 제1 네트워크(예: Wi-Fi) 및 연결되지 않은 제2 네트워크(예: 셀룰러)에 대한 네트워크 상태 모니터링 및, 모니터링 결과에 따른 네트워크 연결 변경, 및 어플리케이션의 실행 상태를 판단하는 동작을 포함할 수 있다. 이와 관련하여 도 8을 참조하여 자세히 설명한다.
동작 611에서, 프로세서(110)는 소정의 종료 조건이 만족되면 지능형 연결 관리 기능을 종료할 수 있다. 예를 들어, 콘텐트의 재생이 종료되거나, 어플리케이션이 종료되는 경우, 또는 어플리케이션의 백그라운드 전환 후 타이머의 만료 등의 이벤트가 발생하면, 프로세서(110)는 지능형 연결 관리 기능의 종료 조건이 충족되는 것으로 판단할 수 있다. 이 경우, 프로세서(110)는 지능형 연결 관리 기능을 종료시킬 수 있다. 즉 네트워크 모니터링 동작 및 네트워크 선택 기능을 OFF시킬 수 있다. 또한 동작 611에서, 프로세서(110)는 소정의 종료 조건이 만족되면 지능형 연결 관리 기능을 종료할 수 있다. 예를 들어 사용자의 요금제의 변경 등으로 인해 해당 서비스 제공에 변화가 있거나, 사업자나 서비스 제공자의 정책이 바뀌거나 사용자가 수동으로(manually) 지능형 연결 관리 기능을 비활성화 하는 경우 등이 종료 조건에 해당할 수 있다.
지능형 연결 관리 기능이 종료되면, 모바일 장치(100)는 지능형 연결 관리 기능이 활성화되기 이전의 네트워크 설정을 복구할 수 있다. 예를 들어 지능형 연결 관리 기능이 활성화되기 전에(스트리밍 어플리케이션이 실행되기 전에) 모바일 장치(100)가 Wi-Fi 네트워크에 연결되어 있었던 경우, 도 6의 프로세스로 인하여 모바일 장치(100)가 셀룰러 네트워크에 연결되어 콘텐츠를 재생하고 있었다 하더라도, 지능형 연결 관리 기능이 종료되면(재생이 종료되면), 자동으로 이전 연결, 즉 Wi-Fi 네트워크 연결을 복구할 수 있다. 그 역도 가능하다.
도 7은 일 실시 예에 따른 초기 절차의 예시적인 흐름도를 나타낸다.
도 7에 도시된 초기 절차는 예시적인 것이며, 단말이 현재 이용 가능한 무선 자원 중에서 가장 선호되는(preferred) 무선 자원을 선택하기 위한 적절한 알고리즘으로 대체될 수 있다. 도 7에서는, 제1 네트워크로 Wi-Fi를, 제2 네트워크로 셀룰러를 이용(혹은 그 반대)하고, 모바일 장치(100)가 네트워크 자동 전환(smart network selection) 기능 및 다운로드 부스터(download booster) 기능을 지원하는 경우를 가정하고 설명한다.
동작 701은 동작 601 이후, 즉 미리 정의된 어플리케이션이 실행된 이후에 수행될 수 있다. 예를 들어, 어플리케이션 이벤트 컨트롤러(220)는 어플리케이션의 실행에 따라 발생하는 이벤트를 확인하고, 지정된 서비스에 대응되는 이벤트가 발생하면 동작 701이 시작되도록 할 수 있다.
동작 701에서, 프로세서(110)는 Wi-Fi 모듈(122)을 활성화 할 수 있다. 이미 Wi-Fi가 활성화되어 있는 경우 동작 701은 생략될 수 있다. 동작 701의 수행 이후에, 프로세서(110)가 AP(access point)를 스캔하고(scanning) AP와 연결하기 위한 시간이 소요될 수 있다.
동작 703에서 프로세서(110)는 셀룰러 모듈(121)을 활성화 할 수 있다. 셀룰러 모듈(121)이 이미 활성화 되어 있는 경우, 동작 703은 생략될 수 있다. 동작 703의 수행 이후에, 프로세서(110)가 네트워크 검색(network scan) 및 네트워크 등록(registration)을 위한 시간이 소요될 수 있다.
동작 705에서 프로세서(110)는 네트워크 자동 전환 기능을 비활성화 할 수 있다. 여기서 네트워크 자동 전환 기능은, 사용자가 Wi-Fi 네트워크를 수동으로 활성화 시켰다 하더라도 Wi-Fi 신호가 임계 값 이하로 약해지면 자동으로 셀룰러 네트워크를 활성화시키고 Wi-Fi 네트워크를 비활성화 하는 기능(혹은 그 반대)에 해당할 수 있다. 이 기능이 이미 비활성화 되어 있거나, 이러한 기능을 지원하지 않는 단말의 경우, 동작 705는 생략될 수 있다.
동작 707에서 프로세서(110)는 다운로드 부스터 기능을 비활성화 할 수 있다. 다운로드 부스터 기능이 활성화 되어 있는 경우, 예를 들어 모바일 장치(100)는 배터리 소모를 감수하고 모든 다이버시티 안테나를 활성화 시켜서 다운로드 성능을 극대화 할 수 있다. 그러나 동작 709에서 네트워크 상태를 추정할 때 다운로드 부스터 기능이 활성화 되어 있으면 실제 네트워크 상태와 다른 값이 측정될 수 있기 때문에, 프로세서(110)는 다운로드 부스터 기능을 비활성화 할 수 있다. 만약 다운로드 부스터 기능이 없거나 이미 비활성화 되어 있는 경우, 동작 707은 생략될 수 있다.
동작 709에서, 프로세서(110)는 Wi-Fi 모듈(122)과 셀룰러 모듈(121)을 이용하여 네트워크 상태를 측정할 수 있다. 예를 들어, 프로세서(110)는 Wi-Fi 네트워크를 통해 더미(dummy) 데이터를 다운로드 하거나, 안테나의 RSSI 값 등을 통해 각각의 네트워크에서의 데이터 스루풋을 측정 또는 추정할 수 있다. 예를 들어, 프로세서(110)는 Wi-Fi 네트워크 이용 시 예상되는 스루풋과 셀룰러 네트워크 이용 시 예상되는 스루풋을 판단할 수 있다. 이 판단 결과는, 동작 605에서 초기 데이터 경로(data path)를 결정하기 위해 활용될 수 있다.
일 실시 예에서 도 7의 프로세스는 콘텐트의 다운로드가 시작되기 전에 완료될 수 있으나, 다른 실시 예에서, 예를 들어 약전계 지역에서 네트워크 스캔이 오래 걸리는 경우, 콘텐트 다운로드가 시작되기 전에 도 7의 프로세스가 완료되지 못할 수 있다. 전자의 경우, 프로세서(110)는 도 7의 프로세스에 의해 결정된 초기 데이터 경로를 통해 콘텐트를 수신하고 후자의 경우 프로세서(110)는 도 7의 프로세스 이전에 설정된 데이터 경로를 초기 데이터 경로로 하여 콘텐트를 수신할 수 있다. 예를 들어, Wi-Fi가 ON, 셀룰러가 OFF 되어 있는 상태에서 도 7의 프로세스를 수행하기 위해 Wi-Fi와 셀룰러가 모두 ON이 되었는데, 콘텐트 다운로드가 시작되기 전에 동작 709의 수행이 완료되지 않았다면 도 7의 프로세스 이전 상태, 즉 Wi-Fi를 통하여 데이터 다운로드를 시작할 수 있다. 이 경우, 다운로드 시작 이후에, 동작 709의 수행 결과에 따라서 데이터 수신을 위한 네트워크를 변경할 수도 있고, 혹은 바로 도 8의 프로세스로 진입할 수도 있다.
도 8은 일 실시 예에 따른 네트워크 연결 관리 프로세스를 나타내는 흐름도이다.
도 8의 네트워크 연결 관리는, 초기 데이터 경로의 결정(동작 605) 이후에 수행되는 것으로 이해될 수 있다. 앞서 설명한 바와 같이, 초기 데이터 경로는 동작 709에 의해 설정된 것일 수도 있고, 도 7의 프로세스 수행 이전에 설정된 것일 수도 있다. 도 8의 프로세스는 콘텐트가 다운로드 되는 동안 지속적으로 수행될 수 있다.
프로세서(110)는 동작 801에서 데이터 다운로드의 초기 경로가 Wi-Fi 네트워크인지 아닌지(즉 셀룰러 네트워크인지) 여부를 판단할 수 있다.
프로세서(110)는 동작 801의 판단 결과에 따라 동작 803을 시작할 수 있다. 동작 803은 도 4 및 도 5에 도시된 프로세스의 반복적인 수행에 해당할 수 있다. 예를 들어, 초기 경로가 Wi-Fi 네트워크인 경우 프로세서(110)는 도 4에 도시된 프로세스 중 동작 401을 수행할 수 있다. 프로세서(110)는 도 4의 프로세스에 따라 Wi-Fi를 이용한 데이터 다운로드를 지속 수행(동작 401)하거나, 동작 403, 405를 거쳐 데이터 다운로드를 수행할 네트워크를 셀룰러 네트워크로 변경(동작 407)할 수 있다.
데이터 다운로드를 수행할 네트워크를 셀룰러 네트워크로 변경되거나 혹은 초기 데이터 경로가 셀룰러 네트워크 인 경우, 프로세서(110)는 도 5에 도시된 프로세스 중 동작 501을 수행할 수 있다. 프로세서(110)는 도 5의 프로세스에 따라 셀룰러 네트워크를 이용한 데이터 다운로드를 지속 수행하거나, 동작 503, 505를 거쳐 데이터 다운로드를 수행할 네트워크를 Wi-Fi 네트워크로 변경(동작 507)할 수 있다.
도 8의 동작 803과 같은 순환 프로세스는 후술하는 소정의 종료 조건이 발생할 때까지 지속적으로 수행될 수 있다.
프로세서(110)는 동작 805에서 어플리케이션을 이용한 콘텐트의 재생이 종료되거나, 혹은 어플리케이션이 종료되는 지 판단할 수 있다. 만약 콘텐트의 재생이나 어플리케이션이 종료되는 경우, 프로세서(110)는 지능형 연결 관리 기능을 종료(동작 611)할 수 있다.
프로세서(110)는 동작 807에서, 예를 들어 사용자의 홈 키나 백 버튼 또는 다른 소프트웨어 적인 이유로 어플리케이션이 포어그라운드에서 백그라운드 상태로 전환되는지 여부를 판단할 수 있다. 만약 어플리케이션이 백그라운드로 전환되면, 프로세서(110)는 동작 809에서 지능형 연결 관리 기능을 아이들(idle) 모드로 변경할 수 있다. 다양한 실시 예에서, 프로세서(110)는 어플리케이션이 백그라운드 상태로 전환되는 경우, 어플리케이션이 종료되지 않은 상태에서 포어그라운드 지위를 상실하는 경우, 스트리밍 데이터 트래픽이 발생하지 않는 경우 중 하나 또는 이들의 조합에 기초하여 지능형 연결 관리 기능을 아이들 모드로 진입하도록 정의할 수 있다. 지능형 연결 관리 기능의 아이들 모드는, 프로세서(110)가 데이터 스트리밍을 중지하고 타이머를 시작하는 것으로 정의될 수 있다. 예를 들어, 연결 매니저(200)의 타이머 컨트롤러(260)에 의해 타이머가 시작될 수 있다.
동작 811에서, 프로세서(110)는 어플리케이션이 포어 그라운드로 전환되는지 여부를 판단할 수 있다. 다양한 실시 예에서, 프로세서(110)는 지능형 연결 관리 기능의 아이들 모드에 해당하는 조건이 해제되는지 여부를 판단할 수 있다. 어플리케이션이 포어그라운드로 전환되면 데이터 다운로드가 다시 시작되거나 시작되려 하는 것이므로, 프로세서(110)는 지능형 연결 관리 기능의 아이들 모드를 해제하고 동작 803을 수행할 수 있다.
동작 813에서, 지능형 연결 관리 기능이 아이들 모드에 들어간 상태에서 미리 정의된 타이머가 만료되면, 프로세서(110)는 지능형 연결 관리 기능을 종료(동작 611)할 수 있다.
도 9는 일 실시 예에 따른 지능형 연결 관리를 설정하는 예시적인 UI를 나타낸다.
도 9를 참조하면, 설정 화면(910)이 디스플레이(140)에 디스플레이 될 수 있다. 사용자에 의해 지능형 연결 관리 항목(911)이 선택되면, 디스플레이(140)에는 지능형 연결 관리 기능의 사용 여부에 대한 체크 박스(921)가 제공될 수 있다. 도시된 예시에서는 무제한 스트리밍 서비스에 대하여 지능형 연결 관리를 사용하는 것에 대한 체크 박스(921)이 제공되고 있으나, 사용자의 요금제에 따라 다양한 항목들이 추가로 제공될 수 있다. 예를 들어, 사용자(모바일 장치(100))에게 10GB의 데이터가 매월 할당되는데, 일정 비율(예: 70%)의 데이터를 소진할 때까지는 지능형 연결 관리를 양방향(Wi-Fi - cellular)으로 적용하고, 일정 비율 이하로 데이터가 남은 경우(예: 30% 미만의 데이터 사용량이 남은 경우)에는 단방향(예: cellular -> Wi-Fi)의 지능형 연결 관리만 적용되도록 하는 항목이 제공될 수 있다. 이 외에도, 지능형 연결 관리를 무제한 스트리밍 서비스에만 적용할 지, 다른 어플리케이션(예를 들어, 인터넷 어플리케이션, 게임 어플리케이션 등)에도 적용할지 여부를 선택하는 항목이 제공될 수 있다.
체크 박스(921)이 선택되면, 디스플레이(140)에는 안내 메시지 화면(930)이 디스플레이 될 수 있다. 예를 들어, 선택된 항목에 대한 설명 및 ON/OFF 버튼을 포함하는 메시지(931)가 제공될 수 있다.
도 9에 도시된 화면은 예시적인 것이며, 구현에 따라 다양한 안내 화면이 제공될 수 있다.
일 실시 예에서, 별도의 설정 메뉴 대신에, 또는 추가적으로, 팝업 메시지가 제공될 수 있다. 예를 들어, 일 실시 예에 따른 지능형 연결 관리 기능이 적용되는 어플리케이션(예: 화이트 리스트에 등록된 어플리케이션)이 실행되면 프로세서(110)는 적절한 팝업 메시지를 디스플레이(140)에 출력할 수 있다. 예를 들어, 어플리케이션에서 제공되는 콘텐츠를 다운로드 할 때 Wi-Fi와 셀룰러 네트워크가 통신 환경에 따라 적응적으로 사용될 수 있음을 나타내는 메시지가 출력될 수 있다. 이 메시지에는, 지능형 연결 관리 기능 적용의 승인 또는 거부를 위한 메뉴가 포함될 수 있다. 또한, 일 실시 예에서, 상기 팝업 메시지에는 현재 사용자가 가입된 요금제 및 데이터 잔여 량에 대한 정보가 포함될 수 있다.
도 10은 일 실시 예에 따른 지능형 연결 관리의 사용 여부를 표시하는 예시적인 UI를 나타낸다.
도 10을 참조하면, 지능형 연결 관리 기능이 활성화되는 경우, 지능형 연결 관리 기능이 적용되는 서비스가 사용하는 네트워크를 나타내는 아이콘과 그렇지 않은 서비스가 사용하는 네트워크를 나타내는 아이콘이 알림 바(notification bar)의 일부 영역(1010)에 모두 표시될 수 있다. 이 경우, 각각의 네트워크의 신호 세기를 나타내는 아이콘도 각각 표시될 수 있다.
예를 들어, 무제한 요금제에 따른 스트리밍 서비스(unlimited streaming service, USS)에는 지능형 연결 관리 기능이 적용되고, 다른 서비스(other service, OS)에는 지능형 연결 관리 기능이 적용되지 않는 경우, 지능형 연결 관리 기능이 적용되는 네트워크를 나타내는 아이콘은 그렇지 않은 아이콘과 다르게(예: “s” 표시) 표시될 수 있다. 예를 들어, USS와 OS가 모두 셀룰러 네트워크(예: LTE)를 사용하고 있는 경우, 아이콘들(1011)이 영역(1010)에 표시될 수 있다. USS가 셀룰러 네트워크를 이용하고 OS는 Wi-Fi를 이용하는 경우에는 아이콘들(1012)가, USS가 Wi-Fi 네트워크를 이용하고 OS는 셀룰러 네트워크를 이용하는 경우에는 아이콘들(1013)이, USS와 OS가 모두 Wi-Fi 네트워크를 사용하고 있는 경에는 아이콘들(1014)가 각각 영역(1010)에 표시될 수 있다,
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(110))에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리(130)이 될 수 있다.
또한, 프로그램 명령어는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
본 문서에 개시된 실시 예는 개시된 기술 내용의 설명 및 이해를 위해 제시된 것이며 본 발명의 범위를 한정하는 것은 아니다. 따라서 본 문서의 범위는 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.

Claims (20)

  1. 모바일 장치(mobile device)에 있어서,
    복수의 어플리케이션이 저장되는 메모리;
    제1 통신 모듈 및 제2 통신 모듈을 포함하는 통신 회로, 상기 제1 통신 모듈은 제1 통신 프로토콜을 이용하여 제1 네트워크에 연결 가능하고, 상기 제2 통신 모듈은 제2 통신 프로토콜을 이용하여 제2 네트워크에 연결 가능함; 및
    상기 통신 회로와 전기적으로 연결된 프로세서를 포함하고,
    상기 프로세서는, 상기 복수의 어플리케이션 중 스트리밍 서비스 어플리케이션을 실행하고,
    상기 스트리밍 서비스 어플리케이션의 실행에 응답하여 상기 제1 네트워크의 통신 상태와 상기 제2 네트워크의 통신 상태를 판단하고,
    상기 판단 결과 및 상기 모바일 장치에 적용되는 요금제에 기초하여 상기 제1 네트워크 및 상기 제2 네트워크 중 하나를 선택하고,
    상기 선택된 네트워크를 이용하여 스트리밍 서버로부터 상기 스트리밍 서비스 어플리케이션과 연관된 콘텐트(content)를 다운로드하도록 설정되는, 모바일 장치.
  2. 청구항 1에 있어서,
    상기 프로세서는 상기 선택된 네트워크의 통신 상태가 상기 콘텐트의 다운로드에 요구되는 데이터 스루풋이 만족되는지 판단하고
    상기 데이터 스루풋이 만족되지 않으면 상기 제1 네트워크의 통신 상태 및 상기 제2 네트워크의 통신 상태에 기초하여 상기 콘텐트를 상기 선택된 네트워크와 다른 네트워크를 통해 상기 스트리밍 서버로부터 다운로드 하도록 설정되는, 모바일 장치.
  3. 청구항 1에 있어서,
    상기 프로세서는, 상기 복수의 어플리케이션 중 음성 통화(voice call) 어플리케이션이 실행되면, 상기 음성 통화 어플리케이션에 해당하는 데이터는 상기 제1 네트워크 및 상기 제2 네트워크 중 미리 정의된 네트워크로 수신하도록 설정되는, 모바일 장치.
  4. 청구항 1에 있어서,
    상기 메모리는 미리 지정된 하나 이상의 어플리케이션의 목록을 저장하고,
    상기 프로세서는 상기 목록에 포함되지 않은 어플리케이션에 해당하는 데이터는 상기 제1 네트워크 및 상기 제2 네트워크 중 미리 정의된 네트워크로 수신하도록 설정되는, 모바일 장치.
  5. 청구항 1에 있어서,
    상기 프로세서는 상기 스트리밍 서비스 어플리케이션이 실행되는 동안 상기 제1 네트워크의 통신 상태와 상기 제2 네트워크의 통신 상태를 모니터링 하도록 설정되는, 모바일 장치.
  6. 청구항 5에 있어서,
    상기 프로세서는, 상기 스트리밍 서비스 어플리케이션이 종료되면, 상기 모니터링을 중지하도록 설정되는, 모바일 장치.
  7. 청구항 5에 있어서,
    상기 프로세서는, 상기 스트리밍 서비스 어플리케이션이 백그라운드(background)에서 실행되면 타이머(timer)를 시작하고, 상기 스트리밍 어플리케이션이 다시 포어그라운드(foreground)에서 실행되면 상기 타이머를 종료시키도록 설정되는, 모바일 장치.
  8. 청구항 7에 있어서,
    상기 프로세서는 상기 타이머가 지정된 시간을 경과하면, 상기 모니터링을 중지하도록 설정되는, 모바일 장치.
  9. 청구항 1에 있어서,
    상기 프로세서는 상기 스트리밍 서비스 어플리케이션이 실행되면 상기 콘텐트의 다운로드를 위해 상기 제1 네트워크와 제2 네트워크가 적응적으로 사용될 수 있음을 나타내는 메시지를 디스플레이에 출력하도록 설정되는, 모바일 장치.
  10. 모바일 장치의 네트워크 연결 관리 방법에 있어서,
    스트리밍 서비스 어플리케이션을 실행하는 동작,
    상기 스트리밍 서비스 어플리케이션의 실행에 응답하여 상기 제1 네트워크의 통신 상태와 상기 제2 네트워크의 통신 상태를 판단하는 동작,
    상기 판단 결과 및 상기 모바일 장치에 적용되는 요금제에 기초하여 상기 제1 네트워크 및 상기 제2 네트워크 중 하나를 선택하는 동작,
    상기 선택된 네트워크를 이용하여 스트리밍 서버로부터 상기 스트리밍 서비스 어플리케이션과 연관된 콘텐트(content)를 다운로드 하는 동작을 포함하는, 네트워크 연결 관리 방법.
  11. 청구항 10에 있어서,
    상기 선택된 네트워크가 무료 네트워크인 경우, 상기 무료 네트워크의 데이터 스루풋, 상기 콘텐트의 재생에 요구되는 데이터 스루풋, 및 선택되지 않은 유료 네트워크의 데이터 스루풋에 기초하여, 상기 유료 네트워크를 통해 상기 콘텐트를 다운로드 하는 동작을 포함하는, 네트워크 연결 관리 방법.
  12. 청구항 10에 있어서,
    상기 선택된 네트워크가 유료 네트워크인 경우, 상기 무료 네트워크의 데이터 스루풋이 상기 콘텐트의 재생에 요구되는 데이터 스루풋을 만족하면, 상기 무료 네트워크를 통해 상기 콘텐트를 다운로드 하는 동작을 포함하는 네트워크 연결 관리 방법.
  13. 청구항 10에 있어서,
    상기 스트리밍 서비스 어플리케이션이 백그라운드(background)에서 실행되면 타이머(timer)를 시작하는 동작, 및
    상기 스트리밍 어플리케이션이 다시 포어그라운드(foreground)에서 실행되면 상기 타이머를 종료시키는 동작을 포함하는, 네트워크 연결 관리 방법.
  14. 청구항 13에 있어서,
    상기 타이머가 만료되면 상기 스트리밍 서비스 어플리케이션의 실행 전의 상태로 네트워크 설정을 복구시키는 동작을 포함하는, 네트워크 연결 관리 방법.
  15. 모바일 장치(mobile device)에 있어서,
    복수의 어플리케이션이 저장되는 메모리;
    제1 통신 모듈 및 제2 통신 모듈을 포함하는 통신 회로, 상기 제1 통신 모듈은 제1 통신 프로토콜을 이용하여 제1 네트워크에 연결 가능하고, 상기 제2 통신 모듈은 제2 통신 프로토콜을 이용하여 제2 네트워크에 연결 가능함; 및
    상기 통신 회로와 전기적으로 연결된 프로세서를 포함하고,
    상기 프로세서는, 상기 복수의 어플리케이션 중 지정된 어플리케이션을 실행하고,
    상기 어플리케이션의 실행에 응답하여 상기 제1 네트워크의 통신 상태와 상기 제2 네트워크의 통신 상태를 판단하고,
    상기 판단 결과, 상기 모바일 장치에 적용되는 요금제, 상기 지정된 어플리케이션에 적용되는 서비스 정책, 상기 지정된 어플리케이션에 적용되는 성능 기준, 및 네트워크 선택 기준 중 적어도 하나에 기초하여 상기 제1 네트워크 및 상기 제2 네트워크 중 하나를 선택하고
    상기 선택된 네트워크를 이용하여 상기 어플리케이션과 연관된 서버로부터 데이터를 수신하도록 설정되는, 모바일 장치.
  16. 청구항 15에 있어서,
    상기 제1 네트워크 및 상기 제2 네트워크 중 어느 하나는 셀룰러 네트워크(cellular network)이고, 다른 하나는 Wi-Fi 네트워크에 해당하는, 모바일 장치.
  17. 청구항 15에 있어서,
    상기 제1 네트워크 및 상기 제2 네트워크 중 어느 하나는 유료 네트워크이고, 다른 하나는 무료 네트워크에 해당하는, 모바일 장치.
  18. 청구항 16에 있어서,
    상기 프로세서는 상기 셀룰러 네트워크의 통신 상태가 상기 데이터 수신에 요구되는 데이터 스루풋(data throughput)이 만족되는지 판단하고,
    상기 데이터 스루풋이 만족되지 않는 경우, Wi-Fi 네트워크의 통신 상태가 상기 셀룰러 네트워크의 통신 상태보다 양호하면 상기 Wi-Fi 네트워크를 통해 상기 데이터를 수신하도록 설정되는, 모바일 장치.
  19. 청구항 16에 있어서,
    상기 프로세서는 Wi-Fi 네트워크의 통신 상태가 상기 데이터 수신에 요구되는 데이터 스루풋(data throughput)이 만족되는지 판단하고,
    상기 데이터 스루풋이 만족되는 경우, 상기 Wi-Fi 네트워크를 통해 상기 데이터를 수신하도록 설정되는, 모바일 장치.
  20. 청구항 19에 있어서,
    상기 프로세서는, 상기 데이터 스루풋이 만족되지 않는 경우, 상기 Wi-Fi 네트워크의 통신 상태가 상기 셀룰러 네트워크의 통신 상태보다 양호하면 상기 제2 네트워크를 통해 상기 데이터를 수신하도록 설정되는, 모바일 장치.
KR1020160033669A 2016-03-21 2016-03-21 지능형 네트워크 연결 관리를 제공하는 방법 및 장치 KR20170109466A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160033669A KR20170109466A (ko) 2016-03-21 2016-03-21 지능형 네트워크 연결 관리를 제공하는 방법 및 장치
CN201710171023.2A CN107222889A (zh) 2016-03-21 2017-03-21 用于提供智能网络连接管理的方法和设备
US15/464,872 US20170272995A1 (en) 2016-03-21 2017-03-21 Method and apparatus for providing smart network connection management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160033669A KR20170109466A (ko) 2016-03-21 2016-03-21 지능형 네트워크 연결 관리를 제공하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20170109466A true KR20170109466A (ko) 2017-09-29

Family

ID=59856142

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160033669A KR20170109466A (ko) 2016-03-21 2016-03-21 지능형 네트워크 연결 관리를 제공하는 방법 및 장치

Country Status (3)

Country Link
US (1) US20170272995A1 (ko)
KR (1) KR20170109466A (ko)
CN (1) CN107222889A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210136406A (ko) * 2020-05-07 2021-11-17 주식회사 엘지유플러스 단말 및 단말의 동작 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106416138A (zh) * 2013-12-31 2017-02-15 班德韦斯克公司 用于分配备选网络接入资源的系统和方法
US10045211B2 (en) 2015-09-29 2018-08-07 Bandwidthx Inc. Authentication and authorization of mobile devices for usage of access points in an alternative network
EP3429276B1 (en) * 2016-04-05 2022-06-01 Huawei Technologies Co., Ltd. Network access method and terminal
CN105939381B (zh) * 2016-06-14 2019-10-29 Tcl移动通信科技(宁波)有限公司 一种控制终端自动切换下载文件方式的方法及系统
WO2018178294A1 (en) 2017-03-31 2018-10-04 British Telecommunications Public Limited Company Network discovery
US11140620B2 (en) * 2017-03-31 2021-10-05 British Telecommunications Public Limited Company Access network selection
JP6915399B2 (ja) * 2017-06-16 2021-08-04 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
CN107566398B (zh) * 2017-09-30 2019-02-05 Oppo广东移动通信有限公司 流量控制方法和装置、计算机设备、计算机可读存储介质
EP3777283A1 (en) 2018-03-29 2021-02-17 British Telecommunications public limited company An improved method of channel selection in a wireless network
KR102514692B1 (ko) * 2018-06-04 2023-03-29 삼성전자주식회사 다중 무선 통신 프로토콜들을 지원하는 전자 장치 및 이를 위한 방법
US11496946B2 (en) * 2018-06-07 2022-11-08 Huawei Technologies Co., Ltd. Transmission path switching method and apparatus
CN108833711A (zh) * 2018-06-26 2018-11-16 努比亚技术有限公司 一种网络环境调控方法、设备及计算机可读存储介质
CN115988677A (zh) * 2018-12-25 2023-04-18 华为技术有限公司 连接建立方法及相关设备
US10813095B2 (en) * 2019-02-14 2020-10-20 T-Mobile Usa, Inc. Location-matrix based user equipment band scanning
KR20200129455A (ko) 2019-05-08 2020-11-18 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
WO2021038863A1 (ja) * 2019-08-30 2021-03-04 ソニー株式会社 判定装置、判定方法および判定プログラム
US11363501B2 (en) 2019-12-26 2022-06-14 Qualcomm Incorporated Intelligent connectivity switching mechanisms
US11223959B2 (en) 2020-05-12 2022-01-11 T-Mobile Usa, Inc. Unlicensed assisted access aggregated band for improving direct communication channel bandwidth reliability in a V2X communication
US11259190B2 (en) 2020-05-12 2022-02-22 T-Mobile Usa, Inc. Direct communication channel bandwidth reliability in a V2X communication
US11228883B2 (en) * 2020-06-02 2022-01-18 T-Mobile Usa, Inc. Vehicle-to-everything (V2X) communication assisted medical devices
US11570677B2 (en) * 2021-01-12 2023-01-31 T-Mobile Innovations Llc User equipment (UE) roaming based on network performance

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026268A1 (en) * 2004-06-28 2006-02-02 Sanda Frank S Systems and methods for enhancing and optimizing a user's experience on an electronic device
US8015249B2 (en) * 2006-10-10 2011-09-06 Microsoft Corporation Mitigating data usage in messaging applications
GB2480080B (en) * 2010-05-05 2012-10-24 Vodafone Ip Licensing Ltd Telecommunications networks
US8924585B2 (en) * 2011-06-03 2014-12-30 Apple Inc. Method for optimizing transport channels of devices
KR101129322B1 (ko) * 2011-11-07 2012-03-26 주식회사 유비온 네트워크 상황에 따른 사용자 인터페이스 재구성장치 및 그 방법
WO2014201177A1 (en) * 2013-06-11 2014-12-18 Seven Networks, Inc. Offloading application traffic to a shared communication channel for signal optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US9648560B2 (en) * 2013-10-16 2017-05-09 At&T Intellectual Property I, L.P. Utilizing explicit congestion notification for network selection
US9432796B2 (en) * 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on peer event data
US20170134985A1 (en) * 2015-11-09 2017-05-11 Qualcomm Incorporated Managing user equipment (ue) performance via simultaneous use of multiple interfaces

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210136406A (ko) * 2020-05-07 2021-11-17 주식회사 엘지유플러스 단말 및 단말의 동작 방법

Also Published As

Publication number Publication date
US20170272995A1 (en) 2017-09-21
CN107222889A (zh) 2017-09-29

Similar Documents

Publication Publication Date Title
KR20170109466A (ko) 지능형 네트워크 연결 관리를 제공하는 방법 및 장치
CN106817731B (zh) 终端的网络切换方法及终端设备
US9813963B2 (en) Apparatus and method for management of service requests in an overload environment
US10602417B2 (en) Systems and methods for updating user device settings based on device data
US9648491B2 (en) Method of selecting an active SIM from multiple SIMs and a wireless device utilizing the same
KR101649994B1 (ko) 이중 모드 단말기에서 네트워크 환경에 따른 자동 심카드 선택을 위한 장치및 방법
US8527648B2 (en) Systems, methods, and computer program products for optimizing content distribution in data networks
JP6274211B2 (ja) 無線通信端末、通信方法、プログラム、情報処理装置および配信サーバ
EP2434830B1 (en) Adaptive data communication control method and portable device for supporting the same
US20140148169A1 (en) Apparatus and method for management of radio resource control connections
CN110809299B (zh) 一种广播业务的模式切换方法以及相关装置
EP3737151A1 (en) Mobile communication core network device and method for managing wireless communications after insertion of an intermediate-session management function
WO2012022161A1 (zh) 一种接入点的选择方法及装置
US20200037147A1 (en) Method and apparatus for receiving a continous mobile terminated service in a communication system
KR20200116519A (ko) 소프트웨어 업데이트 관리 방법, 서버, 단말기, 장치, 및 저장 매체
KR102463970B1 (ko) 리다이렉션 방법, 통신 시스템 및 통신 장치
KR20050039834A (ko) 다중-모드 네트워크 환경에서 호출 발신을 위한 시스템 및기술
KR20190117628A (ko) 네트워크 연결 방법 및 장치
US8971245B2 (en) Latency-insensitive RAN—high-capacity/latency-tolerant session management
US11516705B2 (en) Network performance improvement method and device
CN113348697B (zh) 无线通信方法、装置及系统
CN105684468B (zh) 用于多域监视和访问管理的无线电设备和过程
JP2023552907A (ja) ビジー指示の伝送方法及び装置
WO2022033659A1 (en) Apparatus, methods, and computer programs
WO2022147789A1 (zh) 一种入网方法、装置、通信设备及存储介质