KR20040053165A - 발행/구독 시스템을 이용한 무선 메시징 서비스 방법 및시스템 - Google Patents

발행/구독 시스템을 이용한 무선 메시징 서비스 방법 및시스템 Download PDF

Info

Publication number
KR20040053165A
KR20040053165A KR10-2004-7005438A KR20047005438A KR20040053165A KR 20040053165 A KR20040053165 A KR 20040053165A KR 20047005438 A KR20047005438 A KR 20047005438A KR 20040053165 A KR20040053165 A KR 20040053165A
Authority
KR
South Korea
Prior art keywords
message
topic
wireless
subscriber
data
Prior art date
Application number
KR10-2004-7005438A
Other languages
English (en)
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 KR20040053165A publication Critical patent/KR20040053165A/ko

Links

Classifications

    • 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]
    • 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/58Message adaptation for wireless communication
    • 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/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • 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/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • 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/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/189Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
    • 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/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Abstract

MOM 발행/구독 기술 및 무선 푸쉬 프로토콜을 이용하여, 무선 장치를 위한 무선 메시징 서비스를 제공할 수 있다. 전형적인 실시예로서, 메시징 시스템은 발행자 애플리케이션(즉, 컨텐츠 제공자) 및 무선 클라이언트 장치(즉, 컨텐츠 구독자) 사이에서 메시지를 브로커하여, 메시지를 수신하고 특정 컨텐츠를 구독해온 구독자에게 메시지를 분배한다. 무선 푸쉬 프로토콜을 이용한 무선 게이트웨이를 경유하여 클라이언트에게 메시지가 푸쉬된다. 메시지 컨텐츠 구독을 이용하여, 뛰어난 입도로, 구독자에 대한 메시지를 필터링하고, 더 높은 서비스 품질을 제공한다.

Description

발행/구독 시스템을 이용한 무선 메시징 서비스 방법 및 시스템{WIRELESS MESSAGING SERVICES USING PUBLISH/SUBSCRIBE SYSTEMS}
무선 통신(wireless telecommunication) 시장은 최근 몇년 동안 급속히 성장해 왔고, 이 성장은 예견할 수 있는 미래에 대하여 대체로 계속될 것으로 예상된다. 점차적으로 무선 장치는 더욱 정교해지고, 무선 애플리케이션을 지원할 수 있게 되었다. 무선 장치 판매에서의 성장으로, (뱅킹, 쇼핑, 및 이메일링, 특히 새로운 위치 기반 서비스와 같은) 무선 애플리케이션 가능 장치를 위한 광범위한 무선 서비스도 동시에 성장하고 있다.
무선 서비스들은 믿을 만하고, 스케일러블(scalable)하고, 사용자의 요구를 충족시켜야 하기 때문에, 무선 서비스를 구축하는 이들에게는 도전해볼만한 일이다. 처음에는 그러한 서비스를 구축하는 것은 매우 단순한 작업인 것처럼 보일 수도 있어, 서비스 제공자 혼자서 시작에서 끝까지 완전한 솔루션을 개발함으로써 문제를 다루려고 시도할 수도 있다. 그러나, 무선 서비스 시장은 규모가 증대되고 있기 때문에, 더 비용 효율적이고, 더 믿을 만한 솔루션이 필요할 것이다.
MOM(Message-oriented middleware; 메시지 지향 미들웨어) 예를 들면, MQ(message queuing; 메시지 큐잉) 시스템은 애플리케이션간에 비동기식 메시지 전송 서비스를 제공한다. 그러한 시스템에서 애플리케이션은, 소스(source) 및 목적(destination) 애플리케이션이 동시에 활성화될 것을 요구하지 않고, 시 독립(time independent) 방식으로 정보를 교환할 수 있다.
다양한 소프트웨어 회사가 상업용 MOM 제품을 개발하고 있다: IBM사에서 나온 MQSeries(R)메시지 큐잉 시스템은, 데스크탑(desktop)에서 메인프레임(mainframe)까지 이종의 임의의 장치 연결을 위하여 개발된 하나의 그러한 제품이다. API(application programming interface; 애플리케이션 프로그래밍 인터페이스)의 포괄적인 군은 임의의 메시징 태스크를 위한 코딩을 수월하게 하도록 설계되고, 시스템 통합 사업자(integrator)가 운영 시스템에 특정된 세부사항 보다는 비지니스 논리에 초점을 맞출 수 있게 한다. 기초가 되는 애플리케이션 또는 네트워크가 고장날 때 조차도, "once-only" 메시지 전달이 항상 보장되기 때문에, 메시지 및 이동(transference) 무결성(integrity)은 MQSeries의 다른 주요 특징이다.
전형적인 MOM 통합 시나리오에 있어서, 두개 이상의 애플리케이션은 하나 이상의 노드의 MQ 시스템 네트워크를 경유하여 비동기식 방식으로 정보를 교환한다. 애플리케이션은 대기 행렬로부터 메시지를 넣고(putting) 얻음(getting)으로써 통신한다. MQ 시스템이 메시지들을 처리할 수 있을 때까지, 메시지들은 네트워크 내의 중간 대기 행렬에 저장된다. 메시지들은 목적 애플리케이션을 향해 라우트(route)되고, 목적 애플리케이션이 메시지를 검색할 때까지 마지막 대기 행렬 내에 유지된다.
노드에서의 대기 행렬은 대기 행렬 관리자로 알려진 컴포넌트에 의하여 관리된다. 대기 행렬 관리자는 대기 행렬을 사용하는(예를 들면, 놓고(putting) 얻음(getting)) 애플리케이션에 필요한 서비스를 제공하고, 메시지를 정확한 대기 행렬로 라우트하기 위하여 다른 대기 행렬 관리자와 통신한다. 중요한 비지니스 애플리케이션의 요구를 수용하기 위하여, MQSeries는 거래형 메시지(transactional messaging), 보안 메시징(secure messaging), 트리거링 메커니즘(triggering mechanism) 및 씬 클라이언트(thin client)에 대한 지원을 제공한다. MQ 시스템은 유연하고(flexible) 다용도이며, 단일 대기 행렬이 몇몇의 애플리케이션과 함께 작업하도록 허용한다. MQ 시스템 네트워크의 동작은 소스 및 목적 애플리케이션에 투명하며(transparent), 이는 각 요구가 단지 하이 레벨(high level) API에 인터페이스하는 것에 관련되어 있기 때문이다. 특정 MQ 시스템에 특별할 수도 있는 API를 제공하는 외에, MQ 시스템은, MQ시스템을 자바(Java) 기반 애플리케이션 및 컴포넌트까지 편리하게 확장하는 Sun Microsystem, Inc.의 Java(TM)메시지 서비스(JMS) 스펙에 따라, API를 제공할 수도 있다.
MQSeries Integrator(버젼 1.1)를 통하여, 한층 더한 유연성 및 다용도성이 MQSeries 제품 라인에서 제공된다. 기본적인 MQSeries 메시징 프레임웍 위에 구축된 MQSeries Integrator는 애플리케이션, 데이터베이스 및 정보를 필요로 하는 사용자에게 정보를 선택하고 분배하는 강력한 정보 브로커(broker)이다. MQSeries Integrator는 새로운 메시징 솔루션을 구축하거나 종래의 메시징 솔루션을 확장함으로써, 커스터마이즈(customize)된 메시지 프로세싱을 가능하게 한다. MQSeiries Integrator는 MQSeries 메시징층 및 메시지를 처리(processing), 변형(tranforming) 및 분배(distributing)하고 이러한 특징들을 발행/구독 기능과 조합하는 메시지 브로커링(brokering) 허브를 제공한다. 커스터마이즈된 메시지 라우팅(routing) 및 메시지 컨텐츠의 변형을 가능하게 함으로써, MQSeries Integrator는 비지니스 논리를 애플리케이션 논리 및/또는 데이터 논리와 분리한다.
MQSeries Integrator에서 사용된 주요 컨셉은 메시지 흐름(message flow)의 컨셉이다. 메시지 흐름은 대기 행렬 사이에서 "흘러가는" 동안 메시지가 어떻게 변형되는지를 도식 전개하는 환경에 있어서, 배선도와 같은 시각적 표현이다. 메시지 브로커(Message Broker; 브로커)는 MQSeries 애플리케이션 사이에서 메시지가 지나가기 위한 중간 지국(way station) 또는 허브로서 작용한다. 일단 메시지가 브로커에 도달하면, 그 후 메시지는 브로커의 구성 및 메시지의 컨텐츠에 따라 처리될 수 있다. 브로커 내에서 개개의 기능은 상호 연결된 노드(예를 들면 브로커의 실행 환경으로부터 호출된 DLL(dynamic linked library; 동적 연결 라이브러리))의 관념적인 컬렉션(collection)에 할당되고, 상기 노드에서 프로세싱 및 변형 활동이, 요구된 것과 같이 발생할 수 있다. MQSeries Integrator가 메시지를 처리, 변형 또는 분배하기 위하여 제공하는 기본적인 노드 외에도, 커스터마이즈된 노드를 준비하여 메시지 흐름 능력을 더욱 향상시킬 수도 있다. 선행 기술에 따른 전형적인 메시지 흐름 시나리오는 도 1에 도시되어 있다.
MQSeries Integrator 및 특별히 중요한 다른 MOM의 한가지 부가적인 특징은 발행/구독 기능이다. 발행/구독 시스템은 발행자(publisher) 애플리케이션으로부터의 메시지 기반 정보를 선택된 토픽에 의하여 구독 애플리케이션에 분배하는 역할을 담당한다. 발행/구독 시스템에 있어서, 발행자는 토픽(topic)에 의하여 정의된 정보의 공급자이다. 구독자(subscriber)는 관심있는 토픽에 대한 정보의 수신자이고, 또한 다른 관심있는 구독자들에게는 정보의 전달자가 될 수도 있다. 토픽은 메시지에 포함된 정보의 주제이고 스트림(stream)은 관련 토픽의 그룹이다. 스트림은 토픽에 대한 액세스 제어를 제공하는데 유용하다. 마지막으로 브로커는 발행자로부터 구독자에게로 메시지를 제어하고 라우트하는 서비스이다.
또한, 발행/구독 패러다임은, 정보를 제공하는 애플리케이션 정보를 정보를 소비하는 애플리케이션과 분리시키는 것을 가능하게 한다. 발행자 애플리케이션에 있어서, 누가 정보를 요청했고 또는 누가 요청할 것인지, 그리고 누구에게 정보를 보낼 것인지를 알 필요 없이, 정보가 이용 가능하게 된다. 구독자 애플리케이션에 있어서, 발행/구독 시스템의 기능은 선택 기준의 치밀성을 증가시킴으로써 크게 향상된다. 토픽이 토픽 구독자의 일반적인 기준과 일치할 때 조차도, 특정한 구독자가 원하지 않는 토픽에 대해서 발행되는 많은 메시지가 있을 수도 있다. MQSeries Integrator는 컨텐츠 기반 구독을 허용하고 구독자에게 보내질 메시지 선택의 치밀성을 개선하여, 정보를 분배하는 더 선택적이고 효율적인 방법이 제공된다.
선행 기술에 따른 단순한 발행/구독 시스템(10)이 도 2에서 도시된다. 발행자 애플리케이션의 집합(발행자들)(총괄적으로; 12)은 토픽에 관심을 표현했던 하나 이상의 구독자 애플리케이션(구독자들)(총괄적으로; 14)에게 토픽에 따라 데이터 메시지로 된 정보를 제공한다. 발행자들(12) 및 구독자들(14) 사이에, 네트워크를 경유하여 서로 통신하는 다수의 브로커 컴퓨터 시스템(브로커들; 16)을 갖는 발행/구독 데이터 프로세싱 브로커 네트워크가 있으며, 이 브로커들은 발행자들(12)로부터의 메시지를 관리하고 구독자들(14)로 라우트한다. 하나 이상의 브로커가 시스템(10) 내에 공존함으로써 서로에게 메시지를 전달하여 범위성(scalability)을 가능하게 할 수 있음을 주시하는 것이 중요하다.
도 2 내의 시스템(10)의 발행자(12), 구독자(14) 및 브로커(16) 사이의 관계는 다음과 같이 요약될 수도 있다.
발행자 및 브로커
발행자는 특정 토픽에 대하여 브로커들 중 하나에게 정보를 발행하는 것을 등록할 수 있고;
발행자는 브로커에게 메시지를 보낼 수 있고;
발행자는 브로커에 의하여 유지된 메시지의 삭제를 요청할 수 있고;
발행자는 브로커를 등록 해제할 수 있다.
구독자 및 브로커
구독자는 구독자가 관심 있어 하는 하나 이상의 토픽에 대하여 브로커 중 하나를 등록할 수 있고;
브로커는 등록에 기반하여 각 구독자에게 정보를 보낼 수 있고;
구독자는 브로커를 등록 해제할 수 있다.
브로커 및 브로커
브로커는 구독자 등록 및 등록 해제를 교환할 수 있고;
브로커는 발행을 교환하고 요청을 삭제하고;
브로커는 그들 자신에 관한 정보를 교환할 수 있다.
명시된 것처럼, MOM은 애플리케이션 사이에 메시징을 용이하게 한다. 큰 변화를 겪고 있는 하나의 애플리케이션 영역은 무선 애플리케이션 영역이다. 무선 애플리케이션 프로토콜(Wireless Application Protocol; WAP)은 애플리케이션 프레임웍, 및 인터넷 통신 및 휴대 전화, 호출기, PDA 및 다른 무선 단말과 같은 광범위한 무선 장치 상의 진보된 전화 통신 서비스를 제공하는 네트워크 프로토콜의 집합을 특정한다. WAP 스펙은 인터넷 기술뿐만 아니라 종래의 모바일 네트워킹 기술을 확장 및 재사용하려고 시도한다. WAP 이면의 동기는 제한된 능력(대역폭, 지연(latency), 접속 안정성, 가용성)을 가진 무선 데이터 네트워크 내에서 동작하는, 제한된 자원(전원, CPU, 메모리, 디스플레이 크기 등)을 가진 장치가 월드 와이드 웹(World Wide Web)에 액세스할 수 있도록 하는 것이다.
고전적인 월드 와이드 웹 클라이언트/서버 모델에 따르면, 클라이언트는 웹 브라우저를 사용하여, 웹 서버에 대한 컨텐츠 요청 또는 컨텐츠에 대한 풀(pull)을 초기화한다. 웹 서버는 요청된 컨텐츠를 응답으로 보냄으로써 클라이언트 요청에응답한다. WAP은 무선 전화 통신 액세스(Wireless Telephony Access; WTA)로 전화 통신 지원을 부가함으로써 웹 아키텍쳐를 확장하는 풀(pull) 모델을 수용한다. 더욱이, WAP은 서버가 사전 행동으로 클라이언트에게 컨텐츠를 보낼 수 있는 "푸쉬(push)" 모델을 가능하게 한다.
도 3에서 도시되는 전형적인 WAP 구성에 있어서, 무선으로 웹 정보의 통신을 용이하게 하기 위하여, 클라이언트 및 웹 서버 사이에 부가적인 층이 배치되어 있다. WAP 프록시 게이트웨이는 여분의 층을 제공하고, WAP 프로토콜 스택으로부터 HTTP 프로토콜 스택으로 요청을 변환하고 그 역으로 요청을 변환하는 역할을 담당한다. WAP 프록시 게이트웨이는 또한 컨텐츠를 무선 네트워크에 적합한 더 컴팩트한 포맷으로 인코딩 및 변환하는데 유용하다. 클라이언트 및 웹 서버 통신이 무선 통신을 지원하는 HTTP/1.1을 이용하여 수행될 수도 있기 때문에, 최근의 WAP 프로토콜은 모든 환경에서 WAP 프록시 게이트웨이를 요구하지는 않는다. 그러나, WAP 프록시 게이트웨이는 통신 프로세스를 최적화할 수 있고, 프라이버시, 위치 및 존재에 기반한 모바일 서비스 향상을 제공할 수도 있다. 그러나, WAP 프록시 게이트웨이는 푸쉬 기능을 제공할 필요가 있다.
푸쉬 개시자(Push Initiator; PI) 및 WAP 클라이언트 사이의 푸쉬 동작은, PI가 푸쉬 컨텐츠 및 전달 제어 명령어를 WAP 푸쉬 프록시 게이트웨이(PPG)에 전송하고, 그 후 PPG는 전달 명령에 따라 푸쉬 컨텐츠를 WAP 클라이언트에 전달함으로써 수행된다. PI는 보통의 웹 서버 상에서 구동되는 애플리케이션으로서 구성될 수도 있다. PI 및 PPG는 개별 엔티티로 구성되거나 함께 배치될 수도 있다. 함께배치되는 것(co-location)은 PPG 오퍼레이터(operator) 서비스, 대규모 서비스 제공자, 및 다른 필요 조건들 또는 이익들 사이의 전송 레벨 종단 대 종단 보안(transport level end-to-end security)을 요구하는 시나리오를 지원한다.
PI는 푸쉬 액세스 프로토콜(Push Access Protocol; PAP)로 알려진 프로토콜을 이용하여 PPG와 통신한다. 클라이언트에게 푸쉬 컨텐츠를 전달하기 위하여, PPG는 푸쉬 오버더에어(Over-The-Air; OTA) 프로토콜로 알려진 프로토콜을 이용한다. PAP는 표준 인터넷 프로토콜에 기반하고 있다; XML은 전달 명령을 표현하기 위하여 사용되고, 푸쉬 컨텐츠는 임의의 MIME(multipurpose Internet mail extensions; 다목적 인터넷 메일 확장) 매체 형태일 수 있다. 이러한 표준은 WAP 푸쉬를 유연하고 확장 가능하게 하는데 도움을 준다.
PPG는 푸쉬 컨텐츠를 클라이언트로 라우트하는 역할을 담당하기 때문에, 푸쉬 통신을 위한 대부분의 작업을 행한다. PPG는 인증 및 액세스 제어, 어드레스 변환(address resolution), 프로토콜 변환(protocol conversion), 2진 인코딩, 및 다른 태스크간의 컨텐츠 필터링을 수행하는 능력을 갖는다. PPG는 특정한 무선 클라이언트의 능력에 대해 질의하고 질의하는 PI에게 결과를 제공하여, 더 양호한 포맷된 컨텐츠를 생성하는데 도움을 줄 수도 있다. PPG는 또한 메시지의 브로드캐스팅(broadcasting) 또는 멀티캐스팅(multicasting)을 수행할 수 있다.
PAP는 다음과 같은 오퍼레이션을 지원한다.
Push Submission (PI to PPG)
Push Notification (PPG to PI)
Push Cancellation (PI to PPG)
Status Query (PI to PPG)
Client Capabilities Query (PI to PPG)
PAP는 종래의 인터넷 인프라스트럭쳐와의 호환성을 위하여 HTTP를 통해 터널(tunnel)될 수 있다.
OTA는 연결형(connection oriented) 또는 비연결형(connection-less) 방식으로 WAP 세션 프로토콜(WAP Session Protocol; WSP)을 이용하여, 데이터를 PPG로부터 무선 클라이언트로 전송하는 역할을 담당한다.
푸쉬 메시지 컨텐츠는 몇 부분으로 나누어지고 PPG를 위한 제어 정보를 포함한다. 제어 정보는 수신자 주소, 전달 시간 제약, 서비스 품질(QOS) 정보, 통지 요청 등을 포함한다.
동작에 있어서, PPG는 발신(originating) PI에 대한 제어 정보의 성공적인 파싱(parsing)을 승인하거나(acknowledge) 실패한 파싱을 보고한다. 푸쉬 컨텐츠 자체에 관한 디버그 정보는 선택적으로 보고될 수도 있다. 일단 컨텐츠가 전달을 위해 용인되면, PPG는 정확한 클라이언트를 검색하고 그 클라이언트에게 컨텐츠를 전달한다. 푸쉬 컨텐츠 타임 아웃 파라미터(push content timeout parameter)를 사용하여 PPG 전달 시도를 제한할 수도 있다. 이러한 타임아웃은 PI 및/또는 PPG 오퍼레이터 정책에 의해 설정될 수도 있다.
PI의 요청이 있으면, 푸쉬 서브미션(submission)의 마지막 상태(전달되고, 취소되고, 만료되는 등의 상태)가 결정될 때, PPG는 또한 통지를 보낼 수도 있다.메시지 큐잉 시스템에 관하여 전에 논의되었던 것처럼, PI는 온라인 상에서 PPG가 전달을 완료하기를 기다리도록 요구받지 않기 때문에, PI 및 PPG 사이의 푸쉬 서비스는 PI의 관점에서는 비동기식이다.
WAP 푸쉬 프레임웍은 임의의 MIME 매체 형태가 PI 및 클라이언트 사이에서 전달되는 것을 허용한다. 부가적인 매체 형태는, 종래의 MIME 형태에 의하여 아직까지 제공되지 않은 능력을 부가하는 WAP 표준에 의해 정의된다. 특히, 서비스 표시(Service Indication; SI) MIME 매체 형태는, 비동기 방식으로, 엔드유저(end user)에게 통지를 보내는 능력을 제공한다. 이러한 통지는, 예를 들면, 새로운 이메일, 주식 가격에 있어서의 변화, 뉴스 헤드라인, 광고, 미지급된 적은 거스름돈(prepaid balance)의 리마인드(reminder) 등에 관한 것일 수도 있다.
가장 기본적인 형태로, SI는 단문 메시지 및 서비스를 표시하는 URI(uniform resource identifier)를 포함한다. 메시지는 수신시에 클라이언트 엔드유저에게 보내지고, 사용자에게는 URI에 의해 표시되는 서비스를 즉시 시작하거나 나중 처리를 위해 SI를 연기할 수 있는 선택권이 주어진다. SI가 연기된다면, SI는 클라이언트 장치에 의해 저장된다. SI는 현재 유일한 필수적인 WAP 푸쉬 프레임웍 매체 형태이다.
SI 스펙은 사용자 개입(user-intrusiveness) 레벨, 실효성 없는 SI의 삭제, 만료된 SI의 대체, 부적절한 전달에 대한 취급, 및 SI의 만료와 같은 엔드유저의 경험을 개선하기 위하여 다양한 메커니즘을 제공한다.
SI가 어떻게 사용될 수 있는지에 대한 예로서, 새로운 이메일에 대한 사용자통지가 있다. 전형적으로 무선 이메일 서비스 제공자는, 사용자가 사용자 이메일 프로그램을 통해 네비게이트(navigate)할 수 있는 WML 웹 사이트를 제공한다. 새로운 이메일이 웹 서버에 도착할 때, 바람직하게는 사용자에게 통지된다. SI는 텍스트 메시지(예를 들면, "You have 1 new email") 및 URI와 같이 사용자에게 보내져서, 사용자가 바로 웹 사이트로 가서 새로운 이메일을 브라우즈(browse)할 수 있도록 한다.
어떤 경우에 있어서는, 클라이언트가 SI에 응답하는 것을 기다리는 것이 적합하지 않다. 이러한 경우에는, 클라이언트 장치가 사용자 입력을 요구하지 않고 푸쉬 메시지에 의해 표시되는 서비스를 로드하는 것이 더 적합하다. 서비스 로딩(Service Loading; SL)은 엔드유저의 확인 없이 클라이언트에 의해 로드될 어떤 컨텐츠를 가리키는 URI를 전달하는 부가적인 MIME 매체 형태이다. 또한, SL은 컨텐츠가 클라이언트 캐쉬 내에서 실행되고/실행되거나 렌더링되거나 위치되어야 하는지에 대한 명령을 포함한다. 컨텐츠가 실행되고/실행되거나 렌더링되어야 한다면, PI는 사용자 개입의 레벨을 제어할 수 있다.
예를 들면, 미리 지불된 무선 전화 통신 서비스 구독을 하는 사용자가 통화하는 동안 선급된 자금이 다하게 될 때, SL이 사용될 수 있다. 이러한 시나리오에 있어서, 무선 서비스는 통화 연결을 끊기보다 사용자가 선급된 구독에 자금을 더 추가하도록 허용하여, 사용되는 서비스를 로드하게 하는 것이 더 적절할 수도 있다. 일단 서비스가 로드되고 적절한 정보가 전송된다면, 사용자는 버튼을 누르는 것과 같은 적절한 동작을 선택할 수 있다. 만약 SI가 그 대신 사용된다면, 사용자는 우선 서비스를 용인하고, 로드한 후 자금을 더 추가하여 진행하도록 요구 받는다.
무선 메시징 애플리케이션은 WAP 외의 다른 프로토콜하에서 지원될 수도 있다. 예를 들면, 일본의 NTT DoCoMo, Inc.는 무선 이메일, 웹 브라우징, 메시지 서비스 및 패킷 데이터 전송을 이용한 무선 전화 장치에 대한 다른 특징들을 제공하는 i-modeTM무선 서비스를 상업화하였다. 도 4는 i-mode 모델의 블록 다이어그램을 도시한다. WAP 및 현재 i-mode 서비스의 프로토콜 사이에 많은 유사점들이 있지만, 한가지 차이점은 웹 페이지 기술(description) 언어의 영역에 있다. i-mode가 현재 보통의 HTML에 기반한 인터넷 웹 사이트와 유사한 컴팩트 HTML(cHTML)를 이용하는 반면, WAP은 WML을 지정한다. NTT DoCoMo의 i-mode는 또한 무선 푸쉬 메시지를 위한 지원을 제공한다.
새로운 무선 서비스를 제공하거나 리거시 서비스(legacy service)를 무선 환경으로 확장하기 위하여, 사용자 요구를 충족시킬 비용면에서 효율적이고 믿을만하고 스케일러블한 솔루션이 요구된다.
본 발명은 발행/구독(publish/subscribe) 시스템을 이용한, 무선 애플리케이션 사용 가능 장치를 위한, 무선 메시징(messaging) 서비스에 관한 것이다.
본 발명의 바람직한 실시예는 첨부 도면을 참조하여 예로서 설명될 것이다.
도 1은 선행 기술에 따른, 메시지 대기 행렬 시스템 내에서의 전형적인 메시지 흐름의 블록 다이어그램.
도 2는 선행 기술에 따른, 발행/구독 시스템의 블록 다이어그램.
도 3은 선행 기술에 따른, 푸쉬 및 풀 프레임웍을 나타내는 클라이언트/서버 통신을 위한 WAP 모델의 블록 다이어그램.
도 4는 선행 기술에 따른, 클라이언트/서버 통신을 위한 i-mode 모델의 블록 다이어그램.
도 5는 WAP 및 메시지 대기 행렬 시스템을 이용하는 발명의 바람직한 실시예에 따른, 무선 메시징 서비스의 블록 다이어그램.
도 6은 전형적인 메시지 대기 행렬 시스템을 도시하는 도 4의 무선 메시징 서비스의 블록 다이어그램.
도 7은 도 5 및 도 6의 본 발명의 바람직한 실시예에 따른, 메시지를 구독 및 수신하는 방법을 도시하는 흐름도.
도 8은 본 발명의 바람직한 실시예에 따른, 무선 메시징 서비스에 의하여 구독자에게 제공되는 무선 메시징 서비스 메시지의 예를 나타내는 도면.
도 9는 본 발명의 바람직한 실시예에 따른, 발행자 애플리케이션 및 무선 구독자 사이에서 메시지를 브로커하는 방법을 나타내는 도면.
첨부 도면을 통하여, 유사한 특징이 유사한 참조 번호에 의하여 식별된다.
본 발명의 한 측면에 따라, 발행자 애플리케이션 및 적어도 하나의 무선 구독자(wireless subscriber) 사이의 메시지를 브로커(broker)하는 방법이 제공된다. 상기 방법은 토픽에 대해 발행된 데이터 메시지, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하는 단계와; 토픽(데이터 메시지는 토픽에 대하여 발행되었음)에 대한 메시지를 구독해온 구독자를 위한 메시지를 분배하는 무선 푸쉬 프로토콜(wireless push protocol)을 사용하는 단계를 포함한다.
바람직하게는, 메시지를 분배하는 무선 푸쉬 프로토콜을 이용하는 단계는 발행된 데이터 메시지에 관한 토픽에 따라 데이터 메시지를 필터링하는 단계를 더 포함한다. 또한, 바람직하게는, 데이터 메시지를 필터링하는 단계는 데이터 메시지의 토픽, 데이터 메시지의 컨텐츠 및 구독자의 구독에 관한 비지니스 논리를 이용한다. 비지니스 논리는 상기 방법의 실시예에 따른 메시지의 흐름을 제어한다.
본 발명의 특징에 따라, 분배하기 위하여 무선 푸쉬 프로토콜을 이용하는 단계는, 메시지를 무선 게이트웨이에 전달하기 이전에, 무선 푸쉬 프로토콜을 이용하여 메시지를 푸쉬 메시지로 변환하는 단계를 포함한다. 바람직하게는, 무선 게이트웨이에 전달된 변환된 메시지는, SI 매체 형태 또는 SL 매체 형태에 따르는 MIME 부분을 포함한다.
상기 방법은, 구독자가 토픽(토픽에 대하여, 데이터 메시지는 푸쉬 프로토콜을 이용하여 무선 전달(wireless delivery)에 의하여 발행된다)에 대한 메시지를 수신해야 함을 요청하는 구독자로부터의, 구독 요청을 포함하는 구독자 데이터 메시지(subscriber data message)를 수신하는 단계를 포함한다. 구독자 메시지는 구독 요청을 용이하게 하기 위하여 사용자 애플리케이션으로부터 수신될 수도 있고, 바람직하게는, 구독자에게 토픽 데이터를 전달하는 웹 사용자 애플리케이션에 토픽 데이터를 제공하는 단계를 더 포함한다. 토픽 데이터는 동적으로 사용자 애플리케이션에 의해 페이지에 맵핑(map)되어, 토픽 데이터가 구독자에게 전달되기 이전에무선 장치에 의하여 디스플레이될 수도 있다.
상기 방법은 발행자 애플리케이션(여기에서 데이터 메시지는 토픽에 대한 데이터 메시지를 발행하고자 하는 발행 요청을 포함한다)으로부터 데이터 메시지를 수신하는 단계를 더 포함할 수도 있다. 바람직하게는, 구독자에게 제공되는 토픽 데이터는, 구독자에게 토픽 데이터를 전달하는 사용자 애플리케이션에 저장되고 제공된다.
본 발명의 실시예에 따라, 상기 방법은, 네트워크를 통해 서로 통신하는 다수의 브로커 컴퓨터 시스템을 갖는 발행/구독 데이터 프로세싱 브로커 내에서 수행된다.
또 다른 실시예에 따라, 상기 방법은 무선 게이트웨이에서 메시지를 수신하고, 무선 푸쉬 프로토콜을 이용하는 무선 전달에 의하여 구독자에게 메시지를 전달하는 단계를 더 포함한다.
또 다른 실시예에 따라, 상기 방법은 발행자 애플리케이션에 의한 토픽에 관한 데이터 메시지를 발행하는 단계를 더 포함한다.
또 다른 실시예에 따라, 상기 방법은 구독 요청을 용이하게 하기 위하여 웹 사용자 애플리케이션으로부터 구독자 메시지를 발생시키는 단계를 더 포함한다.
바람직하게는, 본 발명의 방법에 따라, 구독자에게 분배된 메시지는 구독자에게 비동기 이벤트(asynchronous event)가 발생했음을 통지하고 상기 이벤트에 반응하기 위하여 초기화될 수 있는 서비스를 표시하거나, 사용자 인트루시브니스 레벨에 따라 로드될 서비스를 표시한다.
상기 방법은, 바람직하게는, 토픽에 대하여 발행된, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하는 단계와; 토픽(데이터 메시지는 토픽에 관하여 발행되었음)에 대한 메시지를 구독해온 구독자를 위하여 메시지를 분배하는 무선 푸쉬 프로토콜을 이용하는 단계를 포함하고, 분배하기 위하여 상기 무선 푸쉬 프로토콜을 이용하는 단계는 무선 게이트웨이에 메시지를 전달하기 이전에 무선 푸쉬 프로토콜을 이용하여 메시지를 푸쉬 메시지 포맷으로 변환하는 단계를 포함한다.
바람직하게는, 무선 게이트웨이에 전달된 변환된 메시지는 SI 매체 형태 또는 SL 매체에 따르는 MIME 부분을 포함한다.
상기 방법은, 바람직하게는, 무선 게이트웨이에서 메시지를 수신하는 단계와; 무선 푸쉬 프로토콜을 이용하여 무선 전달에 의하여 구독자에게 메시지를 전달하는 단계를 포함한다.
상기 방법은, 바람직하게는, 토픽에 대하여 발행된, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하는 단계와; 구독 요청을 용이하게 하기 위하여 사용자 애플리케이션에 토픽 데이터(토픽 데이터는, 구독자에게 전달되기 이전에, 무선 장치 상에서 디스플레이하는 페이지에, 사용자 애플리케이션에 의하여 동적으로 맵핑된다)를 제공하는 단계와; 구독자가 토픽(데이터 메시지는 푸쉬 프로토콜을 이용한 무선 전달에 의하여 토픽에 대하여 발행됨)에 대한 메시지를 수신해야 함을 요청하는 구독자로부터의, 구독 요청을 포함하는 사용자 애플리케이션으로부터의 구독자 데이터 메시지를 수신하는 단계와; 토픽에 대한 메시지를 구독해온 구독자를 위한 메시지를 분배하는 무선 푸쉬 프로토콜을 이용하는 단계를 포함한다.
상기 방법은 바람직하게는 발행자 애플리케이션으로부터 데이터 메시지(데이터 메시지는 토픽에 대한 데이터 메시지를 발행하기 위한 발행 요청을 포함한다)를 수신하는 단계를 포함한다.
컴퓨터로 판독 가능한 매체는, 컴퓨터 시스템이 적어도 하나의 발행자 애플리케이션 및 적어도 하나의 무선 구독자 사이에서 메시지를 브로커할 수 있도록 하는, 실행 가능한 프로그램 명령을 포함할 수도 있고, 토픽에 대해 발행된, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하는 프로그램 명령들과; 토픽에 대한 메시지를 수신하기 위하여 구독해온 구독자에게 토픽에 관한 메시지(구독된 메시지는 무선 푸쉬 프로토콜을 이용하여 분배되고 있다)를 분배하는 프로그램 명령을 포함한다.
컴퓨터로 판독 가능한 매체는, 분배를 위한 프로그램 명령이 토픽에 의하여 데이터 메시지를 필터링하는 프로그램 명령을 포함하는 것일 수도 있다.
컴퓨터로 판독 가능한 매체는, 분배를 위한 프로그램 명령이, 데이터 메시지의 토픽, 데이터 메시지의 컨텐츠 및 구독자의 구독에 기반한 비지니스 논리를 이용하여, 데이터 메시지를 필터링하는 프로그램 명령을 포함하는 것일 수도 있다.
컴퓨터로 판독 가능한 매체는, 비지니스 논리가 메시지의 흐름을 제어하는 것일 수도 있다.
컴퓨터로 판독 가능한 매체는, 푸쉬 프로토콜을 이용하는 무선 전달에 의하여, 토픽(토픽에 대하여, 데이터 메시지가 발행됨)에 대한 메시지를 수신하기 위하여, 구독자 구독 요청을 수신하는 프로그램 명령을 더 포함하는 것일 수도 있다.
컴퓨터로 판독 가능한 매체는, 구독자 메시지가 구독 요청을 용이하게 하기 위하여 사용자 애플리케이션으로부터 수신되는 것일 수도 있다.
컴퓨터로 판독 가능한 매체는, 토픽에 대한 데이터 메시지(상기 데이터 메시지는 발행자 애플리케이션으로부터 발신됨)를 발행하는 발행 요청을 포함하는 데이터 메시지를 수신하는 프로그램 명령을 더 포함하는 것일 수도 있다.
컴퓨터로 판독 가능한 매체는, 토픽이 구독자에게 제공되도록 허용하는 토픽 데이터를 저장하는 프로그램 명령을 더 포함하는 것일 수도 있다.
컴퓨터로 판독 가능한 매체는, 토픽 데이터가 구독자에게 전달되도록 허용하기 위하여 사용자 애플리케이션에 토픽 데이터를 제공하는 프로그램 명령을 더 포함하는 것일 수도 있다.
컴퓨터로 판독 가능한 매체는, 토픽에 대한 데이터 메시지를 발행하는 프로그램 명령을 더 포함하는 것일 수도 있다.
컴퓨터로 판독 가능한 매체는, 컴퓨터 시스템이 적어도 하나의 발행자 애플리케이션 및 적어도 하나의 무선 구독자 사이에서 메시지를 브로커할 수 있도록 하는 실행 가능한 프로그램 명령을 포함할 수도 있고, 토픽에 대해 발행된, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하는 프로그램 명령과; 토픽에 대한 메시지를 수신하기 위하여 구독해온 구독자에게, 토픽에 관한 메시지(구독된 메시지는 무선 푸쉬 프로토콜을 이용하여 분배된다)를 분배하는 프로그램 명령을 포함하고, 분배를 위한 상기 프로그램 명령은, 무선 푸쉬 프로토콜을 이용하여 무선 게이트웨이에 메시지를 전달하기 위하여 메시지를 푸쉬 메시지 포맷으로 변환하는 프로그램 명령을 포함한다.
컴퓨터로 판독 가능한 매체는, 무선 게이트웨이로의 전달을 위한 메시지가 SI 매체 형태 또는 SL 매체 형태에 따르는 MIME 부분을 포함하는 것일 수도 있다.
컴퓨터로 판독 가능한 매체는, 컴퓨터 시스템이 발행자 애플리케이션 및 적어도 하나의 무선 구독자 사이에서 메시지를 브로커할 수 있도록 하는 실행 가능한 프로그램 명령을 포함하는 것일 수도 있고, 토픽에 대해 발행된, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하는 프로그램 명령과; 구독 요청을 용이하게 하기 위하여 사용자 애플리케이션에 토픽 사용자(토픽 데이터는 구독자에게 전달되기 이전에, 무선 장치 상에서 디스플레이하는 페이지에, 사용자 애플리케이션에 의하여 동적으로 맵핑된다)를 제공하는 프로그램 명령과; 사용자 애플리케이션으로부터 구독자 데이터 메시지(구독자 데이터 메시지는, 구독자가 토픽(데이터 메시지는 푸쉬 프로토콜을 이용하는 무선 전달에 의하여, 토픽에 대하여 발행된다)에 대한 메시지를 수신해야 함을 요청하는 구독자로부터의 구독을 포함한다)를 수신하는 프로그램 명령과; 토픽(데이터 메시지는 토픽에 대하여 발행되었음)에 대한 메시지를 구독해온 구독자를 위해 메시지를 분배하기 위하여 무선 푸쉬 프로토콜을 이용하는 프로그램 명령을 포함한다.
컴퓨터로 판독 가능한 매체는, 토픽에 대한 데이터 메시지를 발행하는 발행 요청을 포함하는 데이터 메시지(상기 데이터 메시지는 발행자 애플리케이션으로부터 발신됨)를 수신하는 프로그램 명령을 더 포함하는 것일 수도 있다.
본 발명의 한 측면에 따라, 적어도 하나의 발행자 애플리케이션 및 적어도 하나의 무선 구독자 사이에서 메시지를 브로커하는 컴퓨터 시스템이 제공되며, 상기 컴퓨터 시스템은, 토픽에 대해 발행된, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하는 수단과; 무선 전달 및 무선 푸쉬 프로토콜을 이용하여, 토픽(데이터 메시지는 토픽에 대하여 발행되었음)에 대한 메시지를 수신하기 위하여, 구독해온 구독자에게 메시지를 분배하는 수단을 포함한다.
컴퓨터 시스템은, 분배하는 수단이, 토픽에 따라 발행된 데이터 메시지를 필터링하는 수단을 포함하는 것일 수도 있다.
컴퓨터 시스템은, 분배하는 수단이, 데이터 메시지의 토픽, 데이터 메시지의 컨텐츠 및 구독자의 구독에 기반한 비지니스 로직을 이용하여 데이터 메시지를 필터링하는 수단을 포함하는 것일 수도 있다.
컴퓨터 시스템은, 비지니스 로직이 메시지의 흐름을 제어하는 것일 수도 있다.
컴퓨터 시스템은, 구독자로부터 구독 요청 메시지를 수신하고, 푸쉬 프로토콜을 이용한 무선 전달에 의하여, 토픽(데이터 메시지는 토픽에 대하여 발행됨)에 관한 메시지 수신을 요청하는 수단을 더 포함할 수도 있다. 제39항에 있어서의 컴퓨터 시스템은, 구독자 메시지가 구독 요청을 용이하게 하는 사용자 애플리케이션으로부터 수신되는 것을 특징으로 한다.
컴퓨터 시스템은, 토픽에 대한 데이터 메시지(메시지는 발행자 애플리케이션으로부터 발신됨)를 발행하는 메시지 발행 요청을 수신하는 수단을 더 포함하는 것일 수도 있다.
컴퓨터 시스템은, 구독자에게 제공된 토픽 데이터를 저장하는 수단을 더 포함하는 것일 수도 있다.
컴퓨터 시스템은, 구독자에게 토픽 데이터를 전달하는 사용자 애플리케이션에 토픽 데이터를 제공하는 수단을 더 포함하는 것일 수도 있다.
컴퓨터 시스템은, 네트워크를 경유하여 서로 통신하는 다수의 발행/구독 데이터 프로세싱 브로커 컴퓨터 시스템을 포함하는 것일 수도 있다.
컴퓨터 시스템은, 발행자 애플리케이션으로부터 수신된 토픽에 대한 데이터 메시지를 발행하는 수단을 더 포함하는 것일 수도 있다.
적어도 하나의 발행자 애플리케이션 및 적어도 하나의 무선 구독자 사이에 메시지를 브로커하는 컴퓨터 시스템은, 토픽에 대해 발행된, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하는 수단과; 토픽(데이터 메시지는 무선 전달 및 무선 푸쉬 프로토콜을 이용하여 토픽에 대하여 발행되었음)에 대한 메시지를 수신하기 위하여 구독해온 구독자에게 메시지를 분배하는 수단을 포함할 수도 있으며, 상기 분배하는 수단은, 무선 푸쉬 프로토콜을 이용하여 무선 게이트웨이에 메시지를 전달하기 위하여 메시지를 푸쉬 메시지 포맷으로 변환하는 수단을 포함한다.
컴퓨터 시스템은, 무선 게이트웨이로의 전달을 위한 메시지가, SI 매체 형태 또는 SL 매체 형태에 따르는 MIME 부분을 포함하는 것일 수도 있다.
컴퓨터 시스템은, 무선 게이트웨이에서 메시지를 수신하고, 무선 푸쉬 프로토콜을 이용한 무선 전달에 의하여 구독자에게 메시지를 전달하는 수단을 더 포함하는 것일 수도 있다.
발행자 애플리케이션 및 적어도 하나의 무선 구독자 사이에서 메시지를 브로커하는 컴퓨터 시스템은, 토픽에 대해 발행된, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하는 수단과; 구독 요청을 용이하게 하기 위하여 사용자 애플리케이션에 토픽 데이터(토픽 데이터는 구독자에게 전달되기 이전에, 무선 장치 상에서 디스플레이하기 위한 페이지에, 사용자 애플리케이션에 의하여 동적으로 맵핑된다)를 제공하는 수단과; 사용자로부터 구독자 데이터 메시지(구독자로부터의 구독 요청을 포함하는 구독자 데이터 메시지는 토픽(데이터 메시지는 푸쉬 프로토콜을 이용한 무선 전달에 의하여 토픽에 대하여 발행된다)에 대한 메시지를 수신한다)를 수신하는 수단과; 토픽(데이터 메시지는 토픽에 대하여 발행되었음)에 대한 메시지를 구독해온 구독자를 위한 메시지를 분배하기 위하여 무선 푸쉬 프로토콜을 이용하는 수단을 포함할 수도 있다.
컴퓨터 시스템은 토픽에 대한 데이터 메시지(메시지는 발행자 애플리케이션으로부터 발신한다)를 발행하는 메시지 발행 요청을 수신하는 수단을 더 포함하는 것일 수도 있다.
바람직하게는, 무선 구독자에게 메시지를 발행하는 방법은, 발행자 애플리케이션으로부터 수신된, 토픽에 대한 데이터 메시지를 발행하는 단계를 포함하고, 데이터 메시지는 토픽에 대한 메시지를 구독해온 구독자에게 브로커 컴퓨터 시스템에 의하여 분배되고, 구독된 메시지는 무선 푸쉬 프로토콜을 이용한 무선 전달을 경유하여 구독자에게 분배된다.
바람직하게는, 발행자 애플리케이션 및 무선 구독자 사이에 메시지를 브로커하는 무선 게이트웨이는, 토픽에 대해 발행된, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하는 수단과; 토픽에 대한 메시지를 수신하기 위하여 구독해온 무선 구독자를 위한 데이터 메시지를 필터링하는 수단과; 무선 푸쉬 프로토콜을 이용하는 무선 전달을 경유하여 무선 구독자에게 데이터 메시지를 전달하는 수단을 포함한다.
무선 게이트웨이는, 메시지가 무선 구독자에게 전달되기 이전에, 메시지를 무선 푸쉬 프로토콜에 따르는 푸쉬 메시지로 변환하는 수단을 더 포함하는 것일 수도 있다.
본 발명의 다른 측면에 따라, 컴퓨터 시스템이 적어도 하나의 발행자 애플리케이션 및 적어도 하나의 무선 구독자 사이에 메시지를 브로커할 수 있도록 하는, 실행 가능한 프로그램 명령을 포함하는 컴퓨터로 판독 가능한 매체가 제공된다. 컴퓨터로 판독 가능한 매체는, 토픽에 대해 발행된, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하는 프로그램 명령과; 토픽에 대한 메시지를 수신하기 위하여 구독해온 구독자에게, 토픽에 관한 메시지를 분배하는 프로그램 명령을 포함하며, 구독된 메시지는 무선 푸쉬 프로토콜을 이용하여 분배된다.
본 발명의 또 다른 측면에 따라, 무선 구독자에게 메시지를 발행하는 방법이 제공된다. 상기 방법은, 발행/구독 데이터 프로세싱 브로커 컴퓨터 시스템에 의하여 발행자 애플리케이션으로부터 수신된 토픽에 대한 데이터 메시지를 발행하는 단계를 포함하고, 상기 데이터 메시지는, 브로커 컴퓨터 시스템에 의하여, 토픽에 대한 메시지를 구독해온 구독자에게 분배되고, 구독된 메시지는 무선 푸쉬 프로토콜을 이용하는 무선 전달을 경유하여 구독자에게 분배된다.
본 발명의 또 다른 측면에 따라, 발행자 애플리케이션 및 무선 구독자 사이에 메시지를 브로커하는 무선 게이트웨이가 제공된다. 무선 게이트웨이는, 토픽에 대해 발행된, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하는 수단과; 토픽(데이터 메시지는 토픽에 대하여 발행되었음)에 대한 메시지를 수신하기 위하여 구독해온 무선 구독자를 위한 데이터 메시지를 필터링하는 수단과; 무선 푸쉬 프로토콜을 이용한 무선 전달을 경유하여 무선 구독자에게 데이터 메시지를 전달하는 수단을 포함한다.
무선 게이트웨이는, 메시지가 무선 구독자에게 전달되기 이전에, 데이터 메시지를 무선 푸쉬 프로토콜에 따르는 푸쉬 메시지로 변환하는 수단을 더 포함할 수도 있다.
그러므로, 발행/구독 시스템을 이용하여, 무선 메시지 서비스를 제공하는 방법 및 장치를 제공하는 것은 이점이 있다.
도 5는 WAP 및 메시지 큐잉(MQ) 시스템을 이용하는 무선 메시징 서비스를 위한 바람직한 시스템(20)을 도시한다. 디지털 모바일 전화, PDA, 호출기 또는 다른 무선 단말과 같은 클라이언트 무선 장치(클라이언트; 22)는 무선 통신을 위하여 WAP 푸쉬 프록시 게이트웨이(Push Proxy Gateway; PPG; 26)와 연결된다. PPG(26)는 통신을 위하여, 결합된 발행/구독 및 푸쉬 패러다임을 구현하는 하나 이상의 노드(32)로 구성된 메시지 큐잉(message queuing; MQ) 시스템(30)과 연결된다. MQ 시스템(30)은 통신을 위하여, 전형적인 뱅크 서버(34), 웹 서버(38) 및 뉴스 서버(42)와 같은 메시지 컨텐츠를 제공하는 각각의 애플리케이션으로 구성된 하나 이상의 서버(총괄하여; 33)와 연결된다.
클라이언트(22)는 전형적인 WAP이 가능한 장치이고, 웹 브라우징 및 푸쉬 메시지 통신을 위한 WAE(Wireless Application Environment; 무선 애플리케이션 환경) 내의 사용자 에이전트(agent; 24)를 포함한다.
PPG(26)는 유·무선 네트워크 상의 클라이언트 및 웹 애플리케이션 및/또는 푸쉬 메시지 제공자(예를 들면, 푸쉬 개시자) 사이에서 프록시 서비스를 제공하는 프록시 애플리케이션(28)으로 구성된 서버를 포함한다. 클라이언트(22) 및 PPG(26) 사이의 무선 통신은, OTA(Push Over the Air; 푸쉬 오버 더 에어) 프로토콜 및 선택적으로 웹 브라우징을 위한 (HTTP/1.1과 같은) 프로토콜과 같은 무선 푸쉬 메시징을 위한 프로토콜을 포함하는 무선 프로토콜에 따라 수행된다. PPG(26) 및 MQ 시스템(30) 사이의 통신은, 주로 푸쉬 메시징을 위한 푸쉬 액세스 프로토콜(PAP) 및 선택적으로 웹 브라우징을 위한 (HTTP/1.1)과 같은 프로토콜에 따라 유선 네트워크 상에서 수행된다. 상기에서 언급된 것처럼, PPG(26)와 같은 WAP 게이트웨이는 바람직하게는 웹 브라우징 통신을 위하여 클라이언트 및 웹 애플리케이션 사이에 배치된다. 그러나, WAP 게이트웨이는 WAP 표준에 의하여 요구되지는 않는다.
선행 기술에 따라서, 도 1 및 도 2를 참조하여 논의된 바와 같이, 각각의 서버(33)는 MQ 시스템(30) 내의 브로커에 메시지를 발행하기 위하여 구성된다.
MQ 시스템(30)은 발행자 애플리케이션(34, 38 및 42) 및 구독자 클라이언트와 같은 구독자(22) 사이에서 메시지를 브로커하도록 구성된 하나 이상의 서버를 포함한다. MQ 시스템(30)은 발행/구독 패러다임에 따라 서비스를 브로커하고, 컨텐츠를 구독해온 구독자 클라이언트에게 특정 컨텐츠 메시지를 전달하기 위하여 푸쉬 기술을 배치하는 것을 제공한다.
도 6은 본 발명의 바람직한 실시예에 따른, 무선 메시징 서비스를 위한 시스템(20) 내의 전형적인 MQ 시스템(30)을 도시한다. MQ 시스템(30)은 발행 관련 통신을 수신하고 전송하는 메시지 대기 행렬 링크(76)를 경유하여 하나 이상의 발행자 애플리케이션(예를 들면, 발행자 애플리케이션 64)에 연결된, 발행/구독/푸쉬 메시지 브로커(62)를 포함한다. 브로커(62)는 구독자 클라이언트 통신을 위하여 하나 이상의 애플리케이션에 더 연결된다. 예를 들면, 브로커(62)는 메시지 대기 행렬 링크(78)를 경유하여 푸쉬 메시징 애플리케이션(66)에 연결되고, 메시지 대기 행렬 링크(80)를 경유하여 구독자 웹 사용자 애플리케이션(68)에 연결된다. 브로커(62)는 또한, 하나 이상의 데이터베이스, 즉 토픽 데이터베이스(70), 구독 옵션 논리 데이터베이스(72), 및 구독자 데이터베이스(74)에 연결된다.
푸쉬 메시징 애플리케이션(66)은 PAP와 같은 프로토콜을 이용하는 푸쉬 메시지 통신을 위한 통신 링크(82)를 경유하여 PPG(26)에 연결된다.
구독자 웹 사용자 애플리케이션(68)은 클라이언트(22)와의 웹 브라우저 기반통신을 위하여 데이터베이스(70, 72) 각각에 연결되고, 통신 링크를 경유하여 PPG(28)에 연결된다.
도시되지는 않았지만, 브로커(62)는 발행자 및 구독자 사이에 메시지를 브로커하는 하나 이상의 노드를 포함한다. 브로커(62)는 또한, 도 2를 참조하여 전술된 바와 같이, 브로커링 네트워크 내의 다른 브로커(도시되지 않음)와의 통신을 통하여 메시지를 브로커할 수도 있다. 브로커(62)의 몇몇 노드는, 메시지 대기 행렬(75) 및 링크(76)를 경유하여 적어도 하나의 발행자 애플리케이션(64)으로부터 발신된 발행자 메시지를 수신하도록 구성된다. 적어도 몇몇의 발행자 메시지는 토픽에 대한 메시지를 발행하기 위하여, 발행자 애플리케이션의 의도를 등록하는 요청을 포함한다. 적어도 몇몇의 다른 발행자 메시지는, 컨텐츠 데이터를 구독하고 있는 하나 이상의 구독자로의 무선 전달을 위한 토픽에 의하여 정의된 컨텐츠 데이터를 포함한다. 부가적인 발행자 메시지는, 브로커 큐로부터 이전의 발행자 메시지를 삭제하는 요청 또는 특정 토픽에 대하여 발행하려는 발행자의 의도를 등록 해제하는 요청을 포함할 수도 있다. 브로커(62)는 발행자 애플리케이션에 이러한 발행자 메시지 또는 다른 메시지의 승인을 전송할 수도 있다. 부가적으로, 브로커(62)는, 바람직하게는 스트림으로 그룹화되고 이하에서 논의될 구독 프로세스 동안 구독자에게 토픽 정보를 보내는데 유용한, 토픽 데이터베이스(70)와 같은 데이터베이스 내에 토픽 데이터를 저장할 수도 있다.
컨텐츠 데이터를 포함하는 발행자 메시지는 컨텐츠 구독에 따라 특정 구독자에게 라우트된다. 컨텐츠 기반 구독의 주요 이점은, 수신하는 애플리케이션(즉,무선 구독자)에 대한 세분화 정도(granularity)에 있어서의 개선이다. 무선 구독자는 개인화된 메시징 옵션에 의해, 주로 요구된 컨텐츠 및 적절한 전달을 위하여 메시지를 필터링하도록 요구한다. 무선 메시징 애플리케이션을 설계할 때, 많은 상이한 구독자 시나리오의 요구를 채우는 것이 바람직하다. 그러므로, 특히, 매우 얇은 구독자 클라이언트 애플리케이션이 요구되는 무선 컨텍스트에 있어서, 상이한 영역 내의 상이한 가치들이 상이한 시나리오를 발생시킬 수 있는, 특정 발행된 토픽을 구독한다면, 구독하는 애플리케이션은 매우 복잡해질 수 있다. 컨텐츠에 기반한 구독이 없다면, 발행된 메시지의 세분화 정도를 감소시키고, 따라서 수신하는 메시지를 단순화하는 유일한 방법은, 구독자가 이용 가능한 토픽의 수를 증가시키는 것이다. 그러나 이는 상당한 오버헤드(overhead)를 부가하여, 그러한 토픽의 정의를 특정하기 어려울 수 있다.
컨텐츠에 기반한 구독의 경우, 구독자가 동일한 일반 논리를 구독하지만 원하는 시나리오에 따라 특정 필터 기준을 선택할 때, 각각의 식별된 시나리오를 처리하기 위하여 비지니스 논리를 채용하는 단순한 애플리케이션이 구축될 수 있다. 구독 애플리케이션(즉, 클라이언트 장치)은, 메시지가 토픽과 일치하고 메시지의 컨텐츠가 또한 구독에 의하여 선택된 비지니스 논리에 따른 임의의 필터 기준을 충족시킨다면, 발행된 메시지를 수신할 뿐이다. 이런 방법으로, 특정 시나리오가 발생할 때, 특정 메시징 시나리오 발생의 요구를 채우는 브로커 내의 각 단순한 프로세싱 애플리케이션이 실행될 뿐이다. 시나리오를 위한 비지니스 논리를 구축하기 위하여 필요한 주요 논리는 특정 가치나 가치들을 분석하기 위하여 메시지 내의 필드를 식별하는 것이다. 그 후, 발행/구독 네트워크 자체는 부가적인 커스터마이즈된 논리에 대한 필요가 없이 구독자로 메시지를 라우트한다.
그러므로, 몇몇 브로커 노드는 컨텐츠 데이터를 포함하는 발행자 데이터 메시지를 처리하고; 토픽, 및 구독자의 구독 및 그 관련 비지니스 논리에 따른 다른 필터 기준에 의하여 데이터 메시지를 필터링하고; 전에 컨텐츠 데이터를 구독했던 각 구독자를 위하여 메시지를 분배하도록 구성된다.
바람직하게는, 다양한 토픽(즉, 비지니스 논리)을 위한 다수의 메시지 시나리오가 메시지 흐름으로 맵핑될 수 있고, 브로커(62)의 노드는 전에 설명된 것처럼 도식적인 메시지 흐름 인터페이스를 통하여 구성될 수도 있다. 메시지 흐름은 특정 토픽의 스트림을 위한 템플릿(template)으로서 작용할 수도 있다. 예를 들어, 발행자 애플리케이션이 스포츠 스코어 업데이트 서비스를 제공한다고 가정한다. 서비스가 제공되는 개개의 스포츠 이벤트는 토픽(예를 들면, 농구: Sharks vs Jets, 9월 15일)을 정의할 수도 있다. 유사한 형태의 토픽(예를 들면, 모든 농구 경기)이 스트림 내에서 그룹화될 수도 있고, 미리 정의된 메시지 흐름은 상기 스트림을 위하여, 메시지 시나리오를 위한 구독 옵션(즉, 필터 기준)을 실행한다. 옵션은, 어떤 데이터가 업데이트 메시지에서 제공되고, 언제 업데이트 메시지를 제공하는지에 대한 선택에 관한 것일 수도 있다. 토픽의 스티림에 대한 옵션은 구독 옵션 논리 데이터베이스(72)와 같은 데이터베이스 내에 저장될 수 있다. 구독 옵션 논리 데이터베이스(72)는, 발행된 메시지를 필터링할 뿐만 아니라, 이하 설명될 것처럼, 구독 프로세스 동안 구독자에게 구독 옵션을 제시하는데에도 유용할 수도있다. 데이터베이스(70,72)는 단일 데이터베이스로 결합될 수도 있음은 물론이다.
부가적으로 몇몇의 브로커(62) 노드는, 적어도 하나의 구독자(예를 들면, 클라이언트 22)로부터, 토픽에 대한 발행자 데이터 메시지를 위한 구독을 수신하도록 구성된다. 도 6은, 구독 서비스를 용이하게 하기 위하여, 메시지 대기 행렬(79) 및 링크(80)를 경유하여 구독자 웹 사용자 애플리케이션(68)과 통신하는 브로커(62)를 도시한다. 구독자 웹 사용자 애플리케이션(68)은, 무선 및 선택적으로는 유선 통신을 통하여, 클라이언트가 컨텐츠 데이터를 구독할 수 있게 한다. 구독자 웹 사용자 애플리케이션(68)은, 바람직하게는 링크(84) 및 PPG(26)을 경유하여, WAP 프로토콜에 따라 무선 클라이언트(22)에게 구독 옵션 및 특정 토픽을 제시한다.
구독 옵션의 선택은 일반적으로 정적으로 유지되지만, 토픽의 선택은, 발행자 애플리케이션이 토픽에 대하여 발행하려는 각각의 의도를 등록하거나 그러한 의도를 등록 해제할 때, 더욱 유동적으로 된다. 바람직하게는, 구독자 웹 애플리케이션(68)에게는, 스트림/토픽의 자동 맵핑 및 WML 페이지에 대한 옵션을 위하여, 데이터베이스(70, 72)에 대한 접속을 통해서와 같이 현재의 토픽 데이터 및 구독 옵션이 제공된다. 요구가 있는 즉시, 토픽 및 옵션으로부터 페이지를 발생시킴으로써, 구독자에게는 항상 무선 메시징 서비스의 가장 최근의 이용 가능한 전송이 제공된다. 그러한 맵핑을 개발하는 것은, 전형적으로 트리 구조로 배열되는 토픽 데이터를, WAP이 가능한 클라이언트 장치(22)에 정보를 제시하기 위하여 사용되는 WML 카드로 맵핑할 것을 요구한다. 그외에도, 템플릿을 사용하여 구독자에게 더개인화된 브라우징을 제공할 수 있다.
브로커(62)는 무선 푸쉬 프로토콜에 따라, 각 구독자에 대한 메시지를 무선 전달로 전달하는 노드를 더 포함한다. 브로커(62)는 통신을 위하여 메시지 대기 행렬(77) 및 링크(78)을 경유하여 푸쉬 애플리케이션(66)과 연결된다. 푸쉬 애플리케이션(66)은 이러한 각 구독자를 위한 메시지를 수용하고, 무선 전달을 위하여 이러한 메시지를 PPG(26)에 전송하도록 구성된다. 푸쉬 애플리케이션(66)은, 브로커(62)가 변환을 수행하지 않는다면, 자신이 수신한 메시지를 PPG(26)에서 수용 가능한 적합한 무선 푸쉬 프로토콜 포맷으로 변환할 수도 있다.
전술한 푸쉬 개시자처럼, 푸쉬 애플리케이션(66)은 클라이언트 장치(22)로의 전달을 위하여 메시지를 WAP 푸쉬 포맷(전형적으로 SI 또는 SL 형태)으로 전송한다. 더욱이, 푸쉬 애플리케이션(66)은 바람직하게는 WAP 프레임웍 내에서 더 높은 서비스 질을 제공하기 위하여, 푸쉬 메시지 통지, 취소, 상태 질의 및 클라이언트 능력 질의를 지원할 수 있다.
푸쉬 애플리케이션(30)의 기능은, 메시지 시스템(30)의 개별 애플리케이션으로서 보여질 수도 있지만, WAP API를 사용하도록 구성된 적합한 플러그인(plugin)을 갖는 브로커(62)의 노드에 의하여 수행될 수도 있다. 더욱이, 브로커(62)는 프록시 서비스(28)로부터 이용 가능할 수도 있는 WAP API를 경유하는 것과 같이 PPG(26)와 함께 배치되고/배치되거나 통합될 수도 있다는 것을 알아야 한다(도 5). 마찬가지로, 브로커(62)는 구독자 웹 사용자 애플리케이션(68) 및/또는 임의의 발행자 애플리케이션과 함께 배치되고/배치되거나 통합될 수도 있다. 더욱이, MQ 시스템(도 5)은 PPG(26) 및/또는 발행자 애플리케이션(64)과 같은 장소에 배치되고 통합될 수도 있다. 함께 배치되는 것 및 통합되는 것은, 서비스 및 시스템을 설계할 때 상당한 유연성을 제공한다. 예를 들면, 무선 전화 통신 제공자가 무선 구독자에게 메시징 서비스를 제공할 때, 제공자는 MQ 시스템(30)을 PPG(26)와 함께 배치하여 발행자와 협력할 수 있다.
시스템(20)은 광범위하고 다양한 메시지 서비스를 실행할 수 있다. 예를 들면, 회의의 특징을 이용하여, 사용자들이 회의 호출(call)과 유사한 방식으로 상호작용하는 채팅 룸(chat room)을 개발할 수 있다. 다른 예는, 사용자가 그들의 무선 장치를 통하여 아이템의 값을 매기고 구매할 수 있도록 하는 경매 서비스에 관한 것이다. 시스템(20)의 동작은, 사용자에게 스포츠 이벤트의 상태에 관한 통지를 제공하는 상기에서 설명된 스포츠 스코어 업데이트 서비스를 참조하여 설명된다. 통신 회사와 같은 서비스 제공자는 사용자에게 스포츠, 주식 및 뉴스에 대한 정보를 포함한 많은 서비스를 제공할 수도 있다. 서비스 제공자는 MQSeries 발행/구독 및 WAP 푸쉬에 기반한 시스템(20)을 구현하고, 부속하는 스트림 및 토픽에 대한 발행 애플리케이션을 통합한다:
스포츠
축구
Bayern Munchen vs. Valencia (일자: 시간)
농구
주식
NYSE
NASDAQ
뉴스
국내
국제
도 7은 무선 메시지를 구독하고 수신하는 방법(99)을 위한 흐름도를 도시한다. 사용자/구독자의 관점에서, 원하는 정보를 구독하고 수신하는 다음의 단계들이 뒤따른다. 사용자는 소정의 URI를 통하여, 자신의 WAP이 가능한 클라이언트 장치(22)를 구독 웹 사용자 애플리케이션(68)에 접속한다(100). 사용자는 구독을 위하여 현재 이용 가능한 토픽을 제공하는 사용자 에이전트(24)로부터 웹 페이지(즉, WML 카드)를 요청하고 수신한다(102). 단계(104)에서, 사용자는 몇 시간 안에 시작하는 축구 경기 구독을 선택한다. 구독 프로세서 동안, 사용자는 다양한 옵션을 선택하여, 사용자가 수신하고자 하는 컨텐츠 및 전달의 형태(즉, 서비스 레벨)를 조정한다. 예를 들면, 옵션은 다음을 포함할 수도 있다.
골(Goal) 통지 - 각 골 후에 골의 세부 항목을 수신함
하프 타임(half-time) 보고 - 하프 타임 및 풀 타임에서 경기 요약 세부 사항을 수신함
풀 타임(full-time) 보고 - 풀 타임에서 경기 요약 세부 사항을 수신함
사용자는 웹 사용자 애플리케이션(68)으로부터의 선택에 응답하여 서비스 레벨 1 및 3을 선택한다. 그외에도, 사용자는 또한, 이러한 메시지의 컨텐츠를 수신하기 이전에 프롬프트(prompt)가 제공되게 할 것인지 또는 자동적으로 메시지가 제공되게 할 것인지를 지정할 수 있다. 사용자는 다음의 예에서 자동 모드를 선택한다.
경기가 시작되고, Valencia 팀의 셔츠 6번을 입고 있는 Mendieta 선수가 16분에 득점한다고 가정한다. 사용자는 PPG(66)로부터 서비스 로딩 형태의 MIME 부분을 포함하는 푸쉬 메시지를, 클라이언트 장치(22)를 통하여 수신한다(106). 클라이언트 장치(22)는 자동적으로 푸쉬 메시지의 URI에 의하여 표시된 서비스를 활성화하고, 도 8에 도시된 바와 같이 골 요약 정보를 디스플레이한다. 그 후에, 경기는 종료되고 Valencia가 1-0으로 승리한다. 사용자는 경기를 요약하는 다른 보고(도시되지 않음)를 수신한다(108).
도 9는 본 발명의 바람직한 실시예에 따른, 메시지를 브로커하는 방법(120)을 도시하는 흐름도이다. 이러한 전형적인 시나리오에서 서비스 제공자의 관점에서, 다음과 같은 이벤트가 발생한다. 발행자 애플리케이션(64)(도 6)은 Bayern Munchen vs. Valencia 축구 경기 토픽에 대한 정보를 발행하려는 의도를 표시하는 데이터 메시지를 발행한다(150). 브로커(62)는 메시지를 발행하려는 의도를 수신하고(122), 이를 처리하며, 토픽 데이터베이스(70)를 업데이트한다(124). 얼마간 후에, 단계(140)에서, 웹 사용자 애플리케이션(68)(도 6)은 이용 가능한 토픽을 보기 위하여, 사용자의 클라이언트 장치(22)로부터 요청을 수신한다. 웹 사용자 애플리케이션(68)은 자동적으로 데이터베이스(70, 72)로부터 검색된 이용 가능한 토픽의 WML 페이지를 발생시키고, 사용자에게 URI를 보낸다(142). 웹 사용자 애플리케이션(68)은 선택된 옵션 기준을 포함한 사용자 선택에 응답하여 구독 요청 메시지를 준비하고, 구독 요청을 포함하는 메시지를 링크(80)를 통하여 브로커(62)에게 전달한다(144). 단계(128, 130)에서, 브로커(62)는 메시지를 수신하고, 이를 처리하고 구독 데이터베이스(74)를 업데이트한다.
경기 동안, 발행자 애플리케이션(64)은 컨텐츠 데이터를 가진 주제 토픽(즉, Bayern Munchen vs. Valencia 축구 경기)에 대한 발행자 데이터 메시지를 발행하고(152), 브로커(62)는 이를 수신한다(132). 브로커(62)는 데이터 메시지(70, 72 및 74)로부터 검색된 서비스 레벨(즉, 필터 기준)을 포함하는 구독 및 메시지 흐름 논리에 따라 메시지를 필터링하고(134), 사용자를 위한 메시지를 푸쉬 애플리케이션(66)에 전달한다(136). 브로커(62)는 그 후, 부가적인 데이터 메시지를 기다린다. 그 동안, 푸쉬 애플리케이션(66)은 메시지를 검색하고(160), 푸쉬 프로토콜에 따라 메시지를 서비스 로딩 형태의 WAP 푸쉬 메시지로 변환한다(162). 푸쉬 애플리케이션(66)은 클라이언트(22)로의 무선 전달을 위하여 푸쉬 액세스 프로토콜을 이용하여 링크(82)를 경유하여 PPG(26)에 푸쉬 메시지를 전송한다(164). 하프 타임 메시지 또한, 브로커(62)에 의하여 수신되고, 마찬가지로 필터링된다(132-136). 그러나 필터링 결과, 사용자가 이러한 메시지에 대한 컨텐츠를 구독하지 않기 때문에, 상기 메시지는 사용자에게 전달되지 않는다. 브로커(62)에 의하여 수신된 풀 경기 메시지는 필터링되어 사용자에게 전달된다(브로커(62)를 위한 단계(132-136) 및 푸쉬 애플리케이션(66)을 위한 단계(160-164)). 브로커(62) 및 푸쉬 애플리케이션(66)은 서비스 모니터링을 위한(또는, 그렇지 않다면 무선 및/또는 발행/구독 프로토콜에 의하여 요구되는) 승인(단계가 도시되지 않음)을 수신하고/수신하거나 전송할 수도 있다,
부가적인 방법 단계 또는 시스템 애플리케이션(도시되지 않음)은, 예를 들면, 일어날 수도 있는 세관 관리 빌링(billing)에 대한 이벤트를 로깅(logging)함으로써 세입(revenue) 모델을 지원하도록 통합될 수도 있으며, 이는 상기 기술분야에서 잘 이해될 수 있다.
본 발명의 바람직한 실시예에 따라, 메시지 큐잉 발행/구독 기술은 무선 푸쉬 프로토콜과 결합되어 무선 애플리케이션이 가능한 장치를 위한 무선 메시징 서비스를 구축하고 제공할 수 있다. 컨텐츠 데이터를 제공하는 후미(backend) 발행자 애플리케이션 및 컨텐츠 데이터를 구독하고 소비하는 클라이언트 애플리케이션 사이의 중간층으로서, 종래의 믿을만한 메시징 시스템을, 변경을 가해 배치할 수도 있다.
본 발명의 바람직한 실시예가 WAP를 이용하여 설명되고 있지만, 무선 애플리케이션을 실행하고 무선 푸쉬 통신을 제공하는 대체 프로토콜 또한 배치될 수도 있다. WAP으로 특정된 WML외의 다른 cHTML과 같은 마크업 언어가 사용될 수도 있음은 더 잘 이해될 수도 있다. 예를 들면, 구독 토픽 데이터는 동적으로 cHTML 포맷으로 맵핑되거나, 발행된 메시지는, 장치(22)가 cHTML 페이지 또는 다른 문서에 액세스하도록 하는 URI로 무선 클라이언트(22)에 푸쉬될 수도 있다.
더욱이, 도 5, 7 및 9를 참조하면, 구독자에 대한 웹 인터페이스를 통하여 동적 프리젠테이션을 위한 WML 페이지로 토픽 데이터를 자동적으로 맵핑하는 웹 사용자 애플리케이션(68)을 이용하여, 구독하는 단계가 설명된다. 대체 구독 모델 또한 채택될 수도 있다. 예를 들면, 무선 장치는 구독을 디스플레이하고 선택하기 위하여 클라이언트 구독 애플리케이션을 구동할 수도 있다. 이러한 장치는 구독 제공물(offering)(즉, 토픽 데이터)의 몇몇 또는 모두를 국소적으로 저장할 수도 있다. 장치는 주기적으로, 웹 기반일 필요가 없는 구독 서버 애플리케이션(도시되지 않음)에 접속하고, 데이터 동기화를 수행하여, 현재의 토픽 데이터를 얻고, 서버에 구독을 제공할 수도 있다. 데이터 동기화는 사유(proprietary) 프로토콜 또는 바람직하게는, SyncML 프로토콜과 같은 모바일 데이터 동기화를 위한 개방 산업 표준 프로토콜에 따르는 것일 수도 있다. 무선 클라이언트 장치 및 서버 사이의 접속은 무선 접속(예를 들면, WSP/WAP, IrDA, 블루투스 등) 또는 유선 접속(USB, HTTP/인터넷/인트라넷)일 수도 있다.
본 발명의 바람직한 실시예는 또한, Sun Microsystems의 JAVATM2 플랫폼, 마이크로 에디션(J2METM플랫폼)과 같은 JAVATM애플리케이션 환경 내의 JAVATM기반 애플리케이션을 구동할 수 있는 무선 장치와 함께 유용할 수도 있다. J2ME는 스마트 무선 장치에 적합한 작은 애플리케이션 환경(가상 머신, 핵심 라이브러리, 및 장치 및/또는 산업 형태 프로필)을 제공한다.
바람직한 본 발명의 한 측면에 따라, 무선 클라이언트 장치(22)를 위한 JAVA 사용자 애플리케이션이 개발될 수도 있다. 장치는 구독에 따라 Java 애플리케이션을 위한 푸쉬 메시지를 수신할 수도 있다. 메시지는 JAVA 애플리케이션에 데이터를 제공하거나, 애플리케이션을 제어 및/또는 구성하는데 유용할 수도 있다.
바람직한 시스템의 클라이언트 장치(22)는, 토픽을 구독하고, 토픽에 대해 발행된 푸쉬 메시지를 수신하고, 수신된 메시지에 따라 행동하는 브라우저 및 WAP 사용자 에이전트를 갖는 것으로 설명되지만, 브라우저 기능은 특히 JAVA 기반 애플리케이션에 의해서도 제공될 수 있음을 알 수 있다.
서비스 로딩 형태 메시지(즉, 자동적으로 서비스를 초기화하거나, 상주하는 애플리케이션을 불러오고, 제어하거나 구성하는 메시지(예를 들면, JAVA 기반 애플리케이션))를 지원하는 무선 클라이언트(22)는 어떤 공격에 영향을 받는다는 점을 유의하여야 한다. 바람직하게는 보안 정책을 실행하여 장치(22)를 보호할 수도 있을 것이다.

Claims (10)

  1. 발행자 애플리케이션(publisher application) 및 적어도 하나의 무선 구독자(wireless subscriber) 사이에서 메시지를 브로커(broker)하는 방법으로서,
    토픽에 대해 발행된, 상기 발행자 애플리케이션으로부터 발신된(originating) 데이터 메시지를 수신하는 단계와;
    상기 토픽(상기 데이터 메시지는 상기 토픽에 관하여 발행되었음)에 대한 메시지를 구독해온 상기 구독자를 위해 상기 메시지를 분배하기 위하여, 무선 푸쉬 프로토콜(wireless push protocol)을 이용하는 단계를 포함하는 메시지를 브로커하는 방법.
  2. 제1항에 있어서,
    상기 분배를 위하여 무선 푸쉬 프로토콜을 이용하는 단계는,
    상기 토픽(상기 데이터 메시지는 상기 토픽에 관하여 발행되었음)에 따라 상기 데이터 메시지를 필터링(filtering)하는 단계를 더 포함하는 것인 메시지를 브로커하는 방법.
  3. 제1항에 있어서,
    상기 분배를 위하여 무선 푸쉬 프로토콜을 사용하는 단계는,
    상기 데이터 메시지의 토픽, 상기 데이터 메시지의 컨텐츠 및 상기 구독자의구독에 관한 비지니스 논리(business logic)를 이용하여 상기 데이터 메시지를 필터링하는 단계를 더 포함하는 것인 메시지를 브로커하는 방법.
  4. 제3항에 있어서,
    상기 비지니스 논리는 상기 메시지의 흐름을 제어하는 것인 메시지를 브로커하는 방법.
  5. 제1항에 있어서,
    상기 구독자로부터의 구독 요청을 포함하는 구독자 데이터 메시지를 수신하는 단계와; 상기 구독자가 상기 토픽(상기 토픽에 대하여 상기 데이터 메시지가 상기 푸쉬 프로토콜을 이용한 무선 전달(wireless delivery)에 의하여 발행됨)에 대한 메시지를 수신해야함을 요청하는 단계를 더 포함하고, 상기 구독자 메시지는 구독 요청을 용이하게 하기 위하여 사용자 애플리케이션으로부터 수신되는 것인 메시지를 브로커하는 방법.
  6. 제5항에 있어서,
    상기 구독자에게 상기 토픽 데이터를 전달하는 상기 사용자 애플리케이션에, 상기 토픽 데이터를 제공하는 단계를 더 포함하는 메시지를 브로커하는 방법.
  7. 제1항에 있어서,
    상기 구독자에게 분배된 메시지는, 상기 구독자에게 비동기식 이벤트가 발생했음을 통지하고, 상기 이벤트에 반응하기 위하여 초기화될 수 있는 서비스를 표시하는 것인 메시지를 브로커하는 방법.
  8. 제1항에 있어서,
    상기 구독자에게 분배된 메시지는, 사용자의 개입(intrusiveness)의 레벨에 따라 로드될 서비스를 표시하는 것인 메시지를 브로커하는 방법.
  9. 컴퓨터 시스템이, 적어도 하나의 발행자 애플리케이션 및 적어도 하나의 무선 구독자 사이에서 메시지를 브로커할 수 있도록 하는, 실행 가능한 프로그램 명령어들을 포함하는 컴퓨터로 판독 가능한 기록 매체로서,
    토픽에 대해 발행된, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하기 위한 프로그램 명령어들과;
    상기 토픽에 대한 메시지를 수신하기 위하여 구독해온 구독자에게 상기 토픽에 관한 메시지를 분배하기 위한 프로그램 명령어들을 포함하고,
    상기 구독된 메시지는 무선 푸쉬 프로토콜을 이용하여 분배되는 것인 컴퓨터로 판독 가능한 기록 매체.
  10. 적어도 하나의 발행자 애플리케이션 및 적어도 하나의 무선 구독자 사이에서 메시지를 브로커하는 컴퓨터 시스템으로서,
    토픽에 대해 발행된, 발행자 애플리케이션으로부터 발신된 데이터 메시지를 수신하는 수단과;
    무선 전달 및 무선 푸쉬 프로토콜을 이용하여, 상기 토픽(상기 데이터 메시지는 상기 토픽에 관하여 발행되었음)에 대한 메시지를 수신하기 위하여 구독해온 상기 구독자에게 메시지를 분배하는 수단을 포함하는 컴퓨터 시스템.
KR10-2004-7005438A 2001-11-13 2002-10-15 발행/구독 시스템을 이용한 무선 메시징 서비스 방법 및시스템 KR20040053165A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CA2,361,861 2001-11-13
CA002361861A CA2361861A1 (en) 2001-11-13 2001-11-13 Wireless messaging services using publish/subscribe systems
PCT/GB2002/004654 WO2003043286A2 (en) 2001-11-13 2002-10-15 Wireless messaging services using publish/subscribe systems

Publications (1)

Publication Number Publication Date
KR20040053165A true KR20040053165A (ko) 2004-06-23

Family

ID=4170474

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7005438A KR20040053165A (ko) 2001-11-13 2002-10-15 발행/구독 시스템을 이용한 무선 메시징 서비스 방법 및시스템

Country Status (5)

Country Link
US (3) US10135958B2 (ko)
KR (1) KR20040053165A (ko)
CN (1) CN1572098A (ko)
CA (1) CA2361861A1 (ko)
WO (1) WO2003043286A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190062799A (ko) 2017-11-29 2019-06-07 한국전자통신연구원 발행-구독 모델에서의 데이터 중개 장치 및 접근 제어 방법
KR20210005305A (ko) * 2020-01-20 2021-01-13 두산중공업 주식회사 전력 충전/판매 장치 및 방법
US10919406B2 (en) 2017-11-23 2021-02-16 DOOSAN Heavy Industries Construction Co., LTD Power charging/selling device and method

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596606B2 (en) * 1999-03-11 2009-09-29 Codignotto John D Message publishing system for publishing messages from identified, authorized senders
US6721779B1 (en) * 2000-07-07 2004-04-13 Softwired Ag Messaging proxy system
US20110276636A1 (en) * 2010-03-29 2011-11-10 Konaware, Inc. Efficient transactional messaging between loosely coupled client and server over multiple intermittent networks with policy based routing
AU2003301374A1 (en) * 2002-10-17 2004-05-04 Tibco Software Inc. Method and system to communicate messages in a computer network
US7418711B1 (en) * 2003-04-28 2008-08-26 Sprint Communications Company L.P. Messaging bridge that facilitates communication with a mainframe environment
US20040225717A1 (en) * 2003-05-09 2004-11-11 Alcatel Network architecture for message based policy distribution
US7400624B2 (en) * 2003-05-27 2008-07-15 Sun Microsystems, Inc. Hashing based messaging approach to a cluster
US7346168B2 (en) 2003-09-29 2008-03-18 Avaya Technology Corp. Method and apparatus for secure wireless delivery of converged services
US7792936B2 (en) * 2003-12-01 2010-09-07 International Business Machines Corporation Method and apparatus for virtualizing network resources
GB2411312B8 (en) * 2004-02-19 2008-03-10 Ibm Method and system for message content delivery
EP1587281A1 (en) * 2004-04-15 2005-10-19 Research In Motion Limited System and Method for Implementing a Wireless Access Protocol Push
US7664818B2 (en) * 2004-04-21 2010-02-16 Sap (Ag) Message-oriented middleware provider having multiple server instances integrated into a clustered application server infrastructure
CN100362873C (zh) * 2004-05-12 2008-01-16 华为技术有限公司 一种多媒体消息的发送方法
US7702724B1 (en) * 2004-05-27 2010-04-20 Oracle America, Inc. Web services message broker architecture
US7571464B2 (en) * 2004-08-27 2009-08-04 International Business Machines Corporation Secure bidirectional cross-system communications framework
US20060072721A1 (en) * 2004-09-21 2006-04-06 Netomat, Inc. Mobile messaging system and method
US10748158B2 (en) 2004-10-08 2020-08-18 Refinitiv Us Organization Llc Method and system for monitoring an issue
US7525964B2 (en) * 2004-11-03 2009-04-28 International Business Machines Corporation Mechanism for delivering messages to competing consumers in a point-to-point system
GB0425355D0 (en) 2004-11-18 2004-12-22 Ibm Publishing documents in a publish subscribe data processing system
FI20045504A0 (fi) * 2004-12-28 2004-12-28 Stream Mobile Oy Push-viestintämenetelmiä ja -laitteita
US20060168331A1 (en) * 2005-01-06 2006-07-27 Terevela, Inc. Intelligent messaging application programming interface
EP1851646A2 (en) 2005-01-06 2007-11-07 Tervela Inc. Intelligent messaging application programming interface
US20060235970A1 (en) * 2005-04-18 2006-10-19 Cameron Bateman System and method for exposing synchronous web services as notification style web services
CN100364342C (zh) * 2005-04-26 2008-01-23 华为技术有限公司 一种推送业务实现方法
US8473570B2 (en) 2005-05-05 2013-06-25 Qualcomm Incorporated Methods and apparatus for simultaneously hosting multiple service providers on a network
CN100369440C (zh) * 2005-05-13 2008-02-13 中国联合通信有限公司 一种业务中间件及利用业务中间件开展业务的方法
US20060271384A1 (en) * 2005-05-31 2006-11-30 Microsoft Corporation Reference data aggregate service population
GB2428828A (en) * 2005-07-30 2007-02-07 Ibm Publish/subscribe messaging system
US20070067780A1 (en) * 2005-08-24 2007-03-22 Samsung Electronics Co., Ltd. Method and system for asynchronous eventing over the internet
US20070050630A1 (en) * 2005-08-24 2007-03-01 Samsung Electronics Co., Ltd. Authentication method and system for asynchronous eventing over the internet
US10825029B2 (en) * 2005-09-09 2020-11-03 Refinitiv Us Organization Llc Subscription apparatus and method
US8200563B2 (en) * 2005-09-23 2012-06-12 Chicago Mercantile Exchange Inc. Publish and subscribe system including buffer
US9252977B2 (en) * 2005-11-03 2016-02-02 B.S.D. Crown Ltd Method and system for an uncompromising connection from a computing device having information storage like email server to a wireless mobile device
US8719397B2 (en) * 2005-11-03 2014-05-06 Emoze Ltd. Method and system for email and PIM synchronization and updating
GB0524742D0 (en) * 2005-12-03 2006-01-11 Ibm Methods and apparatus for remote monitoring
US9065978B2 (en) 2005-12-19 2015-06-23 At&T Intellectual Property I, Lp Method for acquiring services on a multiplicity of devices
US7818417B2 (en) * 2006-01-10 2010-10-19 International Business Machines Corporation Method for predicting performance of distributed stream processing systems
CN101390085B (zh) 2006-03-06 2010-06-09 Lg电子株式会社 Drm互操作系统
US8429300B2 (en) * 2006-03-06 2013-04-23 Lg Electronics Inc. Data transferring method
US20090133129A1 (en) * 2006-03-06 2009-05-21 Lg Electronics Inc. Data transferring method
WO2007109086A2 (en) * 2006-03-18 2007-09-27 Peter Lankford Jms provider with plug-able business logic
US8045236B2 (en) 2006-03-29 2011-10-25 Research In Motion Limited Apparatus, and associated method, for facilitating background processing of push content
EP1841130B1 (en) * 2006-03-29 2010-08-25 Research In Motion Limited Apparatus, and associated method, for facilitating background processing of push content
US8458725B2 (en) 2006-04-10 2013-06-04 Oracle International Corporation Computer implemented method for removing an event registration within an event notification infrastructure
US7967682B2 (en) 2006-04-12 2011-06-28 Bally Gaming, Inc. Wireless gaming environment
US9390118B2 (en) * 2006-04-19 2016-07-12 Oracle International Corporation Computer implemented method for transforming an event notification within a database notification infrastructure
EP1853044B1 (en) * 2006-05-02 2009-01-14 Research In Motion Limited Push framework for delivery of dynamic mobile content
US8259623B2 (en) 2006-05-04 2012-09-04 Bridgewater Systems Corp. Content capability clearing house systems and methods
US7895600B2 (en) 2006-05-10 2011-02-22 Oracle International Corporation Method of optimizing propagation of non-persistent messages from a source database management system to a destination database management system
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
US7761413B2 (en) 2006-05-10 2010-07-20 Oracle International Corporation Method of ensuring availability of event notification registrations of a database management system
DE102006021947A1 (de) * 2006-05-11 2007-11-15 Robert Bosch Gmbh Verfahren zur Signalisierung einer Verbindungsaufforderung
GB2441807A (en) * 2006-05-16 2008-03-19 Mobix Interactive Ltd Media content sharing service
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
US8296778B2 (en) * 2006-06-27 2012-10-23 International Business Machines Corporation Computer data communications in a high speed, low latency data communications environment
US8676876B2 (en) * 2006-06-27 2014-03-18 International Business Machines Corporation Synchronizing an active feed adapter and a backup feed adapter in a high speed, low latency data communications environment
US9781071B2 (en) * 2006-06-28 2017-10-03 Nokia Technologies Oy Method, apparatus and computer program product for providing automatic delivery of information to a terminal
GB2435565B (en) 2006-08-09 2008-02-20 Cvon Services Oy Messaging system
KR20080022476A (ko) 2006-09-06 2008-03-11 엘지전자 주식회사 논컴플라이언트 컨텐츠 처리 방법 및 디알엠 상호 호환시스템
US20080065688A1 (en) * 2006-09-07 2008-03-13 Research In Motion Limited Mediated plug-in registration of client applications and content providers with push content delivery system
GB0621409D0 (en) * 2006-10-27 2006-12-06 Ibm Access control within a publish/subscribe system
US9101820B2 (en) 2006-11-09 2015-08-11 Bally Gaming, Inc. System, method and apparatus to produce decks for and operate games played with playing cards
US9111078B2 (en) 2006-11-10 2015-08-18 Bally Gaming, Inc. Package manager service in gaming system
US8920233B2 (en) 2006-11-10 2014-12-30 Bally Gaming, Inc. Assignment template and assignment bundle in a gaming configuration and download system
US9508218B2 (en) 2006-11-10 2016-11-29 Bally Gaming, Inc. Gaming system download network architecture
US8784212B2 (en) 2006-11-10 2014-07-22 Bally Gaming, Inc. Networked gaming environment employing different classes of gaming machines
US8930461B2 (en) 2006-11-13 2015-01-06 Bally Gaming, Inc. Download and configuration management engine for gaming system
US8347280B2 (en) 2006-11-13 2013-01-01 Bally Gaming, Inc. System and method for validating download or configuration assignment for an EGM or EGM collection
US9082258B2 (en) 2006-11-13 2015-07-14 Bally Gaming, Inc. Method and system for providing download and configuration job progress tracking and display via host user interface
GB2436412A (en) 2006-11-27 2007-09-26 Cvon Innovations Ltd Authentication of network usage for use with message modifying apparatus
CN101542495B (zh) * 2007-01-05 2014-10-22 Lg电子株式会社 用于传递资源的方法和用于提供信息的方法
JP2010507864A (ja) * 2007-02-16 2010-03-11 エルジー エレクトロニクス インコーポレイティド ドメイン管理方法及びドメインデバイス並びにプログラム
US8935718B2 (en) 2007-05-22 2015-01-13 Apple Inc. Advertising management method and system
GB2450144A (en) 2007-06-14 2008-12-17 Cvon Innovations Ltd System for managing the delivery of messages
CN101731000A (zh) * 2007-07-06 2010-06-09 Lm爱立信电话有限公司 使服务供应商能够获得并使用用户信息的系统和方法
US8307054B2 (en) * 2007-08-30 2012-11-06 Software Ag Systems and/or methods for location transparent routing and execution of processes
US20090070408A1 (en) * 2007-09-07 2009-03-12 At&T Knowledge Ventures, L.P. Apparatus and method for managing delivery of media content
CN101136837A (zh) 2007-09-21 2008-03-05 华为技术有限公司 推送消息的控制方法、装置和系统
US8920236B2 (en) 2007-11-02 2014-12-30 Bally Gaming, Inc. Game related systems, methods, and articles that combine virtual and physical elements
US8616958B2 (en) 2007-11-12 2013-12-31 Bally Gaming, Inc. Discovery method and system for dynamically locating networked gaming components and resources
EP2223551A4 (en) * 2007-12-14 2015-08-05 Telecomm Systems Inc LOCATION-RELATED SERVICES ABOUT WAP APPLICATION
CN101552797B (zh) * 2008-03-31 2013-06-05 中国人民解放军信息工程大学 一种实现面向服务提供的网络体系结构的系统
US9483911B2 (en) 2008-04-30 2016-11-01 Bally Gaming, Inc. Information distribution in gaming networks
US9005034B2 (en) 2008-04-30 2015-04-14 Bally Gaming, Inc. Systems and methods for out-of-band gaming machine management
US8856657B2 (en) 2008-04-30 2014-10-07 Bally Gaming, Inc. User interface for managing network download and configuration tasks
US9443377B2 (en) 2008-05-30 2016-09-13 Bally Gaming, Inc. Web pages for gaming devices
CN101621508A (zh) * 2008-07-03 2010-01-06 深圳富泰宏精密工业有限公司 一种可控制网络推播信息的系统及其方法
US8412768B2 (en) * 2008-07-11 2013-04-02 Ball Gaming, Inc. Integration gateway
US20100088387A1 (en) * 2008-10-03 2010-04-08 Apple Inc. Email Notification Proxy
US8266213B2 (en) 2008-11-14 2012-09-11 Bally Gaming, Inc. Apparatus, method, and system to provide a multiple processor architecture for server-based gaming
US8250032B2 (en) * 2009-06-02 2012-08-21 International Business Machines Corporation Optimizing publish/subscribe matching for non-wildcarded topics
CN101997696A (zh) * 2009-08-24 2011-03-30 华为终端有限公司 传递及接收Push消息的方法和设备
US8489130B2 (en) * 2009-11-19 2013-07-16 At&T Mobility Ii Llc System and method for messaging content delivery
US8510658B2 (en) 2010-08-11 2013-08-13 Apple Inc. Population segmentation
US20120191790A1 (en) * 2011-01-24 2012-07-26 appMobi, Inc. Web-Based Push Messaging Methods and Systems
US8635342B2 (en) * 2011-03-15 2014-01-21 Sap Ag Transaction message collector
US9313159B2 (en) 2011-03-24 2016-04-12 Red Hat, Inc. Routing messages exclusively to eligible consumers in a dynamic routing network
US9137189B2 (en) * 2011-03-24 2015-09-15 Red Hat, Inc. Providing distributed dynamic routing using a logical broker
US9058716B2 (en) 2011-06-06 2015-06-16 Bally Gaming, Inc. Remote game play in a wireless gaming environment
US9432218B2 (en) 2011-07-28 2016-08-30 Red Hat, Inc. Secure message delivery to a transient recipient in a routed network
US8595322B2 (en) 2011-09-12 2013-11-26 Microsoft Corporation Target subscription for a notification distribution system
US9208476B2 (en) * 2011-09-12 2015-12-08 Microsoft Technology Licensing, Llc Counting and resetting broadcast system badge counters
US8694462B2 (en) 2011-09-12 2014-04-08 Microsoft Corporation Scale-out system to acquire event data
US20130067024A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Distributing multi-source push notifications to multiple targets
US9120007B2 (en) 2012-01-18 2015-09-01 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US8974305B2 (en) 2012-01-18 2015-03-10 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
CN103368814B (zh) * 2012-03-27 2016-12-28 北京百度网讯科技有限公司 数据推送方法、系统及移动终端
CN103369005B (zh) * 2012-03-30 2016-12-14 北京百度网讯科技有限公司 数据推送方法、系统及移动终端
JP5721659B2 (ja) * 2012-04-06 2015-05-20 キヤノン株式会社 管理装置、管理システム、及び制御方法
US9882950B2 (en) * 2012-06-13 2018-01-30 All Purpose Networks LLC Methods and systems of an all purpose broadband network
US8565689B1 (en) 2012-06-13 2013-10-22 All Purpose Networks LLC Optimized broadband wireless network performance through base station application server
TWI517691B (zh) * 2012-07-24 2016-01-11 美商微晶片科技公司 一種以最小延遲無線傳輸優先權化遊戲影音之系統
US9325648B2 (en) * 2012-08-09 2016-04-26 International Business Machines Corporation Message subscription based on message aggregate characteristics
US9781153B2 (en) 2014-09-30 2017-10-03 At&T Intellectual Property I, L.P. Local applications and local application distribution
EP3205050A4 (en) * 2014-10-07 2018-06-20 Demandware, Inc. Contract broker for secure ad-hoc personal data sharing
US9830603B2 (en) 2015-03-20 2017-11-28 Microsoft Technology Licensing, Llc Digital identity and authorization for machines with replaceable parts
US10099140B2 (en) 2015-10-08 2018-10-16 Activision Publishing, Inc. System and method for generating personalized messaging campaigns for video game players
US11185784B2 (en) 2015-10-08 2021-11-30 Activision Publishing, Inc. System and method for generating personalized messaging campaigns for video game players
US11863509B2 (en) 2015-12-18 2024-01-02 Amazon Technologies, Inc. Publish-subscribe message transformation
US10560532B2 (en) * 2016-09-23 2020-02-11 Apple Inc. Quick relay session management protocol
GB201710158D0 (en) * 2017-06-26 2017-08-09 United Kingdom Atomic Energy Authority Communication system
US11082512B2 (en) 2017-08-15 2021-08-03 Microsoft Technology Licensing, Llc Routing and filtering event notifications
US11080303B2 (en) 2017-09-08 2021-08-03 Bank Of America Corporation System and method of multiprotocol publisher and subscriber services
US10635687B2 (en) * 2017-09-26 2020-04-28 Amazon Technologies, Inc. Delivering a data object to a device
JP6974620B2 (ja) * 2017-09-26 2021-12-01 華為技術有限公司Huawei Technologies Co., Ltd. 通知メッセージ処理方法及び端末
US11088981B2 (en) 2017-09-26 2021-08-10 Amazon Technologies, Inc. Receiving a data object at a device
EP3662370B1 (en) 2018-01-08 2023-12-27 All Purpose Networks, Inc. Internet of things system with efficient and secure communications network
US10827019B2 (en) 2018-01-08 2020-11-03 All Purpose Networks, Inc. Publish-subscribe broker network overlay system
CN108650294B (zh) * 2018-04-03 2021-07-16 中国银行股份有限公司 技术系统间交易信息传递方法及装置
CN109257257B (zh) * 2018-09-25 2022-08-09 中国电力科学研究院有限公司 一种主子站广域消息传输方法和系统
US11201937B2 (en) 2018-11-22 2021-12-14 Jeffrey Alan Carley Message broker customization with user administered policy functions
CN111245872B (zh) * 2018-11-28 2023-10-13 北京亿阳信通科技有限公司 一种顺序消息过滤分发平台和方法
CN111245777A (zh) * 2019-11-14 2020-06-05 北京京航计算通讯研究所 军工领域消息的传递方法
US11122000B1 (en) * 2019-12-11 2021-09-14 Amazon Technologies, Inc. Notifying a publisher of life-cycle events for topic subscription
CN111586016A (zh) * 2020-04-29 2020-08-25 重庆生命新云网络科技有限公司 一种基于移动网络生命体征数据实时传输系统
US11340828B2 (en) 2020-08-10 2022-05-24 Bank Of America Corporation Restoring messages to a memory utilized by a topic in a publish-subscribe environment
US11354161B2 (en) 2020-08-10 2022-06-07 Bank Of America Corporation Controlling memory utilization by a topic in a publish-subscribe environment
CN112600881A (zh) * 2020-12-01 2021-04-02 珠海格力电器股份有限公司 提供物联网服务的方法、设备、服务器及存储介质
CN113556351B (zh) * 2021-07-27 2022-12-06 上海工业自动化仪表研究院有限公司 一种漏洞扫描数据的实时推送方法
KR20230019582A (ko) * 2021-08-02 2023-02-09 한화테크윈 주식회사 IoT 기반의 네트워크 카메라 및 모니터링 장치
CN114095583A (zh) * 2021-10-28 2022-02-25 翌飞锐特电子商务(北京)有限公司 一种航空货物电子数据交换方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047327A (en) * 1996-02-16 2000-04-04 Intel Corporation System for distributing electronic information to a targeted group of users
AUPN955096A0 (en) * 1996-04-29 1996-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Telecommunications information dissemination system
US6654786B1 (en) * 1998-04-30 2003-11-25 Openwave Systems Inc. Method and apparatus for informing wireless clients about updated information
US6522875B1 (en) * 1998-11-17 2003-02-18 Eric Morgan Dowling Geographical web browser, methods, apparatus and systems
WO2000078067A1 (en) * 1999-06-11 2000-12-21 Telefonaktiebolaget Lm Ericsson (Publ) Arrangement for distributing stock exchange information to subscribers
FI118947B (fi) 1999-06-11 2008-05-15 Elisa Oyj Menetelmä informaatiopaketin välittämiseksi matkaviestinliittymään
AU5740500A (en) 1999-06-14 2001-01-02 Geoworks Corporation Method of subscriber self-selection of advertisements received on their mobile wireless display devices
AU2293401A (en) * 2000-02-08 2001-08-20 Sony Corp America System and method for monitoring plural real-time customized data sources
EP1258111A2 (en) * 2000-02-24 2002-11-20 mBlox Ltd. A system and method for providing information services to a mobile device user
US7392306B1 (en) * 2000-04-07 2008-06-24 Aol Llc Instant messaging client having an embedded browser
US6366029B1 (en) * 2000-05-31 2002-04-02 Keith Billings Lamp ballast for reducing interference current
US20020024536A1 (en) * 2000-08-25 2002-02-28 Michal Kahan Method and apparatus for information aggregation and personalized display of the aggregated information
US6778834B2 (en) * 2001-02-27 2004-08-17 Nokia Corporation Push content filtering
US7856420B2 (en) * 2001-04-19 2010-12-21 Hewlett-Packard Development Company, L.P. Zero latency enterprise enriched publish/subscribe
US6981062B2 (en) * 2001-04-20 2005-12-27 Sbc Technology Resources, Inc. World wide web content synchronization between wireless devices
SE522716C2 (sv) * 2001-12-18 2004-03-02 Accra Teknik Ab A-stolpe och ett tätningsförsett taksidoparti hos ett fordon med en dörr utan fönsterram

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10919406B2 (en) 2017-11-23 2021-02-16 DOOSAN Heavy Industries Construction Co., LTD Power charging/selling device and method
KR20190062799A (ko) 2017-11-29 2019-06-07 한국전자통신연구원 발행-구독 모델에서의 데이터 중개 장치 및 접근 제어 방법
KR20210005305A (ko) * 2020-01-20 2021-01-13 두산중공업 주식회사 전력 충전/판매 장치 및 방법

Also Published As

Publication number Publication date
US10432762B2 (en) 2019-10-01
CA2361861A1 (en) 2003-05-13
US10135958B2 (en) 2018-11-20
WO2003043286A3 (en) 2003-09-25
US20040254993A1 (en) 2004-12-16
US20190075193A1 (en) 2019-03-07
CN1572098A (zh) 2005-01-26
US20190075192A1 (en) 2019-03-07
WO2003043286A2 (en) 2003-05-22

Similar Documents

Publication Publication Date Title
US10432762B2 (en) Wireless messaging services using publish/subscribe systems
US7464178B2 (en) Open messaging gateway
US7254614B2 (en) Web services push gateway
EP1606917B1 (en) System and method for publish/subscribe messaging
KR101362469B1 (ko) 컨텍스트-기반 규칙들을 이용하여 비신뢰적인 네트워크들 상에서 트랜잭션들과 데이터를 스위칭하기 위한 적응적 게이트웨이
EP1457015B1 (en) Content based data routing
US7894431B2 (en) System and method for communicating asynchronously with web services using message set definitions
US7890572B2 (en) Pub/sub message invoking a subscribers client application program
US6868544B2 (en) Method and system for general-purpose interactive notifications
CN1575461B (zh) 约定web服务的移动客户机
EP1170673A1 (en) Portal application
US20070067389A1 (en) Publish/subscribe messaging system
CA2729867A1 (en) A method to provide an option to the customer relationship management (crm) user to select from a list of short message service (sms) gateways from the graphical user interface (gui) before sending out an sms message
AU2006263436A1 (en) Schema-based dynamic parse/build engine for parsing multi-format messages
US20060235970A1 (en) System and method for exposing synchronous web services as notification style web services
WO2007003045A1 (en) System and method of recommendation and provisioning of mobile device related content and applications
EP1389389B1 (en) An open messaging gateway
JP4959339B2 (ja) ウェブ・サービス・インターメディアリ用のポート・タイプ非依存型プロキシ・サポート
KR20010007778A (ko) 분산 서버를 이용한 사용자 정보 수집 방법 및 이를이용한 전자메일 수신 통보 및 광고 제공 방법
Mahmoud et al. MSM: A Middleware Architecture for Enhancing Interaction with Mobile Services

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid