KR20000076751A - 발행/가입 서비스를 제공하는 메시지 브로커 및 발행/가입환경에서 메시지를 처리하는 방법 - Google Patents

발행/가입 서비스를 제공하는 메시지 브로커 및 발행/가입환경에서 메시지를 처리하는 방법 Download PDF

Info

Publication number
KR20000076751A
KR20000076751A KR1020000010101A KR20000010101A KR20000076751A KR 20000076751 A KR20000076751 A KR 20000076751A KR 1020000010101 A KR1020000010101 A KR 1020000010101A KR 20000010101 A KR20000010101 A KR 20000010101A KR 20000076751 A KR20000076751 A KR 20000076751A
Authority
KR
South Korea
Prior art keywords
message
broker
application program
content
subscriber
Prior art date
Application number
KR1020000010101A
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 KR20000076751A publication Critical patent/KR20000076751A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/562Brokering proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Finance (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Primary Health Care (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

발행/가입 서비스를 지원하는 메시지 브로커가 제공된다. 브로커는 발행자 어플리케이션 프로그램으로부터 수신된 메시지 컨텐트의 특성을 식별하고 이 메시지 컨텐트 특성의 식별을 이용하여 메시지 핸들러 모듈 세트 중 어느 것이 메시지를 전달할지를 결정한다. 선택된 메시지 핸들러 모듈은 메시지를 처리한 다음에 하나 이상의 유도 메시지가 이 메시지 유형이나 메시지 컨텐트를 요청한 가입자에게 보내진다. 하나 이상의 메시지 핸들러 모듈은 멀티미디어 처리 모듈인 것이 바람직하고 이들은 메시지 컨텐트 내에서 특정 멀티미디어 유형의 식별에 응답하여 선택된다.

Description

발행/가입 서비스를 제공하는 메시지 브로커 및 발행/가입 환경에서 메시지를 처리하는 방법{MESSAGE BROKER PROVIDING A PUBLISH/SUBSCRIBE SERVICE AND METHOD OF PROCESSING MESSAGES IN A PUBLISH/SUBSCRIBE ENVIRONMENT}
본 발명은 발행/가입 서비스를 제공하는 메시지 브로커 (broker) 및 발행/가입 환경에서 메시지 컨텐트를 처리하는 방법에 관한 것이다.
발행/가입은 수신하길 원하는 정보의 제목을 선택한 정보 사용자 (가입자)의 지역 사회에 네트워크를 거쳐 정보 공급자 (발행자)가 전자적으로 정보를 보내고 있는 정보 분산 기구로 알려져 있다. 통상, 발행자는 브로커에게 단일의 메시지를 발행한다. 다음에 브로커는 그 등록 신청에서부터 메시지의 복제물이나 유도물을 보내는 장소 까지 결정하게 되다.
공지의 발행/가입 기구는 통상 고위 구조화된 작은 트랙잭션 (transaction) 메시지에 필요한 라우팅 (routing)을 성취하기 위해 매우 간단한 로직을 실행하는 분산 리스트에 따라 달라진다. 가입자 어플리케이션은 메시지 헤더 내에서 또는 구조화된 메시지의 특정 컨텐트 필드 내에서, 회사 이름이나 다른 특정 제목과 같은 특정 제목 분류나 키워드를 포함하는 모든 메시지를 수신하도록 등록될 수 있다. 메시지 딕셔너리 (dictionary)는 메시지의 구조에 대한 정보를 유지하며, 메시지 브로커에게 이를 통과하게 되는 모든 메시지의 구조물 정의를 제공하므로 조사를 위해 메시지 컨텐트로부터의 필드의 언팩킹 (unpacking)을 가능하게 한다. 메시지 브로커는 제목의 분류나 키워드를 검색하도록 컨텐트 내에서 메시지 헤더나 필드를 퀘리(query)하고, 다음에 이것은 메시지가 어느 어플리케이션에 보내져야 하는지를 결정하기 위해서 가입자 어플리케이션에 필요한 정보 리스트와 라우팅 메시지에 대한 그 외 저장된 룰의 리스트와 비교된다.
등록된 어플리케이션이 필요한 메시지 포맷의 지식은 메시지 포맷 변환을 가능하게 한다 (예를 들어, 인입되는 메시지의 컨텐트는 COBOL로 되어 있는 한편, 가입자는 이 컨텐트가 e 메일 메모 내의 텍스트로 변환될 것을 필요로 한다).
이들 공지된 발행/가입 기구는, 간단한 로직이 특정 메시지 필드만의 컨텐트와 분산 리스트의 엔트리의 비교를 포함하고 있기 때문에, 상위 구조물 메시지로 동작될 수 있다. 더구나, 공지의 발행/가입 기구는 통상 판정 및 포맷 변환을 라우팅하기 위해 간단한 로직을 사용하며 발행/가입 환경을 텍스트계가 아닌 메시지 컨텐트의 복잡한 처리로 연장하지 않는다.
본 발명의 제1 형태에서, 브로커가 발행자 어플리케이션 프로그램으로부터 수신된 메시지의 컨텐트의 특성을 식별하며 메시지 컨텐트 특성의 식별을 사용하여 메시지 핸들러 모듈의 세트 중에서 어느 모듈로 메시지를 통과시킬지를 결정하는 발행/가입 서비스를 지원하는 메시지 브로커가 제공되어 있다. 선택된 메시지 핸들러 모듈은 메시지를 처리한 다음에 하나 이상의 유도된 메시지가 이 메시지 유형이나 메시지 컨텐트가 요청된 가입자에게 보내진다.
메시지 핸들러 모듈의 세트 중에서 어디로 메시지를 통과시킬지를 결정하기 위한 메시지 컨텐트 특성 및 로직의 식별 기능, 및 바람직하게는 하나 이상의 메시지 핸들러 모듈의 처리 기능은 메시지 브로커의 동작과 보간되며 이를 제어하는 교체 가능한 소프트웨어 소자 내에서 실행될 수 있다. 특정 기능을 교체 가능한 소자 (Java Bean 또는 ActiveX 소자 등)로 분리하는 것은 메시지 브로커의 동작이 브로커에 사용되는 특정 소프트웨어 소자에 따라서 변형되는 것을 가능하게 한다.
메시지 브로커는 복수의 데이터 처리 시스템 각각에 인스톨된 메시지 브로커 소프트웨어 소자와 보간되는, 분산된 브로커 하부 구조물을 포함한다. 메시지는 각 시스템의 능력과 식별된 메시지 특성에 따라 여러 처리 시스템으로 보내진다. 예를 들어, 하나의 처리 시스템은 유효한 SQL 데이터베이스 억세스를 제공하도록 데이터베이스에 접속되는 한편 제2 시스템은 고속 플로팅 지점 연산을 실행하는 능력 등 화상 처리를 위한 특정 능력을 가질 수 있다. 따라서, 분산된 브로커 서비스의 메시지 브로커의 선택은 본 발명의 메시지 컨텐트 특성의 식별을 이용하여 취득될 수 있다.
제2 형태에서, 본 발명은 브로커가 발행자 어플리케이션 프로그램으로부터 수신된 메시지 내에서 비영숫자 메시지 컨텐트 (즉, 텍스트계가 아니거나 텍스트나 숫자를 디지털이나 그 외 엔코드화로 나타낸 컨텐트)을 식별하고 비영숫자 메시지 컨텐트의 식별을 이용하여 복수의 메시지 핸들러 모듈 중에서 어디로 메시지를 통과시킬지를 결정하는, 발행/가입 서비스를 지원하는 메시지 브로커를 제공한다. 선택된 메시지 핸들러 모듈은 메시지를 처리한 다음에 이 메시지 유형이나 메시지 컨텐트를 요청한 가입자에게 브로커에 의해 보내진다.
하나 이상의 선택 가능한 메시지 핸들러 모듈은 메시지 내의 멀티미디어 컨텐트 상에서 하나 이상의 특정 처리 동작을 실행한 다음에 하나 이상의 최종 변형되거나 유도된 메시지를 다시 브로커로 보내는 멀티미디어 처리 모듈인 것이 바람직하다. 메시지가 비영숫자 컨텐트를 포함하는 것을 인식하게 되면 브로커가 멀티미디어 처리 모듈과 같은, 컨텐트를 취급하는 데에 적합한 처리 모듈로 인입 메시지를 통과시키게 한다. 처리 모듈은 메시지의 컨텐트를 조작하고 하나 이상의 유도 메시지를 메시지 브로커에게 다시 보내고, 다음에 이 브로커가 유도된 메시지를 관련 가입자 어플리케이션 프로그램에 보낸다.
따라서, 발행/가입 능력은 본 발명에 의해서 멀티미디어 컨텐트와 같은 비영숫자 컨텐트를 포함하는 어느 유형의 메시지도 지원하도록, 또한 비영숫자 컨텐트를 처리하도록 메시지 브로커나 관련된 메시지 핸들러 모듈에 대한 요구 사항을 포함하는 가입자 요구 사항으로 연장된다. 본 발명 이전에는, 비영숫자 메시지 컨텐트의 식별 및 검색은 스캔된 각 메시지에 대해 구성된 특정 퀘리 (query)를 필요로 하며 따라서 가입자가 필요로 하는 형태의 멀티미디어의 이송은 공지의 발행/가입 기구를 이용하여 취급될 수가 없었다.
본 발명의 일 실시예에 따르면, 메시지 브로커는 어느 특정 동작이 가입자의 특정 요구 사항에 따라서 또한 수신된 메시지의 특성에 따라서 선택된 멀티미디어 처리 모듈에 의해 실행되게 되는지에 대한 결정을 실행한다. 다르게는, 선택된 처리 모듈은 가입자 요구 사항과 관계 없이 표준 동작 세트를 실행할 수 있으며, 브로커는 뒤이어 어느 가입자가 어느 유형의 출력을 필요로 하는지를 체크한다.
비영숫자 컨텐트는 예를 들어 실행 가능한 프로그램 코드를 포함하는 오디오 또는 화상 데이터나 그 외 이진 데이터일 수 있다. 일 예로는 브로커가 무선국에 의해 전파되는 자료를 나타내는 파형 데이터를 포함하는 메시지를 수신하도록 접속되어 있는 것이다. 브로커는 메시지가 오디오 컨텐트를 포함하고 있으며, 이 메시지를 다음의 기능: 오디오 데이터로부터 워터마크를 검색하는 기능, 이 워터마크를 카피라이트 소유자의 데이터베이스 및 이들의 자료와 비교하여 관련 소유자 및 자료를 식별하는 기능, 및 카피라이트 소유자에게 발행된 메시지를 생성하여 이들에게 특정 카피라이트 작업이 특정한 날자와 시간에 특정 무선국에 의해서 전파되고 있다는 것을 알리는 기능을 실행하는 특정 메시지 핸들러 모듈로 보낸다는 것을 인식한다. 이것은 카피라이트 소유자가 로열티 지불을 얻을 수 있게 한다. 제2 예로는 인입되는 메시지가 위성에 의해 포획되는 원 화상 데이터를 포함하는 것이다. 이 인입 메시지는 여러 해상도 화상의 세트를 생성하도록 처리되므로, 적당한 해상도의 화상이 여러 가입자 요청에 응답하여 전달되게 이용 가능하다. 위성 화상은 또한 발행된 메시지가 크롭 (crop) 식별 맵과 같은 유도 정보를 포함하기 위해 처리될 수 있다.
상기 예는 수신된 메시지 컨텐트를 변형하거나 해석하는 처리 모듈을 포함한다는 것에 유의한다 - 후속으로 가입자에게 전달된 메시지는 특정 가입자의 요구 사항에 적절한 추출, 처리 또는 유도된 데이터를 포함할 수 있다. 또한 메시지 컨텐트 특성 및/또는 가입자 요구 사항으로 결정된 바와 같이, 발행자에게 발행된 메시지와 동일한 컨텐트를 포함하도록, (여기에서 "유도된" 메시지로 언급되는) 가입자에게 보내진 메시지에 적합한 예가 있을 수 있다. 본 발명의 멀티미디어 컨텐트의 식별 및 후속되는 적당한 핸들러 모듈의 선택은 이들 후자의 경우에 동일하게 적용 가능하다.
본 발명의 바람직한 실시예에 따른 메시지 브로커는 단일의 특정 메시지 구조물이나 구조화된 메시지 내의 특정 필드의 컨텐트의 스캐닝에만 제한되는 것이 아니고, 검색된 메시지의 컨텐트를 스캔하고 이 메시지 내에서 비영숫자 요소를 식별하는 데에 적합하다. 예를 들어, 브로커는 비영숫자 컨텐트의 가능성을 갖는 특정 제목의 스트링을 찾은 다음에, 특정 화상 포맷의 구조물을 나타내는 인식 가능한 바이트 시퀀스 (예를 들어, GIF, TIFF, 및 JPEG는 인식 가능한 초기 바이트 시퀀스를 가짐)를 찾는 데에 적합할 수 있다.
도 1은 본 발명의 일 실시예에 따라 메시지 브로커를 통해 메시지를 교환하는 발행자 및 가입자 어플리케이션 프로그램을 포함하는 컴퓨터 네트워크.
도 2는 네트워크를 통해 분산된 메시지 브로커 기능을 갖는 분산된 컴퓨터 네트워크 토폴리지의 예.
도 3은 본 발명의 일 실시예에 따른 메시지 브로커를 이용한 발행/가입 방법의 단계 순서도.
〈도면의 주요 부분에 대한 간단한 설명〉
10 : 발행 어플리케이션 프로그램
20 : 가입 어플리케이션 프로그램
30 : 메시지 브로커
40 : 룰 엔진
60 : 메시지 분석 소자
70 : 멀티미디어 처리 모듈
80 : 개체 라이브러리
90 : 메시지 전달 소프트웨어 제품
100 : 컴퓨터 시스템
네트워크 내의 여러 컴퓨터 상에서 실행되는 어플리케이션 프로그램은 IBM사의 MQSeries 메시지 큐잉 (queuing) 소프트웨어 제품 등의 메시징 제품을 이용하여 통신되므로 보간 (interoperate)이 가능하게 된다. 메시지 큐잉 및 상용 가능한 메시지 큐잉 제품은 "Messaging and Queuing Using the MQI", B.Blakeley, H. Harris & R.Lewis, McGraw-Hill, 1994에 기재되어 있으며, IBM사로부터 상용 가능한 다음의 문헌: "An Intrduction to Messaging and Queuing" (IBM 서류 번호 GC33-0805-00) 및 MQSeries - Message Queue Interface techincal Reference" (IBM 서류 번호 SC33-0805-01)에 개시되어 있다. 컴퓨터가 메시지 큐잉을 이용하여 통신하는 네트워크는 인터넷, 인트라넷, 또는 그 외 컴퓨터 네트워크일 수 있다. IBM 및 MQSeries는 IBM사의 상표이다.
IBM의 MQSeries 메시징 소프트웨어 제품은 시스템이나 통신 이상의 경우에도 오직 한번만의 메시지 이송을 확실하게 하는 메시징 프로토콜에 따라서 로직 작업 단위 내에서 메시지를 동기화하는, 트랜잭션 메시징 지원물을 제공한다. MQSeries 제품은 수신기 시스템에 의해 안전되게 저장된 것으로 확인된 후에야 메시지를 송신기 시스템 상의 저장물로부터 최종으로 삭제함으로써, 또한 정교한 회복 설비를 이용하여, 확실한 이송을 제공하다. 성공적인 저장의 확인시 메시지의 전달 이전에, 발신기 시스템에서의 저장소로부터의 메시지의 삭제 및 수신기 시스템에서의 저장소내의 삽입은 "불확실" 상태로 유지되어 이상의 경우 자동으로 백아웃(back out)될 수 있다. 이 메시지 전송 프로토콜 및 관련된 트랜잭션 개념과 회수 설비는 여기에서 참조되고 있는, 국제 특허 출원 번호 WO 95/10805 및 미국 특허 번호 5465328에 기재되어 있다.
MQSeries 제품으로 제공되는 메시징 큐잉 프로그램 간 통신 지원물은 각 어플리케이션 프로그램이 그 외 다른 타겟 어플리케이션 프로그램의 입력 큐에 메시지를 전송할 수 있게 하며 각 목표 어플리케이션은 처리를 위해 이들 메시지를 그 입력 큐로부터 취한다. 이것은 분산된 이종 컴퓨터 네트워크를 거쳐 분포될 수 있는 어플리케이션 프로그램 사이의 확실한 메시지 이송을 제공하지만, 어플리케이션 프로그램 사이의 가능한 접속 맵에서는 큰 복잡성이 있을 수 있다.
이 복잡성은 모든 시스템 사이에 직접적인 접속을 갖는 대신에, 그 외 모든 시스템이 접속되는 통신 허브(hub)를 네트워크 아키텍쳐 내에 포함하여 간단하게 될 수 있다. 메시지 브로커링 능력은 메시지 라우팅과 어플리케이션의 집적화를 제공하도록 통신 허브에 제공될 수 있다. 메시지 브로커링 기능은 메시지 헤더에 포함된 메시지 "토픽" 정보를 이용하여, 비지니스 룰과 여러 어플리케이션 프로그램의 정보 요구 사항의 기능에 따라서 메시지를 지능적으로 라우트하는 능력과, 타겟 어플리케이션이나 시스템의 메시지 포맷 요구 사항의 지식을 이용하여 메시지 포맷을 변형하는 능력을 포함한다. 이런 브로커링 능력은 IBM사의 MQSeries 메시징 제품을 이용하여 어플리케이션 프로그램 사이에서 교환되는 메시지에 대해 서비스를 제공하는, IBM사의 MQSeries 인티그레이터 소프트웨어 제품에 의해 제공된다.
사용자에게 가장 근접한 상부에 어플리케이션 프로그램을 갖는 이들 여러 소자의 계층도를 적용하면, 메시지 브로커의 소자는 어플리케이션 프로그램과 메시지 전달 소프트웨어 사이의 다음 아래 층에 놓인다.
본 발명에 따르면, 메시지 브로커 소프트웨어 제품이나 소프트웨어 소자는 정보 전달을 위해 발행/가입 기구를 지원하고 이 기구를 더 복잡한 메시지 컨텐트 처리를 포함하도록 연장하는 데에 적합한다.
도 1은 본 발명에 따른 메시지 브로커(30)를 거쳐 발행 어플리케이션 프로그램(10)과 가입 어플리케이션 프로그램(20) 사이의 메시지 흐름도를 나타낸다. 본 발명의 바람직한 실시예에 따른 메시지 브로커(30)는 모든 발행 어플리케이션이 통신 네트워크를 거쳐 접속되는 컴퓨터 시스템(100)에서 실행되는 메시지 전달 소프트웨어 제품(90)과 보간되는 소프트웨어 소자로서 구현된다. 그러나, 브로커링 기능은 다음에서 기재되는 바와 같이, 네트워크를 거쳐 접속된 복수의 메시지 브로커 소자를 거쳐 분산될 수 있다. 따라서, 메시지 브로커는 모든 발행된 메시지를 검색하도록 접속된다. 각 어플리케이션 프로그램은 네트워크를 거쳐 프로그램 간 통신의 복잡성을 취급하는 메시지 전달 제품(90')과 관련되며, 각 메시지 브로커는 또한 국부적 컴퓨터 시스템 상의 메시지 전달 제품(90)과 관련된다.
상술된 바와 같이, 통신 허브에서의 단일의 브로커 대신에, 허브는 서로 통신하는 분산된 브로커(30)의 집합으로 이루어질 수 있다. 이들 브로커(30)는 가입 리스트를 공유하며 여분의 스칼라 가능 분산 브로커 내부 구조물을 제공할 수 있다. 이런 분산된 브로커 내부 구조물로 제공된 메시지 브로커 서비스는 그 기능적 능력 및 메시지 특성과 관련하여 분산 환경 내에서 복수의 프로세서들 중 하나를 선택하도는 본 발명의 메시지 컨텐트 특성 식별을 이용하여 증진되므로, 메시지 처리를 최적화할 수 있다. 예를 들어, 메시지 브로커 기능중 일부가 데이터베이스에의 직접적 접속부를 갖는 시스템 상에 놓이면, SQL 퀘리의 효율은 그 시스템에 모든 SQL 퀘리를 보내어 최적화될 수 있다. 메시지 브로커 기능의 제2 부분이 화상에 대해 특수 처리 능력을 갖는 시스템 상에 위치되면, 화상을 포함하는 모든 메시지가 이 시스템에 보내질 수 있다.
이해의 용이를 위해, 이하에서는 모든 발행 메시지가 보내지는 단일의 데이터 처리 시스템 상에 위치된 단일의 메시지 브로커에 관련하여 설명한다. 메시지가 메시지 브로커에 의해 수신될 때, 브로커 내의 메시지 분석 소자(60)는 먼저 토픽이나 제목 식별기에 대해 메시지 헤더를 조사한다(120). 메시지 발행자 어플리케이션은 메시지의 제목이 IBM사나 제너럴 모터사에 대해 각각 주식값인 것을 나타내기 위해서 메시지 헤더의 관련 필드 내에 "STOCK/COMPUTER/IBM" 또는 "STOCK/AUTOS/GM"을 입력하는 등으로, 메시지 토픽이나 제목을 식별할 수 있다. 가입자는 모든 컴퓨터 회사의 주식값에 대해 "STOCK/COMPUTERS/*"를 특정하거나, IBM사에 관련된 모든 메시지에 대해 "*/IBM"를 특정하는 등, 유사한 방식으로 수신하길 원하는 것에 대한 제목을 특정할 수 있다.
메시지 브로커는 어느 가입자가 이 메시지를 수신하길 원하는지를 식별하기 위해서 메시지 헤더로부터 검색된 토픽 식별자를 가입자의 정보 요구 사항 리스트와 비교하는 룰 엔진(40)을 포함한다. 부가적으로, 토픽 식별자는 약간의 비영숫자 메시지 컨텐트가 있는지를 내포하도록 알려진 토픽 식별자의 리스트와 비교된다(130). 일 실시예의 구현시, 메시지 발행자 어플리케이션은 발행자가 비영숫자 컨텐트를 포함하는 메시지를 발행하고 있을 때 사용되는 토픽 식별자 코드의 리스트를 포함하여 (등록 과정의 일부로서) 브로커에게 정보를 제공한다.
대안적으로, 등록 처리는 발행자가 텍스트계 컨텐트만을 포함하는 메시지 토픽을 특정하여, 이런 메시지의 컨텐트에 대한 분석이 비텍스트 컨텐트가 있는지를 결정하는 데에 더 이상 필요하지 않음을 나타내는 것을 포함한다.
둘째로, 메시지 토픽 식별자의 검색 및 해석의 시도가 메시지를 취급하는 방법에 대한 최종적인 결정을 가능하게 하지 않는 한, 메시지 브로커의 분석 소자(60)는 메시지의 컨텐트를 스캔하여(140), 특정 컨텐트 유형을 나타내는 바이트 시퀀스를 찾는다. 분석 소자(60)는 150 바이트 시퀀스를 특정 컨텐트 유형의 특정 구조물을 나타내는 바이트 시퀀스의 딕셔너리와 비교한다. 예를 들어, GIF, TIFF, 및 JPEG 화상은 각각 특성 바이트 구조물을 갖는다. 컨텐트 스캔 단계는 오디오 컨텐트와 화상을 식별하여 화상 포맷을 해상 (resolve)한다. 메시지는 또한 인터넷 웹 브라우저에 의한 표시를 위해 데이터의 포맷을 설명하는 HTML (하이퍼텍스트 마크업 랭귀지) 또는 XML (인스탠서블 마크업 랭귀지) 등의 프로그램 코드를 포함한다. 메시지 컨텐트 스캐닝 단계는 이들의 각 택 (tag)의 딕셔너리와 관련하여 XML 또는 HTML를 인식하도록 용이하게 실행될 수 있다.
이 조사를 실행하게 되면, 비영숫자 메시지 컨텐트를 갖는 것으로 식별된 메시지는 멀티미디어 처리 모듈(70)의 세트 중 적당히 선택된 하나의 모듈의 입력 버퍼에 보내지고(170), 이 모듈은 비영숫자 컨텐트가 화상이나 오디오 정보이거나 그 외 다른 데이터 유형인지에 따라서 선택된다(160).
XML 컨텐트의 조사는, 이전에 설명한 XML 메시지 컨텐트의 예를 이용하여, 특정 멀티미디어 컨텐트의 존재를 나타내고 처리되어야 하는 방법에 대한 결정에 관련되는 컨텐트의 특성을 나타내며, 어떤 경우에는 XML 포맷이 식별된 컨텐트를 적당히 처리하는 데에 필요한 하나 이상의 코드 모듈을 제공하는 데에 사용될 수 있다.
멀티미디어 처리 모듈을 포함하는 메시지 핸들러 모듈(70)의 집합은 개체 라이브러리(80)에 개체로서 유지되며 특정 처리 모듈(70)이 수신한 메시지에 대해 그 처리 동작을 실행하는 데에 필요한 것에 대한 브로커의 결정에 응답하여 예시화된다. 메시지 브로커(30)는 그 모듈이 이미 실행중인지 (즉, 이전의 메시지의 수신시 예시되었는지)를 검진함으로써 메시지 핸들러 모듈(70)의 선택(160)에 응답하고, 실행중이라면, 그 핸들러 모듈에 의한 처리를 위해 입력 버퍼 내에 메시지를 큐잉한다. 필요한 핸들러 모듈이 실행중이 아니라면, 예시화되고 메시지는 처리를 위해 핸들러 모듈의 입력 버퍼에 전달된다.
본 발명의 일 실시예에서, 화상 컨텐트를 포함하는 모든 메시지가 단일의 화상 프로세서 모듈에 전달된다. 유사하게, 오디오 데이터를 포함하는 모든 메시지는 단일의 오디오 처리 모듈에 전달되고 다른 식별 가능한 데이터 유형을 포함하는 메시지가 그 유형에 대한 각 처리 모듈에 전달된다. 이것은 메시지가 다수의 컨텐트 유형을 포함하는 경우 여러 메시지 핸들러 모듈에 의해 각각 실행되는 처리 단계의 시퀀스를 통해 단일의 메시지를 전달하는 것을 포함할 수 있다. 실행 가능 코드를 포함하는 메시지는 발행의 허가 이전에 인증 (예를 들어, 디지털 사인 증명 또는 바이러스 체크)를 실행하는 처리 모듈에 전달되어, 가입자를 원하지 않은 프로그램 코드로부터 보호한다. 이와 같은 각 유형의 메시지 컨텐트에 대한 단일의 메시지 핸들러 모듈의 보호는 비교적 간단한 인입 메시지의 분석에 의해 선택될 수 있다.
본 발명의 일 실시예에서, 선택된 메시지 핸들러 모듈은 일반 세트의 처리 동작을 실행하고, 즉 동일한 동작 세트가 그 핸들러 모듈에 전달되는 모든 메시지에 대해 실행된다. 그러나, 이것은 많은 메시지 핸들러 모듈에 대해 최적의 실행이 되지 못한다.
본 발명의 바람직한 실시예에서, 선택된 메시지 핸들러 모듈에 의해 실행되는 처리는 개별의 가입자 어플리케이션의 특정 요구 사항과 수신된 메시지의 특정한 특성에 의해 결정된다. 따라서, 메시지 핸들러 모듈의 선택에 이어, 메시지 브로커는 어느 가입자 어플리케이션 프로그램이 특정 토픽이나 수신 메시지의 유형에 응답하여 발행된 메시지를 수신하기 위한 요구 사항을 특정하는지를 판단한 다음에(180), 각 가입자의 요구 사항이 메시지와 함께 선택된 메시지 핸들러 모듈에 입력된 태스크 설명을 생성하는 데에 사용된다.
선택된 메시지 핸들러 모듈은 관련된 태스크 설명에 따라서 메시지 컨텐트에 대한 태스크를 실행하고(190) 그 최종 유도된 메시지를 관련된 가입자로의 분산을 위해서 메시지 브로커에게 되돌린다.
본 발명의 또 다른 실시예에서는, 실재의 메시지 핸들러 모듈의 선택은 가입자 어플리케이션 프로그램의 특정 요구 사항에 따라서 자체가 달라지는데, 이것은 가입자 요구 사항이 그 후 대신에 선택 단계의 일부로서 브로커에 의해 참조된다는 것을 의미한다.
본 발명의 능력을 본 발명에 따른 다수의 메시지 처리 및 브로커링의 예를 참조하여 이하 설명한다.
궤도 위성에 의해 포획된 지구 표면의 화상을 포함하는 메시지를 발행하도록 설정된 컴퓨터 시스템을 고려한다. 정보의 취득 기구는 포획된 화상 내에 포함되는 특정 데이터의 수신시 관심 있는 그 외 기구에 가입 서비스를 부여함으로써 데이터를 검색 및 처리하는 비용을 공유할 수 있다. 이 제1 시스템에서의 발행자 어플리케이션 프로그램은 원래의 포획된 화상을 포함하는 메시지를 주기적으로 생성하고 이들 메시지를 메시지 브로커에게 보낸다. 메시지 브로커는 수신시 메시지를 분석하고(120-150) (상술된 바와 같이 인식된 메시지 토픽 식별기와 공지의 토픽 및 스캔 메시지 컨텐트를 비교함으로써) 이 메시지 내에의 화상의 존재를 식별한다.
메시지 브로커는 화상의 인식에 응답하여, 메시지가 화상 처리 메시지 핸들러 모듈에 전달된 것을 판단한다(160). 브로커는 다음에 토픽 식별자를 이용하여 가입자 요구 사항의 기록을 체크(180)하여 - 어느 가입자가 이 토픽에 관련된 메시지를 수신하는 데에 필요한 사항을 등록했는지와 어느 특정 데이터 요구 사항이 이들 가입자에 의해 특정되었는지를 결정한다. 일 예로서, 제1 가입자는 메시지 브로커가 특정 발행자 기구로 이름 붙혀진 토픽 식별기를 포함하는 메시지를 수신할 때 마다 가입자가 메시지를 설정할 필요로 인해 메시지 브로커에 등록할 수 있다. 가입자는 그 발행자 기구로부터 수신된 모든 메시지가 포획된 원래의 화상과 식별 가능한 크롭의 분류를 나타내는 유도 화상을 생성하도록 처리된 화상 컨텐트를 가져야만 한다고 특정할 수 있다. 부가적으로, 가입자는 메시지를 필요한 유형으로 변환하도록 하는 처리를 필요로 하는 출력 유형을 특정할 수 있다 - 예를 들어, 가입자 어플리케이션 프로그램이 오디오 출력 장치에 접속되면 모든 메시지를 파형 출력 파일로 변환시킬 필요가 있는 한편 다른 가입자 어플리케이션 프로그램은 메시지가 e 메일 메모로서 보내지도록 하는 e메일 프로그램일 수 있다.
수신된 메시지의 화상 컨텐트를 필요한 방법으로 처리하도록 실행되는 동작을 설명하는 태스크 설명이 생성되고, 다음에 이 태스크 설명 및 수신 메시지가 선택된 화상 처리 메시지 핸들러 모듈에 전달된다(170). 이 메시지 핸들러 모듈은 설명된 처리 동작의 시퀀스를 실행한 다음에(190), 새로운 처리 화상 데이터를 포함하는 새로운 메시지를 메시지 브로커에게 되돌린다.
메시지 브로커는 다음에 새로운 메시지를 이 정보 요구 사항을 특정화하는 기압지에게 전송한다(200). (룰 엔진(40)의 제어 하에서) 이러한 최종 유도 메시지를 가입자 정보 요구 사항에 따라서 가입자에게 라우팅하는 것은 종래 기술의 메시지 브로커에 의해 실행된 라우팅과 매우 유사하다. 따라서, 본 발명은 관련 가입자의 식별을 위해 비지니스 로직을 이용하는 종래의 발행/가입 시스템의 컨택스트 내에 결합되는 단일의 특정 메시지 구조물에 의존하지 않고 컨텐트 유형의 특정한 메시지 컨텐트의 처리 및 적당한 메시지의 처리의 실행 능력을 가능하게 한다.
본 발명의 바람직한 실시예에서, 메시지 컨텐트 유형은 메시지 헤더의 토픽 식별기에 의존하지 않고 메시지 핸들러 모듈을 선택하는 데에 사용된다. 메시지 브로커의 분석 소자(60)는 메시지 컨텐트를 스캔한다 (이것은 모든 경우 또는 메시지 헤더의 퀘링 (quering)이 어느 메시지 핸들러 모듈이 선택되는지를 판정하는 데에 충분하지 않은 경우에만 행해질 수 있다). 화상이 이 스캔 단계에 의해 메시지 컨텐트 내에서 식별될 때, 화상은 워터마크 추출 공정에 이어 워터마크의 분석을 행하여 어느 메시지 핸들러 모듈이 선택되어야 하는지 또는 어느 특정 처리 동작이 화상에 대해 실행되어야 하는지를 식별하는 데에 충분한 정보를 포함하고 있는지를 판정할 수 있다. 이것은 특정 가입자 요구 사항을 조사하기 전에 본 발명의 구현을 위한 핸들러 선택 스테이지, 및 메시지 컨텐트 처리 스테이지의 성능을 가능하게 할 수 있다.
필요한 처리 동작을 결정하기 위한 유사한 워터마크 추출 및 분석이 상술된 바와 같이 메시지 내에서 오디오 데이터에 대해서도 실행될 수 있다.
본 발명의 바람직한 실시예에 따른 메시지 브로커는 또한 메시지 헤더 내의 텍스트 계 정보와 메시지의 컨텐트 내의 텍스트계 데이터의 분석에 의존하는 로직을 이용할 수 있으므로 특정 가입자가 브로커에 의한 인입 메시지의 수신에 응답하여 메시지를 수신해야 하는지를 결정할 수 있다. 즉, 본 발명의 멀티미디어 처리 형태에 부가하여, 본 발명에 따른 브로커에 의해 실행된 텍스트 처리는 주식값이 임계값을 초과할 때만 회사의 주식값이 공지되도록 하는 요구 사항 등의 가입자 정보 요구 사항을 처리하는 것을 포함할 수 있다. 가입자는 메시지 헤더로부터 식별되는 토픽 식별기로서 "STOCK/COMPUTERS/COMPANYNAME"을 특정하고 메시지가 그 가입자에게 보내져야 하는지를 결정하기 위해서 수신된 메시지의 컨텐트 내에 공유값 필드의 스캐닝을 필요로 하는 필터로서 "PRICE:〉$150"을 특정한다. 컨텐트 분석은 구조화된 퀘리 언어 인용을 이용하는 퀘리에 의해 실행될 수 있거나 특정 조건이 참(true)인지를 시험하는 것과 유사하다 (예를 들어, "COMPANYNAME 주식의 값은 〉$150").
본 발명을 실행하는 메시지 브로커 동작의 다른 예로서, 컨텐트 퀘리는 종래의 시스템에서 알려진 간단한 비지니스 로직 대신에 멀티미디어 컨텐트 분석을 포함할 수 있다. 예를 들어, 가입자는 가능한 상표 침해를 조사하는 방법으로서 화상의 상부 우측을 향하는 적색의 원형을 포함하는 화상의 수신에 대한 관심을 등록할 수 있거나, 특정 등급의 화상을 나타내는 일예의 화상이나 화상의 세트와 충분히 유사한 화상의 수신에 대한 관심을 등록할 수 있다.
이런 예의 화상이나 사용자가 매치하길 원하는 화상의 특성에 대한 사용자 설명에 응답하여 화상의 매치를 가능하게 하는 기술이 가능하다 (예를 들어, 미국 특허 번호 5579471에 기재된 화상 컨텐트 (QBIC) 기술에 의한 IBM의 퀘리). 인입 화상은 등급 표시를 포함하는 QBIC 카탈로그에 대한 퀘리로서 실행되고, 그 결과는 거리 측정치 세트가 된다. 퍼지 매칭 알고리즘은 메시지 내의 화상이 화상의 예나 요청된 특성에 얼마나 근접한지를 나타낸다. 따라서, 종래의 발행/가입 브로커 내의 가입자 등록 기구는 멀티미디어 특성 정의와 멀티미디어 특성 비교를 이용하여 개선되므로 (특정 임계값에 의해 정의된 임의의 허용값 내의) 가입 표준과 일치하는 메시지만이 가입한 사용자에게 전달되도록 할 수 있다.
QBIC 예는 메시지 컨텐트 특성의 식별이 (통상 임의의 바이트 시퀀스의 정밀한 매칭을 이용하여) 특정의 메시지 컨텐트 유형의 존재를 인식한 다음에 (컨텐트가 특정의 허용값 내에서 정의된 파라미터나 화상의 예와 매칭되는지와 같이) 인식된 바이트 시퀀스 내에 잠재된 것 외에 화상 컨텐트 특성을 식별하는 개별의 단계를 포함할 수 있다는 것을 보이고 있다.
이들 단계에 이어서, 어느 처리가 실행될지와 어떻게 행해질에 대한 결정이 행해진다. 이 단계를 실행하는 방법에 관계 없이 본 발명의 영역 내에서는 유동성의 고려가 가능하다. 이 결정은 발행자와 가입자로부터의 입력에 의존하는 비교적 비유동적인 방법이나 동적인 접근 방법을 이용할 수 있다. 가입자는 유도된 메시지를 생성하도록 메시지에 대해 실행될 필요가 있는 특정 처리 동작을 가입자로서 등록할 때를 특정할 수 있다. 이 예는 이미 설명한 바와 같다.
상술된 바와 같이, 메시지 컨텐트 특성의 식별 기능과 메시지 핸들러 모듈 세트 중에서 어느 것이 메시지를 전달할지를 결정하기 위한 로직과, 또한 바람직하게는 하나 이상의 메시지 핸들러 모듈의 처리 기능은, 메시지 브로커의 동작과 보간되고 이를 제어하는 교체 가능한 소프트웨어 소자 내에서 실행될 수 있다. 이와 같은 특정 기능을 교체 가능한 소자 (자바 빈이나 액티벡트 소자 등)으로 분리하는 것은 메시지 브로커의 동작이 브로커가 사용하는 특정 소프트웨어 소자에 따라 변형되는 것을 가능하게 한다. 또한 시간이 지남에 따라 새로운 메시지 특성 딕셔너리를 이들이 이용 가능하게 되면 개체 라이브러리 내에 로딩하는 등으로, 부가되게 하는 것이 가능하므로, 메시지 브로커가 새로운 메시지 컨텐트 유형을 인식할 수 있게 한다.

Claims (15)

  1. 발행자 어플리케이션 프로그램으로부터 메시지를 수신한 다음에 가입자 요구 사항에 따라서 가입자 어플리케이션 프로그램에 메시지를 전달함으로써 발행/가입 서비스를 지원하는 메시지 브로커에 있어서:
    발행자 어플리케이션 프로그램으로부터 수신된 메시지 내에서 비영숫자 메시지 컨텐트(non-alphanumeric message content) 를 식별하기 위한 메시지 분석 소자;
    상기 비영숫자 메시지 컨텐트의 식별을 이용하기 위한 메시지 핸들러 소자 세트 중에서 어느 것이 상기 메시지를 전달할지를 결정하기 위한 선택기;
    하나 이상의 유도 메시지를 생성하도록 수신된 메시지를 처리하기 위한 선택 가능 메시지 핸들러 소자 세트;
    상기 가입자 어플리케이션 프로그램의 요구 사항을 저장하는 저장소를 억세스하기 위한 수단; 및
    상기 저장소에 저장된 상기 가입자 어플리케이션 프로그램의 요구 사항에 응답하여, 상기 유도된 메시지를 필요로 하는 가입자 어플리케이션 프로그램에 유도된 메시지를 전달하기 위한 수단
    을 포함하는 메시지 브로커.
  2. 제1항에 있어서, 어느 처리 동작이 상기 메시지 핸들러 소자에 의해 수신된 메시지에 대해 실행되는지를 결정하기 위해서 상기 가입자 요구 사항의 저장소를 억세스하는 메시지 브로커.
  3. 제1항 또는 제2항에 있어서, 상기 선택기는 수신된 메시지 내의 비영숫자 메시지 컨텐트의 유형의 메시지 분석 소자에 의한 식별에 응답하여 상기 메시지 핸들러 모듈 세트 중 하나를 선택하는 메시지 브로커.
  4. 제3항에 있어서, 상기 비영숫자 메시지 컨텐트의 식별 수단은, 특정 유형의 멀티미디어 메시지 컨텐트를 나타내는 구조물을 식별하도록 상기 메시지 컨텐트 내에서 바이트 시퀀스를 분석하기 위한 수단을 포함하는 메시지 브로커.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 메시지 분석 소자는 수신된 메시지에 대한 워터마크 검색 동작을 실행하고 상기 검색된 워터마크를 분석하여 내부에 포함된 정보를 식별하고, 이는 상기 메시지 핸들러 소자 세트 중 어느 것이 상기 메시지를 전달하는지에 대한 결정을 용이하게 하는 메시지 브로커.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 메시지 핸들러 모듈 중 하나 이상은 상기 메시지 핸들러 모듈에 전달된 메시지에 대한 워터마크 검색 동작을 실행하고 상기 검색된 워터마크를 분석하여 내부에 포함된 정보를 식별하고, 이는 상기 메시지 핸들러 소자 세트 중 어느 것이 상기 메시지를 전달하는지에 대한 결정을 용이하게 하는 메시지 브로커.
  7. 컴퓨터 판독 가능 저장 매체 상에 저장된 컴퓨터 판독 가능 프로그램 코드를 포함하는 컴퓨터 프로그램 제품에 있어서, 상기 프로그램 코드가 제1항 내지 제6항 중 어느 한 항에 따른 메시지 브로커를 포함하는 컴퓨터 프로그램 제품.
  8. 제1항에 따른 메시지 브로커의 프로세서 컨트롤러 소자에 있어서,
    상기 프로세스 컨트롤러는 상기 메시지 분석 소자와 상기 메시지 핸들러 소자 선택기를 포함하는 메시지 브로커의 프로세서 컨트롤러 소자.
  9. 제8항에 있어서, 수신된 메시지를 처리하여 유도 메시지를 생성하도록 상기 선택 가능 메시지 핸들러 세트 중에서 적어도 하나의 메시지 핸들러 소자를 포함하는 프로세스 컨트롤러 소자.
  10. 발행/가입 서비스를 지원하는 메시지 브로커 소프트웨어 소자에 있어서,
    발행자 어플리케이션 프로그램으로부터 수신된 메시지의 비영숫자 컨텐트를 식별하고,
    상기 비영숫자 메시지 컨텐트의 식별을 이용하여, 메시지 핸들러 모듈 세트 중에서 어느 것이 상기 메시지를 전달할지를 결정하고,
    상기 선택된 메시지 핸들러 모듈을 이용하여 하나 이상의 유도 메시지를 생성하도록 상기 메시지를 처리하고,
    저장된 가입자 요구 사항에 의해 결정된 바와 같이, 상기 유도된 메시지를 필요로 하는 가입자에게 유도 메시지를 보내는 처리를 실행하도록 컴퓨터의 동작을 제어하기 위한 메시지 브로커 소프트웨어 소자.
  11. 제10항에 따른 복수의 메시지 브로커 소프트웨어 소자를 포함하는 분산된 메시지 브로커 내부 구조물에 있어서,
    복수의 상호 접속된 컴퓨터 시스템들 중 하나에서 각각 실행하기 위해서, 각 메시지 브로커 소프트웨어 소자는 상기 복수의 상호 접속 컴퓨터 시스템 각각의 성능에 관련한 정보를 억세스하며, 각 메시지 브로커 소프트웨어 소자는 수신된 메시지의 비영숫자 컨텐트의 식별과 상기 복수의 상호 접속 컴퓨터 시스템의 능력에 따라서 메시지를 처리하기 위한 상기 컴퓨터 시스템들 중 하나를 선택하는 분산된 메시지 브로커 내부 구조물.
  12. 발행자 어플리케이션 프로그램으로부터의 메시지 수신에 응답하여 가입자 어플리케이션 프로그램에 메시지를 보내는 방법에 있어서:
    메시지 브로커의 제어하에서,
    발행자 어플리케이션 프로그램으로부터 수신된 메시지의 비영숫자 컨텐트를 식별하는 단계;
    상기 비영숫자 메시지 컨텐트의 식별을 이용하여 메시지 핸들러 모듈 세트 중에서 어느 것이 상기 메시지를 보낼지를 결정하는 단계;
    상기 선택된 메시지 핸들러 모듈을 이용하여 하나 이상의 유도된 메시지를 생성하도록 상기 메시지를 처리하는 단계; 및
    저장된 가입자 요구 사항에 의해 결정된 바와 같이, 상기 유도 메시지를 필요로 하는 가입자에게 상기 유도 메시지를 보내는 단계
    를 실행하는 가입자 어플리케이션 프로그램에 메시지를 보내는 방법.
  13. 메시지 브로커에 의해 발행자 어플리케이션 프로그램으로부터 수신된 메시지를 처리하고 상기 수신된 메시지에 응답하여 가입자 어플리케이션 프로그램에 메시지를 발행하는, 통신 네트워크 내에서 메시지 브로커에 의한 실행 방법에 있어서,
    비영숫자 메시지 컨텐트를 식별하도록 수신 메시지를 분석하는 단계;
    상기 비영숫자 메시지 컨텐트의 식별을 이용하여 메시지 핸들러 소자 세트 중에서 하나를 선택하여 각 수신된 메시지를 전달하는 단계;
    각 수신된 메시지를 상기 선택된 메시지 핸들러 모듈에 전달하는 단계;
    상기 정보 요구 사항을 저장하는 저장소로부터 가입자 어플리케이션 프로그램의 정보 요구 사항을 검색하는 단계를 실행하고, 상기 검색된 정보 요구 사항을 참조하거나 참조하지 않고 상기 선택된 메시지 핸들러 모듈을 이용하여 상기 수신된 메시지를 처리하는 단계; 및
    상기 검색된 가입자 어플리케이션 프로그램의 정보 요구 사항에 응답하여, 상기 처리된 메시지를 수신하기 위한 요구 사항을 갖는 가입자 어플리케이션 프로그램에 처리된 메시지를 전달하는 단계
    를 포함하는 메시지 브로커에 의한 실행 방법.
  14. 제13항에 있어서, 상기 통신 네트워크는 인터넷인 메시지 브로커에 의한 실행 방법.
  15. 발행/가입 서비스를 여기에 접속된 어플리케이션 프로그램 대신에 통신 네트워크를 거쳐 지원하기 위한 메시지 브로커 소자를 포함하는 컴퓨터 시스템에 있어서,
    상기 메시지 브로커 소자는:
    발행자 어플리케이션 프로그램으로부터 검색된 메시지 내에 비영숫자 메시지 컨텐트를 식별하기 위한 메시지 분석 소자;
    상기 비영숫자 메시지 컨텐트의 식별을 이용하여 메시지 핸들러 모듈 세트 중에서 어느 것이 상기 메시지를 전달하는지를 결정하기 위한 선택기;
    검색된 메시지를 하나 이상의 유도된 메시지를 생성하도록 처리하기 위한 선택 가능 메시지 핸들러 소자 세트;
    가입자 어플리케이션 프로그램의 요구 사항을 저장하기 위한 저장소; 및
    상기 저장소에 저장된 상기 가입자 어플리케이션 프로그램의 요구 사항에 응답하여, 상기 유도된 메시지를 필요로 하는 가입자 어플리케이션 프로그램에 유도 메시지를 전달하기 위한 수단
    을 포함하는 컴퓨터 시스템.
KR1020000010101A 1999-03-19 2000-02-29 발행/가입 서비스를 제공하는 메시지 브로커 및 발행/가입환경에서 메시지를 처리하는 방법 KR20000076751A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9906231A GB2348025A (en) 1999-03-19 1999-03-19 Message broker providing a publish/subscribe service and method of processing messages in a publish/subscribe environment
GB9906231.7 1999-03-19

Publications (1)

Publication Number Publication Date
KR20000076751A true KR20000076751A (ko) 2000-12-26

Family

ID=10849874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000010101A KR20000076751A (ko) 1999-03-19 2000-02-29 발행/가입 서비스를 제공하는 메시지 브로커 및 발행/가입환경에서 메시지를 처리하는 방법

Country Status (5)

Country Link
JP (1) JP2000298590A (ko)
KR (1) KR20000076751A (ko)
CN (1) CN1135483C (ko)
CA (1) CA2297425A1 (ko)
GB (1) GB2348025A (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2354846A (en) * 1999-06-16 2001-04-04 John Howard Midgley Communication system
JP3494590B2 (ja) * 1999-06-18 2004-02-09 富士通株式会社 送受信システムおよび送信装置
EP1202176B1 (en) 2000-10-31 2012-04-25 Hewlett-Packard Development Company, L.P. Message-based software system
GB0305066D0 (en) 2003-03-06 2003-04-09 Ibm System and method for publish/subscribe messaging
US7711681B2 (en) * 2004-11-05 2010-05-04 Accenture Global Services Gmbh System for distributed information presentation and interaction
JP2006303958A (ja) * 2005-04-21 2006-11-02 Toppan Forms Co Ltd データ送受信システムおよびその方法
CN101246486B (zh) * 2007-02-13 2012-02-01 国际商业机器公司 用于改进的表达式处理的方法和装置
WO2009015519A1 (en) * 2007-08-02 2009-02-05 Lucent Technologies Inc. METHOD FOR PUBLISHING, QUERYING AND SUBSCRIBING TO INFORMATION BY A SIP TERMINAL IN A VoIP NETWORK SYSTEM, SIP TERMINAL, SIP APPLICATION SERVER, SIP INFORMATION CENTER AND VoIP NETWORK SYSTEM
GB2496681A (en) * 2011-11-21 2013-05-22 Push Technology Ltd A publish/subscribe system with time-sensitive message delivery to subscribers
CN102637186A (zh) * 2011-12-09 2012-08-15 中兴通讯股份有限公司 一种cms内容订单系统及实现方法
US11032383B2 (en) 2017-08-15 2021-06-08 Microsoft Technology Licensing, Llc Event delivery
WO2019067644A1 (en) * 2017-09-26 2019-04-04 Amazon Technologies, Inc. RECEIVING A DATA OBJECT AT A DEVICE LEVEL

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5873084A (en) * 1996-01-18 1999-02-16 Sun Microsystems, Inc. Database network connectivity product
US5893911A (en) * 1996-04-17 1999-04-13 Neon Software, Inc. Method for defining and applying rules for message distribution for transaction processing in a distributed application
US5999526A (en) * 1996-11-26 1999-12-07 Lucent Technologies Inc. Method and apparatus for delivering data from an information provider using the public switched network
US20010039615A1 (en) * 1997-04-15 2001-11-08 At &T Corp. Methods and apparatus for providing a broker application server
JP3497370B2 (ja) * 1998-02-03 2004-02-16 松下電器産業株式会社 送信装置および送信方法、並びに受信装置および受信方法

Also Published As

Publication number Publication date
CN1135483C (zh) 2004-01-21
JP2000298590A (ja) 2000-10-24
CN1267864A (zh) 2000-09-27
GB2348025A (en) 2000-09-20
CA2297425A1 (en) 2000-09-19
GB9906231D0 (en) 1999-05-12

Similar Documents

Publication Publication Date Title
EP1043671A2 (en) Message broker providing a publish/subscribe service and method of processing messages in a publish/subscribe environment
US6981217B1 (en) System and method of obfuscating data
US8793220B2 (en) Automatic document archiving for a computer system
US6212522B1 (en) Searching and conditionally serving bookmark sets based on keywords
US10210222B2 (en) Method and system for indexing information and providing results for a search including objects having predetermined attributes
US6654754B1 (en) System and method of dynamically generating an electronic document based upon data analysis
US7072983B1 (en) Scheme for systemically registering meta-data with respect to various types of data
US7191185B2 (en) Systems and methods for facilitating access to documents via an entitlement rule
JP3378848B2 (ja) 発行・引用サービスを提供するメッセージ・ブローカ及び発行・引用環境においてメッセージを処理する方法
US20080115086A1 (en) System and method for recognizing and storing information and associated context
US20020133633A1 (en) Management of links to data embedded in blocks of data
US9116927B2 (en) Methods and apparatuses for publication of unconsciously captured documents
CN101836185A (zh) 用于企业搜索的实时交互式授权
EP1449125A1 (en) Systems and methods for facilitating access to documents via a set of content selection tags
KR20000076751A (ko) 발행/가입 서비스를 제공하는 메시지 브로커 및 발행/가입환경에서 메시지를 처리하는 방법
US20010002471A1 (en) System and program for processing special characters used in dynamic documents
US6192363B1 (en) Method and apparatus for supplying multi-media data to a client by using threads
US20040049475A1 (en) System and method for globally providing document access history information
JP2001160068A (ja) 文書管理システムにおいて問い合わせを処理するための方法及び装置
JP2009122995A (ja) 関連処理記録の管理システム及び管理方法
US7689552B2 (en) UDDI metadata query development
JP2005208901A (ja) 情報検索システム、およびプログラム
CN117910043A (zh) 电子文档信息隐藏深度挖掘方法、系统和装置
JP2003203032A (ja) ウェブサーバ仲介装置、方法および対話型ウェブサーバ仲介ポータルサーバ
AU2001100021A4 (en) Method and system for identifying ownership of a hypertext document

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee