이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 기재된다. 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)은 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)은, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)이 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(388)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 하나 이상의 안테나들을 포함할 수 있고, 이로부터, 제 1 네트워크 198 또는 제 2 네트워크 199와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, or 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 무선 네트워크 환경(200)에서 전자 장치(101)의 블록도를 도시한다.
도 2를 참조하여, 다양한 실시예들에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 통신 모듈(190), 및 디스플레이(260)(예: 도 1의 표시 장치(160))를 포함할 수 있다. 예를 들어, 프로세서(120)는 메모리(130), 통신 모듈(190), 및 디스플레이(260)와 작동적으로(operatively) 연결되고, 메모리(130), 통신 모듈(190), 및 디스플레이(260)의 동작을 제어하도록 설정될 수 있다. 일 실시예에 따르면, 메모리(130)는 프로세서(120)의 동작을 제어하기 위한 명령어들(instructions)을 포함할 수 있다. 예를 들어, 메모리(130)는 적어도 하나의 AP(access point)에 연관된 서비스 제한 정보를 저장할 수 있다.
다양한 실시예들에 따르면, 통신 모듈(190)은 서로 상이한 네트워크 프로토콜을 지원하는 복수의 통신 회로들을 포함할 수 있다. 예를 들어, 통신 모듈(190)은 제1 통신 프로토콜을 지원하는 제1 통신 모듈(203) 및 제1 통신 프로토콜과 상이한 제2 통신 프로토콜을 지원하는 제2 통신 모듈(204)을 포함할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제1 통신 모듈(203)을 이용하여 Wi-Fi 네트워크(232)(예: IEEE 네트워크)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 Wi-Fi 네트워크(232)의 제1 AP(access point, 202)와 연결되고, 제1 AP(202)에 연관된 제1 서버(280) 및 인터넷 네트워크(205)을 통하여 외부 서버(290)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제2 통신 모듈(204)을 이용하여 셀룰러 네트워크(231)(예: 3GPP 네트워크)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 셀룰러 네트워크(231)의 기지국(201)과 연결되고, 기지국(201) 및 인터넷 네트워크(205)을 통하여 외부 서버(290)와 통신할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)는 셀룰러 네트워크(231)와 Wi-Fi 네트워크(232)에 동시에 또는 실질적으로 동시에 연결될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 Wi-Fi 네트워크(232)를 메인 네트워크로 연결하고, 셀룰러 네트워크(231)를 백업(backup) 네트워크로 연결할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 셀룰러 네트워크(231)를 메인 네트워크로 연결하고, Wi-Fi 네트워크(232)를 백업 네트워크로 연결할 수 있다. 예를 들어, 메인 네트워크를 통한 데이터 송신이 불가능할 경우, 전자 장치(101)는 백업 네트워크를 통하여 데이터를 송신할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)는 적어도 하나의 무선 네트워크에 연관된 서비스 제한 정보를 획득할 수 있다. 예를 들어, 서비스 제한 정보는 대응하는 무선 네트워크에서 제한되는 서비스(예: 차단된 포트) 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 셀룰러 네트워크(231) 및/또는 Wi-Fi 네트워크(232)에 연관된 서비스 제한 정보를 획득할 수 있다. 예를 들어, 전자 장치(101)는 셀룰러 네트워크(231)로부터 서비스 제한 정보를 수신할 수 있다. 다른 예를 들어, 전자 장치(101)는 Wi-Fi 네트워크(232)에 대한 포트 스캐닝(port scanning)을 통하여 서비스 제한 정보를 획득할 수 있다. 다른 예를 들어, 전자 장치(101)는 다른 전자 장치(미도시) 또는 다른 서버(미도시)로부터 서비스 제한 정보를 수신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서비스 제한 정보를 지시하는 UI(user interface)를 디스플레이(260)에 표시할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 획득된 서비스 제한 정보를 메모리(130)에 저장하거나 다른 전자 장치 및/또는 다른 서버에 송신할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)는 셀룰러 네트워크(231)에 연결될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 셀룰러 네트워크(231)에 연결되었을 지시하는 UI를 디스플레이(260)에 표시할 수 있다. 전자 장치(101)는 지정된 어플리케이션에 연관된 데이터의 송신을 시도할 수 있으며,데이터 송신에 연관된 서비스가 셀룰러 네트워크(231)에서 제한될 수 있다. 예를 들어, 데이터 송신에 연관된 포트가 셀룰러 네트워크(231)에서 차단될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 셀룰러 네트워크(231)에서 제한된 데이터를 Wi-Fi 네트워크(232)를 통하여 송신할 수 있다. 예를 들어, 전자 장치(101)는 셀룰러 네트워크(231)에 대한 연결을 유지한 채로, 제한된 서비스에 연관된 데이터를 Wi-Fi 네트워크(232)를 통하여 송신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 송신될 데이터가 제한된 서비스에 연관된 경우, 제한된 서비스에 대한 정보 및/또는 제한된 서비스에 연관된 데이터가 Wi-Fi 네트워크(232)를 통해 송신 또는 수신됨을 지시하는 UI를 디스플레이(260)에 표시할 수 있다. 예를 들어, 전자 장치(101)는 Wi-Fi 네트워크(232)를 통하여 데이터가 송수신됨을 지시하는 UI를 디스플레이(260)에 표시할 수 있다.
다른 실시예에 따르면, 전자 장치(101)는 Wi-Fi 네트워크(232)에 연결될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 Wi-Fi 네트워크(232)에 연결되었을 지시하는 UI(user interface)를 디스플레이(260)에 표시할 수 있다. 전자 장치(101)는 지정된 어플리케이션에 연관된 데이터의 송신을 시도할 수 있다. 예를 들어, 송신될 데이터에 연관된 서비스가 Wi-Fi네트워크(232)에서 제한될 수 있다. 예를 들어, 데이터에 연관된 포트가 Wi-Fi 네트워크(232)에서 차단될 수 있다. 이 경우, 일 실시예에 따르면, 전자 장치(101)는 지정된 어플리케이션에 연관된 데이터를 셀룰러 네트워크(231)를 통하여 송신할 수 있다. 예를 들어, 전자 장치(101)는 Wi-Fi 네트워크(232)에 대한 연결을 유지한 채로, 제한된 서비스에 연관된 데이터를 셀룰러 네트워크(231)를 통하여 송신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 송신될 데이터가 제한된 서비스에 연관된 경우, 제한된 서비스에 대한 정보 및/또는 제한된 서비스에 연관된 데이터가 셀룰러 네트워크(231)를 통해 송신됨을 지시하는 UI를 디스플레이(260)에 표시할 수 있다. 예를 들어, 전자 장치(101)는 셀룰러 네트워크(231)를 통하여 데이터가 송수신됨을 지시하는 UI를 디스플레이(260)에 표시할 수 있다.
도 3은 다양한 실시예들에 따른 데이터 패킷을 처리하는 계층(layer)들의 구조를 도시한다.
도 3을 참조하여, 데이터는 메모리(130)에 저장된 명령어들(instructions)이 프로세서(120)에 의하여 실행될 때, 명령어들을 포함하는 프로그램(140)에 의하여 처리될 수 있다. 프로그램(140)에 의하여 처리된 데이터는 통신 모듈(190)을 통하여 송신될 수 있고, 통신 모듈(190)을 통하여 수신된 데이터는 프로그램(140)에 의하여 처리될 수 있다.
일 실시예에 따르면, 프로그램(140)은 응용 계층(application layer)(310), 프레임워크 계층(framework layer)(320), 커널(kernel)(340)을 포함할 수 있다. 프로그램(140)은 소프트웨어 또는 모듈로 지칭될 수 있다.
일 실시예에 따르면, 응용 계층(310)은 도 1의 어플리케이션(146)을 포함할 수 있다. 응용 계층(310)은 예를 들어, 연락처(contact) 애플리케이션 또는 전화(call) 애플리케이션을 포함할 수 있다. 응용 계층(310)은 외부 네트워크(예: 도 2의 외부 서버(290))로부터 제공되는 다양한 서비스(예: IMS 서비스, 인터넷 서비스 등)를 사용자에게 제공하는 기능을 수행할 수 있다. 도 3에 있어서, 설명의 편의를 위하여 제1 어플리케이션(311)과 제2 어플리케이션(313)만이 도시되어 있으나, 응용 계층(310)은 복수의 어플리케이션들을 포함할 수 있다.
일 실시예에 따르면, 프레임워크 계층(320)은 IMS(internet multimedia subsystem) 서비스 또는 인터넷 서비스에 대한 데이터를 통신 모듈(190)로 전달하기 위한 데이터 처리를 수행할 수 있다. 프레임워크 계층(320)은 연결 관리자(connectivity manager)(323), 셀룰러 프레임워크 모듈(325), 및 Wi-Fi 프레임워크 모듈(326)을 포함할 수 있다. 프레임워크 계층(320)은 도 3에 도시된 구성들 외에도 텔레포니(telephony), IMS, 및 RIL(radio interface layer)과 같은 다른 구성들을 더 포함할 수 있다.
일 실시예에 따르면, 연결 관리자(323)는 전자 장치(101)와 외부 전자 장치 사이(예: 도 1의 전자 장치(102), 전자 장치(104) 또는 서버(108))의 무선 연결 또는 직접 연결을 관리할 수 있다. 연결 관리자(323)는 네트워크 연결(예: Wi-Fi, GPRS, UMTS, LTE, 또는 5G)을 모니터링하고 관리할 수 있다. 예를 들어, 연결 관리자(323)는 셀룰러 프레임워크 모듈(325)을 이용하여 셀룰러 네트워크 연결(예: GPRS, UMTS, LTE 또는 5G)을 모니터링하고 관리할 수 있다. 예를 들어, 연결 관리자(323)는 Wi-Fi 프레임워크 모듈(326)을 이용하여 Wi-Fi 네트워크 연결을 모니터링하고 관리할 수 있다.
일 실시예에 따르면, 커널(340)은 응용 계층(310)의 어플리케이션 및 프레임워크 계층(320)에 의하여 구현된 동작 또는 기능을 실행하는데 사용되는 시스템 리소스들(예: 도 1의 프로세서(120), 통신 모듈(190), 및/또는 메모리(130))을 제어 및/또는 관리할 수 있다. 커널(340)은 전자 장치(101)의 개별 구성요소에 접근함으로써 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
일 실시예에 따르면, 연결 관리자(323)는 어플리케이션의 단위로 연결을 관리할 수 있다. 예를 들어, 연결 관리자(323)는 제1 어플리케이션(311)에 연관된 네트워크와 제2 어플리케이션(313)에 연관된 네트워크를 상이하게 설정할 수 있다. 일 실시예에 따르면, 연결 관리자(323)는 제1 어플리케이션(311)에 연관된 데이터 송신 이벤트가 발생되면, 현재 연결된 네트워크(예: 도 2의 Wi-Fi 네트워크(232))를 통하여 데이터를 송신할 수 있는지 판단할 수 있다. 예를 들어, 연결 관리자(323)는 서비스 제한 정보에 기반하여 데이터 송신 가능 여부를 판단할 수 있다. 데이터 송신이 가능한 경우, 연결 관리자(323)는 현재 연결된 네트워크를 제1 어플리케이션(311)의 디폴트(default) 네트워크로 설정할 수 있다. 예를 들어, 디폴트 네트워크는 가장 우선순위가 높은 네트워크를 의미할 수 있다. 디폴트 네트워크는, 예를 들어, 연관된 어플리케이션(예: 제1 어플리케이션(311))의 데이터가 송수신됨에 있어서 가장 우선적으로 데이터가 송수신될 수 있는 네트워크를 의미할 수 있다. 송신될 데이터에 연관된 포트가 연결된 네트워크에 의하여 제한되는 경우, 연결 관리자(323)는 현재 연결된 네트워크를 통하여 데이터를 송신할 수 없다고 판단할 수 있다. 이 경우, 연결 관리자(323)는 데이터를 다른 네트워크(예: 도 2의 셀룰러 네트워크(231))를 통하여 송신할 수 있는지 판단할 수 있다. 제1 어플리케이션(311)에 연관된 데이터를 다른 네트워크를 통하여 송신할 수 있는 경우, 연결 관리자(323)는 다른 네트워크를 제1 어플리케이션(311)의 디폴트 네트워크로 설정할 수 있다. 유사한 방식으로, 제2 어플리케이션(313)에 연관된 디폴트 네트워크가 설정될 수 있다.
다양한 실시예들에 따르면, 연결 관리자(323)는 각각의 어플리케이션에 연관된 네트워크 정보를 이용하여 연결을 제어할 수 있다. 일 실시예에 따르면, 연결 관리자(323)는 제1 어플리케이션(311)에 대하여 설정된 네트워크의 우선 순위에 기반하여 제1 어플리케이션(311)에 연관된 연결을 제어할 수 있다. 예를 들어, 연결 관리자(323)는 제1 어플리케이션(311)에 대하여 지정된 네트워크들 중 가장 우선 순위가 높은 네트워크(예: 디폴트 네트워크)를 이용하여 제1 어플리케이션(311)에 연관된 데이터를 송수신할 수 있다. 송수신에 실패하는 경우, 연결 관리자(323)는 제1 어플리케이션(311)에 대하여 지정된 다음 순위의 네트워크를 이용하여 데이터의 송수신을 시도할 수 있다. 다른 예를 들어, 연결 관리자(323)는 제1 어플리케이션(311)에 대하여 지정된 네트워크들 중 이용 가능하고 가장 우선 순위가 높은 네트워크를 이용하여 제1 어플리케이션(311)에 연관된 데이터를 송수신할 수 있다.
일 실시예에 따르면, 연결 관리자(323)는 제1 어플리케이션(311)에 연관된 디폴트 네트워크와 제2 어플리케이션(313)에 연관된 디폴트 네트워크를 상이하게 설정할 수 있다. 예를 들어, 연결 관리자(323)는 적어도 하나의 어플리케이션에 대한 디폴트 네트워크 정보를 생성, 관리, 갱신, 및/또는 저장할 수 있다. 연결 관리자(323)는 각각의 어플리케이션에 연관된 식별자(예: unique identifier) 및 네트워크 정보가 매핑된 데이터 베이스를 생성 및 관리할 수 있다. 일 실시예에 따르면, 네트워크 정보는 디폴트 네트워크 정보(예: 네트워크 유형(예: 3GPP 또는 IEEE)), 네트워크 식별자(예: SSID(service set identifier)), 또는 서비스 정보(예: 연관된 어플리케이션의 포트 정보) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, Wi-Fi 프레임워크 모듈(326)은 Wi-Fi 연결 및 통신을 관리하고, 제1 통신 모듈(203)(예: 도 2의 제1 통신 모듈(203))을 제어하도록 설정될 수 있다. 예를 들어, Wi-Fi 프레임워크 모듈(326)은 포트 검출 서비스(port detector service, 331), Wi-Fi 트래픽 폴러(Wi-Fi traffic poller, 333), 및 Wi-Fi 상태기계(Wi-Fi state machine, 333)을 포함할 수 있다. Wi-Fi 프레임워크 모듈(326)은 도 3에 미도시된 구성들을 더 포함할 수 있다.
일 실시예에 따르면, 포트 검출 서비스(331)는 어플리케이션에 의하여 요청된 서비스(예: 네트워크 포트)의 가용 여부를 판단할 수 있다. Wi-Fi 트래픽 폴러(333)는 Wi-Fi 트래픽 상태를 확인하고, Wi-Fi 트래픽에 연관된 통계 정보를 생성할 수 있다. Wi-Fi 상태기계(335)는 Wi-Fi에 연관된 이벤트를 감지하고, 감지된 이벤트에 대응하여 Wi-Fi 상태를 천이하도록 설정될 수 있다.
일 실시예에 따르면, 포트 검출 서비스(331)는 어플리케이션에 의하여 요청된 포트가 사용가능한지 확인할 수 있다. 일 실시예에 따르면, 포트 검출 서비스(331)는 송신될 Wi-Fi 네트워크(예: 도 2의 Wi-Fi 네트워크(232))에 연관된 서버(예: 도 2의 제1 서버(280))로부터의 응답에 기반하여 포트의 사용가능 여부를 판단할 수 있다. 예를 들어, 포트 검출 서비스(331)는 연관된 서버(예: 도 2의 제1 서버(280))와의 TCP(transmission control protocol) 통신에 대한 응답 패킷을 분석하여 해당 포트의 사용가능 여부를 판단할 수 있다. 다른 예를 들어, 포트 검출 서비스(331)는 연관된 서버(예: 도 2의 제1 서버(280))에서 지정된 시간 내에 응답이 수신되는지 여부에 기반하여 해당 포트의 사용가능 여부를 판단할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)는 Wi-Fi 네트워크(232)에 연결되고, 동시에 또는 실질적으로 동시에, 셀룰러 네트워크(231)에 연결될 수 있다. 예를 들어, 연결 관리자(323)는 지정된 포트(예: Wi-Fi 네트워크(232)에서 차단된 포트)에 대응하는 어플리케이션은, Wi-Fi 네트워크(232) 대신에 셀룰러 네트워크(231)의 지정된 포트를 이용하도록 설정할 수 있다.
일 실시예에 따르면, 전자 장치(101)의 Wi-Fi 기능이 활성화되면, Wi-Fi 프레임워크 모듈(326) 및 Wi-Fi 프레임워크 모듈(326)에 포함된 포트 검출 서비스(331)와 Wi-Fi 트래픽 폴러(333)가 활성화될 수 있다. Wi-Fi 기능의 활성화에 따라서, 전자 장치(101)는 인터넷 네트워크(예: 도 2의 인터넷 네트워크(205))에 대한 연결을 갖는 제1 AP(예: 도 2의 제1 AP(202))의 신호를 검출하고 자동으로 또는 사용자의 선택에 의해 제1 AP에 연결될 수 있다. 전자 장치(101)가 Wi-Fi 네트워크(예: 도 2의 Wi-Fi 네트워크(232))에 연결되는 과정에서, 또는 연결 후에, Wi-Fi 네트워크(232)와 전자 장치(101) 간의 데이터 트래픽이 발생될 수 있다. Wi-Fi 트래픽 폴러(333)는 데이터 트래픽을 감지하고, 포트 검출 서비스(331)로 하여금 제1 AP(202)에 연관된 서비스 제한 정보를 획득하도록 제어할 수 있다. 예를 들어, 포트 검출 서비스(331)는 송신될 데이터에 연관된 포트에 대한 신호(예: 세션 연결 요청)를 Wi-Fi 네트워크(232)에 송신하고, 이에 대한 응답에 기반하여 해당 포트의 이용가능 여부를 판단할 수 있다. 해당 포트의 이용이 불가능한 경우, 포트 검출 서비스(331)는 Wi-Fi 상태기계(335)에 현재 연결된 제1 AP(202)와 연결해제하고 Wi-Fi 기능을 사용금지(disable)할 것을 요청할 수 있다.
일 실시예에 따르면, Wi-Fi 상태기계(335)는 사용금지 요청에 대응하여 Wi-Fi 기능의 상태를 제1 AP(202)와 연결됨을 지시하는 상태(예: 연결 모드(connected mode))로 설정 또는 유지하고, 현재의 네트워크 상태가 변경되었음을 지시하는 이벤트를 연결 관리자(323)에 전달할 수 있다. 연결 관리자(323)는 이벤트가 수신되면, Wi-Fi 네트워크(232)와 연결해제하고, 차순위 네트워크(예: 도 2의 셀룰러 네트워크(231))와 연결할 수 있다. 예를 들어, 복수의 네트워크들에 대한 우선순위는 메모리(예: 도 2의 메모리(140))에 저장되거나 사용자에 의하여 설정된 값일 수 있다. 따라서, 전자 장치(101)는 제1 AP(202)와의 Wi-Fi 연결을 유지한 상태로, 제1 AP(202)에서 차단된 포트에 대응하는 데이터를 차순위 네트워크로 송신 또는 수신할 수 있다.
도 4는 다양한 실시예들에 따른 서비스 제한 정보 획득 환경(400)을 도시한다.
도 4를 참조하여, 서로 상이한 서버에 연관된 복수의 AP들(예: 제1 AP(202), 제2 AP(403), 및 제3 AP(404))이 도시된다. 복수의 AP들(예: 제1 AP(202), 제2 AP(403), 및 제3 AP(404))은 Wi-Fi 프로토콜에 따라 신호를 송수신하도록 설정된 AP일 수 있다.
예를 들어, 제1 AP(202)는 제1 서버(280)를 통하여 인터넷 네트워크(205)에 연결되고, 제2 AP(403)는 제2 서버(481)를 통하여 인터넷 네트워크(205)에 연결되고, 제3 AP(404)는 제3 서버(482)를 통하여 인터넷 네트워크(205)에 연결될 수 있다. 도 4에는 하나의 서버가 하나의 AP에 연관된 것으로 도시되어 있으나, 하나의 서버는 복수의 AP들과 연관될 수 있다.
일 실시예에 따르면, 제1 서버(280), 제2 서버(481), 및 제3 서버(482)는 서로 상이한 서비스 제한 설정을 가질 수 있다. 예를 들어, 제1 서버(280)에 의하여 차단된 제1 포트는 제2 서버(481)에 의하여 차단된 제2 포트 또는 제3 서버(482)에 의하여 차단된 제3 포트와는 상이할 수 있다. 예를 들어, 전자 장치(101)는 각각의 AP에 연관된 서비스 제한 정보를 관리함으로써, 효율적인 무선 연결 설정을 수행할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 각각의 AP로부터 AP의 식별 정보를 수신할 수 있다. 예를 들어, 전자 장치(101)는 제1 AP(202)로부터 비콘(beacon) 신호를 수신함으로써 제1 AP(202)의 식별 정보(예: SSID 및/또는 BSSID)를 획득할 수 있다. 다른 예를 들어, 전자 장치(101)는 제2 AP(403)에 프로브(probe) 요청을 송신하고, 제2 AP(403)로부터 프로브 응답을 수신함으로써 제2 AP(403)의 식별 정보를 획득할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 각각의 AP로부터 수신된 식별 정보를 이용하여 하나의 AP에 연결을 수행할 수 있다. 예를 들어, 전자 장치(101)는 제1 AP(202)에 연결될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제1 AP(202)에 포트 정보를 포함하는 패킷을 송신함으로써 제1 AP(202)에 연관된 서비스 제한 정보를 획득할 수 있다. 전자 장치(101)는 유사한 방식으로 제2 AP(403) 및 제3 AP(404)에 연관된 서비스 제한 정보를 획득할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 각각의 AP로부터 각각의 AP에 연관된 서비스 제한 정보를 수신할 수 있다. 예를 들어, 각각의 AP는 자신과 연관된 서비스 제한 정보를 방송(broadcast) 또는 광고(advertise)하도록 설정될 수 있다.
일 실시예에 따르면, 전자 장치(101)는 각각의 AP의 식별정보와 각각의 AP에 연관된 서비스 제한 정보를 포함하는 데이터를 생성할 수 있다. 예를 들어, 전자 장치(101)는 제1 AP(202)의 식별 정보(예: SSID 및/또는 BSSID)와 제1 AP(202)에 연관된 서비스 제한 정보(예: 제한된 어플리케이션 정보 및/또는 제한된 포트 정보)를 포함하는 데이터를 생성할 수 있다. 예를 들어, 서비스 제한 정보는 제1 AP(202)에 대한 평가(rating), 제1 AP(202)의 서비스 품질 상태, 및/또는 제1 AP(202)의 보안 상태를 더 포함할 수 있다. 전자 장치(101)는 각각의 AP에 대한 서비스 제한 정보를 생성하고, 생성된 데이터를 메모리(예: 도 1의 메모리(130))에 저장할 수 있다. 예를 들어, 전자 장치(101)는 도 5 및 도 6과 관련하여 후술되는 방법에 따라서 서비스 제한 정보를 획득할 수 있다.
도 5는 일 실시예들에 따른 서비스 제한 정보 획득 방법의 흐름도(500)를 도시한다.
일 실시예에 따르면, 전자 장치(예: 도 2의 전자 장치(101))는 TCP(transmission protocol)에 따라서 생성된 PDU(protocol data unit)를 포함하는 패킷을 송신할 수 있다. PDU는 TCP 헤더(header)를 포함할 수 있으며, 예를 들어, TCP 헤더는 목적지 포트(destination port) 정보를 포함할 수 있다. 목적지 포트 정보는 데이터 송신을 요청한 어플리케이션에 사용하는 포트 정보를 포함하며, 수신단에서 어떠한 포트에 해당 PDU가 전달될 것인지를 지시하는 정보이다. 예를 들어, TCP 헤더는 논리적인 TCP 제어 및 데이터 관리를 위한 제어 플래그 필드(control flag field)를 포함할 수 있다. 제어 플래그 필드는 6개의 비트로 구성될 수 있으며, 6개의 비트들은 종료(finish), 동기화(synchronized), 리셋(reset), 푸쉬(push), 수신확인(acknowledgement), 및 긴급(urgent) 각각을 지시할 수 있다. 종료는 연결 종료 요청을 의미하고, 더 이상 송신될 데이터가 없음을 의미할 수 있다. 동기화는 연결요청을 의미하고, TCP 세션의 성립(establishment) 과정에서 가장 먼저 송신될 수 있다. 리셋은 세션의 재설정을 지시하고, 비정적인 세션 연결해제를 의미할 수 있다. 푸쉬는 빠른 응답이 요구되는 데이터에 대하여 설정될 수 있다. 수신확인은 상대방으로부터의 패킷이 성공적으로 수신되었음을 지시할 수 있다. 긴급은 높은 우선순위를 갖는 긴급 데이터를 지시할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 TCP 연결을 위한 3-방향 핸드쉐이크(3-way handshake)를 수행할 수 있다. 3-방향 핸드쉐이크는 송신단(예: 전자 장치(101))과 수신단(예: 제1 서버(280))사이의 논리적인 연결을 성립(establish)하기 위하여 수행될 수 있다. 예를 들어, 3-방향 핸드쉐이크는 데이터의 송신 이전에 송신단과 수신단 사이에서 세션을 수립하는 과정을 의미할 수 있다. 일 실시예에 따르면, 동작 505에서, 전자 장치(101)는 동기화 메시지를 제1 서버(280)로 송신할 수 있다. 예를 들어, 동기화 메시지의 TCP 헤더의 제어 플래그 필드는 동기화로 설정될 수 있다. 동작 510에서, 전자 장치(101)는 동기화 메시지에 대한 응답으로 제1 응답 메시지를 수신할 수 있다. 정상적인 경우, 제1 응답 메시지는 동기화 및 수신확인을 지시하는 TCP 헤더를 포함할 수 있다. 동작 515에서, 전자 장치(101)는 제1 응답 메시지에 대한 응답으로 제2 응답 메시지를 송신할 수 있다. 제2 응답 메시지는 수신확인을 지시하는 TCP 헤더를 포함할 수 있다. 3-방향 핸드쉐이크를 통하여, 전자 장치(101)는 제1 서버(280)와 TCP 연결을 성립(establish)할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)는 3-방향 핸드쉐이크 절차를 이용하여 특정 포트의 차단 여부를 확인할 수 있다. 예를 들어, 전자 장치(101)는 특정 포트에 대한 서비스를 요청하는 패킷(예: TCP 제어 플래그 필드가 “동기화”로 설정되고, 목적지 포트 정보가 특정 포트로 설정된 TCP 헤더를 포함하는 패킷)을 요청(예: 동작 505)하고, 이에 대한 응답에 기반하여 특정 포트의 차단 여부를 판단할 수 있다. 예를 들어, 특정 포트가 제1 서버(280)에서 허용된 경우, 전자 장치(101)는 요청된 서비스에 대한 응답으로써 수신확인을 지시하는 메시지를 수신할 수 있다. 예를 들어, 특정 포트가 제1 서버(280)에서 차단(block)된 경우, 전자 장치(101)는 요청된 서비스에 대한 응답을 지정된 시간 내에 수신하지 못하거나, 수신확인 외의 다른 TCP 제어 플래그 필드가 설정된 응답을 수신할 수 있다.
일 실시예에 따르면, 동작 510에서, 전자 장치(101)는 리셋 및 수신확인을 지시하는 제1 응답 메시지를 수신할 수 있다. 이 경우, 전자 장치(101)는 동작 505에서 송신된 동기화 메시지에 연관된 포트 또는 어플리케이션이 제1 서버(280)에서 차단된 것으로 판단할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 동작 505 후에 지정된 시간 내에 제1 응답 메시지가 수신되지 않으면, 송신된 동기화 메시지에 연관된 포트 또는 어플리케이션이 제1 서버(280)에서 차단된 것으로 판단할 수 있다. 일 실시예에 따르면, 동작 510에서 리셋 및 수신확인을 지시하는 제1 응답 메시지가 수신되면, 전자 장치(101)는 동작 515를 수행하지 않을 수도 있다. 일 실시예에 따르면, 동작 510에서 리셋 및 수신확인을 지시하는 제1 응답 메시지가 수신되면, 동작 515에서, 전자 장치(101)는 리셋을 지시하는 제2 응답 메시지를 제1 서버(280)에 송신할 수 있다.
도 6은 일 실시예들에 따른 서비스 제한 정보 획득 방법의 흐름도를 도시한다.
다양한 실시예들에 따르면, 전자 장치(예: 도 2의 전자 장치(101))는 동기화를 지시하는 패킷이 아닌 다른 패킷을 송신함으로써 특정 포트가 제1 서버(280)에서 차단된 것인지를 판단할 수 있다.
일 실시예에 따르면, 동작 605에서, 전자 장치(101)는 특정 포트 정보를 포함하는 제1 메시지를 제1 서버(280)로 송신할 수 있다. 예를 들어, 제1 메시지의 TCP 제어 플래그 필드는 종료를 지시할 수 있다. 다른 예를 들어, 제1 메시지의 TCP 제어 플래그 필드의 모든 플래그가 설정(예: 모든 비트 값들이 1을 지시)되거나 어떤 플래그도 설정되지 않을 수 있다 (예: 모든 비트 값들이 0을 지시). 특정 포트가 제1 서버(280)에서 차단된 경우, 동작 610에서, 전자 장치(101)는 리셋을 지시하는 제2 메시지를 제1 서버(280)로부터 수신할 수 있다. 따라서, 전자 장치(101)는 제2 메시지를 제1 서버(280)로부터 수신함으로써 특정 포트가 제1 서버에서 차단되었는지 여부를 판단할 수 있다. 특정 포트가 제1 서버(280)에서 허용된 경우, 제1 서버(280)는 아무런 응답을 송신하지 않을 수 있으며, 이 경우, 동작 610은 생략될 수 있다.
일 실시예에 따르면, 동작 605에서, 전자 장치(101)는 특정 포트 정보를 포함하는 제1 메시지를 제1 서버(280)로 송신할 수 있다. 예를 들어, 제1 메시지의 TCP 제어 플래그 필드는 수신확인을 지시할 수 있다. 특정 포트가 제1 서버(280)에서 허용된 경우, 동작 610에서, 전자 장치(101)는 리셋을 지시하는 제2 메시지를 제1 서버(280)로부터 수신할 수 있다. 특정 포트가 제1 서버(280)에서 차단된 경우, 동작 610에서, 전자 장치(101)는 리셋 및 수신확인을 지시하는 제1 서버(280)로부터 제2 메시지를 수신할 수 있다. 따라서, 전자 장치(101)는 제2 메시지를 제1 서버(280)로부터 수신함으로써 특정 포트가 제1 서버에서 차단되었는지 여부를 판단할 수 있다.
일 실시예에 따르면, 동작 605에서, 전자 장치(101)는 특정 포트 정보를 포함하는 제1 메시지를 제1 서버(280)로 송신할 수 있다. 예를 들어, 제1 메시지는 제1 서버(280)에 대한 핑(ping)을 의미할 수 있다. 특정 포트가 제1 서버(280)에서 허용된 경우, 동작 610에서, 전자 장치(101)는 리셋을 지시하는 제2 메시지를 제1 서버(280)로부터 수신할 수 있다. 특정 포트가 제1 서버(280)에서 차단된 경우, 동작 610은 생략될 수 있다. 예를 들어, 전자 장치(101)는 동작 605로부터 지정된 시간 내에 리셋을 지시하는 제2 메시지가 제1 서버(280)로부터 수신되지 않으면, 특정 포트가 제1 서버(280)에서 차단된 것으로 판단할 수 있다.
도 7은 다양한 실시예들에 따른 서비스 제한 정보 공유 환경(700)을 도시한다.
도 7을 참조하여, 제1 전자 장치(701) 및 제2 전자 장치(702) 각각은 도 2의 전자 장치(101)과 동일한 구성을 갖는 전자 장치일 수 있다. 일 실시예에 따르면, 제1 전자 장치(701)는 제1 AP(202) 및 제2 AP(403)에 연관된 서비스 제한 정보를 획득할 수 있다. 예를 들어, 제1 전자 장치(701)는 도 3 내지 도 6과 관련하여 상술된 방법을 이용하여 서비스 제한 정보를 획득할 수 있다. 일 실시예에 따르면, 제1 전자 장치(701) 및 제2 전자 장치(702)는 AP(예: 제1 AP(202), 제2 AP(403))와의 연결 시에, 또는 지정된 이벤트(예: 지정된 어플리케이션(예: 메신저 어플리케이션) 또는 지정된 포트에 연관된 데이터 송신, 지정된 어플리케이션 실행, 또는 지정된 어플리케이션의 포어그라운드(foreground) 동작) 발생 시에, 서비스 제한 정보를 획득할 수 있다. 일 실시예에 따르면, 제1 전자 장치(701)는 도 3 내지 도 6과 관련하여 상술된 방법을 이용하여 제1 전자 장치(701)에 연관된 모든 포트들(예를 들어, 제1 전자 장치(701)에 설치된 어플리케이션들에 대응하는 모든 포트)에 연관된 모든 포트들에 대한 서비스 제한 정보를 획득할 수 있다. 일 실시예에 따르면, 제1 전자 장치(701)는 도 3 내지 도 6과 관련하여 상술된 방법을 이용하여 지정된 적어도 하나의 포트에 연관된 서비스 제한 정보를 획득할 수 있다. 일 실시예에 따르면, 제1 전자 장치(701)는 도 3 내지 도 6과 관련하여 상술된 방법을 이용하여 지정된 복수의 포트들 중 제1 전자 장치(701)의 어플리케이션의 적어도 하나의 포트에 대하여만 서비스 제한 정보를 획득할 수 있다. 일 실시예에 따르면, 제1 전자 장치(701)는 현재 송신될 데이터에 연관된 포트에 대하여만 서비스 제한 정보를 획득할 수 있다.일 실시예에 따르면, 제1 전자 장치(701)는 획득된 서비스 제한 정보를 AP 관리 서버(795)에 송신할 수 있다. 예를 들어, 제1 전자 장치(701)는 서비스 제한 정보가 갱신되면 AP 관리 서버(795)에 서비스 제한 정보를 송신할 수 있다. 예를 들어, 제1 전자 장치(701)는 지정된 주기로 또는 사용자 요청에 기반하여 서비스 제한 정보를 AP 관리 서버(795)로 송신할 수 있다.
일 실시예에 따르면, 제2 전자 장치(702)는 AP 관리 서버(795)로부터 서비스 제한 정보를 수신할 수 있다. 예를 들어, 제2 전자 장치(702)는 AP 검색을 수행하고 AP 관리 서버(795)로 검색된 AP에 대한 질의(query)를 인터넷 네트워크(205)를 통하여(예: 기지국(201) 또는 제2 AP(403)를 통하여) 송신하고, AP 관리 서버(795)로부터 검색된 AP에 연관된 서비스 제한 정보를 수신할 수 있다. 제2 전자 장치(702)는 검색된 AP에 연관된 서비스 제한 정보를 사용자에게 제공하거나, 서비스 제한 정보를 이용하여 네트워크 연결을 제어할 수 있다. 일 실시예에 따르면, 제2 전자 장치(702)는 AP 스캔 결과와 함께, 연관된 서비스 제한 정보를 디스플레이(예: 도 2의 디스플레이(260))에 표시할 수 있다.
일 실시예에 따르면, 제1 전자 장치(701)는 제2 전자 장치(702)에 서비스 제한 정보를 송신할 수 있다. 예를 들어, 제1 전자 장치(701)는 제2 전자 장치(702)로부터의 요청에 기반하여 서비스 제한 정보를 송신할 수 있다. 제1 전자 장치(701)는 Wi-Fi Direct, NFC(near field communication), Zigbee, Bluetooth, D2D (device-to-device) 통신, 또는 적외선 통신을 이용하여 제2 전자 장치(702)에 서비스 제한 정보를 송신할 수 있다.
도 8은 다양한 실시예들에 따른 네트워크 전환 UI를 도시한다.
도 8을 참조하여, 예를 들어, 전자 장치(예: 도 2의 전자 장치(101))는 Wi-Fi 네트워크(예: 도 2의 Wi-Fi 네트워크(232))에 연결된 것으로 가정될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 디스플레이(예: 도 2의 디스플레이(260))의 일정 영역에 현재 연결된 네트워크에 대한 정보를 표시할 수 있다. 예를 들어, 전자 장치(101)는 상태 UI(810)(예: 상태바) 상에 Wi-Fi 네트워크에 연결되었음을 지시하는 Wi-Fi 아이콘(811)을 표시할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 메신저 어플리케이션에 대응하는 메신저 UI(820)를 디스플레이(260)의 적어도 일부 영역에 표시할 수 있다. 예를 들어, 전자 장치(101)는 메신저 어플리케이션의 실행을 지시하는 사용자 입력(예: 메신저 어플리케이션 아이콘에 대한 사용자 입력)에 기반하여 메신저 UI(820)를 디스플레이(260)에 표시할 수 있다.
참조번호 801을 참조하여, 전자 장치(101)는 사용자 입력에 기반하여 메시지 송신을 시도할 수 있다. 예를 들어, 메신저 UI(820)는 상대방 정보(821) 및 입력 메시지(823)를 포함할 수 있다. 송신 인디케이터(825)는 입력 메시지(823)가 송신 중임을 지시할 수 있다.
전자 장치(101)가 Wi-Fi 네트워크에 연결되어 있기 때문에, 전자 장치(101)는 Wi-Fi 네트워크를 통하여 입력 메시지(823)의 송신을 시도할 수 있다. 예를 들어, 메신저 어플리케이션은 지정된 포트(예: 80, 443, 8080, 5223, 5228, 9282, 및/또는 10000~10010)를 이용하도록 설정될 수 있다. 일 실시예에서, 전자 장치(101)가 연결된 Wi-Fi 네트워크에서 메신저 어플리케이션에 연관된 적어도 하나의 포트가 차단될 수 있다. 예를 들어, 전자 장치(101)는 입력 메시지(823)의 송신에 연관된 Wi-Fi 네트워크로부터의 응답에 기반하여 또는 외부 서버(예: 도 7의 AP 관리 서버(795))로부터 수신된 서비스 제한 정보에 기반하여 현재 연결된 AP에서 메신저 어플리케이션에 연관된 포트가 차단되었음을 확인할 수 있다.
참조번호 803을 참조하여, 전자 장치(101)는 네트워크 전환 알림(827)을 디스플레이(260)에 표시할 수 있다. 예를 들어, 전자 장치(101)는 현재 연결된 Wi-Fi 네트워크(예: 메인 네트워크)에서 현재 실행된 메신저 어플리케이션(예: 포어그라운드(foreground)에서 실행된 어플리케이션)에 연관된 포트(예: 메신저 어플리케이션에 연관된 모든 포트, 메신저 어플리케이션에 연관된 적어도 하나의 포트, 또는 현재 송신될 메신저 연관 데이터의 포트)가 차단된 경우, 네트워크 전환 알림(827)을 표시할 수 있다. 예를 들어, 네트워크 전환 알림(827)은 현재 연결된 네트워크와는 다른 네트워크(예: 셀룰러 네트워크 또는 다른 AP를 통한 무선 네트워크)로의 전환을 지시하는 정보를 포함할 수 있다. 예를 들어, 네트워크 전환 알림(827)은 팝업(pop-up) 메시지일 수 있다. 일 실시예에 따르면, 네트워크 전환 알림(827)은 사용자 확인을 위한 확인 버튼(828)을 포함할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 다른 이용 가능한 네트워크(예: 실행 중인 어플리케이션에 연관된 포트를 허용하는 네트워크)가 있는 경우에만 네트워크 전환 알림(827)을 제공할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 현재 연결된 Wi-Fi 네트워크에서 메신저 어플리케이션에 연관된 포트가 차단된 경우, 다른 네트워크를 통하여 입력된 메시지(823)를 송신할 수 있다. 예를 들어, 전자 장치(101)는 확인 버튼(828)에 대한 사용자 입력에 기반하여 다른 네트워크를 통하여 입력된 메시지(823)를 송신할 수 있다.
참조번호 805를 참조하여, 전자 장치(101)는 입력 메시지(823)의 송신이 완료됨에 따라 송신 인디케이터(831)를 메신저 UI(820) 내에 표시할 수 있다. 일 실시예에 따르면, 메신저 어플리케이션에 연관된 포트가 현재 연결된 Wi-Fi 네트워크에서 차단되어 다른 네트워크를 이용하는 경우, 전자 장치(101)는 디스플레이(260)의 적어도 일부 영역에 다른 네트워크를 지시하는 UI를 제공할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 LTE 아이콘(829)을 메신저 UI(820) 상에 표시할 수 있다. 예를 들어, 메신저 어플리케이션이 현재 이용하는 다른 네트워크에 대한 정보(예: LTE 아이콘(829))는 플로팅(floating) UI 형태로 표시될 수 있다. 전자 장치(101)는 Wi-Fi 네트워크에 대한 연결을 유지한 상태로 LTE 네트워크를 통하여 메신저 어플리케이션에 연관된 데이터를 송수신하기 때문에, 상태 UI(810) 내의 Wi-Fi 아이콘(811)은 유지될 수 있다. 일 실시예에 따르면, LTE 아이콘(829)은 메신저 어플리케이션이 포어그라운드에서 동작하는 동안(예: 메신저 UI(810)가 디스플레이(260) 상에 표시된 동안)에만 표시될 수 있다.
일 실시예에 따르면, 전자 장치(101)는 다른 네트워크에 대한 정보를 표시하는 이미지(예: LTE 아이콘(829))에 대한 사용자 입력이 수신되면, 네트워크 연결 UI(미도시)를 제공할 수 있다. 예를 들어, 네트워크 연결 UI는 연결해제 또는 연결 네트워크 전환과 연결 제어를 위한 선택 메뉴를 포함할 수 있다.
도 8의 UI의 구성은 예시적인 것으로서, 본원의 UI의 형태가 이에 제한되는 것은 아니다. 예를 들어, 참조 번호 805에서, LTE 아이콘(829)은 메신저 UI(820)가 아닌 상태 UI(810)에 표시될 수 있다. 예를 들어, LTE 아이콘(829)과 Wi-Fi 아이콘(811)이 동시에 표시될 수 있다. 일 실시예에 따르면, 백업 연결에 대응하는 LTE 아이콘(829)은 점멸(flicker)할 수 있다. 일 실시예에 따르면, LTE 아이콘(829)은 다른 네트워크 정보의 일 예시로서, 다른 네트워크 정보는 네트워크의 유형(예: Wi-Fi 또는 LTE)을 나타내는 정보 및 품질(예: 수신 신호 강도)을 나타내는 정보를 포함할 수 있다.
도 9는 다양한 실시예들에 따른 네트워크 정보 제공 UI의 예시들을 도시한다.
다양한 실시예들에 따르면, 전자 장치(예: 도 2의 전자 장치(101))는 AP 스캔 결과를 포함하는 AP 목록 UI(910)를 디스플레이(예: 도 2의 디스플레이(260))의 일정 영역에 표시할 수 있다. 예를 들어, 전자 장치(101)는 적어도 하나의 AP로부터 프로브 응답 또는 비콘 신호를 수신함으로써 적어도 하나의 AP에 연관된 정보(예: SSID)를 획득하고, 획득된 적어도 하나의 AP에 연관된 정보를 AP 목록 UI(910)에 표시할 수 있다.
참조번호 901을 참조하여, 전자 장치(101)는 AP 스캔을 통하여 제1 AP(AP1), 제2 AP(AP2), 및 제3 AP(AP3)을 발견하고, 발견된 제1 AP, 제2 AP, 및 제3 AP에 대한 정보를 AP 목록 UI(910)에 표시할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제1 AP 정보를 포함하는 제1 AP 선택 UI(921), 제2 AP 정보를 포함하는 제2 AP 선택 UI(923), 및 제3 AP 정보를 포함하는 제3 AP 선택 UI(925)를 AP 목록 UI(910)에 표시할 수 있다. 예를 들어, 전자 장치(101)는 제1 AP 선택 UI(921)에 대한 사용자 입력(915)을 수신할 수 있다.
참조번호 903을 참조하여, 사용자 입력(915)에 대응하여, 전자 장치(101)는 제1 AP로의 연결을 시도할 수 있다. 제1 AP로의 연결을 시도 중임을 지시하는 정보가 제1 AP 선택 UI(921)에 표시될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 도 3내지 도 7과 관련하여 상술된 방법들 중 적어도 하나를 이용하여 적어도 제1 AP에 연관된 서비스 제한 정보를 획득할 수 있다. 예를 들어, 전자 장치(101)는 AP 스캔 중에 제1 AP에 연관된 서비스 제한 정보를 획득할 수 있다. 다른 예를 들어, 전자 장치(101)는 사용자 입력(915)이 수신되면, 사용자 입력(915)에 대응하는 AP(예: 제1 AP)의 서비스 제한 정보를 획득할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 선택된 제1 AP가 일부 유형의 서비스에 대해 제한된 AP인 경우, 제1 AP의 서비스 제한 정보에 기반하여 서비스 제한 알림(931)을 제공할 수 있다. 예를 들어, 서비스 제한 알림(931)은 연결을 시도하는 AP의 서비스 제한 정보(예: 제한된 어플리케이션 정보, 제한된 포트 정보, 또는 부분적 서비스 제한 안내 정보 중 적어도 하나) 및/또는 다른 네트워크로의 연결 안내 정보를 포함할 수 있다. 서비스 제한 알림(931)은 사용자의 동의 또는 인지여부를 확인하기 위한 확인 버튼(933)을 포함할 수 있다. 서비스 제한 알림(931)은, 예를 들어, 팝업 메시지로서 제공될 수 있다. 일 실시예에 따르면, 서비스 제한 알림(931)은 지정된 시간 동안 제공될 수 있다.
참조번호 905를 참조하여, 일 실시예에 따르면, 참조 번호 901의 사용자 입력(915)에 따라서 일부 서비스가 제한된 AP(예: 제1 AP)로의 연결이 시도되면, 전자 장치(101)는 네트워크 전환 설정 UI(935)를 제공할 수 있다. 예를 들어, 네트워크 전환 설정 UI(935)는 서비스 제한 정보, 다른 네트워크로의 전환 설정 안내 정보, 허용 버튼(937), 및 거절 버튼(939)을 포함할 수 있다. 일 실시예에 따르면, 허용 버튼(937)에 대한 사용자 입력이 수신되면, 전자 장치(101)는 선택된 제1 AP에 대한 연결을 진행하되, 제한된 서비스에 대하여는 별도의 추가적 동의 절차 없이 다른 이용 가능한 네트워크(예: 셀룰러 네트워크)를 이용하도록 연결을 제어할 수 있다. 네트워크 전환 설정 UI(935)는, 예를 들어, 팝업 메시지의 형태를 가질 수 있다.
도 9에 도시된 서비스 제한 알림(931) 및 네트워크 전환 설정 UI(935)는 예시적인 것으로서, 도시된 서비스 제한 알림(931) 및 네트워크 전환 설정 UI(935)의 형태는 도 9에 도시된 것으로 제한되지 않는다. 일 실시예에 따르면, 도시된 서비스 제한 알림(931) 및 네트워크 전환 설정 UI(935)는 네트워크 전환에 대한 안내 정보를 포함할 수 있다. 일 실시예에 따르면, 서비스 제한 알림(931) 및 네트워크 전환 설정 UI(935)는 네트워크 전환(예: 제한된 서비스 이용으로 인한 네트워크 전환)이 수행되는 동안의 UI 표시 방법(예: 도 8과 관련하여 상술된 네트워크 전환 UI)에 대한 정보를 포함할 수 있다. 예를 들어, 서비스 제한 알림(931) 및 네트워크 전환 설정 UI(935)는 네트워크 전환이 수행되는 동안 전환된 네트워크에 대한 정보(예: 도 8의 LTE 아이콘(829))가 표시될 수 있음을 지시하는 정보(예: 이미지 및/또는 문자 형식의 가이드)를 포함할 수 있다.
도 10은 다양한 실시예들에 따른 네트워크 정보 제공 UI의 다른 예시들을 도시한다.
다양한 실시예들에 따르면, 전자 장치(예: 도 2의 전자 장치(101))는 적어도 하나의 AP 선택 UI를 포함하는 AP 목록 UI(예: 도 9의 AP 목록 UI(910))를 디스플레이(예: 도 2의 디스플레이(260))의 일정 영역에 표시할 수 있다. 예를 들어, 전자 장치(101)는 AP 선택 UI를 표시함에 있어서, 연관된 AP의 서비스 제한 정보를 함께 표시할 수 있다. 일 실시예에 따르면, 서비스 제한 정보는 전자 장치(101)에 설치된 복수의 어플리케이션들 중 서비스가 제한된 어플리케이션에 대한 정보를 의미할 수 있다. 일 실시예에 따르면, 서비스 제한 정보는 적어도 하나의 지정된 어플리케이션 또는 적어도 하나의 사용자 정의 어플리케이션 중 서비스가 제한된 어플리케이션에 대한 정보를 의미할 수 있다. 예를 들어, 지정된 어플리케이션은 사용자가 자주 사용하는 어플리케이션 또는 사용자의 패턴에 기반한 어플리케이션을 의미할 수 있다. 다른 예를 들어, 사용자 정의 어플리케이션은 사용자 입력 또는 사용자 선택에 기반하여 선택된 적어도 하나의 어플리케이션을 의미할 수 있다.
참조 번호 1001을 참조하여, 일 실시예에 따르면, 전자 장치(101)는 제1 AP 선택 UI(1021) 내에 제1 AP 정보(예: SSID 및 수신 신호 강도 지시자) 및 제1 AP에 연관된 서비스 제한 정보(예: 제한 어플리케이션 정보)를 표시할 수 있다. 전자 장치(101)는 제2 AP 선택 UI(1023) 내에 제2 AP 정보 및 제2 AP에 연관된 서비스 제한 정보를 표시할 수 있다. 전자 장치(101)는 제3 AP(AP3)에 연관된 서비스 제한 정보가 없는 경우, 제3 AP 정보만을 제3 AP 선택 UI(1025)에 표시할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 외부 서버(예: 도 7의 AP 관리 서버(795))에 각각의 AP에 대한 질의를 송신하고, 외부 서버로부터 각각의 AP 중 적어도 하나의 AP에 연관된 서비스 제한 정보를 수신함으로써 서비스 제한 정보를 획득할 수 있다. 참조 번호 1001에는 문자의 형태로서 서비스 제한 정보가 도시되어 있으나, 서비스 제한 정보의 형태는 이에 제한되는 것은 아니다.
참조 번호 1001을 참조하여, AP 목록 UI(910) 내에서, AP 선택 UI들(1021, 1023, 및 1025)의 목록은 각각의 AP의 신호 강도에 기반하여 정렬되었다. 그러나, 본 문서의 AP 목록 UI(910) 내의 AP 선택 UI 정렬은 이에 제한되는 것은 아니다. 일 실시예에 따르면, AP 목록 UI(910) 내에서, AP 선택 UI들(1021, 1023, 1025)은 서비스 제한 정보에 기반하여 정렬될 수 있다. 예를 들어, 서비스 제한이 없는 제3 AP 선택 UI(1025)가 제1 AP 선택 UI(1021) 및 제2 AP 선택 UI(1023) 보다 높은 순위로(예: AP 목록 UI(910)에서 더 위쪽의 위치에) 표시될 수 있다. 일 실시예에 따르면, AP 목록 UI(910) 내에서, AP 선택 UI들(1021, 1023, 1025)은 서비스 제한 정보 및 신호 강도에 기반하여 정렬될 수 있다. 예를 들어, 서비스 제한이 없는 제3 AP 선택 UI(1025)가 AP 목록 UI(910) 내에서 가장 위쪽에 표시되고, 서비스 제한이 있는 AP는 신호 강도에 따라서 제1 AP 선택 UI(1021)와 제2 AP 선택 UI(1023)의 순으로 표시될 수 있다.
참조 번호 1003을 참조하여, 일 실시예에 다르면, 전자 장치(101)는 이미지 형태의 서비스 제한 정보를 AP 선택 UI 내에 표시할 수 있다. 예를 들어, 전자 장치(101)는 제1 AP 선택 UI(1021) 내에 제1 어플리케이션의 사용이 제한될 수 있음을 지시하는 제1 서비스 제한 이미지(1031)를 표시할 수 있다. 예를 들어, 제1 서비스 제한 이미지(1031)는 제1 어플리케이션에 연관된 이미지(예: 제1 어플리케이션의 아이콘 이미지)로부터 생성된 이미지일 수 있다. 전자 장치(101)는 제1 어플리케이션에 연관된 이미지에 적어도 하나의 추가 이미지(예: 사용 불능을 나타내는 임의의 이미지)를 추가함으로써 제1 서비스 제한 이미지(1031)를 생성할 수 있다. 유사하게, 전자 장치(101)는 제2 AP와 연관된 제2 서비스 제한 이미지(1033)를 제2 AP 선택 UI(1023) 내에 표시할 수 있다.
참조번호 1005를 참조하여, 일 실시예에 따르면, 전자 장치(101)는 서비스 제한 정보와 함께 각각의 AP에 대한 네트워크 전환 설정 정보를 표시할 수 있다. 예를 들어, 제1 AP에 대하여는 일부 서비스 제한에 따른 네트워크 전환이 기설정되었을 수 있다. 이 경우, 전자 장치(101)는 제1 AP 선택 UI(1021) 내에 제1 AP에 대한 네트워크 전환 설정이 적용되었음을 지시하는 네트워크 전환 아이콘(1035)을 표시할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서비스 제한 정보가 있는 경우, 네트워크를 전환 하는 기능을 인에이블(enable) 또는 디스에이블(disable)할 수 있는 UI를 제공할 수 있다. 예를 들어, 전자 장치(101) 제1 AP에 대한 네트워크 전환 설정이 인에이블(enable)된 경우에만 네트워크 전환 아이콘(1035)을 표시할 수 있다. 도 10의 네트워크 전환 아이콘(1035)은 예시적인 것으로서, 네트워크 전환 아이콘(1035)은 보조 네트워크의 유형(예: 3GPP 네트워크 또는 IEEE 네트워크)을 지시하는 아이콘일 수 있다.
도 11은 다양한 실시예들에 따른 네트워크 정보 제공 UI의 또 다른 예시들을 도시한다.
참조 번호 1101을 참조하여, 전자 장치(101)는 제1 AP 선택 UI(1021) 및 제2 AP 선택 UI(1023)를 포함하는 AP 목록 UI(910)를 디스플레이(260)의 일정 영역에 표시할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 각각의 AP에 대한 서비스 제한 정보를 획득하는 동안 서비스 제한 정보를 제1 상태로 표시할 수 있다. 예를 들어, 전자 장치(101)는 제1 어플리케이션 이미지(1131) 및 제2 어플리케이션 이미지(1133)를 제1 상태로 표시할 수 있다. 예를 들어, 제1 상태는 이미지를 지정된 투명도 이상 및/또는 지정된 채도 미만으로 표시하거나, 이미지를 점멸 상태로 표시하는 것을 의미할 수 있다. 예를 들어, 제1 어플리케이션 및 제2 어플리케이션은 기설정된 어플리케이션, 기설정된 어플리케이션들 중 전자 장치(101)에 설치된 어플리케이션, 전자 장치(101)에 설치된 지정된 유형(예: 메신저) 또는 지정된 포트를 이용하는 어플리케이션, 현재 전자 장치(101)에서 동작 중인(예: 포어그라운드 또는 백그라운드에서 동작 중인) 어플리케이션, 또는 전자 장치(101)에 설치된 어플리케이션들 중 사용 빈도가 높은 어플리케이션일 수 있다.
참조 번호 1103을 참조하여, 일 실시예에 따르면, 전자 장치(101)는 각각의 AP에 연관된 서비스 제한 정보가 획득되면, 획득된 서비스 제한 정보에 기반하여 서비스 제한 정보를 제2 상태 또는 제3 상태로 표시할 수 있다. 예를 들어, 제2 상태는 지정된 서비스가 허용됨을 의미하고, 제3 상태는 지정된 서비스가 차단됨을 의미할 수 있다. 제2 상태 및 제3 상태는 이미지를 지정된 투명도 미만 및/또는 지정된 채도 이상으로 표시하는 것을 의미할 수 있다. 예를 들어, 제1 AP에 대하여 제1 어플리케이션 서비스는 차단되고 제2 어플리케이션 서비스는 허용되는 경우, 전자 장치(101)는 제1 AP 선택 UI(1021)에 제1 어플리케이션 이미지(1131)는 제3 상태로 표시하고, 제2 어플리케이션 이미지(1133)는 제2 상태로 표시할 수 있다. 다른 예를 들어, 제2 AP에 대하여 제2 어플리케이션 서비스는 차단되고 제1 어플리케이션 서비스는 허용되는 경우, 전자 장치(101)는 제2 AP 선택 UI(1023)에 제1 어플리케이션 이미지(1131)는 제2 상태로 표시하고, 제2 어플리케이션 이미지(1133)는 제3 상태로 표시할 수 있다.
도 12는 다양한 실시예들에 따른 네트워크 전환 UI의 다른 예시를 도시한다.
도 8 내지 도 10과 관련하여, 전자 장치(예: 도 2의 전자 장치(101))가 Wi-Fi 네트워크(예: 도 2의 Wi-Fi 네트워크(232))에 연결된 것을 가정하여 실시예들이 설명되었다. 전자 장치(101)가 셀룰러 네트워크(예: 도 2의 셀룰러 네트워크(231))에 연결된 경우에도, 상술된 실시예들이 유사하게 적용될 수 있다. 예를 들어, 전자 장치(101)는 셀룰러 네트워크에 연결되고, 셀룰러 네트워크에서 일부 서비스(예: 일부 포트)가 제한될 수 있다. 예를 들어, 셀룰러 네트워크는 MNO(mobile network operator)의 정책에 따라서, 특정 사용자(예: 특정 과금 정책을 이용하는 사용자)에 대하여는 특정 어플리케이션(예: 메신저 어플리케이션)의 셀룰러 네트워크를 통한 VoIP(voice over internet protocol) 서비스를 제한할 수 있다.
참조 번호 1201을 참조하여, 전자 장치(101)는 셀룰러 네트워크(예: LTE 네트워크)에 연결된 것으로 가정된다. 일 실시예에 따르면, 전자 장치(101)는 현재 연결된 네트워크를 표시하는 LTE 아이콘(1211)을 상태 UI(예: 도 8의 상태 UI(810))에 표시할 수 있다. 동일한 참조번호를 갖는 다른 구성들에 대한 설명은 도 8에 연관된 설명에 의하여 참조될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 메신저 어플리케이션의 VoIP 기능의 활성화에 따라서, VoIP 발신을 지시하는 콜 메시지(1223)를 메신저 UI(820)에 표시할 수 있다.
참조 번호 1203을 참조하여, 셀룰러 네트워크에서 VoIP 기능이 제한되는 경우, 전자 장치(101)는 네트워크 전환 알림(1227)을 제공할 수 있다. 예를 들어, 네트워크 전환 알림(1227)은 팝업 메시지로서, 사용자의 동의를 수신하기 위한 확인 버튼(1228)을 포함할 수 있다. 네트워크 전환 알림(1227)은 서비스 제한에 연관된 정보 및/또는 전환 네트워크에 대한 가이드(guide) 정보를 포함할 수 있다. 일 실시예에 따르면, 네트워크 전환 알림(1227)은 전자 장치(101)에서 이용 가능한 액세스 포인트가 존재하는 경우에만 제공될 수 있다.
참조 번호 1205를 참조하여, 전자 장치(101)는 VoIP 서비스가 현재 연결된 셀룰러 네트워크에서 차단되어 다른 네트워크(예: Wi-Fi 네트워크)를 이용하는 경우, 전자 장치(101)는 디스플레이(260)의 적어도 일부 영역에 다른 네트워크를 지시하는 UI를 제공할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 Wi-Fi 아이콘(1229)을 메신저 UI(820) 상에 표시할 수 있다. 예를 들어, 메신저 어플리케이션이 현재 이용하는 다른 네트워크에 대한 정보(예: Wi-Fi 아이콘(1229))는 플로팅(floating) UI 형태로 표시될 수 있다. 전자 장치(101)는 셀룰러 네트워크에 대한 연결을 유지한 상태로 다른 네트워크(예: Wi-Fi 네트워크)를 통하여 메신저 어플리케이션에 연관된 데이터를 송수신하기 때문에, 상태 UI(810) 내의 셀룰러 네트워크 아이콘(1211)은 유지될 수 있다. 일 실시예에 따르면, Wi-Fi 아이콘(1229)은 메신저 어플리케이션이 포어그라운드에서 동작하는 동안(예: 메신저 UI(810)가 디스플레이(260) 상에 표시된 동안)에만 표시될 수 있다.
일 실시예에 따르면, 전자 장치(101)는 다른 네트워크에 대한 정보를 표시하는 이미지(예: Wi-Fi 아이콘 (1229))에 대한 사용자 입력이 수신되면, 네트워크 연결 UI(미도시)를 제공할 수 있다. 예를 들어, 네트워크 연결 UI는 연결해제 또는 연결 네트워크 전환과 연결 제어를 위한 선택 메뉴를 포함할 수 있다.
도 12의 UI의 구성은 예시적인 것으로서, 본원의 UI의 형태가 이에 제한되는 것은 아니다.
도 13은 다양한 실시예들에 따른 네트워크 전환 UI의 또 다른 예시를 도시한다.
참조 번호 1301을 참조하여, 네트워크 전환 알림(1327)이 설명된다. 도 13에 있어서, 동일한 번호를 갖는 참조번호에 대한 설명은 도 12에 연관된 설명에 의하여 참조될 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 도 2의 전자 장치(101))는 과금 정보에 기반하여 네트워크 전환 알림(1327)을 제공할 수 있다. 예를 들어, 전자 장치(101)는 셀룰러 네트워크(예: 도 2의 셀룰러 네트워크(231))에 연결되고, 셀룰러 네트워크는 메신저 어플리케이션을 통한 VoIP 서비스를 허용할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 현재 연결된 셀룰러 네트워크에서 해당 서비스가 제한되지 않더라도 과금 정보에 기반하여 네트워크 전환 알림(1327)을 제공할 수 있다. 예를 들어, 전자 장치(101)는 셀룰러 네트워크로부터 전자 장치(101)에 연관된 과금 정보(예: tariff 정보)를 획득할 수 있다. 과금 정보는 현재 전자 장치(101)에 대한 잔여 데이터 량에 연관된 정보를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 잔여 데이터량이 지정된 비율 미만이거나, 지정된 양 미만인 경우, 네트워크 전환 알림(1327)을 디스플레이(260)에 표시할 수 있다. 예를 들어, 네트워크 전환 알림(1327)은 잔여 데이터 량에 연관된 정보, 네트워크 전환에 연관된 정보, 및/또는 사용자의 동의를 수신하기 위한 확인 버튼(1328)을 포함할 수 있다. 일 실시예에 따르면, 네트워크 전환 알림(1327)은 팝업 메시지 형태로 제공될 수 있다.
도 14는 다양한 실시예들에 따른 데이터 송신 방법(1400)의 흐름도이다.
다양한 실시예들에 따르면, 동작 1405에서, 전자 장치(예: 도 2의 전자 장치(101))는 제1 무선 네트워크에 연결할 수 있다. 예를 들어, 제1 무선 네트워크가 Wi-Fi 네트워크인 경우, 전자 장치(101)는 제1 통신 모듈(예: 도 2의 제1 통신 모듈(203))을 이용하여 제1 무선 네트워크에 연결할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 디스플레이(예: 도 2의 디스플레이(260))에 제1 무선 네트워크에 대응하는 이미지(예: 도 8의 Wi-Fi 아이콘(811))을 표시할 수 있다.
다양한 실시예들에 따르면, 동작 1410에서, 전자 장치(101)는 송신될 데이터에 연관된 포트가 제1 무선 네트워크에서 제한된 포트인지 판단할 수 있다. 예를 들어, 전자 장치(101)는 도 3 내지 도 7과 관련하여 상술된 방법들 중 적어도 하나를 이용하여 제1 무선 네트워크에 연관된 서비스 제한 정보를 획득할 수 있다. 전자 장치(101)는 서비스 제한 정보에 기반하여 송신될 데이터가 제1 무선 네트워크에서 제한된 포트인지 판단할 수 있다.
다양한 실시예들에 따르면, 송신될 데이터에 연관된 포트가 제1 무선 네트워크에서 제한되는 경우, 동작 1415에서, 전자 장치(101)는 제2 무선 네트워크를 이용하여 데이터를 송신할 수 있다. 예를 들어, 제2 무선 네트워크는 셀룰러 네트워크일 수 있다. 일 실시예에 따르면, 송신될 데이터에 연관된 포트가 제1 무선 네트워크에서 제한되는 경우, 서비스 제한에 대한 알림 및/또는 네트워크 전환에 대한 알림을 디스플레이(260)에 표시할 수 있다. 일 실시예에 따르면, 제2 무선 네트워크를 이용하여 데이터를 송신하는 동안, 전자 장치(101)는 디스플레이(260)의 적어도 일부 영역에 제2 무선 네트워크에 대응하는 이미지(예: 도 8의 LTE 아이콘(829))를 표시할 수 있다.
다양한 실시예들에 따르면, 송신될 데이터에 연관된 포트가 제1 무선 네트워크에서 허용되는 경우, 동작 1420에서, 전자 장치(101)는 제1 무선 네트워크를 이용하여 데이터를 송신할 수 있다.
도 14의 실시예에 있어서, 제1 무선 네트워크가 Wi-Fi 네트워크이고, 제2 무선 네트워크가 셀룰러 네트워크인 것으로 설명되었다. 제1 무선 네트워크와 제2 무선 네트워크는 서로 상이한 네트워크를 지시하는 것이고, 제1 무선 네트워크와 제2 무선네트워크의 유형이 이에 제한되는 것은 아니다. 일 실시예에 따르면, 제1 무선 네트워크는 셀룰러 네트워크이고, 제2 무선 네트워크는 Wi-Fi 네트워크일 수 있다. 일 실시예에 따르면, 제1 무선 네트워크는 Wi-Fi 네트워크이고, 제2 무선 네트워크는 제1 무선 네트워크와는 상이한 Wi-Fi 네트워크일 수 있다. 일 실시예에 따르면, 제1 무선 네트워크는 Wi-Fi 네트워크이고, 제2 무선 네트워크는 VPN(virtual private network)일 수 있다. 예를 들어, 전자 장치(101)는 특정 포트가 제1 서버(280)에서 허용되지 않는 경우, VPN 장비를 통해 제1 서버(280)에 연결될 수 있다. 일 실시예에 따르면, 제1 무선 네트워크는 셀룰러 네트워크이고, 제2 무선 네트워크는 VPN(virtual private network)일 수 있다. 예를 들어, 전자 장치(101)는 특정 포트를 통한 서비스(예: VoIP)가 제한 되는 경우, VPN 장비를 통해 해당 서비스(예: VoIP)를 제공할 수 있다.
도 15는 다양한 실시예들에 따른 제2 무선 네트워크를 통한 데이터 송신 방법의 흐름도이다.
도 15를 참조하여, 도 15의 동작들은 도 14의 동작 1415로 참조될 수 있다. 예를 들어, 도 15의 동작 1505 내지 동작 1520은 도 14의 동작 1415에 포함된 동작들일 수 있다.
다양한 실시예들에 따르면, 동작 1505에서, 전자 장치(예: 도 2의 전자 장치(101))는 제1 무선 네트워크에 서비스 제한에 연관된 제1 UI(예: 도 8의 네트워크 전환 알림(827), 도 9의 서비스 제한 알림(931), 도 9의 네트워크 전환 설정 UI(935), 또는 도 12의 네트워크 전환 알림(1227))를 제공할 수 있다. 예를 들어, 제1 UI는 제한 서비스에 대한 정보 및/또는 다른 네트워크로의 전환을 가이드 하는 정보를 포함할 수 있다.
다양한 실시예들에 따르면, 동작 1510에서, 전자 장치(101)는 제2 무선 네트워크에 연결할 수 있다. 예를 들어, 전자 장치(101)는 제2 무선 네트에 대한 연결을 성립(establish)할 수 있다. 제2 무선 네트워크가 셀룰러 네트워크인 경우, 전자 장치(101)는 제2 통신 모듈(예: 도 2의 제2 통신 모듈(204))을 이용하여 제2 무선 네트워크에 연결할 수 있다.
다양한 실시예들에 따르면, 동작 1515에서, 전자 장치(101)는 제2 UI(예: 도 8의 LTE 아이콘(829) 또는 도 12의 Wi-Fi 아이콘(1229))를 제공할 수 있다. 예를 들어, 제2 UI는 제2 무선 네트워크에 대한 정보를 지시하는 UI일 수 있다. 예를 들어, 제2 무선 네트워크가 LTE 네트워크인 경우, 전자 장치(101)는 LTE 통신 네트워크를 지시하는 이미지를 포함하는 제2 UI를 제공할 수 있다.
다양한 실시예들에 따르면, 동작 1520에서, 전자 장치(101)는 제2 무선 네트워크를 통하여 데이터를 송신할 수 있다. 예를 들어, 전자 장치(101)는 제1 무선 네트워크에 대한 연결을 유지한 채로, 제2 무선 네트워크를 통하여 데이터를 송신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 제1 UI와 제2 UI를 디스플레이(예: 도 2의 디스플레이(260))에 동시에 표시할 수 있다.
도 16은 다양한 실시예들에 따른 포트 제한 정보에 기반한 데이터 송신 방법의 흐름도이다.
도 16을 참조하여, 동작 1605에서, 전자 장치는 제1 무선 네트워크에 연결할 수 있다. 동작 1605에 대한 설명은 도 14의 동작 1405에 관련된 설명에 의하여 참조될 수 있다. 설명의 편의를 위하여 중복된 설명은 생략될 수 있다.
다양한 실시예들에 따르면, 동작 1610에서, 전자 장치(예: 도 2의 전자 장치(101))는 제1 무선 네트워크(예: Wi-Fi 네트워크)에 연관된 포트 제한 정보(예: 서비스 제한 정보)를 획득할 수 있다. 예를 들어, 전자 장치(101)는 도 3 내지 도 7과 관련하여 상술된 방법들 중 적어도 하나를 이용하여 포트 제한 정보를 획득할 수 있다.
다양한 실시예들에 따르면, 동작 1615에서, 전자 장치(101)는 데이터 송신에 연관된 이벤트를 감지할 수 있다. 예를 들어, 전자 장치(101)는 특정 어플리케이션에 연관된 데이터 송신 이벤트를 감지할 수 있다. 일 실시예에 따르면, 동작 1615는 동작 1610과 실질적으로 동시에 또는 동작 1610에 선행하여 수행될 수 있다.
다양한 실시예들에 따르면, 동작 1620에서, 전자 장치(101)는 송신될 데이터에 연관된 포트가 제1 무선 네트워크에서 제한된 포트인지 판단할 수 있다. 동작 1620에 대한 설명은 도 14의 동작 1410에 관련된 설명에 의하여 참조될 수 있다.
다양한 실시예들에 따르면, 송신될 데이터에 연관된 포트가 제1 무선 네트워크에서 허용된 포트이면, 동작 1640에서, 전자 장치(101)는 제1 무선 네트워크를 이용하여 데이터를 송신할 수 있다.
다양한 실시예들에 따르면, 송신될 데이터에 연관된 포트가 제1 무선 네트워크에서 제한된 포트이면, 동작 1625에서, 전자 장치(101)는 이용 가능한 제2 무선 네트워크가 존재하는지 판단할 수 있다. 예를 들어, 송신될 데이터가 제1 무선 네트워크에서 제한된 포트를 이용하는 경우, 전자 장치(101)는 송신될 데이터에 연관된 포트가 허용되는 제2 무선 네트워크를 검색할 수 있다. 예를 들어, 전자 장치(101)는 연결 가능한 다른 AP 또는 셀룰러 네트워크에서 송신될 데이터에 연관된 포트가 허용되는지 판단할 수 있다. 이용 가능한 제2 무선 네트워크가 존재하는 경우, 전자 장치(101)는 동작 1630에 따라서 제2 무선 네트워크를 이용하여 데이터를 송신할 수 있다. 동작 1630에 대한 설명은 도 14의 동작 1415에 대한 설명에 의하여 참조될 수 있다. 이용 가능한 제2 무선 네트워크가 존재하지 않는 경우, 전자 장치(101)는 동작 1635에 따라서 오류 메시지를 출력할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 도 2의 전자 장치(101))는, 제1 통신 프로토콜에 따라 제1 무선 네트워크(예: 도 2의 Wi-Fi 네트워크(232))와 통신하도록 설정된 제1 무선 통신 회로(예: 도 2의 제1 통신 모듈(203)), 제2 통신 프로토콜에 따라 제2 무선 네트워크(예: 도 2의 셀룰러 네트워크(231)와 통신하도록 설정된 제2 무선 통신 회로(예: 도 2의 제2 통신 모듈(204)), 디스플레이(예: 도 2의 디스플레이 (260)), 상기 제1 무선 통신 회로, 상기 제2 무선 통신 회로, 및 상기 디스플레이에 작동적으로(operatively)으로 연결된 프로세서 (예: 도 2의 프로세서(120)), 및 상기 프로세서에 전기적으로 연결된 메모리(예: 도 2의 메모리(130))를 포함할 수 있다. 상기 메모리는 실행되었을 때, 상기 프로세서가, 상기 제1 무선 통신 회로를 이용하여 상기 제1 무선 네트워크에 연결하고, 상기 제1 무선 네트워크에 연관된 서비스 제한 정보를 획득하고, 상기 서비스 제한 정보를 이용하여 데이터에 연관된 서비스가 상기 제1 무선 네트워크에서 제한되는지 판단하고, 상기 데이터에 연관된 서비스가 상기 제1 무선 네트워크에서 제한되면, 상기 제1 무선 네트워크에 대한 연결을 유지하고 상기 데이터를 상기 제2 무선 통신 회로를 이용하여 상기 제2 무선 네트워크를 통하여 송신하도록 하는 명령어들(instructions)을 저장할 수 있다.
일 실시예에서, 상기 명령어들은, 상기 프로세서가, 상기 데이터에 연관된 포트(port)와 상기 서비스 제한 정보에 포함된 차단된 포트를 비교함으로써 상기 데이터에 연관된 서비스가 상기 제1 무선 네트워크에서 제한되는지 판단하도록 할 수 있다.
일 실시예에서, 상기 명령어들은, 상기 프로세서가, 지정된 값의 제어 플래그 필드(control flag field)를 포함하는 TCP 헤더(transmission control protocol header)를 포함하는 패킷을 상기 제1 무선 네트워크로 송신하고, 상기 패킷에 대한 상기 제1 무선 네트워크의 응답에 기반하여 상기 서비스 제한 정보를 획득하도록 할 수 있다.
일 실시예에서, 상기 명령어들은, 상기 프로세서가, 상기 제1 무선 네트워크에 연결되면 상기 제1 무선 네트워크에 대응하는 제1 UI(user interface)(예: 도 8의 Wi-Fi 아이콘(811) 또는 도 12의 LTE 아이콘 (1211))를 상기 디스플레이의 적어도 일부에 표시하고, 상기 데이터를 상기 제2 네트워크를 통하여 송신하는 동안, 상기 제2 무선 네트워크에 대응하는 제2 UI(예: 도 8의 LTE 아이콘(829) 또는 도 12의 Wi-Fi 아이콘 (1229))를 상기 디스플레이의 적어도 일부에 표시하도록 하는, 전자 장치.
일 실시예에서, 상기 명령어들은, 상기 프로세서가, 상기 데이터에 연관된 서비스가 상기 제1 무선 네트워크에서 제한되면, 상기 제2 무선 네트워크로의 전환을 지시하는 알림(예: 도 8의 네트워크 전환 알림(827), 도 9의 서비스 제한 알림(931), 도 9의 네트워크 전환 설정 UI(935), 또는 도 12의 네트워크 전환 알림(1227))을 상기 디스플레이의 적어도 일부에 표시하도록 하는, 전자 장치.
일 실시예에서, 상기 서비스 제한 정보는 적어도 하나의 액세스 포인트(access point)의 식별 정보 및 상기 적어도 하나의 액세스 포인트에 연관된 차단 포트 정보를 포함할 수 있다.
일 실시예에서, 상기 제1 무선 네트워크는 Wi-Fi 네트워크이고 상기 제2 무선 네트워크는 셀룰러 네트워크일 수 있다.
일 실시예에서, 상기 명령어들은, 상기 프로세서가, 상기 메모리에 저장된 복수의 어플리케이션들 중 적어도 일부의 어플리케이션 각각에 대한 네트워크 연결 정보를 저장하도록 할 수 있다.
다양한 실시예들에 따른 전자 장치의 데이터 송신 방법은, 제1 무선 통신 프로토콜을 지원하는 상기 전자 장치의 제1 무선 통신 회로를 이용하여 제1 무선 네트워크에 연결하는 동작 (예: 도 16의 동작 1605), 상기 제1 무선 네트워크에 연관된 서비스 제한 정보를 획득하는 동작 (예: 도 16의 동작 1610), 상기 서비스 제한 정보를 이용하여 데이터에 연관된 서비스가 상기 제1 무선 네트워크에서 제한되는지 판단하는 동작 (예: 도 16의 동작 1620), 상기 데이터에 연관된 서비스가 상기 제1 무선 네트워크에서 제한되면, 상기 제1 무선 네트워크에 대한 연결을 유지하고 상기 데이터를 제2 무선 통신 프로토콜을 지원하는 상기 전자 장치의 제2 무선 통신 회로를 이용하여 제2 무선 네트워크를 통하여 송신하는 동작(예: 도 16의 동작 1630)을 포함할 수 있다.
일 실시예에서, 데이터 송신 방법은 상기 데이터에 연관된 서비스가 상기 제1 무선 네트워크에서 제한되는지 판단하는 동작은, 상기 데이터에 연관된 포트(port)와 상기 서비스 제한 정보에 기반하여 차단된 포트를 비교함으로써 상기 데이터에 연관된 서비스가 상기 제1 무선 네트워크에서 제한되는지 판단하는 동작을 포함할 수 있다.
일 실시예에서, 데이터 송신 방법은 상기 제1 무선 네트워크에 연관된 서비스 제한 정보를 획득하는 동작은, 지정된 값의 제어 플래그 필드(control flag field)를 포함하는 TCP 헤더(transmission control protocol header)를 포함하는 패킷을 상기 제1 무선 네트워크로 송신하는 동작, 및 상기 패킷에 대한 상기 제1 무선 네트워크의 응답에 기반하여 상기 서비스 정보를 획득하는 동작을 포함할 수 있다.
일 실시예에서, 데이터 송신 방법은 상기 제1 무선 네트워크에 연결되면 상기 제1 무선 네트워크에 대응하는 제1 UI(user interface)를 상기 전자 장치의 디스플레이의 적어도 일부에 표시하는 동작, 및 상기 데이터를 상기 제2 네트워크를 통하여 송신하는 동안, 상기 제2 무선 네트워크에 대응하는 제2 UI를 상기 디스플레이의 적어도 일부에 표시하는 동작을 더 포함할 수 있다.
일 실시예에서, 데이터 송신 방법은 상기 데이터에 연관된 서비스가 상기 제1 무선 네트워크에서 제한되면, 상기 제2 무선 네트워크로의 전환을 지시하는 알림을 상기 디스플레이의 적어도 일부에 표시하는 동작을 더 포함할 수 있다.
일 실시예에서, 상기 서비스 제한 정보는 적어도 하나의 액세스 포인트(access point)의 식별 정보 및 상기 적어도 하나의 액세스 포인트에 연관된 차단 포트 정보를 포함할 수 있다.
일 실시예에서, 상기 제1 무선 네트워크는 Wi-Fi 네트워크이고 상기 제2 무선 네트워크는 셀룰러 네트워크일 수 있다.전자 장치에 있어서,
다양한 실시예들에 따르면, 전자 장치(예: 도 2의 전자 장치(101))는 제1 통신 프로토콜에 따라 제1 무선 네트워크와 통신하도록 설정된 제1 무선 통신 회로(예: 도 2의 제1 통신 모듈(203)), 제2 통신 프로토콜에 따라 제2 무선 네트워크와 통신하도록 설정된 제2 무선 통신 회로(예: 도 2의 제2 통신 모듈(204)), 디스플레이(예: 도 2의 디스플레이 (260)), 메모리(예: 도 2의 메모리(130)), 및 제1 무선 통신 회로, 제2 무선 통신 회로, 디스플레이, 메모리에 작동적으로(operatively)으로 연결된 프로세서(예: 도 2의 프로세서(120))를 포함할 수 있다. 예를 들어, 프로세서는, 상기 제1 무선 통신 회로를 이용하여 상기 제1 무선 네트워크에 연결하고, 상기 제1 무선 네트워크에 연결되면 상기 제1 무선 네트워크에 대응하는 제1 UI(user interface)(예: 도 8의 Wi-Fi 아이콘(811) 또는 도 12의 LTE 아이콘 (1211))를 상기 디스플레이의 적어도 일부에 표시하고, 상기 제1 무선 네트워크에 연관된 서비스 제한 정보를 이용하여 송신될 데이터에 연관된 서비스가 상기 제1 무선 네트워크에서 제한되는지 판단하고, 상기 데이터에 연관된 서비스가 상기 제1 무선 네트워크에서 제한되면, 상기 제1 무선 네트워크에 대한 연결을 유지하고 상기 데이터를 상기 제2 무선 통신 회로를 이용하여 상기 제2 무선 네트워크를 통하여 송신하고, 상기 데이터를 상기 제2 네트워크를 통하여 송신하는 동안, 상기 제2 무선 네트워크에 대응하는 제2 UI(예: 도 8의 LTE 아이콘(829) 또는 도 12의 Wi-Fi 아이콘 (1229))를 상기 디스플레이의 적어도 일부에 표시하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는, 상기 제1 데이터를 상기 제2 네트워크를 통하여 송신하는 동안, 상기 제1 UI와 상기 제2 UI를 상기 디스플레이의 적어도 일부 영역에 표시하도록 설정된, 전자 장치.
일 실시예에 따르면, 상기 프로세서는, 지정된 값의 제어 플래그 필드(control flag field)를 포함하는 TCP 헤더(transmission control protocol header)를 포함하는 패킷을 상기 제1 무선 네트워크를 송신하고, 상기 패킷에 대한 상기 제1 무선 네트워크의 응답에 기반하여 상기 서비스 제한 정보를 획득하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는, 상기 데이터에 연관된 서비스가 상기 제1 무선 네트워크에서 제한되면, 상기 제2 무선 네트워크로의 전환을 지시하는 알림을 상기 디스플레이의 적어도 일부에 표시하도록 설정될 수 있다.
일 실시예에 따르면, 상기 서비스 제한 정보는 적어도 하나의 액세스 포인트(access point)의 식별 정보 및 상기 적어도 하나의 액세스 포인트에 연관된 차단 포트 정보를 포함할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", “A 또는 B 중 적어도 하나,”"A, B 또는 C," "A, B 및 C 중 적어도 하나,”및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.