KR100300788B1 - 관리 및 구성정보를 배포하기 위해 스트림을 이용하는 발행 및 인용 데이터 프로세싱 장치, 방법, 및 컴퓨터 프로그램 제품 - Google Patents
관리 및 구성정보를 배포하기 위해 스트림을 이용하는 발행 및 인용 데이터 프로세싱 장치, 방법, 및 컴퓨터 프로그램 제품 Download PDFInfo
- Publication number
- KR100300788B1 KR100300788B1 KR1019990013125A KR19990013125A KR100300788B1 KR 100300788 B1 KR100300788 B1 KR 100300788B1 KR 1019990013125 A KR1019990013125 A KR 1019990013125A KR 19990013125 A KR19990013125 A KR 19990013125A KR 100300788 B1 KR100300788 B1 KR 100300788B1
- Authority
- KR
- South Korea
- Prior art keywords
- messages
- stream
- data processing
- publish
- broker
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 title claims description 36
- 238000004590 computer program Methods 0.000 title claims description 4
- 230000000717 retained effect Effects 0.000 claims abstract description 5
- 238000004366 reverse phase liquid chromatography Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 244000144972 livestock Species 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
본 발명은, 발행/인용 데이터 프로세싱 브로커 장치에 있어서, 발행자 애플리케이션에 의해 특정한 주제의 스트림상에 발행되는 데이터 메시지들을 상기 발행자 애플리케이션으로부터 수신하기 위한 수단; 및 상기 수신된 발행 데이터 메시지들을, 상기 발행 메시지들이 발행되어진 스트림상에서 메시지들을 수신하기를 요청하는, 인용자 애플리케이션으로 배포하기 위한 수단을 포함하며; 상기 스트림들 중 하나는 상기 브로커 장치에 대해서 구성 변경들을 설명하는 관리 메시지들을 위해서 보유되는 브로커 장치에 관한 것이다.
Description
본 발명은 데이터 프로세싱 분야에 관한 것으로, 보다 상세하게는, 데이터 메시지의 공급자들(이하, '발행자(publisher)'라 칭함)로부터 이러한 메시지들의 고객들(이하 '인용자'라 함)에게 메시지들을 배포하는 데이터 프로세싱에 관한 것이다.
근래에, 발행 컴퓨터들로부터 인용 컴퓨터들로 데이터 메시지를 배포하는 방법으로서, 발행/인용 데이터 프로세싱 시스템이 매우 인기를 얻고 있다. 매우 다양한 전 세계의 모든 컴퓨터에 접속되어 있는 인터넷의 보급의 증가가, 이러한 발행/인용 시스템을 더욱 인기 있게 만들고 있다. 인터넷을 이용하여, 월드와이드웹 브라우저 애플리케이션('애플리케이션' 또는 '프로세스'용어는 컴퓨터 상에서 작동하는 소프트웨어 프로그램, 또는 그 일부분을 언급함)은 메시지를 그래픽으로 표시하기 위해 발행자 또는 인용자와 접속하여 사용될 수 있다. 이러한 시스템들은 발행자에 의해 공급된 데이터가 계속해서 변경하고, 많은 수의 인용자들이 가장 최신의 데이터로 재빨리 갱신될 필요가 있는 경우에 특히 유용하다. 이것이 유용한 가장 알맞은 예는 아마도 주식시장 데이터의 배포일 것이다.
이러한 시스템들에서, 데이터 메시지들의 발행자 애플리케이션들은 이 메시지들을 수신할 인용자 애플리케이션의 신분 또는 위치를 알 필요가 없다. 발행자들은 단지, 브로커 시스템(이하 브로커라 칭함)을 만드는 것과 같은 일단의 프로세스들에 포함되는 발행/인용 배포 에이전트 프로세스에 접속하고, 배포 에이전트 프로세스에 대해서 메시지들의 주제를 지정하면서, 메시지들을 배포 에이전트 프로세스로 송신할 필요만 있다. 다음으로, 배포 에이전트 프로세스는 발행된 메시지들을, 특정한 주제에 관한 데이터 메시지들을 수신하기를 원한다는 것을 브로커에게 미리 지시한 인용자 애플리케이션에게 배포한다. 따라서, 인용자들도 발행자들의 신분 또는 위치를 알 필요가 없다. 인용자들은 단지 배포 에이전트 프로세스에 접속할 필요만 있다.
현재 사용되고 있는 이러한 임의의 발행/인용 시스템이 도 1에 도시되어 있다. 발행자들(11 및 12)은 발행/인용 브로커(2)에 접속하고, 발행된 메시지들을 인용자들(31, 32, 33, 34)에게 배포하는 브로커(2)로 송신한다. 발행자들(11 및 12)은, 데이터 메시지들을 출력하는 데이터 프로세싱 애플리케이션들이며, 원격 절차 호출(또는 RPC)로 알려진 공지의 인터-애플리케이션 데이터 접속 프로토콜을 이용하여 브로커(2)에 접속한다. 각각의 발행자 애플리케이션은 분리된 기계상에서 작동할 수 있으며, 또 다르게는, 단일의 기계가 복수의 발행자 애플리케이션들을 작동할 수 있다. 브로커(2)는, 이하에서 '트리 구조'로서 기술될 계층형으로 접속되는, 복수의 배포 에이전트들(21-27)로 구성된다. 이들 배포 에이전트들은, 각각이 분리된 기계상에서 작동할 수 있으며, 브로커(2)를 매개해서 발행자들로부터 인용자들로 데이터 메시지들을 배포하는 데이터 프로세싱 애플리케이션들이다. 인용자 애플리케이션들(31, 32, 33 및 34)은 발행된 메시지들을 수신하기 위해 RPC를 매개해서 브로커(2)에 접속한다.
발행자들(11 및 12)은 먼저 RPC를 매개해서 루트 배포 에이전트(21)에 직접적으로 접속하고, 이어서, RPC를 매개해서 제 2레벨의 배포 에이전트들(22 및 23)에 접속하고, 다음으로, RPC를 매개해서 제 3레벨의 배포 에이전트들(24, 25, 26 및 27)(또한, 이들이 트리 구조에서 최종 배포 에이전트들이기 때문에 '리프 배포 에이전트들'로도 알려짐)에 접속한다. 각각의 배포 에이전트가 자신의 기계 위에서 작동할 수 있거나, 또 다르게는, 일단의 배포 에이전트들이 동일한 기계 위에서 작동할 수 있다. 리프 배포 에이전트들은 RPC를 매개해서, 각각이 자신의 기계 위에서 작동할 수 있는 인용자 애플리케이션들(31-34)에 접속한다.
브로커(2)로 하여금 발행된 메시지들이 어느 인용자들에게 송신되어야 하는지를 결정하게 하기 위해서, 발행자들은 각각의 발행된 메시지에 관한 배포 스트림의 이름을 루트 배포 에이전트(21)에게 공급한다. 배포 스트림(이하 '스트림(stream)'이라 칭함)은 다른 스트림들로부터 이 스트림을 구별하기 위해서 이름(예를 들어, 주식시장시세 스트림에 대해서는 '주식'임)을 가지는 메시지들의 명령 순서이다. 이와 비슷하게. 인용자들은 인용하기를 원하는 스트림들의 이름을 리프 배포 에이전트들(31-34)에게 제공한다. 이런 방식으로, 브로커(2)는 인용자들이 흥미 있어 하는 스트림들을 기억해서, 발행자들이 이러한 스트림들로 메시지들을 발행할 때, 메시지들이 해당하는 인용자들에게 배포될 수 있다. 또, 특정의 스트림상에 수신될 메시지들을 제한하기 위해서, 인용자들은 브로커에게 필터 식들을 제공할 수 있다(예를 들어, 단지 IBM주식시세에만 관심있는 인용자(31)는 리프 배포 에이전트(24)로 RPC호출을 하는 것에 의해 '주식'스트림을 인용할 수 있고,IBM주식과 관련있는 '주식'스트림상의 메시지들만이 인용자(31)에게 송신되어야 한다는 것을 나타내는 필터 식을 포함할 수 있다).
브로커(2)의 구성이 변경될 때마다(예를 들어, 스트림을 부가하거나 삭제, 또는 배포 에이전트를 부가하거나 삭제), 시스템 관리자는 각각의 배포 에이전트에게 이 변경을 알려주어야만 하며, 그래서, 전체적인 브로커(2)가 변경된 구성 데이터로 균일한 형태로 동작할 수 있다. 과거에는, 이런 구성 데이터를 변경하기 위해서, 시스템 관리자가 각각의 배포 에이전트와 접촉할 것이 요구되었다. 그래서, 브로커(2)에 대해서 구성 변경을 수행하는 것이 시스템 관리자에게는 매우 큰 시간의 낭비라는 것이 증명되었다.
일 양상에 따라서, 본 발명은, 발행/인용 데이터 프로세싱 브로커 장치에 있어서, 발행자 애플리케이션에 의해 특정한 주제의 스트림상에서 발행되는 데이터 메시지들을 상기 발행자 애플리케이션으로부터 수신하기 위한 수단; 및 상기 수신된 발행 데이터 메시지들을, 상기 발행 메시지들이 발행된 스트림상에서 메시지들을 수신하기를 요청하는, 인용자 애플리케이션으로 배포하기 위한 수단을 포함하며; 상기 스트림들 중 하나는 상기 브로커 장치에게 구성 변경들을 설명하는 관리 메시지들을 위해서 보유되는 브로커 장치를 제공한다.
바람직하게, 배포를 위한 수단은 복수의 배포 에이전트 데이터 프로세싱 프로세스들을 구비하며, 각각의 배포 에이전트 데이터 프로세싱 프로세스들은 관리메시지들로 보유된 스트림을 인용한다.
바람직하게, 시스템 관리 발행자 애플리케이션은 구성 변경들을 설명하는 관리 메시지들을 관리 메시지들을 위해서 보유된 스트림으로 발행한다.
바람직하게, 적어도 하나의 발행자 애플리케이션 또는 인용자 애플리케이션은 인터넷 월드와이드웹 브라우저 프로그램을 이용하여, 발행된 메시지들이 인터넷을 통해서 송신 또는 수신되게 허용한다.
제 2의 양상에 따라서, 본 발명은, 본 발명의 제 1의 양상의 데이터 프로세싱 장치의 각 구성요소에 해당하는 방법 단계들을 포함하는 데이터 프로세싱 방법을 제공한다.
제 3의 양상에 따라서, 본 발명은, 컴퓨터상에서 실행될 때, 본 발명의 제 2의 양상의 데이터 프로세싱 방법의 기능성을 수행하는, 컴퓨터상에 저장되는 컴퓨터 프로그램을 가지는 컴퓨터 판독가능 저장 매체를 제공한다.
도 1은 본 발명의 바람직한 실시형태와 관련되는 발행/인용 시스템의 아키텍처를 도시하며;
도 2는 본 발명의 바람직한 실시형태에 따라서, 도 1의 브로커의 구성데이터를 변경하기 위해서 시스템 관리자가 발행하는 소위 '관리'스트림으로 발행된 메시지의 포맷을 도시하며;
도 3은 본 발명의 바람직한 실시형태에 따라서, 도 1의 브로커의 구성데이터를 시스템 관리자가 변경할 때, 도 1의 브로커에 의해 행해진 단계들을 도시하는 플로우 차트이며;
도 4는 본 발명의 바람직한 실시형태에 따라서, 새로운 배포 에이전트가 브로커 트리 구조에 부가될 때, 도 1의 브로커에 의해 행해진 단계들을 나타내는 플로우 차트이다.
본 발명은 다음의 도면들과 관련하여 설명되는 바람직한 실시형태의 상세한 설명을 언급하는 것에 의해 더욱 잘 이해될 것이다.
도 1에서, 하나의 컴퓨터 상에서 작동하는 발행자 애플리케이션(11)은, 예를 들어, 생생한 주식시장 데이터 시세의 공급자이다. 즉, 발행자 애플리케이션(11)은 주식가의 현재 값을 나타내는 많은 메시지들을 제공한다. 이 예에서, 발행자 애플리케이션(11)은 브로커(2)에 이미 구성되어져 있는 소위 '주식'스트림상에 메시지들을 발행하고 있다. 잘 알려져 있는 것과 같이, 발행자(11)가 '주식'스트림으로 주식 시세 메시지를 발행하기를 원할 때, 발행자(11)는 브로커 트리구조의 최상위 레벨인 루트 배포 에이전트(11)로 RPC호출을 행한다. 이 예에서, 또 다른 컴퓨터 상에서 작동하는 인용자 애플리케이션(32)은 RPC호출을 매개해서, 트리구조의 최하부 레벨인 리프 배포 에이전트(24)로 인용요청을 송신하며, 이는 인용자(32)가 '주식'스트림을 인용 하기를 원한다는 것을 나타낸다.
따라서, 발행자(11)가 데이터 메시지를 '주식'스트림으로 발행할 때마다, 브로커(2)의 배포 트리구조는, 루트 배포 에이전트(21), 임의의 중간 배포 에이전트(예를 들어, 도 1의 예에서 22), 및 리프 배포 에이전트(24)를 통해서 아래로, 메시지를 인용자(32)에게 전한다. 이것은 발행자(11)와 인용자(32)를 접속하는 도 1의 그림에서 각각의 연속적인 주기 사이(즉, 11-21, 21-22, 22-24, 및 24-32)에서 만들어지는 일련의 RPC호출을 포함한다.
지금까지 종래의 발행/인용 브로커의 동작을 설명하였다. 다음으로 본 발명의 바람직한 실시형태를 제 2의 발행자(12)를 도입하는 것에 의해 설명한다.
다른 컴퓨터 상에서 작동할 수 있는 발행자 애플리케이션(12)은, 예를 들어, 발행/인용 브로커(2)의 구성변경들을 포함하는 메시지들을 발행하는 시스템 관리자이다. 예를 들어, 발행자 애플리케이션(12)은 발행/인용 브로커(2) 내에서의 이용을 위해서 소위 '채권(bonds)'이라는 새로운 스트림을 부가할 수 있다. 일단 새로운 스트림이 부가되면, 발행자(11)는 '주식'스트림 상에서 발행하는 주식정보에 덧붙여서, 채권 스트림상에서 채권 정보를 발행할 것을 선택할 수 있다. 또, 주식이아닌 단지 채권에만 관심 있는 인용자는 새로운 '채권'스트림을 인용 할 수 있다. 이러한 변경은, 이 변경 전에 '채권'스트림이 브로커(2) 내에 존재하지 않았기 때문에, 브로커(2)의 구성을 변경하는 것을 포함한다. 본 발명의 바람직한 실시형태에 따라서, 발행자 애플리케이션(12)은 이름이 '채권'인 스트림을 '스트림 부가'하라는 메시지의 내용으로 소위 '관리'스트림으로 메시지를 발행한다. 발행자(12)는 루트 배포 에이전트(21)로 RPC호출을 만들고, 도 2에 도시하듯이 3개의 필드들을 포함하는 메시지를 발행한다. 제 1의 필드(120)는 루트 배포 에이전트(21)에게 소위 '관리'라는 존재하는 스트림 상에서 메시지가 발행되고 있다는 것을 알려준다. 이것은 시스템 관리 발행자(12)에 의해서만 사용되는 스트림이다. 제 2의 필드(121)는 발행자가 브로커의 구성 데이터에 새로운 스트림을 부가하는 것을 나타낸다. 제 3의 필드(122)는 부가되는 새로운 스트림이 이름 '채권'을 가지는 것을 나타낸다.
비슷한 형태로, 시스템 관리 발행자(12)는 전체적인 발행/인용 시스템에 대해서, '관리'스트림으로 메시지를 발행하는 것에 의해, 스트림의 삭제나 스트림의 속성의 변경, 또는 브로커 프로세스의 부가나 제거와 같은, 다른 구성 변경들을 만들 수 있다. 다음으로, 도 3의 플로우 차트를 참조하여 구성데이터가 변경될 때의 브로커(2)의 동작을 보다 상세히 설명하기로 한다.
단계301에서, 루프 배포 에이전트(21)는 시스템 관리 발행자(12)로부터, 도 2에 도시된 것과 같은 발행 메시지를 포함하는 RPC호출과 같은, RPC호출을 수신한다. 메시지가 수신될 때, 루트 배포 에이전트는 현재의 서열번호의 값을 하나씩증가하고(단계302), 새로운 서열번호를 새롭게 수신된 발행 메시지에 할당한다. 예를 들어, '관리'스트림 상에서 이미 수신된 메시지가 서열번호99를 할당받았다면, '관리'스트림상에서 현재 수신된 발행메시지는(도 2에 도시됨) 서열번호100을 할당받을 것이다. 단계303에서, 루트 배포 에이전트(21)는 시스템 관리 발행자(12)가 구성 데이터를 변경하도록 인증되는지를 결정하기 위해서 안전성 체크(예를 들어, 커버로스(Kerberos)와 같은, 공지의 안전인증기술을 이용)를 실행한다. 이것은 비인증된 당사자들이 브로커의 구성을 변경시키지 못하게 보장하는 중요한 단계이다. 단계304에서, 루트 배포 에이전트(21)는 새로운 구성데이터를 국소기억장치(예를 들어, 루트 배포 에이전트 애플리케이션(21)을 작동하는 컴퓨터의 하드디스크 드라이브)에 영구적으로 저장한다(예를 들어, '채권'이라는 새로운 스트림의 부가).
그런데, 이 새로운 구성데이터는, 각 배포 에이전트가 완전하게 갱신된 구성데이터 세트를 인식해야만 하기 때문에, 트리구조에서 나머지 각각의 배포 에이전트들의 국소 메모리(예를 들어, 캐시메모리)로 복사되어야만 한다. 따라서, 단계305에서, 새로운 서열번호(100)에 따른 새로운 발행 메시지(도 2에 도시됨)는, 이러한 배포 에이전트들의 각각이 '관리'스트림 상에서 모든 발행 메시지들에 대한 인용요청을 이미 시작하였기 때문에, 트리에 존재하는 배포 에이전트들(에이전트22-27)의 각각으로 송신된다. 이런 방식으로, 이 시스템 관리자로부터 새로운 구성데이터가 시스템 관리자의 일부분에서 최소의 노력으로 브로커(2)에서 각각의 배포 에이전트들로 송신된다. 이 시스템 관리자는 '관리자'스트림 상에서만 메시지를 발행할 필요가 있다.
넓은 허용범위의 브로커 아키텍처를 제공하기 위해서, 새로운 배포 에이전트들이 브로커 트리구조에 부가될 수 있어야만 하고, 새롭게 부가된 배포 에이전트는 구성데이터의 완전한 세트를 제공받아야만 한다. 다음에는, 새로운 배포 에이전트가 부가될 때의 브로커(2)의 동작을 도 4의 플로우 차트와 관련하여 설명한다. 상술할 실시예에서는, 배포 에이전트(26)가 트리 구조에 새롭게 부가되는 것으로 가정한다.
단계401에서, 새롭게 부가된 배포 에이전트(26)는 자신의 페어런트 배포 에이전트(23)에게, 배포 에이전트(23)가 자신의 국소 캐시에 저장한 완전한 구성데이터 세트를 요청한다(RPC호출을 매개로 함). 단계402에서, 페어런트 배포 에이전트(23)는 차일드 배포 에이전트(26)로 RPC호출을 행해서, 페어런트 배포 에이전트(23)가 가장 최신의 서열번호SI(예를 들어, 100)를 따라서 자신의 국부 캐시에 저장한 구성데이터 세트를 차일드 배포 에이전트(26)에게 공급한다. 다음으로, 새롭게 부가된 배포 에이전트(26)는 '관리'스트림을 인용하며(단계403), 그래서 배포 에이전트(26)는 구성데이터 세트에 대한 모든 미래의 변경들을 계속 통보받을 수 있을 것이다. 다음의 발행 메시지가 수신될 때(단계404에서 이 조건을 결정하기 위해 체크가 행해짐), 이 발행 메시지의 서열번호S2(예를 들어, 103)가 단계402에서 페어런트 배포 에이전트로부터 획득된 서열번호S1(예를 들어 100)와 비교된다(단계405).
서열번호S1이 하나 줄어든 서열번호S2보다 작으면(예를 들어, 103이 하나 줄어들면 102이고, 100은 102보다 작음), 이것은 페어런트 배포 에이전트(23)가 구성데이터 세트의 가장 최신의 버전을 가지지 않아서, 새로운 차일드 배포 데이터는 서열번호 S1(예를 들어 100)과 S2(예를 들어 103)사이의 서열번호들을 가진 '관리'스트림 상에 발행되는 구성데이터 메시지를 빠트리고 있다는 것을 의미한다. 그래서, 단계406에서, 배포 에이전트(26)는 S1과 S2사이의 서열번호들(예를 들어, 101과 102)을 가지는 구성데이터 메시지들을 획득하기 위해서, 영구기억매체에 저장된 루트 배포 에이전트의 완전한 구성데이터 세트에서 이력 읽기 동작을 수행한다. 한편, 단계405에서 조회에 대한 답이 아니오 이면, S1과 S2사이의 서열번호들을 빠트리고 있지 않으며, 그래서, 제어의 흐름이 플로우 차트의 끝으로 간다.
본 발명의 바람직한 실시형태가 브로커 프로세스로 구성변경 메시지들을 발행하는 발행자로서 시스템 관리자의 이용을 설명하지만, 다른 방안들이 본 발명의 범위 내에서 고려된다. 예를 들어, 시스템 관리자는 브로커 프로세스와 접속하고 보통의 RPC호출을 매개해서 구성변경데이터를 송신할 수 있고(스트림상에 이러한 데이터를 발행하지 않고), 다음으로, 브로커 프로세스는 '관리'스트림상에 이 구성변경데이터를 발행할 것이다.
상기 바람직한 실시형태에서는 배포 에이전트 프로세스들의 계층 트리 구조가 예시 목적을 위해서 설명되고 있으며, 많은 다른 아키텍처들이 본 발명의 범위 내에 포함된다. 또, 본 발명은 다른 형태의 네트워크들(국소영역 및 넓은영역의 네트워크들을 포함), 다른 형태의 기계들을 연결하고 다른 인터-프로세스 통신 프로토콜(즉, PRCs, 쇼켓, TCP/IP 또는 다른 공지의 인터-프로세스 통신 프로토콜)을이용하는 일 단의 합동 프로세스의 상황에서 이용될 수 있다. 예를 들어, 본 발명은 다른 종류의 기계들을 접속하는 복수의 다른 네트워크 형태들을 포함하는 인터넷 환경에서도 사용될 수 있다.
구성데이터가 국소적으로 단일의 프로세스(루트 배포 에이전트 프로세스(21))에 대해서 영구적으로 저장되고 있는 것으로 설명하지만, 사실 이 데이터는 복수의 프로세스들에 걸쳐서 퍼져있을 수 있다.
단일의 '관리'스트림이 설명되고 있지만, 관리 또는 구성정보를 처리하기 위해 사용되는 이러한 하나 이상의 스트림을 가질 수 있는 것을 물론이다. 예를 들어, 하나의 관리스트림이 스트림 부가/삭제를 위해서 사용될 수 있는 한편, 또 다른 관리스트림이 배포 에이전트의 부가/삭제를 위해서 사용될 수 있다.
따라서, 본 발명에 의해, 브로커에 대해서 구성 변경들을 행하는 시스템 관리자의 일은 매우 용이해진다. 예를 들어, 시스템 관리자는 관리자 메시지 전용의 스트림에 대해서 메시지로서 구성 변경을 발행하기만 하면 된다. 다음으로, 브로커의 각 배포 에이전트는 이 스트림을 인용해서, 발행된 구성변경들의 모두를 수신한다. 따라서, 시스템 관리자는 각각의 배포 에이전트와 분리해서 접촉할 필요 없이, 가장 최신의 구성 데이터 세트로 브로커에서 각각의 배포 에이전트를 여전히 갱신할 수 있다. 또한, 이것이 구성 변경 메커니즘을 구현하는 비용을 크게 줄인다.
게다가, 본 발명은 갱신된 구성데이터의 사용가능도도 증가시킨다. 즉, 일단 시스템 관리자가 브로커 아키텍처의 제 1부분에 갱신된 구성데이터를 발행하면 갱신된 구성데이터의 배포는 브로커 아키텍처를 통해서 자동적으로 발생된다. 이것이 변경된 구성정보가 브로커 아키텍처를 통해서 훨씬 더 재빨리 배포되게 만든다.
또 다른 이점은, 갱신된 구성데이터 메시지들이 스트림상의 순서로 항상 운반되어서, 모든 구성변경들이 브로커 아키텍처에서의 모든 프로세스들에 의한 순서와 정확하게 동일한 순서로 수신되는 것을 보장해서, 결과의 높은 안정성과 예측성을 제공하도록 한다.
Claims (7)
- 발행/인용 데이터 프로세싱 브로커 장치에 있어서,발행자 애플리케이션에 의해 특정한 주제의 스트림상에 발행되는 데이터 메시지들을 상기 발행자 애플리케이션으로부터 수신하기 위한 수단; 및상기 수신된 발행 데이터 메시지들을, 상기 발행 메시지들이 발행되어진 스트림상에서 메시지들을 수신하기를 요청하는, 인용자 애플리케이션으로 배포하기 위한 수단을 포함하며;상기 스트림들 중 하나가 상기 브로커 장치에 대해서 구성 변경들을 설명하는 관리 메시지들을 위해서 보유되는,발행/인용 데이터 프로세싱 브로커 장치.
- 제 1항에 있어서,상기 배포를 위한 수단이 복수의 배포 에이전트 데이터 프로세싱 프로세스들을 포함하는발행/인용 데이터 프로세싱 브로커 장치.
- 제 2항에 있어서,상기 각각의 배포 에이전트 데이터 프로세싱 프로세스들이 관리 메시지들을 위해서 보유된 스트림을 인용하는발행/인용 데이터 프로세싱 브로커 장치.
- 제 1항에 있어서,상기 시스템 관리 발행자 애플리케이션이 관리 메시지들을 위해서 보유된 스트림으로 구성변경들을 설명하는 관리 메시지들을 발행하는발행/인용 데이터 프로세싱 브로커 장치.
- 제 1항에 있어서,상기 발행자 애플리케이션 또는 인용자 애플리케이션 중 적어도 하나가 인터넷 월드 와이드 웹 브라우저 프로그램을 이용해서, 발행된 메시지들이 인터넷을 통해서 송신 또는 수신될 수 있게 하는발행/인용 데이터 프로세싱 브로커 장치.
- 발행/인용 데이터 프로세싱 브로커 방법에 있어서,발행자 애플리케이션에 의해 특정한 주제의 스트림상에 발행되는 데이터 메시지들을 상기 발행자 애플리케이션으로부터 수신하는 단계; 및상기 수신된 발행 데이터 메시지들을, 상기 발행 메시지들이 발행되어진 스트림상에서 메시지들을 수신하기를 요청하는, 인용자 애플리케이션으로 배포하는 단계를 포함하며;상기 스트림들 중 하나가 상기 브로커 장치에 대해서 구성 변경들을 설명하는 관리 메시지들을 위해서 보유되는,발행/인용 데이터 프로세싱 브로커 방법.
- 컴퓨터 판독가능 저장매체 상에 저장된 컴퓨터 프로그램 제품에 있어서,컴퓨터상에서 실행될 때,발행자 애플리케이션에 의해 특정한 주제의 스트림상에 발행되는 데이터 메시지들을 상기 발행자 애플리케이션으로부터 수신하는 단계; 및상기 수신된 발행 데이터 메시지들을, 상기 발행 메시지들이 발행되어진 스트림상에서 메시지들을 수신하기를 요청하는, 인용자 애플리케이션으로 배포하기 위한 단계를 포함하며;상기 스트림들 중 하나가 상기 브로커 장치에 대해서 구성변경들을 설명하는 관리 메시지들을 위해서 보유되는 방법이 수행되는,컴퓨터 판독가능 저장매체 상에 저장된 컴퓨터 프로그램 제품.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8555698A | 1998-05-27 | 1998-05-27 | |
US09/085,556 | 1998-05-27 | ||
US9/085,556 | 1998-05-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990087919A KR19990087919A (ko) | 1999-12-27 |
KR100300788B1 true KR100300788B1 (ko) | 2001-09-26 |
Family
ID=22192412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990013125A KR100300788B1 (ko) | 1998-05-27 | 1999-04-14 | 관리 및 구성정보를 배포하기 위해 스트림을 이용하는 발행 및 인용 데이터 프로세싱 장치, 방법, 및 컴퓨터 프로그램 제품 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0961452A2 (ko) |
JP (1) | JP2000222297A (ko) |
KR (1) | KR100300788B1 (ko) |
CN (1) | CN1239252A (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2354850B (en) * | 1999-09-29 | 2002-01-09 | Ibm | Data processing with reuse of existing message structure to allow access to distribution list |
US9124447B2 (en) * | 2002-07-26 | 2015-09-01 | International Business Machines Corporation | Interactive client computer communication |
GB0228941D0 (en) | 2002-12-12 | 2003-01-15 | Ibm | Methods, apparatus and computer programs for processing alerts and auditing in a publish/subscribe system |
US7376832B2 (en) | 2003-04-21 | 2008-05-20 | International Business Machines Corporation | Distributed method, system and computer program product for establishing security in a publish/subscribe data processing broker network |
US7792936B2 (en) | 2003-12-01 | 2010-09-07 | International Business Machines Corporation | Method and apparatus for virtualizing network resources |
US7376739B2 (en) | 2004-02-11 | 2008-05-20 | International Business Machines Corporation | Persistence of inter-application communication patterns and behavior under user control |
GB0426846D0 (en) | 2004-12-08 | 2005-01-12 | Ibm | Method and system for administration of a broker-based publish/subscribe messaging system |
US7774332B2 (en) | 2005-04-12 | 2010-08-10 | International Business Machines Corporation | Enabling interactive integration of network-accessible applications in a content aggregation framework |
CN100512118C (zh) * | 2005-12-22 | 2009-07-08 | 华为技术有限公司 | 分布式数据管理系统及其动态订阅数据的方法 |
CN101335748A (zh) * | 2007-06-28 | 2008-12-31 | 华为技术有限公司 | 发布、转发和获知业务信息的方法、用户终端及网络设备 |
CN104009865B (zh) * | 2014-05-08 | 2017-07-25 | 北京百度网讯科技有限公司 | 网络管理方法和装置 |
CN105119966B (zh) * | 2015-07-15 | 2018-07-13 | 中国联合网络通信集团有限公司 | 一种公众号管理方法及装置 |
CN105376589A (zh) * | 2015-10-27 | 2016-03-02 | 上海斐讯数据通信技术有限公司 | 基于mqtt的智能电视消息的推送装置及方法 |
US11863509B2 (en) | 2015-12-18 | 2024-01-02 | Amazon Technologies, Inc. | Publish-subscribe message transformation |
CN114844948B (zh) * | 2021-12-14 | 2024-05-31 | 合肥哈工轩辕智能科技有限公司 | 一种实时分发系统的客户端缓存优化方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR940004452A (ko) * | 1992-08-20 | 1994-03-15 | 오까노 게이꼬 | 다면타지도(多面打指導) 게임통신 시스템 |
JPH07334436A (ja) * | 1994-06-06 | 1995-12-22 | Mitsubishi Electric Corp | ソフトウエア自動配布方式 |
JPH0877090A (ja) * | 1994-09-01 | 1996-03-22 | Fujitsu Ltd | マルチエージェントシステム |
JPH08314880A (ja) * | 1995-05-15 | 1996-11-29 | Omron Corp | ニューラル・ネットワークの学習方法およびニューラル・ネットワーク・システム |
KR980004097A (ko) * | 1996-06-05 | 1998-03-30 | 가나이 쯔도무 | 에이전트 기능을 가진 그룹웨어 시스템 |
-
1999
- 1999-04-14 KR KR1019990013125A patent/KR100300788B1/ko not_active IP Right Cessation
- 1999-05-06 EP EP99303535A patent/EP0961452A2/en not_active Withdrawn
- 1999-05-12 JP JP11130864A patent/JP2000222297A/ja active Pending
- 1999-05-26 CN CN99107056A patent/CN1239252A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR940004452A (ko) * | 1992-08-20 | 1994-03-15 | 오까노 게이꼬 | 다면타지도(多面打指導) 게임통신 시스템 |
JPH07334436A (ja) * | 1994-06-06 | 1995-12-22 | Mitsubishi Electric Corp | ソフトウエア自動配布方式 |
JPH0877090A (ja) * | 1994-09-01 | 1996-03-22 | Fujitsu Ltd | マルチエージェントシステム |
JPH08314880A (ja) * | 1995-05-15 | 1996-11-29 | Omron Corp | ニューラル・ネットワークの学習方法およびニューラル・ネットワーク・システム |
KR980004097A (ko) * | 1996-06-05 | 1998-03-30 | 가나이 쯔도무 | 에이전트 기능을 가진 그룹웨어 시스템 |
Also Published As
Publication number | Publication date |
---|---|
CN1239252A (zh) | 1999-12-22 |
EP0961452A2 (en) | 1999-12-01 |
KR19990087919A (ko) | 1999-12-27 |
JP2000222297A (ja) | 2000-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100300787B1 (ko) | 브로커 구조에서 이웃들 간에 로컬 정보를 배포하기 위해 스트림을 이용하는 발행 및 인용 데이터 프로세싱 장치, 방법, 및컴퓨터 프로그램 제품 | |
KR100300788B1 (ko) | 관리 및 구성정보를 배포하기 위해 스트림을 이용하는 발행 및 인용 데이터 프로세싱 장치, 방법, 및 컴퓨터 프로그램 제품 | |
US6643682B1 (en) | Publish/subscribe data processing with subscription points for customized message processing | |
US6202093B1 (en) | Publish and subscribe data processing with ability to specify a local publication/subscription | |
US6510429B1 (en) | Message broker apparatus, method and computer program product | |
EP1556807B1 (en) | Method and system for ranking services in a web services architecture | |
US6334151B1 (en) | Publish and subscribe data processing apparatus, method and computer program product with declaration of a unique publisher broker | |
RU2432610C2 (ru) | Управление расширенными совокупностями присутствия | |
AU2003265547B2 (en) | Exposing process flows and choreography controllers as web services | |
KR101414337B1 (ko) | 단일의 요청으로 다수의 프레즌스 발행들을 업데이트하기 위한 시스템 및 그 방법을 수행하는 명령어를 포함하는 컴퓨터 판독가능 매체, 단일의 요청으로 다수의 발행 유형들을 구독하기 위한 시스템 | |
US7103680B1 (en) | Publish/subscribe data processing with publication points for customized message processing | |
US20070088711A1 (en) | Publish/subscribe system and method for managing subscriptions | |
KR100545443B1 (ko) | 브릿지, 결합 방법, 결합 시스템 및 컴퓨터 판독가능한 기록 매체 | |
US20080104258A1 (en) | System and method for dynamic data discovery in service oriented networks with peer-to-peer based communication | |
CN1723451A (zh) | 对在线商业站点进行第三方访问的优先级设置 | |
US7231416B1 (en) | System and method for the co-ordination and control of information supply using a distributed multi-agent platform | |
WO2006100723A1 (ja) | ファイル管理システム | |
GB2354848A (en) | Publish/subscribe data processing with subscriber requested messageflow for customised message processing | |
KR100324978B1 (ko) | 메시지 중개인 장치, 방법 및 컴퓨터 프로그램 제품 | |
WO2003056783A1 (en) | Method and apparatus for controlling a multi-node process | |
AU2012216248B2 (en) | Exposing Process Flows and Choreography Controllers as Web Services | |
JPH10161921A (ja) | バインド情報を用いたキャッシュ情報運用管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |