KR20040076583A - 통지를 제공하기 위한 네트워크 프레임워크 및 어플리케이션 - Google Patents
통지를 제공하기 위한 네트워크 프레임워크 및 어플리케이션 Download PDFInfo
- Publication number
- KR20040076583A KR20040076583A KR1020040004801A KR20040004801A KR20040076583A KR 20040076583 A KR20040076583 A KR 20040076583A KR 1020040004801 A KR1020040004801 A KR 1020040004801A KR 20040004801 A KR20040004801 A KR 20040004801A KR 20040076583 A KR20040076583 A KR 20040076583A
- Authority
- KR
- South Korea
- Prior art keywords
- notification
- subscription
- model
- component
- context
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/64—Automatic arrangements for answering calls; Automatic arrangements for recording messages for absent subscribers; Arrangements for recording conversations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
- H04M3/493—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 통지 플랫폼의 프레임워크로 사용될 수 있는 다양한 어플리케이션에 따라 통지의 자동화된 전달을 용이하게 하는 시스템 및 방법에 관한 것이다. 어플리케이션은 사용자가 통지 플랫폼과 용이하고 간편하게 상호작용할 수 있도록 하는 모델에 의해 기재된다. 그러한 하나의 모델은 원하는 서비스의 사용자 정의를 수신한 후 서비스 번들을 사용자에게 플랫폼에 따라 전달하기 위해 그러한 서비스들을 체인 연결하는, 제3자로서 기능하는 중계 모델을 포함한다. 통지 서비스에 대한 볼륨 가격 디스카운트와 같은 여러 가지 인자들에 따라 서비스의 전달을 용이하게 하도록 될 수 있다. 가입 액세스 모델은 사용자가 서비스에 편리하게 가입하고 탈퇴하는 것이 가능하도록 제공되지만, 푸시/풀 모델은 다른 서비스의 전달과 관련하여 하나 이상의 선택을 하도록 사용될 수 있다. 사용자가 현재 컨텍스트 상태에 기초하여 그 가입을 변경할 수 있도록 하는 컨텍스트 모델이 제공될 수 있다. 디바이스 필터 모델은 사용자에게 통지 타입 및 양을 가변시키기 위한 제어를 제공한다. 요금청구 모델은 자동화된 요금청구 및 가입 서비스 간의 상호 작용 및 통지 플랫폼의 하나 이상의 상호작용을 기술하는 것을 포함하고, 요금청구 시스템에서 하나 이상의 사용자에 관련된 가입 이벤트/메시지는 통지 플랫폼을 통해 사용자에게 전달될 수 있다.
Description
본 발명은 전반적으로는 컴퓨터 시스템에 관한 것이며, 보다 구체적으로는 통지 플랫폼에의 가입 및 인터페이스를 용이하게 하는 다양한 어플리케이션에 따라 통지를 전달하기 위한 시스템 및 방법에 관한 것이다.
오늘날의 급변하는 환경에서, 사람들로 하여금 전문적인 결정을 할 수 있도록 하는 것이 점점 더 중요해지고 있다. 관련된 적시의 정보를 개인들에게 제공하는 것은 그러한 전문적인 결정을 용이하게 하는데 필수적인 요소이다. 그러나, 일부에게는 필요없는 어느 정보가 다른 사람들에게는 매우 가치가 있을 수 있다. 또한, 어느 정보들은 일시적으로 중요할 수도 있고, 그 정보 자체만으로도 정보의 적시 전달과 연관된 중요한 가치가 있을 수 있다. 더구나, 일부 개인들은 중대하지 않을지라도 정보를 잘 알고 있는 것이 더 중요하다. 문제는 개인의 정보 및 전달 선호도의 큰 차이에도 불구하고 원하는 방식으로 정보를 제공해야 한다.
정보를 모으는 대다수의 종래 방법들은 정보를 사전에 대처하도록 요구하고 검색하며, 수 십 개의 메시지, 수 백 개의 기사를 통해 시프트하는 것을 요구하고, 또는 숫자 또는 보도 중인 트렌드를 참조하는 것을 필요로 한다. 또한, 현재의 기술들은 그러한 정보를 원하는 사람이 컴퓨터 앞에 있고 그러한 정보를 검색할 시간과 능력을 가지고 있다고 가정한다. 또한, 사람들은 더욱 더 이동성이 많아지고 있으며, 컴퓨터의 가까운 근처에 항상 있을 수는 없다. 그러므로, 인터넷-가능 모바일 디바이스는 더욱 더 대중화되고 있으며, 이용가능하고 액세스가능한 모든 적절한 디바이스에 대해, 위치에 관계없이 시기적절하고 개인화된 정보를 전달하는 서비스에 대한 요구를 발생시켰다.
일부 사람들은 관심사가 되는 정보를 자동으로 전달하는 어플리케이션에 개인들이 가입할 수 있도록 허용하는 시스템을 구축함으로써 그러한 요구를 수용하려고 시도했었다. 그러나, 대부분의 그러한 정보 전달 시스템은 임시 변통의(ad hoc) 기술들을 사용함으로써 열악하게 구축되었다. 또한, 종래 시스템들은 다수의 이종 이벤트 또는 공개와 관련하여 의미있는 질의들을 처리하고, 수신자 디바이스 타입뿐만 아니라 가변하는 타입의 개별적인 전달 선호도를 가지는 가입자들에게 결과들을 전달하는 것과 관련된 복잡성으로 인해, 스케일링에 관련하여 어려움을 가지고 있다. 결과적으로, 종래 통지 시스템은 유지 및 관리가 비효율적이고, 신뢰할 수 없으며 대형 어플리케이션을 호스팅하기에 부적합하다.
이하는 본 발명의 일부 양태들의 기본적인 이해를 제공하기 위해 본 발명의 단순화된 요약을 제공한다. 본 요약은 본 발명의 광범위한 개관은 아니며, 본 발명의 핵심/중요 요소를 식별하거나 본 발명의 범주를 정확하게 서술하고자 하는 것도 아니다. 단지 그 목적은 나중에 제공되는 상세한 설명에 대한 전조로서 본 발명의 일부 개념들을 단순화된 형태로 제공하는 것이다.
본 발명은 통지 플랫폼에 따라 통지를 전달하기 위한 시스템 및 방법에 관한 것이다. 통지의 효율적이고 적시의 전달을 용이하게 하는 하나 이상의 어플리케이션 모델이 제공된다. 어플리케이션 모델은 통지 플랫폼 내에 통합되거나 이와 연관되어, 사용자에게 융통성있고 구성가능한 인터페이스 또는 통지의 타입, 타이밍 및/또는 양을 조정하기 위한 플랫폼을 제공한다. 모델은 원하는 경우 통지를 수신할 때 디바이스 엔드로부터 구동될 수 있고, 여기에서 사용자는 하나 이상의 전달 가이드라인을 정의하는 복수의 파라미터를 구성할 수 있다. 또한, 이들 가이드라인들은 글로벌 파라미터의 유지보수를 위해, 또는 예를 들면 디바이스가 그 성능이 제한되는 경우에, 플랫폼 엔드에서 저장되고 구동될 수 있다. 더구나, 모델들은 사용자에 대한 가입 경험을 향상시키도록 사용됨으로써, 사용자는 하나 이상의 통지 서비스에 용이하고 경제적으로 가입하거나 탈퇴할 수 있다. 뿐만 아니라, 가입은 사용자로부터의 명백한 명령에 기초하여 동적으로 조정되고, 사용자에게 제시된 인센티브 또는 다른 인자들에 기초하고 있다.
본 발명의 하나의 양태에 따르면, 상기 기술한 어플리케이션 모델은 사용자로부터 통지 명세를 수신하고 명세에 기초하여 통지 서비스/공급자를 중계하거나 링크함으로써 그러한 명세를 충족하거나 만족하는 중계 모델을 포함한다. 동적 가격결정 모델이 제공될 수 있고, 조직화 또는 다른 타입의 조에 그룹의 가입자 수에 기초하여 가입 디스카운트가 제공될 수 있다. 다른 타입의 가격결정이 사용 기초 가격결정을 포함하고, 따라서 서비스 디스카운트 또는 가격결정은 서비스가 사용된 시간 크기 또는 가입자에 의해 서비스가 소비되는 볼륨에 기초하여 가입자에게 제공된다(예를 들면, 구입된 10 시간의 서비스에 대해, 1시간의 서비스가 무료로 부가된다). 또 다른 모델에서, 가입 액세스 모델은 서비스로의 효율적인 가입 및 탈퇴를 용이하게 하도록 사용될 수 있다. 예를 들면, 사용자는 우주비행선 사고와 같은 중요한 이벤트 동안에는 다중-공급자 뉴스 소스에 가입하기를 원하지만, 이후에는 서비스를 중단하고 싶어한다(예를 들면, 자동, 수동 및/또는 소정 고려사항).
다른 타입의 모델은 사용자가 인센티브 또는 다른 인자에 기초하여 통지의 양 및 타입을 조정할 수 있게 하는 푸시 및 풀 타입 모델을 포함한다. 하나의 푸시 예에서, 사용자는 다른 통지 서비스를 제외하기를 원한다면, 한달 동안 무료 주식 통지 서비스와 같은 인센티브가 제공될 수 있다. 풀 타입 예에서, 사용자는 소정 가입 경로 외부의 통지가 수신에 대해 수용가능한지 여부 및 시기를 제어한다. 사용자가 통지가 수신되는 방법을 제어할 수 있도록 하는 디바이스 및 필터링 모델이 제공될 수 있다. 일부 경우에, 사용자는 임의적인 디바이스 타입에 기초하여 상이한 전달 환경 또는 조건들을 원할 수 있다. 필터링은 원하지 않는 통지의 양을 완화하도록 제공될 수 있다. 본 발명의 다른 양태는 자동화된 요금청구 및 가입 서비스와 통지 플랫폼 상호작용을 포함한다. 그러므로, 요금청구 서비스와 연관된 가입 정보에 기초한 통지들이 생성될 수 있고, 통지를 통한 볼륨 요금청구와 같은 양태들을 포함할 수 있으며, 요금청구 서비스는 청구되고/접촉되는 양, 사용자 및/또는 실체들을 결정한다.
일반적으로, 상기 프레임워크 및 프로토콜은 높게 스케일가능하고 복수의 이종 가입 서비스 공급자 및 가입자에 대해 다량 질의를 질의를 처리할 수 있는 통지 아키텍처를 통해 통지 서비스를 제공하는 것을 용이하게 하는 자동화된 통지 시스템에 적응된다. 본 발명의 하나의 양태는 신뢰성있고 높은 성능의 스케일링가능한 어플리케이션을 구축하고 유지하는 것을 용이하게 하는 분산 통지 플랫폼을 제공한다. 특히, 주제 발명의 플랫폼은 이벤트 스키마, 가입 스키마, 통지 스키마, 및 규칙을 풍부하게(예를 들면, XML로) 표현하는 방식을 제공하고, 통지를 분배하는 것과 관련되어 구현될 수 있는 컨텐트 포맷팅 및 프로토콜을 가입 서비스 공급자가 표현할 수 있도록 허용한다. 본 발명은 상기 언급된 스키마, 포맷팅 및 프로토콜에 따라 전파되는 정보를 통합하여 높게 스케일링가능한 통지 서비스를 제공하는 실행 엔진을 포함한다.
본 발명의 다른 양태는 가입 및 가입자 정보(원한다면, 이벤트 정보도 포함)를 높은 레벨의 클래스(예를 들면, 데이터 필드)로 추상화하는 것을 제공하고, 그러므로 본 발명은 데이터와 같은 정보 관련 통지를 모델링하는 것을 제공한다. 가입 어플리케이션은 높은 레벨에서 개발될 수 있고, 여기에서 복잡한 가입 질의 및가입자 정보는 예를 들면 데이터 필드로서 정의될 수 있다. 데이터 필드에 따른 데이터베이스는 가입/가입자 특정 정보로 전파될 수 있다. 본 발명은 데이터 베이스 엔진(예를 들면, SQL 서버)과 연관된 처리력을 활용하여, 테이블(예를 들면, 가입 테이블(들), 가입자 테이블(들) 및 이벤트 테이블(들)) 상에서 결합 동작을 수행하는 것을 통해 통지를 생성한다. 따라서, 통지는 상당한 컴퓨팅 리소스를 소비할 수 있는 가입자 마다 가입 마다 비교할 때, 한 묶음으로 생성된다. 통지 관련 정보(예를 들면, 가입 질의, 가입자 정보, 이벤트 정보)를 데이터로서 모델링하고 이러한 데이터에 대한 세트-지향 조작을 효율적으로 수행하는 관련 데이터베이스 시스템의 능력을 레버리지함(leveraging)으로써, 본 발명은 고도로 스케일링가능하고 효율적인 통지 시스템을 제공한다.
상기 및 관련된 목적을 달성하기 위해, 본 발명의 특정 예시적 양태들이 이하의 설명 및 첨부 도면과 관련하여 본 명세서에 설명된다. 이들 양태들은 본 발명이 실시되는 다양한 방식들을 나타내고 있고, 이들 모두는 본 발명에 의해 포함된다. 본 발명의 다른 장점 및 새로운 특징들은 도면과 관련하여 고려되는 본 발명의 이하의 상세한 설명을 통해 명백하게 될 것이다.
도 1은 본 발명의 양태에 따른 통지 전달 시스템 및 어플리케이션 모델의 개략적인 블록 다이어그램.
도 2는 본 발명의 양태에 따른 중계 시스템을 예시하는 개략적인 블록 다이어그램.
도 3은 본 발명의 양태에 따른 동적 가격결정 시스템을 예시하는 도.
도 4는 본 발명의 양태에 따른 가입 제어 시스템을 예시하는 도.
도 5는 본 발명의 양태에 따른 푸시/풀 시스템을 예시하는 도.
도 6은 본 발명의 양태에 따른 가입 및 컨텍스트 구성요소를 예시하는 도.
도 7은 본 발명의 양태에 따른 디바이스 구성을 예시하는 도.
도 8은 본 발명의 양태에 따른 요금청구 및 지급 처리 아키텍처를 예시한 도.
도 9는 본 발명에 따른 이벤트 처리 아키텍처를 예시한 도.
도 10은 본 발명의 양태에 따른 통지 전달 프로세스를 예시하는 플로우 다이어그램.
도 11은 본 발명의 양태에 따른 통지 어플리케이션 아키텍처의 개략적인 블록 다이어그램.
도 12는 본 발명의 양태에 따른 통지 생성 및 분배 시스템의 개략적인 블록 다이어그램.
도 13은 본 발명의 양태에 따른 통지 서비스 아키텍처를 예시하는 블록 다이어그램.
도 14는 본 발명의 양태에 따른 ADF 및 그 구성요소를 도시한 블록 다이어그램.
도 15는 본 발명의 양태에 따른 우선순위 시스템의 개략적인 블록 다이어그램.
도 16은 본 발명의 양태에 따른 통지 엔진과 컨텍스트 분석기 사이의 시스템 통합을 예시하는 개략적인 블록 다이어그램.
도 17은 본 발명의 양태에 따른 적절한 동작 환경을 예시하는 개략적인 블록 다이어그램.
도 18은 본 발명이 상호작용할 수 있는 샘플-컴퓨팅 환경의 개략적인 블록 다이어그램.
<도면의 주요 부분에 대한 간단한 설명>
110 : 통지 플랫폼
114 : 이벤트 소스
120 : 싱크
124 : 가입
130 : 어플리케이션 모델
134 : 사용자 프로파일 및 파라미터
140 : 중계 모델
144 : 동적 가격결정 모델
150 : 가입 액세스 모델
154 : 푸시/풀 모델
160 : 컨텍스트 모델
164 : 디바이스 및 필터 모델
170 : 요금청구 모델
본 발명은 통지 플랫폼의 프레임워크로 사용될 수 있는 다양한 어플리케이션에 따라 자동화된 통지 전달을 용이하게 하는 시스템 및 방법에 관한 것이다. 어플리케이션들은 사용자들이 통지 플랫폼과 용이하고/편리하게 상호작용할 수 있게 하는 모델에 의해 기술된다. 그러한 하나의 모델은 원하는 서비스의 사용자 정의를 수신하는 제3자로서 작용하는 중계 모델을 포함하고, 플랫폼에 따라 사용자에게 서비스 번들을 전달하도록 그러한 서비스들을 연쇄시킨다. 동적 가격결정 모델은 통지 서비스에 대한 볼륨 가격 디스카운트와 같은 여러 가지 인자들에 따라 서비스의 전달을 용이하게 하도록 제공될 수 있다. 가입 액세스 모델은 사용자들이 서비스를 용이하게 가입하고 탈퇴할 수 있도록 제공되는데 반해, 푸시/풀(push/pull) 모델은 다른 서비스의 전달에 관련된 하나 이상의 선택을 제공하도록 사용될 수 있다. 현재의 컨텍스트 상태(예를 들면, 내가 휴가 중인 경우, 내가 돌아올 때까지 서비스를 중단하라)에 기초하여 사용자가 그 가입을 변경할 수 있도록 하는 컨텍스트 모델이 제공될 수 있다. 디바이스 필터 모델은 사용자들에게 통지의 타입 및 양을 가변시키기 위한 제어를 제공한다(예를 들면, 가입된 통지만을 허용한다, 아침에 사용자 A 및 B로부터의 통지를 허용한다. 오후에 사용자 A 및 C로부터의 통지를 허용한다). 요금청구 모델은 자동화된 요금청구 및 가입 서비스 간의 상호작용 및 통지 플랫폼의 하나 이상의 상호작용을 기술하는 것을 포함하고, 요금청구 시스템에서 하나 이상의 사용자들과 관련된 가입 이벤트/메시지는 통지 플랫폼을 통해 사용자에게 전달될 수 있다(예를 들면, 서비스가 단절되었습니다, 당신의 계좌는 지난 달의 가입 사용으로 인해 $10.00이 청구되었습니다).
본 명세서에 사용된 바와 같이, 용어 "구성요소", "모델", "프로토콜", "시스템"등은 컴퓨터 관련 실체, 하드웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어 중 하나를 지칭하려고 한 것이다. 예를 들면, 구성요소는 프로세서 상에서 운용 중인 프로세스, 프로세서, 오브젝트, 실행가능, 실행중인 스레드, 프로그램, 및/또는 컴퓨터일 수 있고, 이들로 제한되지 않는다. 예로서, 서버에서 운용중인 어플리케이션 및 서버는 모두 구성요소일 수 있다. 하나 이상의 구성요소들은 프로세스 및/또는 실행중인 스레드 내에 상주할 수 있고, 구성요소는 하나의 컴퓨터에 로컬로 설치되거나 2개 이상의 컴퓨터들 사이에 분산될 수 있다.
본 명세서에 사용되는 바와 같이, 용어 "유추(ingerence)"는 이벤트 및/또는 데이터를 통해 캡쳐되는 한 세트의 관찰로부터 시스템, 환경 및/또는 사용자의 상태를 추론하고 유추하는 것을 통상 지칭한다. 유추는 특정 컨텍스트 또는 액션을 식별하거나 예를 들면 상태에 대한 확률 분포를 생성할 수 있도록 사용될 수 있다. 유추는 가망성에 근거하고 있고- 즉, 관심사가 되는 상태에 대한 확률 분포의 계산은 데이터 및 이벤트의 고려사항에 기초하고 있다. 유추는 이벤트 및/또는 데이터 세트로부터 더 높은 레벨의 이벤트를 구성하기 위해 사용된 기술들을 지칭할 수 있다. 그러한 유추는 관찰된 이벤트 및/또는 저장된 이벤트 데이터 세트로부터 새로운 이벤트 또는 액션의 구성, 이벤트들이 밀접한 임시적 근사에 상관되는지 여부, 및 이벤트 및 데이터가 하나 또는 수개의 이벤트 및 데이터 소스로부터 유발되는지 여부로 나타나게 된다.
우선, 도 1을 참조하면, 통지 전달 시스템(100)이 본 발명의 양태에 따라 예시된다. 시스템(100)은 통지를 생성하는 하나 이상의 이벤트 소스(114)로부터, 소스로부터 정보를 수신하는 하나 이상의 통지 싱크(120)에 분배하는 통지 플랫폼(110)을 사용한다. 이벤트 소스(114)로부터 정보를 수신하기 위해, 하나 이상의 가입(124)이 획득되어, 자동화된 통지가 통지 싱크(120)에서 발생하도록 이벤트 소스들 중 어느 것이 유발하는지를 결정한다. 예를 들면, 뉴스 가입은 속보 소스, 스포츠 소스 및 비즈니스 뉴스 소스와 같은 3개의 다른 뉴스 소스로부터의 통지를 포함할 수 있다. 가입자가 이러한 타입의 뉴스 가입에 적절하게 가입되어 있다면, 임의의 3개의 소스로부터 생성되는 통지들은 통지 싱크(120)에 전달될 수 있고, 통지 플랫폼(110)은 이벤트 소스(114)로부터의 정보가 싱크로 전달되거나 라우팅되는 때와 조건을 선택한다. 다른 예에서, 다양한 주식 소스로부터 수집된 정보가, 주식 통지를 싱크(120)에 전달하는 금융 서비스에 따라 패스될 수 있다.
유의할 점은, 통지 플랫폼(110)은 복수의 이벤트 소스(114)로부터의 데이터를 처리하는 SQL 서버(들)와 같은 다양한 구성요소들을 포함할 수 있고, 통지들을 싱크(120)로 분배하는 조합 동작을 수행하며, 통지 플랫폼(110)은 다양한 데이터베이스 및 통신 동작을 수행한다는 점이다. 그러므로, 통지 플랫폼(110)은 하나 이상의 이벤트 소스(114)로부터 정보를 수집하거나 모아 수집된 정보를 통지 싱크(120)에 분배할 수 있다. 유의할 점은, 다양한 시스템 및 구성요소들이 이하에 상세하게 설명되는 통지 플랫폼(110), 이벤트 소스(114) 및 통지 싱크(120) 사이에서 동작을 용이하게 하도록 제공될 수 있다는 점이다.
통지의 효율적이고 적시의 전달을 용이하게 하는 하나 이상의 어플리케이션 모델(130)들이 제공된다. 어플리케이션 모델은 통지 플랫폼(110) 내에 통합되거나 연관되어, 사용자에게 예를 들면 통지의 타입, 타이밍 및/또는 양을 조정하기 위한 융통성있고 구성가능한 인터페이스 또는 플랫폼을 제공한다. 뿐만 아니라, 어플리케이션 모델(130)은 이벤트 소스(114), 통지 싱크(120), 및/또는 가입(124)과 연관되거나 이들 내부에 통합될 수 있다. 모델들은 원하는 경우 통지를 수신한 경우에 통지 싱크(120)로부터 구동될 수 있고, 여기에서 사용자는 하나 이상의 전달 가이드라인을 정의하는 복수의 파라미터들을 구성할 수 있다. 또한, 이들 가이드라인들은 글로벌 파라미터의 유지보수를 위해, 또는 디바이스들이 예를 들면 그 성능에 제한을 가지고 있는 경우에 플랫폼 엔드(110, 또는 다른 구성요소들)에 저장되거나 구동될 수 있다. 예시된 바와 같이, 통지를 수신한 경우에 사용자의 희망을 캡쳐하거나 유추하는 사용자 프로파일 및/또는 파라미터(134)가 제공될 수 있다. 이들 프로파일/파라미터(134)는 시스템(100)에 예시된 하나 이상의 구성요소들 상의 파일 또는 구조화된 관련 데이터로서 유지될 수 있다.
어플리케이션 모델(130)은 사용자에 대한 가입 경험을 향상시키도록 사용될 수 있고, 따라서 사용자는 하나 이상의 통지 서비스에 용이하고 경제적/자동으로 가입하거나 탈퇴할 수 있다. 또한, 가입(124)은 컨텍스트 사용자 상태로부터 유추된, 사용자로부터의 명백한 명령 및/또는 이하에 상세하게 설명되는 바와 같이 사용자에게 제공되는 인센티브 또는 다른 인자들에 기초하여 동적으로 조정될 수 있다.
본 발명의 하나의 양태에 따르면, 어플리케이션 모델(134)은 사용자로부터 통지 명세를 수신하는 중계 모델(140)을 포함하고, 명세에 기초하여 그러한 명세(예를 들면, 내가 ESPN 및 3개의 라스베가스 호텔로부터 통지를 수신하는 경우에 나는 스포츠 가입을 원한다)를 충족하거나 만족시키는 통지 서비스/제공자를 중개하거나 링크한다. 그리고 나서, 중계 모델(140)은 요구된 서비스를 공급하는 서비스 공급자를 검색하고, 명세들을 가입(124)으로 번들링하며, 가입 정보를 통지 플랫폼(110)에 통신할 수 있다(예를 들면, 특정 통지 서비스로부터 사용자에게 통지를 전송하도록 통지 플랫폼에 보고하는 메시지 또는 데이터).
동적 가격결정 모델(144)은 본 발명의 다른 양태에 따라 제공될 수 있고, 여기에서 그룹의 가입자들의 숫자/타입에 기초하여 가입 할인이 그룹이나 조에 제공될 수 있다(예를 들면, 회사 A로부터의 모든 가입자들이 10% 할인을 받는다). 다른 타입의 가격결정은 사용-기초 가격결정을 포함할 수 있고, 여기에서 서비스 디스카운트 또는 가격결정은 서비스가 소비된 시간 또는 양에 의해 영향을 받는다. 주지된 바와 같이, 동적 가격결정 모델(144)은 가입 가격결정을 변경하거나 바꾸는 복수의 인자 및 인자 조합들을 사용한다. 예를 들면, 사용자에게 특정 날의 특정 시간 동안에 또는 통지를 수신하는 위치에 기초하여 디스카운트가 제공된다. 디스카운트는 사용 카테고리에 드는 사용자들에게 다른 타입의 가입에 대해 신용이 제공되는 것과 같은 비금전적인 형태일 수 있다(예를 들면, 건강 관리 경보의 모든 사용자들이 영양 경보의 신용을 받는다). 또 다른 모델에서, 가입 액세스 모델(150)은 서비스로의 효율적인 가입 및 탈퇴를 용이하게 하도록 사용될 수 있다. 예를 들면, 사용자는 주식 시장 붕괴와 같은 중대한 이벤트 동안에는 다수-제공자 뉴스 소스에 가입하기를 원하지만, 일정한 시간 후에 또는 다른 인자로 인해, 서비스를 중단하기를 원한다. 그러한 모델(150)은 사용자의 통지 희망(예를 들면, 나는 단지 2시간 동안 가입하기를 원한다, 나는 아침에는 가입하고 저녁에는 탈퇴하기를 원한다, 나는 17일 가입을 원한다)과 더 조화되는 산발적이거나 간헐적인 서비스 사용을 용이하게 할 수 있다.
다른 타입의 어플리케이션 모델(134)은 사용자가 인센티브 또는 다른 인자들에 기초하여 통지의 양과 타입을 조정할 수 있도록 하는 푸시 및 풀 타입 모델(154)을 포함한다. 하나의 예에서, 다른 통지 서비스를 제외하기를 원한다면, 한달동안 무료 메일 통지 서비스와 같은 인센티브(예를 들면, 플랫폼(110)으로부터 푸시된 통지)가 사용자에게 제공될 수 있다. 다른 인센티브들은 광범위하게는 당신이 매월 10개의 광고 통지들을 수신하는 것과 같은 것에 기초할 수 있고, 당신이 하나 이상의 현재 서비스들에 대해 신용을 가질 수 있다. 다른 예에서, 사용자는 소정 가입 경로 외부의 통지가 수신을 수용할 수 있는 조건 및 시기를 제어한다. 그러므로, 사용자는 현재 수신되고 있는 것보다는 플랫폼(110)으로부터 추가 정보를 풀하고자 하는 사용자의 희망을 나타내는 사용자 프로파일 및 파라미터(134)내의 제어를 개시시킬 수 있다.
컨텍스트 모델(160)은 가입(124)을 동적으로 변경하거나 통지 플랫폼(110)의 자동화된 액션의 변경을 초래하도록 사용될 수 있다. 예를 들면, 사용자는 특정 컨텍스트 동안에만 하나의 서비스에 가입하고 다른 컨텍스트 동안에는 다른 서비스에는 탈퇴하기를 원할 수 있다(예를 들면, 일하는 동안에는 나는 집 취미 가입이 불능화되기를 원하고, 바쁘지 않는 동안에는, 3개의 오락 통지 서비스에 가입하기를 원한다). 사용자들이 통지가 수신되는 방법을 제어할 수 있도록 하는 디바이스 및 필터링 모델(164)이 제공될 수 있다. 일부 경우에, 사용자들은 디바이스 타입에 기초하여 자신의 임의대로 상이한 전달 환경 또는 조건들을 원한다(예를 들면, 나만이 휴대전화에 액세스하는 경우, 데스크탑 가입은 비활성화하기를 원한다). 정크/SPAM 메일 필터 및/또는 사용자-정의 규칙과 같은 다양한 필터링 선택에 따라 원하지 않는 통지의 양을 완화시키는 필터링이 제공될 수 있다. 다른 양태에서, 요금청구 모델(170)은 자동화된 요금청구 및 가입 서비스를 가지는 통지 플랫폼 상호작용/기능들을 포함한다. 그러므로, 요금청구 모델(170)과 연관된 가입 정보에 기초하고 있는 통지들이 생성되고, 통지 플랫폼(110)에 의해 생성된 통지들을 통해 대량 또는 포커싱된 요금청구와 같은 양태들을 포함할 수 있으며, 여기에서 요금청구 모델은 청구되고/접촉되는 액수, 사용자, 실체 및/또는 다른 인자들을 결정한다. 유의할 점은, 하나 이상의 어플리케이션 모델(134)이 본 발명의 다양한 조합에 따라 연합되어 사용되거나 변경될 수 있다는 점이다. 예를 들면, 하나의 양태에서, 푸시/풀 모델(154)은 가입 액세스 모델(150)과 동작하도록 변경될 수 있다. 다른 예에서, 중계 모델(140)은 컨텍스트 모델(160), 요금청구 모델(170) 등으로 변경될 수도 있다.
이제 도 2를 참조하면, 중계 시스템(200)이 본 발명의 양태에 따라 예시되어 있다. 이러한 본 발명의 양태에서, 통지 브로커(210, 또는 브로커들)는 참조 부호(224)에서 원격 디바이스(220, 디바이스들)에게 질의한다(원격 디바이스에서 브로커로 지향되는 질의들을 포함할 수 있음). 질의(224)는 이메일, 네트워크 포스팅, 셀-폰 메시지, 팝업 윈도우 등과 같은 통지 서비스에 대한 제공을 포함할 수 있다. 이하에 더 상세하게 설명되는 바와 같이 임의의 타입의 통지 싱크를 실질적으로 포함할 수 있는 원격 디바이스(220)는 질의(224)를 인터페이스(도시되지 않음, 예를 들면 디스플레이, 텍스트 메시지)에 보내고, 디바이스의 사용자는 질의(사용자에게 리스트로부터 서비스 또는 서비스 서브세트를 선택하도록 요청하는 웹 질의)에 가입할 지 여부를 결정한다. 그러므로, 질의 응답(230)은 사용자가 질의(230)에 제공된 하나 이상의 통지 서비스에 가입하기를 원하는 지 여부를 나타내는 원격 디바이스(220)에 의해 생성될 수 있다(예 또는 아니오를 나타내는 플래그 응답, 리스트 선택, 카운터 제공을 나타내는 스키마 응답, 또는 다른 조건들). 본 발명의 다른 실시예에서, 사용자는 원격 디바이스(220)에 지시하여, 비청구 응답 또는 질의(234)를, 가입하는 하나 이상의 서비스에 요구하거나 지정하는 브로커(210)에게 전달한다.
통지 서비스에 대한 응답을 수신한 후에(또는 질의 이전에), 브로커(210)는 통지 가입을 조정한다. 예를 들면, 브로커(210)는 하나 이상의 서비스 공급자(240)와 협상하여, 서비스 공급자가 요구된 통지 서비스를 전달할 수 있는지 여부를 결정한다. 하나의 예에서, 원격 디바이스(220)의 사용자는 "나는 일반적인 비즈니스 경보, 회사 X에 특정된 경보, 나의 저축 계좌에 영향을 주는 은행 경보, 및 지역 및 전국 속보를 전달하는 통지 서비스를 원한다"를 지정할 수 있다. 그러면, 브로커(210)는 어느 서비스 공급자(240)가 사용자의 응답(230) 및/또는 비청구 요구(234)에 관련된 통지들 또는 통지 이벤트들을 생성할 수 있는지를 요청하거나 결정한다.
본 발명의 하나의 양태에서, 브로커(210)는 통지 중계(242)를 제공할 수 있고, 여기에서 브로커는 사용자의 요구와 관련된 통지들을 대기하고(queue up) 통지 번들(244)내의 통지들을 통지 플랫폼(250)에 전달하여, 통지를 원격 디바이스(220, 디바이스들)의 사용자에게 분배한다. 다른 양태에서, 브로커(210)는 가입 중계(250)을 수행하고, 요구된 통지 서비스를 전달할 수 있는 이용가능한 서비스 공급자(240)를 결정한다. 결정 이후에, 브로커(210)는 서비스 번들(254)(예를 들면, 통지 서비스의 구성요소 및 서비스 공급자 공급 구성요소를 기술하는 파일 또는 스키마)을 생성하고, 번들을 가입으로서 통지 플랫폼(250)에 전달한다. 그리고 나서, 통지 플랫폼(250)은 서비스 번들(254)에 표시된 임의의 이벤트에 대한 응답들을 설정하고, 번들로부터 통지가 생성되는 경우에 통지 플랫폼(250)이 그러한 통지를 번들과 관련된 원격 디바이스(220) 및/또는 통지 싱크에 보낸다. 주지된 바와 같이, 사용자는 통지를 수신하기를 원하는 서비스 타입을 기술하거나 정의할 뿐만 아니라 통지를 어느 디바이스가 수신할 지를 지정할 수 있다. 또한, 전달된 서비스에 대한 계좌 관리(예를 들면, 전달된 통지에 대해 사용자 계좌를 청구함)는 브로커(210), 통지 플랫폼(250)에 의해, 및/또는 이하에 더 상세하게 설명되는 자동 요금청구 및 가입 서비스/시스템에 따라 제공될 수 있다.
도 3을 참조하면, 동적 가격결정 시스템(300)이 본 발명의 양태에 따라 예시된다. 본 양태에서, 통지 플랫폼(310)은 가입 가격결정 또는 전달 조건들이 변경되거나 바꾸어질 수 있는 규칙 또는 가이드라인을 포함하는 파일 또는 저장 매체인 동적 가격결정 구성요소(320)와 상호작용한다. 동적 가격결정 구성요소(320)에 포함된 가격결정 선택이 사용자, 사용자의 서브세트, 및/또는 그룹에 적용할 지를 결정하기 위해, 그러한 사용자/그룹에 연관된 사용자 프로파일(330)(예를 들면, 통지 싱크/플랫폼과 연관된 플랫폼)이 제공되고, 선택된 그룹의 멤버십과 같은 사용자에 관한 정보 및 통지 서비스의 사용과 관련된 패턴 정보를 나타내는 하나 이상의 속성(340)을 제공한다. 통지 플랫폼(310)은 성능 구성요소(350)를 사용하여, 속성(340)이 동적 가격결정 구성요소(320)에 의해 기술되는 가격결정 프로모션 또는 디스카운트에 대한 자격을 줄지 여부를 결정한다. 예를 들면, 가격 디스카운트는 그룹의 멤버십에 대해 제공되고 속성(340)이 사용자가 그룹 멤버라는 것을 나타내는 경우, 각 사용자는 성능 구성요소(350)를 통해 그룹 디스카운트(가격결정 구성요소가 구성되는 것으로 가정됨)에 대한 자격을 가질 수 있다.
동적 가격결정 구성요소(320)는 통지 서비스에 가입한 동안에 사용자들이 가격결정 조정을 수신할 수 있도록 하는 하나 이상의 가이드라인을 포함한다. 상기 지적한 바와 같이, 이것은 그룹 디스카운트를 포함할 수 있고, 여기에서 통지 플랫폼(310)은 그룹의 멤버로서 자격을 가지고 있는 사용자들에게 디스카운트(예를 들면, 금전/사용 신용)를 제공한다. 또 다른 양태에서, 볼륨 디스카운트(volume discount)가 제공될 수도 있다. 그러므로, 하나 이상의 사용자들이 소정 개수의 서비스들에 가입하는 경우, 볼륨 디스카운트는 소정 개수를 달성하거나 가입하거나 소정 임계치를 획득하는 것에 기초하여 적용될 수 있다. 동적 가격결정 구성요소(320)에 의해 제공되는 다른 디스카운트들은 시간-기초 고려들을 포함할 수 있다. 예를 들면, 사용자들은 일, 주 또는 월과 같은 다른 구성요소의 시간에 기초하여 가입된 서비스에 대해 할인될 수 있다. 그러므로, 일부 통지 서비스들은선택된 시간 동안에 서비스를 사용하는 사용자들에게 인센티브를 제공할 수 있다. 유사한 고려들은 사용자가 위치한 위치에 기초하여 주어질 수 있다. 예를 들면, 캘리포니아/IP 어드레스(또는 다른 위치)에 거주하는 모든 사용자들은 서비스 무료 주(또는 다른 인센티브)를 받을 수 있다.
다른 고려 또는 가이드라인은 컨텍스트 기초 할인 또는 조정이 될 수 있다(예를 들면, 현재 바쁘지 않은 상태인 모든 사용자들은 휴가 통지를 수신한다). 컨텍스트 및 가입과 관련된 다른 고려사항들은 도 6과 관련하여 이하에 더 상세하게 설명된다. 다른 가격결정 고려사항은 사용-기초일 수 있다(예를 들면, X분/월보다는 많은 통지 플랫폼을 활용하는 모든 사용자들은 디스카운트를 받는다). 또 다른 가격결정 고려사항은 연관-기초 조정을 포함한다. 그러한 조정은 다른 식별 서비스의 사용 또는 가입에 기초하여 서비스 또는 디스카운트를 제공하는 것을 포함할 수 있다(예를 들면, 새로운 서비스에 대해 사인된 모든 사용자들에 대해, 스포츠 서비스가 추가 비용없이 부가된다).
도 4는 본 발명의 양태에 따른 가입 제어 시스템(400)을 예시하고 있다. 본 양태에 따르면, 하나 이상의 가입 제어(410)는 통지 플랫폼(420)에 의해 제공된 통지 서비스에 가입하거나 탈퇴하는 것을 용이하게 하도록 제공된다. 통지 플랫폼(420)은 하나 이상의 통지 싱크(430)에 라우팅되는 가입을 활성화하거나 비활성화하기 위한 가입 구성요소(424)를 포함한다. 계좌 구성요소(434)는 통지 싱크(430) 및 통지 플랫폼(420)을 동작시키는 사용자들간의 연관된 서비스 협정이나 계약에 따라 서비스 사용 및 신용 또는 청구서(bill)를 추적하기 위해 제공될 수있다.
가입 제어(410, 예를 들면 파일 또는 스키마)는 서비스에 가입하고 탈퇴하기 위한 다양한 메커니즘을 제공한다. 하나의 양태에서, 통지 싱크(430)에서 제공되는 버튼이나 그래픽 사용자 인터페이스 구성요소에 의해 턴온되거나 오프될 수 있는 가입 스위치 또는 플래그(440)가 제공될 수 있다(예를 들면, 녹색 버튼이 선택되면, 나는 지금 금융 서비스에 가입하고 있다, 음성 인코딩되거나 활성화된 플래그는 나는 서비스에 탈퇴하고 싶다는 것을 나타낸다). 또 다른 양태에서, 단기간 가입(444)이 표시될 수 있다. 그러한 가입은 나는 한 시간, 2일, 또는 다른 시간동안 가입하기를 원하다는 것과 같은 선택을 포함하고, 기간은 통지 싱크(430)에서 입력될 수 있다. 또 다른 제어는 450에서 간헐적인 가입을 포함한다(예를 들면, 나는 월요일 및 화요일에는 가입하기를 원하고 토요일까지 탈퇴하기를 원한다). 다른 타입의 제어는 사용자가 454에서 시험 가입을 가능하게 하는 것을 포함한다(예를 들면, 나는 나의 가입이 자동적으로 종료되는 시험 기간 동안 가입하기를 원한다). 460에서, 하나 이상의 변환 선택이 선택될 수 있다. 그러한 선택은 하나의 타입의 가입을 다른 것으로 변환하거나(예를 들면, 스포츠 가입을 건강 통지 가입으로 대체시킨다) 하나의 기간을 다른 기간으로 변환하는 것(예를 들면, 장기간 가입을 짧은 기간으로 변환한다, 시험 가입을 영구 가입으로 변환한다)을 포함한다. 본 기술 분야에 주지된 바와 같이, 다양한 조합 및 선택들이 가입 제어(410)에 제공되어 서비스 가입 및 탈퇴를 용이하게 한다.
도 5는 본 발명의 한 양태에 따른 푸시/풀 시스템(500)을 예시하고 있다.본 양태에서, 다른 통지(가입된 통지 외부)는 통지 플랫폼(510, 브로커를 포함할 수 있음) 및 원격 디바이스(520) 사이에서 교환될 수 있다. 하나의 양태에서, 풀 요구(530)는 통지 플랫폼(510)에 의해 어떤 서비스가 제공될 지를 결정하기 위해 원격 디바이스(520)에 의해 생성된다. 이것은 통지 플랫폼(510)이 미가입된 통지 또는 메시지를 전송하도록 허용하는 설정 제어를 사용자 프로파일(534) 내에 포함할 수 있다. 예를 들면, 원격 디바이스(520)는 플랫폼(510) 내에서 다양한 서비스를 조장하는 비청구 통보 또는 광고(사용자 프로파일에서 제어가 변경될 때까지)를 수신하기를 원할 수 있다. 그러한 정보는 예를 들면 다른 서비스에 대한 가격결정 및 비교 정보를 포함할 수 있다. 이것은 또한 복수의 다른 또는 유사한/경쟁적 소스로부터 샘플 통지를 수신하는 것을 포함할 수 있다.
본 발명의 다른 양태에서, 인센티브 및/또는 다른 타입의 정보는 540에서 사용자에게 푸시될 수 있다. 하나의 예에서, 사용자가 각 서비스를 사용하도록 유도하려고 시도하는 540에서 사용자에게 복수의 제안, 인센티브, 및/또는 선택이 제공될 수 있다. 예를 들면, 인센티브는 "당신이 스포츠 서비스에 가입한다면, 새로운 서비스에 50%의 할인이 제공된다"와 같은 문구가 될 수 있다. 다른 예는 "당신이 6:00 시간 동안에 통지를 통해 비청구 광고를 수신하기를 동의한다면, 한 달동안 무료 서비스를 받을 것이다"를 포함한다. 주지된 바와 같이, 복수의 그러한 인센티브들이 제공될 수 있다. 원격 디바이스(520)를 조작하는 사용자가 제안을 수락/거절하기를 결정하는 경우, 사용자는 응답(550)을 다시 통지 플랫폼(510)으로 라우팅하는 메뉴 옵션 또는 디바이스 메커니즘을 선택할 수 있다. 유의할 점은, 사용자는 임의의 푸시 타입 통지를 완화시키거나 제거할 수 있는 사용자 프로파일(534)에 제어를 설정할 수 있다.
도 6은 본 발명의 하나의 양태에 따른 가입 및 컨텍스트 구성요소(600)를 예시하고 있다. 본 양태에서, 사용자 컨텍스트는 가입 활동을 제어하기 위해 사용될 수 있다. 예를 들면, 가입 구성요소(604)는 컨텍스트 모델(610)로부터 도출된 컨텍스트 정보에 기초하여 활성화되거나 비활성화되는 하나 이상의 가입을 가질 수 있다. 하나의 양태에서, 컨텍스트 상태 또는 다른 컨텍스트 데이터에 기초하여, 가입은 컨텍스트 모델(610)에 의해 제공되는 하나 이상의 양상에 기초하여 가입되거나 탈퇴될 수도 있다. 하나의 예로서, 일부 사용자들은 검출된 컨텍스트에 기초하여 특정 타입의 통지를 원하지만, 그 컨텍스트가 현재의 활동(예를 들면, 나의 컨텍스트가 작업중인 경우, 취미 통지 소스에서 탈퇴하고 직업 소스에 가입한다)으로 인해 통지를 수신하는 것이 허용되지 않는 경우에, 이들은 그 시간들 동안에 서비스에 가입하기를 원하지 않는다. 주지된 바와 같이, 가입 구성요소(604)는 가입을 실질적으로 활성화하거나 비활성화하지 않고, 컨텍스트 또는 컨텍스트를 지정하는 규칙이 통지의 적절한 수신을 허용하지 않는 기간 동안에는, 사용자의 계좌를 신뢰할 뿐이다. 컨텍스트 모델(610)과 연관되고 가입 구성요소(610)를 변경하거나 그것에 영향을 미치는 다른 양태들이 이하에 설명된다.
컨텍스트 정보(또는 컨텍스트)는 사용자에 관한 정보, 및 사용자 대신에 시스템이 통지를 지능적으로 생성하여 라우팅할 수 있도록 하는 사용자의 활동에 관한 정보이다. 컨텍스트 정보의 예는 이하를 포함한다.
· 인스턴스 메신저 존재 정보
· 익스체인지 달력 정보
· 셀 전화 네트워크 또는 GPS 수신기에 의해 보고되는 물리적 위치 정보.
· 사용자가 키보드 상에 타이핑하고 있는지 여부, 마우스를 클릭하고 있거나 전체 스크린 모델에서 어플리케이션을 운용하고 있는지 여부와 같은 사용자의 시스템에 의해 수집된 정보.
컨텍스트 정보는 통상 컨텍스트 소스(620)에서 기인하여, 가입 구성요소(604)와 같은 컨텍스트 소비자들에 의해 사용된다. 컨텍스트 정보는 컨텍스트 서비스에 의해 컨텍스트 소스(620)로부터 컨텍스트 소비자에게 전파될 수도 있다. 컨텍스트 정보는 컨텍스트 서비스에 의해 컨텍스트 소스(620)로부터 컨텍스트 소비자에게 전파될 수도 있다. 컨텍스트 소스(620)의 위치는 컨텍스트 기점(또는 원점)이다. 컨텍스트 소비자의 위치는 컨텍스트 목적지(또는 목적지)이다.
컨텍스트 정보는 매우 다양한 컨텍스트 소스(620)에 의해 공급될 수 있다. 이들은 이하를 포함한다.
하드웨어 컨텍스트 소스
시스템은 하드웨어 디바이스의 상태를 모니터링함으로써 컨텍스트 정보를 수집할 수 있다.
1. 키보드 활동.
2. 마우스 활동.
3. 전화 활동(턴온/오프되는 전화, 진행중인 전화 대화, 등).
4. PDA 활동.
5. 셀 전화 네트워크 내의 물리적 위치.
6. GPS 수신기에 의해 보고되는 물리적 위치.
7. 이미지 인식에 링크된 웹 카메라.
8. 음성 인식에 링크된 마이크로폰.
9. 모션 센서.
10. 적외선 센서.
소프트웨어 컨텍스트 소스
시스템은 오퍼레이팅 시스템 및 설치된 어플리케이션으로부터 컨텍스트 정보를 수집할 수 있다.
1. 윈도우즈
a. 사용자가 로그인되어 있다.
b. 사용자가 전체 스크린 어플리케이션을 운용하고 있다.
2. 익스체인지
a. 익스체인지는 이메일을 판독하는데 사용되고 있다.
b. 익스체인지 달력 데이터.
c. 익스체인지 "회사 밖"상태.
3. IM
a. IM은 IM 메시지를 전송하고 수신하는데 사용되고 있다.
b. 사용자 입력 IM 상태
4. 인터넷 익스플로러 또는 다른 브라우저
a. IE는 웹을 브라우징하는데 사용되고 있다.
5. 오피스
a. 파워포인트는 프리젠테이션 모드를 제공하는데 사용되고 있다.
b. 아웃룩은 이메일을 브라우징하는데 사용되고 있다.
c. 워드 또는 액셀은 문서를 저작하는데 사용되고 있다.
6. 윈도우즈 미디어 플레이어
a. 윈도우즈 미디어 플레이어는 음악이나 비디오를 재생하는데 사용되고 있다.
7. 제3자 어플리케이션을 컨텍스트 정보를 제공할 수 있다.
패턴 검출 컨텍스트 소스
시스템 및 어플리케이션 프로그램은 행동 패턴을 인식함으로써 컨텍스트 정보를 추론할 수 있다. 예를 들면, 시스템은 사용자가 보통 주중에 예측 가능한 시간에 로그 인 및 아웃하는 것을 인식할 수 있다.
630에서, 컨텍스트 특성화가 발생할 수 있다.
컨텍스트 정보는 이하와 같이 특징지어질 수 있다.
컨텍스트 소스
누가 컨텍스트를 제공하는지를 지정한다.
컨텍스트 소비자
누가 컨텍스트를 소비하는지를 지정한다.
유틸리티
통지를 생성하거나 라우팅할 때 컨텍스트 정보가 얼마나 유용한 지를 지정한다. 유틸리티는 High, Medium, 또는 Low(또는 다른 목적지)로서 지정된다.
정확도
시스템이 컨텍스트 정보를 얼마나 많이 신뢰하는 지를 지정한다. 일부 컨텍스트 정보는 절대적으로 정확하고 신뢰할 만하다. 다른 컨텍스트 정보는 발견적이거나 단지 부분적으로 신뢰할만하다. 정확도는 High, Medium, 또는 Low(또는 다른 목적지)로서 지정된다.
민감도
의도되지 않는 공개로부터 컨텍스트 정보를 보호하려면 시스템이 얼마나 많은 노력을 소비해야 하는지를 지정한다. 민감도는 High, Medium, 또는 Low(또는 다른 목적지)로서 지정된다.
기점/목적지/전파 거리
기점은 컨텍스트 정보가 시작되는 위치를 지정한다. 기점은 데스크탑, 디바이스, 기업 서버, 네트워크 서비스, 캐리어 네트워크, 등으로서 지정된다. 목적지는 컨텍스트 정보가 소비되는 위치를 지정한다. 목적지는 데스크탑, 기업 서버, 네트워크 서비스 등으로서 지정된다. 전파 거리는 컨텍스트 정보를 기점에서 목적지로 이동하기 위해 전파되어야 하는 거리를 지정한다. 전파 거리는 로컬(또는 인트라 시스템), 인트라넷, 또는 인터넷으로서 지정될 수 있다. 전파 거리는 컨텍스트 정보 전파의 성능, 신뢰성 및 보안성에 영향을 미친다.
변동성(volatility)
컨텍스트 정보가 컨텍스트 소스에서 얼마나 자주 변경되는지를 지정한다. 변동성은 초, 분, 시, 일, 주, 월 또는 년당 변경의 측면에서 지정된다.
액세스 빈도
컨텍스트 정보가 컨텍스트 소비자에 의해 얼마나 자주 액세스되는 지를 지정한다. 액세스 빈도는 초, 분, 시, 일, 주, 월 또는 년당 변경의 측면에서 지정된다.
크기
얼마나 많은 컨텍스트 정보가 제공되고, 전파되며, 캐싱되고, 소비되는지를 지정한다. 크기는 바이트의 측면에서 지정된다.
관리에 대한 사용자의 노력
사용자가 정확한 컨텍스트 정보를 관리하기 위해 소비해야 하는 노력의 양을 지정한다. 시스템이 사용자 대신에 자동으로 관리하고 사용자 노력을 필요로 하지 않는 컨텍스트 정보는 사용자가 수동으로 관리해야 하는 컨텍스트 정보보다 더 관리될 가능성이 있는 것으로 가정된다. 이는 또한 더 정확할 가능성이 있다. 관리하려는 사용자 노력은 High, Medium, 또는 Low로서 지정된다.
640에서, 컨텍스트 소비자들이 특징지어질 수 있다.
컨텍스트 소비자들은 이하와 같이 특징지어질 수 있다.
컨텍스트 소비자
컨텍스트 소비자가 누구인가?
컨텍스트 소비자 위치
컨텍스트 소비자는 컨텍스트 소스에 로컬 또는 그로부터 이격되어 있는가?
컨텍스트 요구사항
컨텍스트 소비자는 어떤 컨텍스트를 요구하는가? 컨텍스트 소비자가 어떤 형태의 컨텍스트를 요구하는가, 즉 하나 이상의 개별적인 컨텍스트 소스로부터의 현재 컨텍스트, 하나 이상의 개별적인 컨텍스트 소스로부터의 컨텍스트 상태 변경, 다중 컨텍스트 소스로부터의 요약된 컨텍스트인가?
컨텍스트 액세스 빈도
컨텍스트 소비자는 컨텍스트를 얼마나 자주 액세스하는가?
컨텍스트 새로움
컨텍스트가 얼마나 현재에 가깝거나 새로워야 하는가?
컨텍스트 레이턴시
컨텍스트 소비자는 새로운 컨텍스트를 획득하기를 얼마나 길게 대기할 여유가 있는가?
650에서, 컨텍스트 모델은 컨텍스트 소스로부터의 컨텍스트 획득을 기술한다.
컨텍스트 소스는 컨텍스트 정보를 이하의 방식으로 컨텍스트 서비스에 공급할 수 있다.
푸시 온 체인지(Push on Change)
컨텍스트 정보가 변경될 때마다(또는 컨텍스트가 변경되지만 특정 간격만큼자주는 아님) 컨텍스트 소스는 컨텍스트 정보를 컨텍스트 서비스에 푸시할 수 있다.
푸시 온 스케줄(Push on Schedule)
컨텍스트 소스는 컨텍스트 정보를 지정된 스케줄에 컨텍스트 서비스에 푸시할 수 있다.
풀 온 스케줄(Pull on Schedule)
컨텍스트 서비스는 컨텍스트 정보를 지정된 스케줄에 컨텍스트 소스로부터 풀할 수 있다.
풀 온 디맨드(Pull on Demand)
컨텍스트 소비자가 컨텍스트 정보를 요구하는 경우에만, 컨텍스트 서비스는 컨텍스트 소스로부터 컨텍스트 정보를 풀할 수 있다.
660에서, 컨텍스트 전파가 고려된다.
컨텍스트 서비스가 컨텍스트 정보를 수신하는 경우, 컨텍스트 정보를 기점으로부터 목적지로 이하의 방식으로 전파할 수 있다. 유의할 점은, 컨텍스트 소스는 하나의 모델을 사용하여 컨텍스트 정보를 컨텍스트 서비스에 공급하는 한편, 컨텍스트 서비스가 다른 모델을 사용하여 기점에서 목적지로 컨텍스트 정보를 전파한다는 점이다.
푸시 온 체인지(Push on Change)
기점에서의 컨텍스트 서비스는 컨텍스트 정보가 변경될 때마다(또는 컨텍스트 정보가 변경되지만 특정 간격처럼 자주는 아님) 컨텍스트 정보를 목적지에 푸시할 수 있다.
푸시 온 스케줄(Push on Schedule)
기점에서의 컨텍스트 서비스는 컨텍스트 정보를 지정된 스케줄에 목적지에 푸시할 수 있다.
풀 온 스케줄(Pull on Schedule)
목적지에서의 컨텍스트 서비스는 컨텍스트 정보를 지정된 스케줄에 기점으로부터 풀할 수 있다.
풀 온 디맨드(Pull on Demand)
목적지에서의 컨텍스트 서비스는 컨텍스트 소비자가 컨텍스트 정보를 요구할 때 기점으로부터 컨텍스트 정보를 풀할 수 있다.
기점이 통지 서비스 인스턴스를 포함하는 경우, 컨텍스트 서비스는 이벤트 트리거링되거나 스케줄링된 통지 서비스 가입을 사용하여 상기 모델들을 구현할 수 있다. 푸시 온 체인지는 이벤트 트리거링된 가입으로서 구현될 수 있다. 푸시 온 스케줄 및 풀 온 스케줄은 스케줄링된 가입으로서 구현될 수 있다. 풀 온 디맨드는 "1회"스케줄링된 가입으로서 구현될 수 있다.
670에서, 모델은 컨텍스트 정보를 컨텍스트 소비자에게 노출시킨다. 컨텍스트는 통지 서비스 발생기 또는 정보 에이전트 라우터내에서 운용되는 규칙에 의해 소비된다. 규칙들은 컨텍스트 테이블의 기초를 이루는 컨텍스트 클래스로부터 컨텍스트 정보를 검색하는 컨텍스트 함수를 호출함으로써 컨텍스트 정보를 검색한다. 상기를 감안하여, 가입 구성요소(604)는 각 가입을 활성화하거나 비활성화하는지여부를 결정할 때 컨텍스트 모델(610)의 하나 이상의 양태들을 사용할 수 있다.
도 7은 본 발명의 하나에 양태에 따라 통지를 수신하기 위한 디바이스 구성(700)을 예시하고 있다. 본 양태에서, 사용자로 하여금 통지가 싱크에 전달되는 방법을 튜닝하거나 조정할 수 있도록 하는 하나 이상의 통지 양태들을 통지 싱크가 구성한다. 예시된 바와 같이, 통지를 싱크(710)에 전달하는 방법을 결정할 때, 이들 양태들은 통지 플랫폼 또는 브로커에 의해 판독되는 사용자 프로파일(720)에 저장될 수 있다. 730에서, 통지를 수신할 디바이스가 지정된다. 예를 들면, 사용자는 셀 전화 및 무선 랩탑 컴퓨터에 보내진 정보 경보를 가지기를 원하는데 반해, 하이-엔드 그래픽 통지가 데스크탑 컴퓨터에 전송되어야만 한다. 다르게는, 사용자는 서비스 A 및 서비스 B가 데스크 탑으로 통지를 보내고 한편 서비스 C는 통지를 집 이메일 어드레스로 보내야 한다고 지정한다. 734에서, 하나 이상의 디바이스 성능이 지정된다. 본 양태에서, 지정된 성능에 따라, 통지 서비스는 디바이스 성능에 기초하여 통지 출력 또는 가입을 변경하거나 조정할 수도 있다(예를 들면, 셀 전화 디스플레이에 대해, 메시지 청킹(chunking) 규칙을 활성화함).
740에서, 하나 이상의 디바이스 필터 선택이 선택될 수도 있다. 이것은 원하지 않는 통지의 수신을 저하시키도록 정크 또는 SPAM 필터를 활성화시키는 것을 포함한다. 다른 선택들은 가입된 통지 서비스 및/또는 지정된 통지 소스로부터 통지들이 수신될 수 있도록만 허용하는 설정 제어를 포함한다. 또 다른 선택은 통지를 제한하거나 완화하도록 사용될 수 있는 하나 이상의 규칙들의 명세를 포함한다(예를 들면, 작업 시간 동안에 취미 통지 서비스로부터 메시지가 수신되면, 통지를 폐기하거나, 집에 도착할 때까지 메시지를 대기한다). 744에서, 하나 이상의 전달 조건들이 지정될 수 있다(예를 들면, 나만이 셀 전화를 이용가능하다면 나의 가입된 통지를 나의 데스크탑에 대기한다. 내가 점심시간이 아닌 동안에 데스크탑에 있다면 작업 후에 통지를 전송한다). 750에서, 하나 이상의 디바이스 조건들이 지정될 수 있다(예를 들면, 셀 전화로 응급 통보만을 라우팅한다, 랩탑 및 데스크탑으로 개인 통지를 라우팅한다, 데스크탑에서 떨어져 있다면 비즈니스 통지에서 탈퇴한다).
도 8 및 9는 본 발명에 따라 통지 플랫폼 및/또는 그것과 연관된 구성요소와 함께 사용될 수도 있는 자동화된 요금청구 및 가입 서비스를 예시하고 있다. 도 8을 참조하면, 시스템(810)은 본 발명의 하나의 양태에 따라 분산 컴퓨팅 환경에서 요금청구 및 지급 처리 아키텍처를 예시하고 있다. 시스템(810)은 통지 플랫폼과 연관된 부분들과 실체들간의 다양한 요금청구 관계를 지원하는 인프라구조를 제공한다. 외부 요금청구 및 지급 이벤트(814)에 응답하는 하나 이상의 처리 엔진(812)이 제공되고, 각 처리 엔진(812)과 연관된 복수의 규칙(816)에 따라 동작한다. 이벤트(814)는 처리 엔진(812)내에 내부적으로 결정된 이벤트(도시되지 않음)를 포함할 수 있고, 일반적으로 가입 이벤트 모델과 일치한다. 모델은 가입이 가입 수명(예를 들면, 이메일과 같은 온라인 서비스에 대한 가입) 동안에 통과하는 상태 변이를 표현한다. 그러한 이벤트(814)의 예들은 가입 선 구매, 가입 구매, 가입 스폰서십, 가입 취소, 가입 불가, 가입 가능, 가입 변환 결과(SubscriptionConvert Out Of), 가입 변환 원인(Subscription Convert Into), 가입 재생, 가입 사용 이벤트 보고, 남아있는 가입, 사용자 서비스 프로파일 변경, 가입 만기, 서비스 할당, 서비스 할당해제, 서비스 정지, 및 서비스 가능을 포함할 수 있다. 그러한 다른 이벤트들이 본 발명에 따라 정의될 수 있다는 것은 자명하다.
규칙(816)은 서비스 전달 규칙, 자격제한 규칙, 레이팅 규칙, 및/또는 처리 엔진(812)에 따라 요금청구 및 지급 처리를 용이하게 하는 다른 타입의 규칙을 포함할 수 있다. 이벤트(814)의 본질에 따라, 처리 엔진(812)은 이벤트와 연관된 규칙(816)의 세트 또는 서브세트를 적용한다. 예를 들면, 서비스 전달 규칙은 서비스 타입, 서비스 레벨 전달, 및/또는 서비스의 성능 및 지불에 관련하여 연관된 리소스 밸런스에 관한 데이터를 포함하는, 전달될 서비스의 원자(atomic) 단위를 정의한다. 자격제한 규칙은 각 서비스의 구매를 위한 적격 조건을 정의한다. 이들 규칙들은 서비스의 구매를 제한된 세트의 사용자, 사용자 언어, 화폐, 국가, 임차인, 서비스 공급자, 존재하는 서비스 및/또는 소유된 제안, 특정 임차인과의 제휴, 특정 방법을 통한 지불 등으로 제한하거나 변경하도록 생성될 수 있다. 레이팅 규칙은 결과적으로 청구로 나타나는 화폐 밸런스로의 밸런스 임팩트를 결정하는 것을 용이하게 하고, 소비 및 서비스 할당을 모니터링하는 비-화폐를 포함한다. 이들 규칙들은 상기 기재된 가입 이벤트 모델의 컨텍스트에 처리될 개별적인 제안(offering)의 범주내에서 정의될 수 있다. 이하에 더 상세하게 설명되는 바와 같이, 하나 이상의 데이터 스토어(818)는 시스템(810) 내의 요금청구 및 지급, 및 처리 엔진(812)에 의한 관련 가입/이벤트 처리를 지원하도록 제공된다.
하나 이상의 임차인(830), 하나 이상의 서비스 공급자(834), 및 하나 이상의 고객(840) 간의 요금청구, 지급, 및 계좌 관계를 확립하고 유지하기 위해, 하나 이상의 가입 플랫폼 오브젝트(SPO, 824)를 포함하는 가입 플랫폼 서비스(SPS, 820)가 제공된다. 일반적으로, 임차인(830)은 서비스 공급자(834)에 의해 수행되는 서비스를 고객(840)에게 판매하고, SPS(820)는 그러한 서비스에 대한 각 요금청구 계좌를 생성하고 관리하는데 사용된다. 임차인(830)은 서비스 또는 서비스 패키지(관련되거나 미관련됨)를 고객(840) 또는 서비스 소비자에게 제공한다. 제안은 시스템(810)의 서비스와 연관된 잘 팔리는 아이템의 원자 단위를 포함한다. 제안은 서비스 전달, 자격조건, 및 레이팅 규칙, 플러스 다중 언어 및 각 적합한 언어에 대한 가격결정 기술의 모음을 포함하고, 시스템(810)에 의해 사용되는 추가 메타-데이터를 포함한다. 가입은 각 엔드 사용자 또는 고객(840)과 연관된 제안의 인스턴스를 제공한다.
서비스에 대한 가입이 요구되면, 임차인(830)은 고객(840)으로부터 신용 카드 정보 또는 다른 타입의 요금청구 구성을 검색하고, 고객과 법률적 또는 계약 정보를 교환하며, 서비스 또는 서비스들에 대해 규칙적이거나 주기적인 기반으로 고객에게 청구할 금액을 결정한다. 임차인(830)은 SPS(820)를 사용하여 요금청구 계좌를 생성하고, 고객의 신용 카드 또는 연관된 금융 기관과의 다른 수단을 허가하며, 서비스 공급자에게 통지하여 고객(840)에게 서비스 제안을 시작하도록 한다. 서비스가 서비스 공급자(834)에 의해 수행될 때, SPS(820)는 고객의 계좌에 청구한다. 주지된 바와 같이, 시스템(810)에 예시된 다른 구성요소들은 본 발명에 따라고객(840)에게 서비스를 제공하거나 판매할 수 있다. 예를 들면, 서비스 공급자(834)는 각 임차인(830)과 상호작용하지 않고 고객(840)에게 서비스를 제공하거나 판매할 수 있다.
SPS(820)와 관련되는 다른 부분 또는 실체는 고객 계좌의 연속적인 지원 및 관리를 제공하는 844에서의 고객 서비스 구성요소를 포함한다. 850에서의 지불 공급자(예를 들면, 은행, 금융기관)는 고객 계좌의 지불을 용이하게 하는데 반해, 금융, 비즈니스, 및 제품 동작 양태는 854에서 예시된다. 금융 및 비즈니스 동작은 원하는 경우에, 데이터 조작 및 분석을 위해 SPS(820)를 사용할 수 있고, 이에 대해 제품 동작은 SPS를 사용하여 예를 들면 패키징된 서비스와 같이 제품 카탈로그 제안을 결정하여 제공할 수 있다.
본 발명의 하나의 양태에 따라, 어플리케이션 프로그램 인터페이스 세트(API)(860-870)가 제공되고, 각 실체(830-854)는 SPS(820)와 상호작용할 수 있다. API 세트(860-870)는 일반적으로 SPS(820)에 대한 인터페이스로서 수행한다. API 세트(860-870)를 통해서 임차인(830), 서비스 공급자(834), 고객(840), 고객 서비스 대표(844), 지불 공급자(850) 및/또는 금융/다른 동작(854)이 가입 플랫폼 서비스(820)의 하나 이상의 특징들에 액세스한다. 예를 들면, API 세트(860-870)는 하나 이상의 다음의 양태, 즉, 계좌 관리, 제품 카탈로그 검색 및 조작, 가입 관리, 사용자 인증, 사용 이벤트, 온라인 진술/자기-관찰, 고객 서비스 유틸리티, 비즈니스 및 제품 동작, 유틸리티, 이벤트 및 통지, 및/또는 지급 지원을 접할 수 있다.
지급, 요금청구 및/또는 고객 관리를 위한 플랫폼 오브젝트(824)를 정의하는 확장가능한 마크업 언어(XML) 스키마가 제공될 수 있다. 예를 들면, 오브젝트(824)는 계좌, 지불 수단, 제안, 서비스 구성요소, 가입, 서비스 인스턴스, 역할 할당, 허용, 리소스, 요금청구 진술 기간 정보, 요금청구 진술 지불 정보, 요금청구 진술 라인 아이템, 코멘트 및/또는 가능한 오브젝트 기능을 명명하는 결산 정보를 포함할 수 있다. 실체(830-854)는 SPS(820)과, 또는 네트워크(870)를 가로질러 프로토콜(874)을 통한 실체들 사이에서 상호작용할 수 있다.
프로토콜(874)은 다른 프로토콜이 선택될 수 있는 것이 자명하지만 간단한 오브젝트 액세스 프로토콜(SOAP)을 포함할 수 있다. SOAP는 예로서, 정보 교환을 위한 구성요소로서 하이퍼텍스트 전달 프로토콜(HTTP) 및/또는 XML을 활용함으로써 동일하거나 다른 종류의 오퍼레이팅 시스템의 프로그램과 통신하는 하나의 타입의 오퍼레이팅 시스템에서 운용하는 프로그램을 용이하게 한다. 선택적 파트너 지원 오브젝트(PSO, 880)가 실체(830-854)에 제공되어, 실체들 및 SPS(820) 사이의 통신을 용이하게 한다. 예를 들면, PSO(880)는 SPS(820)로의 접속을 확립하기 위한 헬퍼(helper) 인터페이스를 제공하거나, 성능을 용이하게 하는 오브젝트의 접속 풀링(pooling)을 제공한다. PSO(880)는 일반적으로 접속 인터페이스와 같은 단일 API를 노출시킨다. PSO(880)를 설치한 후, 각 실체(830-854)는 인증, 권한부여, 및/또는 원하는 경우, 다른 통신을 위해 PSO를 활용할 수 있다.
유의할 점은, 시스템(810)에 기재된 구성요소들은 다른 머신이나 컴퓨터 상에서 분리되어 운용될 수 있고, 각 구성요소 자체가 다수 머신이나 컴퓨터 상에서운용될 수 있으므로 분산 컴퓨팅 환경에서 다중 레벨 구성요소 분산을 제공할 수 있다는 점이다. 본 발명의 한 양태에 따르면, 라우팅 메커니즘 또는 프로토콜이 제공되어, 수 개의 머신들(예를 들면, 파티션들) 사이에서 가입 및 요금청구 정보의 분할을 다룰 수 있다. 이것은 시스템(810)을 통한 더 높은 레벨의 트래픽을 처리하는 것을 용이하게 하고, 게다가 시스템에서 오류 허용한도의 레벨을 유지한다. 예를 들면, 정보는 해싱(hashing) 알고리즘 및 데이터베이스(예를 들면, 타워)의 조합을 통해 분할되어 특정 정보 아이템이 배치된 것이 어느 파티션인지를 결정할 수 있다.
이제, 도 9를 참조하면, 시스템(900)은 본 발명에 따른 이벤트 처리 아키텍처를 예시하고 있다. 시스템(900)은 가입 플랫폼 서비스(SPS) 레이어(910)를 통해 외부 부분과 런타임 통신을 지향하는 다중-층(tier) 아키텍처로 조직화될 수 있다. SPS(910)는 시스템(900)과 통신하는 파트너와 연관된 층에서 파트너당 허용의 시행을 용이하게 하는 파트너 허용 매니저(PPM, 914)를 포함한다. PPM(914)이 사용되어, 트랜잭션 기초의 파트너 허용 모델이 각 파트너로 하여금 적절한 허용으로 개별적인 가입 및 서비스 상태를 변형시킬 수 있도록 한다. 파트너 허용 모델은 시스템(900) 내에서 개별적인 가입, 계좌, 및/또는 서비스 상태를 변형하는 능력을 정의하는 등록된 파트너(예를 들면, 임차인 및/또는 서비스 공급자)와 연관된 권리를 기술한다.
SPS(910)는 시스템(900) 내에서 다양한 엔진(920)에 의한 처리를 조정하고, 일반적으로 데이터를 다양한 데이터 스토어(924)에 기록하고 업데이트하는 것을 제어한다. 서비스 구성요소 정의의 카탈로그, 파트너 허용, 및/또는 제안 메타 데이터를 저장하는 정의된 SQL 서버 데이터베이스를 포함할 수 있는 제품 카탈로그(930)가 제공된다. 제품 카탈로그(930)는 개별적인 제안과 연관된 레이팅, 자격제한, 및/또는 서비스 전달 규칙을 포함할 수 있다. 제품 카탈로그(930)에 의해 지원되는 추가 특징들은 서비스 구성요소 등록(예를 들면, 구성요소 ID 할당, 파트너 ID, URL, 지원 정보), 다중-서비스 구성요소 제안을 포함하는 교차-파트너 제안 및 교차 파트너 번들을 포함한다. 카탈로그(930)는 임의의 서비스 조합에 실질적으로 매핑하는 제안 그룹을 제공할 뿐만 아니라 복수의 국가, 언어, 관련 화폐, 관습 및 세금에 따라 글로벌화된 제안들을 포함할 수 있다.
제안 정보는 제품 카탈로그(930)에 저장될 수 있다. 이러한 정보는 베이스, 업그레이드, 다운그레이드, 재생, 부가, 및 서비스 정보간 상호 배타성을 포함할 수 있다. 또한, 판매일, 파트너, 언어, 국가, 화폐, 계좌당 최대 소유권, 및 유효 지불 수단에 관련된 자격 정보가 제공될 수 있다. 다른 제안 정보는 요금청구 사이클(예를 들면, 월마다, 다수 달, 28일, 선불/연체 사이클 요금청구)에 관련된다. 이것은 또한 자동적이거나 확인된 갱신과 같은 갱신과 관련된 정보, 및 결산 계좌에 대한 유예 기간에 관련된 정보를 포함할 수 있다. 다른 카탈로그 아이템은 관련 이벤트의 발생시 실행되는 규칙의 서브세트를 정의하는 이벤트 대 규칙 매핑 엔트리를 포함할 수 있다.
밸런스 임팩트 레이팅 엔진(934)은 가입 스토어(940)에 저장될 수 있는 가입 및 연관 가입 이벤트의 컨텍스트에서, 제품 카탈로그(930) 및 레이팅된 이벤트 스토어(932)로부터 확장가능한 세트의 레이팅 규칙 및/또는 레이팅 이벤트를 각각 처리한다. 이러한 엔진(934)은 다중 서비스 공급자, 임차인, 고객, 및/또는 다른 실체의 스케일에서 제공되는 복수의 밸런스 임팩트 이벤트(예를 들면, 지불 및 서비스 사용에 영향을 주는 이벤트)를 처리할 수 있다. 밸런스 임팩트 이벤트는 944에서 요금청구 임팩트 스토어에 저장되어 처리될 수 있다. 리소스 밸런스 스토어(150)는 밸런스 임팩트 레이팅 엔진(934)에 의한 레이팅 규칙의 처리로부터 기인하는 각 계좌들에 대한 집합된 양을 유지한다. 밸런스는 표현되는 서비스 단위에 대한 값을 나타내도록 "타이핑"될 수 있고, 하나 이상의 서비스 전달 규칙으로 범위 지정될 수 있다. 이것은 유통 및 비유통 리소스를 처리하는 것을 포함하고, 예를 들면 구매, 취소, 사이클, 사용 보고, 변환, 갱신, 보류, 및 재개와 같은 사용자 주도 이벤트(UDE)에 응답하는 레이팅 규칙을 처리하는 것을 포함한다. 뿐만 아니라, 일정한 비율에 따른 이벤트들은 기간에 따라 분할될 수 있고, 즉각적인 결산 및 선택된 지불 수단당 수집된 결산액을 제공한다. 유의할 점은, 엔진(920) 및/또는 시스템(900) 구성요소는 실질적으로 임의의 오브젝트 모델 프레임워크(예를 들면, COM, DCOM, CORBA, NET)로 구현될 수 있다.
자격부여 엔진(954)은 온라인 서비스 가입을 구매하고, 취소하거나 변환하는 개인 사용자의 자격을 평가한다. 이러한 엔진(954)은 주어진 제안에 연관된 자격부여 규칙(제품 카탈로그(930)에 저장됨)을 처리하고, 예를 들면 엔드 사용자 프로파일 및 연관 가입의 속성을 사용한다. 지급 엔진(960)은 상기 설명한, 가입 이벤트 모델에 제공된 바와 같이 적절한 이벤트에 응답하여 공통 서비스 공급자에 걸쳐정의된 지급 방법들의 트랜잭션 처리를 통합한다. 이러한 엔진(960)은 엔드 사용자로의 서비스의 정확하고 시기적절한 전달을 용이하게 한다. 지급 방법들은 특정 서비스의 서비스 또는 서비스들의 지정된 사용자에게로의 전달을 전달하거나 방지하는데 필요한 상태(예를 들면, 청구서의 미지불에 근거한 플래그 또는 조건의 설정)를 설정하는 행위를 포함한다. 지급 엔진(960)은 지급 이벤트에 응답하는 하나 이상의 API(960, 970)를 사용하는 서비스 공급자(934), 임차인(930), 또는 다른 실체(도시되지 않음)로의 통신 플로우를 제어한다.
파트너 구성 도구(PCT, 970) 및 파트너 구성 로더(974)는, 원한다면 아웃-오브-밴드(out-of-band) 프로세스를 통해 제품 카탈로그(930)에 통신할 수 있다. 통신은 제품 카탈로그 데이터를 구성하거나 로딩하기 위한 적절한 보안 자격증명을 가지는 관리자에 따라야만 한다. PCT(970)는 다른 파라미터뿐만 아니라 서비스 전달 규칙, 제안, 자격부여 규칙, 및/또는 임차인당 허가를 구성하는 그래픽 사용자 인터페이스(GUI)로서 구현될 수 있다. 파트너 구성 로더(974)는 하나 이상의 파트너 구성 파일(PCF, 978)을 - 파트너의 테스트 및 배치에 걸쳐- 공유 개발/테스트를 용이하게 하는 다중 시스템 환경에서, 다중 생산 및 선-생산 환경에 로딩한다. 파트너 구성 로더(974)는 시스템(900) 내에서 파트너 계좌의 생성을 용이하게 하여 보호된 데이터의 각 파트너로의 실질적으로 안전한 송신을 제공한다. 보호 키는 시스템(900)을 해킹하는 시도를 경감하기 위해, 예를 들면 아웃 오부 밴드(out of band)로 송신될 수 있다. PCF(978)는 원하는 경우에, 제안 및 연관 자격부여의 정의, 레이팅, 서비스 전달 규칙 및/또는 파트너 허용을 XML 포맷으로 포함하는 일시적인 스키마 파일일 수 있다. 이러한 포맷은 PCT(970)에 의해 사용되는 설계 시간 속성, 및 시스템(900)에서 다양한 엔진(920)에 의해 사용되는 런타임 속성을 포함할 수 있다.
공지된 바와 같이, 지금까지 및 이후에 기재되는 시스템, 구성요소, 및/또는 프로세스가 개별적인 구성요소 또는 프로세스로서 구현될 수 있고, 또는 다양한 조합으로 결합될 수 있다. 또한, 하나 이상의 기재된 구성요소 및/또는 프로세스는 원하는 경우에 단일 구성요소 내의 모든 구성요소 및/또는 프로세스, 또는 구성요소의 조합을 제공하는 것을 포함하여, 하나 이상의 기재된 구성요소 및/또는 프로세스들이 다양한 다른 구성요소 및/또는 프로세스에 따라 결합될 수 있다.
도 10은 본 발명에 따른 통지 전달 처리 방법을 예시하고 있다. 설명을 간단하게 하기 위해, 방법은 행위의 열로서 도시되고 기재되어 있지만, 일부 행위들은 본 발명에 따라 다른 순서로 또는 여기에 도시되고 기재된 다른 행위와 동시에 발생될 수도 있으므로 본 발명은 행위의 순서에 의해 제한되지 않는다는 것은 자명하다. 예를 들면, 본 기술분야의 숙련자라면, 방법은 다르게는 상태도와 같이 상호관련된 상태 또는 이벤트의 열로서 표현될 수 있다는 것을 잘 알고 있을 것이다. 더구나, 예시된 모든 행위들이 본 발명에 따른 방법을 구현하는데 필요한 것은 아니다.
도 10은 본 발명의 양태에 따른 통지 전달 프로세스(1000)를 예시하고 있다. 1010에서 시작하여, 통지 플랫폼과 상호작용할 수 있는 하나 이상의 어플리케이션 모델이 정의된다. 상기 지적한 바와 같이, 그러한 모델은 중계 모델, 가격결정 모델, 가입 액세스 모델, 푸시/풀 모델, 컨텍스트 모델, 및/또는 요금청구 모델을 포함할 수 있다. 1014에서, 어플리케이션 모델은 통지 플랫폼과 인터페이스된다. 환언하면, 하나 이상의 어플리케이션 모델이 통지 플랫폼의 동작 프레임워크에 따라 활성화되어, 사용자 및/또는 머신으로의 통지 전달을 용이하게 한다. 1018에서, 원하는 통지 성능을 기술하는 사용자 프로파일이 정의된다. 1022에서, 사용자 프로파일은 사용자, 디바이스, 및/또는 시스템 성능에 따라 조정된다. 이것은 어플리케이션 모델, 통지 플랫폼, 이것과 연관된 구성요소, 및/또는 시스템 다이나믹스의 하나 이상의 조정을 용이하게 하는 인터페이스 및 제어를 제공하는 것을 포함할 수 있다. 1026에서, 어플리케이션 모델은 통지 서비스에 가입하거나 탈퇴하도록 사용된다.
도 11을 참조하면, 시스템(1100)은 본 발명의 한 양태에 따라 통지 어플리케이션 아키텍처를 예시하고 있다. 통지 시스템(1100)은 어플리케이션에 가입한 실체들로의 정보 전달을 용이하게 한다. 시스템(1100)은 높은-범위성을 제공하고 특정 가입자 선호도에 따라 정보를 원하는 방식으로 가입자에게 보급할 여유가 있다. 가입자는 통지 시스템(1100)에 가입한 실체(예를 들면, 사람 또는 어플리케이션)이다. 본 발명에 따른 가입은 특정 정보(예를 들면, 주가 또는 스포츠 이벤트의 결과)에 대한 표현된 관심, 및 전달 모드의 명세(예를 들면, 이메일, 음성 메일, PDA를 통한 전달, 데스크탑 컴퓨터, 셀룰러 전화, 텔레비전...)일 수 있다. 더구나, 본 발명은 개인의 현재 상태 및 현재 상태에 따른 연관된 전달 선호도를 고려하는 것을 제공한다. 그러므로, 통지 시스템은 전달될 정보 타입에 주어진 전달 모드,정보와 연관된 중대함, 가입자의 현재 상태, 및 상기 언급한 다른 파라미터에 주어진 전달 선호도를 동적으로 변경하는 것을 제공한다. 그러한 고도의 스케일가능한 통지 서비스를 제공하는 시스템(1100)을 용이하게 하는 본 발명의 한 양태는 데이터로서 모델링 가입의 사용이다. 그러한 가입 모델링은 가입자 당 이벤트 당 개별적으로 질의를 운용할 필요를 완화시킨다. 따라서, 다수의 이벤트들이 개별적인 가입자 선호도에 따라 각 가입자에게 의미있는 방식으로 제공되는 복수의 가입자 및 관련 통지에 대해 동시에 처리될 수 있다.
가입자가 관심이 있는 정보는 이벤트로서 수집된다. 예를 들면, 특정 시각의 주가는 스포츠 스코어와 같이 이벤트일 수 있고, 또는 제품 전달 메시지 -거의 임의의 적합한 실제 세상 "해프닝"은 주제 발명에 따라 하나 이상의 이벤트로서 표현될 수 있다. 통지는 가입에 관련된 정보를 포함하는 가입자-특정 디바이스에 전달되는 메시지이다. 통지는 특정 주식에 대한 새로운 최고가 또는 예를 들면 스포츠 이벤트에 대한 최종 스코어에 관한 메시지를 포함할 수 있다. 서버 통지 서비스는 가입 및 이벤트를 모으기 위한 인터페이스를 제공하고, 그리고 나서 이러한 데이터에 기초한 통지를 생성한다.
개별적인 가입을 질의로서 다루는 것 대신에, 통지 시스템(1100)은 개별적인 가입을 데이터 엔진(예를 들면, SQL 서버)이 잘 어울리는 파라미터 데이터(예를 들면, 어플리케이션 개발자는 파라미터화된 질의의 세트를 정의할 수 있고, 각각은 가입 클래스가 될 수 있다)로서 취급한다 - 다수의 가입의 평가는 세트-지향 데이터 처리 문제가 된다. 이것은 본 발명의 통지 시스템-프로그래밍 프레임워크의 기본이다. 이러한 모델에서, 이벤트-트리거링된 가입들은 이벤트와 잠재적으로 큰 세트의 가입들간의 데이터 베이스 조합을 단순히 실행함으로써 평가된다. 일반적으로, 가입을 데이터로서 모델링하는 개념은, 통지 시스템(1100)이 다양한 도메인을 정의하는 경우 많은 질의들은 공통 구조를 가지고 있을 것이라는 가정에 기초하고 있다. 예를 들면, 많은 가입자들은 주가에 관심이 있지만, 더 세밀한 입도에서 각 가입자들은 다른 값의 다른 주식에 관한 정보를 원한다. 그러므로, 특정 주식에 대한 관심은 그러한 정보에 대한 공통 프레임워크 또는 파라미터(들)를 제공하기 위해 "STOCKSYMBOL" 및 "TRIGGERPRICE"로서 표현될 수 있다. 이벤트 데이터와 관련하여 이들 파라미터 값들이 어떻게 해석되는지에 관한 의미론은 어플리케이션에 의해 정의될 수 있다. 그러므로, 어플리케이션은 가입 파라미터가 해석되는 방법의 로직을 확정하고(예를 들면, 하나의 어플리케이션은 현재 가격 > 트리거 가격인 경우에 경보하기를 원하고, 다른 하나는 현재 가격 < 트리거 가격인 경우에 경보하기를 원할 수 있다) - 그러한 의미론은 어플리케이션 개발자에 의해 미리 결정될 수 있고, 가입자가 새로운 의미론을 도입할 수 없도록 설계된다.
이하에 더 상세하게 설명되는 바와 같이, 주제 발명은 가입 어플리케이션을 구축하기 위한 프로그래밍 모델도 포함한다. 가입 어플리케이션에서, 사용자는 특정 종류의 타겟팅된 정보에서 가입 또는 관심의 선언을 확립한다. 그런 다음, 정보가 이용가능하게 된 경우, 가입 어플리케이션은 통지를 가입자에게 전송한다. 가입 어플리케이션의 기능은 인커밍 데이터와 사용자 가입 세트와 매칭하여 전달될 필요가 있는 것이 어떤 통지인지를 결정한다. 주제 프로그래밍 모델은 어플리케이션 개발자가 소량의 어플리케이션 특정 코드(예를 들면, XML, SQL, C#, C++, VB, 및 .NET 프레임워크에 의한 지원에 적합한 다른 언어들의 혼합)를 저작할 수 있게 함으로써, 완전히 기능적이고 풍부한 가입 어플리케이션을 구축한다. 그러한 기능을 가능하게 하기 위해, 실행 엔진은 가입 어플리케이션에 공통인 기본 데이터 구조 및 실행 의미론을 구현하는 예를 들면 SQL 서버 및 .NET 프레임워크의 상부 상에 구축될 수 있다. 그러므로, 주제 프로그래밍 모델은 개발 시간을 단축시키고, 어플리케이션 유지보수를 용이하게 하며, 가입 및 이벤트 매칭을 수행하는 서버, 예를 들면 SQL 서버의 능력을 레버리지함으로써 어플리케이션 효율을 증가시킨다.
주제 발명은 가입 어플리케이션을 구축하기 위한 선언적 프로그래밍 모델을 포함한다. 프로그래밍 모델은 어플리케이션의 구조에 대한 기본 프레임워크를 제공하고, 개발자는 기본 프레임워크를 특정 어플리케이션을 구축하는데 적응할 수 있다.
시스템(1100)의 고-레벨 개략도에 있어서, 통지 서비스의 5개 구성요소들이 연합하여 상기 기재한 기능을 제공한다. 가입 관리 어플리케이션(1110)은 가입자가 시스템(1110)으로의 입력으로서 가입을 제출하는 인터페이스를 제공한다. 특히 가입 관리 어플리케이션(1110)은 시스템(1100)을 통해 실체들이 가입 서비스를 제공하는 것을 용이하게 하는 다수의 어플리케이션 프로그래머 인터페이스(API)을 제공하고, API는 이하에 더 상세하게 설명된다. 심지어 데이터도 이벤트 공급자(1120)를 통해 외부 소스로부터 모아질 수 있다. 예를 들면, 본 발명에 따른 이벤트 공급자는 복수의 리소스(예를 들면, 신문, 잡지, 웹사이트, 도서관, 개인, 고용인, 정부, 등)로부터 관련 이벤트를 모으거나 푸시될 수 있다. 데이터베이스 엔진(1140)은 데이터 스토어(1142)에 이벤트 및/또는 가입을 저장하고, Transact-SQL 진술과 같은 진술 및 저장된 절차들을 운용한다. 데이터베이스 엔진(1140)은 정보를 지속적으로 저장하지 않고 이벤트 대 가입을 실시간으로 처리할 수 있다. 통지 어플리케이션 서버(1130)는 이벤트 세트에 기초하여 가입을 처리하고, 최종적으로 가입자에게 전달되는 통지를 생성하고, 원하는 경우에 데이터베이스(1142)에 저장될 수 있다. 마지막으로, 전달 채널(1150)은 생성된 통지를 전달 서비스(1160)에 라우팅하며, 이는 익스체인지 서버, SMS 서버 및 .NET Alert 웹 서비스를 포함하고 이들로 제한되지 않는다.
도 12는 본 발명의 하나의 양태에 따른 통지 생성 및 분배 시스템(1200)을 예시하고 있다. 시스템(1200)은 가입 관리 시스템(하나 이상의 가입 관리 어플리케이션, 1210), 통지 서비스(1220), 데이터 엔진(1230), 데이터베이스(1232), 전달 서비스(1240), 및 통지 시스템(1200)에 의해 호스팅된 하나 이상의 가입 서비스(1250)를 포함한다. 서버 데이터베이스 엔진(1230)은 인스턴스 및 어플리케이션 데이터를 처리하고 저장하기 위해 제공한다. 특히, 서버 데이터베이스 엔진(1230)은 데이터베이스(들)(1232)로부터 인스턴스 및 어플리케이션 정보를 저장하고 검색한다. 데이터 엔진(1230)은 통지 서비스(1220)에 의해 사용된 다른 서비스를 제공한다. 예를 들면, 통지 서비스(1220)는 Transact-SQL 언어를 사용하여 데이터 엔진(1230)을 통하여 이벤트 및 가입 데이터를 결합한다. 그러한 결합은 SQL 서비스에 의해 제공되는 정보 처리 성능의 결과로서 데이터 엔진(1230)이 결합을 위해 고도로 최적화될 것이므로, 스케일링가능한 성능 이득을 제공한다. 가입 관리 시스템(1210)은 다양한 고유 가입 서비스(1250)를 수용할 뿐만 아니라 가입자 및 가입 데이터를 수집하는 사용자 인터페이스에 대한 호스팅 환경을 제공한다. 가입 관리 시스템은 가입자 및 가입 데이터를 제공하기 위한 윈도우즈 어플리케이션을 사용하거나, 다른 시스템으로부터 가입자 및 가입 데이터를 로딩하기 위한 자동화된 프로세스를 사용할 수 있다. 전달 서비스(1240, 예를 들면 .NET 경보 및 마이크로소프트 익스체인지 서버)는 통지 서비스(1220)로부터 통지를 수신하고, 통지를 적절한 가입자에게 전송한다.
기능적으로, 이벤트는 통지 서비스(1220) 내의 호스팅된 이벤트 공급자를 통해 또는 통지 서비스 외부의 비호스팅된 이벤트 공급자를 통해 서버 데이터 엔진(1230)에 제출된다. 비호스팅된 이벤트 공급자를 사용하는 경우, 웹 서버와 같은 이벤트 공급자를 지원하는 다른 시스템이 사용될 수 있다. 또한, 통지 서비스(1220)는 단일 서버에 배치되거나 다중 서버에 걸쳐 스케일링될 수도 있다는 것은 자명하다.
다음으로 도 13을 참조하면, 통지 서비스 아키텍처(130)가 본 발명의 하나의 양태에 따라 예시된다. 아키텍처(130)는 이벤트 공급자(1304), 중앙 데이터베이스(1306), 어플리케이션-특정 데이터베이스(1308), 통지 엔진(1310), 컨텍스트 분석기(1312), 통지 분배기(1314), 및 가입자(1316)를 포함하는 통지 서비스 시스템(1302)을 포함한다. 통지 서비스 시스템(1302)은 이벤트 및 가입자 데이터의 형태로 입력을 수신하고, 출력 또는 통지를 가입자(1316)에게 공급한다.
이벤트 공급자(1304)는 통지 서비스 시스템(1302)에 대한 이벤트 소스로부터 이벤트를 획득한다. 이벤트는 외부 세계에서의 데이터 변화를 나타낸다. 예를 들면, 스포츠 스코어와 같이, 특정 시간의 주가가 이벤트이고, 또는 제품 전달 메시지이다. 다르게 언급하면, 이벤트는 일부 세트의 사용자들에게 잠재적으로 흥미있는 아이템이고, 그러한 사용자 세트는 가입을 통한 특정 입력 데이터를 정의한다. 이벤트 공급자(1304)는 통지 서비스(1302)에 대한 이벤트 소스로부터 선택된 이벤트를 수집하도록 사용된다. 더구나, 이벤트 공급자(1304)는 소프트웨어 서비스, XML 파일, 어플리케이션, 및 데이터베이스뿐만 아니라 인터넷 및 네트워크 기초 통신 및 전화 통신과 같은 통신을 포함하는 복수의 다른 소스로부터 이벤트 데이터를 수집할 수 있다.
이벤트 소스는 여기에서 이벤트를 생성하는 것으로서 통상 정의되고, 이것은 정보, 서비스 및/또는 시스템 또는 세계 이벤트에 관해 사용자, 사용자에 대한 프록시에게 경보하고자 하는, 통지 또는 경보로서 지칭될 수 있다. 이벤트 소스는 또한 통지 소스로도 지칭될 수 있다. 또한, 이벤트 공급자(1304)는 다양한 방법들을 통해 데이터를 모니터링하고 모을 수 있다. 데이터를 모으는 방법의 예는 파일 첨가를 위한 디렉토리를 모니터링하고, 특정 타입의 엔트리에 대해 시스템 및 어플리케이션 로그 파일을 체크하며, 어플리케이션으로부터 경보를 트래핑하고, 웹 페이지를 모니터링하며, 데이터베이스 테이블의 변화를 추적하고, 웹 서비스에 의해 제공된 데이터를 검토하는 것을 포함하며, 이들로 제한되지 않는다. 대부분의 경우에, 리소스로부터 이벤트를 검색하는 어플리케이션이 준비된다면, 이벤트 공급자는 임의의 적절한 리소스로부터 데이터를 수집할 수 있다. 일반적으로, 데이터를 수집하는 이벤트 공급자(1304)에 의해 사용될 수 있는 다양한 다른 모델들이 있다. 이들 모델들은 이벤트 공급자(1304)가 이벤트 소스로부터 이벤트를 수집하는 횟수 및 그 환경에 영향을 줄 수 있다.
또한, 이벤트 공급자(1304)는 2개의 방식들 중 적어도 하나의 방식으로 통지되거나 데이터가 제공될 수 있다. 이벤트 공급자(1304)는 정보가 "푸시"되거나 자신에게 전송되기를 기다리거나, 소스를 폴링하고 임의의 새롭거나 업데이트된 데이터를 수집함으로써 소스로부터 정보를 "풀"할 수 있다. 예를 들면, 좋아하는 뉴스 페이지의 헤드라인 기사가 변경될 때마다 사용자가 통지받기를 원한다면, 이벤트 공급자(1304)는 예를 들면 그 페이지를 모니터링하고 헤드라인 텍스트의 변화를 검색하도록 구현될 수 있다. 텍스트가 변경되는 경우, 이벤트 공급자(1304)는 통지 서비스 시스템(1300)에 대해 새로운 헤드라인 데이터를 추출할 수 있다. 상기 예에서, 푸시 방법의 사용에서 적용되는 바와 같이, 데이터는 이벤트 소스로부터 이벤트 공급자에게 제공되지 않으므로, 이벤트 공급자(1304)는 필요한 데이터를 수집하는 책임을 가지고 있다.
또한, 이벤트 공급자(1304)는 선정된 기준을 충족하는 이벤트의 스케줄 또는 발생에 기초하여 통지 시스템(1302)에 대한 새로운 데이터를 획득할 수 있다. 스케줄링된 이벤트 공급자는 어플리케이션 개발자에 의해 구현된 설정에 기초하여 주기적으로 운용할 수 있다. 스케줄링된 이벤트 공급자는 운용되기 시작하여, 새로운 이벤트 데이터를 검색하고 제출한 후, 새로운 스케줄링된 트리거 시간이 될 때까지 동면한다. 이벤트 구동 이벤트 공급자는 연속적으로 운용함으로써 이벤트 소스를 모니터링할 수 있다. 그런 다음, 수집을 위한 특정 지침을 충족하는 데이터가 이용가능하게 된 경우, 이벤트 공급자는 이벤트를 수집하여 제출한다. 다르게는, 이벤트 구동 이벤트 공급자는 콜백(callback) 기능 또는 일부 다른 외부 자극에 응답하여만 운용될 수 있다. 이러한 외부 기능은 수집할 유효 이벤트 데이터가 있는지 여부를 결정하고, 이벤트 공급자를 그러한 데이터를 수집하는 수단으로서 사용한다. 일단 이벤트 공급자(1304)가 외부 이벤트 소스로부터 데이터를 수집하면, 데이터를 일괄적으로 이벤트 테이블에 기록하고, 이벤트 테이블을 데이터베이스(1308)에 저장한다.
데이터는 양호하게는 효율을 위해 일괄적으로 처리되고, 이벤트 데이터 및 통지 데이터가 모두 일괄처리(batched)된다. 여기에 정의되는 뱃치(batch)는 그룹으로서 처리되는 데이터의 세트일 수 있다. 예를 들면, 이벤트 뱃치는 통지 서비스(1302)에 한번에 제출되는 이벤트의 세트라고 할 수 있다. 이벤트는 시스템에 개별적으로 또는 그룹으로서 기록될 수 있다. 단일 이벤트가 시스템에 기록되고 열린 이벤트 뱃치가 없는 경우, 하나가 자동적으로 생성될 수 있다. 새로운 이벤트 및 후속 이벤트들은 이러한 자동적으로 생성된 뱃치와 연관된다. 이들 이벤트를 제공하는 이벤트 공급자는 현재 이벤트 뱃치를 주기적으로 닫도록 프로그래밍되어 있고, 통지 생성에 사용하기 위해 이러한 이벤트 뱃치를 제출한다. 새로운 이벤트 뱃치가 제1의 새로운 이벤트 제출로 생성되고, 사이클이 다시 시작된다. 또한, 이벤트가 시스템에 그룹으로서 기록된 경우, 각 그룹에는 자동적으로 이벤트뱃치가 할당된다. 기록 프로세스가 완료된 경우, 이들 이벤트들이 통지 생성 프로세스에 대해 이용가능하도록 이벤트 뱃치가 닫혀진다. 본 발명의 하나의 특정 실시예에서, 배치들은 원자적이다(atomic)(예를 들면, 제출되는 경우에 전체 배치이거나 아니면 하나도 없다).
도 14를 참조하면, ADF(1400) 및 그 구성요소를 도시하는 블록 다이어그램이 본 발명의 하나의 양태에 따라 예시된다. ADF(1400)는 어플리케이션의 중앙 로직을 정의하고, 이벤트, 가입 및 통지에 대한 스키마, 이벤트와 가입을 매칭하기 위한 규칙을 포함하고, 생성된 통지를 포맷하는데 사용되는 파일의 이름을 제공할 수 있다. ADF(1400)는 일반적으로 5개 구성요소, 이벤트 정의(1410), 통지 정의(1420), 가입 로직(1430), 가입 스키마(1440) 및 실행 설정(1450)을 포함한다. 다양한 구성요소의 기능은 더 적은 숫자의 구성요소로 조합되거나 더 큰 세트로 외삽될 수 있다.
이벤트 정의(1410)는 이벤트 데이터의 구조, 데이터를 수집하는 이벤트 공급자, 및 어플리케이션에 의해 사용되는 이벤트 연대기의 구조를 지정한다. 통지 정의(1420)는 미처리된 통지 데이터의 구조, 가입자에게 전송될 메시지에 대한 포맷팅, 및 메시지를 전송하는데 사용되는 전달 프로토콜을 지정한다. 가입 로직(1430)은 가입이 평가되는 방법을 정의한다. Transact-SQL 진술은 예를 들면 가입을 이벤트에 매칭하거나 특정 순환 시간에 가입을 평가할 수도 있다. 추가적으로, 가입 로직(1430)은 잘-정의된 방식으로 파라미터화될 수 있으므로, 개별적인 가입들은 가입 로직을 개인화할 수 있다. 또한, 가입 스키마(1440)는 가입 파라미터의 구조를 정의하고, 평가 횟수는 가입들이 평가될 때를 정의한다. 마지막으로, 실행 설정(1450)은 어플리케이션 개발자가 통지 서비스에 의해 실행될 때 어플리케이션의 동작 및 성능을 향상시킬 수 있도록 한다.
또한, 어플리케이션 개발자는 어플리케이션 정의 파일(ADF)의 수 개 섹션에서 어플리케이션 설정을 정의한다. 이들 설정들은 통지 서비스를 호스트하는 머신과 같은 아이템, 및 통지 서비스 함수에 대한 실행 스케줄-이들은 ADF 자체에 관한 메타 데이터를 다큐먼트한다-을 지정한다. 이것은 어플리케이션이 입력으로 수락하는 이벤트 및 가입들의 구조, 및 어플리케이션이 생성하는 통지의 구조를 포함한다. 이하에 상세하게 설명되는 그러한 메타 데이터의 예들은 발생기 설정, 분배기 설정, 배큐밍(vacuuming), 버전 설정, 통지 히스토리, 어플리케이션 데이터베이스 정보, 어플리케이션 실행 설정, 및 분배기 정보를 포함하고, 이들로 제한되지 않는다.
통지 서비스 구성요소(1220, 도 12)는 이벤트를 가입에 매칭하고 통지를 최종적으로 생성하는 통지 엔진(1310, 도 13)내의 발생기 구성요소(도시하지 않음)를 포함한다. 발생기 설정 고려는 ADF에서 <Generator> 노드에 정의될 수 있다. 고려되어야 할 하나의 사항은 이벤트 뱃치를 처리하는데 발생기가 얼마나 많은 스레드를 사용하는가이다. 그러한 인자는 어플리케이션 속도를 개선하는 것과 시스템 리소스를 독점하는 것 사이의 트레이드-오프로 간주될 수 있다. 그러한 고려사항의 일부는 더 많은 스레드를 부가함으로써 얼마나 많은 장점이 얻어질 수 있는냐를 평가하고 있다. 일부 동작들은 그 자신을 병렬성을 통해 효율을 더 낫게 하도록빌려주지 않으며, 자주 덜 효율적이게 된다는 것은 주지되어 있다. 이러한 정보를 표시하기 위해, <Generator> 모드의 <ThreadPoolSize> 요소내에 값이 지정될 수 있다.
기능적으로는, 통지 서비스 발생기는 이벤트 연대기 규칙들을 병렬로 실행하고, 그리고 나서 가입 규칙(이벤트 규칙 및 스케줄링된 규칙 모두)을 실행하려고 시도한다. 발생기는 규칙을 실행하는 동안 스레드 풀(pool) 내에 이용가능한 스레드를 활용하려고 시도할 것이다. 그러나, 유의할 점은, 발생기는 이벤트 연대기 규칙들을 병렬로 실행하지 않는다는 점이다.
도 15를 참조하면, 시스템(1510)은 본 발명의 하나의 양태에 따른 우선순위 시스템(1512) 및 통지 아키텍처를 예시하고 있다. 우선순위 시스템(1512)은 하나 이상의 메시지 또는 통지(1514)를 수신하고, 연관된 메시지에 대한 우선순위 또는 중요성의 척도(예를 들면, 메시지가 중요도가 높인지 낮은지의 확률값)를 생성하며, 출력(1516)에서 연관된 우선순위 값을 가지는 하나 이상의 메시지를 제공한다. 이하에 더 상세하게 설명되는 바와 같이, 분류자(classifier)들은 우선순위의 척도를 메시지(1514)에 자동으로 할당하도록 구축되고 트레이닝될 수 있다. 예를 들면, 출력(1516)은 메시지가 중요성의 높고, 중간이며, 낮은 카테고리 또는 다른 정도의 카테고리에 속하는 확률에 할당되도록 포맷될 수 있다. 메시지는 결정된 중요성 카테고리에 따라 예를 들면 이메일 프로그램(도시되지 않음)의 박스에 자동적으로 소팅(sorting)될 수 있다. 소팅은 정의된 중요성 라벨을 가지는 시스템 폴더에 파일을 보내는 것을 포함할 수 있다. 이것은 낮고, 중간이며, 높음과 같이 중요도로 라벨링된 폴더를 가지는 것을 포함할 수 있고, 특히 중요한 것으로 결정된 메시지는 관련 폴더로 소팅된다. 마찬가지로, 하나 이상의 오디오 사운드 또는 가시 디스플레이(예를 들면, 아이콘, 심볼)는 사용자에게 원하는 우선순위를 가지는 메시지가 수신되었다는 것을 경보하도록 적응될 수 있다(예를 들면, 높은 우선순위 메시지에 대해 3번 삑, 중간 정도에 대해서는 2번 삑, 낮은 것에 대해서는 한번 삑, 높은 우선순위에 대해서는 적색 또는 점멸 경보 심볼, 중간 우선순위 메시지를 나타내는 녹색 및 비점멸 경보 심볼이 수신되었다).
본 발명의 다른 양태에 따르면, 통지 플랫폼(1517)은 우선순위 결정된 메시지를 사용자에게 액세스가능한 하나 이상의 통지 싱크에 보내도록 우선순위 시스템(1512)과 조합하여 사용될 수 있다. 이하에 더 상세하게 설명되는 바와 같이, 통지 플랫폼(1517)은 우선순위 결정된 메시지(1516)를 수신하고 예를 들면 사용자에게 통지하는 때, 장소, 및 방법에 관한 결정을 하도록 적응될 수 있다. 하나의 예로서, 통지 플랫폼(1517)은 통신 양상(modality)(예를 들면, 셀 전화 또는 PDA와 같은 사용자의 현재 통지 싱크(1518)) 및 사용자의 유망한 위치 및/또는 유망한 관심 포커스를 결정할 수 있다. 예를 들면, 높은 중요도의 이메일이 수신되었다면, 통지 플랫폼(1517)은 사용자 위치/포커스를 결정하고 메시지를 사용자와 연관된 통지 싱크(1518)에 보내고/재포맷한다. 더 낮은 우선순위의 메시지(1516)가 수신되었다면, 통지 플랫폼(1517)은 예를 들면 나중 검토를 위해 사용자의 인박스 내의 이메일을 원하는 대로 놔두도록 구성될 수 있다. 이하에 더 상세하게 설명되는 바와 같이, 다른 라우팅 및/또는 경보 시스템(1519)이 활용되어 우선순위결정된 메시지(1516)를 사용자 및/또는 다른 시스템에 보낼 수 있다.
이제, 도 16을 참조하면, 시스템(600)은 본 발명의 하나의 양태에 따라 통지 엔진 및 컨텍스트 분석기가 어떻게 함께 기능하는 지를 예시하고 있다. 시스템(1600)은 컨텍스트 분석기(1622), 통지 엔진(1624), 하나 이상의 통지 소스 1 내지 N(1626, 1627, 1628), 통지 소스로서 동작할 수 있는 우선순위 시스템(1630), 하나 이상의 통지 싱크 1 내지 M(1636, 1637, 1638)을 포함하고, N 및 M은 각각 정수이다. 소스는 이벤트 발간자(publisher)로서 지칭되는데 반해, 싱크는 이벤트 가입자로서 지칭된다. 임의의 개수의 싱크 및 소스가 존재할 수 있다. 일반적으로, 통지 엔진(1624)은 컨텍스트 분석기(1622)에 의해 저장되거나 액세스된 파라미터 정보에 일부 기초하여, 소스(1626-1628)로부터 싱크(1636-1638)로, 이벤트 또는 경보로서 지칭되는 통지를 운반한다.
컨텍스트 분석기(1622)는 통지 결정-수행에 영향을 미치는 사용자의 변수 및 파라미터에 관한 정보를 저장/분석한다. 예를 들면, 파라미터는 사용자의 전형적인 위치 및 관심있는 포커스 또는 하루의 시간당 및 1주의 일당 활동과 같은 컨텍스트 정보, 및 사용자들이 액세스하고자 하는 디바이스와 같이, 그러한 파라미터에 컨디셔닝된 추가 파라미터들을 포함한다. 그러한 파라미터들은 하나 이상의 센서들을 통해 자발적으로 만들어진 관찰의 함수들일 수 있다. 예를 들면, 하나 이상의 프로파일(도시되지 않음)은 글로벌 포지셔닝 시스템(GPS) 서브시스템에 의해 제공될 수 있는 사용자의 위치에 관한 정보, 사용되는 디바이스의 타입 및/또는 디바이스의 사용 패턴에 관한 정보, 및 특정 타입의 디바이스가 사용자에 의해 액세스되었던 마지막 시간에 기초하여 선택되거나 변형될 수 있다. 또한, 이하에 더 상세하게 설명되는 바와 같이, 자동화된 추론이 사용되어, 위치 및 관심과 같은 파라미터 및 상태를 동적으로 유추한다. 프로파일 파라미터는 사용자에 의해 편집될 수 있는 사용자 프로파일로서 저장될 수 있다. 선정된 프로파일 세트 또는 동적 유추에 기초하는 것을 넘어서서, 통지 아키텍처는 예를 들면, 다음 "x" 시간동안 또는 주어진 시간까지 중요한 통지를 제외하고 이용가능하지 않는 사용자와 같이, 사용자가 그 또는 그녀의 상태를 실시간으로 지정할 수 있게 한다.
파라미터는 다른 설정의 다른 타입의 통지에 의해 저해되는 것에 관한 사용자의 선호도에 관한 디폴트 통지 선호도 파라미터를 포함하고, 이는 통지 엔진(1624)에 의해 통지 결정을 내리고 사용자가 변경을 개시하는 기초로서 사용될 수 있다. 파라미터는 사용자가 다른 상황(예를 들면, 셀 전화, 페이저에 의한 것)에서 통지되기를 원하는 방법에 관한 디폴트 파라미터를 포함한다. 파라미터는 다른 모드에 의해 다른 설정으로 통지되는 것과 연관된 분열의 비용과 같은 평가를 포함할 수 있다. 이것은 사용자가 다른 위치에 있을 가능성, 다른 디바이스가 이용가능할 가능성, 및 주어진 시간에서의 그 또는 그녀의 관심 상태의 가능성을 나타내는 컨텍스트 파라미터와 더불어, 주어진 시간에 사용자에게 통지되기를 바라는 방법을 나타내는 통지 파라미터를 또한 포함할 수 있다.
본 발명의 하나의 양태에 따라 컨텍스트 분석기(1622)에 의해 저장된 정보는 분석기에 의해 결정된 컨텍스트 정보를 포함한다. 컨텍스트 정보는 상세한 설명의 이하 섹션에서 더 상세하게 설명되는 바와 같이, 하나 이상의 컨텍스트 정보 소스(도시되지 않음)에 기초하여 사용자의 위치 및 관심 상태를 구별함으로써 분석기(1622)에 의해 결정된다. 컨텍스트 분석기(1622)는 예를 들면 사용자의 차량 또는 셀 전화의 일부인 글로벌 포지셔닝 시스템(GPS)을 통해 사용자의 실제 위치를 정확하게 결정할 수 있다. 분석기는 통계적 모델을 사용하여, 사용자가 일(day)의 타입, 일의 시간, 사용자의 달력의 데이터, 사용자의 활동에 관한 관찰과 같은 정보를 고려함으로써 수집되는 배경 평가 및/또는 관찰을 고려함으로써, 사용자가 주어진 관심 상태에 있는지의 확률을 결정한다. 주어진 관심 상태는 사용자가 통지를 수신할 정도로 개방되어 있거나, 바빠서 통지를 수신할 정도로 개방되어 있지 않는 지 여부를 포함하고, 주중, 주말, 휴일 및/또는 다른 경우/기간들과 같은 다른 고려사항을 포함할 수 있다.
소스(1626-1628, 1630)는 사용자 및/또는 다른 실체에 대해 의도된 통지를 생성한다. 예를 들면, 소스(1626-1628)는 소프트웨어 서비스뿐만 아니라, 인터넷 및 네트워크 기초 통신, 전화 통신과 같은 통신을 포함할 수 있다. 통지 소스는 이벤트를 생성하는 것으로 정의되고, 이는 사용자 또는 사용자에 대한 프록시에 정보, 서비스 및/또는 시스템 또는 세계 이벤트에 관해 경보하려고 하는 통지 및 경보로서도 지칭될 수 있다. 통지 소스는 이벤트 소스로도 지칭될 수 있다.
예를 들면, 이메일은 우선순위화되도록 우선순위 시스템(1630)에 의해 통지로서 생성될 수 있고, 여기에서 통지를 수집하는 어플리케이션 프로그램 또는 시스템은 이메일의 유망한 중요도 또는 긴박함에 대응하여 상대적 우선순위를 가지는 이메일을 사용자에게 할당한다. 이메일은 사용자에게 상대 중요성에 관계없이 전송될 수도 있다. 인터넷 관련 서비스는 예를 들면 매우 자주 있는 현재 뉴스의 헤드라인, 및 주식 시세와 같이 사용자가 가입한 정보를 포함하는 통지를 포함할 수 있다.
통지 소스(1626-1628)는 자체적으로 푸시-타입 또는 풀-타입 소스가 될 수 있다. 푸시-타입 소스는 가입된 후에 정보를 자동으로 전송하는 헤드라인 뉴스 및 다른 인터넷 관련 서비스와 같이, 대응하는 요구없이 정보를 자동으로 생성하고 전송하는 것들이다. 풀-타입 소스는 메일 서버가 폴링된 후에 수신되는 이메일과 같이, 요구에 응답하여 정보를 전송하는 것들이다. 또 다른 통지 소스는 이하를 포함한다.
· 달력 시스템과 같은 이메일 데스크탑 어플리케이션;
· 컴퓨터 시스템(예를 들면, 시스템 동작 또는 문제에 관해 경보하는 메시지 및 정보로 사용자에게 경보한다);
· 인터넷 관련 서비스, 약속 정보, 스케줄링 질의;
· 하나 이상의 공유 폴더에서 문서 또는 특정 종류의 문서의 개수를 변경시킨다;
· 정보에 대한 고정적이거나 지속적인 질의에 응답한 새로운 문서의 이용가능성; 및/또는
· 사람들 및 그 존재, 그 위치 변화, 그 근접도(예를 들면, 다른 동료 또는 친구가 나의 10마일 이내에 있다면 내가 여행하고 있는 때를 알려 달라) 또는 그 사용가능성(스티브가 대화에 대해 이용가능하고 완전한 비디오 원격 회의를 지원할수 있는 고속 링크 근처에 있다는 것을 알려 달라)에 관한 정보에 대한 정보 소스.
통지 싱크(1636-1638)는 사용자에게 통지를 제공할 수 있다. 예를 들면, 그러한 통지 싱크(1636-1638)는 데스크탑 및/또는 랩탑 컴퓨터, 핸드헬드 컴퓨터, 셀 전화, 지상 전화, 페이저, 자동차 기초 컴퓨터, 및 생각될 수 있는 다른 시스템/어플리케이션을 포함한다. 유의할 점은, 일부 싱크(1636-1638)는 다른 싱크보다 더 풍부하게 통지를 운반할 수 있다는 점이다. 예를 들면, 데스크탑 컴퓨터는 로컬 네트워크 또는 인터넷에 결합될 때 정보를 수신하기 위한 더 높은 대역폭을 가질 뿐만 아니라, 통상 스피커 및 거기에 결합된 비교적 큰 컬러 디스플레이를 구비하고 있다. 그러므로, 통지는 데스크탑 컴퓨터에 의해 비교적 풍부한 방식으로 사용자에게 운반될 수 있다. 한편, 다수의 셀 전화들은 흑백이 될 수 있는 더 작은 디스플레이를 가지고 있고, 예를 들면 비교적 낮은 대역폭에서 정보를 수신한다. 따라서, 셀 전화에 의해 운반되는 통지와 연관된 정보는 일반적으로 더 짧고, 예를 들면 전화의 인터페이스 성능에 연동된다. 그러므로, 통지의 콘텐트는 셀 전화 또는 데스크톱 컴퓨터에 전송될지 여부에 따라 달라질 수 있다. 본 발명의 하나의 양태에 따르면, 통지 싱크는 예를 들면 이벤트 가입 서비스를 통해 이벤트 또는 통지에 가입하는 것을 지칭할 수 있다.
통지 엔진(1624)은 컨텍스트 분석기에 의해 저장되거나 결정된 정보를 액세스하고, 어느 통지가 소스(1626-1628)로부터 수신되어 어느 싱크(1636-1638)로 운반될 지를 결정한다. 또한, 통지 엔진(1624)은 어느 싱크(1636-1638)가 정보를 전송하도록 선택되는데에 따라 통지가 전달되는 방법을 결정할 수 있다. 예를 들면,통지는 선택된 싱크(1636-1638)에 제공되기 이전에 요약되어야 되는 것으로 결정된다.
본 발명은 어느 통지가 어느 통지 싱크에 전달될 지, 및 통지가 운반되는 방식에 관한 결정을 엔진(1624)이 수행하는 방법으로 제한되지 않는다. 하나의 양태에 따르면, 결정-이론 분석이 활용될 수 있다. 예를 들면, 경보가 없는 경우에 사용자가 정보에 액세스할 때까지, 통지 엔진(1624)은 사용자의 위치, 관심, 디바이스 이용가능성, 및 시간크기를 포함하는 변수에 관한 중요한 불확실성을 유추하도록 적응될 수 있다. 통지 엔진(1624)은 사용자에게 통지를 경보해야 할 지에 관한 통지 결정을 수행할 수 있고, 그렇다면, 요약의 본성 및 적절한 디바이스 및 디바이스들은 통지를 릴레이하기 위해 사용된다. 일반적으로, 통지 엔진(1624)은 통지의 다음 기댓값을 결정한다. 그렇게 할 때, 이하를 고려할 수 있다.
· 각 이용가능한 통지 싱크의 충실도 및 송신 신뢰성
· 사용자를 혼란시키는 관심 비용
· 사용자에게 정보의 신규성
· 사용자가 정보를 직접 검토할 때까지의 시간
· 정보의 잠재적인 컨텍스트-민감한 값
· 통지내에 포함된 정보의 시간에 대한 증가 및/또는 감소값.
그러므로 불확실성에 관해 수행된 유추는 예를 들면 사용자의 일정 관심 상태에 주어진 특정 디바이스의 특정 모드를 사용하여 사용자에게 붕괴(disruption)의 비용으로서 예상 가능값으로서 생성될 수 있다. 통지 엔진(1624)은 이하 중 하나 이상에 관한 결정을 수행할 수 있다.
· 사용자가 현재 관심을 가지고 있고 수행하는 것(예를 들면, 컨텍스트 정보에 기초함).
· 사용자가 현재 있는 곳.
· 정보의 중요성.
· 통지를 연기하는 비용이 무엇인가?
· 통지가 얼마나 산만한 것인가?
· 사용자를 통과할 가능성은 무엇인가?
· 주어진 통지 싱크의 특정 모드의 사용과 연관된 충실도 손실은 무엇인가?
그러므로, 통지 엔진(1624)은 계류중이고 액티브한 통지의 결정-이론 분석과 같은 분석을 수행하고, 정보 싱크 및 소스에 의해 제공된 컨텍스트-의존 변수를 평가하며, 사용자가 정보 및 사용자의 위치 및 현재 관심 상태를 검토할 때까지의 시간과 같이 선택된 불확실성을 유추한다.
또한, 통지 엔진(1624)은 개인화된 결정-이론 분석을 지원하거나 그 대신에 컨텍스트 분석기(1622)에 의해 사용자의 프로파일에 저장되는 정보를 액세스할 수 있다. 예를 들면, 사용자 프로파일은 주어진 시간에, 사용자는 페이저를 통해 통지되는 것을 더 원하고 특히 통지가 소정 중요성 레벨을 갖는 경우에만 그러하다. 그러한 정보는 결정-이론 분석을 시작하는 베이스라인으로서 활용될 수 있고, 통지 엔진(1624)이 사용자에게 통지하는 방법 및 여부를 결정하는 방식이 될 수 있다.
본 발명의 하나의 양태에 따르면, 통지 플랫폼 아키텍처(1600)는 이벤팅 또는 메시징 인프라구조 상에 상주하는 레이어로서 구성될 수 있다. 그러나, 본 발명은 임의의 특정 이벤팅 인프라구조로 제한되지 않는다. 그러한 이벤팅 및 메시징 시스템 및 프로토콜은 이하를 포함할 수 있다.
· 본 기술분야에 주지된 바와 같이 하이퍼텍스트 트랜스포트 프로토콜(HTTP) 또는 HTTP 확장
· 본 기술분야에 주지된 바와 같은, 단순한 오브젝트 액세스 프로토콜(SOAP)
· 본 기술분야에 주지된 바와 같은, Jini
· 예를 들면 패킷 스위칭 프로토콜과 같은 실질적으로 임의의 타입의 통신 프로토콜.
또한, 아키텍처는 본 기술분야의 숙련자라면 잘 알고 있는 바와 같이 유연한 분산 컴퓨팅 인프라구조에 상주하는 레이어로서 구성될 수 있다. 그러므로, 통지 플랫폼 아키텍처는 소스가 통지, 경보 및 이벤트를 전송하는 방식 및 소스가 통지, 경보 및 이벤트를 수신하는 방식으로서 기저 인프라구조를 활용할 수 있다. 그러나, 본 발명은 그렇게 제한되지 않는다.
도 17을 참조하면, 본 발명의 다양한 양태를 구현하기 위한 환경 예(1710)는 컴퓨터(1712)를 포함한다. 컴퓨터(1712)는 처리 유닛(1714), 시스템 메모리(1716), 및 시스템 버스(1718)를 포함한다. 시스템 버스(1718)는 시스템 메모리(1716)를 포함하고 이들로 제한되지 않는 시스템 구성요소들을 처리 유닛(1714)에 결합시킨다. 처리 유닛(1714)은 다양한 이용가능 프로세서들 중 임의의 하나가 될 수 있다. 듀얼 마이크로프로세서 및 다른 멀티프로세서 아키텍처가 처리 유닛(1714)으로서 사용될 수 있다.
시스템 버스(1718)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스 또는 외부 버스, 및/또는 11비트 버스, 산업표준 아키텍처(ISA), 마이크로-채널 아키텍처(MSA), 확장된 ISA(EISA), 지능형 드라이브 전자장치(IDE), VESA 로컬 버스(VLB), 주변 구성요소 인터커넥트(PCI), 범용 직렬 버스(USB), 진보된 그래픽 포트(AGP), 개인 컴퓨터 메모리 카드 국제 협약 버스(PCMCIA), 및 소형 컴퓨터 시스템 인터페이스(SCSI)를 포함하는 다양한 가능한 버스 아키텍처를 사용하는 로컬 버스를 포함하는 수 개 타입의 버스 구조들 중 임의의 하나일 수 있다.
시스템 메모리(1716)는 휘발성 메모리(1720) 및 비휘발성 메모리(1722)를 포함한다. 시동 동안과 같이, 컴퓨터(1712) 내의 요소들간의 정보를 전달하는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS)은 비휘발성 메모리(1722)에 저장된다. 예시를 통해, 제한적인 내용은 아닌 것으로서, 비휘발성 메모리(1722)는 ROM(read only memory), PROM(programmable ROM), EPROM(electrically PROM), EEPROM(electrically erasable ROM), 또는 플래시 메모리를 포함한다. 휘발성 메모리(1720)는 외부 캐시 메모리로서 작용하는 RAM(random access memory)을 포함한다. 예로서 제시되며 제한적인 의미가 아닌 것으로서, RAM은 SRAM(synchronous RAM), DRAM(dynamic RAM), SDRAM(synchronous DRAM), DDR SDRAM(double data rate SDRAM), ESDRAM(enhanced SDRAM), SLDRAM(synchlink DRAM), 및 DRRAM(direct dambus RAM)과 같은 다양한 형태가 이용가능하다.
컴퓨터(1712)는 제거가능/제거불능, 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 도 17은 예를 들면 디스크 저장장치(1724)를 예시하고 있다. 디스크 저장장치(1724)는 자기 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, 재즈(Jaz) 드라이브, 집(Zip) 드라이브, LS-100 드라이브, 플래시 메모리 카드 또는 메모리 스틱과 같은 디바이스를 포함하고, 이들로 제한되지 않는다. 뿐만 아니라, 디스크 저장장치(1724)는 컴팩트 디스크 ROM 디바이스(CD-ROM), CD 기록가능한 드라이브(CD-R 드라이브), CD 재기록가능한 드라이브(CD-RW 드라이브) 또는 디지털 휘발성 디스크 ROM 드라이브(DVD-ROM)와 같은 광 디스크 드라이브를 포함하고 이들로 제한되지 않는 다른 저장 매체와 조합하거나 또는 단독으로 저장 매체를 포함할 수 있다. 디스크 저장 디바이스(1724)의 시스템 버스(1718)로의 접속을 용이하게 하기 위해, 제거가능하거나 제거불가능한 인터페이스는 통상 인터페이스(1726)와 같이 사용된다.
주지된 바와 같이, 도 17은 적절한 오퍼레이팅 환경(1710)에서 기재된 사용자들 및 기본 컴퓨터 리소스 간의 중개자로서 작용하는 소프트웨어를 기술하고 있다. 그러한 소프트웨어는 오퍼레이팅 시스템(1728)을 포함한다. 디스크 저장장치(1724) 상에 저장될 수 있는 오퍼레이팅 시스템(1728)은 컴퓨터 시스템(1712)의 리소스를 제어하고 할당하도록 동작한다. 시스템 어플리케이션(1730)은 프로그램 모듈(1732)을 통한 오퍼레이팅 시스템(1728)에 의한 리소스의 관리 및 시스템 메모리(1716) 또는 디스크 저장장치(1724) 중 하나에 저장된 프로그램 데이터(1734)를 활용한다. 주지된 바와 같이, 본 발명은 다양한오퍼레이팅 시스템 또는 오퍼레이팅 시스템의 조합으로 구현될 수 있다.
사용자는 입력 디바이스(들)(1736)를 통해 컴퓨터(1712)에 명령 또는 정보를 입력한다. 입력 디바이스(1736)는 마우스, 트랙볼, 스타일러스, 터치 패드, 키보드, 마이크로폰, 조이스틱, 게임패드, 위성 디시, 스캐너, TV 튜너 카드, 디지털 카메라, 디지털 비디오 카메라, 웹 카메라 등과 같은 포인팅 디바이스를 포함하고 이들로 제한되지 않는다. 이들 및 다른 입력 디바이스들은 인터페이스 포트(들)를 경유하여 시스템 버스(1718)를 통해 처리 유닛(1714)에 접속한다. 인터페이스 포트(들)(1738)는 예를 들면, 직렬 포트, 병렬 포트, 게임 포트 및 범용 직렬 버스(USB)를 포함한다. 출력 디바이스(들)(1740)는 입력 디바이스(들)(1736)과 동일한 타입의 포트 일부를 사용한다. 그러므로, 예를 들면, USB 포트는 입력을 컴퓨터(1712)에 제공하고, 정보를 컴퓨터(1712)로부터 출력 디바이스(1740)에 출력하는데 사용될 수 있다. 출력 어댑터(1742)가 제공되어, 특별한 어댑터를 필요로 하는, 다른 출력 디바이스(1740) 중에서, 모니터, 스피커 및 프린터와 같은 일부 출력 디바이스(1740)가 있는 것을 예시하고 있다. 출력 어댑터(1742)는 출력 디바이스(1740)와 시스템 버스(1718) 사이의 접속 수단을 제공하는 비디오 및 사운드 카드를 포함하고, 이는 예로서 제공되는 것이며 제한적으로 받아들여서는 안된다. 유의할 점은, 다른 디바이스 및/또는 디바이스의 시스템은 원격 컴퓨터(들)(1744)와 같은 입력 및 출력 성능을 모두 제공한다는 점이다.
컴퓨터(1712)는 원격 컴퓨터(들)(1744)와 같은 하나 이상의 원격 컴퓨터들로의 논리적 접속을 사용하여 네트워킹된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1744)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 워크스테이션, 마이크로프로세서 기초 장비, 피어 디바이스 또는 다른 공통 네트워크 노드 등이 될 수 있고, 전형적으로는 컴퓨터(1712)와 관련하여 기술된 요소들 중 다수 또는 모두를 포함한다. 간단하게 하기 위해, 메모리 저장 디바이스(1746)만이 네트워크 인터페이스(1748)를 통해 컴퓨터(1712)에 논리적으로 접속되고, 통신 접속(1750)을 통해 물리적으로 접속된다. 네트워크 인터페이스(1748)는 로컬 영역 네트워크(LAN) 및 광역 네트워크(WAN)와 같은 통신 네트워크를 포함한다. LAN 기술은 파이버 분산 데이터 인터페이스(FDDI), 구리선 분배 데이터 인터페이스(CDDI), 이더넷/IEEE 1102.3, 토큰 링/IEEE 1102.5 등을 포함한다. WAN 기술은 점대점 링크, 집적 서비스 디지털 네트워크(ISDN)과 같은 회로 스위칭 네트워크 및 그 변동, 패킷 스위칭 네트워크, 및 디지털 가입자 라인(SDL)을 포함하고, 이들로 제한되지 않는다.
통신 접속(들)(1750)은 네트워크 인터페이스(1748)를 버스(1718)에 접속하도록 사용되는 하드웨어/소프트웨어를 지칭한다. 통신 접속(1750)이 예시의 명료함을 위해 컴퓨터(1712) 내부에 도시되어 있지만, 컴퓨터(1712) 외부에 존재할 수 있다. 네트워크 인터페이스(1748)로의 접속에 필요한 하드웨어/소프트웨어는 단지 예시의 목적상, 정규 전화급 모뎀, 케이블 모뎀, DSL 모뎀, ISDN 어댑터, 및 이더넷 카드를 포함하는 모뎀과 같은 내부 및 외부 기술을 포함한다.
도 18은 본 발명이 상호작용할 수 있는 컴퓨팅 환경 샘플(1800)의 개략적인 블록 다이어그램이다. 시스템(1800)은 하나 이상의 클라이언트(들)(1810)를 포함한다. 클라이언트(들)(1810)는 하드웨어 및/또는 소프트웨어일 수 있다(예를 들면, 스레드, 프로세스, 컴퓨팅 디바이스). 시스템(1800)은 또한 하나 이상의 서버(들)(1830)를 포함한다. 서버(들)(1830)는 하드웨어 및/또는 소프트웨어일 수 있다(예를 들면, 스레드, 프로세스, 컴퓨팅 디바이스). 서버(1830)는 예를 들면 본 발명을 사용함으로써 변환을 수행하는 스레드를 하우징할 수 있다. 클라이언트(1810)와 서버(1830) 사이의 하나의 가능한 통신은 2개 이상의 컴퓨터 프로세스들 사이에 송신되도록 적응되는 데이터 패킷의 형태일 수 있다. 시스템(1800)은 클라이언트(들)(1810) 및 서버(들)(1830) 간의 통신을 용이하게 하기 위해 사용될 수 있는 통신 프레임워크(1850)를 포함한다. 클라이언트(들)(1810)는 클라이언트(들)(1810)에 로컬인 정보를 저장하도록 사용될 수 있는 하나 이상의 클라이언트 데이터 저장소(들)에 동작가능하게 접속된다. 마찬가지로, 서버(들)(1830)는 서버(1830)에 로컬인 정보를 저장하도록 사용될 수 있는 하나 이상의 서버 데이터 저장소(들)에 동작가능하게 접속된다.
상기 설명한 것은 본 발명의 예들을 포함한다. 물론, 본 발명을 기술하기 위해 모든 고안가능한 구성요소 또는 방법의 조합을 기술하는 것은 불가능하지만, 본 기술분야의 숙련자라면, 본 발명의 다수의 추가 조합 및 치환이 가능하다는 것을 잘 알고 있을 것이다. 따라서, 본 발명은 첨부된 특허청구범위의 사상 및 범주에 드는 모든 변경, 변형 및 변동을 포함하려고 한 것이다. 상세한 설명이나 특허청구범위에서 "포함하는(including)"이란 용어가 사용되는 경우에, "포함하는(comprising)"이 특허청구범위에서 선행 단어로서 사용될 때 해석되는 것과 같이, 그러한 용어는 용어 "포함하는(comprising)"과 유사한 방식으로 포함하는것으로 받아들여야 한다.
2002년 7월 26일 출원된 미국 특허 출원 제10/180,360의 부분 연속 출원인 본 발명에 따르면, 통지를 효율화하고 적시전달을 용이하게 하는 통지 시스템 및 방법이 제공된다.
Claims (34)
- 통지 시스템에 있어서,수신된 이벤트 및 가입 정보를 처리하되, 이벤트 및 가입 처리를 용이하게 하기 위해 처리 이전에 상기 이벤트 및 가입 정보를 데이터로서 모델링하는 데이터베이스 엔진;상기 처리된 이벤트 및 가입 정보에 따라 통지를 가입자에게 전달하는 통지 플랫폼; 및상기 통지를 생성하는 적어도 하나의 소스에 가입하고 탈퇴하는 것을 용이하게 하는 적어도 하나의 어플리케이션 모델을 포함하는 통지 시스템.
- 제1항에 있어서, 상기 통지 플랫폼은 통지를 생성하는 하나 이상의 이벤트 소스로부터, 상기 이벤트 소스로부터 정보를 수신하는 적어도 하나의 통지 싱크에 정보를 분배하는 적어도 하나의 서버를 포함하는 통지 시스템.
- 제1항에 있어서, 상기 어플리케이션 모델은 중계 모델, 동적 가격결정 모델, 가입 액세스 모델, 푸시 모델, 풀 모델, 컨텍스트 모델, 디바이스 모델, 및 요금청구 모델 중 적어도 하나를 포함하는 통지 시스템.
- 제2항에 있어서, 상기 통지 플랫폼은 복수의 이벤트 소스로부터의 데이터를 처리하고 결합 동작을 수행하여 상기 적어도 하나의 통지 싱크에 통지를 분배하는 적어도 하나의 SQL 서버를 포함하는 통지 시스템.
- 제3항에 있어서, 상기 중계 모델은 사용자로부터 통지 명세(specifications)를 수신하여 상기 명세를 만족하는 통지 서비스를 결정하는 통지 시스템.
- 제5항에 있어서, 상기 중계 모델은 통지 중계 구성요소 및 가입 중계 구성요소 중 적어도 하나를 포함하는 통지 시스템.
- 제6항에 있어서, 상기 중계 모델은 통지를 사용자에게 전달하기 위해 통지 플랫폼에 의해 사용되는 서비스 번들 및 통지 번들 중 적어도 하나를 생성하는 통지 시스템.
- 제5항에 있어서, 상기 중계 모델은 질의 및 비청구 요구(unsolicited request) 중 적어도 하나를 통해 통지 명세를 수신하는 통지 시스템.
- 제3항에 있어서, 상기 동적 가격결정 모델은 통지 아키텍처내의 가격 조정을 용이하게 하기 위해 그룹 구성요소, 볼륨 구성요소, 시간 기초 구성요소, 위치 기초 구성요소, 컨텍스트 기초 구성요소, 사용-기초 구성요소, 및 연관 기초 구성요소 중 적어도 하나를 포함하는 통지 시스템.
- 제9항에 있어서, 상기 동적 가격결정 모델은 사용자 프로파일, 상기 사용자 프로파일과 연관된 속성, 및 상기 가격 조정을 결정하는 성능(performance) 구성요소 중 적어도 하나와 연관되는 통지 시스템.
- 제3항에 있어서, 상기 가입 액세스 모델은 가입 조정을 용이하게 하기 위해, 가입 스위치, 단기간 제어, 간헐적 제어, 시험 가입 제어, 및 변환 제어 중 적어도 하나를 포함하는 통지 시스템.
- 제3항에 있어서, 상기 풀 모델은 상기 사용자의 현재 가입에 따르지 않는 통지를 수신하는 사용자의 요구와 연관되는 통지 시스템.
- 제3항에 있어서, 상기 푸시 모델은 사용자에게 제공된 인센티브에 의해 구동되는 통지 시스템.
- 제13항에 있어서, 상기 푸시 모델은 정보가 상기 사용자에게 푸시되지 못하도록 하는 제어를 더 포함하는 통지 시스템.
- 제1항에 있어서, 상기 컨텍스트 모델은 적어도 하나의 통지 서비스와 연관된가입을 조정하도록 사용되는 통지 시스템.
- 제15항에 있어서, 상기 컨텍스트 모델은 컨텍스트 소스, 컨텍스트 특성화 구성요소, 컨텍스트 소비자, 컨텍스트를 획득하는 구성요소, 컨텍스트 전파 구성요소(context propagation component), 및 컨텍스트를 노출하는 구성요소 중 적어도 하나를 포함하는 통지 시스템.
- 제3항에 있어서, 상기 디바이스 모델은 통지 플랫폼 및 적어도 하나의 가입과의 상호작용을 용이하게 하기 위해, 수신 구성요소, 용량(capabilities) 구성요소, 필터 구성요소, 전달 조건 구성요소, 및 디바이스 조건 구성요소 중 적어도 하나를 포함하는 통지 시스템.
- 제3항에 있어서, 상기 요금청구 모델은 자동화된 요금청구를 통지 플랫폼에 따라 용이하게 행하기 위해 가입 플랫폼 서비스 및 처리 엔진 중 적어도 하나를 포함하는 통지 시스템.
- 재18항에 있어서, 처리 엔진은 밸런스 임팩트(balance impact) 엔진, 자격부여 엔진, 및 적어도 하나의 통지 서비스와 연관된 계좌를 관리하는 지급 엔진(provision engine) 중 적어도 하나를 포함하는 통지 시스템.
- 제18항에 있어서, 상기 요금청구 모델은 가입 스토어, 리소스 밸런스 스토어, 요금청구 임팩트 스토어(billing impact store), 제품 카탈로그 및 레이팅된 이벤트 스토어 중 적어도 하나를 더 포함하는 통지 시스템.
- 제1항의 시스템을 구현하기 위한 컴퓨터 실행가능 구성요소를 저장하는 컴퓨터 판독가능 매체.
- 통지 시스템에 있어서,이벤트 및 가입 정보를 획득하기 위한 수단;상기 이벤트 및 가입 정보를 처리하기 위한 수단;상기 이벤트 및 가입 데이터로부터 통지 데이터를 생성하기 위한 수단; 및적어도 하나의 어플리케이션 구성요소에 따라 통지를 가입자에게 전달하기 위한 수단을 포함하는 통지 시스템.
- 제22항에 있어서, 상기 어플리케이션 구성요소는 중계 구성요소, 가격결정 구성요소, 가입 제어 구성요소, 푸시 구성요소, 풀 구성요소, 컨텍스트 구성요소, 디바이스 구성 구성요소, 및 요금청구 구성요소 중 적어도 하나를 더 포함하는 통지 시스템.
- 통지 방법에 있어서,적어도 하나의 어플리케이션 모델을 정의하는 단계;상기 어플리케이션 모델을 통지 플랫폼과 인터페이스하는 단계; 및상기 통지 플랫폼과 연관된 통지 서비스로의 가입 및 탈퇴 중 적어도 하나에 상기 어플리케이션 모델을 사용하는 단계를 포함하는 통지 방법.
- 제24항에 있어서, 상기 통지 플랫폼의 사용자 프로파일 조정 성능을 정의하는 단계를 더 포함하는 통지 방법.
- 제25항에 있어서, 상기 사용자 프로파일을 디바이스 및 시스템 용량 중 적어도 하나로 조정하는 단계를 더 포함하는 통지 방법.
- 제24항에 있어서, 질의 및 비청구 요구 중 적어도 하나를 통해 통지 명세를 수신하는 단계, 및 상기 명세에 기초하여 통지 서비스를 패키징하는 단계를 더 포함하는 통지 방법.
- 제24항에 있어서, 상기 통지 서비스는 그룹 구성요소, 볼륨 구성요소, 시간 기초 구성요소, 위치 기초 구성요소, 컨텍스트 기초 구성요소, 사용 기초 구성요소, 및 연관 기초 구성요소 중 적어도 하나에 기초하여 디스카운트를 제공하는 통지 방법.
- 제24항에 있어서, 가입 스위치, 단기간 제어, 간헐적 제어, 시험 가입 제어, 및 변환 제어 중 적어도 하나에 기초하여 가입을 조정하는 단계를 더 포함하는 통지 방법.
- 제24항에 있어서, 인센티브에 기초하여 사용자에게 정보를 푸시하는 단계 및 사용자 제어에 기초하여 정보를 사용자에게 푸시하는 단계 중 적어도 하나를 더 포함하는 통지 방법.
- 제24항에 있어서, 가입을 조정하는 컨텍스트를 사용하는 단계를 더 포함하는 통지 방법.
- 제24항에 있어서, 자동화된 요금청구 시스템과 상기 통지 플랫폼을 연관시키는 단계를 더 포함하는 통지 방법.
- 통지 시스템에 대한 신호에 있어서,통지 이벤트 및 가입 정보 중 적어도 하나를 송신하는 제1 데이터 패킷; 및상기 통지 이벤트 및 가입에 따라 통지를 가입자에게 전달하는 제2 데이터 패킷 - 상기 통지, 통지 이벤트, 상기 가입 중 적어도 하나는 가입 상태를 자동으로 조정할 수 있는 어플리케이션 모델과 연관됨 -을 포함하는 통지 시스템에 대한 신호.
- 제33항에 있어서, 상기 어플리케이션 모델은 중계 모델, 가격 모델, 액세스 모델, 푸시/풀 모델, 컨텍스트 모델, 디바이스 모델, 및 요금청구 모델 중 적어도 하나를 포함하는 통지 시스템에 대한 신호.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/376,197 | 2003-02-26 | ||
US10/376,197 US7698276B2 (en) | 2002-06-26 | 2003-02-26 | Framework for providing a subscription based notification system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20040076583A true KR20040076583A (ko) | 2004-09-01 |
Family
ID=33130339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040004801A KR20040076583A (ko) | 2003-02-26 | 2004-01-26 | 통지를 제공하기 위한 네트워크 프레임워크 및 어플리케이션 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7698276B2 (ko) |
EP (1) | EP1486897A1 (ko) |
JP (1) | JP2004259261A (ko) |
KR (1) | KR20040076583A (ko) |
CN (1) | CN100417072C (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7469197B2 (en) | 2004-08-09 | 2008-12-23 | Vodafone K.K. | Measurement data collection method and portable information device |
KR100903108B1 (ko) * | 2005-12-08 | 2009-06-16 | 한국전자통신연구원 | 자율적 시스템 구성을 지원하는 상황인지 기반 시스템 및운용 방법 |
KR100906110B1 (ko) * | 2007-05-16 | 2009-07-07 | 엔에이치엔(주) | 3a 기반의 푸시형 이벤트를 제공하는 유비쿼터스노티피케이션 방법 및 시스템 |
KR20170059451A (ko) * | 2014-09-25 | 2017-05-30 | 오라클 인터내셔날 코포레이션 | 멀티테넌트 어플리케이션 서버 환경에서 파티션 식별자들의 결정을 위한 시스템 및 방법 |
Families Citing this family (151)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990678B2 (en) * | 2001-03-27 | 2015-03-24 | At&T Intellectual Property I, L.P. | Systems and methods for automatically providing alerts of web site content updates |
US6870956B2 (en) | 2001-06-14 | 2005-03-22 | Microsoft Corporation | Method and apparatus for shot detection |
US7076543B1 (en) * | 2002-02-13 | 2006-07-11 | Cisco Technology, Inc. | Method and apparatus for collecting, aggregating and monitoring network management information |
US7418426B1 (en) * | 2002-05-20 | 2008-08-26 | Microsoft Corporation | System and method providing rules driven subscription event processing |
US20040002988A1 (en) * | 2002-06-26 | 2004-01-01 | Praveen Seshadri | System and method for modeling subscriptions and subscribers as data |
US7177859B2 (en) * | 2002-06-26 | 2007-02-13 | Microsoft Corporation | Programming model for subscription services |
US7274741B2 (en) * | 2002-11-01 | 2007-09-25 | Microsoft Corporation | Systems and methods for generating a comprehensive user attention model |
US7116716B2 (en) * | 2002-11-01 | 2006-10-03 | Microsoft Corporation | Systems and methods for generating a motion attention model |
US20040088723A1 (en) * | 2002-11-01 | 2004-05-06 | Yu-Fei Ma | Systems and methods for generating a video summary |
US7164798B2 (en) * | 2003-02-18 | 2007-01-16 | Microsoft Corporation | Learning-based automatic commercial content detection |
US7260261B2 (en) | 2003-02-20 | 2007-08-21 | Microsoft Corporation | Systems and methods for enhanced image adaptation |
US7555749B2 (en) * | 2003-03-10 | 2009-06-30 | Microsoft Corporation | Software updating system and method |
US7584467B2 (en) | 2003-03-17 | 2009-09-01 | Microsoft Corporation | Software updating system and method |
US10938584B2 (en) * | 2003-03-26 | 2021-03-02 | Scott Dresden | Advertising revenue system for wireless telecommunications providers using the sharing of display space of wireless devices |
US7739345B2 (en) * | 2003-03-31 | 2010-06-15 | Sap Ag | Alert notification engine |
US8024367B2 (en) * | 2003-03-31 | 2011-09-20 | Sap Ag | Alert engine |
US20050031096A1 (en) * | 2003-04-11 | 2005-02-10 | Richard Postrel | Command synchronization method and system |
US20050021836A1 (en) * | 2003-05-01 | 2005-01-27 | Reed Carl J. | System and method for message processing and routing |
CN1799059B (zh) * | 2003-06-26 | 2010-08-18 | 国际商业机器公司 | 用于将提供商产品包自动转换成资源管理系统可执行的客户特定的服务环境定义的方法和系统 |
JP2005056233A (ja) * | 2003-08-06 | 2005-03-03 | Nec Corp | 移動体通信装置、移動体通信装置の電子メールの受信動作方法及びその電子メールの受信動作プログラム |
US7400761B2 (en) | 2003-09-30 | 2008-07-15 | Microsoft Corporation | Contrast-based image attention analysis framework |
US7471827B2 (en) * | 2003-10-16 | 2008-12-30 | Microsoft Corporation | Automatic browsing path generation to present image areas with high attention value as a function of space and time |
US7669177B2 (en) | 2003-10-24 | 2010-02-23 | Microsoft Corporation | System and method for preference application installation and execution |
US20090312817A1 (en) * | 2003-11-26 | 2009-12-17 | Wicab, Inc. | Systems and methods for altering brain and body functions and for treating conditions and diseases of the same |
US10589087B2 (en) | 2003-11-26 | 2020-03-17 | Wicab, Inc. | Systems and methods for altering brain and body functions and for treating conditions and diseases of the same |
US7308101B2 (en) * | 2004-01-22 | 2007-12-11 | Cisco Technology, Inc. | Method and apparatus for transporting encrypted media streams over a wide area network |
US8024225B1 (en) * | 2004-01-27 | 2011-09-20 | Amazon Technologies, Inc. | Controlling access to services via usage models |
US20050198265A1 (en) * | 2004-01-30 | 2005-09-08 | Peter Veprek | Method and apparatus for information notification |
KR100539884B1 (ko) * | 2004-06-19 | 2005-12-28 | 삼성전자주식회사 | 디지털 방송 데이터 출력 중 수신된 문자메시지를처리하는 이동통신단말 및 그 방법 |
US9053754B2 (en) | 2004-07-28 | 2015-06-09 | Microsoft Technology Licensing, Llc | Thumbnail generation and presentation for recorded TV programs |
US7313576B2 (en) * | 2004-07-30 | 2007-12-25 | Sbc Knowledge Ventures, L.P. | System and method for flexible data transfer |
US7986372B2 (en) * | 2004-08-02 | 2011-07-26 | Microsoft Corporation | Systems and methods for smart media content thumbnail extraction |
US7747595B2 (en) * | 2004-08-04 | 2010-06-29 | Brian Zaleski | Methods and systems for electronic publishing content management |
US8423602B2 (en) | 2004-10-13 | 2013-04-16 | International Business Machines Corporation | Web service broadcast engine |
US20060085758A1 (en) * | 2004-10-18 | 2006-04-20 | Dan Backus | Desktop alert management |
US20060117336A1 (en) * | 2004-10-20 | 2006-06-01 | Dolgin Jess Z | System and method for instantaneously deploying packetized alert data |
US7461062B2 (en) * | 2004-12-01 | 2008-12-02 | International Business Machines Corporation | Just-in-time publishing via a publish/subscribe messaging system using a subscribe-event model |
US7383266B2 (en) | 2004-12-01 | 2008-06-03 | International Business Machines Corporation | Just-in-time publishing via a publish/subscribe messaging system having message publishing controls |
US7094154B2 (en) * | 2004-12-30 | 2006-08-22 | Mmjk Llc | Computer networked game system utilizing subscription based membership and alternative methods of entry |
JP4652090B2 (ja) * | 2005-03-15 | 2011-03-16 | 富士通株式会社 | 事象通知管理プログラム、事象通知管理装置及び事象通知管理方法 |
US7747632B2 (en) * | 2005-03-31 | 2010-06-29 | Google Inc. | Systems and methods for providing subscription-based personalization |
US20060224583A1 (en) * | 2005-03-31 | 2006-10-05 | Google, Inc. | Systems and methods for analyzing a user's web history |
US9256685B2 (en) * | 2005-03-31 | 2016-02-09 | Google Inc. | Systems and methods for modifying search results based on a user's history |
US20060224608A1 (en) * | 2005-03-31 | 2006-10-05 | Google, Inc. | Systems and methods for combining sets of favorites |
US7366512B1 (en) * | 2005-04-07 | 2008-04-29 | At & T Mobiliity Ii Llc | Notification method and device for service providers |
US20060235963A1 (en) * | 2005-04-18 | 2006-10-19 | Research In Motion Limited | System and method for exposing a synchronous web service as a notification web service |
EP1715430A1 (en) * | 2005-04-18 | 2006-10-25 | Research In Motion Limited | System and method for exposing a synchronous web service as a notification web service |
CA2604902C (en) * | 2005-04-18 | 2013-06-11 | Research In Motion Limited | System and method for enabling group subscription for asynchronous push-based applications on a wireless device |
US8787967B2 (en) * | 2005-08-23 | 2014-07-22 | Sony Corporation | Communication terminals with pull-based digital information distribution capability and pull-based methods for digital information distribution |
US7941448B2 (en) | 2005-08-26 | 2011-05-10 | At&T Intellectual Property Ii, Lp | System and method for event driven publish-subscribe communications |
CN1933476B (zh) * | 2005-09-15 | 2010-04-28 | 华为技术有限公司 | 基于会话发起协议的订阅方法 |
US20070112811A1 (en) * | 2005-10-20 | 2007-05-17 | Microsoft Corporation | Architecture for scalable video coding applications |
US8180826B2 (en) | 2005-10-31 | 2012-05-15 | Microsoft Corporation | Media sharing and authoring on the web |
US7773813B2 (en) | 2005-10-31 | 2010-08-10 | Microsoft Corporation | Capture-intention detection for video content analysis |
US8196032B2 (en) * | 2005-11-01 | 2012-06-05 | Microsoft Corporation | Template-based multimedia authoring and sharing |
US8953771B2 (en) * | 2005-11-07 | 2015-02-10 | Cisco Technology, Inc. | Method and apparatus to provide cryptographic identity assertion for the PSTN |
US8452852B2 (en) * | 2005-12-21 | 2013-05-28 | Alcatel Lucent | System and method for providing an information service to distribute real-time information to users via a presence system |
US7599918B2 (en) * | 2005-12-29 | 2009-10-06 | Microsoft Corporation | Dynamic search with implicit user intention mining |
US20070161382A1 (en) * | 2006-01-09 | 2007-07-12 | Melinger Daniel J | System and method including asynchronous location-based messaging |
US8209181B2 (en) * | 2006-02-14 | 2012-06-26 | Microsoft Corporation | Personal audio-video recorder for live meetings |
US8312497B2 (en) * | 2006-03-29 | 2012-11-13 | At&T Intellectual Property I, L.P. | Closed-captioning universal resource locator (URL) capture system and method |
JP2007274588A (ja) * | 2006-03-31 | 2007-10-18 | Canon Inc | 電子機器及び当該機器における制御方法 |
US8458725B2 (en) | 2006-04-10 | 2013-06-04 | Oracle International Corporation | Computer implemented method for removing an event registration within an event notification infrastructure |
US9390118B2 (en) * | 2006-04-19 | 2016-07-12 | Oracle International Corporation | Computer implemented method for transforming an event notification within a database notification infrastructure |
EP1853043B1 (en) * | 2006-05-02 | 2008-07-02 | Research In Motion Limited | Multi-layered enveloped method and system for push content metadata |
US8019892B2 (en) | 2006-05-02 | 2011-09-13 | Research In Motion Limited | Multi-layered enveloped method and system for push content metadata |
US8464275B2 (en) * | 2006-05-10 | 2013-06-11 | Oracle International Corporation | Method of using a plurality of subscriber types in managing a message queue of a database management system |
US20070288469A1 (en) * | 2006-06-12 | 2007-12-13 | Research In Motion Limited | System and method for mixed mode delivery of dynamic content to a mobile device |
EP1868350A1 (en) * | 2006-06-12 | 2007-12-19 | Research In Motion Limited | System and method for mixed mode delivery of dynamic content to a mobile device |
WO2008052166A2 (en) * | 2006-10-26 | 2008-05-02 | Wicab, Inc. | Systems and methods for altering brain and body functions an treating conditions and diseases |
GB0623927D0 (en) * | 2006-11-30 | 2007-01-10 | Ibm | Event - based activation and deactivation of subscription matching |
JP4944593B2 (ja) * | 2006-12-21 | 2012-06-06 | キヤノン株式会社 | 画像形成装置及びその制御方法及びコンピュータプログラム |
CN101013949B (zh) * | 2006-12-21 | 2011-05-18 | 建龙钢铁控股有限公司 | 一种消息广播通信方法 |
US20080209441A1 (en) * | 2007-02-27 | 2008-08-28 | Daven Walt Septon | Context-driven dynamic subscription based on user selections |
US20080208982A1 (en) * | 2007-02-28 | 2008-08-28 | Morris Robert P | Method and system for providing status information relating to a relation between a plurality of participants |
US8229458B2 (en) | 2007-04-08 | 2012-07-24 | Enhanced Geographic Llc | Systems and methods to determine the name of a location visited by a user of a wireless device |
US9756004B2 (en) * | 2007-11-08 | 2017-09-05 | Skype | Message delivery system and method |
US8583633B2 (en) * | 2007-11-30 | 2013-11-12 | Ebay Inc. | Using reputation measures to improve search relevance |
US8495660B1 (en) * | 2008-03-28 | 2013-07-23 | Symantec Corporation | Methods and systems for handling instant messages and notifications based on the state of a computing device |
US8209220B2 (en) * | 2008-06-27 | 2012-06-26 | Microsoft Corporation | Online services offer management |
US8335762B2 (en) | 2008-10-06 | 2012-12-18 | Microsoft Corporation | Resource tracking |
JP2010141851A (ja) * | 2008-12-15 | 2010-06-24 | Nec Corp | 通信装置、方法およびプログラムならびに通信システム |
US20100250643A1 (en) * | 2009-03-26 | 2010-09-30 | Microsoft Corporation | Platform for Societal Networking |
JP5595503B2 (ja) * | 2009-09-09 | 2014-09-24 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 移動ネットワークにおけるコンテンツ送信の適合化 |
US8515831B2 (en) * | 2010-01-04 | 2013-08-20 | Bala R. Vatti | People's task management framework |
US9275376B2 (en) * | 2010-03-25 | 2016-03-01 | Nokia Technologies Oy | Method and apparatus for providing soft reminders |
US8380736B2 (en) | 2010-05-21 | 2013-02-19 | Microsoft Corporation | De-duplication in billing system |
US8898078B2 (en) | 2010-05-21 | 2014-11-25 | Microsoft Corporation | Scalable billing with de-duplication in aggregator |
US20110313950A1 (en) * | 2010-06-16 | 2011-12-22 | Jayasimha Nuggehalli | Methods and apparatus for management of software applications utilizing volume pricing |
US8903770B2 (en) * | 2010-10-15 | 2014-12-02 | Salesforce.Com, Inc. | Methods and apparatus for discontinuing the following of records in an on-demand database service environment |
US20120094600A1 (en) | 2010-10-19 | 2012-04-19 | Welch Allyn, Inc. | Platform for patient monitoring |
US8825687B2 (en) * | 2010-11-10 | 2014-09-02 | Rave Wireless, Inc. | Data management system |
US8856807B1 (en) * | 2011-01-04 | 2014-10-07 | The Pnc Financial Services Group, Inc. | Alert event platform |
US11055754B1 (en) | 2011-01-04 | 2021-07-06 | The Pnc Financial Services Group, Inc. | Alert event platform |
WO2012099617A1 (en) * | 2011-01-20 | 2012-07-26 | Box.Net, Inc. | Real time notification of activities that occur in a web-based collaboration environment |
JP6149857B2 (ja) * | 2011-05-16 | 2017-06-21 | マイクロソフト テクノロジー ライセンシング,エルエルシー | マルチデータ型通信システム |
US8346672B1 (en) * | 2012-04-10 | 2013-01-01 | Accells Technologies (2009), Ltd. | System and method for secure transaction process via mobile device |
US9946988B2 (en) * | 2011-09-28 | 2018-04-17 | International Business Machines Corporation | Management and notification of object model changes |
US8782127B2 (en) * | 2011-09-30 | 2014-07-15 | Apple Inc. | Notification based web applications |
US8788627B2 (en) * | 2011-09-30 | 2014-07-22 | Apple Inc. | Interactive web application framework |
US9729631B2 (en) | 2011-09-30 | 2017-08-08 | Apple Inc. | Asynchronous data manipulation |
US8838808B2 (en) * | 2011-09-30 | 2014-09-16 | Apple Inc. | Asynchronous communication in web applications |
US20130124295A1 (en) * | 2011-11-14 | 2013-05-16 | Danir Marketing Ab | System, apparatus and method for organizing and presenting offers through virtual channels |
US20130138485A1 (en) * | 2011-11-29 | 2013-05-30 | Zuora. Inc. | Configurable billing with subscriptions having conditional components |
US20130159832A1 (en) * | 2011-12-12 | 2013-06-20 | Black Point Technologies Llc | Systems and methods for trading using an embedded spreadsheet engine and user interface |
US10255121B1 (en) * | 2012-02-21 | 2019-04-09 | EMC IP Holding Company LLC | Stackable system event clearinghouse for cloud computing |
US8346881B1 (en) * | 2012-05-18 | 2013-01-01 | Google Inc. | Prioritization of incoming communications |
US9842169B1 (en) * | 2012-08-03 | 2017-12-12 | Zynga Inc. | Actionable social news generator |
US20140058966A1 (en) * | 2012-08-23 | 2014-02-27 | John Saul | System and Method for Delivering Serialized Stories |
US8990375B2 (en) * | 2012-08-31 | 2015-03-24 | Facebook, Inc. | Subscription groups in publish-subscribe system |
US9319473B2 (en) * | 2012-12-18 | 2016-04-19 | Facebook, Inc. | Mobile push notification |
US20140195620A1 (en) * | 2013-01-08 | 2014-07-10 | Ebay Inc. | Notification routing to a user device |
US9189510B2 (en) | 2013-02-26 | 2015-11-17 | Facebook, Inc. | System and method for implementing cache consistent regional clusters |
US9171003B2 (en) * | 2013-03-15 | 2015-10-27 | Western Digital Technologies, Inc. | Shared media crawler database method and system |
US9858052B2 (en) * | 2013-03-21 | 2018-01-02 | Razer (Asia-Pacific) Pte. Ltd. | Decentralized operating system |
US10223156B2 (en) | 2013-06-09 | 2019-03-05 | Apple Inc. | Initiating background updates based on user activity |
US10476921B2 (en) * | 2013-06-12 | 2019-11-12 | Carefusion 303, Inc. | System event notification |
US9564042B2 (en) | 2013-06-13 | 2017-02-07 | Motorola Solutions, Inc. | Communication system with improved safety feature |
US9514203B2 (en) | 2013-07-02 | 2016-12-06 | Bank Of America Corporation | Data discovery and analysis tools |
US9998556B2 (en) * | 2013-09-11 | 2018-06-12 | Oath Inc. | Unified end user notification platform |
US20150161644A1 (en) * | 2013-12-06 | 2015-06-11 | Verizon Patent And Licensing Inc. | Method and apparatus for managing account options |
US10482545B2 (en) * | 2014-01-02 | 2019-11-19 | Katherine Elizabeth Anderson | User management of subscriptions to multiple social network platforms |
US9652507B2 (en) * | 2014-01-24 | 2017-05-16 | International Business Machines Corporation | Dynamic interest-based notifications |
US9960964B2 (en) * | 2014-02-18 | 2018-05-01 | Cellos Software Ltd | System, method and apparatus to manage services in a network |
US9348493B2 (en) * | 2014-05-13 | 2016-05-24 | Jack Ke Zhang | Automated subscriber-based customization of electronic channels for content presentation |
US9432796B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Dynamic adjustment of mobile device based on peer event data |
US11316942B2 (en) * | 2014-08-22 | 2022-04-26 | Finicity Corporation | Providing financial events using a push framework |
US9768974B1 (en) * | 2015-05-18 | 2017-09-19 | Google Inc. | Methods, systems, and media for sending a message about a new video to a group of related users |
US10244040B2 (en) * | 2015-05-22 | 2019-03-26 | Microsoft Technology Licensing, Llc | Content event notifications |
US10594835B2 (en) | 2015-06-05 | 2020-03-17 | Apple Inc. | Efficient context monitoring |
US20170063948A1 (en) * | 2015-09-01 | 2017-03-02 | Vuclip | State-based subscription authorization system with fall-back |
US10097622B1 (en) * | 2015-09-11 | 2018-10-09 | EMC IP Holding Company LLC | Method and system for communication using published events |
US10627976B2 (en) | 2015-09-18 | 2020-04-21 | Microsoft Technology Licensing, Llc | Smart notifications |
US10469436B2 (en) * | 2015-11-20 | 2019-11-05 | Accenture Global Solutions Limited | Managing messaging services |
US10284673B2 (en) | 2016-04-01 | 2019-05-07 | Arista Networks, Inc. | Interface for a client of a network device |
US10642844B2 (en) * | 2016-04-01 | 2020-05-05 | Arista Networks, Inc. | Non-materialized tables with standing queries |
US10783144B2 (en) | 2016-04-01 | 2020-09-22 | Arista Networks, Inc. | Use of null rows to indicate the end of a one-shot query in network switch |
US20170286490A1 (en) * | 2016-04-01 | 2017-10-05 | Arista Networks, Inc. | Implicit subscriptions in the connection protocol of a network switch |
US10860568B2 (en) | 2016-04-01 | 2020-12-08 | Arista Networks, Inc. | External data source linking to queries in memory |
US10817512B2 (en) | 2016-04-01 | 2020-10-27 | Arista Networks, Inc. | Standing queries in memory |
US10783147B2 (en) | 2016-04-01 | 2020-09-22 | Arista Networks, Inc. | Query result flow control in a network switch |
US10409579B1 (en) | 2016-04-19 | 2019-09-10 | Wells Fargo Bank, N.A. | Application healthcheck communicator |
US11863510B2 (en) * | 2017-03-29 | 2024-01-02 | Samsung Electronics Co., Ltd. | Systems and methods for notification delivery |
US10999388B2 (en) * | 2017-08-15 | 2021-05-04 | Microsoft Technology Licensing, Llc | Managing subscriptions for event notifications |
US20190370720A1 (en) * | 2018-06-04 | 2019-12-05 | Zuora, Inc. | Systems and methods for providing tiered subscription data storage in a multi-tenant system |
CN110716911B (zh) * | 2018-06-26 | 2023-09-26 | 北京京东振世信息技术有限公司 | 数据处理方法及装置、电子设备、存储介质 |
US10776825B2 (en) * | 2018-07-17 | 2020-09-15 | Salesforce.Com, Inc. | Hybrid eventing system |
CA3050195A1 (en) * | 2018-07-19 | 2020-01-19 | Bank Of Montreal | Systems and methods for alert services |
CN109120417B (zh) * | 2018-10-29 | 2021-11-02 | 新华三技术有限公司 | 计费报文的抄送方法、装置、计费服务器及接入设备 |
CN109634934A (zh) * | 2018-11-02 | 2019-04-16 | 深圳壹账通智能科技有限公司 | 交换金融数据的方法、装置、计算机设备和存储介质 |
US12033206B2 (en) | 2020-06-30 | 2024-07-09 | Dsrptv, Llc | Product order management |
Family Cites Families (129)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4774658A (en) | 1987-02-12 | 1988-09-27 | Thomas Lewin | Standardized alarm notification transmission alternative system |
US5287514A (en) | 1990-01-08 | 1994-02-15 | Microsoft Corporation | Method and system for customizing a user interface in a computer system |
US5301326A (en) | 1991-09-24 | 1994-04-05 | Microsoft Corporation | Method and system for controlling the execution of an application program |
US5481700A (en) | 1991-09-27 | 1996-01-02 | The Mitre Corporation | Apparatus for design of a multilevel secure database management system based on a multilevel logic programming system |
US5555346A (en) | 1991-10-04 | 1996-09-10 | Beyond Corporated | Event-driven rule-based messaging system |
US5310326A (en) * | 1992-09-14 | 1994-05-10 | Mainstream Engineering Corporation | Rotary compressor with improved bore configuration and lubrication system |
US5315703A (en) | 1992-12-23 | 1994-05-24 | Taligent, Inc. | Object-oriented notification framework system |
US6748318B1 (en) | 1993-05-18 | 2004-06-08 | Arrivalstar, Inc. | Advanced notification systems and methods utilizing a computer network |
US5416725A (en) | 1993-08-18 | 1995-05-16 | P.C. Sentry, Inc. | Computer-based notification system having redundant sensor alarm determination and associated computer-implemented method for issuing notification of events |
CA2145923C (en) | 1995-03-30 | 2001-05-08 | Gary W. Miller | Computer operating system providing means for formatting information in accordance with specified cultural preferences |
US5852812A (en) * | 1995-08-23 | 1998-12-22 | Microsoft Corporation | Billing system for a network |
US5870746A (en) | 1995-10-12 | 1999-02-09 | Ncr Corporation | System and method for segmenting a database based upon data attributes |
US5721825A (en) | 1996-03-15 | 1998-02-24 | Netvision, Inc. | System and method for global event notification and delivery in a distributed computing environment |
US6490718B1 (en) | 1996-05-08 | 2002-12-03 | Electronic Data Systems Corporation | System and method for processing electronic data interchange using a graphical representation |
US6151643A (en) | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US5813007A (en) * | 1996-06-20 | 1998-09-22 | Sun Microsystems, Inc. | Automatic updates of bookmarks in a client computer |
US6021403A (en) * | 1996-07-19 | 2000-02-01 | Microsoft Corporation | Intelligent user assistance facility |
US5973612A (en) | 1996-09-19 | 1999-10-26 | Microsoft Corporation | Flexible object notification |
US5870745A (en) * | 1996-09-26 | 1999-02-09 | Mciworldcom, Inc. | Automated system and method for processing and tracking requests and responses required for repetitive tasks |
US6446092B1 (en) | 1996-11-01 | 2002-09-03 | Peerdirect Company | Independent distributed database system |
US6126328A (en) | 1997-02-28 | 2000-10-03 | Oracle Corporation | Controlled execution of partitioned code |
US6055570A (en) * | 1997-04-03 | 2000-04-25 | Sun Microsystems, Inc. | Subscribed update monitors |
US6260148B1 (en) | 1997-04-04 | 2001-07-10 | Microsoft Corporation | Methods and systems for message forwarding and property notifications using electronic subscriptions |
US5893091A (en) * | 1997-04-11 | 1999-04-06 | Immediata Corporation | Multicasting with key words |
US5892941A (en) | 1997-04-29 | 1999-04-06 | Microsoft Corporation | Multiple user software debugging system |
US6209011B1 (en) | 1997-05-08 | 2001-03-27 | Microsoft Corporation | Handheld computing device with external notification system |
US6112192A (en) | 1997-05-09 | 2000-08-29 | International Business Machines Corp. | Method for providing individually customized content in a network |
US6026235A (en) | 1997-05-20 | 2000-02-15 | Inprise Corporation | System and methods for monitoring functions in natively compiled software programs |
US6173284B1 (en) | 1997-05-20 | 2001-01-09 | University Of Charlotte City Of Charlotte | Systems, methods and computer program products for automatically monitoring police records for a crime profile |
US6122633A (en) | 1997-05-27 | 2000-09-19 | International Business Machines Corporation | Subscription within workflow management systems |
US6038601A (en) | 1997-07-21 | 2000-03-14 | Tibco, Inc. | Method and apparatus for storing and delivering documents on the internet |
US5974406A (en) | 1997-08-18 | 1999-10-26 | International Business Machines Corporation | Automated matching, scheduling, and notification system |
US6016394A (en) | 1997-09-17 | 2000-01-18 | Tenfold Corporation | Method and system for database application software creation requiring minimal programming |
US6484149B1 (en) | 1997-10-10 | 2002-11-19 | Microsoft Corporation | Systems and methods for viewing product information, and methods for generating web pages |
US6013694A (en) * | 1997-10-16 | 2000-01-11 | Jeneric/Pentron Incorporated | Dental composites comprising ground, densified, embrittled glass fiber filler |
US5999978A (en) | 1997-10-31 | 1999-12-07 | Sun Microsystems, Inc. | Distributed system and method for controlling access to network resources and event notifications |
WO1999023579A1 (en) | 1997-11-05 | 1999-05-14 | Microsoft Corporation | Notification scheduling system on a mobile device |
US6055505A (en) | 1997-12-30 | 2000-04-25 | U S West, Inc. | Automatic customer notification system and method |
US6704803B2 (en) | 1998-01-26 | 2004-03-09 | International Business Machines Corporation | Method and system for distributing data events over an information bus |
US6510429B1 (en) * | 1998-04-29 | 2003-01-21 | International Business Machines Corporation | Message broker apparatus, method and computer program product |
US6138158A (en) * | 1998-04-30 | 2000-10-24 | Phone.Com, Inc. | Method and system for pushing and pulling data using wideband and narrowband transport systems |
US6108712A (en) | 1998-05-05 | 2000-08-22 | International Business Machines Corp. | Client-server system with central application management and providing export agent capability for retrofitting existing hardware and applications into the system |
CZ148199A3 (cs) | 1998-05-08 | 1999-11-17 | International Business Machines Corporation | Použití technologie dotazů v databázích pro přihlašování k účasti na zprávách v systémech pro zpracování zpráv |
US6167448A (en) | 1998-06-11 | 2000-12-26 | Compaq Computer Corporation | Management event notification system using event notification messages written using a markup language |
US6330566B1 (en) | 1998-06-22 | 2001-12-11 | Microsoft Corporation | Apparatus and method for optimizing client-state data storage |
US6424966B1 (en) | 1998-06-30 | 2002-07-23 | Microsoft Corporation | Synchronizing crawler with notification source |
US6353926B1 (en) | 1998-07-15 | 2002-03-05 | Microsoft Corporation | Software update notification |
US20030025599A1 (en) | 2001-05-11 | 2003-02-06 | Monroe David A. | Method and apparatus for collecting, sending, archiving and retrieving motion video and still images and notification of detected events |
US6256664B1 (en) | 1998-09-01 | 2001-07-03 | Bigfix, Inc. | Method and apparatus for computed relevance messaging |
WO2000016209A1 (en) | 1998-09-15 | 2000-03-23 | Local2Me.Com, Inc. | Dynamic matchingtm of users for group communication |
US6804663B1 (en) | 1998-09-21 | 2004-10-12 | Microsoft Corporation | Methods for optimizing the installation of a software product onto a target computer system |
US6314533B1 (en) | 1998-09-21 | 2001-11-06 | Microsoft Corporation | System and method for forward custom marshaling event filters |
US6275957B1 (en) | 1998-09-21 | 2001-08-14 | Microsoft Corporation | Using query language for provider and subscriber registrations |
US6327705B1 (en) | 1998-10-08 | 2001-12-04 | Microsoft Corporation | Method for creating and maintaining user data |
US6343376B1 (en) | 1998-10-22 | 2002-01-29 | Computer Computer Corporation | System and method for program verification and optimization |
US6292825B1 (en) | 1998-11-12 | 2001-09-18 | International Business Machines Corporation | Service application with pull notification |
US6466949B2 (en) | 1998-11-23 | 2002-10-15 | Myway.Com Corporation | Performing event notification in a database having a distributed web cluster |
US6564251B2 (en) | 1998-12-03 | 2003-05-13 | Microsoft Corporation | Scalable computing system for presenting customized aggregation of information |
US6438618B1 (en) | 1998-12-16 | 2002-08-20 | Intel Corporation | Method and device for filtering events in an event notification service |
US6920616B1 (en) | 1998-12-18 | 2005-07-19 | Tangis Corporation | Interface for exchanging context data |
US6829770B1 (en) | 1999-02-23 | 2004-12-07 | Microsoft Corporation | Object connectivity through loosely coupled publish and subscribe events |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
DE10031716B4 (de) | 1999-07-06 | 2006-10-26 | International Business Machines Corp. | Abonnement und Benachrichtigung bei Datenbanktechnik |
US6400810B1 (en) | 1999-07-20 | 2002-06-04 | Ameritech Corporation | Method and system for selective notification of E-mail messages |
US6405191B1 (en) | 1999-07-21 | 2002-06-11 | Oracle Corporation | Content based publish-and-subscribe system integrated in a relational database system |
GB2354847A (en) | 1999-09-28 | 2001-04-04 | Ibm | Publish/subscribe data processing with subscription points for customised message processing |
US6829639B1 (en) | 1999-11-15 | 2004-12-07 | Netvision, Inc. | Method and system for intelligent global event notification and control within a distributed computing environment |
US6829478B1 (en) | 1999-11-19 | 2004-12-07 | Pamela G. Layton | Information management network for automated delivery of alarm notifications and other information |
US20020069244A1 (en) * | 1999-11-24 | 2002-06-06 | John Blair | Message delivery system billing method and apparatus |
US6751657B1 (en) * | 1999-12-21 | 2004-06-15 | Worldcom, Inc. | System and method for notification subscription filtering based on user role |
EP1117050A1 (en) | 2000-01-14 | 2001-07-18 | Sun Microsystems, Inc. | Individual data representation |
US6662195B1 (en) | 2000-01-21 | 2003-12-09 | Microstrategy, Inc. | System and method for information warehousing supporting the automatic, real-time delivery of personalized informational and transactional data to users via content delivery device |
US6910070B1 (en) | 2000-01-24 | 2005-06-21 | Oracle International Corporation | Methods and systems for asynchronous notification of database events |
US20020032602A1 (en) | 2000-01-28 | 2002-03-14 | Lanzillo Kenneth F. | Recipient selection and message delivery system and method |
US6766329B1 (en) | 2000-01-31 | 2004-07-20 | Microsoft Corporation | Dynamic personalized information organizer |
US7243130B2 (en) | 2000-03-16 | 2007-07-10 | Microsoft Corporation | Notification platform architecture |
US20020087649A1 (en) | 2000-03-16 | 2002-07-04 | Horvitz Eric J. | Bounded-deferral policies for reducing the disruptiveness of notifications |
US6513026B1 (en) | 2000-06-17 | 2003-01-28 | Microsoft Corporation | Decision theoretic principles and policies for notification |
US6601012B1 (en) | 2000-03-16 | 2003-07-29 | Microsoft Corporation | Contextual models and methods for inferring attention and location |
US20020032597A1 (en) | 2000-04-04 | 2002-03-14 | Chanos George J. | System and method for providing request based consumer information |
JP2001306308A (ja) | 2000-04-11 | 2001-11-02 | Sap Ag | データ中心アプリケーションのクラス定義方法 |
US20020082919A1 (en) | 2000-05-01 | 2002-06-27 | Michael Landau | System method and article of manufacture for affiliate tracking for the dissemination of promotional and marketing material via e-mail |
AU2001274899A1 (en) | 2000-05-19 | 2001-12-03 | Synapse Wireless, Inc. | Method and apparatus for generating dynamic graphical representations and real-time notification of the status of a remotely monitored system |
US7266595B1 (en) | 2000-05-20 | 2007-09-04 | Ciena Corporation | Accessing network device data through user profiles |
US7174557B2 (en) | 2000-06-07 | 2007-02-06 | Microsoft Corporation | Method and apparatus for event distribution and event handling in an enterprise |
US20030023435A1 (en) | 2000-07-13 | 2003-01-30 | Josephson Daryl Craig | Interfacing apparatus and methods |
US6839730B1 (en) | 2000-07-14 | 2005-01-04 | Novell, Inc. | Method and system for efficiently matching events with subscribers in a content-based publish-subscribe system |
US7302280B2 (en) | 2000-07-17 | 2007-11-27 | Microsoft Corporation | Mobile phone operation based upon context sensing |
US20020032771A1 (en) | 2000-07-20 | 2002-03-14 | Trond Gledje | Event-based advertisements |
US20020165894A1 (en) | 2000-07-28 | 2002-11-07 | Mehdi Kashani | Information processing apparatus and method |
US6944662B2 (en) | 2000-08-04 | 2005-09-13 | Vinestone Corporation | System and methods providing automatic distributed data retrieval, analysis and reporting services |
KR100353649B1 (ko) | 2000-08-18 | 2002-09-28 | 삼성전자 주식회사 | 무선망을 이용한 네비게이션 시스템 및 그에 의한 경로안내 방법 |
US20020035482A1 (en) | 2000-08-28 | 2002-03-21 | Coble Keith A. | Business to business information environment with subscriber-publisher model |
WO2002019228A1 (en) | 2000-09-01 | 2002-03-07 | Togethersoft Corporation | Methods and systems for improving a workflow based on data mined from plans created from the workflow |
JP2002090163A (ja) | 2000-09-20 | 2002-03-27 | Pioneer Electronic Corp | ナビゲーション装置及びナビゲーション制御用プログラムがコンピュータで読取可能に記録された情報記録媒体 |
US7647231B2 (en) | 2000-10-13 | 2010-01-12 | United States Postal Service | Flexible mail delivery system and method |
JP3827936B2 (ja) | 2000-10-18 | 2006-09-27 | シャープ株式会社 | 情報提供制御装置、情報提供方法、情報提供プログラムを記録した記録媒体および情報提供システム |
US20020087740A1 (en) | 2000-11-06 | 2002-07-04 | Rick Castanho | System and method for service specific notification |
US20030105732A1 (en) | 2000-11-17 | 2003-06-05 | Kagalwala Raxit A. | Database schema for structure query language (SQL) server |
US6532471B1 (en) | 2000-12-11 | 2003-03-11 | International Business Machines Corporation | Interface repository browser and editor |
EP1215608A1 (en) | 2000-12-15 | 2002-06-19 | Pioneer Corporation | Advertisement information providing system |
US7698161B2 (en) | 2001-01-04 | 2010-04-13 | True Choice Solutions, Inc. | System to quantify consumer preferences |
US6745193B1 (en) | 2001-01-25 | 2004-06-01 | Microsoft Corporation | System and method for defining, refining, and personalizing communications policies in a notification platform |
EP1233387A2 (en) | 2001-02-19 | 2002-08-21 | Hitachi Kokusai Electric Inc. | Vehicle emergency reporting system and method |
US20020120711A1 (en) | 2001-02-23 | 2002-08-29 | International Business Machines Corporation | Method and system for intelligent routing of business events on a subscription-based service provider network |
US6987755B2 (en) | 2001-03-22 | 2006-01-17 | Siemens Communications, Inc. | System and method for user notification in a communication system |
US20020135614A1 (en) | 2001-03-22 | 2002-09-26 | Intel Corporation | Updating user interfaces based upon user inputs |
US6617969B2 (en) * | 2001-04-19 | 2003-09-09 | Vigilance, Inc. | Event notification system |
US6976086B2 (en) | 2001-06-18 | 2005-12-13 | Siemens Business Services, Llc | Systems and methods to facilitate a distribution of information via a dynamically loadable component |
WO2003001413A1 (en) | 2001-06-22 | 2003-01-03 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
US6981250B1 (en) | 2001-07-05 | 2005-12-27 | Microsoft Corporation | System and methods for providing versioning of software components in a computer programming language |
US7668535B2 (en) | 2001-07-09 | 2010-02-23 | Palm, Inc. | Notification infrastructure for sending device-specific wireless notifications |
US6910033B2 (en) | 2001-08-15 | 2005-06-21 | Precache Inc. | Method for storing Boolean functions to enable evaluation, modification, reuse, and delivery over a network |
JP2003069547A (ja) | 2001-08-29 | 2003-03-07 | Fujitsu Ltd | マルチキャスト通信システム |
US7275235B2 (en) | 2001-08-29 | 2007-09-25 | Molinari Alfred A | Graphical application development system for test, measurement and process control applications |
US7233781B2 (en) | 2001-10-10 | 2007-06-19 | Ochoa Optics Llc | System and method for emergency notification content delivery |
US7272832B2 (en) | 2001-10-25 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform |
US20030083952A1 (en) | 2001-10-29 | 2003-05-01 | Simpson Shell S. | Web-based imaging service providing the ability to specify a charge-back account |
US20030172368A1 (en) | 2001-12-26 | 2003-09-11 | Elizabeth Alumbaugh | System and method for autonomously generating heterogeneous data source interoperability bridges based on semantic modeling derived from self adapting ontology |
US7143417B2 (en) | 2002-01-10 | 2006-11-28 | International Business Machines Corporation | Notification services within a unified communications service |
JP2003240574A (ja) | 2002-02-14 | 2003-08-27 | Mitsubishi Electric Corp | ナビゲーション装置及びナビゲーション方法 |
US7010710B2 (en) | 2002-03-12 | 2006-03-07 | International Business Machines Corporation | Proximity sensor enhanced power management |
JP4295953B2 (ja) | 2002-04-26 | 2009-07-15 | パイオニア株式会社 | 距離係数学習装置、この方法、このプログラム、このプログラムを記録する記録媒体、移動状況算出装置、および、現在位置算出装置 |
US20040002988A1 (en) | 2002-06-26 | 2004-01-01 | Praveen Seshadri | System and method for modeling subscriptions and subscribers as data |
US7177859B2 (en) * | 2002-06-26 | 2007-02-13 | Microsoft Corporation | Programming model for subscription services |
US7788588B2 (en) | 2003-02-07 | 2010-08-31 | Microsoft Corporation | Realizing users' preferences |
US7137099B2 (en) | 2003-10-24 | 2006-11-14 | Microsoft Corporation | System and method for extending application preferences classes |
US20050091184A1 (en) | 2003-10-24 | 2005-04-28 | Praveen Seshadri | Personalized folders |
US7669177B2 (en) | 2003-10-24 | 2010-02-23 | Microsoft Corporation | System and method for preference application installation and execution |
-
2003
- 2003-02-26 US US10/376,197 patent/US7698276B2/en not_active Expired - Fee Related
-
2004
- 2004-01-14 EP EP04000652A patent/EP1486897A1/en not_active Ceased
- 2004-01-21 CN CNB2004100052799A patent/CN100417072C/zh not_active Expired - Fee Related
- 2004-01-26 KR KR1020040004801A patent/KR20040076583A/ko not_active Application Discontinuation
- 2004-01-26 JP JP2004017692A patent/JP2004259261A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7469197B2 (en) | 2004-08-09 | 2008-12-23 | Vodafone K.K. | Measurement data collection method and portable information device |
KR100903108B1 (ko) * | 2005-12-08 | 2009-06-16 | 한국전자통신연구원 | 자율적 시스템 구성을 지원하는 상황인지 기반 시스템 및운용 방법 |
KR100906110B1 (ko) * | 2007-05-16 | 2009-07-07 | 엔에이치엔(주) | 3a 기반의 푸시형 이벤트를 제공하는 유비쿼터스노티피케이션 방법 및 시스템 |
KR20170059451A (ko) * | 2014-09-25 | 2017-05-30 | 오라클 인터내셔날 코포레이션 | 멀티테넌트 어플리케이션 서버 환경에서 파티션 식별자들의 결정을 위한 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP2004259261A (ja) | 2004-09-16 |
EP1486897A1 (en) | 2004-12-15 |
US7698276B2 (en) | 2010-04-13 |
CN100417072C (zh) | 2008-09-03 |
US20040068481A1 (en) | 2004-04-08 |
CN1525687A (zh) | 2004-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7698276B2 (en) | Framework for providing a subscription based notification system | |
US7177859B2 (en) | Programming model for subscription services | |
US7669177B2 (en) | System and method for preference application installation and execution | |
US7137099B2 (en) | System and method for extending application preferences classes | |
US20040002988A1 (en) | System and method for modeling subscriptions and subscribers as data | |
US9524355B2 (en) | Methods for delivering task-related digital content based on task-oriented user activity | |
CN101828167B (zh) | 推荐产生系统、设备和方法 | |
US7509304B1 (en) | Message distribution system and method for providing notification(s) | |
US7945470B1 (en) | Facilitating performance of submitted tasks by mobile task performers | |
US20070282795A1 (en) | Exchange Of Newly-Added Information Over the Internet | |
EP1581854A2 (en) | Personalized folders | |
EP2850582A1 (en) | Advertiser supported bandwidth platform | |
JP2017513080A (ja) | 動的トランザクションデータストリーミングシステム及び方法 | |
US20100070607A1 (en) | Scalable Method for Contextual Information Updates and Notification | |
WO2018046001A1 (zh) | 信息过滤方法、交易控制方法及服务器 | |
Weishäupl et al. | Towards the merger of grid and economy | |
Cortina Eduarte et al. | Optimizing Visit Booking at CERN: A Drools-Based Approach | |
Tang et al. | A hybrid approach for selection in service community | |
JP2003203041A (ja) | 配信システム、サーバ、プログラム、記録媒体 | |
WO2023114946A1 (en) | System and method for dynamic segmentation of network nodes to manage workflow data synchronization | |
Breuer et al. | Control & value trade-offs in handling user-data: The example of location-based-services | |
Apshankar et al. | Web Service Intermediaries | |
JADHAV et al. | Implementation of Runtime Web Service Discovery | |
Alves | Event Processing Reference Architecture-Design Patterns | |
KR20080043013A (ko) | 인터넷 상에서 사용자가 지정한 과금 정보와 사용자간네트워크를 이용하여 가입자간 정보 거래를 가능하게 하는서비스 구성과 그에 근거한 정보 거래 촉진에 관한 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |