KR20060095457A - 인스턴트 메시징의 융통성있는 확장된 프리젠스 문서능력을 용이하게 하기 위한 프로세서 액세스가능 매체 및방법 - Google Patents

인스턴트 메시징의 융통성있는 확장된 프리젠스 문서능력을 용이하게 하기 위한 프로세서 액세스가능 매체 및방법 Download PDF

Info

Publication number
KR20060095457A
KR20060095457A KR1020060007301A KR20060007301A KR20060095457A KR 20060095457 A KR20060095457 A KR 20060095457A KR 1020060007301 A KR1020060007301 A KR 1020060007301A KR 20060007301 A KR20060007301 A KR 20060007301A KR 20060095457 A KR20060095457 A KR 20060095457A
Authority
KR
South Korea
Prior art keywords
client
instant messaging
document
new
presence document
Prior art date
Application number
KR1020060007301A
Other languages
English (en)
Other versions
KR101545912B1 (ko
Inventor
카르멘 즐라테프
데이비드 마이클 밀러
존 에스. 홈즈
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060095457A publication Critical patent/KR20060095457A/ko
Application granted granted Critical
Publication of KR101545912B1 publication Critical patent/KR101545912B1/ko

Links

Images

Classifications

    • G06Q50/40
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]

Abstract

클라이언트 측 프리젠스 문서화(client-side presence documentation)는 인스턴트 메시징 아키텍처에 의해 구현된다. 설명된 구현에서, 각각의 프리젠스 문서들은 국부적으로 각각의 클라이언트 장치에 저장된다. 따라서, 프리젠스 정보는 피어 투 피어 패러다임(peer to peer paradigm)에 따라 공유 및 배포될 수 있다. 설명된 다른 구현에서, 프리젠스 문서는 프리젠스 문서 스키마에 따라 확장가능 프리젠스 정보를 포함할 수 있다. 결론적으로, 새로운 인스턴트 메시징 시나리오가 보다 쉽게 수용될 수 있다. 설명된 또 다른 구현에서, 새로운 프리젠스 정보 통지 메시지는 프리젠스 정보 아이템에의 수정을 나타내는 델타(delta)를 포함한다. 수정은 새로운 프리젠스 문서를 생성하기 위한 델타에 기초하여 프리젠스 정보 아이템에 적용될 수 있다. 새로운 프리젠스 문서에 대해 계산된 검증 값이 수신된 확인 값과 동일하지 않으면, 목적지 클라이언트(destination client)는 시작 클라이언트(originating client)로부터 실제의 새로운 프리젠스 문서의 완벽한 복사본을 요청할 수 있다.
네트워크, 인스턴트 메시지 클라이언트, 친구 리스트, 관련 프리젠스 정보 필드, 새로운 PD 요청

Description

인스턴트 메시징의 융통성있는 확장된 프리젠스 문서 능력을 용이하게 하기 위한 프로세서 액세스가능 매체 및 방법{CLIENT-SIDE PRESENCE DOCUMENTATION}
도 1은 종래 인스턴트 메시징 아키텍처(instant messaging architecture)의 블럭도.
도 2는 클라이언트 측 프리젠스 문서화(client-side presence documentation)를 통합한 인스턴트 메시징 아키텍처의 예를 나타내는 블럭도.
도 3은 확장가능 프리젠스 문서의 예를 나타내는 도면.
도 4는 새로운 프리젠스 문서 통지 메시지를 이용하여 친구(buddy)의 클라이언트에서 프리젠스 정보를 갱신하기 위한 예시적인 메커니즘을 예시하는 블럭도.
도 5는 새로운 프리젠스 문서 통지 메시지의 예를 포함하는 블럭도.
도 6은 시작 클라이언트(origin client)의 프리젠스 문서가 시작 클라이언트에서 유지되고 있을 때, 목적지 클라이언트(destination client)에서 프리젠스 정보를 갱신하기 위한 방법의 예를 예시하는 흐름도.
도 7은 본원에 설명된 바와 같이 클라이언트 측 프리젠스 문서화의 적어도 하나의 양태를 (전체적으로 또는 부분적으로) 구현할 수 있는 컴퓨팅 (또는 일반적인 장치) 운영 환경의 예를 예시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
206: 네트워크
212: 인스턴트 메시지 클라이언트
216: 친구 리스트
304: 관련 프리젠스 정보 필드
404: 새로운 PD 요청
[문헌 1] 미국 특허 출원 제10/611,599호 "Instant Messaging Object Store" (2003년 7월 1일)
본 발명은 일반적으로 인스턴트 메시징에 관한 것이며, 더 상세하게는, 제한적이지 않은 예를 들면, 융통성있는 확장된 프리젠스 문서 능력(presence document capability)을 용이하게 하기 위한 것에 관한 것이다.
지난 몇 년간 인스턴트 메시징의 인기가 상당히 올라갔다. 인스턴트 메시징은 본래 누군가에게 상대적으로 작은 노력을 들여 본질적으로 실시간으로 짧은 메시지를 송신하기 위해 이용되었다. 텍스트뿐만 아니라 이모티콘(emoticon)을 전송하는 능력도 또한 도입되었다. 인스턴트 메시징은 원래 주로 친구들 사이에서의 개인적이고 간편한 이용으로 인해 인기가 있었다. 그러나, 최근에, 그것의 이용은 간편한 및/또는 실시간 통신을 용이하게 하기 위해 비지니스 분야로 전파되었다.
인스턴트 메시징의 전체적인 성장은 부분적으로는 단순한 메시징 이상으로 확장된 기능들 때문이기도 하다. 요즘 인스턴트 메시징은 주로 친구들에게의 상태 통지의 배포를 수행한다. 예를 들어, 개인이 로그온하면, 온라인 상태 통지가 관심있는 친구들에게 배포된다. 개인이 로그오프하면, 오프라인 상태 통지가 관심있는 친구들에게 배포된다.
또한 인스턴트 메시징 시스템에 참여한 개인들은 보통 자신을 그래픽적으로 나타낼 이미지를 선택할 기회를 갖는다. 이러한 그래픽 이미지, 상태 통지, 이모티콘 등은 확실히 인스턴트 메시징의 기능, 깊이, 및 풍부함을 증가시킨다. 따라서, 새로운 특징이 추가될 때마다, 인스턴트 메시징 프로그램의 수용 및 이용이 증가했을 것임이 명백하다. 그러나 불행하게도, 인스턴트 메시징 시스템에 새로운 특징들을 추가하는 것은 통상적으로 어렵고 시간 소모적인 노력이었다.
따라서, 새로운 인스턴트 메시징 특징들의 도입을 용이하게 할 수 있는 스킴(scheme), 메커니즘, 기술 등이 요구된다.
클라이언트 측 프리젠스 문서화는 인스턴트 메시징 아키텍처에 의해 구현된다. 설명된 구현에서, 각각의 프리젠스 문서들은 국부적으로 각각의 클라이언트 장치에 저장된다. 따라서, 프리젠스 정보는 피어 투 피어 패러다임(peer to peer paradigm)에 따라 공유 및 배포될 수 있다. 설명된 다른 구현에서, 프리젠스 문서는 프리젠스 문서 스키마에 따라 확장가능 프리젠스 정보를 포함할 수 있다. 결론적으로, 새로운 인스턴트 메시징 시나리오가 보다 쉽게 수용될 수 있다. 설명된 또 다른 구현에서, 새로운 프리젠스 정보 통지 메시지는 프리젠스 정보 아이템에의 수정을 나타내는 델타(delta)를 포함한다. 수정은 새로운 프리젠스 문서를 생성하기 위한 델타에 기초하여 프리젠스 정보 아이템에 적용될 수 있다. 새로운 프리젠스 문서에 대해 계산된 검증 값이 수신된 확인 값과 동일하지 않으면, 목적지 클라이언트는 시작 클라이언트로부터 실제의 새로운 프리젠스 문서의 완벽한 복사본을 요청할 수 있다.
다른 방법, 시스템, 접근법, 장비, 장치, 매체, 절차, API, 배치 등의 구현이 본원에 설명된다.
도면에서 동일한 참조 번호는 유사하고/하거나 대응하는 양태, 특징, 및 컴포넌트를 참조하기 위해 이용된다.
서론
통상적인 인스턴트 메시징 시스템은 중앙 서버에 각각의 사용자에 대한 프리젠스 정보를 저장함으로써 사용자들 간에 프리젠스 정보를 공유한다. 두 명의 사용자가 만나거나 친구가 되면, 그들의 클라이언트 프로그램은 중앙에 배치된 그들의 프리젠스 문서에 저장된 서로의 프리젠스 상태를 알기 위해 중앙 서버를 핑(ping)한다. 이러한 통상적인 접근법은, 프리젠스 정보가 원격적으로 배치되어 있기 때문에 영역에 대해 제한을 갖는다는 한계점을 갖는다. 또한, 서버 기반 접근법은 프리젠스 정보가 상대적으로 느리게 갱신된다는 결과를 초래한다.
그 반면, 본원에 설명된 어떤 구현은, 프리젠스 문서가 국부적으로 저장되고 피어 투 피어로 공유되는 피어 투 피어 프리젠스 공유 아키텍처를 생성한다. 문서를 국부적으로 저장하는 것은, (특히 확장가능 프리젠스 문서로) 누군가의 컴퓨팅 장치 또는 장치/사람의 물리적인 위치에서 현재 어느 음악이 재생되고 있는지를 보고하는 것과 같은 새로운 프리젠스 보고 시나리오를 가능하게 한다. 이러한 강화된 프리젠스 문서는 프리젠스 정보가 보다 빠르게 갱신되게 하는 피어 투 피어 방식으로 네트워크(들)에 걸쳐 공유될 수 있다. 대역폭을 줄이기 위해, 설명된 구현은, 프리젠스 문서가 마지막으로 공유된 때부터의 프리젠스 문서 필드 내의 변화를 갱신된 프리젠스 문서 전체 대신에 배포한다.
기초
도 1은 종래 인스턴트 메시징 아키텍처(100)의 블럭도이다. 예시된 바와 같이, 아키텍처(100)는 하나 이상의 네트워크(109)에 의해 서버 측(111)과 클라이언트 측(113)으로 나뉜다. 클라이언트 측(113)은 복수의 클라이언트(101)들을 포함한다. 구체적으로, "n"개의 클라이언트들이 도시되어 있다: 클라이언트 #1[101(1)], 클라이언트 #2[101(2)],..., 클라이언트 #n[101(n)]. 그러나, 이론적으로는 인스턴트 메시징 아키텍처(100) 내에 임의의 개수의 클라이언트(101)가 제공될 수 있다.
복수의 서버(105, 및 107)가 또한 인스턴트 메시징 아키텍처(100)의 부분으로서 포함되며, 몇몇 유형의 LAN(115)을 통해 상호접속된다. 서버는 프리젠스 서버(105)와 접속 서버(107)로 나뉘어진다. 구체적으로, 프리젠스 서버[105(a)], 프리젠스 서버[105(b)], 접속 서버[107(a)], 및 접속 서버[107(b)]가 도시되어 있다.
일반적으로, 접속 서버(107)는 네트워크(109)에 관련하여 서버 측(11)으로의 및 그로부터의 입출력 접속을 처리한다. 프리젠스 서버(105)는 이용가능한 프리젠스 정보를 유지 및 생성한다. 프리젠스 서버(105)는 접속 서버(107)를 통해 액세스된다. 각각 단지 두 개의 프리젠스 서버(105)와 접속 서버(107)만이 도시되어 있지만, 인스턴트 메시징 아키텍처(100)는 각각 임의의 개수의 서버들을 포함할 수 있다. 또한, 서버 측(111)은 이와 다르게 구성될 수도 있는데, 예를 들어, 서버 측(111)은 프리젠스 서버와 접속 서버로 나뉠 필요가 없을 수 있다.
동작중에, 각각의 클라이언트(101)는 하나의 프리젠스 서버(105)에 관련되며, 각각의 프리젠스 서버(105)는 복수의 클라이언트(101)들에 관련된다. 클라이언트(101)에 대한 프리젠스 정보는 관련 프리젠스 서버(105)에 배치된다. 예시된 바와 같이, 클라이언트 #1[101(1)]는 프리젠스 서버[105(a)]에 관련된다. 결론적으로, 클라이언트 #1[101(1)]의 프리젠스 정보는 대응하는 프리젠스 문서[103(1)]의 형태로 프리젠스 서버[105(a)]에 배치된다. 명확하게 도시되지는 않았지만, 다른 클라이언트[101(2),...,101(n)]들도 프리젠스 서버[105(a) 또는 105(b)]에 저장된 대응하는 프리젠스 문서(103)를 갖는다.
설명된 구현에서, 프리젠스 문서[103(1)]는 대응하는 클라이언트 #1[101(1)]에 대한 프리젠스 정보를 포함한다. 이러한 프리젠스 정보는 전형적으로 상태 정보(예를 들어, 온라인, 오프라인, 이용불가능 등), 전자메일 주소, 별명, 및 접촉 정보를 포함한다.
인스턴트 메시징 아키텍처(100) 동작의 추가적인 양태는 다음의 예시적인 시 나리오의 문맥으로 더욱 설명된다. 클라이언트 #1[101(1)]과 클라이언트 #2[101(2)]는 친구이다. 결론적으로, 프리젠스 문서[103(1)]의 프리젠스 정보에의 수정이 인스턴트 메시징 아키텍처(100)에 의해 클라이언트 #2[101(2)]에게 통지된다.
접속 서버(107)는 전형적으로 로드 밸런싱 알고리즘(load balancing algorithm)을 이용하여 클라이언트(101)에게 할당된다. 이 예시적인 시나리오에서, 클라이언트 #1[101(1)]은 접속 서버[107(a)]를 통해 인스턴트 메시징 아키텍처(100)의 서버 측 기반구조에 접속하고, 클라이언트 #2[101(2)]는 접속 서버[107(b)]를 통해 접속한다고 가정된다.
구체적으로 예시되진 않았지만, 서버 측(111)은 인스턴트 메시징 아키텍처(100)의 특징을 용이하게 구현하기 위해 보통 각각의 클라이언트(101)에 대해 네 개의 리스트를 유지한다. 이러한 네 개의 리스트는 전형적으로 프리젠스 서버(105)에 저장된다. 네 개의 리스트는 (1) 포워드 리스트(forward list), (2) 허용된 리스트, (3) 차단 리스트, 및 (4) DRL(dynamic reverse list)이다. 이러한 네 개의 리스트는 클라이언트(101)의 프리젠스 프로파일 전체의 부분으로 고려될 수 있다. 이러한 리스트는 클라이언트 #1[101(1)]의 관점에서 후술된다. "친구" 및 "접촉"이란 용어가 본원에서 클라이언트와 상호교환가능한 것으로서 이용되지만, "친구", "접촉", 및/또는 "클라이언트"란 용어도 또한 클라이언트 장치의 현재 사용자와 교환가능함을 이해할 수 있어야 한다.
포워드 리스트는 클라이언트 #1[101(1)]의 친구이며 클라이언트 #1[101(1)] 가 현재 갱신 내용에 관심을 갖고 있는 클라이언트(101)들을 포함한다. 허용된 리스트는 클라이언트 #1[101(1)]에 대응하는 프리젠스 정보 및 그것의 갱신을 수신하도록 허가된 친구들을 포함한다. 차단 리스트는 클라이언트 #1[101(1)]의 프리젠스 정보 또는 그것의 갱신을 수신하는 것으로부터 명확하게 배제된 친구들을 포함한다. DRL은 현재 인스턴트 메시징 아키텍처(100)를 통해 클라이언트 #1[101(1)]를 모니터링하는 클라이언트(101)를 포함한다.
이 예시적인 시나리오에서, 클라이언트 #1[101(1)]는 이미 온라인이고, 클라이언트 #2[101(2)]는 클라이언트 #1[101(1)]에 대응하는 프리젠스 정보를 수신하도록 신청했기 때문에, 이 온라인 상태에 대한 통지를 이미 수신했다. 제1 단계에서, 클라이언트 #1[101(1)]은 오프라인이 된다. 제2 단계에서, 이 오프라인 상태가 [예를 들어, 클라이언트 클라이언트 #1(101(1))에의 인스턴트 메시징 클라이언트 프로그램(따로 도시되지 않음)을 이용해] 클라이언트 #1[101(1)]로부터 접속 서버[107(a)]로 전송된다. 접속 서버[107(a)]는 (예를 들어, 해싱 알고리즘 또는 이와 유사한 것을 통해) 클라이언트 #1[101(1)]이 프리젠스 서버[105(a)]에 관련되어 있다고 판정한다.
제3 단계에서, 접속 서버[107(a)]는 클라이언트 #1[101(1)]의 오프라인 상태에 대한 통지를 프리젠스 서버[105(a)]에 포워딩한다. 프리젠스 서버[105(a)]는 클라이언트 #1[101(1)]에 대응하는 DRL을 참고하여, 어느 클라이언트(101)들이 이 상태 수정을 통지받을 필요가 있는지를 판정한다. 이 예시적인 시나리오에서, 적어도 클라이언트 #2[101(2)]는 클라이언트 #1[101(1)]에 대응하는 DRL 상에 있다. 이에 따라, 프리젠스 서버[105(a)]는 클라이언트 #1[101(1)]가 로그오프했다는 것을 나타내는 상태 갱신 메시지를 접속 서버[107(a)]를 통해 클라이언트 #2[101(2)]에게 송신한다. 클라이언트 #2[101(2)]에의 인스턴트 메시징 클라이언트 프로그램은 상태 갱신 메시지를 수신하고 클라이언트 #1[101(1)]가 로그오프했다는 표시를 프리젠테이션(presentation)한다.
도 1의 인스턴트 메시징 아키텍처(100)는 기본 인스턴트 메시징 특징을 효율적으로 구현할 수 있다. 그러나, 인스턴트 메시징 아키텍처(100)는 수많은 약점과 결함을 갖는다. 첫째, 유지 및 배포될 수 있는 프리젠스 정보의 양이 제한된다. 서버 측(111)에의 고유한 저장소 제약 때문에, 실제로 클라이언트마다 유지가능한 프리젠스 정보의 양이 제한된다.
둘째, 서버 측(111) 상에서 소프트웨어, 프로토콜, 스키마를 갱신하는 것은 상대적으로 보다 어렵고, 시간 소모적이며, 위험하고 비싸다. 따라서, 새로운 특징들이 통합되는 것이 클라이언트 측(113)에 비해 서버 측(111) 상에서 보다 덜 빈번하게 행해진다. 이것은 인스턴트 메시징 아키텍처(100)를 받아들이기 위한 능력을 방해한다. 셋째로, 서버 측(111) 상의 하나 이상의 서버들을 통해 갱신 통지 메시지를 라우팅(routing)하는 것은 전송 및 처리 시간을 소비한다. 이 추가적인 전반적 지연은 누군가의 친구의 장치에서 그 누군가의 프리젠스 정보의 갱신을 상대적으로 느리게 한다.
클라이언트 측 프리젠스 문서화
클라이언트 장치에 프리젠스 정보를 통합하는 것은 각각의 클라이언트에 대 한 보다 많은 양의 프리젠스 정보가 저장될 수 있게 하고, 서버 측 기반구조에의 수정으로부터 인스턴트 메시징 아키텍처에의 개선을 적어도 부분적으로 분리함으로써 개발을 용이하게 하고, 적어도 부분적으로 서버 측을 무시함으로써 프리젠스 문서 갱신의 배포를 가속화한다.
도 2는 클라이언트 측 프리젠스 문서화를 통합한 인스턴트 메시징 아키텍처(200)의 블럭도 예이다. 설명된 구현에서, 인스턴트 메시징 아키텍처(200)는 서버 측(220)과 클라이언트 측(222)으로 분리된다. 하나 이상의 네트워크(206)들은 실제로 인스턴트 메시징 아키텍처(200)를 클라이언트 측(222)과 서버 측(220)으로 분리한다. 네트워크(206)는 인터넷, PSTN(public switched telephone network), LAN, WAN, 유무선 네트워크, 그들의 몇몇 조합 등을 포함할 수 있다.
클라이언트 측(222)은 복수의 클라이언트(202)를 포함한다. 예시된 바와 같이, "n"개의 클라이언트가 서버 측(220)과 통신할 수 있다. 이러한 "n"개의 클라이언트들은 클라이언트 #1(C1)[202(1)], 클라이언트 #2(C2)[202(2)],...,클라이언트 #n(Cn)[202(n)]을 포함한다. 그러나, 이론적으로 인스턴트 메시징 아키텍처(200) 내에서는 임의의 개수의 클라이언트(202)들이 동작할 수 있다.
서버 측(220)은 적어도 하나의 서버(204)를 포함한다. 특히 클라이언트 측 프리젠스 문서화를 통합한 인스턴트 메시징 아키텍처(200)에서, 서버 측(220)은 무수한 구성으로 실현될 수 있다. 예를 들어, 적어도 하나의 서버(204)는 대안적으로 하나 이상의 접속 서버와 하나 이상의 프리젠스 서버를 포함할 수 있다. 일반적으로, 적어도 하나의 서버(204)는 단일 서버, 하나 이상의 LAN에 접속된 복수의 서버, 네트워크(206)에 분산된 복수의 서버, 그들의 몇몇 조합 등을 포함할 수 있다.
클라이언트(202)와 서버(204)는 네트워크(206)를 통해 서로 통신할 수 있다. 서버(204)는 적어도 클라이언트[202(1..n)] 중 일부에 대한 클라이언트 정보(214)를 저장한다. 예시된 바와 같이, 서버(204)는 클라이언트 #1 정보[214(1)]를 저장한다. 그러나, 인스턴트 메시징 아키텍처(200)에서, 클라이언트 #1 정보[214(1)]는 프리젠스 문서를 포함할 필요가 없다. 대신, 클라이언트 #1 정보[214(1)]는 클라이언트 #1의 프리젠스 문서(PD-C1; 224)의 식별정보를 포함한다. 예를 들어, PD-C1(224)의 식별정보는 PD-C1의 이름, PD-C1에의 참조, PD-C1로의 포인터, PD-C1의 위치, PD-C1을 식별하는 객체에 대한 핸들(handle), 그들의 몇몇 조합 등일 수 있다.
그러므로, PD-C1(224)의 식별정보는 인스턴트 메시징 아키텍처(200)의 클라이언트 측 프리젠스 문서화 구현 내에서 클라이언트 #1(C1)[202(1)]에 배치된 PD-C1(208)을 식별한다. 클라이언트 #1 정보[214(1)]는 또한 본원에서 전술된 네 개의 리스트 중 임의의 것 또는 모두와 같은(예를 들어, DRL) 클라이언트 #1에 관한 다른 정보도 포함할 수 있다.
설명된 구현에서, 클라이언트 #1[202(1)]는 인스턴트 메시지 또는 메시징 클라이언트 프로그램(212) 및 클라이언트 #1(PD-C1)(208)에 대한 관련 프리젠스 문서를 포함한다. PD-C1(208)는 확장가능 프리젠스 문서(PD) 정보(210)를 포함한다. 확장가능 PD 정보(210)를 통합하는 것은 확장가능 PD-C1(208)을 생성한다. PD- C1(208)가 확장가능하기 때문에, 새로운, 상이한, 및/또는 다양한 유형의 프리젠스 정보가 인스턴트 메시징 아키텍처(200)에 보다 쉽게 도입, 확장, 강화, 및/또는 대체될 수 있다. PD-C1(208)에 대한 예시적인 확장가능 스키마는 특히 도 3을 참조하여 더욱 후술된다.
인스턴트 메시징 아키텍처(200)의 구현은 본원에서 다음의 예시적인 시나리오를 이용하여 더욱 설명된다. 클라이언트 #2[202(2)]는 또한 인스턴트 메시지 클라이언트(212)(명확히 예시되지 않음)를 포함하고 클라이언트 #1[202(1)]를 그의 친구 리스트(216)(예를 들어, 클라이언트 #2의 포워드 리스트)에 추가한다. 클라이언트 #2[101(2)]는 또한 클라이언트 #1[101(1)]에 대응하는 DRL에 추가됨으로써 클라이언트 #1[101(1)]의 PD 정보를 수신하도록 신청했다. 본원에 후술된 바와 같이, DRL은 서버(204) 및/또는 클라이언트 #1[101(1)]에 배치될 수 있다. 결론적으로, 원격 클라이언트 #2[202(2)]는 클라이언트 #1의 PD 정보(218)를 제공받고 그것을 갱신시킨다. 전술된 바와 같이, 설명된 구현에서 이 PD 정보는 확장가능하다.
도 3은 클라이언트 #1에 대한 확장가능 프리젠스 문서(PD-C1)(208)의 예이다. PD-C1(208)는 확장가능 프리젠스 문서 정보(210)를 포함한다. 설명된 구현에서, 확장가능 PD 정보(210)는 복수의 개별 프리젠스 정보 필드(304)에 관련된 복수의 개별 태그(302)들을 포함한다. 예시된 바와 같이, 태그[302(1)]는 프리젠스 정보 필드[304(1)]에 관련되고, 태그[302(2)]는 프리젠스 정보 필드[304(2)]에 관련되며, ..., 태그[302(m)]는 프리젠스 정보 필드[304(m)]에 관련된다.
각각의 태그(302)들이 각각의 필드(304)들 내의 프리젠스 정보의 의미를 나 타내기 때문에, 프리젠스 정보는 새로운 유형의 프리젠스 정보를 포함하도록 확장될 수 있다. 예를 들어, 스키마를 이용하여 이용가능하거나 포함된 태그(302) 및 그들의 대응하는 의미를 정의 및/또는 설명할 수 있다.
확장가능 프리젠스 문서에 대한 예시적인 스키마는 다음과 같다:
<presence_doc>
<presence_item_1 attr1=foo>value</presence_item_1>
<presence_item_2 attr2=bar>some other value</presence_item_2>
</presence_doc>
이에 따라, 음악 카테고리에 대해서, 음악가 속성에는 연주자 이름 값이 주어질 수 있으며, 노래 속성에는 노래 제목 값이 주어질 수 있다. 확장가능 프리젠스 문서에 대한 예시적인 포맷은 XML(extensible markup language)이지만, 다른 포맷도 대안적으로 채용될 수 있다.
확장가능 프리젠스 문서의 부분으로서 포함될 수 있는 프리젠스 정보의 예에는 미리결정된 상태 정보(예를 들어, 온라인, 오프라인, 자리 비움, 바쁨, 통화중 등), 현재 보고 있는 웹 사이트, 현재 듣고 있는 음악, 현재 인스턴트 메시징하고 있는 다른 접촉 친구, 현재 물리적인 위치, 개인적 상태 메시지, 실행되고 있는 소프트웨어 프로그램(예를 들어, 게임, 워드 프로세서 등), 현재 참여하고 있는 회의, 피어 투 피어 방식으로 사용자와 어떻게 접속할지에 대한 주소 정보, 사용자 블로그의 위치, 웹캠 세션 또는 오디오 대화가 현재 수행되고 있는지의 여부, 현재 아웃룩 상태, 라이브 접촉 목적을 위한 사용자의 주소 정보, SIP(session initiation protocol)에 대한 피어 투 피어 접속에 주의를 기울이고 있는 네트워크 종단점, 공유하길 원할 수 있는 자기 자신에 대한 그 밖의 다른 것, 및/또는 다른 사용자들과의 온라인 활동, 그들의 몇몇 조합 등을 포함하지만, 이에만 한정된 것은 아니다.
도 4는 새로운 프리젠스 문서 통지 메시지(402)를 이용하여 친구의 클라이언트에서 프리젠스 정보를 갱신하기 위한 예시적인 메커니즘(400)을 예시하는 블럭도이다. 도 2를 참조하여 상기 소개된 예시적인 시나리오가 메커니즘(400)에 대해서도 계속된다. 초기에, 클라이언트 #2[202(2)]의 접속 친구인 친구 C1에 대한 PD 정보(218)는 클라이언트 #2[202(2)]에 알려져 있다. 클라이언트 #2[202(2)]의 인스턴트 메시지 클라이언트 프로그램(명시적으로 도시되지 않음)은 친구 C1의 PD 정보(218)를 클라이언트 #2[202(2)]의 사용자에게 디스플레이할 수 있다.
설명된 구현에 대해서, 메커니즘(400)은 원숫자(encircled numeral) 및 관련 화살표들에 의해 도 4 내에 나타내진 네 개의 단계(1-4)의 관점에서 설명된다. 제1 단계에서, PD 정보[예를 들어, PD-C1(208)의 확장가능 PD 정보(210)]가 수정된다. 이 수정은 새로운 정보의 추가, 또는 기존 정보의 대체 또는 삭제일 수 있다. 즉, 단지 예시로서, 클라이언트 #1[202(1)]는 음악을 듣기 시작하거나, 새로운 노래/음악 소스(source)로 바꿀 수 있다. 제1 단계의 부분으로서, 새로운 PD(정보) 통지 메시지(402)가 클라이언트 #1[202(1)]로부터 서버(204)로 송신된다.
제2 단계에서, 서버(204)는 클라이언트 #1[202(1)]에 대한 DRL에 액세스하고 현재 클라이언트 #1[202(1)]를 모니터링하고 있는 클라이언트(202)들을 추출한다. 예시적인 시나리오에서, 이러한 클라이언트(202)들은 클라이언트 #2[202(2)]를 포함한다. 그러므로 서버(204)는 클라이언트 #2[202(2)]를 포함하는 클라이언트 #1[202(1)]에 대응하는 DRL 상의 클라이언트들(202)에게 새로운 PD 통지 메시지(402)를 송신한다. 새로운 PD 통지 메시지(402)에 대한 예시적인 공식은 본원에서 특히 도 5를 참조하여 더욱 후술된다. 이외에, 본원에서 특히 도 5를 참조하여 후술된 대안적인 구현은 클라이언트 #1[202(1)]에 배치되며, 인스턴트 메시징 시스템의 특정한 액션에의 서버(204) 참여를 줄이거나 제한하기 위해 클라이언트 #1[202(1)]에 의해 이용되는 클라이언트 #1[202(1)]에 대한 DRL(적어도 그것의 복사본)에 관련된다.
제3 단계에서, 클라이언트 #2[202(2)]는 새로운 PD 요청 메시지(404)를 이용하여 클라이언트 #1[202(1)]로부터의 C1에 대한 프리젠스 문서 정보(218)의 갱신을 요청한다. 클라이언트 #1[202(1)]에의 인스턴트 메시지 클라이언트 프로그램(212)은 클라이언트 #2[202(2)]로부터 새로운 PD 요청 메시지(404)를 수신한다. 수신한 새로운 PD 요청 메시지(404)에 응답하여, 제4 단계에서, 인스턴트 메시징 클라이언트 프로그램(212)은 클라이언트 #1[202(1)]으로부터 클라이언트 #2[202(2)]로 새로운 PD (정보) 메시지(406)를 송신한다. 새로운 PD 메시지(406)는 수정된 PD 정보(210) 중 적어도 수정된 부분, 및 전체 PD-C1(208) 만큼을 포함한다. 새로운 PD 메시지(406)를 수신한 후, 클라이언트 #2[202(2)]는 친구 C1에 대한 PD 정보(218)를 갱신시키고 갱신된 PD 정보(218)를 선택적으로 디스플레이한다.
도 4에 예시된 바와 같이, 새로운 PD 요청 메시지(404) 및 새로운 PD 메시지 (406)는 서버(204)를 통해 라우팅되지 않고 순수하게 피어 투 피어 교환된다. 그러나, 이러한 두 개의 메시지(404 및 406) 중 하나 또는 이들 모두는 대안적으로 서버(204)와 같은 하나 이상의 서버를 통해 라우팅될 수도 있다.
메시지(402, 404, 및 406)는 프리젠스 문서 전체[예를 들어, PD-C1(208) 전부]에 관련될 수 있다. 이와 달리, 하나 이상의 이러한 메시지(402, 404, 및 406)는 단지 PD-C1(208)의 일부분에만 관련될 수도 있다. 예를 들어, 클라이언트 #2[202(2)]의 인스턴트 메시징 클라이언트 프로그램은, 친구 C1의 PD 정보(218)를 완벽하게 갱신하기 위해 확장가능 PD 정보(210)의 전부가 요구되는지 또는 단지 부분만이 요구되는지를 판정하기 위해, 새로운 PD 통지 메시지(402)를 분석할 수 있을 수 있다. 이 대역폭 절약 구현의 예는 본원에서 특히 도 5 및 도 6을 참조하여 더욱 후술된다.
도 5는 새로운 프리젠스 문서 통지 메시지(402*)의 예를 포함하는 블럭도이다. 새로운 PD 통지 메시지(402*)는 일반적인 새로운 PD 통지 메시지(402, 도 4)의 특정한 예이다. 예시된 바와 같이, 새로운 PD 통지 메시지(402*)는 클라이언트 #1의 식별정보(502), PD-C1의 식별정보(504), 및 하나 이상의(예를 들어, k개의) PD 델타(506)(1-k)를 포함한다. 새로운 PD 통지 메시지(402*)의 이러한 세 가지 예시적인 일부분(502, 504, 및 506)은 후술된다.
도 5 전체 중 제1 단계에서, 클라이언트 #1[202(1)]에서 PD-C1(208)의 프리젠스 정보가 수정되면, 새로운 PD 통지 메시지(402*)가 클라이언트 #1[202(1)]으로부터 서버(204)로 전송된다. 제2 단계에서, 클라이언트 #1[202(1)]에 대한 DRL을 참고한 후, 새로운 PD 통지 메시지(402*)는 서버(204)로부터 그들의 DRL 상에 리스트되어 있음으로써 나타내진 것과 같은 클라이언트 #1[202(1)]의 프리젠스 정보를 수신하기로 신청한 클라이언트들로 전송된다. 도 5에서, 새로운 PD 통지 메시지(402*)를 수신하는 두 개의 클라이언트(202)는 클라이언트 #2[202(2)]와 클라이언트 #3[202(3)]이다.
새로운 PD 통지 메시지(402*)의 제1 예시적인 일부분에 대하여, 클라이언트 #1 식별정보(502)는 시작 클라이언트 #1[202(1)]의 신분을 나타낸다. 일반적으로, 클라이언트 #1[202(1)]로부터 서버(204)로 전송되는 새로운 버전의 PD 통지 메시지(402*)는 서버(204)로부터 하나 이상의 배포 또는 목적지 클라이언트[202(2) 및 202(3)]로 전송되는 새로운 버전의 PD 통지 메시지(402*)와 다를 수 있다. 예를 들어, 클라이언트 #1 식별정보(502)는 클라이언트 #1[202(1)]으로부터 서버(204)로 전송되는 새로운 버전의 PD 통지 메시지(402*)로부터 생략될 수 있는데, 이는 시작 클라이언트가 암시적으로 알려져 있거나 서버(204)에 의해 결정될 수 있기 때문이다.
새로운 PD 통지 메시지(402*)의 제2 예시적인 일부분에 대하여, PD-C1의 식별정보(504)는 PD-C1(208)을 식별한다. PD-C1의 식별정보(504)는 관심있는 친구 클라이언트(202)가 직접적으로 또는 간접적으로 PD-C1(208)을 획득할 수 있게 하는 데 충분한 정보를 제공한다. 예를 들어, PD-C1의 식별정보(504)는 서버(204)에 저장되어 있고 PD-C1(208)에의 참조를 포함할 수 있는 PD-C1의 식별정보(224)와 동일할 수 있다. 그러므로, 배포 클라이언트(202)는 직접적으로 클라이언트 #1[202(1)]로부터의 PD-C1(208)을 리트리브(retrieve) 할 수 있을 수 있다. 이와 달리, 배포 클라이언트(202)는 단지 PD-C1(208)을 제공할 제3 장치[예를 들어, 서버(204), 또 다른 서버, 또 다른 클라이언트(202), 다른 엔티티 등]를 요청하게 될 수도 있다.
단지 예로서, PD-C1의 식별정보(504)는 객체 저장소 이름을 포함할 수 있으며, PD-C1(208)은 클라이언트 #1[202(1)]의 객체 저장소 내에 저장될 수 있다. 객체 저장소는 문헌 1에 설명되어 있다. 이 문헌 1은 본 특허 출원과 동일한 양수인을 갖는다.
문헌 1 전체가 본원에 참조에 의해 통합된다. 그럼에도 불구하고, 인스턴트 메시징에 대한 객체 저장 기술의 실시예에 대한 간략한 설명이 본원에 나타내진다. 객체 저장 기술은 각각의 장치들이 그들의 각 객체 저장소에 데이터를 저장하게 한다. 또한, 객체 저장 기술은 하나의 장치가 또 다른 장치의 객체 저장소에 저장되어 있는 데이터를 찾고 리트리브하게 할 수 있게 한다.
데이터를 객체 저장소에 저장할 때, 객체 저장소는 객체 저장소 이름을 제공하여, 적절하게 구성된 임의의 장치가 객체 저장소 이름을 이용하여 데이터를 찾을 수 있게 한다. 결론적으로, 프리젠스 문서와 같은 데이터의 객체 저장소 이름은 다른 장치에 의한 및 그로부터의 데이터에의 액세스를 인에이블링하기 위해 여기저기에 전달될 수 있다. 상기 문헌 1에 대한 하나의 설명된 구현에서, 각각의 객체 저장소 이름은 스트링을 포함하며, 길이가 1 킬로바이트까지이다. 예를 들어, 객체 저장소 이름은 각각의 데이터 엔티티에 대한 수정된 해시 값, 클라이언트 장치 의 메모리 내에 데이터를 갖고 있는 파일의 이름, 클라이언트 장치의 사용자 이름, 저장된 데이터의 유형을 포함한다.
객체 저장 기술의 문맥의 예시적인 프리젠스 정보 갱신 상황은 다음과 같다: 첫째, 시작 장치에서 재생되고 있는 노래가 수정된다. 둘째, 새로운 노래가[예를 들어, 확장가능 마크업 언어(XML)로 포매팅된] 프리젠스 문서 파일 내에 기록된다. 셋째, 수정된 프리젠스 문서 파일이 객체 저장소에 저장된다. 넷째, 객체 저장소가 이 저장된 문서에 대한 새로운 객체 저장소 이름을 제공한다. 다섯째, 시작 장치가 중앙 서버에 새로운 프리젠스 문서 객체 저장소 이름을 통지한다. 여섯째, 서버는 시작 장치의 친구가 될 것을 신청한 목적지 장치에게 새로운 프리젠스 문서 객체 저장소 이름을 송신한다. 일곱째, 도착지 장치가 새로운 프리젠스 문서 객체 저장소 이름을 수신한다. 여덟째, 목적지 장치가, 프리젠스 문서가 새로운 프리젠스 문서 객체 저장소 이름에 기초하여 수정되었다는 것을 확인한다. 아홉째, 목적지 클라이언트가 새로운 프리젠스 문서 객체 저장소 이름을 이용하여 시작 장치로부터의 새로운 프리젠스 문서의 복사본을 요청할 수 있다.
또다시 도 5를 참조하여, 새로운 PD 통지 메시지(402*)의 제3 예시적인 일부분에 대해서, PD 델타[506(1-k)]는 PD-C1(208)의 프리젠스 정보의 "k"개의 델타 또는 차이를 포함한다. 즉, 관심있는 친구 클라이언트[202(2) 및 202(3)]에 PD-C1(208) 전체를 자동으로 전송하는 대신, 클라이언트 #1[202(1)]는 개별적인 프리젠스 정보 아이템(들)에의 수정만을 전송한다. 따라서, 세 개의 프리젠스 정보 아이템만이 수정되면, PD 델타[506(1)], PD 델타[506(2)], 및 PD 델타[506(3)]만이 새로운 PD 통지 메시지(402*) 내에 포함된다.
전술된 바와 같이, 각각의 프리젠스 정보 수정시에 자동으로 PD-C1(208) 전체를 전송하는 대신에 프리젠스 정보 차이만을 배포 클라이언트(202)에 전송하면, 인스턴트 메시징 시스템에 의해 소비되는 대역폭을 줄일 수 있다. 클라이언트 #2[202(2)]와 같은 관심있는 친구 클라이언트(202)가 새로운 PD 통지 메시지(402*)를 수신하면, 클라이언트 #2[202(2)]는 PD 델타[506(1-k)]가 나타내는 프리젠스 정보 수정을 적용시킬 수 있다. 이 맥락에서, 새로운 PD 통지 메시지(402)(및 402*)는 보다 일반적으로 새로운 프리젠스 정보(PI) 통지 메시지를 포함한다.
그 후, 클라이언트 #2[202(2)]는 새로운 버전의 클라이언트 #1[202(1)]의 프리젠스 정보에 기초하여 새로운 검증 값을 계산할 수 있다. 이 검증 값은 새로운 PD 통지 메시지(402*)의 부분으로서 포함된 확인 값(도 5에는 명시적으로 도시되지 않음)과 비교된다. 두 개의 값이 등가이면, 새로운 PD 통지 메시지(402*)는 적절하게 처리된다. 이와 달리, 새로운 검증 값이 수신된 확인 값과 등가가 아니면, 클라이언트 #2[202(2)]는 클라이언트 #1[202(1)]로부터의 완전한 PD-C1(208)를 요청한다. 이 절차는 특히 도 6을 참조하여 더욱 후술된다.
예시적인 대안적 구현으로서, 서버(204)는 인스턴트 메시징 아키텍처로부터 다음과 같이 전체적으로 또는 부분적으로 생략될 수 있다. 전술된 네 개의 리스트 중 하나 이상은 서버(204) 대신 클라이언트(202)에 저장될 수 있다. 예를 들어, 클라이언트 #1[202(1)]에 대한 DRL은 클라이언트 #1[202(1)]에 저장될 수 있다. 그러므로, 클라이언트 #2[202(2)]가 클라이언트 #1[202(1)]의 프리젠스 정보를 현 재 모니터링하기 위해 인스턴트 메시징 시스템을 신청하면, 클라이언트 #1[202(1)]는 클라이언트 #1[202(1)]에 배치된 DRL에 클라이언트 #2[202(2)]를 추가한다. 프리젠스 정보 아이템이 수정되면, 클라이언트 #1[202(1)]은 국부적으로 저장된 DRL에 액세스하고 중간매개체로서 서버(204)를 이용하지 않고 클라이언트 #2[202(2)]에 직접 새로운 PI 통지 메시지를 송신할 수 있다.
도 6은 시작 클라이언트의 프리젠스 문서가 시작 클라이언트에서 유지되고 있는 경우, 목적지 클라이언트에서 프리젠스 정보를 갱신하기 위한 방법의 예를 나타내는 흐름도(600)이다. 흐름도(600)는 14개의 블럭을 포함한다. 흐름도(600)의 액션들이 다른 환경에서, 및 다양한 하드웨어와 소프트웨어 조합에서 수행될 수 있지만, 도 2-5는 특별히 특정한 양태 및 방법의 예를 예시하기 위해 이용되었다. 단지 예로서, 흐름도(600)의 네 개의 액션(602-608)은 시작 클라이언트[202(O)][예를 들어, 클라이언트 #1(202(1))] 상의 인스턴트 메시징 프로그램 클라이언트(212)에 의해 수행될 수 있으며, 열 개의 액션(610-628)은 목적지/배포 클라이언트[202(D)][예를 들어, 클라이언트 #2(202(2))] 상의 인스턴트 메시징 프로그램 클라이언트(212)에 의해 수행될 수 있다.
블럭(602)에서, 프리젠스 정보가 수정됐는지가 탐지된다. 예를 들어, 시작 클라이언트[202(O)]가 그것의 프리젠스 정보에의 수정이 일어났는지를/일어난 때를 탐지할 수 있다. 수정이 탐지될 때까지 탐지가 계속된다. [블럭(602)에서] 수정이 탐지된 후, 블럭(604)에서 새로운 프리젠스 정보(PI) 통지 메시지가 공식화된다. 예를 들어, 시작 클라이언트[202(O)]는 새로운 PD 통지 메시지(402*)와 유사 한 새로운 PI 통지 메시지를 공식화한다. 예를 들어, 새로운 PI 통지 메시지는 시작 클라이언트[202(O)]의 식별정보, 시작 클라이언트[202(O)]의 PD의 식별정보(예를 들어, 프리젠스 문서로의 참조), 적어도 하나의 PI 델타, 및 확인 값을 포함할 수 있다. 예를 들어, 확인 값은 새로운 PD에 응답하여 결정되는 해시 값일 수 있다.
블럭(606)에서, 새로운 PI 통지 메시지가 친구 클라이언트에게 송신된다. 예를 들어, 새로운 PI 통지 메시지가 시작 클라이언트[202(O)]로부터 시작 클라이언트[202(O)]의 DRL 상에 리스트되어 있는 친구 클라이언트들로 송신될 수 있다. 이 예에서, 그러한 친구 클라이언트들은 목적지 클라이언트[202(D)]를 포함한다. 새로운 PI 통지 메시지는 서버(204)를 통하거나 직접적으로 (즉, 국부적으로 저장된 DRL을 이용해 서버(204)를 뛰어넘어 직접적으로) 네트워크(206)를 통해 시작 클라이언트[202(O)]로부터 목적지 클라이언트[202(D)]로 송신될 수 있다.
블럭(610)에서, 새로운 PI 통지 메시지가 수신된다. 예를 들어, 새로운 PI 통지 메시지가 목적지 클라이언트[202(D)]에서 수신될 수 있다. 블럭(612)에서, 새로운 PI가 이미 존재하는지가 확인된다. 예를 들어, 목적지 클라이언트[202(D)]는 수신된 확인 값을 (ⅰ) 목적지 클라이언트[202(D)]에 이미 저장된 시작 클라이언트[202(O)]에 대한 PD에 대응하는 기존 검증 값, 및/또는 (ⅱ) 이미 수신된 확인 값과 비교한다. 몇몇의 이유로 PI가 이미 갱신되어 있으면, 흐름은 블럭(624)에서 종료된다. 이와 달리, 새로운 PI가 미리 존재하지 않으면, 방법은 블럭(614)에서 계속된다.
블럭(614)에서, 옛 버전의 PD가 존재하는지가 확인된다. 예를 들어, 시작 클라이언트[202(O)]에 대한 이전 버전의 PD가 목적지 클라이언트[202(D)]에 이미 존재하는지가 확인될 수 있다. 그렇지 않다면, 방법은 블럭(628)에서 계속되며, 이것은 본원에 더욱 후술된다. 이와 달리, PD의 이전 버전의 PD가 목적지 클라이언트[202(D)]에 존재하면, 방법은 블럭(616)에서 계속된다.
블럭(616)에서, 프리젠스 정보가 수신된 델타를 이용해 갱신된다. 예를 들어, 목적지 클라이언트[202(D)]는 새로운 PI 통지 메시지와 함께 수신된 적어도 하나의 PI 델타에 기초하여 시작 클라이언트[202(O)]에 대응하는 PD 내의 PI를 갱신할 수 있다. 예를 들어, 이전 PI 값은 수신된 델타 값에 의해 대체될 수 있다. 상이한 PI 필드(304)들은 관련 태그(302)에 의해 식별될 수 있다.
블럭(618)에서, 새로운 검증 값이 계산된다. 예를 들어, 목적지 클라이언트[202(D)]는 PI 델타에 의해 갱신된 새로운 PD에 응답하여 새로운 검증 값을 계산할 수 있다. 예를 들어, 검증 값은 암호법 해시와 같은 해싱 알고리즘을 이용하여 계산될 수 있다. 암호법 해시의 예에는 SHA-1, MD5 등이 포함된다. 또 다른 예시적인 검증 동작 또는 절차는 실제 수정 데이터를 포함하는 델타 및 버전 번호를 이용할 수 있다. 이러한 델타/버전 숫자 구현에서, 원격 클라이언트의 친구에 대한 현재 버전 번호가 새로운 PD 메시지 내의 수신된 것보다 하나가 적으면, 원격 클라이언트는 수정(들)을 적용하여 마지막 버전 번호에 대한 PD에 매치될 수 있다. 그러나, 원격 클라이언트의 버전 번호가 하나 이상으로 차이가 나면, 원격 클라이언트가 친구로부터의 갱신을 하나 이상 놓쳤으며, 원격 인스턴트 메시징 클라이언트는 완벽한 새로운 버전의 PD를 획득할 필요가 있다는 것이 명확하다.
블럭(620)에서, 수신된 확인 값이 계산된 검증 값과 등가인지가 판정된다. 예를 들어, 새로운 PI 통지 메시지 내의 수신된 확인 값이 PI 델타에 의해 갱신된 새로운 PD에 응답하여 계산된 검증 값과 등가(예를 들어, 동일)인지가 판정될 수 있다. 그렇지 않으면(예를 들어, 하나 이상의 이전 델타 유형이 친구 클라이언트로부터 갱신되는 동안 원격 클라이언트가 오프라인이었기 때문에), 방법은 다음에 더욱 설명된 블럭(628)에서 계속된다. 이와 달리, 수신된 확인 값이 계산된 검증 값과 등가라고 판정되면, 방법은 블럭(622)에서 계속된다.
블럭(622)에서, 새로이 갱신된 PD가 저장된다. 예를 들어, 시작 클라이언트[202(O)]에 대응하는 갱신된 PD는 목적지 클라이언트[202(D)]에 저장될 수 있다. 갱신된 PI는 또한 목적지 클라이언트[202(D)]의 사용자에게 디스플레이되거나 (다른 한편으로) 전달될 수 있다. 즉, 보다 일반적인 관점에서, 갱신된 PD는 그것을 저장함으로써, PI를 사용자에게 전달함으로써, 다른 한편으로 인스턴트 메시징 관련 액션을 수행하는 등을 행함으로써 이용될 수 있다. 블럭(624)에서, 흐름도(600)의 방법이 종료된다.
블럭(628)의 액션(들)은 목적지 클라이언트[202(D)]가 [블럭(614)에서 확인된 바와 같은] 시작 클라이언트[202(O)]의 옛 버전의 PD를 갖고 있지 않을 때, 또는 시작 클라이언트[202(O)]의 갱신된 새로운 버전의 PD가 정확하지 않다고 검사[예를 들어, 블럭(620)에서 해시 값의 비교에 의한]되었을 때 수행된다. 블럭(628)에서, 전체 PD의 복사본이 시작 클라이언트로부터 검색된다. 예를 들어, 목적지 클라이언트[202(D)]는 새로운 PD 요청 메시지(404)를 통해 시작 클라이언트[202(O)]로부터 시작 클라이언트[202(O)]의 전체 PD를 요청할 수 있다. 이 요청은 시작 클라이언트[202(O)]의 PD의 식별정보[및/또는 시작 클라이언트(202(O))의 식별정보]를 이용하여 유효하게 될 수 있다.
블럭(608)에서, 전체 PD의 복사본이 요청에 대해서 제공된다. 예를 들어, 시작 클라이언트[202(O)]가 PD-C1(208)을 새로운 PD 메시지(406)로 목적지 클라이언트[202(D)]에 제공할 수 있다. [블럭(628)의 리트리브 함께] 시작 클라이언트로부터 전체 PD의 복사본을 수신한 후, 블럭(626)에서 실제 PD 전체가 목적지 클라이언트에 저장된다. 이와 달리, 그리고 보다 일반적으로, 실제 PD 전체가 목적지 클라이언트[202(D)]에서 이용된다. 흐름도(600)의 방법은 블럭(624)에서 끝난다.
도 1-6의 장치, 액션, 양태, 특징, 함수, 단계, 절차, 모듈, 데이터 구조, 프로그램, 컴포넌트 등이 다수의 블럭으로 나뉜 도면에 예시되어 있다. 그러나, 도 1-6이 설명되고/되거나 도시한 순서, 상호작용, 상호관계, 레이아웃(layout) 등은 본 발명을 한정하기 위한 것은 아니며, 임의의 개수의 블럭도 클라이언트 측 문서화에 대한 하나 이상의 시스템, 방법, 장치, 절차, 매체, 장비, API, 스킴, 배치 등을 구현할 수 있는 임의의 방식으로 수정, 조합, 재배치, 확장, 생략 등이 될 수 있다. 또한, 여기서 설명이 특정한 구현(도 7의 일반적인 장치를 포함)을 참조하고 있지만, 예시된 및/또는 설명된 구현은 임의의 적절한 하드웨어, 소프트웨어, 펌웨어 또는 그들의 조합으로 구현되고, 임의의 적절한 프리젠스 문서 공식(들), 프리젠스 문서 스킴(들), 전송 프로토콜(들), 메시지 포맷(들), 및/또는 검증 알고 리즘(들) 등을 이용할 수 있다.
컴퓨터 또는 다른 장치를 위한 예시적인 운영 환경
도 7은 여기에 설명된 바와 같은 클라이언트 측 프리젠스 문서화를 위한 적어도 하나의 시스템, 장치, 장치, 컴포넌트, 배치, 프로토콜, 접근방식, 방법, 절차, 매체, API, 스킴, 이들에 대한 소정의 조합 등을 (전체적으로 또는 부분적으로) 구현할 수 있는 예시적인 컴퓨팅 (또는 일반적인 장치) 운영 환경(700)을 나타낸다. 운영 환경(700)은 다음에 설명된 컴퓨터 및 네트워크 아키텍처에서 이용될 수 있다.
예시적인 운영 환경(700)은 환경의 일례일 뿐이며, 적용가능한 장치(컴퓨터, 네트워크 노드, 기업 장치, 모바일 전자 장치, 범용 전자 장치 등을 포함) 아키텍처의 이용 또는 기능 범위를 한정하기 위한 것은 아니다. 운영 환경(700)(또는 그것의 장치)은 도 7에 예시된 것과 같은 컴포넌트들 중 임의의 하나 또는 그들에 대한 임의의 조합에 관하여 임의의 종속성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
이외에, 클라이언트 측 프리젠스 문서화에 대한 구현은 수많은 다른 범용 또는 특수목적 장치(컴퓨팅 시스템을 포함) 환경 또는 구성들과 함께 실현될 수 있다. 이용하기에 적합할 수 있는 잘 알려진 장치, 시스템, 환경 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 신 클라이언트(thin client), 씨크 클라이언트(thick client), PDA, 모바일 전화, 시계, 핸드헬드 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋 탑 박스, 프로그램가능한 가전제품, 비 디오 게임 기기, 게임 콘솔(game console), 휴대용 또는 핸드헬드 게이밍 유닛(gaming unit), 네트워크 PC, 화상회의 장치, 미니컴퓨터, 메인프레임 컴퓨터, 네트워크 노드, 상기의 시스템 또는 장치 중의 임의의 것을 포함하는 분산형 또는 멀티 프로세싱 컴퓨팅 환경 그들에 대한 소정의 조합 등이 포함되지만, 이에만 한정되는 것은 아니다.
클라이언트 측 프리젠스 문서화에 대한 구현은 프로세서 실행가능 명령어의 일반적인 문맥으로 설명될 수 있다. 일반적으로, 프로세서 실행가능 명령어는 특정 태스크를 수행 및/또는 가능하게 하고/하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 프로토콜, 객체, 함수, 인터페이스, 컴포넌트, 데이터 구조 등을 포함한다. 여기 특정 구현에 설명된 바와 같은 클라이언트 측 프리젠스 문서화에 대한 실현은 또한 통신 링크 및/또는 네트워크를 통해 연결된 원격적으로 링크된 프로세싱 장치에 의해 태스크가 수행되는 분산형 프로세싱 환경에서도 실행될 수 있다. 특히, 프로세서 실행가능 명령어는 분산형 컴퓨팅 환경에만 배타적으로 배치되는 것이 아니라, 서로 다른 프로세서에 의해 실행되는 개별적인 저장 매체에 배치되고/되거나 전송 매체를 통해 전파된다.
예시적인 운영 환경(700)은 컴퓨팅/프로세싱 기능을 가진 임의의 (예를 들어, 전자) 장치를 포함할 수 있는 컴퓨터(702)의 형태인 범용 컴퓨팅 장치를 포함한다. 컴퓨터(702)의 컴포넌트들은 하나 이상의 프로세서 또는 프로세싱 유닛(704), 시스템 메모리(706), 및 프로세서(704)를 포함하는 다양한 시스템 컴포넌트를 시스템 메모리(706)에 연결시키는 시스템 버스(708)를 포함할 수 있지만, 이에 만 한정되는 것은 아니다.
프로세서(704)는 그들을 형성하는 물질 또는 그들에 채용된 프로세싱 메커니즘에 의해 한정되지 않는다. 예를 들어, 프로세서(704)는 반도체(들) 및/또는 트랜지스터[예를 들어, 전자 집적 회로(electronic IC)]로 구성될 수 있다. 이러한 문맥에서, 프로세서 실행가능 명령어는 전자적으로 실행가능한 명령어일 수 있다. 이와 달리, 프로세서(704)의 또는 그것에 대한 메커니즘, 및 컴퓨터(702)의 또는 그것에 대한 메커니즘은 대용량 컴퓨팅, 선택적 컴퓨팅, 기기 컴퓨팅(예를 들어, 나노기술을 이용) 등을 포함할 수 있지만, 이에만 한정되는 것은 아니다.
시스템 버스(708)는 메모리 버스 또는 메모리 제어기, 피어 투 피어 접속, 스위칭 패브릭(switch fabric), 주변 버스, 고속 그래픽 포트, 및 다양한 버스 아키텍처 중 임의의 것을 사용하는 프로세서 또는 로컬 버스를 포함하는 수많은 유형의 유무선 버스 구조 중 임의의 것 중 하나 이상을 나타낸다. 예로서, 이러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, 인핸스드 ISA(Enhanced ISA; EISA) 버스, 비디오 일렉트로닉스 표준 어소시에이션(VESA) 로컬 버스, 및 메자닌(Mezzanine) 버스로도 알려진 주변 컴포넌트 상호접속(PCI) 버스, PCI 익스프레스(PCI express), 그들에 대한 소정의 조합을 포함하지만, 이에만 한정되는 것은 아니다.
컴퓨터(702)는 전형적으로 다양한 프로세서 액세스가능 매체를 포함한다. 이러한 매체는 컴퓨터(702) 또는 다른 (예를 들어, 전기) 장치에 의해 액세스되는 임의의 이용가능 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체 둘 다, 그리고 저장 및 전송 매체를 포함한다.
시스템 메모리(706)는 RAM(710)과 같은 휘발성 메모리 및/또는 ROM(712)과 같은 비휘발성 메모리의 형태인 프로세서 액세스가능 저장 매체를 포함한다. 시동중과 같은 때에 컴퓨터(702) 내의 구성요소들 간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(714; BIOS)은 전형적으로 ROM(712)에 저장된다. RAM(710)은 전형적으로 프로세싱 유닛(704)에 즉시 액세스할 수 있고 및/또는 프로세싱 유닛(704)에 의해 현재 동작되고 있는 데이터 및/또는 프로그램 모듈/명령어를 포함한다.
컴퓨터(702)는 또한 다른 분리형, 비분리형 및/또는 휘발성, 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 도 7은 (전형적으로) 비분리형 비휘발성 자기 매체(개별적으로 도시되지 않음)로부터 판독하고 그 자기 매체에 기록하는 하드 디스크 드라이브 또는 디스크 드라이브 어레이(716), (전형적으로) 분리형 비휘발성 자기 디스크(720)(예를 들어, "플로피 디스크")로부터 판독하고 그 자기 디스크에 기록하는 자기 디스크 드라이브(718), 및 CD, DVD 또는 다른 광학 매체와 같은 (전형적으로) 분리형 비휘발성 광학 디스크(724)로부터 판독하고/하거나 그 광학 디스크에 기록하는 광학 디스크 드라이브(722)를 예시한다. 하드 디스크 드라이브(716), 자기 디스크 드라이브(718), 및 광학 디스크 드라이브(722)는 각각 하나 이상의 저장 매체 인터페이스(726)에 의해 시스템 버스(708)에 접속된다. 이와 달리, 하드 디스크 드라이브(716), 자기 디스크 드라이브(718), 및 광학 디스크 드라이브(722)는 하나 이상의 다른 개별적인 또는 조합된 인터페이스(도시되지 않음)에 의해 시스템 버스(708)에 접속될 수도 있다.
디스크 드라이브 및 그 관련 프로세서 액세스가능 매체는 데이터 구조, 프로그램 모듈, 및 컴퓨터(702)에 대한 다른 데이터와 같은 프로세서 실행가능 명령어의 비휘발성 저장소를 제공한다. 예시적인 컴퓨터(702)는 하드 디스크(716), 분리형 자기 디스크(720) 및 분리형 광학 디스크(724)만을 예시하고 있지만, 자기 카세트 또는 다른 자기 저장 장치, 플래시 메모리, CD, DVD 또는 다른 광학 저장소, RAM, ROM, EEPROM 등의 다른 유형의 프로세서 액세스가능 매체도 장치가 액세스할 수 있는 명령어를 저장할 수 있다는 것은 명백해질 것이다. 이러한 매체는 또한 소위 특수 목적 또는 하드와이어드 IC 칩(hard-wired IC chip)을 포함할 수 있다. 다른 말로 하면, 예시적인 운영 환경(700)의 저장 매체를 실현하기 위해 임의의 프로세서 액세스가능 매체가 이용될 수 있다.
통상적인 예로서, 오퍼레이팅 시스템(728), 하나 이상의 어플리케이션 프로그램(730), 다른 프로그램 모듈(732), 및 프로그램 데이터(734)를 포함하는 임의의 개수의 프로그램 모듈(또는 프로세서 실행가능 명령어의 다른 유닛 또는 세트)은 하드 디스크(716), 자기 디스크(720), 광학 디스크(724), ROM(712), 및/또는 RAM(710) 상에 저장될 수 있다. 이러한 프로세서 실행가능 명령어는, 예를 들어 확장가능 프리젠스 문서(210)를 갖은 프리젠스 문서(208), 인스턴트 메시지 클라이언트(212), 메시지(402/402*/404/406), 확장가능 프리젠스 문서(210)를 설명하는 스키마, 그들의 몇몇 조합 등 중에서 하나 이상을 포함할 수 있다.
사용자는 키보드(736) 및 포인팅 장치(738)(예를 들어, "마우스")와 같은 입 력 장치를 통해 컴퓨터(702)에 코맨드(command) 및/또는 정보를 입력할 수 있다. (구체적으로 도시되지 않은) 다른 입력 장치(740)는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 시리얼 포트, 비디오 카메라, 스캐너, 및/또는 이와 유사한 것들을 포함할 수 있다. 이들 입력 장치 및 다른 입력 장치는 시스템 버스(708)에 접속된 입출력 인터페이스(742)를 통해 프로세싱 유닛(704)에 접속된다. 그러나, 입력 장치 및/또는 다른 장치는 대신에 병렬 포트, 게임 포트 또는 유니버설 시리얼 버스(USB) 포트, 적외선 포트, IEEE 1394["파이어와이어(Firewire)"] 인터페이스, IEEE 802.11 무선 인터페이스, 블루투스® 무선 인터페이스 등과 같은 다른 인터페이스 및 버스 구조에 의해 접속될 수 있다.
모니터/뷰 스크린(view screen)(744) 또는 다른 유형의 디스플레이 장치는 또한 비디오 어댑터(746)와 같은 인터페이스를 통해 시스템 버스(708)에 연결될 수 있다. 비디오 어댑터(746)(또는 다른 컴포넌트)는 그래픽 집약적 계산을 처리하고 요구되는 디스플레이 요청사항을 처리하기 위한 그래픽 카드이거나 그것을 포함할 수 있다. 전형적으로, 그래픽 카드는 그래픽 프로세싱 유닛(GPU), 비디오 RAM(VRAM) 등을 포함하여, 신속한 그래픽 디스플레이 및 그래픽 동작의 수행을 용이하게 한다. 모니터(744) 외에도, 다른 출력 주변 장치는 입출력 인터페이스(742)를 통해 컴퓨터(702)에 연결될 수 있는 (도시되지 않은) 스피커 및 프린터(748)와 같은 컴포넌트를 포함할 수 있다.
컴퓨터(702)는 원격 컴퓨팅 장치(750)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용하여 네트워킹된 환경에서 동작할 수 있다. 예를 들어, 원격 컴퓨팅 장치(750)는 주변 장치, 퍼스널 컴퓨터, 휴대용 컴퓨터(예를 들어, 랩탑 컴퓨터, 타블릿 컴퓨터, PDA, 모바일 스테이션 등), 팜(palm) 또는 포켓 사이즈 컴퓨터, 시계, 게임 장치, 서버, 라우터, 네트워크 컴퓨터, 피어(peer) 장치, 다른 네트워크 노드, 또는 상기 열거된 다른 장치 유형 등 일 수 있다. 그러나, 원격 컴퓨팅 장치(750)는 컴퓨터(702)에 관련하여 여기에 설명된 구성요소 및 특징 중 다수 또는 모두를 포함할 수 있는 휴대용 컴퓨터로 예시된다.
컴퓨터(702)와 원격 컴퓨터(750) 간의 논리적 접속은 LAN(752) 및 WAN(754)으로 나타나있다. 이러한 네트워킹 환경은 사무실, 기업 규모 컴퓨터 네트워크, 인트라넷, 인터넷, 고정된 및 모바일 전화 네트워크, 특별한 기반구조 무선 네트워크, 그물망 네트워크, 다른 무선 네트워크, 게이밍 네트워크, 이들에 대한 소정의 조합 등에 일반적인 것이다. 이러한 네트워크와 논리적 및 물리적 통신 접속은 추가적인 전송 매체의 예이다.
LAN 네트워킹 환경에서 구현되는 경우, 컴퓨터(702)는 보통 네트워크 인터페이스 또는 어댑터(756)를 통해 LAN(752)에 접속된다. WAN 네트워킹 환경에서 구현되는 경우, 컴퓨터(702)는 전형적으로 WAN(754)을 통해 통신을 구축하기 위한 모뎀(758) 또는 다른 컴포넌트를 포함한다. 컴퓨터(702)에 내장되거나 외장될 수 있는 모뎀(758)은 입출력 인터페이스(742) 또는 임의의 다른 적절한 메커니즘(들)을 통해 시스템 버스(708)에 접속될 수 있다. 예시된 네트워크 접속은 예시적인 것일 뿐이며, 컴퓨터(702)와 컴퓨터(750) 간의 통신 링크(들)를 구축하기 위한 다른 방식이 채용될 수 있음이 인식될 것이다.
네트워킹된 환경에서, 운영 환경(700)으로 예시된 바와 같이, 컴퓨터(702) 또는 이것의 일부에 관련하여 설명된 프로그램 모듈 또는 다른 명령어는 원격 매체 저장 장치에 전체적으로 또는 부분적으로 저장될 수 있다. 예로서, 원격 어플리케이션 프로그램(760)은 원격 컴퓨터(750)의 메모리 컴포넌트 상에 상주해 있지만, 컴퓨터(702)를 통해 이용될 수 있거나 다른 한편으로 액세스될 수 있다. 또한, 예시를 위해, 어플리케이션 프로그램(730) 및 오퍼레이팅 시스템(728)과 같은 다른 프로세서 실행가능 명령어는 여기에 개별적인 블럭으로 예시되어 있지만, 이러한 프로그램, 컴포넌트 및 다른 명령어들은 다양한 시간에 컴퓨팅 장치(702)[및/또는 원격 컴퓨팅 장치(750)]의 서로 다른 저장 컴포넌트에 상주하며, 컴퓨터(702)[및/또는 원격 컴퓨팅 장치(750)]의 프로세서(704)(들)에 의해 실행된다는 것이 인식될 것이다.
시스템, 매체, 장치, 방법, 절차, 장치, 기술, 스킴, 접근방식, 절차, 배치, 및 다른 구현들이 구조, 논리, 알고리즘 및 기능적 특징, 및/또는 도면에 특정한 언어로 설명되어 있지만, 첨부된 청구항에 정의된 본 발명이 설명된 특정한 특징 또는 도면에 반드시 한정되는 것이 아님을 이해할 것이다. 오히려, 특정한 특징 또는 도면은 주장되는 본 발명을 구현하는 예시적인 형태로서 제시된 것이다.
본 발명은 인스턴트 메시징의 융통성있는 확장된 프리젠스 문서 능력을 용이하게 하기 위한 프로세서 액세스가능 매체 및 방법을 제공한다.

Claims (20)

  1. 인스턴트 메시징 클라이언트 프로그램(instant messaging client program)의 적어도 일부를 포함하는 프로세서 실행가능 명령어들을 포함하는 하나 이상의 프로세서 액세스가능 매체에 있어서,
    상기 인스턴트 메시징 클라이언트 프로그램은 프리젠스 문서(presence document)를 국부적으로 저장할 수 있고, 상기 프리젠스 문서의 적어도 일부분을 피어 투 피어 패러다임(peer to peer paradigm)에 따라 원격 클라이언트에 제공하도록 적응된 프로세서 액세스가능 매체.
  2. 제1항에 있어서, 상기 인스턴트 메시징 클라이언트 프로그램은 국부적으로 저장된 상기 프리젠스 문서의 프리젠스 정보에의 수정에 응답하여, 상기 원격 클라이언트에 전송되는 새로운 프리젠스 정보 통지 메시지를 발행하도록 더욱 적응된 프로세서 액세스가능 매체.
  3. 제2항에 있어서, 상기 원격 클라이언트는 원격 인스턴트 메시징 클라이언트 프로그램을 포함하고, 상기 인스턴트 메시징 클라이언트 프로그램은 원격 인스턴트 메시징 클라이언트 프로그램을 포함하는 DRL(dynamic reverse list)를 저장할 수 있으며, 상기 인스턴트 메시징 클라이언트 프로그램은 중앙 인스턴트 메시징 서버를 통하는 라우팅 없이 하나 이상의 네트워크를 통해 상기 새로운 프리젠스 정보 통지 메시지를 상기 원격 인스턴트 메시징 클라이언트 프로그램에 전송하도록 더욱 적응된 프로세서 액세스가능 매체.
  4. 제2항에 있어서, 상기 새로운 프리젠스 정보 통지 메시지는 적어도 하나의 개별 프리젠스 정보 아이템에의 수정을 나타내는 적어도 하나의 개별 델타(delta)를 포함하는 프로세서 액세스가능 매체.
  5. 제2항에 있어서, 상기 새로운 프리젠스 정보 통지 메시지는 상기 프리젠스 문서의 식별정보를 포함하는 프로세서 액세스가능 매체.
  6. 제5항에 있어서, 상기 프리젠스 문서의 식별정보는 상기 원격 클라이언트가 상기 인스턴트 메시징 클라이언트 프로그램이 현재 실행되고 있는 장치의 객체 저장소로부터 상기 프리젠스 정보를 요청할 수 있게 하는 객체 저장소 이름을 포함하는 프로세서 액세스가능 매체.
  7. 제1항에 있어서, 상기 프리젠스 문서는 미리 결정된 상태 정보, 전자 메일 주소, 별명, 현재 보고 있는 웹 사이트, 현재 듣고 있는 음악 선택, 현재 물리적 위치, 개인적 상태 메시지, 실행되고 있는 소프트웨어 프로그램, 현재 인스턴트 메시징되고 있는 다른 접촉 친구들, 현재 참여하고 있는 회의, 사용자와 피어 투 피어 방식으로 어떻게 접속되어야 하는지에 대한 정보, 사용자 블로그(blog)의 위치, 웹캠 세션(webcam session) 또는 오디오 대화가 현재 수행되고 있는지의 여부, 현재 아웃룩(outlook) 상태, 라이브 접촉(live contact) 목적을 위한 사용자의 주소 정보를 포함하는 프리젠스 정보 아이템들의 그룹으로부터 선택된 하나 이상의 프리젠스 정보 아이템들을 포함하는 프로세서 액세스가능 매체.
  8. 제1항에 있어서, 상기 프리젠스 문서는 프리젠스 문서 스키마(schema)에 따라 확장가능하며, 상기 인스턴트 메시징 클라이언트 프로그램은 상기 확장가능 프리젠스 문서를 조작하도록 더욱 적응된 프로세서 액세스가능 매체.
  9. 인스턴트 메시징 클라이언트 프로그램의 적어도 일부를 포함하는 프로세서 실행가능 명령어들을 포함하는 하나 이상의 프로세서 액세스가능 매체에 있어서,
    상기 인스턴트 메시징 클라이언트 프로그램은 확장가능 프리젠스 정보를 포함하도록 구성된 프리젠스 문서를 이용할 수 있는 프로세서 액세스가능 매체.
  10. 제9항에 있어서, 상기 인스턴트 메시징 클라이언트 프로그램은 프리젠스 문서 스키마에 따라 상기 프리젠스 문서의 확장가능한 프리젠스 정보를 조작하도록 적응된 프로세서 액세스가능 매체.
  11. 제9항에 있어서, 상기 확장가능 프리젠스 정보는 복수의 개별 프리젠스 정보 필드에 관련된 복수의 개별 태그들을 포함하며, 각각의 주어진 태그는 관련된 주어 진 프리젠스 정보 필드의 의미를 나타내는 프로세서 액세스가능 매체.
  12. 제9항에 있어서, 상기 프리젠스 문서는 XML(extensible markup language)에 따라 포매팅되는 프로세서 액세스가능 매체.
  13. 제9항에 있어서, 상기 인스턴트 메시징 클라이언트 프로그램은 대응하는 프리젠스 문서의 적어도 하나의 프리젠스 정보 아이템에의 수정을 나타내는 적어도 하나의 델타를 포함하는 새로운 프리젠스 정보 통지 메시지를 시작 클라이언트(origination client)로부터 수신할 수 있고, 상기 시작 클라이언트에 대응하는 갱신된 프리젠스 문서를 생성하기 위해 적어도 하나의 델타에 기초하여 적어도 하나의 프리젠스 정보 아이템에 수정을 적용하도록 적응된 프로세서 액세스가능 매체.
  14. 제13항에 있어서, 상기 인스턴트 메시징 클라이언트 프로그램은 상기 갱신된 프리젠스 문서에 응답하여 계산된 검증 값(verification value)을 상기 새로운 프리젠스 정보 통지 메시지와 함께 수신된 확인 값(confirmation value)에 비교함으로써 등가 검증 동작을 수행하도록 더욱 적응된 프로세서 액세스가능 매체.
  15. 제14항에 있어서, 상기 인스턴트 메시징 클라이언트 프로그램은, 상기 등가 검증 동작이 등가라고 입증하는 것에 실패하면, 상기 시작 클라이언트로부터 상기 갱신된 프리젠스 문서의 복사본을 요청하도록 더욱 적응된 프로세서 액세스가능 매 체.
  16. 프리젠스 문서의 적어도 하나의 대응하는 프리젠스 정보 아이템에의 수정을 나타내는 적어도 하나의 델타를 포함하는 새로운 프리젠스 정보 통지 메시지를 수신하는 단계;
    갱신된 프리젠스 문서를 생성하기 위해 상기 적어도 하나의 대응하는 델타에 기초하여 상기 적어도 하나의 프리젠스 문서 정보 아이템을 갱신하는 단계;
    상기 갱신된 프리젠스 문서에 응답하여 검증 값을 계산하는 단계;
    상기 검증 값이 수신된 확인 값과 등가인지를 판정하는 단계; 및
    상기 검증 값이 상기 수신된 확인 값과 등가라고 판정되면, 상기 갱신된 프리젠스 문서를 이용하는 단계
    를 포함하는 방법.
  17. 제16항에 있어서, 상기 프리젠스 문서는 시작 클라이언트에 대응하고,
    상기 방법은,
    상기 검증 값이 상기 수신된 확인 값과 등가라고 판정되지 않으면, 상기 시작 클라이언트로부터 상기 프리젠스 문서의 전체 복사본을 요청하는 단계를 더 포함하는 방법.
  18. 제16항에 있어서, 상기 프리젠스 문서는 시작 클라이언트에 대응하고,
    상기 방법은,
    상기 갱신하는 단계 이전에, 상기 프리젠스 문서의 옛 버전이 존재하는지를 확인하는 단계; 및
    상기 프리젠스 문서의 옛 버전이 존재한다고 확인되지 않으면, 상기 시작 클라이언트로부터 상기 프리젠스 문서의 전체 복사본을 리트리브(retrieve)하는 단계
    를 더 포함하는 방법.
  19. 제16항에 있어서, 상기 새로운 프리젠스 정보 통지 메시지는 상기 수신된 확인 값을 더 포함하고,
    상기 계산하는 단계는,
    상기 갱신된 프리젠스 문서에 대해서 해싱 연산(hashing operation)을 수행하는 단계를 포함하는 방법.
  20. 제16항에 있어서, 상기 이용하는 단계는,
    상기 갱신된 프리젠스 문서를 저장하는 단계; 또는
    상기 적어도 하나의 프리젠스 정보 아이템을 사용자에게 디스플레이하는 단계
    중 적어도 하나를 포함하는 방법.
KR1020060007301A 2005-02-28 2006-01-24 인스턴트 메시징의 융통성있는 확장된 프리젠스 문서능력을 용이하게 하기 위한 프로세서 액세스가능 매체 및방법 KR101545912B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/068,731 US20060195532A1 (en) 2005-02-28 2005-02-28 Client-side presence documentation
US11/068,731 2005-02-28

Publications (2)

Publication Number Publication Date
KR20060095457A true KR20060095457A (ko) 2006-08-31
KR101545912B1 KR101545912B1 (ko) 2015-08-24

Family

ID=36499445

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060007301A KR101545912B1 (ko) 2005-02-28 2006-01-24 인스턴트 메시징의 융통성있는 확장된 프리젠스 문서능력을 용이하게 하기 위한 프로세서 액세스가능 매체 및방법

Country Status (8)

Country Link
US (1) US20060195532A1 (ko)
EP (1) EP1703453B1 (ko)
JP (1) JP4824429B2 (ko)
KR (1) KR101545912B1 (ko)
CN (1) CN1829226B (ko)
BR (1) BRPI0600185A (ko)
CA (1) CA2533373A1 (ko)
MX (1) MXPA06001215A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101039555B1 (ko) * 2010-03-30 2011-06-09 주식회사 엘지유플러스 프레즌스 서비스 제공 단말기, 이를 포함하는 프레즌스 서비스 제공 시스템 및 그 제공 방법
US9134873B2 (en) 2010-09-28 2015-09-15 Qualcomm Incorporated Apparatus and methods for presenting interaction information
WO2016190657A1 (ko) * 2015-05-26 2016-12-01 김태정 단말 및 단말의 동작 방법

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7406533B2 (en) * 2003-10-08 2008-07-29 Seiko Epson Corporation Method and apparatus for tunneling data through a single port
US20060053485A1 (en) * 2004-09-08 2006-03-09 Chia-Hsin Li Network connection through NAT routers and firewall devices
US8230456B2 (en) * 2005-01-05 2012-07-24 Yahoo! Inc. Framework for delivering a plurality of content and providing for interaction with the same in a television environment
US20060200517A1 (en) * 2005-03-03 2006-09-07 Steve Nelson Method and apparatus for real time multi-party conference document copier
US20060240855A1 (en) * 2005-04-22 2006-10-26 Amit Kalhan Systems and methods for updating presence in a mobile communication network
KR100757338B1 (ko) * 2005-05-31 2007-09-11 엔에이치엔(주) 동일한 리플리케이션 그룹에 속하는 구성원 서버의 상태를동기화하는 방법 및 시스템
GB0514031D0 (en) * 2005-07-08 2005-08-17 Nokia Corp Multi-user services in a communications system
WO2007045069A1 (en) * 2005-10-21 2007-04-26 Research In Motion Limited Instant messaging device/server protocol
JP4862463B2 (ja) * 2006-04-11 2012-01-25 ブラザー工業株式会社 情報通信システム、コンテンツカタログ情報検索方法、及びノード装置等
JP2007280303A (ja) * 2006-04-11 2007-10-25 Brother Ind Ltd 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
JP4655986B2 (ja) * 2006-04-12 2011-03-23 ブラザー工業株式会社 ノード装置、記憶制御プログラム及び情報記憶方法
US8688742B2 (en) 2006-05-31 2014-04-01 Red Hat, Inc. Open overlay for social networks and online services
US7792903B2 (en) 2006-05-31 2010-09-07 Red Hat, Inc. Identity management for open overlay for social networks and online services
US8615550B2 (en) * 2006-05-31 2013-12-24 Red Hat, Inc. Client-side data scraping for open overlay for social networks and online services
US8612483B2 (en) * 2006-05-31 2013-12-17 Red Hat, Inc. Link swarming in an open overlay for social networks and online services
US8185584B2 (en) * 2006-05-31 2012-05-22 Red Hat, Inc. Activity history management for open overlay for social networks and online services
US9165282B2 (en) * 2006-05-31 2015-10-20 Red Hat, Inc. Shared playlist management for open overlay for social networks and online services
US8780925B2 (en) 2006-08-17 2014-07-15 Fonality, Inc. Mobile use of a PBX system
US20080242277A1 (en) * 2006-09-29 2008-10-02 Funmobiltiy Inc. Communicating community features for mobile electronic devices
JP4962963B2 (ja) * 2006-10-19 2012-06-27 ヤフー株式会社 ステータス変更情報に関するシステム
US8091032B2 (en) * 2006-11-30 2012-01-03 Red Hat, Inc. Automatic generation of content recommendations weighted by social network context
US20080133475A1 (en) * 2006-11-30 2008-06-05 Donald Fischer Identification of interesting content based on observation of passive user interaction
US9021045B2 (en) * 2006-11-30 2015-04-28 Red Hat, Inc. Sharing images in a social network
US9405827B2 (en) * 2006-11-30 2016-08-02 Red Hat, Inc. Playlist generation of content gathered from multiple sources
US8060827B2 (en) * 2006-11-30 2011-11-15 Red Hat, Inc. Method and system for preloading suggested content onto digital video recorder based on social recommendations
US8176191B2 (en) * 2006-11-30 2012-05-08 Red Hat, Inc. Automated identification of high/low value content based on social feedback
US8812582B2 (en) * 2006-11-30 2014-08-19 Red Hat, Inc. Automated screen saver with shared media
US8463893B2 (en) * 2006-11-30 2013-06-11 Red Hat, Inc. Automatic playlist generation in correlation with local events
US8943210B2 (en) * 2006-11-30 2015-01-27 Red Hat, Inc. Mastering music played among a plurality of users
US8832277B2 (en) * 2006-11-30 2014-09-09 Red Hat, Inc. Community tagging of a multimedia stream and linking to related content
US20080147727A1 (en) * 2006-12-14 2008-06-19 Nortel Networks Limited Media context information
WO2008079823A2 (en) * 2006-12-22 2008-07-03 Palm, Inc. Data processing apparatus and a method of operating data processing apparatus for generating representations of availability status for application programs
US8693659B2 (en) 2007-03-09 2014-04-08 Fonality, Inc. System and method for centralized presence management of local and remote users
US8098810B2 (en) 2007-03-09 2012-01-17 Fonality, Inc. Intelligent presence management in a communication routing system
US8379832B1 (en) 2007-05-03 2013-02-19 Fonality, Inc. Universal queuing for inbound communications
US8291067B2 (en) 2007-06-29 2012-10-16 Microsoft Corporation Providing access to presence information using multiple presence objects
US7890592B2 (en) * 2007-06-29 2011-02-15 Microsoft Corporation Processing data obtained from a presence-based system
US10097695B2 (en) 2007-08-10 2018-10-09 Fonality, Inc. System and method for providing carrier-independent VoIP communication
JP5106958B2 (ja) * 2007-09-14 2012-12-26 株式会社リコー プレゼンス情報処理システム、情報処理装置、プレゼンス文書スキーマ管理サーバ、プレゼンスサーバ及びプレゼンス情報処理プログラム
EP2194679B1 (en) * 2007-09-26 2019-05-15 Alibaba Group Holding Limited A method and system for managing the user information in the instant messaging system
JP5182853B2 (ja) * 2007-10-26 2013-04-17 ソフトバンクモバイル株式会社 通信端末、通信方法、およびプログラム
JP2009208430A (ja) * 2008-03-06 2009-09-17 Ricoh Co Ltd 画像形成装置、画像形成システム、画像形成方法および画像形成プログラム
JP5343383B2 (ja) 2008-03-25 2013-11-13 富士通株式会社 プログラム及び連携方法
WO2010028437A1 (en) * 2008-09-10 2010-03-18 National Ict Australia Limited Identifying relationships between users of a communications domain
US7853712B2 (en) * 2008-09-29 2010-12-14 Eloy Technology, Llc Activity indicators in a media sharing system
US8051136B2 (en) * 2008-10-13 2011-11-01 International Business Machines Corporation Optimizing a presence enabled managed service
US8719386B2 (en) 2009-01-08 2014-05-06 Fonality, Inc. System and method for providing configuration synchronicity
US9443244B2 (en) 2009-03-16 2016-09-13 Fonality, Inc. System and method for utilizing customer data in a communication system
US10318922B2 (en) 2009-03-16 2019-06-11 Fonality, Inc. System and method for automatic insertion of call intelligence in an information system
US20110161791A1 (en) * 2009-12-31 2011-06-30 Travis Amy D Method and system for notification of recent activity on a website
WO2012055013A1 (en) * 2010-10-25 2012-05-03 Research In Motion Limited System and method for enabling applications to communicate using a peer-to-peer (p2p) system
KR101807520B1 (ko) 2011-07-19 2017-12-11 삼성전자주식회사 이동 통신 시스템에서 인증 기반의 인핸스드 어드레스 북 서비스를 제공하기 위한 장치 및 방법
US9137141B2 (en) 2012-06-12 2015-09-15 International Business Machines Corporation Synchronization of load-balancing switches
US8938521B2 (en) * 2012-08-29 2015-01-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Bi-directional synchronization enabling active-active redundancy for load-balancing switches
US9092778B2 (en) 2013-03-15 2015-07-28 Varsgen, Llc Bank account protection method utilizing a variable assigning request string generator and receiver algorithm

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278955A (en) * 1990-06-18 1994-01-11 International Business Machines Corporation Open systems mail handling capability in a multi-user environment
US5432907A (en) * 1992-05-12 1995-07-11 Network Resources Corporation Network hub with integrated bridge
US5446888A (en) * 1994-01-14 1995-08-29 Pyne; Charles F. Remote file transfer method and apparatus
WO1996017306A2 (en) * 1994-11-21 1996-06-06 Oracle Corporation Media server
WO1997019429A1 (en) * 1995-11-20 1997-05-29 Motorola Inc. Displaying graphic messages in a radio receiver
US5802282A (en) * 1995-12-28 1998-09-01 Intel Corporation Recovering missing data during background data transfer in multipoint conferencing
US5943478A (en) * 1997-04-04 1999-08-24 Flash Communications, Inc. System for immediate popup messaging across the internet
US5987515A (en) * 1997-08-29 1999-11-16 International Business Machines Corporation Internet protocol assists using multi-path channel protocol
US6003088A (en) * 1997-08-29 1999-12-14 International Business Machines Corporation Blocking IP datagrams in a multi-path channel point-to-point environment
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
US6463078B1 (en) * 1998-07-22 2002-10-08 Microsoft Corporation Method for switching protocols transparently in multi-user applications
US6490615B1 (en) * 1998-11-20 2002-12-03 International Business Machines Corporation Scalable cache
TW428146B (en) * 1999-05-05 2001-04-01 Inventec Corp Data file updating method by increment
US7286115B2 (en) * 2000-05-26 2007-10-23 Tegic Communications, Inc. Directional input system with automatic correction
US6549937B1 (en) * 1999-07-21 2003-04-15 Microsoft Corporation System and method for multi-protocol communication in a computer network
US6434568B1 (en) * 1999-08-31 2002-08-13 Accenture Llp Information services patterns in a netcentric environment
JP2001175550A (ja) * 1999-12-07 2001-06-29 Kizna.Com Inc クライアントサーバシステム及びクライアントサーバシステムのデータ伝送方法並びにそのプログラムを記録した媒体
US7031956B1 (en) * 2000-02-16 2006-04-18 Verizon Laboratories Inc. System and method for synchronizing and/or updating an existing relational database with supplemental XML data
ES2239564T3 (es) * 2000-03-01 2005-10-01 Sony International (Europe) Gmbh Gestion de datos de perfiles de usuarios.
ATE350857T1 (de) * 2000-05-17 2007-01-15 Ibm System und methode um den aufenthalt oder die verfügbarkeit eines telefonnutzers zu erkennen und die rufnummer im internet zu veröffentlichen
US6453294B1 (en) * 2000-05-31 2002-09-17 International Business Machines Corporation Dynamic destination-determined multimedia avatars for interactive on-line communications
ATE502477T1 (de) * 2000-07-25 2011-04-15 America Online Inc Videonachrichtenübermittlung
US6990452B1 (en) * 2000-11-03 2006-01-24 At&T Corp. Method for sending multi-media messages using emoticons
US7870196B2 (en) * 2000-11-08 2011-01-11 Nokia Corporation System and methods for using an application layer control protocol transporting spatial location information pertaining to devices connected to wired and wireless internet protocol networks
KR100377936B1 (ko) * 2000-12-16 2003-03-29 삼성전자주식회사 이동통신 단말기의 감정 아이콘 입력방법
US7080139B1 (en) * 2001-04-24 2006-07-18 Fatbubble, Inc Method and apparatus for selectively sharing and passively tracking communication device experiences
DE60203798T2 (de) * 2001-05-11 2006-02-09 Nokia Corp. Mobiler instant-messaging- und präsenzdienst
US6983305B2 (en) * 2001-05-30 2006-01-03 Microsoft Corporation Systems and methods for interfacing with a user in instant messaging
US6813690B1 (en) * 2001-06-12 2004-11-02 Network Appliance, Inc. Caching media data using content-sensitive identifiers
US6987991B2 (en) * 2001-08-17 2006-01-17 Wildseed Ltd. Emoticon input method and apparatus
US7765484B2 (en) * 2001-09-28 2010-07-27 Aol Inc. Passive personalization of lists
US7233979B2 (en) * 2002-03-14 2007-06-19 Microsoft Corporation Instant messaging session invite for arranging peer-to-peer communication between applications
US7203356B2 (en) * 2002-04-11 2007-04-10 Canesta, Inc. Subject segmentation and tracking using 3D sensing technology for video compression in multimedia applications
US20030225848A1 (en) * 2002-05-31 2003-12-04 Brian Heikes Remote instant messaging personalization items
US7689649B2 (en) * 2002-05-31 2010-03-30 Aol Inc. Rendering destination instant messaging personalization items before communicating with destination
US7779076B2 (en) * 2002-05-31 2010-08-17 Aol Inc. Instant messaging personalization
US20030217142A1 (en) * 2002-05-15 2003-11-20 Microsoft Corporation Method and system for supporting the communication of presence information regarding one or more telephony devices
US7552204B2 (en) * 2002-05-15 2009-06-23 Microsoft Corporation Method and system for supporting the communication of presence information among computing devices of a network
US20030225847A1 (en) * 2002-05-31 2003-12-04 Brian Heikes Sending instant messaging personalization items
US7657597B2 (en) * 2002-09-26 2010-02-02 Sun Microsystems, Inc. Instant messaging using distributed indexes
AU2003291043A1 (en) * 2002-11-18 2004-06-15 America Online, Inc. Handling a multimedia object associated with an electronic message
US7289520B2 (en) * 2002-11-20 2007-10-30 Hewlett-Packard Development Company, L.P. Method, apparatus, and system for expressway routing among peers
US7523165B2 (en) * 2002-12-24 2009-04-21 Telefonaktiebolaget L M Ericsson (Publ) Transmission of application information and commands using presence technology
US7185285B2 (en) * 2003-02-19 2007-02-27 Microsoft Corporation User interface and content enhancements for real-time communication
US7296223B2 (en) * 2003-06-27 2007-11-13 Xerox Corporation System and method for structured document authoring
JP3788447B2 (ja) * 2003-06-30 2006-06-21 株式会社日立製作所 セッション制御サーバ、プレゼンスサーバ、セッション制御装置、当該セッション制御装置に適用されるソフトウェア、セッション制御方法、およびネットワークシステム
WO2005017660A2 (en) * 2003-07-01 2005-02-24 Apple Computer, Inc. Peer-to-peer content sharing
US7539727B2 (en) * 2003-07-01 2009-05-26 Microsoft Corporation Instant messaging object store
JP4046654B2 (ja) * 2003-07-04 2008-02-13 日本電信電話株式会社 P2p通信システム
AU2003903994A0 (en) * 2003-07-31 2003-08-14 Canon Kabushiki Kaisha Collaborative editing with automatic layout
US7315866B2 (en) * 2003-10-02 2008-01-01 Agency For Science, Technology And Research Method for incremental authentication of documents
US7437374B2 (en) * 2004-02-10 2008-10-14 International Business Machines Corporation Efficient XML schema validation of XML fragments using annotated automaton encoding
US20060015560A1 (en) * 2004-05-11 2006-01-19 Microsoft Corporation Multi-sensory emoticons in a communication system
US20050273472A1 (en) * 2004-06-04 2005-12-08 Prakash Reddy Verifying incremental updates to hierarchicaly structured information
TWI262678B (en) * 2004-06-30 2006-09-21 Inst Information Industry Peer-to-peer communication system, method and machine-readable storage medium
US7437364B1 (en) * 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US7302270B1 (en) * 2004-08-02 2007-11-27 Cisco Technology, Inc. Time interval processing and annotation in presence systems
US7552430B2 (en) * 2004-08-31 2009-06-23 Microsoft Corporation Patch sequencing
US20100177048A1 (en) * 2009-01-13 2010-07-15 Microsoft Corporation Easy-to-use soft keyboard that does not require a stylus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101039555B1 (ko) * 2010-03-30 2011-06-09 주식회사 엘지유플러스 프레즌스 서비스 제공 단말기, 이를 포함하는 프레즌스 서비스 제공 시스템 및 그 제공 방법
US9134873B2 (en) 2010-09-28 2015-09-15 Qualcomm Incorporated Apparatus and methods for presenting interaction information
WO2016190657A1 (ko) * 2015-05-26 2016-12-01 김태정 단말 및 단말의 동작 방법

Also Published As

Publication number Publication date
CA2533373A1 (en) 2006-08-28
JP4824429B2 (ja) 2011-11-30
EP1703453A2 (en) 2006-09-20
EP1703453B1 (en) 2015-11-11
EP1703453A3 (en) 2006-11-08
CN1829226A (zh) 2006-09-06
MXPA06001215A (es) 2006-09-19
US20060195532A1 (en) 2006-08-31
BRPI0600185A (pt) 2007-07-17
JP2006244494A (ja) 2006-09-14
CN1829226B (zh) 2011-03-23
KR101545912B1 (ko) 2015-08-24

Similar Documents

Publication Publication Date Title
KR101545912B1 (ko) 인스턴트 메시징의 융통성있는 확장된 프리젠스 문서능력을 용이하게 하기 위한 프로세서 액세스가능 매체 및방법
US10938754B2 (en) Instant messaging communication system and method
US8001187B2 (en) Peer-to-peer active content sharing
US10218657B2 (en) Method and system for providing private chat within a group chat
KR101095092B1 (ko) 피어투피어 네트워크에서 복수의 수신자로의 부하 분산된 데이터 분배
US9578081B2 (en) System and method for providing an actively invalidated client-side network resource cache
US8886718B2 (en) Providing personalized platform application content
US7660852B2 (en) Meeting structures and global unique identifiers
US7693958B2 (en) Instant messaging with data sharing
US8775562B2 (en) Mapping file fragments to file information and tagging in a segmented file sharing system
US10904168B2 (en) System and method for providing digital media content with a conversational messaging environment
CN109565518B (zh) 用于可互换的内容取回的方法和系统
JP7397094B2 (ja) リソース構成方法、リソース構成装置、コンピューター機器、及びコンピュータープログラム
JP5893050B2 (ja) ソーシャル・メデイアにおけるコミュニティを検出する方法、コンピュータ・プログラム、コンピュータ
KR20090006504A (ko) 아이피 멀티미디어 서브시스템에서 피투피 서비스 제공방법 및 장치
JP2012528378A (ja) 遺伝子情報を用いたマルチメディアコンテンツファイル管理システム及びその方法
WO2005017660A2 (en) Peer-to-peer content sharing
CN114827074B (zh) 社交消息处理方法、装置、服务器、终端及介质
WO2015109730A1 (zh) 一种实现多媒体传输的方法及终端、服务器
JP2010067072A (ja) 保存指示装置、ノード装置、及び保存指示処理プログラム、ノード処理プログラム及び保存指示方法

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20131030

Effective date: 20150416

Free format text: TRIAL NUMBER: 2013101007802; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20131030

Effective date: 20150416

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
N231 Notification of change of applicant
FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 4