KR101319640B1 - 네트워크상의 존재 정보를 발견하고 공개하도록 지시되는사용자 인터페이스를 위한 시스템 및 방법 - Google Patents

네트워크상의 존재 정보를 발견하고 공개하도록 지시되는사용자 인터페이스를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101319640B1
KR101319640B1 KR1020057007611A KR20057007611A KR101319640B1 KR 101319640 B1 KR101319640 B1 KR 101319640B1 KR 1020057007611 A KR1020057007611 A KR 1020057007611A KR 20057007611 A KR20057007611 A KR 20057007611A KR 101319640 B1 KR101319640 B1 KR 101319640B1
Authority
KR
South Korea
Prior art keywords
user
network
user interface
local
pnm
Prior art date
Application number
KR1020057007611A
Other languages
English (en)
Other versions
KR20070015838A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=35188342&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101319640(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20070015838A publication Critical patent/KR20070015838A/ko
Application granted granted Critical
Publication of KR101319640B1 publication Critical patent/KR101319640B1/ko

Links

Images

Classifications

    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • 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
    • 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]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
    • 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/21Monitoring or handling of messages
    • H04L51/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

네트워크상에서 사용자들의 존재를 공개 및 발견하도록 지시되는 사용자 인터페이스를 위한 시스템 및 방법이 제공된다. 네트워크상의 인접 사용자들에 대한 존재 정보를 지엽적으로 눈에 띄지 않게 디스플레이하는 사이드바 타일이 제공된다. 사이드바 타일은, 로컬 사용자들의 정보 또한 네트워크를 통해 공개되고 있다는 것을 로컬 사용자에게 통지하는데도 사용된다. 사이드바 타일은 존재 발견 서비스를 변경, 인에이블, 또는 디스에이블할 것을 선택할 수 있는 옵션들을 제공한다.
존재 정보, 사이드바 타일, 로컬 사용자, PNM(people near me), 공개, 발견

Description

네트워크상의 존재 정보를 발견하고 공개하도록 지시되는 사용자 인터페이스를 위한 시스템 및 방법{SYSTEM AND METHOD FOR A USER INTERFACE DIRECTED TO DISCOVERING AND PUBLISHING PRESENCE INFORMATION ON A NETWORK}
존재의 개념이 점차적으로 애플리케이션들의 네트워킹 및 실시간 통신의 전면으로 부각되어 왔다. 존재는 흔히, 사용자가 온라인이며 이용 가능한지의 여부를 검출하는 능력을 의미한다. 존재 정보를 이용하는 애플리케이션의 일례가 IM(Instant Messenger) 프로그램이다. IM 프로그램은, 인터넷 또는 네트워크를 통해 다른 IM 사용자들에게 인스턴트 메시지들을 송신하는 방법을 사용자에게 제공한다. IM은, 사용자가 인터넷을 통해 실시간으로 통신하기 위해 다른 사람과 일종의 전용 채팅 룸을 개설할 수 있게 하는 통신 서비스의 일종이다. IM은 전화 통화와 유사하지만, 음성-기반이 아니라 텍스트-기반 통신을 사용한다. 통상적으로, 인스턴트 메시징 시스템은, 사용자 전용 리스트상의 누군가가 온라인 상태에 있을 때마다, 사용자에게 경보한다. 그러면, 사용자는 특정한 그 사람과 채팅 세션을 개시할 수 있다.
그러나, IM 및 다른 유사한 애플리케이션들을 위한 존재는, 사용자에 의해 이미 확립되어 있는 컨택트와 직접적으로 관련되어 있는 존재 정보에 한정되어 있었다. 사용자의 열거된 컨택트 외부의 다른 사용자들의 존재는 획득될 수 없었다. 네트워크상에 어떤 장치들이 존재하는지를 발견하기 위한 다른 애플리케이션들은 허용되어 왔지만, 사용자들에 대해서는 아니었다. 제공된 존재 정보는 번거롭거나 몹시 눈에 띄는 사용자 인터페이스들에 의해 디스플레이되었다. 예를 들어, 사용자의 관점에서, 존재 정보를 디스플레이하기 위해서는, IM 애플리케이션을 열어 실행시켜야 한다.
<발명의 개요>
본 발명은 일반적으로 네트워크상의 사용자들에 대한 존재 정보를 공개 및 발견하도록 지시되는 사용자 인터페이스를 위한 시스템 및 방법을 제공하는 것에 관한 것이다. 사용자 인터페이스는, 네트워크상의 인접 사용자들의 존재를 제공하면서, 네트워크상의 로컬 사용자의 공개에 대한 지엽적이며 눈에 띄지 않는 통지(peripheral and unobtrusive notification)를 제공한다. 본 발명은, 다양한 타일들을 포함하는, 로컬 사용자의 데스크탑상에 제공되는 사이드바를 이용한다. 다양한 타일들은, 로컬 사용자에 의해 선택됨에 따라 상이한 기능을 제공한다. 본 발명을 위해, 존재 정보는 사이드바의 타일들 중 하나로서 제공된다. 따라서, 존재 정보는 로컬 사용자의 컴퓨팅 장치에서 실행 중인 다른 애플리케이션들에 지엽적으로 제공된다. 사용자가 사이드바 타일을 인에이블링할 때, 존재 정보는, 그것이 사용자에 의해 지속적으로 보여질 수 있도록, 제공되며 업데이트된다. 그러나, 이 정보는, 로컬 사용자들이 그들의 컴퓨팅 장치에서 작업할 때, 업데이트들이 로컬 사용자의 눈에 띄지 않도록 제공된다. 예를 들어, 사이드바 타일은 단순히 인접 사용자들의 수를 포함할 수 있다. 이 수는, 사람들이 네트워크에 들어오고 나감에 따라 업데이트된다. 따라서, 존재 정보가 로컬 사용자에게 강제적으로 푸시(push)되지 않는 상태에서, 로컬 사용자는 제공되는 존재 정보의 변화를 알아차릴 수 있다.
또한, 사이드바 타일은 존재 발견 서비스의 변화하는 양상들에 대한 선택들을 제공한다. 로컬 사용자는 사이드바 타일로부터 존재 발견 서비스를 인에이블 또는 디스에이블할 수 있으며, 또는 심지어 사이드바 타일 자체를 디스에이블할 것을 선택할 수도 있다.
본 발명의 일 양상에 따르면, 네트워크상의 존재 정보를 발견 및 공개하도록 지시되는 사용자 인터페이스를 위한 컴퓨터 구현 방법이 제공된다. 본 방법은, 로컬 사용자가 네트워크상에 존재하는지의 여부 및 인접 사용자가 네트워크상에 존재하는지의 여부를 판정한다. 네트워크상의 로컬 사용자의 존재 및 인접 사용자의 존재에 대한 지엽적이며 눈에 띄지 않는 통지를 위한 사용자 인터페이스 부분이 예시된다. 그 다음, 로컬 사용자의 존재 및 인접 사용자의 존재는, 로컬 사용자가 네트워크상에 존재하는 것으로 판정될 때, 사용자 인터페이스의 부분에 디스플레이된다.
도 1은 본 발명의 실시예들에 따라 사용될 수 있는 예시적인 컴퓨팅 장치를 도시한다.
도 2는 사실상 본 발명에 사용하기 위한 모바일 장치에 대한 다른 동작 환경을 나타낸다.
도 3은 데스크탑내의 예시적 사이드바를 도시한다.
도 4는 네트워크상의 인접한 존재 정보의 발견 및 공개를 위한 시스템의 기능 블록도를 도시한다.
도 5는 네트워크상의 인접한 존재 정보의 발견 및 공개를 위한 시스템의 다른 기능 블록도를 도시한다.
도 6은 존재 정보를 저장하기 위한 파일 시스템에 대응되는 예시적인 파일 구조들을 도시한다.
도 7은 네트워크상의 인접 사용자들의 존재에 대한 공개 및 발견과 관련된 예시적인 사이드바 타일들을 도시한다.
도 8은 네트워크상의 존재 정보의 공개 및 발견을 위한 사용자 인터페이스를 구현하기 위한 예시적인 상태 도표를 도시한다.
도 9는, 본 발명에 따른, 인접 사용자의 존재 통지에 관한 예시적인 식별 정보 확인을 도시한다.
이하에서는, 본 발명의 일부를 형성하며, 일례로서, 본 발명을 실시하기 위한 구체적인 실시예들을 나타내는 첨부 도면들을 참조하여, 본 발명을 보다 상세하게 설명할 것이다. 그러나, 본 발명은, 여타의 많은 형태들로 구현될 수 있으므로, 여기에서 기술된 실시예들에 한정되는 것으로 해석되어서는 안되며, 오히려, 이러한 실시예들은, 본 개시가 완전하고 완벽해지며 당업자들에게 본 발명의 범위를 충분히 전달하기 위해, 제공된다. 다른 것들 중에서도, 본 발명은 방법들 또는 장치들로서 구현될 수 있다. 따라서, 본 발명은 전반적인 하드웨어 실시예, 전반적인 소프트웨어 실시예, 또는 소프트웨어와 하드웨어 양상들을 조합하는 실시예의 형태를 취할 수 있다. 따라서, 다음의 상세한 설명은 한정적인 의미를 갖지 않는다.
예시적인 동작 환경
도 1을 참조하면, 본 발명을 구현하기 위한 예시적 일 시스템은, 컴퓨팅 장치(100)와 같은, 컴퓨팅 장치를 포함한다. 컴퓨팅 장치(100)는, 존재 정보의 발견 및 공개를 제공하는 클라이언트, 서버, 모바일 장치, 또는 임의의 다른 컴퓨팅 장치로서 구성될 수 있다. 아주 기본적인 구성에서, 컴퓨팅 장치(100)는 통상적으로 하나 이상의 프로세싱 유닛(102) 및 시스템 메모리(104)를 포함한다. 컴퓨팅 장치의 정확한 구성 및 유형에 따라, 시스템 메모리(104)는 (RAM과 같은) 휘발성, (ROM, 플래시 메모리 등과 같은) 비휘발성, 또는 양자의 어떤 조합일 수 있다. 시스템 메모리(104)는 통상적으로 오퍼레이팅 시스템(105), 하나 이상의 애플리케이션들(106), 및 프로그램 데이터(107)를 포함할 수 있다. 일 실시예에서, 애플리케이션(106)은 PNM 애플리케이션(120;people near me application)을 포함할 수 있다. 이러한 기본 구성이 점선(108)내의 컴포넌트들에 의해 도 1에 도시되어 있다.
컴퓨팅 장치(100)는 추가적인 특징들 또는 기능을 가질 수 있다. 예를 들어, 컴퓨팅 장치(100)는, 자기 디스크들, 광학 디스크들, 또는 테이프와 같은, (분리형 및/또는 비-분리형의) 추가적인 데이터 저장 장치들을 포함할 수도 있다. 분리형 저장 장치(109) 및 비-분리형 저장 장치(110)에 의해, 이러한 추가적 저장 장 치가 도 1에 도시되어 있다. 컴퓨터 저장 매체들은, 컴퓨터 판독 가능 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은, 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비-분리형 매체들을 포함할 수 있다. 시스템 메모리(104), 분리형 저장 장치(109), 및 비-분리형 저장 장치(110)는 모두 컴퓨터 저장 매체의 예들이다. 컴퓨터 저장 매체들은 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disks) 또는 다른 광학 저장 장치, 자기 카세트들, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치들, 또는 소정 정보를 저장하는데 사용될 수 있으며 컴퓨팅 장치(100)에 의해 액세스될 수 있는 임의의 여타 매체를 포함하지만, 이에 한정되는 것은 아니다. 임의의 이러한 컴퓨터 저장 매체들은 장치(100)의 일부일 수 있다. 또한, 컴퓨팅 장치(100)는, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등과 같은, 입력 장치(들)(112)을 가질 수도 있다. 또한, 디스플레이, 스피커들, 프린터 등과 같은, 출력 장치(들)(114)이 포함될 수도 있다.
또한, 컴퓨팅 장치(100)는, 장치가 네트워크 등을 통해 다른 컴퓨팅 장치들(118)과 통신할 수 있게 하는 통신 접속들(116)을 포함할 수도 있다. 통신 접속(116)은 통신 매체의 일례이다. 통신 매체는 통상적으로 컴퓨터 판독 가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는, 반송파나 다른 전송 메커니즘과 같은, 변조 데이터 신호의 다른 데이터에 의해 구현되며 임의의 정보 전달 매체들을 포함한다. "변조 데이터 신호"라는 용어는, 그것에 대한 특징들의 세트 중 하나 이상 을 갖거나 정보를 신호로 인코딩하는 방식으로 변경된 신호를 의미한다. 한정이 아닌 일례로서, 통신 매체는 유선 네트워크 또는 직접-유선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 여기에서 사용되는 컴퓨터 판독 가능 매체라는 용어는 저장 매체 및 통신 매체 모두를 포함한다.
도 2는, 사실상 본 발명에 사용하기 위한 모바일 장치에 대한 다른 동작 환경을 나타낸다. 본 발명의 일 실시예에서, 모바일 장치(200)는, 통합된 PDA와 무선 전화기와 같은, 컴퓨팅 장치로서 통합된다.
이 실시예에서, 모바일 장치(200)는 프로세서(260), 메모리(262), 디스플레이(228), 및 키패드(232)를 가진다. 메모리(262)는 일반적으로 휘발성 메모리(예를 들어, RAM) 및 비휘발성 메모리(예를 들어, ROM, 플래시 메모리 등) 모두를 포함한다. 모바일 장치(200)는, 메모리(262)에 상주하며 프로세서(260)에서 실행되는 오퍼레이팅 시스템(264)을 포함한다. 키패드(232)는 (통상적인 전화기에서와 같은) 푸시 버튼의 숫자 다이얼 패드 또는 (종래의 키보드와 같은) 다중-키 키보드일 수 있거나, 터치 스크린 또는 스틸러스의 경우라면 모바일 장치에 포함되지 않을 수도 있다. 디스플레이(228)는 액정 디스플레이이거나, 모바일 컴퓨팅 장치들에 흔히 사용되는 임의의 여타 유형의 디스플레이일 수 있다. 디스플레이(228)는 접촉식일 수 있으며, 그렇다면 입력 장치로 동작할 수도 있다.
하나 이상의 애플리케이션 프로그램들(266)이 메모리(262)에 로딩되며 오퍼레이팅 시스템(264)상에서 실행된다. 애플리케이션 프로그램들의 예들로는 폰 다 이얼러 프로그램들, 이-메일 프로그램들, 스케줄링 프로그램들, PIM(personal information management) 프로그램들, 워드 프로세싱 프로그램들, 스프레드시트 프로그램들, 인터넷 브라우저 프로그램들 등을 들 수 있다. 일 실시예에서, 애플리케이션 프로그램들(266)은 PNM(people near me) 애플리케이션(280)을 포함한다. 모바일 장치(200)는 메모리(262)내에 비-휘발성 저장 장치(268)도 포함한다. 비-휘발성 저장 장치(268)는, 모바일 장치(200)가 전원 차단되더라도 상실되지 말아야 하는 영속적인 정보를 저장하는데 사용될 수 있다. 애플리케이션들(266)은, 이-메일 애플리케이션에 의해 사용되는 이-메일 또는 다른 메시지들, PIM에 의해 사용되는 컨택트 정보(contact information), 스케줄링 프로그램에 의해 사용되는 약속 정보, 워드 프로세싱 애플리케이션에 의해 사용되는 문서들 등과 같은, 정보를 사용할 수 있으며 저장 장치(268)에 저장할 수 있다. 모바일 장치에 동기화 애플리케이션이 상주할 수도 있으며, 호스트 컴퓨터에 저장되어 있는 대응 정보와 저장 장치(268)에 저장되어 있는 정보를 동기화하기 위해, 호스트 컴퓨터에 상주하는 대응 동기화 애플리케이션과 상호 작용하도록 프로그램된다.
모바일 장치(200)는, 하나 이상의 배터리들로 구현될 수 있는 전원(270)을 가진다. 전원(270)은, 배터리들을 보충하거나 충전하는 AC 어댑터 또는 전지식 도킹 크래들(powered docking cradle)과 같은, 외부 전원을 추가적으로 포함할 수도 있다.
또한, 모바일 장치(200)는 2가지 유형의 외부 통지 메커니즘들: LED(240) 및 오디오 인터페이스(274)를 갖는 것으로 도시되어 있다. 이러한 장치들은, 활성화 될 경우, 프로세서(260) 및 다른 컴포넌트들은 전원을 보존하기 위해 차단되더라도, 통지 메커니즘에 의해 지시되는 구간 동안 온 상태를 유지하도록, 전원(270)에 직접 결합될 수 있다. LED(240)는, 사용자가 장치의 전원-온 상태를 지시하기 위한 동작을 취할 때까지, 계속해서 온 상태를 유지하도록 프로그램될 수 있다. 오디오 인터페이스(274)는 사용자에게 가청 신호들을 제공하고 사용자로부터 가청 신호들을 수신하는데 사용된다. 예를 들어, 오디오 인터페이스(274)는, 전화 통화 등을 용이하게 하기 위해, 가청 출력을 제공하기 위한 스피커 및 가청 입력을 수신하기 위한 마이크로폰에 결합될 수 있다.
또한, 모바일 장치(200)는, 무선 주파수 통신의 송수신 기능을 수행하는 라디오(272)를 포함할 수도 있다. 라디오(272)는, 통신 캐리어 또는 서비스 제공자를 통해, 모바일 장치(200)와 외부 세계간의 무선 접속을 용이하게 한다. 라디오(272)와의 전송은 오퍼레이팅 시스템(264)의 제어에 따라 수행된다. 다시 말해, 라디오(272)에 의해 수신된 통신은 오퍼레이팅 시스템(264)을 통해 애플리케이션 프로그램들(266)에 유포될 수 있고, 그 반대일 수도 있다.
라디오(272)로 인해, 모바일 장치(200)는 네트워크 등을 통해 다른 컴퓨팅 장치들과 통신할 수 있다. 라디오(272)는 통신 매체의 일례이다. 통신 매체는 통상적으로 컴퓨터 판독 가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는, 반송파 또는 다른 전송 메커니즘과 같은, 변조 데이터 신호의 다른 데이터에 의해 구현되며 임의의 정보 전달 매체들을 포함한다. "변조 데이터 신호"라는 용어는, 그것에 대한 특징들의 세트 중 하나 이상을 갖거나 정보를 신호로 인코딩하는 방식으로 변경된 신호를 의미한다. 한정이 아닌 일례로서, 통신 매체는 유선 네트워크 또는 직접-유선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 여기에서 사용되는 컴퓨터 판독 가능 매체라는 용어는 저장 매체 및 통신 매체 모두를 포함한다.
예시적인 존재 발견 및 공개 시스템
본 발명은 일반적으로, 사용자와 인접한 사람들의 존재 정보를 발견할 뿐만 아니라 사용자의 존재를 인접한 사람들에게 공개하도록 지시되는 사용자 인터페이스를 위한 시스템을 제공한다. 여기에서 사용되는 바와 같이, "인접"이라는 용어는, 사용자와 네트워크 또는 물리적 근접함내에서 접속되어 있는 사람들을 의미한다. 예를 들어, 그들의 장치들이 동일한 LAN내에서 접속되어 있는 사람들은 서로 "인접"한 것으로 간주될 수 있다. 또한, 그들의 장치들이 동일한 네트워크에 접속되어 있는 사람들도 서로 "인접"한 것으로 간주될 수 있다. 또한, 링크-로컬 네트워크(link-local network)상에 존재하는 사용자들도 "인접"한 것으로 간주될 수 있다. 다른 방법으로, 같은 방에 있는 사람들이 "인접"한 것으로 간주되는 사람들이도록, 물리적 위치의 지시가 존재 정보에 포함될 수도 있다. 본 출원에서 "인접"의 사용은 단일 레벨의 근접함으로 한정되지 않으며, 또는 사용자와 "인접"한 것으로 지시되는 사람들간의 직접적인 접근을 요하지도 않는다. "인접"은, 그 사람 또는 그들과 관련된 장치(예를 들어, 컴퓨팅 장치, 모바일 장치 등)에 대한 물리적 위치 또는 네트워크 위치에 기초하는 사용자들간의 어떤 관계에 대해 지시될 수 있다.
도 3은, 본 발명에 따른, 데스크탑내의 예시적인 사이드바를 도시한다. 데스크탑(300)의 사이드바(310)는, 컴퓨팅 세션 동안 사용자에게 다양한 정보를 제공하는 타일들(예를 들어, 320)을 포함한다. 예를 들어, 사이드바(310)내의 타일들은 미디어 정보, 이-메일 통지들, 스케줄 통지들 뿐만 아니라 다른 정보도 포함할 수 있다. 각각의 타일은, 아이콘들 및 타일들을 서로 구별하는 다른 콘텐츠를 포함할 수 있다. 또한, 본 발명에 따르면, 지엽적으로 그리고 눈에 띄지 않게 사용자에게 존재 정보를 제공하는 PNM(people near me) 사이드바 타일(330)도 포함된다.
예시적인 PNM 사이드바 타일(330)은 사용자에 의해 공개된 존재 지시자(332), 다른 사용자들의 존재에 대한 통지(334), 및 보다 상세한 존재 정보를 보기 위한 선택(336)을 포함한다. 이 예에서, 지시자(332)는, 네트워크의 다른 사용자들에게 공개되는, 사용자에 의해 선택된 별명을 제공한다. 통지(334)는, 현재 사용자에게 인접한 것으로 간주되는, 동적으로 업데이트되는 사용자들의 수를 제공한다(예를 들어, 23 users are nearby). 선택(336)은 네트워크상의 다른 사용자들의 존재에 관한 좀더 상세한 정보로의 링크를 제공한다. 예를 들어, 사용자가 선택(336)을 선택할 경우, 사용자에게 상세한 정보를 제공하기 위해, 윈도우(340)가 열린다.
윈도우(340)는 사용자에게 네트워크상의 인접 사용자들에 대한 좀더 상세한 정보를 제공한다. 일 실시예에서, 윈도우(340)내의 정보는, 컴퓨팅 장치와 관련되어 있는 컨택트 애플리케이션(contacts application)에 의해 제공되는 컨택트 정보 와 함께 존재 정보를 포함한다. 예를 들어, 윈도우(340)의 상세한 정보는 오프라인 상태인 컨택트 및 온라인 상태인 컨택트에 대한 구별을 포함할 수 있다. 네트워크상에 존재하는 사용자들 및 컨택트의 다른 세부 사항들도 윈도우(340)를 통해 제공될 수 있다. 일 실시예에서, 윈도우(340)는, 사이드바 타일의 컴포넌트인 "플라이아웃(flyout)" 또는 윈도우이다. 다른 실시예에서, 윈도우(340)는 컨택트 애플리케이션에 의해 생성되고 PNM 정보는 컨택트 UI내의 포함을 위해 컨택트 애플리케이션에 제공된다.
도 4는, 본 발명에 따른, 네트워크상의 인접 존재 정보의 발견 및 공개를 위한 시스템의 기능 블록도를 도시한다. 시스템(400)은 PNM 사이드바 타일(410)(도 3 참고), 로버(rover;420), SSDP(simple service discovery protocol) 계층(430), 파일 시스템(440), 및 네트워킹 계층(450)을 포함한다. 로버(420)는 PNM 컴포넌트(422)를 포함한다.
PNM 사이드바 타일(410)은, 사용자에게 인접하다고 생각되는 사람들에 대한 지엽적이며 눈에 띄지 않는 통지를 사용자에게 제공하는 사용자 인터페이스이다. PNM 사이드바 타일(410)은 다음의 도 7 및 도 8의 논의들과 관련하여 보다 상세하게 부연된다.
SSDP 계층(430)은 네트워크상의 존재 정보를 발견 및 공개하기 위한 프로토콜을 제공한다. SSDP 계층(430)은 네트워크상의 장치들의 접속을 위한 UPnP(universal plug and play) 프로토콜의 서브세트 프로토콜로 간주된다. UPnP는 기존 프로토콜들 및 기술들 위에 구축된다. 예를 들어, UPnP는 TCP/IP, UDP/IP, 및 HTTP 프로토콜들을 기본으로 사용한다. 이러한 기본 프로토콜들 이외에, SSDP와 같은, UPnP 네트워킹의 다양한 단계들 및 위상들을 구현하기 위해, 수 개의 다른 프로토콜들이 이것들 위에 구축된다. SSDP 계층(430)에 따라 전송되고 수신된 PNM 메시지들의 형태는 다음의 도 5와 관련하여 보다 상세히 부연된다.
파일 시스템(440)은 사용자와 인접한 사람들의 존재에 관한 정보에 대한 확장 가능한 저장 위치를 제공한다. 일 실시예에서, 파일 시스템(440)은 Washington, Redmond의 Microsoft Corporation에 의해 생성된 WinFS 파일 시스템이다. 파일 시스템(440)은, 하나 이상의 UI(user interface)를 통해 PNM 정보가 제시되며 다른 데이터베이스들에서의 사용을 위해 PNM 정보를 다른 데이터베이스들로 링크하도록 정렬된다. 예를 들어, 파일 시스템(440)은, 사용자의 컨택트가 저장되는 컨택트 폴더를 포함할 수 있다. PNM 정보는, 열거된 컨택트 중 어떤 것이 사용자에게 인접한 것으로 간주되는지를 사용자에게 지시하는데 사용될 수 있다. 다수 애플리케이션들에 걸쳐 PNM 정보의 분배 및 사용을 제공하기 위해, PNM 정보와 다른 데이터간의 다른 관계들이 형성될 수도 있다.
네트워킹 계층(450)은 드라이버들을 포함하며 PNM 정보의 통신을 위해 네트워크에 액세스한다. 네트워크는 인터넷이거나 구내망일 수 있다. 네트워킹 계층(450)을 통해 다른 사람들의 존재 정보가 수신되는 동안, 네트워킹 계층(450)을 통해 사용자의 존재가 공개된다. 네트워킹 계층(450)의 구조는, 본 발명에 따른 존재 정보의 발견 및 공개를 가능하게 하는 임의의 구조일 수 있다.
로버(420)의 PNM 컴포넌트(422)는 PNM 사이드바 타일(410), SSDP 계층(430), 및 파일 시스템(440)간에 조정 및 통신을 제공한다. PNM 컴포넌트(422)는 SSDP 계층(430)을 통해 네트워크상의 존재 정보에 대한 업데이트들을 지시하는 이벤트들을 수신한다. 또한, PNM 컴포넌트(422)는 사용자 존재의 공개에 관해 사용자에 의해 선택된 변화들 및 PNM 사이드바 타일(410)에 의한 존재 정보의 디스플레이에 대한 변화들을 수신한다. PNM 컴포넌트(422)는, PNM 사이드바 타일(410) 및 SSDP 계층(430)으로부터의 변화들에 응답하여, 파일 시스템(440)내의 존재 데이터에 변화들을 제공한다.
도 5는, 본 발명에 따른, 네트워크상의 인접 존재 정보의 발견 및 공개를 위한 시스템의 다른 기능 블록도를 도시한다. PNM 기능의 연산과 관련하여 좀더 상세하게 도시되어 있는 시스템(500)은 도 4의 시스템(400)과 유사하다. 시스템(500)은 PNM 사이드바 타일(502), PNM 공개 펑크션(504), PNM 발견 펑크션(506), PNM 고수 펑크션(508;PNM persist function), SSD 계층(510), 네트워킹 계층(512), 컨택트 사용자 인터페이스(514), 파일 시스템(516), 및 PNM 폴더(518)를 포함한다.
PNM 사이드바 타일(502)은 도 4에 나타낸 PNM 사이드바 타일(410)과 유사하며, 사용자로 하여금 PNM 기능에 대한 변경들을 형성하며 PNM 시스템에 의해 제공되는 존재 정보를 볼 수 있게 하는데 사용된다. 나타낸 예에서, PNM 사이드바 타일(502)은 인접한 사람들의 수 및 PNM 사이드바 타일(502)에 의해 제시되는 다른 정보를 위해 직접적으로 파일 시스템(516)을 조회한다. 다른 실시예에서, PNM 사이드바 타일(502)은 컨택트 애플리케이션을 위한 사용자 인터페이스(예를 들어, 컨택트 UI(514))와 통신한다. 컨택트 사용자 인터페이스는, 컨택트 UI(514)를 사용 해 PNM 정보를 제시하기 위해, PNM 사이드바 타일(502)과 파일 시스템(516) 사이를 조정한다.
PNM 공개 펑크션(504)은 네트워크상의 로컬 사용자에 관한 데이터를 공개한다. SSDP 계층(510)은, 로컬 사용자가 온라인 상태라는 것을 지시하는 데이터를 활성 패킷(alive packet)으로서 공개하고, 데이터는 사용자의 디스플레이 이름과 같은 정보를 포함한다. 활성 패킷은, 로컬 사용자가 네트워크상에 존재하며 이용 가능하다는 것을 지시한다. 활성 패킷으로 공개된 추가적인 정보는, 로컬 사용자의 머신 어드레스로 변환되는 공유 어드레스를 포함한다. 추가적인 실시예에서, 활성 패킷은, 사용자로 하여금 네트워크상에 존재하는 사용자의 식별 정보를 확인할 수 있게 하는, 공개 키 및/또는 비밀 키와 같은, 식별 정보 확인 데이터를 포함할 수 있다. 인접한 사람들의 식별 정보 확인을 위한 프로세스는 도 9의 논의와 관련하여 좀더 상세하게 후술된다.
또한, 로컬 사용자가 PNM 서비스를 디스에이블할 것을 선택하는 것에 응답하여, SSDP 계층(510)에 의해 "bye-bye" 메시지가 공개된다. bye-bye 메시지는, 네트워크에 제공되는, 네트워크상의 로컬 사용자의 존재가 중단되는 중이라는 통지를 의미한다.
또한, 최대 수명 특성과 같은, SSDP 프로토콜에 관한 다른 정보도 공개된다. 최대 수명 특성은 SSDP 메시지의 캐시 제어 헤더(cache control header)에 포함되며, 로컬 사용자의 PNM 서비스가 유효한 초 수를 의미한다. 일례에서, 최대 수명 특성은, bye-bye 메시지가 공개되지 않고, PNM 서비스가 갑자기 종료되는 경우에 제공된다. 최대 수명 특성의 만료는, 네트워크상의 소정 사용자의 존재가 만료되었으며 더 이상 존재하지 않는다는 것을 다른 사용자들에게 통지한다. 로컬 사용자가 PNM 서비스를 인에이블로 유지하는 동안에는, 최대 수명 특성을 갱신하는 활성 패킷들이 네트워크를 통해 계속적으로 공개되어, 네트워크상의 로컬 사용자의 존재에 대한 지시들이 유지된다.
또한, SSDP 활성 패킷 및 bye-bye 메시지의 캐시 제어 헤더에는 서비스 ID가 공개된다. 서비스 ID는, 네트워크상에 존재하는 사용자들 각각을 고유하게 식별한다.
다른 실시예에서, PNM 공개 펑크션(504)은, 네트워크상의 인접 사용자에게 제공될 데이터의 일부만을 메시지 또는 패킷 형태로 공개한다. 그 대신, 나머지 데이터는, 인접 사용자에 의한 요청에 응답하여 로컬 사용자에 의해 확립된 전용 포트를 사용해 인접 사용자에게 제공된다. 이러한 조합된 통신 방법들을 사용해 인접 사용자들에게 데이터를 제공하는 것은 패킷들의 크기를 감소시키며 네트워크를 통한 처리 속도를 증가시켜 존재 통지들을 보다 신속하게 업데이트할 수 있다.
또한, 다양한 이벤트들이, 활성 패킷이 재공개될 것을 요청할 수 있다. 예를 들어, 사용자는 그들의 디스플레이 이름을 변경할 것을 선택할 수 있다. 변경된 디스플레이 이름 및 동일한 서비스 ID를 가진 활성 패킷이 재공개된다. 따라서, 네트워크상의 사용자들은, 이 변경이 네트워크상의 새로운 PNM 존재가 아니라 새로운 디스플레이 이름을 가진 동일한 존재라는 것을 알 수 있다.
PNM 발견 펑크션(506)은, 로컬 사용자에게 디스플레이하기 위해 네트워크상 의 인접한 다른 사용자들에 관한 존재 정보를 조회한다. SSDP 계층(510)은 네트워크로부터 활성 메시지 및 bye-bye 메시지를 수신하며 현재적으로 인접한 사용자들의 데이터베이스를 유지한다. 네트워크상의 이벤트들(예를 들어, 활성 패킷의 수신)에 응답하여, SSDP 계층(510)은 이벤트에 대응되는 메시지를 PNM 발견 펑크션(506)으로 전달한다. 일 실시예에서, SSDP 계층(510)은 수신된 활성 패킷 각각의 최대 수명 특성을 추적하며 특성이 만료될 때 PNM 발견 펑크션(506)으로 통지를 송신한다. PNM 발견 펑크션(506)은 네트워크상의 이벤트들로 인한 변경들을 PNM 고수 펑크션(508)으로 전달한다.
PNM 고수 펑크션(508)은 파일 시스템(516) 및 PNM 폴더(518)에 저장되어 있는 데이터에 대한 변경들을 위한 명령어들을 제공한다. 일 실시예에서, PNM 폴더(518)는, 로컬 사용자와 인접한 사용자들의 리스트를 포함한다. PNM 폴더(518)는 파일 시스템(516)의 다른 폴더들과 링크될 수 있다. PNM 폴더(518)와 파일 시스템(516)의 다른 폴더들간의 예시적 폴더 관계들은 다음의 도 6에서 부연된다.
상세한 설명 및 청구항들 전체에 걸친 논의가 "존재 정보의 공개" 및 "컨택트의 공개"을 언급한다. 이러한 구문들 및 이들의 변형들은 네트워크상의 사용자에 관한 검색 가능한 정보를 네트워크를 통해 제공하는 것을 의미한다. 공개된 정보는 상기한 활성 패킷, bye-bye 메시지, 식별 정보, 일반적인 컨택트 정보(예를 들어, 전화 번호들, 어드레스 등), 및 네트워크에 접속되어 있는 엔티티(entity) 또는 장치에 관한 여타 정보를 포함할 수 있다.
도 6은 본 발명에 따른 존재 정보를 저장하기 위한 파일 시스템에 대응되는 예시적인 파일 구조들을 도시한다. 파일 시스템(600)은 PNM 폴더(610), 퍼슨 오브젝트(person object;612), 및 퍼스널 컨택트 폴더(620)를 포함한다.
SSDP 계층이 로버의 PNM 컴포넌트로 활성 메시지를 전달할 때(도 4 참고), 퍼슨 오브젝트(612)가 개시된다. 공유 어드레스 및 디스플레이 이름과 같은, 활성 메시지로부터의 데이터로 퍼슨 오브젝트(612)가 채워진다. 일 실시예에서, 제공된 데이터의 진실성을 확인하기 위한 활성 메시지에서의 데이터 확인은, 퍼슨 오브젝트(612)로 채워지기 전에 수행된다. 확인으로 인해, 잘못된 어드레스들로 인한 비인가 브라우저 동작들 및 로컬 사용자의 컨택트내에 잘못된 엔트리들이 저장되는 것이 방지된다.
일 실시예에서는, 퍼슨 오브젝트(612)가 컨택트 엔트리로서 PNM 폴더(610)와 관련된다. 따라서, 로컬 사용자는 PNM 폴더(610)를 열어 인접한 다른 사용자들에 대응되는 모든 컨택트 엔트리들을 볼 수 있다. 또한, 다음으로, 프로세스는, 로컬 사용자에게 인접한 사람들 수의 디스플레이를 제공하기 위해 PNM 폴더(610)내의 엔트리 수를 카운트할 수 있다.
다른 실시예에서는, 퍼스널 컨택트 폴더(620)의 컨택트 엔트리들과 PNM 폴더(610)의 컨택트 엔트리들간의 관계가 생성될 수 있다. 이 관계는, 수신된 활성 메시지가 관련된 식별 정보 확인을 가질 때, 생성된다. 예를 들어, 활성 메시지의 소스에 대한 식별 정보를 확인하기 위해, 활성 메시지와 관련하여 공개 키 암호화가 사용될 수 있다. PNM 시스템에서의 공개 키 암호화 사용은 다음의 도 9를 참조하여 좀더 상세히 부연된다. 활성 메시지를 송신 중인 사용자의 식별 정보가 퍼스 널 컨택트 폴더(620)의 기존 엔트리로 확인되면, 새로운 퍼슨 오브젝트가 아니라 그 엔트리로 링크가 생성된다. 따라서, PNM 폴더(610)의 엔트리는, 디스플레이 이름 및 공유 어드레스를 가진 간단한 퍼슨 오브젝트가 아니라, 퍼스널 컨택트 폴더(620)와 관련된 풍부한 콘텐츠(rich content;예를 들어, 어드레스들, 전화 번호들, 사진들 등)를 포함한다. 또한, 퍼스널 컨택트 폴더(620)의 엔트리와 관계가 교환되므로, 퍼스널 컨택트 폴더(620)의 엔트리가 열릴 때, 존재 정보(예를 들어, 디스플레이 이름, 온라인 상태, 공유 어드레스 등)가 표시된다.
또 다른 실시예에서는, 퍼슨 오브젝트(612)와 퍼스널 컨택트 폴더(620)간의 관계가 생성된다. 이 관계로 인해, PNM 컨택트 엔트리들은, PNM GUID에 따라 PNM 컨택트로 식별된 상태를 유지하면서, 퍼스널 컨택트 폴더(620)내에 반영된다. 일례에서, PNM GUID는, 서비스 ID와 조합되어 있는 모든 PNM 엔트리들을 식별하는 PNM 지시자에 따라 식별된다(도 5의 논의 참고). 따라서, PNM GUID는 컨택트 엔트리를 PNM 컨택트로서 식별하고 각각의 PNM 컨택트를 서로 구별한다. 다음으로, 프로세스는, 인접한 사람 수를 디스플레이하기 위해, 관련된 PNM GUID를 가진, 퍼스널 컨택트 폴더(620)내의 컨택트 엔트리 수를 카운트할 수 있다. 또한, PNM 엔트리들을 고유하게 식별하는 것으로 인해, 퍼스널 컨택트 폴더(620)는, 로컬 사용자가 PNM 서비스를 디스에이블할 것을 선택할 때, PNM 엔트리들을 제거할 수 있다. 따라서, 사람들이 네트워크로 들어오고 나감에 따라 그리고 로컬 사용자가 PNM 서비스를 인에이블하고 디스에이블함에 따라 퍼스널 컨택트 폴더(620)가 업데이트될 수 있으므로, 파일 시스템(600)은 네트워크상의 인접한 사람들의 존재와 동기화한 다.
또한, PNM 컨택트를 로컬 사용자의 일반적인(즉, 퍼스널) 컨택트 리스트의 일부로서 저장하는 것에 의해, 다른 애플리케이션들도 인접한 사람들에 대한 존재 정보를 이용할 수 있다. 예를 들어, 일반적인 컨택트 사용자 인터페이스는 일반적으로 컨택트의 로컬 사용자 리스트를 보는데 사용될 수 있다. 퍼스널 컨택트 폴더(620)를 PNM 컨택트로 채우는 것에 의해, PNM 컨택트가 일반적인 컨택트 사용자 인터페이스에 반영된다. 퍼스널 컨택트 폴더(620)에 액세스하는 다른 애플리케이션들(예를 들어, 컨택트 피커 다이얼로그) 또한 존재 정보를 이용할 수 있으며 네트워크상의 인접한 사람들을 디스플레이할 수 있다.
도 7은 본 발명에 따른 네트워크상의 인접 사용자들의 존재에 대한 공개 및 발견과 관련된 예시적인 사이드바 타일들을 도시한다. 사용자 선택들 및 네트워크의 상태에 기초하여 상이한 사이드바 타일들을 제공하는 3개의 타일 시나리오들이 도시되어 있다. 각각의 시나리오에서는, 가능한 확장형 뷰(예를 들어, 714)와 함께 사이드바 타일의 가능한 축소형 뷰(예를 들어, 712)가 제공된다. 다른 실시예에서는, 각각의 확장형 뷰(예를 들어, 714)가, 사이드바 자체내가 아닌 곳에서 생성되는 플라이아웃 또는 별개의 윈도우일 수 있다.
시나리오(710)는, PNM 서비스가 아직 사용자에 의해 인에이블되지 않은 경우에 대한 예시적 UI를 도시한다. 축소형 PNM 사이드바 타일(712)은 서비스를 인에이블하기 위한 선택을 제공한다. 확장형 PNM 사이드바 타일(714)은, 로컬 사용자가 공개되기를 원하는 디스플레이 이름에 관한 추가적인 옵션들 및 PNM 서비스를 구성하기 위한 다른 옵션들을 제공한다.
시나리오(720)는, PNM 서비스가 사용자에 의해 인에이블된 경우에 대한 예시적 UI를 도시한다. 축소형 PNM 사이드바 타일(722)은 인접한 사람들의 수에 대한 지시를 제공하고 인접한 사람들에 관한 좀더 상세한 정보를 보기 위한 선택도 제공한다. 확장형 PNM 사이드바 타일(724)은, 로컬 사용자가 공개되기를 원하는 디스플레이 이름에 관한 추가적인 옵션들 및 PNM 서비스를 구성하고 좀더 상세한 존재 정보를 보기 위한 다른 옵션들을 제공한다.
시나리오(730)는, 네트워크가 이용 불가능한 경우에 대한 예시적 UI를 도시한다. 축소형 PNM 사이드바 타일(732)은 네트워크 무효성의 세부 사항들을 보기 위한 선택을 제공한다. 확장형 PNM 사이드바 타일(734)은, 네트워크 장애를 검사하기 위한 옵션도 제공하면서, PNM 서비스를 구성하기 위한 옵션들을 제공한다.
도 8은 본 발명에 따른 네트워크상의 존재 정보의 공개 및 발견을 위한 사용자 인터페이스를 구현하기 위한 예시적인 상태 도표를 도시한다. 유한 상태 머신(800)은 PNM 서비스의 상태에 기초하는 PNM 사용자 인터페이스의 프리젠테이션에 관한 10개의 상태들을 포함한다.
처음에, 모바일 장치의 모니터링 애플리케이션은, PNM 서비스도 PNM 사이드바 타일도 인에이블되어 있지 않으며 바 타일이 보이지 않는다는 것을 지시하는, 상태 801에 있다. PNM 사이드바 타일이 인에이블될 때, 상태 머신(800)은 상태 802로 이동한다.
상태 802에서, PNM 사이드바 타일은, 로컬 사용자로부터 추가적인 입력을 대 기하는 대기 모드 상태이다. 로컬 사용자의 입력은 PNM 사이드바 타일을 디스에이블하는 것일 수도 있다. 로컬 사용자가 PNM 사이드바 타일을 디스에이블하면, 상태 머신(800)은 상태 801로 돌아간다. 일 실시예에서는, PNM 사이드바 타일이 처음으로 인에이블될 때(즉, 상태 801로부터 상태 802에 도달될 때), 상태 머신(800)이 상태 803으로 이동한다.
상태 803에서는, 플라이아웃 또는 다른 외부 윈도우가 로컬 사용자에게 자동적으로 제공되므로, 로컬 사용자는 PNM 서비스에 관한 초기 옵션들(예를 들어, 디스플레이 이름)을 선택할 수 있다. 사용자가 추가적인 옵션들을 선택하지 않고 취소할 것을 선택하면, 상태 머신(800)은 상태 802로 되돌아간다. 그러나, 사용자가 PNM 서비스를 위한 옵션들을 선택하면, 상태 머신(800)은 상태 804로 진행한다.
다른 실시예에서는, 상태(803)가 포함되어 있지 않으며 옵션들이 제공되지 않는다. 다음으로, 로컬 사용자는 PNM 서비스를 인에이블할 것을 선택할 수 있고 상태는 상태 802로부터 상태 804로 바로 이동한다.
상태 804는, 상태 영역(820)내의 상태들(804, 805, 806, 807) 중에 포함된다. 상태 영역(820)은, PNM 서비스가 인에이블 중이거나 인에이블된 경우를 표현한다. 상태 804에서는, PNM 서비스가 인에이블 중이다. 인에이블 프로세스가 성공적이면, 상태 머신(800)은, PNM 서비스가 인에이블되며 인접한 사람들이 사용자에게 디스플레이되는 상태 805로 이동한다. 그러나, 인에이블링 프로세스 동안 네트워크가 발견되지 않으면, 상태 머신(800)은 상태 806으로 이동한다.
상태 806에서, PNM 시스템은, 네트워크가 복귀할 것을 대기하는 대기 사이클 로 진입한다. 상태 806은, PNM 서비스가 인에이블인 동안 네트워크 장애가 발생할 경우에도 상태 805로부터, 도달될 수 있다. 네트워크가 다시 이용 가능해지면, 상태 머신(800)은, PNM이 인에이블이며 인접한 사람들을 디스플레이하는 상태 805로 이동한다.
PNM 서비스가 상태 804에서 인에이블인 동안, 로버(도 4 참고)로의 접속이 확립되지 않을 수도 있다. 상술된 바와 같이, 로버는 PNM 서비스를 구현하기 위한 코드를 포함한다. 특정 카운트(예를 들어, 12초) 후에도 로버가 도달되지 않으면, 상태 머신(800)은 상태 804로부터 상태 807로 이동한다. 상태 807에서, 인에이블 프로세스는 5초를 대기한 다음 로버로의 접속을 재시도하기 위해 상태 804로 복귀한다.
소정 환경들에서는, 인에이블 프로세스 동안, PNM 서비스를 부정확하게 동작시키기에 충분한 결정적인 오류가 발생할 수 있다. 결정적인 오류가 발생할 경우, 상태는 상태 804로부터 상태 808로 이동한다. 상태 808에서는, 결정적인 오류 및 PNM 서비스가 계속될 수 없다는 것이 로컬 사용자에게 통지된다. 그 다음, 로컬 사용자는 PNM 사이드바 타일을 디스에이블할 것을 선택할 수 있고 상태 머신(800)은 상태 801로 되돌아간다.
상태 영역(820)내의 상태들 중 어디에서도, 사용자는 현재의 동작을 취소할 것을 선택할 수 있다. 현재의 동작을 취소하는 것은, 인에이블 상태를 중단시키거나 PNM 서비스를 디스에이블한다. PNM 서비스가 디스에이블되면, 상태 머신(800)은, PNM 사이드바 타일이 로컬 사용자로부터 추가적인 입력을 대기하는 대기 모드 의 상태 802로 되돌아간다.
또한, 상태 영역(820)내의 상태들 중 어디에서든, 사용자는 PNM 사이드바 타일 또는 사이드바 자체를 닫을 것을 선택할 수 있다. 사용자가 PNM 사이드바 타일 또는 사이드바를 디스에이블할 것을 선택하면, 상태 머신(800)은 상태 810으로 이동한다. 상태 810에서는, 영향을 받은 시스템들 및 폴더들(예를 들어, 컨택트 폴더)이 정정되고 PNM 사이드바 타일이 디스에이블되어, 상태 머신(800)은 상태 801로 되돌아간다. 일 실시예에서는, 시스템이 정정될 때, PNM 컨택트 및 다른 PNM 데이터의 인스턴스들이 파일 시스템으로부터 제거된다. 또한, SSDP 계층(도 4 참고)은, 로컬 사용자의 존재를 공개하는 것과 네트워크상의 다른 인접 사용자들의 존재 정보를 발견하는 것을 중단하도록 지시된다.
도 9는, 본 발명에 따른, 인접 사용자의 존재 통지에 관한 예시적인 식별 정보 확인을 도시한다. 식별 정보 확인을 위해, 사용자 1은 존재 통지와 관련되어 있는 요소들의 세트(910;즉, 활성 패킷)를 갖는다. 공개 키(Pu1;911) 및 비밀 키(Pr1;912)는 사용자 1과 관련되어 있다. 디스플레이 이름(913), 공유 어드레스(914), 타임스탬프(timestamp;915), 및 해시(Pu1+salt)(916)를 포함하는 데이터(D)가 존재 통지로 송신된다. 데이터(D)는 공개 키(Pr1;911)로 서명되어 관련 서명(S1(D);917)을 갖는다.
디스플레이 이름(913) 및 공유 어드레스(914)는, 로컬 사용자로 하여금 로컬 사용자를 알지 못하는 인접 사용자들에게 이름을 공개하고 로컬 사용자가 정보를 공유해 왔다는 것을 인접 사용자들에게 통지할 수 있도록 하기 위해, 존재 통지에 선택적으로 포함된다. 타임스탬프(915)는, 서명(S1(D))이 유효한 시간을 제공하기 위해 포함된다. 해시(Pu1+salt)(916) 또한 선택적으로 포함된다. 해시(Pu1+salt)(916)는 "salt"라고 하는 불규칙한 데이터량을 따라 해시된 공개 키(Pu1;911) 버전이다. "salt"가 해시에 포함되어 있을 경우, "salt" 또한 데이터(D)에 공개된다. 공개 키(Pu1;911)를 해싱함으로써, 공개 키들이 사용자들 사이에서 전달될 때 제3자가 공개 키들을 모니터링할 수 없다는 것을 보장할 수 있다. 해싱된 공개 키를 보는 제3자는, 공개 키와 무관한 무작위 데이터를 보게 될 뿐이다. 해싱된 공개 키에 "salt"를 추가하는 것으로 인해, 공개 키는 더욱 복잡해질 수 있고, 공개 키의 추적을 방지하는데 도움이 된다. 공개 키(Pu1;911)를 해싱하는 것은 데이터(D)를 공개 중인 사용자의 식별 정보에 대한 제한도 제공한다. 해싱된 공개 키가 없다면, 누가 데이터(D)에 서명했는지를 판정하기 위해 각 컨택트의 공개 키를 시도해야 할 수도 있다. 해싱된 공개 키가 공개되어 있으므로, 매칭되는 해시(Pu1+salt)(916)로 해싱되는 공개 키를 가진 컨택트를 위해 컨택트가 먼저 조회될 수 있다. 따라서, 해시(Pu1+salt)(916)를 공개함으로써, 결과들은 한정될 수 있고 확인 프로세스의 속도는 증가한다. 다른 실시예들에서는, 공개 키(Pu1;910)가 해싱되지 않거나 "salt"(예를 들어, 공개 키 비트들의 무작위 재순서화)없이 해싱된다.
사용자 1이 비밀 키(Pr1;912)를 생성할 때, 공개 키(Pu1;911) 또한 생성되어 비밀 키(Pr1;912)와 관련될 수 있다. 그 다음, 사용자 1은 공개 키(Pu1;911)를 사용자 2로 송신할 수 있다. 공개 키가 유포됨으로써, 사용자 1은 비밀 키(Pr1;912) 로 데이터 세트(예를 들어, D)에 서명할 수 있으므로, 이러한 데이터는 서명(S1(D);917)을 포함한다. 따라서, 데이터가 암호화되었다면, 사용자 1과 관련된 공개 키(Pu1;911)를 가진 사용자들(예를 들어, 사용자 2)만이 비밀 키(Pr1;912)로 서명된 데이터를 볼 수 있다. 사용된 암호화에 상관없이, 서명(S1(D))은 여전히, 데이터(D)가 변조되지 않았으며 데이터(D)가 사용자 1로부터 유래한다는 것을 증명함으로써, 사용자 1의 식별 정보를 증명한다. 예를 들어, 공개 키(Pu1;911)로써, 사용자 2는, 공개 키의 원래 해시(예를 들어, 해시(Pu1+salt)(916))와 비교하기 위한 공개 키의 등가 해시(예를 들어, 해시(Pu1+salt)(921))를 생성할 수 있다. 해시들이 매칭될 경우(그리고 데이터가 암호화되어 있을 경우), 사용자 2는, 디스플레이 이름(913), 공유 어드레스(914), 및 타임스탬프(915)가 악의적 사용자가 아니라 정말로 사용자 1로부터 유래했다는 것을 알 수 있다.
서명(S1(D);917)은, 악의적 사용자가 사용자 1에 의해 공개된 데이터를 공유 어드레스(914)를 변경하는 것에 의해 다른 네트워크를 통해 재공개하는 것을 방지한다. 공유 어드레스(914)에 대해 시도된 변경은 서명(S1(D);917)을 파괴하므로, 악의적 재방송을 수신 중인 사용자는, 데이터가 확인되지 않았다는 것을 알 수 있다. 또한, 악의적 사용자는 비밀 키(Pr1;912)를 갖지 않으므로, 데이터에 재서명할 수도 없다.
또한, 타임스탬프(915)를 포함함으로써, 서명(S1(D);917)은 소정 시간 동안 유효할 수 있다. 시간이 만료되면, 식별 정보 확인도 만료된다. 타임스탬프(915)는, 악의적 사용자들이 소정 시간이 지난 후 변경없이 데이터를 재방송하는 것을 방지한다. 이 데이터를 수신 중인 다른 사용자들은 이 시간이 지나고 나면, 타임스탬프(915)가 만료되었으므로, 데이터를 무턱대고 무시할 것이다.
본 발명의 일 실시예에서는, 네트워크상의 인접한 사용자 1의 존재에 대응하여 전달된 데이터가, 공개 키 인프라스트럭처(PKI)가 사용되는 경우라 하더라도, 암호화되지 않는다. 대신에, 공개 키 및 비밀 키의 사용은 데이터의 소스로서 사용자의 식별 정보를 확인하는 것으로 한정된다. 송신된 데이터는 평문으로 기재되므로 볼 수 있지만, 공개 키 암호화는 데이터가 공개되어야 하는 사용자의 식별 정보를 확인한다.
도 6과 관련하여 상술된 바와 같이, 데이터를 공개 중인 사용자의 식별 정보가 기존 컨택트로 확인되면, 사용자에게 좀더 풍부한 데이터 세트가 제공되어, 사용자에 대한 PNM 정보의 디스플레이를 향상시킬 수 있다.
상기 설명, 예들, 및 데이터는 본 발명의 구성에 대한 제작 및 사용의 완전한 설명을 제공한다. 본 발명의 사상 및 범위를 벗어나지 않으면서 본 발명의 많은 실시예들이 만들어질 수 있으므로, 본 발명은 다음에 첨부되어 있는 청구항들에 의해 결정된다.

Claims (24)

  1. 네트워크 상의 존재 정보(presence information)를 발견하여 공개(publish)하도록 지시된 사용자 인터페이스를 위한 컴퓨터 구현 방법으로서 - 상기 방법은 컴퓨팅 장치에 의해 수행됨 -,
    상기 네트워크 상의 다른 사용자들이 수신하도록 인접 사용자(nearby user)에 의해 상기 네트워크 상에 주기적으로 공개되는 존재 정보에 기초하여, 상기 인접 사용자가 상기 네트워크 상에 존재하는지 여부를 판정하기 위해 로컬 파일 시스템에 프로그램적으로 조회하는(programmatically querying) 단계 - 상기 공개된 존재 정보는 상기 로컬 파일 시스템 내에 저장되고, 상기 로컬 파일 시스템 내의 상기 저장된 존재 정보는 다른 애플리케이션들에 의해 사용되어 상기 존재 정보를 판정하고, 인접 사용자는 사용자에게 네트워크적으로 근접하여(network proximity) 또는 물리적으로 근접하여(physical proximity) 접속되는 사용자들을 포함하고, 상기 존재 정보는 사용자 인터페이스의 인에이블됨(enablement)에 응답하여 공개되고, 상기 다른 사용자들은 사용자가 상기 인접 사용자의 이전 컨택트인지 여부에 관계없이 결정되는 사용자들임 -;
    상기 네트워크 상의 상기 인접 사용자의 존재에 대한 지엽적이며 눈에 띄지 않는 통지(peripheral and unobtrusive notification)를 위해 상기 사용자 인터페이스의 일부분을 인스턴스화(instantiate)하는 단계; 및
    상기 사용자 인터페이스의 상기 일부분에 상기 인접 사용자의 존재를 디스플레이하는 단계
    를 포함하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 인스턴스화되는 사용자 인터페이스의 일부분은 사이드바 타일(sidebar tile)인 컴퓨터 구현 방법.
  3. 제2항에 있어서,
    상기 사용자 인터페이스의 일부분은 상기 사이드바 타일의 인에이블링 및 디스에이블링 중 하나를 위한 옵션을 더 포함하는 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 사용자 인터페이스의 일부분은, 상기 존재 정보의 발견 및 공개 중 적어도 하나와 관련되어 있는 양상들을 변경하기 위한 옵션들을 포함하는 윈도우를 런칭(launching)하기 위한 선택을 더 포함하는 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 윈도우는 플라이아웃(flyout)인 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 사용자 인터페이스의 일부분은, 상기 네트워크 상에 존재하는 것으로 판정되는 인접 사용자들의 수에 대응되는 카운트를 더 포함하는 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 사용자 인터페이스의 일부분은, 상기 네트워크가 이용 불가능할 경우, 추가로 통지를 제공하는 컴퓨터 구현 방법.
  8. 제1항에 있어서,
    상기 사용자 인터페이스의 일부분은, 풍부한 콘텐츠(rich content)가 이용 가능할 경우, 상기 인접 사용자에 대응되는 상기 풍부한 콘텐츠를 더 포함하는 컴퓨터 구현 방법.
  9. 제1항에 있어서,
    상기 사용자 인터페이스의 일부분은, 상기 인접 사용자에 관한 상세 정보를 포함하는 윈도우를 런칭하기 위한 선택을 더 포함하는 컴퓨터 구현 방법.
  10. 제9항에 있어서,
    상기 윈도우는 컨택트 애플리케이션에 의해 제공된 개별적인 사용자 인터페이스에 대응되는 컴퓨터 구현 방법.
  11. 제9항에 있어서,
    상기 상세 정보는 퍼스널 컨택트 폴더에 위치하는 정보와 유사한 컴퓨터 구현 방법.
  12. 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 네트워크 상의 존재 정보를 발견하여 공개하도록 지시된 사용자 인터페이스를 제공하기 위한 방법을 수행하게 하는 컴퓨터 실행 가능 명령어들을 포함하는 컴퓨터 판독가능 기록 매체로서,
    상기 방법은,
    상기 네트워크 상의 로컬 사용자에 의해 공개된 존재 정보에 기초하여 상기 로컬 사용자가 상기 네트워크 상에 존재하는지 여부를 판정하는 단계;
    상기 네트워크 상의 다른 사용자들이 수신하도록 인접 사용자에 의해 공개된 존재 정보에 기초하여, 상기 인접 사용자가 상기 네트워크 상에 존재하는지 여부를 판정하기 위해 로컬 파일 시스템에 프로그램적으로 조회하는 단계 - 상기 존재 정보는 사용자 인터페이스의 인에이블됨에 응답하여 공개되고, 상기 다른 사용자들은 사용자가 상기 인접 사용자의 이전 컨택트인지 여부에 관계없이 결정되는 사용자들임 -;
    상기 네트워크 상의 상기 인접 사용자의 존재 및 상기 로컬 사용자에 대한 존재에 대한 지엽적이며 눈에 띄지 않는 통지를 위해 상기 사용자 인터페이스의 일부분을 인스턴스화하는 단계; 및
    상기 로컬 사용자가 상기 네트워크 상에 존재하는 것으로 판정되고 상기 로컬 사용자가 디스플레이를 인에이블하도록 선택한 경우 상기 사용자 인터페이스의 일부분에 상기 인접 사용자의 존재 및 상기 로컬 사용자의 존재를 디스플레이하는 단계
    를 포함하는 컴퓨터 판독가능 기록 매체.
  13. 제12항에 있어서,
    상기 인스턴스화된 사용자 인터페이스의 일부분은 사이드바 타일인 컴퓨터 판독가능 기록 매체.
  14. 제13항에 있어서,
    상기 사용자 인터페이스의 일부분은 상기 사이드바 타일의 인에이블링 및 디스에이블링 중 하나를 위한 옵션을 더 포함하는 컴퓨터 판독가능 기록 매체.
  15. 제12항에 있어서,
    상기 사용자 인터페이스의 일부분은, 상기 존재 정보의 발견 및 공개 중 적어도 하나와 관련되어 있는 양상들을 변경하기 위한 옵션들을 포함하는 윈도우를 런칭하기 위한 선택을 더 포함하는 컴퓨터 판독가능 기록 매체.
  16. 제12항에 있어서,
    상기 사용자 인터페이스의 일부분은, 상기 네트워크 상에 존재하는 것으로 판정되는 인접 사용자들의 수에 대응되는 카운트를 더 포함하는 컴퓨터 판독가능 기록 매체.
  17. 제12항에 있어서,
    상기 사용자 인터페이스의 일부분은, 상기 네트워크가 이용 불가능할 경우, 상기 로컬 사용자에게 추가로 통지하는 컴퓨터 판독가능 기록 매체.
  18. 제12항에 있어서,
    상기 사용자 인터페이스의 일부분은, 상기 로컬 사용자 및 상기 인접 사용자에 관한 상세 정보를 포함하는 윈도우를 런칭하기 위한 선택을 더 포함하는 컴퓨터 판독가능 기록 매체.
  19. 제18항에 있어서,
    상기 윈도우는 플라이아웃인 컴퓨터 판독가능 기록 매체.
  20. 제18항에 있어서,
    상기 윈도우는 컨택트 애플리케이션에 의해 제공된 개별적인 사용자 인터페이스에 대응되는 컴퓨터 판독가능 기록 매체.
  21. 네트워크 상에서 발견되고 공개되는 존재 정보의 디스플레이를 위한 시스템으로서,
    파일 시스템 및 사용자 인터페이스 애플리케이션을 포함하는 컴퓨팅 장치
    를 포함하며,
    상기 컴퓨팅 장치는,
    인접 사용자가 공개하여 상기 네트워크 상의 다른 사용자들이 수신하는 존재 정보에 기초하여, 상기 인접 사용자가 상기 네트워크 상에 존재하는지 여부를 판정하기 위해 파일 시스템에 프로그램적으로 조회하고 - 상기 존재 정보는 사용자 인터페이스의 인에이블됨에 응답하여 공개됨 -,
    상기 네트워크 상의 상기 인접 사용자의 존재 및 로컬 사용자의 존재에 대한 지엽적이며 눈에 띄지 않는 통지를 위해 상기 사용자 인터페이스의 일부분을 인스턴스화하고,
    상기 로컬 사용자가 상기 네트워크 상에 존재하는 것으로 판정되는 경우 상기 사용자 인터페이스의 일부분에 상기 인접 사용자의 존재 및 상기 로컬 사용자의 존재를 디스플레이하도록 구성되는 시스템.
  22. 제21항에 있어서,
    인스턴스화된 상기 사용자 인터페이스의 일부분은 사이드바 타일인 시스템.
  23. 제21항에 있어서,
    상기 사용자 인터페이스의 일부분은, 상기 존재 정보의 발견 및 공개 중 적어도 하나와 관련되어 있는 양상들을 변경하기 위한 옵션들을 포함하는 윈도우를 런칭하기 위한 선택을 더 포함하는 시스템.
  24. 제21항에 있어서,
    상기 사용자 인터페이스의 일부분은, 상기 네트워크 상에 존재하는 것으로 판정되는 인접 사용자들의 수에 대응되는 카운트를 더 포함하는 시스템.
KR1020057007611A 2004-05-01 2004-07-29 네트워크상의 존재 정보를 발견하고 공개하도록 지시되는사용자 인터페이스를 위한 시스템 및 방법 KR101319640B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/837,349 US7607096B2 (en) 2004-05-01 2004-05-01 System and method for a user interface directed to discovering and publishing presence information on a network
US10/837,349 2004-05-01
PCT/US2004/024367 WO2005111779A2 (en) 2004-05-01 2004-07-29 System and method for a user interface directed to discovering and publishing presence information on a network

Publications (2)

Publication Number Publication Date
KR20070015838A KR20070015838A (ko) 2007-02-06
KR101319640B1 true KR101319640B1 (ko) 2013-10-17

Family

ID=35188342

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057007611A KR101319640B1 (ko) 2004-05-01 2004-07-29 네트워크상의 존재 정보를 발견하고 공개하도록 지시되는사용자 인터페이스를 위한 시스템 및 방법

Country Status (11)

Country Link
US (1) US7607096B2 (ko)
EP (1) EP1743237A4 (ko)
JP (1) JP2007535754A (ko)
KR (1) KR101319640B1 (ko)
CN (1) CN100557551C (ko)
AU (1) AU2004279203B2 (ko)
BR (1) BRPI0406382A (ko)
CA (1) CA2501486C (ko)
MX (1) MXPA05006637A (ko)
RU (2) RU2569804C2 (ko)
WO (1) WO2005111779A2 (ko)

Families Citing this family (258)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266657B2 (en) 2001-03-15 2012-09-11 Sling Media Inc. Method for effectively implementing a multi-room television system
US6263503B1 (en) 1999-05-26 2001-07-17 Neal Margulis Method for effectively implementing a wireless television system
US7713294B2 (en) * 2002-08-28 2010-05-11 Nomir Medical Technologies, Inc. Near infrared microbial elimination laser systems (NIMEL)
US8239452B2 (en) * 2004-05-01 2012-08-07 Microsoft Corporation System and method for discovering and publishing of presence information on a network
US8346605B2 (en) 2004-06-07 2013-01-01 Sling Media, Inc. Management of shared media content
KR100916274B1 (ko) 2004-06-07 2009-09-10 슬링 미디어 인코퍼레이티드 퍼스널 미디어 브로드캐스팅 시스템
US8099755B2 (en) 2004-06-07 2012-01-17 Sling Media Pvt. Ltd. Systems and methods for controlling the encoding of a media stream
US7975062B2 (en) 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
US7769756B2 (en) 2004-06-07 2010-08-03 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
US7917932B2 (en) 2005-06-07 2011-03-29 Sling Media, Inc. Personal video recorder functionality for placeshifting systems
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
US9071464B2 (en) * 2004-07-23 2015-06-30 International Business Machines Corporation Message notification in instant messaging
US20070156604A1 (en) * 2005-06-20 2007-07-05 Stanley James Method and system for constructing and using a personalized database of trusted metadata
US7856658B2 (en) * 2005-06-20 2010-12-21 Lijit Networks, Inc. Method and system for incorporating trusted metadata in a computing environment
WO2007005790A2 (en) 2005-06-30 2007-01-11 Sling Media, Inc. Firmware update for consumer electronic device
US20070157105A1 (en) * 2006-01-04 2007-07-05 Stephen Owens Network user database for a sidebar
JP2007219868A (ja) * 2006-02-17 2007-08-30 Innosys:Kk サーバシステム、端末装置、これらの制御方法及び制御プログラム、通信制御システム及び方法
US8111686B2 (en) * 2006-08-07 2012-02-07 Microsoft Corporation Aggregating endpoint capabilities for a user
US20080068206A1 (en) * 2006-09-15 2008-03-20 Microsoft Corporation Extended presence information and interest flag
US8081745B2 (en) * 2006-12-14 2011-12-20 Microsoft Corporation Dynamic information publication enabling direct access to a preferred communication channel connection in integrated communication server
US8554868B2 (en) 2007-01-05 2013-10-08 Yahoo! Inc. Simultaneous sharing communication interface
US7792913B2 (en) * 2007-09-17 2010-09-07 At&T Intellectual Property I, L.P. Providing multi-device instant messaging presence indications
US8477793B2 (en) 2007-09-26 2013-07-02 Sling Media, Inc. Media streaming device with gateway functionality
US8350971B2 (en) 2007-10-23 2013-01-08 Sling Media, Inc. Systems and methods for controlling media devices
US8060609B2 (en) 2008-01-04 2011-11-15 Sling Media Inc. Systems and methods for determining attributes of media items accessed via a personal media broadcaster
US8667279B2 (en) 2008-07-01 2014-03-04 Sling Media, Inc. Systems and methods for securely place shifting media content
US8381310B2 (en) * 2009-08-13 2013-02-19 Sling Media Pvt. Ltd. Systems, methods, and program applications for selectively restricting the placeshifting of copy protected digital media content
US8667163B2 (en) 2008-09-08 2014-03-04 Sling Media Inc. Systems and methods for projecting images from a computer system
WO2010041682A1 (ja) * 2008-10-07 2010-04-15 インターナショナル・ビジネス・マシーンズ・コーポレーション ユーザの状態を通知する装置及び方法
US9191610B2 (en) 2008-11-26 2015-11-17 Sling Media Pvt Ltd. Systems and methods for creating logical media streams for media storage and playback
US8438602B2 (en) 2009-01-26 2013-05-07 Sling Media Inc. Systems and methods for linking media content
US8171148B2 (en) 2009-04-17 2012-05-01 Sling Media, Inc. Systems and methods for establishing connections between devices communicating over a network
US8406431B2 (en) 2009-07-23 2013-03-26 Sling Media Pvt. Ltd. Adaptive gain control for digital audio samples in a media stream
US9479737B2 (en) 2009-08-06 2016-10-25 Echostar Technologies L.L.C. Systems and methods for event programming via a remote media player
US8799408B2 (en) 2009-08-10 2014-08-05 Sling Media Pvt Ltd Localization systems and methods
US9525838B2 (en) 2009-08-10 2016-12-20 Sling Media Pvt. Ltd. Systems and methods for virtual remote control of streamed media
US8966101B2 (en) 2009-08-10 2015-02-24 Sling Media Pvt Ltd Systems and methods for updating firmware over a network
US9565479B2 (en) 2009-08-10 2017-02-07 Sling Media Pvt Ltd. Methods and apparatus for seeking within a media stream using scene detection
US8532472B2 (en) 2009-08-10 2013-09-10 Sling Media Pvt Ltd Methods and apparatus for fast seeking within a media stream buffer
US9160974B2 (en) 2009-08-26 2015-10-13 Sling Media, Inc. Systems and methods for transcoding and place shifting media content
US8314893B2 (en) * 2009-08-28 2012-11-20 Sling Media Pvt. Ltd. Remote control and method for automatically adjusting the volume output of an audio device
US9015225B2 (en) 2009-11-16 2015-04-21 Echostar Technologies L.L.C. Systems and methods for delivering messages over a network
US8799485B2 (en) 2009-12-18 2014-08-05 Sling Media, Inc. Methods and apparatus for establishing network connections using an inter-mediating device
US8626879B2 (en) 2009-12-22 2014-01-07 Sling Media, Inc. Systems and methods for establishing network connections using local mediation services
US9178923B2 (en) 2009-12-23 2015-11-03 Echostar Technologies L.L.C. Systems and methods for remotely controlling a media server via a network
US9275054B2 (en) 2009-12-28 2016-03-01 Sling Media, Inc. Systems and methods for searching media content
US8856349B2 (en) 2010-02-05 2014-10-07 Sling Media Inc. Connection priority services for data communication between two devices
WO2011137523A1 (en) * 2010-05-05 2011-11-10 Research In Motion Limited Method and system for monitoring of aspects for use by a trigger
US9886727B2 (en) 2010-11-11 2018-02-06 Ikorongo Technology, LLC Automatic check-ins and status updates
US8554627B2 (en) 2010-11-11 2013-10-08 Teaneck Enterprises, Llc User generated photo ads used as status updates
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US9131343B2 (en) 2011-03-31 2015-09-08 Teaneck Enterprises, Llc System and method for automated proximity-based social check-ins
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
EP2732383B1 (en) 2011-07-12 2018-04-04 Snap Inc. Methods and systems of providing visual content editing functions
US11194462B2 (en) * 2011-08-03 2021-12-07 Avaya Inc. Exclusion of selected data from access by collaborators
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US9223472B2 (en) 2011-12-22 2015-12-29 Microsoft Technology Licensing, Llc Closing applications
US8972357B2 (en) 2012-02-24 2015-03-03 Placed, Inc. System and method for data collection to validate location data
US11734712B2 (en) 2012-02-24 2023-08-22 Foursquare Labs, Inc. Attributing in-store visits to media consumption based on data collected from user devices
US10155168B2 (en) 2012-05-08 2018-12-18 Snap Inc. System and method for adaptable avatars
US8893005B2 (en) * 2012-11-07 2014-11-18 Siemens Enterprise Communications Gmbh & Co. Kg Method, device, and system for providing indicia on a display
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
US9705831B2 (en) 2013-05-30 2017-07-11 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US10439972B1 (en) 2013-05-30 2019-10-08 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US10120541B2 (en) * 2013-06-09 2018-11-06 Apple Inc. Device, method, and graphical user interface for sharing content from a respective application
US9628950B1 (en) 2014-01-12 2017-04-18 Investment Asset Holdings Llc Location-based messaging
EP3126969A4 (en) 2014-04-04 2017-04-12 Microsoft Technology Licensing, LLC Expandable application representation
EP3129847A4 (en) 2014-04-10 2017-04-19 Microsoft Technology Licensing, LLC Slider cover for computing device
WO2015154273A1 (en) 2014-04-10 2015-10-15 Microsoft Technology Licensing, Llc Collapsible shell cover for computing device
US9276886B1 (en) 2014-05-09 2016-03-01 Snapchat, Inc. Apparatus and method for dynamically configuring application component tiles
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
US9396354B1 (en) 2014-05-28 2016-07-19 Snapchat, Inc. Apparatus and method for automated privacy protection in distributed images
EP2953085A1 (en) 2014-06-05 2015-12-09 Mobli Technologies 2010 Ltd. Web document enhancement
US9113301B1 (en) 2014-06-13 2015-08-18 Snapchat, Inc. Geo-location based event gallery
US9225897B1 (en) 2014-07-07 2015-12-29 Snapchat, Inc. Apparatus and method for supplying content aware photo filters
US10423983B2 (en) 2014-09-16 2019-09-24 Snap Inc. Determining targeting information based on a predictive targeting model
US10824654B2 (en) 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs
US11216869B2 (en) 2014-09-23 2022-01-04 Snap Inc. User interface to augment an image using geolocation
US10284508B1 (en) 2014-10-02 2019-05-07 Snap Inc. Ephemeral gallery of ephemeral messages with opt-in permanence
WO2016065568A1 (en) 2014-10-30 2016-05-06 Microsoft Technology Licensing, Llc Multi-configuration input device
US9015285B1 (en) 2014-11-12 2015-04-21 Snapchat, Inc. User interface for accessing media at a geographic location
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
US10311916B2 (en) 2014-12-19 2019-06-04 Snap Inc. Gallery of videos set to an audio time line
US9754355B2 (en) 2015-01-09 2017-09-05 Snap Inc. Object recognition based photo filters
US11388226B1 (en) 2015-01-13 2022-07-12 Snap Inc. Guided personal identity based actions
US10133705B1 (en) 2015-01-19 2018-11-20 Snap Inc. Multichannel system
US9521515B2 (en) 2015-01-26 2016-12-13 Mobli Technologies 2010 Ltd. Content request by location
US9294425B1 (en) 2015-02-06 2016-03-22 Snapchat, Inc. Storage and processing of ephemeral messages
US10223397B1 (en) 2015-03-13 2019-03-05 Snap Inc. Social graph based co-location of network users
KR102035405B1 (ko) 2015-03-18 2019-10-22 스냅 인코포레이티드 지오-펜스 인가 프로비저닝
US9692967B1 (en) 2015-03-23 2017-06-27 Snap Inc. Systems and methods for reducing boot time and power consumption in camera systems
US10135949B1 (en) 2015-05-05 2018-11-20 Snap Inc. Systems and methods for story and sub-story navigation
US9881094B2 (en) 2015-05-05 2018-01-30 Snap Inc. Systems and methods for automated local story generation and curation
KR102473502B1 (ko) 2015-05-06 2022-12-05 스냅 인코포레이티드 단기 그룹 채팅을 위한 시스템 및 방법
US10503264B1 (en) 2015-06-16 2019-12-10 Snap Inc. Radial gesture navigation
US9906479B1 (en) 2015-06-16 2018-02-27 Snap Inc. Storage management for ephemeral messages
US10993069B2 (en) 2015-07-16 2021-04-27 Snap Inc. Dynamically adaptive media content delivery
US10817898B2 (en) 2015-08-13 2020-10-27 Placed, Llc Determining exposures to content presented by physical objects
US10616162B1 (en) 2015-08-24 2020-04-07 Snap Inc. Systems devices and methods for automatically selecting an ephemeral message availability
US11121997B1 (en) 2015-08-24 2021-09-14 Snap Inc. Systems, devices, and methods for determining a non-ephemeral message status in a communication system
US10157333B1 (en) 2015-09-15 2018-12-18 Snap Inc. Systems and methods for content tagging
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US11119628B1 (en) 2015-11-25 2021-09-14 Snap Inc. Dynamic graphical user interface modification and monitoring
US9984499B1 (en) 2015-11-30 2018-05-29 Snap Inc. Image and point cloud based tracking and in augmented reality systems
US10474321B2 (en) 2015-11-30 2019-11-12 Snap Inc. Network resource location linking and visual content sharing
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
US10679389B2 (en) 2016-02-26 2020-06-09 Snap Inc. Methods and systems for generation, curation, and presentation of media collections
US10285001B2 (en) 2016-02-26 2019-05-07 Snap Inc. Generation, curation, and presentation of media collections
US11023514B2 (en) 2016-02-26 2021-06-01 Snap Inc. Methods and systems for generation, curation, and presentation of media collections
US10530731B1 (en) 2016-03-28 2020-01-07 Snap Inc. Systems and methods for chat with audio and video elements
US10270839B2 (en) 2016-03-29 2019-04-23 Snap Inc. Content collection navigation and autoforwarding
US10339365B2 (en) 2016-03-31 2019-07-02 Snap Inc. Automated avatar generation
US10686899B2 (en) 2016-04-06 2020-06-16 Snap Inc. Messaging achievement pictograph display system
US9813642B1 (en) 2016-05-06 2017-11-07 Snap Inc. Dynamic activity-based image generation
US10474353B2 (en) 2016-05-31 2019-11-12 Snap Inc. Application control using a gesture based trigger
US10638256B1 (en) 2016-06-20 2020-04-28 Pipbin, Inc. System for distribution and display of mobile targeted augmented reality content
US10334134B1 (en) 2016-06-20 2019-06-25 Maximillian John Suiter Augmented real estate with location and chattel tagging system and apparatus for virtual diary, scrapbooking, game play, messaging, canvasing, advertising and social interaction
US11044393B1 (en) 2016-06-20 2021-06-22 Pipbin, Inc. System for curation and display of location-dependent augmented reality content in an augmented estate system
US11785161B1 (en) 2016-06-20 2023-10-10 Pipbin, Inc. System for user accessibility of tagged curated augmented reality content
US11201981B1 (en) 2016-06-20 2021-12-14 Pipbin, Inc. System for notification of user accessibility of curated location-dependent content in an augmented estate
US11876941B1 (en) 2016-06-20 2024-01-16 Pipbin, Inc. Clickable augmented reality content manager, system, and network
US10805696B1 (en) 2016-06-20 2020-10-13 Pipbin, Inc. System for recording and targeting tagged content of user interest
US9681265B1 (en) 2016-06-28 2017-06-13 Snap Inc. System to track engagement of media items
US10430838B1 (en) 2016-06-28 2019-10-01 Snap Inc. Methods and systems for generation, curation, and presentation of media collections with automated advertising
US11507977B2 (en) 2016-06-28 2022-11-22 Snap Inc. Methods and systems for presentation of media collections with automated advertising
US10733255B1 (en) 2016-06-30 2020-08-04 Snap Inc. Systems and methods for content navigation with automated curation
US10182047B1 (en) 2016-06-30 2019-01-15 Snap Inc. Pictograph password security system
US11334768B1 (en) 2016-07-05 2022-05-17 Snap Inc. Ephemeral content management
US10855632B2 (en) 2016-07-19 2020-12-01 Snap Inc. Displaying customized electronic messaging graphics
EP3800618B1 (en) 2016-08-30 2022-12-07 Snap Inc. Systems and methods for simultaneous localization and mapping
US10552968B1 (en) 2016-09-23 2020-02-04 Snap Inc. Dense feature scale detection for image matching
US10609036B1 (en) 2016-10-10 2020-03-31 Snap Inc. Social media post subscribe requests for buffer user accounts
US10432559B2 (en) 2016-10-24 2019-10-01 Snap Inc. Generating and displaying customized avatars in electronic messages
KR20220156101A (ko) 2016-11-01 2022-11-24 스냅 인코포레이티드 고속 비디오 캡처 및 센서 조절
CN112738408B (zh) 2016-11-07 2022-09-16 斯纳普公司 图像修改器的选择性识别和排序
US10203855B2 (en) 2016-12-09 2019-02-12 Snap Inc. Customized user-controlled media overlays
US10740939B1 (en) 2016-12-09 2020-08-11 Snap Inc. Fast image style transfers
US11616745B2 (en) 2017-01-09 2023-03-28 Snap Inc. Contextual generation and selection of customized media content
US10242477B1 (en) 2017-01-16 2019-03-26 Snap Inc. Coded vision system
US10454857B1 (en) 2017-01-23 2019-10-22 Snap Inc. Customized digital avatar accessories
US10915911B2 (en) 2017-02-03 2021-02-09 Snap Inc. System to determine a price-schedule to distribute media content
US11250075B1 (en) 2017-02-17 2022-02-15 Snap Inc. Searching social media content
US10319149B1 (en) 2017-02-17 2019-06-11 Snap Inc. Augmented reality anamorphosis system
US11019001B1 (en) 2017-02-20 2021-05-25 Snap Inc. Selective presentation of group messages
US10074381B1 (en) 2017-02-20 2018-09-11 Snap Inc. Augmented reality speech balloon system
US10374993B2 (en) 2017-02-20 2019-08-06 Snap Inc. Media item attachment system
US10878837B1 (en) 2017-03-01 2020-12-29 Snap Inc. Acoustic neural network scene detection
US10565795B2 (en) 2017-03-06 2020-02-18 Snap Inc. Virtual vision system
US10523625B1 (en) 2017-03-09 2019-12-31 Snap Inc. Restricted group content collection
US10581782B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US10582277B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US11170393B1 (en) 2017-04-11 2021-11-09 Snap Inc. System to calculate an engagement score of location based media content
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
US11893647B2 (en) 2017-04-27 2024-02-06 Snap Inc. Location-based virtual avatars
US10212541B1 (en) 2017-04-27 2019-02-19 Snap Inc. Selective location-based identity communication
US10382372B1 (en) 2017-04-27 2019-08-13 Snap Inc. Processing media content based on original context
CN111010882B (zh) 2017-04-27 2023-11-03 斯纳普公司 在基于地图的社交媒体平台上的位置隐私关联
US10467147B1 (en) 2017-04-28 2019-11-05 Snap Inc. Precaching unlockable data elements
US10943255B1 (en) 2017-04-28 2021-03-09 Snap Inc. Methods and systems for interactive advertising with media collections
US10679428B1 (en) 2017-05-26 2020-06-09 Snap Inc. Neural network-based image stream modification
US10803120B1 (en) 2017-05-31 2020-10-13 Snap Inc. Geolocation based playlists
US10788900B1 (en) 2017-06-29 2020-09-29 Snap Inc. Pictorial symbol prediction
US11216517B1 (en) 2017-07-31 2022-01-04 Snap Inc. Methods and systems for selecting user generated content
US11323398B1 (en) 2017-07-31 2022-05-03 Snap Inc. Systems, devices, and methods for progressive attachments
US11164376B1 (en) 2017-08-30 2021-11-02 Snap Inc. Object modeling using light projection
US9980100B1 (en) 2017-08-31 2018-05-22 Snap Inc. Device location based on machine learning classifications
US11475254B1 (en) 2017-09-08 2022-10-18 Snap Inc. Multimodal entity identification
US10474900B2 (en) 2017-09-15 2019-11-12 Snap Inc. Real-time tracking-compensated image effects
US10740974B1 (en) 2017-09-15 2020-08-11 Snap Inc. Augmented reality system
US10891723B1 (en) 2017-09-29 2021-01-12 Snap Inc. Realistic neural network based image style transfer
US10499191B1 (en) 2017-10-09 2019-12-03 Snap Inc. Context sensitive presentation of content
US10872292B1 (en) 2017-10-09 2020-12-22 Snap Inc. Compact neural networks using condensed filters
US10573043B2 (en) 2017-10-30 2020-02-25 Snap Inc. Mobile-based cartographic control of display content
US10599289B1 (en) 2017-11-13 2020-03-24 Snap Inc. Interface to display animated icon
US11551059B1 (en) 2017-11-15 2023-01-10 Snap Inc. Modulated image segmentation
US10885564B1 (en) 2017-11-28 2021-01-05 Snap Inc. Methods, system, and non-transitory computer readable storage medium for dynamically configurable social media platform
US11265273B1 (en) 2017-12-01 2022-03-01 Snap, Inc. Dynamic media overlay with smart widget
US10217488B1 (en) 2017-12-15 2019-02-26 Snap Inc. Spherical video editing
US11017173B1 (en) 2017-12-22 2021-05-25 Snap Inc. Named entity recognition visual context and caption data
US10523606B2 (en) 2018-01-02 2019-12-31 Snap Inc. Generating interactive messages with asynchronous media content
US10678818B2 (en) 2018-01-03 2020-06-09 Snap Inc. Tag distribution visualization system
US10482565B1 (en) 2018-02-12 2019-11-19 Snap Inc. Multistage neural network processing using a graphics processor
US11507614B1 (en) 2018-02-13 2022-11-22 Snap Inc. Icon based tagging
US10726603B1 (en) 2018-02-28 2020-07-28 Snap Inc. Animated expressive icon
US10979752B1 (en) 2018-02-28 2021-04-13 Snap Inc. Generating media content items based on location information
US10885136B1 (en) 2018-02-28 2021-01-05 Snap Inc. Audience filtering system
US10327096B1 (en) 2018-03-06 2019-06-18 Snap Inc. Geo-fence selection system
KR102574151B1 (ko) 2018-03-14 2023-09-06 스냅 인코포레이티드 위치 정보에 기초한 수집가능한 항목들의 생성
US11163941B1 (en) 2018-03-30 2021-11-02 Snap Inc. Annotating a collection of media content items
US11310176B2 (en) 2018-04-13 2022-04-19 Snap Inc. Content suggestion system
WO2019204464A1 (en) 2018-04-18 2019-10-24 Snap Inc. Augmented expression system
US10219111B1 (en) 2018-04-18 2019-02-26 Snap Inc. Visitation tracking system
US11487501B2 (en) 2018-05-16 2022-11-01 Snap Inc. Device control using audio data
US10896197B1 (en) 2018-05-22 2021-01-19 Snap Inc. Event detection system
US10679393B2 (en) 2018-07-24 2020-06-09 Snap Inc. Conditional modification of augmented reality object
US11985588B2 (en) * 2018-08-23 2024-05-14 Lg Electronics Inc. Method and device for obtaining information about communication entity operating in new band in wireless LAN system
US10997760B2 (en) 2018-08-31 2021-05-04 Snap Inc. Augmented reality anthropomorphization system
US10698583B2 (en) 2018-09-28 2020-06-30 Snap Inc. Collaborative achievement interface
US10778623B1 (en) 2018-10-31 2020-09-15 Snap Inc. Messaging and gaming applications communication platform
US10939236B1 (en) 2018-11-30 2021-03-02 Snap Inc. Position service to determine relative position to map features
US11199957B1 (en) 2018-11-30 2021-12-14 Snap Inc. Generating customized avatars based on location information
US11032670B1 (en) 2019-01-14 2021-06-08 Snap Inc. Destination sharing in location sharing system
US10939246B1 (en) 2019-01-16 2021-03-02 Snap Inc. Location-based context information sharing in a messaging system
US11294936B1 (en) 2019-01-30 2022-04-05 Snap Inc. Adaptive spatial density based clustering
US11297027B1 (en) 2019-01-31 2022-04-05 Snap Inc. Automated image processing and insight presentation
US11972529B2 (en) 2019-02-01 2024-04-30 Snap Inc. Augmented reality system
US10936066B1 (en) 2019-02-13 2021-03-02 Snap Inc. Sleep detection in a location sharing system
US10838599B2 (en) 2019-02-25 2020-11-17 Snap Inc. Custom media overlay system
US10964082B2 (en) 2019-02-26 2021-03-30 Snap Inc. Avatar based on weather
US10852918B1 (en) 2019-03-08 2020-12-01 Snap Inc. Contextual information in chat
US11868414B1 (en) 2019-03-14 2024-01-09 Snap Inc. Graph-based prediction for contact suggestion in a location sharing system
US11852554B1 (en) 2019-03-21 2023-12-26 Snap Inc. Barometer calibration in a location sharing system
US11249614B2 (en) 2019-03-28 2022-02-15 Snap Inc. Generating personalized map interface with enhanced icons
US10810782B1 (en) 2019-04-01 2020-10-20 Snap Inc. Semantic texture mapping system
US10582453B1 (en) 2019-05-30 2020-03-03 Snap Inc. Wearable device location systems architecture
US10560898B1 (en) 2019-05-30 2020-02-11 Snap Inc. Wearable device location systems
US10893385B1 (en) 2019-06-07 2021-01-12 Snap Inc. Detection of a physical collision between two client devices in a location sharing system
US11134036B2 (en) 2019-07-05 2021-09-28 Snap Inc. Event planning in a content sharing platform
US11307747B2 (en) 2019-07-11 2022-04-19 Snap Inc. Edge gesture interface with smart interactions
US11812347B2 (en) 2019-09-06 2023-11-07 Snap Inc. Non-textual communication and user states management
US11821742B2 (en) 2019-09-26 2023-11-21 Snap Inc. Travel based notifications
US11218838B2 (en) 2019-10-31 2022-01-04 Snap Inc. Focused map-based context information surfacing
US11128715B1 (en) 2019-12-30 2021-09-21 Snap Inc. Physical friend proximity in chat
US11429618B2 (en) 2019-12-30 2022-08-30 Snap Inc. Surfacing augmented reality objects
US11169658B2 (en) 2019-12-31 2021-11-09 Snap Inc. Combined map icon with action indicator
US11343323B2 (en) 2019-12-31 2022-05-24 Snap Inc. Augmented reality objects registry
US11265281B1 (en) 2020-01-28 2022-03-01 Snap Inc. Message deletion policy selection
US11316806B1 (en) 2020-01-28 2022-04-26 Snap Inc. Bulk message deletion
US11228551B1 (en) 2020-02-12 2022-01-18 Snap Inc. Multiple gateway message exchange
US11516167B2 (en) 2020-03-05 2022-11-29 Snap Inc. Storing data based on device location
US11619501B2 (en) 2020-03-11 2023-04-04 Snap Inc. Avatar based on trip
US10956743B1 (en) 2020-03-27 2021-03-23 Snap Inc. Shared augmented reality system
US11430091B2 (en) 2020-03-27 2022-08-30 Snap Inc. Location mapping for large scale augmented-reality
US11625873B2 (en) 2020-03-30 2023-04-11 Snap Inc. Personalized media overlay recommendation
US11464319B2 (en) * 2020-03-31 2022-10-11 Snap Inc. Augmented reality beauty product tutorials
US11700225B2 (en) 2020-04-23 2023-07-11 Snap Inc. Event overlay invite messaging system
US11843574B2 (en) 2020-05-21 2023-12-12 Snap Inc. Featured content collection interface
US11423652B2 (en) 2020-06-10 2022-08-23 Snap Inc. Adding beauty products to augmented reality tutorials
CN115885247A (zh) 2020-06-10 2023-03-31 斯纳普公司 用于启动应用的视觉搜索
US11290851B2 (en) 2020-06-15 2022-03-29 Snap Inc. Location sharing using offline and online objects
US11314776B2 (en) 2020-06-15 2022-04-26 Snap Inc. Location sharing using friend list versions
US11483267B2 (en) 2020-06-15 2022-10-25 Snap Inc. Location sharing using different rate-limited links
US11503432B2 (en) 2020-06-15 2022-11-15 Snap Inc. Scalable real-time location sharing framework
US11308327B2 (en) 2020-06-29 2022-04-19 Snap Inc. Providing travel-based augmented reality content with a captured image
US11899905B2 (en) 2020-06-30 2024-02-13 Snap Inc. Selectable items providing post-viewing context actions
CN116114258A (zh) 2020-08-13 2023-05-12 斯纳普公司 用于位姿驱动的虚拟效果的用户界面
US11349797B2 (en) 2020-08-31 2022-05-31 Snap Inc. Co-location connection service
US11606756B2 (en) 2021-03-29 2023-03-14 Snap Inc. Scheduling requests for location data
US11645324B2 (en) 2021-03-31 2023-05-09 Snap Inc. Location-based timeline media content system
US11829834B2 (en) 2021-10-29 2023-11-28 Snap Inc. Extended QR code
US12001750B2 (en) 2022-04-20 2024-06-04 Snap Inc. Location-based shared augmented reality experience system
US11973730B2 (en) 2022-06-02 2024-04-30 Snap Inc. External messaging function for an interaction system
US12020384B2 (en) 2022-06-21 2024-06-25 Snap Inc. Integrating augmented reality experiences with other components
US12020386B2 (en) 2022-06-23 2024-06-25 Snap Inc. Applying pregenerated virtual experiences in new location

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020101446A1 (en) * 2000-03-09 2002-08-01 Sun Microsystems, Inc. System and mehtod for providing spatially distributed device interaction
JP2003099546A (ja) * 2001-06-08 2003-04-04 Microsoft Corp 情報の周辺アウェアネスを自動的に提供するシステムおよび動的オブジェクトを提供する方法

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2829159B2 (ja) * 1991-09-10 1998-11-25 パイオニア株式会社 Catvシステムにおける告知情報通信方法
US5555376A (en) * 1993-12-03 1996-09-10 Xerox Corporation Method for granting a user request having locational and contextual attributes consistent with user policies for devices having locational attributes consistent with the user request
US6230173B1 (en) * 1995-07-17 2001-05-08 Microsoft Corporation Method for creating structured documents in a publishing system
US6437803B1 (en) * 1998-05-29 2002-08-20 Citrix Systems, Inc. System and method for combining local and remote windows into a single desktop environment
US5793365A (en) * 1996-01-02 1998-08-11 Sun Microsystems, Inc. System and method providing a computer user interface enabling access to distributed workgroup members
US6750881B1 (en) * 1997-02-24 2004-06-15 America Online, Inc. User definable on-line co-user lists
US5956644A (en) * 1997-07-28 1999-09-21 Motorola, Inc. Multiple-user communication unit and method for operating in a satellite communication system
US6512930B2 (en) * 1997-12-30 2003-01-28 Telefonaktiebolaget Lm Ericsson (Publ) On-line notification in a mobile communications system
US6148328A (en) * 1998-01-29 2000-11-14 International Business Machines Corp. Method and system for signaling presence of users in a networked environment
DE19829797A1 (de) * 1998-07-03 2000-01-05 Viag Interkom Gmbh & Co Kommunikationssystem und ein hierfür geeignetes Verfahren zum Betreiben des Kommunikationssystems
US6463471B1 (en) * 1998-12-28 2002-10-08 Intel Corporation Method and system for validating and distributing network presence information for peers of interest
US6564261B1 (en) * 1999-05-10 2003-05-13 Telefonaktiebolaget Lm Ericsson (Publ) Distributed system to intelligently establish sessions between anonymous users over various networks
US6301609B1 (en) * 1999-07-07 2001-10-09 Lucent Technologies Inc. Assignable associate priorities for user-definable instant messaging buddy groups
US20020065894A1 (en) * 1999-12-03 2002-05-30 Dalal Siddhartha R. Local presence state and user-controlled presence and message forwarding in unified instant messaging
US20020035605A1 (en) * 2000-01-26 2002-03-21 Mcdowell Mark Use of presence and location information concerning wireless subscribers for instant messaging and mobile commerce
US6697840B1 (en) * 2000-02-29 2004-02-24 Lucent Technologies Inc. Presence awareness in collaborative systems
AU4327501A (en) * 2000-02-29 2001-09-12 Benjamin D Baker Intelligence driven paging process for a chat room
US6760580B2 (en) * 2000-03-06 2004-07-06 America Online, Incorporated Facilitating instant messaging outside of user-defined buddy group in a wireless and non-wireless environment
WO2001071939A1 (en) * 2000-03-21 2001-09-27 Ehud Shapiro Community co-presence system and method having virtual groups
US6920478B2 (en) * 2000-05-11 2005-07-19 Chikka Pte Ltd. Method and system for tracking the online status of active users of an internet-based instant messaging system
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
US7056217B1 (en) * 2000-05-31 2006-06-06 Nintendo Co., Ltd. Messaging service for video game systems with buddy list that displays game being played
US6542750B2 (en) * 2000-06-10 2003-04-01 Telcontar Method and system for selectively connecting mobile users based on physical proximity
US6539232B2 (en) * 2000-06-10 2003-03-25 Telcontar Method and system for connecting mobile users based on degree of separation
US20040122810A1 (en) * 2000-06-22 2004-06-24 Yaron Mayer System and method for searching, finding and contacting dates on the Internet in instant messaging networks and/or in other methods that enable immediate finding and creating immediate contact
US6699125B2 (en) * 2000-07-03 2004-03-02 Yahoo! Inc. Game server for use in connection with a messenger server
US6757365B1 (en) * 2000-10-16 2004-06-29 Tellme Networks, Inc. Instant messaging via telephone interfaces
US6714519B2 (en) * 2000-11-03 2004-03-30 Vocaltec Communications Limited Communications availability
GB0028474D0 (en) * 2000-11-22 2001-01-10 Raekanet Ltd Improved computer network architecture and associated method and system
US6484033B2 (en) * 2000-12-04 2002-11-19 Motorola, Inc. Wireless communication system for location based schedule management and method therefor
US6433735B1 (en) * 2000-12-26 2002-08-13 Telefonaktiebolaget (Lme) Mobile terminal and system and method for determining the geographic location of a mobile terminal
US7197565B2 (en) * 2001-01-22 2007-03-27 Sun Microsystems, Inc. System and method of using a pipe advertisement for a peer-to-peer network entity in peer-to-peer presence detection
WO2002063489A1 (en) * 2001-02-05 2002-08-15 Personity, Inc. A method of sending a communication from a first terminal to a second terminal via a host
US7107312B2 (en) * 2001-02-06 2006-09-12 Lucent Technologies Inc. Apparatus and method for use in a data/conference call system for automatically collecting participant information and providing all participants with that information for use in collaboration services
US7299257B2 (en) * 2001-02-06 2007-11-20 Lucent Technologies Inc. Apparatus and method for use in collaboration services
US20020147777A1 (en) * 2001-02-06 2002-10-10 Hackbarth Randy L. Apparatus and method for use in portal service for a team utilizing collaboration services
US20030018704A1 (en) * 2001-03-08 2003-01-23 Vasilis Polychronidis Network presence and location agent
WO2002073332A2 (en) * 2001-03-14 2002-09-19 Nokia Corporation Separation of instant messaging user and client identities
US6981223B2 (en) * 2001-03-19 2005-12-27 Ecrio, Inc. Method, apparatus and computer readable medium for multiple messaging session management with a graphical user interface
US6778498B2 (en) * 2001-03-20 2004-08-17 Mci, Inc. Virtual private network (VPN)-aware customer premises equipment (CPE) edge router
US6990180B2 (en) * 2001-04-05 2006-01-24 Nokia Mobile Phones Limited Short voice message (SVM) service method, apparatus and system
AU2002255030B2 (en) * 2001-05-11 2006-08-10 Nokia Corporation Mobile instant messaging and presence service
WO2003003694A2 (en) * 2001-06-26 2003-01-09 Versada Networks, Inc. Detecting and transporting dynamic presence information over a wireless and wireline communications network
US7028074B2 (en) * 2001-07-03 2006-04-11 International Business Machines Corporation Automatically determining the awareness settings among people in distributed working environment
US7197011B2 (en) * 2001-08-06 2007-03-27 Ricoh Company, Ltd. System, computer program product and method for managing and controlling a local network of electronic devices
US20030041101A1 (en) * 2001-08-24 2003-02-27 Hansche Brian A. Presence watcher proxy
US7062533B2 (en) * 2001-09-20 2006-06-13 International Business Machines Corporation Specifying monitored user participation in messaging sessions
US6938213B2 (en) * 2001-09-20 2005-08-30 International Business Machines Corporation Tracking user availability for participation in messaging sessions
US7167703B2 (en) * 2001-09-25 2007-01-23 Wildseed, Ltd. Wireless mobile image messaging
US20030060215A1 (en) * 2001-09-27 2003-03-27 Graham Tyrol R. System and method for displaying subscriber locations on mobile stations
WO2003032613A1 (en) * 2001-10-10 2003-04-17 Hotsip Ab A method and a system for providing a user with a presence service
US6677976B2 (en) * 2001-10-16 2004-01-13 Sprint Communications Company, LP Integration of video telephony with chat and instant messaging environments
US7353247B2 (en) * 2001-10-19 2008-04-01 Microsoft Corporation Querying applications using online messenger service
US6735287B2 (en) * 2001-11-16 2004-05-11 Sbc Technology Resources, Inc. Method and system for multimodal presence detection
US20030135624A1 (en) * 2001-12-27 2003-07-17 Mckinnon Steve J. Dynamic presence management
GB0202370D0 (en) * 2002-02-01 2002-03-20 Symbian Ltd Pinging
CA2472953A1 (en) * 2002-02-14 2003-08-21 Andrew Charles Zmolek Presence tracking and name space interconnection techniques
JP2003271531A (ja) * 2002-03-18 2003-09-26 Nec Corp メッセージサーバ、メッセージシステム、プレゼンス情報管理方法及びプログラム
US6658095B1 (en) * 2002-03-19 2003-12-02 Nortel Networks Limited Customized presence information delivery
US6771991B1 (en) * 2002-03-28 2004-08-03 Motorola, Inc. Graphics and variable presence architectures in wireless communication networks, mobile handsets and methods therefor
US7035923B1 (en) * 2002-04-10 2006-04-25 Nortel Networks Limited Presence information specifying communication preferences
US7127685B2 (en) * 2002-04-30 2006-10-24 America Online, Inc. Instant messaging interface having a tear-off element
US7266775B2 (en) * 2002-05-09 2007-09-04 Siemens Medical Solutions Health Services Corporation Method for retrieving information from an information repository
US7899915B2 (en) * 2002-05-10 2011-03-01 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
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
US7096255B2 (en) * 2002-05-21 2006-08-22 Bellsouth Intellectual Property Corp. System and method for providing a roster list of temporary contacts having expiration periods designated by a user in an instant messaging environment
US7640300B2 (en) * 2002-06-10 2009-12-29 Microsoft Corporation Presence and notification system for maintaining and communicating information
KR100477651B1 (ko) * 2002-06-12 2005-03-23 삼성전자주식회사 정보기기의 im 기반 인터페이스 장치
US6978136B2 (en) * 2002-07-15 2005-12-20 Motorola, Inc. Method and wireless device for establishing a communication interface for a communication session
US7234117B2 (en) * 2002-08-28 2007-06-19 Microsoft Corporation System and method for shared integrated online social interaction
US6976092B1 (en) * 2002-09-17 2005-12-13 Bellsouth Intellectual Property Corp. System that using transport protocol objects located at agent location to generate session ID and to provide translation between different instant messaging protocols
US20040061720A1 (en) * 2002-09-26 2004-04-01 Matt Weber Multi-function browser toolbar with method for online institutional administrative browser control
US20040107250A1 (en) * 2002-10-21 2004-06-03 Guillermo Marciano Methods and systems for integrating communication resources using the internet
US20040098491A1 (en) * 2002-11-14 2004-05-20 Jose Costa-Requena Accessing presence information
AU2003291042A1 (en) * 2002-11-18 2004-06-15 America Online, Inc. Enhanced buddy list interface
US7266776B2 (en) 2002-11-25 2007-09-04 Aol Llc Facilitating communications between computer users across a network
US20040203896A1 (en) * 2002-12-17 2004-10-14 Yuri Deigin Proximity-based matching method and system
US20040122901A1 (en) * 2002-12-20 2004-06-24 Nortel Networks Limited Providing computer presence information to an integrated presence system
EP1441486B1 (en) * 2003-01-22 2010-03-24 Nec Corporation Presence system
US6990353B2 (en) * 2003-02-19 2006-01-24 Lucent Technologies Inc. Communication to one mobile station of update of call participation availability status of another mobile station
GB2398969B (en) * 2003-02-27 2006-07-05 Ericsson Telefon Ab L M Message management
US20040196315A1 (en) * 2003-04-01 2004-10-07 International Business Machines Corporation Method and apparatus for management of a primary buddy list in an instant messaging system
US6970547B2 (en) * 2003-05-12 2005-11-29 Onstate Communications Corporation Universal state-aware communications
EP1629457B1 (en) 2003-05-20 2011-11-23 America Online, Inc. Presence and geographic location notification
WO2004107631A2 (en) * 2003-05-27 2004-12-09 Geodesic Information System Ltd. Universal presence indicator and instant messaging system
FR2857815A1 (fr) * 2003-07-17 2005-01-21 France Telecom Procede et systeme de detection de presence d'un terminal mobile
US20050050301A1 (en) * 2003-08-29 2005-03-03 Yahoo!, Inc. Extensible user interface
US7499974B2 (en) * 2003-09-30 2009-03-03 International Business Machines Corporation Instant message user management
US20050188174A1 (en) * 2003-10-12 2005-08-25 Microsoft Corporation Extensible creation and editing of collections of objects
ATE548844T1 (de) * 2003-10-30 2012-03-15 Research In Motion Ltd System und verfahren für drahtlose nähefeststellung
US6968185B2 (en) * 2003-11-05 2005-11-22 Interdigital Technology Corporation Mobile wireless presence and situation management system and method
US7310534B2 (en) * 2003-12-16 2007-12-18 Sony Ericsson Mobile Communications Ab Location status indicator for mobile phones
US7443283B2 (en) * 2004-02-19 2008-10-28 Massachusetts Institute Of Technology Methods and apparatus for connecting an intimate group by exchanging awareness cues and text, voice instant messages, and two-way voice communications
US20050223287A1 (en) * 2004-03-25 2005-10-06 International Business Machines Corporation Presence-based system management information routing system
US20050227216A1 (en) * 2004-04-12 2005-10-13 Gupta Puneet K Method and system for providing access to electronic learning and social interaction within a single application
US20060031367A1 (en) * 2004-06-04 2006-02-09 John Buford Instant messaging and presence using virtual devices
US7836126B2 (en) * 2004-08-04 2010-11-16 Sap Ag Business presence system and method
US20060047761A1 (en) * 2004-08-30 2006-03-02 Matsushita Electric Industrial Co., Ltd. Mechanism to support transparent roaming between IMP service providers in wireless networks
JP2008513897A (ja) * 2004-09-21 2008-05-01 ネトマット, インコーポレイテッド モバイルメッセージングシステムおよび方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020101446A1 (en) * 2000-03-09 2002-08-01 Sun Microsystems, Inc. System and mehtod for providing spatially distributed device interaction
JP2003099546A (ja) * 2001-06-08 2003-04-04 Microsoft Corp 情報の周辺アウェアネスを自動的に提供するシステムおよび動的オブジェクトを提供する方法

Also Published As

Publication number Publication date
JP2007535754A (ja) 2007-12-06
EP1743237A4 (en) 2011-11-16
KR20070015838A (ko) 2007-02-06
CN101137951A (zh) 2008-03-05
EP1743237A2 (en) 2007-01-17
US20050246369A1 (en) 2005-11-03
BRPI0406382A (pt) 2006-02-07
MXPA05006637A (es) 2006-01-24
RU2569804C2 (ru) 2015-11-27
WO2005111779A2 (en) 2005-11-24
WO2005111779A3 (en) 2007-02-22
RU2005120684A (ru) 2006-05-10
CA2501486A1 (en) 2005-11-01
CN100557551C (zh) 2009-11-04
US7607096B2 (en) 2009-10-20
CA2501486C (en) 2014-07-08
AU2004279203A1 (en) 2005-11-17
RU2010133858A (ru) 2012-02-20
AU2004279203B2 (en) 2010-05-13

Similar Documents

Publication Publication Date Title
KR101319640B1 (ko) 네트워크상의 존재 정보를 발견하고 공개하도록 지시되는사용자 인터페이스를 위한 시스템 및 방법
US8239452B2 (en) System and method for discovering and publishing of presence information on a network
US7698307B2 (en) System and method for synchronizing between a file system and presence of contacts on a network
US7437566B2 (en) System and method for identity confirmation of a contact published on a network
KR101417722B1 (ko) 통지 메시지들의 관리
US9473427B2 (en) Method and system for delivering reminder information
US20030046433A1 (en) Method to synchronize information between online devices
US9661092B2 (en) Method and apparatus for providing presence information
JP2007527557A (ja) 分散ソフトウェア・アプリケーションを含むデータ・アクセス、複製または通信システム
WO2006018994A1 (ja) グループ管理装置及び情報処理装置及び方法
JP2005216313A (ja) クライアント端末装置とサーバーとの間のセッション再設定のためのシステム及び方法
US20050208940A1 (en) Network service system using a temporary use identifier
JP2004127298A (ja) 送信元特有の電子メッセージアドレス指定
TW200425691A (en) Time-to-disconnect enforcement when communicating with wireless devices that have transient network addresses
JP2004054340A (ja) インスタントメッセージング装置、インスタントメッセージングシステム、インスタントメッセージング方法、プログラム及び記録媒体
JP4591117B2 (ja) プレゼンス情報配布システム
EP2712148A1 (en) Method and system for providing presence information
TWI393406B (zh) Integrating mobile content sharing and delivery system and its method in integrated network environment
Campo et al. Secure Service Discovery based on Trust Management for ad-hoc Networks.
US11012399B1 (en) Partial message delivery and status notification in an end-to-end secure messaging context
JP2013205959A (ja) 情報処理装置及びプログラム
KR20060094990A (ko) 대화명 관리기능을 갖는 이동통신 단말기, 이를 이용한 대화명 관리시스템 및 그 방법
JP2006039680A (ja) サーバークライアントシステム
JP2008199315A (ja) 仮想通信システム、通信端末、中継管理サーバ、及び、仮想通信方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160921

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170919

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 6