KR100686382B1 - 싱크 서버를 이용한 메신저 알림 시스템 및 방법 - Google Patents

싱크 서버를 이용한 메신저 알림 시스템 및 방법 Download PDF

Info

Publication number
KR100686382B1
KR100686382B1 KR1020050061643A KR20050061643A KR100686382B1 KR 100686382 B1 KR100686382 B1 KR 100686382B1 KR 1020050061643 A KR1020050061643 A KR 1020050061643A KR 20050061643 A KR20050061643 A KR 20050061643A KR 100686382 B1 KR100686382 B1 KR 100686382B1
Authority
KR
South Korea
Prior art keywords
messenger
information
server
notification message
online
Prior art date
Application number
KR1020050061643A
Other languages
English (en)
Other versions
KR20070006365A (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 KR1020050061643A priority Critical patent/KR100686382B1/ko
Priority to PCT/KR2006/002539 priority patent/WO2007007962A1/en
Priority to JP2008520174A priority patent/JP4740328B2/ja
Publication of KR20070006365A publication Critical patent/KR20070006365A/ko
Application granted granted Critical
Publication of KR100686382B1 publication Critical patent/KR100686382B1/ko
Priority to US11/967,342 priority patent/US8688854B2/en

Links

Images

Classifications

    • G06Q50/40
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]

Abstract

본 발명은 싱크 서버를 이용한 메신저 알림 시스템 및 방법에 관한 것으로서, 본 발명에 의한 시스템은 메신저 사용자들의 인스턴트 메시지 전송을 제어하고 메신저 사용자들의 상태 변경 정보를 모니터링하여 전송하는 메신저 시스템; 미리 설정된 이벤트 발생 여부를 모니터링하고, 이벤트 발생 시 해당 이벤트 발생을 알리는 알림 메시지를 생성하는 적어도 하나의 외부 서비스 시스템; 및 상기 메신저 시스템으로부터 메신저 사용자들의 상태 변경 정보를 수신하고, 수신된 상태 변경 정보를 온라인 사용자 데이터베이스에 저장하며, 상기 적어도 하나의 외부 서비스 시스템으로부터 알림 메시지를 수신할 경우, 알림 메시지의 수신자가 메신저에 온라인 상태인지 여부를 판단하고, 온라인 상태이면 상기 알림 메시지를 상기 메신저 시스템에 전송하여, 상기 알림 메시지가 온라인 상태의 해당 사용자에게 전달되도록 하는 싱크 서버를 포함한다. 본 발명에 의하면, 메신저 시스템의 부하를 최소화하면서 다양한 서비스에서 발생하는 이벤트를 메신저를 통해 알릴 수 있는 장점이 있다.
메신저, 알림, 메일, 블로그

Description

싱크 서버를 이용한 메신저 알림 시스템 및 방법{Messenger Notification System and Method Using Synchronization Server}
도 1은 본 발명의 바람직한 일 실시예에 따른 싱크 서버를 이용한 메신저 알림 시스템의 전체적인 구성을 도시한 도면.
도 2는 본 발명의 바람직한 일 실시예에 따른 싱크 서버의 모듈 구성을 도시한 블록도.
도 3은 본 발명의 바람직한 일 실시에에 따른 메신저 시스템과 싱크 서버와의 연결 관계를 도시한 도면.
도 4는 본 발명의 바람직한 일 실시예에 따른 싱크 서버와 통신하는 외부 서비스 서버의 모듈 구성을 도시한 도면.
도 5는 본 발명의 바람직한 일 실시예에 따른 사용자가 메신저에 로그인 시 사용자의 온라인 정보가 싱크 서버에 제공되는 과정에 대한 순서도.
도 6은 본 발명의 바람직한 일 실시예에 따른 메일 서버에서 메일 수신 정보를 알림 메시지로 제공하는 과정에 대한 순서도.
도 7은 본 발명의 바람직한 일 실시예에 따른 싱크 서버 또는 온라인 사용자 데이터베이스의 장애로 인해 싱크 서버가 관리하고 있는 온라인 사용자 정보가 유 실될 경우의 복구 방법에 대한 순서도이다.
도 8은 메신저 시스템에 장애가 생길 경우의 메신저 서버 리셋 정보를 제공하는 과정에 대한 순서도.
도 9는 메신저 중앙 서버 또는 외부 서버에서 싱크 서버에 전송되는 패킷의 구조를 도시한 도면.
본 발명은 싱크 서버를 이용한 메신저 알림 시스템에 관한 것으로서, 더욱 상세하게는 메일 서비스, 블로그 서비스와 같이 타 서비스에서 발생한 이벤트를 메신저를 통해 알려주는 시스템에 관한 것이다.
인스턴트 메시지를 송수신하는 메신저의 사용은 계속적으로 늘어가는 추세이며, 이제 전화나 이동전화와 함께 주요한 통신 수단의 하나가 되고 있다. 메신저는 컴퓨터를 통해 메시지를 전송하므로, 일반적인 텍스트 메시지 이외에도 문서 파일, 그림 파일 등을 손쉽게 실시간으로 주고받을 수 있는 장점이 있는 통신 수단이다.
특히, 메신저를 회사 등에서 근무를 할 때 항상 켜놓고 사용하는 것이 일반화 되면서, 메신저는 휴대폰과 함께 개인에게 연락을 취할 수 있는 가장 빠른 통신 수단의 하나가 되어가고 있다.
메신저의 사용이 범용화 됨에 따라 메신저의 활용 범위를 확장하는 시도가 계속적으로 이루어지고 있으며, 메신저를 이용해 대화 당사자간에 게임을 하거나 뉴스 정보 또는 쇼핑 정보와 같이 유용한 정보를 실시간으로 제공하는 서비스 등이 실시되고 있다.
사용자가 항상 켜놓고 있는 통신 수단이라는 점에서 메신저는, 휴대폰의 문자 메시지와 같이, 알림 서비스를 제공하기에 유용하나 서버 부하의 문제 등으로 인해 메신저를 통한 알림 서비스가 활성화 되지 않았으며, 알림 서비스가 제공되더라도 메일과 같이 극히 제한적인 범위 내에서만 제공되는 문제점이 있었다.
근래에 들어, 포탈 사이트는 메일, 개인 홈페이지, 블로그, 커뮤니티 등 다양한 형태의 서비스를 제공하고 있으나, 이러한 모든 서비스에서 일어나는 이벤트에 대해 알림 메시지를 메신저를 통해 제공하는 것은 서버의 급격한 부하를 야기하는 바, 현실적으로 구현되기 어려운 문제점이 있었다.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 서버의 부하를 최소화하면서 다양한 서비스에서 발생하는 이벤트를 메신저를 통해 알릴 수 있는 시스템 및 방법을 제안하는 것이다.
본 발명의 다른 목적은 메신저에 온라인인 사용자에게만 알림 메시지 전송이 이루어지도록 함으로써 알림 메시지 패킷의 양을 최소화하는 싱크 서버를 이용한 메신저 알림 시스템을 제안하는 것이다.
상기한 바와 같은 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면, 메신저 시스템으로부터 메신저 사용자들의 상태 변경 정보를 수신하고, 적어도 하나의 외부 서비스 시스템으로부터 알림 메시지를 수신하는 싱크 서버; 및 상기 싱크 서버가 수신한 메신저 사용자들의 상태 변경 정보에 기초하여 메신저에 온라인 상태인 사용자들의 정보를 저장하는 온라인 사용자 데이터베이스를 포함하되, 상기 싱크 서버는 상기 온라인 사용자 데이터베이스의 정보를 기초로 하여 상기 알림 메시지의 전송을 제어하는 메신저 알림 시스템이 제공된다.
상기 싱크 서버는 상기 외부 서비스 시스템으로부터 알림 메시지를 수신할 경우, 상기 온라인 사용자 데이터베이스의 정보를 이용하여 상기 알림 메시지의 수신자가 메신저에 온라인 상태인지 여부를 판단하고, 온라인 상태이면 상기 알림 메시지를 상기 메신저 시스템에 전송하여, 상기 알림 메시지가 온라인 상태인 해당 사용자에게 전달되도록 하는 메신저 알림 시스템이 제공된다.
상기 외부 서비스 시스템은 미리 설정된 이벤트 발생 여부를 모니터링하고, 이벤트 발생 시 해당 이벤트 발생을 알리는 알림 메시지를 생성한다.
상기 외부 서비스 시스템은 메일 시스템, 블로그 시스템 및 커뮤니티 시스템 중 어느 하나 이상을 포함할 수 있다.
상기 외부 서비스 시스템이 메일 시스템일 경우, 상기 이벤트는 메일 수신 이벤트이며, 상기 외부 서비스 시스템이 블로그 또는 커뮤니티 시스템일 경우, 상기 이벤트는 새로운 글의 등록 이벤트일 수 있다.
상기 싱크 서버 또는 온라인 사용자 데이터베이스에 장애가 발생할 경우, 상기 싱크 서버는 전체 온라인 사용자 요청 정보를 상기 메신저 시스템에 전송하며, 상기 메신저 시스템은 전체 온라인 사용자 정보를 상기 싱크 서버에 제공한다.
상기 메신저 시스템이 리셋될 경우, 상기 메신저 시스템은 상기 메신저 시스템의 리셋 정보를 상기 싱크 서버에 전송하고, 상기 싱크 서버는 상기 온라인 사용자 데이터베이스를 갱신한다.
상기 싱크 서버는 상기 메신저 시스템의 미리 설정된 서버 및 상기 외부 서비스 시스템의 미리 설정된 서버와의 통신을 위한 소켓을 포함하고 있으며, 소켓 통신 방법에 의해 패킷을 송수신한다.
상기 메신저 시스템에서 상기 싱크 서버로 전송하는 메신저 사용자의 상태 변경 정보 패킷 및 상기 외부 서비스 시스템에서 상기 싱크 서버로 전송하는 알림 메시지 패킷은 패킷 코드 필드, 커맨드 필드, 세션 아이디 필드, 패킷 아이디 필드, 바디 사이즈 필드 및 바디 필드를 포함할 수 있다.
상기 싱크 서버는 상기 알림 메시지 패킷의 프로토콜을 변환하여 상기 메신저 서비스 시스템에 전송한다.
상기 프로토콜 변환은 상기 커맨드 필드에 기록된 파라미터를 각 시스템에 적용되는 파라미터로 변환한다.
상기 싱크 서버는, 상기 외부 서비스 시스템과의 통신을 위한 적어도 하나의 제1 소켓; 및 상기 메신저 시스템과의 통신을 위한 제2 소켓; 상기 메신저 시스템으로부터 사용자의 상태 변경 정보를 수신할 경우, 온라인 사용자 데이터베이스의 상태 정보를 갱신하는 상태 정보 갱신 모듈; 및 상기 외부 서비스 시스템으로부터 이벤트 발생 알림 메시지를 수신할 경우, 알림 메시지에 상응하는 사용자가 온라인 상태인지 여부를 판단하는 온라인 사용자 판단 모듈을 포함하되, 상기 제2 소켓은 메신저 시스템으로부터 메신저 사용자의 상태 변경 정보를 수신하여 상기 상태 정보 갱신 모듈에 제공하며, 상기 제1 소켓은 상기 외부 서비스 시스템으로부터 이벤트 발생 알림 메시지를 수신하고, 상기 온라인 사용자 판단 모듈의 동작에 의해 알림 메시지에 상응하는 사용자가 온라인 상태라고 판단될 경우, 상기 제2 소켓은 이벤트 발생 알림 정보를 상기 메신저 서비스 시스템에 제공한다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
본 발명의 또 다른 측면에 따르면, 메신저를 이용한 알림 서비스를 제공하기 위해 싱크 서버에서 실행되는 방법으로서, 메신저 서비스 시스템으로부터 메신저 사용자 상태 변경 정보를 수신하는 단계(a); 상기 메신저 사용자 상태 변경 정보를 이용하여 온라인 사용자 데이터베이스를 갱신하는 단계(b); 상기 온라인 사용자 데이터베이스의 정보를 기초로 하여 적어도 하나의 외부 서비스 시스템으로부터 전송되는 이벤트 발생 알림 메시지의 전송을 제어하는 단계(c)를 포함하는 메신저를 이용한 알림 서비스 제공 방법이 제공된다.
이하에서는 첨부된 도면을 참조하여 본 발명에 의한 메신저를 이용한 알림 시스템 및 방법의 바람직한 실시예를 상세히 설명한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 싱크 서버를 이용한 메신저 알림 시스템의 전체적인 구성을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 메신저를 이용한 알림 시스템은 싱크 서버(104) 및 온라인 사용자 데이터베이스(110)를 포함할 수 있다.
본 발명에 의한 알림 시스템은 메일, 블로그와 같은 외부 서비스 시스템에서 발생한 이벤트를 메신저를 통해 알려주는 기능을 하는 바, 도 1에는 일례로 메일 시스템(100) 및 블로그 시스템(102)만이 도시되어 있으나 그 외에 커뮤니티 시스템, 파일 저장 서비스 시스템 및 개인 홈페이지 서비스 시스템 등 다양한 외부 서비스 시스템이 더 포함될 수 있다는 것은 당업자에게 있어 자명할 것이다.
도 1에서, 싱크 서버(104)는 메신저 시스템의 메신저 중앙 서버(106)로부터 특정 사용자의 온라인/오프라인에 대한 정보를 수신하며, 수신한 정보를 온라인 사용자 데이터베이스(110)에 저장하는 기능을 한다. 사용자가 온라인 또는 오프라인 상태가 될 경우, 상태 변경 정보는 메신저 중앙 서버(106)로 통지되며, 메신저 중앙 서버는 수신된 상태 변경 정보를 싱크 서버(104)에 전송한다.
본 발명의 바람직한 실시예에 따르면, 싱크 서버(104)는 메신저 중앙 서버와 소켓을 통해 통신을 수행하며, 오픈된 소켓을 통해 메신저 중앙 서버로부터 상태 변경 정보를 수신할 경우 이를 온라인 사용자 데이터베이스(110)에 저장한다. 따라서, 싱크 서버(104)는 메신저 시스템에 온라인인 사용자 정보를 확인할 수 있다.
또한, 싱크 서버(104)는 메일 시스템(100) 및 블로그 시스템(102) 등의 외부 서비스 시스템에서 미리 설정된 이벤트가 발생하여 알림 메시지가 전송될 경우, 수 신된 알림 메시지에 상응하는 사용자가 메신저에 온라인 상태인지 여부를 판단하는 기능을 한다. 싱크 서버(104)는 온라인 사용자 데이터베이스(110)에 저장된 정보를 이용하여 수신된 알림 메시지에 상응하는 사용자가 메신저에 온라인 상태인지 여부를 판단한다. 알림 메시지에 상응하는 사용자가 메신저에 온라인 상태인 사용자일 경우, 싱크 서버(104)는 해당 알림 메시지를 메신저 중앙 서버(106)에 제공한다.
본 발명의 바람직한 실시예에 따르면, 싱크 서버(104)는 메일 시스템의 서버(일반적으로, 메일 서버) 또는 블로그 시스템의 서버(일반적으로, 블로그 서버)와의 통신도 소켓을 통해 수행하는 것이 바람직하다.
본 발명의 일 실시예에 따르면, 메일 시스템(100)은 새로운 메일이 특정 사용자에게 도착할 경우, 해당 사용자에게 새로운 메일 도착을 알리는 알림 메시지를 생성하여 싱크 서버(104)에 전송한다. 메일 시스템(100)은 사용자가 특정 송신자로 메일이 왔을 때에만 알림 메시지를 전송하도록 하는 기능을 지원할 수도 있으며, 이 경우 해당 송신자로부터 메일이 도착할 경우에만 해당 수신자에게 전송될 알림 메시지를 생성할 수도 있을 것이다.
본 발명의 일 실시예에 따르면, 블로그 시스템(102)은 특정 사용자의 블로그에 새로운 글이 등록될 경우, 해당 블로그 사용자에게 새로운 글이 등록되었음을 알리는 알림 메시지를 생성하여 싱크 서버(104)에 전송한다.
도 1에는 도시되어 있지 않으나, 커뮤니티 시스템이 싱크 서버에 연결되어 있을 경우, 커뮤니티 시스템은 커뮤니티에 새로운 글이 등록될 경우 해당 커뮤니티 회원들에게 새로운 글이 등록되었음을 알리는 알림 메시지를 생성하여 싱크 서버 (104)에 전송한다.
상술한 이벤트들 이외에도 다양한 이벤트가 메일 시스템 및 블로그 시스템과 같은 외부 서비스 시스템에 설정되어 알림 메시지가 전송될 수 있다는 점은 당업자에게 있어 자명할 것이다.
본 발명에 의하면, 메일 시스템 및 블로그 시스템과 같은 외부 서비스 시스템으로부터 알림 메시지가 전송될 경우, 싱크 서버는 메신저에 온라인 상태인 사용자들에 대한 알림 메시지만 메신저 시스템에 전송하는 바, 종래의 알림 메시지 전송 방식에 비해 전송되는 메시지의 개수를 최소화할 수 있으며, 이에 따라 알림 메시지를 직접 사용자에게 전송하는 메신저 시스템의 부하가 최소화될 수 있다. 또한, 종래의 경우, 알림 메시지 패킷의 증가로 인해 다양한 외부 서비스 시스템에 대해 알림 메시지를 전송할 수 없었던 문제점이 있었는데, 본 발명에 의하면, 이러한 문제점이 해결되므로, 메일 이외에도 블로그, 커뮤니티 등 다양한 서비스에서의 이벤트에 대해 알림 메시지 제공이 가능하다.
메신저 중앙 서버(106)는 인스턴트 메시지 전송 동작을 전체적으로 제어하는 서버로서, 메신저 클라이언트들의 접속을 관리하고 클라이언트들이 전송한 메시지 및 기타 요청 정보를 처리하는 기능을 한다. 본 발명에서, 메신저 중앙 서버(106)는 사용자들의 온/오프라인 상태 정보가 변경될 때마다 이를 감지하여 싱크 서버(104)에 상태 변경 정보를 전송한다. 메신저 중앙 서버(106)는 실시간으로 사용자들의 온/오프라인 상태 정보를 싱크 서버(104)에 전송할 수도 있으며, 미리 설정된 시간 간격으로 변화된 상태 정보를 전송할 수도 있을 것이다.
또한, 본 발명에 의한 메신저 중앙 서버(106)는 싱크 서버(104)로부터 외부 서비스 시스템으로부터 전송된 이벤트 알림 메시지를 수신하며, 수신된 이벤트 알림 메시지와 연관된 사용자에게 알림 메시지를 전송하는 동작을 제어한다
메시지 알림 서버(108)는 메신저 클라이언트들로부터 수신한 메시지 패킷을 큐에 저장하였다가 순차적으로 메신저 중앙 서버(106)에 제공하는 기능을 한다. 메시지 패킷뿐만 아니라 사용자가 메신저에서 로그오프할 경우, 로그 오프에 대한 정보도 메신저 중앙 서버(106)에 전달한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 싱크 서버의 모듈 구성을 도시한 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 싱크 서버는 메일 서버 연결 소켓(250), 메신저 서버 연결 소켓(260) 및 메시지 알림 서버 연결 소켓(270)의 세 개의 연결 소켓, 온라인 사용자 판단 모듈(234) 및 상태 정보 갱신 모듈(236)을 포함할 수 있다.
도 2에 도시된 바와 같이, 각 소켓은 리스너, 리더, 핸들러 및 라이터를 포함한다. 도 2에는 싱크 서버의 각 연결 소켓이 큐를 구비하지 않는 경우가 도시되어 있으나, 패킷량이 많아질 경우 각 연결 소켓의 리스너와 리더 사이에 큐가 구비될 수 있다는 것은 당업자에게 있어 자명할 것이다.
또한, 도 2에는 서버간의 통신을 소켓을 통해 수행하는 경우가 도시되어 있으나, 소켓 통신이 아닌 다른 서버간 통신 방법이 이용될 수도 있을 것이며, 설명의 편의를 위해 싱크 서버와 메일 서버와 연결되는 경우만이 도시되어 있으나, 전 술한 바와 같이, 다양한 외부 서비스 시스템의 서버와 연결될 수 있을 것이며, 이 경우 해당 외부 시스템 서버와의 연결 소켓이 더 구비될 것이다.
메일 서버 연결 소켓(250)은 메일 서버로부터 특정 수신자에 대한 메일 수신 정보를 수신하고 메신저 중앙 서버로부터 전달되는 특정 사용자의 상태 변경 정보를 메일 서버에 전달하는 기능을 한다.
메일 서버에 메일이 수신될 경우, 메일 수신과 관련된 알림 메시지는 메일 서버 연결 소켓의 메일 서버 리스너(200)가 수신한다. 일반적으로 리스너는 메시지를 전송하는 노드와의 연결 설정을 감지하고 해당 노드로부터 전송되는 패킷을 수신하여 리더에 전달하는 기능을 한다. 메일 서버 리스너(200)는 메일 서버로부터 알림 메시지 패킷이 전달되는지 여부를 모니터링는 상태에 있게 되며, 알림 메시지 패킷이 수신될 경우 이를 메일 서버 리더(202)에 전달한다. 만약, 큐가 포함되어 있을 경우, 리스너에 수신된 패킷은 별도의 라이터를 통해 FIFO 방식으로 큐에 저장될 수 있을 것이다.
본 발명의 바람직한 따르면, 메일 서버 리스너와 메일 서버 사이의 소켓 통신은 TCP 프로토콜에 의해 수행된다. 그러나, 소켓 통신 시 UDP 프로토콜이 사용될 수도 있으며 멀티캐스팅과 같이 연결 설정이 되지 않은 상태에서 소켓 통신이 이루어질 수도 있다는 점은 당업자에게 있어 자명할 것이다.
메일 서버 리더(210)는 리스너에 수신된 패킷을 읽어와 메일 서버 핸들러(212)에 제공하는 기능을 한다.
메일 서버에서 메일 수신을 알리는 알림 메시지 패킷이 전달된 경우, 메일 서버 핸들러(212)는 온라인 사용자 판단 모듈(234)에 알림 메시지 패킷 정보를 전달한다. 온라인 사용자 판단 모듈(234)은 온라인 사용자 데이터베이스의 정보를 이용하여 알림 메시지 패킷에 상응하는 사용자가 온라인 상태인지 여부를 판단한다. 온라인 상태의 사용자일 경우, 온라인 사용자 판단 모듈(234)은 알림 메시지 패킷의 프로토콜 변환 후 변환된 프로토콜 패킷을 메신저 서버 라이터(224)에 제공한다. 메일 시스템과 메신저 시스템의 통신 방식이 상이하므로 일반적으로는 프로토콜 변환 절차가 필요하나 양 시스템의 파라미터나 통신 방식에 차이가 없을 경우 프로토콜 변환은 필요하지 않을 수도 있다. 프로토콜 변환에 대한 보다 상세한 사항은 후에 설명하기로 한다. 알림 메시지 패킷에 상응하는 사용자가 온라인 상태가 아닐 경우, 온라인 사용자 판단 모듈(234)은 프로토콜 변환 및 패킷 전달 절차를 수행하지 않으며, 알림 메시지는 메신저 시스템에 전달되지 않는다.
본 발명의 다른 실시예에 따르면, 메일 서버 핸들러(212)가 온라인 사용자 판단 모듈(234)과의 통신을 통해 알림 메시지 패킷에 상응하는 사용자가 온라인 상태인지 여부에 대한 정보를 제공 받고, 패킷 프로토콜 변환 및 메신저 서버 라이터(224)에 변환된 프로토콜 패킷을 제공하는 절차를 직접 수행할 수도 있을 것이다.
메신저 서버 연결 소켓(260)은 메신저 중앙 서버로부터 전달되는 사용자의 상태 변경 정보를 수신하고, 메일 서버로부터 전달되는 알림 메시지를 메신저 중앙 서버에 제공하는 기능을 한다.
사용자의 온라인/오프라인 상태 정보가 변경될 경우, 메신저 중앙 서버는 사용자의 상태 변경 정보를 싱크 서버에 전송하며, 싱크 서버의 메신저 서버 리스너 (216)가 상기 상태 변경 정보를 수신한다.
메신저 서버 리스너(216)는 수신된 상태 변경 정보를 메신저 서버 리더(218)에 제공한다. 물론 전술한 바와 같이 소켓에 큐가 구비될 경우, 메신저 서버 리스너(216)는 라이터에 의해 패킷이 큐에 저장되도록 할 수도 있을 것이다.
메신저 서버 리더(218)는 메신저 서버 리스너(216)에 의해 수신된 정보를 읽어오고, 읽어온 정보를 메신저 서버 핸들러(220)에 제공한다.
메신저 서버로부터 전달된 패킷이 사용자의 온라인/오프라인 상태 변경 정보에 관한 것일 경우, 메신저 서버 핸들러는 패킷 수신 정보를 상태 정보 갱신 모듈(236)에 알리며, 상태 정보 갱신 모듈(236)은 수신된 패킷을 분석하여 온라인 사용자 데이터베이스를 갱신하는 기능을 한다.
메시지 알림 서버 연결 소켓(270)은 메신저 서버 연결 소켓(260)과 함께 사용자의 상태 변경 정보를 수신하고 이를 온라인 사용자 DB(246)에 제공하는 기능을 한다. 사용자의 온라인/오프라인 상태 정보는 메신저 중앙 서버에서도 관리가 되지만, 사용자의 오프라인 정보는 메시지 알림 서버에 1차적으로 전달된다. 메시지 알림 서버는 사용자가 전송하는 메시지 또는 기타 정보를 1차적으로 수신하여 메신저 중앙 서버에 제공하는 기능을 하는 서버로서, 사용자가 메신저를 오프할 경우 사용자의 오프라인 정보를 메신저 중앙 서버에 전달하며, 본 발명에 의하면 싱크 서버에도 사용자의 오프라인 정보를 전송한다.
메시지 알림 서버로부터 전달되는 사용자의 오프라인 정보는 메시지 알림 서버 리스너(226)에 의해 수신되며, 메시지 알림 서버 리더(228)는 리스너(226)에 의 해 수신된 정보를 읽어와 메시지 알림 서버 핸들러(232)에 제공한다.
메시지 알림 서버 핸들러(232)는 사용자 오프라인 상태 변경을 알리는 패킷 수신 정보를 상태 정보 갱신 모듈(236)에 알리며, 상태 정보 갱신 모듈(236)은 수신된 패킷을 분석하여 온라인 사용자 데이터베이스(240)를 갱신한다.
메시지 알림 서버는 메일 서버와 같은 외부 서버로부터 알림 메시지 또는 기타 다른 메시지를 수신할 필요가 없으므로, 메시지 알림 서버 소켓은 다른 소켓들과 달리 라이터를 구비하지 않아도 무방하다.
또한, 메시지 알림 서버 소켓은 사용자의 상태 변경 정보를 보다 정확히 전달하기 위해 구비되는 보조적인 모듈로 메시지 알림 서버 소켓 없이도 본 발명의 목적이 달성될 수 있다는 것은 당업자에게 있어 자명할 것이다.
도 3은 본 발명의 바람직한 일 실시에에 따른 메신저 시스템과 싱크 서버와의 연결 관계를 도시한 도면이다.
도 3을 참조하면, 게이트웨이 모니터링 서버(302)는 웹을 통해 메신저 클라이언트들(300)로부터 메신저 전송 시스템으로의 접속 요청 정보를 수신하며, 수신한 접속 요청을 처리하며 메신저 클라이언트가 접속할 중앙 서버의 주소 정보를 메신저 클라이언트에 제공하는 기능을 한다. 즉, 사용자가 메신저 오프라인 상태에서 온라인 상태로 전환하고자 접속 요청을 한 경우, 해당 요청 정보는 게이트웨이 모니터링 서버(302)로 전송되는 것이다. 게이트웨이 모니터링 서버(302)에서 처리된 사용자의 접속 정보는 메신저 중앙 서버(304)에 통지된다. 게이트웨이 모니터링 서버(302)는 접속 정보 뿐만 아니라 메신저 사용자의 상태 정보도 관리한다. 예를 들 어, 자리비움 또는 다른 용무중과 같이 메신저 프로그램에 미리 설정된 상태 정보를 메신저 클라이언트로부터 수신하여 관리하는 기능을 수행한다.
메신저 중앙 서버(304)는 인스턴트 메시지 전송 동작을 전체적으로 제어하는 서버로서, 메신저 클라이언트들의 접속을 관리하고 클라이언트들이 전송한 메시지 및 기타 요청 정보를 처리하는 기능을 한다. 게이트웨이 모니터링 서버(302)에 의해 사용자의 접속 요청 정보가 처리될 경우, 본 발명에 의한 메신저 중앙 서버(304)는 사용자의 온라인 접속 정보를 싱크 서버(310)에 전송한다.
사용자가 온라인 상태가 되어 다른 사용자와 메시지를 송수신하는 경우, 사용자가 송신한 메시지는 메시지 알림 서버(308)에 전달된다. 메시지 알림 서버(308)는 온라인인 메신저 클라이언트들과의 소켓 연결을 유지하고 있으며, 사용자들이 송신하는 메시지를 수신하여 순차적으로 중앙 서버(304)에 제공한다. 사용자가 메신저를 오프할 경우의 메신저 오프 정도도 메시지 알림 서버(308)에 전달되며, 메시지 알림 서버는 사용자의 오프라인 정보를 메신저 중앙 서버(304)에 제공한다. 사용자의 오프 정보는 메시지 알림 서버가 아닌 게이트웨이 모니터링 서버에 의해 관리될 수도 있다.
인스턴트 메시지 서버(306)는 메신저 클라이언트들간의 인스턴트 메시징 세션을 관리하며 메신저 클라이언트들간에 전송하는 메시지 패킷을 중개하는 기능을 한다. 인스턴트 메시지 서버(306)는 중앙 서버로부터 메시지 패킷을 전달받은 후 이를 수신할 다른 사용자의 메신저 클라이언트에 중계한다.
싱크 서버(310)는 메신저 중앙 서버로부터 수신한 사용자의 온라인/오프라인 에 관련한 정보를 수신하여 온라인 사용자 데이터베이스(320)를 통해 메신저의 온라인인 사용자 정보를 관리한다. 도 3에는 메일 시스템(312), 블로그 시스템(314) 및 커뮤니티 시스템(316)이 도시되어 있으나, 다른 서비스 시스템에도 온라인/오프라인 정보를 제공할 수 있다는 점은 이미 설명한 바 있다.
도 4는 본 발명의 바람직한 일 실시예에 따른 싱크 서버와 통신하는 외부 서비스 서버의 모듈 구성을 도시한 도면이다.
외부 서버는 메일 서버, 블로그 서버, 커뮤니티 서버 등을 포함할 수 있으며, 도 4에는 본 발명에 의한 알림 서비스를 제공하기 위해 필요한 모듈만이 도시되어 있으며 각각의 서비스를 위해 필요한 모듈은 도시되어 있지 않다.
도 4를 참조하면, 본 발명에 의한 알림 서비스 제공을 위한 외부 서버는 이벤트 모니터링 모듈(400), 알림 메시지 생성 모듈(402), 싱크 서버 통신 모듈(404) 및 모드 제어 모듈(406)을 포함할 수 있다.
이벤트 모니터링 모듈(400)은 알림 메시지를 전달할 미리 설정된 이벤트가 발생하는지 여부를 모니터링하는 모듈이다. 외부 서버가 메일 서버인 경우, 이벤트 모니터링 모듈(400)은 새로운 메일이 메일 박스에 전달되는지 여부를 판단하는 동작을 수행할 수 있을 것이다. 또한, 외부 서버가 블로그 서버인 경우, 이벤트 모니터링 모듈(400)은 새로운 글이 등록되는지 여부를 판단하는 동작을 수행할 수 있을 것이다. 메일 서버의 경우, 이벤트 모니터링 모듈(400)은 MDA(Mail Delivery Agent) 또는 메일 박스와의 통신을 통해 새로운 메일 수신에 대한 이벤트 발생을 감지할 수 있을 것이다. 이벤트 발생이 감지될 경우, 이벤트 모니터링 모듈(400)은 이벤트 발생 정보를 알림 메시지 생성 모듈(402)에 제공한다.
알림 메시지 생성 모듈(402)은 이벤트 발생을 메신저 시스템에 알리기 위한 알림 메시지를 생성한다. 알림 메시지에는 이벤트의 종류, 알림 메시지 수신자 및 이벤트와 관련하여 전달될 정보(메일의 경우 메일 송신자 정보) 등이 포함될 수 있을 것이다.
싱크 서버 통신 모듈(404)은 생성된 알림 메시지를 싱크 서버와 설정된 소켓을 통해 전송하는 기능을 한다. 또한, 싱크 서버 통신 모듈(404)은 싱크 서버로부터 메신저 시스템이 장애 상태라는 정보를 수신한다.
싱크 서버 통신 모듈(404)이 싱크 서버로부터 메신저 시스템 장애 정보를 수신할 경우 모드 제어 모듈(406)은 외부 서버가 알림 메시지를 생성하지 않는 모드로 모드를 전환하는 기능을 한다. 알림 메시지 비생성 모드가 될 경우, 이벤트 모니터링 모듈(400) 및 알림 메시지 생성 모듈(402)은 비활성화 상태에 있게 되며, 메신저 시스템이 정상 상태가 될 때까지 알림 메시지 전송을 수행하지 않는다.
도 5는 본 발명의 바람직한 일 실시예에 따라 사용자가 메신저에 로그인 시 사용자의 온라인 정보가 싱크 서버에 제공되는 과정에 대한 순서도이다.
도 5를 참조하면, 사용자가 메신저 로그인 요청을 할 경우, 사용자의 로그인 요청 정보는 메신저 시스템의 게이트웨이 모니터링 서버에 전송된다(단계 500). 게이트웨이 모니터링 서버는 아이디 및 비밀 번호가 일치하는지 여부를 판단하는 인증 절차를 수행한 후, 인증된 사용자일 경우 사용자의 온라인 정보를 메신저 중앙 서버에 제공한다(단계 502).
메신저 중앙 서버는 데이터베이스와의 통신을 통해 게이트웨이 모니터링 서버로부터 수신한 특정 사용자의 온라인 정보를 갱신하고(단계 504), 특정 사용자의 온라인 정보를 싱크 서버에 전송한다(단계 506). 메신저 중앙 서버에서 싱크 서버로 전송하는 사용자의 온라인 정보는 미리 설정된 프로토콜 패킷 형태로 전송되며, 패킷 구조의 일례가 도 9에 도시되어 있다.
도 9는 메신저 중앙 서버 또는 외부 서버에서 싱크 서버에 전송되는 패킷의 구조를 도시한 도면으로, 도 9를 참조하면, 본 발명의 일 실시예에 따른 프로토콜 패킷은 패킷 코드 필드(900), 커맨드 필드(902), 세션 아이디 필드(904), 패킷 아이디 필드(906), 바디(body) 사이즈 필드(908) 및 바디 필드(910)를 포함할 수 있다.
도 9에서, 패킷 코드 필드(900)에는 패킷 전송 방식에 대한 정보가 기록된다. 예를 들어, 유니캐스트, 멀티캐스트, 브로드캐스트와 같은 전송 방식에 대한 정보가 패킷 코드 필드(900)에 기록된다.
커맨드 필드(902)에는 패킷 종류에 대한 식별 정보가 기록된다. 예를 들어, 사용자의 온라인 정보를 전송하는 패킷인지 또는 오프라인 정보를 전송하는 패킷인지에 대한 식별자 정보가 커맨드 필드(902)에 기록된다.
세션 아이디 필드(904)에는 파일 지시자를 포함하는 세션 정보가 기록되며, 패킷 아이디 필드(906)에는 패킷마다 고유하게 부여되는 식별 번호 정보가 기록된다.
바디 사이즈 필드(908)에는 전송 오류 등을 감지하기 위해 바디 필드의 사이 즈 정보가 기록되며, 바디 필드(910)에는 패킷의 종류에 따라 필요한 상세 정보가 기록된다. 예를 들어, 특정 사용자의 온라인 또는 오프라인 정보를 알리는 패킷의 경우 바디 필드(910)에는 해당 사용자의 아이디 정보가 기록될 수 있을 것이며, 메일 서버에서 특정 사용자의 메일 수신을 알리는 정보의 경우에는 메일 수신자의 아이디 및 메일 송신자의 닉네임 정보가 바디 필드(910)에 기록될 수 있을 것이다.
메신저 중앙 서버로부터 사용자 온라인 정보를 수신한 싱크 서버는 패킷의 커맨드 정보를 통해 특정 사용자의 온라인 정보를 알리는 패킷임을 판단한다(단계 508). 싱크 서버는 패킷을 분석하여 온라인 상태가 된 사용자 정보 등을 추출하고 추출한 정보를 사용자 온라인 데이터베이스에 반영한다(단계 510).
도 6은 본 발명의 바람직한 일 실시예에 따른 메일 서버에서 메일 수신 정보를 알림 메시지로 제공하는 과정에 대한 순서도이다.
도 6에는 새로운 메일이 수신되는 경우 이를 메신저 사용자에게 알림 메시지로 제공하는 경우가 도시되어 있다.
도 6을 참조하면, 메일 서버는 새로운 메일이 수신되는지 여부를 모니터링한다(단계 600). 새로운 메일이 수신될 경우, 메일 서버는 도 9와 같은 형태의 알림 메시지 프로토콜 패킷을 생성한다(단계 602). 알림 메시지 패킷의 바디 필드에는 메일 수신자 아이디 정보 및 메일 송신자의 닉네임 정보가 포함될 수 있을 것이다. 생성된 알림 메시지는 싱크 서버로 전송된다(단계 604).
싱크 서버는 알림 메시지 패킷의 식별 정보를 통해 메일 수신 정보를 알리는 패킷임을 판단하고 패킷을 분석하여 패킷 수신자 정보를 추출한다(단계 606).
싱크 서버는 온라인 사용자 데이터베이스를 조회하여 패킷 수신자가 현재 메신저에 온라인 상태인지 여부를 판단한다(단계 608). 패킷 수신자가 메신저에 온라인 상태가 아닌 경우 싱크 서버는 해당 알림 메시지를 메신저 서버에 전송하지 않는다(단계 610).
패킷 수신자가 메신저에 온라인 상태일 경우, 싱크 서버는 전송된 알림 메시지 프로토콜 패킷을 메신저 서버에 맞는 프로토콜 패킷으로 변환한다(단계 612).
본 발명의 바람직한 실시예에 따르면, 프로토콜 변환은 패킷의 구조는 변경하지 않고 패킷의 커맨드 필드만을 메신저 서버에 상응하는 커맨드로 변경하는 방식으로 프로토콜 변환이 이루어지는 것이 바람직하다.
즉, 메일 서버에서 사용하는 커맨드와 메신저 서버에서 사용하는 커맨드가 서로 상이한 바, 싱크 서버는 패킷 커맨드 필드에 포함된 메일 서버의 커맨드 정보를 메신저 서버에 상응하는 커맨드로 변환하는 프로토콜 변환 작업을 수행한다.
싱크 서버는 변환된 알림 메시지를 메신저 중앙 서버에 전송하고(단계 614), 메신저 중앙 서버는 인스턴트 메시지 서버에 알림 메시지를 전달하면서 해당 사용자에게로의 알림 메시지 전송을 지시한다(단계 616).
인스턴트 메시지 서버는 메신저 중앙 서버로부터 수신한 알림 메시지 패킷을 분석하여 해당 사용자에게 알림 메시지를 전송한다(단계 618).
도 7은 본 발명의 바람직한 일 실시예에 따른 싱크 서버 또는 온라인 사용자 데이터베이스의 장애로 인해 싱크 서버가 관리하고 있는 온라인 사용자 정보가 유실될 경우의 복구 방법에 대한 순서도이다.
부하 등으로 인해 싱크 서버 또는 온라인 사용자 데이터베이스에 장애가 생기거나 업그레이드 및 점검 등으로 인해 싱크 서버가 오프되는 경우에는 메신저에 온라인 상태인 모든 사용자의 정보를 제공받을 필요가 있는 바, 도 7은 이와 같은 과정에 대한 순서도이다.
도 7을 참조하면, 서버 장애 또는 시스템 업그레이드 등의 이벤트가 발생할 경우(단계 700), 싱크 서버는 메신저 서버에 전체 온라인 사용자 정보를 요청하는 메시지를 생성하며(702) 생성된 메시지는 메신저 중앙 서버에 전송된다(단계 704).
메신저 중앙 서버는 수신된 전체 온라인 사용자 요청에 응답하여 데이터베이스에서 전체 온라인 사용자 정보를 추출한다(단계 706). 메신저 중앙 서버는 전체 온라인 사용자 정보를 미리 설정된 단위로 분할하고 분할된 정보에 대한 패킷을 싱크 서버에 전송한다(단계 708).
싱크 서버는 수신된 패킷을 분석하여 메신저에 온라인 상태인 사용자 정보를 온라인 사용자 데이터베이스에 저장한다(단계 710).
도 8은 메신저 시스템에 장애가 생길 경우의 메신저 서버 리셋 정보를 제공하는 과정에 대한 순서도이다.
메신저 서버가 리셋될 경우, 모든 메신저 사용자와의 접속이 끊어지므로, 사용자의 오프라인 정보를 일일이 전송하는 것보다 서버 리셋 정보를 제공하여 싱크 서버에서 메신저 온라인 사용자 정보를 한번에 갱신하는 것이 바람직하다.
도 8을 참조하면, 메신저 시스템의 업그레이드로 인해 메신저 시스템이 오프되거나 부하 등으로 인해 메신저 시스템에 장애가 생겨 서버가 리셋되는 경우(단계 800), 메신저 중앙 서버는 서버 리셋 정보를 싱크 서버에 전송한다(단계 802).
싱크 서버는 수신된 패킷의 커맨드 필드를 분석하여 메신저 서버 리셋을 알리는 정보임을 감지한다(단계 804). 싱크 서버는 메신저 서버 리셋 정보를 감지할 경우, 현재 메신저 시스템에 온라인인 사용자가 존재하지 않는다는 정보를 온라인 사용자 데이터베이스에 반영한다(단계 806).
이상에서 설명한 바와 같이, 본 발명에 의한 메신저를 이용한 알림 시스템 및 방법에 따르면, 메신저 시스템의 부하를 최소화하면서 다양한 서비스에서 발생하는 이벤트를 메신저를 통해 알릴 수 있는 장점이 있다.
또한, 본 발명에 의하면, 메신저에 온라인인 사용자에게만 알림 메시지 전송이 이루어지도록 함으로써 알림 메시지 패킷의 양을 최소화할 수 있는 장점이 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (21)

  1. 메신저 시스템으로부터 메신저 사용자들의 상태 변경 정보를 수신하고, 적어도 하나의 외부 서비스 시스템으로부터 알림 메시지를 수신하는 싱크 서버; 및
    상기 싱크 서버가 수신한 메신저 사용자들의 상태 변경 정보에 기초하여 메신저에 온라인 상태인 사용자들의 정보를 저장하는 온라인 사용자 데이터베이스를 포함하되,
    상기 싱크 서버는 상기 온라인 사용자 데이터베이스의 정보를 기초로 하여 상기 알림 메시지의 전송을 제어하고, 상기 싱크 서버 또는 온라인 사용자 데이터베이스에 장애가 발생할 경우 상기 메신저 시스템으로부터 상기 전체 온라인 사용자 정보를 제공받아 상기 제공받은 전체 온라인 사용자 정보를 기초로 하여 상기 알림 메시지의 전송을 제어하는 것을 특징으로 하는 메신저 알림 시스템.
  2. 제1항에 있어서,
    상기 싱크 서버는 상기 외부 서비스 시스템으로부터 알림 메시지를 수신할 경우, 상기 온라인 사용자 데이터베이스의 정보를 이용하여 상기 알림 메시지의 수신자가 메신저에 온라인 상태인지 여부를 판단하고, 온라인 상태이면 상기 알림 메시지를 상기 메신저 시스템에 전송하여, 상기 알림 메시지가 온라인 상태인 해당 사용자에게 전달되도록 하는 것을 특징으로 하는 메신저 알림 시스템
  3. 제1항에 있어서,
    상기 외부 서비스 시스템은 미리 설정된 이벤트 발생 여부를 모니터링하고, 이벤트 발생 시 해당 이벤트 발생을 알리는 알림 메시지를 생성하는 것을 특징으로 하는 메신저 알림 시스템.
  4. 제1항에 있어서,
    상기 외부 서비스 시스템은 메일 시스템, 블로그 시스템 및 커뮤니티 시스템 중 어느 하나 이상을 포함하는 것을 특징으로 하는 메신저 알림 시스템.
  5. 제1항에 있어서,
    상기 외부 서비스 시스템이 메일 시스템일 경우, 상기 이벤트는 메일 수신 이벤트이며, 상기 외부 서비스 시스템이 블로그 또는 커뮤니티 시스템일 경우, 상기 이벤트는 새로운 글의 등록 이벤트인 것을 특징으로 하는 메신저 알림 시스템.
  6. 삭제
  7. 제1항에 있어서,
    상기 메신저 시스템이 리셋될 경우, 상기 메신저 시스템은 상기 메신저 시스템의 리셋 정보를 상기 싱크 서버에 전송하고, 상기 싱크 서버는 상기 온라인 사용자 데이터베이스를 갱신하는 것을 특징으로 하는 메신저 알림 시스템.
  8. 제1항에 있어서,
    상기 싱크 서버는 상기 메신저 시스템의 미리 설정된 서버 및 상기 외부 서비스 시스템의 미리 설정된 서버와의 통신을 위한 소켓을 포함하고 있으며, 소켓 통신 방법에 의해 패킷을 송수신하는 것을 특징으로 하는 메신저 알림 시스템.
  9. 제1항에 있어서,
    상기 메신저 시스템에서 상기 싱크 서버로 전송하는 메신저 사용자의 상태 변경 정보 패킷 및 상기 외부 서비스 시스템에서 상기 싱크 서버로 전송하는 알림 메시지 패킷은 패킷 코드 필드, 커맨드 필드, 세션 아이디 필드, 패킷 아이디 필드, 바디 사이즈 필드 및 바디 필드를 포함하는 것을 특징으로 하는 메신저 알림 시스템.
  10. 제9항에 있어서,
    상기 싱크 서버는 상기 알림 메시지 패킷의 프로토콜을 변환하여 상기 메신저 서비스 시스템에 전송하는 것을 특징으로 하는 메신저 알림 시스템.
  11. 제10항에 있어서,
    상기 프로토콜 변환은 상기 커맨드 필드에 기록된 파라미터를 각 시스템에 적용되는 파라미터로 변환하는 것임을 특징으로 하는 메신저 알림 시스템.
  12. 제1항에 있어서,
    상기 싱크 서버는,
    상기 외부 서비스 시스템과의 통신을 위한 적어도 하나의 제1 소켓; 및
    상기 메신저 시스템과의 통신을 위한 제2 소켓;
    상기 메신저 시스템으로부터 사용자의 상태 변경 정보를 수신할 경우, 온라인 사용자 데이터베이스의 상태 정보를 갱신하는 상태 정보 갱신 모듈; 및
    상기 외부 서비스 시스템으로부터 이벤트 발생 알림 메시지를 수신할 경우, 알림 메시지에 상응하는 사용자가 온라인 상태인지 여부를 판단하는 온라인 사용자 판단 모듈을 포함하되,
    상기 제2 소켓은 메신저 시스템으로부터 메신저 사용자의 상태 변경 정보를 수신하여 상기 상태 정보 갱신 모듈에 제공하며,
    상기 제1 소켓은 상기 외부 서비스 시스템으로부터 이벤트 발생 알림 메시지를 수신하고, 상기 온라인 사용자 판단 모듈의 동작에 의해 알림 메시지에 상응하는 사용자가 온라인 상태라고 판단될 경우, 상기 제2 소켓은 이벤트 발생 알림 정보를 상기 메신저 서비스 시스템에 제공하는 것을 특징으로 하는 메신저 알림 시스템.
  13. 제12항에 있어서,
    상기 제1 소켓은,
    상기 외부 서비스 시스템으로부터 이벤트 발생 알림 메시지를 수신하는 리스너;
    상기 리스너로부터 수신된 패킷 정보를 읽어오는 리더; 및
    상기 리더에서 읽어온 이벤트 발생 알림 메시지 정보를 상기 온라인 사용자 판단 모듈에 제공하는 핸들러를 포함하는 것을 특징으로 하는 메신저 알림 시스템.
  14. 제12항에 있어서,
    상기 제2 소켓은,
    상기 메신저 시스템으로부터 상기 메신저 사용자 상태 변경 정보를 수신하는 리스너;
    상기 리스너에서 수신한 정보를 읽어오는 리더;
    상기 리더에서 읽어온 메신저 사용자 상태 변경 정보를 상기 상태 정보 갱신 모듈에 제공하는 핸들러; 및
    상기 제1 소켓 또는 온라인 사용자 판단 모듈로부터 제공되는 이벤트 발생 알림 정보를 상기 메신저 서비스 시스템에 전송하는 라이터를 포함하는 것을 특징으로 하는 메신저 알림 시스템.
  15. 제12항에 있어서,
    상기 제2 소켓은,
    상기 메신저 시스템의 메신저 중앙 서버로부터 제공되는 사용자의 상태 변경 정보를 수신하여 처리하는 메신저 중앙 서버 소켓 및 상기 메신저 서비스 시스템의 메시지 알림 서버로부터 사용자의 오프라인 상태 정보를 수신하여 처리하는 메시지 알림 서버 소켓을 포함하는 것을 특징으로 하는 메신저 알림 시스템.
  16. 메신저를 이용한 알림 서비스를 제공하기 위해 싱크 서버에서 실행되는 방법으로서,
    메신저 서비스 시스템으로부터 메신저 사용자 상태 변경 정보를 수신하는 단계(a);
    상기 메신저 사용자 상태 변경 정보를 이용하여 온라인 사용자 데이터베이스를 갱신하는 단계(b);
    상기 온라인 사용자 데이터베이스의 정보를 기초로 하여 적어도 하나의 외부 서비스 시스템으로부터 전송되는 이벤트 발생 알림 메시지의 전송을 제어하는 단계(c)를 포함하되,
    상기 싱크 서버 또는 온라인 사용자 데이터베이스에 장애가 발생할 경우 상기 메신저 시스템으로부터 상기 전체 온라인 사용자 정보를 제공받아 상기 제공받은 전체 온라인 사용자 정보를 기초로 하여 적어도 하나의 외부 서비스 시스템으로부터 전송되는 이벤트 발생 알림 메시지의 전송을 제어하는 단계를 수행하는 것을 특징으로 하는 메신저를 이용한 알림 서비스 제공 방법.
  17. 제16항에 있어서,
    상기 단계(c)는,
    적어도 하나의 외부 서비스 시스템에서 미리 설정된 이벤트가 발생할 경우, 상기 이벤트 발생 알림 메시지를 적어도 하나의 외부 서비스 시스템으로부터 수신하는 단계;
    상기 온라인 사용자 데이터베이스의 정보를 이용하여 상기 알림 메시지에 상응하는 사용자가 상기 메신저 시스템에 온라인 상태인지 여부를 판단하는 단계; 및
    상기 알림 메시지에 상응하는 사용자가 상기 메신저 시스템에 온라인 상태일 경우, 상기 알림 메시지를 상기 메신저 시스템에 전송하는 단계를 포함하는 것을 특징으로 하는 메신저를 이용한 알림 서비스 제공 방법.
  18. 제17항에 있어서,
    상기 메신저 시스템에 알림 메시지 전송 시, 상기 이벤트 발생 알림 메시지에 포함된 패킷의 파라미터를 상기 메신저 시스템에 상응하는 파라미터로 변환하는 프로토콜을 변환을 수행한 후 상기 이벤트 발생 알림 메시지를 상기 메신저 시스템에 전송하는 것을 특징으로 하는 메신저를 이용한 알림 서비스 제공 방법.
  19. 외부 서비스 시스템에서 발생한 이벤트를 메신저 서비스 시스템을 통해 알리는 장치로서,
    외부 서비스 시스템과의 통신을 위한 적어도 하나의 제1 소켓; 및
    상기 메신저 시스템과의 통신을 위한 제2 소켓;
    상기 메신저 시스템으로부터 사용자의 상태 변경 정보를 수신할 경우, 온라인 사용자 데이터베이스의 상태 정보를 갱신하는 상태 정보 갱신 모듈; 및
    상기 외부 서비스 시스템으로부터 이벤트 발생 알림 메시지를 수신할 경우, 알림 메시지에 상응하는 사용자가 온라인 상태인지 여부를 판단하는 온라인 사용자 판단 모듈을 포함하는 것을 특징으로 하는 메신저 알림 서비스 장치.
  20. 제19항에 있어서,
    상기 제2 소켓은 메신저 서비스 시스템으로부터 메신저 사용자의 상태 변경 정보를 수신하여 상기 상태 정보 갱신 모듈에 제공하며,
    상기 제1 소켓은 상기 외부 서비스 시스템으로부터 이벤트 발생 알림 메시지를 수신하고, 상기 온라인 사용자 판단 모듈의 동작에 의해 알림 메시지에 상응하는 사용자가 온라인 상태라고 판단될 경우, 상기 제2 소켓은 이벤트 발생 알림 정보를 상기 메신저 시스템에 제공하는 것을 특징으로 하는 메신저 알림 서비스 장치.
  21. 메신저 시스템, 싱크 서버 및 적어도 하나의 외부 서비스 시스템을 포함하는 시스템에서 메신저를 이용한 알림 서비스를 제공하는 방법으로서,
    상기 메신저 시스템에서 메신저 사용자의 상태 정보를 모니터링하여 상기 싱크 서버에 전송하는 단계;
    상기 싱크 서버에서 상기 메신저 사용자의 상태 변경 정보에 기초하여 온라인 사용자 데이터베이스를 갱신하는 단계;
    상기 외부 서비스 시스템에서 미리 설정된 이벤트가 발생할 경우, 상기 이벤트와 관련된 알림 메시지를 상기 싱크 서버에 전송하는 단계; 및
    상기 싱크서버에서 상기 온라인 사용자 데이터베이스의 정보에 기초하여 상기 알림 메시지와 관련된 사용자가 온라인 상태인지 여부를 판단하여 상기 알림 메시지를 상기 메신저 시스템에 전송하는 단계를 포함하되,
    상기 싱크 서버 또는 온라인 사용자 데이터베이스에 장애가 발생할 경우 상기 메신저 시스템으로부터 상기 전체 온라인 사용자 정보를 제공받아 상기 제공받은 전체 온라인 사용자 정보를 기초로 하여 상기 알림 메시지와 관련된 사용자가 온라인 상태인지 여부를 판단하여 상기 알림 메시지를 상기 메신저 시스템에 전송하는 단계를 수행하는 것을 특징으로 하는 메신저를 이용한 알림 서비스 제공 방법.
KR1020050061643A 2005-07-08 2005-07-08 싱크 서버를 이용한 메신저 알림 시스템 및 방법 KR100686382B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020050061643A KR100686382B1 (ko) 2005-07-08 2005-07-08 싱크 서버를 이용한 메신저 알림 시스템 및 방법
PCT/KR2006/002539 WO2007007962A1 (en) 2005-07-08 2006-06-29 Messenger notification system and method using synchronization server
JP2008520174A JP4740328B2 (ja) 2005-07-08 2006-06-29 シンクサーバーを用いたメッセンジャー通知システム及びその方法
US11/967,342 US8688854B2 (en) 2005-07-08 2007-12-31 Messenger notification system and method using synchronization server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050061643A KR100686382B1 (ko) 2005-07-08 2005-07-08 싱크 서버를 이용한 메신저 알림 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20070006365A KR20070006365A (ko) 2007-01-11
KR100686382B1 true KR100686382B1 (ko) 2007-02-22

Family

ID=37637306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050061643A KR100686382B1 (ko) 2005-07-08 2005-07-08 싱크 서버를 이용한 메신저 알림 시스템 및 방법

Country Status (4)

Country Link
US (1) US8688854B2 (ko)
JP (1) JP4740328B2 (ko)
KR (1) KR100686382B1 (ko)
WO (1) WO2007007962A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009039703A1 (fr) * 2007-09-26 2009-04-02 Alibaba Group Holding Limited Procédé, système et serveur de moteurs de recherche pour l'acquisition d'informations d'état utilisateur
US8191001B2 (en) 2008-04-05 2012-05-29 Social Communications Company Shared virtual area communication environment based apparatus and methods
US7769806B2 (en) 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US8930472B2 (en) * 2007-10-24 2015-01-06 Social Communications Company Promoting communicant interactions in a network communications environment
US8397168B2 (en) 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
US8407605B2 (en) 2009-04-03 2013-03-26 Social Communications Company Application sharing
WO2010065848A2 (en) 2008-12-05 2010-06-10 Social Communications Company Realtime kernel
US9319357B2 (en) 2009-01-15 2016-04-19 Social Communications Company Context based virtual area creation
US9065874B2 (en) 2009-01-15 2015-06-23 Social Communications Company Persistent network resource and virtual area associations for realtime collaboration
US10356136B2 (en) 2012-10-19 2019-07-16 Sococo, Inc. Bridging physical and virtual spaces
US9853922B2 (en) 2012-02-24 2017-12-26 Sococo, Inc. Virtual area communications
KR101679420B1 (ko) * 2009-08-11 2016-12-06 엘지전자 주식회사 이동 통신 단말기의 제어방법 및 이를 적용한 이동 통신 단말기
WO2012118917A2 (en) 2011-03-03 2012-09-07 Social Communications Company Realtime communications and network browsing client
WO2013119802A1 (en) 2012-02-11 2013-08-15 Social Communications Company Routing virtual area based communications
WO2013181026A1 (en) 2012-06-02 2013-12-05 Social Communications Company Interfacing with a spatial virtual communications environment
JP5346417B1 (ja) * 2012-12-27 2013-11-20 楽天株式会社 提供装置、提供方法、プログラム、及び、記録媒体
WO2015058648A1 (zh) * 2013-10-23 2015-04-30 中兴通讯股份有限公司 基于ip电话的留言业务处理方法及装置
CN104320425A (zh) * 2014-08-28 2015-01-28 海视云(北京)科技有限公司 消息的接收与发送方法及装置
CN107809517B (zh) 2016-09-08 2020-07-10 阿里巴巴集团控股有限公司 事件展示方法及装置
RU174580U1 (ru) * 2017-04-26 2017-10-20 Общество с ограниченной ответственностью "ГАЗПРОМ ТРАНСГАЗ МОСКВА" Автоматизированная система рационализаторской работы (деятельности)
RU174647U1 (ru) * 2017-05-04 2017-10-24 Общество с ограниченной ответственностью "ГАЗПРОМ ТРАНСГАЗ МОСКВА" База данных (знаний) автоматизированной информационной системы рационализаторской работы (деятельности)
RU174646U1 (ru) * 2017-05-24 2017-10-24 Общество с ограниченной ответственностью "ГАЗПРОМ ТРАНСГАЗ МОСКВА" Комбинированная автоматизированная система управления рационализаторской работой (деятельностью)
CN113760556A (zh) * 2020-11-17 2021-12-07 西安京迅递供应链科技有限公司 一种消息同步方法和装置
CN115378895A (zh) * 2022-09-01 2022-11-22 成都优啊网络科技有限公司 基于即时通信im业务系统定制化消息处理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020016078A (ko) * 2000-08-24 2002-03-04 김홍중 인터넷상에서의 실시간 검색 및 메시징을 통한 전자상거래 시스템 및 방법
KR20050053398A (ko) * 2003-12-02 2005-06-08 (주)모임스톤 인스턴트 메신저 기능을 갖는 인터넷 프로토콜 사설교환기 및 인터넷 단말기

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951652A (en) * 1997-10-06 1999-09-14 Ncr Corporation Dependable data element synchronization mechanism
AU721270B2 (en) 1998-03-30 2000-06-29 Mitsubishi Denki Kabushiki Kaisha Noise reduction apparatus and noise reduction method
US6714793B1 (en) * 2000-03-06 2004-03-30 America Online, Inc. Method and system for instant messaging across cellular networks and a public data network
US20020021307A1 (en) * 2000-04-24 2002-02-21 Steve Glenn Method and apparatus for utilizing online presence information
JP2002007296A (ja) * 2000-06-22 2002-01-11 Ntt Communications Kk コミュニケーション制御方法及びシステム及びコミュニケーション制御プログラムを格納した記憶媒体
US6763384B1 (en) * 2000-07-10 2004-07-13 International Business Machines Corporation Event-triggered notification over a network
KR20020076037A (ko) * 2001-03-27 2002-10-09 (주)이너베이 인스턴트 메신저를 통한 고객상담 서비스 제공 방법
KR20030034488A (ko) * 2001-10-23 2003-05-09 엘지전자 주식회사 휴대정보 단말기의 상태 전송 방법
US7363345B2 (en) * 2002-08-27 2008-04-22 Aol Llc, A Delaware Limited Liability Company Electronic notification delivery mechanism selection based on recipient presence information and notification content
KR20040049667A (ko) * 2002-12-06 2004-06-12 엘지전자 주식회사 홈 네트워크 시스템 및 그 동작방법
JP2004252765A (ja) * 2003-02-20 2004-09-09 Intershare:Kk 通信回線を利用したオークションシステム
KR20040075412A (ko) * 2003-02-21 2004-08-30 에스케이텔레텍주식회사 이동통신 단말기에서 인스턴트 메신저의 로그인 알람 설정방법
CN100547583C (zh) * 2003-08-14 2009-10-07 甲骨文国际公司 数据库的自动和动态提供的方法
JP2005070921A (ja) * 2003-08-21 2005-03-17 Nec Corp プレゼンス情報処理システムおよびプレゼンス情報処理方法
JP2005135216A (ja) * 2003-10-31 2005-05-26 Oki Electric Ind Co Ltd プレゼンス情報データ交換方法及び装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020016078A (ko) * 2000-08-24 2002-03-04 김홍중 인터넷상에서의 실시간 검색 및 메시징을 통한 전자상거래 시스템 및 방법
KR20050053398A (ko) * 2003-12-02 2005-06-08 (주)모임스톤 인스턴트 메신저 기능을 갖는 인터넷 프로토콜 사설교환기 및 인터넷 단말기

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1020020016078 *
1020050053398 *

Also Published As

Publication number Publication date
US8688854B2 (en) 2014-04-01
JP2009500738A (ja) 2009-01-08
KR20070006365A (ko) 2007-01-11
WO2007007962A1 (en) 2007-01-18
JP4740328B2 (ja) 2011-08-03
US20080101561A1 (en) 2008-05-01

Similar Documents

Publication Publication Date Title
KR100686382B1 (ko) 싱크 서버를 이용한 메신저 알림 시스템 및 방법
US6839554B2 (en) Method and apparatus for sharing mobile user event information between wireless networks and fixed IP networks
JP4291366B2 (ja) メッセージ管理
CN102368764B (zh) 一种通过多点登录进行通信的方法、系统及客户端
KR100677497B1 (ko) 단말기의 중복 통보 메시지 처리 방법
CN101193070B (zh) 即时通信系统、即时通信客户端及即时通信方法
CN101068378B (zh) 实现多媒体消息业务系统容灾的方法、系统及设备
CN100438651C (zh) 即时消息服务器、客户端、处理系统及处理方法
US20020129103A1 (en) Instant messaging presence service protocol
KR100702704B1 (ko) 메신저를 이용한 알림 시스템 및 방법
WO2005036902A3 (en) Telecommunications system
KR100976259B1 (ko) 무선망 환경에서 동적 ip기반의 양방향 푸시 서비스 시스템
US20040214588A1 (en) Communication device and communication method
CN101110789B (zh) 一种即时消息系统中发送即时消息报告的方法
CN101909019A (zh) 请求消息的处理方法和系统
CN102111343A (zh) 即时通讯控制的实现方法和系统
KR100548429B1 (ko) 이동통신 단말기 메시지의 호환을 위한 시스템 및 방법
CN102611639A (zh) 一种即时消息系统中发送即时消息报告的系统
KR100732987B1 (ko) 착신전환 기능을 가지는 인스턴트 메시지 서비스 장치 및그 방법
KR20040006174A (ko) 무선단말기 이용자에 대한 인스턴트 메시지 전달 방법
CN101616370A (zh) 通过彩信在无线通信终端中接收电子邮件的方法及系统
JP3761515B2 (ja) インスタントメッセージ通信システム
JP5760735B2 (ja) コールセンタシステム、及びコールセンタシステムの制御方法
KR20060067414A (ko) 스케줄 관리 방법 및 시스템
WO2012171278A1 (zh) 一种业务历史信息的上传和更新方法、系统及终端

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120130

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131231

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151223

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170117

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 14