KR102137097B1 - 소모 전류 저감 방법 및 이를 지원하는 전자 장치 - Google Patents

소모 전류 저감 방법 및 이를 지원하는 전자 장치 Download PDF

Info

Publication number
KR102137097B1
KR102137097B1 KR1020140109238A KR20140109238A KR102137097B1 KR 102137097 B1 KR102137097 B1 KR 102137097B1 KR 1020140109238 A KR1020140109238 A KR 1020140109238A KR 20140109238 A KR20140109238 A KR 20140109238A KR 102137097 B1 KR102137097 B1 KR 102137097B1
Authority
KR
South Korea
Prior art keywords
application
electronic device
processor
event
message
Prior art date
Application number
KR1020140109238A
Other languages
English (en)
Other versions
KR20160023235A (ko
Inventor
신영섭
임채만
강지광
김태윤
오태훈
손승범
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020140109238A priority Critical patent/KR102137097B1/ko
Priority to EP15182035.4A priority patent/EP2988191B1/en
Priority to US14/832,315 priority patent/US9703353B2/en
Publication of KR20160023235A publication Critical patent/KR20160023235A/ko
Application granted granted Critical
Publication of KR102137097B1 publication Critical patent/KR102137097B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • H04W52/0248Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal dependent on the time of the day, e.g. according to expected transmission activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • H04W52/028Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof switching on or off only a part of the equipment circuit blocks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

응용 프로세서가 슬립 상태에서 적어도 하나의 어플리케이션 운용과 관련한 이벤트를 수집하는 통신 프로세서, 상기 수집된 이벤트에 대응하는 메시지를 외부 전자 장치에 전송하는 통신 인터페이스를 포함하는 전자 장치가 개시된다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

소모 전류 저감 방법 및 이를 지원하는 전자 장치{Processing Method for periodic event and Electronic device supporting the same}
본 발명의 다양한 실시 예들은 소모 전류 저감기술과 관련된다.
기존의 스마트폰과 같은 전자 장치는, 다양한 사용자 기능을 지원하고 있다. 예컨대, 전자 장치는 기지국 장치에 접속하고, 기지국 장치와 연결된 서버 장치로부터 텍스트나 이미지 등을 수신하여 제공할 수 있다. 또한 전자 장치는 타 전자 장치 등이 자신에게 전송하는 정보를 서버 장치 및 기지국 장치 등을 통하여 수신할 수 있다. 이와 관련하여, 전자 장치는 서버 장치 또는 기지국 장치에 지속적인 연결 상태를 유지하거나 또는 자신이 정상적으로 동작하고 있음을 주기적으로 알릴 필요가 있다.
상술한 동작 처리와 관련하여, 종래 전자 장치는 응용 프로세서를 기반으로 특정 어플리케이션 운용과 관련한 연결 상태 유지 등의 처리를 수행하고 있다. 그런데, 응용 프로세서의 경우 전자 장치의 다양한 기능 처리와 관련한 업무를 담당하기 때문에, 기본 전류 소모가 높게 나타나는 특징이 있다. 이에 따라, 종래 전자 장치는 연결 상태를 유지하거나 주기적 정상 동작 알림 예컨대 주기적 스케줄링 이벤트 처리를 위해 응용 프로세서의 높은 기본 전류 소모를 감당해야 하는 문제가 있었다.
이에 따라, 다양한 실시 예에서는 전자 장치에서의 이벤트 처리와 관련한 소모 전류를 최소화하는 소모 전류 저감 방법 및 이를 지원하는 전자 장치를 제공한다.
본 발명의 다양한 실시 예에 따른 전자 장치는, 응용 프로세서가 슬립 상태에서 적어도 하나의 어플리케이션 운용과 관련한 이벤트를 수집하는 통신 프로세서, 상기 수집된 이벤트에 대응하는 메시지를 외부 전자 장치에 전송하는 통신 인터페이스를 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치의 이벤트 처리와 관련하여 효율적인 프로세서 운용을 통하여 전류 소모를 저감할 수 있다.
또한, 다양한 실시 예에 따르면, 전자 장치의 채널 해제 시점을 최적화하여 주기적 스케줄링 이벤트 처리에 소요되는 전류 소모를 저감할 수 있다.
또한, 다양한 실시 에에 따르면, 전자 장치의 주기적 스케줄링 이벤트 처리를 서버에 위임함으로써 해당 이벤트 처리에 소요되는 전류 소모를 저감할 수 있다.
도 1은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 2는 다양한 실시 예에 따른 프로세서 구성을 나타낸 도면이다.
도 3은 다양한 실시 예에 따른 공통 처리 모듈을 가지는 프로세서를 개략적으로 나타낸 도면이다.
도 4는 다양한 실시 예에 따른 개별 모듈을 가지는 프로세서를 개략적으로 나타낸 도면이다.
도 5는 다양한 실시 예에 따른 라이트 버전의 어플리케이션을 가지는 프로세서를 개략적으로 나타낸 도면이다.
도 6은 다양한 실시 예에 따른 소모 전류 저감과 관련한 이벤트 처리 방법을 나타낸 도면이다.
도 7은 다양한 실시 예에 따른 소모 전류 저감과 관련한 프로세서 간 이벤트 처리 방법을 나타낸 도면이다.
도 8은 다양한 실시 예에 따른 소모 전류 저감과 관련한 주기적 스케줄링에 따른 프로세서 운용 방법을 나타낸 도면이다.
도 9는 다양한 실시 예에 따른 어플리케이션 라이트 버전 운용 방법을 나타낸 도면이다.
도 10은 다양한 실시 예에 따른 소모 전류 저감 관련 채널 해제 방법을 나타낸 도면이다.
도 11은 다양한 실시 예에 따른 채널 연결 해제와 관련한 메시지 타입의 일예를 나타낸 도면이다.
도 12는 다양한 실시 예에 따른 소모 전류 저감 관련 채널 설정 방법을 나타낸 도면이다.
도 13은 다양한 실시 예에 따른 소모 전류 저감 관련 메시지 설정 방법을 나타낸 도면이다.
도 14는 다양한 실시 예에 따른 소모 전류 저감 관련 이벤트 처리 위임 방법을 나타낸 도면이다.
도 15는 다양한 실시 예에 따른 이벤트 처리 위임 관련 전자 장치 운용 방법을 나타낸 도면이다.
도 16은 다양한 실시 예에 따른 이벤트 처리 위임 관련 서버 장치 운용 방법을 나타낸 도면이다.
도 17은 다양한 실시 예에 따른 소모 전류 저감과 관련한 전자 장치의 일예를 나타낸 도면이다.
도 18은 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
다양한 실시 예에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 발명의 실시 예들을 배제하도록 해석될 수 없다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상 전화기, 전자북 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device)(예: 스마트 안경, 머리 착용형 장치(head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들면, 텔레비전, DVD 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller’s machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 발명의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치 (예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 1을 참조하여, 다양한 실시 예에서의 네트워크 환경 내의 전자 장치 100이 기재된다. 상기 전자 장치 100은 버스 110, 프로세서 120, 메모리 130, 입출력 인터페이스 140, 디스플레이 150, 및 통신 인터페이스 160을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 100은, 상기 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
상술한 전자 장치 100은 이벤트(예: 전자 장치 100의 사용자 기능 또는 스케줄링된 기능 수행과 관련하여 발생하는 요청 등) 처리(예: 통신 채널을 기반으로 송수신되는 메시지 관련 이벤트 처리)와 관련한 다양한 동작들에서 소모 전류 저감과 관련한 동작 제어를 수행할 수 있다. 예컨대, 전자 장치 100은 프로세서 120이 응용 프로세서 123과 통신 프로세서 121을 포함하고, 이벤트(예: 주기적 스케줄링 이벤트)를 통신 프로세서 121에서 처리하도록 설정될 수 있다. 상술한 바와 같이 이벤트 처리에 있어서 통신 프로세서 121에 비하여 상대적으로 높은 전류를 소모하는 응용 프로세서 123의 주기적 스케줄링 이벤트 처리를 최소화하고, 응용 프로세서 123의 슬립 상태를 적어도 일부 확장 또는 유지함으로써, 주기적 스케줄링 이벤트 처리에 소요되는 전류 소모를 저감할 수 있다.
다양한 실시 예에 따르면, 전자 장치 100은 이벤트 처리 동작에서 기지국 장치 161과의 통신 채널 해제를 보다 신속하게 처리함으로써 채널 유지에 소요되는 전류 소모를 저감할 수 있다. 또한 다양한 실시 예에 따르면, 전자 장치 100은 이벤트 처리를 서버 장치 104(예: 이동성 관리 개체, MME)에 위임함으로써, 전자 장치 100에서 수행되는 이벤트 전송과 응답 수신 및 처리 등의 절차를 제거하거나 최소화하여 이벤트 처리에 소요되는 전류 소모를 저감할 수 있다.
상술한 기능 처리와 관련하여 상기 버스 110은, 예를 들면, 상기 구성요소들 110 내지 160을 서로 연결하고, 상기 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다. 예컨대, 버스 110은 주기적 스케줄링 이벤트(예: 정보, 신호 또는 메시지 등)를 통신 프로세서 121로부터 수신하여 통신 인터페이스 160에 전달할 수 있다. 또한 버스 110은 통신 인터페이스 160이 수신한 주기적 스케줄링 이벤트에 대한 응답 메시지를 통신 프로세서 121에 전달할 수 있다. 다양한 실시 예에 따르면, 버스 110은 메모리 130 액세스와 관련하여 응용 프로세서 123과 통신 프로세서 121 사이의 데이터 전송을 지원할 수 있다.
상기 프로세서 120은, 응용 프로세서 123(AP: Application Processor), 통신 프로세서 121(CP: Communication Processor)을 포함할 수 있다. 또한 프로세서 120은 통신 프로세서 121과 응용 프로세서 123의 연산을 지원하는 중앙처리장치(CPU)를 더 포함할 수 있다. 상기 프로세서 120은, 예를 들면, 상기 전자 장치 100의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
상기 통신 프로세서 121은 전자 장치 100의 기지국 통신을 기반으로 하는 통신 처리를 수행할 수 있다. 한 실시 예에 따르면, 통신 프로세서 121은 전자 장치 100의 주기적 스케줄링 이벤트 처리를 응용 프로세서 123과는 독립적으로 처리할 수 있다. 이와 관련하여, 통신 프로세서 121은 메모리 130의 적어도 일부 영역을 신호 처리와 관련하여 할당 받고, 해당 메모리 130 영역에 관련 프로그램들을 배치할 수 있다. 예컨대, 통신 프로세서 121은 주기적 스케줄링 이벤트 처리와 관련한 프로그램들 또는 처리 모듈(또는 이벤트 처리 모듈)들을 포함할 수 있다.
다양한 실시 예에 따르면, 통신 프로세서 121은 특정 어플리케이션과 관련하여 주기적 스케줄링 이벤트 처리에 필요한 이벤트 디스플레이 150(또는 처리 모듈)을 포함할 수 있다. 처리 모듈은 어플리케이션 설치 과정에서 통신 프로세서 121에 배치(통신 프로세서 121 운용과 관련하여 할당된 메모리 130 영역에 배치)될 수 있다. 다양한 실시 예에 따르면, 처리 모듈은 특정 어플리케이션 설치와 독립적으로 통신 프로세서 121에 배치되고, 지정된 인터페이스 예컨대, 주기적 스케줄링 이벤트 처리와 관련하여 설계된 API를 기반으로 응용 프로세서 123에 설치된 어플리케이션과 연동될 수 있다.
상기 통신 프로세서 121은 등록된 주기적 스케줄링 이벤트들의 공통 주기 또는 적정 주기(예: 통신 프로세서 121의 로드를 고려한 주기, 또는 서버 장치와의 협의에 의해 지정된 주기, 또는 지정된 정책에 의해 통신 프로세서 121이 지정한 주기 등)를 산출할 수 있다. 통신 프로세서 121은 상기 공통 주기 또는 적정 주기에 주기적 스케줄링 이벤트들과 관련한 통합 메시지(예: 복수의 어플리케이션과 관련한 주기적 스케줄링 이벤트들의 처리를 위한 메시지)를 기지국 장치 161에 전달할 수 있다. 새로운 어플리케이션의 설치 또는 어플리케이션의 제거 등에 따라 주기적 스케줄링 이벤트들의 개수 또는 종류 등이 변경되면, 통신 프로세서 121은 변경된 주기적 스케줄링 이벤트들의 공통 주기 또는 적정 주기를 재산출할 수 있다. 통신 프로세서 121은 재산출된 공통 주기 또는 적정 주기에 따라 통합 메시지 처리를 제어할 수 있다.
다양한 실시 예에 따르면, 통신 프로세서 121은 기지국 장치 161과 형성하는 통신 채널(예: RRC 채널)의 빠른 해제(예: 지정된 규정에서 정의된 시간보다 이른 시간에 채널 해제)와 관련한 처리를 제어할 수 있다. 주기적 스케줄링 이벤트와 관련한 신호 송수신은 실질적인 데이터 송수신 처리(예: 데이터 송수신 완료 후 지정된 시간 동안 채널을 유지하는 처리)와 다르게 수행될 수 있다. 예컨대, 주기적 스케줄링 이벤트는 채널 유지 메시지(예: Keep alive 메시지)와 같이 전자 장치 100이 데이터를 송수신할 수 있는 유효 상태임을 지시하는 이벤트를 포함할 수 있다. 이와 같이 주기적 스케줄링 이벤트 처리와 관련하여, 전자 장치 100과 기지국 장치 161은 전자 장치 100이 유효 상태임을 확인하기 위한 지정된 메시지를 송수신하기 때문에 데이터 송수신과 관련한 채널 유지가 불필요할 수 있다. 통신 프로세서 121은 주기적 스케줄링 이벤트 처리와 관련하여, 지정된 인디케이터 또는 지정된 메시지 포맷을 기지국 장치 161에 전달하여, 해당 통신 채널의 빠른 해제를 요청할 수 있다.
다양한 실시 예에 따르면, 통신 프로세서 121은 주기적 스케줄링 이벤트 처리를 서버 장치 104에 위임할 수 있다. 예컨대, 통신 프로세서 121은 서버 장치 104에 주기적 스케줄링 이벤트와 관련한 메시지 송수신을 서버 장치 104에 처리할 수 있는지 확인할 수 있다. 통신 프로세서 121은 서버 장치 104는 해당 기능을 지원하는 경우, 주기적 스케줄링 이벤트 처리를 위임하고, 서버 장치 104로부터 주기적 스케줄링 이벤트 처리와 관련한 확인 메시지를 수신할 수 있다. 통신 프로세서 121은 서버 장치 104로부터 확인 메시지 수신에 대하여 간헐적으로 Ack 신호를 서버 장치 104에 전송하거나 또는 지정된 기간 동안 Ack 신호를 서버 장치 104에 전송하지 않도록 제어할 수 있다.
상기 응용 프로세서 123은 전자 장치 100의 다양한 사용자 기능 처리와 관련한 신호 처리를 수행할 수 있다. 응용 프로세서 123은 상술한 다양한 사용자 기능과 관련한 적어도 하나의 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 응용 프로세서 123은 사용자 기능 운용과 관련한 메모리 130 영역을 할당받고, 해당 메모리 130 영역에 사용자 기능 운용과 관련한 어플리케이션 설치 또는 로딩을 지원할 수 있다. 이러한 동작 상태에 대응하여 응용 프로세서 123은 적어도 하나의 사용자 기능 처리와 관련한 어플리케이션을 포함하는 형태로 이해할 수 있다. 응용 프로세서 123에 배치된 어플리케이션 중 적어도 하나는 주기적 스케줄링 이벤트 처리가 필요할 수 있다. 응용 프로세서 123은 주기적 스케줄링 이벤트 처리가 필요한 어플리케이션 관련 정보를 통신 프로세서 121에 제공할 수 있다. 응용 프로세서 123은 주기적 스케줄링 이벤트 처리가 요구되는 새로운 어플리케이션이 설치되는 경우 어플리케이션 관련 정보를 통신 프로세서 121에 새로 제공할 수 있다. 또한 응용 프로세서 123은 주기적 스케줄링 이벤트 처리가 요구되는 어플리케이션이 제거되는 경우 관련 정보의 삭제를 통신 프로세서 121에 요청할 수 있다. 응용 프로세서 123은 상술한 주기적 스케줄링 이벤트 처리와 관련하여 인터페이스를 포함하고, 어플리케이션 관련 정보를 전달할 수 있다.
다양한 실시 예에 따르면, 응용 프로세서 123은 통신 프로세서 121로부터 특정 메시지(예: 푸시 메시지 등)를 수신하기 위하여, 통신 프로세서 121의 요청에 따라 깨움 상태(또는 활성화 상태)를 가질 수 있다. 응용 프로세서 123이 활성화 상태이면, 응용 프로세서 123은 상술한 주기적 스케줄링 이벤트 처리를 직접 처리할 수 있다. 이와 관련하여, 응용 프로세서 123은 통신 프로세서 121에 요청하여 주기적 스케줄링 이벤트 처리와 관련하여 누적된 정보를 요청하고, 해당 어플리케이션의 데이터 갱신을 제어할 수 있다.
상기 메모리 130은, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 상기 메모리 130은, 예를 들면, 상기 전자 장치 100의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 상기 메모리 130은 통신 프로세서 121의 운용과 관련한 프로그램(또는 처리 모듈) 배치와 관련한 통신 프로세서 영역 할당, 응용 프로세서 123의 운용과 관련한 프로그램(또는 처리 모듈) 배치와 관련한 응용 프로세서 영역 할당을 제공할 수 있다. 응용 프로세서 영역에는 적어도 하나의 사용자 기능과 관련한 어플리케이션들이 배치될 수 있다. 통신 프로세서 영역에는 주기적 스케줄링 이벤트 처리와 관련한 공통 처리 모듈 또는 개별 처리 모듈, 또는 응용 프로세서 영역에 배치된 각 어플리케이션(예: Full 버전 프로그램)별 주기적 스케줄링 이벤트 처리를 위해 마련된 서브 어플리케이션(예: Light 버전 프로그램)이 배치될 수 있다.
상기 입출력 인터페이스 140은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 상기 전자 장치 100의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 상기 입출력 인터페이스 140은 상기 전자 장치 100의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다. 한 실시 예에 따르면, 입출력 인터페이스 140은 새 어플리케이션 설치와 관련한 입력 이벤트, 어플리케이션 삭제와 관련한 입력 이벤트를 사용자 입력 제어에 따라 생성할 수 있다. 또한 입출력 인터페이스 140은 응용 프로세서 123 슬립 전환과 관련한 입력 이벤트, 응용 프로세서 123 활성화 요청과 관련한 입력 이벤트 등을 사용자 입력 제어에 따라 생성할 수 있다.
상기 디스플레이 150은, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems, MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 상기 디스플레이 150은, 예를 들면, 사용자에게 각종 컨텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)를 표시할 수 있다. 상기 디스플레이 150은, 터치스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스처, 근접, 또는 호버링(hovering) 입력을 수신할 수 있다.
다양한 실시 예에 따르면, 디스플레이 150은 응용 프로세서 123의 슬립 상태에 대응하는 화면 상태(예: 턴-오프 상태), 응용 프로세서 123의 활성화 상태에 대응하는 화면 상태(예: 턴-온 상태 또는 지정된 홈 화면이나 대기 화면 또는 특정 어플리케이션 운용 화면 출력 상태)를 가질 수 있다. 디스플레이 150은 응용 프로세서 123이 슬립 상태에서, 통신 프로세서 121의 제어에 대응하여 지정된 정보 출력을 수행할 수 있다. 예컨대, 디스플레이 150은 통신 프로세서 121 제어에 대응하여 주기적 스케줄링 이벤트 처리와 관련한 정보(예: 지정된 메시지 전송 또는 전송에 대한 Ack 수신에 대한 정보) 출력, 주기적 스케줄링 이벤트 처리의 서버 장치 104 위임에 대한 안내 정보 등을 출력할 수 있다. 다양한 실시 예에 따르면, 디스플레이 150은 통신 프로세서 121 제어(또는 응용 프로세서 123의 제어)에 대응하여 주기적 스케줄링 이벤트 처리와 관련한 어플리케이션들의 종류 또는 현재 운용 상태 중 적어도 하나에 대한 정보를 출력할 수 있다. 디스플레이 150은 통신 프로세서 121 제어에 대응하여 특정 어플리케이션과 관련하여 서버 장치 104 또는 타 전자 장치로부터 수신한 정보를 출력할 수 있다.
상기 통신 인터페이스 160은, 예를 들면, 상기 전자 장치 100과 외부 전자 장치(예: 타 전자 장치 102, 기지국 장치 161, 무선 접속점 106, 또는 서버 장치 104) 간의 통신을 설정할 수 있다. 예를 들면, 상기 통신 인터페이스 160은 무선 통신 또는 유선 통신을 통해서 기지국 장치 161을 포함하는 네트워크 162에 연결되어 상기 외부 전자 장치(예: 타 전자 장치 102 또는 서버 장치 104)와 통신할 수 있다. 상술한 통신 인터페이스 160은 통신 프로세서 121의 제어에 대응하여 기지국 장치 161을 포함한 네트워크 162에 연결될 수 있다. 예컨대, 통신 인터페이스 160은 통신 프로세서 121의 제어에 대응하여 기지국 장치 161과 특정 통신 채널(예: RRC 채널)을 형성할 수 있다. 통신 인터페이스 160은 통신 프로세서 121의 제어에 대응하여 주기적 스케줄링 이벤트와 관련한 메시지를 서버 장치 104에 전송하거나, 서버 장치 104로부터 주기적 스케줄링 이벤트와 관련한 메시지를 수신하여 통신 프로세서 121에 전달할 수 있다.
다양한 실시 예에 따르면, 상기 통신 인터페이스 160은 응용 프로세서 123의 제어에 대응하여 근거리 무선 통신을 지원하는 무선 접속점 106을 통해 네트워크 162에 연결되어 있는 타 전자 장치 102 또는 서버 장치 104와 통신할 수 있다. 이 동작에서 통신 인터페이스 160은 응용 프로세서 123의 제어에 대응하여 주기적 스케줄링 이벤트 처리와 관련한 메시지를 무선 접속점 106을 통해 서버 장치 104에 전송할 수도 있다.
상기 통신 프로세서 121 제어에 대응하여 운용되는 무선 통신은, 예를 들면 셀룰러 통신 프로토콜로서, 예를 들면 LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나를 사용할 수 있다. 상기 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 상기 응용 프로세서 123의 제어에 대응하여 운용되는 근거리 무선 통신은 블루투스 통신모듈, 와이파이 다이렉트 통신 모듈 등을 기반으로 형성되는 통신 방식을 포함할 수 있다.
상기 네트워크 162는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다. 상기 네트워크 162는 적어도 하나의 기지국 장치 161을 포함할 수 있다. 적어도 하나의 기지국 장치 161은 전자 장치 100과의 무선 통신 채널을 형성할 수 있다. 이 동작에서 기지국 장치 161은 서버 장치 104 제어에 대응하여 무선 통신 채널을 형성하거나 또는 해제할 수 있다. 다양한 실시 예에 따르면, 기지국 장치 161은 주기적 스케줄링 이벤트 처리와 관련하여 전자 장치 100과 RRC 채널을 형성할 수 있다. 기지국 장치 161은 서버 장치 104 제어에 대응하여 RRC 채널 해제를 지정된 시점(예: 설정된 규정에 비하여 상대적으로 이른 시점)에 해제할 수 있다.
상기 타 전자 장치 102는 상기 전자 장치 100과 동일한 또는 다른 종류의 장치일 수 있다. 외부 전자 장치 100은 네트워크 162를 통하여 전자 장치 100에 통화 호 연결 요청 메시지를 전송하거나, 메시지 전송을 요청할 수 있다. 한 실시 예에 따르면, 상기 서버 장치 104는 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시 예에 따르면, 상기 전자 장치 100에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치 102 또는 서버 장치 104)에서 실행될 수 있다. 한 실시 예에 따르면, 상기 전자 장치 100이 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 상기 전자 장치 100은 상기 기능 또는 상기 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치 102, 또는 서버 장치 104)에게 요청할 수 있다. 상기 다른 전자 장치(예: 전자 장치 102, 또는 서버 장치 104)는 상기 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 상기 전자 장치 100으로 전달할 수 있다. 상기 전자 장치 100은 수신된 결과를 그대로 또는 추가적으로 처리하여 상기 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시 예에 따른 프로세서 구성을 나타낸 도면이다.
도 2를 참조하면, 응용 프로세서 123은 어플리케이션 38, 제2 프로세서 어댑터 39, TCP/IP 모듈 33, 프로세서 인터페이스 35, 근거리 통신 제어 모듈 37, OS(Operating System) 31을 포함할 수 있다.
어플리케이션 38은 적어도 하나의 사용자 기능과 관련한 적어도 하나의 프로그램을 포함할 수 있다. 예컨대, 어플리케이션 38은 문서 운용 관련 프로그램, 사진 기능 관련 프로그램, 메모 기능 관련 프로그램 등을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션 38은 비주기적 또는 주기적 스케줄링 이벤트 처리가 필요한 메시지 기능 관련 프로그램, 채팅 기능 관련 프로그램, 이메일 기능 관련 프로그램, 업데이트 기능 관련 프로그램, 게임 기능 관련 프로그램, 클라우드 기능 관련 프로그램, 통화 기능 관련 프로그램 등을 포함할 수 있다. 또한, 어플리케이션 38은 특정 정보(예: SNS, 날씨, 증권, 부동산, 금융, 논문, 음악, 영화, 교통, 운송 등)의 갱신 또는 업로드 여부에 따라 해당 정보를 제공하는 정보 제공 프로그램을 포함할 수도 있다. 상술한 어플리케이션 38 중 적어도 하나의 주기적 스케줄링 이벤트 처리는 통신 프로세서 121의 운용에 따라 처리될 수 있다.
제2 프로세서 어댑터 39는 어플리케이션 38의 주기적 스케줄링 이벤트 처리를 제어할 수 있다. 예컨대, 제2 프로세서 어댑터 39는 주기적 스케줄링 이벤트 처리가 필요한 어플리케이션 38이 새로 설치되는 경우, 해당 어플리케이션 38 관련 정보를 통신 프로세서 121에 제공하여 이벤트 처리를 요청할 수 있다. 또는 제2 프로세서 어댑터 39는 실행 중인 어플리케이션들 중에 주기적 스케줄링 이벤트 처리가 필요한 어플리케이션을 확인하고, 해당 어플리케이션과 관련한 주기적 스케줄링 이벤트 처리를 통신 프로세서 121에 요청할 수 있다. 제2 프로세서 어댑터 39는 어플리케이션 38의 삭제가 발생하면, 삭제 관련 정보를 통신 프로세서 121에 제공할 수 있다. 제2 프로세서 어댑터 39는 주기적 스케줄링 이벤트 처리와 관련하여 프로세서 인터페이스 35를 통해 제2 프로세서 클라이언트 21과 통신할 수 있다.
TCP/IP 모듈 33은 전자 장치 100의 통신과 관련한 패킷 처리를 지원할 수 있다. 예컨대, TCP/IP 모듈 33은 어플리케이션 38 운용에 필요한 패킷들의 분배, 어플리케이션 38이 생성한 패킷들의 주소 입력 및 전달과 관련한 제어를 수행할 수 있다. 한 실시 예에 따르면, TCP/IP 모듈 33은 응용 프로세서 123 활성화 시, 어플리케이션 38들의 운용에 필요한 데이터들의 패킷 타이징을 수행하고, 통신 프로세서 121을 기반으로 해당 패킷들의 전달을 지원할 수 있다. TCP/IP 모듈 33은 응용 프로세서 123 비활성화(예: 슬립 모드 상태) 시 슬립 상태를 가질 수 있다. 상술한 TCP/IP 모듈 33은 통신 프로세서 121을 기반으로 기지국 장치 161을 통해 서버 장치 104와의 통신 채널 형성을 지원할 수 있다.
프로세서 인터페이스 35는 응용 프로세서 123의 제2 프로세서 어댑터 39와 통신 프로세서 121의 제2 프로세서 클라이언트 21 간의 데이터 송수신을 지원할 수 있다. 예컨대, 프로세서 인터페이스 35는 주기적 스케줄링 이벤트 처리가 요청되면, 해당 API를 OS 31에 요청하고, OS 31이 제공한 API를 기반으로 제2 프로세서 어댑터 39의 데이터(예: 주기적 스케줄링 이벤트 처리와 관련한 어플리케이션 38 관련 정보)를 제2 프로세서 클라이언트 21에 전송할 수 있다. 프로세서 인터페이스 35는 예컨대, Mux, Telephony Framework, 모뎀 인터페이스 등의 소프트웨어 모듈을 포함할 수 있다. 또는 프로세서 인터페이스 35는 Shared memory, Serial bus, usb, HSIC(high speed inter chip or high speed interconnect), LLI(low latency interface) 등의 하드웨어 모듈을 포함할 수 있다. 프로세서 인터페이스 35를 통해 송수신되는 정보는 어플리케이션의 GUID, 서비스 ID 등 어플리케이션을 식별할 수 있는 고유 값, IMEI 또는 다른 유니크 ID 등 장치 구분과 관련한 고유 값 등을 포함할 수 있다. 또한 프로세서 인터페이스 35는 Keep Alive 기능과 관련하여, 소스 IP/Port, 타겟 서버 주소나 IP/Port, 어플리케이션 ID, 계정 ID/PW, Keep Alive 싱크 주기 min/max/interval, timeout(ping 후 기다리는 시간), format, 암호화/복호화 정보 중 적어도 하나를 포함하는 Keep Alive 등록 정보를 응용 프로세서 123에서 통신 프로세서 121로 전달할 수 있다. 프로세서 인터페이스 35는 제2 프로세서 클라이언트 21의 동작 제어(예: Pause or Resume 등) 신호를 응용 프로세서 123 제어에 따라 통신 프로세서 121에 전달할 수 있다. 프로세서 인터페이스 35는 응용 프로세서 123의 제어 또는 설정에 대응한 통신 프로세서 121의 성공 또는 실패 여부와 같은 리턴 값(에러 포함), 네트워크 162에서 오는 인커밍 푸시 메시지 등을 통신 프로세서 121에서 응용 프로세서 123에 전달할 수 있다.
또한, 프로세서 인터페이스 35는 응용 프로세서 123의 슬립 상태 정보 또는 깨움 상태 정보, 응용 프로세서 123에 연결된 다른 통신 장치(예: 블루투스나 와이파이 등)로 네트워크 162에 접속 가능한 상태에 대한 정보를 통신 프로세서 121에 전달할 수 있다. 다양한 실시 예에 따르면, 응용 프로세서 123가 웨어러블 전자 장치인 경우 동료 상태(예: 동료 전자 장치와 일정 거리 이내로 위치하여 근거리 통신 모듈을 기반으로 하는 연결 상태) 또는 스탠드 얼론(stand-alone) 상태(동료 전자 장치와 일정 거리 이격되어 셀룰러 통신 모듈을 이용하는 통신 연결 상태) 정보를 통신 프로세서 121에 전달할 수 있다. 또한, 프로세서 인터페이스 35는 응용 프로세서 123이 관리하는 주소록 정보를 통신 프로세서 121에 전달할 수 있다. 통신 프로세서 121은 전달받은 주소록 정보를 기반으로 수신된 메시지와 관련한 주소록 정보를 디스플레이 150에 출력 제어할 수 있다.
근거리 통신 제어 모듈 37은 전자 장치 100의 통신 인터페이스 160에 포함된 적어도 하나의 근거리 통신 모듈의 제어를 수행할 수 있다. 한 실시 예에 따르면, 전자 장치 100은 설정에 따라 무료 또는 상대적으로 저비용의 부가 네트워크(예: 기지국 장치 161을 이용하는 통신 서비스에 비하여 저비용으로 책정된 네트워크로서 예컨대, 지정된 와이파이 공용 네트워크 또는 지정된 사설 네트워크 등)를 우선하여 이용하도록 설정될 수 있다. 근거리 통신 제어 모듈 37은 일정 주기 또는 실시간으로 주변 검색을 수행하고, 상술한 부가 네트워크가 검색(예: 부가 네트워크와 관련된 AP(Access point) 등이 검색)되면, 관련 통신 모듈(예: 와이파이 통신 모듈 또는 블루투스 통신 모듈)을 통하여 서버 장치 104 접속을 제어할 수 있다. 근거리 통신 제어 모듈 37은 예컨대, 응용 프로세서 123이 활성화 상태에서 실시간 또는 간헐적(예: 지정된 주기 또는 비주기에 따라)으로 운용될 수 있다. 또는 근거리 통신 제어 모듈 37은 응용 프로세서 123이 비활성화 상태에서 간헐적으로 운용될 수 있다. 근거리 통신 제어 모듈 37은 주기적 스케줄링 이벤트를 제2 프로세서 어댑터 39로부터 수신하고, 해당 이벤트와 관련한 메시지를 부가 네트워크를 통해 서버 장치 104에 전송할 수 있다.
OS 31은 커널, 미들웨어, API(application programming interface) 등을 포함할 수 있다. 상기 커널은, 예를 들면, 다른 프로그램들(예: 미들웨어, API, 또는 어플리케이션 프로그램)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스 110, 프로세서 120, 또는 메모리 130 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널은 상기 미들웨어, 상기 API, 또는 상기 어플리케이션 38에서 상기 전자 장치 100의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어는, 예를 들면, 상기 API 또는 상기 어플리케이션 38이 상기 커널과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어는 상기 어플리케이션 38로부터 수신된 작업 요청들과 관련하여, 예를 들면, 적어도 하나의 어플리케이션에 상기 전자 장치 100의 시스템 리소스 (예: 버스 110, 프로세서 120, 또는 메모리 130 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케줄링 또는 로드 밸런싱)를 수행할 수 있다.
상기 API는, 예를 들면, 상기 어플리케이션이 상기 커널 또는 상기 미들웨어에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수 (예: 명령어)를 포함할 수 있다. 한 실시 예에 따르면, API는 응용 프로세서 123의 제2 프로세서 어댑터 39와 통신 프로세서 121의 제2 프로세서 클라이언트 21의 데이터 전달을 위한 API를 포함할 수 있다. 또한, API는 제2 프로세서 클라이언트 21의 데이터 처리와 관련하여 발생한 새로운 데이터들을 임시 저장하고, 응용 프로세서 123 활성화 시 관련된 어플리케이션 38에 임시 저장된 데이터를 업데이트할 수 있는 API를 포함할 수 있다. 한 실시 예에 따르면, Keep alive 등록 관련 API는 다음 표 1과 같이 구현될 수 있다.
Return
value
API name
등록 ID int startHeartBeat(String serverIp, int port, int min, int max, int timeout, Callback callback)
serverIp : 대상 server 주소
port : 대상 server 포트
min : 기본 KeepAlive 전송 주기
max : 최대 KeepAlive 송신 주기 (min부터 시작해 성공 시 주기를 4분 씩 max까지 증가시킴)
timeout : KeepAlive 전송 후 응답까지 기다리는 시간
callback : 해당 Connection close 경우나 Timeout 발생 시 호출될 callback 함수
// CallBack 함수 호출 시 인자로 전달될 객체
class CpHeartBeatEvent{
int eventType;// 1 : connection close, 2 : timeout
String reason;// ex) connection reset by peer, socket timeout, etc.}
Return value API name
Success/fail(error code) boolean stopHeartBeat(int id)
Return value API name
Success/fail(error code) boolean sendHeartBeat(String serverIp, int port, int timeOut, Callback callback)
serverIp : 대상 server 주소
port : 대상 server port
timeout : KeepAlive 전송 후 응답까지 기다리는 시간
callback : 해당 Connection close 경우나 Timeout 발생 시 호출될 callback 함수
// CallBack 함수 호출 시 인자로 전달될 객체
class CpHeartBeatEvent{
int eventType;// 1 : connection close, 2 : timeout
String reason;// ex) connection reset by peer, socket timeout, etc.}
상술한 Keep alive 관련 API는 제2 프로세서 어댑터 39에서 구현되는 API의 일예로서, 다양한 형태로 변경되거나 조정될 수 있다.
통신 프로세서 121은 제2 프로세서 클라이언트 21, 네트웍 스택 23을 포함하는 처리 모듈 20을 포함할 수 있다. 제2 프로세서 클라이언트 21은 프로세서 인터페이스 35를 통해 제2 프로세서 어댑터 39로부터 어플리케이션 38 관련 정보를 수신할 수 있다. 제2 프로세서 클라이언트 21은 수신된 어플리케이션 38 관련 정보 중 주기적 스케줄링 이벤트 처리와 관련한 메시지를 네트웍 스택 23에 전달할 수 있다. 제2 프로세서 클라이언트 21은 예컨대, 어플리케이션 38 처리와 관련한 백그라운드 싱크 동작, 데이터 다운로드 또는 업로드를 제어할 수 있다. 제2 프로세서 클라이언트 21은 주기적 스케줄링 이벤트 처리 동작에서 획득된 적어도 일부 데이터를 메모리 130(통신 프로세서 121 운용을 위해 할당된 메모리 영역)에 저장할 수 있다. 제2 프로세서 클라이언트 21은 응용 프로세서 123이 활성화 상태로 변경되면, 저장된 정보를 응용 프로세서 123에 전달하여 해당 어플리케이션 38의 데이터 갱신을 지원할 수 있다.
제2 프로세서 클라이언트 21은 주기적 스케줄링 이벤트 처리(예: Keep alive 메시지 처리)와 관련하여 수신된 Ack 처리를 수행할 수 있다. 또한 제2 프로세서 클라이언트 21은 서버 장치 104로부터 푸시 메시지를 수신하는 경우, 이를 응용 프로세서 123에 전달할 수 있다. 이 동작에서 제2 프로세서 클라이언트 21은 슬립 모드 상태에서 응용 프로세서 123을 활성화하고, 푸시 메시지와 관련한 어플리케이션 38 정보, 푸시 메시지 등을 응용 프로세서 123에 전달할 수 있다. 제2 프로세서 클라이언트 21은 수신된 푸시 메시지를 디스플레이 150에 출력하도록 제어할 수 있다. 다양한 실시 예에 따르면, 전자 장치 100이 복수개의 디스플레이를 포함하고, 특정 디스플레이가 통신 프로세서 121 제어를 받도록 설계되면, 제2 프로세서 클라이언트 21은 수신된 푸시 메시지를 통신 프로세서 121과 관련하여 배치된 디스플레이에 출력하도록 제어할 수 있다. 상술한 처리와 관련하여, 제2 프로세서 클라이언트 21은 수신된 IP 패킷을 복호(디코딩)하고, 관련 어플리케이션 38에 데이터를 전달하도록 제어할 수 있다.
네트웍 스택 23에 제2 프로세서 클라이언트 21이 전달한 메시지를 일정 주기로 서버 장치 104에 전달할 수 있다. 이 동작에서, 네트웍 스택 23은 복수개의 전달 메시지가 존재하면, 메시지들의 전송 주기를 확인하고, 공통 주기 또는 통합 주기, 또는 적정 주기를 산출할 수 있다. 네트웍 스택 23은 산출된 주기에 따라 주기적 스케줄링 이벤트 처리와 관련한 메시지 전송을 수행할 수 있다.
상술한 제2 프로세서 클라이언트 21과 네트웍 스택 23은 하나의 공통 처리 모듈(예: 처리 모듈 20) 형태로 통신 프로세서 121에 배치될 수 있다. 또는 제2 프로세서 클라이언트 21과 네트웍 스택 23은 각각의 어플리케이션 38들에 대응하는 모듈들(예: 복수개의 처리 모듈들)로 마련되어 통신 프로세서 121에 배치될 수 있다. 다양한 실시 예에 따르면, 제2 프로세서 클라이언트 21과 네트웍 스택 23을 포함하는 라이트 버전의 어플리케이션이 통신 프로세서 121에 배치될 수도 있다.
도 3은 다양한 실시 예에 따른 공통 처리 모듈을 가지는 프로세서를 개략적으로 나타낸 도면이다.
도 3을 참조하면, 응용 프로세서 123은 어플리케이션 App1_1, 어플리케이션 App2_1, 어플리케이션 AppN_1과 OS 31을 포함할 수 있다. 상기 어플리케이션 App1_1, 어플리케이션 App2_1, 어플리케이션 AppN_1은 주기적 스케줄링 이벤트 처리 기능을 지원할 수 있다. 예컨대, 어플리케이션 App1_1, 어플리케이션 App2_1, 어플리케이션 AppN_1은 통화 관련 어플리케이션, 메시지 관련 어플리케이션, 채팅 관련 어플리케이션, SNS 관련 어플리케이션 등일 수 있다. 어플리케이션 App1_1은 예컨대, 특정 사용자 기능 수행과 관련한 App_1M 모듈과, 주기적 스케줄링 이벤트 처리와 관련한 App_1N 모듈을 포함할 수 있다. 이와 유사하게, 어플리케이션 App2_1은 지정된 사용자 기능 수행과 관련한 App_2M 모듈과, 주기적 스케줄링 이벤트 처리와 관련한 App_2N 모듈을 포함할 수 있다. 어플리케이션 AppN_1은 지정된 특정 사용자 기능을 지원하는 App_NM 모듈과, 주기적 스케줄링 이벤트 처리와 관련한 App_NM을 포함할 수 있다. App_1N 모듈, App_2N 모듈, App_NN 모듈 중 적어도 하나는 어플리케이션 관련 정보를 OS 31 제어에 따라 통신 프로세서 121의 공통 처리 모듈 200에 제공할 수 있다.
통신 프로세서 121의 공통 처리 모듈 200은 응용 프로세서 123에 배치된App_1N 모듈, App_2N 모듈, App_NN 모듈 중 적어도 하나로부터 해당하는 어플리케이션의 주기적 스케줄링 처리와 관련한 정보를 수신할 수 있다. 예컨대, 공통 처리 모듈 200은 App_1N 모듈로부터 어플리케이션 App1_1의 종류 정보, 접속할 서버 장치 104 주소 정보, 전송할 메시지 정보, 전송 주기 정보 등을 수신할 수 있다. 공통 처리 모듈 200은 App_1N 모듈, App_2N 모듈, App_NN 모듈들로부터 어플리케이션 관련 정보를 수신한 경우, 각 정보들의 전송 주기 정보들을 확인하여 공통 주기 또는 통합 주기, 또는 적정 주기를 산출할 수 있다. 공통 처리 모듈 200은 산출된 주기에 주기적 스케줄링 이벤트 처리와 관련한 메시지 전송을 제어할 수 있다. 상술한 공통 처리 모듈 200은 예컨대, 도 2에서 설명한 처리 모듈 20(또는 이벤트 처리 모듈)에 해당할 수 있다.
도 4는 다양한 실시 예에 따른 개별 모듈을 가지는 프로세서를 개략적으로 나타낸 도면이다.
도 4를 참조하면, 응용 프로세서 123은 어플리케이션 App1_2, 어플리케이션 App2_2, 어플리케이션 AppN_2와 OS 31을 포함할 수 있다. 상기 어플리케이션 App1_2, 어플리케이션 App2_2, 어플리케이션 AppN_2는 특정 사용자 기능 지원과 관련하여 주기적 스케줄링 이벤트 처리 기능을 지원할 수 있다. 예컨대, 어플리케이션 App1_2, 어플리케이션 App2_2, 어플리케이션 AppN_2는 앞서 설명한 통화 관련 어플리케이션, 메시지 관련 어플리케이션, 채팅 관련 어플리케이션, SNS 관련 어플리케이션 등일 수 있다. 한 실시 예에 따르면, 어플리케이션 App1_2, 어플리케이션 App2_2, 어플리케이션 AppN_2는 다양한 종류의 게임 어플리케이션일 수 있다. 어플리케이션 App1_2, 어플리케이션 App2_2, 어플리케이션 AppN_2는 종류별 게임 기능 운용과 관련한 App_1L 모듈, App_2L 모듈, App_NL 모듈을 포함할 수 있다. 또한 어플리케이션 App1_2, 어플리케이션 App2_2, 어플리케이션 AppN_2는 주기적 스케줄링 이벤트 처리와 관련한 App_1Q 모듈, App_2Q 모듈, App_NQ 모듈을 포함할 수 있다.
통신 프로세서 121은 상기 어플리케이션 App1_2, 어플리케이션 App2_2, 어플리케이션 AppN_2들의 주기적 스케줄링 이벤트 처리와 관련하여 App_1R 모듈 20_1, App_2R 모듈 20_2, App_NR 모듈 20_N을 포함할 수 있다. 통신 프로세서 121의 App_1R 모듈 20_1, App_2R 모듈 20_2, App_NR 모듈 20_N은 도 2 또는 도 3에서 설명한 처리 모듈 20 또는 공통 처리 모듈 200에서와 같이 제2 프로세서 클라이언트 21 및 네트웍 스택 23을 각각 포함할 수 있다. App_1R 모듈 20_1은 OS 31의 특정 API 또는 프로세서 인터페이스 35를 통하여 어플리케이션 App1_2에 배치된 App_1Q 모듈과 통신할 수 있다. 예컨대, App_1R 모듈 20_1은 어플리케이션 App1_2의 주기적 스케줄링 이벤트 처리와 관련한 어플리케이션 관련 정보를 App_1Q 모듈로부터 수신할 수 있다. App_1R 모듈 20_1은 수신된 어플리케이션 관련 정보에 대응하여 주기적 스케줄링 이벤트 처리와 관련한 메시지 전송을 제어할 수 있다. 이와 유사하게, App_2R 모듈 20_2는 어플리케이션 App2_2의 App_2Q 모듈로부터 어플리케이션 관련 정보를 수신할 수 있다. 또한, App_NR 모듈 20_N은 어플리케이션 AppN_2의 App_NQ 모듈로부터 어플리케이션 관련 정보를 수신할 수 있다. 상기 App_1R 모듈 20_1, App_2R 모듈 20_2, App_NR 모듈 20_N은 어플리케이션 관련 정보에서 정의된 전송 주기에 따라 관련 메시지의 전송 처리를 제어할 수 있다. 다양한 실시 예에 따르면, 통신 프로세서 121은 App_1R 모듈 20_1, App_2R 모듈 20_2, App_NR 모듈 20_N의 네트웍 스택의 데이터 전송 주기를 제어하여 하나의 주기에 관련 메시지들이 전송되도록 제어할 수도 있다.
도 5는 다양한 실시 예에 따른 라이트 버전의 어플리케이션을 가지는 프로세서를 개략적으로 나타낸 도면이다.
도 5를 참조하면, 응용 프로세서 123은 어플리케이션 App1_3, 어플리케이션 App2_3, 어플리케이션 AppN_3과 OS 31을 포함할 수 있다. 상기 어플리케이션 App1_3, 어플리케이션 App2_3, 어플리케이션 AppN_3은 특정 사용자 기능 지원과 관련한 풀 버전의 프로그램일 수 있다. 다양한 실시 예에 따르면, 상기 어플리케이션 App1_3, 어플리케이션 App2_3, 어플리케이션 AppN_3은 주기적 스케줄링 이벤트 처리가 요구되는 어플리케이션일 수 있다. 상기 어플리케이션 App1_3, 어플리케이션 App2_3, 어플리케이션 AppN_3은 예컨대, 응용 프로세서 123이 활성화되어 있는 상태에서는 응용 프로세서 123의 제어에 대응하여 주기적 스케줄링 이벤트 처리를 수행할 수 있다. 한 실시 예에 따르면, 상기 어플리케이션 App1_3, 어플리케이션 App2_3, 어플리케이션 AppN_3은 응용 프로세서 123이 슬립 상태로 천이되면, 주기적 스케줄링 이벤트 처리를 수행하지 않을 수 있다.
통신 프로세서 121은 상기 어플리케이션 App1_3, 어플리케이션 App2_3, 어플리케이션 AppN_3과 관련한 라이트 버전의 프로그램을 기반으로 설치된 App1 light 30_1, App2 light 30_2, AppN light 30_N을 포함할 수 있다. 예컨대, App1 light 30_1은 어플리케이션 App1_3과 관련한 주기적 스케줄링 이벤트 처리와 관련한 프로그램일 수 있다. 이와 유사하게, App2 light 30_2는 어플리케이션 App2_3과 관련한 주기적 스케줄링 이벤트 처리와 관련한 프로그램일 수 있다. 상기 App1 light 30_1, App2 light 30_2, AppN light 30_N은 상기 어플리케이션 App1_3, 어플리케이션 App2_3, 어플리케이션 AppN_3과 독립적으로 설치될 수 있다. 다양한 실시 예에 따르면, 어플리케이션 App1_3이 설치되면, 응용 프로세서 123은 어플리케이션 App1_3과 관련한 App1 light 30_1 설치와 관련한 안내 정보를 출력하거나, 해당 어플리케이션 설치와 관련한 링크 정보(예: 관련 프로그램을 제공하는 서버 장치 접속이 가능한 주소 정보 등)를 출력하도록 제어할 수 있다. 응용 프로세서 123은 App1 light 30_1 운용에 따른 소모 전류 저감 안내 메시지를 출력하도록 제어할 수 있다.
다양한 실시 예에 따르면, 상기 어플리케이션 App1_3, 어플리케이션 App2_3, 어플리케이션 AppN_3과 관련한 업데이트 정보와, App1 light 30_1, App2 light 30_2, AppN light 30_N과 관련한 업데이트 정보는 각각 개별적으로 갱신될 수 있다. 통신 프로세서 121에 라이트 버전의 프로그램이 설치되지 않은 어플리케이션의 경우, 응용 프로세서 123 기반으로 주기적 스케줄링 이벤트가 처리될 수 있다. 통신 프로세서 121은 라이트 버전의 프로그램이 설치되는 과정에서 관련 어플리케이션을 등록하고, 응용 프로세서 123이 슬립 모드로 천이되는 경우, 라이트 버전의 프로그램을 활성화하여 주기적 스케줄링 이벤트 처리를 제어할 수 있다.
다양한 실시 예에 따르면, 전자 장치 100은 풀 버전의 어플리케이션(예: App1_3, App2_3, AppN_3)과 라이트 버전 어플리케이션(예: App1 light, App2 light, AppN light)이 서로 주고 받을 수 있도록 정의된 정보 교환 API(예: 어플리케이션 간 정보 교환 API)를 포함할 수 있다. 한 실시 예에 따르면, 풀 버전 어플리케이션은 상술한 정보 교환 API를 기반으로 해당 어플리케이션의 전체 통합 핸들링을 수행하게 되며, 라이트 버전 어플리케이션과 기능 실행 관련한 정보를 송수신할 수 있다. 풀 버전 어플리케이션은 상기 정보 교환 API를 기반으로 다양한 풀 버전 어플리케이션의 상태 갱신(status update) 정보, 풀 버전 어플리케이션을 기반으로 수행된 최근 하트비트(heartbit 또는 keepAlive) 송신 정보를 라이트 버전 어플리케이션에 전달할 수 있다. 라이트 버전 어플리케이션은 라이트 버전 어플리케이션의 상태 갱신 정보, 라이트 버전 어플리케이션을 기반으로 수행된 최근 하트 비트 송신 정보를 풀 버전 어플리케이션에 제공할 수 있다. 다양한 실시 예에 따르면, 응용 프로세서 123이 슬립 상태인 경우에 통신 프로세서 121이 수신한 메시지들(예: 라이트 버전 어플리케이션 수행과 관련한 메시지들)이 정보 교환 API를 통하여 풀 버전 어플리케이션에 통합될 수 있다. 상술한 풀 버전 어플리케이션은 예컨대 채팅 어플리케이션(real-time messaging application), 메시지 어플리케이션, 게임 어플리케이션, SNS 어플리케이션 등이 될 수 있다. 상기 라이트 버전 어플리케이션은 라이트 버전의 채팅 어플리케이션, 라이트 버전의 메시지 어플리케이션, 라이트 버전의 게임 어플리케이션, 라이트 버전의 SNS 어플리케이션일 수 있다. 라이트 버전의 경우, 풀 버전 어플리케이션에 포함된 프로그램 루틴(또는 적어도 하나의 코드, 적어도 하나의 함수 등)들 중 통신 프로세서 121을 기반으로 수행될 일부 프로그램 루틴을 포함하는 형태일 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치는 응용 프로세서가 슬립 상태에서 적어도 하나의 어플리케이션 운용과 관련한 이벤트를 수집하는 통신 프로세서, 상기 수집된 이벤트에 대응하는 메시지를 외부 전자 장치에 전송하는 통신 인터페이스를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 상기 어플리케이션의 종류, 상기 이벤트의 전송 주기, 상기 메시지를 전송할 서버 주소 중 적어도 하나를 포함하는 어플리케이션 관련 정보를 등록 관리할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 복수개의 어플리케이션의 전송 주기들을 수집하고, 수집된 전송 주기들의 공통 주기 또는 적정 주기를 산출할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 상기 공통 주기 또는 적정 주기 도래 시 상기 어플리케이션들과 관련한 메시지들을 전송할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 상기 외부 전자 장치로부터 수신된 메시지를 확인하고, 메시지 속성에 따라 상기 응용 프로세서를 활성화하여 해당 어플리케이션에 상기 메시지를 전달할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 상기 외부 전자 장치로부터 수신된 메시지를 확인하고, 메시지 속성에 따라 상기 메시지를 디스플레이에 출력하도록 제어할 수 있다.
다양한 실시 예에 따르면, 상기 이벤트는 상기 어플리케이션들의 주기적 스케줄링에 따른 이벤트일 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 상기 어플리케이션의 주기적 스케줄링 이벤트 처리와 관련하여 설치된 어플리케이션 라이트 버전을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 상기 어플리케이션들의 주기적 스케줄링 이벤트 처리와 관련한 처리 모듈을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 이벤트는 Keep Alive 이벤트를 포함할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치는 적어도 하나의 어플리케이션 운용과 관련하여 주기적으로 처리되는 주기적 스케줄링 이벤트 메시지를 전송할 때, 외부 전자 장치와 형성된 통신 채널의 빠른 연결 해제를 요청하는 통신 프로세서, 상기 통신 채널 형성 및 연결 해제를 수행하는 통신 인터페이스를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 상기 주기적 스케줄링 이벤트 메시지 전송과 관련하여 빠른 연결 해제를 요청하는 새 메시지를 생성하고, 생성된 새 메시지를 상기 외부 전자 장치에 전송할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 상기 주기적 스케줄링 이벤트 메시지 전송과 관련하여 RRC 채널 형성 요청에 대한 이유에 Fast RRC connection release를 포함하는 RRC connection request 메시지를 생성할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 상기 주기적 스케줄링 이벤트 메시지 전송과 관련하여 빠른 연결 해제를 요청하는 인디케이터를 포함하는 UE assistance information를 상기 외부 전자 장치에 전송할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 LowPowerConsumption 정보를 포함하는 전력 선호 지시자(Power Preference Indicator)를 상기 UE assistance information에 정의할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 한 실시 예에 따른 전자 장치는 응용 프로세서가 슬립 상태에서 적어도 하나의 어플리케이션 운용과 관련하여 주기적으로 처리되는 주기적 스케줄링 이벤트를 수집하고, 상기 주기적 스케줄링 이벤트 처리의 위임을 외부 전자 장치에 요청하는 통신 프로세서, 상기 이벤트 처리 위임 요청과 관련한 쿼리 또는 메시지를 상기 외부 전자 장치에 전송하는 통신 인터페이스를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 상기 이벤트 처리 위임 요청 후 상기 주기적 스케줄링 이벤트와 관련한 메시지 전송을 중지할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 상기 외부 전자 장치로부터 상기 이벤트 처리 위임에 따른 이벤트 메시지를 수신할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 상기 이벤트 메시지 수신을 지정된 기간 동안 무시할 수 있다.
다양한 실시 예에 따르면, 상기 통신 프로세서는 상기 주기적 스케줄링 이벤트와 관련한 메시지 전송 이후 타이머를 동작시키고, 상기 타이머 완료 시, 상기 외부 전자 장치가 제공한 이벤트 메시지에 대한 응답 메시지를 전송할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 한 실시 예에 따른 외부 전자 장치(예: 서버 장치)는 전자 장치로부터 어플리케이션의 주기적 스케줄링 이벤트와 관련하여 이벤트 처리 위임 요청을 수신하는 서버 통신 모듈, 상기 이벤트 처리 위임 요청에 대응하여 지정된 주기로 상기 주기적 스케줄링 이벤트와 관련한 서버 이벤트 메시지를 상기 전자 장치 전송하도록 제어하는 서버 제어 모듈을 포함할 수 있다.
상기 서버 제어 모듈은 이벤트 처리 위임을 요청한 전자 장치들의 색인을 저장 관리할 수 있다.
상기 서버 제어 모듈은 주기적 스케줄링 이벤트가 요구되는 어플리케이션들의 종류와 전송 주기 정보를 저장 관리할 수 있다.
상기 서버 제어 모듈은 상기 어플리케이션들의 전송 주기 정보를 기반으로 복수개의 어플리케이션들과 관련한 서버 이벤트 메시지의 공통 전송 주기를 결정할 수 있다.
상기 서버 제어 모듈은 지정된 정책(예: 전자 장치로부터 이벤트 처리 위임 요청 취소와 관련한 메시지 수신, 전자 장치로부터 지정된 기간 내에 응답 메시지 미 수신, 지정된 기간 또는 지정된 횟수 동안 서버 이벤트 메시지 전송 등) 만족 여부에 따라 상기 서버 이벤트 메시지 전송을 중지할 수 있다.
도 6은 다양한 실시 예에 따른 소모 전류 저감과 관련한 이벤트 처리 방법을 나타낸 도면이다.
도 6을 참조하면, 이벤트 처리 방법에 있어서, 동작 601에서 응용 프로세서 123은 주기적 스케줄링 처리가 필요한 어플리케이션 설치 또는 갱신이 있는지 확인할 수 있다. 주기적 스케줄링 처리가 필요한 어플리케이션은 예컨대 기지국 장치 161과 또는 서버 장치 104와 주기적으로 메시지를 송수신하는 적어도 하나의 프로그램 루틴을 포함하는 어플리케이션일 수 있다. 주기적 스케줄링 이벤트 처리는 앞서 언급한 바와 같이 Keep alive 메시지 처리, 주기적 Ping 메시지 처리 등을 포함할 수 있다. 해당 프로그램 루틴은 어플리케이션의 속성 또는 종류에 따라 포함될 수 있으며, 어플리케이션 정보에 정의되며, 관련 정보는 응용 프로세서 123이 이를 확인할 수 있는 위치(예: 지정된 헤더 위치)에 배치될 수 있다. 주기적 스케줄링 이벤트 처리가 없는 어플리케이션이 설치되거나 갱신되는 경우, 응용 프로세서 123은 이하 동작을 스킵하고, 동작 607 이전으로 분기할 수 있다.
주기적 스케줄링 처리가 필요한 어플리케이션 설치 또는 갱신이 발생하면, 응용 프로세서 123은 동작 603에서 어플리케이션 등록을 처리할 수 있다. 예컨대, 응용 프로세서 123은 어플리케이션 관련 정보(예: 어플리케이션의 종류 정보, 대상 서버 장치 주소 정보, 대상 서버 장치 포트 정보, 전송 주기 등)를 수집할 수 있다. 응용 프로세서 123은 수집된 어플리케이션 관련 정보를 통신 프로세서 121에 전달하여 관련 모듈에 등록하도록 요청할 수 있다. 통신 프로세서 121은 응용 프로세서 123의 요청에 대응하여 특정 어플리케이션 관련 정보를 주기적 스케줄링 이벤트 처리와 관련하여 등록 처리할 수 있다.
동작 605에서, 통신 프로세서 121은 어플리케이션들의 스케줄링 정보 기반 통합 스케줄링 산출을 수행할 수 있다. 예컨대, 통신 프로세서 121은 복수의 어플리케이션 관련 정보에서 전송 주기 정보들을 확인할 수 있다. 통신 프로세서 121은 복수의 전송 주기 정보들을 기반으로 공통 주기 또는 적정 주기를 산출할 수 있다. 통신 프로세서 121은 산출된 공통 주기 또는 적정 주기를 통합 스케줄링 기준으로 결정할 수 있다. 한 실시 예에 따르면, 통신 프로세서 121은 어플리케이션 관련 정보에서 기본 전송 주기와 최대 전송 주기 정보를 추출하고, 복수의 전송 주기들의 공통 구간을 산출할 수 있다. 통신 프로세서 121은 공통 구간 중 적어도 하나의 시점 또는 범위를 공통 주기 또는 적정 주기로 결정할 수 있다.
동작 607에서 통신 프로세서 121은 산출된 통합 스케줄링에 따른 이벤트 처리를 제어할 수 있다. 예컨대, 통신 프로세서 121은 산출된 공통 주기 또는 적정 주기 시점이 도래하면, 주기적 스케줄링 이벤트들과 관련된 메시지를 서버 장치에 전송하도록 제어할 수 있다. 통신 프로세서 121은 새로운 어플리케이션 38 설치에 따라 공통 주기 또는 적정 주기가 변경되기 이전까지 이전 공통 주기 또는 적정 주기에 따른 주기적 스케줄링 이벤트 처리를 지원할 수 있다.
도 7은 다양한 실시 예에 따른 소모 전류 저감과 관련한 프로세서 간 이벤트 처리 방법을 나타낸 도면이다.
도 7을 참조하면, 프로세서 간 이벤트 처리 방법에 있어서, 동작 701에서 통신 프로세서 121은 이벤트 수신이 있는지 확인할 수 있다. 이 동작에서 전자 장치 100은 응용 프로세서 123이 슬립 상태를 가질 수 있다. 또한, 통신 프로세서 121은 주기적 스케줄링 이벤트 처리와 관련하여 깨움 상태를 가질 수 있다. 또한, 통신 프로세서 121은 서버 장치가 제공한 푸시 메시지 등을 수신할 수 있는 상태를 가질 수 있다. 별도의 이벤트 수신이 없는 경우, 통신 프로세서 121은 이하 동작들을 스킵하고, 대기 상태를 가질 수 있다. 또는 통신 프로세서 121은 공통 주기 또는 특정 주기적 스케줄링 이벤트 처리와 관련한 주기 도래를 대기할 수 있다.
특정 이벤트가 수신되면, 동작 703에서 통신 프로세서 121은 수신된 이벤트 처리와 관련하여 응용 프로세서 123 기반 처리가 필요한지 확인할 수 있다. 예컨대, 통신 프로세서 121은 수신된 이벤트가 응용 프로세서 123 기반의 어플리케이션 38에 전달되도록 요청된 것인지 확인할 수 있다. 응용 프로세서 123 기반 처리가 필요한 경우, 동작 705에서 통신 프로세서 121은 응용 프로세서 123을 통해 이벤트를 해당 어플리케이션에 전달할 수 있다. 이와 관련하여, 통신 프로세서 121은 슬립 상태의 응용 프로세서 123을 활성화하도록 제어할 수 있다. 통신 프로세서 121은 이벤트를 응용 프로세서 123에 전달할 수 있다. 응용 프로세서 123은 수신된 이벤트의 종류를 확인하여 관련된 어플리케이션 38을 검색하고, 해당 어플리케이션 38에 이벤트를 전달하여 처리하도록 제어할 수 있다.
수신된 이벤트 처리 동작에서 응용 프로세서 123 기반 처리가 필요하지 않은 경우, 통신 프로세서 121은 동작 707에서 통신 프로세서 121 기반 이벤트 처리를 제어할 수 있다. 예컨대, 통신 프로세서 121은 수신된 이벤트에 대응하는 지정된 화면을 디스플레이 150에 출력하도록 제어할 수 있다. 또는 통신 프로세서 121은 수신된 이벤트 확인 후 응답 신호(Ack)를 서버 장치에 전송하도록 제어할 수 있다. 또는 통신 프로세서 121은 수신된 이벤트 확인 후 별도 동작 처리 없이 대기 상태를 가질 수 있다. 이벤트 처리 동작 이후 통신 프로세서 121은 이벤트 수신 대기 상태를 가질 수 있다.
도 8은 다양한 실시 예에 따른 소모 전류 저감과 관련한 주기적 스케줄링에 따른 프로세서 운용 방법을 나타낸 도면이다.
도 8을 참조하면, 주기적 스케줄링에 따른 프로세서 운용 방법에 있어서, 동작 801에서 전자 장치 100은 주기적 스케줄링 처리가 필요한 이벤트가 발생하는지 확인할 수 있다. 이와 관련하여, 전자 장치 100의 응용 프로세서 123은 특정 어플리케이션 38과 관련하여 주기적 스케줄링 처리가 필요한 이벤트 발생 상황인지 확인할 수 있다. 응용 프로세서 123은 주기적 스케줄링 처리가 필요한 이벤트가 발생한 경우, 해당 이벤트 처리를 통신 프로세서 121에 요청할 수 있다. 응용 프로세서 123은 주기적 스케줄링 처리 요청 이후 수행할 이벤트 존재 여부에 따라 통신 프로세서 121과 독립적으로 슬립 상태로 천이될 수 있다. 다양한 실시 예에 따르면, 주기적 스케줄링 처리가 필요한 이벤트는 통신 프로세서 121에 사전 등록된 어플리케이션 관련 정보에 의해 발생할 수도 있다. 예컨대, 전자 장치 100의 통신 프로세서 121은 어플리케이션 관련 정보들로부터 산출된 공통 주기가 도래하는지 확인할 수 있다. 전자 장치 100은 공통 주기가 도래하면 주기적 스케줄링 처리가 필요한 이벤트 발생으로 판단할 수 있다.
주기적 스케줄링 처리가 필요한 이벤트가 발생하면, 동작 803에서 전자 장치 100은 통신 프로세서 121 기반의 이벤트 처리를 제어할 수 있다. 주기적 스케줄링 이벤트 처리에 통신 프로세서 121 필요 여부는 어플리케이션 38 설치 과정 또는 갱신 과정 등에서 확인될 수 있다.
전자 장치 100은 통신 프로세서 121 기반 이벤트 처리 동작과 관련하여 동작 805에서와 같이 응용 프로세서 123 활성화가 필요한지 확인할 수 있다. 다양한 실시 예에 따르면, 예컨대, 전자 장치 100의 통신 프로세서 121은 비 주기적 이벤트 처리 또는 서버 장치 104 요청에 따른 이벤트 처리와 관련하여 대기 상태를 가질 수 있다. 비 주기적 이벤트 처리 또는 서버 장치 104 요청에 따른 이벤트 처리가 수신되면, 통신 프로세서 121은 비주기적 이벤트 또는 서버 장치 104 요청 이벤트가 응용 프로세서 123 기반의 처리가 필요한지 확인할 수 있다.
응용 프로세서 123 활성화가 필요한 경우, 동작 807에서 전자 장치 100은 응용 프로세서 123 깨우기 또는 응용 프로세서 123 활성화를 수행하고, 이벤트를 응용 프로세서 123에 전달할 수 있다. 동작 809에서, 전자 장치 100은 응용 프로세서 123 기반 이벤트 처리를 제어할 수 있다. 한 실시 예에 따르면, 전자 장치 100은 통신 프로세서 121을 기반으로 운용 중에 서버 장치 104로부터 푸시 메시지를 수신하면, 수신된 푸시 메시지 처리에 응용 프로세서 123 활성화가 필요한지 확인할 수 있다. 전자 장치 100은 푸시 메시지 처리와 관련하여 응용 프로세서 123 활성화가 필요하면 슬립 상태의 응용 프로세서 123을 활성화하도록 제어할 수 있다. 전자 장치 100은 응용 프로세서 123 제어에 따라 수신된 푸시 메시지를 출력하거나 해당 어플리케이션에 전달할 수 있다.
도 9는 다양한 실시 예에 따른 어플리케이션 라이트 버전 운용 방법을 나타낸 도면이다.
도 9를 참조하면, 동작 901에서 전자 장치 100은 어플리케이션 38 설치를 지원할 수 있다. 이와 관련하여, 전자 장치 100은 타 전자 장치 또는 서버 장치 104로부터 어플리케이션 38을 설치와 관련한 파일들을 수신할 수 있다. 또는 전자 장치 100은 특정 어플리케이션 38과 관련한 파일들을 메모리 130에 저장된 상태에서, 어플리케이션 38 설치와 관련한 이벤트 수신에 대응하여 어플리케이션 38 설치를 지원할 수 있다. 상술한 동작에서 전자 장치 100의 응용 프로세서 123은 어플리케이션 38 설치와 관련한 처리를 지원할 수 있다. 한 실시 예에 따르면, 전자 장치 100은 통신 프로세서 121은 어플리케이션 38 파일을 서버 장치로부터 수신할 수 있다. 이 동작에서 응용 프로세서 123은 슬립 상태 또는 활성화 상태를 가질 수 있다. 어플리케이션 38 파일 수신이 완료되면, 통신 프로세서 121은 응용 프로세서 123에게 어플리케이션 38 설치를 요청할 수 있다. 이 동작에서 통신 프로세서 121은 응용 프로세서 123이 슬립 상태인 경우, 활성화하도록 제어할 수 있다. 다양한 실시 예에 따르면, 어플리케이션 38 파일 수신과 함께 동시 설치되도록 프로그램이 설계된 경우, 통신 프로세서 121이 수신한 어플리케이션 38 파일을 응용 프로세서 123에 전달하고, 응용 프로세서 123은 수신된 파일을 기반으로 어플리케이션 38 설치를 제어할 수 있다.
어플리케이션 38 설치가 완료되면 동작 903에서, 전자 장치 100은 라이트 버전이 존재하는지 여부를 확인할 수 있다. 예컨대, 전자 장치 100은 라이트 버전 확인을 위하여 설치되는 어플리케이션 38을 제공한 웹 스토어 또는 서버 장치에 라이트 버전 요청을 수행할 수 있다. 다양한 실시 예에 따르면, 서버 장치 또는 웹 스토어는 특정 어플리케이션 38이 전자 장치 100에 설치된 이후, 해당 어플리케이션 38과 관련한 라이트 버전이 있는지 여부를 전자 장치 100에 제공할 수 있다. 또는 서버 장치 또는 웹 스토어는 어플리케이션 38의 라이트 버전 설치와 관련한 정보를 전자 장치 100에 제공할 수 있다. 다양한 실시 예에 따르면, 어플리케이션 38 설치와 관련한 파일 내에 라이트 버전 설치 안내 정보가 포함될 수 있다. 어플리케이션 38 설치가 완료되면, 전자 장치 100은 안내 정보를 디스플레이 150에 출력할 수 있다.
라이트 버전이 존재하고, 라이트 버전 설치가 요청되면, 동작 905에서 전자 장치 100은 어플리케이션 라이트 버전을 통신 프로세서 121 기반으로 설치되도록 제어할 수 있다. 예컨대, 통신 프로세서 121은 기능 운용과 관련하여 할당된 메모리 영역에 어플리케이션 라이트 버전을 설치할 수 있다. 통신 프로세서 121은 라이트 버전 설치가 완료되면, 특정 어플리케이션 라이트 버전 설치 완료 정보를 응용 프로세서 123에 전달할 수 있다. 응용 프로세서 123은 설치된 어플리케이션 38과 라이트 버전 간의 통신이 가능하도록 API를 설정할 수 있다. 예컨대, 응용 프로세서 123은 슬립 상태로 천이되는 경우 설정된 API를 이용하여 어플리케이션 라이트 버전 운용을 통신 프로세서 121에 요청할 수 있다. 통신 프로세서 121은 라이트 버전 운용에 따라 생성된 데이터를 할당된 메모리에 저장할 수 있다. 통신 프로세서 121은 응용 프로세서 123이 활성화되는 경우 저장된 데이터를 응용 프로세서 123에 제공하여 해당 어플리케이션 38의 데이터 갱신을 요청할 수 있다. 또는 특정 어플리케이션 38 활성화를 요청하는 이벤트(예: 사용자 입력)가 발생에 따라, 통신 프로세서 121은 응용 프로세서 123로부터 해당 어플리케이션 38 관련 갱신 데이터 확인 요청을 수신하고, 그에 대응하여 관련 갱신 데이터를 응용 프로세서 123에 전달할 수도 있다.
동작 903에서 어플리케이션 38 관련 라이트 버전이 없는 경우, 전자 장치 100의 응용 프로세서 123은 동작 907에서 통신 프로세서 121의 공통 처리 모듈 200에 정보를 등록하거나, 각 어플리케이션 38별로 통신 프로세서 121에 배치된 처리 모듈 20에 개별 정보 등록을 처리할 수 있다. 이와 관련하여, 응용 프로세서 123은 설치된 어플리케이션 38의 주기적 스케줄링 처리와 관련한 어플리케이션 관련 정보를 수집하고, 해당 정보를 프로세서 인터페이스 35를 통하여 공통 처리 모듈 200 또는 처리 모듈 20에 전달할 수 있다.
도 10은 다양한 실시 예에 따른 소모 전류 저감 관련 채널 해제 방법을 나타낸 도면이다.
도 10을 참조하면, 채널 해제 방법에 있어서, 동작 1001에서 전자 장치 100은 기지국 장치 161과 연결 상태를 가질 수 있다. 예컨대, 전자 장치 100은 기지국 장치 161에 통신 채널 할당을 요청하여, 통신 채널을 할당받을 수 있다. 전자 장치 100은 해당 통신 채널을 통하여 사용자 입력 이벤트에 따른 또는 스케줄링된 이벤트에 따른 데이터 전송 또는 데이터 수신을 처리할 수 있다. 다양한 실시 예에 따르면, 동작 1001에서 전자 장치 100의 통신 프로세서 121은 주기적 스케줄링 이벤트 처리와 관련하여 기지국 장치 161과 연결될 수 있다. 서버 장치 예컨대 이동성 관리 개체(MME) 104는 전자 장치의 이동성 관련해서 기지국 장치 161과 연결될 수 있다.
동작 1003에서, 전자 장치 100은 RRC(radio resource control 채널) 연결 해제 요청을 기지국 장치 161을 통하여 이동성 관리 개체 104에 요청할 수 있다. 예컨대, 전자 장치 100은 주기적 스케줄링 이벤트에 따른 메시지를 전송한 경우, RRC 연결 해제 요청 메시지를 이동성 관리 개체 104에 전송할 수 있다. 다양한 실시 예에 따르면, 전자 장치 100은 주기적 스케줄링 이벤트 처리와 관련한 메시지 전송 이후 지정된 인터벌 이후 RRC 연결 해제 요청 메시지를 이동성 관리 개체 104에 전송할 수도 있다.
전자 장치 100으로부터 주기적 스케줄링 이벤트 관련 메시지와 RRC 연결 해제 요청 메시지를 수신하면, 동작 1005에서 이동성 관리 개체 104는 수신된 RRC 연결 해제 요청 메시지를 기반으로 연결 해제 명령을 기지국 장치 161에 전달할 수 있다. 동작 1007에서 기지국 장치 161은 이동성 관리 개체 104 제어에 대응하여 전자 장치 100과의 연결 해제를 수행할 수 있다.
도 11은 다양한 실시 예에 따른 채널 연결 해제와 관련한 메시지 타입의 일예를 나타낸 도면이다.
도 11을 참조하면, 도 10에서 설명한 바와 같이, 전자 장치 100은 주기적 스케줄링 이벤트 처리와 관련하여 RRC 연결 해제를 이동성 관리 개체 104에 요청할 수 있다. 이 동작에서 전자 장치 100은 도시된 바와 같은 RRC 연결 해제 요청 메시지를 작성하여 이동성 관리 개체 104에 전송할 수 있다. 도시된 메시지 타입은 LTE 통신에서 정의된 EPS 이동 관련 메시지에 관한 것으로, 이동성 관리 개체 104는 지정된 EPS 이동 관련 메시지(EMM 메시지)를 전자 장치 100으로부터 수신하면, RRC 연결 해제를 명령할 수 있다. 전자 장치 100은 예컨대, EPS 이동 관련 메시지에 포함된 특정 메시지 영역을 이동성 관리개체 104 간에 정의하여 RRC 연결 해제 요청 메시지로 이용할 수 있다. 예컨대, 전자 장치 100은 EPS 이동 관련 메시지 영역 중 Attach reject, Detach request, Tracking area update reject, EMM status, EMM information중 적어도 하나의 메시지 영역 값을 지정된 값으로 조정하여 이동성 관리 개체 104에 전송할 수 있다. 다양한 실시 예에 따르면, 도 11에 정의된 기존 EMM 메시지가 전송된 다음에 도 11에 제시된 EMM 메시지 타입과 유사한 새로운 메시지 타입을 정의하여 RRC 연결 해제 요청 메시지로 이동성 관리 개체 104에 전송할 수 있다.
도 12는 다양한 실시 예에 따른 소모 전류 저감 관련 채널 설정 방법을 나타낸 도면이다.
도 12를 참조하면, 채널 설정 방법에 있어서, 동작 1201에서 전자 장치 100은 RRC connection request 메시지를 기지국 장치 161에 전송할 수 있다. 이 동작에서 RRC connection request 메시지는 타입 1210에 해당하는 형태로 정의될 수 있다. 예컨대, 전자 장치 100은 RRC connection request 메시지의 RRC 채널 형성 요청에 대한 이유로서, MO-signaling, MT-Access, MO-Data, High Priority Access(LTE RRC connection request 메시지 규격)에 추가적으로 Fast RRC connection release를 포함하도록 작성할 수 있다. 기지국 장치 161은 Fast RRC connection release를 포함하는 채널 형성 이유를 포함한 메시지를 전자 장치 100으로부터 수신하면, 해당 전자 장치 100에 대한 추가 관리를 수행할 수 있다. 예컨대, 기지국 장치 161은 Fast RRC connection release 관련 메시지를 수신하면 RRC 연결 해제와 관련한 리스트에 전자 장치 100의 식별 정보를 등록시킬 수 있다.
동작 1203에서 기지국 장치 161은 RRC connection setup 메시지를 전자 장치 100에 전송할 수 있다. RRC connection setup 메시지는 Radio resource configuration 정보를 포함할 수 있다. 전자 장치 100은 수신된 Radio resource configuration 정보에 대응하여 통신 채널 세팅을 처리할 수 있다. 이 동작에서 전자 장치 100은 주변 기지국 검색을 수행하고, 기지국 선택을 수행할 수 있다.
채널 세팅이 완료되면, 동작 1205에서, 전자 장치 100은 RRC connection setup complete 메시지를 기지국 장치 161에 전송할 수 있다. RRC connection setup complete 메시지는 PLMN-ID(전자 장치 100이 선택한 셀 ID), registered MME, dedicated_info_NAS 정보 등을 포함할 수 있다. 동작 1206에서, 전자 장치 100은 기지국 장치 161과 형성된 채널을 통해 주기적 스케줄링 이벤트 메시지 예컨대 Keep alive message를 기지국 장치 161에 전송할 수 있다. 기지국 장치 161은 keep alive event가 완료 되면 RRC 연결 이유가 keep alive message 전송인 것을 미리 인지하고 있기 때문에 동작 1207에서와 같이 적절한 시점에 빠르게 RRC 연결 해제를 수행할 수 있다. 이 동작에서 기지국 장치 161은 RRC connection release 메시지를 전자 장치 100에 전송할 수 있다.
도 13은 다양한 실시 예에 따른 소모 전류 저감 관련 메시지 설정 방법을 나타낸 도면이다.
도 13을 참조하면, 전자 장치 100이 기지국 장치 161에 연결 요청을 수행함에 대응하여, 동작 1301에서 전자 장치 100과 기지국 장치 161은 RRC connection reconfiguration을 기반으로 하는 연결 상태를 가질 수 있다. 전자 장치 100은 동작 1301 상태에서 주기적 스케줄링 이벤트 처리와 관련한 메시지를 기지국 장치 161에 전송할 수 있다.
동작 1303에서, 전자 장치 100은 주기적 스케줄링 이벤트 처리와 관련한 메시지를 기지국 장치 161에 전송하고 지정된 시간 이내에 또는 상기 메시지 전송과 함께 UE assistance information을 기지국 장치 161에 전송할 수 있다. 상기 UE assistance information은 타입 1310에서와 같이 전력 선호 지시자(Power Preference Indicator)를 포함할 수 있다. 한 실시 에에 따르면, UE assistance information의 전력 선호 지시자는 LowPowerConsumption 정보를 포함할 수 있다. LowPowerConsumption 정보는 운용 중인 채널과 관련하여 저전력 채널 운용을 위해 빠른 채널 해제를 요청하는 정보일 수 있다. LowPowerConsumption 정보를 포함하는 전력 선호 지시자와 관련한 UE assistance information을 전자 장치 100으로부터 수신하면, 동작 1305에서 기지국 장치 161은 채널 연결 해제와 관련하여 전자 장치 100에 RRC connection release 메시지를 전송할 수 있다.
상술한 바와 같이 Connection release 요청 메시지를 보내기 위해서 통신 프로세서 121은 메시지 전송 시점에 관한 정보를 획득할 수 있다. 예컨대, 통신 프로세서 121은 어플리케이션으로부터 메시지 전송 시점을 획득할 수 있다. 이 경우, 전자 장치 100은 어플리케이션과 통신 프로세서 121 간의 정보 교환을 위해 정의된 정보 교환 API를 포함할 수 있다.
통신 프로세서 121은 상기 정보 교환 API를 기반으로 어플리케이션으로부터 Sync 또는 keepalive와 같은 주기적인 packet, 후속 패킷 부재를 지시하는 지시자(indication), 주기적 packet의 전송 주기, 후속 전송 데이터 부재를 지시하는 지시자, 후속 수신 데이터 부재를 지시하는 지시자 중 적어도 하나를 수신할 수 있다.
도 14는 다양한 실시 예에 따른 소모 전류 저감 관련 이벤트 처리 위임 방법을 나타낸 도면이다.
도 14를 참조하면, 이벤트 처리 위임 방법에 있어서, 동작 1401에서 전자 장치 100과 기지국 장치 161은 연결 상태를 가질 수 있다. 이와 관련하여, 전자 장치 100은 기지국 장치 161과의 연결을 위한 채널 할당 요청을 수행할 수 있다. 한 실시 예에 따르면, 전자 장치 100은 주기적 스케줄링 이벤트 관련 메시지 전송을 위하여 기지국 장치 161에 채널 할당을 요청할 수 있다. 이 동작에서 전자 장치 100은 복수개의 주기적 스케줄링 이벤트가 있는 경우, 관련 이벤트들의 공통 전송 주기를 산출한 후, 해당 전송 주기에 채널 할당을 요청할 수 있다.
동작 1403에서 전자 장치 100은 주기적 스케줄링 이벤트와 관련된 메시지를 기지국 장치 161을 통해 서버 장치 105에 전송할 수 있다. 한 실시 예에 따르면, 전자 장치 100은 복수개의 어플리케이션 관련 정보를 기반으로 하는 메시지 전송 시, 상기 메시지는 각 어플리케이션들의 주기적 스케줄링 이벤트 처리와 관련한 정보들을 포함할 수 있다. 예컨대, 메시지는 어플리케이션의 개수, 어플리케이션의 종류, 어플리케이션별 확인 요청 사항 등의 정보를 포함할 수 있다.
동작 1405에서 서버 장치 105는 수신된 주기적 스케줄링 이벤트 관련 메시지에 대응하는 응답 메시지 Ack를 전자 장치 100에 전송할 수 있다. 이 동작에서 서버 장치 105는 복수개의 어플리케이션 관련 정보를 기반으로 제공된 메시지인 경우 해당 어플리케이션들의 공통 Ack를 제공할 수 있다. 또는 전자 장치 100과의 사전 설정(또는 프로토콜)에 따라 서버 장치 105는 하나의 Ack만을 전자 장치 100에 제공할 수도 있다.
동작 1407에서 전자 장치 100은 이벤트 처리 위임을 요청하는 메시지(예: 이벤트 처리 위임이 가능한지 확인하기 위한 메시지)를 서버 장치 105에 전송할 수 있다. 동작 1409에서 서버 장치 105는 이벤트 처리 위임이 가능한 경우 이벤트 처리 위임 승낙에 대응하는 응답 메시지 response를 전자 장치 100에 전송할 수 있다.
동작 1411에서, 예컨대, 전자 장치 100은 응답 메시지 response를 서버 장치 105로부터 수신하면 주기적 스케줄링 이벤트 처리와 관련한 이벤트 메시지 전송을 중지할 수 있다. 한 실시 예에 따르면, 서버 장치 105는 응답 메시지 response를 전자 장치 100에 전송한 이후, 주기적 스케줄링 이벤트와 관련한 서버 이벤트 메시지를 생성할 수 있다. 동작 1413에서, 서버 장치 105는 생성된 서버 이벤트 메시지를 전자 장치 100에 전송할 수 있다. 서버 장치 105는 전자 장치 100이 요청한 전송 주기 또는 해당 이벤트의 종류와 관련한 전송 주기, 또는 지정된 전송 주기에 따라 서버 이벤트 메시지를 전자 장치 100에 전송할 수 있다. 한 실시 예에 따르면 서버장치 105가 보낸 서버 이벤트 메시지에 대한 응답을 전자 장치 100이 하지 않을 수 있으며, 서버장치 105도 응답을 기다리지 않을 수 있다.
다양한 실시 예에 따르면, 전자 장치 100은 이벤트 메시지 전송을 중지한 이후, 지정된 타이머를 동작시킬 수 있다. 전자 장치 100의 타이머가 동작하는 동안 전자 장치 100은 서버 장치 105로부터 서버 이벤트 메시지를 적어도 하나를 수신할 수 있다. 동작 1415에서 전자 장치 100은 동작시킨 타이머가 완료됨을 확인할 수 있다. 동작 1417에서 전자 장치 100은 타이머 완료에 대응하여 지정된 응답 메시지 Ack를 서버 장치 105에 전송할 수 있다. 서버 장치 105는 전자 장치 100으로부터 응답 메시지 Ack를 수신함에 따라 전자 장치 100을 유효한 상태(예: 통신 가능 상태)로 판단할 수 있다. 동작 1419에서, Ack 수신 이후 서버 장치 105는 서버 이벤트 메시지를 주기적으로 전자 장치 100에 전송할 수 있다. 다양한 실시 예에 따르면, 전자 장치 100으로부터 이벤트 처리 위임에 대한 별도의 해제 요청을 수신하거나 또는 서버 장치 105에서 정의한 정책에 대응하는 기간 동안 서버 장치 105는 서버 이벤트 메시지 전송을 수행할 수 있다.
도 15는 다양한 실시 예에 따른 이벤트 처리 위임 관련 전자 장치 운용 방법을 나타낸 도면이다.
도 15를 참조하면, 전자 장치 운용 방법에 있어서, 동작 1501에서 전자 장치 100은 주기적 스케줄링 이벤트 처리를 수행할 수 있다. 이와 관련하여, 전자 장치 100은 지정된 주기의 도래에 따라 적어도 하나의 어플리케이션의 주기적 스케줄링 이벤트가 발생하면, 기지국 장치 161과 통신 채널을 형성할 수 있다. 전자 장치 100은 형성된 통신 채널을 통해 주기적 스케줄링 이벤트와 관련한 메시지를 기지국 장치 161에 전송할 수 있다. 전자 장치 100은 메시지 전송에 따른 응답 메시지 예컨대, Ack를 기지국 장치 161로부터 수신할 수 있다.
동작 1503에서 전자 장치 100은 서버 장치 105에 이벤트 처리 위임이 가능한지 확인할 수 있다. 이벤트 처리 위임 확인과 관련하여, 전자 장치 100은 서버 장치 105에 이벤트 처리 위임이 가능한지를 확인하는 쿼리(query)를 전송할 수 있다. 서버 장치 105가 이벤트 처리 위임이 가능한 경우, 쿼리에 대한 응답 메시지 예컨대, response(ok)를 수신할 수 있다. 서버 장치 105에서 이벤트 처리 위임이 불가능한 경우, 전자 장치 100은 동작 1501 이전으로 복귀하여, 제어에 따른 주기적 스케줄링 이벤트 처리를 수행할 수 있다. 상기 전자 장치 100은 사용자 입력에 따른 시점 또는 최초 서버 장치 105에 주기적 스케줄링 이벤트와 관련한 메시지를 전송한 직후, 지정된 일정 시점 중 적어도 하나에 따라 이벤트 처리 위임 확인과 관련한 쿼리를 전송할 수 있다.
서버 장치 105로부터 이벤트 처리 위임이 가능하다는 응답 메시지를 수신하면, 동작 1505에서 전자 장치 100은 이벤트 처리 위임 요청을 할 수 있다. 예컨대, 전자 장치 100은 이벤트 처리 위임을 요청하는 메시지를 서버 장치 105에 전송할 수 있다.
동작 1507에서, 전자 장치 100은 주기적 스케줄링 이벤트 처리와 관련한 메시지 전송을 중지할 수 있다. 또한, 전자 장치 100은 서버 장치 105로부터 수신된 서버 이벤트 메시지 처리를 수행할 수 있다. 서버 이벤트 메시지의 전송 주기는 전자 장치 100이 지정한 주기 또는 서버 장치 105가 지정한 주기 중 적어도 하나에 따라 결정될 수 있다.
한 실시 예에 따르면, 전자 장치 100은 일정 주기로 수신되는 서버 이벤트 메시지를 무시(ignore)할 수 있다. 또는 전자 장치 100은 지정된 시간(예: 지정된 타이머 구동 시간) 동안 서버 이벤트 메시지를 무시하고, 시간 경과 후 응답 메시지를 서버 장치 105에 전송할 수 있다. 또는 전자 장치 100은 지정된 시간 경과 후 주기적 스케줄링 이벤트 처리와 관련한 메시지를 서버 장치 105에 전송할 수 있다.
동작 1509에서, 전자 장치 100은 기능 종료와 관련한 이벤트 발생이 있는지 확인할 수 있다. 기능 종료와 관련한 이벤트 발생이 없는 경우, 전자 장치 100은 동작 1507 이전으로 분기하여 이하 동작을 재수행할 수 있다. 기능 종료와 관련한 이벤트가 발생하면, 전자 장치 100은 지정된 사용자 기능을 수행(예: 동작 1501 이전으로 분기하여 이하 동작 수행)할 수 있다. 기능 종료와 관련한 이벤트는 응용 프로세서 123이 활성화되는 이벤트, 지정된 사용자 입력 또는 스케줄링 발생 이벤트 등을 포함할 수 있다. 또는 기능 종료와 관련한 이벤트는 서버 장치 105의 정책에 의해 결정된 메시지 수신이 될 수도 있다.
도 16은 다양한 실시 예에 따른 이벤트 처리 위임 관련 서버 장치 운용 방법을 나타낸 도면이다.
도 16을 참조하면, 서버 장치 운용 방법에 있어서, 동작 1601에서, 서버 장치 105는 이벤트 처리 위임과 관련한 요청이 수신되는지 확인할 수 있다. 예컨대, 서버 장치 105는 이벤트 처리 위임과 관련한 쿼리를 특정 전자 장치 100으로부터 수신되는지 확인할 수 있다. 관련 메시지 수신이 없으면, 동작 1603에서 서버 장치 105는 수신 이벤트 메시지 처리를 수행할 수 있다. 예컨대, 서버 장치 105는 전자 장치 100으로부터 주기적 스케줄링 이벤트 처리와 관련한 메시지를 수신하면, 그에 따른 응답 처리를 수행할 수 있다.
이벤트 처리 위임 요청 쿼리가 수신되면, 동작 1605에서, 서버 장치 105는 해당 전자 장치 등록 관리를 수행할 수 있다. 예컨대, 서버 장치 105는 이벤트 처리 위임을 요청한 전자 장치의 식별 정보 및 어플리케이션 관련 정보를 등록 관리할 수 있다.
동작 1607에서, 서버 장치 105는 서버 이벤트 메시지 전송을 수행할 수 있다. 서버 장치 105는 특정 전자 장치 100의 어플리케이션들과 관련하여 처리할 주기적 스케줄링 이벤트의 전송 주기를 확인할 수 있다. 서버 장치 105는 해당 전송 주기가 도래하면, 서버 이벤트 메시지를 생성하고, 이를 전자 장치 100에 전송할 수 있다.
동작 1609에서, 서버 장치 105는 지정된 정책을 만족하는 상황이 발생하는지 확인할 수 있다. 예컨대, 서버 장치 105는 전자 장치 100의 이벤트 처리 위임을 종료하기 위한 정책을 마련하고, 해당 정책이 만족되는 상황인지 확인할 수 있다. 예컨대, 서버 장치 105는 서버 이벤트 메시지 전송 기간 또는 전송 횟수가 지정된 시간을 넘는 경우, 지정된 시간 이내에 전자 장치 100으로부터 응답 메시지를 수신하지 못한 경우, 관리자 요청이 발생하는 경우 등을 확인할 수 있다.
지정된 정책을 만족하는 상황이 아니면, 서버 장치 105는 동작 1607 이전으로 분기하여 이하 동작을 재수행할 수 있다. 지정된 정책을 만족하는 상황이 발생하면, 동작 1611에서, 서버 장치 105는 서버 이벤트 메시지 전송을 중지할 수 있다. 이벤트 처리 위임이 종료되면, 서버 장치 105는 전자 장치 100으로부터 주기적 스케줄링 이벤트와 관련한 메시지를 수신하고 그에 대한 응답 처리를 수행할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 한 실시 예에 따른 소모 전류 저감 방법은 응용 프로세서가 슬립 상태에서 적어도 하나의 어플리케이션 운용과 관련한 이벤트를 통신 프로세서가 수집하는 동작, 상기 통신 프로세서 제어에 대응하여 상기 수집된 이벤트에 대응하는 메시지를 외부 전자 장치에 전송하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 통신 프로세서가 상기 어플리케이션의 종류, 상기 이벤트의 전송 주기, 상기 메시지를 전송할 서버 주소 중 적어도 하나를 포함하는 어플리케이션 관련 정보를 등록 관리하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 통신 프로세서가 복수개의 어플리케이션의 전송 주기들을 수집하고, 수집된 전송 주기들의 공통 주기를 산출하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 전송하는 동작은 상기 공통 주기 도래 시 상기 어플리케이션들과 관련한 메시지들을 전송하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 통신 프로세서가 상기 외부 전자 장치로부터 수신된 메시지를 확인하는 동작, 상기 메시지 속성에 따라 상기 응용 프로세서를 활성화하여 해당 어플리케이션에 상기 메시지를 전달하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 통신 프로세서가 상기 외부 전자 장치로부터 수신된 메시지를 확인하는 동작, 상기 메시지 속성에 따라 상기 통신 프로세서의 제어에 대응하여 상기 메시지를 디스플레이에 출력하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 이벤트는 상기 어플리케이션들의 주기적 스케줄링에 따른 이벤트일 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 어플리케이션의 주기적 스케줄링 이벤트 처리와 관련한 어플리케이션 라이트 버전을 상기 통신 프로세서와 관련하여 설치하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 어플리케이션들의 주기적 스케줄링 이벤트 처리와 관련한 처리 모듈을 상기 통신 프로세서에 배치하는 동작을 더 포함할 수 있다.
상술한 다양한 실시 예에 따르면, 한 실시 예에 따른 소모 전류 저감 방법은 적어도 하나의 어플리케이션 운용과 관련하여 주기적으로 처리되는 주기적 스케줄링 이벤트 메시지를 전송할 때, 통신 프로세서가 외부 전자 장치와 형성된 통신 채널의 빠른 연결 해제를 요청하는 동작, 상기 연결 해제 요청에 따라 상기 통신 채널의 연결을 해제하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 통신 프로세서가 상기 주기적 스케줄링 이벤트 메시지 전송과 관련하여 빠른 연결 해제를 요청하는 새 메시지를 생성하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 통신 프로세서가 상기 주기적 스케줄링 이벤트 메시지 전송과 관련하여 RRC 채널 형성 요청에 대한 이유에 Fast RRC connection release를 포함하는 RRC connection request 메시지를 생성하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 통신 프로세서가 상기 주기적 스케줄링 이벤트 메시지 전송과 관련하여 빠른 연결 해제를 요청하는 인디케이터를 포함하는 UE assistance information를 상기 외부 전자 장치에 전송하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 통신 프로세서가 LowPowerConsumption 정보를 포함하는 전력 선호 지시자(Power Preference Indicator)를 상기 UE assistance information에 정의하는 동작을 더 포함할 수 있다.
상술한 다양한 실시 예에 따르면, 한 실시 예에 따른 소모 전류 저감 방법은 응용 프로세서가 슬립 상태에서 통신 프로세서가 적어도 하나의 어플리케이션 운용과 관련하여 주기적으로 처리되는 주기적 스케줄링 이벤트를 수집하는 동작, 상기 통신 프로세서가 상기 주기적 스케줄링 이벤트 처리의 위임을 외부 전자 장치에 요청하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 통신 프로세서가 상기 이벤트 처리 위임 요청 후 상기 주기적 스케줄링 이벤트와 관련한 메시지 전송을 중지하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 통신 프로세서가 상기 외부 전자 장치로부터 상기 이벤트 처리 위임에 따른 이벤트 메시지를 수신하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 통신 프로세서가 상기 이벤트 메시지 수신을 지정된 기간 동안 무시하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 방법은 상기 통신 프로세서가 상기 주기적 스케줄링 이벤트와 관련한 메시지 전송 이후 타이머를 동작시키고, 상기 타이머 완료 시, 상기 외부 전자 장치가 제공한 이벤트 메시지에 대한 응답 메시지를 전송하는 동작을 더 포함할 수 있다.
상술한 바와 같이, 다양한 실시 예에 따르면, 한 실시 예에 따른 소모 전류 저감 방법에서 서버 장치 운용 방법은 전자 장치로부터 어플리케이션의 주기적 스케줄링 이벤트와 관련하여 이벤트 처리 위임 요청을 수신하는 동작, 상기 이벤트 처리 위임 요청에 대응하여 지정된 주기로 상기 주기적 스케줄링 이벤트와 관련한 서버 이벤트 메시지를 상기 전자 장치 전송하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 서버 장치 운용 방법은 이벤트 처리 위임을 요청한 전자 장치들의 색인을 저장 관리하는 동작, 주기적 스케줄링 이벤트가 요구되는 어플리케이션들의 종류와 전송 주기 정보를 저장 관리하는 동작, 상기 어플리케이션들의 전송 주기 정보를 기반으로 복수개의 어플리케이션들과 관련한 서버 이벤트 메시지의 공통 전송 주기를 결정하는 동작 중 적어도 하나의 동작을 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 서버 장치 운용 방법은 지정된 정책(예: 전자 장치로부터 이벤트 처리 위임 요청 취소와 관련한 메시지 수신, 전자 장치로부터 지정된 기간 내에 응답 메시지 미 수신, 지정된 기간 또는 지정된 횟수 동안 서버 이벤트 메시지 전송 등) 만족 여부를 확인하는 동작, 상기 확인 결과에 따라 상기 서버 이벤트 메시지 전송을 중지하는 동작을 더 포함할 수 있다.
도 17은 다양한 실시 예에 따른 소모 전류 저감과 관련한 전자 장치의 일예를 나타낸 도면이다.
도 17을 참조하면, 상기 전자 장치 1701은, 예를 들면, 도 1에 도시된 전자 장치 100의 전체 또는 일부를 포함할 수 있다. 상기 전자 장치 1701은 하나 이상의 어플리케이션 프로세서(AP) 210, 통신 모듈 1720, SIM(subscriber identification module) 카드 1724, 메모리 1730, 센서 모듈 1740, 입력 장치 1750, 디스플레이 1760, 인터페이스 1770, 오디오 모듈 1780, 카메라 모듈 1791, 전력 관리 모듈 1795, 배터리 1796, 인디케이터 1797, 및 모터 1798을 포함할 수 있다.
상기 AP 1710은, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 상기 AP 1710에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP 1710은, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시 예에 따르면, 상기 AP 1710은 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 상기 AP 1710은 도 17에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈 1721)를 포함할 수도 있다. 상기 AP 1710은 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 통신 모듈 1720은, 도 1의 상기 통신 인터페이스 160과 동일 또는 유사한 구성을 가질 수 있다. 상기 통신 모듈 1720은, 예를 들면, 셀룰러 모듈 1721, Wi-Fi 모듈 1723, BT 모듈 1725, GPS 모듈 1727, NFC 모듈 1728 및 RF(radio frequency) 모듈 1729를 포함할 수 있다.
상기 셀룰러 모듈 1721은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 1721은 가입자 식별 모듈(예: SIM 카드 1724)을 이용하여 통신 네트워크 내에서 전자 장치 1701의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 1721은 상기 AP 1710이 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 1721은 커뮤니케이션 프로세서(CP)를 포함할 수 있다.
상기 Wi-Fi 모듈 1723, 상기 BT 모듈 1725, 상기 GPS 모듈 1727 또는 상기 NFC 모듈 1728 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈 1721, Wi-Fi 모듈 1723, BT 모듈 1725, GPS 모듈 1727 또는 NFC 모듈 1728 중 적어도 일부(예: 두 개 이상)는 하나의 IC(integrated chip) 또는 IC 패키지 내에 포함될 수 있다.
상기 RF 모듈 1729는, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. 상기 RF 모듈 1729는, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈 1721, Wi-Fi 모듈 1723, BT 모듈 1725, GPS 모듈 1727 또는 NFC 모듈 1728 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
상기 SIM 카드 1724는, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID (integrated circuit card identifier)) 또는 가입자 정보(예: IMSI (international mobile subscriber identity))를 포함할 수 있다.
상기 메모리 1730(예: 메모리 130)은, 예를 들면, 내장 메모리 1732 또는 외장 메모리 1734를 포함할 수 있다. 상기 내장 메모리 1732는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비-휘발성(non-volatile) 메모리 (예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 SSD(solid state drive) 중 적어도 하나를 포함할 수 있다.
상기 외장 메모리 1734는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 상기 외장 메모리 1734는 다양한 인터페이스를 통하여 상기 전자 장치 1701과 기능적으로 및/또는 물리적으로 연결될 수 있다.
상기 센서 모듈 1740은, 예를 들면, 물리량을 계측하거나 전자 장치 1701의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈 1740은, 예를 들면, 제스처 센서 1740A, 자이로 센서 1740B, 기압 센서 1740C, 마그네틱 센서 1740D, 가속도 센서 1740E, 그립 센서 1740F, 근접 센서 1740G, 컬러 센서 1740H(예: RGB 센서), 생체 센서 1740I, 온/습도 센서 1740J, 조도 센서 1740K, 또는 UV(ultra violet) 센서 1740M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈 1740은, 예를 들면, 후각 센서(E-nose sensor), EMG(electromyography) 센서, EEG(electroencephalogram) 센서, ECG(electrocardiogram) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 상기 센서 모듈 1740은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 1701은 AP 1710의 일부로서 또는 별도로, 센서 모듈 1740을 제어하도록 구성된 프로세서를 더 포함하여, 상기 AP 1710이 슬립(sleep) 상태에 있는 동안, 센서 모듈 1740을 제어할 수 있다.
상기 입력 장치 1750은, 예를 들면, 터치 패널(touch panel) 1752, (디지털) 펜 센서(pen sensor) 1754, 키(key) 1756, 또는 초음파(ultrasonic) 입력 장치 1758을 포함할 수 있다. 상기 터치 패널 1752는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 상기 터치 패널 1752는 제어 회로를 더 포함할 수도 있다. 상기 터치 패널 1752는 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서 1754는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 시트(sheet)를 포함할 수 있다. 상기 키 1756은, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 상기 초음파 입력 장치 1758은 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치 1701에서 마이크 (예: 마이크 1788)로 음파를 감지하여 데이터를 확인할 수 있다.
상기 디스플레이 1760(예: 디스플레이 150)은 패널 1762, 홀로그램 장치 1764, 또는 프로젝터 1766을 포함할 수 있다. 상기 패널 1762는, 도 1의 디스플레이 150과 동일 또는 유사한 구성을 포함할 수 있다. 상기 패널 1762는, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널 1762는 상기 터치 패널 1752와 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치 1764는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터 1766은 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치 1701의 내부 또는 외부에 위치할 수 있다. 한 실시 예에 따르면, 상기 디스플레이 1760은 상기 패널 1762, 상기 홀로그램 장치 1764, 또는 프로젝터 1766을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스 1770은, 예를 들면, HDMI(high-definition multimedia interface) 1772, USB 1774, 광 인터페이스(optical interface) 1776, 또는 D-sub(D-subminiature) 1778을 포함할 수 있다. 상기 인터페이스 1770은, 예를 들면, 도 1에 도시된 통신 인터페이스 160에 포함될 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스 1770은, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD 카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈 1780은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 1780의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스 140에 포함될 수 있다. 상기 오디오 모듈 1780은, 예를 들면, 스피커 1782, 리시버 1784, 이어폰 1786, 또는 마이크 1788 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈 1791은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(예: LED 또는 제논 램프(xenon lamp))를 포함할 수 있다.
상기 전력 관리 모듈 1795는, 예를 들면, 상기 전자 장치 1701의 전력을 관리할 수 있다. 한 실시 예에 따르면, 상기 전력 관리 모듈 1795는 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. 상기 PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 상기 배터리 게이지는, 예를 들면, 상기 배터리 1796의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 상기 배터리 1796은, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터 1797은 상기 전자 장치 1701 혹은 그 일부(예: AP 1710)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터 1798은 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 상기 전자 장치 1701은 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어 플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
상기 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 18은 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
도 18을 참조하면, 한 실시 예에 따르면, 상기 프로그램 모듈 1810은 전자 장치(예: 전자 장치 100)에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 38)을 포함할 수 있다. 상기 운영 체제는, 예를 들면, 안드로이드(android), iOS, 윈도우즈(windows), 심비안(symbian), 타이젠(tizen), 또는 바다(bada) 등이 될 수 있다.
프로그램 모듈 1810은 OS와 어플리케이션 1870을 포함할 수 있다. OS는 커널 1820, 미들웨어 1830, API 1860을 포함할 수 있다. 상기 프로그램 모듈 1810의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 서버(예: 서버 장치 104 또는 서버 장치 105)로부터 다운로드 가능하다.
상기 커널 1820은, 예를 들면, 시스템 리소스 매니저 1821 또는 디바이스 드라이버 1823을 포함할 수 있다. 상기 시스템 리소스 매니저 1821은 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시 예에 따르면, 상기 시스템 리소스 매니저 1821은 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 상기 디바이스 드라이버 1823은, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, Wi-Fi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
상기 미들웨어 1830은, 예를 들면, 상기 어플리케이션 1870이 공통적으로 필요로 하는 기능을 제공하거나, 상기 어플리케이션 1870이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 상기 API 1860을 통해 다양한 기능들을 상기 어플리케이션 1870로 제공할 수 있다. 한 실시 예에 따르면, 상기 미들웨어 1830(예: 미들웨어)은 런타임 라이브러리 1835, 어플리케이션 매니저(application manager) 1841, 윈도우 매니저(window manager) 1842, 멀티미디어 매니저(multimedia manager) 1843, 리소스 매니저(resource manager) 1844, 파워 매니저(power manager) 1845, 데이터베이스 매니저(database manager) 1846, 패키지 매니저(package manager) 1847, 연결 매니저(connectivity manager) 1848, 통지 매니저(notification manager) 1849, 위치 매니저(location manager) 1850, 그래픽 매니저(graphic manager) 1851, 또는 보안 매니저(security manager) 1852 중 적어도 하나를 포함할 수 있다.
상기 런타임 라이브러리 1835는, 예를 들면, 상기 어플리케이션 1870이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 상기 런타임 라이브러리 1835는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
상기 어플리케이션 매니저 1841은, 예를 들면, 상기 어플리케이션 1870 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 상기 윈도우 매니저 1842는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 상기 멀티미디어 매니저 1843은 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 상기 리소스 매니저 1844는 상기 어플리케이션 1870 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
상기 파워 매니저 1845는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 상기 데이터베이스 매니저 1846은 상기 어플리케이션 1870 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 상기 패키지 매니저 1847은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
상기 연결 매니저 1848은, 예를 들면, Wi-Fi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 상기 통지 매니저 1849는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 상기 위치 매니저 1850은 전자 장치의 위치 정보를 관리할 수 있다. 상기 그래픽 매니저 1851은 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 상기 보안 매니저 1852는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시 예에 따르면, 전자 장치(예: 전자 장치 100)가 전화 기능을 포함한 경우, 상기 미들웨어 1830은 상기 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다.
상기 미들웨어 1830은 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 상기 미들웨어 1830은 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 상기 미들웨어 1830은 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
상기 API 1860(예: API)은, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
상기 어플리케이션 1870(예: 어플리케이션 38)은, 예를 들면, 홈 1871, 다이얼러 1872, SMS/MMS 1873, IM(instant message) 1874, 브라우저 1875, 카메라 1876, 알람 1877, 컨택트 1878, 음성 다이얼 1879, 이메일 1880, 달력 1881, 미디어 플레이어 1882, 앨범 1883, 또는 시계 1884, 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 제공할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시 예에 따르면, 상기 어플리케이션 1870은 상기 전자 장치(예: 전자 장치 100)와 외부 전자 장치(예: 전자 장치 102) 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의 상, "정보 교환 어플리케이션")을 포함할 수 있다. 상기 정보 교환 어플리케이션은, 예를 들면, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 상기 알림 전달 어플리케이션은 상기 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치(예: 전자 장치 102)로 전달하는 기능을 포함할 수 있다. 또한, 상기 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 상기 장치 관리 어플리케이션은, 예를 들면, 상기 전자 장치와 통신하는 외부 전자 장치(예: 전자 장치 102)의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는 해상도) 조절), 상기 외부 전자 장치에서 동작하는 어플리케이션 또는 상기 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리 (예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시 예에 따르면, 상기 어플리케이션 1870은 상기 외부 전자 장치(예: 전자 장치 102)의 속성(예: 전자 장치의 속성으로서, 전자 장치의 종류가 모바일 의료 기기)에 따라 지정된 어플리케이션(예: 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시 예에 따르면, 상기 어플리케이션 1870은 외부 전자 장치(예: 서버 장치 104, 105 또는 전자 장치 102)로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 상기 어플리케이션 1870은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시 예에 따른 프로그램 모듈 1810의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시 예에 따르면, 상기 프로그램 모듈 1810의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 상기 프로그램 모듈 1810의 적어도 일부는, 예를 들면, 프로세서(예: AP 1710)에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그램 모듈 1810의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 프로세서(예: 프로세서 120)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리 130이 될 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD, 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따르면, 컴퓨터로 판독 가능한 기록 매체는 적어도 하나의 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 저장하며, 상기 명령어는, 응용 프로세서가 슬립 상태에서 적어도 하나의 어플리케이션 운용과 관련한 이벤트를 통신 프로세서가 수집하는 동작, 상기 통신 프로세서 제어에 대응하여 상기 수집된 이벤트에 대응하는 메시지를 외부 전자 장치에 전송하는 동작을 수행하도록 설정될 수 있다.
다양한 실시 예에 따르면, 컴퓨터로 판독 가능한 기록 매체는 적어도 하나의 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 저장하며, 상기 명령어는, 적어도 하나의 어플리케이션 운용과 관련하여 주기적으로 처리되는 주기적 스케줄링 이벤트 메시지를 전송할 때, 통신 프로세서가 외부 전자 장치와 형성된 통신 채널의 빠른 연결 해제를 요청하는 동작, 상기 연결 해제 요청에 따라 상기 통신 채널의 연결을 해제하는 동작을 수행하도록 설정될 수 있다.
다양한 실시 예에 따르면, 컴퓨터로 판독 가능한 기록 매체는 적어도 하나의 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 저장하며, 상기 명령어는, 응용 프로세서가 슬립 상태에서 통신 프로세서가 적어도 하나의 어플리케이션 운용과 관련하여 주기적으로 처리되는 주기적 스케줄링 이벤트를 수집하는 동작, 상기 통신 프로세서가 상기 주기적 스케줄링 이벤트 처리의 위임을 외부 전자 장치에 요청하는 동작을 수행하도록 설정될 수 있다.
다양한 실시 예에 따르면, 컴퓨터로 판독 가능한 기록 매체는 적어도 하나의 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 저장하며, 상기 명령어는, 전자 장치로부터 어플리케이션의 주기적 스케줄링 이벤트와 관련하여 이벤트 처리 위임 요청을 수신하는 동작, 상기 이벤트 처리 위임 요청에 대응하여 지정된 주기로 상기 주기적 스케줄링 이벤트와 관련한 서버 이벤트 메시지를 상기 전자 장치 전송하는 동작을 수행하도록 설정될 수 있다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 발명의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.

Claims (20)

  1. 전자 장치에 있어서,
    응용 프로세서가 슬립 상태에서 적어도 하나의 어플리케이션 운용과 관련한 이벤트를 수집하는 통신 프로세서;
    상기 수집된 이벤트에 대응하는 메시지를 외부 전자 장치에 전송하는 통신 인터페이스;를 포함하고,
    상기 통신 프로세서는
    상기 응용 프로세서의 슬립 상태에서, 복수개의 어플리케이션의 전송 주기들을 수집하고, 수집된 전송 주기들의 공통 주기를 산출하며,
    상기 응용 프로세서의 슬립 상태에서, 상기 공통 주기 도래 시 상기 어플리케이션들과 관련한 메시지들을 상기 통신 인터페이스를 통해 상기 외부 전자 장치에 전송하는 전자 장치.
  2. 청구항 1에 있어서,
    상기 통신 프로세서는
    상기 어플리케이션의 종류, 상기 이벤트의 전송 주기, 상기 메시지를 전송할 서버 주소 중 적어도 하나를 포함하는 어플리케이션 관련 정보를 등록 관리하는 전자 장치.
  3. 삭제
  4. 삭제
  5. 청구항 1에 있어서,
    상기 통신 프로세서는
    상기 외부 전자 장치로부터 수신된 메시지를 확인하고, 메시지 속성에 따라 상기 응용 프로세서를 활성화하여 해당 어플리케이션에 상기 메시지를 전달하는 전자 장치.
  6. 청구항 1에 있어서,
    상기 통신 프로세서는
    상기 외부 전자 장치로부터 수신된 메시지를 확인하고, 메시지 속성에 따라 상기 메시지를 디스플레이에 출력하도록 제어하는 전자 장치.
  7. 청구항 1에 있어서,
    상기 이벤트는
    상기 어플리케이션들의 주기적 스케줄링에 따른 이벤트인 전자 장치.
  8. 청구항 1에 있어서,
    상기 통신 프로세서는
    상기 어플리케이션의 주기적 스케줄링 이벤트 처리와 관련하여 설치된 어플리케이션 라이트 버전을 포함하는 전자 장치.
  9. 청구항 1에 있어서,
    상기 통신 프로세서는
    상기 어플리케이션들의 주기적 스케줄링 이벤트 처리와 관련한 처리 모듈을 포함하는 전자 장치.
  10. 청구항 1에 있어서,
    상기 이벤트는
    Keep Alive 이벤트를 포함하는 전자 장치.
  11. 응용 프로세서가 슬립 상태에서 적어도 하나의 어플리케이션 운용과 관련한 이벤트를 통신 프로세서가 수집하는 동작;
    상기 통신 프로세서 제어에 대응하여 상기 수집된 이벤트에 대응하는 메시지를 외부 전자 장치에 전송하는 동작;을 포함하고,
    상기 외부 전자 장치에 전송하는 동작은
    상기 응용 프로세서가 슬립 상태에서, 상기 통신 프로세서가 복수개의 어플리케이션의 전송 주기들을 수집하고, 수집된 전송 주기들의 공통 주기를 산출하는 동작;
    상기 응용 프로세서가 슬립 상태에서, 상기 공통 주기 도래 시 상기 어플리케이션들과 관련한 메시지들을 전송하는 동작;을 포함하는 소모 전류 저감 방법.
  12. 청구항 11에 있어서,
    상기 통신 프로세서가 상기 어플리케이션의 종류, 상기 이벤트의 전송 주기, 상기 메시지를 전송할 서버 주소 중 적어도 하나를 포함하는 어플리케이션 관련 정보를 등록 관리하는 동작;을 더 포함하는 소모 전류 저감 방법.
  13. 삭제
  14. 삭제
  15. 청구항 11에 있어서,
    상기 통신 프로세서가 상기 외부 전자 장치로부터 수신된 메시지를 확인하는 동작;
    상기 메시지 속성에 따라 상기 응용 프로세서를 활성화하여 해당 어플리케이션에 상기 메시지를 전달하는 동작;을 더 포함하는 소모 전류 저감 방법.
  16. 청구항 11에 있어서,
    상기 통신 프로세서가 상기 외부 전자 장치로부터 수신된 메시지를 확인하는 동작;
    상기 메시지 속성에 따라 상기 통신 프로세서의 제어에 대응하여 상기 메시지를 디스플레이에 출력하는 동작;을 더 포함하는 소모 전류 저감 방법.
  17. 청구항 11에 있어서,
    상기 이벤트는
    상기 어플리케이션들의 주기적 스케줄링에 따른 이벤트인 소모 전류 저감 방법.
  18. 청구항 11에 있어서,
    상기 어플리케이션의 주기적 스케줄링 이벤트 처리와 관련한 어플리케이션 라이트 버전을 상기 통신 프로세서와 관련하여 설치하는 동작;을 더 포함하는 소모 전류 저감 방법.
  19. 청구항 11에 있어서,
    상기 어플리케이션들의 주기적 스케줄링 이벤트 처리와 관련한 처리 모듈을 상기 통신 프로세서에 배치하는 동작;을 더 포함하는 소모 전류 저감 방법.
  20. 청구항 11에 있어서,
    상기 이벤트는
    Keep Alive 이벤트를 포함하는 소모 전류 저감 방법.
KR1020140109238A 2014-08-21 2014-08-21 소모 전류 저감 방법 및 이를 지원하는 전자 장치 KR102137097B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140109238A KR102137097B1 (ko) 2014-08-21 2014-08-21 소모 전류 저감 방법 및 이를 지원하는 전자 장치
EP15182035.4A EP2988191B1 (en) 2014-08-21 2015-08-21 Method and electronic device for reducing current consumption by the electronic device
US14/832,315 US9703353B2 (en) 2014-08-21 2015-08-21 Method and electronic device for reducing current consumption by the electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140109238A KR102137097B1 (ko) 2014-08-21 2014-08-21 소모 전류 저감 방법 및 이를 지원하는 전자 장치

Publications (2)

Publication Number Publication Date
KR20160023235A KR20160023235A (ko) 2016-03-03
KR102137097B1 true KR102137097B1 (ko) 2020-07-23

Family

ID=53969245

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140109238A KR102137097B1 (ko) 2014-08-21 2014-08-21 소모 전류 저감 방법 및 이를 지원하는 전자 장치

Country Status (3)

Country Link
US (1) US9703353B2 (ko)
EP (1) EP2988191B1 (ko)
KR (1) KR102137097B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220151495A (ko) * 2021-05-06 2022-11-15 대우조선해양 주식회사 선박의 네트워크 접속 지원 시스템 및 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6584171B2 (ja) 2015-07-02 2019-10-02 キヤノン株式会社 通信装置、通信方法及びプログラム
CN107222825B (zh) * 2016-03-21 2021-08-06 阿尔卡特朗讯 用于通信设备的方法、用于基站的方法、通信设备和基站
CN105847067A (zh) * 2016-05-25 2016-08-10 北京小米移动软件有限公司 Zigbee设备的升级方法和装置
CN106095051B (zh) * 2016-05-31 2019-02-01 Oppo广东移动通信有限公司 一种移动终端应用程序的处理方法、装置及移动终端
CN106102144B (zh) * 2016-05-31 2017-09-01 广东欧珀移动通信有限公司 一种基于移动终端的传感器处理方法及装置
US20190342802A1 (en) * 2016-12-27 2019-11-07 Nokia Solutions And Networks System Technology (Beijing) Co., Ltd. A connection setup method, user equipment, common central control node and communication system
CN107454160B (zh) * 2017-07-31 2019-09-17 Oppo广东移动通信有限公司 信息处理方法、移动终端及计算机可读存储介质
CN108021220A (zh) * 2017-10-25 2018-05-11 努比亚技术有限公司 一种终端应用控制方法、终端及计算机可读存储介质
WO2020077540A1 (zh) * 2018-10-16 2020-04-23 华为技术有限公司 一种信息处理方法及电子设备
CN109461238A (zh) * 2018-10-30 2019-03-12 北京摩拜科技有限公司 车辆控制方法、服务器、车辆及车辆系统
CN112752329B (zh) * 2019-10-30 2022-12-13 北京小米移动软件有限公司 事件通知方法、装置、移动终端及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050064911A1 (en) * 2003-09-18 2005-03-24 Vulcan Portals, Inc. User interface for a secondary display module of a mobile electronic device
US20110019600A1 (en) * 2009-07-21 2011-01-27 Shan-Wei Ping Mobile device and data connection method thereof
US20120230236A1 (en) 2011-03-08 2012-09-13 Kaido Kert Saving Power In A Wireless Communication Device
WO2012163428A1 (en) 2011-06-02 2012-12-06 Huawei Technologies Co., Ltd. Multiple cpu architecture platform network firewall

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421602B2 (en) * 2004-02-13 2008-09-02 Marvell World Trade Ltd. Computer with low-power secondary processor and secondary display
US7831850B2 (en) * 2007-03-29 2010-11-09 Microsoft Corporation Hybrid operating systems for battery powered computing systems
US20100058082A1 (en) 2008-08-27 2010-03-04 Lenovo (Singapore) Ple., Ltd. Maintaining network link during suspend state
US9521625B2 (en) * 2008-09-15 2016-12-13 Apple Inc. Electronic devices for receiving pushed data
CN102035676B (zh) 2010-12-07 2014-08-13 中兴通讯股份有限公司 基于arp协议交互的链路故障检测与恢复的方法和设备
CN103119896A (zh) 2011-07-01 2013-05-22 华为技术有限公司 心跳消息发送方法和心跳代理服务器
US9231850B2 (en) 2012-02-21 2016-01-05 Cisco Technology, Inc. Keepalive mechanism to maintain links in a lossy environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050064911A1 (en) * 2003-09-18 2005-03-24 Vulcan Portals, Inc. User interface for a secondary display module of a mobile electronic device
US20110019600A1 (en) * 2009-07-21 2011-01-27 Shan-Wei Ping Mobile device and data connection method thereof
US20120230236A1 (en) 2011-03-08 2012-09-13 Kaido Kert Saving Power In A Wireless Communication Device
WO2012163428A1 (en) 2011-06-02 2012-12-06 Huawei Technologies Co., Ltd. Multiple cpu architecture platform network firewall

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220151495A (ko) * 2021-05-06 2022-11-15 대우조선해양 주식회사 선박의 네트워크 접속 지원 시스템 및 방법
KR102475189B1 (ko) * 2021-05-06 2022-12-06 대우조선해양 주식회사 선박의 네트워크 접속 지원 시스템 및 방법

Also Published As

Publication number Publication date
EP2988191A1 (en) 2016-02-24
US20160054778A1 (en) 2016-02-25
EP2988191B1 (en) 2019-03-20
US9703353B2 (en) 2017-07-11
KR20160023235A (ko) 2016-03-03

Similar Documents

Publication Publication Date Title
KR102137097B1 (ko) 소모 전류 저감 방법 및 이를 지원하는 전자 장치
US10965455B2 (en) Device and method for secure connection
KR102306804B1 (ko) 전자 장치의 소모 전력 감소 방법 및 장치
US10075530B2 (en) Method and electronic device for establishing connection with external electronic device
US10172167B2 (en) Electronic device and connection method thereof
EP3391634B1 (en) Electronic device and method for controlling application and component
US10708352B2 (en) Method and apparatus for synchronizing application of electronic device
KR102469570B1 (ko) 전자 장치 및 그의 동작 방법
US9967702B2 (en) Method of managing application and electronic device therefor
US10140851B2 (en) Method and electronic device for performing connection between electronic devices
US11089127B2 (en) Electronic device and method for providing IP network service
KR102257474B1 (ko) 전자 장치의 데이터 송수신 방법 및 이를 사용하는 전자 장치
US10466856B2 (en) Electronic device having two displays and a method for executing a different application on each display of the electronic device based on simultaneous inputs into a plurality of application icons
KR102243110B1 (ko) 전자 장치간 착신 전환 방법
US10963208B2 (en) Electronic device and method for operating electronic device
KR20170109401A (ko) 전자 장치 및 그 제어 방법
US10574077B2 (en) Method for charging electronic device, electronic device, and storage medium
US10701636B2 (en) Electronic device and communication connection method of electronic device
KR102252617B1 (ko) 데이터 전송 방법 및 이를 구현하는 장치
US20170244644A1 (en) Electronic device and method for processing data in electronic device
US11304093B2 (en) Apparatus and method for transmitting/receiving data in an electronic device

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right