KR101108776B1 - METHOD FOR delivering Message based on CPM service and server thereof - Google Patents
METHOD FOR delivering Message based on CPM service and server thereof Download PDFInfo
- Publication number
- KR101108776B1 KR101108776B1 KR1020100002950A KR20100002950A KR101108776B1 KR 101108776 B1 KR101108776 B1 KR 101108776B1 KR 1020100002950 A KR1020100002950 A KR 1020100002950A KR 20100002950 A KR20100002950 A KR 20100002950A KR 101108776 B1 KR101108776 B1 KR 101108776B1
- Authority
- KR
- South Korea
- Prior art keywords
- message
- cpm
- server
- terminal
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C19/00—Electric signal transmission systems
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B25/00—Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
- G08B25/14—Central alarm receiver or annunciator arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
- H04N23/661—Transmitting camera control signals through networks, e.g. control via the Internet
Abstract
본 발명은 CPM(Converged IP Messaging) 서버에서의 메시지 전달 방법을 제공한다. 상기 메시지 전달 방법은 소스 단말로부터 수신된 메시지를 전달할지 여부를 결정하는 단계와; 상기 메시지를 전달하는 것으로 결정하는 경우, 사용자 설정 또는 정책에 기초하여, 상기 메시지를 메시지 저장 서버에 저장할지 여부를 결정하는 단계와; 상기 메시지를 저장하는 경우 상기 메시지 저장 서버에 상기 메시지를 저장 요청하는 단계와; 상기 메시지 저장 서버로부터 상기 저장된 메시지에 대한 정보를 포함하는 응답 메시지를 수신하는 단계와; 상기 사용자 설정 또는 정책에 기초하여, 수신자의 단말들 중 상기 소스 단말로부터의 메시지를 수신할 수 있는 하나 이상의 단말이 존재하는지 확인하는 단계와; 상기 정보를 포함하는 메시지를 상기 수신자의 단말들 중 상기 확인의 결과에 따른 적어도 하나의 단말로 전송하는 단계를 포함할 수 있다.The present invention provides a message delivery method in a converged IP messaging (CPM) server. The message delivery method includes determining whether to forward a message received from a source terminal; When determining to forward the message, determining whether to store the message on a message storage server based on user settings or policies; Requesting the message storage server to store the message when storing the message; Receiving a response message including information on the stored message from the message storage server; Checking whether there is at least one terminal among terminals of a receiver capable of receiving a message from the source terminal based on the user setting or policy; The method may include transmitting a message including the information to at least one terminal of the receiver according to a result of the checking.
Description
본 발명은 CPM(Converged IP Messaging) 서비스에 관한 것이다.The present invention relates to a converged IP messaging (CPM) service.
오늘날 휴대 기기를 통해 메시지를 송수신할 수 있는 다양한 서비스, 예컨대 SMS, MMS, email 서비스 등이 있다.Today there are various services that can send and receive messages through mobile devices, such as SMS, MMS and email services.
그러나 이와 같이 메시지를 송수신할 수 있는 서비스들이 다양하게 존재하여, 최근에는 상기 서비스들을 통합하려는 시도들이 있었다. 상기 시도들 중에는 CPM(Converged IP Messaging) 서비스가 있다.However, there are various services that can send and receive messages as described above. Recently, there have been attempts to integrate the services. Among these attempts is the Converged IP Messaging (CPM) service.
상기 CPM 서비스는 IMS(IP Multimedia Subsystem) 환경에 사용자가 CPM 메시지를 주고 받을 수 있는 서비스이다. 상기 CPM에서는 페이저 모드 메시지(Pager mode message)와 세션 모드 메시지(Session mode message) 환경을 지원한다. 또한, 상기 CPM 서비스에서는 비연속 미디어(discrete media) 뿐 아니라 연속 미디어(continuous media)도 지원한다. The CPM service is a service that allows a user to send and receive a CPM message in an IMS (IP Multimedia Subsystem) environment. The CPM supports a pager mode message and a session mode message environment. In addition, the CPM service supports not only discrete media but also continuous media.
도 1은 CPM 서비스를 위한 네트워크 및 단말의 구성을 나타낸 블록도이다.1 is a block diagram showing the configuration of a network and a terminal for a CPM service.
도 1을 참조하면, 단말(10)과, SIP/IP 네트워크(50)와, 메시지 저장 서버(60)와 인터워킹 서버(70)와, CPM 서버(80)가 나타나 있다.Referring to FIG. 1, there is shown a
먼저, 상기 단말(10)은 메시지 저장 클라이언트(Message Storage Client)(11)과 CPM 클라이언트(12)를 포함한다. 상기 메시지 저장 클라이언트(11)는 송수신되는 메시지를 저장하며, 상기 저장된 메시지를 상기 메시지 저장 서버(60)와 동기화한다.First, the
상기 SIP/IP 네트워크(50)는 IMS 기반의 네트워크일 수 있다.The SIP /
상기 메시지 저장 서버(60)는 상기 CPM 서버(80)로부터 메시지를 수신하고, 사용자의 선호도에 따라서, 송수신되는 메시지, 미디어와 대화 정보(Conversation History)를 저장하는 역할을 담당한다. 그리고, 상기 메시지 저장 서버(60)는 상기 단말(10)과 동기화를 통해 데이터를 공유할 수 있다. 즉, 상기 메시지 저장 서버(60)는 상기 단말(10)에 저장되어 있는 메시지를 수신하여 저장하고, 상기 메시지 저장 서버(60) 내에 저장되어 있는 메시지를 상기 단말(10)에 전달한다. The
이와 같은 상기 메시지 저장 서버(60)는 상기 동기화를 위해 IMAP 프로토콜을 사용한다. 따라서, 상기 메시지 저장 서버(60)는 IMAP 서버의 역할을 담당하고, 상기 단말(10)은 IMAP 클라이언트로 동작한다. This
상기 인터워킹 서버(70)는 인터워킹 기능부(71)와 인터워킹 선택 기능부(72)를 포함한다. 상기 인터워킹 기능부(71)는 CPM 메시지를 SMS, MMS 등으로 변환하거나, SMS, MMS 등을 CPM 메시지로 변환하는 역할을 담당한다. 상기 인터워킹 선택 기능부(72)는 상기 변환 여부를 결정하는 역할을 담당한다.The
상기 CPM 서버(80)는 CPM PF 서버(CMP Participating Function Server) (81)와, CPM CF 서버(CPM Controlling Function Server)(82)를 포함한다. 상기 CPM PF 서버(81)는 상기 메시지 저장 서버(60)로 메시지를 전달한다. 또한, 상기 CPM PF 서버(81)는 상기 단말(10)의 CPM 클라이언트(12)와 메시지를 송수신한다. The
도 2은 CPM 메시지의 송수신 과정을 나타낸 예시도이다.2 is an exemplary diagram illustrating a process of transmitting and receiving a CPM message.
도 2를 참조하여 알 수 있는 바와 같이, 사용자 A의 단말A1(10A)과, 사용자 B의 단말B1 및 단말B2(10B)과, 상기 사용자 A의 홈네트워크, 상기 사용자 B의 홈네트워크, 그리고 메시지 저장 서버(60)가 나타나 있다. 상기 사용자 A의 홈네트워크는 SIP/IP 네트워크(50A)와 CPM PF 서버(81A)를 포함한다. 상기 사용자 B의 홈네트워크는 SIP/IP 네트워크(50B)와 CPM PF 서버(81B)를 포함한다. As can be seen with reference to Figure 2, the terminal A1 (10A) of the user A, the terminal B1 and terminal B2 (10B) of the user B, the home network of the user A, the home network of the user B, and the
먼저, 상기 사용자 A의 요청에 따라 상기 단말 A1(10A)는 CPM 메시지를 상기 SIP/IP 네트워크(50A)를 통하여 상기 CPM PF 서버(81A)로 전송한다(S01, S02). 상기 CPM PF 서버(81A)는 상기 CPM 메시지를 상기 사용자 A의 홈네트워크 내의 상기 SIP/IP 네트워크(50A) 및 사용자 B의 홈네트워크 내의 SIP/IP 네트워크(50B)를 통하여, 상기 CPM PF 서버(81B)로 전송한다(S03, S04, S05).First, at the request of the user A, the
상기 CPM PF 서버(81B)는 상기 CPM 메시지를 수신하면, 상기 SIP/IP 네트워크(50B)를 통하여, 상기 사용자 B의 단말B1(10B)로 전송한다(S06, S07).When receiving the CPM message, the
또한, 상기 CPM PF 서버(81B)는 상기 CPM 메시지를 수신하면, 상기 SIP/IP 네트워크(50B)를 통하여, 상기 사용자 B의 단말B2(10B)로 전송한다(S08, S09).In addition, when the
상기 사용자 B의 단말B1(10B) 및 단말B2(10B)는 각기 OK 메시지를 상기 사용자 B의 홈네트워크 내의 상기 SIP/IP 네트워크(81B)를 통해 상기 CPM PF 서버(81B)로 전송한다(S10, S11).The terminal B1 (10B) and the terminal B2 (10B) of the user B respectively transmits an OK message to the
상기 CPM PF 서버(81B)는 상기 OK 메시지를 수신하면, 상기 사용자 B의 홈네트워크 내의 상기 SIP/IP 네트워크(50B) 및 상기 사용자 A의 홈네트워크 내의 상기 SIP/IP 네트워크(50A)를 통하여, 상기 사용자A의 CPM PF 서버(81A)로 전송한다(S12~S15). The
상기 사용자 A의 홈네트워크 내의 상기 CPM PF 서버(81A)가 상기 OK 메시지를 수신하면, 상기 CPM 메시지를 송신하였던 상기 단말A1(10A)로 상기 OK 메시지를 전달한다(S16).When the
이상에서는 CPM 메시지의 전달 과정을 나타내었다. 이하에서는 상기 송수신되는 메시지가 상기 메시지 저장 서버(60)에 저장되는 예를 살펴보기로 한다.The above shows the delivery process of the CPM message. Hereinafter, an example in which the transmitted and received messages are stored in the
도 3은 도 1에 도시된 메시지 저장 서버의 동작과 메시지의 동기화 과정을 나타낸 흐름도이다.3 is a flowchart illustrating an operation of a message storage server illustrated in FIG. 1 and a synchronization process of a message.
도 3에 도시된 S21~S25과정들은 도 1에 도시된 S01~05과정들과 동일하므로, 도 1의 내용을 준용하기로 한다.Processes S21 to S25 illustrated in FIG. 3 are the same as processes S01 to 05 illustrated in FIG. 1, and thus the contents of FIG.
상기 사용자 B의 홈네트워크 내의 CPM PF 서버(81B)가 상기 단말(A1)에 의한 CPM 메시지를 수신하면, 상기 CPM 메시지를 상기 메시지 저장 서버(60) 내에 저장하고 전달할지 여부를 상기 사용자 B의 가입자 정보를 기초로 결정한다(S26).When the
상기 CPM 메시지를 저장하고 전달하는 것으로 결정하는 경우, 상기 CPM PF 서버(81B)는 상기 CPM 메시지를 상기 메시지 저장 서버(60)에 전송한다(S27). When determining to store and forward the CPM message, the
상기 메시지 저장 서버(60)는 상기 수신한 CPM 메시지를 저장하고(S28), OK 메시지를 상기 CPM PF 서버(81B)로 전송한다(S29). 이때, 상기 메시지 저장 서버(60) 내에는 1번 메시지, 2번 메시지가 기존에 존재하였고, 상기 1번 메시지 및 2번 메시지는 이전에 상기 단말B1(10B)와 동기화되었다고 가정한다. 그리고, 상기 수신된 CPM 메시지가 상기 단말B1(10B)과 동기되지 않았음을 나타내는 식별자가 상기 메시지 저장 서버(60) 내에 저장된다The
상기 CPM PF 서버(81B)는 상기 CPM 메시지를 상기 SIP/IP 네트워크(50B)를 통하여, 상기 단말B1(10B)으로 전송한다(S30). The
상기 단말B1(10B)가 상기 CPM 메시지를 수신하면, 상기 CPM 메시지를 메시지 저장 클라이언트 내에 저장한다(S31). 이때, 상기 단말B1(10B) 내에는 1번 메시지, 2번 메시지가 기존에 존재하였고, 상기 1번 메시지 및 2번 메시지는 이전에 상기 메시지 저장 서버(60)와 동기화되었다고 가정한다. 그리고, 상기 수신된 CPM 메시지가 상기 메시지 저장 서버(60)와 동기되지 않았음을 나타내는 식별자가 상기 단말B1(10B) 내에 저장된다.When the
그리고, 상기 단말B1(10B)은 OK 메시지를 상기 사용자 B의 홈네트워크 내의 상기 SIP/IP 네트워크(81B)를 통해 상기 CPM PF 서버(81B)로 전송한다(S32).In addition, the
상기 CPM PF 서버(81B)는 상기 OK 메시지를 수신하면, 상기 사용자 B의 홈네트워크 내의 상기 SIP/IP 네트워크(50B) 및 상기 사용자 A의 홈네트워크 내의 상기 SIP/IP 네트워크(50A)를 통하여, 상기 사용자A의 CPM PF 서버(81A)로 전송한다(S33~S35). The
상기 사용자 A의 홈네트워크 내의 상기 CPM PF 서버(81A)가 상기 OK 메시지를 수신하면, 상기 CPM 메시지를 송신하였던 상기 단말A1(10A)로 상기 OK 메시지를 전달한다(S36).When the
한편, 상기 단말B1(10B)는 상기 메시지 저장 서버(60)와 동기화를 하기 위해, 동기화 요청 메시지를 상기 메시지 저장 서버(60)로 전송한다(S37).Meanwhile, in order to synchronize with the
그러면, 상기 메시지 저장 서버(60)는 상기 단말B1(10B)과 동기되지 않은 메시지가 있는지 확인한다. 이때, 상기 식별자에 의해 상기 새로이 저장된 CPM 메시지가 동기되지 않은 것으로 확인되면, 상기 새로운 메시지가 존재한다는 것을 상기 단말B1(10B)으로 통지한다(S38). Then, the
상기 단말(B1)은 상기 통지를 바탕으로 미수신 메시지가 존재하는 것을 확인하면(S39), 상기 메시지 저장 서버(60)로 상기 미수신 메시지를 요청한다(S40). When the terminal B1 determines that an unreceived message exists based on the notification (S39), the terminal B1 requests the unreceived message to the message storage server 60 (S40).
상기 메시지 저장 서버(60)는 상기 CPM 메시지를 상기 단말B1(10B)으로 전송한다(S41). 그러나, 상기 CPM 메시지는 상기 단말B1(10B)이 상기 S30과정에서 이미 수신하였던 것인 바, 상기 단말B1(10B)는 동일한 CPM 메시지를 중복하여 수신하게 된다.The
한편, 상기 단말B1(10B)는 상기 S31과정에서 저장된 메시지를 상기 식별자에 의해 아직 동기되지 않은 것으로 확인하면, 미전송한 메시지가 존재하는 것으로 판단하고(S42), 상기 CPM 메시지를 상기 메시지 저장 서버(60)로 전송한다(S43).On the other hand, if the terminal B1 (10B) confirms that the message stored in the step S31 is not yet synchronized by the identifier, it is determined that there is an untransmitted message (S42), and the CPM message to the message storage server Transmit to 60 (S43).
그러나, 상기 CPM 메시지는 상기 메시지 저장 서버(60)이 상기 S27과정에서 이미 수신하였던 것인 바, 동일한 CPM 메시지를 중복하여 수신하게 된다. However, since the CPM message is already received by the
이상에서 설명한 바와 같이, 메시지 저장 서버(60)는 송수신되는 메시지의 저장기능을 제공하고, 메시지의 동기화 기능을 제공하나, 동일 메시지가 중복하여 전달되고 저장되는 기술적인 문제점을 가지고 있다.As described above, the
또한, 이와 같이 동일한 메시지가 중복되어 송수신됨으로써, 네트워크 리소스가 낭비되는 문제점이 있다. 일반적으로 1명의 사용자는 하루 평균 10개 안밖의 메시지를 송수신하는 것으로 알려져 있다. 따라서 네트워크 내에 100명의 사용자가 있다면, 중복 송수신되는 메시지로 인해 네트워크 리소스의 낭비 문제는 매우 심각해질 수 있다.In addition, there is a problem in that network resources are wasted by overlapping and transmitting the same message. In general, one user is known to send and receive an average of about 10 messages per day. Therefore, if there are 100 users in the network, the problem of wasting network resources can be very serious due to duplicate messages.
또한, 단말(10)은 일반적으로 휴대 가능한 장치로서, 그 메모리 크기가 제한되어 있는데, 상기 중복적인 메시지의 저장으로 인하여 메모리를 낭비하는 문제점이 있다. 특히, 일반적으로 사용자는 하루 평균 10개 안밖의 메시지를 송수신하는 것으로 알려져 있다. 그러나 이와 같은 중복 저장으로 인하여 사용자의 단말 기 내에는 다수의 불필요한 메시지가 저장되고, 또한 저장 공간의 부족을 가속시키고, 사용자로 하여금 빈번히 메시지를 지우도록 하는 불편함을 초래한다.In addition, the terminal 10 is generally a portable device, the memory size is limited, there is a problem that wastes the memory due to the storage of the redundant message. In particular, users are generally known to send and receive about 10 messages per day. However, due to such redundant storage, a large number of unnecessary messages are stored in the user's terminal device, which also accelerates the lack of storage space and causes inconvenience to the user frequently deleting the message.
따라서, 본 발명의 목적은 전술한 문제점을 해결하는 데에 있다. Accordingly, an object of the present invention is to solve the above problems.
즉, 본 발명의 목적은 메시지가 중복 송수신 및 저장되지 않도록 함으로써, 네트워크 리소스를 효율적으로 사용할 수 있도록 함에 있다.That is, an object of the present invention is to enable efficient use of network resources by avoiding redundant transmission and reception and storage of messages.
또한, 본 발명의 목적은 메시지가 중복 저장되지 않도록 함으로써, 단말기 내의 메모리를 효율적으로 사용할 수 있도록 함에 있다.In addition, an object of the present invention is to ensure that the memory in the terminal can be used efficiently by avoiding redundant storage of messages.
상기와 같은 목적을 달성하기 위하여 본 발명은 CPM(Converged IP Messaging) 서버를 제공한다. 상기 서버는 사용자 설정에 기초하여 소스 단말로부터의 메시지를 수신할 수 있는 등록된 타겟 단말들을 확인하고, 상기 사용자 설정에 기초하여 소스 단말로부터의 메시지를 상기 확인된 타겟 단말로 전달할지를 결정하고, 상기 메시지를 전달하는 것으로 결정하는 경우 상기 사용자 설정에 기초하여, 상기 메시지를 메시지 저장 서버에 저장할지 여부를 결정하는 프로세서와; 상기 메시지를 저장하는 것으로 결정되는 경우, 상기 메시지 저장 서버에 상기 메시지의 저장 요청하고, 상기 메시지 저장 서버로부터 상기 저장된 메시지에 대한 정보를 포함하는 응답 메시지를 수신하면, 상기 정보를 상기 메시지에 포함시켜 상기 타겟 단말로 전송하는 송수신부를 포함할 수 있다.In order to achieve the above object, the present invention provides a Converged IP Messaging (CPM) server. The server identifies registered target terminals capable of receiving a message from a source terminal based on a user setting, determines whether to deliver a message from the source terminal to the identified target terminal based on the user setting, and A processor for determining whether to store the message in a message storage server based on the user setting when determining to forward the message; If it is determined that the message is to be stored, requesting the message storage server to store the message, and if a response message including information about the stored message is received from the message storage server, the message is included in the message. It may include a transceiver for transmitting to the target terminal.
한편, 상기와 같은 목적을 달성하기 위하여 본 발명은 CPM(Converged IP Messaging) 서버에서의 메시지 전달 방법을 제공한다.Meanwhile, in order to achieve the above object, the present invention provides a message delivery method in a converged IP messaging (CPM) server.
상기 메시지 전달 방법은 소스 단말로부터 수신된 메시지를 전달할지 여부를 결정하는 단계와; 상기 메시지를 전달하는 것으로 결정하는 경우, 사용자 설정 또는 정책에 기초하여, 상기 메시지를 메시지 저장 서버에 저장할지 여부를 결정하는 단계와; 상기 메시지를 저장하는 경우 상기 메시지 저장 서버에 상기 메시지를 저장 요청하는 단계와; 상기 메시지 저장 서버로부터 상기 저장된 메시지에 대한 정보를 포함하는 응답 메시지를 수신하는 단계와; 상기 사용자 설정 또는 정책에 기초하여, 수신자의 단말들 중 상기 소스 단말로부터의 메시지를 수신할 수 있는 하나 이상의 단말이 존재하는지 확인하는 단계와; 상기 정보를 포함하는 메시지를 상기 수신자의 단말들 중 상기 확인의 결과에 따른 적어도 하나의 단말로 전송하는 단계를 포함할 수 있다.The message delivery method includes determining whether to forward a message received from a source terminal; When determining to forward the message, determining whether to store the message on a message storage server based on user settings or policies; Requesting the message storage server to store the message when storing the message; Receiving a response message including information on the stored message from the message storage server; Checking whether there is at least one terminal among terminals of a receiver capable of receiving a message from the source terminal based on the user setting or policy; The method may include transmitting a message including the information to at least one terminal of the receiver according to a result of the checking.
상기 방법은 상기 사용자 설정에 기초하여, 상기 메시지를 지연시킬지 혹은 상기 메시지를 인터워킹할지 혹은 상기 메시지를 다른 단말로 리다이렉트(redirect)할지 또는 저장 서버에 저장할지를 결정하는 단계를 더 포함할 수 있다.The method may further include determining whether to delay the message, interwork the message, redirect the message to another terminal, or store in the storage server based on the user setting.
상기 방법은 상기 사용자 설정이 타켓 단말로의 전달(deliver)이어도, 어떤 이유로 타켓 단말로의 메시지 전달이 실패했을 경우, operator policy에 따라서 상기 메시지를 defer할지 interworking할지를 포함하는 단계를 더 포함할 수 있다. The method may further include whether to defer or interwork the message according to an operator policy when the message delivery to the target terminal fails for some reason even if the user setting is a delivery to the target terminal. .
상기 방법은 상기 소스 단말로부터의 메시지 내의 정보를 바탕으로 상기 메시지를 거절할지 여부를 결정하는 단계를 더 포함할 수 있다.The method may further include determining whether to reject the message based on information in the message from the source terminal.
상기 정보는 상기 메시지 저장 서버 내에서 상기 메시지를 구분할 수 있게 한다. 상기 정보는 상기 메시지에 대한 UID(Unique Identifier)일 수 있다.The information makes it possible to distinguish the message within the message storage server. The information may be a unique identifier (UID) for the message.
상기 CPM 서버는 상기 타겟 단말의 홈 네트워크 내에 위치하는 것일 수 있다.The CPM server may be located in the home network of the target terminal.
상기 방법은 소스 단말로부터의 메시지가 CPM Large 모드인지 확인하는 단계와; 상기 CPM Large 모드인 경우, 상기 소스 단말로부터의 (, 현재 메시지의 수신이 완료될때까지) 대기하는 단계를 더 포함할 수 있다.The method includes checking whether a message from a source terminal is in CPM Large mode; In the CPM Large mode, the method may further include waiting from the source terminal (until the reception of the current message is completed).
상기 방법은 상기 타겟 단말로부터 응답 메시지를 수신하는 단계와; 상기 타겟 단말로부터의 응답 메시지를 상기 소스 단말의 홈 네트워크에 위치하는 CPM 서버로 전송하는 단계를 더 포함할 수 있다.The method includes receiving a response message from the target terminal; The method may further include transmitting a response message from the target terminal to a CPM server located in the home network of the source terminal.
상기 타겟 단말이 복수개인 경우, 상기 응답 메시지의 전송 단계에서 상기 복수개의 타겟 단말로부터의 응답 메시지들 중, 첫 번째 응답 메시지가 수신되면, 상기 첫 번째 응답 메시지를 상기 소스 단말의 홈 네트워크에 위치하는 CPM 서버로 전송하는 것일 수 있다.When there are a plurality of target terminals, when a first response message is received among the response messages from the plurality of target terminals in the transmitting of the response message, the first response message is located in the home network of the source terminal. The transmission may be to a CPM server.
한편, 상기와 같은 목적을 달성하기 위하여, 본 명세서는 CPM(Converged IP Messaging) 서버에서의 메시지 전달 방법을 제공한다. 상기 전달 방법은 사용자 설정에 기초하여 소스 단말로부터의 메시지를 수신할 수 있는 등록된 타겟 단말들을 확인하는 단계와; 상기 사용자 설정에 기초하여 소스 단말로부터의 메시지를 상기 확인된 타겟 단말로 인터워킹(interworking)하여 전달할지 혹은 다른 단말로 리다이렉팅(redirecting)를 결정하는 단계와; 상기 메시지를 인터워킹 또는 리다이렉팅하는 것으로 결정하는 경우, 상기 사용자 설정에 기초하여, 상기 메시지를 메시지 저장 서버에 저장할지 여부를 결정하는 단계와; 상기 메시지를 저장하는 경우 상기 메시지 저장 서버에 상기 메시지의 저장 요청하는 단계와; 상기 메시지 저장 서버로부터 상기 저장된 메시지에 대한 정보를 포함하는 응답 메시지를 수신하는 단계와; 상기 정보를 상기 메시지에 포함시켜 상기 타겟 단말로 인터워킹하여 전송하거나 상기 다른 단말로 리다이렉팅하는 단계를 포함할 수 있다.On the other hand, in order to achieve the above object, the present disclosure provides a message delivery method in a Converged IP Messaging (CPM) server. The delivery method includes the steps of identifying registered target terminals capable of receiving a message from a source terminal based on a user setting; Determining whether to interwork and deliver a message from a source terminal to the identified target terminal based on the user setting or redirecting to another terminal; When determining to interwork or redirect the message, determining whether to store the message in a message storage server based on the user setting; Requesting the message storage server to store the message when storing the message; Receiving a response message including information on the stored message from the message storage server; Including the information in the message may include interworking and transmitting to the target terminal or redirecting to the other terminal.
본 발명은 CPM 서비스를 지원하는 단말과 메시지 저장 서버간의 동기화 과정에서 메시지가 중복되지 않도록 한다. 따라서, 본 발명은 메시지가 중복 송수신 및 저장되지 않도록 함으로써, 네트워크 리소스를 효율적으로 사용할 수 있도록 한다. 또한, 본 발명은 메시지가 중복 저장되지 않도록 함으로써, 단말기 내의 메모리를 효율적으로 사용할 수 있도록 한다.The present invention ensures that a message is not duplicated in a synchronization process between a terminal supporting a CPM service and a message storage server. Accordingly, the present invention enables efficient use of network resources by avoiding duplicate transmission and reception of messages and storage. In addition, the present invention enables the memory in the terminal to be used efficiently by preventing the message from being duplicated.
도 1은 CPM 서비스를 위한 네트워크 및 단말의 구성을 나타낸 블록도이다.
도 2은 CPM 메시지의 송수신 과정을 나타낸 예시도이다.
도 3은 도 1에 도시된 메시지 저장 서버의 동작과 메시지의 동기화 과정을 나타낸 흐름도이다.
도 4은 본 발명의 제1 실시예를 예시적으로 나타낸 흐름도이다.
도 5는 본 발명의 제2 실시예를 예시적으로 나타낸 흐름도이다.
도 6은 본 발명의 제3 실시예를 예시적으로 나타낸 흐름도이다.
도 7는 본 발명의 제4 실시예를 예시적으로 나타낸 흐름도이다.
도 8은 본 발명의 제5 실시예를 예시적으로 나타낸 흐름도이다.
도 9는 본 발명의 제6 실시예를 예시적으로 나타낸 흐름도이다.
도 10은 CPM PF 서버의 동작을 나타낸 흐름도이다.
도 11은 본 발명의 따른 CPM PF 서버의 구성 블록도이다.
도 12는 본 발명의 제9 실시예를 예시적으로 나타낸 흐름도이다.
도 13는 본 발명의 제10 실시예를 예시적으로 나타낸 흐름도이다.
도 14은 CPM PF 서버의 동작을 나타낸 흐름도이다.
도 15은 본 발명의 따른 CPM PF 서버의 구성 블록도이다.1 is a block diagram showing the configuration of a network and a terminal for a CPM service.
2 is an exemplary diagram illustrating a process of transmitting and receiving a CPM message.
3 is a flowchart illustrating an operation of a message storage server illustrated in FIG. 1 and a synchronization process of a message.
4 is a flowchart illustrating an exemplary embodiment of the present invention.
5 is a flowchart exemplarily illustrating a second embodiment of the present invention.
6 is a flowchart exemplarily illustrating a third embodiment of the present invention.
7 is a flowchart exemplarily illustrating a fourth embodiment of the present invention.
8 is an exemplary flowchart illustrating a fifth embodiment of the present invention.
9 is a flowchart illustrating a sixth embodiment of the present invention.
10 is a flowchart showing the operation of the CPM PF server.
11 is a block diagram illustrating a CPM PF server according to the present invention.
12 is a flowchart exemplarily showing a ninth embodiment of the present invention.
13 is a flowchart exemplarily illustrating a tenth embodiment of the present invention.
14 is a flowchart showing the operation of the CPM PF server.
15 is a block diagram of a CPM PF server according to the present invention.
본 발명은 CPM 메시지 서비스에 적용된다. 그러나 본 발명은 이에 한정되지 않고, 본 발명의 기술적 사상이 적용될 수 있는 모든 메시지 서비스, 예컨대 SMS, EMS, MMS 에도 적용될 수 있다.The present invention is applied to the CPM message service. However, the present invention is not limited thereto, and may be applied to all message services, for example, SMS, EMS, and MMS, to which the technical spirit of the present invention may be applied.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It is to be noted that the technical terms used herein are merely used to describe particular embodiments, and are not intended to limit the present invention. It is also to be understood that the technical terms used herein are to be interpreted in a sense generally understood by a person skilled in the art to which the present invention belongs, Should not be construed to mean, or be interpreted in an excessively reduced sense. In addition, when the technical terms used herein are incorrect technical terms that do not accurately express the spirit of the present invention, they should be replaced with technical terms that can be understood correctly by those skilled in the art. In addition, the general terms used in the present invention should be interpreted as defined in the dictionary or according to the context before and after, and should not be interpreted in an excessively reduced sense.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, the singular forms "as used herein include plural referents unless the context clearly dictates otherwise. In the present application, terms such as “consisting of” or “comprising” should not be construed as necessarily including all of the various components, or various steps described in the specification, wherein some of the components or some of the steps It should be construed that it may not be included or may further include additional components or steps.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다. In addition, terms including ordinal numbers, such as first and second, as used herein may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may be present in between. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, and the same or similar components will be given the same reference numerals regardless of the reference numerals, and redundant description thereof will be omitted. In addition, in describing the present invention, when it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, it should be noted that the accompanying drawings are only for easily understanding the spirit of the present invention and should not be construed as limiting the spirit of the present invention by the accompanying drawings. The spirit of the present invention should be construed to extend to all changes, equivalents, and substitutes in addition to the accompanying drawings.
용어의 정리Terminology
CPM(Converged IP Messaging): 컨버젼된 IP 메시징 서비스 Converged IP Messaging (CPM): Converted IP Messaging Service
CPM 클라이언트: 도 1에 도시된 바와 같이, CPM 메시지를 송수신할 수 있는 클라이언트 소프트웨어 프로그램.CPM Client: A client software program capable of sending and receiving CPM messages, as shown in FIG.
메시지 저장 클라이언트: 도 1에 도시된 바와 같이 송수신되는 메시지를 저장하고, 메시지 저장 서버와 동기화를 수행한다.Message storage client: As shown in Fig. 1 stores the message to be transmitted and received, and performs synchronization with the message storage server.
CPM PF 서버(CPM Participating Function Server): 도 1에 도시된 바와 같이, 상기 CPM 클라이언트로 메시지를 전달하는 역할을 담당한다. 또한, 도 1에 도시된 바와 같이, 상기 메시지 저장 서버(60)로 메시지를 전달하는 역할을 담당한다. 또한 도 1에 도시된 바와 같이, 상기 인터워킹 기능부(71)로부터 변환된 메시지를 수신하는 역할을 담당한다.CPM Participating Function Server (CPM Participating Function Server): As shown in FIG. 1, it is responsible for delivering a message to the CPM client. In addition, as shown in FIG. 1, it is responsible for delivering a message to the
메시지 저장 서버: 도 1에 도시된 바와 같이, CPM PF 서버로부터 수신되는 메시지를 저장하고, 메시지 저장 클라이언트(11)와 동기화를 수행한다.Message storage server: As shown in FIG. 1, a message received from a CPM PF server is stored and synchronized with the
인터워킹 선택 기능부(Interworking Selection Function): 인터워킹 기능을 수행할지 여부를 결정하는 역할을 담당한다.Interworking Selection Function (Interworking Selection Function): It is responsible for determining whether to perform the interworking function.
인터워킹 기능부(Interworking Function): CPM 메시지를 SMS, MMS 등으로 변환하거나, SMS, MMS 등을 CPM 메시지로 변환하는 역할을 담당한다.Interworking Function (Interworking Function): Converts the CPM message into SMS, MMS, etc., or converts the SMS, MMS, etc. into a CPM message.
IMAP(Internet Messaging Access Protocol): 인터넷 메일 서버에서 메일을 읽기 위한 통신 프로토콜이다.IMAP (Internet Messaging Access Protocol): A communication protocol for reading mail on an Internet mail server.
CPM Large Message Mode : MSRP(Message Session Relay Protocol)를 이용하여 큰 사이즈의 CPM 메시지를 전송하는 모드이다. CPM Large Message Mode: A mode that sends a large size CPM message using the Message Session Relay Protocol (MSRP).
CPM Pager Mode : 제한된 사이즈의 CPM 메시지를 MSRP 세션을 설정하지 않고 송수신하는 모드이다.CPM Pager Mode: This mode sends and receives CPM messages of limited size without establishing an MSRP session.
CPM 세션: CPM 메시지들/연속적인 미디어의 교환을 위해 2 이상의 참가자들 간에 이루어지는 상호 작용CPM session: interaction between two or more participants for the exchange of CPM messages / continuous media
이하, 도 4 내지 도 9에서는 단말(Terminal)가 도시되어 있으나, 상기 단말은, UE(User Equipment), ME(Mobile Equipment), MS(Mobile Station)로 불릴 수 있다. 또한, 상기 단말은 휴대폰, PDA, 스마트 폰(Smart Phone), 노트북 등과 같이 통신 기능을 갖춘 휴대 가능한 기기일 수 있거나, PC, 차량 탑재 장치와 같이 휴대 불가능한 기기일 수 있다. Hereinafter, although a terminal is illustrated in FIGS. 4 to 9, the terminal may be referred to as a user equipment (UE), a mobile equipment (ME), or a mobile station (MS). The terminal may be a portable device having a communication function, such as a mobile phone, a PDA, a smart phone, a notebook computer, or a non-portable device such as a PC or a vehicle-mounted device.
도 4은 본 발명의 제1 실시예를 예시적으로 나타낸 흐름도이다.4 is a flowchart illustrating an exemplary embodiment of the present invention.
도 4에 도시된 제1 실시예는 CPM Page Mode를 나타내었으며, 사용자 B의 단말B1가 CPM 메시지를 수신할 때, 중복 수신 및 저장이 방지되는 것을 나타내었다.4 shows the CPM Page Mode, and when the terminal B1 of the user B receives the CPM message, duplicate reception and storage are prevented.
도 4에는 사용자 A의 단말A1(100A)과, 사용자 B의 단말B1(100B), 상기 사용자 A의 홈네트워크, 상기 사용자 B의 홈네트워크, 그리고 메시지 저장 서버(600)가 나타나 있다. 상기 사용자 A의 홈네트워크는 SIP/IP 네트워크(500A)와 CPM PF 서버(810A)를 포함한다. 상기 사용자 B의 홈네트워크는 SIP/IP 네트워크(500B)와 CPM PF 서버(810B)를 포함한다.4 shows user A's
도 4에는 사용자 A의 단말A1(100A)에 의한 CPM 메시지의 송신 절차들(S120), 사용자 B의 홈네트워크 내의 CPM PF 서버로의 CPM 메시지 전달 절차들(S140), 사용자 설정(User Preference) 확인 및 CPM 메시지 저장 절차들(S150), 사용자B의 단말B1으로의 CPM 메시지 전달 절차들(S170), CPM 메시지에 대한 응답 메시지 전송 절차들(S180), 동기화 절차들(S190)이 도시되어 있다.4 shows the procedure for transmitting the CPM message by the user A's terminal A1 (100A) (S120), the procedure for delivering the CPM messages to the CPM PF server in the user's home network (S140), and checking the user preferences (User Preference). And CPM message storage procedures (S150), CPM message delivery procedures (S170) of user B to terminal B1, response message transmission procedures (S180) for CPM message, and synchronization procedures (S190) are shown.
1) 먼저, 사용자 A의 단말A1(100A)에 의한 CPM 메시지의 송신 절차(S120)를 설명하면 다음과 같다.1) First, a procedure (S120) of transmitting a CPM message by
상기 단말A1(100)는 상기 사용자 A의 요청에 따라, CPM 메시지를 상기 SIP/IP 네트워크(500)A를 통하여 상기 CPM PF 서버(810A)로 전송한다(S121, S122).The terminal A1 100 transmits a CPM message to the
이때, 상기 CPM 메시지의 크기가 1300 byte 이하인 경우, 상기 CPM 메시지는 SIP MESSAGE 내에 인캡슐레이션되어서 전송된다. 상기 CPM 메시지 내에는 CPM 메시지임을 나타내는 CPM Feature tag가 포함된다. In this case, when the size of the CPM message is 1300 bytes or less, the CPM message is encapsulated in SIP MESSAGE and transmitted. The CPM message includes a CPM Feature tag indicating that it is a CPM message.
한편, 도시되지는 않았으나, 상기 단말A1(100)가 전송한 메시지가 CPM 메시지가 아닌 다른 타입의 메시지(예컨대 SMS, MMS 또는 email) 경우, 상기 다른 타입의 메시지는 CPM 메시지로 변환되기 위해, 인터워킹 서버의 인터워킹 기능부를 경유한다. 상기 변환된 CPM 메시지가 1300 바이트를 넘지 않으면, 상기 인터워킹 기능부는 CPM Pager Mode에 따라 CPM 메시지를 전송한다. 만약 1300 바이트를 넘는 경우, 상기 인터워킹 기능부는 CPM Large Message Mode에 따라 메시지를 전송한다. Although not shown, when the message transmitted by the terminal A1 100 is a message other than a CPM message (for example, SMS, MMS or email), the message of another type is converted into a CPM message. Via the interworking function of the working server. If the converted CPM message does not exceed 1300 bytes, the interworking function transmits the CPM message according to the CPM Pager Mode. If more than 1300 bytes, the interworking function sends a message according to the CPM Large Message Mode.
2) 다음으로, 사용자 B의 홈네트워크 내의 CPM PF 서버로의 CPM 메시지 전달 절차(S140)를 설명하면 다음과 같다.2) Next, the CPM message delivery procedure (S140) to the CPM PF server in the user B's home network will be described.
상기 사용자 A의 홈네트워크 내의 상기 CPM PF 서버(810A)가 상기 CPM 메시지를 수신하면, 상기 사용자 A의 홈네트워크 내의 SIP/IP 네트워크(500A) 및 사용자 B의 홈네트워크 내의 SIP/IP 네트워크(500B)를 통하여, 사용자 B의 홈네트워크 내의 CPM PF 서버(810B)로 상기 CPM 메시지를 전달한다(S141, S142, S143).When the
3) 다음으로, 사용자 설정(User Preference) 확인 및 CPM 메시지 저장 절차(S150)를 설명하면 다음과 같다.3) Next, a user preference confirmation and a CPM message storage procedure S150 will be described.
상기 사용자 B의 홈네트워크 내의 CPM PF 서버(810B)가 상기 CPM 메시지를 수신하면, 상기 사용자 B의 사용자 설정(또는 User Preference)를 확인한다(S151).구체적으로 설명하면 다음과 같다.When the
(a) 먼저 상기 사용자 B의 홈네트워크 내의 CPM PF 서버(810B)는 상기 CPM 메시지를 거절할지 여부를 결정한다. 즉, 상기 CPM PF 서버(810B)는 상기 수신한 CPM 메시지내의 인증된 발신자의 CPM 어드레스가 거절되어야 하는지 여부를 접근 정책(Access Policy)에 따라 확인한다. 이를 위해 상기 CPM PF 서버(810B)는 예를 들어, 상기 수신한 메시지에 대해 다음과 같은 접근 정책을 확인한다. 상기 확인은 i) feature tag 확인, ii) pager mode message인지 확인, iii) 발신 사용자의 조건(예를 들어 송신자의 identity(e.g. 전화번호나 e-mail주소 등)의 확인)의 확인, iv) 허용 여부 확인을 포함한다. (a) First, the
상기 feature tag에 대해서 예를 들어 설명하면, 상기 CPM PF 서버(810B)는 feature tag값이 설정되어 있는 <service-list> 엘리먼트와 <service>엘리먼트를 평가함으로써, CPM 서비스에 대해 <conditons> 엘리먼트가 CPM Pager mode Message에 대해서 true로 설정되어 있는지 확인한다(CPM PF server Check for rules where the <conditions> element evaluates to true for the CPM service by evaluating the <service-list> elements and <service> elements with the attribute “feature tag” the value). For example, the feature tag will be described. The
상기 pager mode message에 대해 예를 들어 설명하면, 상기 CPM PF 서버(810B)는 상기 <condition> 하위 엘리먼트인 <media-list>가 CPM 미디어 pager-mode 메시지에 대해 true로 설정되어 있는지를 확인한다. For example, the pager mode message will be described. The
상기 발신 사용자의 조건에 대해 예를 들어 설명하면, 상기 CPM PF 서버(800B)는 상기 CPM 메시지의 발신자에 대해서 <conditions> 엘리먼트 내에 true로 설정되어 있는지를 확인한다(예를 들어 송신자의 identity(e.g. 전화번호나 e-mail주소 등이 될 수도 있다). In the example of the condition of the calling user, the CPM PF server 800B checks whether the sender of the CPM message is set to true in a <conditions> element (for example, the sender's identity (eg This could be a phone number or an e-mail address.)
상기 허용 여부 확인에 대해서 예를 들어서 설명하면, 상기 CPM PF 서버(810B)는 <allow-reject-invite> 액션 엘리먼트 내에 true값을 갖는 CPM media pager mode 메시지에 대해 true인지를 확인한다(The CPM PF Server Check for rules that evaluates to true for the CPM media pager mode message with the value “true” in the <allow-reject-invite > action element). 상기 규칙이 true로 확인되면, 상기 수신된 CPM 메시지는 거절된다. 상기 허용 여부 확인은 상기 i), ii), iii) 이 존재할 경우 수행된다. 만약 상기 i), ii), iii) 이 존재하지 않을 경우, 아래의 (b) 또는 (c) 과정으로 진행한다(. If such rules(i.e., i, ii, iii) exist, CPM PF continues to evaluate the rules in the next step)For example, the
(b) 다음으로, 상기 CPM PF 서버(810B)는 상기 CPM 메시지가 익명의 메시지인 경우, 상기 사용자 설정(또는 User Preference) or service provider policy에 따라서 내에서 익명 메시지에 관련된 엘리먼트를 확인한다. 익명의 메시지를 지원하지 않으면, 수신된 메시지를 사용자에게 전달하지 않고, 송신자에게는 에러 메시지를 송부한다. (b) Next, when the CPM message is an anonymous message, the
(c) 다음으로, 상기 CPM PF 서버(810B)는 서비스 제공자 정책에 따라 지원되는 메시지 크기가 만족되는지, 메시지의 컨텐츠가 만족되는지를 확인한다. 만족되지 않으면 수신된 메시지를 거절한다.(c) Next, the
(d) 상기 CPM PF서버(810B)는 수신된 메시지에 Expire header가 포함되어 있을 경우에 header값을 보고 expiry 여부를 판단한다. 수신된 메시지가 expiry된 경우 수신된 메세지를 거절한다.(d) When the Expire header is included in the received message, the
이상에서 설명한 상기 (a) 과정, (b)과정, (c)과정, (d)과정은 서로 순서가 바뀔 수 있다. Steps (a), (b), (c), and (d) described above may be reversed.
이상에서 설명한 바에 따라 상기 메시지를 CPM PF서버에서 수신하는 것으로 결정하면, 수신 가능한 단말 조회 과정을 수행한다. 이를 위해 상기 CPM PF 서버(810B)는 메시지 전달(message delivery)를 위한 사용자 설정(User Preference)를 확인하여(S151a), 상기 사용자 B의 등록(즉, 접속)된 단말들을 검색한다. 그리고, 상기 CPM PF 서버(810B)는 상기 검색된 단말들 각각에 대한 사용자 설정(즉, per-device user preference), device capability, device connectivity, service provider policy등을 고려하여 확인함으로써, 메시지를 수신할 수 있는 단말이 있는지를 확인한다. As described above, when it is determined that the message is received by the CPM PF server, a receivable terminal inquiry process is performed. To this end, the
한편, 이어서 상기 CPM PF 서버(810B)는 상기 수신할 수 있는 단말이 없는 경우 사용자 설정(User Preference)를 확인하여, 상기 메시지를 지연(defer)할지, 지연 후 사용자에게 지연 메시지에 대해 통지할지, 인터워킹할 지, 혹은 다른 단말로 리다이렉트(redirect)할지, 혹은 저장(store)할지를 결정한다. 또는 상기 CPM PF 서버(810B)는 상기 수신할 수 있는 단말이 있는 경우, 상기 메시지를 저장하고 전달할지를 결정한다.On the other hand, the
이때, 상기 지연(defer)로 결정되면, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 전달하지 않고, 저장(예컨대 임시 저장)한다. 상기 인터워킹으로 결정된 경우, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 인터워킹 서버(700B)의 인터워킹 선택 기능부로 전달하고, 상기 인터워킹 선택 기능부는 상기 CPM 메시지를 어느 타입의 메시지로 변경할지 결정한다. 이때, 상기 결정시에 서비스 제공자의 정책, 단말B1(100B)의 사용자 설정(User preference) 또는 상기 CPM 메시지의 특성이 고려될 수 있다. 상기 인터워킹 선택 기능부는 상기 결정된 타입으로의 변환을 상기 인터워킹 기능부로 요청하고, 상기 인터워킹 기능부는 상기 CPM 메시지를 상기 결정된 타입으로 변환한다. At this time, if determined as the delay, the
한편, 상기 사용자 설정의 확인은 아래와 같이 그 순서가 변경될 수 있다. 예를 들어, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 수신하면, 단말 모두에 공통으로 적용되는 일반 사용자 설정(General User Preference)를 확인하여, 즉, 구체적으로 말하면, <action> element를 확인하여, 상기 수신한 CPM 메시지를 지연(defer)할지, 수신된 CPM 메세지를 지연 후 사용자에게 통지할지, 인터워킹(interworking)할지, 저장(store)할지, 리다이렉트(redirect)할지를 결정할 수 있다. 상기 일반 사용자 설정에서 위의 그 어느 값에도 해당하지 않는 경우 상기 CPM PF 서버는 전달(deliver)하는 것으로 판단 가능하다. 그리고, 상기 판단에 따라 전달(deliver)로 결정되면, 상기 CPM PF 서버(810B)는 메시지 전달(message delivery)를 위한 수신 가능한 단말을 선택하기 위해, 상기 사용자 B의 등록(즉, 접속)된 단말들을 검색하고, 상기 검색된 단말들 각각에 대한 사용자 설정(즉, per-device user preference profile)과, device capability과, device connectivity과, service provider policy 중 하나 이상을 확인함으로써, 메시지를 수신할 수 있는 단말이 있는지를 확인할 수 있다(the CPM Participating Function SHALL check the user preference profile for the registered devices to determine which CPM Clients). 한편, 상기 CPM PF 서버(810B)는 상기 단계에서 메시지를 전달(deliver)하거나, 인터워킹(interworking) 하기로 한경우, 사용자 설정(User Preference) 내에 메시지 기록과 관련된 엘리먼트(예컨대, user preference for recording CPM Conversation History)의 값이 true나 active와 같이 저장을 의미하는 값으로 세팅되었는지를 확인한다(S151b). On the other hand, the order of confirmation of the user setting may be changed as follows. For example, when the
이상과 같은 상기 사용자 설정(또는 User Preference)의 확인 과정을 통해, 상기 메시지를 저장(store, 즉 record)과 전달을 모두 하기로 결정되면, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 상기 메시지 저장 서버(600)로 전송한다(S152). 이때, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 IMAP Command를 사용하여 상기 메시지 저장 서버(600)에 전달한다.If it is determined to store and store both the message (ie, record) and delivery through the confirmation of the user setting (or user preference) as described above, the
상기 메시지 저장 서버(600)는 상기 CPM 메시지를 저장하고(S153), 상기 저장 서버(600) 내에 저장된 CPM 메시지에 대한 정보(예컨대 상기 저장 서버(600)내에 저장된 다수의 메시지들 중 상기 메시지를 구분할 수 있게 하는 식별자, UID(Unique Identifier))를 포함하는 응답 메시지를 상기 CPM PF 서버(810B)로 전송한다(S154). 상기 식별자 또는 UID는 RFC3501에 따라서 생성될 수 있다.The
4) 다음으로, 사용자B의 단말B1으로의 CPM 메시지 전달 절차(S170)를 설명하면 다음과 같다.4) Next, the CPM message delivery procedure (S170) of the user B to the terminal B1 as follows.
상기 CPM PF 서버(810B)가 상기 메시지 저장 서버(600)로부터 상기 CPM 메시지에 대한 정보(예컨대 상기 저장 서버(600)내에 저장된 다수의 메시지들 중 상기 메시지를 구분할 수 있게 하는 식별자, UID)를 포함하는 응답 메시지를 수신하면, 상기 응답 메시지로부터 상기 정보를 추출하고, 상기 추출된 정보를 상기 CPM 메시지에 포함시킨다. 그리고 상기 정보가 포함된 CPM 메시지를 상기 SIP/IP 네트워크(500B)를 통하여, 상기 사용자B의 단말B1(100B)로 전송한다(S171. S172). The
상기 전송을 위해서 상기 CPM PF 서버(810B)는 아래와 같은 과정을 거친다. For the transmission, the
상기 CPM PF 서버(810B)는 상기 S151a 과정에서 확인한 사용자 설정(user preference), 장치 연결성(device connectivity), 장치 성능(device capability), 서비스 제공자 정책(service provider policy)등을 종합해서 상기 메시지를 전송할 단말을 선택한다. 여기서 상기 단말 각각에 대한 사용자 설정은 단말의 특성을 고려하여 다를 수 있다. 예를 들어, 단말 1은 집에 있는 PC이고, 단말2는 회사에서 지급받은 폰인 경우, 회사 관련 메세지는 모두 단말2로만 받기 위한 설정이 존재할 수 있다 그리고, 상기 장치 연결성(Device connectivity)은 단말이 CPM 네트워크에 등록(register)되어 있는지를 나타낸다. 상기 단말 성능(Device capability) 단말이 메시지를 수신할 능력이 되는지를 나타낸다. The
상기 CPM PF 서버(810B)는 상기 수신할 수 있는 단말이 복수개인 경우 상기 각각의 단말을 위해 상기 CPM 메시지를 복사(duplicate)한다. 그리고 상기 복사한 CPM Message의 수신 주소에 각 단말의 주소(i.e. GRUU)를 포함한다(즉 수신주소는 수신자의 주소(e.g. 전화번호) 에 단말 고유의 주소가 합쳐진 형태가 된다). 각 단말의 주소는 각 단말이 SIP/IP 코어 네트워크에 등록(register)할 때, 생성된 값으로 상기 CPM PF 서버는 SIP/IP 코어 네트워크에 subscribe 함으로 얻어올 수 있다. 그리고 상기 CPM PF 서버는 상기 CPM 메시지에 도면 4의 S154 단계에서 얻어온 파일 식별자를 포함한다. 상기 정보는 상기 CPM 메시지의 본문에 포함될 수도 있고, 헤더부에 포함될 수도 있다. 상기 단말B1(100B)는 상기 CPM 메시지를 수신하면, 상기 CPM 메시지 내의 상기 정보를 추출하고, 상기 CPM 메시지와 상기 정보를 저장한다(S173). The
5) 다음으로, CPM 메시지에 대한 응답 메시지 전송 절차(S180)를 설명하면 다음과 같다. 그리고, 상기 단말B1(100B)는 상기 CPM 메시지에 대한 응답 메시지, 예컨대 SIP 기반의 200 OK 메시지를 상기 SIP/IP 네트워크(500B)를 통하여, 상기 CPM PF 서버(810B)로 전송한다. 5) Next, the response message transmission procedure (S180) for the CPM message will be described. The
상기 CPM PF서버(810B)가 상기 타켓 단말로의 메시지 전달이 실패한 경우, 상기 CPM PF서버(810B)는 operator policy에 따라서 상기 전송 실패한 메시지를 defer하고 사용자에게 지연된 메시지에 대한 통지를 하거나, interworking을 선택할 수 있다. 이 경우, 상기 CPM PF 서버(810B)는 메시지 저장 서버에 저장되어 있는 상기 CPM 메시지를 삭제할 수도 있다. If the
상기 CPM PF 서버(810B)는 상기 응답 메시지를 상기 SIP/IP 네트워크들(500B, 500A)를 통하여 상기 CPM PF 서버(810A)로 전송한다. The
이때, 상기 사용자B의 단말이 복수 개일 경우, 상기 복수개의 단말들로부터의 응답 메시지들 중 첫 번째 응답 메시지가 수신되면, 상기 첫 번째 응답 메시지를 상기 CPM PF 서버(810A)로 전송한다.In this case, when there are a plurality of terminals of the user B, when the first response message among the response messages from the plurality of terminals is received, the first response message is transmitted to the
상기 CPM PF 서버(810A)는 상기 응답 메시지를 수신하면, 상기 응답 메시지를 상기 사용자A의 단말A1(100A)으로 전달한다.When the
6) 마지막으로, 상기 동기화 절차(S190)를 설명하면 다음과 같다.6) Finally, the synchronization procedure (S190) will be described as follows.
상기 단말B1(100B)는 상기 메시지 저장 서버(600)와 동기화를 하기 위해, 동기화 요청 메시지를 상기 메시지 저장 서버(600)로 전송한다(S191).The
그러면, 상기 메시지 저장 서버(600)는 자신의 저장하고 있는 메시지들에 대한 정보(예컨대, 저장하고 있는 모든 메시지들에 대한 정보 혹은 가장 최근에 저장한 메시지에 대한 정보)(즉, 저장하고 있는 모든 메시지들의 식별자 혹은 가장 최근에 저장한 메시지에 대한 식별자)를 상기 단말B1(100B)로 전송한다(S192).Then, the
그러면, 상기 단말B1(100B)는 상기 수신한 정보를 바탕으로, 미수신한 메시지가 있는지 확인하고(S193), 그리고 미전송한 메시지가 있는지 확인한다(S194). 예를 들어, S153 과정에서 저장된 CPM 메시지에 대한 식별자가 4이였다고 가정하고, 상기 S172 과정에서 상기 식별자 4를 포함하는 상기 CPM 메시지를 상기 단말B1(100B)이 수신하였다고 가정하자. 그리고 S192 과정에서 상기 메시지 저장 서버(600)가 가장 최근에 저장된 상기 CPM 메시지에 대한 식별자 4를 상기 단말B1(100B)로 전송하였다고 가정하면, 상기 단말B1(100B)은 자신이 가지고 있는 식별자 4와 상기 수신한 식별자 4를 비교함으로써, 미수신한 메시지가 없다고 판단한다. 또한, 상기 단말B1(100B)은 자신이 가지고 있는 식별자 4와 상기 수신한 식별자 4를 비교함으로써, 자신이 미전송한 메시지를 가지고 있지 않다고 판단한단.Then, the
이상에서 설명한 바와 같이, 본 발명의 제1 실시예에 의하면, 단말B1(100B)이 메시지를 중복하여 수신하지 않도록 함으로써, 네트워크 리소스를 효율적으로 사용할 수 있도록 하고 메모리를 효율적으로 사용할 수 있도록 한다. As described above, according to the first embodiment of the present invention, the terminal B1 (100B) does not receive the message redundantly, so that the network resources can be used efficiently and the memory can be used efficiently.
도 5는 본 발명의 제2 실시예를 예시적으로 나타낸 흐름도이다.5 is a flowchart exemplarily illustrating a second embodiment of the present invention.
도 5에 도시된 제2 실시예는 CPM Large Mode 메시지의 송수신을 나타내었으며, 사용자 B의 단말B1가 CPM 메시지를 수신할 때, 중복 수신 및 저장이 방지되는 것을 나타내었다.5 shows transmission and reception of a CPM Large Mode message, and shows that duplicate reception and storage are prevented when the terminal B1 of the user B receives the CPM message.
도 5에는 사용자 A의 단말A1(100A)에 의한 세션 설정 과정(S210), 사용자 A의 단말A1(100A)에 의한 CPM Large Mode 메시지의 송신 절차(S220), 사용자 B의 홈네트워크 내의 CPM PF 서버로의 CPM Large Mode 메시지 전달 절차(S240), 사용자 설정(User Preference) 확인 및 CPM Large Mode 메시지 저장 절차(S250), 사용자B의 단말B1으로의 CPM Large Mode 메시지 전달 절차(S270), 동기화 절차(S290)가 도시되어 있다. 한편, 도 5에 나타나지는 않았으나, 도 4와 유사하게 CPM Large Mode 메시지에 대한 응답 메시지 전송 절차가 상기 전달 절차(S270)와 상기 동기화 절차(S290) 사이에서 수행된다. 상기 CPM Large Mode 메시지에 대한 응답 메시지 전송 과정은 도 4의 내용을 준용하기로 한다.5 shows a session establishment process by the user A's terminal A1 (100A) (S210), a procedure for transmitting a CPM Large Mode message by the user's terminal A1 (100A) (S220), and a user's B CPM PF server in the home network. CPM Large Mode message delivery procedure (S240), user preferences (User Preference) confirmation and CPM Large Mode message storage procedure (S250), CPM Large Mode message delivery procedure (S270), the synchronization procedure ( S290) is shown. Although not shown in FIG. 5, similar to FIG. 4, a response message transmission procedure for a CPM Large Mode message is performed between the forwarding procedure S270 and the synchronization procedure S290. In the process of transmitting the response message to the CPM Large Mode message, the contents of FIG. 4 will apply mutatis mutandis.
또한, 이하 도 4의 절차들과 차별되는 내용만을 설명하기로 하고, 유사한 절차에 대한 설명은 도 4의 내용을 준용하기로 한다.In addition, only contents that are different from the procedures of FIG. 4 will be described below, and description of similar procedures will apply mutatis mutandis to FIG. 4.
1) 먼저, 사용자 A의 단말A1(100A)에 의한 세션 설정 절차(S210)를 설명하면 다음과 같다.1) First, a session establishment procedure (S210) by the terminal A1 (100A) of the user A as follows.
상기 사용자 A가 예를 들어 1300byte가 넘는 메시지를 보내기를 요청하면, 상기 단말A1(100)는 메시지를 전송하기 위해 먼저 세션 초대 메시지, 예컨대 SIP 기반의 INVITE 메시지를 상기 사용자 A의 홈네트워크 내의 상기 SIP/IP 네트워크(500A)를 통하여 상기 CPM PF 서버(810A)로 전송한다.When the user A requests to send a message larger than 1300 bytes, for example, the terminal A1 100 first transmits a session invitation message, for example, a SIP-based INVITE message, to the SIP in the user A's home network. It transmits to the
상기 사용자 A의 홈네트워크 내의 상기 CPM PF 서버(810A)가 상기 세션 초대 메시지를 수신하면, 상기 사용자 A의 홈네트워크 내의 SIP/IP 네트워크(500A) 및 사용자 B의 홈네트워크 내의 SIP/IP 네트워크(500B)를 통하여, 사용자 B의 홈네트워크 내의 CPM PF 서버(810B)로 상기 세션 초대 메시지를 전달한다.When the
상기 사용자 B의 홈네트워크 내의 CPM PF 서버(810B)는 상기 세션 초대 메세지를 수신하면, (a) 상기 CPM 메시지를 거절할지 여부를 결정한다. 즉, 상기 CPM PF 서버(810B)는 상기 수신한 세션 초대 메시지 내의 인증된 발신자의 CPM 어드레스가 거절되어야 하는지 여부를 접근 정책(Access Policy)에 따라 확인한다. 이를 위해 상기 CPM PF 서버(810B)는 예를 들어, 상기 수신한 세션 초대 메시지에 대해 다음과 같은 접근 정책을 확인한다. 상기 확인은 i) feature tag 확인, ii) Large mode message인지 확인, iii) 발신 사용자의 조건(예를 들어 송신자의 identity(e.g. 전화번호나 e-mail주소 등)의 확인)의 확인, iv) 허용 여부 확인을 포함한다. 이때, 상기 feature tag의 확인시, 상기 CPM PF 서버(810B)는 상기 feature tag가 large mode message를 나타내는지 확인한다(Upon receiving a SIP INVITE request with the CPM Feature Tag ‘3gpp-service.ims.icsi.oma.cpm.largemsg’ corresponding to Large Message Mode CPM Message, the CPM Participating Function SHALL execute the following).When the
(b) 다음으로, 상기 CPM PF 서버(810B)는 상기 세션 초대 메시지가 익명의 메시지인 경우, 상기 사용자 설정(또는 User Preference) or service provider policy에 따라서 내에서 익명 메시지에 관련된 엘리먼트를 확인한다. (b) Next, when the session invitation message is an anonymous message, the
(c) 다음으로, 상기 CPM PF 서버(810B)는 서비스 제공자 정책에 따라 지원되는 메시지 크기가 만족되는지, 메시지의 컨텐츠가 만족되는지를 확인한다. 만족되지 않으면 수신된 메시지를 거절한다.(c) Next, the
(d) 상기 CPM PF서버(810B)는 수신된 메시지에 Expire header가 포함되어 있을 경우에 header값을 보고 expiry 여부를 판단한다. 수신된 메시지가 expiry된 경우 수신된 메시지를 거절한다.(d) When the Expire header is included in the received message, the
(e) 상기 CPM PF서버(810B)는 수신된 메시지의 크기에 관련된 user preference를 판단할 수 있다. 구체적으로 user preference의 <Media-List>의 ‘Large-Message’element 의 max-size attribute값을 확인한다. (e) The
상기 (a) 과정, (b) 과정, (c) 과정, (d) 과정, (e) 과정의 순서는 변경될 수 있으며, 상세한 내용은 전술한 바와 유사하므로, 상세하게 설명하지 않기로 한다.The order of the steps (a), (b), (c), (d), and (e) may be changed, and details thereof are similar to those described above, and thus will not be described in detail.
상기 (a) 과정, (b) 과정, (c) 과정, (d) 과정, (e) 과정을 통해 상기 메시지를 CPM PF서버에서 거절하지 않고 수신하는 것으로 결정하면, 수신 가능한 단말 조회 과정을 수행한다. 이를 위해 상기 CPM PF 서버(810B)는 메시지 전달(message delivery)를 위한 사용자 설정(User Preference)를 확인하여, 상기 사용자 B의 등록(즉, 접속)된 단말들을 검색한다. 그리고, 상기 CPM PF 서버(810B)는 상기 검색된 단말들 각각에 대한 사용자 설정(즉, per-device user preference), device capability, device connectivity, service provider policy등을 고려하여 확인함으로써, 메시지를 수신할 수 있는 단말이 있는지를 확인한다. If it is determined through the steps (a), (b), (c), (d), and (e) that the message is received without being rejected by the CPM PF server, a terminal inquiry process that can be received is performed. do. To this end, the
한편, 이어서 상기 CPM PF 서버(810B)는 상기 수신할 수 있는 단말이 없는 경우 사용자 설정(User Preference)를 확인하여, 상기 메시지를 지연(defer)할지, 지연 후 사용자에게 지연 메시지에 대해 통지할지, 인터워킹할 지, 혹은 다른 단말로 리다이렉트(redirect)할지, 혹은 저장(store)할지를 결정한다. On the other hand, the
상기 메시지를 전달하는 것으로 결정하면, CPM PF 서버(810B)는 상기 세션 초대 메시지를 상기 SIP/IP 네트워크(500B)를 통하여, 상기 단말B1(100B)로 전송한다. If it is determined to deliver the message, the
상기 사용자B가 세션의 설정을 수락하면, 상기 단말B1(100B)은 응답 메시지, 예컨대 SIP 기반의 200OK 메시지를 상기 SIP/IP 네트워크(500B)를 통하여 상기 CPM PF 서버(810B)로 전송한다.If the user B accepts the session setup, the
상기 CPM PF 서버(810B)는 상기 응답 메시지를 수신하면, MSRP 메시지를 수신할 준비를 한다. 그리고 상기 CPM PF 서버(810B)는 상기 사용자 A의 홈네트워크 내의 SIP/IP 네트워크(500A) 및 사용자 B의 홈네트워크 내의 SIP/IP 네트워크(500B)를 통하여, 상기 사용자 A의 홈네트워크 내의 CPM PF 서버(810A)로 전송한다.Upon receiving the response message, the
상기 CPM PF 서버(810A)는 상기 응답 메시지를 수신하면, MSRP 메시지를 수신할 준비를 한다. 그리고, 상기 CPM PF 서버(810A)는 상기 응답 메시지를 SIP/IP 네트워크(500A)를 통하여, 상기 단말A1(100A)로 전송한다.Upon receiving the response message, the
2) 다음으로, 사용자 A의 단말A1(100A)에 의한 CPM Large Mode 메시지의 송신 절차(S220)가 수행된다. 상기 S220절차를 설명하면 다음과 같다.2) Next, a procedure S220 of transmitting a CPM Large Mode message by
상기 단말A1(100)는 상기 사용자 A로부터 크기가 1300 byte 이상인 메시지 본문을 입력받으면, CPM Large Mode 메시지를 생성하고, 상기 생성된 CPM Large Mode 메시지를 MSRP 기반의 메시지로 인캡슐하여, 상기 SIP/IP 네트워크(500)A를 통하여 상기 CPM PF 서버(810A)로 전송한다(S221, S222).When the terminal A1 100 receives a message body having a size greater than 1300 bytes from the user A, the terminal A1 100 generates a CPM Large Mode message, and encapsulates the generated CPM Large Mode message into an MSRP-based message. The IP network 500 transmits the
3) 다음으로, 사용자 B의 홈네트워크 내의 CPM PF 서버로의 CPM Large Mode메시지 전달 절차(S240)가 수행된다, 상기 전달 절차(S240) 도 4의 S140과정과 유사하므로, S140 절차에 대한 설명을 준용하기로 한다.3) Next, the CPM Large Mode message delivery procedure (S240) to the CPM PF server in the user B's home network is performed. Since the delivery procedure (S240) is similar to the S140 process of FIG. I shall apply mutatis mutandis.
4) 또한, 사용자 설정(User Preference) 확인 및 CPM Large Mode 메시지 저장 절차(S250)가 수행된다.4) Also, a user preference check and a CPM Large Mode message storage procedure S250 are performed.
상기 CPM PF 서버(810B)는 전술한 바와 같이 메시지를 전달(deliver)하거나, 인터워킹(interworking) 하기로 한 경우, 사용자 설정(User Preference) 내에 메시지 기록과 관련된 엘리먼트(예컨대, user preference for recording CPM Conversation History)의 값이 true나 active와 같이 저장을 의미하는 값으로 세팅되었는지를 확인한다(S251).When the
이때, 상기 메시지 기록과 관련된 엘리먼트를 확인하는 것은 상기 세션 초대 메시지를 수신하였을 때 수행될 수도 있다.In this case, the checking of the element related to the message recording may be performed when the session invitation message is received.
이상과 같은 상기 메시지를 저장(store, 즉 record)과 전달을 모두 하기로 결정되면, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 상기 메시지 저장 서버(600)로 전송한다(S252). 이때, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 IMAP Command를 사용하여 상기 메시지 저장 서버(600)에 전달한다.If it is determined to store both the message (store, that is, record) and delivery as described above, the
그 밖에 상기 S250의 상세 절차는 도 4의 S150 절차와 유사하므로, S150에 대한 설명을 준용하기로 한다In addition, since the detailed procedure of S250 is similar to the procedure of S150 of FIG. 4, the description of S150 will apply mutatis mutandis.
5) 다음으로, 사용자B의 단말B1으로의 CPM Large Mode 메시지 전달 절차(S270)가 수행된다.5) Next, the CPM Large Mode message transfer procedure (S270) of the user B to the terminal B1 is performed.
상기 CPM PF 서버(810B)가 상기 메시지 저장 서버(600)로부터 상기 CPM 메시지에 대한 정보(예컨대 상기 저장 서버(600)내에 저장된 다수의 메시지들 중 상기 메시지를 구분할 수 있게 하는 식별자, UID)를 포함하는 응답 메시지를 수신하면, 상기 응답 메시지로부터 상기 정보를 추출하고, 상기 추출된 정보를 상기 MSRP 메시지에 포함시킨다. 그리고 상기 정보가 포함된 MSRP를 상기 SIP/IP 네트워크(500B)를 통하여, 상기 사용자B의 단말B1(100B)로 전송한다(S271. S272). 상기 정보는 상기 CPM 메시지의 본문에 포함될 수도 있고, 헤더부에 포함될 수도 있다.The
아래의 표1 은 상기 정보가 포함된 MSRP 메시지의 구성을 예시적으로 나타내었다. 상기 정보는 아래의 표 1과 같이 본문에 포함될 수도 있고, 헤더부에 포함될 수도 있다.Table 1 below shows an example of the configuration of the MSRP message including the information. The information may be included in the body or may be included in the header portion as shown in Table 1 below.
To-Path : msrp://bobpc.example.com:888/94di4eeewzd;tcp
From-Path: msrp://alicepc.example.com:7654/iau39soe2843;tcp
Message-ID: 12339sdqwer
Byte-Range: 1-137/148
Content-Type: message/cpim
To: Bob sip:bob@example.com
From: Alice sip:alice@example.com
DateTime: 2006-05-15T15:02:31-03:00
Content-Type: text/;lain
NS: cpm <urn:oma:params:cpm>
Cpm.message-uid: 4827313
ABCD
-----d93kswow+MSRP d93kswow SEND
To-Path: msrp: //bobpc.example.com: 888 / 94di4eeewzd; tcp
From-Path: msrp: //alicepc.example.com: 7654 / iau39soe2843; tcp
Message-ID: 12339sdqwer
Byte-Range: 1-137/148
Content-Type: message / cpim
To: Bob sip: bob@example.com
From: Alice sip: alice@example.com
DateTime: 2006-05-15T15: 02: 31-03: 00
Content-Type: text /; lain
NS: cpm <urn: oma: params: cpm>
Cpm.message-uid: 4827313
ABCD
----- d93kswow +
한편, 상기 메시지 기록과 관련된 엘리먼트에 의해 메시지를 저장하는 것으로 결정된 경우, 상기 CPM PF 서버(810B)는 MSRP SEND chunks의 수신 완료될 때까지 대기한 후, 상기 메시지를 전송한다.On the other hand, when it is determined to store the message by the element related to the message recording, the
6) 한편, 도 5에 도시되지는 않았으나, 도 4와 유사하게 CPM Large Mode 메시지에 대한 응답 메시지 전송 절차가 상기 전달 절차(S270)와 상기 동기화 절차(S290) 사이에서 수행된다. 상기 CPM Large Mode 메시지에 대한 응답 메시지 전송 과정은 도 4의 내용을 준용하기로 한다. 이와 같이 상기 응답 메시지를 상기 사용자A의 단말A1(100A)이 수신하면, 상기 설정된 세션을 종료시키기 위해서, 세션 종료 메시지, 예컨대 SIP 기반의 BYE 메시지를 전송한다. 상기 BYE 메시지는 상기 SIP/IP 네트워크들(500A, 500B)를 거쳐 상기 사용자B의 단말B1(100B)에 도달한다.6) Meanwhile, although not shown in FIG. 5, similar to FIG. 4, a response message transmission procedure for a CPM Large Mode message is performed between the forwarding procedure S270 and the synchronization procedure S290. In the process of transmitting the response message to the CPM Large Mode message, the contents of FIG. 4 will apply mutatis mutandis. As such, when the
7) 다음으로, 상기 동기화 과정(S290) 절차가 수행된다. 상기 동기화 과정(S290)은 도 4의 S190과정과 유사하므로, S190 절차에 대한 설명을 준용하기로 한다.7) Next, the synchronization process (S290) procedure is performed. Since the synchronization process S290 is similar to the process S190 of FIG. 4, the description of the procedure S190 will apply mutatis mutandis.
이상에서 설명한 바와 같이, 본 발명의 제1 실시예에 의하면, 단말B1(100B)이 메시지를 중복하여 수신하지 않도록 함으로써, 네트워크 리소스를 효율적으로 사용할 수 있도록 하고 메모리를 효율적으로 사용할 수 있도록 한다.As described above, according to the first embodiment of the present invention, the terminal B1 (100B) does not receive the message redundantly, so that the network resources can be used efficiently and the memory can be used efficiently.
도 6은 본 발명의 제3 실시예를 예시적으로 나타낸 흐름도이다.6 is a flowchart exemplarily illustrating a third embodiment of the present invention.
도 6는 CPM Page Mode의 예를 나타내었으며, 사용자 A의 단말A1가 전송한 CPM 메시지가 메시지 저장 서버에 저장되는 상황을 나타내었다. 이와 같은 상황에서 제3 실시예는 상기 단말A1이 동기화 과정에서 자신이 전송했던 CPM 메시지를 자신이 다시 수신하는 것을 방지하는 예를 나타내었다.6 illustrates an example of a CPM Page Mode, and illustrates a situation in which a CPM message transmitted by UE A1 of user A is stored in a message storage server. In this situation, the third embodiment shows an example in which the terminal A1 prevents the terminal A1 from receiving the CPM message transmitted by the terminal A1 again.
도 6에는 사용자 A의 단말A1(100A)에 의한 CPM 메시지의 송신 절차들(S320), 사용자A의 홈네트워크 내의 CPM PF 서버(810A)에서 사용자 설정(User Preference) 확인 및 CPM 메시지 저장 절차들(S330), 사용자 B의 홈네트워크 내의 CPM PF 서버로의 CPM 메시지 전달 절차들(S340), 사용자B의 단말B1으로의 CPM 메시지 전달 절차들(S370), CPM 메시지에 대한 응답 메시지 전송 절차들(S380) 이 도시되어 있다.6 shows procedures for transmitting CPM messages by terminal A1 (100A) of user A, user preference confirmation and CPM message storage procedures in
1) 먼저, 사용자 A의 단말A1(100A)에 의한 CPM 메시지의 송신 절차(S320)가 수행된다. 상기 S320과정은 도 4의 S120 과정과 유사하므로, S120과정에 대한 설명을 준용하기로 한다.1) First, a CPM message transmission procedure (S320) by
2) 다음으로, 사용자A의 홈네트워크 내의 CPM PF 서버(810A)에서 사용자 설정(User Preference) 확인 및 CPM 메시지 저장 절차들(S330)가 수행된다.2) Next, a user preference confirmation and CPM message storing procedures S330 are performed at the
구체적으로, 상기 단말A1(100A)으로부터의 메시지가 상기 CPM PF 서버(810A)에 수신되면, 상기 CPM PF 서버(810A)는 상기 단말A1(100A)의 사용자A가 상기 메시지를 전송할 수 있는 정당한 사용자인지를 확인한다.Specifically, when the message from the terminal A1 (100A) is received by the
그리고, 상기 CPM PF 서버(810A)는 상기 CPM 메시지가 익명의 메시지인 경우, 상기 익명 메시지를 거절할지 여부를 확인한다. If the CPM message is an anonymous message, the
그리고, 상기 CPM PF 서버(810A)는 상기 사용자 A의 사용자 설정(또는 User Preference)를 확인한다(S331). 즉, 상기 CPM PF 서버(810A)는 사용자 설정(User Preference) 내에 메시지 기록과 관련된 엘리먼트(예컨대, user preference for recording CPM Conversation History)를 확인하고, 상기 메시지를 저장하고 전달할 지 여부를 결정한다.In addition, the
상기 메시지를 저장(store)한 후 전달하는 것으로 결정되면, 상기 CPM PF 서버(810A)는 상기 CPM 메시지를 상기 메시지 저장 서버(600)로 전송한다(S332). 이때, 상기 CPM PF 서버(810A)는 상기 CPM 메시지를 IMAP Command를 사용하여 상기 메시지 저장 서버(600)에 전달한다.If it is determined that the message is stored and then delivered, the
상기 메시지 저장 서버(600)는 상기 CPM 메시지를 저장하고(S333), 상기 저장 서버(600) 내에 저장된 CPM 메시지에 대한 정보(예컨대 상기 저장 서버(600)내에 저장된 다수의 메시지들 중 상기 메시지를 구분할 수 있게 하는 식별자, UID)를 포함하는 응답 메시지를 상기 CPM PF 서버(810A)로 전송한다(S334). 상기 식별자 또는 UID는 RFC3501에 따라서 생성될 수 있다.The
3) 다음으로, 사용자 B의 홈네트워크 내의 CPM PF 서버로의 CPM 메시지 전달 절차들(S340)이 수행된다. 상기 S340 절차는 도 4의 S140 절차와 유사하므로, S140 절차에 대한 설명을 준용하기로 한다.3) Next, CPM message delivery procedures S340 to the CPM PF server in user B's home network are performed. Since the procedure S340 is similar to the procedure S140 of FIG. 4, the description of the procedure S140 will apply mutatis mutandis.
4) 다음으로, 사용자B의 단말B1으로의 CPM 메시지 전달 절차들(S370)가 수행된다. 상기 S370 절차는 도 4의 S170 절차와 유사하므로, S170 절차에 대한 설명을 준용하기로 한다.4) Next, CPM message delivery procedures S370 of the user B to the terminal B1 are performed. Since the procedure S370 is similar to the procedure S170 of FIG. 4, the description of the procedure S170 will apply mutatis mutandis.
5) 다음으로, CPM 메시지에 대한 응답 메시지 전송 절차들(S380)이 수행된다. 5) Next, response message transmission procedures S380 for the CPM message are performed.
상기 S380 절차는 도 4의 S180 절차와 유사하므로, S180 절차에 대한 설명을 준용하고, 차별되는 내용만 설명한다. 사용자 A의 홈네트워크 내의 상기 CPM PF 서버(810A)가 응답 메시지를 수신하면, 상기 S334 과정에서 수신한 상기 메시지에 대한 정보를 상기 응답 메시지에 포함시켜서 상기 단말A1(100A)으로 전송한다.Since the procedure S380 is similar to the procedure S180 of FIG. 4, the description of the procedure S180 is applied mutatis mutandis, and only the content of discrimination will be described. When the
그러면, 상기 단말A1(100A)는 상기 자신이 전송했던 CPM 메시지와 상기 메시지에 대한 정보(예컨대 식별 정보, UID)를 함께 저장한다.Then, the
따라서, 상기 메시지 저장 서버(600)와 동기화를 수행하더라도, 상기 단말A1(100A)은 자신이 전송했던 메시지를 상기 메시지 저장 서버(600)로부터 수신하지 않는다. Therefore, even when the synchronization with the
도 7는 본 발명의 제4 실시예를 예시적으로 나타낸 흐름도이다.7 is a flowchart exemplarily illustrating a fourth embodiment of the present invention.
도 7은 CPM Large Mode 메시지의 송수신 예를 나타내었으며, 사용자 A의 단말A1(100A)가 전송한 CPM 메시지가 메시지 저장 서버에 저장되는 상황을 나타내었다. 이와 같은 상황에서 제4 실시예는 상기 단말A1이 동기화 과정에서 자신이 전송했던 CPM Large Mode 메시지를 자신이 다시 수신하는 것을 방지하는 예를 나타내었다.7 illustrates an example of transmitting and receiving a CPM Large Mode message, and illustrates a situation in which a CPM message transmitted by
도 7에 도시된 제4실시예는 제2 실시예 및 제3 실시예에 대한 설명으로부터 당업자가 용이하게 이해할 수 있는바, 중복해서 설명하지 않기로 한다.The fourth embodiment shown in FIG. 7 is easily understood by those skilled in the art from the descriptions of the second embodiment and the third embodiment and will not be redundantly described.
전술한 제1 실시예 내지 제4 실시예는 송수신되는 메시지를 메시지 저장 서버에 저장한 후, 동기화 과정을 수행할 때 상기 메시지가 중복하여 송수신되지 않도록 하는 것을 설명하였다. In the above-described first to fourth embodiments, the message is transmitted and stored in the message storage server, and thus the message is not duplicated when the synchronization process is performed.
그러나, CPM Conversation에서는 상기 CPM 메시지 뿐만이 아니라, CPM 세션도 존재한다. 이하에서는, 상기 CPM 세션을 메시지 저장 서버에 저장하는 것을 제시한다. 상기 CPM 세션의 저장에서는 상기 세션에 대한 제어 시그널, 예컨대 SIP 기반의 INVITE 메시지, SIP 기반의 BYE 메시지도 상기 메시지 저장 서버(600)에 저장될 수 있다.However, in CPM Conversation, not only the CPM message but also the CPM session exists. Hereinafter, it is proposed to store the CPM session in the message storage server. In the storage of the CPM session, a control signal for the session, for example, a SIP-based INVITE message and a SIP-based BYE message, may also be stored in the
도 8은 본 발명의 제5 실시예를 예시적으로 나타낸 흐름도이다.8 is an exemplary flowchart illustrating a fifth embodiment of the present invention.
도 8은 사용자 A의 단말A1(100A)가 전송한 세션 제어(초대 and/or 종료) 메시지 및 일반 메시지가 메시지 저장 서버에 저장되는 상황을 나타내었다. FIG. 8 illustrates a situation in which a session control (invitation and / or end) message and a general message transmitted from user A's terminal A1 (100A) are stored in a message storage server.
도 8을 참고하여 알 수 있는 바와 같이, 상기 메시지 저장 서버(600)가 상기 사용자 A의 단말A1(100A)가 전송한 세션 제어 메시지 또는 일반 메시지를 저장하면, 상기 제어 메시지 또는 일반 메시지에 대한 정보를 포함하는 응답 메시지를 상기 CPM PF 서버로 전송한다. As can be seen with reference to FIG. 8, when the
도 8에서는 일부 구성 요소들(SIP/IP 네트워크 등)이 설명의 편의를 위해서 생략되어 도시되었다. 상기 생략된 구성 요소들의 동작은 도 4 내지 도 7을 참조하여 당업자가 용이하게 알 수 있다.In FIG. 8, some components (SIP / IP network, etc.) are omitted for convenience of description. The operation of the omitted components can be easily understood by those skilled in the art with reference to FIGS. 4 to 7.
도 8을 구체적으로 설명하면 다음과 같다.8 will be described in detail.
1) 먼저, 사용자A의 단말A1(100A)는 CPM 세션을 생성하기 위해서, 세션 초대 메시지, 예컨대 SIP 기반의 INVITE 메시지를 전송한다.1) First, user A's terminal A1 (100A) transmits a session invitation message, for example, a SIP-based INVITE message, to create a CPM session.
2) 그러면, 상기 CPM PF 서버(810A)는 상기 사용자 A에 대한 사용자 설정(예컨대 user preference)를 참조하여, 저장에 관련된 엘리먼트, 예컨대 CPM Conversation history 관련 엘리먼트를 확인하다.2) Then, the
3~4) 그리고, 상기 CPM PF 서버(810A)는 상기 사용자B의 단말B1(100B)로 세션 초대 메시지를 전송하고, 상기 단말B1(100B)는 응답 메시지, 예컨대 SIP 기반의 200 OK 메시지를 전송한다.3-4) The
5) 상기 CPM PF 서버(810A)는 상기 사용자 설정의 확인에 따라, 저장하여야 하는 경우, 상기 세션 초대 메시지를 상기 메시지 저장 서버(600)로 저장 요청한다.5) The
6) 상기 메시지 저장 서버(600)는 상기 세션 초대 메시지에 대한 응답 메시지를 상기 CPM PF 서버(810A)로 전송한다. 이때, 상기 메시지 저장 서버는 상기 응답 메시지 내에 상기 저장된 세션 초대 메시지에 대한 정보(예컨대, 식별자, UID)를 포함시킨다.6) The
7) 상기 CPM PF 서버(810A)는 상기 정보를 포함하는 상기 응답 메시지를 상기 단말A1(100A)로 전송한다. 7) The
8~9) 한편, 상기 단말A1(100A)는 상기 설정된 세션을 이용하여, 메시지를 상기 CPM PF 서버(810A)로 전송한다. 그러면, 상기 CPM PF 서버(810A)는 상기 메시지를 상기 메시지 저장 서버(600)에 저장 요청한다.8 to 9) Meanwhile, the
10) 상기 메시지 저장 서버(600)는 상기 메시지를 저장하고, 응답 메시지를 상기 CPM PF 서버(810A)로 전송한다. 이때, 상기 응답 메시지 내에는 상기 저장된 메시지에 대한 정보(예컨대, 식별 정보, UID)가 포함된다.10) The
11~13) 상기 CPM PF 서버(810A)가 상기 응답 메시지를 수신하면, 상기 단말B1(100B)으로 상기 메시지를 전송한다. 상기 단말B1(100B)으로부터 상기 메시지에 대한 응답 메시지를 수신하면, 상기 CPM PF 서버(810A)는 상기 응답 메시지 내에 상기 메시지 저장 서버(600)로부터 수신한 정보를 포함시켜, 상기 단말A1(100A)로 전송한다.11 to 13) when the
14~18) 한편, 상기 단말A1(100A)가 상기 세션을 종료시키기 위해 세션 종료 메시지, 예컨대 SIP 기반의 BYE 메시지를 상기 CPM PF 서버(810A)로 전송한다. 그러면, 상기 CPM PF 서버(810A)는 전술한 바와 같이 상기 메시지 저장 서버(600)에 상기 세션 종료 메시지를 저장 요청한다. 이후의 절차는 도면과 전술한 내용을 바탕으로 당업자가 용이하게 알 수 있는 바 상세하게 설명하지 않기로 한다.14 to 18) Meanwhile, the
도 9는 본 발명의 제6 실시예를 예시적으로 나타낸 흐름도이다.9 is a flowchart illustrating a sixth embodiment of the present invention.
도 9를 참조하여 알 수 있는 바와 같이, 제6 실시예에 따르면 CPM 메시지 저장 절차와 사용자B의 단말B1으로의 CPM 메시지 전달 절차는 도 4 내지 도 8과 달리 순서가 변경될 수 있다.As can be seen with reference to FIG. 9, according to the sixth embodiment, the procedure for storing the CPM message and the procedure for delivering the CPM message to the terminal B1 of the user B may be changed in a different manner from those of FIGS. 4 to 8.
즉, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 상기 사용자 단말B1(100B)로 전송한 후, 상기 CPM 메시지를 상기 저장 서버(600)에 저장요청 할 수 있다.That is, the
그리고, 상기 저장 서버(600)로부터 상기 메시지에 대한 정보(예컨대 식별 정보 또는 UID)를 포함하는 응답 메시지를 수신하면, 상기 정보를 포함하는 통지 메시지, 예컨대 Notification 메시지 혹은 SIP 기반의 NOTIFY 메시지를 상기 단말B1(100B)로 전송한다. When receiving a response message including information on the message (for example, identification information or UID) from the
대안적으로, 상기 저장 서버(600)가 상기 정보를 포함하는 통지 메시지를 상기 단말B1(100B)으로 직접 전송할 수도 있다.Alternatively, the
한편, 도 9에서는 저장을 위한 사용자 설정(user preference)의 확인이 상기 단말B1(100B)으로 메시지를 전송하기 전에 수행되는 것으로 도시되었으나, 상기 확인은 상기 메시지를 상기 단말B1(100B)로 전송한 후에 수행될 수도 있다. 또는, 상기 확인은 상기 전송한 메시지에 대한 응답 메시지, 예컨대 OK 메시지를 상기 단말B1(100B)으로부터 수신한 이후에 수행될 수도 있다.Meanwhile, although FIG. 9 shows that the confirmation of the user preference for storing is performed before transmitting the message to the
이상과 같이 도 9에 도시된 제6 실시예는 제1 실시예 내지 제5 실시예에 대한 설명으로부터 당업자가 용이하게 이해할 수 있는바, 상세하게 설명하지 않고, 위의 내용들을 따르기로 한다.As described above, the sixth embodiment illustrated in FIG. 9 may be easily understood by those skilled in the art from the description of the first to fifth embodiments, and thus, the above description will be made without detail.
도 10는 본 발명의 제7 실시예를 예시적으로 나타낸 흐름도이다.10 is a flowchart exemplarily illustrating a seventh embodiment of the present invention.
도 10에 도시된 제7 실시예는 CPM Large Mode 메시지의 송수신 예를 나타내었으며, CPM Large Mode 메시지가 사용자B의 단말B(100B)으로 전송된 이후에, 메시지를 저장하는 것을 나타내었다. 아울러, 제 7실시예에 따르면 상기 메시지에 대한 정보는 세션의 종료를 알리는 세션 종료 메시지 내에 포함되어 상기 단말B1(100B)로 전송된다.The seventh embodiment shown in FIG. 10 shows an example of transmitting and receiving a CPM Large Mode message, and shows that the CPM Large Mode message is stored after the CPM Large Mode message is transmitted to the user B of the
도 10에서는 일부 구성 요소들(SIP/IP 네트워크 등)이 설명의 편의를 위해서 생략되어 도시되었다. 상기 생략된 구성 요소들의 동작은 도 4 내지 도 9를 참조하여 당업자가 용이하게 알 수 있다.In FIG. 10, some components (SIP / IP network, etc.) are omitted for convenience of description. The operation of the omitted elements can be easily understood by those skilled in the art with reference to FIGS. 4 to 9.
도 10을 구체적으로 설명하면 다음과 같다.10 will be described in detail.
1) 먼저, 사용자A의 단말A1(100A)는 CPM 세션을 생성하기 위해서, 세션 초대 메시지, 예컨대 SIP 기반의 INVITE 메시지를 전송한다. 상기 세션 초대 메시지는 상기 사용자A의 홈네트워크 내의 CPM PF 서버(810A)를 거쳐서, 상기 사용자B의 홈네트워크 내의 CPM PF 서버(810B)에 도달한다. 이때, 상기 사용자A가 그룹 메시지의 전송을 희망할 경우, 상기 세션 초대 메시지는 CPM CF 서버를 거친다. 상기 세션 초대 메시지는 CPM 메시지임을 나타내는 Feature tag를 포함한다. 한편, 상기 단말A1(100A)가 CPM을 지원하지 않는 non-CPM 클라이언트의 경우(즉, SMS, MMS, 또는e-mail만 지원하는 경우), 상기 CPM PF 서버(810)A는 인터워킹 서버가 참여한다. 즉, 상기 인터워킹 서버는 non-CPM 메시지를 변환하여, 상기 CPM PF 서버(810B)로 전달한다. 1) First, user A's terminal A1 (100A) transmits a session invitation message, for example, a SIP-based INVITE message, to create a CPM session. The session invitation message reaches the
2) 상기 CPM PF 서버(810B)는 상기 세션 초대 메시지가 수신되면, 거절할 것인지 아닌지를 판단한다. 구체적으로, 상기 CPM PF 서버(810B)는 전술한 바와 같이, 상기 세션 초대 메시지 내의 feature tag를 확인한다. 그리고, 전술한 바와 같이, 상기 CPM PF 서버(810B)는 사용자 설정의 <allow-reject-invite> 엘리먼트 값을 확인하여, 메시지의 수신이 허용되는지 확인한다. 상기 <allow-reject-invite> 엘리먼트의 값은 여러 가지가 될 수 있다(예를 들어, aaa@spam.com에서 오는 메일은 수신하지 않음). 이어서, 상기 CPM PF 서버(810B)는 상기 세션 초대 메시지가 익명의 메시지인지 확인한다. 익명이 지원되지 않으면, 상기 CPM PF 서버(810B)는 상기 세션 초대 메시지를 거절한다. 2) When the session invitation message is received, the
상기 CPM PF 서버(810B)가 상기 세션 초대 메시지를 수신하기로 결정하면, 메시지 전송(deliver)을 위한 사용자 설정을 확인한다. 구체적으로, 상기 CPM PF 서버(810B)는 메시지 처리(message handling)을 위한 사용자 설정(user preference)을 체크한다. 상기 사용자 설정(general user preference)에 따라, 상기 세션 초대 메시지를 연기(defer)/인터워킹(interworking)/저장(store)/전달(deliver)할지 선택한다. When the
상기 전달 또는 인터워킹으로 결정되면, 상기 CPM PF 서버(810B)는 상기 사용자B의 등록된 하나 이상의 단말의 사용자 설정을 확인하여, 수신가능한 단말이 있는지 확인한다. If it is determined that the transfer or interworking, the
3) 수신가능한 단말이 단말B1(100B)로 결정되면, 상기 CPM PF 서버(810B)는 상기 단말B1(100B)로 상기 세션 초대 메시지를 전달한다.3) When the receivable terminal is determined as the
4) 상기 단말B1(100B)은 상기 세션 초대 메시지의 수신에 응답하여, 응답 메시지, 예컨대 SIP 기반의 200 OK 메시지를 전송한다.4) In response to receiving the session invitation message, the
5) 상기 CPM PF 서버(810B)는 상기 응답 메시지를 상기 사용자A의 단말A1(100A)로 전송한다. 그리고, 상기 CPM PF 서버(810B)는 상기 단말A(100A)로부터 MSRP 메시지를 수신할 준비를 한다.5) The
6) 상기 단말A1(100A)는 MSRP 메시지를 전송한다.6) The
7) 상기 MSRP 메시지를 수신하면, 상기 CPM PF 서버(810B)는 저장을 위한 사용자 설정을 확인한다. 즉, 상기 CPM PF 서버(810B)는 상기 사용자B의 XDM에 저장된 사용자 설정에서 CPM Conversation history 관련 옵션을 확인한다. 상기 사용자 설정에 CPM Conversation history를 저장하도록 세팅되어 있는지 확인한다. 이 과정은 상기 전달을 위한 사용자 설정 확인 과정 이후에 수행될 수도 있고, 혹은 상기 MSRP 메시지를 수신하기 전에 수행될 수도 있다.7) Upon receiving the MSRP message, the
한편, 상기 CPM PF 서버(810B)는 상기 CPM Conversation history를 저장하는 경우, MSRP SEND chunks의 수신 완료 후까지 상기 단말B1(100B)에게 상기 MSRP 메시지를 전송하지 않는다. On the other hand, when the
9~10) 상기 CPM PF 서버(810B)는 상기 MSRP SEND chunks 수신이 완료되면 상기 단말B1(100B)으로 MSRP 메시지를 전달한다. 그리고, 상기 CPM PF 서버(810B)는 상기 단말B1(100B)으로부터 응답 메시지, 예컨대 200 OK 메시지를 수신한다.9 to 10) When the
11) 상기 CPM PF 서버(810B)는 상기 응답 메시지를 수신하면, 상기 사용자설정에 따라 상기 CPM Conversation history를 저장하기로 하였으므로, IMAP Command를 사용하여 상기 메시지 저장 서버(600)에 상기 MSRP 메시지의 저장 요청을 전송한다. 11) When the
12) 상기 메시지 저장 서버(600)는 상기 MSRP 메시지를 저장하고, 전술한바와 같이 상기 메시지에 대한 정보(예컨대, UID)를 포함하는 저장 요청 응답 메시지를 상기 CPM PF 서버(810B)로 전송한다.12) The
13) 한편, 상기 단말A1(100A)는 상기 CPM Large Mode 메시지를 전송하기 위해 생성했던. SIP 기반의 세션을 종료하기 위한 종료 메시지, 예컨대 SIP 기반의 BYE 메시지를 상기 CPM PF 서버(810B)로 전송한다.13) On the other hand, the terminal A1 (100A) was created to transmit the CPM Large Mode message. A termination message for terminating a SIP-based session, for example, a SIP-based BYE message, is transmitted to the
14) 상기 CPM PF 서버(810B)는 상기 단말A1(100A)으로 응답 메시지를 전송한다.14) The
15~16) 한편, 상기 CPM PF 서버(810B)는 상기 메시지 저장 서버(600)로부터 수신한 상기 저장된 메시지에 대한 정보를 포함하는 종료 메시지, 예컨대 SIP 기반의 BYE 메시지를 상기 단말B1(100B)로 전송한다. 그리고, 상기 단말B1(100B)는 응답 메시지를 상기 CPM PF 서버(810B)로 전송한다.On the other hand, the
다른 한편, 어떤 이유로 상기 메시지 전송이 실패할 경우, 상기 CPM PF 서버(810B)는 상기 MSRP 메시지의 전송을 연기(defer)한다. 그리고, 상기 CPM PF 서버(810B)는 연기되었다는 사실을 알려주기 위한 통지 메시지를 상기 단말B1(100B)로 전송한다.On the other hand, if the message transmission fails for some reason, the
도 11는 본 발명의 제7 실시예를 예시적으로 나타낸 흐름도이다.11 is a flowchart exemplarily illustrating a seventh embodiment of the present invention.
도 11에 도시된 제8 실시예는 CPM Page Mode를 나타내었으며, 사용자 B의 단말B1로의 CPM 메시지가 연기(defer)된 이후, 상기 단말B1이 상기 연기된 CPM 메시지를 수신할 때, 중복 수신 및 저장이 방지되는 것을 나타내었다.The eighth embodiment shown in FIG. 11 shows a CPM Page Mode, and when the terminal B1 receives the deferred CPM message after the CPM message to the user B of the user B is deferred, duplicate reception and It was shown that storage was prevented.
도 11에는 사용자 A의 단말A1(100A)에 의한 CPM 메시지의 송신 절차들(S520), 사용자 B의 홈네트워크 내의 CPM PF 서버로의 CPM 메시지 전달 절차들(S540), 사용자 설정(User Preference) 확인 및 CPM 메시지 저장 절차들(S550), CPM 메시지에 대한 응답 메시지 전송 절차들(S580)가 도시되어 있다.11 shows the procedure for transmitting the CPM message by the user A's terminal A1 (100A) (S520), the procedure for delivering the CPM messages to the CPM PF server in the user's home network (S540), and checking the user preferences (User Preference). And CPM message storage procedures (S550), response message transmission procedures (S580) for the CPM message.
1) 먼저, 상기 사용자 A의 단말A1(100A)에 의한 CPM 메시지의 송신 절차(S520)가 수행된다. 상기 S520절차는 도 4의 S120 절차와 유사하므로, S120 절차의 내용을 준용하기로 한다.1) First, a procedure (S520) of transmitting a CPM message by the terminal A1 (100A) of the user A is performed. Since the procedure S520 is similar to the procedure S120 of FIG. 4, the contents of the procedure S120 will be applied mutatis mutandis.
2) 다음으로, 사용자 B의 홈네트워크 내의 CPM PF 서버로의 CPM 메시지 전달 절차들(S540)가 수행된다. 이 S540 절차는 도 4의 S140 절차와 유사하므로, S140절차의 내용을 준용하기로 한다.2) Next, CPM message delivery procedures S540 to the CPM PF server in User B's home network are performed. Since the S540 procedure is similar to the S140 procedure of FIG. 4, the contents of the S140 procedure will be applied mutatis mutandis.
3) 다음으로, 사용자 설정(User Preference) 확인 및 CPM 메시지 저장 절차들(S550)가 수행된다.3) Next, user preference confirmation and CPM message storage procedures S550 are performed.
상기 사용자 B의 홈네트워크 내의 CPM PF 서버(810B)가 상기 CPM 메시지를 수신하면, 상기 사용자 B의 사용자 설정(또는 User Preference)를 확인한다(S551).When the
상기 사용자 설정(또는 User Preference)의 확인 과정(S551)은 도 4에 대한 설명으로부터 당업자가 용이하게 알 수 있는바, 상세하게 설명하지 않기로 한다.The confirmation process (S551) of the user setting (or user preference) is easily understood by those skilled in the art from the description of FIG. 4 and will not be described in detail.
한편, 수신할 수 있는 단말이 없는 것으로 확인되는 경우, 상기 CPM PF 서버(810B)는 일반 사용자 설정(General User Preference)를 확인하여, 상기 메시지를 지연(defer)할지, 인터워킹할 지, 혹은 다른 단말로 리다이렉트(redirect)할지, 혹은 저장(store)할지를 결정한다. On the other hand, if it is determined that there is no terminal that can receive, the
이때, 상기 지연(defer) 및 저장(Store)로 결정되면, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 상기 메시지 저장 서버(600)로 전송한다(S552). 이때, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 IMAP Command를 사용하여 상기 메시지 저장 서버(600)에 전달한다.At this time, if it is determined that the defer and store, the
상기 메시지 저장 서버(600)는 상기 CPM 메시지를 저장하고(S553), 상기 저장 서버(600) 내에 저장된 CPM 메시지에 대한 정보(예컨대 상기 저장 서버(600)내에 저장된 다수의 메시지들 중 상기 메시지를 구분할 수 있게 하는 식별자, UID(Unique Identifier))를 포함하는 응답 메시지를 상기 CPM PF 서버(810B)로 전송한다(S554). 상기 식별자 또는 UID는 RFC3501에 따라서 생성될 수 있다.The
상기 CPM PF 서버(810B)는 상기 수신된 응답 메시지 내의 상기 정보와, 상기 CPM 메시지와 상기 정보를 결합한다(S555). 즉, 상기 정보를 상기 CPM 메시지 내에 포함시킨다.The
이어서, 상기 CPM PF 서버(810B)는 상기 결합된 메시지를 임시 저장하고, 전송을 연기한다(S556).Subsequently, the
5) 다음으로, CPM 메시지에 대한 응답 메시지 전송 절차(S580)가 수행된다. 상기 CPM PF 서버(810B)는 상기 CPM 메시지에 대한 응답 메시지, 예컨대 SIP 기반의 200 OK 메시지를 상기 SIP/IP 네트워크들(500B, 500A)를 통하여 상기 CPM PF 서버(810A)로 전송한다. 5) Next, a response message transmission procedure (S580) for the CPM message is performed. The
상기 CPM PF 서버(810A)는 상기 응답 메시지를 수신하면, 상기 응답 메시지를 상기 사용자A의 단말A1(100A)으로 전달한다.When the
6) 한편, 상기 CPM PF 서버(810B)는 상기 연기된 CPM 메시지를 관련 설정에 따라서 처리한다. 예를 들어, 상기 사용자B가 상기 연기된 CPM 메시지를 요청하면, 상기 메시지에 대한 정보를 포함하는 CPM 메시지를 상기 사용자B의 단말로 전달한다. 따라서, 상기 사용자B의 단말은 상기 메시지에 대한 정보를 이용하여, 동기화 수행시, 중복하여 수신하지 않을 수 있다.6) Meanwhile, the
도 12는 본 발명의 제9 실시예를 예시적으로 나타낸 흐름도이다.12 is a flowchart exemplarily showing a ninth embodiment of the present invention.
도 12에 도시된 제9 실시예는 CPM Page Mode를 나타내었으며, CPM 메시지가 인터워킹되어 상기 사용자 B의 단말B1로 전송될 때, 중복 수신 및 저장이 방지되는 것을 나타내었다.The ninth embodiment shown in FIG. 12 shows the CPM Page Mode, and when the CPM message is interworked and transmitted to the terminal B1 of the user B, duplicate reception and storage are prevented.
도 12에는 사용자 A의 단말A1(100A)에 의한 CPM 메시지의 송신 절차들(S620), 사용자 B의 홈네트워크 내의 CPM PF 서버로의 CPM 메시지 전달 절차들(S640), 사용자 설정(User Preference) 확인 및 CPM 메시지 저장 절차들(S650), 인터워킹 절차들(S660), 응답 메시지 전송 절차들(S680)가 도시되어 있다.12 shows the procedure for transmitting the CPM message by the user A's terminal A1 (100A) (S620), the procedure for delivering the CPM messages to the CPM PF server in the user's home network (S640), and checking the user preferences (User Preference). And CPM message storage procedures (S650), interworking procedures (S660), and response message transmission procedures (S680).
1) 먼저, 상기 사용자 A의 단말A1(100A)에 의한 CPM 메시지의 송신 절차(S620)가 수행된다. 상기 S620절차는 도 4의 S120 절차와 유사하므로, S120 절차의 내용을 준용하기로 한다.1) First, a procedure (S620) of transmitting a CPM message by UE A1 (100A) of user A is performed. Since the procedure S620 is similar to the procedure S120 of FIG. 4, the contents of the procedure S120 will be applied mutatis mutandis.
2) 다음으로, 사용자 B의 홈네트워크 내의 CPM PF 서버로의 CPM 메시지 전달 절차들(S640)가 수행된다. 이 S640 절차는 도 4의 S140 절차와 유사하므로, S140절차의 내용을 준용하기로 한다.2) Next, CPM message delivery procedures S640 to the CPM PF server in User B's home network are performed. Since the S640 procedure is similar to the S140 procedure of FIG. 4, the contents of the S140 procedure will be applied mutatis mutandis.
3) 다음으로, 사용자 설정(User Preference) 확인 및 CPM 메시지 저장 절차들(S650)가 수행된다.3) Next, user preference confirmation and CPM message storage procedures S650 are performed.
상기 사용자 B의 홈네트워크 내의 CPM PF 서버(810B)가 상기 CPM 메시지를 수신하면, 상기 사용자 B의 사용자 설정(또는 User Preference)를 확인한다(S651).When the
상기 사용자 설정(또는 User Preference)의 확인 과정(S551)은 도 4에 대한 설명으로부터 당업자가 용이하게 알 수 있는바, 상세하게 설명하지 않기로 한다.The confirmation process (S551) of the user setting (or user preference) is easily understood by those skilled in the art from the description of FIG. 4 and will not be described in detail.
한편, 수신할 수 있는 단말이 없는 것으로 확인되는 경우, 상기 CPM PF 서버(810B)는 일반 사용자 설정(General User Preference)를 확인하여, 상기 메시지를 지연(defer)할지, 인터워킹할 지, 혹은 다른 단말로 리다이렉트(redirect)할지, 혹은 저장(store)할지를 결정한다. On the other hand, if it is determined that there is no terminal that can receive, the
이때, 상기 인터워킹으로 결정되면, 상기 CPM PF 서버(810B)는 사용자 설정을 다시 체크하여, 저장 여부를 결정한다. 즉, 인터워킹으로 결정되면, 상기 수신할 수 있는 단말이 있는 경우이므로, 이와 관련된 사용자 설정을 다시 체크한다. At this time, if it is determined that the interworking, the
상기 인터워킹으로 결정되는 예는, 사용자B의 등록된 단말이 없는 경우, 유효한 SIP 어드레스를 갖는 CPM 사용자가 없는 경우(Non-CPM user with a valid SIP address), 제어 또는 종단 네트워크 내에 CPM 기능이 없는 경우(Missing CPM Support in the Controlling or Terminating Network), 제어 또는 종단 네트워크 내에 SIP/IP 코어가 지원되지 않는 경우(Missing SIP/IP Core support in the Controlling or Terminating Network), SIP/IP 코어 네트워크를 통해 수신자로 라우팅될 수 없는 경우(Recipient not routable via SIP/IP Core network), CPM 메시지의 미디어가 인터워킹 서버에 의해서 지원되지 않는 경우(Handling of Media not supported by Interworking Function)이다.An example of the interworking decision is that if there is no registered terminal of user B, if there is no CPM user with a valid SIP address (Non-CPM user with a valid SIP address), there is no CPM function in the control or end network. Missing CPM Support in the Controlling or Terminating Network, Missing SIP / IP Core support in the Controlling or Terminating Network, Recipient over SIP / IP Core Network Recipient not routable via SIP / IP Core network, when the media of the CPM message is not supported by the interworking server (Handling of Media not supported by Interworking Function).
이와 같이, 상기 저장(Store) 및 인터워킹으로 결정되면, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 상기 메시지 저장 서버(600)로 전송한다(S652). As such, when it is determined that the store and interworking, the
이때, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 IMAP Command를 사용하여 상기 메시지 저장 서버(600)에 전달한다.In this case, the
상기 메시지 저장 서버(600)는 상기 CPM 메시지를 저장하고(S653), 상기 저장 서버(600) 내에 저장된 CPM 메시지에 대한 정보(예컨대 상기 저장 서버(600)내에 저장된 다수의 메시지들 중 상기 메시지를 구분할 수 있게 하는 식별자, UID(Unique Identifier))를 포함하는 응답 메시지를 상기 CPM PF 서버(810B)로 전송한다(S654). 상기 식별자 또는 UID는 RFC3501에 따라서 생성될 수 있다.The
상기 CPM PF 서버(810B)는 상기 수신된 응답 메시지 내의 상기 정보와, 상기 CPM 메시지와 상기 정보를 결합한다(S655). 즉, 상기 정보를 상기 CPM 메시지 내에 포함시킨다.The
4) 다음으로, 인터워킹 절차(S660)가 수행된다. 4) Next, an interworking procedure S660 is performed.
구체적으로, 상기 CPM PF 서버(810B)는 상기 결합된 CPM 메시지를 상기 인터워킹 서버(700B)로 전송한다(S661).In detail, the
상기 인터워킹 서버(700B)는 적합한 인터워킹 기능을 선택한다(S662). 상기 인터워킹 기능의 선택은 다음과 같은 기준에 의해서 이루어질 수 있다. 예를 들어 상기 기준은 비 CPM 사용자 주소를 수반하는 non-CPM 통신 서비스 식별자(Non-CPM communication Service Identifier that accompanies the non-CPM User address), 서비스 제공자 정책, 타겟 사용자 설정(target user preference), 타겟 사용자의 프리젠스 정보(target user’s presence information), 메시지 특징(예컨대 메시지 크기 및 컨텐츠), 세션 특징(예컨대 세션에 사용되는 미디어) 등을 포함한다.The
상기 인터워킹 서버(700B)는 상기 CPM 메시지를 non-CPM 메시지로 인터워킹 한다. 즉, 상기 CPM 메시지 내의 상기 정보를 non-CPM 메시지의 적합한 헤더로 매핑시킨다. 상기 적합한 헤더가 없을 경우, 확장 헤더를 생성한다. The
상기 인터워킹 서버(700B)는 상기 non-CPM 메시지를 상기 단말B1(200B)로 전송한다(S663).The
그러면, 상기 단말B1(200B)는 상기 non-CPM 메시지 내에 포함된 상기 메시지에 대한 정보를 저장한다. 이때, 상기 단말B1(200B) 내에서 상기 CPM 메시지를 위한 저장소와 상기 non-CPM 메시지를 위한 저장소가 동일하더라도, 추후 동기화시 상기 메시지에 대한 정보를 이용하여 중복 수신되는 것을 방지할 수 있다.Then, the terminal B1 200B stores information on the message included in the non-CPM message. At this time, even if the storage for the CPM message and the storage for the non-CPM message is the same in the terminal B1 (200B), it can be prevented from being duplicated by using the information on the message in the future synchronization.
5) 다음으로, 응답 메시지 전송 절차(S680)가 수행된다. 상기 CPM PF 서버(810B)는 상기 CPM 메시지에 대한 응답 메시지, 예컨대 SIP 기반의 200 OK 메시지를 상기 SIP/IP 네트워크들(500B, 500A)를 통하여 상기 CPM PF 서버(810A)로 전송한다. 상기 CPM PF 서버(810A)는 상기 응답 메시지를 수신하면, 상기 응답 메시지를 상기 사용자A의 단말A1(100A)으로 전달한다.5) Next, a response message transmission procedure S680 is performed. The
도 13는 본 발명의 제10 실시예를 예시적으로 나타낸 흐름도이다.13 is a flowchart exemplarily illustrating a tenth embodiment of the present invention.
도 13에 도시된 제10 실시예는 CPM Page Mode를 나타내었으며, CPM 메시지가 인터워킹되어 상기 사용자 B의 단말B1로 전송될 때, 중복 수신 및 저장이 방지되는 것을 나타내었다.The tenth embodiment shown in FIG. 13 shows a CPM Page Mode, and shows that when a CPM message is interworked and transmitted to the terminal B1 of the user B, duplicate reception and storage are prevented.
도 13에는 사용자 A의 단말A1(100A)에 의한 CPM 메시지의 송신 절차들(S720), 사용자 B의 홈네트워크 내의 CPM PF 서버로의 CPM 메시지 전달 절차들(S740), 사용자 설정(User Preference) 확인 및 CPM 메시지 저장 절차들(S750), 리다이렉트 절차들(S761)이 도시되어 있다.13 shows the procedure for transmitting the CPM message by the user A's terminal A1 (100A) (S720), the procedure for delivering the CPM messages to the CPM PF server in the user's home network (S740), and confirms the user preference (User Preference). And CPM message storage procedures (S750), redirect procedures (S761) are shown.
1) 먼저, 상기 사용자 A의 단말A1(100A)에 의한 CPM 메시지의 송신 절차(S720)가 수행된다. 상기 S720절차는 도 4의 S120 절차와 유사하므로, S120 절차의 내용을 준용하기로 한다.1) First, a procedure (S720) of transmitting a CPM message by the terminal A1 (100A) of the user A is performed. Since the S720 procedure is similar to the S120 procedure of FIG. 4, the contents of the S120 procedure will be applied mutatis mutandis.
2) 다음으로, 사용자 B의 홈네트워크 내의 CPM PF 서버로의 CPM 메시지 전달 절차들(S740)가 수행된다. 이 S740 절차는 도 4의 S140 절차와 유사하므로, S140절차의 내용을 준용하기로 한다.2) Next, CPM message delivery procedures S740 to the CPM PF server in User B's home network are performed. Since the procedure S740 is similar to the procedure S140 of FIG. 4, the contents of the procedure S140 will be applied mutatis mutandis.
3) 다음으로, 사용자 설정(User Preference) 확인 및 CPM 메시지 저장 절차들(S750)가 수행된다.3) Next, user preference confirmation and CPM message storage procedures S750 are performed.
상기 사용자 B의 홈네트워크 내의 CPM PF 서버(810B)가 상기 CPM 메시지를 수신하면, 상기 사용자 B의 사용자 설정(또는 User Preference)를 확인한다(S751).When the
상기 사용자 설정(또는 User Preference)의 확인 과정(S551)은 도 4에 대한 설명으로부터 당업자가 용이하게 알 수 있는바, 상세하게 설명하지 않기로 한다.The confirmation process (S551) of the user setting (or user preference) is easily understood by those skilled in the art from the description of FIG. 4 and will not be described in detail.
수신할 수 있는 단말이 없는 것으로 확인되는 경우, 상기 CPM PF 서버(810B)는 일반 사용자 설정(General User Preference)를 확인하여, 상기 메시지를 지연(defer)할지, 인터워킹할 지, 혹은 다른 단말로 리다이렉트(redirect)할지, 혹은 저장(store)할지를 결정한다. If it is determined that there is no terminal that can be received, the
이때, 상기 리다이렉트로 결정되면, 상기 CPM PF 서버(810B)는 사용자 설정을 다시 체크하여, 저장 여부를 결정한다. 즉, 리다이렉트로 결정되면, 상기 수신할 수 있는 단말이 있는 경우이므로, 이와 관련된 사용자 설정을 다시 체크한다. At this time, if it is determined that the redirect, the
이와 같이, 상기 저장(Store) 및 리다이렉트으로 결정되면, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 상기 메시지 저장 서버(600)로 전송한다(S752). In this way, if it is determined that the store (Store) and the redirect, the
이때, 상기 CPM PF 서버(810B)는 상기 CPM 메시지를 IMAP Command를 사용하여 상기 메시지 저장 서버(600)에 전달한다.In this case, the
상기 메시지 저장 서버(600)는 상기 CPM 메시지를 저장하고(S753), 상기 저장 서버(600) 내에 저장된 CPM 메시지에 대한 정보(예컨대 상기 저장 서버(600)내에 저장된 다수의 메시지들 중 상기 메시지를 구분할 수 있게 하는 식별자, UID(Unique Identifier))를 포함하는 응답 메시지를 상기 CPM PF 서버(810B)로 전송한다(S754). 상기 식별자 또는 UID는 RFC3501에 따라서 생성될 수 있다.The
상기 CPM PF 서버(810B)는 상기 수신된 응답 메시지 내의 상기 정보와, 상기 CPM 메시지와 상기 정보를 결합한다(S755). 즉, 상기 정보를 상기 CPM 메시지 내에 포함시킨다.The
4) 다음으로, 상기 CPM PF 서버(810B)는 상기 결합된 CPM 메시지를 상기 사용자B의 다른 단말로 리다이렉트한다(S761). 이때, 상기 다른 단말은 상기 메시지에 대한 정보를 이용하여 동기화 수행시, 중복 저장을 방지한다. 4) Next, the
도 14은 CPM PF 서버의 동작을 나타낸 흐름도이다.14 is a flowchart showing the operation of the CPM PF server.
도 14을 참조하여 알 수 있는 바와 같이, 상기 CPM PF 서버(810)는 소스 단말로부터의 메시지를 수신하면(S811), 사용자 설정에 기초하여 소스 단말로부터의 메시지를 수신할 수 있는 등록된 타겟 단말들이 존재하는지 확인한다(S812).As can be seen with reference to FIG. 14, when the
상기 등록된 단말들이 존재하는 것으로 확인되면, 상기 CPM PF 서버(810)는 상기 사용자 설정에 기초하여 소스 단말로부터의 메시지를 상기 확인된 타겟 단말로 전달할지를 결정한다(S813).If it is determined that the registered terminals exist, the
상기 메시지를 전달하는 것으로 결정하는 경우, 상기 CPM PF 서버(810)는 상기 사용자 설정에 기초하여, 상기 메시지를 메시지 저장 서버에 저장할지 여부를 결정한다(S814).When determining to deliver the message, the
상기 메시지를 저장하는 경우, 상기 CPM PF 서버(810)는 상기 메시지 저장 서버(600)에 상기 메시지의 저장 요청하고(S815), 상기 메시지 저장 서버로부터 상기 저장된 메시지에 대한 정보를 포함하는 응답 메시지를 수신한다(S816).When storing the message, the
그러면, 상기 CPM PF 서버(810)는 상기 정보를 상기 메시지에 포함시켜 상기 타겟 단말로 전송한다(S817).Then, the
여기까지 설명된 본 발명에 따른 방법은 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 본 발명에 따른 방법은 저장 매체(예를 들어, 내부 메모리, 플래쉬 메모리, 하드 디스크, 기타 등등)에 저장될 수 있고, 마이크로프로세서, 제어기, 마이크로 제어기, ASIC(Application Specific Integrated Circuit) 등과 같은 프로세서 에 의해서 실행될 수 있는 소프트웨어 프로그램 내에 코드들 또는 명령어들로 구현될 수 있다. 이에 대해서 도 11를 참조하여 설명하기로 한다.The method according to the invention described thus far can be implemented in software, hardware, or a combination thereof. For example, the method according to the present invention may be stored in a storage medium (eg, internal memory, flash memory, hard disk, etc.), and may be a microprocessor, controller, microcontroller, application specific integrated circuit (ASIC). It may be implemented as codes or instructions in a software program that can be executed by a processor such as. This will be described with reference to FIG. 11.
도 15은 본 발명의 따른 CPM PF 서버의 구성 블록도이다.15 is a block diagram of a CPM PF server according to the present invention.
도 15에 도시된 바와 같이 상기 CPM PF 서버(810)는 저장수단(811), 컨트롤러(812), 송수신부(813)을 포함한다.As shown in FIG. 15, the
상기 저장 수단(811)은 도 4 내지 도 14에 도시된 방법이 구현된 소프트웨어 프로그램을 저장한다.The storage means 811 stores a software program in which the method shown in FIGS. 4 to 14 is implemented.
상기 컨트롤러(812)는 상기 저장 수단(811) 및 상기 송수신부(813)를 각기 제어한다. 구체적으로 상기 컨트롤러(812)은 상기 저장 수단에 각기 저장된 상기 방법들을 각기 실행한다. 그리고 상기 컨트롤러(813)은 상기 송수신부들을 통해 상기 전술한 신호들을 전송한다. The
이상에서는 본 발명의 바람직한 실시예를 예시적으로 설명하였으나, 본 발명의 범위는 이와 같은 특정 실시예에만 한정되는 것은 아니므로, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다.While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, May be modified, modified, or improved.
100A: 사용자A의 단말A1
100B: 사용자B의 단말B1
500A: 사용자A의 홈네트워크 내의 SIP/IP 네트워크
500B: 사용자B의 홈네트워크 내의 SIP/IP 네트워크
600: 메시지 저장 서버
700B: 사용자B의 홈네트워크 내의 인터워킹 서버
810A: 사용자A의 홈네트워크 내의 CPM PF 서버
810B: 사용자B의 홈네트워크 내의 CPM PF 서버100A: terminal A1 of user A
100B: terminal B1 of user B
500A: SIP / IP network in user A's home network
500B: SIP / IP network in user B's home network
600: message storage server
700B: Interworking Server in User B's Home Network
810A: CPM PF Server in User A's Home Network
810B: CPM PF Server in User B's Home Network
Claims (25)
소스 단말로부터 수신된 메시지를 전송할지 여부를 결정하는 단계와;
상기 메시지를 전송하는 것으로 결정하는 경우, 사용자 설정 또는 정책에 기초하여, 상기 메시지를 메시지 저장 서버에 저장할지 여부를 결정하는 단계와;
상기 메시지가 상기 메시지 저장 서버에 저장되는 것으로 결정되는 경우 상기 메시지를 저장할 것을 상기 메시지 저장 서버에 요청하는 단계와;
상기 메시지 저장 서버로부터 상기 저장된 메시지에 대한 정보를 획득하는 단계와;
상기 사용자 설정 또는 정책에 기초하여, 수신자의 단말들 중 상기 소스 단말로부터의 메시지를 수신할 수 있는 하나 이상의 단말이 존재하는지 확인하는 단계와;
상기 확인 결과에 따라 상기 정보를 포함하는 메시지를 상기 수신자의 단말들 중 적어도 하나의 단말로 전송하는 단계를 포함하고,
상기 정보는 동기 절차를 위해서 사용되는 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.Message transmission method performed by a Converged IP Messaging (CPM) server.
Determining whether to send a message received from a source terminal;
When determining to send the message, determining whether to store the message on a message storage server based on user settings or policies;
Requesting the message storage server to store the message if it is determined that the message is stored at the message storage server;
Obtaining information on the stored message from the message storage server;
Checking whether there is at least one terminal among terminals of a receiver capable of receiving a message from the source terminal based on the user setting or policy;
Transmitting a message including the information to at least one of the terminals of the receiver according to the confirmation result;
And the information is used for a synchronization procedure.
상기 확인 결과에 따라 상기 수신자의 단말들 중 상기 소스 단말로부터의 메시지를 수신할 수 있는 하나 이상의 단말이 존재하지 않는 경우,
상기 사용자 설정에 기초하여, 상기 메시지를 지연시킬지 혹은 상기 메시지를 인터워킹할지 혹은 상기 메시지를 다른 단말로 리다이렉트(redirect)할지를 결정하는 단계를 더 포함하는 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.The method of claim 1,
When there is no one or more terminals that can receive a message from the source terminal among the terminals of the receiver according to the check result,
And determining whether to delay the message, interwork the message, or redirect the message to another terminal based on the user setting.
상기 소스 단말로부터 수신한 메시지 내의 정보를 바탕으로 상기 메시지를 수신할지 혹은 거절할지 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.The method of claim 1,
And determining whether to receive or reject the message on the basis of the information in the message received from the source terminal.
상기 메시지 저장 서버 내에서 상기 메시지를 구분할 수 있게 하는 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.The method of claim 1, wherein the information is
And transmitting the message in the message storage server.
상기 메시지에 대한 UID(Unique Identifier)인 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.The method of claim 1, wherein the information is
Message transmission method in a CPM server, characterized in that the UID (Unique Identifier) for the message.
상기 수신자의 단말의 홈 네트워크 내에 위치하는 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.The method of claim 1, wherein the CPM server
Message transmission method in a CPM server, characterized in that located in the home network of the terminal of the receiver.
소스 단말로부터의 메시지가 CPM Large 모드인지 확인하는 단계와;
상기 CPM Large 모드인 경우, 상기 소스 단말로부터의 다른 메시지가 추가 수신될 때까지 대기하는 단계를 더 포함하는 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.The method of claim 1,
Checking whether the message from the source terminal is in the CPM Large mode;
In the CPM Large mode, the method further comprises the step of waiting until another message from the source terminal is further received.
상기 수신자의 단말로부터 응답 메시지를 수신하는 단계와;
상기 수신자 단말로부터의 응답 메시지를 상기 소스 단말의 홈 네트워크에 위치하는 CPM 서버로 전송하는 단계를 더 포함하는 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.The method of claim 1,
Receiving a response message from the terminal of the receiver;
And transmitting a response message from the receiver terminal to a CPM server located in the home network of the source terminal.
상기 수신자의 단말들이 복수개인 경우,
상기 복수개의 단말로부터의 응답 메시지들 중, 첫 번째 응답 메시지가 수신되면, 상기 첫 번째 응답 메시지를 상기 소스 단말의 홈 네트워크에 위치하는 CPM 서버로 전송하는 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.The method of claim 8,
When there are a plurality of terminals of the receiver,
Among the response messages from the plurality of terminals, when a first response message is received, the first response message is transmitted to a CPM server located in the home network of the source terminal. .
소스 단말로부터 수신된 메시지를 인터워킹(interworking) 방식으로 전송할지 여부를 결정하는 단계와;
상기 메시지가 인터워킹 방식으로 전송되는 것으로 결정되는 경우, 사용자 설정 또는 정책에 기초하여, 상기 메시지를 메시지 저장 서버에 저장할지 여부를 결정하는 단계와;
상기 메시지가 상기 메시지 저장 서버에 저장되는 것으로 결정되는 경우 상기 메시지를 저장할 것을 상기 메시지 저장 서버에 요청하는 단계와;
상기 메시지 저장 서버로부터 상기 저장된 메시지에 대한 정보를 획득하는 단계와;
상기 사용자 설정 또는 정책에 기초하여, 수신자의 단말들 중 상기 소스 단말로부터의 메시지를 수신할 수 있는 하나 이상의 등록된 단말들이 있는지 확인하는 단계와;
상기 확인 결과에 따라 상기 메시지가 적어도 하나의 수신자 단말로 전송되도록, 상기 정보를 포함하는 메시지를 인터워킹을 위한 엔티티로 전송하는 단계를 포함하고,
상기 정보는 동기 절차를 위해서 사용되는 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.Message transmission method performed by a Converged IP Messaging (CPM) server.
Determining whether to transmit the message received from the source terminal in an interworking manner;
If it is determined that the message is to be transmitted in an interworking manner, determining whether to store the message in a message storage server based on user settings or policies;
Requesting the message storage server to store the message if it is determined that the message is stored at the message storage server;
Obtaining information on the stored message from the message storage server;
Based on the user setting or policy, determining whether one or more of the receiver's terminals are capable of receiving a message from the source terminal;
Transmitting a message including the information to an entity for interworking so that the message is transmitted to at least one receiver terminal according to the verification result,
And the information is used for a synchronization procedure.
상기 메시지 저장 서버 내에서 상기 메시지를 구분할 수 있게 하는 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.The method of claim 10, wherein the information is
And transmitting the message in the message storage server.
상기 메시지에 대한 UID(Unique Identifier)인 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.The method of claim 10, wherein the information is
Message transmission method in a CPM server, characterized in that the UID (Unique Identifier) for the message.
상기 수신자의 단말의 홈 네트워크 내에 위치하는 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.The method of claim 10, wherein the CPM server
Message transmission method in a CPM server, characterized in that located in the home network of the terminal of the receiver.
소스 단말로부터 수신된 메시지를 전송할지 여부를 결정하고, 상기 메시지를 전송하는 것으로 결정하는 경우 사용자 설정 또는 정책에 기초하여 상기 메시지를 메시지 저장 서버에 저장할지 여부를 결정하는 프로세서와;
상기 메시지가 상기 메시지 저장 서버에 저장되는 것으로 결정되는 경우, 상기 메시지를 저장할 것을 상기 메시지 저장 서버에 요청하고, 상기 메시지 저장 서버로부터 상기 저장된 메시지에 대한 정보를 획득하는 송수신부를 포함하고,
상기 프로세서는 상기 정보를 획득하면 상기 사용자 설정 또는 정책에 기초하여 수신자의 단말들 중 상기 소스 단말로부터의 메시지를 수신할 수 있는 적어도 하나 이상의 단말이 존재하는지 확인하고, 상기 확인 결과에 따라 상기 적어도 하나 이상의 수신자 단말로 상기 정보를 포함하는 메시지를 전송하고,
상기 정보는 동기 절차를 위해서 사용되는 것을 특징으로 하는 서버.As a Converged IP Messaging (CPM) server,
A processor for determining whether to transmit a message received from a source terminal, and for storing the message in a message storage server based on a user setting or a policy when determining to transmit the message;
If it is determined that the message is to be stored in the message storage server, requesting the message storage server to store the message, and including a transceiver for obtaining information on the stored message from the message storage server,
When the processor acquires the information, the processor determines whether there is at least one terminal among the receiver's terminals capable of receiving a message from the source terminal based on the user setting or policy, and the at least one according to the verification result. Transmitting a message including the information to the receiver terminal;
Wherein the information is used for a synchronization procedure.
상기 메시지 저장 서버 내에서 상기 메시지를 구분할 수 있게 하는 것을 특징으로 하는 서버.15. The method of claim 14, wherein said information is
And distinguish the message in the message storage server.
상기 메시지에 대한 UID(Unique Identifier)인 것을 특징으로 하는 서버.15. The method of claim 14, wherein said information is
A server, characterized in that the UID (Unique Identifier) for the message.
상기 동기 절차는 상기 수신자의 단말들 중 적어도 하나와 상기 메시지 저장 서버 간에 수행되는 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.The method of claim 1,
And the synchronization procedure is performed between at least one of the terminals of the receiver and the message storage server.
상기 동기 절차를 위해서, 상기 정보는 상기 메시지가 상기 단말 내에서 반복되지 않도록 하는데 사용되는 것을 특징으로 하는 CPM 서버에서의 메시지 전송 방법.The method of claim 1,
For the synchronization procedure, the information is used to prevent the message from being repeated in the terminal.
송수신부와;
상기 송수신부와 협력하는 제어부를 포함하고,
상기 제어부는:
제1 메시지에 대한 정보를 포함하는 상기 제1 메시지를 상기 송수신부를 통해 제1 서버로부터 수신하는 단계와;
상기 단말 내에 저장되어 있는 하나 또는 복수의 CPM 메시지들과 제2 서버에 저장되어 있는 하나 또는 복수의 CPM 메시지들 사이의 동기화를 상기 제2 서버에 요청하는 단계와;
상기 제2 서버에 저장된 하나 또는 복수의 메시지들에 대한 정보를 포함하는 리스트를 상기 제2 서버로부터 수신하는 단계와 (여기서, 상기 리스트 내의 정보는 사용자 설정 또는 정책에 기초하여 상기 제2 서버 내에 저장되어 있다);
상기 제2 서버로부터 수신된 리스트 및 상기 제 1 메시지에 대한 정보에 기초하여 상기 제2 서버 내에 저장된 하나 이상의 메시지들을 수신할지 여부를 결정하는 단계와;
상기 결정에 따라 상기 제1 메시지와 동일한 정보를 갖는 메시지들을 제외하고 하나 이상의 메시지를 수신하는 단계를 수행하는 것을 특징으로 하는 단말.As a terminal that supports Converged IP Messaging (CPM) service,
A transceiver;
A control unit cooperating with the transceiver unit,
The control unit:
Receiving the first message including information on a first message from a first server through the transceiver;
Requesting the second server to synchronize between one or more CPM messages stored in the terminal and one or more CPM messages stored in the second server;
Receiving a list from the second server, the list including information about one or a plurality of messages stored in the second server, wherein information in the list is stored in the second server based on user settings or policies Is);
Determining whether to receive one or more messages stored in the second server based on the list received from the second server and information about the first message;
And receiving one or more messages except for messages having the same information as the first message according to the determination.
상기 제2 서버에 의해서 생성된 것임을 특징으로 하는 단말.The method of claim 21, wherein the information about the first message is
And a terminal generated by the second server.
상기 사용자 설정 또는 정책이 상기 제1 메시지가 상기 제2 서버 내에 저장되어야 하는 것으로 지시하는 경우, 상기 제1 메시지에 대한 정보는 상기 제2 서버에 의해서 생성된 것임을 특징으로 하는 단말.The method of claim 21,
If the user setting or policy indicates that the first message should be stored in the second server, the information about the first message is generated by the second server.
다른 타입의 메시지로부터 변경된 것을 특징으로 하는 단말.The method of claim 21, wherein the first message is
Terminal, characterized in that changed from other types of messages.
인터워킹 기능을 담당하는 엔티티를 통과하였던 것을 특징으로 하는 단말.The method of claim 21, wherein the first message received from the first server is
And a terminal passing through the entity in charge of the interworking function.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2010/000318 WO2010082803A2 (en) | 2009-01-19 | 2010-01-18 | Method for delivering message based on cpm service and server thereof |
CN201080004925.3A CN102282872B (en) | 2009-01-19 | 2010-01-18 | Method for delivering message based on cpm service and server thereof |
US12/689,850 US9049165B2 (en) | 2009-01-19 | 2010-01-19 | Method for delivering message based on CPM service and server thereof |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14573109P | 2009-01-19 | 2009-01-19 | |
US61/145,731 | 2009-01-19 | ||
US25382709P | 2009-10-21 | 2009-10-21 | |
US61/253,827 | 2009-10-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100084979A KR20100084979A (en) | 2010-07-28 |
KR101108776B1 true KR101108776B1 (en) | 2012-02-24 |
Family
ID=42644119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100002950A KR101108776B1 (en) | 2009-01-19 | 2010-01-13 | METHOD FOR delivering Message based on CPM service and server thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101108776B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080043264A (en) * | 2006-11-13 | 2008-05-16 | 삼성전자주식회사 | Method and system for managing messages thread in converged internet protocol messaging service |
KR20080043134A (en) * | 2006-11-13 | 2008-05-16 | 삼성전자주식회사 | Method and system for setting a session between converged ip messaging service client and short messaging service client |
KR20080043103A (en) * | 2006-11-13 | 2008-05-16 | 삼성전자주식회사 | Method and system for interworiking between converged ip messging service and short messaging service |
-
2010
- 2010-01-13 KR KR1020100002950A patent/KR101108776B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080043264A (en) * | 2006-11-13 | 2008-05-16 | 삼성전자주식회사 | Method and system for managing messages thread in converged internet protocol messaging service |
KR20080043134A (en) * | 2006-11-13 | 2008-05-16 | 삼성전자주식회사 | Method and system for setting a session between converged ip messaging service client and short messaging service client |
KR20080043103A (en) * | 2006-11-13 | 2008-05-16 | 삼성전자주식회사 | Method and system for interworiking between converged ip messging service and short messaging service |
Also Published As
Publication number | Publication date |
---|---|
KR20100084979A (en) | 2010-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9049165B2 (en) | Method for delivering message based on CPM service and server thereof | |
US8516051B2 (en) | Method for delivering CPM message and server thereof | |
US8788599B2 (en) | Message delivery mechanism | |
US7962126B2 (en) | Multimedia-messaging-service (MMS) system and the service method thereof | |
US9397968B2 (en) | Method for processing deferred message | |
US9204264B2 (en) | Exchange of messages and sessions | |
US20100138516A1 (en) | Method and apparatus for providing communication history | |
WO2009026822A1 (en) | Method,system and apparatus for message interworking | |
US9641479B2 (en) | Interworking between messaging service domains | |
US10924530B2 (en) | Inter-provider file transfer system and method | |
KR101199401B1 (en) | METHOD FOR delivering and Storing Message based on CPS service and server thereof | |
EP2130388A1 (en) | Compatibility of instant messaging in communications system | |
US9900353B2 (en) | Method and apparatus for enabling communications between users | |
WO2012062070A1 (en) | Method, system and server for feeding back state of receiving end | |
CN102282872B (en) | Method for delivering message based on cpm service and server thereof | |
KR101108776B1 (en) | METHOD FOR delivering Message based on CPM service and server thereof | |
EP2136517B1 (en) | Short message delivery | |
JP6590356B1 (en) | Message communication apparatus and message communication program | |
KR101055134B1 (en) | Message delivery method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20141224 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151224 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20161214 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |