KR102330254B1 - 트래픽 제어 방법 및 그 전자 장치 - Google Patents
트래픽 제어 방법 및 그 전자 장치 Download PDFInfo
- Publication number
- KR102330254B1 KR102330254B1 KR1020170045523A KR20170045523A KR102330254B1 KR 102330254 B1 KR102330254 B1 KR 102330254B1 KR 1020170045523 A KR1020170045523 A KR 1020170045523A KR 20170045523 A KR20170045523 A KR 20170045523A KR 102330254 B1 KR102330254 B1 KR 102330254B1
- Authority
- KR
- South Korea
- Prior art keywords
- electronic device
- application
- control
- data processing
- processing rate
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01K—MEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR
- G01K13/00—Thermometers specially adapted for specific purposes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01K—MEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR
- G01K7/00—Measuring temperature based on the use of electric or magnetic elements directly sensitive to heat ; Power supply therefor, e.g. using thermoelectric elements
- G01K7/16—Measuring temperature based on the use of electric or magnetic elements directly sensitive to heat ; Power supply therefor, e.g. using thermoelectric elements using resistive elements
- G01K7/22—Measuring temperature based on the use of electric or magnetic elements directly sensitive to heat ; Power supply therefor, e.g. using thermoelectric elements using resistive elements the element being a non-linear resistance, e.g. thermistor
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01K—MEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR
- G01K7/00—Measuring temperature based on the use of electric or magnetic elements directly sensitive to heat ; Power supply therefor, e.g. using thermoelectric elements
- G01K7/42—Circuits effecting compensation of thermal inertia; Circuits for predicting the stationary value of a temperature
- G01K7/425—Thermal management of integrated systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/12—Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0215—Traffic management, e.g. flow control or congestion control based on user or device properties, e.g. MTC-capable devices
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Nonlinear Science (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
Abstract
본 발명은 일반적으로 트래픽 제어를 위한 방법 및 그 전자 장치에 관한 것으로, 전자 장치의 동작 방법은, 적어도 하나의 센서를 통해 상기 전자 장치의 온도를 측정하는 동작과, 상기 전자 장치에서 실행 중인 적어도 하나의 어플리케이션(application)의 동작 상태를 확인하는 동작과, 상기 측정된 온도가 기준 값 이상인 경우, 상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션 각각에 대한 데이터 처리율(throughput)을 제어하는 동작을 포함할 수 있다. 이 밖에 다양한 실시예가 가능하다.
Description
본 발명의 다양한 실시예들은 트래픽 제어 방법 및 그 전자 장치에 관한 것으로, 보다 구체적으로 전자 장치의 발열 상황에서 트래픽을 제어하기 위한 장치 및 방법에 관하여 개시한다.
정보 통신 기술이 발전되고 스마트폰 등의 사용이 대중화되면서, 스마트폰 등을 통해 제공되는 서비스는 사용자 중심의 어플리케이션 기반의 서비스로 변화하여 왔다. 최근에는, 오픈 소스(open source) 기반의 스마트폰이 대중화 되고 있고, 스마트폰 사용자들이 개방형 마켓 등에서 다양한 어플리케이션을 다운로드 받고 스마트폰에 설치하여 사용하고 있는 실정이다. 이러한 환경에서, 사용자가 검증되지 않은 어플리케이션을 설치할 수 있으며, 이 경우 스마트폰 성능 등에 문제를 야기할 수 있다.
이와 같이, 검증되지 않은 어플리케이션의 비정상적인 동작으로 인해 스마트폰 내부의 콤포넌트(component)의 과도한 사용을 유발할 수 있다. 그 결과, 스마트폰에서 열이 지속적으로 발생하여 사용 편의성을 감소시킬 뿐 아니라, 스마트폰의 성능 저하 및 동작 오류를 유발시킬 수 있다. 또한, 심한 경우 스마트폰의 발화에까지 이를 수 있으며, 사용자의 신체적, 재산적 손해를 유발할 수 있는 심각한 상황을 야기할 수 있다.
전자 장치는 발열로 인해 발생할 수 있는 문제 상태에 이르기 전에 발열을 낮출 필요가 있다. 전자 장치의 발열을 낮추기 위해 클럭(clock) 제어를 통해 속도를 줄이는 방법이 사용될 수 있다. 그러나, 이 경우, 클럭에 영향을 주는 칩의 동작 속도가 느려질 수 있다. 또한, 클럭 제어 방법은 특별히 발열 상황을 야기하는 어플리케이션에 대한 집중적 제어가 필요한 상황에서, 발열에 영향이 적고 FG(foreground)에서 동작되는 어플리케이션의 동작 성능에까지 영향을 미칠 수 있다. 따라서, 발열을 낮추기 위해 어플리케이션별 동작을 제어하는 방법에 대한 필요성이 증가하고 있다.
상술한 바와 같은 논의를 바탕으로, 다양한 실시예들에서는, 트래픽을 제어하기 위한 장치 및 방법을 제공할 수 있다.
다양한 실시예들에서는, 전자 장치의 온도를 모니터링 하고, 전자 장치의 온도에 따라 트래픽을 제어하기 위한 장치 및 방법을 제공할 수 있다.
다양한 실시예들에서는, 전자 장치의 발열 상태를 판단하고, 어플리케이션별 데이터 처리율을 제어하기 위한 장치 및 방법을 제공할 수 있다.
다양한 실시예들에서는, 전자 장치의 온도가 특정 값 이상인 경우, 어플리케이션의 상태에 기반하여 동작 중인 어플리케이션 각각의 데이터 처리율을 제어하기 위한 장치 및 방법을 제공할 수 있다.
다양한 실시예들에서는, 전자 장치의 발열 상황의 데이터 처리율 제어 이력에 기반하여, 동작 중인 어플리케이션 각각의 데이터 처리율을 제어하기 위한 장치 및 방법을 제공할 수 있다.
본 발명의 다양한 실시예들에 따른 전자 장치의 동작 방법은, 적어도 하나의 센서를 통해 상기 전자 장치의 온도를 측정하는 동작과, 상기 전자 장치에서 실행 중인 적어도 하나의 어플리케이션(application)의 동작 상태를 확인하는 동작과, 상기 측정된 온도가 기준 값 이상인 경우, 상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션 각각에 대한 데이터 처리율(throughput)을 제어하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예들에 따른 전자 장치는, 상기 전자 장치의 온도를 측정하는데 이용되는 적어도 하나의 센서와, 상기 전자 장치에서 실행 중인 적어도 하나의 어플리케이션의 동작 상태를 확인하고, 상기 측정된 온도가 기준 값 이상인 경우, 상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션 각각에 대한 데이터 처리율을 제어하는 적어도 하나의 프로세서(processor)를 포함할 수 있다.
다양한 실시예들에 따른 전자 장치 및 그의 동작 방법에 따르면, 전자 장치의 온도를 측정하여 발열 상태에 따라 기대 소모 전류 수준을 고려하여 전자 장치를 제어할 수 있다. 예를 들면, 다양한 실시예들에 따른 전자 장치의 발열 상태가 일정 수준 이상으로 온도를 낮출 필요가 있는 경우, 어플리케이션별로 동작 상태 및 데이터 송수신 상태를 확인하여 어플리케이션별 데이터 처리율을 제어함으로써, 타 어플리케이션에 영향을 주지 않고 발열 상태를 제어할 수 있다. 다양한 실시예들에 따르면, FG(foreground)가 아닌 BG(background)에서 동작하는 어플리케이션을 우선 제어함으로써 사용자가 체감하는 불편을 최소화하고, 소모 전류량 등을 고려하여 발열 요인이 큰 어플리케이션을 우선 제어함으로써 발열 상황을 신속하게 종료할 수 있다. 이를 통해, 다양한 실시예들에 따른 전자 장치의 성능 영향을 최소화하면서 발열 상태의 제어가 가능하도록 할 수 있다.
도 1은 본 발명의 다양한 실시예들에 따른 전자 장치를 포함하는 네트워크 환경을 도시한다.
도 2는 본 발명의 다양한 실시예들에 따른 전자 장치의 블록도를 도시한다.
도 3은 본 발명의 다양한 실시예들에 따른 프로그램 모듈의 블록도를 도시한다.
도 4는 본 발명의 다양한 실시예들에 따른 전자 장치에서 발열을 감지하여 어플리케이션별 데이터 처리율을 제어하는 동작을 도시한다.
도 5는 본 발명의 다양한 실시예들에 따른 전자 장치의 온도 발열 감지를 위한 동작의 흐름을 도시한다.
도 6은 본 발명의 다양한 실시예들에 따른 전자 장치의 어플리케이션별 상태에 따른 데이터 처리율을 결정하는 동작 방법을 도시한다.
도 7은 본 발명의 다양한 실시예들에 따른 전자 장치에서 어플리케이션별 패킷 전송의 예를 도시한다.
도 8은 본 발명의 다양한 실시예들에 따른 전자 장치에서 데이터 처리율 제어 정책을 결정하고, 어플리케이션별 제어 레벨을 결정하는 예를 도시한다.
도 9는 본 발명의 다양한 실시예들에 따른 전자 장치에서 트래픽 제어 기능 온(on)/오프(off)하는 흐름도를 도시한다.
도 10은 본 발명의 다양한 실시예들에 따른 전자 장치에서 발열 제어 이력에 따른 어플리케이션별 데이터 처리율 제어의 예를 도시한다.
도 2는 본 발명의 다양한 실시예들에 따른 전자 장치의 블록도를 도시한다.
도 3은 본 발명의 다양한 실시예들에 따른 프로그램 모듈의 블록도를 도시한다.
도 4는 본 발명의 다양한 실시예들에 따른 전자 장치에서 발열을 감지하여 어플리케이션별 데이터 처리율을 제어하는 동작을 도시한다.
도 5는 본 발명의 다양한 실시예들에 따른 전자 장치의 온도 발열 감지를 위한 동작의 흐름을 도시한다.
도 6은 본 발명의 다양한 실시예들에 따른 전자 장치의 어플리케이션별 상태에 따른 데이터 처리율을 결정하는 동작 방법을 도시한다.
도 7은 본 발명의 다양한 실시예들에 따른 전자 장치에서 어플리케이션별 패킷 전송의 예를 도시한다.
도 8은 본 발명의 다양한 실시예들에 따른 전자 장치에서 데이터 처리율 제어 정책을 결정하고, 어플리케이션별 제어 레벨을 결정하는 예를 도시한다.
도 9는 본 발명의 다양한 실시예들에 따른 전자 장치에서 트래픽 제어 기능 온(on)/오프(off)하는 흐름도를 도시한다.
도 10은 본 발명의 다양한 실시예들에 따른 전자 장치에서 발열 제어 이력에 따른 어플리케이션별 데이터 처리율 제어의 예를 도시한다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 기재된다. 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째", 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어(hardware)적 또는 소프트웨어(software)적으로 "~에 적합한", "~하는 능력을 가지는", "~하도록 변경된", "~하도록 만들어진", "~를 할 수 있는", 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU(central processing unit) 또는 AP(application processor))를 의미할 수 있다.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿(tablet) PC(personal computer), 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑(desktop) PC, 랩탑(laptop) PC, 넷북(netbook) 컴퓨터, 워크스테이션(workstation), 서버(server), PDA(personal digital assistant), PMP(portable multimedia player), MP3(MPEG-1 Audio Layer-3) 플레이어, 의료기기, 카메라, 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(HMD, head-mounted-device), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형 회로(implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토메이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 네비게이션 장치, 위성 항법 시스템(GNSS, global navigation satellite system), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치(in-vehicle infotainment device, automotive infotainment device), 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM(automated teller machine), 상점의 POS(point of sales), 또는 사물 인터넷(IoT, internet of things) 장치(예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에서, 전자 장치는 플렉서블(flexible)하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 다양한 실시예들에 따른 전자 장치를 포함하는 네트워크 환경을 도시한다.
도 1을 참조하여, 다양한 실시예들에서의, 네트워크 환경(100) 내의 전자 장치(101)가 기재된다. 전자 장치(101)는 AP(application processor)(110), CP(communication processor)(120), 통신 모듈(130), 온도 센서(temperature sensor)(140)를 포함할 수 있다. 어떤 실시예에서, 전자 장치(101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다.
AP(110)는, 예를 들면, 온도 관리 모듈(111)과 네트워크 관리 모듈(113)을 포함할 수 있다. 한 실시예에 따라, 온도 관리 모듈(111)은 온도 모니터링 모듈(341)을 포함하고, 네트워크 관리 모듈(113)은 트래픽 제어 모듈(331) 및/또는 정책 모듈(333)을 포함할 수 있다. AP(110)는 전자 장치(201)의 프로세서(210)에 포함되는 구성요소일 수 있다.
한 실시예에 따라, 온도 관리 모듈(111)은, 일정 주기별로 전자 장치(101) 내부에 배치된 적어도 하나의 온도 센서(140)를 이용하여 온도 값을 측정할 수 있다. 온도 관리 모듈(111)은, 측정된 온도 값을 이용하여 전자 장치의 표면 온도를 계산하고, 계산된 전자 장치(101)의 온도가 특정 기준 값 이상인지 판단할 수 있다. 예를 들어, 온도 관리 모듈(111)은, 전자 장치(101)의 온도가 특정 기준 값을 초과하는 경우 데이터 통신 관련 동작의 제어를 요청할 수 있다.
다른 실시예에 따라, 온도 관리 모듈(111)은, AP(110) 외부의 별도의 IC(integrated circuit)에서 온도 센서(140) 및 온도 센서 값을 판단하는 독립적인 모듈로 존재할 수 있다.
한 실시예에 따라, 네트워크 관리 모듈(113)은, 동작 중인 어플리케이션과 어플리케이션의 동작 상태 정보를 확인할 수 있다. 네트워크 관리 모듈(113)은, 동작 중인 어플리케이션의 상태 정보를 기반으로 어플리케이션별 데이터 처리율(throughput)을 결정할 수 있다. 예를 들어, 네트워크 관리 모듈(113)은 결정된 어플리케이션별 데이터 처리율에 따라 각 어플리케이션의 데이터 처리율을 제어할 수 있고, 이를 통해 전자 장치의 발열 상황을 해소할 수 있다. 또한, 네트워크 관리 모듈(113)은, 예를 들면, 어플리케이션별 제어 레벨 및 레벨에 따른 데이터 처리율 정책을 관리할 수 있다. 예를 들어, 제어 레벨 및 데이터 처리율 정책은 미리 설정되어 전자 장치(101)에 저장된 정보 일 수 있으며, 네트워크 관리 모듈(113)은 전자 장치(101)의 사용 시점, 및/또는 위치 정보 등에 따라 정책을 변경할 수 있다. 다른 실시예에 따라, 네트워크 관리 모듈(113)은 외부 서버를 통해 주기적으로 정책 정보를 수신하고, 업데이트할 수 있다.
CP(120)는, 예를 들면, 통신 모듈(130)을 제어하여 네트워크(150)에서 전달되는 데이터를 수신하고, AP(110)로부터 수신된 데이터를 네트워크(150)로 전달할 수 있다.
통신 모듈(130)은, 예를 들면, 전자 장치(101)와 외부 장치(예: 외부 전자 장치, 또는 서버) 간의 통신을 설정할 수 있다. 예를 들면, 통신 모듈(130)은 무선 통신 또는 유선 통신을 통해서 네트워크(150)에 연결되어 외부 장치와 통신할 수 있다.
무선 통신은, 예를 들면, LTE(long term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(wireless broadband), 또는 GSM(global system for mobile communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다.
한 실시예에 따르면, 무선 통신은, 예를 들면, WiFi(wireless fidelity), LiFi(light fidelity), WiGig(wireless gigabit alliance), 블루투스(Bluetooth), 블루투스 저전력(BLE, Bluetooth low energy), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(magnetic secure transmission), 라디오 프리퀀시(RF, radio frequency), 또는 보디 에어리어 네트워크(BAN, body area network) 중 적어도 하나를 포함할 수 있다.
한 실시예에 따르면, 무선 통신은 GNSS를 포함할 수 있다. GNSS는, 예를 들면, GPS(global positioning system), Glonass(global navigation satellite system), Beidou Navigation Satellite System(이하 “Beidou”) 또는 Galileo, the European global satellite-based navigation system일 수 있다. 이하, 본 문서에서는, “GPS”는 “GNSS”와 상호 호환적으로 사용될 수 있다.
유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232), 전력선 통신(power line communication), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다.
예를 들어, 통신 모듈(130)은, CP(120)의 제어를 통해 네트워크(150)와 데이터를 송수신할 수 있다.
다른 실시예들에 따라, CP(120)는 통신 모듈(130)의 구성에 포함될 수 있다. 또한, CP(120)와 통신 모듈(130)은 하나의 블록으로 동작할 수 있다.
온도 센서(140)는, 예를 들면, 전자 장치(101) 내부에 배치된 적어도 하나의 서미스터(thermistor) 회로일 수 있으며, 온도에 따라 변하는 저항 값에 의해 온도 값을 나타낼 수 있다.
네트워크(150)는 텔레커뮤니케이션 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(예: LAN(local area network) 또는 WAN(wide area network)), 인터넷, 또는 텔레폰 네트워크(telephone network) 중 적어도 하나를 포함할 수 있다.
도 2는 본 발명의 다양한 실시예들에 따른 전자 장치의 블록도를 도시한다.
전자 장치(201)는, 예를 들면, 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 포함할 수 있다. 전자 장치(201)는 하나 이상의 프로세서(210)(예: AP), 통신 모듈(220), 메모리(230), 온도 센서(240), 전력 관리 모듈(295), 배터리(296) 등을 포함할 수 있다.
다양한 실시예들에서, 전자 장치(201)는 도 2에 도시된 구성들이 필수적인 것은 아니어서, 도 2에 도시된 구성들보다 많은 구성들을 가지거나, 또는 그보다 적은 구성들을 가지는 것으로 구현될 수 있다. 예를 들어, 다양한 실시예들에 따른 전자 장치(201)는 그 종류에 따라, 어느 일부 구성요소를 포함하지 않을 수 있다. 다양한 실시예들에 따라, 전술한 전자 장치(201)의 구성들은 전자 장치(201)의 하우징(또는 베젤, 본체)에 안착되거나, 또는 그 외부에 형성될 수 있다.
프로세서(210)는, 예를 들면, 운영 체제 또는 어플리케이션 프로그램을 구동하여 프로세서(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(210)는, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시예에 따르면, 프로세서(210)는 GPU(graphic processing unit) 및/또는 이미지 시그널 프로세서(ISP, image signal processor)를 더 포함할 수 있다.
프로세서(210)는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(221))을 포함할 수도 있다. 프로세서(210)는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.
다양한 실시예들에서, 프로세서(210)는, 하나 또는 그 이상의 프로세서들(one or more processors)을 포함할 수 있다. 예를 들면, 프로세서(210)는 커뮤니케이션 프로세서(CP), 어플리케이션 프로세서(AP), 인터페이스(예: GPIO, general purpose input/output), 또는 내부 메모리 등을 별개의 구성요소로 포함하거나, 또는 하나 이상의 집적화된 회로에 집적화될 수 있다. 한 실시예에 따라, 어플리케이션 프로세서는 여러 가지의 소프트웨어 프로그램(software program)을 실행하여 전자 장치(201)를 위한 여러 기능을 수행할 수 있고, 커뮤니케이션 프로세서는 음성 통신 및 데이터 통신을 위한 처리 및 제어를 수행할 수 있다. 프로세서(210)는 메모리(230)에 저장되어 있는 특정한 소프트웨어 모듈(예: 명령어 세트(instruction set))을 실행하여 그 모듈에 대응하는 특정한 여러 가지의 기능을 수행하는 역할을 담당할 수 있다.
다양한 실시예들에서, 프로세서(210)는 전자 장치(201)의 전반적인 동작을 제어할 수 있다. 다양한 실시예들에서, 프로세서(210)는 통신 모듈(220), 전력 관리 모듈(295), 또는 온도 센서(240)등의 하드웨어적 모듈의 동작을 제어할 수 있다. 다양한 실시예들에 따라, 프로세서(210)는 전자 장치(201)의 메모리(230)와 전기적으로 연결될 수 있다.
다양한 실시예들에 따른 프로세서(210)의 처리(또는 제어) 동작은 후술하는 도면들을 참조하여 구체적으로 설명된다.
통신 모듈(220)은, 예를 들면, 도 1에 도시된 통신 모듈(130)과 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(220)은, 예를 들면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227), NFC 모듈(228) 및 RF 모듈(229)을 포함할 수 있다. 도시하지는 않았으나, 통신 모듈(220)은, 예를 들면, WiGig 모듈(미도시)을 더 포함할 수도 있다. 한 실시예에 따라, WiFi 모듈(223)과 WiGig 모듈(미도시)은 하나의 칩 형태로 통합 구현될 수도 있다.
셀룰러 모듈(221)은, 예를 들면, 통신 네트워크를 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 가입자 식별 모듈(예: SIM(subscriber identification module) 카드)(미도시)을 이용하여 통신 네트워크 내에서 전자 장치(201)의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 프로세서(210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 커뮤니케이션 프로세서(CP)를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 일부(예: 두 개 이상)는 하나의 IC(integrated chip) 또는 IC 패키지 내에 포함될 수 있다.
RF 모듈(229)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(229)은, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터, LNA(low noise amplifier), 또는 안테나(antenna) 등을 포함할 수 있다. 다른 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
WiFi 모듈(223)은, 예를 들면, 무선 인터넷 접속 및 외부 장치와 무선 랜(wireless LAN(local area network)) 링크(link)를 형성하기 위한 모듈을 나타낼 수 있다. WiFi 모듈(223)은 전자 장치(201)에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WiFi, WiGig, Wibro, WiMax(world interoperability for microwave access), HSDPA(high speed downlink packet access), 또는 mmWave(millimeter Wave) 등이 이용될 수 있다. WiFi 모듈(223)은 전자 장치(201)와 직접(direct) 연결되거나, 또는 네트워크(예: 무선 인터넷 네트워크)(예: 네트워크(150))를 통해 연결되어 있는 외부 장치와 연동하여, 전자 장치(201)의 다양한 데이터들을 외부로 전송하거나, 또는 외부로부터 수신할 수 있다. WiFi 모듈(223)은 상시 온(on) 상태를 유지하거나, 전자 장치의 설정 또는 사용자 입력에 따라 턴-온(turn-on)/턴-오프(turn-off) 될 수 있다.
블루투스 모듈(225) 및 NFC 모듈(228)은, 예를 들면, 근거리 통신(short range communication)을 수행하기 위한 근거리 통신 모듈을 나타낼 수 있다. 근거리 통신 기술로 블루투스, 저전력 블루투스(BLE), RFID(radio frequency identification), 적외선 통신(IrDA), UWB(ultra wideband), 지그비, 또는 NFC 등이 이용될 수 있다. 근거리 통신 모듈은 전자 장치(201)와 네트워크(예: 근거리 통신 네트워크)를 통해 연결되어 있는 외부 장치와 연동하여, 전자 장치(201)의 다양한 데이터들을 외부 장치로 전송하거나 수신 받을 수 있다. 근거리 통신 모듈(예: 블루투스 모듈(225) 및 NFC 모듈(228))은 상시 온 상태를 유지하거나, 전자 장치(201)의 설정 또는 사용자 입력에 따라 턴-온/턴-오프 될 수 있다.
메모리(230)는, 예를 들면, 내장 메모리(232) 또는 외장 메모리(234)를 포함할 수 있다. 내장 메모리(232)는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM(random access memory)), SRAM(synchronous RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM(read only memory)), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically EPROM), mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브(SSD, solid state drive)) 중 적어도 하나를 포함할 수 있다. 외장 메모리(234)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다. 외장 메모리(234)는 다양한 인터페이스를 통하여 전자 장치(201)와 기능적으로 또는 물리적으로 연결될 수 있다.
메모리(230)는 다양한 실시예들에서, 프로세서(210)가, 온도 센서(240)를 이용하여 전자 장치(201)의 온도를 측정하고, 발열 레벨을 결정하는 것과 관련되는 하나 또는 그 이상의 프로그램들, 데이터 또는 인스트럭션들(instructions)을 저장할 수 있다. 다양한 실시예들에 따라, 메모리(230)는, 프로세서(210)가, 전자 장치(201)의 발열 정도가 일정 수준 이상인 경우, 전자 장치(201)의 어플리케이션 상태 정보를 기반으로 어플리케이션별 데이터 처리율을 제어하는 것과 관련되는 하나 또는 그 이상의 프로그램들, 데이터 또는 인스트럭션들을 저장할 수 있다.
다양한 실시예들에 따라, 메모리(230)는 측정된 온도 값에 따른 발열 레벨, 어플리케이션 상태 정보 등에 따른 어플리케이션별 제어 레벨(예: 후술하는 [표1]의 어플리케이션별 제어 레벨 결정 테이블), 및/또는 제어 레벨에 따른 데이터 처리율 제어 동작(예: 후술하는 [표 2]의 스로틀 레벨에 따른 데이터 처리율 제어 동작)에 관한 정보 등을 저장할 수 있다.
메모리(230)는 확장 메모리(예: 외장 메모리(234)) 또는 내부 메모리(예: 내장 메모리(232))를 포함할 수 있다. 전자 장치(201)는 인터넷 상에서 메모리(230)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다.
메모리(230)는 하나 또는 그 이상의 소프트웨어(또는 소프트웨어 모듈)를 저장할 수 있다. 예를 들어, 소프트웨어 구성요소는 운영 체제(operating system) 소프트웨어 모듈, 통신 소프트웨어 모듈, 또는 하나 이상의 어플리케이션 소프트웨어 모듈 등을 포함할 수 있다. 또한 소프트웨어 구성요소인 모듈은 명령어들의 집합으로 표현할 수 있으므로, 모듈을 명령어 세트(instruction set)라고 표현하기도 한다. 모듈은 또한 프로그램으로 표현하기도 한다. 본 발명의 다양한 실시예들에서 메모리(230)는 앞서 기술한 모듈 이외에 추가적인 모듈(명령어들)을 포함할 수 있다. 또는 필요에 따라, 일부의 모듈(명령어들)을 사용하지 않을 수도 있다.
운영 체제 소프트웨어 모듈은 일반적인 시스템 동작(system operation)을 제어하는 여러 가지의 소프트웨어 구성요소를 포함할 수 있다. 이러한 일반적인 시스템 작동의 제어는, 예를 들면, 메모리 관리 및 제어, 저장 하드웨어(장치) 제어 및 관리, 또는 전력 제어 및 관리 등을 의미할 수 있다. 또한 운영 체제 소프트웨어 모듈은 여러 가지의 하드웨어(장치)와 소프트웨어 구성요소(모듈) 사이의 통신을 원활하게 하는 기능도 수행할 수 있다.
통신 소프트웨어 모듈은 통신 모듈(220) 또는 인터페이스(미도시)를 통해 웨어러블 장치, 스마트폰, 컴퓨터, 서버 또는 휴대용 단말기 등 다른 전자 장치와 통신을 가능하게 할 수 있다. 그리고, 통신 소프트웨어 모듈은 해당 통신 방식에 해당하는 프로토콜 구조로 구성될 수 있다.
어플리케이션 모듈은 렌더링 엔진(rendering engine)을 포함하는 웹브라우저(web browser), 이메일(email), 즉석 메시지(instant message), 워드 프로세싱(word processing), 키보드 에뮬레이션(keyboard emulation), 어드레스 북(address book), 터치 리스트(touch list), 위젯(widget), 디지털 저작권 관리(DRM, digital right management), 홍채 인식(iris scan), 상황 인지(context cognition), 음성 인식(voice recognition), 위치 결정 기능(position determining function), 위치 기반 서비스(location based service) 등을 포함할 수 있다. 다양한 실시예들에 따라, 어플리케이션 모듈은 헬스 케어(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(environmental information)(예: 기압, 습도, 또는 온도 정보) 제공 어플리케이션 등을 포함할 수 있다.
온도 센서(240)는, 예를 들면, 온도를 계측하여, 계측된 온도 정보를 전기 신호로 변환할 수 있다. 온도 센서(240)는, 예를 들면, 제스처 센서(gesture sensor), 자이로 센서(gyro sensor), 기압 센서(barometer sensor), 마그네틱 센서(magnetic sensor), 가속도 센서(acceleration sensor), 그립 센서(grip sensor), 근접 센서(proximity sensor), 컬러 센서(color sensor)(예: RGB(red, green, blue) 센서), 생체 센서(medical sensor), 조도 센서(illuminance sensor), 또는 UV(ultra violet) 센서 중의 적어도 하나를 포함하는 센서 모듈(미도시)에 포함될 수 있다. 한 실시예에서는, 전자 장치(201)는 프로세서(210)의 일부로서 또는 별도로, 센서 모듈을 제어하도록 구성된 프로세서(예: 저전력 프로세서, MCU(micro controller unit), MPU(micro processor unit) 등)를 더 포함하여, 프로세서(210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈을 제어할 수 있다.
전력 관리 모듈(295)은, 예를 들면, 전자 장치(201)의 전력을 관리할 수 있다. 한 실시예에 따르면, 전력 관리 모듈(295)은 PMIC(power management integrated circuit), 충전 IC, 배터리 또는 연료 게이지(fuel gauge)(또는 배터리 게이지)를 포함할 수 있다.
PMIC는 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기 공명(magnetic resonance) 방식, 자기 유도(magnetic induction) 방식 또는 전자기파(electromagnetic wave) 방식 등을 포함할 수 있다. PMIC는 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프(coil loop), 공진 회로(resonance circuit), 또는 정류기(rectifier) 등을 더 포함할 수 있다. 연료 게이지는, 예를 들면, 배터리(296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(296)는, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
다양한 실시예들에 따른 전자 장치(201)는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있는 모바일 TV 지원 장치(예: GPU)를 포함할 수 있다.
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예들에서, 전자 장치(예: 전자 장치(101, 201))는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함하거나, 또는, 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
도 3은 본 발명의 다양한 실시예들에 따른 프로그램 모듈의 블록도를 도시한다.
한 실시예에 따르면, 프로그램 모듈(310)은 전자 장치(예: 전자 장치(101, 201))에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다.
도 3을 참고하면, 프로그램 모듈(310)은 커널(320), 네트워크 관리 모듈(330)(예: 네트워크 관리 모듈(113)), 온도 관리 모듈(340)(예: 온도 관리 모듈 (111)), 및/또는 어플리케이션(350)을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 외부 전자 장치로부터 다운로드(download) 가능하다.
커널(320)은, 예를 들면, TCP(transmission control protocol) 모듈(321)을 포함할 수 있다. TCP 모듈(321)은, 예를 들며, IP(internet protocol) 프로토콜 상위에서 연결형 서비스를 지원할 수 있다.
한 실시예에 따르면, 커널(320)은 시스템 리소스 매니저, 및/또는 디바이스 드라이버를 포함할 수 있다. 시스템 리소스 매니저는 시스템 리소스의 제어, 할당, 또는 회수를 수행할 수 있다. 디바이스 드라이버는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
네트워크 관리 모듈(330)은, 예를 들면, 온도 관리 모듈(340)로부터 발열 레벨 정보를 수신하고, 동작 중인 어플리케이션의 데이터 통신 관련 동작을 확인할 수 있다. 또한, 네트워크 관리 모듈(330)은, 동작 중인 어플리케이션의 상태를 분석하여 네트워크 처리율을 제어할 수 있다.
한 실시예에 따라, 네트워크 관리 모듈(330)은, 트래픽 제어 모듈(331) 및/또는 정책 모듈(333)을 포함할 수 있다. 예를 들면, 트래픽 제어 모듈(331)은, 동작 중인 어플리케이션과 어플리케이션의 동작 상태 정보를 확인할 수 있다. 트래픽 제어 모듈(331)은, 동작 중인 어플리케이션의 상태 정보를 기반으로 어플리케이션별 데이터 처리율을 결정할 수 있다. 예를 들어, 트래픽 제어 모듈(331)은 결정된 어플리케이션별 데이터 처리율에 따라 각 어플리케이션의 데이터 처리율을 제어할 수 있고, 이를 통해 전자 장치의 발열 상황을 해소할 수 있다. 또한, 정책 모듈(333)은, 예를 들면, 어플리케이션별 제어 레벨 및 레벨에 따른 데이터 처리율 정책을 관리할 수 있다. 예를 들어, 제어 레벨 및 데이터 처리율 정책은 미리 설정되어 전자 장치(101)에 저장된 정보 일 수 있다. 다른 실시예에 따라, 정책 모듈(333)은 전자 장치(101)의 사용 시점, 및/또는 위치 정보 등에 따라 정책을 변경할 수 있다. 예를 들어, 정책 모듈(333)은 외부 서버를 통해 주기적으로 정책 정보를 수신하고, 업데이트할 수 있다.
온도 관리 모듈(340)은, 온도 모니터링 모듈(341)을 포함할 수 있다. 예를 들어, 온도 모니터링 모듈(341)은 주기적으로 온도 센서(240)를 통해 온도 값들을 측정하고, 전자 장치(201) 외부 표면의 온도를 계산할 수 있다. 온도 모니터링 모듈(341)은 또한, 계산된 온도를 기준 값과 비교하고, 발열 완화를 위해 네트워크 관리 모듈(330)로 데이터 통신 관련 동작 제어 요청을 할 수 있다.
한 실시예에 따라, 온도 모니터링 모듈(341)은, 외부의 별도의 IC에서 온도 센서(240) 및 온도 센서 값을 판단하는 독립적인 모듈로 존재할 수 있다.
어플리케이션(350)은, 예를 들면, 제1 어플리케이션(351) 및/또는 제2 어플리케이션(353)을 포함할 수 있다. 제1 어플리케이션(351) 및/또는 제2 어플리케이션(353)은, 홈, 다이얼러, SMS/MMS, IM(instant message), 브라우저, 카메라, 알람, 컨택트, 음성 다이얼, 이메일, 달력, 미디어 플레이어, 앨범, 와치 등의 어플리케이션을 포함할 수 있다. 다양한 실시예들에 따르면, 어플리케이션(350)은, 헬스 케어(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(예: 기압, 습도, 또는 온도 정보) 제공 어플리케이션 등을 포함할 수 있다.
한 실시예에 따르면, 어플리케이션(350)은 전자 장치(201)와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 노티피케이션 릴레이(notification relay) 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 노티피케이션 릴레이 어플리케이션은 전자 장치의 다른 어플리케이션에서 발생된 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온(turn-on)/턴-오프(turn-off) 또는 디스플레이의 밝기(또는, 해상도) 조절), 또는 외부 전자 장치에서 동작하는 어플리케이션을 설치, 삭제, 또는 갱신할 수 있다.
한 실시예에 따르면, 어플리케이션(350)은 외부 전자 장치의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다.
한 실시예에 따르면, 어플리케이션(350)은 외부 전자 장치로부터 수신된 어플리케이션을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어(예: 프로세서(210)), 또는 이들 중 적어도 둘 이상의 조합으로 구현(예: 실행)될 수 있으며, 하나 이상의 기능을 수행하기 위한 모듈, 프로그램, 루틴, 명령어 세트 또는 프로세스를 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛(unit)을 포함하며, 예를 들면, 로직(logic), 논리 블록(logic block), 부품(component), 또는 회로(circuit) 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다.
다양한 실시예들에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예: 도 2의 메모리(230))에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 도 1의 AP(110) 또는 도 2의 프로세서(210))에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical recording media)(예: CD-ROM(compact disc read only memory), DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터(interpreter)에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시예들에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다.
다양한 실시예들에 따르면, 기록 매체는, 후술되는 다양한 방법을 프로세서(110, 210)에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 포함할 수 있다.
다양한 실시예들에 따른, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
다양한 실시예들에 따른 전자 장치(101, 201)는, 전자 장치(101, 201)의 온도를 측정하는데 이용되는 적어도 하나의 센서(140, 240)와, 상기 전자 장치(101, 201)에서 실행 중인 적어도 하나의 어플리케이션의 동작 상태를 확인하고, 상기 측정된 온도가 기준 값 이상인 경우, 상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션 각각에 대한 데이터 처리율을 제어하는 적어도 하나의 프로세서(processor)(110, 210)를 포함할 수 있다.
일 실시예에 따라, 상기 적어도 하나의 어플리케이션의 동작 상태는, 상기 적어도 하나의 어플리케이션의 자원 사용율, FG 또는 BG 동작 여부, 누적 송수신 데이터 양, 소모 전류량, 및 상기 전자 장치(101, 201)가 접속 중인 RAT의 종류 중 적어도 하나의 인자를 포함할 수 있다.
일 실시예에 따라, 상기 적어도 하나의 어플리케이션의 소모 전류량은, 상기 적어도 하나의 어플리케이션이 단위 시간당 발생시킨 패킷 수와 상기 전자 장치(101, 201)의 단위 시간당 소모 전류량에 기반하여 산출될 수 있다.
일 실시예에 따라, 상기 적어도 하나의 프로세서(110, 210)는, 상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션 각각에 대한 데이터 처리율 제어 레벨을 결정하고, 데이터 처리율 정책에 따라, 상기 제어 레벨에 대응하는 데이터 처리율을 결정하고, 상기 결정된 데이터 처리율에 따라, 상기 적어도 하나의 어플리케이션 각각에 대한 송수신 트래픽을 제어할 수 있다.
일 실시예에 따라, 상기 데이터 처리율 정책은, 미리 설정되어 상기 전자 장치(101, 201)에 저장되거나, 외부 장치로부터 주기적으로 업데이트 되는 정보일 수 있고, 상기 측정된 전자 장치(101, 201)의 상태는, 상기 전자 장치(101, 201)의 사용 시점 정보 및 상기 전자 장치(101, 201)의 사용 위치 정보 중 적어도 하나의 정보를 포함할 수 있다.
일 실시예에 따라, 상기 적어도 하나의 프로세서(110, 210)는, 전자 장치(101, 201)의 상태를 측정하고, 상기 측정된 전자 장치(101, 201)의 상태에 기반하여, 상기 데이터 처리율 정책을 결정할 수 있다.
일 실시예에 따라, 상기 적어도 하나의 프로세서(110, 210)는, 상기 결정된 데이터 처리율 정책에 기반하여, 상기 제어 레벨에 대응하는 데이터 처리율을 결정할 수 있다.
일 실시예에 따라, 상기 적어도 하나의 어플리케이션 각각에 대한 데이터 처리율 제어 이력을 저장하는 메모리(230)를 더 포함하고, 상기 적어도 하나의 프로세서(110, 210)는, 상기 전자 장치(101, 201)의 온도가 다시 기준 값 이상이 되는 경우, 상기 저장된 데이터 처리율 제어 이력에 기반하여, 실행 중인 어플리케이션 각각에 대한 데이터 처리율을 제어할 수 있다.
일 실시예에 따라, 상기 적어도 하나의 프로세서(110, 210)는, 상기 측정된 온도와 기준 값을 비교하고, 상기 전자 장치(101, 201)의 발열 레벨을 결정하고, 상기 발열 레벨이 미리 설정된 기준 이상인 경우, 상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션 각각에 대한 데이터 처리율을 제어할 수 있다.
다양한 실시예들에 따르면, 전자 장치에서 온도의 변화에 따른 발열을 감지하고, 그에 따라 어플리케이션별 데이터 처리율을 제어하는 전자 장치의 동작은 도 4 내지 도 10과 같이 수행될 수 있다. 설명의 편의상 도 4 내지 도 10의 구성 및 동작들은 전자 장치(101)에 관한 구성 및 동작으로 설명하나, 본 발명의 범위는 이에 한정되지 않는다.
도 4는 본 발명의 다양한 실시예들에 따른 전자 장치에서 발열을 감지하여 어플리케이션별 데이터 처리율을 제어하는 동작을 도시한다. 예를 들어, 도 4의 동작들은 전자 장치(101)(예:프로세서(210))의 동작들을 예시할 수 있다.
도 4를 참고하면, 동작 401에서, 다양한 실시예에 따른 전자 장치(101)는 온도를 모니터링할 수 있다. 예를 들어, 전자 장치(101)는 미리 정해진 주기 또는 특정한 조건이 만족되는 경우 전자 장치(101)의 적어도 하나의 센서를 이용하여 온도를 측정하고, 기준 온도와 비교할 수 있다. 한 실시예에 따라, 전자 장치(101)는 주기별 또는 조건별로 적어도 하나의 온도 센서(140)를 이용하여 전자 장치(101)의 온도 값들을 측정할 수 있다. 전자 장치(101)는 측정된 온도 값들로부터 전자 장치(101) 표면 온도를 계산하고, 계산된 표면 온도가 기준 값을 초과하는지 판단할 수 있다.
동작 403에서, 다양한 실시예에 따른 전자 장치(101)는 어플리케이션별 데이터 처리율을 결정할 수 있다. 예를 들어, 전자 장치(101)는 동작 중인 적어도 하나의 어플리케이션 및 어플리케이션의 동작 상태 등을 확인하고, 그에 따라 전자 장치(101)는 어플리케이션별로 데이터 처리율을 결정할 수 있다. 한 실시예에 따라, 전자 장치(101)는 적어도 하나의 어플리케이션의 동작 및 상태를 확인 하고, 동작 중인 어플리케이션별로 데이터 처리율 제어 레벨을 결정할 수 있다. 이 때, 전자 장치(101)의 모든 어플리케이션을 확인하는 것이 아닌, 미리 설정된 일정한 조건을 만족하는 어플리케이션에 대해 확인할 수 있다. 예를 들어, 전자 장치(101)는 현재 동작 중인 어플리케이션의 상태가 FG(foreground)에서 동작 중인 상태인지 확인하거나, 현재 데이터 세션(session)이 유지된 상태인 어플리케이션만을 대상으로 할 수 있다.
동작 405에서, 다양한 실시예에 따른 전자 장치(101)는 어플리케이션별 데이터 처리율을 제어할 수 있다. 예를 들어, 전자 장치(101)는 동작 403에서 결정된 데이터 처리율에 따라 어플리케이션별로 데이터 처리율을 제어할 수 있다. 한 실시예에 따라, 전자 장치(101)는 어플리케이션별로 결정된 제어 레벨에 대응되는 데이터 처리율을 확인하고, 어플리케이션별로 데이터 처리율을 변경할 수 있다.
도 4를 참고하여 설명한 실시예에 따라, 전자 장치(101)는 어플리케이션별로 데이터 처리율을 제어함으로써, 발열 상황에 대응할 수 있다. 도 4의 실시예에 다르면, 전자 장치(101)는 어플리케이션의 동작 상태를 고려할 수 있다. 다른 실시예에 따라, 전자 장치(101)는 무선 접속 기술(radio access technology, RAT)을 더 고려할 수 있다. 예를 들어, 전자 장치(101)는 RAT에 따라 어플리케이션별 데이터 처리율을 결정할 수 있다. 예를 들어, 신규 RAT으로 접속한 전자 장치(101)는, 기존 레거시(legacy) 통신 방식을 사용하는 경우에 비해 발열 정도가 심할 수 있다. 따라서, 신규 RAT으로 접속한 전자 장치(101)는 어플리케이션별 데이터 처리율을 레거시 통신 방식보다 낮게 제어하여 발열상태를 제어할 수 있다. 다른 실시예에 따라, 레거시와 신규 RAT이 혼재된 환경에서, 데이터 통신을 위해 신규 RAT 접속이 필요한 어플리케이션이거나, 신규 RAT 전용 어플리케이션인지 여부에 따라, 전자 장치(101)는 해당 어플리케이션의 데이터 처리율 제어 레벨을 달리 설정할 수 있다. 예를 들어, 레거시 통신 방식은 4G(4th generation)의 LTE 통신 방식을 포함할 수 있고, 신규 RAT은 5G(5th generation) 통신 방식을 포함할 수 있다.
도 5는 본 발명의 다양한 실시예들에 따른 전자 장치의 온도 발열 감지를 위한 동작의 흐름을 도시한다. 예를 들어, 도 5의 동작들은 전자 장치(101) (예:프로세서(210))의 동작들을 예시할 수 있다. 전자 장치(101)는 도 4의 동작 401에서 온도 모니터링을 하는 경우, 이하 설명과 같은 구체적인 동작들을 수행할 수 있다.
도 5를 참고하면, 동작 501에서, 다양한 실시예에 따른 전자 장치(101)는 온도 센서를 이용하여 전자 장치의 온도를 측정할 수 있다. 예를 들어, 전자 장치(101)는 적어도 하나의 온도 센서를 이용하여 전자 장치(101)의 온도를 측정할 수 있으며, 이 때, 전자 장치(101)는 미리 정해진 주기 또는 특정한 조건이 만족되는 경우 온도를 측정할 수 있다. 한 실시예에 따라, 전자 장치(101)의 온도 관리 모듈(340)은 주기별 또는 조건별로 적어도 하나의 온도 센서(140)를 이용하여 전자 장치의 온도 값들을 측정할 수 있다. 온도 관리 모듈(340)은 측정된 온도 값들로부터 전자 장치 표면 온도를 계산할 수 있다.
동작 503에서, 다양한 실시예에 따른 전자 장치(101)는 측정된 온도가 기준 값을 초과하는지 판단할 수 있다. 예를 들어, 전자 장치(101)는 동작 501에서 계산된 표면 온도가 미리 결정된 기준 값을 초과하는 지 판단할 수 있다. 한 실시예에 따라, 전자 장치(101)는 측정된 온도 값을 복수의 기준 값과 비교하여 복수의 발열 레벨 중 하나로 구분할 수 있다. 예를 들어, 레벨 1은 초기 발열 단계를 나타내고, 레벨 2는 위험 발열 단계로 구분될 수 있다. 한 실시예에 따르면, 발열 레벨 단계에 따라, 레벨 1에서 전자 장치(101)는 별도의 발열 제어 동작을 수행하지 않을 수 있다. 다른 실시에 따라, 전자 장치(101)는 레벨 1에서, 불필요한 데이터 송수신을 유발하는 세션이 있는 경우 이를 정리하는 방법으로 초기 발열 제어를 도모할 수 있다. 전자 장치(101)는 레벨 2 이상인 경우 어플리케이션별 데이터 처리율 제어를 요청할 수 있다. 전자 장치(101)는, 일 실시예에서, 동작 503에서 측정된 온도가 기준 값을 초과하는 것으로 판단되는 경우 동작 505를 수행할 수 있다. 다른 실시예에서, 전자 장치(101)는 동작 503에서 측정된 온도가 기준 값 이하인 것으로 판단되는 경우, 동작 501로 돌아가 주기적인 온도 측정을 반복할 수 있다.
동작 505에서, 다양한 실시예에 따른 전자 장치(101)는 동작 중인 어플리케이션별 데이터 처리율 제어 요청을 할 수 있다. 예를 들어, 전자 장치(101)는 동작 503에서 측정된 온도가 기준 값을 초과하는 것으로 판단된 경우, 동작 중인 어플리케이션 데이터 처리율 제어를 요청할 수 있다. 한 실시예에 따라, 온도 관리 모듈(340)은 측정된 온도가 기준 값을 초과하는 것으로 판단한 경우, 네트워크 관리 모듈(330)로 어플리케이션별 데이터 트래픽 제어를 요청할 수 있다.
도 6은 본 발명의 다양한 실시예들에 따른 전자 장치의 어플리케이션별 상태에 따른 데이터 처리율을 결정하는 동작 방법을 도시한다. 예를 들어, 도 6의 동작들은 전자 장치(101)(예:프로세서(210))의 동작들을 예시할 수 있다. 전자 장치(101)는 도 4의 동작 403에서 어플리케이션별 데이터 처리율을 결정하는 경우, 이하 설명과 같은 구체적인 동작들을 수행할 수 있다.
도 6을 참고하면, 동작 601에서, 다양한 실시예에 따른 전자 장치(101)는 적어도 하나의 어플리케이션의 동작 및 상태를 확인할 수 있다. 예를 들어, 전자 장치(101)는 현재 동작 중인 적어도 하나의 어플리케이션을 확인하고, 어플리케이션의 동작 상태를 확인할 수 있다. 한 실시예에 따라, 전자 장치(101)의 네트워크 관리 모듈(330)은 현재 동작 중인 어플리케이션의 데이터 통신 관련 동작이 있는지 확인할 수 있다. 예를 들어, 네트워크 관리 모듈(330)은 어플리케이션의 통신 프로토콜이 오픈(open)되어 있는지, 세션이 유지된 상태인지, 또는, 최근 송/수신한 데이터의 크기가 일정 수준 이상인지 등을 판단할 수 있다. 이를 통해 네트워크 관리 모듈(330)은 동작 중인 어플리케이션의 데이터 통신 관련 동작이 있는지 판단할 수 있다. 예를 들어, 전자 장치(101)는 현재 동작 중인 적어도 하나의 어플리케이션별 CPU 점유율, FG/BG(background) 동작 정보, 또는, 누적 송수신 데이터 등의 인자 값의 상태 정보를 수집할 수 있다. 다른 실시예에 따라, 전자 장치는 현재 접속 중인 RAT이 기존 레거시 통신 방식인지, 신규 RAT인지 확인할 수 있다. 일 실시예에 따르면, 전자 장치(101)의 모든 어플리케이션에 대한 상태를 확인하는 것이 아닌, 미리 설정된 일정한 조건을 만족하는 어플리케이션에 대한 상태만을 확인할 수 있다. 예를 들어, 전자 장치(101)는 현재 데이터 세션(session)이 유지된 상태인 어플리케이션만을 대상으로 하거나, 누적 송수신 데이터 양이 일정 기준 값 이상인 경우인 어플리케이션만을 대상으로 할 수 있다. 예를 들어, 전자 장치(101)는 주기적으로 어플리케이션별 상태 정보를 모니터링할 수 있다.
동작 603에서, 다양한 실시예에 따른 전자 장치(101)는 어플리케이션의 상태 정보에 기반하여, 동작 중인 어플리케이션별 데이터 처리율 제어 레벨을 결정할 수 있다. 예를 들어, 전자 장치(101)는 동작 601에서 수집된 어플리케이션 상태 정보에 기반하여, 동작 중인 어플리케이션별 제어 레벨을 결정할 수 있고, 이에 따라 어플리케이션별 데이터 처리율을 제어할 수 있다.
한 실시예에 따라, 네트워크 관리 모듈(330)은 동작 601에서 수집된 어플리케이션별 CPU 점유율, FG/BG 동작 정보, 또는, 누적 송수신 데이터 등의 인자에 기반하여 어플리케이션별 데이터 처리율 제어 레벨을 결정할 수 있다. 다른 실시예에 따라, 네트워크 관리 모듈(330)은 어플리케이션별 누적 송수신 데이터를 기반으로 어플리케이션별 실행 시점에서의 누적 소모 전류량을 계산할 수 있고, 어플리케이션별 누적 소모 전류량을 고려하여 데이터 처리율 제어 레벨을 결정할 수 있다. 예를 들어, 전자 장치(101)는 어플리케이션별 무선 점유 시간(radio active time)을 기반으로 소모 전류량을 추정할 수 있다. 어플리케이션별 소모 전류량의 계산은 도 7과 같은 일정 시간 동안 어플리케이션별 패킷 송수신 수에 기반하여 계산될 수 있다. 도 7을 참고하면, 전자 장치(101)는 t1 시점부터 t2 시점까지 어플리케이션별 패킷 발생 수를 확인할 수 있다. 예를 들어, t1 시점부터 t2 시점까지 발생한 총 패킷 수는 10개이며, 어플리케이션 A에 대해 발생한 패킷 수는 6, 어플리케이션 B에 대해 발생한 패킷 수는 4로 확인될 수 있다. 일 실시예에서, 특정 시간 동안 발생한 패킷 수 비율에 따라 무선 점유 시간의 비율은 <수학식 1>과 같이 계산될 수 있다.
t1과 t2는 발생된 패킷 수를 산정하는 시간 구간의 시작 시점과 종료 시점을 의미할 수 있다. 예를 들어, (t2 - t1)이 60초인 경우, 어플리케이션 A의 무선 점유 시간은 60s * 6/10 = 36s로 계산될 수 있다. 이 때, 어플리케이션 B의 무선 점유 시간은 60s * 4/10 = 24s로 계산될 수 있다. 시간당 소모 전류량이 총 150mA인 경우, 어플리케이션 A의 소모 전류량은 150mA * 36/(60*60) = 1.5mA, 어플리케이션 B의 소모 전류량은 150mA * 24/(60*60) = 1mA로 계산될 수 있다.
다른 실시예에 따라, 어플리케이션별 무선 패킷 사용량을 기반으로 소모 전류량을 산출할 수 있다. 예를 들어, 전자 장치(101)는 <수학식 2>와 같이 WiFi 패킷 사용량을 기반으로 소모 전류량을 결정할 수 있다.
RX packet은 어플리케이션이 수신한 패킷 수를 의미하고, TX packet은 어플리케이션이 전송한 패킷 수를 의미할 수 있다. PacektPowerconsumption은 패킷별 소모되는 전류량을 의미할 수 있다. 일 실시예에서, 전자 장치(101)는 <수학식 2>를 이용하여 패킷별 소모 전류량에 따라 어플리케이션의 패킷 발생 수에 따른 소모 전류량을 계산할 수 있다.
한 실시예에 따라, 누적 패킷 송수신량을 추측하는 방법 이외에도, 소모 전류량의 계산은 PMIC에 의한 전류 감지(current sensing)를 통해 이루어질 수 있다. 예를 들어, 전력 관리 모듈(295)은 통신 모듈(220)을 일정 주기별로 전류 감지하여 소모 전류량 정보를 획득할 수 있다.
상술한 <수학식 1> 및 <수학식 2>는 무선 점유 시간의 비율 및 소모 전류량을 산출하는 일 실시예일 수 있으며, 어플리케이션별 무선 점유 시간의 비율 및 소모 전류량은 다른 수학식 또는 알고리즘에 의해 산출될 수 있다.
한 실시예에 따라, 상술한 인자들을 이용하여 어플리케이션별 제어 레벨을 결정하는 테이블은 [표 1]과 같이 결정될 수 있다.
APP | CPU 점유율 | FG /BG | Downlink /Uplink | Power Consumption | Throttling Level |
#1 | 20 | FG | 1G/0.2G | 500mA | Level 1 |
#2 | 5 | BG | 0.2G/0.1G | 300mA | Level 2 |
#3 | 5 | BG | 0.5G/0.1G | 200mA |
[표 1]은 세 개의 동작 중인 어플리케이션의 CPU 점유율, FG/BG 동작 상태, 누적 송수신 데이터 양 및 소모 전류량 정보를 포함할 수 있다. 일 실시예에서, 전자 장치(101)는 [표 1]과 같은 어플리케이션별 상태 정보 정보를 기반으로, 미리 정의된 기준에 따라 데이터 처리율 제어 레벨인 스로틀 레벨(throttling level)을 결정할 수 있다. 예를 들어, 전자 장치(101)는 [표 1]에 포함된 CPU 점유율, FG/BG 동작 상태, 누적 송수신 데이터 양 및 소모 전류량 인자 값 중 기준 개수(예: 3가지) 이상이 일정 기준을 초과하는 경우 스로틀 레벨 1로 설정할 수 있다. 다른 예를 들어, 전자 장치(101)는 상술한 인자 중 기준 개수 (예: 3가지) 미만을 만족하는 경우(예: 2가지 또는 1가지), 만족하는 개수에 대응하는 스로틀 레벨로 설정할 수 있다. 예를 들어, 전자 장치(101)는 2가지 인자를 만족하는 경우 스로틀 레벨 2로 설정할 수 있다. 또는, 1 가지 이하의 인자만 만족하는 경우 데이터 처리율을 제어하지 않도록 스로틀 레벨을 정하지 않을 수 있다. 다른 실시예에 따라, 데이터 처리율 제어 레벨은 반드시 상술한 3가지 레벨에 한정되는 것은 아니며, 전자 장치(101)의 상태 정보 및/또는 미리 설정된 기준에 기반하여 적어도 하나 이상의 레벨로 설정될 수 있다.
다른 실시예들에 따라, 전자 장치(101)는 상술한 인자들 중 우선 순위를 설정하고, 해당 인자들의 값이 조건을 만족하는 경우 스로틀 레벨을 낮게 설정하여 데이터 처리율을 낮게 제어할 수 있다. 예를 들어, 전자 장치(101)는 BG에서 동작하는 어플리케이션과 소모 전류량이 높은 값이 대해 스로틀 레벨을 더 낮게 설정할 수 있다. 스로틀 레벨을 판단하는 기준은 미리 설정되어 전자 장치(101)(예: 메모리(230))에 저장되거나, 외부 장치에 의해 원격으로 제어될 수 있다.
다른 실시예들에 따라, 전자 장치(101)는 접속된 RAT에 따라 어플리케이션별 데이터 처리율을 결정할 수 있다. 예를 들어, 신규 RAT으로 접속한 전자 장치(101)는 기존 레거시 통신 방식에 비해 대용량의 데이터를 빠르게 전송할 수 있으므로, 발열 속도가 빠르게 증가할 수 있다. 따라서, 신규 RAT으로 접속한 전자 장치(101)는 어플리케이션별 데이터 처리율을 레거시 통신 방식보다 낮게 제어하여 발열 상태를 제어할 수 있다. 일 실시예에 따라, 전자 장치(101)가 신규 RAT에 접속한 경우, 전자 장치(101)는 레거시 통신 방식보다 스로틀 레벨을 1등급 이상 낮게 설정할 수 있다. 다른 실시예에 따라, 레거시와 신규 RAT이 혼재된 환경에서, 데이터 통신을 위해 신규 RAT 접속이 필요한 어플리케이션이거나, 신규 RAT 전용 어플리케이션인지 여부에 따라, 전자 장치(101)는 해당 어플리케이션의 스로틀 레벨을 1등급 이상 낮게 설정할 수 있다. 이를 통해, 전자 장치(101)는 신규 RAT을 통한 어플리케이션별 데이터 처리율을 더 낮게 제어할 수 있다. 예를 들어, 레거시 통신 방식은 4G의 LTE 통신 방식을 포함할 수 있고, 신규 RAT은 5G 통신 방식을 포함할 수 있다.
한 실시예에 따라, 전자 장치(101)의 네트워크 관리 모듈(330)에서 결정된 스로틀 레벨에 따른 데이터 처리율 제어 동작은 [표 2]와 같이 정의될 수 있다.
Level | Throttling |
Level 1 | 50% Download / 50% Upload |
Level 2 | 30% Download / 30% Upload |
Level 3 | 20% Download / 20% Upload |
[표 2]를 참고하면, 레벨 1의 경우 현재 데이터 다운로드/업로드 처리율을 50% 정도로 낮춰서 데이터 송수신을 제한할 것을 지시하며, 레벨 2의 경우 현재 데이터 다운로드/업로드 처리율을 30% 정도로 낮춰서 데이터 송수신을 제한할 것을, 레벨 3의 경우 20% 정도로 제한할 것을 지시할 수 있다. 다른 실시예에 따라, 같은 레벨에서 다운로드 및 업로드 처리율이 서로 다른 값을 가지도록 설정될 수 있다.
한 실시예에 따라, 어플리케이션별 상태에 따라 스로틀 레벨을 결정하고, 레벨에 따른 데이터 처리율 제어 동작의 내용은 제어 정책에 포함될 수 있다. 예를 들어, 전자 장치(101)의 정책 모듈(415)이 상기 제어 정책을 관리할 수 있다. 제어 정책은 전자 장치(101)에서 미리 설정된 것이거나, 외부 서버를 통해 주기적 혹은 조건에 따라 업데이트 될 수 있다.
상술한 어플리케이션별 제어 레벨에 관한 [표 1] 및 데이터 처리율 제어 동작에 관한 [표 2]는 일 실시예에 따른 것으로, 어플리케이션별 제어 레벨의 결정 및 제어 레벨에 따른 데이터 처리율 제어 동작은 [표 1] 및 [표 2]에 포함된 구성 이외에 다른 구성을 포함하거나 다른 형태로 정의될 수 있다.
한 실시예에 따라, 어플리케이션 상태에 따라 데이터 처리율을 제어한 경우 소모 전류의 감소에 관한 실험 결과는 [표 3]과 같이 나타날 수 있다. 예를 들어, 다운로드 실험을 위해 4shared 어플리케이션을 이용할 수 있다. 실험 방법은, 발열이 없는 상태에서 10분간 총 1.4GB 크기의 데이터 4개를 다운로드 시도하는 방법으로 실시 할 수 있다. 예를 들어, [표 3]의 실험 결과는, 데이터 처리율 제한이 없어 트래픽 제어 기능을 오프 시킨 상태에서 속도가 45 내지 50Mbps 정도이고, 10Mbps 단위로 처리율을 제어해 가면서 진행한 실험 결과일 수 있다.
T/P 제한 | 소모 전류(mA) | 10분간 다운로드 데이터 크기 |
제한 없음 | 497 | 2071MB |
40Mbps | 465 | 2375MB |
30Mbps | 455 | 2071MB |
20Mbps | 399 | 1256MB |
10Mbps | 365 | 665MB |
[표 3]을 참고하면, 10Mbps 단위로 처리율을 제어한 결과 선형적이지는 않지만 단계적으로 소모 전류가 감소한 것을 확인할 수 있다. [표 3]의 실험 결과의 예시와 같이, 처리율 제한에 따라 단위 시간 내에 받는 데이터 크기가 줄어드는 것을 확인할 수 있으나, 이러한 결과는 소모 전류를 줄이기 위해 의도된 결과일 수 있다. 소모 전류가 감소되는 것은 발열 인자가 감소되는 것을 의미하므로, [표 3] 의 실험 결과의 예시와 같이, 본 발명에서 제시하는 어플리케이션별 데이터 처리율의 제어를 통해 발열 상황이 제어될 수 있다.
도 8은 본 발명의 다양한 실시예들에 따른 전자 장치에서 데이터 처리율 제어 정책을 결정하고, 어플리케이션별 제어 레벨을 결정하는 예를 도시한다. 예를 들어, 도 8의 동작들은 전자 장치(101)(예:프로세서(210))의 동작들을 예시할 수 있다. 전자 장치(101)는 도 6의 동작 603에서 동작 중인 어플리케이션별 데이터 처리율 제어 레벨을 결정하는 경우, 이하 설명과 같은 구체적인 동작들을 수행할 수 있다.
도 8을 참고하면, 동작 801에서, 다양한 실시예에 따른 전자 장치(101)는 전자 장치(101)의 상태 정보에 기반하여 데이터 처리율 제어 정책을 결정할 수 있다. 예를 들어, 전자 장치(101)는 전자 장치(101)의 상태 정보에 따라서 스로틀 레벨 및 레벨에 따른 데이터 처리율 제어 동작에 관한 정책을 결정할 수 있다. 예를 들어, 네트워크 관리 모듈(330)은 전자 장치(101)의 사용 시점(예: 여름, 겨울 등), 및/또는 전자 장치(101)의 위치 정보(예: 위도 정보에 따른 추운 나라, 더운 나라 등)에 따라서 정책을 변경할 수 있다. 다른 실시예에 따라, 네트워크 관리 모듈(330)은 전자 장치(101)가 접속한 RAT의 종류에 따라서 정책을 변경할 수 있다.
일 실시예에서, 전자 장치(101)는 전자 장치(101)(예: 메모리(230))에 저장된 정책을 업데이트 하거나, 외부 서버를 통해 주기적 또는 조건에 맞는 경우 정책을 업데이트할 수 있다. 다른 실시예들에 따라, 전자 장치(101)는 동작 801을 생략하고 동작 803을 수행할 수 있다.
동작 803에서, 다양한 실시예에 따른 전자 장치(101)는 제어 정책에 기반하여 동작 중인 어플리케이션별 데이터 처리율 제어 레벨을 결정할 수 있다. 예를 들어, 전자 장치(101)는 수집된 어플리케이션 상태 정보와 전자 장치(101)에 저장되어 있거나, 동작 801에서 결정된 제어 정책에 기반하여, 동작 중인 어플리케이션별 제어 레벨을 결정할 수 있고, 이에 따라, 전자 장치(101)는 어플리케이션별 데이터 처리율을 제어할 수 있다. 한 실시예에 따라, 전자 장치(101)는 어플리케이션별 CPU 점유율, FG/BG 동작 정보, 누적 송수신 데이터, 어플리케이션별 소모 전류량, 및/또는 접속된 RAT의 종류 등의 인자를 스로틀 레벨을 결정하는 정책에 따라 기준 값과 비교하여 어플리케이션별 데이터 처리율 제어 레벨을 결정할 수 있다.
한 실시예에 따라, 스로틀 레벨에 따른 데이터 처리율 제어 동작에 관하여 업데이트 된 정책은 상술한 [표 2]와 같은 내용을 포함할 수 있으며, 전자 장치(101)는 업데이트된 정책에 기반하여 어플리케이션별 데이터 처리율을 제어할 수 있다.
도 9는 본 발명의 다양한 실시예들에 따른 전자 장치에서 트래픽 제어 기능 온(on)/오프(off)하는 흐름도를 도시한다. 예를 들어, 도 9의 동작들은 전자 장치(101)(예:프로세서(210))의 동작들을 예시할 수 있다. 전자 장치(101)는 도 4의 동작 401에서 어플리케이션별 데이터 처리율을 제어하는 경우, 이하 설명과 같은 구체적인 동작들을 수행할 수 있다.
도 9를 참고하면, 동작 901에서, 다양한 실시예에 따른 전자 장치(101)는 어플리케이션 제어 레벨을 확인할 수 있다. 예를 들어, 전자 장치(101)는 트래픽 제어를 위해, 어플리케이션별로 결정된 데이터 처리율 제어 레벨 및 이에 대응하는 데이터 처리율을 확인할 수 있다.
동작 903에서, 다양한 실시예에 따른 전자 장치(101)는 트래픽 제어가 필요한지 판단할 수 있다. 예를 들어, 전자 장치(101)는 동작 901에서 각 어플리케이션의 데이터 처리율 제어 레벨에 따라 트래픽 제어가 필요한지 판단할 수 있다. 한 실시예에 따라, 전자 장치(101)는 각 어플리케이션의 제어 레벨이 레벨 1 내지 레벨 3 중 어느 하나로 결정되면 트래픽 제어가 필요하다고 판단할 수 있고, 결정된 어플리케이션 제어 레벨이 없는 경우 트래픽 제어가 필요하지 않은 것으로 판단할 수 있다. 일 실시예에서, 전자 장치(101)는 어플리케이션 제어 레벨에 의해 트래픽 제어가 필요하지 않은 것으로 판단되는 경우, 동작 905를 수행할 수 있다. 다른 실시예에서, 전자 장치(101)는 어플리케이션 제어 레벨에 의해 트래픽 제어가 필요하다고 판단되는 경우, 동작 907을 수행할 수 있다.
트래픽 제어가 필요하지 않은 것으로 판단된 경우, 동작 905에서, 다양한 실시예에 따른 전자 장치(101)는 발열 상황이 해제 되었는지 판단한다. 예를 들어, 전자 장치(101)는 동작 903에서 어플리케이션 제어 레벨에 의해 트래픽 제어가 필요하지 않은 것으로 판단된 경우, 현재 전자 장치(101)의 표면 온도가 미리 설정된 기준에 못 미쳐 발열 상황이 해제된 것인지 판단할 수 있다. 전자 장치(101)는 동작 중인 어플리케이션 데이터 처리율 제어를 요청할 수 있다. 한 실시예에 따라, 온도 관리 모듈(340)이 측정된 온도가 기준 값을 초과하는 것으로 판단한 경우, 온도 관리 모듈(340)은 네트워크 관리 모듈(330)로 어플리케이션별 데이터 트래픽 제어를 요청할 수 있다. 전자 장치는 발열 상황이 해제된 것으로 판단되는 경우, 동작 909를 수행할 수 있다. 전자 장치(101)는 발열이 계속되는 상황이더라도 어플리케이션의 제어 레벨 결정에 따라 트래픽 제어가 필요하지 않은 경우에도 동작 909를 수행할 수 있다. 일 실시예에서, 전자 장치(101)는 발열 상황이 해제되지 않은 것으로 판단되는 경우, 본 동작들을 종료할 수 있다.
트래픽 제어가 필요한 것으로 판단된 경우, 동작 907에서, 다양한 실시예에 따른 전자 장치(101)는 결정된 데이터 처리율에 따라 트래픽 제어 기능을 온 시킬 수 있다. 예를 들어, 전자 장치(101)는 동작 901에서 확인된 어플리케이션 제어 레벨에 대응하는 데이터 처리율에 따라 트래픽 제어가 되도록 기능을 온 시킬 수 있다. 한 실시예에 따라, 전자 장치(101)는 커널(320)의 트래픽 제어를 결정된 데이터 처리율을 달성하도록 설정할 수 있다. 전자 장치(101)는 어플리케이션별로, 상향링크/하향링크를 구분하여 결정된 데이터 처리율에 따라 트래픽 제어할 수 있다.
발열 상황이 해제된 것으로 판단된 경우, 동작 909에서, 다양한 실시예에 따른 전자 장치(101)는 트래픽 제어 기능을 오프 시킬 수 있다. 예를 들어, 전자 장치(101)는 동작 905에서 전자 장치의 표면 온도에 따라 발열 상황이 해제된 것으로 판단된 경우, 트래픽 제어를 하지 않도록 기능을 오프 시킬 수 있다. 전자 장치(101)는 동작 905에서 어플리케이션의 트래픽 제어가 필요하지 않은 것으로 판단되는 경우에도, 트래픽 제어를 하지 않도록 기능을 오프 시킬 수 있다. 한 실시예에 따라, 전자 장치(101)는 설정에 따라 커널(320)의 트래픽 제어 기능을 오프 시킬 수 있다.
도 10은 본 발명의 다양한 실시예들에 따른 전자 장치에서 발열 제어 이력에 따른 어플리케이션별 데이터 처리율 제어의 예를 도시한다. 예를 들어, 도 10의 동작들은 머신 러닝(machine learning) 기반의 전자 장치(101)(예:프로세서(210))의 동작들을 예시할 수 있다.
도 10을 참고하면, 동작 1001에서, 다양한 실시예에 따른 전자 장치(101)는 발열로 인한 처리율 제어 이력을 저장한다. 예를 들어, 전자 장치(101)는 과거 발열 상황에서 각 어플리케이션별 데이터 처리율을 제어한 이력을 조건에 따라 저장할 수 있다.
동작 1003에서, 다양한 실시예에 따른 전자 장치(101)는 유사한 발열 상황이 발생하였는지 판단할 수 있다. 예를 들어, 전자 장치(101)는 주기적인 전자 장치의 온도 모니터링 동작 중에 과거 제어한 발열 이력과 유사한 발열 상황이 발생하였는지 판단할 수 있다. 한 실시예에 따라, 전자 장치(101)는 적어도 하나의 온도 센서(140)를 이용하여 온도 값을 측정하고, 동작 중인 어플리케이션 상태를 확인할 수 있다. 동작 중인 어플리케이션의 종류, CPU 점유율, FG/BG 동작 상태, 누적 송수신 데이터 양, 소모 전류량, 또는 접속 중인 RAT의 종류 중 적어도 하나의 인자가 과거 발생한 발열 제어 상황과 동일하거나 유사한 범위에 속하는 경우, 전자 장치(101)는 과거 발생 이력과 유사한 발열 상황으로 판단할 수 있다. 일 실시예에서, 전자 장치(101)는 과거 이력과 유사한 발열 상황이 발생한 것으로 판단되는 경우, 동작 1005에 따라 과거 이력에 기반하여 발열을 제어하는 동작을 수행할 수 있다. 다른 실시예에서, 전자 장치(101)는 유사한 발열 상황이 발생하지 않은 것으로 판단되는 경우, 본 동작들을 종료할 수 있다. 전자 장치(101)는, 미리 정의된 발열 제어 정책에 따라, 과거 이력을 고려하지 않고 발열 상황을 제어할 수 있다.
발열 상황이 발생한 것으로 판단된 경우, 동작 1005에서, 다양한 실시예에 따른 전자 장치(101)는 처리율 제어 이력에 기반하여 어플리케이션별 제어 레벨을 결정할 수 있다. 예를 들어, 전자 장치(101)는 동작 1003에서 전자 장치(101)가 발열 상황으로 트래픽 제어가 필요한 것으로 판단된 경우, 어플리케이션별로 저장된 처리율 제어 이력을 바탕으로 어플리케이션별 제어 레벨을 결정할 수 있다. 한 실시예에 따라, 전자 장치(101)는 어플리케이션 상태에 따른 스로틀 레벨 결정 정책에 따라 어플리케이션별 스로틀 레벨을 결정할 수 있으며, 전자 장치(101)는 과거 각 어플리케이션에 대한 데이터 처리율 제어 이력을 바탕으로 스로틀 레벨을 추가로 조정할 수 있다. 예를 들어, 동일한 어플리케이션이 유사한 CPU 점유율, FG/BG 동작 상태를 가지고 유사한 소모 전류량을 가지는 경우 스로틀 레벨 1을 적용했을 때 발열 상황이 해제 되었다면, 전자 장치(101)는 스로틀 레벨 정책상 레벨 2로 설정되어야 하는 상황이더라도 해당 어플리케이션의 스로틀 레벨을 1로 결정할 수 있다. 다른 실시예들에 따라, 과거 동일한 어플리케이션에 대한 유사한 상황에서 스로틀 레벨 1에 대한 데이터 처리율을 70% 제어한 후 발열 상황이 해제되었다면, 전자 장치(101)는 스로틀 레벨에 대한 제어 정책에도 불구하고, 처리율을 70% 제어할 수 있다. 이러한 과거 이력 기반의 제어를 통해 전자 장치(101)는 발열 제어의 시행 착오를 줄이고, 빠른 시간 내에 발열 상황을 해제하여 사용자 체감 편의성 및 전자 장치의 성능을 향상 시킬 수 있다.
동작 1007에서, 다양한 실시예에 따른 전자 장치(101)는 결정에 따라 어플리케이션별 데이터 처리율을 제어할 수 있다. 예를 들어, 전자 장치(101)는 동작 1005에서 결정된 어플리케이션별 제어 레벨에 따라, 어플리케이션별 데이터 처리율을 제어할 수 있다. 한 실시예에 따라, 전자 장치(101)는 커널(320)의 트래픽 제어를 결정된 데이터 처리율을 달성하도록 설정할 수 있다. 전자 장치(101)는 어플리케이션별로, 상향링크/하향링크를 구분하여 결정된 데이터 처리율에 따라 트래픽 제어할 수 있다.
다양한 실시예들에 따른 전자 장치(101, 201)(예: 프로세서(210))의 동작 방법은, 적어도 하나의 센서(140, 240)를 통해 상기 전자 장치(101, 201)의 온도를 측정하는 동작과, 상기 전자 장치(101, 201)에서 실행 중인 적어도 하나의 어플리케이션의 동작 상태를 확인하는 동작과, 상기 측정된 온도가 기준 값 이상인 경우, 상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션 각각에 대한 데이터 처리율을 제어하는 동작을 포함할 수 있다.
일 실시예에 따라, 상기 적어도 하나의 어플리케이션의 동작 상태는, 상기 적어도 하나의 어플리케이션의 자원 사용율, FG 또는 BG 동작 여부, 누적 송수신 데이터 양, 소모 전류량, 및 상기 전자 장치(101, 201)가 접속 중인 RAT의 종류 중 적어도 하나의 인자를 포함할 수 있다.
일 실시예에 따라, 상기 적어도 하나의 어플리케이션의 소모 전류량은, 상기 적어도 하나의 어플리케이션이 단위 시간당 발생시킨 패킷 수와 상기 전자 장치(101, 201)의 단위 시간당 소모 전류량에 기반하여 산출될 수 있다.
일 실시예에 따라, 상기 데이터 처리율을 제어하는 동작은, 상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션 각각에 대한 데이터 처리율 제어 레벨을 결정하는 동작과, 데이터 처리율 정책에 따라, 상기 제어 레벨에 대응하는 데이터 처리율을 결정하는 동작과, 상기 결정된 데이터 처리율에 따라, 상기 적어도 하나의 어플리케이션 각각에 대한 송수신 트래픽을 제어하는 동작을 포함할 수 있다.
일 실시예에 따라, 상기 데이터 처리율 정책은, 미리 설정되어 상기 전자 장치(101, 201)에 저장되거나, 외부 장치로부터 주기적으로 업데이트 되는 정보일 수 있고, 상기 측정된 전자 장치(101, 201)의 상태는, 상기 전자 장치(101, 201)의 사용 시점 정보 및 상기 전자 장치(101, 201)의 사용 위치 정보 중 적어도 하나의 정보를 포함할 수 있다.
일 실시예에 따른 전자 장치(101, 201)의 동작 방법은, 상기 전자 장치(101, 201)의 상태를 측정하는 동작과, 상기 측정된 전자 장치(101, 201)의 상태에 기반하여, 상기 데이터 처리율 정책을 결정하는 동작을 더 포함할 수 있다.
일 실시예에 따라, 상기 제어 레벨에 대응하는 데이터 처리율을 결정하는 동작은, 상기 결정된 데이터 처리율 정책에 기반하여, 상기 제어 레벨에 대응하는 데이터 처리율을 결정하는 동작을 포함할 수 있다.
일 실시예에 따른 전자 장치(101, 201)의 동작 방법은, 상기 적어도 하나의 어플리케이션 각각에 대한 데이터 처리율 제어 이력을 저장하는 동작과, 상기 전자 장치(101, 201)의 온도가 다시 기준 값 이상이 되는 경우, 상기 저장된 데이터 처리율 제어 이력에 기반하여, 싱행 중인 어플리케이션 각각에 대한 데이터 처리율을 제어하는 동작을 더 포함할 수 있다.
일 실시예에 따른 전자 장치(101, 201)의 동작 방법은, 상기 측정된 온도와 기준 값을 비교하는 동작과, 상기 전자 장치(101, 201)의 발열 레벨을 결정하는 동작을 더 포함할 수 있고, 상기 전자 장치(101, 201)는 상기 발열 레벨이 미리 설정된 기준 이상인 경우, 상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션 각각에 대한 데이터 처리율을 제어할 수 있다.
본 발명의 청구항 또는 명세서에 기재된 실시예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성될 수 있다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 발명의 청구항 또는 명세서에 기재된 실시예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함할 수 있다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 발명의 실시예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장 장치가 본 발명의 실시예를 수행하는 장치에 접속할 수도 있다.
상술한 본 발명의 구체적인 실시예들에서, 전자 장치에 포함되는 구성 요소는 제시된 구체적인 실시예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 발명이 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
Claims (20)
- 전자 장치의 동작 방법에 있어서,
적어도 하나의 센서를 통해 상기 전자 장치의 온도를 측정하는 동작,
상기 전자 장치에서 실행 중인 적어도 하나의 어플리케이션의 동작 상태를 확인하는 동작, 상기 적어도 하나의 어플리케이션의 동작 상태를 확인하는 동작은 상기 적어도 하나의 어플리케이션의 포어그라운드 또는 백그라운드 동작 여부를 확인하는 동작을 포함하고,
상기 측정된 온도가 기준 값 이상인 경우, 상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션에 대한 데이터 처리율을 제어하는 동작을 포함하고,
상기 적어도 하나의 어플리케이션에 대한 데이터 처리율을 제어하는 동작은,
패킷이 발생된 시간 구간을 판단하는 동작,
상기 시간 구간 동안의 전체 소모 전류량을 감지하는 동작,
상기 시간 구간 중 상기 적어도 하나의 어플리케이션의 무선 점유 시간을 판단하는 동작,
상기 전체 소모 전류량에 상기 시간 구간에서 상기 적어도 하나의 어플리케이션의 무선 점유 시간이 차지하는 비율을 곱하여 상기 적어도 하나의 어플리케이션의 소모 전류량을 산출하는 동작, 및
상기 산출된 적어도 하나의 어플리케이션의 소모 전류량에 기반하여 상기 적어도 하나의 어플리케이션에 대한 데이터 처리율을 결정하는 동작을 포함하는 전자 장치의 동작 방법.
- 청구항 1에 있어서,
상기 적어도 하나의 어플리케이션의 동작 상태는,
상기 적어도 하나의 어플리케이션의 자원 사용율, 누적 송수신 데이터 양, 및 상기 전자 장치가 접속 중인 RAT(radio access technology)의 종류 중 적어도 하나의 인자를 포함하는 전자 장치의 동작 방법.
- 삭제
- 청구항 1에 있어서,
상기 적어도 하나의 어플리케이션에 대한 데이터 처리율을 제어하는 동작은,
상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션에 대한 데이터 처리율의 제어 레벨을 결정하는 동작,
데이터 처리율 정책에 따라, 상기 제어 레벨에 대응하는 데이터 처리율을 결정하는 동작, 및
상기 결정된 데이터 처리율에 따라, 상기 적어도 하나의 어플리케이션에 대한 송수신 트래픽을 제어하는 동작을 포함하는 전자 장치의 동작 방법.
- 청구항 4에 있어서,
상기 데이터 처리율 정책은,
미리 설정되어 상기 전자 장치에 저장되거나, 외부 장치로부터 주기적으로 업데이트 되는 정보인 전자 장치의 동작 방법.
- 청구항 5에 있어서,
상기 전자 장치의 상태를 측정하는 동작, 및
상기 측정된 전자 장치의 상태에 기반하여, 상기 데이터 처리율 정책을 결정하는 동작을 더 포함하는 전자 장치의 동작 방법.
- 청구항 6에 있어서,
상기 제어 레벨에 대응하는 데이터 처리율을 결정하는 동작은,
상기 결정된 데이터 처리율 정책에 기반하여, 상기 제어 레벨에 대응하는 데이터 처리율을 결정하는 동작을 포함하는 전자 장치의 동작 방법.
- 청구항 6에 있어서,
상기 측정된 전자 장치의 상태는,
상기 전자 장치의 사용 시점 정보 및 상기 전자 장치의 사용 위치 정보 중 적어도 하나의 정보를 포함하는 전자 장치의 동작 방법.
- 청구항 1에 있어서,
상기 적어도 하나의 어플리케이션에 대한 데이터 처리율의 제어 이력을 저장하는 동작, 및
상기 전자 장치의 온도가 다시 상기 기준 값 이상이 되는 경우, 상기 저장된 제어 이력에 기반하여, 실행 중인 어플리케이션에 대한 데이터 처리율을 제어하는 동작을 더 포함하는 전자 장치의 동작 방법.
- 청구항 1에 있어서,
상기 적어도 하나의 어플리케이션에 대한 데이터 처리율을 제어하는 동작은,
상기 측정된 온도와 기준 값을 비교하는 동작,
상기 전자 장치의 발열 레벨을 결정하는 동작, 및
상기 발열 레벨이 미리 설정된 기준 이상인 경우, 상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션에 대한 데이터 처리율을 제어하는 동작을 포함하는 전자 장치의 동작 방법.
- 전자 장치에 있어서,
적어도 하나의 센서, 및
적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는,
상기 적어도 하나의 센서를 통해 상기 전자 장치의 온도를 측정하고,
상기 전자 장치에서 실행 중인 적어도 하나의 어플리케이션의 동작 상태를 확인하고,
상기 측정된 온도가 기준 값 이상인 경우, 상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션에 대한 데이터 처리율을 제어하도록 설정되고,
상기 적어도 하나의 어플리케이션의 동작 상태는 상기 적어도 하나의 어플리케이션이 포어그라운드 또는 백그라운드로 동작하는 상태를 포함하고,
상기 적어도 하나의 프로세서는,
패킷이 발생된 시간 구간을 판단하고,
상기 시간 구간 동안의 전체 소모 전류량을 감지하고,
상기 시간 구간 중 상기 적어도 하나의 어플리케이션의 무선 점유 시간을 판단하고,
상기 전체 소모 전류량에 상기 시간 구간에서 상기 적어도 하나의 어플리케이션의 무선 점유 시간이 차지하는 비율을 곱하여 상기 적어도 하나의 어플리케이션의 소모 전류량을 산출하고,
상기 산출된 적어도 하나의 어플리케이션의 소모 전류량에 기반하여 상기 적어도 하나의 어플리케이션에 대한 데이터 처리율을 결정함으로써, 상기 적어도 하나의 어플리케이션에 대한 데이터 처리율을 제어하도록 설정된 전자 장치.
- 청구항 11에 있어서,
상기 적어도 하나의 어플리케이션의 동작 상태는,
상기 적어도 하나의 어플리케이션의 자원 사용율, 누적 송수신 데이터 양, 및 상기 전자 장치가 접속 중인 RAT(radio access technology)의 종류 중 적어도 하나의 인자를 포함하는 전자 장치.
- 삭제
- 청구항 11에 있어서,
상기 적어도 하나의 프로세서는,
상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션에 대한 데이터 처리율의 제어 레벨을 결정하고,
데이터 처리율 정책에 따라, 상기 제어 레벨에 대응하는 데이터 처리율을 결정하고,
상기 결정된 데이터 처리율에 따라, 상기 적어도 하나의 어플리케이션에 대한 송수신 트래픽을 제어하도록 설정된 전자 장치.
- 청구항 14에 있어서,
상기 데이터 처리율 정책은,
미리 설정되어 상기 전자 장치에 저장되거나, 외부 장치로부터 주기적으로 업데이트 되는 정보인 전자 장치.
- 청구항 15에 있어서,
상기 적어도 하나의 프로세서는,
상기 전자 장치의 상태를 측정하고,
상기 측정된 전자 장치의 상태에 기반하여, 상기 데이터 처리율 정책을 결정하도록 설정된 전자 장치.
- 청구항 16에 있어서,
상기 적어도 하나의 프로세서는,
상기 결정된 데이터 처리율 정책에 기반하여, 상기 제어 레벨에 대응하는 데이터 처리율을 결정하도록 설정된 전자 장치.
- 청구항 16에 있어서,
상기 측정된 전자 장치의 상태는,
상기 전자 장치의 사용 시점 정보 및 상기 전자 장치의 사용 위치 정보 중 적어도 하나의 정보를 포함하는 전자 장치.
- 청구항 11에 있어서,
상기 적어도 하나의 어플리케이션에 대한 데이터 처리율의 제어 이력을 저장하는 메모리를 더 포함하고,
상기 적어도 하나의 프로세서는,
상기 전자 장치의 온도가 다시 상기 기준 값 이상이 되는 경우, 상기 저장된 제어 이력에 기반하여, 실행 중인 어플리케이션에 대한 데이터 처리율을 제어하도록 설정된 전자 장치.
- 청구항 11에 있어서,
상기 적어도 하나의 프로세서는,
상기 측정된 온도와 기준 값을 비교하고,
상기 전자 장치의 발열 레벨을 결정하고,
상기 발열 레벨이 미리 설정된 기준 이상인 경우, 상기 적어도 하나의 어플리케이션의 동작 상태에 기반하여, 상기 적어도 하나의 어플리케이션에 대한 데이터 처리율을 제어하도록 설정된 전자 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170045523A KR102330254B1 (ko) | 2017-04-07 | 2017-04-07 | 트래픽 제어 방법 및 그 전자 장치 |
US16/500,880 US11044201B2 (en) | 2017-04-07 | 2018-04-05 | Traffic control method and electronic device thereof |
PCT/KR2018/004025 WO2018186699A1 (ko) | 2017-04-07 | 2018-04-05 | 트래픽 제어 방법 및 그 전자 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170045523A KR102330254B1 (ko) | 2017-04-07 | 2017-04-07 | 트래픽 제어 방법 및 그 전자 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180113861A KR20180113861A (ko) | 2018-10-17 |
KR102330254B1 true KR102330254B1 (ko) | 2021-11-23 |
Family
ID=63712319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170045523A KR102330254B1 (ko) | 2017-04-07 | 2017-04-07 | 트래픽 제어 방법 및 그 전자 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11044201B2 (ko) |
KR (1) | KR102330254B1 (ko) |
WO (1) | WO2018186699A1 (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109644353B (zh) * | 2018-10-31 | 2021-10-15 | 北京小米移动软件有限公司 | 配置调整方法、装置、电子设备和计算机可读存储介质 |
KR102669517B1 (ko) * | 2018-12-14 | 2024-05-29 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR20210011166A (ko) | 2019-07-22 | 2021-02-01 | 삼성전자주식회사 | 전자 장치 및 전자 장치에서 발열 기반의 데이터 처리량 제어 방법 |
WO2021049794A1 (ko) * | 2019-09-10 | 2021-03-18 | 삼성전자 주식회사 | 전력 및/또는 발열 제어를 구현하는 방법 및 그 전자 장치 |
WO2021066424A1 (en) | 2019-10-01 | 2021-04-08 | Samsung Electronics Co., Ltd. | Method for mitigating temperature of electronic device |
CN112752315B (zh) * | 2019-10-31 | 2022-12-27 | 北京小米移动软件有限公司 | 降低终端温度的方法、降低终端温度的装置及存储介质 |
KR20210101081A (ko) | 2020-02-07 | 2021-08-18 | 삼성전자주식회사 | 프로세스를 제어하는 전자 장치 및 그 방법 |
CN113886180A (zh) * | 2021-09-30 | 2022-01-04 | 联想(北京)有限公司 | 控制方法及电子设备 |
WO2023085628A1 (ko) * | 2021-11-15 | 2023-05-19 | 삼성전자 주식회사 | 어플리케이션의 실행 성능을 개선하는 전자 장치 및 그 동작 방법 |
WO2024048943A1 (ko) * | 2022-08-31 | 2024-03-07 | 삼성전자 주식회사 | 전자 장치 및 전자 장치의 어플리케이션 성능 최적화 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080108331A1 (en) | 2003-11-10 | 2008-05-08 | Research In Motion Limited | Methods And Apparatus For Limiting Communication Capabilities In Mobile Communication Devices |
US20120075992A1 (en) | 2010-09-24 | 2012-03-29 | Qualcomm, Incorporated | Methods and apparatus for touch temperature management based on power dissipation history |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6169884B1 (en) * | 1998-04-06 | 2001-01-02 | Sierra Wireless, Inc. | Method and apparatus for reducing power in radio transmitters |
JP2990150B2 (ja) * | 1998-04-06 | 1999-12-13 | 静岡日本電気株式会社 | 携帯電話機の過熱防止の方法とその装置 |
JP3223887B2 (ja) * | 1998-09-07 | 2001-10-29 | 株式会社デンソー | 無線通信装置 |
JP3715475B2 (ja) | 1999-09-13 | 2005-11-09 | 富士通株式会社 | 電子機器用温度制御回路および電子機器の温度制御方法 |
US7206567B2 (en) * | 2003-11-10 | 2007-04-17 | Research In Motion Limited | Methods and apparatus for limiting communication capabilities in mobile communication devices |
JP2006191455A (ja) * | 2005-01-07 | 2006-07-20 | Nec Corp | 無線移動通信方法、無線移動通信システム、基地局制御装置及び無線移動端末 |
JP4624227B2 (ja) * | 2005-09-29 | 2011-02-02 | 京セラ株式会社 | 通信端末、移動体通信システム及び通信制御方法 |
KR100818474B1 (ko) | 2005-11-17 | 2008-04-02 | 엘지전자 주식회사 | 중앙처리장치의 발열 제어 장치 및 방법 |
US20070254714A1 (en) * | 2006-05-01 | 2007-11-01 | Martich Mark E | Wireless access point |
GB0613118D0 (en) | 2006-06-30 | 2006-08-09 | Nokia Corp | Controlling a mobile device |
US20080194215A1 (en) * | 2007-02-12 | 2008-08-14 | Motorola, Inc. | Method and system for reliably sending data based on data size and temperature margin |
US8265588B2 (en) * | 2009-06-29 | 2012-09-11 | Motorola Mobility Llc | Device and method for temperature monitoring and warning |
CN101951642A (zh) * | 2010-09-16 | 2011-01-19 | 中兴通讯股份有限公司 | 一种调节移动终端下载速度的方法及装置 |
US9167618B2 (en) * | 2010-11-16 | 2015-10-20 | At&T Mobility Ii Llc | Data bundling and fast dormancy based upon intelligent application learning |
KR101840852B1 (ko) | 2011-10-10 | 2018-03-22 | 삼성전자주식회사 | 모바일 장치의 표면 온도 관리 방법 및 멀티칩 패키지의 메모리 열관리 방법 |
US9164803B2 (en) * | 2012-01-20 | 2015-10-20 | Microsoft Technology Licensing, Llc | Background task resource control |
KR101927096B1 (ko) * | 2012-10-19 | 2018-12-10 | 삼성전자주식회사 | 어플리케이션 프로세서, 이를 구비하는 모바일 기기 및 어플리케이션 프로세서를 위한 클럭 신호 선택 방법 |
KR101984091B1 (ko) * | 2012-10-23 | 2019-05-30 | 엘지전자 주식회사 | 이동 단말기 및 그의 어플리케이션에 대한 배터리 소모량 정보 제공방법 |
US20150288792A1 (en) * | 2014-04-07 | 2015-10-08 | Qualcomm Incorporated | Bi-level bi-class thermal mitigation technique for single/multi-sim devices |
KR102217336B1 (ko) | 2014-04-22 | 2021-02-19 | 엘지전자 주식회사 | 이동단말기 제어방법 |
US10642325B2 (en) * | 2015-01-30 | 2020-05-05 | Microsoft Technology Licensing, Llc | Implementing thermal remediations in reaction to execution of software |
KR102311817B1 (ko) * | 2015-02-26 | 2021-10-13 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 전원관리 방법 |
KR102330262B1 (ko) | 2015-06-02 | 2021-11-23 | 삼성전자주식회사 | 전자장치에서 디스플레이 제어 방법 및 그 장치 |
CN106371481A (zh) * | 2015-07-21 | 2017-02-01 | 中兴通讯股份有限公司 | 终端节能管理方法、装置及终端 |
US10021547B2 (en) * | 2016-01-25 | 2018-07-10 | Htc Corporation | Management for data transmission of applications |
KR102642689B1 (ko) * | 2016-11-16 | 2024-03-05 | 삼성전자주식회사 | 전자 장치 및 그 트래픽 제어 방법 |
US10503233B2 (en) * | 2017-04-14 | 2019-12-10 | Intel Corporation | Usage scenario based monitoring and adjustment |
CN107566624B (zh) * | 2017-08-25 | 2020-09-11 | 维沃移动通信有限公司 | 一种终端的功耗和温度的显示方法、终端及计算机可读存储介质 |
US10216236B1 (en) * | 2017-08-31 | 2019-02-26 | Snap Inc. | Systems and methods for temperature management in wearable devices |
-
2017
- 2017-04-07 KR KR1020170045523A patent/KR102330254B1/ko active IP Right Grant
-
2018
- 2018-04-05 WO PCT/KR2018/004025 patent/WO2018186699A1/ko active Application Filing
- 2018-04-05 US US16/500,880 patent/US11044201B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080108331A1 (en) | 2003-11-10 | 2008-05-08 | Research In Motion Limited | Methods And Apparatus For Limiting Communication Capabilities In Mobile Communication Devices |
US20120075992A1 (en) | 2010-09-24 | 2012-03-29 | Qualcomm, Incorporated | Methods and apparatus for touch temperature management based on power dissipation history |
Also Published As
Publication number | Publication date |
---|---|
US11044201B2 (en) | 2021-06-22 |
US20200036643A1 (en) | 2020-01-30 |
WO2018186699A1 (ko) | 2018-10-11 |
KR20180113861A (ko) | 2018-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102330254B1 (ko) | 트래픽 제어 방법 및 그 전자 장치 | |
KR102512619B1 (ko) | 전자 장치 및 전자 장치에서 충전 방법 | |
US20180329055A1 (en) | Method and apparatus for detecting that a device is immersed in a liquid | |
US9867162B2 (en) | Device and method for providing notification on wireless charging state | |
US10079788B2 (en) | Method and apparatus for managing data using plural processors | |
KR20180074377A (ko) | 전자 장치 및 전자 장치의 배터리의 온도에 기반한 발열 제어 방법 | |
US10853026B2 (en) | Method and apparatus for streaming audio by using wireless link | |
US20170185134A1 (en) | Electronic device for managing power and method for controlling thereof | |
KR102151135B1 (ko) | 전력 관리 방법 및 그 방법을 처리하는 전자 장치 | |
KR20160105274A (ko) | 전자 장치 및 전자 장치의 어플리케이션 제어 방법 | |
KR20170121524A (ko) | 배터리의 충전을 제어하기 위한 방법 및 그 전자 장치 | |
US20160116952A1 (en) | Method for controlling operation of electronic device and electronic device using the same | |
KR102316436B1 (ko) | 이종의 배터리 셀을 제어하기 위한 방법 및 그 전자 장치 | |
KR20180044081A (ko) | 송신 전력을 제어하기 위한 전자장치 및 방법 | |
KR20180055273A (ko) | 전자 장치 및 그 트래픽 제어 방법 | |
KR20170030338A (ko) | 전력을 관리하는 전자 장치 및 그 제어 방법 | |
KR102673675B1 (ko) | 전자 장치 및 전자 장치에서의 표면 발열을 제어하기 위한 방법 | |
US10931322B2 (en) | Electronic device and operation method therefor | |
KR20180020401A (ko) | 통신망 연결 제어 방법, 저장 매체 및 이를 위한 전자 장치 | |
KR20170017643A (ko) | 콘텐츠 전송 제어 방법 및 이를 지원하는 전자 장치 | |
KR20170019804A (ko) | 전자 장치의 위치 정보 확인 방법 및 그 전자 장치 | |
US10085081B2 (en) | Electronic device and method for controlling power | |
US10298733B2 (en) | Method for executing function of electronic device using bio-signal and electronic device therefor | |
KR102185182B1 (ko) | 전류 소모를 줄이기 위한 방법 및 그 전자 장치 | |
US20160314682A1 (en) | Method for preventing portable electronic device from being left in vehicle, the portable electronic device, and the vehicle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |