KR100465582B1 - 네트워크를 통한 이벤트-트리거 통지 - Google Patents

네트워크를 통한 이벤트-트리거 통지 Download PDF

Info

Publication number
KR100465582B1
KR100465582B1 KR10-2001-0040908A KR20010040908A KR100465582B1 KR 100465582 B1 KR100465582 B1 KR 100465582B1 KR 20010040908 A KR20010040908 A KR 20010040908A KR 100465582 B1 KR100465582 B1 KR 100465582B1
Authority
KR
South Korea
Prior art keywords
notification
server
client
event
processes
Prior art date
Application number
KR10-2001-0040908A
Other languages
English (en)
Other versions
KR20020005981A (ko
Inventor
모다니나트와르
굽타마니시
미탈파룰에이
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20020005981A publication Critical patent/KR20020005981A/ko
Application granted granted Critical
Publication of KR100465582B1 publication Critical patent/KR100465582B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

실시간 정보 전송에 의존하는 인터넷 서버가 최근 몇년 동안 확산되어 왔다. 인터넷 상에서 발생되는 거대한 양의 정보가 주어질 때, 사용자는 온라인 경매에서 현재 최고 입찰가와 같은 특정 정보가 입수 가능하게 될 때마다 통지되도록 요청할 수도 있다. 사용자는 사용자 컴퓨터 시스템 상에서 실행되는 클라이언트 프로세스를 통해 하나 또는 그 이상의 메시지를 수신하기 위한 등록을 하고 희망 메시지 목록을 전송한다. 사용자가 메시지를 수신할 준비가 되면, 클라이언트 프로세스는 통지 서버에 접속하여 수신 어드레스 식별자를 제공한 후, 통지 서버로부터 접속 해제하고 메시지를 기다린다. 메시지 모니터는 통지를 유발하는 이벤트의 발생을 검출하여, 그 이벤트를 통지 서버에 알린다. 통지 서버는 통지에 대한 적절한 수신처를 결정하고, 그 통지를 SI-MTM를 사용하여 전송한다. 통지는 또한 하나 또는 그 이상의 애플리케이션을 제어하거나, 또는 네트워크를 통해 원격 어플라이언스를 제어하는 제어 신호로서 사용될 수 있다. 통지 서버는 클라이언트 프로세스에게 통지를 분배하는 부하 분담 장치 또는 프록시 서버를 사용할 수도 있다.

Description

네트워크를 통한 이벤트-트리거 통지{EVENT-TRIGGERED NOTIFICATION OVER A NETWORK}
본 발명은 상품, 서비스 또는 정보 서비스 제공에 사용되는 컴퓨팅 시스템에 관한 것으로, 특히 최종 사용자에게 네트워크를 통해 이벤트 발생을 통지하기 위한 방법 및 시스템에 관한 것이다.
인터넷은 현대 경제에 상당한 영향을 미치고 있다. 거의 동시에 전 세계로 정보를 전달할 수 있는 능력은 많은 기존의 비지니스를 처리하는 방법을 변화시키고 있다. 또한, 글로벌 통신 네트워크를 활용한 많은 새로운 서비스들이 등장하고 있다.
실시간 정보 전송에 의존하는 인터넷 서비스는 최근 몇년동안 급속히 증가되었다. 예컨대, 바닷가에서의 수영 조건에 관한 정보에 이르기까지 미세한 정보를 제공하는 웹사이트와, 실시간으로 스포츠 스코어를 표시하는 웹사이트 등이 있다. 기상 상태 및 도로 교통 상황 또한 주식 시장의 주가처럼 규칙적으로 온라인을 통해 갱신될 수 있다.
급속한 성장을 보이고 있는 한 분야로서 온라인 경매가 있다. 월드 와이드 웹 상의 많은 사이트에서 경매를 위한 상품이 제공된다. 인터넷 사용자가 품목을 지금 경매에 부치기를 원하는 경우, 온라인을 통해 입찰가를 올려놓을 수도 있다. 해당 품목의 경매가 몇일 동안 연장된다면, 연장된 기간 동안 현재 최고 입찰가를 추적할 필요가 있다. 입찰자는 최고 입찰가가 변할 때마다 통지받기를 희망할 수도 있다.
인터넷 상에서 발생된 거대한 양의 정보가 주어질 때, 사용자는 특정 정보가 입수 가능하게 될 때마다 통지되도록 요청할 수도 있다. 현재, 몇몇 통지 매커니즘이 사용자에게 특정 이벤트를 알리는 데 사용되고 있다.
가장 간단한 통지 매커니즘으로는 클라이언트가 명시적으로 새로운 정보를 서버로부터 풀(pull)하는 풀 기술에 기초한 통지 매커니즘이 있다. 이러한 기술을 사용하여 온라인 경매를 하는 웹사이트의 예로는www.yahoo.comwww.eBay.com이 있다. 그러한 시스템들에서는 최신 정보, 예컨대 오픈-아웃크라이 경매에서의 현재 최고 입찰가를 보기 위해서는 사용자가 새로고침(reload) 버튼을 클릭하여야 한다. 이러한 방법에는 몇가지 문제점이 있다. 최신 정보를 획득하기 위해서는 명시적인 사용자 개입이 요구되며, 이것은 사용자로 하여금 상당한 시간을 소비하게 할 수 있다. 또한, 사용자는 정보 내용이 변경되는 때를 정확히 추측할 수 없기 때문에, 이러한 방법은 사용자가 정보를 요청하였으나, 정보가 변경되지 않은 경우에는 대역폭의 낭비를 초래하게 된다. 다른 한편으로, 사용자가 너무 오래 기다린 후 정보를 요청하는 경우에는 너무 늦게, 예컨대 경매가 종료된 후에 정보를 수신할 수도 있다.
다른 통지 매커니즘으로는 클라이언트가 주기적으로 서버를 폴링하여 새로운 정보를 획득하는 클라이언트 폴링이 있다. 그 후 그 정보는 클라이언트에 의해 풀되지만, 이것은 어떠한 사용자의 개입도 없이 사용자 시스템 상에서 자동적으로 실행되는 애플리케이션에 의해 행해질 수도 있다. 이러한 매커니즘을 사용하는 웹사이트의 예로는www.crickinfo.com이 있으며, 이 웹사이트는 90초마다 크리켓 경기에 대한 최신 스코어를 표시하는 웹페이지를 자동적으로 리프레시하는 HTTP 리프레시 매커니즘을 사용한다. 그러한 폴링 방식은 주기적으로 정보를 자동적으로 풀함으로써 사용자 개입에 따른 문제를 해결할 수 있다. 그러나, 이러한 방식에는 몇가지 문제점이 있다. 가장 중요한 문제점은 대역폭 낭비이다. 폴링 간격이 짧게 유지되는 경우, 웹페이지의 정보 내용이 1회의 폴링 간격 내에서 변경될 가능성이 적으므로, 이러한 헛된 클라이언트의 폴링 요청을 전송할 때 대역폭 자원이 낭비된다. 다른 한편, 폴링 간격이 길다면, 사용자는 적시에 정보를 전달받지 못할 수도 있다. 너무 많은 클라이언트가 빈번히 서버를 폴링하는 경우에는, 그 서버에 상당한 부하가 있을 수 있다. 결과적으로, 이러한 폴링 방식은 대규모(highly scalable)가 아니어야 한다.
세번째 통지 방법은 클라이언트에 의해 개시된 영속 접속 상에서 서버에 의한 푸시를 기초로 한다. 일단 클라이언트 애플리케이션이 서버에 접속하면, 그 접속 상태는 계속 유지된다. 서버는 전송할 일부 정보를 가지고 있을 때, 그 정보를 상기 개방 접속 상에 푸시(push)한다. 그러한 시스템으로는 채트 애플리케이션과 Y™메신저 서비스가 대부분이다. 이러한 매커니즘은 메시지의 이벤트 발생 전달을 지원함으로써 적절한 통지를 보장할지라도, 서버 자원을 낭비하게 한다. 서버는 실시간 통지를 수신하기 원하는 다수의 클라이언트와 개방 접속할 필요가 있다. 이는 동시에 온라인 상태일 수 있는 클라이언트수를 제한함으로써 시스템을 소규모로 한다. 개방 접속을 유지하기 위해서는, 아이 엠 얼라이브 메지시의 일부 형태가 서버와 클라이언트간에 주기적으로 교환되어야 하는데, 이는 상당한 대역폭 낭비를 초래한다.
통지 매커니즘으로서 이메일을 사용하는 시스템들이 있다. 사용자가 다양하게 미리 규정된 이벤트에 대한 이메일 경보를 수신할 수 있는 웹사이트의 예로서www.yahoo.com,www.eBay.comwww.amazon.com이 있다. 이러한 이메일 통지는 대역폭 낭비에 대한 문제점은 없으나, 전혀 실시간으로 간주될 수 없고, 전송 및 수신간의 지연에 대하여 보장된 상한이 없다. 목적지 메일 서버로부터 클라이언트 애플리케이션까지의 경로에서 최종 부분은 폴링 방식을 사용하거나, 또는 개방 접속을 유지한다. 또한, 오픈-아웃크라이 경매에서 최고 입찰가 갱신은 이메일로 전송되어서는 안되는데, 이는 매우 많은 수의 이메일이 사용자에게 전송되어, 시간 낭비와 커다란 좌절감을 유발할 수 있기 때문이다. 이처럼 자주 변경되는 데이터 종류는 이메일 세계에 적합하지 않다.
따라서, 서버 자원을 방해하지 않고 과도한 대역폭 사용을 요구하지 않으면서, 실시간으로 메시지를 통지하는 통지 매커니즘이 필요하다. 본 발명은 적어도 일부분 이러한 필요성을 충족시키려 한다.
또 다른 배경으로서, 전술된 바와 같은 통신 시스템은 보통 3층 토폴로지, 즉 1) 사용자 대화에 초점을 둔 다수의 워크스테이션을 특징으로 하는 프리젠테이션층과, 2) 애플리케이션/비지니스 로직을 실행하는 다수의 서버를 특징으로 하는 비지니스층과, 3) 데이터를 저장 및 편성하는 다수의 데이터베이스를 특징으로 하는 데이터층을 적용한 커다란 컴퓨팅 시스템 상에 구현되는 것이 일반적이다. 이들 3개의 층은 LAN/WAN 또는 인터넷을 통해 상호 접속될 수도 있다.
본 발명의 총괄적인 요지는 클라이언트가 관심을 둔 이벤트 세트와 그 각각의 ID를 서버에 등록하여, 상기 이벤트들 중 하나가 발생했을 때, 서버로 하여금 네트워크를 통해 실시간 접속하여 그 이벤트를 단지 관심을 둔 클라이언트에게만 전송하게 하는 것이다.
본원 제1 발명에 의하면, 통신 네트워크를 통해 하나 또는 그 이상의 클라이언트 프로세스에게 이벤트 발생을 통지하는 방법에 있어서,
상기 하나 또는 그 이상의 클라이언트 프로세스가 관심을 둔 상기 이벤트 세트를 등록하는데, 상기 클라이언트 프로세스들이 현재 활성일 때는 그들 각각의 어드레스 식별자를 서버에 등록하는 단계와,
상기 서버가 이벤트 발생을 검출하는 단계와,
상기 서버가 상기 클라이언트 프로세스들 중 어떤 클라이언트 프로세스들이 상기 이벤트 통지에 관심을 두고 있고 현재 활성인지를 식별하는 단계와,
상기 서버가 상기 네트워크를 통해 실시간 접속하여 상기 통지를 각 식별된 클라이언트 프로세스에게 전송하는 단계를 포함하는 통신 네트워크를 통한 이벤트발생 통지 방법이 제공된다.
본원 제2 발명에 의하면, 통신 네트워크를 통해 하나 또는 그 이상의 클라이언트 프로세스에게 하나 또는 그 이상의 서버에 의해 이벤트 발생을 통지하는 방법에 있어서,
상기 하나 또는 그 이상의 클라이언트 프로세스가 관심을 둔 상기 이벤트 세트를 등록하는데, 상기 클라이언트들이 현재 활성일 때는 그들 각각의 어드레스 식별자를 등록하는 단계와,
상기 클라이언트 프로세스들과 그들 각각이 관심을 둔 이벤트를 포함하는 제1 레코드를 형성하는 단계와,
상기 모든 클라이언트 프로세스 중 현재 활성인 클라이언트 프로세스들과 그들 각각의 어드레스 식별자를 포함하는 제2 레코드를 형성하는 단계로서, 상기 제1 및 제2 레코드는 상기 서버들이 이용할 수 있는 것인 단계와,
이벤트 발생을 검출하는 단계와,
상기 제1 레코드로부터 상기 클라이언트 프로세스들 중 어떤 클라이언트 프로세스들이 상기 이벤트 통지에 관심을 두고 있는지를 식별하는 단계와,
상기 네트워크를 통해 실시간 접속하여 상기 통지를 상기 제2 레코드에 저장된 상기 어드레스 식별자들을 사용하여 각 관심을 둔 클라이언트 프로세스에게 전송하는 단계를 포함하는 통신 네트워크를 통한 이벤트 발생 통지 방법이 제공된다.
본원 제3 발명에 의하면, 이벤트 발생 통지를 제공하는 통신 시스템에 있어서,
통신 네트워크와,
상기 네트워크에 연결된 하나 또는 그 이상의 클라이언트 프로세스와,
상기 네트워크에 연결된 하나 또는 그 이상의 서버 프로세스를 포함하며,
상기 하나 또는 그 이상의 클라이언트 프로세스는 관심을 둔 상기 이벤트 세트를 등록하는데, 현재 활성일 때는 그들 각각의 어드레스 식별자를 상기 서버 프로세스들 중 하나 또는 그 이상의 서버 프로세스에 등록하고,
상기 서버 프로세스들 중 하나 또는 그 이상의 서버 프로세스는 이벤트 발생을 검출하고, 상기 클라이언트 프로세스들 중 어떤 클라이언트 프로세스들이 상기 이벤트 통지에 관심을 두고 있고 현재 활성인지를 식별하여, 상기 네트워크를 통해 실시간 접속하여 상기 통지를 각 식별된 클라이언트 프로세스에게 전송하는 것인 이벤트 발생 통지를 제공하는 통신 시스템이 제공된다.
본원 제4 발명에 의하면, 이벤트 발생 통지를 제공하는 통신 시스템에 있어서,
통신 네트워크와,
상기 네트워크에 연결된 하나 또는 그 이상의 클라이언트 프로세스와,
상기 네트워크에 연결된 하나 또는 그 이상의 서버 프로세스를 포함하며,
상기 하나 또는 그 이상의 클라이언트 프로세스는 관심을 둔 상기 이벤트 세트를 등록하는데, 현재 활성일 때는 그들 각각의 어드레스 식별자를 상기 서버 프로세스들 중 하나 또는 그 이상의 서버 프로세스에 등록하고,
상기 서버 프로세스들은 상기 클라이언트 프로세스들과 그들 각각이 관심을둔 이벤트를 포함하는 제1 레코드와, 상기 모든 클라이언트 프로세스 중 현재 활성인 클라이언트 프로세스들과 그들 각각의 어드레스 식별자를 포함하는 제2 레코드 - 상기 제1 및 제2 레코드는 복수의 상기 서버 프로세스가 이용할 수 있는 것임 - 를 형성하고, 이벤트 발생을 검출하고, 상기 제1 레코드로부터 상기 클라이언트 프로세스들 중 어떤 클라이언트 프로세스들이 상기 이벤트 통지에 관심을 두고 있고 현재 활성인지를 식별하여, 상기 네트워크를 통해 실시간 접속하여 상기 통지를 상기 제2 레코드에 저장된 상기 어드레스 식별자들을 사용하여 각 식별된 클라이언트에게 전송하는 것인 이벤트 발생 통지를 제공하는 통신 시스템이 제공된다.
본원 제5 발명에 의하면, 통신 네트워크를 통해 하나 또는 그 이상의 클라이언트 프로세스에게 이벤트 발생을 통지하는 통지 서버에 있어서,
상기 클라이언트 프로세스들이 관심을 둔 이벤트와 상기 클라이언트 프로세스들이 현재 활성일 때 그들 개개의 어드레스 식별자에 관한 상기 클라이언트 프로세스들로부터의 등록 데이터를 저장하는 데이터 저장 장치와,
상기 데이터 저장 장치에 연결되고, 발생된 이벤트 통지를 수신하여, 상기 이벤트에 관심을 두고 있고 현재 활성인 클라이언트 프로세스들의 각각의 어드레스 식별자를 찾으려고 상기 데이터 저장 장치를 탐색하는 프로세서와,
상기 프로세서에 연결되고, 상기 이벤트의 통지를 출력하여 상기 관심을 둔 클라이언트 프로세스들에게 전송하는 네트워크 접속 수단을 포함하는 통지 서버가 제공된다.
본원 제6 발명에 의하면, 통신 네트워크를 통한 이벤트 발생 통지를 제공하고, 컴퓨터 프로그램이 구현된 컴퓨터 사용 가능 매체를 구비한 컴퓨터 프로그램 제품에 있어서,
하나 또는 그 이상의 클라이언트가 관심을 둔 상기 이벤트 세트를 등록하는데, 상기 하나 또는 그 이상의 클라이언트가 통지를 수신할 준비가 되어 있을 때는 그들 각각의 어드레스 식별자를 서버에 등록하기 위한 컴퓨터 프로그램 코드 수단과,
이벤트 발생을 검출하기 위한 컴퓨터 프로그램 코드 수단과,
상기 클라이언트들 중 어떤 클라이언트들이 상기 이벤트 통지에 관심을 두고 있고 현재 활성인지를 식별하기 위한 컴퓨터 프로그램 코드 수단과,
상기 네트워크를 통해 실시간 접속하여 상기 통지를 각 식별된 클라이언트에게 전송하기 위한 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램 제품이 제공된다.
도 1은 네트워크 컴퓨터 시스템의 대표적인 토폴로지를 도시한 도면.
도 2a는 웹 브라우저 내의 클라이언트 소프트웨어의 사용을 도시한 도면.
도 2b는 애플리케이션 내의 클라이언트 소프트웨어의 사용을 도시한 도면.
도 3은 통지 서버가 다수의 애플리케이션 서버 및 다수의 클라이언트를 서브하는 실시예에서의 데이터 흐름을 도시한 도면.
도 4는 통지 서버가 부하 분배용 브로커를 이용하는 실시예에서의 데이터 흐름을 도시한 도면.
도 5는 클라이언트가 방화벽에 의해 보호되는 실시예에서의 데이터 흐름을 도시한 도면.
도 6은 실시예가 구현될 수 있는 컴퓨터 시스템을 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
10 : 통신 네트워크
20-24 : 애플리케이션 서버
30 : 통지 서버
40, 42 : 데이터베이스
50-52 : 워크스테이션
70 : 어플라이언스
80 : 네트워크 컴퓨터 시스템
111-118 : 클라이언트
200, 202 : 브로커
220 : SOCKS 서버
네트워크 배치(arrangement)
도 1은 본 발명을 구체화한 네트워크 컴퓨터 시스템(80)의 대표적인 토폴로지를 도시한 도면이다. 복수의 장치들(20-70)은 통신 네트워크(10)를 통해 접속된다. 네트워크(10)는 인트라넷, 인터넷 또는 엑스트라넷일 수 있다. 네트워크 컴퓨터 시스템(80)은 3개의 층을 포함한다. 프리젠테이션(또는 클라이언트/사용자)층은 적절한 컴퓨팅 단말기, 예컨대 퍼스널 컴퓨터일 수 있는 다수(1...n)의 워크스테이션(50-52)으로 표현된다. 프리젠테이션층은 또한 네트워크(10)에 접속될 수 있는어플라이언스(70)를 포함할 수도 있다. 비지니스층은 전용의 미니 또는 메인프레임 컴퓨터일 수 있는 다수(1...k)의 서버(20, 24, 30)로 표현된다. 데이터층은 동적으로 관리되는 자기 또는 광 저장 매체를 포함할 수 있는 다수(1...m)의 데이터베이스(40, 42)로 표현된다. 명세서 내에서, 데이터뱅크라는 용어는 데이터베이스(40, 42)와 같은 2차 저장 장치의 데이터 구조체나, 애플리케이션 서버(20) 또는 통지 서버(30)와 같은 서버의 메인 메모리의 데이터 구조체를 나타낸다.
애플리케이션 서버(20-24)는 각각 복수의 프로세스를 실행하며, 각 애플리케이션 서버(20-24)의 적어도 하나의 프로세스는 복수의 최종 사용자에 실시간으로 전송될 필요가 있는 메시지를 발생시킨다. 각 애플리케이션 서버(20-24)는 또한 그 메시지 및 이 메시지에 관심을 둔 클라이언트 목록의 데이터뱅크를 유지 및 갱신한다. 애플리케이션 서버(20)의 경우에는 데이터뱅크는 메인 메모리에 저장되는 반면에, 애플리케이션 서버(24)의 경우에는 데이터뱅크는 데이터베이스(40)에 저장된다.
각 애플리케이션 서버(20-24) 상에서 실행되는 복수의 프로세스 중에는, 메시지(즉, 이벤트)의 발생을 검출하고 이 메시지를 포획하여 통지 서버(30)로 전송하는 메시지 모니터가 있다.
클라이언트 프로세스
도 2a는 최종 사용자 컴퓨터 시스템(50) 내에 존재하는 일부 소프트웨어 애플리케이션을 개략적으로 도시한 도면이다. 그 소프트웨어는 최종 사용자에게 인터넷 상에서 이용할 수 있는 웹페이지를 보여줄 수 있는 웹브라우저(100)를 포함한다. 가장 일반적으로 사용되는 브라우저(100)로는 마이크로소프트사의 인터넷 익스플로어™와 네츠스케이프사의 네비게이터™가 있다. 최종 사용자 컴퓨터 시스템(50)은 또한 최종 사용자를 대신하여 실행되는 클라이언트 프로세스(110)를 포함한다. 클라이언트 프로세스(110)는 최종 사용자가 어떤 메시지를 수신하기 원하는지를 하나 또는 그 이상의 애플리케이션 서버(20-24)에게 통지한다. 클라이언트 프로세스(110)는 최종 사용자의 기호에 따라 희망 메시지 목록을 동적으로 갱신할 수 있다. 클라이언트 프로세스(110)는 희망 메시지 목록을 전송한 후에 네트워크(10)로부터 접속 해제될 수도 있다. 클라이언트 프로세스(110)가 메시지를 수신할 준비가 되면, 스스로 통지 서버(30)에 등록한다. 통지 서버(30)가 요구하는 등록 정보에는 클라이언트 프로세스의 ID와 수신 어드레스 식별자가 포함된다. 수신 어드레스 식별자는 예컨대, IP(인터넷 프로토콜) 어드레스 및 포트 번호와, 사용되는 프로토콜을 포함할 수 있다. 클라이언트 프로세스(110)는 그의 수신 어드레스가 살아 있어야 하며, 그렇지 않은 경우에는 통지 서버(30)로부터 접속 해제될 수도 있다. 클라이언트 프로세스(110)는 네트워크(10)를 통해 최종 사용자 컴퓨터 시스템(50)에 전송되는 모빌 에이전트일 수 있다. 그것은 사용자가 모빌 클라이언트로 불리는 페이지를 방문할 때마다 최종 사용자의 웹브라우저(100) 내에서 자동적으로 실행될 수 있다. 그러한 클라이언트의 예로서 HTML 페이지 내에 표시되는 애플릿이 있다. 클라이언트가 애플릿일 때, 소켓을 개방하기 위한 서포트가 요구된다. 이는 현재 플러그인™을 사용하거나 자바 버젼 1.2를 사용함으로써 가능하다.
택일적으로, 클라이언트 프로세스(110)는 사용자가 처음으로 메시지 통지에대한 등록을 했을 때 네트워크(10)를 통해 최종 사용자 컴퓨터 시스템(50)에 다운로드된다. 다운로드된 클라이언트 소프트웨어는 애플리케이션의 형태로 존재한다. 다음, 이 애플리케이션는 기구에 의해 자동적으로 또는 사용자에 의해 수동적으로 최종 사용자 컴퓨터 시스템(50)으로부터 호출될 수 있다. 애플리케이션은 또한 웹브라우저(100)에 대한 플러그인으로서 구성될 수 있다. 이러한 경우에, 플러그인은 사용자가 적절한 웹페이지를 개방할 때 호출된다.
이벤트 통지
통지 서버(30)는 온라인 상태인 클라이언트(110-118)의 데이터뱅크를 유지 및 갱신한다. 통지 서버(30)는 메시지 모니터로부터 메시지를 수신하자마자, 클라이언트(110-118)가 수신하기 원하는 메시지의 데이터뱅크를 사용하여 메시지에 대한 의도된 수신처를 결정한다. 통지 서버(30)는 애플리케이션 서버(20-24)에 의해 유지되는 데이터뱅크를 직접 참조할 수도 있으며, 또는 애플리케이션 서버(20-24)에 의해 유지되는 데이터뱅크의 지역적 복사본을 유지할 수도 있다. 그 복사된 데이터베이스는 통지 서버(30)의 메인 메모리 내에 또는 분리된 데이터베이스(42)에 유지될 수도 있다. 통지 서버(30)는 일단 메시지를 수신하고 의도된 수신처를 식별하면, 현재 온라인 상태인 의도된 수신처로 전송될 통지를 발생시킬 것이다.
통지 서버(30)에 의해 유지되는 두가지 유형의 데이터뱅크가 있다. 제1 데이터뱅크는 클라이언트 목록과, 이 클라이언트가 관심을 둔 메시지를 포함한다. 표 1은 이러한 유형의 데이터뱅크에 대한 가설적인 예를 보여준다.
메시지 데이터뱅크
클라이언트 ID 관심을 둔 메시지
아이비엠 씽크패드에 대한 경매 시작
파워피씨에 대한 경매 종료
프레드 아이비엠 주식 주가의 5% 이상의 변경
조우 아이비엠 씽크패드 경매에서 최고 입찰가의 변경
제2 데이터뱅크는 현재 활성인 클라이언트 목록을 보여준다. 여기서 활성이란 클라이언트가 통지 메시지를 수신할 준비가 되어 있음을 나타낸다. 표 2는 이러한 유형의 데이터뱅크에 대한 가설적인 예를 보여준다.
클라이언트 데이터뱅크
클라이언트 ID 수신 어드레스 식별자(IP 어드레스:포트 번호)
9.184.208.12:6758
프레드 123.100.208.82:8080
애플리케이션 서버들(20-24) 중 하나의 서버가 여러 클라이언트(즉, 표 1)가 관심을 둔 메시지들/이벤트들 중 하나를 검출하자마자, 통지 프로세스가 수행된다. 관련 애플리케이션 서버는 관련 클라이언트 수신 어드레스에 결합되는 메시지를 통지 서버에 전달한다. 온라인 상태의 클라이언트(110-118)는 통지 서버가 전송한 메시지들을 수신하고, 이 메시지들을 해석하여, 최종 사용자에게 표시한다.
그러한 통지는 네트워크(10)에 접속될 수 있고 클라이언트 소프트웨어를 실행할 수 있는 어떠한 형태의 장치에 의해서도 수신될 수 있다. 이것은 무선 애플리케이션 프로토콜(WAP) 능력을 가진 이동 전화를 포함할 수 있다.
통지 서버(30)는 SI-MTM(server-initiated end-to-end message transfer mechanism)을 사용하여 통지를 온라인 상태의 클라이언트(110-118)에 전송한다. SI-MTM에서, 클라이언트는 통지 서버(30)로부터 접속 해제되어 있지만, 살아 있는(alive) 수신 어드레스를 갖는다. SI-MTM은 접속형이거나 또는 메시지의 전달이 보장되지 않을 수도 있는 비접속형 매커니즘일 수 있다. SI-MTM은 포인트 투 포인트 통신 또는 멀티캐스트 통신일 수 있다. 통지 서버(30)는 메시지의 전송을 개시하고 그 메시지를 클라이언트 프로세스(110-118)의 수신 어드레스로 전송한다.
통지 서버(30)는 클라이언트 수신 어드레스의 클라이언트 프로세스 (110-118)와의 접속을 개방한 후 통지를 전송하고 바로 접속을 종료한다. 이러한 유형의 SI-MTM의 한 예로는 통지 서버(30)에 의해 개시되는 엔드 투 엔드 TCP(전송 제어 프로토콜) 접속이 있다. TCP는 메시지 구조와, 신뢰성있는 데이터 전송을 위하여 소스와 목적지간에 어떤 확인 응답이 요구되는 지와, 에러 검출 및 정정 방법을 규정한다. 택일적으로, 통지 서버(30)는 통지를 전송한 후에 바로 접속을 종료하지 않고, 클라이언트 프로세스(110-118)와의 접속을 종료하기 전에 비활성 기간을 대기할 수도 있다. 이러한 방법은 접속의 활용을 최대로 함과 동시에, 또한 비활성화된 접속을 종료함으로써 부하를 줄일 수 있다.
TCP 사용의 대안으로는 중간 저장없이 데이터그램 서비스를 사용하는 것이다. 이러한 유형의 SI-MTM의 한 예로서, 데이터그램의 원천은 통지 서버(30)이고 목적지는 클라이언트 프로세스(110-118)의 수신 어드레스인 사용자 데이터그램 프로토콜(UDP)이 있다. UDP는 또한 멀티캐스트 메시지 전송일 수 있다. UDP는 기본적인 인터넷 프로토콜을 사용하여 메시지를 한 노드로부터 다른 노드로 전송한다. 그것은 주어진 호스트 컴퓨터 상에서 다수의 목적지를 쉽게 구별할 수 있도록 해준다.
일반적으로, 최종 사용자가 관심을 둔 메시지가, 최종 사용자를 대신하여 실행되는 클라이언트 프로세스(110)가 오프라인 상태인 동안 애플리케이션 서버(20-24)에 의해 발생되는 경우에는, 통지는 전송되지 않을 것이다. 그러나, 통지 서버(30)가 현재 온라인 상태가 아닌 클라이언트들로 예정된 통지를 저장하는 것은 가능하다. 통지 서버(30)는 일부 또는 모든 메시지를 최종 사용자에게 이메일, 우편 메일 또는 팩시밀리 등의 다른 수단을 통해 전달할 수도 있다. 택일적으로, 통지 서버는 일부 또는 모든 메시지를 클라이언트(110-118)가 다음에 등록될 때 전달할 수도 있다.
애플리케이션 서버(20-24)에 의해 발생된 메시지는 보통 최종 사용자에게 전달되는 정보를 포함한다. 그러나, 클라이언트 소프트웨어(110-118)는 택일적으로 통지를 클라이언트 시스템(50-52) 상에서 실행되는 하나 또는 그 이상의 애플리케이션을 제어하는 제어 신호로서 사용할 수도 있다. 통지는 또한 네트워크(10)를 통해 원격 어플라이언스(70)를 제어하는 데 사용될 수 있다.
도 2b에 도시한 바와 같이, 어플라이언스(70)는 네트워크(10)를 통해 메시지를 수신 및 전송할 수 있는 내장된 클라이언트(112)를 갖는다. 이러한 경우에, 애플리케이션 서버(20-24)와 통지 서버(30)는 제3자에 의해 소유 또는 운영될 수도 있는 어플라이언스 관리 서비스를 구성할 것이다. 어플라이언스(70)에 전송되는 메시지는 네트워크(10)에 접속되는 어플라이언스(70)의 소유자 또는 다른 어플라이언스(도시되지 않음)에 의해 발생될 수 있다. 어플라이언스(70)는 메시지 통지를 수신하기 위하여 어플라이언스 관리 서비스에 등록할 수 있다. 어플라이언스는 또한 다른 어플라이언스에게 전송할 메시지를 발생시켜 그것을 어플라이언스 관리 서비스를 통해 전송할 수 있다. 예컨대, 어플라이언스(70)는 내장된 자바 클라이언트(112)를 가질 수 있다. 어플라이언스 소유자는 어플라이언스(70)를 개시하고, 홈을 떠나기 전에 온라인 상태로 되는 어플라이언스(70)를 알린다. 소유자가 어플라이언스(70)를 스위치 오프하기 원한다면, 소유자는 애플리케이션 관리 서비스 웹사이트를 통해 그렇게 할 수 있다. 애플리케이션 관리 서비스는 메시지 통지를 어플라이언스(70)에게 실시간으로 전송하여 어플라이언스(70)가 스위치 오프되게 한다.
예 1 - 통지 서버 및 다수의 서버 /다수의 클라이언트
최종 사용자는 그가 실시간으로 통지받기 위하여 선택할 수 있는 메시지 또는 이벤트 목록을 발표하는 웹사이트를 브라우즈한다. 이것은 예컨대, 현재 최고 입찰가가 변경될 때마다 사용자에게 통지할 수 있는 온라인 오픈-아웃크라이 경매 사이트일 수 있다. 사용자는 하나 또는 그 이상의 메시지를 수신하기 위하여 등록하기로 결정한 후, 희망 메시지 목록을 최종 사용자 컴퓨터 시스템(50) 상에서 실행되는 클라이언트 프로세스(110)를 통해 웹사이트에 전송한다. 사용자가 즉시 메시지 수신을 시작하기 원하지 않는 경우에, 클라이언트 프로세스(110)는 메시지 목록을 전송한 후 접속 해제할 수도 있다. 사용자가 메시지 수신을 시작하기 원하는 경우에는, 클라이언트 프로세스(110)는 통지 서버(30)에 접속한 후, 클라이언트 프로세스(110)의 ID 및 수신 어드레스 식별자를 포함하는 메시지를 전송한다. 통지서버(30)는 현재 온라인 상태인 클라이언트(110-118)의 데이터뱅크를 갱신한다. 다음, 클라이언트 프로세스(110)는 통시 서버(30)로부터 접속 해제한 후, 수신 어드레스 식별자에 해당하는 메시지를 기다린다.
도 3은 메시지가 발생될 때 일어나는 정보의 흐름을 도시한다. 애플리케이션 서버들(20-24) 중 하나의 서버가 클라이언트(114-118)에게 통지를 전송해야 하는 이벤트를 발생시킬 때마다, 메시지 모니터는 통지 서버(30)에게 알릴 것이다. 통지 서버(30)는 사용자가 제공한 희망 메시지 목록과 온라인 상태의 클라이언트(114-118) 목록을 사용하여 상기 통지에 대한 수신처를 결정한다. 다음, 통지 서버는 상기 통지를 SI-MTM을 사용하여 클라이언트(114-118)의 수신 어드레스 식별자에게 전송한다. 클라이언트들(114-118) 중 하나의 클라이언트가 오프라인 상태로 되기 원하는 경우, 그 클라이언트는 메시지를 전송하여 통지 서버(30)에게 알린다. 다음, 통지 서버(30)는 온라인 상태가 아닌 클라이언트를 표기한다(flag).
여러 경우에 있어서, 복수의 애플리케이션 서버(20-24)는 여러 웹사이트에 따라 개별적으로 소유 및 운영될 것이다. 통지 서버(30)는 제3자인 서비스 공급자에 의해 소유 또는 운영될 수도 있다. 애플리케이션 서버(20-24)의 소유자는 통지 서버(30)의 서비스를 사용하기로 결정할 수도 있다. 이러한 경우에, 통지 서버(30)가 시작되면, 통지 서버는 애플리케이션 서버(20-24)에게 적절한 클라이언트(114-118)에 대한 상세와 함께 사용자가 희망하는 메시지의 데이터뱅크를 공급하도록 요청한다. 통지 서버(30)는 그 데이터뱅크의 지역적 복사본을 유지하고, 그것을 개개의 애플리케이션 서버(20-24)의 데이터뱅크와 동기시킬 것이다. 통지 서버(30)로의클라이언트 등록은 온라인 상태로 되는 때에 여전히 일어날 것이다.
각각의 통지와 함께 전송되어야 하는 데이터량을 줄이기 위해서는, 전송된 메시지는 단지 변경된 데이터, 예컨대 경매 사이트에서는 성공 입찰가만을 포함해야 한다. 다음, 클라이언트는 사용자가 볼 수 있도록, 변경된 데이터를 통합한 디스플레이를 동적으로 발생시킨다. 이러한 예는 데이터가 XML(eXtensible Markup Language)로 전송되는 경우이다. XML 데이터는 단지 메시지의 내용 및 구조에 관한 정보만을 포함하며, 그 메시지의 시각적 표현에 관한 정보는 포함하지 않는다. 웹브라우저(100)의 사용자에게 정보를 표시하기 위해서는, CCS(Cascading Style Sheets) 또는 XSL(eXtensible Stylesheet Language)와 같은 기술을 사용하여 XML 데이터를 HTML(HyperText Markup Language)로 변환시켜야 한다. XML을 HTML로 변환하는 작업은 클라이언트(114-118)에 의해 수행될 수 있으므로, 일부 처리 부하를 애플리케이션 서버(20-24)로부터 클라이언트(114-118)로 이동시킬 수 있다. 이와 같이 통지때마다 전송되어야 하는 데이터량을 줄임으로써, 전체적인 시스템의 범위성(scalability)이 향상된다.
예 2 - 부하 분담 장치(Load-Sharing Devices)
다른 실시예에 있어서, 이벤트 발생 통지는 브로커라 불리는 복수의 부하 분담 장치를 사용한다. 도 4에 도시한 바와 같이, 통지 서버(30)는 브로커(200,202)를 통해 클라이언트(114-118)에게로의 통지를 분배할 수 있다.
클라이언트(114-118)가 통지 서버(30)에 등록하면, 통지 서버(30)는 클라이언트(114-118)를 브로커들(200,202) 중 하나의 브로커에게 할당한다. 이러한 할당은 후술되는 클라이언트 관심 목록, 지리적 위치 또는 SOCKS/프록시 환경 등의 요소에 기초하여 이루어진다. 클라이언트(114-118)에 대한 모든 통지는 대응하는 브로커(200, 202)에게 전송된다. 도 4에서, 브로커(200)는 메시지를 클라이언트(114, 115)에게 전송하는 한편, 브로커(202)는 메시지를 클라이언트(118)에게 전송한다. 메시지가 브로커(200, 202)를 통해 전송되는 것외에, 통지는 여전히 통지 서버(30)로부터 직접 전송될 수도 있다. 브로커(200, 202)는 클라이언트(114-118)가 관심을 둔 메시지의 데이터뱅크를 사용하여 메시지에 대한 의도된 수신처를 결정하여, 메시지를 의도된 클라이언트(114-118)에게 실시간으로 전송한다. 각 브로커(200, 202)는 애플리케이션 서버(20)에 의해 유지되는 데이터뱅크의 지역적 복사본을 유지한다.
클라이언트가 통지 서버(30)에 등록하는 때에 클라이언트를 브로커에게 할당하는 대신에, 각 통지 메시지에 따라 동적으로 클라이언트를 브로커에게 할당할 수도 있다. 다시 한번 클라이언트 관심 목록, 지리적 위치 또는 SOCKS/프록시 환경 등의 요소에 기초하여 할당이 이루어질 것이다. 각 메시지에 따라 클라이언트를 브로커에게 할당하는 경우, 브로커(200, 202)는 의도된 클라이언트의 데이터뱅크를 유지하는 것이 아니라, 통지 메시지와 함께 통지 서버(30)로부터 의도된 클라이언트 목록을 수신한다.
브로커를 사용하는 대신에, 미러 사이트를 사용하거나, 동일한 사이트 상에서 다수의 서버를 사용하여 부하를 분담시킬 수 있다. 이러한 부하 분담 장치의 목적은 통지 서버(30)가 전송해야 하는 메시지수를 줄이는 것이다. 이것은 통지 서버의 범위성을 향상시킨다.
예 3 - 방화벽을 통한 통지 전송
일반적으로, 컴퓨터 네트워크를 소유한 단체는 이 네트워크 상에 포함된 정보에 권한없이 접근하는 것을 방지하기 원한다. 그러한 정보 보호 수단으로서 보통 방화벽을 사용하는데, 그러한 방화벽은 인터넷의 나머지 것들로부터 방화벽 내부에 IP(인터넷 프로토콜) 어드레스를 숨긴다. 도 5에 도시한 바와 같이, 클라이언트(111, 113, 117)이 방화벽(210) 뒤에 숨겨지면, 통지 서버(30)는 직접 클라이언트(111, 113, 117)에 접촉할 수 없다. 이러한 문제를 해결하기 위한 두가지 방법이 있는데, 첫째로 SOCKS 서버를 사용하는 방법과, 둘째로 리버스 프록시를 사용하는 방법이다.
SOCKS는 TCP/IP 기반의 네트워킹 애플리케이션을 위한 네트워킹 프록시 프로토콜이며, 이것은 직접 IP 도달 능력을 요구하는 일없이 SOCKS 서버(220)의 일측 상의 호스트가 SOCKS 서버(220)의 타측 상의 호스트에 완전히 접근할 수 있도록 해준다. SOCKS는 SOCKS 서버(220)의 반대측 상의 호스트로부터의 접속 요청을 재지정(redirection)한다. SOCKS 서버(220)는 그 요청을 인증 및 허가하고, 프록시 접속을 설정하여, 데이터를 중계한다. SOCKS는 사용자, 애플리케이션, 시간, 그리고 소스 및 목적지 어드레스에 기초한 접근 제어 정책을 통해 네트워크를 보호할 수 있는 유연성을 갖는다.
SOCKS 서버(220)는 방화벽(210) 뒤에 위치한 클라이언트(111, 113, 117)에게 통지를 전송하기 원하는 통지 서버(30)(또는 브로커)가 먼저 SOCKS 서버(220)와 통신하도록 배치된다. SOCKS 서버(220)는 통지 서버(30)에 의해 개방된 접속을 인증하고 데이터를 방화벽(210) 내부에 상주한 클라이언트(111, 113, 117)로 중계한다.
통지 서버(30)가 방화벽(210) 뒤에 숨겨진 사설망 내부의 클라이언트(111, 113, 117)에게 통지를 전송할 수 있는 두번째 방법은 리버스 프록시와 통신하는 것이다. 리버스 프록시란 용어는 프록시의 클라이언트가 방화벽(210) 외부에 위치하기 때문에 사용된 것이다. SOCKS가 TCP/UDP층에서 작용함에 반하여, 리버스 프록시는 IP층을 기반으로 하고 네트워크 어드레스 변환을 사용한다. 리버스 프록시는 방화벽(210) 내부의 모든 서버와 통신할 수 있다.
SOCKS가 사용되건 또는 리버스 프록시가 사용되건 간에, 방화벽(210) 내의 클라이언트(111, 113, 117)는 통지를 발생시키고 있는 애플리케이션 서버(20)로부터 서명된 애플릿을 다운로드할 필요가 있다. 서명된 애플릿은 포트 상의 서버 소켓을 실행한다. 서버 소켓은 포트 상에 귀를 기울이고 통지 서버(30)로부터의 통신을 기다린다.
애플릿은 통지 서버(30)에게 서버 소켓이 실행되는 포트 번호 및 IP 어드레스를 제공한다. 이러한 정보는 클라이언트(111, 113, 117)가 온라인 상태로 될 때 제공된다. 또한 클라이언트는 애플릿이 다운로드되었던 애플리케이션 서버(30)와 다른 호스트로부터의 접속을 수신하기 위하여 애플릿에 네트워크 접근해야 한다. 또한 통지 서버(30)는 경우에 따라서 리버스 프록시 또는 SOCKS 서버(220)의 IP 어드레스를 제공받아야 한다.
통지 서버(30)가 리버스 프록시와 통신해야 한다면, 통지 서버(30)는 HTTP터널링을 사용하여 통지를 전송할 것이다. 다른 한편, SOCKS 서버(220)가 사용된다면, SOCKS 서버(220) 배치 방법에 따라, HTTP 터널링이나 TCP 접속 개방을 사용하여 통지를 전송할 수도 있다.
컴퓨터 구현
네트워크를 통한 이벤트 발생 통지 프로세스는 도 6에 도시한 컴퓨터 시스템(600)과 함께 컴퓨터 프로그램 제품을 사용하여 구현될 수 있다. 특히, 네트워크를 통한 이벤트 발생 통지 프로세스는 컴퓨터 시스템(600) 상에서 실행되는 소프트웨어, 즉 컴퓨터가 판독 가능한 프로그램 코드로 구현될 수 있다.
컴퓨터 시스템(600)은 컴퓨터(650), 비디오 디스플레이(610) 및 입력 장치(630, 632)를 포함한다. 또한 컴퓨터 시스템(600)은 컴퓨터(650)에 연결된 다수의 출력 장치, 예컨대 라인 프린터, 레이저 프린터, 플로터 및 다른 복제 장치 등을 포함할 수 있다. 컴퓨터 시스템(600)은 모뎀 통신 경로, 전자 네트워크 등의 적절한 통신 채널(640)을 사용하여 통신 입출력(I/O) 인터페이스(664)를 통해 하나 또는 그 이상의 다른 컴퓨터에 연결될 수 있다. 네트워크는 LAN, WAN, 인트라넷 및/또는 인터넷(620)을 포함할 수도 있다.
컴퓨터(650)는 제어 모듈(666)과, RAM 및 ROM을 포함할 수도 있는 메모리(670)와, 입출력(I/O) 인터페이스(664, 672)와, 비디오 인터페이스(660)와, 일반적으로 저장 장치(662)로 표현된 하나 또는 그 이상의 저장 장치를 포함한다. 제어 모듈(666)은 특정 기능 또는 관련 기능군을 수행하는 컴퓨터 판독 가능 프로그램 코드를 실행하는 중앙 처리 장치(CPU)를 사용하여 구현된다.
비디오 인터페이스(660)는 비디오 디스플레이(610)에 연결되어, 비디오 디스플레이(610) 상에 표시하기 위한 비디오 신호를 컴퓨터(650)로부터 제공한다. 컴퓨터(650)를 동작시키기 위한 사용자 입력은 I/O 인터페이스(672)를 통해 하나 또는 그 이상의 입력 장치(630, 632)에 의해 제공될 수 있다. 예컨대, 컴퓨터(650)의 사용자는 I/O 인터페이스(630)로서 키보드를, 및/또는 I/O 인터페이스(632)로서 마우스와 같은 지정 도구를 사용할 수 있다. 키보드 및 마우스는 컴퓨터(650)에 입력을 제공한다. 저장 장치(662)는 플로피 디스크, 하드 디스크 드라이브, 광자기 디스크 드라이브, CD-ROM, 자기 테이프 또는 공지된 다수의 비휘발성 저장 장치 중 하나 또는 그 이상으로 구성될 수 있다. 컴퓨터 시스템(650)이 각 구성 요소는 통상 데이터, 어드레스 및 제어 버스로 구성된 버스(680)를 통해 다른 장치에 연결된다.
네트워크를 통한 이벤트 발생 통지 방법 단계는 컴퓨터 시스템(600)에 의해 실행되는 소프트웨어에 있는 명령어에 의해 달성된다. 다시, 소프트웨어는 하나 또는 그 이상의 모듈로서 구현되어 상기 방법 단계를 구현할 수도 있다.
특히, 소프트웨어는 저장 장치(662)를 포함하는 컴퓨터 판독 가능 매체에 저장될 수도 있으며, 또는 인터넷(620)으로부터 인터페이스(664)와 통신 채널(640)을 통해 원격 위치 또는 다른 네트워크 위치 또는 사이트로부터 다운로드된다. 컴퓨터 시스템(600)은 그러한 소프트웨어 또는 프로그램 코드가 기록된 컴퓨터 판독 가능 매체를 포함함으로써, 소프트웨어 또는 프로그램 코드의 명령어가 실행될 수 있다. 컴퓨터 시스템(600)의 사용은 바람직하게는 본 발명의 실시예에 따라 컴퓨터 프로그램용 런타임 심볼 테이블을 작성하기 위한 이로운 장치를 달성하게 한다.
상기 컴퓨터 시스템(600)은 예시적인 목적으로 제공된 것이며, 본 발명의 범위 및 정신을 벗어나지 않는 다른 구성이 적용될 수 있다. 전술한 것은 단지 본 발명의 실시예가 실행될 수도 있는 컴퓨터 또는 컴퓨터 시스템 유형의 예이다. 일반적으로, 실시예의 프로세스는 컴퓨터 판독 가능 매체인 하드 디스크 드라이브 상에 기록된 소프트웨어 또는 컴퓨터 판독 가능 프로그램 코드로서 상주하며, 제어 모듈(666)에 의해 판독 및 제어된다. 상기 프로그램 코드 및 엔티티, 티켓 등을 포함하는 임의의 데이터의 중간 저장은 저장 장치(662)와 협력하는 메모리(670)를 이용하여 성취될 수도 있다.
어떤 경우에, 상기 프로그램은 CD-ROM 또는 플로피 디스크[양자 모두 일반적으로 저장 장치(662)로 도시됨] 상에 인코드되어 사용자에게 제공될 수도 있으며, 또는 택일적으로 컴퓨터(650)에 연결된 모뎀을 통해 네트워크로부터 사용자에 의해 판독될 수 있다. 또한, 컴퓨터 시스템(600)은 다른 컴퓨터 판독 가능 매체로부터 소프트웨어를 로드할 수 있다. 이것은 자기 테이프와, ROM 또는 집적 회로와, 광자기 디스크와, 상기 컴퓨터와 다른 장치간의 무선 또는 적외선 전송 채널과, PCMCIA 카드와 같은 컴퓨터 판독 가능 카드와, 인터넷 사이트 상에 기록된 이메일 전송 및 정보를 포함하는 인터넷(620) 및 인트라넷 등을 포함할 수도 있다. 전술한 것은 단지 관련된 컴퓨터 판독 가능 매체의 예이다. 본 발명의 범위 및 정신을 벗어나지 않는 다른 컴퓨터 판독 가능 매체가 실행될 수도 있다.
네트워크를 통한 이벤트 발생 통지는 하나의 컴퓨터 시스템(600)에 집중된 형태, 또는 여러 요소가 몇몇 상호 접속된 컴퓨터 시스템에 걸쳐 펴져있는 분산된형태로 실현될 수 있다.
현 상황에 있어서 컴퓨터 프로그램 수단 또는 컴퓨터 프로그램은 정보 처리 능력을 가진 시스템으로 하여금 또 다른 언어, 코드 또는 노테이션으로의 전환과 다른 자료 형태로의 재생 중 어느 하나 또는 양쪽 모두 행한 후 또는 바로 특정 기능을 수행하도록 의도된 명령어 세트를 임의의 언어, 코드 또는 노테이션으로 표현한 것을 의미한다.
전술한 방식으로, 네트워크를 통한 이벤트 발생 통지 방법, 장치 및 컴퓨터 프로그램 제품이 개시된다. 단지 소수의 실시예가 설명되었지만, 본 발명의 범위 및 정신을 벗어나지 않는 변화 및/또는 변형예가 가능하다는 것은 당업자에게 명백한 것이다.
본 명세서에서 설명된 이벤트 발생 통지의 이점은 적시에 메시지를 전달하는 것을 보장함과 동시에, 통신 네트워크의 대역폭 자원의 비능률적인 사용을 제한한다는 것이다.
본 발명은 설명된 실시예로 제한되지 않으며, 당업자에게 명백한 여러 변화 및 변형예는 본 발명의 범위 안에 포함된다.

Claims (16)

  1. 통신 네트워크를 통해 하나 또는 그 이상의 클라이언트 프로세스에게 이벤트 발생을 통지하는 방법에 있어서,
    상기 하나 또는 그 이상의 클라이언트 프로세스가 관심을 둔 상기 이벤트 세트를 등록하는데, 상기 클라이언트 프로세스들이 현재 활성일 때는 그들 각각의 어드레스 식별자를 서버에 등록하는 단계와,
    상기 서버가 이벤트 발생을 검출하는 단계와,
    상기 서버가 상기 클라이언트 프로세스들 중 어떤 클라이언트 프로세스들이 상기 이벤트 통지에 관심을 두고 있고 현재 활성인지를 식별하는 단계와,
    상기 서버가 상기 네트워크를 통해 실시간 접속하여 상기 통지를 각 식별된 클라이언트 프로세스에게 전송하는 단계와,
    상기 서버가 상기 이벤트 발생과 관련된 상기 식별된 클라이언트 프로세스에게 상기 이벤트 발생의 변경된 데이터를 포함하는 갱신된 데이터를 전송하는 단계와,
    상기 이벤트 발생 검출의 비활성 기간이 존재할 때 상기 서버와 상기 식별된 클라이언트 프로세스 간의 접속을 종료하는 단계
    를 포함하는 통신 네트워크를 통한 이벤트 발생 통지 방법.
  2. 제1항에 있어서,
    관심을 둔 이벤트 등록은 복수의 서버가 이용할 수 있는 레코드로서 존재하며,
    상기 이벤트는 상기 복수의 서버 중 어느 하나의 서버에 의해 검출될 수 있는 것인 통신 네트워크를 통한 이벤트 발생 통지 방법.
  3. 제1항에 있어서,
    상기 전송 단계는 상기 통지를 통지 서버를 통해 전달하는 단계를 더 포함하는 것인 통신 네트워크를 통한 이벤트 발생 통지 방법.
  4. 제1항에 있어서,
    상기 등록 단계는
    모든 클라이언트 프로세스와 그들 각각이 관심을 둔 이벤트를 포함하는 제1 레코드를 형성하는 단계와,
    상기 모든 클라이언트 프로세스 중 현재 활성인 클라이언트 프로세스들과 그들 각각의 어드레스 식별자를 포함하는 제2 레코드를 형성하는 단계를 더 포함하는 것인 통신 네트워크를 통한 이벤트 발생 통지 방법.
  5. 제4항에 있어서,
    클라이언트 프로세스들이 활성 상태를 취소하고 그들 각각의 어드레스 식별자가 상기 제2 레코드로부터 제거되는 단계를 더 포함하는 통신 네트워크를 통한 이벤트 발생 통지 방법.
  6. 제3항에 있어서,
    상기 전송 단계는 상기 통지 서버가 상기 통지를 상기 식별된 클라이언트 프로세스들에게 하나 또는 그 이상의 부하 분담 장치 또는 프록시 서버를 통해 전달하는 단계를 더 포함하는 것인 통신 네트워크를 통한 이벤트 발생 통지 방법.
  7. 통신 네트워크를 통해 하나 또는 그 이상의 클라이언트 프로세스에게 하나 또는 그 이상의 서버에 의해 이벤트 발생을 통지하는 방법에 있어서,
    상기 하나 또는 그 이상의 클라이언트 프로세스가 관심을 둔 상기 이벤트 세트를 등록하는데, 상기 클라이언트들이 현재 활성일 때는 그들 각각의 어드레스 식별자를 등록하는 단계와,
    상기 클라이언트 프로세스들과 그들 각각이 관심을 둔 이벤트를 포함하는 제1 레코드를 형성하는 단계와,
    상기 모든 클라이언트 프로세스 중 현재 활성인 클라이언트 프로세스들과 그들 각각의 어드레스 식별자를 포함하는 제2 레코드를 형성하는 단계로서, 상기 제1 및 제2 레코드는 상기 서버들이 이용할 수 있는 것인 단계와,
    이벤트 발생을 검출하는 단계와,
    상기 제1 레코드로부터 상기 클라이언트 프로세스들 중 어떤 클라이언트 프로세스들이 상기 이벤트 통지에 관심을 두고 있는지를 식별하는 단계와,
    상기 네트워크를 통해 실시간 접속하여 상기 통지를 상기 제2 레코드에 저장된 상기 어드레스 식별자들을 사용하여 각 관심을 둔 클라이언트 프로세스에게 전송하는 단계와,
    상기 서버가 상기 이벤트 발생과 관련된 상기 식별된 클라이언트 프로세스에게 상기 이벤트 발생의 변경된 데이터를 포함하는 갱신된 데이터를 전송하는 단계와,
    상기 이벤트 발생 검출의 비활성 기간이 존재할 때 상기 서버와 상기 식별된 클라이언트 프로세스 간의 접속을 종료하는 단계
    를 포함하는 통신 네트워크를 통한 이벤트 발생 통지 방법.
  8. 제7항에 있어서,
    상기 전송 단계는 상기 통지를 통지 서버를 통해 전달하는 단계를 더 포함하는 것인 통신 네트워크를 통한 이벤트 발생 통지 방법.
  9. 제7항에 있어서,
    클라이언트 프로세스들이 활성 상태를 취소하고 그들 각각의 어드레스 식별자가 상기 제2 레코드로부터 제거되는 단계를 더 포함하는 통신 네트워크를 통한 이벤트 발생 통지 방법.
  10. 제7항에 있어서,
    상기 전송 단계는 상기 통지 서버가 상기 통지를 상기 관심을 둔 클라이언트 프로세스들에게 하나 또는 그 이상의 부하 분담 장치 또는 프록시 서버를 통해 전달하는 단계를 더 포함하는 것인 통신 네트워크를 통한 이벤트 발생 통지 방법.
  11. 이벤트 발생 통지를 제공하는 통신 시스템에 있어서,
    통신 네트워크와,
    상기 네트워크에 연결된 하나 또는 그 이상의 클라이언트 프로세스와,
    상기 네트워크에 연결된 하나 또는 그 이상의 서버 프로세스를 포함하며,
    상기 하나 또는 그 이상의 클라이언트 프로세스는 관심을 둔 상기 이벤트 세트를 등록하는데, 현재 활성일 때는 그들 각각의 어드레스 식별자를 상기 서버 프로세스들 중 하나 또는 그 이상의 서버 프로세스에 등록하고,
    상기 서버 프로세스들 중 하나 또는 그 이상의 서버 프로세스는 이벤트 발생을 검출하고, 상기 클라이언트 프로세스들 중 어떤 클라이언트 프로세스들이 상기 이벤트 통지에 관심을 두고 있고 현재 활성인지를 식별하여, 상기 네트워크를 통해 실시간 접속하여 상기 통지를 각 식별된 클라이언트 프로세스에게 전송하며, 상기 이벤트 발생과 관련된 상기 식별된 클라이언트 프로세스에게 상기 이벤트 발생의 변경된 데이터를 포함하는 갱신된 데이터를 전송하고, 상기 이벤트 발생 검출의 비활성 기간이 존재할 때 상기 서버 프로세스와 상기 식별된 클라이언트 프로세스 간의 접속을 종료하는 것인 이벤트 발생 통지를 제공하는 통신 시스템.
  12. 이벤트 발생 통지를 제공하는 통신 시스템에 있어서,
    통신 네트워크와,
    상기 네트워크에 연결된 하나 또는 그 이상의 클라이언트 프로세스와,
    상기 네트워크에 연결된 하나 또는 그 이상의 서버 프로세스를 포함하며,
    상기 하나 또는 그 이상의 클라이언트 프로세스는 관심을 둔 상기 이벤트 세트를 등록하는데, 현재 활성일 때는 그들 각각의 어드레스 식별자를 상기 서버 프로세스들 중 하나 또는 그 이상의 서버 프로세스에 등록하고,
    상기 서버 프로세스들은 상기 클라이언트 프로세스들과 그들 각각이 관심을 둔 이벤트를 포함하는 제1 레코드와, 상기 모든 클라이언트 프로세스 중 현재 활성인 클라이언트 프로세스들과 그들 각각의 어드레스 식별자를 포함하는 제2 레코드 - 상기 제1 및 제2 레코드는 복수의 상기 서버 프로세스가 이용할 수 있는 것임 - 를 형성하고, 이벤트 발생을 검출하고, 상기 제1 레코드로부터 상기 클라이언트 프로세스들 중 어떤 클라이언트 프로세스들이 상기 이벤트 통지에 관심을 두고 있고 현재 활성인지를 식별하여, 상기 네트워크를 통해 실시간 접속하여 상기 통지를 상기 제2 레코드에 저장된 상기 어드레스 식별자들을 사용하여 각 식별된 클라이언트에게 전송하며, 상기 이벤트 발생과 관련된 상기 식별된 클라이언트 프로세스에게 상기 이벤트 발생의 변경된 데이터를 포함하는 갱신된 데이터를 전송하고, 상기 이벤트 발생 검출의 비활성 기간이 존재할 때 상기 서버 프로세스와 상기 식별된 클라이언트 프로세스 간의 접속을 종료하는 것인 이벤트 발생 통지를 제공하는 통신 시스템.
  13. 통신 네트워크를 통해 하나 또는 그 이상의 클라이언트 프로세스에게 이벤트 발생을 통지하는 통지 서버에 있어서,
    상기 클라이언트 프로세스들이 관심을 둔 이벤트와 상기 클라이언트 프로세스들이 현재 활성일 때 그들 개개의 어드레스 식별자에 관한 상기 클라이언트 프로세스들로부터의 등록 데이터를 저장하는 데이터 저장 장치와,
    상기 데이터 저장 장치에 연결되고, 발생된 이벤트 통지를 수신하여, 상기 이벤트에 관심을 두고 있고 현재 활성인 클라이언트 프로세스들의 각각의 어드레스 식별자를 찾으려고 상기 데이터 저장 장치를 탐색하는 프로세서와,
    상기 프로세서에 연결되고, 상기 이벤트의 통지를 출력하여 상기 관심을 둔 클라이언트 프로세스들에게 전송하는 네트워크 접속 수단
    을 포함하며,
    상기 이벤트와 관련된 상기 활성 클라이언트 프로세스에게 상기 이벤트의 변경된 데이터를 포함하는 갱신된 데이터를 전송하고, 상기 이벤트 검출의 비활성 기간이 존재할 때 상기 통지 서버와 상기 활성 클라이언트 프로세스 간의 접속을 종료하는 통지 서버.
  14. 제13항에 있어서,
    상기 데이터 저장 장치는
    상기 모든 클라이언트 프로세스와 그들 각각이 관심을 둔 이벤트를 포함하는 제1 레코드와,
    상기 모든 클라이언트 프로세스 중 현재 활성인 클라이언트 프로세스들과 그들 각각의 어드레스 식별자를 포함하는 제2 레코드를 포함하는 것인 통지 서버.
  15. 제13항에 있어서,
    상기 통지 서버는
    엔드 투 엔드 TCP 접속과, 중간 저장없는 데이터그램 서비스 중에서 선택된 메시지 전송 매커니즘을 개시하는 것인 통지 서버.
  16. 통신 네트워크를 통한 이벤트 발생 통지를 제공하기 위한 컴퓨터 프로그램이 구현된 컴퓨터로 판독 가능한 기록 매체에 있어서,
    하나 또는 그 이상의 클라이언트가 관심을 둔 상기 이벤트 세트를 등록하는데, 상기 하나 또는 그 이상의 클라이언트가 통지를 수신할 준비가 되어 있을 때는 그들 각각의 어드레스 식별자를 서버에 등록하기 위한 컴퓨터 프로그램 코드 수단과,
    이벤트 발생을 검출하기 위한 컴퓨터 프로그램 코드 수단과,
    상기 클라이언트들 중 어떤 클라이언트들이 상기 이벤트 통지에 관심을 두고 있고 현재 활성인지를 식별하기 위한 컴퓨터 프로그램 코드 수단과,
    상기 네트워크를 통해 실시간 접속하여 상기 통지를 각 식별된 클라이언트에게 전송하기 위한 컴퓨터 프로그램 코드 수단과,
    상기 이벤트 발생과 관련된 상기 식별된 클라이언트 프로세스에게 상기 이벤트 발생의 변경된 데이터를 포함하는 갱신된 데이터를 전송하기 위한 컴퓨터 프로그램 코드 수단과,
    상기 이벤트 발생 검출의 비활성 기간이 존재할 때 상기 서버와 상기 식별된 클라이언트 프로세스 간의 접속을 종료하기 위한 컴퓨터 프로그램 코드 수단
    을 포함하는 컴퓨터로 판독 가능한 기록 매체.
KR10-2001-0040908A 2000-07-10 2001-07-09 네트워크를 통한 이벤트-트리거 통지 KR100465582B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/613,524 2000-07-10
US09/613,524 US6763384B1 (en) 2000-07-10 2000-07-10 Event-triggered notification over a network

Publications (2)

Publication Number Publication Date
KR20020005981A KR20020005981A (ko) 2002-01-18
KR100465582B1 true KR100465582B1 (ko) 2005-01-13

Family

ID=24457648

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0040908A KR100465582B1 (ko) 2000-07-10 2001-07-09 네트워크를 통한 이벤트-트리거 통지

Country Status (4)

Country Link
US (1) US6763384B1 (ko)
JP (1) JP2002082862A (ko)
KR (1) KR100465582B1 (ko)
DE (1) DE10131553A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012015196A2 (ko) * 2010-07-30 2012-02-02 (주)네오위즈게임즈 Sns 상에서 어플리케이션간 이벤트 정보를 송수신하는 방법, 장치, 및 기록매체

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256620B1 (en) * 1998-01-16 2001-07-03 Aspect Communications Method and apparatus for monitoring information access
US20070078978A1 (en) * 1998-06-01 2007-04-05 Sri International Method and apparatus for updating information in a low-bandwidth client/server object-oriented system
US7062456B1 (en) 1999-02-09 2006-06-13 The Chase Manhattan Bank System and method for back office processing of banking transactions using electronic files
EP1146422A1 (de) * 2000-04-13 2001-10-17 Abb Research Ltd. Verfahren zum Einrichten einer Kommunikationsverbindung zwischen einem Embedded Server und einem Clientrechner
US8001232B1 (en) * 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
WO2002023865A2 (en) * 2000-09-14 2002-03-21 Musco Corporation System and method for remote controlling of sports lights
US7673241B2 (en) * 2002-06-26 2010-03-02 Siebel Systems, Inc. User interface for multi-media communication for the visually disabled
US6822945B2 (en) 2000-11-08 2004-11-23 Genesys Telecommunications Laboratories, Inc. Method and apparatus for anticipating and planning communication-center resources based on evaluation of events waiting in a communication center master queue
US7299259B2 (en) 2000-11-08 2007-11-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus for intelligent routing of instant messaging presence protocol (IMPP) events among a group of customer service representatives
US7929562B2 (en) 2000-11-08 2011-04-19 Genesis Telecommunications Laboratories, Inc. Method and apparatus for optimizing response time to events in queue
US7215777B2 (en) * 2001-01-16 2007-05-08 Microsoft Corporation Sending notification through a firewall over a computer network
US20020107910A1 (en) * 2001-02-02 2002-08-08 Yan Zhao Client/server two-way communication system framework under HTTP protocol
US7505577B2 (en) * 2001-03-31 2009-03-17 Siebel Systems, Inc. System and method for multi-channel communication queuing
US7581230B2 (en) 2001-02-06 2009-08-25 Siebel Systems, Inc. Adaptive communication application programming interface
US20030018704A1 (en) * 2001-03-08 2003-01-23 Vasilis Polychronidis Network presence and location agent
US7472104B2 (en) * 2001-03-13 2008-12-30 Sony Corporation Method and system for distributing product information
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
GB2373418A (en) * 2001-03-16 2002-09-18 Kleinwort Benson Ltd Method and system to provide and manage secure access to internal computer systems from an external client
US20040205724A1 (en) * 2001-03-19 2004-10-14 Thomas Mayberry Software test message streams
US20030018705A1 (en) * 2001-03-31 2003-01-23 Mingte Chen Media-independent communication server
US7315616B2 (en) * 2001-03-31 2008-01-01 Siebel Systems, Inc. System and method for maintaining real-time agent information for multi-channel communication queuing
US20030206192A1 (en) * 2001-03-31 2003-11-06 Mingte Chen Asynchronous message push to web browser
US8601492B2 (en) * 2001-03-31 2013-12-03 Siebel Systems, Inc. User interface for multi-channel communication
US7730204B2 (en) * 2001-03-31 2010-06-01 Siebel Systems, Inc. Extensible interface for inter-module communication
US20070203797A1 (en) * 2001-03-31 2007-08-30 Annadata Anil K Configurable media-independent server
US8423674B2 (en) 2001-06-02 2013-04-16 Ericsson Ab Method and apparatus for process sync restart
US20040031033A1 (en) * 2001-06-02 2004-02-12 Ravi Chandra Method and apparatus for inter-process communication management
US7103171B1 (en) * 2001-06-29 2006-09-05 Siebel Systems, Inc. System and method for multi-channel communication queuing using routing and escalation rules
US20030036975A1 (en) * 2001-08-02 2003-02-20 Martin Joshua J.D. Method of conducting an electronic rolling auction permitting the auction sponsor to make changes to the auctioned item
US7346658B2 (en) * 2001-08-08 2008-03-18 At&T Delaware Intellectual Property, Inc. System and method for notifying an offline global computer network user of an online interaction
US7152104B2 (en) * 2001-10-17 2006-12-19 Sun Microsystems, Inc. Method and apparatus for notifying administrators of selected events in a distributed computer system
US8091042B2 (en) 2001-11-15 2012-01-03 Siebel Systems, Inc. Apparatus and method for displaying selectable icons in a toolbar for a user interface
US20030105846A1 (en) * 2001-11-30 2003-06-05 Koninklijke Philips Electronics N.V. Enhanched UDDI with service push model
US7788382B1 (en) * 2002-03-26 2010-08-31 Good Technology, Inc. Server initiated synchronization
US20030204586A1 (en) * 2002-04-25 2003-10-30 Steve Schnetzler Intelligent data replicator
US7987246B2 (en) * 2002-05-23 2011-07-26 Jpmorgan Chase Bank Method and system for client browser update
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
GB2391436B (en) * 2002-07-30 2005-12-21 Livedevices Ltd Server initiated internet communication
US7047243B2 (en) * 2002-08-05 2006-05-16 Microsoft Corporation Coordinating transactional web services
US7254643B1 (en) 2002-08-08 2007-08-07 At&T Corp. System and method for providing multi-media services to communication devices over a communications network
USRE46776E1 (en) 2002-08-27 2018-04-03 Genesys Telecommunications Laboratories, Inc. Method and apparatus for optimizing response time to events in queue
US7343301B1 (en) * 2002-08-30 2008-03-11 Signiant, Inc. Method and apparatus for notification of data transfer
US7152108B1 (en) 2002-08-30 2006-12-19 Signiant Inc. Data transfer system and method with secure mapping of local system access rights to global identities
US8255454B2 (en) * 2002-09-06 2012-08-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US20040088401A1 (en) * 2002-10-31 2004-05-06 Ashutosh Tripathi Method and apparatus for providing a highly available distributed event notification mechanism
US7111305B2 (en) * 2002-10-31 2006-09-19 Sun Microsystems, Inc. Facilitating event notification through use of an inverse mapping structure for subset determination
US20040098483A1 (en) * 2002-11-14 2004-05-20 Engel Glenn R. Triggering communication from devices that self-initiate communication
US7269629B2 (en) * 2002-12-30 2007-09-11 Intel Corporation Method and apparatus for distributing notification among cooperating devices and device channels
US7180912B1 (en) 2003-01-06 2007-02-20 At&T Corp. System and method for providing a plurality of multi-media services using a number of media servers to form a preliminary interactive communication relationship with a calling communication device
JP2004342084A (ja) * 2003-04-24 2004-12-02 Seiko Epson Corp 自発的にステータス通知を行うサービス装置
DE10332360B4 (de) * 2003-07-17 2023-06-29 Abb Schweiz Ag Verfahren und System zur Verwaltung und Übertragung von Ereignissen einer zu überwachenden technischen Anlage in einer web-basierten Client-Server-Umgebung
US7069278B2 (en) * 2003-08-08 2006-06-27 Jpmorgan Chase Bank, N.A. System for archive integrity management and related methods
EP1665711B8 (en) * 2003-09-17 2016-12-14 Google Technology Holdings LLC System and method for asynchronous wireless services using reverse service schema generation
US20050063409A1 (en) * 2003-09-18 2005-03-24 Nokia Corporation Method and apparatus for managing multicast delivery to mobile devices involving a plurality of different networks
US20050065965A1 (en) * 2003-09-19 2005-03-24 Ziemann David M. Navigation of tree data structures
US7778915B2 (en) * 2003-10-14 2010-08-17 Ften, Inc. Financial data processing system
US9614772B1 (en) * 2003-10-20 2017-04-04 F5 Networks, Inc. System and method for directing network traffic in tunneling applications
US7502847B2 (en) * 2003-10-29 2009-03-10 Cisco Technology, Inc. Method of providing views of a managed network that uses network address translation
US8213301B2 (en) * 2003-11-07 2012-07-03 Sharp Laboratories Of America, Inc. Systems and methods for network channel characteristic measurement and network management
EP1692619B1 (en) * 2003-11-07 2013-01-09 Sharp Kabushiki Kaisha Methods and systems for network coordination
US7873742B1 (en) 2003-11-20 2011-01-18 Microsoft Corporation Providing content per delivery endpoint
US7685265B1 (en) * 2003-11-20 2010-03-23 Microsoft Corporation Topic-based notification service
GB2408658B (en) * 2003-11-25 2006-07-05 Surfkitchen Inc Communications system
US7877694B2 (en) * 2003-12-05 2011-01-25 Microsoft Corporation Hosted notifications templates
US20050188222A1 (en) * 2004-02-24 2005-08-25 Covelight Systems, Inc. Methods, systems and computer program products for monitoring user login activity for a server application
US20050188080A1 (en) * 2004-02-24 2005-08-25 Covelight Systems, Inc. Methods, systems and computer program products for monitoring user access for a server application
US7451194B2 (en) * 2004-03-04 2008-11-11 International Business Machines Corporation Timely update of information displayed within a portal
US20050210121A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated Satellite anticipatory bandwith acceleration
US20050210122A1 (en) * 2004-03-22 2005-09-22 Qualcomm Incorporated HTTP acceleration over a network link
GB0407388D0 (en) * 2004-03-31 2004-05-05 British Telecomm Method and apparatus for communicating data between computer devices
WO2005119992A1 (en) * 2004-06-04 2005-12-15 Living Memory International Pty Limited A system for and method of storing and sending messages
US7526557B2 (en) * 2004-06-30 2009-04-28 Signiant, Inc. System and method for transferring data in high latency firewalled networks
US8140442B2 (en) * 2004-07-16 2012-03-20 Gary E. Heyer Matching residential buyers and property owners to initiate a transaction for properties which are currently not listed for sale
US7720719B2 (en) * 2004-08-05 2010-05-18 France Telecom Method and system for IMPS-based transient objects
US7366974B2 (en) * 2004-09-03 2008-04-29 Jp Morgan Chase Bank System and method for managing template attributes
US20060059210A1 (en) * 2004-09-16 2006-03-16 Macdonald Glynne Generic database structure and related systems and methods for storing data independent of data type
US20090132466A1 (en) * 2004-10-13 2009-05-21 Jp Morgan Chase Bank System and method for archiving data
US20070005386A1 (en) * 2005-04-14 2007-01-04 Accenture Global Services, Gmbh Content production maintenance tool for human and non-human activity tracking
US7836127B2 (en) * 2005-04-14 2010-11-16 Accenture Global Services Limited Dynamically triggering notifications to human participants in an integrated content production process
US7983209B2 (en) * 2005-04-18 2011-07-19 Research In Motion Limited System and method for producing notification based web services
US8301750B2 (en) * 2005-06-10 2012-10-30 International Business Machines Corporation Apparatus, system, and method for facilitating communication between an enterprise information system and a client
KR100686382B1 (ko) * 2005-07-08 2007-02-22 엔에이치엔(주) 싱크 서버를 이용한 메신저 알림 시스템 및 방법
US8418233B1 (en) 2005-07-29 2013-04-09 F5 Networks, Inc. Rule based extensible authentication
US20070038740A1 (en) * 2005-08-10 2007-02-15 Nortel Networks Limited Notification service
US8533308B1 (en) 2005-08-12 2013-09-10 F5 Networks, Inc. Network traffic management through protocol-configurable transaction processing
US7899389B2 (en) * 2005-09-15 2011-03-01 Sony Ericsson Mobile Communications Ab Methods, devices, and computer program products for providing a karaoke service using a mobile terminal
US8065606B1 (en) 2005-09-16 2011-11-22 Jpmorgan Chase Bank, N.A. System and method for automating document generation
US7693590B2 (en) * 2005-12-21 2010-04-06 Panasonic Electric Works Co., Ltd. Systems and methods for notifying of persistent states of monitored systems using distributed monitoring devices
US8644702B1 (en) 2005-12-28 2014-02-04 Xi Processing L.L.C. Computer-implemented system and method for notifying users upon the occurrence of an event
US8015152B2 (en) * 2006-01-24 2011-09-06 Microsoft Corporation Web based client/server notification engine
US8565088B1 (en) 2006-02-01 2013-10-22 F5 Networks, Inc. Selectively enabling packet concatenation based on a transaction boundary
US20070239562A1 (en) * 2006-03-22 2007-10-11 Lawson Jeffrey G Method for notifying a user of a live event
US8734254B2 (en) * 2006-04-25 2014-05-27 International Business Machines Corporation Virtual world event notifications from within a persistent world game
JP2007334741A (ja) * 2006-06-16 2007-12-27 Konica Minolta Business Technologies Inc 画像形成装置で生じたイベントに関するイベント情報の管理方法、およびサーバコンピュータ
US8128498B2 (en) * 2006-06-21 2012-03-06 International Business Machines Corporation Configure offline player behavior within a persistent world game
US20080026845A1 (en) * 2006-07-14 2008-01-31 Maximino Aguilar Wake-on-Event Game Client and Monitor for Persistent World Game Environment
US20080090659A1 (en) * 2006-10-12 2008-04-17 Maximino Aguilar Virtual world event notification from a persistent world game server in a logically partitioned game console
US8104076B1 (en) 2006-11-13 2012-01-24 Jpmorgan Chase Bank, N.A. Application access control system
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
WO2008150533A2 (en) * 2007-06-01 2008-12-11 Ften, Inc. Method and system for monitoring market data to identify user defined market conditions
US8112516B2 (en) * 2007-08-23 2012-02-07 Cisco Technology, Inc. Selective user notification based on IP flow information
US8402472B2 (en) * 2007-09-14 2013-03-19 International Business Machines Corporation Network management system event notification shortcut
US8782203B2 (en) * 2007-09-14 2014-07-15 International Business Machines Corporation Propagating accelerated events in a network management system
US8996685B2 (en) * 2008-04-01 2015-03-31 Orange Management of the distribution of contents
US9832069B1 (en) 2008-05-30 2017-11-28 F5 Networks, Inc. Persistence based on server response in an IP multimedia subsystem (IMS)
US9130846B1 (en) 2008-08-27 2015-09-08 F5 Networks, Inc. Exposed control components for customizable load balancing and persistence
US8630624B2 (en) * 2009-02-25 2014-01-14 Apple Inc. Managing notification messages
EP2224331A1 (en) * 2009-02-27 2010-09-01 Research In Motion Limited Mobile wireless communications system providing device icon notification indicia framing and related methods
US8463242B2 (en) * 2009-02-27 2013-06-11 Research In Motion Limited Communications system providing mobile device notification content type selection features and related methods
JP5069730B2 (ja) * 2009-09-15 2012-11-07 ヤフー株式会社 イベント通知機能提供装置、イベント通知機能提供方法及びイベント通知機能提供プログラム
EP2494512A4 (en) 2009-10-28 2013-08-07 Ften Inc INTRA-JOURNAL RISK MANAGEMENT CLOUD DATA SYSTEM COMMANDING THE EXECUTION OF ORDERS
US9307038B2 (en) 2009-12-29 2016-04-05 Motorola Solutions, Inc. Method for presence notification based on a sequence of events
US8407726B2 (en) 2009-12-31 2013-03-26 International Business Machines Corporation Collaboration in low bandwidth applications
WO2011097161A1 (en) * 2010-02-02 2011-08-11 Ften, Inc. Methods and system for canceling orders for financial articles of trades
US9183560B2 (en) 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
US9038177B1 (en) 2010-11-30 2015-05-19 Jpmorgan Chase Bank, N.A. Method and system for implementing multi-level data fusion
EP2466851A1 (en) * 2010-12-15 2012-06-20 Research In Motion Limited Method and system for establishing a notification service for a device
US20120158837A1 (en) * 2010-12-15 2012-06-21 Research In Motion Limited Method and system for establishing a notification service for a device
US20120172006A1 (en) * 2010-12-30 2012-07-05 Research In Motion Limited Apparatus, and associated method, for providing indication of rule-based activity at an electronic device
KR101914488B1 (ko) * 2011-04-06 2018-11-05 삼성전자주식회사 푸시 알림 서비스를 위한 서버 클러스터 및 방법
US8554855B1 (en) 2011-06-14 2013-10-08 Urban Airship, Inc. Push notification delivery system
US8731523B1 (en) 2011-06-14 2014-05-20 Urban Airship, Inc. Push notification delivery system with feedback analysis
US8572263B1 (en) * 2011-06-14 2013-10-29 Urban Airship, Inc. Push gateway systems and methods
US9531827B1 (en) 2011-06-14 2016-12-27 Urban Airship, Inc. Push notification delivery system with feedback analysis
US9292588B1 (en) 2011-07-20 2016-03-22 Jpmorgan Chase Bank, N.A. Safe storing data for disaster recovery
US9317344B2 (en) 2012-02-16 2016-04-19 Microsoft Technology Licensing, Llc Power efficient brokered communication supporting notification blocking
US8930475B1 (en) 2012-03-30 2015-01-06 Signiant Inc. Systems and methods for secure cloud-based media file sharing
US9692799B2 (en) 2012-07-30 2017-06-27 Signiant Inc. System and method for sending and/or receiving digital content based on a delivery specification
US9851989B2 (en) 2012-12-12 2017-12-26 Vmware, Inc. Methods and apparatus to manage virtual machines
US10540373B1 (en) 2013-03-04 2020-01-21 Jpmorgan Chase Bank, N.A. Clause library manager
US9503540B2 (en) 2013-05-09 2016-11-22 Nokia Technologies Oy Method and apparatus for asynchronous distribution of content
CN103347045B (zh) * 2013-05-31 2016-03-16 武汉大学 基于gnss-r网络的土壤湿度实时监测与共享方法
US10394414B1 (en) 2013-07-19 2019-08-27 Kabam, Inc. Facilitating automatic execution of user interactions in a virtual space
US9537812B2 (en) 2013-12-31 2017-01-03 Google Inc. Methods, systems, and media for managing notifications directed to multiple applications installed on a user device
US10110536B2 (en) * 2014-04-21 2018-10-23 Dropbox, Inc. System for managing event notifications to client devices
RU2580438C2 (ru) 2014-09-02 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Способ (варианты) обработки входящего электронного сообщения и сервер (варианты)
RU2580437C2 (ru) 2014-09-02 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Способ обработки входящего электронного сообщения и сервер
CN105426398A (zh) 2015-10-29 2016-03-23 小米科技有限责任公司 信息处理方法及装置
US10300379B1 (en) 2015-12-28 2019-05-28 Electronic Arts Inc. Facilitating contextual game notifications and smart action options
US10286322B1 (en) 2016-01-25 2019-05-14 Electronic Arts Inc. System and method for determining and executing actions in an online game
CN107391276B (zh) * 2017-07-05 2018-09-28 腾讯科技(深圳)有限公司 分布式监听方法、监听控制装置及系统
US10991014B2 (en) * 2017-07-26 2021-04-27 Solstice Equity Partners, Inc. Templates and events for customizable notifications on websites
US10432351B2 (en) 2017-10-17 2019-10-01 Aagey Holding, LLC Computer network system and method to reduce network latency with a pool of ready connections
CN108881402B (zh) * 2018-05-29 2021-01-26 创新先进技术有限公司 一种消息推送方法、装置以及电子设备
US10735516B1 (en) 2019-02-15 2020-08-04 Signiant Inc. Cloud-based authority to enhance point-to-point data transfer with machine learning
US11710181B1 (en) 2020-01-10 2023-07-25 Cboe Exchange, Inc. Exchange risk controls

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168789A (ja) * 1993-12-14 1995-07-04 Chugoku Nippon Denki Software Kk イベントメッセージ送付方式
JPH1011373A (ja) * 1996-06-21 1998-01-16 Matsushita Electric Ind Co Ltd 情報自動配送装置及び情報自動配送方法
KR0155321B1 (ko) * 1995-11-14 1998-11-16 양승택 분산 시스템 관리에서의 이벤트 처리방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5050104A (en) * 1988-04-18 1991-09-17 International Business Machines Corporation Method for notifying a terminal user of an asynchronous event occurrence
US5721825A (en) * 1996-03-15 1998-02-24 Netvision, Inc. System and method for global event notification and delivery in a distributed computing environment
JP4634547B2 (ja) * 1998-06-30 2011-02-16 株式会社東芝 リアルタイム情報配信方法
US6591279B1 (en) * 1999-04-23 2003-07-08 International Business Machines Corporation System and method for computer-based notifications of real-world events using digital images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168789A (ja) * 1993-12-14 1995-07-04 Chugoku Nippon Denki Software Kk イベントメッセージ送付方式
KR0155321B1 (ko) * 1995-11-14 1998-11-16 양승택 분산 시스템 관리에서의 이벤트 처리방법
JPH1011373A (ja) * 1996-06-21 1998-01-16 Matsushita Electric Ind Co Ltd 情報自動配送装置及び情報自動配送方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012015196A2 (ko) * 2010-07-30 2012-02-02 (주)네오위즈게임즈 Sns 상에서 어플리케이션간 이벤트 정보를 송수신하는 방법, 장치, 및 기록매체
WO2012015196A3 (ko) * 2010-07-30 2012-05-03 (주)네오위즈게임즈 Sns 상에서 어플리케이션간 이벤트 정보를 송수신하는 방법, 장치, 및 기록매체

Also Published As

Publication number Publication date
JP2002082862A (ja) 2002-03-22
DE10131553A1 (de) 2002-02-14
US6763384B1 (en) 2004-07-13
KR20020005981A (ko) 2002-01-18

Similar Documents

Publication Publication Date Title
KR100465582B1 (ko) 네트워크를 통한 이벤트-트리거 통지
US9602618B2 (en) Method and system for dynamic distributed data caching
US8271628B2 (en) Method and system for community data caching
US9203879B2 (en) Offline alerts mechanism
US7392306B1 (en) Instant messaging client having an embedded browser
US7676812B2 (en) Large scale event notification system
US9246975B2 (en) State change alerts mechanism
CN100580665C (zh) 对文件共享应用的索引服务器支持的方法及索引服务器
WO2002056182A2 (en) Method and system for community data caching
KR20010048347A (ko) 인터넷상의 통합 브라우져 및 통합 서버시스템
Wang et al. The SIMBA user alert service architecture for dependable alert delivery
CN101414981B (zh) 实时通讯监听系统、监听方法及监听服务器
Greene 3Com guns for No. 1
Wallace Users warming to Layer 3 switching alternative
KR20020021225A (ko) 전자 게시판 시스템 운영 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee