KR20120079645A - 인스턴트 메신저에서 메시지 폴링 방법 및 장치 - Google Patents

인스턴트 메신저에서 메시지 폴링 방법 및 장치 Download PDF

Info

Publication number
KR20120079645A
KR20120079645A KR1020110000951A KR20110000951A KR20120079645A KR 20120079645 A KR20120079645 A KR 20120079645A KR 1020110000951 A KR1020110000951 A KR 1020110000951A KR 20110000951 A KR20110000951 A KR 20110000951A KR 20120079645 A KR20120079645 A KR 20120079645A
Authority
KR
South Korea
Prior art keywords
message
polling period
polling
node
new
Prior art date
Application number
KR1020110000951A
Other languages
English (en)
Inventor
이계환
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020110000951A priority Critical patent/KR20120079645A/ko
Priority to US13/279,690 priority patent/US20120170528A1/en
Publication of KR20120079645A publication Critical patent/KR20120079645A/ko

Links

Images

Classifications

    • 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/0212Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
    • H04W52/0216Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access, e.g. scheduled or random access
    • H04W74/04Scheduled or contention-free access
    • H04W74/06Scheduled or contention-free access using polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • 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

인스턴트 메신저에서 메시지 폴링 방법 및 장치{METHOD AND APPARATUS FOR POLLING MESSAGE IN INSTANT MESSENGER}
본 발명은 인스턴트 메신저에서 메시지 폴링 방법 및 장치에 관한 것이다. 보다 구체적으로, 본 발명은 미리 설정된 폴링 주기 결정 구간에서 메시지 획득에 성공하는데 까지 걸린 시간들에 대한 평균 시간을 신규 폴링 주기로 결정하여 폴링 주기를 동적으로 설정하는 메시지 폴링 방법 및 장치에 관한 것이다.
인스턴트 메신저(instant messenger)는 인터넷 같은 네트워크를 이용한, 두 명 이상의 즉각적인(실시간) 텍스트 통신에 이용되는 클라이언트이다. 간단하게 메신저라고도 하며, 인터넷을 통한 메신저라는 의미에서 인터넷 메신저라고도 한다.
한편, 인스턴트 메신저를 사용하는데 푸쉬(Push) 기능을 지원하는 상용 서버가 구축되어 있지 않은 경우, 클라이언트는 주기적으로 서버에 접속하여 자신에게 수신된 메시지를 획득해야 한다. 이렇게 클라이언트가 주기적으로 서버에 접속하여 메시지 수신 여부를 확인하는 과정을 폴링(Polling)이라고 하며, 이러한 폴링 주기에 따라 클라이언트의 소모 전류와 데이터 패킷 요금 부과에서 많은 차이가 발생할 수 있다.
그런데, 종래에는 상기 폴링 주기를 정적(static)으로 설정한다. 즉, 클라이언트에는 미리 설정된 디폴트 폴링 주기가 세팅되어 있으며, 상기 디폴트 폴링 주기에 따라 서버에 주기적으로 접속하여 메시지 수신 여부를 확인한다.
그러나 이러한 종래 기술에 따르면, 사용자의 메신저 사용 빈도, 네트워크 상황 등 다양한 유동적인 요인이 많음에도 불구하고 폴링 주기가 고정된다는 문제점이 있다. 즉, 폴링 주기가 고정되어 있으므로 폴링 빈도가 너무 잦아서 필요 이상의 배터리가 소모되거나 과도한 패킷 요금이 부과될 수 있다. 또는 반대로 폴링 빈도가 너무 뜸해서 필요한 메시지를 적절한 시기에 획득하지 못하는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 미리 설정된 폴링 주기 결정 구간에서 메시지 획득에 성공하는데 까지 걸린 시간들에 대한 평균 시간을 신규 폴링 주기로 결정하여 폴링 주기를 동적으로 설정하는 메시지 폴링 방법 및 장치를 제공하는 것을 목적으로 한다.
상기와 같은 문제점을 해결하기 위한 본 발명의 인스턴트 메신저에서 메시지 폴링 방법은 인스턴트 메신저를 실행하는 실행 단계 및 폴링 주기 경과 시, 서버에 접속하여 메시지 획득을 시도하는 폴링 단계를 포함하며, 여기서 상기 폴링 주기는 미리 설정된 폴링 주기 결정 구간에서 메시지 획득에 성공하는데 까지 경과한 시간들에 대한 평균 시간으로 결정되는 것을 특징으로 한다.
또한, 상기와 같은 문제점을 해결하기 위한 본 발명의 휴대 단말기는 서버에 접속하여 메시지를 획득하는 RF 통신부, 인스턴트 메신저 프로그램을 구비하는 저장부 및 상기 인스턴트 메신저 프로그램 실행 감지 시, 폴링 주기 경과 여부를 판단하고, 상기 폴링 주기 경과 시 서버에 접속하여 메시지 획득을 시도하는 제어부를 포함하며, 상기 폴링 주기는 미리 설정된 폴링 주기 결정 구간에서 메시지 획득에 성공하는데 까지 경과한 시간들에 대한 평균 시간으로 결정되는 것을 특징으로 한다.
본 발명에 따르면, 미리 설정된 폴링 주기 결정 구간에서 메시지 획득에 성공하는데 까지 걸린 시간들에 대한 평균 시간을 신규 폴링 주기로 결정하여 폴링 주기를 동적으로 설정한다. 따라서 클라이언트의 배터리 소모량을 최소화하고, 패킷 사용에 대한 과금의 양도 최소화할 수 있다.
도 1은 본 발명의 실시예에 따라, 휴대 단말기(110)가 서버(120)에 주기적으로 접속하여 메시지를 획득하는 과정을 도시하는 도면.
도 2는 본 발명의 실시예에 따른 휴대 단말기(110)의 내부 구조를 도시하는 블록도.
도 3 및 도 4는 구조체형 포인터를 사용하는 메시지 수신 리스트 구조에 대한 예시를 도시하는 도면.
도 5는 본 발명의 실시예에 따라, 휴대 단말기(110)의 제어부(260) 폴링 주기를 동적으로 업데이트하는 과정을 도시하는 순서도.
도 6은 도 5에 도시된 S570 단계를 구체적으로 도시하는 순서도.
도 7은 도 5의 S580 단계를 구체적으로 도시하는 순서도.
도 8은 본 발명의 실시예에 따른 메시지 폴링 횟수와, 이에 따른 메시지 유실 횟수에 대한 실험값을 도시하는 도면.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이 때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
도 1은 본 발명의 실시예에 따라, 휴대 단말기(110)가 서버(120)에 주기적으로 접속하여 메시지를 획득하는 과정을 도시하는 도면이다.
휴대 단말기(110)는 인스턴트 메신저 프로그램을 구비한다. 인스턴트 메신저 프로그램이 실행되면, 휴대 단말기(110)는 미리 설정된 폴링 주기에 따라 서버(120)에 접속하여 자신에게 수신된 메시지가 존재하는지 여부를 판단한다. 본 발명의 실시예에 따르면, 상기 폴링 주기는 폴링 주기 결정 구간에서 메시지 획득에 성공하는데 까지 걸린 시간들에 대한 평균 시간일 수 있다. 상기 폴링 주기 결정 구간의 길이는 한 달, 10일 등일 수 있다.
휴대 단말기(110)는 폴링 주기를 동적으로 업데이트하기 위하여, 메시지 수신 리스트를 구비한다. 상기 메시지 수신 리스트는 복수 개의 노드를 포함하는 구조체형 포인터로 구성되며, 상기 각 노드에는 메시지를 획득하는데 까지 걸린 시간이 저장된다. 상기 메시지 수신 리스트에 대한 구체적인 구조는 도 3 및 도 4를 참고하여 후술하도록 한다.
서버(120)는 특정 휴대 단말기(110)에게 전송해야 할 메시지들을 저장한다. 그리고 서버(120)는 휴대 단말기(110)로부터 메시지 전송 요청 수신 시, 저장한 메시지들을 상기 휴대 단말기(110)로 전송한다.
도 2는 본 발명의 실시예에 따른 휴대 단말기(110)의 내부 구조를 도시하는 블록도이다. 도 2에서 도시되는 바와 같이, 본 발명의 휴대 단말기(110)는 RF 통신부(210), 오디오 처리부(220), 키 입력부(230), 표시부(240), 저장부(250), 제어부(260)를 포함할 수 있다. 이 경우, 저장부(250)는 메시지 수신 리스트(251)를 구비하며, 제어부(260)는 메시지 수신 주기 관리부(261)와 폴링 주기 설정부(262)를 구비할 수 있다
RF 통신부(210)는 휴대 단말기(110)의 무선 통신을 위한 해당 데이터의 송수신 기능을 수행한다. RF 통신부(210)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 또한, RF 통신부(210)는 무선 채널을 통해 데이터를 수신하여 제어부(260)로 출력하고, 제어부(260)로부터 출력된 데이터를 무선 채널을 통해 전송할 수 있다.
오디오처리부(220)는 코덱(CODEC)으로 구성될 수 있으며, 코덱은 패킷 데이터 등을 처리하는 데이터 코덱과 음성 등의 오디오 신호를 처리하는 오디오 코덱으로 구성될 수 있다. 오디오 처리부(220)는 디지털 오디오 신호를 오디오 코덱을 통해 아날로그 오디오 신호로 변환하여 스피커(SPK)를 통해 재생하고, 마이크(MIC)로부터 입력되는 아날로그 오디오 신호를 오디오 코덱을 통해 디지털 오디오 신호로 변환한다.
키 입력부(230)는 휴대 단말기(110)를 제어하기 위한 사용자의 키 조작을 입력받고 입력 신호를 생성하여 제어부(260)에 전달한다. 키 입력부(230)는 숫자 키, 방향키를 포함하는 키패드로 구성될 수 있으며, 휴대 단말기(110)의 일면에 소정의 기능키로 형성될 수 있다.
표시부(240)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있으며, 휴대 단말기(110)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공한다. 표시부(240)는 휴대 단말기(110)의 부팅 화면, 대기 화면, 메뉴 화면, 통화 화면, 기타 어플리케이션 화면을 출력하는 기능을 수행한다. 본 발명의 표시부(240)는 인스턴트 메신저를 통해 상대방 사용자와 송수신하는 메시지 내용을 표시할 수 있다.
저장부(250)는 휴대 단말기(110)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 휴대 단말기(110)의 전반적인 동작을 제어하는 프로그램 및 휴대 단말기(100)를 부팅시키는 운영체제(OS, Operating System), 멀티미디어 컨텐츠 재생 등에 필요한 응용 프로그램, 휴대 단말기(100)의 기타 옵션 기능, 예컨대, 카메라 기능, 소리 재생 기능, 이미지 또는 동영상 재생 기능에 필요한 응용 프로그램 등을 저장할 수 있다. 본 발명에 따르면, 상기 프로그램 영역은 인스턴트 메신저 프로그램을 포함할 수 있다. 데이터 영역은 휴대 단말기(100)의 사용에 따라 발생하는 데이터가 저장되는 영역으로서, 이미지, 동영상, 폰 북, 오디오 데이터 등을 저장할 수 있다. 본 발명에 따르면, 상기 데이터 영역은 서버(120)로부터 획득한 메시지를 포함할 수 있다.
특히, 본 발명의 실시예에 따르면 저장부(250)는 폴링 주기를 동적으로 업데이트하기 위하여 메시지 수신 리스틀 구비한다. 상기 메시지 수신 리스트는 복수 개의 노드를 포함하는 구조체형 포인터로 구성되며, 상기 각 노드에는 메시지를 획득하는데 까지 경과된 시간이 저장된다.
제어부(260)는 휴대 단말기(110)의 각 구성 요소에 대한 전반적인 동작을 제어한다. 제어부(260)는 폴링 주기 경과 시, 서버(120)에 접속하여 자신에게 전송된 메시지의 존재 유무를 확인한다. 만약, 수신된 메시지가 있다면, 해당 메시지를 휴대 단말기(110)로 가져오도록 제어한다.
특히, 제어부(260)는 휴대 단말기(110)가 미리 설정된 폴링 주기 결정 구간에서 메시지 획득에 성공하는데 까지 걸린 시간들에 대한 평균 시간을 신규 폴링 주기로 결정하여 폴링 주기를 동적으로 설정하는 일련의 과정을 제어할 수 있다. 이를 위해, 제어부(260)는 메시지 수신 주기 관리부(261)와, 폴링 주기 설정부(262)를 더 구비할 수 있다.
메시지 수신 주기 관리부(261)는 휴대 단말기(110)가 서버(120)에 접속하여 메시지를 획득하는데 까지 경과한 시간을 연속하여 저장한다. 특히, 메시지 수신 주기 관리부(261)는 구조체형 포인터를 이용하여 메시지 획득 경과 시간을 메시지 수신 리스트에 저장할 수 있다. 메시지 수신 주기 관리부(261)가 사용하는 구조체형 포인터에 대한 예시는 하기의 표 1과 같다.
Struct * Receive_time{
int time;
Recive_time *link
}
상기 표 1에서, "time"은 메시지 획득 후, 다음번 메시지를 획득하기까지 경과된 시간을 의미한다. 또한, "link"는 "time"이 저장될 다음 순서의 노드를 의미한다.
이러한 구조체형 포인터를 사용하는 메시지 수신 리스트 구조에 대한 예시가 도 3에서 도시된다.
도 3에서 도시되는 바와 같이, 본 발명의 메시지 수신 리스트는 폴링 주기 결정 구간, 및 상기 폴링 주기 결정 구간 내에 존재하는 복수 개의 노드들로 구성된다.
폴링 주기 결정 구간은 폴링 주기를 결정하기 위해 평균 시간을 산출해야 하는 구간을 의미하며, 그 길이는 최상위 노드(Top Node)(도면에서는 A 노드)와 최하위 노드(Bottom Node)(도면에서는 B 노드)에 의해 결정된다. 메시지 수신 주기 관리부(261)는 최초로 메시지를 획득하기까지 경과된 시간을 최상위 노드(A)에 저장하는 것을 시작으로, 연속하여 메시지 획득 경과 시간을 다음번 노드에 저장한다. 구체적으로, 메시지 수신 주기 관리부(261)가 최상위 노드(A)에 최초 메시지 획득 경과 시간을 저장하면, 다음번 노드가 지정된다. 그러면 메시지 수신 주기 관리부(261)는 상기 다음번 노드에, 다음 메시지를 획득 경과 시간을 저장한다. 도 3에서는 최초 메시지 획득 경과 시간은 3분, 다음 메시지 획득 경과 시간은 2분, 그 다음 메시지 획득 경과 시간은 5분 등임을 예시하고 있다.
상기 폴링 주기 결정 구간은 사용자 또는 휴대 단말기(110) 제조사에 따라 설정될 수 있는 가변 길이를 가진다. 예를 들어, 상기 폴링 주기 결정 구간은 도 3에서 도시되는 바와 같이 7 개의 노드를 포함할 수 있지만, 이는 예시에 불과하며 사용자의 메신저 사용 빈도, 네트워크 상황 등에 따라 유동적으로 변경될 수 있다. 예를 들어, 상기 폴링 주기 결정 구간은 한 달, 10일 등의 시간에 해당하는 길이를 가질 수 있다.
한편, 메시지 수신 주기 관리부(261)는 폴링 주기 결정 구간 내의 모든 노드에 대해 데이터(즉, 메시지 획득 경과 시간)가 저장된 경우라도, 계속하여 메시지 수신 리스트를 업데이트할 필요가 있다. 이 경우, 메시지 수신 주기 관리부(261)는 최상위 노드인 A 노드에 대한 연결을 해제하고, 상기 최상위 노드와 가장 인접한 노드인 B 노드를 새로운 최상위 노드로 설정한다. 이와 동시에, 메시지 수신 주기 관리부(261)는 최하위 노드인 B 노드 다음으로 D 노드를 생성하고, 상기 D 노드를 새로운 최하위 노드로 설정한다. 메시지 수신 주기 관리부(261)는 이러한 방식으로 메시지 수신 리스트를 연속하여 업데이트할 수 있다.
폴링 주기 설정부(262)는 휴대 단말기(110)가 서버(120)에 일정 주기로 접속하는 폴링 주기를 설정한다. 이를 위해, 폴링 주기 설정부(262)는 폴링 주기 결정 시, 폴링 주기 결정 구간 내에 존재하는 노드들을 확인한다. 그리고 폴링 주기 설정부(262)는 상기 확인된 노드들에 기록된 시간들을 합산하고, 합산된 시간을 상기 폴링 주기 결정 구간 내에 존재하는 노드들의 개수로 나눈다. 즉, 폴링 주기 설정부(262)가 설정하는 신규 폴링 주기는 하기의 수학식 1과 같이 표현될 수 있다.
[수학식 1]
신규 폴링 주기 = (폴링 주기 결정 구간 내의 노드들에 기록된 시간들의 합) / (폴링 주기 결정 구간 내의 노드들의 개수)
폴링 주기 설정부(262)는 상기의 수학식 1에 따라 결정된 폴링 주기를 신규 폴링 주기로 설정한다. 그러면 휴대 단말기(110)는 신규 폴링 주기에 따라 서버(120)에 접속하여 메시지를 획득한다.
도 3에서 도시되는 메시지 수신 리스트를 예시하면, 신규 폴링 주기는 하기의 수학식 2에 따라 대략 2.85(분)이다.
[수학식 2]
신규 폴링 주기 = (3 + 2 + 5 + 1 + 2 + 3 + 4) / 7
그리고 신규 폴링 주기는 메시지 획득 시마다 계속하여 변경되므로 사용자의 메신저 사용 빈도, 네트워크 상황 등에 따라 동적으로 설정될 수 있다.
한편, 상기에서는 제어부(260), 메시지 수신 주기 관리부(261), 폴링 주기 설정부(262)가 별도의 블록으로 구성되고, 각 블록이 상이한 기능을 수행하는 것으로 기술하였지만 이는 기술상의 편의를 위한 것일 뿐, 반드시 이와 같이 각 기능이 구분되어지는 것은 아니다. 예를 들어, 메시지 수신 주기 관리부(261), 폴링 주기 설정부(262)가 수행하는 특정 기능을 제어부(260) 자체가 수행할 수도 있음에 유의해야 한다.
도 5는 본 발명의 실시예에 따라, 휴대 단말기(110)의 제어부(260) 폴링 주기를 동적으로 업데이트하는 과정을 도시하는 순서도이다.
우선, 제어부(260)는 S510 단계에서, 휴대 단말기(110)에 설치된 인스턴트 메신저가 실행됨을 감지한다. 그러면 제어부(260)는 S520 단계에서, 미리 설정된 폴링 주기가 경과되었는지 여부를 판단한다. 만약, 휴대 단말기(110)가 공장 출고 후 인스턴트 메신저를 최초 실행한 것이라면, 상기 폴링 주기는 디폴트로 설정된 폴링 주기일 수 있다. 이러한 경우가 아니라면, 상기 폴링 주기는 이전 순서에 메시지를 획득하면서 업데이트된 폴링 주기일 수 있다.
만약, 폴링 주기가 경과하지 않았다면, 제어부(260)는 S530 단계로 진행하여 설정된 폴링 주기가 경과할 때까지 대기한다.
반면, 폴링 주기가 경과하였다면, 제어부(260)는 S540 단계로 진행하여 서버(120)에 접속한다. 그리고 제어부(260)는 S550 단계에서, 상기 서버(120)에, 자신에게 수신된 메시지가 존재하는지 여부를 판단한다. 존재한다면, 제어부(260)는 상기 메시지를 휴대 단말기(110)로 전송하여 줄 것을 서버(120)에 요청한다.
그리고 제어부(260)는 S570 단계에서 메시지를 획득하는데 까지 경과한 시간을 메시지 수신 리스트에 기록한다.
이어서, 제어부(260)는 S580 단계에서, 폴링 주기를 업데이트하여 신규 폴링 주기를 산출한다. 산출된 신규 폴링 주기는 제어부(260)가 서버(120)에 폴링할 주기를 결정한다.
도 6은 도 5에 도시된 S570 단계를 구체적으로 도시하는 순서도이다.
우선, 제어부(260)는 메시지 수신 리스트 기록 전, S610 단계에서 저장부(250)에 저장된 메시지 수신 리스트를 확인한다. 그리고 제어부(260)는 메시지 획득 시간을 기록할 신규 노드를 생성하고, 신규 노드를 최하위 노드와 연결한다.
그리고 제어부(260)는 S630 단계에서, 폴링 주기 결정 구간 내의 노드의 개수가 미리 설정된 값을 초과하였는지 여부를 판단한다. 예를 들어, 제어부(260)는 폴링 주기 결정 구간이 한 달에 해당하는 구간인 경우, 신규 노드가 생성됨으로 인하여 한 달의 길이를 초과하게 되는지 여부를 판단한다.
만약, 초과하는 경우라면, 제어부(260)는 S640 단계로 진행하여 가장 오래된 노드에 대한 연결을 해제한다. 즉, 제어부(260)는 최상위 노드와의 연결을 해제하고, 상기 최상위 노드와 가장 인접한 노드를 신규 최상위 노드로 설정한다. 이러한 방법으로 폴링 주기 결정 구간 내의 노드의 개수를 일정하게 유지할 수 있다.
그리고 제어부(260)는 S650 단계로 진행하여, 생성된 신규 노드에 현재 시점에서 메시지를 획득할 때 까지 경과한 시간을 기록한다. 예를 들어, 이전에 설정된 폴링 주기가 1분 이었고, 2 번의 폴링 주기가 경과한 후에 메시지를 획득하였다면, 제어부(260)는 2분을 상기 신규 노드에 기록한다.
도 7은 도 5의 S580 단계를 구체적으로 도시하는 순서도이다.
우선, 제어부(260)는 S710 단계에서, 저장부에 저장된 메시지 수신 리스트를 확인한다. 그리고 제어부(260)는 S720 단계에서, 상기 메시지 수신 리스트 내에 설정된 폴링 주기 결정 구간을 확인한다. 이 경우, 제어부(260)는 상기 폴링 주기 결정 구간 내에 존재하는 노드들의 개수도 동시에 확인할 수 있다.
그리고 제어부(260)는 S730 단계에서, 폴링 주기 결정 구간 내에 존재하는 노드들에 기록된 메시지 획득 시간을 합산한다. 그리고 제어부(260)는 S740 단계에서, 상기 합산된 시간을 폴링 주기 결정 구간 내에 존재하는 노드들의 개수로 나누어 신규 폴링 주기를 산출한다.
한편, 도 5의 전체 과정 및 도 7의 S710 단계 내지 S740 단계에 따라 산출되는 신규 폴링 주기는 증가만 될 수 있을 뿐, 단축될 수는 없다. 즉, 폴링 주기를 단축시켜 보다 자주 메시지를 획득해야 할 필요가 있음에도 불구하고, 상기의 과정에만 따르면 증가된 폴링 주기는 단축될 수 없다.
이를 위해, 본 발명에서는 S750 이하의 단계를 수행한다.
제어부(260)는 S750 단계에서, 설정된 횟수 이상 연속하여, 이전에 설정된 폴링 주기에 따라 메시지 획득에 성공하였는지 여부를 판단한다. 예를 들어, 이전에 설정된 폴링 주기가 10분이었고, 3회 연속 10분을 주기로 서버(120)에 접속하여 메시지 획득에 성공하였다면, 폴링 주기를 단축하여도 메시지 획득에 성공할 확률이 높다고 판단될 수 있다.
만약, 설정된 횟수 이상 연속하여 메시지 획득에 성공하였다면, 제어부(260)는 S760 단계로 진행하여 S740 단계에서 산출된 신규 폴링 주기를 일정한 규칙에 따라 단축시키고, 단축된 폴링 주기를 다음 순서의 폴링 주기로 결정한다. 예를 들어, 제어부(260)는 산출된 신규 폴링 주기를 정수(2 또는 3 등)로 나눈 값을 다음 순서의 폴링 주기로 결정할 수 있다. 또는, 산출된 신규 폴링 주기에서 일정한 단위 시간(예를 들어, 1시간, 1분 등)을 차감하여 다음 순서의 폴링 주기로 결정할 수도 있다. 이러한 폴링 주기의 단축 방법은 일 예시에 불과할 뿐, 다양한 변형 실시예들이 존재할 수 있다.
S750 단계에서, 만약 설정된 횟수 이상 연속하여 메시지 획득에 성공한 것이 아니라면, 제어부(260)는 S770 단계로 진행하여, S740 단계에서 산출된 신규 폴링 주기를 다음 순서의 폴링 주기로 결정한다.
도 8은 본 발명의 실시예에 따른 메시지 폴링 횟수와, 이에 따른 메시지 유실 횟수에 대한 실험값을 도시하는 도면이다. 이 경우, 휴대 단말기의 소모 전류는 폴링 횟수와 같다고 가정할 수 있다.
도 8에서, 메시지 수신 간격과 폴링 간격의 단위는 분(minute)이며, 폴링 횟수는 폴링 간격(Polling Interval)으로 전체시간을 나누면 획득할 수 있다. 그리고 유실 횟수는 메시지가 도착한 후에 폴링이 이루어지기 전에, 또 다른 메시지가 들어온 경우 이전 메시지는 유실됨을 가정한다.
메시지 수신 간격이 6637분인 경우를 예시로 설명하면, 이는 특정 휴대 단말기에 대한 메시지가 6637분을 주기로 수신되는 것을 의미한다.
메시지 수신 간격이 6637분인데, 1분을 주기로 폴링하게 되면, 폴링 횟수는 6637번이 되며 메시지는 유실되지 않았다.
폴링 주기를 10분으로 하면, 폴링 횟수는 663번이 되며 이 경우에도 메시지는 유실되지 않았다.
폴링 주기를 60분으로 하면, 폴링 횟수는 110번이 되며 이 경우에도 메시지는 유실되지 않았다.
도 8에서는 이러한 과정을 반복하여 실험값을 기록하였다.
도 8에서 도시되는 바와 같이, 3918분이라는 평균값으로 폴링을 수행한 경우, 총 11번의 폴링을 했으며, 3번의 데이터 유실이 있었다. 평균적으로 10번 정도의 폴링을 했고, 2~3번 정도의 데이터 유실이 있었다. 이는 다른 시간으로 폴링을 수행한 경우보다 경쟁력이 높은 수치임을 쉽게 알 수 있다.
상기한 본 발명에 따르면, 미리 설정된 폴링 주기 결정 구간에서 메시지 획득에 성공하는데 까지 걸린 시간들에 대한 평균 시간을 신규 폴링 주기로 결정하여 폴링 주기를 동적으로 설정하므로 휴대 단말기의 배터리 소모량을 최소화하고, 패킷 사용에 대한 과금의 양도 최소화할 수 있다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
110 : 휴대 단말기 120 : 서버
210 : RF 통신부 220 : 오디오 처리부
230 : 키 입력부 240 : 포시부
250 : 저장부 251 : 메시지 수신 리스트
260 : 제어부 261 : 메시지 수신 주기 관리부
262 : 폴링 주기 설정부

