특허권

메신저 서비스 시스템에서 유동적 서버 프로세스들을 운용하는 메신저 서비스 방법 및 메신저 서버

상품번호 2019102021015445
IPC 한국(KO) 등록
출원번호 1020070019433
공개번호 10-2009-0000571
등록번호 1013152970000
출원인 주식회사 케이티
판매가 0원
 

꼭 읽어보세요!

기술거래는 양방향 경매방식으로 이루어집니다.

기술을 매수한 당사자는 거래금액의 전부 혹은 10퍼센트(%)를 당일 본원에 입금하여야 하며, 10% 나머지 잔금은 거래일로부터 2일 이내(거래일 익일)에 납부하여야 합니다. 만약 위 지정 기간내에 매수자가 입금하지 않으면 거래는 무효가 되며, 잔금도 기한내에 입금되지 않으면 매도자로 귀속됩니다. 이는 매도자의 기한의 이익상실을 보장함 입니다.

기술거래의 수수료는 기술의 이전 및 사업화 촉진에 관한 법률 시행규칙 산업통상자원부령 제48호 의거 기술이전 금액의 13퍼센트∼기술이전 금액의 17.5퍼센트로 되어있지만, 본 거래사이트에서는 매도‧매수인 각각 10%로 합니다.
이때 매수인의 매수금액(당사로 입금되는 금액)에서 수수료 각각10% 인 20%를 공제한 후 매도인에게 계좌이체를 하여야 합니다.
또한 권리이전(특허)비용은 기술양수인(매수자)부담이며 그 비용은 별도입니다.

 
본 발명은, 한 메신저 클라이언트로부터 받는 메신저 서비스 요청을 상대방 메신저 클라이언트로 트랜지트(transit)할 서버 프로세스를 직접 할당하지 않고 메인 프로세스를 통하여 메시지 트래픽 상태(message traffic status)에 따라 서버 프로세스 수를 다이내믹(dynamic)하게 결정함으로써, 현재 서버 프로세스에서 처리할 수 있는 한도를 넘어서는 트랜잭션이 요청될 때 서버 프로세스를 증가시키고, 서버 프로세스를 감소시켜도 현재 요청되고 있는 트랜잭션을 충분히 처리할 수 있다면 서버 프로세스를 감소시키도록 유동적인 서버 프로세스들을 운용하는 메신저 서비스 방법 및 메신저 서버를 제공한다.

특허청구의 범위
청구항 1
메신저 서버에서 메신저 클라이언트들 간에 문자, 음성, 또는 영상을 포함한 메시지의 트랜잭션 처리를 중계하여 온라인 대화가 이루어지도록 메신저 서비스를 제공하는 방법에 있어서,메신저 클라이언트로부터 메신저 서비스 요청을 수신하는 단계; 상기 메신저 서비스 요청과 관련된 트랜잭션을포함한 현재의 총 트랜잭션을 계산하는 단계; 상기 총 트랜잭션에 따라 서버 프로세스 수를 결정하는 단계; 및상기 결정된 수만큼의 서버 프로세스들을 이용하여 메신저 클라이언트들로부터 수신되는 메신저 서비스 요청에대한 트랜잭션을 처리하되, 라운드 로빈(round robin) 방식에 따라 우선 순위를 할당하는 방식 또는 랜덤(random)하게 우선 순위를 할당하는 방식에 따라 상기 결정된 수만큼의 서버 프로세스들 중 상기 메신저 클라이언트로부터 수신되는 메신저 서비스 요청을 트랜지트(transit)할 어느 하나의 서버 프로세스를 할당하여 해당트랜잭션을 처리하는 단계를 포함하고,상기 서버 프로세스 수를 결정하는 단계는, 상기 총 트랜잭션이 미리 설정된 상위 임계값 보다 큰 경우에 서버프로세스를 추가하는 단계; 상기 총 트랜잭션이 미리 설정된 하위 임계값 보다 작은 경우에 서버 프로세스를 감소하는 단계; 및 상기 총 트랜잭션이 상기 하위 임계값 이상이고 상기 상위 임계값 이하인 경우에 서버 프로세스 수를 유지하는 단계를 포함하며,상기 총 트랜잭션은 현재 요청되어 있는 분(minute) 당 트랜잭션들의 총합이고, 상기 상위 임계값은nNoOfPrc*nNoOfTrans*dMaxThreshold이고, 상기 하위 임계값은 nNoOfPrc*nNoOfTrans*dMinThreshold이며,여기서, nNoOfPrc은 현재 서버 프로세스의 수, nNoOfTrans은 서버 프로세스 하나가 분당 처리할 수 있는 트랜잭션의 수, dMaxThreshold은 0과 1사이의 실수로서 서버 프로세스 하나가 지원할 수 있는 최대값, 및dMinThreshold은 0과 1사이의 실수로서 서버 프로세스 하나가 지원할 수 있는 최소값이고,상기 메신저 서버를 통한 메신저 서비스 중계 시에 트랜잭션의 지연 방지를 위해 서버 프로세스를 증설하여도실행되는 서버 프로세스의 수를 유동적으로 증감하도록 리소스 관리를 위한 것을 특징으로 하는 메신저 서비스방법.
청구항 2
제1항에 있어서,상기 메신저 서버와 인터넷을 포함한 통신망을 통해 연동하여 상기 메신저 서비스를 제공하는 상기 메신저 클라이언트는, 노트북 PC, 데스크탑 PC, 셀룰러폰(Cellular phone), 피씨에스폰(PCS phone: PersonalCommunications Services phone), 동기식 또는 비동기식 IMT-2000(International Mobile Telecommunication-2000), 팜 PC(Palm Personal Computer), 개인용 디지털 보조기(PDA:Personal Digital Assistant), 스마트폰(Smart phone), 왑폰(WAP phone:Wireless application protocol phone), 또는 모바일 게임기(mobile playstation)를 포함하는 것을 특징으로 하는 메신저 서비스 방법.
청구항 3
삭제
청구항 4
삭제
청구항 5
삭제
청구항 6
메신저 서버에서 메신저 클라이언트들 간에 문자, 음성, 또는 영상을 포함한 메시지의 트랜잭션 처리를 중계하여 온라인 대화가 이루어지도록 메신저 서비스를 제공하는 메신저 서버에 있어서,적어도 하나의 메신저 클라이언트로부터의 메신저 서비스 요청에 대한 트랜잭션을 처리하는 유동적인 적어도 하나의 서버 프로세스 수단; 및 메신저 클라이언트로부터 메신저 서비스 요청을 수신하면 해당 메신저 서비스 요청과 관련된 트랜잭션을 포함한 현재의 총 트랜잭션을 계산하고, 상기 총 트랜잭션에 따라 상기 서버 프로세스수단의 수를 결정하는 메인 프로세스 수단을 포함하고,상기 메인 프로세스 수단은, 상기 결정된 수 만큼의 서버 프로세스 수단들을 이용하여 메신저 클라이언트들로부터 수신되는 메신저 서비스 요청에 대한 트랜잭션을 처리하되, 라운드 로빈(round robin) 방식에 따라 우선 순위를 할당하는 방식 또는 랜덤(random)하게 우선 순위를 할당하는 방식에 따라 상기 결정된 수만큼의 서버 프로세스 수단들 중 메신저 클라이언트로부터 수신되는 해당 메신저 서비스 요청을 트랜지트(transit)할 어느 하나의 서버 프로세스 수단을 할당하여 해당 트랜잭션을 처리하도록 제어하며,상기 메인 프로세스 수단은,상기 총 트랜잭션이 미리 설정된 상위 임계값 보다 큰 경우에 서버 프로세스수단을 추가하고, 상기 총 트랜잭션이 미리 설정된 하위 임계값 보다 작은 경우에 서버 프로세스 수단을 감소하며, 상기 총 트랜잭션이 상기 하위임계값 이상이고 상기 상위 임계값 이하인 경우에 서버 프로세스 수단의 수를 유지하되,상기 총 트랜잭션은 현재 요청되어 있는 분(minute) 당 트랜잭션들의 총합이고, 상기 상위 임계값은nNoOfPrc*nNoOfTrans*dMaxThreshold이고, 상기 하위 임계값은 nNoOfPrc*nNoOfTrans*dMinThreshold이며,여기서, nNoOfPrc은 현재 서버 프로세스 수단의 수, nNoOfTrans은 서버 프로세스 수단 하나가 분당 처리할 수있는 트랜잭션의 수, dMaxThreshold은 0과 1사이의 실수로서 서버 프로세스 수단 하나가 지원할 수 있는최대값, 및 dMinThreshold은 0과 1사이의 실수로서 서버 프로세스 수단 하나가 지원할 수 있는 최소값이고,상기 메신저 서버를 통한 메신저 서비스 중계 시에 트랜잭션의 지연 방지를 위해 서버 프로세스 수단을 증설하여도 실행되는 서버 프로세스 수단의 수를 유동적으로 증감하도록 리소스 관리를 위한 것을 특징으로 하는 메신저 서버.
청구항 7
삭제
명 세 서
발명의 상세한 설명
발명의 목적
발명이 속하는 기술 및 그 분야의 종래기술
본 발명은 메신저 서비스 방법 및 메신저 서버에 관한 것으로서, 특히, [0010] 한 메신저 클라이언트로부터 받는 메신저 서비스 요청을 상대방 메신저 클라이언트로 트랜지트(transit)할 서버 프로세스를 직접 할당하지 않고 메인 프로세스를 통하여 메시지 트래픽 상태(message traffic status)에 따라 서버 프로세스 수를 다이내믹(dynamic)하게 결정함으로써, 현재 서버 프로세스에서 처리할 수 있는 한도를 넘어서는 트랜잭션이 요청될 때서버 프로세스를 증가시키고, 서버 프로세스를 감소시켜도 현재 요청되고 있는 트랜잭션을 충분히 처리할 수 있다면 서버 프로세스를 감소시키도록 유동적인 서버 프로세스들을 운용하는 메신저 서비스 방법 및 메신저 서버에 관한 것이다.
[0011] 도 1은 종래의 메신저 서비스 시스템(100)을 설명하기 위한 도면이다. 일반적인 종래의 메신저 서비스 시스템(100)은 메신저 클라이언트들(110, 120)이 인터넷과 같은 통신망(130)에 연결된 메신저 서버(140)의 중계로 고객들 A와 B간에 실시간으로 온라인 대화가 이루어지도록 메신저 서비스를 제공한다.
[0012] 예를 들어, 채팅(chatting) 기능, 쪽지 기능, 이모티콘(emoticon) 기능 등과 같은 메신저 서비스를 사용하기 위하여, 고객A가 고객B에게 문자, 음성, 영상 등의 메시지를 보낼 때, 고객A의 메신저 클라이언트(110)를 통해 메시지와 고객B에 대한 필요 정보를 메신저 서버(140)로 전송하고, 이를 받은 메신저 서버(140)는 적당한 서버 프로세스(server process)를 할당하여 이 메시지를 고객B의 메신저 클라이언트(120)를 통해 고객B로 전달한다.
[0013] 이때 메신저 클라이언트들로부터 메신저 서버(140)가 처리할 수 있는 트랜잭션(transaction) 한계를 초과하는트랜잭션이 메신저 서버(140)에 요청되었을 경우에는, 메신저 서버(140)에서 트랜잭션 처리 지연이 발생하고,이는 메신저 클라이언트들로의 지연으로 이어진다.
메신저 서버(140)의 서버 프로세스(server process)에는 단위 프로세스(one-process)[0014] 의 성능적인 단점이 보완된다중 쓰레드(multi-thread) 또는 다중 프로세스(multi-process) 방식이 활용되고 있다. 그러나, 메신저 서버(140)의 서버 프로세스로서 미리 정해진 수만큼의 쓰레드 혹은 프로세스가 항상 실행되며, 실행 시 일정량의 리소스(resource)를 차지한다.
[0015] 따라서, 이와 같이 미리 정해진 수만큼의 쓰레드 혹은 프로세스(서버 프로세스)를 항상 실행 하는 종래의 메신저 서버(140)의 운영은, 메신저의 사용량이 급증하는 시간대에는 서버 프로세스에 의하여 처리될 수 있는 한도를 넘어서는 트랜잭션이 요청될 때 메시지 전송지연이 발생하는 문제점이 있다. 이때 배치(batch) 프로세스를남겨둔 리소스가 있어서 이를 활용할 수 있다면 지연을 일정 한도 내에서 방지할 수 있지만, 정해진 수만큼의서버 프로세스가 항상 실행되고 있어야 되기 때문에 지연 발생은 하드웨어 증설로 이어질 수 밖에 없다.
그리고, 메신저의 사용량이 급감하는 시간대에 통계 등을 위한 배치 어플리케이션(batch application)이 실행되는 경우에도, 서버 프로세스가 차지하고 있는 리소스로 인해 하드웨어 증설의 직접적인 원인이 되기도 한다. 또한, 이와 같은 종래의 메신저 서버(140)의 운영은, 메신저의 사용량이 급감하는 시간대, 예를 들어, 야간에는리소스를 전체적으로 활용하지 못하므로 효율성이 떨어진다는 문제점이 있다.
발명이 이루고자 하는 기술적 과제
[0016] 따라서, 본 발명은 상술한 문제점을 해결하기 위한 것으로서, 본 발명의 목적은, 메신저 서비스 시스템에서 메신저 서버 내의 서버 프로세스를 증설하여 트랜잭션의 지연을 방지하는 것은 메신저 사용량이 급감하는 시간에도 일정 리소스를 차지하고 있는 서버 프로세스가 항상 실행되어야 하는 비효율적인 면이 있으므로, 메시지 트래픽 상태(message traffic status)를 모니터링하여 전체 서버 프로세스에서 처리할 수 있는 한도를 넘어서는트랜잭션이 요청될 때 서버 프로세스를 증가시키고, 서버 프로세스를 감소시켜도 현재 요청되고 있는 트랜잭션을 충분히 처리할 수 있다면 서버 프로세스를 감소시켜서 유동적인 서버 프로세스들을 운용하는 메신저 서비스방법 및 메신저 서버를 제공하는 데 있다.
[0017] 또한, 본 발명의 다른 목적은, 유동적인 서버 프로세스들을 운영하기 위하여, 한 메신저 클라이언트로부터 받는메신저 서비스 요청 시에 메시지와 상대방 고객에 대한 필요 정보 등을 상대방 메신저 클라이언트로 트랜지트(transit)할 서버 프로세스를 직접 할당하지 않고 메인 프로세스를 통하여 메시지 트래픽 상태(message trafficstatus)에 따라 서버 프로세스 수를 다이내믹(dynamic)하게 결정할 수 있는 메신저 서비스 방법 및 메신저 서버를 제공하는 데 있다.
[0018] 그리고, 본 발명의 또 다른 목적은, 메신저 클라이언트들로부터 메신저 서비스 요청의 증감에 따라 유동적으로서버 프로세스 수를 증감시킴으로써, 안정적이고 효율적으로 리소스를 운영하며 트랜잭션 처리에 따른 지연 현상을 미연에 방지 할 수 있는 메신저 서비스 방법 및 메신저 서버를 제공하는 데 있다.
발명의 구성 및 작용
[0019] 상기와 같은 본 발명의 목적을 달성하기 위한 본 발명의 일면에 따라 메신저 서버에서 메신저 서비스를 제공하는 방법은, 메신저 서비스 요청을 수신하면, 메시지 트래픽 상태(message traffic status)에 따라 서버 프로세스 수를 결정하는 단계; 및 상기 결정된 수만큼의 서버 프로세스들 중 메신저 클라이언트로부터 수신되는 메신저 서비스 요청을 트랜지트(transit)할 어느 하나의 서버 프로세스를 할당하는 단계를 포함한다.
[0020] 상기 서버 프로세스 수를 결정하는 단계는, 상기 메신저 서비스 요청이 현재 실행되고 있는 서버 프로세스들에서 처리하는 트랜잭션 양의 일정 비율(상한)을 넘어서는 트랜잭션의 요청일 때, 서버 프로세스 수를 증가시키는단계; 및 상기 메신저 서비스 요청이 현재 실행되고 있는 서버 프로세스들에서 처리하는 트랜잭션 양의 일정 비율(하한) 보다 작은 트랜잭션의 요청일 때, 서버 프로세스 수를 감소시키는 단계를 포함한다.
[0021] 상기와 같은 본 발명의 목적을 달성하기 위한 본 발명의 다른 일면에 따라 메신저 서버에서 메신저 클라이언트 간의 메신저 서비스를 제공하는 방법은, 메신저 클라이언트로부터 메신저 서비스 요청을 수신하는 단계; 상기 메신저 서비스 요청과 관련된 트랜잭션을 포함한 현재의 총 트랜잭션을 계산하는 단계; 상기 총 트랜잭션에따라 서버 프로세스 수를 결정하는 단계; 및 상기 결정된 수만큼의 서버 프로세스들을 이용하여 메신저 클라이언트들로부터 수신되는 메신저 서비스 요청에 대한 트랜잭션을 처리하는 단계를 포함한다.
[0022] 상기 서버 프로세스 수를 결정하는 단계는, 상기 총 트랜잭션이 미리 설정된 상위 임계값 보다 큰 경우에 서버프로세스를 추가하는 단계; 상기 총 트랜잭션이 미리 설정된 하위 임계값 보다 작은 경우에 서버 프로세스를 감소하는 단계; 및 상기 총 트랜잭션이 상기 하위 임계값 이상이고 상기 상위 임계값 이하인 경우에 서버 프로세스 수를 유지하는 단계를 포함한다.
상기 총 트랜잭션은 현재 요청되어 있는 분(minute) 당 트랜잭션들의 [0023] 총합이고, 상기 상위 임계값은nNoOfPrc*nNoOfTrans*dMaxThreshold이고, 상기 하위 임계값은 nNoOfPrc*nNoOfTrans*dMinThreshold이며,여기서, nNoOfPrc은 현재 서버 프로세스의 수, nNoOfTrans은 서버 프로세스 하나가 분당 처리할 수 있는 트랜잭션의 수, dMaxThreshold은 0과 1사이의 실수로서 서버 프로세스 하나가 지원할 수 있는 최대값, 및dMinThreshold은 0과 1사이의 실수로서 서버 프로세스 하나가 지원할 수 있는 최소값이다.
[0024] 상기와 같은 본 발명의 목적을 달성하기 위한 본 발명의 또 다른 일면에 따라 메신저 서비스를 제공하는 시스템은, 메신저 서비스 요청을 트랜지트(transit)하는 메신저 서버를 포함하고, 상기 메신저 서버는 상기 메신저 서비스 요청을 수신하면, 메시지 트래픽 상태(message traffic status)에 따라 서버 프로세스 수를 결정하고, 상기 결정된 수만큼의 서버 프로세스들 중 어느 하나에 메신저 클라이언트로부터 수신되는 메신저 서비스 요청을트랜지트할 서버 프로세스를 할당하는 것을 특징으로 한다.
[0025] 상기 메신저 서버는, 상기 메신저 서비스 요청이 현재 실행되고 있는 서버 프로세스들에서 처리하는 트랜잭션양의 일정 비율(상한)을 넘어서는 트랜잭션의 요청일 때, 서버 프로세스 수를 증가시키고, 상기 메신저 서비스요청이 현재 실행되고 있는 서버 프로세스들에서 처리하는 트랜잭션 양의 일정 비율(하한) 보다 작은 트랜잭션의 요청일 때, 서버 프로세스 수를 감소시키는 것을 특징으로 한다.
[0026] 상기와 같은 본 발명의 목적을 달성하기 위한 본 발명의 또 다른 일면에 따라 메신저 클라이언트들 간의 메신저서비스를 제공하는 메신저 서버는, 적어도 하나의 메신저 클라이언트로부터의 메신저 서비스 요청에 대한 트랜잭션을 처리하는 유동적인 적어도 하나의 서버 프로세스 수단; 및 메신저 클라이언트로부터 메신저 서비스 요청을 수신하면 상기 서버 프로세스 수단의 수를 결정하는 메인 프로세스 수단을 포함하고, 상기 메인 프로세스 수단은 상기 메신저 서비스 요청과 관련된 트랜잭션을 포함한 현재의 총 트랜잭션을 계산하고, 상기 총 트랜잭션에 따라 상기 서버 프로세스 수단의 수를 결정하고, 상기 메인 프로세스 수단에서 결정된 수 만큼의 서버 프로세스 수단들 중 어느 하나가 상기 적어도 하나의 메신저 클라이언트로부터 수신되는 메신저 서비스 요청에 대한트랜잭션을 처리하는 것을 특징으로 한다.
[0027] 상기 메인 프로세스 수단은, 상기 총 트랜잭션이 미리 설정된 상위 임계값 보다 큰 경우에 서버 프로세스 수단을 추가하고, 상기 총 트랜잭션이 미리 설정된 하위 임계값 보다 작은 경우에 서버 프로세스 수단을 감소하며,상기 총 트랜잭션이 상기 하위 임계값 이상이고 상기 상위 임계값 이하인 경우에 서버 프로세스 수단의 수를 유지한다.
[0028] 이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
[0029] 도 2는 본 발명의 일실시예에 따른 메신저 서비스 시스템(200)을 설명하기 위한 도면이다. 도 2를 참조하면, 본발명의 일실시예에 따른 메신저 서비스 시스템(200)은 메신저 클라이언트들(210, 220)이 인터넷, 공중(public)망이나 기타 이들이 통합된 코어(core) 망과 같은 통신망(230)에 연결된 메신저 서버(240)의 중계로 고객들 A와B간에 실시간으로 온라인 대화가 이루어지도록 메신저 서비스를 제공한다. 여기서, 메신저 클라이언트들(210,220)은, 예를 들어, 노트북 PC, 데스크탑 PC, 셀룰러폰(Cellular phone), 피씨에스폰(PCS phone: PersonalCommunications Services phone), 동기식/비동기식 IMT-2000(International Mobile Telecommunication-2000),팜 PC(Palm Personal Computer), 개인용 디지털 보조기(PDA:Personal Digital Assistant), 스마트폰(Smartphone), 왑폰(WAP phone:Wireless application protocol phone), 모바일 게임기(mobile play-station) 등의 모든 유무선 통신 장치를 포괄적으로 의미한다. 도 2에서 설명의 편의상 고객A와 고객B가 사용하는 2개의 메신저클라이언트들(210, 220)을 예시하였으나, 이에 한정되는 것은 아니고 다양한 환경에서 접속하는 수 많은 고객들이 사용하는 유무선 통신 장치들이 통신망(230)을 통하여 메신저 서버(240)의 중계를 받을 수 있다.
[0030] 예를 들어, 채팅(chatting) 기능, 쪽지 기능, 이모티콘(emoticon) 기능 등과 같은 메신저 서비스를 사용하기 위하여, 고객A가 고객B에게 문자, 음성, 영상 등의 메시지를 보낼 때, 고객A의 메신저 클라이언트(210)를 통해 메시지와 고객B에 대한 필요 정보(예를 들어, ID, 닉네임 등)를 메신저 서버(240)로 전송한다. 소스(source) 및목적지 IP(Internet Protocol) 주소 등의 통신을 위하여 필요한 기본 정보 역시 IPv4, IPv6 등의 IP 프로토콜에 따라 고객 간에 전송되는 메시지에 포함된다.
본 발명에서는 고객A의 메신저 클라이언트(210)로부터 메시지를 받은 메신저 서버([0031] 240)가 유동적인 서버 프로세스(server process)들을 안정적이고 효율적으로 운용하여, 적절한 서버 프로세스에 트랜잭션(transaction) (메시지 전달을 위한 일련의 작업)을 할당하여 수신 메시지가 고객B의 메신저 클라이언트(220)를 통해 고객B로 전달 될 수 있도록 트랜지트(transit)한다.
[0032] 본 발명에서 프로세스는 어플리케이션(application)을 의미하는 것으로서, 쓰레드(thread)로 대체될 수 있는 개념으로 이해되어야 한다. 쓰레드는 프로세스에서 실행되는 코드 단위로서, 일반적으로 하나의 프로세스는 하나의 쓰레드를 처리한다. 하지만, 단위 프로세스(one-process)의 성능적인 단점이 보완된 멀티-태스킹(multitasking)에서는 다중 쓰레드(multi-thread) 또는 다중 프로세스(multi-process) 방식이 활용된다. 이러한, 프로세스 또는 쓰레드는 소프트웨어나 하드웨어, 또는 이들의 조합으로 된 소정 수단에 의하여 실행될 수 있고,이를 실행하기 위하여는 실행 수단들의 일정량의 리소스(resource)가 확보되어야 한다.
[0033] 본 발명에 따른 메신저 서버(240)에서는, 위와 같은 프로세스 또는 쓰레드로 구성되는 서버 프로세스들이 유동적으로 운영된다. 메신저 서버(240)는 메시지와 상대방 고객에 대한 필요 정보 등이 포함된 메신저 서비스 요청을 수신하면, 메시지 트래픽 상태(message traffic status)에 따라 서버 프로세스 수가 유동적으로 증감되도록결정하고, 이때 결정된 수만큼의 서버 프로세스들 중 메신저 클라이언트들(210, 220)로부터 수신되는 해당 메신저 서비스 요청을 트랜지트할 어느 하나의 서버 프로세스를 할당한다. 메신저 서버(240)는, 상기 메신저 서비스요청이 현재 실행되고 있는 전체 서버 프로세스들에서 처리하는 트랜잭션 양의 일정 비율(상한)을 넘어서는 트랜잭션의 요청일 때, 서버 프로세스 수를 증가시키고, 상기 메신저 서비스 요청이 현재 실행되고 있는 전체 서버 프로세스들에서 처리하는 트랜잭션 양의 일정 비율(하한) 보다 작은 트랜잭션의 요청일 때, 서버 프로세스수를 감소시키도록 유동적으로 서버 프로세스들을 운영한다.
[0034] 이와 같이, 메신저 클라이언트들(210, 220)로부터의 메신저 서비스 요청의 증감에 따라 유동적으로 서버 프로세스 수를 증감시킴으로써, 안정적이고 효율적인 리소스 운영이 가능하다. 또한, 기존에는 클라이언트들로부터 서버에서 처리할 수 있는 한계를 초과하는 트랜잭션이 서버에 요청되었을 경우에는, 서버에서 트랜잭션 처리 지연이 발생하고, 이는 클라이언트들로의 응답 지연으로 이어졌으나, 본 발명에서는 유동적인 서버 프로세스의 운영에 따라 트랜잭션 처리에 따른 지연 현상을 미연에 방지 할 수 있다.
[0035] 그리고, 기존에는 트랜잭션의 지연을 방지하기 위하여 서버 프로세스를 증설하고 이들을 항상 실행시킴으로 인해 메신저 사용량이 급감하는 시간, 예를 들어, 메신저 서비스 요청이 적은 야간 시간대 등에 리소스가 비효율적으로 낭비되는 면이 있었으나, 본 발명에서는 메신저 서버(240)가 처리할 메시지 트래픽 상태를 모니터링하여현재 서버 프로세스에서 처리할 수 있는 한도를 넘어서는 트랜잭션이 요청되면, 서버 프로세스를 증가시키고,서버 프로세스를 감소시켜도 현재 요청되고 있는 트랜잭션을 충분히 처리할 수 있다면 서버 프로세스를 감소시킬 수 있으므로, 리소스 관리가 효율적으로 이루어진다.
[0036] 한편, 이와 같은 메신저 서버(240)의 운영을 위하여, 도 2와 같이, 메신저 서버(240)는 메인 프로세스(mainprocess)(241)와 유동적으로 구성될 수 있는 적어도 하나 이상의 서버 프로세스(server process)(242)를 포함한다.
[0037] 각 서버 프로세스(242)는 메신저 클라이언트 또는 복수의 메신저 클라이언트들로부터의 메신저 서비스 요청에대한 트랜잭션을 처리한다. 즉, 각 서버 프로세스(242)는 일정량의 리소스를 이용하여 다수의 메신저 클라이언트들 사이의 메신저 서비스를 중계하는 단위 수단일 수 있다.
[0038] 메인 프로세스(241)는 메신저 클라이언트로부터 메신저 서비스 요청을 수신하면 서버 프로세스(242)의 수를 결정하는 중앙 제어 수단일 수 있다. 즉, 메인 프로세스(241)는 메신저 서버(240)의 전반적인 제어를 담당하고,특히, 상기 메신저 서비스 요청과 관련된 트랜잭션을 포함한 현재 메신저 서버(240)가 처리할 총 트랜잭션을 계산하며, 상기 총 트랜잭션에 따라 서버 프로세스(242)의 수를 결정한다. 예를 들어, 메인 프로세스(241)는 상기총 트랜잭션이 미리 설정된 상위 임계값(dmax) 보다 큰 경우에, 도 3의 320과 같이, 서버 프로세스(242)를 적어도 하나 이상 추가하고, 상기 총 트랜잭션이 미리 설정된 하위 임계값(dmin) 보다 작은 경우에는, 도 3의 310과같이, 서버 프로세스(242)를 적어도 하나 이상 감소하며, 상기 총 트랜잭션이 상기 하위 임계값(dMin) 이상이고상기 상위 임계값(dMax) 이하인 경우에 서버 프로세스(242)의 수를 이전의 수대로 유지한다.
[0039] 이에 따라, 메인 프로세스(241)에서 결정된 수 만큼의 서버 프로세스들 중 어느 하나가 메신저 클라이언트로부터 수신되는 메신저 서비스 요청에 대한 트랜잭션을 처리하게 된다.
이와 같이, 본 발명의 메신저 서버(240)에서는 한 메신저 클라이언트로부터 [0040] 받는 메신저 서비스 요청에 대하여상대방 메신저 클라이언트로 트랜지트(transit)할 서버 프로세스를 직접 할당하지 않고, 메인 프로세스(241)를통하여 메시지 트래픽 상태 또는 현재의 트랜잭션 총량에 따라 서버 프로세스(242) 수를 다이내믹(dynamic)하게결정한다.
[0041] 이하, 본 발명의 일실시예에 따른 메신저 서비스 시스템(200)의 동작을 도 4의 흐름도를 참조하여 좀더 자세히설명한다.
[0042] 먼저, 고객은 로그온(log-on) 된 온라인 대화 상대인 상대방 고객과 메신저 서버(240)에서 제공하는 채팅 기능,쪽지 기능, 이모티콘 기능 등의 메신저 서비스를 이용하면서, 상대방 고객에게 전송할 메시지로서 문자, 음성,영상 등과 같은 인스턴트(instant) 메시지를 자신의 메신저 클라이언트에 입력한다(S410). 이에 따라, 고객이입력한 메시지와 상대방 고객에 대한 필요 정보(예를 들어, ID, 닉네임 등)가 메신저 클라이언트를 통하여 메신저 서비스 요청으로서 메신저 서버(240)의 메인 프로세스(241)로 전송된다(S420).
[0043] 이에 따라, 이와 같은 메신저 서비스 요청을 메신저 클라이언트로부터 수신한 메신저 서버(240)의 메인 프로세스(241)는, 먼저, 상기 메신저 서비스 요청과 관련된 트랜잭션을 포함하는 현재 메신저 서버(240)가 처리할 총트랜잭션(nReqPerMin)을 계산하여 상기 총 트랜잭션(nReqPerMin)에 따라 서버 프로세스(242) 수를 유동적으로결정한다(S430~S441). 이와 같이, 메인 프로세스(241)가 메신저 서비스 요청을 수신하는 경우에, 메인 프로세스(241)가 서버 프로세스(242) 수를 결정하는 것을 예로 들어 설명하지만, 이에 한정되는 것은 아니고, 메신저 서비스 요청과 관계없이 메인 프로세스(241)가 일정 기간 마다 주기적으로 상기 총 트랜잭션(nReqPerMin)을 계산하여 서버 프로세스(242) 수를 결정할 수 있게 하는 것도 가능하다.
[0044] 즉, 메인 프로세스(241)는 상기 총 트랜잭션(nReqPerMin)이 미리 설정된 상위 임계값(dMax) 보다 큰 경우에(S430), 서버 프로세스를 적어도 하나 이상 추가적으로 증가시켜 동작시키고 제어한다(S431). 또는, 메인 프로세스(241)는 상기 총 트랜잭션(nReqPerMin)이 미리 설정된 하위 임계값(dMin) 보다 작은 경우에(S440), 서버 프로세스를 적어도 하나 이상 감소시켜 나머지 서버 프로세스를 제어한다(S441). 이때, 메인 프로세스(241)는 상기 총 트랜잭션(nReqPerMin)이 상기 하위 임계값(dMin) 이상이고 상기 상위 임계값(dMax) 이하인 경우에 서버프로세스 수를 이전 수대로 유지한다.
[0045] 여기서, 예를 들어, 상기 총 트랜잭션(nReqPerMin)은 현재 요청되어 있는 분(minute) 당 트랜잭션들의 총합일수 있다. 또한, 상기 상위 임계값(dMax)은 [수학식 1]과 같이 나타낼 수 있고, 상기 하위 임계값(dMin)은 [수학식 2]와 같이 나타낼 수 있다.
[0046] [수학식 1]
[0047] dMax = nNoOfPrc*nNoOfTrans*dMaxThreshold
[0048] [수학식 2]
[0049] dMin = nNoOfPrc*nNoOfTrans*dMinThreshold
[0050] 여기서, nNoOfPrc은 현재 서버 프로세스의 수, nNoOfTrans은 서버 프로세스 하나가 분(minute) 당 처리할 수 있는 트랜잭션의 수, dMaxThreshold은 0과 1사이의 임의의 실수로서 서버 프로세스 하나가 지원할 수 있는최대값, 및 dMinThreshold은 0과 1사이의 임의의 실수로서 서버 프로세스 하나가 지원할 수 있는 최소값이다.
[0051] 예를 들어, dMaxThreshold의 값이 0.8이면 nReqPerMin이 nNoOfPrc*nNoOfTrans의 80% 이상이 되었을 때 서버 프로세스가 추가적으로 생성되고, dMinThreshold의 값이 0.4이면 nReqPerMin이 nNoOfPrc*nNoOfTrans의 40% 이하가 되면 서버 프로세스를 줄이게 된다.
[0052] 이와 같이, 메인 프로세스(241)가 현재의 총 트랜잭션(nReqPerMin)을 계산하여 상기 총 트랜잭션(nReqPerMin)에따라 서버 프로세스(242) 수를 결정하면(S430~S441), 상기 메인 프로세스(241)에서 결정된 수만큼의 서버 프로세스들이 메신저 클라이언트들로부터 수신되는 메신저 서비스 요청에 대한 트랜잭션을 처리하는 데 이용된다.
메인 프로세스(241)는 위와 같이 결정된 서버 프로세스들 중 어느 하나에 클라이언트들로부터 수신되는 메신저서비스 요청을 할당하여 해당 서버 프로세스에서 트랜잭션이 처리될 수 있도록 한다.
[0053] 메인 프로세스(241)가 메신저 서비스 요청에 대하여 서버 프로세스들에 우선순위를 할당하는 방법으로는 다양한형태로 구현될 수 있다. 예를 들어, 라운드 로빈(round robin) 방식으로 각 서버 프로세스에 순환적으로 우선순위를 부여하거나, 또는 랜덤(random)하게 각 서버 프로세스에 우선순위를 부여할 수도 있다.
메인 프로세스(241)가 어떠한 형태로든 상기 메신저 서비스 요청을 트랜지트할 [0054] 서버 프로세스를 할당하면, 메인프로세스(241)는 메신저 서비스 요청에 포함된 메시지와 상대방 고객에 대한 필요 정보를 할당된 해당 서버 프로세스로 전송한다(S450).
[0055] 이에 따라 메신저 서비스 요청의 처리를 전달받은 서버 프로세스는 해당 트랜잭션을 처리하여, 상대방 고객에게처리 결과 정보를 전송한다(S460). 메신저 서비스 요청을 한 고객도 위와 같은 과정에 따라 상대방 고객이 전송한 메신저 서비스 요청에 대한 결과를 받아볼 수 있다(S470).
[0056] 본 명세서에서 개시된 방법 및 장치에서 사용되는 기능은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며 또한 캐리어 웨이브(예를 들어인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
[0057] 이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
발명의 효과
[0058] 상술한 바와 같이 본 발명에 따른 메신저 서버 및 방법에서는, 메신저 사용량과 관계없이 항상 정해진 수만큼의서버 프로세스를 실행시키는 종래의 방식과 달리, 메시지 트래픽 상태(message traffic status)를 모니터링하여전체 서버 프로세스에서 처리할 수 있는 한도를 넘어서는 트랜잭션이 요청될 때 서버 프로세스를 증가시키고,서버 프로세스를 감소시켜도 현재 요청되고 있는 트랜잭션을 충분히 처리할 수 있다면 서버 프로세스를 감소시킴으로써, 메신저 사용량에 따라 적정수의 효율적인 수 만큼의 서버 프로세스만을 실행시킬 수 있다.
[0059] 또한, 본 발명에 따른 메신저 서버 및 방법에서는, 한 메신저 클라이언트로부터 받는 메신저 서비스 요청 시에메시지와 상대방 고객에 대한 필요 정보 등을 상대방 메신저 클라이언트로 트랜지트(transit)할 서버 프로세스를 직접 할당하지 않고 메인 프로세스를 통하여 메시지 트래픽 상태(message traffic status)에 따라 서버 프로세스 수를 다이내믹(dynamic)하게 할당함으로써, 유동적으로 서버 프로세스들을 효율성 있게 운영할 수 있다.
[0060] 그리고, 본 발명에 따른 메신저 서버 및 방법에서는, 메신저 클라이언트들로부터 메신저 서비스 요청의 증감에따라 유동적으로 서버 프로세스 수를 증감시킴으로써, 안정적이고 효율적으로 리소스를 운영하며 트랜잭션 처리에 따른 지연 현상을 미연에 방지 할 수 있다.
도면의 간단한 설명
[0001] 도 1은 종래의 메신저 서비스 시스템을 설명하기 위한 도면이다.
[0002] 도 2는 본 발명의 일실시예에 따른 메신저 서비스 시스템을 설명하기 위한 도면이다.
[0003] 도 3은 본 발명의 일실시예에 따른 메신저 서버에서 서버 프로세스들의 유동적 증감을 설명하기 위한 도면이다.
[0004] 도 4는 본 발명의 일실시예에 따른 메신저 서비스 시스템의 동작을 설명하기 위한 흐름도이다.
[0005] <도면의 주요 부분에 대한 부호의 설명>
[0006] 210, 220: 메신저 클라이언트(messenger client)
[0007] 240: 메신저 서버(server)
[0008] 241: 메인 프로세스(main process)
[0009] 242: 서버 프로세스(service process) 

등록된 상품문의

  • 상품문의가 없습니다.

등록된 사용후기

  • 사용후기가 없습니다.