KR101788331B1 - 사용자 정의 에이전트를 이용한 메시지 전달 - Google Patents
사용자 정의 에이전트를 이용한 메시지 전달 Download PDFInfo
- Publication number
- KR101788331B1 KR101788331B1 KR1020117028373A KR20117028373A KR101788331B1 KR 101788331 B1 KR101788331 B1 KR 101788331B1 KR 1020117028373 A KR1020117028373 A KR 1020117028373A KR 20117028373 A KR20117028373 A KR 20117028373A KR 101788331 B1 KR101788331 B1 KR 101788331B1
- Authority
- KR
- South Korea
- Prior art keywords
- message
- messaging application
- agent
- connector
- connection
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 84
- 238000004891 communication Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims 7
- 230000001960 triggered effect Effects 0.000 claims 3
- 230000005540 biological transmission Effects 0.000 claims 2
- 239000003795 chemical substances by application Substances 0.000 description 96
- 238000005516 engineering process Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 229940124447 delivery agent Drugs 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- 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/01—Social networking
-
- 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/23—Reliability checks, e.g. acknowledgments or fault reporting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
사용자 정의 에이전트들 및 커넥터들은 메시징 응용 프로그램을 위한 메시지들을 처리하기 위해 한정된다. 상기 사용자 정의 에이전트들은 메시징 응용 프로그램의 능력을 확장하기 위해 구성된다. 각각의 사용자 정의 에이전트는 특정 프로토콜에 따라 특정한 어드레스 영역을 위한 메시지들을 라우트하기 위해 구성된 커넥터와 연관되어 있다. 특정한 어드레스 영역 내에서 라우팅된 메시지를 수신하면, 상기 서버상의 메시징 응용 프로그램은 메시지를 처리하기 위해 관련된 사용자 정의 에이전트를 호출한다. 상기 사용자 정의 에이전트는 메시지를 처리하는데 보조를 하기 위해 메시징 응용 프로그램과 관련된 응용프로그램 인터페이스(API)를 이용한다.
Description
메시징 시스템은 일반적으로 서버 구성요소와 클라이언트 구성요소를 포함한다. 상기 서버 구성요소와 클라이언트 구성요소 사이에서 메시지 통신을 용이하게하기 위해, 상기 구성요소들은 통신 프로토콜에 대해 합의한다. 상기 합의된 프로토콜은 통신을 하는 동안에 각각의 상대방의 예상된 행동을 정의하는 규칙을 설명한다. 다른 메시징 시스템들은 다른 프로토콜에 대해 합의한다.
본 요약은 다음의 발명을 실시하기 위한 구체적인 내용에서 좀더 설명되는 개념들의 선택을 단순화된 형태로 소개하기 위해 제공된다. 본 요약은 특허 청구된 내용의 주요 특성들 또는 필수적인 특성들을 식별하도록 의도된 것이 아니며, 또한 특허 청구된 내용의 범위를 결정하는데 도움을 주기 위해 사용되도록 의도된 것도 아니다. 사용자 정의 에이전트들 및 커넥터들은 메시징 응용 프로그램을 위한 메시지들을 처리하기 위해 정의된다.
상기 사용자 정의 에이전트들은 메시징 응용 프로그램의 능력을 확장하도록 구성된다. 예를 들면, 상기 메시징 응용 프로그램에 의해 원래 지원되지 않는 프로토콜에 따라 메시지들을 처리하기 위한 능력을 부가하는 사용자 정의 에이전트 및 커넥터가 생성될 수 있다. 각각의 사용자 정의 에이전트는 특정 프로토콜에 따라 특정한 어드레스 영역을 위한 메시지들을 라우팅하도록 구성된 커넥터와 연관되어 있다. 특정한 어드레스 영역내에서 라우팅된 메시지를 수신하면, 상기 서버상의 메시징 응용 프로그램은 메시지를 처리하기 위해 관련된 사용자 정의 에이전트를 호출한다. 상기 사용자 정의 에이전트는 메시징 응용 프로그램에 처리에 관한 정보를 제공할 뿐만 아니라 메시지를 처리를 지원하기 위해 메시징 응용 프로그램과 관련된 응용프로그램 인터페이스(API)를 이용한다.
도 1은 컴퓨터를 위한 컴퓨터 구조를 설명한다.
도 2는 메시지들을 처리하기 위한 사용자 정의 에이전트를 이용한 예시적 메시징 시스템을 보여준다.
도 3은 사용자 정의 에이전트를 이용하여 메시징 응용 프로그램을 초기화하기 위한 절차를 설명한다.
도 4는 사용자 정의 에이전트를 이용하여 메시지들을 처리하기 위한 절차를 보여준다.
도 5는 사용자 정의 에이전트에 의해 지원되는 프로토콜을 위한 연결을 시작하기 위한 절차를 설명한다.
도 6은 사용자 정의 에이전트를 이용하여 메시지들을 전달하기 위한 절차를 보여준다.
도 7은 사용자 정의 에이전트와 관련된 연결을 종료하기 위한 절차를 설명한다.
도 2는 메시지들을 처리하기 위한 사용자 정의 에이전트를 이용한 예시적 메시징 시스템을 보여준다.
도 3은 사용자 정의 에이전트를 이용하여 메시징 응용 프로그램을 초기화하기 위한 절차를 설명한다.
도 4는 사용자 정의 에이전트를 이용하여 메시지들을 처리하기 위한 절차를 보여준다.
도 5는 사용자 정의 에이전트에 의해 지원되는 프로토콜을 위한 연결을 시작하기 위한 절차를 설명한다.
도 6은 사용자 정의 에이전트를 이용하여 메시지들을 전달하기 위한 절차를 보여준다.
도 7은 사용자 정의 에이전트와 관련된 연결을 종료하기 위한 절차를 설명한다.
이제 유사한 부호가 유사한 구성요소들 나타내는 도면들을 참조하여, 다양한 실시예들이 설명된다. 특히, 도 1 및 그와 대응 논의는 실시예들이 구현될 수 있는 적절한 컴퓨팅 환경에 대한 간단하고 일반적인 설명을 제공하도록 의도된다.
일반적으로, 프로그램 모듈들은 루틴, 프로그램, 구성요소, 데이터 구조, 특정한 태스크를 수행하거나 특정한 추상적 데이터 형태를 구현하는 다른 자료 구조들을 포함한다. 멀티프로세서 시스템, 마이크로프로세서 기반의 또는 프로그램 가능한 소비자 가전제품, 마이크로컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성이 또한 사용될 수 있다. 통신 네트워크를 통해 링크된 원격 프로세싱 장치들에 의해 태스크들이 수행되는 분산 컴퓨팅 환경이 또한 사용될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 저장 장치들에 위치될 수 있다.
이제 도 1을 참조하면, 다양한 실시예들에서 사용되는 컴퓨터(100)를 위한 예시적 컴퓨터 구조가 설명될 것이다. 도 1에 도시된 컴퓨터 구조는 서버(예를 들면, 메시징 서버), 테스크톱, 또는 모바일 컴퓨터로서 구성될 수 있으며, 중앙처리장치(CPU, 5)와, 램(RAM, 9) 및 롬(ROM, 10)를 포함하는 시스템 메모리(7), 및 상기 메모리와 중앙처리장치(5)를 연결하는 시스템 버스(12)를 포함한다. 시동초기와 같이 구성요소들 간에 정보를 컴퓨터로 전송하기 위해 도움을 주는 기본 루틴들을 포함하는 기본 입출력 시스템이 시스템 메모리(7)의 롬(10)에 저장된다. 상기 컴퓨터(100)는 운영 체제(16), 응용 프로그램, 및 다른 프로그램 모듈 등을 저장하기 위한 대용량 저장장치(14)를 더 포함하며, 이하에서 좀더 구체적으로 설명될 것이다.
상기 대용량 저장장치(14)는 버스(12)에 연결된 대용량 저장 컨트롤러(도시되지 않음)를 통해 중앙처리장치(5)에 연결된다. 상기 대용량 저장장치(14) 및 그와 관련된 컴퓨터 판독 가능 매체는 컴퓨터(100)에 비휘발성 메모리를 제공한다. 여기에서 논의되는 컴퓨터 판독 가능 매체에 대한 설명이 하드 디스크 또는 시디롬 드라이드(CD-ROM drive)와 같은 대용량 저장장치를 지칭하고 있지만, 상기 컴퓨터 판독 가능 매체는 컴퓨터(100)에 의해 액세스될 수 있는 어떠한 이용 가능한 매체일 수 있다.
예이지만 비제한적인 것으로서, 상기 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 상기 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보의 저장을 위한 어떠한 방법 또는 기술로 구현된 휘발성 및 비휘발성, 판독 가능 및 비판독 가능 매체를 포함한다. 컴퓨터 저장 매체는 램(RAM), 롬(ROM), 이피롬(EPROM), 이이피롬(EEPROM), 플래시 메모리 또는 다른 고체 상태 메모리 기술, 시디롬(CD-ROM), 디브이디(DVD), 또는 다른 광학 저장장치, 자기 테이프, 자기 디스크 저장장치, 또는 다른 자기 디스크 저장매체 또는 자기 저장장치, 또는 컴퓨터(100)에 의해 액세스될 수 있는 원하는 정보를 저장하는데 사용될 수 있는 어떤 다른 매체를 포함하며, 이것들에만 한정되는 것은 아니다.
다양한 실시예들에 따르면, 컴퓨터(100)는 인터넷과 같은 네트워크(18)를 통해 원격의 컴퓨터들과의 논리적 연결을 사용하여 네트워크 환경에서 동작된다. 상기 컴퓨터(100)는 버스(12)에 연결된 네트워크 인터페이스 유닛(20)을 통해 상기 네트워크(18)에 연결될 수 있다. 상기 네트워크 연결은 무선 및/또는 유선이 될 수 있다. 상기 네트워크 인터페이스 유닛(20)은 다른 타입의 네트워크들 및 원격 컴퓨터 시스템들을 연결하는데 또한 이용될 수 있다. 상기 컴퓨터(100)는 키보드, 마우스, 또는 다른 전자 스타일러스(도 1에 도시되지 않음)를 포함하는 많은 다른 장치들로부터의 입력을 수신 및 처리하기 위한 입출력 컨트롤러(22)를 또한 포함할 수 있다. 이와 유사하게, 입출력 컨트롤러(22)는 사용자 인터페이스(28), 프린터, 다른 타입의 출력 장치를 포함하는 디스플레이 스크린으로 출력을 제공할 수 있다. 사용자 인터페이스(28)는 하나 또는 그 이상의 사용자 정의 전달 에이전트를 전개할 뿐만 아니라, 사용자에게 메시징 응용 프로그램(24)과 상호작용하는 시각적 방법을 제공하도록 설계된다.
위에서 간단하게 언급했듯이, 워싱턴 레드먼드시의 마이크로소프트사(MICROSOFT CORPORATION)의 윈도우서버 2008(WINDOWS SERVER 2008®) 운영 체제와 같이 네트워크된 컴퓨터의 동작을 제어하는데 적합한 운영 체제(16)를 포함하는 많은 프로그램 모듈들 및 데이터 파일들이 컴퓨터(100)의 대용량 저장장치(14) 및 램(9)에 저장될 수 있다. 상기 대용량 저장장치(14) 및 램(9)은 하나 또는 그 이상의 응용 프로그램들을 또한 저장할 수 있다. 상기 응용 프로그램들 중 하나는 마이크로스프트 익스체인지 서버 2010(MICROSOFT EXCHANGE SERVER 2010®)과 같은 메시징 응용 프로그램(24)이다.
일반적으로, 메시징 응용 프로그램(24)은 다양한 네트워크 위치들로의 또는 네트워크 위치들로부터의 메시지들을 처리하기 위해 구성된다. 연결 매니저(29)는 메시징 응용 프로그램을 위한 메시지들을 처리하는 동안에 사용자 정의 에이전트(26) 및 커넥터(25)를 관리하도록 구성된다. 각각의 사용자 정의 에이전트(26)는 특정한 어드레스 영역 내에서 특정 프로토콜에 따라 메시지들을 처리하기 위해 생성된다. 일반적으로 사용자 정의 에이전트는 메시징 응용 프로그램(24)에 의해 원래 지원되지 않는 프로토콜에 따라 메시지들을 처리하기 위해 생성된다. 예를 들면, 사용자 정의 에이전트가 제3자에 의해 제3의 프로토콜을 사용하여 메시지들을 처리하도록 구성되는데 반하여, 메시징 응용 프로그램(24)은 제1 및 제2 프로토콜을 사용하여 메시지들을 처리하도록 원래 구성될 수 있다. 이와 유사하게, 하나 또는 그 이상의 사용자 정의 에이전트는 다른 어드레스 영역을 사용하면서 다른 에이전트들과 동일한 프로토콜을 사용하여 메시지들을 처리하도록 구성될 수 있다. 각각의 사용자 정의 에이전트(26)는 특정 프로토콜에 따라 특정 어드레스 영역을 위해 메시지들을 라우팅하도록 구성된 커넥터(25)와 관련된다. 특정 어드레스 영역내에서 라우팅된 메시지들을 수신하면, 연결 매니저(29)는 메시지를 처리하기 위해 관련 사용자 정의 에이전트(26)를 호출한다. 호출된 사용자 정의 에이전트는 메시지 처리를 보조하기 위해 메시징 응용 프로그램(24)과 관련된 응용프로그램 인터페이스(21)를 이용한다. 일반적으로 응용프로그램 인터페이스(21)는 사용자 정의 에이전트(26)에게 네이티브 에이전트 및 커넥터로서 메시징 처리 기능에 대하여 동일한 액세스를 제공한다. 예를 들면, 사용자 정의 에이전트는 큐 관리 및 진단(예를 들면 메시지 트래킹, 연결 로그(conncection logs), 지연 트래킹(latency tracking))을 위해 응용프로그램 인터페이스(21)를 이용할 수 있다.
도 2는 메시지들을 처리하기 위한 사용자 정의 에이전트를 이용한 메시징 시스템의 일예를 보여준다. 도 2에 도시되어 있는 바와 같이, 시스템(200)은 메시징 서버들(205, 250, 255)을 포함한다. 서버(205)는 도시되어 있는 바와 같이 사용자 정의 에이전트 1-N(220), 커넥터 1-N(240), 메시지 큐 1-N(230), 연결 매니저(210)를 포함한다. 서버(250, 255)는 상기 서버(205)와 유사하게 구성될 수 있다. 시스템(200)은 전자 메시지들을 처리하기 위해 구성된 더 많은 서버들 및/또는 클라이언트 컴퓨팅 장치들을 포함할 수 있다.
위에서 논의된 바와 같이, 연결 매니저(210)는 메시징 응용 프로그램이 사용자 정의 에이전트(220), 커넥터(240), 및 큐(230)로부터의 메시지 처리를 관리하는 것을 지원한다. 에이전트들(220) 내의 각각의 사용자 정의 에이전트는 특정 어드레스 영역 내에서 특정 프로토콜에 따라 메시지들을 처리한다.
일 실시예에 따르면, 각각의 사용자 정의 에이전트(220)는 연결 개방 이벤트, 메일 전달 이벤트, 및 연결 종료 이벤트를 포함하는 3개의 이벤트들을 드러내는 기본등급(base class)으로부터 도출된다. 상기 사용자 정의 에이전트가 정의될 때, 그것이 지원하는 전달 프로토콜이 특정된다. 메시지를 처리할 때 이용가능한 사용자 정의 에이전트를 선택함에 있어서 연결 메니저(210)에 의해 상기 특정된 전달 프로토콜이 사용된다. 다음에 기술된 것은 사용자 정의 에이전트와 관련된 예시적 정의이다.
사용자 정의 에이전트들과 동일한 차기 홉 타입을 가진 메시지가 존재하며 사용자 정의 에이전트를 위한 활성 호출의 수가 제로라고 연결 매니저(210)가 판단할 때, 연결 개방 이벤트가 발생된다. 다른 실시예에 따르면, 활성연결(ActiveConnections)dp 대한 활성큐길이(ActiveQueueLength)의 비율{ActiveQueueLength/ActiveConnections)이 연결당최대메시지(MaxMessagesPerConnection) 보다 크고, 활성 호출의 전체 수가 에이전트커넥터구성 등급(AgentConnectorConfig class)상에서 한정된 최대동시연결(MaxConcurrentConncetions) 보다 작을 때 연결 개방 이벤트가 발생된다.
큐 중의 하나와 관련된 커넥터와 매칭되는 특정 전달 프로토콜을 위해 연결 개방 이벤트에 등록된 사용자 정의 에이전트가 활성화된다.
하나의 실시예에 따르면, 사용자 정의 에이전트가 호출된 이후에 메시징 응용 프로그램과의 통신을 위해 응용프로그램 인터페이스(API)에 의해 제공된 레지스터 연결 방법(Register Connection method)을 호출하지 않으면, 사용자 정의 에이전트가 상기 큐를 처리하지 않았음을 나타내는 에러 메시지(큐를 다루는 에이전트가 없음)와 함께 상기 사용자 정의 에이전트를 위한 상기 관련 큐는 재시도 상태(RETRY state)가 된다.
연결 개방 이벤트를 위해 이전에 호출된 에이전트가 상기 레지스터 연결 방법(Register Connection method)을 호출하며 지연 큐 방법(Defer Queue method) 또는 실패 큐 방법(Fail Queue method)을 호출하지 않은 이후에, 메일 전달 이벤트가 발생된다. 연결 매니저(210)가 상기 관련 큐에서 다음 메일 아이템을 가져오고 전달을 위해 메시지가 이용가능함을 상기 에이전트가 알 수 있도록 할 때마다 상기 메일 전달 이벤트가 발생된다. 하나의 실시예에 따르면, 전달되어야 할 각각의 메시지마다 하나의 이벤트가 생성된다. 전달이 이루어지고 있는 동안에, 상기 에이전트는 응용프로그램 인터페이스(API)를 사용하여 메시징 응용 프로그램으로 되돌려지는 메시지 전달 상태를 승인한다. 이러한 정보는 메시지들의 처리를 관리하는 것을 지원하기 위해 메시징 응용 프로그램에 의해 사용될 수 있다. 또한, 상기 에이전트와 원격 시스템과의 연결상의 일시적인 또는 영속적인 오류가 발생되면, 상기 에이전트는 상기 연결이 더 이상 이용가능하지 않음을 연결 매니저(210)에게 통지한다.
만약 호출된 사용자 정의 에이전트가 상기 메시지가 처리되었음을 확인함이 없이 리턴하게 되면(AckMailItemSuccess, AckMailItemDefer, AckMailItemFail, DeferQueue, 및 FailQueue 방법들이 호출되지 않음), 상기 큐 안의 메시지 상태는 "메시지 처리 없이 에이전트가 리턴됨"이라는 에러 메시지와 함께 "재시도(RETRY)" 상태로 변경된다. 하나의 실시예에 따르면, 액션을 지연하기 위해 디폴트 시간 범위(예를 들면 1분, 2분, 5분 등)가 사용된다. 상기 사용자 정의 에이전트는 전체 메시지를 한번에 승인하는 것보다는 메일 아이템상의 개별적인 수신지에 대한 전달을 승인하는 선택권을 또한 가질 수 있다. 이것은 각각의 수신자에게 메시지가 독립적으로 전달되는 프로토콜(팩스 및 SMS와 같은)에 유용할 수 있다. 수신자를 승인하기 위해 상기 방법들은 AckRecipientSuccess, AckRecipientDefer, 및 AckRecipientFail을 포함한다.
사용자 정의 에이전트들을 사용하여 처리된 메시지들은 메시징 응용 디폴트 네이티브 전달 에이전트들을 사용하는 메시지들과 유사하게 처리된다. 이와 같이, 상기 프로토콜이 이메일 서버에 의해 초기에 지원된 프로토콜이 아닐때 조차도 메시지들은 추적될 수 있으며,로그 이벤트와 관련될 수 있다. 하나의 실시예에 따르면, 상기 메시지 응용 프로그램은 메시지들을 인터넷으로(부터) 전달하기 위한 방법으로서 간이 메일 전송 프로토콜(Simple Mail Transfer Protocol, SMTP) 기술을 사용한다. 간이 메일 전송 프로토콜(SMTP)은 이메일의 교환을 관리하는 TCP/IP 프로토콜의 하나의 멤버이다. 하나 또는 그 이상의 사용자 정의 에이전트는 메시징 응용 프로그램에 의해 지원되는 프로토콜을 확장하는 것으로 정의될 수 있다. 하나의 실시예에 따르면, 상기 전달 에이전트들은 제3자들에 의해 정의된다.
사용자 정의 에이전트는 간이 메일 전송 프로토콜(SMTP) 커넥터, 팩스 커넥터, SMS 커넥터, X.400 커넥터, 비표준 프로토콜 커넥터 등을 포함하지만 여기에 한정되지 않는 어떠한 프로토콜이라도 특정할 수 있다. 관리자와 같은 사용자는 네이티브 프로토콜을 사용하여 처리된 다른 모든 메시지들에 대해서와 같은 동일한 큐 보기 도구를 사용하여 비-SMTP 프로토콜로 전송되는 메시지들의 큐를 보며 관리할 수 있다. 이와 유사하게, 큐 대기, 큐에서 메시지 거절 등과 같은 동작들은 모두 유효하게 동작한다.
상기 에이전트를 위해 큐에서 이용가능한 메시지들이 더 이상 없고, 상기 에이전트가 응용프로그램 인터페이스(API)에 의하여 제공된 지연 큐 방법(DeferQueue method), 실패 큐 방법(FailQueue method) 또는 비-레지스터 연결 방법(UnRegister Connection method)을 이전에 호출하지 않은 것으로 연결 매니저(210)가 결정할 때, 연결 종료 이벤트가 발생된다. 호출되었을 때, 상기 에이전트는 상기 네트워크 연결을 종료하고, 응용프로그램 인터페이스(API)에서 제공된 비-레지스터 연결 방법(UnRegister Connection method)을 호출함에 의해 상기 연결이 종료되었음을 상기 메시징 응용 프로그램에게 확인해주며, 리턴한다. 상기 에이전트가 상기 비-레지스터 연결 방법(UnRegister Connection method)을 호출함이 없이 리턴하거나 이벤트 핸들러가 상기 연결 종료 이벤트를 등록하지 않으면 상기 메시징 시스템은 상기 연결을 등록하지 않는다.
서비스가 중지되었을 때, 등록된 연결이 존재한다면, 연결 종료 이벤트가 발생될 수 있다. 이것은 에이전트가 그것이 가진 원격 시스템들과의 어떠한 연결도 깨끗하게 종료할 수 있도록 해준다.
각각의 사용자 정의 에이전트는 상기 커넥터를 위한 연결들의 최대값뿐만이 아니라 다수의 연결이 호출된 관련 큐 안에서의 메시지들의 문턱값을 한정할 수 있다. 큐를 처리할 때, 문턱값에 의해 한정된 것보다 연결당 메시지들이 더 많으면, 새로운 연결을 생성하는 것이 연결들의 최대값을 초과하는 않는 한, 연결 매니저(210)는 새로운 연결을 생성한다.
상기 메시지 큐(230)는 하나 또는 그 이상의 다른 큐들을 포함할 수 있다. 예를 들면, 모든 메시지들은 단일 큐안에 저장될 수도 있고, 또는 메시지들이 다른 큐들안에 저장될 수도 있다. 하나의 실시예에 따르면, 각각의 전달 에이전트의 타입은 관련 메시지 큐를 가진다. 각각의 메시지 큐는 다음 단계의 처리를 위해 대기하는 메시지들을 위한 임시 보관 장소이다. 다른 실시예에 따르면, 메시지들을 큐형태로 보관시키는 것은 커넥터 구성에 의해 조정될 수 있다. 이 예에서, 전달 에이전트 커넥터의 각각의 경우를 위해 단일 큐가 생성된다. 이러한 방법으로, 관리자와 같이 관리권한이 부여된 사용자는 프로토콜을 위한 전체 어드레스 영역(단일 큐가 되는)을 처리하는 단일 커넥터를 생성하는 선택권을 가지며, 상기 어드레스 영역을 다수의 커넥터들로 분리하는 선택(다수의 큐가 되는)을 할 수도 있다.
하나의 실시예에 따르면, 메시지가 관련 사용자 정의 에이전트에 의해 완전히 처리될 때까지 상기 메시징 응용 프로그램은 상기 메시지가 전달된 것으로 보지 않으며, 상기 메시지는 원격 시스템으로 전달된 것으로 상기 메시징 응용 프로그램에 보고된다. 그 결과, 메시지 추적 로그는 비-네이티브 프로토콜들을 통해 전달된 메시지에 일어났던 것에 대한 정확한 표시를 포함한다.
도 3 내지 도 7을 참조하면, 메시지들을 처리하기 위한 사용자 정의 에이전트들을 이용하는 예시적 절차들이 설명되어 있다.
여기에 제시된 루틴들에 대한 설명을 판독할 때, 다양한 실시예들의 논리적인 동작들이 (1) 컴퓨팅 시스템상에서 운용되는 컴퓨터 구현 동작 또는 프로그램 모듈의 시퀀스로서, 및/또는 (2) 컴퓨터 시스템 내에서 상호연결된 머신 논리 회로들 또는 회로 모듈들로 구현되었음을 이해해야 한다. 상기 구현은 본 발명을 구현하는 컴퓨팅 시스템의 성능 요건에 의존하는 선택의 문제이다. 따라서, 예시되며 여기에 기술된 실시예들을 구성하는 논리적인 동작들은 동작들, 구조적 장치들, 작용들 또는 모듈들로서 다양하게 지칭된다. 이러한 동작들, 구조적 장치들, 작용들, 모듈들은 소프트웨어, 펌웨어, 특정 목적의 디지탈 로직, 그리고 이들의 조합으로 구현될 수 있다.
도 3은 사용자 정의 에이전트를 사용하는 메시징 응용 프로그램을 초기화하기 위한 절차를 설명한다.
시작 동작 후에, 상기 절차는 동작(310)으로 이동하여 각각의 정의된 커넥터가 메시징 응용 프로그램에 의해 로딩된다. 하나의 실시예에 따르면, 각각의 커넥터는 어드레스 영역과 전달 프로토콜을 한정한다. 최대 동시 연결만이 아니라 연결을 위한 최대 메시지들과 같은 다른 한정들도 포함될 수 있다. 상기 어드레스 영역은 상기 사용자 정의 에이전트가 지원하는 어드레스 영역을 한정한다. 상기 어드레스 영역은 수신자 라우팅 어드레스와 매칭되는 커넥터를 위치시키기 위해 메시징 응용 프로그램에 의해 사용된다. 상기 전달 프로토콜 특성은 커넥터에 의해 지원된 프로토콜을 가리킨다. 이것은 커넥터 전달 프로토콜 특성 값과 매칭되는 전달 프로토콜을 "광고하는" 에이전트들만을 호출하기 위해 메시징 시스템에 의해 사용된다. 연결 특성당 최대 메시지들은 에이전트 호출을 통해 전달될 메시지들의 최대수를 가리킨다. 이 특성은 사용자 정의 에이전트를 위해 관련 메일 전달 핸들러로 발생된 메일 전달 이벤트의 최대수이다. 최대 동시 연결 특성은 에이전트를 위해 발생할 수 있는 동시 에이전트 호출의 최대수를 가리킨다. 이것은 상기 에이전트를 위해 관련 연결 개방 이벤트 핸들러로 발생된 연결 개방 이벤트의 최대수이다.
동작(320)으로 이동하면, 어드레스 영역 및 커넥터를 위한 프로토콜이 결정된다.
동작(330)으로 이동하면, 하나 또는 그 이상의 에이전트가 로딩된 커넥터와 관련된다. 커넥터의 프로토콜과 비교된 에이전트 및 커넥터의 어드레스 영역과 비교된 에이전트의 어드레스 영역에 의해 지원된 프로토콜에 기초하여 상기 에이전트가 선택된다.
상기 절차는 종료 동작으로 이동하고, 다른 동작들을 처리하기 위해 리턴된다.
도 4는 사용자 정의 에이전트를 이용한 메시지들을 처리하기 위한 절차를 보여준다.
시작 동작 후에, 상기 절차는 동작(410)으로 이동하여 메시지가 액세스된다. 하나의 실시예에 따르면, 상기 메시지는 메시징 시스템과 관련된 큐로부터 액세스된다.
동작(420)으로 이동하면, 메시지가 적절한 커넥터로 라우팅된다. 상기 커넥터는 상기 어드레스 영역과 프로토콜에 기초하여 선택된다.
동작(430)으로 이동하면, 상기 커넥터와 관련된 에이전트가 호출된다. 에이전트를 호출하고, 상기 에이전트는 메시징 시스템에 의해 발생된 이벤트에 기초한 다양한 동작들을 수행할 수 있다.
동작(440)으로 이동하면, 상기 메시지들은 선택된 사용자 정의 에이전트에 의해 처리된다. 상기 메시지들을 처리하는 동안에, 사용자 정의 에이전트는 상기 메시징 응용 프로그램과 관련된 응용프로그램 인터페이스(API)에 의해 제공된 기능 뿐만 아니라 제3자에 의해 공급된 기능을 이용한다.
상기 절차는 종료 동작으로 이동하고, 다른 동작들을 처리하기 위해 리턴된다.
도 5는 사용자 정의 에이전트에 의해 지원된 프로토콜을 위한 연결을 시작하기 위한 절차(500)를 설명한다.
시작 동작 후에, 상기 절차는 동작(510)으로 이동하여, 상기 메시징 응용 프로그램에 의해 연결 개방 이벤트가 발생된다.
동작(520)으로 이동하면, 관련 사용자 정의 에이전트에 의해 공급된 연결 시작 핸들러가 호출된다.
동작(530)으로 이동하면, 상기 에이전트는 원격 시스템과의 하나 또는 그 이상의 네트워크 연결을 시작한다. 하나의 실시예에 따르면, 상기 사용자 정의 에이전트는 응용프로그램 인터페이스(API)를 통해 연결이 시작되었음을 상기 메시징 응용 프로그램에게 통지한다.
동작(540)으로 이동하면, 상기 에이전트는 상기 에이전트와 관련된 큐에 있는 메시지들의 전달을 시도한다.
다음에 상기 절차는 종료 동작으로 이동하고, 다른 동작들을 처리하기 위해 리턴된다.
도 6은 사용자 정의 에이전트를 이용하여 메시지들을 전달하기 위한 절차를 보여준다.
시작 동작 후에, 상기 절차는 동작(610)으로 이동하고 메시징 응용 프로그램에 의해 제시된 메일 전달 아이템 이벤트에 응답하여 사용자 정의 에이전트에 의해 공급된 메일 핸들러가 호출된다. 큐안에 메시지가 존재하고 사용자 정의 에이전트가 원격 호스트와의 네트워크 연결을 미리 구축해놓은 경우에 상기 메일 핸들러가 호출된다.
동작(620)으로 이동하면 상기 에이전트는 현재 처리되고 있는 메시지의 전달을 시도한다.
결정 동작(630)으로 이동하면, 상기 메시지가 성공적으로 전달되었는지에 대한 결정이 이루어진다. 상기 메시지가 성공적으로 전달된 경우에, 절차는 동작(640)으로 이동하고, 사용자 정의 에이전트가 응용프로그램 인터페이스(API)를 거쳐서 메시징 응용 프로그램에게 메시지가 성공적으로 전달되었음을 통지한다.
상기 메시지가 성공적으로 전달되지 않은 경우에, 절차는 결정 동작(635)으로 이동하고, 일시적인 메시지 실패 때문에 상기 메시지가 전달되지 않았는지에 대한 결정이 이루어진다. 일시적인 메시지 실패가 있는 경우에, 절차는 동작(620)으로 리턴되고 메시지 전달이 시도된다. 하나의 실시예에 따르면, 메시지 전달을 시도하기 위한 상기 리턴은 미리 정해진 시간동안 대기하도록 설정될 수 있다.
일시적인 메시지 실패가 있지 않은 경우에, 절차는 판단 동작(645)으로 이동하여 영속적인 메시지 실패가 있는지를 판단한다. 영속적인 메시지 실패가 있는 경우에 절차는 동작(650)으로 이동하고 메시지 실패의 승인이 응용프로그램 인터페이스(API)를 통해 메시징 응용 프로그램으로 제공된다. 영속적인 메시지 실패가 있지 않은 경우에 절차는 판단 동작(655)으로 이동하여 일시적인 연결 실패가 있는지를 결정한다.
일시적인 연결 실패가 있는 경우에, 절차는 동작(650)으로 이동하여 상기 에이전트를 위해 큐안의 메시지들의 전달이 일정 시간주기동안 지연된다.
일시적인 연결 실패가 있지 않은 경우에, 절차는 동작(665)으로 이동하고, 상기 에이전트가 상기 메시징 응용 프로그램에게 상기 큐 실패를 통지할 때 큐 전달이 실패된다.
다음에 상기 절차는 종료 동작로 이동하고, 다른 동작들을 처리하기 위해 리턴된다.
도 7은 사용자 정의 에이전트와 관련된 연결을 종료하기 위한 절차를 설명한다.
시작 동작 후에, 상기 절차는 동작(710)으로 이동하고 메시징 응용 프로그램에 의해 연결 종료 이벤트가 제시된다. 동작(720)으로 이동하면, 상기 에이전트를 위한 연결 종료 핸들러가 호출된다.
동작(730)으로 이동하면, 상기 에이전트는 원격 호스트와의 연결을 종료한다. 다음에 절차는 동작(740)으로 이동하여, 상기 에이전트는 응용프로그램 인터페이스(API)를 통해 메시징 응용 프로그램에게 상기 연결이 종료되었음을 통지하며, 이에 응답하여 상기 메시징 응용 프로그램은 상기 연결을 등록하지 않는다. 다음에 절차는 종료 동작으로 이동하며, 다른 동작들의 처리로 리턴한다.
상기한 설명, 예들, 데이터는 본 발명의 구성의 제작과 사용에 대한 완전한 설명을 제공한다. 본 발명의 많은 실시예들이 본 발명의 정신 및 범위를 벗어남이 없이 생성될 수 있기 때문에, 본 발명은 다음에 첨부되는 청구범위들에 존재하게 된다.
Claims (21)
- 컴퓨터의 프로세서상에서 실행되는, 전자 메시지를 처리하기 위한 방법으로서,
메시지에 액세스하는 단계,
상이한 종류의 통신을 지원하는 상이한 커넥터들 중에서 상기 메시지를 위한 커넥터를 선택하는 단계 - 상기 상이한 커넥터들은 간이 메일 전송 프로토콜(SMTP) 커넥터, 팩스 커넥터, SMS 커넥터, X.400 커넥터 중 적어도 두 개의 커넥터를 포함함 - ,
메시징 응용 프로그램을 사용하여 상기 메시지를 상기 선택된 커넥터로 라우팅하는 단계,
상기 메시징 응용 프로그램이 상기 메시지를 처리하기 위해서 상기 커넥터를 위한 사용자 정의 에이전트를 호출하는 단계- 상기 사용자 정의 에이전트는 상기 메시징 응용 프로그램의 지원되지 않는 프로토콜을 위한 지원을 제공하고, 상기 사용자 정의 에이전트는 또한 상기 메시지를 원격 시스템에 성공적으로 전송하였음을 상기 메시징 응용 프로그램에 통지함 - , 및
지원되는 타입의 통신을 사용하여 처리되는 메시지 및 지원되지 않는 타입의 통신을 사용하여 처리되는 메시지를 포함하는 메시지들의 큐(queue)를 보며 관리하기 위한 응용프로그램 프로그래밍 인터페이스(API)를 제공하는 단계
를 포함하는 전자 메시지 처리 방법.
- 제 1항에 있어서,
상기 커넥터는 상기 메시징 응용 프로그램과 관련 없는 제3자에 의해 정의된 어드레스 영역 특성 및 지원되는 프로토콜 특성을 포함하는
전자 메시지 처리 방법.
- 제2항에 있어서,
상기 메시지를 위한 상기 커넥터를 선택하는 단계는 상기 메시지를 위한 라우팅 어드레스를 결정하고 다수의 커넥터 중에서 상기 어드레스 영역 특성과 매칭되는 상기 커넥터를 선택하는 단계를 포함하는
전자 메시지 처리 방법.
- 제2항에 있어서,
상기 사용자 정의 에이전트는 원격 네트워크 어드레스에 상기 메시지를 전달하며 상기 메시징 응용 프로그램에게 상기 메시지의 전달의 실패를 통지하는 동작을 수행하는
전자 메시지 처리 방법.
- 제4항에 있어서,
상기 통지는 상기 메시징 응용 프로그램과 관련된 상기 응용프로그램 프로그래밍 인터페이스(API)를 통해 발생되는
전자 메시지 처리 방법.
- 제4항에 있어서,
상기 사용자 정의 에이전트는 상기 메시징 응용 프로그램에 의해 발생된 연결 개방 이벤트(open connection event), 메일 전달 이벤트, 및 연결 종료 이벤트(close connection event) 시에 호출되는
전자 메시지 처리 방법.
- 제6항에 있어서,
상기 연결 개방 이벤트는, 상기 사용자 정의 에이전트와 관련된 메시지의 처리를 다루기 위한 상기 사용자 정의 에이전트의 활성 호출이 없는 경우 및 상기 사용자 정의 에이전트의 활성 호출이 더 필요한 경우에 응답하여, 상기 메시징 응용 프로그램에 의해 발생되는
전자 메시지 처리 방법.
- 삭제
- 메시징 응용 프로그램과 관련된 사용자 정의 전달 에이전트를 이용하여 메시지를 처리하기 위한 방법을 실행하는 컴퓨터 실행 가능 명령어를 저장하는 컴퓨터 판독 가능 저장 디바이스로서,
상기 방법은
제1 프로토콜을 이용하여 전달되는 메시지에 액세스하는 단계 - 상기 제1 프로토콜은 상기 메시징 응용 프로그램에 의해 지원되지 않음 -,
상이한 종류의 통신 방법들을 지원하는 커넥터 그룹에서 상기 메시지를 위한 커넥터를 선택하는 단계,
상기 메시지를 상기 선택된 커넥터로 라우팅하는 단계, 및
상기 메시징 응용 프로그램이 상기 제1 프로토콜을 이용하여 상기 메시지를 처리하기 위해 상기 커넥터를 위한 사용자 정의 에이전트를 호출하는 단계- 상기 사용자 정의 에이전트가 상기 제1 프로토콜을 이용하여 상기 메시지를 전달하기 위한 지원을 제공함 -, 및
상기 메시지를 원격 시스템에 성공적으로 전송하였음을 상기 메시징 응용 프로그램에 통지하기 위해, 상기 메시징 응용 프로그램에 의해 제공된 응용프로그램 프로그래밍 인터페이스(API)를 이용하는 단계 - 상기 API는 지원되는 타입의 통신을 사용하여 처리되는 메시지 및 지원되지 않는 타입의 통신을 사용하여 처리되는 메시지를 포함하는 메시지들의 큐(queue)를 보며 관리함 - 를 포함하는
컴퓨터 판독 가능 저장 디바이스.
- 제9항에 있어서,
상기 커넥터들 각각은 어드레스 영역 및 지원되는 프로토콜을 정의하는
컴퓨터 판독 가능 저장 디바이스.
- 제10항에 있어서,
상기 커넥터를 선택하는 단계는 상기 메시지를 위한 라우팅 어드레스를 결정하고 상기 라우팅 어드레스와 매칭되는 상기 커넥터와 어드레스 영역을 선택하는 단계를 포함하는
컴퓨터 판독 가능 저장 디바이스.
- 제11항에 있어서,
상기 사용자 정의 에이전트는 상기 메시지를 상기 라우팅 어드레스로 전송하는 것과, 상기 메시지를 분석하기 위해 상기 API로부터 기능을 이용하는 것을 포함하는 동작을 수행하는
컴퓨터 판독 가능 저장 디바이스.
- 제11항에 있어서,
상기 사용자 정의 에이전트는 상기 메시징 응용 프로그램에 의해 발생되는 연결 개방 이벤트, 메일 전달 이벤트, 및 연결 종료 이벤트에 따라 호출되는
컴퓨터 판독 가능 저장 디바이스.
- 제13항에 있어서,
상기 연결 개방 이벤트는, 상기 사용자 정의 에이전트와 관련된 메시지의 처리를 다루기 위한 상기 사용자 정의 에이전트의 활성 호출이 없는 경우 및 상기 사용자 정의 에이전트의 활성 호출이 더 필요한 경우에 응답하여, 상기 메시징 응용 프로그램에 의해 발생되는
컴퓨터 판독 가능 저장 디바이스.
- 제13항에 있어서,
상기 메일 전달 이벤트는 상기 사용자 정의 에이전트에 대한 메시지 큐에 포함된 각 메시지의 전송에 의해 발생되는 것인
컴퓨터 판독 가능 저장 디바이스.
- 메시징 응용 프로그램을 위해 프로토콜 지원을 확장하는 사용자 정의 에이전트를 이용하여 메시지를 처리하기 위한 시스템으로서,
프로세서와 컴퓨터 판독 가능 저장 매체,
상기 컴퓨터 판독 가능 저장 매체에 저장되며 상기 프로세서상에서 실행되는 운영 환경,
네트워크 연결,
원격 어드레스로 전달할 메시지를 저장하도록 구성되는 메시지 큐,
서버상에서 동작하는 메시징 응용 프로그램 및 연결 매니저를 포함하되,
상기 메시징 응용 프로그램 및 연결 매니저는,
상기 메시지 큐로부터의 메시지에 액세스하는 작업,
상기 원격 어드레스에 기초하여 상기 메시지를 위한 상이한 종류의 통신 방법들을 지원하는 커넥터 그룹에서 커넥터를 선택하는 작업,
상기 메시지를 상기 선택된 커넥터로 라우팅하는 작업, 및
제3자에 의해 정의된 사용자 정의 에이전트를 호출하는 작업을 수행하도록 구성되며,
상기 사용자 정의 에이전트는 원격 어드레스로의 연결을 시작하고, 상기 메시지를 전달하고, 상기 메시지의 전달이 성공적일 때 상기 연결을 종료하며, 상기 사용자 정의 에이전트는 상기 메시징 응용 프로그램에 상기 메시지의 전달과 관련된 성공을 통지하고,
응용 프로그램 프로그래밍 인터페이스(API)는 지원되는 타입의 통신을 사용하여 처리되는 메시지 및 지원되지 않는 타입의 통신을 사용하여 처리되는 메시지를 포함하는 메시지들의 큐(queue)를 보며 관리하는
메시지 처리 시스템.
- 제16항에 있어서,
상기 커넥터를 선택하는 작업은 다수의 커넥터 중에서 상기 메시지의 어드레스 영역 및 프로토콜과 매칭되는 커넥터를 결정하는 작업을 포함하는
메시지 처리 시스템.
- 제16항에 있어서,
상기 사용자 정의 에이전트는 상기 메시징 응용 프로그램에 의해 발생된 연결 개방 이벤트, 메일 전달 이벤트, 및 연결 종료 이벤트 시에 상기 메시징 응용 프로그램에 의해 호출되며, 상기 사용자 정의 에이전트는 상기 연결 개방 이벤트, 상기 메일 전달 이벤트, 및 상기 연결 종료 이벤트를 위해 핸들러를 제공하는
메시지 처리 시스템.
- 제18항에 있어서,
상기 연결 개방 이벤트는, 상기 사용자 정의 에이전트와 관련된 메시지의 처리를 다루기 위한 상기 사용자 정의 에이전트의 활성 호출이 없는 경우 및 상기 사용자 정의 에이전트의 활성 호출이 더 필요한 경우에 응답하여, 상기 메시징 응용 프로그램에 의해 발생되는
메시지 처리 시스템.
- 제18항에 있어서,
상기 메일 전달 이벤트는, 상기 사용자 정의 에이전트를 위한 상기 메시지 큐에 포함된 각 메시지의 전송에 의해 발생되는
메시지 처리 시스템.
- 제1항에 있어서,
상기 메시지들의 큐를 관리하는 것은 하나 이상의 메시지 트래킹, 연결 로그(conncection logs), 지연 트래킹(latency tracking)을 제공하는 것을 포함하는
전자 메시지 처리 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/475,374 | 2009-05-29 | ||
US12/475,374 US20100306321A1 (en) | 2009-05-29 | 2009-05-29 | Delivering messages using user-defined agents |
PCT/US2010/036759 WO2010138938A2 (en) | 2009-05-29 | 2010-05-28 | Delivering messages using user-defined agents |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120027274A KR20120027274A (ko) | 2012-03-21 |
KR101788331B1 true KR101788331B1 (ko) | 2017-10-19 |
Family
ID=43221484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117028373A KR101788331B1 (ko) | 2009-05-29 | 2010-05-28 | 사용자 정의 에이전트를 이용한 메시지 전달 |
Country Status (13)
Country | Link |
---|---|
US (1) | US20100306321A1 (ko) |
EP (1) | EP2435980A4 (ko) |
JP (1) | JP2012529087A (ko) |
KR (1) | KR101788331B1 (ko) |
CN (1) | CN102449980B (ko) |
AU (1) | AU2010253923C1 (ko) |
BR (1) | BRPI1013059A2 (ko) |
CA (1) | CA2760241A1 (ko) |
IL (1) | IL216024A0 (ko) |
MY (1) | MY166742A (ko) |
RU (1) | RU2011148349A (ko) |
SG (2) | SG10201402736QA (ko) |
WO (1) | WO2010138938A2 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9288361B2 (en) | 2013-06-06 | 2016-03-15 | Open Text S.A. | Systems, methods and computer program products for fax delivery and maintenance |
JP6602866B2 (ja) * | 2014-12-01 | 2019-11-06 | インフォマティカ エルエルシー | 並列持続性を有するメッセージブローカシステム |
CN104394068B (zh) * | 2014-12-15 | 2017-12-15 | 中国船舶重工集团公司第七二二研究所 | 一种基于商用客户端的短波E‑mail发送、接收以及通信方法 |
US10956957B2 (en) * | 2015-03-25 | 2021-03-23 | Facebook, Inc. | Techniques for automated messaging |
KR20190127503A (ko) | 2018-05-04 | 2019-11-13 | 정민우 | 개인 운송장비의 자동방향지시 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004027561A2 (en) | 2002-09-17 | 2004-04-01 | Bellsouth Intellectual Property Corporation | Client-based message protocol translation |
WO2006101428A1 (en) | 2005-03-24 | 2006-09-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement in a communication system for delivering messages to a recipient |
US20070157113A1 (en) | 2006-01-04 | 2007-07-05 | Marc Bishop | Sidebar email |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6532488B1 (en) * | 1999-01-25 | 2003-03-11 | John J. Ciarlante | Method and system for hosting applications |
GB2365260B (en) * | 2000-02-24 | 2004-05-26 | Ibm | Database synchronisation for mobile computing devices |
US6920476B2 (en) * | 2000-03-06 | 2005-07-19 | I2 Technologies Us, Inc. | Messaging system for computers |
US7272662B2 (en) * | 2000-11-30 | 2007-09-18 | Nms Communications Corporation | Systems and methods for routing messages to communications devices over a communications network |
GB2370450B (en) * | 2000-12-19 | 2004-07-07 | Voxsurf Ltd | Messaging protocol |
US20020138605A1 (en) * | 2001-01-19 | 2002-09-26 | Steve Hole | Message tracking system and method |
US7058687B2 (en) * | 2001-04-03 | 2006-06-06 | Sendmail, Inc. | E-mail system with methodology for accelerating mass mailings |
US20020178227A1 (en) * | 2001-05-25 | 2002-11-28 | International Business Machines Corporation | Routing instant messages using configurable, pluggable delivery managers |
US20030217096A1 (en) * | 2001-12-14 | 2003-11-20 | Mckelvie Samuel J. | Agent based application using data synchronization |
US20040054736A1 (en) * | 2002-09-17 | 2004-03-18 | Daniell W. Todd | Object architecture for integration of email and instant messaging (IM) |
US8230019B2 (en) * | 2003-07-17 | 2012-07-24 | International Business Machines Corporation | Alerting electronic mail users of undeliverable recipients |
US20060168017A1 (en) * | 2004-11-30 | 2006-07-27 | Microsoft Corporation | Dynamic spam trap accounts |
DE602005005435T2 (de) * | 2005-01-24 | 2008-07-03 | Research In Motion Ltd., Waterloo | System und Verfahren zur Kommunikationsverwaltung von Komponentenanwendungen |
WO2006110983A1 (en) * | 2005-04-18 | 2006-10-26 | Research In Motion Limited | System and method for accessing multiple data sources by mobile applications |
US7954112B2 (en) * | 2005-05-20 | 2011-05-31 | Microsoft Corporation | Automatic recovery from failures of messages within a data interchange |
US20080162644A1 (en) * | 2006-12-29 | 2008-07-03 | Krishnan Kalyanaraman B | Auto selection of connectors in a middleware framework |
-
2009
- 2009-05-29 US US12/475,374 patent/US20100306321A1/en not_active Abandoned
-
2010
- 2010-05-28 RU RU2011148349/08A patent/RU2011148349A/ru not_active Application Discontinuation
- 2010-05-28 CA CA2760241A patent/CA2760241A1/en not_active Abandoned
- 2010-05-28 KR KR1020117028373A patent/KR101788331B1/ko active IP Right Grant
- 2010-05-28 AU AU2010253923A patent/AU2010253923C1/en not_active Ceased
- 2010-05-28 MY MYPI2011005297A patent/MY166742A/en unknown
- 2010-05-28 CN CN201080024679.8A patent/CN102449980B/zh not_active Expired - Fee Related
- 2010-05-28 BR BRPI1013059A patent/BRPI1013059A2/pt not_active IP Right Cessation
- 2010-05-28 SG SG10201402736QA patent/SG10201402736QA/en unknown
- 2010-05-28 EP EP10781359.4A patent/EP2435980A4/en not_active Withdrawn
- 2010-05-28 JP JP2012513345A patent/JP2012529087A/ja not_active Withdrawn
- 2010-05-28 WO PCT/US2010/036759 patent/WO2010138938A2/en active Application Filing
- 2010-05-28 SG SG2011079266A patent/SG175386A1/en unknown
-
2011
- 2011-10-30 IL IL216024A patent/IL216024A0/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004027561A2 (en) | 2002-09-17 | 2004-04-01 | Bellsouth Intellectual Property Corporation | Client-based message protocol translation |
WO2006101428A1 (en) | 2005-03-24 | 2006-09-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement in a communication system for delivering messages to a recipient |
US20070157113A1 (en) | 2006-01-04 | 2007-07-05 | Marc Bishop | Sidebar email |
Also Published As
Publication number | Publication date |
---|---|
IL216024A0 (en) | 2012-01-31 |
SG175386A1 (en) | 2011-12-29 |
EP2435980A2 (en) | 2012-04-04 |
AU2010253923A1 (en) | 2011-11-17 |
SG10201402736QA (en) | 2014-10-30 |
US20100306321A1 (en) | 2010-12-02 |
MY166742A (en) | 2018-07-20 |
BRPI1013059A2 (pt) | 2018-01-16 |
WO2010138938A2 (en) | 2010-12-02 |
AU2010253923C1 (en) | 2015-04-02 |
CN102449980B (zh) | 2016-02-17 |
WO2010138938A3 (en) | 2011-03-03 |
JP2012529087A (ja) | 2012-11-15 |
CN102449980A (zh) | 2012-05-09 |
AU2010253923B2 (en) | 2014-10-09 |
RU2011148349A (ru) | 2013-06-10 |
EP2435980A4 (en) | 2014-08-20 |
KR20120027274A (ko) | 2012-03-21 |
CA2760241A1 (en) | 2010-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4573898B2 (ja) | サーバ管理プログラム、メールサーバ管理プログラム、サーバ管理システム、管理サーバおよびサーバ管理方法 | |
US20100005138A1 (en) | Electronic file sharing | |
KR101788331B1 (ko) | 사용자 정의 에이전트를 이용한 메시지 전달 | |
AU2017272153B2 (en) | Email webclient notification queuing | |
US20130145277A1 (en) | Graphical user interface for electronic file sharing | |
US9189303B2 (en) | Shadow queues for recovery of messages | |
US8275905B2 (en) | System and method for store-and-forward for highly available message production | |
JP6918116B2 (ja) | インスタントメッセージンググループ管理方法および装置 | |
US20080263456A1 (en) | Graphical user interface for electronic file sharing | |
US20140372548A1 (en) | Optimized routing for proxy use | |
US20060168014A1 (en) | Highly extendable message filtering daemon for a network appliance | |
US20140108574A1 (en) | Receiving email attachments when a mailbox is full | |
US20040186893A1 (en) | Abnormality detection method, abnormality detection program, server, computer | |
CN107682389B (zh) | 一种执行网络请求的方法、终端及计算机可读存储介质 | |
US7730192B2 (en) | Managing parallel requests in a communications environment supporting serial and parallel request handlers | |
US8141103B2 (en) | Solution for modifying a queue manager to support smart aliasing which permits extensible software to execute against queued data without application modifications | |
US7895314B1 (en) | System and method for administering a device via instant messaging | |
US20070250507A1 (en) | Electronic file sharing | |
US8352553B2 (en) | Electronic mail connector | |
WO2007124505A2 (en) | Electronic file sharing | |
JP2011159244A (ja) | 電子メール送信制御プログラム、動作方法、コンピュータ装置 | |
US20080147800A1 (en) | Method and apparatus for managing e-mail |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |