본 발명의 목적은 완전한 양방향 획득 및 인증을 갖는 모델을 포함하는 다양한 자립형 프리젠스 서비스 모델들을 제공하는 것이다.
가입 기반 획득.
사전 행동하는(proactive) 인증.
부가적으로, 상기 획득 및 인증은 부분적인 프리젠스 정보에 적용될 수 있다.
이들 다양한 모델들은 복수의 프리미티브들을 갖는 데이터 구조를 사용하여 클라이언트 및 서버 사이에서 수행될 수 있다.
본 발명의 제1 태양에 따라, 복수의 프리미티브들을 포함하는 데이터 구조로서, 각 프리미티브는 네트워크를 통해 클라이언트 및 서버간에 상기 프리미티브들을 전송하는 동안 상기 서버의 컴퓨터 독출가능 매체에 그리고 상기 클라이언트의 컴퓨터 독출가능 매체에 적어도 임시로 저장되는 데이터 구조에 있어서, 상기 데이터 구조는 요청된 사용자의 프리젠스 정보를 요청하도록 요청 사용자의 클라이언트로부터 서버로 제공되는 입수 프리젠스 프리미티브를 포함하고, 상기 입수 프리젠스 프리미티브는 요청 사용자 식별자, 요청된 사용자 식별자, 및 요청된 프리젠스 값들의 리스트를 포함하는 다양한 정보 요소들을 구비하며, 상기 데이터 구조는 프리젠스 정보를 제공하도록 상기 서버로부터 상기 요청 사용자 클라이언트로 제공되는 프리젠스 프리미티브를 포함하고, 상기 프리젠스 프리미티브는 상기 요청된 사용자 식별자 및 제공된 프리젠스 값들의 리스트를 포함하는 다양한 정보 요소들을 구비하는 것을 특징으로 하는 데이터 구조가 제공된다.
본 발명의 제1 태양에 관한 추가 상세들은 종속 청구항 제2항 내지 제19항에서 발견될 수 있다.
본 발명의 제2 태양에 따라, 전송 또는 수신용 데이터 구조를 적어도 임시로 저장하는 수단을 구비하는 장치에 있어서, 상기 데이터 구조는 본 발명의 제1 태양에 따르는 것을 특징으로 하는 장치가 제공된다.
상기 적어도 하나의 서버 및 상기 복수의 장치들간에 본 발명의 제1 태양에 따른 데이터 구조를 갖는 통신 프로토콜이 사용되는 것을 특징으로 하는 시스템이 제공된다.
추가로 본 발명의 제3 태양에 따라, 상기 프리젠스 값들은 프리젠스 값들 또는 관련된 프리젠스 값들을 수정하기 위하여 적어도 하나의 서버에 의해 사용가능한 관련된 공간 및 시간 정보를 구비한다.
추가로 본 발명의 제3 태양에 따라, 상기 시스템은 상기 프리젠스 값들이 공간 및 시간 정보에 관련된 유효 속성을 구비하는 것을 특징으로 한다.
본 발명의 제4 태양에 따라, 서버에 의해 사용되는 프리젠스 정보 서비스 관리 방법에 있어서, 상기 서버가 사용자들로부터 프리젠스 인증 메시지들을 수신하는 단계로서, 상기 프리젠스 인증 메시지들은 상기 사용자들의 선택된 프리젠스 정보로의 액세스를 인증하도록 상기 사용자들에 의해 개시되는 단계; 서버가 갱신 사용자들에 의해 개시되는 프리젠스 정보 갱신 메시지들을 갱신 사용자들로부터 수신하는 단계; 상기 서버가 응답이 요구되는 프리젠스 정보를 요청하는 사용자들을 포함하고 요청된 프리젠스 정보를 포함하는 진행중인 응답들이 요구되는 프리젠스 정보에 처음 가입하는 가입 사용자들을 포함하는 프리젠스 서비스 요청 사용자들로부터 프리젠스 정보 요청 메시지들을 수신하는 단계; 상기 서버가 요청된 프리젠스 정보로의 액세스가 인증되었는지를 결정하고, 인증되지 않은 경우 프리젠스 정보가 요청된 사용자로부터 인증을 요청하는 단계; 및 인증된 경우, 서버가 응답이 예상되는 프리젠스 정보를 요청하는 요청 사용자들에게 응답이 예상되는 상기 요청된 프리젠스 정보를 제공하고, 특히 상기 갱신 사용자들로부터 상기 프리젠스 정보 갱신 메시지들을 수신한 후에, 진행중인 응답들이 요구되는 프리젠스 정보에 가입하는 가입 사용자들에게 진행중인 상태로 요청된 프리젠스 정보를 제공하는 단계를 포함하는 것을 특징으로 하는 프리젠스 정보 서비스 관리 방법이 제공된다.
본 발명의 제4 태양에 관한 추가 상세들은 종속 청구항 제23항 내지 제41항에서 발견될 수 있다.
본 발명의 제5 태양에 따라, 클라이언트들을 위한 프리젠스 정보 서비스 관리 방법을 수행하는 서버에 있어서, 사용자들로부터 프리젠스 인증 메시지들을 수신하는 수단으로서, 상기 프리젠스 인증 메시지들은 상기 사용자들의 선택된 프리젠스 정보로의 액세스를 인증하도록 상기 사용자들에 의해 개시되는 수단; 갱신 사용자들에 의해 개시되는 프리젠스 정보 갱신 메시지들을 상기 갱신 사용자들로부터 수신하는 수단; 응답이 요구되는 프리젠스 정보를 요청하는 사용자들을 포함하고 요청된 프리젠스 정보를 포함하는 진행중인 응답들이 요구되는 프리젠스 정보에 처음 가입하는 가입 사용자들을 포함하는 프리젠스 서비스 요청 사용자들로부터 프리젠스 정보 요청 메시지들을 수신하는 수단; 상기 요청된 프리젠스 정보로의 액세스가 인증되었는지를 결정하고, 인증되지 않은 경우 프리젠스 정보가 요청된 사용자로부터 인증을 요청하는 수단; 및 응답이 예상되는 프리젠스 정보를 요청하는 상기 요청 사용자들에게 응답이 예상되는 상기 요청된 프리젠스 정보를 제공하고, 특히 상기 갱신 사용자들로부터 상기 프리젠스 정보 갱신 메시지들을 수신한 후에, 진행중인 응답들이 요구되는 프리젠스 정보에 가입하는 상기 가입 사용자들에게 진행중인 상태로 요청된 프리젠스 정보를 제공하는 수단을 포함하는 것을 특징으로 하는 서버가 제공된다.
본 발명의 제5 태양에 관한 추가 상세들은 종속 청구항 제43항 내지 제61항에서 발견될 수 있다.
본 발명의 제6 태양에 따라, 통신 시스템에서 사용하기 위한 프리젠스 정보 관리 시스템에 있어서, IM 클라이언트; 및 네트워크에서의 IM 서버를 포함하고, 상기 IM 서버는 인스턴트 메시지들을 교환하기 위하여 서로 접속될 수 있는 것을 특징으로 하는 프리젠스 정보 관리 시스템이 제공된다.
4개의 계층으로 분할된 인스턴트 메시징 모델이 도 1a에 도시된다. 4개의 계층은 최상위 IM 서비스 계층(10), 다음 하위 IM 서비스 능력 계층(12), 다음 하위 IM 세션 기술 계층(14), 및 최하위 IM 전송 기술 계층(16)을 포함한다. 최상위 IM 서비스 계층(10)은 채트, 데이트, 미팅 및 회의와 같은 IM 서비스들을 포함한다. 다음 하위 IM 서비스 능력 계층(12)은 메시지 흐름 및 정보 요소들을 갖는 프리미티브(primitive)들을 포함하는 상위 레벨 프로토콜 서술을 포함한다. 인스턴트 메시징 서비스는 다수의 서비스를 생성하기 위한 도구 상자로서 상기 서비스 능력을 사용할 수 있다. 서비스 능력의 예시적인 분할은 도 1b에 도시된다. 다음 하위 IM 세션 계층(14)은 MMS(멀티미디어 메시지 서비스), SIP(세션 개시 프로토콜), SMS(짧은 메시지 서비스), USSD(비구조화 부가 데이터)와 같은 현존 세션들을 통한 능력들의 매핑을 포함한다. 최하위 IM 전송 계층(16)은 전송들을 사용하는 방법의 정의를 포함한다: TCP/UDP/IP(전송 제어 프로토콜/사용자 데이터그램 프로토콜/인터넷 프로토콜), 베어러로서의 SMS/USSD, WAP/WSP(무선 애플리케이션 프로토콜/무선 세션 프로토콜). 이하 개시는 IM 클라이언트에서의 IM 서비스 능력 계층 및 IM 서버에서의 유사한 계층을 언급할 것이다.
언급된 바와 같이, IM 서비스 능력 계층(12)은 추상 메시지들에서의 정보 요소들을 정의하고 교환되는 프리미티브들(메시지들)의 이름들, 메시지 흐름들을 포함한다. 그것은 또한 (정보 요소들의 부호화와 같은) 이 레벨에서 선택될 수 있는 기법들을 제안한다.
도 2a는 물리 장치들(18, 19), IM 클라이언트들(20, 22), IM 사용자들(23, 24, 25, 26) 및 IM 서버들(27, 28)을 포함하는 IM 시스템(17)을 도시한다. IM 사용자는 물리 장치들(18, 19)을 사용하여 제공되는 인스턴트 메시징 서비스를 받는, IM 시스템의 고객이다. IM 클라이언트는 한 명 이상의 IM 사용자들이 서비스를 액세스하도록 허용하는 IM 서비스의 구현이다. IM 클라이언트는 하드웨어, 소프트웨어, 펌웨어, 또는 그들의 어떤 조합일 수 있다. IM 클라이언트 개념은 장치-독립적이지만 실제 이용을 위하여 물리 장치에 설치된다. 비록 도 2a에 도시되지 않았지만, 하나보다 많은 클라이언트가 주어진 물리 장치에 있을 수 있고 동일 사용자가 동일 장치에서 상이한 클라이언트들을 액세스할 수 있다. 예를 들어, 도시되지 않은 IM 클라이언트 3이 장치(19)에 설치될 수 있고 IM 사용자 3에 의해 액세스될 수 있다. IM 서버는 IM 서비스들을 제공하고 사용자 데이터를 유지하는 네트워크 요소이다. IM 서버들은 상호 접속될 수 있다.
IM 사용자는 (단일 장치 또는 다수의 장치들을 사용하여) 몇몇 IM 클라이언트들로부터 동시에 IM 서버를 액세스할 수 있다. 유사하게, IM 클라이언트는 몇 명의 IM 사용자들을 위한 동시 액세스를 제공할 수 있다. 동시에 동일 그룹에 액세스하는 동일한 IM 사용자들은 가입 세션의 식별을 통해 분리된다.
반복하기 위하여, 물리 장치, 예를 들어 이동 핸드셋 또는 PC는 하나 또는 특별한 경우에 다수의 IM 클라이언트 인스턴스들을 구비할 수 있다. 상기 특별한 경우에, 다수의 IM 클라이언트 인스턴스들은 별개로 식별가능할 필요가 있다. 그러나, 많은 경우에 있어서, 장치 아이덴티티 및 클라이언트 아이덴티티는 동일한 것으로 여겨질 수 있다. 그러므로 그러한 경우에, 사실상, 물리 장치는 클라이언트와 동일하다. 본 발명은 인스턴트 메시징 서비스가 사용되고 있는 클라이언트로부터 인스턴트 메시징 서비스의 사용자의 아이덴티티들을 분리하는 방법을 설명한다. 그러나, 본 발명의 교시에 따라, 장치 자신 뿐 아니라 주어진 장치에 있을 수 있는 클라이언트(들)를 포함하도록 별개의 아이덴티티들의 할당이 확장될 수 있다. 메시징, 프리젠스 및 채트 유형 서비스들에 있어서, 본 발명은 사용자, 클라이언트들, 즉 특별히 수행중인 애플리케이션들, 및 상기 클라이언트들이 동작하고 있는 장치의 어드레싱을 허용하도록 확장될 수 있다.
도 2b를 참조하면, IM 시스템으로의 액세스는 2가지 주소들에 의해 식별된다: 인증을 위한 가능한 패스워드 및 IM 사용자 주소를 포함하는, IM 사용자 주소 및 IM 시스템을 액세스하는데 사용되는 IM 클라이언트 또는 특정 장치를 식별하는 IM 클라이언트 주소. 동일한 장치에서의 다수의 클라이언트들을 주소하는 능력이 시스템에 포함되어 있고 장치 식별이 요구되는 경우, 도 2a의 개념은 다수의 클라이언트 식별 및 장치 식별을 포함하도록 확장될 수 있다.
IM 사용자가 IM 시스템을 액세스하는 경우, IM 클라이언트는 IM 사용자 아이덴티티(IM 사용자-ID) 및 IM 클라이언트 아이덴티티(IM 클라이언트-ID) 양자를 제공할 필요가 있다. IM 사용자 아이덴티티는 IM 사용자로부터 획득되고, IM 클라이언트 자신은 IM 클라이언트 아이덴티티를 제공한다.
IM 시스템은 IM 사용자에게 영향을 미치는 모든 목적을 위해 IM 사용자 아이덴티티를 사용한다: IM 사용자에게 정보 전송, 요금 부과 목적 등. IM 시스템은 단지 IM 클라이언트만(IM 클라이언트로의 메시지들의 라우팅) 또는 IM 사용자 및 IM 클라이언트 양자(특정 IM 클라이언트를 통해 액세스하는 IM 사용자로의 메시지들)에게 영향을 미치는 모든 목적을 위해 IM 클라이언트 ID을 사용한다.
IM 사용자 아이덴티티는 추가로 사용자 이름 및 패스워드로 분해된다. 하위 레벨 인증을 이용할 수 없는 경우 상기 패스워드가 간단한 인증에 사용된다.
IM 클라이언트 아이덴티티는 추가로 클라이언트 이름 및 클라이언트 주소로 분해된다. 클라이언트 이름은 특정 IM 클라이언트를 통해 액세스하는 IM 사용자에게 메시지들을 전송하고 수신하며 IM 클라이언트에 기초한 정보를 기록하는데 사용되는 이름이다. 상기 클라이언트 주소는 장치 구동 IM 애플리케이션(들) 및 장치내의 특정 IM 클라이언트간에 하위 레벨 매핑을 제공하는데 사용될 수 있다.
도 2a의 IM 클라이언트들 및 서버들 양자는 본 발명의 인스턴트 메시징 및 프리젠스 서비스들의 제공을 용이하게 하기 위하여 도 1a에 도시된 것과 같은 계층 접근을 가질 것이다. 그러나 서버 중간 클라이언트들은 보통 최상위 계층, 즉 IM서비스 계층(10)을 이용하지 않을 것이다. 예를 들어, 도 1b에 도시된 바와 같이, 도 1a의 계층 구조를 갖는 IM 클라이언트는 유사한 계층 구조를 갖지만 최상위 IM 서비스 계층을 갖지 않는 IM 서버와 통신 링크를 통해 통신할 것이다. 그 다음, IM 서버는 마침내 다른 클라이언트들과 직접 또는 다른 서버들을 통해 통신할 것이고, 상기 클라이언트들은 도 1b의 IM 클라이언트가 이러한 IM 서비스 계층을 갖는 것과 같은 방식으로 IM 서비스 계층들을 가질 것이다. 상술된 바와 같이, IM 서비스 계층은 채트, 데이트, 미팅 및 회의와 같은 서비스들을 포함한다.
IM 서비스 능력 계층(12)은 특히 본 명세서에 개시되고 메시지 흐름, 프리미티브들 및 정의된 정보 요소들을 갖는 상위 레벨 프로토콜 설명을 포함한다. IM 세션 계층은 MMS, SIP, SMS, USSD 등과 같은 현존 세션으로의 능력의 매핑을 포함한다. IM 전송 계층은 전송들을 사용하는 방법을 정의한다: TCP/UDP/IP, 베어러로서의 SMS/USSD, WAP/WSP 등.
IM 서비스 능력 계층(12)에 집중하면, 이 계층은 도시된 바와 같이 다수의 성분들을 포함할 수 있다. 예를 들어 이들 중 하나는 메시징 부분(12c)일 수 있고, 제공되는 풍부한 내용을 포함하는 인스턴트 메시지들의 교환이 있다. 프리젠스 성분은 후술되는 바와 같이 2개의 부분(12a, 12b)을 포함할 수 있고, 도달 가능성, 무드, 위치 등과 같은 광범위한 사용자 상태의 교환을 제공한다. 사용자 그룹 관리(12d)는 채트 룸 및 다른 커뮤니티 태양의 관리를 포함한다. 내용 관리(12e)는 이미지들 및 문서들과 같은 공유 내용의 관리를 제공한다. 가입자 관리(12f)도 또한 제공된다. 이들 동일한 성분들이 가입자/상호 접속 관리 및 "IM 클라이언트 기법"으로서 IM 서비스 측에 표시된다.
그러므로, 상기로부터, 도 2a에 도시된 바와 같은 IM 사용자는 IM 시스템의 고객인 것으로 이해될 것이다. 도 2a에 도시된 바와 같은 IM 클라이언트는 이동 핸드셋 또는 개인용 컴퓨터와 같은 클라이언트 장치에서 인스턴트 메시징을 위한 구현 인스턴스이다. 상술된 바와 같이, 도 2a에 도시된 바와 같은 IM 사용자는 상이한 IM 클라이언트들에 의한 IM 서비스를 동시에 액세스할 수 있다. IM 서버들은 메시지들 및 다른 정보를 교환하기 위해 상호 접속된다. 이를 위하여, IM 사용자 어드레싱은 IM 가입자들과 관련된 사용자 이름들을 사용한다. 또한 상기 도시된 바와 같이, IM 클라이언트 어드레싱을 위해, 클라이언트-식별을 더한 장치 어드레싱이 이용될 수 있다.
도 2c는 사용자 및 클라이언트 아이덴티티들의 분리가 유용하게 적용될 수 있는 예를 도시한다. 도 2c는 IM 사용자(미도시)에 의해 동작되는 IM 클라이언트(20) 및 IM 서버(27)간에, 다양한 메시지들(L1 및 S, E 및 N, L2 및 D, 및 Result)의 교환으로서 표시된 인증 프로토콜을 도시한다. 상기 인증 프로토콜은 IM 서버(27)를 위해 IM 클라이언트(20) 및 IM 사용자 양자가 IM 서버의 서비스를 액세스할 자격이 실제로 있는, 즉 양자가 가입한 실체인 것을 확인한다. IM 사용자 및 IM 서버 양자가 프로토콜에 의해 인증되고 있다; 다시 말하면, 인증은 가입 IM 사용자가 아닌 누군가(사용자)에 의한 액세스를 차단할 것이고, 그들이 가입 IM 사용자인지 여부에 상관없이, 누군가가 가입 IM 클라이언트가 아닌 장치 또는 소프트웨어를 사용하여 IM 서버에 액세스하도록 허용하지 않는다는 것을 이해하는 것은중요하다.
도 2c를 다시 참조하면, 표시된 바와 같이, IM 서버(27)는 각각 가입 장치 및/또는 소프트웨어 및 사용자들을 나타내는 클라이언트 ID들 및 사용자-패스워드들(user-pswds)의 데이터 저장부(27a)를 포함한다; 그것은 또한 스키마 모듈(27b)을 포함하는데, 상기 스키마 모듈(schema module)은 다음과 같은 하나 이상의 스키마에 따른 소위 메시지들의 다이제스트들(메시지들의 암호화된 표현인 문자열)을 생성할 수 있다. 예를 들어 RFC3174에서 설명된 표준 해시 알고리즘 1(SHA1), RFC1321에서 설명된 메시지 다이제스트 5(MD5), RFC3174 및 RFC1321 양자는 인터넷 엔지니어링 태스크 포스(IETF)에 의해 발행된 소위 "커멘트 요청" 문서이다.
도 2c를 다시 참조하면, 바람직한 실시예에서 사용되는 인증 프로토콜에 따라, IM 클라이언트(20)는 우선 널 로그온(null logon) 메시지(L1), 즉 사용자 패스워드 또는 클라이언트-ID 어느 것도 포함하지 않는 로그온을 IM 서버(27)에 전송하고, 스키마 모듈(20b)(전형적으로 몇몇 상이한 스키마들을 실행할 수 있는)내의 IM 클라이언트(20)에서 구현된 스키마를 나타내는 메시지(S)를 상기 널 로그온(L1)과 함께 전송한다. 스키마에 의해 생성된 다이제스트는 메시지의 보통 압축되고 항상 암호화된 버전인 것으로 고려될 수 있다.
널 패스워드에 응답하여, IM 서버(27)는 챌린지로서 이해되는 소위 논스(N, nonce)와 함께 오류 메시지(E)를 상기 IM 클라이언트(20)에 전송한다. 논스는 소정의 규정에 따라 챌린지 실체(여기서, IM 서버(27))에 의해 구성된 문자열이다. 추천된 논스는 연결의 다이제스트이다:
N = H(client - ID|time-stamp|private key), (1)
여기서, a|b는 열(a 및 b)의 연결을 나타내고, H(...)는 예를 들어 SHA1(...) 또는 MD5(...)이고 여기서 해시 함수로 지칭된다. 해시 함수의 인수가 키를 포함하는 열의 연결인 경우, 해시 함수의 출력은 적합한 키를 사용하여 로크되지 않고 암호화되지 않을 수 있다. 이러한 출력은 다이제스트(digest)로 지칭된다. 인수가 키를 포함하지 않는 경우, 해시 함수의 출력은 결코(실제적으로 말하면) 반전될 수 없고, 출력은 단지 검사 합으로서 기능한다(비록 어느 정도의 길이를 갖는 문자열이 보통 하나보다 상당히 더 크지만).
IM 클라이언트(20)가 논스(N)를 수신한 경우, 상기 IM 클라이언트는 다시 널인 로그온 메시지(L2)를 제공하지만 이번에는 다음에 따라 계산된 다이제스트(D)에 의해 수반된다:
D = H(N|user-password|client-ID). (2)
IM 클라이언트(20)는 수단(20a, 20b)을 상기 IM 클라이언트내에 포함하거나 액세스할 수 있다. 상기 수단(20a, 20b)은 IM 서버(27)에 의해 제공되는 서비스들을 액세스하는데 IM 클라이언트(20)에 의해 사용되는 IM 클라이언트-ID 및 IM 사용자 ID를 제공한다. 상기 사용자 패스워드는 사용자(미도시)에 의해 IM 클라이언트(20)에 제공된다.
제2 로그온(L2) 및 수반하는 다이제스트(D)에 응답하여, IM 서버(27)는 다이제스트(D)를 암호해독하고, 사용자-패스워드 및 클라이언트-ID를 추출하며 양자가 가입 클라이언트들 및 사용자들의 데이터 저장부(27a)에 있는지를 검사한다. 그 다음, IM 클라이언트(20)에 제공한 논스(N)를 사용하고 다이제스트(D)에서 추출된 클라이언트-ID 및 사용자-패스워드를 사용하여 다이제스트(D')를 계산한다. D'이 D와 일치하는 경우, 사용자는 인증되고 IM 서버(27)는 로그인을 받아들인다. D'이 D와 일치하지 않는 경우, 사용자는 인증되지 않고 IM 서버(27)는 로그인을 받아들이지 않는다. 그 다음, 인증 과정의 결과는 IM 서버(27)에 의해 IM 클라이언트(20)에게 결과 메시지(Result)로서 제공된다.
도 2d는 예를 들어 클라이언트가 IM 서비스 능력 계층(12)으로부터 제공하는 주어진 나가는 프리미티브에 대해, 상기 주어진 나가는 프리미티브에 결합하기 위해 연속 정보 요소들을 제공하기 위한 다양한 수단(10a, 10b, 10c, 10d, ..., 10e)이 있다는 것을 도시한다. 이들 수단(10a, 10b, 10c, 10d, ..., 10e)은 IM 서비스 계층(10)의 부분 또는 관련될 수 있거나 IM 서비스 능력 계층(12)의 부분 또는 관련될 수 있다. 클라이언트로부터 프리미티브를 수신하는 경우의 서버 측에 있어서, 유사한 상황이지만 그 반대이다. 즉, 표시된 IM 서비스 능력 계층은 들어오는 프리미티브를 수신하고 상기 프리미티브를 분해하여 서버에서 조합으로 또는 개별적인 사용을 위해 연속 정보 요소들을 제공하고/하거나 네트워크의 다른 곳에서 정보 요소들을 다시 포장하고 릴레이하는데 사용된다. 서버로부터 클라이언트로 제공된 프리미티브의 경우에 있어서, 상기의 반대가 적용된다. 다시 말하면, 클라이언트는 서버로부터 조합되고 수신된 프리미티브들로부터 정보 요소들을 분해한다.
이제 도 1b를 참조하면, 도 2의 IM 클라이언트(20)와 같은 IM 클라이언트 및 도 2의 IM 서버(27)와 같은 IM 서버는 무선 링크를 포함할 수 있는 신호선(29)에의해 상호 접속되고 도시된 적합한 계층들을 가지고 도시된다. 신호선(30)은 예를 들어 도 2의 IM 서버(28)와 같은 다른 IM 서버(도 1b에 미도시)로의 접속을 나타내는 것으로 도시된다. 도 1b의 IM 클라이언트(20)는 도 1a와 관련하여 상술된 4개의 계층들(10, 12, 14, 16) 모두를 구비하지만, 도 1b의 IM 서버(27)는 단지 3개의 하위 계층들(12, 14, 16)만을 구비한다(서버의 좌측에 표시)는 것을 유념한다. 이것은 IM 서버(27)가 단지 IM 클라이언트(20) 및 통신의 종단점에 있는 하나 이상의 다른 IM 클라이언트들간의 전체 접속에서 중간 노드이기 때문이다. 그들만이 최상위 IM 서비스 계층(10)이 구현될 것을 필요로 한다. 따라서, 본 발명은 IM 서비스 자체의 상세한 설명을 포함하지 않고, IM 서비스를 구현하기 위한 기본적인 능력들을 제공하지만 IM 서비스 자체에 직접 관련되지 않는 IM 서비스 능력 계층(12)(및 서버에서의 대응하는 IM 클라이언트 기술 계층(27a))에 집중한다는 것이 이해될 것이다.
클라이언트에서의 IM 서비스 능력 계층 및 서버에서의 IM 클라이언트 기술 계층은 복수의 프리미티브들을 포함하는 데이터 구조를 사용하는 그들 사이의 통신 프로토콜을 제공한다. 각 프리미티브는 통신 링크(29)의 전송단에 있는 컴퓨터-독출가능 매체에 적어도 임시 저장을 위해 그리고 링크의 수신단에 있는 컴퓨터-독출가능 매체에 적어도 임시 저장을 위한 것이다. 각 프리미티브는 전송단에서 조합되고 수신단으로 전송된다. 수신단에서는 상기 프리미티브가 분해되고 처리되거나 추가 전송을 위해 다시 포장될 수 있다.
IM 서비스 능력 계층(12)의 다양한 성분들이 도 1b에 도시되고 본 명세서에서 더 상세하게 설명될 것이다. 예를 들어, 프리젠스 서비스들(12a, 12b)은 도달 가능성, 무드, 및 위치와 같은 광범위한 사용자 상태의 교환과 관련하여 후술될 것이다. 메시징(12c)에서, 풍부한 내용을 포함하는 인스턴트 메시지들의 교환이 개시될 것이다. 사용자 그룹 관리(12d)에서, 채트 룸 및 다른 커뮤니티 태양들의 관리가 개시된다. 내용 관리(12e)에서, 이미지 및 문서와 같은 공유 내용의 관리가 개시된다. 가입자 관리(12f)는 본 발명의 대상이 아니므로 후술되지 않는다. 그러나, 상기 가입자 관리가 완전함을 위해 IM 서비스 능력 계층(12)에 또한 도시되는데, 왜냐하면 가입자 관리 뿐 아니라 상호-접속 관리(27b)가 또한 동일 레벨에서 도 1b의 IM 서버(27)의 우측에 도시되기 때문이다. 이것은 IM 가입 관리를 나타내지만 본 발명의 범위를 벗어난다. 유사하게, IM을 위한 서버들간에 상호접속 관리를 포함하는 상호접속 관리는 본 발명의 대상이 아니므로 추가로 후술되지 않는다. 세션 및 전송 계층에서의 관리 및 상호접속 상세도 또한 개시되지 않는데, 왜냐하면 그들은 본 발명의 어떠한 부분을 형성하지 않기 때문이다.
프리젠스(PRESENCE)
프리젠스의 개념은 특정 이동 또는 고정 네트워크 사용자의 모든 종류의 상태 정보를 의미한다. 특히 이동 사용자를 위한 인스턴트 메시징 서비스에 결합되는 경우 큰 잠재력을 갖지만, 전화번호부 등과의 결합과 같은 다른 서비스도 또한 중요한 값을 갖는다. 따라서, 본 명세서에서, 프리젠스 서비스는 채트-유형 서비스들에 관련될 뿐만 아니라 개별적으로 고려된다.
1. 비가입 프리젠스
사용자의 프리젠스 정보는 도 3a에 제시된 메시지 흐름에서 표시된 바와 같이, 프리젠스 서비스에 조회를 전송함으로써 메시징 서비스로부터 개별적으로 획득될 수 있다.
프리젠스 서비스 사용자는 IM 클라이언트를 통해 갱신 프리젠스 메시지(31)(P = 프리젠스 값; S = 상태; T = 트랜잭션 식별자)를 전송함으로써 프리젠스 서버에 있는 자신의 프리젠스 정보를 적당한 시간에 자발적으로 갱신할 수 있다. 유사하게, 사용자는 몇몇 다른 사용자의 프리젠스 정보를 요청하기 위하여 입수 프리젠스 메시지(32)를 전송할 수 있다. 프리젠스 정보(33)가 요청한 사용자에게 되돌려 배달된다.
갱신 프리젠스 메시지 또는 동작의 성공 또는 실패를 나타내기 위하여 상태 메시지가 프리젠스 서버로부터 IM 클라이언트로 라인(34)상에서 제공될 수 있다. 예외 처리가 도 11a와 관련하여 더 상세하게 후술될 것이고 메시지 흐름도("a"접미사를 갖는 도 3 내지 도 10)에서 도시된 것을 제외하고, 도 3a 내지 도 10a와 관련하여 추가로 설명되지 않을 것이다. 그러므로, 이들 상태 메시지들은 도 11a와 관련하여 아래 제공되는 내용에 따라 도시되는 바와 같이 전송될 수 있는 것으로 이해될 것이다.
IM 사용자는 자신의 프리젠스 정보를 부분적으로만 갱신할 수 있는 것이 이해되어야 한다. 유사하게, IM 사용자는 부분 프리젠스 정보만을 요청할 수 있다.
사용자는 신규 프리젠스 값들을 생성하고 삭제할 수 있는데 이것은 프리젠스 서버가 이러한 기능을 제공하는 경우이다. 이 메커니즘은 최소 세트의 값들을 초과하는 프리젠스 값들의 확장을 허용한다. 이것은 또한 클라이언트에 의해 이와 같이 이해되지 않는 값들을 IM 사용자에게 제시하기 위하여 IM 클라이언트에서 일반화된 방법을 요구한다. 신규 프리젠스 값은 갱신 프리젠스 값 메시지(35)를 가지고 생성된다.
입수 프리젠스 메커니즘(32)은 옵션의 인증 시퀀스를 포함한다. 누군가가 사용자의 프리젠스 정보를 요청하는 경우, 인증 요청(36)이 사용자에게 전송될 수 있고 사용자는 라인(37)상에서 인증 메시지에 의해 도시되는 바와 같이 프리젠스 정보를 인증할 수 있다. 인증이 실패한 경우, 빈 내용을 갖는 프리젠스 메시지가 라인(33)상에서 요청 사용자에게 전송된다. 프리젠스 정보의 인증은 또한 미리 인증될 수 있고, 따라서 사용자는 라인(38)상에 표시된 바와 같이, 특정 요청 없이 어떤 다른 이름의 IM 사용자들에게 자신의 프리젠스 정보를 기꺼이 제공할 것을 별도로 표시할 수 있다.
비록 요청 IM 사용자가 전체 프리젠스 정보를 수신하기를 원하는 경우에도, IM 사용자는 단지 부분적으로 자신의 프리젠스 정보를 인증할 수 있다.
도 3b는 IM 서비스 능력 계층(12)의 비가입 프리젠스 부분(12a)과 인터페이스하는 IM 클라이언트(20)에서의 IM 서비스 계층(10)을 도시한다. 라인(31)상에서 제공되는 도 3a의 갱신 프리젠스(UpdatePresence) 프리미티브는 갱신 프리젠스 프리미티브를 서버에 제공하는 수단(42c)으로부터 오는 것으로 도시된다. 이러한 갱신 프리젠스 프리미티브는 표 2에서 보다 상세하게 표시되고, 클라이언트에서의 IM 서비스 계층(10)으로부터 수단(42a)으로 라인(44)상에서 제공될 수 있는 다양한 정보 요소들을 포함하며, 상기 수단(42a)은 이들 정보 요소들을 조합하여 갱신 프리젠스 프리미티브로서 라인(31)상에서 제공한다. 그곳으로부터 그것은 클라이언트의 IM 세션 계층(14)(도 1a 및 도 1b 참조)에 가고 그곳으로부터 전송 계층(16)을 경유하여 서버로 간다. 유사하게, IM 서비스 계층(10)으로부터 라인(48)상에서 제공된 복수의 정보 요소들을 담당하는 수단(46c)이 제공된다. 표 3에 나열되는 바와 같은 다수의 정보 요소들을 포함하고 그들을 조합하여 라인(32)상에서 입수 프리젠스(GetPresence) 프리미티브로서 제공한다. 응답하여, 서버는 어떤 현조 선-인증을 검색하거나 요청된 사용자에 의해 현재 사용 중인 클라이언트를 경유하여 프리젠스가 요망되는 사용자로부터 이러한 인증을 획득할 것이다. 일단 획득된 경우, 상기 사용자의 요청된 프리젠스 정보는 라인(33)상에서 프리젠스 프리미티브를 수신하는 수단(50c)에 제공된 프리젠스 프리미티브내에서 제공될 것이다. 이 프리젠스 프리미티브는 표 4에 표시된 바와 같은 정보 요소들을 구비할 것이고, 이들 정보 요소들은 수단(50)에 의해 라인(52)상에서 클라이언트에서의 IM 서비스 계층(10)에 제공될 것이다.
예를 들어 도 2의 IM 서버(28)에 접속되고 IM 클라이언트(20)의 프리젠스 정보를 원하는 클라이언트(미도시)의 경우에 있어서, 요청 IM 클라이언트는 요청 프리젠스 인증(RequestPresAuth) 프리미티브를 전송할 것이고, 이것은 라인(30)상에서 IM 서버(27)에 전달될 것이며, 그 다음 라인(29)을 통해 클라이언트(20)에 상기 프리미티브를 제공하고 그곳으로부터 라인(54)상에서 프리젠스 인증 요청을 수신하는 수단(56c)으로 제공될 것이다. 요청 프리젠스 인증 프리미티브는 표 5에 표시된바와 같은 정보 요소들을 포함할 수 있다. 그 다음, 이들 정보 요소들은 도 3b에 도시된 바와 같이 요청된 클라이언트에서의 IM 서비스 계층(10)으로 라인(58)상에서 제공될 수 있다. 응답하여, 클라이언트에서의 IM 서비스 계층은 라인(60)상에서 인증 프리젠스 프리미티브를 제공하는 수단(62c)으로 정보 요소들을 제공할 수 있고 상기 수단(62c)은 다시 라인(64)상에서 서버(27)로 정보 요소들을 제공할 수 있다. 클라이언트(20)의 인증된 프리젠스는 그 다음 서버(27)로부터 라인(30)상에서 요청 클라이언트(미도시)로 제공될 수 있다. 표 6에 표시된 바와 같은 정보 요소들은 인증 프리젠스(AuthorizePres) 프리미티브에 사용될 수 있다. 그러므로, 비록 도 3a가 단 대 단 시나리오를 나타내는 방식으로 인증 과정을 도시한다 하더라도, 주어진 클라이언트의 사용자가 다른 클라이언트들의 다른 사용자들의 프리젠스 정보를 획득할 뿐 아니라 주어진 클라이언트의 사용자에 관하여 모은 프리젠스 정보를 인증할 능력을 갖는 것이 이해될 것이다. 이것은 도 3b에서 단일 클라이언트에서의 IM 서비스 능력 계층(12)에 도시된다. 그러므로, 도 3b의 라인(54, 64)상에서 도시된 요청 프리젠스 인증 및 인증 프리젠스 프리미티브들은 본질적으로 도 3a에서와 같이 상이한 클라이언트들이 아니라 동일한 클라이언트에 관하여 도시된다는 것을 제외하고 도 3a의 라인(36, 37)상에 도시된 것과 같은 프리미티브들이라는 것이 이해되어야 한다.
이제 도 3c를 참조하면, 도 3b에 도시된 것과 같은 프리미티브들이 서버측에서 다시 도시된다. 클라이언트에서의 IM 서비스 능력 계층과 같이, 서버는 IM 클라이언트 기술 계층(65)을 구비하고, 수단(42s, 50s, 62s, 46s, 56s)은 도 3b의수단(42c, 50c, 62c, 46c, 56c)에 대응한다. 이들은 서버에서의 가입자/상호접속 관리 계층(27b)에 정보 요소들을 제공하고 서버에서의 가입자/상호접속 관리 계층(27b)으로부터 정보 요소들을 수신한다. 이들은 클라이언트의 IM 서비스 능력 계층(12)과 같은 레벨인 도 1b의 IM 서버에 도시된 상위 계층인 가입자 관리 및 상호접속 관리 부분(27b)에 대응한다. 그러므로, 도 3c에 도시된 IM 클라이언트 기술 계층(65)은 도 1b에 도시된 상위 계층인 IM 클라이언트 기술 부분에 대응하고, 라인(29)을 통해 상호교환되는 프리미티브들은 도 3b 및 도 3c에 도시된 프리미티브들(31, 33, 64, 32, 54)에 대응한다는 것이 이해될 것이다. 이들 프리미티브들에 포함된 정보 요소들은 IM 클라이언트 기술 계층(65)에서 처리되고 라인(68, 72, 74)상에서 서버에서의 가입자/상호접속 관리 계층(27b)으로 제공되거나, 라인(70, 76)상에서 서버의 가입자/상호접속 관리 계층(27b)으로부터 수신된다. 이들 정보 요소들은 네트워크에서 서버들의 가입자 관리 및 상호접속 관리와 클라이언트들에서의 IM 서비스 능력에 대응하는 IM 클라이언트 기술 기능들 양자를 달성하기 위하여 IM 서버(27)에 의해 처리된다.
도 4a, 도 5a, 도 6a, 도 7a, 도 8a, 도 9a, 도 10a 및 도 11a의 메시지 흐름도에 도시된 모든 IM 서비스들에 대해서, 유사한 클라이언트/서버 표현은 IM 클라이언트(20) 및 IM 서버(27) 양자의 IM 서비스 능력 계층으로 구성될 것이다. IM 서비스 능력의 클라이언트 측을 도시하는 도면들은 도 4b, 도 5b, 도 6b, 도 7b, 도 8b, 도 9b, 도 10b 및 도 11b로 표시될 것이다. IM 서비스 능력 계층의 IM 서버(27) 측은 대응하여 도 4c, 도 5c, 도 6c, 도 7c, 도 8c, 도 9c, 도 10c 및 도11c로 표시될 것이다. 이들 모든 도면들은 도 3a의 비가입 프리젠스 서비스와 관련하여 설명된 것과 같은 감각으로 이해되어야 한다. 다시 말하면, 예를 들어 도 4a, 도 4b, 도 4c의 주어진 그룹에 도시된 것은 도 1b에 도시된 바와 같이 각각 IM 클라이언트 및 IM 서버에 있는 본 발명에 따른 IM 서비스 능력 계층(12) 및 IM 클라이언트 기술 계층(27a)에서 메시지 흐름을 수행하는 수단 또는 장치의 도시와 함께, IM 클라이언트들 및 프리젠스 서버들 간의 프리미티브 메시지들의 흐름이다.
이와 같이, 그들은 물리 장치에 있는 신호 프로세서에 의해 처리될 수 있고 물리 매체에 저장할 수 있는 데이터 구조 또는 독립한 실체이다.
2. 가입 프리젠스
프리젠스 정보를 수신하는 다른 메커니즘은 누군가의 프리젠스 정보에 가입하는 것이다. 메시지 흐름은 도 4a에 도시된다.
요청 사용자는 누군가의 프리젠스 정보에 가입하기 위하여 프리젠스 서버에 가입 프리젠스 메시지(80)를 전송한다. 비가입 프리젠스에서와 유사한 인증 시퀀스(82, 84)가 포함될 수 있다. 인증은 또한 가입 이전에 또는 가입 이후에 자율적으로 수행될 수 있다(86).
프리젠스 정보 가입이 완료된 경우, 요청 사용자는 처음으로 신규 프리젠스 정보를 수신(88)하고 다른 당사자가 프리젠스 정보를 갱신하는 경우 항상 수신(90)한다.
요청 사용자가 더 이상 프리젠스 정보를 수신하기를 원하지 않는 경우, 상기 요청 사용자는 프리젠스 당사자의 정보 수신으로부터 비가입(92)할 수 있다.
대안으로, 프리젠스 정보는 소정 시간 기간 동안 가입될 수 있고 상기 시간 기간이 경과한 후에 프리젠스 서버에서 자동으로 상기 프리젠스 정보가 만료하기 때문에 비가입 메시지(92)가 필요하지 않다.
요청 사용자는 프리젠스 정보의 일부에만 가입할 수 있고, 대응하여 프리젠스 정보가 가입된 사용자는 프리젠스 정보의 일부만이 배달되도록 허용할 수 있다.
도 4a의 가입 프리젠스 메시지(80)는 또한 클라이언트에서의 IM 서비스 능력 계층(12)의 프리젠스 부분(12b)에 의해 제공되는 도 4b에 도시된다. 그것은 클라이언트에서의 IM 서비스 계층(10)으로부터 라인(96)상에서 제공되는 복수의 정보 요소들에 응답하여 수단(94)에 의해 제공된다. 이들 정보 요소들은 표 7에서 표시되는 바와 같을 수 있고 수단(94)에 의해 조합될 수 있으며 라인(29)상에서 IM 서버(27)로 전송하기 위하여 클라이언트의 IM 세션 계층(14) 및 IM 전송 계층(16)에서 처리하기 위하여 라인(80)상에서 가입 프리젠스(SubsPresence) 프리미티브로서 라인(80)상에 제공된다. IM 서버(27)의 IM 세션 계층 및 IM 전송 계층에 의해 처리된 후에 수단(94s)에 입력되는 것이 도 4c에 도시된다. 라인(80)상에 있는 가입 프리젠스 프리미티브의 표 7의 정보 요소들은 라인(98)상에서 IM 서버(27)에서의 가입자/상호접속 관리 계층(27b)에 제공된다.
그 다음, IM 서버(27)는 선인증에 의해 또는 IM 클라이언트의 프리젠스 정보가 요청되는 IM 클라이언트를 조회함으로써 인증을 얻으려고 한다. 요청된 클라이언트는 도 4b에 도시된 것과 동일하거나 유사한 IM 서비스 능력 계층을 가질 것이고, 라인(82)상에서 요청 프리젠스 인증(RequestPresAuth) 프리미티브를 수신할 것이다. 상기 요청 프리젠스 인증은 조회되는 클라이언트에서의 프리젠스 인증 요청을 수신하는 수단(100)에 제공된다. 이 프리미티브의 정보 요소들은 표 5에 표시된 것과 같을 수 있고 라인(102)상에서 요청된 클라이언트에서의 IM 서비스 계층에 제공된다. 이때 인증이 승인될 수 있고 표 6에 표시된 것과 같은 인증 정보 요소들이 라인(104)상에서 수단(106c)에 제공되어 라인(84)상에서 서버로 인증 프리젠스 프리미티브를 제공할 수 있다. 상기 인증 프리젠스 프리미티브를 수단(108s)에서 수신하고 표 5 정보 요소들을 라인(110)상에서 서버(27)에서의 가입자/상호접속 관리 계층(27b)에 제공한다. 그 다음 상기 서버는 표 4에 표시된 정보 요소들을 라인(112)상에서 수단(114)에 제공하고, 상기 수단(114)은 라인(88)상에서 도 4b의 요청 클라이언트에 프리젠스 프리미티브를 제공하며, 상기 프리미티브는 수단(116)에 의해 수신된다. 프리젠스 프리미티브를 포함하는 정보 요소들은 라인(118)상에서 요청 클라이언트의 IM 서비스 계층에 제공된다.
상술된 바와 같이, 프리젠스는 IM 클라이언트(20)에 의해 자율적으로 갱신될 수 있고, 이것은 수단(120)에 의해 제공된 라인(86)상에서의 갱신 프리젠스(UpdatePresence) 프리미티브에 의해 도 4a에 도시된 바와 같이 수행될 수 있다. 상기 수단(120)은 클라이언트(20)의 IM 서비스 계층(10)으로부터 라인(122)상에서 제공된 표 2에 표시된 것과 같은 정보 요소들에 응답하여 이러한 프리미티브를 제공한다. 이 정보는 프리젠스 서버에 저장되고 라인(82)상에서 요청 프리젠스 인증 프리미티브를 가지고 프리젠스 인증을 요청할 필요성을 없앤다.
마지막으로, 비가입 프리젠스(UnsubsPresence) 프리미티브가 클라이언트에서의 IM 서비스 능력 계층의 가입 프리젠스 부분에 있는 수단(124)에 의해 라인(92)상에서 제공된다. IM 서비스 계층(10)은 표 8에 표시된 것과 같은 정보 요소들을 라인(126)상에서 수단(124)으로 제공하고, 상기 수단(124)은 라인(92)상에서 비가입 프리젠스 프리미티브를 제공한다.
도 4c를 다시 참조하면, 수단(126)에 의해 수신되는 라인(88)상에서의 갱신 프리젠스 프리미티브에 의해 수행되는 자율적인 프리젠스 갱신이 도시된다. 상기 수단(126)은 클라이언트로부터 프리젠스 갱신 요청을 수신하고 예를 들어 표 2에 포함된 정보 요소들을 라인(128)상에서 서버(27)에서의 가입자/상호접속 관리 계층(27b)에 제공한다.
라인(92)상에서 비가입 프리젠스 프리미티브를 수신하기 위한 수단(129)이 도 4c의 IM 클라이언트 기술 계층(27a)에서 도시되고, 예를 들어 표 8에 표시된 바와 같은 정보 요소들을 라인(130)상에서 서버(27)에서의 가입자/상호접속 관리 계층(27b)에 제공한다. 이 계층은 또한 표 6으로부터의 정보 요소들을 라인(131)상에서 라인(82)상에서 인증 요청 프리미티브를 제공하는 수단(132)에 제공한다.
도 4a, 도 4b 및 도 4c와 같이 본 명세서에 개시된 메시지 흐름도("a"접미사) 또는 장치도(b 및 c 접미사) 중 어느 것과 관련하여 상술된 다양한 프리미티브들과 관련하여, 예시된 프리미티브들 각각은 전송단에서의 컴퓨터-독출가능 매체에 적어도 임시로 저장하기 위하여 조합하고 수신단에서 적어도 임시로 저장하기 위하여 분해하고 처리하는 데이터 구조를 구성한다는 것이 이해되어야 한다. 다시 말하면, 예를 들어 도 4b 및 도 4c를 참조하면, 수단(120)에 의해 라인(86)상에서 제공되는 갱신 프리젠스 프리미티브는 표 2에 나열된 정보 요소들로부터 조합되고 예를 들어 라인(122)상에서 제공된다. 이와 같이, 정보 요소들은 수단(120)에 적어도 임시로 저장된 후 신호 라인(86)상의 전송 매체에서 서버로 제공된다. 유사하게, 도 4c를 참조하면, 갱신 프리젠스 프리미티브는 수단(126)에 의해 라인(86)상에서 수신되고 수단(126)내에 적어도 임시로 저장되어 개별 정보 요소들로 분해되고/되거나 추가 전송을 위해 서버에서 프리미티브로서 처리한다. 이와 같이, 상기 개시된 프리미티브들 및 이하 더 상세하게 개시될 다른 프리미티브들은 클라이언트 및 서버간에 교환되는 데이터 구조들을 구성하고, 하나는 전송단에 있고 하나는 수신단에 있으며 인스턴트 메시징 및/또는 프리젠스 콘텍스트에서 정보를 전달한다. 상기 프리미티브들은 메시지 식별자들, 트랜잭션 식별자들, 및 그와 같은 종류의 다른 것을 포함하는 정보 요소들을 갖는다. 클라이언트들간에 공유되는 정보는 네트워크를 통해 매개체로서 동작하는 서버들과 프리미티브들 또는 이들 데이터 구조들에 의해 통신된다. 프리미티브들 및 자신의 구성 정보 요소들은 서버들 및 클라이언트들에 의해 인식되는 구조들을 가지며 그들은 제공된 서비스들의 콘텍스트에서 적합하게 해석될 수 있다.
비록 본 발명에 따라 서버의 IM 클라이언트 기술 계층에서 또는 클라이언트의 IM 서비스 능력 계층(12)에서 사용된 물리 장치(18, 19)의 상세가 클라이언트에서의 IM 서비스 계층과 상호 작용하는 클라이언트에서의 IM 서비스 능력 계층내의 다양한 수단들을 나타냄으로써 그리고 서버에서의 가입자/상호접속 관리 계층과 상호 작용하는 서버에서의 IM 클라이언트 기술 계층의 다양한 수단들을 나타냄으로써프리젠스 서비스에 관하여 도 3b, 도 3c 및 도 4b, 도 4c에 도시되었다 하더라도, 각각 클라이언트에서의 IM 서비스 계층 및 서버에서의 클라이언트 기술 계층에서 수행되는 기능들은 클라이언트에서의 IM 서비스 능력 계층 및 서버에서의 IM 클라이언트 기술 계층 이외의 다른 계층들내에서 전체적으로 또는 부분적으로 대신 수행될 수 있는 것으로 이해될 것이다. 예를 들어, 도 4d를 참조하면, 특정 계층들이 식별되지 않지만 기능 블록들은 대신에 본 발명에 따른 프리젠스 서버에서 수행되는 기능들 몇몇을 예시하기 위하여 도시된다. 도 3a 및 도 4a 양자로부터 결합된 기능들을 가지고 도시된 프리젠스 서버는 수단(133)을 포함한다. 상기 수단(133)은 라인(32)상에서의 입수 프리젠스 프리미티브이거나 라인(80)상에서의 가입 프리젠스 프리미티브인 프리젠스 정보 요청을 수신하고 이러한 프리미티브들을 처리하며 라인(133a, 133b)상에서 출력 신호들을 즉시 응답을 요구하는 요청을 처리하는 수단(133c) 및 가입 요청을 처리하는 수단(133d)에 제공한다. 즉시 응답을 요구하는 요청에 응답하는 경우에 있어서, 수단(133c)은 요청된 프리젠스 정보의 입수가 선인증되었는지 아닌지를 결정하는 수단(133f)으로 라인(133e)상에서 신호를 제공한다. 이것은 또한 수단(133d)에 대해서도 진실일 것이다. 왜냐하면 이러한 결정은 또한 가입 요청에 대해서도 수행되어야 하기 때문이다. 그러므로, 수단(133d)은 가입 요청되어야 하는 프리젠스 정보의 입수가 선인증되었는지 아닌지를 결정하는 수단(133f)으로 라인(133g)상에서 신호를 제공한다. 어떤 이러한 선인증 정보는 서버(27)에 이미 저장될 것이고 이러한 인증이 이미 있다고 결정된 경우, 신호는 프리젠스 서버 자신내의 라인(133s)상에서 저장부(133r)로부터 또는 라인(31, 86)상에서 갱신 프리젠스 정보에 의해 갱신되는 바와 같이 현재 프리젠스 정보를 검색하는 수단(133i)으로 라인(133h)상에서 제공된다. 수단(133i)은 검색되거나 갱신된 프리젠스 정보를 라인(133j)상에서 라인(33, 88)상에서 프리젠스 프리미티브로서 프리젠스 정보를 제공하는 수단(133k)으로 제공한다.
수단(133f)이 요청된 프리젠스 정보가 선인증되지 않았다고 결정하는 경우, 상기 수단(133f)은 요청된 프리젠스 정보를 갖는 클라이언트로부터 인증을 요청하는 수단(133n)으로 라인(133m)상에서 신호를 제공한다. 수단(133n)은 그 다음 라인(54, 82)상에서 요청 프리젠스 인증 프리미티브를 제공한다. 응답하여, 요청된 프리젠스 정보를 갖는 클라이언트는 라인(64, 84)상에서 수단(133p)으로 인증 프리젠스 프리미티브를 전송할 것이다. 상기 수단(133p)은 이러한 인증 프리미티브를 수신하고 요청 클라이언트에 의한 프리젠스 정보의 인증이 요청된 클라이언트에 의해 지금 인증되었는지를 결정하는 수단(133f)으로 라인(133q)상에서 신호를 제공한다. 인증된 경우, 신호는 라인(133h)상에서 수단(133i)으로 제공되고 요청된 정보는 서버에서의 저장부로부터 또는 클라이언트로부터 최근에 갱신된 프리젠스 정보를 수신하는 갱신 저장 메커니즘으로부터 검색되며, 수단(133k)으로 라인(133j)상에서 제공되고, 상기 수단(133k)은 요청 클라이언트에 라인(33, 88)상에서 프리젠스 프리미티브로서 프리젠스 정보를 제공한다.
그러므로, 본 발명에 따라 교시되는 다양한 기능들이 서버 또는 클라이언트의 다양한 계층들에 의해 수행될 수 있고 교시 목적으로 본 명세서에 도시된 정확한 구조들에 제한될 필요가 없는 것으로 이해될 것이다.
3. 프리젠스 프리미티브들 및 그 정보 요소들
[표 1] 프리젠스 프리미티브들
프리미티브 |
방향 |
갱신 프리젠스 |
IM 클라이언트 -> 프리젠스 서버 |
입수 프리젠스 |
IM 클라이언트 -> 프리젠스 서버 |
프리젠스 |
프리젠스 서버 -> IM 클라이언트 |
요청 프리젠스 인증 |
프리젠스 서버 -> IM 클라이언트 |
인증 프리젠스 |
IM 클라이언트 -> 프리젠스 서버 |
인증 상태 |
프리젠스 서버 -> IM 클라이언트 |
가입 프리젠스 |
IM 클라이언트 -> 프리젠스 서버 |
비가입 프리젠스 |
프리젠스 서버 <- IM 클라이언트 |
[표 2] 갱신 프리젠스
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
자신-클라이언트-ID(Own-Client-ID) |
필수 |
IM 클라이언트의 식별 |
자신-사용자-ID(Own-User-ID) |
필수 |
IM 사용자의 식별 |
그룹-ID |
옵션 |
관련되는 경우 IM 그룹 식별 |
프리젠스-값-리스트 |
옵션 |
갱신될 프리젠스 값들의 리스트 |
[표 3] 입수 프리젠스
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
프리젠스 요청 트랜잭션 식별 |
자신-클라이언트-ID |
필수 |
요청 IM 클라이언트의 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자의 식별 |
요청-클라이언트-ID |
조건부 |
클라이언트 특정 프리젠스가 요청된 경우,요청된 IM 클라이언트의 식별 |
요청-사용자-ID |
필수 |
요청된 IM 사용자의 식별 |
프리젠스-값-리스트 |
옵션 |
요청된 프리젠스 값들의 리스트. 빈(또는 특정 값)은 모든 프리젠스 값들이 요망된다는 것을 나타낸다. |
[표 4] 프리젠스
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
옵션 |
관련된 경우, 프리젠스 요청 트랜잭션 식별 |
요청-사용자-ID |
필수 |
요청된 IM 사용자의 식별 |
프리젠스-값-리스트 |
옵션 |
제공된 프리젠스 값들의 리스트 |
[표 5] 요청 프리젠스 인증
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
인증 요청 트랜잭션 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자의 식별 |
프리젠스-값-리스트 |
필수 |
요청된 프리젠스 값들의 리스트 |
[표 6] 인증 프리젠스
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
IM 서버로부터 또는 IM 클라이언트로부터 발신된,인증 요청 트랜잭션 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자의 식별 |
그룹-ID |
옵션 |
프리젠스의 인증이 그룹에 관련되는 경우 그룹 식별 |
프리젠스-값-리스트 |
필수 |
요청된 프리젠스 값들의 리스트 |
[표 7] 가입 프리젠스
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
자신-클라이언트-ID |
필수 |
요청 IM 클라이언트 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자 식별 |
요청-클라이언트-ID |
조건부 |
클라이언트 특정 프리젠스가 요청된 경우,요청된 IM 클라이언트 식별 |
요청-사용자-ID |
필수 |
요청된 IM 사용자 식별 |
프리젠스-값-리스트 |
옵션 |
요청된 프리젠스 값들의 리스트. 빈(또는 특정 값)은 모든 프리젠스 값들이 요망된다는 것을 나타낸다. |
[표 8] 비가입 프리젠스
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
자신-클라이언트-ID |
필수 |
요청 IM 클라이언트 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자 식별 |
요청-사용자-ID |
필수 |
요청된 IM 사용자 식별 |
4. 프리젠스 포맷
프리젠스 정보의 획득을 위한 2개의 모델들 및 상기 개시되고 추가로 상세히 후술되는 인스턴트 메시징을 위한 모델에 더하여, 본 발명은 또한 프리젠스 서비스들을 위한 프리젠스 값들의 미래 확장을 허용하도록 제공한다. 본 발명은 비등록 프리젠스 값들의 표현 및 올바른 관리 및 최소 세트의 등록 프리젠스 속성들 및 값들의 정의를 제공한다.
오늘날 인터넷-기반 인스턴트 메시징 서비스에 있어서, 프리젠스 값들은 사용자가 있는지 없는지와 같이 매우 간단하다. 이것은 프리젠스 서비스가 대부분 데스크탑 PC 환경에 제한된다는 사실을 반영한다.
오늘날 이동 핸드셋은 PC-기반 인터넷 환경보다 훨씬 더 정확하게 개인 상태를 반영하는 개인용 수단으로서 고려될 수 있다. 예를 들어, 정확한 위치가 즉시 획득될 수 있고 이용가능 상태(미팅에서, 여름 별장에서 등)가 핸드셋에서 사용자 프로필 설정을 액세스함으로써 손쉽게 이용할 수 있다. 사용자 및 핸드셋으로부터 획득될 수 있는 광범위한 정보를 고려하면, 프리젠스 정보 영역의 개발 가능성에 참여하는 것은 매우 어렵다. 본 발명의 다른 태양으로서, 값들의 분류 및 타이핑을 통해 프리젠스 속성들 및 값들을 정의하기 위해 확장가능한 메커니즘이 제공된다.
프리젠스 속성은 프리젠스 변수를 식별한다. 속성의 예는 예를 들어 "무드(mood)"일 수 있다. 프리젠스 값은 속성의 특정 값을 식별한다. 속성 무드는 예를 들어 "행복"값을 가질 수 있다.
본 발명은 최소 세트의 프리젠스 속성들을 제공하고 그들 값들은 정의된 최소 세트내에 상호동작가능성을 가능하게 하기 위하여 정의된다. 그러나, 본 발명은 정의된 세트의 속성들에 제한되지 않고 최소 세트를 초과하는 속성들 및 값들을 처리할 수 있는 구현들을 제공한다. 이것은 이들 값들을 사용자에게 제공하기 위하여핸드셋 또는 PC와 같은 단말기 장치에서 일반화된 방법 및 프리젠스 속성들의 분류(classification) 및 타이핑(typing)을 요구한다.
본 발명에 따라, 프리젠스 속성 정의(PAD; Presence Attribute Definition)는 적어도 다음 항목들을 포함한다:
이름: 프리젠스 속성의 일치하는 식별;
그룹: 프리젠스 속성이 속하는 그룹의 일치하는 식별;
설명: 프리젠스 속성의 의미(semantics)의 문자 설명;
클래스: 프리젠스 속성의 클래스(이하 더 충분히 설명된다);
유형: 프리젠스 값이 유형(텍스트, 정수, 부동 소수점, 나열, 등);
나열(Enumeration): 나열형인 경우, 설명을 갖는 가능한 나열된 값들의 리스트.
프리젠스 속성의 이름 및 그룹은 다음을 포함해야 한다:
1) 등록 실체의 식별; 및
2) 등록 실체의 범위 내에 있는 일치하는 식별.
벤더간 상호 동작 가능성을 위하여 최소 세트의 지원된 PAD들 및 PAG들을 형성하는 한 세트의 PAD들 및 PAD 그룹들(PAG들)을 관리하기 위하여 중심 레지스트리가 제공된다. 다른 등록 실체들은 제조업자들 및 다른 산업 포럼들일 수 있다. 중심 레지스트리는 등록 실체들의 식별을 관리한다.
특정 프리젠스 구현(예를 들어, 프리젠스 서버 또는 프리젠스 클라이언트)은 한 세트의 PAD들 및 PAG들을 지원하기 위하여 제공될 수 있다. 벤더간 일치에 기초하여, 상호동작가능성을 보장하기 위하여 몇몇 PAD들 및 PAG들이 요구될 수 있다.
IM 구현이 등록된 PAD를 지원하는 경우, 상기 IM 구현은 프리젠스 속성 값을 사용자에게 제공할 수 있고 PAD의 등록된 의미에 기초하여 내부적으로 상기 값을 사용할 수 있다. 예를 들어, 상기 IM 구현은 디스플레이상에 불행한 얼굴 아이콘을 표현하기 위하여 무드 속성의 값인 불행을 사용할 수 있다.
IM 구현이 등록된 PAD를 지원하지 않는 경우, 상기 IM 구현은 값의 유형 및 클래스에 기초하여 사용자에게 프리젠스 속성 값을 제공할 수 있지만, 어떠한 의미 또는 PAD를 가정할 수 없다.
프리젠스 속성들의 클래스는 각 PAD를 위해 선택된다. 상기 클래스는 예를 들어 값들을 주문하는데 사용될 수 있고 프리젠스 서버의 프리젠스 속성 값들의 내부 구성에 그리고 사용자에게 제공할 수 있다. 본 발명은 적어도 다음 클래스들을 제안한다:
도달가능성(네트워크 범위, 소속된 GPRS 등에서).
이용가능성(IM에 이용가능, 미팅중, 바쁨 등).
개인 상태(무드 등)
접속 정보(주소, 전화 번호 등)
위치(사용자 주어진 위치, 지리적/네트워크 위치)
클라이언트 능력(이미지 가능, 오디오 가능 등)
미지(미지 클래스)
몇몇 값들은 정적이고 몇몇은 동적으로 갱신될 수 있다. 상기에 의하면, 프리젠스 포맷의 중요한 태양은 프리젠스 값들이 동적으로 생성될 수 있다는 것으로 이해될 것이다. 그 경우에 있어서, 포맷 자신과 IM 사용자로의 그 표현은 이것을 지원할 필요가 있다. 이러한 프리젠스 정보를 표현하는데 사용되는 가장 현저한 기술 중 하나는 XML이다. XML을 갖는 프리젠스 값 포맷의 예는 다음과 같을 수 있다:
<presvalue>
<operation>update</operation>
<name>profile</name>
<class>availability</class>
<scope>client</scope>
<format>text charset ISO-8859-1</format>
<privacy>allowall</privacy>
<restrictedaddr>23456</restrictedaddr>
<allowedaddr>23456</allowedaddr>
<time>14112000165301</time>
</presvalue>
Operations: create, delete, update
PAD 클래스들은 중심 레지스트리에 의해 등록된다.
5. 유효 속성을 갖는 프리젠스 값들의 일반화된 공간-시간 모델
오늘날에는, 인스턴트 메시징 서비스가 프리젠스 서버에 있는 값들을 사용하고 모든 갱신은 상기 프리젠스 서버 외부에서 수행된다. 프리젠스 서버가 내부 공간 기능들(예를 들어, 사용자의 위치는 최근 알려진 위치에 기초하여 프리젠스 서버에 의해 보간될 수 있다) 및 시간(예를 들어 사용자의 이용 가능성은 시간의 함수일 수 있다)에 기초하여 값 갱신을 수행하도록 허용하는 일반화된 공간-시간 모델이 필요하다.
본 발명은 공간 및 시간의 함수로서 프리젠스 값들을 식별하는 프리젠스 값들의 공간-시간 모델의 정의를 허용한다. 공간 영역은 상기 값 및 그 소스간의 관계를 식별한다. 더욱이, 공간-시간 모델은 또한 공간 및 시간의 함수인 유효성 속성을 갖는 프리젠스 값들을 추가로 특징짓는다. 프리젠스 값들의 이러한 일반화된 공간-시간 모델은 프리젠스 값들이 프리젠스 서버에서의 독립 실체들로서 고려되도록 허용하고, 상기 프리젠스 서버에서 상기 값은 값 소스 및 시간에 기초하여 내부적으로 또는 외부적으로 수정되고 갱신된다. 무효 값들과 비교해서 유효 값들을 저장하고 저장부를 최적화하기 위하여 프리젠스 서버에 의해 프리젠스 값의 유효성이 사용될 수 있다. 본 발명의 이러한 태양은 프리젠스 서버가 소스로부터의 값을 가지고 갱신되지 않도록 허용하고, 시간 및 공간과 소스 값들의 함수로서 값들의 수정을 허용한다. 더욱이, 본 발명의 이러한 태양은 관련된 저장 최적화 및 유효하거나 무효한 값들의 관리를 허용한다.
프리젠스 값 P(t, S)는 공간(S) 및 시간(t)의 2-변수 함수로서 고려될 수 있다. 유사하게, 프리젠스 값의 유효성 V(t, S)도 또한 공간 및 시간의 2-변수 함수로서 고려될 수 있다. 공간 영역은 값의 소스들에 대한 프리젠스 값의 관계를 정의한다. 유효성은 연속하는 확률 값으로서 또는 이산 값(예를 들어, 유효/무효)으로서 고려될 수 있다.
예는 채트 룸에서 "이용 가능성"의 공간-시간 정의된 값일 수 있다. 상기 값은 시간 및 위치의 함수로서 고려될 수 있다. 상기 값은 달력(시간의 함수로서)으로부터 획득될 수 있고, 네트워크 위치는 이용가능성(집에서는 이용가능하지 않고, 작업장에서는 이용가능하다)을 나타내는데 사용될 수 있다.
4. 프리젠스 포맷
프리젠스 내용은 다음 클래스들로 분할될 수 있다:
도달가능성(네트워크 범위, 소속된 GPRS 등에서).
이용가능성(IM에 이용가능, 미팅중, 바쁨 등).
개인 상태(무드 등)
위치(사용자 주어진 위치, 지리적/네트워크 위치)
클라이언트 능력
몇몇 값들은 정적이고 몇몇은 동적으로 갱신될 수 있다. 프리젠스 포맷의 중요한 태양은 프리젠스 값들이 동적으로 생성될 수 있다는 것이다. 그 경우에 있어서, 포맷 자신과 IM 사용자로의 그 표현은 이것을 지원할 필요가 있다. 이러한 프리젠스 정보를 표현하기 위한 가장 현저한 기술 중 하나는 XML이다. XML을 갖는 프리젠스 값 포맷의 예는 다음과 같을 수 있다:
<presvalue>
<operation>update</operation>
<name>profile</name>
<class>availability</class>
<scope>client</scope>
<format>text charset ISO-8859-1</format>
<privacy>allowall</privacy>
<restrictedaddr>23456</restrictedaddr>
<allowedaddr>23456</allowedaddr>
<time>14112000165301</time>
</presvalue>
Operations: create, delete, update
메시징
1. 버디 리스트(Buddy List)를 갖는 메시징
버디 리스트를 통한 인스턴트 메시징은 도 5a에 표시된다(M = 메시지 내용; G = 그룹 식별자). 이 메시징 모델에 있어서, IM 사용자는 하나 이상의 버디 리스트를 서버에 유지한다. 버디 리스트를 갖는 IM 사용자는 IM 서버를 통해 전체 버디 리스트에 또는 하나 이상의 수신자들에게 별개로 메시지들(140)을 전송할 수 있다. 릴레이되는 메시지(142)의 수신 IM 클라이언트는 반드시 버디 리스트를 아는 것은 아니고 응답으로 버디 리스트를 참조할 수 없다.
버디 리스트에서의 사용자들의 프리젠스는 버디 리스트를 갖는 메시징의 완전한 부분이 아니다; 그 정보는 별도로 요청되거나 가입되어야 한다.
메시지의 발신자는 옵션으로 배달 보고 메시지(144, 146)를 요청할 수 있다.이 메시지는 상기 메시지가 수신 IM 클라이언트에게 도달하는 경우 IM 서버에 의해 발신자에게 전송된다.
버디 리스트들의 관리는 사용자 그룹 관리를 통해 수행되고, 이하 표제 가입자 및 사용자 그룹 기능들 아래 있는 부제 사용자 그룹들의 관리에서 상세하게 개시된다.
IM 클라이언트(20)의 IM 서비스 능력 계층(12)의 메시징 부분의 버디 리스트 부분은 도 5b에 도시된다. 상기 IM 서비스 능력 계층은 수단(150)을 포함하고, 상기 수단(150)은 클라이언트(20)의 IM 서비스 계층(10)으로부터 라인(154)상에서 제공될 수 있고 표 10에서 상세하게 표시되는 정보요소들을 포함할 수 있는 메시지 프리미티브를 라인(140)상에서 제공한다. 도 5a의 릴레이된 메시지(142)에 의해 도시되는 바와 같이 예정된 수신자(들)로의 서버에 의한 메시지의 배달 이후에, 서버는 라인(144)상에서 전송 클라이언트에 배달 프리미티브를 제공한다. 상기 배달 프리미티브는 수단(156)에 수신된다. 상기 수단(156)은 상기 배달 프리미티브를 수신하여 IM 클라이언트(20)의 IM 서비스 계층(10)으로 라인(158)상에서 표 11에 나열된 바와 같은 정보 요소들을 제공한다. IM 클라이언트는 또한 라인(142)상에서 메시지 프리미티브들을 수신하는 수단(160)에 제공되는 메시지 프리미티브와 같은 다른 클라이언트들로부터의 메시지들을 담당하고, 표 10에 나열된 정보 요소들과 같은 정보 요소들을 라인(162)상에서 IM 서버 계층(10)으로 제공한다.
또한, 비록 도 5a에 도시된 바와 같이 2개의 실제 클라이언트들이 관련되어있다 하더라도, 도 5b의 예시는 메시지(140)를 전송하고 단일 클라이언트에서 서버에 의해 릴레이되는 동일한 메시지를 수신하는 것을 도시하는 것으로 이해되어야 한다. 도 5b에 이러한 방식으로 도시된 이유는 메시지 프리미티브들을 전송하고 메시지 프리미티브들을 수신하는 능력이 양방향 메시징에 충분히 참여하기 위하여 대부분의 경우에 주어진 장치에서 구현되어야 하기 때문이다. 그러므로, 라인(140)상에서 서버에 의해 제1 IM 클라이언트로부터 릴레이되는 메시지는 라인(142)상에서 상술된 시나리오에서의 다른 하나의 IM 클라이언트에 의해 수신되는 것으로 이해될 것이다.
도 5c는 버디 리스트들을 갖는 메시징에 속하는 것으로서 서버에서의 IM 클라이언트 기술 계층(27a)을 상세하게 도시한다. 상술된 라인(140)상에서의 메시지 프리미티브는 수단(164)에 의해 수신되고, 상기 수단(164)은 표(10)의 정보 요소들을 라인(166)상에서 IM 서버(27)에서의 가입자/상호접속 관리 계층(27b)에 제공한다. 상기 서버가 라인(142)상에서 수신 IM 클라이언트로 메시지를 릴레이한 후에, 상기 서버는 표 11에 표시된 바와 같은 배달 프리미티브의 정보 요소들을 라인(168)상에서 수단(170)으로 제공한다. 상기 수단(170)은 상기 배달 프리미티브를 라인(144)상에서 전송 클라이언트로 제공한다. 유사하게, 상기 서버는 다른 클라이언트들로부터 메시지들을 수신할 수 있고 응답하여 표 10의 정보 요소들을 라인(172)상에서 수단(174)으로 제공한다. 상기 수단(174)은 예를 들어, 도 5b의 클라이언트로 라인(142)상에서 메시지 프리미티브에 의해 도시된 바와 같이, 클라이언트들로 메시지 프리미티브들을 제공한다.
2. 사설 그룹을 통한 메시징
사설 사용자 그룹을 통한 인스턴트 메시징이 도 6a에 도시된다. 이 메시징 모델에 있어서, IM 사용자는 하나 이상의 사설 사용자 그룹들을 서버상에 유지한다. IM 사용자는 초대 그룹 메시지(180)(표 12 참조)를 사용하여 그룹의 하나 이상의 멤버들을 채트(chat) 세션에 초대할 수 있다. 도 6b를 참조하면, 수단(181)으로부터 제공되는 초대 그룹(InviteGroup) 프리미티브가 라인(180)상에 도시된다. 상기 수단(181)은 클라이언트(20)의 IM 서비스 계층(10)으로부터 라인(181a)상에서 제공되는 표12에 표시된 정보 요소들에 대응하는 초대 그룹 프리미티브를 제공한다. 이것은 표 12에 표시되는 Inv-User-List 정보 요소에 의해 제공되는 바와 같은 다중-사용자 초대이다. 그룹에서의 변화(신규 사용자들이 가입하고 떠나는)는 표 16에 표시된 바와 같은 그룹 정보 메시지를 갖는 모든 당사자들에게 표시된다.
모든 사용자들은 각각의 다른 사설에 또는 사용자 그룹내의 모든 수신자들에게 표 10에 따른 메시지들을 전송할 수 있다.
사설 사용자 그룹의 소유자는 "추방(kick out)"할 수 있다. 즉 이하 다른 섹션에서 개시되는 그룹 관리 동작들을 통해 채트 세션에서 사용자들을 모르는 사이에 제거할 수 있다.
표 4의 프리젠스 프리미티브는 서비스의 완전한 부분일 수 있고, 채트 세션에 가입하는 각 사용자는 예를 들어 라인(186)상에서 프리젠스 프리미티브에 의해 도시되는 바와 같이 다른 사용자들(자동 가입을 통한)의 프리젠스 정보를 자동으로 수신할 수 있다. 도 6a에 도시된 바와 같이, 라인(180)상의 초대 그룹 프리미티브에 응답하여, IM 서버는 라인(188)상에서 (적절한 경우, 다른 IM 클라이언트들 뿐아니라) 초대된 IM 클라이언트로 초대 사용자(InviteUser) 프리미티브를 제공한다. 각각의 이러한 초대된 IM 클라이언트는 표 15에 따른 정보 요소들을 포함하는 가입 그룹(JoinGroup) 프리미티브를 가지고 라인(190)상에서 서버로 응답할 것이다. 세션을 가입하는 경우 프리젠스 정보의 인증이 수행되고 별도로 수행되지 않는다(표 15에서의 최종 IE 참조).
사용자들 각각은 탈퇴 그룹 메시지를 전송할 수 있고 탈퇴 그룹 프리미티브 메시지(192)(표 17 참조) 및 라인(194)상에서 대응하는 그룹 탈퇴 확인(표 18 참조)을 가지고 채트 세션을 종료할 수 있다. IM 사용자가 그룹을 떠나도록 강요되는 경우, 상기 IM 사용자는 단지 그룹 탈퇴 메시지를 수신한다.
발신자는 메시지가 수신 IM 클라이언트에 도달하는 경우 IM 서버에 의해 전송되는 배달 보고(표 11)를 옵션으로 요청할 수 있다. 메시지가 다중 수신자들에게 전송되는 경우, 배달 보고는 도 5a에 도시된 것과 같은 방식으로 각 수신자에 대해 독립하여 수신된다.
도 6b는 클라이언트(20)의 IM 서비스 능력 계층(12)의 사설 사용자 그룹 부분을 통한 인스턴트 메시징을 도시한다. 상술된 초대 그룹 프리미티브를 제공하는 수단에 더하여, 도 6a의 다른 프리미티브들을 제공하는 다양한 다른 수단이 또한 도시된다. 라인(188)상의 초대 사용자 프리미티브는 수단(200)에 의해 수신되는 것으로 도시된다. 상기 수단(200)은 초대 사용자 프리미티브를 수신하고 단일 사용자 초대에 사용된 표 13에 도시된 것에 대응하는 정보 요소들을 라인(202)상에서 제공한다. 초대가 받아들여지는 경우, IM 서비스 계층은 IM 서버로 라인(190)상에서 가입 그룹 프리미티브를 제공하는 수단(206)으로 라인(204)상에서 표 15의 정보 요소들을 제공한다. 초대 정보(InviteInfo) 프리미티브는 라인(208)상에서 IM 서버로부터 수단(210)으로 제공된다. 상기 수단(210)은 이러한 프리미티브에 응답하여 클라이언트의 IM 서비스 계층(10)으로 라인(212)상에서 표 14에 표시된 정보 요소들을 제공한다. 라인(186)상의 프리젠스 프리미티브는 수단(212)에 제공될 수 있다. 상기 수단(212)은 클라이언트의 IM 서비스 계층으로 라인(214)상에서 표 4의 정보 요소들을 제공한다. 도 6a에서 상술된 바와 같이 라인(182)상에서 메시지를 전송하는 것에 더하여, 클라이언트는 또한 도 6a 및 도 6b에 도시된 바와 같이 라인(216)상에서 메시지 프리미티브를 수신할 수 있다. 도 6b에 도시된 바와 같이, IM 서비스 능력 계층(12)은 수단(218)을 구비할 수 있고, 상기 수단(218)은 라인(220)상에서 표 10에 포함된 정보 요소들에 응답하여 라인(182)상에서 메시지 프리미티브를 제공한다. 유사하게, 라인(216)상에서 들어오는 메시지 프리미티브에 응답하여 클라이언트의 IM 서비스 계층(10)으로 라인(224)상에서 표 10에 표시된 정보 요소들을 제공하는 수단(222)이 제공된다. 라인(230)상에서 IM 서비스 계층에 의해 제공되고 표 2에 표시된 바와 같은 정보 요소들에 응답하는 수단(228)으로부터 라인(226)상에서 갱신 프리젠스 프리미티브가 자율적으로 제공될 수 있다. 라인(192)상의 탈퇴 그룹(LeaveGroup) 프리미티브가 수단(232)에 의해 제공될 수 있다. 상기 수단(232)은 IM 클라이언트(20)의 IM 서비스 계층(10)으로부터 라인(234)상에서 제공되는 표 17에 도시된 것과 같은 정보 요소들에 응답한다. 그룹 탈퇴(GroupLeft) 프리미티브가 수단(236)에 제공된다. 상기 수단(236)은 IM 서비스 계층(10)으로 라인(238)상에서 표 18의 정보 요소들을 제공한다. 마지막으로, 그룹 변경(GroupChange) 프리미티브가 라인(240)상에서 IM 서버에 의해 수단(242)으로 제공될 수 있다. 상기 수단(242)은 IM 서비스 계층(10)으로 라인(244)상에서 표 16에 대응하는 정보 요소들을 제공한다.
표 6b의 다양한 프리미티브들이 IM 서버(27) 측에 대해 도 6c에 도시된다.
도 6c는 도 1b의 IM 서버(27)의 IM 클라이언트 기술 계층(27a)의 사설 사용자 그룹 부분을 통한 인스턴트 메시징을 도시한다. 도 6b에 도시된 모든 프리미티브들이 또한 도 6c에 도시된다. 라인(180)상의 초대 그룹 프리미티브에 응답하여, 수단(250)은 서버(27)의 가입자/상호접속 관리 계층(27b)으로 라인(252)상에서 표 12의 정보 요소들을 제공한다. 상기 서버는 그 다음 라인(188)상에서 초대 사용자 프리미티브를 제공하는 수단(256)으로 라인(254)상에서 표 13의 정보 요소들을 제공함으로써 한 명 이상의 사용자들을 초대한다. 한 명 이상의 초대된 사용자들은 수단(258)으로 라인(190)상에서 가입 그룹 프리미티브를 제공한다. 상기 수단(258)은 상기 가입 그룹 프리미티브들을 수신하고 그것에 응답하여 서버(27)의 가입자/상호접속 관리 계층(27b)으로 라인(260)상에서 표 15에 따른 정보 요소들을 제공한다. 라인(208)상의 초대 정보(InviteInfo) 프리미티브는 서버(27)의 가입자/상호접속 관리 계층(27b)으로부터 라인(264)상에서 제공되는 표 14에 포함된 정보 요소들에 응답하여 수단(262)에 의해 제공된다. 이것은 초대 IM 클라이언트에 대한 초대되는 사용자에 의한 수락 또는 거절의 표시를 포함한다. 도 6a 및 도 6b와 관련하여 상술된 바와 같이, 라인(186)상의 프리젠스 프리미티브는 가입 사용자가 표 15에 나열된 바와 같은 가입 그룹 프리미티브의 최종 정보 요소에 의하여 그룹에 인증하기를 원하는 프리젠스 값들에 따라 가입 사용자에 의해 제공될 수 있다. 라인(186)상의 이 프리젠스 프리미티브는 수단(266)에 의해 제공될 수 있다. 상기 수단(266)은 서버(27)의 가입자/상호접속 관리 계층(27b)에 의해 제공되고 표 4에 의해 나열되는 바와 같은 라인(268)상에 제공되는 정보 요소들에 응답하여 서버로부터 프리젠스 프리미티브를 제공한다. 그 다음, 메시징은 예를 들어 초대 IM 클라이언트로부터 IM 서버로 도 6a의 라인(182)상의 메시지 프리미티브에 의해 도시되는 바와 같이 일어날 수 있다. 이것은 서버에서 수단(270)에 의해 수신된다. 상기 수단(270)은 이러한 메시지 프리미티브를 수신하고 서버(27)의 가입자/상호접속 관리 계층(27b)으로 라인(272)상에서 표 10의 정보 요소들을 제공한다. 그 다음 상기 서버는 도 6a에 의해 도시되는 바와 같이 수단(274)에 의해 제공되는 라인(216)상의 메시지 프리미티브에 의해 초대된 사용자인 IM 클라이언트로 이 메시지를 릴레이한다. 상기 수단(274)은 서버(27)의 가입자/상호접속 관리 계층(27b)으로부터 표 10에 표시된 정보 요소 내용을 구비하는 라인(276)상에서 제공되는 정보 요소들에 응답하여 상기 메시지 프리미티브를 제공한다. 유사하게, 도 6a의 초대된 IM 클라이언트는 라인(184) 상에서 IM 서버로 메시지를 전송할 수 있다. 이 메시지 프리미티브는 메시지 프리미티브를 수신하는 수단(270)에 제공되고 표 10에 따른 정보 요소들은 그 다음 서버(27)의 가입자/상호접속 관리 계층(27b)으로 라인(272)상에서 제공되며 상기 메시지 프리미티브를 제공하는 수단(274)으로 라인(276)상에서 릴레이되고 그곳에서부터 초대 클라이언트로 라인(278)상에서 제공된다.
IM 클라이언트에 의한 프리젠스의 갱신에 관련하여, 상기 프리미티브는 라인(226)상에서 수단(280)에 의해 수신되는 것으로 도시된다. 상기 수단(280)은 갱신 프리젠스 프리미티브를 수신하고 서버(27)의 가입자/상호접속 관리 계층(27b)으로 라인(282)상에서 표 2에 나열된 것과 같은 정보 요소들을 제공한다. 이러한 갱신된 프리젠스는 사설 사용자 그룹의 멤버들에 이용가능하다.
라인(192)상의 탈퇴 그룹(LeaveGroup) 프리미티브는 수단(284)으로 제공된다. 상기 수단(284)은 탈퇴 그룹 프리미티브를 수신하고 서버(27)의 가입자/상호접속 관리 계층(27b)으로 라인(286)상에서 표 17에 나열된 정보 요소들을 제공한다. 라인(194)상의 그룹 탈퇴(GroupLeft) 프리미티브는 서버(27)의 가입자/상호접속 관리 계층(27b)으로부터 라인(290)상에서 제공되는 표 18에 따른 정보 요소들에 응답하여 수단(288)에 의해 제공된다. 마지막으로, 서버(27)의 가입자/상호접속 관리 계층(27b)은 수단(294)으로 라인(292)상에서 표 16의 정보 요소들을 제공할 수 있다. 상기 수단(294)은 최근 가입된/탈퇴된 IM 사용자들의 리스트를 제공하기 위하여 도 6b 및 도 6a에 도시된 바와 같이 라인(240)상에서 그룹 변경 프리미티브를 제공한다.
3. 공중 사용자 그룹을 통한 메시징
공중 사용자 그룹을 통한 메시징이 도 7a, 도 7b 및 도 7c에 도시된다. 공중 및 사설 사용자 그룹간의 기본적인 차이점은 IM 서비스 제공자가 사용자 그룹을 관리하고 다른 IM 사용자들을 그룹으로 초대하는 것 대신에 모든 IM 사용자들이 그룹에 가입한다는 것이다. 공중 사용자 그룹들은 종종 어떤 특정 주제로 생성된다(채트 룸들).
공중 사용자 그룹의 메시징 및 프리젠스 부분들은 사설 사용자 그룹과 유사하게 작용한다.
IM 서비스 제공자는 다양한 토론 주제에 대해 한 세트의 상이한 사용자 그룹들을 유지할 수 있다.
또한, 상술된 사설 사용자 그룹에 비추어 자명한 성질로 인하여, 도 7a, 도 7b 및 도 7c의 상세한 설명은 생략되고, 공중 사용자 그룹 및 사설 사용자 그룹을 통한 메시징간의 주요한 차이점이 공중 사용자 그룹이 IM 서비스 제공자에 의해 생성되고 관리된다는 사실로 인하여 초대 사용자(InviteUser), 초대 그룹(InviteGroup), 및 초대 정보(InviteInfo) 프리미티브들이 없다는 것이 사실이라고 이해될 것이다.
4. 프리미티브들 및 정보 요소들
[표 9] 사용자 그룹을 통한 메시징을 위한 프리미티브들
프리미티브 |
방향 |
메시지 |
IM 클라이언트 <-> IM 서버 |
배달 |
IM 서버 -> IM 클라이언트 |
초대 그룹 |
IM 클라이언트 <-> IM 서버 |
가입 그룹 |
IM 클라이언트 -> IM 서버 |
탈퇴 그룹 |
IM 클라이언트 -> IM 서버 |
그룹 탈퇴 |
IM 서버 -> IM 클라이언트 |
[표 10] 메시지
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
자신-클라이언트-ID |
필수 |
전송 IM 클라이언트의 식별 |
자신-사용자-ID |
필수 |
전송 IM 사용자의 가입자 식별 |
요청-클라이언트-ID |
조건부 |
메시지가 단일 IM 클라이언트만을 목표로 정한 경우,수신 IM 클라이언트의 식별 |
요청-사용자-ID |
조건부 |
개별 메시징이 요청되는 경우수신 IM 사용자의 가입자 식별 |
그룹-ID |
조건부 |
메시징이 버디 리스트를 통해 요청되는 경우 그룹 식별 |
가입-ID |
조건부 |
가입 세션의 동적 식별. 메시징이 공중 또는 사설 사용자 그룹을 통해 요청되는 경우 제공 |
내용-유형 |
필수 |
인스턴트 메시지의 내용 유형 |
내용 |
옵션 |
인스턴트 메시지의 내용 |
[표 11] 배달
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
요청-사용자-ID |
필수 |
개별 메시징이 요청되는 경우수신 IM 사용자의 가입자 식별 |
메시지-ID |
필수 |
보고가 참조하는 메시지 식별 |
그룹-ID |
옵션 |
메시징이 그룹을 통해 요청되는 경우 그룹 식별 |
배달-상태 |
필수 |
배달 상태 식별 |
[표 12] 초대 그룹
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
초대 트랜잭션의 식별 |
자신-클라이언트-ID |
필수 |
초대 IM 클라이언트의 식별 |
자신-사용자-ID |
필수 |
초대 IM 사용자의 가입자 식별 |
초대-사용자-리스트 |
필수 |
그룹에 초대된 IM 사용자들의 리스트 |
그룹-ID |
필수 |
IM 사용자가 초대된 그룹 식별 |
[표 13] 초대 사용자
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
초대 트랜잭션의 식별 |
자신-클라이언트-ID |
필수 |
초대 IM 클라이언트의 식별 |
자신-사용자-ID |
필수 |
초대 IM 사용자의 가입자 식별 |
요청-클라이언트-ID |
필수 |
초대된 IM 클라이언트의 식별 |
요청-사용자-ID |
필수 |
초대된 IM 사용자의 식별 |
그룹-ID |
필수 |
IM 사용자가 초대된 그룹 식별 |
[표 14] 초대 정보
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
자신-클라이언트-ID |
필수 |
초대 IM 클라이언트의 식별 |
자신-사용자-ID |
필수 |
초대 IM 사용자의 식별 |
요청-사용자-ID |
필수 |
초대된 IM 사용자의 식별 |
초대-사용자-리스트 |
필수 |
그룹에 초대된 IM 사용자들의 리스트 |
그룹-ID |
필수 |
IM 사용자가 초대된 그룹 식별 |
가입-수락 |
필수 |
IM 사용자가 초대를 승인하는지 아닌지를 표시 |
거절-이유 |
옵션 |
가입이 가능하지 않은 이유를 나타내는 텍스트 주석 |
[표 15] 가입 그룹
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
초대 트랜잭션의 식별 |
그룹-ID |
필수 |
IM 사용자가 초대된 그룹 식별 |
가입-수락 |
필수 |
IM 사용자가 초대를 승인하는지 아닌지를 표시 |
거절-이유 |
옵션 |
가입이 가능하지 않은 이유를 나타내는 텍스트 주석 |
가입-속성 |
필수 |
블로킹된 IM 사용자들, 닉네임과 같은 그룹에 대한 속성 |
프리젠스-값-리스트 |
옵션 |
IM 사용자가 그룹에 인증하기를 원하는 프리젠스 값들 |
[표 16] 그룹 변경
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
초대 또는 변경 가입 트랜잭션 식별 |
그룹-ID |
필수 |
IM 그룹 식별 |
가입된-사용자-리스트 |
옵션 |
최근 가입된 IM 사용자들의 리스트 |
탈퇴된-사용자-리스트 |
옵션 |
최근 탈퇴된 IM 사용자들의 리스트 |
[표 17] 탈퇴 그룹
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
탈퇴 트랜잭션 식별 |
자신-클라이언트-ID |
필수 |
IM 클라이언트 자신 식별 |
자신-사용자-ID |
필수 |
IM 사용자 자신 식별 |
그룹-ID |
필수 |
탈퇴할 그룹 식별 |
가입-ID |
필수 |
가입 세션의 동작 식별 |
[표 18] 그룹 탈퇴
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
옵션 |
가능한 탈퇴 트랜잭션 식별 |
자신-클라이언트-ID |
필수 |
그룹에서 탈퇴한 클라이언트 식별 |
자신-사용자-ID |
필수 |
그룹에서 탈퇴한 사용자 식별 |
그룹-ID |
필수 |
탈퇴할 그룹 |
가입-ID |
필수 |
종료된 가입 세션의 동작 식별 |
탈퇴-이유 |
필수 |
그룹이 탈퇴된 이유(자신이 요청, 추방 등) |
가입자 및 사용자 그룹 기능들
1. IM 사용자 프로필 관리
클라이언트 측에서의 IM 사용자 프로필들의 관리 또는 정의는 본 발명의 범위를 벗어난다. WAP 브라우징 또는 HTML과 같은 어떤 다른 적용가능한 브라우징 기법은 상당히 효과적이고 만족스러운 접근일 것이다.
2. 사용자 그룹들의 관리
IM 사용자는 IM 서버에서의 버디 리스트들 및 사설 사용자 그룹들을 관리할수 있다.
사설 사용자 그룹 또는 버디 리스트는 도 8a에 도시된 바와 같이 생성 그룹(CreateGroup) 메시지(400)를 사용하여 생성된다. 상기 메시지는 그룹에 속하는 초기 IM 사용자들 뿐 아니라 그룹의 요청된 속성들에 대한 정보를 포함한다(표 20에 나열된 정보 요소들 참조). 상기 서버는 그룹의 수락된 속성들을 나타내는 그룹정보(GroupInfo) 메시지(402)를 가지고 릴레이할 것이다(표 21 참조).
IM 사용자는 입수 그룹 정보(GetGroupInfo) 메시지(404)를 가지고 그룹 또는 버디 리스트 정보를 요청할 수 있다(표 22 참조). 상기 그룹 정보 요청은 그룹 또는 버디 리스트의 소유자에게 제한될 수 있다. 응답하여, IM 서버에 의해 라인(406)상에서 그룹 정보 프리미티브(그룹정보(GroupInfo))가 제공된다(표 21 참조).
사용자 그룹 또는 버디 리스트를 소유하는 IM 사용자는 라인(408)상에서 수정 그룹(ModifyGroup) 프리미티브를 사용하여 자신의 속성을 변경하고 그룹에 신규 IM 사용자들을 추가하고 삭제할 수 있다(표 23 참조). 그룹 정보 메시지(410)가 다시 상기 요청을 확인 응답한다(표 21 참조).
사설 그룹 또는 버디 리스트의 소유자는 사용자 그룹 또는 버디 리스트를 영구히 제거하기 위하여 삭제 그룹(DeleteGroup) 메시지(412)를 전송할 수 있다(표 24 참조).
마지막으로, 수정 가입(ModifyJoin) 프리미티브가 IM 클라이언트에 의해 라인(414)상에서 제공될 수 있다(표 25 참조).
이제 도 8b를 참조하면, 도 8a의 라인(400)상의 생성 그룹 프리미티브가 또한 도 8b에서 수단(420)에 의해 제공되는 것으로 도시된다. 상기 수단(420)은 IM 클라이언트(20)에서의 IM 서비스 계층(12)의 사용자 그룹 관리 파트로부터 라인(422)상에서 제공되는 표 20에 의한 정보 요소들에 응답하여 생성 그룹 프리미티브를 제공한다. 유사하게, 도 8a의 라인(402)상의 그룹 정보 프리미티브는 또한 도 8b에서 수단(424)에 제공되는 것으로 도시된다. 상기 수단(424)은 그룹 정보 프리미티브를 수신하고, 그것에 응답하여 표 21에 의한 정보 요소들을 IM 서비스 계층(12)에 제공한다.
라인(404)상의 입수 그룹 정보(GetGroupInfo) 프리미티브는 수단(428)에 의해 제공되는데, 상기 수단(428)은 IM 서비스 계층(12)으로부터 라인(430)상에서 표 22에 따른 정보 요소들에 응답하여 상기 입수 그룹 정보 프리미티브를 제공한다.
도 8a의 라인(408)상의 수정 그룹 프리미티브는 또한 도 8b에서 수단(432)에 의해 제공되는 것으로 도시된다. 상기 수단(432)은 클라이언트(20)의 IM 서비스 계층(12)의 사용자 그룹 관리 파트로부터 라인(434)상에서 표 23에 따른 정보 요소들에 응답하여 상기 수정 그룹 프리미티브를 제공한다. 이 계층은 또한 라인(436)상에서 수단(438)으로 표 24에 다른 정보 요소들을 제공하고, 상기 수단(438)은 라인(412)상에서 삭제 그룹 프리미티브를 제공한다. 유사하게, IM 클라이언트(20)의 IM 서비스 계층(12)의 사용자 그룹 관리 파트는 라인(440)상에서 수단(442)으로 표 25에 따른 정보 요소들을 제공하고, 상기 수단(442)은 라인(414)상에서 수정 가입(ModifyJoin) 프리미티브를 제공한다.
이제 도 8c를 참조하면, 도 8a에서 도시된 IM 클라이언트에 의해 제공되는 생성 그룹(CreateGroup) 프리미티브는 IM 서버의 IM 클라이언트 기술 계층(27a)에서 수단(450)에 의해 수신된다. 상기 수단(450)은 표 20에 따른 정보 요소들을 라인(452)상에서 도 1b의 IM 서버(27)의 가입자/상호접속 관리 계층(27b)으로 제공한다. 이 계층은 표 21에 따른 정보 요소들을 라인(454)상에서 수단(456)으로 제공하고, 상기 수단(456)은 라인(402)상에서 그룹 정보(GroupInfo) 프리미티브를 가지고 그룹 정보를 보고한다.
라인(404)상의 입수 그룹 정보(GetGroupInfo) 프리미티브는 수단(458)으로 제공되고, 상기 수단(458)은 그룹 정보 요청을 수신하고 표 22의 정보 요소들을 라인(460)상에서 IM 서버(27)의 가입자/상호접속 관리 계층(27b)으로 제공한다.
또한 IM 서버(27)의 IM 클라이언트 기술 계층(27a)에서 수단(462)이 제공되고, 상기 수단(462)은 라인(408)상에서 수정 그룹(ModifyGroup) 프리미티브를 수신하고 라인(464)상에서 표 23에 다른 정보 요소들을 제공한다. 라인(412)상에서 삭제 그룹(DeleteGroup) 프리미티브가 수단(466)에 제공되고, 상기 수단(466)은 그룹 삭제 요청을 수신하고 그것에 응답하여 표 24에 따른 정보 요소들을 라인(468)상에서 서버(27)의 가입자/상호접속 관리 계층(27b)으로 제공한다.
마지막으로, 수단(470)은 그룹 가입 초대를 포함하는 라인(414)상의 수정 가입(ModifyJoin) 프리미티브에 응답하여, 표 23에 따른 정보 요소들을 라인(472)상에서 서버(27)의 가입자/상호접속 관리 계층(27b)으로 제공한다.
공중 사용자 그룹들의 관리는 본 발명의 범위를 벗어난다.
3. 사용자 그룹 검색
IM 사용자는 도 9a에 도시된 바와 같이 라인(500)상의 검색 그룹(SearchGroup) 프리미티브(I = 오류 정보)를 사용하여 그룹의 화제, 그룹의 IM 사용자들 등과 같은 다양한 정보에 기초하여 사용자 그룹들을 검색할 수 있다(표 26 참조). 상기 검색은 주로 공중 사용자 그룹들에 제한된다. IM 서버는 검색 기준과 일치하는 그룹들을 나타내는 라인(502)상의 그룹 정보(GroupInfo) 메시지를 가지고 응답한다(표 21 참조).
IM 사용자는 또한 라인(504)상의 검색 사용자(SearchUsers) 프리미티브를 사용하여 어떤 프리젠스 능력을 갖는 IM 사용자들을 포함하는 그룹들을 검색할 수 있다(표 27 참조). 이 경우에 있어서, IM 서버는 검색 기준과 일치하는 그룹들을 나타내는 라인(506)상의 그룹 정보 메시지를 가지고 응답한다. 또한, 비록 어떤 프리젠스 속성들을 갖는 IM 사용자들이 어떤 그룹에 가입되어 있지 않더라도, IM 사용자는 라인(508)상의 검색 사용자 프리미티브를 사용하여 상기 어떤 프리젠스 속성들을 갖는 IM 사용자들을 직접 검색할 수 있다. 이 경우에 있어서, IM 서버가 IM 클라이언트로 라인(510)상에서 프리젠스 프리미티브를 반환하는 것으로 도시된 바와 같이, IM 서버는 검색 기준과 일치하는 IM 사용자들의 프리젠스 정보를 가지고 응답한다.
IM 사용자는 자신의 프리젠스 및 그룹 정보가 프라이버시를 이유로 검색 요청에 사용되지 않도록 제한할 수 있다.
이제 도 9b를 참조하면, 도 1b의 IM 서비스 계층(10)과 관련하여 도 9a의 검색 기능들을 수행하는 IM 클라이언트(20)의 IM 서비스 능력 계층이 부분적으로 도시된다. 이러한 IM 서비스 계층(10)은 표 26에 따른 정보 요소들을 라인(512)상에서 수단(514)으로 제공할 수 있고, 상기 수단(514)은 검색 그룹(SearchGroups) 프리미티브를 라인(500)상에서 제공할 수 있다. 도 9a의 라인(502)상의 또는 라인(506)상의 그룹 정보 프리미티브는 IM 서버로부터 수단(516)으로 제공되고, 상기 수단(516)은 그룹 정보 프리미티브를 수신하여 표 21의 정보 요소들을 라인(518)상에서 클라이언트(20)의 IM 서비스 계층(10)으로 제공한다. IM 서비스 계층(10)은 또한 표 27의 정보 요소들에 대응하는 정보 요소들을 라인(520)상에서 수단(522)으로 제공할 수 있고, 상기 수단(522)은 검색 사용자 프리미티브를 라인(504)상에서 또는 라인(508)상에서 제공한다. 도 9a의 라인(512)상의 프리젠스 프리미티브는 수단(524)으로 제공되고, 상기 수단(524)은 표 4의 정보 요소들에 대응하는 정보 요소들을 라인(526)상에서 IM 서비스 계층(10)으로 제공한다.
이제 도 9c를 참조하면, 라인(500)상의 검색 그룹 프리미티브가 수단(526)에 제공되고, 상기 수단(526)은 검색 그룹 프리미티브를 수신하여 표 26의 정보 요소들에 대응하는 정보 요소들을 라인(528)상에서 IM 서버(27)의 가입자/상호접속 관리 계층(27b)으로 제공한다. 이 계층(27b)은 표 21의 정보 요소들에 대응하는 정보 요소들을 라인(530)상에서 수단(532)으로 제공하고, 상기 수단(532)은 그룹 정보 프리미티브를 라인(502)상에서 또는 라인(506)상에서 제공한다.
도 9a와 관련하여 상술된 바와 같이, 검색 사용자 프리미티브는 라인(504)상에서 또는 라인(508)상에서 수단(534)으로 제공될 수 있고 상기 수단(534)은 검색사용자 프리미티브를 수신하여 표 26에 따른 정보 요소들을 라인(536)상에서 서버(27)의 가입자/상호접속 관리 계층(27b)으로 제공한다. 응답하여, 계층(27b)은 상술된 바와 같은 그룹 정보 프리미티브 또는 예를 들어 표 4에 도시된 바와 같은 프리젠스 정보 요소들을 라인(538)상에서 수단(540)으로 제공할 수 있고, 상기 수단(540)은 상기 프리젠스 프리미티브를 라인(510)상에서 제공한다.
[표 19] 사용자 그룹 관리를 위한 프리미티브들
프리미티브 |
방향 |
생성 그룹 |
IM 클라이언트 -> IM 서버 |
입수 그룹 정보 |
IM 클라이언트 -> IM 서버 |
그룹 정보 |
IM 서버 -> IM 클라이언트 |
수정 그룹 |
IM 클라이언트 -> IM 서버 |
수정 가입 |
IM 클라이언트 -> IM 서버 |
삭제 그룹 |
IM 클라이언트 -> IM 서버 |
검색 그룹들 |
IM 클라이언트 -> IM 서버 |
검색 사용자들 |
IM 클라이언트 -> IM 서버 |
[표 20] 생성 그룹
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
생성 그룹 트랜잭션의 트랜잭션 식별자 |
자신-클라이언트-ID |
필수 |
IM 클라이언트 식별 |
자신-사용자-ID |
필수 |
그룹 생성자의 식별 |
그룹-속성들 |
옵션 |
그룹의 요청된 속성들 |
모든-사용자들-리스트 |
옵션 |
그룹의 멤버인 초기 IM 사용자들의 리스트 |
[표 21] 그룹 정보
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
초대 또는 입수 정보 트랜잭션 식별 |
그룹-ID |
필수 |
IM 그룹 식별 |
그룹-속성들 |
옵션 |
그룹 속성들의 리스트 |
가입된-사용자-리스트 |
옵션 |
모든 가입된 IM 사용자들의 리스트 |
모든-사용자들-리스트 |
옵션 |
그룹의 멤버인 모든 IM 사용자들의 리스트 |
[표 22] 입수 그룹 정보
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
입수 정보 트랜잭션의 트랜잭션 식별자 |
자신-클라이언트-ID |
필수 |
요청 IM 클라이언트 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자 식별 |
그룹-ID |
필수 |
그룹 식별자 |
[표 23] 수정 그룹
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
수정 그룹 트랜잭션의 트랜잭션 식별자 |
자신-클라이언트-ID |
필수 |
요청 IM 클라이언트 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자 식별 |
그룹-ID |
필수 |
그룹 식별 |
그룹-속성들 |
옵션 |
요청된 그룹의 속성들 |
신규-사용자들-리스트 |
옵션 |
사용자 그룹에 추가될 IM 사용자들의 리스트 |
삭제-사용자들-리스트 |
옵션 |
사용자 그룹에서 삭제될 IM 사용자들의 리스트 |
[표 24] 삭제 그룹
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
삭제 그룹 트랜잭션의 트랜잭션 식별자 |
자신-클라이언트-ID |
필수 |
요청 IM 클라이언트 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자 식별 |
그룹-ID |
필수 |
삭제될 그룹 식별 |
[표 25] 수정 가입
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
수정 트랜잭션의 식별 |
자신-클라이언트-ID |
필수 |
IM 클라이언트 식별 |
자신-사용자-ID |
필수 |
IM 사용자 식별 |
그룹-ID |
필수 |
사용자 그룹 식별 |
가입-ID |
필수 |
가입 세션의 동적 식별 |
가입-속성들 |
필수 |
블로킹된 IM 사용자들, 닉네임 등과 같은 그룹에 대한 속성 |
[표 26] 검색 그룹들
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
검색 트랜잭션 식별 |
자신-클라이언트-ID |
필수 |
요청 IM 클라이언트 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자 식별 |
그룹-속성들 |
필수 |
그룹 속성들에 관한 기준 검색 |
[표 27] 검색 사용자들
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
검색 트랜잭션 식별 |
자신-클라이언트-ID |
필수 |
요청 IM 클라이언트 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자 식별 |
검색 사용자 리스트 |
필수 |
검색될 IM 사용자들의 리스트 |
공유 내용 관리
도 10a에 도시된 바와 같이, IM 사용자는 라인(550)상에서 저장 내용(StoreContent) 메시지 프리미티브내에서 임의 내용을 전송함으로써 상기 임의 내용을 IM 서버에 저장할 수 있다. 상기 내용 저장은 사용자 그룹 범위내에서 수행된다. IM 서버는 내용 정보(ContentInfo) 메시지(U = 헤더 정보)를 라인(552)상에서 그룹내의 모든 IM 사용자들에게 전송하여 신규로 저장된 내용을 나타내거나, 전송자에게 내용이 저장될 수 없다는 것을 나타낸다. IM 사용자는 내용에 대한 제한된 액세스 권리를 정의할 수 있다.
서버에서 공유 내용을 처리하기 위한 대안적인 방법은 신규 내용에 대한 내용 정보가 매번 전송되지 않고, IM 사용자들이 라인(560)상에서 입수 내용 정보(GetContentInfo) 메시지를 가지고 모든 저장된 내용에 대한 정보를 요청할 수 있다는 것이다.
현존 내용에 대한 저장 요청은 현존 내용을 신규 내용 정보 메시지로 대체할 것이다.
정의된 액세스 권리에 기초하여, IM 사용자들은 내용을 검색하기 위하여 입수 내용(GetContent) 메시지를 라인(562)상에서 전송할 수 있고, 내용을 영구히 삭제하기 위하여 삭제 내용(DeleteContent) 메시지를 라인(564)상에서 전송할 수 있다. 라인(562)상의 입수 내용 프리미티브에 응답하여, IM 서버는 적합한 경우 상기 내용을 라인(565)상에서 수신 내용(ReceiveContent) 프리미티브내에서 제공한다.
이제 도 10b를 참조하면, IM 세션 계층(14)으로부터 IM 전송 계층(16)을 경유하여 접속(29)을 통해 도 1b의 IM 서버(27)로 그리고 IM 세션 계층(14)과 인터페이스하는 IM 서비스 계층(10)과 관련하여 도 1b의 IM 클라이언트(20)의 IM 서버 능력 계층(12)의 사용자 그룹 관리 파트(12e)의 공유 내용 관리 부분이 도시된다. 도 10a의 저장 내용(StoreContent) 프리미티브(550)는 도 10b에서 IM 서비스 계층(10)으로부터 라인(602)상에서 제공되는 표 29에 따른 정보 요소들에 응답하여 상기 저장 내용 프리미티브를 제공하는 수단(600)에 의해 제공되는 것으로 도시된다. IM 서비스 능력 계층(12e)의 사용자 그룹 관리 파트의 내용 관리 부분은 또한 수단(604)를 구비한다. 상기 수단(604)은 라인(552)상의 내용 정보 프리미티브에 응답하여 표 31에 따른 정보 요소들을 라인(606)상에서 IM 서비스 계층(10)으로 제공한다. 클라이언트는 또한 IM 서비스 계층(10)에 의하여 표 33에 나열된 정보 요소들에 대응하는 라인(608)상의 정보 요소들을 수단(610)으로 제공할 수 있고, 상기 수단(610)은 라인(560)상에서 입수 내용 정보 프리미티브를 제공한다. 라인(565)상의 수신 내용 프리미티브는 수단(612)에 제공되고, 상기 수단(612)은 상기 수신 내용 프리미티브를 수신하고 표 30에 나열된 정보 요소들에 대응하는 정보 요소들을 라인(614)상에서 제공한다. 이것은 수단(616)으로부터 라인(562)상에서 제공되는 입수 내용 프리미티브에 응답하여 수신되는 것만은 아닐 것이다. 상기수단(616)은 표 32에 나열된 것에 대응하는 정보 요소들을 라인(618)상에서 IM 서비스 계층으로부터 수신한다.
마지막으로, 클라이언트는 수단(620)에 의해 라인(564)상의 프리미티브에 의하여 내용을 삭제할 수 있다. 상기 수단(620)은 표 34에 나열된 것에 대응하는 라인(622)상에서 제공되는 정보 요소들에 응답하여 상기 프리미티브를 제공한다.
이제 도 10c를 참조하면, 내용 관리에 관한 IM 서버(27)의 IM 기술 계층(27a)의 일부는 도 10a 및 도 10b에 도시된 프리미티브를 가지고 IM 서버(27)의 하위 계층들과 인터페이스하는 가입자/상호접속 관리 계층(27b)과 관련하여 도시된다.
라인(550)상의 저장 내용(StoreContent) 프리미티브에 응답하여, 상기 저장 내용 프리미티브를 수신하고 표 29에 나열된 정보 요소들에 대응하는 라인(652)상의 정보 요소들을 가입자/상호접속 관리 계층(27b)에 제공하는 수단(650)이 도시된다.
라인(560)상의 입수 내용 정보(GetContentInfo) 프리미티브에 응답하기 위하여 상기 입수 내용 정보를 수신하고 표 33에 나열된 정보 요소들을 나타내는 라인(656)상의 정보 요소들을 제공하는 수단(654)이 포함된다. 응답하여, 서버(27)의 가입자/상호접속 관리 계층(27b)은 표 31에 나열된 정보 요소들에 대응하는 라인(658)상의 정보 요소들을 라인(552)상에서 내용 정보 프리미티브를 제공하는 수단(660)에 제공할 수 있다.
라인(562)상의 입수 내용 프리미티브는 수단(662)에 제공되고, 상기수단(662)은 상기 입수 내용 프리미티브를 수신하고 표 32에 나열된 것에 대응하는 정보 요소들을 라인(664)상에서 가입자/상호접속 관리 계층(27b)으로 제공한다. 내용은 그 다음 표 30에 나열된 정보 요소들의 형태를 가지고 예를 들어 적합한 경우 라인(666)상에서 수단(668)에 제공되고, 상기 수단(668)은 라인(565)상에서 수신 내용 프리미티브를 제공한다.
마지막으로, 라인(564)상의 삭제 내용 프리미티브는 수단(670)에 제공되고, 상기 수단(670)은 상기 삭제 내용 프리미티브를 수신하여 표 34에 나열된 것과 같은 정보 요소들을 라인(672)상에서 서버(27)의 가입자/상호접속 관리 계층(27b)으로 제공하며, 상기 서버(27)의 가입자/상호접속 관리 계층(27b)은 표 34의 최종 항목에 의해 표시되는 내용을 삭제하기 위한 적합한 단계들을 취한다.
공유 내용 관리를 위한 정보 요소들 및 프리미티브들
[표 28] 공유 내용 관리 프리미티브들
프리미티브 |
방향 |
저장 내용 |
IM 클라이언트 -> IM 서버 |
내용 정보 |
IM 서버 -> IM 클라이언트 |
입수 내용 |
IM 클라이언트 -> IM 서버 |
수신 내용 |
IM 서버 -> IM 클라이언트 |
입수 내용 정보 |
IM 클라이언트 -> IM 서버 |
삭제 내용 |
IM 클라이언트 -> IM 서버 |
[표 29] 저장 내용
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
저장 트랜잭션 식별 |
자신-클라이언트-ID |
필수 |
요청 IM 클라이언트 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자 식별 |
그룹-ID |
필수 |
그룹 식별 |
내용-속성들 |
필수 |
헤더, 공유 등과 같은 내용 속성들을 식별 |
내용-헤더 |
필수 |
내용의 헤더 |
내용-유형 |
필수 |
저장된 내용의 유형 |
내용 |
옵션 |
저장된 내용 |
[표 30] 수신 내용
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
검색 트랜잭션 식별 |
그룹-ID |
필수 |
그룹 식별 |
내용-ID |
필수 |
내용 식별 |
내용-헤더 |
필수 |
내용의 속성들을 식별하는 내용의 헤더 |
내용-유형 |
필수 |
저장된 내용의 유형 |
내용 |
필수 |
저장된 내용 |
[표 31] 내용 정보
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
저장 또는 입수 내용 정보 트랜잭션 식별 |
내용-헤더-리스트 |
필수 |
내용 헤더들의 리스트 |
내용-상태 |
옵션 |
저장 또는 삭제 동작 상태 |
[표 32] 입수 내용
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
검색 트랜잭션 식별 |
자신-클라이언트-ID |
필수 |
요청 IM 클라이언트 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자 식별 |
내용-ID |
필수 |
요청된 내용 식별자 |
[표 33] 입수 내용 정보
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
내용 정보 트랜잭션 식별 |
자신-클라이언트-ID |
필수 |
요청 IM 클라이언트 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자 식별 |
그룹-ID |
필수 |
사용자 그룹 식별 |
[표 34] 삭제 내용
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
삭제 트랜잭션 식별 |
자신-클라이언트-ID |
필수 |
요청 IM 클라이언트 식별 |
자신-사용자-ID |
필수 |
요청 IM 사용자 식별 |
그룹-ID |
필수 |
그룹 식별 |
내용-ID |
필수 |
삭제될 내용 식별 |
예외 관리
1. IM 애플리케이션 예외 관리
일반적으로, 예외 처리를 위한 2가지 메커니즘이 있다: 트랜잭션이 자신의 오류 처리를 구비할 수 있거나 일반 메커니즘에 의존할 수 있다. 역방향 호환성 이유로, 트랜잭션의 자신 오류 처리는 항상 일반 오류 처리에 의해 대체될 수 있다. 이 섹션은 도 11a에 도시된 일반 오류 처리 메커니즘을 기술한다.
트랜잭션은 라인(700)상에서 클라이언트로부터 서버로 또는 라인(702)상에서 서버로부터 클라이언트로 요청 프리미티브("요청(Request)")내의 트랜잭션 식별자(T)에 의해 식별된다. IM 서버 또는 클라이언트는 라인(704 또는 706)상에서 정보를 명시할 뿐 아니라 트랜잭션의 성공 또는 실패를 나타내는 상태(Status) 메시지를 가지고 응답한다.
비록 트랜잭션이 자신의 오류 처리를 정의한다 하더라도, 요청 IM 클라이언트 또는 IM 서버는 대신에 상태 메시지를 수신하도록 준비되어야 한다. 이런 식으로, 요청된 실체는 트랜잭션을 처리할 수 없다는 것을 통지할 수 있다.
도 11b는 도 1b의 IM 클라이언트(20)의 IM 서비스 능력 계층(12)에서의 예외 처리를 도시한다. 상태 메시지가 일반적으로 상술된 다양한 메시지 흐름도들에서 도시된 바와 같은 IM 서비스 능력 계층 전체를 통해 사용되기 때문에 어떤 서브파트에 특유하지 않다. 라인(702)상의 들어오는 프리미티브("요청")에 응답하여, 서버에 의한 상기 요청에 응답하는 수단(710)은 상기 프리미티브에 대응하는 정보 요소들을 라인(712)상에서 수단(714)으로 제공하고, 상기 수단(714)은 요청 수행에 대한 성공 또는 실패를 결정한다. 성공은 라인(716)상의 신호에 의해 표시되고, 실패는 라인(718)상에서 수단(720)으로 표시된다. 상기 수단(720)은 라인(706)상에서 상태 프리미티브를 제공한다. 이 프리미티브는 표 36에 도시된 바와 같은 정보 요소들을 포함하고 표 37에 도시된 바와 같은 상태 코드들을 포함한다.
유사하게, 도 11c에 도시된 바와 같은 서버측에 있어서, 라인(700)상에서 IM 클라이언트로부터 제공되는 요청은 수단(730)으로 제공되고, 상기 수단(730)은 라인(732)상의 신호를 가지고 서버에서 클라이언트에 의한 상기 요청에 응답한다. 수단(734)은 요청 수행에 대한 성공 또는 실패를 결정하고 라인(736)상에서 성공을 또는 라인(738)상에서 실패를 수단(740)으로 나타낸다. 상기 수단(740)은 표 37에 표시된 것과 같은 상태 코드들에 대한 설명을 가지고 표 35에 표시된 것과 같은 정보 요소들의 구조를 구비하는 상태 프리미티브를 라인(704)상에서 제공한다.
2. 프리미티브들 및 정보 요소들
[표 35] 일반 오류 처리에서의 메시지들
프리미티브 |
방향 |
상태 |
IM 클라이언트 -> IM 서버 |
상태 |
IM 서버 -> IM 클라이언트 |
[표 36] 상태
정보 요소 |
요건 |
설명 |
메시지-유형 |
필수 |
메시지 식별자 |
버전 |
필수 |
IM 사양의 버전 |
트랜잭션-ID |
필수 |
요청된 트랜잭션 식별 |
상태 |
필수 |
상태 값 |
메시지-ID |
조건부 |
메시지가 트랜잭션을 배달하는 경우, 배달될 메시지 식별 |
그룹-ID |
조건부 |
사용자 그룹이 트랜잭션에 관련되는 경우, 사용자 그룹 식별 |
가입-ID |
조건부 |
가입 세션의 동적 식별. 가입이 성공적인 경우 존재 |
[표 37] 상태 코드들 설명
클래스 |
코드 |
설명 |
없음 |
Ok |
메시지 식별자 |
서비스 제공 |
비 가입 |
|
비 신용 |
|
메시지 내용 |
무효 필드 |
|
네트워크 |
지원되지 않는 요청 |
|
인증 |
부정된 몇몇 프리젠스 값들 |
|
부정된 모든 프리젠스 값들 |
|
정보 요소들에 대한 정의
정보 요소 |
정의 |
모든-사용자들-리스트 |
사용자 리스트는 0 이상의 IM 사용자 식별들 또는 리스트를 포함한다.추가 정보를 위해, 자신-사용자-ID 참조 |
인증-상태 |
인증 상태는 인증 요청 상태를 나타내는 나열된 값들을 포함한다.그 값들은: 비 지원, 성공, 실패 |
내용 |
내용은 텍스트/플레인과 같은 어떤 마임(MIME) 내용일 수 있다. |
내용-헤더 |
내용 헤더는 다음 정보로 구성된다: 내용의 소유자 사용자-ID,내용-유형, 내용, 내용 크기를 기술하고 정보를 공유하는 텍스트 헤더 |
내용-헤더-리스트 |
IM 사용자 그룹내의 내용 헤더들의 리스트.추가 정보를 위해 내용-헤더 참조 |
내용-ID |
내용-ID는 RFC2557 포맷에 기초한 내용의 텍스트 식별이다 |
내용-상태 |
내용 저장 또는 삭제 요청 상태.값들은: 비 지원, 성공, 실패 |
내용-유형 |
저장된 내용의 MIME 유형 |
삭제-사용자들-리스트 |
삭제될 IM 사용자들의 리스트.추가 정보를 위해, 자신-사용자-ID 참조 |
배달-상태 |
메시지의 배달 상태 표시: 배달된, 만료된, 거절된, 실패, 등 |
그룹-ID |
IM 사용자 그룹의 식별.상기 식별은 E.164 번호 부여 계획 또는 전자 우편 주소에 기초한다 |
그룹-속성들 |
그룹의 속성들:버디 리스트, 사설 또는 공중, 그룹의 소유자, 개방형 또는 폐쇄형 사용자 그룹, 내용 저장과 같은 이용가능한 특징, IM 사용자들의 최대 수 |
초대-사용자-리스트 |
사설 사용자 그룹을 통해 채트 세션에 초대될 IM 사용자들의 리스트 |
가입-수락 |
사용자가 사용자 그룹에 가입을 수락하는지 아닌지에 대한 상태 값 |
가입-ID |
사설 또는 공중 사용자 그룹으로의 가입 세션의 동적 식별 |
가입된-사용자-리스트 |
가입된 사용자들의 리스트.추가 정보를 위해, 자신-사용자-ID 참조 |
가입-속성들 |
그룹에 가입하는 사용자의 속성들:그룹에서의 속성(액티브, 조용한 등), 블로킹된 IM 사용자들, 그룹에 사용될 가능한 닉네임 등 |
탈퇴-이유 |
사용자 그룹에서 탈퇴한 이유:사용자에 의한 요청, 추방 등 |
탈퇴-사용자-리스트 |
탈퇴된 사용자들의 리스트.추가 정보를 위해, 자신-사용자-ID 참조 |
메시지-유형 |
버전을 식별하는 메시지 유형 |
신규-사용자들-리스트 |
신규 IM 사용자들의 리스트.추가 정보를 위해, 자신-사용자-ID 참조 |
자신-클라이언트-ID |
동작을 요청하는 IM 클라이언트를 식별하는 자신 클라이언트 ID |
자신-사용자-ID |
동작을 요청하는 IM 사용자를 식별하는 자신 사용자 ID.상기 ID는 이동 번호(E.164 번호 부여 계획)에 의해 또는 전자 우편 주소(RFC-822)에 의해 표현된다. 더욱이, IM 사용자가 그룹내에 포함되어 있는 경우, 자신 사용자 ID는 그룹[m1]내의 저장된 주소를 나타내는 닉네임일 수 있다. |
프리젠스-값-리스트 |
상기 프리젠스 섹션에서 설명된 바와 같은 프리젠스 값들의 리스트 |
거절-이유 |
채트에 초대가 거절된 이유에 대한 텍스트 설명 |
요청-사용자-ID |
요청된 동작의 수신지인 IM 사용자를 식별하는 요청된 사용자 ID.상기 ID는 이동 번호(E.164 번호 부여 계획)에 의해 또는 전자 우편 주소(RFC-822)에 의해 표현된다. 더욱이, IM 사용자가 그룹내에 포함되어 있는 경우, 요청된 사용자 ID는 그룹내의 저장된 주소를 나타내는 닉네임일 수 있다. |
검색-사용자-리스트 |
검색될 IM 사용자 ID들의 리스트.추가 정보를 위해, 자신-사용자-ID 참조 |
상태 |
일반 트랜잭션들에서의 상태 값들.상기 값들은 몇몇 클래스들 및 서브 코드들로 분할된다상태들: 성공 트랜잭션, 실패 트랜잭션클래스: 없음, 서비스 제공, 메시지 내용, 관련 네트워크, 최종 사용자에게 제공될 추가 인증 정보 |
버전 |
<메이저>,<마이너> 버전 스타일로 표현되는 IM 사양의 버전 |
비록 특정 실시예들의 문맥에서 기술되었지만, 이들 교시에 대한 다수의 수정이 있을 수 있다는 것은 당업자에게 명백할 것이다. 그러므로, 본 발명은 본 발명의 하나 이상의 바람직한 실시예들에 관하여 특별히 도시되고 기술되었지만, 상술되고 청구된 바와 같은 본 발명의 정신 및 범위를 벗어나지 않으면서 형태 및 형식에서의 어떤 수정 또는 변경이 수행될 수 있다는 것이 당업자에게 이해될 것이다.