Claims (14)

  1. 인스턴트 메신저에서 메시지 폴링 방법에 있어서,
    인스턴트 메신저를 실행하는 실행 단계; 및
    폴링 주기 경과 시, 서버에 접속하여 메시지 획득을 시도하는 폴링 단계를 포함하며,
    상기 폴링 주기는 미리 설정된 폴링 주기 결정 구간에서 메시지 획득에 성공하는데 까지 경과한 시간들에 대한 평균 시간으로 결정되는 것을 특징으로 하는 메시지 폴링 방법.
  2. 제1항에 있어서, 상기 메시지 획득 후,
    상기 메시지 획득에 성공할 때 까지 경과한 시간을 메시지 수신 리스트에 기록하는 기록 단계를 더 포함하며,
    상기 메시지 수신 리스트는 복수 개의 노드를 포함하는 구조체형 포인터로 구성되며, 상기 각 노드에는 메시지를 획득하는데 까지 경과한 시간이 기록되는 것을 특징으로 하는 메시지 폴링 방법.
  3. 제2항에 있어서, 상기 기록 단계 이후,
    상기 폴링 주기를 업데이트 하는 업데이트 단계를 더 포함하는 것을 특징으로 하는 메시지 폴링 방법.
  4. 제2항에 있어서, 상기 기록 단계는,
    신규 노드를 생성하고 상기 메시지 수신 리스트의 최하위 노드와 연결하는 단계; 및
    상기 신규 노드에 상기 메시지 획득에 성공하는데 까지 경과한 시간을 기록하는 단계를 더 포함하는 것을 특징으로 하는 메시지 폴링 방법.
  5. 제4항에 있어서, 상기 연결 단계 이후에,
    상기 노드의 총 개수가 미리 설정된 개수를 초과하는 경우, 상기 메시지 수신 리스트와 최상위 노드와의 연결을 해제하는 단계를 더 포함하는 것을 특징으로 하는 메시지 폴링 방법.
  6. 제3항에 있어서, 상기 업데이트 단계는,
    상기 메시지 수신 리스트에서 폴링 주기 결정 구간을 확인하는 단계;
    상기 폴링 주기 결정 구간에 포함된 복수 개의 노드들에 기록된 시간을 합산하는 단계; 및
    상기 합산된 시간을 상기 폴링 주기 결정 구간에 포함된 노드들의 개수로 나누어 신규 폴링 주기를 산출하는 단계를 더 포함하는 것을 특징으로 하는 메시지 폴링 방법.
  7. 제6항에 있어서, 상기 업데이트 단계는,
    상기 신규 폴링 주기 산출 이후에,
    설정된 횟수 이상 연속하여 이전에 설정된 폴링 주기에 따라 메시지 획득에 성공하였는지 여부를 판단하는 단계; 및
    성공 시, 상기 산출된 신규 폴링 주기를 단축시키는 단계를 더 포함하는 것을 특징으로 하는 메시지 폴링 방법.
  8. 서버에 접속하여 메시지를 획득하는 RF 통신부;
    인스턴트 메신저 프로그램을 구비하는 저장부; 및
    상기 인스턴트 메신저 프로그램 실행 감지 시, 폴링 주기 경과 여부를 판단하고, 상기 폴링 주기 경과 시 서버에 접속하여 메시지 획득을 시도하는 제어부를 포함하며,
    상기 폴링 주기는 미리 설정된 폴링 주기 결정 구간에서 메시지 획득에 성공하는데 까지 경과한 시간들에 대한 평균 시간으로 결정되는 것을 특징으로 하는 휴대 단말기.
  9. 제8항에 있어서,
    상기 저장부는,
    복수 개의 노드를 포함하는 구조체형 포인터로 구성되며, 상기 각 노드에는 메시지를 획득하는데 까지 경과한 시간이 기록되는 메시지 수신 리스트를 더 구비하며,
    상기 제어부는,
    상기 메시지 획득 후, 상기 메시지 획득에 성공할 때 까지 경과한 시간을 메시지 수신 리스트에 기록하는 것을 특징으로 하는 휴대 단말기.
  10. 제9항에 있어서, 상기 제어부는,
    상기 기록 후, 상기 폴링 주기를 업데이트 하는 것을 특징으로 하는 휴대 단말기.
  11. 제9항에 있어서, 상기 제어부는,
    상기 기록 시 상기 메시지 수신 리스트에 신규 노드를 생성하고, 상기 메시지 수신 리스트의 최하위 노드와 연결하며, 상기 신규 노드에 상기 메시지 획득에 성공하는데 까지 경과한 시간을 기록하는 것을 특징으로 하는 휴대 단말기.
  12. 제11항에 있어서, 상기 제어부는,
    상기 연결 후, 상기 노드의 총 개수가 미리 설정된 개수를 초과하는 경우, 상기 메시지 수신 리스트와 최상위 노드와의 연결을 해제하는 것을 특징으로 하는 휴대 단말기.
  13. 제10항에 있어서, 상기 제어부는,
    상기 업데이트 시 상기 메시지 수신 리스트에서 폴링 주기 결정 구간을 확인하고, 상기 폴링 주기 결정 구간에 포함된 복수 개의 노드들에 기록된 시간을 합산하며, 상기 합산된 시간을 상기 폴링 주기 결정 구간에 포함된 노드들의 개수로 나누어 신규 폴링 주기를 산출하는 것을 특징으로 하는 휴대 단말기.
  14. 제13항에 있어서, 상기 제어부는,
    상기 신규 폴링 주기 산출 이후에, 설정된 횟수 이상 연속하여 이전에 설정된 폴링 주기에 따라 메시지 획득에 성공하였는지 여부를 판단하고, 성공 시 상기 산출된 신규 폴링 주기를 단축시키는 것을 특징으로 하는 휴대 단말기.










KR1020110000951A 2011-01-05 2011-01-05 인스턴트 메신저에서 메시지 폴링 방법 및 장치 KR20120079645A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110000951A KR20120079645A (ko) 2011-01-05 2011-01-05 인스턴트 메신저에서 메시지 폴링 방법 및 장치
US13/279,690 US20120170528A1 (en) 2011-01-05 2011-10-24 Method for polling a message in an instant messenger and a mobile device adapted to the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110000951A KR20120079645A (ko) 2011-01-05 2011-01-05 인스턴트 메신저에서 메시지 폴링 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20120079645A true KR20120079645A (ko) 2012-07-13

Family

ID=46380721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110000951A KR20120079645A (ko) 2011-01-05 2011-01-05 인스턴트 메신저에서 메시지 폴링 방법 및 장치

Country Status (2)

Country Link
US (1) US20120170528A1 (ko)
KR (1) KR20120079645A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150045353A (ko) * 2013-10-18 2015-04-28 (주)스피치이노베이션컨설팅그룹 메시지 처리 방법 및 이를 수행하는 전자 기기

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954227B (zh) * 2014-03-25 2018-04-20 北京雪球信息科技有限公司 一种抢占式跨平台消息推送方法和服务器
CN108965032B (zh) * 2018-08-22 2022-07-01 北京奇虎科技有限公司 一种基于循环队列的消息推送量统计方法和装置
US11711427B2 (en) * 2019-04-26 2023-07-25 Siemens Aktiengesellschaft Data acquisition system and method
CN114528128B (zh) * 2022-04-24 2023-03-21 广州世炬网络科技有限公司 应用进程的输入输出多路复用方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483526A (en) * 1994-07-20 1996-01-09 Digital Equipment Corporation Resynchronization method and apparatus for local memory buffers management for an ATM adapter implementing credit based flow control
US5754754A (en) * 1995-07-26 1998-05-19 International Business Machines Corporation Transmission order based selective repeat data transmission error recovery system and method
US7289495B2 (en) * 2003-08-07 2007-10-30 Teamon Systems, Inc. Communications system providing adaptive polling based upon user usage patterns and related methods
US7624147B2 (en) * 2003-09-04 2009-11-24 Sierra Wireless, Inc. Efficient notification of new electronic mail arrival
US7184753B2 (en) * 2004-01-22 2007-02-27 Research In Motion Limited Mailbox pooling pre-empting criteria
US8275839B2 (en) * 2004-03-31 2012-09-25 Google Inc. Methods and systems for processing email messages
US7461173B2 (en) * 2004-06-30 2008-12-02 Intel Corporation Distributing timers across processors
US7711794B2 (en) * 2005-02-01 2010-05-04 International Business Machines Corporation Adjusting timing between automatic, non-user-initiated pollings of server to download data therefrom
US7924884B2 (en) * 2005-12-20 2011-04-12 Citrix Systems, Inc. Performance logging using relative differentials and skip recording
US7870207B2 (en) * 2006-12-21 2011-01-11 Research In Motion Limited Method and apparatus for efficient polling
ATE445955T1 (de) * 2007-04-13 2009-10-15 Teamon Systems Inc Direktzugangs-e-mail-verteilungs- und synchronisationssystem mit imap-idle- implementierung
US8250153B2 (en) * 2007-04-13 2012-08-21 Research In Motion Limited Email system including email aggregation server providing staggering of overlapped polling
US20110270707A1 (en) * 2008-07-10 2011-11-03 Paul Breed Apparatus and methods for efficient delivery of auction item information
US8793320B2 (en) * 2010-02-19 2014-07-29 Blackberry Limited Communications system with polling server providing dynamic record ID polling and related methods
US8767707B2 (en) * 2010-04-23 2014-07-01 Blackberry Limited Monitoring a mobile data service associated with a mailbox

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150045353A (ko) * 2013-10-18 2015-04-28 (주)스피치이노베이션컨설팅그룹 메시지 처리 방법 및 이를 수행하는 전자 기기

Also Published As

Publication number Publication date
US20120170528A1 (en) 2012-07-05

Similar Documents

Publication Publication Date Title
US20220256008A1 (en) Method and Apparatus for Selecting Information Pushed-To Terminal
US20140378176A1 (en) Method, apparatus and system for short message-based information push and mobile client supporting the same
JP7181987B2 (ja) ページング指示方法、装置及びシステム
JP2021510246A (ja) 時間周波数同期方法、ネットワーク機器及び端末
CN111866433B (zh) 视频源切换方法、播放方法、装置、设备和存储介质
CN108112063B (zh) 电量管理方法、电量管理装置、终端和可读存储介质
RU2585986C2 (ru) Терминал и способ управления его приложениями
KR20120079645A (ko) 인스턴트 메신저에서 메시지 폴링 방법 및 장치
CN106453597B (zh) 数据同步周期的调整方法、装置及系统
CN104092556A (zh) 基于分布式系统的监控方法、装置及系统
CN110337070A (zh) 一种基于tdma的lora数据通信方法
CN112189329A (zh) 下行数据缓存指示方法及装置和下行数据获取方法及装置
CN111787611A (zh) 一种更新寻呼周期的方法、终端设备及网络设备
CN108260213B (zh) 一种数据传输方法、基站及终端
CN109194998B (zh) 数据传输方法、装置、电子设备及计算机可读介质
CN111787513B (zh) 用于播放音频的方法和装置
CN113543345B (zh) 资源确定方法、指示方法及设备
CN113596904B (zh) 非周期定位报告的传输方法及设备
CN112654078B (zh) 一种上行传输控制方法及终端
KR101964932B1 (ko) 심카드를 구비한 휴대 단말기 및 이의 배터리 관리 방법
CN109923848B (zh) 一种设备音量的控制方法、设备以及服务器
CN113039518B (zh) 播放控制方法和装置、计算机可读存储介质、电子设备
CN109388947B (zh) 一种后台管理方法、设备及计算机可读存储介质
CN110337147A (zh) 一种基于tmda和固定注册窗口的lora数据通信方法
CN109462826A (zh) 一种群组寻呼方法、用户设备、网络设备及计算机可读存储介质

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid