Traitement en cours

Veuillez attendre...

PATENTSCOPE sera indisponible durant quelques heures pour des raisons de maintenance le mardi 27.07.2021 à 12:00 PM CEST
Paramétrages

Paramétrages

Aller à Demande

1. KR1020050054960 - SYSTEM AND METHOD OF WIRELESS INSTANT MESSAGING

Note: Texte fondé sur des processus automatiques de reconnaissance optique de caractères. Seule la version PDF a une valeur juridique

[ KO ]
명 세 서
무선 인스턴트 메세징 시스템 및 방법{SYSTEM AND METHOD OF WIRELESS INSTANT MESSAGING}
기 술 분 야
본 발명은 일반적으로 인스턴트 메세징 분야에 관한 것이고, 보다 상세하게는 무선 장치들로의 인스턴트 메세징, 및 무선 장치로부터의 인스턴트 메세징 시스템 및 방법에 관한 것이다.
발명이 속하는 기술 및 그 분야의 종래기술
공지된 인스턴트 메세징(Instant Messaging, IM) 기술은 통상 짧은 메세지들을 전달하고 현재 상태 정보를 유지하는 것이다. 현재 상태 정보(presence information)를 유지하는 하나의 기술은 "버디 리스트(buddy list)"이다. "버디 리스트"에서, 사용자는 정기적으로 통신하는 통신자 리스트를 유지한다. "버디 리스트"의 통신자들은 통상 통신 활동, 접속 단절 등과 같은 현재 상태 정보에 대하여 서로 폴링(polling)한다. 사용자들은 "버디 리스트"를 통하여 특정인이 통신이 가능한지 여부를 알 수 있다.
"버디 리스트"를 사용하는 하나의 알려진 IM 기술은 ICQ이다. ICQ에서, 만약 통신자의 현재 상태 정보가 변경되면, 예컨대, 만약 통신자가 네트워크에 접속하거나 접속을 단절하면, "버디 리스트" 내의 각 통신자는 그 메세지를 사용자에게 전달한다. ICQ에서 종래의 IM 현재 상태 정보는 "접속중(connected)", "채팅중(chatty)", "자리비움(away)", "장기적인 자리비움(extended away)", "자리에 있음(occupied)", "방해하지 마시오(do not disturb, DND)", "안보임(invisible)", 및 "오프라인(off-line)" 등과 같은 문구를 사용하여 규정된다.
종래 IM 기술들은 전형적인 무선 네트워크 용량을 초과할 가능성이 있는 빈번한 네트워크 트래픽 통신들을 사용할 수 있다. ICQ와 같은, 종래의 IM 기술에서는, 스테이션들이 현재 서로 통신하고 있지 않은 상황에서조차, 스테이션 간에 현재 상태 정보가 전송되기 때문에 이러한 상황이 발생하는 것이다. 스테이션들의 상태에도 불구하고, 현재 상태 정보의 이러한 연속적인 전송은 네트워크 트래픽 증가와, 특히 스테이션이 무선 이동 통신 장비인 경우에 스테이션 배터리 수명의 감소를 야기할 수 있다.
또한, 종래의 IM 기술들은 사용자가 항상 활성화되어 있거나 항상 네트워크에 접속되어 있지 않다고 가정할 수 있는데, 이러한 상황은 일정한 접속을 유지하는 임의의 무선 네트워크 사용자들을 구비한 경우에 항상 적용될 수는 없는 것이다.
발명의 상세한 설명
인스턴트 메세징 시스템 및 방법이 개시된다. 서로에게 인스턴트 메세징을 전달할 수 있는 복수의 메세징 클라이언트들은 네트워크를 통하여 서로 현재의 정보를 공유하도록 구성되어 있다. 메세징 클라이언트가 다른 메세징 클라이언트로부터 현재정보를 수신하는 상태에 있는지 여부에 관하여 각 메세징 클라이언트에 대해 결정이 내려지고, 만약 그렇다면 현재 상태 정보를 메세징 클라이언트에게 제공한다. 현재 상태 정보는 메세징 클라이언트들 간에 직접적으로 제공될 수 있거나, 현재 상태 정보를 저장하고 전달하는 하나 이상의 집중형 프록시 서버를 통하여 제공될 수 있다. 특정한 메세징 클라이언트에 의해 진입되어 시스템으로 하여금 클라이언트로의 현재 상태 정보의 전달을 중단하도록 하는 경우, 알려지지 않은 상태(unknown state)로서 언급되는 특별한 상태가 제공된다. 통신 상태를 변경하는 경우에 시스템은 메세징 클라이언트로의 현재 상태 정보 제공을 재개한다.
도면의 간단한 설명
도 1은 이중-모드 이동 통신 장치의 블록도이다.
도 2는 본 발명에 따른 예시적인 무선 인스턴트 메세징 시스템의 블록도이다.
도 3은 본 발명에 따른 무선 인스턴트 메세징의 방법의 제1 실시예의 단계들을 설명하는 상호작용 다이어그램이다.
도 4는 본 발명에 따른 무선 인스턴트 메세징 방법의 제2 실시예의 단계들을 설명하는 상호작용 다이어그램이다.
도 5는 본 발명에 따른 무선 인스턴트 메세징 방법의 제3 실시예의 단계들을 설명하는 상호작용 다이어그램이다.
실 시 예
도 1에 있어서, 도 1은 이중 모드 이동 통신 장치(10)의 블록도이다. 이중-모드 장치(10)는 송수신기(11), 마이크로프로세서(38), 디스플레이(22). 플래시 메모리(24), RAM 메모리(26), 주변 입력/출력(I/O) 장치(28), 시리얼 포트(30), 키보드(32), 스피커(34), 마이크로폰(36), 단거리 무선 통신 서브-시스템(40)을 포함하고, 또한 다른 장치 서브-시스템들(42)을 포함할 수 있다. 송수신기(11)는 바람직하게는 송신 및 수신 안테나(16), 수신기(12), 송신기(14), 하나 이상의 로컬 발진기들(13), 및 디지털 신호 프로세서(20)를 더 포함할 수 있다. 플래시 메모리(24) 내에서, 장치(10)는 바람직하게는 마이크로프로세서(38)(및/또는 DSP(20))에 의해 실행될 수 있는 복수의 소프트웨어 모듈들(24A-24N)을 포함할 수 있는데, 여기서 마이크로프로세서는 음성 통신 모듈(24A), 데이터 통신 모듈(24B), 및 복수의 다른 기능들을 실행하기 위한 복수의 다른 동작 모듈들(24N)을 포함한다.
이동 통신 장치(10)는 바람직하게는 음성 및 데이터 통신 성능을 구비한 쌍방향 통신 장치이다. 그러므로 예컨대, 장치는 알려진 많은 아날로그 또는 디지털 셀룰러 네트워크들과 같은 음성 네트워크 상에서 통신할 수 있으며, 데이터 네트워크 상에서 통신할 수 있다. 음성 및 데이터 네트워크들은 통신 타워(19)에 의하여 도 1에 도시되어 있다. 이러한 음성 및 데이터 네트워크들은 기지국, 네트워크 제어기 등과 같은 분리된 인프라구조를 사용하는 분리된 통신 네트워크들일 수 있거나, 단일한 무선 네트워크로 집적화될 수 있다.
통신 시스템(11)은 음성 및 데이터 네트워크(19)와 통신하도록 사용되며, 수신기(12), 송신기(14), 하나 이상의 로컬 발진기(13)를 포함하고, 또한 DSP(20)를 포함할 수 있다. DSP(20)는 신호를 송신기(14) 및 수신기(12)로 전달하거나, 송신기 및 수신기로부터 수신하도록 사용되고, 또한 송신기(14)로부터 제어 정보를 수신하고, 수신기(12)로 제어 정보를 제공하도록 사용된다. 만약 음성 및 데이터 통신들이 단일 주파수 또는 공간적으로 밀접한 주파수들의 세트로 발생한다면, 단일 로컬 발진기(13)는 송신기(14) 및 수신기(12)와 결합하여 사용될 수 있다. 또한, 만약 상이한 주파수들이 음성 통신 대 데이터 통신들에 대하여 사용된다면, 복수의 로컬 발진기들(13)은 음성 및 데이터 네트워크들(19)에 대응하는 복수의 주파수들을 생성하도록 사용될 수 있다. 2 개의 안테나(16, 18)가 도 1에 도시되어 있지만, 이동 장치(10)는 단일 안테나 구조와 함께 사용될 수 있다. 음성 및 데이터 정보 모두 포함하는 정보는 DSP(20) 및 마이크로프로세서(38) 간의 링크를 통하여 통신 모듈(11)과 통신을 한다.
주파수 대역, 구성요소 선택, 전력 레벨, 등과 같은 통신 서브시스템(11)의 상세한 설계는 장치가 동작을 지향하는 통신 네트워크(19)에 의존할 것이다. 예컨대, 북아프리카 시장에서 동작하도록 의도된 장치(10)는 Mobitex TM 또는 DataTAC TM 이동 데이터 통신 네트워크와 함께 동작하도록 설계되고 또한 AMPS, TDMA, CDMA, PCS, 등과 같은 다양한 음성 통신 네트워크들 중 어느 하나와 동작하도록 설계된 통신 서브시스템(11)을 포함할 수 있고, 반면에 유럽에서 사용되도록 의도된 장치(10)는 제네럴 패킷 무선 서비스(GPRS) 데이터 통신 네트워크와 GSM 음성 통신 네트워크와 동작하도록 구성될 수 있다. 분리되고 집적화된, 다른 종류들의 데이터 및 음성 네트워크들이 이동 장치(10)와 함께 사용될 수 있다.
네트워크(19)(또는 네트워크들)의 종류에 따라서, 이중-모드 이동 장치(10)에 대한 액세스 요구들 또한 다양할 수 있다. 예컨대, Mobitex 및 DataTAC 데이터 네트워크들에서는, 이동 장치들은 각 장치와 관련된 고유 식별 번호를 사용하여 네트워크 상에 등록된다. GPRS 데이터 네트워크들에서는, 그러나 네트워크 액세스가 가입자 또는 사용자 장치(10)와 관련된다. GPRS 장치는 통상 가입자 식별 모듈("SIM")을 요구하는데, 이것은 GPRS 네트워크 상의 장치(10)를 동작시키기 위하여 필요하다. 로컬 또는 논-네트워크(non-network) 통신 기능들은(만약 존재한다면), SIM 장치 없이 동작 가능하지만, 장치(10)는 911 응급 호출과 같은, 어떤 법적으로 필요한 동작들을 제외한 데이터 네트워크(19) 간의 통신을 포함하는 특정한 기능들을 실행할 수 없을 것이다.
어떤 필요한 네트워크 등록 또는 활성 절차들이 완료된 후에, 이중-모드 장치(10)는 통신 신호들을 네트워크(19)(네트워크들) 상에서 전달하고 수신할 수 있는데, 이 신호들은 음성 및 데이터 신호들을 포함한다. 통신 네트워크(19)로부터 안테나(16)에 의하여 수신된 신호들은 신호 증폭, 주파수 다운 변환, 필터링, 채널 선택 등을 위하여 제공된 수신기(12)로 라우팅되고, 아날로그 디지털 변환을 제공할 수 있다. 수신 신호의 아날로그 디지털 변환은 DSP(210)를 사용하여 실행되는 디지털 복조 및 디코딩과 같은 보다 복잡한 통신 기능들을 가능하게 한다. 유사한 방식으로, 네트워크(19)로 전송되는 신호들은 예컨대, DSP(20)에 의한 변조 및 인코딩을 포함하여 진행되어, 그 뒤 디지탈 아날로그 변환, 주파수 업 변환, 필터링, 증폭, 및 안테나(18)를 통한 통신 네트워크(19)(또는 네트워크들)로의 송신을 위하여 송신기(14)로 제공된다. 단일 송수신기(11)가 음성 및 데이터 통신 모두를 위하여 도 1에 도시되어 있지만, 음성 신호들의 송신 및 수신을 위한 제1 송수신기와, 데이터 신호들의 송신 및 수신을 위한 제2 송수신기와 같은 2 개의 특정한 송수신기들을 장치(10)가 포함할 수 있을 가능성이 있다.
통신 신호들을 처리하는 것에 추가하여, DSP(20)는 또한 수신기 및 송신기 제어를 위해 제공된다. 예컨대, 수신기(12) 및 송신기(14)의 통신 신호로 적용되는 이득 레벨들은 DSP(20)에서 구현된 자동 이득 제어 알고리즘들을 통하여 적응적으로 제어될 수 있다. 다른 송수신기 제어 알고리즘들이 또한 송수신기(11)의 보다 정교한 제어를 제공하기 위하여 DSP(20)에서 구현될 수 있다.
마이크로프로세서(38)는 바람직하게는 이중-모드 이동 장치(10)의 전체 동작을 관리하고 제어한다. 많은 종류들의 마이크로프로세서들 또는 마이크로-제어기들이 여기서 사용될 수 있으며, 또한 단일한 DSP(20)가 마이크로프로세서(38)의 기능들을 실행하도록 사용될 수 있다. 적어도 데이터 및 음성 통신들을 포함하는 저-레벨 통신 기능들은 송수신기(11)의 DSP(20)를 통하여 실행된다. 다른 고-레벨 통신 어플리케이션, 즉 음성 통신 어플리케이션(20A), 및 데이터 통신 어플리케이션(24B)이 마이크로프로세서(38)에 의한 실행을 위하여 플래시 메모리(24)에 저장될 수 있다. 예컨대, 음성 통신 모듈(24A)은 이중-모드 이동 장치(10)와 네트워크(19)를 통한 복수의 다른 음성 장치들 간의 음성 호출들을 송신하고 수신하도록 동작할 수 있는 고-레벨 사용자 인터페이스를 제공할 수 있다. 유사하게는, 데이터 통신 모듈(24B)은, 이중-모드 이동 장치(10)와, 네트워크(19)를 통한 복수의 다른 데이터 장치들 간에서, 이메일 메세지들, 파일들, 구성자 정보, 단문 메세지들과 같은 데이터를 전달하고 수신하기 위하여 동작할 수 있는 고-레벨 사용자 인터페이스를 제공할 수 있다. 마이크로프로세서(38)는 또한 다른 장치 서브시스템들, 즉, 디스플레이(22), 플래시 메모리(24), 랜덤 액세스 메모리(RAM)(26), 주변 입/출력(I/O) 서브시스템(28), 시리얼 포트(30), 키보드(32), 스피커(34), 마이크로폰(36), 단거리 통신 서브시스템(40) 및 42로 일반적으로 지정된 임의의 다른 장치 서브시스템들과 같은 다른 장치 서브시스템들과 상호작용한다.
도 1에 도시된 서브시스템들의 일부는 통신 관련 기능들을 수행하는 반면, 다른 서브시스템들은 "상주" 또는 온-디바이스 기능들을 수행할 수 있다. 특히, 키보드(32) 및 디스플레이(22)와 같은 일부 서브시스템들은, 데이터 통신 네트워크 상의 전송을 위한 텍스트 메세지를 입력하는 것과 같은 통신 관련 기능들과, 계산기 또는 작업 리스트 또는 다른 PDA 형 기능들과 같은 장치-상주 기능들을 모두를 위하여 사용할 수 있다.
마이크로프로세서(38)에 의하여 사용되는 운영 시스템 소프트웨어는 바람직하게는 플래시 메모리(24)와 같은 계속적인 저장 장치에 저장된다. 장치(10)의 저-레벨 기능들 모두를 제어하는 운영 시스템에 추가하여, 플래시 메모리(24)는 복수의 고-레벨 소프트웨어 어플리케이션 프로그램들, 또는 음성 통신 모듈(24A), 데이터 통신 모듈(24B), 구성자 모듈 또는 임의의 다른 유형의 소프트웨어 모듈(24N)과 같은 모듈들을 포함할 수 있다. 플래시 메모리(24)는 또한 데이터 저장을 위한 파일 시스템을 포함할 수 있다. 이러한 모듈들은 마이크로프로세서(38)에 의해 실행되고, 장치 사용자 및 장치 간의 고-레벨 인터페이스를 제공한다. 이러한 인터페이스는 통상 디스플레이(22)를 통하여 제공되는 그래픽 구성요소와, 주변 I/O(28), 키보드(32), 스피커(34), 및 마이크로폰(36)을 통하여 제공되는 입/출력 구성요소를 포함한다. 운영 시스템, 특정한 장치 어플리케이션들 또는 모듈들, 또는 그 부분들은 더 빠른 동작을 위한 RAM(26)과 같은 휘발성 저장 장치로 일시적으로 로드될 수 있다. 또한, 수신된 통신 신호들은 영속적 저장 장치(24)에 배치된 파일 시스템으로 영구히 저장되기 전에 RAM(26)에 일시적으로 저장될 수 있다.
이중-모드 장치(10)에 로드될 수 있는 예시적인 어플리케이션 모듈(24N)은 캘린더 이벤트들, 약속들 및 작업 항목들과 같은 PDA 기능을 제공하는 개인 정보 관리자(PIM) 어플리케이션이다. 이러한 모듈(24N)은 또한 전화 호출들, 음성 메일 등을 관리하기 위한 음성 통신 모듈(24N)과 상호작용할 수 있으며, 이메일 통신들 및 다른 데이터 송신들을 관리하기 위한 데이터 통신 모듈과 상호작용할 수 있다. 또한, 음성 통신 모듈(24A) 및 데이터 통신 모듈(24B)의 모든 기능들은 PIM 모듈로 집적화될 수 있다.
플래시 메모리(24)는 바람직하게는 장치 상의 PIM 데이터 항목들의 저장을 가능하게 하기 위한 파일 시스템을 제공한다. PIM 어플리케이션은 바람직하게는 무선 네트워크(19)를 통하여 그 자체로써 또는 음성 및 데이터 통신 모듈들(24A, 24B)과 결합하여 데이터 항목들을 전달하고 수신할 수 있는 성능을 포함하다. PIM 데이터 항목들은 바람직하게는, 저장되거나, 호스트 컴퓨터 시스템과 관련된 데이터 항목들의 대응 세트를 사용하여, 무선 네트워크(19)를 통하여, 연속적으로 집적화되고, 동기화되고 업데이트되어, 그로써 특정한 사용자와 관련된 데이터 항목들을 위한 백업(mirrored) 시스템을 생성한다. 이동 장치(10)는 또한 인터페이스 크래들(cradle)에 장치(10)를 배치함으로써 호스트 시스템과 수동으로 동기화될 수 있는데, 이 인터페이스 크래들은 호스트 시스템의 직렬 포트에 이동 장치(10)의 직렬 포트(30)를 결합한다. 직렬 포트(30)는 또한 외부 장치 또는 소프트웨어 어플리케이션을 통하여 사용자로 하여금 우선 순위를 정하도록 하거나, 인스톨을 위하여 다른 어플리케이션 모듈들(24N)을 다운로드하도록 할 수 있다. 이 유선 다운로드 경로는 장치 상의 암호 키를 로드시키기 위하여 사용될 수 있는데, 이것은 무선 네트워크(19)를 통하여 암호 정보를 변경하는 것보다 안전한 방법이다.
다른 어플리케이션 모듈들(24N)이 네트워크(19)를 통하거나, 주변 I/O 서브시스템(28)을 통하거나, 직렬 포트(30)를 통하거나, 단거리 통신 서브시스템(40)을 통하거나, 임의의 다른 적합한 서브시스템(42)을 통하여 이중 모드 장치(10)에 로드될 수 있고, 플래시 메모리(24) 또는 RAM(26)에서 사용자에 의하여 인스톨될 수 있다. 어프리케이션 인스톨에 있어서의 그러한 유연성은 장치(10)의 기능을 증가시키고, 강화된 온-디바이스(on-device) 기능들, 통신 관련 기능들 또는 그 양자 모두를 제공할 수 있다. 예컨대, 안전한 통신 어플리케이션들은 전자 상거리 기능들 및, 장치(10)를 사용하여 실행되는 재정적인 다른 트랜잭션을 가능하게 할 수 있다.
이중-모드 장치(10)가 데이터 통신 모드에서 동작하는 경우, 텍스트 메세지 또는 웹 페이지 다운로드와 같은 수신 신호는 송수신기(11)에 의하여 처리될 것이고, 디스플레이(22), 또는 다른 주변 I/O 장치(28)로의 출력을 위한 수신 신호를 바람직하게 더 처리하게 할 것이다. 이중-모드 장치(10)의 사용자는 또한 이메일 메세지들과 같은 데이터 항목들을, 키보드(32)를 사용하여 구성할 수 있는데, 이 키보드는 QWERTY 스타일로 레이아웃된 완전한 알파뉴머릭 키보드일 수도 있으며 공지된 DVORAK 스타일과 같은 완전한 알파뉴머릭 키보드가 사용될 수 있다. 장치(10)로의 사용자 입력은 또한 복수의 주변 I/O 장치들(28)을 사용하여 더 강화되는데, 이것은 썸휠(thumbwheel) 입력 장치, 터치패드, 다양한 스위치들, 록커(rocker) 입력 스위치, 등을 포함할 수 있다. 사용자에 의하여 구성된 데이터 항목들은 그 뒤 송수신기(11)를 통하여 통신 네트워크 상으로 송신될 수 있다. 이중 모드 장치(10)가 음성 통신 모드에 있는 경우, 수신 신호들이 바람직하게 스피커(34)로 출력되고, 전송을 위한 음성 신호들이 마이크로폰(36)에 의하여 생성되는 것을 제외하고는, 장치(10)의 전체 동작은 실질적으로 데이터 모드와 유사하다. 음성 메세지 기록 서브시스템과 같은, 다른 음성 또는 음향 I/O 서브시스템들은 또한 장치(10) 상에서 구현될 수 있다. 음성 또는 음향 신호 출력이 바람직하게는 주로 스피커(34)를 통하여 실행되지만, 디스플레이(22)는 또한 호출부의 식별 표시, 음성 호출의 지속, 또는 다른 음성 호출 관련 정보를 제공하는데 사용될 수 있다. 예컨대, 마이크로프로세서(38)는 음성 통신 모듈 및 운영 시스템 소프트웨어와 결합하여, 인입 음성 호출의 호출자 식별 정보를 검출하고, 그것을 디스플레이(22) 상에 디스플레이할 수 있다.
단거리 통신 서브시스템(40)은 또한 이중 모드 장치(10)에 포함될 수 있다. 예컨대, 서브시스템(40)은 유사한 가능한 시스템들 및 장치들과의 통신을 제공하기 위한 적외선 장치와 관련 회로들, 구성요소들 또는 블루투스 TM 단거리 무선 통신 모듈을 포함할 수 있다.
도 2는 본 발명에 따라서 예시적인 무선 인스턴트 메세징 시스템의 블록도이다. 무선 장치(10)는 무선파를 사용하여 기지국들(20)과 무선으로 통신한다. 기지국들(20)은 무선 네트워크(90)를 통하여 통신하는데, 이것은 인터넷(100)을 통하여 무선 인스턴트 메세징 서버(200)와 인터넷 기반 인스턴트 메세징 클라이언트(12)와 차례로 통신한다.
도 3은 본 발명에 따른 무선 인스턴트 메세징 방법의 제1 실시예의 단계들을 설명하는 상호작용 다이어그램이다. 메세징 서버(200)는 C와 같은 다른 클라이언트 어플리케이션뿐만 아니라, 무선 장치들(A 및 B) 상의 클라이언트 어플리케이션들과 통신한다. 도 3에서, 메세징 서버(200)와 클라이언트(10A,B) 간의 화살표는 통신들을 나타낸다. 이러한 통신들 간의 상대적인 시간은 일반적으로 아래로 흐름은 시간으로써 설명되므로, 만약 제1 화살표가 도 3의 제2 화살표보다 더 높다면, 이것은 제2 통신 전에 발생하는 제1 통신을 설명하는 것을 의미한다.
메세징 서버(200)는 현재 상태 정보를 추적한다. 설명된 바와 같이, 메세징 서버(200)는 초기에 무선 클라이언트 A, B, C 당 하나의 열을 구비한 서버 현재 테이블(210)을 갖는데, 각 열은 각 무선 클라이언트에 대한 현재 상태를 저장한다. 도시된 바와 같이, 클라이언트(10B)는 우선 테이블(210)에 따라서, "채팅" 상태에 있으며, 클라이언트(10A 및 C)는 테이블(210)에 따라서 "CAT" 상태에 있다(슈뢰딩거의 고양이로부터 명명됨). CAT 상태는 또한 알 수 없는 상태라고 불린다. "CAT" 상태로 나타나는 동안, 클라이언트에 대한 현재 상태 정보는 사용 가능이거나 사용 불가 어느 것도 아니라고 이해되는데, 즉, 그 상태는 미결정된 것이고, 메세징 서버(200)는 바람직하게는 현재 상태 정보를 이 상태에 있는 어떠한 클라이언트에게도 전달하지 않는다. "CAT" 상태는 클라이언트의 상태가 "관측"될 때까지 유지되는데, 이 경우 미결정은 해소된다. 클라이언트를 "관측"하는 동작은 클라이언트의 상태가 변경되도록 할 수 있다. 그러므로 "CAT" 상태는 메세징 서버(200) 및 클라이언트(10A, B) 양쪽 모두에 의하여 사용될 수 있는 의사(pseudo)-상태이다. 또한, "CAT" 상태는 클라이언트 장치들(10A, B)의 사용자로, 즉 "버디" 리스트와 함께 동작되어 디스플레이될 수 있다. "CAT" 상태는 바람직하게는 메세징 서버(200) 및 클라이언트(10A, B) 간에서 통신되지 않는다. 또한, "CAT" 상태를 사용하여 클라이언트 상태를 나타내는 것은 무선 현재 상태 정보가 특정한 클라이언트에 대한 상태 정보가 부족한 경우에도 동작할 수 있도록 한다.
현재 상태 정보가 메세징 서버(200)에서 유지되는 방법과 유사한 방식으로, 각 클라이언트(10A, B)는 클라이언트 테이블(220A,B)을 유지하고, 클라이언트 현재 테이블(220A)의 각 열은 무선 클라이언트에 대한 현재 상태를 저장한다. 서버 현재 테이블(210)을 사용하는 경우와 같이 모든 클라이언트들을 추적하는 대신, 클라이언트 현재 테이블들(220A,B)은 바람직하게는 선택 무선 메세징 통신자들, 예컨대, "버디" 리스트에서 발견되는 통신자들에 대한 현재 상태 정보만을 추적한다. 또한, 클라이언트 현재 테이블들(220A)에서 보이는 바와 같이, B는 로컬 클라이언트 상태이고, 이것은 선택 클라이언트들과 동일한 테이블에 저장될 필요가 없다. 테이블 220A에 도시된 바와 같이, 클라이언트(10B)는 초기에는 "CAT" 상태에 있고, 클라이언트(10A)는 "사용 가능" 상태에 있다. 테이블(220B)은 또한 클라이언트(10A)가 초기에 "CAT" 상태에 있고, 클라이언트(10B)는 "채팅" 상태에 있다는 것을 보여준다.
도 3에서, 클라이언트(10A)는 일정한 트리거(225)에 응답하여 "사용 가능"으로부터 "채팅중"으로 그 상태를 변경한다 - 예컨대, 클라이언트(10A)의 사용자가 인스턴트 메세징 어플리케이션을 활성화시키는 경우. 그 뒤 클라이언트(10A)는 그 새로운 상태 정보를 메세징 서버(200)로 전달하고(230A), 그 정보를 추적하여 테이블(210)에서 그 변경을 업데이트한다.
메세징 서버(200)에서, 클라이언트(10A 및 10B) 모두는 현재 "채팅중" 상태에 있다. 메세징 서버(200)는 클라이언트 상태 업데이트 메세지들을 "채팅중" 상태에 있는 모든 클라이언트들에게 전달한다. 도시된 바와 같이, 클라이언트(10B)는 클라이언트(10A)가 현재 "채팅중" 상태에 있다는 것을 나타내는 업데이트(235B)를 수신하고 그에 따라서 클라이언트 테이블(220B)을 업데이트한다. 유사하게는, 클라이언트(10A)는 클라이언트(10B)가 현재 "채팅중" 상태에 있다는 것을 나타내는 업데이트(235A)를 수신한다. 그러므로 그 상태를 메세징 서버(200)로 전달함으로써, 클라이언트(10A)는 효과적으로 클라이언트(10B)의 상태를 "관측"하고 클라이언트(10A)의 테이블(220A) 내의 클라이언트(10B)에 대한 원본 "CAT" 상태의 불확정성(indeterminancy)을 해결한다.
서버 현재 테이블(210)에 나타난 바와 같이, 클라이언트(10A 및 10B)가 "채팅중" 상태로 유지되는 동안, 메세징 서버(200)는 클라이언트(10B 및 10A)에게 주기적으로(주기 Tu로) 업데이트(235B 및 235A)를 개별적으로 전달한다. 업데이트들은 바람직하게는 버디들의 모든 CAT이 아닌 상태를 포함하고, 또한 모든 "채팅중" 상태뿐만 아니라 다른 정보(대역폭 허용)들을 포함할 수 있다.
n 번의 업데이트 후에, 즉 클라이언트(10A)의 사용자가 인스턴트 메세징 어플리케이션을 중단한 결과로써, 클라이언트(10A)는 테이블(220A)의 "채팅중"을 "사용 가능"으로 상태 변경한다. 그러므로 클라이언트(10A)는 업데이트(230A)를 메세징 서버(200)로 전달하고, 클라이언트(10B)가 "채팅중" 상태에 있기 때문에 클라이언트(10B)로 주기적인(주기 Tu) 업데이트 메세지들(235B)의 전달을 계속한다.
클라이언트(10A)는 테이블(210)에서 "채팅중" 상태에 더 이상 있지 않지만 "CAT" 시간종료 구간 Tcs가 만료된 후에는, 클라이언트(10A)는 테이블(210)에서 "CAT" 상태로 나타난다. 유사하게, 클라이언트(10B)의 상태는 테이블(220A)에서 더 이상 업데이트되지 않으므로, "CAT" 시간종료 구간 Tca가 만료된 후에는 클라이언트(10B)의 상태는 테이블(220A)에서 "CAT" 상태로 나타난다. 동일한 동작이 클라이언트(10B)의 시간종류 구간 Tcb 후에 발생하므로, 클라이언트(10A)는 테이블(220B)의 "CAT" 상태로 나타난다. 클라이언트(B)가 테이블(210 및 220B)에서 "채팅중" 상태에 있음에도 불구하고, 클라이언트(10A 및 10C) 모두가 테이블(210)에서 "CAT" 상태를 갖고 있기 때문에 메세징 서버(200)는 클라이언트(10B)으로 주기적인 업데이트들을 전달하지 않는다.
도 4는 본 발명에 따른 무선 인스턴트 메세징 방법의 제2 실시예의 단계들을 설명하는 상호작용 다이어그램이다. 도 4는 클라이언트(10A)가 커버리지 밖에 있는 경우 무선 네트워크(90)에 의해 대기 중인 업데이트들을 둘러싼 보다 상세한 단계들을 설명하는 메세징 서버(200) 및 클라이언트(10A) 간의 통신들을 보여준다. 클라이언트(10A) 및 메세징 서버(200)는 근본적으로 현재 상태 정보 테이블들(220A 및 210) 각각을 가지고 있다. 도 3의 경우와 같이, 클라이언트(10A)의 트리거(225)는 클라이언트로 하여금 "채팅중" 상태에 진입하도록 한다. 클라이언트(10A)는 그 뒤 트리거(225)에 응답하여 그 상태를 "사용 가능"으로부터 "채팅중"으로 변경한다 - 예컨대, 클라이언트(10A)의 사용자가 인스턴트 메세징 어플리케이션을 활성화하는 경우. 클라이언트(10A)는 그 뒤 메세징 서버(200)로 그 새로운 상태 정보를 통신하고(230A), 테이블(210)에 그 변경을 추적하고 업데이트한다.
메세징 서버(200)에 있어서, 클라이언트(10A 및 10B) 모두는 현재 "채팅중" 상태에 있다. 메세징 서버(200)는 "채팅중" 상태에 있는 모든 클라이언트들에게 클라이언트 상태 업데이트 메세지들을 전달한다. 오직 클라이언트(10A)만이 도 4에 도시되어 있기 때문에, 클라이언트(10A)로 전달된 업데이트 메세지들만이 도시된다. 클라이언트(10A)는 클라이언트(10B)가 현재 "채팅중" 상태에 있다는 것을 나타내는 업데이트(235A)를 수신하고, 그에 따라서 클라이언트 테이블(220A)을 업데이트한다.
서버 현재 테이블(210)에 지시된 바와 같이, 클라이언트(10A)가 "채팅중" 상태로 유지되는 경우, 메세징 서버(200)는 클라이언트(10A)로 업데이트(235A)를 주기적으로(주기 Tu로) 전달한다. 그러나 도시된 바와 같이, 클라이언트(10A)가 커버리지 밖으로 벗어나기 때문에 제3 업데이트는 클라이언트(10A)에 도달하지 않는다 - X로 설명되는 바와 같음. 결과적으로, 무선 네트워크(90)는 바람직하게는 클라이언트(10A)에 대한 큐(240A) 내의 업데이트 메세지(235A)를 대기시키고, 그 대기되는 메세지 상태 메세지(237A)를 메세징 서버(200)로 전달한다.
바람직하게는, 대기 중인 메세지 상태 메세지(237A)를 수신하자마자, 메세징 서버(200)는 클라이언트(10A)로의 업데이트 메세지들의 주기적인 전송을 중단한다. 이것은 무선 네트워크(90)의 용량이, 클라이언트(10A)가 커버리지 밖에 있는 지속 시간 동안(지속 시간 T > Tu 의 일부로서 설명되는 것과 같음) 클라이언트(10A)를 위한 업데이트 메세지들(235A)에 의해 오버플로우되지 않는다는 것을 보장한다.
마지막으로, 클라이언트(10A)가 커버리지로 돌아온 후에(체크 표시로 나타남), 큐(240A) 내에 대기 중인 메세지(235A)가 무선 네트워크(90)에 의하여 클라이언트(10A)으로 전달된다. 무선 네트워크(90)는 또한 메세징 서버(200)로 대기 중인 메세지 전달 메세지(239A)를 전달한다.
바람직하게는, 대기 중인 메세지 전달 메세지(239A)를 수신하자마자, 메세징 서버(200)는 클라이언트(10A)로의 업데이트 메세지들의 주기적인 전송을 재개한다.
도 5는 본 발명에 따른 무선 인스턴트 메세징 방법의 제3 실시예의 단계들을 설명하는 상호작용 다이어그램이다.
무선 장치(10A)는 무선 메세징 서버(200)를 통하여 그룹 GID1으로 어드레스화된 단일 메세지(300A)를 전달하다. 그룹 GID1은 GID1(320)와 같은 그룹 ID들을 UID1, …,UIDN과 같은 사용자 ID들(330)과 관련시키는 데이터베이스(310)를 참고함으로써 메세징 서버에 의해 해결되는 고유한 식별자이다. 도시된 바와 같이, 그 뒤 메세징 서버(200)는 메세지들(340B-C)을, 인터넷 클라이언트들(120A-B)로 메세지들(350A-B)을 전달할 뿐만 아니라 사용자 ID들(330)을 구비한 각 무선 장치로 전달한다. 이러한 메카니즘은 무선 장치(10A)가 복수의 무선 사용자들(10B-C) 및 인터넷 사용자들(120A-B)에 도달하기 위하여 하나의 무선 메세지(300A)를 전송할 필요가 있다는 것을 보장한다.
전술한 본 발명의 실시예들은 오직 예시적인 것이다. 당업자는 이러한 특정한 실시예들의 다른 변경 및 개조를 본 발명의 범위를 벗어나지 않고 실시할 수 있다.