KR100634209B1 - SPI-based presence server and control method thereof - Google Patents
SPI-based presence server and control method thereof Download PDFInfo
- Publication number
- KR100634209B1 KR100634209B1 KR1020040109044A KR20040109044A KR100634209B1 KR 100634209 B1 KR100634209 B1 KR 100634209B1 KR 1020040109044 A KR1020040109044 A KR 1020040109044A KR 20040109044 A KR20040109044 A KR 20040109044A KR 100634209 B1 KR100634209 B1 KR 100634209B1
- Authority
- KR
- South Korea
- Prior art keywords
- user agent
- database
- presence user
- information
- subscription
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000004891 communication Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 33
- 230000004044 response Effects 0.000 claims description 28
- 238000013475 authorization Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 29
- 238000012790 confirmation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100296458 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PAU1 gene Proteins 0.000 description 1
- 101100296464 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PAU2 gene Proteins 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Telephonic Communication Services (AREA)
Abstract
본 발명은 프리젠스 서버 및 그 제어 방법에 관한 발명이다. 특히, 안정적인 프리젠스 서비스를 제공할 수 있는 SIP 기반의 프리젠스 서버 및 그 제어 방법에 관한 발명이다. The present invention relates to a presence server and a control method thereof. In particular, the present invention relates to a SIP-based presence server capable of providing a stable presence service and a control method thereof.
상술한 목적을 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은 상태 정보 및 가입 정보를 저장하는 데이터 베이스, 및 상태 정보 및 가입 정보를 상기 데이터 베이스에 저장, 갱신 독출 및 삭제하며 프리젠스 유저 에이전트 통신을 수행하는 프리젠스 서버 프로세서를 포함하는 프리젠스 서버를 제공한다.As a technical means for achieving the above object, a first aspect of the present invention provides a database for storing status information and subscription information, and storing, updating, reading, and deleting status information and subscription information in the database. A presence server including a presence server processor that performs agent communication is provided.
본 발명에 의한 SIP 기반의 프리젠스 서버 및 그 제어 방법은 트랜잭션 정보 및 가입 정보를 별도의 데이터베이스 서버에 저장 및 관리함으로써, 서버의 성능과 안정성을 향상시킬 수 있다는 효과가 있다. The SIP-based presence server and its control method according to the present invention have the effect of improving the performance and stability of the server by storing and managing transaction information and subscription information in a separate database server.
프리젠스 서버, presence server, event driven presence server, sipPresence server, event driven presence server, sip
Description
도 1은 본 발명의 실시예에 의한 프리젠스 서버의 구조를 간략히 도시한 도면이다. 1 is a diagram schematically illustrating a structure of a presence server according to an embodiment of the present invention.
도 2는 프리젠스 서버가 다운되거나 정전등으로 인해 재구동되었을 경우 이전의 상태를 복구하는 방법의 각 단계를 나타내는 도면이다. 2 is a diagram illustrating each step of a method of recovering a previous state when the presence server is down or restarted due to a power failure.
도 3은 사용자 정책 이벤트가 발생되고 사용자의 결정이 허락인 경우의 사용자 정책 이벤트의 발생과정 및 처리과정의 일례를 설명하기 위한 도면이다. 3 is a view for explaining an example of the generation and processing of the user policy event when the user policy event is generated and the decision of the user is allowed.
도 4는 사용자 정책 이벤트가 발생되고 사용자의 결정이 불허인 경우의 사용자 정책 이벤트의 발생과정 및 처리과정의 일례를 설명하기 위한 도면이다. FIG. 4 is a diagram for explaining an example of a process and a process of generating a user policy event when a user policy event is generated and a decision of a user is not allowed.
도 5는 네트워크 이벤트인 SIP 메시지가 수신된 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, 인가되지 않은 사용자로부터 가입요청인 "SUBSCRIBE" 메시지를 수신한 경우의 처리 절차를 나타내는 도면이다. FIG. 5 is a diagram illustrating an example of a procedure of receiving and processing an event when a SIP message, which is a network event, is received. FIG. 5 is a diagram illustrating a processing procedure when a "SUBSCRIBE" message, which is a subscription request, is received from an unauthorized user.
도 6은 네트워크 이벤트인 SIP 메시지가 수신된 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, 인가된 사용자로부터 가입요청인 "SUBSCRIBE" 메시지를 수신한 경우의 처리 절차를 나타내는 도면이다. FIG. 6 is a diagram illustrating an example of a procedure of receiving and processing an event when a SIP message, which is a network event, is received. FIG. 6 is a diagram illustrating a processing procedure when a "SUBSCRIBE" message, which is a subscription request, is received from an authorized user.
도 7은 네트워크 이벤트인 SIP 메시지가 수신된 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, 사용자 상태 정보를 전달하는 "PUBLISH"라는 메시지를 수신한 경우의 처리 절차를 나타내는 도면이다.FIG. 7 is a diagram illustrating an example of a procedure for receiving and processing an event when a SIP message, which is a network event, is received. FIG. 7 is a diagram illustrating a processing procedure when a message “PUBLISH” for transmitting user status information is received.
도 8은 네트워크 이벤트인 SIP 메시지가 수신된 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, "NOTIFY"가 성공적으로 전달 및 처리되었음을 의미하는 "200" 응답(Response)을 수신한 경우의 처리 절차를 나타내는 도면이다.FIG. 8 is a diagram illustrating an example of a procedure for receiving and processing an event when a SIP message, which is a network event, is received. In case of receiving a “200” response indicating that “NOTIFY” has been successfully delivered and processed. It is a figure which shows a processing procedure.
도 9는 네트워크 이벤트인 SIP 메시지가 수신된 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, "200" 응답(Response)이 아닌 경우의 처리 절차를 나타내는 도면이다. FIG. 9 is a diagram illustrating an example of a procedure of receiving and processing an event when a SIP message, which is a network event, is received. FIG.
도 10은 타임아웃 이벤트가 발생한 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, 상태정보가 유효시간이 경과하여 삭제된 경우의 처리 절차를 나타내는 도면이다. FIG. 10 is a diagram illustrating an example of a procedure for receiving and processing an event when a timeout event occurs. FIG.
도 11은 타임아웃 이벤트가 발생한 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, 가입 트랜잭션의 유효시간이 경과한 경우의 처리 절차를 나타내는 도면이다. FIG. 11 is a diagram illustrating an example of a procedure for receiving and processing an event when a timeout event occurs. FIG.
도 12는 타임아웃 이벤트가 발생한 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, 프리젠스 서버가 "NOTIFY"를 송신하였으나 프리젠스 유저 에이전트로부터 "200" 응답을 수신하지 못한 경우의 처리 절차를 나타내는 도면이다. 12 is a diagram illustrating an example of a procedure for receiving and processing an event when a timeout event occurs, and a processing procedure when the presence server transmits "NOTIFY" but does not receive a "200" response from the presence user agent. It is a figure which shows.
본 발명은 프리젠스 서버 및 그 제어 방법에 관한 발명이다. 특히, 안정적인 프리젠스 서비스를 제공할 수 있는 SIP 기반의 프리젠스 서버 및 그 제어 방법에 관한 발명이다. The present invention relates to a presence server and a control method thereof. In particular, the present invention relates to a SIP-based presence server capable of providing a stable presence service and a control method thereof.
SIP(Session Initiation Protocol)는 IETF(Internet Engineering Task Force)에서 정의한 프로토콜로써, 인터넷 전화 서비스 등을 제공하기 위해 통신하고자 하는 상대방을 찾아 사용자 간의 호 설정, 호 정보 수정, 호 해지 등의 기능을 제공하는 호 제어 프로토콜이다. SIP는 복잡도가 낮고 확장성이 높아 인터넷 전화 서비스 뿐만 아니라, 인스턴트 메시징 및 프리젠스(presence) 서비스, 컨퍼런스 서비스 등에 활용되고 있다. Session Initiation Protocol (SIP) is a protocol defined by the Internet Engineering Task Force (IETF), which provides functions such as call setup, call information modification, and call termination between users by finding a counterpart to communicate to provide Internet telephony services. Call control protocol. SIP's low complexity and scalability make it ideal for Internet telephony, instant messaging and presence services, and conference services.
프리젠스 서비스는 상태 정보를 수신하여 저장하고 있다가 가입자로 등록한 사용자로부터 요구시 해당 상태 정보를 전달하는 것이다. 여기서 상태 정보는 일례로 특정 사용자가 온라인 상태인지 오프라인 상태인지에 관한 정보, 상기 특정 사용자가 통신의 가능성(availability)이 있는지, 인스턴트 메시징, VoIP(Voice on IP), 이동 전화, 이메일, 게임 등을 이용하여 통신할 의지(willingness)가 있는지, 음성 메일 가능, 비디오 가능, 이동 가능 등의 통신 능력(capability)이 있는지에 대한 정보를 포함할 수 있다. 프리젠스 서버는 프리젠스 에이전트 서버(presence agent server, PAS)라고도 하며 사용자에게 프리젠스 서비스를 제공하는 서버이다. The presence service receives and stores state information and delivers the state information when requested by a user registered as a subscriber. The status information may include, for example, information about whether a specific user is online or offline, whether the specific user has a possibility of communication, instant messaging, voice on IP (VoIP), mobile phone, email, games, and the like. Information about whether there is a willingness to communicate with the user, and whether there is communication capability such as voice mail capability, video capability, and mobility. The presence server, also called a presence agent server (PAS), is a server that provides presence services to users.
종래의 프리젠스 서버는 일반적으로 상태 정보만을 데이터베이스에 유지하고, SIP 가입(subscription) 정보들은 프로세스 메모리 일례로 RAM(random access memory) 등의 휘발성 메모리내에 유지가 되며 프로세스의 해당 가입들이 모두 종료될때까지 프로세스내에서 관리가 된다. 그리나, 프리젠스 서버는 대량의 가입 정보들이 생성 및 소멸되는 경우가 많고, 이 경우에는 메모리 관리의 난해함과 동시에 사용자 수와 가입 수에 비례하여 성능이 저하된다는 문제점이 있다. 또한, 서버가 다운되거나 정전등으로 인해 재구동되었을 경우 모든 가입 정보가 사라지게 되어 기존에 연결되어 있던 모든 클라이언트들이 다시 가입을 맺어야 하는 등의 서비스상의 문제를 발생시킨다. 또한, 이 과정에서 일시에 모든 가입들이 재 가입을 요구할 경우 서버의 부하는 한계점을 넘어설 수 있다는 문제점 있다. 여기에서 가입은 상대의 상태정보를 얻기 위한 절차를 의미하며, 가입 정보들로는 SIP 메시지에 포함된 "From", "To", "Call-ID", "CSeq" 헤더의 정보들과 가입의 상태를 표현하는 "Subscription_state" 헤더의 값 등이 포함되며, SIP 메시지가 송수신 될 때마다 가입 정보들은 갱신된다.Conventional presence servers generally maintain only state information in a database, and SIP subscription information is maintained in volatile memory, such as random access memory (RAM), for example process memory, until all of the corresponding subscriptions in the process are terminated. It is managed within the process. However, the presence server often generates and destroys a large amount of subscription information. In this case, there is a problem in that memory management is difficult and performance decreases in proportion to the number of users and the number of subscriptions. In addition, when the server is down or restarted due to a power failure, all the subscription information disappears, which causes a problem in the service such as all the clients connected to the existing need to sign up again. In addition, in this process, if all the subscriptions require re-subscription at one time, the load of the server may exceed the limit. In this case, the subscription means a procedure for obtaining the partner's status information. The subscription information includes the information of "From", "To", "Call-ID", and "CSeq" headers included in the SIP message and the status of the subscription. The value of the "Subscription_state" header to be expressed is included, and subscription information is updated each time a SIP message is transmitted and received.
따라서, 본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적 은 가입 정보를 별도의 데이터베이스 서버에 저장 및 관리함으로써, 서버의 성능과 안정성을 향상시킨 SIP 기반의 프리젠스 서버 및 그 제어 방법을 제공하는데 있다.
Accordingly, an object of the present invention is to solve the above-described problem, and an object of the present invention is to store and manage subscription information in a separate database server, thereby improving the performance and stability of a server based SIP server and its control method To provide.
상술한 목적을 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은 상태 정보 및 가입 정보를 저장하는 데이터 베이스, 및 상태 정보 및 가입 정보를 상기 데이터 베이스에 저장, 갱신 독출 및 삭제하며 프리젠스 유저 에이전트 통신을 수행하는 프리젠스 서버 프로세서를 포함하는 프리젠스 서버를 제공한다.As a technical means for achieving the above object, a first aspect of the present invention provides a database for storing status information and subscription information, and storing, updating, reading, and deleting status information and subscription information in the database. A presence server including a presence server processor that performs agent communication is provided.
본 발명의 제 2 측면은 상태 정보 및 가입 정보를 저장하는 데이터 베이스를 포함하는 프리젠스 서버의 재가동 방법에 있어서, 상기 프리젠스 서버가 상기 데이터 베이스에 기록된 마지막 접근 시간과 현재 시간과의 차이를 계산하는 단계, 상기 데이터 베이스에 기록된 가입 정보의 유효 시간에서 상기 계산된 차이를 차감하여 유효한 프리젠스 유저 에이전트와 유효하지 않은 프리젠스 유저 에이전트를 구분하는 단계, 상기 프리젠스 서버는 상기 유효하지 않은 프리젠스 유저 에이전트에게는 종료되었음을 알리는 메시지를 송신하는 단계; 및 상기 데이터 베이스에서 상기 유효하지 않은 프리젠스 유저 에이전트의 가입 정보를 삭제하는 단계를 포함하는 프리젠스 서버의 재가동 방법을 제공한다. According to a second aspect of the present invention, there is provided a method of restarting a presence server including a database storing state information and subscription information, wherein the presence server is configured to determine a difference between a current time and a last access time recorded in the database. Calculating, distinguishing a valid presence user agent from an invalid presence user agent by subtracting the calculated difference from a valid time of subscription information recorded in the database, wherein the presence server is not valid Sending a message informing the presence user agent that it has been terminated; And deleting subscription information of the invalid presence user agent from the database.
본 발명의 제 3 측면은 상태 정보 및 가입 정보를 저장하는 데이터 베이스를 포함하는 프리젠스 서버의 제어 방법에 있어서, 상기 프리젠스 서버가 제 1 프리젠스 유저 에이전트의 제 2 프리젠스 유저 에이전트 상태를 알기 위한 가입 요청을 받는 단계, 상기 프리젠스 서버는 상기 제 2 프리젠스 유저 에이전트의 상기 제 1 프리젠스 유저 에이전트에 대한 인가여부를 확인하기 위하여 상기 데이터 베이스를 탐색하는 단계, 상기 데이터 베이스에 상기 제 2 프리젠스 유저 에이전트의 상기 제 1 프리젠스 유저 에이전트에 대한 인가여부에 관한 정보가 없는 경우 상기 프리젠스 서버는 상기 제 1 프리젠스 유저 에이전트에게 제 2 프리젠스 유저 에이전트의 상태 정보가 없음을 알리는 단계, 및 상기 프리젠스 서버는 상기 데이터 베이스에 상기 제 1 프리젠스 유저 에이전트의 상기 제 2 프리젠스 유저 에이전트에 대한 가입 정보를 저장하는 단계를 포함하는 프리젠스 서버 제어 방법을 제공한다. A third aspect of the present invention provides a method of controlling a presence server including a database storing state information and subscription information, wherein the presence server knows a state of a second presence user agent of a first presence user agent. Receiving a subscription request for requesting, the presence server searching the database to confirm whether the second presence user agent is authorized for the first presence user agent, and the second presence in the database. If there is no information on whether the presence user agent is authorized for the first presence user agent, the presence server notifying the first presence user agent that there is no status information of the second presence user agent; And the presence server stores the first presence in the database. The agents of that second presence provides a presence server control method comprising: storing subscription information of the user agent.
본 발명의 제 4 측면은 상태 정보 및 가입 정보를 저장하는 데이터 베이스를 포함하는 프리젠스 서버의 제어 방법에 있어서, 상기 프리젠스 서버가 제 2 프리젠스 유저 에이전트로부터 상태 정보를 전달받는 단계, 상기 프리젠스 서버가 전달받은 상태정보를 상기 데이터 베이스에 저장하는 단계, 상기 프리젠스 서버가 상기 데이터 베이스로부터 상기 제 2 프리젠스 유저 에이전트에 가입된 프리젠스 유전 에이전트로 제 1 프리젠스 유저 에이전트가 있음을 읽는 단계, 상기 프리젠스 서버가 상기 제 1 프리젠스 유저 에이전트에게 상기 제 2 프리젠스 유저 에이전트의 상태 정보를 전달하는 단계, 및 상기 프리젠스 서버가 상기 데이터 베이스에 저장된 상기 제 1 프리젠스 유저 에이전트의 상기 제 2 프리젠스 유저 에이전트에 대한 가입 정보를 갱신하는 단계를 포함하는 프리젠스 서버의 제어 방법을 제공한다. A fourth aspect of the present invention provides a method of controlling a presence server including a database for storing status information and subscription information, wherein the presence server receives status information from a second presence user agent. Storing, by the presence server, the received status information in the database, wherein the presence server reads from the database that there is a first presence user agent as a presence genetic agent subscribed to the second presence user agent. Step, the presence server delivering status information of the second presence user agent to the first presence user agent, and the presence server of the first presence user agent stored in the database. Updating the subscription information for the second presence user agent; A control method of a presence server including a system is provided.
본 발명의 제 5 측면은 상태 정보 및 가입 정보를 저장하는 데이터 베이스를 포함하는 프리젠스 서버의 제어 방법에 있어서, 상기 프리젠스 서버가 제 2 프리젠 스 유저 에이전트의 상태 정보의 유효시간이 경과되었음을 감지하는 단계, 상기 프리젠스 서버가 상기 데이터 베이스로부터 상기 제 2 프리젠스 유저 에이전트에 가입된 프리젠스 유저 에이전트로 제 1 프리젠스 유저 에이전트가 있음을 읽는 단계, 상기 프리젠스 서버가 상기 제 1 프리젠스 유저 에이전트에게 상기 제 2 프리젠스 유저 에이전트가 오프라인임을 알리는 단계, 상기 프리젠스 서버가 상기 데이터 베이스에 저장된 상기 제 1 프리젠스 유저 에이전트의 상기 제 2 프리젠스 유저 에이전트에 대한 가입 정보를 갱신하는 단계, 및 상기 프리젠스 서버가 상기 데이터 베이스에 저장된 상기 제 2 프리젠스 유저 에이전트의 상태 정보를 갱신하는 단계를 포함하는 프리젠스 서버의 제어 방법을 제공한다. A fifth aspect of the present invention provides a method of controlling a presence server including a database storing state information and subscription information, wherein the presence server detects that the valid time of the state information of the second presence user agent has elapsed. And the presence server reading from the database that there is a first presence user agent as a presence user agent subscribed to the second presence user agent, wherein the presence server is responsible for the first presence user. Notifying an agent that the second presence user agent is offline, updating, by the presence server, subscription information for the second presence user agent of the first presence user agent stored in the database; The presence server stored in the database A method of controlling a presence server comprising updating status information of a second presence user agent.
본 발명의 제 6 측면은 상태 정보 및 가입 정보를 저장하는 데이터 베이스를 포함하는 프리젠스 서버의 제어 방법에 있어서, 상기 프리젠스 서버가 가입 유효시간이 경과되었음을 감지하는 단계, 상기 프리젠스 서버가 상기 데이터 베이스로부터 가입 유효기간이 경과된 유저 에이전트가 제 1 프리젠스 유저 에이전트임을 읽는 단계, 상기 프리젠스 서버가 상기 제 1 프리젠스 유저 에이전트에게 가입이 종료되었음을 알리는 단계, 및 상기 프리젠스 서버가 상기 데이터 베이스에 저장된 제 1 프리젠스 유저 에이전트의 가입 정보를 삭제하는 단계를 포함하는 프리젠스 서버의 제어 방법을 제공한다. According to a sixth aspect of the present invention, there is provided a method of controlling a presence server including a database storing state information and subscription information, wherein the presence server detects that a subscription valid time has elapsed. Reading from the database that the user agent whose subscription expiration date has passed is a first presence user agent, wherein the presence server notifies the first presence user agent that the subscription has ended, and the presence server provides the data It provides a control method of the presence server comprising the step of deleting the subscription information of the first presence user agent stored in the base.
본 발명의 제 7 측면은 상태 정보 및 가입 정보를 저장하는 데이터 베이스를 포함하는 프리젠스 서버의 제어 방법에 있어서, 상기 프리젠스 서버가 제 1 프리젠스 유저 에이전트에게 메시지를 소정 횟수를 반복하여 전달하였음에도 불구하고 확 인 응답를 받지 못하는 단계, 및 상기 프리젠스 서버가 상기 데이터 베이스에서 상기 제 1 프리젠스 유저 에이전트의 가입 정보를 삭제하는 단계를 포함하는 프리젠스 서버의 제어 방법을 제공한다. According to a seventh aspect of the present invention, in a method of controlling a presence server including a database storing state information and subscription information, the presence server repeatedly delivers a message to the first presence user agent a predetermined number of times. Nevertheless, receiving a confirmation response, and the presence server provides a control method of the presence server comprising the step of deleting the subscription information of the first presence user agent in the database.
이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 그러나, 본 발명의 실시예들은 여러가지 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 상술하는 실시예들로 인하여 한정되는 식으로 해석되어 져서는 안된다. 본 발명의 실시예들은 당업계에서 평균적 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해 제공되는 것이다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, embodiments of the present invention may be modified in various forms, and the scope of the present invention should not be construed as being limited by the embodiments described below. Embodiments of the present invention are provided to more fully explain the present invention to those skilled in the art.
도 1은 본 발명의 실시예에 의한 프리젠스 서버의 구조를 간략히 도시한 도면이다. 1 is a diagram schematically illustrating a structure of a presence server according to an embodiment of the present invention.
도 1을 참조하면, 프리젠스 서버(100)는 프리젠스 서버 프로세서(110)와 데이터베이스(120)를 포함한다. 프리젠스 서버 프로세서(110)는 프리젠스 유저 에이전트(200)와 SIP 기반의 통신을 수행한다. 또한, 프리젠스 서버 프로세서(110)는 상태 정보 뿐만 아니라, 가입 정보를 데이터베이스(120)에 저장하고, 이벤트 발생에 따라 해당 정보를 읽어 사용한다. 데이터베이스(120)는 상태 정보 및 가입 정보를 저장하는 기능을 수행한다. Referring to FIG. 1, the
프리젠스 서버 프로세서(110)는 이벤트 메니저(130)와 이벤트 핸들러(140)를 포함한다. 이벤트 메니저(130)는 사용자 정책 이벤트 메니저(131), 네트워크 이벤 트 메니저(132), 타임아웃 이벤트 메니저(133)을 포함하고, 이벤트 핸들러(140)는 사용자 정책 이벤트 핸들러(141), 네트워크 이벤트 핸들러(142), 타임아웃 이벤트 핸들러(143)를 포함한다. 프리젠스 서버 프로세서(110)의 이러한 구성은 물리적인 구성일 수도 있으나, 논리적인 구성 즉 하나의 프로세서가 수행하는 여러가지 기능으로 나누어진 구성일 수도 있다.The
사용자 정책 이벤트 메니저(131)는 특정 사용자의 상태정보를 입수하기 위한 가입 요청에 대하여 상기 특정 사용자의 상태정보 전달을 허락 또는 불허의 결정을 하는 이벤트를 탐지하여 사용자 정책 이벤트 핸들러(141)에게 해당 이벤트의 발생을 알린다. 사용자 정책 이벤트 핸들러(141)는 사용자 정책 이벤트가 발생되었을 경우 사용자 결정이 허락인지 불허인지에 따라 그에 맞는 동작을 수행한다.The user policy event manager 131 detects an event for allowing or disallowing the delivery of the specific information of the specific user with respect to the subscription request for obtaining the specific information of the specific user, and sends the event to the user
네트워크 이벤트 메니저(132)는 네트웍 상에서의 이벤트, 즉 SIP 메시지를 수신한 경우 발생되는 이벤트를 탐지하여 네트워크 이벤트 핸들러(142)에게 해당 이벤트의 발생을 알린다. 네트워크 이벤트 핸들러(142)는 네트워크 이벤트가 발생한 경우 SIP 메시지의 종류가 요구(Request)인지 응답(Response)인지를 판단하고, 그에 따른 처리를 수행한다.The
타임아웃 이벤트 메니저(133)는 데이터 베이스(120)내의 사용자 상태정보, 가입 정보가 타임아웃되었을 경우의 이벤트를 탐지하여 타임아웃 이벤트 핸들러(143)에게 해당 이벤트의 발생을 알린다. 타임아웃 이벤트 핸들러(143)는 타임아웃 이벤트가 발생한 경우에 타임아웃 이벤트가 가입 유효시간이 경과한 경우, 사용자 정보의 유효시간이 경과한 경우, 및 메시지를 전송하고 난 후 그에 따른 응답을 일정 시간이내에 수신하지 못하는 경우 중 어느 경우인지를 판단하고, 그에 따른 처리를 수행한다.The
도 2는 프리젠스 서버가 다운되거나 정전등으로 인해 재구동되었을 경우 이전의 상태를 복구하는 방법의 각 단계를 나타내는 도면이다. 2 is a diagram illustrating each step of a method of recovering a previous state when the presence server is down or restarted due to a power failure.
도 2를 참조하면, 먼저 프리젠스 서버(Presence Server)는 데이터베이스(database)에 기록된 마지막 접근 시간을 알아내어 현재 시간과의 차이를 계산하고, 데이터베이스에 기록된 가입 정보의 유효시간에서 위에서 계산된 시간 차이를 차감하여 유효한 프리젠스 유저 에이전트와 유효하지 않은 프리젠스 유저 에이전트를 구분한다(S11). 유효하지 않은 프리젠스 유저 에이전트, 즉 가입 정보의 유효시간이 초과된 프리젠스 유저 에이전트가 있는 경우, 프리젠스 서버는 해당 프리젠스 유저 에이전트(PUA1)에 'NOTIFY' 메시지를 송신하여 종료되었음을 알린다(S12). 해당 프리젠스 유저 에이전트(PUA1)로부터 수신 확인 메시지를 받으면(S13), 프리젠스 서버는 데이터베이스에 기록된 가입 정보를 삭제하고, 유효한 프리젠스 유저 에이전트(PUA2)의 가입 정보는 그대로 유지한다(S14).Referring to FIG. 2, first, the presence server finds the last access time recorded in the database, calculates a difference from the current time, and calculates the difference from the effective time of the subscription information recorded in the database. By subtracting the time difference, a valid presence user agent and an invalid presence user agent are distinguished (S11). If there is an invalid presence user agent, that is, a presence user agent whose subscription information has expired, the presence server notifies the presence user agent PUA1 that it has finished by notifying that it has finished (S12). ). When receiving a receipt confirmation message from the presence user agent PUA1 (S13), the presence server deletes the subscription information recorded in the database, and maintains the subscription information of the valid presence user agent PUA2 (S14). .
도 3은 사용자 정책 이벤트가 발생되고 사용자의 결정이 허락인 경우의 사용자 정책 이벤트의 발생과정 및 처리과정의 일례를 설명하기 위한 도면이다. 3 is a view for explaining an example of the generation and processing of the user policy event when the user policy event is generated and the decision of the user is allowed.
도 3을 참조하면, 먼저 제 1 프리젠스 유저 에이전트(PUA1)가 "SUBSCRIBE" 메시지를 전달하여 제 2 프리젠스 유저 에이전트(PUA2)의 상태 정보를 입수하기 위 한 가입을 요청한다(S21). 프리젠스 서버(Presence Server)는 제 2 프리젠스 유저 에이전트(PUA2)의 인가여부를 확인하기 위하여 내부 데이터베이스(database)를 탐색한다(S22). 데이터베이스에 제 2 프리젠스 유저 에이전트(PUA2)에 대한 인가 정책 정보가 없을 경우 제 1 프리젠스 유저 에이전트(PUA1)에게 인가 대기중이라는 "202(pending)" 응답을 전달한다(S23). 또한 프리젠스 서버는 제 1 프리젠스 유저 에이전트(PUA1)에게 "NOTIFY"를 전달하며 이때 제 2 프리젠스 유저 에이전트(PUA2)의 상태정보는 포함하고 있지 않는다(S24). 제 1 프리젠스 유저 에이전트(PUA1)는 "NOTIFY"에 대하여 수신 확인이라는 "200" 응답을 전달하여 해당 메시지를 잘 수신하였음을 알린다(S25). 프리젠스 서버는 데이터베이스에 가입에 관련된 정보를 저장한다(S26). 제 2 프리젠스 유저 에이전트(PUA2)로부터 제 1 프리젠스 유저 에이전트(PUA1)에 대한 인가를 허락하는 사용자 정책 이벤트가 발생할 경우(S27), 프리젠스 서버는 "NOTIFY"를 제 1 프리젠스 유저 에이전트(PUA1)에게 보낸다(S28). 이때 "NOTIFY"에는 제 2 프리젠스 유저 에이전트(PUA2)의 상태정보가 포함된다. 제 1 프리젠스 유저 에이전트(PUA1)가 수신확인이라는 "200" 응답을 보냄으로써 "NOTIFY"가 무사히 도착했음을 알린다(S29). "200" 응답을 받은 프리젠스 서버는 가입 정보를 데이터베이스에 갱신한다.Referring to FIG. 3, first, a first presence user agent PUA1 transmits a “SUBSCRIBE” message to request subscription to obtain status information of a second presence user agent PUA2 (S21). The presence server searches the internal database to confirm whether the second presence user agent PUA2 is authorized (S22). If there is no authorization policy information for the second presence user agent PUA2 in the database, a "202 (pending)" response indicating that authorization is pending is transmitted to the first presence user agent PUA1 (S23). In addition, the presence server transmits "NOTIFY" to the first presence user agent PUA1, and does not include the state information of the second presence user agent PUA2 (S24). The first presence user agent PUA1 transmits a "200" response of acknowledgment to "NOTIFY" to inform that it has received the message well (S25). The presence server stores information related to subscription in the database (S26). When a user policy event that allows authorization from the second presence user agent PUA2 to the first presence user agent PUA1 occurs (S27), the presence server sets "NOTIFY" to the first presence user agent ( PUA1) (S28). At this time, "NOTIFY" includes status information of the second presence user agent PUA2. The first presence user agent PUA1 sends a "200" response of acknowledgment to inform that "NOTIFY" has arrived safely (S29). The presence server receiving the response "200" updates the subscription information in the database.
도 4는 사용자 정책 이벤트가 발생되고 사용자의 결정이 불허인 경우의 사용자 정책 이벤트의 발생과정 및 처리과정의 일례를 설명하기 위한 도면이다. FIG. 4 is a diagram for explaining an example of a process and a process of generating a user policy event when a user policy event is generated and a decision of a user is not allowed.
도 4를 참조하면, 먼저 제 1 프리젠스 유저 에이전트(PUA1)가 "SUBSCRIBE"를 전달하여 제 2 프리젠스 유저 에이전트(PUA2)의 상태 정보를 입수하기 위한 가입을 요청한다(S31). 프리젠스 서버(Presence Server)는 해당 사용자의 인가여부를 확인하기 위하여 내부 데이터베이스(database)를 탐색한다(S32). 데이터베이스에 제 2 프리젠스 유저 에이전트(PUA2)에 대한 인가 정책 정보가 없을 경우 제 1 프리젠스 유저 에이전트(PUA1)에게 인가 대기중이라는 "202(pending)" 응답을 전달한다(S33). 또한 프리젠스 서버는 제 1 프리젠스 유저 에이전트(PUA1)에게 "NOTIFY"를 전달하며 이때 제 2 프리젠스 유저 에이전트(PUA2)의 상태정보는 포함하고 있지 않는다(S34). 제 1 프리젠스 유저 에이전트(PUA1)는 "NOTIFY"에 대하여 수신 확인이라는 "200" 응답을 전달하여 해당 메시지를 잘 수신하였음을 알린다(S35). 프리젠스 서버는 데이터베이스에 가입에 관련된 정보를 저장한다(S36). 제 2 프리젠스 유저 에이전트(PUA2)로부터 제 1 프리젠스 유저 에이전트(PUA1)에 대한 인가를 불허하는 사용자 정책 이벤트가 발생할 경우(S37), 프리젠스 서버는 가입(subscription)이 종료되었음을 알리는 "NOTIFY"를 제 1 프리젠스 서버(PUA1)에게 보낸다. 제 1 프리젠스 서버(PUA1)가 수신확인이라는 "200" 응답을 보냄으로써 "NOTIFY"가 무사히 도착했음을 알린다. "200" 응답을 받은 데이터베이스에 저장되어 있는 가입 정보를 삭제한다.Referring to FIG. 4, first, the first presence user agent PUA1 transmits “SUBSCRIBE” to request subscription to obtain status information of the second presence user agent PUA2 (S31). The presence server searches for an internal database in order to confirm whether the corresponding user is authorized (S32). If there is no authorization policy information for the second presence user agent PUA2 in the database, a "202 (pending)" response indicating that authorization is pending is transmitted to the first presence user agent PUA1 (S33). In addition, the presence server transmits "NOTIFY" to the first presence user agent PUA1, and does not include the state information of the second presence user agent PUA2 (S34). The first presence user agent PUA1 transmits a "200" response of acknowledgment to "NOTIFY" to inform that it has received the message well (S35). The presence server stores information related to subscription in the database (S36). When a user policy event disallowing authorization for the first presence user agent PUA1 from the second presence user agent PUA2 occurs (S37), the presence server notifies that the subscription has been terminated. Is sent to the first presence server PUA1. The first presence server PUA1 sends a "200" response of acknowledgment to inform that "NOTIFY" has arrived safely. Delete the subscription information stored in the database that received the response "200".
도 5는 네트워크 이벤트인 SIP 메시지가 수신된 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, 인가되지 않은 사용자로부터 가입요청인 "SUBSCRIBE" 메시지를 수신한 경우의 처리 절차를 나타내는 도면이다. FIG. 5 is a diagram illustrating an example of a procedure of receiving and processing an event when a SIP message, which is a network event, is received. FIG. 5 is a diagram illustrating a processing procedure when a "SUBSCRIBE" message, which is a subscription request, is received from an unauthorized user.
도 5를 참조하면, 먼저 제 1 프리젠스 유저 에이전트(PUA1)가 "SUBSCRIBE"를 전달하여 제 2 프리젠스 유저 에이전트(PUA2)의 상태 정보를 입수하기 위한 가입을 요청하는 네트워크 이벤트가 발생하면(S41), 프리젠스 서버(Presence Server)는 제 2 프리젠스 유저 에이전트(PUA2)의 인가여부를 확인하기 위하여 내부 데이터베이스(database)를 탐색한다(S42). 데이터베이스에 제 2 프리젠스 유저 에이전트(PUA2)에 대한 인가 정책 정보가 없을 경우 제 1 프리젠스 유저 에이전트(PUA1)에게 인가 대기중이라는 "202(pending)" 응답을 전달한다(S43). 또한 프리젠스 서버는 제 1 프리젠스 유저 에이전트(PUA1)에게 "NOTIFY"를 전달하며 이때 제 2 프리젠스 유저 에이전트(PUA2)의 상태정보는 포함하고 있지 않는다(S44). 제 1 프리젠스 유저 에이전트(PUA1)는 "NOTIFY"에 대하여 수신 확인이라는 "200" 응답을 전달하여 해당 메시지를 잘 수신하였음을 알린다(S45). 프리젠스 서버는 데이터베이스에 가입에 관련된 정보를 저장한다(S46). Referring to FIG. 5, when a first event user agent PUA1 delivers "SUBSCRIBE" to request a subscription to obtain status information of the second presence user agent PUA2 (S41). In step S42, the presence server searches an internal database to confirm whether the second presence user agent PUA2 is authorized. If there is no authorization policy information for the second presence user agent PUA2 in the database, a "202 (pending)" response waiting for authorization is transmitted to the first presence user agent PUA1 (S43). In addition, the presence server transmits "NOTIFY" to the first presence user agent PUA1, and does not include the state information of the second presence user agent PUA2 (S44). The first presence user agent PUA1 transmits a "200" response of acknowledgment to "NOTIFY" to inform that it has received the message well (S45). The presence server stores information related to subscription in the database (S46).
도 6은 네트워크 이벤트인 SIP 메시지가 수신된 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, 인가된 사용자로부터 가입요청인 "SUBSCRIBE" 메시지를 수신한 경우의 처리 절차를 나타내는 도면이다. FIG. 6 is a diagram illustrating an example of a procedure of receiving and processing an event when a SIP message, which is a network event, is received. FIG. 6 is a diagram illustrating a processing procedure when a "SUBSCRIBE" message, which is a subscription request, is received from an authorized user.
도 6을 참조하면, 먼저 제 2 프리젠스 유저 에이전트(PUA2)가 "SUBSCRIBE"를 전달하여 제 2 프리젠스 유저 에이전트(PUA2)의 상태 정보를 입수하기 위한 가입을 요청하는 네트워크 이벤트가 발생하면(S51). 프리젠스 서버(Presence Server)는 제 2 프리젠스 유저 에이전트(PUA2)의 인가여부를 확인하기 위하여 내부 데이터베이스 (database)를 탐색한다(S52). 데이터베이스에 제 2 프리젠스 유저 에이전트(PUA2)의 제 1 프리젠스 유저 에이전트(PUA1)에 대한 인가가 이미 이루어져 있는 경우, 프리젠스 서버는 제 1 프리젠스 유저 에이전트(PAU1)에게 인가 확인이라는 "200" 응답을 전달한다(S53). 프리젠스 서버는 "NOTIFY"라는 메시지에 제 2 프리젠스 유저 에이전트(PUA2)의 상태정보를 포함하여 제 1 프리젠스 유저 에이전트(PUA1)에게 전달한다(S54). 제 1 프리젠스 유저 에이전트(PUA1)는 "NOTIFY"에 대한 수신 확인이라는 "200" 응답을 전달하여 해당 메시지를 잘 수신하였음을 알린다(S55). 프리젠스 서버는 데이터베이스에 가입에 관련된 정보를 저장한다(S56).Referring to FIG. 6, first, when a second event user agent PUA2 delivers "SUBSCRIBE" and requests a subscription to obtain status information of the second presence user agent PUA2 (S51). ). The presence server searches the internal database to confirm whether the second presence user agent PUA2 is authorized (S52). If the database has already been authorized for the first presence user agent PUA1 of the second presence user agent PUA2, the presence server has given the first presence user agent PAU1 a "200". Pass the response (S53). The presence server transfers the state information of the second presence user agent PUA2 to the first presence user agent PUA1 in the message "NOTIFY" (S54). The first presence user agent PUA1 transmits a "200" response of acknowledgment of "NOTIFY" to inform that it has received the message well (S55). The presence server stores information related to subscription in the database (S56).
도 7은 네트워크 이벤트인 SIP 메시지가 수신된 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, 사용자 상태 정보를 전달하는 "PUBLISH"라는 메시지를 수신한 경우의 처리 절차를 나타내는 도면이다.FIG. 7 is a diagram illustrating an example of a procedure for receiving and processing an event when a SIP message, which is a network event, is received. FIG. 7 is a diagram illustrating a processing procedure when a message “PUBLISH” for transmitting user status information is received.
도 7을 참조하면, 먼저 제 2 프리젠스 유저 에이전트(PUA2)가 프리젠스 서버(Presence Server)에 "PUBLISH" 메시지를 통해 상태 정보를 전달하는 이벤트가 발생하면(S61), 프리젠스 서버는 전달받은 상태 정보를 데이터베이스(database)에 기록한다(S62). 프리젠스 서버는 제 2 프리젠스 유저 에이전트(PAU2)에 수신 확인이라는 "200" 응답을 보내 "PUBLISH"에 대한 처리가 끝났음을 알린다(S63). 제 2 프리젠스 유저 에이전트(PUA2)에 관련된 가입(Subscription) 정보들을 모두 가져온다(S64). 이 실시예에서는 2개가 존재한다. 각 가입에 대하여 변경된 사용자 상태정보가 포함된 "NOTIFY" 메시지를 전달한다. 즉, 제 3 프리젠스 유저 에이전트(PUA3) 에게 "NOTIFY" 메시지를 보내고(S65), 수신확인이라는 "200" 응답을 받는다(S66). 갱신된 가입 정보를 데이터베이스에 저장한다(S67). 제 1 프리젠스 유저 에이전트(PUA1)에게 "NOTIFY" 메시지를 보내고(S68), 수신확인이라는 "200" 응답을 받는다(S69). 갱신된 가입 정보를 데이터베이스에 저장한다(S70).Referring to FIG. 7, first, when an event for delivering status information to a presence server through a "PUBLISH" message occurs at the second presence user agent PUA2 (S61), the presence server receives the received message. The state information is recorded in the database (S62). The presence server sends a "200" response of acknowledgment to the second presence user agent PAU2 to inform that the processing for "PUBLISH" is completed (S63). All subscription information related to the second presence user agent PUA2 is retrieved (S64). There are two in this embodiment. For each subscription, it sends a "NOTIFY" message that contains the changed user status information. That is, it sends a "NOTIFY" message to the third presence user agent PUA3 (S65), and receives a "200" response of acknowledgment (S66). The updated subscription information is stored in the database (S67). A message “NOTIFY” is sent to the first presence user agent PUA1 (S68), and a “200” response of acknowledgment is received (S69). The updated subscription information is stored in the database (S70).
도 8은 네트워크 이벤트인 SIP 메시지가 수신된 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, "NOTIFY"가 성공적으로 전달 및 처리되었음을 의미하는 "200" 응답(Response)을 수신한 경우의 처리 절차를 나타내는 도면이다.FIG. 8 is a diagram illustrating an example of a procedure for receiving and processing an event when a SIP message, which is a network event, is received. In case of receiving a “200” response indicating that “NOTIFY” has been successfully delivered and processed. It is a figure which shows a processing procedure.
도 8을 참조하면, 프리젠스 서버(Presence Server)는 제 1 프리젠스 유저 에이전트(PUA1)에 "NOTIFY"를 송신한다(S71). 프리젠스 서버가 제 1 프리젠스 유저 에이전트(PUA1)로부터 수신 확인이라는 "200" 응답을 받는 이벤트가 발생하면(S72), 프리젠스 서버는 관련된 가입 정보를 데이터베이스(database)에서 가져온다(S73). 프리젠스 서버는 업데이트된 가입 정보를 데이터베이스에 갱신한다(S74).Referring to FIG. 8, the presence server transmits "NOTIFY" to the first presence user agent PUA1 (S71). When the presence server receives an "200" response of acknowledgment from the first presence user agent PUA1 (S72), the presence server obtains related subscription information from the database (S73). The presence server updates the updated subscription information in the database (S74).
도 9는 네트워크 이벤트인 SIP 메시지가 수신된 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, "200" 응답(Response)이 아닌 경우의 처리 절차를 나타내는 도면이다. FIG. 9 is a diagram illustrating an example of a procedure of receiving and processing an event when a SIP message, which is a network event, is received. FIG.
도 9를 참조하면, 프리젠스 서버(Presence Server)는 제 1 프리젠스 유저 에이전트(PUA1)에 "NOTIFY"를 송신한다(S81). 프리젠스 서버가 제 1 프리젠스 유저 에이전트(PUA1)로부터 "200" 이외의 응답을 받는 이벤트가 발생하면(S82), 관련된 가입 정보를 데이터베이스(database)에서 가져온다(S83). 관련된 가입 정보를 데이터베이스에서 삭제한다(S84).Referring to FIG. 9, the presence server transmits "NOTIFY" to the first presence user agent PUA1 (S81). When the presence server receives an event other than "200" from the first presence user agent PUA1 (S82), related subscription information is retrieved from the database (S83). The associated subscription information is deleted from the database (S84).
도 10은 타임아웃 이벤트가 발생한 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, 상태정보가 유효시간이 경과하여 삭제된 경우의 처리 절차를 나타내는 도면이다. FIG. 10 is a diagram illustrating an example of a procedure for receiving and processing an event when a timeout event occurs. FIG. 10 is a diagram illustrating a procedure when a state information is deleted after an effective time elapses.
도 10을 참조하면, 제 2 프리젠스 유저 에이전트(PUA2)의 상태정보가 유효시간이 경과하였다는 타임아웃 이벤트가 발생하면 이를 감지한다(S91). 프리젠스 서버(Presence Server)는 관련된 가입 정보를 데이터베이스(database)에서 가져온다. 각 프리젠스 서버(Presence Server)는 각 가입된 프리젠스 유저 에이전트들(PUA1, PUA3)에게 "NOTIFY" 메시지를 보내 타임아웃된 사용자의 정보가 더 이상 유효하지 않거나, 오프라인(offline)이 되었음을 알린다(S93, S96). 각 가입된 프리젠스 유저 에이전트들(PUA1, PUA3)로부터 수신확인이라는 "200" 응답을 수신한다(S94, S97). "200" 응답을 받으면 데이터베이스에 기록된 가입 정보를 업데이트한다(S95, S98). 데이터베이스에 기록된 상태 정보도 업데이트한다(S99).Referring to FIG. 10, if a timeout event that the validity time of the state information of the second presence user agent PUA2 has elapsed is detected, it is detected (S91). The presence server pulls related subscription information from a database. Each presence server sends a " NOTIFY " message to each subscribed presence user agents PUA1 and PUA3 to indicate that the information of the timed out user is no longer valid or offline. S93, S96). Receive a "200" response of acknowledgment from each subscribed presence user agents PUA1 and PUA3 (S94 and S97). When receiving a "200" response, the subscription information recorded in the database is updated (S95 and S98). The state information recorded in the database is also updated (S99).
도 11은 타임아웃 이벤트가 발생한 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, 가입 트랜잭션의 유효시간이 경과한 경우의 처리 절차를 나타내는 도면이다. FIG. 11 is a diagram illustrating an example of a procedure for receiving and processing an event when a timeout event occurs. FIG.
도 11을 참조하면, 가입 트랜잭션의 타임아웃 이벤트가 발생하며, 이를 감지한다(S101). 프리젠스 서버(Presence Server)는 관련된 가입 정보를 데이터베이스(database)에서 가져온다(S102). 해당 프리젠스 유저 에이전트(PUA1)에게 가입이 종료되었음을 알리는 "NOTIFY" 메시지를 전송한다(S103). 해당 프리젠스 유저 에이전트로부터 "200" 응답을 수신한다(S104). "200" 응답을 받으면 데이터베이스에 기록된 가입 정보를 삭제한다(S105).Referring to FIG. 11, a timeout event of a subscription transaction occurs and is detected (S101). The presence server obtains related subscription information from a database (S102). In operation S103, the presence user agent PUA1 transmits a "NOTIFY" message indicating that the subscription is terminated. In step S104, a response “200” is received from the presence user agent. When receiving the "200" response, the subscription information recorded in the database is deleted (S105).
도 12는 타임아웃 이벤트가 발생한 경우 이벤트를 전달받아 처리하는 절차의 일례를 나타내는 도면으로써, 프리젠스 서버가 "NOTIFY"를 송신하였으나 프리젠스 유저 에이전트로부터 "200" 응답을 수신하지 못한 경우의 처리 절차를 나타내는 도면이다. 12 is a diagram illustrating an example of a procedure for receiving and processing an event when a timeout event occurs, and a processing procedure when the presence server transmits "NOTIFY" but does not receive a "200" response from the presence user agent. It is a figure which shows.
도 12를 참조하면, 프리젠스 서버(Presence Server)의 재전송 횟수가 소정 횟수를 넘어갈때까지 200응답을 받지 못하게 되면(S111) 해당 프리젠스 유저 에이전트(PUA1)에 대한 타임아웃 이벤트(TimeoutEvent)가 발생을 하게 되며, 서버는 그 가입 정보를 삭제한다(S112).Referring to FIG. 12, when a 200 response is not received until the number of retransmissions of the presence server exceeds a predetermined number (S111), a timeout event for the corresponding presence user agent PUA1 occurs. The server deletes the subscription information (S112).
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 변형예가 가능함을 이해할 수 있을 것이다.Although the technical spirit of the present invention has been described in detail according to the above preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, it will be understood by those skilled in the art that various modifications are possible within the scope of the technical idea of the present invention.
본 발명에 의한 SIP 기반의 프리젠스 서버 및 그 제어 방법은 트랜잭션 정보 및 가입 정보를 별도의 데이터베이스 서버에 저장 및 관리함으로써, 서버의 성능과 안정성을 향상시킬 수 있다는 효과가 있다. The SIP-based presence server and its control method according to the present invention have the effect of improving the performance and stability of the server by storing and managing transaction information and subscription information in a separate database server.
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040109044A KR100634209B1 (en) | 2004-12-20 | 2004-12-20 | SPI-based presence server and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040109044A KR100634209B1 (en) | 2004-12-20 | 2004-12-20 | SPI-based presence server and control method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060070339A KR20060070339A (en) | 2006-06-23 |
KR100634209B1 true KR100634209B1 (en) | 2006-10-16 |
Family
ID=37164098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040109044A KR100634209B1 (en) | 2004-12-20 | 2004-12-20 | SPI-based presence server and control method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100634209B1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080108048A (en) * | 2007-06-08 | 2008-12-11 | 삼성전자주식회사 | Method and system for content level reactive authorization |
KR101492627B1 (en) * | 2008-01-28 | 2015-02-16 | 삼성전자주식회사 | System and method for presence subscirption delegation |
KR101065538B1 (en) * | 2009-09-09 | 2011-09-19 | 주식회사 엘지유플러스 | Instant message service providing system and control method thereof, mobile communication terminal for instant message communication through instant message service providing system and control method thereof |
CN110198351A (en) * | 2019-05-29 | 2019-09-03 | 深圳前海微众银行股份有限公司 | Storage method, device, server-side and the readable storage medium storing program for executing of offline message |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040128391A1 (en) | 2002-12-31 | 2004-07-01 | Robert Patzer | Method and system for managing a validity period in association with a presence attribute |
-
2004
- 2004-12-20 KR KR1020040109044A patent/KR100634209B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040128391A1 (en) | 2002-12-31 | 2004-07-01 | Robert Patzer | Method and system for managing a validity period in association with a presence attribute |
Also Published As
Publication number | Publication date |
---|---|
KR20060070339A (en) | 2006-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8060622B2 (en) | System and method for session reestablishment between client terminal and server | |
US7552204B2 (en) | Method and system for supporting the communication of presence information among computing devices of a network | |
US8396972B2 (en) | Session control apparatus, software applied to session control apparatus, communication control method, and network system | |
EP1882348B1 (en) | System and method for providing interactive communications | |
US7650384B2 (en) | Maintaining real-time conversations over unreliable connections | |
WO2004059946A1 (en) | Transmission of application information and commands using presence technology | |
US8315247B2 (en) | System and method for providing registration-coupled subscriptions in a session initiation protocol (SIP) environment | |
KR101075855B1 (en) | Pulling information from information souces via refer requests | |
JP4939450B2 (en) | COMMUNICATION SYSTEM, AUTHENTICATION METHOD, AND WEB SERVICE PROVIDING METHOD | |
EP2178247B1 (en) | Sharing status information across a pluarlity of communication networks | |
US7536481B2 (en) | Method and system for re-synchronizing end points when an intermediary detects that the end points may be unsynchronized | |
KR100634209B1 (en) | SPI-based presence server and control method thereof | |
US20040203432A1 (en) | Communication system | |
US7606904B2 (en) | Sending inter-server notifications using an out-of-band communications protocol | |
EP2218243B1 (en) | A method of reducing size of presence messages | |
EP2064864B1 (en) | Remote monitoring of phone calls | |
KR101455196B1 (en) | IMS-based presence service interworking system and method | |
CN100586110C (en) | Method, system and network device for routing a message to a temporarily unavailable network user |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20041220 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20060426 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20060928 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20061009 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20061010 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20091001 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20101001 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20110929 Start annual number: 6 End annual number: 6 |
|
FPAY | Annual fee payment |
Payment date: 20120928 Year of fee payment: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20120928 Start annual number: 7 End annual number: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130923 Year of fee payment: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20130923 Start annual number: 8 End annual number: 8 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20150909 |