KR20050119658A - 통지 전달용 확장가능 사용자 콘텍스트 시스템 - Google Patents

통지 전달용 확장가능 사용자 콘텍스트 시스템 Download PDF

Info

Publication number
KR20050119658A
KR20050119658A KR1020057017980A KR20057017980A KR20050119658A KR 20050119658 A KR20050119658 A KR 20050119658A KR 1020057017980 A KR1020057017980 A KR 1020057017980A KR 20057017980 A KR20057017980 A KR 20057017980A KR 20050119658 A KR20050119658 A KR 20050119658A
Authority
KR
South Korea
Prior art keywords
user
notification
delivery
condition
context
Prior art date
Application number
KR1020057017980A
Other languages
English (en)
Other versions
KR100939428B1 (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 KR20050119658A publication Critical patent/KR20050119658A/ko
Application granted granted Critical
Publication of KR100939428B1 publication Critical patent/KR100939428B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • 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]

Landscapes

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

Abstract

본 발명은 통지의 전달을 제어하기 위한 시스템(200)에 관한 것이다. 본 시스템은 다수의 소스들로부터 통지(206)의 전달을 중개하고 차례로 나열한다. 또한, 사용자 콘텍스트의 공유된 개념(shared notion)이 각 통지에 대한 적절한 처리를 판정하기 위해 제공된다. 일실시예에서, 사용자 콘텍스트는 참 또는 거짓일 수 있는 조건과, 그 조건일 참인 경우 따라야 하는 명령으로 구성된다. 예를 들어, 사용자가 음악을 청취하고 있다면, 명령은 스크린에 통지를 보여주되 통지에 대한 어떠한 사운드도 재생하지 말라로 될 수 있다. 사용자 콘텍스트가 운영체제 또는 임의의 프로그램(204)에 의해 선언된다. 사용자 콘텍스트는 사용자의 선호도(204)에 따라서 수정하기 위해 사용자에게 제시될 수 있다. 사용자는 또한 지정된 요소들에 포함된 통지들이 어떻게 처리되어야 하는지를 나타내는 규칙들을 정의할 수 있고(204), 사용자 콘텍스트의 명령들에 대한 예외를 제공할 수 있다.

Description

통지 전달용 확장가능 사용자 콘텍스트 시스템{EXTENSIBLE USER CONTEXT SYSTEM FOR DELIVERY OF NOTIFICATIONS}
관련 출원의 교차 참조
본 출원은, 본 출원과 동시에 제출된, 발명의 명칭이 "System and Method Utilizing Test Notifications"인 미국 출원 대리인 문서번호 MSFT-1-20462호와 관련되어 있으며, 그 전체가 본 명세서에 참조로 포함되어 있다.
발명 분야
본 발명은 컴퓨팅 시스템에서의 통지(notification)에 관한 것이며, 보다 구체적으로는 다수의 소스로부터 그리고 사용자 콘텍스트에 따라서 통지의 전달(delivery of notification)을 제어하기 위한 시스템에 관한 것이다.
컴퓨터 시스템에서, 통지란 특정 사건이 발생한 사용자에게 나타내는 프로그램으로부터의 신호 형태가 될 수 있다. 그러한 통지는 또한 텍스트, 사운드, 및 그래픽 등 여러가지 요소를 포함할 수 있다. 우선 순위, (이메일 또는 인스턴트 메시지와 같은 채널에 대해서) 통지를 보낸 사람, 및 언제 통지가 만료하는 지와 같은, 다른 속성들이 또한 통지로 포함될 수 있다. 통지는 또한 사용자가 그 통지와 상호작용할 수 있고, 임시 코드를 론칭할 수 있도록 일부 코드 요소들(예를 들어, 새로운 프로그램이 론칭하도록 또는 동작이 현재 실행되고 있는 프로그램 상에서 취해지도록 할 수 있는 통지 내의 버튼 또는 텍스트를 클릭하는 등)을 포함할 수 있다.
운영체제는 사용자가 네트워크 접속성 및 업데이트에 대해 알게 하기 위해 통지를 생성할 수 있다. "접촉 리스트"를 이용하는 인스턴트 메시지 프로그램은 접촉 리스트에서 발생하는 것이 무엇인지 또는 접촉이 인스턴트 메시지 대화를 언제 시작하는지를 사용자가 알게하기 위해 스크린 상에 통지를 드로잉(draw)할 수 있다. 다른 프로그램들이 유사한 디스플레이 영역에 드로잉된 유사한 통지를 제공할 수 있다. 이러한 통지 형태가 갖는 한가지 문제는 이들이 일반적으로 다른 통지들을 인식하지 못하므로, 종종 다른 통지의 위에 드로잉되는 통지를 유도할 수 있다는 것이다.
현존하는 통지 시스템이 갖는 또 다른 문제는 통지가 부적절하게 또는 부적절한 시간에 전달되도록 할 수 있다는 것이다. 예를 들어, 사용자에게 풀스크린 프리젠테이션을 제공할 경우, 다른 프로그램이 그 프리젠테이션동안 스크린 상에 통지를 드로잉하게 하는 것은 부적절할 수 있다. 그러한 부적절한 통지를 표시할 수 있는 프로그램의 일례는 운영체제의 백그라운드에서 실행하여 그 접촉 리스트 싸인(sign)에 접촉하거나 인스턴트 메시지를 시작한 경우의 통지를 드로잉하는 인스턴트 메시지 프로그램이다. 이러한 프리젠테이션 동안의 "방해" 유형은 사용자에게 바람직하지 못한 것이다.
본 발명은 상술한 단점 및 기타 다른 단점들을 극복하는 시스템을 제공하는 것에 관한 것이다. 보다 구체적으로는, 본 발명은 각 통지의 적절한 처리를 판정할 때, 사용자 콘텍스트를 설명하는 다수의 소스들로부터의 도착 통지를 제어하기 위한 시스템에 관한 것이다.
발명의 개요
통지의 전달을 제어하기 위한 시스템이 제공된다. 본 발명의 일양상에 따르면, 본 시스템은 다수의 소스들로부터의 통지 전달을 중개하여(broker) 차례로 나열한다(serialize). 또한, 각 통지에 대한 적절한 처리를 판정하기 위해, 사용자 콘텍스트의 공유된 개념(shared notion)이 제공된다. 이러한 양상들에 따라서, 시스템에 의해 전달된 통지는 사용자가 더 잘 받아들이는 상태일 때 통지가 전달된다는 점에서 보다 가치있는 것으로 고려될 수 있다. 이러한 양상들은 또한 사용자가 바람직하지 못한 통지들을 제거하도록 도와주는 통상의 역할도 제공한다.
본 발명의 또 다른 양상에 따르면, 사용자 콘텍스트는 운영체제 및 임의의 프로그램들에 의해 선언된다. 일실시예에서, 사용자 콘텍스트는 참 또는 거짓일 수 있는 조건을 포함하고, 그 조건이 참이라면 명령을 따라야 한다. 예를 들어, 조건이 "사용자가 음악을 청취하고 있는 경우"가 될 수 있으며, 그에 대한 명령은 "통지를 스크린 상에 전달하되 소리가 안나게 하라"가 될 수 있다. 일반적으로, 사용자 콘텍스트에 대한 조건은 시스템이 몇가지 방식으로 사용자가 통지 전달을 할 수 없도록 했음을 가정하거나, 또는 통지가 전달되어야 하는 방식이 그 통지를 시작했던 프로그램에 의해 보내졌던 방식과는 다르도록 하는 상태로서 생각될 수 있다. 사용자가 "이용가능(available)"하게 될때까지 통지가 전달되지 않거나 유지될 경우에, 사용자는 "이용불가(unavailable)"로 간주된 상태에 있을 수 있다. 예를 들어, 사용자가 디스플레이 스크린의 전체 영역 상에서 사용중이거나 디스플레이되고 있는 풀스크린 어플리케이션을 실행하고 있는 경우, 사용자는 이용불가로 간주될 수 있다. 그렇지 않으면, 사용자는 "이용가능"이 될 수 있되, 통지는 그 사용자에게 적절하도록 변경될 필요가 있는 상태이다.
본 발명의 또 다른 양상에 따라서, 콘텍스트를 선언하는 운영체제에 부가하여, 프로그램들을 그 시스템에 등록하여 그들이 제공하는 콘텍스트 및 그것이 통지에 미치는 효과(스크린 상의 드로잉이 적절한지, 그 스크린 상의 드로잉에 대한 침습성 레벨이 적절한지, 사운드가 적절한지 또는 관련 볼륨 사운드가 어떻게 재생되는지)를 선언하고, 이어서 콘텍스트가 참인지 거짓인지의 여부를 시스템에 알린다. 일실시예에서, 콘텍스트는 또한 통지가 전달되어야 하는 때에 참 또는 거짓으로 평가될 수 있다. 일실시예에서, 본 시스템은 또한 그 호출 프로그램의 처리를 트랙킹할 수 있고, 그 처리가 더 이상 존재하지 않으면, 거짓으로 리셋될 수 있다. 그 처리를 트랙킹함으로써, 사용자를 바쁜 상태로 선언하고, 이어서 파기하고, 이어서 사용자가 통지를 수신하기에 이용가능하지 않은 것으로 선언되었던 상태로 고정되는 어플리케이션과 같은, 임의의 바람직하지 못한 상황을 피할 수 있다.
본 발명의 또 다른 양상에 따라서, 통지의 드로잉에 대해 지정된 다른 침습성 레벨이 존재할 수 있다. 다시 말해, 사용자 콘텍스트에 기초하여, 그 통지의 드로잉에 대한 성분들이 존재할 수 있으므로, 드로잉된 통지의 형태의 다른 침습성 레벨이 존재할 수 있다. 예를 들어, 통상의 통지가 클라이언트 영역에 드로잉되어 윈도우를 간단히 가릴 수 있다. 사용자가 약간 제한적인 콘텍스트에 있다면, 통지는 또 다른 윈도우의 상부에 드로잉되도록 허용되지 않을 수 있는 것과 같이, 통지가 보여질 수 있되, 단지 약간 침습적인 방식으로 자유로울 수 있다. 또 다른 예로서, 사용자가 최대화된 어플리케이션을 실행하고 있는 경우, 사용자가 현재의 어플리케이션이 전체 클라이언트 영역을 얻기 원한다고 명백하게 진술했다는 점에서, 설정은 사용자 콘텍스트가 약간 제한되어 있는 것으로 될 수 있다. 이러한 상황에서, 통지는 여전히 드로잉되도록 허용될 수 있지만, 사이드바 내에만 나타나도록 될 수 있다. 이러한 통지 드로잉 형태의 감소된 침습성 형태는 통지 효과를 완화시키고, 인지(cognitive) 부하를 완화시킨다.
본 발명의 또 다른 양상에 따르면, 제공된 콘텍스트는 사용자에게 노출되어 있으며, 턴오프될 수 있고(예를 들어, 사용자가 그 콘텍스트의 프로그램 평가에 동의하지 않음) 또는 전달에 대한 효과에 의해 변경될 수 있다.
본 발명의 또 다른 양상에 따르면, 사용자는 특정 요소들을 포함하는 통지들이 어떻게 전달되어야 하는지를 나타내는 규칙들을 정의할 수 있다. 예를 들어, 사용자 규칙은 주제 라인에 "John Doe"로부터 "긴급(urgent)"으로 수신된 임의의 통지들은 즉시 전달되어야 함을 나타낼 수 있다. 일실시예에서, 그러한 사용자 규칙은 사용자 콘텍스트보다 앞서 주어진다. 그 사용자 규칙들은 사용자의 선호도에 따라서 사용자가 변경할 수 있다.
본 발명의 앞서 말한 양상들 및 많은 부수적인 장점들이 첨부 도면 및 다음의 상세한 설명을 참조하면 보다 잘 이해될 것이다.
도 1은 본 발명을 구현하기에 적합한 범용 컴퓨터 시스템의 블록도.
도 2는 본 발명에 따른 통지를 처리하기 위한 일반 루틴을 설명하는 흐름도.
도 3은 사용자 콘텍스트를 선언하는 운영체제 또는 임의의 프로그램의 루틴을 설명하는 흐름도.
도 4는 통지 API가 호출될 때에 사용자 콘텍스트를 참 또는 거짓으로 평가하기 위한 루틴을 설명하는 흐름도.
도 5는 사용자 콘텍스트를 조정하여 새로운 사용자 규칙을 생성하기 위한 루틴을 설명하는 흐름도.
도 6은 사용자 콘텍스트 및 사용자 규칙에 따라서 통지를 처리하기 위한 루틴을 설명하는 흐름도.
도 7은 통지의 내용 및 사용자 콘텍스트에 기초하여 사용자 규칙을 구현하기 위한 루틴을 설명하는 흐름도.
도 8은 통지의 전달을 연기하기 위한 루틴을 설명하는 흐름도.
도 9는 여러가지 제한 설정에 따라서 통지가 어떻게 그려질 지를 판정하기 위한 루틴을 설명하는 흐름도.
도 10은 여러가지 제한 설정에 따라서 통지에 대한 볼륨 레벨을 판정하기 위한 루틴을 설명하는 흐름도.
바람직한 실시예의 상세한 설명
본 발명은 통지를 전달하기 위한 시스템에 관한 것이다. 종래의 시스템에는 통상적으로 사용자에게 통지를 보내기를 원하는 다수의 경쟁 요소들이 존재해 왔으며, 그 요소들 각각은 그 통지들을 보내기 위해 자체적인 방식으로 설계된다. 경쟁 요소들 중 어느 것도 일반적으로 다른 통지들을 인식하지 못하므로, 서로 위에 드로잉되려고 하는 경향이 있으며, 서로의 어플리케이션들은 각각의 통지들의 표시를 동시에 렌더링하도록 선택할 경우에 충돌하도록 유도할 수 있다. 부가적으로, 부적절하게 또는 부적절한 횟수로 전달되는 몇몇 통지들을 유도하는 사용자 콘텍스트의 어떠한 공유된 개념도 없다. 본 발명은 운영체제의 중요한 부분인 통지들을 구축함으로써 이러한 문제들을 언급하며, 본 발명에 의해 제공되는 통지들에 대한 사용자 인터페이스가 유사하게 되므로, 시스템이 적절하게 중개하여 그들의 온-스크린 렌더링을 차례로 나열하기 때문에, 서로와의 충돌을 멈춘다. 또한, 본 발명이 제공하는 통지는 사용자가 보다 잘 받아들이는 경우에 전달되기 때문에 더 가치있는 것으로 고려될 수 있으며, 또한 공통 규칙의 사용은 사용자가 원치않는 통지들을 제거하도록 돕는다.
도 1과 다음 설명은 본 발명이 구현될 수 있는 적절한 컴퓨팅 환경의 간단하고 일반적인 설명을 제공하도록 의도된 것이다. 요구되는 것은 아니지만, 본 발명은 퍼스널 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령문들의 일반적인 콘텍스트로 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 요약 데이터 타입을 구현하는, 루틴, 프로그램, 특징, 컴포넌트, 데이터 구조 등을 포함한다. 본 기술분야의 숙련자들이 이해하고 있는 바와 같이, 본 발명은 핸드헬드 디바이스, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능 가전 제품, 네트워크 PC, 미니컴퓨터, 메인 프레임 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성으로 실용화될 수 있다. 본 발명은 또한 태스크들이 통신 네트워크를 통해 링크되는 원격 처리 디바이스에 의해 수행되는 분산 컴퓨팅 환경에서 실용화될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 디바이스 둘 모두에 위치될 수 있다.
도 1을 참조하면, 본 발명을 구현하기 위한 예시적인 시스템이 처리 유닛(21), 시스템 메모리(22) 및 그 시스템 메모리(22)를 포함하는 각종 시스템 컴포넌트를 처리 유닛(21)에 결합시키는 시스템 버스(23)를 포함하는, 종래의 퍼스널 컴퓨터(20) 형태의 범용 컴퓨팅 디바이스를 포함한다. 시스템 버스(23)는 메모리 버스 또는 메모리 콘트롤러를 포함하는 버스 구조, 주변 버스 및 다양한 버스 아키텍쳐 중 임의의 것을 사용한 로컬 버스의 몇가지 타입들 중 임의의 것이 될 수 있다. 본 시스템 메모리는 리드-온니 메모리(ROM)(24) 및 랜덤 억세스 메모리(RAM)(25)를 포함한다. 시동중과 같은 퍼스널 컴퓨터(20) 내의 요소들 간에 정보를 전달하도록 돕는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS)(26)이 ROM(24)에 저장된다. 퍼스널 컴퓨터(20)는 하드디스크(39)로부터 판독 또는 기록하기 위한 하드디스크 드라이브(27), 분리형 자기디스크(29)로부터 판독 또는 기록하기 위한 자기 디스크 드라이브(28) 및 CD-ROM 또는 기타 다른 매체와 같은 분리형 광디스크(31)로부터 판독 또는 기록하기 위한 광디스크 드라이브(30)를 더 포함한다. 하드디스크 드라이브(27), 자기디스크 드라이브(28) 및 광디스크 드라이브(30)는 하드디스크 드라이브 인터페이스(32), 자기디스크 드라이브 인터페이스(33) 및 광드라이브 인터페이스(34) 각각에 의해 시스템 버스(23)에 접속된다. 그 드라이브들 및 그들의 관련 컴퓨터 판독가능 매체는 컴퓨터-판독가능 명령문, 데이터 구조, 프로그램 모듈 및 퍼스널 컴퓨터(20)에 대한 다른 데이터의 비휘발성 저장소를 제공한다. 본 명세서에 기술된 예시적인 환경이 하드디스크(39), 분리형 자기 디스크(29) 및 분리형 광디스크(31)를 이용할지라도, 자기 카세트, 플래쉬 메모리 카드, 디지털 비디오 디스크, 베르누이 카트리지, 랜덤 억세스 메모리(RAM), 리드-온니 메모리(ROM) 등과 같은, 컴퓨터에 의해 억세스가능한 데이터를 저장할 수 있는 다른 종류의 컴퓨터 판독가능 매체가 예시적인 동작 환경에 또한 사용될 수 있음을 본 기술분야의 숙련자라면 이해할 것이다.
운영체제(35), 하나 이상의 어플리케이션 프로그램(36), 다른 프로그램 모듈(37) 및 프로그램 데이터(38)를 포함하는 다수의 프로그램 모듈이 하드디스크(39), 자기 디스크(29), 광디스크(31), ROM(24) 또는 RAM(25)에 저장될 수 있다. 사용자는 키보드(40) 및 포인팅 디바이스(42)와 같은 입력 디바이스를 통해 퍼스널 컴퓨터(20)에 명령 및 정보를 입력할 수 있다. 기타 입력 디바이스들(도시되지 않음)은 마이크로폰, 조이스틱, 게임패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 디바이스들은 시스템 버스(23)에 결합된 직렬 포트 인터페이스(46)를 통해 처리 유닛(21)에 종종 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial port)와 같은 다른 인터페이스에 의해 접속될 수도 있다. 모니터(47) 형태의 디스플레이가 또한 비디오 카드 또는 어댑터(48)와 같은 인터페이스를 통해 시스템 버스(23)에 접속된다. 하나 이상의 스피커(57)는 또한 오디오 어댑터(56)와 같은 인터페이스를 통해 시스템 버스(23)에 접속될 수 있다. 디스플레이 및 스피커에 부가하여, 퍼스널 컴퓨터는 통상적으로 프린터와 같은 다른 주변 출력 디바이스들(도시되지 않음)을 포함한다.
퍼스널 컴퓨터(20)는 원격 컴퓨터(49)와 같은 하나 이상의 퍼스널 컴퓨터로의 논리 접속을 사용하는 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(49)는 또 다른 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 디바이스 또는 다른 공통 네트워크 노드가 될 수 있으며, 통상적으로 퍼스널 컴퓨터(20)에 관한 상술된 많은 또는 모든 요소들을 포함한다. 도 1에 도시된 논리 접속들은 LAN(local area network)(51) 및 WAN(wide area network)(52)을 포함한다. 그러한 네트워킹 환경은 사무실, 기업-광역 컴퓨터 네트워크 인트라넷 및 인터넷에서 흔한 것이다.
LAN 네트워킹 환경에 사용되는 경우, 퍼스널 컴퓨터(20)는 네트워크 인터페이스 또는 어댑터(53)를 통해 근거리 통신망(51)에 접속된다. WAN 네트워킹 환경에 사용되는 경우, 퍼스널 컴퓨터(20)는 통상적으로 인터넷과 같은 광역 네트워크(52)를 통해 통신을 설정하기 위한 모뎀(54) 또는 기타 수단을 포함한다. 내부 또는 외부에 있을 수 있는 모뎀(54)은 시리얼 포트 인터페이스(46)를 통해 시스템 버스(23)에 접속된다. 네트워킹된 환경에서, 퍼스널 컴퓨터(20) 또는 그 부분에 관해 묘사된 프로그램 모듈은 원격 메모리 저장 디바이스에 저장될 수 있다. 도시된 네트워크 접속들은 예시적인 것이며, 컴퓨터들 간의 통신 링크를 설정하는 다른 수단이 사용될 수 있음을 이해해야 한다.
도 1에 도시된 타입의 시스템에서 구현되는 본 발명은 사용자에게 통지의 전달을 제공한다. 보다 구체적으로는, 다음 설명으로부터 더 잘 이해되는 것처럼, 본 발명은 다수의 소스들로부터, 그리고 사용자 콘텍스트에 따라서 통지의 전달을 제어하는 방법을 제공한다.
일실시예에서, 본 발명에 따른 사용자 콘텍스트 시스템이 통지를 처리하는 방법에 관한 판정을 위해 비교되는 3개의 요소들로 이루어 질 수 있다. 제1 요소는 (확장된 운영체제 및 임의의 프로그램에 의해 제공될 수 있는) 사용자 콘텍스트이다. 제2 요소는 사용자의 규칙 및 선호도이다. 제3 요소는 (사용자의 규칙들에 매칭할 수 있는 데이터 및 속성들과 같은 요소들을 포함하는) 통지 자체이다.
이하 보다 상세히 기술될 것처럼, 본 발명은 사용자 콘텍스트를 선언하는 운영체제 및 기타 프로그램에 의해 동작하며, 그 후 시스템이 사용자 콘텍스트 및 규칙들을 중개한다. 통지들은 본 시스템 내로 호출한 다른 프로그램들에 의해 제기된다. 통지의 사용자 콘텍스트, 규칙 및 요소들이 비교되고 이어서 그 통지로 무엇이 행해져야 하는 지에 관해 판정된다. 그 통지로 무엇이 행해질 수 있는 것에 관한 각종 옵션들의 예들은, 거부(통지가 잡음을 끌어들이거나 생성하지 못하도록 하여, 사용자가 절대 그 통지를 보지 못하게 함), 연기(사용자 콘텍스트가 변화하거나 사용자 규칙이 그 이후로 전달하기에 적절함을 나타낼 때까지 통지가 유지됨), 전달(사용자 콘텍스트 및 규칙에 따라서 통지가 전달되도록 허용됨) 및 라우팅(통지가 현재 시스템에서도 전달되도록 허용되는지의 여부에 무관하게, 또 다른 시스템에 통지가 핸드오프(handed off)되어야 함을 사용자 규칙이 지시함)을 포함한다.
통지를 전달하기 위한 여러가지 루틴들을 이하에 보다 상세하게 기술한다. 일반적으로, 사용자가 "이용가능"하게 될 때까지 통지가 전달되지 않거나 유지될 경우, 사용자는 "이용불가"로 간주된 상태에 있을 수 있다. 예를 들어, 사용자가 풀스크린 어플리케이션을 실행하고 있다면, 그 사용자는 이용불가로 간주될 수 있다. 그렇지 않으면, 그 사용자는 "이용가능"일 수 있되, 그 상태에서는 사용자에게 적절하도록 통지가 변경될 필요가 있다. 예를 들어, 사용자가 음악을 청취하고 있다거나 미팅에 있는 경우, 사용자는, 통지가 사용자의 스크린에 전달되어야 하되, 그들이 내는 소리가 좀 더 조용하거나 전혀 소리내지 않아야 한다고 명령할 수 있다.
상기 명시한 바와 같이, 사용자 콘텍스트는 통지가 사용자의 스크린에 도시되는지의 여부를 부분적으로 판정한다. 통지가 도시될 경우, 그 통지는 사용자 콘텍스트 내의 임의의 성분(gradient)에 기초하여 도시될 수 있다. 다시 말해서, 지정될 수 있는 드로잉된 통지 형태의 다른 침습성 레벨이 존재한다. 예를 들어, 통상의 통지는 클라이언트 영역으로 팝아웃(pop out)하여 간단히 윈도우를 가릴 수 있다. 사용자가 약간 제한적인 콘텍스트에 있다면, 또 다른 윈도우의 위에 드로잉하도록 허용되지 않을 수 있는 것처럼, 단지 약간의 침습적 방식으로 통지를 볼 수 있다. 또 다른 예로서, 사용자가 최대화된 어플리케이션을 실행하고 있는 일실시예에서, 디폴트 설정은 콘텍스트가 약간 제한되어 있어서, 그 사용자는 전체 클라이언트 영역을 얻기 위해 이 어플리케이션을 원한다고 명백하게 진술하는 것임을 의미한다. 이러한 설정에서, 통지는 여전히 드로잉하도록 허용될 수는 있지만, 단지 사이드바에만 나타나도록 할 수도 있다. 다시 말해, 통지 드로잉 형태의 이러한 타입의 감소된 침습성은 통지의 효과를 완화시키고, 전체 인식 부하를 완화시킨다.
도 2는 본 발명에 따른 통지를 처리하기 위한 루틴(200)을 설명하는 흐름도이다. 블록(202)에서, 운영체제 또는 임의의 프로그램이 통지 어플리케이션 프로그래밍 인터페이스(API)를 호출한다. 블록(204)에서, 통지의 요소들은 운영체제 및 임의의 프로그램에 의해 설정되어, 사용자에 의해 승인 또는 더 수정된 사용자 콘텍스트에 대해, 그리고, 사용자에 의해 설정된 사용자 규칙에 대해 평가된다. 블록(206)에서, 통지가 전달, 연기, 거부, 라우팅되거나, 그렇지 않으면 사용자 콘텍스트 및 사용자 규칙에 따라서 처리된다.
사용자 콘텍스트 및 사용자 규칙을 이하에서 보다 상세하게 기술할 것이다. 일실시예에서, 사용자 콘텍스트는 참 또는 거짓일 수 있는 조건과 그 조건이 참일 때 통지가 어떻게 처리되어야 하는지를 판정하기 위한 명령으로 구성된다. 일반적으로, 사용자 콘텍스트의 조건은, 시스템이 몇가지 방식으로 사용자를 통지 전달에 이용불가하게 한다고 가정하거나, 통지가 전달되는 방식이 그것을 시작했던 프로그램에 의해 보내지는 방법과는 다르도록 하는 상태로 생각될 수 있다. 다시 말해, 일실시예에서, 사용자 콘텍스트가 "조건 X가 참이면, 이것은 들어오는 통지로 무엇이 행해져야 하는가"의 진술로 생각될 수 있다. 일례가 "나의 음악 재생기가 나를 위해 음악을 연주하고 있는 경우, 들어오는 통지는 스크린에 보여지되, 사운드가 재생되지 않아야 한다"가 될 수 있다. 또 다른 예는 "임의의 어플리케이션이 풀스크린 모드에서 실행되고 있으면, 들어오는 통지는 이후로 연기되어야 한다"가 될 수 있다.
그러한 사용자 콘텍스트에 대해, 일실시예에서, 사용자는 또한 들어오는 통지들을 처리하기 위한 특정 규칙들을 정의할 수 있으므로, 사용자 콘텍스트의 명령에 대한 특정 예외(exception)를 제공할 수 있다. 일례로서, 사용자 규칙은 "내가 'John Doe'로부터 텍스트에 '긴급'이라고 쓰여져 있고, '높은 우선순위'라고 표기된 이메일을 받으면, 다른 사용자 콘텍스트에 무관하게 그 이메일을 전달한다."고 진술할 수 있다. 다시 말해, 본 예에서는, 그렇지 않으면, 이러한 사용자 규칙은 이 때 들어오는 이메일에 대한 통지를 전달하기에 부적절하다고 나타내는 사용자 콘텍스트에 대한 예외를 제공한다. 사용자 규칙이 평가되는 통지의 요소들에 관해, 이들은 텍스트, 사운드, 그래픽 및 우선순위와 같은 다른 속성들, (이메일 또는 인스턴트 메시지와 같은 채널로) 통지를 보냈던 사람, 통지가 만료된 때, 및 사용자가 그 통지와 상호작용할 수 있고 임의의 코드(예를 들어, 통지 내의 버튼 또는 텍스트를 클릭하는 것은 현재 실행되고 있는 프로그램들에 대해 새로운 프로그램들이 론칭되도록 할 수 있거나 [이메일 삭제와 같은] 동작들이 취해지도록 할 수 있음)를 론칭할 수 있도록 하는 몇가지 코드의 요소들과 같은 것들을 포함할 수 있다.
도 3은 사용자 콘텍스트를 선언하는 운영체제 또는 임의의 프로그램에 대한 루틴(220)을 설명하는 흐름도이다. 블록(222)에서, 운영체제 또는 프로그램은 사용자의 바쁜 상태에 대해 디폴트 콘텍스트 및 그 효과를 선언한다. 다시 말해서, 프로그램들이 시스템에 등록되고 그들이 통지에 미치는 효과(예를 들어, 스크린 상의 드로잉이 적절한지 및 사운드가 적절한지의 여부 또는 어떤 관련 사운드가 재생되어야 하는지)를 포함하는 사용자 콘텍스트를 제공한다. 일례로서, 음악 재생기 프로그램이 "음악 재생기가 사용자를 위해 음악을 재생할 때, 들어오는 통지들이 스크린 상에 나타나되, 사운드가 재생되지 않아야 한다"라고 진술하는 디폴트 콘텍스트를 선언할 수 있다. 또 다른 예로서, 운영체제는 "임의의 어플리케이션이 풀스크린 모드로 실행되고 있다면, 들어오는 통지들은 다음 시간까지 연기되어야 한다"를 진술하는 콘텍스트를 선언할 수 있다.
도 3으로 돌아가서, 블록(224)에서, 운영체제 또는 프로그램은 그 선언된 콘텍스트를 참 또는 거짓으로서 설정한다. 예를 들어, "음악 재생기가 음악을 재생하고 있는 경우, 들어오는 통지들은 스크린 상에 나타나되, 사운드를 재생해서는 안된다"라는 콘텍스트를 선언하는 음악 재생기에 대해서, 이 음악 재생기는 또한 이렇게 선언된 콘텍스트를 현재 참이거나 거짓인 것으로서 설정한다. 다시 말해서, 음악 재생기 프로그램은 음악 재생기가 현재 음악을 재생하고 있다는 것이 참인지 거짓인지의 여부를 나타낸다. 이하에서 보다 상세하게 기술할 것이지만, 일실시예에서, 콘텍스트가 참인지 거짓인지의 여부에 대한 판정은 또한 통지 API가 호출된 때, 또는 사용자 규칙 및 예외가 재평가되는 때에 평가될 수 있다. 부가적인 특징으로서, 본 시스템은 또한 호출 프로그램의 프로세스 처리를 트랙킹할 수 있으므로, 그 프로세스가 먼저 콘텍스트 값을 디폴트 '거짓'값으로 리셋하지 않고 종료하면, 시스템은 최초의 프로세스가 더 이상 존재하지 않는다고 검출하자마자 콘텍스트 값을 리셋할 것이다(일실시예에서, 프로세스 처리 상태는 프로세스가 종료한 경우를 신호하도록 설정되고, 그 상태 변화는 프로세스 처리를 관찰한 시스템에 의해 선택된다). 이것은 프로세스가 예상치 못하게 종료하거나 콘텍스트를 리셋하는 것을 잊어버릴 경우, 다른 통지의 전달이 부당하게 영향을 받지는 않을 것이라는 것을 보장한다. 예를 들어, 상기 예에서, 음악 재생기 프로그램이 닫혀서 프로세스가 더 이상 존재하지 않는다면, 콘텍스트는 자동으로 거짓으로 리셋될 수 있다. 또 다른 예로서, 프로그램이 최초에 사용자가 바쁜 것으로 선언하면, 프로그램은 파기되어, 그 프로세스는 더 이상 존재하지 않으며, 콘텍스트는 통지가 수신되지 않는 상태로 고정되는 것이 아니라 자동으로 거짓으로 설정될 수 있다. 어쨌든, 콘텍스트가 능동으로 설정되어 하나의 기능로서 평가되는지의 여부에 대해, 일실시예에서 콘텍스트가 일반적으로 참 또는 거짓 중 하나로 결정될 수 있다.
도 3으로 돌아가서, 블록(226)에서, 콘텍스트 정보는 시스템에 저장되어 있는 사용자 콘텍스트에 추가된다. 이러한 프로세스는 콘텍스트를 선언하는 부가적인 프로그램들에 의해 반복된다. 또한, 상술된 바와 같이, 이미 선언된 콘텍스트가 참인지 거짓인지의 여부의 상태는 사용자가 다른 프로그램을 열고 닫고 다른 태스크를 착수하는 시간에 따라 바뀔 것이다.
상술된 바와 같이, 일실시예에서, 콘텍스트를 등록하는 것은 선언적인 프로세스이다. 이하에 보다 상세하게 기술되는 바와 같이, 본 발명의 일 양상에 따르면, 사용자 콘텍스트를 등록함으로써, 사용자가 콘텍스트 파라미터와 일치하지 않으면, 임의의 콘텍스트를 받아들이지 않거나 그들이 의미하는 바를 변화시키는 것 중에서 선택할 수 있도록 콘텍스트의 리스트가 사용자에게 제시될 수 있다. 상술된 바와 같이, 일실시예에서, 콘텍스트는, 참 또는 거짓일 수 있는 조건과 그 조건이 참일 때 통지로 무엇을 해야할 지에 대한 명령으로 구성될 수 있다. 이 점에 있어서, 사용자 콘텍스는: 인간 판독가능 열(의미하는 것이 무엇인지 최종 사용자가 알도록 함); 프로그램이 콘텍스트가 참이거나 참이 아닐 때를 운영체제에 알릴 수 있도록 하는 (세계적으로 고유한 식별자(GUID)와 같은) 고유 식별자; 및 (침습성 레벨, 사운드 및 볼륨을 포함할 수 있는) 스크린 상의 통지 드로잉에 의해 콘텍스트가 의미하는 것이 무엇인지의 진술을 포함할 수 있는 명령과 같은 특정 프로그래밍 요소들을 포함할 수 있다. 콘텍스트는 또한 동적일 수 있으며, 이는 이하에서 보다 상세하게 기술할 것이다.
도 4는 통지 API가 호출된 때에 참 또는 거짓으로 평가될 콘텍스트의 루틴(230)을 설명하는 흐름도이다. 판정 블록(232)에서, 사용자 콘텍스트가 통지 API가 호출되는 때에 평가되는지의 여부가 판정된다. 사용자 콘텍스트가 평가되면, 루틴은 블록(234)으로 진행한다. 통지 API가 호출되는 때에 사용자 콘텍스트가 평가되지 않으면, 루틴은 종료한다. 블록(234)에서, 사용자 콘텍스트는 참 또는 거짓으로 평가된다.
도 3 및 도 4에 도시되고 상술된 바와 같이, 콘텍스트가 순향으로(proactively) 설정될 수 있거나 관련 시간에 평가되는 함수가 될 수 있다. 일례로서, 프로그램은 사용자가 음악을 청취하고 있음을 능동으로 나타낼 수 있다. 또 다른 예로서, 통지가 평가될 때, 그 프로그램은 통지가 평가된 때에 시스템에 의해 콘텍스트가 참인지를 프로그램에 질문하도록 콜백(callback)을 등록할 수 있다. 이러한 제2 프로세스가 특히 중요할 수 있는 경우의 일례는 동적 콘택스트를 형성하기 위해 사용자 콘텍스트가 사용자 규칙과 결합될 수 있는 경우이다. (사용자 규칙들은 이하에서 보다 상세하게 기술할 것이다.) 사용자 규칙과 결합된 사용자 콘텍스트의 특정예는 "내가 바로 지금 만나고 있는 사람들은 내가 바쁜 상태에 상관없이 나에게 통지를 항상 보낼 수 있다."라고 진술하는 규칙을 사용자가 설정한 경우가 될 수 있다. 이 경우에서, "사용자가 미팅중에 있을 때"라는 사용자 콘텍스트는 그 사용자가 누구와 미팅 중에 있는지에 대해서 더 평가되어야 한다. 이 예에서, 미팅을 처리하는 프로그램은 이것을 동적 콘텍스트로서 등록할 수 있고, 통지가 평가되는 경우, 그 통지를 보낸 사람들은 이 콘텍스트에 대해 평가된다 (그렇지 않으면, 미팅에 참석한 사람들이 시간에 따라 바뀔 수 있기 때문에 참 또는 거짓이 순행으로 선언될 수 없다). 다시 말해서, 이러한 특정예는 다른 사람들의 콘텍스트에 의존하는 사용자 규칙의 관점에서 사용자 콘텍스트의 평가를 요구한다.
도 5는 사용자가 콘텍스트를 조정하여 새로운 규칙을 생성할 수 있는 루틴(240)을 설명하는 흐름도이다. 블록(242)에서, 사용자가 콘텍스트를 조정하기를 원하는 지를 판정한다. 사용자가 콘텍스트를 조정하기를 원하지 않으면, 루틴은 판정 블록(246)으로 진행하며, 이는 이하에 보다 상세하게 기술될 것이다. 사용자가 콘텍스트를 조정하기를 원하면, 루틴은 블록(244)으로 진행하며, 사용자는 그 콘텍스트를 수정한다.
일실시예에서, 제공된 콘텍스트는 사용자가 그 콘텍스트를 턴오프(예를 들어, 사용자가 콘텍스트의 프로그램 평가에 동의하지 않음)하거나 통지 전달에 대한 효과에 의해 콘텍스트를 변화시키도록 허용하는 방식으로 사용자에게 노출될 수 있다. 더 많은 특정예들로서, 사용자 콘텍스트는 "임의의 어플리케이션이 풀스크린 모드로 실행되고 있는 경우"; "내가 음악 또는 비디오를 재생하고 있는 경우"; "나의 미팅 관리자가 미팅 중인 나를 보여주는 경우"; 또는 "나의 사무보조원이 턴온된 경우"와 같은 것들을 포함할 수 있다. 이들 각각에 대해, 사용자는 주어진 조건이 참인 경우, 들어오는 통지가 선택된 절차를 따라야 한다는 명령을 지정하는 선택을 하도록 허용될 수 있다. 그 명령들은 통지가 스크린 상에 드로잉할 것인지 또는 어떻게 드로잉하는지 및 통지가 내는 사운드 및 볼륨과 같은 것들을 지정할 수 있다. 볼륨에 대해, 사용자는 주어진 조건 하에서 원하는 볼륨의 퍼센티지를 지정할 수 있다. 스크린 상에 통지를 드로잉하기 위한 옵션에 대해, 통지를 전혀 드로잉하지 않고, 단지 지정된 외부 디스플레이에만 통지를 드로잉하거나 현재 스크린 상에 통지를 드로잉하는 것과 같은 옵션이 사용자에게 제공될 수 있다. 통지의 드로잉에 대해, 다른 침습성 레벨이 지정될 수 있다. 예를 들어, 사용자가 콘텍스트가 약간 제한되어 있는 최대화된 어플리케이션을 실행하고 있다면, 침습성 설정은 통지가 여전히 드로잉할 수 있도록 될 수 있되, 사이드바에만 나타날 수 있다.
도 5로 돌아가서, 판정 블록(246)에서, 사용자가 새로운 사용자 규칙을 생성하기를 원하는 지를 판정한다. 사용자가 새로운 사용자 규칙을 생성하기를 원한다면, 루틴은 판정 블록(250)으로 진행하며, 이는 이하에 보다 상세하게 기술할 것이다. 사용자가 새로운 사용자 규칙을 생성하기를 원한다면, 루틴은 블록(248)로 진행하며, 새로운 규칙들이 생성된다. 일반적으로 사용자 규칙들은 지정된 요소들을 포함하는 통지들이 처리되어야 하는 방법을 나타낸다. 예를 들어, 규칙이 지정된 사람들로부터의 통지들은 항상 즉시 전달되어야 한다는 것을 명기할 수 있으며, 이 규칙은 그것이 특정 사람들로부터의 것인 한 어느 프로그램이 그 통지를 시작했는지와는 무관하게, 모든 통지에 적용될 수 있다. 더 많은 특정 예들로서, 다른 사용자 규칙들은 "워싱턴 브레머톤에 대한 MSN 자동차 교통 경보" 및 "John Doe로부터의 중요한 이메일"과 같은 것들에 관한 것일 수 있다. John Doe로부터의 중요한 이메일에 대한 사용자 규칙의 일례로서, 규칙은 John Doe로부터 텍스트로 "긴급"이라고 쓰여지고 "높은 우선순위"라고 표시된 임의의 이메일이 지정된 처리 조건을 따라야 함을 명기할 수 있다. 처리 조건은 통지가 즉시 전달되어야 하고, 사용자에게 그것을 인식하도록 요구해야 함을 지정할 수 있다. 일반적으로, 사용자에게 통지를 인식하도록 요구하는 것은, 특히 사용자가 그것을 잊어버릴 때까지 통지가 온-스크린에 머무를 것이라는 점에서, 통지의 침습성의 형태로 약간 올라간 상승이 존재함을 의미한다. 일실시예에서, 사용자 인식의 요구는 단지 사용자 규칙을 통해서만 설정가능하다. 또 다른 예로서, 규칙들은 또한 특정 통지가 도착한 사용자에게 경보를 제공하기 위해, 통지를 위해 재생되어야 하는 커스텀 사운드(custom sound)를 특정 볼륨으로 지정할 수 있다. 사용자 콘텍스트에 의해 판정될 수 있는 바와 같이, 사용자의 "평시" 및 "바쁜" 조건 동안에 통지가 어떻게 처리되어야 하는지에 대한 다른 설정들이 또한 선택될 수 있다. 처리 명령들은 또한 "John Doe로부터 나의 페이저(pager)에 통지를 전달"하는 것과 같은 통지에 대한 라우팅 옵션들과 같은 것들을 포함할 수 있다. 일실시예에서, 콘텍스트가 평가되는 경우, 가장 제한적인 현재 참인 콘텍스트는 적용된 것이다. 사용자 규칙이 평가되면, 특정 통지가 사용자가 생성한 규칙에 매칭하며, 이 경우 가장 침습적인 설정은 통지에 매칭되는 사용자 규칙으로부터 적용됨을 의미한다. 다시 말해서, 사용자 규칙에서, 사용자는 무엇인가를 중요한 것으로 지정하며, 이러한 절차는 사용자의 선호도를 따르도록 의도된다. 두 규칙 간에 충돌이 있으면, 가장 침습적인 것이 적용된다.
일실시예에서, 사용자 규칙들은 또한 특정 통지 서비스로부터 통지들의 전달을 제어하는 것에 관련할 수 있다. 예를 들어, 통지 서비스에 따라서 통지를 제공하는 운영체제는 통지가 어떻게 전달되는지를 수정하는 방식을 사용자에게 제공할 수 있다. 예를 들어, 지정된 통지 서비스는 "시애틀의 트래픽 경보"를 제공할 수 있으며, 사용자는 그러한 통지들이 수신되면, 본 시스템은 "통지를 보여주고 사운드를 재생"하도록 전달을 편집할 수 있다.
도 5로 돌아가서, 판정 블록(250)에서, 사용자가 이미 존재하는 사용자 규칙들 중 임의의 규칙을 조정하기를 원하는 지를 판정한다. 사용자가 규칙들 중 임의의 규칙들 조정하기를 원하지 않으면, 루틴은 종료한다. 사용자가 사용자 규칙을 조정하기를 원하면, 루틴은 블록(252)로 진행하고, 사용자는 그 규칙들을 수정한다.
도 3 내지 도 5에 대해 상술된 바와 같이, 사용자 콘텍스트 및 사용자 규칙들은 운영체제, 프로그램 및 사용자에 의해 설정된다. 시스템은 사용자 선호도에 따라서 통지 전달을 적절히 중개하여 차례로 나열한다. 사용자 콘텍스트 및 사용자 규칙은 사용자가 여러가지 콘텍스트 및 규칙들을 수정 또는 조정하거나 새로운 규칙들을 생성할 수 있도록 사용자에게 노출될 수 있다. 이는 통지가 처리되는 방법에 대해 선호도를 관리하는 집중화된 방식을 사용자에게 제공한다. 이것은 사용자가 그 사용자에게 통지를 보내기를 원할 수 있는 컴퓨팅 시스템 내의 많은 경쟁 요소들을 효율적으로 관리하도록 허용한다.
도 6은 사용자 콘텍스트 및 사용자 규칙들에 따라서 통지를 처리하기 위한 루틴(300)을 설명하는 흐름도이다. 블록(302)에서, 운영체제 또는 임의의 프로그램이 통지 API를 호출한다. 판정 블록(304)에서, 통지가 통지 히스토리에 로깅되어야 하는지를 판정한다. 통지가 로깅되어야 하면, 루틴은 블록(306)으로 진행하고, 그 통지는 히스토리에 로깅된다. 통지가 로깅되지 않는다면, 루틴은 판정 블록(310)으로 진행한다.
판정 블록(310)에서, 통지가 임의의 사용자 규칙들에 매칭하는지를 판정한다. 통지가 임의의 사용자 규칙들에 매칭한다면, 루틴은 블록(312)으로 진행하고, (통지 내용 + 사용자 콘텍스트에 기초하여) 사용자 규칙들을 따르며, 루틴은 도 7에서 계속되는 점 A로 진행한다. 판정 블록(310)에서, 통지가 임의의 사용자 규칙들에 매칭하지 않으면, 루틴은 판정 블록(320)으로 진행한다.
일실시예에서, 사용자 규칙들은 항상 현재의 사용자 콘텍스트보다 중요하다. 상술된 바와 같이, 사용자 규칙들은 통지의 임의의 요소에 기초할 수 있다. 예를 들어, 통지를 시작한 사람들의 평가에 기초하는 규칙은, 그 규칙을 기초로 하는 사람들(예를 들어, "John Doe"가 항상 나에게 연락할 수 있다)로부터의 것인 한, 어느 프로그램이 통지를 시작했는지에 무관하게 모든 통지에 적용될 수 있다. 또한, 드로잉하지 않도록 하는 콘텍스트 동안에도 통지들이 스크린 상에 드로잉될 수 있다 (예를 들어, 심지어 사용자 콘텍스트가 일반적으로 사용자가 미팅동안 통지를 수신하지 않는다고 진술한 경우에도, "나와 미팅 중인 사람들은 항상 나에게 통지를 보낼 수 있다").
도 6으로 돌아가서, 판정 블록(320)에서, (단지 사용자 콘텍스트에만 기초하여) 통지가 현재 시간에 드로잉할 수 있는지를 판정한다. 통지가 현재 시간에 드로잉할 수 있으면, 루틴은 블록(322)으로 진행하고, 통지는 드로잉되며, 적절한 사운드 및 볼륨이 제공된다. 현재 시간에 통지를 드로잉하기에 적절하지 않으면, 루틴은 판정 블록(330)으로 진행한다.
판정 블록(330)에서, 통지가 만료되었는지 판정한다. 통지가 만료되었다면, 루틴은 블록(332)으로 진행하고, 통지는 파기된다. 통지가 만료되지 않았다면, 루틴은 블록(334)으로 진행하고, 통지는 연기되며, 루틴은 도 7에서 계속되는 점 B로 진행한다.
도 7은 지정된 사용자 규칙들에 따라서 통지를 처리하기 위한 루틴(350)을 설명하는 흐름도이다. 루틴은 상술된 바와 같이, 도 6으로부터의 점 A로부터 계속된다. 도 7에 도시되어 있는 바와 같이, 판정 블록(352)에서, 통지가 라우팅되어야 하는지를 판정한다. 통지가 라우팅될 필요가 없으면, 루틴은 판정 블록(362)으로 진행하며, 이는 이하에 보다 상세하게 기술할 것이다. 통지가 라우팅되었다면, 루틴은 블록(354)으로 진행하며, 통지는 지정된 바와 같이 라우팅된다. 통지가 라우팅된 경우, 통지를 또 다른 시스템에 핸드오프(handoff)되도록 요구하는 사용자 규칙들에 매칭하는 요소들을 포함함을 나타낸다. 이는 사용자가 바쁜 경우에 발생할 수 있거나, 사용자 규칙으로 지정된 기준 및 사용자가 이용불가인지의 여부에 매칭하는 모든 통지에 대해 발생할 수 있다. 일례로서, 단어 "긴급"이라고 쓰여진 통지는 항상 사용자의 페이저로 포워딩될 수 있는 반면, 다른 통지들은 사용자의 규칙과 콘텍스트의 결합에 기초하여 단지 라우팅만 될 수 있다.
라우팅 명령들의 몇가지 예들은: "이 통지를 이메일 어드레스로 포워딩"; "이 통지를 또 다른 PC로 포워딩"; "이 통지를 페이저로 포워딩"; "이 통지를 휴대폰으로 포워딩"; 또는 "이 통지를 이메일 서버로 포워딩"을 포함할 수 있다. 이하에 보다 상세하게 기술되는 바와 같이, 통지가 라우팅되면, 스크린에 전달되고 드로잉될 수 있다. 또한, 통지가 포워딩된 디바이스는 이 동일한 콘텍스트 시스템을 구현할 수 있으며, 그 디바이스에 대해서 사용자 콘텍스트의 추가의 또는 다른 지식이 존재하고, 콘텍스트 시스템은 그 디바이스에 대해서 그 통지에 따른 다른 동작들을 하도록 선택할 수 있다.
도 7로 돌아가서, 판정 블록(362)에서, 통지를 거부할지를 판정한다. 통지가 거부될 필요가 없으면, 루틴은 판정 블록(366)으로 진행하며, 이는 이하에 보다 상세하게 기술할 것이다. 통지가 거부되면, 루틴은 블록(364)으로 진행하며, 그 통지는 사용자에 의해 파기되어 보여지지 않는다. 다시 말해서, 거부된 통지는 드로잉하거나 잡음을 만들도록 허용되지 않는다. 예를 들어, 이는 임의의 통지가 거부되어야 한다고 진술하는 사용자 규칙에 기초하거나 또는 상술된 바와 같이, 통지가 만료된 경우에 도 6의 블록(332)를 참조하여 발생할 수 있다.
도 7로 돌아가서, 판정 블록(366)에서, 통지가 연기되어야 하는 지를 판정한다. 통지가 연기될 필요가 없으면, 그 루틴은 판정 블록(370)으로 진행하고, 이는 이하에 보다 상세하게 기술할 것이다. 통지가 연기되어야 하면, 루틴은 블록(368)으로 진행하고, 통지는 사용자 콘텍스트가 변화할 때까지 유지되며, 그 루틴은 도 8에서 계속되는 점 B로 진행한다. 일반적으로 통지를 연기하는 것은 통지가 전달되도록 허용될 것이지만, 사용자의 현재 콘텍스트 또는 규칙들이 이 때에 통지를 전달하기에 부적절한 것으로 간주되도록 함을 나타낸다. 도 8을 참조하여 이하에 보다 상세히 기술되는 바와 같이, 일단 사용자의 콘텍스트가 변화하기만 하면, 또는 대안으로 사용자의 규칙이 이후에 적절한 것으로 나타내는 경우에, 통지는 사용자의 스크린에 전달될 것이며, 사용자 규칙 및 사용자 콘텍스트에 의해 명령되는 바와 같이, 드로잉하거나 및/또는 사운드를 내도록 허용될 것이다.
도 7로 돌아가서, 판정 블록(370)에서, 통지가 전달되어야 하는 지를 판정한다. 통지가 전달될 필요가 없으면, 루틴은 종료한다. 통지가 전달되어야 하면, 루틴은 블록(372)로 진행하고, 그 통지는 적절한 침습성 레벨에 따라서 드로잉되며, 적절한 사운드 및 볼륨이 제공된다. 다시 말해서, 사용자 콘텍스트 및 규칙에 따라서 전달되더라도, 그 통지는 전달되도록 허용된다 (예를 들어 통지가 드로잉되도록 허용되되 조용해야 할 필요가 있을 수 있다).
도 8은 통지의 전달을 연기하기 위한 루틴(380)을 설명하는 흐름도이다. 루틴은 상술된 바와 같이, 도 6 또는 도 7로부터의 점 B로부터 계속된다. 도 8에 도시된 바와 같이, 블록(382)에서, 통지가 유지된다. 블록(384)에서, 시스템은 선언된 콘텍스트가 참 또는 거짓으로 변화되도록, 아니면 사용자 규칙에 대해 이제 통지를 전달하기에 적절함을 명기하도록 모니터링한다. 판정 블록(386)에서, 사용자 콘텍스트가 변화되었는지, 아니면 사용자 콘텍스트가 이제 통지를 전달하기에 적절함을 명기하는지가 판정된다. 사용자 콘텍스트가 변화되지 않고, 어떠한 사용자 규칙도 명령하지 않으면, 루틴은 블록(382)으로 돌아가며, 통지는 계속해서 유지된다. 사용자 콘텍스트가 변화되거나 사용자 규칙이 이제 통지를 전달하기에 적절할 수 있음을 나타내면, 루틴은 도 6에서 계속되는 점 C로 진행한다. 도 6에서의 점 C는 판정 블록(304)으로 돌아가며, 그 통지를 평가하기 위한 프로세스가 다시 시작된다.
도 9는 다양한 제한들에 따라서 통지의 드로잉을 판정하기 위한 루틴(400)을 설명하는 흐름도이다. 이러한 루틴은 도 6의 블록(322) 또는 도 7의 블록(372)과 같은 통지 프로세싱의 부분으로써 구현될 수 있다. 일반적으로 통지가 시스템에 입력될 경우, 현재 참인 모든 콘텍스트에 대해 평가가 이루어지고, 그 통지에 대해 가장 제한적인 설정이 사용자의 현재 상태에 따라서 적용된다. 도 9에 도시된 바와 같이, 판정 블록(402)에서, 통지가 전혀 드로잉되어서는 않되는 지를 판정한다. 통지가 전혀 드로잉될 필요가 없으면, 루틴은 블록(404)로 진행하고, 통지는 임의의 디스플레이 상에 드로잉되지 않도록 설정된다. 통지가 드로잉되어야 하면, 루틴은 판정 블록(406)으로 진행한다.
판정 블록(406)에서, 통지가 단지 외부에만 드로잉되어야 하는지를 판정한다. 통지가 단지 외부에 드로잉되어야 하면, 루틴은 블록(408)으로 진행하고, 통지는 외부 하드웨어 디스플레이 상에만 드로잉된다. 통지가 외부 하드웨어 디스플레이 상에 드로잉될 필요가 없으면, 루틴은 판정 블록(410)으로 진행한다.
판정 블록(410)에서, 통지가 현재 디스플레이 상에 드로잉되어야 하는지를 판정한다. 통지가 현재 디스플레이 상에 드로잉되어야 하면, 루틴은 블록(412)으로 진행하고, 통지는 현재 디스플레이 상의 적절한 침습성 레벨에 따라서 드로잉된다. 통지가 현재 디스플레이 상에 드로잉될 필요가 없으면, 루틴은 종료한다.
도 10은 다양한 제한들에 따라서, 통지의 사운드에 대해 재생될 볼륨을 판정하기 위한 루틴(420)을 설명하는 흐름도이다. 도 9에 대해 상술되었던 바와 같이, 이러한 루틴은 도 6의 블록(322) 또는 도 7의 블록(372)에서와 같은 통지의 프로세싱의 부분으로서 구현될 수 있음을 이해할 것이다. 통지가 시스템에 입력되면, 현재 참인 모든 콘텍스트가 평가되고, 가장 제한적인 설정이 사용자의 현재 상태에 따라서 통지에 적용된다. 도 10에 도시된 바와 같이, 판정 블록(422)에서, 통지가 음소거(mute)되어야 하는지가 판정된다. 통지가 음소거되어야 한다면, 루틴은 블록(424)으로 진행하고, 어떠한 볼륨도 통지에 제공되지 않는다. 통지가 음소거될 필요가 없으면, 루틴은 판정 블록(426)으로 진행한다.
판정 블록(426)에서, 통지가 풀 볼륨보다는 낮은 다소의 퍼센티지로 제공되어야 하는지가 판정된다. 다소의 퍼센티지의 볼륨이 제공되어야 한다면, 루틴은 블록(428)으로 진행하고, 통지는 지정된 퍼센티지의 볼륨으로 재생된다. 지정된 퍼센티지의 볼륨이 제공될 필요가 없으면, 루틴은 판정 블록(430)으로 진행한다.
판정 블록(430)에서, 풀 볼륨이 통지에 대해 제공되어야 하는지가 판정된다. 풀 볼륨이 제공되어야 한다면, 루틴은 블록(432)으로 진행하고, 통지는 풀 볼륨 레벨로 재생된다. 풀 볼륨이 제공될 필요가 없다면, 루틴은 종료한다. 일실시예에서, 통지에 대한 다른 볼륨 레벨에 대해 제공하는 것에 추가하여, 다른 사운드가 또한 사용자 콘텍스트 및 규칙들에 따라서 통지를 위해 선택될 수 있다.
도 1 내지 도 10에 대해 상술된 바와 같이, 본 발명은, 시스템이 그들의 온-스크린 렌더링을 적절히 중개하여 차례로 나열하기 때문에 통지가 서로 충돌하는 것을 멈추도록 다양한 소스들로부터 통지의 전달을 제어한다. 또한, 본 발명에 의해 제공된 통지는 사용자가 보다 잘 받아들이는 경우 그들이 전달되기 때문에 보다 가치있는 것으로 간주될 수 있으며, 또한 공통의 규칙들을 사용하면 사용자가 원치않는 통지를 제거하는 것을 도울 수 있다.
본 발명의 바람직한 실시예가 도시 및 기술되었지만, 다양한 변화들이 본 발명의 정신 및 범위로부터 벗어나지 않고 행해질 수 있음을 이해해야 한다.

Claims (67)

  1. 통지를 사용자에게 전달하는 컴퓨터 시스템에서, 상기 통지의 전달을 제어하기 위한 방법이며,
    적어도 제1 또는 제2 상태에 있을 수 있는 제1 조건을 선언하는 단계;
    상기 제1 조건이 제1 상태에 있다고 판정된 경우, 상기 통지의 전달을 제어하기 위해 수행되어야 하는 제1 전달 명령을 제공하는 단계; 및
    상기 제1 조건이 제1 상태에 있다고 판정된 경우, 복수의 소스들로부터 통지를 수신하여 상기 제1 전달 명령에 따라서 상기 통지의 전달을 제어하는 단계
    를 포함하는 통지 전달 제어 방법.
  2. 제1항에 있어서,
    상기 제1 조건은 통지를 수신하기 위한 사용자의 현재 이용가능성(availability)을 적어도 부분적으로 나타내도록 의도된 사용자 콘텍스트의 일부인 통지 전달 제어 방법.
  3. 제1항에 있어서,
    상기 제1 조건이 제1 상태에 있는 경우, 이것은 사용자가 적어도 부분적으로는 시각적으로 몰두하고(occupied) 있음을 나타내며, 상기 제1 전달 명령은 상기 통지의 전달을 그 시각적 표시 면에서 제한하도록 지시하는 통지 전달 제어 방법.
  4. 제1항에 있어서,
    상기 제1 조건이 제1 상태에 있는 경우, 이것은 사용자가 적어도 부분적으로는 사운드에 몰두하고 있음을 나타내며, 상기 제1 전달 명령은 상기 통지 전달을 그 볼륨 면에서 제한하도록 지시하는 통지 전달 제어 방법.
  5. 제1항에 있어서,
    상기 제1 조건이 제1 상태에 있는 경우, 이것은 사용자가 어떠한 종류의 통지도 수신하지 못할 수도 있음을 나타내고, 상기 제1 전달 명령은 상기 통지의 전달을 완전히 제한하는 통지 전달 제어 방법.
  6. 제1항에 있어서,
    상기 제1 전달 명령은 사용자의 선호도에 따라서 사용자가 수정하는 것이 가능하도록 되어 있는 통지 전달 제어 방법.
  7. 제1항에 있어서,
    상기 제1 조건은 사용자가 턴-오프하는 것이 가능하게 되어 있으며, 이 경우, 비록 제1 조건이 제1 상태에 있을지라도, 상기 제1 전달 명령은 추종되지 않는 통지 전달 제어 방법.
  8. 제1항에 있어서,
    상기 제1 조건의 경우, 제1 상태는 조건이 참인 경우이며, 제2 상태는 조건이 거짓인 경우인 통지 전달 제어 방법.
  9. 제1항에 있어서,
    상기 제1 조건의 상태는 상기 제1 조건이 선언된 때에 최초로 판정되는 통지 전달 제어 방법.
  10. 제1항에 있어서,
    상기 제1 조건의 상태는 통지가 전달되는 때에 판정되는 통지 전달 제어 방법.
  11. 제1항에 있어서,
    상기 제1 조건은 운영체제에 의해 선언되는 통지 전달 제어 방법.
  12. 제1항에 있어서,
    상기 제1 조건은 운영체제와는 다른 소스에 의해 선언되는 통지 전달 제어 방법.
  13. 제12항에 있어서,
    상기 운영체제와는 다른 소스는 프로그램인 통지 전달 제어 방법.
  14. 제11항에 있어서,
    적어도 제1 또는 제2 상태에 있을 수 있는 제2 조건이 선언되고, 상기 제2 조건이 제1 상태에 있는 경우, 상기 통지의 전달을 제어하기 위해 수행되어야 하는 제2 전달 명령이 제공되는 통지 전달 제어 방법.
  15. 제14항에 있어서,
    부가적인 조건들이 선언되며 부가적인 대응 전달 명령들이 제공되는 통지 전달 제어 방법.
  16. 제15항에 있어서,
    상기 조건들은 운영체제 및 한 세트의 프로그램들에 의해 선언되는 통지 전달 제어 방법.
  17. 제1항에 있어서,
    적어도 제1 특정 요소를 포함하는 상기 통지의 전달을 제어하는 방법을 설명하는(dictate) 제1 규칙을 정의하는 단계를 더 포함하는 통지 전달 제어 방법.
  18. 제17항에 있어서,
    부가적인 규칙이 정의되고, 두 개의 규칙들이 충돌하는 경우, 보다 침습적인(invasive) 규칙이 적용되는 통지 전달 제어 방법.
  19. 제17항에 있어서,
    상기 제1 규칙은 사용자에 의해 선언되는 통지 전달 제어 방법.
  20. 제19항에 있어서,
    부가적인 규칙들은 사용자에 의해 선언되는 통지 전달 제어 방법.
  21. 제20항에 있어서,
    상기 규칙들은 사용자의 선호도에 따라서 사용자가 수정하는 것이 가능하도록 되어 있는 통지 전달 제어 방법.
  22. 제1항에 있어서,
    상기 제1 전달 명령은 통지를 라우팅, 거부(denying), 연기(deferring) 또는 전달하는 것 중 적어도 하나를 포함하는 통지 전달 제어 방법.
  23. 통지의 전달을 제어하기 위한 방법을 구현하기 위한 컴퓨터 실행가능 컴포넌트를 갖는 컴퓨터 판독가능 매체이며, 상기 방법은
    적어도 제1 또는 제2 상태에 있을 수 있는 제1 조건을 선언하는 단계;
    상기 제1 조건이 제1 상태에 있다고 판정된 경우, 상기 통지의 전달을 제어하기 위해 수행되어야 하는 제1 전달 명령을 제공하는 단계;
    상기 제1 조건이 제1 상태에 있다고 판정된 경우, 복수의 소스들로부터 통지를 수신하여 상기 제1 전달 명령에 따라서 상기 통지의 전달을 제어하는 단계
    를 포함하는 컴퓨터 판독가능 매체.
  24. 제23항에 있어서,
    상기 제1 조건은 통지를 수신하기 위한 사용자의 현재의 이용가능성을 적어도 부분적으로 나타내도록 의도된 사용자 콘텍스트의 일부인 컴퓨터 판독가능 매체.
  25. 제23항에 있어서,
    상기 전달 명령은 통지를 라우팅, 거부, 연기 또는 전달하는 것 중 적어도 하나를 포함하는 컴퓨터 판독가능 매체.
  26. 제23항에 있어서,
    상기 제1 전달 명령은 상기 통지의 전달을 그 시각적 표시 면에서 제한하는 컴퓨터 판독가능 매체.
  27. 제23항에 있어서,
    상기 제1 전달 명령은 상기 통지의 전달을 그 볼륨 면에서 제한하는 컴퓨터 판독가능 매체.
  28. 제23항에 있어서,
    상기 제1 전달 명령은 사용자의 선호도에 따라서 사용자가 수정하는 것이 가능하도록 되어 있는 컴퓨터 판독가능 매체.
  29. 제23항에 있어서,
    상기 제1 조건의 경우, 제1 상태는 조건이 참인 경우이며, 제2 상태는 조건이 거짓인 경우인 컴퓨터 판독가능 매체.
  30. 제23항에 있어서,
    상기 제1 조건은 운영체제에 의해 선언되는 컴퓨터 판독가능 매체.
  31. 제30항에 있어서,
    적어도 제1 또는 제2 상태에 존재할 수 있는 제2 조건은 상기 운영체제와는 다른 소스에 의해 선언되고, 상기 제2 조건이 제1 상태에 있는 경우, 상기 통지의 전달을 위해 수행되어야 하는 제2 전달 명령이 제공되는 컴퓨터 판독가능 매체.
  32. 제31항에 있어서,
    상기 제2 조건을 선언하는 상기 소스는 프로그램인 컴퓨터 판독가능 매체.
  33. 제23항에 있어서,
    적어도 제1 특정 요소를 포함하는 상기 통지의 전달을 제어하는 방법을 설명하는 제1 규칙을 정의하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
  34. 제33항에 있어서,
    부가적인 규칙들이 정의되고, 두 개의 규칙들이 충돌하는 경우, 보다 침습적인 규칙이 적용되는 컴퓨터 판독가능 매체.
  35. 제33항에 있어서,
    상기 제1 규칙은 사용자에 의해 선언되는 컴퓨터 판독가능 매체.
  36. 제35항에 있어서,
    상기 제1 규칙 및 상기 제1 전달 명령은 사용자의 선호도에 따라서 사용자가 수정하는 것이 가능하도록 되어 있는 컴퓨터 판독가능 매체.
  37. 사용자에게 통지를 전달하는 컴퓨터 시스템에서, 상기 통지의 전달을 제어하기 위한 방법이며,
    복수의 사용자 콘텍스트를 선언하는 단계 - 각 사용자 콘텍스트는 참 또는 거짓이 될 수 있는 조건과 상기 조건이 참일 경우에 추종되어야 하는 명령을 포함함 - ;
    복수의 소스들로부터 통지를 수신하는 단계; 및
    상기 사용자 콘텍스트의 조건이 참인 경우, 상기 사용자 콘텍스트에 대응하는 명령을 추종하여 상기 통지에 대해 무엇을 수행해야 하는지를 결정하는 단계
    를 포함하는 통지 전달 제어 방법.
  38. 제37항에 있어서,
    상기 명령들은 통지를 라우팅, 거부, 연기 또는 전달하는 것 중 적어도 하나를 포함하는 통지 전달 제어 방법.
  39. 제37항에 있어서,
    상기 명령들은 사용자의 선호도에 따라서 사용자가 수정하는 것이 가능하도록 되어 있는 통지 전달 제어 방법.
  40. 제37항에 있어서,
    상기 복수의 사용자 콘텍스트 중 적어도 하나는 운영체제에 의해 선언되는 통지 전달 제어 방법.
  41. 제37항에 있어서,
    상기 복수의 사용자 콘텍스트 중 적어도 하나는 운영체제와는 다른 소스에 의해 선언되는 통지 전달 제어 방법.
  42. 제41항에 있어서,
    상기 운영체제와는 다른 소스는 프로그램인 통지 전달 제어 방법.
  43. 제37항에 있어서,
    각각의 규칙에 대응하는 특정의 요소들을 포함하는 상기 통지의 전달을 제어하는 방법을 설명하는 복수의 사용자 규칙을 정의하는 단계를 더 포함하는 통지 전달 제어 방법.
  44. 제43항에 있어서,
    두개의 사용자 규칙이 충돌할 경우, 보다 침습적인 규칙이 적용되는 통지 전달 제어 방법.
  45. 제44항에 있어서,
    상기 사용자 규칙은 상기 사용자에 의해 선언되는 통지 전달 제어 방법.
  46. 제45항에 있어서,
    상기 사용자 콘텍스트 및 사용자 규칙은 사용자의 선호도에 따라서 사용자가 수정하는 것이 가능하도록 되어 있는 통지 전달 제어 방법.
  47. 통지의 전달을 제어하기 위한 방법을 구현하기 위한 컴퓨터 실행가능 컴포넌트를 갖는 컴퓨터 판독가능 매체이며, 상기 방법은
    복수의 사용자 콘텍스트를 선언하는 단계 - 각 사용자 콘텍스트는 참 또는 거짓이 될 수 있는 조건과 상기 조건이 참일 경우에 추종되어야 하는 명령을 포함함 - ;
    복수의 소스들로부터 통지를 수신하는 단계; 및
    상기 사용자 콘텍스트의 조건이 참인 경우, 상기 사용자 콘텍스트에 대응하는 명령을 추종하여 상기 통지에 대해 무엇을 수행해야 하는지를 결정하는 단계
    를 포함하는 컴퓨터 판독가능 매체.
  48. 제47항에 있어서,
    상기 명령들은 통지를 라우팅, 거부, 연기 또는 전달하는 것 중 적어도 하나를 포함하는 컴퓨터 판독가능 매체.
  49. 제47항에 있어서,
    상기 명령들은 사용자의 선호도에 따라서 사용자가 수정하는 것이 가능하도록 되어 있는 컴퓨터 판독가능 매체.
  50. 제47항에 있어서,
    상기 복수의 사용자 콘텍스트들 중 적어도 하나는 운영체제에 의해 선언되는 컴퓨터 판독가능 매체.
  51. 제47항에 있어서,
    상기 복수의 사용자 콘텍스트들 중 적어도 하나는 운영체제와는 다른 소스에 의해 선언되는 컴퓨터 판독가능 매체.
  52. 제51항에 있어서,
    상기 운영체제와는 다른 소스는 프로그램인 컴퓨터 판독가능 매체.
  53. 제47항에 있어서,
    각각의 규칙에 대응하는 특정의 요소들을 포함하는 상기 통지의 전달을 제어하는 방법을 설명하는 복수의 사용자 규칙을 정의하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
  54. 제53항에 있어서,
    두 개의 사용자 규칙이 충돌할 경우, 보다 침습적인 규칙이 적용되는 컴퓨터 판독가능 매체.
  55. 제54항에 있어서,
    상기 사용자 규칙은 상기 사용자에 의해 선언되는 컴퓨터 판독가능 매체.
  56. 제55항에 있어서,
    상기 사용자 콘텍스트 및 사용자 규칙은 상기 사용자의 선호도에 따라서 사용자가 수정하는 것이 가능하도록 되어 있는 컴퓨터 판독가능 매체.
  57. 통지의 전달을 제어하기 위한 시스템에서,
    적어도 제1 또는 제2 상태에 있을 수 있는 제1 조건을 선언하기 위한 수단;
    상기 제1 조건이 제1 상태에 있다고 판정된 경우, 상기 통지의 전달을 제어하기 위해 수행되어야 할 제1 전달 명령을 제공하기 위한 수단; 및
    상기 제1 조건이 제1 상태에 있다고 판정된 경우, 상기 제1 전달 명령에 따라서 복수의 소스들로부터 통지들을 수신하여 상기 통지의 전달을 제어하기 위한 수단
    을 포함하는 통지 전달 제어 시스템.
  58. 제57항에 있어서,
    사용자의 선호도에 따라서 사용자가 상기 제1 전달 명령을 수정할 수 있도록 하기 위한 수단을 더 포함하는 통지 전달 제어 시스템.
  59. 제57항에 있어서,
    상기 제1 조건이 선언된 때에 상기 제1 조건의 상태를 판정하기 위한 수단을 더 포함하는 통지 전달 제어 시스템.
  60. 제57항에 있어서,
    상기 통지가 전달되는 때에 상기 제1 조건의 상태를 판정하기 위한 수단을 더 포함하는 통지 전달 제어 시스템.
  61. 제57항에 있어서,
    적어도 제1 특정 요소를 포함하는 상기 통지의 전달을 제어하는 방법을 설명하는 제1 규칙을 정의하기 위한 수단을 더 포함하는 통지 전달 제어 시스템.
  62. 제57항에 있어서,
    통지의 라우팅, 거부, 연기 또는 전달 중 적어도 하나를 포함하는 상기 전달 명령을 수행하기 위한 수단을 더 포함하는 통지 전달 제어 시스템.
  63. 상기 통지의 전달을 제어하기 위한 시스템이며,
    복수의 사용자 콘텍스트를 선언하기 위한 수단 - 각각의 사용자 콘텍스트는 참 또는 거짓일 수 있는 조건과, 그 조건이 참인 경우 추종되어야 하는 명령을 포함함 -;
    복수의 소스들로부터 통지를 수신하기 위한 수단; 및
    상기 사용자 콘텍스트의 조건이 참인 경우, 상기 사용자 콘텍스트에 대응하는 명령을 추종하여 상기 통지에 대해 무엇을 수행해야 하는지를 결정하는 수단
    을 포함하는 통지 전달 제어 시스템.
  64. 제63항에 있어서,
    통지를 라우팅 거부, 연기 또는 전달하는 것 중 적어도 하나를 포함하는 명령을 수행하기 위한 수단을 더 포함하는 통지 전달 제어 시스템.
  65. 제63항에 있어서,
    사용자의 선호도에 따라서 사용자가 상기 명령들을 수정할 수 있도록 하기 위한 수단을 더 포함하는 통지 전달 제어 시스템.
  66. 제63항에 있어서,
    각각의 규칙에 대응하는 특정의 요소들을 포함하는 상기 통지의 전달을 제어하는 방법을 설명하는 복수의 사용자 규칙들을 정의하기 위한 수단을 더 포함하는 통지 전달 제어 시스템.
  67. 제63항에 있어서,
    사용자의 선호도에 따라서 사용자가 상기 사용자 규칙을 수정할 수 있도록 하기 위한 수단을 더 포함하는 통지 전달 제어 시스템.
KR1020057017980A 2003-03-26 2003-05-15 통지 전달 제어 방법 및 시스템, 및 컴퓨터 판독가능 매체 KR100939428B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/402,075 2003-03-26
US10/402,075 US7890960B2 (en) 2003-03-26 2003-03-26 Extensible user context system for delivery of notifications

Publications (2)

Publication Number Publication Date
KR20050119658A true KR20050119658A (ko) 2005-12-21
KR100939428B1 KR100939428B1 (ko) 2010-01-28

Family

ID=32989597

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057017980A KR100939428B1 (ko) 2003-03-26 2003-05-15 통지 전달 제어 방법 및 시스템, 및 컴퓨터 판독가능 매체

Country Status (11)

Country Link
US (2) US7890960B2 (ko)
EP (1) EP1606709A4 (ko)
JP (1) JP4331691B2 (ko)
KR (1) KR100939428B1 (ko)
CN (1) CN1759377B (ko)
AU (1) AU2003229324B2 (ko)
BR (1) BR0318206A (ko)
CA (1) CA2519973C (ko)
MX (1) MXPA05010223A (ko)
RU (1) RU2323468C2 (ko)
WO (1) WO2004097638A1 (ko)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI111595B (fi) * 2000-12-20 2003-08-15 Nokia Corp Järjestely multimediasanomanvälityksen toteuttamiseksi
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7421438B2 (en) 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7240292B2 (en) 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7250955B1 (en) * 2003-06-02 2007-07-31 Microsoft Corporation System for displaying a notification window from completely transparent to intermediate level of opacity as a function of time to indicate an event has occurred
GB0313385D0 (en) 2003-06-10 2003-07-16 Symbian Ltd Automatic behaviour modifications in symbian OS
US7664233B1 (en) * 2003-06-25 2010-02-16 Everbridge, Inc. Emergency and non-emergency telecommunications notification system
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US8489442B1 (en) * 2004-02-02 2013-07-16 Avaya Inc. Interface for meeting facilitation and coordination, method and apparatus
US9704502B2 (en) * 2004-07-30 2017-07-11 Invention Science Fund I, Llc Cue-aware privacy filter for participants in persistent communications
US8977250B2 (en) * 2004-08-27 2015-03-10 The Invention Science Fund I, Llc Context-aware filter for participants in persistent communication
US9779750B2 (en) * 2004-07-30 2017-10-03 Invention Science Fund I, Llc Cue-aware privacy filter for participants in persistent communications
US8521828B2 (en) 2004-07-30 2013-08-27 The Invention Science Fund I, Llc Themes indicative of participants in persistent communication
US7665028B2 (en) 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
US7587450B2 (en) * 2006-02-01 2009-09-08 Swift Creek Systems, Llc HTTP publish/subscribe communication protocol
US9330190B2 (en) 2006-12-11 2016-05-03 Swift Creek Systems, Llc Method and system for providing data handling information for use by a publish/subscribe client
JP2008165281A (ja) * 2006-12-27 2008-07-17 Fujitsu Ltd アプリケーション実行装置、アプリケーション実行プログラム、およびアプリケーション実行方法
KR101387527B1 (ko) * 2007-12-06 2014-04-23 엘지전자 주식회사 단말기 및 그 메뉴 아이콘 디스플레이 방법
US8892658B2 (en) * 2008-04-07 2014-11-18 Microsoft Corporation Break-through mechanism for personas associated with a single device
US10375223B2 (en) * 2008-08-28 2019-08-06 Qualcomm Incorporated Notifying a user of events in a computing device
US8745636B2 (en) * 2008-10-29 2014-06-03 Dell Products L.P. Communication event management methods, media and systems
US8972892B2 (en) * 2010-01-05 2015-03-03 Qualcomm Incorporated Notification in immersive applications
US8600754B2 (en) 2010-04-19 2013-12-03 Qualcomm Incorporated System and method of providing voice updates from a navigation system that recognizes an active conversation
US8595014B2 (en) * 2010-04-19 2013-11-26 Qualcomm Incorporated Providing audible navigation system direction updates during predetermined time windows so as to minimize impact on conversations
US8814697B2 (en) * 2011-04-19 2014-08-26 Sony Computer Entertainment America Llc Method and apparatus for use in preserving a game state
US20130110943A1 (en) * 2011-11-02 2013-05-02 Apple Inc. Notification and reminder generation, distribution, and storage system
US9860365B2 (en) * 2012-03-23 2018-01-02 Fujitsu Limited Providing setting adjustments to a communication device
US20140058679A1 (en) * 2012-08-23 2014-02-27 Apple Inc. Wake Status Detection for Suppression and Initiation of Notifications
US8615221B1 (en) 2012-12-06 2013-12-24 Google Inc. System and method for selection of notification techniques in an electronic device
US20140171116A1 (en) * 2012-12-14 2014-06-19 Anthony G. LaMarca Location-aware mobile application management
US9621619B2 (en) 2013-02-21 2017-04-11 International Business Machines Corporation Enhanced notification for relevant communications
US9274687B1 (en) 2013-10-11 2016-03-01 Google Inc. Managing schedule changes for correlated calendar events
US9531651B1 (en) 2014-02-13 2016-12-27 Google Inc. Methods for displaying notifications
US9794355B2 (en) 2014-04-08 2017-10-17 Samsung Electronics Co., Ltd. Systems and methods for adaptive notification networks
US9571441B2 (en) 2014-05-19 2017-02-14 Microsoft Technology Licensing, Llc Peer-based device set actions
US10320913B2 (en) 2014-12-05 2019-06-11 Microsoft Technology Licensing, Llc Service content tailored to out of routine events
US10135937B2 (en) * 2015-02-19 2018-11-20 Microsoft Technology Licensing, Llc Personalized notifications
US9554356B2 (en) 2015-02-19 2017-01-24 Microsoft Technology Licensing, Llc Personalized reminders
US20160267740A1 (en) 2015-03-13 2016-09-15 Collective Decision Engines, Inc. System and Method for Quadratic, Near-Quadratic, and Convex Voting in Various Types of Research and Voting
US10185973B2 (en) 2015-04-07 2019-01-22 Microsoft Technology Licensing, Llc Inferring venue visits using semantic information
US10666454B1 (en) * 2015-06-24 2020-05-26 Groupon, Inc. Apparatus, system, and method for providing simultaneous delivery of output communications
JP6129261B2 (ja) * 2015-09-15 2017-05-17 Line株式会社 通知制御方法、ユーザ端末装置及び通知制御プログラム
US11657310B2 (en) 2016-01-06 2023-05-23 International Business Machines Corporiation Utilizing stochastic controller to provide user-controlled notification rate of wearable-based events
US10754518B1 (en) * 2016-01-21 2020-08-25 Amazon Technologies, Inc. Techniques for providing customized user interface components in a push notification
US10282165B2 (en) 2016-04-06 2019-05-07 International Business Machines Corporation Selective displaying of push notifications
US10257127B2 (en) 2016-08-09 2019-04-09 Microsoft Technology Licensing, Llc Email personalization
US11443008B2 (en) * 2018-06-11 2022-09-13 International Business Machines Corporation Advanced web page content management
US11738833B1 (en) 2020-03-31 2023-08-29 Bombardier Recreational Products Inc. Fender system for a watercraft
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
WO2021231207A2 (en) * 2020-05-11 2021-11-18 Apple Inc. Providing relevant data items based on context
AU2021204811B1 (en) * 2020-05-11 2021-09-23 Apple Inc. Providing relevant data items based on context
US11630557B2 (en) * 2021-06-10 2023-04-18 Hewlett-Packard Development Company, L.P. Alerts for virtual meetings

Family Cites Families (317)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US135517A (en) * 1873-02-04 Improvement in car-axle lubricators
US105745A (en) * 1870-07-26 Improvement in cultivators
US53996A (en) * 1866-04-17 Improved expanding-tap and reamer
US88374A (en) * 1869-03-30 Improvement in cotton-gins
US93321A (en) * 1869-08-03 Improvement in portable summer-furnaces
US69908A (en) * 1867-10-15 Improvement in harvesters
US5241671C1 (en) 1989-10-26 2002-07-02 Encyclopaedia Britannica Educa Multimedia search system using a plurality of entry path means which indicate interrelatedness of information
US5513306A (en) 1990-08-09 1996-04-30 Apple Computer, Inc. Temporal event viewing and editing system
US5388196A (en) * 1990-09-07 1995-02-07 Xerox Corporation Hierarchical shared books with database
US5333315A (en) 1991-06-27 1994-07-26 Digital Equipment Corporation System of device independent file directories using a tag between the directories and file descriptors that migrate with the files
US5504852A (en) 1991-09-09 1996-04-02 Apple Computer, Inc. Method for creating a collection of aliases representing computer system files
US5461710A (en) 1992-03-20 1995-10-24 International Business Machines Corporation Method for providing a readily distinguishable template and means of duplication thereof in a computer system graphical user interface
JP3566720B2 (ja) 1992-04-30 2004-09-15 アプル・コンピュータ・インコーポレーテッド コンピュータ・システムにおいて情報を編成する方法と装置
EP0584913B1 (en) 1992-08-27 2000-05-03 Sun Microsystems, Inc. Method and apparatus for providing collection browsers
US6947959B1 (en) 1992-10-01 2005-09-20 Quark, Inc. Digital media asset management system and process
US5559948A (en) 1992-12-23 1996-09-24 International Business Machines Corporation Apparatus and method for manipulating an object in a computer system graphical user interface
US5598524A (en) 1993-03-03 1997-01-28 Apple Computer, Inc. Method and apparatus for improved manipulation of data between an application program and the files system on a computer-controlled display system
US5428784A (en) 1993-03-05 1995-06-27 International Business Machines Corporation Method and apparatus for linking electronic mail and an electronic calendar to provide a dynamic response to an electronic mail message
US5499364A (en) 1993-10-14 1996-03-12 Digital Equipment Corporation System and method for optimizing message flows between agents in distributed computations
US6243071B1 (en) 1993-11-03 2001-06-05 Apple Computer, Inc. Tool set for navigating through an electronic book
US6339767B1 (en) 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
US5493692A (en) 1993-12-03 1996-02-20 Xerox Corporation Selective delivery of electronic messages in a multiple computer system based on context and environment of a user
MX9602952A (es) 1994-01-27 1997-06-28 Minnesota Mining & Mfg Notas de software.
US6453311B1 (en) 1994-05-06 2002-09-17 Apple Computer, Inc. System and method for performing context checks
US5680563A (en) 1994-07-25 1997-10-21 Object Technology Licensing Corporation Object-oriented operating system enhancement for filtering items in a window
US5831606A (en) 1994-12-13 1998-11-03 Microsoft Corporation Shell extensions for an operating system
US5956715A (en) 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
US5696486A (en) 1995-03-29 1997-12-09 Cabletron Systems, Inc. Method and apparatus for policy-based alarm notification in a distributed network management environment
US5838317A (en) 1995-06-30 1998-11-17 Microsoft Corporation Method and apparatus for arranging displayed graphical representations on a computer interface
US6535230B1 (en) 1995-08-07 2003-03-18 Apple Computer, Inc. Graphical user interface providing consistent behavior for the dragging and dropping of content objects
US5929854A (en) 1995-11-30 1999-07-27 Ross; Michael M. Dialog box method and system for arranging document windows
US5867163A (en) 1995-12-01 1999-02-02 Silicon Graphics, Inc. Graphical user interface for defining and invoking user-customized tool shelf execution sequence
US6014137A (en) 1996-02-27 2000-01-11 Multimedia Adventures Electronic kiosk authoring system
US5828882A (en) 1996-03-15 1998-10-27 Novell, Inc. Event notification facility
US6463446B1 (en) * 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US6768999B2 (en) 1996-06-28 2004-07-27 Mirror Worlds Technologies, Inc. Enterprise, stream-based, information management system
US6021262A (en) 1996-07-12 2000-02-01 Microsoft Corporation System and method for detection of, notification of, and automated repair of problem conditions in a messaging system
US5757925A (en) 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method
US5923328A (en) 1996-08-07 1999-07-13 Microsoft Corporation Method and system for displaying a hierarchical sub-tree by selection of a user interface element in a sub-tree bar control
US6025843A (en) * 1996-09-06 2000-02-15 Peter Sklar Clustering user interface
US5790121A (en) 1996-09-06 1998-08-04 Sklar; Peter Clustering user interface
US5878410A (en) 1996-09-13 1999-03-02 Microsoft Corporation File system sort order indexes
US6037944A (en) 1996-11-07 2000-03-14 Natrificial Llc Method and apparatus for displaying a thought network from a thought's perspective
US6918096B2 (en) 1996-11-07 2005-07-12 Thebrain Technologies, Corp. Method and apparatus for displaying a network of thoughts from a thought's perspective
US20060129627A1 (en) 1996-11-22 2006-06-15 Mangosoft Corp. Internet-based shared file service with native PC client access and semantics and distributed version control
US5987506A (en) 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US5935210A (en) 1996-11-27 1999-08-10 Microsoft Corporation Mapping the structure of a collection of computer resources
EP1010076A1 (en) 1996-11-27 2000-06-21 1Vision Software, L.L.C. File directory and file navigation system
US6061695A (en) 1996-12-06 2000-05-09 Microsoft Corporation Operating system shell having a windowing graphical user interface with a desktop displayed as a hypertext multimedia document
US6023708A (en) 1997-05-29 2000-02-08 Visto Corporation System and method for using a global translator to synchronize workspace elements across a network
US5835094A (en) 1996-12-31 1998-11-10 Compaq Computer Corporation Three-dimensional computer environment
US6944819B2 (en) 1997-01-10 2005-09-13 Eastman-Kodak Company Computer method and apparatus for previewing files outside of an application program
US5933139A (en) 1997-01-31 1999-08-03 Microsoft Corporation Method and apparatus for creating help functions
US5875446A (en) 1997-02-24 1999-02-23 International Business Machines Corporation System and method for hierarchically grouping and ranking a set of objects in a query context based on one or more relationships
US6144968A (en) 1997-03-04 2000-11-07 Zellweger; Paul Method and apparatus for menu access to information objects indexed by hierarchically-coded keywords
US6185603B1 (en) * 1997-03-13 2001-02-06 At&T Corp. Method and system for delivery of e-mail and alerting messages
US6317142B1 (en) 1997-04-04 2001-11-13 Avid Technology, Inc. Taxonomy of objects and a system of non-modal property inspectors
JPH10301938A (ja) 1997-04-22 1998-11-13 Canon Inc 画像処理装置およびその方法、画像処理システム、記憶媒体
US6057844A (en) 1997-04-28 2000-05-02 Adobe Systems Incorporated Drag operation gesture controller
US7631012B2 (en) 1997-05-22 2009-12-08 Computer Associates Think, Inc. System and method of operating a database
US5987454A (en) 1997-06-09 1999-11-16 Hobbs; Allen Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource
US5899995A (en) 1997-06-30 1999-05-04 Intel Corporation Method and apparatus for automatically organizing information
US6573907B1 (en) * 1997-07-03 2003-06-03 Obvious Technology Network distribution and management of interactive video and multi-media containers
US5877766A (en) 1997-08-15 1999-03-02 International Business Machines Corporation Multi-node user interface component and method thereof for use in accessing a plurality of linked records
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US6279016B1 (en) 1997-09-21 2001-08-21 Microsoft Corporation Standardized filtering control techniques
US6237011B1 (en) 1997-10-08 2001-05-22 Caere Corporation Computer-based document management system
US6202061B1 (en) 1997-10-24 2001-03-13 Pictra, Inc. Methods and apparatuses for creating a collection of media
US6097389A (en) 1997-10-24 2000-08-01 Pictra, Inc. Methods and apparatuses for presenting a collection of digital media in a media container
US6061692A (en) 1997-11-04 2000-05-09 Microsoft Corporation System and method for administering a meta database as an integral component of an information server
US6275829B1 (en) 1997-11-25 2001-08-14 Microsoft Corporation Representing a graphic image on a web page with a thumbnail-sized image
US6003040A (en) 1998-01-23 1999-12-14 Mital; Vijay Apparatus and method for storing, navigating among and adding links between data items in computer databases
US6807632B1 (en) 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer
US6401097B1 (en) 1998-01-23 2002-06-04 Mccotter Thomas M. System and method for integrated document management and related transmission and access
US6078924A (en) 1998-01-30 2000-06-20 Aeneid Corporation Method and apparatus for performing data collection, interpretation and analysis, in an information platform
US6128623A (en) 1998-04-15 2000-10-03 Inktomi Corporation High performance object cache
US7756892B2 (en) 2000-05-02 2010-07-13 Digimarc Corporation Using embedded data with file sharing
US6256031B1 (en) 1998-06-26 2001-07-03 Microsoft Corporation Integration of physical and virtual namespace
US6466238B1 (en) 1998-06-30 2002-10-15 Microsoft Corporation Computer operating system that defines default document folder for application programs
US6181342B1 (en) 1998-07-06 2001-01-30 International Business Machines Corp. Computer file directory system displaying visual summaries of visual data in desktop computer documents for quickly identifying document content
US6363377B1 (en) 1998-07-30 2002-03-26 Sarnoff Corporation Search data processor
US6466932B1 (en) 1998-08-14 2002-10-15 Microsoft Corporation System and method for implementing group policy
US6324551B1 (en) 1998-08-31 2001-11-27 Xerox Corporation Self-contained document management based on document properties
US6240421B1 (en) 1998-09-08 2001-05-29 Edwin J. Stolarz System, software and apparatus for organizing, storing and retrieving information from a computer database
US6373507B1 (en) 1998-09-14 2002-04-16 Microsoft Corporation Computer-implemented image acquistion system
US6803926B1 (en) * 1998-09-18 2004-10-12 Microsoft Corporation System and method for dynamically adjusting data values and enforcing valid combinations of the data in response to remote user input
EP1116132A2 (en) 1998-09-22 2001-07-18 Science Applications International Corporation User-defined dynamic collaborative environments
US8332478B2 (en) 1998-10-01 2012-12-11 Digimarc Corporation Context sensitive connected content
JP2000112797A (ja) 1998-10-02 2000-04-21 Nippon Telegr & Teleph Corp <Ntt> ビューディレクトリ処理方法および装置とビューディレクトリ処理プログラムを記録した記録媒体
US6175859B1 (en) 1998-10-28 2001-01-16 Avaya Technology Corp. Sender-defined time for reporting on the status of a sent message or of the message's recipient
US6341280B1 (en) 1998-10-30 2002-01-22 Netscape Communications Corporation Inline tree filters
US6134568A (en) 1998-10-30 2000-10-17 Kinko's Ventures, Inc. Previewing an assembled document
US7730089B2 (en) 1998-11-16 2010-06-01 Punch Networks Corporation Method and system for providing remote access to the facilities of a server computer
US6823344B1 (en) 1998-12-03 2004-11-23 International Business Machines Corporation File manager system providing faster and more efficient interactive user access to files in computer displays
US6571245B2 (en) 1998-12-07 2003-05-27 Magically, Inc. Virtual desktop in a computer network
US6466232B1 (en) * 1998-12-18 2002-10-15 Tangis Corporation Method and system for controlling presentation of information to a user based on the user's condition
US6762777B2 (en) 1998-12-31 2004-07-13 International Business Machines Corporation System and method for associating popup windows with selective regions of a document
US6480835B1 (en) 1998-12-31 2002-11-12 Intel Corporation Method and system for searching on integrated metadata
US6751604B2 (en) 1999-01-06 2004-06-15 Hewlett-Packard Development Company, L.P. Method of displaying temporal and storage media relationships of file names protected on removable storage media
US6147601A (en) 1999-01-09 2000-11-14 Heat - Timer Corp. Electronic message delivery system utilizable in the monitoring of remote equipment and method of same
US6493755B1 (en) * 1999-01-15 2002-12-10 Compaq Information Technologies Group, L.P. Automatic notification rule definition for a network management system
US6628309B1 (en) 1999-02-05 2003-09-30 International Business Machines Corporation Workspace drag and drop
US6411311B1 (en) 1999-02-09 2002-06-25 International Business Machines Corporation User interface for transferring items between displayed windows
US6356915B1 (en) 1999-02-22 2002-03-12 Starbase Corp. Installable file system having virtual file system drive, virtual device driver, and virtual disks
US6636238B1 (en) 1999-04-20 2003-10-21 International Business Machines Corporation System and method for linking an audio stream with accompanying text material
JP3284543B2 (ja) 1999-04-23 2002-05-20 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム格納媒体
US6573906B1 (en) 1999-04-26 2003-06-03 International Business Machines Corporation Method and system for delivering integrated user assistance information and traditional help from the same source
US6539399B1 (en) 1999-04-29 2003-03-25 Amada Company, Limited Stand alone data management system for facilitating sheet metal part production
US6526399B1 (en) 1999-06-15 2003-02-25 Microsoft Corporation Method and system for grouping and displaying a database
US6535229B1 (en) * 1999-06-29 2003-03-18 International Business Machines Corporation Graphical user interface for selection of options within mutually exclusive subsets
IL130972A0 (en) 1999-07-15 2001-01-28 Hotbar Com Israel Ltd Method for the dynamic improvement of internet browser appearance and connectivity
US6618716B1 (en) * 1999-07-30 2003-09-09 Microsoft Corporation Computational architecture for managing the transmittal and rendering of information, alerts, and notifications
US6448985B1 (en) 1999-08-05 2002-09-10 International Business Machines Corporation Directory tree user interface having scrollable subsections
US6549916B1 (en) * 1999-08-05 2003-04-15 Oracle Corporation Event notification system tied to a file system
US6763388B1 (en) 1999-08-10 2004-07-13 Akamai Technologies, Inc. Method and apparatus for selecting and viewing portions of web pages
US6505233B1 (en) 1999-08-30 2003-01-07 Zaplet, Inc. Method for communicating information among a group of participants
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6430575B1 (en) 1999-09-10 2002-08-06 Xerox Corporation Collaborative document management system with customizable filing structures that are mutually intelligible
US6871348B1 (en) 1999-09-15 2005-03-22 Intel Corporation Method and apparatus for integrating the user interfaces of multiple applications into one application
US6763458B1 (en) 1999-09-27 2004-07-13 Captaris, Inc. System and method for installing and servicing an operating system in a computer or information appliance
US7444390B2 (en) 1999-10-20 2008-10-28 Cdimensions, Inc. Method and apparatus for providing a web-based active virtual file system
US7039860B1 (en) 1999-10-01 2006-05-02 Netspinner Solutions As Creating web pages category list prior to the list being served to a browser
US7146575B2 (en) 1999-11-24 2006-12-05 Shutterfly, Inc. Image uploading
US6583799B1 (en) 1999-11-24 2003-06-24 Shutterfly, Inc. Image uploading
US7917628B2 (en) 1999-12-02 2011-03-29 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US6754829B1 (en) 1999-12-14 2004-06-22 Intel Corporation Certificate-based authentication system for heterogeneous environments
US6606105B1 (en) 1999-12-22 2003-08-12 Adobe Systems Incorporated Layer enhancements in digital illustration system
US6847959B1 (en) 2000-01-05 2005-01-25 Apple Computer, Inc. Universal interface for retrieval of information in a computer system
US20010053996A1 (en) * 2000-01-06 2001-12-20 Atkinson Paul D. System and method for distributing and controlling the output of media in public spaces
EP1117220A1 (en) 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
WO2001055898A1 (en) * 2000-01-14 2001-08-02 Synquiry Technologies, Ltd. Software composition using graph types, graphs, and agents
US6658436B2 (en) 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
US20020046299A1 (en) * 2000-02-09 2002-04-18 Internet2Anywhere, Ltd. Method and system for location independent and platform independent network signaling and action initiating
US6735623B1 (en) 2000-02-09 2004-05-11 Mitch Prust Method and system for accessing a remote storage area
US7640181B2 (en) 2000-02-17 2009-12-29 Hart Intercivic, Inc. Distributed network voting system
US7412462B2 (en) 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
WO2001063919A1 (en) 2000-02-23 2001-08-30 Penta Trading Ltd. Systems and methods for generating and providing previews of electronic files such as web files
US20060173873A1 (en) 2000-03-03 2006-08-03 Michel Prompt System and method for providing access to databases via directories and other hierarchical structures and interfaces
US6985905B2 (en) 2000-03-03 2006-01-10 Radiant Logic Inc. System and method for providing access to databases via directories and other hierarchical structures and interfaces
US6757362B1 (en) 2000-03-06 2004-06-29 Avaya Technology Corp. Personal virtual assistant
AU4099501A (en) 2000-03-10 2001-09-17 Herbert Street Technologies Ltd. A data transfer and management system
KR200193768Y1 (ko) * 2000-03-10 2000-08-16 김박 브레지어 / 바디슈츠의 어깨 끈 연결구조
CN100594701C (zh) * 2000-03-16 2010-03-17 微软公司 一种通知系统
US20020087649A1 (en) * 2000-03-16 2002-07-04 Horvitz Eric J. Bounded-deferral policies for reducing the disruptiveness of notifications
US6549217B1 (en) 2000-03-23 2003-04-15 Koninklijke Philips Electronics N.V. System and method for computer system management using bookmarks
JP2001282813A (ja) 2000-03-29 2001-10-12 Toshiba Corp マルチメディアデータ検索方法、インデックス情報提供方法、マルチメディアデータ検索装置、インデックスサーバ及びマルチメディアデータ検索サーバ
US6636250B1 (en) * 2000-04-12 2003-10-21 Emc Corp Methods and apparatus for presenting information to a user of a computer system
US6563514B1 (en) 2000-04-13 2003-05-13 Extensio Software, Inc. System and method for providing contextual and dynamic information retrieval
US7188319B2 (en) 2000-04-21 2007-03-06 Microsoft Corporation Displaying graphical information and user selected properties on a computer interface
JP4325075B2 (ja) 2000-04-21 2009-09-02 ソニー株式会社 データオブジェクト管理装置
US20010056434A1 (en) 2000-04-27 2001-12-27 Smartdisk Corporation Systems, methods and computer program products for managing multimedia content
US20020049717A1 (en) 2000-05-10 2002-04-25 Routtenberg Michael D. Digital content distribution system and method
US20010056508A1 (en) * 2000-05-12 2001-12-27 Kenneth Arneson Event notification system and method
US20040133572A1 (en) 2000-05-18 2004-07-08 I2 Technologies Us, Inc., A Delaware Corporation Parametric searching
US9213836B2 (en) 2000-05-28 2015-12-15 Barhon Mayer, Batya System and method for comprehensive general electric protection for computers against malicious programs that may steal information and/or cause damages
US6745206B2 (en) 2000-06-05 2004-06-01 International Business Machines Corporation File system with access and retrieval of XML documents
US7043472B2 (en) 2000-06-05 2006-05-09 International Business Machines Corporation File system with access and retrieval of XML documents
US6925608B1 (en) 2000-07-05 2005-08-02 Kendyl A. Roman Graphical user interface for building Boolean queries and viewing search results
US7219332B2 (en) 2000-07-07 2007-05-15 Microsoft Corporation Configuring software components(merge) with transformation component using configurable and non-configurable data elements
US6938207B1 (en) 2000-07-19 2005-08-30 International Business Machines Corporation Method and system for indicating document traversal direction in a hyper linked navigation system
US7451099B2 (en) 2000-08-30 2008-11-11 Kontera Technologies, Inc. Dynamic document context mark-up technique implemented over a computer network
US7130885B2 (en) 2000-09-05 2006-10-31 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
JP2002082745A (ja) * 2000-09-07 2002-03-22 Sony Corp 情報処理装置及び方法、並びにプログラム格納媒体
AUPR015700A0 (en) 2000-09-15 2000-10-12 Filecat Pty Ltd Distributed file-sharing network
US20020062310A1 (en) 2000-09-18 2002-05-23 Smart Peer Llc Peer-to-peer commerce system
US6988128B1 (en) * 2000-09-27 2006-01-17 International Business Machines Corporation Calendar events and calendar-driven application technique
US6738770B2 (en) 2000-11-04 2004-05-18 Deep Sky Software, Inc. System and method for filtering and sorting data
US20020087740A1 (en) * 2000-11-06 2002-07-04 Rick Castanho System and method for service specific notification
US6684222B1 (en) * 2000-11-09 2004-01-27 Accenture Llp Method and system for translating data associated with a relational database
US6762776B2 (en) 2000-11-10 2004-07-13 Microsoft Corporation Mouse input panel windows class list
US7242421B2 (en) 2000-11-10 2007-07-10 Perceptive Network Technologies, Inc. Methods of establishing a communications link using perceptual sensing of a user's presence
US7099946B2 (en) * 2000-11-13 2006-08-29 Canon Kabushiki Kaishsa Transferring a media browsing session from one device to a second device by transferring a session identifier and a session key to the second device
AU2002239391A1 (en) 2000-11-30 2002-06-11 Message Machines, Inc. Systems and methods for routing messages to communications devices
US6907580B2 (en) 2000-12-14 2005-06-14 Microsoft Corporation Selection paradigm for displayed user interface
US7032182B2 (en) 2000-12-20 2006-04-18 Eastman Kodak Company Graphical user interface adapted to allow scene content annotation of groups of pictures in a picture database to promote efficient database browsing
US7020848B2 (en) 2000-12-20 2006-03-28 Eastman Kodak Company Comprehensive, multi-dimensional graphical user interface using picture metadata for navigating and retrieving pictures in a picture database
US6883146B2 (en) 2000-12-20 2005-04-19 Eastman Kodak Company Picture database graphical user interface utilizing map-based metaphors for efficient browsing and retrieving of pictures
AUPR230700A0 (en) * 2000-12-22 2001-01-25 Canon Kabushiki Kaisha A method for facilitating access to multimedia content
US20020087969A1 (en) 2000-12-28 2002-07-04 International Business Machines Corporation Interactive TV audience estimation and program rating in real-time using multi level tracking methods, systems and program products
US20040205698A1 (en) * 2000-12-29 2004-10-14 Schliesmann Barry Edward System and method for event driven programming
US20020089540A1 (en) 2001-01-08 2002-07-11 Freddie Geier Media editing and creating interface
US20020091679A1 (en) 2001-01-09 2002-07-11 Wright James E. System for searching collections of linked objects
US7266768B2 (en) 2001-01-09 2007-09-04 Sharp Laboratories Of America, Inc. Systems and methods for manipulating electronic information using a three-dimensional iconic representation
US6839721B2 (en) 2001-01-12 2005-01-04 Hewlett-Packard Development Company, L.P. Integration of a database into file management software for protecting, tracking, and retrieving data
AU2002234258A1 (en) 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7437363B2 (en) 2001-01-25 2008-10-14 International Business Machines Corporation Use of special directories for encoding semantic information in a file system
US7043644B2 (en) 2001-01-31 2006-05-09 Qurio Holdings, Inc. Facilitating file access from firewall-protected nodes in a peer-to-peer network
CA2335395A1 (en) 2001-02-09 2002-08-09 Opengraphics Corporation Controlled access system for online communities
US6831655B2 (en) 2001-02-20 2004-12-14 Sun Microsystems, Inc. Method and apparatus for determining display element attribute values
WO2002077871A1 (en) 2001-02-26 2002-10-03 Walter Reed Army Institute Of Research Browser for an accident and incident registry
US6828988B2 (en) * 2001-02-27 2004-12-07 Microsoft Corporation Interactive tooltip
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
DE10112373A1 (de) * 2001-03-15 2002-09-26 Philips Corp Intellectual Pty Verfahren zum Korrigieren einer Echtzeituhr eines elektronischen Geräts
US7925513B2 (en) * 2001-03-15 2011-04-12 Versata Development Group, Inc. Framework for processing sales transaction data
US20020138552A1 (en) 2001-03-21 2002-09-26 Debruine Timothy S. Method and system for optimizing private network file transfers in a public peer-to-peer network
US7047406B2 (en) 2001-03-21 2006-05-16 Qurlo Holdings, Inc. Method and system for providing a secure peer-to-peer file delivery network
US7689711B2 (en) * 2001-03-26 2010-03-30 Salesforce.Com, Inc. System and method for routing messages between applications
US7062490B2 (en) 2001-03-26 2006-06-13 Microsoft Corporation Serverless distributed file system
US7263666B2 (en) 2001-04-09 2007-08-28 Triveni Digital, Inc. Targeted remote GUI for metadata generator
US20020152262A1 (en) 2001-04-17 2002-10-17 Jed Arkin Method and system for preventing the infringement of intellectual property rights
US20020156895A1 (en) 2001-04-20 2002-10-24 Brown Michael T. System and method for sharing contact information
US7185050B2 (en) 2001-04-30 2007-02-27 Hewlett-Packard Development Company, L.P. Document management system and method using content grouping system
US7228383B2 (en) 2001-06-01 2007-06-05 Visto Corporation System and method for progressive and hierarchical caching
US20020188735A1 (en) 2001-06-06 2002-12-12 Needham Bradford H. Partially replicated, locally searched peer to peer file sharing system
CA2451208A1 (en) 2001-06-21 2003-01-03 Paul P. Vagnozzi Database indexing method and apparatus
US20040230572A1 (en) 2001-06-22 2004-11-18 Nosa Omoigui System and method for semantic knowledge retrieval, management, capture, sharing, discovery, delivery and presentation
CN1647070A (zh) * 2001-06-22 2005-07-27 诺萨·欧莫贵 用于知识检索、管理、交付和表示的系统和方法
US7409423B2 (en) 2001-06-28 2008-08-05 Horvitz Eric J Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access
US6944647B2 (en) 2001-06-29 2005-09-13 International Business Machines Corporation Methods and apparatus for bookmarking and annotating data in a log file
US7440994B2 (en) 2001-07-06 2008-10-21 Intel Corporation Method and apparatus for peer-to-peer services to shift network traffic to allow for an efficient transfer of information between devices via prioritized list
JP2003022206A (ja) 2001-07-06 2003-01-24 Fujitsu Ltd ファイル管理プログラムおよびファイル管理装置
KR20030006734A (ko) 2001-07-14 2003-01-23 엠텍비젼 주식회사 통신망을 이용한 영상 데이터 관리 방법 및 시스템
US6865568B2 (en) 2001-07-16 2005-03-08 Microsoft Corporation Method, apparatus, and computer-readable medium for searching and navigating a document database
US20030018657A1 (en) 2001-07-18 2003-01-23 Imation Corp. Backup of data on a network
US6801919B2 (en) * 2001-07-27 2004-10-05 Hewlett-Packard Development Company, L.P. Object oriented database interface encapsulation that allows for chronologically overlapping transactions in a multi-threaded environment
US7610218B2 (en) * 2001-07-31 2009-10-27 Lightsurf Technologies, Inc. Integrated shopping cart for sale of third party products and services via the internet
AU2002313583A1 (en) 2001-08-01 2003-02-17 Actona Technologies Ltd. Virtual file-sharing network
US20030028610A1 (en) 2001-08-03 2003-02-06 Pearson Christopher Joel Peer-to-peer file sharing system and method using user datagram protocol
US6662198B2 (en) 2001-08-30 2003-12-09 Zoteca Inc. Method and system for asynchronous transmission, backup, distribution of data and file sharing
US7203948B2 (en) * 2001-09-29 2007-04-10 Siebel Systems, Inc. Method, apparatus, and system for implementing caching of view custom options in a framework to support web-based applications
US8015204B2 (en) 2001-10-16 2011-09-06 Microsoft Corporation Scoped access control metadata element
US20030078918A1 (en) 2001-10-23 2003-04-24 Souvignier Todd J. Method, apparatus and system for file sharing between computers
US20030093580A1 (en) * 2001-11-09 2003-05-15 Koninklijke Philips Electronics N.V. Method and system for information alerts
US7171468B2 (en) 2001-11-10 2007-01-30 Kabushiki Kaisha Toshiba System and method for accessing a document management repository
US6799173B2 (en) 2001-11-14 2004-09-28 Sun Microsystems, Inc. Method and apparatus for sharing code containing references to non-shared objects
JP4186456B2 (ja) 2001-11-28 2008-11-26 沖電気工業株式会社 分散ファイル共有システムおよびその制御方法
CN1421800A (zh) 2001-11-30 2003-06-04 英业达股份有限公司 电子文件预览系统与方法
US20030105745A1 (en) * 2001-12-05 2003-06-05 Davidson Jason A. Text-file based relational database
JP4225038B2 (ja) 2001-12-11 2009-02-18 トヨタ自動車株式会社 ユニット設計装置およびユニット設計方法
JP3826782B2 (ja) 2001-12-12 2006-09-27 ソニー株式会社 データ伝送システム、情報処理装置および方法、記録媒体、並びにプログラム
US7024427B2 (en) 2001-12-19 2006-04-04 Emc Corporation Virtual file system
US20030120928A1 (en) 2001-12-21 2003-06-26 Miles Cato Methods for rights enabled peer-to-peer networking
KR100436815B1 (ko) 2001-12-24 2004-06-23 한국전자통신연구원 실시간 렌더링을 위한 하드웨어 그래픽 가속장치 내 연산최적화 시스템 및 그 방법
US7266843B2 (en) 2001-12-26 2007-09-04 Mcafee, Inc. Malware scanning to create clean storage locations
US7143362B2 (en) * 2001-12-28 2006-11-28 International Business Machines Corporation System and method for visualizing and navigating content in a graphical user interface
US7266563B2 (en) 2001-12-28 2007-09-04 Fotomedia Technologies, Llc Specifying, assigning, and maintaining user defined metadata in a network-based photosharing system
WO2003058519A2 (en) 2002-01-08 2003-07-17 Sap Aktiengesellschaft Enhanced email management system
JP2003208343A (ja) * 2002-01-10 2003-07-25 Ricoh Co Ltd ファイル作成・閲覧方法、ファイル作成方法、ファイル閲覧方法、ファイル構造及びプログラム
US20040205633A1 (en) 2002-01-11 2004-10-14 International Business Machines Corporation Previewing file or document content
US7089287B2 (en) * 2002-01-16 2006-08-08 Xerox Corporation Message-based system having embedded information management capabilities
US6961734B2 (en) * 2002-01-17 2005-11-01 International Business Machines Corporation Method, system, and program for defining asset classes in a digital library
WO2003063029A1 (en) 2002-01-18 2003-07-31 Bea Systems, Inc. System and method for using virtual directories to service url requests in application servers
US7034691B1 (en) 2002-01-25 2006-04-25 Solvetech Corporation Adaptive communication methods and systems for facilitating the gathering, distribution and delivery of information related to medical care
US7424715B1 (en) * 2002-01-28 2008-09-09 Verint Americas Inc. Method and system for presenting events associated with recorded data exchanged between a server and a user
US6922709B2 (en) 2002-02-19 2005-07-26 International Business Machines Corporation Method for maintaining consistent dual copies of vital product data in a dual accessor library of portable data storage media
US7343365B2 (en) 2002-02-20 2008-03-11 Microsoft Corporation Computer system architecture for automatic context associations
JP2003259450A (ja) 2002-03-01 2003-09-12 Fujitsu Ltd スケジュール管理方法及びその方法における処理をコンピュータに行わせるためのプログラム及び携帯情報端末
AU2003223238A1 (en) 2002-03-11 2003-09-29 Visionshare, Inc. Method and system for peer-to-peer secure communication
US7607102B2 (en) 2002-03-14 2009-10-20 Apple Inc. Dynamically changing appearances for user interface elements during drag-and-drop operations
US7107285B2 (en) 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
WO2003081483A1 (en) 2002-03-18 2003-10-02 Daniel Rex Greening Community directory
US20040044776A1 (en) 2002-03-22 2004-03-04 International Business Machines Corporation Peer to peer file sharing system using common protocols
US20030212710A1 (en) 2002-03-27 2003-11-13 Michael J. Guy System for tracking activity and delivery of advertising over a file network
US20040030731A1 (en) 2002-04-03 2004-02-12 Liviu Iftode System and method for accessing files in a network
US6938042B2 (en) 2002-04-03 2005-08-30 Laplink Software Inc. Peer-to-peer file sharing
US7010755B2 (en) 2002-04-05 2006-03-07 Microsoft Corporation Virtual desktop manager
AU2003221759A1 (en) * 2002-04-09 2003-10-27 Isotag Technology, Inc. Information system for manipulating data related to the ordering and performance of services and communication of results
US7068291B1 (en) 2002-04-11 2006-06-27 Bellsouth Intellectual Property Corp. Video display screen segmentation
US7389242B2 (en) * 2002-05-07 2008-06-17 Re3W Worldwide Limited Interactive processing of real estate transactions
US20030210281A1 (en) 2002-05-07 2003-11-13 Troy Ellis Magnifying a thumbnail image of a document
US7395221B2 (en) 2002-05-09 2008-07-01 International Business Machines Corporation Intelligent free-time search
US6816863B2 (en) 2002-05-09 2004-11-09 International Business Machines Corporation Method, system, and computer product for providing a distribution list
US7080059B1 (en) 2002-05-13 2006-07-18 Quasm Corporation Search and presentation engine
US20030222915A1 (en) 2002-05-30 2003-12-04 International Business Machines Corporation Data processor controlled display system with drag and drop movement of displayed items from source to destination screen positions and interactive modification of dragged items during the movement
US7574488B2 (en) 2002-05-31 2009-08-11 Hitachi, Ltd. Method and apparatus for peer-to-peer file sharing
US20030227487A1 (en) 2002-06-01 2003-12-11 Hugh Harlan M. Method and apparatus for creating and accessing associative data structures under a shared model of categories, rules, triggers and data relationship permissions
US7461378B2 (en) 2002-06-11 2008-12-02 Siemens Communications, Inc. Methods and apparatus for processing an instant message
JP4308587B2 (ja) 2002-06-24 2009-08-05 株式会社リコー 文書群管理装置
US20040001106A1 (en) * 2002-06-26 2004-01-01 John Deutscher System and process for creating an interactive presentation employing multi-media components
US20040002993A1 (en) 2002-06-26 2004-01-01 Microsoft Corporation User feedback processing of metadata associated with digital media files
US7275063B2 (en) * 2002-07-16 2007-09-25 Horn Bruce L Computer system for automatic organization, indexing and viewing of information from multiple sources
JP2004054721A (ja) 2002-07-23 2004-02-19 Hitachi Ltd ネットワークストレージ仮想化方法
US7363594B1 (en) * 2002-08-19 2008-04-22 Sprint Communications Company L.P. Workflow event editor
US7146389B2 (en) * 2002-08-30 2006-12-05 Hitachi, Ltd. Method for rebalancing free disk space among network storages virtualized into a single file system view
US7272660B1 (en) 2002-09-06 2007-09-18 Oracle International Corporation Architecture for general purpose near real-time business intelligence system and methods therefor
US20040054674A1 (en) 2002-09-13 2004-03-18 Carpenter Keith A. Enabling a web application to access a protected file on a secured server
US6956942B2 (en) 2002-09-18 2005-10-18 Sbc Properties, L.P. Multi-modal address book
US7337409B2 (en) 2002-09-25 2008-02-26 Siemens Aktiengesellschaft Customizable drag and drop for industrial software applications
RU2348964C2 (ru) 2002-09-30 2009-03-10 Майкрософт Корпорейшн Система и способ для обеспечения известности элементов пользовательского интерфейса для приложения и пользователя
US8935202B2 (en) 2002-09-30 2015-01-13 Reed Elsevier Inc. Managing changes in a relationship management system
US20040078256A1 (en) 2002-10-21 2004-04-22 Roch Glitho Method, system, and mobile agent for event scheduling
US20040153968A1 (en) * 2002-10-24 2004-08-05 Jennie Ching Method and system for user customizable asset metadata generation in a web-based asset management system
US20040088374A1 (en) 2002-10-31 2004-05-06 Webb James D. Aggregation and sharing of patient data
GB0226294D0 (en) 2002-11-12 2002-12-18 Autodesk Canada Inc Image processing
EP1567929A2 (en) 2002-11-15 2005-08-31 Creo Inc. Methods and systems for sharing data
EP1573592A4 (en) 2002-11-15 2008-06-11 Bigchampagne Llc MONITOR FILE STORAGE AND TRANSFER IN A PEER TO PEER NETWORK
TWI221746B (en) 2002-11-18 2004-10-01 Ulead Systems Inc Preview file generating method applicable on multiple systems and device thereof
US20040098379A1 (en) 2002-11-19 2004-05-20 Dan Huang Multi-indexed relationship media organization system
US7549047B2 (en) 2002-11-21 2009-06-16 Xerox Corporation Method and system for securely sharing files
US7386530B2 (en) 2002-12-19 2008-06-10 Mathon Systems, Inc. System and method for managing content including addressability features
US7853471B2 (en) 2002-12-31 2010-12-14 International Business Machines Corporation Instance messaging auto-scheduling
JP4102199B2 (ja) 2003-01-06 2008-06-18 オリンパス株式会社 撮像システム、カメラ、外部機器、撮像プログラム、記録媒体、および撮像方法
US7769881B2 (en) 2003-01-24 2010-08-03 Hitachi, Ltd. Method and apparatus for peer-to peer access
US7945618B2 (en) 2003-02-10 2011-05-17 Oren Asher Peer-to-peer service designer
US7565618B2 (en) 2003-02-13 2009-07-21 LumaPix Inc. Method and system for distributing multiple dragged objects
US7184524B2 (en) 2003-02-14 2007-02-27 Convoq, Inc. Rules based real-time communication system
US20040230917A1 (en) 2003-02-28 2004-11-18 Bales Christopher E. Systems and methods for navigating a graphical hierarchy
US7930350B2 (en) 2003-03-05 2011-04-19 Canon U.S.A., Inc. Digital image sharing enabled chat application
US7487460B2 (en) 2003-03-21 2009-02-03 Microsoft Corporation Interface for presenting data representations in a screen-area inset
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US20050080807A1 (en) 2003-10-12 2005-04-14 Microsoft Corporation Extensible creation and editing of integrated collections
US7769794B2 (en) * 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US7409644B2 (en) 2003-05-16 2008-08-05 Microsoft Corporation File system shell
US7587411B2 (en) 2003-03-27 2009-09-08 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7499925B2 (en) 2003-03-27 2009-03-03 Microsoft Corporation File system for displaying items of different types and from different physical locations
US7536386B2 (en) * 2003-03-27 2009-05-19 Microsoft Corporation System and method for sharing items in a computer system
US7526483B2 (en) * 2003-03-27 2009-04-28 Microsoft Corporation System and method for virtual folder sharing including utilization of static and dynamic lists
US7925682B2 (en) 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US7512885B2 (en) 2003-03-31 2009-03-31 Avid Technology, Inc. Graphical user interface for navigating and displaying relationships among media data and metadata
US8001088B2 (en) 2003-04-04 2011-08-16 Avid Technology, Inc. Indexing media files in a distributed, multi-user system for managing and editing digital media
US6876906B1 (en) 2003-06-06 2005-04-05 Rockwell Collins Graphical symbology for depicting traffic position, navigation uncertainty, and data quality on aircraft displays
US20050015405A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Multi-valued properties
US20050114672A1 (en) 2003-11-20 2005-05-26 Encryptx Corporation Data rights management of digital information in a portable software permission wrapper
US8799785B2 (en) 2003-12-17 2014-08-05 International Business Machines Corporation Ability to scope awareness to your current task
US7412447B2 (en) 2004-03-01 2008-08-12 Fuji Xerox Co., Ltd. Remote file management using shared credentials for remote clients outside firewall
US7853895B2 (en) 2004-05-11 2010-12-14 Sony Computer Entertainment Inc. Control of background media when foreground graphical user interface is invoked

Also Published As

Publication number Publication date
JP4331691B2 (ja) 2009-09-16
RU2323468C2 (ru) 2008-04-27
CA2519973C (en) 2012-10-16
US20040194110A1 (en) 2004-09-30
AU2003229324A1 (en) 2004-11-23
CN1759377A (zh) 2006-04-12
MXPA05010223A (es) 2005-11-08
US7865904B2 (en) 2011-01-04
CN1759377B (zh) 2012-01-18
EP1606709A4 (en) 2007-12-26
JP2006521595A (ja) 2006-09-21
BR0318206A (pt) 2006-03-21
WO2004097638A1 (en) 2004-11-11
EP1606709A1 (en) 2005-12-21
KR100939428B1 (ko) 2010-01-28
RU2005130022A (ru) 2006-03-20
US7890960B2 (en) 2011-02-15
US20040215732A1 (en) 2004-10-28
AU2003229324B2 (en) 2009-09-17
CA2519973A1 (en) 2004-11-11

Similar Documents

Publication Publication Date Title
KR100939428B1 (ko) 통지 전달 제어 방법 및 시스템, 및 컴퓨터 판독가능 매체
US7827561B2 (en) System and method for public consumption of communication events between arbitrary processes
US7480696B2 (en) Instant messaging priority filtering based on content and hierarchical schemes
US8775539B2 (en) Changing event notification volumes
US9641423B2 (en) Communication using delegates, such as delegates specified in an email or scheduling application
US7747685B2 (en) Method for automatic detection of display sharing and alert generation in instant messaging
US20050021540A1 (en) System and method for a rules based engine
US7599996B2 (en) Communication using delegates, such as delegates specified in an email or scheduling application
US8082302B2 (en) Automatically setting chat status based on user activity in local environment
US20060212757A1 (en) Method, system, and program product for managing computer-based interruptions
US20070016643A1 (en) Active session queue management using contextual systems with an instant messaging proxy service
US20090113014A1 (en) Device, Method and Computer Program Product for Providing an Alert Indication
US20090157819A1 (en) Live connection of email threads to discussion forum
KR20060094852A (ko) 존재 정보에 따라 전화 호출을 전송하기 위한 방법 및시스템
US9082271B2 (en) Customized audio alerts
US7469272B2 (en) System and method utilizing test notifications
KR20210112572A (ko) 채팅 메시지 알림 방법과 채팅 서버 시스템 및 애플리케이션
KR20190009967A (ko) 선택적 dnd 수행 방법 및 클라이언트 서버

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 11